diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-aaa.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-aaa.md new file mode 100644 index 000000000..c816a7c25 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-aaa.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-aaa.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/aaa/accounting/network/start-stop/group + +### Description + +Status changed from deprecation to Obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-acl.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-acl.md new file mode 100644 index 000000000..f81fb52c0 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-acl.md @@ -0,0 +1,28 @@ +## Cisco-IOS-XE-acl.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/mac/access-list/extended/entry + +### Description + +The ordered-by-user is added. + +## XPaths Added + +### Description + diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-bgp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-bgp.md new file mode 100644 index 000000000..e2dbca0c0 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-bgp.md @@ -0,0 +1,134 @@ +## Cisco-IOS-XE-bgp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- - native/router/bgp/scope +- - native/router/bgp/scope/global +- - native/router/bgp/scope/global/address-family +- - native/router/bgp/scope/global/address-family/no-vrf +- - native/router/bgp/scope/global/address-family/no-vrf/ipv4 +- - native/router/bgp/scope/global/address-family/no-vrf/ipv4/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/ipv6 +- - native/router/bgp/scope/global/address-family/no-vrf/ipv6/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/l2vpn +- - native/router/bgp/scope/global/address-family/no-vrf/l2vpn/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/link-state +- - native/router/bgp/scope/global/address-family/no-vrf/link-state/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/nsap +- - native/router/bgp/scope/global/address-family/no-vrf/nsap/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/rtfilter +- - native/router/bgp/scope/global/address-family/no-vrf/rtfilter/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/vpnv4 +- - native/router/bgp/scope/global/address-family/no-vrf/vpnv4/af-name +- - native/router/bgp/scope/global/address-family/no-vrf/vpnv6 +- - native/router/bgp/scope/global/neighbor +- - native/router/bgp/scope/global/neighbor/ao +- - native/router/bgp/scope/global/neighbor/ao/accept-ao-mismatch-connections +- - native/router/bgp/scope/global/neighbor/ao/include-tcp-options +- - native/router/bgp/scope/global/neighbor/ao/keychain-name +- - native/router/bgp/scope/global/neighbor/description +- - native/router/bgp/scope/global/neighbor/id +- - native/router/bgp/scope/global/neighbor/password +- - native/router/bgp/scope/global/neighbor/password/enctype +- - native/router/bgp/scope/global/neighbor/password/text +- - native/router/bgp/scope/global/neighbor/peer-group +- - native/router/bgp/scope/global/neighbor/peer-group/peer-group-name +- - native/router/bgp/scope/global/neighbor/remote-as +- - native/router/bgp/scope/global/neighbor/update-source +- - native/router/bgp/scope/global/neighbor/update-source/interface +- - native/router/bgp/scope/global/neighbor/version +- - native/router/bgp/scope/global/peer-group +- - native/router/bgp/scope/global/peer-group/neighbor +- - native/router/bgp/scope/global/peer-group/neighbor/ao +- - native/router/bgp/scope/global/peer-group/neighbor/ao/accept-ao-mismatch-connections +- - native/router/bgp/scope/global/peer-group/neighbor/ao/include-tcp-options +- - native/router/bgp/scope/global/peer-group/neighbor/ao/keychain-name +- - native/router/bgp/scope/global/peer-group/neighbor/description +- - native/router/bgp/scope/global/peer-group/neighbor/id +- - native/router/bgp/scope/global/peer-group/neighbor/password +- - native/router/bgp/scope/global/peer-group/neighbor/password/enctype +- - native/router/bgp/scope/global/peer-group/neighbor/password/text +- - native/router/bgp/scope/global/peer-group/neighbor/peer-group +- - native/router/bgp/scope/global/peer-group/neighbor/remote-as +- - native/router/bgp/scope/global/peer-group/neighbor/update-source +- - native/router/bgp/scope/global/peer-group/neighbor/update-source/interface +- - native/router/bgp/scope/global/peer-group/neighbor/version +- - native/router/bgp/scope/vrf +- - native/router/bgp/scope/vrf/address-family +- - native/router/bgp/scope/vrf/address-family/no-vrf +- - native/router/bgp/scope/vrf/address-family/no-vrf/ipv4 +- - native/router/bgp/scope/vrf/address-family/no-vrf/ipv4/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/ipv6 +- - native/router/bgp/scope/vrf/address-family/no-vrf/ipv6/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/l2vpn +- - native/router/bgp/scope/vrf/address-family/no-vrf/l2vpn/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/link-state +- - native/router/bgp/scope/vrf/address-family/no-vrf/link-state/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/nsap +- - native/router/bgp/scope/vrf/address-family/no-vrf/nsap/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/rtfilter +- - native/router/bgp/scope/vrf/address-family/no-vrf/rtfilter/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/vpnv4 +- - native/router/bgp/scope/vrf/address-family/no-vrf/vpnv4/af-name +- - native/router/bgp/scope/vrf/address-family/no-vrf/vpnv6 +- - native/router/bgp/scope/vrf/id +- - native/router/bgp/scope/vrf/neighbor +- - native/router/bgp/scope/vrf/neighbor/id +- - native/router/bgp/scope/vrf/neighbor/peer-group +- - native/router/bgp/scope/vrf/neighbor/peer-group/peer-group-name +- - native/router/bgp/scope/vrf/neighbor/remote-as +- - native/router/bgp/scope/vrf/peer-group +- - native/router/bgp/scope/vrf/peer-group/neighbor +- - native/router/bgp/scope/vrf/peer-group/neighbor/id +- - native/router/bgp/scope/vrf/peer-group/neighbor/peer-group +- - native/router/bgp/scope/vrf/peer-group/neighbor/remote-as + +### Description + +Status changed from current to obsolete + +### Description + +Status changed from deprecation to obsolete + +- native/ip/community-list/number-standard +- native/ip/community-list/number-standard/deny +- native/ip/community-list/number-standard/deny/deny-list +- native/ip/community-list/number-standard/no +- native/ip/community-list/number-standard/permit +- native/ip/community-list/number-standard/permit/permit-list +- native/ip/community-list/standard +- native/ip/community-list/standard/deny +- native/ip/community-list/standard/deny/deny-list +- native/ip/community-list/standard/name +- native/ip/community-list/standard/permit +- native/ip/community-list/standard/permit/permit-list + + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- address-family-no-vrf-grouping(grouping) + +### Description + +The grouping 'address-family-no-vrf-grouping' is removed. + +### Description + +The grouping 'snmp-server-trap-bgp-grouping' is removed + +- snmp-server-trap-bgp-grouping(grouping) + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cdp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cdp.md new file mode 100644 index 000000000..9aebf779f --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cdp.md @@ -0,0 +1,97 @@ +## Cisco-IOS-XE-cdp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/cdp/run +- native/interface/AppGigabitEthernet/cdp/tlv/app +- native/interface/AppGigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/AppGigabitEthernet/cdp/tlv/app/value +- native/interface/AppGigabitEthernet/cdp/tlv/location +- native/interface/AppGigabitEthernet/cdp/tlv/server-location +- native/interface/BDI/cdp/tlv/app +- native/interface/BDI/cdp/tlv/app/tlvtype +- native/interface/BDI/cdp/tlv/app/value +- native/interface/BDI/cdp/tlv/location +- native/interface/BDI/cdp/tlv/server-location +- native/interface/Dialer/cdp/tlv/app +- native/interface/Dialer/cdp/tlv/app/tlvtype +- native/interface/Dialer/cdp/tlv/app/value +- native/interface/Dialer/cdp/tlv/location +- native/interface/Dialer/cdp/tlv/server-location +- native/interface/FastEthernet/cdp/tlv/app +- native/interface/FastEthernet/cdp/tlv/app/tlvtype +- native/interface/FastEthernet/cdp/tlv/app/value +- native/interface/FastEthernet/cdp/tlv/location +- native/interface/FastEthernet/cdp/tlv/server-location +- native/interface/FiveGigabitEthernet/cdp/tlv/app +- native/interface/FiveGigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/FiveGigabitEthernet/cdp/tlv/app/value +- native/interface/FiveGigabitEthernet/cdp/tlv/location +- native/interface/FiveGigabitEthernet/cdp/tlv/server-location +- native/interface/FortyGigabitEthernet/cdp/tlv/app +- native/interface/FortyGigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/FortyGigabitEthernet/cdp/tlv/app/value +- native/interface/FortyGigabitEthernet/cdp/tlv/location +- native/interface/FortyGigabitEthernet/cdp/tlv/server-location +- native/interface/GigabitEthernet/cdp/tlv/app +- native/interface/GigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/GigabitEthernet/cdp/tlv/app/value +- native/interface/GigabitEthernet/cdp/tlv/location +- native/interface/GigabitEthernet/cdp/tlv/server-location +- native/interface/HundredGigE/cdp/tlv/app +- native/interface/HundredGigE/cdp/tlv/app/tlvtype +- native/interface/HundredGigE/cdp/tlv/app/value +- native/interface/HundredGigE/cdp/tlv/location +- native/interface/HundredGigE/cdp/tlv/server-location +- native/interface/Serial/cdp/tlv/app +- native/interface/Serial/cdp/tlv/app/tlvtype +- native/interface/Serial/cdp/tlv/app/value +- native/interface/Serial/cdp/tlv/location +- native/interface/Serial/cdp/tlv/server-location +- native/interface/TenGigabitEthernet/cdp/tlv/app +- native/interface/TenGigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/TenGigabitEthernet/cdp/tlv/app/value +- native/interface/TenGigabitEthernet/cdp/tlv/location +- native/interface/TenGigabitEthernet/cdp/tlv/server-location +- native/interface/Tunnel/cdp/tlv/app +- native/interface/Tunnel/cdp/tlv/app/tlvtype +- native/interface/Tunnel/cdp/tlv/app/value +- native/interface/Tunnel/cdp/tlv/location +- native/interface/Tunnel/cdp/tlv/server-location +- native/interface/TwentyFiveGigE/cdp/tlv/app +- native/interface/TwentyFiveGigE/cdp/tlv/app/tlvtype +- native/interface/TwentyFiveGigE/cdp/tlv/app/value +- native/interface/TwentyFiveGigE/cdp/tlv/location +- native/interface/TwentyFiveGigE/cdp/tlv/server-location +- native/interface/TwoGigabitEthernet/cdp/tlv/app +- native/interface/TwoGigabitEthernet/cdp/tlv/app/tlvtype +- native/interface/TwoGigabitEthernet/cdp/tlv/app/value +- native/interface/TwoGigabitEthernet/cdp/tlv/location +- native/interface/TwoGigabitEthernet/cdp/tlv/server-location +- native/interface/Virtual-Template/cdp/tlv/app +- native/interface/Virtual-Template/cdp/tlv/app/tlvtype +- native/interface/Virtual-Template/cdp/tlv/app/value +- native/interface/Virtual-Template/cdp/tlv/location +- native/interface/Virtual-Template/cdp/tlv/server-location + +### Description + +Status changed from deprecation to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-crypto.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-crypto.md new file mode 100644 index 000000000..aa7f1734d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-crypto.md @@ -0,0 +1,50 @@ +## Cisco-IOS-XE-crypto.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/crypto/pki/certificate/chain +- native/crypto/pki/certificate/chain/certificate +- native/crypto/pki/certificate/chain/certificate/certtype +- native/crypto/pki/certificate/chain/certificate/serial +- native/crypto/pki/certificate/chain/crl +- native/crypto/pki/certificate/chain/crl/cdp-hexdata +- native/crypto/pki/certificate/chain/name +- native/key/config-key +- native/key/config-key/newpass +- native/key/config-key/oldpass + +### Description + +Status changed from deprecation to obsolete. + +### Description + +Status changed from deprecation to obsolete + +- native/interface/Tunnel/tunnel/protection/ipsec/ikev2-profile +- native/interface/Tunnel/tunnel/protection/ipsec/profile +- native/interface/Virtual-Template/tunnel/protection/ipsec/ikev2-profile +- native/interface/Virtual-Template/tunnel/protection/ipsec/profile + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/crypto/ikev2/policy/proposal/proposals + +### Description + +Must constraint more restricive than before. + + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cts.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cts.md new file mode 100644 index 000000000..a020edc7d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-cts.md @@ -0,0 +1,87 @@ +## Cisco-IOS-XE-cts.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/cts/policy-server/name/address/ipv4 +- native/cts/role-based/permissions/default/ACL-name +- native/cts/role-based/permissions/default/ipv6/ACL-name +- native/cts/role-based/permissions/default/name +- native/cts/role-based/permissions/from/range/to/range/ACL-name +- native/cts/role-based/permissions/from/range/to/range/ipv6/ACL-name +- native/cts/role-based/permissions/from/range/to/range/name +- native/cts/role-based/sgt-map +- native/cts/role-based/sgt-map/host +- native/cts/role-based/sgt-map/ip +- native/cts/role-based/sgt-map/sgt +- native/cts/role-based/sgt-map/vrf +- native/cts/sg-epg +- native/cts/sxp/enable +- native/interface/AppGigabitEthernet/cts/role-based/enforcement +- native/interface/FastEthernet/cts/role-based/enforcement +- native/interface/FiveGigabitEthernet/cts/role-based/enforcement +- native/interface/FortyGigabitEthernet/cts/role-based/enforcement +- native/interface/GigabitEthernet/cts/role-based/enforcement +- native/interface/HundredGigE/cts/role-based/enforcement +- native/interface/LISP/cts/role-based/enforcement +- native/interface/Loopback/cts +- native/interface/Loopback/cts/manual +- native/interface/Loopback/cts/manual/policy +- native/interface/Loopback/cts/manual/policy/static +- native/interface/Loopback/cts/manual/policy/static/sgt +- native/interface/Loopback/cts/manual/policy/static/trusted +- native/interface/Loopback/cts/manual/propagate +- native/interface/Loopback/cts/manual/propagate/sgt +- native/interface/Loopback/cts/manual/sap +- native/interface/Loopback/cts/manual/sap/pmk +- native/interface/Loopback/cts/manual/sap/pmk/mode-list +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/gcm-encrypt +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/gcm-encrypt/gmac +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/gcm-encrypt/gmac/null +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/no-encap +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/no-encap/gmac +- native/interface/Loopback/cts/manual/sap/pmk/mode-list/no-encap/gmac/gcm-encrypt +- native/interface/Loopback/cts/role-based +- native/interface/Loopback/cts/role-based/enforcement +- native/interface/Loopback/cts/role-based/enforcement-routing +- native/interface/Loopback/cts/role-based/enforcement-switching +- native/interface/Loopback/cts/role-based/sgt-cache +- native/interface/Loopback/cts/role-based/sgt-map +- native/interface/Loopback/cts/role-based/sgt-map/security-group +- native/interface/Loopback/cts/role-based/sgt-map/sgt +- native/interface/TenGigabitEthernet/cts/role-based/enforcement +- native/interface/Tunnel/cts/role-based/enforcement +- native/interface/TwentyFiveGigE/cts/role-based/enforcement +- native/interface/TwoGigabitEthernet/cts/role-based/enforcement + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-cts-grouping(grouping)/role-based/sgt-map-vlan-list/sgt-map/sgt + +### Description + +Base type changed from int16 to uint16 + +### Description + +Must expression is more constrained than before. + +- native/cts/sxp/export-import-group/listener/global +- native/cts/sxp/export-import-group/listener/import-group/import-list + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-device-tracking.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-device-tracking.md new file mode 100644 index 000000000..a201f7da6 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-device-tracking.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-device-tracking.ynag + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-interface-device-tracking-grouping(grouping)/device-tracking/attached-policies/attach-policy + +### Description + +Must expression is more constrained then before + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dhcp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dhcp.md new file mode 100644 index 000000000..b7cbd1380 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dhcp.md @@ -0,0 +1,75 @@ +## Cisco-IOS-XE-dhcp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/ATM/ipv6/dhcp/guard/attach-policy +- native/interface/ATM-subinterface/ATM/ipv6/dhcp/guard/attach-policy +- native/interface/AppGigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/Cellular/ipv6/dhcp/guard/attach-policy +- native/interface/Dialer/ipv6/dhcp/guard/attach-policy +- native/interface/Ethernet/ipv6/dhcp/guard/attach-policy +- native/interface/FastEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/FiveGigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/FortyGigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/GigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/HundredGigE/ipv6/dhcp/guard/attach-policy +- native/interface/Loopback/ipv6/dhcp/guard/attach-policy +- native/interface/Port-channel/ipv6/dhcp/guard/attach-policy +- native/interface/TenGigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/Tunnel/ipv6/dhcp/guard/attach-policy +- native/interface/TwentyFiveGigE/ipv6/dhcp/guard/attach-policy +- native/interface/TwoGigabitEthernet/ipv6/dhcp/guard/attach-policy +- native/interface/Vlan/ipv6/dhcp/guard/attach-policy +- native/interface/vasileft/ipv6/dhcp/guard/attach-policy +- native/interface/vasiright/ipv6/dhcp/guard/attach-policy +- native/ip/dhcp/pool/option/option-range/ascii +- native/ip/dhcp/pool/option/option-range/hex +- native/ip/dhcp/pool/option/option-range/hex/hex-line +- native/ip/dhcp/pool/option/option-range/hex/none +- native/ip/dhcp/pool/option/option-range/ip +- native/ipv6/dhcp/pool/domain-name + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/interface/ATM/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/ATM-subinterface/ATM/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/AppGigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Cellular/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Dialer/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Ethernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/FastEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/FiveGigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/FortyGigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/GigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/HundredGigE/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Loopback/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Port-channel/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/TenGigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Tunnel/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/TwentyFiveGigE/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/TwoGigabitEthernet/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/Vlan/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/vasileft/ipv6/dhcp/guard/attached-policies/attach-policy +- native/interface/vasiright/ipv6/dhcp/guard/attached-policies/attach-policy + +### Description + +The must expression is more constrained than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dot1x.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dot1x.md new file mode 100644 index 000000000..69f34fec1 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dot1x.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-dot1x.ynag + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/dot1x/critical/eapol + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dying-gasp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dying-gasp.md new file mode 100644 index 000000000..f053fa08a --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-dying-gasp.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-dying-gasp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-dying-gasp-grouping(grouping)/dying-gasp/secondary + +### Description + +A new must expression added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-eem.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-eem.md new file mode 100644 index 000000000..988816fc3 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-eem.md @@ -0,0 +1,72 @@ +## Cisco-IOS-XE-ethernet.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/event/manager/applet/action/cli +- native/event/manager/applet/action/cli/command +- native/event/manager/applet/action/regexp +- native/event/manager/applet/action/regexp/string-input +- native/event/manager/applet/action/regexp/string-match +- native/event/manager/applet/action/regexp/string-pattern +- native/event/manager/applet/action/regexp/string-submatch1 +- native/event/manager/applet/action/regexp/string-submatch2 +- native/event/manager/applet/action/regexp/string-submatch3 +- native/event/manager/applet/action/syslog +- native/event/manager/applet/action/syslog/facility +- native/event/manager/applet/action/syslog/msg +- native/event/manager/applet/action/syslog/priority +- native/event/manager/applet/event/none +- native/event/manager/applet/event/none/default +- native/event/manager/applet/event/none/maxrun +- native/event/manager/applet/event/none/ratelimit +- native/event/manager/applet/event/none/sync +- native/event/manager/applet/event/syslog +- native/event/manager/applet/event/syslog/pattern +- native/event/manager/applet/event/timer +- native/event/manager/applet/event/timer/absolute +- native/event/manager/applet/event/timer/absolute/maxrun +- native/event/manager/applet/event/timer/absolute/name +- native/event/manager/applet/event/timer/absolute/ratelimit +- native/event/manager/applet/event/timer/absolute/time +- native/event/manager/applet/event/timer/countdown +- native/event/manager/applet/event/timer/countdown/maxrun +- native/event/manager/applet/event/timer/countdown/name +- native/event/manager/applet/event/timer/countdown/ratelimit +- native/event/manager/applet/event/timer/countdown/time +- native/event/manager/applet/event/timer/cron +- native/event/manager/applet/event/timer/cron/cron-entry +- native/event/manager/applet/event/timer/cron/maxrun +- native/event/manager/applet/event/timer/cron/name +- native/event/manager/applet/event/timer/cron/ratelimit +- native/event/manager/applet/event/timer/watchdog +- native/event/manager/applet/event/timer/watchdog/maxrun +- native/event/manager/applet/event/timer/watchdog/name +- native/event/manager/applet/event/timer/watchdog/ratelimit +- native/event/manager/applet/event/timer/watchdog/time +- native/event/manager/applet/event/track +- native/event/manager/applet/event/track/maxrun +- native/event/manager/applet/event/track/ratelimit +- native/event/manager/applet/event/track/state +- native/event/manager/applet/event/track/track-object-number + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet-oam.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet-oam.md new file mode 100644 index 000000000..09af42951 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet-oam.md @@ -0,0 +1,41 @@ +## Cisco-IOS-XE-ethernet-oam.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame/threshold/high +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame/threshold/high/none +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame/threshold/high/thresh +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-period/threshold/high +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-period/threshold/high/f-thresh +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-period/threshold/high/none +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-seconds/threshold/high +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-seconds/threshold/high/e-thresh +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/frame-seconds/threshold/high/none +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/receive-crc/threshold/high +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/receive-crc/threshold/high/crc-thresh +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/receive-crc/threshold/high/none +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/symbol-period/threshold/high +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/symbol-period/threshold/high/err-thresh +- config-interface-ethernet-oam-grouping(grouping)/ethernet/oam/link-monitor/symbol-period/threshold/high/none + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet.md new file mode 100644 index 000000000..ddbfddd75 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ethernet.md @@ -0,0 +1,179 @@ +## Cisco-IOS-XE-ethernet.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/AppGigabitEthernet/plim/qos/input/queue +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/AppGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/BD-VIF/plim/qos/input/queue +- native/interface/BD-VIF/plim/qos/input/queue/priority/high/strict-priority +- native/interface/BD-VIF/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/BD-VIF/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/BD-VIF/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/BD-VIF/plim/qos/input/queue/priority/low/zero +- native/interface/BD-VIF/plim/qos/input/queue/priority/low/zero/pause +- native/interface/BD-VIF/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/BD-VIF/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/BDI/plim/qos/input/queue +- native/interface/BDI/plim/qos/input/queue/priority/high/strict-priority +- native/interface/BDI/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/BDI/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/BDI/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/BDI/plim/qos/input/queue/priority/low/zero +- native/interface/BDI/plim/qos/input/queue/priority/low/zero/pause +- native/interface/BDI/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/BDI/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/FastEthernet/plim/qos/input/queue +- native/interface/FastEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/FastEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/FastEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/FastEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/FastEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/FastEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/FastEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/FastEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/FiveGigabitEthernet/plim/qos/input/queue +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/FiveGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/FortyGigabitEthernet/plim/qos/input/queue +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/FortyGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/GigabitEthernet/plim/qos/input/queue +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/GigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/HundredGigE/plim/qos/input/queue +- native/interface/HundredGigE/plim/qos/input/queue/priority/high/strict-priority +- native/interface/HundredGigE/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/HundredGigE/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/HundredGigE/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/HundredGigE/plim/qos/input/queue/priority/low/zero +- native/interface/HundredGigE/plim/qos/input/queue/priority/low/zero/pause +- native/interface/HundredGigE/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/HundredGigE/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/Port-channel/plim/qos/input/queue +- native/interface/Port-channel/plim/qos/input/queue/priority/high/strict-priority +- native/interface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/Port-channel/plim/qos/input/queue/priority/low/zero +- native/interface/Port-channel/plim/qos/input/queue/priority/low/zero/pause +- native/interface/Port-channel/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/Port-channel/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/high/strict-priority +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/low/zero +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/low/zero/pause +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/Port-channel-subinterface/Port-channel/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/TenGigabitEthernet/plim/qos/input/queue +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/TenGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/TwentyFiveGigE/plim/qos/input/queue +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/high/strict-priority +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/low/zero +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/low/zero/pause +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/TwentyFiveGigE/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/TwoGigabitEthernet/plim/qos/input/queue +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/low/zero +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/TwoGigabitEthernet/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/Virtual-Template/plim/qos/input/queue +- native/interface/Virtual-Template/plim/qos/input/queue/priority/high/strict-priority +- native/interface/Virtual-Template/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/Virtual-Template/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/Virtual-Template/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/Virtual-Template/plim/qos/input/queue/priority/low/zero +- native/interface/Virtual-Template/plim/qos/input/queue/priority/low/zero/pause +- native/interface/Virtual-Template/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/Virtual-Template/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/VirtualPortGroup/plim/qos/input/queue +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/high/strict-priority +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/low/zero +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/low/zero/pause +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/VirtualPortGroup/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/Vlan/plim/qos/input/queue +- native/interface/Vlan/plim/qos/input/queue/priority/high/strict-priority +- native/interface/Vlan/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/Vlan/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/Vlan/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/Vlan/plim/qos/input/queue/priority/low/zero +- native/interface/Vlan/plim/qos/input/queue/priority/low/zero/pause +- native/interface/Vlan/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/Vlan/plim/qos/input/queue/priority/low/zero/pause/threshold +- native/interface/ucse/plim/qos/input/queue +- native/interface/ucse/plim/qos/input/queue/priority/high/strict-priority +- native/interface/ucse/plim/qos/input/queue/priority/high/strict-priority/pause +- native/interface/ucse/plim/qos/input/queue/priority/high/strict-priority/pause/enable +- native/interface/ucse/plim/qos/input/queue/priority/high/strict-priority/pause/threshold +- native/interface/ucse/plim/qos/input/queue/priority/low/zero +- native/interface/ucse/plim/qos/input/queue/priority/low/zero/pause +- native/interface/ucse/plim/qos/input/queue/priority/low/zero/pause/enable +- native/interface/ucse/plim/qos/input/queue/priority/low/zero/pause/threshold + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-flow.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-flow.md new file mode 100644 index 000000000..792825e5b --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-flow.md @@ -0,0 +1,404 @@ +## Cisco-IOS-XE-flow.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/ATM/ip/flow/monitor +- native/interface/ATM/ip/flow/monitor/input +- native/interface/ATM/ip/flow/monitor/multicast +- native/interface/ATM/ip/flow/monitor/name +- native/interface/ATM/ip/flow/monitor/output +- native/interface/ATM/ip/flow/monitor/sampler +- native/interface/ATM/ip/flow/monitor/sampler/direction +- native/interface/ATM/ip/flow/monitor/sampler/name +- native/interface/ATM/ip/flow/monitor/unicast +- native/interface/ATM/ipv6/flow/monitor +- native/interface/ATM/ipv6/flow/monitor/input +- native/interface/ATM/ipv6/flow/monitor/multicast +- native/interface/ATM/ipv6/flow/monitor/name +- native/interface/ATM/ipv6/flow/monitor/output +- native/interface/ATM/ipv6/flow/monitor/sampler +- native/interface/ATM/ipv6/flow/monitor/sampler/direction +- native/interface/ATM/ipv6/flow/monitor/sampler/name +- native/interface/ATM/ipv6/flow/monitor/unicast +- native/interface/ATM-subinterface/ATM/ip/flow/monitor +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/input +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/multicast +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/name +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/output +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/sampler +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/sampler/direction +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/sampler/name +- native/interface/ATM-subinterface/ATM/ip/flow/monitor/unicast +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/input +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/multicast +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/name +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/output +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/sampler +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/sampler/direction +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/sampler/name +- native/interface/ATM-subinterface/ATM/ipv6/flow/monitor/unicast +- native/interface/AppGigabitEthernet/ip/flow/monitor +- native/interface/AppGigabitEthernet/ip/flow/monitor/input +- native/interface/AppGigabitEthernet/ip/flow/monitor/multicast +- native/interface/AppGigabitEthernet/ip/flow/monitor/name +- native/interface/AppGigabitEthernet/ip/flow/monitor/output +- native/interface/AppGigabitEthernet/ip/flow/monitor/sampler +- native/interface/AppGigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/AppGigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/AppGigabitEthernet/ip/flow/monitor/unicast +- native/interface/AppGigabitEthernet/ipv6/flow/monitor +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/input +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/name +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/output +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/AppGigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/Cellular/ip/flow/monitor +- native/interface/Cellular/ip/flow/monitor/input +- native/interface/Cellular/ip/flow/monitor/multicast +- native/interface/Cellular/ip/flow/monitor/name +- native/interface/Cellular/ip/flow/monitor/output +- native/interface/Cellular/ip/flow/monitor/sampler +- native/interface/Cellular/ip/flow/monitor/sampler/direction +- native/interface/Cellular/ip/flow/monitor/sampler/name +- native/interface/Cellular/ip/flow/monitor/unicast +- native/interface/Cellular/ipv6/flow/monitor +- native/interface/Cellular/ipv6/flow/monitor/input +- native/interface/Cellular/ipv6/flow/monitor/multicast +- native/interface/Cellular/ipv6/flow/monitor/name +- native/interface/Cellular/ipv6/flow/monitor/output +- native/interface/Cellular/ipv6/flow/monitor/sampler +- native/interface/Cellular/ipv6/flow/monitor/sampler/direction +- native/interface/Cellular/ipv6/flow/monitor/sampler/name +- native/interface/Cellular/ipv6/flow/monitor/unicast +- native/interface/Dialer/ip/flow/monitor +- native/interface/Dialer/ip/flow/monitor/input +- native/interface/Dialer/ip/flow/monitor/multicast +- native/interface/Dialer/ip/flow/monitor/name +- native/interface/Dialer/ip/flow/monitor/output +- native/interface/Dialer/ip/flow/monitor/sampler +- native/interface/Dialer/ip/flow/monitor/sampler/direction +- native/interface/Dialer/ip/flow/monitor/sampler/name +- native/interface/Dialer/ip/flow/monitor/unicast +- native/interface/Dialer/ipv6/flow/monitor +- native/interface/Dialer/ipv6/flow/monitor/input +- native/interface/Dialer/ipv6/flow/monitor/multicast +- native/interface/Dialer/ipv6/flow/monitor/name +- native/interface/Dialer/ipv6/flow/monitor/output +- native/interface/Dialer/ipv6/flow/monitor/sampler +- native/interface/Dialer/ipv6/flow/monitor/sampler/direction +- native/interface/Dialer/ipv6/flow/monitor/sampler/name +- native/interface/Dialer/ipv6/flow/monitor/unicast +- native/interface/Embedded-Service-Engine/ip/flow/monitor +- native/interface/Embedded-Service-Engine/ip/flow/monitor/input +- native/interface/Embedded-Service-Engine/ip/flow/monitor/multicast +- native/interface/Embedded-Service-Engine/ip/flow/monitor/name +- native/interface/Embedded-Service-Engine/ip/flow/monitor/output +- native/interface/Embedded-Service-Engine/ip/flow/monitor/sampler +- native/interface/Embedded-Service-Engine/ip/flow/monitor/sampler/direction +- native/interface/Embedded-Service-Engine/ip/flow/monitor/sampler/name +- native/interface/Embedded-Service-Engine/ip/flow/monitor/unicast +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/input +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/multicast +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/name +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/output +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/sampler +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/sampler/direction +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/sampler/name +- native/interface/Embedded-Service-Engine/ipv6/flow/monitor/unicast +- native/interface/FastEthernet/ip/flow/monitor +- native/interface/FastEthernet/ip/flow/monitor/input +- native/interface/FastEthernet/ip/flow/monitor/multicast +- native/interface/FastEthernet/ip/flow/monitor/name +- native/interface/FastEthernet/ip/flow/monitor/output +- native/interface/FastEthernet/ip/flow/monitor/sampler +- native/interface/FastEthernet/ip/flow/monitor/sampler/direction +- native/interface/FastEthernet/ip/flow/monitor/sampler/name +- native/interface/FastEthernet/ip/flow/monitor/unicast +- native/interface/FastEthernet/ipv6/flow/monitor +- native/interface/FastEthernet/ipv6/flow/monitor/input +- native/interface/FastEthernet/ipv6/flow/monitor/multicast +- native/interface/FastEthernet/ipv6/flow/monitor/name +- native/interface/FastEthernet/ipv6/flow/monitor/output +- native/interface/FastEthernet/ipv6/flow/monitor/sampler +- native/interface/FastEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/FastEthernet/ipv6/flow/monitor/sampler/name +- native/interface/FastEthernet/ipv6/flow/monitor/unicast +- native/interface/FiveGigabitEthernet/ip/flow/monitor +- native/interface/FiveGigabitEthernet/ip/flow/monitor/input +- native/interface/FiveGigabitEthernet/ip/flow/monitor/multicast +- native/interface/FiveGigabitEthernet/ip/flow/monitor/name +- native/interface/FiveGigabitEthernet/ip/flow/monitor/output +- native/interface/FiveGigabitEthernet/ip/flow/monitor/sampler +- native/interface/FiveGigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/FiveGigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/FiveGigabitEthernet/ip/flow/monitor/unicast +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/input +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/name +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/output +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/FiveGigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/FortyGigabitEthernet/ip/flow/monitor +- native/interface/FortyGigabitEthernet/ip/flow/monitor/input +- native/interface/FortyGigabitEthernet/ip/flow/monitor/multicast +- native/interface/FortyGigabitEthernet/ip/flow/monitor/name +- native/interface/FortyGigabitEthernet/ip/flow/monitor/output +- native/interface/FortyGigabitEthernet/ip/flow/monitor/sampler +- native/interface/FortyGigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/FortyGigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/FortyGigabitEthernet/ip/flow/monitor/unicast +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/input +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/name +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/output +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/FortyGigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/GigabitEthernet/ip/flow/monitor +- native/interface/GigabitEthernet/ip/flow/monitor/input +- native/interface/GigabitEthernet/ip/flow/monitor/multicast +- native/interface/GigabitEthernet/ip/flow/monitor/name +- native/interface/GigabitEthernet/ip/flow/monitor/output +- native/interface/GigabitEthernet/ip/flow/monitor/sampler +- native/interface/GigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/GigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/GigabitEthernet/ip/flow/monitor/unicast +- native/interface/GigabitEthernet/ipv6/flow/monitor +- native/interface/GigabitEthernet/ipv6/flow/monitor/input +- native/interface/GigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/GigabitEthernet/ipv6/flow/monitor/name +- native/interface/GigabitEthernet/ipv6/flow/monitor/output +- native/interface/GigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/GigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/GigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/GigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/HundredGigE/ip/flow/monitor +- native/interface/HundredGigE/ip/flow/monitor/input +- native/interface/HundredGigE/ip/flow/monitor/multicast +- native/interface/HundredGigE/ip/flow/monitor/name +- native/interface/HundredGigE/ip/flow/monitor/output +- native/interface/HundredGigE/ip/flow/monitor/sampler +- native/interface/HundredGigE/ip/flow/monitor/sampler/direction +- native/interface/HundredGigE/ip/flow/monitor/sampler/name +- native/interface/HundredGigE/ip/flow/monitor/unicast +- native/interface/HundredGigE/ipv6/flow/monitor +- native/interface/HundredGigE/ipv6/flow/monitor/input +- native/interface/HundredGigE/ipv6/flow/monitor/multicast +- native/interface/HundredGigE/ipv6/flow/monitor/name +- native/interface/HundredGigE/ipv6/flow/monitor/output +- native/interface/HundredGigE/ipv6/flow/monitor/sampler +- native/interface/HundredGigE/ipv6/flow/monitor/sampler/direction +- native/interface/HundredGigE/ipv6/flow/monitor/sampler/name +- native/interface/HundredGigE/ipv6/flow/monitor/unicast +- native/interface/Loopback/ip/flow/monitor +- native/interface/Loopback/ip/flow/monitor/input +- native/interface/Loopback/ip/flow/monitor/multicast +- native/interface/Loopback/ip/flow/monitor/name +- native/interface/Loopback/ip/flow/monitor/output +- native/interface/Loopback/ip/flow/monitor/sampler +- native/interface/Loopback/ip/flow/monitor/sampler/direction +- native/interface/Loopback/ip/flow/monitor/sampler/name +- native/interface/Loopback/ip/flow/monitor/unicast +- native/interface/Loopback/ipv6/flow/monitor +- native/interface/Loopback/ipv6/flow/monitor/input +- native/interface/Loopback/ipv6/flow/monitor/multicast +- native/interface/Loopback/ipv6/flow/monitor/name +- native/interface/Loopback/ipv6/flow/monitor/output +- native/interface/Loopback/ipv6/flow/monitor/sampler +- native/interface/Loopback/ipv6/flow/monitor/sampler/direction +- native/interface/Loopback/ipv6/flow/monitor/sampler/name +- native/interface/Loopback/ipv6/flow/monitor/unicast +- native/interface/Multilink/ip/flow/monitor +- native/interface/Multilink/ip/flow/monitor/input +- native/interface/Multilink/ip/flow/monitor/multicast +- native/interface/Multilink/ip/flow/monitor/name +- native/interface/Multilink/ip/flow/monitor/output +- native/interface/Multilink/ip/flow/monitor/sampler +- native/interface/Multilink/ip/flow/monitor/sampler/direction +- native/interface/Multilink/ip/flow/monitor/sampler/name +- native/interface/Multilink/ip/flow/monitor/unicast +- native/interface/Multilink/ipv6/flow/monitor +- native/interface/Multilink/ipv6/flow/monitor/input +- native/interface/Multilink/ipv6/flow/monitor/multicast +- native/interface/Multilink/ipv6/flow/monitor/name +- native/interface/Multilink/ipv6/flow/monitor/output +- native/interface/Multilink/ipv6/flow/monitor/sampler +- native/interface/Multilink/ipv6/flow/monitor/sampler/direction +- native/interface/Multilink/ipv6/flow/monitor/sampler/name +- native/interface/Multilink/ipv6/flow/monitor/unicast +- native/interface/Port-channel/ip/flow/monitor +- native/interface/Port-channel/ip/flow/monitor/input +- native/interface/Port-channel/ip/flow/monitor/multicast +- native/interface/Port-channel/ip/flow/monitor/name +- native/interface/Port-channel/ip/flow/monitor/output +- native/interface/Port-channel/ip/flow/monitor/sampler +- native/interface/Port-channel/ip/flow/monitor/sampler/direction +- native/interface/Port-channel/ip/flow/monitor/sampler/name +- native/interface/Port-channel/ip/flow/monitor/unicast +- native/interface/Port-channel/ipv6/flow/monitor +- native/interface/Port-channel/ipv6/flow/monitor/input +- native/interface/Port-channel/ipv6/flow/monitor/multicast +- native/interface/Port-channel/ipv6/flow/monitor/name +- native/interface/Port-channel/ipv6/flow/monitor/output +- native/interface/Port-channel/ipv6/flow/monitor/sampler +- native/interface/Port-channel/ipv6/flow/monitor/sampler/direction +- native/interface/Port-channel/ipv6/flow/monitor/sampler/name +- native/interface/Port-channel/ipv6/flow/monitor/unicast +- native/interface/Serial/ip/flow/monitor +- native/interface/Serial/ip/flow/monitor/input +- native/interface/Serial/ip/flow/monitor/multicast +- native/interface/Serial/ip/flow/monitor/name +- native/interface/Serial/ip/flow/monitor/output +- native/interface/Serial/ip/flow/monitor/sampler +- native/interface/Serial/ip/flow/monitor/sampler/direction +- native/interface/Serial/ip/flow/monitor/sampler/name +- native/interface/Serial/ip/flow/monitor/unicast +- native/interface/Serial/ipv6/flow/monitor +- native/interface/Serial/ipv6/flow/monitor/input +- native/interface/Serial/ipv6/flow/monitor/multicast +- native/interface/Serial/ipv6/flow/monitor/name +- native/interface/Serial/ipv6/flow/monitor/output +- native/interface/Serial/ipv6/flow/monitor/sampler +- native/interface/Serial/ipv6/flow/monitor/sampler/direction +- native/interface/Serial/ipv6/flow/monitor/sampler/name +- native/interface/Serial/ipv6/flow/monitor/unicast +- native/interface/Service-Engine/ip/flow/monitor +- native/interface/Service-Engine/ip/flow/monitor/input +- native/interface/Service-Engine/ip/flow/monitor/multicast +- native/interface/Service-Engine/ip/flow/monitor/name +- native/interface/Service-Engine/ip/flow/monitor/output +- native/interface/Service-Engine/ip/flow/monitor/sampler +- native/interface/Service-Engine/ip/flow/monitor/sampler/direction +- native/interface/Service-Engine/ip/flow/monitor/sampler/name +- native/interface/Service-Engine/ip/flow/monitor/unicast +- native/interface/Service-Engine/ipv6/flow/monitor +- native/interface/Service-Engine/ipv6/flow/monitor/input +- native/interface/Service-Engine/ipv6/flow/monitor/multicast +- native/interface/Service-Engine/ipv6/flow/monitor/name +- native/interface/Service-Engine/ipv6/flow/monitor/output +- native/interface/Service-Engine/ipv6/flow/monitor/sampler +- native/interface/Service-Engine/ipv6/flow/monitor/sampler/direction +- native/interface/Service-Engine/ipv6/flow/monitor/sampler/name +- native/interface/Service-Engine/ipv6/flow/monitor/unicast +- native/interface/TenGigabitEthernet/ip/flow/monitor +- native/interface/TenGigabitEthernet/ip/flow/monitor/input +- native/interface/TenGigabitEthernet/ip/flow/monitor/multicast +- native/interface/TenGigabitEthernet/ip/flow/monitor/name +- native/interface/TenGigabitEthernet/ip/flow/monitor/output +- native/interface/TenGigabitEthernet/ip/flow/monitor/sampler +- native/interface/TenGigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/TenGigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/TenGigabitEthernet/ip/flow/monitor/unicast +- native/interface/TenGigabitEthernet/ipv6/flow/monitor +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/input +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/name +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/output +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/TenGigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/Tunnel/ip/flow/monitor +- native/interface/Tunnel/ip/flow/monitor/input +- native/interface/Tunnel/ip/flow/monitor/multicast +- native/interface/Tunnel/ip/flow/monitor/name +- native/interface/Tunnel/ip/flow/monitor/output +- native/interface/Tunnel/ip/flow/monitor/sampler +- native/interface/Tunnel/ip/flow/monitor/sampler/direction +- native/interface/Tunnel/ip/flow/monitor/sampler/name +- native/interface/Tunnel/ip/flow/monitor/unicast +- native/interface/Tunnel/ipv6/flow/monitor +- native/interface/Tunnel/ipv6/flow/monitor/input +- native/interface/Tunnel/ipv6/flow/monitor/multicast +- native/interface/Tunnel/ipv6/flow/monitor/name +- native/interface/Tunnel/ipv6/flow/monitor/output +- native/interface/Tunnel/ipv6/flow/monitor/sampler +- native/interface/Tunnel/ipv6/flow/monitor/sampler/direction +- native/interface/Tunnel/ipv6/flow/monitor/sampler/name +- native/interface/Tunnel/ipv6/flow/monitor/unicast +- native/interface/TwentyFiveGigE/ip/flow/monitor +- native/interface/TwentyFiveGigE/ip/flow/monitor/input +- native/interface/TwentyFiveGigE/ip/flow/monitor/multicast +- native/interface/TwentyFiveGigE/ip/flow/monitor/name +- native/interface/TwentyFiveGigE/ip/flow/monitor/output +- native/interface/TwentyFiveGigE/ip/flow/monitor/sampler +- native/interface/TwentyFiveGigE/ip/flow/monitor/sampler/direction +- native/interface/TwentyFiveGigE/ip/flow/monitor/sampler/name +- native/interface/TwentyFiveGigE/ip/flow/monitor/unicast +- native/interface/TwentyFiveGigE/ipv6/flow/monitor +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/input +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/multicast +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/name +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/output +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/sampler +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/sampler/direction +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/sampler/name +- native/interface/TwentyFiveGigE/ipv6/flow/monitor/unicast +- native/interface/TwoGigabitEthernet/ip/flow/monitor +- native/interface/TwoGigabitEthernet/ip/flow/monitor/input +- native/interface/TwoGigabitEthernet/ip/flow/monitor/multicast +- native/interface/TwoGigabitEthernet/ip/flow/monitor/name +- native/interface/TwoGigabitEthernet/ip/flow/monitor/output +- native/interface/TwoGigabitEthernet/ip/flow/monitor/sampler +- native/interface/TwoGigabitEthernet/ip/flow/monitor/sampler/direction +- native/interface/TwoGigabitEthernet/ip/flow/monitor/sampler/name +- native/interface/TwoGigabitEthernet/ip/flow/monitor/unicast +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/input +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/multicast +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/name +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/output +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/sampler +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/sampler/direction +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/sampler/name +- native/interface/TwoGigabitEthernet/ipv6/flow/monitor/unicast +- native/interface/Vlan/ip/flow/monitor +- native/interface/Vlan/ip/flow/monitor/input +- native/interface/Vlan/ip/flow/monitor/multicast +- native/interface/Vlan/ip/flow/monitor/name +- native/interface/Vlan/ip/flow/monitor/output +- native/interface/Vlan/ip/flow/monitor/sampler +- native/interface/Vlan/ip/flow/monitor/sampler/direction +- native/interface/Vlan/ip/flow/monitor/sampler/name +- native/interface/Vlan/ip/flow/monitor/unicast +- native/interface/Vlan/ipv6/flow/monitor +- native/interface/Vlan/ipv6/flow/monitor/input +- native/interface/Vlan/ipv6/flow/monitor/multicast +- native/interface/Vlan/ipv6/flow/monitor/name +- native/interface/Vlan/ipv6/flow/monitor/output +- native/interface/Vlan/ipv6/flow/monitor/sampler +- native/interface/Vlan/ipv6/flow/monitor/sampler/direction +- native/interface/Vlan/ipv6/flow/monitor/sampler/name +- native/interface/Vlan/ipv6/flow/monitor/unicast + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-igmp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-igmp.md new file mode 100644 index 000000000..9aaf4e17b --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-igmp.md @@ -0,0 +1,37 @@ +## Cisco-IOS-XE-igmp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/ip/igmp/snooping/querier +- native/ip/igmp/snooping/querier/address +- native/ip/igmp/snooping/querier/max-response-time +- native/ip/igmp/snooping/querier/query-interval +- native/ip/igmp/snooping/querier/tcn +- native/ip/igmp/snooping/querier/tcn/query +- native/ip/igmp/snooping/querier/tcn/query/count +- native/ip/igmp/snooping/querier/tcn/query/interval +- native/ip/igmp/snooping/querier/timer +- native/ip/igmp/snooping/querier/timer/expiry +- native/ip/igmp/snooping/querier/version + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-interfaces.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-interfaces.md new file mode 100644 index 000000000..1c2b5b4e3 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-interfaces.md @@ -0,0 +1,687 @@ +## Cisco-IOS-XE-interfaces.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- config-interface-grouping(grouping)/interface/ATM/if-state +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/if-state +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/AppNav-Compress/if-state +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/if-state +- config-interface-grouping(grouping)/interface/Async/if-state +- config-interface-grouping(grouping)/interface/BD-VIF/if-state +- config-interface-grouping(grouping)/interface/BDI/if-state +- config-interface-grouping(grouping)/interface/Bundle/if-state +- config-interface-grouping(grouping)/interface/Cellular/if-state +- config-interface-grouping(grouping)/interface/Dialer/if-state +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/if-state +- config-interface-grouping(grouping)/interface/Ethernet/if-state +- config-interface-grouping(grouping)/interface/Ethernet-Internal/if-state +- config-interface-grouping(grouping)/interface/FastEthernet/if-state +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/FourHundredGigE/if-state +- config-interface-grouping(grouping)/interface/GMPLS/if-state +- config-interface-grouping(grouping)/interface/GigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/Group-Async/if-state +- config-interface-grouping(grouping)/interface/HundredGigE/if-state +- config-interface-grouping(grouping)/interface/L2LISP/if-state +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/if-state +- config-interface-grouping(grouping)/interface/LISP/if-state +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/if-state +- config-interface-grouping(grouping)/interface/LORAWAN/if-state +- config-interface-grouping(grouping)/interface/Loopback/if-state +- config-interface-grouping(grouping)/interface/MFR/if-state +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/if-state +- config-interface-grouping(grouping)/interface/Multilink/if-state +- config-interface-grouping(grouping)/interface/PRP-channel/if-state +- config-interface-grouping(grouping)/interface/Port-channel/if-state +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/if-state +- config-interface-grouping(grouping)/interface/SM/if-state +- config-interface-grouping(grouping)/interface/Serial/if-state +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/if-state +- config-interface-grouping(grouping)/interface/Service-Engine/if-state +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/Tunnel/if-state +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/if-state +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/TwoHundredGigE/if-state +- config-interface-grouping(grouping)/interface/Vif/if-state +- config-interface-grouping(grouping)/interface/Virtual-PPP/if-state +- config-interface-grouping(grouping)/interface/Virtual-Template/if-state +- config-interface-grouping(grouping)/interface/Virtual-WPAN/if-state +- config-interface-grouping(grouping)/interface/VirtualPortGroup/if-state +- config-interface-grouping(grouping)/interface/Vlan/if-state +- config-interface-grouping(grouping)/interface/WPAN/if-state +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/if-state +- config-interface-grouping(grouping)/interface/nve/if-state +- config-interface-grouping(grouping)/interface/ucse/if-state +- config-interface-grouping(grouping)/interface/vasileft/if-state +- config-interface-grouping(grouping)/interface/vasiright/if-state +- config-interface-grouping(grouping)/interface/vmi/if-state +interface-common-grouping(grouping)/if-state + +### Description + +Status changed from current to obsolete + +### Description + +Status changed from deprecated to obsolete + +- config-interface-grouping(grouping)/interface/ATM/access-session/control-direction +- config-interface-grouping(grouping)/interface/ATM/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/ATM/access-session/host-mode +- config-interface-grouping(grouping)/interface/ATM/access-session/port-control +- config-interface-grouping(grouping)/interface/ATM/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/access-session/control-direction +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/access-session/host-mode +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/access-session/port-control +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/AppNav-Compress/access-session/control-direction +- config-interface-grouping(grouping)/interface/AppNav-Compress/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/AppNav-Compress/access-session/host-mode +- config-interface-grouping(grouping)/interface/AppNav-Compress/access-session/port-control +- config-interface-grouping(grouping)/interface/AppNav-Compress/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/access-session/control-direction +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/access-session/host-mode +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/access-session/port-control +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Async/access-session/control-direction +- config-interface-grouping(grouping)/interface/Async/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Async/access-session/host-mode +- config-interface-grouping(grouping)/interface/Async/access-session/port-control +- config-interface-grouping(grouping)/interface/Async/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/BD-VIF/access-session/control-direction +- config-interface-grouping(grouping)/interface/BD-VIF/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/BD-VIF/access-session/host-mode +- config-interface-grouping(grouping)/interface/BD-VIF/access-session/port-control +- config-interface-grouping(grouping)/interface/BD-VIF/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/BDI/access-session/control-direction +- config-interface-grouping(grouping)/interface/BDI/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/BDI/access-session/host-mode +- config-interface-grouping(grouping)/interface/BDI/access-session/port-control +- config-interface-grouping(grouping)/interface/BDI/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Bundle/access-session/control-direction +- config-interface-grouping(grouping)/interface/Bundle/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Bundle/access-session/host-mode +- config-interface-grouping(grouping)/interface/Bundle/access-session/port-control +- config-interface-grouping(grouping)/interface/Bundle/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Cellular/access-session/control-direction +- config-interface-grouping(grouping)/interface/Cellular/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Cellular/access-session/host-mode +- config-interface-grouping(grouping)/interface/Cellular/access-session/port-control +- config-interface-grouping(grouping)/interface/Cellular/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Dialer/access-session/control-direction +- config-interface-grouping(grouping)/interface/Dialer/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Dialer/access-session/host-mode +- config-interface-grouping(grouping)/interface/Dialer/access-session/port-control +- config-interface-grouping(grouping)/interface/Dialer/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/access-session/control-direction +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/access-session/host-mode +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/access-session/port-control +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Ethernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/Ethernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Ethernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/Ethernet/access-session/port-control +- config-interface-grouping(grouping)/interface/Ethernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Ethernet-Internal/access-session/control-direction +- config-interface-grouping(grouping)/interface/Ethernet-Internal/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Ethernet-Internal/access-session/host-mode +- config-interface-grouping(grouping)/interface/Ethernet-Internal/access-session/port-control +- config-interface-grouping(grouping)/interface/Ethernet-Internal/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/FastEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/FastEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/FastEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/FastEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/FastEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/FourHundredGigE/access-session/control-direction +- config-interface-grouping(grouping)/interface/FourHundredGigE/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/FourHundredGigE/access-session/host-mode +- config-interface-grouping(grouping)/interface/FourHundredGigE/access-session/port-control +- config-interface-grouping(grouping)/interface/FourHundredGigE/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/GMPLS/access-session/control-direction +- config-interface-grouping(grouping)/interface/GMPLS/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/GMPLS/access-session/host-mode +- config-interface-grouping(grouping)/interface/GMPLS/access-session/port-control +- config-interface-grouping(grouping)/interface/GMPLS/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/GigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/GigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/GigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/GigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/GigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Group-Async/access-session/control-direction +- config-interface-grouping(grouping)/interface/Group-Async/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Group-Async/access-session/host-mode +- config-interface-grouping(grouping)/interface/Group-Async/access-session/port-control +- config-interface-grouping(grouping)/interface/Group-Async/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/HundredGigE/access-session/control-direction +- config-interface-grouping(grouping)/interface/HundredGigE/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/HundredGigE/access-session/host-mode +- config-interface-grouping(grouping)/interface/HundredGigE/access-session/port-control +- config-interface-grouping(grouping)/interface/HundredGigE/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/L2LISP/access-session/control-direction +- config-interface-grouping(grouping)/interface/L2LISP/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/L2LISP/access-session/host-mode +- config-interface-grouping(grouping)/interface/L2LISP/access-session/port-control +- config-interface-grouping(grouping)/interface/L2LISP/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/access-session/control-direction +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/access-session/host-mode +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/access-session/port-control +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/LISP/access-session/control-direction +- config-interface-grouping(grouping)/interface/LISP/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/LISP/access-session/host-mode +- config-interface-grouping(grouping)/interface/LISP/access-session/port-control +- config-interface-grouping(grouping)/interface/LISP/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/access-session/control-direction +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/access-session/host-mode +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/access-session/port-control +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/LORAWAN/access-session/control-direction +- config-interface-grouping(grouping)/interface/LORAWAN/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/LORAWAN/access-session/host-mode +- config-interface-grouping(grouping)/interface/LORAWAN/access-session/port-control +- config-interface-grouping(grouping)/interface/LORAWAN/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Loopback/access-session/control-direction +- config-interface-grouping(grouping)/interface/Loopback/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Loopback/access-session/host-mode +- config-interface-grouping(grouping)/interface/Loopback/access-session/port-control +- config-interface-grouping(grouping)/interface/Loopback/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/MFR/access-session/control-direction +- config-interface-grouping(grouping)/interface/MFR/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/MFR/access-session/host-mode +- config-interface-grouping(grouping)/interface/MFR/access-session/port-control +- config-interface-grouping(grouping)/interface/MFR/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/access-session/control-direction +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/access-session/host-mode +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/access-session/port-control +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Multilink/access-session/control-direction +- config-interface-grouping(grouping)/interface/Multilink/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Multilink/access-session/host-mode +- config-interface-grouping(grouping)/interface/Multilink/access-session/port-control +- config-interface-grouping(grouping)/interface/Multilink/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/PRP-channel/access-session/control-direction +- config-interface-grouping(grouping)/interface/PRP-channel/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/PRP-channel/access-session/host-mode +- config-interface-grouping(grouping)/interface/PRP-channel/access-session/port-control +- config-interface-grouping(grouping)/interface/PRP-channel/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Port-channel/access-session/control-direction +- config-interface-grouping(grouping)/interface/Port-channel/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Port-channel/access-session/host-mode +- config-interface-grouping(grouping)/interface/Port-channel/access-session/port-control +- config-interface-grouping(grouping)/interface/Port-channel/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/access-session/control-direction +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/access-session/host-mode +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/access-session/port-control +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/SM/access-session/control-direction +- config-interface-grouping(grouping)/interface/SM/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/SM/access-session/host-mode +- config-interface-grouping(grouping)/interface/SM/access-session/port-control +- config-interface-grouping(grouping)/interface/SM/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Serial/access-session/control-direction +- config-interface-grouping(grouping)/interface/Serial/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Serial/access-session/host-mode +- config-interface-grouping(grouping)/interface/Serial/access-session/port-control +- config-interface-grouping(grouping)/interface/Serial/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/access-session/control-direction +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/access-session/host-mode +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/access-session/port-control +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Service-Engine/access-session/control-direction +- config-interface-grouping(grouping)/interface/Service-Engine/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Service-Engine/access-session/host-mode +- config-interface-grouping(grouping)/interface/Service-Engine/access-session/port-control +- config-interface-grouping(grouping)/interface/Service-Engine/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Tunnel/access-session/control-direction +- config-interface-grouping(grouping)/interface/Tunnel/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Tunnel/access-session/host-mode +- config-interface-grouping(grouping)/interface/Tunnel/access-session/port-control +- config-interface-grouping(grouping)/interface/Tunnel/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/access-session/control-direction +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/access-session/host-mode +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/access-session/port-control +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/TwoHundredGigE/access-session/control-direction +- config-interface-grouping(grouping)/interface/TwoHundredGigE/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/TwoHundredGigE/access-session/host-mode +- config-interface-grouping(grouping)/interface/TwoHundredGigE/access-session/port-control +- config-interface-grouping(grouping)/interface/TwoHundredGigE/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Vif/access-session/control-direction +- config-interface-grouping(grouping)/interface/Vif/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Vif/access-session/host-mode +- config-interface-grouping(grouping)/interface/Vif/access-session/port-control +- config-interface-grouping(grouping)/interface/Vif/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Virtual-PPP/access-session/control-direction +- config-interface-grouping(grouping)/interface/Virtual-PPP/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Virtual-PPP/access-session/host-mode +- config-interface-grouping(grouping)/interface/Virtual-PPP/access-session/port-control +- config-interface-grouping(grouping)/interface/Virtual-PPP/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Virtual-Template/access-session/control-direction +- config-interface-grouping(grouping)/interface/Virtual-Template/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Virtual-Template/access-session/host-mode +- config-interface-grouping(grouping)/interface/Virtual-Template/access-session/port-control +- config-interface-grouping(grouping)/interface/Virtual-Template/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Virtual-WPAN/access-session/control-direction +- config-interface-grouping(grouping)/interface/Virtual-WPAN/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Virtual-WPAN/access-session/host-mode +- config-interface-grouping(grouping)/interface/Virtual-WPAN/access-session/port-control +- config-interface-grouping(grouping)/interface/Virtual-WPAN/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/VirtualPortGroup/access-session/control-direction +- config-interface-grouping(grouping)/interface/VirtualPortGroup/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/VirtualPortGroup/access-session/host-mode +- config-interface-grouping(grouping)/interface/VirtualPortGroup/access-session/port-control +- config-interface-grouping(grouping)/interface/VirtualPortGroup/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Vlan/access-session/control-direction +- config-interface-grouping(grouping)/interface/Vlan/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Vlan/access-session/host-mode +- config-interface-grouping(grouping)/interface/Vlan/access-session/port-control +- config-interface-grouping(grouping)/interface/Vlan/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/WPAN/access-session/control-direction +- config-interface-grouping(grouping)/interface/WPAN/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/WPAN/access-session/host-mode +- config-interface-grouping(grouping)/interface/WPAN/access-session/port-control +- config-interface-grouping(grouping)/interface/WPAN/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/access-session/control-direction +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/access-session/host-mode +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/access-session/port-control +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/nve/access-session/control-direction +- config-interface-grouping(grouping)/interface/nve/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/nve/access-session/host-mode +- config-interface-grouping(grouping)/interface/nve/access-session/port-control +- config-interface-grouping(grouping)/interface/nve/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/ucse/access-session/control-direction +- config-interface-grouping(grouping)/interface/ucse/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/ucse/access-session/host-mode +- config-interface-grouping(grouping)/interface/ucse/access-session/port-control +- config-interface-grouping(grouping)/interface/ucse/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/vasileft/access-session/control-direction +- config-interface-grouping(grouping)/interface/vasileft/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/vasileft/access-session/host-mode +- config-interface-grouping(grouping)/interface/vasileft/access-session/port-control +- config-interface-grouping(grouping)/interface/vasileft/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/vasiright/access-session/control-direction +- config-interface-grouping(grouping)/interface/vasiright/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/vasiright/access-session/host-mode +- config-interface-grouping(grouping)/interface/vasiright/access-session/port-control +- config-interface-grouping(grouping)/interface/vasiright/access-session/port-control/auto +- config-interface-grouping(grouping)/interface/vmi/access-session/control-direction +- config-interface-grouping(grouping)/interface/vmi/access-session/control-direction/in +- config-interface-grouping(grouping)/interface/vmi/access-session/host-mode +- config-interface-grouping(grouping)/interface/vmi/access-session/port-control +- config-interface-grouping(grouping)/interface/vmi/access-session/port-control/auto +- interface-common-grouping(grouping)/access-session/control-direction +- interface-common-grouping(grouping)/access-session/control-direction/in +- interface-common-grouping(grouping)/access-session/host-mode +- interface-common-grouping(grouping)/access-session/port-control +- interface-common-grouping(grouping)/access-session/port-control/auto + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-interface-grouping(grouping)/interface/ATM/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/ATM/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppNav-Compress/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppNav-Compress/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Async/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Async/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/BD-VIF/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/BD-VIF/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/BDI/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/BDI/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Bundle/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Bundle/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Cellular/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Cellular/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Dialer/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Dialer/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Ethernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Ethernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Ethernet-Internal/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Ethernet-Internal/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/FastEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/FastEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/FourHundredGigE/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/FourHundredGigE/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/GMPLS/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/GMPLS/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/GigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/GigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Group-Async/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Group-Async/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/HundredGigE/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/HundredGigE/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/L2LISP/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/L2LISP/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/LISP/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/LISP/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/LORAWAN/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/LORAWAN/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Loopback/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Loopback/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/MFR/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/MFR/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Multilink/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Multilink/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/PRP-channel/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/PRP-channel/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Port-channel/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Port-channel/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/SM/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/SM/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Serial/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Serial/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Service-Engine/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Service-Engine/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Tunnel/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Tunnel/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwoHundredGigE/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/TwoHundredGigE/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Vif/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Vif/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-PPP/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-PPP/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-Template/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-Template/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-WPAN/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Virtual-WPAN/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/VirtualPortGroup/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/VirtualPortGroup/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Vlan/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Vlan/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/WPAN/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/WPAN/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/nve/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/nve/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/ucse/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/ucse/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/vasileft/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/vasileft/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/vasiright/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/vasiright/ipv6/source-guard/attach-policy +- config-interface-grouping(grouping)/interface/vmi/ipv6/destination-guard/attach-policy +- config-interface-grouping(grouping)/interface/vmi/ipv6/source-guard/attach-policy +- interface-common-grouping(grouping)/ipv6/destination-guard/attach-policy +- interface-common-grouping(grouping)/ipv6/source-guard/attach-policy + +### Description + +A new must expression added. + +### Description + +The presence destination-guard is added. + +- config-interface-grouping(grouping)/interface/ATM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppNav-Compress/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Async/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/BD-VIF/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/BDI/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Bundle/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Cellular/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Dialer/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Ethernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Ethernet-Internal/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FastEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FourHundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/GMPLS/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/GigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Group-Async/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/HundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/L2LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LORAWAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Loopback/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/MFR/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Multilink/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/PRP-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Port-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/SM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Serial/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Service-Engine/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Tunnel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwoHundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Vif/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-PPP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-Template/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-WPAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/VirtualPortGroup/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Vlan/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/WPAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/nve/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/ucse/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vasileft/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vasiright/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vmi/ipv6/destination-guard +- interface-common-grouping(grouping)/ipv6/destination-guard + +### Description + +The presence source-guard is added. + +- config-interface-grouping(grouping)/interface/ATM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppNav-Compress/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Async/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/BD-VIF/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/BDI/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Bundle/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Cellular/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Dialer/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Ethernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Ethernet-Internal/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FastEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/FourHundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/GMPLS/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/GigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Group-Async/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/HundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/L2LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/LORAWAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Loopback/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/MFR/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Multilink/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/PRP-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Port-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/SM/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Serial/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Service-Engine/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Tunnel/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/TwoHundredGigE/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Vif/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-PPP/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-Template/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Virtual-WPAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/VirtualPortGroup/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Vlan/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/WPAN/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/nve/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/ucse/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vasileft/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vasiright/ipv6/destination-guard +- config-interface-grouping(grouping)/interface/vmi/ipv6/destination-guard +- interface-common-grouping(grouping)/ipv6/destination-guard + +### Description + +The must expression may be more constrained than before. + +- config-interface-grouping(grouping)/interface/ATM/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/ATM-subinterface/ATM/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/AppGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/AppNav-Compress/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/AppNav-UnCompress/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Async/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/BD-VIF/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/BDI/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Bundle/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Cellular/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Dialer/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Embedded-Service-Engine/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Ethernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Ethernet-Internal/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/FastEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/FiftyGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/FiveGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/FortyGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/FourHundredGigE/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/GMPLS/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/GigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Group-Async/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/HundredGigE/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/L2LISP/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/L2LISP-subinterface/L2LISP/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/LISP/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/LISP-subinterface/LISP/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/LORAWAN/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Loopback/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/MFR/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/MFR-subinterface/MFR/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Multilink/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/PRP-channel/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Port-channel/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Port-channel-subinterface/Port-channel/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/SM/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Serial/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Serial-subinterface/Serial/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Service-Engine/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/TenGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Tunnel/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/TwentyFiveGigE/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/TwoGigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/TwoHundredGigE/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Vif/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Virtual-PPP/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Virtual-Template/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Virtual-WPAN/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/VirtualPortGroup/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Vlan/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/WPAN/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/Wlan-GigabitEthernet/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/nve/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/ucse/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/vasileft/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/vasiright/ip/verify/unicast/notification/threshold/drop-rate +- config-interface-grouping(grouping)/interface/vmi/ip/verify/unicast/notification/threshold/drop-rate +- interface-common-grouping(grouping)/ip/verify/unicast/notification/threshold/drop-rate + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ip.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ip.md new file mode 100644 index 000000000..900d9622b --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ip.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-ip.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- config-ip-grouping(grouping)/ip/ftp/passive + +### Description + +Status changed from deprecated to Obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-l2nat.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-l2nat.md new file mode 100644 index 000000000..6387117ed --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-l2nat.md @@ -0,0 +1,35 @@ +## Cisco-IOS-XE-l2nat.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/l2nat/instance/inside/from/host +- native/l2nat/instance/outside/from/host + +### Description + +The key "from-ip" is changed from "from-ip to-ip" + +### Description + +The key "vlan" is changed from "name vlan" + +- native/interface/Port-channel/l2nat/instance_name_with_vlan +- native/interface/TenGigabitEthernet/l2nat/instance_name_with_vlan + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-line.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-line.md new file mode 100644 index 000000000..ad7b5396d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-line.md @@ -0,0 +1,28 @@ +## Cisco-IOS-XE-line.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-line-grouping(grouping)/line/aux/transport/input/input-protocol/default-ssh/ssh +- line-grouping-aux(grouping)/transport/input/input-protocol/default-ssh/ssh + +### Description + +The default false is changed from true + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp-oper.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp-oper.md new file mode 100644 index 000000000..7d9d8e0b6 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp-oper.md @@ -0,0 +1,70 @@ +## Cisco-IOS-XE-lisp-oper.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- lisp-instance-af-type(grouping)/lisp-received-publication/lisp-publication-mapping/lisp-publication-rloc/params/affinity-id-y +- lisp-instance-af-type(grouping)/lisp-subscriber/affinity-id-y +- lisp-instance-af-type(grouping)/local-dbase/local-dbase-rloc/params/affinity-id-y +- lisp-instance-af-type(grouping)/map-cache/map-cache-rloc/params/affinity-id-y +- lisp-instance-af-type(grouping)/ms-registrations/etr-registrations/ms-registration-rloc/params/affinity-id-y +- lisp-instance-af-type(grouping)/proxy-etrs/params/affinity-id-y +- lisp-instance-type(grouping)/af/lisp-received-publication/lisp-publication-mapping/lisp-publication-rloc/params/affinity-id-y +- lisp-instance-type(grouping)/af/lisp-subscriber/affinity-id-y +- lisp-instance-type(grouping)/af/local-dbase/local-dbase-rloc/params/affinity-id-y +- lisp-instance-type(grouping)/af/map-cache/map-cache-rloc/params/affinity-id-y +- lisp-instance-type(grouping)/af/ms-registrations/etr-registrations/ms-registration-rloc/params/affinity-id-y +- lisp-instance-type(grouping)/af/proxy-etrs/params/affinity-id-y +- lisp-local-dbase-mapping-type(grouping)/local-dbase-rloc/params/affinity-id-y +- lisp-local-dbase-rloc-type(grouping)/params/affinity-id-y +- lisp-map-cache-mapping-type(grouping)/map-cache-rloc/params/affinity-id-y +- lisp-map-cache-rloc-type(grouping)/params/affinity-id-y +- lisp-ms-mapping-type(grouping)/etr-registrations/ms-registration-rloc/params/affinity-id-y +- lisp-ms-registration-rloc-type(grouping)/params/affinity-id-y +- lisp-ms-registration-type(grouping)/ms-registration-rloc/params/affinity-id-y +- lisp-proxy-etr-type(grouping)/params/affinity-id-y +- lisp-pubsub-mapping-rloc-type(grouping)/params/affinity-id-y +- lisp-pubsub-mapping-type(grouping)/lisp-publication-rloc/params/affinity-id-y +- lisp-pubsub-publication-type(grouping)/lisp-publication-mapping/lisp-publication-rloc/params/affinity-id-y +- lisp-pubsub-subscriber-type(grouping)/affinity-id-y +- lisp-remote-locator-set-rloc-data-type(grouping)/params/affinity-id-y +- lisp-remote-locator-set-type(grouping)/rem-loc-set-rlocs-si/params/affinity-id-y +- lisp-remote-locator-set-type(grouping)/remote-locator-set-rlocs/params/affinity-id-y +- lisp-rloc-parameters-type(grouping)/affinity-id-y +- lisp-router-type(grouping)/instances/af/lisp-received-publication/lisp-publication-mapping/lisp-publication-rloc/params/affinity-id-y +- lisp-router-type(grouping)/instances/af/lisp-subscriber/affinity-id-y +- lisp-router-type(grouping)/instances/af/local-dbase/local-dbase-rloc/params/affinity-id-y +- lisp-router-type(grouping)/instances/af/map-cache/map-cache-rloc/params/affinity-id-y +- lisp-router-type(grouping)/instances/af/ms-registrations/etr-registrations/ms-registration-rloc/params/affinity-id-y +- lisp-router-type(grouping)/instances/af/proxy-etrs/params/affinity-id-y +- lisp-router-type(grouping)/remote-locator-sets/rem-loc-set-rlocs-si/params/affinity-id-y +- lisp-router-type(grouping)/remote-locator-sets/remote-locator-set-rlocs/params/affinity-id-y +- lisp-state/lisp-routers/instances/af/lisp-received-publication/lisp-publication-mapping/lisp-publication-rloc/params/affinity-id-y +- lisp-state/lisp-routers/instances/af/lisp-subscriber/affinity-id-y +- lisp-state/lisp-routers/instances/af/local-dbase/local-dbase-rloc/params/affinity-id-y +- lisp-state/lisp-routers/instances/af/map-cache/map-cache-rloc/params/affinity-id-y +- lisp-state/lisp-routers/instances/af/ms-registrations/etr-registrations/ms-registration-rloc/params/affinity-id-y +- lisp-state/lisp-routers/instances/af/proxy-etrs/params/affinity-id-y +- lisp-state/lisp-routers/remote-locator-sets/rem-loc-set-rlocs-si/params/affinity-id-y +- lisp-state/lisp-routers/remote-locator-sets/remote-locator-set-rlocs/params/affinity-id-y + +### Description + +The when expression is different than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp.md new file mode 100644 index 000000000..880a4103f --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-lisp.md @@ -0,0 +1,79 @@ +## Cisco-IOS-XE-lisp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/AppGigabitEthernet/ip/lisp/source-locator +- native/interface/FastEthernet/ip/lisp/source-locator +- native/interface/FiveGigabitEthernet/ip/lisp/source-locator +- native/interface/FortyGigabitEthernet/ip/lisp/source-locator +- native/interface/GigabitEthernet/ip/lisp/source-locator +- native/interface/HundredGigE/ip/lisp/source-locator +- native/interface/Loopback/ip/lisp/source-locator +- native/interface/Port-channel/ip/lisp/source-locator +- native/interface/TenGigabitEthernet/ip/lisp/source-locator +- native/interface/Tunnel/ip/lisp/source-locator +- native/interface/TwentyFiveGigE/ip/lisp/source-locator +- native/interface/TwoGigabitEthernet/ip/lisp/source-locator +- native/router/lisp/instance-container/instance-list/service/ipv4/default/route-export/away-eids +- native/router/lisp/instance-container/instance-list/service/ipv4/default/route-export/publications +- native/router/lisp/instance-container/instance-list/service/ipv4/default/route-export/site-registrations +- native/router/lisp/instance-container/instance-list/service/ipv4/route-export/away-eids +- native/router/lisp/instance-container/instance-list/service/ipv4/route-export/publications +- native/router/lisp/instance-container/instance-list/service/ipv4/route-export/site-registrations +- native/router/lisp/instance-container/instance-list/service/ipv6/default/route-export/away-eids +- native/router/lisp/instance-container/instance-list/service/ipv6/default/route-export/publications +- native/router/lisp/instance-container/instance-list/service/ipv6/default/route-export/site-registrations +- native/router/lisp/instance-container/instance-list/service/ipv6/route-export/away-eids +- native/router/lisp/instance-container/instance-list/service/ipv6/route-export/publications +- native/router/lisp/instance-container/instance-list/service/ipv6/route-export/site-registrations +- native/router/lisp/service/ipv4/route-export/away-eids +- native/router/lisp/service/ipv4/route-export/publications +- native/router/lisp/service/ipv4/route-export/site-registrations +- native/router/lisp/service/ipv6/route-export/away-eids +- native/router/lisp/service/ipv6/route-export/publications +- native/router/lisp/service/ipv6/route-export/site-registrations +- native/router/lisp-list/instance-container/instance-list/service/ipv4/default/route-export/away-eids +- native/router/lisp-list/instance-container/instance-list/service/ipv4/default/route-export/publications +- native/router/lisp-list/instance-container/instance-list/service/ipv4/default/route-export/site-registrations +- native/router/lisp-list/instance-container/instance-list/service/ipv4/route-export/away-eids +- native/router/lisp-list/instance-container/instance-list/service/ipv4/route-export/publications +- native/router/lisp-list/instance-container/instance-list/service/ipv4/route-export/site-registrations +- native/router/lisp-list/instance-container/instance-list/service/ipv6/default/route-export/away-eids +- native/router/lisp-list/instance-container/instance-list/service/ipv6/default/route-export/publications +- native/router/lisp-list/instance-container/instance-list/service/ipv6/default/route-export/site-registrations +- native/router/lisp-list/instance-container/instance-list/service/ipv6/route-export/away-eids +- native/router/lisp-list/instance-container/instance-list/service/ipv6/route-export/publications +- native/router/lisp-list/instance-container/instance-list/service/ipv6/route-export/site-registrations +- native/router/lisp-list/service/ipv4/route-export/away-eids +- native/router/lisp-list/service/ipv4/route-export/publications +- native/router/lisp-list/service/ipv4/route-export/site-registrations +- native/router/lisp-list/service/ipv6/route-export/away-eids +- native/router/lisp-list/service/ipv6/route-export/publications +- native/router/lisp-list/service/ipv6/route-export/site-registrations + +### Description + +The status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- router-lisp-inst-service-ip-grouping(grouping)/eid-table/vrf +- router-lisp-inst-service-ip-grouping(grouping)/eid-table/vrf-name + +### Description + +Base type is changed from string to leafref. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-logging.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-logging.md new file mode 100644 index 000000000..6fedc3407 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-logging.md @@ -0,0 +1,43 @@ +## Cisco-IOS-XE-logging.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- config-logging-grouping(grouping)/logging/console +- config-logging-grouping(grouping)/logging/console/discriminator +- config-logging-grouping(grouping)/logging/console/discriminator/name +- config-logging-grouping(grouping)/logging/console/discriminator/severity +- config-logging-grouping(grouping)/logging/console/filtered +- config-logging-grouping(grouping)/logging/console/guaranteed +- config-logging-grouping(grouping)/logging/console/severity +- config-logging-grouping(grouping)/logging/console/xxml +- config-logging-grouping(grouping)/logging/console-conf +- config-logging-grouping(grouping)/logging/console-conf/console +- config-logging-grouping(grouping)/logging/monitor +- config-logging-grouping(grouping)/logging/monitor/discriminator +- config-logging-grouping(grouping)/logging/monitor/discriminator/name +- config-logging-grouping(grouping)/logging/monitor/discriminator/severity +- config-logging-grouping(grouping)/logging/monitor/severity +- config-logging-grouping(grouping)/logging/monitor-conf +- config-logging-grouping(grouping)/logging/monitor-conf/monitor + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-meraki-leds-actions-rpc.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-meraki-leds-actions-rpc.md new file mode 100644 index 000000000..7115dc4f5 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-meraki-leds-actions-rpc.md @@ -0,0 +1,30 @@ +## Cisco-IOS-XE-meraki-leds-actions-rpc.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- blink-leds-cmd(rpc)/input(input)/switch-number +- blink-leds-params(grouping)/switch-number +- set-system-led-state(rpc)/input(input)/switch-number +- system-led-change(grouping)/switch-number + +### Description + +The leaf "switch-number" is removed. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-mpls.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-mpls.md new file mode 100644 index 000000000..10381fc24 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-mpls.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-mpls.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- neighbor-vrf-grouping(grouping)/neighbor-content/password/enctype + +### Description + +The range is restricted. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-multicast.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-multicast.md new file mode 100644 index 000000000..33d95a6eb --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-multicast.md @@ -0,0 +1,257 @@ +## Cisco-IOS-XE-multicast.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/AppGigabitEthernet/ip/pim/pim-mode +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/AppGigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/BDI/ip/pim/pim-mode +- native/interface/BDI/ip/pim/pim-mode-choice +- native/interface/BDI/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/BDI/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/BDI/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/BDI/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/BDI/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/BDI/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/BDI/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Cellular/ip/pim/pim-mode +- native/interface/Cellular/ip/pim/pim-mode-choice +- native/interface/Cellular/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Cellular/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Cellular/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Cellular/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Cellular/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Cellular/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Cellular/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/FastEthernet/ip/pim/pim-mode +- native/interface/FastEthernet/ip/pim/pim-mode-choice +- native/interface/FastEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/FastEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/FastEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/FastEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/FastEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/FastEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/FastEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/FiveGigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/FortyGigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/GigabitEthernet/ip/pim/pim-mode +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/GigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/HundredGigE/ip/pim/pim-mode +- native/interface/HundredGigE/ip/pim/pim-mode-choice +- native/interface/HundredGigE/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/HundredGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/HundredGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/HundredGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/HundredGigE/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/HundredGigE/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/HundredGigE/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/LISP/ip/pim/pim-mode +- native/interface/LISP/ip/pim/pim-mode-choice +- native/interface/LISP/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/LISP/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/LISP/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/LISP/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/LISP-subinterface/LISP/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Loopback/ip/pim/pim-mode +- native/interface/Loopback/ip/pim/pim-mode-choice +- native/interface/Loopback/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Loopback/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Loopback/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Loopback/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Loopback/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Loopback/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Loopback/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Multilink/ip/pim/pim-mode +- native/interface/Multilink/ip/pim/pim-mode-choice +- native/interface/Multilink/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Multilink/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Multilink/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Multilink/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Multilink/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Multilink/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Multilink/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Port-channel/ip/pim/pim-mode +- native/interface/Port-channel/ip/pim/pim-mode-choice +- native/interface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Port-channel/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Port-channel/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Port-channel/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Port-channel-subinterface/Port-channel/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Serial/ip/pim/pim-mode +- native/interface/Serial/ip/pim/pim-mode-choice +- native/interface/Serial/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Serial/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Serial/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Serial/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Serial-subinterface/Serial/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/TenGigabitEthernet/ip/pim/pim-mode +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/TenGigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Tunnel/ip/pim/pim-mode +- native/interface/Tunnel/ip/pim/pim-mode-choice +- native/interface/Tunnel/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Tunnel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Tunnel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Tunnel/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Tunnel/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Tunnel/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Tunnel/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/TwentyFiveGigE/ip/pim/pim-mode +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/TwentyFiveGigE/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/TwoGigabitEthernet/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Vif/ip/pim/pim-mode +- native/interface/Vif/ip/pim/pim-mode-choice +- native/interface/Vif/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Vif/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Vif/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Vif/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Vif/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Vif/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Vif/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Virtual-Template/ip/pim/pim-mode +- native/interface/Virtual-Template/ip/pim/pim-mode-choice +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Virtual-Template/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/VirtualPortGroup/ip/pim/pim-mode +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/VirtualPortGroup/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/interface/Vlan/ip/pim/pim-mode +- native/interface/Vlan/ip/pim/pim-mode-choice +- native/interface/Vlan/ip/pim/pim-mode-choice/dense/dense-mode +- native/interface/Vlan/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register +- native/interface/Vlan/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/list +- native/interface/Vlan/ip/pim/pim-mode-choice/dense/dense-mode/proxy-register/route-map +- native/interface/Vlan/ip/pim/pim-mode-choice/passive-mode/passive +- native/interface/Vlan/ip/pim/pim-mode-choice/sparse/sparse-mode +- native/interface/Vlan/ip/pim/pim-mode-choice/sparse-dense/sparse-dense-mode +- native/ip/multicast/route-limit +- native/ip/pim/rp-address +- native/ip/pim/rp-address/access-list +- native/ip/pim/rp-address/address +- native/ip/pim/rp-address/bidir +- native/ip/pim/rp-address/override +- native/ip/pim/vrf/rp-address +- native/ip/pim/vrf/rp-address/access-list +- native/ip/pim/vrf/rp-address/address +- native/ip/pim/vrf/rp-address/bidir +- native/ip/pim/vrf/rp-address/override + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-interface-ip-pim-grouping(grouping)/dr-priority + +### Description + +The range '[(0, 4294967294)]' is added + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nat.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nat.md new file mode 100644 index 000000000..50ae06e23 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nat.md @@ -0,0 +1,82 @@ +## Cisco-IOS-XE-nat.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/ip/nat/inside/source/list +- native/ip/nat/inside/source/list/id +- native/ip/nat/inside/source/list/pool-or-interface +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface/extended +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface/name +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface/oer +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface/overload +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/name +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/vrf +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/vrf/extended +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/vrf/oer +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/vrf/overload +- native/ip/nat/inside/source/list/pool-or-interface/interface-choice/interface-with-vrf/interface/vrf/vrf-name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/extended +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/oer +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/overload +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/mapping-id +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/mapping-id/extended +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/mapping-id/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/mapping-id/oer +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/mapping-id/overload +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool/redundancy/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id/vrf +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id/vrf/match-in-vrf +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id/vrf/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/mapping-id/vrf/overload +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/redundancy/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/vrf +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/vrf/match-in-vrf +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/vrf/name +- native/ip/nat/inside/source/list/pool-or-interface/pool-choice/pool-with-vrf/pool/vrf/overload +- native/ip/nat/outside/source/static/nat-static-transport-list +- native/ip/nat/outside/source/static/nat-static-transport-list/extendable +- native/ip/nat/outside/source/static/nat-static-transport-list/global-ip +- native/ip/nat/outside/source/static/nat-static-transport-list/local-ip +- native/ip/nat/outside/source/static/nat-static-transport-list/match-in-vrf +- native/ip/nat/outside/source/static/nat-static-transport-list/no-payload +- native/ip/nat/outside/source/static/nat-static-transport-list/vrf +- native/ip/nat/service/dns-v6 +- native/nat64/v6v4/list/list/pool-or-interface/interface-choice/interface/vrf +- native/nat64/v6v4/list/list/pool-or-interface/interface-choice/interface/vrf/name +- native/nat64/v6v4/list/list/pool-or-interface/interface-choice/interface/vrf/overload + +### Description + +The status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nd.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nd.md new file mode 100644 index 000000000..90b6cd013 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nd.md @@ -0,0 +1,201 @@ +## Cisco-IOS-XE-nd.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/ATM/ipv6/nd/raguard/attach-policy +- native/interface/ATM-subinterface/ATM/ipv6/nd/raguard/attach-policy +- native/interface/AppGigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/AppNav-Compress/ipv6/nd/raguard/attach-policy +- native/interface/AppNav-UnCompress/ipv6/nd/raguard/attach-policy +- native/interface/Async/ipv6/nd/raguard/attach-policy +- native/interface/BD-VIF/ipv6/nd/raguard/attach-policy +- native/interface/BDI/ipv6/nd/raguard/attach-policy +- native/interface/Cellular/ipv6/nd/raguard/attach-policy +- native/interface/Dialer/ipv6/nd/raguard/attach-policy +- native/interface/Embedded-Service-Engine/ipv6/nd/raguard/attach-policy +- native/interface/Ethernet/ipv6/nd/raguard/attach-policy +- native/interface/Ethernet-Internal/ipv6/nd/raguard/attach-policy +- native/interface/FastEthernet/ipv6/nd/raguard/attach-policy +- native/interface/FiveGigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/FortyGigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/GMPLS/ipv6/nd/raguard/attach-policy +- native/interface/GigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/Group-Async/ipv6/nd/raguard/attach-policy +- native/interface/HundredGigE/ipv6/nd/raguard/attach-policy +- native/interface/LISP/ipv6/nd/raguard/attach-policy +- native/interface/LISP-subinterface/LISP/ipv6/nd/raguard/attach-policy +- native/interface/Loopback/ipv6/nd/raguard/attach-policy +- native/interface/MFR/ipv6/nd/raguard/attach-policy +- native/interface/MFR-subinterface/MFR/ipv6/nd/raguard/attach-policy +- native/interface/Multilink/ipv6/nd/raguard/attach-policy +- native/interface/Port-channel/ipv6/nd/raguard/attach-policy +- native/interface/Port-channel-subinterface/Port-channel/ipv6/nd/raguard/attach-policy +- native/interface/SM/ipv6/nd/raguard/attach-policy +- native/interface/Serial/ipv6/nd/raguard/attach-policy +- native/interface/Serial-subinterface/Serial/ipv6/nd/raguard/attach-policy +- native/interface/Service-Engine/ipv6/nd/raguard/attach-policy +- native/interface/TenGigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/Tunnel/ipv6/nd/raguard/attach-policy +- native/interface/TwentyFiveGigE/ipv6/nd/raguard/attach-policy +- native/interface/TwoGigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/Vif/ipv6/nd/raguard/attach-policy +- native/interface/Virtual-PPP/ipv6/nd/raguard/attach-policy +- native/interface/Virtual-Template/ipv6/nd/raguard/attach-policy +- native/interface/VirtualPortGroup/ipv6/nd/raguard/attach-policy +- native/interface/Vlan/ipv6/nd/raguard/attach-policy +- native/interface/Wlan-GigabitEthernet/ipv6/nd/raguard/attach-policy +- native/interface/nve/ipv6/nd/raguard/attach-policy +- native/interface/ucse/ipv6/nd/raguard/attach-policy +- native/interface/vasileft/ipv6/nd/raguard/attach-policy +- native/interface/vasiright/ipv6/nd/raguard/attach-policy +- native/ipv6/nd/inspection +- native/ipv6/nd/inspection/policy +- native/ipv6/nd/inspection/policy/device-role +- native/ipv6/nd/inspection/policy/device-role/host +- native/ipv6/nd/inspection/policy/device-role/monitor +- native/ipv6/nd/inspection/policy/device-role/router +- native/ipv6/nd/inspection/policy/device-role/switch +- native/ipv6/nd/inspection/policy/drop-unsecure +- native/ipv6/nd/inspection/policy/limit +- native/ipv6/nd/inspection/policy/limit/address-count +- native/ipv6/nd/inspection/policy/name-nd-inspection-policy +- native/ipv6/nd/inspection/policy/sec-level +- native/ipv6/nd/inspection/policy/sec-level/minimum +- native/ipv6/nd/inspection/policy/tracking +- native/ipv6/nd/inspection/policy/tracking/disable +- native/ipv6/nd/inspection/policy/tracking/disable/stale-lifetime +- native/ipv6/nd/inspection/policy/tracking/disable/stale-lifetime/infinite +- native/ipv6/nd/inspection/policy/tracking/disable/stale-lifetime/seconds +- native/ipv6/nd/inspection/policy/tracking/enable +- native/ipv6/nd/inspection/policy/tracking/enable/reachable-lifetime +- native/ipv6/nd/inspection/policy/tracking/enable/reachable-lifetime/infinite +- native/ipv6/nd/inspection/policy/tracking/enable/reachable-lifetime/seconds +- native/ipv6/nd/inspection/policy/trusted-port +- native/ipv6/nd/inspection/policy/validate +- native/ipv6/nd/inspection/policy/validate/source-mac +- native/ipv6/nd/raguard/policy/device-role/host +- native/ipv6/nd/raguard/policy/device-role/monitor +- native/ipv6/nd/raguard/policy/device-role/router +- native/ipv6/nd/raguard/policy/device-role/switch + +### Description + +The status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/interface/ATM/ipv6/nd/raguard +- native/interface/ATM-subinterface/ATM/ipv6/nd/raguard +- native/interface/AppGigabitEthernet/ipv6/nd/raguard +- native/interface/AppNav-Compress/ipv6/nd/raguard +- native/interface/AppNav-UnCompress/ipv6/nd/raguard +- native/interface/Async/ipv6/nd/raguard +- native/interface/BD-VIF/ipv6/nd/raguard +- native/interface/BDI/ipv6/nd/raguard +- native/interface/Cellular/ipv6/nd/raguard +- native/interface/Dialer/ipv6/nd/raguard +- native/interface/Embedded-Service-Engine/ipv6/nd/raguard +- native/interface/Ethernet/ipv6/nd/raguard +- native/interface/Ethernet-Internal/ipv6/nd/raguard +- native/interface/FastEthernet/ipv6/nd/raguard +- native/interface/FiveGigabitEthernet/ipv6/nd/raguard +- native/interface/FortyGigabitEthernet/ipv6/nd/raguard +- native/interface/GMPLS/ipv6/nd/raguard +- native/interface/GigabitEthernet/ipv6/nd/raguard +- native/interface/Group-Async/ipv6/nd/raguard +- native/interface/HundredGigE/ipv6/nd/raguard +- native/interface/LISP/ipv6/nd/raguard +- native/interface/LISP-subinterface/LISP/ipv6/nd/raguard +- native/interface/Loopback/ipv6/nd/raguard +- native/interface/MFR/ipv6/nd/raguard +- native/interface/MFR-subinterface/MFR/ipv6/nd/raguard +- native/interface/Multilink/ipv6/nd/raguard +- native/interface/Port-channel/ipv6/nd/raguard +- native/interface/Port-channel-subinterface/Port-channel/ipv6/nd/raguard +- native/interface/SM/ipv6/nd/raguard +- native/interface/Serial/ipv6/nd/raguard +- native/interface/Serial-subinterface/Serial/ipv6/nd/raguard +- native/interface/Service-Engine/ipv6/nd/raguard +- native/interface/TenGigabitEthernet/ipv6/nd/raguard +- native/interface/Tunnel/ipv6/nd/raguard +- native/interface/TwentyFiveGigE/ipv6/nd/raguard +- native/interface/TwoGigabitEthernet/ipv6/nd/raguard +- native/interface/Vif/ipv6/nd/raguard +- native/interface/Virtual-PPP/ipv6/nd/raguard +- native/interface/Virtual-Template/ipv6/nd/raguard +- native/interface/VirtualPortGroup/ipv6/nd/raguard +- native/interface/Vlan/ipv6/nd/raguard +- native/interface/Wlan-GigabitEthernet/ipv6/nd/raguard +- native/interface/nve/ipv6/nd/raguard +- native/interface/ucse/ipv6/nd/raguard +- native/interface/vasileft/ipv6/nd/raguard +- native/interface/vasiright/ipv6/nd/raguard + +### Description + +The presence 'raguard' is added. + +### Description + +The must expression is more constrained than before. + +- native/interface/ATM/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/ATM-subinterface/ATM/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/AppGigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/AppNav-Compress/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/AppNav-UnCompress/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Async/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/BD-VIF/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/BDI/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Cellular/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Dialer/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Embedded-Service-Engine/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Ethernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Ethernet-Internal/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/FastEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/FiveGigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/FortyGigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/GMPLS/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/GigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Group-Async/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/HundredGigE/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/LISP/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/LISP-subinterface/LISP/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Loopback/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/MFR/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/MFR-subinterface/MFR/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Multilink/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Port-channel/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Port-channel-subinterface/Port-channel/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/SM/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Serial/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Serial-subinterface/Serial/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Service-Engine/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/TenGigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Tunnel/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/TwentyFiveGigE/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/TwoGigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Vif/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Virtual-PPP/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Virtual-Template/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/VirtualPortGroup/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Vlan/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/Wlan-GigabitEthernet/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/nve/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/ucse/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/vasileft/ipv6/nd/raguard/attached-policies/attach-policy +- native/interface/vasiright/ipv6/nd/raguard/attached-policies/attach-policy + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nhrp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nhrp.md new file mode 100644 index 000000000..fd15f23b4 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-nhrp.md @@ -0,0 +1,73 @@ +## Cisco-IOS-XE-nhrp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/Tunnel/ip/nhrp-v4/nhrp/record +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4 +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/nbma-ipv4 +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range/pri-range +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6 +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/nbma-ipv6 +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range/multicast +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range/pri-range +- native/interface/Tunnel/ip/nhrp-v4/nhrp/summary-map/length-ipv4/resolve +- native/interface/Tunnel/ipv6/nhrp/record +- native/interface/Tunnel/nhrp-tunn/nhrp/route-watch +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/record +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4 +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/nbma-ipv4 +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv4/preference/pri-range/pri-range +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6 +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/nbma-ipv6 +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range/multicast +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/nbma-ipv6/preference/pri-range/pri-range +- native/interface/Virtual-Template/ip/nhrp-v4/nhrp/summary-map/length-ipv4/resolve +- native/interface/Virtual-Template/ipv6/nhrp/record +- native/interface/Virtual-Template/nhrp-tunn/nhrp/route-watch + +### Description + +Status changed from current to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/snmp-server/enable/enable-choice/traps/nhrp +- native/snmp-server/enable/enable-choice/traps/nhrp/nhc +- native/snmp-server/enable/enable-choice/traps/nhrp/nhp +- native/snmp-server/enable/enable-choice/traps/nhrp/nhs + +### Description + +The prsence 'nhp', 'nhrp', 'nhs', 'nhc' are removed. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospf.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospf.md new file mode 100644 index 000000000..7e30cff2d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospf.md @@ -0,0 +1,33 @@ +## Cisco-IOS-XE-ospf.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/router/router-ospf/ospf/process-id/segment-routing + +### Description + +A new when expression added. + +- config-ospf-default-information-grouping(grouping)/default-information/originate/metric + +### Description + +The range has been illegally restricted. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospfv3.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospfv3.md new file mode 100644 index 000000000..56d64592d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-ospfv3.md @@ -0,0 +1,28 @@ +## Cisco-IOS-XE-ospfv3.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- ospfv3-af-ipv4-summary-prefix-grouping(grouping)/summary-prefix/tag-no-advertise-choice/tag/tag +- ospfv3-common-address-family-grouping(grouping)/default-information/originate/metric + +### Description + +The range has been restricted. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-platform.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-platform.md new file mode 100644 index 000000000..a9506838c --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-platform.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-platform.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/platform/qos/port-channel-aggregate + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-policy.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-policy.md new file mode 100644 index 000000000..50800f140 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-policy.md @@ -0,0 +1,377 @@ +## Cisco-IOS-XE-policy.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/ATM/pvc/service-policy/type/epbr/input +- native/interface/ATM/pvc/service-policy/type/epbr/output +- native/interface/ATM/service-policy/type/epbr/input +- native/interface/ATM/service-policy/type/epbr/output +- native/interface/ATM-subinterface/ATM/pvc/service-policy/type/epbr/input +- native/interface/ATM-subinterface/ATM/pvc/service-policy/type/epbr/output +- native/interface/ATM-subinterface/ATM/service-policy/type/epbr/input +- native/interface/ATM-subinterface/ATM/service-policy/type/epbr/output +- native/interface/AppGigabitEthernet/service-policy/type/epbr/input +- native/interface/AppGigabitEthernet/service-policy/type/epbr/output +- native/interface/BD-VIF/service-policy/type/epbr/input +- native/interface/BD-VIF/service-policy/type/epbr/output +- native/interface/BDI/service-policy/type/epbr/input +- native/interface/BDI/service-policy/type/epbr/output +- native/interface/Cellular/service-policy/type/epbr/input +- native/interface/Cellular/service-policy/type/epbr/output +- native/interface/Dialer/service-policy/type/epbr/input +- native/interface/Dialer/service-policy/type/epbr/output +- native/interface/Ethernet/service-policy/type/epbr/input +- native/interface/Ethernet/service-policy/type/epbr/output +- native/interface/FastEthernet/service-policy/type/epbr/input +- native/interface/FastEthernet/service-policy/type/epbr/output +- native/interface/FiveGigabitEthernet/service-policy/type/epbr/input +- native/interface/FiveGigabitEthernet/service-policy/type/epbr/output +- native/interface/FortyGigabitEthernet/service-policy/type/epbr/input +- native/interface/FortyGigabitEthernet/service-policy/type/epbr/output +- native/interface/GigabitEthernet/service-policy/type/epbr/input +- native/interface/GigabitEthernet/service-policy/type/epbr/output +- native/interface/HundredGigE/service-policy/type/epbr/input +- native/interface/HundredGigE/service-policy/type/epbr/output +- native/interface/LISP/service-policy/type/epbr/input +- native/interface/LISP/service-policy/type/epbr/output +- native/interface/Loopback/service-policy/type/epbr/input +- native/interface/Loopback/service-policy/type/epbr/output +- native/interface/Multilink/service-policy/type/epbr/input +- native/interface/Multilink/service-policy/type/epbr/output +- native/interface/Port-channel/service-policy/type/epbr/input +- native/interface/Port-channel/service-policy/type/epbr/output +- native/interface/Port-channel-subinterface/Port-channel/service-policy/type/epbr/input +- native/interface/Port-channel-subinterface/Port-channel/service-policy/type/epbr/output +- native/interface/Serial/service-policy/type/epbr/input +- native/interface/Serial/service-policy/type/epbr/output +- native/interface/TenGigabitEthernet/service-policy/type/epbr/input +- native/interface/TenGigabitEthernet/service-policy/type/epbr/output +- native/interface/Tunnel/service-policy/type/epbr/input +- native/interface/Tunnel/service-policy/type/epbr/output +- native/interface/TwentyFiveGigE/service-policy/type/epbr/input +- native/interface/TwentyFiveGigE/service-policy/type/epbr/output +- native/interface/TwoGigabitEthernet/service-policy/type/epbr/input +- native/interface/TwoGigabitEthernet/service-policy/type/epbr/output +- native/interface/Virtual-Template/service-policy/type/epbr/input +- native/interface/Virtual-Template/service-policy/type/epbr/output +- native/interface/VirtualPortGroup/service-policy/type/epbr/input +- native/interface/VirtualPortGroup/service-policy/type/epbr/output +- native/interface/Vlan/service-policy/type/epbr/input +- native/interface/Vlan/service-policy/type/epbr/output +- native/interface/nve/service-policy/type/epbr/input +- native/interface/nve/service-policy/type/epbr/output +- native/interface/vasileft/service-policy/type/epbr/input +- native/interface/vasileft/service-policy/type/epbr/output +- native/interface/vasiright/service-policy/type/epbr/input +- native/interface/vasiright/service-policy/type/epbr/output +- native/policy/class-map/match/authorizing-method-priority/eq +- native/policy/class-map/match/authorizing-method-priority/gt +- native/policy/class-map/match/authorizing-method-priority/lt +- native/policy/class-map/match/client-type +- native/policy/class-map/match/current-method-priority/eq +- native/policy/class-map/match/current-method-priority/gt +- native/policy/class-map/match/current-method-priority/lt +- native/policy/class-map/match/device-type +- native/policy/class-map/match/device-type-list +- native/policy/class-map/match/interface +- native/policy/class-map/match/ip-address +- native/policy/class-map/match/ipv6-address +- native/policy/class-map/match/mac-address +- native/policy/class-map/match/not/current-method-priority/eq +- native/policy/class-map/match/not/current-method-priority/gt +- native/policy/class-map/match/not/current-method-priority/lt +- native/policy/class-map/match/oui +- native/policy/class-map/match/port-type +- native/policy/class-map/match/service-template +- native/policy/class-map/match/session-type +- native/policy/class-map/match/sgt +- native/policy/class-map/match/ssid +- native/policy/class-map/match/tag +- native/policy/class-map/match/timer +- native/policy/class-map/match/user-role +- native/policy/class-map/match/username +- native/policy/class-map/no-match/authorizing-method-priority/eq +- native/policy/class-map/no-match/authorizing-method-priority/gt +- native/policy/class-map/no-match/authorizing-method-priority/lt +- native/policy/class-map/no-match/client-type +- native/policy/class-map/no-match/device-type +- native/policy/class-map/no-match/device-type-list +- native/policy/class-map/no-match/interface +- native/policy/class-map/no-match/ip-address +- native/policy/class-map/no-match/ipv6-address +- native/policy/class-map/no-match/mac-address +- native/policy/class-map/no-match/oui +- native/policy/class-map/no-match/port-type +- native/policy/class-map/no-match/service-template +- native/policy/class-map/no-match/session-type +- native/policy/class-map/no-match/sgt +- native/policy/class-map/no-match/ssid +- native/policy/class-map/no-match/tag +- native/policy/class-map/no-match/timer +- native/policy/class-map/no-match/user-role +- native/policy/class-map/no-match/username +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/conform-action +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/drop +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/dscp +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/exceed-action +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/set-dscp-transmit +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/table +- native/policy/policy-map/class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/transmit +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/dclass +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/denominator +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/max-threshold +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/max-threshold-unit +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/min-threshold +- native/policy/policy-map/class/action-list/action-param/random-detect/random-detect/discard-class/min-threshold-unit +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-global/global/next-hop +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-next-hop/next-hop +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-vrf/vrf/next-hop +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-global/global/next-hop +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-next-hop/next-hop +- native/policy/policy-map/class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-vrf/vrf/next-hop +- native/policy/policy-map/class/random-detect +- native/policy/policy-map/event/class-number/action-number/activate/service-template +- native/policy/policy-map/event/class-number/action-number/terminate +- native/policy/policy-map/event/class-number/action-number/terminate/dot1x +- native/policy/policy-map/event/class-number/action-number/terminate/mab +- native/policy/policy-map/event/class-number/action-number/terminate/webauth +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-catalyst-case/police-catalyst/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-cir-percent-case/police-cir-percent/police/cir/percent/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-flow-case/police-flow/police/flow/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-policy-map-case/police-policy-map/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-pdp-case/police-rate-pdp/police/rate/pdp/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-percent-case/police-rate-percent/police/rate/percent/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-rate-unit-case/police-rate-unit/police/rate/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-cos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-dscp-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-mpls-exp-imposition-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-mpls-exp-topmost-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-prec-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/conform-set-qos-transmit-table/conform-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-cos-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit/exceed-action/set-dscp-transmit/dscp/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-dscp-transmit-table/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/actions/exceed-set-prec-transmit/exceed-action/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/conform-action +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/drop +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/dscp +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/exceed-action +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/set-dscp-transmit +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/table +- native/policy/policy-map/sequence-class/action-list/action-param/police-case/police-choice/police-target-bitrate-case/police-target-bitrate/police/transmit +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/dclass +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/denominator +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/max-threshold +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/max-threshold-unit +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/min-threshold +- native/policy/policy-map/sequence-class/action-list/action-param/random-detect/random-detect/discard-class/min-threshold-unit +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-global/global/next-hop +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-next-hop/next-hop +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv4/ipv4-choice/set-vrf/vrf/next-hop +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-global/global/next-hop +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-next-hop/next-hop +- native/policy/policy-map/sequence-class/action-list/action-param/set-case/set/ipv6/ipv6-choice/set-vrf/vrf/next-hop + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/policy/class-map/match/access-group/name +- native/policy/class-map/match/not/access-group/name + +### Description + +The ordered-by-user is added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-qos.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-qos.md new file mode 100644 index 000000000..766a3eca2 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-qos.md @@ -0,0 +1,29 @@ +## Cisco-IOS-XE-qos.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/table-map/map +- native/table-map/map/from +- native/table-map/map/to + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rawsocket.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rawsocket.md new file mode 100644 index 000000000..7e8542716 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rawsocket.md @@ -0,0 +1,30 @@ +## Cisco-IOS-XE-rawsocket.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/line/async-line-range/raw-socket/tcp +- native/line/async-line-range/raw-socket/udp +- native/line/async-line-single/raw-socket/tcp +- native/line/async-line-single/raw-socket/udp + +### Description + +A new when expression cannot be added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-route-map.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-route-map.md new file mode 100644 index 000000000..2b9c4fc38 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-route-map.md @@ -0,0 +1,669 @@ +## Cisco-IOS-XE-route-map.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/route-map/route-map-seq/match/additional-paths +- native/route-map/route-map-seq/match/additional-paths/advertise-set +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all/best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all/best-range +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all/group-best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all/group-best/best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/all/group-best/best-range +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best/best-range +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best/best-range/all +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best/best-range/best-range +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best/best-range/group-best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best-range +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best-range/adv-path +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best-range/adv-path/adv-path +- native/route-map/route-map-seq/match/additional-paths/advertise-set/best-range/adv-path/adv-path0 +- native/route-map/route-map-seq/match/additional-paths/advertise-set/group-best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/group-best/all +- native/route-map/route-map-seq/match/additional-paths/advertise-set/group-best/best +- native/route-map/route-map-seq/match/additional-paths/advertise-set/group-best/best-range +- native/route-map/route-map-seq/match/as-path +- native/route-map/route-map-seq/match/as-path/access-list +- native/route-map/route-map-seq/match/community +- native/route-map/route-map-seq/match/community/community-list +- native/route-map/route-map-seq/match/community/name +- native/route-map/route-map-seq/match/extcommunity +- native/route-map/route-map-seq/match/extcommunity/extcommunity-list +- native/route-map/route-map-seq/match/extcommunity/name +- native/route-map/route-map-seq/match/large-community +- native/route-map/route-map-seq/match/large-community/exact-match +- native/route-map/route-map-seq/match/large-community/name +- native/route-map/route-map-seq/match/local-preference +- native/route-map/route-map-seq/match/local-preference/values +- native/route-map/route-map-seq/match/route-type/local +- native/route-map/route-map-seq/set/as-path +- native/route-map/route-map-seq/set/as-path/prepend +- native/route-map/route-map-seq/set/as-path/prepend/as-container +- native/route-map/route-map-seq/set/as-path/prepend/as-container/as-number +- native/route-map/route-map-seq/set/as-path/prepend/last-as-cont +- native/route-map/route-map-seq/set/as-path/prepend/last-as-cont/last-as +- native/route-map/route-map-seq/set/as-path/replace +- native/route-map/route-map-seq/set/as-path/replace/any +- native/route-map/route-map-seq/set/as-path/replace/as-container +- native/route-map/route-map-seq/set/as-path/replace/as-container/as-number +- native/route-map/route-map-seq/set/as-path/tag +- native/route-map/route-map-seq/set/attribute-set +- native/route-map/route-map-seq/set/comm-list +- native/route-map/route-map-seq/set/comm-list/comm-list-choice +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-expanded +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-expanded/comm-list-expanded +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-name +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-name/comm-list-name +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-standard +- native/route-map/route-map-seq/set/comm-list/comm-list-choice/comm-list-standard/comm-list-standard +- native/route-map/route-map-seq/set/comm-list/delete +- native/route-map/route-map-seq/set/community +- native/route-map/route-map-seq/set/community/community-well-known-choice/community-well-known +- native/route-map/route-map-seq/set/community/community-well-known-choice/community-well-known/community-well-known +- native/route-map/route-map-seq/set/community/community-well-known-choice/community-well-known/community-well-known/additive +- native/route-map/route-map-seq/set/community/community-well-known-choice/community-well-known/community-well-known/community-list +- native/route-map/route-map-seq/set/community/community-well-known-choice/none +- native/route-map/route-map-seq/set/community/community-well-known-choice/none/none +- native/route-map/route-map-seq/set/dampening +- native/route-map/route-map-seq/set/dampening/dampening-list +- native/route-map/route-map-seq/set/dampening/dampening-list/half-life-penalty +- native/route-map/route-map-seq/set/dampening/dampening-list/max-suppress-penalty +- native/route-map/route-map-seq/set/dampening/dampening-list/restart-penalty +- native/route-map/route-map-seq/set/dampening/dampening-list/suppress-penalty +- native/route-map/route-map-seq/set/default/interface +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM/ATM +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-ACR +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-ACR/ATM-ACR +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-ACRsubinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface/ATM-ACR +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-subinterface/ATM-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/ATM-subinterface/ATM-subinterface/ATM +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppGigabitEthernet/AppGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppNav-Compress +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppNav-Compress/AppNav-Compress +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppNav-UnCompress +- native/route-map/route-map-seq/set/default/interface/interface-choice/AppNav-UnCompress/AppNav-UnCompress +- native/route-map/route-map-seq/set/default/interface/interface-choice/Async +- native/route-map/route-map-seq/set/default/interface/interface-choice/Async/Async +- native/route-map/route-map-seq/set/default/interface/interface-choice/BD-VIF +- native/route-map/route-map-seq/set/default/interface/interface-choice/BD-VIF/BD-VIF +- native/route-map/route-map-seq/set/default/interface/interface-choice/BDI +- native/route-map/route-map-seq/set/default/interface/interface-choice/BDI/BDI +- native/route-map/route-map-seq/set/default/interface/interface-choice/CEM +- native/route-map/route-map-seq/set/default/interface/interface-choice/CEM/CEM +- native/route-map/route-map-seq/set/default/interface/interface-choice/CEM-ACR +- native/route-map/route-map-seq/set/default/interface/interface-choice/CEM-ACR/CEM-ACR +- native/route-map/route-map-seq/set/default/interface/interface-choice/Cellular +- native/route-map/route-map-seq/set/default/interface/interface-choice/Cellular/Cellular +- native/route-map/route-map-seq/set/default/interface/interface-choice/Dialer +- native/route-map/route-map-seq/set/default/interface/interface-choice/Dialer/Dialer +- native/route-map/route-map-seq/set/default/interface/interface-choice/Embedded-Service-Engine +- native/route-map/route-map-seq/set/default/interface/interface-choice/Embedded-Service-Engine/Embedded-Service-Engine +- native/route-map/route-map-seq/set/default/interface/interface-choice/Ethernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/Ethernet/Ethernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FastEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FastEthernet/FastEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FiveGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FiveGigabitEthernet/FiveGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FortyGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/FortyGigabitEthernet/FortyGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/GigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/GigabitEthernet/GigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/HundredGigE +- native/route-map/route-map-seq/set/default/interface/interface-choice/HundredGigE/HundredGigE +- native/route-map/route-map-seq/set/default/interface/interface-choice/LISP +- native/route-map/route-map-seq/set/default/interface/interface-choice/LISP/LISP +- native/route-map/route-map-seq/set/default/interface/interface-choice/LISP-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/LISP-subinterface/LISP-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/LISP-subinterface/LISP-subinterface/LISP +- native/route-map/route-map-seq/set/default/interface/interface-choice/Loopback +- native/route-map/route-map-seq/set/default/interface/interface-choice/Loopback/Loopback +- native/route-map/route-map-seq/set/default/interface/interface-choice/Multilink +- native/route-map/route-map-seq/set/default/interface/interface-choice/Multilink/Multilink +- native/route-map/route-map-seq/set/default/interface/interface-choice/Null +- native/route-map/route-map-seq/set/default/interface/interface-choice/Null/Null +- native/route-map/route-map-seq/set/default/interface/interface-choice/Port-channel +- native/route-map/route-map-seq/set/default/interface/interface-choice/Port-channel/Port-channel +- native/route-map/route-map-seq/set/default/interface/interface-choice/Port-channel-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface +- native/route-map/route-map-seq/set/default/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface/Port-channel +- native/route-map/route-map-seq/set/default/interface/interface-choice/SM +- native/route-map/route-map-seq/set/default/interface/interface-choice/SM/SM +- native/route-map/route-map-seq/set/default/interface/interface-choice/Serial +- native/route-map/route-map-seq/set/default/interface/interface-choice/Serial/Serial +- native/route-map/route-map-seq/set/default/interface/interface-choice/TenGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/TenGigabitEthernet/TenGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/Tunnel +- native/route-map/route-map-seq/set/default/interface/interface-choice/Tunnel/Tunnel +- native/route-map/route-map-seq/set/default/interface/interface-choice/TwentyFiveGigE +- native/route-map/route-map-seq/set/default/interface/interface-choice/TwentyFiveGigE/TwentyFiveGigE +- native/route-map/route-map-seq/set/default/interface/interface-choice/TwoGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/TwoGigabitEthernet/TwoGigabitEthernet +- native/route-map/route-map-seq/set/default/interface/interface-choice/Virtual-Template +- native/route-map/route-map-seq/set/default/interface/interface-choice/Virtual-Template/Virtual-Template +- native/route-map/route-map-seq/set/default/interface/interface-choice/VirtualPortGroup +- native/route-map/route-map-seq/set/default/interface/interface-choice/VirtualPortGroup/VirtualPortGroup +- native/route-map/route-map-seq/set/default/interface/interface-choice/Vlan +- native/route-map/route-map-seq/set/default/interface/interface-choice/Vlan/Vlan +- native/route-map/route-map-seq/set/default/interface/interface-choice/nve +- native/route-map/route-map-seq/set/default/interface/interface-choice/nve/nve +- native/route-map/route-map-seq/set/default/interface/interface-choice/overlay +- native/route-map/route-map-seq/set/default/interface/interface-choice/overlay/overlay +- native/route-map/route-map-seq/set/default/interface/interface-choice/pseudowire +- native/route-map/route-map-seq/set/default/interface/interface-choice/pseudowire/pseudowire +- native/route-map/route-map-seq/set/default/interface/interface-choice/vasileft +- native/route-map/route-map-seq/set/default/interface/interface-choice/vasileft/vasileft +- native/route-map/route-map-seq/set/default/interface/interface-choice/vasiright +- native/route-map/route-map-seq/set/default/interface/interface-choice/vasiright/vasiright +- native/route-map/route-map-seq/set/extcomm-list +- native/route-map/route-map-seq/set/extcomm-list/excomm-list-name +- native/route-map/route-map-seq/set/extcomm-list/excomm-list-name/delete +- native/route-map/route-map-seq/set/extcomm-list/excomm-list-name/name +- native/route-map/route-map-seq/set/extcomm-list/ext-range +- native/route-map/route-map-seq/set/extcomm-list/ext-range/comm-list-num +- native/route-map/route-map-seq/set/extcomm-list/ext-range/delete +- native/route-map/route-map-seq/set/extcommunity +- native/route-map/route-map-seq/set/extcommunity/color +- native/route-map/route-map-seq/set/extcommunity/color-additive +- native/route-map/route-map-seq/set/extcommunity/color-additive/additive +- native/route-map/route-map-seq/set/extcommunity/color-additive/color +- native/route-map/route-map-seq/set/extcommunity/cost +- native/route-map/route-map-seq/set/extcommunity/cost/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/community-id/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/community-id/cost-value +- native/route-map/route-map-seq/set/extcommunity/cost/igp +- native/route-map/route-map-seq/set/extcommunity/cost/igp/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/igp/community-id/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/igp/community-id/cost-value +- native/route-map/route-map-seq/set/extcommunity/cost/pre-bestpath +- native/route-map/route-map-seq/set/extcommunity/cost/pre-bestpath/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/pre-bestpath/community-id/community-id +- native/route-map/route-map-seq/set/extcommunity/cost/pre-bestpath/community-id/cost-value +- native/route-map/route-map-seq/set/extcommunity/rt +- native/route-map/route-map-seq/set/extcommunity/rt/asn-nn +- native/route-map/route-map-seq/set/extcommunity/rt/range +- native/route-map/route-map-seq/set/extcommunity/rt/range/additive +- native/route-map/route-map-seq/set/extcommunity/rt/range/high-limit +- native/route-map/route-map-seq/set/extcommunity/rt/range/lower-limit +- native/route-map/route-map-seq/set/extcommunity/soo +- native/route-map/route-map-seq/set/extcommunity/soo/asn-nn +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher/asn-nn +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher/range +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher/range/additive +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher/range/high-limit +- native/route-map/route-map-seq/set/extcommunity/vpn-distinguisher/range/lower-limit +- native/route-map/route-map-seq/set/interface +- native/route-map/route-map-seq/set/interface/interface-choice/ATM +- native/route-map/route-map-seq/set/interface/interface-choice/ATM/ATM +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-ACR +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-ACR/ATM-ACR +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-ACRsubinterface +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface/ATM-ACR +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-subinterface/ATM-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/ATM-subinterface/ATM-subinterface/ATM +- native/route-map/route-map-seq/set/interface/interface-choice/AppGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/AppGigabitEthernet/AppGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/AppNav-Compress +- native/route-map/route-map-seq/set/interface/interface-choice/AppNav-Compress/AppNav-Compress +- native/route-map/route-map-seq/set/interface/interface-choice/AppNav-UnCompress +- native/route-map/route-map-seq/set/interface/interface-choice/AppNav-UnCompress/AppNav-UnCompress +- native/route-map/route-map-seq/set/interface/interface-choice/Async +- native/route-map/route-map-seq/set/interface/interface-choice/Async/Async +- native/route-map/route-map-seq/set/interface/interface-choice/BD-VIF +- native/route-map/route-map-seq/set/interface/interface-choice/BD-VIF/BD-VIF +- native/route-map/route-map-seq/set/interface/interface-choice/BDI +- native/route-map/route-map-seq/set/interface/interface-choice/BDI/BDI +- native/route-map/route-map-seq/set/interface/interface-choice/CEM +- native/route-map/route-map-seq/set/interface/interface-choice/CEM/CEM +- native/route-map/route-map-seq/set/interface/interface-choice/CEM-ACR +- native/route-map/route-map-seq/set/interface/interface-choice/CEM-ACR/CEM-ACR +- native/route-map/route-map-seq/set/interface/interface-choice/Cellular +- native/route-map/route-map-seq/set/interface/interface-choice/Cellular/Cellular +- native/route-map/route-map-seq/set/interface/interface-choice/Dialer +- native/route-map/route-map-seq/set/interface/interface-choice/Dialer/Dialer +- native/route-map/route-map-seq/set/interface/interface-choice/Embedded-Service-Engine +- native/route-map/route-map-seq/set/interface/interface-choice/Embedded-Service-Engine/Embedded-Service-Engine +- native/route-map/route-map-seq/set/interface/interface-choice/Ethernet +- native/route-map/route-map-seq/set/interface/interface-choice/Ethernet/Ethernet +- native/route-map/route-map-seq/set/interface/interface-choice/FastEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/FastEthernet/FastEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/FiveGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/FiveGigabitEthernet/FiveGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/FortyGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/FortyGigabitEthernet/FortyGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/GigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/GigabitEthernet/GigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/HundredGigE +- native/route-map/route-map-seq/set/interface/interface-choice/HundredGigE/HundredGigE +- native/route-map/route-map-seq/set/interface/interface-choice/LISP +- native/route-map/route-map-seq/set/interface/interface-choice/LISP/LISP +- native/route-map/route-map-seq/set/interface/interface-choice/LISP-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/LISP-subinterface/LISP-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/LISP-subinterface/LISP-subinterface/LISP +- native/route-map/route-map-seq/set/interface/interface-choice/Loopback +- native/route-map/route-map-seq/set/interface/interface-choice/Loopback/Loopback +- native/route-map/route-map-seq/set/interface/interface-choice/Multilink +- native/route-map/route-map-seq/set/interface/interface-choice/Multilink/Multilink +- native/route-map/route-map-seq/set/interface/interface-choice/Null +- native/route-map/route-map-seq/set/interface/interface-choice/Null/Null +- native/route-map/route-map-seq/set/interface/interface-choice/Port-channel +- native/route-map/route-map-seq/set/interface/interface-choice/Port-channel/Port-channel +- native/route-map/route-map-seq/set/interface/interface-choice/Port-channel-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface +- native/route-map/route-map-seq/set/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface/Port-channel +- native/route-map/route-map-seq/set/interface/interface-choice/SM +- native/route-map/route-map-seq/set/interface/interface-choice/SM/SM +- native/route-map/route-map-seq/set/interface/interface-choice/Serial +- native/route-map/route-map-seq/set/interface/interface-choice/Serial/Serial +- native/route-map/route-map-seq/set/interface/interface-choice/TenGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/TenGigabitEthernet/TenGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/Tunnel +- native/route-map/route-map-seq/set/interface/interface-choice/Tunnel/Tunnel +- native/route-map/route-map-seq/set/interface/interface-choice/TwentyFiveGigE +- native/route-map/route-map-seq/set/interface/interface-choice/TwentyFiveGigE/TwentyFiveGigE +- native/route-map/route-map-seq/set/interface/interface-choice/TwoGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/TwoGigabitEthernet/TwoGigabitEthernet +- native/route-map/route-map-seq/set/interface/interface-choice/Virtual-Template +- native/route-map/route-map-seq/set/interface/interface-choice/Virtual-Template/Virtual-Template +- native/route-map/route-map-seq/set/interface/interface-choice/VirtualPortGroup +- native/route-map/route-map-seq/set/interface/interface-choice/VirtualPortGroup/VirtualPortGroup +- native/route-map/route-map-seq/set/interface/interface-choice/Vlan +- native/route-map/route-map-seq/set/interface/interface-choice/Vlan/Vlan +- native/route-map/route-map-seq/set/interface/interface-choice/nve +- native/route-map/route-map-seq/set/interface/interface-choice/nve/nve +- native/route-map/route-map-seq/set/interface/interface-choice/overlay +- native/route-map/route-map-seq/set/interface/interface-choice/overlay/overlay +- native/route-map/route-map-seq/set/interface/interface-choice/pseudowire +- native/route-map/route-map-seq/set/interface/interface-choice/pseudowire/pseudowire +- native/route-map/route-map-seq/set/interface/interface-choice/vasileft +- native/route-map/route-map-seq/set/interface/interface-choice/vasileft/vasileft +- native/route-map/route-map-seq/set/interface/interface-choice/vasiright +- native/route-map/route-map-seq/set/interface/interface-choice/vasiright/vasiright +- native/route-map/route-map-seq/set/ipv6/default/next-hop/ipv6s +- native/route-map/route-map-seq/set/ipv6/default/next-hop/ipv6s/ipv6 +- native/route-map/route-map-seq/set/ipv6/default/next-hop/next-hop-address +- native/route-map/route-map-seq/set/ipv6/next-hop/nha-ipv6 +- native/route-map/route-map-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv6 +- native/route-map/route-map-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60 +- native/route-map/route-map-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60/nh-ipv6 +- native/route-map/route-map-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60/nha-ipv60 +- native/route-map/route-map-seq/set/large-community +- native/route-map/route-map-seq/set/large-community/large-community-choice +- native/route-map/route-map-seq/set/large-community/large-community-choice/large-community-value +- native/route-map/route-map-seq/set/large-community/large-community-choice/large-community-value/large-community-value +- native/route-map/route-map-seq/set/large-community/large-community-choice/large-community-value/large-community-value/additive +- native/route-map/route-map-seq/set/large-community/large-community-choice/large-community-value/large-community-value/large-community-list +- native/route-map/route-map-seq/set/large-community/large-community-choice/none +- native/route-map/route-map-seq/set/large-community/large-community-choice/none/none +- native/route-map/route-map-seq/set/largecomm-list +- native/route-map/route-map-seq/set/largecomm-list/delete +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-expanded +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-expanded/largecomm-list-expanded +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-name +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-name/largecomm-list-name +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-standard +- native/route-map/route-map-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-standard/largecomm-list-standard +- native/route-map/route-map-seq/set/local-preference +- native/route-map/route-map-seq/set/nlri +- native/route-map/route-map-seq/set/nlri/multicast +- native/route-map/route-map-seq/set/nlri/unicast +- native/route-map/route-map-seq/set/origin +- native/route-map/route-map-seq/set/origin/egp +- native/route-map/route-map-seq/set/origin/origin-value +- native/route-map/route-map-seq/set/weight +- native/route-map/route-map-without-order-seq/match/additional-paths +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all/best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all/best-range +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all/group-best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all/group-best/best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/all/group-best/best-range +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best/best-range +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best/best-range/all +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best/best-range/best-range +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best/best-range/group-best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best-range +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best-range/adv-path +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best-range/adv-path/adv-path +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/best-range/adv-path/adv-path0 +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/group-best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/group-best/all +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/group-best/best +- native/route-map/route-map-without-order-seq/match/additional-paths/advertise-set/group-best/best-range +- native/route-map/route-map-without-order-seq/match/as-path +- native/route-map/route-map-without-order-seq/match/as-path/access-list +- native/route-map/route-map-without-order-seq/match/community +- native/route-map/route-map-without-order-seq/match/community/community-list +- native/route-map/route-map-without-order-seq/match/community/name +- native/route-map/route-map-without-order-seq/match/extcommunity +- native/route-map/route-map-without-order-seq/match/extcommunity/extcommunity-list +- native/route-map/route-map-without-order-seq/match/extcommunity/name +- native/route-map/route-map-without-order-seq/match/large-community +- native/route-map/route-map-without-order-seq/match/large-community/exact-match +- native/route-map/route-map-without-order-seq/match/large-community/name +- native/route-map/route-map-without-order-seq/match/local-preference +- native/route-map/route-map-without-order-seq/match/local-preference/values +- native/route-map/route-map-without-order-seq/match/route-type/local +- native/route-map/route-map-without-order-seq/set/as-path +- native/route-map/route-map-without-order-seq/set/as-path/prepend +- native/route-map/route-map-without-order-seq/set/as-path/prepend/as-container +- native/route-map/route-map-without-order-seq/set/as-path/prepend/as-container/as-number +- native/route-map/route-map-without-order-seq/set/as-path/prepend/last-as-cont +- native/route-map/route-map-without-order-seq/set/as-path/prepend/last-as-cont/last-as +- native/route-map/route-map-without-order-seq/set/as-path/replace +- native/route-map/route-map-without-order-seq/set/as-path/replace/any +- native/route-map/route-map-without-order-seq/set/as-path/replace/as-container +- native/route-map/route-map-without-order-seq/set/as-path/replace/as-container/as-number +- native/route-map/route-map-without-order-seq/set/as-path/tag +- native/route-map/route-map-without-order-seq/set/attribute-set +- native/route-map/route-map-without-order-seq/set/comm-list +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-expanded +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-expanded/comm-list-expanded +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-name +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-name/comm-list-name +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-standard +- native/route-map/route-map-without-order-seq/set/comm-list/comm-list-choice/comm-list-standard/comm-list-standard +- native/route-map/route-map-without-order-seq/set/comm-list/delete +- native/route-map/route-map-without-order-seq/set/community +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/community-well-known +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/community-well-known/community-well-known +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/community-well-known/community-well-known/additive +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/community-well-known/community-well-known/community-list +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/none +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice/none/none +- native/route-map/route-map-without-order-seq/set/dampening +- native/route-map/route-map-without-order-seq/set/dampening/dampening-list +- native/route-map/route-map-without-order-seq/set/dampening/dampening-list/half-life-penalty +- native/route-map/route-map-without-order-seq/set/dampening/dampening-list/max-suppress-penalty +- native/route-map/route-map-without-order-seq/set/dampening/dampening-list/restart-penalty +- native/route-map/route-map-without-order-seq/set/dampening/dampening-list/suppress-penalty +- native/route-map/route-map-without-order-seq/set/default/interface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM/ATM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-ACR +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-ACR/ATM-ACR +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-ACRsubinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface/ATM-ACR +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-subinterface/ATM-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/ATM-subinterface/ATM-subinterface/ATM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppGigabitEthernet/AppGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppNav-Compress +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppNav-Compress/AppNav-Compress +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppNav-UnCompress +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/AppNav-UnCompress/AppNav-UnCompress +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Async +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Async/Async +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/BD-VIF +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/BD-VIF/BD-VIF +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/BDI +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/BDI/BDI +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/CEM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/CEM/CEM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/CEM-ACR +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/CEM-ACR/CEM-ACR +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Cellular +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Cellular/Cellular +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Dialer +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Dialer/Dialer +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Embedded-Service-Engine +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Embedded-Service-Engine/Embedded-Service-Engine +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Ethernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Ethernet/Ethernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FastEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FastEthernet/FastEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FiveGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FiveGigabitEthernet/FiveGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FortyGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/FortyGigabitEthernet/FortyGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/GigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/GigabitEthernet/GigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/HundredGigE +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/HundredGigE/HundredGigE +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/LISP +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/LISP/LISP +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/LISP-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/LISP-subinterface/LISP-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/LISP-subinterface/LISP-subinterface/LISP +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Loopback +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Loopback/Loopback +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Multilink +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Multilink/Multilink +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Null +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Null/Null +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Port-channel +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Port-channel/Port-channel +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Port-channel-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface/Port-channel +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/SM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/SM/SM +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Serial +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Serial/Serial +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TenGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TenGigabitEthernet/TenGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Tunnel +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Tunnel/Tunnel +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TwentyFiveGigE +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TwentyFiveGigE/TwentyFiveGigE +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TwoGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/TwoGigabitEthernet/TwoGigabitEthernet +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Virtual-Template +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Virtual-Template/Virtual-Template +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/VirtualPortGroup +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/VirtualPortGroup/VirtualPortGroup +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Vlan +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/Vlan/Vlan +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/nve +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/nve/nve +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/overlay +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/overlay/overlay +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/pseudowire +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/pseudowire/pseudowire +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/vasileft +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/vasileft/vasileft +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/vasiright +- native/route-map/route-map-without-order-seq/set/default/interface/interface-choice/vasiright/vasiright +- native/route-map/route-map-without-order-seq/set/extcomm-list +- native/route-map/route-map-without-order-seq/set/extcomm-list/excomm-list-name +- native/route-map/route-map-without-order-seq/set/extcomm-list/excomm-list-name/delete +- native/route-map/route-map-without-order-seq/set/extcomm-list/excomm-list-name/name +- native/route-map/route-map-without-order-seq/set/extcomm-list/ext-range +- native/route-map/route-map-without-order-seq/set/extcomm-list/ext-range/comm-list-num +- native/route-map/route-map-without-order-seq/set/extcomm-list/ext-range/delete +- native/route-map/route-map-without-order-seq/set/extcommunity +- native/route-map/route-map-without-order-seq/set/extcommunity/color +- native/route-map/route-map-without-order-seq/set/extcommunity/color-additive +- native/route-map/route-map-without-order-seq/set/extcommunity/color-additive/additive +- native/route-map/route-map-without-order-seq/set/extcommunity/color-additive/color +- native/route-map/route-map-without-order-seq/set/extcommunity/cost +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/community-id/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/community-id/cost-value +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/igp +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/igp/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/igp/community-id/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/igp/community-id/cost-value +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/pre-bestpath +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/pre-bestpath/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/pre-bestpath/community-id/community-id +- native/route-map/route-map-without-order-seq/set/extcommunity/cost/pre-bestpath/community-id/cost-value +- native/route-map/route-map-without-order-seq/set/extcommunity/rt +- native/route-map/route-map-without-order-seq/set/extcommunity/rt/asn-nn +- native/route-map/route-map-without-order-seq/set/extcommunity/rt/range +- native/route-map/route-map-without-order-seq/set/extcommunity/rt/range/additive +- native/route-map/route-map-without-order-seq/set/extcommunity/rt/range/high-limit +- native/route-map/route-map-without-order-seq/set/extcommunity/rt/range/lower-limit +- native/route-map/route-map-without-order-seq/set/extcommunity/soo +- native/route-map/route-map-without-order-seq/set/extcommunity/soo/asn-nn +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher/asn-nn +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher/range +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher/range/additive +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher/range/high-limit +- native/route-map/route-map-without-order-seq/set/extcommunity/vpn-distinguisher/range/lower-limit +- native/route-map/route-map-without-order-seq/set/interface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM/ATM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-ACR +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-ACR/ATM-ACR +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-ACRsubinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface/ATM-ACR +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-subinterface/ATM-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/ATM-subinterface/ATM-subinterface/ATM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppGigabitEthernet/AppGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppNav-Compress +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppNav-Compress/AppNav-Compress +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppNav-UnCompress +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/AppNav-UnCompress/AppNav-UnCompress +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Async +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Async/Async +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/BD-VIF +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/BD-VIF/BD-VIF +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/BDI +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/BDI/BDI +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/CEM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/CEM/CEM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/CEM-ACR +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/CEM-ACR/CEM-ACR +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Cellular +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Cellular/Cellular +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Dialer +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Dialer/Dialer +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Embedded-Service-Engine +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Embedded-Service-Engine/Embedded-Service-Engine +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Ethernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Ethernet/Ethernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FastEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FastEthernet/FastEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FiveGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FiveGigabitEthernet/FiveGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FortyGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/FortyGigabitEthernet/FortyGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/GigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/GigabitEthernet/GigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/HundredGigE +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/HundredGigE/HundredGigE +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/LISP +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/LISP/LISP +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/LISP-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/LISP-subinterface/LISP-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/LISP-subinterface/LISP-subinterface/LISP +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Loopback +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Loopback/Loopback +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Multilink +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Multilink/Multilink +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Null +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Null/Null +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Port-channel +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Port-channel/Port-channel +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Port-channel-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Port-channel-subinterface/Port-channel-subinterface/Port-channel +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/SM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/SM/SM +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Serial +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Serial/Serial +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TenGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TenGigabitEthernet/TenGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Tunnel +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Tunnel/Tunnel +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TwentyFiveGigE +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TwentyFiveGigE/TwentyFiveGigE +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TwoGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/TwoGigabitEthernet/TwoGigabitEthernet +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Virtual-Template +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Virtual-Template/Virtual-Template +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/VirtualPortGroup +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/VirtualPortGroup/VirtualPortGroup +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Vlan +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/Vlan/Vlan +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/nve +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/nve/nve +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/overlay +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/overlay/overlay +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/pseudowire +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/pseudowire/pseudowire +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/vasileft +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/vasileft/vasileft +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/vasiright +- native/route-map/route-map-without-order-seq/set/interface/interface-choice/vasiright/vasiright +- native/route-map/route-map-without-order-seq/set/ipv6/default/next-hop/ipv6s +- native/route-map/route-map-without-order-seq/set/ipv6/default/next-hop/ipv6s/ipv6 +- native/route-map/route-map-without-order-seq/set/ipv6/default/next-hop/next-hop-address +- native/route-map/route-map-without-order-seq/set/ipv6/next-hop/nha-ipv6 +- native/route-map/route-map-without-order-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv6 +- native/route-map/route-map-without-order-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60 +- native/route-map/route-map-without-order-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60/nh-ipv6 +- native/route-map/route-map-without-order-seq/set/ipv6/next-hop/nha-ipv6/nha-ipv60/nha-ipv60 +- native/route-map/route-map-without-order-seq/set/large-community +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/large-community-value +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/large-community-value/large-community-value +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/large-community-value/large-community-value/additive +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/large-community-value/large-community-value/large-community-list +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/none +- native/route-map/route-map-without-order-seq/set/large-community/large-community-choice/none/none +- native/route-map/route-map-without-order-seq/set/largecomm-list +- native/route-map/route-map-without-order-seq/set/largecomm-list/delete +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-expanded +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-expanded/largecomm-list-expanded +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-name +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-name/largecomm-list-name +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-standard +- native/route-map/route-map-without-order-seq/set/largecomm-list/largecomm-list-choice/largecomm-list-standard/largecomm-list-standard +- native/route-map/route-map-without-order-seq/set/local-preference +- native/route-map/route-map-without-order-seq/set/nlri +- native/route-map/route-map-without-order-seq/set/nlri/multicast +- native/route-map/route-map-without-order-seq/set/nlri/unicast +- native/route-map/route-map-without-order-seq/set/origin +- native/route-map/route-map-without-order-seq/set/origin/egp +- native/route-map/route-map-without-order-seq/set/origin/origin-value +- native/route-map/route-map-without-order-seq/set/weight + +### Description + +Status changed from depreacted to obsolete + +- native/route-map/route-map-seq/set/community/community-well-known-choice +- native/route-map/route-map-without-order-seq/set/community/community-well-known-choice + +### Description + +Status changed from current to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rsvp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rsvp.md new file mode 100644 index 000000000..d1dca423f --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-rsvp.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-rsvp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-ip-rsvp-grouping(grouping)/rsvp/signalling/refresh/interval + +### Description + +The range is restricted + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sanet.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sanet.md new file mode 100644 index 000000000..50039f39c --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sanet.md @@ -0,0 +1,306 @@ +## Cisco-IOS-XE-sanet.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/AppGigabitEthernet/authentication/event/fail +- native/interface/AppGigabitEthernet/authentication/event/fail/action +- native/interface/AppGigabitEthernet/authentication/event/fail/action/authorize +- native/interface/AppGigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/AppGigabitEthernet/authentication/event/fail/action/next-method +- native/interface/AppGigabitEthernet/authentication/event/fail/retry +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/AppGigabitEthernet/authentication/event/fail/retry/value +- native/interface/AppGigabitEthernet/authentication/order +- native/interface/AppGigabitEthernet/authentication/order/dot1x +- native/interface/AppGigabitEthernet/authentication/order/mab +- native/interface/AppGigabitEthernet/authentication/order/webauth +- native/interface/AppGigabitEthernet/authentication/priority +- native/interface/AppGigabitEthernet/authentication/priority/dot1x +- native/interface/AppGigabitEthernet/authentication/priority/mab +- native/interface/AppGigabitEthernet/authentication/priority/webauth +- native/interface/AppGigabitEthernet/authentication/timer/inactivity/server +- native/interface/AppGigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/AppGigabitEthernet/authentication/timer/inactivity/value +- native/interface/AppGigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/AppGigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/AppGigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/AppGigabitEthernet/authentication/timer/reauthenticate/value +- native/interface/FastEthernet/authentication/event/fail +- native/interface/FastEthernet/authentication/event/fail/action +- native/interface/FastEthernet/authentication/event/fail/action/authorize +- native/interface/FastEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/FastEthernet/authentication/event/fail/action/next-method +- native/interface/FastEthernet/authentication/event/fail/retry +- native/interface/FastEthernet/authentication/event/fail/retry/action +- native/interface/FastEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/FastEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/FastEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/FastEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/FastEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/FastEthernet/authentication/event/fail/retry/value +- native/interface/FastEthernet/authentication/order +- native/interface/FastEthernet/authentication/order/dot1x +- native/interface/FastEthernet/authentication/order/mab +- native/interface/FastEthernet/authentication/order/webauth +- native/interface/FastEthernet/authentication/priority +- native/interface/FastEthernet/authentication/priority/dot1x +- native/interface/FastEthernet/authentication/priority/mab +- native/interface/FastEthernet/authentication/priority/webauth +- native/interface/FastEthernet/authentication/timer/inactivity/server +- native/interface/FastEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/FastEthernet/authentication/timer/inactivity/value +- native/interface/FastEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/FastEthernet/authentication/timer/inactivity/value/value +- native/interface/FastEthernet/authentication/timer/reauthenticate/server +- native/interface/FastEthernet/authentication/timer/reauthenticate/value +- native/interface/FiveGigabitEthernet/authentication/event/fail +- native/interface/FiveGigabitEthernet/authentication/event/fail/action +- native/interface/FiveGigabitEthernet/authentication/event/fail/action/authorize +- native/interface/FiveGigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/FiveGigabitEthernet/authentication/event/fail/action/next-method +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/FiveGigabitEthernet/authentication/event/fail/retry/value +- native/interface/FiveGigabitEthernet/authentication/order +- native/interface/FiveGigabitEthernet/authentication/order/dot1x +- native/interface/FiveGigabitEthernet/authentication/order/mab +- native/interface/FiveGigabitEthernet/authentication/order/webauth +- native/interface/FiveGigabitEthernet/authentication/priority +- native/interface/FiveGigabitEthernet/authentication/priority/dot1x +- native/interface/FiveGigabitEthernet/authentication/priority/mab +- native/interface/FiveGigabitEthernet/authentication/priority/webauth +- native/interface/FiveGigabitEthernet/authentication/timer/inactivity/server +- native/interface/FiveGigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/FiveGigabitEthernet/authentication/timer/inactivity/value +- native/interface/FiveGigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/FiveGigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/FiveGigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/FiveGigabitEthernet/authentication/timer/reauthenticate/value +- native/interface/FortyGigabitEthernet/authentication/event/fail +- native/interface/FortyGigabitEthernet/authentication/event/fail/action +- native/interface/FortyGigabitEthernet/authentication/event/fail/action/authorize +- native/interface/FortyGigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/FortyGigabitEthernet/authentication/event/fail/action/next-method +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/FortyGigabitEthernet/authentication/event/fail/retry/value +- native/interface/FortyGigabitEthernet/authentication/order +- native/interface/FortyGigabitEthernet/authentication/order/dot1x +- native/interface/FortyGigabitEthernet/authentication/order/mab +- native/interface/FortyGigabitEthernet/authentication/order/webauth +- native/interface/FortyGigabitEthernet/authentication/priority +- native/interface/FortyGigabitEthernet/authentication/priority/dot1x +- native/interface/FortyGigabitEthernet/authentication/priority/mab +- native/interface/FortyGigabitEthernet/authentication/priority/webauth +- native/interface/FortyGigabitEthernet/authentication/timer/inactivity/server +- native/interface/FortyGigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/FortyGigabitEthernet/authentication/timer/inactivity/value +- native/interface/FortyGigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/FortyGigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/FortyGigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/FortyGigabitEthernet/authentication/timer/reauthenticate/value +- native/interface/GigabitEthernet/authentication/event/fail +- native/interface/GigabitEthernet/authentication/event/fail/action +- native/interface/GigabitEthernet/authentication/event/fail/action/authorize +- native/interface/GigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/GigabitEthernet/authentication/event/fail/action/next-method +- native/interface/GigabitEthernet/authentication/event/fail/retry +- native/interface/GigabitEthernet/authentication/event/fail/retry/action +- native/interface/GigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/GigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/GigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/GigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/GigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/GigabitEthernet/authentication/event/fail/retry/value +- native/interface/GigabitEthernet/authentication/order +- native/interface/GigabitEthernet/authentication/order/dot1x +- native/interface/GigabitEthernet/authentication/order/mab +- native/interface/GigabitEthernet/authentication/order/webauth +- native/interface/GigabitEthernet/authentication/priority +- native/interface/GigabitEthernet/authentication/priority/dot1x +- native/interface/GigabitEthernet/authentication/priority/mab +- native/interface/GigabitEthernet/authentication/priority/webauth +- native/interface/GigabitEthernet/authentication/timer/inactivity/server +- native/interface/GigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/GigabitEthernet/authentication/timer/inactivity/value +- native/interface/GigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/GigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/GigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/GigabitEthernet/authentication/timer/reauthenticate/value +- native/interface/HundredGigE/authentication/event/fail +- native/interface/HundredGigE/authentication/event/fail/action +- native/interface/HundredGigE/authentication/event/fail/action/authorize +- native/interface/HundredGigE/authentication/event/fail/action/authorize/vlan +- native/interface/HundredGigE/authentication/event/fail/action/next-method +- native/interface/HundredGigE/authentication/event/fail/retry +- native/interface/HundredGigE/authentication/event/fail/retry/action +- native/interface/HundredGigE/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/HundredGigE/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/HundredGigE/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/HundredGigE/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/HundredGigE/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/HundredGigE/authentication/event/fail/retry/value +- native/interface/HundredGigE/authentication/order +- native/interface/HundredGigE/authentication/order/dot1x +- native/interface/HundredGigE/authentication/order/mab +- native/interface/HundredGigE/authentication/order/webauth +- native/interface/HundredGigE/authentication/priority +- native/interface/HundredGigE/authentication/priority/dot1x +- native/interface/HundredGigE/authentication/priority/mab +- native/interface/HundredGigE/authentication/priority/webauth +- native/interface/HundredGigE/authentication/timer/inactivity/server +- native/interface/HundredGigE/authentication/timer/inactivity/server/dynamic +- native/interface/HundredGigE/authentication/timer/inactivity/value +- native/interface/HundredGigE/authentication/timer/inactivity/value/dynamic +- native/interface/HundredGigE/authentication/timer/inactivity/value/value +- native/interface/HundredGigE/authentication/timer/reauthenticate/server +- native/interface/HundredGigE/authentication/timer/reauthenticate/value +- native/interface/Port-channel/authentication/event/fail +- native/interface/Port-channel/authentication/event/fail/action +- native/interface/Port-channel/authentication/event/fail/action/authorize +- native/interface/Port-channel/authentication/event/fail/action/authorize/vlan +- native/interface/Port-channel/authentication/event/fail/action/next-method +- native/interface/Port-channel/authentication/event/fail/retry +- native/interface/Port-channel/authentication/event/fail/retry/action +- native/interface/Port-channel/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/Port-channel/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/Port-channel/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/Port-channel/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/Port-channel/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/Port-channel/authentication/event/fail/retry/value +- native/interface/Port-channel/authentication/order +- native/interface/Port-channel/authentication/order/dot1x +- native/interface/Port-channel/authentication/order/mab +- native/interface/Port-channel/authentication/order/webauth +- native/interface/Port-channel/authentication/priority +- native/interface/Port-channel/authentication/priority/dot1x +- native/interface/Port-channel/authentication/priority/mab +- native/interface/Port-channel/authentication/priority/webauth +- native/interface/Port-channel/authentication/timer/inactivity/server +- native/interface/Port-channel/authentication/timer/inactivity/server/dynamic +- native/interface/Port-channel/authentication/timer/inactivity/value +- native/interface/Port-channel/authentication/timer/inactivity/value/dynamic +- native/interface/Port-channel/authentication/timer/inactivity/value/value +- native/interface/Port-channel/authentication/timer/reauthenticate/server +- native/interface/Port-channel/authentication/timer/reauthenticate/value +- native/interface/TenGigabitEthernet/authentication/event/fail +- native/interface/TenGigabitEthernet/authentication/event/fail/action +- native/interface/TenGigabitEthernet/authentication/event/fail/action/authorize +- native/interface/TenGigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/TenGigabitEthernet/authentication/event/fail/action/next-method +- native/interface/TenGigabitEthernet/authentication/event/fail/retry +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/TenGigabitEthernet/authentication/event/fail/retry/value +- native/interface/TenGigabitEthernet/authentication/order +- native/interface/TenGigabitEthernet/authentication/order/dot1x +- native/interface/TenGigabitEthernet/authentication/order/mab +- native/interface/TenGigabitEthernet/authentication/order/webauth +- native/interface/TenGigabitEthernet/authentication/priority +- native/interface/TenGigabitEthernet/authentication/priority/dot1x +- native/interface/TenGigabitEthernet/authentication/priority/mab +- native/interface/TenGigabitEthernet/authentication/priority/webauth +- native/interface/TenGigabitEthernet/authentication/timer/inactivity/server +- native/interface/TenGigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/TenGigabitEthernet/authentication/timer/inactivity/value +- native/interface/TenGigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/TenGigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/TenGigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/TenGigabitEthernet/authentication/timer/reauthenticate/value +- native/interface/TwentyFiveGigE/authentication/event/fail +- native/interface/TwentyFiveGigE/authentication/event/fail/action +- native/interface/TwentyFiveGigE/authentication/event/fail/action/authorize +- native/interface/TwentyFiveGigE/authentication/event/fail/action/authorize/vlan +- native/interface/TwentyFiveGigE/authentication/event/fail/action/next-method +- native/interface/TwentyFiveGigE/authentication/event/fail/retry +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/TwentyFiveGigE/authentication/event/fail/retry/value +- native/interface/TwentyFiveGigE/authentication/order +- native/interface/TwentyFiveGigE/authentication/order/dot1x +- native/interface/TwentyFiveGigE/authentication/order/mab +- native/interface/TwentyFiveGigE/authentication/order/webauth +- native/interface/TwentyFiveGigE/authentication/priority +- native/interface/TwentyFiveGigE/authentication/priority/dot1x +- native/interface/TwentyFiveGigE/authentication/priority/mab +- native/interface/TwentyFiveGigE/authentication/priority/webauth +- native/interface/TwentyFiveGigE/authentication/timer/inactivity/server +- native/interface/TwentyFiveGigE/authentication/timer/inactivity/server/dynamic +- native/interface/TwentyFiveGigE/authentication/timer/inactivity/value +- native/interface/TwentyFiveGigE/authentication/timer/inactivity/value/dynamic +- native/interface/TwentyFiveGigE/authentication/timer/inactivity/value/value +- native/interface/TwentyFiveGigE/authentication/timer/reauthenticate/server +- native/interface/TwentyFiveGigE/authentication/timer/reauthenticate/value +- native/interface/TwoGigabitEthernet/authentication/event/fail +- native/interface/TwoGigabitEthernet/authentication/event/fail/action +- native/interface/TwoGigabitEthernet/authentication/event/fail/action/authorize +- native/interface/TwoGigabitEthernet/authentication/event/fail/action/authorize/vlan +- native/interface/TwoGigabitEthernet/authentication/event/fail/action/next-method +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action/retry-action/authorize/authorize/vlan +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/action/retry-action/next-method/next-method +- native/interface/TwoGigabitEthernet/authentication/event/fail/retry/value +- native/interface/TwoGigabitEthernet/authentication/order +- native/interface/TwoGigabitEthernet/authentication/order/dot1x +- native/interface/TwoGigabitEthernet/authentication/order/mab +- native/interface/TwoGigabitEthernet/authentication/order/webauth +- native/interface/TwoGigabitEthernet/authentication/priority +- native/interface/TwoGigabitEthernet/authentication/priority/dot1x +- native/interface/TwoGigabitEthernet/authentication/priority/mab +- native/interface/TwoGigabitEthernet/authentication/priority/webauth +- native/interface/TwoGigabitEthernet/authentication/timer/inactivity/server +- native/interface/TwoGigabitEthernet/authentication/timer/inactivity/server/dynamic +- native/interface/TwoGigabitEthernet/authentication/timer/inactivity/value +- native/interface/TwoGigabitEthernet/authentication/timer/inactivity/value/dynamic +- native/interface/TwoGigabitEthernet/authentication/timer/inactivity/value/value +- native/interface/TwoGigabitEthernet/authentication/timer/reauthenticate/server +- native/interface/TwoGigabitEthernet/authentication/timer/reauthenticate/value + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-segment-routing.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-segment-routing.md new file mode 100644 index 000000000..328ef79fb --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-segment-routing.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-segment-routing.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/segment-routing/srv6/explicit-sids/sid/behavior/forwarding + +### Description + +A new when expression added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sisf.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sisf.md new file mode 100644 index 000000000..732110a4c --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-sisf.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-sisf.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- config-ipv6-dhcp-guard-grouping(grouping)/guard/attach-policy/policy-list/policy-name + +### Description + +Must expression more restricted than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-snmp.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-snmp.md new file mode 100644 index 000000000..16f0e6fea --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-snmp.md @@ -0,0 +1,41 @@ +## Cisco-IOS-XE-snmp.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/snmp-server/file-transfer/access-group +- native/snmp-server/file-transfer/access-group/access-group-name + +### Description + +Status changed from current to obsolete + +- native/snmp-server/enable/enable-choice/traps/bgp +- native/snmp-server/enable/enable-choice/traps/bgp-traps +- native/snmp-server/enable/enable-choice/traps/bgp-traps/cbgp2 +- native/snmp-server/enable/enable-choice/traps/bgp-traps/state-changes +- native/snmp-server/enable/enable-choice/traps/bgp-traps/state-changes/enable-all-traps +- native/snmp-server/enable/enable-choice/traps/bgp-traps/state-changes/suboptions +- native/snmp-server/enable/enable-choice/traps/bgp-traps/threshold +- native/snmp-server/enable/enable-choice/traps/bgp-traps/threshold/prefix + +### Description + +Status changed from deprecated to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-switch.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-switch.md new file mode 100644 index 000000000..4eb161c0c --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-switch.md @@ -0,0 +1,399 @@ +## Cisco-IOS-XE-switch.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/interface/AppGigabitEthernet/datalink/flow/monitor +- native/interface/AppGigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/AppGigabitEthernet/datalink/flow/monitor/input-output +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/FastEthernet/datalink/flow/monitor +- native/interface/FastEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/FastEthernet/datalink/flow/monitor/input-output +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/FiveGigabitEthernet/datalink/flow/monitor +- native/interface/FiveGigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/FiveGigabitEthernet/datalink/flow/monitor/input-output +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/FortyGigabitEthernet/datalink/flow/monitor +- native/interface/FortyGigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/FortyGigabitEthernet/datalink/flow/monitor/input-output +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/GigabitEthernet/datalink/flow/monitor +- native/interface/GigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/GigabitEthernet/datalink/flow/monitor/input-output +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/HundredGigE/datalink/flow/monitor +- native/interface/HundredGigE/datalink/flow/monitor/User-defined-flow +- native/interface/HundredGigE/datalink/flow/monitor/input-output +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/Port-channel/datalink/flow/monitor +- native/interface/Port-channel/datalink/flow/monitor/User-defined-flow +- native/interface/Port-channel/datalink/flow/monitor/input-output +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/Port-channel-subinterface/Port-channel/datalink/flow/monitor +- native/interface/Port-channel-subinterface/Port-channel/datalink/flow/monitor/User-defined-flow +- native/interface/Port-channel-subinterface/Port-channel/datalink/flow/monitor/input-output +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/TenGigabitEthernet/datalink/flow/monitor +- native/interface/TenGigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/TenGigabitEthernet/datalink/flow/monitor/input-output +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/TwentyFiveGigE/datalink/flow/monitor +- native/interface/TwentyFiveGigE/datalink/flow/monitor/User-defined-flow +- native/interface/TwentyFiveGigE/datalink/flow/monitor/input-output +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/TwoGigabitEthernet/datalink/flow/monitor +- native/interface/TwoGigabitEthernet/datalink/flow/monitor/User-defined-flow +- native/interface/TwoGigabitEthernet/datalink/flow/monitor/input-output +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/maxcount/vlan +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/maxcount/vlan + +### Description + +Status changed from current to obsolete. + +- native/boot/system/switch/all/flash +- native/device/classifier +- native/device/config-classifier-condition-devtype +- native/device/config-classifier-condition-devtype/condition +- native/device/config-classifier-condition-devtype/condition/CDP +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type/tlv-type-number +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type/value +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type/value/Integer +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type/value/Regex +- native/device/config-classifier-condition-devtype/condition/CDP/tlv-type/value/String +- native/device/config-classifier-condition-devtype/condition/DHCP +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type/tlv-type-number +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type/value +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type/value/Integer +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type/value/Regex +- native/device/config-classifier-condition-devtype/condition/DHCP/tlv-type/value/String +- native/device/config-classifier-condition-devtype/condition/LLDP +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type/tlv-type-number +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type/value +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type/value/Integer +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type/value/Regex +- native/device/config-classifier-condition-devtype/condition/LLDP/tlv-type/value/String +- native/device/config-classifier-condition-devtype/condition/name +- native/device/config-classifier-condition-devtype/condition/op +- native/device/config-classifier-condition-devtype/device-type +- native/device/config-classifier-condition-devtype/device-type/condition +- native/device/config-classifier-condition-devtype/device-type/name +- native/interface/AppGigabitEthernet/device-tracking/attach-policy +- native/interface/AppGigabitEthernet/switchport/port-security +- native/interface/AppGigabitEthernet/switchport/port-security/aging +- native/interface/AppGigabitEthernet/switchport/port-security/aging/static +- native/interface/AppGigabitEthernet/switchport/port-security/aging/time +- native/interface/AppGigabitEthernet/switchport/port-security/aging/type +- native/interface/AppGigabitEthernet/switchport/port-security/mac-address +- native/interface/AppGigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/AppGigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/AppGigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/AppGigabitEthernet/switchport/port-security/maximum +- native/interface/AppGigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/AppGigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/AppGigabitEthernet/switchport/port-security/violation +- native/interface/AppGigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/Ethernet-Internal/switchport/port-security +- native/interface/Ethernet-Internal/switchport/port-security/aging +- native/interface/Ethernet-Internal/switchport/port-security/aging/static +- native/interface/Ethernet-Internal/switchport/port-security/aging/time +- native/interface/Ethernet-Internal/switchport/port-security/aging/type +- native/interface/Ethernet-Internal/switchport/port-security/mac-address +- native/interface/Ethernet-Internal/switchport/port-security/mac-address/hw-address +- native/interface/Ethernet-Internal/switchport/port-security/mac-address/sticky +- native/interface/Ethernet-Internal/switchport/port-security/mac-address/vlan +- native/interface/Ethernet-Internal/switchport/port-security/maximum +- native/interface/Ethernet-Internal/switchport/port-security/maximum/max-addresses +- native/interface/Ethernet-Internal/switchport/port-security/maximum/vlan +- native/interface/Ethernet-Internal/switchport/port-security/violation +- native/interface/Ethernet-Internal/switchport/trunk/native/vlan-config/tag +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/FastEthernet/device-tracking/attach-policy +- native/interface/FastEthernet/switchport/port-security +- native/interface/FastEthernet/switchport/port-security/aging +- native/interface/FastEthernet/switchport/port-security/aging/static +- native/interface/FastEthernet/switchport/port-security/aging/time +- native/interface/FastEthernet/switchport/port-security/aging/type +- native/interface/FastEthernet/switchport/port-security/mac-address +- native/interface/FastEthernet/switchport/port-security/mac-address/hw-address +- native/interface/FastEthernet/switchport/port-security/mac-address/sticky +- native/interface/FastEthernet/switchport/port-security/mac-address/vlan +- native/interface/FastEthernet/switchport/port-security/maximum +- native/interface/FastEthernet/switchport/port-security/maximum/max-addresses +- native/interface/FastEthernet/switchport/port-security/maximum/vlan +- native/interface/FastEthernet/switchport/port-security/violation +- native/interface/FastEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/FiveGigabitEthernet/device-tracking/attach-policy +- native/interface/FiveGigabitEthernet/switchport/port-security +- native/interface/FiveGigabitEthernet/switchport/port-security/aging +- native/interface/FiveGigabitEthernet/switchport/port-security/aging/static +- native/interface/FiveGigabitEthernet/switchport/port-security/aging/time +- native/interface/FiveGigabitEthernet/switchport/port-security/aging/type +- native/interface/FiveGigabitEthernet/switchport/port-security/mac-address +- native/interface/FiveGigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/FiveGigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/FiveGigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/FiveGigabitEthernet/switchport/port-security/maximum +- native/interface/FiveGigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/FiveGigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/FiveGigabitEthernet/switchport/port-security/violation +- native/interface/FiveGigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/FortyGigabitEthernet/device-tracking/attach-policy +- native/interface/FortyGigabitEthernet/switchport/port-security +- native/interface/FortyGigabitEthernet/switchport/port-security/aging +- native/interface/FortyGigabitEthernet/switchport/port-security/aging/static +- native/interface/FortyGigabitEthernet/switchport/port-security/aging/time +- native/interface/FortyGigabitEthernet/switchport/port-security/aging/type +- native/interface/FortyGigabitEthernet/switchport/port-security/mac-address +- native/interface/FortyGigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/FortyGigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/FortyGigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/FortyGigabitEthernet/switchport/port-security/maximum +- native/interface/FortyGigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/FortyGigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/FortyGigabitEthernet/switchport/port-security/violation +- native/interface/FortyGigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/GigabitEthernet/device-tracking/attach-policy +- native/interface/GigabitEthernet/switchport/port-security +- native/interface/GigabitEthernet/switchport/port-security/aging +- native/interface/GigabitEthernet/switchport/port-security/aging/static +- native/interface/GigabitEthernet/switchport/port-security/aging/time +- native/interface/GigabitEthernet/switchport/port-security/aging/type +- native/interface/GigabitEthernet/switchport/port-security/mac-address +- native/interface/GigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/GigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/GigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/GigabitEthernet/switchport/port-security/maximum +- native/interface/GigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/GigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/GigabitEthernet/switchport/port-security/violation +- native/interface/GigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/HundredGigE/device-tracking/attach-policy +- native/interface/HundredGigE/switchport/port-security +- native/interface/HundredGigE/switchport/port-security/aging +- native/interface/HundredGigE/switchport/port-security/aging/static +- native/interface/HundredGigE/switchport/port-security/aging/time +- native/interface/HundredGigE/switchport/port-security/aging/type +- native/interface/HundredGigE/switchport/port-security/mac-address +- native/interface/HundredGigE/switchport/port-security/mac-address/hw-address +- native/interface/HundredGigE/switchport/port-security/mac-address/sticky +- native/interface/HundredGigE/switchport/port-security/mac-address/vlan +- native/interface/HundredGigE/switchport/port-security/maximum +- native/interface/HundredGigE/switchport/port-security/maximum/max-addresses +- native/interface/HundredGigE/switchport/port-security/maximum/vlan +- native/interface/HundredGigE/switchport/port-security/violation +- native/interface/HundredGigE/switchport/trunk/native/vlan-config/tag +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/Port-channel/device-tracking/attach-policy +- native/interface/Port-channel/switchport/port-security +- native/interface/Port-channel/switchport/port-security/aging +- native/interface/Port-channel/switchport/port-security/aging/static +- native/interface/Port-channel/switchport/port-security/aging/time +- native/interface/Port-channel/switchport/port-security/aging/type +- native/interface/Port-channel/switchport/port-security/mac-address +- native/interface/Port-channel/switchport/port-security/mac-address/hw-address +- native/interface/Port-channel/switchport/port-security/mac-address/sticky +- native/interface/Port-channel/switchport/port-security/mac-address/vlan +- native/interface/Port-channel/switchport/port-security/maximum +- native/interface/Port-channel/switchport/port-security/maximum/max-addresses +- native/interface/Port-channel/switchport/port-security/maximum/vlan +- native/interface/Port-channel/switchport/port-security/violation +- native/interface/Port-channel/switchport/trunk/native/vlan-config/tag +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/aging +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/aging/static +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/aging/time +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/aging/type +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/mac-address +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/mac-address/hw-address +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/mac-address/sticky +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/mac-address/vlan +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/maximum +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/maximum/max-addresses +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/maximum/vlan +- native/interface/Port-channel-subinterface/Port-channel/switchport/port-security/violation +- native/interface/Port-channel-subinterface/Port-channel/switchport/trunk/native/vlan-config/tag +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/TenGigabitEthernet/device-tracking/attach-policy +- native/interface/TenGigabitEthernet/switchport/port-security +- native/interface/TenGigabitEthernet/switchport/port-security/aging +- native/interface/TenGigabitEthernet/switchport/port-security/aging/static +- native/interface/TenGigabitEthernet/switchport/port-security/aging/time +- native/interface/TenGigabitEthernet/switchport/port-security/aging/type +- native/interface/TenGigabitEthernet/switchport/port-security/mac-address +- native/interface/TenGigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/TenGigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/TenGigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/TenGigabitEthernet/switchport/port-security/maximum +- native/interface/TenGigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/TenGigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/TenGigabitEthernet/switchport/port-security/violation +- native/interface/TenGigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/TwentyFiveGigE/device-tracking/attach-policy +- native/interface/TwentyFiveGigE/switchport/port-security +- native/interface/TwentyFiveGigE/switchport/port-security/aging +- native/interface/TwentyFiveGigE/switchport/port-security/aging/static +- native/interface/TwentyFiveGigE/switchport/port-security/aging/time +- native/interface/TwentyFiveGigE/switchport/port-security/aging/type +- native/interface/TwentyFiveGigE/switchport/port-security/mac-address +- native/interface/TwentyFiveGigE/switchport/port-security/mac-address/hw-address +- native/interface/TwentyFiveGigE/switchport/port-security/mac-address/sticky +- native/interface/TwentyFiveGigE/switchport/port-security/mac-address/vlan +- native/interface/TwentyFiveGigE/switchport/port-security/maximum +- native/interface/TwentyFiveGigE/switchport/port-security/maximum/max-addresses +- native/interface/TwentyFiveGigE/switchport/port-security/maximum/vlan +- native/interface/TwentyFiveGigE/switchport/port-security/violation +- native/interface/TwentyFiveGigE/switchport/trunk/native/vlan-config/tag +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/TwoGigabitEthernet/device-tracking/attach-policy +- native/interface/TwoGigabitEthernet/switchport/port-security +- native/interface/TwoGigabitEthernet/switchport/port-security/aging +- native/interface/TwoGigabitEthernet/switchport/port-security/aging/static +- native/interface/TwoGigabitEthernet/switchport/port-security/aging/time +- native/interface/TwoGigabitEthernet/switchport/port-security/aging/type +- native/interface/TwoGigabitEthernet/switchport/port-security/mac-address +- native/interface/TwoGigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/TwoGigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/TwoGigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/TwoGigabitEthernet/switchport/port-security/maximum +- native/interface/TwoGigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/TwoGigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/TwoGigabitEthernet/switchport/port-security/violation +- native/interface/TwoGigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/Wlan-GigabitEthernet/switchport/port-security +- native/interface/Wlan-GigabitEthernet/switchport/port-security/aging +- native/interface/Wlan-GigabitEthernet/switchport/port-security/aging/static +- native/interface/Wlan-GigabitEthernet/switchport/port-security/aging/time +- native/interface/Wlan-GigabitEthernet/switchport/port-security/aging/type +- native/interface/Wlan-GigabitEthernet/switchport/port-security/mac-address +- native/interface/Wlan-GigabitEthernet/switchport/port-security/mac-address/hw-address +- native/interface/Wlan-GigabitEthernet/switchport/port-security/mac-address/sticky +- native/interface/Wlan-GigabitEthernet/switchport/port-security/mac-address/vlan +- native/interface/Wlan-GigabitEthernet/switchport/port-security/maximum +- native/interface/Wlan-GigabitEthernet/switchport/port-security/maximum/max-addresses +- native/interface/Wlan-GigabitEthernet/switchport/port-security/maximum/vlan +- native/interface/Wlan-GigabitEthernet/switchport/port-security/violation +- native/interface/Wlan-GigabitEthernet/switchport/trunk/native/vlan-config/tag +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/interface/ucse/switchport/port-security +- native/interface/ucse/switchport/port-security/aging +- native/interface/ucse/switchport/port-security/aging/static +- native/interface/ucse/switchport/port-security/aging/time +- native/interface/ucse/switchport/port-security/aging/type +- native/interface/ucse/switchport/port-security/mac-address +- native/interface/ucse/switchport/port-security/mac-address/hw-address +- native/interface/ucse/switchport/port-security/mac-address/sticky +- native/interface/ucse/switchport/port-security/mac-address/vlan +- native/interface/ucse/switchport/port-security/maximum +- native/interface/ucse/switchport/port-security/maximum/max-addresses +- native/interface/ucse/switchport/port-security/maximum/vlan +- native/interface/ucse/switchport/port-security/violation +- native/interface/ucse/switchport/trunk/native/vlan-config/tag +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/mac-address +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/mac-address/hw-address +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/mac-address/sticky +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/mac-address/vlan +- native/service-template/access-group +- native/service-template/tag + +### Description + +Status changed from depreacted to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/interface/AppGigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/AppGigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/Ethernet-Internal/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/FastEthernet/device-tracking/attached-policies/attach-policy +- native/interface/FastEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/FiveGigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/FiveGigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/FortyGigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/FortyGigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/GigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/GigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/HundredGigE/device-tracking/attached-policies/attach-policy +- native/interface/HundredGigE/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/Port-channel/device-tracking/attached-policies/attach-policy +- native/interface/Port-channel/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/Port-channel-subinterface/Port-channel/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/TenGigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/TenGigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/TwentyFiveGigE/device-tracking/attached-policies/attach-policy +- native/interface/TwentyFiveGigE/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/TwoGigabitEthernet/device-tracking/attached-policies/attach-policy +- native/interface/TwoGigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/Wlan-GigabitEthernet/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist +- native/interface/ucse/switchport-config/switchport/port-security-config/port-security/allowlist-on/allowlist + +### Description + +Must expression more constrained than before + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-template.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-template.md new file mode 100644 index 000000000..add01aba2 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-template.md @@ -0,0 +1,38 @@ +## Cisco-IOS-XE-template.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/template/AP_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/DMP_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/IP_CAMERA_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/IP_PHONE_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/LAP_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/MSP_CAMERA_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/MSP_VC_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/PRINTER_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/ROUTER_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/SWITCH_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/TP_INTERFACE_TEMPLATE/ipv6/dhcp/guard/attach-policy/policy-list/policy-name +- native/template/template_details/ipv6/dhcp/guard/attach-policy/policy-list/policy-name + +### Description + +Must expression more constrained than before + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-vlan.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-vlan.md new file mode 100644 index 000000000..8c8e3006a --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-vlan.md @@ -0,0 +1,36 @@ +## Cisco-IOS-XE-vlan.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- native/vlan/group +- native/vlan/vlan-list/id + +### Description + +A new must expression added. + +- native/vlan/configuration-entry/device-tracking/attach-policy +- native/vlan/configuration-entry/ipv6/nd/raguard/attach-policy +- native/vlan/vlan-list/name + +### Description + +This must expression may be more constrained than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-voice.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-voice.md new file mode 100644 index 000000000..5d6abb91d --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-voice.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-voice.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- native/dial-peer/voice/voice-class/sip/options-keepalive/profile + +### Description + +Status changed from deprecated to obsolete. + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-cfg.md new file mode 100644 index 000000000..5b8ac5fb9 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-cfg.md @@ -0,0 +1,30 @@ +## Cisco-IOS-XE-wireless-ap-cfg.ynag + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- ap-cfg-data/ap-filter-priority-cfg-entries/ap-filter-priority-cfg-entry/filter-name +- ap-cfg-data/ap-filter-priority-cfg-entries/ap-filter-priority-cfg-entry/priority +- ap-cfg-data/ap-rule-priority-cfg-entries/ap-rule-priority-cfg-entry/filter-name +- ap-cfg-data/ap-rule-priority-cfg-entries/ap-rule-priority-cfg-entry/priority + +### Description + +New must expression added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-types.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-types.md new file mode 100644 index 000000000..7281e9c66 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-ap-types.md @@ -0,0 +1,33 @@ +## Cisco-IOS-XE-wireless-ap-types.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- st-capwap-timer-cfg(grouping)/primed-join-timeout + +### Description + +A new must expression added. + +st-login-credentials-cfg(grouping)/dot1x-password + +### Description + +Must expression more constrained than before + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-dot11.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-dot11.md new file mode 100644 index 000000000..22f05ef2e --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-dot11.md @@ -0,0 +1,29 @@ +## Cisco-IOS-XE-wireless-dot11.cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- dot11(grouping)/dot11h-cfg/channel-switch-enable +- dot11-cfg-data/dot11-entries/dot11-entry(list)/dot11h-cfg/channel-switch-enable +- dot11h-config(grouping)/channel-switch-enable + +### Description + +Status changed from current to obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-general-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-general-cfg.md new file mode 100644 index 000000000..995f11c54 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-general-cfg.md @@ -0,0 +1,30 @@ +## Cisco-IOS-XE-wireless-general-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +- ap-dna-global-config(grouping)/token +- ap-dna-global-config(grouping)/token-type +- general-cfg-data/ap-dna-global-config/token +- general-cfg-data/ap-dna-global-config/token-type + +### Description + +Status changed from current to Obsolete + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mesh-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mesh-cfg.md new file mode 100644 index 000000000..9b78094e2 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mesh-cfg.md @@ -0,0 +1,27 @@ +## Cisco-IOS-XE-wireless-mesh-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- st-mesh-profile(grouping)/profile-name + +### Description + +New length expression 0..32 added. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mstream-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mstream-cfg.md new file mode 100644 index 000000000..ca76da4e7 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-mstream-cfg.md @@ -0,0 +1,40 @@ +## Cisco-IOS-XE-wirless-mstream-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- mstream-cfg-data/mstream-groups/mstream-group/end-ip-addr +- mstream-cfg-data/mstream-groups/mstream-group/start-ip-addr +- mstreamgrp(grouping)/end-ip-addr +- mstreamgrp(grouping)/start-ip-addr + +### Description + +A new must expression added. + +- mstreamglob(grouping)/email(leaf) +- mstreamglob(grouping)/phone(leaf) +- mstreamglob(grouping)/url(leaf) + +### Description + +- New pattern expression '[A-Za-z0-9@._-]*' added +- New pattern expression '([0-9]+(-[0-9]+)*)?' added +- New pattern expression '[A-Za-z0-9@.:/?=%,&-]*' added + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-rrm-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-rrm-cfg.md new file mode 100644 index 000000000..8e03d6492 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-rrm-cfg.md @@ -0,0 +1,29 @@ +## Cisco-IOS-XE-wireless-rrm-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- rrm-cfg(grouping)/rrm/dca-long-interval +- rrm-cfg-data/rrms/rrm/rrm/dca-long-interval +- rrm-rrm-config(grouping)/dca-long-interval + +### Description + +Must expression more constrained than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-site-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-site-cfg.md new file mode 100644 index 000000000..0976816c5 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-site-cfg.md @@ -0,0 +1,35 @@ +## Cisco-IOS-XE-wireless-site-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- ap-cfg-profile(grouping)/capwap-timer/primed-join-timeout +- site-cfg-data/ap-cfg-profiles/ap-cfg-profile/capwap-timer/primed-join-timeout + +### Description + +New must expression cannot be added. + +- ap-cfg-profile(grouping)/login-credentials/dot1x-password +- site-cfg-data/ap-cfg-profiles/ap-cfg-profile/login-credentials/dot1x-password + +### Description + +Must expression more constrained than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-wlan-cfg.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-wlan-cfg.md new file mode 100644 index 000000000..f76ee3593 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE-wireless-wlan-cfg.md @@ -0,0 +1,79 @@ +## Cisco-IOS-XE-wireless-wlan-cfg.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +- wlan-data-config-file(grouping)/ssid +- wlan-profile(grouping)/profile-name + +### Description + +A new length statement 0..32 added + +- st-wlan-policies(grouping)/wlan-switching-policy/override-nat-pat +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/max-clients-allowed +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/multicast-buffer-value +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/psk-key-type +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/rsn-cipher-suite-ccmp256 +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/rsn-cipher-suite-gcmp128 +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/rsn-cipher-suite-gcmp256 +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/wep-key +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/wep-key-index +- wlan-cfg-data/wlan-policies/wlan-policy/wlan-switching-policy/override-nat-pat +- wlan-profile(grouping)/max-clients-allowed +- wlan-profile(grouping)/multicast-buffer-value +- wlan-profile(grouping)/psk-key-type +- wlan-profile(grouping)/rsn-cipher-suite-ccmp256 +- wlan-profile(grouping)/rsn-cipher-suite-gcmp128 +- wlan-profile(grouping)/rsn-cipher-suite-gcmp256 +- wlan-profile(grouping)/wep-key +- wlan-profile(grouping)/wep-key-index +- wlan-switching-policy(grouping)/override-nat-pat + +### Description + +New must expression added. + +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/akm-owe +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/apf-vap-id-data/wlan-status +- wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry/transition-mode-wlan-id +- wlan-data-config-file(grouping)/wlan-status +- wlan-data-config-file(grouping)/wlan-status +- wlan-data-config-file(grouping)/wlan-status +- wlan-data-config-file(grouping)/wlan-status +- wlan-data-config-file(grouping)/wlan-status +- wlan-data-config-file(grouping)/wlan-status +- wlan-profile(grouping)/akm-owe +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/apf-vap-id-data/wlan-status +- wlan-profile(grouping)/transition-mode-wlan-id + +### Description + +Must expression more constrained than before. + +## XPaths Added + +### Description diff --git a/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE=device-tracking.md b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE=device-tracking.md new file mode 100644 index 000000000..44ff51c46 --- /dev/null +++ b/vendor/cisco/xe/17151/BIC/Cisco-IOS-XE=device-tracking.md @@ -0,0 +1,23 @@ +## Cisco-IOS-XE=device-tracking.yang + + +- [XPaths Obsoleted](#xpaths-obsoleted) +- [XPaths Deprecated](#xpaths-deprecated) +- [XPaths Modified](#xpaths-modified) +- [XPaths Added](#xpaths-added) + +## XPaths Obsoleted + +### Description + +## XPaths Deprecated + +### Description + +## XPaths Modified + +### Description + +## XPaths Added + +### Description \ No newline at end of file diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-actions-rpc.yang new file mode 100644 index 000000000..2b03f12de --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-actions-rpc.yang @@ -0,0 +1,117 @@ +module Cisco-IOS-XE-aaa-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-aaa-actions-rpc"; + prefix aaa-ios-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AAA RPC action data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef auth-test-mode { + type enumeration { + enum legacy-mode { + value 0; + description + "Test the credentials using the legacy mode."; + } + } + description + "AAA test mode options"; + } + + grouping authentication-command { + description + "Parameters to execute the test aaa command."; + leaf group-name { + type string { + length "1..256"; + } + mandatory true; + description + "Server group name"; + } + leaf username { + type string { + length "1..256"; + } + mandatory true; + description + "Username to be tested"; + } + leaf password { + type string { + length "1..256"; + } + mandatory true; + description + "Password to be tested"; + } + leaf mode { + type aaa-ios-actions-rpc:auth-test-mode; + mandatory true; + description + "Mode type to be used for testing"; + } + } + + grouping auth-response { + description + "Response to test authentication request."; + leaf id { + type uint32; + description + "The ID is unique identifier generated per request. This is used + in combination with event model, where event notification provides + request specific ID in it. This is useful in matching a request + with event notification."; + } + } + + rpc test-aaa-command { + description + "To test particular user credentials for a particular server group. + The device sends a test authentication packet to the servers under + the server group. The rpc returns with a 'id' if the operation + was started successfully. Subscribe to the stream:test-aaa-authentication-update + to receive the final authentication result."; + input { + uses aaa-ios-actions-rpc:authentication-command; + } + output { + uses aaa-ios-actions-rpc:auth-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-events.yang new file mode 100644 index 000000000..6b1e094b0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-events.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XE-aaa-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-aaa-events"; + prefix aaa-ios-events-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains YANG definitions for AAA + event notifications generated from executing + the RPC. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef auth-result-type { + type enumeration { + enum auth-status-pass { + value 0; + description + "User was successfully authenticated."; + } + enum auth-status-fail { + value 1; + description + "User authentication request was rejected by server."; + } + enum auth-status-error { + value 2; + description + "Error while executing the authentication request."; + } + } + description + "AAA auth result types"; + } + + grouping aaa-command { + description + "Notification for the test aaa command for authentication."; + leaf id { + type uint32; + description + "The ID is an integer used to map the rpc request + with the corresponding event notification."; + } + leaf auth-result { + type aaa-ios-events-ios-xe-oper:auth-result-type; + description + "Authentication result for the test aaa command."; + } + } + + notification test-aaa-authentication-update { + description + "Contains the notification after the test aaa authentication + completes. Contains two fields. Result can be either: pass/fail/error. + The id field is to be used to map the rpc + request with the corresponding event notification."; + uses aaa-ios-events-ios-xe-oper:aaa-command; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-oper.yang new file mode 100644 index 000000000..257c628da --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-oper.yang @@ -0,0 +1,1756 @@ +module Cisco-IOS-XE-aaa-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-aaa-oper"; + prefix aaa-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AAA operational data. + Copyright (c) 2017-2019, 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for radius proxy counters"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2023-07-01 { + description + "- Added additional counters for RADSEC, server state and global radius counters"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-07-01 { + description + "- Added additional counters for RADIUS server for MAB and Dot1x transactions."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "- Added support for AAA FQDN and AAA users info. + - Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-04-16 { + description + "Added support for AAA RADIUS and TACACS statistics native model. + Added support for AAA LDAP counters native model. + + Introduced additional counters for RADIUS server. + The additional counters are Messages-sent, Messages-received and + Errors-received. + Introduced group name as one of the server key information for both + RADIUS and TACACS. For TACACS added port information also as one of + the server key info."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef aaa-sess-prot-type { + type enumeration { + enum aaa-sess-proto-type-none { + value 0; + description + "No Protocol type"; + } + enum aaa-sess-proto-type-invalid { + value 1; + description + "Invalid Protocol type "; + } + enum aaa-sess-proto-type-lcp { + value 2; + description + "LCP Protocol type "; + } + enum aaa-sess-proto-type-ip { + value 3; + description + "IP Protocol type "; + } + enum aaa-sess-proto-type-ipsec { + value 4; + description + "IPSEC Protocol type "; + } + enum aaa-sess-proto-type-ipx { + value 5; + description + "IPX Protocol type "; + } + enum aaa-sess-proto-type-atalk { + value 6; + description + "ATALK Protocol type "; + } + enum aaa-sess-proto-type-xremote { + value 7; + description + "XREMOTE Protocol type "; + } + enum aaa-sess-proto-type-tn3270 { + value 8; + description + "TN3270 Protocol type "; + } + enum aaa-sess-proto-type-telnet { + value 9; + description + "TELNET Protocol type "; + } + enum aaa-sess-proto-type-tcp-clear { + value 10; + description + "TCP_CLEAR Protocol type "; + } + enum aaa-sess-proto-type-rlogin { + value 11; + description + "RLOGIN Protocol type "; + } + enum aaa-sess-proto-type-lat { + value 12; + description + "LAT Protocol type "; + } + enum aaa-sess-proto-type-pad { + value 13; + description + "PAD Protocol type "; + } + enum aaa-sess-proto-type-osicp { + value 14; + description + "OSICP Protocol type "; + } + enum aaa-sess-proto-type-tagcp { + value 15; + description + "TAGCP Protocol type "; + } + enum aaa-sess-proto-type-bacp { + value 16; + description + "BACP Protocol type "; + } + enum aaa-sess-proto-type-decnet { + value 17; + description + "DECNET Protocol type "; + } + enum aaa-sess-proto-type-ccp { + value 18; + description + "CCP Protocol type "; + } + enum aaa-sess-proto-type-cdp { + value 19; + description + "CDP Protocol type "; + } + enum aaa-sess-proto-type-bridging { + value 20; + description + "BRIDGING Protocol type "; + } + enum aaa-sess-proto-type-nbf { + value 21; + description + "NBF Protocol type "; + } + enum aaa-sess-proto-type-bap { + value 22; + description + "BAP Protocol type "; + } + enum aaa-sess-proto-type-multilink { + value 23; + description + "MULTILINK Protocol type "; + } + enum aaa-sess-proto-type-h323 { + value 24; + description + "H323 Protocol type "; + } + enum aaa-sess-proto-type-unknown { + value 25; + description + "UNKNOWN Protocol type "; + } + enum aaa-sess-proto-type-call-accept { + value 26; + description + "CALL ACCEPT Protocol type "; + } + enum aaa-sess-proto-type-vpdn-session { + value 27; + description + "VPDN SESSION Protocol type "; + } + enum aaa-sess-proto-type-rm-call-status { + value 28; + description + "RM CALL STATUS Protocol type "; + } + enum aaa-sess-proto-type-rm-nas-status { + value 29; + description + "RM NAS STATUS Protocol type "; + } + enum aaa-sess-proto-type-dial-in { + value 30; + description + "DIAL IN Protocol type "; + } + enum aaa-sess-proto-type-dial-out { + value 31; + description + "DIAL OUT Protocol type "; + } + enum aaa-sess-proto-type-ss7 { + value 32; + description + "SS7 Protocol type "; + } + enum aaa-sess-proto-type-rms-stop { + value 33; + description + "RMS STOP Protocol type "; + } + enum aaa-sess-proto-type-rms-start { + value 34; + description + "RMS START Protocol type "; + } + enum aaa-sess-proto-type-vpdn { + value 35; + description + "VPDN Protocol type "; + } + enum aaa-sess-proto-type-sss { + value 36; + description + "SSS Protocol type "; + } + enum aaa-sess-proto-type-subscriber { + value 37; + description + "SUBSCRIBER Protocol type "; + } + enum aaa-sess-proto-type-atm { + value 38; + description + "ATM Protocol type "; + } + enum aaa-sess-proto-type-ssh { + value 39; + description + "SSH Protocol type "; + } + enum aaa-sess-proto-type-ipv6 { + value 40; + description + "IPV6 Protocol type "; + } + enum aaa-sess-proto-type-aironet { + value 41; + description + "AIRONET Protocol type "; + } + enum aaa-sess-proto-type-pppoe { + value 42; + description + "PPOE Protocol type "; + } + enum aaa-sess-proto-type-entity { + value 43; + description + "ENTITY Protocol type "; + } + enum aaa-sess-proto-type-cdma { + value 44; + description + "CDMA Protocol type "; + } + enum aaa-sess-proto-type-crb { + value 45; + description + "CRB Protocol type "; + } + enum aaa-sess-proto-type-template { + value 46; + description + "TEMPLATE Protocol type "; + } + enum aaa-sess-proto-type-aaa { + value 47; + description + "AAA Protocol type "; + } + enum aaa-sess-proto-type-epd { + value 48; + description + "EPD Protocol type "; + } + enum aaa-sess-proto-type-mac { + value 49; + description + "MAC Protocol type "; + } + enum aaa-sess-proto-type-leap { + value 50; + description + "LEAP Protocol type "; + } + enum aaa-sess-proto-type-igmp { + value 51; + description + "IGMP Protocol type "; + } + enum aaa-sess-proto-type-webvpn { + value 52; + description + "WEBVPN Protocol type "; + } + enum aaa-sess-proto-type-cts { + value 53; + description + "CTS Protocol type "; + } + enum aaa-sess-proto-type-radius { + value 54; + description + "RADIUS Protocol type "; + } + enum aaa-sess-proto-type-evc { + value 55; + description + "EVC Protocol type "; + } + enum aaa-sess-proto-type-elmi { + value 56; + description + "ELMI Protocol type "; + } + enum aaa-sess-proto-type-dot1x { + value 57; + description + "DOT1X Protocol type "; + } + enum aaa-sess-proto-type-dtp { + value 58; + description + "DTP Protocol type "; + } + enum aaa-sess-proto-type-lacp { + value 59; + description + "LACP Protocol type "; + } + enum aaa-sess-proto-type-pagp { + value 60; + description + "PAGP Protocol type "; + } + enum aaa-sess-proto-type-stp { + value 61; + description + "STP Protocol type "; + } + enum aaa-sess-proto-type-vtp { + value 62; + description + "VTP Protocol type "; + } + enum aaa-sess-proto-type-ethernet-mac-tunnel { + value 63; + description + "ETHERNET MAC TUNNEL Protocol type "; + } + enum aaa-sess-proto-type-bridge-domain { + value 64; + description + "BRIDGE DOMAIN Protocol type "; + } + enum aaa-sess-proto-type-ethernet-cfm { + value 65; + description + "ETHERNET CFM Protocol type "; + } + enum aaa-sess-proto-type-ethernet-service-instance { + value 66; + description + "ETHERNET SERVICE INSTANCE Protocol type "; + } + enum aaa-sess-proto-type-service-group { + value 67; + description + "SERVICE GROUP Protocol type "; + } + enum aaa-sess-proto-type-ip-dhcp-snooping { + value 68; + description + "IP DHCP SNOOPING Protocol type "; + } + enum aaa-sess-proto-type-ip-source-guard { + value 69; + description + "IP SOURCE GUARD Protocol type "; + } + enum aaa-sess-proto-type-error-disable { + value 70; + description + "ERROR DISABLE Protocol type "; + } + enum aaa-sess-proto-type-cmac-bridge-domain { + value 71; + description + "CMAC BRIDGE DOMAIN Protocol type "; + } + enum aaa-sess-proto-type-mac-in-mac-tunnel { + value 72; + description + "MAC IN MAC TUNNEL Protocol type "; + } + enum aaa-sess-proto-type-l2vpn { + value 73; + description + "L2VPN Protocol type "; + } + enum aaa-sess-proto-type-snmp { + value 74; + description + "SNMP Protocol type "; + } + } + description + "AAA protocol type is used by clients to indicate how + the session is established."; + } + + typedef aaa-user-role { + type enumeration { + enum aaa-user-role-invalid { + value 0; + description + "invalid user role"; + } + enum aaa-user-role-default { + value 1; + description + "Default Admin User"; + } + enum aaa-user-role-lobby { + value 2; + description + "Lobby Admin User"; + } + enum aaa-user-role-mgmt { + value 3; + description + "Management User"; + } + enum aaa-user-role-network { + value 4; + description + "Network User"; + } + enum aaa-user-role-guest { + value 5; + description + "Guest user"; + } + enum aaa-user-role-remote { + value 6; + description + "Remote Admin User"; + } + enum aaa-user-role-remote-lobby { + value 7; + description + "Remote Lobby user"; + } + } + description + "User access role"; + } + + typedef aaa-server-states { + type enumeration { + enum aaa-server-state-alive { + value 0; + description + "Server is ALIVE"; + } + enum aaa-server-state-dead { + value 1; + description + "Server is DEAD"; + } + } + description + "AAA server state"; + } + + typedef aaa-inst-type { + type enumeration { + enum aaa-type-system { + value 0; + description + "For system instances"; + } + enum aaa-type-wired { + value 1; + description + "For wired instances"; + } + enum aaa-type-wireless { + value 2; + description + "For wireless instances"; + } + } + description + "AAA instance type"; + } + + typedef aaa-fqdn-prot-type { + type enumeration { + enum aaa-fqdn-prot-type-invalid { + value 0; + description + "Invalid protocol"; + } + enum aaa-fqdn-prot-type-radius { + value 1; + description + "Radius Protocol"; + } + enum aaa-fqdn-prot-type-tacacs { + value 2; + description + "TACACS Protocol"; + } + enum aaa-fqdn-prot-type-ldap { + value 3; + description + "LDAP protocol"; + } + enum aaa-fqdn-prot-type-diameter { + value 4; + description + "Diameter Protocol"; + } + } + description + "AAA Protocol Type"; + } + + grouping aaa-sessions { + description + "AAA session information associated with the user"; + leaf aaa-uid { + type uint32; + description + "AAA Unique ID"; + } + leaf session-id { + type uint32; + description + "AAA Session ID"; + } + leaf ip-addr { + type inet:ip-address; + description + "Source IP address that initiated the session"; + } + leaf protocol { + type aaa-ios-xe-oper:aaa-sess-prot-type; + description + "AAA protocol type Protocol used in this session."; + } + leaf login-time { + type yang:date-and-time; + description + "Login-time for this session present in aaa code."; + } + } + + grouping aaa-users { + description + "The record will be queried by using username field as the + primary key to the parent table. + For each user, aaa_uid identifies the session as there can + be multiple sessions with same username. + + For example, same username could login from telnet and ssh. We can have + two different sessions with two unique ids for the same username."; + leaf username { + type string; + description + "The username used to logged into the device"; + } + list aaa-sessions { + key "aaa-uid"; + description + "Sessions associated with the users"; + uses aaa-ios-xe-oper:aaa-sessions; + } + } + + grouping aaa-user-info { + description + "Local/Remote User access information"; + leaf username { + type string; + description + "AAA username"; + } + leaf creator { + type string; + description + "Name of the administrator who created the user"; + } + leaf description { + type string; + description + "Description of the user"; + } + leaf view-name { + type string; + description + "Parser View attached to the user"; + } + leaf start-time { + type yang:date-and-time; + description + "Creation time of the user"; + } + leaf expiry-time { + type yang:date-and-time; + description + "Expiry time of the user"; + } + leaf max-login-limit { + type uint32; + description + "Maximum login limit for the user"; + } + } + + grouping aaa-username-type { + description + "Records of users of particular access type"; + leaf user-type { + type aaa-ios-xe-oper:aaa-user-role; + description + "The role type of the user"; + } + list aaa-user-info { + key "username"; + description + "info associated with the user"; + uses aaa-ios-xe-oper:aaa-user-info; + } + } + + grouping aaa-radius-stats-key { + description + "Radius server statistics unique key"; + leaf group-name { + type string; + description + "AAA group name in which the server is defined. + For public servers the group name is \"PUBLIC GROUP\" by default."; + } + leaf radius-server-ip { + type inet:ip-address; + description + "Radius server IP address"; + } + leaf auth-port { + type uint16; + description + "Radius server auth-port"; + } + leaf acct-port { + type uint16; + description + "Radius server accounting port"; + } + } + + grouping aaa-server-detail { + description + "AAA statistics per instance"; + leaf aaa-inst-id { + type uint32; + description + "AAA instance ID"; + } + leaf inst-type { + type aaa-ios-xe-oper:aaa-inst-type; + description + "AAA instance type"; + } + leaf server-state { + type aaa-ios-xe-oper:aaa-server-states; + description + "Server state"; + } + } + + grouping radsec-stats { + description + "RADSEC statistics"; + leaf port { + type uint32; + description + "RADSEC port used for handshake"; + } + leaf pkt-cnt-idletime { + type uint32; + description + "Number of packets count since idle timeout"; + } + leaf send-hs-start-cnt { + type uint32; + description + "Number of handshakes sent to RADSEC server"; + } + leaf hs-success-cnt { + type uint32; + description + "Number of handshakes successful from RADSEC server"; + } + leaf total-tx-pkt-cnt { + type uint32; + description + "Number of packets transmitted to RADSEC server"; + } + leaf total-rx-pkt-cnt { + type uint32; + description + "Number of packet received from RADSEC server"; + } + leaf total-conn-rst-cnt { + type uint32; + description + "Total number of connections closed with RADSEC server"; + } + leaf conn-rst-cnt-idle { + type uint32; + description + "Number of connections closed due to idle timeout"; + } + leaf conn-rst-cnt-noresp { + type uint32; + description + "Number of connections closed due to no response"; + } + leaf conn-rst-cnt-malpkt { + type uint32; + description + "Number of connections closed due to malformed packets"; + } + leaf conn-rst-cnt-err { + type uint32; + description + "Number of connections closed due to error packets"; + } + leaf conn-rst-cnt-peer { + type uint32; + description + "Number of connections closed due to peer"; + } + } + + grouping aaa-radius-stats { + description + "Radius server statistics"; + leaf authen-retried-access-requests { + type uint32; + description + "Authentication retried access requests"; + } + leaf authen-access-accepts { + type uint32; + description + "Authentication access accepts"; + } + leaf authen-access-rejects { + type uint32; + description + "Authentication access rejects"; + } + leaf authen-timeout-access-requests { + type uint32; + description + "Authentication Timeout access requests"; + } + leaf author-retried-access-requests { + type uint32; + description + "Authorization retried access requests"; + } + leaf author-access-accepts { + type uint32; + description + "Authorization access accepts"; + } + leaf author-access-rejects { + type uint32; + description + "Authorization access rejects"; + } + leaf author-timeout-access-requests { + type uint32; + description + "Authorization Timeout access requests"; + } + leaf connection-opens { + type uint32; + description + "Number of new connection requests sent to the RADIUS server."; + } + leaf connection-closes { + type uint32; + description + "Number of connection close requests sent to the server."; + } + leaf connection-aborts { + type uint32; + description + "Number of connections aborted. + These do not include connections that are closed gracefully."; + } + leaf connection-failures { + type uint32; + description + "Number of connection failures to the RADIUS server."; + } + leaf connection-timeouts { + type uint32; + description + "Number of connection timeouts to the RADIUS server."; + } + leaf authen-messages-sent { + type uint32; + description + "Number of authentication messages sent to the RADIUS server."; + } + leaf author-messages-sent { + type uint32; + description + "Number of authorization messages sent to the RADIUS server."; + } + leaf acct-messages-sent { + type uint32; + description + "Number of accounting messages sent to the RADIUS server."; + } + leaf authen-messages-received { + type uint32; + description + "Number of authentication messages received by the RADIUS server."; + } + leaf author-messages-received { + type uint32; + description + "Number of authorization messages received by the RADIUS server."; + } + leaf authen-errors-received { + type uint32; + description + "Number of authentication error messages received + from the RADIUS server."; + } + leaf author-errors-received { + type uint32; + description + "Number of authorization error messages received + from the RADIUS server."; + } + leaf acct-errors-received { + type uint32; + description + "Number of accounting error messages received + from the RADIUS server."; + } + leaf stats-time { + type yang:date-and-time; + description + "Time from which the statistics are valid. + This field will be updated when a RADIUS server is + configured and also when the RADIUS server statistics + are cleared."; + } + leaf eap-authen-avg-resp-time { + type uint32; + units "milliseconds"; + description + "Dot1x authentication average response time in milliseconds."; + } + leaf eap-authen-total-response { + type uint32; + description + "Number of valid Dot1x authentication responses."; + } + leaf eap-authen-total-txns { + type uint32; + description + "Number of Dot1x session transactions."; + } + leaf eap-authen-success-txns { + type uint32; + description + "Number of Success Dot1x session transactions."; + } + leaf eap-authen-failed-txns { + type uint32; + description + "Number of Failed Dot1x session transactions."; + } + leaf eap-authen-total-timeouts { + type uint32; + description + "Number of Dot1x session timeouts."; + } + leaf eap-authen-total-failover { + type uint32; + description + "Number of Dot1x session failover requests"; + } + leaf mac-authen-avg-resp-time { + type uint32; + units "milliseconds"; + description + "MAB authentication average response time in milliseconds."; + } + leaf mac-authen-total-response { + type uint32; + description + "Number of valid MAB authentication responses."; + } + leaf mac-authen-total-txns { + type uint32; + description + "Number of MAB session transactions."; + } + leaf mac-authen-success-txns { + type uint32; + description + "Number of Success MAB session transactions."; + } + leaf mac-authen-failed-txns { + type uint32; + description + "Number of Failed MAB session transactions."; + } + leaf mac-authen-total-timeouts { + type uint32; + description + "Number of MAB session timeouts."; + } + leaf mac-authen-total-failover { + type uint32; + description + "Number of MAB session failover requests"; + } + leaf mac-author-avg-resp-time { + type uint32; + units "milliseconds"; + description + "MAB authorization average response time in milliseconds."; + } + leaf mac-author-total-response { + type uint32; + description + "Number of valid MAB authorization responses."; + } + leaf mac-author-total-txns { + type uint32; + description + "Number of MAB authorization session transactions."; + } + leaf mac-author-success-txns { + type uint32; + description + "Number of Success MAB authorization session transactions."; + } + leaf mac-author-failed-txns { + type uint32; + description + "Number of Failed MAB authorization session transactions."; + } + leaf mac-author-total-timeouts { + type uint32; + description + "Number of MAB authorization session timeouts."; + } + leaf mac-author-total-failover { + type uint32; + description + "Number of MAB authorization session failover requests"; + } + leaf is-server-radsec { + type boolean; + description + "Radius security(RADSEC) is enabled"; + } + container radsec-server-data { + when "../is-server-radsec = 'true'"; + description + "Radius security(RADSEC) stats"; + uses aaa-ios-xe-oper:radsec-stats; + } + list server-detail { + max-elements 10; + description + "Server states per instance or process"; + uses aaa-ios-xe-oper:aaa-server-detail; + } + } + + grouping aaa-tacacs-stats-key { + description + "TACACS server statistics unique key"; + leaf group-name { + type string; + description + "AAA group name in which the server + is defined. For public servers the + group name is \"PUBLIC GROUP\" by + default."; + } + leaf tacacs-server-address { + type inet:ip-address; + description + "TACACS server IP address"; + } + leaf port { + type uint16; + description + "TACACS server port"; + } + } + + grouping aaa-tacacs-stats { + description + "AAA session information associated with the TACACS Server"; + leaf connection-opens { + type uint32; + description + "Number of new connection requests sent to the server"; + } + leaf connection-closes { + type uint32; + description + "Number of connection close requests sent to the server"; + } + leaf connection-aborts { + type uint32; + description + "Number of aborted connections to the server. + These do not include connections that are close gracefully"; + } + leaf connection-failures { + type uint32; + description + "Number of connection failures to the server"; + } + leaf connection-timeouts { + type uint32; + description + "Number of connection timeouts to the server"; + } + leaf messages-sent { + type uint32; + description + "Number of messages sent to the server"; + } + leaf messages-received { + type uint32; + description + "Number of messages received by the server"; + } + leaf errors-received { + type uint32; + description + "Number of error messages received from the server"; + } + leaf stats-start-time { + type yang:date-and-time; + description + "This attribute contains stats collection start time. + Stats collection starts when the TACACS server is configured"; + } + } + + grouping aaa-ldap-counters-key { + description + "LDAP server counters unique key"; + leaf ldap-server-address { + type inet:ip-address; + description + "LDAP server IP address"; + } + leaf ldap-server-port { + type uint16; + description + "LDAP server listening port - TCP"; + } + } + + grouping aaa-ldap-counters { + description + "LDAP server counters"; + leaf connection-opens { + type uint32; + description + "Number of new connection requests sent to the LDAP server."; + } + leaf messages-sent { + type uint32; + description + "Number of messages sent to the LDAP server."; + } + leaf messages-received { + type uint32; + description + "Number of messages received by the LDAP server."; + } + leaf errors-received { + type uint32; + description + "Number of error messages received from the LDAP server."; + } + leaf connection-closes { + type uint32; + description + "Number of connection close requests sent to the server."; + } + leaf connection-aborts { + type uint32; + description + "Number of connections aborted. + These do not include connections that are close gracefully."; + } + leaf connection-failures { + type uint32; + description + "Number of connection failures to the LDAP server."; + } + leaf connection-timeouts { + type uint32; + description + "Number of connection timeouts to the LDAP server."; + } + leaf counters-start-time { + type yang:date-and-time; + description + "This attribute contains LDAP counters collection start time. + Counters collection starts when a LDAP server is configured. + Counters collection will be reset when the LDAP server counters + are cleared."; + } + } + + grouping aaa-fqdn-info { + description + "FQDN Information"; + leaf fqdn-name { + type string; + description + "AAA FQDN Name."; + } + leaf protocol { + type aaa-ios-xe-oper:aaa-fqdn-prot-type; + description + "AAA Protocol in use."; + } + leaf-list active-ipv4 { + type string; + ordered-by user; + description + "FQDN active IPv4 data."; + } + leaf-list active-ipv6 { + type string; + ordered-by user; + description + "FQDN active IPv6 data."; + } + leaf-list member-of-group { + type string; + ordered-by user; + description + "Names of the groups that the FQDN belongs to."; + } + } + + grouping aaa-radius-global-stats { + description + "AAA global radius statistics"; + leaf access-rejects { + type uint32; + description + "Total number of radius access rejects received"; + } + leaf access-accepts { + type uint32; + description + "Total number of radius access accepts received"; + } + leaf authen-responses-seen { + type uint32; + description + "Total number of authentication responses received"; + } + leaf authen-with-response { + type uint32; + description + "Total number of access requests which got response"; + } + leaf authen-without-response { + type uint32; + description + "Total number of access requests which did not got response"; + } + leaf authen-avg-response-delay { + type uint32; + units "milliseconds"; + description + "Average response time of access requests in milliseconds"; + } + leaf authen-max-response-delay { + type uint32; + units "milliseconds"; + description + "Maximum response time of access requests in milliseconds"; + } + leaf authen-timeouts { + type uint32; + description + "Number of access requests timeouts"; + } + leaf authen-duplicate-id { + type uint32; + description + "Number of access requests with duplicate ID"; + } + leaf authen-bad-authenticators { + type uint32; + description + "Number of access requests with bad authenticator"; + } + leaf acct-responses-seen { + type uint32; + description + "Total number of accounting responses received"; + } + leaf acct-with-response { + type uint32; + description + "Number of accounting requests which received response"; + } + leaf acct-without-response { + type uint32; + description + "Number of accounting requests which did not received response"; + } + leaf acct-avg-response-delay { + type uint32; + units "milliseconds"; + description + "Average response time of accounting requests in milliseconds"; + } + leaf acct-max-response-delay { + type uint32; + units "milliseconds"; + description + "Maximum response time of a accounting requests in milliseconds"; + } + leaf acct-timeouts { + type uint32; + description + "Number of accounting requests timeouts"; + } + leaf acct-duplicate-id { + type uint32; + description + "Number of accounting requests with duplicates ID"; + } + leaf acct-bad-authenticators { + type uint32; + description + "Number of accounting requests with bad authenticator"; + } + leaf stats-time { + type yang:date-and-time; + description + "This field will give time from which radius global counters are cleared"; + } + } + + grouping aaa-radius-proxy-stats { + description + "AAA radius proxy statistics"; + leaf cli-in-access-requests-p { + type uint32; + description + "Number of incoming Access Requests in passthrough mode from client"; + } + leaf cli-in-access-accepts-p { + type uint32; + description + "Number of incoming Access Accepts in passthrough mode from client"; + } + leaf cli-in-access-rejects-p { + type uint32; + description + "Number of incoming Access Rejects in passthrough mode from client"; + } + leaf cli-in-access-chall-p { + type uint32; + description + "Number of incoming Access Challenges in passthrough mode from client"; + } + leaf cli-in-acct-requests-p { + type uint32; + description + "Number of incoming Accounting Requests in passthrough mode from client"; + } + leaf cli-in-acct-starts-p { + type uint32; + description + "Number of incoming Accounting Starts in passthrough mode from client"; + } + leaf cli-in-acct-updates-p { + type uint32; + description + "Number of incoming Accounting Updates in passthrough mode from client"; + } + leaf cli-in-acct-stops-p { + type uint32; + description + "Number of incoming Accounting Stops in passthrough mode from client"; + } + leaf cli-in-acct-on-offs-p { + type uint32; + description + "Number of incoming Accounting ON/OFF's in passthrough mode from client"; + } + leaf cli-in-acct-responses-p { + type uint32; + description + "Number of incoming Accounting Responses in passthrough mode from client"; + } + leaf cli-in-acct-retransmits-p { + type uint32; + description + "Number of incoming Accounting Retransmissions in passthrough mode from client"; + } + leaf cli-out-access-requests-p { + type uint32; + description + "Number of outgoing Access Requests in passthrough mode from client"; + } + leaf cli-out-access-accepts-p { + type uint32; + description + "Number of outgoing Access Accepts in passthrough mode from client"; + } + leaf cli-out-access-rejects-p { + type uint32; + description + "Number of outgoing Access Rejects in passthrough mode from client"; + } + leaf cli-out-access-chall-p { + type uint32; + description + "Number of outgoing Access Challenges in passthrough mode from client"; + } + leaf cli-out-acct-requests-p { + type uint32; + description + "Number of outgoing Accounting Requests in passthrough mode from client"; + } + leaf cli-out-acct-starts-p { + type uint32; + description + "Number of outgoing Accounting Starts in passthrough mode from client"; + } + leaf cli-out-acct-updates-p { + type uint32; + description + "Number of outgoing Accounting Updates in passthrough mode from client"; + } + leaf cli-out-acct-stops-p { + type uint32; + description + "Number of outgoing Accounting Stops in passthrough mode from client"; + } + leaf cli-out-acct-on-offs-p { + type uint32; + description + "Number of outgoing Accounting ON/OFF's in passthrough mode from client"; + } + leaf cli-out-acct-responses-p { + type uint32; + description + "Number of outgoing Accounting Responses in passthrough mode from client"; + } + leaf cli-out-acct-retransmits-p { + type uint32; + description + "Number of outgoing Accounting Retransmissions in passthrough mode from client"; + } + leaf srv-in-access-requests-p { + type uint32; + description + "Number of incoming Access Requests in passthrough mode from server"; + } + leaf srv-in-access-accepts-p { + type uint32; + description + "Number of incoming Access Accepts in passthrough mode from server"; + } + leaf srv-in-access-rejects-p { + type uint32; + description + "Number of incoming Access Rejects in passthrough mode from server"; + } + leaf srv-in-access-chall-p { + type uint32; + description + "Number of incoming Access Challenges in passthrough mode from server"; + } + leaf srv-in-acct-requests-p { + type uint32; + description + "Number of incoming Accounting Requests in passthrough mode from server"; + } + leaf srv-in-acct-starts-p { + type uint32; + description + "Number of incoming Accounting Starts in passthrough mode from server"; + } + leaf srv-in-acct-updates-p { + type uint32; + description + "Number of incoming Accounting Updates in passthrough mode from server"; + } + leaf srv-in-acct-stops-p { + type uint32; + description + "Number of incoming Accounting Stops in passthrough mode from server"; + } + leaf srv-in-acct-on-offs-p { + type uint32; + description + "Number of incoming Accounting ON/OFF's in passthrough mode from server"; + } + leaf srv-in-acct-responses-p { + type uint32; + description + "Number of incoming Accounting Responses in passthrough mode from server"; + } + leaf srv-in-acct-retransmits-p { + type uint32; + description + "Number of incoming Accounting Retransmissions in passthrough mode from server"; + } + leaf srv-out-access-requests-p { + type uint32; + description + "Number of outgoing Access Requests in passthrough mode from server"; + } + leaf srv-out-access-accepts-p { + type uint32; + description + "Number of outgoing Access Accepts in passthrough mode from server"; + } + leaf srv-out-access-rejects-p { + type uint32; + description + "Number of outgoing Access Rejects in passthrough mode from server"; + } + leaf srv-out-access-chall-p { + type uint32; + description + "Number of outgoing Access Challenges in passthrough mode from server"; + } + leaf srv-out-acct-requests-p { + type uint32; + description + "Number of outgoing Accounting Requests in passthrough mode from server"; + } + leaf srv-out-acct-starts-p { + type uint32; + description + "Number of outgoing Accounting Starts in passthrough mode from server"; + } + leaf srv-out-acct-updates-p { + type uint32; + description + "Number of outgoing Accounting Updates in passthrough mode from server"; + } + leaf srv-out-acct-stops-p { + type uint32; + description + "Number of outgoing Accounting Stops in passthrough mode from server"; + } + leaf srv-out-acct-on-offs-p { + type uint32; + description + "Number of outgoing Accounting ON/OFF's in passthrough mode from server"; + } + leaf srv-out-acct-responses-p { + type uint32; + description + "Number of outgoing Accounting Responses in passthrough mode from server"; + } + leaf srv-out-acct-retransmits-p { + type uint32; + description + "Number of outgoing Accounting Retransmissions in passthrough mode from server"; + } + leaf total-fwded-req-to-srv-p { + type uint32; + description + "This field will give Total forwarded requests to the server"; + } + leaf total-rcvd-resp-from-srv-p { + type uint32; + description + "This field will give time Total received responses from the server"; + } + leaf stats-time { + type yang:date-and-time; + description + "This field will give time from which radius proxy counters are cleared"; + } + } + + grouping aaa-radius-client-stats-key { + description + "Radius Client statistics unique key"; + leaf radius-client-ip { + type inet:ip-address; + description + "Client server IP address"; + } + leaf vrf-name { + type string; + description + "VRF name in which the client is defined, in case vrf is not defined use no_vrf in capital"; + } + } + + grouping aaa-radius-client-stats { + description + "AAA radius Client statistics"; + leaf coa-requests { + type uint32; + description + "Total number of CoA requests received"; + } + leaf coa-transactions { + type uint32; + description + "Total number of CoA Transactions"; + } + leaf coa-retransmissions { + type uint32; + description + "Total number of CoA Retransmissions"; + } + leaf coa-active-transactions { + type uint32; + description + "Total number of CoA Active transactions"; + } + leaf coa-ack-responses { + type uint32; + description + "Total number of CoA Acks"; + } + leaf coa-nak-responses { + type uint32; + description + "Total number of CoA Nack"; + } + leaf coa-invalid-requests { + type uint32; + description + "Total number of CoA Invalid Requests"; + } + leaf coa-errors { + type uint32; + description + "Total number of CoA errors"; + } + leaf pod-requests { + type uint32; + description + "Total number of PoD requests received"; + } + leaf pod-transactions { + type uint32; + description + "Total number of PoD Transactions"; + } + leaf pod-retransmissions { + type uint32; + description + "Total number of PoD Retransmissions"; + } + leaf pod-active-transactions { + type uint32; + description + "Total number of PoD Active transactions"; + } + leaf pod-ack-responses { + type uint32; + description + "Total number of PoD Acks"; + } + leaf pod-nak-responses { + type uint32; + description + "Total number of PoD Nack"; + } + leaf pod-invalid-requests { + type uint32; + description + "Total number of PoD Invalid Requests"; + } + leaf pod-errors { + type uint32; + description + "Total number of PoD errors"; + } + leaf stats-time { + type yang:date-and-time; + description + "This field will give time from which radius proxy counters are cleared"; + } + } + + container aaa-data { + config false; + description + "Operational state of AAA"; + list aaa-radius-stats { + key "group-name radius-server-ip auth-port acct-port"; + description + "Radius server statistics"; + uses aaa-ios-xe-oper:aaa-radius-stats-key; + uses aaa-ios-xe-oper:aaa-radius-stats; + } + list aaa-tacacs-stats { + key "group-name tacacs-server-address port"; + description + "AAA TACACS server statistics"; + uses aaa-ios-xe-oper:aaa-tacacs-stats-key; + uses aaa-ios-xe-oper:aaa-tacacs-stats; + } + list aaa-ldap-counters { + key "ldap-server-address ldap-server-port"; + description + "LDAP server counters"; + uses aaa-ios-xe-oper:aaa-ldap-counters-key; + uses aaa-ios-xe-oper:aaa-ldap-counters; + } + list aaa-users { + key "username"; + description + "List of current users"; + uses aaa-ios-xe-oper:aaa-users; + } + list aaa-username-type { + key "user-type"; + description + "AAA user role type"; + uses aaa-ios-xe-oper:aaa-username-type; + } + list aaa-fqdn-info { + key "fqdn-name"; + description + "AAA FQDN information"; + uses aaa-ios-xe-oper:aaa-fqdn-info; + } + container aaa-radius-global-stats { + presence "aaa-radius-global-stats"; + description + "AAA global radius statistics"; + uses aaa-ios-xe-oper:aaa-radius-global-stats; + } + container aaa-radius-proxy-stats { + presence "aaa-radius-proxy-stats"; + description + "AAA radius proxy statistics"; + uses aaa-ios-xe-oper:aaa-radius-proxy-stats; + } + list aaa-radius-client-stats { + key "radius-client-ip vrf-name"; + description + "AAA radius Client statistics"; + uses aaa-ios-xe-oper:aaa-radius-client-stats-key; + uses aaa-ios-xe-oper:aaa-radius-client-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-rpc.yang new file mode 100644 index 000000000..35cf9703e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-rpc.yang @@ -0,0 +1,100 @@ +submodule Cisco-IOS-XE-aaa-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED AAA RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added support for Clear aaa counters & Clear radius statistics"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-aaa-case-grouping { + container aaa { + description + "Clear AAA values"; + container local { + description + "Clear AAA local method options"; + container user { + description + "Clear local AAA users"; + container lockout { + description + "Clear locked out local AAA users"; + leaf username { + description + "Username of the locked-user"; + type string; + } + } + } + } + container counters { + description + "Clear AAA counters"; + container servers { + description + "AAA servers information"; + leaf all { + description + "Clear all the AAA servers counters"; + type empty; + } + leaf radius { + description + "Radius servers information + all - Clear all the RADIUS servers id. + <0..2147483647> - Clear specified RADIUS server id. + the RADIUS server id displayed by show aaa servers"; + type union { + type string { + pattern 'all'; + } + type uint32 { + range "0..2147483647"; + } + } + } + } + } + } + container radius { + description + "Clears radius server information"; + leaf statistics { + description + "Radius statistics"; + type empty; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-types.yang new file mode 100644 index 000000000..427f466eb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa-types.yang @@ -0,0 +1,7740 @@ +module Cisco-IOS-XE-aaa-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-aaa-types"; + prefix aaa-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains type definitions for AAA Types. + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added new enum for location capable attribute + - Added new enum for Role-based Access-list IP version update"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-07-01 { + description + "- Added new enums for location attributes"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-03-01 { + description + "- Added new enums(push-id, policy-version-id, report-config-type) as RADIUS attributes for TrustSec Push-ID feature + - Added MAC address of VM Bridge Host"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-07-01 { + description + "- Added MAC randomization device unique identifier + - Added an enum value for MDNS location ID attribute in aaa-attribute-type-tdl + - Added new enum values for 5G Packet Core Gateway in aaa-attribute-type-tdl + - Added new enum values for rogue-ap-state and rogue-ap-class AV-Pair attributes"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-03-01 { + description + "- Added FQDN Redirect ACL, Auth Survivability, and WLAN Profile Name attributes + - Added Easy PSK and Suite B attributes + - Added Operator name attribute"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "- Added new enums to support RADIUS attributes for Boingo and Syniverse vendors"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "- Added Server list AAA attributes"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef protocol-type { + type enumeration { + enum aaa-protocol-type-none { + value 0; + description + "AAA protocol type None"; + } + enum aaa-protocol-type-invalid { + value 1; + description + "AAA protocol type Invalid"; + } + enum aaa-protocol-type-lcp { + value 2; + description + "AAA protocol type LCP"; + } + enum aaa-protocol-type-ip { + value 3; + description + "AAA protocol type IP"; + } + enum aaa-protocol-type-ipsec { + value 4; + description + "AAA protocol IPSec"; + } + enum aaa-protocol-type-ipx { + value 5; + description + "AAA protocol type IPX"; + } + enum aaa-protocol-type-atalk { + value 6; + description + "AAA protocol type ATALK"; + } + enum aaa-protocol-type-xremote { + value 7; + description + "AAA protocol type XRemote"; + } + enum aaa-protocol-type-tn3270 { + value 8; + description + "AAA protocol type TN3270"; + } + enum aaa-protocol-type-telnet { + value 9; + description + "AAA protocol type Telnet"; + } + enum aaa-protocol-type-tcp-clear { + value 10; + description + "AAA protocol type TCP Clear"; + } + enum aaa-protocol-type-rlogin { + value 11; + description + "AAA protocol type RLogin"; + } + enum aaa-protocol-type-lat { + value 12; + description + "AAA protocol type LAT"; + } + enum aaa-protocol-type-pad { + value 13; + description + "AAA protocol type PAD"; + } + enum aaa-protocol-type-osicp { + value 14; + description + "AAA protocol type OSICP"; + } + enum aaa-protocol-type-tagcp { + value 15; + description + "AAA protocol type TAGCP"; + } + enum aaa-protocol-type-bacp { + value 16; + description + "AAA protocol type BACP"; + } + enum aaa-protocol-type-decnet { + value 17; + description + "AAA protocol type Decnet"; + } + enum aaa-protocol-type-ccp { + value 18; + description + "AAA protocol type CCP"; + } + enum aaa-protocol-type-cdp { + value 19; + description + "AAA protocol type CDP"; + } + enum aaa-protocol-type-bridging { + value 20; + description + "AAA protocol type Bridging"; + } + enum aaa-protocol-type-nbf { + value 21; + description + "AAA protocol type NBF"; + } + enum aaa-protocol-type-bap { + value 22; + description + "AAA protocol type BAP"; + } + enum aaa-protocol-type-multilink { + value 23; + description + "AAA protocol type Multilink"; + } + enum aaa-protocol-type-h323 { + value 24; + description + "AAA protocol type H323"; + } + enum aaa-protocol-type-unknown { + value 25; + description + "AAA protocol type Unknown"; + } + enum aaa-protocol-type-call-accept { + value 26; + description + "AAA protocol type Accept"; + } + enum aaa-protocol-type-vpdn-session { + value 27; + description + "AAA protocol type VPDN Session"; + } + enum aaa-protocol-type-rm-call-status { + value 28; + description + "AAA protocol type RM Call Status"; + } + enum aaa-protocol-type-rm-nas-status { + value 29; + description + "AAA protocol type RM NAS status"; + } + enum aaa-protocol-type-dial-in { + value 30; + description + "AAA protocol type Dial-In"; + } + enum aaa-protocol-type-dial-out { + value 31; + description + "AAA protocol type Dial-Out"; + } + enum aaa-protocol-type-ss7 { + value 32; + description + "AAA protocol type SS7"; + } + enum aaa-protocol-type-rms-stop { + value 33; + description + "AAA protocol type RMS Stop"; + } + enum aaa-protocol-type-rms-start { + value 34; + description + "AAA protocol type RMS Start"; + } + enum aaa-protocol-type-vpdn { + value 35; + description + "AAA protocol type VPDN"; + } + enum aaa-protocol-type-sss { + value 36; + description + "AAA protocol type SSS"; + } + enum aaa-protocol-type-subscriber { + value 37; + description + "AAA protocol type Subscriber"; + } + enum aaa-protocol-type-atm { + value 38; + description + "AAA protocol type ATM"; + } + enum aaa-protocol-type-ssh { + value 39; + description + "AAA protocol type SSH"; + } + enum aaa-protocol-type-ipv6 { + value 40; + description + "AAA protocol type IPv6"; + } + enum aaa-protocol-type-pppoe { + value 41; + description + "AAA protocol type PPPoE"; + } + enum aaa-protocol-type-cdma { + value 42; + description + "AAA protocol type CDMA"; + } + enum aaa-protocol-type-crb { + value 43; + description + "AAA protocol type CRB"; + } + enum aaa-protocol-type-template { + value 44; + description + "AAA protocol type Template"; + } + enum aaa-protocol-type-aaa { + value 45; + description + "AAA protocol type AAA"; + } + enum aaa-protocol-type-mac { + value 46; + description + "AAA protocol type MAC"; + } + enum aaa-protocol-type-leap { + value 47; + description + "AAA protocol type LEAP"; + } + enum aaa-protocol-type-aironet { + value 48; + description + "AAA protocol type Aironet"; + } + enum aaa-protocol-type-entity { + value 49; + description + "AAA protocol type Entity"; + } + enum aaa-protocol-type-epd { + value 50; + description + "AAA protocol type EPD"; + } + enum aaa-protocol-type-igmp { + value 51; + description + "AAA protocol type IGMP"; + } + enum aaa-protocol-type-webvpn { + value 52; + description + "AAA protocol type WEBVPN"; + } + enum aaa-protocol-type-cts { + value 53; + description + "AAA protocol type CTS"; + } + enum aaa-protocol-type-radius { + value 54; + description + "AAA protocol type RADIUS"; + } + enum aaa-protocol-type-evc { + value 55; + description + "AAA protocol type EVC"; + } + enum aaa-protocol-type-elmi { + value 56; + description + "AAA protocol type ELMI"; + } + enum aaa-protocol-type-dot1x { + value 57; + description + "AAA protocol type 802.1x"; + } + enum aaa-protocol-type-dtp { + value 58; + description + "AAA protocol type DTP"; + } + enum aaa-protocol-type-lacp { + value 59; + description + "AAA protocol type LACP"; + } + enum aaa-protocol-type-pagp { + value 60; + description + "AAA protocol type PAGP"; + } + enum aaa-protocol-type-stp { + value 61; + description + "AAA protocol type STP"; + } + enum aaa-protocol-type-vtp { + value 62; + description + "AAA protocol type VTP"; + } + enum aaa-protocol-type-ethernet-mac-tunnel { + value 63; + description + "AAA protocol type Ethernet MAC Tunnel"; + } + enum aaa-protocol-type-bridge-domain { + value 64; + description + "AAA protocol type Bridge Domain"; + } + enum aaa-protocol-type-ethernet-cfm { + value 65; + description + "AAA protocol type Ethernet CFM"; + } + enum aaa-protocol-type-ethernet-service-instance { + value 66; + description + "AAA protocol type Ethernet Service Instance"; + } + enum aaa-protocol-type-service-group { + value 67; + description + "AAA protocol type Service Group"; + } + enum aaa-protocol-type-ip-dhcp-snooping { + value 68; + description + "AAA protocol type IP DHCP Snooping"; + } + enum aaa-protocol-type-ip-source-guard { + value 69; + description + "AAA protocol type IP Source Guard"; + } + enum aaa-protocol-type-error-disable { + value 70; + description + "AAA protocol type Error Disable"; + } + enum aaa-protocol-type-cmac-bridge-domain { + value 71; + description + "AAA protocol type CMAC Bridge Domain"; + } + enum aaa-protocol-type-mac-in-mac-tunnel { + value 72; + description + "AAA protocol type MAC-IN-MAC Tunnel"; + } + enum aaa-protocol-type-l2vpn { + value 73; + description + "AAA protocol type L2VPN"; + } + enum aaa-protocol-type-snmp { + value 74; + description + "AAA protocol type SNMP"; + } + enum aaa-protocol-type-vnid { + value 75; + description + "AAA protocol type VNID"; + } + } + description + "Protocol Type"; + } + + typedef serv-type { + type enumeration { + enum aaa-service-type-none { + value 0; + description + "AAA service type None"; + } + enum aaa-service-type-invalid { + value 1; + description + "AAA service type Invalid"; + } + enum aaa-service-type-shell { + value 2; + description + "AAA service type Shell"; + } + enum aaa-service-type-arap { + value 3; + description + "AAA service type ARAP"; + } + enum aaa-service-type-ppp { + value 4; + description + "AAA service type PPP"; + } + enum aaa-service-type-slip { + value 5; + description + "AAA service type Slip"; + } + enum aaa-service-type-system { + value 6; + description + "AAA service type System"; + } + enum aaa-service-type-resource { + value 7; + description + "AAA service type Resource"; + } + enum aaa-service-type-connection { + value 8; + description + "AAA service type Connection"; + } + enum aaa-service-type-tty-daemon { + value 9; + description + "AAA service type TTY Daemon"; + } + enum aaa-service-type-vpdn { + value 10; + description + "AAA service type VPDN"; + } + enum aaa-service-type-vpdn-out { + value 11; + description + "AAA service type VPDN Out"; + } + enum aaa-service-type-raccess { + value 12; + description + "AAA service type Remote-Access"; + } + enum aaa-service-type-h323 { + value 13; + description + "AAA service type H323"; + } + enum aaa-service-type-outbound { + value 14; + description + "AAA service type Outbound"; + } + enum aaa-service-type-mobile-ip { + value 15; + description + "AAA service type Mobile-IP"; + } + enum aaa-service-type-auth-proxy { + value 16; + description + "AAA service type Auth-Proxy"; + } + enum aaa-service-type-eou { + value 17; + description + "AAA service type EOU"; + } + enum aaa-service-type-ike { + value 18; + description + "AAA service type IKE"; + } + enum aaa-service-type-resource-management { + value 19; + description + "AAA service type Resource Management"; + } + enum aaa-service-type-callback { + value 20; + description + "AAA service type Callback"; + } + enum aaa-service-type-gprs { + value 21; + description + "AAA service type GPRS"; + } + enum aaa-service-type-gprs-pdp-context { + value 22; + description + "AAA service type GPRS PDP Context"; + } + enum aaa-service-type-preauth { + value 23; + description + "AAA service type Pre-Auth"; + } + enum aaa-service-type-translate { + value 24; + description + "AAA service type Translate"; + } + enum aaa-service-type-pki { + value 25; + description + "AAA service type PKI"; + } + enum aaa-service-type-ca { + value 26; + description + "AAA service type CA"; + } + enum aaa-service-type-tti { + value 27; + description + "AAA service type Trusted Transitive Introduction"; + } + enum aaa-service-type-multicast { + value 28; + description + "AAA service type Multicast"; + } + enum aaa-service-type-encryption { + value 29; + description + "AAA service type Encryption"; + } + } + description + "Service Type"; + } + + typedef aaa-req-status { + type enumeration { + enum aaa-req-status-begin { + value 0; + description + "AAA Request Status Begin"; + } + enum aaa-req-status-sent { + value 1; + description + "AAA Request Status Sent"; + } + enum aaa-req-status-pass { + value 2; + description + "AAA Request Status Pass"; + } + enum aaa-req-status-fail { + value 3; + description + "AAA Request Fail"; + } + enum aaa-req-status-fail-no-retries { + value 4; + description + "AAA Request Status Fail No Retries"; + } + enum aaa-req-status-failover-retry { + value 5; + description + "AAA Request Status Failover Retry"; + } + enum aaa-req-status-user-nopassword { + value 6; + description + "AAA Request Status User Nopassword"; + } + enum aaa-req-status-get-user { + value 7; + description + "AAA Request Status Get User"; + } + enum aaa-req-status-get-password { + value 8; + description + "AAA Request Status Get Password"; + } + enum aaa-req-status-get-data { + value 9; + description + "AAA Request Status Get Data"; + } + enum aaa-req-status-cancelled { + value 10; + description + "AAA Request Status Cancelled"; + } + enum aaa-req-status-get-challenge-response { + value 11; + description + "AAA Request Status Get Challenge Response"; + } + enum aaa-req-status-get-new-password { + value 12; + description + "AAA Request Status Get New Password"; + } + enum aaa-req-status-get-challenge-resp-noecho { + value 13; + description + "AAA Request Status Get Challenge Response Noecho"; + } + } + description + "AAA Request Status"; + } + + typedef aaa-attribute-type-tdl { + type enumeration { + enum aaa-at-invalid { + value 0; + description + "Invalid attribute"; + } + enum aaa-at-abort-cause { + value 1; + description + "Extended disconnect cause reasons"; + } + enum aaa-at-acct-status-type { + value 2; + description + "The type of accounting request"; + } + enum aaa-at-acct-tunnel-packets-lost { + value 3; + description + "The number of packets lost on a given link"; + } + enum aaa-at-acl { + value 4; + description + "An access list"; + } + enum aaa-at-authorized-services { + value 5; + description + "Services authorized by server"; + } + enum aaa-at-auto-logon-service { + value 6; + description + "SG replacement for Service Selection Gateway vsa"; + } + enum aaa-at-azn-tag { + value 7; + description + "Identifies the translate-tag"; + } + enum aaa-at-ipv4-address { + value 8; + description + "The IPv4 address for the user"; + } + enum aaa-at-svc-assigned-ipv4-address { + value 9; + description + "Service assigned IP address for the user"; + } + enum aaa-at-ipv6-address { + value 10; + description + "The IPv6 address for the user"; + } + enum aaa-at-address-pool { + value 11; + description + "The IP address pool to obtain address from"; + } + enum aaa-at-ip-subscriber-route { + value 12; + description + "IP Subscriber routes configuration"; + } + enum aaa-at-async-map { + value 13; + description + "Async control character map"; + } + enum aaa-at-authentic { + value 14; + description + "Method of authentication"; + } + enum aaa-at-autocommand { + value 15; + description + "Automatic command to run at startup"; + } + enum aaa-at-autocommand-ip-prompt { + value 16; + description + "Automatic command to run at IP prompt"; + } + enum aaa-at-authen-status { + value 17; + description + "Indicates the authenticated status"; + } + enum aaa-at-authen-method { + value 18; + description + "Indicates the negotiated authentication protocol"; + } + enum aaa-at-authen-strength { + value 19; + description + "Indicates strength of authentication protocol [128 bit | 40 bit..]"; + } + enum aaa-at-callback { + value 20; + description + "Callback dial string"; + } + enum aaa-at-callback-line { + value 21; + description + "Per-username line for callback"; + } + enum aaa-at-callback-no-verify { + value 22; + description + "Does not require authentication after callback"; + } + enum aaa-at-callback-rotary { + value 23; + description + "Per-username rotary group for callback"; + } + enum aaa-at-call-drops { + value 24; + description + "Call drop rate"; + } + enum aaa-at-call-type { + value 25; + description + "Call type"; + } + enum aaa-at-force-local-chap { + value 26; + description + "Force local CHAP flag"; + } + enum aaa-at-call-origin-endpoint { + value 27; + description + "The leg-2 endpoint value"; + } + enum aaa-at-call-origin-endpoint-type { + value 28; + description + "The leg-2 endpoint info type"; + } + enum aaa-at-chap-challenge { + value 29; + description + "CHAP challenge"; + } + enum aaa-at-chap-id { + value 30; + description + "CHAP id"; + } + enum aaa-at-chap-response { + value 31; + description + "CHAP response"; + } + enum aaa-at-chap-authen-user { + value 32; + description + "CHAP authentication user key"; + } + enum aaa-at-connect-info { + value 33; + description + "Nature of the connection"; + } + enum aaa-at-user-data { + value 34; + description + "User data"; + } + enum aaa-at-server-data { + value 35; + description + "Server data"; + } + enum aaa-at-clid { + value 36; + description + "Calling station identifier"; + } + enum aaa-at-formatted-clid { + value 37; + description + "Formatted calling station identifier"; + } + enum aaa-at-circuit-id { + value 38; + description + "Circuit-Id Tag"; + } + enum aaa-at-remote-id { + value 39; + description + "Remote-Id Tag"; + } + enum aaa-at-vendor-class-id { + value 40; + description + "Vendor-Class-Id Tag"; + } + enum aaa-at-caller-type-of-num { + value 41; + description + "ISDN caller type of number"; + } + enum aaa-at-clid-mac-addr { + value 42; + description + "The MAC address from where the call came"; + } + enum aaa-at-session-limit { + value 43; + description + "Session limit per port"; + } + enum aaa-at-mac-address { + value 44; + description + "MAC address of client"; + } + enum aaa-at-epd-peer-version { + value 45; + description + "EPD peer version"; + } + enum aaa-at-epd-peer-mode { + value 46; + description + "EPD peer mode"; + } + enum aaa-at-epd-peer-keepalive { + value 47; + description + "EPD peer keepalive"; + } + enum aaa-at-epd-peer-inform-owner-on-pull { + value 48; + description + "EPD peer inform Owner On Pull"; + } + enum aaa-at-epd-acct-flows { + value 49; + description + "Number of EPD accounting flows"; + } + enum aaa-at-epd-acct-flows-duration { + value 50; + description + "EPD accounting flow duration"; + } + enum aaa-at-actual-rate-up { + value 51; + description + "Actual Data-Rate Upstream"; + } + enum aaa-at-actual-rate-down { + value 52; + description + "Actual Data-Rate Downstream"; + } + enum aaa-at-min-rate-up { + value 53; + description + "Minimum Data-Rate Upstream"; + } + enum aaa-at-min-rate-down { + value 54; + description + "Minimum Data-Rate Downstream"; + } + enum aaa-at-attainable-rate-up { + value 55; + description + "Attainable Data-Rate Upstream"; + } + enum aaa-at-attainable-rate-down { + value 56; + description + "Attainable Data-Rate Downstream"; + } + enum aaa-at-max-rate-up { + value 57; + description + "Maximum Data-Rate Upstream"; + } + enum aaa-at-max-rate-down { + value 58; + description + "Maximum Data-Rate Downstream"; + } + enum aaa-at-min-rate-up-lp { + value 59; + description + "Minimum Data-Rate Upstream-Low-Power"; + } + enum aaa-at-min-rate-down-lp { + value 60; + description + "Minimum Data-Rate Downstream Low Power"; + } + enum aaa-at-max-inter-delay-up { + value 61; + description + "Maximum Interleaving Delay Upstream"; + } + enum aaa-at-max-inter-delay-down { + value 62; + description + "Maximum Interleaving Delay Downstream"; + } + enum aaa-at-actual-inter-delay-up { + value 63; + description + "Actual Interleaving Delay Upstream"; + } + enum aaa-at-actual-inter-delay-down { + value 64; + description + "Actual Interleaving Delay Downstream"; + } + enum aaa-at-iwf-tag { + value 65; + description + "Interworking Functionality Tag"; + } + enum aaa-at-access-loop-encapsulation { + value 66; + description + "Access Loop Encapsulation"; + } + enum aaa-at-epd-reporting-reason { + value 67; + description + "EPD reporting reason"; + } + enum aaa-at-dsl-type { + value 68; + description + "DSL type"; + } + enum aaa-at-ancp-line-rate { + value 69; + description + "Line rate of Digital Subscriber Line Access Multiplex client"; + } + enum aaa-at-data-rate-kbps { + value 70; + description + "Rate of data received in kbps"; + } + enum aaa-at-xmit-rate-kbps { + value 71; + description + "The kbps rate which packets are being sent to the user"; + } + enum aaa-at-ancp-access-loop-cir-id { + value 72; + description + "Access Node Control Protocol access loop cir-id"; + } + enum aaa-at-command { + value 73; + description + "Command"; + } + enum aaa-at-command-arg { + value 74; + description + "Command argument"; + } + enum aaa-at-conn-prog { + value 75; + description + "Connection progress"; + } + enum aaa-at-connect-rx-speed { + value 76; + description + "Connection RX speed"; + } + enum aaa-at-connect-tx-speed { + value 77; + description + "Connection TX speed"; + } + enum aaa-at-data-rate { + value 78; + description + "Rate of data received"; + } + enum aaa-at-data-service { + value 79; + description + "Type of data service for outgoing call"; + } + enum aaa-at-dial-number { + value 80; + description + "Number to dial for outgoing call"; + } + enum aaa-at-trunkgroup { + value 81; + description + "The trunk-group to be used for the outgoing call"; + } + enum aaa-at-dnis { + value 82; + description + "Destination station identifier"; + } + enum aaa-at-dns-server { + value 83; + description + "Primary and Secondary DNS Servers"; + } + enum aaa-at-auto-update { + value 84; + description + "Client Url Revision"; + } + enum aaa-at-dns-server-primary { + value 85; + description + "Primary DNS server address"; + } + enum aaa-at-dns-server-secondary { + value 86; + description + "Secondary DNS server address"; + } + enum aaa-at-eap-message { + value 87; + description + "Extended Access Protocol (EAP) packet encapsulation"; + } + enum aaa-at-eap-session-id { + value 88; + description + "EAP Session ID for CAK name derivation"; + } + enum aaa-at-dns-client-assign { + value 89; + description + "Assign client with DNS attributes"; + } + enum aaa-at-email-server-ack-flag { + value 90; + description + "Email server ack flag"; + } + enum aaa-at-event { + value 91; + description + "Specifies the event requested by the NAD"; + } + enum aaa-at-reason { + value 92; + description + "Reason information"; + } + enum aaa-at-fax-account-id-origin { + value 93; + description + "Fax account id origin"; + } + enum aaa-at-fax-auth-status { + value 94; + description + "Fax authentication status"; + } + enum aaa-at-fax-connect-speed { + value 95; + description + "Fax connect speed"; + } + enum aaa-at-fax-cover-page-flag { + value 96; + description + "Fax cover page flag"; + } + enum aaa-at-fax-dsn-address { + value 97; + description + "Fax Delivery Status Notification address"; + } + enum aaa-at-fax-dsn-flag { + value 98; + description + "Flag for fax Delivery Status Notification"; + } + enum aaa-at-fax-mdn-address { + value 99; + description + "Fax Message Disposition Notifications address"; + } + enum aaa-at-fax-mdn-flag { + value 100; + description + "Fax Message Disposition Notifications flag"; + } + enum aaa-at-fax-msg-id { + value 101; + description + "Fax message ID"; + } + enum aaa-at-fax-modem-time { + value 102; + description + "Fax modem time"; + } + enum aaa-at-fax-pages { + value 103; + description + "Fax pages"; + } + enum aaa-at-fax-abort-cause { + value 104; + description + "Fax abort cause"; + } + enum aaa-at-email-server-address { + value 105; + description + "Email server address"; + } + enum aaa-at-fax-process-abort-flag { + value 106; + description + "Fax process abort flag"; + } + enum aaa-at-fax-recipient-count { + value 107; + description + "Fax recipient count"; + } + enum aaa-at-fltsv-cache-refresh { + value 108; + description + "Filter cache timer"; + } + enum aaa-at-fltsv-cache-time { + value 109; + description + "Time which filter profile should remain cached"; + } + enum aaa-at-fltsv-required { + value 110; + description + "Requires a filter profile"; + } + enum aaa-at-framed-protocol { + value 111; + description + "The framed protocol"; + } + enum aaa-at-framed-mtu { + value 112; + description + "The MTU available on the link"; + } + enum aaa-at-force-56 { + value 113; + description + "Whether the NAS should use only 56 KB"; + } + enum aaa-at-gateway-id { + value 114; + description + "Gateway ID"; + } + enum aaa-at-ggsn-grouped { + value 115; + description + "Grouped Gateway GPRS Support Node Attributes"; + } + enum aaa-at-h323-billing-model { + value 116; + description + "H323 billing model"; + } + enum aaa-at-h323-call-origin { + value 117; + description + "H323 call origin"; + } + enum aaa-at-h323-call-type { + value 118; + description + "H323 call type"; + } + enum aaa-at-h323-conf-id { + value 119; + description + "H323 conference ID"; + } + enum aaa-at-h323-connect-time { + value 120; + description + "H323 connection time"; + } + enum aaa-at-h323-credit-amount { + value 121; + description + "H323 credit amount"; + } + enum aaa-at-h323-credit-time { + value 122; + description + "H323 credit time"; + } + enum aaa-at-h323-currency-type { + value 123; + description + "H323 currency type"; + } + enum aaa-at-h323-disconnect-cause { + value 124; + description + "H323 disconnect cause"; + } + enum aaa-at-h323-disconnect-time { + value 125; + description + "H323 disconnect time"; + } + enum aaa-at-h323-gw-id { + value 126; + description + "H323 gateway ID"; + } + enum aaa-at-h323-incoming-conf-id { + value 127; + description + "H323 incoming conference ID"; + } + enum aaa-at-h323-ivr-in { + value 128; + description + "H323 Interactive Voice Response in"; + } + enum aaa-at-h323-ivr-out { + value 129; + description + "H323 Interactive Voice Response out"; + } + enum aaa-at-h323-preferred-lang { + value 130; + description + "H323 preferred language"; + } + enum aaa-at-h323-prompt-id { + value 131; + description + "H323 prompt ID"; + } + enum aaa-at-h323-redirect-ip-address { + value 132; + description + "H323 redirect ip address"; + } + enum aaa-at-h323-redirect-number { + value 133; + description + "H323 redirect number"; + } + enum aaa-at-h323-remote-address { + value 134; + description + "H323 remote address"; + } + enum aaa-at-h323-remote-id { + value 135; + description + "H323 remote ID"; + } + enum aaa-at-h323-return-code { + value 136; + description + "H323 return code"; + } + enum aaa-at-h323-setup-time { + value 137; + description + "H323 setup time"; + } + enum aaa-at-h323-time-and-day { + value 138; + description + "H323 time and day"; + } + enum aaa-at-h323-voice-quality { + value 139; + description + "H323 voice quality"; + } + enum aaa-at-h323-subscriber { + value 140; + description + "H323 subscriber"; + } + enum aaa-at-release-source { + value 141; + description + "Originator of the call release"; + } + enum aaa-at-idle-timeout { + value 142; + description + "Idle seconds before disconnect"; + } + enum aaa-at-call-in-acl { + value 143; + description + "A call ingress access list"; + } + enum aaa-at-in-acl { + value 144; + description + "An ingress access list"; + } + enum aaa-at-input-giga-words { + value 145; + description + "Number of times that Acct-Input-Octets has wrapped"; + } + enum aaa-at-input-octets { + value 146; + description + "Bytes received from a port"; + } + enum aaa-at-input-packets { + value 147; + description + "Packets received from a port"; + } + enum aaa-at-input-giga-words-ipv6 { + value 148; + description + "Number of times that Acct-Input-Octets-IPv6 has wrapped"; + } + enum aaa-at-input-octets-ipv6 { + value 149; + description + "Bytes received from a port for IPv6 sessions"; + } + enum aaa-at-input-packets-ipv6 { + value 150; + description + "IPv6 Packets received from a port"; + } + enum aaa-at-tariff-input-giga-words { + value 151; + description + "Number of times that tariff-input-octets has wrapped"; + } + enum aaa-at-tariff-input-octets { + value 152; + description + "Per Tariff bytes received for a session"; + } + enum aaa-at-tariff-input-packets { + value 153; + description + "Per Tariff Packets received for a session"; + } + enum aaa-at-tariff-input-giga-words-ipv6 { + value 154; + description + "Number of times that tariff-input-octets-ipv6 has wrapped"; + } + enum aaa-at-tariff-input-octets-ipv6 { + value 155; + description + "Per tariff IPv6 bytes received for a session"; + } + enum aaa-at-tariff-input-packets-ipv6 { + value 156; + description + "Per Tariff IPv6 Packets received for a session"; + } + enum aaa-at-tariff-output-giga-words { + value 157; + description + "Number of times that tariff-output-octets has wrapped"; + } + enum aaa-at-tariff-output-octets { + value 158; + description + "Per Tariff bytes sent for a session"; + } + enum aaa-at-tariff-output-packets { + value 159; + description + "Per Tariff Packets sent for a session"; + } + enum aaa-at-tariff-output-giga-words-ipv6 { + value 160; + description + "Number of times that tariff-output-octets-ipv6 has wrapped"; + } + enum aaa-at-tariff-output-octets-ipv6 { + value 161; + description + "Per tariff IPv6 bytes sent for a session"; + } + enum aaa-at-tariff-output-packets-ipv6 { + value 162; + description + "Per Tariff IPv6 Packets sent for a session"; + } + enum aaa-at-idmgr-data { + value 163; + description + "ID MGR data"; + } + enum aaa-at-idmgr-svc-key { + value 164; + description + "Key to identify a service; session-handle + service-name"; + } + enum aaa-at-pppoe-unique-key { + value 165; + description + "Unique key identifier for pppoe session"; + } + enum aaa-at-session-guid { + value 166; + description + "Global identifier for a session"; + } + enum aaa-at-nas-identifier { + value 167; + description + "A string identifying the NAS sending the Access-Request"; + } + enum aaa-at-charged-units { + value 168; + description + "Charged units"; + } + enum aaa-at-disconnect-text { + value 169; + description + "Disconnect text"; + } + enum aaa-at-info-type { + value 170; + description + "Information type"; + } + enum aaa-at-logical-if-index { + value 171; + description + "Interface from which call was made"; + } + enum aaa-at-peer-address { + value 172; + description + "The number this call was connected to"; + } + enum aaa-at-peer-id { + value 173; + description + "Id value of the peer table entry this call was made to"; + } + enum aaa-at-peer-if-index { + value 174; + description + "Index value of peer table entry the call was made to"; + } + enum aaa-at-acom-level { + value 175; + description + "Telephony VSA level"; + } + enum aaa-at-tx-duration { + value 176; + description + "Duration of transmit path open from this peer to gateway"; + } + enum aaa-at-voice-tx-duration { + value 177; + description + "Duration of voice packets transmitted"; + } + enum aaa-at-noise-level { + value 178; + description + "The average noise level in dBm"; + } + enum aaa-at-codec-bytes { + value 179; + description + "Codec bytes"; + } + enum aaa-at-coder-type-rate { + value 180; + description + "Coder type rate"; + } + enum aaa-at-early-packets { + value 181; + description + "Packets received too early to store in jitter buffer"; + } + enum aaa-at-late-packets { + value 182; + description + "Packets arrive too late for CODEC"; + } + enum aaa-at-lost-packets { + value 183; + description + "Number of packets lost"; + } + enum aaa-at-gapfill-w-itpol { + value 184; + description + "Gap fill with interpolation"; + } + enum aaa-at-gapfill-w-predt { + value 185; + description + "Gap fill with prediction"; + } + enum aaa-at-gapfill-w-rdncy { + value 186; + description + "Gap fill with redundancy"; + } + enum aaa-at-gapfill-w-silen { + value 187; + description + "Gap fill with silence"; + } + enum aaa-at-lowater-playout-delay { + value 188; + description + "Low-water play-out delay"; + } + enum aaa-at-hiwater-playout-delay { + value 189; + description + "Hi-water play-out delay"; + } + enum aaa-at-ontime-rv-playout { + value 190; + description + "Duration of a call play-out since data received on time"; + } + enum aaa-at-receive-delay { + value 191; + description + "Average voice play-out FIFO-delay plus decoder-delay"; + } + enum aaa-at-round-trip-delay { + value 192; + description + "The voice packet round trip delay"; + } + enum aaa-at-remote-udp-port { + value 193; + description + "Remote system UDP listener port"; + } + enum aaa-at-session-protocol { + value 194; + description + "Session protocol used for Internet call through IP"; + } + enum aaa-at-vad-enable { + value 195; + description + "Whether or not Voice Activity Detection enabled"; + } + enum aaa-at-in-area { + value 196; + description + "Zone ID for H323 call or originating domain for SIP"; + } + enum aaa-at-out-area { + value 197; + description + "Zone ID for H323 call or terminating domain for SIP"; + } + enum aaa-at-in-if-desc { + value 198; + description + "Description field of voice port for a incoming call"; + } + enum aaa-at-out-if-desc { + value 199; + description + "Description field of voice port for a outgoing call"; + } + enum aaa-at-service-descriptor { + value 200; + description + "Routing and accounting information from the route server"; + } + enum aaa-at-in-carrier-id { + value 201; + description + "The incoming carrier identifier"; + } + enum aaa-at-out-carrier-id { + value 202; + description + "The outgoing carrier identifier"; + } + enum aaa-at-in-tg-label { + value 203; + description + "The incoming trunk group label"; + } + enum aaa-at-out-tg-label { + value 204; + description + "The outgoing trunk group label"; + } + enum aaa-at-alert-time { + value 205; + description + "Alert time point"; + } + enum aaa-at-gw-rxd-cdn { + value 206; + description + "Gateway received called number"; + } + enum aaa-at-gw-rxd-cgn { + value 207; + description + "Gateway received calling number"; + } + enum aaa-at-gw-rxd-ocn { + value 208; + description + "Gateway received original called number"; + } + enum aaa-at-gw-rxd-cnn { + value 209; + description + "Gateway received alias called number"; + } + enum aaa-at-gw-rxd-rdn { + value 210; + description + "Gateway received redirecting number"; + } + enum aaa-at-final-cdn { + value 211; + description + "Gateway sent final translated called number"; + } + enum aaa-at-final-cgn { + value 212; + description + "Gateway sent final translated calling number"; + } + enum aaa-at-final-rdn { + value 213; + description + "Gateway sent final translated redirecting number"; + } + enum aaa-at-gk-xlated-cdn { + value 214; + description + "Gatekeeper sent e164 alias called number"; + } + enum aaa-at-gk-xlated-cgn { + value 215; + description + "Gatekeeper sent e164 alias calling number"; + } + enum aaa-at-gw-coll-cdn { + value 216; + description + "Gateway appl collected called number"; + } + enum aaa-at-orig-cic { + value 217; + description + "Gateway sent final originating translated called number"; + } + enum aaa-at-term-cic { + value 218; + description + "Gateway sent final terminating translated called number"; + } + enum aaa-at-termination-action { + value 219; + description + "An indication for termination"; + } + enum aaa-at-aaa-unique-id { + value 220; + description + "The AAA unique id"; + } + enum aaa-at-interface { + value 221; + description + "Name of the interface that is in use"; + } + enum aaa-at-interface-config { + value 222; + description + "Configuration commands for an interface"; + } + enum aaa-at-interface-parent { + value 223; + description + "Parent interface that is in use"; + } + enum aaa-at-interface-parent-type { + value 224; + description + "Type of the parent interface that is in use"; + } + enum aaa-at-interface-type { + value 225; + description + "Type of the interface that is in use"; + } + enum aaa-at-interim-interval { + value 226; + description + "Accounting interim interval"; + } + enum aaa-at-ip-addresses { + value 227; + description + "IP addresses of the home gateway"; + } + enum aaa-at-ip-address-limits { + value 228; + description + "Session limits for IP addresses of the home gateway"; + } + enum aaa-at-key-exchange { + value 229; + description + "Key exchange"; + } + enum aaa-at-vpdn-template { + value 230; + description + "Name of vpdn-template to use"; + } + enum aaa-at-l2f-cm-retransmit-retries { + value 231; + description + "Number of retries before tearing down a Layer-2 Forwarding tunnel"; + } + enum aaa-at-l2f-init-retransmit-retries { + value 232; + description + "Layer-2 Forwarding initial retries before placing HGW on busy list"; + } + enum aaa-at-l2f-tunnel-timeout-setup { + value 233; + description + "Time permitted to setup a Layer-2 Forwarding tunnel"; + } + enum aaa-at-l2f-busy-list-timeout { + value 234; + description + "How long an address is on the Layer-2 Forwarding busy list"; + } + enum aaa-at-l2tp-busy-disconnect { + value 235; + description + "L2TP busy disconnect"; + } + enum aaa-at-l2tp-framing-cap { + value 236; + description + "L2TP framing capabilities"; + } + enum aaa-at-l2tp-bearer-cap { + value 237; + description + "L2TP bearer capabilities"; + } + enum aaa-at-l2tp-cm-local-window-size { + value 238; + description + "L2TP CM local window size"; + } + enum aaa-at-l2tp-cm-max-timeout { + value 239; + description + "L2TP CM max timeout"; + } + enum aaa-at-l2tp-cm-min-timeout { + value 240; + description + "L2TP CM min timeout"; + } + enum aaa-at-l2tp-init-max-timeout { + value 241; + description + "Maximum Start Control Connection Request timeout"; + } + enum aaa-at-l2tp-init-min-timeout { + value 242; + description + "Minimum Start Control Connection Request timeout"; + } + enum aaa-at-l2tp-init-retransmit-retries { + value 243; + description + "Start Control Connection Request retries before placing L2TP Network Server on busy list"; + } + enum aaa-at-l2tp-busy-list-timeout { + value 244; + description + "How long an address is on the L2TP busy list"; + } + enum aaa-at-l2tp-drop-out-of-order { + value 245; + description + "L2TP drop out of order"; + } + enum aaa-at-l2tp-hello-interval { + value 246; + description + "L2TP hello interval"; + } + enum aaa-at-l2tp-hidden-avp { + value 247; + description + "L2TP hidden Attribute-Value Pair"; + } + enum aaa-at-l2tp-rx-speed { + value 248; + description + "L2TP configurable rx speed"; + } + enum aaa-at-l2tp-tx-speed { + value 249; + description + "L2TP configurable tx speed"; + } + enum aaa-at-l2tp-ignore-connect-speed { + value 250; + description + "L2TP ignore Attribute-Value Pair 24"; + } + enum aaa-at-l2tp-max-ato { + value 251; + description + "L2TP max Adaptive Time-Out"; + } + enum aaa-at-l2tp-no-session-timeout { + value 252; + description + "L2TP no session timeout"; + } + enum aaa-at-l2tp-relay-group-name { + value 253; + description + "PPPoE bba-group to be used for relay"; + } + enum aaa-at-l2tp-queue-size { + value 254; + description + "L2TP queue size"; + } + enum aaa-at-l2tp-receive-window { + value 255; + description + "L2TP receive window"; + } + enum aaa-at-l2tp-cm-retransmit-retries { + value 256; + description + "L2TP CM retransmit retries"; + } + enum aaa-at-l2tp-sequencing { + value 257; + description + "L2TP sequencing"; + } + enum aaa-at-l2tp-static-rtt { + value 258; + description + "L2TP static RTT"; + } + enum aaa-at-l2tp-tunnel-authen { + value 259; + description + "L2TP tunnel authentication"; + } + enum aaa-at-l2tp-tunnel-acct { + value 260; + description + "L2TP tunnel accounting"; + } + enum aaa-at-l2tp-tunnel-password { + value 261; + description + "L2TP tunnel password"; + } + enum aaa-at-l2tp-tunnel-timeout-setup { + value 262; + description + "L2TP tunnel timeout setup"; + } + enum aaa-at-l2tp-clid-mask-method { + value 263; + description + "Method to mask CLID in L2TP Attribute-Value Pair 22 of Incoming Call Request"; + } + enum aaa-at-l2tp-udp-checksum { + value 264; + description + "L2TP UDP checksum"; + } + enum aaa-at-l2tp-security-ip-address-check { + value 265; + description + "LAC to verify outgoing/incoming IP to/from L2TP Network Server"; + } + enum aaa-at-l2tp-security-required { + value 266; + description + "Security required for L2TP tunnel"; + } + enum aaa-at-l2tp-security-teardown-conn { + value 267; + description + "IKE phase 1 Security Association on L2TP tunnel teardown"; + } + enum aaa-at-l2tp-resync-packets { + value 268; + description + "L2TP tunnel resync packets"; + } + enum aaa-at-link-compression { + value 269; + description + "Link compression"; + } + enum aaa-at-map-class { + value 270; + description + "Map class for outgoing call"; + } + enum aaa-at-epd-error-cause { + value 271; + description + "EPD error cause"; + } + enum aaa-at-error-cause { + value 272; + description + "Dynamic-author error cause"; + } + enum aaa-at-message { + value 273; + description + "A reply message for the user"; + } + enum aaa-at-message-authenticator { + value 274; + description + "Used to sign Access-Requests to prevent spoof"; + } + enum aaa-at-mlp-links-current { + value 275; + description + "Current number of multilink links"; + } + enum aaa-at-mlp-links-max { + value 276; + description + "Maximum allowable links in multilink call"; + } + enum aaa-at-mlp-session-id { + value 277; + description + "Multilink session identifier"; + } + enum aaa-at-modem-on-hold { + value 278; + description + "Per-call configuration of V.92 modem on hold"; + } + enum aaa-at-modem-script { + value 279; + description + "Chat scripts for session"; + } + enum aaa-at-mobile-ip-spi { + value 280; + description + "Mobile IP Security Association"; + } + enum aaa-at-mobile-ip-stat-ip-pool { + value 281; + description + "Mobile IP static IP pool"; + } + enum aaa-at-mobile-ip-stat-adr { + value 282; + description + "Mobile IP static IP address"; + } + enum aaa-at-mobile-ip-dyn-pool { + value 283; + description + "Mobile IP dynamic IP pool"; + } + enum aaa-at-mobile-ip-dyn-adr { + value 284; + description + "Mobile IP dynamic address"; + } + enum aaa-at-mobile-ip-stat-pool-defenition { + value 285; + description + "Mobile IP static address authorization"; + } + enum aaa-at-mobile-ip-stat-pool { + value 286; + description + "IP addresses for mobile-ip static address authorization"; + } + enum aaa-at-mobileip-rf-swact { + value 287; + description + "Mobile IP RF Switch of Activity"; + } + enum aaa-at-dhcp-server { + value 288; + description + "DHCP server address"; + } + enum aaa-at-mobile-ip-dhcp-server { + value 289; + description + "Mobile IP DHCP server"; + } + enum aaa-at-dhcp-class { + value 290; + description + "DHCP class name"; + } + enum aaa-at-config-source-dpm { + value 291; + description + "Configuration sourced by DHCP Policy Module"; + } + enum aaa-at-multicast-client { + value 292; + description + "Multicast client"; + } + enum aaa-at-multicast-rlimit { + value 293; + description + "Multicast rate limit"; + } + enum aaa-at-multilink-idle { + value 294; + description + "Multilink idle threshold"; + } + enum aaa-at-multilink-load { + value 295; + description + "Multilink load threshold"; + } + enum aaa-at-multilink-max { + value 296; + description + "Multilink maximum links"; + } + enum aaa-at-multilink-min { + value 297; + description + "Multilink minimum links"; + } + enum aaa-at-multilink-negotiate { + value 298; + description + "Multilink negotiate"; + } + enum aaa-at-nas-description { + value 299; + description + "NAS description"; + } + enum aaa-at-nbns-primary-server { + value 300; + description + "Primary NetBIOS Name Server"; + } + enum aaa-at-nbns-secondary-server { + value 301; + description + "Secondary NetBIOS Name Server"; + } + enum aaa-at-num-sessions { + value 302; + description + "Number of sessions"; + } + enum aaa-at-ipv4-netmask { + value 303; + description + "The IP netmask for the user"; + } + enum aaa-at-no-escape { + value 304; + description + "No escape"; + } + enum aaa-at-no-hangup { + value 305; + description + "No hangup"; + } + enum aaa-at-old-password { + value 306; + description + "The old password for a change password protocol"; + } + enum aaa-at-old-prompts { + value 307; + description + "The old prompt for a change password protocol"; + } + enum aaa-at-call-out-acl { + value 308; + description + "A call egress access list"; + } + enum aaa-at-output-giga-words { + value 309; + description + "Number of times that Acct-Output-Octets has wrapped"; + } + enum aaa-at-out-acl { + value 310; + description + "An egress access list"; + } + enum aaa-at-output-octets { + value 311; + description + "The number of bytes sent to a port"; + } + enum aaa-at-output-packets { + value 312; + description + "The number of packets sent to a port"; + } + enum aaa-at-output-giga-words-ipv6 { + value 313; + description + "Number of times that Acct-Output-Octets-ipv6 has wrapped"; + } + enum aaa-at-output-octets-ipv6 { + value 314; + description + "The number of bytes sent to a port in an IPv6 session"; + } + enum aaa-at-output-packets-ipv6 { + value 315; + description + "The number of IPv6 packets sent to a port"; + } + enum aaa-at-ip-port-bundle-hdl { + value 316; + description + "Unique identifier for a L4 redirect session"; + } + enum aaa-at-nativeip-vrf { + value 317; + description + "combination of native IP address and VRF"; + } + enum aaa-at-domainip-vrf { + value 318; + description + "combination of domain IP address and VRF"; + } + enum aaa-at-system-script { + value 319; + description + "System script for a particular session"; + } + enum aaa-at-user-password { + value 320; + description + "The password of the user to be authenticated"; + } + enum aaa-at-pool-definition { + value 321; + description + "IP pool definition"; + } + enum aaa-at-pool-addr { + value 322; + description + "Subnet from AR to be used by ODAP for DHCP leases"; + } + enum aaa-at-pool-mask { + value 323; + description + "Subnet mask to/from AR to specify subnet size"; + } + enum aaa-at-pool-timeout { + value 324; + description + "IP Pool timeout"; + } + enum aaa-at-port { + value 325; + description + "The port for reverse-access authorization"; + } + enum aaa-at-port-limit { + value 326; + description + "Number of ports that can be allocated to this call"; + } + enum aaa-at-port-used { + value 327; + description + "Port used"; + } + enum aaa-at-ppp-vj-slot { + value 328; + description + "PPP VJ slot compression"; + } + enum aaa-at-ppp-disc-cause { + value 329; + description + "PPP disconnect cause"; + } + enum aaa-at-presession-octets-in { + value 330; + description + "The bytes sent from the station before authentication"; + } + enum aaa-at-presession-octets-out { + value 331; + description + "The bytes sent to the station before authentication"; + } + enum aaa-at-presession-packets-in { + value 332; + description + "The packets sent from the station before authentication"; + } + enum aaa-at-presession-packets-out { + value 333; + description + "The packets sent to the station before authentication"; + } + enum aaa-at-presession-time { + value 334; + description + "The seconds a user was connected before authentication"; + } + enum aaa-at-privilege-level { + value 335; + description + "The privilege level the user has"; + } + enum aaa-at-view { + value 336; + description + "The view the user has"; + } + enum aaa-at-protocol { + value 337; + description + "AAA protocol"; + } + enum aaa-at-proxy-acl { + value 338; + description + "Proxy access list"; + } + enum aaa-at-auth-required { + value 339; + description + "Further authentication required"; + } + enum aaa-at-auth-type { + value 340; + description + "Authentication protocol that will be applied to the peer"; + } + enum aaa-at-wlan-nas-location { + value 341; + description + "Dot11 NAS location"; + } + enum aaa-at-wlan-algo-type { + value 342; + description + "Dot11 authentication algorithm type"; + } + enum aaa-at-wlan-vlan-id { + value 343; + description + "Dot11 VLAN identifier"; + } + enum aaa-at-service-type { + value 344; + description + "Authorization service type"; + } + enum aaa-at-session-key { + value 345; + description + "Key to encrypt session"; + } + enum aaa-at-service-set-id { + value 346; + description + "Dot11 Service Set ID"; + } + enum aaa-at-aironet-extention { + value 347; + description + "Dot11 Aironet Admin Capabilities"; + } + enum aaa-at-modem-service { + value 348; + description + "Pre-auth modem service"; + } + enum aaa-at-redirect-number { + value 349; + description + "The 800 number the user called"; + } + enum aaa-at-reload-user { + value 350; + description + "The name of user issuing the reload command"; + } + enum aaa-at-reload-reason { + value 351; + description + "The reason that the box was reloaded or restarted"; + } + enum aaa-at-ios-version { + value 352; + description + "The IOS version running on the box"; + } + enum aaa-at-shared-profile-enable { + value 353; + description + "Sharing user profile"; + } + enum aaa-at-resource-service { + value 354; + description + "Resource service requested from server"; + } + enum aaa-at-rm-call-count { + value 355; + description + "Resource Manager call count"; + } + enum aaa-at-rm-call-handle { + value 356; + description + "Resource Manager call handle"; + } + enum aaa-at-rm-call-treatment { + value 357; + description + "Resource Manager call treatment"; + } + enum aaa-at-rm-call-type { + value 358; + description + "Resource Manager call type"; + } + enum aaa-at-rm-cp-name { + value 359; + description + "Resource Manager CP name"; + } + enum aaa-at-rm-dnis-group-name { + value 360; + description + "Resource Manager DNIS group name"; + } + enum aaa-at-rm-link-type { + value 361; + description + "Resource Manager link type"; + } + enum aaa-at-rm-mlp-id { + value 362; + description + "Resource Manager multilink id"; + } + enum aaa-at-rm-nas-state { + value 363; + description + "Resource Manager NAS state"; + } + enum aaa-at-rm-port-descripiton { + value 364; + description + "Resource Manager port description"; + } + enum aaa-at-rm-request-type { + value 365; + description + "Resource Manager request type"; + } + enum aaa-at-rm-response-code { + value 366; + description + "Resource Manager response code"; + } + enum aaa-at-rm-rg-application { + value 367; + description + "Resource Manager application"; + } + enum aaa-at-rm-rg-name { + value 368; + description + "Resource Manager RG name"; + } + enum aaa-at-rm-rg-service { + value 369; + description + "Resource Manager RG service"; + } + enum aaa-at-rm-rg-service-name { + value 370; + description + "Resource Manager RG service name"; + } + enum aaa-at-rm-server-state { + value 371; + description + "Resource Manager server state"; + } + enum aaa-at-rm-template-name { + value 372; + description + "Resource Manager template name"; + } + enum aaa-at-rm-version { + value 373; + description + "Resource Manager protocol version"; + } + enum aaa-at-rm-vpdn-tunnel-status { + value 374; + description + "Resource Manager VPDN tunnel status"; + } + enum aaa-at-rm-overflow { + value 375; + description + "Resource Manager overflow flag"; + } + enum aaa-at-negotiated-route { + value 376; + description + "Negotiated Routing information for a user session"; + } + enum aaa-at-route { + value 377; + description + "Routing information for a user session"; + } + enum aaa-at-pw-lifetime { + value 378; + description + "Password lifetime"; + } + enum aaa-at-ppp-vj-slot-comp { + value 379; + description + "PPP VJ slot compression"; + } + enum aaa-at-route-ip { + value 380; + description + "Route IP address"; + } + enum aaa-at-tunnel-private-group-id { + value 381; + description + "Tunnel private group id"; + } + enum aaa-at-state { + value 382; + description + "State information"; + } + enum aaa-at-class { + value 383; + description + "Class information"; + } + enum aaa-at-route-filter-in { + value 384; + description + "Route filter IN"; + } + enum aaa-at-route-filter-out { + value 385; + description + "Route filter OUT"; + } + enum aaa-at-routing { + value 386; + description + "Framed routing"; + } + enum aaa-at-sap { + value 387; + description + "Service Access Point"; + } + enum aaa-at-sap-filter-in { + value 388; + description + "SAP filter IN"; + } + enum aaa-at-sap-filter-out { + value 389; + description + "SAP filter OUT"; + } + enum aaa-at-send-auth { + value 390; + description + "Authentication protocol for peer"; + } + enum aaa-at-send-name { + value 391; + description + "Name of local host dialing out"; + } + enum aaa-at-tunnel-tos-reflect { + value 392; + description + "Tunnel TOS reflect"; + } + enum aaa-at-tunnel-tos-setting { + value 393; + description + "Tunnel TOS setting"; + } + enum aaa-at-tunnel-pmtu { + value 394; + description + "Tunnel Path MTU enabled"; + } + enum aaa-at-tunnel-renego-lcp { + value 395; + description + "LCP renegotiation option"; + } + enum aaa-at-tunnel-ip-mtu-adjust { + value 396; + description + "IP MTU adjust flag"; + } + enum aaa-at-remote-name { + value 397; + description + "Name of remote host to dial-out and pre-auth dial-in to"; + } + enum aaa-at-send-secret { + value 398; + description + "Name of the secret to be used for authentication"; + } + enum aaa-at-server-admin-msg { + value 399; + description + "Server admin message"; + } + enum aaa-at-server-key { + value 400; + description + "Server key"; + } + enum aaa-at-server-name { + value 401; + description + "Server name"; + } + enum aaa-at-service { + value 402; + description + "AAA service"; + } + enum aaa-at-service-name { + value 403; + description + "Service name to be advertised to client"; + } + enum aaa-at-parent-session-id { + value 404; + description + "Session id of the parent session"; + } + enum aaa-at-cisco-service-type { + value 405; + description + "Specifies the service requested by the NAD"; + } + enum aaa-at-cisco-event-type { + value 406; + description + "Specifies the event requested by the NAD"; + } + enum aaa-at-cisco-auto-smart-port { + value 407; + description + "Specifies the smartport definition to applied"; + } + enum aaa-at-session-id { + value 408; + description + "The id that identifies a pair of start and stop records"; + } + enum aaa-at-session-handle { + value 409; + description + "Handle for session"; + } + enum aaa-at-acct-record-number { + value 410; + description + "Unique number for every accounting record"; + } + enum aaa-at-acct-record-type { + value 411; + description + "Accounting record type"; + } + enum aaa-at-string-session-id { + value 412; + description + "The string id that identifies a pair of start and stop records"; + } + enum aaa-at-subscriber-label { + value 413; + description + "Subscriber Label for Session"; + } + enum aaa-at-session-time { + value 414; + description + "The number of seconds a session has been active"; + } + enum aaa-at-override-session-time { + value 415; + description + "Override the number of seconds a session can been active"; + } + enum aaa-at-vrrs { + value 416; + description + "Redundancy group name, used for VRRS accounting"; + } + enum aaa-at-source-ip-address { + value 417; + description + "Source IP address"; + } + enum aaa-at-start-time { + value 418; + description + "The time the session started"; + } + enum aaa-at-stop-time { + value 419; + description + "The time the session stopped"; + } + enum aaa-at-sub-policy-in { + value 420; + description + "Upstream policy to be applied on subscriber side"; + } + enum aaa-at-sub-qos-policy-in { + value 421; + description + "Upstream QoS policy to be applied on subscriber side"; + } + enum aaa-at-sub-policy-out { + value 422; + description + "Downstream policy to be applied on subscriber side"; + } + enum aaa-at-sub-qos-policy-out { + value 423; + description + "Downstream QoS policy to be applied on subscriber side"; + } + enum aaa-at-acct-policy-map { + value 424; + description + "Session accounting policy map"; + } + enum aaa-at-acct-policy-in { + value 425; + description + "Upstream Accounting Policy for Subscriber"; + } + enum aaa-at-acct-policy-out { + value 426; + description + "Downstream Accounting Policy for Subscriber"; + } + enum aaa-at-vc-qos-policy-in { + value 427; + description + "Upstream QoS policy to be applied on a ATM VC"; + } + enum aaa-at-vc-qos-policy-out { + value 428; + description + "Downstream QoS policy to be applied on a ATM VC"; + } + enum aaa-at-vc-weight { + value 429; + description + "Weight to be applied on a ATM VC"; + } + enum aaa-at-vc-q-lwm { + value 430; + description + "Queue depth low watermark to be applied on a ATM VC"; + } + enum aaa-at-vc-q-hwm { + value 431; + description + "Queue depth high watermark to be applied on a ATM VC"; + } + enum aaa-at-sub-param-qos-policy-in { + value 432; + description + "Upstream para-metered QoS policy to be applied on subscriber side"; + } + enum aaa-at-sub-param-qos-policy-out { + value 433; + description + "Downstream para-metered QoS policy to be applied on subscriber side"; + } + enum aaa-at-terminate-cause { + value 434; + description + "How the session was terminated"; + } + enum aaa-at-timeout { + value 435; + description + "The maximum number of seconds a user can be connected"; + } + enum aaa-at-timezone { + value 436; + description + "Timezone"; + } + enum aaa-at-tunnel-client-endpoint { + value 437; + description + "Tunnel client endpoint"; + } + enum aaa-at-tunnel-client-auth-id { + value 438; + description + "The authentication name of the tunnel initiator"; + } + enum aaa-at-tunnel-server-auth-id { + value 439; + description + "The authentication name of the tunnel terminator"; + } + enum aaa-at-tunnel-medium-type { + value 440; + description + "The protocol over which the tunnel runs"; + } + enum aaa-at-tunnel-password { + value 441; + description + "Tunnel password to authenticate with tunnel remote end"; + } + enum aaa-at-tunnel-preference { + value 442; + description + "Tunnel preference of the tunnel settings"; + } + enum aaa-at-tunnel-server-endpoint { + value 443; + description + "Tunnel server endpoint"; + } + enum aaa-at-tunnel-connection-id { + value 444; + description + "Tunnel connection id"; + } + enum aaa-at-event-timestamp { + value 445; + description + "Event timestamp"; + } + enum aaa-at-tunnel-direction { + value 446; + description + "Tunnel direction"; + } + enum aaa-at-tunnel-application-type { + value 447; + description + "VPDN tunnel application type"; + } + enum aaa-at-tunnel-type { + value 448; + description + "Tunnel protocols"; + } + enum aaa-at-user-max-links { + value 449; + description + "User max-links"; + } + enum aaa-at-user-name { + value 450; + description + "The name of the user"; + } + enum aaa-at-vpdn-active-sessions { + value 451; + description + "The number of VPDN active sessions"; + } + enum aaa-at-v92-info { + value 452; + description + "V.92 modem connection info"; + } + enum aaa-at-vpdn-logging-info { + value 453; + description + "VPDN logging information"; + } + enum aaa-at-vpdn-dialout-type { + value 454; + description + "VPDN dial-out type"; + } + enum aaa-at-vpdn-domain { + value 455; + description + "The name of VPDN domain"; + } + enum aaa-at-vpdn-group { + value 456; + description + "VPDN group to use"; + } + enum aaa-at-vpdn-domain-list { + value 457; + description + "List of domains used for VPDN pre-authorization"; + } + enum aaa-at-vpdn-lac-dialer { + value 458; + description + "VPDN LAC dialer"; + } + enum aaa-at-vpdn-rotary-group { + value 459; + description + "VPDN dialer rotary group number"; + } + enum aaa-at-vpdn-pool-member { + value 460; + description + "VPDN dialer pool member"; + } + enum aaa-at-vpdn-profile { + value 461; + description + "VPDN profile"; + } + enum aaa-at-vpdn-scal-vtemplate { + value 462; + description + "VPDN virtual template number"; + } + enum aaa-at-vpdn-vtemplate { + value 463; + description + "Virtual template number for VPDN tunnel authorization"; + } + enum aaa-at-vpdn-redirect-id { + value 464; + description + "VPDN call redirection identifier string"; + } + enum aaa-at-sss-policy-directive { + value 465; + description + "Subscriber policy directive type"; + } + enum aaa-at-sss-subscriber-keepalive { + value 466; + description + "Subscriber session keepalive"; + } + enum aaa-at-linksec-security-policy { + value 467; + description + "LinkSec security policy type"; + } + enum aaa-at-proxy-method-list { + value 468; + description + "Method list to proxy Radius packets"; + } + enum aaa-at-proxy-acct-method-list { + value 469; + description + "Accounting Method list to proxy Radius packets"; + } + enum aaa-at-sss-service-type { + value 470; + description + "Subscriber profile directive type"; + } + enum aaa-at-tunnel-vpn-id { + value 471; + description + "Tunnel VPN-ID string"; + } + enum aaa-at-tunnel-vpn-vrf { + value 472; + description + "Tunnel VPN VRF string"; + } + enum aaa-at-wins-server { + value 473; + description + "WINS server"; + } + enum aaa-at-leap-session-key { + value 474; + description + "Key to encrypt LEAP session"; + } + enum aaa-at-wins-server-primary { + value 475; + description + "WINS server primary"; + } + enum aaa-at-client-password-local { + value 476; + description + "ikev2 sign password"; + } + enum aaa-at-client-password-remote { + value 477; + description + "ikev2 verify password"; + } + enum aaa-at-wins-server-secondary { + value 478; + description + "WINS server secondary"; + } + enum aaa-at-atm-qos-pcr { + value 479; + description + "ATM Peak Cell Rate"; + } + enum aaa-at-atm-qos-scr { + value 480; + description + "ATM Sustainable Cell Rate"; + } + enum aaa-at-xmit-rate { + value 481; + description + "The rate which packets are being sent to the user"; + } + enum aaa-at-zone-list { + value 482; + description + "Zone list"; + } + enum aaa-at-login-service { + value 483; + description + "Exec login connection service"; + } + enum aaa-at-sg-service { + value 484; + description + "SG service"; + } + enum aaa-at-sg-rule { + value 485; + description + "SG rule"; + } + enum aaa-at-sg-condition { + value 486; + description + "SG condition"; + } + enum aaa-at-sg-action { + value 487; + description + "SG action"; + } + enum aaa-at-ssg-account-info { + value 488; + description + "Service Selection Gateway account info"; + } + enum aaa-at-ssg-service-info { + value 489; + description + "Service Selection Gateway service info"; + } + enum aaa-at-ssg-command-code { + value 490; + description + "Service Selection Gateway command code"; + } + enum aaa-at-ssg-control-info { + value 491; + description + "Service Selection Gateway control info"; + } + enum aaa-at-ssg-cookie { + value 492; + description + "Service Selection Gateway cookie"; + } + enum aaa-at-cdma-user-class { + value 493; + description + "CDMA user class"; + } + enum aaa-at-cdma-realm { + value 494; + description + "CDMA realm"; + } + enum aaa-at-mobileip-mn-ipaddr { + value 495; + description + "Mobile IP MN Address"; + } + enum aaa-at-mobileip-mn-lifetime { + value 496; + description + "Mobile IP MN lifetime"; + } + enum aaa-at-mobileip-mn-flags { + value 497; + description + "Mobile IP MN flags"; + } + enum aaa-at-mobileip-mn-reject-code { + value 498; + description + "Mobile IP MN Registration reject code"; + } + enum aaa-at-mobileip-mn-local-timezone { + value 499; + description + "Mobile IP MN Local Timezone Flag"; + } + enum aaa-at-mobile-ip-prohibited { + value 500; + description + "Is the Mobile prohibited from creating binding"; + } + enum aaa-at-mobileip-vrf-ha-ip-addr { + value 501; + description + "Mobile IP HA IP Address for VRF"; + } + enum aaa-at-mobileip-reg-source-addr { + value 502; + description + "Mobile IP Registration Source IP Address"; + } + enum aaa-at-cdma-preshared-secret { + value 503; + description + "CDMA pre-shared secret"; + } + enum aaa-at-cdma-container { + value 504; + description + "CDMA container"; + } + enum aaa-at-cdma-correlation-id { + value 505; + description + "CDMA correlation id"; + } + enum aaa-at-cdma-always-on { + value 506; + description + "CDMA always-on"; + } + enum aaa-at-cdma-rn-pdit { + value 507; + description + "CDMA Radio-Access Network Packet Data Inactivity Timer"; + } + enum aaa-at-cdma-session-continue { + value 508; + description + "CDMA session continue"; + } + enum aaa-at-cdma-begin-session { + value 509; + description + "CDMA begin session"; + } + enum aaa-at-cdma-ha-ip-addr { + value 510; + description + "CDMA HA IP address"; + } + enum aaa-at-cdma-ike-preshared-secret-request { + value 511; + description + "CDMA IPSec pre-shared secret request"; + } + enum aaa-at-cdma-ipsec-security-level { + value 512; + description + "CDMA IPSec security"; + } + enum aaa-at-cdma-reverse-tnl-spec { + value 513; + description + "CDMA reverse Tunnel specification"; + } + enum aaa-at-cdma-pcf-ip-addr { + value 514; + description + "CDMA PCF IP address"; + } + enum aaa-at-cdma-bs-msc-addr { + value 515; + description + "CDMA BS MSC address"; + } + enum aaa-at-cdma-user-id { + value 516; + description + "CDMA User id"; + } + enum aaa-at-cdma-forward-mux { + value 517; + description + "CDMA forward mux"; + } + enum aaa-at-cdma-reverse-mux { + value 518; + description + "CDMA reverse mux"; + } + enum aaa-at-cdma-forward-rate { + value 519; + description + "CDMA forward rate"; + } + enum aaa-at-cdma-reverse-rate { + value 520; + description + "CDMA reverse rate"; + } + enum aaa-at-cdma-service-option { + value 521; + description + "CDMA service option"; + } + enum aaa-at-cdma-forward-type { + value 522; + description + "CDMA forward type"; + } + enum aaa-at-cdma-reverse-type { + value 523; + description + "CDMA reverse type"; + } + enum aaa-at-cdma-frame-size { + value 524; + description + "CDMA fundamental frame size"; + } + enum aaa-at-cdma-forward-rc { + value 525; + description + "CDMA forward return code"; + } + enum aaa-at-cdma-reverse-rc { + value 526; + description + "CDMA reverse return code"; + } + enum aaa-at-cdma-ip-tech { + value 527; + description + "CDMA ip tech"; + } + enum aaa-at-cdma-comp-flag { + value 528; + description + "CDMA computational flag"; + } + enum aaa-at-cdma-reason-ind { + value 529; + description + "CDMA reason ind"; + } + enum aaa-at-cdma-dcch-frame-size { + value 530; + description + "CDMA Dedicated Control Channel frame size"; + } + enum aaa-at-cdma-bad-frame-count { + value 531; + description + "CDMA bad frame count"; + } + enum aaa-at-cdma-active-time { + value 532; + description + "CDMA active time"; + } + enum aaa-at-cdma-num-active { + value 533; + description + "CDMA num active"; + } + enum aaa-at-cdma-sdb-input-octets { + value 534; + description + "CDMA short data burst input octets"; + } + enum aaa-at-cdma-sdb-output-octets { + value 535; + description + "CDMA short data burst output octets"; + } + enum aaa-at-cdma-numsdb-input { + value 536; + description + "CDMA numeric short data burst input"; + } + enum aaa-at-cdma-numsdb-output { + value 537; + description + "CDMA numeric short data burst output"; + } + enum aaa-at-cdma-hdlc-layer-bytes-in { + value 538; + description + "CDMA hdlc layer bytes in"; + } + enum aaa-at-cdma-moip-inbound { + value 539; + description + "CDMA mobile-ip inbound count"; + } + enum aaa-at-cdma-moip-outbound { + value 540; + description + "CDMA mobile-ip outbound count"; + } + enum aaa-at-cdma-last-user-activity { + value 541; + description + "CDMA last user activity"; + } + enum aaa-at-cdma-ip-qos { + value 542; + description + "CDMA IP QoS"; + } + enum aaa-at-cdma-airlink-qos { + value 543; + description + "CDMA air-link QoS"; + } + enum aaa-at-cdma-diff-svc-class-opt { + value 544; + description + "CDMA diff svc class option"; + } + enum aaa-at-cdma-rp-session-id { + value 545; + description + "CDMA rp session id"; + } + enum aaa-at-cdma-esn { + value 546; + description + "CDMA ESN"; + } + enum aaa-at-cdma-mn-ha-spi { + value 547; + description + "CDMA mn ha spi"; + } + enum aaa-at-cdma-mn-ha-shared-key { + value 548; + description + "CDMA mn ha shared key"; + } + enum aaa-at-cdma-mn-aaa-removal-ind { + value 549; + description + "CDMA MN AAA Removal Indication"; + } + enum aaa-at-cdma-sess-term-capability { + value 550; + description + "CDMA session termination capability"; + } + enum aaa-at-cdma-prepaid-accounting-quota { + value 551; + description + "CDMA prepaid accounting quota"; + } + enum aaa-at-cdma-prepaid-accounting-capability { + value 552; + description + "CDMA prepaid accounting capability"; + } + enum aaa-at-cdma-disconnect-reason { + value 553; + description + "CDMA disconnect reason"; + } + enum aaa-at-cdma-prepaid-tariff-switching { + value 554; + description + "CDMA prepaid tariff switching"; + } + enum aaa-at-cdma-allowed-differentiated-services-marking { + value 555; + description + "CDMA allowed differentiated service marking"; + } + enum aaa-at-cdma-forward-pdch-rc { + value 556; + description + "CDMA forward Packet Data Channel return code"; + } + enum aaa-at-cdma-service-ref-id { + value 557; + description + "CDMA service reference id"; + } + enum aaa-at-cdma-meid { + value 558; + description + "CDMA mobile equipment identifier"; + } + enum aaa-at-cdma-dns-server-ip-address { + value 559; + description + "CDMA DNS server IP address"; + } + enum aaa-at-cdma-dns-update-required { + value 560; + description + "CDMA DNS update required"; + } + enum aaa-at-cdma-dns-update-capability { + value 561; + description + "CDMA DNS update capability"; + } + enum aaa-at-cdma-rf-swact { + value 562; + description + "CDMA RF Switch of activity"; + } + enum aaa-at-verizon-mip-key-update-req { + value 563; + description + "MIP key update req"; + } + enum aaa-at-verizon-mip-key-data { + value 564; + description + "MIP key data"; + } + enum aaa-at-verizon-aaa-authenticator { + value 565; + description + "AAA authenticator"; + } + enum aaa-at-verizon-public-key-invalid { + value 566; + description + "Public key invalid"; + } + enum aaa-at-login-tcp-port { + value 567; + description + "TCP port used for connection"; + } + enum aaa-at-login-ip-addr-host { + value 568; + description + "Login IP address host"; + } + enum aaa-at-login-ipv6-addr-host { + value 569; + description + "Login IPv6 address host"; + } + enum aaa-at-login-ip-host { + value 570; + description + "Cisco VSA to pass Login-IP-Host in string format"; + } + enum aaa-at-crb-auth-reason { + value 571; + description + "Authorization reason passed with (re)authorization"; + } + enum aaa-at-crb-user-id { + value 572; + description + "Technology specific User-id"; + } + enum aaa-at-crb-session-id { + value 573; + description + "Realtime session id"; + } + enum aaa-at-crb-service-id { + value 574; + description + "Identify the service which the subscriber is using"; + } + enum aaa-at-crb-entity-type { + value 575; + description + "CRB Entity type"; + } + enum aaa-at-crb-duration { + value 576; + description + "IN - Duration quota, OUT - Duration used since the last quota"; + } + enum aaa-at-crb-total-volume { + value 577; + description + "IN - Total volume quota in octets, OUT - Total volume in octets used since the last quota"; + } + enum aaa-at-crb-uplink-volume { + value 578; + description + "IN - UP volume quota in octets, OUT - UP volume in octets used since the last quota"; + } + enum aaa-at-crb-downlink-volume { + value 579; + description + "IN - DOWN volume quota in octets, OUT - DOWN volume in octets used since the last quota"; + } + enum aaa-at-crb-total-packets { + value 580; + description + "IN - Total pkts quota, OUT - Total pkts used since the last quota"; + } + enum aaa-at-crb-uplink-packets { + value 581; + description + "IN - Total UP pkts quota, OUT - Total UP pkts used since quota"; + } + enum aaa-at-crb-downlink-packets { + value 582; + description + "IN - Total DOWN pkts quota, OUT - Total DOWN pkts used since quota"; + } + enum aaa-at-crb-terminate-cause { + value 583; + description + "CRB termination cause"; + } + enum aaa-at-cert-application { + value 584; + description + "Determines the valid application domain for a certificate"; + } + enum aaa-at-cert-trustpoint { + value 585; + description + "Valid trustpoint label for the cert"; + } + enum aaa-at-cert-serial { + value 586; + description + "Serial number of the certificate"; + } + enum aaa-at-cert-serial-not { + value 587; + description + "Serial number of the certificate to reject"; + } + enum aaa-at-cert-lifetime-end { + value 588; + description + "Valid Lifetime end date of cert - Overrides actual cert lifetime end date"; + } + enum aaa-at-tti-subjectname { + value 589; + description + "Subject name used by Certificate Server"; + } + enum aaa-at-tti-iosconfig1 { + value 590; + description + "Trusted Transitive Introduction IOS configuration 1"; + } + enum aaa-at-tti-iosconfig2 { + value 591; + description + "Trusted Transitive Introduction IOS configuration 2"; + } + enum aaa-at-tti-iosconfig3 { + value 592; + description + "Trusted Transitive Introduction IOS configuration 3"; + } + enum aaa-at-tti-iosconfig4 { + value 593; + description + "Trusted Transitive Introduction IOS configuration 4"; + } + enum aaa-at-tti-iosconfig5 { + value 594; + description + "Trusted Transitive Introduction IOS configuration 5"; + } + enum aaa-at-tti-iosconfig6 { + value 595; + description + "Trusted Transitive Introduction IOS configuration 6"; + } + enum aaa-at-tti-iosconfig7 { + value 596; + description + "Trusted Transitive Introduction IOS configuration 7"; + } + enum aaa-at-tti-iosconfig8 { + value 597; + description + "Trusted Transitive Introduction IOS configuration 8"; + } + enum aaa-at-tti-iosconfig9 { + value 598; + description + "Trusted Transitive Introduction IOS configuration 9"; + } + enum aaa-at-tti-privilege { + value 599; + description + "Trusted Transitive Introduction privilege: admin or user"; + } + enum aaa-at-nas-ip-address { + value 600; + description + "The IP address of the NAS"; + } + enum aaa-at-delay-time { + value 601; + description + "Accounting record delay time"; + } + enum aaa-at-em-header { + value 602; + description + "EM header"; + } + enum aaa-at-called-party-number { + value 603; + description + "Called party number"; + } + enum aaa-at-call-termination-cause { + value 604; + description + "Call termination cause"; + } + enum aaa-at-related-call-billing-correlation-id { + value 605; + description + "Related call billing correlation ID"; + } + enum aaa-at-mta-udp-portnum { + value 606; + description + "Mail Transfer Agent UDP port number"; + } + enum aaa-at-sf-id { + value 607; + description + "Service flow ID"; + } + enum aaa-at-qos-descriptor { + value 608; + description + "QoS descriptor"; + } + enum aaa-at-time-adjustment { + value 609; + description + "Time adjustment"; + } + enum aaa-at-sdp-upstream { + value 610; + description + "SDP upstream"; + } + enum aaa-at-sdp-downstream { + value 611; + description + "SDP downstream"; + } + enum aaa-at-ccc-id { + value 612; + description + "CCC ID"; + } + enum aaa-at-feid { + value 613; + description + "Financial entity ID"; + } + enum aaa-at-flow-direction { + value 614; + description + "Flow direction"; + } + enum aaa-at-gate-usage-info { + value 615; + description + "Gate usage information"; + } + enum aaa-at-element-req-qos { + value 616; + description + "Element requested QoS"; + } + enum aaa-at-qos-release-reason { + value 617; + description + "QoS release reason"; + } + enum aaa-at-gate-time-info { + value 618; + description + "Gate time information"; + } + enum aaa-at-threegenpp-imsi { + value 619; + description + "3GPP International Mobile Subscriber Id"; + } + enum aaa-at-threegenpp-charging-id { + value 620; + description + "3GPP Charging ID"; + } + enum aaa-at-threegenpp-pdp-type { + value 621; + description + "3GPP PDP type"; + } + enum aaa-at-threegenpp-cg-address { + value 622; + description + "3GPP Charging Gateway Address"; + } + enum aaa-at-threegenpp-gprs-qos-profile { + value 623; + description + "3GPP GPRS QoS Profile"; + } + enum aaa-at-threegenpp-sgsn-address { + value 624; + description + "3GPP Serving GPRS Support Node address"; + } + enum aaa-at-threegenpp-ggsn-address { + value 625; + description + "3GPP Gateway GPRS Support Node address"; + } + enum aaa-at-threegenpp-imsi-mcc-mnc { + value 626; + description + "3GPP IMSI MCC MNC"; + } + enum aaa-at-threegenpp-ggsn-mcc-mnc { + value 627; + description + "3GPP Gateway GPRS Support Node MCC MNC"; + } + enum aaa-at-threegenpp-nsapi { + value 628; + description + "3GPP Network Service Access Point Identifier of the PDP"; + } + enum aaa-at-threegenpp-sess-stop-ind { + value 629; + description + "3GPP Session Stop Ind"; + } + enum aaa-at-threegenpp-selection-mode { + value 630; + description + "3GPP Selection Mode"; + } + enum aaa-at-threegenpp-charging-characteristics { + value 631; + description + "3GPP Charging Characteristics"; + } + enum aaa-at-threegenpp-sgsn-mcc-mnc { + value 632; + description + "3GPP Serving GPRS Support Node MCC MNC"; + } + enum aaa-at-threegenpp-cg-ipv6-address { + value 633; + description + "3GPP Charging gateway IPv6 address"; + } + enum aaa-at-threegenpp-sgsn-ipv6-address { + value 634; + description + "3GPP Serving GPRS Support Node IPv6 address"; + } + enum aaa-at-threegenpp-ggsn-ipv6-address { + value 635; + description + "3GPP Gateway GPRS Support Node IPv6 address"; + } + enum aaa-at-threegenpp-ipv6-dns { + value 636; + description + "3GPP IPv6 DNS server"; + } + enum aaa-at-threegenpp-imeisv { + value 637; + description + "3GPP International Mobile Equipment Identity-Software Version"; + } + enum aaa-at-access-technology-type { + value 638; + description + "Access technology type"; + } + enum aaa-at-threegenpp-user-location-info { + value 639; + description + "3GPP User Location Information"; + } + enum aaa-at-threegenpp-ms-timezone { + value 640; + description + "3GPP Mobile station timezone"; + } + enum aaa-at-threegenpp-camel-charging-info { + value 641; + description + "3GPP Camel Charge Information Container"; + } + enum aaa-at-teardown-indicator { + value 642; + description + "Teardown indicator to be present in Disconnect-Request"; + } + enum aaa-at-md-addr { + value 643; + description + "IP address of the Mediation Device"; + } + enum aaa-at-md-port { + value 644; + description + "UDP port of the Mediation Device"; + } + enum aaa-at-intercept-action { + value 645; + description + "Intercept action"; + } + enum aaa-at-intercept-id { + value 646; + description + "Intercept identifier"; + } + enum aaa-at-charging-profile-index { + value 647; + description + "Charging profile to be applied for the user"; + } + enum aaa-at-billing-plan { + value 648; + description + "Billing Rule to be applied for this user"; + } + enum aaa-at-quota-server { + value 649; + description + "Quota Server information from Gateway GPRS Support Node"; + } + enum aaa-at-im-entry-allowed { + value 650; + description + "Indicates whether the MS is allowed to enter Idle Mode"; + } + enum aaa-at-downlink-nexthop-address { + value 651; + description + "Next Hop address to use by CSG for CSG->QS communication"; + } + enum aaa-at-gtp-pdp-session { + value 652; + description + "GTP functionality for a PDP session"; + } + enum aaa-at-apn { + value 653; + description + "APN name"; + } + enum aaa-at-sslvpn-http-proxy-server { + value 654; + description + "SSLVPN back-end proxy server name"; + } + enum aaa-at-sslvpn-http-proxy-server-port { + value 655; + description + "SSLVPN back-end proxy server port"; + } + enum aaa-at-mschap-error { + value 656; + description + "MS-CHAP error"; + } + enum aaa-at-mschap-nt-enc-pw1 { + value 657; + description + "MS-CHAP NT encrypted password 1"; + } + enum aaa-at-mschap-nt-enc-pw2 { + value 658; + description + "MS-CHAP NT encrypted password 2"; + } + enum aaa-at-mschap-nt-enc-pw3 { + value 659; + description + "MS-CHAP NT encrypted password 3"; + } + enum aaa-at-mschap-mppe-keys { + value 660; + description + "LM and NT sessions keys for Microsoft Point-to-Point Encryption"; + } + enum aaa-at-ms-mppe-send-key { + value 661; + description + "Send session key for Microsoft Point-to-Point Encryption"; + } + enum aaa-at-ms-mppe-recv-key { + value 662; + description + "Receive session key for Microsoft Point-to-Point Encryption"; + } + enum aaa-at-rad-sg-serv { + value 663; + description + "Radius server host in server group"; + } + enum aaa-at-rad-sg-vrf { + value 664; + description + "VRF to be used to access the servers"; + } + enum aaa-at-rad-sg-source-if { + value 665; + description + "Source interface to use to access the servers"; + } + enum aaa-at-rad-sg-filter { + value 666; + description + "Radius filter list name for server group"; + } + enum aaa-at-ppp-authen-list { + value 667; + description + "PPP authentication method-list"; + } + enum aaa-at-ppp-authen-type { + value 668; + description + "PPP authentication protocols"; + } + enum aaa-at-ppp-author-list { + value 669; + description + "PPP authorization method-list"; + } + enum aaa-at-ppp-account-list { + value 670; + description + "PPP accounting method-list"; + } + enum aaa-at-ip-vrf { + value 671; + description + "VRF Information"; + } + enum aaa-at-ip-addr { + value 672; + description + "IP address"; + } + enum aaa-at-ip-unnumbered { + value 673; + description + "IP unnumbered"; + } + enum aaa-at-peer-ip-pool { + value 674; + description + "Local IP pool address"; + } + enum aaa-at-rad-attr44 { + value 675; + description + "Include radius attribute 44 in access-req"; + } + enum aaa-at-account-delay { + value 676; + description + "Accounting delay start"; + } + enum aaa-at-acct-send-stop-authen-failure { + value 677; + description + "Send accounting information even with failure"; + } + enum aaa-at-acct-send-stop-accept-remote { + value 678; + description + "Send accounting for remote authenticated users"; + } + enum aaa-at-cfg-template { + value 679; + description + "Name of template to be applied"; + } + enum aaa-at-mschap-v2-success { + value 680; + description + "MSCHAPv2 response string"; + } + enum aaa-at-mschap-v2-cpw { + value 681; + description + "MSCHAPv2 change password on expiry"; + } + enum aaa-at-call-id { + value 682; + description + "Call-id for a voip call"; + } + enum aaa-at-cust-biz-grp-id { + value 683; + description + "Customer business group ID for a voip call"; + } + enum aaa-at-ip-hop { + value 684; + description + "VIA header information from INVITE message"; + } + enum aaa-at-nas-ipv6-address { + value 685; + description + "The IPv6 address of the NAS"; + } + enum aaa-at-ipv6-interfaceid { + value 686; + description + "The IPv6 Interface Id for the user"; + } + enum aaa-at-ipv6-prefix { + value 687; + description + "IPv6 Prefix information for a user session"; + } + enum aaa-at-ipv6-prefix-len { + value 688; + description + "IPv6 prefix length"; + } + enum aaa-at-delegated-ipv6-prefix { + value 689; + description + "Delegated IPv6 prefix information for a user session"; + } + enum aaa-at-delegated-ipv6-pool { + value 690; + description + "DHCP pool name for assigning user session IPv6 prefix"; + } + enum aaa-at-ipv6-dns-servers { + value 691; + description + "The IPv6 address of a DNS server"; + } + enum aaa-at-session-type { + value 692; + description + "Type of PPP stack session - IPv4/v6 or dual stack"; + } + enum aaa-at-remote-media-address { + value 693; + description + "Remote media gateway IP address"; + } + enum aaa-at-carrier-id { + value 694; + description + "ISDN User Part carrier id"; + } + enum aaa-at-calling-party-category { + value 695; + description + "Calling party category"; + } + enum aaa-at-orig-line-info { + value 696; + description + "Originating line information"; + } + enum aaa-at-charge-number { + value 697; + description + "Charge number"; + } + enum aaa-at-trans-med-req { + value 698; + description + "Transmission medium request"; + } + enum aaa-at-rdt-number { + value 699; + description + "Redirecting number"; + } + enum aaa-at-backward-call-ind { + value 700; + description + "Backward call indicators"; + } + enum aaa-at-remote-media-udp-port { + value 701; + description + "Remote media gateway UDP port"; + } + enum aaa-at-remote-media-id { + value 702; + description + "Remote media gateway DNS name"; + } + enum aaa-at-supp-svc-xfer-by { + value 703; + description + "Transferor who initiates a call-transfer"; + } + enum aaa-at-faxrelay-start-time { + value 704; + description + "Fax relay start time"; + } + enum aaa-at-faxrelay-max-jit-buf-depth { + value 705; + description + "Fax relay maximum jitter buffer depth"; + } + enum aaa-at-faxrelay-jit-buf-ovflow { + value 706; + description + "Fax relay jitter buffer overflow"; + } + enum aaa-at-faxrelay-mr-hs-mod { + value 707; + description + "Fax relay most recent high speed modulation"; + } + enum aaa-at-faxrelay-init-hs-mod { + value 708; + description + "Fax relay initial high speed modulation"; + } + enum aaa-at-faxrelay-num-pages { + value 709; + description + "Fax relay number of pages transmitted"; + } + enum aaa-at-faxrelay-direction { + value 710; + description + "Fax relay direction"; + } + enum aaa-at-faxrelay-ecm-status { + value 711; + description + "Fax relay ECM status"; + } + enum aaa-at-faxrelay-encap-prot { + value 712; + description + "Fax relay encapsulation protocol"; + } + enum aaa-at-faxrelay-nsf-country-code { + value 713; + description + "Fax relay NSF country code"; + } + enum aaa-at-faxrelay-nsf-manuf-code { + value 714; + description + "Fax relay NSF manufacture code"; + } + enum aaa-at-faxrelay-fax-success { + value 715; + description + "Fax relay fax success"; + } + enum aaa-at-faxrelay-tx-packets { + value 716; + description + "Fax relay number of transmitted packets"; + } + enum aaa-at-faxrelay-rx-packets { + value 717; + description + "Fax relay number of received packets"; + } + enum aaa-at-faxrelay-pkt-conceal { + value 718; + description + "Fax relay packet concealment"; + } + enum aaa-at-voice-feature { + value 719; + description + "Voice call feature name"; + } + enum aaa-at-feature-operation { + value 720; + description + "Voice call feature operation name"; + } + enum aaa-at-feature-op-status { + value 721; + description + "Voice call feature operation status"; + } + enum aaa-at-feature-op-time { + value 722; + description + "Voice call feature operation time"; + } + enum aaa-at-feature-id { + value 723; + description + "Voice call feature ID"; + } + enum aaa-at-feature-vsa { + value 724; + description + "Gateway invoked feature information"; + } + enum aaa-at-ip-phone-info { + value 725; + description + "Details about the IP Phone"; + } + enum aaa-at-ip-pbx-mode { + value 726; + description + "Mode of the CME"; + } + enum aaa-at-peer-sub-address { + value 727; + description + "The sub number this call was connected to"; + } + enum aaa-at-faxrelay-stop-time { + value 728; + description + "Fax relay stop time"; + } + enum aaa-at-internal-error-code { + value 729; + description + "Internally detected error causing call to be released"; + } + enum aaa-at-account-code { + value 730; + description + "Account code input from telephony call leg"; + } + enum aaa-at-vrf-id { + value 731; + description + "The Virtual Route Forwarder ID"; + } + enum aaa-at-allow-subvai { + value 732; + description + "Allow virtual-access sub-interface with interface-config attribute"; + } + enum aaa-at-idb-description { + value 733; + description + "Interface description"; + } + enum aaa-at-sg-service-type { + value 734; + description + "The type of ISG service"; + } + enum aaa-at-subscriber-policy-name { + value 735; + description + "The name of policy to be provisioned on external device"; + } + enum aaa-at-service-group { + value 736; + description + "The SG Service Group Name"; + } + enum aaa-at-isakmp-phase1-id { + value 737; + description + "The Phase 1 Identifier presented by a peer in ISAKMP"; + } + enum aaa-at-isakmp-initiator-v4-ip { + value 738; + description + "The IPv4 Address of the ISAKMP Initiator"; + } + enum aaa-at-isakmp-initiator-v6-ip { + value 739; + description + "The IPv6 Address of the ISAKMP Initiator"; + } + enum aaa-at-isakmp-group-id { + value 740; + description + "The group ID of the ISAKMP Initiator"; + } + enum aaa-at-l4-redirect { + value 741; + description + "Layer 4 redirect details"; + } + enum aaa-at-ip-portbundle { + value 742; + description + "IP Port-bundle Configuration"; + } + enum aaa-at-traffic-class { + value 743; + description + "Traffic Class Configuration"; + } + enum aaa-at-client-flash { + value 744; + description + "Total flash space in remote client"; + } + enum aaa-at-client-available-flash { + value 745; + description + "Available flash space in remote client"; + } + enum aaa-at-client-platform { + value 746; + description + "Platform of remote client"; + } + enum aaa-at-client-image { + value 747; + description + "Image Version of remote client"; + } + enum aaa-at-client-hostname { + value 748; + description + "Remote client host name"; + } + enum aaa-at-client-serial { + value 749; + description + "Processor board serial number of remote client"; + } + enum aaa-at-client-memory { + value 750; + description + "Total DRAM in remote client"; + } + enum aaa-at-client-available-memory { + value 751; + description + "Available DRAM in remote client"; + } + enum aaa-at-client-config-version { + value 752; + description + "Configuration snippet version of remote client"; + } + enum aaa-at-wispr-location-id { + value 753; + description + "WiFi Wireless Internet Service Provider roaming location ID"; + } + enum aaa-at-wispr-location-name { + value 754; + description + "WiFi Wireless Internet Service Provider roaming location name"; + } + enum aaa-at-subscriber-acct-list { + value 755; + description + "Subscriber accounting method-list"; + } + enum aaa-at-reauthenticate-type { + value 756; + description + "Type of re-authenticate command"; + } + enum aaa-at-method { + value 757; + description + "Type of authentication method"; + } + enum aaa-at-precedence { + value 758; + description + "Precedence of the profile or template being applied"; + } + enum aaa-at-activation-mode { + value 759; + description + "Directive to set activation mode of user profile or service template"; + } + enum aaa-at-sg-version { + value 760; + description + "The version of the SG"; + } + enum aaa-at-policy-route { + value 761; + description + "Peruser policy route"; + } + enum aaa-at-default-domain { + value 762; + description + "Default VPN domain"; + } + enum aaa-at-user-realm { + value 763; + description + "The domain/realm name of the user"; + } + enum aaa-at-sla-profile-name { + value 764; + description + "The Service Level Agreement profile name of the user"; + } + enum aaa-at-group-lock { + value 765; + description + "VPN group lock"; + } + enum aaa-at-configuration-url { + value 766; + description + "URL to the client configuration file"; + } + enum aaa-at-configuration-version { + value 767; + description + "version of configuration"; + } + enum aaa-at-crypto-pfs { + value 768; + description + "Propose Crypto PFS"; + } + enum aaa-at-crypto-metric { + value 769; + description + "Virtual Tunnel Interface Route Metric"; + } + enum aaa-at-access-restrict { + value 770; + description + "VPN group access"; + } + enum aaa-at-include-local-lan { + value 771; + description + "Include Local LAN"; + } + enum aaa-at-user-include-local-lan { + value 772; + description + "Include Local LAN per user"; + } + enum aaa-at-firewall-are-u-there { + value 773; + description + "Is Firewall present"; + } + enum aaa-at-cpp-policy { + value 774; + description + "CPP policy name"; + } + enum aaa-at-browser-proxy { + value 775; + description + "Browser-proxy settings"; + } + enum aaa-at-cfg-banner { + value 776; + description + "Xauth banner"; + } + enum aaa-at-save-password { + value 777; + description + "Save Password"; + } + enum aaa-at-user-save-password { + value 778; + description + "Save Password per user"; + } + enum aaa-at-route-set-interface { + value 779; + description + "Route set interface"; + } + enum aaa-at-route-accept { + value 780; + description + "Route accept with tag and distance"; + } + enum aaa-at-smartcard-removal-disconnect { + value 781; + description + "Smartcard removal disconnect"; + } + enum aaa-at-user-smartcard-removal-disconnect { + value 782; + description + "Smartcard removal disconnect per user"; + } + enum aaa-at-group-dhcp-server { + value 783; + description + "VPN DHCP Server"; + } + enum aaa-at-dhcp-timeout { + value 784; + description + "VPN DHCP Timeout"; + } + enum aaa-at-dhcp-giaddr { + value 785; + description + "VPN DHCP GI address"; + } + enum aaa-at-split-dns { + value 786; + description + "VPN Split DNS"; + } + enum aaa-at-ipv4-group-netmask { + value 787; + description + "IPv4 netmask"; + } + enum aaa-at-user-vpn-group { + value 788; + description + "VPN Group for User"; + } + enum aaa-at-backup-gateway { + value 789; + description + "IPSec backup gateway"; + } + enum aaa-at-max-users { + value 790; + description + "Maximum users"; + } + enum aaa-at-max-logins { + value 791; + description + "Maximum logins per user"; + } + enum aaa-at-ipv6-subnet-acl { + value 792; + description + "IPv6 Subnet ACL"; + } + enum aaa-at-ipv6-address-pool { + value 793; + description + "The local IPv6 address pool name"; + } + enum aaa-at-ipsec-flow-limit { + value 794; + description + "IPSec flow limit per multi-SA dynamic virtual tunnel interfaces session"; + } + enum aaa-at-max-bit-rate { + value 795; + description + "Max bit rate used in a call"; + } + enum aaa-at-qos-class-name { + value 796; + description + "Name for the session QoS classmap"; + } + enum aaa-at-qos-policy-name { + value 797; + description + "Name for the session QoS policy-map"; + } + enum aaa-at-time-quota { + value 798; + description + "Time quota in seconds"; + } + enum aaa-at-volume-quota { + value 799; + description + "Volume quota in bytes"; + } + enum aaa-at-giga-words-volume-quota { + value 800; + description + "Number of times that volume-quota has wrapped"; + } + enum aaa-at-tariff-time { + value 801; + description + "Time for tariff switch in seconds"; + } + enum aaa-at-post-tariff-volume-quota { + value 802; + description + "Volume quota after tariff switch in bytes"; + } + enum aaa-at-giga-words-post-tariff-volume-quota { + value 803; + description + "Number of times that post-tariff-volume-quota has wrapped"; + } + enum aaa-at-idle { + value 804; + description + "If the session is idle"; + } + enum aaa-at-volume-threshold { + value 805; + description + "Volume threshold before which re-authorization will be issued"; + } + enum aaa-at-time-threshold { + value 806; + description + "Time threshold before which re-authorization will be issued"; + } + enum aaa-at-prepaid-config { + value 807; + description + "Name of the prepaid config that is referred for this session"; + } + enum aaa-at-prepaid-idle-timeout { + value 808; + description + "Prepaid idle timeout"; + } + enum aaa-at-prepaid-absolute-timeout { + value 809; + description + "Prepaid absolute timeout"; + } + enum aaa-at-drop-at-quota-reached { + value 810; + description + "Drop prepaid traffic when volume quota is reached"; + } + enum aaa-at-volume-monitor-dropping { + value 811; + description + "Drop all prepaid traffic"; + } + enum aaa-at-dhcp-vendor-class { + value 812; + description + "Hex-encoded version of the DHCP vendor class option no 60"; + } + enum aaa-at-dhcp-client-id { + value 813; + description + "Hex-encoded version of the DHCP client-id option no 61"; + } + enum aaa-at-dhcp-relay-info { + value 814; + description + "Hex-encoded version of the DHCP relay info option no 80"; + } + enum aaa-at-session-duration { + value 815; + description + "Maximum duration of session in seconds"; + } + enum aaa-at-epd-session-notify-changes { + value 816; + description + "Inform external policy device of changes in session"; + } + enum aaa-at-subscriber-service-monitor { + value 817; + description + "Turn on service monitoring on external policy device"; + } + enum aaa-at-subscriber-command { + value 818; + description + "ISG command code type"; + } + enum aaa-at-audit-session-id { + value 819; + description + "Session ID used for Audit scenarios"; + } + enum aaa-at-status-query-timeout { + value 820; + description + "Status Query Timeout Period"; + } + enum aaa-at-url-redirect { + value 821; + description + "URL Redirect User Sessions"; + } + enum aaa-at-url-redirect-acl { + value 822; + description + "URL Redirect ACL"; + } + enum aaa-at-url-redirect-acl-no-match { + value 823; + description + "URL Redirect ACL No Match"; + } + enum aaa-at-url-redirect-acl-one-time { + value 824; + description + "URL Redirect ACL One Time"; + } + enum aaa-at-posture-token { + value 825; + description + "Posture Token for the user Device"; + } + enum aaa-at-ciscosecure-defined-acl { + value 826; + description + "Specifies the ACL name for the Downloadable ACL"; + } + enum aaa-at-banner { + value 827; + description + "Browser banner for the group"; + } + enum aaa-at-home-page { + value 828; + description + "Default home page"; + } + enum aaa-at-urllist-name { + value 829; + description + "URL list name"; + } + enum aaa-at-sslvpn-acl-name { + value 830; + description + "SSLVPN ACL name"; + } + enum aaa-at-nbnslist-name { + value 831; + description + "NetBIOS Name Service list name"; + } + enum aaa-at-file-browse { + value 832; + description + "Enable / Disable Common Internet File System Network browsing"; + } + enum aaa-at-file-entry { + value 833; + description + "Enable / Disable Common Internet File System file entry"; + } + enum aaa-at-file-access { + value 834; + description + "Enable / Disable Common Internet File System file access"; + } + enum aaa-at-port-forward-name { + value 835; + description + "Port forwarding instance name"; + } + enum aaa-at-port-forward-auto { + value 836; + description + "Port forwarding auto applet download"; + } + enum aaa-at-port-forward-http-proxy { + value 837; + description + "Port forwarding http proxy"; + } + enum aaa-at-port-forward-http-proxy-url { + value 838; + description + "Port forwarding http proxy URL"; + } + enum aaa-at-svc-enabled { + value 839; + description + "Enable / Disable SSLVPN client"; + } + enum aaa-at-svc-required { + value 840; + description + "Enable / Disable SSLVPN client required option"; + } + enum aaa-at-hide-urlbar { + value 841; + description + "Enable / Disable hide-url-bar option"; + } + enum aaa-at-maskurls { + value 842; + description + "Mask host/port portion of mangled URLs"; + } + enum aaa-at-dpd-client-timeout { + value 843; + description + "Dead Peer Detection client-side timeout"; + } + enum aaa-at-dpd-gateway-timeout { + value 844; + description + "Dead Peer Detection gateway-side timeout"; + } + enum aaa-at-keep-svc-installed { + value 845; + description + "Keep SVC installed option"; + } + enum aaa-at-rekey-interval { + value 846; + description + "Re-key interval"; + } + enum aaa-at-lease-duration { + value 847; + description + "IP address lease duration"; + } + enum aaa-at-svc-ie-proxy-policy { + value 848; + description + "Microsoft Internet Explorer proxy server policy"; + } + enum aaa-at-ie-proxy-server { + value 849; + description + "Microsoft Internet Explorer proxy server"; + } + enum aaa-at-ie-proxy-exception { + value 850; + description + "Microsoft Internet Explorer proxy server exception list"; + } + enum aaa-at-split-include { + value 851; + description + "Include networks in tunnel"; + } + enum aaa-at-split-exclude { + value 852; + description + "Exclude networks from tunnel"; + } + enum aaa-at-cifsurllist-name { + value 853; + description + "Common Internet File System URL list name"; + } + enum aaa-at-sso-server-name { + value 854; + description + "SSO Server Name"; + } + enum aaa-at-webvpn-context { + value 855; + description + "Webvpn virtual context"; + } + enum aaa-at-webvpn-client-ip { + value 856; + description + "WEBVPN Client IP address"; + } + enum aaa-at-anyconnect-profile { + value 857; + description + "Anyconnect profile name"; + } + enum aaa-at-dsp-id { + value 858; + description + "DSP used for the leg"; + } + enum aaa-at-mcast-source-v4 { + value 859; + description + "IPv4 multicast group source address"; + } + enum aaa-at-mcast-source-v6 { + value 860; + description + "IPv6 multicast group source address"; + } + enum aaa-at-mcast-group-v4 { + value 861; + description + "IPv4 multicast group identifier address"; + } + enum aaa-at-mcast-group-v6 { + value 862; + description + "IPv6 multicast group identifier address"; + } + enum aaa-at-local-hostname { + value 863; + description + "Local Hostname in Multi-Homed Environment"; + } + enum aaa-at-authz-directive { + value 864; + description + "Specifies the directive as open or default"; + } + enum aaa-at-method-list { + value 865; + description + "AAA Method list"; + } + enum aaa-at-template-name { + value 866; + description + "Template name"; + } + enum aaa-at-timer-name { + value 867; + description + "Timer name"; + } + enum aaa-at-timer-value { + value 868; + description + "Timer value"; + } + enum aaa-at-nas-port-sub-id-type { + value 869; + description + "NAS Port Sub Id Type"; + } + enum aaa-at-identity-policy-name { + value 870; + description + "Specifies the identity policy name for local policy application"; + } + enum aaa-at-media-type { + value 871; + description + "Media type"; + } + enum aaa-at-protocol-type { + value 872; + description + "Protocol type"; + } + enum aaa-at-domain { + value 873; + description + "Session Domain"; + } + enum aaa-at-unauthen-domain { + value 874; + description + "Un-authenticate Domain"; + } + enum aaa-at-unauthen-username { + value 875; + description + "Un-authenticate Username"; + } + enum aaa-at-nas-port { + value 876; + description + "NAS Port"; + } + enum aaa-at-tunnel-name { + value 877; + description + "Tunnel Name"; + } + enum aaa-at-if-handle { + value 878; + description + "Interface Handle"; + } + enum aaa-at-parent-if-handle { + value 879; + description + "Parent interface handle"; + } + enum aaa-at-tag-name { + value 880; + description + "Tag attribute received from ACS"; + } + enum aaa-at-supplicant-group { + value 881; + description + "Supplicant-Group attribute received from ACS"; + } + enum aaa-at-vpdn-dsl-line-info-forwarding { + value 882; + description + "VPDN DSL Line Info Forwarding"; + } + enum aaa-at-gk-operation { + value 883; + description + "Gatekeeper RAS operation"; + } + enum aaa-at-supplicant-name { + value 884; + description + "Supplicant-Name attribute received from ACS"; + } + enum aaa-at-device-traffic-class { + value 885; + description + "The type of client device that is being authenticated"; + } + enum aaa-at-identity-request { + value 886; + description + "Request for additional keys"; + } + enum aaa-at-termination-action-modifier { + value 887; + description + "Extensions to IETF defined Termination Actions"; + } + enum aaa-at-ntlm-client-cred { + value 888; + description + "NT LAN Manager credentials like NT LAN Manager type 1 and 3 messages"; + } + enum aaa-at-ntlm-server-cred { + value 889; + description + "NT LAN Manager credentials like NT LAN Manager type 2 messages"; + } + enum aaa-at-cts-pac-opaque { + value 890; + description + "Include CTS PAC Opaque"; + } + enum aaa-at-cts-capabilities { + value 891; + description + "Advertise authenticator's CTS capabilities"; + } + enum aaa-at-cts-supp-caps { + value 892; + description + "Supplicant's CTS capabilities"; + } + enum aaa-at-security-group-tag { + value 893; + description + "Security group tag to apply to local device or peer"; + } + enum aaa-at-trusted-device { + value 894; + description + "Trust SGT's from the peer"; + } + enum aaa-at-rbacl-source-list-outbound { + value 895; + description + "Role-Based ACL source list name"; + } + enum aaa-at-rbacl-destination-list-outbound { + value 896; + description + "Role-Based ACL destination list name"; + } + enum aaa-at-rbacl-any-any-outbound { + value 897; + description + "Role-Based ACL any source and any destination list name"; + } + enum aaa-at-rbacl-src-dst-list-inbound { + value 898; + description + "Role-Based ACL source or destination list name"; + } + enum aaa-at-rbacl-list-name-outbound { + value 899; + description + "Role-Based ACL list name to request for ACEs"; + } + enum aaa-at-rbacl-list-name-inbound { + value 900; + description + "Role-Based ACL name and gen ID being requested"; + } + enum aaa-at-rbacl-ace-inbound { + value 901; + description + "Role-Based ACL ACEs being requested"; + } + enum aaa-at-server-list-inbound { + value 902; + description + "Server list name and generation number"; + } + enum aaa-at-server-list-outbound { + value 903; + description + "Server list name"; + } + enum aaa-at-server { + value 904; + description + "Server in a server list, format ::"; + } + enum aaa-at-authorization-expiry { + value 905; + description + "Number of seconds before policy expires"; + } + enum aaa-at-environment-data-outbound { + value 906; + description + "Environment Data"; + } + enum aaa-at-imt-traffic-policy-get { + value 907; + description + "CTS tunnel traffic policy download"; + } + enum aaa-at-imt-traffic-policy-inbound { + value 908; + description + "CTS tunnel traffic policy name and generation number"; + } + enum aaa-at-imt-traffic-policy-outbound { + value 909; + description + "CTS tunnel traffic policy send"; + } + enum aaa-at-imt-tunnel-default-sgt { + value 910; + description + "Implicit Tunnel default SGT"; + } + enum aaa-at-imt-reverse-check-fail-drop { + value 911; + description + "Implicit Tunnel reverse check fail drop flag"; + } + enum aaa-at-imt-tunnel-gateway { + value 912; + description + "CTS Tunnel Gateway, format "; + } + enum aaa-at-imt-tunnel-unicast-address { + value 913; + description + "CTS Tunnel unicast address, format :"; + } + enum aaa-at-imt-tunnel-multicast-group-address { + value 914; + description + "CTS Tunnel multicast group address, format :"; + } + enum aaa-at-mcast-group-sgt-table-inbound { + value 915; + description + "Multicast group SGT table name and generation number"; + } + enum aaa-at-mcast-group-sgt-table-outbound { + value 916; + description + "Multicast group SGT table name"; + } + enum aaa-at-mcast-sgt { + value 917; + description + "SGT for the multicast address, format -"; + } + enum aaa-at-imt-current-group-key-outbound { + value 918; + description + "Implicit Tunnel current group key"; + } + enum aaa-at-imt-next-group-key-outbound { + value 919; + description + "Implicit Tunnel next group key"; + } + enum aaa-at-imt-group-spi { + value 920; + description + "Implicit Tunnel Group SPI value"; + } + enum aaa-at-imt-group-algorithm { + value 921; + description + "Implicit Tunnel Group Algorithm"; + } + enum aaa-at-imt-gcm-sequence-range { + value 922; + description + "GCM cipher sequence number range"; + } + enum aaa-at-imt-encapsulation-protocol-number { + value 923; + description + "Protocol number for C-ESP encapsulated packets, value = 50 or 99"; + } + enum aaa-at-imt-group-key-expiry { + value 924; + description + "Number of seconds before CIT group key and SPI expire"; + } + enum aaa-at-imt-min-rekey-windows { + value 925; + description + "Minimum number of seconds before CIT key expiration to rekey"; + } + enum aaa-at-imt-expired-key-hold-down-time { + value 926; + description + "Time in seconds after expiration that the expired key and SPI must be active"; + } + enum aaa-at-imt-tunnel-traffic-policy-expiry { + value 927; + description + "Time in seconds that the current traffic policy expires"; + } + enum aaa-at-environment-data-expiry { + value 928; + description + "Number of seconds before environment data expires"; + } + enum aaa-at-peer-authorization-token-outbound { + value 929; + description + "Device's authorization token"; + } + enum aaa-at-l2tp-silent-switchover { + value 930; + description + "Is L2TP silent switchover enabled"; + } + enum aaa-at-gk-endp-addr { + value 931; + description + "Call Signaling address of endpoint"; + } + enum aaa-at-gk-endp-alias { + value 932; + description + "Comma separated list of endpoint's h323 id and e164 aliases"; + } + enum aaa-at-keywrap-key { + value 933; + description + "Key wrap key"; + } + enum aaa-at-keywrap-nonce { + value 934; + description + "Key wrap randomize"; + } + enum aaa-at-keywrap-message-auth-code { + value 935; + description + "Key wrap message authenticator code"; + } + enum aaa-at-in-lpcor-grp { + value 936; + description + "Logical partition class of restriction group of an incoming call leg"; + } + enum aaa-at-out-lpcor-grp { + value 937; + description + "Logical partition class of restriction group of an outgoing call leg"; + } + enum aaa-at-evc-service-id { + value 938; + description + "Service instance values for Ethernet VC"; + } + enum aaa-at-bsn-vap-id { + value 939; + description + "WLAN-ID"; + } + enum aaa-at-bsn-qos-level { + value 940; + description + "QoS Level"; + } + enum aaa-at-bsn-dscp { + value 941; + description + "Differentiated Services Code Point"; + } + enum aaa-at-bsn-8021-p-type { + value 942; + description + "802.1P Type"; + } + enum aaa-at-bsn-vlan-interface-name { + value 943; + description + "Vlan interface name"; + } + enum aaa-at-bsn-acl-name { + value 944; + description + "Wlan ACL name"; + } + enum aaa-at-bsn-data-bw-average-contract { + value 945; + description + "Data Bandwidth Average Contract"; + } + enum aaa-at-bsn-real-time-bw-average-contract { + value 946; + description + "RealTime Bandwidth Average Contract"; + } + enum aaa-at-bsn-data-bw-burst-contract { + value 947; + description + "Data Bandwidth Burst Contract"; + } + enum aaa-at-bsn-real-time-bw-burst-contract { + value 948; + description + "RealTime Bandwidth Burst Contract"; + } + enum aaa-at-bsn-guest-role-name { + value 949; + description + "Guest Role Name"; + } + enum aaa-at-hwidb { + value 950; + description + "IOS Hardware IDB"; + } + enum aaa-at-swidb { + value 951; + description + "IOS Software IDB"; + } + enum aaa-at-iif-id { + value 952; + description + "IIF ID 64 bits"; + } + enum aaa-at-auth-profile { + value 953; + description + "Auth profile name"; + } + enum aaa-at-auth-domain { + value 954; + description + "Authentication domain"; + } + enum aaa-at-auth-mgr-ctx-state { + value 955; + description + "State of the Auth Manager Context"; + } + enum aaa-at-service-template { + value 956; + description + "Profile being downloaded is a service-template"; + } + enum aaa-at-aaa-authen-type { + value 957; + description + "Authentication type required for AAA APIs"; + } + enum aaa-at-aaa-author-type { + value 958; + description + "Authorization type required for AAA APIs"; + } + enum aaa-at-aaa-authen-service { + value 959; + description + "Authentication Service type required for AAA APIs"; + } + enum aaa-at-aaa-author-service { + value 960; + description + "Authorization Service type required for AAA APIs"; + } + enum aaa-at-arp-probe { + value 961; + description + "Enable ARP Probe functionality"; + } + enum aaa-at-arp-probe-timeout { + value 962; + description + "ARP probe timeout period"; + } + enum aaa-at-iaf-local-db { + value 963; + description + "IAF local DB attribute"; + } + enum aaa-at-authz-fail-reason { + value 964; + description + "The reason for a failure from an authorization feature"; + } + enum aaa-at-vlan-id { + value 965; + description + "Virtual LAN Identifier"; + } + enum aaa-at-nas-update { + value 966; + description + "Indicator of change of subscriber's NAS"; + } + enum aaa-at-sam-account-name { + value 967; + description + "Logon name for older versions"; + } + enum aaa-at-employee-type { + value 968; + description + "Job category of employee"; + } + enum aaa-at-contact-info { + value 969; + description + "Meeting contact information"; + } + enum aaa-at-telephone-number { + value 970; + description + "Primary telephone number"; + } + enum aaa-at-encapsulation-untagged { + value 971; + description + "Encapsulation as untagged for Ethernet service"; + } + enum aaa-at-encapsulation-default { + value 972; + description + "Encapsulation as default for Ethernet service"; + } + enum aaa-at-encapsulation-priority-tagged { + value 973; + description + "Encapsulation as priority tagged for Ethernet service"; + } + enum aaa-at-efp-session-name { + value 974; + description + "EFP Session name"; + } + enum aaa-at-stag-type { + value 975; + description + "Vlan type associated with EFP encapsulation"; + } + enum aaa-at-idmgr-mask { + value 976; + description + "The netmask to be used in id-manager for subnet session"; + } + enum aaa-at-fac-digits { + value 977; + description + "Input FAC digits of a leg"; + } + enum aaa-at-fac-status { + value 978; + description + "Authenticated fac status of a leg"; + } + enum aaa-at-dynamic-vrf-service-type { + value 979; + description + "Specifies type of vrf service : mapping or transfer"; + } + enum aaa-at-media-protocol-state { + value 980; + description + "Specifies the state of media protocol"; + } + enum aaa-at-stag-vlanid { + value 981; + description + "Outer vlan ids associated with EFP encapsulation"; + } + enum aaa-at-stag-cos { + value 982; + description + "Outer COS associated with EFP encapsulation"; + } + enum aaa-at-ctag-vlanid { + value 983; + description + "Inner vlan ids associated with EFP encapsulation"; + } + enum aaa-at-ctag-cos { + value 984; + description + "Inner COS associated with EFP encapsulation"; + } + enum aaa-at-payload-etype { + value 985; + description + "Ether type of the payload associated with EFP"; + } + enum aaa-at-encapsulation-match-exact { + value 986; + description + "Encapsulation matching criteria is for exact match"; + } + enum aaa-at-rewrite-ingress { + value 987; + description + "Rewrite ingress direction"; + } + enum aaa-at-rewrite-ingress-stag-type { + value 988; + description + "Vlan ethertype for vlan push and translation operation"; + } + enum aaa-at-rewrite-ingress-tag-operation { + value 989; + description + "Rewrite ingress vlan tag operation"; + } + enum aaa-at-rewrite-ingress-stag-vlanid { + value 990; + description + "Rewrite ingress stag vlanid"; + } + enum aaa-at-rewrite-ingress-ctag-vlanid { + value 991; + description + "Rewrite ingress C-Tag vlanid"; + } + enum aaa-at-rewrite-ingress-symmetric { + value 992; + description + "Symmetric operation needed for vlan translation"; + } + enum aaa-at-rewrite-egress { + value 993; + description + "Rewrite egress direction"; + } + enum aaa-at-rewrite-egress-stag-type { + value 994; + description + "Vlan ethertype for vlan push and translation operation"; + } + enum aaa-at-rewrite-egress-tag-operation { + value 995; + description + "Rewrite egress vlan tag operation"; + } + enum aaa-at-rewrite-egress-stag-vlanid { + value 996; + description + "Rewrite egress stag vlanid"; + } + enum aaa-at-rewrite-egress-ctag-vlanid { + value 997; + description + "Rewrite egress c-tag vlanid"; + } + enum aaa-at-rewrite-egress-symmetric { + value 998; + description + "Symmetric operation needed for vlan translation"; + } + enum aaa-at-service-instance-description { + value 999; + description + "Textual description associated with EFP"; + } + enum aaa-at-snmp-ifindex-persist { + value 1000; + description + "SNMP index is persistent or need to clear"; + } + enum aaa-at-evc-name { + value 1001; + description + "EVC name to be attached with ethernet services instance"; + } + enum aaa-at-ce-vlan-map { + value 1002; + description + "CE-VLAN to EVC map for a particular UNI"; + } + enum aaa-at-redundancy-group { + value 1003; + description + "Defines the redundancy group of PE"; + } + enum aaa-at-elmi-vlan-map-untagged { + value 1004; + description + "Vlan map encapsulation as untagged"; + } + enum aaa-at-elmi-vlan-map-default { + value 1005; + description + "Vlan map encapsulation as default"; + } + enum aaa-at-service-group-id { + value 1006; + description + "Service group number newly created EFP should be member"; + } + enum aaa-at-subscriber-id { + value 1007; + description + "Subscriber ID"; + } + enum aaa-at-port-security-enabled { + value 1008; + description + "SNMP index is persistent or need to clear"; + } + enum aaa-at-static-mac-address { + value 1009; + description + "Static mac address for EFP"; + } + enum aaa-at-static-mac-address-drop { + value 1010; + description + "Static mac address to be dropped"; + } + enum aaa-at-static-mac-address-autolearn { + value 1011; + description + "Static mac address to be auto learn"; + } + enum aaa-at-static-mac-address-disable-snooping { + value 1012; + description + "Static mac address with snooping disable"; + } + enum aaa-at-recovery-mac-sec-time-interval { + value 1013; + description + "Recovery time interval for mac-security cause"; + } + enum aaa-at-l2protocol-pdu-action { + value 1014; + description + "L2 protocol PDU action"; + } + enum aaa-at-mac-tunnel-id { + value 1015; + description + "MAC tunnel ID"; + } + enum aaa-at-mac-tunnel-description { + value 1016; + description + "Textual description associated with MAC tunnel"; + } + enum aaa-at-btag-type { + value 1017; + description + "B-Vlan type associated with ethernet mac encapsulation"; + } + enum aaa-at-btag-vlan-id { + value 1018; + description + "Backbone Vlan-id required for defining matching criteria"; + } + enum aaa-at-default-destination-mac { + value 1019; + description + "Default destination mac"; + } + enum aaa-at-itag { + value 1020; + description + "I-Tag value under EFP"; + } + enum aaa-at-mac-flush-proto { + value 1021; + description + "Protocol used for MAC flush"; + } + enum aaa-at-mac-flush-cos-value { + value 1022; + description + "Cos value used for MAC flush"; + } + enum aaa-at-bridge-domain-id { + value 1023; + description + "Bridge domain to be used"; + } + enum aaa-at-split-horizon-group { + value 1024; + description + "Bridge domain split horizon group"; + } + enum aaa-at-bridge-domain-type { + value 1025; + description + "Bridge domain type"; + } + enum aaa-at-max-mac-addr { + value 1026; + description + "Bridge domain max address"; + } + enum aaa-at-mac-learning { + value 1027; + description + "Bridge domain mac learning enable"; + } + enum aaa-at-snmp-context { + value 1028; + description + "Bridge domain snmp context"; + } + enum aaa-at-bridge-domain-member { + value 1029; + description + "Bridge domain member"; + } + enum aaa-at-bridge-domain-profile { + value 1030; + description + "Bridge domain profile"; + } + enum aaa-at-mac-security-enabled { + value 1031; + description + "MAC security enabled"; + } + enum aaa-at-permit-mac-addr-list { + value 1032; + description + "Permit address list (white list)"; + } + enum aaa-at-deny-mac-addr-list { + value 1033; + description + "Deny address list (black list)"; + } + enum aaa-at-max-mac-addr-limit { + value 1034; + description + "Per service instance max address limit"; + } + enum aaa-at-mac-security-sticky { + value 1035; + description + "MAC security sticky address enable"; + } + enum aaa-at-mac-security-violation-mode { + value 1036; + description + "MAC security violation mode"; + } + enum aaa-at-mac-security-aging-inactive { + value 1037; + description + "MAC security aging timer for inactive type"; + } + enum aaa-at-mac-security-aging-absolute { + value 1038; + description + "MAC security aging timer for absolute type"; + } + enum aaa-at-mac-security-aging-sticky { + value 1039; + description + "Aging for sticky address enable"; + } + enum aaa-at-mac-security-aging-static { + value 1040; + description + "Aging for static address enable"; + } + enum aaa-at-uni-count { + value 1041; + description + "Total number of uni on a given evc"; + } + enum aaa-at-multi-point { + value 1042; + description + "Uni count of 2 is multipoint"; + } + enum aaa-at-oam-protocol { + value 1043; + description + "Protocol used for MAC flush"; + } + enum aaa-at-cfm-svlan-id { + value 1044; + description + "CFM Vlan id for CFM protocol"; + } + enum aaa-at-cfm-vlan-id { + value 1045; + description + "Maintainance association of format vlan id"; + } + enum aaa-at-service-text { + value 1046; + description + "Maintainance association of format text"; + } + enum aaa-at-domain-name { + value 1047; + description + "Domain name associated with CFM"; + } + enum aaa-at-service-profile { + value 1048; + description + "Service profile for CFM"; + } + enum aaa-at-service-instance-id { + value 1049; + description + "Service instance id"; + } + enum aaa-at-service-direction { + value 1050; + description + "Service direction of MEP(default is up)"; + } + enum aaa-at-mip-level { + value 1051; + description + "Identify MIP level"; + } + enum aaa-at-mep-domain { + value 1052; + description + "MEP domain name"; + } + enum aaa-at-mep-mpid { + value 1053; + description + "Attribute specify MEP id"; + } + enum aaa-at-mep-cos { + value 1054; + description + "Attribute specify COS priority for MEP"; + } + enum aaa-at-mep-alarm-notification { + value 1055; + description + "Attribute specify MEP alarm notification"; + } + enum aaa-at-mep-alarm-delay { + value 1056; + description + "Attribute specify MEP alarm delay time"; + } + enum aaa-at-mep-alarm-reset { + value 1057; + description + "Attribute specify MEP alarm reset time"; + } + enum aaa-at-mip-auto-create-level { + value 1058; + description + "MIP level for mips to be auto created"; + } + enum aaa-at-mip-auto-create-evc { + value 1059; + description + "EVC name for mips to be auto created"; + } + enum aaa-at-mip-auto-create-lower-mep-only { + value 1060; + description + "MIPs to be auto created only if active lower level"; + } + enum aaa-at-mip-auto-create-sender-id { + value 1061; + description + "MIP auto create sensor ID"; + } + enum aaa-at-service-short-ma-name { + value 1062; + description + "Maintainance association name under domain"; + } + enum aaa-at-service-fmt { + value 1063; + description + "Service format"; + } + enum aaa-at-service-vlanid { + value 1064; + description + "Maintainance association of format vlan id"; + } + enum aaa-at-service-number { + value 1065; + description + "Maintainance association of format number"; + } + enum aaa-at-service-vpnid { + value 1066; + description + "Maintainance association of format VPN ID"; + } + enum aaa-at-cfm-service-type { + value 1067; + description + "Maintainance association type"; + } + enum aaa-at-service-continuity-check { + value 1068; + description + "Service continuity check"; + } + enum aaa-at-service-continuity-check-interval { + value 1069; + description + "Time interval at which continuity check messages transmitted"; + } + enum aaa-at-service-continuity-check-loss-threshold { + value 1070; + description + "Service continuity check loss threshold"; + } + enum aaa-at-service-continuity-check-static-rmep { + value 1071; + description + "Service continuity check received MEP id validation"; + } + enum aaa-at-service-continuity-check-auto-traceroute { + value 1072; + description + "Service continuity check auto traceroute enabled"; + } + enum aaa-at-service-mip-autocreate { + value 1073; + description + "Service mip auto create at domain maintainance level"; + } + enum aaa-at-service-mep-mpid { + value 1074; + description + "Static MEP id in MA"; + } + enum aaa-at-service-maximum-meps { + value 1075; + description + "Maximum meps supported"; + } + enum aaa-at-service-ais { + value 1076; + description + "AIS enabled or disabled for the service"; + } + enum aaa-at-service-ais-period { + value 1077; + description + "AIS transmission period for the service"; + } + enum aaa-at-service-ais-level { + value 1078; + description + "AIS transmission level for the service"; + } + enum aaa-at-service-ais-expiry-threshold { + value 1079; + description + "AIS specific expiry threshold"; + } + enum aaa-at-service-ais-suppress-alarms { + value 1080; + description + "AIS enable/disable of suppression of alarms"; + } + enum aaa-at-service-lck { + value 1081; + description + "Enable/disable LCK generation for the service"; + } + enum aaa-at-service-lck-period { + value 1082; + description + "Service transmission period for all meps"; + } + enum aaa-at-service-lck-level { + value 1083; + description + "Maintainance level to send LCK frames"; + } + enum aaa-at-service-lck-expiry-threshold { + value 1084; + description + "LCK specific expiry threshold"; + } + enum aaa-at-service-sender-id-chassis { + value 1085; + description + "Include sender id TLV in CFM packet"; + } + enum aaa-at-forwarding-service-type { + value 1086; + description + "Represents the type of forwarding service"; + } + enum aaa-at-forwarding-service-id { + value 1087; + description + "Represents the forwarding service id"; + } + enum aaa-at-composite-key { + value 1088; + description + "Composite key"; + } + enum aaa-at-vcid { + value 1089; + description + "VC-ID associated with PW"; + } + enum aaa-at-vpnid { + value 1090; + description + "VPN-ID associated with VPLS"; + } + enum aaa-at-pw-encapsulation { + value 1091; + description + "pw-class specification"; + } + enum aaa-at-pw-classname { + value 1092; + description + "pw-class name for the class defined"; + } + enum aaa-at-preferred-path-tunnel { + value 1093; + description + "Preferred path tunnel interface"; + } + enum aaa-at-interworking { + value 1094; + description + "Ethernet or IP interworking"; + } + enum aaa-at-pw-status { + value 1095; + description + "Enable PW status extension"; + } + enum aaa-at-sequencing-type { + value 1096; + description + "Sequencing type"; + } + enum aaa-at-primary-pw { + value 1097; + description + "Primary PW"; + } + enum aaa-at-backup-delay { + value 1098; + description + "Backup PW enable delay"; + } + enum aaa-at-redundancy-enable-delay { + value 1099; + description + "Redundancy enable delay interval"; + } + enum aaa-at-redundancy-disable-delay { + value 1100; + description + "Redundancy disable delay interval"; + } + enum aaa-at-redundancy-disable-never { + value 1101; + description + "Never disable redundancy"; + } + enum aaa-at-redundancy-priority { + value 1102; + description + "Redundancy PW priority"; + } + enum aaa-at-vfi-name { + value 1103; + description + "Name of the VPLS used for forwarding service"; + } + enum aaa-at-vpls-id { + value 1104; + description + "VPLS ID"; + } + enum aaa-at-route-distinguisher { + value 1105; + description + "Route distinguisher"; + } + enum aaa-at-route-target { + value 1106; + description + "Route target"; + } + enum aaa-at-auto-route-target { + value 1107; + description + "Automatically set a route target"; + } + enum aaa-at-l2-router-id { + value 1108; + description + "PE-router id"; + } + enum aaa-at-forward-l2protocol-all { + value 1109; + description + "Permit forwarding of all L2 protocol"; + } + enum aaa-at-peer-ip-address { + value 1110; + description + "Peer PE ip address"; + } + enum aaa-at-preferred-peer { + value 1111; + description + "Preferred path peer ip address"; + } + enum aaa-at-disable-fallback { + value 1112; + description + "Disable Fallback from preferred peer or path"; + } + enum aaa-at-l2vpn-control-word { + value 1113; + description + "L2VPn control word"; + } + enum aaa-at-vccv { + value 1114; + description + "Virtual Circuit Connectivity Verification"; + } + enum aaa-at-service-id { + value 1115; + description + "Service id for downloading profile"; + } + enum aaa-at-member { + value 1116; + description + "Member of a container"; + } + enum aaa-at-l2vpn-service-type { + value 1117; + description + "L2VPN service type"; + } + enum aaa-at-mtp-isid { + value 1118; + description + "I-Tag profile name for I-EFP"; + } + enum aaa-at-bmac { + value 1119; + description + "Bridge MAC Address"; + } + enum aaa-at-cmac { + value 1120; + description + "Customer MAC Address"; + } + enum aaa-at-sgt-name-list-inbound { + value 1121; + description + "SG Name list and generation number"; + } + enum aaa-at-sgt-name-list-outbound { + value 1122; + description + "SG Name list table"; + } + enum aaa-at-sgt-name { + value 1123; + description + "SG name for the SGT, format -"; + } + enum aaa-at-cdp-opaque { + value 1124; + description + "CDP TLV"; + } + enum aaa-at-lldp-opaque { + value 1125; + description + "LLDP TLV"; + } + enum aaa-at-dhcp-opaque { + value 1126; + description + "DHCP TLV"; + } + enum aaa-at-mdns-opaque { + value 1127; + description + "MDNS TLV"; + } + enum aaa-at-sip-opaque { + value 1128; + description + "SIP TLV"; + } + enum aaa-at-h323-opaque { + value 1129; + description + "H323 TLV"; + } + enum aaa-at-dc-profile-name { + value 1130; + description + "Device Classifier Profile Name"; + } + enum aaa-at-dc-device-name { + value 1131; + description + "Device Classifier Device Name"; + } + enum aaa-at-dc-device-class-tag { + value 1132; + description + "Device Classifier Device Class Tag"; + } + enum aaa-at-dc-profile-tags { + value 1133; + description + "Device Classifier Profile Tags"; + } + enum aaa-at-dc-protocol-map { + value 1134; + description + "Device Classifier Protocol Map"; + } + enum aaa-at-dc-certainty-metric { + value 1135; + description + "Device Classifier Certainty Metric"; + } + enum aaa-at-dc-device-id { + value 1136; + description + "Device Classifier Certainty Metric"; + } + enum aaa-at-dc-opaque { + value 1137; + description + "Device Classifier Opaque"; + } + enum aaa-at-pmip6-domain-identifier { + value 1138; + description + "Proxy Mobile IPv6 Domain name"; + } + enum aaa-at-pmip6-spi-value { + value 1139; + description + "Proxy Mobile IPv6 Security Associations"; + } + enum aaa-at-pmip6-spi-key { + value 1140; + description + "Proxy Mobile IPv6 SPI key"; + } + enum aaa-at-pmip6-fixed-ll-address { + value 1141; + description + "Proxy Mobile IPv6 fixed link local address"; + } + enum aaa-at-pmip6-fixed-l2-address { + value 1142; + description + "Proxy Mobile IPv6 fixed L2 address"; + } + enum aaa-at-pmip6-replay-protection { + value 1143; + description + "Proxy Mobile IPv6 replay protection type"; + } + enum aaa-at-pmip6-timestamp-window { + value 1144; + description + "Proxy Mobile IPv6 timestamp validity window"; + } + enum aaa-at-pmip6-encap-type { + value 1145; + description + "Proxy Mobile IPv6 tunnel encapsulation type"; + } + enum aaa-at-pmip6-lma-identifier { + value 1146; + description + "Proxy Mobile IPv6 Local Mobility Anchor name"; + } + enum aaa-at-pmip6-lma-v4-address { + value 1147; + description + "Proxy Mobile IPv6 Local Mobility Anchor IPv4 address"; + } + enum aaa-at-pmip6-lma-v6-address { + value 1148; + description + "Proxy Mobile IPv6 Local Mobility Anchor IPv6 address"; + } + enum aaa-at-pmip6-mag-identifier { + value 1149; + description + "Proxy Mobile IPv6 MAG name"; + } + enum aaa-at-pmip6-mag-v4-address { + value 1150; + description + "Proxy Mobile IPv6 MAG IPv4 address"; + } + enum aaa-at-pmip6-mag-v6-address { + value 1151; + description + "Proxy Mobile IPv6 MAG IPv6 address"; + } + enum aaa-at-mn-identifier { + value 1152; + description + "Mobile Node Identifier"; + } + enum aaa-at-mn-multihomed { + value 1153; + description + "Mobile Node multi-homed service"; + } + enum aaa-at-mip6-feature-vector { + value 1154; + description + "Mobile IPv6 feature vector"; + } + enum aaa-at-pmip6-home-lma-identifier { + value 1155; + description + "Proxy Mobile IPv6 MN's Home Local Mobility Anchor Identifier"; + } + enum aaa-at-pmip6-visited-lma-identifier { + value 1156; + description + "Proxy Mobile IPv6 MN's Visited Local Mobility Anchor Identifier"; + } + enum aaa-at-mn-gre-encap-key { + value 1157; + description + "Mobile Nodes GRE Encap Key"; + } + enum aaa-at-mn-service { + value 1158; + description + "Mobile Node's service type"; + } + enum aaa-at-mn-max-hnp { + value 1159; + description + "MN's Maximum Home Network Prefixes"; + } + enum aaa-at-pmip6-home-lma-ipv6-address { + value 1160; + description + "MN's Home Local Mobility Anchor IPv6 address"; + } + enum aaa-at-pmip6-visited-lma-ipv6-address { + value 1161; + description + "MN's Visited Local Mobility Anchor IPv6 address"; + } + enum aaa-at-pmip6-home-lma-ipv4-address { + value 1162; + description + "MN's Home Local Mobility Anchor IPv4 address"; + } + enum aaa-at-pmip6-visited-lma-ipv4-address { + value 1163; + description + "MN's Visited Local Mobility Anchor IPv4 address"; + } + enum aaa-at-pmip6-home-hl-prefix { + value 1164; + description + "MN's Home Prefix length"; + } + enum aaa-at-pmip6-home-dhcp6-server-address { + value 1165; + description + "MN's Home DHCPv6 Server address"; + } + enum aaa-at-pmip6-visited-dhcp6-server-address { + value 1166; + description + "MN's Visited DHCPv6 Server address"; + } + enum aaa-at-pmip6-home-dhcp4-server-address { + value 1167; + description + "MN's Home DHCPv4 Server address"; + } + enum aaa-at-pmip6-visited-dhcp4-server-address { + value 1168; + description + "MN's Visited DHCPv4 Server address"; + } + enum aaa-at-pmip6-home-ipv4-hoa { + value 1169; + description + "MN's Home IPv4 address"; + } + enum aaa-at-pmip6-visited-ipv4-hoa { + value 1170; + description + "MN's Visited IPv4 address"; + } + enum aaa-at-capwap-tunnel-profile-name { + value 1171; + description + "CAPWAP tunnel profile name"; + } + enum aaa-at-ppp-ipv4-addr-save { + value 1172; + description + "PPP IPv4 Address Saving"; + } + enum aaa-at-app-attr { + value 1173; + description + "Application Specific Attribute defined for Connected-Apps"; + } + enum aaa-at-allowed-app { + value 1174; + description + "Application that a user is allowed to perform"; + } + enum aaa-at-allowed-action { + value 1175; + description + "Action that an Application is allowed to perform"; + } + enum aaa-at-auto-acct { + value 1176; + description + "Whether auto accounting is enabled for a user"; + } + enum aaa-at-fnf-monitor { + value 1177; + description + "FNF Monitor Name"; + } + enum aaa-at-fnf-sampler { + value 1178; + description + "FNF Sampler Name"; + } + enum aaa-at-fnf-direction { + value 1179; + description + "Direction to apply FNF monitor"; + } + enum aaa-at-fnf-traffic-type { + value 1180; + description + "Type of traffic to apply an FNF monitor to"; + } + enum aaa-at-fnf-subtraffic-type { + value 1181; + description + "Type of sub-traffic to apply an FNF monitor to"; + } + enum aaa-at-rpclient-source-address { + value 1182; + description + "Radius Proxy Client Source address"; + } + enum aaa-at-mn-apn { + value 1183; + description + "Mobile Node Access Point Network"; + } + enum aaa-at-mn-network { + value 1184; + description + "Mobile Node Network"; + } + enum aaa-at-idle-timeout-direction { + value 1185; + description + "Direction of Idle timeout"; + } + enum aaa-at-rem-lifetime { + value 1186; + description + "Remaining Lifetime"; + } + enum aaa-at-user-type { + value 1187; + description + "Type of User"; + } + enum aaa-at-device-capability { + value 1188; + description + "Device capability"; + } + enum aaa-at-route-set { + value 1189; + description + "Route set parameters"; + } + enum aaa-at-chargeable-user-identity { + value 1190; + description + "Chargeable User Identity"; + } + enum aaa-at-cisco-service-selection { + value 1191; + description + "Service Identifier"; + } + enum aaa-at-cisco-mobile-node-identifier { + value 1192; + description + "Mobile Node Identifier"; + } + enum aaa-at-cisco-wlan-ssid { + value 1193; + description + "SSID of the Access Point"; + } + enum aaa-at-cisco-msisdn { + value 1194; + description + "Mobile Subscriber ISDN Number"; + } + enum aaa-at-cisco-mn-service { + value 1195; + description + "Mobile Node Service Type"; + } + enum aaa-at-cisco-mpc-protocol-interface { + value 1196; + description + "Protocol Interface to be used for interfacing with MPC"; + } + enum aaa-at-cisco-multihoming-support { + value 1197; + description + "Enable/Disable Multihoming support for mobile node"; + } + enum aaa-at-cisco-uplink-gre-key { + value 1198; + description + "32-bit GRE Key to be used on the uplink path"; + } + enum aaa-at-cisco-downlink-gre-key { + value 1199; + description + "32-bit GRE Key to be used on the downlink path"; + } + enum aaa-at-cisco-url-redirect { + value 1200; + description + "HTTP URL of the Captive Portal"; + } + enum aaa-at-cisco-url-redirect-acl { + value 1201; + description + "The specific Redirect rule"; + } + enum aaa-at-cisco-home-lma-ipv6-address { + value 1202; + description + "Mobile node's Home Local Mobility Anchor IPv6 address"; + } + enum aaa-at-cisco-visited-lma-ipv6-address { + value 1203; + description + "Mobile node's Visited Local Mobility Anchor IPv6 address"; + } + enum aaa-at-cisco-home-lma-ipv4-address { + value 1204; + description + "Mobile node's Home Local Mobility Anchor IPv4 address"; + } + enum aaa-at-cisco-visited-lma-ipv4-address { + value 1205; + description + "Mobile node's Visited Local Mobility Anchor IPv4 address"; + } + enum aaa-at-cisco-home-ipv4-home-address { + value 1206; + description + "Mobile node's Home IPv4 address"; + } + enum aaa-at-cisco-visited-ipv4-home-address { + value 1207; + description + "Mobile node's Visited IPv4 address"; + } + enum aaa-at-target-scope { + value 1208; + description + "The scope of the target for feature application"; + } + enum aaa-at-roaming-info { + value 1209; + description + "Information about a roaming event"; + } + enum aaa-at-rbacl-monitor-all { + value 1210; + description + "Config from server for CTS Role-Based ACL Monitor mode"; + } + enum aaa-at-cisco-access-vrf-id { + value 1211; + description + "ACCESS Virtual Route Forwarder ID"; + } + enum aaa-at-cisco-apn-vrf-id { + value 1212; + description + "APN Virtual Route Forwarder ID"; + } + enum aaa-at-rp-eapuser-ignore-open-session { + value 1213; + description + "Ignored Open Radius Accounting For Active Authenticated Session"; + } + enum aaa-at-cisco-tunnel-if-handle { + value 1214; + description + "Mobile tunnel interface handle"; + } + enum aaa-at-cisco-mobility-core-mtu { + value 1215; + description + "MTU towards Mobility core"; + } + enum aaa-at-cisco-if-adjacency-handle { + value 1216; + description + "Mobile tunnel interface adjacency"; + } + enum aaa-at-cisco-teid-enable { + value 1217; + description + "Mobile tunnel endpoint enable"; + } + enum aaa-at-cisco-upstream-key-teid { + value 1218; + description + "Mobile upstream key Tunnel endpoint identifier"; + } + enum aaa-at-cisco-downstream-key-teid { + value 1219; + description + "Mobile downstream key Tunnel endpoint identifier"; + } + enum aaa-at-default-ipv4-gw { + value 1220; + description + "The default gateway for the mobile user"; + } + enum aaa-at-default-gw-mac-address { + value 1221; + description + "MAC address of mobile node's default gateway"; + } + enum aaa-at-mobile-ipv4-address { + value 1222; + description + "The IP address for the Mobile user"; + } + enum aaa-at-mobile-ipv4-netmask { + value 1223; + description + "The IP netmask for the mobile user"; + } + enum aaa-at-download-request { + value 1224; + description + "Type of Download-request"; + } + enum aaa-at-pmip6-visited-hn-prefix { + value 1225; + description + "Visited HN Prefix"; + } + enum aaa-at-pmip6-home-interface-id { + value 1226; + description + "Home Interface ID"; + } + enum aaa-at-pmip6-visited-interface-id { + value 1227; + description + "Proxy Mobile IPv6 Visited Interface ID"; + } + enum aaa-at-cts-local-db { + value 1228; + description + "CTS local DB attribute"; + } + enum aaa-at-mos-con { + value 1229; + description + "MOS SCORE - conversational"; + } + enum aaa-at-rtcp-jitter-buffer-nominal-delay { + value 1230; + description + "Nominal delay of jitter buffer for RTP Control Protocol"; + } + enum aaa-at-vq-total-packet-loss { + value 1231; + description + "The loss rate of total packet"; + } + enum aaa-at-vq-out-of-order { + value 1232; + description + "The out of order rate"; + } + enum aaa-at-entity-attr { + value 1233; + description + "Entity attributes"; + } + enum aaa-at-voice-vlan { + value 1234; + description + "Voice plug-in attribute"; + } + enum aaa-at-authz-directive-local { + value 1235; + description + "Authorization Directive Local"; + } + enum aaa-at-eap-msk { + value 1236; + description + "EAP Master Session Key"; + } + enum aaa-at-eap-emsk { + value 1237; + description + "EAP Extended Master Session Key"; + } + enum aaa-at-eap-session-id-fake { + value 1238; + description + "EAP keys session id"; + } + enum aaa-at-session-linksec-secured { + value 1239; + description + "Link Security Status of the session"; + } + enum aaa-at-eap-ether { + value 1240; + description + "Ether passed to linksec"; + } + enum aaa-at-reroute-ipv4 { + value 1241; + description + "Reroute ipv4 details"; + } + enum aaa-at-reroute-ipv6 { + value 1242; + description + "Reroute ipv6 details"; + } + enum aaa-at-relay-session-id { + value 1243; + description + "Relay Session ID"; + } + enum aaa-at-dhcp-option-82-str { + value 1244; + description + "DHCP relay info option 82 from lease query"; + } + enum aaa-at-mobileopt-server-ipv4addr { + value 1245; + description + "IPv4 addr of the Mobile Optimization SCTP server"; + } + enum aaa-at-mobileopt-server-port { + value 1246; + description + "SCTP port of the Mobile Optimization server"; + } + enum aaa-at-cisco-customer-identifier { + value 1247; + description + "Customer Identifier for Proxy Mobile IPv6 mobile node profile"; + } + enum aaa-at-http-opaque { + value 1248; + description + "HTTP User Agent"; + } + enum aaa-at-cisco-user-role { + value 1249; + description + "Specifies the User Role"; + } + enum aaa-at-interface-template-name { + value 1250; + description + "Specifies the interface template to be applied"; + } + enum aaa-at-frmd-ipv6-address { + value 1251; + description + "The IPv6 address for the user"; + } + enum aaa-at-identity-session-type { + value 1252; + description + "Identity Session Type"; + } + enum aaa-at-author-status { + value 1253; + description + "Identity session authorization status"; + } + enum aaa-at-security-violation-action { + value 1254; + description + "Identity session security violation"; + } + enum aaa-at-fqdn-acl-name { + value 1255; + description + "Specifies the FQDN ACL Name to be used"; + } + enum aaa-at-vlan-autoconfig { + value 1256; + description + "VLAN Auto-configuration enable"; + } + enum aaa-at-vlan-autoconfig-service-info { + value 1257; + description + "VLAN Auto-configuration Service Info"; + } + enum aaa-at-vlan-autoconfig-command { + value 1258; + description + "Type of vlan-auto-config command"; + } + enum aaa-at-vlan-autoconfig-subinterface-id { + value 1259; + description + "VLAN Auto-config Sub Interface ID"; + } + enum aaa-at-cpeid { + value 1260; + description + "Common Platform Enumeration ID Tag"; + } + enum aaa-at-cisco-config-macro { + value 1261; + description + "Specifies the config macro to be applied"; + } + enum aaa-at-client-type { + value 1262; + description + "Specifies the VPN Client type"; + } + enum aaa-at-swbidb { + value 1263; + description + "Bin-OS Software IDB"; + } + enum aaa-at-client-iif-id { + value 1264; + description + "Client IIF-ID"; + } + enum aaa-at-intf-id { + value 1265; + description + "Interface index"; + } + enum aaa-at-auth-level { + value 1266; + description + "Authentication level"; + } + enum aaa-at-is-basic { + value 1267; + description + "Is Basic"; + } + enum aaa-at-nsh-dc-tenant-id { + value 1268; + description + "IKE client tenant id"; + } + enum aaa-at-nsh-dc-source-node-id { + value 1269; + description + "IKE client source node id"; + } + enum aaa-at-nsh-dc-source-interface-id { + value 1270; + description + "IKE client source interface id"; + } + enum aaa-at-ancp-access-loop-rem-id { + value 1271; + description + "Access Node Control Protocol access loop rem ID"; + } + enum aaa-at-fqdn-webauth-acl-name { + value 1272; + description + "Specifies the FQDN WebAuth ACL Name to be used"; + } + enum aaa-at-security-group-sgt-epg-table { + value 1273; + description + "Security group sgt to End Point Grouping translation table"; + } + enum aaa-at-security-group-sgt-epg-table-outbound { + value 1274; + description + "Security group sgt to End Point Grouping translation outbound table"; + } + enum aaa-at-security-group-sg-epg-table-info { + value 1275; + description + "SG-End Point Grouping Translation table entry, format -----"; + } + enum aaa-at-security-group-default-epg-table { + value 1276; + description + "Security group default End Point Grouping table to derive End Point Grouping"; + } + enum aaa-at-security-group-default-epg-table-outbound { + value 1277; + description + "Security group default End Point Grouping table to derive outbound End Point Grouping"; + } + enum aaa-at-security-group-default-epg-table-info { + value 1278; + description + "Default End Point Grouping Translation table entry, format --"; + } + enum aaa-at-security-group-default-sgt-table { + value 1279; + description + "Security group default SGT table to derive sgt"; + } + enum aaa-at-security-group-default-sgt-table-outbound { + value 1280; + description + "Security group default SGT table to derive outbound sgt"; + } + enum aaa-at-security-group-default-sgt-table-info { + value 1281; + description + "Default SGT Translation table entry, format --"; + } + enum aaa-at-security-group-sg-epg-translation-return-code { + value 1282; + description + "SG-End Point Grouping Translation feature status on ISE"; + } + enum aaa-at-security-group-default-sgt-scalar { + value 1283; + description + "SG-End Point Grouping Translation default SGT scalar value"; + } + enum aaa-at-web-secure-acl { + value 1284; + description + "web secure acl"; + } + enum aaa-at-delegated-ipv4-prefix { + value 1285; + description + "Delegated IPv4 Prefix"; + } + enum aaa-at-service-selection { + value 1286; + description + "Service Selection"; + } + enum aaa-at-pmip6-mobile-node-identifier { + value 1287; + description + "Mobile Node Identifier"; + } + enum aaa-at-coa-push { + value 1288; + description + "coa-push"; + } + enum aaa-at-anchor-vlan-id { + value 1289; + description + "anchor-vlan"; + } + enum aaa-at-route-redistribute { + value 1290; + description + "Redistribute routes from routing protocols"; + } + enum aaa-at-bsn-ipv6-acl-name { + value 1291; + description + "IPV6 ACL Name"; + } + enum aaa-at-psk { + value 1292; + description + "Pre-Shared Key"; + } + enum aaa-at-psk-mode { + value 1293; + description + "PSK mode"; + } + enum aaa-at-nas-identifier-wireless { + value 1294; + description + "A string identifying the NAS in Authentication and Accounting Packets"; + } + enum aaa-at-ericssion-rtts-estm-thrhput { + value 1295; + description + "Ericsson RTTS Estimated Throughput"; + } + enum aaa-at-ericsson-rtts-result { + value 1296; + description + "Ericsson RTTS Result"; + } + enum aaa-at-ericsson-rtts-bckoff-tmr { + value 1297; + description + "Ericsson RTTS Backoff Timer"; + } + enum aaa-at-ericsson-rtts-reestm-period { + value 1298; + description + "Ericsson RTTS Re-estimation Period"; + } + enum aaa-at-ericsson-rtts-reestm-bel-thrhput { + value 1299; + description + "Ericsson RTTS Re-estimate When Below Throughput"; + } + enum aaa-at-ericsson-rtts-reestm-keepalive-num { + value 1300; + description + "Ericsson RTTS Re-estimate Keepalive Number"; + } + enum aaa-at-ericsson-rtts-early-lift-thrput-thrhold { + value 1301; + description + "Ericsson RTTS Early Lift Throughput Threshold"; + } + enum aaa-at-bsn-data-bs-average-contract-up { + value 1302; + description + "Data Bandwidth Average Contract Upstream"; + } + enum aaa-at-bsn-real-time-bw-average-contract-up { + value 1303; + description + "RealTime Bandwidth Average Contract Upstream"; + } + enum aaa-at-bsn-data-bw-burst-contract-up { + value 1304; + description + "Data Bandwidth Burst Contract Upstream"; + } + enum aaa-at-bsn-real-time-bw-burst-contract-up { + value 1305; + description + "RealTime Bandwidth Burst Contract Upstream"; + } + enum aaa-at-opendns-param { + value 1306; + description + "Open DNS profiling option under wireless policy"; + } + enum aaa-at-url-filter-preauth { + value 1307; + description + "Pre-authentication URL filter"; + } + enum aaa-at-url-filter-postauth { + value 1308; + description + "Post-authentication URL filter"; + } + enum aaa-at-primary-tgw-ip { + value 1309; + description + "Primary tunnel gateway IP address"; + } + enum aaa-at-secondary-tgw-ip { + value 1310; + description + "Secondary tunnel gateway IP address"; + } + enum aaa-at-gw-domain-name { + value 1311; + description + "Tunnel gateway domain name"; + } + enum aaa-at-eogre-vlan { + value 1312; + description + "User VLAN id for EoGRE tunneling"; + } + enum aaa-at-mdns-profile-name { + value 1313; + description + "Used as mdns policy name in case of AAA override"; + } + enum aaa-at-wfa-subscription-remediation { + value 1314; + description + "WiFi Alliance subscription remediation"; + } + enum aaa-at-wfa-ap-version { + value 1315; + description + "WiFi Alliance AP version"; + } + enum aaa-at-wfa-mobile-device-version { + value 1316; + description + "WiFi Alliance mobile device version"; + } + enum aaa-at-wfa-deauthentication-request { + value 1317; + description + "WiFi Alliance deauthentication request"; + } + enum aaa-at-wfa-session-information { + value 1318; + description + "WiFi Alliance session information"; + } + enum aaa-at-wfa-roaming-consortium { + value 1319; + description + "WiFi Alliance roaming consortium information"; + } + enum aaa-at-wfa-tc-filename { + value 1320; + description + "WiFi Alliance terms and conditions filename"; + } + enum aaa-at-wfa-tc-filtering { + value 1321; + description + "WiFi Alliance terms and conditions filtering"; + } + enum aaa-at-wfa-timestamp { + value 1322; + description + "WiFi Alliance timestamp"; + } + enum aaa-at-dhcpv6-opaque { + value 1323; + description + "DHCPv6 TLV"; + } + enum aaa-at-cts-pac-capability { + value 1324; + description + "Include CTS PAC Capability"; + } + enum aaa-at-redirect-append-client-mac { + value 1325; + description + "Append client Mac Address in the URL"; + } + enum aaa-at-url-redirect-append-switch-mac { + value 1326; + description + "Append switch Mac Address in the URL"; + } + enum aaa-at-dns-acl-preauth { + value 1327; + description + "Pre-authentication DNS ACL"; + } + enum aaa-at-dns-acl { + value 1328; + description + "DNS ACL"; + } + enum aaa-at-private-group-id { + value 1329; + description + "Windows Private Network Group ID"; + } + enum aaa-at-private-group-name { + value 1330; + description + "Windows Private Network Group name"; + } + enum aaa-at-private-group-owner { + value 1331; + description + "Windows Private Network Group owner"; + } + enum aaa-at-fqdn-domain-list { + value 1332; + description + "FQDN profile list for MUD"; + } + enum aaa-at-fqdn-domain-url { + value 1333; + description + "Domain names as part of download"; + } + enum aaa-at-fqdn-domain-acl-name { + value 1334; + description + "FQDN acl for MUD"; + } + enum aaa-at-cts-sgt-acct { + value 1335; + description + "Cisco trustsec SGT for accounting"; + } + enum aaa-at-cts-vn-acct { + value 1336; + description + "Cisco trustsec VRF name for accounting"; + } + enum aaa-at-device-analytics { + value 1337; + description + "Attribute for device classification"; + } + enum aaa-at-wfa-tc-url { + value 1338; + description + "WiFi Alliance terms and conditions URL"; + } + enum aaa-at-server-ipv4 { + value 1339; + description + "Support multiple IPv4 addresses per server"; + } + enum aaa-at-server-ipv6 { + value 1340; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-zip-code { + value 1341; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-device-type { + value 1342; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-device-model-number { + value 1343; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-lat-long { + value 1344; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-venue-category { + value 1345; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-svr-network-type { + value 1346; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-aggregation-aaa { + value 1347; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-venue-id { + value 1348; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-venue-tz { + value 1349; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-class { + value 1350; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-value-description { + value 1351; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-iso-country-code { + value 1352; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-e164-country-code { + value 1353; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-state-name { + value 1354; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-city-name { + value 1355; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-area-code { + value 1356; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-user-group { + value 1357; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-venue-name { + value 1358; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-bw-operator-name { + value 1359; + description + "Support multiple IPv6 addresses per server"; + } + enum aaa-at-as-supported { + value 1360; + description + "Authentication Survivability Supported"; + } + enum aaa-at-as-username { + value 1361; + description + "Authentication Survivability Username"; + } + enum aaa-at-as-credential-hash { + value 1362; + description + "Authentication Survivability Credential Hash"; + } + enum aaa-at-service-wlan-prof-name { + value 1363; + description + "WLAN Profile Name"; + } + enum aaa-at-fqdn-redirect-acl { + value 1364; + description + "FQDN Redirect ACL"; + } + enum aaa-at-cisco-bssid { + value 1365; + description + "BSSID of the Access Point"; + } + enum aaa-at-cisco-site-name { + value 1366; + description + "Site tag name"; + } + enum aaa-at-cisco-anonce { + value 1367; + description + "Cisco authenticator nonce"; + } + enum aaa-at-cisco-easy-psk-err-cause { + value 1368; + description + "Cisco easy PSK error cause"; + } + enum aaa-at-cisco-8021x-data { + value 1369; + description + "Complete EAPOL M2 message"; + } + enum aaa-at-wlan-pairwise-cipher { + value 1370; + description + "WLAN pairwise cipher"; + } + enum aaa-at-wlan-group-cipher { + value 1371; + description + "WLAN group cipher"; + } + enum aaa-at-wlan-akm-suite { + value 1372; + description + "WLAN AKM suite"; + } + enum aaa-at-wlan-group-mgmt-cipher { + value 1373; + description + "WLAN group management cipher"; + } + enum aaa-at-wlan-reason-code { + value 1374; + description + "WLAN reason code"; + } + enum aaa-at-operator-name { + value 1375; + description + "Operator name"; + } + enum aaa-at-mdns-location-id { + value 1376; + description + "MDNS location id"; + } + enum aaa-at-cisco-duid { + value 1377; + description + "Device unique identifier"; + } + enum aaa-at-cisco-5g-auth-rand { + value 1378; + description + "Random Challenge"; + } + enum aaa-at-cisco-5g-auth-autn { + value 1379; + description + "Authentication Token"; + } + enum aaa-at-cisco-5g-auth-hxres-star { + value 1380; + description + "5G Hash Expected Response Star"; + } + enum aaa-at-cisco-5g-auth-kseaf { + value 1381; + description + "5G Security Anchor Function Key"; + } + enum aaa-at-cisco-5g-auth-auts { + value 1382; + description + "Authentication Token for Re-synchronization"; + } + enum aaa-at-cisco-5g-sn-name { + value 1383; + description + "Serving Network Name"; + } + enum aaa-at-cisco-5g-dnn { + value 1384; + description + "Data Network Name used in 5G"; + } + enum aaa-at-cisco-5g-ssc-mode { + value 1385; + description + "5G Session and Service Continuity Mode"; + } + enum aaa-at-cisco-5g-s-nssai { + value 1386; + description + "5G Single Network Slice Selection Assistance Information"; + } + enum aaa-at-cisco-rogue-ap-state { + value 1387; + description + "Rogue AP State"; + } + enum aaa-at-cisco-rogue-ap-class { + value 1388; + description + "Rogue AP Classification"; + } + enum aaa-at-qos-policy-ul { + value 1389; + description + "Uplink QoS Policy Name"; + } + enum aaa-at-qos-policy-dl { + value 1390; + description + "Downlink QoS Policy Name"; + } + enum aaa-at-push-id { + value 1391; + description + "Unique identification of the CoA transaction"; + } + enum aaa-at-policy-version-id { + value 1392; + description + "Policy matrix identification details for CTS change of authorisation"; + } + enum aaa-at-report-config-type { + value 1393; + description + "Various type of reporting methods for TrustSEC CoA"; + } + enum aaa-at-vm-bridge-mac { + value 1394; + description + "MAC address of VM Bridge Host"; + } + enum aaa-at-location-info { + value 1395; + description + "RFC 5580 Location Information attribute"; + } + enum aaa-at-location-data { + value 1396; + description + "RFC 5580 Location Data attribute"; + } + enum aaa-at-location-capable { + value 1397; + description + "RFC 5580 Location Capable attribute"; + } + enum aaa-at-rbacl-ip-version { + value 1398; + description + "Support CoA for Role-based ACL IP Version"; + } + } + description + "AAA Attribute Type"; + } + + grouping aaa-protocol-type { + description + "AAA Protocol Type"; + leaf protocol { + type aaa-types:protocol-type; + description + "Protocol value"; + } + } + + grouping aaa-service-type { + description + "AAA Service Type"; + leaf svc-type { + type aaa-types:serv-type; + description + "Service value"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa.yang new file mode 100644 index 000000000..acfdb1887 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-aaa.yang @@ -0,0 +1,6832 @@ +module Cisco-IOS-XE-aaa { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-aaa"; + prefix ios-aaa; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Authentication, Authorization and Accounting (AAA) Yang Model. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added model support for authentication banner + - Added tls CLI support for radius sever + tls trustpoint client + tls trustpoint server + tls port + tls match-server-identity hostname + - Added model support for radius-server directed-request + - Added model support for authentication fail-message + - Added missing reset-container tailf for aaa credential-download + - Fixed Model issue for radius-server cache expiry <> enforce hours + - Added model support for aaa authorization radius-proxy + - Added model support for aaa accounting network + - Added multi-group support for aaa authentication enable + - Added missing cli-diff-delete-before tailf for config-ip-tacacs-grouping tacacs source-interface + - Adding model support for security authentication failure rate <> log + - Added model support for security passwords min-length"; + cisco-semver:module-version "7.0.0"; + } + revision 2024-03-01 { + description + "- Removed must constraint for vrf + - Fixed and addressed model gaps for accounting nested,network,exec and "; + cisco-semver:module-version "6.0.0"; + } + revision 2023-11-01 { + description + "- Added curly braces in the pattern check for radius group server"; + cisco-semver:module-version "5.2.0"; + } + revision 2023-07-01 { + description + "- Added and updated below cli + aaa authentication default group radius + aaa authorization configuration CONF radius + radius-server attribute wireless authentication + radius-server attribute wireless accounting + radius-server attribute wireless accounting + aaa accounting update 12 + line console 0 + password <> + aaa accounting commands local + - Added handling of special char in radius server-group name + - Fixed RADIUS server address modifications and transitions + between IPv4, IPv6 and FQDN + - Added tailf leafref and diff extensions for below cli + username aaa attribute list "; + cisco-semver:module-version "5.1.0"; + } + revision 2023-03-01 { + description + "-Added include-location-capable attribute support for Wireless dot1x session + -Added must check with an error message when unknown group mentioned on below CLI + aaa accounting commands 1 default start-stop group "; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added Multi group support for below cli + aaa authorization credential-download group radius local + - Updated action-type in accounting container with choice statement to + end command after none"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-07-01 { + description + "- Remove constraint added for vrf name in tacacs+ server group config + - Updated the range for tracking successful login attempts"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "- Added container attri11 for radius-server group config + - Added constraint for ipv6 radius as an augment + - Added constraint for ipv6 tacacs as an augment + - Added leaf attri4 for radius-server group config"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-07-01 { + description + "- Added constraint for vrf name in tacacs+ server group config"; + cisco-semver:module-version "4.0.0"; + } + revision 2021-03-01 { + description + "- Change range for: + UDP port for RADIUS accounting server + UDP port for RADIUS authentication server + - Deprecate leaf group under grouping aaa-accounting-identity + - Added common-criteria policy model + - Added cache expiry under grouping aaa-group-server-radius-grouping + - Added cache under grouping config-radius-server-grouping + - Deprecated leaf expiry under grouping aaa-group-server-radius-grouping + - Added model for submode cache under grouping config-aaa-grouping + All for cache under grouping config-aaa-grouping + Default for cache under grouping config-aaa-grouping + Profile for cache under grouping config-aaa-grouping + Regular expression for cache under grouping config-aaa-grouping + - Added constraint for vrf name in dynamic-author config + - Added must not condition for dot1x named authentication list to reject + Usage of default keyword as a named method list + - Moved when conditions for aaa:new-model to annotation"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- aaa group server tacacs+ TACACS+CG + key type 6 introduced. + - Multi group support and added missing leafs for below clis + aaa accounting exec default start-stop group tacacs+ + aaa authorization commands 15 default group tacacs+ none + aaa accounting commands 1 default start-stop group tacacs+ + aaa authorization exec default group TACACS+CG if-authenticated + aaa accounting network default start-stop group + aaa accounting system default start-stop group + - added type 6 support for + tacacs-server key 6 + radius-server key 6 + + - tls port support for dynamic-author"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "-Added key 7 option for Encrypted key in radius-server + - Added support for tacacs-server attribute allow unknown + - Added support aaa authentication username-prompt and password-prompt + - Fixed support for multiple groups for aaa authentication dot1x"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "-Added key 7 option for Encrypted key in radius-server"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "-Added handling of special char in key for radius server + -Added key 6 encryption option for radius-server + -Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "Added delete after ordering dependency on native line vty for aaa + authentication and authorization"; + } + revision 2018-12-03 { + description + "Added dependency for aaa authentication/accounting/group/server/session=id + sub cli for aaa new-model"; + } + revision 2018-11-29 { + description + "Added dependency for aaa authentication dot1x default local"; + } + revision 2018-11-28 { + description + "Added handling of special char in pac key for radius server"; + } + revision 2018-11-28 { + description + "added fix for accounting update"; + } + revision 2018-11-22 { + description + "Added wireless attribute for radius-server"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-13 { + description + "Change to use + in multi-line descriptions to avoid NSO compile error"; + } + revision 2018-11-07 { + description + "Added dependency for tacacs server configuration"; + } + revision 2018-10-29 { + description + "Added all options for aaa group server tacacs+ "; + } + revision 2018-10-16 { + description + "Added cli-full-command to handle authorization commands create delete"; + } + revision 2018-10-09 { + description + "Added 'cli-preformatted' for handling special char in aaa server-key"; + } + revision 2018-10-02 { + description + "Added new AAA attributes and radius-server load-balance support"; + } + revision 2018-08-28 { + description + "Added automate-tester support for radius server"; + } + revision 2018-08-24 { + description + "Added options under aaa accounting update *"; + } + revision 2018-08-03 { + description + "Added IPv6 support for radius"; + } + revision 2018-08-02 { + description + "Added IPv6 support for tacacs"; + } + revision 2018-05-29 { + description + "Add default for aaa session common"; + } + revision 2018-01-15 { + description + "Add Support for suppress node under aaa accounting"; + } + revision 2018-01-11 { + description + "Changed aaa group radius ip source-interface to implement correct native interface model"; + } + revision 2017-12-15 { + description + "Added aaa server group acct-port leaf"; + } + revision 2017-12-04 { + description + "Added support back for aaa accounting dot1x required for DNA-C removed in revision below on 06-01"; + } + revision 2017-11-17 { + description + "Added support for named tacacs and radius servers in both aaa groups for radius and tacacs"; + } + revision 2017-11-16 { + description + "Support server-private key under aaa group server radius"; + } + revision 2017-10-10 { + description + "Support new aaa local authorization auth-proxy"; + } + revision 2017-10-06 { + description + "Add server-private list to radius server group"; + } + revision 2017-10-05 { + description + "Add support for 'subscriber *' and 'mac-delimiter *' commands under aaa group server"; + } + revision 2017-09-28 { + description + "Support wireless aaa misc commands"; + } + revision 2017-09-05 { + description + "Support new aaa login commands and aaa server commands"; + } + revision 2017-06-05 { + description + "Update domain delimeter description to conform to YANG 1.1"; + reference + "RFC 7950: The YANG 1.1 Data Modeling Language"; + } + revision 2017-06-01 { + description + "Changed aaa accounting dot1x to aaa accounting identity"; + } + revision 2017-03-24 { + description + "Remove banner and fail-message"; + } + revision 2017-03-08 { + description + "Add radius retransmit/automate-tester"; + } + revision 2017-03-03 { + description + "add aaa login support and deadtimer for radius"; + } + revision 2017-02-28 { + description + "Add attribute 31 to radius-server"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef ipv4-mask-slash-prefix-len-type { + type string { + pattern '/(([0-9])|([1-2][0-9])|(3[0-2]))'; + } + } + + typedef short-lower-upper { + type enumeration { + enum lower; + enum upper; + } + } + + typedef delimiter-option { + type enumeration { + enum colon; + enum hyphen; + enum none; + enum single-hyphen; + } + } + + grouping aaa-accounting-identity { + container start-stop { + description + "Record start and stop without waiting"; + container group-config { + description + "server group name"; + uses aaa-accounting-sub-grouping; + } + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type enumeration { + enum radius; + enum tacacs+; + } + type string; + } + } + } + } + + grouping aaa-group-server-tacas-grouping { + container server { + description + "Specify a TACACS server"; + list name { + description + "Name of tacacs server"; + ordered-by user; + key "name"; + leaf name { + type string; + } + } + list server-ip { + key "name"; + leaf name { + type inet:host; + } + } + } + list server-private { + description + "Define a private TACACS server (per group)"; + key "name"; + leaf name { + description + "Hostname or IPv4 or IPV6 address of TACACS server"; + type ios-types:host-type; + } + leaf port { + description + "TCP port for TACACS+ server (default is 49)"; + type uint16 { + range "1..65535"; + } + } + leaf timeout { + description + "Time to wait for this TACACS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + container key { + description + "per-server encryption key (overrides default)"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + description + "The UNENCRYPTED (cleartext) server key"; + type string; + } + } + } + container ip { + description + "Internet Protocol config commands"; + container tacacs { + description + "TACACS configuration commands"; + uses config-ip-tacacs-main-grouping; + } + container vrf { + description + "Set VPN Routing Forwarding to use with the servers"; + leaf forwarding { + description + "Configure forwarding table"; + type string { + length "1..32"; + } + } + } + } + container accounting { + description + "Accounting specific command"; + container acknowledge { + description + "Send accounting response"; + leaf broadcast { + description + "Acknowledge broadcast accounting"; + type empty; + } + } + } + container cache { + description + "cached DB profile configuration"; + container authentication { + description + "Authentication Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + container authorization { + description + "Authorization Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + leaf expiry { + description + "Time for cached DB profile entry to expire"; + type uint32 { + range "0..2147483647"; + } + } + } + leaf dns-alias-lookup { + description + "Enable IP Domain Name System Alias lookup for TACACS"; + type empty; + } + container host { + description + "Specify a TACACS server"; + leaf ip-address { + description + "Hostname or A.B.C.D IP address of TACACS server"; + type union { + type inet:ipv4-address; + type string; + } + } + } + container ipv6 { + description + "IPv6 config commands"; + container tacacs { + description + "TACACS configuration commands"; + uses config-ip-tacacs-main-grouping; + } + container vrf { + description + "Set VPN Routing Forwarding to use with the servers"; + leaf forwarding { + description + "Configure forwarding table"; + type string; + } + } + } + leaf pick-method { + description + "Method by which the next host will be picked"; + type enumeration { + enum load-balanced; + enum next; + enum round-robin; + } + } + leaf timeout { + description + "Time to wait for a TACACS server to reply"; + type uint32 { + range "1..1000"; + } + } + } + + grouping aaa-accounting-dot1x { + container start-stop { + description + "Record start and stop without waiting"; + container group-config { + description + "server group name"; + uses aaa-accounting-sub-grouping; + } + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + } + + grouping aaa-authorisation-cred-download-grouping1 { + choice cred-download { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf local { + description + "Use local database"; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + description + "Use radius"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-cred-download-grouping2 { + choice cred-download { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf local { + when 'not(../../group1/local)'; + description + "Use local database"; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + when 'not(../../group1/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-cred-download-grouping3 { + choice cred-download { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf local { + when 'not(../../group1/local) and not(../../group2/local)'; + description + "Use local database"; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + when 'not(../../group1/radius) and not(../../group2/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs) and not(../../group2/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-cred-download-grouping4 { + choice cred-download { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf local { + when 'not(../../group1/local) and not(../../group2/local)and not(../../group3/local)'; + description + "Use local database"; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + when 'not(../../group1/radius) and not(../../group2/radius)and not(../../group3/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs) and not(../../group2/tacacs)and not(../../group3/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorization-cred-download { + container group1 { + uses aaa-authorisation-cred-download-grouping1; + } + container group2 { + when '(count(../group1/*) > 0) and not(../group1/none)and not(../group1/if-authenticated)'; + uses aaa-authorisation-cred-download-grouping2; + } + container group3 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)and not(../group1/none) and not(../group1/if-authenticated)and not(../group2/none) and not(../group2/if-authenticated)'; + uses aaa-authorisation-cred-download-grouping3; + } + container group4 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)and (count(../group3/*) > 0) and not(../group1/none)and not(../group1/if-authenticated) and not(../group2/none)and not(../group2/if-authenticated) and not(../group3/none)and not(../group3/if-authenticated)'; + uses aaa-authorisation-cred-download-grouping4; + } + leaf local { + status deprecated; + description + "Use local database"; + type empty; + } + leaf cache { + status deprecated; + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf group { + status deprecated; + description + "Use server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf if-authenticated { + status deprecated; + description + "Succeed if user has authenticated"; + type empty; + } + leaf none { + status deprecated; + description + "No authorization (always succeeds)"; + type empty; + } + } + + grouping aaa-authorisation-radius-proxy-grouping1 { + choice rad-proxy { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + } + } + } + leaf radius { + description + "Use radius"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-radius-proxy-grouping2 { + choice rad-proxy { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + } + } + } + leaf radius { + when 'not(../../group1/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-radius-proxy-grouping3 { + choice rad-proxy { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + } + } + } + leaf radius { + when 'not(../../group1/radius) and not(../../group2/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs) and not(../../group2/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorisation-radius-proxy-grouping4 { + choice rad-proxy { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + } + } + } + leaf radius { + when 'not(../../group1/radius) and not(../../group2/radius)and not(../../group3/radius)'; + description + "Use radius"; + type empty; + } + leaf tacacs { + when 'not(../../group1/tacacs) and not(../../group2/tacacs)and not(../../group3/tacacs)'; + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorization-radius-proxy { + container group1 { + uses aaa-authorisation-radius-proxy-grouping1; + } + container group2 { + when '(count(../group1/*) > 0)'; + uses aaa-authorisation-radius-proxy-grouping2; + } + container group3 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)'; + uses aaa-authorisation-radius-proxy-grouping3; + } + container group4 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)and (count(../group3/*) > 0)'; + uses aaa-authorisation-radius-proxy-grouping4; + } + } + + grouping dscp-grouping { + description + "Set DSCP acct and auth values"; + leaf auth { + description + "Enter the value for scp auth port (default is 0)"; + type uint32 { + range "1..63"; + } + } + leaf acct { + description + "Enter the value for scp acct port (default is 0)"; + type uint32 { + range "1..63"; + } + } + } + + grouping aaa-server-radius-key-grouping { + container key { + description + "Specify a RADIUS client"; + uses aaa-server-radius-key; + } + } + + grouping aaa-server-proxy-common { + container accounting { + description + "Specify accounting details"; + uses aaa-server-method; + uses aaa-server-radius-port; + } + container authentication { + description + "Specify authentication details"; + uses aaa-server-method; + uses aaa-server-radius-port; + } + container calling-station-id { + description + "Specify format of Calling-Station-Id, attribute + 31.Default format is to expect mac-address in + calling-station-id"; + container format { + description + "Specify the format as MAC or MSISDN"; + choice type { + container mac-address { + description + "Expect MAC address to be present in CLID"; + choice mac-format { + container default { + description + "format ex: 0000.4096.3e4a"; + presence "true"; + uses aaa-case-grouping; + } + container ietf { + description + "format ex: 00-00-40-96-3E-4A"; + presence "true"; + uses aaa-case-grouping; + } + leaf none { + description + "format unspecified"; + type empty; + } + container one-byte { + description + "format ex: 00.00.40.96.3e.4a"; + uses aaa-server-delimiter-groupingg; + } + container three-byte { + description + "format ex: 000040.963e4a"; + uses aaa-server-delimiter-groupingg; + } + container two-byte { + description + "format ex: 0000.4096.3e4a"; + uses aaa-server-delimiter-groupingg; + } + container unformatted { + description + "format ex: 000040963e4a"; + presence "true"; + uses aaa-case-grouping; + } + } + } + leaf msisdn { + description + "Expect MSISDN value to be present in CLID"; + type empty; + } + } + } + } + container eap-user { + description + "EAP users"; + leaf ignore-open-session { + description + "for EAP authenticated users, open-session is not supported"; + type empty; + } + } + container filter { + description + "Configure filter"; + container access { + description + "For access requests"; + uses aaa-server-filter; + } + container accounting { + description + "For accounting requests"; + uses aaa-server-filter; + } + container attribute { + description + "Filter attributes in packets sent to clients"; + choice attr-type { + leaf allow { + description + "Allow only the attributes specified in the list"; + type string; + } + leaf block { + description + "Block the attributes specified in the list"; + type string; + } + } + } + } + uses aaa-server-radius-key-grouping; + container message-authenticator { + description + "Message Authenticator attribute from Clients"; + container ignore { + description + "Ignore checking of Message Authenticator attribute from Clients"; + presence "true"; + leaf accounting { + description + "Ignore checking of Message Authenticator attribute from accounting packets"; + type empty; + } + } + } + container mode { + description + "Radius Proxy Pass thru mode"; + leaf pass-through { + description + "Enable the pass-through mode for Radius Proxy"; + type empty; + } + } + container pwlan-session { + description + "PWLAN Reconnect feature"; + leaf reconnect { + description + "Enable the reconnect feature for PWLAN RP sessions"; + type empty; + } + } + container re-authentication { + description + "Specify re-authentication details"; + leaf do-not-apply { + description + "Do not apply new data during re-authentication"; + type empty; + } + } + container session-identifier { + description + "This attribute will be used to correlate Radius requests of a session and to identify sessions within radius-proxy"; + leaf attribute { + description + "Specify an IETF Radius attribute"; + type uint8 { + range "1..255"; + } + } + container vsa { + description + "Specify Vendor-Specific Attribute"; + leaf vendor { + description + "Specify the vendor type"; + type uint16 { + range "1..65535"; + } + } + leaf type { + description + "Give attribute type for vsa"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + description + "Configure RADIUS proxy timer values"; + container disconnect { + description + "Specify disconnect timer"; + leaf acct-stop { + description + "Specify disconnect delay timer for accounting stop"; + type uint16 { + range "0..43200"; + } + } + leaf reauth-fail { + description + "Specify disconnect delay timer for reauthentication failure"; + type uint16 { + range "0..43200"; + } + } + } + leaf ip-address { + description + "Specify value of wait for IP timer"; + type uint16 { + range "0..43200"; + } + } + leaf reconnect { + description + "Specify value of wait for reconnect timer"; + type uint16 { + range "0..43200"; + } + } + leaf request { + description + "Specify value of wait for Access-Request timer"; + type uint16 { + range "0..43200"; + } + } + leaf roaming { + description + "Specify value of wait for roaming timer"; + type uint16 { + range "0..43200"; + } + } + } + } + + grouping aaa-server-options { + leaf word1 { + description + "Name of the filter to be applied (max 31 chars. longer will be ignored)"; + type string; + } + leaf word2 { + description + "Name of the filter to be applied (max 31 chars. longer will be ignored)"; + type string; + } + leaf word3 { + description + "Name of the filter to be applied (max 31 chars. longer will be ignored)"; + type string; + } + leaf word4 { + description + "Name of the filter to be applied (max 31 chars. longer will be ignored)"; + type string; + } + } + + grouping aaa-server-filter { + choice filter-type { + container ack { + description + "Acknowledge the packet"; + uses aaa-server-options; + } + container drop { + description + "Drop the packet"; + uses aaa-server-options; + } + container ignore { + description + "Ignore the packet for applying ISG features"; + uses aaa-server-options; + } + } + } + + grouping aaa-server-radius-port { + leaf port { + description + "Radius server port"; + type uint16; + } + } + + grouping aaa-server-radius-key { + leaf key { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf string { + type string { + pattern '.*'; + } + } + } + + grouping aaa-load-balance-grouping { + container load-balance { + description + "Radius / Server group load-balancing options."; + container method { + description + "Method by which the next host will be picked."; + container least-outstanding { + description + "Pick the server with the least transactions outstanding."; + presence "true"; + leaf batch-size { + description + "Size of the transaction batch that should be load-balanced."; + type uint32 { + range "1..2147483647"; + } + } + leaf ignore-preferred-server { + description + "Should the preferred-server be ignored."; + type empty; + } + } + } + } + } + + grouping aaa-server-method { + container method-list { + description + "Authentication method list details"; + choice method { + leaf method-name { + description + "Method list name"; + type string; + } + leaf default { + description + "The default authentication list"; + type empty; + } + } + } + } + + grouping aaa-case-grouping { + leaf type { + type enumeration { + enum lower-case; + enum upper-case; + } + } + } + + grouping aaa-server-delimiter-groupingg { + container delimiter { + choice delimeter-type { + container colon { + presence "true"; + uses aaa-case-grouping; + } + container dot { + presence "true"; + uses aaa-case-grouping; + } + container hyphen { + presence "true"; + uses aaa-case-grouping; + } + } + } + } + + grouping aaa-authentication-webauth-grouping { + choice webauth { + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf enable { + description + "Use enable password for authentication."; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf krb5 { + description + "Use Kerberos 5 authentication."; + type empty; + } + leaf line { + description + "Use line password for authentication."; + type empty; + } + leaf local { + description + "Use local username authentication"; + type empty; + } + leaf local-case { + description + "Use case-sensitive local username authentication."; + type empty; + } + leaf none { + description + "No authentication."; + type empty; + } + leaf radius { + description + "Use list of all Radius hosts"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authentication-webauth-grouping-container { + container group1 { + uses aaa-authentication-webauth-grouping; + } + } + + grouping aaa-authorization-configuration-grouping { + choice auth_configuration { + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + description + "Use list of all Radius hosts"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + + grouping aaa-authorization-configuration-grouping-container { + container group1 { + uses aaa-authorization-configuration-grouping; + } + } + + grouping aaa-authentication-enable-grouping1 { + choice enable-choice { + leaf cache { + description + "Privileged command level(enable) authentication using cached group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf enable { + description + "Privileged command level(enable) authentication using enable password"; + type empty; + } + leaf group { + description + "Privileged command level(enable) authentication using radius/tacacs+/ldap server(s)"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf line { + description + "Privileged command level(enable) authentication using line password"; + type empty; + } + leaf none { + description + "No authentication for Privileged command level(enable)"; + type empty; + } + } + } + + grouping aaa-authentication-enable-grouping2 { + choice enable-choice { + leaf cache { + description + "Privileged command level(enable) authentication using cached group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf enable { + when 'not(../../group1/enable)'; + description + "Privileged command level(enable) authentication using enable password"; + type empty; + } + leaf group { + description + "Privileged command level(enable) authentication using radius/tacacs+/ldap server(s)"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf line { + when 'not(../../group1/line)'; + description + "Privileged command level(enable) authentication using line password"; + type empty; + } + leaf none { + description + "No authentication for Privileged command level(enable)"; + type empty; + } + } + } + + grouping aaa-authentication-enable-grouping3 { + choice enable-choice { + leaf cache { + description + "Privileged command level(enable) authentication using cached group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf enable { + when 'not(../../group1/enable) and not(../../group2/enable)'; + description + "Privileged command level(enable) authentication using enable password"; + type empty; + } + leaf group { + description + "Privileged command level(enable) authentication using radius/tacacs+/ldap server(s)"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf line { + when 'not(../../group1/line) and not(../../group2/line)'; + description + "Privileged command level(enable) authentication using line password"; + type empty; + } + leaf none { + description + "No authentication for Privileged command level(enable)"; + type empty; + } + } + } + + grouping aaa-authentication-enable-grouping4 { + choice enable-choice { + leaf cache { + description + "Privileged command level(enable) authentication using cached group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf enable { + when 'not(../../group1/enable) and not(../../group2/enable)and not(../../group3/enable)'; + description + "Privileged command level(enable) authentication using enable password"; + type empty; + } + leaf group { + description + "Privileged command level(enable) authentication using radius/tacacs+/ldap server(s)"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf line { + when 'not(../../group1/line) and not(../../group2/line)and not(../../group3/line)'; + description + "Privileged command level(enable) authentication using line password"; + type empty; + } + leaf none { + description + "No authentication for Privileged command level(enable)"; + type empty; + } + } + } + + grouping aaa-authentication-dot1x-grouping-container { + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + status deprecated; + description + "Use local username authentication"; + type empty; + } + leaf cache { + status deprecated; + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf radius { + status deprecated; + description + "Use list of all Radius hosts"; + type empty; + } + } + + grouping aaa-authentication-dot1x-grouping { + container a1-config { + choice dot1x-auth { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + description + "Use local username authentication"; + type empty; + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf radius { + description + "Use list of all Radius hosts"; + type empty; + } + } + } + container a1 { + status deprecated; + uses aaa-authentication-dot1x-grouping-container; + } + container a2-config { + choice dot1x-auth { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1-config/local)'; + description + "Use local username authentication"; + type empty; + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf radius { + when 'not(../../a1-config/radius)'; + description + "Use list of all Radius hosts"; + type empty; + } + } + } + container a2 { + status deprecated; + uses aaa-authentication-dot1x-grouping-container { + refine "local" { + must 'not(../../a1/local)' { + description + "Use local username authentication"; + } + } + refine "radius" { + must 'not(../../a1/radius)' { + description + "Use list of all Radius hosts"; + } + } + } + } + container a3-config { + choice dot1x-auth { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1-config/local) and not(../../a2-config/local)'; + description + "Use local username authentication"; + type empty; + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf radius { + when 'not(../../a2-config/radius) and not(../../a1-config/radius)'; + description + "Use list of all Radius hosts"; + type empty; + } + } + } + container a3 { + status deprecated; + uses aaa-authentication-dot1x-grouping-container { + refine "local" { + must 'not(../../a1/local) and not(../../a2/local)' { + description + "Use local username authentication"; + } + } + refine "radius" { + must 'not(../../a1/radius) and not(../../a2/radius)' { + description + "Use list of all Radius hosts"; + } + } + } + } + container a4-config { + choice dot1x-auth { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1-config/local) and not(../../a2-config/local) and not(../../a3-config/local)'; + description + "Use local username authentication"; + type empty; + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf radius { + when 'not(../../a2-config/radius) and not(../../a1-config/radius) and not(../../a3-config/radius)'; + description + "Use list of all Radius hosts"; + type empty; + } + } + } + container a4 { + status deprecated; + uses aaa-authentication-dot1x-grouping-container { + refine "local" { + must 'not(../../a1/local) and not(../../a2/local) and not (../../a3/local)' { + description + "Use local username authentication"; + } + } + refine "radius" { + must 'not(../../a1/radius) and not(../../a2/radius) and not (../../a3/radius)' { + description + "Use list of all Radius hosts"; + } + } + } + } + leaf group { + status deprecated; + description + "Use Server-group (DEPRECATED, use group within container)"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + leaf local { + status deprecated; + description + "Use local username authentication (DEPRECATED, use local within container)"; + type empty; + } + leaf cache { + status deprecated; + description + "Use Cached-group (DEPRECATED, use cache within container)"; + type union { + type string; + type enumeration { + enum radius; + enum ldap; + } + } + } + } + + grouping aaa-server-group-grouping-deprecated { + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + + grouping aaa-server-execgroup-grouping { + leaf-list group { + description + "Use Server-group for exec submode"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + + grouping aaa-server-group-grouping { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + + grouping aaa-accounting-sub-grouping-deprecated { + leaf broadcast { + status deprecated; + description + "Use Broadcast for Accounting"; + type empty; + } + leaf logger { + status deprecated; + description + "Use system logger for Accounting"; + type empty; + } + container group1 { + status deprecated; + description + "server group name"; + uses aaa-server-group-grouping-deprecated; + } + container group2 { + status deprecated; + description + "server group name"; + uses aaa-server-group-grouping-deprecated; + } + container group3 { + status deprecated; + description + "server group name"; + uses aaa-server-group-grouping-deprecated; + } + container group4 { + status deprecated; + description + "server group name"; + uses aaa-server-group-grouping-deprecated; + } + } + + grouping aaa-accounting-sub-grouping { + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + leaf logger { + description + "Use system logger for Accounting"; + type empty; + } + container group1 { + description + "server group name"; + uses aaa-server-group-grouping; + } + container group2 { + description + "server group name"; + uses aaa-server-group-grouping; + } + container group3 { + description + "server group name"; + uses aaa-server-group-grouping; + } + container group4 { + description + "server group name"; + uses aaa-server-group-grouping; + } + } + + grouping aaa-accounting-commands-grouping { + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + leaf logger { + description + "Use system logger for Accounting"; + type empty; + } + container group1 { + description + "server group name"; + uses aaa-server-group-grouping { + refine "group" { + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + } + } + } + container group2 { + description + "server group name"; + uses aaa-server-group-grouping { + refine "group" { + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + } + } + } + container group3 { + description + "server group name"; + uses aaa-server-group-grouping { + refine "group" { + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + } + } + } + container group4 { + description + "server group name"; + uses aaa-server-group-grouping { + refine "group" { + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + } + } + } + } + + grouping aaa-accounting-grouping { + choice accounting-choice { + leaf none { + description + "No accounting."; + type empty; + } + container start-stop { + description + "Record start and stop without waiting"; + uses aaa-accounting-sub-grouping; + } + container stop-only { + description + "Record stop when service terminates."; + uses aaa-accounting-sub-grouping; + } + container wait-start { + description + "Same as start-stop but wait for start-record commit."; + uses aaa-accounting-sub-grouping; + } + } + } + + grouping config-aaa-grouping { + leaf new-model { + description + "Enable NEW access control commands and functions.(Disables OLD commands.)"; + type empty; + } + container session-mib { + description + "AAA session MIB options"; + leaf disconnect { + description + "AAA session MIB disconnect enable"; + type empty; + } + container populate { + description + "Populate session options"; + leaf setup { + description + "Populate during setup"; + type empty; + } + leaf start { + description + "Populate during accounting start"; + type empty; + } + } + } + container cache { + description + "AAA cache definitions"; + list cache-profile { + description + "AAA cache profile definitions"; + key "name"; + leaf name { + description + "Cache profile name"; + type string; + } + container all { + description + "Cache all entries"; + presence "true"; + leaf no-auth { + description + "Bypass authentication for match"; + type empty; + } + } + container regexp { + description + "Regular expression match to cache"; + leaf name { + description + "String representing the profile"; + type string; + } + choice match-case { + case any-case { + leaf any { + description + "Match any profile"; + when '../name'; + type empty; + } + } + case only-case { + leaf only { + description + "Match to only 1 profile"; + when '../name'; + type empty; + } + } + } + leaf no-auth { + description + "Bypass authentication for match"; + when '../name'; + type empty; + } + } + container default { + description + "set a command to its defaults"; + container all { + description + "Cache all entries"; + presence "true"; + leaf no-auth { + description + "Bypass authentication for match"; + type empty; + } + } + container regexp { + description + "Regular expression match to cache"; + leaf name { + description + "String representing the profile"; + type string; + } + choice match-case { + case any-case { + leaf any { + description + "Match any profile"; + when '../name'; + type empty; + } + } + case only-case { + leaf only { + description + "Match to only 1 profile"; + when '../name'; + type empty; + } + } + } + leaf no-auth { + description + "Bypass authentication for match"; + when '../name'; + type empty; + } + } + container profile { + description + "Exact profile match to cache"; + leaf name { + description + "String representing the profile"; + type string; + } + leaf no-auth { + description + "Bypass authentication for match"; + when '../name'; + type empty; + } + } + } + container profile { + description + "Exact profile match to cache"; + leaf name { + description + "String representing the profile"; + type string; + } + leaf no-auth { + description + "Bypass authentication for match"; + when '../name'; + type empty; + } + } + } + } + container group { + description + "AAA group definitions"; + container server { + description + "AAA Server group definitions"; + list tacacsplus { + description + "Tacacs+ server-group definition"; + key "name"; + leaf name { + description + "Server-group name with max string length 32"; + type string; + } + uses aaa-group-server-tacas-grouping; + } + list tacacs { + description + "Tacacs+ server-group definition"; + key "name"; + leaf name { + description + "Server-group name with max string length 32"; + type string; + } + } + list radius { + description + "Radius server-group definition"; + key "name"; + leaf name { + description + "Radius Server-group name with max string length 32"; + type string; + } + container server { + description + "Specify a RADIUS server"; + list name { + description + "Name of radius server"; + ordered-by user; + key "name"; + leaf name { + description + "Radius server name"; + type string; + } + } + list direct { + key "name"; + leaf name { + type inet:host; + } + leaf auth-port { + description + "UDP port for RADIUS authentication server (default is 1812)"; + type uint16 { + range "0..65535"; + } + } + leaf acct-port { + description + "UDP port for RADIUS accounting server (default is 1813)"; + type uint16 { + range "0..65535"; + } + } + } + } + container subscriber { + description + "Configures MAC Filtering RADIUS Compatibility mode"; + container mac-filtering { + description + "MAC Filtering"; + leaf security-mode { + description + "Security Mode"; + type enumeration { + enum mac; + enum none; + enum shared-secret; + } + } + } + } + leaf mac-delimiter { + description + "MAC Delimiter for Radius Compatibility Mode"; + type enumeration { + enum colon; + enum hyphen; + enum none; + enum single-hyphen; + } + } + list server-private { + description + "Define a private RADIUS server (per group)"; + ordered-by user; + key "name"; + leaf name { + description + "Hostname or IP 4 or IP 6 address of RADIUS server"; + type ios-types:host-type; + } + leaf auth-port { + description + "UDP port for RADIUS authentication server (default is 1812)"; + default "1812"; + type uint16 { + range "0..65534"; + } + } + leaf acct-port { + description + "UDP port for RADIUS accounting server (default is 1813)"; + default "1813"; + type uint16 { + range "0..65534"; + } + } + leaf timeout { + description + "Time to wait for this RADIUS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + leaf retransmit { + description + "Number of retries to active server (overrides default)"; + type uint8 { + range "0..100"; + } + } + leaf pac { + description + "Protected Access Credential key"; + type empty; + } + container key { + description + "per-server encryption key (overrides default)"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + description + "The UNENCRYPTED (cleartext) server key"; + type string; + } + } + } + leaf deadtime { + description + "Specify time in minutes to ignore an unresponsive server"; + type uint16 { + range "0..1440"; + } + } + container ip { + description + "Internet Protocol config commands"; + container radius { + description + "RADIUS configuration commands"; + container source-interface { + description + "Specify interface for source address in RADIUS packets"; + uses ios-ifc:interface-grouping; + } + } + container vrf { + description + "Set VPN Routing Forwarding to use with the servers"; + leaf forwarding { + description + "Configure forwarding table"; + type string; + } + } + } + container ipv6 { + description + "IPv6 config commands"; + container radius { + description + "RADIUS configuration commands"; + container source-interface { + description + "Specify interface for source address in RADIUS packets"; + uses ios-ifc:interface-grouping; + } + } + container vrf { + description + "Set VPN Routing Forwarding to use with the servers"; + leaf forwarding { + description + "Configure forwarding table"; + type string; + } + } + } + container accounting { + description + "Specify a RADIUS attribute filter for accounting"; + container request { + description + "Attribute filtering for Access-Request"; + leaf reject { + description + "Reject the attributes specified in this list"; + type string; + } + } + } + container cache { + description + "cached DB profile configuration"; + container authentication { + description + "Authentication Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + container authorization { + description + "Authorization Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + container expiry-time { + description + "Time for cached DB profile entry to expire"; + leaf expiry { + description + "Expiry time in hours (default 24 hours) - 0 is never"; + type uint32 { + range "0..2147483647"; + } + } + container options { + choice rule { + case enforce-case { + leaf enforce { + description + "Don't use expired entry once it expires"; + type empty; + } + } + case failover-case { + leaf failover { + description + "Use expired entry if all other methods fail"; + type empty; + } + } + } + leaf hours { + description + "Expiry time in hours"; + type empty; + } + leaf minutes { + description + "Expiry time in minutes"; + type empty; + } + } + } + leaf expiry { + status deprecated; + description + "Expiry time in hours (default 24 hours) - 0 is never"; + type uint32 { + range "0..2147483647"; + } + } + } + container dscp { + uses dscp-grouping; + } + uses aaa-load-balance-grouping; + } + list ldap { + description + "Ldap server-group definition"; + key "name"; + leaf name { + type string; + } + container server { + description + "Specify a LDAP server"; + list name { + description + "Name of ldap server"; + ordered-by user; + key "name"; + leaf name { + type string; + } + } + } + } + } + } + container attribute { + description + "AAA attribute definitions"; + list list { + description + "AAA attribute list definition"; + key "name"; + leaf name { + type string; + } + container attribute { + description + "Specify an AAA attribute"; + list type { + key "attr-name attr-value"; + description + "Specify an AAA attribute type"; + leaf attr-name { + type union { + type enumeration { + enum password; + enum timeout; + enum tunnel-medium-type; + enum tunnel-type; + enum tunnel-private-group-id; + enum tunnel-id; + enum bsn-acl-name; + enum sub-qos-policy-in; + enum sub-qos-policy-out; + enum bw-area-code; + enum bw-city-name; + enum bw-class; + enum bw-e164-country-code; + enum bw-iso-country-code; + enum bw-operator-name; + enum bw-state-name; + enum bw-user-group; + enum bw-venue-description; + enum bw-venue-id; + enum bw-venue-nam; + enum bw-venue-tz; + enum aggregation-aaa; + enum svr-device-model-number; + enum svr-device-type; + enum svr-lat-long; + enum svr-network-type; + enum svr-venue-category; + enum svr-zip-code; + } + type string; + } + } + leaf attr-value { + type union { + type uint32; + type string; + } + } + leaf mandatory { + description + "Specify an AAA attribute as mandatory"; + type empty; + } + leaf tag { + description + "Specify an AAA attribute tag"; + type uint8 { + range "1..31"; + } + } + } + } + } + } + container authentication { + description + "Authentication configurations parameters."; + container banner { + description + "Message to use when starting login/authentication"; + leaf banner-value { + description + "Banner string value"; + type string; + } + } + container fail-message { + description + "Message to use for failed login/authentication"; + leaf message-value { + description + "Failed message string"; + type string; + } + } + container attempts { + description + "Set the maximum number of authentication attempts"; + leaf login { + description + "Set the max. number of attempts for login service"; + type uint8 { + range "1..25"; + } + } + } + container suppress { + description + "Do not send access request for a specific type of user."; + leaf null-username { + description + "Do not send access-request for users with null username."; + type empty; + } + } + container dot1x { + description + "Set authentication lists for IEEE 802.1x."; + list dot1x-list { + key "name"; + leaf name { + description + "Named authentication method list for dot1x service."; + must "not(.='default')" { + error-message "Use default container to configure default method-list"; + } + type string; + } + uses aaa-authentication-dot1x-grouping; + } + container default { + description + "The default authentication list."; + uses aaa-authentication-dot1x-grouping; + } + } + container enable { + description + "Set authentication list for enable."; + container default { + description + "The default authentication list."; + container group1 { + uses aaa-authentication-enable-grouping1; + } + container group2 { + when '(count(../group1/*) > 0) and not(../group1/none)'; + uses aaa-authentication-enable-grouping2; + } + container group3 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)and not(../group1/none) and not(../group2/none)'; + uses aaa-authentication-enable-grouping3; + } + container group4 { + when '(count(../group1/*) > 0) and (count(../group2/*) > 0)and (count(../group3/*) > 0) and not(../group1/none)and not(../group2/none) and not(../group3/none)'; + uses aaa-authentication-enable-grouping4; + } + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf enable { + status deprecated; + description + "Use enable password for authentication."; + type empty; + } + leaf line { + status deprecated; + description + "Use line password for authentication."; + type empty; + } + leaf none { + status deprecated; + description + "No authentication."; + type empty; + } + } + } + container eou { + description + "Set authentication lists for EAPoUDP"; + container default { + description + "The default authentication list"; + container group { + description + "Use Server-group"; + leaf radius { + description + "Use list of all Radius hosts."; + type empty; + } + } + } + } + list login { + description + "Set authentication lists for logins."; + key "name"; + leaf name { + type union { + type enumeration { + enum default; + } + type string { + length "1..31"; + } + } + } + container a1 { + choice auth-login-choice { + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + description + "Use Kerberos 5 authentication."; + type empty; + } + leaf krb5-telnet { + description + "Allow logins only if already authenticated via Kerbero"; + type empty; + } + leaf line { + description + "Use line password for authentication."; + type empty; + } + leaf enable { + description + "Use enable password for authentication."; + type empty; + } + leaf local { + description + "Use local username authentication."; + type empty; + } + leaf local-case { + description + "Use case-sensitive local username authentication."; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + } + } + container a2 { + when 'not(../a1/none)'; + choice auth-login-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet)'; + type empty; + } + leaf krb5-telnet { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet)'; + type empty; + } + leaf line { + description + "Use line password for authentication."; + type empty; + } + leaf enable { + description + "Use enable password for authentication."; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case)'; + type empty; + } + } + } + container a3 { + when 'not(../a2/none) and not (../a1/none)'; + choice auth-login-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet) and not(../../a2/krb5) and not(../../a2/krb5-telnet)'; + type empty; + } + leaf krb5-telnet { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet) and not(../../a2/krb5) and not(../../a2/krb5-telnet)'; + type empty; + } + leaf line { + description + "Use line password for authentication."; + type empty; + } + leaf enable { + description + "Use enable password for authentication."; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case)'; + type empty; + } + } + } + container a4 { + when 'not(../a2/none) and not(../a1/none) and not(../a3/none)'; + choice auth-login-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet) and not(../../a2/krb5) and not(../../a2/krb5-telnet) and not(../../a3/krb5) and not(../../a3/krb5-telnet)'; + type empty; + } + leaf krb5-telnet { + when 'not(../../a1/krb5) and not(../../a1/krb5-telnet) and not(../../a2/krb5) and not(../../a2/krb5-telnet) and not(../../a3/krb5) and not(../../a3/krb5-telnet)'; + type empty; + } + leaf line { + description + "Use line password for authentication."; + type empty; + } + leaf enable { + description + "Use enable password for authentication."; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case) and not(../../a3/local) and not(../../a3/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case) and not(../../a3/local) and not(../../a3/local-case)'; + type empty; + } + } + } + } + container onep { + description + "Set authentication lists for ONEP"; + container default { + description + "The default authentication list."; + container local { + description + "Use local username authentication."; + presence "true"; + } + } + } + list ppp { + description + "Set authentication lists for ppp."; + key "id"; + leaf id { + type string { + length "1..31"; + } + } + container a1 { + choice auth-choice { + leaf if-needed { + description + "Only authenticate if needed."; + type empty; + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + description + "Use Kerberos 5 authentication."; + type empty; + } + leaf local { + description + "Use local username authentication."; + type empty; + } + leaf local-case { + description + "Use case-sensitive local username authentication."; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + } + container a2 { + when 'not(../a1/none)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5)'; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case)'; + type empty; + } + } + } + container a3 { + when 'not(../a2/none) and not (../a1/none)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5) and not(../../a2/krb5)'; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case)'; + type empty; + } + } + } + container a4 { + when 'not(../a2/none) and not(../a1/none) and not(../a3/none)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf krb5 { + when 'not(../../a1/krb5) and not(../../a2/krb5) and not(../../a3/krb5)'; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case) and not(../../a3/local) and not(../../a3/local-case)'; + type empty; + } + leaf local-case { + when 'not(../../a1/local) and not(../../a1/local-case) and not(../../a2/local) and not(../../a2/local-case) and not(../../a3/local) and not(../../a3/local-case)'; + type empty; + } + } + } + } + leaf password-prompt { + description + "Text to use when prompting for a password"; + type string { + length "1..219"; + } + } + leaf username-prompt { + description + "Text to use when prompting for a username"; + type string { + length "1..219"; + } + } + container webauth { + description + "Set authentication lists for webauth"; + container default { + description + "The default authentication list."; + uses aaa-authentication-webauth-grouping-container; + } + } + } + container local { + description + "AAA Local method options"; + container authentication { + description + "Local authentication options"; + container authorization { + leaf authen-type { + type union { + type enumeration { + enum default; + } + type string; + } + } + leaf authorization { + type union { + type enumeration { + enum default; + } + type string; + } + } + } + container attempts { + description + "Local authentication attempts"; + leaf max-fail { + description + "Max failed attempts to lock the user"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container authorization { + description + "Authorization configurations parameters."; + container auth-type { + description + "For Authentication Proxy Services"; + container default { + description + "The default authorization list."; + leaf group { + description + "Use server-group."; + type enumeration { + enum radius; + } + } + } + } + list commands { + description + "For exec (shell) commands."; + key "level list-name"; + leaf level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf list-name { + type union { + type enumeration { + enum default; + } + type string; + } + } + container a1 { + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + type union { + type string; + type enumeration { + enum tacacs+; + enum ldap; + } + } + } + leaf local { + description + "Use local database"; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf radius { + description + "Use RADIUS data for authorization"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + container a2 { + when 'not(../a1/none) and not(../a1/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + type union { + type string; + type enumeration { + enum tacacs+; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1/local)'; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf radius { + description + "Use RADIUS"; + when 'not(../../a1/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs)'; + type empty; + } + } + } + container a3 { + when 'not(../a2/none) and not (../a1/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + type union { + type string; + type enumeration { + enum tacacs+; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local)'; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf radius { + description + "Use RADIUS data for authorization"; + when 'not(../../a1/radius)and not(../../a2/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs) and not(../../a2/tacacs)'; + type empty; + } + } + } + container a4 { + when 'not(../a2/none) and not(../a1/none) and not(../a3/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated) and not(../a3/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + must "(/ios:native/ios:aaa/ios-aaa:group/ios-aaa:server/ios-aaa:tacacsplus[ios-aaa:name=current()] or .='tacacs+')" { + error-message "The server-group is not a tacacs+ server group. Please define service-group name as a tacacs+ server group"; + } + type union { + type string; + type enumeration { + enum tacacs+; + enum ldap; + } + } + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local) and not(../../a3/local)'; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf radius { + description + "Use RADIUS data for authorization"; + when 'not(../../a1/radius)and not(../../a2/radius) and not(../../a3/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs) and not(../../a2/tacacs) and not(../../a3/tacacs)'; + type empty; + } + } + } + leaf local { + status deprecated; + description + "Use local database."; + type empty; + } + leaf group { + status deprecated; + description + "Use server-group."; + type union { + type enumeration { + enum tacacs+; + } + type string; + } + } + leaf if-authenticated { + status deprecated; + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + status deprecated; + description + "No authorization (always succeeds)."; + type empty; + } + } + leaf config-commands { + description + "For configuration mode commands."; + type empty; + } + container configuration { + description + "For downloading configurations from AAA server"; + list config-list { + key "name"; + leaf name { + description + "Named authorization method list for configuration service."; + must "not(.='default')" { + error-message "Use default container to configure default method-list"; + } + type string; + } + uses aaa-authorization-configuration-grouping-container; + } + container default { + description + "The default authorization list."; + container group { + description + "Use server-group."; + list group-name { + key "group-name"; + leaf group-name { + description + "Server-group name"; + type string; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + } + } + leaf console { + description + "For enabling console authorization"; + type empty; + } + container credential-download { + description + "For downloading EAP credential from Local/RADIUS/LDAP"; + container default { + description + "The default authorization list"; + uses aaa-authorization-cred-download; + } + list authorization-list { + description + "Named authorization list (max 31 characters, longer will be rejected)"; + key "name"; + leaf name { + type string; + } + uses aaa-authorization-cred-download; + } + } + container radius-proxy { + description + "For proxy of radius packets"; + container default { + description + "The default authorization list."; + uses aaa-authorization-radius-proxy; + } + list authorization-list { + description + "Named authorization list (max 31 characters, longer will be rejected)"; + key "name"; + leaf name { + type string; + } + uses aaa-authorization-radius-proxy; + } + } + list exec { + description + "For starting an exec (shell)."; + key "name"; + leaf name { + type string; + } + container a1 { + choice auth-exec-choice { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)"; + type empty; + } + leaf krb5-instance { + description + "Use Kerberos instance privilege maps"; + type empty; + } + leaf local { + description + "Use local database"; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf radius { + description + "Use radius"; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + type empty; + } + } + } + container a2 { + when 'not(../a1/none) and not(../a1/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)."; + type empty; + } + leaf krb5-instance { + when 'not (../../a1/krb5-instance)'; + type empty; + } + leaf local { + when 'not(../../a1/local)'; + type empty; + } + leaf radius { + description + "Use Radius"; + when 'not(../../a1/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs)'; + type empty; + } + } + } + container a3 { + when 'not(../a2/none) and not (../a1/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "No authorization (always succeeds)."; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf krb5-instance { + when 'not (../../a1/krb5-instance) and not (../../a2/krb5-instance)'; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local)'; + type empty; + } + leaf radius { + description + "Use Radius"; + when 'not(../../a1/radius)and not(../../a2/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs) and not(../../a2/tacacs)'; + type empty; + } + } + } + container a4 { + when 'not(../a2/none) and not(../a1/none) and not(../a3/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated) and not(../a3/if-authenticated)'; + choice auth-exec-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "No authorization (always succeeds)."; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf krb5-instance { + when 'not (../../a1/krb5-instance) and not (../../a2/krb5-instance) and not (../../a3/krb5-instance)'; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local) and not(../../a3/local)'; + type empty; + } + leaf radius { + description + "Use radius"; + when 'not(../../a1/radius)and not(../../a2/radius) and not(../../a3/radius)'; + type empty; + } + leaf tacacs { + description + "Use TACACS+"; + when 'not(../../a1/tacacs) and not(../../a2/tacacs) and not(../../a3/tacacs)'; + type empty; + } + } + } + } + list eventmanager { + description + "For starting an exec (shell)."; + key "name"; + leaf name { + type string; + } + leaf group { + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs; + } + } + } + leaf local { + description + "Use local database."; + type empty; + } + leaf none { + description + "No authorization (always succeeds)."; + type empty; + } + } + list network { + description + "For network services. (PPP, SLIP, ARAP)"; + key "id"; + leaf id { + type union { + type enumeration { + enum default; + } + type string { + length "1..64"; + } + } + } + container a1 { + choice auth-choice { + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf local { + description + "Use local username authentication."; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + } + container a2 { + when 'not(../a1/none) and not(../a1/if-authenticated)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf local { + when 'not(../../a1/local)'; + type empty; + } + } + } + container a3 { + when 'not(../a2/none) and not (../a1/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local)'; + type empty; + } + } + } + container a4 { + when 'not(../a2/none) and not(../a1/none) and not(../a3/none) and not(../a2/if-authenticated) and not(../a1/if-authenticated) and not(../a3/if-authenticated)'; + choice auth-choice { + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf cache { + description + "Use Cached-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + leaf none { + description + "NO authentication."; + type empty; + } + leaf if-authenticated { + description + "Succeed if user has authenticated."; + type empty; + } + leaf local { + when 'not(../../a1/local) and not(../../a2/local) and not(../../a3/local)'; + type empty; + } + } + } + } + container auth-proxy { + description + "For Authentication Proxy Services"; + container default { + description + "The default authorization list."; + leaf local { + description + "Local authorization."; + type empty; + } + leaf group { + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + } + } + } + } + } + container onep { + description + "Set authorization lists for ONEP"; + container default { + description + "The default authorization list."; + container group { + description + "Use Server-group"; + list group-word { + key "group-word"; + leaf group-word { + description + "Server-group name"; + type string; + } + } + } + } + } + } + container accounting { + description + "Accounting configurations parameters."; + container acct-nested { + leaf nested { + type empty; + } + } + container commands-local { + container commands { + leaf local { + type empty; + } + } + } + list commands { + description + "For exec (shell) commands."; + key "level list-name"; + leaf level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf list-name { + type union { + type enumeration { + enum default; + } + type string { + length "1..31"; + } + } + } + container commands-config { + choice commands-choice { + case none-case { + leaf none { + description + "No accounting."; + type empty; + } + } + case others-case { + leaf action-type { + type enumeration { + enum start-stop { + value 1; + } + enum stop-only { + value 2; + } + } + } + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + container group-config { + description + "server group name"; + uses aaa-accounting-commands-grouping; + } + } + } + } + leaf action-type { + status deprecated; + description + "This node is deprecated and replaced by action-type-new"; + type enumeration { + enum none; + enum start-stop; + enum stop-only; + } + } + leaf broadcast { + status deprecated; + description + "This node is deprecated and replaced by broadcast-new"; + type empty; + } + container group-config { + status deprecated; + description + "This node is deprecated and replaced by group-config-new"; + uses aaa-accounting-sub-grouping-deprecated; + } + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum tacacs+; + } + } + } + } + list connection { + description + "For outbound connections. (telnet, rlogin)"; + key "name"; + leaf default { + type empty; + } + leaf name { + type string; + } + uses aaa-accounting-grouping; + } + container delay-start { + description + "Delay PPP Network start record until peer IP address is known."; + leaf extended-delay { + description + ""; + type uint8 { + range "1..2"; + } + } + leaf all { + description + "Delay start records for all vrf and non-vrf users."; + type empty; + } + leaf delay-start { + description + ""; + type empty; + } + } + container dot1x { + description + "For dot1x sessions."; + container default { + description + "The default authorization list"; + uses aaa-accounting-dot1x; + } + list accounting-list { + description + "Named Accounting list (max 31 characters, longer will be rejected)."; + key "name"; + leaf name { + type string; + } + uses aaa-accounting-dot1x; + } + } + container identity { + description + "For identity sessions."; + container default { + description + "The default authorization list"; + uses aaa-accounting-identity; + } + list accounting-list { + description + "Named Accounting list (max 31 characters, longer will be rejected)."; + key "name"; + leaf name { + type string; + } + uses aaa-accounting-identity; + } + } + container onep { + description + "For ONEP events."; + container default { + description + "The default accounting list."; + uses aaa-accounting-grouping; + } + } + list exec { + description + "For starting an exec (shell)."; + key "name"; + leaf name { + type string; + } + uses aaa-accounting-grouping; + } + container exec-submode { + list exec { + description + "For starting an exec (shell)."; + key "name"; + leaf name { + type string; + } + container action-type { + status obsolete; + description + "Type of action to be performed on accounting records"; + uses aaa-accounting-grouping; + } + container actiontype { + choice accounting-choice { + leaf none { + description + "No accounting."; + type empty; + } + leaf start-stop { + description + "Record start and stop without waiting"; + type empty; + } + leaf stop-only { + description + "Record stop when service terminates."; + type empty; + } + leaf wait-start { + description + "Same as start-stop but wait for start-record commit."; + type empty; + } + } + } + container aaa-accounting-exec-grouping { + when '../actiontype/start-stop or ../actiontype/stop-only'; + container group { + description + "server group name"; + uses aaa-server-execgroup-grouping; + } + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + leaf logger { + description + "Use system logger for Accounting"; + type empty; + } + } + } + } + list network { + description + "For network services. (PPP, SLIP, ARAP)"; + key "id"; + leaf id { + type union { + type enumeration { + enum default; + } + type string { + length "1..31"; + } + } + } + choice network-choice { + case a { + leaf none { + description + "No accounting."; + type empty; + } + } + case b { + leaf mode { + type enumeration { + enum start-stop; + enum stop-only; + } + } + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + container a1-config { + choice acct-network-choice { + leaf group { + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf logger { + description + "Use system logger for Accounting"; + type empty; + } + } + } + container a2-config { + choice acct-network-choice { + leaf group { + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf logger { + when 'not(../../a1-config/logger)'; + description + "Use system logger for Accounting"; + type empty; + } + } + } + container a3-config { + choice acct-network-choice { + leaf group { + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf logger { + when 'not(../../a1-config/logger) and not(../../a2-config/logger)'; + description + "Use system logger for Accounting"; + type empty; + } + } + } + container a4-config { + choice acct-network-choice { + leaf group { + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs+; + } + } + } + leaf logger { + when 'not(../../a1-config/logger) and not(../../a2-config/logger) and not(../../a3-config/logger)'; + description + "Use system logger for Accounting"; + type empty; + } + } + } + container a1 { + status deprecated; + leaf group { + status deprecated; + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs; + } + } + } + } + container a2 { + status deprecated; + leaf group { + status deprecated; + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs; + } + } + } + } + container a3 { + status deprecated; + leaf group { + status deprecated; + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs; + } + } + } + } + container a4 { + status deprecated; + leaf group { + status deprecated; + description + "Use server-group."; + type union { + type string; + type enumeration { + enum ldap; + enum radius; + enum tacacs; + } + } + } + } + } + } + container start-stop { + status deprecated; + description + "Record start and stop without waiting"; + container group-config { + status deprecated; + description + "server group name"; + uses aaa-accounting-sub-grouping-deprecated; + } + leaf group { + status obsolete; + description + "Use Server-group (OBSOLETE)"; + type union { + type string; + type enumeration { + enum radius; + } + } + } + } + } + container send { + description + "Send records to accounting server"; + container counters { + description + "Enable specific counters in the Stop record"; + leaf ipv6 { + description + "Send IPv6 counters in the Stop Record"; + type empty; + } + } + container stop-record { + description + "Generate STOP records for a specified event"; + leaf always { + description + "Generate STOP records always, even if the START record is not sent"; + type empty; + } + container authentication { + description + "Generate STOP records for authentication failures"; + container failure { + description + "Generate STOP records for authentication failures"; + presence "true"; + leaf vrf { + description + "VPN Routing/Forwarding parameters"; + type string; + } + } + container success { + description + "Generate STOP records for authenticated users"; + container remote-server { + description + "Successfully authenticated, through access-accept, by a remote AAA server"; + presence "true"; + leaf vrf { + description + "VPN Routing/Forwarding parameters"; + type string; + } + } + } + } + } + } + container suppress { + description + "Do not generate accounting records for a specific type of user"; + leaf null-username { + description + "Do not generate accounting records for users with a null-username"; + type empty; + } + } + container system { + description + "For system events."; + choice default-guarantee-first { + case default-case { + container default { + description + "The default accounting list."; + presence "true"; + leaf none { + description + "No accounting."; + type empty; + } + container start-stop { + description + "Record start and stop without waiting"; + leaf broadcast { + description + "Use Broadcast for Accounting"; + type empty; + } + container group-config { + description + "server group name"; + uses aaa-accounting-sub-grouping; + } + leaf group { + status deprecated; + description + "Use Server-group"; + type union { + type string; + type enumeration { + enum radius; + enum tacacs+; + } + } + } + } + leaf vrf { + description + "VPN Routing/Forwarding parameters"; + type string; + } + } + } + case guarantee-first-case { + leaf guarantee-first { + description + "Guarantee system accounting as first record."; + type boolean; + } + } + } + } + container update { + description + "Enable accounting update records"; + choice update-choice { + leaf periodic { + description + "Periodic intervals to send accounting update records(in minutes)"; + type uint32 { + range "1..71582"; + } + } + container newinfo { + description + "Only send accounting update records when we have new acct info."; + presence "true"; + leaf periodic { + description + "Periodic intervals to send accounting update records(in minutes)"; + type uint32 { + range "1..71582"; + } + } + } + } + } + container auth-proxy { + description + "For Authentication Proxy Services"; + container default { + description + "The default authorization list."; + container start-stop { + description + "Record start and stop without waiting"; + leaf group { + description + "Use server-group."; + type string; + } + } + } + } + container jitter { + description + "Jitter configuration for AAA accounting"; + leaf maximum { + description + "Jitter value for periodic interval (in seconds)"; + type uint32 { + range "0..2147483"; + } + default "300"; + } + } + } + list common-criteria { + description + "AAA Common Criteria"; + key "policy"; + leaf policy { + description + "Policy name"; + type string { + length "1..25"; + } + } + leaf char-changes { + description + "Number of change characters between old and new passwords"; + type uint8 { + range "1..127"; + } + default "4"; + } + container lifetime { + description + "lifetime configuration"; + leaf day { + description + "Enter the number of days"; + type uint8 { + range "0..30"; + } + } + leaf hours { + description + "Enter the number of hours"; + type uint8 { + range "0..23"; + } + } + leaf minutes { + description + "Enter the number of minutes"; + type uint8 { + range "0..59"; + } + } + leaf month { + description + "Enter the number of month(s)"; + type uint8 { + range "0..11"; + } + } + leaf seconds { + description + "Enter the number of seconds"; + type uint8 { + range "0..59"; + } + } + leaf year { + description + "Enter the number of year(s)"; + type uint8 { + range "0..99"; + } + } + } + leaf lower-case { + description + "Number of lower-case characters"; + type uint8 { + range "0..127"; + } + } + leaf max-length { + description + "Specify the maximum length of the password"; + type uint8 { + range "1..127"; + } + default "127"; + } + leaf min-length { + description + "Specify the minimum length of the password"; + type uint8 { + range "1..127"; + } + default "1"; + } + leaf numeric-count { + description + "Number of numeric characters"; + type uint8 { + range "0..127"; + } + } + leaf special-case { + description + "Number of special characters"; + type uint8 { + range "0..127"; + } + } + leaf upper-case { + description + "Number of upper-case characters"; + type uint8 { + range "0..127"; + } + } + leaf character-repetition { + description + "Maximum number of times a character can repeat consecutively in password"; + type uint8 { + range "2..5"; + } + } + leaf restrict-consecutive-letters { + description + "Prohibit consecutive 4 characters or numbers on the keyboard sequentially in both directions"; + type empty; + } + } + container server { + description + "Local AAA server"; + container radius { + description + "Profile for local radius server"; + container dynamic-author { + description + "Local server profile for RFC 3576 support"; + presence "true"; + leaf port { + description + "Radius server port (default is 1700)"; + type uint16 { + range "0..65535"; + } + default "1700"; + } + list client { + description + "Specify a RADIUS client"; + ordered-by user; + key "ip"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + leaf dtls { + description + "Enable DTLS for the client"; + type empty; + } + list vrf { + description + " Virtual Routing/Forwarding parameters"; + key "name"; + leaf name { + type string { + length "1..32"; + } + } + leaf dtls { + description + "Enable DTLS for the client"; + type empty; + } + container server-key { + description + "Specify a RADIUS client server-key"; + uses aaa-server-radius-key; + } + } + container server-key { + description + "Specify a RADIUS client server-key"; + uses aaa-server-radius-key; + } + } + container tls { + description + "TLS Source Parameters"; + presence "true"; + leaf port { + description + "Radius tls server port (default is 2083)"; + type uint16 { + range "0..65535"; + } + default "2083"; + } + } + container server-key { + description + "Specify a RADIUS client server-key"; + uses aaa-server-radius-key; + } + container domain { + description + "Username domain options"; + leaf delimiter { + description + "Domain delimiter, Choose from {@, /, $, %, \\, #, -}"; + type string { + pattern '[@/$%\\#-]'; + } + when '../stripping'; + } + container stripping { + description + "Match incoming username left oriented of the @ domain delimiter"; + presence "true"; + leaf right-to-left { + description + "Terminate the string at the first delimiter going from right to left"; + type empty; + } + } + } + leaf auth-type { + description + "Specify the server authorization type"; + type enumeration { + enum all; + enum any; + enum session-key; + } + } + container ignore { + description + "Override behaviour to ignore certain parameters"; + leaf retransmission { + description + "Drop packets using same radius id"; + type empty; + } + leaf server-key { + description + "Ignore shared secret"; + type empty; + } + leaf session-key { + description + "Ignore attr 151"; + type empty; + } + } + } + container policy-device { + description + "Local server profile for RADIUS External Policy Delegation client"; + presence "true"; + container accounting { + description + "Specify accounting details"; + uses aaa-server-radius-port; + } + container authentication { + description + "Specify authentication details"; + uses aaa-server-radius-port; + } + list client { + description + "Specify a RADIUS client"; + key "ip"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + leaf port { + description + "Port on which radius client listens for CoA messages (default is 3799)"; + type uint16 { + range "0..65534"; + } + } + list vrf { + description + " Virtual Routing/Forwarding parameters"; + key "name"; + leaf name { + type string; + } + leaf port { + description + "Port on which radius client listens for CoA messages (default is 3799)"; + type uint16 { + range "0..65534"; + } + } + uses aaa-server-radius-key-grouping; + } + uses aaa-server-radius-key-grouping; + } + uses aaa-server-radius-key-grouping; + container message-authenticator { + description + "Message Authenticator attribute from Clients"; + leaf ignore { + description + "Ignore checking of Message Authenticator attribute from Clients"; + type empty; + } + } + } + container proxy { + description + "Local server profile for RADIUS proxy clients"; + presence "true"; + uses aaa-server-proxy-common; + container client-ip { + list client { + description + "Specify a RADIUS client"; + key "ip"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + uses aaa-server-proxy-common; + } + } + container client-ip-mask { + list client { + description + "Specify a RADIUS client"; + key "ip mask"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + leaf mask { + description + "Network mask or prefix length"; + type union { + type ipv4-mask-slash-prefix-len-type; + type inet:ipv4-address; + } + } + uses aaa-server-proxy-common; + } + } + container client-ip-vrf { + list client { + description + "Specify a RADIUS client"; + key "ip vrf"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + leaf vrf { + description + "Virtual Routing/Forwarding parameters"; + type string; + } + uses aaa-server-proxy-common; + } + } + container client-ip-mask-vrf { + list client { + description + "Specify a RADIUS client"; + key "ip mask vrf"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + leaf mask { + description + "Network mask or prefix length"; + type union { + type ipv4-mask-slash-prefix-len-type; + type inet:ipv4-address; + } + } + leaf vrf { + description + "Virtual Routing/Forwarding parameters"; + type string; + } + uses aaa-server-proxy-common; + } + } + container send { + description + "Send attributes in Radius requests"; + container vsa { + description + "Vendor specific attribute configuration"; + container rpclient-source-address { + description + "AP Source Address"; + presence "true"; + leaf accounting { + description + "send in accounting requests"; + type empty; + } + leaf authentication { + description + "send in access requests"; + type empty; + } + } + } + } + } + container sesm { + description + "Local server profile for a SESM client"; + presence "true"; + list client { + description + "Specify a RADIUS client"; + key "ip"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + list vrf { + description + " Virtual Routing/Forwarding parameters"; + key "name"; + leaf name { + type string; + } + uses aaa-server-radius-key-grouping; + } + uses aaa-server-radius-key-grouping; + } + uses aaa-server-radius-key-grouping; + container message-authenticator { + description + "Message Authenticator attribute from Clients"; + leaf ignore { + description + "Ignore checking of Message Authenticator attribute from Clients"; + type empty; + } + } + uses aaa-server-radius-port; + } + } + } + leaf session-id { + description + "AAA Session ID"; + type enumeration { + enum common; + enum unique; + } + default "common"; + } + container login { + description + "AAA login enable display"; + leaf display { + description + "Display options for login info"; + type enumeration { + enum last-failure; + enum last-success; + enum number-failures; + } + } + leaf success-track-conf-time { + description + "Track Successful login attempts occurring during configured + time-period"; + type uint8 { + range "0..24"; + } + default "0"; + } + } + leaf max-sessions { + description + "Adjust initial hash size for estimated max sessions"; + type uint16 { + range "1024..64000"; + } + } + container memory { + description + "AAA memory parameters"; + container threshold { + description + "set appropriate thresholds for the AAA process"; + container accounting { + description + "AAA accounting low-memory threshold"; + leaf disable { + description + "accounting may be disabled, if available memory falls below this percentage"; + type uint8 { + range "1..15"; + } + } + } + container authentication { + description + "AAA authentication low-memory threshold"; + leaf reject { + description + "requests will be rejected, if available memory falls below this percentage"; + type uint8 { + range "2..15"; + } + } + } + } + } + leaf password { + description + "Configure password/secret related settings"; + type enumeration { + enum restriction; + } + } + container policy { + description + "AAA policy parameters"; + leaf interface-config { + description + "LCP interface config policy parameters"; + type enumeration { + enum allow-subinterface; + } + } + } + container route { + description + "Static route downloading"; + container download { + description + "Download from AAA server"; + leaf update-period { + description + "Route update period in minutes"; + type uint16 { + range "1..1440"; + } + } + leaf authorization { + description + "Method list to use for authorization"; + type string; + } + } + } + leaf traceback { + description + "Traceback recording"; + type enumeration { + enum recording; + } + } + container remote { + description + "Remote user configuration"; + leaf username { + description + "remote user username - Max length of 255 char"; + type string; + } + } + } + + grouping config-radius-grouping { + list filter { + description + "Packet filter configuration"; + key "id"; + leaf id { + type string; + } + leaf match { + type enumeration { + enum match-all; + enum match-any; + } + } + } + list server { + description + "Server configuration"; + key "id"; + leaf id { + description + "Name for the radius server configuration"; + type string; + } + container address { + description + "Specify the radius server address"; + choice radius-host-address { + leaf ipv4 { + description + "IPv4 address or Hostname for radius server"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf ipv6 { + description + "IPv6 address or Hostname for radius server"; + type union { + type inet:ipv6-address; + type string; + } + } + leaf fqdn { + description + "FQDN for server"; + type string; + } + } + leaf auth-port { + description + "UDP port for RADIUS authentication server (default is 1812)"; + default "1812"; + type uint16 { + range "0..65534"; + } + } + leaf acct-port { + description + "UDP port for RADIUS accounting server (default is 1813)"; + default "1813"; + type uint16 { + range "0..65534"; + } + } + } + leaf timeout { + description + "Time to wait for a RADIUS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + container tls { + description + "TLS configuration for RADIUS servers"; + leaf port { + description + "port on which RADIUS server is listening"; + type uint16 { + range "1..65535"; + } + default "2083"; + } + container trustpoint { + description + "parameters related to the server certificate and its verification"; + leaf client { + description + "Trustpoint for client"; + type string; + } + leaf server { + description + "Trustpoint for server"; + type string; + } + } + container match-server-identity { + description + "RADIUS Certification Validation Parameter Configuration"; + leaf hostname { + description + "Hostname for server identity check"; + type string; + } + } + } + container automate-tester { + description + "Configure server automated testing."; + leaf username { + type string; + } + leaf ignore-auth-port { + description + "Do not test authentication port of the servers."; + type empty; + } + leaf ignore-acct-port { + description + "Do not test accounting ports of the servers."; + type empty; + } + choice type-of-testing { + leaf probe-on-config { + description + "Send a packet to verify the server status"; + type empty; + } + leaf idle-time-config { + description + "Minutes of idle-time after which server state should be verified."; + type uint16 { + range "1..35791"; + } + } + } + leaf probe-on { + status deprecated; + description + "Send a packet to verify the server status"; + type empty; + } + leaf idle-time { + status deprecated; + description + "Minutes of idle-time after which server state should be verified."; + type uint16 { + range "1..35791"; + } + } + leaf vrf { + description + "Set VPN Routing Forwarding to use with the servers"; + type string; + } + } + container backoff { + description + "Retry backoff pattern(Default is retransmits with constant delay)"; + container exponential { + description + "Exponential retransmit backoff"; + presence "true"; + leaf max-delay { + description + "Max delay between retransmits(default is 3 min)"; + type uint8 { + range "1..120"; + } + } + leaf backoff-retry { + description + "Exponential backoff retry number(default is 8)"; + type uint8 { + range "1..50"; + } + } + } + } + container pac { + description + "Protected Access Credential key"; + container key { + description + "Per-server encryption key"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + description + "The UNENCRYPTED (cleartext) server key"; + type string { + pattern '.*'; + } + } + } + } + container key { + description + "Per-server encryption key"; + leaf encryption { + type enumeration { + enum 0; + enum 5; + enum 6; + enum 7; + } + } + leaf key { + type string { + pattern '.*'; + } + } + } + leaf retransmit { + description + "Number of retries to active server (overrides default)"; + type uint8 { + range "0..100"; + } + } + container dscp { + uses dscp-grouping; + } + } + } + + grouping config-ldap-grouping { + list server { + description + "Ldap Server configuration"; + key "id"; + leaf id { + type string; + } + choice ldap-host-address { + leaf ipv4 { + description + "IPv4 address or Hostname for LDAP server"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf ipv6 { + description + "IPv6 address or Hostname for LDAP server"; + type union { + type inet:ipv6-address; + type string; + } + } + leaf fqdn { + description + "FQDN for server"; + type string; + } + } + container authentication { + description + "Authentication Process"; + container bind-first { + description + "User-Bind first, then Search. Default: Search then User Bind"; + presence "true"; + leaf no-authorization { + description + "No authorization required for authentication requests"; + type empty; + } + } + leaf compare { + description + "Use Compare instead of Bind for authentication"; + type empty; + } + } + container automate-tester { + description + "Configure server automated testing"; + leaf username { + type string; + } + leaf probe-on { + description + "Send a packet to verify the server status"; + type empty; + } + } + leaf base-dn { + description + "Base DN"; + type string; + } + leaf deadtime { + description + "Time to stop using a server that does not respond (Default: 0 min)"; + type uint32 { + range "1..1440"; + } + } + container timeout { + description + "Timeout configurations"; + leaf retransmit { + description + "Retransmission timeout (Default: 30 secs)"; + type uint16 { + range "1..65535"; + } + } + } + container bind { + description + "Bind information"; + leaf authenticate { + description + "Bind authentication parameters"; + type empty; + } + leaf root-dn { + description + "Bind root-dn"; + type empty; + } + leaf username { + description + "Username string"; + type string; + } + leaf password { + description + "Bind password"; + type empty; + } + leaf pass-type { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf pass-str { + type string; + } + } + container mode { + description + "Server mode"; + container secure { + description + "Secure mode. Default: non-secure"; + presence "true"; + leaf no-negotiation { + type empty; + } + } + } + container search-type { + description + "ldap search type"; + leaf nested { + description + "Nested Search to get hierarchical nested user groups"; + type empty; + } + } + container search-filter { + description + "Search Filter"; + list user-object-type { + description + "Add User Object to filter"; + key "name"; + leaf name { + description + "Object Class attribute name"; + type string; + } + } + } + container secure { + description + "Secure options"; + container cipher { + description + "To enable only specific ciphers. Default is all"; + leaf _3des-ede-cbc-sha { + type empty; + } + leaf des-cbc-sha { + type empty; + } + leaf null-md5 { + type empty; + } + leaf rc4-128-md5 { + type empty; + } + leaf rc4-128-sha { + type empty; + } + } + leaf trustpoint { + description + "Secure trustpoint for certificate"; + type string; + } + } + container transport { + description + "Transport configurations"; + leaf port { + description + " Server listening port (Default: 389)"; + type uint16 { + range "1..65535"; + } + } + } + } + } + + grouping lower-upper-case-grouping { + leaf lu-case { + type enumeration { + enum lower-case; + enum upper-case; + } + } + } + + grouping config-radius-server-grouping { + list attribute { + description + "Customize selected radius attributes"; + key "number"; + leaf number { + type union { + type uint32; + type enumeration { + enum wireless; + } + } + } + leaf attri4 { + description + "Specify an IP address to be sent as attribute 4"; + when "../number = '4'"; + type inet:ipv4-address; + } + leaf-list send-attribute { + when "not(../number='wireless')"; + type enumeration { + enum on-for-login-auth; + enum include-in-access-req; + enum include-in-accounting-req; + enum support-multiple; + } + } + container access-request { + description + "Access-Request packet"; + when "../number = '25'"; + leaf include { + description + "Include attribute"; + type empty; + } + } + container attri31 { + description + "Calling Station ID"; + when "../number = '31'"; + list attri31-list { + key "calling-station-id"; + leaf calling-station-id { + type enumeration { + enum mac; + enum send; + } + } + container id-mac { + description + "Customize MAC address based Calling Station ID"; + when "../calling-station-id = 'mac'"; + leaf format { + description + "Specify format (default format ex: 0000.4096.3e4a) + ietf - format ex: 00-00-40-96-3E-4A"; + type enumeration { + enum ietf; + } + } + uses lower-upper-case-grouping; + } + container id-send { + when "../calling-station-id = 'send'"; + leaf nas-port-detail { + type empty; + } + leaf mac-only { + type empty; + } + } + } + } + container attri11 { + description + "Filter-ID attribute configuration"; + when "../number = '11'"; + list attri11-list { + key "filter-id-defaults"; + leaf filter-id-defaults { + type enumeration { + enum default; + enum optional; + } + } + container default { + description + "Set the attribute defaults"; + when "../filter-id-defaults = 'default'"; + leaf direction { + description + "Set the attribute default direction"; + type enumeration { + enum inbound; + enum outbound; + } + default "outbound"; + } + } + } + } + container wireless { + description + "Radius wireless attributes"; + when "../number='wireless'"; + container accounting { + description + "Radius accounting attributes"; + container nas-port-id { + description + "Radius Attribute 87"; + leaf exclude { + description + "don't send the nas port id in wireless accounting request"; + type empty; + } + } + leaf username-case { + description + "Radius accounting username-case type"; + type short-lower-upper; + } + leaf username-delimiter { + description + "Radius accounting username delimiter type"; + type delimiter-option; + } + uses wireless-attribute-option-grouping; + } + container authentication { + description + "Radius authentication attributes"; + uses wireless-attribute-option-grouping; + } + container attr44 { + description + "Radius attribute 44(session id)"; + leaf attr44val { + description + "Radius attribute 44(session id) value"; + type enumeration { + enum 44; + } + } + leaf include-in-access-req { + description + "Send attribute 44 in access-req packet"; + type empty; + } + leaf extend-with-mac-addr { + description + "prefix the accounting id with mac address"; + type empty; + } + } + container location { + description + "Radius location attributes"; + container delivery { + description + "Radius location attribute delivery"; + leaf out-of-band { + type empty; + } + leaf include-location-capable { + type empty; + } + } + leaf civic-location-id { + description + "Radius location attribute civic location id"; + type string { + length "1..215"; + } + } + leaf geo-location-id { + description + "Radius location attribute geo location id"; + type string { + length "1..215"; + } + } + leaf operator-id { + description + "Radius location attribute operator name id"; + type string { + length "1..215"; + } + } + } + } + } + container cache { + description + "cached DB profile configuration"; + container authentication { + description + "Authentication Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + container authorization { + description + "Authorization Cache profile configuration"; + leaf profile { + description + "Match profile to use for caching authentication responses"; + type string; + } + } + container expiry-time { + description + "Time for cached DB profile entry to expire"; + leaf expiry { + description + "Expiry time in hours (default 24 hours) - 0 is never"; + type uint32 { + range "0..2147483647"; + } + default "24"; + } + container options-value { + leaf rules-value { + description + "Rule for radius server cached expiry entry"; + type enumeration { + enum enforce; + enum failover; + } + default "enforce"; + } + leaf time-value { + description + "Expiry time for radius cached expiry entry"; + type enumeration { + enum hours; + enum minutes; + } + default "hours"; + } + } + container options { + status deprecated; + choice rule { + status deprecated; + case enforce-case { + status deprecated; + leaf enforce { + status deprecated; + description + "Don't use expired entry once it expires (DEPRECATED)"; + type empty; + } + } + case failover-case { + status deprecated; + leaf failover { + status deprecated; + description + "Use expired entry if all other methods fail (DEPRECATED)"; + type empty; + } + } + } + leaf hours { + status deprecated; + description + "Expiry time in hours (DEPRECATED)"; + type empty; + } + leaf minutes { + status deprecated; + description + "Expiry time in minute (DEPRECATED)"; + type empty; + } + } + } + } + container dead-criteria { + description + "Set the criteria used to decide when a radius server is marked dead"; + leaf time { + description + "The time during which no properly formed response must be received from the RADIUS server"; + type uint8 { + range "1..120"; + } + default "10"; + } + leaf tries { + description + "The number of times the router must fail to receive a response from the radius server to mark it as dead"; + type uint8 { + range "1..100"; + } + default "10"; + } + } + leaf deadtime { + description + "Time to stop using a server that does not respond"; + type uint32 { + range "1..1440"; + } + } + container directed-request-value { + description + "Logging into a Cisco network access server"; + leaf directed-request { + description + "radius server for authentication"; + type empty; + } + } + list host { + description + "Specify a RADIUS server"; + key "id"; + leaf id { + type union { + type string; + type inet:ipv4-address; + } + } + leaf auth-port { + description + "UDP port for RADIUS authentication server (default is 1645)"; + type uint16 { + range "0..65535"; + } + } + leaf acct-port { + description + "UDP port for RADIUS accounting server (default is 1646)"; + type uint16 { + range "0..65535"; + } + } + leaf retransmit { + description + "Specify the number of retries to active server"; + type uint8 { + range "1..100"; + } + } + container test { + description + "Configure server automated testing"; + list username { + description + "A name (from local database) that should be used to send requests."; + key "name"; + leaf name { + type string; + } + container key { + description + "per-server encryption key (overrides default)"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 7; + } + } + leaf clear-key { + type string; + } + } + } + } + leaf timeout { + description + "Time to wait for a RADIUS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + leaf key { + description + "per-server encryption key (overrides default)"; + type union { + type enumeration { + enum 0; + enum 7; + } + type string; + } + } + leaf clear-key { + when "../key = '0' or ../key = '7'"; + type string; + } + } + container key { + description + "encryption key shared with the radius servers"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf clear-key { + description + "The UNENCRYPTED (cleartext) server key"; + type string; + } + } + uses aaa-load-balance-grouping; + leaf retransmit { + description + "Specify the number of retries to active server"; + type uint8 { + range "1..100"; + } + } + container source-ports { + description + "source ports used for sending out RADIUS requests"; + leaf extended { + description + "Use 200 source-ports between 21645-21844"; + type empty; + } + } + leaf timeout { + description + "Time to wait for a RADIUS server to reply"; + type uint16 { + range "1..1000"; + } + } + container vsa { + description + "Vendor specific attribute configuration"; + container disallow { + description + "Forbid certain VSA behaviour"; + leaf unknown { + description + "Forbid unknown VSAs"; + type empty; + } + } + container send { + description + "Send vendor-specific attributes in requests"; + presence "true"; + leaf accounting-only { + description + "Send in accounting requests"; + type boolean; + default "true"; + } + container accounting-settings { + leaf threegpp2 { + description + "Send 3GPP2 VSAs in accounting requests"; + type empty; + } + } + leaf authentication-only { + description + "Send in access requests"; + type boolean; + default "true"; + } + container authentication-settings { + leaf threegpp2 { + description + "Send 3GPP2 VSAs in authentication requests"; + type empty; + } + } + container cisco-nas-port { + description + "Send cisco-nas-port VSA(2)"; + presence "true"; + leaf threegpp2 { + description + "Send 3GPP2 VSAs in accounting requests"; + type empty; + } + } + container accounting { + status deprecated; + description + "Send in accounting requests"; + presence "true"; + leaf threegpp2 { + status deprecated; + description + "Send 3GPP2 VSAs in accounting requests"; + type empty; + } + } + container authentication { + status deprecated; + description + "Send in access requests"; + presence "true"; + leaf threegpp2 { + status deprecated; + description + "Send 3GPP2 VSAs in accounting requests"; + type empty; + } + } + } + } + container dscp { + uses dscp-grouping; + } + } + + grouping wireless-attribute-option-grouping { + leaf call-station-id { + type enumeration { + enum ap-ethmac-only; + enum ap-ethmac-ssid; + enum ap-group-name; + enum ap-label-address; + enum ap-label-address-ssid; + enum ap-location; + enum ap-macaddress; + enum ap-macaddress-ssid; + enum ap-name; + enum ap-name-ssid; + enum ipaddress; + enum macaddress; + enum site-tag-name; + enum vlan-id; + enum flex-profile-name; + enum policy-tag-name; + enum ap-macaddress-ssid-flexprofilename; + enum ap-macaddress-ssid-sitetagname; + enum ap-macaddress-ssid-policytagname; + enum ap-ethmac-ssid-flexprofilename; + enum ap-ethmac-ssid-sitetagname; + enum ap-ethmac-ssid-policytagname; + } + } + leaf callStationIdCase { + type short-lower-upper; + } + leaf mac-delimiter { + type delimiter-option; + } + } + + grouping config-ip-radius-grouping { + container radius { + description + "RADIUS configuration commands"; + container source-interface { + description + "Specify interface for source address in RADIUS packets"; + uses ios-ifc:interface-grouping; + leaf vrf { + description + "VPN Routing/Forwarding parameters"; + type string; + } + } + } + } + + grouping config-tacacs-grouping { + list server { + description + "Server configuration"; + key "name"; + leaf name { + description + "Name for the tacacs server configuration"; + type string; + } + container address { + description + "Specify ip address for tacacs server"; + choice tacacs-host-address { + leaf ipv4 { + description + "IPv4 address or Hostname for tacacs server"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf ipv6 { + description + "IPv6 address or Hostname for tacacs server"; + type union { + type inet:ipv6-address; + type string; + } + } + leaf fqdn { + description + "FQDN for server"; + type string; + } + } + } + leaf port { + description + "TCP port for TACACS+ server (default is 49)"; + default "49"; + type uint16 { + range "1..65535"; + } + } + leaf timeout { + description + "Time to wait for this TACACS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + container key { + description + "per-server encryption key (overrides default)"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 7; + enum 6; + } + } + leaf key { + description + "The UNENCRYPTED (cleartext) server key"; + type string { + pattern '.*'; + } + } + } + } + } + + grouping config-tacacs-server-grouping { + list host { + status deprecated; + description + "Specify a TACACS server"; + key "name"; + leaf name { + status deprecated; + type ios-types:host-type; + } + leaf port { + status deprecated; + description + "TCP port for TACACS+ server (default is 49)"; + type uint16 { + range "1..65535"; + } + } + leaf key { + status deprecated; + description + "Set TACACS+ encryption key."; + type union { + type enumeration { + enum 0; + enum 7; + } + type string; + } + } + leaf encryption-key { + status deprecated; + when "../key = '0' or ../key = '7'"; + type string; + } + leaf timeout { + status deprecated; + description + "Time to wait for this TACACS server to reply (overrides default)"; + type uint16 { + range "1..1000"; + } + } + } + leaf timeout { + description + "Time to wait for a TACACS server to reply"; + type uint16 { + range "1..1000"; + } + } + container directed-request { + description + "Allow user to specify tacacs server to use with `@server'"; + presence "true"; + leaf restricted { + description + "restrict queries to directed request servers only"; + type empty; + } + leaf no-truncate { + description + "Do not truncate the @hostname from username."; + type empty; + } + } + container key { + description + "Set TACACS+ encryption key."; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies HIDDEN key will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + type string; + } + } + container attribute { + description + "Customize selected tacacs attributes"; + container allow { + description + "Allow certain tacacs attribute behavior"; + leaf unknown { + description + "Unknown Tacacs+ attributes"; + type empty; + } + } + } + } + + grouping config-ip-tacacs-main-grouping { + container source-interface { + description + "Specify interface for source address in TACACS packets"; + uses ios-ifc:interface-grouping; + } + } + + grouping config-ip-tacacs-grouping { + container tacacs { + description + "TACACS configuration commands"; + container source-interface { + description + "Specify interface for source address in TACACS packets"; + uses ios-ifc:interface-grouping; + leaf vrf { + description + "VPN Routing/Forwarding parameters"; + type string; + } + } + } + } + + grouping config-common-criteria-policy { + container common-criteria-policy { + description + "Configure cc policy"; + leaf common-criteria-policy { + description + "Enter the common-criteria policy name"; + must '/ios:native/ios:aaa/ios-aaa:common-criteria[ios-aaa:policy = current()]/ios-aaa:policy' { + error-message "Configure common-criteria policy before using it"; + } + type string; + } + container password { + description + "Specify the password for the user"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + enum 6; + } + } + leaf password { + type string { + pattern '.*'; + } + } + } + } + } + + grouping config-security-grouping { + container security { + description + "Infra Security CLIs"; + container authentication { + description + "Authentication security"; + container failure { + description + "Authentication failure logging"; + container rate { + description + "Authentication failure threshold rate"; + leaf threshold { + description + "Authentication failure threshold rate"; + must '../log' { + error-message "Log node should be present"; + } + type uint16 { + range "2..1024"; + } + } + leaf log { + description + "log a message if the Authentication failures + over the last one minute equalled this number"; + must '../threshold' { + error-message "Threshold node should be present"; + } + type empty; + } + } + } + } + container passwords { + description + "Password security"; + leaf min-length { + description + "Minimum length of passwords"; + type uint8 { + range "1..16"; + } + default "1"; + } + } + } + } + + augment "/ios:native/ios:username" { + uses config-common-criteria-policy; + } + + augment "/ios:native/ios:aaa" { + uses config-aaa-grouping; + } + + augment "/ios:native/ios:radius" { + uses config-radius-grouping; + } + + augment "/ios:native/ios:ldap" { + uses config-ldap-grouping; + } + + augment "/ios:native/ios:radius-server" { + uses config-radius-server-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-radius-grouping; + } + + augment "/ios:native/ios:tacacs" { + uses config-tacacs-grouping; + } + + augment "/ios:native/ios:tacacs-server" { + uses config-tacacs-server-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-tacacs-grouping; + } + + augment "/ios:native/ios:username" { + container aaa { + description + "AAA directive"; + container attribute { + description + "AAA attribute directive"; + leaf list { + description + "AAA attribute list"; + type leafref { + path "/ios:native/ios:aaa/ios-aaa:attribute/ios-aaa:list/ios-aaa:name"; + } + } + } + } + } + + augment "/ios:native/ios:ipv6" { + uses config-ip-radius-grouping; + } + + augment "/ios:native/ios:ipv6" { + uses config-ip-tacacs-grouping; + } + + augment "/ios:native" { + uses config-security-grouping { + if-feature "ios-features:routing-platform"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-acl-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-acl-oper.yang new file mode 100644 index 000000000..0a529dc64 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-acl-oper.yang @@ -0,0 +1,773 @@ +module Cisco-IOS-XE-acl-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-acl-oper"; + prefix acl-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ACL statistical data. + Copyright (c) 2016-2017, 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-03-01 { + description + "Update copyright"; + reference + "1.4.1"; + cisco-semver:module-version "1.4.1"; + } + revision 2020-11-01 { + description + "Added support of associating ACL with Geolocation group"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-03-01 { + description + "Augmented Access Lists with Access List type and Access List Entries with ACE rule data"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef acl-action-type { + type enumeration { + enum permit { + value 0; + description + "Permit matching packets"; + } + enum deny { + value 1; + description + "Deny matching packets"; + } + } + description + "Action to be taken on packets matching the rule"; + } + + typedef acl-port-operator-type { + type enumeration { + enum equals { + value 0; + description + "Equals to the given port"; + } + enum not-equals { + value 1; + description + "Not equal to the given port"; + } + enum lesser-than { + value 2; + description + "Lesser than the given port"; + } + enum greater-than { + value 3; + description + "Greater than the given port"; + } + enum range { + value 4; + description + "Range between the ports, including the given ports"; + } + } + description + "Specifies what operation to use while checking if the protocol port matches the given port(s)"; + } + + typedef access-list-type { + type enumeration { + enum v4-standard-acl { + value 0; + description + "IPv4 standard Access Control List"; + } + enum v4-extended-acl { + value 1; + description + "Ipv4 Extended Access Control List"; + } + enum v4-role-based-acl { + value 2; + description + "IPv4 Role based Access Control List"; + } + enum v6-acl { + value 3; + description + "Regular IPv6 Access Control List"; + } + enum v6-role-based-acl { + value 4; + description + "IPv6 Role based Access Control List"; + } + } + description + "Basic Access Control List type"; + } + + typedef acl-protocol-type { + type enumeration { + enum protocol-any { + value 0; + description + "Any IP protocol"; + } + enum protocol-number { + value 1; + description + "Number assigned to the IP protocol"; + } + enum protocol-object-group { + value 2; + description + "Service object-group name containing the protocol(s)"; + } + } + description + "Options to configure the protocol for matching packets"; + } + + typedef acl-port-option-type { + type enumeration { + enum port-any { + value 0; + description + "Protocol port is not configured"; + } + enum port-configured { + value 1; + description + "Protocol port is configured"; + } + } + description + "ACL port configuration options"; + } + + typedef acl-v4-address-type { + type enumeration { + enum v4-address-wildcard { + value 0; + description + "IPv4 address and wildcard"; + } + enum v4-host { + value 1; + description + "IPv4 host address"; + } + enum v4-object-group { + value 2; + description + "IPv4 network object group containing IPv4 addresses"; + } + enum v4-fqdn-group { + value 3; + description + "Name of the FQDN group associated with this entry"; + } + enum v4-any { + value 4; + description + "Any IPv4 address in this position"; + } + enum v4-geo-group { + value 5; + description + "Name of the geolocation group associated with this entry"; + } + } + description + "Options to configure IPv4 address"; + } + + typedef acl-v6-address-type { + type enumeration { + enum v6-address-prefix { + value 0; + description + "IPv6 address and prefix length used to match the packet"; + } + enum v6-address-wildcard { + value 1; + description + "IPv6 address and wildcard used to match the packet"; + } + enum v6-host { + value 2; + description + "IPv6 host address used to match the packet"; + } + enum v6-object-group { + value 3; + description + "Name of IPv6 network object group containing the address(es)"; + } + enum v6-fqdn-group { + value 4; + description + "Name of the FQDN group associated with this entry"; + } + enum v6-any { + value 5; + description + "Matches with any IPv6 address on the packet"; + } + enum v6-geo-group { + value 6; + description + "Name of the geolocation group associated with this entry"; + } + } + description + "Options to configure IPv6 address"; + } + + typedef access-list-type-flags { + type bits { + bit internal { + position 0; + description + "ACL generated by the system for internal use"; + } + bit downloaded { + position 1; + description + "ACL downloaded into the device"; + } + bit per-user { + position 2; + description + "Per user ACL, configured programmatically"; + } + } + description + "Access Control List flags"; + } + + grouping acl-protocol { + description + "Protocol to match packets"; + choice protocol-choice { + description + "Protocol configuration options"; + case protocol-any { + leaf any { + type empty; + description + "Any IP protocol"; + } + } + case protocol-number { + leaf number { + type uint8; + description + "Number assigned to the IP protocol"; + } + } + case protocol-object-group { + leaf object-group { + type string; + description + "Service object-group name containing the protocol(s)"; + } + } + } + } + + grouping acl-port-data { + description + "ACL entry port configuration data"; + leaf port-operator { + type acl-ios-xe-oper:acl-port-operator-type; + description + "Specifies what operation to use while checking if the protocol port matches the given port(s)"; + } + leaf-list ports { + type uint16; + ordered-by user; + description + "When the port match is \"less than\" or \"greater than\" then the port list will have one entry for the operation. When the port match is \"range\" then port list will have two values with the range being between the values. When the port match is \"equals\" and \"not equals\", then there may be up to 10 number of ports."; + } + } + + grouping acl-port { + description + "Port configuration for the protocol"; + choice port-option-choice { + description + "Indicates whether the port was configured or not"; + case port-any { + leaf any { + type empty; + description + "Port is not configured. So, all ports will be matched"; + } + } + case port-configured { + container port-data { + description + "Port configuration to be matched against the packet"; + uses acl-ios-xe-oper:acl-port-data; + } + } + } + } + + grouping acl-v4-address-wildcard { + description + "IPv4 network address and wildcard"; + leaf address { + type inet:ipv4-address; + description + "IPv4 network address"; + } + leaf wildcard { + type inet:ipv4-address; + description + "Wildcard or inverted network mask"; + } + } + + grouping acl-v4-address { + description + "IPv4 address to be matched in this position"; + choice v4-address-choice { + description + "Options to configure IPv4 address"; + case v4-address-wildcard { + container address-wildcard { + description + "IPv4 address and wildcard"; + uses acl-ios-xe-oper:acl-v4-address-wildcard; + } + } + case v4-host { + leaf host { + type inet:ipv4-address; + description + "IPv4 host address"; + } + } + case v4-object-group { + leaf object-group { + type string; + description + "IPv4 network object group containing IPv4 addresses"; + } + } + case v4-fqdn-group { + leaf fqdn-group { + type string; + description + "Name of the FQDN group associated with this entry"; + } + } + case v4-any { + leaf any { + type empty; + description + "Any IPv4 address in this position"; + } + } + case v4-geo-group { + leaf geo-group { + type string; + description + "Name of the geolocation group associated with this entry"; + } + } + } + } + + grouping acl-v4-standard-ace-data { + description + "IPv4 Standard Access List entry details"; + leaf action { + type acl-ios-xe-oper:acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container source-address { + description + "Source address used to match the packets"; + uses acl-ios-xe-oper:acl-v4-address; + } + } + + grouping acl-v4-extended-ace-data { + description + "IPv4 ACE data"; + leaf action { + type acl-ios-xe-oper:acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container protocol { + description + "Protocol used to match the packets"; + uses acl-ios-xe-oper:acl-protocol; + } + container source-address { + description + "Source address used to match the packets"; + uses acl-ios-xe-oper:acl-v4-address; + } + container source-port { + description + "Source port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + container destination-address { + description + "Destination address used to match the packets"; + uses acl-ios-xe-oper:acl-v4-address; + } + container destination-port { + description + "Destination port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + } + + grouping acl-v4-role-based-ace-data { + description + "IPv4 Role based ACE data"; + leaf action { + type acl-ios-xe-oper:acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container protocol { + description + "Protocol used to match the packets"; + uses acl-ios-xe-oper:acl-protocol; + } + container source-port { + description + "Source port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + container destination-port { + description + "Destination port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + } + + grouping acl-v6-address-wildcard { + description + "IPv6 address and wildcard"; + leaf address { + type inet:ipv6-address; + description + "IPv6 address"; + } + leaf wildcard { + type inet:ipv6-address; + description + "Wildcard used with the IPv6 address"; + } + } + + grouping acl-v6-address { + description + "IPv6 address configuration"; + choice v6-address-choice { + description + "Options to configure IPv6 address"; + case v6-address-prefix { + leaf address-prefix { + type inet:ip-prefix; + description + "IPv6 address and prefix length used to match the packet"; + } + } + case v6-address-wildcard { + container address-wildcard { + description + "IPv6 address and wildcard used to match the packet"; + uses acl-ios-xe-oper:acl-v6-address-wildcard; + } + } + case v6-host { + leaf host { + type inet:ipv6-address; + description + "IPv6 host address used to match the packet"; + } + } + case v6-object-group { + leaf object-group { + type string; + description + "Name of IPv6 network object group containing the address(es)"; + } + } + case v6-fqdn-group { + leaf fqdn-group { + type string; + description + "Name of the FQDN group associated with this entry"; + } + } + case v6-any { + leaf any { + type empty; + description + "Matches with any IPv6 address on the packet"; + } + } + case v6-geo-group { + leaf geo-group { + type string; + description + "Name of the geolocation group associated with this entry"; + } + } + } + } + + grouping acl-v6-ace-data { + description + "IPv6 Access Control List entry"; + leaf action { + type acl-ios-xe-oper:acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container protocol { + description + "Protocol used to match the packets"; + uses acl-ios-xe-oper:acl-protocol; + } + container source-address { + description + "Source address used to match the packets"; + uses acl-ios-xe-oper:acl-v6-address; + } + container source-port { + description + "Source port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + container destination-address { + description + "Destination address used to match the packets"; + uses acl-ios-xe-oper:acl-v6-address; + } + container destination-port { + description + "Destination port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + } + + grouping acl-v6-role-based-ace-data { + description + "IPv6 Role based Access Control List entry"; + leaf action { + type acl-ios-xe-oper:acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container protocol { + description + "Protocol used to match the packets"; + uses acl-ios-xe-oper:acl-protocol; + } + container source-port { + description + "Source port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + container destination-port { + description + "Destination port used to match the packets"; + uses acl-ios-xe-oper:acl-port; + } + } + + grouping ace-rule-data { + description + "ACL entry parameters used for matching"; + choice acl-rule-choice { + description + "ACL entry rules based on ACL type"; + case v4-standard-acl { + container v4-standard-ace-rule { + description + "IPv4 Standard ACL rule matching parameters"; + uses acl-ios-xe-oper:acl-v4-standard-ace-data; + } + } + case v4-extended-acl { + container v4-extended-ace-rule { + description + "IPv4 extended ACL rule matching parameters"; + uses acl-ios-xe-oper:acl-v4-extended-ace-data; + } + } + case v4-role-based-acl { + container v4-role-based-ace-rule { + description + "IPv4 Role-based ACL rule matching parameters"; + uses acl-ios-xe-oper:acl-v4-role-based-ace-data; + } + } + case v6-acl { + container v6-ace-rule { + description + "IPv6 regular ACL rule matching parameters"; + uses acl-ios-xe-oper:acl-v6-ace-data; + } + } + case v6-role-based-acl { + container v6-role-based-ace-rule { + description + "IPv6 Role based ACL rule matching parameters"; + uses acl-ios-xe-oper:acl-v6-role-based-ace-data; + } + } + } + } + + grouping ace-oper-data { + description + "ACE operational data"; + leaf match-counter { + type yang:counter64; + description + "Number of matches for an access list entry"; + } + } + + grouping access-list-entry { + description + "Entry representing ACE list entry"; + leaf rule-name { + type uint32; + description + "Entry number."; + } + container access-list-entries-oper-data { + description + "Per access list entries operational data"; + uses acl-ios-xe-oper:ace-oper-data; + } + container access-list-entries-rule-data { + description + "Per access list entries rule data"; + uses acl-ios-xe-oper:ace-rule-data; + } + } + + grouping access-list { + description + "A list of access-list-entry(ACE)"; + leaf access-control-list-name { + type string; + description + "The name of access-list. A device MAY restrict the length + and value of this name, possibly space and special characters are not + allowed"; + } + container access-list-entries { + description + "access-list-entry(ACE) information"; + list access-list-entry { + key "rule-name"; + description + "A list of ACEs"; + uses acl-ios-xe-oper:access-list-entry; + } + } + leaf access-control-list-type { + type acl-ios-xe-oper:access-list-type; + description + "Basic type of access control list"; + } + leaf access-control-list-type-flags { + type acl-ios-xe-oper:access-list-type-flags; + description + "Other information about the access list"; + } + } + + container access-lists { + config false; + description + "This is top level container for Access Control Lists. It can have one + or more Access Control List."; + list access-list { + key "access-control-list-name"; + description + "An access list (acl) is an ordered list of + access list entries (ACE). Each access control entries has a + list of match criteria, and a list of actions. + Since there are several kinds of access control lists + implemented with different attributes for + each and different for each vendor, this + model accommodates customizing access control lists for + each kind and for each vendor."; + uses acl-ios-xe-oper:access-list; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-acl.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-acl.yang new file mode 100644 index 000000000..2d847b505 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-acl.yang @@ -0,0 +1,4057 @@ +module Cisco-IOS-XE-acl { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-acl"; + prefix ios-acl; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-object-group { + prefix ios-og; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Access Control List (ACL) Yang model. + Copyright (c) 2016-2020, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Moving uses ipv4-acl-icmp-match statement + - Removing check of icmp protocol + - Src and Dst ports cannot be configured with the ICMP protocol + - Adding entry-v2 with ordered-by-user under config-mac-access-list-grouping + - Enhance mac access-list mac address modeling to allow capitol letters A-F + - Fixed over written issue when extended ACL with ACE and remark on same sequence number is configured"; + cisco-semver:module-version "4.1.0"; + } + revision 2024-03-01 { + description + "- Added when condition for icmp as src and dst not part of it + - Added when condition for v6 ACL for service OG"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-11-01 { + description + "- Support for v6 service OG model + - Added Management Traffic Control feature support + - Adding object-group as part of protocol list in v6 service OG"; + cisco-semver:module-version "3.0.0"; + } + revision 2023-07-01 { + description + "- Added support of established keyword in ipv6 role-based access-list + - Moving established leaf in role-based ACL specific to TCP"; + cisco-semver:module-version "2.5.0"; + } + revision 2023-03-01 { + description + "- Update pattern of leaf values"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added reflexive ACL support for IPV4"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-07-01 { + description + "- Deprecated named-rb-acl list for ipv6 role-based access-list. + - Update pattern of leaf dynamic. + - Added role-base list for ipv6 role-based access-list"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-03-01 { + description + "- Deprecate ipv4-prefix-case"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "- Fixed command sequence issue in role based acl for 17.4.1 + - Added few port names to acl-port-type + - Added support of associating ACL with Geolocation group"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added support for FQDN group based ACL"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "-Added access-list limit config + -Added multiple port-match for ipv6 ACLs"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-29 { + description + "Moved tailf:cli-break-sequence-commands to acl-tcp-common-match"; + } + revision 2018-12-14 { + description + "Fixing mac access-list extended model backward compatibility issue"; + } + revision 2018-12-13 { + description + "Fixed IPv6 ACL Remark Model"; + } + revision 2018-11-13 { + description + "Moved the uses acl-tcp-common-match statement"; + } + revision 2018-11-01 { + description + "Update references to object-groups to leafrefs"; + } + revision 2018-09-05 { + description + "Added mac access-list extended model"; + } + revision 2018-08-31 { + description + "Modify the pattern string of leaf values under container access-list to match (any) keyword "; + } + revision 2018-06-25 { + description + "Add multiple ports match"; + } + revision 2017-08-01 { + description + "Removed ordered-by-user for acl lists"; + } + revision 2017-07-31 { + description + "Restored ipv4 acl name type to union"; + } + revision 2017-05-26 { + description + "MAC access list entry key turned into a blob"; + } + revision 2017-05-17 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-05-16 { + description + "Removed access-list data model"; + } + revision 2017-05-02 { + description + "MAC access list entry made a list"; + } + revision 2017-04-25 { + description + "Updated MAC access list target "; + } + revision 2017-03-24 { + description + "Removed when clause"; + } + + typedef acl-port-type { + type union { + type uint16; + type enumeration { + enum bgp { + value 179; + } + enum chargen { + value 19; + } + enum daytime { + value 13; + } + enum discard { + value 9; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum finger { + value 79; + } + enum ftp { + value 21; + } + enum ftp-data { + value 20; + } + enum gopher { + value 70; + } + enum hostname { + value 101; + } + enum ident { + value 113; + } + enum irc { + value 194; + } + enum klogin { + value 543; + } + enum kshell { + value 544; + } + enum lpd { + value 515; + } + enum msrpc { + value 135; + } + enum nntp { + value 119; + } + enum pim-auto-rp { + value 496; + } + enum pop2 { + value 109; + } + enum pop3 { + value 110; + } + enum smtp { + value 25; + } + enum sunrpc { + value 111; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum telnet { + value 23; + } + enum time { + value 37; + } + enum uucp { + value 540; + } + enum whois { + value 43; + } + enum www { + value 80; + } + enum biff { + value 512; + } + enum bootpc { + value 68; + } + enum bootps { + value 67; + } + enum dnsix { + value 195; + } + enum isakmp { + value 500; + } + enum mobile-ip { + value 434; + } + enum nameserver { + value 42; + } + enum netbios-dgm { + value 138; + } + enum netbios-ns { + value 137; + } + enum netbios-ss { + value 139; + } + enum non500-isakmp { + value 4500; + } + enum ntp { + value 123; + } + enum rip { + value 520; + } + enum ripv6 { + value 521; + } + enum snmp { + value 161; + } + enum snmptrap { + value 162; + } + enum syslog { + value 514; + } + enum tftp { + value 69; + } + enum who { + value 513; + } + enum xdmcp { + value 177; + } + enum onep-plain { + value 15001; + } + enum onep-tls { + value 15002; + } + enum login; + enum exec; + enum cmd; + } + } + } + + grouping access-list-ip-grouping { + container ip { + description + "Any Internet Protocol"; + container host { + description + "A single source host"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "Source address"; + type inet:host; + } + container host { + description + "A single destination host"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "Destination address"; + type inet:host; + } + container dscp { + description + "Match packets with given dscp value"; + leaf dscp-val { + type ios-types:dscp-type; + } + } + leaf time-range { + description + "Time-range entry name"; + type string; + } + container tos { + description + "Match packets with given TOS value"; + leaf range { + description + "Type of service value"; + type uint8 { + range "0..15"; + } + } + leaf max-reliability { + description + "Match packets with max reliable TOS (2)"; + type empty; + } + leaf max-throughput { + description + "Match packets with max throughput TOS (4)"; + type empty; + } + leaf min-delay { + description + "Match packets with min delay TOS (8)"; + type empty; + } + leaf min-monetary-cost { + description + "Match packets with min monetary cost TOS (1)"; + type empty; + } + leaf normal { + description + "Match packets with normal TOS (0)"; + type empty; + } + } + } + } + } + } + } + } + + grouping ipv4-acl-icmp-match { + choice icmp-msg-choice { + case icmp-msg-type-code { + leaf msg-type { + type uint8; + } + leaf msg-code { + type uint8; + } + } + case named-msg-type-case { + leaf named-msg-type { + type enumeration { + enum administratively-prohibited; + enum alternate-address; + enum conversion-error; + enum dod-host-prohibited; + enum dod-net-prohibited; + enum echo; + enum echo-reply; + enum general-parameter-problem; + enum host-isolated; + enum host-precedence-unreachable; + enum host-redirect; + enum host-tos-redirect; + enum host-tos-unreachable; + enum host-unknown; + enum host-unreachable; + enum information-reply; + enum information-request; + enum mask-reply; + enum mask-request; + enum mobile-redirect; + enum net-redirect; + enum net-tos-redirect; + enum net-tos-unreachable; + enum net-unreachable; + enum network-unknown; + enum no-room-for-option; + enum option-missing; + enum packet-too-big; + enum parameter-problem; + enum port-unreachable; + enum precedence-unreachable; + enum protocol-unreachable; + enum reassembly-timeout; + enum redirect; + enum router-advertisement; + enum router-solicitation; + enum source-quench; + enum source-route-failed; + enum time-exceeded; + enum timestamp-reply; + enum timestamp-request; + enum traceroute; + enum ttl-exceeded; + enum unreachable; + } + } + } + } + } + + grouping ipv6-acl-icmp-match { + choice icmp_choice { + case msg-type-code { + leaf msg-type-case { + type uint8; + } + leaf msg-code { + type uint8; + } + } + case named-msg-type-case { + leaf named-msg-type { + type enumeration { + enum beyond-scope; + enum destination-unreachable; + enum dhaad-reply; + enum dhaad-request; + enum echo-reply; + enum echo-request; + enum header; + enum hop-limit; + enum mld-query; + enum mld-reduction; + enum mld-report; + enum mpd-advertisement; + enum mpd-solicitation; + enum nd-na; + enum nd-ns; + enum next-header; + enum no-admin; + enum no-route; + enum packet-too-big; + enum parameter-option; + enum parameter-problem; + enum port-unreachable; + enum reassembly-timeout; + enum redirect; + enum reject-route; + enum renum-command; + enum renum-result; + enum renum-seq-number; + enum router-advertisement; + enum router-renumbering; + enum router-solicitation; + enum source-policy; + enum time-exceeded; + enum unreachable; + } + } + } + } + } + + grouping tcp-port-choice-grouping { + choice tcp-port-choice { + case tcp-port-eq-case { + leaf tcp-eq { + type ios-types:tcp-port-type; + } + } + case tcp-port-lt-case { + leaf tcp-lt { + type ios-types:tcp-port-type; + } + } + case tcp-port-gt-case { + leaf tcp-gt { + type ios-types:tcp-port-type; + } + } + case tcp-port-neq-case { + leaf tcp-neq { + type ios-types:tcp-port-type; + } + } + case tcp-port-range-case { + leaf tcp-range-min { + type ios-types:tcp-port-type; + } + leaf tcp-range-max { + type ios-types:tcp-port-type; + } + } + } + } + + grouping udp-port-choice-grouping { + choice udp-port-choice { + case udp-port-eq-case { + leaf udp-eq { + type ios-types:udp-port-type; + } + } + case udp-port-lt-case { + leaf udp-lt { + type ios-types:udp-port-type; + } + } + case udp-port-gt-case { + leaf udp-gt { + type ios-types:udp-port-type; + } + } + case udp-port-neq-case { + leaf udp-neq { + type ios-types:udp-port-type; + } + } + case udp-port-range-case { + leaf udp-range-min { + type ios-types:udp-port-type; + } + leaf udp-range-max { + type ios-types:udp-port-type; + } + } + } + } + + grouping ipv4-acl-tcp-bit-match { + leaf plusack { + description + "Match on ACK set"; + type empty; + } + leaf plusfin { + description + "Match on FIN set"; + type empty; + } + leaf pluspsh { + description + "Match on PSH set"; + type empty; + } + leaf plusrst { + description + "Match on RST set"; + type empty; + } + leaf plussyn { + description + "Match on SYN set"; + type empty; + } + leaf plusurg { + description + "Match on URG set"; + type empty; + } + leaf minusack { + description + "Match on ACK not set"; + type empty; + } + leaf minusfin { + description + "Match on FIN not set"; + type empty; + } + leaf minuspsh { + description + "Match on PSH not set"; + type empty; + } + leaf minusrst { + description + "Match on RST not set"; + type empty; + } + leaf minussyn { + description + "Match on SYN not set"; + type empty; + } + leaf minusurg { + description + "Match on URG not set"; + type empty; + } + } + + grouping ipv4-acl-tcp-match { + container match-all { + description + "Match if all specified flags are present"; + uses ipv4-acl-tcp-bit-match; + } + container match-any { + description + "Match if any specified flags is present"; + uses ipv4-acl-tcp-bit-match; + } + } + + grouping acl-tcp-common-match { + leaf ack { + description + "Match on the ACK bit"; + type empty; + } + leaf fin { + description + "Match on the FIN bit"; + type empty; + } + leaf psh { + description + "Match on the PSH bit"; + type empty; + } + leaf rst { + description + "Match on the RST bit"; + type empty; + } + leaf syn { + description + "Match on the SYN bit"; + type empty; + } + leaf urg { + description + "Match on the URG bit"; + type empty; + } + leaf established { + description + "Match established connections"; + type empty; + } + } + + grouping ipv4-acl-match-common-attribute { + leaf dscp { + description + "Match packets with given dscp value"; + type ios-types:dscp-type; + } + leaf fragments { + description + "Check non-initial fragments"; + type empty; + } + leaf option { + description + "Match packets with given IP Options value"; + type union { + type uint8; + type enumeration { + enum add-ext; + enum any-options; + enum com-security; + enum dps; + enum encode; + enum eool; + enum ext-ip; + enum ext-security; + enum finn; + enum imitd; + enum lsr; + enum mtup; + enum mtur; + enum no-op; + enum nsapa; + enum record-route; + enum router-alert; + enum sdb; + enum security; + enum ssr; + enum stream-id; + enum timestamp; + enum traceroute; + enum ump; + enum visa; + enum zsu; + } + } + } + leaf precedence { + description + "Match packets with given precedence value"; + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum critical; + enum flash; + enum flash-override; + enum immediate; + enum internet; + enum network; + enum priority; + enum routine; + } + } + } + leaf time-range { + description + "Specify a time-range"; + type string; + } + leaf tos { + description + "Match packets with given TOS value"; + type union { + type uint8 { + range "0..15"; + } + type enumeration { + enum max-reliability; + enum max-throughput; + enum min-delay; + enum min-monetary-cost; + enum normal; + } + } + } + container ttl { + description + "Match packets with given TTL value"; + choice ttl-choice { + case eq-case { + leaf eq { + description + "Match only packets on a given TTL number"; + type uint8; + } + } + case gt-case { + leaf gt { + description + "Match only packets on a given TTL number"; + type uint8; + } + } + case lt-case { + leaf lt { + description + "Match only packets on a given TTL number"; + type uint8; + } + } + case neq-case { + leaf neq { + description + "Match only packets on a given TTL number"; + type uint8; + } + } + case range-case { + container range { + description + "Match only packets in the range of TTLs"; + leaf value1 { + type uint8; + } + leaf value2 { + type uint8; + } + } + } + } + } + leaf log { + description + "Log matches against this entry"; + type empty; + } + leaf log-input { + description + "Log matches against this entry, including input interface"; + type empty; + } + } + + grouping acl-reflect-grouping { + leaf reflect { + description + "ACL name to reflect"; + if-feature "ios-features:reflexive-acl"; + type string { + pattern '[a-zA-Z].*'; + } + } + } + + grouping ipv4-acl-match-common-attribute-new { + leaf log { + description + "Log matches against this entry"; + type empty; + } + leaf log-input { + description + "Log matches against this entry, including input interface"; + type empty; + } + } + + grouping target-choice { + choice target-choice { + case any { + leaf any { + description + "any MAC address"; + type empty; + } + } + case host { + leaf host { + description + "A single host MAC address"; + type string; + } + } + case address { + leaf mac-address { + description + "48-bit MAC address"; + type string; + } + leaf mac-address-mask { + description + "48-bit MAC address"; + type string; + } + } + } + } + + grouping ipv6-acl-match-common-attribute { + leaf auth { + description + "Match on authentication header"; + type empty; + } + leaf dest-option { + description + "Destination Option header (all types)"; + type empty; + } + leaf dscp { + description + "Match packets with given dscp value"; + type ios-types:dscp-type; + } + leaf flow-label { + description + "Flow label"; + type uint32 { + range "0..1048575"; + } + } + leaf fragments { + description + "Check non-initial fragments"; + type empty; + } + leaf hbh { + description + "Match on hop-by-hop option"; + type empty; + } + leaf log { + description + "Log matches against this entry"; + type empty; + } + leaf log-input { + description + "Log matches against this entry, including input"; + type empty; + } + leaf mobility { + description + "Mobility header (all types)"; + type empty; + } + leaf mobility-type { + description + "Mobility header with type"; + type ios-types:mobility-type; + } + leaf routing { + description + "Routing header (all types)"; + type empty; + } + leaf routing-type { + description + "Routing header with type"; + type uint8; + } + leaf time-range { + description + "Specify a time-range"; + type string; + } + } + + grouping acl-tcp-common-match-new { + leaf established { + description + "Match established connections"; + type empty; + } + } + + grouping ipv6-acl-match-common-attribute-new { + leaf dscp { + description + "Match packets with given dscp value"; + type ios-types:dscp-type-new; + } + choice log-choice { + case log-case { + leaf log { + description + "Log matches against this entry"; + type empty; + } + } + case log-input-case { + leaf log-input { + description + "Log matches against this entry, including input"; + type empty; + } + } + } + } + + grouping ace-log-grouping { + leaf log { + description + "Log matches against this entry"; + type empty; + } + } + + grouping ipv4-std-ace-grouping { + container std-ace { + choice source-choice { + case ipv4-prefix-case { + leaf ipv4-address-prefix { + description + "Network address prefix"; + type inet:ipv4-address; + } + leaf ipv4-prefix { + description + "Network address prefix (DEPRECATED - use ipv4-address-prefix)"; + status deprecated; + type ios-types:ipv4-host; + } + leaf mask { + description + "Wildcard bits"; + must '../ios-acl:ipv4-address-prefix' { + error-message "Ipv4 address missing"; + } + type inet:ipv4-address; + } + } + case any-case { + leaf any { + description + "Any source prefix"; + type empty; + } + } + case host-case { + leaf host-address { + description + "A single source host"; + type inet:ipv4-address; + } + leaf host { + description + "A single source host (DEPRECATED - use host-address)"; + status deprecated; + type ios-types:ipv4-host; + } + } + } + uses ace-log-grouping; + } + } + + grouping ipv4-acl-src-dst-addr-port-grouping { + choice source-choice { + case ipv4-prefix-case { + leaf ipv4-address { + mandatory true; + type inet:ipv4-address; + } + leaf mask { + description + "Source wildcard bits"; + mandatory true; + type inet:ipv4-address; + } + } + case any-case { + leaf any { + description + "Any source host"; + type empty; + } + } + case host-case { + leaf host-address { + description + "A single source host"; + type inet:ipv4-address; + } + leaf host { + description + "A single source host(DEPRECATED - use host-address)"; + status deprecated; + type ios-types:ipv4-host; + } + } + case fqdn-group-case { + leaf src-fqdn-group { + description + "Source FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf src-geo-group { + description + "Source geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case object-group-case { + leaf object-group { + description + "Source network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:network/ios-og:name"; + } + } + } + } + choice src-port-choice { + when "protocol != 'icmp'"; + case src-eq-case { + leaf src-eq { + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-eq-port2 { + type acl-port-type; + } + leaf src-eq-port3 { + type acl-port-type; + } + leaf src-eq-port4 { + type acl-port-type; + } + leaf src-eq-port5 { + type acl-port-type; + } + leaf src-eq-port6 { + type acl-port-type; + } + leaf src-eq-port7 { + type acl-port-type; + } + leaf src-eq-port8 { + type acl-port-type; + } + leaf src-eq-port9 { + type acl-port-type; + } + leaf src-eq-port10 { + type acl-port-type; + } + } + case src-gt-case { + leaf src-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case src-lt-case { + leaf src-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case src-neq-case { + leaf src-neq { + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-neq-port2 { + type acl-port-type; + } + leaf src-neq-port3 { + type acl-port-type; + } + leaf src-neq-port4 { + type acl-port-type; + } + leaf src-neq-port5 { + type acl-port-type; + } + leaf src-neq-port6 { + type acl-port-type; + } + leaf src-neq-port7 { + type acl-port-type; + } + leaf src-neq-port8 { + type acl-port-type; + } + leaf src-neq-port9 { + type acl-port-type; + } + leaf src-neq-port10 { + type acl-port-type; + } + } + case src-range-case { + leaf src-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf src-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + choice destination-choice { + case ipv4-prefix-case { + leaf dest-ipv4-address { + mandatory true; + type inet:ipv4-address; + } + leaf dest-mask { + description + "Destination wildcard bits"; + mandatory true; + type inet:ipv4-address; + } + } + case any-case { + leaf dst-any { + description + "Any destination host"; + type empty; + } + } + case host-case { + leaf dst-host-address { + description + "A single destination host"; + type inet:ipv4-address; + } + leaf dst-host { + description + "A single destination host(DEPRECATED - use dst-host-address)"; + status deprecated; + type ios-types:ipv4-host; + } + } + case fqdn-group-case { + leaf dst-fqdn-group { + description + "Destination FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf dst-geo-group { + description + "Destination geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case object-group-case { + leaf dst-object-group { + description + "Destination network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:network/ios-og:name"; + } + } + } + } + choice dst-port-choice { + when "protocol != 'icmp'"; + case dst-eq-case { + leaf dst-eq { + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-eq-port2 { + type acl-port-type; + } + leaf dst-eq-port3 { + type acl-port-type; + } + leaf dst-eq-port4 { + type acl-port-type; + } + leaf dst-eq-port5 { + type acl-port-type; + } + leaf dst-eq-port6 { + type acl-port-type; + } + leaf dst-eq-port7 { + type acl-port-type; + } + leaf dst-eq-port8 { + type acl-port-type; + } + leaf dst-eq-port9 { + type acl-port-type; + } + leaf dst-eq-port10 { + type acl-port-type; + } + } + case dst-gt-case { + leaf dst-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case dst-lt-case { + leaf dst-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case dst-neq-case { + leaf dst-neq { + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-neq-port2 { + type acl-port-type; + } + leaf dst-neq-port3 { + type acl-port-type; + } + leaf dst-neq-port4 { + type acl-port-type; + } + leaf dst-neq-port5 { + type acl-port-type; + } + leaf dst-neq-port6 { + type acl-port-type; + } + leaf dst-neq-port7 { + type acl-port-type; + } + leaf dst-neq-port8 { + type acl-port-type; + } + leaf dst-neq-port9 { + type acl-port-type; + } + leaf dst-neq-port10 { + type acl-port-type; + } + } + case dst-range-case { + leaf dst-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf dst-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping ipv6-acl-src-dst-addr-port-grouping { + choice source-choice { + case host-case { + leaf source-host { + type ios-types:ip-host; + } + } + case fqdn-group-case { + leaf source-fqdn-group { + description + "Source FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf source-geo-group { + description + "Source geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case address-case { + leaf source-address { + type inet:ipv6-address; + } + leaf source-wildcard-bits { + type inet:ipv6-address; + } + } + case prefix-case { + leaf source-prefix { + type ios-types:ipv6-prefix; + } + } + case object-group-case { + leaf source-object-group { + description + "Source IPv6 network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-network/ios-og:name"; + } + } + } + case any-case { + leaf any { + type empty; + } + } + } + choice src-port-choice { + case src-eq-case { + leaf src-eq { + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-eq-port2 { + type acl-port-type; + } + leaf src-eq-port3 { + type acl-port-type; + } + leaf src-eq-port4 { + type acl-port-type; + } + leaf src-eq-port5 { + type acl-port-type; + } + leaf src-eq-port6 { + type acl-port-type; + } + leaf src-eq-port7 { + type acl-port-type; + } + leaf src-eq-port8 { + type acl-port-type; + } + leaf src-eq-port9 { + type acl-port-type; + } + leaf src-eq-port10 { + type acl-port-type; + } + } + case src-gt-case { + leaf src-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case src-lt-case { + leaf src-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case src-neq-case { + leaf src-neq { + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-neq-port2 { + type acl-port-type; + } + leaf src-neq-port3 { + type acl-port-type; + } + leaf src-neq-port4 { + type acl-port-type; + } + leaf src-neq-port5 { + type acl-port-type; + } + leaf src-neq-port6 { + type acl-port-type; + } + leaf src-neq-port7 { + type acl-port-type; + } + leaf src-neq-port8 { + type acl-port-type; + } + leaf src-neq-port9 { + type acl-port-type; + } + leaf src-neq-port10 { + type acl-port-type; + } + } + case src-range-case { + leaf src-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf src-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + choice destination-choice { + case host-case { + leaf destination-host { + type ios-types:ip-host; + } + } + case fqdn-group-case { + leaf destination-fqdn-group { + description + "Destination FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf destination-geo-group { + description + "Destination geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case address-case { + leaf destination-address { + type inet:ipv6-address; + } + leaf destination-wildcard-bits { + type inet:ipv6-address; + } + } + case prefix-case { + leaf destination-prefix { + type ios-types:ipv6-prefix; + } + } + case object-group-case { + leaf destination-object-group { + description + "Destination IPv6 network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-network/ios-og:name"; + } + } + } + case any-case { + leaf destination-any { + type empty; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf dst-eq { + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-eq-port2 { + type acl-port-type; + } + leaf dst-eq-port3 { + type acl-port-type; + } + leaf dst-eq-port4 { + type acl-port-type; + } + leaf dst-eq-port5 { + type acl-port-type; + } + leaf dst-eq-port6 { + type acl-port-type; + } + leaf dst-eq-port7 { + type acl-port-type; + } + leaf dst-eq-port8 { + type acl-port-type; + } + leaf dst-eq-port9 { + type acl-port-type; + } + leaf dst-eq-port10 { + type acl-port-type; + } + } + case dst-gt-case { + leaf dst-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case dst-lt-case { + leaf dst-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case dst-neq-case { + leaf dst-neq { + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-neq-port2 { + type acl-port-type; + } + leaf dst-neq-port3 { + type acl-port-type; + } + leaf dst-neq-port4 { + type acl-port-type; + } + leaf dst-neq-port5 { + type acl-port-type; + } + leaf dst-neq-port6 { + type acl-port-type; + } + leaf dst-neq-port7 { + type acl-port-type; + } + leaf dst-neq-port8 { + type acl-port-type; + } + leaf dst-neq-port9 { + type acl-port-type; + } + leaf dst-neq-port10 { + type acl-port-type; + } + } + case dst-range-case { + leaf dst-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf dst-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping udp-src-multi-port-grouping { + leaf udp-src-port-operator { + type enumeration { + enum eq; + enum gt; + enum lt; + enum neq; + enum range; + } + } + leaf udp-src-port-1 { + description + "Match only packets on a given port number up to 10 ports"; + type ios-types:udp-port-type; + } + leaf udp-src-port-2 { + type ios-types:udp-port-type; + } + leaf udp-src-port-3 { + type ios-types:udp-port-type; + } + leaf udp-src-port-4 { + type ios-types:udp-port-type; + } + leaf udp-src-port-5 { + type ios-types:udp-port-type; + } + leaf udp-src-port-6 { + type ios-types:udp-port-type; + } + leaf udp-src-port-7 { + type ios-types:udp-port-type; + } + leaf udp-src-port-8 { + type ios-types:udp-port-type; + } + leaf udp-src-port-9 { + type ios-types:udp-port-type; + } + leaf udp-src-port-10 { + type ios-types:udp-port-type; + } + } + + grouping udp-dst-multi-port-grouping { + leaf udp-dst-port-operator { + type enumeration { + enum eq; + enum gt; + enum lt; + enum neq; + enum range; + } + } + leaf udp-dst-port-1 { + description + "Match only packets on a given port number up to 10 ports"; + type ios-types:udp-port-type; + } + leaf udp-dst-port-2 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-3 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-4 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-5 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-6 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-7 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-8 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-9 { + type ios-types:udp-port-type; + } + leaf udp-dst-port-10 { + type ios-types:udp-port-type; + } + } + + grouping tcp-src-multi-port-grouping { + leaf tcp-src-port-operator { + type enumeration { + enum eq; + enum gt; + enum lt; + enum neq; + enum range; + } + } + leaf tcp-src-port-1 { + description + "Match only packets on a given port number up to 10 ports"; + type ios-types:tcp-port-type; + } + leaf tcp-src-port-2 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-3 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-4 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-5 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-6 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-7 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-8 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-9 { + type ios-types:tcp-port-type; + } + leaf tcp-src-port-10 { + type ios-types:tcp-port-type; + } + } + + grouping tcp-dst-multi-port-grouping { + leaf tcp-dst-port-operator { + type enumeration { + enum eq; + enum gt; + enum lt; + enum neq; + enum range; + } + } + leaf tcp-dst-port-1 { + description + "Match only packets on a given port number up to 10 ports"; + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-2 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-3 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-4 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-5 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-6 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-7 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-8 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-9 { + type ios-types:tcp-port-type; + } + leaf tcp-dst-port-10 { + type ios-types:tcp-port-type; + } + } + + grouping ipv4-acl-src-addr-port-grouping { + choice source-choice { + case host-case { + leaf source-host { + status obsolete; + type ios-types:ip-host; + } + } + case address-case { + leaf source-address { + status obsolete; + type inet:ipv6-address; + } + leaf source-wildcard-bits { + status obsolete; + type inet:ipv6-address; + } + } + case prefix-case { + leaf source-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + status obsolete; + type empty; + } + } + } + choice src-port-choice { + case src-eq-case { + leaf src-eq { + description + "Match only packets on a given port number"; + type acl-port-type; + } + } + case src-gt-case { + leaf src-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case src-lt-case { + leaf src-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case src-neq-case { + leaf src-neq { + description + "Match only packets not on a given port number"; + type acl-port-type; + } + } + case src-range-case { + leaf src-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf src-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping ipv4-acl-dst-addr-port-grouping { + choice destination-choice { + case host-case { + leaf destination-host { + status obsolete; + type ios-types:ip-host; + } + } + case address-case { + leaf destination-address { + status obsolete; + type inet:ipv6-address; + } + leaf destination-wildcard-bits { + status obsolete; + type inet:ipv6-address; + } + } + case prefix-case { + leaf destination-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf destination-any { + status obsolete; + type empty; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf dst-eq { + description + "Match only packets on a given port number"; + type acl-port-type; + } + } + case dst-gt-case { + leaf dst-gt { + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case dst-lt-case { + leaf dst-lt { + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case dst-neq-case { + leaf dst-neq { + description + "Match only packets not on a given port number"; + type acl-port-type; + } + } + case dst-range-case { + leaf dst-range1 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf dst-range2 { + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping ipv4-fqdn-address-choice-grouping { + choice address-choice { + case ipv4-prefix-case { + leaf ipv4-address { + description + "Host ipv4 address"; + type inet:ipv4-address; + } + leaf mask { + description + "Host ipv4 mask"; + type inet:ipv4-address; + } + } + case any-case { + leaf any { + description + "Any host"; + type empty; + } + } + case host-case { + container host { + choice host-case { + case host-case { + leaf host-address { + description + "A single host"; + type inet:ipv4-address; + } + } + case dynamic-case { + leaf dynamic { + description + "FQDN of a single host"; + type string { + pattern '(([a-zA-Z0-9-]|[*])*\.)*([a-zA-Z0-9-]*).([a-zA-Z0-9-]*)'; + } + } + } + } + } + } + } + } + + grouping ipv6-fqdn-address-choice-grouping { + choice address-choice { + case address-case { + leaf address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf wildcard-bits { + description + "IPv6 wildcard-bits"; + type inet:ipv6-address; + } + } + case prefix-case { + leaf address-prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + description + "Any host"; + type empty; + } + } + case host-case { + container host { + choice host-case { + case host-case { + leaf host-address { + description + "A single host"; + type inet:ipv6-address; + } + } + case dynamic-case { + leaf dynamic { + description + "Dynamically resolved FQDN"; + type string { + pattern '(([a-zA-Z0-9-]|[*])*\.)*([a-zA-Z0-9-]*).([a-zA-Z0-9-]*)'; + } + } + } + } + } + } + } + } + + grouping acl-role-src-dst-grouping { + container src { + description + "Source port conditions"; + uses ipv4-acl-src-addr-port-grouping; + container dst { + status deprecated; + description + "Destination port conditions"; + uses ipv4-acl-dst-addr-port-grouping-deprecated; + } + } + container dst { + description + "Destination port conditions"; + uses ipv4-acl-dst-addr-port-grouping; + } + } + + grouping acl-remark-grouping { + leaf remark { + description + "Access list entry comment"; + type string { + length "1..100"; + } + } + } + + grouping acl-evaluate-grouping { + leaf evaluate { + description + "Access list to evaluate"; + if-feature "ios-features:reflexive-acl"; + type string { + pattern '[a-zA-Z].*'; + } + } + } + + grouping ipv6-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + description + "Sequence number for this entry"; + type uint64 { + range "1..4294967294"; + } + } + choice ace-rule-remark-choice { + case ace-rule-case { + container ace-rule { + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf protocol { + type union { + type uint8 { + range "0..255"; + } + type enumeration { + enum ahp; + enum esp; + enum hbh; + enum icmp; + enum ipv6; + enum pcp; + enum sctp; + enum tcp; + enum udp; + enum object-group; + } + } + } + leaf object-group { + description + "Service object group name"; + when "../protocol = 'object-group'"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-service/ios-og:name"; + } + } + uses ipv6-acl-src-dst-addr-port-grouping; + uses acl-tcp-common-match; + uses ipv6-acl-match-common-attribute; + uses ipv6-acl-icmp-match; + } + } + case remark-case { + uses acl-remark-grouping; + } + } + } + } + + grouping ipv6-fqdn-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + description + "Sequence number for this entry"; + type uint64 { + range "1..32767"; + } + } + choice ace-rule-remark-choice { + case ace-rule-case { + container ace-rule { + leaf action { + description + "Forward or reject matching packets"; + type enumeration { + enum deny; + enum permit; + } + } + choice protocol-choice { + case icmp-case { + leaf icmp { + description + "ICMP v6 protocol"; + type empty; + } + container icmp-src-address { + description + "Source IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container icmp-dst-address { + description + "Destination IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + } + case other-protocol-case { + leaf other-protocol { + description + "Other protocols"; + type union { + type uint8 { + range "1..5|7..16|18..49|52..57|59..107|109..131|133..255"; + } + type enumeration { + enum ahp; + enum esp; + enum hbh; + enum ipv6; + enum pcp; + } + } + } + container src-address { + description + "Source IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container dst-address { + description + "Destination IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + } + case udp-case { + leaf udp { + description + "UDP protocol"; + type empty; + } + container udp-src-address { + description + "Source IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container udp-src-port { + description + "Source UDP Port"; + uses udp-port-choice-grouping; + } + container udp-dst-address { + description + "Destination IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container udp-dst-port { + description + "Source UDP Port"; + uses udp-port-choice-grouping; + } + } + case sctp-case { + leaf sctp { + description + "SCTP protocol"; + type empty; + } + container sctp-src-address { + description + "Source IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container sctp-dst-address { + description + "Destination IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + } + case tcp-case { + leaf tcp { + description + "TCP protocol"; + type empty; + } + container tcp-src-address { + description + "Source IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container tcp-src-port { + description + "Source TCP Port"; + uses tcp-port-choice-grouping; + } + container tcp-dst-address { + description + "Destination IPv6 address"; + uses ipv6-fqdn-address-choice-grouping; + } + container tcp-dst-port { + description + "Destination TCP Port"; + uses tcp-port-choice-grouping; + } + } + } + uses ipv6-acl-match-common-attribute-new; + } + } + case remark-case { + uses acl-remark-grouping; + } + } + } + } + + grouping ipv6-role-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + description + "Sequence number for this entry"; + type uint64 { + range "1..4294967294"; + } + } + choice ace-rule-remark-choice { + case ace-rule-case { + container ace-rule { + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + choice protocol-choice { + case tcp-case { + leaf tcp { + type empty; + } + container tcp-src { + uses tcp-port-choice-grouping; + } + container tcp-dst { + uses tcp-port-choice-grouping; + } + uses acl-tcp-common-match-new { + refine "established"; + } + } + case sctp-case { + leaf sctp { + type empty; + } + } + case udp-case { + leaf udp { + type empty; + } + container udp-src { + uses udp-port-choice-grouping; + } + container udp-dst { + uses udp-port-choice-grouping; + } + } + case icmp-case { + leaf icmp { + type empty; + } + } + case other-protocol-case { + leaf other-protocol { + type union { + type uint8 { + range "1..5|7..16|18..49|52..57|59..107|109..131|133..255"; + } + type enumeration { + enum ahp; + enum esp; + enum hbh; + enum ipv6; + enum pcp; + } + } + } + } + } + uses ipv6-acl-match-common-attribute-new; + } + } + case remark-case { + uses acl-remark-grouping; + } + } + } + } + + grouping ipv4-std-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + type uint64 { + range "1..2147483647"; + } + } + choice deny-permit { + container deny { + description + "Specify packets to reject"; + uses ipv4-std-ace-grouping; + } + container permit { + description + "Specify packets to forward"; + uses ipv4-std-ace-grouping; + } + } + uses acl-remark-grouping; + } + } + + grouping ipv4-ext-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + type uint64 { + range "1..2147483647"; + } + } + uses acl-remark-grouping; + container ace-rule { + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf protocol { + type union { + type uint8 { + range "0..255"; + } + type enumeration { + enum ahp; + enum eigrp; + enum esp; + enum gre; + enum icmp; + enum igmp; + enum ip; + enum ipinip; + enum nos; + enum object-group; + enum ospf; + enum pcp; + enum pim; + enum tcp; + enum udp; + } + } + } + leaf object-group-str { + description + "Service object group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:service/ios-og:name"; + } + } + uses ipv4-acl-src-dst-addr-port-grouping; + uses acl-tcp-common-match; + uses ipv4-acl-icmp-match; + uses ipv4-acl-match-common-attribute; + uses ipv4-acl-tcp-match; + uses acl-reflect-grouping; + } + uses acl-evaluate-grouping; + } + } + + grouping ipv4-fqdn-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + description + "Sequence number for this entry"; + type uint64 { + range "1..32767"; + } + } + container ace-rule { + leaf action { + description + "Specifying packets to forward/reject"; + type enumeration { + enum deny; + enum permit; + } + } + choice protocol-choice { + case icmp-case { + leaf icmp { + description + "ICMP protocol"; + type empty; + } + container icmp-src-address { + uses ipv4-fqdn-address-choice-grouping; + } + container icmp-dst-address { + uses ipv4-fqdn-address-choice-grouping; + } + } + case igmp-case { + leaf igmp { + description + "IGMP protocol"; + type empty; + } + container igmp-src-address { + uses ipv4-fqdn-address-choice-grouping; + } + container igmp-dst-address { + uses ipv4-fqdn-address-choice-grouping; + } + } + case other-protocol-case { + leaf other-protocol { + description + "other protocols"; + type union { + type uint8 { + range "0|3|5|7..16|18..46|48|49|52..87|90..93|95..102|104..107|109..255"; + } + type enumeration { + enum ipinip { + value 4; + } + enum gre { + value 47; + } + enum esp { + value 50; + } + enum ahp { + value 51; + } + enum eigrp { + value 88; + } + enum ospf { + value 89; + } + enum nos { + value 94; + } + enum pim { + value 103; + } + enum pcp { + value 108; + } + enum ip { + value 256; + } + } + } + } + container src-address { + uses ipv4-fqdn-address-choice-grouping; + } + container dst-address { + uses ipv4-fqdn-address-choice-grouping; + } + } + case udp-case { + leaf udp { + description + "UDP protocol"; + type empty; + } + container udp-src-address { + uses ipv4-fqdn-address-choice-grouping; + } + uses udp-src-multi-port-grouping; + container udp-dst-address { + uses ipv4-fqdn-address-choice-grouping; + } + uses udp-dst-multi-port-grouping; + } + case tcp-case { + leaf tcp { + description + "TCP protocol"; + type empty; + } + container tcp-src-address { + uses ipv4-fqdn-address-choice-grouping; + } + uses tcp-src-multi-port-grouping; + container tcp-dst-address { + uses ipv4-fqdn-address-choice-grouping; + } + uses tcp-dst-multi-port-grouping; + } + } + uses ipv4-acl-match-common-attribute-new; + } + uses acl-remark-grouping; + } + } + + grouping ipv4-role-acl-grouping { + list access-list-seq-rule { + key "sequence"; + leaf sequence { + description + "Sequence number for this entry"; + type uint64 { + range "1..2147483647"; + } + } + container ace-rule { + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf protocol { + type union { + type uint8 { + range "0..255"; + } + type enumeration { + enum ahp; + enum eigrp; + enum esp; + enum gre; + enum icmp; + enum igmp; + enum ip; + enum ipinip; + enum nos; + enum object-group; + enum ospf; + enum pcp; + enum pim; + enum tcp; + enum udp; + } + } + } + leaf object-group-str { + status obsolete; + description + "Service object group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:service/ios-og:name"; + } + } + uses ipv4-acl-icmp-match; + uses acl-role-src-dst-grouping; + uses acl-tcp-common-match; + uses ipv4-acl-tcp-match; + uses ipv4-acl-match-common-attribute; + } + uses acl-remark-grouping; + } + } + + grouping config-ipv4-acl-grouping { + list standard { + description + "Standard Access List"; + key "name"; + leaf name { + type ios-types:std-acl-type; + } + uses ipv4-std-acl-grouping; + container default { + description + "Set a command to its defaults"; + uses ipv4-std-acl-grouping; + } + } + list role-based { + description + "Role-based Access List"; + key "name"; + leaf name { + type string; + } + uses ipv4-role-acl-grouping; + container default { + description + "Set a command to its defaults"; + uses ipv4-role-acl-grouping; + } + } + list extended { + description + "Extended Access List"; + key "name"; + leaf name { + type ios-types:ext-acl-type; + } + uses ipv4-ext-acl-grouping; + container default { + description + "Set a command to its defaults"; + uses ipv4-ext-acl-grouping; + } + } + list fqdn { + description + "FQDN Access List"; + if-feature "ios-features:fqdn-acl"; + key "name"; + leaf name { + type string { + length "1..200"; + pattern '[a-zA-Z].*'; + } + } + uses ipv4-fqdn-acl-grouping; + } + container helper { + description + "Access List acts on helper-address"; + leaf egress { + description + "Outbound"; + type empty; + } + leaf check { + description + "Enable filtering on helper-address destined"; + type empty; + } + } + container log-update { + description + "Control access list log updates"; + leaf threshold { + description + "Set access-list logging threshold"; + type uint64 { + range "0..2147483647"; + } + } + } + container logging { + description + "Control access list logging"; + leaf hash-generation { + description + "Enable syslog hash code generation"; + type empty; + } + leaf interval { + description + "Set access list logging interval"; + type uint64 { + range "0..2147483647"; + } + } + } + leaf match-local-traffic { + description + "Enable ACL matching for locally generated traffic"; + type empty; + } + leaf persistent { + description + "enable persistency across reload"; + type empty; + } + container resequence { + description + "Resequence Access List"; + leaf numbers { + type union { + type ios-types:std-acl-type; + type ios-types:ext-acl-type; + } + } + leaf start-seq-no { + type uint64 { + range "1..2147483647"; + } + } + leaf step-seq-no { + type uint64 { + range "1..2147483647"; + } + } + } + } + + grouping config-mgmt-traffic-grouping { + container mgmt-traffic { + description + "IOS mgmt-traffic control ipv4"; + container control { + container ipv4 { + presence "true"; + leaf address { + description + "ipv4 address"; + type inet:ipv4-address; + } + leaf-list protocol { + description + "List of protocols"; + type enumeration { + enum http; + enum https; + enum netconf; + enum scp; + enum snmp; + enum ssh; + enum telnet; + } + } + leaf-list interface { + description + "List of interface"; + must '/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + } + } + } + } + + grouping config-ipv4-reflexive-grouping { + leaf timeout { + description + "Timeout value"; + type uint64 { + range "30..2147483"; + } + default "300"; + } + } + + grouping config-ipv6-acl-grouping { + list named-acl { + key "name"; + leaf name { + type string; + } + uses ipv6-acl-grouping; + container default { + status deprecated; + description + "Set a command to its defaults"; + uses ipv6-acl-grouping-deprecated; + } + } + list role-based { + key "name"; + leaf name { + type string; + } + uses ipv6-role-acl-grouping; + } + list named-rb-acl { + status deprecated; + key "name"; + leaf name { + status deprecated; + type string; + } + leaf role-based { + status deprecated; + description + "Role-based Access List"; + type empty; + } + uses ipv6-acl-grouping-deprecated; + container default { + status deprecated; + description + "Set a command to its defaults"; + uses ipv6-acl-grouping-deprecated; + } + } + list fqdn { + description + "FQDN Access List"; + if-feature "ios-features:fqdn-acl"; + key "name"; + leaf name { + description + "IPv6 FQDN ACL name"; + type string { + length "1..200"; + pattern '[a-zA-Z].*'; + } + } + uses ipv6-fqdn-acl-grouping; + } + container log-update { + description + "Control access list log updates"; + leaf threshold { + description + "Set access-list logging threshold"; + type uint64 { + range "0..2147483647"; + } + } + } + leaf match-local-traffic { + description + "Match locally-generated traffic"; + type empty; + } + } + + grouping config-access-list-grouping { + list access-list-standard-range { + key "listnumber"; + leaf listnumber { + type uint16 { + range "1..99"; + } + } + list std-access-list-rule { + key "rule"; + leaf rule { + type string; + } + } + container permit { + description + "Specify packets to forward"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "Address to match"; + type inet:host; + } + leaf wildcard { + description + "Wildcard bits"; + type inet:ipv4-address; + } + leaf log { + description + "Log matches against this entry"; + type empty; + } + } + } + } + list access-list-extended-range { + key "listnumber"; + leaf listnumber { + type uint16 { + range "100..199"; + } + } + list ext-access-list-rule { + key "rule"; + leaf rule { + type string; + } + } + } + container hardware { + container capture { + leaf mode { + type enumeration { + enum vlan; + } + } + } + } + list access-list-expanded-range { + key "IP-extended-range"; + leaf IP-extended-range { + description + "IP extended access list (expanded range)"; + type uint16 { + range "2000..2699"; + } + } + container permit { + description + "Specify packets to forward"; + uses access-list-ip-grouping; + } + container deny { + description + "Specify packets to reject"; + uses access-list-ip-grouping; + } + } + } + + grouping access-mac-any-cos-vlan-grouping { + list cos { + key "cos-value"; + leaf cos-value { + description + "CoS value"; + type uint16 { + range "0..7"; + } + } + list vlan { + key "vlan-value"; + leaf vlan-value { + description + "Vlan Id"; + type uint16 { + range "1..4095"; + } + } + } + } + list vlan { + key "vlan-value"; + leaf vlan-value { + description + "Vlan Id"; + type uint16 { + range "1..4095"; + } + } + } + } + + grouping access-mac-protocol-options-grouping { + list EtherType { + description + "EtherType"; + key "EtherType-options"; + leaf EtherType-options { + type enumeration { + enum aarp; + enum amber; + enum appletalk; + enum dec-spanning; + enum decnet-iv; + enum diagnostic; + enum dsm; + enum etype-6000; + enum etype-8042; + enum lat; + enum lavc-sca; + enum mop-console; + enum mop-dump; + enum msdos; + enum mumps; + enum netbios; + enum vines-echo; + enum vines-ip; + } + } + uses access-mac-any-cos-vlan-grouping; + } + list protocol-family { + description + "An Ethernet protocol family"; + key "protocol-family-options"; + leaf protocol-family-options { + description + "An Ethernet protocol family options"; + type enumeration { + enum appletalk; + enum arp-non-ipv4; + enum decnet; + enum ipv6; + enum ipx; + enum rarp-ipv4; + enum rarp-non-ipv4; + enum vines; + enum xns; + } + } + uses access-mac-any-cos-vlan-grouping; + } + list arbitrary-ethertype { + key "ethertype ethertype-mask"; + leaf ethertype { + description + "An arbitrary EtherType in decimal or hex"; + type uint64 { + range "0..65535"; + } + } + leaf ethertype-mask { + description + "An arbitrary EtherType mask in decimal or hex"; + type uint64 { + range "0..65535"; + } + } + uses access-mac-any-cos-vlan-grouping; + } + list lsap { + key "lsap lsap-mask"; + leaf lsap { + description + "LSAP value"; + type uint64 { + range "0..65535"; + } + } + leaf lsap-mask { + description + "LSAP mask in decimal, hex, or octal"; + type uint64 { + range "0..65535"; + } + } + uses access-mac-any-cos-vlan-grouping; + } + uses access-mac-any-cos-vlan-grouping; + } + + grouping source-mac-address-grouping { + leaf source-mac-address { + description + "48-bit source MAC address"; + type string { + pattern '([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4})'; + } + } + leaf source-mac-address-mask { + description + "48-bit source MAC address mask"; + type string { + pattern '([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4})'; + } + } + } + + grouping source-mac-address-options-grouping { + list mac-address { + key "source-mac-address source-mac-address-mask"; + uses source-mac-address-grouping; + uses access-mac-protocol-options-grouping; + } + } + + grouping source-mac-host-options-grouping { + container host { + list mac-address { + key "source-mac-address"; + leaf source-mac-address { + description + "48-bit source MAC address"; + type string { + pattern '([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4})'; + } + } + uses access-mac-protocol-options-grouping; + } + } + } + + grouping access-any-grouping { + container any { + description + "any source MAC address"; + uses source-mac-address-options-grouping; + container any { + presence "true"; + description + "any destination MAC address"; + uses access-mac-protocol-options-grouping; + } + uses source-mac-host-options-grouping; + } + } + + grouping access-mac-grouping { + list mac-address { + key "source-mac-address source-mac-address-mask"; + uses source-mac-address-grouping; + list mac-address { + key "source-mac-address source-mac-address-mask"; + uses source-mac-address-grouping; + uses access-mac-protocol-options-grouping; + } + container any { + presence "true"; + uses access-mac-protocol-options-grouping; + } + uses source-mac-host-options-grouping; + } + } + + grouping access-host-grouping { + container host { + list mac-address { + key "source-mac-address"; + leaf source-mac-address { + description + "48-bit source MAC address"; + type string { + pattern '([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4})'; + } + } + uses source-mac-address-options-grouping; + container any { + presence "true"; + uses access-mac-protocol-options-grouping; + } + uses source-mac-host-options-grouping; + } + } + } + + grouping config-mac-access-list-grouping { + container access-list { + description + "Named access-list"; + list extended { + description + "Extended Access List"; + key "id"; + leaf id { + type string; + } + list entry-v2 { + ordered-by user; + key "action values"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf values { + type string { + pattern '(any|(([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4}|host) [0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4})) (any|(([0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4}|host) [0-9a-fA-F]{4}[.][0-9a-fA-F]{4}[.][0-9a-fA-F]{4}))( (0[xX]0|0[xX][1-9a-fA-F][0-9a-fA-F]{0,3}) (0[xX]0|0[xX][1-9a-fA-F][0-9a-fA-F]{0,3}))?'; + } + } + } + list entry { + status deprecated; + key "action values"; + leaf action { + status deprecated; + type enumeration { + enum deny; + enum permit; + } + } + leaf values { + status deprecated; + type string { + pattern '(any|(([0-9a-f]{4}[.][0-9a-f]{4}[.][0-9a-f]{4}|host) [0-9a-f]{4}[.][0-9a-f]{4}[.][0-9a-f]{4})) (any|(([0-9a-f]{4}[.][0-9a-f]{4}[.][0-9a-f]{4}|host) [0-9a-f]{4}[.][0-9a-f]{4}[.][0-9a-f]{4}))( (0x0|0x[1-9A-F][0-9A-F]{0,3}) (0x0|0x[1-9A-F][0-9A-F]{0,3}))?'; + } + } + } + } + } + } + + grouping config-access-list-limit-grouping { + container access-list { + description + "the max configurable acl limit"; + leaf acl-limit { + description + "Max ACL Limit"; + type uint64 { + range "1..65535"; + } + } + } + } + + grouping ipv4-acl-dst-addr-port-grouping-deprecated { + choice destination-choice { + case host-case { + leaf destination-host { + status obsolete; + type ios-types:ip-host; + } + } + case address-case { + leaf destination-address { + status obsolete; + type inet:ipv6-address; + } + leaf destination-wildcard-bits { + status obsolete; + type inet:ipv6-address; + } + } + case prefix-case { + leaf destination-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf destination-any { + status obsolete; + type empty; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf dst-eq { + status deprecated; + description + "Match only packets on a given port number"; + type acl-port-type; + } + } + case dst-gt-case { + leaf dst-gt { + status deprecated; + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case dst-lt-case { + leaf dst-lt { + status deprecated; + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case dst-neq-case { + leaf dst-neq { + status deprecated; + description + "Match only packets not on a given port number"; + type acl-port-type; + } + } + case dst-range-case { + leaf dst-range1 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf dst-range2 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping ipv6-acl-grouping-deprecated { + list access-list-seq-rule { + status deprecated; + key "sequence"; + leaf sequence { + status deprecated; + description + "Sequence number for this entry"; + type uint64 { + range "1..4294967294"; + } + } + choice ace-rule-remark-choice { + case ace-rule-case { + container ace-rule { + status deprecated; + leaf action { + status deprecated; + type enumeration { + enum deny; + enum permit; + } + } + leaf protocol { + status deprecated; + type union { + type uint8 { + range "0..255"; + } + type enumeration { + enum ahp; + enum esp; + enum hbh; + enum icmp; + enum ipv6; + enum pcp; + enum sctp; + enum tcp; + enum udp; + } + } + } + uses ipv6-acl-src-dst-addr-port-grouping-deprecated; + uses acl-tcp-common-match-deprecated; + uses ipv6-acl-match-common-attribute-deprecated; + uses ipv6-acl-icmp-match-deprecated; + } + } + case remark-case { + uses acl-remark-grouping-deprecated; + } + } + } + } + + grouping ipv6-acl-src-dst-addr-port-grouping-deprecated { + choice source-choice { + case host-case { + leaf source-host { + status deprecated; + type ios-types:ip-host; + } + } + case fqdn-group-case { + leaf source-fqdn-group { + status deprecated; + description + "Source FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf source-geo-group { + status deprecated; + description + "Source geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case address-case { + leaf source-address { + status deprecated; + type inet:ipv6-address; + } + leaf source-wildcard-bits { + status deprecated; + type inet:ipv6-address; + } + } + case prefix-case { + leaf source-prefix { + status deprecated; + type ios-types:ipv6-prefix; + } + } + case object-group-case { + leaf source-object-group { + status deprecated; + description + "Source IPv6 network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-network/ios-og:name"; + } + } + } + case any-case { + leaf any { + status deprecated; + type empty; + } + } + } + choice src-port-choice { + case src-eq-case { + leaf src-eq { + status deprecated; + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-eq-port2 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port3 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port4 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port5 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port6 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port7 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port8 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port9 { + status deprecated; + type acl-port-type; + } + leaf src-eq-port10 { + status deprecated; + type acl-port-type; + } + } + case src-gt-case { + leaf src-gt { + status deprecated; + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case src-lt-case { + leaf src-lt { + status deprecated; + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case src-neq-case { + leaf src-neq { + status deprecated; + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf src-neq-port2 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port3 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port4 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port5 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port6 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port7 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port8 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port9 { + status deprecated; + type acl-port-type; + } + leaf src-neq-port10 { + status deprecated; + type acl-port-type; + } + } + case src-range-case { + leaf src-range1 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf src-range2 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + choice destination-choice { + case host-case { + leaf destination-host { + status deprecated; + type ios-types:ip-host; + } + } + case fqdn-group-case { + leaf destination-fqdn-group { + status deprecated; + description + "Destination FQDN group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + case geo-group-case { + leaf destination-geo-group { + status deprecated; + description + "Destination geolocation group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + case address-case { + leaf destination-address { + status deprecated; + type inet:ipv6-address; + } + leaf destination-wildcard-bits { + status deprecated; + type inet:ipv6-address; + } + } + case prefix-case { + leaf destination-prefix { + status deprecated; + type ios-types:ipv6-prefix; + } + } + case object-group-case { + leaf destination-object-group { + status deprecated; + description + "Destination IPv6 network object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-network/ios-og:name"; + } + } + } + case any-case { + leaf destination-any { + status deprecated; + type empty; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf dst-eq { + status deprecated; + description + "Match only packets on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-eq-port2 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port3 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port4 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port5 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port6 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port7 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port8 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port9 { + status deprecated; + type acl-port-type; + } + leaf dst-eq-port10 { + status deprecated; + type acl-port-type; + } + } + case dst-gt-case { + leaf dst-gt { + status deprecated; + description + "Match only packets with a greater port number"; + type acl-port-type; + } + } + case dst-lt-case { + leaf dst-lt { + status deprecated; + description + "Match only packets with a lower port number"; + type acl-port-type; + } + } + case dst-neq-case { + leaf dst-neq { + status deprecated; + description + "Match only packets not on a given port number up to 10 ports"; + type acl-port-type; + } + leaf dst-neq-port2 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port3 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port4 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port5 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port6 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port7 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port8 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port9 { + status deprecated; + type acl-port-type; + } + leaf dst-neq-port10 { + status deprecated; + type acl-port-type; + } + } + case dst-range-case { + leaf dst-range1 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + leaf dst-range2 { + status deprecated; + description + "Match only packets in the range of port numbers"; + type acl-port-type; + } + } + } + } + + grouping acl-tcp-common-match-deprecated { + leaf ack { + status deprecated; + description + "Match on the ACK bit"; + type empty; + } + leaf fin { + status deprecated; + description + "Match on the FIN bit"; + type empty; + } + leaf psh { + status deprecated; + description + "Match on the PSH bit"; + type empty; + } + leaf rst { + status deprecated; + description + "Match on the RST bit"; + type empty; + } + leaf syn { + status deprecated; + description + "Match on the SYN bit"; + type empty; + } + leaf urg { + status deprecated; + description + "Match on the URG bit"; + type empty; + } + leaf established { + status deprecated; + description + "Match established connections"; + type empty; + } + } + + grouping ipv6-acl-icmp-match-deprecated { + choice icmp_choice { + case msg-type-code { + leaf msg-type-case { + status deprecated; + type uint8; + } + leaf msg-code { + status deprecated; + type uint8; + } + } + case named-msg-type-case { + leaf named-msg-type { + status deprecated; + type enumeration { + enum beyond-scope; + enum destination-unreachable; + enum dhaad-reply; + enum dhaad-request; + enum echo-reply; + enum echo-request; + enum header; + enum hop-limit; + enum mld-query; + enum mld-reduction; + enum mld-report; + enum mpd-advertisement; + enum mpd-solicitation; + enum nd-na; + enum nd-ns; + enum next-header; + enum no-admin; + enum no-route; + enum packet-too-big; + enum parameter-option; + enum parameter-problem; + enum port-unreachable; + enum reassembly-timeout; + enum redirect; + enum reject-route; + enum renum-command; + enum renum-result; + enum renum-seq-number; + enum router-advertisement; + enum router-renumbering; + enum router-solicitation; + enum source-policy; + enum time-exceeded; + enum unreachable; + } + } + } + } + } + + grouping ipv6-acl-match-common-attribute-deprecated { + leaf auth { + status deprecated; + description + "Match on authentication header"; + type empty; + } + leaf dest-option { + status deprecated; + description + "Destination Option header (all types)"; + type empty; + } + leaf dscp { + status deprecated; + description + "Match packets with given dscp value"; + type ios-types:dscp-type; + } + leaf flow-label { + status deprecated; + description + "Flow label"; + type uint32 { + range "0..1048575"; + } + } + leaf fragments { + status deprecated; + description + "Check non-initial fragments"; + type empty; + } + leaf hbh { + status deprecated; + description + "Match on hop-by-hop option"; + type empty; + } + leaf log { + status deprecated; + description + "Log matches against this entry"; + type empty; + } + leaf log-input { + status deprecated; + description + "Log matches against this entry, including input"; + type empty; + } + leaf mobility { + status deprecated; + description + "Mobility header (all types)"; + type empty; + } + leaf mobility-type { + status deprecated; + description + "Mobility header with type"; + type ios-types:mobility-type; + } + leaf routing { + status deprecated; + description + "Routing header (all types)"; + type empty; + } + leaf routing-type { + status deprecated; + description + "Routing header with type"; + type uint8; + } + leaf time-range { + status deprecated; + description + "Specify a time-range"; + type string; + } + } + + grouping acl-remark-grouping-deprecated { + leaf remark { + status deprecated; + description + "Access list entry comment"; + type string { + length "1..100"; + } + } + } + + augment "/ios:native/ios:mac" { + uses config-mac-access-list-grouping; + } + + augment "/ios:native/ios:ip/ios:access-list" { + uses config-ipv4-acl-grouping; + } + + augment "/ios:native/ios:ip/ios:reflexive-list" { + uses config-ipv4-reflexive-grouping; + } + + augment "/ios:native" { + uses config-mgmt-traffic-grouping { + if-feature "ios-features:mtc-acl"; + } + } + + augment "/ios:native/ios:ipv6/ios:access-list" { + uses config-ipv6-acl-grouping; + } + + augment "/ios:native" { + uses config-access-list-limit-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-adsl.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-adsl.yang new file mode 100644 index 000000000..1cf58a8d9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-adsl.yang @@ -0,0 +1,279 @@ +module Cisco-IOS-XE-adsl { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-adsl"; + prefix ios-adsl; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-controller { + prefix ios-ctrl; + } + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native ADSL (Asymmetric Digital Subscriber Line) Yang model + to support Titan DSL controller commands. + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2022-03-01 { + description + "- Add Annex-B support"; + } + revision 2021-07-01 { + description + "- Add rx-padding node"; + } + revision 2020-08-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping adsl-pvc-grouping { + container carrier-set { + description + "Set carrier tonal frequency value"; + presence "true"; + leaf carrier-set-values { + description + "Carrier-set values"; + type enumeration { + enum a43 { + description + "Carrier set A43"; + } + enum a43c { + description + "Carrier set A43C"; + } + enum b43 { + description + "Carrier set B43"; + } + enum v43 { + description + "Carrier set V43"; + } + } + } + } + container capability { + description + "Set annex specification"; + presence "true"; + leaf capability-values { + description + "Capability values"; + type enumeration { + enum annex-b { + description + "Annex-B Support"; + } + enum annex-j { + description + "Annex-J Support"; + } + } + } + } + leaf mac-address { + description + "Set DSL SFP MAC address"; + type ios-types:cisco-mac-address-type; + } + leaf rx-padding { + description + "Enable padding of received packets"; + type boolean; + default "false"; + } + list adsl-pvc { + description + "Configure ADSL PVC (Permanent Virtual Circuit) parameters"; + key "vpi-vci"; + leaf vpi-vci { + description + "Enter VPI/VCI value (slash required)"; + type string; + } + leaf bridge-dot1q { + description + "802.1Q VLAN ID to PVC mapping"; + type uint16 { + range "1..4094"; + } + } + leaf encapsulation { + description + "Configure ADSL PVC Encapsulation"; + type enumeration { + enum llcsnap { + description + "LLC/SNAP Encapsulation"; + } + enum vcmux { + description + "VCMux Encapsulation"; + } + } + } + container pvc-qos { + description + "Configure PVC QoS parameters"; + choice pvc-qos-choice { + case cbr { + container cbr { + description + "Configure Constant Bit Rate (CBR) Service"; + leaf pcr { + description + "PCR (Peak Cell Rate)"; + type uint16 { + range "0..5500"; + } + } + } + } + case ubr { + container ubr { + description + "Configure Unspecified Bit Rate (UBR) Service"; + leaf pcr { + description + "PCR (Peak Cell Rate)"; + type uint16 { + range "0..5500"; + } + } + } + } + case vbr-nrt { + container vbr-nrt { + description + "Configure Non Real-time Variable Bit Rate Service"; + leaf pcr { + description + "PCR (Peak Cell Rate)"; + type uint16 { + range "0..5500"; + } + } + leaf scr { + description + "SCR (Sustainable Cell Rate)"; + when '../pcr'; + must 'current() <= ../pcr' { + error-message "Please ensure pcr >= scr for vbr-nrt"; + } + type uint16 { + range "0..5500"; + } + } + } + } + case vbr-rt { + container vbr-rt { + description + "Configure Real-time Variable Bit Rate Service"; + leaf pcr { + description + "PCR (Peak Cell Rate)"; + type uint16 { + range "0..5500"; + } + } + leaf scr { + description + "SCR (Sustainable Cell Rate)"; + when '../pcr'; + must 'current() <= ../pcr' { + error-message "Please ensure pcr >= scr for vbr-rt"; + } + type uint16 { + range "0..5500"; + } + } + } + } + } + } + leaf vlanid-rx { + description + "PVC VLAN Receive ID"; + type uint16 { + range "1..4094"; + } + } + leaf vlanid-tx { + description + "PVC VLAN Transmit ID"; + type uint16 { + range "1..4094"; + } + } + leaf vlanop-rx { + description + "PVC VLAN Receive ID Operation"; + type enumeration { + enum pass-through { + description + "Pass-through VLAN ID Operation"; + } + enum remove { + description + "Remove VLAN ID Operation"; + } + enum replace { + description + "Replace VLAN ID Operation (default)"; + } + } + } + leaf vlanop-tx { + description + "PVC VLAN Transmit ID Operation"; + type enumeration { + enum pass-through { + description + "Pass-through VLAN ID Operation"; + } + enum remove { + description + "Remove VLAN ID Operation"; + } + enum replace { + description + "Replace VLAN ID Operation (default)"; + } + } + } + } + } + + augment "/ios:native/ios:controller/ios-ctrl:VDSL" { + uses adsl-pvc-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-alarm-profile.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-alarm-profile.yang new file mode 100644 index 000000000..c5db6d3a4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-alarm-profile.yang @@ -0,0 +1,447 @@ +module Cisco-IOS-XE-alarm-profile { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-alarm-profile"; + prefix ios-ap; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Alarm Profile Yang model. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated default value for alarm-profile key-leaf, + - Supporting config model for notifies, syslog and alarm for interface failure"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "- Alarm Profile config yang model supports chassis profile, IM profile + and ethernet port profile + - Changed the model structure from alarm list to container. Fixed the secondary-admin-state with cases + - Fixed Sync issue on Alarm Subtypes + - Added default value for secondary admin state and few minor changes"; + cisco-semver:module-version "1.0.0"; + } + + grouping alarm-config-grouping { + container alarm-config { + leaf ains { + type empty; + } + container alarm { + container ds1 { + presence "true"; + container ds1-ais { + uses alarm-severity-suppress-grouping; + } + container ds1-bert-mt-alarm { + uses alarm-severity-suppress-grouping; + } + container ds1-lof { + uses alarm-severity-suppress-grouping; + } + container ds1-los { + uses alarm-severity-suppress-grouping; + } + container ds1-rai { + uses alarm-severity-suppress-grouping; + } + } + container ds3 { + presence "true"; + container ds3-bert-mt-alarm { + uses alarm-severity-suppress-grouping; + } + container ds3-ds1-ais { + uses alarm-severity-suppress-grouping; + } + container ds3-ds1-los { + uses alarm-severity-suppress-grouping; + } + container ds3-ds1-oof { + uses alarm-severity-suppress-grouping; + } + container ds3-ds1-rai { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-ais { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-lof { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-los { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-rai { + uses alarm-severity-suppress-grouping; + } + } + container gig { + presence "true"; + container ethernet-port-admin-down { + uses alarm-severity-suppress-grouping; + } + container ethernet-port-link-down { + uses alarm-severity-suppress-grouping; + } + container ethernet-port-not-configured { + uses alarm-severity-suppress-grouping; + } + container lof { + uses alarm-severity-suppress-grouping; + } + container lom { + uses alarm-severity-suppress-grouping; + } + container los { + uses alarm-severity-suppress-grouping; + } + container odu-ais { + uses alarm-severity-suppress-grouping; + } + container odu-bdi { + uses alarm-severity-suppress-grouping; + } + container odu-bip { + uses alarm-severity-suppress-grouping; + } + container odu-lck { + uses alarm-severity-suppress-grouping; + } + container odu-oci { + uses alarm-severity-suppress-grouping; + } + container odu-ptim { + uses alarm-severity-suppress-grouping; + } + container odu-tim { + uses alarm-severity-suppress-grouping; + } + container oof { + uses alarm-severity-suppress-grouping; + } + container otu-ais { + uses alarm-severity-suppress-grouping; + } + container otu-bdi { + uses alarm-severity-suppress-grouping; + } + container otu-bip { + uses alarm-severity-suppress-grouping; + } + container otu-iae { + uses alarm-severity-suppress-grouping; + } + container otu-tim { + uses alarm-severity-suppress-grouping; + } + } + container sonet-sdh { + presence "true"; + container ds1-ais { + uses alarm-severity-suppress-grouping; + } + container ds1-los { + uses alarm-severity-suppress-grouping; + } + container ds1-oof { + uses alarm-severity-suppress-grouping; + } + container ds1-rai { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-ais { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-lof { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-los { + uses alarm-severity-suppress-grouping; + } + container ds3-rx-rai { + uses alarm-severity-suppress-grouping; + } + container lais { + uses alarm-severity-suppress-grouping; + } + container lom { + uses alarm-severity-suppress-grouping; + } + container lp-ais { + uses alarm-severity-suppress-grouping; + } + container lp-ber-sd { + uses alarm-severity-suppress-grouping; + } + container lp-ber-sf { + uses alarm-severity-suppress-grouping; + } + container lp-lop { + uses alarm-severity-suppress-grouping; + } + container lp-plm { + uses alarm-severity-suppress-grouping; + } + container lp-rdi { + uses alarm-severity-suppress-grouping; + } + container lp-rfi { + uses alarm-severity-suppress-grouping; + } + container lp-uneq { + uses alarm-severity-suppress-grouping; + } + container lrdi { + uses alarm-severity-suppress-grouping; + } + container pais { + uses alarm-severity-suppress-grouping; + } + container plop { + uses alarm-severity-suppress-grouping; + } + container pplm { + uses alarm-severity-suppress-grouping; + } + container prdi { + uses alarm-severity-suppress-grouping; + } + container puneq { + uses alarm-severity-suppress-grouping; + } + container sd { + uses alarm-severity-suppress-grouping; + } + container sd-b3 { + uses alarm-severity-suppress-grouping; + } + container sf { + uses alarm-severity-suppress-grouping; + } + container sf-b3 { + uses alarm-severity-suppress-grouping; + } + container slof { + uses alarm-severity-suppress-grouping; + } + container slos { + uses alarm-severity-suppress-grouping; + } + container sonet-bert-mt-alarm { + uses alarm-severity-suppress-grouping; + } + container tca-b1 { + uses alarm-severity-suppress-grouping; + } + container tca-b2 { + uses alarm-severity-suppress-grouping; + } + container tca-b3 { + uses alarm-severity-suppress-grouping; + } + } + } + } + } + + grouping alarm-profile-grouping { + list alarm-profile { + key "alarm-profile-name"; + leaf alarm-profile-name { + type string { + length "1..32"; + } + } + container notifies { + description + "SNMP notification alarm trigger parameter."; + leaf not-operating { + description + "SNMP notification alarm trigger for interface failure."; + type empty; + } + } + container syslog { + description + "syslog notification alarm trigger parameter."; + leaf not-operating { + description + "syslog notification alarm trigger for interface failure."; + type empty; + } + } + container alarm { + description + "Relay alarm trigger parameter."; + leaf not-operating { + description + "Relay alarm notification trigger for interface failure."; + type empty; + } + } + choice alarm-profile-choice { + container card { + presence "true"; + uses alarm-config-grouping; + } + container chassis { + presence "true"; + uses alarm-config-grouping; + } + container port { + presence "true"; + uses alarm-config-grouping; + } + } + container attach { + choice attach-choice { + leaf card { + must '../../card' { + error-message "Card Profile should exist before attaching or detaching its profile"; + } + type string { + pattern '[0-9]/([1][0-5]|[0-9])'; + } + } + leaf chassis { + must '../../chassis' { + error-message "Chassis Profile should exist before attaching or detaching its profile"; + } + type empty; + } + } + } + } + } + + grouping alarm-severity-suppress-grouping { + leaf severity { + type enumeration { + enum info; + enum minor; + enum major; + enum critical; + } + } + leaf suppress { + type empty; + } + } + + grouping hw-module-grouping { + container hw-module { + container configuration { + list hw-module { + key "hw-module"; + leaf hw-module { + type string { + pattern '[0-9]/([1][0-5]|[0-9])'; + } + } + leaf transceiver { + type uint32 { + range "1..64"; + } + } + leaf secondary-admin-state { + type enumeration { + enum auto-in-service; + enum in-service; + } + } + leaf pid { + type string; + } + } + } + } + } + + grouping secondary-admin-state-grouping { + container attach { + leaf profile { + type leafref { + path "/ios:native/ios-ap:alarm-profile/ios-ap:alarm-profile-name"; + } + must '/ios:native/ios-ap:alarm-profile[ios-ap:alarm-profile-name=current()/../profile]/ios-ap:port' { + error-message "Profile not exist or attached profile may not be a port profile"; + } + } + } + container secondary-admin-state { + when '../attach/profile'; + choice secondary-admin-state-choice { + default "in-service-case"; + case auto-in-service-case { + container auto-in-service { + presence "true"; + leaf hours { + type uint8 { + range "1..48"; + } + } + leaf minutes { + type uint8 { + range "0 | 15 | 30 | 45"; + } + } + } + } + case in-service-case { + leaf in-service { + type boolean; + default "true"; + } + } + case maintenance-case { + leaf maintenance { + type empty; + } + } + } + } + } + + augment "/ios:native" { + uses alarm-profile-grouping; + } + + augment "/ios:native/ios:platform" { + uses hw-module-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses secondary-admin-state-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses secondary-admin-state-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-app-cflowd-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-cflowd-oper.yang new file mode 100644 index 000000000..abeffb57f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-cflowd-oper.yang @@ -0,0 +1,216 @@ +module Cisco-IOS-XE-app-cflowd-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-app-cflowd-oper"; + prefix app-cflowd-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for operational data. + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Added tenant-cache-statistics"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping cflowd-flow-keys { + description + "Unique identifier of a flow"; + leaf vpn-id { + type uint32; + description + "Device VPN identifier"; + } + leaf src-addr { + type inet:ip-address; + description + "Source address in the IP packet header"; + } + leaf dst-addr { + type inet:ip-address; + description + "Destination address in the IP packet header"; + } + leaf src-port { + type uint16; + description + "Source port identifier in the transport header"; + } + leaf dst-port { + type uint16; + description + "Destination port identifier in the transport header"; + } + leaf proto { + type uint8; + description + "Value of the protocol number in the Protocol field of the IP packet header"; + } + leaf is-ipv4 { + type boolean; + description + "Is IPv4 flow table"; + } + } + + grouping cflowd-flow-nonkeys { + description + "Flow details"; + leaf dscp { + type uint8; + description + "Value of a DSCP encoded in the Differentiated Services field"; + } + leaf tcp-cntrl-bits { + type uint8; + description + "TCP control bits observed for the packets of this flow"; + } + leaf icmp-opcode { + type uint16; + description + "ICMP opcode"; + } + leaf total-pkts { + type uint64; + units "packets"; + description + "Number of packets passed through"; + } + leaf total-bytes { + type uint64; + units "bytes"; + description + "Number of bytes passed through"; + } + leaf start-time { + type yang:date-and-time; + description + "Absolute timestamp of the first packet of this flow"; + } + leaf input-intf { + type string; + description + "Input interface of the flow"; + } + leaf output-intf { + type string; + description + "Output interface of the flow"; + } + leaf app { + type string; + description + "Application name"; + } + leaf family { + type string; + description + "Application family name"; + } + } + + grouping cflowd-tenant-keys { + description + "Unique identifier of a tenant statistics"; + leaf mon-name { + type string; + description + "Flow monitor name"; + } + leaf tenant-id { + type uint16; + description + "Device tenant identifier"; + } + } + + grouping cflowd-tenant-nonkeys { + description + "Tenant detail statistics"; + leaf current-entries { + type uint32; + description + "The current number of entries"; + } + leaf high-watermark { + type uint32; + description + "The high watermark of flows"; + } + leaf cache-size { + type uint32; + description + "The size of the cache"; + } + } + + container app-cflowd-oper-data { + config false; + description + "App cFlowd flow operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list app-cflowd-ipv4 { + key "vpn-id src-addr dst-addr src-port dst-port proto is-ipv4"; + description + "List of IPv4 flow records"; + uses app-cflowd-ios-xe-oper:cflowd-flow-keys; + uses app-cflowd-ios-xe-oper:cflowd-flow-nonkeys; + } + list app-cflowd-ipv6 { + key "vpn-id src-addr dst-addr src-port dst-port proto is-ipv4"; + description + "List of IPv6 flow records"; + uses app-cflowd-ios-xe-oper:cflowd-flow-keys; + uses app-cflowd-ios-xe-oper:cflowd-flow-nonkeys; + } + list tenant-cache-stats { + key "mon-name tenant-id"; + description + "List of tenant cache statistics"; + uses app-cflowd-ios-xe-oper:cflowd-tenant-keys; + uses app-cflowd-ios-xe-oper:cflowd-tenant-nonkeys; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-cfg.yang new file mode 100644 index 000000000..ceff8898f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-cfg.yang @@ -0,0 +1,1073 @@ +module Cisco-IOS-XE-app-hosting-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting-cfg"; + prefix app-hosting-ios-xe-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for app-hosting configuration data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.8.0"; + cisco-semver:module-version "2.8.0"; + } + revision 2022-07-01 { + description + "- Add support for Multicast on guest interface"; + reference + "2.7.0"; + cisco-semver:module-version "2.7.0"; + } + revision 2021-07-01 { + description + "- Increased limits on the amount of persistent disk space and the amount + of memory reserved for an application."; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2021-03-01 { + description + "- Add support for multiple AppGigabitEthernet ports configuration + - Add support for CAM module interface"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2020-11-01 { + description + "- Added static IPV6 support + - Added CPU percent that is relative to IOX total CPU units + - Added support for docker package runtime options."; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2020-03-01 { + description + "- Suppress app-hosting dynamic resources"; + reference + "2.3.1"; + cisco-semver:module-version "2.3.1"; + } + revision 2019-11-01 { + description + "- Add app-hosting dynamic resources + - Add support for mac-forwarding and mirroring on guest interface + - Add support for assigning usb-port label"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-06-11 { + description + "- Add support for Device USB information + - Add docker run-time options + - Rename disk size parameter and change description + - Added semantic version + - Add support for access guest interface number"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-01-11 { + description + "- Adding KR port interface configuration in app-hosting + - Cleaned up spelling errors in descriptions + - Add start + - Rename the KR port to App Interface + - Add a new leaf to remove the app interface mode setting"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-06-14 { + description + "Rename virtual service to app-hosting"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-01-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef im-app-appintf-mode { + type enumeration { + enum appintf-not-set { + value 0; + description + "App interface port is not set"; + } + enum appintf-trunk { + value 1; + description + "App interface port configure for trunk mode"; + } + enum appintf-vlan { + value 2; + description + "App interface port configuration for VLAN access mode"; + } + enum appintf-access { + value 3; + description + "App interface port configuration for access mode"; + } + } + description + "App interface mode type"; + } + + grouping im-app-resource { + description + "Application Resource information"; + leaf profile-name { + type string { + length "0..64"; + pattern '[0-9a-zA-Z\-_]*'; + } + default ""; + description + "Resource profile name"; + } + leaf vcpu { + type uint16; + must '../vcpu <= 65535' { + error-message "must be <= 65535"; + error-app-tag "must-violation"; + } + description + "Amount of VCPUs allocated for the application"; + } + leaf cpu-units { + type uint16 { + range "0 .. 20000"; + } + must '../cpu-units <= 20000' { + error-message "must be <= 20000"; + error-app-tag "must-violation"; + } + default "0"; + description + "Amount of reserved cpu in unit"; + } + leaf memory-capacity-mb { + type uint16 { + range "0 .. 16384"; + } + default "0"; + description + "Amount of reserved memory in MB"; + } + leaf disk-size-mb { + type uint16 { + range "0 .. 65535"; + } + default "0"; + description + "IOX Application persistent disk size in MB"; + } + leaf pkg-profile-name { + type string { + length "0..64"; + pattern '[0-9a-zA-Z\-_]*'; + } + description + "Resource package profile name"; + } + leaf cpu-percent { + type uint8 { + range "0 .. 100"; + } + description + "Percent of IOX total CPU units"; + } + } + + grouping im-app-docker-run-opts { + description + "Multi-line docker run-time options"; + leaf line-index { + type uint16 { + range "1 .. 30"; + } + description + "Index number"; + } + leaf line-run-opts { + type string { + length "0..235"; + } + description + "Docker run-time options"; + } + } + + grouping im-app-device { + description + "Application device information"; + leaf device-name { + type string { + length "0..32"; + pattern '[0-9a-zA-Z]*'; + } + default ""; + description + "device name"; + } + } + + grouping im-app-mac { + description + "Application MAC information"; + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf mac-interface-name { + type string { + length "0..32"; + pattern '[0-9a-zA-Z]*'; + } + default ""; + description + "MAC interface name"; + } + } + + grouping im-app-vnic-param { + description + "Application L2 interface Parameters"; + leaf trunk-if-num { + type uint8 { + range "0 .. 63"; + } + description + "Application L2 interface number for trunk mode in range of 0..63"; + } + leaf access-if-num { + type uint8 { + range "0 .. 63"; + } + description + "Application L2 interface number for access mode in range of 0..63"; + } + leaf mac-fwd-enable { + type boolean; + default "false"; + description + "Enable or Disable MAC forwarding mode on bridge"; + } + leaf mirror-enable { + type boolean; + default "false"; + description + "Enable or Disable Mirroring mode on bridge"; + } + leaf mcast-enable { + type boolean; + default "false"; + description + "Enable or disable multicast mode on bridge"; + } + } + + grouping im-app-vnic-vlan-param { + description + "VLAN access mode parameters for application L2 interface"; + leaf guest-if { + type uint8 { + range "0 .. 63"; + } + description + "VLAN access mode application L2 interface number in range of 0..63"; + } + leaf guest-ip { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf guest-netmask { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf guest-ipv6 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf guest-ipv6-prefix-len { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf mac-fwd-enable { + type boolean; + default "false"; + description + "Enable or Disable MAC forwarding mode on bridge"; + } + leaf mirror-enable { + type boolean; + default "false"; + description + "Enable or Disable Mirroring mode on bridge"; + } + leaf mcast-enable { + type boolean; + default "false"; + description + "Enable or disable multicast mode on bridge"; + } + } + + grouping im-app-vnic-mgmt-vlan { + description + "VLAN access mode parameters for application L2 interface using management interface"; + leaf vlan-id { + type uint16 { + range "1 .. 4094"; + } + description + "Application L2 interface using management interface VLAN ID in range of 1..4094"; + } + container mgmt-vlan-param { + description + "Application L2 interface using management interface VLAN parameters"; + uses app-hosting-ios-xe-cfg:im-app-vnic-vlan-param; + } + } + + grouping im-app-vnic-mgmt { + description + "Application L2 interface using management interface parameters"; + leaf vlan-mode { + type app-hosting-ios-xe-cfg:im-app-appintf-mode; + default "appintf-not-set"; + description + "Application L2 interface using management interface mode configuration"; + } + leaf trunk-if-num { + type uint8 { + range "0 .. 63"; + } + description + "Interface number for trunk mode in range of 0..63"; + } + leaf access-if-num { + type uint8 { + range "0 .. 63"; + } + description + "Interface number for access mode in range of 0..63"; + } + leaf mac-fwd-enable { + type boolean; + default "false"; + description + "Enable or Disable MAC forwarding mode on bridge"; + } + leaf mirror-enable { + type boolean; + default "false"; + description + "Enable or Disable Mirroring mode on bridge"; + } + leaf mcast-enable { + type boolean; + default "false"; + description + "Enable or disable multicast mode on bridge"; + } + } + + grouping im-app-vnic-vlan { + description + "VLAN access mode parameters for application L2 interface"; + leaf vlan-id { + type uint16 { + range "1 .. 4094"; + } + description + "Application L2 interface VLAN ID in range of 1..4094"; + } + container appintf-vlan-param { + description + "Application L2 interface VLAN parameters"; + uses app-hosting-ios-xe-cfg:im-app-vnic-vlan-param; + } + } + + grouping im-app-vnic { + description + "Application L2 interface configuration"; + leaf port-number { + type uint16 { + range "0 .. 15"; + } + description + "Port Number identifying the application L2 interface"; + } + leaf vlan-mode { + type app-hosting-ios-xe-cfg:im-app-appintf-mode; + default "appintf-not-set"; + description + "Application L2 interface mode configuration"; + } + container appintf-param { + description + "Application L2 interface parameters"; + uses app-hosting-ios-xe-cfg:im-app-vnic-param; + } + container vlan-nodes { + description + "List of Application L2 interface rules for VLAN access mode"; + list vlan-node { + key "vlan-id"; + description + "Application L2 interface rules for VLAN access mode"; + uses app-hosting-ios-xe-cfg:im-app-vnic-vlan; + } + } + } + + grouping im-app-network { + description + "Application Network information"; + leaf vnic-gateway-0 { + type string { + length "1..2"; + pattern '[0-9]*'; + } + description + "Vnic gateway"; + } + leaf virtualportgroup-guest-interface-name-1 { + type string { + length "1"; + pattern '[0-3]*'; + } + description + "VirtualPortGroup guest interface name as number in range of 0 .. 3"; + } + leaf virtualportgroup-guest-ip-address-1 { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf virtualportgroup-guest-ip-netmask-1 { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf virtualportgroup-application-default-gateway-1 { + type inet:ip-address; + description + "VirtualPortGroup application default gateway IP address"; + } + leaf nameserver-0 { + type inet:ip-address; + description + "Name server IP address"; + } + leaf virtualportgroup-guest-interface-default-gateway-1 { + type uint8; + must '../virtualportgroup-guest-interface-default-gateway-1 <= 3' { + error-message "must be <= 3"; + error-app-tag "must-violation"; + } + description + "VirtualPortGroup default gateway guest interface"; + } + leaf vnic-gateway-1 { + type string { + length "1..2"; + pattern '[0-9]*'; + } + description + "Vnic gateway"; + } + leaf virtualportgroup-guest-interface-name-2 { + type string { + length "1"; + pattern '[0-3]*'; + } + description + "VirtualPortGroup guest interface name as number in range of 0 .. 3"; + } + leaf virtualportgroup-guest-ip-address-2 { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf virtualportgroup-guest-ip-netmask-2 { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf virtualportgroup-application-gateway-2 { + type inet:ip-address; + description + "VirtualPortGroup application gateway IP address"; + } + leaf nameserver-1 { + type inet:ip-address; + description + "Name server IP address"; + } + leaf virtualportgroup-guest-interface-default-gateway-2 { + type uint8; + must '../virtualportgroup-guest-interface-default-gateway-2 <= 1 ' { + error-message "must be <= 1"; + error-app-tag "must-violation"; + } + description + "VirtualPortGroup default gateway guest interface"; + } + leaf vnic-gateway-2 { + type string { + length "1..2"; + pattern '[0-9]*'; + } + description + "Vnic gateway"; + } + leaf virtualportgroup-guest-interface-name-3 { + type string { + length "1"; + pattern '[0-3]*'; + } + description + "VirtualPortGroup guest interface name as number in range of 0 .. 3"; + } + leaf virtualportgroup-guest-ip-address-3 { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf virtualportgroup-guest-ip-netmask-3 { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf virtualportgroup-application-gateway-3 { + type inet:ip-address; + description + "VirtualPortGroup application gateway IP address"; + } + leaf nameserver2 { + type inet:ip-address; + description + "Name server IP address"; + } + leaf virtualportgroup-guest-interface-default-gateway-3 { + type uint8; + must '../virtualportgroup-guest-interface-default-gateway-3 <= 1' { + error-message "must be <= 1"; + error-app-tag "must-violation"; + } + description + "VirtualPortGroup default gateway guest interface"; + } + leaf vnic-gateway-3 { + type string { + length "1..2"; + pattern '[0-9]*'; + } + description + "Vnic gateway"; + } + leaf virtualportgroup-guest-interface-name-4 { + type string { + length "1"; + pattern '[0-3]*'; + } + description + "VirtualPortGroup guest interface name as number in range of 0 .. 3"; + } + leaf virtualportgroup-guest-ip-address-4 { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf virtualportgroup-guest-ip-netmask-4 { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf virtualportgroup-application-gateway-4 { + type inet:ip-address; + description + "VirtualPortGroup application gateway IP address"; + } + leaf nameserver-3 { + type inet:ip-address; + description + "Name server IP address"; + } + leaf virtualportgroup-guest-interface-default-gateway-4 { + type uint8; + must '../virtualportgroup-guest-interface-default-gateway-4 <= 1' { + error-message "must be <= 1"; + error-app-tag "must-violation"; + } + description + "VirtualPortGroup default gateway guest interface"; + } + leaf management-interface-name { + type string { + length "1"; + pattern '[0-3]*'; + } + description + "Management port guest interface name as number in range of 0 .. 3"; + } + leaf management-guest-ip-address { + type inet:ip-address; + description + "Guest management port interface IP address"; + } + leaf management-guest-ip-netmask { + type inet:ip-address; + description + "Guest management port interface IP netmask"; + } + leaf management-application-gateway { + type inet:ip-address; + description + "Management port application gateway IP address"; + } + leaf nameseerver4 { + type inet:ip-address; + description + "Name server IP address"; + } + leaf management-guest-interface-default-gateway { + type uint8; + must '../management-guest-interface-default-gateway <= 1' { + error-message "must be <= 1"; + error-app-tag "must-violation"; + } + description + "Management port default gateway guest interface"; + } + container application-mac-address { + description + "Application MAC address"; + uses app-hosting-ios-xe-cfg:im-app-mac; + } + leaf appintf-guest-interface-number { + type uint8; + must '../appintf-guest-interface-number <= 63' { + error-message "Guest interface must be in range of 0..63"; + error-app-tag "must-violation"; + } + description + "Guest interface port number for trunk mode in range of 0..63"; + } + leaf appintf-vlan-mode { + type app-hosting-ios-xe-cfg:im-app-appintf-mode; + default "appintf-not-set"; + description + "App interface mode configuration"; + } + leaf appintf-access-interface-number { + type uint8; + must '../appintf-access-interface-number <= 63' { + error-message "Access interface must be in range of 0..63"; + error-app-tag "must-violation"; + } + description + "Guest interface port number for access mode in range of 0..63"; + } + leaf mac-forward-enable { + type boolean; + default "false"; + description + "Enable or Disable MAC forwarding mode on bridge"; + } + leaf mirror-enable { + type boolean; + default "false"; + description + "Enable or Disable Mirroring mode on bridge"; + } + leaf vpg-guest-ipv6-addr-1 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf ipv6-prefix-len-1 { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf vpg-guest-ipv6-addr-2 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf ipv6-prefix-len-2 { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf vpg-guest-ipv6-addr-3 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf ipv6-prefix-len-3 { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf vpg-guest-ipv6-addr-4 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf ipv6-prefix-len-4 { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf mgmt-guest-ipv6-addr { + type inet:ipv6-address; + description + "Guest management port interface IPV6 address"; + } + leaf mgmt-ipv6-prefix-len { + type uint8 { + range "0 .. 128"; + } + description + "Guest management port interface IPV6 prefix length"; + } + leaf vpg-app-default-ipv6-gw { + type inet:ipv6-address; + description + "VirtualPortGroup application IPV6 default gateway"; + } + leaf vpg-guest-if-ipv6-def-gw { + type uint8 { + range "0 .. 31"; + } + description + "Guest interface of IPV6 default gateway"; + } + leaf mcast-enable { + type boolean; + description + "Enable or disable multicast mode on bridge"; + } + } + + grouping application-im-app-intf-vlan-rule { + description + "App interface VLAN access to guest interface table mapping"; + leaf vlan-id { + type uint16; + must '(../vlan-id >= 1 and ../vlan-id <= 4094)' { + error-message "VLAN ID must be in range of 1..4094"; + error-app-tag "must-violation"; + } + description + "VLAN ID in range of 1..4094"; + } + leaf guest-interface { + type uint8; + must '../guest-interface <= 63' { + error-message "Guest interface must be in range of 0..63"; + error-app-tag "must-violation"; + } + description + "Guest interface number in range of 0..63"; + } + leaf guest-ip { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf guest-ipnetmask { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf mac-forward-enable { + type boolean; + default "false"; + description + "Enable or Disable MAC forwarding mode on bridge"; + } + leaf mirror-enable { + type boolean; + default "false"; + description + "Enable or Disable Mirroring mode on bridge"; + } + leaf guest-ipv6 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf guest-ipv6-prefix-len { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + leaf mcast-enable { + type boolean; + description + "Enable or disable multicast mode on bridge"; + } + } + + grouping application-im-app-device-usb { + description + "App device details"; + leaf usb-port-num { + type uint16; + description + "USB port number"; + } + leaf usb-port-label { + type string { + length "0..63"; + pattern '[0-9a-zA-Z_]*'; + } + description + "USB port label"; + } + } + + grouping im-app-vnic-module { + description + "Application interface configuration for module network"; + leaf guest-if { + type uint8 { + range "0 .. 63"; + } + description + "Application interface number connected to module"; + } + leaf guest-ip { + type inet:ip-address; + description + "Guest interface IP address"; + } + leaf guest-netmask { + type inet:ip-address; + description + "Guest IP netmask"; + } + leaf guest-ipv6 { + type inet:ipv6-address; + description + "Guest interface IPV6 address"; + } + leaf guest-ipv6-prefix-len { + type uint8 { + range "0 .. 128"; + } + description + "Guest interface IPV6 prefix length"; + } + } + + grouping application-information { + description + "Application Information"; + leaf application-name { + type string { + length "1..40"; + pattern '[0-9a-zA-Z_]*'; + } + description + "Application name"; + } + container application-network-resource { + description + "Application Network Resource Information"; + uses app-hosting-ios-xe-cfg:im-app-network; + } + container application-resource-profile { + description + "Application Resource profile"; + uses app-hosting-ios-xe-cfg:im-app-resource; + } + container application-attached-device { + description + "Application attached device"; + uses app-hosting-ios-xe-cfg:im-app-device; + } + container appintf-vlan-rules { + description + "App interface rules for VLAN access mode"; + list appintf-vlan-rule { + key "vlan-id"; + description + "List of App interface rules for VLAN access mode"; + uses app-hosting-ios-xe-cfg:application-im-app-intf-vlan-rule; + } + } + leaf start { + type boolean; + description + "Application run state"; + } + container dev-usbs { + description + "Device USB details for this app"; + list dev-usb { + key "usb-port-num"; + description + "List of USB ports that are associated with this app"; + uses app-hosting-ios-xe-cfg:application-im-app-device-usb; + } + } + leaf docker-resource { + type boolean; + default "false"; + description + "Enable or Disable docker resources"; + } + container run-optss { + description + "List of docker run-time options"; + list run-opts { + key "line-index"; + description + "Docker run-time options"; + uses app-hosting-ios-xe-cfg:im-app-docker-run-opts; + } + } + leaf prepend-pkg-opts { + type boolean; + description + "Add docker runtime options specified in the app package file to the beginning of the docker runtime options"; + } + container appintf-mgmt { + description + "Application l2 interface using management interface"; + uses app-hosting-ios-xe-cfg:im-app-vnic-mgmt; + } + container appintf-mgmt-vlans { + description + "List of Application L2 interfaces for VLAN access mode using management interface"; + list appintf-mgmt-vlan { + key "vlan-id"; + description + "Application L2 interface for VLAN access mode using management interface"; + uses app-hosting-ios-xe-cfg:im-app-vnic-mgmt-vlan; + } + } + container appintf-ports { + description + "List of Application L2 interfaces for VLAN access mode"; + list appintf-port { + key "port-number"; + description + "Application L2 interface for VLAN access mode"; + uses app-hosting-ios-xe-cfg:im-app-vnic; + } + } + container app-cam-gintfs { + description + "List of Application guest interfaces for CGR ACT Module (CAM)"; + list app-cam-gintf { + key "guest-if"; + description + "Application guest interface for module CAM"; + uses app-hosting-ios-xe-cfg:im-app-vnic-module; + } + } + } + + grouping application-hosting-infra-record { + description + "Application hosting Infra Record"; + leaf application-hosting-infra-enable-statue { + type uint8; + must '../application-hosting-infra-enable-statue <= 1' { + error-message "must be <= 1"; + error-app-tag "must-violation"; + } + default "0"; + description + "Application hosting Infra enable status"; + } + leaf sign-verification { + type boolean; + description + "Signature verification of all applications"; + } + } + + container app-hosting-cfg-data { + description + "app-hosting configuration data"; + container apps { + description + "Application list"; + list app { + key "application-name"; + description + "Application info"; + uses app-hosting-ios-xe-cfg:application-information; + } + } + container controls { + presence "Controls"; + description + "App-hosting control"; + uses app-hosting-ios-xe-cfg:application-hosting-infra-record; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-oper.yang new file mode 100644 index 000000000..e37ceeafe --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting-oper.yang @@ -0,0 +1,1129 @@ +module Cisco-IOS-XE-app-hosting-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting-oper"; + prefix app-hosting-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring app-hosting in a Network Element. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added CPU percent support for platform resource profiles. + - Added support for multicast and mirroring in interfaces."; + reference + "3.8.0"; + cisco-semver:module-version "3.8.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2022-07-01 { + description + "- Added support for multicast traffic to be forwarded to application through AppGigabitEthernet and management interfaces."; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2021-07-01 { + description + "- Added support for platform resource profiles. + - Added MAC address of Internal Ethernet Out-of-band Channel interface. + - Added the reserved CPU resource shown in 'unit'."; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2021-03-01 { + description + "- Added support for IOX enablement."; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2020-11-01 { + description + "- Added static IPV6 support. + - Added CPU percent that is relative to IOX total CPU units. + - Added URL package path + - Added support for docker package runtime options"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-05-01 { + description + "- Add network-name and some docker-related operational details. + - Added semantic version"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-11-29 { + description + "- Add option to indicate if activation of an application is allowed or not + - Cleaned up spelling errors in descriptions. + - Add global resources. + - Add DMI notification event."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-06-14 { + description + "Rename virtual service to app-hosting"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-02-01 { + description + "Add owner details to application"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-09-25 { + description + "Add process details and change network utilization and storage utilization lists"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef iox-pkg-policy { + type enumeration { + enum iox-pkg-policy-invalid { + value 0; + description + "Package policy is invalid"; + } + enum iox-pkg-policy-none { + value 1; + description + "Package policy does not set"; + } + enum iox-pkg-policy-cisco { + value 2; + description + "Package policy is signed by Cisco"; + } + enum iox-pkg-policy-third-party { + value 3; + description + "Package policy is signed by third party"; + } + enum iox-pkg-policy-unsigned { + value 4; + description + "Package policy is unsigned"; + } + } + description + "IOX package policy"; + } + + typedef notification-event-severity { + type enumeration { + enum critical { + value 0; + description + "Severity critical"; + } + enum major { + value 1; + description + "Severity major"; + } + enum minor { + value 2; + description + "Severity minor"; + } + } + description + "Notification event severity"; + } + + typedef notification-event-type { + type enumeration { + enum im-iox-enable { + value 0; + description + "IOX is enabled"; + } + enum im-app-install { + value 1; + description + "Application is installed"; + } + enum im-app-uninstall { + value 2; + description + "Application is uninstalled"; + } + enum im-app-start { + value 3; + description + "Application is started"; + } + enum im-app-no-start { + value 4; + description + "Application is stopped"; + } + enum im-app-unsolicited { + value 5; + description + "Application is unsolicited"; + } + enum im-app-activate { + value 6; + description + "Application is activated"; + } + enum im-app-deactivate { + value 7; + description + "Application is deactivated"; + } + } + description + "Notification event type"; + } + + typedef notification-app-status { + type enumeration { + enum im-app-pass { + value 0; + description + "Status pass"; + } + enum im-app-fail { + value 1; + description + "Status failed"; + } + } + description + "Notification application status"; + } + + typedef notification-app-state { + type enumeration { + enum im-state-deployed { + value 0; + description + "Application is in deployed state"; + } + enum im-state-activated { + value 1; + description + "Application is in activated state"; + } + enum im-state-running { + value 2; + description + "Application is in running state"; + } + enum im-state-stopped { + value 3; + description + "Application is in stopped state"; + } + enum im-state-uninstalled { + value 4; + description + "Application is in uninstalled state"; + } + } + description + "Notification application state"; + } + + grouping application { + description + "This object represents a hosted application"; + leaf name { + type string; + description + "Application name"; + } + leaf installed-version { + type string; + description + "Application version"; + } + leaf description { + type string; + description + "Application description"; + } + leaf type { + type string; + description + "Application type"; + } + leaf owner { + type string; + description + "Which process creates the application"; + } + leaf activation-allowed { + type boolean; + description + "Does platform allow the activation of the application"; + } + leaf author { + type string; + description + "Application author"; + } + } + + grouping signing { + description + "Application signing information"; + leaf key-type { + type string; + description + "Signed key type"; + } + leaf method { + type string; + description + "Method the key was signed"; + } + } + + grouping licensing { + description + "Application licensing information"; + leaf name { + type string; + description + "License name"; + } + leaf version { + type string; + description + "License version"; + } + } + + grouping package-information { + description + "Application packaging information"; + leaf name { + type string; + description + "Package name"; + } + leaf path { + type string; + description + "Package path"; + } + container application { + description + "Application details"; + uses app-hosting-ios-xe-oper:application; + } + container signing { + description + "Key signing details"; + uses app-hosting-ios-xe-oper:signing; + } + container licensing { + description + "Licensing details"; + uses app-hosting-ios-xe-oper:licensing; + } + leaf url-path { + type string; + description + "URL package path"; + } + leaf mcast-enabled { + type boolean; + description + "Is multicast enabled"; + } + } + + grouping vs-process { + description + "Virtual service process information"; + leaf name { + type string; + description + "Process name"; + } + leaf status { + type string; + description + "Process status"; + } + leaf pid { + type string; + description + "Process ID"; + } + leaf uptime { + type string; + description + "Process uptime"; + } + leaf memory { + type string; + description + "Amount of process memory"; + } + } + + grouping detailed-guest-status { + description + "Detailed guest status detail information"; + container processes { + description + "List of all processes"; + uses app-hosting-ios-xe-oper:vs-process; + } + } + + grouping resource-reservation { + description + "Resource reservation information"; + leaf disk { + type uint64; + description + "Amount of reserved disk space in MB"; + } + leaf memory { + type uint64; + description + "Amount of reserved memory in MB"; + } + leaf cpu { + type uint64; + description + "Amount of reserved CPU in unit"; + } + leaf vcpu { + type uint64; + description + "Amount of reserved VCPU in unit"; + } + leaf cpu-percent { + type uint8; + description + "Amount of reserved CPU in percent"; + } + } + + grouping attached-device { + description + "Attached device information"; + leaf name { + type string; + description + "Attached device name"; + } + leaf type { + type string; + description + "Attached device type"; + } + leaf alias { + type string; + description + "Attached device alias"; + } + } + + grouping network-interface { + description + "Network interface information"; + leaf mac-address { + type yang:mac-address; + description + "MAC address for the network interface"; + } + leaf attached-interface { + type string; + description + "Attached interface name"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address for the network interface"; + } + leaf network-name { + type string; + description + "Name of the network"; + } + leaf ipv6-address { + type inet:ipv6-address; + description + "IPv6 address for the network interface"; + } + leaf intf-mcast { + type boolean; + description + "Status of multicast on network interface"; + } + leaf intf-mirroring { + type boolean; + description + "Status of mirroring on network interface"; + } + } + + grouping guest-route { + description + "Guest routing information"; + leaf route { + type string; + description + "Guest route of the guest interface"; + } + } + + grouping resource-admission { + description + "Resource admission information"; + leaf state { + type string; + description + "Status of the resource allocation"; + } + leaf disk-space { + type string; + description + "Amount of disk space allocated for the virtual service in MB"; + } + leaf memory { + type string; + description + "Amount of memory allocated for the virtual service in MB"; + } + leaf cpu { + type uint64; + description + "Percentage of CPU allocated for the virtual-service in unit"; + } + leaf vcpus { + type string; + description + "Amount of VCPUs allocated for the virtual service"; + } + } + + grouping details { + description + "Detailed virtual service information"; + leaf state { + type string; + description + "State of the virtual service"; + } + container package-information { + description + "Virtual service packaging information"; + uses app-hosting-ios-xe-oper:package-information; + } + container detailed-guest-status { + description + "Guest status details"; + uses app-hosting-ios-xe-oper:detailed-guest-status; + } + leaf activated-profile-name { + type string; + description + "Activated resource profile name"; + } + container resource-reservation { + description + "Resource reservation details"; + uses app-hosting-ios-xe-oper:resource-reservation; + } + leaf guest-interface { + type string; + description + "Guest interface name"; + } + container resource-admission { + description + "Resources allocated for the virtual service"; + uses app-hosting-ios-xe-oper:resource-admission; + } + leaf docker-run-opts { + type string; + description + "Activated Docker Run-Time Options"; + } + leaf command { + type string; + description + "Docker Run-time command"; + } + leaf entry-point { + type string; + description + "Docker Run-Time entry point"; + } + leaf health-status { + type uint32; + description + "Docker container health status"; + } + leaf last-health-probe-error { + type string; + description + "Docker Last Health probe Error"; + } + leaf last-health-probe-output { + type string; + description + "Docker Last Health probe Output"; + } + leaf pkg-run-opt { + type string; + description + "Docker package runtime options"; + } + leaf ieobc-mac-addr { + type yang:mac-address; + description + "MAC address of Internal Ethernet Out-of-band Channel interface"; + } + } + + grouping cpu-util { + description + "CPU utilization information"; + leaf requested-application-util { + type uint64; + description + "Amount of requested CPU utilization by the virtual service"; + } + leaf actual-application-util { + type uint64; + description + "Percentage of CPU actual utilization for the virtual service"; + } + leaf cpu-state { + type string; + description + "State of the CPU utilization for the virtual-service"; + } + } + + grouping memory-util { + description + "Memory utilization information"; + leaf memory-allocation { + type string; + description + "Amount of memory allocated for the virtual service in MB"; + } + leaf memory-used { + type string; + description + "Amount of used memory for the virtual service in KB"; + } + } + + grouping network-util { + description + "Network utilization information"; + leaf name { + type string; + description + "Name of the network used for the virtual service"; + } + leaf alias { + type string; + description + "Alias of the network used by the virtual service"; + } + leaf rx-packets { + type uint64; + description + "Number of packets received by the virtual service"; + } + leaf rx-bytes { + type uint64; + description + "Number of octets received by the virtual service"; + } + leaf rx-errors { + type uint64; + description + "Number of RX errors by the virtual service"; + } + leaf tx-packets { + type uint64; + description + "Number of packets transmitted by the virtual service"; + } + leaf tx-bytes { + type uint64; + description + "Number of octets transmitted by the virtual service"; + } + leaf tx-errors { + type uint64; + description + "Number of TX errors by the virtual service"; + } + } + + grouping storage-util { + description + "Storage utilization information"; + leaf name { + type string; + description + "Name of the storage device used for the virtual service"; + } + leaf alias { + type string; + description + "Alias of the storage device used by the virtual service"; + } + leaf rd-bytes { + type uint64; + description + "Number of bytes read by the virtual service"; + } + leaf rd-requests { + type uint64; + description + "Number of read requests made by the virtual service"; + } + leaf errors { + type uint64; + description + "Number of storage error seen by the virtual service"; + } + leaf wr-bytes { + type uint64; + description + "Number of bytes written by the virtual service"; + } + leaf wr-requests { + type uint64; + description + "Number of write requests made by the virtual service"; + } + leaf capacity { + type uint64; + description + "Storage capacity in 1000 blocks"; + } + leaf available { + type string; + description + "Available storage in 1000 blocks"; + } + leaf used { + type uint64; + description + "Used storage in 1000 blocks"; + } + leaf usage { + type string; + description + "Percentage of storage capacity used by the virtual service"; + } + } + + grouping utilization { + description + "Resource utilization details"; + leaf name { + type string; + description + "Name of the virtual service"; + } + container cpu-util { + description + "CPU utilization information"; + uses app-hosting-ios-xe-oper:cpu-util; + } + container memory-util { + description + "Memory utilization information"; + uses app-hosting-ios-xe-oper:memory-util; + } + } + + grouping plfm-res-prof { + description + "Platform resource profiles"; + leaf name { + type string; + description + "Profile name"; + } + leaf cpu { + type uint64; + units "CPU unit"; + description + "Amount of reserved CPU units for resource profile"; + } + leaf memory { + type uint64; + units "megabytes"; + description + "Amount of reserved memory"; + } + leaf disk { + type uint64; + units "megabytes"; + description + "Amount of reserved disk space"; + } + leaf cpu-percent { + type uint8; + units "percentage"; + description + "Amount of reserved CPU percentage for resource profile"; + } + } + + grouping virtual-service { + description + "Virtual service information"; + leaf name { + type string; + description + "Virtual service name"; + } + container details { + description + "Virtual service details"; + uses app-hosting-ios-xe-oper:details; + } + container utilization { + description + "Virtual service resource utilization details"; + uses app-hosting-ios-xe-oper:utilization; + } + container network-utils { + description + "Virtual service network utilization details"; + list network-util { + key "name"; + description + "A list of network utilization details"; + uses app-hosting-ios-xe-oper:network-util; + } + } + container storage-utils { + description + "Virtual service storage utilization details"; + list storage-util { + key "name"; + description + "List of storage utilization details"; + uses app-hosting-ios-xe-oper:storage-util; + } + } + container processes { + description + "Virtual service process details"; + list process { + key "name"; + description + "List of process details"; + uses app-hosting-ios-xe-oper:vs-process; + } + } + container attached-devices { + description + "Virtual service attached device details"; + list attached-device { + key "name"; + description + "A list of attached device details"; + uses app-hosting-ios-xe-oper:attached-device; + } + } + container network-interfaces { + description + "Virtual service network interface details"; + list network-interface { + key "mac-address"; + description + "A list of network interface details"; + uses app-hosting-ios-xe-oper:network-interface; + } + } + container guest-routes { + description + "Virtual service guest route details"; + list guest-route { + key "route"; + description + "List of guest routes for a guest interface"; + uses app-hosting-ios-xe-oper:guest-route; + } + } + list plfm-res-prof { + key "name"; + description + "Platform resource profiles"; + uses app-hosting-ios-xe-oper:plfm-res-prof; + } + leaf pkg-policy { + type app-hosting-ios-xe-oper:iox-pkg-policy; + description + "Application package policy type"; + } + } + + grouping cpu { + description + "CPU information"; + leaf name { + type string; + description + "CPU type"; + } + leaf quota { + type uint32; + units "percentage"; + description + "Amount of total system reserved CPU"; + } + leaf available { + type uint32; + units "percentage"; + description + "Amount of total system available CPU"; + } + leaf quota-unit { + type uint64; + units "unit"; + description + "Amount of total system reserved CPU units"; + } + leaf available-unit { + type uint64; + units "unit"; + description + "Amount of total system available CPU units"; + } + } + + grouping memory { + description + "Memory information"; + leaf name { + type string; + description + "Memory type"; + } + leaf quota { + type uint32; + units "MB"; + description + "Amount of reserved memory in MB"; + } + leaf available { + type uint32; + units "MB"; + description + "Amount of available memory in MB"; + } + } + + grouping storage-device { + description + "Storage device information"; + leaf name { + type string; + description + "Storage device name"; + } + leaf quota { + type uint32; + units "MB"; + description + "Amount of reserved storage space"; + } + leaf available { + type uint32; + units "MB"; + description + "Amount of available storage space"; + } + } + + grouping app-resource { + description + "Global resources information"; + leaf name { + type string; + description + "global resources"; + } + list cpu { + key "name"; + description + "A list of CPU types"; + uses app-hosting-ios-xe-oper:cpu; + } + list memory { + key "name"; + description + "A list of memory types"; + uses app-hosting-ios-xe-oper:memory; + } + list storage-device { + key "name"; + description + "A list of storage device types"; + uses app-hosting-ios-xe-oper:storage-device; + } + } + + grouping app-notification { + description + "Application event notification"; + leaf name { + type string; + description + "Event name"; + } + leaf timestamp { + type yang:date-and-time; + description + "Event timestamp"; + } + leaf severity-level { + type app-hosting-ios-xe-oper:notification-event-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf vrf-name { + type string; + description + "Interface vrf name"; + } + leaf app-id { + type string; + description + "Application name"; + } + leaf system-ip { + type inet:ip-address; + description + "Host IP"; + } + leaf ev-type { + type app-hosting-ios-xe-oper:notification-event-type; + description + "Event type"; + } + leaf status { + type app-hosting-ios-xe-oper:notification-app-status; + description + "Event status"; + } + leaf message { + type string; + description + "Event message"; + } + leaf app-state { + type app-hosting-ios-xe-oper:notification-app-state; + description + "Event state"; + } + } + + grouping app-global { + description + "Global app-hosting information"; + leaf iox-enabled { + type boolean; + description + "Is IOX enabled"; + } + } + + container app-hosting-oper-data { + config false; + description + "Information on all applications"; + list app { + key "name"; + description + "List of applications"; + uses app-hosting-ios-xe-oper:virtual-service; + } + list app-resources { + key "name"; + description + "Global resources info"; + uses app-hosting-ios-xe-oper:app-resource; + } + list app-notifications { + key "name"; + description + "Event notification"; + uses app-hosting-ios-xe-oper:app-notification; + } + container app-globals { + presence "app-globals"; + description + "Global app-hosting information"; + uses app-hosting-ios-xe-oper:app-global; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting.yang new file mode 100644 index 000000000..98ccad6de --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-app-hosting.yang @@ -0,0 +1,273 @@ +module Cisco-IOS-XE-app-hosting { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting"; + prefix ios-app-hosting; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE App-Hosting Yang model. + Copyright (c) 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2021-07-01 { + description + "- Added docker run-time option + - Added persist-disk"; + } + revision 2021-03-01 { + description + "- Replaced cli-diff-dependency"; + } + revision 2020-11-01 { + description + "- Added CPU percent that allows user to enter the percentage of + IOX cpu resource, instead of entering unit. If cpu-percent is used, + cpu will be ignored"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-08-16 { + description + "Add add diff-dependency on iox config"; + } + revision 2018-08-02 { + description + "Add custom profile options"; + } + revision 2018-07-26 { + description + "Add app-hosting to native model"; + } + + typedef app-hosting-ip-address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + + grouping config-app-hosting-grouping { + container app-hosting { + description + "Application hosting configuration mode"; + list appid { + description + "Enter Application Name up to 40 alphanumeric characters"; + key "name"; + leaf name { + type string { + length "1..40"; + } + } + container app-default-gateway { + description + "Application default-gateway"; + leaf ip-address { + description + "Ip Address"; + type app-hosting-ip-address; + } + leaf guest-interface { + description + "Application Network Interface #(0..3)"; + type uint8 { + range "0..3"; + } + } + } + container app-resource { + description + "Application resources"; + leaf package-profile { + description + "Application package-profile name"; + type string; + } + container profile { + description + "Application profile name"; + choice profile-choice { + case standard-profile { + leaf profile-name { + type enumeration { + enum tiny; + enum small; + enum large; + enum huge; + } + } + } + case custom-profile { + container custom { + presence "true"; + leaf cpu { + description + "Application CPU units/share quota (will be ignored if cpu-percent is provided)"; + type uint16 { + range "0..20000"; + } + } + leaf cpu-percent { + description + "Application CPU percent"; + type uint8 { + range "0..100"; + } + } + leaf memory { + description + "Memory reservation MB units"; + type uint16 { + range "0..4096"; + } + } + leaf vcpu { + description + "Application vcpu count"; + type uint16; + } + leaf persist-disk { + description + "IOX Application persistent data disk reservation MB units"; + type uint16; + } + } + } + } + } + container docker { + description + "Application docker options"; + presence "true"; + leaf prepend-pkg-opts { + description + "Prepend docker package runtime options"; + type empty; + } + list run-opts { + description + "Multi-line docker run-time options with line index and string"; + key "run-opts"; + leaf run-opts { + type uint8 { + range "1..30"; + } + } + leaf run-options { + type string { + length "1..235"; + } + } + } + } + } + list app-vnic { + description + "Virtual Network Interface"; + key "gateway"; + unique "virtualportgroup"; + unique "guest-interface"; + leaf gateway { + type enumeration { + enum gateway0; + enum gateway1; + enum gateway2; + enum gateway3; + enum l2port; + enum management; + } + } + leaf virtualportgroup { + when "../gateway != 'l2port' and ../gateway != 'management'"; + type uint8 { + range "0..31"; + } + } + leaf guest-interface { + type uint8 { + range "0..3"; + } + } + container guest-ipaddress { + description + "Guest IP address"; + leaf ip-address { + type app-hosting-ip-address; + } + leaf netmask { + type app-hosting-ip-address; + } + } + } + leaf name-server0 { + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf name-server1 { + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf name-server2 { + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf name-server3 { + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf name-server4 { + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf name-server5 { + status obsolete; + description + "Name server Ip Address"; + type app-hosting-ip-address; + } + leaf start { + description + "Start configured app"; + type empty; + } + } + } + } + + augment "/ios:native" { + uses config-app-hosting-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-events.yang new file mode 100644 index 000000000..0ece05113 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-events.yang @@ -0,0 +1,421 @@ +module Cisco-IOS-XE-appqoe-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-events"; + prefix appqoe-ios-xe-events; + + import Cisco-IOS-XE-appqoe-types { + prefix appqoe-types-ios-xe; + } + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AppQoE events operational data. + Copyright (c) 2017-2018, 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "- Added Service Node Group name field and cause enum. + - Added VS app mismatch cause"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + "- Added clear leaf to alarm notification."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-alarm-id { + type enumeration { + enum alarm-id-undefined { + value 0; + description + "An unexpected condition has been detected"; + } + enum alarm-id-sn-state-held-down { + value 1; + description + "Service Node in Held-Down state"; + } + enum alarm-id-sn-state-down { + value 2; + description + "Service Node in Down state"; + } + enum alarm-id-sn-state-green { + value 3; + description + "Service Node in Green state"; + } + enum alarm-id-sn-state-yellow { + value 4; + description + "Service Node in Yellow state"; + } + enum alarm-id-sn-state-red { + value 5; + description + "Service Node in Red state"; + } + enum alarm-id-site-id-mismatch { + value 6; + description + "Service Node Site-ID does not match Service Controller Site-ID"; + } + enum alarm-id-system-ip { + value 7; + description + "There is an issue with the device System-IP"; + } + enum alarm-id-unknown-site-id { + value 8; + description + "Service Node Site-ID is unknown or not defined"; + } + } + description + "Alarm ID"; + } + + typedef appqoe-event-id { + type enumeration { + enum event-id-undefined { + value 0; + description + "An unexpected condition has been detected"; + } + enum event-id-sn-state-green { + value 1; + description + "Service Node in Green state"; + } + } + description + "Event ID"; + } + + typedef appqoe-cause { + type enumeration { + enum cause-undefined { + value 0; + description + "The cause is undefined"; + } + enum cause-bringup { + value 1; + description + "Service has been started"; + } + enum cause-shutdown { + value 2; + description + "Service has been stopped"; + } + enum cause-configuration-error { + value 3; + description + "Configuration error encountered"; + } + enum cause-internal-error { + value 4; + description + "Internal error encountered"; + } + enum cause-resource-error { + value 5; + description + "Resource error encountered"; + } + enum cause-resource-overload { + value 6; + description + "A resource has been exhausted"; + } + enum cause-connection-established { + value 7; + description + "Connection to peer has been established"; + } + enum cause-connection-lost { + value 8; + description + "Connection to peer has been lost"; + } + enum cause-too-many-restarts { + value 9; + description + "An AppQoE service has been restarted multiple times"; + } + enum cause-unknown-system-ip { + value 10; + description + "System-IP is unknown or not defined"; + } + enum cause-unknown-site-id { + value 11; + description + "Service Node Site-ID is unknown or not defined"; + } + enum cause-site-id-mismatch { + value 12; + description + "Service Node Site-ID does not match Service Controller Site-ID"; + } + enum cause-sng-mismatch { + value 13; + description + "Service Node Group configuration mismatch"; + } + enum cause-vs-app-version-mismatch { + value 14; + description + "Virtual Service application version is not compatible with device image version"; + } + enum cause-cps-limit-exceeded { + value 15; + description + "Connections per second (rate) limit has been exceeded for the platform"; + } + } + description + "AppQoE Notification cause/reason"; + } + + typedef appqoe-action { + type enumeration { + enum action-undefined { + value 0; + description + "The action is undefined"; + } + enum action-na { + value 1; + description + "No action needs to be taken"; + } + enum action-check-network-conn { + value 2; + description + "Verify network connection to Service Node is UP"; + } + enum action-check-appqoe-state { + value 3; + description + "Verify AppQoE feature is in Operational"; + } + enum action-restart-appqoe { + value 4; + description + "Restart the AppQoE service"; + } + enum action-resolve-config-error { + value 5; + description + "Resolve the Configuration error"; + } + enum action-contact-tac { + value 6; + description + "Please contact TAC for further assistance"; + } + enum action-install-compatible-version { + value 7; + description + "Please install a compatible virtual application version"; + } + enum action-reduce-cps-rate { + value 8; + description + "Connections per second (rate) limit has been exceeded for the platform, reduce connection rate to ensure it is below the threshold limit"; + } + } + description + "Recommended action to be taken to resolve the issue"; + } + + grouping appqoe-alarm-notification { + description + "AppQoE Alarm Notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Alarm notification severity"; + } + leaf host-name { + type string; + description + "Service Controller Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "Service Controller System-IP"; + } + leaf alarm-id { + type appqoe-ios-xe-events:appqoe-alarm-id; + description + "Uniquely identifies the alarm type"; + } + leaf device-mode { + type appqoe-types-ios-xe:appqoe-device-mode; + description + "Device Mode"; + } + leaf module { + type string; + description + "AppQoE Module"; + } + leaf headline { + type string; + description + "Brief description of the alarm"; + } + leaf cause { + type appqoe-ios-xe-events:appqoe-cause; + description + "If known, provides an explanation of why the alarm was generated"; + } + leaf action { + type appqoe-ios-xe-events:appqoe-action; + description + "Any action, including steps that can be taken"; + } + leaf detail { + type string; + description + "Detailed description of the alarm"; + } + leaf sn-system-ip { + type inet:ip-address; + description + "Service Node System-IP"; + } + leaf clear { + type boolean; + description + "Indicates if alarm is being raised or cleared"; + } + leaf sng-name { + type string; + description + "Service Node Group Name"; + } + } + + grouping appqoe-event-notification { + description + "AppQoE Event Notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Alarm notification severity"; + } + leaf host-name { + type string; + description + "Service Controller Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "Service Controller System-IP"; + } + leaf event-id { + type appqoe-ios-xe-events:appqoe-event-id; + description + "Uniquely identifies the event type"; + } + leaf device-mode { + type appqoe-types-ios-xe:appqoe-device-mode; + description + "Device Mode"; + } + leaf module { + type string; + description + "AppQoE Module"; + } + leaf headline { + type string; + description + "Brief description of the alarm"; + } + leaf cause { + type appqoe-ios-xe-events:appqoe-cause; + description + "If known, provides an explanation of why the alarm was generated"; + } + leaf action { + type appqoe-ios-xe-events:appqoe-action; + description + "Any action, including steps that can be taken"; + } + leaf detail { + type string; + description + "Detailed description of the alarm"; + } + leaf sn-system-ip { + type inet:ip-address; + description + "Service Node System-IP"; + } + leaf sng-name { + type string; + description + "Service Node Group Name"; + } + } + + notification appqoe-alarm { + description + "AppQoE Alarm Notification"; + uses appqoe-ios-xe-events:appqoe-alarm-notification; + } + + notification appqoe-event { + description + "AppQoE Event Notification"; + uses appqoe-ios-xe-events:appqoe-event-notification; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-http-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-http-oper.yang new file mode 100644 index 000000000..86890009c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-http-oper.yang @@ -0,0 +1,523 @@ +module Cisco-IOS-XE-appqoe-http-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-http-oper"; + prefix appqoe-http-xe-oper; + + import Cisco-IOS-XE-appqoe-types { + prefix appqoe-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AppQoE Hypertext Transfer Protocol caching operational data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping appqoe-http-config { + description + "AppQoE HTTP caching service configuration details"; + leaf profile { + type appqoe-types-ios-xe:appqoe-profile-type; + description + "Profile type assigned to the HTTP caching service"; + } + leaf max-cons { + type uint32; + description + "Maximum connections supported based on the profile assigned"; + } + leaf total-disk { + type uint16; + units "gigabytes"; + description + "Total disk space allocated for the HTTP cache"; + } + leaf total-memory { + type uint64; + units "megabytes"; + description + "Total memory allocated to the HTTP caching service"; + } + leaf cpu-cores { + type uint8; + description + "Number of CPU cores allocated to the HTTP caching service"; + } + leaf disk-encrypt { + type boolean; + description + "HTTP cache disk encryption status ON:enabled, OFF:disabled"; + } + } + + grouping http-status-data { + description + "Operational status information of the AppQoE HTTP caching service"; + leaf http-start-time { + type yang:date-and-time; + description + "HTTP caching service start time"; + } + leaf hs-change-reason { + type appqoe-types-ios-xe:appqoe-hs-change-reason; + description + "HTTP health status change reason"; + } + leaf hs-change-time { + type yang:date-and-time; + description + "Time of last HTTP caching service health status change"; + } + leaf last-hs-update { + type yang:date-and-time; + description + "Time of last health status update received from HTTP caching service"; + } + leaf disk-cache-usage { + type uint8; + units "percentage"; + description + "Percentage of disk cache used"; + } + list alarm { + description + "Alarms asserted by HTTP caching service"; + uses appqoe-types-ios-xe:active-appqoe-alarms; + } + container config { + description + "HTTP caching service configuration details"; + uses appqoe-http-xe-oper:appqoe-http-config; + } + } + + grouping appqoe-http-status { + description + "Operational status information of the AppQoE HTTP caching service"; + leaf health-status { + type appqoe-types-ios-xe:appqoe-health-status; + description + "HTTP health status"; + } + container data { + when "(../health-status!='http-status-unavailable' and ../health-status!='http-status-disabled')"; + description + "HTTP status data"; + uses appqoe-http-xe-oper:http-status-data; + } + } + + grouping http-stats-cache { + description + "HTTP cache statistics"; + leaf total-cache { + type uint64; + units "gigabytes"; + description + "Size of the HTTP cache"; + } + leaf total-cache-used { + type uint64; + units "bytes"; + description + "Total number of bytes of HTTP cache currently used"; + } + leaf cache-used-percent { + type uint16; + units "percentage"; + description + "Percentage of HTTP cache currently used"; + } + leaf cache-hits { + type uint64; + description + "Total number of cache hits"; + } + leaf cache-hit-fresh { + type uint64; + description + "Total number of fresh cache hits"; + } + leaf cache-hit-ims { + type uint64; + description + "Total number of If-Modified-Since (IMS) cache hits"; + } + leaf cache-hit-mem-fresh { + type uint64; + description + "Total number of memory fresh cache hits"; + } + leaf cache-hit-reval { + type uint64; + description + "Total number of revalidated cache hits"; + } + leaf cache-hit-stale { + type uint64; + description + "Total number of cache hits served stale"; + } + leaf cache-misses { + type uint64; + description + "Total number of cache miss"; + } + leaf cache-miss-client { + type uint64; + description + "Total number of cache miss when cache not present"; + } + leaf cache-miss-changed { + type uint64; + description + "Total number of cache miss when cache changed"; + } + leaf cache-miss-ims { + type uint64; + description + "Total number of cache miss due to IMS"; + } + leaf cache-miss-other { + type uint64; + description + "Total number of cache miss due to other reasons"; + } + leaf total-ram-cache { + type uint64; + units "megabytes"; + description + "Total RAM cache available"; + } + leaf ram-cache-used { + type uint64; + units "bytes"; + description + "Total RAM cache used"; + } + leaf ram-cache-hit { + type uint64; + description + "Total number of RAM cache hits"; + } + leaf ram-cache-miss { + type uint64; + description + "Total number of RAM cache misses"; + } + leaf cache-read { + type uint64; + units "kbps"; + description + "Total cache read per second (KB/s)"; + } + leaf cache-write { + type uint64; + units "kbps"; + description + "Total cache write per second (KB/s)"; + } + leaf bk-fill-aborted { + type uint64; + description + "Total background-fill download bytes aborted"; + } + leaf bk-fill-completed { + type uint64; + description + "Total background-fill download bytes completed"; + } + } + + grouping http-stats-brief { + description + "HTTP operational statistics"; + leaf last-stats-clr-time { + type yang:date-and-time; + description + "Time HTTP cache service related statistics were last cleared"; + } + leaf total-cons { + type uint64; + description + "Total number of connections"; + } + leaf max-cons { + type uint64; + description + "Total number of maximum concurrent connections"; + } + leaf cur-active-cons { + type uint64; + description + "Total number of current active connections"; + } + leaf active-http-cons { + type uint64; + description + "Total number of active HTTP connections"; + } + leaf active-http2-cons { + type uint64; + description + "Total number of active HTTP 2 connections"; + } + leaf conn-resets { + type uint64; + description + "Total number of connection resets"; + } + leaf http-1-0-conns { + type uint64; + description + "Total number of HTTP-1.0 connections"; + } + leaf http-2-0-conns { + type uint64; + description + "Total number of HTTP-2.0 connections"; + } + } + + grouping http-session-stats { + description + "HTTP session related statistics"; + leaf allocated { + type uint64; + description + "Total number of sessions allocated"; + } + leaf freed { + type uint64; + description + "Total number of session freed"; + } + } + + grouping http-ebp-stats { + description + "HTTP EBP related statistics"; + leaf recvd { + type uint64; + description + "Total number of data buffers received"; + } + leaf freed { + type uint64; + description + "Total number of data buffers freed"; + } + leaf reused { + type uint64; + description + "Total number of data buffers re-used"; + } + leaf allocated { + type uint64; + description + "Total number of data buffers allocated"; + } + leaf sent { + type uint64; + description + "Total number of data buffers sent"; + } + leaf send-failed { + type uint64; + description + "Total number of data buffers failed to send"; + } + leaf no-flow-ctx { + type uint64; + description + "Total number of data buffers dropped due to no flow context"; + } + leaf more-than-max-size { + type uint64; + description + "Total number of times requested data block size was greater than max block size"; + } + leaf less-than-req-size { + type uint64; + description + "Total number of times allocated data block size was less than requested block size"; + } + leaf ctrl-recvd { + type uint64; + description + "Total number of control buffers received"; + } + leaf ctrl-freed { + type uint64; + description + "Total number of control buffers freed"; + } + leaf ctrl-reused { + type uint64; + description + "Total number of control buffers reused"; + } + leaf ctrl-alloc { + type uint64; + description + "Total number of control buffers allocated"; + } + leaf ctrl-sent { + type uint64; + description + "Total number of control buffers sent"; + } + leaf ctrl-send-fail { + type uint64; + description + "Total number of control buffers failed to send"; + } + leaf ctrl-no-flow-ctx { + type uint64; + description + "Total number of control buffers dropped due to no flow context"; + } + leaf ctrl-req-more { + type uint64; + description + "Total number of times requested control block size was greater than max block size"; + } + leaf ctrl-ret-less { + type uint64; + description + "Total number of times allocated control block size was less than requested block size"; + } + } + + grouping appqoe-http-stats-detail { + description + "Detailed set of statistics for the AppQoE HTTP caching service"; + leaf status { + type appqoe-types-ios-xe:appqoe-health-status; + description + "HTTP caching health status"; + } + container stats-data { + description + "HTTP caching service connection statistics"; + uses appqoe-http-xe-oper:http-stats-brief; + } + container cache-data { + description + "Cache statistics of HTTP caching service"; + uses appqoe-http-xe-oper:http-stats-cache; + } + leaf accept-failed { + type uint64; + description + "Total number of server intercept accept failed"; + } + leaf vio-wcapi-wr-failed { + type uint64; + description + "Total number of VIO to WCAPI write failed"; + } + leaf wcapi-vio-wr-failed { + type uint64; + description + "Total number of WCAPI to VIO write failed"; + } + leaf send-flow-ctrl { + type uint64; + description + "Total number of flow control message send failed"; + } + leaf reset-recv { + type uint64; + description + "Total number of service reset received"; + } + container sess-data { + description + "Session statistics of HTTP caching service"; + uses appqoe-http-xe-oper:http-session-stats; + } + container ebp-stats { + description + "HTTP extensible buffer pool (EBP) statistics"; + uses appqoe-http-xe-oper:http-ebp-stats; + } + } + + grouping appqoe-http-stats { + description + "Brief set of statistics for the AppQoE HTTP caching service"; + leaf status { + type appqoe-types-ios-xe:appqoe-health-status; + description + "HTTP health status"; + } + container stats-data { + description + "HTTP caching service connection statistics"; + uses appqoe-http-xe-oper:http-stats-brief; + } + container cache-data { + description + "HTTP cache statistics"; + uses appqoe-http-xe-oper:http-stats-cache; + } + } + + container appqoe-http-oper-data { + config false; + description + "AppQoE HTTP caching operational data"; + container appqoe-http-status { + presence "appqoe-http-status"; + description + "Operational status information of the AppQoE HTTP caching service"; + uses appqoe-http-xe-oper:appqoe-http-status; + } + container appqoe-http-stats-detail { + presence "appqoe-http-stats-detail"; + description + "Detailed set of statistics for the AppQoE HTTP caching service"; + uses appqoe-http-xe-oper:appqoe-http-stats-detail; + } + container appqoe-http-stats { + presence "appqoe-http-stats"; + description + "Brief set of statistics for the AppQoE HTTP caching service"; + uses appqoe-http-xe-oper:appqoe-http-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-oper.yang new file mode 100644 index 000000000..8ffe26eb9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-oper.yang @@ -0,0 +1,3043 @@ +module Cisco-IOS-XE-appqoe-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-oper"; + prefix appqoe-xe-oper; + + import Cisco-IOS-XE-appqoe-types { + prefix appqoe-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Application Quality of Experience (APPQOE) operational data. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added support for AppQoE AOIM statistics + - Added support for AppQoE AD statistics + - Added support for AppQoE service chain status information + - Added support for AppQoE TCP optimization status information"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-07-01 { + description + "Added counters for control and version probe corrupt packets"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added support for the HTTP caching EBP and SIPC stats"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Added support for SPPI and NAT stats + - Added support for AppQoE sub service status + - Updated infra statistics"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-rm-status { + type enumeration { + enum status-green { + value 0; + description + "RM Status is GREEN"; + } + enum status-yellow { + value 1; + description + "RM Status is YELLOW"; + } + } + description + "APPQOE RM status"; + } + + typedef bbr-state { + type enumeration { + enum bbr-startup { + value 0; + description + "Startup state"; + } + enum bbr-drain { + value 1; + description + "Drain state"; + } + enum probertt { + value 2; + description + "Probe Round Trip Time (RTT) state"; + } + enum idle-exit { + value 3; + description + "Exit Idle state"; + } + enum bbr-probebw { + value 4; + description + "Probe Bandwidth state"; + } + enum sub-drain { + value 5; + description + "Sub drain state"; + } + enum sub-gain { + value 6; + description + "Sub gain state"; + } + enum sub-level { + value 7; + description + "Sub level state"; + } + } + description + "Bottleneck Bandwidth and Round-trip propagation time (BBR) States"; + } + + typedef state-tran { + type enumeration { + enum startup-to-drain { + value 0; + description + "Startup to Drain state"; + } + enum startup-to-probebw { + value 1; + description + "Startup to Probe Bandwidth state"; + } + enum startup-to-probertt { + value 2; + description + "Startup to Probe RTT state"; + } + enum drain-to-probebw { + value 3; + description + "Drain to Probe Bandwidth state"; + } + enum probe-to-probertt { + value 4; + description + "Probe Bandwidth to Probe RTT state"; + } + enum probertt-to-startup { + value 5; + description + "Probe RTT to Startup state"; + } + enum probertt-probebw { + value 6; + description + "Probe RTT to Probe Bandwidth state"; + } + enum idleexit-to-probebw { + value 7; + description + "Idle Exit to Probe Bandwidth state"; + } + } + description + "BBR state transitions"; + } + + typedef timer-source { + type enumeration { + enum wrong-timer { + value 0; + description + "No. of times HPTS timer wrongly started"; + } + enum timeout-persist { + value 1; + description + "No. of times persistent timer started"; + } + enum timeout-keepalive { + value 2; + description + "No. of times keepalive timer started"; + } + enum init { + value 3; + description + "HPTS timer started during connection initialization"; + } + enum do-segment-unlock1 { + value 4; + description + "HPTS timer started after receiving the segment"; + } + enum do-segment-unlock2 { + value 5; + description + "HPTS timer started after receiving the segment and more data + is available to send"; + } + enum output-wtime { + value 6; + description + "HPTS timer started without transmitted data"; + } + enum output-wtime-emsgsize { + value 7; + description + "HPTS timer started due to memory exhaustion"; + } + enum output-wtime-default { + value 8; + description + "HPTS timer started as BBR failed to send segment due to unknown reason"; + } + enum output-wtime-enobufs { + value 9; + description + "HPTS timer started after transmitting the data"; + } + } + description + "High Precision timer System (HPTS) Timer started"; + } + + typedef bbr-slot { + type enumeration { + enum slot-0 { + value 0; + description + "Pacing delay is equal to 0"; + } + enum slot-1-5 { + value 1; + description + "Pacing delay is equal and greater than 1 and + less than and equal to 5"; + } + enum slot-6-10 { + value 2; + description + "Pacing delay is greater than 5 and less than equal to 10"; + } + enum slot-11-20 { + value 3; + description + "Pacing delay is greater than 10 and less than equal to 20"; + } + enum slot-21-50 { + value 4; + description + "Pacing delay is greater than 20 and less than equal to 50"; + } + enum slot-51-100 { + value 5; + description + "Pacing delay is greater than 50 and less than equal to 100"; + } + enum slot-101-500 { + value 6; + description + "Pacing delay is greater than 100 and less than equal to 500"; + } + enum slot-501-1000 { + value 7; + description + "Pacing delay is greater than 500 and less than equal to 1000"; + } + enum slot-gt-1us { + value 8; + description + "Pacing delay Greater than 1000"; + } + } + description + "Pacing Delay (in us)"; + } + + typedef rem-timer { + type enumeration { + enum rem-wrong-timer { + value 0; + description + "HPTS timer stopped as it is wrongly started"; + } + enum cancel-timer { + value 1; + description + "HPTS timer cancelled"; + } + enum rem-timer-exit-persist { + value 2; + description + "HPTS timer stopped due to persistent timeout"; + } + enum rem-timer-seg-unlock { + value 3; + description + "HPTS timer stopped once segment is received"; + } + enum rem-timer-pace-pkt { + value 4; + description + "HPTS timer stopped before transmitting the segment"; + } + enum rem-timer-early-state-exempt { + value 5; + description + "HPTS timer stopped if running before connection establishment"; + } + enum rem-timer-delay-exceed { + value 6; + description + "HPTS timer stopped due to delayed expiry."; + } + enum rem-timer-connection-closed { + value 7; + description + "HPTS timer stopped due to connection termination"; + } + } + description + "HPTS Timer Stopped"; + } + + typedef bbr-bw { + type enumeration { + enum bw-lt-1kbps { + value 0; + description + "Bandwidth is less than 1 KBps"; + } + enum bw-1-250kbps { + value 1; + description + "Bandwidth is greater than 1 KBps and less than equal to 250 KBps"; + } + enum bw-251-500kbps { + value 2; + description + "Bandwidth is greater than 250 KBps and less than equal to 500 KBps"; + } + enum bw-500-1mbps { + value 3; + description + "Bandwidth is greater than 500 KBps and less than equal to 1 MBps"; + } + enum bw-1-2mbps { + value 4; + description + "Bandwidth is greater than 1 MBps and less than equal to 2 MBps"; + } + enum bw-2-5mbps { + value 5; + description + "Bandwidth is greater than 2 MBps and less than equal to 5 MBps"; + } + enum bw-5-10mbps { + value 6; + description + "Bandwidth is greater than 5 MBps and less than equal to 10 MBps"; + } + enum bw-gt-10mbps { + value 7; + description + "Bandwidth is greater than 10 MBps"; + } + } + description + "Bandwidth Distribution"; + } + + typedef bbr-rtt { + type enumeration { + enum rtt-lt-1ms { + value 0; + description + "RTT is less than 1 milliseconds"; + } + enum rtt-1ms { + value 1; + description + "RTT is equals 1 milliseconds"; + } + enum rtt-1-50ms { + value 2; + description + "RTT is greater than 1 and less than equal to 50 milliseconds"; + } + enum rtt-51-100ms { + value 3; + description + "RTT is greater than 1 and less than equal to 50 milliseconds"; + } + enum rtt-101-150ms { + value 4; + description + "RTT is greater than 1 and less than equal to 50 milliseconds"; + } + enum rtt-151-200ms { + value 5; + description + "RTT is greater than 1 and less than equal to 50 milliseconds"; + } + enum rtt-gt-200ms { + value 6; + description + "RTT is greater than 200 milliseconds"; + } + } + description + "Round Trip Time (RTT) of TCP segments (in milliseconds)"; + } + + typedef tcp-proxy-ebp-service-id { + type enumeration { + enum ebp-notused-id { + value 0; + description + "TCP PROXY EBP identifier not used"; + } + enum ebp-htx-ssl-id { + value 1; + description + "TCP PROXY EBP TCP SSL identifier"; + } + enum ebp-dre-id { + value 2; + description + "TCP PROXY EBP DRE identifier"; + } + enum ebp-http-id { + value 3; + description + "TCP PROXY EBP HTTP identifier"; + } + } + description + "Elastic Buffer Pool (EBP) service identifier"; + } + + typedef sipc-service-id { + type enumeration { + enum sipc-notused-id { + value 0; + description + "SIPC identifier not used"; + } + enum sipc-server-id { + value 1; + description + "SIPC server identifier"; + } + enum sipc-dre-id { + value 2; + description + "Identifier used for communication between with DRE over SIPC"; + } + enum sipc-utd-id { + value 3; + description + "Identifier used for communication with first instance of UTD over SIPC"; + } + enum sipc-utd-1-id { + value 4; + description + "Identifier used for communication with second instance of UTD over SIPC"; + } + enum sipc-utd-2-id { + value 5; + description + "Identifier used for communication with third instance of UTD over SIPC"; + } + enum sipc-utd-3-id { + value 6; + description + "Identifier used for communication with fourth instance of UTD over SIPC"; + } + enum sipc-utd-4-id { + value 7; + description + "Identifier used for communication with fifth instance of UTD over SIPC"; + } + enum sipc-utd-5-id { + value 8; + description + "Identifier used for communication with sixth instance of UTD over SIPC"; + } + enum sipc-http-id { + value 9; + description + "Identifier used for communication between with HTTP over SIPC"; + } + } + description + "SIPC service identifier"; + } + + typedef sipc-fifo-type { + type enumeration { + enum sipc-fifo-type-normal { + value 0; + description + "SIPC FIFO type is normal"; + } + enum sipc-fifo-type-elastic { + value 1; + description + "SIPC FIFO type is elastic"; + } + } + description + "SIPC FIFO type"; + } + + typedef sipc-pause-status { + type enumeration { + enum appqoe-sipc-fifo-nopause { + value 0; + description + "SIPC FIFO is not paused"; + } + enum appqoe-sipc-fifo-paused { + value 1; + description + "SIPC FIFO is paused"; + } + enum appqoe-sipc-status-probe { + value 2; + description + "SIPC is probing the status"; + } + } + description + "SIPC FIFO pause status"; + } + + typedef wcapi-peer-status { + type enumeration { + enum wcapi-status-unknown { + value 0; + description + "WCAPI connection to peer is unknown"; + } + enum wcapi-status-up { + value 1; + description + "WCAPI connection to peer is up"; + } + enum wcapi-status-down { + value 2; + description + "WCAPI connection to peer is down"; + } + } + description + "WCAPI peer status"; + } + + typedef appqoe-aoim-ao { + type enumeration { + enum appqoe-aoim-ao-ssl { + value 0; + description + "AOIM application optimiser is SSL"; + } + enum appqoe-aoim-ao-dre { + value 1; + description + "AOIM application optimiser is DRE"; + } + enum appqoe-aoim-ao-http { + value 2; + description + "AOIM application optimiser is HTTP"; + } + } + description + "APPQOE AOIM application optimiser type"; + } + + typedef appqoe-svc-conn-status { + type enumeration { + enum appqoe-svc-chain-up { + value 0; + description + "Service chain is up"; + } + enum appqoe-svc-chain-down { + value 1; + description + "Service chain is down"; + } + } + description + "AppQoE individual service connection status"; + } + + typedef appqoe-tcpopt-run-status { + type enumeration { + enum appqoe-tcpopt-running { + value 0; + description + "TCP is running"; + } + enum appqoe-tcpopt-not-running { + value 1; + description + "TCP is not running"; + } + } + description + "AppQoE TCP running state"; + } + + grouping appqoe-sc { + description + "Service controller detail"; + leaf sc-lan-ip { + type inet:ip-address; + description + "Local Area Network Internet Protocol + (LAN IP) address of service controller"; + } + leaf system-ip { + type inet:ip-address; + description + "System Internet Protocol (IP) address of + service controller"; + } + leaf site-id { + type uint32; + description + "Site Identifier (ID) of service controller"; + } + leaf sn-lan-ip { + type inet:ip-address; + description + "Local Area Network Internet Protocol + (LAN IP) address of service node"; + } + } + + grouping appqoe-nat-stats { + description + "NAT statistics"; + leaf insert-succ { + type uint64; + description + "Insert into the table is successful"; + } + leaf delete-succ { + type uint64; + description + "Delete from the table is successful"; + } + leaf dup-entries { + type uint64; + description + "Duplicate NAT entry found"; + } + leaf alloc-fail { + type uint64; + description + "Memory allocation failed for NAT entry"; + } + leaf port-alloc-succ { + type uint64; + description + "Allocation for port is successful for NAT translation"; + } + leaf port-alloc-fail { + type uint64; + description + "Allocation for port failed for NAT translation"; + } + leaf port-free-succ { + type uint64; + description + "Port free successful for NAT entry"; + } + leaf port-free-fail { + type uint64; + description + "Port free failed for NAT entry"; + } + } + + grouping libsppi-queue-stats { + description + "For queue 0 or queue 1 in SPPI"; + leaf queue-num { + type uint32; + description + "Number of queues is in use in SPPI"; + } + leaf in-use { + type uint64; + description + "Queue is in use in SPPI"; + } + leaf not-init { + type uint64; + description + "Queue not initialized in use in SPPI"; + } + leaf nomem { + type uint64; + description + "No memory available in SPPI"; + } + leaf no-dev { + type uint64; + description + "No device available in SPPI"; + } + leaf invalid-mode { + type uint64; + description + "Invalid mode in SPPI"; + } + leaf invalid-ring { + type uint64; + description + "Invalid ring in SPPI"; + } + leaf invalid-ring-type { + type uint64; + description + "Invalid ring type in SPPI"; + } + leaf invalid-size { + type uint64; + description + "Invalid size in SPPI"; + } + leaf mmap-error { + type uint64; + description + "Memory map error in SPPI"; + } + leaf poll-error { + type uint64; + description + "Polling error in SPPI"; + } + leaf sock-error { + type uint64; + description + "Socket error in SPPI"; + } + leaf no-pkt-buf { + type uint64; + description + "No packet buffer in SPPI"; + } + leaf no-iov-buf { + type uint64; + description + "No IO vector buffer in SPPI"; + } + leaf truncated { + type uint64; + description + "Truncated packets in SPPI"; + } + leaf pkt-losing { + type uint64; + description + "Lost packets in SPPI"; + } + leaf pkt-send-failed { + type uint64; + description + "Packet send failed in SPPI"; + } + leaf pkt-read-failed { + type uint64; + description + "Packet read failed in SPPI"; + } + leaf pkt-available { + type uint64; + description + "Packet available in SPPI"; + } + leaf pkt { + type uint64; + description + "Number of packets in SPPI"; + } + leaf tpkt-version-error { + type uint64; + description + "Packet memory map version error in SPPI"; + } + } + + grouping libsppi-pipe-stats { + description + "For control or data channels in SPPI"; + leaf p-invalid-queue-id { + type uint64; + description + "Invalid queue id for pipe in SPPI"; + } + leaf p-in-use { + type uint64; + description + "Pipe is in use in SPPI"; + } + leaf p-sock-error { + type uint64; + description + "Socket error with respect to pipe in SPPI"; + } + leaf p-ifindex-error { + type uint64; + description + "Index failed for pipe in SPPI"; + } + leaf p-invalid-mtu { + type uint64; + description + "Invalid MTU failed for pipe in SPPI"; + } + leaf p-disconnect { + type uint64; + description + "Connection disconnected for pipe in SPPI"; + } + } + + grouping libsppi-channel-stats { + description + "For control or data channels in SPPI"; + leaf channel-num { + type uint32; + description + "Number of channels in SPPI"; + } + container pipe { + description + "For pipe in SPPI"; + uses appqoe-xe-oper:libsppi-pipe-stats; + } + list queue { + description + "For queue in SPPI"; + uses appqoe-xe-oper:libsppi-queue-stats; + } + } + + grouping libsppi-stats { + description + "APPQOE statistics for SPPI "; + list channel { + description + "For control or data packets in SPPI"; + uses appqoe-xe-oper:libsppi-channel-stats; + } + } + + grouping appqoe-rm-global-resource { + description + "APPQOE RM global resources"; + leaf max-serv-mem { + type uint64; + units "kilobytes"; + description + "Maximum service memory available for use"; + } + leaf used-serv-mem { + type uint64; + units "kilobytes"; + description + "Currently used service memory"; + } + leaf avail-sys-mem { + type uint64; + units "kilobytes"; + description + "Currently available system memory"; + } + leaf per-used-serv-mem { + type uint8; + units "percentage"; + description + "Used service memory in percentage"; + } + leaf rm-svc-mem-flag { + type appqoe-xe-oper:appqoe-rm-status; + description + "Service memory status flag"; + } + leaf rm-tcp-sess-flag { + type appqoe-xe-oper:appqoe-rm-status; + description + "TCP session status flag"; + } + leaf rm-global-health-flag { + type appqoe-xe-oper:appqoe-rm-status; + description + "Overall health status flag"; + } + } + + grouping appqoe-rm-serv { + description + "APPQOE RM client statistics"; + leaf max-sess { + type uint32; + description + "Maximum sessions allowed for the client"; + } + leaf used-sess { + type uint32; + description + "Number of used sessions by the client"; + } + leaf mem-per-sess { + type uint32; + units "kilobytes"; + description + "Memory required per session for the client"; + } + } + + grouping appqoe-rm-resources { + description + "APPQOE RM resources statistics"; + container glob { + description + "Service wide resources statistics"; + uses appqoe-xe-oper:appqoe-rm-global-resource; + } + container dre { + description + "DRE resources statistics"; + uses appqoe-xe-oper:appqoe-rm-serv; + } + container ssl { + description + "SSL resources statistics"; + uses appqoe-xe-oper:appqoe-rm-serv; + } + container tcp { + description + "TCP resources statistics"; + uses appqoe-xe-oper:appqoe-rm-serv; + } + container http { + description + "HTTP resources statistics"; + uses appqoe-xe-oper:appqoe-rm-serv; + } + } + + grouping hput-channel-stat { + description + "Statistics for HPUT"; + leaf hs-min-sch-delay { + type uint64; + units "microseconds"; + description + "Min scheduling delay to schedule thread"; + } + leaf hs-max-sch-delay { + type uint64; + units "microseconds"; + description + "Max scheduling delay to schedule thread"; + } + leaf hs-timer-add-req { + type uint64; + description + "Request to add HPUT timer"; + } + leaf hs-timer-added { + type uint64; + description + "Timer added successfully"; + } + leaf hs-timer-add-expired { + type uint64; + description + "Timer expired before adding timer request"; + } + leaf hs-timer-del-req { + type uint64; + description + "Request to delete Timer"; + } + leaf hs-timer-deleted { + type uint64; + description + "Timer deleted successfully"; + } + leaf hs-timer-del-failed { + type uint64; + description + "Timer delete failed"; + } + leaf hs-timer-alloc { + type uint64; + description + "Timer node allocation"; + } + leaf hs-timer-dealloc { + type uint64; + description + "Timer node de-allocation"; + } + leaf hs-time-node-alloc { + type uint64; + description + "Time node allocation"; + } + leaf hs-time-node-dealloc { + type uint64; + description + "Time node de-allocation"; + } + leaf hs-time-node-added { + type uint64; + description + "Time node added successfully in tree"; + } + leaf hs-time-node-exist { + type uint64; + description + "Time node already exists in tree"; + } + leaf hs-time-node-deleted { + type uint64; + description + "Time node deleted from tree"; + } + leaf hs-time-node-expired { + type uint64; + description + "Time node expired"; + } + leaf hs-timer-cb { + type uint64; + description + "No timer callback called"; + } + leaf hs-ktimer-cb { + type uint64; + description + "Kernel timer callback"; + } + leaf hs-ktimer-start { + type uint64; + description + "Kernel timer start"; + } + leaf hs-ktimer-stop { + type uint64; + description + "Kernel timer stop"; + } + leaf hs-expired-list-alloc { + type uint64; + description + "Expired list allocation"; + } + leaf hs-expired-list-dealloc { + type uint64; + description + "Expired list de-allocation"; + } + leaf hs-curr-node-null { + type uint64; + description + "Current node which processing kernel callback"; + } + leaf hs-curr-node-ts-not-valid { + type uint64; + description + "Current node TS is not expired"; + } + leaf hs-exp-list-process { + type uint64; + description + "Expired list processed"; + } + leaf hs-expired-send-sig { + type uint64; + description + "Delete expired signal send"; + } + leaf hs-pending-list-process { + type uint64; + description + "Pending list processing"; + } + leaf hs-sch-delay10us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 10 microsecond"; + } + leaf hs-sch-delay20us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 20 microsecond"; + } + leaf hs-sch-delay30us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 30 microsecond"; + } + leaf hs-sch-delay40us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 40 microsecond"; + } + leaf hs-sch-delay50us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 50 microsecond"; + } + leaf hs-sch-delay100us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 100 microsecond"; + } + leaf hs-sch-delay200us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 200 microsecond"; + } + leaf hs-sch-delay300us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 300 microsecond"; + } + leaf hs-sch-delay400us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 400 microsecond"; + } + leaf hs-sch-delay500us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 500 microsecond"; + } + leaf hs-sch-delay600us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 600 microsecond"; + } + leaf hs-sch-delay700us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 700 microsecond"; + } + leaf hs-sch-delay800us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 800 microsecond"; + } + leaf hs-sch-delay900us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 900 microsecond"; + } + leaf hs-sch-delay1000us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 1 ms"; + } + leaf hs-sch-delay10000us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 10 ms"; + } + leaf hs-sch-delay100000us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 100 ms"; + } + leaf hs-sch-delay1000000us { + type uint64; + units "microseconds"; + description + "Scheduling delay less than 1000 ms"; + } + } + + grouping hput-timer-stat { + description + "HPUT timer statistics for system and high precision timers"; + leaf uhs-callout { + type uint64; + description + "Call-out function is called"; + } + leaf uhs-callout-del { + type uint64; + description + "Call-out marked for cancelled"; + } + leaf uhs-callout-not-pending { + type uint64; + description + "Call-out not pending"; + } + leaf uhs-callout-cancel { + type uint64; + description + "Call-out cancel when trying to execute callback"; + } + leaf uhs-callout-lock { + type uint64; + description + "Call-out class lock"; + } + leaf uhs-callout-unlock { + type uint64; + description + "Call-out class unlock"; + } + leaf uhs-callout-drain { + type uint64; + description + "Call-out drain function called"; + } + leaf uhs-callout-done { + type uint64; + description + "Call-out marked done"; + } + leaf uhs-callout-call { + type uint64; + description + "Calling callback from call-out"; + } + leaf uhs-add { + type uint64; + description + "Call-out add"; + } + leaf uhs-add-fail { + type uint64; + description + "Call-out add failed"; + } + leaf uhs-rst-sbt-req { + type uint64; + description + "Call-out reset on request"; + } + leaf uhs-rst-sbt-drain { + type uint64; + description + "Call-out drain function is called so do not reschedule call-out"; + } + leaf uhs-rst-sbt-cancel { + type uint64; + description + "Call-out not found but still we can cancel it"; + } + leaf uhs-rst-sbt-del { + type uint64; + description + "Call-out deleted"; + } + leaf uhs-rst-sbt-add { + type uint64; + description + "Call-out add request"; + } + leaf uhs-stop { + type uint64; + description + "Call-out stop request"; + } + leaf uhs-stop-nodrain { + type uint64; + description + "Call-out stop request with no drain"; + } + leaf uhs-stop-drain { + type uint64; + description + "Call-out stop request with drain"; + } + leaf uhs-stop-cancel { + type uint64; + description + "Call-out stop request to cancel the call-out"; + } + leaf uhs-stop-no-pending { + type uint64; + description + "Call-out pending is not set while stop"; + } + leaf uhs-stop-del-cancel { + type uint64; + description + "Call-out stop to cancel the call-out"; + } + leaf uhs-stop-del { + type uint64; + description + "Call-out stop to delete the call-out"; + } + leaf uhs-raw-add { + type uint64; + description + "Call-out raw add"; + } + leaf uhs-raw-add-failed { + type uint64; + description + "Call-out raw add failed"; + } + leaf uhs-raw-cb { + type uint64; + description + "Call-out raw callback"; + } + } + + grouping hput-stats-cpu { + description + "HPUT statistics per CPU "; + leaf uihs-nr-hpts-cpu { + type uint8; + description + "Number of high precision timers per CPU"; + } + container channel { + description + "HPUT timer statistics"; + uses appqoe-xe-oper:hput-channel-stat; + } + container timer { + description + "HPUT timer statistics for system"; + uses appqoe-xe-oper:hput-timer-stat; + } + } + + grouping hput-stats { + description + "APPQOE HPUT statistics "; + list stat { + description + "HPUT statistics"; + uses appqoe-xe-oper:hput-stats-cpu; + } + } + + grouping rm-client-stat { + description + "Resource manager client statistics"; + leaf client-num { + type uint8; + description + "Number of clients for RM"; + } + leaf tcp-sess-alloc { + type uint32; + description + "TCP session allocation for RM client"; + } + leaf tcp-sess-free { + type uint32; + description + "TCP session free for RM client"; + } + leaf ssl-sess-alloc { + type uint32; + description + "SSL session allocation for RM client"; + } + leaf ssl-sess-free { + type uint32; + description + "SSL session free for RM client"; + } + leaf dre-sess-alloc { + type uint32; + description + "Container session allocation for RM client"; + } + leaf dre-sess-free { + type uint32; + description + "Container session free for RM client"; + } + leaf http-sess-alloc { + type uint32; + description + "HTTP session allocation for RM client"; + } + leaf http-sess-free { + type uint32; + description + "HTTP session free for RM client"; + } + } + + grouping rm-stats { + description + "Resource manager statistics"; + leaf session-health-yellow-cnt { + type uint64; + description + "Session health yellow status for RM"; + } + leaf session-health-green-cnt { + type uint64; + description + "Session health green status for RM"; + } + leaf svc-mem-health-yellow-cnt { + type uint64; + description + "Memory health yellow status for RM"; + } + leaf svc-mem-health-green-cnt { + type uint64; + description + "Memory health green status for RM"; + } + leaf overall-health-yellow-cnt { + type uint64; + description + "Overall health yellow status for RM"; + } + leaf overall-health-green-cnt { + type uint64; + description + "Overall health green status for RM"; + } + leaf dre-reserve-failure-cnt { + type uint64; + description + "DRE reserve failures due to health status for RM"; + } + list stat { + description + "Client stats for RM"; + uses appqoe-xe-oper:rm-client-stat; + } + } + + grouping bstates { + description + "BBR States"; + leaf state-type { + type appqoe-xe-oper:bbr-state; + description + "BBR state type"; + } + leaf state-value { + type uint64; + description + "BBR state value"; + } + } + + grouping bstate-tran { + description + "BBR state transition"; + leaf st-type { + type appqoe-xe-oper:state-tran; + description + "BBR state transition type"; + } + leaf st-value { + type uint64; + description + "BBR State transition value"; + } + } + + grouping btimer-source { + description + "HPTS timer started"; + leaf ts-type { + type appqoe-xe-oper:timer-source; + description + "List of HPTS timer started"; + } + leaf ts-value { + type uint64; + description + "HPTS timer started value"; + } + } + + grouping bslot { + description + "Pacing Delay"; + leaf slot-type { + type appqoe-xe-oper:bbr-slot; + description + "Pacing delay type"; + } + leaf slot-value { + type uint64; + description + "Pacing delay value"; + } + } + + grouping brem-timer { + description + "HPTS timer stopped"; + leaf rt-type { + type appqoe-xe-oper:rem-timer; + description + "List of HPTS timer stopped"; + } + leaf rt-value { + type uint64; + description + "HPTS Timer stopped value"; + } + } + + grouping bbw { + description + "Bandwidth distribution"; + leaf bw-type { + type appqoe-xe-oper:bbr-bw; + description + "Bandwidth type"; + } + leaf bw-value { + type uint64; + description + "Bandwidth value"; + } + } + + grouping brtt { + description + "RTT (in ms)"; + leaf rtt-type { + type appqoe-xe-oper:bbr-rtt; + description + "RTT type"; + } + leaf rtt-value { + type uint64; + description + "RTT value"; + } + } + + grouping appqoe-libuinet-stats { + description + "Application Quality of Experience (APPQOE) TCP/IP stack statistics"; + leaf sppi-pkt-avail { + type uint64; + description + "Packets received by Service Plane Packet Interface (SPPI)"; + } + leaf sppi-pkt-avail-error { + type uint64; + description + "Packets dropped by SPPI"; + } + leaf sppi-rx { + type uint64; + description + "Packets successfully processed by SPPI"; + } + leaf sppi-rx-fail { + type uint64; + description + "SPPI failed to process packets"; + } + leaf sppi-tx { + type uint64; + description + "Packets successfully transmitted by SPPI"; + } + leaf sppi-tx-fail { + type uint64; + description + "SPPI failed to transmit packets"; + } + leaf sppi-tx-full-wait { + type uint64; + description + "Outgoing queue is full while transmitting the packets"; + } + leaf sppi-pd-alloc-success { + type uint64; + description + "Memory buffer allocation is successful in SPPI"; + } + leaf sppi-pd-alloc-fail { + type uint64; + description + "Memory buffer allocation is failed in SPPI"; + } + leaf sppi-pb-curr-cnt { + type uint64; + description + "Free blocks available with SPPI"; + } + leaf sppi-pipe-disconnect { + type uint64; + description + "SPPI is disconnected from Memory Interface Channel"; + } + leaf vpath-in { + type uint64; + description + "Packets received by APPQOE TCP/IP stack"; + } + leaf vpath-ctrl-pkt { + type uint64; + description + "Control packets received by APPQOE TCP/IP stack"; + } + leaf vpath-data-pkt { + type uint64; + description + "Date packets received by APPQOE TCP/IP stack"; + } + leaf vpath-drop { + type uint64; + description + "Packets dropped by APPQOE TCP/IP stack"; + } + leaf vpath-non-vpath { + type uint64; + description + "Non virtual path packets received by APPQOE TCP/IP stack"; + } + leaf vpath-decap { + type uint64; + description + "Received packets successfully unwrap by APPQOE TCP/IP stack"; + } + leaf vpath-encap { + type uint64; + description + "Received packets successfully encapsulate by APPQOE TCP/IP stack"; + } + leaf vpath-out { + type uint64; + description + "Packets transmitted by APPQOE TCP/IP stack"; + } + leaf vpath-syn-pkt { + type uint64; + description + "TCP SYN segments received by APPQOE TCP/IP stack"; + } + leaf vpath-ip-input-pkts { + type uint64; + description + "TCP packets intercepted by APPQOE TCP/IP stack "; + } + leaf vpath-ip-input-bytes { + type uint64; + description + "Total bytes received by APPQOE TCP/IP stack"; + } + leaf vpath-ip-output-pkts { + type uint64; + description + "TCP packets transmitted by APPQOE TCP/IP stack"; + } + leaf vpath-ip-output-bytes { + type uint64; + description + "TCP bytes transmitted by APPQOE TCP/IP stack"; + } + leaf vpath-flow-info-alloc { + type uint64; + description + "TCP connections flow entries created"; + } + leaf vpath-flow-info-alloc-fail { + type uint64; + description + "TCP connections flow entries creations failed"; + } + leaf vpath-flow-info-free { + type uint64; + description + "TCP connections flow freed"; + } + leaf vpath-rx-ver-probe-pkts { + type uint64; + description + "Version probe packets received by APPQOE TCP/IP Stack"; + } + leaf vpath-rx-control-pkts { + type uint64; + description + "Control packets received by APPQOE TCP/IP Stack"; + } + leaf vp-rx-ctl-msg-hprobe-pkts { + type uint64; + description + "Control health probe packets received by APPQOE TCP/IP stack"; + } + leaf vp-nat-lkup-failed-non-syn { + type uint64; + description + "Nat lookup is failed for incoming TCP non SYN packet in + APPQOE TCP/IP stack"; + } + leaf vp-nat-lkup-success-syn { + type uint64; + description + "Nat lookup is successfully for incoming SYN packets in + APPQOE TCP/IP stack"; + } + leaf vpath-icmp-in { + type uint64; + description + "ICMP packets received by APPQOE TCP/IP stack"; + } + leaf vpath-icmp-success { + type uint64; + description + "ICMP successfully processed by APPQOE TCP/IP stack"; + } + leaf vpath-icmp-failure { + type uint64; + description + "Failed to process received ICMP packets by APPQOE TCP/IP stack"; + } + leaf vpath-min-mbuf-threshold { + type uint64; + description + "Packets dropped due to minimum threshold"; + } + leaf vpath-syn-pps-drop { + type uint64; + description + "SYN dropped due to maximum packet per second reached"; + } + leaf vpath-conn-del-pkts { + type uint64; + description + "TCP connection flow delete notification packets sent"; + } + leaf vp-conndelpkts-alloc-fail { + type uint64; + description + "Flow delete notification packets allocation failed"; + } + leaf vpath-conn-del-pkts-fail { + type uint64; + description + "Failed to send flow delete notification packets"; + } + leaf vpath-new-con-failed { + type uint64; + description + "Failed to create new TCP connection"; + } + leaf vp-flowinfosn-ip-not-set { + type uint64; + description + "TCP connection flow does not get Service Node (SN) IP Address"; + } + leaf vpath-sn-ip-map-added { + type uint64; + description + "Added SN IP Map"; + } + leaf vpath-sn-ip-map-updated { + type uint64; + description + "Updated SN IP Map"; + } + leaf vp-sn-ip-map-overwritten { + type uint64; + description + "Overwritten SN IP Map"; + } + leaf vpath-sn-ip-map-not-added { + type uint64; + description + "Failed to add SN IP Map"; + } + leaf vpath-sn-ip-map-not-found { + type uint64; + description + "Failed to find SN IP Map"; + } + leaf vpath-netisr-ip-drop { + type uint64; + description + "IP Packets dropped by APPQOE TCP/IP stack"; + } + leaf vpath-ip-frag-pkt { + type uint64; + description + "Received IP fragmented packets by APPQOE TCP/IP stack"; + } + leaf vpath-ad-opt-not-added { + type uint64; + description + "Auto discovery options not added due to insufficient size"; + } + leaf bbr-connection-init { + type uint64; + description + "Connections initialized by APPQOE TCP/IP + Bottleneck Bandwidth and Round-trip propagation time (BBR) Stack"; + } + leaf bbr-connection-finish { + type uint64; + description + "Connections Finished through APPQOE TCP/IP BBR Stack"; + } + leaf bbr-active-conn { + type uint64; + description + "Total active connections"; + } + leaf bbr-to-alloc { + type uint64; + description + "Send map allocation success"; + } + leaf bbr-to-alloc-failed { + type uint64; + description + "Send map allocated from free list"; + } + leaf bbr-to-alloc-emerg { + type uint64; + description + "Send map allocation failed"; + } + list state { + description + "APPQOE TCP/IP BBR stack states"; + uses appqoe-xe-oper:bstates; + } + list trans { + description + "APPQOE TCP/IP BBR stack state transition"; + uses appqoe-xe-oper:bstate-tran; + } + list source { + description + "High Precision Timer System (HPTS) timer started"; + uses appqoe-xe-oper:btimer-source; + } + list slot { + description + "Pacing Delay (in us)"; + uses appqoe-xe-oper:bslot; + } + list timer { + description + "HPTS timer stopped"; + uses appqoe-xe-oper:brem-timer; + } + list conn-bw { + description + "Bandwidth distribution"; + uses appqoe-xe-oper:bbw; + } + list pkt-rtt { + description + "Round Trip Time (RTT) (in millisecond)"; + uses appqoe-xe-oper:brtt; + } + leaf bbr-output-bytes { + type uint64; + description + "Bytes sent by APPQOE TCP/IP BBR stack"; + } + leaf bbr-segment-lost { + type uint64; + description + "TCP segments lost sent by APPQOE TCP/IP BBR stack"; + } + leaf bbr-ip-output { + type uint64; + description + "TCP segment sent through APPQOE TCP/IP BBR stack"; + } + leaf bbr-early { + type uint64; + description + "Timer has expired early"; + } + leaf bbr-xmit { + type uint64; + description + "Retransmitted segments sent by APPQOE TCP/IP BBR stack"; + } + leaf bbr-output-seg { + type uint64; + description + "TCP segment sent through HPTS timer"; + } + leaf bbr-delay { + type uint64; + description + "Delay in timer expiry"; + } + leaf hpts-need-wakeup { + type uint64; + description + "Timer woke up immediately"; + } + leaf hpts-schedule-callout { + type uint64; + description + "Call out scheduled"; + } + leaf hpts-lastt-gt-currt { + type uint64; + description + "Last tick is greater than current tick"; + } + leaf hpts-maxtick-overflow { + type uint64; + description + "Max ticks overflow"; + } + leaf hpts-inp-same-slot { + type uint64; + description + "Internet Protocol Block added back to same slot"; + } + leaf hpts-dis-to-travel-oflow { + type uint64; + description + "Distance to travel Overflow"; + } + leaf hpts-avail-on-wheel-oflow { + type uint64; + description + "Available on wheel overflow"; + } + leaf hpts-availonwheel-lt-pacer { + type uint64; + description + "Available On wheel less than pacer"; + } + leaf hpts-hopelessly-behind { + type uint64; + description + "HPTS is hopelessly behind"; + } + leaf hpts-exceed-wheel-time { + type uint64; + description + "HPTS wheel time exceeded"; + } + leaf hpts-loops { + type uint64; + description + "HPTS stuck in loop"; + } + leaf hpts-back-tosleep { + type uint64; + description + "HPTS is back on sleep"; + } + leaf hpts-wheel-wrap { + type uint64; + description + "HPTS wheel wrapped"; + } + leaf bbr-peer-unsupport-sack { + type uint64; + description + "TCP Connection without Selective Acknowledgement (SACK) support"; + } + leaf bbr-snd-buffer-full { + type uint64; + description + "Maximum send buffer reached"; + } + leaf bbr-max-snd-cwnd { + type uint64; + description + "Maximum send congestion window"; + } + leaf bbr-snd-wnd { + type uint64; + description + "Current TCP send window"; + } + leaf bbr-fin-wait-2-force { + type uint64; + description + "Forced close from FINISH WAIT 2"; + } + leaf vpath-ver-probe-crpt-pkts { + type uint64; + description + "Version probe corrupt packets received by APPQOE TCP/IP Stack"; + } + leaf vpath-control-crpt-pkts { + type uint64; + description + "Control corrupt packets received by APPQOE TCP/IP Stack"; + } + } + + grouping ebp-own { + description + "Elastic Buffer Pool (EBP) owner Info"; + leaf val { + type uint64; + description + "Value of EBP owner"; + } + leaf owner-name { + type string; + description + "Name of EBP owner"; + } + } + + grouping infra-ebp-blk-info { + description + "EBP Info"; + leaf walk-key { + type uint32; + description + "Unique key to walk the list"; + } + leaf blk-shm-size { + type uint32; + units "bytes"; + description + "Shared memory size"; + } + leaf total-num-free { + type uint32; + description + "Number of free blocks"; + } + leaf buf-size { + type uint32; + units "bytes"; + description + "Buffer size"; + } + leaf num-bufs { + type uint32; + description + "Total number of buffers"; + } + leaf blk-oid { + type uint32; + description + "Block owner ID"; + } + leaf eid { + type uint32; + description + "EBP Block ID"; + } + list blk-num-returned { + description + "Returned buffers to block"; + uses appqoe-xe-oper:ebp-own; + } + list num-free-per-owner { + description + "Free buffers"; + uses appqoe-xe-oper:ebp-own; + } + list blk-num-used { + description + "Used buffers"; + uses appqoe-xe-oper:ebp-own; + } + } + + grouping block-stats { + description + "Block statistics"; + leaf index { + type uint8; + description + "Index of the block statistics"; + } + leaf mask { + type uint32; + description + "Bitmask of the block statistics"; + } + leaf exp { + type uint32; + description + "Mask to the power of two, for the block statistics"; + } + leaf gc-min-threshold-bufs { + type uint32; + description + "Garbage Collector (GC) minimum threshold buffers"; + } + leaf aa-num-bufs { + type uint32; + description + "Auto Allocated (AA) number of buffers"; + } + leaf num-auto-alloc-blks { + type uint32; + description + "Number of AA blocks"; + } + } + + grouping cool-down { + description + "Cool down statistics"; + leaf val { + type uint32; + description + "Cool down value"; + } + leaf exp { + type uint32; + description + "Cool down mask"; + } + } + + grouping infra-ebp-gc-stats { + description + "GC statistics"; + leaf gc-num-del-blks { + type uint32; + description + "Total GC deleted blocks"; + } + leaf gc-num-closed-blks { + type uint32; + description + "Total GC closed blocks"; + } + leaf gc-get-buf-cl-blks { + type uint32; + description + "Total blocks reopened due to dirty bit set"; + } + leaf gc-count { + type uint32; + description + "Total GC call count"; + } + leaf last-gc-time { + type uint32; + units "seconds"; + description + "Time since GC called"; + } + leaf gc-cdown-set-count { + type uint32; + description + "Total GC cool down timer set count"; + } + list gc-cdown-bucket { + description + "Cool down buckets"; + uses appqoe-xe-oper:cool-down; + } + container gc-cdown-bucket-last { + description + "Last cool down buckets"; + uses appqoe-xe-oper:cool-down; + } + leaf gc-auto-alloc-status { + type uint32; + description + "AA status"; + } + leaf gc-aa-disabled { + type uint32; + description + "AA is disabled"; + } + leaf gc-min-buf-th-reached { + type uint32; + description + "GC min buffer threshold reached"; + } + leaf gc-blk-in-use { + type uint32; + description + "EBP block is in use"; + } + } + + grouping infra-ebp-aa-stats { + description + "AA statistics"; + leaf aa-auto-alloc-status { + type uint32; + description + "AA status"; + } + leaf tot-num-auto-alloc-blks { + type uint32; + description + "Total AA blocks"; + } + leaf time-since-last-auto-alloc { + type uint32; + units "seconds"; + description + "Seconds since last AA block"; + } + } + + grouping infra-ebp-alloc-stats { + description + "Allocation statistics"; + leaf exp-val { + type uint32; + units "bytes"; + description + "Size of block"; + } + leaf per-size-active-blk-count { + type uint32; + description + "Per size active block count"; + } + leaf alloc-fail-per-block-size { + type uint32; + description + "Total allocation failure per block size"; + } + } + + grouping infra-ebp-error-stats { + description + "EBP Errors"; + leaf print-flag { + type uint8; + description + "Check flag to print errors"; + } + leaf freelist-shm-runout { + type uint32; + description + "Free list ran out of shared memory"; + } + leaf invalid-auto-size { + type uint32; + description + "AA invalid size"; + } + leaf invalid-auto-param { + type uint32; + description + "AA invalid parameters"; + } + leaf invalid-auto-sblk-null { + type uint32; + description + "AA received null super block"; + } + leaf invalid-threshold-buf-size { + type uint32; + description + "Invalid threshold buffer size"; + } + leaf inv-threshold-sblk-null { + type uint32; + description + "Threshold received null super block"; + } + leaf invalid-buffer-offset { + type uint32; + description + "Shared IPC create received invalid buffer offset"; + } + leaf invalid-buffer-size { + type uint32; + description + "Shared IPC create received invalid buffer size"; + } + leaf null-buffer-being-return { + type uint32; + description + "Empty buffer being returned"; + } + leaf init-not-done { + type uint32; + description + "Init not done"; + } + leaf shm-creation-failed { + type uint32; + description + "Shared memory creation failed"; + } + leaf ebp-invalid-param { + type uint32; + description + "Parameter check failed"; + } + leaf create-seq-not-done { + type uint32; + description + "Create sequence not done"; + } + leaf max-memory-limit-reached { + type uint32; + description + "Shared memory memory exhausted"; + } + leaf sblk-full { + type uint32; + description + "Super block full"; + } + leaf malloc-failed { + type uint32; + description + "Allocation failed"; + } + leaf ebp-cid-mismatch { + type uint32; + description + "Client ID mismatch"; + } + leaf ebp-already-open { + type uint32; + description + "EBP already opened"; + } + leaf shm-open-failed { + type uint32; + description + "Shared memory open failed"; + } + leaf ebp-shm-unmap-fail { + type uint32; + description + "Shared memory unmap failed"; + } + leaf shm-map-failed { + type uint32; + description + "Shared memory map failed"; + } + leaf buf-hdr-san-chk-fail { + type uint32; + description + "Header sanity check failed"; + } + leaf invalid-buf-size { + type uint32; + description + "Invalid buffer size"; + } + leaf double-free { + type uint32; + description + "Double free"; + } + leaf buf-free-failed { + type uint32; + description + "Buffer free failed"; + } + leaf init-state-check-failed { + type uint32; + description + "Init state check failed"; + } + leaf del-recv-null-ctx { + type uint32; + description + "Empty context during delete"; + } + leaf auto-no-free-blk { + type uint32; + description + "No free block after AA"; + } + leaf ebp-no-free-blk { + type uint32; + description + "No free blocks"; + } + leaf shm-nondump-failed { + type uint32; + description + "Shared memory EBP non dumpable failed"; + } + } + + grouping appqoe-ebp-stats { + description + "EBP statistics"; + leaf ebp-service-id { + type appqoe-xe-oper:tcp-proxy-ebp-service-id; + description + "EBP service identifier"; + } + leaf num-open-blks { + type uint32; + description + "Number of open blocks"; + } + leaf num-active-blks { + type uint32; + description + "Number of active blocks"; + } + leaf shm-size { + type uint64; + units "bytes"; + description + "Shared memory size"; + } + list infra-ebp-blk-info { + key "walk-key"; + description + "EBP block information"; + uses appqoe-xe-oper:infra-ebp-blk-info; + } + container gc-stats { + description + "GC statistics"; + uses appqoe-xe-oper:infra-ebp-gc-stats; + } + container aa-stats { + description + "AA statistics"; + uses appqoe-xe-oper:infra-ebp-aa-stats; + } + list alloc-stat { + description + "Allocation statistics"; + uses appqoe-xe-oper:infra-ebp-alloc-stats; + } + container ebp-err { + description + "EBP errors"; + uses appqoe-xe-oper:infra-ebp-error-stats; + } + list aa-gc-blk-stat { + description + "EBP block statistics"; + uses appqoe-xe-oper:block-stats; + } + } + + grouping sipc-efifo-stats { + description + "SIPC error FIFO stats"; + leaf enq-fail-mf-full { + type uint32; + description + "Enqueue failed due to memory full"; + } + leaf enq-fail-fifo-alloc { + type uint32; + description + "Enqueue failed due to FIFO allocation failed"; + } + leaf enq-fail-fifo-init { + type uint32; + description + "Enqueue FIFO initialization failed"; + } + leaf enq-fail-enq-to-mf { + type uint32; + description + "Enqueue failed memory full"; + } + leaf enq-fail-unexpected { + type uint32; + description + "Enqueue failed unexpectedly"; + } + leaf enq-fail-fifo-switch-msg { + type uint32; + description + "Enqueue FIFO switch message failed"; + } + leaf deq-fail-no-data { + type uint64; + description + "Dequeue failed because of no data"; + } + leaf deq-fail-no-new-fifo { + type uint32; + description + "Dequeue failed with no new FIFO"; + } + leaf deq-fail-fifo-alloc { + type uint32; + description + "Dequeue FIFO failed to allocate"; + } + } + + grouping sipc-fifo-debug-stats { + description + "Shared memory inter process communication (SIPC) FIFO debug stats"; + leaf fifo-type { + type appqoe-xe-oper:sipc-fifo-type; + description + "Type of SIPC FIFO"; + } + leaf count { + type uint32; + description + "Number of messages currently in SIPC FIFO"; + } + leaf enq-count { + type uint64; + description + "Number of messages enqueued successfully in SIPC FIFO"; + } + leaf deq-count { + type uint64; + description + "Number of messages dequeued successfully from SIPC FIFO"; + } + leaf length { + type uint32; + description + "Length of SIPC FIFO"; + } + leaf ht { + type uint32; + description + "SIPC FIFO high threshold"; + } + leaf lt { + type uint32; + description + "SIPC FIFO low threshold"; + } + leaf pause { + type appqoe-xe-oper:sipc-pause-status; + description + "SIPC FIFO pause status"; + } + container estats { + description + "SIPC FIFO enqueue statistics"; + uses appqoe-xe-oper:sipc-efifo-stats; + } + } + + grouping sipc-err-stats { + description + "SIPC error statistics"; + leaf sipc-mem-alloc-failed { + type uint32; + description + "SIPC memory allocation failed count"; + } + leaf sipc-sem-init-failed { + type uint32; + description + "SIPC semaphore initialization failed count"; + } + leaf sipc-shmem-open-failed { + type uint32; + description + "SIPC shared memory open failed count"; + } + leaf sipc-shmem-unmap-failed { + type uint32; + description + "SIPC shared memory unmap failed count"; + } + leaf sipc-shmem-map-failed { + type uint32; + description + "SIPC shared memory map failed count"; + } + leaf sipc-thread-init-failed { + type uint32; + description + "SIPC thread creation failed count"; + } + } + + grouping appqoe-sipc-stats { + description + "SIPC statistics"; + leaf service-id { + type appqoe-xe-oper:sipc-service-id; + description + "SIPC shared memory service"; + } + leaf shm-name { + type string; + description + "SIPC shared memory service name"; + } + leaf sock-fd { + type uint32; + description + "SIPC socket file descriptor"; + } + leaf peer-id { + type uint32; + description + "SIPC peer identifier"; + } + leaf peer-status { + type appqoe-xe-oper:wcapi-peer-status; + description + "SIPC peer status"; + } + leaf rx-count { + type uint32; + description + "Number of messages in receive queue"; + } + leaf rx-enq-count { + type uint64; + description + "Number of enqueued messages in receive queue"; + } + leaf rx-deq-count { + type uint64; + description + "Number of messages dequeued from receive queue"; + } + leaf tx-count { + type uint32; + description + "Number of messages in transmit queue"; + } + leaf tx-enq-count { + type uint64; + description + "Number of enqueued messages in transmit queue"; + } + leaf tx-deq-count { + type uint64; + description + "Number of messages dequeued from transmit queue"; + } + leaf num-rx-fifos { + type uint32; + description + "Total number of receive FIFO"; + } + leaf num-tx-fifos { + type uint32; + description + "Total number of transmit FIFO"; + } + leaf rx-thread-id { + type uint64; + description + "Receiver thread identifier"; + } + leaf tx-notify-thread-id { + type uint64; + description + "Transmit notify thread identifier"; + } + leaf shm-size { + type uint32; + units "bytes"; + description + "Shared memory size"; + } + leaf rx-thread-enable { + type boolean; + description + "Receive thread enabled"; + } + leaf tx-notify-thread-enable { + type boolean; + description + "Transmit thread notify enabled"; + } + leaf flow-control-enable { + type boolean; + description + "Flow control enable status"; + } + container tx-debug-stats { + description + "Debug statistics of transmit queue"; + uses appqoe-xe-oper:sipc-fifo-debug-stats; + } + container rx-debug-stats { + description + "Debug statistics of received queue"; + uses appqoe-xe-oper:sipc-fifo-debug-stats; + } + container err-stats { + description + "Error statistics of queues"; + uses appqoe-xe-oper:sipc-err-stats; + } + } + + grouping aoim-sync-stats { + description + "AOIM peer synchronization statistics"; + leaf num-syncs-total { + type uint32; + description + "Total number of peer synchronization"; + } + leaf num-syncs-progress { + type uint32; + description + "Current number Of peer synchronization in progress"; + } + leaf num-resyncs { + type uint32; + description + "Number of peer re-synchronization needed"; + } + leaf num-conn-rst-pmismatch { + type uint32; + description + "Total passthrough connections due to peer version mismatch"; + } + leaf db-size { + type uint32; + units "kilobytes"; + description + "AOIM database size"; + } + } + + grouping aoim-sync-common-aostats { + description + "Common application optimiser statistics"; + leaf ao-type { + type appqoe-xe-oper:appqoe-aoim-ao; + description + "Type of application optimiser"; + } + leaf ver-major { + type uint8; + description + "Major version of application optimiser"; + } + leaf ver-minor { + type uint8; + description + "Minor version of application optimiser"; + } + leaf registered { + type boolean; + description + "Application optimiser is registered"; + } + leaf incompatible { + type boolean; + description + "Application optimiser is compatible"; + } + } + + grouping aoim-sync-peer-stats { + description + "AOIM statistics per peer"; + leaf peer-id { + type inet:ip-address; + description + "Peer ID for AOIM statistics"; + } + list peer-aos { + description + "Peer application optimiser statistics"; + uses appqoe-xe-oper:aoim-sync-common-aostats; + } + } + + grouping appqoe-aoim-stats { + description + "AppQoE AOIM statistics"; + container sync-stats { + description + "AppQoE AOIM synchronization statistics"; + uses appqoe-xe-oper:aoim-sync-stats; + } + list local-aos { + description + "Local application optimiser statistics"; + uses appqoe-xe-oper:aoim-sync-common-aostats; + } + list peer-stats { + description + "Peer AOIM statistics"; + uses appqoe-xe-oper:aoim-sync-peer-stats; + } + } + + grouping appqoe-ad-stats { + description + "AppQoE AD statistics"; + leaf len-mismatch { + type uint64; + description + "Auto discovery option length mismatch"; + } + leaf ver-mismatch { + type uint64; + description + "Auto discovery option version mismatch"; + } + leaf tcpopt-len-mismatch { + type uint64; + description + "TCP option length mismatch"; + } + leaf role-none { + type uint64; + description + "Auto discovery role set to none"; + } + leaf edge-nego-start { + type uint64; + description + "Auto discovery negotiation start on edge"; + } + leaf edge-nego-done { + type uint64; + description + "Auto discovery negotiation done on edge"; + } + leaf edge-rcvd-synack-wo-option { + type uint64; + description + "Edge received SYN-ACK without auto discovery options"; + } + leaf edge-aoim-sync-needed { + type uint64; + description + "AOIM sync needed on edge"; + } + leaf core-nego-start { + type uint64; + description + "Auto discovery negotiation start on core"; + } + leaf core-nego-done { + type uint64; + description + "Auto discovery negotiation done on core"; + } + leaf core-rcvd-ack-wo-options { + type uint64; + description + "Core received ACK without auto discovery options"; + } + leaf core-aoim-sync-needed { + type uint64; + description + "AOIM sync needed on core"; + } + } + + grouping appqoe-svc-chain-status { + description + "AppQoE service chain status"; + leaf snort-status { + type appqoe-xe-oper:appqoe-svc-conn-status; + description + "SNORT connection status"; + } + leaf dre-status { + type appqoe-xe-oper:appqoe-svc-conn-status; + description + "DRE connection status"; + } + leaf hc-status { + type appqoe-xe-oper:appqoe-svc-conn-status; + description + "HTTP cache connection status"; + } + } + + grouping appqoe-tcpopt-status { + description + "AppQoE TCP status"; + leaf tcpopt-oper-status { + type appqoe-xe-oper:appqoe-tcpopt-run-status; + description + "TCP optimization operational status"; + } + leaf tcpproxy-oper-status { + type appqoe-xe-oper:appqoe-tcpopt-run-status; + description + "TCP proxy operational status"; + } + } + + container appqoe-oper-data { + config false; + description + "Application Quality of Experience (APPQOE) + operational data"; + list appqoe-sc { + key "sc-lan-ip"; + description + "Application Quality of Experience (APPQOE) + service controllers"; + uses appqoe-xe-oper:appqoe-sc; + } + container appqoe-nat-stats { + presence "appqoe-nat-stats"; + description + "APPQOE NAT statistics"; + uses appqoe-xe-oper:appqoe-nat-stats; + } + container libsppi-stats { + presence "libsppi-stats"; + description + "APPQOE service plane packet interface (SPPI) statistics"; + uses appqoe-xe-oper:libsppi-stats; + } + container appqoe-rm-resources { + presence "appqoe-rm-resources"; + description + "APPQOE Resource Manager (RM) resources"; + uses appqoe-xe-oper:appqoe-rm-resources; + } + container hput-stats { + presence "hput-stats"; + description + "APPQOE High Precision User Space Timer (HPUT) statistics"; + uses appqoe-xe-oper:hput-stats; + } + container appqoe-libuinet-stats { + presence "appqoe-libuinet-stats"; + description + "Application Quality of Experience (APPQOE) + TCP/IP stack statistics"; + uses appqoe-xe-oper:appqoe-libuinet-stats; + } + container rm-stats { + presence "rm-stats"; + description + "APPQOE Resource Manager (RM) statistics"; + uses appqoe-xe-oper:rm-stats; + } + list appqoe-ebp-stats { + key "ebp-service-id"; + description + "AppQoE EBP statistics"; + uses appqoe-xe-oper:appqoe-ebp-stats; + } + list appqoe-service { + key "service"; + description + "AppQoE service details"; + uses appqoe-types-ios-xe:appqoe-service; + } + list appqoe-sipc-stats { + key "service-id"; + description + "AppQoE SIPC statistics"; + uses appqoe-xe-oper:appqoe-sipc-stats; + } + container appqoe-aoim-stats { + presence "appqoe-aoim-stats"; + description + "AppQoE Application Optimiser Information Manager (AOIM) statistics"; + uses appqoe-xe-oper:appqoe-aoim-stats; + } + container appqoe-ad-stats { + presence "appqoe-ad-stats"; + description + "AppQoE Auto Discovery (AD) statistics"; + uses appqoe-xe-oper:appqoe-ad-stats; + } + container appqoe-svc-chain-status { + presence "appqoe-svc-chain-status"; + description + "AppQoE Service Chain (SC) status information"; + uses appqoe-xe-oper:appqoe-svc-chain-status; + } + container appqoe-tcpopt-status { + presence "appqoe-tcpopt-status"; + description + "AppQoE TCP Optimization status information"; + uses appqoe-xe-oper:appqoe-tcpopt-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-serv-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-serv-oper.yang new file mode 100644 index 000000000..7a4af22a1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-serv-oper.yang @@ -0,0 +1,5632 @@ +module Cisco-IOS-XE-appqoe-serv-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-serv-oper"; + prefix appqoe-xe-serv-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Application Quality of Experience (APPQOE) serviceability + operational data. This includes overall and individual + services status information, registered statistics for monitoring, + and flows getting closed due to errors in different services. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added TCP events for HTTP bypass message and HTTP connect."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added detailed AppQoE active and expired flow operational data. + - Added HTTP connect detect in active, expired and error flow entry."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-03-01 { + description + " - Added AppQoE active, expired and summary flow operational data."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-module { + type enumeration { + enum appqoe-module-invalid { + value 0; + description + "APPQOE module is invalid"; + } + enum appqoe-module-tcpproxy { + value 1; + description + "APPQOE module is TCP proxy"; + } + enum appqoe-module-sslproxy { + value 2; + description + "APPQOE module is SSL proxy"; + } + enum appqoe-module-rm { + value 3; + description + "APPQOE module is Resource Manager(RM)"; + } + enum appqoe-module-sc { + value 4; + description + "APPQOE module is service chain"; + } + } + description + "APPQOE services or modules"; + } + + typedef appqoe-module-status { + type enumeration { + enum appqoe-status-invalid { + value 0; + description + "APPQOE status type invalid"; + } + enum appqoe-status-green { + value 1; + description + "APPQOE status type green"; + } + enum appqoe-status-yellow { + value 2; + description + "APPQOE status type yellow"; + } + enum appqoe-status-red { + value 3; + description + "APPQOE status type red"; + } + } + description + "APPQOE overall status and each module status"; + } + + typedef appqoe-status-err { + type enumeration { + enum appqoe-err-undef { + value 0; + description + "Error is undefined"; + } + enum appqoe-err-ocsp-init-fail { + value 1; + description + "SSL error: Online Certificate Status Protocol(OCSP) initialization fail"; + } + enum appqoe-err-sign-ca-exp { + value 2; + description + "SSL error: Certificate Authority(CA) signing certificate expired"; + } + enum appqoe-err-ocsp-fail-ca-exp { + value 3; + description + "SSL error: OCSP init fail and CA sign certificate expired"; + } + enum appqoe-err-ca-tp-cfg { + value 4; + description + "SSL error: CA Trust Point(TP) is not configured"; + } + enum appqoe-err-ocsp-fail-ca-tp-cfg { + value 5; + description + "SSL error: OCSP init fail and CA TP is not configured"; + } + enum appqoe-err-ca-exp-ca-tp-cfg { + value 6; + description + "SSL error: CA sign cert expired and CA TP is not configured"; + } + enum appqoe-err-ocsp-fail-ca-exp-tp-cfg { + value 7; + description + "SSL error: OCSP init fail, CA sign cert expired and CA TP is not configured"; + } + enum appqoe-err-ca-bund-cfg { + value 8; + description + "SSL error: CA bundle not configured"; + } + enum appqoe-err-ocsp-fail-ca-bund-cfg { + value 9; + description + "SSL error: OCSP init fail and CA bundle not configured"; + } + enum appqoe-err-ca-exp-bund-cfg { + value 10; + description + "SSL error: CA sign cert expired and CA bundle not configured"; + } + enum appqoe-err-ocsp-fail-ca-exp-bund-cfg { + value 11; + description + "SSL error: OCSP init fail, CA sign cert expired and CA bundle not configured"; + } + enum appqoe-err-ca-tp-bund-cfg { + value 12; + description + "SSL error: CA TP and CA bundle not configured"; + } + enum appqoe-err-ocsp-fail-ca-tp-bund-cfg { + value 13; + description + "SSL error: OCSP init fail, CA TP and CA bundle not configured"; + } + enum appqoe-err-ca-exp-tp-bund-cfg { + value 14; + description + "SSL error: CA sign cert expired, CA TP and CA bundle not configured"; + } + enum appqoe-err-ocsp-ca-exp-tp-bund-cfg { + value 15; + description + "SSL error: OCSP init fail, CA sign cert expired, CA TP and CA bundle not configured"; + } + enum appqoe-err-ism-init-fail { + value 16; + description + "SSL error: Interposer Session Manager(ISM) initialization fail"; + } + enum appqoe-err-cert-mgr-init-fail { + value 17; + description + "SSL error: Certificate manager initialization fail"; + } + enum appqoe-err-rm-mem-limit-reach { + value 18; + description + "RM error: Memory usage reached beyond allowed limit"; + } + enum appqoe-err-rm-sess-limit-reach { + value 19; + description + "RM error: Number of sessions reached beyond allowed limit"; + } + enum appqoe-err-sc-channel-down { + value 20; + description + "SC error: One or more communication channel is down"; + } + enum appqoe-err-ssl-status-disabled { + value 21; + description + "SSL proxy is disabled"; + } + } + description + "Error details of APPQOE service or module when status is not green"; + } + + typedef tcpproxy-flow-err-tag { + type enumeration { + enum tcp-flow-err-tag-invalid { + value 0; + description + "TCP-Proxy flow error is invalid"; + } + enum tcp-flow-err-tag-accpt-conn-fail { + value 1; + description + "TCP-Proxy accept conn fail"; + } + enum tcp-flow-err-tag-rx-thr-fail { + value 2; + description + "TCP-Proxy receive thread fail"; + } + enum tcp-flow-err-tag-aoim-sync-fail { + value 3; + description + "TCP-Proxy application optimiser information manager sync fail"; + } + enum tcp-flow-err-tag-dre-resp-fail { + value 4; + description + "TCP-Proxy DRE response create fail"; + } + enum tcp-flow-err-tag-snort-resp-fail { + value 5; + description + "TCP-Proxy SNORT response create fail"; + } + enum tcp-flow-err-tag-utd-resp-fail { + value 6; + description + "TCP-Proxy UTD response create fail"; + } + enum tcp-flow-err-tag-close-by-utd { + value 7; + description + "TCP-Proxy flow closed by UTD"; + } + enum tcp-flow-err-tag-close-by-dre { + value 8; + description + "TCP-Proxy flow closed by DRE"; + } + enum tcp-flow-err-tag-close-by-ssl { + value 9; + description + "TCP-Proxy flow closed by SSL"; + } + enum tcp-flow-err-tag-reset-by-aoim { + value 10; + description + "TCP-Proxy flow reset by application optimiser information manager"; + } + enum tcp-flow-err-tag-create-dre-fail { + value 11; + description + "TCP-Proxy flow create fail by DRE"; + } + enum tcp-flow-err-tag-create-utd-fail { + value 12; + description + "TCP-Proxy flow create fail by UTD"; + } + enum tcp-flow-err-tag-create-ssl-fail { + value 13; + description + "TCP-Proxy flow create fail by SSL"; + } + enum tcp-flow-err-tag-syn-cache-purge { + value 14; + description + "TCP-Proxy flow fail as syn cache purged"; + } + enum tcp-flow-err-tag-ctimer-expire { + value 15; + description + "TCP-Proxy flow cleanup timer expired"; + } + enum tcp-flow-err-tag-cleanup-other { + value 16; + description + "TCP-Proxy flow cleanup due to other reasons"; + } + enum tcp-flow-err-tag-accept-failed { + value 17; + description + "TCP-Proxy flow accept failed"; + } + enum tcp-flow-err-tag-remote-conn-failed { + value 18; + description + "TCP-Proxy flow remote connection failed"; + } + } + description + "Error tag for flows which are closed by + TCP-Proxy to indicate appropriate error message."; + } + + typedef sslproxy-flow-err-tag { + type enumeration { + enum ssl-ism-err-none { + value 0; + description + "SSL-Proxy ISM error invalid."; + } + enum ssl-ism-err-mem-alloc { + value 1; + description + "Memory allocation fail at ISM."; + } + enum ssl-ism-err-pool { + value 2; + description + "Unable to get memory from pool at ISM."; + } + enum ssl-ism-err-unsupp-cipher { + value 3; + description + "Unsupported cipher."; + } + enum ssl-ism-err-hs-unsupported { + value 4; + description + "Handshake unsupported at ISM."; + } + enum ssl-ism-err-vertverif-fail { + value 5; + description + "Certificate verification fail at ISM."; + } + enum ssl-ism-err-endp-alert { + value 6; + description + "End point alert in ISM."; + } + enum ssl-ism-err-close-before-hs { + value 7; + description + "TCP close received before handshake complete."; + } + enum ssl-ism-err-proxy-cert { + value 8; + description + "Unable to get proxy certificate."; + } + enum ssl-ism-err-expiered-cert { + value 9; + description + "Certificate expired."; + } + enum ssl-ism-err-untrusted-cert { + value 10; + description + "Untrusted certificate."; + } + enum ssl-ism-err-mem-access { + value 11; + description + "Unable to access memory in ISM."; + } + enum ssl-lwssl-err-de-close { + value 12; + description + "Received close request from DE."; + } + enum ssl-lwssl-err-de-flush-done { + value 13; + description + "Flush done failed for DE."; + } + enum ssl-lwssl-err-nop-read { + value 14; + description + "No operation read function called."; + } + enum ssl-lwssl-err-invalid-fsm-evt { + value 15; + description + "Received invalid FSM event."; + } + enum ssl-lwssl-err-key-pkt-snd-fail { + value 16; + description + "Failed to send key packet to ISM."; + } + enum ssl-lwssl-err-invalid-de-msg { + value 17; + description + "Invalid message received from DE."; + } + enum ssl-lwssl-err-null-flow-ptr { + value 18; + description + "Flow pointer is NULL"; + } + enum ssl-lwssl-err-pd-reset { + value 19; + description + "Reset due to push down"; + } + enum ssl-lwssl-err-flush-done-fail { + value 20; + description + "ISM flush done event handling is failed"; + } + enum ssl-lwssl-err-ism-key-pkt-hdl-fail { + value 21; + description + "ISM key packet handling is failed"; + } + enum ssl-lwssl-err-invalid-ism-msg { + value 22; + description + "Invalid message from ISM"; + } + enum ssl-lwssl-err-invalid-peer { + value 23; + description + "Invalid peer"; + } + enum ssl-lwssl-err-min-tls-ver-act-rst { + value 24; + description + "Unsupported protocol version action drop"; + } + enum ssl-lwssl-err-null-ch-buf { + value 25; + description + "Client hello buffer is null"; + } + enum ssl-lwssl-err-snd-de-data-fail { + value 26; + description + "Send DE data failed"; + } + enum ssl-lwssl-err-fin-rst-pd { + value 27; + description + "FIN or RST received during handshake"; + } + enum ssl-lwssl-err-evt-in-inv-fsm-state { + value 28; + description + "Invalid event in FSM state"; + } + enum ssl-lwssl-err-evt-wrng-fsm-state { + value 29; + description + "Event received in wrong FSM state"; + } + enum ssl-lwssl-err-wrng-evt-in-de { + value 30; + description + "Invalid event in DE init done state"; + } + enum ssl-lwssl-err-snd-flush-fail { + value 31; + description + "ISM send flush failed"; + } + enum ssl-lwssl-err-evt-trig-rst { + value 32; + description + "Trigger reset"; + } + enum ssl-lwssl-err-one-side-key-pdg { + value 33; + description + "One side key pending from ISM"; + } + enum ssl-lwssl-err-null-ssl-rec { + value 34; + description + "NULL SSL record in encrypted services buffer"; + } + enum ssl-lwssl-err-ch-buf-alloc-fail { + value 35; + description + "Buffer allocation failed for client hello"; + } + enum ssl-lwssl-err-hs-parse-abort { + value 36; + description + "Parse abort during handshake"; + } + enum ssl-lwssl-err-hs-parse-incomp { + value 37; + description + "Incomplete message during handshake"; + } + enum ssl-lwssl-err-data-parse-abort { + value 38; + description + "Data parse abort"; + } + enum ssl-lwssl-err-data-parse-incomp { + value 39; + description + "Incomplete message for data"; + } + enum ssl-lwssl-err-invalid-ssl-rec { + value 40; + description + "Invalid SSL record"; + } + enum ssl-lwssl-err-fail-mode-rst { + value 41; + description + "Failure mode reset"; + } + enum ssl-lwssl-err-sslv2-fail-mode-rst { + value 42; + description + "SSLv2 failure mode reset"; + } + enum ssl-lwssl-err-peer-nop-read-fn { + value 43; + description + "Peer no operation read function called"; + } + enum ssl-lwssl-err-ssl-aut-trig-rst { + value 44; + description + "SSL AUT triggering reset"; + } + enum ssl-lwssl-err-send-ism-msg-fail { + value 45; + description + "Unable to send handshake message to ISM"; + } + } + description + "Error tag for flows which are closed by + SSL-Proxy to indicate appropriate error message."; + } + + typedef appqoe-flow-side { + type enumeration { + enum appqoe-flow-side-orig { + value 0; + description + "The end point originated the flow"; + } + enum appqoe-flow-side-term { + value 1; + description + "The end point is terminating the flow"; + } + enum appqoe-flow-sidr-none { + value 2; + description + "The end point is unknown"; + } + } + description + "The end point side in the flow establishment"; + } + + typedef appqoe-flow-tcpproxy-ad-states { + type enumeration { + enum appqoe-flow-tcp-ad-state-na { + value 0; + description + "TCP Proxy AD state not applicable"; + } + enum appqoe-flow-tcp-ad-state-init { + value 1; + description + "TCP Proxy AD exchange not started"; + } + enum appqoe-flow-tcp-ad-state-rx-syn { + value 2; + description + "TCP Proxy AD Syn Rx handled"; + } + enum appqoe-flow-tcp-ad-state-tx-syn-ack { + value 3; + description + "TCP Proxy AD Syn-Ack Tx handled"; + } + enum appqoe-flow-tcp-ad-state-rx-ack { + value 4; + description + "TCP Proxy AD Ack Rx handled"; + } + enum appqoe-flow-tcp-ad-state-tx-syn { + value 5; + description + "TCP Proxy AD Syn Tx handled"; + } + enum appqoe-flow-tcp-ad-state-rx-syn-ack { + value 6; + description + "TCP Proxy AD Syn-Ack Rx handled"; + } + enum appqoe-flow-tcp-ad-state-tx-ack { + value 7; + description + "TCP Proxy AD Ack Tx handled"; + } + } + description + "TCP Proxy AD states"; + } + + typedef appqoe-flow-tcpproxy-ad-roles { + type enumeration { + enum appqoe-flow-tcp-ad-role-none { + value 0; + description + "TCP Proxy AD not enabled for flow"; + } + enum appqoe-flow-tcp-ad-role-edge { + value 1; + description + "TCP Proxy AD Edge role"; + } + enum appqoe-flow-tcp-ad-role-core { + value 2; + description + "TCP Proxy AD Core role"; + } + } + description + "TCP Proxy AD roles"; + } + + typedef appqoe-flow-tcpproxy-flow-events { + type enumeration { + enum appqoe-flow-tcp-unknown { + value 0; + description + "An unknown or unexpected TCP Proxy flow event has occurred"; + } + enum appqoe-flow-tcp-created { + value 1; + description + "The flow was created"; + } + enum appqoe-flow-tcp-syncache-add { + value 2; + description + "The syn-cache was added"; + } + enum appqoe-flow-tcp-accpt-dne { + value 3; + description + "The accept was completed"; + } + enum appqoe-flow-tcp-accpt-fail { + value 4; + description + "The accept failed"; + } + enum appqoe-flow-tcp-conn-start { + value 5; + description + "The connect started"; + } + enum appqoe-flow-tcp-conn-dne { + value 6; + description + "The connect was completed"; + } + enum appqoe-flow-tcp-conn-fail { + value 7; + description + "The connect failed"; + } + enum appqoe-flow-tcp-aoim-syn-st { + value 8; + description + "The AOIM sync started"; + } + enum appqoe-flow-tcp-aoim-syn-dne { + value 9; + description + "The AOIM sync was completed"; + } + enum appqoe-flow-tcp-aoim-syn-err { + value 10; + description + "The AOIM sync encountered an error"; + } + enum appqoe-flow-tcp-ad-rx-syn-op { + value 11; + description + "Auto-Discovery received Syn with options"; + } + enum appqoe-flow-tcp-ad-rx-syn { + value 12; + description + "Auto-Discovery received Syn without options"; + } + enum appqoe-flow-tcp-ad-rx-edge-synack-op { + value 13; + description + "Auto-Discovery received edge Syn-Ack with options"; + } + enum appqoe-flow-tcp-ad-rx-edge-synack { + value 14; + description + "Auto-Discovery received edge Syn-Ack without options"; + } + enum appqoe-flow-tcp--ad-rx-core-synack { + value 15; + description + "Auto-Discovery received core Syn-Ack"; + } + enum appqoe-flow-tcp-ad-rx-core-ack-op { + value 16; + description + "Auto-Discovery received core Ack with options"; + } + enum appqoe-flow-tcp-ad-rx-core-ack { + value 17; + description + "Auto-Discovery received core Ack without options"; + } + enum appqoe-flow-tcp-ad-rx-edge-ack { + value 18; + description + "Auto-Discovery received edge Ack"; + } + enum appqoe-flow-tcp-ad-tx-edge-syn { + value 19; + description + "Auto-Discovery edge sent syn"; + } + enum appqoe-flow-tcp-ad-tx-edge-ack { + value 20; + description + "Auto-Discovery edge sent Ack"; + } + enum appqoe-flow-tcp-ad-tx-edge-synack { + value 21; + description + "Auto-Discovery edge sent Syn-Ack without options"; + } + enum appqoe-flow-tcp-ad-tx-core-synack { + value 22; + description + "Auto-Discovery core sent Syn-Ack"; + } + enum appqoe-flow-tcp-ad-tx-core-syn { + value 23; + description + "Auto-Discovery core sent Syn without options"; + } + enum appqoe-flow-tcp-ad-tx-core-ack { + value 24; + description + "Auto-Discovery core sent Ack without options"; + } + enum appqoe-flow-tcp-flow-cr-ssl-dne { + value 25; + description + "SSL flow create completed"; + } + enum appqoe-flow-tcp-flow-cr-ssl-fail { + value 26; + description + "SSL flow create failed"; + } + enum appqoe-flow-tcp-flow-cr-utd-st { + value 27; + description + "Flow create request sent to UTD"; + } + enum appqoe-flow-tcp-flow-del-utd-snt { + value 28; + description + "Flow delete request sent to UTD"; + } + enum appqoe-flow-tcp-flow-cr-utd-rsp-succ { + value 29; + description + "Flow create success response received from UTD"; + } + enum appqoe-flow-tcp-flow-cr-utd-rsp-fail { + value 30; + description + "Flow create failed response received from UTD"; + } + enum appqoe-flow-tcp-flow-cr-dre-snt { + value 31; + description + "Flow create request sent to DRE"; + } + enum appqoe-flow-tcp-dre-bypass-hint-snt { + value 32; + description + "Flow bypass hint request sent to DRE"; + } + enum appqoe-flow-tcp-del-dre-snt { + value 33; + description + "Flow delete request sent to DRE"; + } + enum appqoe-flow-tcp-cr-dre-rsp-succ { + value 34; + description + "Flow create success received from DRE"; + } + enum appqoe-flow-tcp-cr-dre-rsp-fail { + value 35; + description + "Flow create failed received from DRE"; + } + enum appqoe-flow-tcp-cr-http-snt { + value 36; + description + "Flow create request sent to HTTP"; + } + enum appqoe-flow-tcp-http-bypass-hint-snt { + value 37; + description + "Flow bypass hint request sent to HTTP"; + } + enum appqoe-flow-tcp-del-http-snt { + value 38; + description + "Flow delete request sent to HTTP"; + } + enum appqoe-flow-tcp-cr-http-rsp-succ { + value 39; + description + "Flow create success received from HTTP"; + } + enum appqoe-flow-tcp-cr-http-rsp-fail { + value 40; + description + "Flow create failed received from HTTP"; + } + enum appqoe-flow-tcp-ena-ssl { + value 41; + description + "SSL flow enabled"; + } + enum appqoe-flow-tcp-data-ena-succ { + value 42; + description + "Data enable success"; + } + enum appqoe-flow-tcp-data-ena-fail { + value 43; + description + "Data enable failed"; + } + enum appqoe-flow-tcp-fin-rcv-cli-c2s { + value 44; + description + "Fin received for client-to-server client file descriptor"; + } + enum appqoe-flow-tcp-fin-rcv-srv-s2c { + value 45; + description + "Fin received for server-to-client server file descriptor"; + } + enum appqoe-flow-tcp-rst-rcv-cli-c2s { + value 46; + description + "Rst received for client-to-server client file descriptor"; + } + enum appqoe-flow-tcp-rst-rcv-srv-s2c { + value 47; + description + "Rst received for server-to-client server file descriptor"; + } + enum appqoe-flow-tcp-do-oth-rst-c2s { + value 48; + description + "Do other Rst client-to-server"; + } + enum appqoe-flow-tcp-do-oth-rst-s2c { + value 49; + description + "Do other Rst server-to-client"; + } + enum appqoe-flow-tcp-rst-cli-ini-ssl-s2c { + value 50; + description + "Rst client, initialize SSL server-to-client"; + } + enum appqoe-flow-tcp-rst-srv-ini-ssl-c2s { + value 51; + description + "Rst server, initialize SSL client-to-server"; + } + enum appqoe-flow-tcp-rst-cli-ini-utd-c2s { + value 52; + description + "Rst client, initialize UTD client-to-server"; + } + enum appqoe-flow-tcp-rst-srv-ini-utd-s2c { + value 53; + description + "Rst server, initialize UTD server-to-client"; + } + enum appqoe-flow-tcp-rst-cli-ini-utd-s2c { + value 54; + description + "Rst client, initialize UTD server-to-client"; + } + enum appqoe-flow-tcp-rst-srv-ini-utd-c2s { + value 55; + description + "Rst server, initialize UTD client-to-server"; + } + enum appqoe-flow-tcp-rst-cli-ini-dre-c2s { + value 56; + description + "Rst client, initialize DRE client-to-server"; + } + enum appqoe-flow-tcp-rst-srv-ini-dre-s2c { + value 57; + description + "Rst server, initialize DRE server-to-client"; + } + enum appqoe-flow-tcp-rst-cli-ini-dre-s2c { + value 58; + description + "Rst client, initialize DRE server-to-client"; + } + enum appqoe-flow-tcp-rst-srv-ini-dre-c2s { + value 59; + description + "Rst server, initialize DRE client-to-server"; + } + enum appqoe-flow-tcp-dre-cls-cli-s2c { + value 60; + description + "DRE client close, server-to-client"; + } + enum appqoe-flow-tcp-dre-cls-srv-c2s { + value 61; + description + "DRE server close, client-to-server"; + } + enum appqoe-flow-tcp-rst-cli-ini-http-c2s { + value 62; + description + "Rst client, initialize HTTP client-to-server"; + } + enum appqoe-flow-tcp-rst-srv-ini-http-s2c { + value 63; + description + "Rst server, initialize HTTP server-to-client"; + } + enum appqoe-flow-tcp-rst-cli-ini-http-s2c { + value 64; + description + "Rst client, initialize HTTP server-to-client"; + } + enum appqoe-flow-tcp-rst-srv-ini-http-c2s { + value 65; + description + "Rst server, initialize HTTP client-to-server"; + } + enum appqoe-flow-tcp-fin-cli-ssl-snt { + value 66; + description + "Fin client sent to SSL"; + } + enum appqoe-flow-tcp-fin-cli-ssl-rcv { + value 67; + description + "Fin client received from SSL"; + } + enum appqoe-flow-tcp-fin-cli-utd-snt { + value 68; + description + "Fin client sent to UTD"; + } + enum appqoe-flow-tcp-fin-cli-utd-rcv { + value 69; + description + "Fin client received from UTD"; + } + enum appqoe-flow-tcp-fin-cli-dre-snt { + value 70; + description + "Fin client sent to DRE"; + } + enum appqoe-flow-tcp-fin-cli-dre-rcv { + value 71; + description + "Fin client received from DRE"; + } + enum appqoe-flow-tcp-fin-cli-http-snt { + value 72; + description + "Fin client sent to HTTP"; + } + enum appqoe-flow-tcp-fin-cli-http-rcv { + value 73; + description + "Fin client received from HTTP"; + } + enum appqoe-flow-tcp-fin-cli-svc-ssl-snt { + value 74; + description + "Fin client service sent to SSL"; + } + enum appqoe-flow-tcp-fin-cli-tcp-rcv { + value 75; + description + "Fin client TCP transmit received"; + } + enum appqoe-flow-tcp-rst-cli-ssl-snt { + value 76; + description + "Rst client sent to SSL"; + } + enum appqoe-flow-tcp-rst-cli-ssl-rcv { + value 77; + description + "Rst client service received from SSL"; + } + enum appqoe-flow-tcp-rst-cli-utd-snt { + value 78; + description + "Rst client service sent to UTD"; + } + enum appqoe-flow-tcp-rst-cli-utd-rcv { + value 79; + description + "Rst client service received from UTD"; + } + enum appqoe-flow-tcp-rst-clsvc-dre-snt { + value 80; + description + "Rst client service sent to DRE"; + } + enum appqoe-flow-tcp-rst-cli-dre-rcv { + value 81; + description + "Rst client service received from DRE"; + } + enum appqoe-flow-tcp-rst-clsvc-http-snt { + value 82; + description + "Rst client service sent to HTTP"; + } + enum appqoe-flow-tcp-rst-cli-http-rcv { + value 83; + description + "Rst client service received from HTTP"; + } + enum appqoe-flow-tcp-rst-clsvc-ssl-snt { + value 84; + description + "Rst client service sent to SSL"; + } + enum appqoe-flow-tcp-rst-cli-tcp-rcv { + value 85; + description + "Rst client TCP transmit received"; + } + enum appqoe-flow-tcp-fin-srv-ssl-snt { + value 86; + description + "Fin server sent to SSL"; + } + enum appqoe-flow-tcp-fin-srv-ssl-rcv { + value 87; + description + "Fin server service received from SSL"; + } + enum appqoe-flow-tcp-fin-srv-utd-snt { + value 88; + description + "Fin server service sent to UTD"; + } + enum appqoe-flow-tcp-fin-srv-utd-rcv { + value 89; + description + "Fin server service received from UTD"; + } + enum appqoe-flow-tcp-fin-srv-dre-snt { + value 90; + description + "Fin server service sent to DRE"; + } + enum appqoe-flow-tcp-fin-srv-dre-rcv { + value 91; + description + "Fin server service received from DRE"; + } + enum appqoe-flow-tcp-fin-src-http-snt { + value 92; + description + "Fin server service sent to HTTP"; + } + enum appqoe-flow-tcp-fin-srv-http-rcv { + value 93; + description + "Fin server service received from HTTP"; + } + enum appqoe-flow-tcp-fin-srv-svc-ssl-snt { + value 94; + description + "Fin server service sent to SSL"; + } + enum appqoe-flow-tcp-fin-src-tcp-rcv { + value 95; + description + "Fin server TCP transmit received"; + } + enum appqoe-flow-tcp-rst-srv-ssl-snt { + value 96; + description + "Rst server sent to SSL"; + } + enum appqoe-flow-tcp-rst-srv-ssl-rcv { + value 97; + description + "Rst server service received from SSL"; + } + enum appqoe-flow-tcp-rst-srv-utd-snt { + value 98; + description + "Rst server service sent to UTD"; + } + enum appqoe-flow-tcp-rst-srv-utd-rcv { + value 99; + description + "Rst server service received from UTD"; + } + enum appqoe-flow-tcp-rst-srv-dre-snt { + value 100; + description + "Rst server service sent to DRE"; + } + enum appqoe-flow-tcp-rst-srv-dre-rcv { + value 101; + description + "Rst server service received from DRE"; + } + enum appqoe-flow-tcp-rst-srv-http-snt { + value 102; + description + "Rst server service sent to HTTP"; + } + enum appqoe-flow-tcp-rst-srv-http-rcv { + value 103; + description + "Rst server service received from HTTP"; + } + enum appqoe-flow-tcp-rst-srv-svc-ssl-snt { + value 104; + description + "Rst server service sent to SSL"; + } + enum appqoe-flow-tcp-rst-srv-tcp-rcv { + value 105; + description + "Rst server TCP transmit received"; + } + enum appqoe-flow-tcp-fin-snt-cli-s2c { + value 106; + description + "Fin client flow descriptor sent"; + } + enum appqoe-flow-tcp-fin-snt-srv-c2s { + value 107; + description + "Fin server flow descriptor sent"; + } + enum appqoe-flow-tcp-dre-cls-snt-cli-s2c { + value 108; + description + "DRE close client flow descriptor sent"; + } + enum appqoe-flow-tcp-dre-cls-snt-srv-c2s { + value 109; + description + "RE close server flow descriptor sent"; + } + enum appqoe-flow-tcp-cls-cli-s2c { + value 110; + description + "Client flow descriptor closed"; + } + enum appqoe-flow-tcp-cls-srv-c2s { + value 111; + description + "Server flow descriptor closed"; + } + enum appqoe-flow-tcp-cli-tcp-clsd { + value 112; + description + "Client TCP closed"; + } + enum appqoe-flow-tcp-srv-tcp-clsd { + value 113; + description + "Server TCP closed"; + } + enum appqoe-flow-tcp-all-tcp-clsd-cln { + value 114; + description + "All TCP closed and cleanup completed"; + } + enum appqoe-flow-tcp-syn-purge-cln { + value 115; + description + "Syn purge clean up"; + } + enum appqoe-flow-tcp-oth-cln { + value 116; + description + "Other clean up"; + } + enum appqoe-flow-tcp-rst-cln-trig { + value 117; + description + "Rst service clean up triggered"; + } + enum appqoe-flow-tcp-rst-cln { + value 118; + description + "Rst service clean up completed"; + } + enum appqoe-flow-tcp-proxy-cls { + value 119; + description + "Proxy close"; + } + enum appqoe-flow-tcp-proxy-trig-cln { + value 120; + description + "Proxy clean up trigger"; + } + enum appqoe-flow-tcp-ena-rx-clsd-cli { + value 121; + description + "Client receive socket on stack closed"; + } + enum appqoe-flow-tcp-ena-rx-clsd-srv { + value 122; + description + "Server receive socket on stack closed"; + } + enum appqoe-flow-tcp-cln-complete { + value 123; + description + "Cleanup complete"; + } + enum appqoe-flow-tcp-cln-time-expire { + value 124; + description + "Cleanup timer expired"; + } + enum appqoe-flow-tcp-fin-ign-cli-cls-s2c { + value 125; + description + "Ignore Fin, client flow descriptor already closed"; + } + enum appqoe-flow-tcp-fin-ign-srv-cls-c2s { + value 126; + description + "Ignore Fin, server flow descriptor already closed"; + } + enum appqoe-flow-tcp-dre-cls-ign-cli-cls { + value 127; + description + "Ignore DRE close, client flow descriptor already closed"; + } + enum appqoe-flow-tcp-dre-cls-ign-srv-c2s { + value 128; + description + "Ignore DRE close, server flow descriptor already closed"; + } + enum appqoe-flow-tcp-ign-cls-data-pnd-c2s { + value 129; + description + "Ignore socket close, data pending in socket client-to-server"; + } + enum appqoe-flow-tcp-ign-cls-data-pnd-s2c { + value 130; + description + "Ignore socket close, data pending in socket server-to-client"; + } + enum appqoe-flow-tcp-no-data-pnd-c2s { + value 131; + description + "No data pending in socket client-to-server"; + } + enum appqoe-flow-tcp-no-data-pnd-s2c { + value 132; + description + "No data pending in socket server-to-client"; + } + enum appqoe-flow-tcp-http-byp-sent-c2s { + value 133; + description + "HTTP message bypass hint sent in direction client-to-server"; + } + enum appqoe-flow-tcp-http-byp-sent-s2c { + value 134; + description + "HTTP message bypass hint sent in direction server-to-client"; + } + enum appqoe-flow-tcp-http-byp-rcvd-c2s { + value 135; + description + "HTTP message bypass hint received in direction client-to-server"; + } + enum appqoe-flow-tcp-http-byp-rcvd-s2c { + value 136; + description + "HTTP message bypass hint received in direction server-to-client"; + } + enum appqoe-flow-tcp-hc-s-spl-msg-fmd { + value 137; + description + "HTTP connect success special message formed"; + } + enum appqoe-flow-tcp-hc-s-ntfy-queued { + value 138; + description + "HTTP connect success notify queued"; + } + enum appqoe-flow-tcp-hc-s-ntfy-hndld { + value 139; + description + "HTTP connect success notify handled"; + } + } + description + "TCP Proxy flow events"; + } + + typedef appqoe-flow-sslproxy-lwssl-state { + type enumeration { + enum flow-sslproxy-lwssl-state-invalid { + value 0; + description + "Invalid state"; + } + enum flow-sslproxy-lwssl-state-init { + value 1; + description + "Initialized, but not started"; + } + enum flow-sslproxy-lwssl-state-fwd-clr { + value 2; + description + "Forward all data to SCM without processing"; + } + enum flow-sslproxy-lwssl-state-pre-ssl { + value 3; + description + "Initial SSL exchange"; + } + enum flow-sslproxy-lwssl-state-fwd { + value 4; + description + "Forward all data to peer without processing"; + } + enum flow-sslproxy-lwssl-state-hs { + value 5; + description + "SSL handshake, send messages to ISM and send to peer"; + } + enum flow-sslproxy-lwssl-state-fwd-hs { + value 6; + description + "SSL handshake, parser and send it to peer"; + } + enum flow-sslproxy-lwssl-state-export { + value 7; + description + "Exporting SSL state"; + } + enum flow-sslproxy-lwssl-state-import { + value 8; + description + "Importing Proxy client and server state"; + } + enum flow-sslproxy-lwssl-state-flush-de { + value 9; + description + "Flush DE data based on direction"; + } + enum flow-sslproxy-lwssl-state-app-data { + value 10; + description + "In Active SSL data"; + } + enum flow-sslproxy-lwssl-state-wire-clsd { + value 11; + description + "Received Close Notify from client"; + } + enum flow-sslproxy-lwssl-state-ao-clsd { + value 12; + description + "Received Close Notify from server"; + } + enum flow-sslproxy-lwssl-state-clsd { + value 13; + description + "SSL is CLOSED, Close Notify is received from both side"; + } + enum flow-sslproxy-lwssl-state-ss-clsd { + value 14; + description + "AO terminated on one side"; + } + enum flow-sslproxy-lwssl-state-tcp-clsd { + value 15; + description + "SSL is closed or TCP closed before SSL is engaged"; + } + enum flow-sslproxy-lwssl-state-pd { + value 16; + description + "In Remove LWSSL from pipeline"; + } + enum flow-sslproxy-lwssl-state-fs-done { + value 17; + description + "In a limbo dont start a read/write"; + } + } + description + "SSL Proxy flow states"; + } + + typedef appqoe-flow-sslproxy-lwssl-event { + type enumeration { + enum flow-ssl-lwssl-evt-invalid { + value 0; + description + "Invalid Event"; + } + enum flow-ssl-lwssl-evt-peer-init { + value 1; + description + "Peer Initialization is done"; + } + enum flow-ssl-lwssl-evt-start { + value 2; + description + "SSL is starting"; + } + enum flow-ssl-lwssl-evt-pre-ssl { + value 3; + description + "All Pre-ssl data is read"; + } + enum flow-ssl-lwssl-evt-hs-begin { + value 4; + description + "pre-ssl data is read and handshake begins"; + } + enum flow-ssl-lwssl-evt-ccs-fin-rcv { + value 5; + description + "CCS + FIN received"; + } + enum flow-ssl-lwssl-evt-rcv-wire-cn { + value 6; + description + "Close notify received from wire"; + } + enum flow-ssl-lwssl-evt-rcv-wine-fin { + value 7; + description + "FIN received from wire"; + } + enum flow-ssl-lwssl-evt-wire-rst { + value 8; + description + "RST received from wire"; + } + enum flow-ssl-lwssl-evt-rcv-ao-fin-cn { + value 9; + description + "FIN from AO, as Close notify received on peer"; + } + enum flow-ssl-lwssl-evt-rcv-ao-fin-no-cn { + value 10; + description + "FIN from AO but No Close notify received"; + } + enum flow-ssl-lwssl-evt-rcv-ao-rst { + value 11; + description + "Received RST from AO"; + } + enum flow-ssl-lwssl-evt-key-pkt-from-ism { + value 12; + description + "Received Key packet from ISM"; + } + enum flow-ssl-lwssl-evt-key-pkt-init { + value 13; + description + "Key packet init done in DE"; + } + enum flow-ssl-lwssl-evt-app-parser { + value 14; + description + "Post parse done"; + } + enum flow-ssl-lwssl-evt-ssl-clsd { + value 15; + description + "SSL connection is closed, TCP is still open"; + } + enum flow-ssl-event-pd { + value 16; + description + "Push-Down connection"; + } + enum flow-ssl-lwssl-evt-ism-flush { + value 17; + description + "ISM flush is complete"; + } + enum flow-ssl-lwssl-evt-de-flush { + value 18; + description + "DE flush is complete"; + } + enum flow-ssl-lwssl-evt-flush { + value 19; + description + "ISM and DE flush is complete"; + } + enum flow-ssl-lwssl-evt-self-fs-clsd { + value 20; + description + "Self FS is Closed"; + } + enum flow-ssl-lwssl-evt-peer-fs-clsd { + value 21; + description + "Peer FS is Closed"; + } + enum flow-ssl-lwssl-evt-trigger-rst { + value 22; + description + "Self triggered RST"; + } + enum flow-ssl-lwssl-evt-ism-renego-init { + value 23; + description + "ISM renegotiation init done"; + } + } + description + "SSL Proxy flow events"; + } + + typedef appqoe-flow-sslproxy-module { + type enumeration { + enum flow-ssl-module-none { + value 0; + description + "No/Unknown Module"; + } + enum flow-ssl-module-ism { + value 1; + description + "ISM module"; + } + enum flow-ssl-module-ssl { + value 2; + description + "SSL encryption/decryption Module"; + } + enum flow-ssl-module-fsm { + value 3; + description + "Finite State Machine Module"; + } + } + description + "SSL Proxy internal modules"; + } + + typedef appqoe-flow-sslproxy-tr-events { + type enumeration { + enum flow-ssl-evt-unknown { + value 0; + description + "ERROR - Unknown Event"; + } + enum flow-ssl-evt-ism-snd-ssl-msg { + value 1; + description + "Trace event from ISM to SSL"; + } + enum flow-ssl-evt-ism-pd { + value 2; + description + "Push-down event generated by ISM"; + } + enum flow-ssl-evt-ism-created { + value 3; + description + "Created event generated by ISM"; + } + enum flow-ssl-evt-ism-ssl-rec { + value 4; + description + "SSL record event generated by ISM"; + } + enum flow-ssl-evt-ism-ssl-data { + value 5; + description + "SSL data event generated by ISM"; + } + enum flow-ssl-evt-ism-ssl-data-or-c2s { + value 6; + description + "SSL data is originating from client to server"; + } + enum flow-ssl-evt-ism-ssl-data-or-s2c { + value 7; + description + "SSL data is originating from server to client"; + } + enum flow-ssl-evt-ism-cls { + value 8; + description + "Close event generated by ISM"; + } + enum flow-ssl-evt-ism-cls-notif-rcv { + value 9; + description + "Close Notify Receive event generated by ISM"; + } + enum flow-ssl-evt-ism-hello-req-rcv { + value 10; + description + "Hello Request Receive event generated by ISM"; + } + enum flow-ssl-evt-ism-de-flush { + value 11; + description + "DE flush completed event generated by ISM"; + } + enum flow-ssl-evt-ism-flush { + value 12; + description + "Flush completed event generated by ISM"; + } + enum flow-ssl-evt-ism-flush-c2s { + value 13; + description + "Client to Server flush completed event generated by ISM"; + } + enum flow-ssl-evt-ism-flush-s2c { + value 14; + description + "Server to Client flush completed event generated by ISM"; + } + enum flow-ssl-evt-ism-new { + value 15; + description + "New ISM object event"; + } + enum flow-ssl-evt-ism-key-pkt { + value 16; + description + "ISM has detected a key packet"; + } + enum flow-ssl-evt-ism-enc-st-init { + value 17; + description + "Encryption Init event generated by ISM"; + } + enum flow-ssl-evt-ism-conn-data { + value 18; + description + "Connection data event gen.."; + } + enum flow-ssl-evt-ism-de-key-pkt { + value 19; + description + "DE key packet event generated by ISM"; + } + enum flow-ssl-evt-ism-key-pkt-loaded { + value 20; + description + "Key packet loaded event generated by ISM"; + } + enum flow-ssl-evt-ism-hs { + value 21; + description + "Handshake event generated by ISM"; + } + enum flow-ssl-evt-ism-dscp-update { + value 22; + description + "DSCP update event generated by ISM"; + } + enum flow-ssl-evt-ism-hs-comp-ssl-rec { + value 23; + description + "Handshake completed event generated by ISM"; + } + enum flow-ssl-evt-ism-msg-code-max { + value 24; + description + "Message code max event generated by ISM"; + } + enum flow-ssl-evt-ism-trig-pd { + value 25; + description + "Push-down triggered event generated by ISM"; + } + enum flow-ssl-evt-ism-trig-rst { + value 26; + description + "Trigger reset event generated by ISM"; + } + enum flow-ssl-evt-ism-rx-alrt { + value 27; + description + "ISM has received an alert"; + } + enum flow-ssl-evt-ism-tx-alrt { + value 28; + description + "ISM has sent an alert"; + } + enum flow-ssl-evt-snd-ism-msg { + value 29; + description + "SSL flow record event generated"; + } + enum flow-ssl-evt-flow-ssl-rec { + value 30; + description + "SSL flow record event generated"; + } + enum flow-ssl-evt-flow-new { + value 31; + description + "SSL new flow event generated"; + } + enum flow-ssl-evt-flow-flush { + value 32; + description + "SSL flow flush event generated"; + } + enum flow-ssl-evt-flow-de-key { + value 33; + description + "SSL DE key event generated"; + } + enum flow-ssl-evt-flow-trig-pd { + value 34; + description + "SSL flow trigger push-down event generated"; + } + enum flow-ssl-evt-flow-cleanup { + value 35; + description + "SSL flow cleanup event generated"; + } + enum flow-ssl-evt-sake-list-rec-rsp { + value 36; + description + "SAKE "; + } + enum flow-ssl-evt-sake-ske-rsp { + value 37; + description + "SAKE response event generated"; + } + enum flow-ssl-evt-sake-decr-cke-rsp { + value 38; + description + "SAKE CKE decrypted response event generated"; + } + enum flow-ssl-evt-sake-cke-secr-rsp { + value 39; + description + "SAKE CKE secret response event generated"; + } + enum flow-ssl-evt-sake-cert-ver-rsp { + value 40; + description + "SAKE certificate verification response event generated"; + } + enum flow-ssl-evt-sake-cli-cert-rsp { + value 41; + description + "SAKE client certificate response generated"; + } + enum flow-ssl-evt-sake-ocsp-srv-cert-vrfy { + value 42; + description + "SAKE OCSP server certificate verification response event generated"; + } + enum flow-ssl-evt-sake-ocsp-cli-cert-vrfy { + value 43; + description + "SAKE OCSP client certificate verification response event generated"; + } + enum flow-ssl-evt-snd-fin-tx { + value 44; + description + "FIN to TX event generated by SSL"; + } + enum flow-ssl-evt-snd-fin-sc { + value 45; + description + "FIN to Service Chain event generated by SSL"; + } + enum flow-ssl-evt-snd-rst-tx { + value 46; + description + "RST to wire event generated by SSL"; + } + enum flow-ssl-evt-snd-rst-sc { + value 47; + description + "RST to Service Chain event generated by SSL"; + } + enum flow-ssl-evt-snd-shrt-ckt-rst-tx { + value 48; + description + "Short circuit Service Chain reset to TX generated by SSL"; + } + enum flow-ssl-evt-snd-shrt-ckt-fin-tx { + value 49; + description + "Short circuit Service Chain FIN to TX generated by SSL"; + } + enum flow-ssl-evt-rcv-fin { + value 50; + description + "SSL has received FIN message"; + } + enum flow-ssl-evt-rcv-rst { + value 51; + description + "SSL has received RST message"; + } + enum flow-ssl-evt-trig-rst { + value 52; + description + "Reset triggered event"; + } + enum flow-ssl-evt-trig-td { + value 53; + description + "Push-down triggered event"; + } + enum flow-ssl-evt-data-ctrl-pause { + value 54; + description + "Data control pause event"; + } + enum flow-ssl-evt-data-ctrl-res-ntfy { + value 55; + description + "Data control resume notify event"; + } + enum flow-ssl-evt-data-ctrl-res { + value 56; + description + "Data control resume event"; + } + enum flow-ssl-evt-rd-pause { + value 57; + description + "Read pause event generated by SSL"; + } + enum flow-ssl-evt-rd-res-ntfy { + value 58; + description + "Read resume notify event generated by SSL"; + } + enum flow-ssl-evt-rd-res { + value 59; + description + "Read resume event generated by SSL"; + } + enum flow-ssl-evt-dre-tx-pause { + value 60; + description + "Transmit pause event sent to DRE"; + } + enum flow-ssl-evt-dre-tx-res-ntfy { + value 61; + description + "Transmit resume notify event sent to DRE"; + } + enum flow-ssl-evt-rd-ps-fin-defer { + value 62; + description + "FIN deferred due to read pause event generated by SSL"; + } + enum flow-ssl-evt-rd-ps-rst-defer { + value 63; + description + "RST deferred due to read pause event generated by SSL"; + } + enum flow-ssl-evt-rd-ps-def-fin-hdl { + value 64; + description + "Handle deferred FIN due to read pause event generated by SSL"; + } + enum flow-ssl-evt-rd-ps-def-rst-hdl { + value 65; + description + "Handle deferred RST due to read pause event generated by SSL"; + } + enum flow-ssl-evt-lfs-cls { + value 66; + description + "LFS close event generated by SSL"; + } + enum flow-ssl-evt-pa-ctrl-msg-rx { + value 67; + description + "PA control message received event generated by SSL"; + } + enum flow-ssl-evt-pa-ctrl-msg-tx { + value 68; + description + "PA control message transmitted event generated by SSL"; + } + enum flow-ssl-evt-fsm { + value 69; + description + "SSL FSM event"; + } + enum flow-ssl-evt-invalid { + value 70; + description + "Invalid FSM event"; + } + enum flow-ssl-evt-fsm-peer-init { + value 71; + description + "Peer init done FSM event"; + } + enum flow-ssl-evt-fsm-start-ssl { + value 72; + description + "SSL has started"; + } + enum flow-ssl-evt-fsm-pre-ssl { + value 73; + description + "Pre SSL state has completed"; + } + enum flow-ssl-evt-fsm-hs-begin { + value 74; + description + "Handshake has started"; + } + enum flow-ssl-evt-fsm-ccs-fin-rcv { + value 75; + description + "CCS FIN message has been received"; + } + enum flow-ssl-evt-fsm-rcvd-wire-cn { + value 76; + description + "Close notify message received from wire"; + } + enum flow-ssl-evt-fsm-rcvd-wire-fin { + value 77; + description + "FIN message received from wire"; + } + enum flow-ssl-evt-fsm-rcvd-wire-rst { + value 78; + description + "Reset message received from wire"; + } + enum flow-ssl-evt-fsm-rcvd-fin-peer-cn { + value 79; + description + "Peer close notify message received from Service Chain"; + } + enum flow-ssl-evt-fsm-rcvd-fin-peer-no-cn { + value 80; + description + "Peer No close notify"; + } + enum flow-ssl-evt-fsm-rcvd-rst { + value 81; + description + "Reset received from SC"; + } + enum flow-ssl-evt-fsm-key-pkt-ism { + value 82; + description + "Key packet received from ISM"; + } + enum flow-ssl-evt-fsm-key-pkt-init { + value 83; + description + "Key packet init completed"; + } + enum flow-ssl-evt-fsm-app-parser { + value 84; + description + "Application data parser completed"; + } + enum flow-ssl-evt-fsm-ssl-clsd { + value 85; + description + "SSL closed event"; + } + enum flow-ssl-evt-fsm-pd { + value 86; + description + "FSM Push-down event"; + } + enum flow-ssl-evt-fsm-ism-flush { + value 87; + description + "ISM flush completed"; + } + enum flow-ssl-evt-fsm-de-flush { + value 88; + description + "DE flush completed"; + } + enum flow-ssl-evt-fsm-flush { + value 89; + description + "ISM and DE flush have both completed"; + } + enum flow-ssl-evt-fsm-self-fs-clsd { + value 90; + description + "Self flow segment closed event"; + } + enum flow-ssl-evt-fsm-peer-fs-clsd { + value 91; + description + "Peer flow segment closed event"; + } + enum flow-ssl-evt-fsm-trig-rst { + value 92; + description + "Reset is triggered by FSM"; + } + enum flow-ssl-evt-fsm-ism-renego-init { + value 93; + description + "ISM Renegotiation init has been completed"; + } + enum flow-ssl-evt-fsm-pa { + value 94; + description + "Peer adapter event"; + } + enum flow-ssl-evt-fsm-pa-invalid { + value 95; + description + "Invalid peer adapter event"; + } + enum flow-ssl-evt-fsm-pa-peer-init { + value 96; + description + "Peer init completed by peer adapter"; + } + enum flow-ssl-evt-fsm-pa-start-ssl { + value 97; + description + "Peer adapter started"; + } + enum flow-ssl-evt-fsm-pa-hs-begin { + value 98; + description + "Peer adapter handshake started"; + } + enum flow-ssl-evt-fsm-pa-ccs-fin-rcv { + value 99; + description + "Peer adapter change cipher spec handshake received"; + } + enum flow-ssl-evt-fsm-pa-key-pck-init { + value 100; + description + "Peer adapter key packet init completed"; + } + enum flow-ssl-evt-fsm-pa-trig-rst { + value 101; + description + "Peer adapter reset triggered"; + } + enum flow-ssl-evt-fsm-pa-ism-renego-init { + value 102; + description + "Peer adapter ISM renegotiation init completed"; + } + enum flow-ssl-evt-fsm-pa-rcvd-wire-cn { + value 103; + description + "Peer adapter close notify received on wire"; + } + enum flow-ssl-evt-fsm-pa-rcvd-wire-fin { + value 104; + description + "Peer adapter FIN received on wire"; + } + enum flow-ssl-evt-fsm-pa-rcvd-wire-rst { + value 105; + description + "Peer adapter RST received on wire"; + } + enum flow-ssl-evt-fsm-pa-rcvd-fin-cn { + value 106; + description + "Peer adapter received service chain close notify FIN"; + } + enum flow-ssl-evt-fsm-pa-rcvd-fin-no-cn { + value 107; + description + "Peer adapter received service chain no close notify FIN"; + } + enum flow-ssl-evt-fsm-pa-rcvd-rst { + value 108; + description + "Peer adapter received service chain reset"; + } + enum flow-ssl-evt-fsm-pa-peer-fs-clsd { + value 109; + description + "Peer adapter peer flow segment closed event"; + } + enum flow-ssl-evt-fsm-pa-pd { + value 110; + description + "Peer adapter push-down event"; + } + } + description + "SSL Proxy TR events"; + } + + typedef appqoe-flow-sslproxy-state { + type enumeration { + enum flow-ssl-state-unknown { + value 0; + description + "Unexpected error state"; + } + enum flow-ssl-state-ism-none { + value 1; + description + "ISM has no state."; + } + enum flow-ssl-state-ism-init { + value 2; + description + "ISM in handshake initialised state"; + } + enum flow-ssl-state-ism-ch { + value 3; + description + "ISM in client hello state"; + } + enum flow-ssl-state-ism-bgn { + value 4; + description + "ISM in handshake begin state"; + } + enum flow-ssl-state-ism-est { + value 5; + description + "ISM in handshake established state"; + } + enum flow-ssl-state-ism-intr { + value 6; + description + "ISM in handshake "; + } + enum flow-ssl-state-ism-comp-cl { + value 7; + description + "ISM in handshake completed by client state"; + } + enum flow-ssl-state-ism-comp-sr { + value 8; + description + "ISM in handshake completed by server state"; + } + enum flow-ssl-state-ism-comp { + value 9; + description + "ISM in handshake completed state"; + } + enum flow-ssl-state-ism-pt { + value 10; + description + "ISM Is in Pass-Through state"; + } + enum flow-ssl-state-ism-rst { + value 11; + description + "ISM is in reset state"; + } + enum flow-ssl-state-ism-rst-dl { + value 12; + description + "cscwa70148"; + } + enum flow-ssl-state-pafs-invalid { + value 13; + description + "Peer adapter is in an invalid state"; + } + enum flow-ssl-state-pafs-init { + value 14; + description + "Peer adapter is in initialised state"; + } + enum flow-ssl-state-pafs-fwd-clr { + value 15; + description + "Peer adapter is in forward clear state"; + } + enum flow-ssl-state-pafs-fwd { + value 16; + description + "Peer adapter is in forward state"; + } + enum flow-ssl-state-pafs-fwd-hs { + value 17; + description + "Peer adapter is in forward handshake state"; + } + enum flow-ssl-state-pafs-imp { + value 18; + description + "Peer adapter is in key import state"; + } + enum flow-ssl-state-pafs-data { + value 19; + description + "Peer adapter is in app data state"; + } + enum flow-ssl-state-pafs-tcp-cls { + value 20; + description + "Peer adapter is in TCP closing state"; + } + enum flow-ssl-state-pafs-pd { + value 21; + description + "Peer adapter is in push-down state"; + } + enum flow-ssl-state-pafs { + value 22; + description + "Peer adapter is in completed state"; + } + enum flow-ssl-state-lwssl-invalid { + value 23; + description + "Unexpected error state"; + } + enum flow-ssl-state-lwssl-init { + value 24; + description + "LWSSL is in initialised state"; + } + enum flow-ssl-state-lwssl-fwd-clr { + value 25; + description + "LWSSL is in forward clear state"; + } + enum flow-ssl-state-lwssl-pre-ssl { + value 26; + description + "LWSSL is in pre-SSL state"; + } + enum flow-ssl-state-lwssl-fwd { + value 27; + description + "LWSSL is in forward state"; + } + enum flow-ssl-state-lwssl-hs { + value 28; + description + "LWSSL is in handshake state"; + } + enum flow-ssl-state-lwssl-fwd-hs { + value 29; + description + "LWSSL is in handshake forward state"; + } + enum flow-ssl-state-lwssl-export { + value 30; + description + "LWSSL is in export state"; + } + enum flow-ssl-state-lwssl-import { + value 31; + description + "LWSSL is in import state"; + } + enum flow-ssl-state-lwssl-flush-ds { + value 32; + description + "LWSSL is in flush DE state"; + } + enum flow-ssl-state-lwssl-app-data { + value 33; + description + "LWSSL is in Application data state"; + } + enum flow-ssl-state-lwssl-wire-clsd { + value 34; + description + "LWSSL is in wire closed state"; + } + enum flow-ssl-state-lwssl-ao-clsd { + value 35; + description + "LWSSL is in service chain closed state"; + } + enum flow-ssl-state-lwssl-clsd { + value 36; + description + "LWSSL is in closed state"; + } + enum flow-ssl-state-lwssl-ss-clsd { + value 37; + description + "LWSSL is in single side closed state"; + } + enum flow-ssl-state-lwssl-tcp-clsd { + value 38; + description + "LWSSL is in TCP closed state"; + } + enum flow-ssl-state-lwssl-pd { + value 39; + description + "LWSSL is in push-down state"; + } + enum flow-ssl-state-lwssl-fs { + value 40; + description + "LWSSL is in flow segment completed state"; + } + } + description + "SSL Proxy SSL state"; + } + + typedef appqoe-flow-status { + type enumeration { + enum appqoe-flow-status-active { + value 0; + description + "APPQOE flow is active"; + } + enum appqoe-flow-status-expired { + value 1; + description + "APPQOE flow has expired"; + } + enum appqoe-flow-status-error { + value 2; + description + "APPQOE flow has been closed due to an error"; + } + } + description + "Current status of an AppQoE flow"; + } + + typedef appqoe-flow-dreopt-bp-code { + type enumeration { + enum appqoe-flow-dreopt-bp-code-na { + value 0; + description + "DRE Optimization successfully applied to flow."; + } + enum appqoe-flow-dreopt-bp-code-low-mem { + value 1; + description + "Insufficient System Memory."; + } + enum appqoe-flow-dreopt-bp-code-sync { + value 2; + description + "DRE Optimization cache is out of sync."; + } + enum appqoe-flow-dreopt-bp-loc-cache-init { + value 3; + description + "The local DRE Optimization cache has not completed initialization."; + } + enum appqoe-flow-dreopt-bp-rem-cache-init { + value 4; + description + "The remote DRE Optimization cache has not completed initialization."; + } + enum appqoe-flow-dreopt-bp-incompatibl { + value 5; + description + "The Remote (Peer) DRE Optimization cache is not compatible."; + } + enum appqoe-flow-dreopt-bp-exceed-ackq { + value 6; + description + "Exceeded ack-Q capability."; + } + enum appqoe-flow-dreopt-bp-rem-waitq { + value 7; + description + "Remote wait-Q due to nack."; + } + enum appqoe-flow-dreopt-bp-loc-disk-ol { + value 8; + description + "Local DRE Optimization disk over load."; + } + enum appqoe-flow-dreopt-bp-rem-disk-ol { + value 9; + description + "Remote (Peer) DRE Optimization disk over load."; + } + enum appqoe-flow-dreopt-bp-loc-disk-io { + value 10; + description + "Local DRE Optimization disk IO error."; + } + enum appqoe-flow-dreopt-bp-rem-disk-io { + value 11; + description + "Remote (Peer) DRE Optimization disk IO error."; + } + enum appqoe-flow-dreopt-bp-flow-type { + value 12; + description + "Flow type cannot be DRE Optimized."; + } + enum appqoe-flow-dreopt-bp-chunk-bytes { + value 13; + description + "Last partial chunk."; + } + enum appqoe-flow-dreopt-bp-skip-bytes { + value 14; + description + "Skipped frame header."; + } + enum appqoe-flow-dreopt-bp-low-comp { + value 15; + description + "DRE Optimization low compression."; + } + } + description + "Reason why DRE Optimization has been bypassed"; + } + + typedef appqoe-flow-dreopt-policy { + type enumeration { + enum appqoe-flow-dreopt-policy-unknown { + value 0; + description + "TCP Flow Optimization policy is unknown"; + } + enum appqoe-flow-dreopt-policy-tfo-only { + value 1; + description + "TCP Flow Optimization only policy"; + } + enum appqoe-flow-dreopt-policy-dre-only { + value 2; + description + "DRE Optimization only policy"; + } + enum appqoe-flow-dreopt-policy-lz-only { + value 3; + description + "LZ Compression only policy"; + } + enum appqoe-flow-dreopt-policy-dre-lz { + value 4; + description + "DRE Optimization and LZ Compression policy"; + } + } + description + "The DRE Optimization policy."; + } + + typedef appqoe-flow-dreopt-reset-reason { + type enumeration { + enum appqoe-flow-dreopt-rst-none { + value 0; + description + "The DRE Optimized flow has not been reset."; + } + enum appqoe-flow-dreopt-rst-wr-fail { + value 1; + description + "The DRE Optimized flow was reset due to write failure"; + } + enum appqoe-flow-dreopt-rst-rd-fail { + value 2; + description + "The DRE Optimized flow was reset due to read failure"; + } + enum appqoe-flow-dreopt-rst-wr-wt { + value 3; + description + "The DRE Optimized flow was reset due to write wait"; + } + enum appqoe-flow-dreopt-rst-no-opt-wr-wt { + value 4; + description + "The DRE Optimized flow was reset due to non optimized write wait"; + } + enum appqoe-flow-dreopt-rst-opt-rd-wt { + value 5; + description + "The DRE Optimized flow was reset due to read wait"; + } + enum appqoe-flow-dreopt-rst-no-opt-rd-wt { + value 6; + description + "The DRE Optimized flow was reset due to a reset being received from Service Chain while DRE was in the read wait state"; + } + enum appqoe-flow-dreopt-rst-decode-fail { + value 7; + description + "The DRE Optimized flow was reset due to decode failure"; + } + enum appqoe-flow-dreopt-rst-encode-fail { + value 8; + description + "The DRE Optimized flow was reset due to encode failure"; + } + enum appqoe-flow-dreopt-rst-conn-init { + value 9; + description + "The DRE Optimized flow was reset due to connection initialization failure"; + } + enum appqoe-flow-dreopt-rst-opt-rd-enexp { + value 10; + description + "The DRE Optimized flow was reset due to an unexpected reset from the WAN side"; + } + enum appqoe-flow-dreopt-rst-overload { + value 11; + description + "The DRE Optimized flow was reset due to the max supported flow limit having been reached"; + } + enum appqoe-flow-dreopt-rst-bufmgr-fail { + value 12; + description + "The DRE Optimized flow was reset due to a buffer allocation failure"; + } + enum appqoe-flow-dreopt-rst-peer-rst-req { + value 13; + description + "The DRE Optimized flow was reset due to a peer reset request"; + } + enum appqoe-flow-dreopt-rst-conn-state { + value 14; + description + "The DRE Optimized flow was reset due to the flow state being out of sync"; + } + enum appqoe-flow-dreopt-rst-buff-alloc { + value 15; + description + "The DRE Optimized flow was reset due to buffer allocation failure"; + } + enum appqoe-flow-dreopt-rst-ssl-replumb { + value 16; + description + "The DRE Optimized flow was reset due to flow a re-plumbing failure"; + } + enum appqoe-flow-dreopt-rst-tcp-seq-no { + value 17; + description + "The DRE Optimized flow was reset due to a TCP sequence number error"; + } + } + description + "The reasons why a DRE Optimized flow may be reset.."; + } + + typedef appqoe-flow-dreopt-close-state { + type enumeration { + enum appqoe-flow-dreopt-close-state-undef { + value 0; + description + "The DRE Optimized close state is undefined."; + } + enum appqoe-flow-dreopt-close-state-none { + value 1; + description + "The DRE Optimized flow is not in closed state."; + } + enum appqoe-flow-dreopt-close-state-fin { + value 2; + description + "The DRE Optimized flow was closed due to a FIN."; + } + enum appqoe-flow-dreopt-close-state-reset { + value 3; + description + "The DRE Optimized flow was closed due to a RESET."; + } + } + description + "The reasons why a DRE Optimized flow may be reset."; + } + + typedef appqoe-flow-dreopt-mode { + type enumeration { + enum appqoe-flow-dreopt-mode-none { + value 0; + description + "DRE Optimization classification mode not specified"; + } + enum appqoe-flow-dreopt-mode-uni { + value 1; + description + "Unidirectional DRE Optimization."; + } + enum appqoe-flow-dreopt-mode-adaptive { + value 2; + description + "Adaptive DRE Optimization."; + } + enum appqoe-flow-dreopt-mode-bi { + value 3; + description + "Bidirectional DRE Optimization"; + } + } + description + "The DRE Optimization classification mode."; + } + + typedef appqoe-flow-dreopt-conn-types { + type enumeration { + enum appqoe-flow-dreopt-conn-type-unknown { + value 0; + description + "The local connection type is unknown."; + } + enum appqoe-flow-dreopt-conn-type-orig { + value 1; + description + "The local connection type is Originating."; + } + enum appqoe-flow-dreopt-conn-type-term { + value 2; + description + "The local connection type is Terminating."; + } + } + description + "The local connection type."; + } + + typedef appqoe-flow-dreopt-buff-block-reason { + type enumeration { + enum appqoe-flow-dreopt-buff-block-none { + value 0; + description + "Buffer block allocation is not currently blocked"; + } + enum appqoe-flow-dreopt-buff-block-buff { + value 1; + description + "Buffer block allocation is currently blocked due to high buffer usage"; + } + enum appqoe-flow-dreopt-buff-block-ackq { + value 2; + description + "Buffer block allocation is currently blocked due to high ack Queue usage"; + } + enum appqoe-flow-dreopt-buff-block-flow { + value 3; + description + "Buffer block allocation is currently blocked due to flow control"; + } + enum appqoe-flow-dreopt-buff-block-task { + value 4; + description + "Buffer block allocation is currently blocked due to task blockage"; + } + enum appqoe-flow-dreopt-buff-block-lock { + value 5; + description + "Buffer block allocation is currently blocked due to buffer locked"; + } + } + description + "DRE Optimized flow connection buffer block reasons."; + } + + typedef appqoe-flow-dreopt-flow-events { + type enumeration { + enum appqoe-flow-dreopt-unknown { + value 0; + description + "An unknown or unexpected TCP Proxy flow event has occurred"; + } + enum appqoe-flow-dreopt-cr-rsp-snt { + value 1; + description + "The flow create response message has been sent to TCP Proxy"; + } + enum appqoe-flow-dreopt-cls-fin-rcv-c { + value 2; + description + "DRE Optimization service has received a client FIN message from TCP Proxy"; + } + enum appqoe-flow-dreopt-cls-fin-rcv-s { + value 3; + description + "DRE Optimization service has received a server FIN message from TCP Proxy"; + } + enum appqoe-flow-dreopt-cls-rst-rcv-c { + value 4; + description + "DRE Optimization service has received a client RST message from TCP Proxy"; + } + enum appqoe-flow-dreopt-cls-rst-rcv-s { + value 5; + description + "DRE Optimization service has received a server RST message from TCP Proxy"; + } + enum appqoe-flow-dreopt-cls-srv-rst-rcv-c { + value 6; + description + "DRE Optimization service has received a close RST client"; + } + enum appqoe-flow-dreopt-cls-srv-rst-rcv-s { + value 7; + description + "DRE Optimization service has received a close RST server"; + } + enum appqoe-flow-dreopt-cls-fin-req-snt-c { + value 8; + description + "FIN close request sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-fin-rsp-snt-c { + value 9; + description + "FIN close response received client-to-server"; + } + enum appqoe-flow-dreopt-cls-fin-rsp-sta-c { + value 10; + description + "FIN close with stats response sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-fin-ini-snt-c { + value 11; + description + "FIN init close sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-fin-req-snt-s { + value 12; + description + "FIN close request sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-fin-rsp-snt-s { + value 13; + description + "FIN close response sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-fin-rsp-sta-s { + value 14; + description + "FIN close with stats response sent server-to-client "; + } + enum appqoe-flow-dreopt-cls-fin-ini-snt-s { + value 15; + description + "FIN init close sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-rst-req-snt-c { + value 16; + description + "RST close request sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-rst-rsp-snt-c { + value 17; + description + "RST close response sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-rst-rsp-sta-c { + value 18; + description + "RST close with stats response sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-rst-ini-snt-c { + value 19; + description + "RST init close sent client-to-server"; + } + enum appqoe-flow-dreopt-cls-rst-req-snt-s { + value 20; + description + "RST close request sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-rst-rsp-snt-s { + value 21; + description + "RST close response sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-rst-rsp-sta-s { + value 22; + description + "RST close with stats response sent server-to-client"; + } + enum appqoe-flow-dreopt-cls-rst-ini-snt-s { + value 23; + description + "RST init close sent server-to-client"; + } + enum appqoe-flow-dreopt-eor-req-snt { + value 24; + description + "End of transmission request sent"; + } + enum appqoe-flow-dreopt-eot-ack-rcv { + value 25; + description + "End of transmission ACK received"; + } + enum appqoe-flow-dreopt-eot-req-rcv { + value 26; + description + "End of transmission request received"; + } + enum appqoe-flow-dreopt-eor-ack-snt { + value 27; + description + "End of transmission ACK sent"; + } + enum appqoe-flow-dreopt-ao-rd-shut { + value 28; + description + "Application Optimiser read socket shutdown"; + } + enum appqoe-flow-dreopt-ao-wr-shut { + value 29; + description + "Application Optimiser write socket shutdown"; + } + enum appqoe-flow-dreopt-wan-rd-shut { + value 30; + description + "WAN read socket shutdown"; + } + enum appqoe-flow-dreopt-wan-wr-shut { + value 31; + description + "WAN write socket shutdown"; + } + enum appqoe-flow-dreopt-internal-rst { + value 32; + description + "FLow was reset due to an internal reset"; + } + enum appqoe-flow-dreopt-cls-stat-snt { + value 33; + description + "FLow closed, statistics sent to TCP Proxy"; + } + } + description + "DRE Optimized flow events."; + } + + typedef appqoe-flow-httpopt-flow-events { + type enumeration { + enum appqoe-flow-httpopt-unknown { + value 0; + description + "The default HTTP Optimized flow event."; + } + enum appqoe-flow-httpopt-snt-cr-rsp { + value 1; + description + "The flow create response message has been sent to TCP Proxy"; + } + enum appqoe-flow-httpopt-rcv-fin-c { + value 2; + description + "HTTP Optimization service has received a client FIN message from TCP Proxy"; + } + enum appqoe-flow-httpopt-rcv-rst-c { + value 3; + description + "HTTP Optimization service has received a client RST message from TCP Proxy"; + } + enum appqoe-flow-httpopt-rcv-srv-rst-c { + value 4; + description + "HTTP Optimization service has received a client RST message from the server"; + } + enum appqoe-flow-httpopt-rcv-fin-s { + value 5; + description + "HTTP Optimization service has received a server FIN message from TCP Proxy"; + } + enum appqoe-flow-httpopt-rcv-rst-s { + value 6; + description + "HTTP Optimization service has received a server RST message from TCP Proxy"; + } + enum appqoe-flow-httpopt-rcv-srv-rst-s { + value 7; + description + "HTTP Optimization service has received a server RST message from the server"; + } + enum appqoe-flow-httpopt-snt-fin-rsp-c { + value 8; + description + "HTTP Optimization service has sent a response to the client FIN message received from TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-fin-rsp-st-c { + value 9; + description + "HTTP Optimization service has sent a response to the client FIN message received from TCP Proxy that also includes the flow statistics"; + } + enum appqoe-flow-httpopt-snt-rst-rsp-c { + value 10; + description + "HTTP Optimization service has sent a response to the client RST message received from TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-rsp-rsp-st-c { + value 11; + description + "HTTP Optimization service has sent a response to the client RST message received from TCP Proxy that also includes the flow statistics"; + } + enum appqoe-flow-httpopt-snt-fin-rsp-s { + value 12; + description + "HTTP Optimization service has sent a response to the server FIN message received from TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-fin-rsp-st-s { + value 13; + description + "HTTP Optimization service has sent a response to the server FIN message received from TCP Proxy that also includes the flow statistics"; + } + enum appqoe-flow-httpopt-snt-rst-rsp-s { + value 14; + description + "HTTP Optimization service has sent a response to the server RST message received from TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-rst-rsp-st-s { + value 15; + description + "HTTP Optimization service has sent a response to the server RST message received from TCP Proxy that also includes the flow statistics"; + } + enum appqoe-flow-httpopt-snt-int-rst-c { + value 16; + description + "HTTP Optimization service has sent a client-side internal RST message to TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-int-rst-st-c { + value 17; + description + "HTTP Optimization service has sent a client-side internal RST message with flow stats to TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-int-rst-s { + value 18; + description + "HTTP Optimization service has sent a server-side internal RST message to TCP Proxy"; + } + enum appqoe-flow-httpopt-snt-int-rst-st-s { + value 19; + description + "HTTP Optimization service has sent a server-side internal RST message with flow stats to TCP Proxy"; + } + enum appqoe-flow-httpopt-lan-vconn-clsd { + value 20; + description + "Client-side connection between HTTP Optimization service and HTTP Cache Engine has been closed"; + } + enum appqoe-flow-httpopt-wan-vconn-clsd { + value 21; + description + "Server-side connection between HTTP Optimization service and HTTP Cache Engine has been closed"; + } + enum appqoe-flow-httpopt-lan-vconn-abrtd { + value 22; + description + "Client-side connection between HTTP Optimization service and HTTP Cache Engine has been closed due to an error"; + } + enum appqoe-flow-httpopt-wan-vconn-abrtd { + value 23; + description + "Server-side connection between HTTP Optimization service and HTTP Cache Engine has been closed due to an error"; + } + enum appqoe-flow-httpopt-lan-conn-clsd { + value 24; + description + "Client-side connection between HTTP Optimization service and TCP Proxy has been closed"; + } + enum appqoe-flow-httpopt-wan-conn-clsd { + value 25; + description + "Server-side connection between HTTP Optimization service and TCP Proxy has been closed"; + } + } + description + "HTTP Optimized flow events."; + } + + typedef appqoe-stats-label { + type enumeration { + enum appqoe-stat-undef { + value 0; + description + "APPQOE statistics label is not defined"; + } + enum appqoe-stat-ssl-drop-untrusted-cert { + value 1; + description + "APPQOE statistics label SSL drop due to untrusted certificate"; + } + enum appqoe-stat-ssl-drop-no-proxy-cert { + value 2; + description + "APPQOE statistics label SSL drop as unable to get proxy certificate"; + } + enum appqoe-stat-ssl-drop-expired-cert { + value 3; + description + "APPQOE statistics label SSL drop due to certificate expired"; + } + enum appqoe-stat-ssl-drop-ocsp-cert-verif { + value 4; + description + "APPQOE statistics label SSL due to OCSP certificate verification fail"; + } + enum appqoe-stat-ssl-drop-endpoint-alert { + value 5; + description + "APPQOE statistics label SSL drop due to endpoint alert"; + } + enum appqoe-stat-ssl-drop-tcp-close-hs { + value 6; + description + "APPQOE statistics label SSL drop due to TCP close received"; + } + enum appqoe-stat-ssl-session-alloc-fail { + value 7; + description + "APPQOE statistics label SSL could not allocate sessions"; + } + enum appqoe-stat-ssl-c2s-wcapi-deny-pkt { + value 8; + description + "APPQOE statistics label SSL client to server packet denied"; + } + enum appqoe-stat-ssl-s2c-wcapi-deny-pkt { + value 9; + description + "APPQOE statistics label SSL server to client packet denied"; + } + enum appqoe-stat-rm-res-tcp-used-sess { + value 10; + description + "APPQOE statistics label RM number of sessions used by TCP"; + } + enum appqoe-stat-rm-res-ssl-used-sess { + value 11; + description + "APPQOE statistics label RM number of sessions used by SSL"; + } + enum appqoe-stat-rm-health-yellow { + value 12; + description + "APPQOE statistics label RM number of times health status changed to yellow"; + } + enum appqoe-stat-rm-health-green { + value 13; + description + "APPQOE statistics label RM number of times health status changed to green"; + } + enum appqoe-stat-rm-tcp-sess-alloc { + value 14; + description + "APPQOE statistics label RM number of sessions allocated by TCP"; + } + enum appqoe-stat-rm-tcp-sess-free { + value 15; + description + "APPQOE statistics label RM number of sessions freed by TCP"; + } + enum appqoe-stat-rm-ssl-sess-alloc { + value 16; + description + "APPQOE statistics label RM number of sessions allocated by SSL"; + } + enum appqoe-stat-rm-ssl-sess-free { + value 17; + description + "APPQOE statistics label RM number of sessions freed by SSL"; + } + enum appqoe-stat-tcp-tot-conn { + value 18; + description + "APPQOE statistics label TCP total number of connections"; + } + enum appqoe-stat-tcp-tot-flow-create { + value 19; + description + "APPQOE statistics label TCP total number of flows created"; + } + enum appqoe-stat-tcp-tot-flow-delete { + value 20; + description + "APPQOE statistics label TCP total number of flows deleted"; + } + enum appqoe-stat-tcp-tot-curr-conn { + value 21; + description + "APPQOE statistics label TCP total number of current connections"; + } + enum appqoe-stat-tcp-tot-fail-conn { + value 22; + description + "APPQOE statistics label TCP total number of failed connections"; + } + enum appqoe-stat-tcp-tot-syncache-add { + value 23; + description + "APPQOE statistics label TCP total number of SYN cache added"; + } + enum appqoe-stat-vp-tot-syn-drop-pps { + value 24; + description + "APPQOE statistics label transport channel total SYN dropped due to packet per second limit reached"; + } + enum appqoe-stat-vp-tot-new-conn-fail { + value 25; + description + "APPQOE statistics label transport channel total new connection failed"; + } + enum appqoe-stat-bbr-act-conn { + value 26; + description + "APPQOE statistics label Bottleneck Bandwidth and Round-trip propagation time(BBR) total active connections"; + } + enum appqoe-stat-bbr-tot-sendmap-fail { + value 27; + description + "APPQOE statistics label BBR total send map allocation failed"; + } + enum appqoe-stat-sppi-pkt-avail { + value 28; + description + "APPQOE statistics label Service Plane Packet Interface(SPPI) total available packets"; + } + enum appqoe-stat-sppi-rx-fail { + value 29; + description + "APPQOE statistics label SPPI failed received packets"; + } + enum appqoe-stat-sppi-tx-fail { + value 30; + description + "APPQOE statistics label SPPI failed transmit packets"; + } + enum appqoe-stat-sppi-pipe-disconnect { + value 31; + description + "APPQOE statistics label SPPI pipe disconnected"; + } + enum appqoe-stat-hput-sys-callout-del { + value 32; + description + "APPQOE statistics label system timer call-out deleted"; + } + enum appqoe-stat-hput-hpt-callout-del { + value 33; + description + "APPQOE statistics label HPTS(high precision timers) timer call-out deleted"; + } + enum appqoe-stat-hput-sys-timer-del { + value 34; + description + "APPQOE statistics label system timer deleted"; + } + enum appqoe-stat-hput-hpt-timer-del { + value 35; + description + "APPQOE statistics label high precision timer deleted"; + } + enum appqoe-stat-hput-sys-node-empty { + value 36; + description + "APPQOE statistics label system timer node is empty"; + } + enum appqoe-stat-hput-hpt-node-empty { + value 37; + description + "APPQOE statistics label high precision timer node is empty"; + } + } + description + "APPQOE services registered statistics label"; + } + + typedef appqoe-flow-services { + type bits { + bit appqoe-flow-services-tcpproxy { + position 0; + description + "Flow was handled by TCP-Proxy"; + } + bit appqoe-flow-services-sslproxy { + position 1; + description + "Flow was handled by SSL-Proxy"; + } + bit appqoe-flow-services-utd { + position 2; + description + "Flow was handled by UTD"; + } + bit appqoe-flow-services-dreopt { + position 3; + description + "Flow was handled by DRE Optimization"; + } + bit appqoe-flow-services-httpopt { + position 4; + description + "Flow was handled by HTTP Optimization"; + } + } + description + "Services involved in flow optimization"; + } + + grouping appqoe-modules { + description + "Status of each APPQOE service or module."; + leaf module { + type appqoe-xe-serv-oper:appqoe-module; + description + "Service or module name"; + } + leaf status { + type appqoe-xe-serv-oper:appqoe-module-status; + description + "Service or module status"; + } + leaf err-tag { + type appqoe-xe-serv-oper:appqoe-status-err; + description + "Error details when service or module status is not green"; + } + } + + grouping appqoe-status-details { + description + "APPQOE overall status along with + each service or module registered status. + Also displays error details when a service or module + is inactive"; + leaf appqoe-status { + type appqoe-xe-serv-oper:appqoe-module-status; + description + "APPQOE overall status"; + } + list module-status { + description + "Status of APPQOE module registered + with status infra"; + uses appqoe-xe-serv-oper:appqoe-modules; + } + } + + grouping appqoe-flow-tcpproxy-stats { + description + "General TCP Proxy flow statistics"; + leaf bytes-sent { + type uint64; + units "bytes"; + description + "Total number of bytes sent"; + } + leaf bytes-recv { + type uint64; + units "bytes"; + description + "Total number of bytes received"; + } + leaf bytes-to-ssl { + type uint64; + units "bytes"; + description + "Total number of bytes sent (client) or received (server) to/from SSL Proxy"; + } + leaf iptos { + type uint8; + description + "IP TOS value received in packets"; + } + leaf rx-pause { + type uint32; + description + "Proxy has paused to read from socket"; + } + leaf tx-enabled { + type uint32; + description + "Proxy has enabled writing to socket"; + } + leaf flow-pause-state { + type uint32; + description + "Flow Pause State of the socket"; + } + leaf flow-control { + type uint32; + description + "Flow Control bits"; + } + leaf close-done { + type uint32; + description + "TCP Proxy has closed the socket"; + } + leaf fin-rcvd { + type uint32; + description + "TCP Proxy has received a FIN message"; + } + leaf rst-rcvd { + type uint32; + description + "TCP Proxy has received a RST message"; + } + leaf fin-sent { + type uint32; + description + "TCP Proxy has sent a FIN message"; + } + leaf res-enqueued { + type uint32; + description + "Number of resume enqueued"; + } + leaf res-enqueue-ignored { + type uint32; + description + "Number of resume ignored while enqueuing"; + } + leaf res-processed { + type uint32; + description + "Number of resume processed"; + } + leaf res-process-ignored { + type uint32; + description + "Number of resume ignored while processing"; + } + } + + grouping appqoe-flow-tcpproxy-ssl { + description + "TCP Proxy & SSL Proxy interaction statistics"; + leaf rd-pause { + type uint32; + description + "Read resume pause"; + } + leaf rd-pause-fail { + type uint32; + description + "Read resume fail"; + } + leaf rd-resume-notify { + type uint32; + description + "Read resume notify"; + } + leaf rd-resume { + type uint32; + description + "Read resume"; + } + } + + grouping appqoe-flow-tcpproxy-dir { + description + "TCP Proxy Client to Server or Server to Client statistics"; + leaf to-dre-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent from TCP Proxy to DRE Optimization service"; + } + leaf to-dre-pkts { + type uint64; + description + "Total number of packets sent from TCP Proxy to DRE Optimization service"; + } + leaf from-dre-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent from DRE Optimization to TCP Proxy"; + } + leaf from-dre-pkts { + type uint64; + description + "Total number of packets sent from DRE Optimization to TCP Proxy"; + } + leaf to-http-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent from TCP Proxy to HTTP Optimization service"; + } + leaf to-http-pkts { + type uint64; + description + "Total number of packets sent from TCP Proxy to HTTP Optimization service"; + } + leaf from-http-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent from HTTP Optimization service to TCP Proxy"; + } + leaf from-http-pkts { + type uint64; + description + "Total number of packets sent from HTTP Optimization service to TCP Proxy"; + } + leaf dre-paused { + type uint16; + description + "Total number of flow-control pause messages sent from DRE Optimization service to TCP Proxy"; + } + leaf dre-res-sent { + type uint16; + description + "Total number of flow-control resume messages sent to DRE Optimization service from TCP Proxy"; + } + leaf dre-res-recv { + type uint16; + description + "Total number of flow-control resume messages received by TCP Proxy from DRE Optimization service"; + } + leaf http-paused { + type uint16; + description + "Total number of flow-control pause messages sent from HTTP Optimization service to TCP Proxy"; + } + leaf http-res-sent { + type uint16; + description + "Total number of flow-control resume messages sent to HTTP Optimization service from TCP Proxy"; + } + leaf http-res-recv { + type uint16; + description + "Total number of flow-control resume messages received by TCP Proxy from HTTP Optimization service"; + } + leaf tcp-tx-pkts-success { + type uint64; + description + "Total number of packets successfully sent to TCP socket by TCP Proxy"; + } + leaf tcp-tx-pkts-fail { + type uint64; + description + "Total number of packets that failed to be sent to TCP socket by TCP Proxy"; + } + leaf svc-bytes-to-ssl { + type uint64; + units "bytes"; + description + "Total number of bytes sent to SSL Proxy from service chain (one or more of UTD, DRE, HTTP)"; + } + leaf ssl-to-tcp-tx-pkts { + type uint64; + description + "Total number of packets sent to TCP Tx from SSL Proxy"; + } + leaf ssl-to-tcp-tx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent to TCP Tx from SSL Proxy"; + } + container ssl-orig { + description + "SSL originating stats"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-ssl; + } + container ssl-term { + description + "SSL terminating stats"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-ssl; + } + leaf ssl-client-bytes { + type uint32; + units "bytes"; + description + "Total client bytes sent to SSL Proxy"; + } + leaf ssl-server-bytes { + type uint32; + units "bytes"; + description + "Total server bytes sent to SSL Proxy"; + } + } + + grouping appqoe-flow-tcpproxy-ad { + description + "TCP Proxy Auto Discovery metrics"; + leaf state { + type appqoe-xe-serv-oper:appqoe-flow-tcpproxy-ad-states; + description + "The current Auto Discovery state"; + } + leaf role { + type appqoe-xe-serv-oper:appqoe-flow-tcpproxy-ad-roles; + description + "The negotiated Auto Discovery role"; + } + leaf peer-id { + type uint32; + description + "Identifier of the Auto Discovery Peer"; + } + leaf configured-policy { + type uint8; + description + "The Auto Discovery Configured policy"; + } + leaf derived-policy { + type uint8; + description + "The Auto Discovery Derived policy after negotiation with the peer"; + } + leaf peer-policy { + type uint8; + description + "The Auto Discovery peer policy"; + } + leaf applied-policy { + type uint8; + description + "The Auto Discovery applied policy"; + } + leaf sync-needed { + type boolean; + description + "Is a sync with the peer required [true | false]"; + } + } + + grouping appqoe-flow-tcpproxy-bbr-trans { + description + "TCP Proxy BBR state transition counters"; + leaf startup-to-drain { + type uint64; + description + "Total of Startup to Drain state transitions"; + } + leaf startup-to-probebw { + type uint64; + description + "Total of Startup to Probe-BW state transitions"; + } + leaf startup-to-probertt { + type uint64; + description + "Total Startup to Probe-RTT state transitions"; + } + leaf drain-to-probebw { + type uint64; + description + "Total Drain to Probe-BW state transitions"; + } + leaf probebw-to-probertt { + type uint64; + description + "Total Probe-BW to Probe-RTT state transitions"; + } + leaf probertt-to-startup { + type uint64; + description + "Total Probe-RTT to Startup state transitions"; + } + leaf probertt-to-probebw { + type uint64; + description + "Total Probe-RTT to Probe-BW state transitions"; + } + leaf idleexit-to-probebw { + type uint64; + description + "Total Idle-Exit to Probe-BW state transitions"; + } + } + + grouping appqoe-flow-tcpproxy-bbr-hpts-start-timers { + description + "Count of how many times TCP Proxy HPTS Timers were started"; + leaf wrong { + type uint64; + description + "Total number of times Wrong timer was started."; + } + leaf persistent { + type uint64; + description + "Total number of times Persistent timer was started."; + } + leaf keepalive { + type uint64; + description + "Total number of times Keepalive timer was started."; + } + leaf connection-init { + type uint64; + description + "Total number of times Connection-Init timer was started."; + } + leaf bbr-segment-unlock1 { + type uint64; + description + "Total number of times BBR Segment Unlock 1 timer was started."; + } + leaf bbr-segment-unlock2 { + type uint64; + description + "Total number of times BBR Segment Unlock 2 timer was started."; + } + leaf pace-segment { + type uint64; + description + "Total number of times PACE Segment timer was started."; + } + leaf bbr-out-wtime-msg-size { + type uint64; + description + "Total number of times BBR output time error message size timer was started."; + } + leaf bbr-out-wtime-default { + type uint64; + description + "Total number of times BBR output time default timer was started."; + } + leaf bbr-out-wtime-no-buffs { + type uint64; + description + "Total number of times BBR do time error no buffs timer was started."; + } + } + + grouping appqoe-flow-tcpproxy-bbr-hpts-stop-timers { + description + "Count of how many times TCP Proxy HPTS Timers were stopped"; + leaf wrong { + type uint64; + description + "Total number of times Wrong timer was stopped."; + } + leaf cancel { + type uint64; + description + "Total number of times Cancel timer was stopped."; + } + leaf persistent { + type uint64; + description + "Total number of times Persistent timer was stopped."; + } + leaf bbr-segment-unlock { + type uint64; + description + "Total number of times BBR segment unlock timer was stopped."; + } + leaf pace-packet { + type uint64; + description + "Total number of times PACE packet timer was stopped."; + } + leaf early-exempt { + type uint64; + description + "Total number of times Early Exempt timer was stopped."; + } + leaf delay-exceed { + type uint64; + description + "Total number of times Delay Exceed timer was stopped."; + } + leaf connection-closed { + type uint64; + description + "Total number of times Connection Closed timer was stopped."; + } + } + + grouping appqoe-flow-tcpproxy-bbr-pd { + description + "Pacing delay (micro-seconds) distribution"; + leaf pd-0 { + type uint64; + description + "Total number of times Pacing Delay was equal to 0"; + } + leaf pd-1-to-5 { + type uint64; + description + "Total number of times Pacing Delay was between 1 us and 5 us"; + } + leaf pd-6-to-10 { + type uint64; + description + "Total number of times Pacing Delay was between 6 us and 10 us"; + } + leaf pd-11-to-20 { + type uint64; + description + "Total number of times Pacing Delay was between 11 us and 20 us"; + } + leaf pd-21-to-50 { + type uint64; + description + "Total number of times Pacing Delay was between 21 us and 50 us"; + } + leaf pd-51-to-100 { + type uint64; + description + "Total number of times Pacing Delay was between 51 us and 100 us"; + } + leaf pd-101-to-500 { + type uint64; + description + "Total number of times Pacing Delay was between 101 us and 500 us"; + } + leaf pd-501-to-1000 { + type uint64; + description + "Total number of times Pacing Delay was between 501 us and 1000 us"; + } + leaf pd-greater-than-1000 { + type uint64; + description + "Total number of times Pacing Delay was greater than 1000 us"; + } + } + + grouping appqoe-flow-tcpproxy-bbr-rtt { + description + "Round Trip Time (milli-seconds) distribution"; + leaf rtt-less-than-1 { + type uint64; + description + "Total number of times RTT was less than 1 ms"; + } + leaf rtt-1 { + type uint64; + description + "Total number of times RTT was equal to 1 ms"; + } + leaf rtt-1-to-50 { + type uint64; + description + "Total number of times RTT was between 1 ms and 50 ms"; + } + leaf rtt-51-to-100 { + type uint64; + description + "Total number of times RTT was between 51 ms and 100 ms"; + } + leaf rtt-101-to-150 { + type uint64; + description + "Total number of times RTT was between 101 ms and 150 ms"; + } + leaf rtt-151-to-200 { + type uint64; + description + "Total number of times RTT was between 151 ms and 200 ms"; + } + leaf rtt-greater-than-200 { + type uint64; + description + "Total number of times RTT was greater than 200 ms"; + } + } + + grouping appqoe-flow-tcpproxy-bbr-bw { + description + "Bandwidth utilization distribution"; + leaf bw-less-than-1k { + type uint64; + description + "Total number of times Bandwidth utilization was less than 1 KBps"; + } + leaf bw-1k-to-250k { + type uint64; + description + "Total number of times Bandwidth utilization was between 1 KBps and 250 KBps"; + } + leaf bw-250k-to-500k { + type uint64; + description + "Total number of times Bandwidth utilization was between 250 KBps and 500 KBps"; + } + leaf bw-500k-to-1m { + type uint64; + description + "Total number of times Bandwidth utilization was between 500 KBps and 1 MBps"; + } + leaf bw-1m-to-2m { + type uint64; + description + "Total number of times Bandwidth utilization was between 1 MBps and 2 MBps"; + } + leaf bw-2m-to-5m { + type uint64; + description + "Total number of times Bandwidth utilization was between 2 MBps and 5 MBps"; + } + leaf bw-5m-to-10m { + type uint64; + description + "Total number of times Bandwidth utilization was between 5 MBps and 10 MBps"; + } + leaf bw-greater-than-10m { + type uint64; + description + "Total number of times Bandwidth utilization was greater than 10 MBps"; + } + } + + grouping appqoe-flow-tcpproxy-bbr-hpts { + description + "TCP Proxy BBR statistics"; + leaf early-timer-expiration { + type uint64; + description + "BBR HPTS early timer expiration counter"; + } + leaf delayed-timer-expiration { + type uint64; + description + "BBR HPTS delayed timer expiration counter"; + } + leaf callout-scheduled { + type uint64; + description + "BBR HPTS call-out scheduled counter"; + } + leaf last-tick-gt-curr-tick { + type uint64; + description + "BBR HPTS last tick is greater than current tick counter"; + } + leaf max-tick-overflow { + type uint64; + description + "BBR HPTS maximum tick overflow counter"; + } + leaf timer-wakeup { + type uint64; + description + "BBR HPTS wake-up timer counter"; + } + leaf inp-same-slot { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf dist-to-travel-overflow { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf avail-on-wheel-overflow { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf avail-on-wheel-lt-pacer { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf hpts-hopelessly-behind { + type uint64; + description + "Incremented each time the HPTS processing unit is invoked more than 10 times in a single time interrupt"; + } + leaf hpts-stuck-in-loop { + type uint64; + description + "HPTS timer is processing the same items on multiple timer events"; + } + leaf hpts-back-on-sleep { + type uint64; + description + "Incremented when there are no TCP sessions in the HTPS timer wheel"; + } + leaf hpts-wheel-wrapped { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf hpts-wheel-time-exceeded { + type uint64; + description + "Indicates error condition if non-zero, contact TAC"; + } + leaf fin-wait-2-force { + type uint64; + description + "TCP connection is closed in FIN_WAIT_2 state"; + } + } + + grouping appqoe-flow-tcpproxy-bbr { + description + "TCP Proxy BBR statistics"; + container bbr-state-trans { + description + "TCP Proxy BBR state transition counters"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-trans; + } + container timers-started { + description + "Count of how many times each TCP Proxy HPTS Timer were started"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-hpts-start-timers; + } + container timers-stopped { + description + "Count of how many times each TCP Proxy HPTS Timer were stopped"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-hpts-stop-timers; + } + container pacing-delay { + description + "Pacing delay (micro-seconds) distribution"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-pd; + } + container rtt-stats { + description + "Round Trip Time (milli-seconds) distribution"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-rtt; + } + container bandwidth { + description + "Bandwidth utilization distribution"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-bw; + } + leaf output-bytes { + type uint64; + units "bytes"; + description + "BBR Output Bytes"; + } + leaf segments-lost { + type uint64; + description + "TCP Segments Lost"; + } + leaf segments-sent { + type uint64; + description + "TCP Segments Sent"; + } + leaf retransmitted-segments { + type uint64; + description + "Retransmitted Segments"; + } + leaf no-progress-pkts-dropped { + type uint64; + description + "Connections dropped due to no progress"; + } + leaf hpts-tcp-setments { + type uint64; + description + "TCP Segment Sent through HPTS"; + } + leaf max-send-buffer { + type uint64; + description + "Maximum Send Buffer Reached"; + } + leaf max-send-congestion-window { + type uint64; + description + "Maximum Send Congestion Window"; + } + leaf curr-send-window { + type uint64; + description + "Current TCP Send Window"; + } + container hpts-stats { + description + "BBR HPTS statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr-hpts; + } + } + + grouping appqoe-flow-tcpproxy-flow-event { + description + "TCP Proxy flow event"; + leaf id { + type uint8; + description + "Unique flow event identifier"; + } + leaf event { + type appqoe-xe-serv-oper:appqoe-flow-tcpproxy-flow-events; + description + "The TCP Proxy flow event that occurred"; + } + } + + grouping appqoe-flow-tcpproxy { + description + "TCP Proxy flow metrics"; + container client { + description + "Client side TCP Proxy flow metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-stats; + } + container server { + description + "Server side TCP Proxy flow metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-stats; + } + container c2s { + description + "TCP Proxy flow metrics in the client to server flow direction"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-dir; + } + container s2c { + description + "TCP Proxy flow metrics in the server to client flow direction"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-dir; + } + container bbr-client { + description + "Client side TCP Proxy BBR metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr; + } + container bbr-server { + description + "Server side TCP Proxy BBR metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-bbr; + } + container auto-discovery { + description + "TCP Proxy Auto Discovery metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-ad; + } + list event { + description + "The list of TCP Proxy flow events"; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy-flow-event; + } + } + + grouping appqoe-flow-sslproxy-fsm { + description + "SSL Proxy flow Finite State Machine"; + leaf event { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-lwssl-event; + description + "The FSM event"; + } + leaf state { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-lwssl-state; + description + "The FSM state as a result of the event"; + } + } + + grouping appqoe-flow-sslproxy-traces { + description + "SSL Proxy flow state traces"; + leaf-list state { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-lwssl-state; + ordered-by user; + description + "The list of states the SSL Proxy flow has transitioned to"; + } + list fsm { + description + "The list of FSM state transitions for an SSL Proxy flow"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-fsm; + } + } + + grouping appqoe-flow-sslproxy-dir-stats { + description + "SSL Proxy flow directional statistics - client to server or server to client"; + leaf encrypt-bytes-wr { + type uint64; + units "bytes"; + description + "SSL encrypted bytes written"; + } + leaf decrypt-bytes-wr { + type uint64; + units "bytes"; + description + "SSL decrypted bytes written"; + } + leaf encrypt-bytes-rd { + type uint64; + units "bytes"; + description + "SSL encrypted bytes read"; + } + leaf decrypt-bytes-rd { + type uint64; + units "bytes"; + description + "SSL decrypted bytes read"; + } + leaf clear-bytes-fwd { + type uint64; + units "bytes"; + description + "Clear/Unencrypted bytes sent to TCP Proxy"; + } + leaf clear-bytes-to-sc { + type uint64; + units "bytes"; + description + "Clear/Unencrypted bytes sent to Service Controller"; + } + } + + grouping appqoe-flow-sslproxy-flow-event { + description + "SSL Proxy Flow event details"; + leaf id { + type uint16; + description + "Chronological event id"; + } + leaf module { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-module; + description + "The module that generated the event"; + } + leaf side { + type appqoe-xe-serv-oper:appqoe-flow-side; + description + "Originating or Terminating end of the flow"; + } + leaf event { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-tr-events; + description + "The generated event"; + } + leaf context { + type uint32; + description + "The event context"; + } + leaf orig-state { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-state; + description + "The originating state"; + } + leaf term-state { + type appqoe-xe-serv-oper:appqoe-flow-sslproxy-state; + description + "The terminating state"; + } + leaf-list orig-flag { + type uint32; + ordered-by user; + description + "The originating flag(s)"; + } + leaf-list term-flag { + type uint32; + ordered-by user; + description + "The terminating flag(s)"; + } + } + + grouping appqoe-flow-sslproxy { + description + "SSL Proxy flow metrics"; + container c2s { + description + "SSL Proxy flow client to server byte counters"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-dir-stats; + } + container s2c { + description + "SSL Proxy flow server to client byte counters"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-dir-stats; + } + container client-trace { + description + "The list of states the SSL Proxy flow has transitioned to"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-traces; + } + container server-trace { + description + "The list of FSM state transitions for an SSL Proxy flow"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-traces; + } + list event { + description + "The chronological list of events that occurred on the flow"; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy-flow-event; + } + } + + grouping appqoe-flow-dreopt-summary { + description + "DRE Optimized flow summary"; + leaf orig-bytes-read { + type uint64; + units "bytes"; + description + "Total number of original bytes read."; + } + leaf opt-bytes-read { + type uint64; + units "bytes"; + description + "Total number of optimized bytes read."; + } + leaf orig-bytes-written { + type uint64; + units "bytes"; + description + "Total number of original bytes written."; + } + leaf opt-bytes-written { + type uint64; + units "bytes"; + description + "Total number of optimized bytes written."; + } + leaf orig-bytes-total { + type uint64; + units "bytes"; + description + "Total number of original bytes read and written."; + } + leaf opt-bytes-total { + type uint64; + units "bytes"; + description + "Total number of optimized bytes read and written."; + } + leaf reduction-ratio { + type decimal64 { + fraction-digits 2; + } + description + "The total reduction ratio achieved for this flow."; + } + } + + grouping appqoe-flow-dreopt-msg-sizes { + description + "DRE Optimization message size distribution."; + leaf ms-0-to-1k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is between 0 and 1 KB."; + } + leaf ms-1k-to-5k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is between 1 KB and 5 KB."; + } + leaf ms-5k-to-15k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is between 5 KB and 15 KB."; + } + leaf ms-15k-to-25k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is between 15 KB and 25 KB."; + } + leaf ms-25k-to-40k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is between 25 KB and 40 KB."; + } + leaf ms-greater-than-40k { + type decimal64 { + fraction-digits 2; + } + description + "Message size is greater than 40 KB."; + } + } + + grouping appqoe-flow-dreopt-metrics { + description + "DRE Optimized flow metrics"; + leaf num-msgs { + type uint64; + description + "Number of messages received by DRE Optimization service"; + } + leaf in-bytes { + type uint64; + units "bytes"; + description + "Number of bytes received by DRE Optimization service"; + } + leaf out-bytes { + type uint64; + units "bytes"; + description + "Number of bytes sent by DRE Optimization service"; + } + leaf re-in-bytes { + type uint64; + units "bytes"; + description + "Number of bytes received by RE service"; + } + leaf re-out-bytes { + type uint64; + units "bytes"; + description + "Number of bytes sent by RE service"; + } + leaf bypass-num-msgs { + type uint64; + description + "Number of messages bypassed by DRE Optimization service"; + } + leaf bypass-bytes { + type uint64; + units "bytes"; + description + "Number of bytes bypassed by DRE Optimization service"; + } + leaf lz-num-msgs { + type uint64; + description + "Number of messages received by LZ service"; + } + leaf lz-in-bytes { + type uint64; + units "bytes"; + description + "Number of bytes received by LZ service"; + } + leaf lz-out-bytes { + type uint64; + units "bytes"; + description + "Number of bytes sent by LZ service"; + } + container msg-size-distr { + description + "DRE Optimized message size distribution."; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-msg-sizes; + } + } + + grouping appqoe-flow-dreopt-bp-reason { + description + "DRE Optimized bypass reason."; + leaf code { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-bp-code; + description + "The bypass code identifying why the flow was not optimized"; + } + leaf count { + type uint64; + description + "The total number of packets bypassed for the specified reason"; + } + leaf bytes { + type uint64; + units "bytes"; + description + "The total number of bytes bypassed for the specified reason"; + } + } + + grouping appqoe-flow-dreopt-lz-latency { + description + "DRE Optimized LZ latency."; + leaf time-in-ms { + type decimal64 { + fraction-digits 2; + } + description + "The average latency per message added by LZ compression (encode/decode)."; + } + leaf avg-msg-size { + type uint32; + description + "The average size of each LZ compressed message."; + } + } + + grouping appqoe-flow-dreopt-eot-state { + description + "DRE Optimized flow End Of Transaction states"; + leaf req-send { + type boolean; + description + "The request send state [true | false]."; + } + leaf ack-send { + type boolean; + description + "The ack send state [true | false]."; + } + leaf req-recv { + type boolean; + description + "The request receive state [true | false]."; + } + leaf ack-recv { + type boolean; + description + "The ack receive state [true | false]."; + } + } + + grouping appqoe-flow-dreopt-end-pt-states { + description + "DRE Optimized flow end point states"; + leaf read-shut { + type boolean; + description + "Is the endpoint read shut [true | false]."; + } + leaf write-shut { + type boolean; + description + "Is the endpoint write shut [true | false]."; + } + leaf close-recv { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-close-state; + description + "Has close message been received [true | false]."; + } + leaf close-sent { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-close-state; + description + "Has close message been sent [true | false]."; + } + leaf peer-choke-on { + type boolean; + description + "[true | false]."; + } + } + + grouping appqoe-flow-dreopt-classification { + description + "DRE Optimized flow classification information."; + leaf loc-cfg-mode { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-mode; + description + "Locally configured classification mode."; + } + leaf rem-cfg-mode { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-mode; + description + "Remote configured classification mode."; + } + leaf applied-mode { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-mode; + description + "The applied classification mode."; + } + leaf mode-negotiated { + type boolean; + description + "Was the classification mode negotiated [true | false]."; + } + } + + grouping appqoe-flow-dreopt-conn-read { + description + "DRE Optimized flow connection read statistics."; + leaf total-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes read"; + } + leaf total-reads { + type uint64; + description + "Total number of read operations"; + } + leaf avg-size { + type uint32; + description + "Average size of each read operation"; + } + leaf sched-latency { + type decimal64 { + fraction-digits 2; + } + description + "Average schedule latency for read thread"; + } + leaf stop-latency { + type decimal64 { + fraction-digits 2; + } + description + "Average stop latency for read thread"; + } + leaf read-latency { + type decimal64 { + fraction-digits 2; + } + description + "Average read latency for read thread"; + } + leaf flow-ctrl-stop { + type uint64; + description + "Read thread is currently stopped due to flow control"; + } + leaf peer-choke { + type uint64; + description + "True when we are unable to send traffic to DRE peer as it cannot handle more traffic"; + } + leaf processed-ack-frames { + type uint64; + description + "Number of ACK frames that have been processed"; + } + } + + grouping appqoe-flow-dreopt-conn-write { + description + "DRE Optimized flow connection write statistics"; + leaf total-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes written"; + } + leaf total-writes { + type uint64; + description + "Total number of write operations"; + } + leaf avg-size { + type uint64; + description + "Average size of each write operation"; + } + leaf latency { + type uint64; + description + "Average write latency"; + } + } + + grouping appqoe-flow-dreopt-conn-tcpproxy { + description + "Flow statistics between DRE Optimization and TCP Proxy."; + leaf total-calls { + type uint64; + description + "Total number of times encode/decode is called"; + } + leaf latency { + type decimal64 { + fraction-digits 2; + } + description + "Average read/write latency"; + } + leaf total-send-frames { + type uint64; + description + "Total number of data/ack frames that have been sent"; + } + leaf total-bypass-pkts { + type uint64; + description + "Total number of packets that have been bypassed"; + } + leaf total-bypass-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes that have been bypassed"; + } + leaf max-byte-size { + type uint64; + units "bytes"; + description + "Maximum message size"; + } + leaf curr-byte-size { + type uint64; + units "bytes"; + description + "Size of the current message"; + } + leaf total-pkts { + type uint64; + description + "Total number of packets sent"; + } + leaf avg-bytes { + type uint64; + units "bytes"; + description + "Average message size"; + } + leaf max-pkts { + type uint64; + description + "Maximum number of packets queued"; + } + leaf curr-pkts { + type uint64; + description + "Current number of packets queued"; + } + leaf avg-pkts { + type uint64; + description + "Average number of packets queued"; + } + } + + grouping appqoe-flow-dreopt-conn-pending { + description + "DRE Optimized flow connection writer pending queue statistics."; + leaf max-size { + type uint64; + description + "Maximum number of packets in the writer pending queue at any point in time"; + } + leaf curr-size { + type uint64; + description + "Current number of packets in the writer pending queue"; + } + leaf avg-size { + type uint64; + description + "Average number of packets in the writer pending queue over the life of the connection"; + } + leaf flow-ctrl-stop { + type uint64; + description + "Is the writer currently stopped due to flow control congestion [true | false]|"; + } + leaf paused { + type boolean; + description + "Is the writer thread currently paused [true | false]"; + } + } + + grouping appqoe-flow-dreopt-conn-flow-ctrl { + description + "DRE Optimized flow connection flow control statistics."; + leaf total-pause { + type uint32; + description + "Total number of times DRE Optimization has been paused"; + } + leaf total-resume-sent { + type uint64; + description + "Total number of times DRE Optimization sent a resume message"; + } + leaf total-resume-recv { + type uint64; + description + "Total number of times DRE Optimization received a resume message"; + } + leaf buff-ctrl-block { + type uint64; + description + "Is task currently blocked due to buffer control [true | false]"; + } + leaf flow-ctrl-block { + type uint64; + description + "Is task currently blocked due to flow control [true | false]"; + } + leaf ackq-ctrl-block { + type uint64; + description + "Is task currently blocked due to ack queue control [true | false]"; + } + leaf locked-block { + type uint64; + description + "Is task currently blocked due to the task being locked [true | false]"; + } + leaf task-block { + type uint64; + description + "Is task currently blocked [true | false]"; + } + leaf ack-queue-pause { + type uint64; + description + "Is task currently paused due to ack queue [true | false]"; + } + leaf buff-ctrl-pause { + type uint64; + description + "Is task currently paused due to buffer control [true | false]"; + } + leaf buff-block-reason { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-buff-block-reason; + description + "The reason why the buffer is blocked"; + } + } + + grouping appqoe-flow-dreopt-conn { + description + "DRE Optimized flow connection information"; + leaf type { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-types; + description + "The connection type"; + } + container bypass-reason { + description + "The reason why DRE Optimization was bypassed for this flow."; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-bp-reason; + } + leaf total-num-nack { + type uint64; + description + "Total number of negative acknowledgment messages."; + } + leaf num-col-nack { + type uint64; + description + "Total number of col negative acknowledgment messages."; + } + leaf num-miss-nack { + type uint64; + description + "Total number of miss negative acknowledgment messages."; + } + leaf num-cache-not-ready-nack { + type uint64; + description + "Total number of cache not ready negative + acknowledgment messages."; + } + leaf total-num-rtx { + type uint64; + description + "Total number of NACK messages sent"; + } + leaf num-col-rtx { + type uint64; + description + "Total number of NACK messages sent due to a checksum collision during decode"; + } + leaf num-miss-rtx { + type uint64; + description + "Total number of NACK messages sent due to missing chunk during decode"; + } + leaf num-cache-not-ready-rtx { + type uint64; + description + "Total number of NACK messages sent due to cache not being ready during decode"; + } + container encode-lz-latency { + description + "LZ compression encoding latency statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-lz-latency; + } + container decode-lz-latency { + description + "LZ compression decoding latency statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-lz-latency; + } + leaf policy { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-policy; + description + "The DRE policy applied to the flow. Default: DRE + LZ"; + } + container eot-state { + description + "The end of transaction state."; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-eot-state; + } + leaf reset-reason { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-reset-reason; + description + "The reason why the flow was reset in the case of an error. For normal flow termination, set to NONE"; + } + container end-pt-states { + description + "The flow end points (LAN / WAN) states"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-end-pt-states; + } + container classification { + description + "The DRE mode negotiated with the peer"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-classification; + } + container encode-read { + description + "The encode read statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-read; + } + container decode-read { + description + "The decode read statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-read; + } + container encode-write { + description + "The encode write statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-write; + } + container decode-write { + description + "The decode write statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-write; + } + container encode-tcpproxy { + description + "Encode statistics between DRE and TCP Proxy"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-tcpproxy; + } + container decode-tcpproxy { + description + "Decode statistics between DRE and TCP Proxy"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-tcpproxy; + } + container decoder-pend { + description + "The decoder pending queue statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-pending; + } + container writer-encode-pend { + description + "The writer encode pending queue statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-pending; + } + container writer-decode-pend { + description + "The writer decode pending queue statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-pending; + } + container encode-flow-ctrl { + description + "The encode flow control statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-flow-ctrl; + } + container decode-flow-ctrl { + description + "The decode flow control statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn-flow-ctrl; + } + } + + grouping appqoe-flow-dreopt-flow-event { + description + "A DRE Optimization flow event"; + leaf id { + type uint8; + description + "Unique flow event identifier"; + } + leaf event { + type appqoe-xe-serv-oper:appqoe-flow-dreopt-flow-events; + description + "The DRE Optimization flow event that occurred"; + } + } + + grouping appqoe-flow-dreopt { + description + "DRE Optimized flow metrics"; + leaf peer-no { + type uint32; + description + "Peer Number of DRE peer handling this flow"; + } + leaf start-time { + type yang:date-and-time; + description + "Timestamp when DRE Optimization started"; + } + leaf end-time { + type yang:date-and-time; + description + "Timestamp when DRE Optimization ended"; + } + leaf status { + type appqoe-xe-serv-oper:appqoe-flow-status; + description + "Current DRE Optimization flow status"; + } + container opt-summary { + description + "OPtimization summary statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-summary; + } + container encode { + description + "Encode statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-metrics; + } + container decode { + description + "Decode statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-metrics; + } + container connection { + description + "Connection statistics"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-conn; + } + list event { + description + "DRE Optimized flow events"; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt-flow-event; + } + } + + grouping appqoe-flow-httpopt-bytes { + description + "HTTP Optimized read and write byte counters"; + leaf wcapi-bytes-rd { + type uint32; + units "bytes"; + description + "Bytes received from TCP Proxy"; + } + leaf wcapi-bytes-wr { + type uint32; + units "bytes"; + description + "Bytes written to TCP Proxy"; + } + leaf vconn-bytes-rd { + type uint32; + units "bytes"; + description + "Bytes read from the HTTP cache engine"; + } + leaf vconn-bytes-wr { + type uint32; + units "bytes"; + description + "Bytes written to the HTTP cache engine"; + } + } + + grouping appqoe-flow-httpopt-io-close { + description + "HTTP Optimization service IO close metrics"; + leaf pending { + type uint8; + units "bytes"; + description + "Bytes that were pending to be sent during connection close"; + } + leaf sent { + type uint64; + units "bytes"; + description + "Bytes that were successfully sent during connection close"; + } + leaf send-failed { + type uint64; + units "bytes"; + description + "Bytes that we failed to send during connection close"; + } + } + + grouping appqoe-flow-httpopt-io-pending { + description + "HTTP Optimization IO pending metrics"; + leaf max-queue-size { + type uint32; + description + "The maximum number of bytes in the IO pending queue at any point in time"; + } + leaf cur-queue-size { + type uint32; + description + "The current number of bytes in the IO pending queue to be sent"; + } + leaf tot-packet-count { + type uint32; + description + "The total number of packets in the IO pending queue over the life of the flow"; + } + leaf max-packet-count { + type uint32; + description + "The maximum number of packets in the IO pending queue at any point in time"; + } + } + + grouping appqoe-flow-httpopt-flow-ctrl { + description + "HTTP Optimization service flow control metrics"; + leaf paused { + type uint32; + description + "The total number of times the flow was paused"; + } + leaf resume-sent { + type uint32; + description + "The total number of times HTTP Optimization service resumed the flow"; + } + leaf resume-rcvd { + type uint32; + description + "The total number of times TCP Proxy resumed the flow"; + } + } + + grouping appqoe-flow-httpopt-state-conn { + description + "HTTP Optimization service connection states"; + leaf rd-shut { + type boolean; + description + "When True, HTTP Optimization service will not read packets from TCP Proxy"; + } + leaf wr-shut { + type boolean; + description + "When True, HTTP Optimization service will not write packets to TCP Proxy"; + } + leaf proxy-rd-shut { + type boolean; + description + "When True, HTTP Cache Engine will not read any packets from the server"; + } + leaf proxy-wr-shut { + type boolean; + description + "When True, HTTP Cache Engine will not write any packets to the server"; + } + } + + grouping appqoe-flow-httpopt-flow-state { + description + "HTTP Optimization service flow state"; + leaf reset-code { + type uint32; + description + "Indicates if the flow has been reset due to an error"; + } + container client { + description + "Client side flow state"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-state-conn; + } + container server { + description + "Server side flow state"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-state-conn; + } + } + + grouping appqoe-flow-httpopt-flow-event { + description + "A HTTP Optimization flow event"; + leaf id { + type uint8; + description + "Unique flow event identifier"; + } + leaf event { + type appqoe-xe-serv-oper:appqoe-flow-httpopt-flow-events; + description + "The HTTP Optimization flow event that occurred"; + } + } + + grouping appqoe-flow-httpopt { + description + "HTTP Optimization service flow metrics"; + leaf server-vconn-started { + type uint32; + description + "Total number of connections established from HTTP Optimization service to the server for this flow"; + } + leaf server-vconn-closed { + type uint32; + description + "Total number of connections between HTTP Optimization service and the server for this flow that have been closed"; + } + leaf server-vconn-aborted { + type uint32; + description + "Total number of connections between HTTP Optimization service and the server for this flow that have been closed due to an error"; + } + container client-bytes { + description + "Client-side byte metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-bytes; + } + container server-bytes { + description + "Server-side byte metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-bytes; + } + container client-io-close { + description + "Client-side IO close metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-io-close; + } + container server-io-close { + description + "Server-side IO close metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-io-close; + } + container client-io-pending { + description + "Client-side IO pending metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-io-pending; + } + container server-io-pending { + description + "Server-side IO pending metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-io-pending; + } + container client-flow-ctrl { + description + "Client-side flow control metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-flow-ctrl; + } + container server-flow-ctrl { + description + "Server-side flow control metrics"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-flow-ctrl; + } + container state { + description + "The current state of the flow"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-flow-state; + } + list event { + description + "List of HTTP Optimization service flow events"; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt-flow-event; + } + } + + grouping appqoe-flow-brief-key { + description + "Active flow unique identifier attributes."; + leaf vpn-id { + type uint32; + description + "Flow VPN identifier."; + } + leaf client-ip { + type inet:ip-address; + description + "Flow client IP address."; + } + leaf client-port { + type uint16; + description + "Flow client port number."; + } + leaf server-ip { + type inet:ip-address; + description + "Flow server IP address."; + } + leaf server-port { + type uint16; + description + "Flow server port number."; + } + leaf index { + type uint32; + description + "The index when combined with the other key fields ensures flow uniqueness."; + } + } + + grouping appqoe-flow-brief { + description + "Brief AppQoE flow attributes and statistics."; + leaf flow-id { + type uint64; + description + "Unique Flow identifier. This field should be used to retrieve the detailed attributes of a specific flow"; + } + leaf services { + type appqoe-xe-serv-oper:appqoe-flow-services; + description + "Bitmap representing services that handled the flow"; + } + leaf start-time { + type yang:date-and-time; + description + "Timestamp of when flow was started"; + } + leaf end-time { + type yang:date-and-time; + description + "Timestamp if the flow has expired"; + } + leaf rx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes received"; + } + leaf tx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent"; + } + leaf connect-detect { + type uint16; + description + "HTTP connect detected counter."; + } + } + + grouping appqoe-flow-detail { + description + "Active flow attributes and statistics."; + leaf flow-id { + type uint64; + description + "Flow identifier."; + } + leaf vpn-id { + type uint32; + description + "Flow VPN identifier."; + } + leaf client-ip { + type inet:ip-address; + description + "Flow client IP address."; + } + leaf client-port { + type uint16; + description + "Flow client port number."; + } + leaf server-ip { + type inet:ip-address; + description + "Flow server IP address."; + } + leaf server-port { + type uint16; + description + "Flow server port number."; + } + leaf services { + type appqoe-xe-serv-oper:appqoe-flow-services; + description + "Bitmap representing services that handled the flow"; + } + leaf start-time { + type yang:date-and-time; + description + "Timestamp of when flow was started"; + } + leaf end-time { + type yang:date-and-time; + description + "Timestamp if the flow has expired"; + } + leaf rx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes received"; + } + leaf tx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent"; + } + container sslproxy { + description + "SSL Proxy flow metrics."; + uses appqoe-xe-serv-oper:appqoe-flow-sslproxy; + } + container tcpproxy { + description + "TCP Proxy/Optimization flow metrics."; + uses appqoe-xe-serv-oper:appqoe-flow-tcpproxy; + } + container dreopt { + description + "DRE Optimization flow metrics."; + uses appqoe-xe-serv-oper:appqoe-flow-dreopt; + } + container httpopt { + description + "HTTP Optimization flow metrics."; + uses appqoe-xe-serv-oper:appqoe-flow-httpopt; + } + } + + grouping appqoe-flow-error-entry { + description + "Flows closed due to errors in any of APPQOE services."; + leaf flow-id { + type uint64; + description + "Flow identifier."; + } + leaf vpn-id { + type uint32; + description + "Flow VPN identifier."; + } + leaf client-ip { + type inet:ip-address; + description + "Flow client IP address."; + } + leaf client-port { + type uint16; + description + "Flow client port number."; + } + leaf server-ip { + type inet:ip-address; + description + "Flow server IP address."; + } + leaf server-port { + type uint16; + description + "Flow server port number."; + } + leaf services { + type appqoe-xe-serv-oper:appqoe-flow-services; + description + "Bitmap representing services that handled the flow."; + } + leaf start-time { + type yang:date-and-time; + description + "Timestamp of when flow was started."; + } + leaf tx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes sent."; + } + leaf rx-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes received."; + } + leaf tcpproxy-err-tag { + type appqoe-xe-serv-oper:tcpproxy-flow-err-tag; + description + "Error details set by TCP-Proxy service."; + } + leaf sslproxy-err-tag { + type appqoe-xe-serv-oper:sslproxy-flow-err-tag; + description + "Error details set by SSL-Proxy service."; + } + leaf connect-detect { + type uint16; + description + "Error flow HTTP connect detected counter."; + } + } + + grouping appqoe-flow-error { + description + "Flows closed due to errors in any of APPQOE services."; + leaf flow-count { + type uint32; + description + "Current number of flows closed due to error."; + } + list appqoe-flow-error-entry { + key "flow-id"; + description + "List of flows closed due to error."; + uses appqoe-xe-serv-oper:appqoe-flow-error-entry; + } + } + + grouping appqoe-flow-summary { + description + "Summary of aggregated flow statistics."; + leaf total-flows { + type uint64; + description + "Total number of flows handled by AppQoE services."; + } + leaf active-flows { + type uint32; + description + "Current active optimized flow count."; + } + leaf expired-flows { + type uint64; + description + "Total number of flows that have been successfully optimized since last clear or AppQoE service restart."; + } + leaf error-flows { + type uint64; + description + "Total number of flows that were not optimized due to an error since last clear or AppQoE service restart."; + } + leaf max-concurrent-flows { + type uint32; + description + "The maximum number of flows handled concurrently by AppQoE Services."; + } + leaf flows-in-progress { + type uint32; + description + "Total number of flows in connection establishment/initialisation state."; + } + } + + grouping appqoe-stats-recent { + description + "APPQOE statistics holding the current value, 30 and 60 sec prior values"; + leaf stat-current { + type uint64; + description + "APPQOE current value of statistics"; + } + leaf stat-30s { + type uint64; + description + "APPQOE statistics updated 30 seconds ago"; + } + leaf stat-60s { + type uint64; + description + "APPQOE statistics updated 60 seconds ago"; + } + leaf label { + type appqoe-xe-serv-oper:appqoe-stats-label; + description + "APPQOE services registered statistics label"; + } + } + + grouping appqoe-stats-recent-db { + description + "APPQOE services registered statistics database"; + list stats-rec { + description + "Registered statistics at different time intervals"; + uses appqoe-xe-serv-oper:appqoe-stats-recent; + } + } + + container appqoe-serv-oper-data { + config false; + description + "APPQOE serviceability operational data, such as + APPQOE overall status along with individual service status, + flows closed due to error with reason, + statistics for monitoring failure."; + container appqoe-status-details { + presence "appqoe-status-details"; + description + "APPQOE overall status along with individual service status, + also displays the reason if any services is inactive"; + uses appqoe-xe-serv-oper:appqoe-status-details; + } + list appqoe-flow-active-brief { + key "vpn-id client-ip client-port server-ip server-port index"; + description + "Brief statistics and metrics of Current real-time active flows handled by SD-WAN AppQoE services. The response is currently limited to 50 flows."; + uses appqoe-xe-serv-oper:appqoe-flow-brief-key; + uses appqoe-xe-serv-oper:appqoe-flow-brief; + } + list appqoe-flow-active-detail { + key "flow-id"; + description + "Brief statistics and metrics of Current real-time active flows handled by SD-WAN AppQoE services."; + uses appqoe-xe-serv-oper:appqoe-flow-detail; + } + list appqoe-flow-expired-brief { + key "vpn-id client-ip client-port server-ip server-port index"; + description + "Brief statistics and metrics of the 100 most recent expired flows handled by SD-WAN AppQoE services."; + uses appqoe-xe-serv-oper:appqoe-flow-brief-key; + uses appqoe-xe-serv-oper:appqoe-flow-brief; + } + list appqoe-flow-expired-detail { + key "flow-id"; + description + "Detailed statistics and metrics of the most recent expired flows handled by SD-WAN AppQoE services."; + uses appqoe-xe-serv-oper:appqoe-flow-detail; + } + container appqoe-flow-error { + presence "appqoe-flow-error"; + description + "Flows closed due to errors by respective services are listed. + Flows closed without errors are excluded."; + uses appqoe-xe-serv-oper:appqoe-flow-error; + } + container appqoe-flow-summary { + presence "appqoe-flow-summary"; + description + "Summary of aggregated SD-WAN AppQoE flow statistics."; + uses appqoe-xe-serv-oper:appqoe-flow-summary; + } + container appqoe-stats-recent { + presence "appqoe-stats-recent"; + description + "APPQOE services registered counters that helps in abnormal + behavior is seen with connections or flows."; + uses appqoe-xe-serv-oper:appqoe-stats-recent-db; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-sslproxy-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-sslproxy-oper.yang new file mode 100644 index 000000000..6bb418c99 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-sslproxy-oper.yang @@ -0,0 +1,1337 @@ +module Cisco-IOS-XE-appqoe-sslproxy-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-sslproxy-oper"; + prefix appqoe-sslproxy-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + of SSL proxy operational data for Application Quality + of Experience (APPQOE). This includes SSL proxy configuration, + status and statistics. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added TLS 1.3 negotiated flows counter"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added HTTP connect tunneled counters"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Added a counter for non SSL traffic marked as SSL Encrypted"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-sslproxy-cert-validation-action { + type enumeration { + enum cert-valid-action-drop { + value 0; + description + "Drop the flow"; + } + enum cert-valid-action-decrypt { + value 1; + description + "Decrypt the flow"; + } + enum cert-valid-action-unknown { + value 2; + description + "Certificate validation action unknown"; + } + } + description + "APPQOE SSL proxy certificate validation actions"; + } + + typedef appqoe-sslproxy-unsupported-mode-action { + type enumeration { + enum unsup-mode-action-drop { + value 0; + description + "Drop the flow"; + } + enum unsup-mode-action-no-decrypt { + value 1; + description + "Push down the flow"; + } + enum unsup-mode-action-unknown { + value 2; + description + "Unsupported mode action unknown"; + } + } + description + "APPQOE SSL proxy unsupported mode actions"; + } + + typedef appqoe-sslproxy-failure-mode-action { + type enumeration { + enum failure-mode-action-open { + value 0; + description + "Push down the flow"; + } + enum failure-mode-action-close { + value 1; + description + "Close the flow"; + } + enum failure-mode-action-unknown { + value 2; + description + "Failure mode action unknown"; + } + } + description + "APPQOE SSL proxy failure mode actions"; + } + + typedef appqoe-sslproxy-cert-revocation-check { + type enumeration { + enum cert-rev-ocsp { + value 0; + description + "Use Online Certificate Status Protocol (OCSP) + for certificate revocation check"; + } + enum cert-rev-none { + value 1; + description + "No certificate revocation check"; + } + enum cert-rev-unknown { + value 2; + description + "Certificate revocation check is unknown"; + } + } + description + "APPQOE SSL proxy certificate revocation check"; + } + + typedef appqoe-sslproxy-min-tls-version { + type enumeration { + enum tls-ver-1 { + value 0; + description + "TLS version 1.0"; + } + enum tls-ver-1-1 { + value 1; + description + "TLS version 1.1"; + } + enum tls-ver-1-2 { + value 2; + description + "TLS version 1.2"; + } + enum tls-ver-unknown { + value 3; + description + "TLS version unknown"; + } + } + description + "APPQOE SSL proxy minimum TLS version"; + } + + typedef appqoe-sslproxy-ec-key-type { + type enumeration { + enum ec-key-p256 { + value 0; + description + "Elliptic curve P256"; + } + enum ec-key-p384 { + value 1; + description + "Elliptic curve P384"; + } + enum ec-key-p521 { + value 2; + description + "Elliptic curve P521"; + } + enum ec-key-unknown { + value 3; + description + "Elliptic curve key type unknown"; + } + } + description + "APPQOE SSL proxy elliptic curve key type"; + } + + grouping appqoe-sslproxy-status { + description + "APPQOE SSL proxy configuration and status details"; + leaf ca-cert-bundle { + type string; + description + "Filename of CA certificate bundle"; + } + leaf ca-tp-label { + type string; + description + "Default trustpoint label for SSL proxy"; + } + leaf cert-lifetime-in-days { + type uint32; + description + "Certificate lifetime in days"; + } + leaf ec-key-type { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-ec-key-type; + description + "Elliptic curve key type for SSL Proxy"; + } + leaf rsa-key-mod { + type uint32; + units "bits"; + description + "RSA key length"; + } + leaf cert-revocation { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-cert-revocation-check; + description + "Use OCSP for certificate revocation or none"; + } + leaf expired-cert { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-cert-validation-action; + description + "Action for expired certificate"; + } + leaf untrusted-cert { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-cert-validation-action; + description + "Action for untrusted certificate"; + } + leaf unknown-status { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-cert-validation-action; + description + "Action for unknown status"; + } + leaf unsup-protocol-version { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-unsupported-mode-action; + description + "Action for unsupported protocol version"; + } + leaf unsup-cipher-suite { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-unsupported-mode-action; + description + "Action for unsupported cipher suite"; + } + leaf failure-mode { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-failure-mode-action; + description + "Action for failure mode"; + } + leaf minimum-tls-version { + type appqoe-sslproxy-xe-oper:appqoe-sslproxy-min-tls-version; + description + "Minimum TLS version for SSL Proxy"; + } + leaf clear-mode { + type boolean; + description + "Clear mode"; + } + leaf dual-side-opt { + type boolean; + description + "Enable/Disable dual-side optimization"; + } + } + + grouping appqoe-sslproxy-stats { + description + "APPQOE SSL proxy statistics details"; + leaf tot-conn { + type uint64; + description + "Total connections"; + } + leaf proxied-conn { + type uint64; + description + "Proxied connections"; + } + leaf non-proxied-conn { + type uint64; + description + "Non-proxied connections"; + } + leaf clear-conn { + type uint64; + description + "Clear connections"; + } + leaf active-proxied-conn { + type uint64; + description + "Active proxied connections"; + } + leaf active-non-proxied-conn { + type uint64; + description + "Active non-proxied connections"; + } + leaf active-clear-conn { + type uint64; + description + "Active clear connections"; + } + leaf max-conc-proxied-conn { + type uint64; + description + "Maximum concurrent proxied connections"; + } + leaf max-conc-non-proxied-conn { + type uint64; + description + "Maximum concurrent non-proxied connections"; + } + leaf max-conc-clear-conn { + type uint64; + description + "Maximum concurrent clear connections"; + } + leaf tot-closed-conn { + type uint64; + description + "Total closed connections"; + } + leaf unsup-cipher { + type uint64; + description + "Non-proxied connections due to unsupported cipher"; + } + leaf unsup-ssl-version { + type uint64; + description + "Non-proxied connections due to unsupported SSL + version"; + } + leaf min-tls-version { + type uint64; + description + "Non-proxied connections due to unsupported TLS + version"; + } + leaf non-ssl-traffic { + type uint64; + description + "Non-proxied connections due to non-ssl traffic"; + } + leaf mem-alloc-fail { + type uint64; + description + "Non-proxied connections due to memory allocation + fail"; + } + leaf mem-access-issue { + type uint64; + description + "Non-proxied connections due to memory access fail"; + } + leaf hs-unsupported { + type uint64; + description + "Non-proxied connections due to handshake + unsupported"; + } + leaf ssl-parse-failure { + type uint64; + description + "Non-proxied connections due to SSL parse fail"; + } + leaf ssl-error { + type uint64; + description + "Non-proxied connections due to SSL error"; + } + leaf unexpected-packet { + type uint64; + description + "Non-proxied connections due to unexpected packet"; + } + leaf error-state { + type uint64; + description + "Non-proxied connections due to error state"; + } + leaf exception { + type uint64; + description + "Non-proxied connections due to exception"; + } + leaf endpoint-alert { + type uint64; + description + "Non-proxied connections due to endpoint alert"; + } + leaf tcp-close-before-hs { + type uint64; + description + "Non-proxied connections due to TCP close + before handshake"; + } + leaf peer-pd { + type uint64; + description + "Non-proxied connections due to peer push down"; + } + leaf ism-flow-create-fail { + type uint64; + description + "Non-proxied connections due to ISM flow create fail"; + } + leaf unknown-reasons { + type uint64; + description + "Non-proxied connections due to unknown reasons"; + } + leaf drop-unable-to-get-pr-cert { + type uint64; + description + "Drop connections due to unable to get proxy + certificate"; + } + leaf drop-expired-cert { + type uint64; + description + "Drop connections due to expired certificate"; + } + leaf drop-tcp-close-before-hs { + type uint64; + description + "Drop connections due to TCP close before handshake"; + } + leaf drop-mempool-get-fail { + type uint64; + description + "Drop connections due to memory pool get fail"; + } + leaf drop-ocsp-cert-verify-fail { + type uint64; + description + "Drop connections due to OCSP certificate verify + fail"; + } + leaf drop-invalid-ssl-rec { + type uint64; + description + "Drop connections due to invalid SSL record"; + } + leaf drop-ssl-parse-abort { + type uint64; + description + "Drop connections due to SSL parse abort"; + } + leaf drop-mem-alloc-fail { + type uint64; + description + "Drop connections due to memory allocation fail"; + } + leaf drop-mem-access-issue { + type uint64; + description + "Drop connections due to memory access fail"; + } + leaf drop-nop-read-fn { + type uint64; + description + "Drop connections due to no operation read function"; + } + leaf drop-invalid-fsm-evt { + type uint64; + description + "Drop connections due to invalid FSM event"; + } + leaf drop-invalid-msg-type { + type uint64; + description + "Drop connections due to invalid message type"; + } + leaf drop-de-handle-data-fail { + type uint64; + description + "Drop connections due to decrypt or encrypt data fail"; + } + leaf drop-load-key-packet-fail { + type uint64; + description + "Drop connections due to load key packet fail"; + } + leaf drop-ism-flow-create-fail { + type uint64; + description + "Drop connections due to flow create fail"; + } + leaf drop-hs-unsupported { + type uint64; + description + "Drop connections due to handshake unsupported"; + } + leaf drop-endpoint-alert { + type uint64; + description + "Drop connections due to endpoint alert"; + } + leaf drop-key-pkt-snd-fail { + type uint64; + description + "Drop connections due to key packet send fail"; + } + leaf drop-invalid-fs-type { + type uint64; + description + "Drop connections due to invalid flow segment type"; + } + leaf drop-null-ch-buf { + type uint64; + description + "Drop connections due to null client hello buffer"; + } + leaf drop-inv-evt-in-fsm-state { + type uint64; + description + "Drop connections due to invalid event in FSM state"; + } + leaf drop-other-side-key-pend { + type uint64; + description + "Drop connections due to key pending from other side"; + } + leaf drop-null-ssl-rec { + type uint64; + description + "Drop connections due to null SSL record"; + } + leaf drop-send-ism-hs-msg-fail { + type uint64; + description + "Drop connections due to Interposer Session Manager (ISM) + handshake message send fail"; + } + leaf alert-genrtd-c2s { + type uint64; + description + "Alert generated from proxy client"; + } + leaf alert-genrtd-s2c { + type uint64; + description + "Alert generated from proxy server"; + } + leaf alert-recvd-c2s { + type uint64; + description + "Alert received from client"; + } + leaf alert-recvd-s2c { + type uint64; + description + "Alert received from server"; + } + leaf c2s-fin-rec { + type uint64; + description + "FIN received from client at proxy server"; + } + leaf c2s-fin-rec-after-hs { + type uint64; + description + "FIN received from client after handshake at + proxy server"; + } + leaf c2s-fin-rec-during-hs { + type uint64; + description + "FIN received from client during handshake at + proxy server"; + } + leaf c2s-fin-rec-non-ssl { + type uint64; + description + "FIN received from client for non SSL connection + at proxy server"; + } + leaf c2s-fin-sent-to-sc { + type uint64; + description + "FIN sent to service chain from proxy server"; + } + leaf c2s-fin-rec-from-sc { + type uint64; + description + "FIN received from service chain at proxy client"; + } + leaf c2s-fin-sent { + type uint64; + description + "FIN sent to server from proxy client"; + } + leaf c2s-rst-rec { + type uint64; + description + "RST received from client at proxy server"; + } + leaf c2s-rst-generated { + type uint64; + description + "RST generated at proxy client"; + } + leaf c2s-rst-sent-to-sc { + type uint64; + description + "RST sent to service chain from proxy server"; + } + leaf c2s-rst-rec-from-sc { + type uint64; + description + "RST received from service chain at proxy client"; + } + leaf c2s-rst-sent { + type uint64; + description + "RST sent to server from proxy client"; + } + leaf c2s-cn-rec { + type uint64; + description + "Close notify received from client at proxy server"; + } + leaf c2s-cn-sent-to-sc { + type uint64; + description + "Close notify sent to service chain from proxy + server"; + } + leaf c2s-cn-rec-from-sc { + type uint64; + description + "Close notify received from service chain at proxy + client"; + } + leaf c2s-cn-sent { + type uint64; + description + "Close notify sent to server from proxy client"; + } + leaf s2c-fin-rec { + type uint64; + description + "FIN received from server at proxy client"; + } + leaf s2c-fin-rec-after-hs { + type uint64; + description + "FIN received from server after handshake at proxy client"; + } + leaf s2c-fin-rec-during-hs { + type uint64; + description + "FIN received from server during handshake at proxy client"; + } + leaf s2c-fin-rec-non-ssl { + type uint64; + description + "FIN received from server for non SSL connection at + proxy client"; + } + leaf s2c-fin-sent-to-sc { + type uint64; + description + "FIN sent to service chain from proxy client"; + } + leaf s2c-fin-rec-from-sc { + type uint64; + description + "FIN received from service chain at proxy server"; + } + leaf s2c-fin-sent { + type uint64; + description + "FIN sent to client from proxy server"; + } + leaf s2c-rst-rec { + type uint64; + description + "RST received from server at proxy client"; + } + leaf s2c-rst-generated { + type uint64; + description + "RST generated at proxy server"; + } + leaf s2c-rst-sent-to-sc { + type uint64; + description + "RST sent to service chain from proxy client"; + } + leaf s2c-rst-rec-from-sc { + type uint64; + description + "RST received from service chain at proxy server"; + } + leaf s2c-rst-sent { + type uint64; + description + "RST sent to client from proxy server"; + } + leaf s2c-cn-rec { + type uint64; + description + "Close notify received from server at proxy client"; + } + leaf s2c-cn-sent-to-sc { + type uint64; + description + "Close notify sent to service chain from proxy client"; + } + leaf s2c-cn-rec-from-sc { + type uint64; + description + "Close notify received from service chain at proxy server"; + } + leaf s2c-cn-sent { + type uint64; + description + "Close notify sent to client from proxy server"; + } + leaf ps-lwssl-flow-create { + type uint64; + description + "Flows created at proxy server"; + } + leaf ps-lwssl-flow-delete { + type uint64; + description + "Flows deleted at proxy server"; + } + leaf ps-fs-mem-alloc-fail { + type uint64; + description + "Flow segment memory allocation failed at proxy server"; + } + leaf ps-fin-rec-from-sc { + type uint64; + description + "FIN received from service chain at proxy server"; + } + leaf ps-rst-rec-from-sc { + type uint64; + description + "RST received from service chain at proxy server"; + } + leaf ps-cn-sent { + type uint64; + description + "Close notify generated at proxy server"; + } + leaf pc-lwssl-flow-create { + type uint64; + description + "Flows created at proxy client"; + } + leaf pc-lwssl-flow-delete { + type uint64; + description + "Flows deleted at proxy client"; + } + leaf pc-fs-mem-alloc-fail { + type uint64; + description + "Flow segment memory allocation failed at proxy client"; + } + leaf pc-fin-rec-from-sc { + type uint64; + description + "FIN received from service chain at proxy client"; + } + leaf pc-rst-rec-from-sc { + type uint64; + description + "RST received from service chain at proxy client"; + } + leaf pc-cn-sent { + type uint64; + description + "Close notify generated at proxy client"; + } + leaf ism-flow-create { + type uint64; + description + "Flows created at ISM"; + } + leaf ism-flow-delete { + type uint64; + description + "Flows deleted at ISM"; + } + leaf ism-fifo-enqueue-failed { + type uint64; + description + "ISM FIFO enqueue fail"; + } + leaf ism-sem-post-failed { + type uint64; + description + "ISM semaphore operation failed"; + } + leaf lwssl-send-msg-toism-fail { + type uint64; + description + "Light weight SSL failed to send message to ISM"; + } + leaf ism-msg-mem-alloc-failed { + type uint64; + description + "Memory allocation failed for ISM message"; + } + leaf rm-session-alloc-success { + type uint64; + description + "Resource manager session allocation success"; + } + leaf rm-session-alloc-failures { + type uint64; + description + "Resource manager session allocation fail"; + } + leaf rm-session-free-success { + type uint64; + description + "Resource manager session free success"; + } + leaf rm-session-free-failures { + type uint64; + description + "Resource manager session free fail"; + } + leaf app-ocsp-reqs { + type uint64; + description + "Application OCSP requests"; + } + leaf app-ocsp-res { + type uint64; + description + "Application OCSP responses"; + } + leaf app-ocsp-timeout { + type uint64; + description + "Application OCSP status timeout"; + } + leaf app-ocsp-failures { + type uint64; + description + "Application OCSP status fail"; + } + leaf app-ocsp-good { + type uint64; + description + "Application OCSP status good"; + } + leaf app-ocsp-revoked { + type uint64; + description + "Application OCSP status revoked"; + } + leaf app-ocsp-unknown { + type uint64; + description + "Application OCSP status unknown"; + } + leaf app-ocsp-req-int-error { + type uint64; + description + "Application OCSP status internal error"; + } + leaf client-ocsp-reqs { + type uint64; + description + "Client OCSP requests"; + } + leaf client-ocsp-res { + type uint64; + description + "Client OCSP responses"; + } + leaf client-ocsp-timeout { + type uint64; + description + "Client OCSP status timeout"; + } + leaf client-ocsp-failures { + type uint64; + description + "Client OCSP status fail"; + } + leaf client-ocsp-good { + type uint64; + description + "Client OCSP status good"; + } + leaf client-ocsp-revoked { + type uint64; + description + "Client OCSP status revoked"; + } + leaf client-ocsp-unknown { + type uint64; + description + "Client OCSP status unknown"; + } + leaf client-ocsp-req-int-error { + type uint64; + description + "Client OCSP status internal error"; + } + leaf ocsp-stap-reqs { + type uint64; + description + "OCSP stapling requests"; + } + leaf ocsp-stap-resp { + type uint64; + description + "OCSP stapling responses"; + } + leaf ocsp-stap-valid-resp { + type uint64; + description + "OCSP stapling status valid"; + } + leaf ocsp-stap-revoked-resp { + type uint64; + description + "OCSP stapling status revoked"; + } + leaf ocsp-stap-unknown-resp { + type uint64; + description + "OCSP stapling status unknown"; + } + leaf ocsp-stap-resp-val-fail { + type uint64; + description + "OCSP stapling response validation fail"; + } + leaf tot-req-sslv2-flows { + type uint64; + description + "Flows requested SSLv2"; + } + leaf tot-req-sslv3-flows { + type uint64; + description + "Flows requested SSLv3"; + } + leaf tot-req-tls1-0-flows { + type uint64; + description + "Flows requested TLS1.0"; + } + leaf tot-req-tls1-1-flows { + type uint64; + description + "Flows requested TLS1.1"; + } + leaf tot-req-tls1-2-flows { + type uint64; + description + "Flow requested TLS1.2"; + } + leaf tot-req-tls1-3-flows { + type uint64; + description + "Flows requested TLS1.3"; + } + leaf tot-select-tls1-0-flows { + type uint64; + description + "Flows selected TLS1.0"; + } + leaf tot-select-tls1-1-flows { + type uint64; + description + "Flows selected TLS1.1"; + } + leaf tot-select-tls1-2-flows { + type uint64; + description + "Flows selected TLS1.2"; + } + leaf che-pushdown { + type uint64; + description + "Push down due to client hello extension is not + supported"; + } + leaf che-bypass { + type uint64; + description + "Client hello extension is bypass"; + } + leaf che-strip { + type uint64; + description + "Client hello extension is stripped"; + } + leaf che-process { + type uint64; + description + "Client hello extension is processed"; + } + leaf tot-ssl-hs-started { + type uint64; + description + "Total handshakes started"; + } + leaf tot-ssl-hs-completed { + type uint64; + description + "Total handshakes completed"; + } + leaf tot-full-ssl-hs { + type uint64; + description + "Total full SSL handshakes"; + } + leaf tot-ssl-resump { + type uint64; + description + "Total SSL resumption"; + } + leaf tot-ssl-resump-ses-id { + type uint64; + description + "SSL resumption with session id"; + } + leaf tot-ssl-resump-ses-tkt { + type uint64; + description + "SSL resumption with session ticket"; + } + leaf tot-ssl-fb-full-hs { + type uint64; + description + "SSL fallback to full handshake"; + } + leaf tot-ssl-renego { + type uint64; + description + "SSL renegotiation"; + } + leaf tot-failed-renego { + type uint64; + description + "SSL renegotiation failed"; + } + leaf tot-server-cert-val-req { + type uint64; + description + "Server certificate validation requests"; + } + leaf tot-server-cert-val-succes { + type uint64; + description + "Server certificate validation success"; + } + leaf tot-server-cert-expired { + type uint64; + description + "Server certificate expired"; + } + leaf tot-server-cert-untrusted { + type uint64; + description + "Server certificate untrusted"; + } + leaf tot-client-cert-val-req { + type uint64; + description + "Client certificate validation requests"; + } + leaf tot-client-cert-val-succes { + type uint64; + description + "Client certificate validation success"; + } + leaf tot-client-cert-expired { + type uint64; + description + "Client certificate expired"; + } + leaf tot-client-cert-untrusted { + type uint64; + description + "Client certificate untrusted"; + } + leaf drop-exp-cert { + type uint64; + description + "Policy drop for expired certificate"; + } + leaf drop-fail-mode { + type uint64; + description + "Policy drop for failure mode"; + } + leaf drop-unknown-status { + type uint64; + description + "Policy drop for unknown status"; + } + leaf drop-unsup-cipher { + type uint64; + description + "Policy drop for unsupported cipher suites"; + } + leaf drop-unsup-prot-vers { + type uint64; + description + "Policy drop for unsupported protocol version"; + } + leaf drop-untrusted-cert { + type uint64; + description + "Policy drop for untrusted certificate"; + } + leaf decrypt-exp-cert { + type uint64; + description + "Policy decrypt for expired certificate"; + } + leaf decrypt-fail-mode { + type uint64; + description + "Policy decrypt for failure mode"; + } + leaf decrypt-unknown-status { + type uint64; + description + "Policy decrypt for unknown status"; + } + leaf nodecrypt-unsup-cipher { + type uint64; + description + "Policy no decrypt for unsupported cipher suites"; + } + leaf nodecrypt-unsup-prot-vers { + type uint64; + description + "Policy no decrypt for unsupported protocol version"; + } + leaf decrypt-untrusted-cert { + type uint64; + description + "Policy decrypt for untrusted certificate"; + } + leaf ps-pkt-rec-from-client { + type uint64; + description + "Packets received from client at proxy server"; + } + leaf ps-pkt-sent-to-client { + type uint64; + description + "Packets sent to client from proxy server"; + } + leaf ps-pkt-rec-from-sc { + type uint64; + description + "Packets received from service chain at proxy + server"; + } + leaf ps-pkt-sent-to-sc { + type uint64; + description + "Packets sent to service chain from proxy server"; + } + leaf pc-pkt-rec-from-server { + type uint64; + description + "Packets received from server at proxy client"; + } + leaf pc-pkt-sent-to-server { + type uint64; + description + "Packets sent to server from proxy client"; + } + leaf pc-pkt-rec-from-sc { + type uint64; + description + "Packets received from service chain at proxy + client"; + } + leaf pc-pkt-sent-to-sc { + type uint64; + description + "Packets sent to service chain from proxy client"; + } + leaf ps-clr-pkt-rec-from-client { + type uint64; + description + "Clear packets received from client at proxy + server"; + } + leaf pc-clr-pkt-rec-from-server { + type uint64; + description + "Clear packets received from server at proxy + client"; + } + leaf ps-clr-pkt-sent-to-sc { + type uint64; + description + "Clear packets sent to service chain from proxy + server"; + } + leaf ps-clr-pkt-rec-from-sc { + type uint64; + description + "Clear packets received from service chain at proxy + server"; + } + leaf pc-clr-pkt-sent-to-sc { + type uint64; + description + "Clear packets sent to service chain from proxy + client"; + } + leaf pc-clr-pkt-rec-from-sc { + type uint64; + description + "Clear packets received from service chain at proxy + client"; + } + leaf ps-clr-pkt-to-client { + type uint64; + description + "Clear packets sent to client from proxy server"; + } + leaf pc-clr-pkt-to-server { + type uint64; + description + "Clear packets sent to server from proxy client"; + } + leaf c2s-pkt-drop-deny-verdict { + type uint64; + description + "Deny verdict received from service chain at proxy + server"; + } + leaf s2c-pkt-drop-deny-verdict { + type uint64; + description + "Deny verdict received from service chain at proxy + client"; + } + leaf ssl-encr-non-ssl-flow { + type uint64; + description + "Non SSL flow is marked as SSL encrypted"; + } + leaf tot-tun-proxied-conn { + type uint64; + description + "Total tunneled proxied connections"; + } + leaf tot-tun-non-proxied-conn { + type uint64; + description + "Total tunneled non-proxied connections"; + } + leaf act-tun-proxied-conn { + type uint64; + description + "Active tunneled proxied connections"; + } + leaf act-tun-non-proxied-conn { + type uint64; + description + "Active tunneled non-proxied connections"; + } + leaf max-conc-tun-proxied-conn { + type uint64; + description + "Maximum concurrent tunneled proxied connections"; + } + leaf max-conc-tun-non-prox-conn { + type uint64; + description + "Maximum concurrent tunneled non-proxied connections"; + } + leaf tot-select-tls1-3-flows { + type uint64; + description + "Flows selected TLS1.3"; + } + } + + container appqoe-sslproxy-oper-data { + config false; + description + "APPQOE SSL proxy operational data"; + container appqoe-sslproxy-status { + presence "appqoe-sslproxy-status"; + description + "APPQOE SSL proxy configuration and status"; + uses appqoe-sslproxy-xe-oper:appqoe-sslproxy-status; + } + container appqoe-sslproxy-stats { + presence "appqoe-sslproxy-stats"; + description + "APPQOE SSL proxy statistics"; + uses appqoe-sslproxy-xe-oper:appqoe-sslproxy-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-tcpproxy-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-tcpproxy-oper.yang new file mode 100644 index 000000000..0c10b5a1f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-tcpproxy-oper.yang @@ -0,0 +1,967 @@ +module Cisco-IOS-XE-appqoe-tcpproxy-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-tcpproxy-oper"; + prefix appqoe-tcpproxy-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Application Quality of Experience (APPQOE) TCP proxy operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "Added support for DRE bypass counter"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-proxy-state { + type enumeration { + enum running { + value 0; + description + "TCP proxy is running"; + } + enum not-running { + value 1; + description + "TCP proxy is not running"; + } + } + description + "APPQOE TCP proxy running state"; + } + + grouping appqoe-tcpproxy-status { + description + "TCP proxy configuration and status details"; + leaf vpg-name { + type string; + description + "Virtual Port Group(VPG) name"; + } + leaf vpg-addr { + type inet:ip-address; + description + "VPG IP address"; + } + leaf vpg-netmask { + type inet:ip-address; + description + "VPG IP mask"; + } + leaf sng-name { + type string; + description + "Service Node Group(SNG) name"; + } + leaf sng-addr { + type inet:ip-address; + description + "SNG IP address"; + } + leaf oper-state { + type appqoe-tcpproxy-xe-oper:appqoe-proxy-state; + description + "TCP proxy operational state"; + } + } + + grouping pend-clean { + description + "TCP proxy number of flows pending cleanup"; + leaf index { + type uint8; + description + "Instance ID"; + } + leaf value { + type uint64; + description + "Number of flows pending cleanup"; + } + } + + grouping queue-info { + description + "SSL worker queue information"; + leaf index { + type uint8; + description + "Instance ID"; + } + leaf max-q-len-wk { + type uint64; + description + "Maximum worker queue length"; + } + leaf cur-q-len-wk { + type uint64; + description + "Current worker queue length"; + } + leaf max-q-len-ism { + type uint64; + description + "Maximum Interposer Session Manager (ISM) queue length"; + } + leaf cur-q-len-ism { + type uint64; + description + "Current ISM queue length"; + } + leaf max-q-len-sc { + type uint64; + description + "Maximum Service Chain (SC) queue length"; + } + leaf cur-q-len-sc { + type uint64; + description + "Current SC queue length"; + } + } + + grouping appqoe-tcpproxy-stats { + description + "APPQOE TCP proxy statistics"; + leaf current-conn-count { + type uint64; + description + "Current connections"; + } + leaf conn-in-progress { + type uint64; + description + "Connections in progress"; + } + leaf cur-rx-epoll-count { + type uint64; + description + "Current receive event library poll count"; + } + leaf cur-tx-epoll-count { + type uint64; + description + "Current transmitted event library poll count"; + } + leaf total-conns { + type uint64; + description + "Total connections"; + } + leaf max-conns { + type uint64; + description + "Maximum concurrent connections"; + } + leaf conn-failed { + type uint64; + description + "Failed connections"; + } + leaf syncache-add-done { + type uint64; + description + "SYN cache Added"; + } + leaf sync-fail-nat-entry-null { + type uint64; + description + "SYN cache not added due to NAT entry null"; + } + leaf sync-fail-marked-cleanup { + type uint64; + description + "SYN cache not added as it is marked for cleanup"; + } + leaf sync-fail-entry-null { + type uint64; + description + "SYN cache not added as flow entry is null"; + } + leaf sync-fail-entry-invalid { + type uint64; + description + "SYN cache not added as flow is invalid"; + } + leaf sync-fail-entry-inuse { + type uint64; + description + "SYN cache not added as flow is in use"; + } + leaf syn-purged-enq { + type uint64; + description + "SYN purge enqueued"; + } + leaf syn-purge-enq-failed { + type uint64; + description + "SYN purge enqueue failed"; + } + leaf other-cleanup-enq { + type uint64; + description + "Other cleanup enqueued"; + } + leaf other-cleanup-enq-failed { + type uint64; + description + "Other cleanup enqueue failed"; + } + leaf proxy-cleanup-enq { + type uint64; + description + "Proxy cleanup enqueued"; + } + leaf proxy-cleanup-enq-failed { + type uint64; + description + "Proxy cleanup enqueue failed"; + } + leaf stack-cleanup-enq { + type uint64; + description + "Stack cleanup enqueued"; + } + leaf stack-cleanup-enq-failed { + type uint64; + description + "Stack cleanup enqueue failed"; + } + leaf timer-expire-cleanup-enq { + type uint64; + description + "Timer expire cleanup enqueued"; + } + leaf timer-ex-clean-enq-failed { + type uint64; + description + "Timer expire cleanup enqueue failed"; + } + leaf clean-req-watcher-called { + type uint64; + description + "Cleanup request watcher called"; + } + leaf pre-list-enq-failed { + type uint64; + description + "Pre TCP flow list enqueue failed"; + } + leaf pre-list-enq { + type uint64; + description + "Pre TCP flow list enqueue success"; + } + leaf pre-rem-err-accept { + type uint64; + description + "Pre TCP flow list dequeue failed(accept)"; + } + leaf pre-remove-err-timer { + type uint64; + description + "Pre TCP flow list dequeue failed(timer)"; + } + leaf pre-remove-cleanup { + type uint64; + description + "Pre TCP flow list dequeue (cleanup)"; + } + leaf pre-remove-accept { + type uint64; + description + "Pre TCP flow list dequeue (accept)"; + } + leaf pre-clean-time-update { + type uint64; + description + "Pre TCP cleanup timeout update count"; + } + list flow-pend-clean { + description + "Total flow entries pending cleanup"; + uses appqoe-tcpproxy-xe-oper:pend-clean; + } + leaf tot-tcp-flow-clean-done { + type uint64; + description + "Total cleanup done"; + } + list worker-queue-info { + description + "SSL worker queue information"; + uses appqoe-tcpproxy-xe-oper:queue-info; + } + leaf tot-pause-count { + type uint64; + description + "Total paused by TCP due to transmit buffer full"; + } + leaf tot-resume-count { + type uint64; + description + "Total resumed by TCP transmit due to below threshold"; + } + leaf tot-pause-count-buf { + type uint64; + description + "Total paused by TCP due to buffer consumed"; + } + leaf tot-resume-count-buf { + type uint64; + description + "Total resumed by TCP due to buffer released"; + } + leaf tot-rx-ssl-pause-process { + type uint64; + description + "Total event by SSL to pause process"; + } + leaf tot-rx-snort-pause-proc { + type uint64; + description + "Total event by snort to pause process"; + } + leaf tot-rx-dre-pause-process { + type uint64; + description + "Total event by DRE to pause process"; + } + leaf tot-ev-resume-process { + type uint64; + description + "Total event by SSL/snort resume process"; + } + leaf tot-ev-tx-enable-process { + type uint64; + description + "Total transmit async events processed"; + } + leaf tot-send-fail { + type uint64; + description + "Total failure to send"; + } + leaf tot-ssl-pause-done { + type uint64; + description + "Total SSL pause done"; + } + leaf tot-ssl-resume-done { + type uint64; + description + "Total SSL resume done"; + } + leaf tot-snort-pause-done { + type uint64; + description + "Total snort pause done"; + } + leaf tot-snort-resume-done { + type uint64; + description + "Total snort resume done"; + } + leaf tot-dre-pause-done { + type uint64; + description + "Total DRE pause done"; + } + leaf tot-dre-resume-done { + type uint64; + description + "Total DRE resume done"; + } + leaf tot-dre-resume-to-be-sent { + type uint64; + description + "Total DRE resume to be sent"; + } + leaf tot-dre-resume-msg-sent { + type uint64; + description + "Total DRE resume message sent"; + } + leaf tot-dre-close-init { + type uint64; + description + "Total DRE close initiated"; + } + leaf tot-actual-pause-done { + type uint64; + description + "Total socket pause done"; + } + leaf tot-actual-resume-done { + type uint64; + description + "Total socket resume done"; + } + leaf tot-ssl-pause-called { + type uint64; + description + "Total SSL pause called"; + } + leaf tot-ssl-resume-called { + type uint64; + description + "Total SSL resume called"; + } + leaf tot-async-event-send { + type uint64; + description + "Total async events sent"; + } + leaf tot-async-event-process { + type uint64; + description + "Total async events processed"; + } + leaf tot-tx-async-event-send { + type uint64; + description + "Total transmit side async events sent"; + } + leaf tot-tx-async-event-proc { + type uint64; + description + "Total transmit side async events received"; + } + leaf tot-tcp-fin-rcvd { + type uint64; + description + "Total TCP FIN received from client/server"; + } + leaf tot-tcp-reset-rcvd { + type uint64; + description + "Total TCP RST received from client/server"; + } + leaf tot-ssl-fin-rcvd { + type uint64; + description + "Total TCP FIN received from SSL"; + } + leaf tot-ssl-reset-rcvd { + type uint64; + description + "Total TCP Reset received from SSL"; + } + leaf tot-ssl-fin-rcvd-sc { + type uint64; + description + "Total SC FIN received from SSL"; + } + leaf tot-ssl-reset-rcvd-sc { + type uint64; + description + "Total SC Reset received from SSL"; + } + leaf tot-sc-fin-rcvd { + type uint64; + description + "Total SSL FIN received from SC"; + } + leaf tot-sc-reset-rcvd { + type uint64; + description + "Total SSL reset received from SC"; + } + leaf tot-fin-processed { + type uint64; + description + "Total TCP FIN processed"; + } + leaf tot-fin-ign-fd-close { + type uint64; + description + "Total TCP FIN ignored as file descriptor already closed"; + } + leaf tot-reset-processed { + type uint64; + description + "Total TCP reset processed"; + } + leaf tot-svc-reset-processed { + type uint64; + description + "Total Service Chain (SVC) reset processed"; + } + leaf tot-clean-client-data-q { + type uint64; + description + "Total flow cleaned with client data"; + } + leaf tot-clean-server-data-q { + type uint64; + description + "Total flow cleaned with server data"; + } + leaf tot-tcp-buf-alloc { + type uint64; + description + "Total TCP 4k allocated buffers"; + } + leaf tot-tcp-buf-16k-alloc { + type uint64; + description + "Total TCP 16k allocated buffers"; + } + leaf tot-tcp-buf-32k-alloc { + type uint64; + description + "Total TCP 32k allocated buffers"; + } + leaf tot-tcp-buf-128k-alloc { + type uint64; + description + "Total TCP 128k allocated buffers"; + } + leaf tot-tcp-buf-free { + type uint64; + description + "Total TCP freed buffers"; + } + leaf tot-ssl-buf-alloc { + type uint64; + description + "Total SSL allocated buffers"; + } + leaf tot-ssl-buf-free { + type uint64; + description + "Total SSL freed buffers"; + } + leaf tot-tcp-buf-rcvd { + type uint64; + description + "Total TCP received buffers"; + } + leaf tot-tcp2ssl-buf-enq { + type uint64; + description + "Total TCP enqueued buffers to SSL"; + } + leaf tot-ssl2svc-buf-enq { + type uint64; + description + "Total SSL enqueued buffers SVC"; + } + leaf tot-svc2ssl-buf-enq { + type uint64; + description + "Total SVC enqueued buffers to SSL"; + } + leaf tot-ssl2tcp-buf-enq { + type uint64; + description + "Total SSL enqueued buffers to TCP"; + } + leaf tot-tcp-buf-sent { + type uint64; + description + "Total TCP buffers sent"; + } + leaf tot-tcp-buf-alloc-failed { + type uint64; + description + "Total TCP failed buffers allocations"; + } + leaf tot-buf-16k-alloc-failed { + type uint64; + description + "Total TCP failed 16k buffers allocations"; + } + leaf tot-buf-32k-alloc-failed { + type uint64; + description + "Total TCP failed 32k buffers allocations"; + } + leaf tot-buf-128k-alloc-failed { + type uint64; + description + "Total TCP failed 128k buffers allocations"; + } + leaf tot-ssl-buf-alloc-failed { + type uint64; + description + "Total SSL failed buffers allocations"; + } + leaf tot-ssl-server-init { + type uint64; + description + "Total SSL server init"; + } + leaf flow-drop-sn-gbl-health-y { + type uint64; + description + "Flows dropped by snort as global health is yellow"; + } + leaf flow-drop-sn-inst-health-y { + type uint64; + description + "Flows dropped as snort instance health is yellow"; + } + leaf flows-drop-wcapi-health-y { + type uint64; + description + "Flows dropped as communication channel health is yellow"; + } + leaf tot-ssl-reset-init { + type uint64; + description + "Total TCP reset initiated by SSL"; + } + leaf tot-snort-reset-init { + type uint64; + description + "Total TCP reset initiated by snort"; + } + leaf tx-enqueue-drops-close { + type uint64; + description + "Total transmit enqueue ignored due to connection close"; + } + leaf ssl-init-failure { + type uint64; + description + "SSL init failure"; + } + leaf wcapi-svc-flow-create-f { + type uint64; + description + "Total SVC chain flow create failed"; + } + leaf wcapi-svc-flow-delete-f { + type uint64; + description + "Total SVC chain flow delete failed"; + } + leaf wcapi-svc-data-send-f { + type uint64; + description + "Total SVC chain send data failed"; + } + leaf wcapi-svc-flow-close-f { + type uint64; + description + "Total SVC chain send close failed"; + } + leaf tx-enq-failure-count { + type uint64; + description + "Total transmit enqueue failed"; + } + leaf tot-bytes-read-less-512 { + type uint64; + description + "Total received socket bytes less than 512 "; + } + leaf tot-bytes-read-less-1024 { + type uint64; + description + "Total received socket bytes less than 1024"; + } + leaf tot-bytes-read-less-2048 { + type uint64; + description + "Total received socket bytes less than 2048"; + } + leaf tot-bytes-read-less-4096 { + type uint64; + description + "Total received socket bytes less than 4096"; + } + leaf tot-buff-drop-sock-not-av { + type uint64; + description + "Total buffers dropped in transmit direction due to socket not available"; + } + leaf tot-buff-drop-sock-closed { + type uint64; + description + "Total buffers dropped in transmit direction due to socket close"; + } + leaf tot-uhi-mmap { + type uint64; + description + "Total Universal Memory Allocator(UMA) memory map"; + } + leaf tot-uhi-munmap { + type uint64; + description + "Total UMA memory unmap"; + } + leaf enable-rx-called { + type uint64; + description + "Total receive enable called"; + } + leaf enable-rx-done { + type uint64; + description + "Total receive enable process done"; + } + leaf enable-rx-queued { + type uint64; + description + "Total receive enable enqueued"; + } + leaf enable-rx-failed { + type uint64; + description + "Total receive enable process failed"; + } + leaf enable-rx-enq-failed { + type uint64; + description + "Total receive enable enqueue failed"; + } + leaf tot-cleanup-add-to-wk-q { + type uint64; + description + "Total cleanup flow message added to worker queue"; + } + leaf tot-clean-add-wk-q-fail { + type uint64; + description + "Total cleanup flow add message to worker queue failed"; + } + leaf tot-clean-msg-rcvd { + type uint64; + description + "Total cleanup flow message received in worker queue"; + } + leaf tot-clean-flow-ign { + type uint64; + description + "Total cleanup flow ignored as it is already done"; + } + leaf tot-ssl-clean-addwkq-fail { + type uint64; + description + "Total cleanup SSL message add to worker queue failed"; + } + leaf tot-ssl-trig-rst-wkq-fail { + type uint64; + description + "Total SSL trigger reset message add to worker queue failed"; + } + leaf num-stack-cb-null-ctx { + type uint64; + description + "Number of stack callback with null context"; + } + leaf vpath-cleanup-from-nmrx { + type uint64; + description + "Virtual path cleanup from receive thread"; + } + leaf vpath-cleanup-from-evlib { + type uint64; + description + "Virtual path cleanup from event thread"; + } + leaf curr-tcp-flow-entries { + type uint64; + description + "Current flow entries"; + } + leaf curr-val-tcp-flow-entries { + type uint64; + description + "Current valid flow entries"; + } + leaf tcp-flow-entries-created { + type uint64; + description + "Flow entries created"; + } + leaf tcp-flow-entries-deleted { + type uint64; + description + "Flow entries deleted"; + } + leaf tcp-flow-stats-del-fail { + type uint64; + description + "Flow delete failure count"; + } + leaf tcp-flow-stats-add-fail { + type uint64; + description + "Flow add failure count"; + } + leaf tcp-flow-inv-entries { + type uint64; + description + "Invalid flow entries"; + } + leaf tot-en-rx-sock-stk-cl-clnt { + type uint64; + description + "Total receive socket enable due to client side stack close"; + } + leaf tot-en-rx-sock-stk-cl-svr { + type uint64; + description + "Total receive socket enable due to server side stack close"; + } + leaf unified-logging-msg-recvd { + type uint64; + description + "Unified logging message received"; + } + leaf unified-logg-data-too-long { + type uint64; + description + "Unified logging drop as data is too long"; + } + leaf unified-logg-enq-succ { + type uint64; + description + "Unified logging enqueue success"; + } + leaf unified-logg-deq-succ { + type uint64; + description + "Unified logging dequeue success"; + } + leaf unif-logg-deq-no-space { + type uint64; + description + "Unified logging dequeue failed as there is not enough space"; + } + leaf tot-page-alloc { + type uint64; + description + "Total UMA page allocations"; + } + leaf tot-page-alloc-retry { + type uint64; + description + "Total UMA page allocation retry"; + } + leaf tot-page-alloc-failed { + type uint64; + description + "Total UMA page allocation failed"; + } + leaf tot-page-alloc-fail-size { + type uint64; + description + "Total UMA page allocation failed due to invalid size"; + } + leaf tot-page-free { + type uint64; + description + "Total UMA page free"; + } + leaf tcpp-aoim-sync-started { + type uint64; + description + "Application optimiser information manager sync started"; + } + leaf tcpp-aoim-sync-done { + type uint64; + description + "Application optimiser information manager sync completed"; + } + leaf tcpp-aoim-sync-error { + type uint64; + description + "Application optimiser information manager sync errored"; + } + leaf sync-flow-mismatch { + type uint64; + description + "Syn cache flow mismatch"; + } + leaf proxy-cleanup-to-queue { + type uint64; + description + "Proxy cleanup sent to event loop flow queue"; + } + leaf proxy-cleanup-by-queue { + type uint64; + description + "Proxy cleanup enqueue done by event loop flow queue"; + } + leaf dre-bypass-hints-sent { + type uint64; + description + "Total DRE bypass hints sent"; + } + leaf dre-smb-bypassed { + type uint64; + description + "Total DRE-SMB bypass successful"; + } + leaf dre-http-bypassed { + type uint64; + description + "Total DRE-HTTP bypass successful"; + } + leaf dre-bypassed-peer { + type uint64; + description + "Total DRE bypass received from peer"; + } + } + + container appqoe-tcpproxy-oper-data { + config false; + description + "APPQOE TCP proxy operational data"; + container appqoe-tcpproxy-status { + presence "appqoe-tcpproxy-status"; + description + "APPQOE TCP proxy configuration and status"; + uses appqoe-tcpproxy-xe-oper:appqoe-tcpproxy-status; + } + container appqoe-tcpproxy-stats { + presence "appqoe-tcpproxy-stats"; + description + "APPQOE TCP proxy statistics"; + uses appqoe-tcpproxy-xe-oper:appqoe-tcpproxy-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-types.yang new file mode 100644 index 000000000..6833c8cab --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-appqoe-types.yang @@ -0,0 +1,381 @@ +module Cisco-IOS-XE-appqoe-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-appqoe-types"; + prefix appqoe-types-ios-xe; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for service-insertion operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added AppQoE specific status, alarm, profile + and status change reason enumerations"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Added support for AppQoE sub service status + - Added new hybrid device mode"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appqoe-sn-status { + type enumeration { + enum sn-status-down { + value 0; + description + "Service node status is down"; + } + enum sn-status-green { + value 1; + description + "Service node status is green"; + } + enum sn-status-yellow { + value 2; + description + "Service node status is yellow"; + } + enum sn-status-red { + value 3; + description + "Service node status is red"; + } + } + description + "Service node status"; + } + + typedef appqoe-device-mode { + type enumeration { + enum device-mode-cedge-sdwan { + value 0; + description + "Device mode is not configured"; + } + enum device-mode-service-node { + value 1; + description + "Device mode is service node"; + } + enum device-mode-integrated-service-node { + value 2; + description + "Device mode is integrated service node"; + } + enum device-mode-service-controller { + value 3; + description + "Device mode is service controller"; + } + enum device-mode-hybrid { + value 4; + description + "Device mode is hybrid"; + } + } + description + "Device mode state"; + } + + typedef appqoe-service-id { + type enumeration { + enum appqoe-service-unknown { + value 0; + description + "AppQoE service unknown"; + } + enum appqoe-service-tcpopt { + value 1; + description + "AppQoE service Transmission Control Protocol (TCP) optimization"; + } + enum appqoe-service-ssl { + value 2; + description + "AppQoE service Secure Sockets Layer (SSL)"; + } + enum appqoe-service-dreopt { + value 3; + description + "AppQoE service Data Redundancy Elimination (DRE)"; + } + } + description + "Sub services offered under AppQoE"; + } + + typedef appqoe-service-status { + type enumeration { + enum appqoe-service-status-unknown { + value 0; + description + "AppQoE sub service status unknown"; + } + enum appqoe-service-status-green { + value 1; + description + "AppQoE sub service status green"; + } + enum appqoe-service-status-yellow { + value 2; + description + "AppQoE sub service status yellow"; + } + enum appqoe-service-status-red { + value 3; + description + "AppQoE sub service status red"; + } + } + description + "AppQoE sub service status"; + } + + typedef appqoe-health-status { + type enumeration { + enum appqoe-health-status-unknown { + value 0; + description + "APPQOE health status is unknown"; + } + enum appqoe-health-status-green { + value 1; + description + "APPQOE health status is green"; + } + enum appqoe-health-status-yellow { + value 2; + description + "APPQOE health status is yellow"; + } + enum appqoe-health-status-red { + value 3; + description + "APPQOE health status is red"; + } + enum appqoe-health-status-unavailable { + value 4; + description + "APPQOE health status is unavailable"; + } + enum appqoe-health-status-disabled { + value 5; + description + "APPQOE health status is disabled"; + } + } + description + "APPQOE health status"; + } + + typedef appqoe-hs-change-reason { + type enumeration { + enum appqoe-hs-reason-none { + value 0; + description + "Health status change reason - none"; + } + enum appqoe-hs-reason-init-failed { + value 1; + description + "Health status reason - init failed"; + } + enum appqoe-hs-reason-srv-not-responding { + value 2; + description + "Health status reason - no response"; + } + enum appqoe-hs-reason-cache-corrupted { + value 3; + description + "Health status reason - cache corrupted"; + } + enum appqoe-hs-reason-disk-overload { + value 4; + description + "Health status change reason - disk overload"; + } + enum appqoe-hs-reason-disk-full { + value 5; + description + "Health status change reason - disk full"; + } + enum appqoe-hs-reason-cpu-threshold { + value 6; + description + "Health status change reason - CPU threshold exceeded"; + } + enum appqoe-hs-reason-maxconn-threshold { + value 7; + description + "Health status change - maximum connections threshold exceeded"; + } + enum appqoe-hs-reason-over-fanout { + value 8; + description + "Health status change - over fanout"; + } + } + description + "APPQOE health status change reason"; + } + + typedef appqoe-service-alarms { + type enumeration { + enum appqoe-almid-none { + value 0; + description + "Alarm ID none"; + } + enum appqoe-almid-disk-full { + value 1; + description + "Disk full alarm"; + } + enum appqoe-almid-cache-corrupted { + value 2; + description + "Cache corrupted alarm"; + } + enum appqoe-almid-over-fanout { + value 3; + description + "Over fanout alarm"; + } + enum appqoe-almid-disk-overload { + value 4; + description + "Disk overload alarm"; + } + enum appqoe-almid-maxconn-threshold { + value 5; + description + "Maximum connections threshold exceeded alarm"; + } + enum appqoe-almid-cpu-threshold { + value 6; + description + "CPU threshold exceeded alarm"; + } + enum appqoe-almid-init-failed { + value 7; + description + "Init failed alarm"; + } + enum appqoe-almid-init-success { + value 8; + description + "Init success alarm"; + } + } + description + "HTTP alarms"; + } + + typedef appqoe-profile-type { + type enumeration { + enum http-profile-unknown { + value 0; + description + "HTTP profile type unknown"; + } + enum http-profile-small { + value 1; + description + "HTTP profile type small"; + } + enum http-profile-medium { + value 2; + description + "HTTP profile type medium"; + } + enum http-profile-large { + value 3; + description + "HTTP profile type large"; + } + enum http-profile-extra-large { + value 4; + description + "HTTP profile type extra large"; + } + enum http-profile-extra-extra-large { + value 5; + description + "HTTP profile type extra extra Large"; + } + } + description + "HTTP profile type"; + } + + grouping appqoe-service { + description + "List of AppQoE sub service with status"; + leaf service { + type appqoe-types-ios-xe:appqoe-service-id; + description + "Service offered by AppQoE"; + } + leaf load-status { + type appqoe-types-ios-xe:appqoe-service-status; + description + "AppQoE service status"; + } + leaf load-percentage { + when "(../load-status = 'appqoe-service-status-green')"; + type uint8; + units "percentage"; + description + "AppQoE service load percentage"; + } + } + + grouping active-appqoe-alarms { + description + "Active alarms"; + leaf alarms-list { + type appqoe-types-ios-xe:appqoe-service-alarms; + description + "List of alarms"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-oper.yang new file mode 100644 index 000000000..aad7f562f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-oper.yang @@ -0,0 +1,259 @@ +module Cisco-IOS-XE-arp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-arp-oper"; + prefix arp-ios-xe-oper; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE ARP operational data."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-07-01 { + description + "Deprecated arp-oper list. New arp-entry list with support for multiple + ARP entries with the same IP address replaces the deprecated list."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-07-13 { + description + "change in description"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-12-13 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ios-arp-mode { + type enumeration { + enum ios-arp-mode-null { + value 0; + description + "Undefined - error"; + } + enum ios-arp-mode-dynamic { + value 1; + description + "Entry has been learned"; + } + enum ios-arp-mode-incomplete { + value 2; + description + "We've requested, but have no reply yet"; + } + enum ios-arp-mode-interface { + value 3; + description + "Interface entry"; + } + enum ios-arp-mode-static { + value 4; + description + "Static Entry"; + } + enum ios-arp-mode-alias { + value 5; + description + "Static - We're fronting this host"; + } + enum ios-arp-mode-app-simple { + value 6; + description + "Simple Application ARP"; + } + enum ios-arp-mode-app-alias { + value 7; + description + "Application Alias"; + } + enum ios-arp-mode-app-timer { + value 8; + description + "Application Timer"; + } + } + description + "The mode that this entry is running in"; + } + + grouping arp-oper-key { + description + "Key for ARP entry"; + leaf address { + type inet:ip-address; + description + "High level protocol address"; + } + leaf interface { + type string; + description + "Interface associated with this ARP entry"; + } + } + + grouping arp-entry { + description + "ARP Operational Data Entry"; + leaf enctype { + type ios-common-ios-xe-oper:ios-encaps-type; + description + "Protocol that produced the entry"; + } + leaf type { + type ios-common-ios-xe-oper:ios-linktype; + description + "Protocol type of the ARP entry"; + } + leaf mode { + type arp-ios-xe-oper:ios-arp-mode; + description + "Mode of the ARP entry"; + } + leaf hwtype { + type ios-common-ios-xe-oper:ios-snpa-type; + description + "Type of HW address"; + } + leaf hardware { + type yang:mac-address; + description + "Hardware address"; + } + leaf time { + type yang:date-and-time; + description + "Time of the last update"; + } + } + + grouping arp-oper { + description + "ARP Operational Data Entry"; + leaf address { + type inet:ip-address; + description + "High level protocol address"; + } + leaf enctype { + type ios-common-ios-xe-oper:ios-encaps-type; + description + "Protocol that produced the entry"; + } + leaf interface { + type string; + description + "Interface associated with this ARP entry"; + } + leaf type { + type ios-common-ios-xe-oper:ios-linktype; + description + "Protocol that this ARP entry belongs to"; + } + leaf mode { + type arp-ios-xe-oper:ios-arp-mode; + description + "The mode that this entry is running in"; + } + leaf hwtype { + type ios-common-ios-xe-oper:ios-snpa-type; + description + "Type of HW address"; + } + leaf hardware { + type yang:mac-address; + description + "hardware address"; + } + leaf time { + type yang:date-and-time; + description + "Time of the last update"; + } + } + + grouping arp-vrf { + description + "ARP Table Parent VRF"; + leaf vrf { + type string; + description + "VRF name that the ARP table entries are tied to"; + } + list arp-oper { + key "address"; + status deprecated; + description + "This list is deprecated because it does not support multiple ARP entries with + the same IP address. Use arp-entry list instead. The new list supports multiple + ARP entries with the same IP address across different interfaces."; + uses arp-ios-xe-oper:arp-oper; + } + list arp-entry { + key "address interface"; + description + "List of ARP entries associated with this VRF"; + uses arp-ios-xe-oper:arp-oper-key; + uses arp-ios-xe-oper:arp-entry; + } + } + + container arp-data { + config false; + description + "This module contains a collection of YANG definitions for + monitoring the operation of IOS-XE ARP. + Copyright (c) 2018-2019, 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + list arp-vrf { + key "vrf"; + description + "List of VRFs with ARP table entries"; + uses arp-ios-xe-oper:arp-vrf; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-rpc.yang new file mode 100644 index 000000000..6b3791444 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp-rpc.yang @@ -0,0 +1,62 @@ +submodule Cisco-IOS-XE-arp-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED ARP RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-arp-cache-case-grouping { + container arp-cache { + description + "Clear the entire ARP cache"; + presence "true"; + leaf vrf { + description + "Clear entries for a VPN Routing/Forwarding instance"; + type string; + } + leaf interface { + description + "Clear the entire ARP cache on the interface"; + type string { + pattern '[A-Za-z]([\w/.-]+)'; + } + } + leaf ip-drop-node-name { + description + "IP address"; + type inet:ipv4-address; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-arp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp.yang new file mode 100644 index 000000000..98a5c12d7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-arp.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XE-arp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-arp"; + prefix ios-arp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Access Point (AP) Group Yang model. + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-06-17 { + description + "Add arp alias"; + } + revision 2017-11-07 { + description + "Add arp vrf"; + } + revision 2017-01-16 { + description + "Initial Revision"; + } + + grouping arp-entry-grouping { + list arp-entry { + description + "Configure an arp entry"; + key "ip"; + leaf ip { + description + "IP address of ARP entry"; + type inet:ip-address; + } + leaf hardware-address { + description + "48-bit hardware address of ARP entry"; + type string; + } + leaf arp-type { + type enumeration { + enum ARPA; + enum SAP; + enum SMDS; + enum SNAP; + enum SRP-A; + enum SRP-B; + } + } + leaf alias { + description + "Respond to ARP requests for the IP address"; + type empty; + } + } + } + + grouping config-arp-grouping { + container arp { + description + "Set a static ARP entry"; + uses arp-entry-grouping; + list vrf { + description + "Configure static ARP for a VPN Routing/Forwarding instance"; + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses arp-entry-grouping; + } + } + } + + augment "/ios:native" { + uses config-arp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-atm.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-atm.yang new file mode 100644 index 000000000..b4f3fb0bc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-atm.yang @@ -0,0 +1,619 @@ +module Cisco-IOS-XE-atm { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-atm"; + prefix ios-atm; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-l2vpn { + prefix ios-l2vpn; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-pppoe { + prefix ios-pppoe; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native ATM Interfaces Yang model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Deprecate pvc-encapsulation container"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "When condition is added in protocol ppp + - pppoe-client support added for encapsulation + - Added default condition for enable-ilmi-trap leaf"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "Virtual template range is added, is same as IOS"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-05-19 { + description + "Enhancement for vbr-rt"; + } + revision 2018-04-30 { + description + "Enhancement for oam-retry, service-policy"; + } + revision 2018-04-19 { + description + "Enhancements done to ATM as part of CSCvh91982 & CSCvj06187"; + } + revision 2018-04-17 { + description + "imported pppoe groupings"; + } + revision 2018-03-28 { + description + "Enhancements for configuring PVCs under ATM"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-atm-grouping { + container ip { + description + "IP address"; + leaf address { + type inet:ipv4-address; + } + leaf split-horizon { + type empty; + } + } + container atm { + description + "ATM"; + leaf bandwidth { + description + "ATM bandwith"; + type enumeration { + enum dynamic; + } + } + leaf enable-ilmi-trap { + description + "Enable-ilmi-trap"; + type boolean; + default "false"; + } + leaf ilmi-keepalive { + description + "Keepalive polling configuration"; + type empty; + } + leaf route-bridged { + description + "Route IP/IPv6 over RFC 1483 Ethernet"; + type enumeration { + enum ip; + enum ipv6; + } + } + list pvp { + description + "PVP"; + key "pvp-number"; + leaf pvp-number { + description + "PVP number"; + type uint16; + } + leaf l2transport { + type empty; + } + uses ios-l2vpn:config-interface-efp-xconnect-grouping; + } + } + leaf load-interval { + description + "Load interval"; + type uint32; + } + leaf cdp { + type enumeration { + enum enable; + } + } + list cem { + description + "CEM"; + key "number"; + leaf number { + type uint32; + } + uses ios-l2vpn:config-interface-efp-xconnect-grouping; + } + list pvc { + description + "PVC"; + key "local-vpi-vci"; + leaf local-vpi-vci { + description + "Vpi and vci"; + type string; + } + leaf remote-vpi-vci { + description + "Vpi and vci"; + type string; + } + leaf l2transport { + type empty; + } + leaf ubr { + description + "UBR"; + type uint32; + } + container ubrplus { + leaf PCR { + type uint32; + } + leaf MCR { + type uint32; + } + } + leaf cbr { + description + "CBR"; + type uint32; + } + leaf vbr { + description + "VBR"; + type uint32; + } + container vbr-rt { + description + "Enter Variable Bit Rate (pcr)(average)"; + leaf PCR { + description + "Peak Cell Rate in Kbps"; + type uint32 { + range "48..25000"; + } + } + leaf ACR { + description + "Average cell rate in kbps"; + type uint32; + } + leaf Burst-cell-size { + description + " Burst cell size in number of cells"; + type uint32 { + range "1..65535"; + } + } + } + container vbr-nrt { + leaf PCR { + description + "Peak Cell Rate(PCR) in Kbps"; + type uint32 { + range "48..25000"; + } + } + leaf SCR { + description + "Sustainable Cell Rate(SCR) in Kbps"; + type uint32; + } + leaf MCR { + description + "Maximum Burst Size(MBS) in Cells"; + type uint32 { + range "1..65535"; + } + } + } + container oam-pvc { + presence "true"; + description + "Send oam cells on this pvc"; + leaf loopback-frequency { + description + "OAM loopback frequency(seconds)"; + type uint32 { + range "0..600"; + } + } + container manage { + presence "true"; + description + "Enable VC management"; + leaf loopback-freq { + description + " OAM loopback frequency(seconds)"; + type uint32 { + range "0..600"; + } + } + } + } + container oam { + description + "Configure oam parameters"; + container retry { + presence "true"; + leaf retry-count-UP { + description + "OAM retry count before declaring a VC is up"; + type uint32 { + range "1..600"; + } + } + leaf retry-count-DOWN { + description + "OAM retry count before declaring a VC is down"; + type uint32 { + range "1..600"; + } + } + leaf retry-poll-freq { + description + "OAM retry polling frequency"; + type uint32 { + range "1..1000"; + } + } + } + } + container encapsulation-pvc { + description + "pvc encapsulation types"; + choice encapsulation-choice { + container aal5autoppp { + description + "Cisco AUTO PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + } + container aal5ciscoppp { + description + "Cisco PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + } + container aal5mux { + description + "AAL5+MUX Encapsulation"; + choice aal5mux-choice { + container ppp { + description + "VC MUX PPP over AAL5 Encapsulation"; + choice ppp { + leaf Virtual-Template { + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + leaf dialer { + description + "pvc is part of dialer profile"; + type empty; + } + } + } + leaf pppoe-client { + description + "PPPoE client over ATM"; + type empty; + } + leaf ip { + description + "IP"; + type empty; + } + } + } + leaf aal5nlpid { + description + "AAL5+NLPID Encapsulation"; + type empty; + } + leaf aal5snap { + description + "AAL5+LLC/SNAP Encapsulation"; + type empty; + } + } + } + container pvc-encapsulation { + status deprecated; + description + "pvc encapsulation types"; + choice encapsulation-choice { + status deprecated; + container aal5autoppp { + status deprecated; + description + "Cisco AUTO PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + } + container aal5ciscoppp { + status deprecated; + description + "Cisco PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + } + container aal5mux { + status deprecated; + description + "AAL5+MUX Encapsulation"; + container ppp { + status deprecated; + description + "VC MUX PPP over AAL5 Encapsulation"; + choice ppp { + status deprecated; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + leaf dialer { + status deprecated; + description + "pvc is part of dialer profile"; + type empty; + } + } + } + leaf pppoe-client { + status deprecated; + description + "PPPoE client over ATM"; + type empty; + } + leaf ip { + status deprecated; + description + "IP"; + type empty; + } + } + leaf aal5nlpid { + status deprecated; + description + "AAL5+NLPID Encapsulation"; + type empty; + } + leaf aal5snap { + status deprecated; + description + "AAL5+LLC/SNAP Encapsulation"; + type empty; + } + } + } + container encapsulation { + status deprecated; + description + "encapsulation type for pvc, has been DEPRECATED. + Use pvc-encapsulation container"; + container aal5autoppp { + status deprecated; + description + "Cisco AUTO PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32; + } + } + container aal5ciscoppp { + status deprecated; + description + "Cisco PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32; + } + } + container aal5mux { + status deprecated; + description + "AAL5+MUX Encapsulation"; + container ppp { + status deprecated; + description + "VC MUX PPP over AAL5 Encapsulation"; + leaf Virtual-Template { + status deprecated; + description + "Virtual-Template interface number"; + type uint32 { + range "0..4095"; + } + } + leaf dialer { + status deprecated; + description + "pvc is part of dialer profile"; + type empty; + } + } + leaf ip { + status deprecated; + description + "IP"; + type empty; + } + } + leaf aal5nlpid { + status deprecated; + description + " AAL5+NLPID Encapsulation"; + type empty; + } + leaf aal5snap { + status deprecated; + description + "AAL5+LLC/SNAP Encapsulation"; + type empty; + } + } + container bridge-dot1q { + description + "Bridge packets received on vlanid1 and add dot1 header with vlanid2"; + leaf encap { + description + "Encapsulation of 802.1q header"; + type uint32 { + range "1..4094"; + } + } + } + container protocol { + description + "Map an upper layer protocol to this connection"; + container ppp { + description + "'protocol ppp' is only valid with AAL5 SNAP Encapsulation"; + when "not (../../encapsulation-pvc/aal5autoppp or ../../encapsulation-pvc/aal5ciscoppp or + ../../encapsulation-pvc/aal5mux or ../../encapsulation-pvc/aal5nlpid)"; + leaf Virtual-Template { + description + "Virtual Template interface"; + type uint32 { + range "1..4095"; + } + } + leaf dialer { + description + "pvc is part of dialer profile"; + type empty; + } + } + } + container dialer { + description + "set dialer pool this pvc belongs to"; + leaf pool-member { + description + "Specify dialer pool membership"; + type uint16 { + range "1..255"; + } + } + } + uses ios-l2vpn:config-interface-efp-xconnect-grouping; + uses ios-pppoe:config-pppoe-grouping; + uses ios-pppoe:config-pppoe-client-grouping; + } + uses ios-pppoe:config-pppoe-session-grouping; + uses ios-l2vpn:config-interface-efp-xconnect-grouping; + } + + grouping config-acr-grouping { + list acr { + description + "ACR"; + key "number"; + leaf number { + type uint8; + } + leaf type { + type enumeration { + enum CH-OC3; + } + } + } + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-atm-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM" { + uses config-interface-atm-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-ACR" { + uses config-interface-atm-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-ACRsubinterface/ios:ATM-ACR" { + uses config-interface-atm-grouping; + } + + augment "/ios:native/ios:interface/ios:CEM" { + uses config-interface-atm-grouping; + } + + augment "/ios:native/ios:interface/ios:CEM-ACR" { + uses config-interface-atm-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-avb.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-avb.yang new file mode 100644 index 000000000..976a5e031 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-avb.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XE-avb { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-avb"; + prefix ios-avb; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Audio Video Bridge Yang Model. + Copyright (c) 2016-2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-09-19 { + description + "Initial revision"; + } + + grouping config-avb-grouping { + leaf strict { + type empty; + } + } + + augment "/ios:native/ios:avb" { + uses config-avb-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bba-group.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bba-group.yang new file mode 100644 index 000000000..eed70181c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bba-group.yang @@ -0,0 +1,128 @@ +module Cisco-IOS-XE-bba-group { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bba-group"; + prefix ios-bba; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Broadband Aggregation (BBA) group Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + " + - Provided pppoe Service profile support"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-bba-group-grouping { + container bba-group { + description + "Configure BBA Group"; + list pppoe { + description + "PPPoE type"; + key "id"; + leaf id { + type union { + type string; + type enumeration { + enum global; + } + } + } + container vendor-tag { + description + "PPPoE Vendor Specific Tag"; + container circuit-id { + description + "Circuit-Id"; + leaf service { + description + "Enable processing"; + type empty; + } + } + container dsl-sync-rate { + description + "DSL-Sync-Rate"; + leaf service { + description + "Enable processing"; + type empty; + } + } + container remote-id { + description + "Remote-Id"; + leaf service { + description + "Enable processing"; + type empty; + } + } + leaf strip { + description + "Strip all vendor tags"; + type empty; + } + } + leaf virtual-template { + description + "BBA virtual template command"; + type uint16 { + range "1..4095"; + } + } + container service { + description + "Services to be associated with this group"; + leaf profile { + description + "Subscriber profile to be associated with this group"; + type string { + length "1..230"; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-bba-group-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bbu-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bbu-oper.yang new file mode 100644 index 000000000..15e659181 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bbu-oper.yang @@ -0,0 +1,480 @@ +module Cisco-IOS-XE-bbu-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bbu-oper"; + prefix bbu-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE Battery Backup Unit operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bbu-module-presence-status { + type enumeration { + enum bbums-unknown { + value 0; + description + "Module presence status unknown"; + } + enum bbums-absent { + value 1; + description + "Module presence status absent"; + } + enum bbums-ready { + value 2; + description + "Module presence status ready"; + } + } + description + "Battery Backup Unit module presence status"; + } + + typedef bbu-battery-state { + type enumeration { + enum bs-unknown { + value 0; + description + "Battery state unknown"; + } + enum bs-error { + value 1; + description + "Battery state error"; + } + enum bs-bad-cell { + value 2; + description + "Battery state bad cell"; + } + enum bs-charging { + value 3; + description + "Battery state charging"; + } + enum bs-discharging { + value 4; + description + "Battery state discharging"; + } + enum bs-full { + value 5; + description + "Battery state full"; + } + enum bs-empty { + value 6; + description + "Battery state empty"; + } + enum bs-idle { + value 7; + description + "Battery state idle"; + } + } + description + "Battery Backup Unit battery state"; + } + + typedef bbu-charge-discharge-status { + type enumeration { + enum bbucds-enabled { + value 0; + description + "Charge and discharge status enabled"; + } + enum bbucds-disabled { + value 1; + description + "Charge and discharge status disabled"; + } + } + description + "Battery Backup Unit charge and discharge status"; + } + + typedef bbu-category { + type enumeration { + enum bbuc-li-ion { + value 0; + description + "Battery Backup Unit category Li-ion"; + } + enum bbuc-unknown { + value 1; + description + "Battery Backup Unit category unknown"; + } + } + description + "Battery Backup Unit category"; + } + + grouping common-sprom-block-info { + description + "Battery Backup Unit Serial Programmable Read Only Memory block header"; + leaf oem { + type string; + description + "Original Equipment Manufacturer string"; + } + leaf product-number { + type string; + description + "Product number"; + } + leaf serial-number { + type string; + description + "Serial number"; + } + leaf part-number { + type string; + description + "Part number"; + } + leaf part-revision { + type string; + description + "Part revision"; + } + leaf hw-version { + type string; + description + "Hardware version"; + } + } + + grouping bbu-sprom-block-info { + description + "Battery Backup Unit specific Serial Programmable Read Only Memory block header"; + leaf vend-name { + type string; + description + "Vendor name"; + } + leaf prod-num { + type string; + description + "Product number"; + } + leaf rev-num { + type string; + description + "Revision number"; + } + leaf build-date { + type yang:date-and-time; + description + "Buid date"; + } + leaf build-ver { + type string; + description + "Build version"; + } + leaf category { + type bbu-ios-xe-oper:bbu-category; + description + "Battery Backup Unit category"; + } + leaf num-of-cells-in-series { + type uint16; + description + "Number of cells in series"; + } + leaf num-of-cells-in-parallel { + type uint16; + description + "Number of cells in parallel"; + } + leaf min-discharge-temp { + type uint16; + units "Kelvin"; + description + "Minimum discharge temperature"; + } + leaf max-discharge-temp { + type uint16; + units "Kelvin"; + description + "Maximum discharge temperature"; + } + leaf min-charging-temp { + type uint16; + units "Kelvin"; + description + "Minimum charging temperature"; + } + leaf max-charging-temp { + type uint16; + units "Kelvin"; + description + "Maximum charging temperature"; + } + leaf output-curr-max { + type uint16; + units "milliAmper"; + description + "Maximum output current"; + } + leaf output-voltage-max { + type uint16; + units "milliVoltage"; + description + "Maximum output voltage"; + } + } + + grouping sprom-bbu-info { + description + "Battery Backup Unit Serial Programmable Read Only Memory information"; + leaf bbu-index { + type uint8; + description + "Battery Backup Unit index"; + } + container common-sprom-block-info { + description + "Common Serial Programmable Read Only Memory block information"; + uses bbu-ios-xe-oper:common-sprom-block-info; + } + container bbu-sprom-block-info { + description + "Battery Backup Unit specific Serial Programmable Read Only Memory block information"; + uses bbu-ios-xe-oper:bbu-sprom-block-info; + } + } + + grouping bbu-unit-info { + description + "Battery Backup Unit information"; + leaf bbu-index { + type uint8; + description + "Battery Backup Unit index"; + } + leaf battery-state { + type bbu-ios-xe-oper:bbu-battery-state; + description + "Battery Backup Unit battery state"; + } + leaf unit-status { + type bbu-ios-xe-oper:bbu-charge-discharge-status; + description + "Battery Backup Unit index unit status"; + } + leaf charge-level { + type uint8; + units "percentage"; + description + "Battery Backup Unit index charge level"; + } + leaf tte-time { + type yang:date-and-time; + description + "The estimated time when battery will be empty."; + } + leaf cap-remain { + type uint16; + units "milliAmperHour"; + description + "Remaining capacity"; + } + leaf full-charge-cap { + type uint16; + units "milliAmperHour"; + description + "Full charge capacity"; + } + leaf voltage { + type uint16; + units "milliVoltage"; + description + "Battery Backup Unit voltage"; + } + leaf current { + type uint16; + units "milliAmper"; + description + "Battery Backup Unit current"; + } + leaf temp { + type uint16; + units "Degree Celsius"; + description + "Battery Backup Unit temperature"; + } + leaf fw-version { + type uint16; + description + "Battery Backup Unit firmware version"; + } + } + + grouping bbu-hw-pins-info { + description + "Battery Backup Unit hardware pins information"; + leaf present-pin { + type uint8; + description + "Battery Backup Unit hardware present pin"; + } + leaf ready-state-pin { + type uint8; + description + "Battery Backup Unit hardware ready state pin"; + } + leaf ready-bit-pin { + type uint8; + description + "Battery Backup Unit hardware ready bit pin"; + } + leaf interrupt-pin { + type uint8; + description + "Battery Backup Unit hardware interrupt pin"; + } + leaf reset-pin { + type uint8; + description + "Battery Backup Unit hardware reset pin"; + } + leaf ac-pin { + type uint8; + description + "Battery Backup Unit hardware Alternating Current pin"; + } + } + + grouping bbu-fw-oper-data { + description + "Battery Backup Unit firmware data"; + leaf needs-fw-upgrade { + type boolean; + description + "Battery Backup Unit needs to do firmware upgrade"; + } + leaf fw-upgrade-failures { + type int64; + description + "Battery Backup Unit the count of failing to do the firmware upgrade"; + } + } + + grouping bbu-oper-info { + description + "Battery Backup Unit Information"; + leaf avg-charge-level { + type uint8; + description + "Battery Backup Unit average charge level"; + } + leaf avg-low-level { + type boolean; + description + "Battery Backup Unit average low level"; + } + leaf tran-mode { + type boolean; + description + "Battery Backup Unit in transportation mode"; + } + container bbu-fw-data { + description + "Battery Backup Unit firmware data"; + uses bbu-ios-xe-oper:bbu-fw-oper-data; + } + container bbu-hw-pins-info { + description + "Battery Backup Unit hardware pins information"; + uses bbu-ios-xe-oper:bbu-hw-pins-info; + } + leaf bbu-number { + type uint8; + description + "Total number of Battery Backup Unit"; + } + list bbu-unit-info { + max-elements 4; + description + "Battery Backup Unit unit information"; + uses bbu-ios-xe-oper:bbu-unit-info; + } + list bbu-sprom-info { + max-elements 4; + description + "Battery Backup Unit Serial Programmable Read Only Memory information"; + uses bbu-ios-xe-oper:sprom-bbu-info; + } + } + + grouping bbu-data { + description + "Battery Backup Unit data"; + leaf status { + type bbu-ios-xe-oper:bbu-module-presence-status; + description + "Battery Backup Unit presence status"; + } + leaf collect-time { + type yang:date-and-time; + description + "It is the timestamp when Battery Backup Unit data was collected."; + } + container bbu-info { + when "../status = 'bbums-ready'"; + description + "Battery Backup Unit information"; + uses bbu-ios-xe-oper:bbu-oper-info; + } + } + + container bbu-oper-data { + config false; + description + "Battery Backup Unit operational data"; + container bbu-data { + presence "bbu-data"; + description + "Battery Backup Unit data"; + uses bbu-ios-xe-oper:bbu-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd-oper.yang new file mode 100644 index 000000000..fa30b0468 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd-oper.yang @@ -0,0 +1,788 @@ +module Cisco-IOS-XE-bfd-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bfd-oper"; + prefix bfd-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for BFD neighbor monitoring. + Copyright (c) 2016-2019, 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-11-01 { + description + "- Added BFD session state info and session neighbor details"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-03-01 { + description + "- Added session state info and session neighbor details"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-09-10 { + description + "Enumeration renaming"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bfd-oper-session-type { + type enumeration { + enum ipv4 { + value 0; + } + enum ipv6 { + value 1; + } + enum vccv { + value 2; + } + enum mpls-tp { + value 3; + } + enum ipv4-multihop { + value 4; + } + enum ipv6-multihop { + value 5; + } + enum poch-ipv4 { + value 6; + description + "Port Channel IPV4 client"; + } + } + description + "BFD session type"; + } + + typedef bfd-remote-state-type { + type enumeration { + enum remote-up { + value 0; + } + enum remote-down { + value 1; + } + enum remote-init { + value 2; + } + enum remote-admindown { + value 3; + } + enum remote-invalid { + value 4; + } + } + description + "BFD remote state type"; + } + + typedef bfd-state-type { + type enumeration { + enum admindown { + value 0; + } + enum down { + value 1; + } + enum fail { + value 2; + } + enum init { + value 3; + } + enum up { + value 4; + } + enum invalid { + value 5; + } + } + description + "BFD state type"; + } + + typedef bfd-lsp-type { + type enumeration { + enum working { + value 0; + } + enum protect { + value 1; + } + enum unknown { + value 2; + } + } + description + "BFD LSP type"; + } + + typedef bfd-diag-state { + type enumeration { + enum bfd-diag-no-diag { + value 0; + description + "No failure"; + } + enum bfd-diag-ctrl-time-exp { + value 1; + description + "Control time expired"; + } + enum bfd-diag-echo-failed { + value 2; + description + "Echo failed"; + } + enum bfd-diag-nbr-signaled-down { + value 3; + description + "Neighbor session down"; + } + enum bfd-diag-fwd-plane-reset { + value 4; + description + "Forwarding plane in the local system is reset for some reason"; + } + enum bfd-diag-path-down { + value 5; + description + "The underlying path has failed"; + } + enum bfd-diag-concat-path-down { + value 6; + description + "Forward path failure"; + } + enum bfd-diag-admin-down { + value 7; + description + "Entering the administratively down state and sending an explanatory diagnostic code"; + } + enum bfd-diag-rev-concat-path-down { + value 8; + description + "Reverse path failure"; + } + enum bfd-diag-not-valid { + value 9; + description + "Not valid diag"; + } + } + description + "BFD diag state to identify failure"; + } + + typedef bfd-session-host { + type enumeration { + enum bfd-host-software { + value 0; + description + "BFD sessions host software"; + } + enum bfd-host-hardware { + value 1; + description + "BFD sessions host hardware"; + } + enum bfd-host-unknown { + value 2; + description + "Unknown host"; + } + } + description + "BFD sessions host"; + } + + grouping bfd-neighbor-params { + description + "BFD neighbour parameters"; + leaf ld { + type uint32; + description + "Local discriminator"; + } + leaf rd { + type uint32; + description + "Remote discriminator"; + } + leaf remote-state { + type bfd-ios-xe-oper:bfd-remote-state-type; + description + "Remote Heard. RH state of BFD version '0' + is also mapped to up/down"; + } + leaf state { + type bfd-ios-xe-oper:bfd-state-type; + description + "BFD state"; + } + leaf remote-min-tx-int { + type uint32; + units "microseconds"; + description + "Configured received remote TX interval"; + } + leaf remote-min-rx-int { + type uint32; + units "microseconds"; + description + "Configured received remote RX interval"; + } + leaf remote-multiplier { + type uint32; + description + "Configured received remote multiplier value"; + } + leaf local-min-tx-int { + type uint32; + units "microseconds"; + description + "Configured transmit control packet interval"; + } + leaf local-min-rx-int { + type uint32; + units "microseconds"; + description + "Configured receive control packet interval"; + } + leaf local-multiplier { + type uint32; + description + "Configured local multiplier value"; + } + leaf local-diag { + type bfd-ios-xe-oper:bfd-diag-state; + description + "Local diag is used to identify the remote sessions failure"; + } + leaf remote-diag { + type bfd-ios-xe-oper:bfd-diag-state; + description + "Remote diag is used to identify the remote sessions failure"; + } + leaf session-host { + type bfd-ios-xe-oper:bfd-session-host; + description + "If the hardware limit is exceeded, then the sessions are hosted in software"; + } + leaf common-tx-interval { + type uint32; + units "microseconds"; + description + "Common negotiated interval value"; + } + leaf hold-down-interval { + type uint32; + units "microseconds"; + description + "Detect time expired timer"; + } + } + + grouping bfd-config-state { + description + "BFD config state"; + leaf if-name { + type string; + description + "Interface identifier of BFD session"; + } + leaf enabled { + type boolean; + description + "BFD session enable status"; + } + leaf ip { + type inet:ip-address; + description + "Source IP address used for the BFD session"; + } + leaf desired-min-tx-int { + type uint32; + units "milliseconds"; + description + "BFD minimum transmit interval in msecs"; + } + leaf req-min-rx { + type uint32; + units "milliseconds"; + description + "BFD required minimum receive interval in msecs"; + } + leaf detect-mult { + type uint32; + description + "BFD detection interval multiplier"; + } + } + + grouping bfd-echo { + description + "BFD echo state"; + leaf active { + type boolean; + description + "BFD echo active state"; + } + leaf last-pak-tx { + type uint64; + units "nanoseconds"; + description + "The date and time at which the last BFD packet was transmitted for this session, expressed as the number of nanoseconds since the Unix epoch (January 1, 1970, 00:00 UTC)."; + } + leaf last-pak-rx { + type uint64; + units "nanoseconds"; + description + "The date and time at which the last BFD packet was received for this session, expressed as the number of nanoseconds since the Unix epoch (January 1, 1970, 00:00 UTC)."; + } + leaf tx-packets { + type uint64; + description + "Number of BFD echo packets transmitted"; + } + leaf rx-packets { + type uint64; + description + "Number of BFD echo packets received"; + } + leaf up-trans { + type uint64; + description + "Number of BFD session up transitions"; + } + } + + grouping bfd-async { + description + "BFD Async mode"; + leaf last-pak-tx { + type uint64; + units "nanoseconds"; + description + "The date and time at which the last BFD packet was transmitted for this session, expressed as the number of nanoseconds since the Unix epoch (January 1, 1970, 00:00 UTC)."; + } + leaf last-pak-rx { + type uint64; + units "nanoseconds"; + description + "The date and time at which the last BFD packet was received for this session, expressed as the number of nanoseconds since the Unix epoch (January 1, 1970, 00:00 UTC)."; + } + leaf tx-packets { + type uint64; + description + "Number of BFD control packets transmitted"; + } + leaf rx-packets { + type uint64; + description + "Number of BFD control packets received"; + } + leaf up-trans { + type uint64; + description + "Number of BFD session up transitions"; + } + } + + grouping bfd-peer-info { + description + "BFD peer state"; + leaf local-addr { + type inet:ip-address; + description + "BFD session source IP address"; + } + leaf rem-addr { + type inet:ip-address; + description + "BFD session remote IP address"; + } + leaf sess-state { + type bfd-ios-xe-oper:bfd-state-type; + description + "BFD session state"; + } + leaf rem-sess-state { + type bfd-ios-xe-oper:bfd-remote-state-type; + description + "BFD remote session state"; + } + leaf last-fail-time { + type uint64; + units "nanoseconds"; + description + "The time of the last transition of the BFD session out of the UP state, expressed as the number of nanoseconds since the Unix epoch (January 1, 1970, 00:00 UTC)."; + } + leaf fail-trans { + type uint64; + description + "Number of BFD session failure transitions"; + } + leaf local-discr { + type uint32; + description + "BFD session local discriminator"; + } + leaf rem-discr { + type uint32; + description + "BFD session remote discriminator"; + } + leaf local-diag-code { + type bfd-ios-xe-oper:bfd-diag-state; + description + "BFD session local diagnostic code"; + } + leaf rem-diag-code { + type bfd-ios-xe-oper:bfd-diag-state; + description + "BFD session remote diagnostic code"; + } + leaf rem-min-rx-int { + type uint32; + units "milliseconds"; + description + "BFD session remote minimum receive interval"; + } + leaf demand-mode-req { + type boolean; + description + "BFD session demand mode requested"; + } + leaf rem-auth-enabled { + type boolean; + description + "BFD session remote authentication enabled"; + } + leaf rem-ctrl-plane-ind { + type boolean; + description + "BFD session remote control plane independent"; + } + container echo { + description + "BFD session echo mode statistics"; + uses bfd-ios-xe-oper:bfd-echo; + } + container async { + description + "BFD session async mode statistics"; + uses bfd-ios-xe-oper:bfd-async; + } + } + + grouping bfd-peer-state { + description + "BFD session peer state"; + leaf local-discr { + type uint32; + description + "BFD session peer local discriminator key"; + } + container peer { + description + "BFD session peer key"; + uses bfd-ios-xe-oper:bfd-peer-info; + } + } + + grouping bfd-tunnel-path-key { + description + "BFD tunnel Path Key"; + leaf interface { + type string; + description + "Associated interface"; + } + leaf lsp-type { + type bfd-ios-xe-oper:bfd-lsp-type; + description + "LSP type"; + } + } + + grouping bfd-circuit-key { + description + "BFD circuit key"; + leaf interface { + type string; + description + "Associated interface"; + } + leaf vcid { + type uint32; + description + "Virtual circuit identifier"; + } + } + + grouping bfd-nbr-key { + description + "BFD Neighbor key"; + leaf ip { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf interface { + type string; + description + "Associated interface"; + } + } + + grouping mhop-nbr-key { + description + "BFD MHOP Neighbor key"; + leaf ip { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf src-ip { + type inet:ip-address; + description + "Source IP address"; + } + } + + grouping mhop-vrf-nbr-key { + description + "BFD MHOP VRF Neighbor key"; + leaf ip { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf vrf { + type string; + description + "Neighbor VFR"; + } + leaf src-ip { + type inet:ip-address; + description + "Source IP address"; + } + } + + grouping session-count-info { + description + "BFD sessions info"; + leaf max-sup-sw-sess { + type uint32; + description + "Maximum supported software sessions"; + } + leaf max-sup-hw-sess { + type uint32; + description + "Maximum supported hardware sessions"; + } + leaf total-session { + type uint32; + description + "Total sessions"; + } + leaf init-session { + type uint32; + description + "Init sessions"; + } + leaf down-session { + type uint32; + description + "Down sessions"; + } + leaf up-session { + type uint32; + description + "Up sessions"; + } + leaf admin-down-session { + type uint32; + description + "Admin down sessions"; + } + } + + grouping bfd-info { + description + "interface"; + leaf if-name { + type string; + description + "BFD interface name"; + } + container state { + description + "BFD operational state"; + uses bfd-ios-xe-oper:bfd-config-state; + } + list bfd-peer { + key "local-discr"; + description + "BFD peer"; + uses bfd-ios-xe-oper:bfd-peer-state; + } + } + + grouping bfd-session-v2 { + description + "BFD session data"; + leaf type { + type bfd-ios-xe-oper:bfd-oper-session-type; + description + "Session type"; + } + container bfd-tunnel-paths { + description + "BFD tunnel path information"; + list bfd-tunnel-path { + when "../../type='mpls-tp'"; + key "interface lsp-type"; + description + "List of BFD tunnel paths"; + uses bfd-ios-xe-oper:bfd-tunnel-path-key; + uses bfd-ios-xe-oper:bfd-neighbor-params; + } + } + container bfd-circuits { + description + "BFD circuit information"; + list bfd-circuit { + when "../../type='vccv'"; + key "interface vcid"; + description + "List of BFD circuits"; + uses bfd-ios-xe-oper:bfd-circuit-key; + uses bfd-ios-xe-oper:bfd-neighbor-params; + } + } + container bfd-nbrs { + description + "BFD neighbor information"; + list bfd-nbr { + when "../../type!='mpls-tp' and ../../type!='vccv'"; + key "ip interface"; + description + "List of BFD neighbors"; + uses bfd-ios-xe-oper:bfd-nbr-key; + uses bfd-ios-xe-oper:bfd-neighbor-params; + } + } + container bfd-mhop-nbrs { + description + "Multi hop neighbors for multi hop neighbor scenario + for global VRF (no VRF)"; + list bfd-mhop-nbr { + when "../../type='ipv4-multihop' or ../../type='ipv6-multihop'"; + key "ip src-ip"; + description + "List of MHOP neighbors"; + uses bfd-ios-xe-oper:mhop-nbr-key; + uses bfd-ios-xe-oper:bfd-neighbor-params; + } + } + container bfd-mhop-vrf-nbrs { + description + "Multi hop neighbors for multi hop neighbor scenario + with non-global VRF"; + list bfd-mhop-vrf-nbr { + when "../../type='ipv4-multihop' or ../../type='ipv6-multihop'"; + key "ip vrf src-ip"; + description + "List of multi hop neighbors"; + uses bfd-ios-xe-oper:mhop-vrf-nbr-key; + uses bfd-ios-xe-oper:bfd-neighbor-params; + } + } + } + + container bfd-state { + config false; + description + "BFD neighbor information"; + container sessions { + description + "BFD neighbor session information"; + list session { + key "type"; + description + "List of BFD sessions"; + uses bfd-ios-xe-oper:bfd-session-v2; + } + } + container bfd-session-info { + presence "bfd-session-info"; + description + "BFD sessions state information"; + uses bfd-ios-xe-oper:session-count-info; + } + list bfd-if { + key "if-name"; + description + "BFD interface information"; + uses bfd-ios-xe-oper:bfd-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd.yang new file mode 100644 index 000000000..ce81a2833 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bfd.yang @@ -0,0 +1,1112 @@ +module Cisco-IOS-XE-bfd { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bfd"; + prefix ios-bfd; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Bidirectional Forwarding Detection (BFD) Yang Model. + Copyright (c) 2016-2019, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added annotations for obsolete BFD Interface grouping interval + - container for Vmanage/NSO mapping of device side bfd template interval config"; + cisco-semver:module-version "3.0.1"; + } + revision 2024-03-01 { + description + "- Updated BFD Template deprecated model tailf annotations + - obsolete BFD Template Single-Hop and Multi-Hop grouping interval container deprecated nodes + - obsolete BFD Interface grouping interval container deprecated nodes + - Added BFD interface configuration support for Loopback interface"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support to Serial interface and Serial subinterface"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-07-01 { + description + "- Added new interval container and deprecated the previous one + - Deprecated interval-multihop and replaced it with interval-multihop-v2 + - Removed mandatory constraints from min-tx in interval-singlehop-v2 to avoid Yang Sync NSO Compilation failure. + - Added must statement to min-rx and min-tx. + - Added changes to display default multiplier in interval-singlehop-v2."; + cisco-semver:module-version "2.3.0"; + } + revision 2021-11-01 { + description + "- Added enable and local address leaf support for openconfig"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "- Added down-monitoring and threshold leaf"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added status deprecated for choice both-or-tx-rx"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added leafs for port-channel subinterface + - Interval containers with presence + - Change in bfd dampen suppress-time + - Modelled map command to accept multiple entries + - Add interface BD-VIF bfd"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-10-10 { + description + "Added dependency for interface bfd echo"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added 40 and 100GE augmentations"; + } + revision 2017-09-14 { + description + "Modify yang model for new 2gig interface addition"; + } + revision 2017-08-23 { + description + "Modify yang model for interval * command under bfd-template"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-20 { + description + "Add interface BDI bfd"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-bfd-grouping { + leaf template { + description + "BFD template"; + type string; + } + leaf enable { + description + "Enable BFD under the interface"; + type boolean; + default "true"; + } + leaf local-address { + type ios-types:ip-address-both; + description + "The Source IP address to be used for BFD sessions over this + interface."; + } + container interval-interface { + description + "Transmit interval between BFD packets"; + presence "true"; + leaf msecs { + mandatory true; + type uint16 { + range "50..9999"; + } + } + leaf min_rx { + description + "Minimum receive interval capability"; + mandatory true; + type uint16 { + range "50..9999"; + } + } + leaf multiplier { + description + "Multiplier value used to compute holddown"; + mandatory true; + type uint8 { + range "3..50"; + } + } + } + container interval { + status obsolete; + description + "Transmit interval between BFD packets"; + leaf msecs { + status obsolete; + type uint16 { + range "50..9999"; + } + } + leaf min_rx { + status obsolete; + description + "Minimum receive interval capability"; + type uint16 { + range "50..9999"; + } + } + leaf multiplier { + status obsolete; + description + "Multiplier value used to compute holddown"; + type uint8 { + range "3..50"; + } + } + } + leaf echo { + description + "Use echo adjunct as bfd detection mechanism"; + when '../interval-interface/multiplier'; + type boolean; + default "true"; + } + } + + grouping config-bfd-grouping { + leaf fast-timers-on-slow-interface { + description + "Allow fast timers on slow interfaces"; + type empty; + } + leaf l2cos { + description + "Value of L2 COS for BFD Pkts over VLAN interfaces"; + type uint8 { + range "0..6"; + } + } + container l3cos { + description + "L3 COS value to be used for BFD packets"; + leaf ipv6 { + description + "IPV6 L3 COS value"; + type uint8 { + range "0..7"; + } + } + } + grouping dest-ip { + leaf dest-ip { + description + "Destination IP prefix/len"; + type ios-types:ipv4-address-slash-prefix-len; + } + } + + grouping dest-ipv6 { + leaf dest-ipv6 { + description + "Destination IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + } + + grouping src-ip { + leaf src-ip { + description + "Source IP prefix/len"; + type ios-types:ipv4-address-slash-prefix-len; + } + } + + grouping src-ipv6 { + leaf src-ipv6 { + description + "Source IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + } + + grouping dst-vrf { + leaf dst-vrf { + description + "Destination VRF instance name"; + type string; + } + } + + grouping src-vrf { + leaf src-vrf { + description + "source VRF instance name"; + type string; + } + } + + grouping bfd-temp { + leaf template-name { + mandatory true; + description + "BFD template name"; + type string; + } + } + + container map { + description + "configure BFD map entry for multi-hop sessions"; + container ipv4-list-with-both-vrf { + description + "IPv4 Address Family with vrf"; + list ipv4 { + description + "IPv4 Address Family with vrf"; + key "dst-vrf dest-ip src-vrf src-ip"; + uses dst-vrf; + uses dest-ip; + uses src-vrf; + uses src-ip; + uses bfd-temp; + } + } + container ipv4-list-without-vrf { + description + "IPv4 Address Family with out vrf"; + list ipv4 { + description + "IPv4 Address Family with vrf"; + key "dest-ip src-ip"; + uses dest-ip; + uses src-ip; + uses bfd-temp; + } + } + container ipv4-list-with-src-vrf { + description + "IPv4 Address Family with source vrf"; + list ipv4 { + description + "IPv4 Address Family with vrf"; + key "dest-ip src-vrf src-ip"; + uses dest-ip; + uses src-vrf; + uses src-ip; + uses bfd-temp; + } + } + container ipv4-list-with-dst-vrf { + description + "IPv4 Address Family with destination vrf"; + list ipv4 { + description + "IPv4 Address Family with vrf"; + key "dst-vrf dest-ip src-ip"; + uses dst-vrf; + uses dest-ip; + uses src-ip; + uses bfd-temp; + } + } + container ipv6-list-with-both-vrf { + description + "IPv6 Address Family with vrf"; + list ipv6 { + description + "IPv6 Address Family with vrf"; + key "dst-vrf dest-ipv6 src-vrf src-ipv6"; + uses dst-vrf; + uses dest-ipv6; + uses src-vrf; + uses src-ipv6; + uses bfd-temp; + } + } + container ipv6-list-without-vrf { + description + "IPv6 Address Family with out vrf"; + list ipv6 { + description + "IPv6 Address Family with vrf"; + key "dest-ipv6 src-ipv6"; + uses dest-ipv6; + uses src-ipv6; + uses bfd-temp; + } + } + container ipv6-list-with-src-vrf { + description + "IPv6 Address Family with source vrf"; + list ipv6 { + description + "IPv6 Address Family with vrf"; + key "dest-ipv6 src-vrf src-ipv6"; + uses dest-ipv6; + uses src-vrf; + uses src-ipv6; + uses bfd-temp; + } + } + container ipv6-list-with-dst-vrf { + description + "IPv6 Address Family with destination vrf"; + list ipv6 { + description + "IPv6 Address Family with vrf"; + key "dst-vrf dest-ipv6 src-ipv6"; + uses dst-vrf; + uses dest-ipv6; + uses src-ipv6; + uses bfd-temp; + } + } + container ipv4 { + status obsolete; + description + "IPv4 Address Family"; + container no-vrf { + status obsolete; + leaf dest-ip { + status obsolete; + type inet:ipv4-prefix; + } + leaf src-ip { + status obsolete; + type inet:ipv4-prefix; + } + leaf template-name { + status obsolete; + type string; + } + } + container vrf { + status obsolete; + description + "Destination VRF name"; + list dst-vrf { + status obsolete; + key "dst-vrf"; + leaf dst-vrf { + status obsolete; + description + "Destination VRF instance name"; + type string; + } + leaf A_PERIOD_B_PERIOD_C_PERIOD_D_SLASH_nn { + status obsolete; + description + "Destination IP prefix/len"; + type empty; + } + } + } + } + container ipv6 { + status obsolete; + description + "IPv6 Address Family"; + list dp-ipv6_prefix { + status obsolete; + key "dp-ipv6_prefix"; + leaf dp-ipv6_prefix { + status obsolete; + description + "Destination IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + leaf bfd-nm { + status obsolete; + description + "bfd template name"; + type string; + } + list src-ipv6_prefix0 { + status obsolete; + key "src-ipv6_prefix0"; + leaf src-ipv6_prefix0 { + status obsolete; + description + "Source IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + leaf bfd-name { + status obsolete; + description + "bfd template name"; + type string; + } + } + container vrf { + status obsolete; + description + "Source VRF name"; + list src-vrf { + status obsolete; + key "src-vrf"; + leaf src-vrf { + status obsolete; + description + "Source VRF instance name"; + type string; + } + leaf src-ipv6_prefix { + status obsolete; + description + "Source IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + } + } + } + container vrf { + status obsolete; + description + "Destination VRF name"; + list dst-vrf { + status obsolete; + key "dst-vrf"; + leaf dst-vrf { + status obsolete; + description + "Destination VRF instance name"; + type string; + } + leaf dst-ipv6_prefix { + status obsolete; + description + "Destination IPv6 prefix/len"; + type ios-types:ipv6-prefix; + } + } + } + } + } + leaf slow-timers { + description + "Value in ms to use for slow timers"; + type uint16 { + range "1000..30000"; + } + } + container snmp { + description + "Provides snmp related information that are specific to BFD"; + container traps { + description + "Provides traps related information"; + leaf more { + description + "Provides additional variable bindings along with the traps"; + type empty; + } + } + } + } + + typedef range-type { + type union { + type uint32 { + range "4..9999"; + } + type uint32 { + range "3300..9999000"; + } + } + } + + typedef lrange-type { + type uint32 { + range "4..9999"; + } + } + + typedef mrange-type { + type uint32 { + range "3300..9999000"; + } + } + + grouping config-bfd-template-authentication-grouping { + container authentication { + description + "Authentication type"; + choice auth-type { + case md5 { + container md5 { + leaf keychain { + description + "keychain name"; + type string; + } + } + } + case meticulous-md5 { + container meticulous-md5 { + description + "Meticulous Keyed md5"; + leaf keychain { + description + "keychain name"; + type string; + } + } + } + case meticulous-sha-1 { + container meticulous-sha-1 { + description + "Meticulous Keyed sha-1"; + leaf keychain { + description + "keychain name"; + type string; + } + } + } + case sha-1 { + container sha-1 { + description + "Keyed sha-1"; + leaf keychain { + description + "keychain name"; + type string; + } + } + } + } + } + } + + grouping config-bfd-template-dampening-grouping { + container dampening { + description + "Enable session dampening"; + presence "true"; + leaf half-time { + description + "Half-life time for the penalty"; + type uint8 { + range "1..30"; + } + } + leaf unsuppress-time { + description + "Value to unsuppress a session"; + type uint16 { + range "1..18000"; + } + } + leaf suppress-time { + description + "Value to start suppressing a session"; + type uint16 { + range "1..18000"; + } + } + leaf max-suppressing-time { + description + "Maximum duration to suppress a session"; + type uint16 { + range "1..420"; + } + } + leaf threshold { + if-feature "ios-features:bfd-dm"; + description + "Stability threshold to enter dampening in down dampened state(seconds)"; + type uint16 { + range "60..3600"; + } + } + leaf down-monitoring { + if-feature "ios-features:bfd-dm"; + description + "down monitoring"; + type empty; + } + } + } + + grouping config-bfd-template-echo-grouping { + leaf echo { + description + "Use echo adjunct as bfd detection mechanism"; + type empty; + } + } + + grouping config-bfd-template-grouping { + list single-hop { + description + "Single-hop template"; + key "name"; + leaf name { + type string; + } + container interval-singlehop-v2 { + description + "Transmit interval between BFD packets"; + choice units { + case unit-ms { + container ms-unit { + leaf microseconds { + description + "Specify BFD timers in microseconds"; + mandatory true; + type empty; + } + choice interval-types { + case both { + leaf both { + description + "Minimum transmit and receive interval capability"; + type mrange-type; + } + } + case tx-rx { + leaf min-tx { + description + "Minimum transmit interval capability"; + must '../min-rx'; + type mrange-type; + } + leaf min-rx { + description + "Minimum receive interval capability"; + must '../min-tx'; + type mrange-type; + } + } + } + leaf multiplier { + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + } + case unit-mill { + container mill-unit { + choice interval-types { + case both { + leaf both { + description + "Minimum transmit and receive interval capability"; + type lrange-type; + } + } + case tx-rx { + leaf min-tx { + description + "Minimum transmit interval capability"; + must '../min-rx'; + type lrange-type; + } + leaf min-rx { + description + "Minimum receive interval capability"; + must '../min-tx'; + type lrange-type; + } + } + } + leaf multiplier { + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + } + } + } + container interval-singlehop { + status deprecated; + description + "Deprecated: use interval-singlehop-v2 instead"; + presence "true"; + leaf microseconds { + status deprecated; + description + "Specify BFD timers in microseconds"; + type empty; + } + leaf min-tx { + status deprecated; + description + "Minimum transmit interval capability"; + mandatory true; + type range-type; + } + leaf min-rx { + status deprecated; + description + "Minimum receive interval capability"; + mandatory true; + type range-type; + } + leaf multiplier { + status deprecated; + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + container interval { + status obsolete; + description + "Deprecated: use interval-singlehop-v2 instead"; + leaf microseconds { + status obsolete; + description + "Specify BFD timers in microseconds"; + type empty; + } + choice both-or-tx-rx { + status obsolete; + case both { + status obsolete; + leaf both { + status obsolete; + description + "Minimum transmit and receive interval capability"; + type range-type; + } + } + case tx-rx { + status obsolete; + leaf min-tx { + status obsolete; + description + "Minimum transmit interval capability"; + type range-type; + } + leaf min-rx { + status obsolete; + description + "Minimum receive interval capability"; + type range-type; + } + } + } + leaf multiplier { + status obsolete; + description + "Multiplier value used to compute holddown"; + type uint8 { + range "3..50"; + } + } + } + uses config-bfd-template-authentication-grouping; + uses config-bfd-template-dampening-grouping; + uses config-bfd-template-echo-grouping; + } + list multi-hop { + description + "Multi-hop template"; + key "name"; + leaf name { + type string; + } + container interval-multihop-v2 { + description + "Transmit interval between BFD packets"; + choice units { + case unit-ms { + container ms-unit { + leaf microseconds { + description + "Specify BFD timers in microseconds"; + mandatory true; + type empty; + } + choice interval-types { + case both { + leaf both { + description + "Minimum transmit and receive interval capability"; + type mrange-type; + } + } + case tx-rx { + leaf min-tx { + description + "Minimum transmit interval capability"; + must '../min-rx'; + type mrange-type; + } + leaf min-rx { + description + "Minimum receive interval capability"; + must '../min-tx'; + type mrange-type; + } + } + } + leaf multiplier { + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + } + case unit-mill { + container mill-unit { + choice interval-types { + case both { + leaf both { + description + "Minimum transmit and receive interval capability"; + type lrange-type; + } + } + case tx-rx { + leaf min-tx { + description + "Minimum transmit interval capability"; + must '../min-rx'; + type lrange-type; + } + leaf min-rx { + description + "Minimum receive interval capability"; + type lrange-type; + must '../min-tx'; + } + } + } + leaf multiplier { + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + } + } + } + container interval-multihop { + status deprecated; + description + "Deprecated: use interval-multihop-v2 instead"; + presence "true"; + leaf microseconds { + status deprecated; + description + "Specify BFD timers in microseconds"; + type empty; + } + leaf min-tx { + status deprecated; + description + "Minimum transmit interval capability"; + mandatory true; + type range-type; + } + leaf min-rx { + status deprecated; + description + "Minimum receive interval capability"; + mandatory true; + type range-type; + } + leaf multiplier { + status deprecated; + description + "Multiplier value used to compute holddown"; + default "3"; + type uint8 { + range "3..50"; + } + } + } + container interval { + status obsolete; + description + "Deprecated: use interval-multihop-v2 instead"; + leaf microseconds { + status obsolete; + description + "Specify BFD timers in microseconds"; + type empty; + } + choice both-or-tx-rx { + status obsolete; + case both { + status obsolete; + leaf both { + status obsolete; + description + "Minimum transmit and receive interval capability"; + type range-type; + } + } + case tx-rx { + status obsolete; + leaf min-tx { + status obsolete; + description + "Minimum transmit interval capability"; + type range-type; + } + leaf min-rx { + status obsolete; + description + "Minimum receive interval capability"; + type range-type; + } + } + } + leaf multiplier { + status obsolete; + description + "Multiplier value used to compute holddown"; + type uint8 { + range "3..50"; + } + } + } + uses config-bfd-template-authentication-grouping; + uses config-bfd-template-dampening-grouping; + uses config-bfd-template-echo-grouping; + } + } + + augment "/ios:native/ios:bfd" { + uses config-bfd-grouping; + } + + augment "/ios:native/ios:bfd-template" { + uses config-bfd-template-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:bfd" { + uses config-interface-bfd-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:bfd" { + uses config-interface-bfd-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-actions-rpc.yang new file mode 100644 index 000000000..fddeed328 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-actions-rpc.yang @@ -0,0 +1,78 @@ +module Cisco-IOS-XE-bgp-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bgp-actions-rpc"; + prefix bgp-ios-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for BGP RPC action data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bgp-gshut-client-enum { + type enumeration { + enum gshut-vrfs { + value 0; + description + "BGP graceful shutdown across VRF neighbors in BGP session"; + } + enum gshut-neighbors { + value 1; + description + "BGP graceful shutdown for all neighbors"; + } + } + description + "BGP graceful shutdown client"; + } + + grouping bgp-gshut-activate-type { + description + "Activate BGP graceful shutdown on BGP neighbors"; + leaf client { + type bgp-ios-actions-rpc:bgp-gshut-client-enum; + mandatory true; + description + "Activate graceful shutdown across all neighbors or only across VRF neighbors for BGP sessions"; + } + } + + rpc bgp-gshut-activate-cmd { + description + "BGP graceful shutdown activate RPC"; + input { + uses bgp-ios-actions-rpc:bgp-gshut-activate-type; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-common-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-common-oper.yang new file mode 100644 index 000000000..123beef89 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-common-oper.yang @@ -0,0 +1,224 @@ +module Cisco-IOS-XE-bgp-common-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bgp-common-oper"; + prefix bgp-common-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + common for all bgp operational data. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef afi-safi { + type enumeration { + enum ipv4-mdt { + value 0; + description + "IPv4 MDT address family"; + } + enum ipv4-multicast { + value 1; + description + "IPv4 Multicast address family"; + } + enum ipv4-unicast { + value 2; + description + "IPv4 Unicast address family"; + } + enum ipv4-mvpn { + value 3; + description + "IPV4 MVPN address family"; + } + enum ipv4-flowspec { + value 4; + description + "IPv4 Flowspec address family"; + } + enum ipv6-multicast { + value 5; + description + "IPv6 Multicast address family"; + } + enum ipv6-unicast { + value 6; + description + "IPv6 Unicast address family"; + } + enum ipv6-mvpn { + value 7; + description + "IPv6 MVPN address family"; + } + enum ipv6-flowspec { + value 8; + description + "IPv6 Flowspec address family"; + } + enum l2vpn-vpls { + value 9; + description + "L2VPN VPLS address family"; + } + enum l2vpn-e-vpn { + value 10; + description + "L2VPN EVPN address family"; + } + enum nsap-unicast { + value 11; + description + "NSAP Unicast address family"; + } + enum rtfilter-unicast { + value 12; + description + "RT Filter Unicast address family"; + } + enum vpnv4-multicast { + value 13; + description + "VPNv4 Multicast address family"; + } + enum vpnv4-unicast { + value 14; + description + "VPNv4 Unicast address family"; + } + enum vpnv6-unicast { + value 15; + description + "VPNv6 Unicast address family"; + } + enum vpnv6-multicast { + value 16; + description + "VPNv6 Multicast address family"; + } + enum vpnv4-flowspec { + value 17; + description + "VPNv4 Flowspec address family"; + } + enum vpnv6-flowspec { + value 18; + description + "VPNv6 Flowspec address family"; + } + } + description + "Base identity from which identities + describing address families are derived. + This identity represents IPv4 address family"; + } + + typedef tcp-fsm-state { + type enumeration { + enum closed { + value 0; + description + "no connection"; + } + enum listen { + value 1; + description + "Waiting for a connection request from any remote TCP"; + } + enum synsent { + value 2; + description + "Waiting for a matching connection request + after having sent a connection request"; + } + enum synrcvd { + value 3; + description + "Waiting for a confirming connection request acknowledgment + after having both received and sent a connection request"; + } + enum established { + value 4; + description + "connection established"; + } + enum finwait1 { + value 5; + description + "Waiting for a connection termination request + from the remote TCP, or an acknowledgment of + the connection termination request previously sent"; + } + enum finwait2 { + value 6; + description + "Waiting for a connection termination request from the + remote TCP"; + } + enum closewait { + value 7; + description + "Waiting for a connection termination request from + the local use"; + } + enum lastack { + value 8; + description + "Waiting for an acknowledgment of the connection termination + request previously sent to the remote TCP"; + } + enum closing { + value 9; + description + "Waiting for a connection termination request acknowledgment + from the remote"; + } + enum timewait { + value 10; + description + "waiting for enough time to pass to be sure the remote TCP + received the acknowledgment of its connection termination request"; + } + } + description + "TCP state machine states"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-oper.yang new file mode 100644 index 000000000..d482ea5a6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-oper.yang @@ -0,0 +1,1132 @@ +module Cisco-IOS-XE-bgp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bgp-oper"; + prefix bgp-ios-xe-oper; + + import Cisco-IOS-XE-bgp-common-oper { + prefix bgp-common-ios-xe-oper; + } + import Cisco-IOS-XE-bgp-route-oper { + prefix bgp-route-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for bgp operational data. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "Added Peer Policy template"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "Added neighbor EVPN encapsulation preference."; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2019-05-01 { + description + "- Added AO leaf descriptions. + - Added semantic version"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2017-09-25 { + description + "Properly indicated leaf-list ordering"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2017-05-12 { + description + "Added the BGP RD description"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-04-01 { + description + "Top level container name change. Enumeration name changes."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bgp-link { + type enumeration { + enum internal { + value 0; + description + "iBGP neighbors"; + } + enum external { + value 1; + description + "eBGP neighbors"; + } + } + description + "Operational state relevant to bgp global neighbor"; + } + + typedef bgp-fsm-state { + type enumeration { + enum fsm-idle { + value 0; + description + "neighbor is in Idle state"; + } + enum fsm-connect { + value 1; + description + "neighbor is in Connect state"; + } + enum fsm-active { + value 2; + description + "neighbor is in Active state"; + } + enum fsm-opensent { + value 3; + description + "neighbor is in OpenSent state"; + } + enum fsm-openconfirm { + value 4; + description + "neighbor is in OpenConfirm state"; + } + enum fsm-established { + value 5; + description + "neighbor is in Established state"; + } + enum fsm-nonnegotiated { + value 6; + description + "neighbor is Non Negotiated"; + } + } + description + "BGP FSM State"; + } + + typedef bgp-mode { + type enumeration { + enum mode-active { + value 0; + description + "active connection"; + } + enum mode-passive { + value 1; + description + "passive connection"; + } + } + description + "BGP mode"; + } + + typedef bgp-encaps-pref { + type enumeration { + enum encaps-pref-unset { + value 0; + description + "Encapsulation preference is not set"; + } + enum encaps-pref-any { + value 1; + description + "No encapsulation is preferred"; + } + enum encaps-pref-vxlan-if-vtep-up { + value 2; + description + "Use VxLAN if VTEP is UP else use MPLS"; + } + enum encaps-pref-vxlan { + value 3; + description + "Prefer VxLAN encapsulation"; + } + enum encaps-pref-mpls { + value 4; + description + "Prefer MPLS encapsulation"; + } + } + description + "BGP encapsulation preferences"; + } + + grouping configured-peer-policy { + description + "Configured Peer Policy"; + leaf distribute-list-in { + type string; + description + "Incoming update network filter list name"; + } + leaf prefix-list-in { + type string; + description + "Incoming update prefix filter list name"; + } + leaf filter-list-in { + type uint32; + description + "Incoming update AS path filter list"; + } + leaf route-map-in { + type string; + description + "Route map for incoming advertisements"; + } + leaf prefix-list-out { + type string; + description + "Outgoing update prefix filter list name"; + } + leaf distribute-list-out { + type string; + description + "Outgoing update network filter list name"; + } + leaf filter-list-out { + type uint32; + description + "Outgoing update AS path filter list"; + } + leaf route-map-out { + type string; + description + "Route map for outgoing advertisements"; + } + leaf unsuppress-map { + type string; + description + "Route map for selective unsuppress"; + } + leaf default-originate { + type boolean; + description + "Originate default route to this neighbor"; + } + leaf default-map { + type string; + description + "Set a command to its defaults"; + } + leaf weight { + type uint32; + description + "Set default weight for routes from this neighbor"; + } + leaf soft-reconfig-in { + type boolean; + description + "Per neighbor soft reconfiguration"; + } + leaf maximum-prefix { + type uint32; + description + "Maximum number of prefixes accepted from this peer"; + } + leaf max-prefix-threshold { + type uint32; + description + "Max prefix threshold"; + } + leaf max-prefix-warning { + type boolean; + description + "Max prefix warning"; + } + leaf max-pfx-restart-interval { + type uint32; + description + "Max prefix restart interval"; + } + leaf as-override { + type boolean; + description + "Override matching AS number while sending update"; + } + leaf as-override-split-horizon { + type boolean; + description + "Split horizon processing before sending updates"; + } + leaf allow-as { + type uint32; + description + "Accept as-path with my AS present in it"; + } + leaf allow-policy { + type boolean; + description + "Enable the policy support for this IBGP Neighbor"; + } + leaf rr-client { + type boolean; + description + "Configure a neighbor as Route Reflector client"; + } + leaf aigp { + type boolean; + description + "aigp attribute sent to this neighbor"; + } + leaf aigp-med { + type boolean; + description + "aigp as med attribute sent to this neighbor"; + } + leaf aigp-cost { + type boolean; + description + "aigp as cost-community attribute sent to this neighbor"; + } + leaf internal-vpn-client { + type boolean; + description + "Internal vpn client"; + } + leaf advertisement-interval { + type uint32; + description + "Advertisement interval"; + } + leaf nexthop-unchanged { + type boolean; + description + "Propagate the iBGP path's next hop unchanged for this neighbor"; + } + leaf nexthop-unchanged-all { + type boolean; + description + "Propagate next hop unchanged for all paths to this neighbor"; + } + leaf nexthop-self { + type boolean; + description + "Disable the next hop calculation for this neighbor"; + } + leaf nexthop-self-all { + type boolean; + description + "Disable the next hop EBGP calculation for this neighbor"; + } + leaf add-path-send { + type boolean; + description + "Advertise additional paths "; + } + leaf add-path-rx { + type boolean; + description + "Receive additional paths"; + } + leaf adv-add-path-all { + type boolean; + description + "Advertise all paths"; + } + leaf adv-add-path-grp-best { + type boolean; + description + "Advertise best paths"; + } + leaf adv-add-path-bestn { + type uint32; + description + "Advertise best n paths"; + } + leaf adv-diverse-path { + type string; + description + "Advertise diverse path"; + } + leaf adv-best-ext { + type boolean; + description + "Advertise best external path"; + } + leaf slow-peer-static { + type boolean; + description + "Slow peer static"; + } + leaf sp-detect-thold { + type uint32; + description + "Slow peer detection threshold"; + } + leaf sp-dynamic { + type boolean; + description + "Slow update group"; + } + leaf sp-protection-permanent { + type boolean; + description + "Slow peer protection permanent"; + } + leaf send-community { + type string; + description + "Send community attribute to this neighbor"; + } + leaf flow-spec-validation-off { + type boolean; + description + "Disable flow spec validation"; + } + leaf valid-redirect-off { + type boolean; + description + "Disable validations on Redirect-IP ext comm"; + } + leaf remove-private-as { + type boolean; + description + "Remove private AS number for outbound updates"; + } + leaf remove-private-as-all { + type boolean; + description + "Remove private AS all"; + } + leaf rm-private-as-replace-as { + type boolean; + description + "Replace private AS"; + } + leaf extcommunity { + type string; + description + "extcommunity description"; + } + leaf rpki-state-enabled { + type boolean; + description + "RPKI-State extended community enabled"; + } + leaf dmzlink-bw { + type boolean; + description + "Propagate the DMZ link bandwidth"; + } + leaf send-label { + type boolean; + description + "Send Label to this peer"; + } + leaf send-label-explicit-null { + type boolean; + description + "Send Label explicit null"; + } + leaf encap { + type string; + description + "Preferred encapsulation name for the neighbor"; + } + leaf cap-orf-prefix-list { + type string; + description + "Advertise capability to the peer"; + } + leaf translate-topology { + type uint32; + description + "Translate topology"; + } + leaf accept-route-legacy-rt { + type boolean; + description + "Accept route legacy rt"; + } + leaf inter-as-hybrid { + type boolean; + description + "Enable Inter AS hybrid"; + } + leaf suppress-ldp { + type boolean; + description + "Suppress ldp"; + } + leaf llgr-stale-time-send { + type uint32; + description + "Send long live graceful restart stale time"; + } + leaf llgr-stale-time-accept { + type uint32; + description + "Receive long live graceful restart stale time"; + } + } + + grouping inherited-peer-policy { + description + "Inherited Peer Policy"; + leaf-list name { + type string; + ordered-by user; + description + "Name of the inherited peer policy"; + } + container configured-policies { + description + "Configured policies in a peer policy"; + uses bgp-ios-xe-oper:configured-peer-policy; + } + } + + grouping peer-policy-summary { + description + "Peer Policy summary"; + leaf name { + type string; + description + "Name of the Peer Policy"; + } + leaf total-inherited { + type uint32; + description + "Total number of inherited policies"; + } + leaf index { + type uint32; + description + "Index of the peer policy"; + } + container configured-policies { + description + "Configured policies in a peer policy"; + uses bgp-ios-xe-oper:configured-peer-policy; + } + container inherited-policies { + description + "Inherited policies in a peer policy"; + uses bgp-ios-xe-oper:inherited-peer-policy; + } + } + + grouping bgp-message-counters { + description + "BGP message counters"; + leaf opens { + type uint32; + description + "OPEN message count"; + } + leaf updates { + type uint32; + description + "UPDATE message count"; + } + leaf notifications { + type uint32; + description + "NOTIFICATION message count"; + } + leaf keepalives { + type uint32; + description + "KEEPALIVE message count"; + } + leaf route-refreshes { + type uint32; + description + "Route refresh message count"; + } + } + + grouping bgp-prefix-counters { + description + "Grouping for various prefix counters"; + leaf current-prefixes { + type uint64; + description + "The current number of accepted prefixes"; + } + leaf total-prefixes { + type uint64; + description + "The total number of accepted prefixes"; + } + leaf implicit-withdraw { + type uint64; + description + "The number of times a prefix has been + withdrawn and readvertised"; + } + leaf explicit-withdraw { + type uint64; + description + "The number of times a prefix has been + withdrawn because it is no longer feasible"; + } + leaf bestpaths { + type uint64; + description + "The number of received prefixes installed as best paths"; + } + leaf multipaths { + type uint64; + description + "The number of received prefixes installed as multipaths"; + } + } + + grouping negotiated-keepalive-timers { + description + "Negotiated keepalive timers details"; + leaf hold-time { + type uint16; + description + "Hold time"; + } + leaf keepalive-interval { + type uint16; + description + "Keepalive interval"; + } + } + + grouping neighbor-summary { + description + "Information regarding the current state of a neighbor"; + leaf id { + type string; + description + "Neighbor address"; + } + leaf bgp-version { + type uint32; + description + "BGP protocol version"; + } + leaf messages-received { + type uint64; + description + "Number of messages received from this neighbor"; + } + leaf messages-sent { + type uint64; + description + "Number of messages sent to this neighbor"; + } + leaf table-version { + type uint64; + description + "BGP table version"; + } + leaf input-queue { + type uint64; + description + "Number of messages in input queue"; + } + leaf output-queue { + type uint64; + description + "Number of messages in output queue"; + } + leaf up-time { + type string; + description + "Neighbor session uptime"; + } + leaf state { + type bgp-ios-xe-oper:bgp-fsm-state; + description + "BGP session state"; + } + leaf prefixes-received { + type uint64; + description + "Number of prefixes received from the neighbor"; + } + leaf dynamically-configured { + type boolean; + description + "Indication of whether the neighbor was + dynamically configured"; + } + leaf as { + type uint32; + description + "BGP neighbor AS number"; + } + } + + grouping bgp-connection { + description + "Data for current BGP connection state"; + leaf state { + type bgp-common-ios-xe-oper:tcp-fsm-state; + description + "TCP FSM state"; + } + leaf mode { + type bgp-ios-xe-oper:bgp-mode; + description + "BGP transport connection mode"; + } + leaf total-established { + type uint32; + description + "The number of times a TCP and BGP + connection has been successfully established"; + } + leaf total-dropped { + type uint32; + description + "The number of times that a valid + session has failed or been taken down"; + } + leaf last-reset { + type string; + description + "Time since peering session was last reset"; + } + leaf reset-reason { + type string; + description + "The reason for the last reset"; + } + } + + grouping bgp-transport { + description + "BGP transport information"; + leaf path-mtu-discovery { + type boolean; + description + "Indication whether path MTU discovery is enabled"; + } + leaf local-port { + type uint32; + description + "Local TCP port used for TCP session"; + } + leaf local-host { + type inet:ip-address; + description + "Local address used for the TCP session"; + } + leaf foreign-port { + type uint32; + description + "Remote port used by the peer for the TCP session"; + } + leaf foreign-host { + type inet:ip-address; + description + "Remote address of the BGP session"; + } + leaf mss { + type uint32; + description + "Maximum Data segment size"; + } + leaf ao-keychain-name { + type string; + description + "Name of the Key Chain for AO"; + } + leaf ao-key-id { + type int32; + description + "ID of the key for AO"; + } + leaf ao-incl-tcp-opts { + type boolean; + description + "AO Include TCP Options"; + } + leaf ao-accept-mismatch-conn { + type boolean; + description + "AO Accept Mismatched Connections"; + } + } + + grouping bgp-af-prefix-activity { + description + "Address family prefix statistics"; + container sent { + description + "Number of prefixes sent"; + uses bgp-ios-xe-oper:bgp-prefix-counters; + } + container received { + description + "Number of prefixes received"; + uses bgp-ios-xe-oper:bgp-prefix-counters; + } + } + + grouping bgp-neighbor-counters { + description + "BGP neighbor session counters"; + container sent { + description + "Number of messages sent"; + uses bgp-ios-xe-oper:bgp-message-counters; + } + container received { + description + "Number of messages received"; + uses bgp-ios-xe-oper:bgp-message-counters; + } + leaf inq-depth { + type uint32; + description + "Input Q depth"; + } + leaf outq-depth { + type uint32; + description + "Output Q depth"; + } + } + + grouping neighbor-key { + description + "Grouping for neighbor key"; + leaf afi-safi { + type bgp-common-ios-xe-oper:afi-safi; + description + "Afi-safi key"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf neighbor-id { + type string; + description + "Neighbor identifier"; + } + } + + grouping neighbor { + description + "BGP neighbor state information"; + leaf description { + type string; + description + "Neighbor description string"; + } + leaf bgp-version { + type uint16; + description + "BGP version being used to communicate + with the remote router"; + } + leaf link { + type bgp-ios-xe-oper:bgp-link; + description + "Neighbor link type"; + } + leaf up-time { + type string; + description + "Amount of time the bgp session has been + up since being established"; + } + leaf last-write { + type string; + description + "Time since BGP last sent a message to the neighbor"; + } + leaf last-read { + type string; + description + "Time since BGP last received a message from the neighbor"; + } + leaf installed-prefixes { + type uint32; + description + "The number of installed prefixes"; + } + leaf session-state { + type bgp-ios-xe-oper:bgp-fsm-state; + description + "BGP neighbor session state"; + } + container negotiated-keepalive-timers { + description + "Negotiated keepalive timers status of BGP neighbor"; + uses bgp-ios-xe-oper:negotiated-keepalive-timers; + } + leaf-list negotiated-cap { + type string; + ordered-by user; + description + "Negotiated capabilities for neighbor session"; + } + container bgp-neighbor-counters { + description + "BGP neighbor session counters"; + uses bgp-ios-xe-oper:bgp-neighbor-counters; + } + container connection { + description + "BGP neighbor connection"; + uses bgp-ios-xe-oper:bgp-connection; + } + container transport { + description + "BGP neighbor transport"; + uses bgp-ios-xe-oper:bgp-transport; + } + container prefix-activity { + description + "BGP neighbor activity"; + uses bgp-ios-xe-oper:bgp-af-prefix-activity; + } + leaf as { + type uint32; + description + "BGP neighbor AS number"; + } + leaf encaps-pref { + type bgp-ios-xe-oper:bgp-encaps-pref; + description + "Preferred tunnel encapsulation type"; + } + container peer-policy { + description + "Peer policy template"; + uses bgp-ios-xe-oper:peer-policy-summary; + } + } + + grouping entry-stats { + description + "BGP entry statistics"; + leaf total-entries { + type uint64; + description + "The total number of prefix entries"; + } + leaf memory-usage { + type uint64; + description + "Total memory usage in byte"; + } + } + + grouping activities { + description + "BGP activity information"; + leaf prefixes { + type uint64; + description + "Total number of prefixes"; + } + leaf paths { + type uint64; + description + "Total number of paths"; + } + leaf scan-interval { + type string; + description + "Scan interval in seconds"; + } + } + + grouping address-family-key { + description + "Address family key"; + leaf afi-safi { + type bgp-common-ios-xe-oper:afi-safi; + description + "Afi-safi value"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + } + + grouping address-family-summary { + description + "Summary of address family"; + leaf router-id { + type inet:ip-address; + description + "Router ID"; + } + leaf bgp-table-version { + type uint64; + description + "BGP table version number"; + } + leaf routing-table-version { + type uint64; + description + "Routing table version number"; + } + container prefixes { + description + "Prefix entry statistics"; + uses bgp-ios-xe-oper:entry-stats; + } + container path { + description + "Path entry statistics"; + uses bgp-ios-xe-oper:entry-stats; + } + container as-path { + description + "AS path entry statistics"; + uses bgp-ios-xe-oper:entry-stats; + } + container route-map { + description + "Route map entry statistics"; + uses bgp-ios-xe-oper:entry-stats; + } + container filter-list { + description + "Filter list entry statistics"; + uses bgp-ios-xe-oper:entry-stats; + } + container activities { + description + "BGP activity information"; + uses bgp-ios-xe-oper:activities; + } + leaf total-memory { + type uint64; + description + "Total memory in use"; + } + container bgp-neighbor-summaries { + description + "Neighbor summary"; + list bgp-neighbor-summary { + key "id"; + description + "List of neighbor summaries"; + uses bgp-ios-xe-oper:neighbor-summary; + } + } + leaf local-as { + type uint32; + description + "Local AS number"; + } + } + + grouping bgp-state { + description + "BGP state information"; + container neighbors { + description + "BGP neighbor information"; + list neighbor { + key "afi-safi vrf-name neighbor-id"; + description + "List of BGP neighbors"; + uses bgp-ios-xe-oper:neighbor-key; + uses bgp-ios-xe-oper:neighbor; + } + } + container address-families { + description + "BGP address family"; + list address-family { + key "afi-safi vrf-name"; + description + "List of BGP address families"; + uses bgp-ios-xe-oper:address-family-key; + uses bgp-ios-xe-oper:address-family-summary; + } + } + container bgp-route-vrfs { + description + "BGP VRFs"; + list bgp-route-vrf { + key "vrf"; + description + "List of BGP VRFs"; + uses bgp-route-ios-xe-oper:vrf-record; + } + } + container bgp-route-rds { + description + "BGP RDs"; + list bgp-route-rd { + key "rd-value"; + description + "List of BGP RDs"; + uses bgp-route-ios-xe-oper:bgp-rd-record; + } + } + } + + container bgp-state-data { + config false; + description + "BGP operational state data"; + uses bgp-ios-xe-oper:bgp-state; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-route-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-route-oper.yang new file mode 100644 index 000000000..c75a4813c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-route-oper.yang @@ -0,0 +1,941 @@ +module Cisco-IOS-XE-bgp-route-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bgp-route-oper"; + prefix bgp-route-ios-xe-oper; + + import Cisco-IOS-XE-bgp-common-oper { + prefix bgp-common-ios-xe-oper; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + route for bgp route operational data. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "Added obsolete status to invalid Peer Group Elements"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2018-04-09 { + description + "Added enumeration type for bgp path internal/external + status"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2017-09-25 { + description + "Properly indicated leaf-list ordering"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2017-05-22 { + description + "Added the BGP Peer Group Elements"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2017-05-12 { + description + "Added the BGP RD and Neighbor routes"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bgp-origin-code { + type enumeration { + enum origin-igp { + value 0; + description + "BGP origin code IGP"; + } + enum origin-egp { + value 1; + description + "BGP origin code EGP"; + } + enum origin-incomplete { + value 2; + description + "BGP origin code incomplete"; + } + } + description + "BGP origin code"; + } + + typedef bgp-rpki-status { + type enumeration { + enum rpki-valid { + value 0; + } + enum rpki-invalid { + value 1; + } + enum rpki-not-found { + value 2; + } + enum rpki-not-enabled { + value 3; + } + enum rpki-illegal { + value 4; + } + } + description + "BGP RPKI status"; + } + + typedef bgp-path-origin { + type enumeration { + enum internal-path { + value 0; + description + "BGP origin internal"; + } + enum external-path { + value 1; + description + "BGP origin external"; + } + } + description + "BGP path internal/external origin"; + } + + typedef bgp-route-filters { + type enumeration { + enum bgp-rf-all { + value 0; + description + "BGP all route filter"; + } + enum bgp-rf-cidr-only { + value 1; + description + "BGP CIDR only route filter"; + } + enum bgp-rf-label { + value 2; + description + "BGP label route filter"; + } + enum bgp-rf-rib-failure { + value 3; + description + "BGP RIB failure route filter"; + } + enum bgp-rf-injected { + value 4; + description + "BGP injected route filter"; + } + enum bgp-rf-inconsistent { + value 5; + description + "BGP inconsistent route filter"; + } + enum bgp-rf-community { + value 6; + description + "BGP community route filter"; + } + enum bgp-rf-extcommunity { + value 7; + description + "BGP extcommunity route filter"; + } + enum bgp-rf-oer-controlled { + value 8; + description + "BGP OER controlled route filter"; + } + enum bgp-rf-pending { + value 9; + description + "BGP pending route filter"; + } + } + description + "BGP route filters"; + } + + typedef bgp-neighbor-route-filters { + type enumeration { + enum bgp-nrf-post-received { + value 0; + description + "BGP received routes post policy"; + } + enum bgp-nrf-pre-received { + value 1; + description + "BGP received routes pre policy"; + } + enum bgp-nrf-pre-advertised { + value 2; + description + "BGP pre advertised pre policy"; + } + enum bgp-nrf-post-advertised { + value 3; + description + "BGP post advertised post policy"; + } + } + description + "BGP neighbor route filters"; + } + + grouping peer-group { + description + "BGP peer groups"; + leaf name { + type string; + description + "BGP peer group name"; + } + leaf description { + type string; + description + "Peer Group description string"; + } + leaf remote-as { + type uint32; + description + "Peer Group Remote AS value"; + } + leaf bgp-version { + type uint16; + description + "BGP version being used to communicate + with the remote router"; + } + leaf min-time { + type uint16; + description + "Peer Group minimum time"; + } + leaf num-of-sessions { + type uint32; + description + "Number of Sessions for peer group"; + } + leaf num-estab-sessions { + type uint32; + description + "Number of established sessions + for peer group"; + } + leaf num-sso-sessions { + type uint32; + description + "Number of SSO sessions for peer group"; + } + leaf-list peer-members { + type string; + ordered-by user; + description + "BGP peer group members"; + } + leaf fmt-grp-ix { + type uint16; + status obsolete; + description + "BGP peer group Formatted Group Index value (obsolete)"; + } + leaf adv-ix { + type uint16; + status obsolete; + description + "BGP peer group Advertised Index value (obsolete)"; + } + leaf aspath-in { + type uint32; + description + "BGP peer group AS Path filter in value"; + } + leaf aspath-out { + type uint32; + description + "BGP peer group AS Path filter out value"; + } + leaf routemap-in { + type string; + description + "BGP peer group Route Map in value"; + } + leaf routemap-out { + type string; + description + "BGP peer group Route Map out value"; + } + leaf updated-messages { + type uint64; + status obsolete; + description + "BGP peer group Updated Messages value (obsolete)"; + } + leaf rep-count { + type uint32; + description + "BGP peer group Replicated Count value"; + } + leaf slowpeer-detection-value { + type uint16; + description + "BGP peer group slow peer Threshold value"; + } + leaf weight { + type uint16; + description + "BGP weight value"; + } + leaf send-community { + type boolean; + description + "BGP Send Community status"; + } + leaf extended-community { + type boolean; + description + "BGP Extended Community status"; + } + leaf remove-private-as { + type boolean; + description + "BGP Remove Private AS status"; + } + } + + grouping path-status { + description + "BGP path status"; + leaf suppressed { + type empty; + description + "Suppressed path"; + } + leaf damped { + type empty; + description + "Damped path"; + } + leaf history { + type empty; + description + "History path"; + } + leaf valid { + type empty; + description + "Valid path"; + } + leaf sourced { + type empty; + description + "Sourced path"; + } + leaf bestpath { + type empty; + description + "Best path"; + } + leaf internal { + type empty; + description + "Internal path"; + } + leaf rib-fail { + type empty; + description + "RIB-fail path"; + } + leaf stale { + type empty; + description + "Stale path"; + } + leaf multipath { + type empty; + description + "Multipath path"; + } + leaf backup-path { + type empty; + description + "Backup path"; + } + leaf rt-filter { + type empty; + description + "RT filter path"; + } + leaf best-external { + type empty; + description + "Best external path"; + } + leaf additional-path { + type empty; + description + "Additional path"; + } + leaf rib-compressed { + type empty; + description + "RIB compressed path"; + } + } + + grouping path-type { + description + "BGP path type"; + leaf nexthop { + type string; + description + "Next hop for this path"; + } + leaf metric { + type uint32; + description + "Metric associated with the path"; + } + leaf local-pref { + type uint32; + description + "Local preference for this path"; + } + leaf weight { + type uint32; + description + "Path weight"; + } + leaf as-path { + type string; + description + "AS path"; + } + leaf origin { + type bgp-route-ios-xe-oper:bgp-origin-code; + description + "Path origin"; + } + container path-status { + description + "Path status"; + uses bgp-route-ios-xe-oper:path-status; + } + leaf rpki-status { + type bgp-route-ios-xe-oper:bgp-rpki-status; + description + "RPKI path status"; + } + leaf community { + type string; + description + "Community label for the path"; + } + leaf mpls-in { + type string; + description + "MPLS label in for the path"; + } + leaf mpls-out { + type string; + description + "MPLS label out for the path"; + } + leaf sr-profile-name { + type string; + description + "SR profile name for the path"; + } + leaf sr-binding-sid { + type uint32; + description + "SR binding sid for the path"; + } + leaf sr-label-indx { + type uint32; + description + "SR label index for the path"; + } + leaf as4-path { + type string; + description + "path using 4-octet AS numbers"; + } + leaf atomic-aggregate { + type boolean; + description + "attribute indicating whether or not the prefix is an atomic aggregate"; + } + leaf aggr-as-number { + type uint32; + description + "AS number of autonomous system them performed the aggregation"; + } + leaf aggr-as4-number { + type uint32; + description + "AS4 number of autonomous system them performed the aggregation"; + } + leaf aggr-address { + type string; + description + "IP address of the router that performed the aggregation"; + } + leaf originator-id { + type string; + description + "the router ID of the originator of the route in the local AS"; + } + leaf cluster-list { + type string; + description + "the reflection path the route has passed"; + } + leaf extended-community { + type string; + description + "BGP extended community attribute"; + } + leaf ext-aigp-metric { + type uint64; + description + "the accumulated IGP metric for the path"; + } + leaf path-id { + type uint32; + description + "path identifier used to uniquely identify a route"; + } + leaf path-origin { + type bgp-route-ios-xe-oper:bgp-path-origin; + description + "Internal/External path"; + } + } + + grouping route-entry { + description + "Routing table entry details"; + leaf prefix { + type string; + description + "Routing table entry prefix"; + } + leaf version { + type uint32; + description + "Routing table version"; + } + leaf available-paths { + type uint32; + description + "Number of paths available for BGP prefix"; + } + leaf advertised-to { + type string; + description + "Whom the prefix is advertised to"; + } + container bgp-path-entries { + description + "Prefix next hop details"; + list bgp-path-entry { + key "nexthop"; + description + "List of prefix next hop details"; + uses bgp-route-ios-xe-oper:path-type; + } + } + } + + grouping route-filter { + description + "BGP route filter"; + leaf route-filter { + type bgp-route-ios-xe-oper:bgp-route-filters; + description + "BGP route filter"; + } + container bgp-route-entries { + description + "BGP route entries"; + list bgp-route-entry { + key "prefix"; + description + "List of BGP route entries"; + uses bgp-route-ios-xe-oper:route-entry; + } + } + } + + grouping neighbor-route-entry { + description + "Neighbor routing table entry details"; + leaf prefix { + type string; + description + "Neighbor routing table entry prefix"; + } + leaf version { + type uint32; + description + "Neighbor routing table version"; + } + leaf available-paths { + type uint32; + description + "Number of paths available for BGP prefix"; + } + leaf advertised-to { + type string; + description + "Whom the prefix is advertised to"; + } + container bgp-neighbor-path-entries { + description + "Prefix next hop details"; + list bgp-neighbor-path-entry { + key "nexthop"; + description + "List of prefix next hop details"; + uses bgp-route-ios-xe-oper:path-type; + } + } + } + + grouping neighbor-route-filter { + description + "BGP neighbor route filter"; + leaf nbr-fltr { + type bgp-route-ios-xe-oper:bgp-neighbor-route-filters; + description + "BGP neighbor route filter"; + } + container bgp-neighbor-route-entries { + description + "BGP neighbor route entries"; + list bgp-neighbor-route-entry { + key "prefix"; + description + "List of BGP neighbor route entries"; + uses bgp-route-ios-xe-oper:neighbor-route-entry; + } + } + } + + grouping bgp-route-neighbor { + description + "BGP route neighbor"; + leaf nbr-id { + type string; + description + "BGP neighbor ID"; + } + container bgp-neighbor-route-filters { + description + "BGP neighbor route filters"; + list bgp-neighbor-route-filter { + key "nbr-fltr"; + description + "List of BGP neighbor route filters"; + uses bgp-route-ios-xe-oper:neighbor-route-filter; + } + } + } + + grouping af-record { + description + "BGP AF record"; + leaf afi-safi { + type bgp-common-ios-xe-oper:afi-safi; + description + "BGP address family"; + } + container bgp-route-filters { + description + "BGP route filters"; + list bgp-route-filter { + key "route-filter"; + description + "List of BGP route filters"; + uses bgp-route-ios-xe-oper:route-filter; + } + } + container bgp-route-neighbors { + description + "BGP route neighbors"; + list bgp-route-neighbor { + key "nbr-id"; + description + "List of BGP route neighbors"; + uses bgp-route-ios-xe-oper:bgp-route-neighbor; + } + } + container bgp-peer-groups { + description + "BGP peer groups"; + list bgp-peer-group { + key "name"; + description + "List of BGP peer groups"; + uses bgp-route-ios-xe-oper:peer-group; + } + } + } + + grouping vrf-record { + description + "VRF record"; + leaf vrf { + type string; + description + "BGP VRF"; + } + container bgp-route-afs { + description + "BGP address families"; + list bgp-route-af { + key "afi-safi"; + description + "List of BGP address families"; + uses bgp-route-ios-xe-oper:af-record; + } + } + } + + grouping bgp-rd-neighbor-route-entry { + description + "RD neighbor routing table entry details"; + leaf prefix { + type string; + description + "RD neighbor routing table entry prefix"; + } + leaf version { + type uint32; + description + "RD neighbor routing table version"; + } + leaf available-paths { + type uint32; + description + "Number of paths available for BGP prefix"; + } + leaf advertised-to { + type string; + description + "Whom the prefix is advertised to"; + } + container bgp-rd-neighbor-path-entries { + description + "Prefix next hop details"; + list bgp-rd-neighbor-path-entry { + key "nexthop"; + description + "List of prefix next hop details"; + uses bgp-route-ios-xe-oper:path-type; + } + } + } + + grouping bgp-rd-neighbor-route-filter { + description + "BGP RD neighbor route filter"; + leaf neighbor-filter { + type bgp-route-ios-xe-oper:bgp-neighbor-route-filters; + description + "BGP RD neighbor route filter"; + } + container bgp-rd-neighbor-route-entries { + description + "BGP RD neighbor route entries"; + list bgp-rd-neighbor-route-entry { + key "prefix"; + description + "List of BGP RD neighbor route entries"; + uses bgp-route-ios-xe-oper:bgp-rd-neighbor-route-entry; + } + } + } + + grouping bgp-rd-route-neighbor { + description + "BGP RD route neighbor"; + leaf neighbor-id { + type string; + description + "BGP RD neighbor ID"; + } + container bgp-rd-neighbor-route-filters { + description + "BGP RD neighbor route filters"; + list bgp-rd-neighbor-route-filter { + key "neighbor-filter"; + description + "List of BGP RD neighbor route filters"; + uses bgp-route-ios-xe-oper:bgp-rd-neighbor-route-filter; + } + } + } + + grouping bgp-rd-route-entry { + description + "RD Routing table entry details"; + leaf prefix { + type string; + description + "RD Routing table entry prefix"; + } + leaf version { + type uint32; + description + "RD Routing table version"; + } + leaf available-paths { + type uint32; + description + "Number of paths available for BGP prefix"; + } + leaf advertised-to { + type string; + description + "Whom the prefix is advertised to"; + } + container bgp-rd-path-entries { + description + "Prefix next hop details"; + list bgp-rd-path-entry { + key "nexthop"; + description + "List of prefix next hop details"; + uses bgp-route-ios-xe-oper:path-type; + } + } + } + + grouping bgp-rd-route-filter { + description + "BGP RD route filter"; + leaf route-filter { + type bgp-route-ios-xe-oper:bgp-route-filters; + description + "BGP RD route filter"; + } + container bgp-rd-route-entries { + description + "BGP RD route entries"; + list bgp-rd-route-entry { + key "prefix"; + description + "List of BGP RD route entries"; + uses bgp-route-ios-xe-oper:bgp-rd-route-entry; + } + } + } + + grouping bgp-rd-route-af { + description + "BGP RD AF record"; + leaf afi-safi { + type bgp-common-ios-xe-oper:afi-safi; + description + "BGP address family"; + } + container bgp-rd-route-filters { + description + "BGP RD route filters"; + list bgp-rd-route-filter { + key "route-filter"; + description + "List of BGP RD route filters"; + uses bgp-route-ios-xe-oper:bgp-rd-route-filter; + } + } + container bgp-rd-route-neighbors { + description + "BGP RD route neighbors"; + list bgp-rd-route-neighbor { + key "neighbor-id"; + description + "List of BGP RD route neighbors"; + uses bgp-route-ios-xe-oper:bgp-rd-route-neighbor; + } + } + } + + grouping bgp-rd-record { + description + "RD record"; + leaf rd-value { + type string; + description + "BGP rd value"; + } + container bgp-rd-route-afs { + description + "BGP rd address families"; + list bgp-rd-route-af { + key "afi-safi"; + description + "List of BGP RD address families"; + uses bgp-route-ios-xe-oper:bgp-rd-route-af; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-rpc.yang new file mode 100644 index 000000000..eee4106c4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp-rpc.yang @@ -0,0 +1,57 @@ +submodule Cisco-IOS-XE-bgp-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED BGP RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-ip-case-ip-protocol-bgp-case-grouping { + container bgp { + description + "Clear BGP connections"; + leaf peer-address-drop-node-name { + description + "BGP neighbor address to clear"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vrf { + description + "Select a VPN Routing/Forwarding instance"; + type string; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp.yang new file mode 100644 index 000000000..b5bed6fc4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bgp.yang @@ -0,0 +1,15727 @@ +module Cisco-IOS-XE-bgp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bgp"; + prefix ios-bgp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-isis { + prefix ios-isis; + } + import Cisco-IOS-XE-ospfv3 { + prefix ios-ospfv3; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + import Cisco-IOS-XE-route-map { + prefix ios-route-map; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Border Gateway Protocol (BGP) Yang model. + Copyright (c) 2017-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Fixed delete peer-group membership before inherit + - Add BGP EVPN IP Gateway configuration + - Removed the default values from timers under neighbor and peer-group + - Obsolete BGP Scope Level configuration + - Hardened ip community-list model + - Remove must statement for neighbor which verify if remote-as/peer-group/peers-session is present + - Deprecated Old BGP SNMP traps and created new ones + - Deprecated community-list under route-map set and added new model for community-list"; + cisco-semver:module-version "16.0.0"; + } + revision 2024-03-01 { + description + "- Add CLI and Yang support for route-map match evpn route-types 7 and 8 + - Fixed route-map set origin + - Updated description for ip community-list number-standard and standard + - Add Yang model support for ip policy-list <> permit/deny commands + - Fixed route-map match additional-paths advertise-set + - Remove tailf:cli-sequence-commands for redistribute eigrp under ipv6 af"; + cisco-semver:module-version "15.0.0"; + } + revision 2023-11-01 { + description + "- Added persistent dynamic neighbors support + - Add neighbor maximum-prefix discard-extra command + - Added vpn-rd type for ip ext-community-list <> accept/deny rt/soo/vpn-distinguisher + - Update send-community grouping for nsap address-family + - Deprecated redistribute eigrp container and created a eigrp-list"; + cisco-semver:module-version "14.1.0"; + } + revision 2023-07-01 { + description + "- Support for route-map set for default-gw extcommunity + - Support for route-map match on evpn route-type + - Deprecated ip extcommunity-list command + - Add must constraint for inherit peer policy + - Add BGP SR-V6 CLI Yang + - Modified must statement for inherit peer-policy + - Add translate-rib-metric for omp redistribution + - Deprecated bgp graceful-restart command + - Modified must statement for neighbor-disable-connected-check-grouping + - Changed creation and deletion order of vrf"; + cisco-semver:module-version "14.0.0"; + } + revision 2023-03-01 { + description + "- Update local-as for template + - Mark nexthop under address-family nsap as obsolete + - Data type change for community-list name string + - Added must statements for router bgp template peer-policy"; + cisco-semver:module-version "13.0.0"; + } + revision 2022-11-01 { + description + "- Replaced the leafref redistribute nhrp + - Deprecated ip community-list command + - Update yang-version to 1.1"; + cisco-semver:module-version "12.0.0"; + } + revision 2022-07-01 { + description + "- exact-match support for communities + - Harden distance command for all address-families + - Add support for bgp graceful-shutdown + - Add support for next-hop-unchanged under peer-group + for address-family rtfilter + - Add support for redistribute nhrp + - Add support for snmp context + - Obsolete send-label configuration under vpnv4 unicast address-family + - Migrate BGP-owned route-map nodes to BGP model + - Harden additional-paths install command for all address-families + - Deprecated set extcomm-list delete command + - Added additive option for set extended community vpn-distinguisher asn-nn + - Modify extended community cost key to better reflect IOS behavior"; + cisco-semver:module-version "11.0.0"; + } + revision 2022-03-01 { + description + "- Must statement and tailf dependency added for neighbor peer-group. + - Add support for bgp rpki server + - Update peer-group to remove remote-as independent of other peer-group configuration + - Add support for bgp default route-target filter + - Add support for vrf inter-as + - Add support for bgp snmp traps add-type + - Add support for bgp vrf-update-optimization + - Obsolete propagate-aspath on link-state address-family + - Harden maximum-secondary-paths + - Harden bgp update-group + - Moved snmp-bgp related configurations to bgp yang model + - Obsolete network for un-supported address-families + - Harden bgp update-group + - Move deprecated additional-paths, long-lived-graceful-restart, + and advertisement-interval to obsolete + - Move deprecated interface configuration under update-source to + obsolete + - Added support for redistribute nat-route for ipv6 address families + - Harden dont-capability-negotiate for template peer-session + by deprecating dont-capability-negotiate-option choice + - Fix BGP BMP-Activate server config + - Added internal nodes required for choice mapping"; + cisco-semver:module-version "10.0.0"; + } + revision 2021-11-01 { + description + "- Add support for bmp server under global bgp + - Marked community-id leaf as mandatory + - Mark soft-reconfiguration obsolete for vpn address-families + - Add router-server-context + - Add route-server-client under template peer-policy + - Mark default-information originate obsolete for not supported address-families + - Add support for maximum-secondary-paths under ipv4 + (both with and without vrf) address families + - Add support for unicast-reachability for address families v4|v6 unicast|multicast vrf + - Add Support for synchronisation in address-family nsap + - Add Support for mvpn-forwarder-selection address-family v4 unicast vrf, v6 unicast|multicast vrf + - Add support for dont-capability-negotiate-grouping + - Add support for ao under template peer-session + - Obsolete send-label explicit-null for all unsupported address-families + (send-label explicit-null is supported only for v4 addr-family) "; + cisco-semver:module-version "9.0.0"; + } + revision 2021-07-01 { + description + "- Mark peer-group under template peer-session as obsolete + - Mark peer-policy under template peer-session inherit as obsolete + - Deprecate the advertisement-interval ebgp leaf for peer-group + - Support for BGP redistribution of replicated routes + - Modified redistribute groupings"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-03-01 { + description + "- Initial revision for 17.5.1 + - Deprecated BGP neighbor long-lived-graceful-restart config + - Added new grouping for Peer-group Local-as"; + } + revision 2020-11-01 { + description + "- Update distribute-list config + - Update inherit peer-policy seq to be mandatory + - Added bgp large-community support + - Removed inherit template under peer-group + - Added inherit peer-policy leaves + - Update password text config + - Added support for BGP LU Label Mode + - Added support for neighbor-additional-paths as choice"; + } + revision 2020-07-02 { + description + "- Added allow-suppressed"; + cisco-semver:module-version "5.1.0"; + } + revision 2020-07-01 { + description + "- Added propagate-community + - Updated redistribute nat-route"; + } + revision 2020-03-01 { + description + "- Added bgp import nhrp + - Added neighbor accept-route-legacy-rt, inter-as-hybrid, + long-lived-graceful-restart, and validation config + - Added stitching-rt support to import config + - Added bgp rr-group and bgp listen block config + - Added bgp safe-ebgp-policy config"; + } + revision 2019-11-02 { + description + "- Update bgp slow-peer and neighbor slow-peer config"; + } + revision 2019-11-01 { + description + "- Added source paths config + - Update refresh timers + - Update advertise and additional-paths config + - Fixed configuration dependencies + - Added evpn-limit to address-family advertise config + - Updated v6 redistribute rip config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Fix afi-safi containers + - Add EVPN rewrite-rt + - Fix or inject-map, recursion host, diverse-path, + consistency-checker, advertisement-interval and bestpath aigp + - Update neighbor-path attribute configuration + - Fixed issues with prefix-length-size, missing-as-worst, and + prefix-validate + - Add full template peer-session and peer-policy support, add + include-connection option for redistribute config, add l2vpn vpls + suppress-signaling-protocol ldp + - Edited timers config to prevent invalid values + - Add ao container and leaves + - Added multipath-relax option for bgp bestpath as-path + - Fixed bgp dampening half-life time configuration + - Fixed redistribute isis delete behavior + - Fixed issues with bgp nexthop delay"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-11 { + description + "fixed get-config issue for template peer-session password"; + } + revision 2018-12-10 { + description + "Fixed as-path to handle regular expression statements"; + } + revision 2018-11-28 { + description + "Fixed default fall-over configuration and fixed network configuration + under vrf afi-safi"; + } + revision 2018-11-22 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-20 { + description + "fixed as-path ordering issue after replace operation"; + } + revision 2018-11-15 { + description + "Fix CLI ordering for neighbor peer-group and neighbor inherit + configuration and add vpnv4-unicast peer-group and import configuration"; + } + revision 2018-11-15 { + description + "- Added Support for link-state address family. + - Added choice for neighbor aigp send-community"; + } + revision 2018-11-13 { + description + "Added presence statement for container ebgp-multihop"; + } + revision 2018-11-11 { + description + "Remove tailf:cli-full-no from redistribute connected and static container"; + } + revision 2018-11-09 { + description + "Fix network config so that network with-mask cannot use the ip address + class type default mask"; + } + revision 2018-11-07 { + description + "Fixed redistribute isis and redistribute isis area-tag configuration"; + } + revision 2018-10-19 { + description + "Fixed the following: + - maximum-path under address-family rtfilter + - removed distance wildbits keyword + - distribute-list options + - bgp default local-preference range + - bgp additional-path options under vpnv4 and vpnv6 address family + - import l2vpn evpn re-originate stitching-rt + - long-lived-graceful-restart stale-time + - neighbor capability container missing under vpnv6 AF + - remove peer-group under AF vpnv6 unicast + - snmp context deletion + - mvpn single-forwarder-selection under address-family ipv4 vrf"; + } + revision 2018-10-16 { + description + "Add 'cli-preformatted' to neighbor password"; + } + revision 2018-10-15 { + description + "Remove vrf leaf from address-family/ipv4/vrf/bgp/router-id. + Remove extra leafs from address-family/vpnv4/maximum-paths. + Added choice for address-family/ipv4/vrf/network command."; + } + revision 2018-10-14 { + description + "Add bgp default inter-as-hybrid advertise-source-routes config"; + } + revision 2018-10-10 { + description + "Rearranged template peer-policy container definition."; + } + revision 2018-10-09 { + description + "Corrected range for maxas-limit. + Changed route-map-cache to boolean with default true."; + } + revision 2018-10-05 { + description + "1. Removed unsupported peer-group option under RTF address-family. + 2. Deleted invalid leaf disable under slow-peer/detection. + 3. Removed unwanted leaves under RTF addr-family maximum-paths. + 4. Added missing leaf under Graceful-restart container."; + } + revision 2018-10-04 { + description + "Fix for incorrect address-family-maximum-path grouping. + Added new grouping for evpn address-family additional path configuration."; + } + revision 2018-10-03 { + description + "Changed the default route-target filter type from string to boolean"; + } + revision 2018-09-24 { + description + "Corrected the BGP peer-group hierarchy under scope mode"; + } + revision 2018-09-14 { + description + "Fixed table-map config container"; + } + revision 2018-08-31 { + description + "add delete annotations for AF neighbor configurations"; + } + revision 2018-08-04 { + description + "bgp advertisement-interval not getting configured through netconf. Update neighbor ebgp-multihop and next-hop-unchanged dependencies"; + } + revision 2018-08-02 { + description + "Add default values to leaves"; + } + revision 2018-08-01 { + description + "Fixed order of as-path access-list"; + } + revision 2018-07-30 { + description + "Update config annotations for address-family, redistribute, and fall-over commands"; + } + revision 2018-07-18 { + description + "Fixed next-hop-self, fall-over bfd, as-override, allowas-in"; + } + revision 2018-07-16 { + description + "Fix neighbor remote-as and peer-group config"; + } + revision 2018-07-06 { + description + "Edit neighbors timer container to allow for no timer config"; + } + revision 2018-06-28 { + description + "Fix for router-id vrf value, vrf neighbor configuration, + address-family deletion, and remove vrf auto-summary"; + } + revision 2018-06-28 { + description + "added must constraints for deleting vrf"; + } + revision 2018-06-25 { + description + "fix bgp timers"; + } + revision 2018-06-08 { + description + "Create new groupings for global, af, and neighbor scopes in order to + remove invalid leaves present in model"; + } + revision 2018-06-07 { + description + "Added bgp router-id interface"; + } + revision 2018-05-21 { + description + "change redistribute router id to type leafref under router bgp address-family"; + } + revision 2018-05-15 { + description + "fix send-community, fall-over, redistribute, max-paths, backdoor, + log-neighbor-changes, and network/mask errors"; + } + revision 2018-05-01 { + description + "restructure BGP neighbor and peer-group"; + } + revision 2018-05-01 { + description + "Restrict propagate-aspath to 'address-family vrf '"; + } + revision 2018-04-19 { + description + "Add support for propagate-as-path in address-family's ipv4 & ipv6"; + } + revision 2018-04-02 { + description + "Some more Evpn cli added"; + } + revision 2018-03-15 { + description + "Evpn cli for bgp added"; + } + revision 2018-02-01 { + description + "support multiple aggregate-address for both ipv4 and ipv6"; + } + revision 2018-01-26 { + description + "fix config issue -redistribute OSPF under bgp process"; + } + revision 2018-01-10 { + description + "fix bgp best path med missing-as-worst"; + } + revision 2017-12-11 { + description + "Add support for redistribute nat-route dia/outside"; + } + revision 2017-11-09 { + description + "fix aggregate-address cli generation issue"; + } + revision 2017-10-10 { + description + "Add redistribute omp support"; + } + revision 2017-09-18 { + description + "BGP neighbor should match a v4/v6 address"; + } + revision 2017-09-08 { + description + "Add show no for enhanced-error"; + } + revision 2017-08-17 { + description + "send-community delete before change"; + } + revision 2017-08-10 { + description + "Add bgp mpls-local-label, import path selection all, bgp best path as-path ignore"; + } + revision 2017-08-02 { + description + "Fix delete for redistribute connected"; + } + revision 2017-07-30 { + description + "adding neighbor remove-private-as support"; + } + revision 2017-07-27 { + description + "Fix delete for redistribute connected"; + } + revision 2017-07-17 { + description + "adding neighbor send-label"; + } + revision 2017-07-10 { + description + "adding redistribute ospfv3"; + } + revision 2017-05-25 { + description + "adding neighbor listen and next-hop-self all"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-02 { + description + "NED extension - add version4 for bgp template peer-session"; + } + revision 2017-02-08 { + description + "NED extension - router bgp address-family options - + soo, max paths, import path"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping vrf-ipv4-inter-as-hybrid-grouping { + container inter-as-hybrid { + presence "true"; + description + "Inter AS hybrid mode"; + choice inter-as-choice { + case with-csc-option { + container csc { + presence "true"; + description + "Carrier Supporting Carrier"; + leaf next-hop { + description + "Set next-hop address"; + type inet:ip-address; + } + } + } + case without-csc-option { + leaf next-hop { + description + "Set next-hop address"; + type inet:ip-address; + } + } + } + } + } + + grouping vrf-ipv6-inter-as-hybrid-grouping { + container inter-as-hybrid { + presence "true"; + description + "Inter AS hybrid mode"; + choice inter-as-choice { + case with-csc-option { + container csc { + presence "true"; + description + "Carrier Supporting Carrier"; + leaf next-hop { + description + "Set next-hop address"; + type ios-types:ipv6-link-local-interface-address; + } + } + } + case without-csc-option { + leaf next-hop { + description + "Set next-hop address"; + type ios-types:ipv6-link-local-interface-address; + } + } + } + } + } + + grouping bgp-router-id-grouping { + container router-id { + description + "Override configured router identifier (peers will reset)"; + choice id-choice { + leaf ip-id { + description + "Manually configured router identifier"; + type inet:ipv4-address; + } + container interface { + description + "Use IPv4 address on interface"; + uses ios-ifc:interface-grouping; + } + leaf vrf { + description + "vrf-specific router id configuration"; + type enumeration { + enum auto-assign; + } + } + } + } + } + + grouping bgp-vrf-router-id-grouping { + container router-id { + description + "Override configured router identifier (peers will reset)"; + choice id-choice { + leaf ip-id { + description + "Manually configured router identifier"; + type inet:ipv4-address; + } + container interface { + description + "Use IPv4 address on interface"; + uses ios-ifc:interface-grouping; + } + leaf auto-assign { + description + "Automatically assign bgp router id"; + type empty; + } + } + } + } + + grouping config-route-svr-ctx-grouping { + list route-server-context { + description + "Route server context"; + key "name"; + leaf name { + description + "Name of route server context"; + type string; + } + container address-family { + description + "Enter address family command mode"; + list ipv4 { + description + "IPv4 Address Family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + enum multicast; + } + } + leaf import-map { + description + "Import matching routes using a route map"; + type string; + } + } + list ipv6 { + description + "IPv6 Address Family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + enum multicast; + } + } + leaf import-map { + description + "Import matching routes using a route map"; + type string; + } + } + } + } + } + + grouping config-route-svr-client { + container route-server-client { + description + "Configure a neighbor as Route Server client"; + choice options { + case activate-option { + leaf activate { + type empty; + } + } + case context-option { + leaf context { + description + "Specify Route Server context for neighbor"; + type string; + must '../../../../ios-bgp:route-server-context/ios-bgp:name' { + error-message "BGP RS: Invalid route server context specified."; + } + } + } + } + } + } + + grouping config-bmp-server-grouping { + container bmp { + description + "BGP Monitoring Protocol"; + leaf buffer-size { + description + "Buffer Size in MB"; + type uint16 { + range "1..2048"; + } + } + container initial-refresh { + description + "Initial Refresh options"; + choice initial-refresh-options { + case delay-option { + leaf delay { + description + "Delay before Initial Refresh"; + type uint16 { + range "1..3600"; + } + } + } + case skip-option { + leaf skip { + description + "skip all references"; + type empty; + } + } + } + } + list server { + description + "Server Information"; + key "id"; + max-elements 4; + leaf id { + description + "BMP Server Number"; + type uint8 { + range "1..4"; + } + } + container address-config { + leaf address { + description + "BMP Server Address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port-number { + type uint16 { + range "1..65535"; + } + } + must '(address and port-number) or (not(address) and not(port-number))' { + error-message "Both address and port-number must be configured together."; + } + } + leaf activate { + description + "Initiate connection to BMP server"; + must '../address-config/port-number' { + error-message "Address and port-number must be configured to activate the BMP server"; + } + type empty; + } + leaf description { + description + "Textual description of BMP server"; + type string; + } + leaf failure-retry-delay { + description + "Failure retry delay in sending BMP server updates"; + default "600"; + type uint16 { + range "1..3600"; + } + } + leaf flapping-delay { + description + "Flapping delay in sending BMP server updates"; + default "1800"; + type uint16 { + range "1..3600"; + } + } + leaf initial-delay { + description + "Initial delay in sending BMP server updates"; + default "600"; + type uint16 { + range "1..3600"; + } + } + leaf stats-reporting-period { + description + "Stats reporting period for BMP server"; + type uint16 { + range "1..3600"; + } + } + container set { + description + "Set DSCP value"; + container ip { + description + "Set IP TOS field"; + leaf dscp { + description + "DSCP value"; + type enumeration { + enum 0 { + description + "Routine"; + } + enum 1 { + description + "Priority"; + } + enum 2 { + description + "Immediate"; + } + enum 3 { + description + "Flash"; + } + enum 4 { + description + "Flash Override"; + } + enum 5 { + description + "Critical ECP"; + } + enum 6 { + description + "Internetwork Control"; + } + enum 7 { + description + "Network Control"; + } + } + } + } + } + container update-source { + description + "Source of routing updates"; + uses ios:interface-with-dependency-grouping; + } + } + } + } + + grouping rpki-password-grouping { + container password { + description + "Set a password"; + leaf enctype { + description + "Encryption type (0 to disable encryption, 7 for proprietary)"; + type uint8 { + range "0..7"; + } + } + leaf text { + description + "MD5 password"; + type string; + } + must '(not(text) and not(enctype)) or text' { + error-message "password text must be configured"; + } + } + } + + grouping bgp-rpki-server-grouping { + container rpki { + description + "RPKI parameters"; + container server { + description + "RPKI cache server parameters"; + list tcp { + key "address port refresh"; + unique "address port"; + leaf address { + description + "IP address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + description + "Port number of RPKI Cache"; + type uint16 { + range "1..65535"; + } + } + leaf refresh { + description + "Refresh time in seconds"; + type uint16 { + range "1..65535"; + } + } + uses rpki-password-grouping; + } + } + } + } + + grouping bgp-graceful-shutdown-options-grouping { + container gshut-config-container { + leaf time-in-seconds { + type uint16 { + range "30..65535"; + } + } + container community-preferences { + leaf local-preference { + type uint32 { + range "1..4294967295"; + } + } + leaf community-id { + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + } + must '(time-in-seconds and community-preferences/local-preference) or (not(community-preferences/local-preference) and time-in-seconds and community-preferences/community-id) or (not(community-preferences/local-preference) and not(time-in-seconds) and not(community-preferences/community-id))' { + error-message "local-preference or community must be passed with time-in-seconds"; + } + } + } + + grouping bgp-graceful-shutdown-grouping { + container graceful-shutdown { + description + "Graceful shutdown capability parameters"; + container all { + description + "Graceful shutdown capability parameters"; + choice bgp-ghut-choice { + case vrfs-option { + container vrfs { + description + "Gracefully shut down all vrf neighbors"; + uses bgp-graceful-shutdown-options-grouping; + } + } + case neighbors-option { + container neighbors { + description + "Gracefully shut down all neighbors"; + uses bgp-graceful-shutdown-options-grouping; + } + } + } + } + } + } + + grouping global-bgp-grouping { + description + "BGP specific commands"; + leaf aigp-rib-metric { + description + "Install RIB metric as NH metric + metric on AIGP attribute"; + type empty; + } + leaf always-compare-med { + description + "Allow comparing MED from different neighbors"; + type empty; + } + container asnotation { + description + "Change the default AS plain notation"; + leaf dot { + description + "AS dot notation"; + type empty; + } + } + container bestpath { + description + "Change the default best path selection"; + leaf as-path { + description + "Ignore the as-path in bestpath selection"; + type enumeration { + enum ignore; + enum multipath-relax; + } + } + leaf aigp { + description + "if both paths does not have aigp ignore on bestpath comparison"; + type enumeration { + enum ignore; + } + } + leaf compare-routerid { + type empty; + } + container cost-community { + description + "cost community"; + leaf ignore { + description + "Ignore cost communities in best path selection"; + type empty; + } + } + container igp-metric { + status obsolete; + description + "igp metric (OBSOLETE)"; + leaf ignore { + status obsolete; + description + "Ignore igp metric in best path selection"; + type empty; + } + } + container med { + description + "MED attribute"; + leaf confed-leaf { + description + "Compare MED among confederation paths"; + type empty; + } + leaf missing-as-worst-leaf { + description + "Treat missing MED as the least preferred one"; + type empty; + } + choice med-choice { + status obsolete; + container confed { + status obsolete; + description + "Compare MED among confederation paths (OBSOLETE) - Please use + med/confed-leaf instead"; + presence "Compare MED among confederation paths"; + leaf missing-as-worst { + status obsolete; + description + "Treat missing MED as the least preferred one (OBSOLETE) - + Please use med/missing-as-worst-leaf instead"; + type empty; + } + } + leaf missing-as-worst { + status obsolete; + description + "Treat missing MED as the least preferred one (OBSOLETE) - Please + us med/missing-as-worst-leaf instead"; + type empty; + } + } + } + } + container client-to-client { + description + "Configure client to client route reflection"; + leaf reflection { + description + "reflection of routes allowed"; + type boolean; + } + } + leaf cluster-id { + type union { + type uint32 { + range "1..4294967294"; + } + type inet:ipv4-address; + } + } + container confederation { + description + "AS confederation parameters"; + leaf identifier { + type inet:as-number; + } + container peers { + description + "Peer ASs in BGP confederation"; + leaf-list peers-as { + type inet:as-number; + } + } + } + container consistency-checker { + description + "Consistency-checker"; + container auto-repair { + description + "Auto-Repair"; + presence "true"; + leaf interval { + description + "Interval (minutes)"; + default "1440"; + type uint16 { + range "5..1440"; + } + } + } + container error-message { + description + "error-message"; + presence "true"; + leaf interval { + description + "Interval (minutes)"; + type uint16 { + range "5..1440"; + } + } + } + must "(not(auto-repair) and not(error-message)) or (auto-repair + and not(error-message)) or (not(auto-repair) and error-message)" { + error-message + "error-message and auto-repair cannot be configured at + the same time"; + } + } + container default { + description + "Configure BGP defaults"; + container inter-as-hybrid { + description + "Configure Inter-AS Hybrid peer defaults"; + leaf advertise-source-routes { + description + "Advertise non-imported routes to hybrid peers"; + type boolean; + } + } + leaf ipv4-unicast { + description + "Activate ipv4-unicast for a peer by default"; + default "true"; + type boolean; + } + leaf ipv6-nexthop { + description + "Default IPv6 nexthop format"; + default "true"; + type boolean; + } + leaf local-preference { + description + "local preference (higher=more preferred)"; + default "100"; + type uint32 { + range "0..4294967295"; + } + } + container route-target { + description + "Control behavior based on Route-Target attributes"; + leaf filter { + description + "Default route-target filter"; + default "true"; + type boolean; + } + } + } + leaf deterministic-med { + description + "Pick the best-MED path among paths advertised from the neighboring AS"; + type empty; + } + container dynamic-med-interval { + description + "Set the interval to re-compute dynamic MED from IGP metric"; + leaf interval { + description + "Interval value (seconds)"; + default "600"; + type uint32 { + range "60..4294967295"; + } + } + } + leaf enforce-first-as-boolean { + description + "Enforce the first AS for EBGP routes(default)"; + default "true"; + type boolean; + } + leaf enforce-first-as { + status obsolete; + description + "Enforce the first AS for EBGP routes(OBSOLETE) - Please us + enforce-first-as-boolean instead."; + type empty; + } + leaf enhanced-error { + description + "Enabled BGP Enhanced error handling"; + type boolean; + } + leaf fast-external-fallover { + description + "Immediately reset session if a link to a directly connected external peer goes down"; + type boolean; + } + container gr-options { + container graceful-restart { + description + "Graceful restart capability parameters"; + presence "true"; + leaf extended { + description + "Enable Graceful-Restart Extension"; + type empty; + } + leaf all { + description + "Enable BGP GR for all platforms (even non-NSF capable ones)"; + type empty; + } + } + } + container gr-timers { + container graceful-restart { + leaf restart-time { + description + "Set the max time needed to restart and come back up"; + default "120"; + type uint16 { + range "1..3600"; + } + } + leaf stalepath-time { + description + "Set the max time to hold onto restarting peer's stale paths"; + default "360"; + type uint16 { + range "1..3600"; + } + } + } + } + container graceful-restart { + description + "Graceful restart capability parameters (DEPRECATED)"; + presence "Graceful restart capability parameters"; + status deprecated; + leaf all { + description + "Enable BGP GR for all platforms (even non-NSF capable ones)"; + status deprecated; + type empty; + } + leaf extended { + description + "Enable Graceful-Restart Extension (DEPRECATED)"; + status deprecated; + type empty; + } + leaf restart-time { + status deprecated; + description + "Set the max time needed to restart and come back up (DEPRECATED)"; + default "120"; + type uint16 { + range "1..3600"; + } + } + leaf stalepath-time { + status deprecated; + description + "Set the max time to hold onto restarting peer's stale paths (DEPRECATED)"; + default "360"; + type uint16 { + range "1..3600"; + } + } + } + uses bgp-graceful-shutdown-grouping; + container ha-mode { + description + "Select BGP High Availability mode"; + container sso { + description + "BGP High Availability NSR sso mode"; + presence "true"; + leaf prefer { + description + "Prefer BGP High Availability NSR sso mode"; + type empty; + } + } + } + container listen { + description + "Neighbor subnet range listener"; + leaf limit { + description + "Set the max limit for the dynamic subnet range neighbors"; + default "100"; + type uint16 { + range "1..10000"; + } + } + container persistent { + description + "Persistent dynamic neighbors configuration for this listen range"; + presence "true"; + leaf timer { + type uint16 { + range "1..65535"; + } + } + } + list range { + description + "Subnet network range"; + key "network-range peer-group"; + leaf network-range { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf peer-group { + description + "Member of the peer-group"; + type string; + } + container persistent { + description + "Persistent dynamic neighbors configuration for this listen range"; + presence "true"; + choice timer-disable { + leaf timer { + type uint16 { + range "1..65535"; + } + } + leaf disable { + type empty; + } + } + } + } + list block { + description + "block address for dynamic peering"; + key "peering-address"; + leaf peering-address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + } + leaf log-neighbor-changes { + description + "Log neighbor up/down and reset reason"; + default "true"; + type boolean; + } + leaf maxas-limit { + description + "Allow AS-PATH attribute from any neighbor imposing a limit on number of ASes"; + type uint16 { + range "1..254"; + } + } + leaf maxcommunity-limit { + description + "Number of communities in the COMMUNITY attribute"; + type uint16 { + range "1..1018"; + } + } + container maxextcommunity-limit { + description + "Allow EXTENDED COMMUNITY attribute from any neighbor imposing a + limit on number of extended communities"; + leaf number { + description + "Number of extended communities in the EXTENDED COMMUNITY + attribute"; + type uint16 { + range "1..509"; + } + } + } + leaf maxlargecommunity-limit { + description + "Number of large communities in the LARGE COMMUNITY attribute"; + type uint16 { + range "1..339"; + } + } + container nopeerup-delay { + description + "Set how long BGP will wait for the first peer to come up before beginning the update delay or graceful restart timers (in seconds)"; + leaf cold-boot { + description + "Delay in seconds"; + type uint16 { + range "1..3600"; + } + } + leaf nsf-switchover { + description + "Delay in seconds"; + type uint16 { + range "1..3600"; + } + } + leaf post-boot { + description + "Delay in seconds"; + type uint16 { + range "1..3600"; + } + } + leaf user-initiated { + description + "Delay in seconds"; + type uint16 { + range "1..3600"; + } + } + } + container refresh { + description + "refresh"; + container max-eor-time { + description + "Configure refresh max-eor time"; + leaf refresh-disable { + status obsolete; + default "0"; + type enumeration { + enum 0; + } + } + leaf timer-interval { + default "0"; + type uint16 { + range "0 | 600..3600"; + } + } + } + container stalepath-time { + description + "Configure refresh stale-path time"; + leaf refresh-disable { + status obsolete; + default "0"; + type enumeration { + enum 0; + } + } + leaf timer-interval { + default "0"; + type uint16 { + range "0 | 600..3600"; + } + } + } + } + container regexp { + description + "Select regular expression engine"; + leaf deterministic { + description + "Enable bounded-execution-time regular expression engine"; + default "true"; + type boolean; + } + } + leaf route-map-cache { + description + "Enable route-map caching"; + default "true"; + type boolean; + } + uses bgp-router-id-grouping; + uses bgp-rpki-server-grouping; + leaf safe-ebgp-policy { + description + " Allow propagation of ebgp routes only with policy configured. Command may trigger refresh on all sessions!"; + type empty; + } + container snmp { + description + "BGP SNMP options"; + container traps { + description + "BGP SNMP trap options"; + leaf add-type { + type empty; + } + } + } + container sso { + description + "Stateful Switchover"; + leaf route-refresh-enable { + description + "Enable SSO only for Route-Refresh capable peers"; + type empty; + } + } + container transport { + description + "Transport options"; + leaf path-mtu-discovery { + description + "Use transport path MTU discovery"; + default "true"; + type boolean; + } + } + leaf update-delay { + description + "Set the max initial delay for sending update"; + default "120"; + type uint16 { + range "1..3600"; + } + } + container vrf-update-optimisation { + description + "Control VPN update generation VRF optimisation"; + leaf off { + description + "Disable VPN update generation optimisation"; + type empty; + } + } + } + + grouping bgp-additional-paths-grouping { + container additional-paths { + description + "Additional paths in the BGP table"; + leaf install { + description + "Additional paths to install into RIB"; + type empty; + } + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + container select { + description + "Selection criteria to pick the paths"; + container all-best { + description + "Select all, group-best, best available paths"; + leaf all { + description + "Select all, group-best, best available paths"; + type empty; + } + leaf group-best { + description + "Select group-best path"; + type empty; + } + leaf best { + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + container best-external-backup { + description + "Select best-external and backup path"; + leaf best-external { + description + "Select best-external path"; + type empty; + } + leaf backup { + description + "Select backup path"; + type empty; + } + } + } + container send { + description + "Send additional paths to neighbors"; + presence "true"; + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + } + } + } + + grouping bgp-additional-paths-with-obsolete-install-grouping { + container additional-paths { + description + "Additional paths in the BGP table"; + leaf install { + status obsolete; + description + "Additional paths to install into RIB (OBSOLETE)"; + type empty; + } + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + container select { + description + "Selection criteria to pick the paths"; + container all-best { + description + "Select all, group-best, best available paths"; + leaf all { + description + "Select all, group-best, best available paths"; + type empty; + } + leaf group-best { + description + "Select group-best path"; + type empty; + } + leaf best { + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + container best-external-backup { + description + "Select best-external and backup path"; + leaf best-external { + description + "Select best-external path"; + type empty; + } + leaf backup { + description + "Select backup path"; + type empty; + } + } + } + container send { + description + "Send additional paths to neighbors"; + presence "true"; + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + } + } + } + + grouping bgp-evpn-additional-paths-grouping { + container additional-paths { + description + "Additional paths in the BGP table"; + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + container select { + description + "Selection criteria to pick the paths"; + leaf all { + description + "Select all available paths"; + type empty; + } + leaf group-best { + description + "Select group-best path"; + type empty; + } + leaf best { + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + container send { + description + "Send additional paths to neighbors"; + presence "true"; + leaf receive { + description + "Receive additional paths from neighbors"; + type empty; + } + } + } + } + + grouping bgp-additional-paths-vpn-grouping { + container additional-paths { + description + "Additional paths in the BGP table"; + leaf install { + description + "Additional paths to install into RIB"; + type empty; + } + container select { + description + "Selection criteria to pick the paths"; + leaf best-external { + description + "Select best-external path"; + type empty; + } + leaf backup { + description + "Select backup path"; + type empty; + } + } + } + } + + grouping bgp-vrf-additional-paths-grouping { + container additional-paths { + description + "Additional paths in the BGP table"; + leaf install { + description + "Additional paths to install into RIB"; + type empty; + } + leaf receive { + status obsolete; + description + "Receive additional paths from neighbors (OBSOLETE)"; + type empty; + } + container select { + description + "Selection criteria to pick the paths"; + container all-best { + status obsolete; + description + "Select all, group-best, best available paths (OBSOLETE)"; + leaf all { + status obsolete; + description + "Select all, group-best, best available paths (OBSOLETE)"; + type empty; + } + leaf group-best { + status obsolete; + description + "Select group-best path (OBSOLETE)"; + type empty; + } + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + container best-external-backup { + description + "Select best-external and backup path"; + leaf best-external { + description + "Select best-external path"; + type empty; + } + leaf backup { + description + "Select backup path"; + type empty; + } + } + } + container send { + status obsolete; + description + "Send additional paths to neighbors (OBSOLETE)"; + presence "true"; + leaf receive { + status obsolete; + description + "Receive additional paths from neighbors (OBSOLETE)"; + type empty; + } + } + } + } + + grouping bgp-vrf-additional-paths-obsolete-grouping { + container additional-paths { + status obsolete; + description + "Additional paths in the BGP table (OBSOLETE)"; + leaf install { + status obsolete; + description + "Additional paths to install into RIB (OBSOLETE)"; + type empty; + } + leaf receive { + status obsolete; + description + "Receive additional paths from neighbors (OBSOLETE)"; + type empty; + } + container select { + status obsolete; + description + "Selection criteria to pick the paths (OBSOLETE)"; + container all-best { + status obsolete; + description + "Select all, group-best, best available paths (OBSOLETE)"; + leaf all { + status obsolete; + description + "Select all, group-best, best available paths (OBSOLETE)"; + type empty; + } + leaf group-best { + status obsolete; + description + "Select group-best path (OBSOLETE)"; + type empty; + } + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + container best-external-backup { + status obsolete; + description + "Select best-external and backup path (OBSOLETE)"; + leaf best-external { + status obsolete; + description + "Select best-external path (OBSOLETE)"; + type empty; + } + leaf backup { + status obsolete; + description + "Select backup path (OBSOLETE)"; + type empty; + } + } + } + container send { + status obsolete; + description + "Send additional paths to neighbors (OBSOLETE)"; + presence "true"; + leaf receive { + status obsolete; + description + "Receive additional paths from neighbors (OBSOLETE)"; + type empty; + } + } + } + } + + grouping bgp-advertise-best-external-grouping { + leaf advertise-best-external { + description + "Advertise best external path to internal peers"; + type empty; + } + } + + grouping bgp-aggregate-timer-grouping { + container aggregate-timer { + description + "Configure aggregation timer"; + choice timer-choice { + leaf aggregate-timer { + description + "Timer interval"; + default "40"; + type uint8 { + range "6..60"; + } + } + leaf disable-timer { + description + "Timer interval"; + type enumeration { + enum 0; + } + } + } + } + } + + grouping bgp-bestpath-grouping { + container bestpath { + description + "Change the default best path selection"; + container igp-metric { + description + "igp metric"; + leaf ignore { + description + "Ignore igp metric in best path selection"; + type empty; + } + } + container prefix-validate { + description + "Prefix origin validation"; + leaf allow-invalid { + description + "Allow invalid routes to be considered for best path"; + type empty; + } + leaf disable { + description + "Disable prefix validation"; + type empty; + } + } + } + } + + grouping bgp-bestpath-without-validation-grouping { + container bestpath { + description + "Change the default best path selection"; + container igp-metric { + description + "igp metric"; + leaf ignore { + description + "Ignore igp metric in bestpath selection"; + type empty; + } + } + container prefix-validate { + status obsolete; + description + "Prefix origin validation (OBSOLETE)"; + leaf allow-invalid { + status obsolete; + description + "Allow invalid routes to be considered for best path (OBSOLETE)"; + type empty; + } + leaf disable { + status obsolete; + description + "Disable prefix validation (OBSOLETE)"; + type empty; + } + } + } + } + + grouping bgp-dampening-grouping { + container dampening { + description + "Enable route-flap dampening"; + presence "enable bgp route-flap dampening"; + choice dampening-choice { + leaf route-map { + description + "Route-map to specify criteria for dampening"; + type string; + } + container dampen { + leaf half-life-time { + description + "Half-life time for the penalty"; + type uint8 { + range "1 .. 45"; + } + } + leaf reuse-time { + description + "Value to start reusing a route"; + type uint16 { + range "1 .. 20000"; + } + } + leaf suppress-time { + description + "Value to start suppressing a route"; + must '. >= ../reuse-time' { + error-message "suppress-time should be greater than reuse-time"; + } + type uint16 { + range "1 .. 20000"; + } + } + leaf max-suppress-time { + description + "Maximum duration to suppress a stable route"; + must '. >= ../half-life-time' { + error-message "max-suppress-time should be greater than half-life-time"; + } + type uint8 { + range "1 .. 255"; + } + } + must '((half-life-time) and (reuse-time) and (suppress-time) and (max-suppress-time)) or ((half-life-time) and not(reuse-time) and not(suppress-time) and not(max-suppress-time))' { + error-message "must configure (half-life-time) or (half-life-time,reuse-time,suppress-time and max-suppress-time)"; + } + } + } + } + } + + grouping bgp-default-grouping { + container default { + description + "Configure BGP defaults"; + container route-target { + description + "Control behavior based on Route-Target attributes"; + leaf filter { + description + "Default route-target filter"; + default "true"; + type boolean; + } + } + } + container route-target { + description + "Control behavior based on Route-Target attributes (OBSOLETE)"; + leaf filter { + status obsolete; + description + "Default route-target filter (OBSOLETE)"; + default "true"; + type boolean; + } + } + } + + grouping bgp-dmzlink-bw-grouping { + leaf dmzlink-bw { + description + "Use DMZ Link Bandwidth as weight for BGP multipaths"; + type empty; + } + } + + grouping bgp-inject-map-grouping { + list inject-map { + description + "Route map which specifies prefixes to inject"; + key "name"; + leaf name { + type string; + } + leaf exist-map { + description + "Route map which specifies exist condition"; + type string; + mandatory true; + } + leaf copy-attributes { + description + "Copy attributes from aggregate"; + type empty; + } + } + } + + grouping bgp-listen-vrf-grouping { + container listen { + description + "Neighbor subnet range listener"; + leaf limit { + description + "Set the max limit for the dynamic subnet range neighbors in vrf"; + default "100"; + type uint16 { + range "1..10000"; + } + } + list block { + description + "block address for dynamic peering"; + key "peering-address"; + leaf peering-address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + } + } + + grouping bgp-nexthop-grouping { + container nexthop { + description + "Nexthop tracking commands"; + container trigger { + description + "Nexthop triggering"; + leaf delay { + description + "Set the delay to trigger nexthop tracking"; + default "5"; + when "../enable = 'true'"; + type uint8 { + range "0..100"; + } + } + leaf enable { + description + "Enable nexthop tracking"; + default "true"; + type boolean; + } + } + leaf route-map { + description + "Route map for valid nexthops"; + type string; + } + } + } + + grouping bgp-nexthop-obsolete-grouping { + container nexthop { + status obsolete; + description + "Nexthop tracking commands (OBSOLETE)"; + container trigger { + status obsolete; + description + "Nexthop triggering (OBSOLETE)"; + leaf delay { + status obsolete; + description + "Set the delay to trigger nexthop tracking (OBSOLETE)"; + default "5"; + when "../enable = 'true'"; + type uint8 { + range "0..100"; + } + } + leaf enable { + status obsolete; + description + "Enable nexthop tracking (OBSOLETE)"; + default "true"; + type boolean; + } + } + leaf route-map { + status obsolete; + description + "Route map for valid nexthops (OBSOLETE)"; + type string; + } + } + } + + grouping bgp-recursion-grouping { + container recursion { + description + "recursion rule for the nexthops"; + leaf host { + description + "recursion via host for the nexthops"; + type empty; + } + } + } + + grouping bgp-redistribute-internal-grouping { + leaf redistribute-internal { + description + "Allow redistribution of iBGP into IGPs (dangerous)"; + type empty; + } + } + + grouping bgp-redistribute-internal-obsolete-grouping { + leaf redistribute-internal { + description + "Allow redistribution of iBGP into IGPs (dangerous) (OBSOLETE) - This + configuration is no longer valid at this location"; + status obsolete; + type empty; + } + } + + grouping bgp-route-map-grouping { + container route-map { + description + "bgp route-map commands"; + leaf priority { + description + "Have route-map set commands take priority over BGP commands such as + next-hop-unchanged"; + type empty; + } + } + } + + grouping bgp-rr-group-grouping { + leaf rr-group { + description + "Partition the network by forming RR groups"; + type string; + } + } + + grouping bgp-scan-time-grouping { + leaf scan-time { + description + "Configure background scanner interval"; + default "60"; + type uint8 { + range "5..60"; + } + } + } + + grouping bgp-slow-peer-grouping { + container slow-peer { + description + "Configure slow-peer"; + container detection { + description + "Slow-peer detection"; + presence "true"; + leaf threshold { + description + "Threshold value (seconds)"; + default "300"; + type uint16 { + range "120..3600"; + } + } + leaf disable { + status obsolete; + description + "Disable slow-peer detection"; + type empty; + } + } + container split-update-group { + description + "Configure slow-peer split-update-group"; + container dynamic { + description + "Dynamically split the slow peer to slow-update group"; + presence "true"; + leaf permanent { + description + "Keep the slow-peer permanently in slow-update group"; + type empty; + } + leaf disable { + status obsolete; + description + "Disable slow-peer detection"; + type empty; + } + } + leaf static { + status obsolete; + description + "Static slow-peer"; + type empty; + } + } + } + } + + grouping bgp-soft-reconfig-backup-grouping { + leaf soft-reconfig-backup { + description + "Use soft-reconfiguration inbound only when route-refresh is not negotiated"; + type empty; + } + } + + grouping config-srv6-grouping { + list segment-routing-srv6 { + max-elements 1; + key "sr-srv6"; + leaf sr-srv6 { + type enumeration { + enum srv6; + } + } + container locator { + leaf locator-id { + type string; + } + } + } + } + + grouping address-family-segment-routing-srv6-vpn-grouping { + list segment-routing-srv6 { + max-elements 1; + key "sr-srv6"; + leaf sr-srv6 { + type enumeration { + enum srv6; + } + } + container locator { + leaf locator-id { + type string; + } + } + container alloc-mode { + leaf allocation-type { + type enumeration { + enum per-vrf; + } + } + } + } + } + + grouping address-family-segment-routing-srv6-grouping { + list segment-routing-srv6 { + max-elements 1; + key "sr-srv6"; + leaf sr-srv6 { + type enumeration { + enum srv6; + } + } + container locator { + leaf locator-id { + type string; + } + } + container alloc-mode { + leaf allocation-type { + type enumeration { + enum per-vrf; + } + } + } + container mpls { + container alloc { + leaf enable { + type empty; + } + } + } + } + } + + grouping bgp-sourced-paths-grouping { + container sourced-paths { + description + "Allow sourcing of multiple paths per protocol"; + container per-net { + description + "Allow per-network sourcing of multiple paths"; + container isis { + description + "Allow sourcing of multiple paths from isis"; + leaf all { + description + "Allow sourcing of all sourced paths as in rib"; + type empty; + } + } + container ospf { + description + "Allow sourcing of multiple paths from ospf"; + leaf all { + description + "Allow sourcing of all sourced paths as in rib"; + type empty; + } + } + container ospfv3 { + description + "Allow sourcing of multiple paths from ospfv3"; + leaf all { + description + "Allow sourcing of all sourced paths as in rib"; + type empty; + } + } + container static { + description + "Allow sourcing of multiple paths from static"; + leaf all { + description + "Allow sourcing of all sourced paths as in rib"; + type empty; + } + } + } + } + } + + grouping bgp-suppress-inactive-grouping { + leaf suppress-inactive { + description + "Suppress routes that are not in the routing table"; + type empty; + } + } + + grouping bgp-update-group-grouping { + container update-group { + description + "Manage peers in bgp update groups"; + container split { + description + "Split update groups based on Policy"; + leaf as-override { + description + "Keep peers with as-override in different update groups"; + type empty; + } + } + } + } + + grouping neighbor-accept-route-legacy-rt-grouping { + leaf accept-route-legacy-rt { + description + "Accept Legacy Route Target"; + type empty; + } + } + + grouping neighbor-activate-grouping { + leaf activate { + description + "Enable the address family for this neighbor"; + type empty; + } + } + + grouping neighbor-additional-paths-grouping { + container additional-paths { + choice additional-paths-choice { + leaf disable-paths { + description + "Disable additional paths for this neighbor"; + type empty; + } + leaf receive-paths { + description + "Receive additional paths from neighbors"; + type empty; + } + container send-paths { + description + "Send additional paths to this neighbor"; + presence "true"; + leaf receive { + description + "Receive additional paths from this neighbor"; + type empty; + } + } + } + leaf disable { + description + "Disable additional paths for this neighbor (OBSOLETE)"; + status obsolete; + type empty; + } + leaf receive { + description + "Receive additional paths from neighbors (OBSOLETE)"; + status obsolete; + type empty; + } + container send { + description + "Send additional paths to this neighbor (OBSOLETE)"; + status obsolete; + presence "true"; + leaf receive { + description + "Receive additional paths from this neighbor (OBSOLETE)"; + status obsolete; + type empty; + } + } + } + } + + grouping neighbor-advertise-grouping { + container advertise { + description + "Advertise to this neighbor"; + choice advertise-choice { + container additional-paths-choice { + description + "Advertise additional paths"; + leaf all { + description + "Select all, group-best, best available paths"; + type empty; + } + leaf group-best { + description + "Select group-best path"; + type empty; + } + leaf best { + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + container diverse-path-choice { + description + "Advertise diverse path"; + leaf backup { + description + "Diverse path can be backup path"; + type empty; + } + leaf mpath { + description + "Diverse path can be multipath"; + type empty; + } + must '(../../ios-bgp:route-reflector-client and (backup or mpath)) or (not(backup) and not(mpath))' { + error-message "Neighbor must be route reflector client in order to configure diverse-path"; + } + } + } + container additional-paths { + status obsolete; + description + "Advertise additional paths (OBSOLETE)"; + container all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + presence "true"; + container best { + status obsolete; + description + "Select best N paths (OBSOLETE)"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + leaf group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + type empty; + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + } + container best { + status obsolete; + description + "Select best N paths (OBSOLETE)"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + } + leaf best-external { + description + "Advertise best-external (at RRs best-internal) path"; + type empty; + } + container diverse-path { + status obsolete; + description + "Advertise diverse path (OBSOLETE)"; + container backup { + status obsolete; + description + "Diverse path can be backup path (OBSOLETE)"; + presence "true"; + leaf mpath { + status obsolete; + description + "Diverse path can be multipath (OBSOLETE)"; + type empty; + } + } + leaf mpath { + status obsolete; + description + "Diverse path can be multipath (OBSOLETE)"; + type empty; + } + must '(../../ios-bgp:route-reflector-client and (backup or mpath)) or (not(backup) and not(mpath))' { + error-message "Neighbor must be route reflector client in order to configure diverse-path"; + } + } + } + } + + grouping evpn-neighbor-advertise-grouping { + container advertise { + description + "Advertise to this neighbor"; + container additional-paths { + description + "Advertise additional paths"; + container all-best { + description + "Select all, group-best, best available paths"; + leaf all { + description + "Select all, group-best, best available paths"; + type empty; + } + leaf group-best { + description + "Select group-best path"; + type empty; + } + leaf best { + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + container all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + presence "true"; + container best { + status obsolete; + description + "Select best N paths (OBSOLETE)"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + leaf group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + type empty; + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + } + container best { + status obsolete; + description + "Select best N paths (OBSOLETE)"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths (OBSOLETE)"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths (OBSOLETE)"; + type empty; + } + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected (OBSOLETE)"; + type uint8 { + range "2..3"; + } + } + } + } + leaf best-external { + status obsolete; + description + "Advertise best-external (at RRs best-internal) path (OBSOLETE)"; + type empty; + } + container diverse-path { + status obsolete; + description + "Advertise diverse path (OBSOLETE)"; + container backup { + status obsolete; + description + "Diverse path can be backup path (OBSOLETE)"; + presence "true"; + leaf mpath { + status obsolete; + description + "Diverse path can be multipath (OBSOLETE)"; + type empty; + } + } + leaf mpath { + status obsolete; + description + "Diverse path can be multipath (OBSOLETE)"; + type empty; + } + } + } + } + + grouping neighbor-vpn-advertise-grouping { + container advertise { + description + "Advertise to this neighbor"; + container additional-paths { + status obsolete; + description + "Advertise additional paths"; + container all { + status obsolete; + description + "Select all available paths"; + presence "true"; + container best { + status obsolete; + description + "Select best N paths"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + leaf group-best { + status obsolete; + description + "Select group-best paths"; + type empty; + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths"; + presence "true"; + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + } + container best { + status obsolete; + description + "Select best N paths"; + list best-range { + status obsolete; + key "range"; + leaf range { + status obsolete; + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + leaf all { + status obsolete; + description + "Select all available paths"; + type empty; + } + container group-best { + status obsolete; + description + "Select group-best paths"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths"; + type empty; + } + } + } + } + container group-best { + status obsolete; + description + "Select group-best paths"; + presence "true"; + leaf all { + status obsolete; + description + "Select all available paths"; + type empty; + } + leaf best { + status obsolete; + description + "Number of best paths in additional paths to be selected"; + type uint8 { + range "2..3"; + } + } + } + } + leaf best-external { + description + "Advertise best-external (at RRs best-internal) path"; + type empty; + } + container diverse-path { + description + "Advertise diverse path"; + leaf backup-path { + description + "Diverse path can be backup path"; + when '../../../route-reflector-client'; + type empty; + } + container backup { + status obsolete; + description + "Diverse path can be backup path"; + presence "true"; + leaf mpath { + status obsolete; + description + "Diverse path can be multipath"; + type empty; + } + } + leaf mpath { + description + "Diverse path can be multipath"; + when '../../../route-reflector-client'; + type empty; + } + } + } + } + + grouping neighbor-advertise-gw-ip-disable-grouping { + leaf advertise-gw-ip-disable { + description + "Zero out gateway IP address for IP prefix"; + type empty; + } + } + + grouping neighbor-advertise-map-grouping { + container advertise-map { + description + "specify route-map for conditional advertisement"; + list name { + key "word"; + leaf word { + description + "advertise route-map name"; + type string; + } + leaf-list exist-map-list { + description + "condition route-map name"; + type string; + } + leaf-list non-exist-map-list { + description + "condition route-map name"; + type string; + } + leaf exist-map { + status obsolete; + description + "condition route-map name (OBSOLETE) - Please use exist-map-list + instead"; + type string; + } + leaf non-exist-map { + status obsolete; + description + "condition route-map name (OBSOLETE) - Please use non-exist-map + instead"; + type string; + } + must 'exist-map-list or non-exist-map-list' { + error-message "Either exist-map or non-exist-map must be configured"; + } + } + } + } + + grouping neighbor-advertisement-interval-grouping { + leaf advertisement-interval { + description + "Minimum interval between sending BGP routing updates"; + type uint16 { + range "0..600"; + } + } + } + + grouping neighbor-advertisement-interval-ebgp-grouping { + leaf advertisement-interval-ebgp { + status obsolete; + description + "Minimum interval between sending BGP routing updates for eBGP peers(OBSOLETE)"; + type uint16 { + range "0..600"; + } + } + } + + grouping neighbor-aigp-grouping { + container aigp { + description + "Enable a AIGP on neighbor"; + presence "true"; + container send { + description + "Cost community or MED carrying AIGP VALUE"; + choice send-options { + case cost-community { + container cost-community { + presence "true"; + description + "Cost extended community carrying AIGP Value"; + leaf community-id { + description + "Community ID"; + type uint8 { + range "0..255"; + } + } + leaf poi-leaf { + description + "Point of insertion"; + type enumeration { + enum igp-cost; + enum pre-bestpath; + } + } + leaf transitive { + description + "Cost community is transitive"; + when '../poi-leaf'; + type empty; + } + container poi { + description + "Point of insertion (OBSOLETE)"; + status obsolete; + choice poi-options { + status obsolete; + case igp-cost { + status obsolete; + container igp-cost { + description + "Point of insertion after IGP (OBSOLETE)"; + status obsolete; + presence "true"; + leaf transitive { + status obsolete; + description + "Cost community is transitive (OBSOLETE)"; + type empty; + } + } + } + case pre-bestpath { + status obsolete; + container pre-bestpath { + description + "Point of insertion at beginning (OBSOLETE)"; + status obsolete; + presence "true"; + leaf transitive { + status obsolete; + description + "Cost community is transitive (OBSOLETE)"; + type empty; + } + } + } + } + } + } + } + case med { + leaf med { + description + "Med carrying AIGP Value"; + type empty; + } + } + } + } + } + } + + grouping neighbor-allow-policy-grouping { + leaf allow-policy { + description + "Enable the policy support for this IBGP Neighbor"; + type empty; + } + } + + grouping neighbor-allowas-in-grouping { + container allowas-in { + description + "Accept as-path with my AS present in it"; + presence "accept as-paths"; + leaf as-number { + type uint8 { + range "1..10"; + } + } + } + } + + grouping neighbor-announce-grouping { + container announce { + description + "Announce RPKI state using an extended community"; + container rpki { + description + "Announce RPKI information using an extended community"; + leaf state { + description + "Announce RPKI state information using an extended community"; + type empty; + must "((../../../ios-bgp:send-community/ios-bgp:send-community-where = 'extended') or (../../../ios-bgp:send-community/ios-bgp:send-community-where = 'both'))" { + error-message "Configure neighbor send-community extended before rpki"; + } + } + } + } + } + + grouping neighbor-as-override-grouping { + container as-override { + description + "Override matching AS-number while sending update"; + presence "true"; + leaf split-horizon { + type empty; + } + } + } + + grouping neighbor-capability-peer-group-grouping { + leaf prefix-list-send { + description + "Advertise prefix list ORF capability to this neighbor"; + type enumeration { + enum send; + } + } + } + + grouping neighbor-capability-grouping { + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + leaf-list prefix-list { + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + } + + grouping neighbor-default-originate-grouping { + container default-originate { + description + "Originate default route to this neighbor"; + presence "enable originate default route to this neighbor"; + leaf route-map { + description + "Route-map to specify criteria to originate default"; + type string; + } + } + } + + grouping rtfilter-neighbor-default-originate-grouping { + leaf default-originate-rtfilter { + description + "Originate default route to this neighbor"; + type empty; + } + } + + grouping neighbor-distribute-list-grouping { + list distribute-list { + description + "Filter updates to/from this neighbor"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf accesslist { + type ios-types:bgp-distribute-list-type2; + mandatory true; + } + } + } + + grouping neighbor-dmzlink-bw-grouping { + leaf dmzlink-bw { + description + "Propagate the DMZ link bandwidth"; + type empty; + } + } + + grouping neighbor-encap-grouping { + container encap { + description + "Preferred encapsulation for neighbor"; + choice encap-choice { + leaf mpls { + description + "Neighbor prefers MPLS"; + type empty; + } + leaf vxlan { + description + "Neighbor prefers VxLAN"; + type empty; + } + } + } + } + + grouping neighbor-srv6-encap-grouping { + container srv6-encap { + description + "Preferred encapsulation for neighbor"; + leaf srv6 { + description + "Neighbor prefers SR-V6"; + type empty; + } + } + } + + grouping neighbor-filter-list-grouping { + list filter-list { + description + "Establish BGP filters"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf as-path-list { + type uint16 { + range "1..500"; + } + mandatory true; + } + } + } + + grouping template-filter-list-grouping { + list filter-list1 { + description + "Establish BGP filters"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf as-path-list { + type uint16 { + range "1..500"; + } + mandatory true; + } + } + } + + grouping neighbor-internal-vpn-client-grouping { + leaf internal-vpn-client { + description + "Stack iBGP-CE Neighbor Path in ATTR SET for VPN update"; + type empty; + } + } + + grouping neighbor-maximum-prefix-grouping { + container maximum-prefix { + description + "Maximum number of prefixes accepted from this peer"; + leaf max-prefix-no { + description + "maximum no. of prefix limit"; + type uint32 { + range "1..2147483647"; + } + } + leaf threshold { + when '(../max-prefix-no)'; + default "75"; + type uint8 { + range "1..100"; + } + } + leaf restart { + description + "Restart bgp connection after limit is exceeded"; + type uint16 { + range "1..65535"; + } + must 'not(../warning-only)' { + error-message + "restart cannot be configured at the same time as + warning-only or discard-extra"; + } + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + leaf discard-extra { + when 'not (../warning-only) and not(../restart)'; + description + "Discard extra prefixes received after the limit is reached"; + type empty; + } + must '(max-prefix-no) or (not(max-prefix-no) and not(threshold) and not(restart) and not(warning-only))' { + error-message "max-prefix-no must be configured"; + } + } + } + + grouping address-family-mvpn-select-grouping { + container mvpn { + description + "Configure mvpn"; + container single-forwarder-selection { + description + "Configure mvpn single-forwarder-selection"; + leaf highest-ip-address { + description + "Select highest ip address"; + type empty; + } + } + } + } + + grouping neighbor-next-hop-self-grouping { + container next-hop-self { + description + "Disable the next hop calculation for this neighbor"; + presence "true"; + leaf all { + description + "Enable next-hop-self for both eBGP and iBGP received paths"; + type empty; + } + } + } + + grouping neighbor-next-hop-unchanged-grouping { + leaf next-hop-unchanged { + status obsolete; + description + "Propagate the iBGP paths' next hop unchanged for this neighbor + (OBSOLETE) - Please us nexthop-unchanged/next-hop-unchanged instead."; + type empty; + } + } + + grouping neighbor-next-hop-unchanged-v2-grouping { + container nexthop-unchanged { + description + "Propagate the iBGP paths' next hop unchanged for this neighbor"; + leaf next-hop-unchanged { + description + "Propagate the iBGP paths' next hop unchanged for this neighbor"; + type empty; + } + leaf allpaths { + when '../next-hop-unchanged'; + description + "Propagate next hop unchanged for all iBGP paths to this neighbor"; + type empty; + } + } + } + + grouping vrf-neighbor-next-hop-unchanged-grouping { + leaf next-hop-unchanged { + status obsolete; + description + "Propagate the iBGP paths' next hop unchanged for this neighbor (OBSOLETE)"; + type empty; + must '(../ios-bgp:ebgp-multihop or /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id = ../remote-as)' { + error-message + "Can propagate the nexthop only to multi-hop EBGP neighbor + or iBGP VRF CE lite"; + } + } + } + + grouping vrf-neighbor-next-hop-unchanged-v2-grouping { + container nexthop-unchanged { + description + "Propagate the iBGP paths' next hop unchanged for this neighbor"; + leaf next-hop-unchanged { + description + "Propagate the iBGP paths' next hop unchanged for this neighbor"; + type empty; + must '(../../ios-bgp:ebgp-multihop or /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id = ../../remote-as)' { + error-message + "Can propagate the nexthop only to multi-hop EBGP neighbor + or iBGP VRF CE lite"; + } + } + leaf allpaths { + when '../next-hop-unchanged'; + description + "Propagate next hop unchanged for all iBGP paths to this neighbor"; + type empty; + } + } + } + + grouping neighbor-peer-group-grouping { + container peer-group { + description + "Member of the peer-group"; + leaf peer-group-name { + description + "peer-group name"; + type string; + } + } + } + + grouping scope-neighbor-peer-group-grouping { + container peer-group { + description + "Member of the peer-group"; + leaf peer-group-name { + description + "peer-group name"; + type string; + } + } + } + + grouping scope-neighbor-peer-group-obsolete-grouping { + container peer-group { + status obsolete; + description + "Member of the peer-group"; + leaf peer-group-name { + status obsolete; + description + "peer-group name"; + type string; + } + } + } + + grouping neighbor-peer-group-obsolete-grouping { + container peer-group { + status obsolete; + description + "Member of the peer-group (OBSOLETE)"; + leaf peer-group-name { + status obsolete; + description + "peer-group name (OBSOLETE)"; + type string; + } + } + } + + grouping peer-group-peer-group-grouping { + leaf peer-group { + description + "Member of the peer-group"; + type empty; + mandatory true; + } + } + + grouping peer-group-peer-group-obsolete-grouping { + leaf peer-group { + description + "Member of the peer-group (OBSOLETE)"; + status obsolete; + type empty; + mandatory true; + } + } + + grouping neighbor-prefix-length-size-grouping { + leaf prefix-length-size { + description + "Storage size in bytes"; + type uint16 { + range "1..2"; + } + } + } + + grouping neighbor-prefix-list-grouping { + list prefix-list { + description + "Filter updates to/from this neighbor"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf prefix-list-name { + type string; + mandatory true; + } + } + } + + grouping neighbor-remove-private-as-grouping { + container remove-private-as { + description + "Remove private AS number from outbound updates"; + presence "true"; + container all { + description + "Remove all private AS numbers"; + presence "true"; + leaf replace-as { + description + "Replace all private AS numbers with local AS"; + type empty; + } + } + } + } + + grouping neighbor-route-map-grouping { + list route-map { + description + "Apply route map to neighbor"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf route-map-name { + type string; + mandatory true; + } + } + } + + grouping template-route-map-grouping { + list route-map1 { + description + "Apply route map to neighbor"; + key "inout"; + leaf inout { + type enumeration { + enum in; + enum out; + } + } + leaf route-map-name { + type string; + mandatory true; + } + } + } + + grouping neighbor-route-reflector-client-grouping { + leaf route-reflector-client { + description + "Configure a neighbor as Route Reflector client"; + type empty; + } + } + + grouping neighbor-send-community-obsolete-grouping { + container send-community { + description + "Send Community attribute to this neighbor"; + status obsolete; + presence "true"; + leaf send-community-where { + status obsolete; + default "standard"; + type enumeration { + enum both; + enum extended; + enum standard; + } + } + } + } + + grouping neighbor-send-community-nsap-grouping { + leaf send-community-nsap { + description + "Send Community attribute to this neighbor"; + type empty; + } + } + + grouping neighbor-send-community-grouping { + container send-community { + description + "Send Community attribute to this neighbor"; + presence "true"; + leaf send-community-where { + default "standard"; + type enumeration { + enum both; + enum extended; + enum standard; + } + } + } + } + + grouping neighbor-send-label-only-grouping { + leaf send-label-no-vrf { + description + "Send NLRI + MPLS Label to this peer"; + type empty; + } + } + + grouping vrf-neighbor-send-label-grouping { + leaf send-label-vrf { + description + "Send NLRI + MPLS Label to this peer"; + type empty; + } + } + + grouping neighbor-send-label-grouping { + container send-label { + description + "Send NLRI + MPLS Label to this peer"; + presence "true"; + leaf send-label-explicit { + type enumeration { + enum explicit-null; + } + } + } + } + + grouping neighbor-send-label-obsolete-grouping { + container send-label { + status obsolete; + description + "Send NLRI + MPLS Label to this peer"; + presence "true"; + leaf send-label-explicit { + status obsolete; + type enumeration { + enum explicit-null; + } + } + } + } + + grouping neighbor-slow-peer-grouping { + container slow-peer { + description + "Configure slow-peer"; + container detection { + description + "Slow-peer detection"; + presence "true"; + leaf threshold { + description + "Threshold value (seconds)"; + type uint16 { + range "120..3600"; + } + } + leaf disable { + description + "Disable slow-peer detection"; + type empty; + } + must "(not(threshold) and disable) or (threshold and not(disable)) or + (not(threshold) and not(disable))" { + error-message "threshold and disable can't be configured at the same time"; + } + } + container split-update-group { + description + "Configure slow-peer split-update-group"; + container dynamic { + description + "Dynamically split the slow peer to slow-update group"; + presence "true"; + leaf permanent { + description + "Keep the slow-peer permanently in slow-update group"; + type empty; + } + leaf disable { + description + "Disable slow-peer detection"; + type empty; + } + must "(not(permanent) and disable) or (permanent and not(disable)) or + (not(permanent) and not(disable))" { + error-message "threshold and disable can't be configured at the same time"; + } + } + leaf static { + description + "Static slow-peer"; + type empty; + } + } + } + } + + grouping neighbor-soft-reconfiguration-grouping { + leaf soft-reconfiguration { + description + "Per neighbor soft reconfiguration"; + type enumeration { + enum inbound; + } + } + } + + grouping neighbor-soft-reconfiguration-obsolete-grouping { + leaf soft-reconfiguration { + status obsolete; + description + "Per neighbor soft reconfiguration (OBSOLETE)"; + type enumeration { + enum inbound; + } + } + } + + grouping neighbor-soo-grouping { + leaf soo { + description + "ASN:nn or IP-address:nn VPN extended community"; + type string { + pattern '[0-9]*:[0-9]*|[0-9.]*:[0-9]*'; + } + } + } + + grouping neighbor-suppress-signaling-protocol-grouping { + container suppress-signaling-protocol { + description + "suppress VPLS signaling protocol"; + leaf ldp { + description + "suppress ldp signaling, enable bgp signaling"; + type empty; + } + } + } + + grouping neighbor-translate-update-grouping { + container translate-update { + description + "Translate update to MBGP format"; + container multicast { + description + "Address Family modifier"; + presence "Address Family modifier"; + leaf unicast { + description + "Address Family modifier"; + type empty; + } + } + container ipv4 { + status obsolete; + description + "Address Family (OBSOLETE)"; + container multicast { + status obsolete; + description + "Address Family modifier (OBSOLETE)"; + presence "Address Family modifier"; + leaf unicast { + status obsolete; + description + "Address Family modifier (OBSOLETE)"; + type empty; + } + } + } + } + } + + grouping neighbor-unsuppress-map-grouping { + leaf unsuppress-map { + description + "Route-map to selectively unsuppress suppressed routes"; + type string; + } + } + + grouping neighbor-validation-grouping { + container validation { + description + "Validation of flowspec paths"; + leaf off { + description + "Disable all validations except on Redirect-IP ext comm"; + type empty; + } + leaf redirect-off { + description + "Disable validations on Redirect-IP ext comm"; + type empty; + } + } + } + + grouping neighbor-weight-grouping { + leaf weight { + description + "Set default weight for routes from this neighbor"; + type uint16 { + range "0..65535"; + } + } + } + + grouping neighbor-bmp-activate-grouping { + container bmp-activate { + description + "Activate the BMP monitoring for a BGP peer"; + choice bmp-activate-nbr-choice { + leaf bmp-act-server-all { + description + "Activate BMP monitoring for all servers"; + type empty; + } + container bmp-server-list { + description + "Activate BMP for server"; + container server1 { + leaf server { + type enumeration { + enum 1; + } + } + } + container server2 { + leaf server { + type enumeration { + enum 2; + } + } + } + container server3 { + leaf server { + type enumeration { + enum 3; + } + } + } + container server4 { + leaf server { + type enumeration { + enum 4; + } + } + } + } + } + choice bmp-activate-choice { + status deprecated; + case all { + leaf all { + status deprecated; + description + "Activate BMP monitoring for all servers (DEPRECATED)"; + type empty; + } + leaf all-internal { + status deprecated; + description + "DO NOT USE - Not configurable, workaround for mapping choice"; + type empty; + } + } + case server-list { + container server-list { + status deprecated; + description + "Activate BMP for server (DEPRECATED)"; + leaf server-1 { + status deprecated; + description + "Activate BMP for server-1"; + type enumeration { + enum 1; + } + } + leaf server-2 { + status deprecated; + description + "Activate BMP for server-2"; + type enumeration { + enum 2; + } + } + leaf server-3 { + status deprecated; + description + "Activate BMP for server-3"; + type enumeration { + enum 3; + } + } + leaf server-4 { + status deprecated; + description + "Activate BMP for server-4"; + type enumeration { + enum 4; + } + } + } + } + } + } + } + + grouping neighbor-cluster-id-grouping { + leaf cluster-id { + type union { + type uint32 { + range "1..4294967294"; + } + type inet:ipv4-address; + } + must '/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id = ../remote-as' { + error-message "cluster-id only allowed for IBGP peers"; + } + } + } + + grouping neighbor-description-grouping { + leaf description { + description + "Neighbor specific description"; + type string; + } + } + + grouping neighbor-description-obsolete-grouping { + leaf description { + description + "Neighbor specific description (OBSOLETE)"; + status obsolete; + type string; + } + } + + grouping neighbor-disable-connected-check-grouping { + leaf disable-connected-check { + description + "one-hop away EBGP peer using loopback address"; + type empty; + must 'not(../remote-as = /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id)' { + error-message "allowed only for eBGP peers"; + } + } + } + + grouping neighbor-dont-capability-negotiate-grouping { + container dont-capability-negotiate { + description + "Send Capability parameters in Open"; + presence "true"; + leaf enhanced-refresh { + description + "Suppress Enhanced Refresh capability in Open"; + type empty; + } + leaf four-octets-as { + description + "Suppress Four-octet ASN capability in Open"; + type empty; + } + } + } + + grouping dont-capability-negotiate-grouping { + container dont-capability-negotiate { + description + "Send Capability parameters in Open"; + presence "true"; + leaf enhanced-refresh-leaf { + description + "Suppress Enhanced Refresh capability in Open"; + type empty; + } + leaf four-octets-as-leaf { + description + "Suppress Four-octet ASN capability in Open"; + type empty; + } + choice dont-capability-negotiate-option { + status deprecated; + case refresh-option { + leaf enhanced-refresh { + status deprecated; + description + "Suppress Enhanced Refresh capability in Open (DEPRECATED)"; + type empty; + } + leaf enhanced-refresh-internal { + status deprecated; + description + "DO NOT USE - Not configurable, workaround for mapping choice"; + type empty; + } + } + case four-octet-as-option { + leaf four-octets-as { + status deprecated; + description + "Suppress Four-octet ASN capability in Open (DEPRECATED)"; + type empty; + } + leaf four-octets-as-internal { + status deprecated; + description + "DO NOT USE - Not configurable, workaround for mapping choice"; + type empty; + } + } + } + } + } + + grouping neighbor-ebgp-multihop-grouping { + container ebgp-multihop { + description + "Allow EBGP neighbors not on directly connected networks. For + single-hop ebgp peers, delete ebgp-multihop directly."; + presence "ebgp-multihop parameters"; + leaf max-hop { + type uint8 { + range "2..255"; + } + default "255"; + } + } + } + + grouping neighbor-fall-over-grouping { + container fall-over { + description + "session fall on peer route lost"; + container default { + leaf enable { + type empty; + } + leaf route-map { + type string; + } + } + container bfd { + description + "Use BFD to detect failure"; + presence "true"; + choice hop-choice { + leaf multi-hop { + description + "Force BFD multi-hop to detect failure"; + type empty; + } + leaf single-hop { + description + "Force BFD single-hop to detect failure"; + type empty; + } + } + leaf check-control-plane-failure { + description + "Retrieve control plane dependent failure info from BFD for BGP + GR/NSR operation"; + type empty; + } + leaf strict-mode { + description + "Enable BFD strict-mode"; + type empty; + } + } + container maximum-metric { + presence "true"; + leaf route-map { + type string; + } + } + } + } + + grouping neighbor-ha-mode-grouping { + container ha-mode { + description + "high availability mode"; + container graceful-restart { + description + "graceful-restart for this peer"; + presence "true"; + leaf disable { + description + "disable graceful-restart"; + type empty; + } + } + container sso { + description + "stateful-switchover support for this peer"; + presence "true"; + leaf disable { + description + "disable stateful-switchover"; + type empty; + } + } + } + } + + grouping neighbor-inherit-grouping { + container inherit { + description + "Inherit a template"; + leaf peer-policy { + description + "Inherit a peer-policy template"; + type string; + } + leaf peer-session { + description + "Inherit a peer-session template"; + type string; + } + } + } + + grouping template-peer-session-inherit-grouping { + container inherit { + description + "Inherit a template"; + leaf peer-policy { + status obsolete; + description + "Inherit a peer-policy template (OBSOLETE)"; + type string; + } + leaf peer-session { + description + "Inherit a peer-session template"; + type string; + } + } + } + + grouping neighbor-af-inherit-grouping { + container inherit { + description + "Inherit a template"; + leaf peer-policy { + description + "Inherit a peer-policy template"; + type leafref { + path "/ios:native/ios:router/ios-bgp:bgp/ios-bgp:template/ios-bgp:peer-policy/ios-bgp:name"; + } + } + leaf peer-session { + status obsolete; + description + "Inherit a peer-session template (OBSOLETE)"; + type string; + } + } + } + + grouping global-neighbor-inherit-grouping { + container inherit { + description + "Inherit a template"; + leaf peer-session { + description + "Inherit a peer-session template"; + type leafref { + path "/ios:native/ios:router/ios-bgp:bgp/ios-bgp:template/ios-bgp:peer-session/ios-bgp:name"; + } + } + leaf peer-policy { + status obsolete; + description + "Inherit a peer-policy template (OBSOLETE)"; + type string; + } + } + } + + grouping peer-group-inherit-grouping { + container inherit { + status obsolete; + description + "Inherit a template"; + leaf peer-policy { + status obsolete; + description + "Inherit a peer-policy template (OBSOLETE)"; + type string; + } + leaf peer-session { + status obsolete; + description + "Inherit a peer-session template (OBSOLETE)"; + type string; + } + } + } + + grouping neighbor-inter-as-hybrid-grouping { + leaf inter-as-hybrid { + description + "Inter AS Hybrid mode"; + type empty; + } + } + + grouping neighbor-long-lived-grouping { + container long-lived-graceful-restart { + description + "Enable long-lived-graceful-restart"; + container stale-time-choice { + description + "Maximum time to wait before purging long-lived stale routes"; + choice stale-time-choice { + container with-send-option { + presence "true"; + leaf send { + description + "Stale-time sent in capability"; + mandatory true; + type uint32 { + range "0..4294967"; + } + } + leaf accept { + description + "Maximum stale-time acceptable from neighbor"; + mandatory true; + type uint32 { + range "0..4294967"; + } + } + } + container without-send-option { + leaf accept { + description + "Maximum stale-time acceptable from neighbor"; + type uint32 { + range "0..4294967"; + } + } + } + } + } + container stale-time { + description + "Maximum time to wait before purging long-lived stale routes (OBSOLETE)"; + status obsolete; + leaf send { + status obsolete; + description + "Stale-time sent in capability (OBSOLETE)"; + when '../accept'; + type uint32 { + range "0..4294967"; + } + } + leaf accept { + status obsolete; + description + "Maximum stale-time acceptable from neighbor (OBSOLETE)"; + type uint32 { + range "0..4294967"; + } + } + } + } + } + + grouping neighbor-local-as-grouping { + container local-as { + description + "Specify a local-as number"; + presence "Specify a local-as number"; + leaf as-no { + type ios-types:bgp-as-number-type; + } + leaf no-prepend { + when '../as-no'; + description + "Do not prepend local-as to updates from ebgp peers"; + type empty; + must '(../../remote-as != ../as-no)' { + error-message "iBGP local-as dual-as cannot have configured no-prepend/replace-as"; + } + } + leaf replace-as { + when '../no-prepend'; + description + "Replace real AS with local AS in the EBGP updates"; + type empty; + } + leaf dual-as { + description + "Accept either real AS or local AS from the ebgp peer"; + type empty; + must '(../../remote-as = ../as-no) or (../no-prepend or ../replace-as)' { + error-message "dual-as not allowed without no-prepend/replace-as for eBGP local-as"; + } + } + must '(../remote-as != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id) and (as-no != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id)' { + error-message "local-as not allowed for true (non-local-as) iBGP peers and local-as should not be same as global-as number"; + } + } + } + + grouping neighbor-peer-group-local-as-grouping { + container local-as { + description + "Specify a local-as number"; + presence "Specify a local-as number"; + leaf as-no { + type ios-types:bgp-as-number-type; + } + leaf no-prepend { + when '../as-no'; + description + "Do not prepend local-as to updates from ebgp peers"; + type empty; + } + leaf replace-as { + when '../no-prepend'; + description + "Replace real AS with local AS in the EBGP updates"; + type empty; + } + leaf dual-as { + description + "Accept either real AS or local AS from the ebgp peer"; + type empty; + must '(../../remote-as = ../as-no) or (../no-prepend or ../replace-as)' { + error-message "dual-as not allowed without no-prepend/replace-as for eBGP local-as"; + } + } + must '(../remote-as != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id) and (as-no != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:id)' { + error-message "local-as not allowed for true (non-local-as) iBGP peers and local-as should not be same as global-as number"; + } + } + } + + grouping template-local-as-grouping { + container local-as { + description + "Specify a local-as number"; + presence "Specify a local-as number"; + leaf as-no { + type ios-types:bgp-as-number-type; + } + choice local-as-choice { + case as-options { + leaf no-prepend { + when '../as-no'; + description + "Do not prepend local-as to updates from ebgp peers"; + type empty; + } + leaf replace-as { + when '../no-prepend'; + description + "Replace real AS with local AS in the EBGP updates"; + type empty; + } + leaf dual-as { + when '../replace-as'; + description + "Accept either real AS or local AS from the ebgp peer"; + type empty; + } + } + case dual-as-option { + leaf dual-as-no { + description + "Accept either real AS or local AS from the ebgp peer"; + type empty; + } + } + } + } + } + + grouping neighbor-log-neighbor-changes-grouping { + container log-neighbor-changes { + description + "Log neighbor up/down and reset reason"; + presence "true"; + leaf disable { + description + "disable"; + type empty; + } + } + } + + grouping neighbor-password-grouping { + container password { + description + "Set a password"; + leaf enctype { + description + "Encryption type (0 to disable encryption, 7 for proprietary)"; + type uint8 { + range "0..7"; + } + } + leaf text { + type string { + pattern '.*'; + length "1..52"; + } + } + must '(not(text) and not(enctype)) or text' { + error-message "password text must be configured"; + } + } + } + + grouping neighbor-password-obsolete-grouping { + container password { + status obsolete; + description + "Set a password"; + leaf enctype { + status obsolete; + description + "Encryption type (0 to disable encryption, 7 for proprietary)"; + type uint8 { + range "0..7"; + } + } + leaf text { + status obsolete; + type string { + pattern '.*'; + length "1..52"; + } + } + must '(not(text) and not(enctype)) or text' { + error-message "password text must be configured"; + } + } + } + + grouping neighbor-ao-grouping { + container ao { + description + "BGP AO security"; + leaf keychain-name { + description + "Key Chain Name"; + type string; + must 'not(. and ../../password/text)' { + error-message "Neighbor cannot have both password and ao keychain-name"; + } + } + leaf include-tcp-options { + when '../keychain-name'; + description + "Include TCP options"; + type empty; + } + leaf accept-ao-mismatch-connections { + when '../keychain-name'; + description + "accept ao mismatch connections"; + type empty; + } + } + } + + grouping neighbor-ao-obsolete-grouping { + container ao { + status obsolete; + description + "BGP AO security"; + leaf keychain-name { + status obsolete; + description + "Key Chain Name"; + type string; + must 'not(. and ../../password/text)' { + error-message "Neighbor cannot have both password and ao keychain-name"; + } + } + leaf include-tcp-options { + status obsolete; + when '../keychain-name'; + description + "Include TCP options"; + type empty; + } + leaf accept-ao-mismatch-connections { + status obsolete; + when '../keychain-name'; + description + "accept ao mismatch connections"; + type empty; + } + } + } + + grouping neighbor-path-attribute-grouping { + container path-attribute { + description + "BGP optional attribute filtering"; + container discard { + description + "Discard matching path-attribute for this neighbor"; + uses bgp-path-range-grouping; + } + container treat-as-withdraw { + description + "Treat-as-withdraw matching path-attribute for this neighbor"; + uses bgp-path-range-grouping; + } + } + } + + grouping bgp-path-range-grouping { + list attribute-type { + key "type"; + leaf type { + description + "path attribute type"; + type uint8 { + range "1..255"; + } + } + leaf in { + description + "Perform inbound path-attribute filtering"; + mandatory true; + type empty; + } + } + container attibute_type { + status obsolete; + description + "This node is obsolete and replaced by list attribute-type (OBSOLETE)"; + leaf type { + status obsolete; + description + "path attribute type (OBSOLETE)"; + type uint8 { + range "1..255"; + } + } + leaf in { + status obsolete; + description + "Perform inbound path-attribute filtering (OBSOLETE)"; + type empty; + } + } + container range { + description + "This node is deprecated and replaced by list range1"; + leaf start_value { + description + "path attribute range start value"; + type uint8 { + range "1..255"; + } + } + leaf end_value { + when '../start_value'; + description + "path attribute range end value"; + type uint8 { + range "1..255"; + } + } + leaf in { + when '../end_value'; + description + "Perform inbound path-attribute filtering"; + type empty; + } + must "(start_value and end_value and in) or (not(start_value) and + not(end_value) and not(in))" { + error-message + "Start-value, end-value, and in must all be configured in + the range."; + } + } + } + + grouping neighbor-remote-as-grouping { + leaf remote-as { + description + "Specify a BGP peer-group remote-as"; + type ios-types:bgp-as-number-type; + } + } + + grouping neighbor-remote-as-obsolete-grouping { + leaf remote-as { + description + "Specify a BGP peer-group remote-as(Obsolete)"; + status obsolete; + type ios-types:bgp-as-number-type; + } + } + + grouping neighbor-pg-remote-as-grouping { + leaf remote-as { + description + "Specify a BGP peer-group remote-as"; + type ios-types:bgp-as-number-type; + } + } + + grouping neighbor-shutdown-grouping { + leaf shutdown { + description + "Administratively shut down this neighbor"; + type empty; + } + } + + grouping generic-timers-grouping { + container timers { + description + "BGP per neighbor timers"; + leaf keepalive-interval { + type uint16 { + range "0..65535"; + } + } + leaf holdtime { + type uint16 { + range "0..65535"; + } + } + leaf minimum-neighbor-hold { + type uint16 { + range "0..65535"; + } + } + } + } + + grouping neighbor-timers-grouping { + uses generic-timers-grouping { + refine "timers" { + must '(not(keepalive-interval) and not(holdtime) and not(minimum-neighbor-hold)) or ((keepalive-interval and holdtime) and (((keepalive-interval < holdtime) and keepalive-interval != 0) or ((keepalive-interval = 0) and (holdtime = 0))) and not(../peer-group/peer-group-name))' { + error-message + "Timers cannot be configured for peer-group members. + Keepalive-interval and holdtime must be configured. + Holdtime should be greater than the keepalive time. + If keepalive is 0, holdtime should also be 0"; + } + } + } + } + + grouping peer-group-timers-grouping { + uses generic-timers-grouping { + refine "timers" { + must '(not(keepalive-interval) and not(holdtime) and not(minimum-neighbor-hold)) or ((keepalive-interval and holdtime) and (((keepalive-interval < holdtime) and keepalive-interval != 0) or ((keepalive-interval = 0) and (holdtime = 0))))' { + error-message + "Keepalive-interval and holdtime must be configured. + Holdtime should be greater than the keepalive time. + If keepalive is 0, holdtime should also be 0"; + } + } + } + } + + grouping neighbor-transport-grouping { + container transport { + description + "Transport options"; + leaf connection-mode { + description + "Specify passive or active connection"; + type enumeration { + enum active; + enum passive; + } + } + leaf multi-session { + description + "Use multi-session for transport"; + type empty; + } + container path-mtu-discovery { + description + "Use transport path MTU discovery"; + presence "true"; + leaf disable { + description + "disable"; + type empty; + } + } + } + } + + grouping neighbor-ttl-security-grouping { + container ttl-security { + description + "BGP ttl security check"; + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + must 'not(../../ios-bgp:ebgp-multihop)' { + error-message "Remove ebgp-multihop before configuring ttl-security"; + } + } + } + } + + grouping neighbor-update-grouping { + container update { + description + "Modify update processing"; + container in { + description + "Modify inbound update processing"; + container labeled-unicast { + description + "Modify update processing for labeled-unicast SAFI"; + leaf unique { + description + "SAFI 1 and SAFI 4 processed independently"; + type empty; + } + } + } + container out { + description + "Modify outbound update processing"; + container labeled-unicast { + description + "Modify update processing for labeled-unicast SAFI"; + leaf unique { + description + "SAFI 1 and SAFI 4 processed independently"; + type empty; + } + } + } + } + } + + grouping neighbor-update-source-grouping { + container update-source { + description + "Source of routing updates"; + container interface { + uses ios:interface-with-dependency-grouping; + } + uses ios-ifc:interface-obsolete-grouping; + } + } + + grouping neighbor-update-source-obsolete-grouping { + container update-source { + status obsolete; + description + "Source of routing updates"; + container interface { + status obsolete; + uses ios:interface-with-dependency-grouping; + } + uses ios-ifc:interface-obsolete-grouping; + } + } + + grouping neighbor-version-grouping { + leaf version { + description + "Set the BGP version to match a neighbor"; + type uint16 { + range "4"; + } + } + } + + grouping neighbor-version-obsolete-grouping { + leaf version { + status obsolete; + description + "Set the BGP version to match a neighbor"; + type uint16 { + range "4"; + } + } + } + + grouping address-family-advertise-grouping { + container advertise { + description + "Configure path advertise/export to other address-family"; + container l2vpn { + description + "Address family for VRF advertise/export"; + leaf evpn { + description + "Advertise/export prefixes to l2vpn evpn table"; + type empty; + } + leaf allow-suppressed { + description + "also advertise suppressed routes"; + type empty; + when '../evpn'; + } + leaf evpn-prefix-limit { + description + "Upper limit on advertise/export prefixes without + hogging memory"; + when '../evpn'; + type uint32 { + range "1..2147483647"; + } + } + } + } + } + + grouping address-family-ipv4-aggregate-address-grouping { + list aggregate-address { + description + "Configure BGP aggregate entries"; + key "ipv4-address ipv4-mask"; + leaf ipv4-address { + type inet:ipv4-address; + } + leaf ipv4-mask { + type inet:ipv4-address; + } + leaf as-confed-set { + description + "Generate AS confed set path information"; + type empty; + must 'not(../as-set)' { + error-message + "as-confed-set and as-set cannot be configured at the + same time"; + } + } + leaf as-set { + description + "Generate AS set path information"; + type empty; + } + leaf summary-only { + description + "Filter more specific routes from updates"; + type empty; + } + leaf attribute-map { + description + "Route map for parameter control"; + type string; + } + leaf as-override { + status obsolete; + description + "Override matching AS-number while sending update (OBSOLETE)"; + type empty; + } + leaf route-map { + status obsolete; + description + "OBSOLETE"; + type string; + } + leaf advertise-map { + description + "Set condition to advertise attribute"; + type string; + } + leaf suppress-map { + description + "Conditionally filter more specific routes from updates"; + type string; + } + } + } + + grouping address-family-ipv6-aggregate-address-grouping { + list aggregate-address { + description + "Configure BGP aggregate entries"; + key "ipv6-address"; + leaf ipv6-address { + type ios-types:ipv6-prefix; + } + leaf advertise-map { + description + "Set condition to advertise attribute"; + type string; + } + leaf as-confed-set { + description + "Generate AS confed set path information"; + type empty; + must 'not(../as-set)' { + error-message + "as-confed-set and as-set cannot be configured at the + same time"; + } + } + leaf as-set { + description + "Generate AS set path information"; + type empty; + } + leaf attribute-map { + type string; + } + leaf as-override { + status obsolete; + description + "Override matching AS-number while sending update (OBSOLETE)"; + type empty; + } + leaf route-map { + status obsolete; + description + "OBSOLETE - Please use attribute-map"; + type string; + } + leaf summary-only { + description + "Filter more specific routes from updates"; + type empty; + } + leaf suppress-map { + description + "Conditionally filter more specific routes from updates"; + type string; + } + } + } + + grouping address-family-ipv6-aggregate-address-grouping-obsolete { + list aggregate-address { + description + "Configure BGP aggregate entries (OBSOLETE)"; + status obsolete; + key "ipv6-address"; + leaf ipv6-address { + type ios-types:ipv6-prefix; + status obsolete; + } + leaf advertise-map { + description + "Set condition to advertise attribute (OBSOLETE)"; + status obsolete; + type string; + } + leaf as-confed-set { + description + "Generate AS confed set path information (OBSOLETE)"; + status obsolete; + type empty; + must 'not(../as-set)' { + error-message + "as-confed-set and as-set cannot be configured at the + same time"; + } + } + leaf as-set { + description + "Generate AS set path information (OBSOLETE)"; + status obsolete; + type empty; + } + leaf attribute-map { + status obsolete; + type string; + } + leaf as-override { + status obsolete; + description + "Override matching AS-number while sending update (OBSOLETE)"; + type empty; + } + leaf route-map { + status obsolete; + description + "OBSOLETE - Please use attribute-map"; + type string; + } + leaf summary-only { + description + "Filter more specific routes from updates (OBSOLETE)"; + status obsolete; + type empty; + } + leaf suppress-map { + description + "Conditionally filter more specific routes from updates (OBSOLETE)"; + status obsolete; + type string; + } + } + } + + grouping address-family-auto-summary-grouping { + leaf auto-summary { + description + "Enable automatic network number summarization"; + type empty; + } + } + + grouping address-family-default-information-grouping { + container default-information { + description + "Control distribution of default information"; + leaf originate { + description + "Distribute a default route"; + type empty; + } + } + } + + grouping address-family-default-information-obsolete-grouping { + container default-information { + status obsolete; + description + "Control distribution of default information (OBSOLETE)"; + leaf originate { + status obsolete; + description + "Distribute a default route (OBSOLETE)"; + type empty; + } + } + } + + grouping address-family-default-metric-grouping { + leaf default-metric { + description + "Set metric of redistributed routes"; + type uint32 { + range "1..4294967295"; + } + } + } + + grouping address-family-distance-grouping { + container distance { + description + "Define an administrative distance"; + container bgp { + description + "BGP distance"; + leaf extern-as { + type uint16 { + range "1..255"; + } + } + leaf internal-as { + type uint16 { + range "1..255"; + } + } + leaf local { + type uint16 { + range "1..255"; + } + } + must '(extern-as and internal-as and local) or (not(extern-as) and not(internal-as) and not(local))' { + error-message "external-as, internal-as, and local must be configured"; + } + } + list adm-distance { + key "distance srcip wildbits"; + leaf distance { + type uint16 { + range "1..255"; + } + } + leaf srcip { + type inet:ipv4-address; + } + leaf wildbits { + type inet:ipv4-address; + } + leaf acl { + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + } + } + } + + grouping address-family-distance-with-obsolete-admDistance-grouping { + container distance { + description + "Define an administrative distance"; + container bgp { + description + "BGP distance"; + leaf extern-as { + description + "Distance for routes external to the AS"; + type uint16 { + range "1..255"; + } + } + leaf internal-as { + description + "Distance for routes external to the AS"; + type uint16 { + range "1..255"; + } + } + leaf local { + description + "Distance for local routes"; + type uint16 { + range "1..255"; + } + } + must '(extern-as and internal-as and local) or (not(extern-as) and not(internal-as) and not(local))' { + error-message "external-as, internal-as, and local must be configured"; + } + } + list adm-distance { + status obsolete; + key "distance srcip wildbits"; + leaf distance { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf srcip { + status obsolete; + type inet:ipv4-address; + } + leaf wildbits { + status obsolete; + type inet:ipv4-address; + } + leaf acl { + status obsolete; + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + } + } + } + + grouping address-family-ipv6-distance-grouping { + container distance { + description + "Define an administrative distance"; + container bgp { + description + "BGP distance"; + leaf extern-as { + description + "Distance for routes external to the AS"; + type uint16 { + range "1..255"; + } + } + leaf internal-as { + description + "Distance for routes internal to the AS"; + type uint16 { + range "1..255"; + } + } + leaf local { + description + "Distance for local routes"; + type uint16 { + range "1..255"; + } + } + must '(extern-as and internal-as and local) or (not(extern-as) and not(internal-as) and not(local))' { + error-message "external-as, internal-as, and local must be configured"; + } + } + list adm-distance { + key "distance src-ipv6-address"; + leaf distance { + description + "Administrative distance"; + type uint16 { + range "1..255"; + } + } + leaf src-ipv6-address { + description + "Prefix to match source address"; + type ios-types:ipv6-prefix; + } + leaf prefix-list-name { + description + "IPv6 prefix list name to match routes from the source"; + type string; + } + } + } + } + + grouping address-family-distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + uses address-family-distribute-list-with-interface-grouping; + list accesslist { + key "acl in-out"; + leaf acl { + description + "Access-list number or name"; + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + leaf in-out { + description + "Filter incoming or out-going update"; + mandatory true; + type ios-types:access-list-in-out-type; + } + container interface { + status obsolete; + description + "Interface name (Interface container is obsolete)."; + choice interface-choice { + status obsolete; + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + status obsolete; + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + status obsolete; + description + "ATM interface"; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + status obsolete; + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status obsolete; + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + status obsolete; + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status obsolete; + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status obsolete; + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + status obsolete; + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + status obsolete; + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + status obsolete; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + status obsolete; + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + status obsolete; + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigE { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + status obsolete; + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + status obsolete; + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + status obsolete; + description + "Hundred GigabitEthernet"; + type string; + } + leaf LISP { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status obsolete; + description + "Loopback interface"; + type uint32; + } + leaf Multilink { + status obsolete; + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + status obsolete; + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + status obsolete; + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + status obsolete; + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + status obsolete; + description + "SM Interface"; + type string; + } + leaf Cellular { + status obsolete; + description + "Cellular Interface"; + type string; + } + leaf Dialer { + status obsolete; + description + "Dialer Interface"; + type string; + } + leaf Serial { + status obsolete; + description + "Serial interface"; + type string; + } + leaf TenGigabitEthernet { + status obsolete; + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + status obsolete; + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + status obsolete; + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + status obsolete; + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + status obsolete; + description + "vasileft"; + type uint16; + } + leaf vasiright { + status obsolete; + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + status obsolete; + description + "Bridge-Domain Virtual IP interface"; + type string; + } + } + } + } + list prefix-gateway-name { + key "prefix-gateway name in-out"; + leaf prefix-gateway { + type enumeration { + enum prefix; + enum gateway; + } + } + leaf name { + description + "Prefix-list name"; + type string; + } + leaf in-out { + description + "Filter incoming or out-going update"; + type ios-types:access-list-in-out-type; + } + container interface { + status obsolete; + description + "Interface name (Interface container is obsolete)."; + choice interface-choice { + status obsolete; + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + status obsolete; + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + status obsolete; + description + "ATM interface"; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + status obsolete; + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status obsolete; + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + status obsolete; + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status obsolete; + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status obsolete; + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + status obsolete; + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + status obsolete; + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + status obsolete; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + status obsolete; + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + status obsolete; + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigE { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + status obsolete; + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + status obsolete; + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + status obsolete; + description + "Hundred GigabitEthernet"; + type string; + } + leaf LISP { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status obsolete; + description + "Loopback interface"; + type uint32; + } + leaf Multilink { + status obsolete; + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + status obsolete; + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + status obsolete; + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + status obsolete; + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + status obsolete; + description + "SM Interface"; + type string; + } + leaf Cellular { + status obsolete; + description + "Cellular Interface"; + type string; + } + leaf Dialer { + status obsolete; + description + "Dialer Interface"; + type string; + } + leaf Serial { + status obsolete; + description + "Serial interface"; + type string; + } + leaf TenGigabitEthernet { + status obsolete; + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + status obsolete; + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + status obsolete; + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + status obsolete; + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + status obsolete; + description + "vasileft"; + type uint16; + } + leaf vasiright { + status obsolete; + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + status obsolete; + description + "Bridge-Domain Virtual IP interface"; + type string; + } + } + } + } + } + } + + grouping address-family-distribute-list-with-interface-grouping { + container with-interface { + list accesslist { + key "acl in-out interface"; + leaf acl { + description + "Access-list number or name"; + mandatory true; + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + leaf in-out { + description + "Filter incoming or out-going update"; + mandatory true; + type ios-types:access-list-in-out-type; + } + leaf interface { + description + "Interface name"; + mandatory true; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + list prefix-gateway-name { + key "prefix-gateway name in-out interface"; + leaf prefix-gateway { + type enumeration { + enum prefix; + enum gateway; + } + } + leaf name { + description + "Prefix-list name"; + type string; + } + leaf in-out { + description + "Filter incoming or out-going update"; + type ios-types:access-list-in-out-type; + } + leaf interface { + description + "Interface name"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + } + } + + grouping evpn-rewrite-rt-grouping { + leaf rewrite-evpn-rt-asn { + description + "Enable rewrite RT in the BGP EVPN address-family"; + type empty; + } + } + + grouping address-family-l2vpn-import-grouping { + container import { + description + "Configure path import"; + container vpnv4 { + leaf unicast { + type empty; + } + leaf re-originate { + type empty; + } + } + container vpnv6 { + leaf unicast { + type empty; + } + leaf re-originate { + description + "Imported path with RT re-originate"; + type empty; + } + } + } + } + + grouping address-family-vpnv4-import-grouping { + container import { + description + "Configure path import"; + container l2vpn { + description + "Configure EVPN to VPN path import"; + leaf evpn { + type empty; + } + leaf re-originate { + type empty; + } + leaf stitching-rt { + when '../evpn and ../re-originate'; + type empty; + } + } + container nhrp { + description + "Configure NHRP to VPN path import"; + presence "true"; + leaf route-map { + description + "Route-map to filter the prefixes"; + type string; + } + } + } + } + + grouping address-family-vpnv6-import-grouping { + container import { + description + "Configure path import"; + container l2vpn { + description + "Configure EVPN to VPN path import"; + leaf evpn { + type empty; + } + leaf re-originate { + type empty; + } + leaf stitching-rt { + when '../evpn and ../re-originate'; + type empty; + } + } + } + } + + grouping address-family-vrf-import-grouping { + container import { + description + "Configure path import"; + container path { + description + "Path selection and path limit"; + leaf limit { + description + "Per net imported path limit"; + type uint8 { + range "2..255"; + } + } + container selection { + description + "Path selection policy"; + leaf all { + description + "Import all available paths"; + type empty; + } + } + } + container vpnv4 { + status obsolete; + description + "(OBSOLETE)"; + leaf unicast { + status obsolete; + type empty; + } + leaf re-originate { + status obsolete; + description + "(OBSOLETE)"; + type empty; + } + } + container vpnv6 { + status obsolete; + leaf unicast { + status obsolete; + description + "(OBSOLETE)"; + type empty; + } + leaf re-originate { + status obsolete; + description + "Imported path with RT re-originate (OBSOLETE)"; + type empty; + } + } + container l2vpn { + status obsolete; + description + "Configure EVPN to VPN path import (OBSOLETE)"; + leaf evpn { + status obsolete; + description + "OBSOLETE"; + type empty; + } + leaf re-originate { + status obsolete; + description + "OBSOLETE"; + type empty; + } + } + } + } + + grouping address-family-maximum-secondary-paths-grouping { + container maximum-secondary-paths { + description + "Forward packets over multiple secondary paths"; + leaf ebgp { + description + "eBGP-multipath"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + description + "Both eBGP and iBGP paths as secondary multipath"; + type uint16 { + range "1..32"; + } + } + leaf ibgp { + description + "iBGP-secondary-multipath"; + type uint16 { + range "1..32"; + } + } + must '((not(eibgp) and not(ebgp) and ibgp) or (not(eibgp) and not(ibgp) and ebgp) or (not(ibgp) and not(ebgp) and eibgp) or (not(ibgp) and not(ebgp) and not(eibgp)))' { + error-message "maximum-secondary-paths options are mutually exclusive, please configure only 1 at a time"; + } + } + } + + grouping address-family-unicast-reachability-grouping { + container unicast-reachability { + description + "Disable communities for non-MVPN profiles"; + container source-as { + description + "MVPN Source AS Extended Community"; + leaf disable { + description + "disable advertisement"; + type empty; + } + } + container vrf-route-import { + description + "MVPN VRF Route Import Extended Community"; + leaf disable { + description + "disable advertisement"; + type empty; + } + } + } + } + + grouping address-family-maximum-paths-grouping { + container maximum-paths { + description + "Forward packets over multiple paths"; + leaf ebgp { + description + "eBGP-multipath"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + description + "Both eBGP and iBGP paths as multipath"; + type uint16 { + range "1..32"; + } + } + container ibgp { + description + "iBGP-multipath"; + choice ibgp-choice { + leaf unequal-cost { + description + "Perform un-equal cost multipath selection"; + type uint16 { + range "1..32"; + } + } + leaf max { + type uint16 { + range "1..32"; + } + } + } + } + must 'not(ebgp and eibgp) and not(eibgp and (ibgp/unequal-cost or ibgp/max))' { + error-message "eibgp cannot be configured with ebgp or ibgp maximum-paths"; + } + } + } + + grouping maximum-paths-ibgp-grouping-obsolete { + container ibgp { + status obsolete; + description + "iBGP-multipath (OBSOLETE)"; + choice ibgp-choice { + status obsolete; + leaf unequal-cost { + status obsolete; + description + "Perform un-equal cost multipath selection (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + leaf max { + status obsolete; + type uint16 { + range "1..32"; + } + } + } + } + } + + grouping address-family-ipv4-maximum-paths-grouping { + container maximum-paths { + description + "Forward packets over multiple paths"; + leaf ebgp { + description + "eBGP-multipath"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + description + "Both eBGP and iBGP paths as multipath"; + type uint16 { + range "1..32"; + } + } + leaf ibgp-leaf { + description + "iBGP-multipath"; + type uint16 { + range "1..32"; + } + } + uses maximum-paths-ibgp-grouping-obsolete; + must 'not(ebgp and eibgp) and not(eibgp and ibgp-leaf)' { + error-message "eibgp cannot be configured with ebgp or ibgp maximum-paths"; + } + } + } + + grouping address-family-ipv4-maximum-paths-grouping-obsolete { + container maximum-paths { + description + "Forward packets over multiple paths"; + status obsolete; + leaf ebgp { + description + "eBGP-multipath"; + status obsolete; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + description + "Both eBGP and iBGP paths as multipath"; + status obsolete; + type uint16 { + range "1..32"; + } + } + leaf ibgp-leaf { + description + "iBGP-multipath"; + status obsolete; + type uint16 { + range "1..32"; + } + } + uses maximum-paths-ibgp-grouping-obsolete; + } + } + + grouping address-family-ipv6-label-mode-grouping { + container label { + description + "BGP LU Label config"; + container mode { + description + "BGP LU Label Mode config"; + choice mode-choice { + leaf explicit-null { + description + "Locally Connected Route Explicit-null"; + type empty; + } + leaf all-explicit-null { + description + "All Prefix Explicit-null"; + type empty; + } + } + } + } + } + + grouping address-family-rtf-maximum-paths-grouping { + container maximum-paths { + description + "Forward packets over multiple paths"; + leaf external-rtfilter { + description + "VPN prefix maximum number of multipaths on external RT-Filter peers"; + default "1"; + type uint16 { + range "1..32"; + } + } + } + } + + grouping address-family-vpnv4-maximum-paths-grouping { + container maximum-paths { + description + "Forward packets over multiple paths"; + leaf ebgp { + type uint16 { + range "1..32"; + } + } + } + } + + grouping address-family-maximum-paths-ebgp-grouping-obsolete { + container maximum-paths { + description + "Forward packets over multiple paths"; + status obsolete; + leaf ebgp { + description + "eBGP-multipath"; + status obsolete; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + status obsolete; + description + "Both eBGP and iBGP paths as multipath"; + type uint16 { + range "1..32"; + } + } + container ibgp { + status obsolete; + description + "iBGP-multipath"; + choice ibgp-choice { + status obsolete; + leaf unequal-cost { + status obsolete; + description + "Perform un-equal cost multipath selection"; + type uint16 { + range "1..32"; + } + } + leaf max { + status obsolete; + type uint16 { + range "1..32"; + } + } + } + } + } + } + + grouping address-family-maximum-paths-ebgp-grouping { + container maximum-paths { + description + "Forward packets over multiple paths"; + leaf ebgp { + description + "eBGP-multipath"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + status obsolete; + description + "Both eBGP and iBGP paths as multipath"; + type uint16 { + range "1..32"; + } + } + container ibgp { + status obsolete; + description + "iBGP-multipath"; + choice ibgp-choice { + status obsolete; + leaf unequal-cost { + status obsolete; + description + "Perform un-equal cost multipath selection"; + type uint16 { + range "1..32"; + } + } + leaf max { + status obsolete; + type uint16 { + range "1..32"; + } + } + } + } + } + } + + grouping address-family-link-state-domain-distinguisher-grouping { + container domain-distinguisher { + description + "Configure BGP Domain distinguisher"; + presence "BGP Domain distinguisher"; + leaf as-num { + type ios-types:bgp-as-number-type; + mandatory true; + description + "AS number"; + } + leaf lsid-choice { + mandatory true; + type union { + type uint32 { + range "1..2147483647"; + } + type inet:ipv4-address; + } + } + } + } + + grouping address-family-link-state-propagate-aspath-grouping { + leaf propagate-aspath { + status obsolete; + description + "Propagate AS Path (OBSOLETE)"; + type empty; + } + } + + grouping address-family-ipv4-network-grouping { + container network { + list with-mask { + description + "Specify a network to announce via BGP"; + key "number mask"; + leaf number { + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + type inet:ipv4-address; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + } + list no-mask { + description + "Specify a network to announce via BGP"; + key "number"; + leaf number { + type inet:ipv4-address; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + } + } + } + + grouping address-family-ipv4-network-obsolete-grouping { + container network { + status obsolete; + list with-mask { + status obsolete; + description + "Specify a network to announce via BGP (OBSOLETE)"; + key "number mask"; + leaf number { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "Network mask (OBSOLETE)"; + type inet:ipv4-address; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + } + list no-mask { + status obsolete; + description + "Specify a network to announce via BGP (OBSOLETE)"; + key "number"; + leaf number { + status obsolete; + type inet:ipv4-address; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + } + } + } + + grouping address-family-vrf-ipv4-network-grouping { + container network { + list with-mask { + description + "Specify a network to announce via BGP"; + key "number mask"; + leaf number { + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + type inet:ipv4-address; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + choice network-option { + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + leaf evpn { + description + "Advertise or export to EVPN address-family"; + type empty; + } + } + } + list no-mask { + description + "Specify a network to announce via BGP"; + key "number"; + leaf number { + type inet:ipv4-address; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + choice network-option { + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + leaf evpn { + description + "Advertise or export to EVPN address-family"; + type empty; + } + } + } + } + } + + grouping address-family-vrf-ipv4-network-obsolete-grouping { + container network { + status obsolete; + list with-mask { + description + "Specify a network to announce via BGP (OBSOLETE)"; + status obsolete; + key "number mask"; + leaf number { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "Network mask (OBSOLETE)"; + type inet:ipv4-address; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + choice network-option { + status obsolete; + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + leaf evpn { + status obsolete; + description + "Advertise or export to EVPN address-family (OBSOLETE)"; + type empty; + } + } + } + list no-mask { + status obsolete; + description + "Specify a network to announce via BGP (OBSOLETE)"; + key "number"; + leaf number { + type inet:ipv4-address; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + choice network-option { + status obsolete; + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + leaf evpn { + status obsolete; + description + "Advertise or export to EVPN address-family (OBSOLETE)"; + type empty; + } + } + } + } + } + + grouping address-family-nsap-network-grouping { + list network { + description + "Specify a network to announce via BGP"; + key "number"; + leaf number { + type inet:ipv4-address; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + } + } + + grouping address-family-ipv6-network-grouping { + list network { + description + "Specify a network to announce via BGP"; + key "number"; + leaf number { + type ios-types:ipv6-prefix; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + } + } + + grouping address-family-ipv6-network-obsolete-grouping { + list network { + status obsolete; + description + "Specify a network to announce via BGP (OBSOLETE)"; + key "number"; + leaf number { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + } + } + + grouping address-family-vrf-ipv6-network-grouping { + list network { + description + "Specify a network to announce via BGP"; + key "number"; + leaf number { + type ios-types:ipv6-prefix; + } + leaf route-map { + description + "Route-map to modify the attributes"; + type string; + } + leaf backdoor { + description + "Specify a BGP backdoor route"; + type empty; + } + leaf evpn { + description + "Advertise or export to EVPN address-family"; + type empty; + } + } + } + + grouping address-family-vrf-ipv6-network-obsolete-grouping { + list network { + status obsolete; + description + "Specify a network to announce via BGP (OBSOLETE)"; + key "number"; + leaf number { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf route-map { + status obsolete; + description + "Route-map to modify the attributes (OBSOLETE)"; + type string; + } + leaf backdoor { + status obsolete; + description + "Specify a BGP backdoor route (OBSOLETE)"; + type empty; + } + leaf evpn { + status obsolete; + description + "Advertise or export to EVPN address-family (OBSOLETE)"; + type empty; + } + } + } + + grouping address-family-propagate-aspath-grouping { + leaf propagate-aspath { + if-feature "ios-features:omp"; + description + "BGP Propagate AS Path"; + type empty; + } + leaf propagate-community { + if-feature "ios-features:omp"; + description + "BGP Propagate Community"; + type empty; + } + } + + grouping address-family-propagate-aspath-obsolete-grouping { + leaf propagate-aspath { + status obsolete; + if-feature "ios-features:omp"; + description + "BGP Propagate AS Path (OBSOLETE)"; + type empty; + } + leaf propagate-community { + status obsolete; + if-feature "ios-features:omp"; + description + "BGP Propagate Community (OBSOLETE)"; + type empty; + } + } + + grouping address-family-redistribute-vrf-grouping { + list vrf { + description + "Specify a source VRF"; + key "vrf-name"; + leaf vrf-name { + description + "Source VRF name"; + type union { + type string; + type enumeration { + enum global; + } + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + presence "true"; + leaf as-no { + mandatory true; + type ios-types:bgp-as-number-type; + } + uses redistribute-metric-route-map-v2-grouping; + } + container connected { + description + "Connected"; + presence "Connected"; + uses redistribute-metric-route-map-v2-grouping; + } + uses redistribute-eigrp-grouping; + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses redistribute-ospf-non-vrf-grouping; + } + container static { + presence "Static routes"; + description + "Static routes"; + choice static-choice { + container clns { + description + "Redistribution of OSI dynamic routes"; + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container ip { + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container default { + uses redistribute-metric-route-map-v2-grouping; + } + } + } + } + } + + grouping redistribute-nhrp-grouping { + list nhrp { + if-feature "ios-features:nhrp"; + description + "Next Hop Resolution Protocol (NHRP)"; + key "process-id"; + max-elements 1; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + leaf registered { + description + "Redistribute NHRP registered routes"; + type empty; + } + leaf resolved { + description + "Redistribute NHRP resolved routes"; + type empty; + } + leaf summary { + description + "Redistribute NHRP summary routes learnt from NHS(s)"; + type empty; + } + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping address-family-redistribute-grouping { + container redistribute { + description + "Redistribute information from another routing protocol"; + container application { + description + "Application"; + list name { + key "name"; + leaf name { + description + "WORD :: Route-map name"; + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + } + container bgp { + status obsolete; + description + "Border Gateway Protocol (BGP) (OBSOLETE)"; + leaf as-no { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses metric-route-map-grouping-obsolete; + } + container connected { + description + "Connected"; + presence "Connected"; + uses redistribute-metric-route-map-v2-grouping; + } + container dvmrp { + status obsolete; + description + "Redistribution of DVMRP into BGP IPv4 Multicast (OBSOLETE)"; + presence "Redistribution of DVMRP into BGP IPv4 Multicast"; + uses metric-route-map-grouping-obsolete; + } + uses redistribute-eigrp-grouping; + container isis { + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + uses redistribute-isis-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + key "area-tag"; + leaf area-tag { + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + uses redistribute-isis-grouping; + } + } + container lisp { + description + "Locator/ID Separation Protocol"; + presence "lisp"; + leaf include-connected { + status obsolete; + description + "OBSOLETE"; + type empty; + } + uses redistribute-metric-route-map-v2-grouping; + } + container iso-igrp { + description + "IGRP for OSI networks"; + list iso-igrp-area { + key "name"; + leaf name { + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + container default { + uses redistribute-metric-route-map-v2-grouping; + } + } + container mobile { + presence "Mobile routes"; + description + "Mobile routes"; + uses redistribute-metric-route-map-v2-grouping; + } + container odr { + presence "On Demand stub Routes"; + description + "On Demand stub Routes"; + uses redistribute-metric-route-map-v2-grouping; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses redistribute-metric-route-map-translate-v2-grouping; + } + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "NAT Route"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + uses redistribute-metric-route-map-v2-grouping; + } + uses redistribute-nhrp-grouping; + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + choice ospf-choice { + list vrf { + description + "VPN Routing/Forwarding Instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses redistribute-ospf-non-vrf-grouping; + } + container non-vrf { + uses redistribute-ospf-non-vrf-grouping; + } + } + } + list ospfv3 { + description + "OSPFv3"; + key "id"; + leaf id { + type leafref { + path "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:id"; + } + } + uses redistribute-ospf-non-vrf-grouping; + } + container rip { + presence "Routing Information Protocol (RIP)"; + description + "Routing Information Protocol (RIP)"; + leaf name { + description + "User selected string identifying this process"; + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + container static { + presence "Static routes"; + description + "Static routes"; + choice static-choice { + container clns { + description + "Redistribution of OSI dynamic routes"; + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container ip { + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container default { + uses redistribute-metric-route-map-v2-grouping; + } + } + } + uses address-family-redistribute-vrf-grouping; + } + } + + grouping address-family-redistribute-grouping-obsolete { + container redistribute { + status obsolete; + description + "Redistribute information from another routing protocol"; + container application { + status obsolete; + description + "Application"; + presence "true"; + list name { + status obsolete; + key "name"; + leaf name { + status obsolete; + description + "WORD :: Route-map name"; + type string; + } + uses metric-route-map-grouping-obsolete; + } + } + container bgp { + status obsolete; + description + "Border Gateway Protocol (BGP) (OBSOLETE)"; + leaf as-no { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses metric-route-map-grouping-obsolete; + } + container connected { + description + "Connected"; + status obsolete; + presence "Connected"; + uses metric-route-map-grouping-obsolete; + } + container dvmrp { + status obsolete; + description + "Redistribution of DVMRP into BGP IPv4 Multicast (OBSOLETE)"; + presence "Redistribution of DVMRP into BGP IPv4 Multicast"; + uses metric-route-map-grouping-obsolete; + } + container eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + status obsolete; + leaf as-no { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses metric-route-map-grouping-obsolete; + } + container isis { + status obsolete; + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + choice osi-ip-choice { + status obsolete; + leaf ip { + status obsolete; + description + "Redistribution of IP dynamic routes"; + type empty; + } + leaf clns { + status obsolete; + description + "Redistribution of OSI dynamic routes"; + type empty; + } + } + leaf routes { + status obsolete; + default "level-2"; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses metric-route-map-grouping-obsolete; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + status obsolete; + list isis { + status obsolete; + key "area-tag"; + leaf area-tag { + status obsolete; + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + choice osi-ip-choice { + status obsolete; + leaf ip { + status obsolete; + description + "Redistribution of IP dynamic routes"; + type empty; + } + leaf clns { + status obsolete; + description + "Redistribution of OSI dynamic routes"; + type empty; + } + } + leaf routes { + status obsolete; + default "level-2"; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses metric-route-map-grouping-obsolete; + } + } + container lisp { + description + "Locator/ID Separation Protocol"; + status obsolete; + presence "lisp"; + leaf include-connected { + status obsolete; + description + "OBSOLETE"; + type empty; + } + uses metric-route-map-grouping-obsolete; + } + container iso-igrp { + status obsolete; + description + "IGRP for OSI networks"; + list iso-igrp-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + uses metric-route-map-grouping-obsolete; + } + container default { + status obsolete; + uses metric-route-map-grouping-obsolete; + } + } + container mobile { + status obsolete; + presence "Mobile routes"; + description + "Mobile routes"; + uses metric-route-map-grouping-obsolete; + } + container odr { + presence "On Demand stub Routes"; + status obsolete; + description + "On Demand stub Routes"; + uses metric-route-map-grouping-obsolete; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + status obsolete; + presence "omp"; + uses metric-route-map-grouping-obsolete; + } + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + status obsolete; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses metric-route-map-grouping-obsolete; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + status obsolete; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + choice ospf-choice { + status obsolete; + list vrf { + description + "VPN Routing/Forwarding Instance"; + status obsolete; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + container match { + status obsolete; + leaf internal { + status obsolete; + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + } + uses metric-route-map-grouping-obsolete; + } + container non-vrf { + status obsolete; + container match { + status obsolete; + leaf internal { + status obsolete; + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + } + uses metric-route-map-grouping-obsolete; + } + } + } + list ospfv3 { + description + "OSPFv3"; + status obsolete; + key "id"; + leaf id { + status obsolete; + type leafref { + path "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:id"; + } + } + container match { + status obsolete; + leaf internal { + status obsolete; + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + } + uses metric-route-map-grouping-obsolete; + } + container rip { + presence "Routing Information Protocol (RIP)"; + status obsolete; + description + "Routing Information Protocol (RIP)"; + leaf name { + description + "User selected string identifying this process"; + status obsolete; + type string; + } + uses metric-route-map-grouping-obsolete; + } + container static { + presence "Static routes"; + status obsolete; + description + "Static routes"; + choice static-choice { + status obsolete; + container clns { + status obsolete; + description + "Redistribution of OSI dynamic routes"; + presence "true"; + uses metric-route-map-grouping-obsolete; + } + container ip { + status obsolete; + presence "true"; + uses metric-route-map-grouping-obsolete; + } + container default { + status obsolete; + uses metric-route-map-grouping-obsolete; + } + } + } + } + } + + grouping address-family-vrf-redistribute-grouping { + container redistribute-vrf { + description + "Redistribute information from another routing protocol"; + uses redistribute-application-grouping; + uses redistribute-connected-grouping; + uses redistribute-eigrp-grouping; + uses redist-isis-grouping; + uses redistribute-lisp-grouping; + uses redistribute-mobile-grouping; + uses redistribute-nat-route-grouping; + uses redistribute-nhrp-grouping; + uses redistribute-odr-grouping; + uses redistribute-omp-grouping; + uses redistribute-ospf-grouping; + uses redistribute-ospfv3-grouping; + uses redistribute-rip-grouping; + uses redistribute-static-grouping; + uses address-family-redistribute-vrf-grouping; + } + } + + grouping address-family-v6-redistribute-grouping { + container redistribute-v6 { + description + "Redistribute information from another routing protocol"; + uses redistribute-application-v6-grouping; + uses redistribute-connected-grouping; + uses redistribute-eigrp-v6-grouping; + uses redistribute-isis-v6-grouping; + uses redistribute-lisp-v6-grouping; + uses redistribute-nat-route-v6-grouping; + uses redistribute-omp-grouping; + uses redistribute-ospf-v6-grouping; + uses redistribute-rip-v6-grouping; + uses redistribute-static-v6-grouping; + } + } + + grouping address-family-v6-redistribute-grouping-obsolete { + container redistribute-v6 { + status obsolete; + description + "Redistribute information from another routing protocol (OBSOLETE)"; + container application { + status obsolete; + description + "Application (OBSOLETE)"; + presence "true"; + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected (OBSOLETE)"; + presence "Connected"; + uses metric-route-map-grouping-obsolete; + } + container eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP) (OBSOLETE)"; + leaf as-no { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container isis { + status obsolete; + description + "ISO IS-IS (OBSOLETE)"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container isis-area-tag { + status obsolete; + description + "ISO IS-IS area-tag (OBSOLETE)"; + list isis { + status obsolete; + key "area-tag"; + leaf area-tag { + status obsolete; + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + } + container lisp { + status obsolete; + description + "Locator/ID Separation Protocol (OBSOLETE)"; + presence "lisp"; + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP) (OBSOLETE)"; + presence "omp"; + uses metric-route-map-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF) (OBSOLETE)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + container match { + status obsolete; + leaf internal { + status obsolete; + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + } + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container rip { + status obsolete; + presence "Routing Information Protocol (RIP)"; + description + "Routing Information Protocol (RIP) (OBSOLETE)"; + leaf name { + status obsolete; + description + "User selected string identifying this process (OBSOLETE)"; + type string; + } + uses redistribute-include-connected-grouping-obsolete; + uses metric-route-map-grouping-obsolete; + } + container static { + status obsolete; + presence "Static routes (OBSOLETE)"; + description + "Static routes"; + uses metric-route-map-grouping-obsolete; + } + } + } + + grouping redistribute-application-grouping { + container application { + description + "Application"; + presence "true"; + list name { + key "name"; + leaf name { + description + "WORD :: Route-map name"; + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + } + } + + grouping redistribute-application-v6-grouping { + container application { + description + "Application"; + presence "true"; + uses redistribute-include-connected-v2-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-connected-grouping { + container connected { + description + "Connected"; + presence "Connected"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-dvmrp-grouping { + container dvmrp { + description + "Redistribution of DVMRP into BGP IPv4 Multicast"; + presence "Redistribution of DVMRP into BGP IPv4 Multicast"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-eigrp-grouping { + list eigrp-list { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-no"; + leaf as-no { + type uint16 { + range "1..65535"; + } + } + uses redistribute-metric-route-map-v2-grouping; + } + container eigrp { + description + "Enhanced Interior Gateway Routing Protocol (DEPRECATED - Use eigrp-list)"; + status deprecated; + leaf as-no { + description + "(DEPRECATED - Use eigrp-list)"; + status deprecated; + type uint16 { + range "1..65535"; + } + } + uses redistribute-metric-route-map-deprecated-grouping; + } + } + + grouping redistribute-eigrp-v6-grouping { + list eigrp-list { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-no"; + leaf as-no { + type uint16 { + range "1..65535"; + } + } + uses redistribute-metric-route-map-v3-grouping; + uses redistribute-include-connected-v3-grouping; + } + container eigrp { + description + "Enhanced Interior Gateway Routing Protocol (DEPRECATED - use eigrp-list)"; + status deprecated; + leaf as-no { + description + "(DEPRECATED - use eigrp-list)"; + status deprecated; + type uint16 { + range "1..65535"; + } + } + uses redistribute-include-connected-deprecated-grouping; + uses redistribute-metric-route-map-deprecated-grouping; + } + } + + grouping redist-isis-grouping { + container isis { + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + uses redistribute-isis-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + key "area-tag"; + leaf area-tag { + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + uses redistribute-isis-grouping; + } + } + } + + grouping redistribute-isis-v6-grouping { + container isis { + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + uses redistribute-isis-routes-grouping; + uses redistribute-include-connected-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + key "area-tag"; + leaf area-tag { + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + uses redistribute-isis-routes-grouping; + uses redistribute-include-connected-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + } + } + + grouping redistribute-lisp-grouping { + container lisp { + description + "Locator/ID Separation Protocol"; + presence "lisp"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-lisp-v6-grouping { + container lisp { + description + "Locator/ID Separation Protocol"; + presence "lisp"; + uses redistribute-include-connected-v2-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-iso-igrp-grouping { + container iso-igrp { + description + "IGRP for OSI networks"; + list iso-igrp-area { + key "name"; + leaf name { + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + container default { + uses redistribute-metric-route-map-v2-grouping; + } + } + } + + grouping redistribute-mobile-grouping { + container mobile { + presence "Mobile routes"; + description + "Mobile routes"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-odr-grouping { + container odr { + presence "On Demand stub Routes"; + description + "On Demand stub Routes"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-omp-grouping { + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses redistribute-metric-route-map-translate-v2-grouping; + } + } + + grouping redistribute-nat-route-grouping { + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "NAT Route"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-nat-route-v6-grouping { + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "NAT Route"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-ospf-grouping { + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + choice ospf-choice { + list vrf { + description + "VPN Routing/Forwarding Instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses redistribute-ospf-non-vrf-grouping; + } + container non-vrf { + uses redistribute-ospf-non-vrf-grouping; + } + } + } + } + + grouping redistribute-ospf-v6-grouping { + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses ospf-v6-grouping; + } + } + + grouping redistribute-ospfv3-grouping { + list ospfv3 { + description + "OSPFv3"; + key "id"; + leaf id { + type leafref { + path "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:id"; + } + } + uses redistribute-ospf-non-vrf-grouping; + } + } + + grouping redistribute-rip-grouping { + container rip { + presence "Routing Information Protocol (RIP)"; + description + "Routing Information Protocol (RIP)"; + leaf name { + description + "User selected string identifying this process (OBSOLETE)"; + status obsolete; + type string; + } + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping redistribute-rip-v6-grouping { + container rip { + description + "Routing Information Protocol (RIP)"; + leaf name { + description + "User selected string identifying this process"; + type string; + } + uses redistribute-include-connected-v2-grouping { + when 'name'; + } + uses redistribute-metric-route-map-v2-grouping { + when 'name'; + } + } + } + + grouping redistribute-static-grouping { + container static { + presence "Static routes"; + description + "Static routes"; + choice static-choice { + container clns { + description + "Redistribution of OSI dynamic routes"; + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container ip { + presence "true"; + uses redistribute-metric-route-map-v2-grouping; + } + container default { + uses redistribute-metric-route-map-v2-grouping; + } + } + } + } + + grouping redistribute-static-v6-grouping { + container static { + presence "Static routes"; + description + "Static routes"; + uses redistribute-metric-route-map-v2-grouping; + } + } + + grouping metric-route-map-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..4294967295"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping redistribute-metric-route-map-v3-grouping { + leaf metric { + description + "Metric for redistributed routes"; + default "0"; + type uint32 { + range "0..4294967295"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping redistribute-metric-route-map-v2-grouping { + leaf metric { + description + "Metric for redistributed routes"; + default "0"; + type uint32 { + range "0..4294967295"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping redistribute-metric-route-map-translate-v2-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..4294967295"; + } + } + leaf translate-rib-metric { + description + "Translate rib metric for redistributed routes"; + type empty; + must 'not(../metric)' { + error-message "translate-rib-metric and metric cannot be configured together"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping redistribute-metric-route-map-deprecated-grouping { + leaf metric { + description + "Metric for redistributed routes (DEPRECATED)"; + status deprecated; + default "0"; + type uint32 { + range "0..4294967295"; + } + } + leaf route-map { + description + "Route map reference (DEPRECATED)"; + status deprecated; + type string; + } + } + + grouping metric-route-map-grouping-obsolete { + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0..4294967295"; + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + + grouping route-map-metric-grouping { + leaf route-map { + description + "Route map reference"; + type string; + } + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping redistribute-isis-grouping { + choice osi-ip-choice { + leaf ip { + description + "Redistribution of IP dynamic routes"; + type empty; + } + leaf clns { + description + "Redistribution of OSI dynamic routes"; + type empty; + } + } + uses redistribute-isis-routes-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + + grouping redistribute-isis-routes-grouping { + leaf routes { + default "level-2"; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + } + + grouping redistribute-ospf-non-vrf-grouping { + container match { + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + must 'not(external = external2)' { + error-message "External and External2 nodes must have different values"; + } + } + uses redistribute-metric-route-map-v2-grouping; + } + + grouping ospf-v6-grouping { + container match { + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + must 'not(external = external2)' { + error-message "External and External2 nodes must have different values"; + } + } + uses redistribute-include-connected-v2-grouping; + uses redistribute-metric-route-map-v2-grouping; + } + + grouping redistribute-include-connected-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + } + + grouping redistribute-include-connected-v3-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + } + + grouping redistribute-include-connected-v2-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + } + + grouping redistribute-include-connected-deprecated-grouping { + leaf include-connected { + status deprecated; + description + "Include connected"; + type empty; + } + } + + grouping redistribute-include-connected-grouping-obsolete { + leaf include-connected { + status obsolete; + description + "Include connected"; + type empty; + } + } + + grouping address-family-segment-routing-grouping { + container segment-routing { + description + "segment-routing"; + leaf mpls { + description + "mpls"; + type empty; + } + } + } + + grouping config-access-grouping { + container access-config { + description + "Specify an access-list associated with this group"; + leaf ipv6 { + description + "Specify IPv6 Named Access-List"; + type string { + length "1..194"; + } + } + choice access-option { + description + "Access-list associated with this group"; + leaf standard-acl { + description + "Standard IP Access-list allowing access with this community string"; + type uint32 { + range "1..99"; + } + } + leaf acl-name { + description + "Access-list name"; + type string { + length "1..183"; + } + } + } + } + } + + grouping config-priv-grouping { + container priv { + description + "Encryption parameters for the user"; + choice priv-option { + description + "Encryption choice for the user"; + container aes { + description + "Use AES algorithm for encryption"; + presence "true"; + leaf algorithm { + mandatory true; + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + container des { + description + "Use 56 bit DES algorithm for encryption"; + presence "true"; + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + container des3 { + description + "Use 168 bit 3DES algorithm for encryption"; + presence "true"; + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + } + } + } + + grouping address-family-snmp-grouping { + container snmp { + description + "Modify snmp parameters"; + container context { + description + "Configure a SNMP context"; + list context_word { + key "context_word"; + leaf context_word { + description + "Context Name"; + type string; + } + container community-config { + description + "Configure a SNMP v2c Community string and access privs"; + leaf community-string { + type string; + } + container access { + when '../community-string'; + leaf permission { + type enumeration { + enum RO { + description + "Read-only access with this community string"; + } + enum RW { + description + "Read-write access with this community string"; + } + } + default "RO"; + } + leaf standard-acl { + description + "Standard IP access-list allowing access with this community string"; + type uint32 { + range "1..99"; + } + } + leaf expanded-acl { + description + "Expanded IP access-list allowing access with this community"; + type uint32 { + range "1300..1999"; + } + } + leaf acl-name { + description + "Access-list name"; + type string; + } + leaf ipv6 { + description + "Specify IPv6 Named Access-List"; + type string; + } + } + } + container user { + description + "Configure a SNMP v3 user"; + leaf name { + type string; + } + container permission { + when '../name'; + container access { + description + "specify an access-list associated with this group"; + leaf standard-acl { + type uint32 { + range "1..99"; + } + } + leaf acl-name { + type string; + } + leaf ipv6 { + type string; + } + } + container auth { + description + "authentication parameters for the user"; + presence "true"; + choice algorithm-choice { + case sha-choice { + leaf sha { + description + "Use HMAC SHA algorithm for authentication"; + type empty; + } + } + case md5-choice { + leaf md5 { + description + "Use HMAC MD5 algorithm for authentication"; + type empty; + } + } + } + leaf password { + description + "Authentication password for user"; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + container encrypted { + description + "user using the encrypted security model"; + presence "true"; + uses config-access-grouping; + container auth { + description + "authentication parameters for the user"; + presence "true"; + choice algorithm-choice { + case sha-choice { + leaf sha { + description + "Use HMAC SHA algorithm for authentication"; + type empty; + } + } + case md5-choice { + leaf md5 { + description + "Use HMAC MD5 algorithm for authentication"; + type empty; + } + } + } + leaf password { + description + "Authentication password for user"; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + } + leaf credential { + description + "If the user password is already configured and saved"; + type empty; + } + } + } + } + } + } + } + + grouping address-family-synchronization-grouping { + leaf synchronization { + description + "Perform IGP synchronization"; + type empty; + } + } + + grouping address-family-table-map-grouping { + container table-map { + description + "Map external entry attributes into routing table"; + leaf name { + description + "WORD :: Route-map name"; + type string; + } + leaf filter { + type empty; + } + } + } + + grouping global-neighbor { + uses neighbor-remote-as-grouping { + refine "remote-as"; + } + uses global-neighbor-inherit-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + } + + grouping global-peer-group { + uses peer-group-peer-group-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-shutdown-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + } + + grouping ipv4-unicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-multicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-flowspec-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-flowspec-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-sr-policy-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-sr-policy-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-mvpn-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-mvpn-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-mdt-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-mdt-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-unicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-only-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-multicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-flowspec-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-flowspec-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-mvpn-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv6-mvpn-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping l2vpn-evpn-peer-group { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-gw-ip-disable-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-encap-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping l2vpn-evpn-neighbor { + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-gw-ip-disable-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-encap-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping l2vpn-vpls-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-length-size-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-suppress-signaling-protocol-grouping; + leaf unsuppress-map { + status obsolete; + description + "Route-map to selectively unsuppress suppressed routes (OBSOLETE)"; + type string; + } + uses neighbor-weight-grouping; + } + + grouping rtfilter-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses rtfilter-neighbor-default-originate-grouping; + container default-originate { + status obsolete; + description + "Originate default route to this neighbor (OBSOLETE)"; + presence "enable originate default route to this neighbor"; + leaf route-map { + status obsolete; + description + "Route-map to specify criteria to originate default (OBSOLETE)"; + type string; + } + } + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-weight-grouping; + } + + grouping rtfilter-peer-group { + uses neighbor-activate-grouping { + when '/ios:native/ios:router/ios-bgp:bgp/ios-bgp:bgp/ios-bgp:listen/ios-bgp:range/ios-bgp:network-range'; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses rtfilter-neighbor-default-originate-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv4-unicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-accept-route-legacy-rt-grouping; + uses neighbor-vpn-advertise-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-inter-as-hybrid-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv4-multicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv4-flowspec-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-validation-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv4-flowspec-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-validation-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv6-unicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-accept-route-legacy-rt-grouping; + uses neighbor-vpn-advertise-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv6-multicast-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv6-flowspec-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-validation-grouping; + uses neighbor-weight-grouping; + } + + grouping vpnv6-flowspec-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-validation-grouping; + uses neighbor-weight-grouping; + } + + grouping nsap-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()]/ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-filter-list-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-obsolete-grouping; + uses neighbor-send-community-nsap-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soo-grouping; + uses neighbor-weight-grouping; + } + + grouping link-state-peer-group { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping link-state-neighbor { + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-ebgp-grouping { + when "(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or (/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id != /ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as) + or not(/ios:native/ios:router/ios-bgp:bgp/ios-bgp:peer-group/ios-bgp:neighbor[ios-bgp:id=current()/ios-bgp:id]/ios-bgp:remote-as)"; + } + uses neighbor-advertisement-interval-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-af-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-unicast-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv4/vrf/ipv4-unicast/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-capability-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses vrf-neighbor-send-label-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-timers-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-multicast-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv4/vrf/ipv4-multicast/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-capability-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-flowspec-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv4/vrf/ipv4-flowspec/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-allowas-in-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-unicast-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv6/vrf/ipv6-unicast/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-capability-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses vrf-neighbor-send-label-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-timers-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-multicast-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv6/vrf/ipv6-multicast/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-capability-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-flowspec-neighbor { + uses neighbor-remote-as-grouping; + uses neighbor-peer-group-grouping { + refine "peer-group/peer-group-name" { + must '(/ios:native/ios:router/ios-bgp:bgp/address-family/with-vrf/ipv6/vrf/ipv6-flowspec/peer-group/neighbor[id=current()]/peer-group)' { + error-message "The peer-group should be configured before attaching with the neighbor"; + } + } + } + uses neighbor-inherit-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-allowas-in-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-unicast-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses vrf-neighbor-send-label-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses peer-group-timers-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-multicast-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv4-flowspec-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-allowas-in-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-unicast-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses vrf-neighbor-send-label-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses peer-group-timers-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-multicast-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-as-override-grouping; + uses neighbor-bmp-activate-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-cluster-id-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dmzlink-bw-grouping { + refine "dmzlink-bw" { + must 'not(../ios-bgp:ebgp-multihop)' { + error-message "Propagation of DMZ-Link-Bandwidth is supported only for single-hop EBGP peers"; + } + } + } + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-filter-list-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping vrf-ipv6-flowspec-peergroup { + uses peer-group-peer-group-grouping; + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping { + refine "advertisement-interval" { + default "0"; + } + } + uses neighbor-allowas-in-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses neighbor-dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-fall-over-grouping; + uses neighbor-ha-mode-grouping; + uses peer-group-inherit-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-peer-group-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses vrf-neighbor-next-hop-unchanged-v2-grouping; + uses vrf-neighbor-next-hop-unchanged-grouping; + uses neighbor-password-grouping; + uses neighbor-ao-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-pg-remote-as-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-shutdown-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-update-grouping; + uses neighbor-update-source-grouping; + uses neighbor-version-grouping; + uses neighbor-weight-grouping; + } + + grouping ipv4-unicast-bgp { + container bgp { + uses bgp-additional-paths-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external-backup/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-grouping; + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-inject-map-grouping; + uses bgp-nexthop-grouping; + uses bgp-recursion-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-suppress-inactive-grouping; + uses bgp-update-group-grouping; + } + } + + grouping ipv4-multicast-bgp { + container bgp { + uses bgp-additional-paths-with-obsolete-install-grouping; + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-update-group-grouping; + } + } + + grouping ipv4-flowspec-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping ipv4-sr-policy-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping ipv4-mvpn-bgp { + container bgp { + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + } + } + + grouping ipv4-mdt-bgp { + container bgp { + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + } + } + + grouping ipv6-unicast-bgp { + container bgp { + uses bgp-additional-paths-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external-backup/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-grouping; + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-inject-map-grouping; + uses bgp-nexthop-grouping; + uses bgp-recursion-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-suppress-inactive-grouping; + uses bgp-update-group-grouping; + } + } + + grouping ipv6-multicast-bgp { + container bgp { + uses bgp-additional-paths-with-obsolete-install-grouping; + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-update-group-grouping; + } + } + + grouping ipv6-flowspec-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping ipv6-mvpn-bgp { + container bgp { + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + } + } + + grouping vpnv4-unicast-bgp { + container bgp { + uses bgp-additional-paths-vpn-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-without-validation-grouping; + uses bgp-dampening-grouping; + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-recursion-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-rr-group-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-update-group-grouping; + } + } + + grouping vpnv4-multicast-bgp { + container bgp { + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-rr-group-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-update-group-grouping; + } + } + + grouping vpnv4-flowspec-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping vpnv6-unicast-bgp { + container bgp { + uses bgp-additional-paths-vpn-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-without-validation-grouping; + uses bgp-dampening-grouping; + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-recursion-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-rr-group-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-update-group-grouping; + } + } + + grouping vpnv6-multicast-bgp { + container bgp { + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-default-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-rr-group-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + uses bgp-update-group-grouping; + } + } + + grouping vpnv6-flowspec-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping l2vpn-evpn-bgp { + container bgp { + uses bgp-evpn-additional-paths-grouping; + uses bgp-default-grouping; + uses bgp-nexthop-grouping; + uses bgp-scan-time-grouping; + } + } + + grouping l2vpn-vpls-bgp { + container bgp { + uses bgp-default-grouping; + uses bgp-nexthop-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping rtfilter-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping nsap-bgp { + container bgp { + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-dmzlink-bw-grouping; + uses bgp-nexthop-obsolete-grouping; + uses bgp-redistribute-internal-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + uses bgp-soft-reconfig-backup-grouping; + } + } + + grouping link-state-bgp { + container bgp { + uses bgp-nexthop-grouping; + uses bgp-route-map-grouping; + uses bgp-scan-time-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping vrf-ipv4-unicast-bgp { + container bgp { + uses bgp-vrf-additional-paths-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external-backup/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-without-validation-grouping; + uses bgp-dampening-grouping; + container recursion { + status obsolete; + description + "recursion rule for the nexthops (OBSOLETE)"; + leaf host { + status obsolete; + description + "recursion via host for the nexthops (OBSOLETE)"; + type empty; + } + } + uses bgp-redistribute-internal-obsolete-grouping; + uses bgp-route-map-grouping; + uses bgp-vrf-router-id-grouping; + uses bgp-slow-peer-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-suppress-inactive-grouping; + uses bgp-listen-vrf-grouping; + } + } + + grouping vrf-ipv4-multicast-bgp { + container bgp { + uses bgp-vrf-additional-paths-obsolete-grouping; + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-redistribute-internal-obsolete-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-route-map-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping vrf-ipv6-unicast-bgp { + container bgp { + uses bgp-vrf-additional-paths-grouping; + uses bgp-advertise-best-external-grouping { + refine "advertise-best-external" { + must 'not(../additional-paths/select/best-external-backup/best-external)' { + error-message "advertise-best-external and bgp additional-path select best-external cannot be configured at the same time"; + } + } + } + uses bgp-aggregate-timer-grouping; + uses bgp-bestpath-without-validation-grouping; + uses bgp-dampening-grouping; + container recursion { + status obsolete; + description + "recursion rule for the nexthops (OBSOLETE)"; + leaf host { + status obsolete; + description + "recursion via host for the nexthops (OBSOLETE)"; + type empty; + } + } + uses bgp-redistribute-internal-obsolete-grouping; + uses bgp-route-map-grouping; + uses bgp-vrf-router-id-grouping; + uses bgp-slow-peer-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-suppress-inactive-grouping; + uses bgp-listen-vrf-grouping; + } + } + + grouping vrf-ipv6-multicast-bgp { + container bgp { + uses bgp-vrf-additional-paths-obsolete-grouping; + uses bgp-aggregate-timer-grouping; + uses bgp-dampening-grouping; + uses bgp-redistribute-internal-obsolete-grouping; + uses bgp-sourced-paths-grouping; + uses bgp-route-map-grouping; + uses bgp-slow-peer-grouping; + } + } + + grouping ipv4-unicast-grouping { + container ipv4-unicast { + description + "IPv4 Unicast address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses address-family-ipv4-aggregate-address-grouping; + uses address-family-auto-summary-grouping; + uses ipv4-unicast-bgp; + uses address-family-default-information-grouping; + uses address-family-default-metric-grouping; + uses address-family-distance-grouping; + uses address-family-distribute-list-grouping; + uses address-family-ipv4-maximum-paths-grouping; + uses address-family-maximum-secondary-paths-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-unicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv4-network-grouping; + uses address-family-redistribute-grouping; + uses address-family-segment-routing-grouping; + uses address-family-snmp-grouping; + uses address-family-synchronization-grouping; + uses address-family-table-map-grouping; + } + } + + grouping ipv4-multicast-grouping { + container ipv4-multicast { + description + "IPv4 Multicast address family"; + when "(../ios-bgp:af-name = 'multicast')"; + uses address-family-ipv4-aggregate-address-grouping; + uses address-family-auto-summary-grouping; + uses ipv4-multicast-bgp; + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + uses address-family-distance-with-obsolete-admDistance-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv4-network-grouping; + uses address-family-redistribute-grouping; + uses address-family-snmp-grouping; + uses address-family-table-map-grouping; + } + } + + grouping ipv4-flowspec-grouping { + container ipv4-flowspec { + description + "Ipv4 Flowspec address family"; + when "(../ios-bgp:af-name = 'flowspec')"; + uses ipv4-flowspec-bgp; + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + uses address-family-ipv4-maximum-paths-grouping-obsolete; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv4-flowspec-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv4-network-obsolete-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + } + } + + grouping ipv4-sr-policy-grouping { + container ipv4-sr-policy { + if-feature "ios-features:sr-policy"; + description + "IPv4 SR-Policy address family"; + when "(../ios-bgp:af-name = 'sr-policy')"; + uses ipv4-sr-policy-bgp; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv4-sr-policy-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-sr-policy-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping ipv4-mvpn-grouping { + container ipv4-mvpn { + description + "IPv4 MVPN address family"; + when "(../ios-bgp:af-name = 'mvpn')"; + uses ipv4-mvpn-bgp; + uses address-family-default-information-obsolete-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv4-mvpn-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-mvpn-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping ipv4-mdt-grouping { + container ipv4-mdt { + description + "IPv4 MDT address family"; + when "(../ios-bgp:af-name = 'mdt')"; + uses ipv4-mdt-bgp; + uses address-family-default-information-obsolete-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv4-mdt-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv4-mdt-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping ipv6-unicast-grouping { + container ipv6-unicast { + description + "IPv6 Unicast address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses address-family-ipv6-aggregate-address-grouping; + uses ipv6-unicast-bgp; + uses address-family-default-information-grouping; + uses address-family-default-metric-grouping; + uses address-family-ipv6-distance-grouping; + uses address-family-ipv4-maximum-paths-grouping; + uses address-family-ipv6-label-mode-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-default-originate-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-only-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-translate-update-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv6-unicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv6-network-grouping; + uses address-family-v6-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + uses address-family-synchronization-grouping; + uses address-family-table-map-grouping; + } + } + + grouping ipv6-multicast-grouping { + container ipv6-multicast { + description + "IPv6 Multicast address family"; + when "(../ios-bgp:af-name = 'multicast')"; + uses address-family-ipv6-aggregate-address-grouping; + uses ipv6-multicast-bgp; + uses address-family-distance-with-obsolete-admDistance-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-additional-paths-grouping; + uses evpn-neighbor-advertise-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv6-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv6-network-grouping; + uses address-family-v6-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + } + } + + grouping ipv6-flowspec-grouping { + container ipv6-flowspec { + description + "IPv6 Flowspec address family"; + when "(../ios-bgp:af-name = 'flowspec')"; + uses address-family-ipv6-aggregate-address-grouping-obsolete; + uses ipv6-flowspec-bgp; + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + container distance { + status obsolete; + description + "Define an administrative distance (OBSOLETE)"; + container bgp { + status obsolete; + description + "BGP distance (OBSOLETE)"; + leaf extern-as { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf internal-as { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf local { + status obsolete; + type uint16 { + range "1..255"; + } + } + } + list adm-distance { + status obsolete; + description + "(OBSOLETE)"; + key "distance srcip wildbits"; + leaf distance { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf srcip { + status obsolete; + type inet:ipv4-address; + } + leaf wildbits { + status obsolete; + type inet:ipv4-address; + } + leaf acl { + status obsolete; + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + } + } + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv6-flowspec-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv6-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv6-network-obsolete-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + } + } + + grouping ipv6-mvpn-grouping { + container ipv6-mvpn { + description + "IPv6 MVPN address family"; + when "(../ios-bgp:af-name = 'mvpn')"; + uses ipv6-mvpn-bgp; + uses address-family-default-information-obsolete-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses ipv6-mvpn-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses ipv6-mvpn-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping vpnv4-unicast-grouping { + container vpnv4-unicast { + description + "VPNv4 Unicast address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses vpnv4-unicast-bgp; + uses address-family-vpnv4-import-grouping; + uses address-family-vpnv4-maximum-paths-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-accept-route-legacy-rt-grouping; + uses neighbor-activate-grouping; + uses neighbor-vpn-advertise-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-inter-as-hybrid-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-send-label-obsolete-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv4-unicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-ipv4-network-obsolete-grouping; + uses address-family-segment-routing-srv6-vpn-grouping; + uses address-family-snmp-grouping; + } + } + + grouping vpnv4-multicast-grouping { + container vpnv4-multicast { + description + "VPNv4 Multicast address family"; + when "(../ios-bgp:af-name = 'multicast')"; + uses vpnv4-multicast-bgp; + uses address-family-vpnv4-maximum-paths-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv4-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping vpnv4-flowspec-grouping { + container vpnv4-flowspec { + description + "VPNv4 Flowspec address family"; + when "(../ios-bgp:af-name = 'flowspec')"; + uses vpnv4-flowspec-bgp; + uses address-family-maximum-paths-ebgp-grouping-obsolete; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vpnv4-flowspec-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv4-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping vpnv6-unicast-grouping { + container vpnv6-unicast { + description + "VPNv6 Unicast address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses vpnv6-unicast-bgp; + uses address-family-vpnv6-import-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-accept-route-legacy-rt-grouping; + uses neighbor-activate-grouping; + uses neighbor-vpn-advertise-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping { + refine "route-reflector-client" { + must 'not(../advertise/best-external)' { + error-message "route-reflector-client and advertise/best-external cannot be configured at the same time"; + } + } + } + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-srv6-encap-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv6-unicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-segment-routing-srv6-vpn-grouping; + uses address-family-snmp-grouping; + } + } + + grouping vpnv6-multicast-grouping { + container vpnv6-multicast { + description + "VPNv6 Multicast address family"; + when "(../ios-bgp:af-name = 'multicast')"; + uses vpnv6-multicast-bgp; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-obsolete-grouping; + uses neighbor-soo-grouping; + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv6-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping vpnv6-flowspec-grouping { + container vpnv6-flowspec { + description + "VPNv6 Flowspec address family"; + when "(../ios-bgp:af-name = 'flowspec')"; + uses vpnv6-flowspec-bgp; + uses address-family-maximum-paths-ebgp-grouping-obsolete; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vpnv6-flowspec-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vpnv6-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping l2vpn-vpls-grouping { + container l2vpn-vpls { + if-feature "ios-features:l2vpn"; + description + "L2VPN VPLS address family"; + when "(../ios-bgp:af-name = 'vpls')"; + uses l2vpn-vpls-bgp; + uses address-family-default-information-obsolete-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-length-size-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-suppress-signaling-protocol-grouping; + uses neighbor-unsuppress-map-grouping { + status obsolete; + } + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses l2vpn-vpls-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping l2vpn-evpn-grouping { + container l2vpn-evpn { + if-feature "ios-features:l2vpn"; + description + "L2VPN EVPN address family"; + when "(../ios-bgp:af-name = 'evpn')"; + uses l2vpn-evpn-bgp; + uses address-family-default-information-obsolete-grouping; + leaf default-metric { + status obsolete; + description + "Set metric of redistributed routes (OBSOLETE)"; + type uint32 { + range "1..4294967295"; + } + } + uses address-family-l2vpn-import-grouping; + container maximum-paths { + status obsolete; + description + "Forward packets over multiple paths (OBSOLETE)"; + leaf ebgp { + status obsolete; + description + "eBGP-multipath (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + status obsolete; + description + "Both eBGP and iBGP paths as multipath (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + container ibgp { + status obsolete; + description + "iBGP-multipath (OBSOLETE)"; + choice ibgp-choice { + status obsolete; + leaf unequal-cost { + status obsolete; + description + "Perform un-equal cost multipath selection (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + leaf max { + status obsolete; + type uint16 { + range "1..32"; + } + } + } + } + } + uses evpn-rewrite-rt-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses l2vpn-evpn-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses l2vpn-evpn-neighbor { + refine "activate" { + mandatory true; + } + } + } + leaf activate { + description + "Enable the address family for this neighbor"; + status obsolete; + type empty; + } + leaf advertisement-interval { + description + "Minimum interval between sending BGP routing updates"; + status obsolete; + type uint16 { + range "0..600"; + } + } + container allowas-in { + description + "Accept as-path with my AS present in it"; + presence "accept as-paths"; + status obsolete; + leaf as-number { + status obsolete; + type uint8 { + range "1..10"; + } + } + } + leaf allow-policy { + status obsolete; + description + "Enable the policy support for this IBGP Neighbor"; + type empty; + } + container capability { + status obsolete; + description + "Advertise capability to the peer"; + container orf { + status obsolete; + description + "Advertise ORF capability to the peer"; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses peer-group-inherit-grouping; + container maximum-prefix { + description + "Maximum number of prefixes accepted from this peer"; + status obsolete; + leaf max-prefix-no { + status obsolete; + description + "maximum no. of prefix limit"; + type uint32 { + range "1..2147483647"; + } + } + leaf threshold { + when '(../max-prefix-no)'; + status obsolete; + default "75"; + type uint8 { + range "1..100"; + } + } + leaf restart { + status obsolete; + description + "Restart bgp connection after limit is exceeded"; + type uint16 { + range "1..65535"; + } + must 'not(../warning-only)' { + error-message + "restart and warning-only cannot be configured at the + same time"; + } + } + leaf warning-only { + status obsolete; + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + container next-hop-self { + status obsolete; + description + "Disable the next hop calculation for this neighbor"; + presence "true"; + leaf all { + status obsolete; + description + "Enable next-hop-self for both eBGP and iBGP received paths"; + type empty; + } + } + leaf next-hop-unchanged { + status obsolete; + description + "Propagate the iBGP paths' next hop unchanged for this neighbor"; + type empty; + } + container remove-private-as { + description + "Remove private AS number from outbound updates"; + status obsolete; + presence "true"; + container all { + description + "Remove all private AS numbers"; + status obsolete; + presence "true"; + leaf replace-as { + status obsolete; + description + "Replace all private AS numbers with local AS"; + type empty; + } + } + } + list route-map { + status obsolete; + description + "Apply route map to neighbor"; + key "inout"; + leaf inout { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf route-map-name { + status obsolete; + type string; + mandatory true; + } + } + leaf route-reflector-client { + status obsolete; + description + "Configure a neighbor as Route Reflector client"; + type empty; + } + container send-community { + description + "Send Community attribute to this neighbor"; + status obsolete; + presence "true"; + leaf send-community-where { + status obsolete; + default "standard"; + type enumeration { + enum both; + enum extended; + enum standard; + } + } + } + container slow-peer { + status obsolete; + description + "Configure slow-peer"; + container detection { + status obsolete; + description + "Slow-peer detection"; + presence "true"; + leaf threshold { + status obsolete; + description + "Threshold value (seconds)"; + type uint16 { + range "120..3600"; + } + } + leaf disable { + status obsolete; + description + "Disable slow-peer detection"; + type empty; + } + must '(not(threshold) and disable) or (threshold and not(disable))' { + error-message "thresold and disable can't be configured at the same time"; + } + } + container split-update-group { + status obsolete; + description + "Configure slow-peer split-update-group"; + container dynamic { + status obsolete; + description + "Dynamically split the slow peer to slow-update group"; + presence "true"; + leaf permanent { + status obsolete; + description + "Keep the slow-peer permanently in slow-update group"; + type empty; + } + leaf disable { + status obsolete; + description + "Disable slow-peer detection"; + type empty; + } + must '(not(permanent) and disable) or (permanent and not(disable))' { + error-message "permanent and disable can't be configured at the same time"; + } + } + leaf static { + status obsolete; + description + "Static slow-peer"; + type empty; + } + } + } + leaf soft-reconfiguration { + status obsolete; + description + "Per neighbor soft reconfiguration"; + type enumeration { + enum inbound; + } + } + leaf soo { + status obsolete; + description + "ASN:nn or IP-address:nn VPN extended community"; + type string { + pattern '[0-9]*:[0-9]*|[0-9.]*:[0-9]*'; + } + } + leaf unsuppress-map { + description + "Route-map to selectively unsuppress suppressed routes"; + status obsolete; + type string; + } + leaf weight { + status obsolete; + description + "Set default weight for routes from this neighbor"; + type uint16 { + range "0..65535"; + } + } + uses address-family-ipv4-network-obsolete-grouping; + uses address-family-snmp-grouping; + } + } + + grouping nsap-grouping { + container nsap { + description + "NSAP address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses nsap-bgp; + uses address-family-default-information-grouping; + uses address-family-default-metric-grouping; + uses address-family-maximum-paths-ebgp-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses neighbor-activate-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + container capability { + description + "Advertise capability to the peer"; + container orf { + description + "Advertise ORF capability to the peer"; + uses neighbor-capability-peer-group-grouping; + leaf-list prefix-list { + status obsolete; + description + "Advertise prefix list ORF capability to this neighbor"; + max-elements 1; + type enumeration { + enum both; + enum receive; + enum send; + } + } + } + } + uses neighbor-default-originate-grouping; + uses neighbor-dmzlink-bw-grouping; + uses neighbor-filter-list-grouping; + uses peer-group-inherit-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses neighbor-route-map-grouping; + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-obsolete-grouping; + uses neighbor-send-community-nsap-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soo-grouping; + uses neighbor-weight-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses nsap-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-nsap-network-grouping; + uses address-family-snmp-grouping; + uses address-family-synchronization-grouping; + } + } + + grouping rtfilter-grouping { + container rtfilter { + description + "RT-Filter address family"; + when "(../ios-bgp:af-name = 'unicast')"; + uses rtfilter-bgp; + uses address-family-rtf-maximum-paths-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + must '/ios:native/ios:router/ios-bgp:bgp/peer-group/neighbor[ios-bgp:id=current()]/peer-group' { + error-message "Create peer-group at global level before triggering this config"; + } + } + uses rtfilter-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type inet:ip-address; + } + uses rtfilter-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-snmp-grouping; + } + } + + grouping link-state-grouping { + container link-state { + description + "link-state family"; + when "(../ios-bgp:af-name = 'link-state')"; + uses link-state-bgp; + uses address-family-maximum-paths-ebgp-grouping; + uses address-family-link-state-domain-distinguisher-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses link-state-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses link-state-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-link-state-propagate-aspath-grouping; + uses address-family-snmp-grouping; + } + } + + grouping vrf-ipv4-unicast-grouping { + container ipv4-unicast { + description + "IPv4 Unicast VRF address family"; + when "(../../ios-bgp:af-name = 'unicast')"; + uses address-family-advertise-grouping; + uses address-family-ipv4-aggregate-address-grouping; + uses vrf-ipv4-unicast-bgp; + uses address-family-default-information-grouping; + uses address-family-default-metric-grouping; + uses address-family-distance-grouping; + uses address-family-distribute-list-grouping; + uses address-family-vrf-import-grouping; + uses address-family-maximum-paths-grouping; + uses address-family-maximum-secondary-paths-grouping; + uses address-family-unicast-reachability-grouping; + uses address-family-mvpn-select-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv4-unicast-peergroup; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv4-unicast-neighbor { + refine "activate" { + mandatory true; + } + refine "remote-as"; + } + } + uses address-family-vrf-ipv4-network-grouping; + uses address-family-propagate-aspath-grouping; + uses address-family-vrf-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-segment-routing-srv6-grouping; + uses address-family-snmp-grouping; + uses address-family-synchronization-grouping; + uses address-family-table-map-grouping; + } + } + + grouping vrf-ipv4-multicast-grouping { + container ipv4-multicast { + description + "IPv4 Multicast VRF address family"; + when "(../../ios-bgp:af-name = 'multicast')"; + uses address-family-ipv4-aggregate-address-grouping; + uses vrf-ipv4-multicast-bgp; + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + uses address-family-distance-with-obsolete-admDistance-grouping; + uses address-family-vrf-import-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv4-multicast-peergroup; + } + } + uses address-family-mvpn-select-grouping; + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv4-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-vrf-ipv4-network-grouping; + uses address-family-propagate-aspath-obsolete-grouping; + uses address-family-vrf-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + uses address-family-table-map-grouping; + uses address-family-unicast-reachability-grouping; + } + } + + grouping vrf-ipv4-flowspec-grouping { + container ipv4-flowspec { + description + "IPv4 Flowspec VRF address family"; + when "(../../ios-bgp:af-name = 'flowspec')"; + container bgp { + uses bgp-route-map-grouping; + uses bgp-slow-peer-grouping; + } + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + uses address-family-vrf-import-grouping; + uses address-family-maximum-paths-ebgp-grouping-obsolete; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv4-flowspec-peergroup; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv4-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-vrf-ipv4-network-obsolete-grouping; + uses address-family-propagate-aspath-obsolete-grouping; + uses address-family-snmp-grouping; + } + } + + grouping vrf-ipv4-mvpn-grouping { + container ipv4-mvpn { + description + "IPv4 MVPN VRF address family"; + when "(../../ios-bgp:af-name = 'mvpn')"; + container bgp { + uses bgp-dampening-grouping; + } + } + } + + grouping vrf-ipv6-unicast-grouping { + container ipv6-unicast { + description + "IPv6 Unicast VRF address family"; + when "(../../ios-bgp:af-name = 'unicast')"; + uses address-family-advertise-grouping; + uses address-family-ipv6-aggregate-address-grouping; + uses vrf-ipv6-unicast-bgp; + uses address-family-default-information-grouping; + uses address-family-default-metric-grouping; + uses address-family-ipv6-distance-grouping; + uses address-family-vrf-import-grouping; + uses address-family-maximum-paths-grouping; + uses address-family-mvpn-select-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv6-unicast-peergroup; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv6-unicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-vrf-ipv6-network-grouping; + uses address-family-propagate-aspath-grouping; + uses address-family-v6-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-segment-routing-srv6-grouping; + uses address-family-snmp-grouping; + uses address-family-synchronization-grouping; + uses address-family-table-map-grouping; + uses address-family-unicast-reachability-grouping; + } + } + + grouping vrf-ipv6-multicast-grouping { + container ipv6-multicast { + description + "IPv6 Multicast VRF address family"; + when "(../../ios-bgp:af-name = 'multicast')"; + uses address-family-ipv6-aggregate-address-grouping; + uses vrf-ipv6-multicast-bgp; + uses address-family-distance-with-obsolete-admDistance-grouping; + uses address-family-vrf-import-grouping; + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv6-multicast-peergroup; + } + } + uses address-family-mvpn-select-grouping; + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv6-multicast-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-vrf-ipv6-network-grouping; + uses address-family-propagate-aspath-obsolete-grouping; + uses address-family-v6-redistribute-grouping; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + uses address-family-unicast-reachability-grouping; + } + } + + grouping vrf-ipv6-flowspec-grouping { + container ipv6-flowspec { + description + "IPv6 Flowspec VRF address family"; + when "(../../ios-bgp:af-name = 'flowspec')"; + uses address-family-ipv6-aggregate-address-grouping-obsolete; + container bgp { + uses bgp-route-map-grouping; + uses bgp-slow-peer-grouping; + } + uses address-family-default-information-obsolete-grouping; + uses address-family-default-metric-grouping; + container distance { + status obsolete; + description + "Define an administrative distance (OBSOLETE)"; + container bgp { + status obsolete; + description + "BGP distance (OBSOLETE)"; + leaf extern-as { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf internal-as { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf local { + status obsolete; + type uint16 { + range "1..255"; + } + } + } + list adm-distance { + status obsolete; + description + "(OBSOLETE)"; + key "distance srcip wildbits"; + leaf distance { + status obsolete; + type uint16 { + range "1..255"; + } + } + leaf srcip { + status obsolete; + type inet:ipv4-address; + } + leaf wildbits { + status obsolete; + type inet:ipv4-address; + } + leaf acl { + status obsolete; + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + } + } + uses address-family-vrf-import-grouping; + container maximum-paths { + status obsolete; + description + "Forward packets over multiple paths (OBSOLETE)"; + leaf ebgp { + status obsolete; + description + "eBGP-multipath (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + leaf eibgp { + status obsolete; + description + "Both eBGP and iBGP paths as multipath (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + container ibgp { + status obsolete; + description + "iBGP-multipath (OBSOLETE)"; + choice ibgp-choice { + status obsolete; + leaf unequal-cost { + status obsolete; + description + "Perform un-equal cost multipath selection (OBSOLETE)"; + type uint16 { + range "1..32"; + } + } + leaf max { + status obsolete; + type uint16 { + range "1..32"; + } + } + } + } + } + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses vrf-ipv6-flowspec-peergroup; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses vrf-ipv6-flowspec-neighbor { + refine "activate" { + mandatory true; + } + } + } + uses address-family-vrf-ipv6-network-obsolete-grouping; + uses address-family-propagate-aspath-obsolete-grouping; + uses address-family-v6-redistribute-grouping-obsolete; + uses address-family-redistribute-grouping-obsolete; + uses address-family-snmp-grouping; + } + } + + grouping vrf-ipv6-mvpn-grouping { + container ipv6-mvpn { + description + "IPv6 MVPN VRF address family"; + when "(../../ios-bgp:af-name = 'mvpn')"; + container bgp { + uses bgp-dampening-grouping; + } + uses address-family-snmp-grouping; + } + } + + grouping address-family-no-vrf-obsolete-grouping { + container no-vrf { + status obsolete; + list ipv4 { + status obsolete; + description + "Address family"; + key "af-name"; + leaf af-name { + status obsolete; + type ios-types:bgp_ipv4_af_type; + } + uses ipv4-unicast-grouping; + } + list ipv6 { + status obsolete; + description + "Address family"; + key "af-name"; + leaf af-name { + status obsolete; + type ios-types:bgp_ipv6_af_type; + } + uses ipv6-unicast-grouping; + } + list vpnv4 { + description + "Address family"; + key "af-name"; + status obsolete; + leaf af-name { + status obsolete; + type enumeration { + enum unicast; + enum multicast; + enum flowspec; + } + } + uses vpnv4-unicast-grouping; + } + list vpnv6 { + description + "Address family"; + status obsolete; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + enum multicast; + enum flowspec; + } + } + uses vpnv6-unicast-grouping; + } + list nsap { + description + "Address family"; + status obsolete; + key "af-name"; + leaf af-name { + status obsolete; + type enumeration { + enum unicast; + } + } + uses nsap-grouping; + } + list l2vpn { + status obsolete; + if-feature "ios-features:l2vpn"; + description + "Address family"; + key "af-name"; + leaf af-name { + status obsolete; + type enumeration { + enum evpn; + enum vpls; + } + } + uses l2vpn-evpn-grouping; + uses l2vpn-vpls-grouping; + } + list rtfilter { + status obsolete; + description + "Address family"; + key "af-name"; + leaf af-name { + status obsolete; + type enumeration { + enum unicast; + } + } + uses rtfilter-grouping; + } + list link-state { + status obsolete; + description + "Address family"; + key "af-name"; + leaf af-name { + status obsolete; + type enumeration { + enum link-state; + } + } + uses link-state-grouping; + } + } + } + + grouping ip-community-list-standard-deprecated-grouping { + container deny { + status obsolete; + description + "Specify community to reject (OBSOLETE)"; + leaf-list deny-list { + status obsolete; + ordered-by user; + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + } + container permit { + status obsolete; + description + "Specify community to accept (OBSOLETE)"; + leaf-list permit-list { + status obsolete; + ordered-by user; + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + } + } + + grouping ip-community-list-expanded-deprecated-grouping { + container extended-grouping { + status deprecated; + description + "Community list entry"; + list extended_grouping { + status deprecated; + description + "Specify community list to accept or deny"; + ordered-by user; + key "action string"; + leaf action { + status deprecated; + type enumeration { + enum deny; + enum permit; + } + } + leaf string { + status deprecated; + type string { + pattern '.*'; + } + } + } + } + } + + grouping ip-community-list-expanded-grouping { + container extended-grouping { + description + "Community list entry"; + list extended_grouping { + description + "Specify community list to accept or deny"; + ordered-by user; + key "action string"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf string { + type string { + pattern '.*'; + } + } + } + } + } + + grouping ip-large-community-list-standard-grouping { + container deny { + description + "Specify large-community to reject"; + leaf-list deny-list { + description + "large-community deny list"; + ordered-by user; + type union { + type ios-types:large-community-number-type; + } + } + } + container permit { + description + "Specify large-community to accept"; + leaf-list permit-list { + description + "large-community permit list"; + ordered-by user; + type union { + type ios-types:large-community-number-type; + } + } + } + } + + grouping ip-large-community-list-expanded-grouping { + container extended-grouping { + description + "Large community list entry"; + list extended_grouping { + description + "Specify large-community list to accept or deny"; + ordered-by user; + key "action string"; + leaf action { + description + "Specify community to accept or reject"; + type enumeration { + enum deny; + enum permit; + } + } + leaf string { + description + "Specify community"; + type string { + pattern '.*'; + } + } + } + } + } + + grouping ip-extcommunity-list-standard-deprecated-grouping { + container deny { + status deprecated; + description + "Specify community to reject (DEPRECATED)"; + list rt { + description + "Route Target extended community (DEPRECATED)"; + status deprecated; + key "name"; + leaf name { + status deprecated; + type string; + } + } + list soo { + status deprecated; + description + "Site-of-Origin extended community (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + } + list vpn-distinguisher { + status deprecated; + description + "VPN Distinguisher extcomm (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + } + } + container permit { + status deprecated; + description + "Specify community to accept (DEPRECATED)"; + list rt { + status deprecated; + description + "Route Target extended community (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + } + list soo { + status deprecated; + description + "Site-of-Origin extended community (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + } + list vpn-distinguisher { + status deprecated; + description + "VPN Distinguisher extcomm (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + } + } + } + + grouping config-ip-community-list-deprecated-grouping { + container community-list { + status deprecated; + description + "Add a community list entry (DEPRECATED)"; + list number-standard { + status obsolete; + key "no"; + leaf no { + status obsolete; + type uint16 { + range "1..99"; + } + } + uses ip-community-list-standard-deprecated-grouping; + } + list number-expanded { + status deprecated; + key "no"; + leaf no { + status deprecated; + type uint16 { + range "100..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-deprecated-grouping; + } + list expanded { + status deprecated; + description + "Add an expanded community-list entry"; + key "name"; + leaf name { + status deprecated; + type string; + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-deprecated-grouping; + } + list standard { + status obsolete; + description + "Add a standard community-list entry (OBSOLETE)"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses ip-community-list-standard-deprecated-grouping; + } + } + } + + grouping standard-ip-community-list-grouping { + list action-community-list { + description + "Permit/Deny a community-list"; + ordered-by user; + key "action-community-list"; + leaf action-community-list { + description + "community-list - <1-4294967295>, aa:nn, gshut, internet, local-AS, no-advertise, no-export"; + type string { + pattern '(permit|deny)(|\s(([0-9]{1,5}:[0-9]{1,5}|[0-9]{1,10}|(gshut|internet|local-AS|no-advertise|no-export))(\s([0-9]{1,5}:[0-9]{1,5}|[0-9]{1,10}|(gshut|internet|local-AS|no-advertise|no-export)))*))'; + } + } + } + } + + grouping config-ip-community-list-grouping-v2 { + container ip-community-list { + description + "Add a ip community list entry"; + container community-list { + description + "Add a community list entry"; + list number-standard { + description + "Add a community-list entry"; + key "no"; + leaf no { + type uint16 { + range "1..99"; + } + } + uses standard-ip-community-list-grouping; + list action { + description + "Permit/Deny a community-list (DEPRECATED)"; + status deprecated; + key "action"; + leaf action { + status deprecated; + type enumeration { + enum deny; + enum permit; + } + } + list bgp-community { + description + "community-list - <1-4294967295>, aa:nn, gshut, internet, local-AS, no-advertise, no-export (DEPRECATED)"; + status deprecated; + key "bgp-community"; + leaf bgp-community { + status deprecated; + type string; + } + } + } + } + list number-expanded { + key "no"; + leaf no { + type uint16 { + range "100..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-grouping; + } + list expanded { + description + "Add an expanded community-list entry"; + key "name"; + leaf name { + type ios-types:community-name-string; + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-grouping; + } + list standard { + description + "Add a standard community-list entry"; + key "name"; + leaf name { + type ios-types:community-name-string; + } + uses standard-ip-community-list-grouping; + list action { + status deprecated; + description + "Permit/Deny a community-list (DEPRECATED)"; + key "action"; + leaf action { + status deprecated; + type enumeration { + enum deny; + enum permit; + } + } + list bgp-community { + status deprecated; + description + "community-list - <1-4294967295>, aa:nn, gshut, internet, local-AS, no-advertise, no-export (DEPRECATED)"; + key "bgp-community"; + leaf bgp-community { + status deprecated; + type string; + } + } + } + } + } + } + } + + typedef vpn-rd { + type string { + pattern '[0-9]*:[0-9]*|[0-9.]*:[0-9]*'; + } + } + + grouping config-ip-extcommunity-list-grouping-v2 { + container ip-extcommunity-list { + description + "Add a ip community list entry"; + container extcommunity-list { + description + "Add a extcommunity list entry"; + list number-standard { + description + "Add a standard community-list entry"; + key "no"; + leaf no { + type uint16 { + range "1..99"; + } + } + list rt-action { + description + "Permit/Deny a community-list"; + key "action rt"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf rt { + type ios-bgp:vpn-rd; + } + } + list soo-action { + description + "Permit/Deny a community-list"; + key "action soo"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf soo { + type ios-bgp:vpn-rd; + } + } + list vpn-distinguisher-action { + description + "Permit/Deny a community-list"; + key "action vpn-distinguisher"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf vpn-distinguisher { + type ios-bgp:vpn-rd; + } + } + } + list number-expanded { + key "no"; + leaf no { + type uint16 { + range "100..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-grouping; + } + list expanded { + description + "Extended an expanded community-list entry"; + key "name"; + leaf name { + type string; + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-grouping; + } + list standard { + description + "Add a standard community-list entry"; + key "name"; + leaf name { + type ios-types:community-name-string; + } + list rt-action { + description + "Permit/Deny a community-list"; + key "action rt"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf rt { + type ios-bgp:vpn-rd; + } + } + list soo-action { + description + "Permit/Deny a community-list"; + key "action soo"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf soo { + type ios-bgp:vpn-rd; + } + } + list vpn-distinguisher-action { + description + "Permit/Deny a community-list"; + key "action vpn-distinguisher"; + leaf action { + type enumeration { + enum deny; + enum permit; + } + } + leaf vpn-distinguisher { + type ios-bgp:vpn-rd; + } + } + } + } + } + } + + grouping config-ip-large-community-list-grouping { + container large-community-list { + description + "Add a large-community list entry"; + list number-standard { + description + "Community list number (standard)"; + key "no"; + leaf no { + description + "Community list number"; + type uint16 { + range "1..99"; + } + } + must 'deny/deny-list or permit/permit-list' { + error-message + "large-community-list must be configured with + permit or deny"; + } + uses ip-large-community-list-standard-grouping; + } + list number-expanded { + description + "Community list number (expanded)"; + key "no"; + leaf no { + description + "Community list number"; + type uint16 { + range "100..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-large-community-list-expanded-grouping; + } + list expanded { + description + "Add an expanded large-community-list entry"; + key "name"; + leaf name { + description + "Expanded large-community-list name"; + type ios-types:community-name-string; + } + must 'extended-grouping/extended_grouping' { + error-message + "large-community-list must be configured with + permit or deny"; + } + uses ip-large-community-list-expanded-grouping; + } + list standard { + description + "Add a standard large-community-list entry"; + key "name"; + leaf name { + description + "Standard large-community-list name"; + type ios-types:community-name-string; + } + must 'deny/deny-list or permit/permit-list' { + error-message + "large-community-list must be configured with + permit or deny"; + } + uses ip-large-community-list-standard-grouping; + } + } + } + + grouping config-ip-extcommunity-list-deprecated-grouping { + container extcommunity-list { + status deprecated; + description + "Extended a community list entry (DEPRECATED)"; + list number-standard { + status deprecated; + key "no"; + leaf no { + type uint16 { + range "1..99"; + } + } + must "(deny/rt or deny/soo or deny/vpn-distinguisher) or + (permit/rt or permit/soo or permit/vpn-distinguisher)" { + error-message "extcommunity-list must be configured with permit or deny"; + } + uses ip-extcommunity-list-standard-deprecated-grouping; + } + list number-expanded { + status deprecated; + key "no"; + leaf no { + type uint16 { + range "100..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-deprecated-grouping; + } + list expanded { + status deprecated; + description + "Extended an expanded community-list entry (DEPRECATED)"; + key "name"; + leaf name { + status deprecated; + type string; + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-deprecated-grouping; + } + list standard { + description + "Extended a standard community-list entry (DEPRECATED)"; + status deprecated; + key "name"; + leaf name { + status deprecated; + type string; + } + must "(deny/rt or deny/soo or deny/vpn-distinguisher) or + (permit/rt or permit/soo or permit/vpn-distinguisher)" { + error-message "extcommunity-list must be configured with permit or deny"; + } + uses ip-extcommunity-list-standard-deprecated-grouping; + } + } + } + + grouping config-ip-as-path-grouping { + list access-list { + description + "Specify an access list number"; + key "name"; + leaf name { + type uint16 { + range "1..500"; + } + } + must 'extended-grouping/extended_grouping' { + error-message + "community-list must be configured with + permit or deny"; + } + uses ip-community-list-expanded-grouping; + } + } + + grouping ip-access-list-grouping { + leaf-list access-list { + description + "Match entries of access-lists"; + ordered-by user; + type ios-types:exp-acl-type; + } + leaf-list prefix-list-ordered { + description + "Match entries of prefix-lists"; + ordered-by user; + type string; + } + } + + grouping ip-policy-list-match-grouping { + container match { + description + "Match values from routing table"; + container as-path { + description + "Match BGP AS path list"; + leaf-list access-list { + description + "AS path access-list"; + type uint16 { + range "1..500"; + } + } + } + container ip-community { + description + "Match BGP community list"; + leaf-list community-list { + description + "Named Access List"; + ordered-by user; + type string; + } + leaf exact-match { + description + "Do exact matching of communities"; + type empty; + } + must '(not(not(community-list) and exact-match))' { + error-message "Exact-match does not apply for expanded lists"; + } + } + container extcommunity { + description + "Match BGP/VPN extended community list"; + leaf-list extcommunity-list { + description + "Named Access List"; + ordered-by user; + type string; + } + } + container interface { + description + "Match first hop interface of route"; + uses ios-ifc:interface-grouping; + } + container ip { + description + "IP specific information"; + container address { + description + "Match address of route or match packet"; + uses ip-access-list-grouping; + } + container next-hop { + description + "Match next-hop address of route"; + uses ip-access-list-grouping; + } + container route-source { + description + "Match advertising source address of route"; + uses ip-access-list-grouping; + } + } + container large-community { + description + "Match BGP large-community list"; + leaf-list large-community { + description + "Large community-list number"; + ordered-by user; + type string; + } + leaf exact-match { + description + "Do exact matching of communities"; + type empty; + } + must '(not(not(large-community) and exact-match))' { + error-message "Exact-match does not apply for expanded lists"; + } + } + leaf metric { + description + "Match metric of route"; + type uint32 { + range "0..4294967295"; + } + } + container route-type { + description + "Match route-type of route"; + container external { + description + "external route (BGP, EIGRP and OSPF type 1/2)"; + presence "true"; + leaf type-1 { + description + "OSPF external type 1 route"; + type empty; + } + leaf type-2 { + description + "OSPF external type 2 route"; + type empty; + } + } + leaf internal { + description + "internal route (including OSPF intra/inter area)"; + type empty; + } + leaf level-1 { + description + "IS-IS level-1 route"; + type empty; + } + leaf level-2 { + description + "IS-IS level-2 route"; + type empty; + } + leaf local { + description + "locally generated route"; + type empty; + } + container nssa-external { + description + "nssa-external route (OSPF type 1/2)"; + presence "true"; + leaf type-1 { + description + "OSPF external type 1 route"; + type empty; + } + leaf type-2 { + description + "OSPF external type 2 route"; + type empty; + } + } + } + container tag { + description + "Match tag of route"; + leaf-list tag-val { + description + "Tag value"; + type uint32 { + range "0..4294967295"; + } + } + } + } + } + + grouping config-ip-policy-list-grouping { + list policy-list { + description + "IP Policy list name"; + key "name operation"; + leaf name { + description + "WORD;;IP Policy list name"; + type string; + } + leaf operation { + description + "ip policy-list permit/deny operations"; + type enumeration { + enum deny; + enum permit; + } + } + uses ip-policy-list-match-grouping; + } + } + + grouping config-bgp-grouping { + list bgp { + description + "Border Gateway Protocol (BGP)"; + must '/ios:native/ios:ip/ios:routing-conf/ios:routing' { + error-message "To delete ip routing, bgp needs to be deleted 1st"; + } + key "id"; + max-elements 1; + leaf id { + type ios-types:bgp-as-number-type; + } + container bgp { + uses global-bgp-grouping; + } + uses config-bmp-server-grouping; + uses config-route-svr-ctx-grouping; + uses config-srv6-grouping; + container template { + description + "Enter template command mode"; + list peer-policy { + description + "Template configuration for policy parameters"; + key "name"; + leaf name { + type string; + } + uses config-route-svr-client; + uses neighbor-accept-route-legacy-rt-grouping; + uses neighbor-additional-paths-grouping; + uses neighbor-advertise-grouping; + uses neighbor-advertise-gw-ip-disable-grouping; + uses neighbor-advertise-map-grouping; + uses neighbor-advertisement-interval-grouping; + uses neighbor-aigp-grouping; + uses neighbor-allow-policy-grouping; + uses neighbor-allowas-in-grouping; + uses neighbor-announce-grouping; + uses neighbor-as-override-grouping; + uses neighbor-capability-grouping; + uses neighbor-default-originate-grouping; + uses neighbor-distribute-list-grouping; + uses neighbor-dmzlink-bw-grouping; + container encap { + description + "Preferred Encapsulation for Neighbor"; + choice encap-choice { + leaf mpls { + description + "Neighbor Prefers MPLS"; + type empty; + } + leaf vxlan { + description + "Neighbor Prefers VxLAN"; + type empty; + } + leaf srv6 { + description + "Neighbor Prefers SR-V6"; + type empty; + } + } + } + uses template-filter-list-grouping; + list filter-list { + status obsolete; + description + "Establish BGP filters (OBSOLETE)"; + key "filter-range"; + leaf filter-range { + status obsolete; + description + "AS path access lis (OBSOLETE)"; + type uint16 { + range "1..500"; + } + } + leaf in { + status obsolete; + description + "Filter incoming routes (OBSOLETE)"; + type empty; + } + leaf out { + status obsolete; + description + "Filter out-going routes (OBSOLETE)"; + type empty; + } + } + container inherit { + description + "Inherit a template"; + container peer-policy { + list template { + key "name"; + leaf name { + description + "Template name"; + type string; + } + leaf range { + description + "Sequence number"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + } + } + } + uses neighbor-inter-as-hybrid-grouping; + uses neighbor-internal-vpn-client-grouping; + uses neighbor-long-lived-grouping; + uses neighbor-maximum-prefix-grouping; + uses neighbor-next-hop-self-grouping; + uses neighbor-next-hop-unchanged-v2-grouping; + uses neighbor-next-hop-unchanged-grouping; + uses neighbor-prefix-length-size-grouping; + uses neighbor-prefix-list-grouping; + uses neighbor-remove-private-as-grouping; + uses template-route-map-grouping; + list route-map { + status obsolete; + description + "Apply route map to neighbor (OBSOLETE)"; + key "name"; + leaf name { + status obsolete; + description + "(OBSOLETE)"; + type string; + } + leaf in { + status obsolete; + description + "Apply map to incoming routes (OBSOLETE)"; + type empty; + } + leaf out { + status obsolete; + description + "Apply map to outgoing routes (OBSOLETE)"; + type empty; + } + } + uses neighbor-route-reflector-client-grouping; + uses neighbor-send-community-grouping; + uses neighbor-send-label-grouping; + uses neighbor-slow-peer-grouping; + uses neighbor-soft-reconfiguration-grouping; + uses neighbor-soo-grouping; + uses neighbor-suppress-signaling-protocol-grouping; + leaf suppress-sr { + description + "Suppress Segment Routing for Neighbor"; + type empty; + } + container translate-topology { + leaf range { + description + "Topology id"; + type uint16 { + range "1..4095"; + } + } + } + uses neighbor-unsuppress-map-grouping; + uses neighbor-weight-grouping; + uses neighbor-validation-grouping; + must 'not(./next-hop-self and ./nexthop-unchanged/next-hop-unchanged)' { + error-message "%BGP: Cannot co-exist with nexthop-self, Deconfigure first"; + } + must 'not(./prefix-list and ./distribute-list)' { + error-message "Prefix/distribute list can not co-exist"; + } + must 'not((./inherit/peer-policy/template/name)=(current()/name))' { + error-message "Cannot include self for inheritance"; + } + } + list peer-session { + description + "Template configuration for session parameters"; + key "name"; + leaf name { + type string; + } + uses neighbor-ao-grouping; + uses neighbor-cluster-id-grouping; + uses neighbor-description-grouping; + uses neighbor-disable-connected-check-grouping; + uses dont-capability-negotiate-grouping; + uses neighbor-ebgp-multihop-grouping; + uses neighbor-bmp-activate-grouping; + uses neighbor-fall-over-grouping; + container ha-mode { + description + "high availability mode"; + container graceful-restart { + description + "graceful-restart for this peer"; + presence "true"; + leaf disable { + description + "disable graceful-restart"; + type empty; + } + } + container sso { + description + "stateful-switchover support for this peer"; + presence "true"; + leaf disable { + description + "disable stateful-switchover"; + type empty; + } + } + } + uses template-peer-session-inherit-grouping; + uses template-local-as-grouping; + uses neighbor-log-neighbor-changes-grouping; + uses neighbor-password-grouping; + uses neighbor-path-attribute-grouping; + uses neighbor-peer-group-obsolete-grouping; + leaf remote-as { + description + "Specify a BGP neighbor remote-as"; + type ios-types:bgp-as-number-type; + } + uses neighbor-shutdown-grouping; + uses peer-group-timers-grouping; + uses neighbor-transport-grouping; + uses neighbor-ttl-security-grouping; + uses neighbor-update-grouping; + container update-source { + description + "Source of routing updates"; + container interface { + uses ios:interface-with-dependency-grouping; + } + uses ios-ifc:interface-obsolete-grouping; + } + leaf version { + description + "Set the BGP version to match a neighbor"; + default "4"; + type uint8 { + range "4"; + } + } + must 'not((./inherit/peer-session)=(current()/name))' { + error-message "Cannot include self for inheritance"; + } + } + } + container peer-group { + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type string; + } + uses global-peer-group; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses global-neighbor; + } + container address-family { + description + "Enter Address Family command mode"; + container with-vrf { + list ipv4 { + description + "Address family"; + key "af-name"; + leaf af-name { + type ios-types:bgp_ipv4_af_type; + } + list vrf { + key "name"; + leaf name { + type string; + } + uses vrf-ipv4-unicast-grouping; + uses vrf-ipv4-multicast-grouping; + uses vrf-ipv4-flowspec-grouping; + uses vrf-ipv4-mvpn-grouping; + } + } + list ipv6 { + description + "Address family"; + key "af-name"; + leaf af-name { + type ios-types:bgp_ipv6_af_type; + } + list vrf { + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses vrf-ipv6-unicast-grouping; + uses vrf-ipv6-multicast-grouping; + uses vrf-ipv6-flowspec-grouping; + uses vrf-ipv6-mvpn-grouping; + } + } + } + container no-vrf { + list ipv4 { + description + "Address family"; + key "af-name"; + leaf af-name { + type ios-types:bgp_ipv4_af_type; + } + uses ipv4-unicast-grouping; + uses ipv4-multicast-grouping; + uses ipv4-flowspec-grouping; + uses ipv4-sr-policy-grouping; + uses ipv4-mvpn-grouping; + uses ipv4-mdt-grouping; + } + list ipv6 { + description + "Address family"; + key "af-name"; + leaf af-name { + type ios-types:bgp_ipv6_af_type; + } + uses ipv6-unicast-grouping; + uses ipv6-multicast-grouping; + uses ipv6-flowspec-grouping; + uses ipv6-mvpn-grouping; + } + list vpnv4 { + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + enum multicast; + enum flowspec; + } + } + uses vpnv4-unicast-grouping; + uses vpnv4-multicast-grouping; + uses vpnv4-flowspec-grouping; + } + list vpnv6 { + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + enum multicast; + enum flowspec; + } + } + uses vpnv6-unicast-grouping; + uses vpnv6-multicast-grouping; + uses vpnv6-flowspec-grouping; + } + list nsap { + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + } + } + uses nsap-grouping; + } + list l2vpn { + if-feature "ios-features:l2vpn"; + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum evpn; + enum vpls; + } + } + uses l2vpn-evpn-grouping; + uses l2vpn-vpls-grouping; + } + list rtfilter { + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum unicast; + } + } + uses rtfilter-grouping; + } + list link-state { + description + "Address family"; + key "af-name"; + leaf af-name { + type enumeration { + enum link-state; + } + } + uses link-state-grouping; + } + } + } + container timers { + description + "Adjust routing timers"; + container bgp { + description + "BGP timers"; + leaf keepalive-interval { + default "60"; + type uint16 { + range "0..65535"; + } + } + leaf holdtime { + default "180"; + type uint16 { + range "0..65535"; + } + } + leaf minimum-neighbor-hold { + type uint16 { + range "0..65535"; + } + } + must '((keepalive-interval and holdtime) or ( not(keepalive-interval) and not(holdtime) and not(minimum-neighbor-hold))) and (((keepalive-interval < holdtime) and holdtime != 0) or ((keepalive-interval = 0) and (holdtime = 0)))' { + error-message + "Keepalive-interval and holdtime must be configured. + Holdtime should be greater than the keepalive time. + If holdtime is 0, keepalive time should also be 0"; + } + } + } + container scope { + status obsolete; + container global { + presence "true"; + status obsolete; + container peer-group { + status obsolete; + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + status obsolete; + leaf id { + type string; + status obsolete; + } + uses peer-group-peer-group-obsolete-grouping; + uses neighbor-remote-as-obsolete-grouping; + uses neighbor-description-obsolete-grouping; + uses neighbor-password-obsolete-grouping; + uses neighbor-ao-obsolete-grouping; + uses neighbor-update-source-obsolete-grouping; + uses neighbor-version-obsolete-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + key "id"; + status obsolete; + leaf id { + status obsolete; + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + } + uses neighbor-remote-as-obsolete-grouping; + uses scope-neighbor-peer-group-obsolete-grouping; + uses neighbor-description-obsolete-grouping; + uses neighbor-password-obsolete-grouping; + uses neighbor-ao-obsolete-grouping; + uses neighbor-update-source-obsolete-grouping; + uses neighbor-version-obsolete-grouping; + } + container address-family { + description + "Enter Address Family command mode"; + status obsolete; + uses address-family-no-vrf-obsolete-grouping; + } + } + list vrf { + status obsolete; + key "id"; + leaf id { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + status obsolete; + } + container peer-group { + status obsolete; + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + status obsolete; + key "id"; + leaf id { + type string; + status obsolete; + } + uses peer-group-peer-group-obsolete-grouping; + uses neighbor-remote-as-obsolete-grouping; + } + } + list neighbor { + description + "Specify a neighbor router"; + must 'count(*) > 1'; + status obsolete; + key "id"; + leaf id { + type union { + type inet:ip-address; + type ios-types:ipv6-link-local-interface-address; + } + status obsolete; + } + uses scope-neighbor-peer-group-obsolete-grouping; + uses neighbor-remote-as-obsolete-grouping; + } + container address-family { + description + "Enter Address Family command mode"; + status obsolete; + uses address-family-no-vrf-obsolete-grouping; + } + } + } + } + } + + grouping snmp-server-trap-bgp-deprecated-grouping { + container bgp { + status deprecated; + description + "Enable BGP traps (DEPRECATED)"; + presence "true"; + container state-changes { + status deprecated; + description + "State change traps (DEPRECATED)"; + leaf-list suboptions { + status deprecated; + type enumeration { + enum all { + description + "CISCO specific trap for all fsm state changes"; + } + enum backward-trans { + description + "CISCO specific trap for backward transition"; + } + enum limited { + description + "Trap for standard backward transition and established"; + } + enum updown-limited { + description + "Like limited, but only session goes to Established or comes from Established state"; + } + } + } + leaf enable-all-traps { + status deprecated; + description + "Traps for FSM state changes (DEPRECATED)"; + type empty; + } + } + leaf cbgp2 { + status deprecated; + description + "Enable BGP MIBv2 traps (DEPRECATED)"; + type empty; + } + container threshold { + status deprecated; + description + "Traps for threshold events (DEPRECATED)"; + leaf prefix { + status deprecated; + description + "CISCO specific trap for prefix threshold events (DEPRECATED)"; + type empty; + } + } + } + } + + grouping snmp-state-changes-threshold-grouping { + container state-changes { + description + "State change traps"; + leaf-list suboptions { + type enumeration { + enum all { + description + "CISCO specific trap for all fsm state changes"; + } + enum backward-trans { + description + "CISCO specific trap for backward transition"; + } + enum limited { + description + "Trap for standard backward transition and established"; + } + enum updown-limited { + description + "Like limited, but only session goes to Established or comes from Established state"; + } + } + } + } + container threshold { + description + "Traps for threshold events"; + leaf prefix { + description + "CISCO specific trap for prefix threshold events"; + type empty; + } + } + } + + grouping snmp-server-trap-bgp-grouping-v2 { + container bgp-v2 { + description + "Enable BGP traps"; + uses snmp-state-changes-threshold-grouping; + container cbgp2 { + description + "Enable BGP MIBv2 traps"; + uses snmp-state-changes-threshold-grouping; + } + } + } + + grouping bgp-route-map-community-grouping { + list community-id { + key "community-id"; + leaf community-id { + description + "Community ID"; + type uint8 { + range "0..255"; + } + } + leaf cost-value { + description + "Cost Value (No-preference Cost = 2147483647)"; + type uint32 { + range "0..4294967295"; + } + } + must '(community-id and cost-value)' { + error-message "cost-value is required"; + } + } + } + + grouping extcommunity-range-grouping { + container range { + description + "Specify a range of extended community"; + leaf lower-limit { + description + "VPN extended community lower limit"; + type ios-types:asn-ip-type; + } + leaf high-limit { + description + "VPN extended community high limit"; + type ios-types:asn-ip-type; + } + leaf additive { + description + "Add to the existing extcommunity"; + type empty; + } + } + } + + grouping bgp-route-map-set-grouping { + container bgp-route-map-set { + container as-path { + description + "Modify BGP AS-path attribute"; + container prepend { + description + "Prepend to the as-path"; + container as-container { + leaf as-number { + description + "BGP AS number"; + type string { + pattern '([0-9]+|[0-9]*\.[0-9]+)(\s+([0-9]+|[0-9]*\.[0-9]+))*'; + } + } + } + container last-as-cont { + leaf last-as { + type uint16 { + range "1..10"; + } + } + } + } + container tag { + description + "Set the tag as an AS-path attribute"; + presence "tag"; + } + container replace { + description + "Replace AS numbers in the AS-path with the local AS"; + list as-container { + ordered-by user; + key "as-number"; + leaf as-number { + description + "<1-65535>;;AS number"; + type string; + } + } + leaf any { + description + "Replace each AS number in the AS-path with the local AS"; + type empty; + } + } + } + leaf attribute-set { + description + "TE Profile name"; + type string; + } + container bgp-community { + description + "BGP community attribute"; + choice community-well-known-choice { + leaf none { + description + "No community attribute"; + type empty; + } + container community-well-known { + leaf-list community-list-v2 { + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + leaf-list community-list { + status deprecated; + ordered-by user; + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + leaf additive { + type empty; + } + } + } + } + container comm-list { + description + "set BGP community list (for deletion)"; + choice comm-list-choice { + leaf comm-list-standard { + type uint16 { + range "1..99"; + } + } + leaf comm-list-expanded { + type uint16 { + range "100..500"; + } + } + leaf comm-list-name { + type string; + } + } + leaf delete { + description + "Delete matching communities"; + type empty; + } + } + container dampening { + description + "Set BGP route flap dampening parameters"; + list dampening-list { + key "half-life-penalty restart-penalty suppress-penalty max-suppress-penalty"; + leaf half-life-penalty { + description + "half-life time for the penalty"; + type uint8 { + range "1..45"; + } + } + leaf restart-penalty { + description + "penalty to start reusing a route"; + type uint16 { + range "1..20000"; + } + } + leaf suppress-penalty { + description + "penalty to start suppressing a route"; + type uint16 { + range "1..20000"; + } + } + leaf max-suppress-penalty { + description + "Maximum duration to suppress a stable route"; + type uint8 { + range "1..255"; + } + } + } + } + container evpn { + description + "BGP EVPN policies"; + container gateway-ip { + description + "Value for EVPN Gateway Address"; + choice gateway-ip-choice { + case use-nexthop { + leaf use-nexthop { + description + "Use nexthop as Gateway Address"; + type empty; + } + } + } + } + } + container extcomm-list-v2 { + description + "Set BGP/VPN extended community list (for deletion)"; + container extcomm-delete { + description + "Set BGP/VPN extended community list (for deletion)"; + leaf ext-range { + description + "Extended community-list number (expanded) or name"; + type union { + type uint16 { + range "1..500"; + } + type string; + } + } + leaf delete { + when '../ext-range'; + description + "Delete matching extended communities"; + type empty; + } + } + } + container extcomm-list { + status deprecated; + description + "Set BGP/VPN extended community list (for deletion)"; + list ext-range { + status deprecated; + key "comm-list-num"; + leaf comm-list-num { + status deprecated; + description + "Extended community-list number (expanded)"; + type uint16 { + range "1..500"; + } + } + leaf delete { + status deprecated; + description + "Delete matching extended communities"; + type empty; + } + } + list excomm-list-name { + status deprecated; + key "name"; + leaf name { + status deprecated; + description + "extcommunity-list name"; + type string; + } + leaf delete { + status deprecated; + type empty; + } + } + } + container extcommunity { + description + "BGP extended community attribute"; + container color-additive { + leaf color { + description + "Color Extended Community"; + type uint32 { + range "1..4294967295"; + } + } + leaf additive { + when '../color'; + description + "additive"; + type empty; + } + } + leaf default-gw { + description + "Default Gateway Extended Community"; + type empty; + } + container cost { + description + "Cost extended community"; + list community-id { + key "community-id"; + leaf community-id { + description + "Community ID"; + type uint8 { + range "0..255"; + } + } + leaf cost-value { + description + "Cost Value (No-preference Cost = 2147483647)"; + type uint32 { + range "0..4294967295"; + } + } + must '(community-id and cost-value)' { + error-message "cost-value is required"; + } + } + container igp { + description + "Compare following IGP cost comparison"; + uses bgp-route-map-community-grouping; + } + container pre-bestpath { + description + "Compare before all other steps in bestpath calculation"; + uses bgp-route-map-community-grouping; + } + } + container rt { + description + "Route Target extended community"; + leaf-list asn-nn { + ordered-by user; + type union { + type ios-types:asn-ip-type; + type enumeration { + enum additive; + } + } + } + uses extcommunity-range-grouping; + } + container soo { + description + "Site-of-Origin extended community"; + leaf asn-nn { + type ios-types:asn-ip-type; + } + } + container vpn-distinguisher { + description + "VPN Distinguisher"; + leaf asn-nn { + description + " VPN Distinguisher Extended Community"; + type ios-types:asn-ip-type; + } + leaf asn-nn-additive { + type empty; + } + uses extcommunity-range-grouping; + } + } + container large-community { + description + "BGP large community attribute"; + choice large-community-choice { + leaf none { + description + "No large community attribute"; + type empty; + } + container large-community-value { + description + "large-community-format"; + leaf-list large-community-list { + description + "large community number in aa:bb:cc format"; + ordered-by user; + type ios-types:large-community-number-type; + } + leaf additive { + description + "Add to the existing community"; + when '../large-community-list'; + type empty; + } + } + } + } + container largecomm-list { + description + "set BGP large community list (for deletion)"; + presence "true"; + choice largecomm-list-choice { + mandatory true; + leaf largecomm-list-standard { + description + "Community-list number (standard)"; + type uint16 { + range "1..99"; + } + } + leaf largecomm-list-expanded { + description + "Community-list number (expanded)"; + type uint16 { + range "100..500"; + } + } + leaf largecomm-list-name { + description + "Large-Community-list name"; + type string; + } + } + leaf delete { + description + "Delete matching communities"; + mandatory true; + type empty; + } + } + leaf local-preference { + description + "Preference value"; + type uint32 { + range "0..4294967295"; + } + } + container nlri { + description + "BGP NLRI type"; + leaf unicast { + description + "Used in unicast RIB"; + type empty; + } + leaf multicast { + description + "Used in multicast RIB"; + type empty; + } + } + leaf weight { + description + "BGP weight for routing table"; + type uint32 { + range "0..65535"; + } + } + container origin-v2 { + description + "BGP origin code"; + choice origin-choice { + case igp { + leaf igp { + description + "IGP"; + type empty; + } + } + case incomplete { + leaf incomplete { + description + "Incomplete"; + type empty; + } + } + case egp { + leaf egp { + description + "remote EGP"; + type uint32 { + range "0..65535"; + } + } + } + } + } + container origin { + status deprecated; + description + "BGP origin code (DEPRECATED use origin-v2)"; + leaf origin-value { + status deprecated; + description + "(DEPRECATED use origin-v2)"; + type enumeration { + enum igp; + enum incomplete; + } + } + leaf egp { + status deprecated; + description + "remote EGP (DEPRECATED use origin-v2)"; + type uint32 { + range "0..65535"; + } + } + } + } + } + + grouping bgp-route-map-match-grouping { + container bgp-route-map-match { + container additional-paths { + description + "BGP Add-Path match policies"; + container advertise-set-v2 { + description + "BGP Add-Path advertise-set policy"; + leaf all { + description + "BGP Add-Path advertise all paths"; + type empty; + } + leaf group-best { + description + "BGP Add-Path advertise group-best path"; + type empty; + } + choice best-or-best-range-choice { + case best-case { + leaf best { + description + "BGP Add-Path advertise best n paths"; + type uint8 { + range "1..3"; + } + } + } + case best-range-case { + container best-range { + description + "BGP Add-Path best paths to advertise range"; + leaf lower-limit { + description + "BGP Add-Path best paths to advertise (lower limit)"; + mandatory true; + type uint8 { + range "1..3"; + } + } + leaf upper-limit { + description + "BGP Add-Path best paths to advertise (upper limit)"; + mandatory true; + type uint8 { + range "1..3"; + } + } + must 'lower-limit < upper-limit' { + error-message "lower-limit must be less than upper-limit"; + } + } + } + } + } + container advertise-set { + description + "BGP Add-Path advertise-set policy (DEPRECATED USE advertise-set-v2)"; + status deprecated; + container all { + description + "BGP Add-Path advertise all paths (DEPRECATED USE advertise-set-v2)"; + status deprecated; + presence "true"; + leaf best { + description + "BGP Add-Path best n paths to advertise (DEPRECATED USE advertise-set-v2)"; + status deprecated; + type uint8 { + range "1..3"; + } + } + leaf best-range { + description + "BGP Add-Path best paths to advertise (lower limit) (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type uint8 { + range "1..3"; + } + } + container group-best { + description + "BGP Add-Path advertise group-best path (DEPRECATED USE advertise-set-v2)"; + status deprecated; + presence "true"; + leaf best { + description + "BGP Add-Path advertise best n paths (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type empty; + } + leaf best-range { + description + "BGP Add-Path advertise best paths (range m to n) (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type empty; + } + } + } + container best { + description + "BGP Add-Path advertise best n paths (OBSOLETE USE advertise-set-v2)"; + status obsolete; + list best-range { + description + "(OBSOLETE USE advertise-set-v2)"; + status obsolete; + key "best-range"; + leaf best-range { + description + "BGP Add-Path best n paths to advertise (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type uint8 { + range "1..3"; + } + } + leaf all { + description + "BGP Add-Path advertise all paths (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type empty; + } + leaf group-best { + description + "BGP Add-Path advertise group-best path (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type empty; + } + } + } + container best-range { + description + "BGP Add-Path advertise best paths (range m to n) (DEPRECATED USE advertise-set-v2)"; + status deprecated; + list adv-path { + status deprecated; + key "adv-path"; + leaf adv-path { + description + "BGP Add-Path best paths to advertise (lower limit) (DEPRECATED USE advertise-set-v2)"; + status deprecated; + type uint8 { + range "1..3"; + } + } + leaf adv-path0 { + description + "BGP Add-Path best paths to advertise (upper limit) (DEPRECATED USE advertise-set-v2)"; + status deprecated; + type uint8 { + range "1..3"; + } + } + } + } + container group-best { + description + "BGP Add-Path advertise group-best path (DEPRECATED USE advertise-set-v2)"; + status deprecated; + presence "true"; + leaf all { + description + "BGP Add-Path advertise all path (DEPRECATED USE advertise-set-v2)"; + status deprecated; + type empty; + } + leaf best { + description + "BGP Add-Path best n paths to advertise (DEPRECATED USE advertise-set-v2)"; + status deprecated; + type uint8 { + range "1..3"; + } + } + leaf best-range { + description + "BGP Add-Path best paths to advertise (lower limit) (OBSOLETE USE advertise-set-v2)"; + status obsolete; + type uint8 { + range "1..3"; + } + } + } + } + } + container as-path { + description + "Match BGP AS path list"; + leaf-list access-list { + description + "AS path access-list"; + type uint16 { + range "1..500"; + } + } + } + container bgp-community { + description + "Match BGP community list"; + leaf-list community-list { + description + "Named Access List"; + ordered-by user; + type string; + } + leaf exact-match { + description + "Do exact matching of communities"; + type empty; + } + must '(not(not(community-list) and exact-match))' { + error-message "exact-match and community must be configured together"; + } + } + container extcommunity { + description + "Match BGP/VPN extended community list"; + leaf-list extcommunity-list { + description + "Named Access List"; + ordered-by user; + type string; + } + } + container large-community { + description + "Match BGP large-community list"; + leaf-list name { + description + "Large community-list name or number"; + ordered-by user; + type string; + } + leaf exact-match { + description + "Do exact matching of large communities"; + type empty; + } + must '(not(not(name) and exact-match))' { + error-message "name and community must be configured together"; + } + } + container local-preference { + description + "Local preference for route"; + leaf-list values { + type uint32 { + range "0..4294967295"; + } + } + } + container route-type { + description + "Match route-type of route"; + leaf local { + description + "locally generated route"; + type empty; + } + } + container evpn { + description + "EVPN specific information"; + container route-type { + description + "Match BGP EVPN Route-type"; + leaf rt1 { + description + "Route-type 1 (Ethernet Auto-Discovery (A-D) Route)"; + type enumeration { + enum 1; + } + } + leaf rt2 { + description + "Route-type 2 (MAC/IP Advertisement Route [all])"; + type enumeration { + enum 2; + } + } + leaf rt-2-mac-ip-only { + description + "Route-type 2 (MAC/IP Advertisement Route [mac-ip only])"; + type enumeration { + enum 2-mac-ip; + } + } + leaf rt-2-mac-only { + description + "Route-type 2 (MAC/IP Advertisement Route [mac only])"; + type enumeration { + enum 2-mac-only; + } + } + leaf rt3 { + description + "Route-type 3 (Inclusive Multicast Ethernet Tag Route)"; + type enumeration { + enum 3; + } + } + leaf rt4 { + description + "Route-type 4 (Ethernet Segment Route)"; + type enumeration { + enum 4; + } + } + leaf rt5 { + description + "Route-type 5 (IP Prefix Route)"; + type enumeration { + enum 5; + } + } + leaf rt6 { + description + "Route-type 6 (Selective Multicast Ethernet Tag Route)"; + type enumeration { + enum 6; + } + } + leaf rt7 { + description + "Route-type 7 (Multicast Join Sync Route)"; + type enumeration { + enum 7; + } + } + leaf rt8 { + description + "Route-type 8 (Multicast Leave Sync Route)"; + type enumeration { + enum 8; + } + } + } + } + } + } + + augment "/ios:native/ios:router" { + uses config-bgp-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-community-list-grouping-v2; + uses config-ip-community-list-deprecated-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-extcommunity-list-grouping-v2; + uses config-ip-extcommunity-list-deprecated-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-large-community-list-grouping; + } + + augment "/ios:native/ios:ip/ios:as-path" { + uses config-ip-as-path-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-policy-list-grouping; + } + + augment "/ios:native/ios:snmp-server/ios-snmp:enable/ios-snmp:enable-choice/ios-snmp:traps" { + uses snmp-server-trap-bgp-grouping-v2; + uses snmp-server-trap-bgp-deprecated-grouping; + } + + augment "/ios:native/ios:vrf/ios:definition/ios:address-family/ios:ipv4" { + uses vrf-ipv4-inter-as-hybrid-grouping; + } + + augment "/ios:native/ios:vrf/ios:definition/ios:address-family/ios:ipv6" { + uses vrf-ipv6-inter-as-hybrid-grouping; + } + + augment "/ios:native/ios:route-map/ios-route-map:route-map-seq/ios-route-map:set" { + uses bgp-route-map-set-grouping; + } + + augment "/ios:native/ios:route-map/ios-route-map:route-map-without-order-seq/ios-route-map:set" { + uses bgp-route-map-set-grouping; + } + + augment "/ios:native/ios:route-map/ios-route-map:route-map-seq/ios-route-map:match" { + uses bgp-route-map-match-grouping; + } + + augment "/ios:native/ios:route-map/ios-route-map:route-map-without-order-seq/ios-route-map:match" { + uses bgp-route-map-match-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-boot-integrity-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-boot-integrity-oper.yang new file mode 100644 index 000000000..ab11ca68d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-boot-integrity-oper.yang @@ -0,0 +1,214 @@ +module Cisco-IOS-XE-boot-integrity-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-boot-integrity-oper"; + prefix boot-integrity-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco IOS XE boot integrity visibility. + Copyright (c) 2017-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "Restructured system integrity sub tree."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-31 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping register-group { + description + "Group to aggregate Register (PCR) index and content"; + leaf index { + type uint8; + description + "References PCR Register Index"; + } + leaf pcr-content { + type string; + description + "References PCR Register Content"; + } + } + + grouping package-integrity-group { + description + "Group to aggregate index, name and hash for a given + package integrity group entry"; + leaf index { + type uint8; + description + "Unique index assigned to each package integrity + group entry. Assigned for uniqueness."; + } + leaf name { + type string; + description + "Package Name"; + } + leaf hash { + type string; + description + "Package Hash"; + } + } + + grouping system-integrity { + description + "System Integrity Measurements"; + leaf platform { + type string; + description + "Product Identifier"; + } + leaf boot-ver { + type string; + description + "Boot 0 Version"; + } + leaf boot-hash { + type string; + description + "Boot 0 Hash"; + } + leaf boot-loader-ver { + type string; + description + "Boot Loader Version"; + } + leaf boot-loader-hash { + type string; + description + "Boot Loader Hash"; + } + leaf os-version { + type string; + description + "Operating System Version"; + } + list package-integrity { + key "index"; + description + "List of package integrity group describing + system-calculated hashes for each package artifact + currently installed or patched to the system. A package + artifact in this context may consist of at least one super + package followed by a sequence of sub-packages and optionally + where applicable may contain additional entries for software + maintenance update packages."; + uses boot-integrity-ios-xe-oper:package-integrity-group; + } + list register { + key "index"; + description + "List for maintaining the Platform Content + Register (PCR) indices and content. Currently + only two entries are expected: index 0 and + index 8"; + uses boot-integrity-ios-xe-oper:register-group; + } + } + + grouping sudi-certificate { + description + "System Secure Unique Device Identifier Certificate + Chain Measurements "; + leaf crca-pem { + type string; + description + "Cisco Root CA PEM Certificate"; + } + leaf cmca-pem { + type string; + description + "Cisco Manufacturing CA PEM Certificate"; + } + leaf sudi-pem { + type string; + description + "ACT2 RSA SUDI CA PEM Certificate"; + } + leaf sudi-signature { + type string; + description + "ACT2 RSA SUDI Certificate Generated Signature"; + } + } + + container boot-integrity-oper-data { + config false; + description + "Enclosing container for the boot integrity + measurements of the system."; + container system-integrity { + presence "system-integrity"; + description + "List of system integrity measurements for Boot, + Boot Loader, and package signatures as well as + Platform Configuration Registers (PCR) content. + These measurements are captured utilizing Trust + Anchor Module (TAM) services communicating with + Anti-Counterfeit Technology implemented in + a secure hardware device."; + uses boot-integrity-ios-xe-oper:system-integrity; + } + container sudi-certificate { + presence "sudi-certificate"; + description + "List of system certificate measurements for Cisco + Root CA (CRCA), Cisco Manufacturing CA (CMCA), and + ACT2 RSA Secure Unique Device Identity (SUDI) CA + PEM certificates and SUDI generated signatures. + These measurements are captured utilizing Trusted + Anchor Module (TAM) services communicating with + system Anti-Counterfeit Technology implemented in + a secure hardware device."; + uses boot-integrity-ios-xe-oper:sudi-certificate; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-breakout-port-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-breakout-port-oper.yang new file mode 100644 index 000000000..15a21af0b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-breakout-port-oper.yang @@ -0,0 +1,101 @@ +module Cisco-IOS-XE-breakout-port-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-breakout-port-oper"; + prefix bc-port-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring breakout ports in a Network Element. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-02 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef bc-channel-speed { + type enumeration { + enum 10gb { + value 0; + } + enum unknown { + value 1; + } + } + description + "Speed of each channel"; + } + + grouping port-breakout { + description + "List of breakout ports, keyed by name"; + leaf name { + type string; + description + "Name of the breakout port"; + } + leaf number { + type int16; + description + "Number of channels to 'breakout' on a port capable of channelization"; + } + leaf speed { + type bc-port-ios-xe-oper:bc-channel-speed; + description + "Channel speed on each channel"; + } + } + + container breakout-port-oper-data { + config false; + description + "Information about breakout ports"; + list port-breakout { + key "name"; + description + "List of breakout ports, keyed by name"; + uses bc-port-ios-xe-oper:port-breakout; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain-asr900-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain-asr900-deviation.yang new file mode 100644 index 000000000..fc624b871 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain-asr900-deviation.yang @@ -0,0 +1,37 @@ +module Cisco-IOS-XE-bridge-domain-asr900-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bridge-domain-asr900-deviation"; + prefix ios-bd-asr900-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-bridge-domain { + prefix ios-bd; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Bridge Domain Deviation YANG module for IOS-XE ASR900 (RSP2 and RSP3) + and ASR920 platforms + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Changed deprecated models to obsolete, removed relevant entries"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2021-11-01 { + description + "Added mac learning deviation"; + } + + deviation "/ios:native/ios:bridge-domain/ios-bd:brd-id/ios-bd:mac/ios-bd:learning-boolean" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain.yang new file mode 100644 index 000000000..57523dc7e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-domain.yang @@ -0,0 +1,997 @@ +module Cisco-IOS-XE-bridge-domain { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bridge-domain"; + prefix ios-bd; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-l2vpn { + prefix ios-l2vpn; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Bridge Domain Yang model + Copyright (c) 2017 - 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Change error message for L2VPN SDWAN related commands"; + cisco-semver:module-version "3.1.0"; + } + revision 2024-03-01 { + description + "- Add support for L2VPN SDWAN related commands + - Changed deprecated models to obsolete + - Added new tailf recursive delete to bridge domain + - Remove vlan-based member and rename vlan-service-id to vc-id for + L2VPN SDWAN"; + cisco-semver:module-version "3.0.0"; + } + revision 2023-07-01 { + description + "- Add support for EVPN profile related commands + - Move old evpn-instance list into a new container"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Fixed EVPN member for vxlan encap"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-11-01 { + description + "- Added Unknown Unicast Flooding Suppression + - Accept virtual interface name patterns for member interface"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Changed leaf node service-instance to a list node"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added pseudo wire config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add bridge-domain member BD-VIF"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-30 { + description + "Support EVPN instance"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef bdomain-member-interface { + type string { + pattern '([Ff][Aa][Ss][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Tt][Ww][Oo][Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Ff][Ii][Vv][Ee][Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Aa][Pp][Pp][Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Tt][Ee][Nn][Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Tt][Ww][Ee][Nn][Tt][Yy][Ff][Ii][Vv][Ee][Gg][Ii][Gg][Ee]|[Ff][Oo][Rr][Tt][Yy][Gg][Ii][Gg][Aa][Bb][Ii][Tt][Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]|[Hh][Uu][Nn][Dd][Rr][Ee][Dd][Gg][Ii][Gg][Ee]|[Pp][Oo][Rr][Tt]-[Cc][Hh][Aa][Nn][Nn][Ee][Ll]|VirtualPortGroup|Virtual-Template|Vlan).*'; + } + } + + grouping config-bdomain-mode-grouping { + container ip { + description + "IP related commands"; + container igmp { + description + "IP igmp commands"; + container snooping { + description + "IP igmp snooping commands"; + presence "true"; + container check { + description + "enforce TTL or Rtr-Alert Option checking"; + leaf rtr-alert-option-boolean { + description + "Only accept IGMP packets with router-alert option"; + type boolean; + default "true"; + } + leaf rtr-alert-option { + status obsolete; + description + "Only accept IGMP packets with router-alert option, Obsolete and replaced by rtr-alert-option-boolean"; + type empty; + } + leaf ttl-boolean { + description + "Only accept IGMP packets with TTL=1"; + type boolean; + default "true"; + } + leaf ttl { + status obsolete; + description + "Only accept IGMP packets with TTL=1, Obsolete and replaced by ttl-boolean"; + type empty; + } + } + container explicit-tracking { + description + "IGMP explicit host tracking configuration"; + leaf limit-value { + description + "Explicit Host Tracking DB limit"; + type uint32 { + range "0..128000"; + } + } + leaf limit { + status obsolete; + description + "Explicit Host Tracking DB limit"; + type empty; + } + } + leaf immediate-leave { + description + "Enable IGMPv2 immediate leave processing"; + type empty; + } + leaf last-member-query-count { + description + "Last member query count"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + description + "Last member query interval"; + type uint16 { + range "100..32767"; + } + } + container mrouter { + description + "Configure an L2 port as a multicast router port"; + list interface-cfg { + description + "next-hop interface to mrouter"; + key "name"; + leaf name { + type string { + pattern '[FfGgTtPp][OoIiEeWw].*'; + } + } + leaf efp_id { + description + "efp number on the interface"; + type uint16 { + range "1..8000"; + } + } + } + leaf interface { + status obsolete; + description + "next-hop interface to mrouter"; + type empty; + } + } + container querier { + description + "Enable IGMP querier for this Bdomain"; + presence "true"; + leaf address-value { + description + "IGMP querier source IP address"; + type inet:ipv4-address; + } + leaf address { + status obsolete; + description + "IGMP querier source IP address"; + type empty; + } + leaf max-response-time-value { + description + "IGMP querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf max-response-time { + status obsolete; + description + "IGMP querier maximum response time (sec)"; + type empty; + } + leaf query-interval-value { + description + "IGMP querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + leaf query-interval { + status obsolete; + description + "IGMP querier query interval (sec)"; + type empty; + } + container tcn-parameters { + description + "IGMP querier TCN related parameters"; + container query { + leaf count { + description + "IGMP querier TCN query count"; + type uint16 { + range "1..10"; + } + } + leaf interval { + description + "IGMP querier TCN query interval (sec)"; + type uint16 { + range "1..255"; + } + } + } + } + leaf tcn { + status obsolete; + description + "IGMP querier TCN related parameters"; + type empty; + } + container timer-expiry { + description + "IGMP other querier timer"; + leaf expiry { + description + "IGMP querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf timer { + status obsolete; + description + "IGMP other querier timer"; + type empty; + } + leaf version-value { + description + "IGMP version"; + type uint8 { + range "1..3"; + } + } + leaf version { + status obsolete; + description + "IGMP version"; + type empty; + } + } + leaf report-suppression-boolean { + description + "Enable IGMP report suppression"; + type boolean; + default "true"; + } + leaf report-suppression { + status obsolete; + description + "Enable IGMP report suppression, Obsolete and replaced by report-suppression-boolean"; + type empty; + } + leaf robustness-variable { + description + "IGMP snooping bdomain robustness variable"; + type uint8 { + range "1..3"; + } + } + list static-cfg { + description + "Configure an L2 port as a member of a group"; + key "group-addr"; + leaf group-addr { + description + "IP address of the group"; + type inet:ipv4-address; + } + list interface { + description + "Specify an interface statically configured"; + key "name"; + leaf name { + type string { + pattern '[FfGgTtPp][OoIiEeWw].*'; + } + } + } + list source { + description + "a source of the group"; + key "source-ip-addr interface"; + leaf source-ip-addr { + description + "IP address of the source"; + type inet:ipv4-address; + } + leaf interface { + description + "Specify an interface statically configured"; + type string { + pattern '[FfGgTtPp][OoIiEeWw].*'; + } + } + leaf service-instance { + description + "service instance number"; + type uint16 { + range "1..8000"; + } + } + } + } + leaf static { + status obsolete; + description + "Configure an L2 port as a member of a group"; + type inet:ipv4-address; + } + } + } + } + container mac { + description + "MAC Address related commands"; + leaf aging-time { + description + "Set age time of mac addresses per bridge domain"; + type uint16 { + range "30..21600"; + } + } + leaf learning-boolean { + description + "Disable mac learning on bridge domain"; + type boolean; + default "true"; + } + leaf learning { + status obsolete; + description + "Disable mac learning on bridge domain, Obsolete and replaced by learning-boolean"; + type empty; + } + container limit { + description + "Limit the MAC Addresses learnt"; + container action { + description + "action when exceeding the limit"; + container flooding { + description + "Mac flooding"; + leaf disable { + description + "disable"; + type empty; + } + } + } + container maximum { + description + "Maximum"; + leaf addresses { + description + "Addresses"; + type uint32 { + range "1..65536"; + } + } + } + } + } + container member { + description + "bridge-domain member"; + list mem-ipv4 { + key "mem-ipv4"; + leaf mem-ipv4 { + description + "IP address of the peer"; + type inet:ipv4-address; + } + list mem-vcid { + key "mem-vcid"; + leaf mem-vcid { + description + "<1..4294967295>;;Enter VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + container encapsulation { + description + "Data encapsulation method"; + presence "true"; + leaf mpls { + description + "Use MPLS encapsulation"; + type empty; + } + } + container template { + description + "Template to use for encapsulation and protocol configuration"; + presence "true"; + leaf template { + description + ";;template name (Max size 32)"; + type string; + } + } + } + container encapsulation { + description + "Data encapsulation method"; + leaf mpls { + description + "Use MPLS encapsulation"; + type empty; + } + } + leaf template { + description + "Template to use for encapsulation and protocol configuration"; + type string; + } + } + list ACR { + key "acr-int"; + leaf acr-int { + description + ";;Virtual ACR interface"; + type string; + } + container service-instance { + description + "ethernet service instance"; + list id { + key "id"; + leaf id { + description + "<1..8000>;;Service Instance Identifier"; + type uint16 { + range "1..8000"; + } + } + leaf split-horizon { + description + "Configure this port as a member of a split horizon group"; + type empty; + } + } + } + } + leaf Analysis-Module { + description + "Cisco network analysis service module"; + type uint8; + } + leaf Fcpa { + description + "Fiber Channel"; + type uint8; + } + leaf SBC { + description + "Session Border Controller"; + type uint32 { + range "0..2147483647"; + } + } + leaf SONET_ACR { + description + "Virtual SONET-ACR controller"; + type uint8; + } + leaf _controller { + status obsolete; + type string { + pattern '(OBSOLETED)'; + } + } + leaf Service-Engine { + description + "Cisco service engine module"; + type uint8; + } + leaf Tunnel-tp { + description + "MPLS Transport Profile interface"; + type uint16 { + range "0..65535"; + } + } + leaf VPN { + description + "VPN interface"; + type uint32 { + range "0..2147483647"; + } + } + leaf Virtual-TokenRing { + description + "Virtual TokenRing"; + type uint32 { + range "0..2147483647"; + } + } + leaf ucse { + description + "Cisco ucse server"; + type uint8; + } + leaf vasileft { + description + "VasiLeft interface"; + type uint16 { + range "1..2000"; + } + } + leaf vasiright { + description + "VasiRight interface"; + type uint16 { + range "1..2000"; + } + } + leaf vfi { + description + "Enter VFI name"; + must '/ios:native/ios:l2vpn/ios-l2vpn:vfi/ios-l2vpn:context[ios-l2vpn:vfi-nm = current()]/ios-l2vpn:vpn/ios-l2vpn:id' { + error-message "A VFI context must be configured with a valid vpn id first"; + } + type string; + } + leaf vni { + type uint32 { + range "4096..16777215"; + } + } + list member-interface { + key "interface"; + leaf interface { + type bdomain-member-interface; + } + leaf interface-id { + status obsolete; + type union { + type string; + type uint32; + } + } + list service-instance-list { + description + "ethernet service instance"; + key "instance-id"; + leaf instance-id { + type uint32 { + range "1..8000"; + } + } + container split-horizon { + description + "Configure this port as a member of a split horizon group"; + leaf group { + description + "Split-horizon group"; + type uint8; + } + } + container remote { + description + "remote peer configuration commands"; + container circuit { + description + "Remote peer circuit configuration"; + leaf id { + description + "Remote peer circuit ID"; + type uint16; + } + } + } + } + leaf service-instance { + description + "ethernet service instance, Obsolete and replaced by service-instance-list"; + status obsolete; + type uint32 { + range "1..8000"; + } + } + container split-horizon { + description + "Configure this port as a member of a split horizon group, Obsolete and replaced by service-instance-list/split-horizon"; + status obsolete; + leaf group { + description + "Split-horizon group, Obsolete and replaced by service-instance-list/split-horizon/group"; + status obsolete; + type uint8; + } + } + container remote { + description + "remote peer configuration commands, Obsolete and replaced by service-instance-list/remote"; + status obsolete; + container circuit { + description + "Remote peer circuit configuration, Obsolete and replaced by service-instance-list/remote/circuit"; + status obsolete; + leaf id { + description + "Remote peer circuit ID, Obsolete and replaced by service-instance-list/remote/circuit/id"; + status obsolete; + type uint16; + } + } + } + } + container evpn-instance-v2 { + presence "true"; + choice evpn-instance-choice { + case profile-case { + list profile { + key "profile-name"; + leaf profile-name { + type string; + must '/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:l2-profile/ios-l2vpn:evpn/ios-l2vpn:profile/ios-l2vpn:profile-name-list/ios-l2vpn:name = current()' { + error-message "EVPN L2 Profile must created first"; + } + } + } + } + case instance-case { + list instance { + description + "Ethernet Virtual Private Network (EVPN) instance"; + max-elements 1; + key "instance-num"; + leaf instance-num { + description + "EVPN instance number."; + type uint16 { + range "1..65535"; + } + } + choice evpn-service-type { + description + "Evpn Service type."; + case ethernet-tag-case { + leaf ethernet-tag { + when "/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware and (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation = 'mpls' or not(/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation))"; + description + "Ethernet tag value."; + type uint16 { + range "1..4094"; + } + } + } + case vni-case { + leaf vni { + when "/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation = 'vxlan' or (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-based/ios-l2vpn:encapsulation = 'vxlan') or (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-bundle/ios-l2vpn:encapsulation = 'vxlan')"; + description + "VxLAN VNI."; + type uint32 { + range "4096..16777215"; + } + } + } + } + } + } + } + } + list evpn-instance { + status deprecated; + description + "Ethernet Virtual Private Network (EVPN) instance"; + key "instance-num"; + leaf instance-num { + status deprecated; + description + "EVPN instance number."; + type uint16 { + range "1..65535"; + } + } + choice evpn-service-type { + status deprecated; + description + "Evpn Service type."; + leaf ethernet-tag { + status deprecated; + when "/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware and (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation = 'mpls' or not(/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation))"; + description + "Ethernet tag value."; + type uint16 { + range "1..4094"; + } + } + leaf vni { + status deprecated; + when "/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-aware/ios-l2vpn:encapsulation = 'vxlan' or (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-based/ios-l2vpn:encapsulation = 'vxlan') or (/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:evpn-instance/ios-l2vpn:evpn/ios-l2vpn:instance/ios-l2vpn:instance[ios-l2vpn:evpn-instance-num = current()/../instance-num]/ios-l2vpn:vlan-bundle/ios-l2vpn:encapsulation = 'vxlan')"; + description + "VxLAN VNI."; + type uint32 { + range "4096..16777215"; + } + } + } + } + list pseudowire { + description + "Pseudowire Interface"; + must 'current()/../ios-bd:vfi' { + error-message "A VFI member must be configured first"; + } + key "name"; + leaf name { + type uint32 { + range "1..231072"; + } + } + leaf peer-addr { + description + "IP address of the peer"; + type inet:ipv4-address; + } + leaf vc-id { + description + "VC ID value"; + type uint32; + } + choice pw-encap-templ { + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + } + } + leaf template { + description + "Template to use for encapsulation and protocol configuration"; + type string; + } + } + } + list sdwan-instance { + if-feature "ios-features:sdwan-l2vpn"; + description + "L2VPN SDWAN instance"; + when "local-name(../..) = 'brd-id'"; + max-elements 1; + key "sdwan-instance-num"; + leaf sdwan-instance-num { + description + "Sdwan instance number, value is in <1..65531>."; + type uint32 { + range "1..65531"; + } + } + choice service-type-choice { + case point-to-point-case { + container point-to-point-container { + description + "The point-to-point choice for sdwan instance with point-to-point type"; + must '/ios:native/ios:l2vpn/ios-l2vpn:sdwan-l2vpn/ios-l2vpn:sdwan-instance/ios-l2vpn:sdwan/ios-l2vpn:instance[ios-l2vpn:sdwan-instance-num = current()/../sdwan-instance-num]/ios-l2vpn:point-to-point' { + error-message "%Error: Case 1 - Failed to add the SDWAN instance member to a bridge domain because the L2VPN SDWAN instance either does not exist or is not of point-to-point type; Case 2 - Failed to delete the L2VPN SDWAN instance as the SDWAN instance member is attached to a bridge domain."; + } + leaf remote-site-id { + description + "The remote site-id of this sdwan instance member"; + must '../vc-id and (../single-homing or ../dual-homing)' { + error-message "%Error: Must fully configure remote-site-id, vc-id and homing-choice."; + } + type uint32 { + range "0..4294967295"; + } + } + leaf vc-id { + description + "Virtual circuit id"; + must '../remote-site-id and (../single-homing or ../dual-homing)' { + error-message "%Error: Must fully configure remote-site-id, vc-id and homing-choice."; + } + type uint32 { + range "1..4294967295"; + } + } + choice homing-choice { + description + "The choice of homing type"; + case single-homing-case { + leaf single-homing { + description + "Homing type as single homing"; + must '../remote-site-id and ../vc-id' { + error-message "%Error: Must fully configure remote-site-id, vc-id and homing-choice."; + } + type empty; + } + } + case dual-homing-case { + leaf dual-homing { + description + "Homing type as dual-homing"; + must '../remote-site-id and ../vc-id' { + error-message "%Error: Must fully configure remote-site-id, vc-id and homing-choice."; + } + type empty; + } + } + } + } + } + case multipoint-case { + container multipoint-container { + description + "The multipoint choice for sdwan instance with multipoint type"; + must '/ios:native/ios:l2vpn/ios-l2vpn:sdwan-l2vpn/ios-l2vpn:sdwan-instance/ios-l2vpn:sdwan/ios-l2vpn:instance[ios-l2vpn:sdwan-instance-num = current()/../sdwan-instance-num]/ios-l2vpn:multipoint' { + error-message "%Error: Case 1 - Failed to add the SDWAN instance member to a bridge domain because the L2VPN SDWAN instance either does not exist or is not of multipoint type; Case 2 - Failed to delete the L2VPN SDWAN instance as the SDWAN instance member is attached to a bridge domain."; + } + leaf vc-id { + description + "Virtual circuit id"; + must '../single-homing or ../dual-homing' { + error-message "%Error: Must both configure vc-id and homing-choice."; + } + type uint32 { + range "1..4294967295"; + } + } + choice homing-choice { + description + "The choice of homing type"; + case single-homing-case { + leaf single-homing { + description + "Homing type as single homing"; + must '../vc-id' { + error-message "%Error: Must both configure vc-id and homing-choice."; + } + type empty; + } + } + case dual-homing-case { + leaf dual-homing { + description + "Homing type as dual homing"; + must '../vc-id' { + error-message "%Error: Must both configure vc-id and homing-choice."; + } + type empty; + } + } + } + } + } + } + } + list BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + key "name"; + leaf name { + type uint16; + } + } + } + container flooding-suppression { + description + "Suppress flooding"; + leaf unknown-unicast { + description + "Suppress unknown unicast flooding"; + type empty; + } + } + leaf shutdown { + description + "Take the bridge domain admin down"; + type empty; + } + } + + grouping config-bridge-domain-grouping { + list brd-id { + key "bridge-domain-id"; + leaf bridge-domain-id { + description + "<1..16000>;;bridge-domain ID"; + type uint16 { + range "1..16000"; + } + } + uses config-bdomain-mode-grouping; + } + container c-mac { + description + "Configure c-mac global commands"; + leaf aging-time { + description + "Configure aging time for c-mac bridge domains"; + type uint16 { + range "30..21600"; + } + } + } + container otv { + description + "Configure overlay bridge domains"; + container default { + description + "Change default setting of overlay bridge domains"; + leaf age-time { + description + "Configure default mac aging time of overlay bridge domains"; + type uint16 { + range "30..21600"; + } + } + } + } + container parameterized { + description + "bridge-domain is derived from parameters"; + container vlan { + description + "bridge-domain from service instance vlan"; + presence "true"; + uses config-bdomain-mode-grouping; + } + } + } + + augment "/ios:native/ios:bridge-domain" { + uses config-bridge-domain-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-oper.yang new file mode 100644 index 000000000..f343982c1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge-oper.yang @@ -0,0 +1,286 @@ +module Cisco-IOS-XE-bridge-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bridge-oper"; + prefix bridge-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for bridge data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-03-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef intf-status-type { + type enumeration { + enum up { + value 0; + } + enum down { + value 1; + } + } + description + "Interface status type"; + } + + typedef bridge-mac-type { + type enumeration { + enum bridge-mac-type-static { + value 0; + } + enum bridge-mac-type-dynamic { + value 1; + } + } + description + "MAC address type"; + } + + grouping bridge-intf-entry { + description + "Bridge interface operational data"; + leaf if-name { + type string; + description + "Switch port name belong to the bridge"; + } + leaf vlan { + type uint32; + description + "VLAN identifier"; + } + leaf native-vlan { + type boolean; + description + "If the VLAN is native VLAN"; + } + leaf admin-status { + type bridge-ios-xe-oper:intf-status-type; + description + "Bridge interface administration status"; + } + leaf oper-status { + type bridge-ios-xe-oper:intf-status-type; + description + "Bridge interface operational status"; + } + leaf encap-type { + type string; + description + "Bridge interface encapsulation type"; + } + leaf ifindex { + type uint32; + description + "Bridge interface index"; + } + leaf mtu { + type uint32; + description + "The Maximum Transmission Unit(byte) of Bridge interface"; + } + } + + grouping bridge-matm-entry { + description + "Bridge MAC address operational data"; + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf-list interface { + type string; + ordered-by user; + description + "Interface name which MAC learnt from"; + } + leaf vlan { + type uint32; + description + "VLAN identifier"; + } + leaf type { + type bridge-ios-xe-oper:bridge-mac-type; + description + "MAC type"; + } + } + + grouping bridge-entry { + description + "Bridge entry"; + leaf bridge-id { + type uint32; + description + "Bridge id <1..4094>"; + } + leaf name { + type string; + description + "VLAN name"; + } + leaf vlan { + type uint32; + description + "VLAN identifier <1..4094>"; + } + leaf routing-interface { + type string; + description + "The name of VLAN routing interface"; + } + leaf max-macs { + type uint32; + description + "The maximum number of MAC learn limit for bridge"; + } + leaf num-macs { + type uint32; + description + "The number of MAC learned in bridge"; + } + leaf age-time { + type uint32; + description + "The aging time of MAC address,0 or <10..1000000> second"; + } + leaf rx-packets { + type uint64; + description + "The number of received packets in bridge"; + } + leaf rx-octets { + type uint64; + description + "The number of received bytes in bridge"; + } + leaf tx-packets { + type uint64; + description + "The number of transmitted packets out of bridge"; + } + leaf tx-octets { + type uint64; + description + "The number of transmitted bytes out of bridge"; + } + leaf flood-packets { + type uint64; + description + "The number of flood packets in bridge"; + } + leaf flood-octets { + type uint64; + description + "The number of flood bytes in bridge"; + } + leaf rx-routed-packets { + type uint64; + description + "L3 packets received from bridge"; + } + leaf tx-routed-packets { + type uint64; + description + "L3 packets transmit from bridge"; + } + leaf learn { + type uint64; + description + "MAC learned counter in bridge"; + } + leaf age { + type uint64; + description + "MAC aging counter in bridge"; + } + leaf move { + type uint64; + description + "MAC move counter in bridge"; + } + container bridge-intf-entries { + description + "Bridge interface member information"; + list bridge-intf-entry { + key "if-name"; + description + "A list of bridge interface"; + uses bridge-ios-xe-oper:bridge-intf-entry; + } + } + container bridge-matm-entries { + description + "Bridge matm member information"; + list bridge-matm-entry { + key "mac-address"; + description + "A list of mac table"; + uses bridge-ios-xe-oper:bridge-matm-entry; + } + } + } + + container bridge-instances { + config false; + description + "This is top level container for bridge table. It can have one + or more bridge entry."; + list bridge-entry { + key "bridge-id"; + description + "The bridge lists is an ordered list of bridge entries. + Each bridge entries has a list of bridge interface members, + and bridge attributes."; + uses bridge-ios-xe-oper:bridge-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge.yang new file mode 100644 index 000000000..4286c5359 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-bridge.yang @@ -0,0 +1,71 @@ +module Cisco-IOS-XE-bridge { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-bridge"; + prefix ios-bridge; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE PnP Yang model. + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Added yang support for bridge routing commands"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-bridge { + container bridge { + description + "Bridge Group."; + leaf irb { + description + "Integrated routing and bridging"; + must 'not (../crb)' { + error-message + "CRB(Concurrent Routing and Bridging) is already configured! + Please deconfigure CRB first!"; + } + type empty; + } + leaf crb { + description + "Concurrent routing and bridging"; + must 'not (../irb)' { + error-message + "IRB(Integrated Routing and Bridging) is already configured! + Please deconfigure IRB first!"; + } + type empty; + } + } + } + + augment "/ios:native" { + uses config-bridge; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-buffers.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-buffers.yang new file mode 100644 index 000000000..10e6c81ad --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-buffers.yang @@ -0,0 +1,177 @@ +module Cisco-IOS-XE-buffers { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-buffers"; + prefix ios-buffers; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE buffers YANG model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Added support for buffers YANG model"; + } + revision 2023-11-01 { + description + "-Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + + grouping buffers-type-grouping { + leaf initial { + description + "Number of temporary buffers allocated at system reload"; + type uint32 { + range "0..65536"; + } + default "0"; + } + leaf max-free { + description + "Maximum number of free buffers"; + type uint32 { + range "0..65536"; + } + default "300"; + } + leaf min-free { + description + "Minimum number of free buffers"; + must 'current() <= ../max-free' { + error-message "Min-free must be less than or equal to Max-free"; + } + type uint32 { + range "0..65536"; + } + default "0"; + } + leaf permanent { + description + "Number of permanent buffers"; + type uint32 { + range "0..65536"; + } + default "100"; + } + } + + grouping config-buffers-grouping { + container buffers { + description + "Configuration to adjust system buffer pool parameters"; + container big { + description + "Big buffer configuration"; + uses buffers-type-grouping { + refine "max-free" { + default "1800"; + } + refine "min-free" { + default "50"; + } + refine "permanent" { + default "900"; + } + } + } + container verybig { + description + "Very Big buffer configuration"; + uses buffers-type-grouping; + } + container large { + description + "Large buffer configuration"; + uses buffers-type-grouping; + } + container huge { + description + "Huge buffer configuration"; + uses buffers-type-grouping { + refine "max-free" { + default "33"; + } + refine "permanent" { + default "20"; + } + } + leaf size { + description + "Size of huge buffers"; + type uint32 { + range "18024..65535"; + } + default "18024"; + } + } + container VeryLarge { + description + "Very Large buffer configuration"; + uses buffers-type-grouping; + } + container fastswitching { + description + "Fast switching particle pool"; + leaf initial { + description + "Number of temporary buffers allocated at system reload"; + type uint32 { + range "0|512..65535"; + } + default "0"; + } + leaf max-free { + description + "Maximum number of free buffers"; + type uint32 { + range "512..65535"; + } + default "1024"; + } + leaf min-free { + description + "Minimum number of free buffers"; + must 'current() <= ../max-free' { + error-message "Min-free must be less than or equal to Max-free"; + } + type uint32 { + range "128|512..65535"; + } + default "128"; + } + leaf permanent { + description + "Number of permanent buffers"; + type uint32 { + range "384|512..65535"; + } + default "384"; + } + } + } + } + + augment "/ios:native" { + uses config-buffers-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-oper.yang new file mode 100644 index 000000000..df0c26f86 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-oper.yang @@ -0,0 +1,315 @@ +module Cisco-IOS-XE-cable-diag-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cable-diag-oper"; + prefix cable-diag-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of cable diagnostic state information. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "Added a new leaf to capture the time of the cable diagnostic test"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-21 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef diag-pair-id { + type enumeration { + enum diag-pair-a { + value 0; + description + "Cable diagnostics pair name A"; + } + enum diag-pair-b { + value 1; + description + "Cable diagnostics pair name B"; + } + enum diag-pair-c { + value 2; + description + "Cable diagnostics pair name C"; + } + enum diag-pair-d { + value 3; + description + "Cable diagnostics pair name D"; + } + enum diag-pair-invalid { + value 4; + description + "Invalid cable diagnostic pair id"; + } + } + description + "Cable diagnostic pair id"; + } + + typedef diag-result { + type enumeration { + enum diag-result-invalid { + value 0; + description + "Invalid cable diagnostic result"; + } + enum diag-result-not-supported { + value 1; + description + "Cable diagnostic is not supported"; + } + enum diag-result-not-completed { + value 2; + description + "Cable diagnostic has not completed"; + } + enum diag-result-fail { + value 3; + description + "Cable diagnostic has failed"; + } + enum diag-result-normal { + value 4; + description + "Cable diagnostic result is normal"; + } + enum diag-result-impedance-mismatch { + value 5; + description + "Cable diagnostic identified impedance mismatch"; + } + enum diag-result-open { + value 6; + description + "An opening is detected on the cable"; + } + enum diag-result-short { + value 7; + description + "A short is detected on the cable"; + } + enum diag-result-short-or-impedance-mismatch { + value 8; + description + "A short or impedance mismatch is detected on the cable"; + } + enum diag-result-short-or-crosstalk { + value 9; + description + "A short or crosstalk is detected on the cable"; + } + enum diag-result-forced { + value 10; + description + "Cable diagnostics result is forced"; + } + } + description + "Cable diagnostic result"; + } + + typedef diag-length-unit { + type enumeration { + enum diag-length-unit-invalid { + value 0; + description + "Cable length unit is invalid"; + } + enum diag-length-unit-centimeter { + value 1; + description + "Cable length unit is in centimetres"; + } + enum diag-length-unit-meters { + value 2; + description + "Cable length unit is in meters"; + } + enum diag-length-unit-kilometer { + value 3; + description + "Cable length unit is in kilometers"; + } + } + description + "Cable diagnostic length unit"; + } + + typedef diag-speed { + type enumeration { + enum diag-speed-10mbps { + value 0; + description + "Current line speed is 10Mbps"; + } + enum diag-speed-100mbps { + value 1; + description + "Current line speed is 100Mbps"; + } + enum diag-speed-1gbps { + value 2; + description + "Current line speed is 1Gbps"; + } + enum diag-speed-5000mbps { + value 3; + description + "Current line speed is 5000Mbps"; + } + enum diag-speed-2500mbps { + value 4; + description + "Current line speed is 2500Mbps"; + } + enum diag-speed-10gbps { + value 5; + description + "Current line speed is 10Gbps"; + } + enum diag-speed-40gbps { + value 6; + description + "Current line speed is 40Gbps"; + } + enum diag-speed-25gbps { + value 7; + description + "Current line speed is 25Gbps"; + } + enum diag-speed-100gbps { + value 8; + description + "Current line speed is 100Gbps"; + } + enum diag-speed-auto { + value 9; + description + "Current line speed is auto"; + } + enum diag-speed-unknown { + value 10; + description + "Current line speed is unknown"; + } + } + description + "Cable diagnostic speed information"; + } + + grouping cable-diag-oper { + description + "Cable diagnostic operational entry details"; + leaf pair-id { + type cable-diag-ios-xe-oper:diag-pair-id; + description + "Local pair name"; + } + leaf result { + type cable-diag-ios-xe-oper:diag-result; + description + "Cable pair result"; + } + leaf length-unit { + type cable-diag-ios-xe-oper:diag-length-unit; + description + "Cable length unit"; + } + leaf remote-pair-id { + type cable-diag-ios-xe-oper:diag-pair-id; + description + "Remote pair name"; + } + leaf length { + type uint32; + description + "Cable length"; + } + leaf error { + type uint32; + description + "Cable accuracy"; + } + } + + grouping cable-diag-state { + description + "Cable diagnostics state information"; + leaf local-interface-name { + type string; + description + "Interface name"; + } + leaf speed { + type cable-diag-ios-xe-oper:diag-speed; + description + "Current line speed"; + } + list cable-diag-oper { + key "pair-id"; + description + "List of all pair information"; + uses cable-diag-ios-xe-oper:cable-diag-oper; + } + leaf tdr-test-time { + type yang:date-and-time; + description + "This leaf records the time when the last cable-diagnostic test is performed"; + } + } + + container cable-diag-oper-data { + config false; + description + "Data nodes for cable diagnostics information"; + list cable-diag-state { + key "local-interface-name"; + description + "Cable diagnostics state information"; + uses cable-diag-ios-xe-oper:cable-diag-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-rpc.yang new file mode 100644 index 000000000..2503d01d5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cable-diag-rpc.yang @@ -0,0 +1,67 @@ +module Cisco-IOS-XE-cable-diag-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cable-diag-rpc"; + prefix ios-xe-cable-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Zone RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2019-11-01 { + description + "Added support of two and five gig ports"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Created for NED RPC modularisation"; + cisco-semver:module-version "1.0.0"; + } + + augment "/ios-xe-rpc:test/ios-xe-rpc:input/ios-xe-rpc:test-feature" { + container cable-diagnostics { + container tdr { + container interface { + choice interface-choice { + leaf GigabitEthernet { + description + "Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwoGigabitEthernet { + description + "Two Gigabit Ethernet"; + type string; + } + leaf FiveGigabitEthernet { + description + "Five Gigabit Ethernet"; + type string; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type string; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-call-home.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-call-home.yang new file mode 100644 index 000000000..1ce404064 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-call-home.yang @@ -0,0 +1,980 @@ +module Cisco-IOS-XE-call-home { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-call-home"; + prefix ios-ch; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Call Home Yang Model. + Copyright (c) 2016, 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for call-home alert-group + - Added default value for call-home tac-profile destination transport-method + - Added default value for call-home tac-profile active + - Added trim default tail for call-home tac-profile destination transport-method"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "- Add mail server TLS config"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "- Obsolete 'profile' node and its sub-nodes; use tac-profile and + user-profile instead. + - Add http dns-resolve preference: ipv4-first or not. + - Make http-proxy contain at-most one proxy"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add contract-id, customer-id, mail-server, phone-number, + rate-limit, site-id, street-address + - Add support for reporting smart-call-home-data and smart-licensing-data + - Add support for data-privacy"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-10-11 { + description + "add anonymous-reporting-only and server-identity-check"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef hhmm-type { + type string { + pattern '([1]?[0-9]|2[0-3]):([0-5][0-9])'; + } + } + + typedef weekday-type { + type enumeration { + enum Monday; + enum Tuesday; + enum Wednesday; + enum Thursday; + enum Friday; + enum Saturday; + enum Sunday; + } + } + + typedef ipv4-address-with-auth { + description + "It consists of SMTP authentication parameters and ipv4-address"; + type string { + length "1..64"; + pattern '(([^@]*)?@)?((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])(%[\p{N}\p{L}]+)?'; + } + } + + typedef ipv6-address-with-auth { + description + "It consists of SMTP authentication parameters and ipv6-address"; + type string { + length "1..64"; + pattern '(([^@]*)?@)?((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[\p{N}\p{L}]+)?'; + pattern '(([^@]*)?@)?(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?'; + } + } + + typedef host-with-auth { + description + "It consists of SMTP authentication parameters and hostname."; + type string { + length "1..64"; + pattern '(([^@]*)?@)?(([a-zA-Z0-9]([a-zA-Z0-9-]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9]([a-zA-Z0-9-]){0,61})?[a-zA-Z0-9]\.?'; + } + } + + grouping begin-time-grouping { + leaf begin-time { + type hhmm-type; + } + } + + grouping profile-periodic-grouping { + container periodic { + description + "Periodic call-home message"; + choice periodic-choice { + description + "The choice of the periodic message"; + container daily { + uses begin-time-grouping; + } + container monthly { + must '(./date and ./begin-time) or (not (./date) and not (./begin-time))' { + error-message "Must configure both date and begin-time, or neither of them."; + } + leaf date { + type uint8 { + range "1..31"; + } + } + uses begin-time-grouping; + } + container weekly { + must '(./day and ./begin-time) or (not (./day) and not (./begin-time))' { + error-message "Must configure both day and begin-time, or neither of them."; + } + leaf day { + type weekday-type; + } + uses begin-time-grouping; + } + } + } + } + + grouping call-home-profile-periodic-grouping { + status obsolete; + container periodic { + status obsolete; + choice periodic-choice { + status obsolete; + description + "Periodic call-home message"; + container daily { + status obsolete; + description + "Daily call-home message"; + leaf begin-time { + status obsolete; + description + "Begin time"; + type ios-types:hhmm-type; + } + } + container monthly { + status obsolete; + description + "Monthly call-home message"; + leaf date { + status obsolete; + description + "Day of month"; + type uint8 { + range "1..31"; + } + } + leaf begin-time { + status obsolete; + description + "Begin time"; + type ios-types:hhmm-type; + } + } + container weekly { + status obsolete; + description + "Weekly call-home message"; + leaf day { + status obsolete; + description + "Day of the week"; + type ios-types:weekday-type; + } + leaf begin-time { + status obsolete; + description + "Begin time"; + type ios-types:hhmm-type; + } + } + } + } + } + + grouping profile-name-grouping { + leaf profile-name { + must 'not(translate(current()/text(),"CISCOTAC","ciscotac") = "ciscotac-1")' { + error-message "user defined profile name cannot be similar to CiscoTAC-1"; + } + must 'count(../../profile[translate(profile-name/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")=translate(current()/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")]) <= 1' { + error-message "profile names cannot have same spelling with different cases"; + } + type string { + pattern '([^aA].*)|([aA]([^lL].*)?)|([aA][lL]([^lL].*)?)|([aA][lL][lL].+)' { + error-message "the profile name cannot be \"all\"(case-insensitive)"; + } + length "1..31"; + } + } + } + + grouping profile-active-grouping { + leaf active { + description + "Activate the current profile"; + type boolean; + default "false"; + } + } + + grouping profile-anonymous-reporting-only-grouping { + leaf anonymous-reporting-only { + description + "Enable call-home anonymous reporting only"; + type empty; + } + } + + grouping profile-tac-reporting-data-grouping { + container reporting { + description + "Choose what data to report"; + leaf smart-call-home-data { + description + "Report Smart Call Home data"; + type boolean; + default "true"; + } + leaf smart-licensing-data { + description + "Report Smart Licensing data"; + type boolean; + default "true"; + } + } + } + + grouping profile-user-reporting-data-grouping { + container reporting { + description + "Choose what data to report"; + leaf smart-call-home-data { + description + "Report Smart Call Home data"; + type boolean; + default "true"; + } + leaf smart-licensing-data { + description + "Report Smart Licensing data"; + type empty; + } + } + } + + grouping profile-tac-destination-grouping { + container destination { + description + "Message destination related configuration"; + leaf transport-method { + description + "To specify transport method for this profile"; + type enumeration { + enum http; + enum email; + } + default "email"; + } + container address { + description + "To add destination address to this profile"; + container http { + description + "To add http address to this profile, there must be only one in use"; + leaf http-address { + description + "To add user-defined http address"; + must 'not (substring(., 1, 5) = "https" and substring(., 6) = "://tools.cisco.com/its/service/oddce/services/DDCEService")' { + error-message "the leaf http-address cannot use default address"; + } + type string { + length "8..200"; + pattern '[hH][tT][tT][pP][sS]?://.*'; + } + } + leaf default-address { + description + "enable or disable default http address"; + must 'not( . = "true" and boolean(../http-address))' { + error-message "Must not have both default address and non-default one"; + } + type boolean; + default "true"; + } + } + container email { + description + "To add email address to this profile"; + list email-address { + description + "configure user-added email address"; + key "addr"; + leaf addr { + must 'count(../../email-address[translate(addr/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")=translate(current()/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")]) <= 1' { + error-message "email address cannot have same spelling with different cases"; + } + must 'translate(current()/text(),"CALLHOMECISCO","callhomecisco") != "callhome@cisco.com"' { + error-message "email address cannot be similar to callhome@cisco.com"; + } + type string { + length "5..200"; + pattern '.*@.*'; + } + } + } + leaf default-address { + description + "enable or disable default email address"; + type boolean; + default "true"; + } + } + } + } + } + + grouping profile-user-destination-grouping { + container destination { + description + "Message destination related configuration"; + container transport-method { + description + "To specify transport method for this profile"; + must 'boolean(./http) or ./email = "true"' { + error-message "there must be at least one transport method"; + } + leaf http { + description + "Enable http as transport method"; + type empty; + } + leaf email { + description + "Enable email as transport method"; + type boolean; + default "true"; + } + } + container address { + description + "To add destination address to this profile"; + leaf http { + description + "To add http address to this profile"; + type string { + length "8..200"; + pattern '[hH][tT][tT][pP][sS]?://.*'; + } + } + container email { + description + "To add email address to this profile"; + list email-address { + key "addr"; + leaf addr { + must 'count(../../email-address[translate(addr/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")=translate(current()/text(),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz")]) <= 1' { + error-message "email address cannot have same spelling with different cases"; + } + type string { + length "5..200"; + pattern '.*@.*'; + } + } + } + } + } + } + } + + grouping alert-group-severity-grouping { + leaf severity { + description + "Severity"; + type enumeration { + enum catastrophic; + enum critical; + enum debugging; + enum disaster; + enum fatal; + enum major; + enum minor; + enum normal; + enum notification; + enum warning; + } + } + } + + grouping profile-alert-group-grouping { + container subscribe-to-alert-group { + description + "Subscribe to alert-group"; + container diagnostic { + description + "diagnostic info"; + presence "true"; + uses alert-group-severity-grouping { + refine "severity" { + default "debugging"; + } + } + } + container environment { + description + "enviroment info"; + presence "true"; + uses alert-group-severity-grouping { + refine "severity" { + default "debugging"; + } + } + } + container inventory { + description + "inventory info"; + leaf inventory { + description + "inventory info"; + type empty; + } + } + container inventory-periodically { + description + "inventory info: report inventory info periodically"; + container inventory { + description + "inventory info"; + uses profile-periodic-grouping; + } + } + list syslog { + description + "syslog info"; + key "pattern"; + leaf pattern { + description + "Syslog message pattern"; + type string { + length "1..80"; + } + } + uses alert-group-severity-grouping { + refine "severity" { + mandatory true; + } + } + } + container configuration { + description + "configuration info"; + leaf configuration { + description + "configuration info"; + type empty; + } + } + container configuration-periodically { + description + "configuration info: report configuration info periodically"; + container configuration { + description + "configuration info"; + uses profile-periodic-grouping; + } + } + } + } + + grouping cfg-call-home-profile-grouping { + status obsolete; + leaf active { + status obsolete; + description + "Activate the current profile"; + type boolean; + } + leaf anonymous-reporting-only { + status obsolete; + description + "Enable call-home anonymous reporting only"; + type empty; + } + container reporting { + status obsolete; + description + "Choose what data to report"; + leaf smart-call-home-data { + status obsolete; + description + "Report Smart Call Home data"; + type boolean; + default "true"; + } + leaf tac-sl-data { + status obsolete; + description + "Report Smart Licensing data for TAC profile"; + when 'translate(current()/../../profile-name,"CISOTA","cisota") = "ciscotac-1"'; + type boolean; + default "true"; + } + leaf user-sl-data { + status obsolete; + description + "Report Smart Licensing data for user defined profile"; + when 'translate(current()/../../profile-name,"CISOTA","cisota") != "ciscotac-1"'; + type boolean; + default "false"; + } + } + container destination { + status obsolete; + description + "Message destination related configuration"; + leaf transport-method { + status obsolete; + description + "To specify transport method for this profile"; + type enumeration { + enum http; + enum email; + } + } + container address { + status obsolete; + description + "To add destination address to this profile"; + leaf email { + status obsolete; + description + "Use email address"; + type string; + } + leaf http { + status obsolete; + description + "To add http address to this profile"; + type string; + } + } + } + container subscribe-to-alert-group { + status obsolete; + description + "Subscribe to alert-group"; + container diagnostic { + status obsolete; + description + "diagnostic info"; + presence "true"; + leaf severity { + status obsolete; + description + "Severity"; + type enumeration { + enum catastrophic; + enum critical; + enum debugging; + enum disaster; + enum fatal; + enum major; + enum minor; + enum normal; + enum notification; + enum warning; + } + } + } + container environment { + status obsolete; + description + "environmental info"; + presence "true"; + leaf severity { + status obsolete; + description + "Severity"; + type enumeration { + enum catastrophic; + enum critical; + enum debugging; + enum disaster; + enum fatal; + enum major; + enum minor; + enum normal; + enum notification; + enum warning; + } + } + } + container inventory { + status obsolete; + description + "inventory info"; + presence "true"; + uses call-home-profile-periodic-grouping { + status obsolete; + } + } + container syslog { + status obsolete; + description + "syslog info"; + presence "true"; + list severity { + status obsolete; + description + "severity"; + key "value"; + leaf value { + status obsolete; + type enumeration { + enum catastrophic; + enum critical; + enum debugging; + enum disaster; + enum fatal; + enum major; + enum minor; + enum normal; + enum notification; + enum warning; + } + } + leaf pattern { + status obsolete; + description + "Syslog message pattern"; + type string; + } + } + } + container configuration { + status obsolete; + description + "configuration info"; + presence "true"; + uses call-home-profile-periodic-grouping { + status obsolete; + } + } + } + } + + grouping config-call-home-grouping { + container alert-group { + description + "Controls for alert group enabling"; + leaf configuration { + description + "Alert messages containing information on configuration"; + type boolean; + default "true"; + } + leaf crash { + description + "Alert messages containing information on crash"; + type boolean; + default "true"; + } + leaf diagnostic { + description + "Alert messages containing information on diagnostics"; + type boolean; + default "true"; + } + leaf environment { + description + "Alert messages containing information on environmental conditions"; + type boolean; + default "true"; + } + leaf inventory { + description + "Alert messages containing information on inventory"; + type boolean; + default "true"; + } + leaf snapshot { + description + "Alert messages containing information on snapshot"; + type boolean; + default "true"; + } + leaf syslog { + description + "Alert messages containing information on syslog events"; + type boolean; + default "true"; + } + } + leaf contact-email-addr { + description + "Use email address"; + type string; + } + leaf contract-id { + description + "Contract identification for Cisco Smart Call Home. + It cannot contain quote or special characters or only spaces."; + type string { + length "1..64"; + pattern '[^"]*[^ "]+[^"]*'; + pattern '[ -~]+'; + } + } + leaf customer-id { + description + "customer identification for Cisco Smart Call Home. + It cannot contain quote or special characters or only spaces."; + type string { + length "1..64"; + pattern '[^"]*[^ "]+[^"]*'; + pattern '[ -~]+'; + } + } + container mail-server { + description + "call-home mail server"; + list server { + description + "used as a structure to contain other data"; + max-elements 5; + key "server-name"; + leaf server-name { + description + "the server-name has the following format + + user:password@host + host + + the user and password is used for SMTP authentication. + They can be any valid printable ascii code except '@'. + They also can be empty -- depending on mail servers. + + host is the hostname or ip address. hostname consists of labels. + Each label: + contains letters, digits, hyphen; cannot start/end with hyphen; + separated by dot; Refer to RFC 1123, RFC 1034 for detail."; + type union { + type ipv4-address-with-auth; + type ipv6-address-with-auth; + type host-with-auth; + } + } + leaf priority { + description + "Mail server priority order"; + mandatory true; + type uint8 { + range "1..100"; + } + } + leaf secure { + description + "Specify secure settings for mail server"; + type enumeration { + enum none; + enum tls; + } + default "none"; + } + } + } + leaf phone-number { + description + "Phone number of the contact person. The phone number must + start with '+', and only space, - and numbers are allowed. + Total length is between 12 to 17 characters."; + type string { + length "12..17"; + pattern '\+[0123456789 -]*'; + } + } + leaf rate-limit { + description + "call-home message rate-limit threshold per minute"; + type uint8 { + range "1..60"; + } + default "20"; + } + leaf site-id { + description + "Site identification for Cisco Smart Call Home. + It cannot contain quote or special characters or only spaces."; + type string { + length "1..200"; + pattern '[^"]*[^ "]+[^"]*'; + pattern '[ -~]+'; + } + } + leaf street-address { + description + "Customer's address for equipment shipments: + street address, city, state, and zip code. + It cannot contain quote or special characters or only spaces."; + type string { + length "1..200"; + pattern '[^"]*[^ "]+[^"]*'; + pattern '[ -~]+'; + } + } + container source-interface { + description + "Source interface name to send call-home messages using email"; + uses ios-ifc:interface-grouping; + } + container data-privacy { + description + "Set call-home data-privacy"; + leaf hostname { + description + "Level hostname"; + type empty; + } + leaf level { + description + "Set call-home data-privacy level"; + type enumeration { + enum high; + enum normal; + } + default "normal"; + } + } + container http { + description + "Set parameters for http transport method"; + container resolve-hostname { + description + "Specify the IP version to resolve server hostname"; + leaf ipv4-first { + description + "ipv4 first"; + type empty; + } + } + container secure { + description + "Specify secure settings for http transport method"; + leaf server-identity-check { + description + "check server identity"; + type boolean; + default "true"; + } + } + } + container http-proxy { + description + "Specify proxy server for http request"; + list proxy-servers { + key "proxy-server"; + max-elements 1; + leaf proxy-server { + description + "Http proxy server"; + type string; + } + leaf port { + description + "http proxy server port number"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + } + } + container tac-profile { + description + "Default profile"; + container profile { + description + "Enter call-home profile configuration mode."; + container CiscoTAC-1 { + uses profile-active-grouping; + uses profile-anonymous-reporting-only-grouping; + uses profile-tac-reporting-data-grouping; + uses profile-tac-destination-grouping; + } + } + } + container user-profile { + description + "User defined profiles"; + must "not(count(profile[active = \"true\"]/reporting/smart-licensing-data) >= 2 or + (count(profile[active = \"true\"]/reporting/smart-licensing-data) >= 1 and + ../tac-profile/profile/CiscoTAC-1/active = \"true\" and + ../tac-profile/profile/CiscoTAC-1/reporting/smart-licensing-data = \"true\"))" { + error-message "Only one active profile is allowed to report Smart Licensing data"; + } + list profile { + description + "Enter call-home profile configuration mode."; + key "profile-name"; + uses profile-name-grouping; + uses profile-active-grouping { + refine "active" { + default "true"; + } + } + uses profile-anonymous-reporting-only-grouping; + uses profile-user-reporting-data-grouping; + uses profile-user-destination-grouping; + uses profile-alert-group-grouping; + } + } + list profile { + status obsolete; + description + "Enter call-home profile configuration mode. + (Obsolete. Please use tac-profile or user-profile instead)"; + key "profile-name"; + leaf profile-name { + status obsolete; + type string; + } + uses cfg-call-home-profile-grouping { + status obsolete; + } + } + } + + augment "/ios:native/ios:call-home" { + uses config-call-home-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-card.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-card.yang new file mode 100644 index 000000000..eac374134 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-card.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XE-card { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-card"; + prefix ios-card; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Card Yang model. + Copyright (c) 2017-2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Add support for card type T3 and E3"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-04-24 { + description + "Make card type list"; + } + revision 2018-03-27 { + description + "Move top level card to native before controller to keep the sequence."; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-card-grouping { + list type { + key "card-type slot bay"; + leaf card-type { + type enumeration { + enum t1; + enum e1; + enum t3; + enum e3; + } + } + leaf slot { + type uint32; + } + leaf bay { + type uint32; + } + } + } + + augment "/ios:native/ios:card" { + uses config-card-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-deviation.yang new file mode 100644 index 000000000..addbdd6cc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-deviation.yang @@ -0,0 +1,115 @@ +module Cisco-IOS-XE-cdp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cdp-deviation"; + prefix ios-cdp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-cdp { + prefix ios-cdp; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + "Added cdp enable support under dialer interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-07-23 { + description + "Added cdp run and cdp enable deviation"; + } + + deviation "/ios:native/ios:cdp/ios-cdp:run-enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:BDI/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:HundredGigE/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios-cdp:cdp/ios-cdp:enable" { + deviate replace { + default "false"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-oper.yang new file mode 100644 index 000000000..8ca6a2819 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp-oper.yang @@ -0,0 +1,480 @@ +module Cisco-IOS-XE-cdp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cdp-oper"; + prefix cdp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of Cisco CDP operational information. + Copyright (c) 2016-2017, 2019, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added management IPv6 address to cdp-neighbour-details"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-03-01 { + description + "- Added MAC address to cdp-neighbor-details"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "- Add neighbor identifier to cdp-neighbor-details. + - Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-09-21 { + description + "Rename container cdp-neighbour-details to cdp-neighbor-details"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef cdp-duplex { + type enumeration { + enum cdp-duplex-unknown { + value 0; + } + enum cdp-half-duplex { + value 1; + } + enum cdp-full-duplex { + value 2; + } + enum cdp-half-duplex-mismatch { + value 3; + } + enum cdp-full-duplex-mismatch { + value 4; + } + } + description + "CDP duplex modes"; + } + + typedef cdp-adv-version { + type enumeration { + enum cdp-advertised-none { + value 0; + } + enum cdp-advertised-v1 { + value 1; + } + enum cdp-advertised-v2 { + value 2; + } + } + description + "CDP advertized version information"; + } + + typedef cdp-unidirectional-mode { + type enumeration { + enum cdp-uni-mode-off { + value 0; + } + enum cdp-uni-mode-send-only { + value 1; + } + enum cdp-uni-mode-recv-only { + value 2; + } + enum cdp-uni-mode-unknown { + value 3; + } + } + description + "CDP unidirectional modes"; + } + + typedef cdp-yes-no { + type enumeration { + enum cdp-no { + value 0; + } + enum cdp-yes { + value 1; + } + } + description + "CDP type yes or no"; + } + + typedef cdp-enable-disable { + type enumeration { + enum cdp-disable { + value 0; + } + enum cdp-enable { + value 1; + } + } + description + "CDP type enable or disable"; + } + + grouping cdp-protocol-hello { + description + "CDP protocol hello"; + leaf oui { + type string; + description + "OUI - org unique identifier for Cisco is 0x00000C"; + } + leaf protocol-id { + type string; + description + "Protocol identifier. This is the identifier of the cluster"; + } + leaf payload-value { + type string; + description + "Payload value - combination of the device and addresses"; + } + leaf payload-len { + type uint16; + description + "Payload length"; + } + } + + grouping cdp-power-req { + description + "CDP power request information"; + leaf power-request-id { + type uint16; + description + "The last power request ID received echoes the Request-ID field + last received in a power requested TLV. It is 0 if no power + requested TLV was received since the port last became active"; + } + leaf power-man-id { + type uint16; + description + "This field increments by 1 each time the Available-Power or Management + Power fields change, a power requested TLV is received with a + Request-ID field which is different from the last received set or when + the port goes down"; + } + leaf power-request-level { + type string; + description + "Power to be transmitted by a powerable device in order to negotiate + a suitable power level with the supplier of the network power"; + } + } + + grouping cdp-power-avail { + description + "CDP power available"; + leaf power-request-id { + type uint16; + description + "The last power request ID received echoes the Request-ID field + last received in a power requested TLV. It is 0 if no power + requested TLV was received since the port last became active"; + } + leaf power-man-id { + type uint16; + description + "This field increments by 1 each time the Available-Power or Management + Power fields change, a power requested TLV is received with a + Request-ID field which is different from the last received set or when + the port goes down"; + } + leaf power-available { + type uint32; + description + "The amount of power consumed by the specified port in watts"; + } + leaf power-man-level { + type uint32; + description + "Management Power Level -- The request of the supplier to the powered + device for the power consumption TLV. The 200/300 switches always + display No Preference since the switch is a power provide"; + } + } + + grouping cdp-tdl-spare-pair-poe { + description + "CDP spare pair PoE"; + leaf spare-pair-poe { + type cdp-ios-xe-oper:cdp-yes-no; + description + "Spare pair PoE TLV is a one octet long + this field represents 4-pair PoE Supported or not"; + } + leaf spare-pair-detection-required { + type cdp-ios-xe-oper:cdp-yes-no; + description + "Spare pair PoE TLV is a one octet long + this field represents Spare pair Detection or + Classification is required or not"; + } + leaf spare-pair-pd-config { + type cdp-ios-xe-oper:cdp-enable-disable; + description + "Spare pair PoE TLV is a one octet long + this field represents Powered Device(PD) Spare Pair + Desired State"; + } + leaf spare-pair-pse-operational { + type cdp-ios-xe-oper:cdp-yes-no; + description + "Spare pair PoE TLV is a one octet long + this field represents Power Source Equipment(PSE) Spare + Pair Operational State"; + } + } + + grouping st-cdp-oper { + description + "CDP device operational state information"; + leaf device-id { + type uint32; + description + "Device number of this device, Used as a key in the device list"; + } + leaf device-name { + type string; + description + "Device name in the form of a character string. By default + device ID is either the device's fully-qualified host name + (including the domain name) or the device's hardware serial number in ASCII"; + } + leaf local-intf-name { + type string; + description + "The port or interface on which CDP packets are received"; + } + leaf port-id { + type string; + description + "Neighbor device's port or interface on which the + CDP packets are multicasted"; + } + leaf capability { + type string; + description + "Identifies the functional capability of the device. + The capability types that can be discovered are: + R-Router + T-Transparent bridge + B-Source-routing bridge + S-Switch + H-Host + I-device is using IGMP + r-Repeater"; + } + leaf platform-name { + type string; + description + "Identifies the platform information of the device. + For example, Cisco 4500"; + } + leaf version { + type string; + description + "Version Contains the device software release information"; + } + leaf duplex { + type cdp-ios-xe-oper:cdp-duplex; + description + "Indicates the duplex configuration of the Cisco Discovery Protocol + broadcast interface. + This information is used by network operators to diagnose + connectivity problems between adjacent network devices"; + } + leaf adv-version { + type cdp-ios-xe-oper:cdp-adv-version; + description + "CDP header version of the advertisement that last filled this cache entry"; + } + container hello-message { + description + "CDP Protocol Hello message"; + uses cdp-ios-xe-oper:cdp-protocol-hello; + } + leaf vty-mgmt-domain { + type string; + description + "Advertises the configured VLAN Trunking Protocol (VTP)-management-domain + name of the system. This name is used by network operators to verify + VTP-domain configuration in adjacent network nodes"; + } + leaf native-vlan { + type uint16; + description + "Indicates, per interface, the assumed VLAN for untagged packets on the + interface. Cisco Discovery Protocol learns the native VLAN for an interface. + This field is implemented only for interfaces that support the + IEEE 802.1Q protocol + Remote port's native VLAN [0..1k/4k]; + 0 == not received"; + } + leaf vvid-tag { + type uint8; + description + "Appliance id for appliance vlan + Appliance ID - Type of device attached to port advertised in the + appliance TLV"; + } + leaf vvid { + type uint16; + description + "Appliance VLAN ID - VLAN on the device used by the appliance, + for instance if the appliance is an IP phone, this is the voice VLAN"; + } + leaf power { + type uint32; + description + "This field shows the power in milliwatts device is using"; + } + container power-request { + description + "This field used to keep inline power"; + uses cdp-ios-xe-oper:cdp-power-req; + } + container power-available { + description + "This field used to keep inline power"; + uses cdp-ios-xe-oper:cdp-power-avail; + } + leaf unidirectional-mode { + type cdp-ios-xe-oper:cdp-unidirectional-mode; + description + "Specifies ports to unidirectionally transmit or receive traffic. + Unidirectional Ethernet uses only one strand of fiber for either + transmitting or receiving one-way traffic for the GigaPort, instead of + two strands of fiber for a full-duplex"; + } + container spare-pair { + description + "Spare pair PoE TLV is a one octet long. + This has following field: + Bit Function value/Meaning + 0 4-pair PoE Supported 0=No/1=Yes + 1 Spare pair Detection/Classification required 0=No/1=Yes + 2 PD Spare Pair Desired State 0=Disabled/1=Enabled + 3 PSE Spare Pair Operational State 0=No/1=Yes + 4:7 Reserved + "; + uses cdp-ios-xe-oper:cdp-tdl-spare-pair-poe; + } + leaf mgmt-address { + type inet:ip-address; + description + "Device's management addresses"; + } + leaf ip-address { + type inet:ip-address; + description + "IPv4 address of the device"; + } + leaf ipv6-address { + type inet:ip-address; + description + "IPv6 address of the device"; + } + leaf clns-address { + type string; + description + "CLNS address of the device"; + } + leaf decnet-addr { + type string; + description + "DECNET address of the device"; + } + leaf novell-addr { + type string; + description + "Novell address of the device. + It has a 4 byte net number followed by + 6 bytes of node information"; + } + leaf second-port-status { + type string; + description + "Used to keep PC port status on IP phone"; + } + leaf table-id { + type uint16; + description + "Table id of ip routing process"; + } + leaf neighbor-identifier { + type string; + description + "Neighbor identifier received"; + } + leaf neighbor-port-mac { + type yang:mac-address; + description + "MAC address of neighbor source port from the received CDP packet"; + } + leaf mgmtv6-addr { + type inet:ip-address; + description + "Device's management IPv6 addresses"; + } + } + + container cdp-neighbor-details { + config false; + description + "Cisco CDP neighbor operational data"; + list cdp-neighbor-detail { + key "device-id"; + description + "List of CDP neighbor details"; + uses cdp-ios-xe-oper:st-cdp-oper; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp.yang new file mode 100644 index 000000000..7f5e4d37f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cdp.yang @@ -0,0 +1,420 @@ +module Cisco-IOS-XE-cdp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cdp"; + prefix ios-cdp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Cisco Discovery Protocol (CDP) Yang Model. + Copyright (c) 2016-2017, 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Changed deprecated nodes to obsolete"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-11-01 { + description + "- Added description cdp tlv app + - Added default values for holdtime and timer + - Enabling cdp mgmt-address on routing as well"; + cisco-semver:module-version "3.5.0"; + } + revision 2023-07-01 { + description + "- Added cdp advertise-v2 cli + - Added cdp mgmt address cli"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "-added cdp tlv app changes"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-03-01 { + description + "- Added the support of cdp tlv-list and filter-tlv-list + - Added cdp enable support under dialer interface + - Added interface Serial to use CDP grouping"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "Reverting the revision 2020-03-01 "; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Obsolete the node cdp run and cdp tlv under interface"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new must statement"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Corrected behavior of cdp tlv under interface + - Added support for BDI interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-cdp-tlv-grouping { + container tlv { + description + "Enable exchange of specific tlv information"; + when "../enable = 'true'"; + choice app-option { + default "default-case"; + case default-case { + container default-wrp { + leaf app { + description + "Enable/Configure Application TLV"; + type boolean; + default "true"; + } + } + } + case regular-case { + container regular-wrp { + container app { + description + "Enable/Configure Application TLV"; + leaf tlvtype { + description + "Configure APP TLV"; + type uint16 { + range "1001..65535"; + } + } + leaf value { + description + "Configure App TLV Value information"; + type string; + } + } + } + } + } + container app-config { + status deprecated; + description + "Enable/Configure Application TLV"; + leaf app { + status deprecated; + description + "Enable CDP location server on interface"; + type boolean; + default "true"; + } + leaf tlvtype { + status deprecated; + description + "Configure APP TLV"; + type uint16 { + range "1001..65535"; + } + } + leaf value { + status deprecated; + description + "Configure App TLV Value information"; + type string; + } + } + leaf server-location-config { + description + "Enable CDP location server on interface"; + type boolean; + default "true"; + } + leaf location-config { + description + "Exchange location information"; + type boolean; + default "true"; + } + container app { + status obsolete; + description + "Enable/Configure Application TLV, OBSOLETE"; + presence "true"; + leaf tlvtype { + status obsolete; + description + "Configure APP TLV, OBSOLETE"; + type uint16 { + range "1001..65535"; + } + } + leaf value { + status obsolete; + description + "Configure App TLV Value information, OBSOLETE"; + type string; + } + } + leaf server-location { + status obsolete; + description + "Enable CDP location server on interface, OBSOLETE"; + type empty; + } + leaf location { + status obsolete; + description + "Exchange location information, OBSOLETE"; + type empty; + } + } + } + + grouping config-interface-cdp-default-enable-grouping { + container cdp { + description + "CDP interface subcommands"; + leaf enable { + description + "Enable CDP on interface"; + type boolean; + default "true"; + } + uses config-interface-cdp-tlv-grouping; + } + } + + grouping config-interface-cdp-default-disable-grouping { + container cdp { + description + "CDP interface subcommands"; + leaf enable { + description + "Enable CDP on interface"; + type boolean; + default "false"; + } + uses config-interface-cdp-tlv-grouping; + } + } + + grouping config-cdp-grouping { + leaf holdtime { + description + "Specify the holdtime (in sec) to be sent in packets"; + type uint8 { + range "10..255"; + } + default "180"; + } + leaf timer { + description + "Specify the rate at which CDP packets are sent (in sec)"; + type uint8 { + range "5..254"; + } + default "60"; + } + container mgmt-address { + description + "CDP management ip and ipv6 addresses"; + leaf-list ipv4 { + ordered-by user; + description + "list of ipv4 addresses"; + type inet:ipv4-address; + } + leaf-list ipv6 { + ordered-by user; + description + "list of ipv6 addresses"; + type inet:ipv6-address; + } + } + leaf advertise-v2 { + description + "CDP sends version-2 advertisements"; + type boolean; + default "true"; + } + leaf run-enable { + description + "Enable CDP"; + type boolean; + default "true"; + } + leaf run { + status obsolete; + description + "Enable CDP, deprecated and replaced by run-enable, OBSOLETE"; + type empty; + } + list tlv-list { + description + "Configure tlv-list"; + key "name"; + leaf name { + description + "Tlv-list"; + type string { + length "1..40" { + error-message "Tlv-list name should not exceed 40 character"; + } + } + } + leaf version { + description + "Select version TLV"; + type empty; + } + leaf vtp-mgmt-domain { + description + "Select vtp mgmt domain TLV"; + type empty; + } + leaf cos { + description + "Select cos TLV"; + type empty; + } + leaf duplex { + description + "Select duplex TLV"; + type empty; + } + leaf trust { + description + "Select trust TLV"; + type empty; + } + } + leaf filter-tlv-list { + description + "Apply tlv-list globally"; + must '/ios:native/ios:cdp/ios-cdp:tlv-list[ios-cdp:name=current()]' { + error-message "tlv-list must be created first"; + } + must "/ios:native/ios:cdp/ios-cdp:run-enable = 'true'" { + error-message "Cannot enable CDP filter ,since CDP is not running"; + } + type string { + length "1..40" { + error-message "Tlv-list name should not exceed 40 character"; + } + } + } + } + + augment "/ios:native/ios:cdp" { + uses config-cdp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-cdp-default-disable-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-cdp-default-enable-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-cdp-default-enable-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cef-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cef-deviation.yang new file mode 100644 index 000000000..156268dab --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cef-deviation.yang @@ -0,0 +1,44 @@ +module Cisco-IOS-XE-cef-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cef-deviation"; + prefix ios-cef-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-cef { + prefix ios-cef; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Cisco Express Forwarding (CEF) Deviation Yang model. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2021-11-01 { + description + "Added 'ip[v6] cef distributed' deviation"; + } + + deviation "/ios:native/ios:ip/ios:cef/ios-cef:distributed-boolean" { + deviate not-supported; + } + + deviation "/ios:native/ios:ipv6/ios:cef/ios-cef:distributed-boolean" { + deviate not-supported; + } + + deviation "/ios:native/ios:ip/ios:cef-v2/ios-cef:distributed-boolean-v2" { + deviate not-supported; + } + + deviation "/ios:native/ios:ipv6/ios:cef-v2/ios-cef:distributed-boolean-v2" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cef.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cef.yang new file mode 100644 index 000000000..4fb5670d6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cef.yang @@ -0,0 +1,915 @@ +module Cisco-IOS-XE-cef { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cef"; + prefix ios-cef; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Cisco Express Forwarding (CEF) Yang model. + Copyright (c) 2016-2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- remove incorrect deprecated status on + cef table output-chain build favour choice"; + cisco-semver:module-version "3.2.0"; + } + revision 2023-11-01 { + description + "Updating CEF deprecated model tailf annotations"; + cisco-semver:module-version "3.1.2"; + } + revision 2023-07-01 { + description + "- Re-factor annotations for ip[v6] cef load-sharing ... command"; + cisco-semver:module-version "3.1.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-07-01 { + description + "- Migrate to new ip/ipv6 cef model to address various config issues + - Deprecated old ip/ipv6 cef model + - Restore and obsolete key-control container in old ip/ipv6 cef model"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-03-01 { + description + "- Added CEF source only load balancing hashing algorithm type. + - Changed handling of ip[v6] cef distributed command"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added obsolete/deprecated status for child node when parent was + already obsolete/deprecated"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-05-19 { + description + "fix ip cef ip cef load-sharing algorithm include-ports configurations"; + } + revision 2017-03-01 { + description + "Completion of cef table and ip cef configurations"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef fixed-id { + description + "<1-FFFFFFFF> Fixed ID"; + type string { + pattern '[0-9a-fA-F]{1,8}'; + } + } + + grouping config-af-cef-ldshr-alg-incl-ports-grouping { + container include-ports-v2 { + description + "Algorithm that includes layer 4 ports"; + leaf source { + type empty; + } + leaf destination { + type empty; + } + leaf gtp { + when '../source and ../destination'; + must '../source and ../destination' { + error-message "Must have source and destination enabled for GTP"; + } + type empty; + } + leaf fixed-id { + when '../source or ../destination or ../gtp'; + type fixed-id; + } + } + } + + grouping config-af-cef-ldshr-alg-tun-grouping { + container tunnel-v2 { + description + "Algorithm for use in tunnel only environments"; + leaf tunnel { + type empty; + } + leaf fixed-id { + type fixed-id; + } + } + } + + grouping config-af-cef-ldshr-alg-uni-grouping { + container universal-v2 { + description + "Algorithm for use in most environments"; + leaf universal { + type empty; + } + leaf fixed-id { + type fixed-id; + } + } + } + + grouping config-af-cef-ldshr-alg-src-only-grouping { + container src-only-v2 { + description + "Algorithm that uses Src Addr Only"; + leaf src-only { + type empty; + } + leaf fixed-id { + type fixed-id; + } + } + } + + grouping config-af-cef-ldshr-alg-orig-grouping { + container original-v2 { + description + "Original algorithm"; + leaf original { + type empty; + } + } + } + + grouping config-v4-cef-load-sharing-grouping { + container load-sharing-v2 { + description + "Load sharing"; + container algorithm-v2 { + choice alg-type { + case universal { + uses config-af-cef-ldshr-alg-uni-grouping; + } + case tunnel { + uses config-af-cef-ldshr-alg-tun-grouping; + } + case original { + uses config-af-cef-ldshr-alg-orig-grouping; + } + case src-only { + uses config-af-cef-ldshr-alg-src-only-grouping; + } + case include-ports { + uses config-af-cef-ldshr-alg-incl-ports-grouping; + } + } + } + } + } + + grouping config-v6-cef-load-sharing-grouping { + container load-sharing-v2 { + description + "Load sharing"; + container algorithm-v2 { + choice alg-type { + case universal { + uses config-af-cef-ldshr-alg-uni-grouping; + } + case original { + uses config-af-cef-ldshr-alg-orig-grouping; + } + case src-only { + uses config-af-cef-ldshr-alg-src-only-grouping; + } + case include-ports { + uses config-af-cef-ldshr-alg-incl-ports-grouping; + } + } + } + } + } + + grouping config-v4-cef-trfc-stats-grouping { + container traffic-statistics-v2 { + description + "Enable collection of ipv4 traffic statistics"; + leaf load-interval-v2 { + description + "Specify interval for load calculation"; + type uint16 { + range "30..600"; + } + } + leaf update-rate-v2 { + description + "Specify update rate for non-recursive prefix stats"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping config-v6-cef-trfc-stats-grouping { + container traffic-statistics-v2 { + description + "Enable collection of ipv6 traffic statistics"; + leaf load-interval-v2 { + description + "Specify interval for load calculation"; + type uint16 { + range "30..600"; + } + } + leaf update-rate-v2 { + description + "Specify update rate for non-recursive prefix stats"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping config-af-cef-acnt-opt-grouping { + container accounting-v2 { + description + "Enable CEF accounting"; + leaf per-prefix-v2 { + description + "Enable per prefix accounting"; + type empty; + } + leaf non-recursive-v2 { + description + "Enable accounting for traffic through non-recursive prefixes"; + type empty; + } + leaf prefix-length-v2 { + description + "Enable prefix length accounting"; + type empty; + } + leaf load-balance-hash-v2 { + description + "Enable load balance hash accounting"; + type empty; + } + } + } + + grouping config-af-cef-optimization-opt-grouping { + container optimize-v2 { + description + "Optimizations"; + container neighbor-v2 { + description + "Optimizations for directly connected neighbors"; + leaf resolution-v2 { + description + "Trigger layer 2 address resolution directly from CEF"; + type boolean; + default "true"; + } + } + } + } + + grouping config-af-cef-dist-grouping { + leaf distributed-boolean-v2 { + description + "Distributed Cisco Express Forwarding"; + type boolean; + default "true"; + } + } + + grouping config-af-cef-grouping { + uses config-af-cef-acnt-opt-grouping; + uses config-af-cef-dist-grouping; + uses config-af-cef-optimization-opt-grouping; + } + + grouping config-ip-cef-grouping { + description + "Cisco Express Forwarding for IPv4"; + uses config-af-cef-grouping; + uses config-v4-cef-trfc-stats-grouping; + uses config-v4-cef-load-sharing-grouping; + } + + grouping config-ipv6-cef-grouping { + description + "Cisco Express Forwarding for IPv6"; + uses config-af-cef-grouping; + uses config-v6-cef-trfc-stats-grouping; + uses config-v6-cef-load-sharing-grouping; + } + + grouping config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping { + container scan-opt { + leaf count { + description + "Maximum number of prefixes to check per scan"; + type uint16 { + range "2..10000"; + } + } + leaf period { + description + "Period between scans"; + type uint16 { + range "30..3600"; + } + } + } + } + + grouping config-cef-tbl-cnst-chk-opt-v4-types-grouping { + container scan-ios-rib { + description + "Passive scan that checks RP tables against RIB"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + container scan-rib-ios { + description + "Passive scan that checks RIB against RP tables"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + container scan-lc-rp { + description + "Passive scan that checks LC tables against RP tables"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + container scan-rp-lc { + description + "Passive scan that checks RP tables against LC tables"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + leaf lc-detect { + description + "Linecard detects missing prefix. Confirmed by RP"; + type empty; + } + } + + grouping config-cef-tbl-cnst-chk-opt-v6-types-grouping { + container scan-ios-rib { + description + "Passive scan that checks RP tables against RIB"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + container scan-lc-rp { + description + "Passive scan that checks LC tables against RP tables"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + container scan-rp-lc { + description + "Passive scan that checks RP tables against LC tables"; + uses config-cef-tbl-cnst-chk-opt-types-scan-opt-grouping; + } + leaf lc-detect { + description + "Linecard detects missing prefix. Confirmed by RP"; + type empty; + } + } + + grouping config-cef-tbl-cnst-chk-opt-v4-common-grouping { + container auto-repair { + description + "Control auto-repair function"; + leaf delay { + description + "Delay in seconds"; + type uint16 { + range "10..300"; + } + } + leaf holddown { + description + "Delay in seconds"; + type uint16 { + range "300..3000"; + } + } + } + container type { + description + "Type of consistency check to configure"; + uses config-cef-tbl-cnst-chk-opt-v4-types-grouping; + } + leaf data-checking { + description + "Perform data consistency check"; + type empty; + } + leaf error-message { + description + "Generate error message on inconsistency detection"; + type empty; + } + } + + grouping config-cef-tbl-cnst-chk-opt-v6-common-grouping { + container auto-repair { + description + "Control auto-repair function"; + leaf delay { + description + "Delay in seconds"; + type uint16 { + range "10..300"; + } + } + leaf holddown { + description + "Delay in seconds"; + type uint16 { + range "300..3000"; + } + } + } + container type { + description + "Type of consistency check to configure"; + uses config-cef-tbl-cnst-chk-opt-v6-types-grouping; + } + leaf data-checking { + description + "Perform data consistency check"; + type empty; + } + leaf error-message { + description + "Generate error message on inconsistency detection"; + type empty; + } + } + + grouping config-cef-tbl-dl-rt-type-pri-grouping { + container priority { + leaf priority1 { + description + "1st priority"; + type empty; + } + leaf priority2 { + description + "2nd priority"; + type empty; + } + leaf priority3 { + description + "3rd priority"; + type empty; + } + leaf priority4 { + description + "4th priority"; + type empty; + } + } + } + + grouping config-cef-tbl-dl-rt-type-grouping { + container catch-all { + description + "Any other route not matched (default P4)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + container connected-route { + description + "Directly connected route (default P2)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + container default-route { + description + "Default route, 0.0.0.0/0 or ::/0 (default P1)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + container receive-route { + description + "Receive route, local address on router (default P2)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + container recursive-dependents { + description + "Route with recursive dependents, matches next-hop + of other recursive routes (default P1)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + container route-in-vrf { + description + "Route is in a VRF (default P3)"; + uses config-cef-tbl-dl-rt-type-pri-grouping; + } + } + + grouping config-cef-grouping { + container cef { + description + "Cisco Express Forwarding"; + container table { + description + "Set CEF forwarding table characteristics"; + container output-chain { + description + "Set table output chain characteristics"; + container build { + description + "Set table output chain building characteristics"; + container favor { + choice favor-choice { + description + "Set which table output chain building characteristics to favor"; + leaf convergence-speed { + description + "Favor faster convergence"; + type empty; + } + leaf memory-utilization { + description + "Favor smaller memory utilization"; + type empty; + } + } + } + container indirection { + description + "Customize table output chain building indirection characteristics"; + leaf ipv4-to-mpls { + description + "shared indirection object for IPv4 labeled prefixes"; + type empty; + } + leaf ipv6-to-mpls { + description + "shared indirection object for IPv6 labeled prefixes"; + type empty; + } + leaf mpls-end-of-stack { + description + "shared indirection object for MPLS disposition"; + type empty; + } + leaf mpls-non-end-of-stack { + description + "shared indirection object for MPLS label switch"; + type empty; + } + leaf non-recursive-prefix { + description + "non-recursive-prefix"; + type empty; + } + leaf recursive-prefix { + description + "recursive-prefix"; + type empty; + } + } + container inplace-modify { + description + "Customize table output chain building inplace modification characteristics"; + leaf load-sharing { + description + "load sharing structures"; + type empty; + } + leaf push-counter { + description + "push counter structures"; + type empty; + } + } + } + } + container consistency-check { + container ipv4 { + description + "IPv4 address family"; + uses config-cef-tbl-cnst-chk-opt-v4-common-grouping; + } + container ipv6 { + description + "IPv6 address family"; + uses config-cef-tbl-cnst-chk-opt-v6-common-grouping; + } + } + container download { + uses config-cef-tbl-dl-rt-type-grouping; + } + leaf rate-monitor-period { + description + "Period in minutes"; + type uint8 { + range "1..60"; + } + } + } + } + } + + grouping config-cef-get-fixed-id-grouping-deprecated { + leaf fixed-id { + status deprecated; + description + "Fixed ID (DEPRECATED)"; + type fixed-id; + } + } + + grouping config-af-cef-ldshr-alg-incl-ports-grouping-deprecated { + container include-ports { + status deprecated; + description + "Algorithm that includes layer 4 ports (DEPRECATED)"; + presence "true"; + container destination { + status deprecated; + presence "true"; + description + "Use destination port in hash function (DEPRECATED)"; + uses config-cef-get-fixed-id-grouping-deprecated; + } + container source { + status deprecated; + description + "Use source port in hash function (DEPRECATED)"; + presence "true"; + container destination { + status deprecated; + description + "Use source and destination ports in hash function (DEPRECATED)"; + presence "true"; + container gtp { + status deprecated; + presence "true"; + description + "Use GTP te-id as source and destination ports in hash function (DEPRECATED)"; + uses config-cef-get-fixed-id-grouping-deprecated; + } + uses config-cef-get-fixed-id-grouping-deprecated; + } + uses config-cef-get-fixed-id-grouping-deprecated; + } + } + } + + grouping config-af-cef-ldshr-alg-tun-grouping-deprecated { + container tunnel { + status deprecated; + description + "Algorithm for use in tunnel only environments"; + leaf tunnel { + status deprecated; + type empty; + } + uses config-cef-get-fixed-id-grouping-deprecated; + } + } + + grouping config-af-cef-ldshr-alg-uni-grouping-deprecated { + container universal { + status deprecated; + description + "Algorithm for use in most environments"; + leaf universal { + status deprecated; + type empty; + } + uses config-cef-get-fixed-id-grouping-deprecated; + } + } + + grouping config-af-cef-ldshr-alg-src-only-grouping-deprecated { + container src-only { + status deprecated; + description + "Algorithm that uses Src Addr Only (DEPRECATED)"; + leaf src-only { + status deprecated; + type empty; + } + uses config-cef-get-fixed-id-grouping-deprecated; + } + } + + grouping config-af-cef-ldshr-alg-orig-grouping-deprecated { + container original { + status deprecated; + description + "Original algorithm (DEPRECATED)"; + leaf original { + status deprecated; + type empty; + } + } + } + + grouping config-v4-cef-load-sharing-grouping-deprecated { + container load-sharing { + status deprecated; + description + "Load sharing (DEPRECATED)"; + container algorithm { + status deprecated; + description + "load sharing algorithm selection (DEPRECATED)"; + uses config-af-cef-ldshr-alg-uni-grouping-deprecated; + uses config-af-cef-ldshr-alg-tun-grouping-deprecated; + uses config-af-cef-ldshr-alg-orig-grouping-deprecated; + uses config-af-cef-ldshr-alg-incl-ports-grouping-deprecated; + uses config-af-cef-ldshr-alg-src-only-grouping-deprecated; + } + container key-control { + status obsolete; + } + } + } + + grouping config-v6-cef-load-sharing-grouping-deprecated { + container load-sharing { + status deprecated; + description + "Load sharing (DEPRECATED)"; + container algorithm { + status deprecated; + description + "load sharing algorithm selection (DEPRECATED)"; + uses config-af-cef-ldshr-alg-tun-grouping-deprecated; + uses config-af-cef-ldshr-alg-uni-grouping-deprecated; + uses config-af-cef-ldshr-alg-orig-grouping-deprecated; + uses config-af-cef-ldshr-alg-incl-ports-grouping-deprecated; + uses config-af-cef-ldshr-alg-src-only-grouping-deprecated; + } + container key-control { + status obsolete; + } + } + } + + grouping config-af-cef-trfc-stats-grouping-deprecated { + container traffic-statistics { + status deprecated; + description + "Enable collection of traffic statistics (DEPRECATED)"; + leaf load-interval { + status deprecated; + description + "Specify interval for load calculation (DEPRECATED)"; + type uint16 { + range "30..600"; + } + } + leaf update-rate { + status deprecated; + description + "Specify update rate for non-recursive prefix stats (DEPRECATED)"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping config-af-cef-acnt-opt-grouping-deprecated { + container accounting { + status deprecated; + description + "Enable CEF accounting (DEPRECATED)"; + leaf per-prefix { + status deprecated; + description + "Enable per prefix accounting (DEPRECATED)"; + type empty; + } + leaf non-recursive { + status deprecated; + description + "Enable accounting for traffic through non-recursive prefixes (DEPRECATED)"; + type empty; + } + leaf prefix-length { + status deprecated; + description + "Enable prefix length accounting (DEPRECATED)"; + type empty; + } + leaf load-balance-hash { + status deprecated; + description + "Enable load balance hash accounting (DEPRECATED)"; + type empty; + } + } + } + + grouping config-af-cef-optimization-opt-grouping-deprecated { + container optimize { + status deprecated; + description + "Optimizations (DEPRECATED)"; + container neighbor { + status deprecated; + description + "Optimizations for directly connected neighbors (DEPRECATED)"; + leaf resolution { + status deprecated; + description + "Trigger layer 2 address resolution directly from CEF (DEPRECATED)"; + type empty; + } + } + } + } + + grouping config-af-cef-dist-grouping-deprecated { + leaf distributed-boolean { + status deprecated; + description + "Distributed Cisco Express Forwarding (DEPRECATED)"; + type boolean; + default "true"; + } + leaf distributed { + status deprecated; + description + "Distributed Cisco Express Forwarding (DEPRECATED)"; + type empty; + } + } + + grouping config-af-cef-grouping-deprecated { + uses config-af-cef-acnt-opt-grouping-deprecated; + uses config-af-cef-dist-grouping-deprecated; + uses config-af-cef-optimization-opt-grouping-deprecated; + uses config-af-cef-trfc-stats-grouping-deprecated; + } + + grouping config-ip-cef-grouping-deprecated { + description + "Cisco Express Forwarding for IPv4 (DEPRECATED)"; + uses config-af-cef-grouping-deprecated; + uses config-v4-cef-load-sharing-grouping-deprecated; + } + + grouping config-ipv6-cef-grouping-deprecated { + description + "Cisco Express Forwarding for IPv6 DEPRECATED"; + uses config-af-cef-grouping-deprecated; + uses config-v6-cef-load-sharing-grouping-deprecated; + } + + augment "/ios:native" { + uses config-cef-grouping; + } + + augment "/ios:native/ios:ip/ios:cef-v2" { + uses config-ip-cef-grouping; + } + + augment "/ios:native/ios:ip/ios:cef" { + uses config-ip-cef-grouping-deprecated; + } + + augment "/ios:native/ios:ipv6/ios:cef-v2" { + uses config-ipv6-cef-grouping; + } + + augment "/ios:native/ios:ipv6/ios:cef" { + uses config-ipv6-cef-grouping-deprecated; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular-rpc.yang new file mode 100644 index 000000000..8cb410f34 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular-rpc.yang @@ -0,0 +1,165 @@ +module Cisco-IOS-XE-cellular-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cellular-rpc"; + prefix ios-xe-cell-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Cellular RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + rpc cellular { + input { + leaf if-name-drop-node-name { + type string; + } + container lte { + choice action { + case tech { + container technology { + choice action { + case lte { + leaf lte { + type empty; + } + } + case auto { + leaf auto { + type empty; + } + } + case umts { + leaf umts { + type empty; + } + } + } + } + } + case modem-reset { + leaf modem-reset { + type empty; + } + } + case profile { + container profile { + choice prof { + case delete { + description + "Cellular Profile configuration"; + container delete { + description + "Delete a Profile"; + leaf profile-id-drop-node-name { + description + "Profile ID"; + type uint8 { + range "1..16"; + } + } + } + } + case create { + container create { + description + "Create a Profile"; + leaf profile-id-drop-node-name { + description + "Profile ID"; + type uint8 { + range "1..16"; + } + } + leaf prof-name-drop-node-name { + description + "Profile name"; + type string; + } + choice auth { + case none { + leaf none { + type empty; + } + } + case chap { + leaf chap { + type empty; + } + } + case pap { + leaf pap { + type empty; + } + } + case pap-chap { + leaf pap-chap { + type empty; + } + } + } + leaf user-name-drop-node-name { + description + "Username for authentication"; + type string; + } + leaf password-drop-node-name { + description + "Password for authentication"; + type string; + } + choice pdn { + case ipv4 { + leaf ipv4 { + type empty; + } + } + case ipv6 { + leaf ipv6 { + type empty; + } + } + case ipv4v6 { + leaf ipv4v6 { + type empty; + } + } + } + } + } + } + } + } + } + } + } + output { + uses ios-xe-rpc:cisco-xe-rpc-output; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular.yang new file mode 100644 index 000000000..de9f104a0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellular.yang @@ -0,0 +1,77 @@ +module Cisco-IOS-XE-cellular { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cellular"; + prefix ios-cell; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Cellular Interfaces. + Copyright (c) 2017, 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-05-01 { + description + "Move dialer related model to dialer yang file"; + } + revision 2017-12-20 { + description + "Add dialer and dialer-list"; + } + revision 2017-12-13 { + description + "Add interface cellular / dialer-group and pulse-time"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-cellular-grouping { + leaf pulse-time { + description + "Assign interface to dialer-list"; + type uint8 { + range "0..60"; + } + } + container async { + leaf mode { + type enumeration { + enum interactive; + } + } + } + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-cellular-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cellwan-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellwan-oper.yang new file mode 100644 index 000000000..a83708a49 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cellwan-oper.yang @@ -0,0 +1,1619 @@ +module Cisco-IOS-XE-cellwan-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cellwan-oper"; + prefix cellwan-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for cellwan operational data. + Copyright (c) 2018-2019, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added 5G parameters to cellular radio, network"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-05-18 { + description + "Addition of Cellular Sim Security, GPS and SMS data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-05-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef modem-status { + type enumeration { + enum modem-status-offline { + value 0; + description + "Modem is in Offline state"; + } + enum modem-status-online { + value 1; + description + "Modem is in Online state"; + } + enum modem-status-low-power { + value 2; + description + "Modem is in Low Power Mode state"; + } + enum modem-status-power-off { + value 3; + description + "Modem is in power off state"; + } + enum modem-status-boot-ready { + value 4; + description + "Modem is in boot ready state"; + } + enum modem-status-unknown { + value 5; + description + "Modem is in unknown state"; + } + } + description + "Modem status indicates the current state of cellular modem"; + } + + typedef cw-radio-power-status { + type enumeration { + enum radio-power-mode-online { + value 0; + description + "Cellular modem is in online radio mode"; + } + enum radio-power-mode-low-power { + value 1; + description + "Cellular modem is in low power radio mode"; + } + enum radio-power-mode-factory-test { + value 2; + description + "Cellular modem is in factory test radio mode"; + } + enum radio-power-mode-offline { + value 3; + description + "Cellular modem is in offline radio mode"; + } + enum radio-power-mode-reset { + value 4; + description + "Cellular modem is in reset radio mode"; + } + enum radio-power-mode-off { + value 5; + description + "Cellular modem is in off radio mode"; + } + enum radio-power-mode-persistent-low-power { + value 6; + description + "Cellular modem is in persistent low power radio mode"; + } + } + description + "Radio power status indicates the current radio power mode of cellular modem"; + } + + typedef radio-bandwidth { + type enumeration { + enum bandwidth-1-dot-4-mhz { + value 0; + description + "Cellular radio bandwidth is 1.4 MHz"; + } + enum bandwidth-3-mhz { + value 1; + description + "Cellular radio bandwidth is 3 MHz"; + } + enum bandwidth-5-mhz { + value 2; + description + "Cellular radio bandwidth is 5 MHz"; + } + enum bandwidth-10-mhz { + value 3; + description + "Cellular radio bandwidth is 10 MHz"; + } + enum bandwidth-15-mhz { + value 4; + description + "Cellular radio bandwidth is 15 MHz"; + } + enum bandwidth-20-mhz { + value 5; + description + "Cellular radio bandwidth is 20 MHz"; + } + enum bandwidth-invalid { + value 6; + description + "Cellular radio bandwidth is invalid"; + } + enum bandwidth-unknown { + value 7; + description + "Cellular radio bandwidth is unknown"; + } + } + description + "Radio bandwidth indicates the current cellular radio bandwidth selected in MHz"; + } + + typedef modem-technology { + type enumeration { + enum cdma-evdo-1x-rtt { + value 0; + description + "Modem technology selected is CDMA (Code Division Multiple Access) / + EVDO (Evolution-Data Optimized) / + 1xRTT (Single carrier (1x) radio transmission technology)"; + } + enum gsm-umts-gprs { + value 1; + description + "Modem technology selected is GSM (Global System for Mobile Communications) + / UMTS (Universal Mobile Telecommunications Service) + / GPRS (General Packet Radio Service)"; + } + enum tech-unknown { + value 2; + description + "Modem technology selected is unknown"; + } + } + description + "Modem technology indicates the current cellular technology selected"; + } + + typedef rat-preference { + type enumeration { + enum lte-radio-tech-no-svc { + value 0; + description + "Radio technology preference is no svc"; + } + enum lte-radio-tech-cdma-1-xrtt { + value 1; + description + "Radio technology preference is CDMA (Code Division Multiple Access) + / 1xRTT (Single carrier (1x) radio transmission technology)"; + } + enum lte-radio-tech-cdma-evdo { + value 2; + description + "Radio technology preference is CDMA (Code Division Multiple Access) + / EVDO (Evolution-Data Optimized) "; + } + enum lte-radio-tech-amps { + value 3; + description + "Radio technology preference is AMPS (Advanced Mobile Phone Service)"; + } + enum lte-radio-tech-gsm { + value 4; + description + "Radio technology preference is GSM (Global System for Mobile Communications)"; + } + enum lte-radio-tech-umts { + value 5; + description + "Radio technology preference is UMTS (Universal Mobile Telecommunications Service)"; + } + enum lte-radio-tech-wlan { + value 6; + description + "Radio technology preference is WLAN (wireless local area network)"; + } + enum lte-radio-tech-gprs { + value 7; + description + "Radio technology preference is GPRS (General Packet Radio Service)"; + } + enum lte-radio-tech-lte { + value 8; + description + "Radio technology preference is LTE (Long-Term Evolution)"; + } + enum lte-radio-tech-auto { + value 9; + description + "Radio technology preference is AUTO "; + } + enum lte-radio-tech-hybrid-cdma { + value 10; + description + "Radio technology preference is Hybrid CDMA (Hybrid Code Division Multiple Access)"; + } + enum lte-radio-tech-wcdma { + value 11; + description + "Radio technology preference is WCDMA (Wideband Code Division Multiplexing Access)"; + } + enum lte-radio-tech-gwl { + value 12; + description + "Radio technology preference is GWL "; + } + enum lte-radio-tech-edge { + value 13; + description + "Radio technology preference is EDGE (Enhanced Data rates for GSM Evolution)"; + } + enum lte-radio-tech-hsdpa-n-wcdma { + value 14; + description + "Radio technology preference is HSDPA (High Speed Downlink Packet Access) + & WCDMA (Wideband Code Division Multiplexing Access)"; + } + enum lte-radio-tech-wcdma-n-hsupa { + value 15; + description + "Radio technology preference is WCDMA (Wideband Code Division Multiplexing Access) + & HSUPA (High Speed Uplink Packet Access)"; + } + enum lte-radio-tech-hsdpa-n-hsupa { + value 16; + description + "Radio technology preference is HSDPA (High Speed Downlink Packet Access) + & HSUPA (High Speed Uplink Packet Access)"; + } + enum lte-radio-tech-hsdpa-plus-n-wcdma { + value 17; + description + "Radio technology preference is HSDPA+ (High Speed Downlink Packet Access plus) + & WCDMA (Wideband Code Division Multiplexing Access)"; + } + enum lte-radio-tech-hsdpa-plus-n-hsupa { + value 18; + description + "Radio technology preference is HSDPA+ (High Speed Downlink Packet Access plus) + & HSUPA (High Speed Uplink Packet Access)"; + } + enum lte-radio-tech-dc-hsdpa-plus-n-wcdma { + value 19; + description + "Radio technology preference is + DC HSDPA+ (Dual Carrier High Speed Downlink Packet Access plus) + & WCDMA (Wideband Code Division Multiplexing Access)"; + } + enum lte-radio-tech-dc-hsdpa-plus-n-hsupa { + value 20; + description + "Radio technology preference is + DC HSDPA+ (Dual Carrier High Speed Downlink Packet Access plus) + & HSUPA (High Speed Uplink Packet Access)"; + } + enum lte-radio-tech-null-bearer { + value 21; + description + "Radio technology preference is Null Bearer "; + } + enum lte-radio-tech-unknown { + value 22; + description + "Radio technology preference is Unknown "; + } + enum lte-radio-tech-no-change { + value 23; + description + "Radio technology preference is unchanged "; + } + enum lte-radio-tech-nr5g-sa { + value 24; + description + "Radio technology preference is NR(5G)-SA + (New Radio Fifth Generation Standalone) "; + } + } + description + "RAT preference indicates the current radio technology preference"; + } + + typedef rat-technology { + type enumeration { + enum system-mode-none { + value 0; + description + "Radio technology selected is none"; + } + enum system-mode-gprs { + value 1; + description + "Radio technology selected is GPRS (General Packet Radio Service)"; + } + enum system-mode-edge { + value 2; + description + "Radio technology selected is EDGE (Enhanced Data rates for GSM Evolution)"; + } + enum system-mode-umts { + value 3; + description + "Radio technology selected is UMTS (Universal Mobile Telecommunications System)"; + } + enum system-mode-hsdpa { + value 4; + description + "Radio technology selected is HSDPA (High Speed Downlink Packet Access)"; + } + enum system-mode-hsupa { + value 5; + description + "Radio technology selected is HSUPA (High Speed Uplink Packet Access)"; + } + enum system-mode-hspa { + value 6; + description + "Radio technology selected is HSPA (High Speed Packet Access)"; + } + enum system-mode-hspa-plus { + value 7; + description + "Radio technology selected is HSPA+ (Evolved High Speed Packet Access)"; + } + enum system-mode-lte-fdd { + value 8; + description + "Radio technology selected is LTE-FDD (Long Term Evolution-Frequency Division Duplex)"; + } + enum system-mode-lte-tdd { + value 9; + description + "Radio technology selected is LTE-TDD(Long Term Evolution-Time Division Duplex)"; + } + enum system-mode-lte-e-hrpd-1x-rtt { + value 10; + description + "Radio technology selected is LTE (Long Term Evolution) / + eHRPD (Evolved High Rate Packet Data) / + 1xRTT (Single carrier (1x) radio transmission technology)"; + } + enum system-mode-lte-e-hrpd-evdo { + value 11; + description + "Radio technology selected is LTE (Long Term Evolution) / + eHRPD (Evolved High Rate Packet Data) / + EVDO (Evolution-Data Optimized) "; + } + enum system-mode-evdo { + value 12; + description + "Radio technology selected is EVDO (Evolution-Data Optimized)"; + } + enum system-mode-evdo-reva { + value 13; + description + "Radio technology selected is EVDO (Evolution-Data Optimized) / + REVA (Evolution Data Optimized - Rev A)"; + } + enum system-mode-hsdpa-n-wcdma { + value 14; + description + "Radio technology selected is HSDPA (High Speed Downlink Packet Access) + & WCDMA (Wideband Code Division Multiple Access)"; + } + enum system-mode-wcdma-n-hsupa { + value 15; + description + "Radio technology selected is WCDMA (Wideband Code Division Multiple Access) + & HSUPA (High Speed Uplink Packet Access) "; + } + enum system-mode-hsdpa-n-hsupa { + value 16; + description + "Radio technology selected is HSDPA (High Speed Downlink Packet Access) + & HSUPA (High Speed Uplink Packet Access) "; + } + enum system-mode-hsdpa-plus-n-wcdma { + value 17; + description + "Radio technology selected is HSDPA+ (High Speed Downlink Packet Access plus) + & WCDMA (Wideband Code Division Multiple Access)"; + } + enum system-mode-hsdpa-plus-n-hsupa { + value 18; + description + "Radio technology selected is HSDPA+ (High Speed Downlink Packet Access plus) + & HSUPA (High Speed Uplink Packet Access) "; + } + enum system-mode-dc-hsdpa-plus-n-wcdma { + value 19; + description + "Radio technology selected is + DC HSDPA+ (Dual Carrier High Speed Downlink Packet Access plus) + & WCDMA (Wideband Code Division Multiple Access)"; + } + enum system-mode-dc-hsdpa-plus-n-hsupa { + value 20; + description + "Radio technology selected is + DC HSDPA+ (Dual Carrier High Speed Downlink Packet Access plus) + & HSUPA (High Speed Uplink Packet Access)"; + } + enum sysyem-mode-null-bearer { + value 21; + description + "Radio technology selected is null bearer"; + } + enum system-mode-unknown { + value 22; + description + "Radio technology selected is unknown"; + } + enum system-mode-nr5g-sa { + value 23; + description + "Radio technology selected is NR(5G)-SA + (New Radio Fifth Generation - Stand-Alone) "; + } + } + description + "RAT technology indicates the current radio technology selected"; + } + + typedef service-status { + type enumeration { + enum service-status-normal { + value 0; + description + "Cellular Network status is in normal state"; + } + enum service-status-emergency { + value 1; + description + "Cellular Network status is in emergency state"; + } + enum service-status-no-service { + value 2; + description + "Cellular Network status is in no service state"; + } + enum service-status-unknown { + value 3; + description + "Cellular Network status is in unknown state"; + } + } + description + "Service status indicates the current network service for cellular modem"; + } + + typedef modem-service { + type enumeration { + enum service-type-circuit-switched { + value 0; + description + "Cellular Network service type is circuit-switched"; + } + enum service-type-packet-switched { + value 1; + description + "Cellular Network service type is packet-switched"; + } + enum service-type-combined { + value 2; + description + "Cellular Network service type is combined"; + } + enum service-type-invalid { + value 3; + description + "Cellular Network service type is invalid"; + } + enum service-type-unknown { + value 4; + description + "Cellular Network service type is unknown"; + } + } + description + "Modem service indicates the current network service type for cellular modem"; + } + + typedef lte-ca { + type enumeration { + enum lte-ca-deconfigured { + value 0; + description + "LTE carrier aggregation is deconfigured"; + } + enum lte-ca-deactivated { + value 1; + description + "LTE carrier aggregation is deactivated"; + } + enum lte-ca-activated { + value 2; + description + "LTE carrier aggregation is activated"; + } + enum lte-ca-unsupported { + value 3; + description + "LTE carrier aggregation is unsupported"; + } + } + description + "LTE CA indicates the LTE carrier aggregation status for cellular modem"; + } + + typedef reg-state { + type enumeration { + enum reg-status-not-registered { + value 0; + description + "Cellular Network is in not registered state"; + } + enum reg-status-registered { + value 1; + description + "Cellular Network is in registered state"; + } + enum reg-status-searching { + value 2; + description + "Cellular Network is in searching state"; + } + enum reg-status-registration-denied { + value 3; + description + "Cellular Network is in registration denied state"; + } + enum reg-status-unsupported { + value 4; + description + "Cellular Network is in unsupported state"; + } + } + description + "Registration state indicates the current cellular network registration state"; + } + + typedef cwan-nr5g-bandwidth { + type enumeration { + enum nr5g-bw-5-mhz { + value 0; + description + "Cellular radio bandwidth is 5 MHz"; + } + enum nr5g-bw-10-mhz { + value 1; + description + "Cellular radio bandwidth is 10 MHz"; + } + enum nr5g-bw-15-mhz { + value 2; + description + "Cellular radio bandwidth is 15 MHz"; + } + enum nr5g-bw-20-mhz { + value 3; + description + "Cellular radio bandwidth is 20 MHz"; + } + enum nr5g-bw-25-mhz { + value 4; + description + "Cellular radio bandwidth is 25 MHz"; + } + enum nr5g-bw-30-mhz { + value 5; + description + "Cellular radio bandwidth is 30 MHz"; + } + enum nr5g-bw-35-mhz { + value 6; + description + "Cellular radio bandwidth is 35 MHz"; + } + enum nr5g-bw-40-mhz { + value 7; + description + "Cellular radio bandwidth is 40 MHz"; + } + enum nr5g-bw-45-mhz { + value 8; + description + "Cellular radio bandwidth is 45 MHz"; + } + enum nr5g-bw-50-mhz { + value 9; + description + "Cellular radio bandwidth is 50 MHz"; + } + enum nr5g-bw-60-mhz { + value 10; + description + "Cellular radio bandwidth is 60 MHz"; + } + enum nr5g-bw-70-mhz { + value 11; + description + "Cellular radio bandwidth is 70 MHz"; + } + enum nr5g-bw-80-mhz { + value 12; + description + "Cellular radio bandwidth is 80 MHz"; + } + enum nr5g-bw-90-mhz { + value 13; + description + "Cellular radio bandwidth is 90 MHz"; + } + enum nr5g-bw-100-mhz { + value 14; + description + "Cellular radio bandwidth is 100 MHz"; + } + enum nr5g-bw-200-mhz { + value 15; + description + "Cellular radio bandwidth is 200 MHz"; + } + enum nr5g-bw-300-mhz { + value 16; + description + "Cellular radio bandwidth is 300 MHz"; + } + enum nr5g-bw-400-mhz { + value 17; + description + "Cellular radio bandwidth is 400 MHz"; + } + enum nr5g-bw-invalid { + value 18; + description + "Cellular radio bandwidth is invalid"; + } + enum nr5g-bw-unknown { + value 19; + description + "Cellular radio bandwidth is unknown"; + } + } + description + "NR(5G) bandwidth indicates the current NR(5G) radio bandwidth selected in MHz"; + } + + typedef packet-sess-status { + type enumeration { + enum packet-session-status-inactive { + value 0; + description + "Cellular packet session status is inactive"; + } + enum packet-session-status-active { + value 1; + description + "Cellular packet session status is active"; + } + } + description + "Packet Session Status indicates the Cellular packet session state"; + } + + typedef profile-scope { + type enumeration { + enum scope-global { + value 0; + description + "IP address scope is Global"; + } + enum scope-link { + value 1; + description + "IP address scope is Link"; + } + } + description + "Profile Scope indicates the IP address scope"; + } + + typedef cellwan-chv1-sim-status { + type enumeration { + enum chv1-verify-disabled { + value 0; + description + "SIM card holder verification (CHV1) disabled"; + } + enum chv1-verify-enabled { + value 1; + description + "SIM card holder verification (CHV1) enabled"; + } + enum chv1-verify-pending { + value 2; + description + "SIM card holder verification (CHV1) pending"; + } + } + description + "Cellular modem SIM card holder verification (CHV1) status"; + } + + typedef cellwan-sim-status { + type enumeration { + enum sim-status-ok { + value 0; + description + "Cellular modem SIM status is inserted"; + } + enum sim-status-not-inserted { + value 1; + description + "Cellular modem SIM is not inserted"; + } + enum sim-status-removed { + value 2; + description + "Cellular modem SIM is in removed state"; + } + enum sim-status-init-failure { + value 3; + description + "Cellular modem SIM is in initialization failure state"; + } + enum sim-status-general-failure { + value 4; + description + "Cellular modem SIM is in general failure state"; + } + enum sim-status-locked { + value 5; + description + "Cellular modem SIM is in locked state"; + } + enum sim-status-chv1-blocked { + value 6; + description + "Cellular modem SIM is in chv1 (Card Holder Verification) blocked state"; + } + enum sim-status-chv2-blocked { + value 7; + description + "Cellular modem SIM is in chv2 (Card Holder Verification) blocked state"; + } + enum sim-status-chv1-rejected { + value 8; + description + "Cellular modem SIM is in chv1 (Card Holder Verification) rejected state"; + } + enum sim-status-chv2-rejected { + value 9; + description + "Cellular modem SIM is in chv2 (Card Holder Verification) rejected state"; + } + enum sim-status-mep-locked { + value 10; + description + "Cellular modem SIM is in MEP (Mobile Equipment Personalization) locked state"; + } + enum sim-status-network-reject { + value 11; + description + "Cellular modem SIM is in network reject state"; + } + enum sim-status-unknown { + value 12; + description + "Cellular modem SIM is in unknown state"; + } + } + description + "Cellular modem SIM status"; + } + + typedef cellwan-sim-user-op { + type enumeration { + enum sim-user-op-none { + value 0; + description + "Cellular modem SIM user operation is in None state"; + } + enum sim-user-op-chv1 { + value 1; + description + "Cellular modem SIM user is in CHV1 (Card Holder Verification) state"; + } + enum sim-user-op-chv2 { + value 2; + description + "Cellular modem SIM user is in CHV2 (Card Holder Verification) state"; + } + enum sim-user-op-unblock-chv1 { + value 3; + description + "Cellular modem SIM user is in Unblocked CHV1 (Card Holder Verification) state"; + } + enum sim-user-op-unblock-chv2 { + value 4; + description + "Cellular modem SIM user is in Unblocked CHV2 (Card Holder Verification) state"; + } + enum sim-user-op-mep { + value 5; + description + "Cellular modem SIM user is in MEP (Mobile Equipment Personalization) state"; + } + enum sim-user-op-unknown { + value 6; + description + "Cellular modem SIM user operation is in Unknown state"; + } + } + description + "Cellular modem SIM user operation status"; + } + + typedef cwan-gps-feature-state { + type enumeration { + enum gps-disabled { + value 0; + description + "Cellular modem GPS feature state is Disabled"; + } + enum gps-enabled { + value 1; + description + "Cellular modem GPS feature state is Enabled"; + } + } + description + "Cellular modem GPS feature state status"; + } + + typedef cwan-gps-port-selected { + type enumeration { + enum dedicated-gps-port { + value 0; + description + "Cellular modem dedicated GPS port selected"; + } + enum div-gps-port { + value 1; + description + "Cellular modem DIV port selected for GPS"; + } + enum voltage-no-bias-gps-port { + value 2; + description + "Cellular modem voltage no-bias port selected for GPS"; + } + enum gps-port-none { + value 3; + description + "Cellular modem none port selected for GPS"; + } + } + description + "Cellular modem GPS port selection status"; + } + + typedef cwan-gps-state { + type enumeration { + enum gps-state-disabled { + value 1; + description + "Cellular modem is in GPS disabled state"; + } + enum gps-state-acquiring { + value 2; + description + "Cellular modem is in GPS acquiring state"; + } + enum gps-state-enabled { + value 3; + description + "Cellular modem is in GPS enabled state"; + } + enum gps-loc-error { + value 4; + description + "Cellular modem is in GPS location error state"; + } + } + description + "Cellular modem GPS state"; + } + + typedef cwan-gps-mode-selected { + type enumeration { + enum gps-mode-disable { + value 0; + description + "Cellular modem GPS mode is disabled"; + } + enum gps-mode-standalone { + value 1; + description + "Cellular modem GPS mode is standalone"; + } + enum gps-mode-mbased { + value 2; + description + "Cellular modem GPS mode is ms-based"; + } + enum gps-mode-msassist { + value 3; + description + "Cellular modem GPS mode is ms-assist"; + } + } + description + "Cellular modem GPS mode selection status"; + } + + grouping cellwan-hardware-entry { + description + "Cellular modem hardware status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf cellular-firmware-version { + type string; + description + "Cellular Modem firmware version"; + } + leaf cellular-firmware-build-time { + type string; + description + "Cellular Modem firmware build time"; + } + leaf cellular-hardware-version { + type string; + description + "Cellular Modem hardware version"; + } + leaf cellular-device-model { + type string; + description + "Cellular Modem device model type"; + } + leaf cellular-imsi { + type string; + description + "Cellular Modem IMSI"; + } + leaf cellular-imei { + type string; + description + "Cellular Modem IMEI"; + } + leaf cellular-iccid { + type string; + description + "Cellular Modem ICCID"; + } + leaf cellular-msisdn { + type string; + description + "Cellular Modem MSISDN"; + } + leaf cellular-fsn { + type string; + description + "Cellular Modem FSN"; + } + leaf cellular-modem-status { + type cellwan-ios-xe-oper:modem-status; + description + "Cellular Modem Status"; + } + leaf cellular-modem-temperature { + type int16; + description + "Cellular Modem temperature"; + } + leaf cellular-pri-skuid { + type string; + description + "Cellular Modem PRI sku id"; + } + leaf cellular-pri-version { + type string; + description + "Cellular Modem PRI version"; + } + leaf cellular-carrier { + type string; + description + "Cellular Modem carrier"; + } + leaf cellular-oem-pri-version { + type string; + description + "Cellular Modem OEM PRI version"; + } + } + + grouping cellwan-radio-entry { + description + "Cellular modem radio status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf technology { + type cellwan-ios-xe-oper:modem-technology; + description + "Cellular modem technology"; + } + leaf radio-power-mode { + type cellwan-ios-xe-oper:cw-radio-power-status; + description + "Cellular modem radio power mode"; + } + leaf radio-rx-channel { + type uint32; + description + "Cellular radio receive (Rx) channel number"; + } + leaf radio-tx-channel { + type uint32; + description + "Cellular radio transmit (Tx) channel number"; + } + leaf radio-band { + type uint32; + description + "Cellular radio band number"; + } + leaf bandwidth { + type cellwan-ios-xe-oper:radio-bandwidth; + description + "Cellular radio bandwidth in MHz"; + } + leaf radio-rssi { + type int16; + description + "Cellular RSSI - Received Signal Strength Indication in dBm"; + } + leaf radio-rsrp { + type int16; + description + "Cellular RSRP - Reference Signal Received Power in dBm"; + } + leaf radio-rsrq { + type int8; + description + "Cellular RSRQ - Reference Signal Received Quality in dB"; + } + leaf radio-snr { + type decimal64 { + fraction-digits 2; + } + description + "Cellular SNR - Signal to Noise Ratio in dB"; + } + leaf radio-rat-preference { + type cellwan-ios-xe-oper:rat-preference; + description + "Cellular Radio Access Technology preference"; + } + leaf radio-rat-selected { + type cellwan-ios-xe-oper:rat-technology; + description + "Cellular Radio Access Technology selected"; + } + leaf pci { + type uint16; + description + "LTE Physical Cell Identity (PCI)"; + } + leaf nr5g-rxch { + type uint32; + description + "Cellular NR(5G) radio receive (Rx) channel number"; + } + leaf nr5g-txch { + type uint32; + description + "Cellular NR(5G) radio transmit (Tx) channel number"; + } + leaf nr5g-band { + type uint16; + description + "Cellular NR(5G) radio band number"; + } + leaf nr5g-bw { + type cellwan-ios-xe-oper:cwan-nr5g-bandwidth; + units "MHz"; + description + "Cellular NR(5G) radio bandwidth in MHz"; + } + leaf nr5g-pci { + type uint16; + description + "NR(5G) Physical Cell Identity (PCI)"; + } + leaf nr5g-rssi { + type int16; + units "dBm"; + description + "Cellular NR(5G) RSSI - Received Signal Strength Indication in dBm"; + } + leaf nr5g-rsrp { + type int16; + units "dBm"; + description + "Cellular NR(5G) RSRP - Reference Signal Received Power in dBm"; + } + leaf nr5g-rsrq { + type int8; + units "dB"; + description + "Cellular NR(5g) RSRQ - Reference Signal Received Quality in dB"; + } + leaf nr5g-snr { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Cellular NR(5G) SNR - Signal to Noise Ratio in dB"; + } + } + + grouping cellwan-network-entry { + description + "Cellular modem network status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf cellular-modem-time { + type yang:date-and-time; + description + "Current Cellular modem time"; + } + leaf radio-access-technology-selected { + type cellwan-ios-xe-oper:rat-technology; + description + "Cellular Radio Access Technology selected"; + } + leaf current-service-status { + type cellwan-ios-xe-oper:service-status; + description + "Cellular network current service status"; + } + leaf current-system-identifier { + type uint16; + description + "Cellular modem current system identifier"; + } + leaf current-network-identifier { + type uint16; + description + "Cellular modem current network identifier"; + } + leaf current-service-type { + type cellwan-ios-xe-oper:modem-service; + description + "Cellular network current service type"; + } + leaf current-roaming-status { + type string; + description + "Cellular network current roaming status"; + } + leaf network-selection-mode { + type string; + description + "Cellular network selection mode"; + } + leaf network-name { + type string; + description + "Cellular current network name"; + } + leaf mobile-country-code { + type uint16; + description + "Cellular network mobile country code"; + } + leaf mobile-network-code { + type uint16; + description + "Cellular modem mobile network code"; + } + leaf packet-switch-domain-state { + type string; + description + "Cellular packet switched (PS) domain state"; + } + leaf lte-carrier-aggregation { + type cellwan-ios-xe-oper:lte-ca; + description + "Cellular LTE carrier aggregation (CA) state"; + } + leaf registration-state { + type cellwan-ios-xe-oper:reg-state; + description + "Cellular network registration state"; + } + leaf emm-state { + type string; + description + "Cellular network EMM registration state"; + } + leaf emm-substate { + type string; + description + "Cellular network EMM sub-state"; + } + leaf location-area-code { + type uint16; + description + "Cellular network location area code"; + } + leaf tracking-area-code { + type uint16; + description + "Cellular network tracking area code"; + } + leaf cell-id { + type uint64; + description + "Cellular network cell ID"; + } + leaf negotiated-network-mtu { + type uint16; + description + "Cellular modem negotiated network MTU size"; + } + leaf nr5g-tracking-area-code { + type uint32; + description + "Cellular NR (5G) network tracking area code"; + } + } + + grouping cellwan-connection-entry { + description + "Cellular modem connection status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf active-profile { + type uint64; + description + "Cellular modem active profile number"; + } + leaf cellular-packet-status { + type cellwan-ios-xe-oper:packet-sess-status; + description + "Cellular modem packet session status"; + } + leaf tx-packets { + type uint64; + description + "Cellular data packets transmitted"; + } + leaf rx-packets { + type uint64; + description + "Cellular data packets received"; + } + leaf tx-bytes { + type uint64; + description + "Cellular data bytes transmitted"; + } + leaf rx-bytes { + type uint64; + description + "Cellular data bytes received"; + } + leaf ipv4-addr { + type inet:ip-address; + description + "Cellular interface IPv4 Address"; + } + leaf ipv6-addr { + type inet:ip-address; + description + "Cellular interface IPv6 Address"; + } + leaf ipv4-dns-pri { + type inet:ip-address; + description + "Cellular interface primary IPv4 DNS Address"; + } + leaf ipv4-dns-sec { + type inet:ip-address; + description + "Cellular interface secondary IPv4 DNS Address"; + } + leaf ipv6-dns-pri { + type inet:ip-address; + description + "Cellular interface primary IPv6 DNS Address"; + } + leaf ipv6-dns-sec { + type inet:ip-address; + description + "Cellular interface secondary IPv6 DNS Address"; + } + leaf scope { + type cellwan-ios-xe-oper:profile-scope; + description + "Cellular interface profile IP address scope"; + } + } + + grouping cellwan-security-entry { + description + "Cellular modem SIM security status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf active-sim { + type int8; + description + "Cellular modem active SIM slot status"; + } + leaf sim-num-switchover { + type uint32; + description + "Cellular modem SIM switchover attempts"; + } + leaf chv1-status { + type cellwan-ios-xe-oper:cellwan-chv1-sim-status; + description + "Cellular SIM Card Holder Verification (CHV1) status"; + } + leaf sim-status { + type cellwan-ios-xe-oper:cellwan-sim-status; + description + "Cellular SIM status"; + } + leaf sim-oper { + type cellwan-ios-xe-oper:cellwan-sim-user-op; + description + "Cellular SIM user operation"; + } + leaf num-retries { + type int8; + description + "Cellular SIM number of CHV1 retries remaining"; + } + } + + grouping cellwan-sms-entry { + description + "Cellular modem SMS entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf in-sms-count { + type uint16; + description + "Number of incoming SMS stored in Cellular modem"; + } + leaf in-sms-archived { + type uint16; + description + "Number of incoming SMS archived in Cellular modem"; + } + leaf in-sms-deleted { + type uint16; + description + "Number of incoming SMS deleted in Cellular modem"; + } + leaf in-sms-max { + type uint16; + description + "Number of SIM/modem SMS record allocated"; + } + leaf in-sms-used { + type uint16; + description + "Number of SIM/modem SMS record used"; + } + leaf sms-callback-count { + type uint16; + description + "Number of SMS triggered data callback"; + } + leaf in-sms-arch-count { + type uint16; + description + "Number of successful archive on in SMS"; + } + leaf in-sms-arch-error-count { + type uint16; + description + "Number of failed archive on in SMS"; + } + leaf out-sms-count { + type uint16; + description + "Number of outgoing SMS successfully sent"; + } + leaf out-sms-error-count { + type uint16; + description + "Number of outgoing SMS send failure"; + } + leaf out-sms-pending { + type uint16; + description + "Number of outgoing SMS pending"; + } + leaf out-sms-arch-count { + type uint16; + description + "Number of successful archive out in SMS"; + } + leaf out-sms-arch-error-count { + type uint16; + description + "Number of failed archive on out SMS"; + } + } + + grouping cellwan-gps-entry { + description + "Cellular modem GPS status entry details"; + leaf cellular-interface { + type string; + description + "Cellular interface"; + } + leaf gps-feature-state { + type cellwan-ios-xe-oper:cwan-gps-feature-state; + description + "Cellular modem GPS feature state status"; + } + leaf port-selected { + type cellwan-ios-xe-oper:cwan-gps-port-selected; + description + "Cellular modem GPS port selection status"; + } + leaf state { + type cellwan-ios-xe-oper:cwan-gps-state; + description + "Cellular modem GPS state status"; + } + leaf mode-selected { + type cellwan-ios-xe-oper:cwan-gps-mode-selected; + description + "Cellular modem GPS mode selection status"; + } + leaf latitude { + type string; + description + "Cellular modem GPS latitude details"; + } + leaf longitude { + type string; + description + "Cellular modem GPS longitude details"; + } + leaf timestamp { + type yang:date-and-time; + description + "Cellular modem GPS timestamp details"; + } + } + + container cellwan-oper-data { + config false; + description + "Cellwan operational data"; + list cellwan-hardware { + key "cellular-interface"; + description + "Cellwan modem hardware data"; + uses cellwan-ios-xe-oper:cellwan-hardware-entry; + } + list cellwan-radio { + key "cellular-interface"; + description + "Cellwan modem radio data"; + uses cellwan-ios-xe-oper:cellwan-radio-entry; + } + list cellwan-network { + key "cellular-interface"; + description + "Cellwan modem network data"; + uses cellwan-ios-xe-oper:cellwan-network-entry; + } + list cellwan-connection { + key "cellular-interface"; + description + "Cellwan modem connection data"; + uses cellwan-ios-xe-oper:cellwan-connection-entry; + } + list cellwan-security { + key "cellular-interface"; + description + "Cellwan modem sim security data"; + uses cellwan-ios-xe-oper:cellwan-security-entry; + } + list cellwan-sms { + key "cellular-interface"; + description + "Cellwan modem sms data"; + uses cellwan-ios-xe-oper:cellwan-sms-entry; + } + list cellwan-gps { + key "cellular-interface"; + description + "Cellwan modem gps data"; + uses cellwan-ios-xe-oper:cellwan-gps-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cfm-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cfm-oper.yang new file mode 100644 index 000000000..0432c6895 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cfm-oper.yang @@ -0,0 +1,957 @@ +module Cisco-IOS-XE-cfm-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cfm-oper"; + prefix cfm-stats-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the Connectivity Fault Management protocol operation in a Network Element. + Copyright (c) 2016-2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-07-01 { + description + "Added offload status to local MEP and sender chassis + id to remote MEP table"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-03-01 { + description + "Added local MEP, local MIP, remote MEP and + MP database tables"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-06-06 { + description + "Last cleared time attribute type change"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef cfm-last-cleared-type { + type enumeration { + enum never-cleared { + value 0; + description + "CFM stats have never been cleared"; + } + enum cleared-before { + value 1; + description + "CFM stats have been cleared once before"; + } + } + description + "Describes whether CFM stats have been cleared"; + } + + typedef cfm-service-type { + type enumeration { + enum cfm-svc-bd { + value 0; + description + "The service represents a bridge domain, with an + associated EVC"; + } + enum cfm-svc-bd-vlan { + value 1; + description + "The service is both a VLAN and bridge domain"; + } + enum cfm-svc-evc { + value 2; + description + "Matches a service of type BD or XCONNECT"; + } + enum cfm-svc-vlan { + value 3; + description + "The service represents a (singly tagged) VLAN"; + } + enum cfm-svc-xcon { + value 4; + description + "The service represents an L2VPN cross connect"; + } + enum cfm-svc-cvlan { + value 5; + description + "The service represents a doubly-tagged + layer 2 VLAN"; + } + enum cfm-svc-all { + value 6; + description + "Matches a service of type BD, XCONNECT, or VLAN"; + } + enum cfm-svc-invalid { + value 7; + description + "CFM service type is invalid"; + } + } + description + "CFM layer 2 service type"; + } + + typedef cfm-ccm-state { + type enumeration { + enum ccm-enabled { + value 0; + description + "CFM CCM(Continuity Check Message) enabled"; + } + enum ccm-disabled { + value 1; + description + "CFM CCM(Continuity Check Message) not enabled"; + } + enum ccm-inactive { + value 2; + description + "CFM local MEP(Maintenance End Point) inactive"; + } + enum ccm-invalid { + value 3; + description + "CFM CCM(Continuity Check Message) state invalid"; + } + } + description + "CFM CCM(Continuity Check Message) state"; + } + + typedef cfm-mep-direction { + type enumeration { + enum mep-direction-up { + value 0; + description + "CFM messages generated by the MEP go into + the network"; + } + enum mep-direction-down { + value 1; + description + "CFM messages generated by the MEP go out of + the network"; + } + enum mep-direction-invalid { + value 2; + description + "MEP direction is invalid"; + } + } + description + "CFM Local MEP(Maintenance End Point) direction"; + } + + typedef cfm-ccm-mode { + type enumeration { + enum ccm-mode-unicast { + value 0; + description + "CCM messages are sent to a particular remote + maintenance point"; + } + enum ccm-mode-multicast { + value 1; + description + "CCM messages are sent to multiple remote + maintenance points"; + } + enum ccm-mode-invalid { + value 2; + description + "CCM mode configured is invalid"; + } + } + description + "CFM CCM(Continuity Check Message) mode"; + } + + typedef cfm-intf-status { + type enumeration { + enum if-status-unknown { + value 0; + description + "CFM interface status unknown"; + } + enum if-status-admin-down { + value 1; + description + "CFM interface status admin down"; + } + enum if-status-rem-excess-errs { + value 2; + description + "CFM remote interface has exceeded its 802.3 + Link OAM error threshold"; + } + enum if-status-loc-excess-errs { + value 3; + description + "CFM local interface has exceeded its 802.3 + Link OAM error threshold"; + } + enum if-status-up { + value 4; + description + "CFM interface status up"; + } + enum if-status-down { + value 5; + description + "CFM interface status down"; + } + enum if-status-testing { + value 6; + description + "CFM interface status testing"; + } + enum if-status-dormant { + value 7; + description + "CFM interface status dormant"; + } + enum if-status-not-present { + value 8; + description + "CFM interface status not present"; + } + enum if-status-lower-layer-down { + value 9; + description + "CFM interface status lower layer down"; + } + enum if-status-invalid { + value 10; + description + "CFM interface status invalid"; + } + } + description + "CFM interface status"; + } + + typedef cfm-port-status { + type enumeration { + enum port-status-unknown { + value 0; + description + "CFM port status unknown"; + } + enum port-status-blocked { + value 1; + description + "CFM port status blocked"; + } + enum port-status-up { + value 2; + description + "CFM port status up"; + } + enum port-status-invalid { + value 3; + description + "CFM port status invalid"; + } + } + description + "CFM port status"; + } + + typedef mep-transport-type { + type enumeration { + enum xport-none { + value 0; + description + "No transport type specified"; + } + enum xport-bd { + value 1; + description + "Transport is a bridge domain"; + } + enum xport-vlan { + value 2; + description + "Transport type is a vlan"; + } + enum xport-xconnect { + value 3; + description + "Transport is a layer 2 VPN cross connect"; + } + enum xport-unknown { + value 4; + description + "Transport type unknown"; + } + } + description + "MEP transport type"; + } + + typedef rmep-flag { + type bits { + bit rmep-flag-timeout { + position 0; + description + "The lifetime timer has expired for a remote + maintenance end point"; + } + bit rmep-flag-wrong-level { + position 1; + description + "Level reported in CCM from this remote maintenance + end point does not match the locally configured level"; + } + bit rmep-flag-wrong-maid { + position 2; + description + "Service ID reported in CCM from this remote + maintenance end point does not match the locally configured value"; + } + bit rmep-flag-own-mac { + position 3; + description + "Remote and local maintenance end points have the + same ID and MAC address"; + } + bit rmep-flag-own-mepid { + position 4; + description + "Remote and local maintenance end points have the + same ID but different MAC address"; + } + bit rmep-flag-missing { + position 5; + description + "No CCMs have been received for this expected + remote MEP"; + } + bit rmep-flag-unknown { + position 6; + description + "The reported maintenance end point ID in CCMs + received for this remote maintenance end point is unknown"; + } + bit rmep-flag-rdi { + position 7; + description + "A CCM has been received for this remote + maintenance end point with the RDI(Remote Defect Indication) + bit set"; + } + bit rmep-flag-port-status-defect { + position 8; + description + "The most recent CCM included a port status that + was not up"; + } + bit rmep-flag-intf-status-defect { + position 9; + description + "The most recent CCM included an interface status + that was not up"; + } + bit rmep-flag-wrong-interval { + position 10; + description + "The most recent CCM's interval did not match that + of the receiving maintenance association"; + } + bit rmep-flag-none { + position 11; + description + "No errors detected"; + } + } + description + "CFM remote MEP error flags"; + } + + typedef cfm-defect { + type bits { + bit defect-rdi-ccm { + position 0; + description + "Remote maintenance end point has + reported RDI in CCM"; + } + bit defect-mac-status { + position 1; + description + "Remote interface is down or blocked"; + } + bit defect-remote-ccm { + position 2; + description + "Expected remote maintenance end + point is missing"; + } + bit defect-error-ccm { + position 3; + description + "Unknown or mismatched remote maintenance end + point detected"; + } + bit defect-xcon-ccm { + position 4; + description + "Cross connect error detected, CCM received from a + different maintenance association or lower maintenance + domain level"; + } + bit defect-none { + position 5; + description + "No defects detected"; + } + } + description + "CFM defect flags"; + } + + grouping mep-key { + description + "This type describes a key in a list of MEPS"; + leaf domain-name { + type string; + description + "The name of the Domain corresponding the the MEP"; + } + leaf ma-name { + type string; + description + "The name of the MA corresponding the the MEP"; + } + leaf mpid { + type uint32; + description + "ID of the MEP"; + } + } + + grouping cfm-cleared-type { + description + "Type describes the last time when the counters were cleared"; + choice cleared-choice { + description + "The last time when the counters were cleared"; + case never-cleared { + leaf never { + type empty; + description + "Never been cleared"; + } + } + case cleared-before { + leaf time { + type yang:date-and-time; + description + "Date and time of the last time stats were cleared"; + } + } + } + } + + grouping mep-params { + description + "MEP parameters"; + container last-cleared { + description + "Info on when the stats were last cleared"; + uses cfm-stats-ios-xe-oper:cfm-cleared-type; + } + leaf ccm-transmitted { + type yang:counter64; + description + "The number of CCMs transmitted from the local MEP"; + } + leaf ccm-seq-errors { + type yang:counter64; + description + "The number of CCM sequence number errors detected"; + } + leaf ltr-unexpected { + type yang:counter64; + description + "The number of unexpected linktrace reply packets + received at this MEP"; + } + leaf lbr-transmitted { + type yang:counter64; + description + "The number of loopback reply packets transmitted + from the local MEP"; + } + leaf lbr-seq-errors { + type yang:counter64; + description + "The number of loopback reply packets received + with sequence number errors"; + } + leaf lbr-received-ok { + type yang:counter64; + description + "The number of valid loopback reply packets received"; + } + leaf lbr-received-bad { + type yang:counter64; + description + "The number of loopback reply packets received + with corrupted data pattern"; + } + } + + grouping local-mep-key { + description + "Maintenance point local MEP key values"; + leaf domain { + type string; + description + "Maintenance domain name"; + } + leaf service { + type string; + description + "Identifies a service associated with the maintenance + end point"; + } + leaf mep-id { + type uint64; + description + "Unique ID given to a locally configured maintenance + end point"; + } + } + + grouping local-mep-data { + description + "Local maintenance end point data values"; + leaf level { + type uint8; + description + "A unique maintenance level at which the domain and + the maintenance end point are configured"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the physical interface on which the + maintenance end point is configured"; + } + leaf svc-type { + type cfm-stats-ios-xe-oper:cfm-service-type; + description + "CFM layer 2 service type"; + } + leaf ccm-state { + type cfm-stats-ios-xe-oper:cfm-ccm-state; + description + "Continuity check message state"; + } + leaf offload { + type boolean; + description + "Set to true when offload is enabled in configuration"; + } + leaf dir { + type cfm-stats-ios-xe-oper:cfm-mep-direction; + description + "Maintenance end point direction"; + } + leaf port { + type string; + description + "Maintenance end point port name"; + } + leaf vlan { + when 'boolean(../vlan-valid)'; + type uint32; + description + "Maintenance end point VLAN ID"; + } + leaf vlan-valid { + type empty; + description + "VLAN field valid only when we have VLAN configured on + maintenance end point"; + } + leaf inner-vlan { + when 'boolean(../inner-vlan-valid)'; + type uint32; + description + "Maintenance end point inner VLAN ID"; + } + leaf inner-vlan-valid { + type empty; + description + "Inner VLAN field valid only when we have double tagged VLAN + configured on maintenance end point"; + } + leaf svc-inst { + type uint32; + description + "Unique service instance number associated with + maintenance end point"; + } + leaf evc-name { + type string; + description + "EVC associated with maintenance end point"; + } + leaf ccm-mode { + type cfm-stats-ios-xe-oper:cfm-ccm-mode; + description + "Continuity check message mode"; + } + leaf offload-success { + when '../offload'; + type boolean; + description + "When offload is enabled this will show offload status + True when continuity check is offloaded to hardware"; + } + } + + grouping local-mip-key { + description + "Locally configured maintenance intermediate point + key values"; + leaf level { + type uint8; + description + "A unique maintenance level at which the maintenance + intermediate point is configured"; + } + leaf port { + type string; + description + "Physical interface on which the maintenance + intermediate point is configured"; + } + leaf svc-inst { + type uint32; + description + "Service instance number associated with maintenance + intermediate point"; + } + } + + grouping local-mip-data { + description + "Maintenance point local MIP data values"; + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the physical interface on which the + maintenance intermediate point is configured locally"; + } + leaf bd-id { + type uint64; + description + "Local maintenance intermediate point + bridge domain ID"; + } + leaf svc-type { + type cfm-stats-ios-xe-oper:cfm-service-type; + description + "CFM layer 2 service type"; + } + leaf source-static { + type boolean; + description + "Local maintenance intermediate point source + static or not"; + } + leaf manual { + type boolean; + description + "Local maintenance intermediate point manually + configured or auto created"; + } + } + + grouping remote-mep-key { + description + "Maintenance point remote MEP/database key values"; + leaf domain { + type string; + description + "Remote maintenance end point domain name"; + } + leaf service { + type string; + description + "Identifies a service associated with the maintenance + end point"; + } + leaf local-mep-id { + type uint64; + description + "Unique ID given to a locally configured maintenance + end point"; + } + leaf remote-mep-id { + type uint64; + description + "Unique ID given to the remotely configured + maintenance end point"; + } + } + + grouping remote-mep-data { + description + "Data values for the remotely configured maintenance + end point"; + leaf level { + type uint8; + description + "A unique maintenance level at which the maintenance + end point is configured"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of remote maintenance + end point interface"; + } + leaf if-status { + type cfm-stats-ios-xe-oper:cfm-intf-status; + description + "Remote maintenance end point interface status"; + } + leaf port-status { + type cfm-stats-ios-xe-oper:cfm-port-status; + description + "CFM port status"; + } + leaf ingress-if { + type string; + description + "CFM ingress interface name"; + } + leaf rdi { + type boolean; + description + "Whether RDI(Remote Defect Indication) bit set"; + } + leaf svc-type { + type cfm-stats-ios-xe-oper:cfm-service-type; + description + "CFM layer 2 service type"; + } + leaf vlan { + when 'boolean(../vlan-valid)'; + type uint32; + description + "Remote maintenance end point VLAN ID"; + } + leaf vlan-valid { + type empty; + description + "VLAN field valid only when we have VLAN configured on + maintenance end point"; + } + leaf inner-vlan { + when 'boolean(../inner-vlan-valid)'; + type uint32; + description + "Remote maintenance end point inner VLAN ID"; + } + leaf inner-vlan-valid { + type empty; + description + "Inner VLAN field valid only when we have double tagged VLAN + configured on maintenance end point"; + } + leaf svc-inst { + type uint32; + description + "Service instance number associated with remote + maintenance end point"; + } + leaf evc-name { + type string; + description + "EVC name associated with the maintenance end point"; + } + leaf up-time { + type yang:date-and-time; + description + "Time elapsed since the last CCM packet received from + the remote maintenance end point"; + } + leaf chassis-id { + type string; + description + "Chassis ID(host name) of remote device which sends CCM packets"; + } + } + + grouping mep-transport { + description + "MEP transport type and data"; + choice trans-type-choice { + description + "Specifies key value based on type"; + case xport-bd { + leaf bd-id { + type uint64; + description + "Maintenance end point bridge domain id"; + } + } + case xport-vlan { + leaf bdv-id { + type uint64; + description + "Maintenance end point bridge domain vlan-id"; + } + } + case xport-xconnect { + leaf vc-id { + type uint64; + description + "Xconnect vc id"; + } + leaf peer-id { + type inet:ip-address; + description + "Xconnect peer id"; + } + } + } + } + + grouping mp-db-data { + description + "Maintenance point database data values"; + leaf level { + type uint64; + description + "A unique maintenance level at which the maintenance + end point is configured"; + } + container xport { + description + "Transport port details"; + uses cfm-stats-ios-xe-oper:mep-transport; + } + leaf flag { + type cfm-stats-ios-xe-oper:rmep-flag; + description + "Maintenance end point error details"; + } + leaf defect { + type cfm-stats-ios-xe-oper:cfm-defect; + description + "Maintenance end point defect details"; + } + } + + container cfm-statistics { + config false; + description + "Data nodes for CFM Statistics"; + container cfm-meps { + description + "CFM statistics"; + list cfm-mep { + key "domain-name ma-name mpid"; + description + "The list of MEP entries in the system"; + uses cfm-stats-ios-xe-oper:mep-key; + uses cfm-stats-ios-xe-oper:mep-params; + } + } + list local-mep { + key "domain service mep-id"; + description + "Maintenance points local MEP(Maintenance End Point) + dataset"; + uses cfm-stats-ios-xe-oper:local-mep-key; + uses cfm-stats-ios-xe-oper:local-mep-data; + } + list local-mip { + key "level port svc-inst"; + description + "Maintenance points local + MIP(Maintenance Intermediate Point) dataset"; + uses cfm-stats-ios-xe-oper:local-mip-key; + uses cfm-stats-ios-xe-oper:local-mip-data; + } + list remote-mep { + key "domain service local-mep-id remote-mep-id"; + description + "Maintenance points remote MEP(Maintenance End Point) + dataset"; + uses cfm-stats-ios-xe-oper:remote-mep-key; + uses cfm-stats-ios-xe-oper:remote-mep-data; + } + list mep-db { + key "domain service local-mep-id remote-mep-id"; + description + "Maintenance points database dataset"; + uses cfm-stats-ios-xe-oper:remote-mep-key; + uses cfm-stats-ios-xe-oper:mp-db-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-chassis-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-chassis-rpc.yang new file mode 100644 index 000000000..956298bba --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-chassis-rpc.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XE-chassis-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-chassis-rpc"; + prefix chassis-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Added facility to set chassis number and priority. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping chassis-priority { + description + "Set priority of the specified chassis"; + leaf number { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Chassis number"; + } + leaf priority { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Chassis priority"; + } + } + + grouping chassis-number { + description + "Set number of the specified chassis"; + leaf number { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Current chassis number"; + } + leaf renumber { + type uint8 { + range "1..2"; + } + mandatory true; + description + "New chassis number"; + } + } + + rpc set-chassis-priority { + description + "Set chassis priority RPC. + Chassis with higher priority will become active module + on next reboot of active and standby modules."; + input { + uses chassis-rpc:chassis-priority; + } + } + + rpc set-chassis-number { + description + "Set chassis number RPC. + Changing the chassis number may result in a configuration change. + The interface configuration associated with the old chassis number + will remain as a provisioned configuration. + New chassis number will be effective after next reboot."; + input { + uses chassis-rpc:chassis-number; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-checkpoint-archive-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-checkpoint-archive-oper.yang new file mode 100644 index 000000000..575ba9b97 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-checkpoint-archive-oper.yang @@ -0,0 +1,115 @@ +module Cisco-IOS-XE-checkpoint-archive-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-checkpoint-archive-oper"; + prefix checkpoint-archive-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the checkpoint archives in a Network Element. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-04-01 { + description + "Top level container name change"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping archive { + description + "Archive information"; + leaf number { + type uint16; + description + "The archive number"; + } + leaf name { + type string; + description + "The name of the archive"; + } + } + + grouping checkpoint-archive { + description + "Checkpoint archive information"; + leaf max { + type uint8; + description + "The maximum number of archives"; + } + leaf current { + type uint8; + description + "The current number of archives"; + } + leaf recent { + type string; + description + "The most recent archive"; + } + container archives { + description + "Archive information"; + list archive { + key "number"; + description + "List of archives"; + uses checkpoint-archive-ios-xe-oper:archive; + } + } + } + + container checkpoint-archives { + config false; + description + "Contents of the checkpoint archive information base"; + uses checkpoint-archive-ios-xe-oper:checkpoint-archive; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-preview-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-preview-rpc.yang new file mode 100644 index 000000000..82e117670 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-preview-rpc.yang @@ -0,0 +1,119 @@ +module Cisco-IOS-XE-cli-preview-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cli-preview-rpc"; + prefix ios-xe-cli-preview; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for the Configuration CLI Preview RPC. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping cli-preview-netconf-xml-input { + description + "NETCONF XML encoded configuration input arguments"; + leaf config-xml { + type string; + mandatory true; + description + "This leaf accepts a NETCONF XML tag holding configuration + data corresponding to the device's YANG models similar to the + RPC. + + For example: + + ... + + + The target datastore is the 'running' datastore. The 'candidate' + datastore is not supported. + + This leaf is defined to be of type 'string' and the input XML will + need to be escaped when this RPC is executed using NETCONF."; + } + } + + grouping cli-preview { + description + "Config CLI Preview RPC input arguments"; + leaf custom-timeout { + type uint32 { + range "1..600"; + } + units "seconds"; + default "60"; + description + "The time required to generate a configuration CLI preview will + vary with the input configuration. This leaf allows the client + to specify how long it is willing to wait for a preview operation + to complete up to a maximum of 600 seconds. If this leaf is not + explicitly set the default value of 60 seconds will apply."; + } + choice input-choice { + mandatory true; + description + "Input format options"; + case cli-preview-input-netconf-xml { + container netconf-xml { + description + "NETCONF XML encoded configuration input"; + uses ios-xe-cli-preview:cli-preview-netconf-xml-input; + } + } + } + } + + grouping cli-preview-output { + description + "Configuration CLI Preview output data"; + leaf config-cli { + type string; + description + "A preview of the IOS-XE command-line interface (CLI) configuration + commands needed to apply the input configuration. The returned + commands depend on the device's current configuration state and will + vary if the device's configuration changes."; + } + } + + rpc cli-preview { + description + "The configuration CLI preview RPC accepts NETCONF XML encoded + configuration based on YANG model schemas. It will return a + preview of the IOS-XE command-line interface (CLI) configuration + commands needed to apply the configuration. The returned commands + depend on the device's current configuration state and will vary + if the device's configuration changes. The configuration will not + be applied to the device."; + input { + uses ios-xe-cli-preview:cli-preview; + } + output { + uses ios-xe-cli-preview:cli-preview-output; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-rpc.yang new file mode 100644 index 000000000..6e0db86b3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cli-rpc.yang @@ -0,0 +1,218 @@ +module Cisco-IOS-XE-cli-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cli-rpc"; + prefix cli-ios-xe-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for RPCs related to the Command Line Interface (CLI). + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added config-ios-config-show rpc and added new leaf to config-ios-cli-rpc"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-ios-cli-input { + description + "Configuration CLI parameters"; + leaf config-clis { + type string { + length "1..60000"; + } + mandatory true; + description + "Configuration CLI commands"; + } + leaf timeout { + type uint32 { + range "10..1800"; + } + default "300"; + units "seconds"; + description + "Configurable timeout for the RPC"; + } + list error-patterns { + key "error-tag"; + max-elements 10; + description + "This list error pattern used + to verify status of the CLI execution."; + leaf error-tag { + type string { + length "1..64"; + } + description + "Tag returned in the response if parser response matches + the error-pattern"; + } + leaf error-pattern { + type string { + length "1..256"; + } + description + "error pattern to check against the parser response."; + } + } + } + + grouping config-ios-cli-output { + description + "Output data"; + leaf result { + type string; + description + "Output returned by the network element"; + } + leaf lineno { + type int16; + description + "line number of the failed CLI"; + } + leaf error-code { + type int16; + description + "Error code returned by the parser"; + } + leaf error-string { + type string; + description + "Error string"; + } + leaf error-tag { + type string { + length "1..64"; + } + description + "supplied error tag that matched the error-pattern"; + } + } + + rpc config-ios-cli-rpc { + description + "Configure CLIs directly to the IOS, bypassing NETCONF transaction"; + input { + uses cli-ios-xe-rpc:config-ios-cli-input; + } + output { + uses cli-ios-xe-rpc:config-ios-cli-output; + } + } + + rpc config-ios-cli-trans { + description + "Configure using modelled config CLI. + Wireless, app-hosting, telemetry features are not + supported through this RPC."; + input { + leaf clis { + type string { + length "1..524288"; + } + mandatory true; + description + "Configuration CLI commands"; + } + leaf do-commit { + type boolean; + default "true"; + description + "Copy the CLI commands from candidate datastore + to running datastore in candidate mode. "; + } + leaf operation { + type enumeration { + enum merge; + enum selective-replace; + enum full-replace; + } + default "merge"; + description + "Operations have the following effects: + merge: append the supplied contents of this RPC into the + currently configured datastore + selective-replace: overwrite the submode config of the + specified cli in the currently + configured datastore with the + contents of this RPC (supported + use only covers submode modification) + full-replace: overwrite the complete configuration + stored in the configured datastore with + the contents of this RPC"; + } + } + output { + leaf result { + type string; + description + "Output returned by the network element"; + } + leaf error-message { + type string; + description + "Error returned by the network element"; + } + } + } + + rpc get-modelled-config-clis { + description + "Retrieve configuration in CLI format from Running or Candidate + datastore. Wireless, app-hosting, telemetry features are not + supported through this RPC."; + input { + leaf datastore { + type enumeration { + enum running; + enum candidate; + } + default "running"; + description + "Datastore to retrieve configuration."; + } + } + output { + leaf result { + type string; + description + "Output returned by network element"; + } + leaf error-message { + type string; + description + "Error returned by the network element"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-clns.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-clns.yang new file mode 100644 index 000000000..862ec3c25 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-clns.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-clns { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-clns"; + prefix ios-clns; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native CLNS Yang model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Initial version"; + } + + grouping config-clns-main-grouping { + container cache-invalidate-delay { + description + "Delay-time configuration for CLNS route cache invalidation"; + presence "true"; + leaf min-delay { + description + "Minimum delay in seconds"; + default "2"; + type uint32 { + range "0 .. 300"; + } + } + leaf max-delay { + description + "Maximum delay in seconds"; + default "5"; + type uint32 { + range "0 .. 300"; + } + } + leaf quiet-interval { + description + "Quiet interval in seconds"; + default "3"; + type uint32 { + range "1 .. 600"; + } + } + leaf quiet-threshold { + description + "Invalidation request quiet threshold, number of requests within quiet-interval"; + default "0"; + type uint32 { + range "0 .. 4294967295"; + } + } + } + leaf packet-rate { + description + "Rate at which ESH and ISH packets are sent per second"; + default "1"; + type uint32 { + range "1 .. 65535"; + } + } + leaf holding-time { + description + "Holdtime in seconds advertised in ESH/ISH PDUs"; + default "1"; + type uint32 { + range "1 .. 65535"; + } + } + leaf packet-lifetime { + description + "Initial lifetime in seconds for locally generated packets"; + default "64"; + type uint32 { + range "1 .. 255"; + } + } + leaf queue-depth { + description + "CLNS queue depth, number of packets CLNS can hold and process"; + default "100"; + type uint32 { + range "1 .. 2147483647"; + } + } + container security { + leaf pass-through { + description + "Set security option"; + type empty; + } + } + leaf routing { + description + "Enable CLNS routing"; + type empty; + } + leaf want-erpdu { + description + "Request error PDUs on packets sourced by router"; + default "true"; + type boolean; + } + } + + augment "/ios:native/ios:clns" { + uses config-clns-main-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-cfg.yang new file mode 100644 index 000000000..71000c842 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-cfg.yang @@ -0,0 +1,120 @@ +module Cisco-IOS-XE-cloud-services-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cloud-services-cfg"; + prefix cloudm; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for configuration of cloud services + parameters. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- HTTP Proxy URL for cloud-services deprecated."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2023-07-01 { + description + "- Add HTTP validation for cloud proxy type"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef cloudm-config-db-proxy-type { + type enumeration { + enum cloud-services-proxy-type-https { + value 0; + description + "HTTPS proxy type"; + } + enum cloud-services-proxy-type-unknown { + value 1; + description + "Unknown proxy type"; + } + enum cloud-services-proxy-type-http { + value 2; + description + "HTTP proxy"; + } + } + description + "Type of proxy transport"; + } + + grouping cloudm-config-db-proxy { + description + "Proxy for cloud services access."; + leaf host { + type string { + length "0..230"; + pattern '(([A-Za-z0-9]+[A-Za-z0-9.\-]*|([0-9]{1,3}\.){3}[0-9]{1,3}|\[[a-fA-F0-9:]+\])(:[0-9]{1,5})?)?'; + } + default ""; + status deprecated; + description + "Proxy URL without scheme"; + } + leaf proxy-type { + type cloudm:cloudm-config-db-proxy-type; + must "((../proxy-type = 'cloud-services-proxy-type-http') and (../host != '')) or ((../proxy-type = 'cloud-services-proxy-type-unknown') and (../host = ''))" { + error-message "proxy type can only be HTTP, or empty and unknown"; + error-app-tag "must-violation"; + } + default "cloud-services-proxy-type-unknown"; + status deprecated; + description + "Proxy transport"; + } + } + + grouping st-cloudm-global-config { + description + "Parameters for cloud services access"; + container proxy { + status deprecated; + description + "Configures cloud services proxy, This is deprecated. Please use /native/ip/http/proxy-server instead"; + uses cloudm:cloudm-config-db-proxy; + } + } + + container cloud-services-cfg-data { + description + "Cloud services configuration data"; + container cloudm-config { + presence "cloudm-config"; + description + "Cloud services configuration parameters"; + uses cloudm:st-cloudm-global-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-oper.yang new file mode 100644 index 000000000..e222560e1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-oper.yang @@ -0,0 +1,189 @@ +module Cisco-IOS-XE-cloud-services-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cloud-services-oper"; + prefix cloud-services-oper-data; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for operational data for cloud services. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef spaces-onboarding-conn-state { + type enumeration { + enum spaces-conn-invalid { + value 0; + description + "Invalid state"; + } + enum spaces-conn-init { + value 1; + description + "Initial state: onboarding did not start"; + } + enum spaces-conn-otp { + value 2; + description + "OTP credentials received"; + } + enum spaces-conn-upg-in-prog { + value 3; + description + "OTP upgrade is in progress"; + } + enum spaces-conn-auth-token { + value 4; + description + "Auth-Token has been received"; + } + enum spaces-conn-auth-in-prog { + value 5; + description + "Authorization in progress"; + } + enum spaces-conn-onboarded { + value 6; + description + "Fully onboarded"; + } + } + description + "Spaces connection state"; + } + + typedef otp-install-status { + type enumeration { + enum otp-install-invalid { + value 0; + description + "Invalid OTP"; + } + enum otp-install-ok { + value 1; + description + "OTP installed successfully"; + } + enum otp-install-wrong-state { + value 2; + description + "OTP cannot be installed because onboarding machinery is not in init state"; + } + enum otp-install-decode-err { + value 3; + description + "OTP cannot be installed because of decoding errors"; + } + enum otp-install-sign-verify-fail { + value 4; + description + "OTP cannot be installed because of signature verification failures"; + } + enum otp-install-expired { + value 5; + description + "OTP is installed but is expired"; + } + } + description + "Spaces OTP status"; + } + + grouping st-cloudm-spaces-status { + description + "DNA-Spaces connection status"; + leaf conn-attempts { + type uint64; + description + "Number of connections attempts"; + } + leaf token-reqs { + type uint64; + description + "Number of access token requests"; + } + leaf token-resps { + type uint64; + description + "Number of access token responses"; + } + leaf token-req-http-errors { + type uint64; + description + "Number of HTTP errors in access token requests"; + } + leaf otp-upg-reqs { + type uint64; + description + "Number of OTP upgrade requests"; + } + leaf otp-upg-resps { + type uint64; + description + "Number of OTP upgrade responses"; + } + leaf otp-upg-http-errors { + type uint64; + description + "Number of HTTP errors in OTP upgrade requests"; + } + leaf conn-state { + type cloud-services-oper-data:spaces-onboarding-conn-state; + description + "State of the connection"; + } + leaf auth-token-valid { + type empty; + description + "The Auth-Token is valid"; + } + leaf auth-token-install { + type yang:date-and-time; + description + "When the Auth-Token has been installed"; + } + leaf otp-status { + type cloud-services-oper-data:otp-install-status; + description + "The OTP install status"; + } + } + + container cloud-services-oper-data { + config false; + description + "Cloud services operational data"; + container spaces-status { + presence "spaces-status"; + description + "Cloud services Spaces connection status"; + uses cloud-services-oper-data:st-cloudm-spaces-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-rpc.yang new file mode 100644 index 000000000..c448e6541 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cloud-services-rpc.yang @@ -0,0 +1,90 @@ +module Cisco-IOS-XE-cloud-services-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cloud-services-rpc"; + prefix cloud-services-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + OTP token import. + Copyright (c) 2022, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added spaces OTP token"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping clear-token { + description + "Clear token grouping"; + leaf service { + type string; + mandatory true; + description + "Service name to clear tokens for"; + } + } + + grouping otp-token-import { + description + "OTP upgrade token related grouping"; + leaf otp-token { + type string { + length "1..4095"; + } + mandatory true; + description + "OTP upgrade token"; + } + } + + rpc cloudm-otp-token-import { + description + "import OTP upgrade token for cloud services"; + input { + uses cloud-services-rpc:otp-token-import; + } + } + + rpc cloudm-spaces-otp-token-import { + description + "import OTP (authorization code) for spaces cloud services"; + input { + uses cloud-services-rpc:otp-token-import; + } + } + + rpc cloudm-spaces-tokens-clear { + description + "clear all tokens (persistent and temporary ones) for spaces cloud services"; + input { + uses cloud-services-rpc:clear-token; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-coap.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-coap.yang new file mode 100644 index 000000000..bdc58c4bf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-coap.yang @@ -0,0 +1,68 @@ +module Cisco-IOS-XE-coap { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-coap"; + prefix ios-coap; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Constrained Application Protocol (CoAP) Yang Model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-coap-grouping { + container coap { + description + "CoAP Global Configuration Commands"; + container http { + description + "CoAP http server"; + leaf enable { + description + "CoAP http server enable"; + type empty; + } + } + } + } + + augment "/ios:native" { + uses config-coap-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-common-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-common-types.yang new file mode 100644 index 000000000..546dfb949 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-common-types.yang @@ -0,0 +1,339 @@ +module Cisco-IOS-XE-common-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-common-types"; + prefix common-types-ios-xe; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains type definitions common to all Cisco IOS XE native models + + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added network instance type"; + reference + "2.7.0"; + cisco-semver:module-version "2.7.0"; + } + revision 2023-07-01 { + description + "Added option type"; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-03-01 { + description + "Added password-encryption-type"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2020-11-01 { + description + "Added BP FRU type"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-07-01 { + description + "Added extended location type and FC FRU type"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-01-02 { + description + "Remove mcp-bytestr type + Added the high availability states"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-05-25 { + description + "Add internal location types"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2017-12-01 { + description + "- Properly indicate leaf-list ordering + - Add addr-type to represent IP address types"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef addr-type { + type enumeration { + enum address-none { + value 0; + } + enum ipv4-address { + value 1; + } + enum ipv6-address { + value 2; + } + enum ipv4-address-mcast { + value 3; + } + enum ipv6-address-mcast { + value 4; + } + } + description + "IP address type"; + } + + typedef password-encryption-type { + type enumeration { + enum pw-encryption-clear { + value 0; + description + "Clear text password"; + } + enum pw-encryption-sha { + value 4; + description + "SHA encrypted password"; + } + enum pw-encryption-md5 { + value 5; + description + "MD5 encrypted password"; + } + enum pw-encryption-ike-aes { + value 6; + description + "IKE AES encrypted password"; + } + enum pw-encryption-type7 { + value 7; + description + "Type 7 encrypted password"; + } + enum pw-encryption-aes { + value 8; + description + "AES encrypted password"; + } + enum pw-encryption-clear-to-sha { + value 40; + description + "Transition from clear text to SHA encrypted password"; + } + enum pw-encryption-clear-to-md5 { + value 50; + description + "Transition from clear text to MD5 encrypted password"; + } + enum pw-encryption-clear-to-ike-aes { + value 60; + description + "Transition from clear text to IKE AES encrypted password"; + } + enum pw-encryption-clear-to-type7 { + value 70; + description + "Transition from clear text to Type 7 encrypted password"; + } + enum pw-encryption-clear-to-aes { + value 80; + description + "Transition from clear text to AES encrypted password"; + } + } + description + "Password encryption type"; + } + + typedef option-type { + type enumeration { + enum option-disabled { + value 0; + description + "Option is disabled"; + } + enum option-enabled { + value 1; + description + "Option is enabled"; + } + } + description + "optional attribute type"; + } + + typedef net-inst-type { + type enumeration { + enum net-inst-default { + value 0; + description + "Network instance is the default routing instance"; + } + enum net-inst-vrf { + value 1; + description + "Network instance is a user defined L3 VRF"; + } + } + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + + typedef fru-type { + type enumeration { + enum fru-rp { + value 0; + description + "A Route Processor FRU"; + } + enum fru-fp { + value 1; + description + "An Embedded Services Processor FRU"; + } + enum fru-cc { + value 2; + description + "A Carrier Card FRU"; + } + enum fru-max { + value 3; + description + "An illegal value for FRU type"; + } + enum fru-fc { + value 4; + description + "A Fabric Card FRU"; + } + enum fru-bp { + value 5; + description + "A Bootstrap Plane FRU"; + } + } + description + "FRU type"; + } + + typedef high-availability-role { + type enumeration { + enum ha-role-active { + value 0; + description + "The role is Active"; + } + enum ha-role-standby { + value 1; + description + "The role is Standby"; + } + enum ha-role-unknown { + value 2; + description + "The role is unknown"; + } + } + description + "The High Availability role"; + } + + grouping internal-location { + description + "Service location details"; + leaf fru { + type common-types-ios-xe:fru-type; + description + "Field replaceable unit type"; + } + leaf slot { + type int16; + description + "Slot number"; + } + leaf bay { + type int16; + description + "Bay number"; + } + leaf chassis { + type int16; + description + "Chassis number"; + } + } + + grouping extended-location { + description + "Extended service location details"; + leaf fru { + type common-types-ios-xe:fru-type; + description + "Field replaceable unit (FRU) type"; + } + leaf slot { + type int16; + description + "Slot number"; + } + leaf bay { + type int16; + description + "Bay number"; + } + leaf chassis { + type int16; + description + "Chassis number"; + } + leaf node { + type uint16; + description + "Node number"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-common.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-common.yang new file mode 100644 index 000000000..5a406bcdb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-common.yang @@ -0,0 +1,786 @@ +module Cisco-IOS-XE-controller-shdsl-common { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller-shdsl-common"; + prefix shdsl-ios-xe-common; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring controller SHDSL operational information. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef controller-state { + type enumeration { + enum admin-down { + value 0; + description + "SHDSL controller state administrative down"; + } + enum up { + value 1; + description + "SHDSL controller state up"; + } + enum down { + value 2; + description + "SHDSL controller state down"; + } + } + description + "Controller states"; + } + + typedef term-type { + type enumeration { + enum co { + value 0; + description + "Termination type central office"; + } + enum cpe { + value 1; + description + "Termination type customer premises equipment"; + } + } + description + "SHDSL termination type"; + } + + typedef mode-type { + type enumeration { + enum mode-efm { + value 0; + description + "Mode is ethernet"; + } + enum mode-atm { + value 1; + description + "Mode is Async Transfer mode"; + } + } + description + "SHDSL mode type"; + } + + typedef group-state { + type enumeration { + enum shdsl-group-up { + value 0; + description + "SHDSL group is up"; + } + enum shdsl-group-down { + value 1; + description + "SHDSL group is down"; + } + enum shdsl-group-shutdown { + value 2; + description + "SHDSL group is shutdown"; + } + } + description + "Group state"; + } + + typedef group-type { + type enumeration { + enum atm-2wire { + value 0; + description + "Group type ATM two wire"; + } + enum efm-2wire { + value 1; + description + "Group type Ethernet two wire"; + } + enum mpair { + value 2; + description + "Group type m-pair"; + } + enum efm-bond { + value 3; + description + "Group type Ethernet bonding"; + } + enum atm-auto { + value 4; + description + "Group type ATM auto"; + } + enum efm-auto { + value 5; + description + "Group type Ethernet auto"; + } + } + description + "Group type"; + } + + typedef annex-type { + type enumeration { + enum annex-a { + value 0; + description + "Annex A"; + } + enum annex-b { + value 1; + description + "Annex B"; + } + enum annex-f { + value 2; + description + "Annex F"; + } + enum annex-g { + value 3; + description + "Annex G"; + } + enum annex-a-f { + value 4; + description + "Annex A-F"; + } + enum annex-b-g { + value 5; + description + "Annex B-G"; + } + enum annex-auto { + value 6; + description + "Annex auto"; + } + } + description + "Annex type"; + } + + typedef pmms-states { + type enumeration { + enum pmms-enabled { + value 0; + description + "Power measurement modulation session enabled"; + } + enum pmms-disabled { + value 1; + description + "Power measurement modulation session disabled"; + } + } + description + "Power measurement modulation session state"; + } + + typedef line-coding-type { + type enumeration { + enum tcpam-auto { + value 0; + description + "TCPAM auto"; + } + enum tcpam-16 { + value 1; + description + "TCPAM 16"; + } + enum tcpam-32 { + value 2; + description + "TCPAM 32"; + } + enum tcpam-64 { + value 3; + description + "TCPAM 64"; + } + enum tcpam-128 { + value 4; + description + "TCPAM 128"; + } + enum tcpam-4 { + value 5; + description + "TCPAM 4"; + } + enum tcpam-8 { + value 6; + description + "TCPAM 8"; + } + } + description + "Line coding type"; + } + + typedef link-states { + type enumeration { + enum dsl-up { + value 0; + description + "Link DSL up"; + } + enum dsl-down { + value 1; + description + "Link DSL down"; + } + enum ima-up { + value 2; + description + "Link inverse multiplexing for ATM up"; + } + enum ima-down { + value 3; + description + "Link inverse multiplexing for ATM down"; + } + enum dsl-shutdown { + value 4; + description + "Link DSL shutdown"; + } + } + description + "Link states"; + } + + typedef alarm-states { + type enumeration { + enum set { + value 0; + description + "Alarm set"; + } + enum none { + value 1; + description + "Alarm none"; + } + } + description + "Alarm states"; + } + + typedef modem-states { + type enumeration { + enum down-not-ready { + value 0; + description + "Modem down not ready"; + } + enum down-ready { + value 1; + description + "Modem down ready"; + } + enum stop-down-ready { + value 2; + description + "Modem stop down ready"; + } + enum initializing { + value 3; + description + "Modem initializing"; + } + enum up-data-mode { + value 4; + description + "Modem up data mode"; + } + } + description + "Modem states"; + } + + typedef logs-state { + type enumeration { + enum logs-enabled { + value 0; + description + "Logs enabled"; + } + enum logs-disabled { + value 1; + description + "Logs disabled"; + } + } + description + "Logs state"; + } + + typedef efm-data-type { + type enumeration { + enum efm-data-type-fragments { + value 0; + description + "Ethernet data type fragments"; + } + enum efm-data-type-frames { + value 1; + description + "Ethernet data type frames"; + } + } + description + "Ethernet data type"; + } + + typedef shdsl-grp-config-state { + type enumeration { + enum shdsl-group-state-congigured { + value 0; + description + "SHDSL group state configured"; + } + enum shdsl-group-state-not-configured { + value 1; + description + "SHDSL group state not configured"; + } + } + description + "SHDSL group configuration state"; + } + + grouping shdsl-slot-info-key { + description + "SHDSL slot information"; + leaf slot-num { + type uint32; + description + "SHDSL slot number"; + } + leaf subslot-num { + type uint32; + description + "SHDSL subslot number"; + } + } + + grouping counter-stats { + description + "Counter stats"; + leaf es { + type uint32; + description + "Errored seconds"; + } + leaf ses { + type uint32; + description + "Severely errored seconds"; + } + leaf crc { + type uint32; + description + "Cyclic redundancy check"; + } + leaf losws { + type uint32; + description + "Loss of synchronization word seconds"; + } + leaf uas { + type uint32; + description + "Unavailable seconds"; + } + } + + grouping dsl-stats { + description + "DSL statistics"; + leaf power-back-off { + type uint32; + description + "Power back off"; + } + leaf fe-power-back-off { + type uint32; + description + "Forward error power back off"; + } + leaf loop-attenuation { + type uint32; + description + "Loop attenuation"; + } + leaf snr-margin { + type uint32; + description + "Signal to noise ratio margin"; + } + container current-15-minutes { + description + "Current 15 minutes reading of the counter"; + uses shdsl-ios-xe-common:counter-stats; + } + container previous-15-minutes { + description + "Previous 15 minutes reading of the counter"; + uses shdsl-ios-xe-common:counter-stats; + } + container current-24-hours { + description + "Current 24 hours reading of the counter"; + uses shdsl-ios-xe-common:counter-stats; + } + container previous-24-hours { + description + "Previous 24 hours reading of the counter"; + uses shdsl-ios-xe-common:counter-stats; + } + } + + grouping efm-stats { + description + "Ethernet statistics"; + leaf data-type { + type shdsl-ios-xe-common:efm-data-type; + description + "Data type"; + } + leaf efm-tc-tx { + type uint32; + description + "Total number of Ethernet frames sent"; + } + leaf efm-tc-rx { + type uint32; + description + "Total number of Ethernet frames received"; + } + } + + grouping atm-tc-tx-stats { + description + "Total number of ATM cells sent statistics"; + leaf data-cells { + type uint32; + description + "Data cells"; + } + leaf idle-unassigned { + type uint32; + description + "Idle unassigned"; + } + } + + grouping atm-tc-rx-stats { + description + "Total number of ATM cells received statistics"; + leaf data-cells { + type uint32; + description + "Data cells"; + } + leaf uncorrected-hec { + type uint32; + description + "Uncorrected header error checksum"; + } + leaf ocd { + type uint32; + description + "Number of Out of Cell Delineation events"; + } + leaf lcd-start { + type uint32; + description + "Loss of Cell Delineation defects start"; + } + leaf lcd-end { + type uint32; + description + "Loss of Cell Delineation defects end"; + } + } + + grouping atm-stats { + description + "ATM statistics"; + container atm-tc-tx { + description + "Total number of ATM cells sent"; + uses shdsl-ios-xe-common:atm-tc-tx-stats; + } + container atm-tc-rx { + description + "Total number of ATM cells receive"; + uses shdsl-ios-xe-common:atm-tc-rx-stats; + } + } + + grouping shdsl-link-information { + description + "shdsl link information"; + leaf link-id { + type uint32; + description + "Link number"; + } + leaf status { + type shdsl-ios-xe-common:link-states; + description + "Link status"; + } + leaf losws-defect-alarm { + type shdsl-ios-xe-common:alarm-states; + description + "Loss of synchronization word seconds defect alarm"; + } + leaf snr-margin-alarm { + type shdsl-ios-xe-common:alarm-states; + description + "Signal to noise ratio margin alarm"; + } + leaf loop-attenuation-alarm { + type shdsl-ios-xe-common:alarm-states; + description + "Loop attenuation alarm"; + } + leaf termination { + type shdsl-ios-xe-common:term-type; + description + "Termination"; + } + leaf line-mode { + type shdsl-ios-xe-common:group-type; + description + "Line mode"; + } + leaf annex { + type shdsl-ios-xe-common:annex-type; + description + "Annex"; + } + leaf line-coding { + type shdsl-ios-xe-common:line-coding-type; + description + "Line coding"; + } + leaf config-auto-rate { + type boolean; + description + "Configured rate auto"; + } + leaf configured-rate { + type uint32; + units "kbps"; + description + "Configured rate"; + } + leaf actual-rate { + type uint32; + units "kbps"; + description + "Actual rate"; + } + leaf modem-status { + type shdsl-ios-xe-common:modem-states; + description + "Modem status"; + } + leaf link-condition { + type string; + description + "Link condition"; + } + leaf reason { + type string; + description + "Reason"; + } + container dsl-statistics { + description + "DSL statistics"; + uses shdsl-ios-xe-common:dsl-stats; + } + container atm-statistics { + description + "ATM statistics"; + uses shdsl-ios-xe-common:atm-stats; + } + container efm-statistics { + description + "Ethernet statistics"; + uses shdsl-ios-xe-common:efm-stats; + } + } + + grouping shdsl-configured-link { + description + "SHDSL configured link"; + leaf link-configured { + type empty; + description + "Link configured"; + } + container linfo { + when 'boolean(../link-configured)'; + description + "Link information"; + uses shdsl-ios-xe-common:shdsl-link-information; + } + } + + grouping shdsl-group-info { + description + "SHDSL group information"; + leaf group-id { + type uint32; + description + "Group number"; + } + leaf gstate { + type shdsl-ios-xe-common:group-state; + description + "Indicated group status up/down/shutdown"; + } + leaf type { + type shdsl-ios-xe-common:group-type; + description + "Group type"; + } + leaf ethernet-interface-name { + type string; + description + "Ethernet interface"; + } + leaf atm-interface-name { + type string; + description + "ATM interface"; + } + leaf active-links { + type uint32; + description + "Active links"; + } + leaf bit-map { + type string; + description + "Bit map"; + } + leaf line-termination { + type shdsl-ios-xe-common:term-type; + description + "Line termination"; + } + leaf annex { + type shdsl-ios-xe-common:annex-type; + description + "Annex"; + } + leaf pmms-state { + type shdsl-ios-xe-common:pmms-states; + description + "Power measurement modulation session state"; + } + leaf line-coding { + type shdsl-ios-xe-common:line-coding-type; + description + "Line coding"; + } + leaf config-auto-rate { + type boolean; + description + "Configured rate auto"; + } + leaf configured-rate { + type uint32; + units "Kbps"; + description + "Configured rate"; + } + leaf actual-rate { + type uint32; + units "Kbps"; + description + "Actual rate"; + } + leaf dying-gasp { + type string; + description + "Indicates whether dying gasp is present"; + } + leaf training-logs-state { + type shdsl-ios-xe-common:logs-state; + description + "Indicates training logs state is Enabled/Disabled"; + } + leaf configured-links { + type uint32; + description + "Configured links"; + } + list configured-link-information { + description + "Configured link information"; + uses shdsl-ios-xe-common:shdsl-configured-link; + } + } + + grouping shdsl-configured-group { + description + "SHDSL configured group"; + leaf group-configured { + type empty; + description + "Group configured"; + } + container ginfo { + when 'boolean(../group-configured)'; + description + "Group information"; + uses shdsl-ios-xe-common:shdsl-group-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-events.yang new file mode 100644 index 000000000..0d065cce6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-events.yang @@ -0,0 +1,256 @@ +module Cisco-IOS-XE-controller-shdsl-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller-shdsl-events"; + prefix shdsl-controller-ios-xe-events; + + import Cisco-IOS-XE-controller-shdsl-common { + prefix shdsl-ios-xe-common; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring SHDSL events. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container shdsl-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef shdsl-notification-severity { + type enumeration { + enum shdsl-notif-severity-critical { + value 0; + description + "Critical severity"; + } + enum shdsl-notif-severity-major { + value 1; + description + "Major severity"; + } + enum shdsl-notif-severity-minor { + value 2; + description + "Minor severity"; + } + } + description + "SHDSL notification severity"; + } + + grouping shdsl-dslgrp-state-update-data { + description + "SHDSL group up-down notification related data"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + leaf group { + type uint8; + description + "Group"; + } + leaf group-state { + type shdsl-ios-xe-common:group-state; + description + "Group state"; + } + } + + grouping shdsl-efmbond-link-rate-update-data { + description + "SHDSL EFM bond link rate change notification related data"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + leaf group { + type uint8; + description + "Group"; + } + leaf link { + type uint8; + description + "Link number"; + } + leaf link-rate { + type uint32; + units "kbps"; + description + "Current SHDSL link rate"; + } + } + + grouping shdsl-efmbond-config-mismatch-notification-data { + description + "SHDSL EFM bond configuration mismatch notification related data"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + leaf link { + type uint8; + description + "Link number"; + } + } + + grouping shdsl-tclayer-mismatch-notification-data { + description + "SHDSL TC layer mismatch notification related data"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + leaf group { + type uint8; + description + "Group"; + } + leaf link { + type uint8; + description + "Link number"; + } + leaf configured-mode { + type shdsl-ios-xe-common:mode-type; + description + "Configured mode"; + } + } + + grouping shdsl-dying-gasp-notification-data { + description + "SHDSL dying gasp notification related data"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + leaf group { + type uint8; + description + "Group"; + } + leaf link { + type uint8; + description + "Link number"; + } + } + + grouping shdsl-efm-frame-size-internal-error-notification-data { + description + "SHDSL internal error notification related data while configuring MTU"; + leaf severity { + type shdsl-controller-ios-xe-events:shdsl-notification-severity; + description + "Notification severity"; + } + container shdsl-controller { + description + "SHDSL controller slot and subslot"; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + } + + notification shdsl-dslgrp-state-update { + description + "SHDSL group state change notification"; + uses shdsl-controller-ios-xe-events:shdsl-dslgrp-state-update-data; + } + + notification shdsl-efmbond-link-rate-update { + description + "SHDSL EFM bond link rate change notification"; + uses shdsl-controller-ios-xe-events:shdsl-efmbond-link-rate-update-data; + } + + notification shdsl-efmbond-config-mismatch-notification { + description + "SHDSL EFM bond configuration mismatch notification"; + uses shdsl-controller-ios-xe-events:shdsl-efmbond-config-mismatch-notification-data; + } + + notification shdsl-tclayer-mismatch-notification { + description + "SHDSL TC layer mismatch notification"; + uses shdsl-controller-ios-xe-events:shdsl-tclayer-mismatch-notification-data; + } + + notification shdsl-dying-gasp-notification { + description + "SHDSL dying gasp notification"; + uses shdsl-controller-ios-xe-events:shdsl-dying-gasp-notification-data; + } + + notification shdsl-efm-frame-size-internal-error-notification { + description + "SHDSL EFM frame size error. Internal error while configuring MTU"; + uses shdsl-controller-ios-xe-events:shdsl-efm-frame-size-internal-error-notification-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-oper.yang new file mode 100644 index 000000000..0d1174295 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-shdsl-oper.yang @@ -0,0 +1,128 @@ +module Cisco-IOS-XE-controller-shdsl-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller-shdsl-oper"; + prefix shdsl-ios-xe-oper; + + import Cisco-IOS-XE-controller-shdsl-common { + prefix shdsl-ios-xe-common; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring controller SHDSL operational information. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping shdsl-controller-info { + description + "SHDSL Controller Information"; + leaf state { + type shdsl-ios-xe-common:controller-state; + description + "Controller State"; + } + leaf hardware { + type string; + description + "Hardware"; + } + leaf efm-capabilities { + type string; + description + "Ethernet Capabilities"; + } + leaf atm-capabilities { + type string; + description + "ATM Capabilities"; + } + leaf termination { + type shdsl-ios-xe-common:term-type; + description + "Termination"; + } + leaf configured-mode { + type shdsl-ios-xe-common:mode-type; + description + "Configured Mode"; + } + leaf vendor { + type string; + description + "Vendor"; + } + leaf chipset { + type string; + description + "Description"; + } + leaf phy-source { + type string; + description + "Phy source"; + } + leaf phy-firmware-files { + type string; + description + "Phy Firmware Files"; + } + leaf idc-firmware-version { + type string; + description + "Integrated Device Control Firmware version"; + } + leaf dfe-firmware-version { + type string; + description + "Digital Front End Firmware Version"; + } + list groups-conf { + description + "Groups Configuration"; + uses shdsl-ios-xe-common:shdsl-configured-group; + } + } + + container shdsl-oper-data { + config false; + description + "SHDSL controller information"; + list shdsl-info { + key "slot-num subslot-num"; + description + "SHDSL controller information"; + uses shdsl-ios-xe-oper:shdsl-controller-info; + uses shdsl-ios-xe-common:shdsl-slot-info-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-t1e1-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-t1e1-oper.yang new file mode 100644 index 000000000..7abca638b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-t1e1-oper.yang @@ -0,0 +1,484 @@ +module Cisco-IOS-XE-controller-t1e1-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller-t1e1-oper"; + prefix t1e1-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring controller T1/E1 operational information. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef line-type { + type enumeration { + enum line-type-unknown { + value 0; + description + "Line unknown"; + } + enum line-type-t1 { + value 1; + description + "T1 line"; + } + enum line-type-e1-unbalanced { + value 2; + description + "Unbalanced E1"; + } + enum line-type-e1-balanced { + value 3; + description + "Balanced E1"; + } + } + description + "T1/E1 line types"; + } + + typedef frame-type { + type enumeration { + enum frame-type-unknown { + value 0; + description + "Unknown frame"; + } + enum frame-type-sf { + value 1; + description + "T1 super-frame"; + } + enum frame-type-esf { + value 2; + description + "T1 extended super-frame"; + } + enum frame-type-no-crc4 { + value 3; + description + "E1 Frame no-crc-4"; + } + enum frame-type-crc4 { + value 4; + description + "E1 Frame crc-4"; + } + enum frame-type-mf-no-crc4 { + value 5; + description + "E1 Multi-Frame no-crc-4"; + } + enum frame-type-mf-crc4 { + value 6; + description + "E1 Multi-Frame crc-4"; + } + enum frame-type-unframed { + value 7; + description + "Unframed"; + } + enum frame-type-j1-sf { + value 8; + description + "Japan Super-frame"; + } + enum frame-type-j1-esf { + value 9; + description + "Japan Extended Super-frame"; + } + } + description + "Frame type"; + } + + typedef cdb-state-type { + type enumeration { + enum cdb-state-type-down { + value 0; + description + "Down state"; + } + enum cdb-state-type-goingdown { + value 1; + description + "Going down state"; + } + enum cdb-state-type-init { + value 2; + description + "Init state"; + } + enum cdb-state-type-testing { + value 3; + description + "Testing state"; + } + enum cdb-state-type-up { + value 4; + description + "Up state"; + } + enum cdb-state-type-reset { + value 5; + description + "Reset state"; + } + enum cdb-state-type-admindown { + value 6; + description + "Admindown state"; + } + enum cdb-state-type-deleted { + value 7; + description + "Deleted state"; + } + } + description + "CDB state type"; + } + + typedef clock-type { + type enumeration { + enum clock-type-unknown { + value 0; + description + "Clock unknown"; + } + enum clock-type-line { + value 1; + description + "Line clock"; + } + enum clock-type-internal { + value 2; + description + "Internal clock"; + } + enum clock-type-primary { + value 3; + description + "Line primary clock"; + } + enum clock-type-secondary { + value 4; + description + "Line secondary clock"; + } + enum clock-type-network { + value 5; + description + "Network clock for voice internal clocking"; + } + enum clock-type-free { + value 6; + description + "Free run"; + } + } + description + "T1/E1 clock type"; + } + + typedef line-code-type { + type enumeration { + enum line-code-type-unknown { + value 0; + description + "Unknown line code"; + } + enum line-code-type-ami { + value 1; + description + "Alternate mark inversion"; + } + enum line-code-type-b8zs { + value 2; + description + "Bipolar 8-zero substitution"; + } + enum line-code-type-hdb3 { + value 3; + description + "High-Density bipolar order 3"; + } + } + description + "T1/E1 line code types"; + } + + typedef rx-alarm-type { + type enumeration { + enum rx-alarm-type-none { + value 0; + description + "Received no alarm"; + } + enum rx-alarm-type-ais { + value 1; + description + "Receive alarm indication signal"; + } + enum rx-alarm-type-los { + value 2; + description + "Loss of signal"; + } + enum rx-alarm-type-lof { + value 3; + description + "Loss of frame"; + } + enum rx-alarm-type-rem { + value 4; + description + "Remote alarm"; + } + enum rx-alarm-type-ais-ts16 { + value 5; + description + "Received alarm indication signaling time-slot 16"; + } + enum rx-alarm-type-lomf { + value 6; + description + "Received remote time-slot 16 loss of multi-frame alignment"; + } + } + description + "T1/E1 received alarm types"; + } + + typedef tx-alarm-type { + type enumeration { + enum tx-alarm-type-none { + value 0; + description + "Transmitted no alarm"; + } + enum tx-alarm-type-rem { + value 1; + description + "Transmitted remote alarm"; + } + enum tx-alarm-type-ais { + value 2; + description + "Transmit alarm indication signal"; + } + enum tx-alarm-type-lomf { + value 3; + description + "Transmitted loss of multi-frame alignment alarm"; + } + } + description + "T1/E1 transmitted alarm types"; + } + + typedef alarm-trigger-type { + type enumeration { + enum alarm-trigger-none { + value 0; + description + "Triggered no alarm"; + } + enum alarm-trigger-yellow { + value 1; + description + "Yellow alarm"; + } + enum alarm-trigger-blue { + value 2; + description + "Blue alarm"; + } + } + description + "T1/E1 transmit triggered alarm"; + } + + grouping port-info-key { + description + "Key information"; + leaf slot-num { + type uint32; + description + "Slot number"; + } + leaf subslot-num { + type uint32; + description + "Sub Slot number"; + } + leaf port-num { + type uint32; + description + "Port number"; + } + } + + grouping t1e1-line-stats-type { + description + "T1/E1 Line information"; + leaf lcvs { + type uint32; + description + "Line code violations"; + } + leaf pcvs { + type uint32; + description + "Path code violations"; + } + leaf csss { + type uint32; + units "seconds"; + description + "Slip seconds"; + } + leaf sefss { + type uint32; + units "seconds"; + description + "Frame loss seconds"; + } + leaf less { + type uint32; + units "seconds"; + description + "Line error seconds"; + } + leaf dms { + type uint32; + units "minutes"; + description + "Degraded minutes"; + } + leaf ess { + type uint32; + units "seconds"; + description + "Error seconds"; + } + leaf bess { + type uint32; + units "seconds"; + description + "Burst error seconds"; + } + leaf sess { + type uint32; + units "seconds"; + description + "Severe error seconds"; + } + leaf uass { + type uint32; + units "seconds"; + description + "Unavailable seconds"; + } + } + + grouping controller-t1e1-info { + description + "T1/E1 Controller information"; + leaf state { + type t1e1-ios-xe-oper:cdb-state-type; + description + "T1/E1 Controller state"; + } + leaf type { + type t1e1-ios-xe-oper:line-type; + description + "Controller types"; + } + leaf rx-alarm { + type t1e1-ios-xe-oper:rx-alarm-type; + description + "Received alarm"; + } + leaf tx-alarm { + type t1e1-ios-xe-oper:tx-alarm-type; + description + "Transmitted alarm"; + } + leaf alarm-triggered { + type t1e1-ios-xe-oper:alarm-trigger-type; + description + "Triggered alarm"; + } + leaf clocking { + type t1e1-ios-xe-oper:clock-type; + description + "Clocking type"; + } + leaf framing { + type t1e1-ios-xe-oper:frame-type; + description + "Framing type"; + } + leaf linecoding { + type t1e1-ios-xe-oper:line-code-type; + description + "Line Code type"; + } + container current-15min-stats { + description + "Current 15 minutes statistics"; + uses t1e1-ios-xe-oper:t1e1-line-stats-type; + } + container total-stats { + description + "Total accumulated statistics"; + uses t1e1-ios-xe-oper:t1e1-line-stats-type; + } + } + + container t1e1-oper-data { + config false; + description + "T1/E1 controller information"; + list controller-t1e1-info { + key "slot-num subslot-num port-num"; + description + "T1/E1 controller information"; + uses t1e1-ios-xe-oper:controller-t1e1-info; + uses t1e1-ios-xe-oper:port-info-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-vdsl-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-vdsl-oper.yang new file mode 100644 index 000000000..440d397db --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller-vdsl-oper.yang @@ -0,0 +1,1456 @@ +module Cisco-IOS-XE-controller-vdsl-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller-vdsl-oper"; + prefix vdsl-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring controller VDSL operational information. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-03-01 { + description + "Added DSL SFP local info for Titan DSL"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-03-01 { + description + "Added VDSL Layer 1 statistics and GFast specific counters"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-31 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef idb-states { + type enumeration { + enum down { + value 0; + description + "Interface down"; + } + enum going-down { + value 1; + description + "Interface going down"; + } + enum init { + value 2; + description + "Interface initialization"; + } + enum testing { + value 3; + description + "Interface testing"; + } + enum up { + value 4; + description + "Interface up"; + } + enum reset { + value 5; + description + "Interface reset"; + } + enum admindown { + value 6; + description + "Interface admindown"; + } + enum deleted { + value 7; + description + "Interface deleted"; + } + } + description + "Interface state"; + } + + typedef modem-status-states { + type enumeration { + enum modem-status-line-not-initialized { + value 0; + description + "Line not initialized"; + } + enum modem-status-line-exception { + value 1; + description + "Line exception"; + } + enum modem-status-idle-request { + value 2; + description + "Idle request"; + } + enum modem-status-idle { + value 3; + description + "Modem status idle"; + } + enum modem-status-silent-request { + value 4; + description + "Silent-request"; + } + enum modem-status-line-silent { + value 5; + description + "Line silent"; + } + enum modem-status-handshake { + value 6; + description + "Handshake"; + } + enum modem-status-line-full-initialization { + value 7; + description + "Line full initialization"; + } + enum modem-status-discovery { + value 8; + description + "Discovery"; + } + enum modem-status-training { + value 9; + description + "Training"; + } + enum modem-status-analysis { + value 10; + description + "Analysis"; + } + enum modem-status-exchange { + value 11; + description + "Exchange"; + } + enum modem-status-no-sync { + value 12; + description + "No synchronization"; + } + enum modem-status-tc-sync-showtime { + value 13; + description + "TC synchronization (Showtime!)"; + } + enum modem-status-fast-restrain { + value 14; + description + "Fast restrain"; + } + enum modem-status-low-power-l2 { + value 15; + description + "Low power L2"; + } + enum modem-status-loop-diagnostics-active { + value 16; + description + "Loop diagnostics active"; + } + enum modem-status-loop-diagnostics-data-exchange { + value 17; + description + "Loop diagnostics data exchange"; + } + enum modem-status-loop-diagnostics-data-request { + value 18; + description + "Loop diagnostics data request"; + } + enum modem-status-loop-diagnostics-data-complete { + value 19; + description + "Loop diagnostics data complete"; + } + enum modem-status-resync { + value 20; + description + "Resync"; + } + enum modem-status-test { + value 21; + description + "Modem status test"; + } + enum modem-status-test-loop { + value 22; + description + "Test loop"; + } + enum modem-status-test-reverb { + value 23; + description + "Test reverb"; + } + enum modem-status-test-medley { + value 24; + description + "Test medley"; + } + enum modem-status-low-power-l3 { + value 25; + description + "Low power L3"; + } + enum modem-status-unknown { + value 26; + description + "Unknown modem status"; + } + } + description + "Modem status states"; + } + + typedef trained-modes { + type enumeration { + enum trained-mode-not-known { + value 0; + description + "Unknown trained mode"; + } + enum trained-mode-ansi-t1-413-1998 { + value 1; + description + "ANSI T1.413-1998"; + } + enum trained-mode-etsi-annex-c-of-ts-101-388-v1-3-1 { + value 2; + description + "ETSI Annex C of TS 101 388 v1.3.1"; + } + enum trained-mode-g-992-1-adsl-annex-a { + value 3; + description + "G.992.1 (ADSL) Annex A"; + } + enum trained-mode-g-992-1-adsl-annex-b { + value 4; + description + "G.992.1 (ADSL) Annex B"; + } + enum trained-mode-g-lite-annex-ab { + value 5; + description + "G.lite Annex AB"; + } + enum trained-mode-g-992-3-adsl2-annex-m { + value 6; + description + "G.992.3 (ADSL2) Annex M"; + } + enum trained-mode-g-992-3-adsl2-annex-j { + value 7; + description + "G.992.3 (ADSL2) Annex J"; + } + enum trained-mode-g-992-3-adsl2-annex-a { + value 8; + description + "G.992.3 (ADSL2) Annex A"; + } + enum trained-mode-g-992-3-adsl2-annex-b { + value 9; + description + "G.992.3 (ADSL2) Annex B"; + } + enum trained-mode-g-992-3-adsl2-annex-l { + value 10; + description + "G.992.3 (ADSL2) Annex L"; + } + enum trained-mode-g-992-5-adsl2plus-annex-m { + value 11; + description + "G.992.5 (ADSL2+) Annex M"; + } + enum trained-mode-g-992-5-adsl2plus-annex-j { + value 12; + description + "G.992.5 (ADSL2+) Annex J"; + } + enum trained-mode-g-992-5-adsl2plus-annex-a { + value 13; + description + "G.992.5 (ADSL2+) Annex A"; + } + enum trained-mode-g-992-5-adsl2plus-annex-b { + value 14; + description + "G.992.5 (ADSL2+) Annex B"; + } + enum trained-mode-g-993-2-vdsl2-profile-8a { + value 15; + description + "G.993.2 (VDSL2) Profile 8-a"; + } + enum trained-mode-g-993-2-vdsl2-profile-8b { + value 16; + description + "G.993.2 (VDSL2) Profile 8-b"; + } + enum trained-mode-g-993-2-vdsl2profile-8c { + value 17; + description + "G.993.2 (VDSL2) Profile 8-c"; + } + enum trained-mode-g-993-2-vdsl2-profile-8d { + value 18; + description + "G.993.2 (VDSL2) Profile 8-d"; + } + enum trained-mode-g-993-2-vdsl2-profile-12a { + value 19; + description + "G.993.2 (VDSL2) Profile 12-a"; + } + enum trained-mode-g-993-2-vdsl2-profile-12b { + value 20; + description + "G.993.2 (VDSL2) Profile 12-b"; + } + enum trained-mode-g-993-2-vdsl2-profile-17a { + value 21; + description + "G.993.2 (VDSL2) Profile 17-a"; + } + enum trained-mode-g-993-2-vdsl2-profile-30a { + value 22; + description + "G.993.2 (VDSL2) Profile 30-a"; + } + enum trained-mode-g-993-2-vdsl2-profile-35b { + value 23; + description + "G.993.2 (VDSL2) Profile 35-b"; + } + enum trained-mode-g-993-2-vdsl2-unknown-profile { + value 24; + description + "G.993.2 (VDSL2) unknown profile"; + } + enum trained-mode-g-9701-gfast-profile-106a { + value 25; + description + "G.9701 (GFAST) Profile 106-a"; + } + enum trained-mode-g-9701-gfast-profile-106b { + value 26; + description + "G.9701 (GFAST) Profile 106-b"; + } + enum trained-mode-g-9701-gfast-unknown-profile { + value 27; + description + "G.9701 (GFAST) unknown profile"; + } + } + description + "Trained modes"; + } + + typedef mode-tc { + type enumeration { + enum ptm { + value 0; + description + "MODE Ethernet"; + } + enum atm { + value 1; + description + "MODE Atm"; + } + enum mode-ptm-bonded { + value 2; + description + "MODE Ethernet bonded"; + } + enum mode-unknown { + value 3; + description + "MODE Unknown"; + } + } + description + "Operation Mode"; + } + + typedef trellis-states { + type enumeration { + enum trellis-state-off { + value 0; + description + "Trellis state off"; + } + enum trellis-state-on { + value 1; + description + "Trellis state on"; + } + } + description + "Trellis states"; + } + + typedef dsl-config-modes { + type enumeration { + enum dsl-config-mode-auto { + value 0; + description + "DSL configuration mode Auto"; + } + enum dsl-config-mode-ansi { + value 1; + description + "DSL configuration mode ANSI"; + } + enum dsl-config-mode-etsi { + value 2; + description + "DSL configuration mode ETSI"; + } + enum dsl-config-mode-adsl1 { + value 3; + description + "DSL configuration mode ADSL1"; + } + enum dsl-config-mode-adsl2 { + value 4; + description + "DSL configuration mode ADSL2"; + } + enum dsl-config-mode-adsl2plus { + value 5; + description + "DSL configuration mode ADSL2+"; + } + enum dsl-config-mode-vdsl2 { + value 6; + description + "DSL configuration mode VDSL2"; + } + enum dsl-config-mode-unknown { + value 7; + description + "Unknown DSL configuration mode"; + } + } + description + "DSL configuration modes"; + } + + typedef vdsl-link-state { + type enumeration { + enum vdsl-link-down { + value 0; + description + "Link state down"; + } + enum vdsl-link-up { + value 1; + description + "Link state up"; + } + } + description + "Link states"; + } + + typedef delt-states { + type enumeration { + enum delt-state-not-running { + value 0; + description + "Double ended line testing not running"; + } + enum delt-state-successful { + value 1; + description + "Double ended line testing successful"; + } + enum delt-state-in-progress { + value 2; + description + "Double ended line testing in progress"; + } + } + description + "Double ended line testing states"; + } + + typedef training-logs-states { + type enumeration { + enum training-logs-stopped { + value 0; + description + "Training logs have stopped"; + } + enum training-logs-started { + value 1; + description + "Training logs are running"; + } + } + description + "Training logs states"; + } + + grouping slot-info-key { + description + "Key information"; + leaf slot-num { + type uint32; + description + "Slot number"; + } + leaf subslot-num { + type uint32; + description + "Sub Slot number"; + } + } + + grouping dsl-sfp-local-info { + description + "DSL SFP local information"; + leaf sfp-vendor-pid { + type string; + description + "SFP Vendor PID"; + } + leaf sfp-serial-number { + type string; + description + "SFP Serial number"; + } + leaf embed-fw-ver { + type string; + description + "SFP firmware version in IOS-XE image"; + } + leaf run-fw-ver { + type string; + description + "Running firmware version"; + } + leaf mgmt-lnk-state { + type vdsl-ios-xe-oper:vdsl-link-state; + description + "SFP management link status"; + } + leaf dsl-status { + type string; + description + "DSL Status"; + } + leaf int-info { + type vdsl-ios-xe-oper:training-logs-states; + description + "SFP dump internal info status"; + } + leaf dying-gasp-armed { + type boolean; + description + "SFP Dying Gasp Status"; + } + leaf delt-state { + type vdsl-ios-xe-oper:delt-states; + description + "SFP dump Double Ended Line Testing info status"; + } + } + + grouping line-specific-info-cpe { + description + "Line specific information of CPE"; + leaf trellis-state { + type vdsl-ios-xe-oper:trellis-states; + description + "Trellis state"; + } + leaf sra-enabled { + type boolean; + description + "Seamless rate adaptation status"; + } + leaf sra-count { + type uint32; + description + "Seamless rate adaptation counter"; + } + leaf bit-swap-enabled { + type boolean; + description + "Bit swap state"; + } + leaf bit-swap-count { + type uint32; + description + "Bit swap counter"; + } + leaf line-attenuation { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Line attenuation in decibels"; + } + leaf signal-attenuation { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Signal attenuation in decibels"; + } + leaf noise-margin { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Noise margin in decibels"; + } + leaf attainable-rate { + type uint32; + units "kbps"; + description + "Attainable rate in kilobits per sec"; + } + leaf actual-power { + type decimal64 { + fraction-digits 2; + } + units "dBm"; + description + "Actual power in decibel-milliwatts"; + } + leaf total-fecc { + type uint32; + description + "Total forward error correction counter"; + } + leaf total-es { + type uint32; + description + "Total errored seconds"; + } + leaf total-ses { + type uint32; + description + "Total severely errored seconds"; + } + leaf total-loss { + type uint32; + description + "Total loss of signal seconds"; + } + leaf total-uas { + type uint32; + description + "Total unavailable seconds"; + } + leaf total-lprs { + type uint32; + description + "Total loss of power seconds"; + } + leaf total-lofs { + type uint32; + description + "Total loss of frame seconds"; + } + leaf total-lols { + type uint32; + description + "Total loss of link seconds"; + } + leaf speed { + type uint32; + units "kbps"; + description + "Speed in kilobits per sec"; + } + leaf sra-previous-speed { + type uint32; + units "kbps"; + description + "Seamless rate adaptation previous speed in kilobits per sec"; + } + leaf previous-speed { + type uint32; + units "kbps"; + description + "Previous speed field represents previous speed for ADSL and VDSL, bit swap previous speed for GFAST"; + } + leaf reed-solomon-ec { + type uint32; + description + "Reed solomon error correction counter"; + } + leaf crc-errors { + type uint32; + description + "Cyclic redundancy check errors"; + } + leaf header-errors { + type uint32; + description + "Header errors"; + } + leaf interleave { + type decimal64 { + fraction-digits 2; + } + units "milliseconds"; + description + "Inter-leave time"; + } + leaf actual-inp { + type decimal64 { + fraction-digits 2; + } + description + "Actual impulse noise protection"; + } + leaf gfast-fra-count { + type uint32; + description + "Gfast specific field for fast rate adaptation counter"; + } + leaf gfast-rpa-count { + type uint32; + description + "Gfast specific field for robust management channel parameter adjustment counter"; + } + leaf gfast-tiga-count { + type uint32; + description + " Gfast specific field for transmitter initiated gain adjustment counter"; + } + leaf gfast-rtx-uc { + type uint32; + description + "Gfast specific field for counter for retransmissions that are uncorrected"; + } + leaf gfast-rtx-tx { + type uint32; + description + "Gfast specific field for retransmissions counter"; + } + leaf gfast-attainable-exp-thru { + type uint32; + description + "Gfast specific field for attainable expected throughput"; + } + leaf gfast-error-free-thru { + type uint32; + description + "Gfast specific field for error free throughput"; + } + leaf vdsl2-la-band-d1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of downstream band one"; + } + leaf vdsl2-la-band-d2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of downstream band two"; + } + leaf vdsl2-la-band-d3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of downstream band three"; + } + leaf vdsl2-sa-band-d1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of downstream band one"; + } + leaf vdsl2-sa-band-d2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of downstream band two"; + } + leaf vdsl2-sa-band-d3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of downstream band three"; + } + leaf vdsl2-snr-band-d1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of downstream band one"; + } + leaf vdsl2-snr-band-d2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of downstream band two"; + } + leaf vdsl2-snr-band-d3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of downstream band three"; + } + leaf atm-total-cells { + type uint32; + description + "ATM TC mode specific total cells field"; + } + leaf atm-user-cells { + type uint32; + description + "ATM TC mode specific user cells field"; + } + } + + grouping line-specific-info-co { + description + "Line specific information of central office"; + leaf trellis-state { + type vdsl-ios-xe-oper:trellis-states; + description + "Trellis state"; + } + leaf sra-enabled { + type boolean; + description + "Seamless rate adaptation status"; + } + leaf sra-count { + type uint32; + description + "Seamless rate adaptation counter"; + } + leaf bit-swap-enabled { + type boolean; + description + "Bit swap state"; + } + leaf bit-swap-count { + type uint32; + description + "Bit swap counter"; + } + leaf line-attenuation { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Line attenuation in decibels"; + } + leaf signal-attenuation { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Signal attenuation in decibels"; + } + leaf noise-margin { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "Noise margin in decibels"; + } + leaf attainable-rate { + type uint32; + units "kbps"; + description + "Attainable rate in kilobits per sec"; + } + leaf actual-power { + type decimal64 { + fraction-digits 2; + } + units "dBm"; + description + "Actual power in decibel-milliwatts"; + } + leaf total-fecc { + type uint32; + description + "Total forward error correction counter"; + } + leaf total-es { + type uint32; + description + "Total errored seconds"; + } + leaf total-ses { + type uint32; + description + "Total severely errored seconds"; + } + leaf total-loss { + type uint32; + description + "Total loss of signal seconds"; + } + leaf total-uas { + type uint32; + description + "Total unavailable seconds"; + } + leaf total-lprs { + type uint32; + description + "Total loss of power seconds"; + } + leaf total-lofs { + type uint32; + description + "Total loss of frame seconds"; + } + leaf total-lols { + type uint32; + description + "Total loss of link seconds"; + } + leaf speed { + type uint32; + units "kbps"; + description + "Speed in kilobits per sec"; + } + leaf sra-previous-speed { + type uint32; + units "kbps"; + description + "Seamless rate adaptation previous speed in kilobits per sec"; + } + leaf previous-speed { + type uint32; + units "kbps"; + description + "Previous speed field represents previous speed for ADSL and VDSL, bit swap previous speed for GFAST"; + } + leaf reed-solomon-ec { + type uint32; + description + "Reed solomon error correction counter"; + } + leaf crc-errors { + type uint32; + description + "Cyclic redundancy check errors"; + } + leaf header-errors { + type uint32; + description + "Header errors"; + } + leaf interleave { + type decimal64 { + fraction-digits 2; + } + description + "Inter-leave time in milli seconds"; + } + leaf actual-inp { + type decimal64 { + fraction-digits 2; + } + description + "Actual impulse noise protection"; + } + leaf gfast-fra-count { + type uint32; + description + "Gfast specific field for fast rate adaptation counter"; + } + leaf gfast-rpa-count { + type uint32; + description + "Gfast specific field for robust management channel parameter adjustment counter"; + } + leaf gfast-tiga-count { + type uint32; + description + " Gfast specific field for transmitter initiated gain adjustment counter"; + } + leaf gfast-rtx-uc { + type uint32; + description + "Gfast specific field for counter for retransmissions that are uncorrected"; + } + leaf gfast-rtx-tx { + type uint32; + description + "Gfast specific field for retransmissions counter"; + } + leaf gfast-attainable-exp-thru { + type uint32; + description + "Gfast specific field for attainable expected throughput"; + } + leaf gfast-error-free-thru { + type uint32; + description + "Gfast specific field for error free throughput"; + } + leaf vdsl2-la-band-u0 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of upstream band zero"; + } + leaf vdsl2-la-band-u1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of upstream band one"; + } + leaf vdsl2-la-band-u2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of upstream band two"; + } + leaf vdsl2-la-band-u3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for line attenuation of upstream band three"; + } + leaf vdsl2-sa-band-u0 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of upstream band zero"; + } + leaf vdsl2-sa-band-u1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of upstream band one"; + } + leaf vdsl2-sa-band-u2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of upstream band two"; + } + leaf vdsl2-sa-band-u3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for signal attenuation of upstream band three"; + } + leaf vdsl2-snr-band-u0 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of upstream band zero"; + } + leaf vdsl2-snr-band-u1 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of upstream band one"; + } + leaf vdsl2-snr-band-u2 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of upstream band two"; + } + leaf vdsl2-snr-band-u3 { + type decimal64 { + fraction-digits 2; + } + units "dB"; + description + "VDSL2 specific field for noise margin of upstream band three"; + } + leaf atm-total-cells { + type uint32; + description + "ATM TC mode specific total cells field"; + } + leaf atm-user-cells { + type uint32; + description + "ATM TC mode specific user cells field"; + } + } + + grouping vdsl-line-specific-info { + description + "VDSL line specific information"; + leaf line-num { + type uint16; + description + "Line number"; + } + leaf modem-status { + type vdsl-ios-xe-oper:modem-status-states; + description + "Modem status"; + } + leaf trained-mode { + type vdsl-ios-xe-oper:trained-modes; + description + "Trained mode"; + } + leaf profile-30a-enabled { + type boolean; + description + "Profile thirty-a status"; + } + container cpe-line-specific-info { + description + "Line specific information of customer premises equipment"; + uses vdsl-ios-xe-oper:line-specific-info-cpe; + } + container co-line-specific-info { + description + "Line specific information of central office"; + uses vdsl-ios-xe-oper:line-specific-info-co; + } + } + + grouping vdsl-line-stats { + description + "Line specific information"; + leaf chip-vendor { + type string; + description + "Chip vendor ID"; + } + leaf line-attenuation { + type string; + status deprecated; + description + "Line attenuation in decibels"; + } + leaf noise-margin { + type string; + status deprecated; + description + "Noise margin in decibels"; + } + leaf attainable-rate { + type uint32; + status deprecated; + description + "Attainable rate in kilobits per sec"; + } + leaf actual-power { + type string; + status deprecated; + description + "Actual power in decibel-milliwatts"; + } + leaf speed { + type uint32; + status deprecated; + description + "Speed in kilobits per sec"; + } + leaf modem-serial { + type string; + description + "Modem serial number"; + } + leaf chip-vendor-specific { + type string; + description + "Chip vendor specific"; + } + leaf chip-vendor-country { + type string; + description + "Chip vendor country"; + } + leaf modem-vendor-id { + type string; + description + "Modem vendor id"; + } + leaf modem-vendor-specific { + type string; + description + "Modem vendor specific"; + } + leaf modem-vendor-country { + type string; + description + "Modem vendor country"; + } + leaf modem-version { + type string; + description + "Modem version"; + } + } + + grouping vdsl-line-bonding-specific-info { + description + "VDSL line bonding specific information"; + leaf ports-supported { + type uint32; + description + "Number of ports supported"; + } + leaf port-0-link-status { + type vdsl-ios-xe-oper:vdsl-link-state; + description + "Port 0 link status"; + } + leaf port-1-link-status { + type vdsl-ios-xe-oper:vdsl-link-state; + description + "Port 1 link status"; + } + leaf aggregate-us-rate { + type uint32; + units "kbps"; + description + "Aggregate upstream rate"; + } + leaf aggregate-ds-rate { + type uint32; + units "kbps"; + description + "Aggregate downstream rate"; + } + } + + grouping controller-info { + description + "VDSL Controller information"; + leaf state { + type vdsl-ios-xe-oper:idb-states; + description + "Controller database state"; + } + leaf mode { + type vdsl-ios-xe-oper:mode-tc; + description + "Operational mode"; + } + leaf modem-status { + type string; + status deprecated; + description + "Modem status"; + } + leaf trained-mode { + type string; + status deprecated; + description + "Trained Mode"; + } + leaf firmware-version { + type string; + description + "Firmware version"; + } + leaf phy-version { + type string; + description + "PHY version"; + } + container cpe-stats { + description + "XTU-R customer-premises equipment statistics"; + uses vdsl-ios-xe-oper:vdsl-line-stats; + } + container co-stats { + description + "XTU-C central office statistics"; + uses vdsl-ios-xe-oper:vdsl-line-stats; + } + leaf dsl-config-mode { + type vdsl-ios-xe-oper:dsl-config-modes; + description + "DSL configuration mode"; + } + leaf delt-configuration-enabled { + type boolean; + description + "Double ended line testing configuration state"; + } + leaf delt-state { + type vdsl-ios-xe-oper:delt-states; + description + "Double ended line testing state"; + } + container vdsl-line-bonding { + description + "VDSL line bonding info"; + uses vdsl-ios-xe-oper:vdsl-line-bonding-specific-info; + } + leaf failed-full-inits { + type uint32; + description + "Failed full initializations counter"; + } + leaf short-inits { + type uint32; + description + "Short initializations counter"; + } + leaf failed-short-inits { + type uint32; + description + "Short initializations counter"; + } + leaf modem-phy-source { + type string; + description + "Modem physical source"; + } + list vdsl-line-specific-info { + key "line-num"; + description + "VDSL line specific information"; + uses vdsl-ios-xe-oper:vdsl-line-specific-info; + } + leaf training-log-state { + type vdsl-ios-xe-oper:training-logs-states; + description + "Training logs state"; + } + leaf training-log-filename { + type string; + description + "Training logs filename"; + } + leaf dsl-sfp-support { + type empty; + description + "DSL SFP supported"; + } + container sfp-local-info { + when 'boolean(../dsl-sfp-support)'; + description + "DSL SFP local information"; + uses vdsl-ios-xe-oper:dsl-sfp-local-info; + } + } + + container vdsl-oper-data { + config false; + description + "VDSL controller information"; + list vdsl-info { + key "slot-num subslot-num"; + description + "VDSL controller information"; + uses vdsl-ios-xe-oper:controller-info; + uses vdsl-ios-xe-oper:slot-info-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-controller.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller.yang new file mode 100644 index 000000000..a331c70c9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-controller.yang @@ -0,0 +1,2311 @@ +module Cisco-IOS-XE-controller { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-controller"; + prefix ios-ctrl; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Controller Yang Model. + Copyright (c) 2016-2022, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for GPS constellation"; + cisco-semver:module-version "7.1.0"; + } + revision 2024-03-01 { + description + "- Obsolete controller framing; + - Changed nodes deprecated in 17.6 or before to obsolete; + - Added cellular profile password encryption type"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-07-01 { + description + "- Added echo-failure link-recovery option; + - Added unframed option under channel-group list"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-03-01 { + description + "- Added options for link-recovery; + - Added range restrictions for link-recovery parameters"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added options for link-recovery"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-07-01 { + description + "- Added Gps-Dr mode (OBDII and J1939) support."; + cisco-semver:module-version "4.4.0"; + } + revision 2022-03-01 { + description + "- Deprecate white-list and add allow-list under controller * lte mobile-app + - Add controller Cellular Serviceability enhancement"; + cisco-semver:module-version "4.3.0"; + } + revision 2021-07-01 { + description + "- Add controller * Gps-Dr NMEA UDP socket"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-03-01 { + description + "- Add controller * Gps-Dr + - Added dependency for T1/E1 pri-group and serial interface"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-11-01 { + description + "- Added dependency for T1/E1 channel-group and serial interface"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "- Added cli-recursive-delete to T1/E1 list + - Removed trunk-group + - Added default value to framing for T1/E1 controller + - Changed default value from 75-ohm to 120-ohm for line-termination + - Added src-ip-violation-action to Cellular list + - Added range for timeslots in channel-group"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added pri-group and trunk-group + - Added SHDSL controller configurations"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + " + - Added new framing config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-24 { + description + "Add dependency to data-profile on profile id"; + } + revision 2018-05-19 { + description + "Add options under vdsl operating mode auto"; + } + revision 2018-05-02 { + description + "Remove cli-full-command for profile id authentication"; + } + revision 2018-04-19 { + description + "Add firmware filename CLI to VDSL controller"; + } + revision 2018-04-18 { + description + "Make linecode specific to controller type, and add profile for controller Cellular"; + } + revision 2018-04-02 { + description + "Add tailf:cli-remove-before-change for channel group timeslots"; + } + revision 2018-03-28 { + description + "Add configuration for VDSL controller"; + } + revision 2018-03-06 { + description + "Add model for VDSL controller"; + } + revision 2018-02-21 { + description + "Add options for lte modem and lte event"; + } + revision 2018-02-14 { + description + "Add lte sms to controller Cellular"; + } + revision 2018-02-10 { + description + "Add lte dying gasp"; + } + revision 2018-02-03 { + description + "Remove lower case t1/e1/t3 controller name"; + } + revision 2017-12-16 { + description + "Add data model for Controller Cellular lte options"; + } + revision 2017-12-15 { + description + "Support lte failovertimer/firmware auto-sim/radio off"; + } + revision 2017-11-28 { + description + "Add description node for tx-ex controllers"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping sonet-grouping { + leaf framing { + description + "SONET framing"; + type enumeration { + enum sonet; + enum sdh; + } + } + leaf shutdown { + type empty; + } + container clock { + description + "SONET clock"; + leaf source { + description + "SONET clock source"; + type enumeration { + enum internal; + enum line; + } + } + } + container aug { + description + "AUG"; + leaf mapping { + type enumeration { + enum au-3; + enum au-4; + } + } + } + list au-3 { + description + "AU-3"; + key "number"; + leaf number { + description + "AU-3 number"; + type int8 { + range "1..3"; + } + } + container overhead { + description + "overhead"; + leaf byte { + type enumeration { + enum j1; + } + } + leaf length { + type uint8; + } + } + container mode { + description + "mode"; + leaf mapping { + type enumeration { + enum c-11; + enum c-12; + enum c-2; + } + } + } + } + container au-4-atm { + container au-4 { + description + "AU-4"; + leaf number { + description + "AU-4 number"; + type int8 { + range "1..3"; + } + } + leaf atm { + type empty; + } + } + } + list au-4 { + description + "AU-4"; + key "number tug-3"; + leaf number { + description + "AU-4 number"; + type int8 { + range "1..3"; + } + } + leaf tug-3 { + description + "TUG-3"; + type int8 { + range "1..3"; + } + } + leaf mode { + description + "mode"; + type enumeration { + enum c-11; + enum c-12; + enum c-2; + enum c-3; + enum c-4; + enum e3; + } + } + leaf cem-group { + description + "CEM group"; + type int32; + } + choice framing-choice { + case unframed-case { + leaf unframed { + description + "Unframed"; + type empty; + } + } + case framing-case { + leaf framing { + type enumeration { + enum unframed; + } + } + } + } + container cem-group-timeslots { + list tug-2 { + description + "TUG-2"; + key "number e1 cem-group"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf cem-group { + description + "CEM group"; + type int32; + } + leaf timeslots { + description + "Time slots"; + type string; + } + } + } + container channel-group-timeslots { + list tug-2 { + description + "TUG-2"; + key "number e1 channel-group"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf channel-group { + description + "Channel group"; + type int32; + } + leaf timeslots { + description + "Time slots"; + type string; + } + } + } + container cem-group-unframed { + list tug-2 { + description + "TUG-2"; + key "number e1 cem-group"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf cem-group { + description + "CEM group"; + type int32; + } + leaf unframed { + description + "Unframed"; + type empty; + } + } + } + container framing-unframed { + list tug-2 { + description + "TUG-2"; + key "number e1"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf framing { + type enumeration { + enum unframed; + } + } + } + } + container cem-group-atm { + list tug-2 { + description + "TUG-2"; + key "number e1"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf atm { + type empty; + } + } + } + container ima-group { + list tug-2 { + description + "TUG-2"; + key "number e1 ima-group"; + leaf number { + description + "TUG-2 number"; + type int8 { + range "1..7"; + } + } + leaf e1 { + description + "E1"; + type int8 { + range "1..3"; + } + } + leaf ima-group { + description + "IMA group"; + type int32; + } + } + } + } + container aps { + description + "SONET APS"; + container group { + description + "SONET APS group"; + leaf group-number { + type uint8; + } + leaf acr { + description + "ACR"; + type int8; + } + } + leaf working { + description + "Working line"; + type int8; + } + container protect { + description + "Protect line"; + leaf number { + type int8; + } + leaf ip-addr { + type inet:ipv4-address; + } + } + leaf hspw-icrm-grp { + type uint8; + } + container interchassis { + leaf group { + type uint8; + } + } + } + } + + grouping shdsl-coding-grouping { + container coding { + choice coding-choice { + case sixteen-tcpam-case { + leaf sixteen-tcpam { + when "../../../../../../termination = 'co'"; + type empty; + } + } + case thirty-two-tcpam-case { + leaf thirtytwo-tcpam { + when "../../../../../../termination = 'co'"; + type empty; + } + } + case sixty-four-tcpam-case { + leaf sixtyfour-tcpam { + when "../../../../../../termination = 'co' and ../../../../../../mode = 'efm'"; + type empty; + } + } + case one-twenty-eight-tcpam-case { + leaf onetwentyeight-tcpam { + when "../../../../../../termination = 'co' and ../../../../../../mode = 'efm'"; + type empty; + } + } + case four-tcpam-case { + leaf four-tcpam { + when "../../../../../../termination = 'co' and ../../../../../../mode = 'efm'"; + type empty; + } + } + case eight-tcpam-case { + leaf eight-tcpam { + when "../../../../../../termination = 'co' and ../../../../../../mode = 'efm'"; + type empty; + } + } + } + } + } + + grouping threshold-grouping { + leaf threshold { + type int16 { + range "-150..0"; + } + } + } + + grouping high-threshold-grouping { + leaf threshold { + type int8 { + range "-20..0"; + } + } + } + + grouping mib-trap-grouping { + leaf mib-trap { + description + "mibtrap"; + type empty; + } + } + + grouping ecio-option-grouping { + leaf-list mib-trap { + description + "mibtrap"; + type enumeration { + enum 1xrtt; + enum All-lte; + enum edge; + enum evdoRel0; + enum evdoRelA; + enum evdoRelB; + enum gprs; + enum umts/wcdma; + enum hsdpa; + enum hsupa; + enum hspa; + enum hspa-plus; + enum lte-tdd; + enum lte-fdd; + } + } + uses threshold-grouping; + } + + grouping mib-trap-lte-grouping { + leaf-list mib-trap { + description + "mibtrap"; + type enumeration { + enum All-lte; + enum lte-tdd; + enum lte-fdd; + } + } + } + + grouping threshold-mib-trap-lte-grouping { + container abate { + uses mib-trap-lte-grouping; + uses threshold-grouping; + } + container onset { + uses mib-trap-lte-grouping; + uses threshold-grouping; + } + } + + grouping high-threshold-mib-trap-lte-grouping { + container abate { + uses mib-trap-lte-grouping; + uses high-threshold-grouping; + } + container onset { + uses mib-trap-lte-grouping; + uses high-threshold-grouping; + } + } + + grouping config-controller-grouping { + list controller-tx-ex-list { + key "name number"; + leaf name { + type enumeration { + enum T1; + enum E1; + enum T3; + } + } + leaf number { + type string; + } + leaf atm { + description + "Specify atm"; + type empty; + } + container framing-config { + description + "Specify the type of Framing"; + leaf tx-framing { + when "../../name = 'T1' or ../../name = 'T3'"; + type enumeration { + enum esf; + enum sf; + } + default "esf"; + } + leaf e1-framing { + when "../../name = 'E1'"; + type enumeration { + enum crc4; + enum no-crc4; + } + default "crc4"; + } + leaf australia { + when '../e1-framing'; + description + "Australian Layer 1 homologation"; + type empty; + } + } + leaf framing { + status obsolete; + type string; + } + container clock { + container source { + choice source-choice { + container line { + presence "true"; + leaf line-mode { + type enumeration { + enum primary; + enum secondary; + } + } + } + leaf internal { + type empty; + } + leaf loop-timed { + type empty; + } + leaf network { + description + "Internal TDM Switch Source"; + type empty; + } + } + } + } + leaf description { + description + "Controller specific description"; + type string { + length "1..240"; + } + } + leaf linecode-t1 { + when "../name = 'T1'"; + type enumeration { + enum ami; + enum b8zs; + } + default "b8zs"; + } + leaf linecode-e1 { + when "../name = 'E1'"; + type enumeration { + enum ami; + enum hdb3; + } + default "hdb3"; + } + leaf linecode-t3 { + when "../name = 'T3'"; + type enumeration { + enum b3zs; + } + } + container cablelength { + choice cablelength-choice { + leaf long { + type string; + } + leaf short { + type string; + } + } + } + leaf line-termination { + when "../name = 'E1'"; + description + "Specify the line termination for E1"; + type enumeration { + enum 75-ohm; + enum 120-ohm; + } + default "120-ohm"; + } + list channel-group { + description + "Specify the unframed/timeslots to channel-group mapping for an interface"; + key "number"; + leaf number { + type uint8 { + range "0..30"; + } + } + leaf-list timeslots { + description + "List of timeslots in the channel group"; + must 'not (../unframed)' { + error-message "Please remove the channel-group before remapping it"; + } + type union { + type uint8 { + range "1..31"; + } + type string; + } + } + leaf unframed { + description + "Unframed in the channel group"; + must 'not (../timeslots)' { + error-message "Please remove the channel-group before remapping it"; + } + type empty; + } + } + leaf fdl { + when "../name = 'T1'"; + description + "Specify the FDL standard for a T1 data link"; + type enumeration { + enum ansi; + enum att; + enum both; + } + } + leaf shutdown { + description + "Shut down this link (send Blue Alarm)"; + type boolean; + default "false"; + } + container pri-group { + when "../name = 'T1' or ../name = 'E1'"; + description + "Configure the specified timeslots for PRI"; + presence "true"; + leaf timeslots { + description + "List of timeslots in the pri-group"; + type string; + } + choice pri-group-choice { + case voice-dsp-choice { + leaf voice-dsp-ce1t1pri { + description + "Configure pri-group for voice applications"; + type empty; + } + } + case service-choice { + leaf service { + description + "Specify the service type"; + type enumeration { + enum mgcp; + } + } + } + case nfas-choice { + leaf nfas_d { + description + "Specify the operation of the D-channel time slot"; + type enumeration { + enum backup; + enum none; + enum primary; + } + } + leaf nfas_int { + description + "Specify the operation of the D-channel time slot"; + type uint8 { + range "0..96"; + } + } + leaf nfas_group { + description + "Specify the NFAS group"; + type uint8 { + range "0..31"; + } + } + leaf voice-dsp { + description + "Configure pri-group for voice applications"; + type empty; + } + } + } + } + } + container Gps-Dr { + description + "GPS/DR Module"; + container dead-reckoning { + container nmea { + container udp { + description + "UDP Transport"; + leaf source-address { + description + "Source address"; + type inet:ipv4-address; + } + leaf destination-address { + description + "Destination address"; + type inet:ipv4-address; + } + leaf destination-port { + description + "Destination port"; + type uint16; + } + } + } + leaf enable { + description + "enable GPS/DR feature"; + type empty; + } + leaf mode { + description + "select DR mode"; + type enumeration { + enum obdii; + enum j1939; + } + default "obdii"; + } + } + } + list Cellular { + key "id"; + leaf id { + type string; + } + container lte { + description + "LTE type carrier"; + container sim { + description + "Subscriber Identity Module"; + container authenticate { + description + "CHV1 authentication"; + leaf pin-type { + description + "0 Specifies an UNENCRYPTED (cleartext) PIN will follow 7 Specifies a HIDDEN PIN will follow"; + type enumeration { + enum 0; + enum 7; + } + } + leaf pin { + description + "Unecrypted PIN (Length 4 to 8 characters)Encrypted PIN"; + type string; + } + leaf slot { + description + "Slot number"; + type uint8; + } + } + list data-profile-list { + description + "Data Profile number"; + key "slot"; + leaf slot { + description + "Slot number"; + type uint8; + } + leaf data-profile { + description + "Profile Number corresponding to the data bearer APN"; + type leafref { + path "../../../../profile/id"; + } + } + leaf attach-profile { + description + "Profile Number corresponding to initial attach APN"; + type leafref { + path "../../../../profile/id"; + } + } + } + leaf max-retry { + description + "Maximum number of SIM switchover retries"; + type uint16; + } + container primary { + description + "Controller's primary SIM"; + leaf slot { + description + "Slot number"; + type uint8; + } + } + } + container sms { + description + "SMS configuration"; + container archive { + description + "SMS archive configuration"; + leaf path { + description + "path in URL to archive SMS"; + type enumeration { + enum ftp:; + enum http:; + enum https:; + enum pram:; + enum rcp:; + enum scp:; + enum tftp:; + } + } + } + } + container gps { + description + "GPS configuration"; + leaf enable { + description + "enable GPS feature"; + type empty; + } + leaf mode { + description + "select GPS mode"; + type enumeration { + enum ms-based; + enum standalone; + } + } + container nmea-conf { + leaf nmea { + description + "enable NMEA data"; + type empty; + } + } + container nmea { + container ip { + description + "enable NMEA stream over IP UDP interface"; + container udp { + description + "UDP Transport"; + leaf source-address { + description + "Source address"; + type inet:ipv4-address; + } + leaf destination-address { + description + "Destination address"; + type inet:ipv4-address; + } + leaf destination-port { + description + "Destination port"; + type uint16; + } + } + } + } + leaf constellation { + if-feature "ios-features:cellular-gnss"; + description + "GNSS constellation"; + type enumeration { + enum beidou; + enum galileo; + enum glonass; + enum gnss; + enum gps; + } + default "gps"; + } + } + leaf failovertimer { + description + "Failover timeout value in mins"; + type uint8 { + range "3..7"; + } + } + container firmware { + description + "Select firmware option"; + presence "true"; + leaf auto-sim { + description + "Select firmware auto-sim"; + type empty; + } + } + container radio { + description + "Controller's radio"; + leaf off { + description + "Power down radio"; + type empty; + } + } + container mobile-app { + description + "Mobile app configuration"; + container user-profile { + description + "Configure user profile with username, password, and privilege"; + leaf id { + description + "user profile ID number"; + type uint16 { + range "1..15"; + } + } + leaf username { + description + "username"; + type string; + } + leaf password { + description + "password"; + type string; + } + leaf privilege { + description + "privilege"; + type string; + } + } + container allow-list { + description + "List of allowed MSISDN's (phone numbers) to securely use the mobile app"; + leaf id { + description + "MSISDN ID number"; + type uint16 { + range "1..15"; + } + } + leaf msisdn { + description + "MSISDN (phone number)"; + type string; + } + } + container white-list { + status deprecated; + description + "DEPRECATED: use 'allow-list' instead"; + leaf id { + status deprecated; + description + "MSISDN ID number"; + type uint16 { + range "1..15"; + } + } + leaf msisdn { + status deprecated; + description + "MSISDN (phone number)"; + type string; + } + } + } + container modem { + container dm-log { + description + "Modem DM logging configuration"; + container output { + description + "DM logging output files"; + choice output-choice { + leaf local-uf { + description + "Use Module Utility flash to store DM logs"; + type empty; + } + leaf path { + description + "URL to store DM log files"; + type enumeration { + enum bootflash:; + enum flash:; + enum ftp:; + enum http:; + enum https:; + enum pram:; + enum rcp:; + enum scp:; + enum tftp:; + } + } + } + } + leaf filter { + description + "DM log filter file. Specify DM log filter location (in .sqf format)"; + type union { + type enumeration { + enum bootflash:; + enum flash:; + enum webui:; + } + type string; + } + } + leaf size { + description + "Specify maximum log size. Maximum log size in MB (default is 64MB, 0 means no upper limit)"; + type uint16 { + range "0..1024"; + } + } + leaf filesize { + description + "Specify maximum log file size. Maximum file size in MB (default is 20MB)"; + type int8 { + range "1..64"; + } + } + leaf rotation { + description + "DM log rotation (only supported on flash:)"; + type empty; + } + leaf enable { + description + "Enable DM logging"; + type empty; + } + container autostop { + description + "Auto stop trigger event"; + choice autostop-choice { + leaf link-down { + description + "Cellular interface link down event"; + type empty; + } + leaf timer { + description + "Timer interval in minutes"; + type int8 { + range "12..120"; + } + } + } + } + } + container fota { + description + "Firmware upgrade over the air"; + leaf enable { + description + "Enable FOTA"; + type empty; + } + leaf poll-timer { + description + "Set poll timer for AVMS, Interval(in minutes) at which modem polls server for firmware."; + type uint32 { + range "15..525600"; + } + } + } + container link-recovery { + container rssi { + leaf onset-threshold { + type int32 { + range "-125..-90"; + } + } + } + container rsrq { + leaf onset-threshold { + must '(.) and (not (../../rssi/onset-threshold)) and (not (../../rsrp/onset-threshold))' { + error-message "Only one of three (RSRQ, RSRP, RSSI) can be configured for link-recovery"; + } + type int32 { + range "-20..-3"; + } + } + } + container rsrp { + leaf onset-threshold { + must '(.) and (not (../../rssi/onset-threshold)) and (not (../../rsrq/onset-threshold))' { + error-message "Only one of three (RSRQ, RSRP, RSSI) can be configured for link-recovery"; + } + type int32 { + range "-140..-45"; + } + } + } + container echo-failure { + leaf ip { + description + "Server IP for monitoring Echo failure."; + type inet:ip-address; + } + } + leaf monitor-timer { + type uint32 { + range "20..60"; + } + } + leaf wait-timer { + type uint32 { + range "5..60"; + } + } + leaf debounce-count { + type uint32 { + range "6..20"; + } + } + leaf disable { + type empty; + } + } + container nas-log { + description + "Modem NAS logging configuration"; + container output { + description + "DM logging output files"; + leaf path { + description + "URL to store DM log files"; + type enumeration { + enum bootflash:; + enum flash:; + } + } + } + leaf size { + description + "Specify maximum log size. Maximum log size in MB (default is 64MB, 0 means no upper limit)"; + type uint16 { + range "0..1024"; + } + } + leaf filesize { + description + "Specify maximum log file size. Maximum file size in MB (default is 20MB)"; + type int8 { + range "1..64"; + } + } + leaf enable { + description + "Enable NAS logging"; + type empty; + } + } + container serviceability { + if-feature "ios-features:cellular-serviceability-enhancement"; + description + "Modem serviceability configuration"; + leaf modem-resets { + description + "Enable modem reset logging"; + type empty; + } + leaf interface-resets { + description + "Enable interface status logging"; + type empty; + } + leaf gps { + description + "Enable GPS logging"; + type empty; + } + } + } + container event { + description + "cellular snmp event persistence"; + container connection-status { + description + "connection status"; + leaf-list mib-trap { + description + "mibtrap"; + type enumeration { + enum All-lte; + enum active; + enum inactive; + } + } + } + container ecio { + description + "ecio"; + container abate { + uses ecio-option-grouping; + } + container onset { + uses ecio-option-grouping; + } + } + container modem-state { + description + "modem state"; + leaf-list mib-trap { + description + "mibtrap"; + type enumeration { + enum all; + enum down; + enum up; + } + } + } + container network { + description + "enable trap for network"; + uses mib-trap-grouping; + } + container rsrp { + description + "Reference Signal Received Power"; + uses threshold-mib-trap-lte-grouping; + } + container rsrq { + description + "Reference Signal Received Quality"; + uses high-threshold-mib-trap-lte-grouping; + } + container rssi { + description + "rssi"; + uses threshold-mib-trap-lte-grouping; + } + container service { + description + "enable trap for service"; + uses mib-trap-grouping; + } + container temperature { + description + "modem temperature"; + container abate { + uses mib-trap-grouping; + uses threshold-grouping; + } + container onset { + uses mib-trap-grouping; + uses threshold-grouping; + } + } + } + container dyinggasp { + description + "Dying Gasp Configuration"; + container detach { + description + "Send Detach Request"; + leaf enable { + description + "Enable Dying Gasp Detach Request"; + type empty; + } + } + container sms { + description + "SMS Commands"; + leaf send { + description + "Send SMS"; + type string; + } + leaf sms-text { + description + "SMS text until the end of line (EOL) up to 160 characters"; + type string { + length "1..160"; + } + } + } + } + } + list profile { + description + "LTE Profile management commands"; + key "id"; + leaf id { + description + "Profile identification number configuration"; + type int8 { + range "1..16"; + } + } + leaf apn { + description + "Access point name configuration"; + type string; + } + leaf authentication { + description + "Select authentication type"; + type enumeration { + enum chap; + enum none; + enum pap; + enum pap_chap; + } + } + leaf username { + description + "Username"; + when "../authentication and not(../authentication = 'none')"; + type string; + } + leaf password { + description + "Password"; + when "../authentication and not(../authentication = 'none')"; + type string; + } + leaf encryption { + description + "Encryption method of password"; + when "../authentication and not(../authentication = 'none')"; + type enumeration { + enum 0 { + description + "Password is unencrypted"; + } + enum 6 { + description + "Password is AES encrypted"; + } + } + } + leaf pdn-type { + description + "Select pdn type"; + type enumeration { + enum ipv4; + enum ipv4v6; + enum ipv6; + } + } + leaf slot { + description + "Associated sim slot"; + type uint8 { + range "0..1"; + } + default "0"; + } + leaf no-overwrite { + description + "Don't replace, if profile exists"; + type empty; + } + } + container src-ip-violation-action { + description + "Action to be performed on source ip violated pkts"; + leaf drop { + description + "Drop the packets if violation occurs"; + type enumeration { + enum ipv4; + enum ipv4v6; + enum ipv6; + } + } + } + } + list SONET { + description + "SONET"; + key "name"; + leaf name { + type string; + } + uses sonet-grouping; + } + list SONET-ACR { + description + "SONET-ACR"; + key "name"; + leaf name { + type string { + pattern '([0-9\.])+'; + } + } + uses sonet-grouping; + } + list wanphy { + description + "wanphy"; + key "name"; + leaf name { + type string; + } + } + list VDSL { + description + "VDSL2 controller"; + key "name"; + leaf name { + type string; + } + container operating { + description + "Configure auto or specific VDSL operating mode"; + container mode { + choice operating-mode-choice-new { + default "default-auto-config"; + leaf adsl1-new { + type empty; + } + container adsl2-new { + presence "true"; + leaf annex-new { + type enumeration { + enum A; + enum M; + enum B; + enum J; + } + } + } + leaf default-auto-config { + type enumeration { + enum auto; + } + default "auto"; + } + container auto-config { + leaf adsl1-new { + type empty; + } + leaf adsl2-new { + type empty; + } + leaf adsl2plus-new { + type empty; + } + leaf vdsl2-new { + type empty; + } + leaf ansi-new { + type empty; + } + } + leaf vdsl2-new { + type empty; + } + leaf ansi-new { + type empty; + } + container adsl2plus-new { + presence "true"; + leaf annex-new { + type enumeration { + enum A; + enum M; + enum B; + enum J; + } + } + } + } + choice operating-mode-choice { + leaf adsl1 { + status obsolete; + type empty; + } + container adsl2 { + status obsolete; + presence "true"; + leaf annex { + status obsolete; + type enumeration { + enum A; + enum M; + enum B; + enum J; + } + } + } + container auto { + status obsolete; + presence "true"; + leaf adsl1 { + status obsolete; + type empty; + } + leaf adsl2 { + status obsolete; + type empty; + } + leaf adsl2plus { + status obsolete; + type empty; + } + leaf vdsl2 { + status obsolete; + type empty; + } + leaf ansi { + status obsolete; + type empty; + } + } + leaf vdsl2 { + status obsolete; + type empty; + } + leaf ansi { + status obsolete; + type empty; + } + container adsl2plus { + status obsolete; + presence "true"; + leaf annex { + status obsolete; + type enumeration { + enum A; + enum M; + enum B; + enum J; + } + } + } + } + } + } + container line-mode { + description + "Line Mode configuration to select Bonding/Single-wire"; + choice line-mode-choice { + leaf bonding { + type empty; + } + container single-wire { + leaf line-config { + type enumeration { + enum 0; + enum 1; + } + default "0"; + } + leaf profile { + when "../line-config = '1'"; + type enumeration { + enum 30a; + } + } + container line { + status obsolete; + leaf zero { + status obsolete; + type empty; + } + container one { + status obsolete; + presence "true"; + leaf profile { + status obsolete; + type enumeration { + enum 30a; + } + } + } + } + } + } + } + container training { + description + "Dsl firmware training log"; + container log { + leaf filename { + description + "file name to store dsl training log"; + type string; + default "flash:vdsllog.bin"; + } + } + } + container firmware { + description + "xDSL PHY FW update"; + container phy { + description + "Component name"; + leaf filename { + description + "file name to read firmware"; + type string; + } + } + } + container sync { + description + "xDSL sync preferences"; + container interval { + description + "How many seconds between ITU and ANSI sync"; + leaf seconds { + type uint32; + default "0"; + } + } + container mode { + description + "Choose preferred sync mode"; + container itu { + presence "true"; + leaf previous { + type empty; + } + } + leaf none { + type empty; + } + container ansi { + presence "true"; + leaf previous { + type empty; + } + } + } + } + container diagnostics-config { + leaf DELT { + type boolean; + default "false"; + } + } + leaf diagnostics { + status obsolete; + type enumeration { + enum DELT; + } + } + leaf modem { + description + "vdsl modem configuration"; + type string { + length "1..48"; + } + } + leaf shutdown-config { + type boolean; + default "false"; + } + leaf shutdown { + status obsolete; + type empty; + } + leaf sra-config { + description + "Seamless rate adaptation"; + type boolean; + default "true"; + } + leaf sra { + description + "Seamless rate adaptation"; + status obsolete; + type empty; + } + leaf bitswap-config { + description + "Bit swap"; + type boolean; + default "true"; + } + leaf bitswap { + description + "Bit swap"; + status obsolete; + type empty; + } + leaf description { + description + "Controller specific description"; + type string { + length "1..240"; + } + } + } + list SHDSL { + description + "SHDSL controller"; + key "name"; + leaf name { + type string; + } + leaf description { + description + "SHDSL controller description"; + type string { + length "1..240"; + } + } + container firmware { + description + "Active firmware file name"; + container phy { + description + "Component name"; + leaf filename { + description + "File name to read firmware"; + type string; + } + } + } + leaf termination { + description + "Line termination for this interface"; + type enumeration { + enum cpe; + enum co; + } + default "cpe"; + } + leaf mode { + description + "Operating mode"; + type enumeration { + enum atm; + enum efm; + } + default "atm"; + } + list dsl-group { + description + "DSL group"; + key "group"; + leaf group { + type enumeration { + enum auto; + enum 0; + enum 1; + enum 2; + enum 3; + } + } + leaf pairs { + when "../group = '0' or ../group = '1' or ../group = '2' or ../group = '3'"; + type string { + pattern '[0-3,-]*'; + } + } + leaf efm-bond { + when "../../mode = 'efm' and not(../group = 'auto')"; + type empty; + } + leaf m-pair { + when "not(../group = 'auto')"; + must "(../pairs = '0-1' or ../pairs = '0-2' or ../pairs = '0-3' or ../pairs = '2-3' or ../pairs = '0,1' or ../pairs = '0,1,2' or ../pairs = '0,1,2,3' or ../pairs = '2,3') and ../../mode = 'atm'" { + error-message "M-pair mode requires pairs 0-1 or 0-2 or 0-3 or 2-3"; + } + type empty; + } + container efm-grp { + status obsolete; + when '../efm-bond'; + container add { + status obsolete; + leaf link { + status obsolete; + type uint8 { + range "0..3"; + } + } + } + container delete { + status obsolete; + leaf link { + status obsolete; + type uint8 { + range "0..3"; + } + } + } + } + container handshake { + when "../../termination = 'cpe'"; + choice handshake-sample-choice { + default "auto-case"; + case ieee-case { + leaf ieee { + when "../../../mode = 'efm'"; + type empty; + } + } + case itut-case { + leaf itut { + when "../../../mode = 'efm'"; + type empty; + } + } + case auto-case { + leaf auto-config { + when "../../../termination = 'cpe'"; + type enumeration { + enum auto; + } + default "auto"; + } + leaf auto { + status obsolete; + when "../../../termination = 'cpe'"; + type empty; + } + } + case g-shdsl-case { + leaf g-shdsl { + when "../../../termination = 'cpe' and ../../../mode = 'atm'"; + type empty; + } + } + case g-shdsl-bis-case { + leaf g-shdsl-bis { + when "../../../termination = 'cpe' and ../../../mode = 'atm'"; + type empty; + } + } + } + } + container handshake-config { + when "../../termination = 'co' and ../../mode = 'efm'"; + choice handshake-sample-choice { + default "itut-case"; + case ieee-case { + leaf ieee { + when "../../../mode = 'efm'"; + type empty; + } + } + case itut-case { + leaf itut { + when "../../../mode = 'efm'"; + type enumeration { + enum itut; + } + default "itut"; + } + } + case auto-case { + leaf auto { + when "../../../termination = 'cpe'"; + type empty; + } + } + case g-shdsl-case { + leaf g-shdsl { + when "../../../termination = 'cpe' and ../../../mode = 'atm'"; + type empty; + } + } + case g-shdsl-bis-case { + leaf g-shdsl-bis { + when "../../../termination = 'cpe' and ../../../mode = 'atm'"; + type empty; + } + } + } + } + container ignore { + container crc { + choice crc-choice { + default "crc-value-choice"; + case crc-value-choice { + leaf crc-value { + type uint16 { + range "0..60"; + } + default "6"; + } + } + case always-choice { + leaf always { + type empty; + } + } + } + } + } + leaf shutdown { + type empty; + } + container shdsl { + container four-wire { + when "../../../mode = 'atm' and (../../group = 'auto' or ../../pairs = '0-1' or ../../pairs = '2-3' or ../../pairs = '0,1' or ../../pairs = '2,3')"; + container mode { + container enhanced-config { + presence "true"; + leaf vendor-id-npsg { + type empty; + } + } + container enhanced { + status obsolete; + leaf vendor-id-npsg { + status obsolete; + type empty; + } + } + } + } + container rate { + when 'not(../rate-config)'; + choice rate-choice { + case rate-value-case { + leaf rate-value { + type uint16; + } + } + case default-rate-auto-case { + leaf default-auto-config { + type enumeration { + enum auto; + } + default "auto"; + } + } + case rate-auto-case { + container auto-config { + leaf current-config { + type int8 { + range "-10..21"; + } + } + leaf worst-config { + type int8 { + range "-10..21"; + } + } + } + container auto { + status obsolete; + presence "true"; + leaf current { + status obsolete; + type int8 { + range "-10..21"; + } + } + leaf worst { + status obsolete; + type int8 { + range "-10..21"; + } + } + } + } + case rate-enhanced-case { + container enhanced { + when "../../../../termination = 'co' and ../../../../mode = 'efm'"; + choice enhanced-rate-choice { + case enhanced-rate-value-case { + leaf enhanced-rate-value { + type uint16; + } + } + case enhanced-rate-auto-case { + container auto { + presence "true"; + leaf current { + type int8 { + range "-10..21"; + } + } + leaf worst { + type int8 { + range "-10..21"; + } + } + } + } + } + } + } + } + } + container rate-config { + when "((../../../termination = 'co') or (../../../mode = 'efm')) and ((((../annex/a-f/coding/four-tcpam or ../annex/a-f/coding/eight-tcpam) or (../annex/b-g/coding/four-tcpam or ../annex/b-g/coding/eight-tcpam)) or ((../annex/f/coding/four-tcpam or ../annex/f/coding/eight-tcpam) or (../annex/f/coding/four-tcpam or ../annex/f/coding/eight-tcpam))) or (((../annex/a-f/coding/sixtyfour-tcpam or ../annex/a-f/coding/onetwentyeight-tcpam) or (../annex/b-g/coding/sixtyfour-tcpam or ../annex/b-g/coding/onetwentyeight-tcpam)) or ((../annex/f/coding/sixtyfour-tcpam or ../annex/f/coding/onetwentyeight-tcpam) or (../annex/f/coding/sixtyfour-tcpam or ../annex/f/coding/onetwentyeight-tcpam))))"; + choice rate-choice { + case rate-value-case { + leaf rate-value { + type uint16; + } + } + case rate-auto-case { + container auto { + leaf current { + type int8 { + range "-10..21"; + } + } + leaf worst { + type int8 { + range "-10..21"; + } + } + } + } + case rate-enhanced-case { + container enhanced { + when "../../../../termination = 'co' and ../../../../mode = 'efm'"; + choice enhanced-rate-choice { + default "default-enhanced-rate-auto-case"; + case enhanced-rate-value-case { + leaf enhanced-rate-value { + type uint16; + } + } + case default-enhanced-rate-auto-case { + leaf default-enhanced-auto-config { + type enumeration { + enum auto; + } + default "auto"; + } + } + case enhanced-rate-auto-case { + container auto { + leaf current { + type int8 { + range "-10..21"; + } + } + leaf worst { + type int8 { + range "-10..21"; + } + } + } + } + } + } + } + } + } + container annex { + when "../../../termination = 'co'"; + choice annex-choice { + default "annex-b-case"; + case annex-a-case { + leaf a { + type empty; + } + } + case annex-a-f-case { + container a-f { + uses shdsl-coding-grouping; + } + } + case annex-b-case { + leaf b-config { + type enumeration { + enum b; + } + default "b"; + } + leaf b { + status obsolete; + type empty; + } + } + case annex-b-g-case { + container b-g { + uses shdsl-coding-grouping; + } + } + case annex-f-case { + container f { + uses shdsl-coding-grouping; + } + } + case annex-g-case { + container g { + uses shdsl-coding-grouping; + } + } + } + } + } + } + } + } + + augment "/ios:native/ios:controller" { + uses config-controller-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-actions-rpc.yang new file mode 100644 index 000000000..e1795b346 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-actions-rpc.yang @@ -0,0 +1,223 @@ +module Cisco-IOS-XE-crypto-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-crypto-actions-rpc"; + prefix crypto-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Crypto RPC. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added support for different clear crypto SSL RPC. These are + crypto-clear-ssl-static, crypto-clear-ssl-user and + crypto-clear-ssl-profile"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef crypto-clear-enum { + type enumeration { + enum crypto-clear-pki-counters { + value 0; + description + "Clear PKI counters"; + } + } + description + "Clear crypto type"; + } + + typedef crypto-clear-ssl-static-enum { + type enumeration { + enum crypto-clear-ssl-diagnose-error { + value 0; + description + "Clear SSL VPN diagnostic errors"; + } + enum crypto-clear-ssl-session-counters { + value 1; + description + "Clear SSL VPN session counters"; + } + enum crypto-clear-ssl-stats-tunnel { + value 2; + description + "Clear SSL VPN tunnel statistics"; + } + enum crypto-clear-ssl-stats { + value 3; + description + "Clear SSL VPN all statistics"; + } + } + description + "Different types of SSL VPN data which are global. These are not related to + any specific SSL profile name or user name. These data may be cleared using + crypto-clear-ssl-static RPC"; + } + + typedef crypto-clear-ssl-user-enum { + type enumeration { + enum crypto-clear-ssl-session-user { + value 0; + description + "Clear SSL VPN session counters related to particular user name"; + } + } + description + "Different types of data associated with crypto SSL VPN + user name that may be cleared with crypto-clear-ssl-user RPC"; + } + + typedef crypto-clear-ssl-profile-enum { + type enumeration { + enum crypto-clear-ssl-session-profile { + value 0; + description + "Clear SSL VPN session counters related to a particular SSL profile name"; + } + enum crypto-clear-ssl-stats-profile { + value 1; + description + "Clear SSL VPN statistics related to a particular SSL profile name"; + } + enum crypto-clear-ssl-tunnel-profile { + value 2; + description + "Clear SSL VPN tunnel statistics related to particular SSL profile name"; + } + } + description + "Different types of data associated with crypto SSL + profile that may be cleared with crypto-clear-ssl-profile RPC"; + } + + grouping crypto-clear-type { + description + "Top level global crypto clear command"; + leaf clear-type { + type crypto-actions-rpc:crypto-clear-enum; + mandatory true; + description + "crypto clear sub command"; + } + } + + grouping clear-ssl-static-statistics { + description + "Clear crypto SSL static statistics related grouping"; + leaf clear-static-type { + type crypto-actions-rpc:crypto-clear-ssl-static-enum; + mandatory true; + description + "Selection of SSL static statistics related action"; + } + } + + grouping clear-ssl-user { + description + "Clear crypto SSL user related grouping"; + leaf clear-user-type { + type crypto-actions-rpc:crypto-clear-ssl-user-enum; + mandatory true; + description + "Selection of SSL user related action"; + } + leaf user-name { + type string { + length "1..64"; + } + mandatory true; + description + "User name to be given (Maximum length is 64 characters)"; + } + } + + grouping clear-ssl-profile { + description + "Clear crypto SSL profile related grouping"; + leaf clear-profile-type { + type crypto-actions-rpc:crypto-clear-ssl-profile-enum; + mandatory true; + description + "Selection of SSL profile related action"; + } + leaf profile-name { + type string { + length "1..127"; + } + mandatory true; + description + "SSL profile name to be given (Maximum length is 127 characters)"; + } + } + + rpc crypto-clear { + description + "Crypto action RPC"; + input { + uses crypto-actions-rpc:crypto-clear-type; + } + } + + rpc crypto-clear-ssl-static { + description + "Clear crypto SSL VPN data. Refer enum crypto-clear-ssl-static-enum + for supported data to be cleared"; + input { + uses crypto-actions-rpc:clear-ssl-static-statistics; + } + } + + rpc crypto-clear-ssl-user { + description + "Clear crypto SSL VPN data related to user name. Refer enum + crypto-clear-ssl-user-enum for supported data to be cleared"; + input { + uses crypto-actions-rpc:clear-ssl-user; + } + } + + rpc crypto-clear-ssl-profile { + description + "Clear crypto SSL VPN data related to SSL profile name. Refer enum + crypto-clear-ssl-profile-enum for supported data to be cleared"; + input { + uses crypto-actions-rpc:clear-ssl-profile; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-oper.yang new file mode 100644 index 000000000..bed32c9b0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-oper.yang @@ -0,0 +1,4909 @@ +module Cisco-IOS-XE-crypto-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-crypto-oper"; + prefix crypto-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for crypto operational data. + Copyright (c) 2017-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Added support for available, assigned and used KSSID ranges. + Deprecated kssid-assigned, kssid-available, kssid-used and old-kssid-used leaves"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added IKEv2 statistics and session operational data + - Added operational details for GDOI features + - Added Key Server and Group Member GDOI operational data + - Added Key Server timers and related counters + - Added acl, protocol fields in GDOI operational data"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-03-01 { + description + "- Added Crypto Group Domain of Interpretation operational data + - Re-arranged crypto GDOI elements in lexicographical order + - Added SA tracking and IPSEC registration information"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-07-01 { + description + "- Added IPSEC policy statistics"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "- Added info for Crypto Export Restrictions. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-12-18 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef crypto-dir-type { + type enumeration { + enum crypto-dir-inbound { + value 0; + description + "Inbound direction"; + } + enum crypto-dir-outbound { + value 1; + description + "Outbound direction"; + } + } + description + "Traffic direction"; + } + + typedef crypto-prot-type { + type enumeration { + enum crypto-prot-esp { + value 0; + description + "ESP protocol"; + } + enum crypto-prot-ah { + value 1; + description + "AH protocol"; + } + enum crypto-prot-pcp { + value 2; + description + "PCP protocol"; + } + } + description + "Crypto Protocol Type"; + } + + typedef crypto-dh-group-type { + type enumeration { + enum crypto-dh-grouptype-none { + value 0; + description + "No DH Group"; + } + enum crypto-dh-grouptype-group1 { + value 1; + description + "DH group 1"; + } + enum crypto-dh-grouptype-group2 { + value 2; + description + "DH group 2"; + } + enum crypto-dh-grouptype-group3 { + value 3; + description + "DH group 3"; + } + enum crypto-dh-grouptype-group4 { + value 4; + description + "DH group 4"; + } + enum crypto-dh-grouptype-group5 { + value 5; + description + "DH group 5"; + } + enum crypto-dh-grouptype-group14 { + value 6; + description + "DH group 14"; + } + enum crypto-dh-grouptype-group15 { + value 7; + description + "DH group 15"; + } + enum crypto-dh-grouptype-group16 { + value 8; + description + "DH group 16"; + } + enum crypto-dh-grouptype-group19 { + value 9; + description + "DH group 19"; + } + enum crypto-dh-grouptype-group20 { + value 10; + description + "DH group 20"; + } + enum crypto-dh-grouptype-group21 { + value 11; + description + "DH group 21"; + } + enum crypto-dh-grouptype-group24 { + value 12; + description + "DH group 24"; + } + } + description + "DH group type"; + } + + typedef crypto-sa-status { + type enumeration { + enum crypto-ipsec-sa-status-down { + value 0; + description + "IPSEC SA is down"; + } + enum crypto-sa-status-active { + value 1; + description + "SA is active"; + } + enum crypto-sa-status-standby { + value 2; + description + "SA is standby"; + } + enum crypto-sa-status-pending { + value 3; + description + "SA is pending"; + } + } + description + "SA status"; + } + + typedef crypto-hash-alg { + type enumeration { + enum crypto-hash-alg-auth-none { + value 0; + description + "No Hash"; + } + enum crypto-hash-alg-auth-hmac-md5-96 { + value 1; + description + "Hash hmac md5"; + } + enum crypto-hash-alg-auth-hmac-sha1-96 { + value 2; + description + "Hash hmac sha1 96"; + } + enum crypto-hash-alg-auth-hmac-des { + value 3; + description + "Hash hmac des"; + } + enum crypto-hash-alg-auth-kpdk-md5 { + value 4; + description + "Hash hmac kpdk md5"; + } + enum crypto-hash-alg-auth-hmac-aes-xcbc-96 { + value 5; + description + "Hash hmac aes xcbc 96"; + } + enum crypto-hash-alg-auth-hmac-sha256 { + value 6; + description + "Hash hmac sha256"; + } + enum crypto-hash-alg-auth-hmac-sha384 { + value 7; + description + "Hash hmac sha384"; + } + enum crypto-hash-alg-auth-hmac-sha512 { + value 8; + description + "Hash hmac sha512"; + } + } + description + "HASH algorithm"; + } + + typedef crypto-auth-method { + type enumeration { + enum crypto-auth-no-method { + value 0; + description + "IKEV2 No Authentication Method"; + } + enum crypto-ikev2-auth-rsa-sig { + value 1; + description + "IKEv2 Authentication type RSA-SIG"; + } + enum crypto-ikev2-auth-psk { + value 2; + description + "IKEv2 Authentication type PSK"; + } + enum crypto-ikev2-auth-dss { + value 3; + description + "IKEv2 Authentication type DSS"; + } + enum crypto-ikev2-auth-ecdsa-256 { + value 4; + description + "IKEv2 Authentication type ECDSA 256"; + } + enum crypto-ikev2-auth-ecdsa-384 { + value 5; + description + "IKEv2 Authentication type ECDSA 384"; + } + enum crypto-ikev2-auth-anyconnect-eap { + value 6; + description + "IKEv2 Authentication type AnyConnect EAP"; + } + enum crypto-ikev2-auth-eap { + value 7; + description + "IKEv2 Authentication type EAP"; + } + } + description + "IKEv2 Authentication Method"; + } + + typedef crypto-encryption-alg { + type enumeration { + enum crypto-encr-alg-none { + value 0; + description + "No Encryption"; + } + enum crypto-encr-alg-des-iv64 { + value 1; + description + "Encryption DES IV64"; + } + enum crypto-encr-alg-des { + value 2; + description + "Encryption DES"; + } + enum crypto-encr-alg-3des { + value 3; + description + "Encryption 3DES"; + } + enum crypto-encr-alg-rc5 { + value 4; + description + "Encryption RC5"; + } + enum crypto-encr-alg-idea { + value 5; + description + "Encryption IDEA"; + } + enum crypto-encr-alg-cast { + value 6; + description + "Encryption CAST"; + } + enum crypto-encr-alg-blowfish { + value 7; + description + "Encryption BLOWFISH"; + } + enum crypto-encr-alg-3idea { + value 8; + description + "Encryption 3IDEA"; + } + enum crypto-encr-alg-iv32 { + value 9; + description + "Encryption IV32"; + } + enum crypto-encr-alg-rc4 { + value 10; + description + "Encryption RC4"; + } + enum crypto-encr-alg-null { + value 11; + description + "Encryption Null"; + } + enum crypto-encr-alg-aes-cbc { + value 12; + description + "Encryption AES CBC"; + } + enum crypto-encr-alg-aes-ctr { + value 13; + description + "Encryption AES CTR"; + } + enum crypto-encr-alg-aes-gcm { + value 14; + description + "Encryption AES GCM"; + } + enum crypto-encr-alg-aes-gmac { + value 15; + description + "Encryption AES GMAC"; + } + } + description + "Encryption algorithm"; + } + + typedef crypto-encap-type { + type enumeration { + enum crypto-encap-type-tunnel { + value 0; + description + "Tunnel encapsulation"; + } + enum crypto-encap-type-transport { + value 1; + description + "Transport encapsulation"; + } + } + description + "Crypto encapsulation type"; + } + + typedef crypto-policy-notify-type { + type enumeration { + enum crypto-notify-rp { + value 0; + description + "Notify RP"; + } + enum crypto-notify-sa-dead { + value 1; + description + "SA dead"; + } + enum crypto-notify-sa-soft-lifetime { + value 2; + description + "SA soft lifetime"; + } + enum crypto-notify-idle-timer { + value 3; + description + "Idle timer"; + } + enum crypto-notify-dpd-timer { + value 4; + description + "Dead peer detection timer"; + } + enum crypto-notify-invalid-spi { + value 5; + description + "Invalid SPI"; + } + } + description + "Crypto policy notification types"; + } + + typedef crypto-policy-cmd-type { + type enumeration { + enum crypto-cmd-sadb-init-start { + value 0; + description + "SA database initialization"; + } + enum crypto-cmd-sadb-init-complete { + value 1; + description + "SA database init complete"; + } + enum crypto-cmd-sadb-delete { + value 2; + description + "SA database deletion"; + } + enum crypto-cmd-sadb-attr-update { + value 3; + description + "SA database attr update"; + } + enum crypto-cmd-sadb-intf-attach { + value 4; + description + "SA database interface attach"; + } + enum crypto-cmd-sadb-intf-update { + value 5; + description + "SA database interface update"; + } + enum crypto-cmd-sadb-intf-detach { + value 6; + description + "SA database interface detach"; + } + enum crypto-cmd-acl-insert { + value 7; + description + "ACL insert"; + } + enum crypto-cmd-acl-modify { + value 8; + description + "ACL modify"; + } + enum crypto-cmd-acl-delete { + value 9; + description + "ACL delete"; + } + enum crypto-cmd-peer-insert { + value 10; + description + "Peer insert"; + } + enum crypto-cmd-peer-delete { + value 11; + description + "Peer delete"; + } + enum crypto-cmd-spi-insert { + value 12; + description + "SPI insert"; + } + enum crypto-cmd-spi-delete { + value 13; + description + "SPI delete"; + } + enum crypto-cmd-cflow-insert { + value 14; + description + "Outbound flow insert"; + } + enum crypto-cmd-cflow-modify { + value 15; + description + "Outbound flow modify"; + } + enum crypto-cmd-cflow-delete { + value 16; + description + "Outbound flow delete"; + } + enum crypto-cmd-ipsec-sa-delete { + value 17; + description + "IPSEC SA delete"; + } + enum crypto-cmd-tbar-create { + value 18; + description + "Time based anti replay create"; + } + enum crypto-cmd-tbar-update { + value 19; + description + "Time based anti replay update"; + } + enum crypto-cmd-tbar-remove { + value 20; + description + "Time based anti replay remove"; + } + } + description + "Crypto policy command types"; + } + + typedef crypto-policy-dbase-type { + type enumeration { + enum crypto-policy-db-pal-sadb { + value 0; + description + "PAL SA database"; + } + enum crypto-policy-db-pal-sadb-id { + value 1; + description + "PAL SA ID database"; + } + enum crypto-policy-db-pal-intf { + value 2; + description + "PAL interface database"; + } + enum crypto-policy-db-pal-sa-id { + value 3; + description + "PAL SA ID database"; + } + enum crypto-policy-db-pal-acl { + value 4; + description + "PAL ACL database"; + } + enum crypto-policy-db-pal-peer { + value 5; + description + "PAL peer database"; + } + enum crypto-policy-db-pal-spi { + value 6; + description + "PAL SPI database"; + } + enum crypto-policy-db-pal-cflow { + value 7; + description + "PAL outbound flow database"; + } + enum crypto-policy-db-pal-tbar { + value 8; + description + "PAL time base replay database"; + } + } + description + "Crypto policy database types"; + } + + typedef crypto-gdoi-group-type { + type enumeration { + enum crypto-group-type-gdoi { + value 0; + description + "GDOI Group"; + } + enum crypto-group-type-gikev2 { + value 1; + description + "GIKEV2 Group"; + } + } + description + "Crypto GDOI Group Type"; + } + + typedef crypto-gdoi-coop-ks-role { + type enumeration { + enum crypto-ks-role-primary { + value 0; + description + "Primary Key Server"; + } + enum crypto-ks-role-secondary { + value 1; + description + "Secondary Key Server"; + } + enum crypto-ks-role-invalid { + value 2; + description + "Invalid Key Server role"; + } + } + description + "Crypto GDOI Key Server COOP Role"; + } + + typedef crypto-gdoi-coop-ks-protocol { + type enumeration { + enum ks-def-base-ver { + value 0; + description + "Base version"; + } + enum ks-def-ver { + value 1; + description + "Default version"; + } + enum ks-scale-ver { + value 2; + description + "Scale/Extended version"; + } + } + description + "Peer KS COOP Protocol"; + } + + typedef crypto-gdoi-coop-ks-status { + type enumeration { + enum crypto-ks-status-unknown { + value 0; + description + "Unknown status"; + } + enum crypto-ks-status-alive { + value 1; + description + "Alive status"; + } + enum crypto-ks-status-dead { + value 2; + description + "Dead status"; + } + enum crypto-ks-status-invalid { + value 3; + description + "Invalid status"; + } + } + description + "Crypto GDOI KS COOP Status"; + } + + typedef crypto-rekey-trans-type { + type enumeration { + enum crypto-rekey-transport-multicast { + value 0; + description + "Multicast transport"; + } + enum crypto-rekey-transport-unicast { + value 1; + description + "Unicast transport"; + } + } + description + "Crypto GDOI Rekey Transport type"; + } + + typedef coop-ks-gmdb-state { + type enumeration { + enum crypto-ks-state-redundant { + value 0; + description + "Peer Key Server"; + } + enum crypto-ks-state-local { + value 1; + description + "Local Key Server"; + } + } + description + "Crypto GDOI KS COOP GM database state"; + } + + typedef crypto-gdoi-gm-state { + type enumeration { + enum crypto-reg-status-uninit { + value 0; + description + "GM registration not initialized"; + } + enum crypto-reg-status-registering { + value 1; + description + "GM is registering"; + } + enum crypto-reg-status-re-registering { + value 2; + description + "GM is re-registering"; + } + enum crypto-reg-status-registered { + value 3; + description + "GM registered"; + } + enum crypto-reg-status-unknown { + value 4; + description + "GM registration state unknown"; + } + } + description + "Crypto GDOI GM state"; + } + + typedef crypto-rekey-ack-type { + type enumeration { + enum crypto-rekey-ack-none { + value 0; + description + "Acknowledgement None"; + } + enum crypto-rekey-ack-cisco { + value 1; + description + "Acknowledgement Cisco"; + } + enum crypto-rekey-ack-interop { + value 2; + description + "Acknowledgement Interop"; + } + enum crypto-rekey-ack-any { + value 3; + description + "Acknowledgement Any"; + } + enum crypto-rekey-ack-unknown { + value 4; + description + "Acknowledgement Unknown"; + } + } + description + "Crypto Rekey acknowledgement type"; + } + + typedef crypto-encaps-mode { + type enumeration { + enum crypto-encaps-mode-transport { + value 0; + description + "Transport mode"; + } + enum crypto-encaps-mode-tunnel { + value 1; + description + "Tunnel mode"; + } + enum crypto-encaps-mode-udp-tunnel { + value 2; + description + "UDP Tunnel mode"; + } + enum crypto-encaps-mode-udp-transport { + value 3; + description + "UDP Transport mode"; + } + enum crypto-encaps-mode-unknown { + value 4; + description + "Unknown Encapsulation mode"; + } + } + description + "Crypto Encapsulation mode"; + } + + typedef crypto-rekey-encr-alg { + type enumeration { + enum crypto-encr-des { + value 0; + description + "DES Encryption Algorithm"; + } + enum crypto-encr-3des { + value 1; + description + "3DES Encryption Algorithm"; + } + enum crypto-encr-aes { + value 2; + description + "AES Encryption Algorithm"; + } + enum crypto-encr-unsupported { + value 3; + description + "Unsupported Encryption Algorithm"; + } + } + description + "Crypto Rekey Encryption Algorithm"; + } + + typedef coop-ike-status { + type enumeration { + enum crypto-ike-uninit { + value 0; + description + "IKE uninitialized"; + } + enum crypto-ike-in-progress { + value 1; + description + "IKE in progress"; + } + enum crypto-ike-established { + value 2; + description + "IKE established"; + } + enum crypto-ike-failed { + value 3; + description + "IKE status failed"; + } + enum crypto-ike-init-failed { + value 4; + description + "IKE Initialization failed"; + } + enum crypto-ike-invalid { + value 5; + description + "IKE status invalid"; + } + } + description + "Crypto GDOI COOP IKE Status"; + } + + typedef crypto-ipsec-sa-direction { + type enumeration { + enum crypto-sa-dir-both { + value 0; + description + "IPSec SA is active in both directions"; + } + enum crypto-sa-dir-inbound-only { + value 1; + description + "IPSec SA is active in inbound direction only"; + } + } + description + "IPSec SA direction for traffic encryption"; + } + + typedef coop-ks-next-sid-operation { + type enumeration { + enum crypto-sid-invalid { + value 0; + description + "Next SID operation is invalid"; + } + enum crypto-sid-query { + value 1; + description + "Next operation is SID Query"; + } + enum crypto-sid-notify { + value 2; + description + "Next operation is SID Notify"; + } + enum crypto-sid-update { + value 3; + description + "Next operation is SID Update"; + } + } + description + "Crypto COOP KS Next Sender ID Operation"; + } + + typedef coop-ks-group-size { + type enumeration { + enum crypto-grp-size-small-8 { + value 0; + description + "SMALL-8 group size"; + } + enum crypto-grp-size-small-12 { + value 1; + description + "SMALL-12 group size"; + } + enum crypto-grp-size-small-16 { + value 2; + description + "SMALL-16 group size"; + } + enum crypto-grp-size-medium { + value 3; + description + "MEDIUM group size"; + } + enum crypto-grp-size-large { + value 4; + description + "LARGE group size"; + } + } + description + "Crypto GDOI group size"; + } + + typedef crypto-gdoi-transform-mode { + type enumeration { + enum crypto-transform-mode-non-counter { + value 0; + description + "Crypto GDOI Transform Non Counter mode"; + } + enum crypto-transform-mode-counter { + value 1; + description + "Crypto GDOI Transform Counter mode"; + } + } + description + "Crypto GDOI Transform mode"; + } + + typedef crypto-gdoi-kek-sa-type { + type enumeration { + enum kek-sa-new { + value 0; + description + "New KEK SA received in the rekey"; + } + enum kek-sa-current { + value 1; + description + "Current KEK SA being used"; + } + enum kek-sa-previous { + value 2; + description + "Previous KEK SA used"; + } + } + description + "Crypto GDOI KEK SA Type"; + } + + typedef crypto-client-name { + type enumeration { + enum crypto-client-name-ks-policy-client { + value 0; + description + "Crypto GDOI ks policy client"; + } + enum crypto-client-group-member-client { + value 1; + description + "Crypto GDOI group member client"; + } + enum crypto-client-sid-member-client { + value 2; + description + "Crypto GDOI group sid client"; + } + } + description + "Crypto Client Version"; + } + + typedef kssid-description-type { + type enumeration { + enum crypto-kssid-string { + value 0; + description + "String type in case of non suite-b mode"; + } + enum crypto-kssid-bitlist { + value 1; + description + "Range type in case of suite-b mode"; + } + enum crypto-kssid-limit { + value 2; + description + "Range limit in case of suite-b mode"; + } + } + description + "Discriminator options for different KSSID types"; + } + + typedef crypto-gdoi-feature-options { + type enumeration { + enum gdoi-feature-ckm { + value 0; + description + "Centralized Key Management & Pairwise Keying"; + } + enum gdoi-feature-crl-check { + value 1; + description + "Crypto GDOI CRL checking Feature"; + } + enum gdoi-feature-cts-sgt { + value 2; + description + "Crypto GDOI CTS SGT inline tagging Feature"; + } + enum gdoi-feature-dp-recovery { + value 3; + description + "Crypto GDOI Dataplane Recovery Feature"; + } + enum gdoi-feature-interop-ack { + value 4; + description + "Crypto GDOI Interoperable Rekey Acknowledgement Feature"; + } + enum gdoi-feature-gdoi-mib { + value 5; + description + "Crypto GDOI Management Information Base support Feature"; + } + enum gdoi-feature-gikev2 { + value 6; + description + "Crypto GDOI G-IKEv2 Registration Feature"; + } + enum gdoi-feature-gm-removal { + value 7; + description + "Crypto GDOI RFC defined delete message to remove GM's policy Feature"; + } + enum gdoi-feature-ip-d3p { + value 8; + description + "Crypto GDOI IP Delivery Delay Protection support Feature"; + } + enum gdoi-feature-v6-cry-path { + value 9; + description + "Crypto GDOI IPv6 support for the crypto path Feature"; + } + enum gdoi-feature-long-sa { + value 10; + description + "Crypto GDOI Support of 30 days SA lifetime Feature"; + } + enum gdoi-feature-pfs { + value 11; + description + "Crypto GDOI PFS(Perfect Forward Secrecy) Feature"; + } + enum gdoi-feature-pol-repl { + value 12; + description + "Crypto GDOI Replace current policy in the rekey message Feature"; + } + enum gdoi-feature-suite-b { + value 13; + description + "Crypto GDOI Support of Suite-B Algorithm Feature"; + } + } + description + "Crypto GDOI Feature List"; + } + + typedef crypto-ike-ietf-frag { + type enumeration { + enum crypto-ietf-frag-not-conf { + value 0; + description + "Crypto IETF fragmentation has not been configured"; + } + enum crypto-ietf-frag-conf { + value 1; + description + "Crypto IETF fragmentation has been configured"; + } + enum crypto-ietf-frag-enabled { + value 2; + description + "Crypto IETF fragmentation has been enabled"; + } + } + description + "Crypto IETF Fragmentation configuration"; + } + + typedef crypto-ike-nat-discovery { + type enumeration { + enum crypto-nat-dscvry-detect-unknown { + value 0; + description + "Crypto NAT-T discovery is unknown"; + } + enum crypto-nat-dscvry-detect { + value 1; + description + "Crypto NAT-T discovery detect"; + } + enum crypto-nat-dscvry-detect-in { + value 2; + description + "Crypto NAT-T discovery detect in"; + } + enum crypto-nat-dscvry-detect-out { + value 3; + description + "Crypto NAT-T discovery detect out"; + } + enum crypto-nat-dscvry-detect-in-out { + value 4; + description + "Crypto NAT-T discovery detect in and out"; + } + enum crypto-nat-dscvry-not-detect { + value 5; + description + "Crypto NAT-T discovery not detect"; + } + } + description + "Crypto NAT discovery configuration"; + } + + typedef crypto-acl-action-type { + type enumeration { + enum acl-action-permit { + value 0; + description + "Permit matching packets"; + } + enum acl-action-deny { + value 1; + description + "Deny matching packets"; + } + } + description + "Action to be taken on packets matching the rule"; + } + + typedef crypto-acl-port-operator-type { + type enumeration { + enum port-oper-equals { + value 0; + description + "Equals to the given port"; + } + enum port-oper-not-equals { + value 1; + description + "Not equal to the given port"; + } + enum port-oper-lesser-than { + value 2; + description + "Lesser than the given port"; + } + enum port-oper-greater-than { + value 3; + description + "Greater than the given port"; + } + enum port-oper-range { + value 4; + description + "Range between the ports, including the given ports"; + } + } + description + "Operation to use while checking if the protocol port matches the given port(s)"; + } + + typedef crypto-acl-protocol-type { + type enumeration { + enum proto-any { + value 0; + description + "Any IP protocol"; + } + enum proto-number { + value 1; + description + "Number assigned to the IP protocol"; + } + enum proto-object-group { + value 2; + description + "Service object-group name containing the protocol(s)"; + } + } + description + "Options to configure the protocol for matching packets"; + } + + typedef crypto-acl-port-option-type { + type enumeration { + enum port-any { + value 0; + description + "Protocol port is not configured"; + } + enum port-conf { + value 1; + description + "Protocol port is configured"; + } + } + description + "ACL port configuration options"; + } + + typedef crypto-acl-v4-address-type { + type enumeration { + enum v4-addr-wildcard { + value 0; + description + "IPv4 address and wildcard"; + } + enum v4-host { + value 1; + description + "IPv4 host address"; + } + enum v4-object-group { + value 2; + description + "IPv4 network object group containing IPv4 addresses"; + } + enum v4-fqdn-group { + value 3; + description + "Name of the FQDN group associated with this entry"; + } + enum v4-any { + value 4; + description + "Any IPv4 address in this position"; + } + enum v4-geo-group { + value 5; + description + "Name of the geolocation group associated with this entry"; + } + } + description + "Options to configure IPv4 address"; + } + + typedef crypto-ikev2-sess-status { + type enumeration { + enum crypto-ikev2-sess-status-active { + value 0; + description + "The IKEv2 session is active"; + } + enum crypto-ikev2-sess-status-idle { + value 1; + description + "The IKEv2 session is idle"; + } + enum crypto-ikev2-sess-status-down { + value 2; + description + "The IKEv2 session is down"; + } + } + description + "Crypto IKEv2 Session Status"; + } + + typedef crypto-transform-options { + type bits { + bit crypto-transform-ah-hmac-sha { + position 0; + description + "AH-HMAC-SHA"; + } + bit crypto-transform-ah-hmac-sha256 { + position 1; + description + "AH-HMAC-SHA-256"; + } + bit crypto-transform-ah-hmac-sha384 { + position 2; + description + "AH-HMAC-SHA-384"; + } + bit crypto-transform-ah-hmac-sha512 { + position 3; + description + "AH-HMAC-SHA-512"; + } + bit crypto-transform-ah-hmac-md5 { + position 4; + description + "AH-HMAC-MD5"; + } + bit crypto-transform-esp-des { + position 5; + description + "ESP-DES"; + } + bit crypto-transform-esp-3-des { + position 6; + description + "ESP-3DES"; + } + bit crypto-transform-esp-seal { + position 7; + description + "ESP-SEAL"; + } + bit crypto-transform-esp-aes-cbc { + position 8; + description + "ESP-AES-CBC"; + } + bit crypto-transform-esp-aes-cbc-192 { + position 9; + description + "ESP-AES-CBC-192"; + } + bit crypto-transform-esp-aes-cbc-256 { + position 10; + description + "ESP-AES-CBC-256"; + } + bit crypto-transform-esp-aes-gcm { + position 11; + description + "ESP-AES-GCM"; + } + bit crypto-transform-esp-aes-gcm-192 { + position 12; + description + "ESP-AES-GCM-192"; + } + bit crypto-transform-esp-aes-gcm-256 { + position 13; + description + "ESP-AES-GCM-256"; + } + bit crypto-transform-esp-aes-gmac { + position 14; + description + "ESP-AES-GMAC"; + } + bit crypto-transform-esp-aes-gmac-192 { + position 15; + description + "ESP-AES-GMAC-192"; + } + bit crypto-transform-esp-aes-gmac-256 { + position 16; + description + "ESP-AES-GMAC-256"; + } + bit crypto-transform-esp-null { + position 17; + description + "ESP-NULL"; + } + bit crypto-transform-esp-hmac-md5 { + position 18; + description + "ESP-HMAC-MD5"; + } + bit crypto-transform-esp-hmac-sha { + position 19; + description + "ESP-HMAC-SHA"; + } + bit crypto-transform-esp-hmac-sha256 { + position 20; + description + "ESP-HMAC-SHA-256"; + } + bit crypto-transform-esp-hmac-sha384 { + position 21; + description + "ESP-HMAC-SHA-384"; + } + bit crypto-transform-esp-hmac-sha512 { + position 22; + description + "ESP-HMAC-SHA-512"; + } + bit crypto-transform-pcp-lzs { + position 23; + description + "PCP-LZS"; + } + } + description + "The cryptographic transform set options available in the connection"; + } + + grouping kssid-limit { + description + "Crypto GDOI ks sender id range"; + leaf lower { + type uint32; + description + "Lower limit of ks sender id in range"; + } + leaf upper { + type uint32; + description + "Upper limit of ks sender id in range"; + } + } + + grouping gdoi-kssid { + description + "Crypto GDOI kssid range container"; + list ks-sender-id { + description + "Crypto GDOI kssid range(s)"; + uses crypto-ios-xe-oper:kssid-limit; + } + } + + grouping crypto-gdoi-kssid { + description + "Crypto GDOI KSSID type"; + choice discrim-choice { + default "crypto-kssid-string"; + description + "Choice of KSSID based on mode"; + case crypto-kssid-string { + leaf kssid { + type string; + description + "String type in case of non suite-b mode"; + } + } + case crypto-kssid-bitlist { + leaf kssid-bitlist { + type uint32; + description + "KSSID bitlist"; + } + } + case crypto-kssid-limit { + container ks-sender-id { + description + "KSSID range(s) list"; + uses crypto-ios-xe-oper:gdoi-kssid; + } + } + } + } + + grouping crypto-ike-sa-data { + description + "Crypto IKE Security Association Data"; + leaf sa-id { + type uint32; + description + "IKE security association identifier"; + } + leaf sa-status { + type crypto-ios-xe-oper:crypto-sa-status; + description + "IKE security association Status"; + } + leaf local-ip-addr { + type inet:ip-address; + description + "Local IP Address"; + } + leaf local-port { + type uint16; + description + "Local Port number"; + } + leaf remote-ip-addr { + type inet:ip-address; + description + "Remote IP Address"; + } + leaf remote-port { + type uint16; + description + "Remote Port number"; + } + leaf dh-group { + type crypto-ios-xe-oper:crypto-dh-group-type; + description + "DH group"; + } + leaf init-spi { + type binary; + description + "Initiator security parameter index"; + } + leaf resp-spi { + type binary; + description + "Responder security parameter index"; + } + leaf ivrf { + type string; + description + "IKE IVRF"; + } + leaf fvrf { + type string; + description + "IKE FVRF"; + } + leaf lifetime { + type uint32; + units "seconds"; + description + "Security association lifetime"; + } + leaf hash-algo { + type crypto-ios-xe-oper:crypto-hash-alg; + description + "HASH Algorithm"; + } + leaf encr-alg { + type crypto-ios-xe-oper:crypto-encryption-alg; + description + "Encryption algorithm"; + } + leaf my-auth-method { + type crypto-ios-xe-oper:crypto-auth-method; + description + "Self authentication method"; + } + leaf peer-auth-method { + type crypto-ios-xe-oper:crypto-auth-method; + description + "Peer authentication Method"; + } + } + + grouping crypto-ike-sa-detail-data { + description + "Crypto IKE Security Association Detail Data"; + container sa-data { + description + "IKE security association brief data"; + uses crypto-ios-xe-oper:crypto-ike-sa-data; + } + leaf status-desc { + type string; + description + "Textual description of the current SA status"; + } + leaf local-id { + type string; + description + "The local identifier"; + } + leaf remote-id { + type string; + description + "The remote identifier"; + } + leaf init-spi { + type string; + description + "The initiator security parameter index"; + } + leaf remote-spi { + type string; + description + "The responder security parameter index"; + } + leaf curr-req-msg-id { + type uint32; + description + "The local request message identifier"; + } + leaf next-req-msg-id { + type uint32; + description + "The local next request message identifier"; + } + leaf req-msg-queue-size { + type uint32; + description + "The local request message queue size"; + } + leaf window-size { + type uint32; + description + "The local request message window size"; + } + leaf peer-curr-req-msg-id { + type uint32; + description + "The remote request message identifier"; + } + leaf peer-next-req-msg-id { + type uint32; + description + "The remote next request message identifier"; + } + leaf peer-req-msg-queue-size { + type uint32; + description + "The remote request message queue size"; + } + leaf peer-window-size { + type uint32; + description + "The remote request message window size"; + } + leaf dpd-interval { + type uint16; + units "seconds"; + description + "The DPD interval"; + } + leaf dpd-retry { + type uint16; + description + "The number of DPD retries"; + } + leaf ietf-frag-support { + type crypto-ios-xe-oper:crypto-ike-ietf-frag; + description + "Is the IETF fragmentation standard configured and enabled"; + } + leaf ietf-frag-mtu { + type uint32; + description + "The IETF fragmentation MTU size"; + } + leaf dru-enabled { + type boolean; + description + "Is Dynamic Route Update enabled"; + } + leaf extend-auth-configured { + type boolean; + description + "Is Extended Authentication configured"; + } + leaf nat { + type crypto-ios-xe-oper:crypto-ike-nat-discovery; + description + "NAT-T detection"; + } + leaf nat-encap-forced { + type boolean; + description + "Is UDP encap forced by policy"; + } + leaf cisco-trust-sgt-enabled { + type boolean; + description + "Is Cisco Trust Security SGT enabled"; + } + leaf disc-revoke-peer-enabled { + type boolean; + description + "Is Disconnect Revoked Peer enabled"; + } + } + + grouping crypto-ikev2-sa-entry { + description + "Crypto IKEV2 Security Association Entry"; + leaf sa-id { + type uint32; + description + "Security association identifier"; + } + container sa-data { + description + "Security association Data"; + uses crypto-ios-xe-oper:crypto-ike-sa-data; + } + } + + grouping crypto-ikev1-sa-entry { + description + "Crypto IKEV1 Security association Entry"; + leaf sa-id { + type uint32; + description + "Security association identifier"; + } + container sa-data { + description + "Security association Data"; + uses crypto-ios-xe-oper:crypto-ike-sa-data; + } + } + + grouping crypto-ipsec-sa-entry { + description + "Crypto IPSEC SA entry"; + leaf spi { + type uint32; + description + "IPSEC SPI number"; + } + leaf dir { + type crypto-ios-xe-oper:crypto-dir-type; + description + "Traffic Direction"; + } + leaf protocol { + type crypto-ios-xe-oper:crypto-prot-type; + description + "IPSEC Protocol"; + } + leaf flow-id { + type uint32; + description + "FLow ID"; + } + leaf sa-status { + type crypto-ios-xe-oper:crypto-sa-status; + description + "IPSEC SA status"; + } + leaf transform-set { + type crypto-ios-xe-oper:crypto-transform-options; + description + "Crypto transform set"; + } + } + + grouping crypto-ipsec-ident-data { + description + "Crypto IPSEC Identity Data"; + leaf protected-vrf { + type uint32; + description + "Protected VRF"; + } + leaf local-ident-addr { + type inet:ip-address; + description + "Local IPSEC Identity Address"; + } + leaf local-ident-mask { + type inet:ip-address; + description + "Local IPSEC Identity Mask"; + } + leaf local-ident-protocol { + type uint32; + description + "Local IPSEC Identity Protocol"; + } + leaf remote-ident-addr { + type inet:ip-address; + description + "Remote IPSEC Identity Address"; + } + leaf remote-ident-mask { + type inet:ip-address; + description + "Remote IPSEC Identity Mask"; + } + leaf remote-ident-protocol { + type uint32; + description + "Remote IPSEC Identity Protocol"; + } + leaf plaintext-mtu { + type uint16; + description + "Plain text MTU value"; + } + leaf local-endpt-addr { + type inet:ip-address; + description + "Local Endpoint Address"; + } + leaf remote-endpt-addr { + type inet:ip-address; + description + "Remote Endpoint Address"; + } + leaf dh-group { + type crypto-ios-xe-oper:crypto-dh-group-type; + description + "DH group"; + } + container inbound-esp-sa { + description + "Inbound ESP SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + container inbound-ah-sa { + description + "Inbound AH SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + container inbound-pcp-sa { + description + "Inbound PCP SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + container outbound-esp-sa { + description + "Outbound ESP SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + container outbound-ah-sa { + description + "Outbound AH SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + container outbound-pcp-sa { + description + "Outbound PCP SA"; + uses crypto-ios-xe-oper:crypto-ipsec-sa-entry; + } + } + + grouping crypto-ipsec-ident-entry { + description + "Crypto IPSEC Identity Entry"; + leaf interface { + type string; + description + "Interface"; + } + container ident-data { + description + "IPSEC Identity Data"; + uses crypto-ios-xe-oper:crypto-ipsec-ident-data; + } + } + + grouping crypto-cerm-tunnels-entry { + description + "Details on Number of Resource Entries"; + leaf maximum { + type uint32; + description + "Maximum tunnels supported on platform due to Export Restrictions"; + } + leaf available { + type uint32; + description + "Currently Available tunnels based on Export Restriction"; + } + } + + grouping crypto-cerm-resource-info-entry { + description + "Tunnel based Resource Info"; + container ipsec-tunnels { + description + "Number of IPSEC tunnels"; + uses crypto-ios-xe-oper:crypto-cerm-tunnels-entry; + } + container tls-sessions { + description + "Number of TLS sessions"; + uses crypto-ios-xe-oper:crypto-cerm-tunnels-entry; + } + } + + grouping crypto-cerm-resv-entry { + description + "Dynamic Client Resource reservation info"; + leaf tunnels { + type uint32; + description + "Number of tunnels created by a client"; + } + leaf tls-sessions { + type uint32; + description + "Number of TLS sessions created by a client"; + } + } + + grouping crypto-cerm-client-info-entry { + description + "Client Related Information"; + container voice { + description + "Voice client"; + uses crypto-ios-xe-oper:crypto-cerm-resv-entry; + } + container ipsec { + description + "IPSEC client"; + uses crypto-ios-xe-oper:crypto-cerm-resv-entry; + } + container sslvpn { + description + "SSLVPN client"; + uses crypto-ios-xe-oper:crypto-cerm-resv-entry; + } + } + + grouping crypto-cerm-stats-entry { + description + "Statistics Information"; + leaf failed-tunnels { + type uint32; + description + "Failed tunnel creation attempts due to Export Restriction"; + } + leaf failed-sessions { + type uint32; + description + "Failed session creation attempts due to Export Restriction"; + } + } + + grouping crypto-cerm-info-entry { + description + "Crypto Export Restriction Information"; + leaf enabled { + type boolean; + description + "Indicates if Export Restriction has been enabled"; + } + container resource-info { + description + "Export Resource Limits for the platform"; + uses crypto-ios-xe-oper:crypto-cerm-resource-info-entry; + } + container resv-info { + description + "Dynamic Client Reservation Information"; + uses crypto-ios-xe-oper:crypto-cerm-client-info-entry; + } + container stats-info { + description + "Statistics info resulting from Export Restrictions"; + uses crypto-ios-xe-oper:crypto-cerm-stats-entry; + } + } + + grouping crypto-notify-stats-entry { + description + "Crypto Policy Abstraction Layer (PAL) Notification Statistics"; + leaf notification-type { + type crypto-ios-xe-oper:crypto-policy-notify-type; + description + "Notification type"; + } + leaf num-received { + type uint32; + description + "Number of notify messages received"; + } + leaf num-completed { + type uint32; + description + "Number of successful notifications to PAL"; + } + leaf num-rcv-error { + type uint32; + description + "Number of message processing error"; + } + leaf num-rcv-ignore { + type uint32; + description + "Number of notify messages ignored"; + } + } + + grouping crypto-cmd-stats-entry { + description + "Crypto Policy Abstraction Layer (PAL) Command Statistics"; + leaf cmd-type { + type crypto-ios-xe-oper:crypto-policy-cmd-type; + description + "Command type"; + } + leaf num-request { + type uint32; + description + "Number of command messages received from PAL"; + } + leaf num-reply-ok { + type uint32; + description + "Number of successful replies sent to PAL"; + } + leaf num-reply-error { + type uint32; + description + "Number of error replies sent to PAL"; + } + leaf num-abort { + type uint32; + description + "Number of command messages aborted by PAL"; + } + leaf total-time { + type uint64; + units "milliseconds"; + description + "Round trip time"; + } + } + + grouping crypto-database-stats-entry { + description + "Crypto Policy Abstraction Layer (PAL) Database Statistics"; + leaf dbase-type { + type crypto-ios-xe-oper:crypto-policy-dbase-type; + description + "Database type"; + } + leaf num-add { + type uint32; + description + "Number of additions to database"; + } + leaf num-delete { + type uint32; + description + "Number of deletions from database"; + } + leaf num-abort { + type uint32; + description + "Number of aborted calls to database"; + } + } + + grouping crypto-ipsec-policy-stats-entry { + description + "Crypto Policy Stats Information"; + list notify-stats { + description + "Policy Notification Statistics"; + uses crypto-ios-xe-oper:crypto-notify-stats-entry; + } + list cmd-stats { + description + "Policy Command Statistics"; + uses crypto-ios-xe-oper:crypto-cmd-stats-entry; + } + list dbase-stats { + description + "Policy Database Summary Statistics"; + uses crypto-ios-xe-oper:crypto-database-stats-entry; + } + } + + grouping crypto-gdoi-ks-entry { + description + "Crypto GDOI Group Information"; + leaf group-name { + type string; + description + "Group Name"; + } + leaf group-id { + type uint32; + description + "Group Identifier Number"; + } + leaf re-auth { + type boolean; + description + "Re-authentication on new CRL(Certificate Revocation List) enabled or disabled"; + } + leaf group-type { + type crypto-ios-xe-oper:crypto-gdoi-group-type; + description + "Group type GDOI or GIKEV2"; + } + leaf gikev2-prof { + when "(../group-type = 'crypto-group-type-gikev2')"; + type string; + description + "IKEV2 profile name"; + } + leaf total-mem { + type uint16; + description + "Total number of group members"; + } + leaf gdoi-mem { + type uint16; + description + "Total number of GDOI group members"; + } + leaf gikev2-mem { + type uint16; + description + "Total number of GIKEV2 group members"; + } + leaf rekey-ack { + type crypto-ios-xe-oper:crypto-rekey-ack-type; + description + "Rekey acknowledgement type"; + } + leaf sa-dir { + type crypto-ios-xe-oper:crypto-ipsec-sa-direction; + description + "Indicates the SA direction is active in inbound direction or both directions"; + } + leaf ipd3p-window { + type uint32; + description + "IPD3P window size (0 if disabled)"; + } + leaf pfs { + type boolean; + description + "True if PFS(Perfect Forward Secrecy) is enabled"; + } + leaf sp-resil-factor { + type uint16; + description + "Split resiliency factor"; + } + leaf redundancy { + type boolean; + description + "True if redundancy is configured"; + } + leaf ks-addr { + type inet:ip-address; + description + "Local Key Server IP address"; + } + leaf priority { + type uint8; + description + "Local Key Server priority"; + } + leaf status { + when "(../redundancy = 'true')"; + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-status; + description + "Local Key Server status"; + } + leaf role { + when "(../redundancy = 'true')"; + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-role; + description + "Local Key Server role"; + } + leaf version { + type string; + description + "Local Key Server version"; + } + leaf coop-version { + type string; + description + "Local Key Server COOP version"; + } + leaf-list acl { + type string; + ordered-by user; + description + "List of configured access-lists"; + } + } + + grouping local-ks-timers { + description + "Local KS timers and related counters"; + leaf sync-time { + type yang:date-and-time; + units "seconds"; + description + "COOP KS(Co-operative KS) message sync timestamp"; + } + leaf retries { + when "(../../role = 'crypto-ks-role-secondary')"; + type uint8; + description + "Number of retires from secondary KS"; + } + leaf invalid-msgs { + when "(../../role = 'crypto-ks-role-secondary')"; + type uint8; + description + "Number of invalid announcement pseudo time messages received"; + } + leaf reg-blocked { + when "(../../role = 'crypto-ks-role-secondary')"; + type boolean; + description + "True if new GM registration is blocked"; + } + leaf per-user-enabled { + type boolean; + description + "True if per-user timer is running"; + } + leaf per-user-time { + when "(../per-user-enabled = 'true')"; + type yang:date-and-time; + description + "Time of the next GM info sync"; + } + } + + grouping local-coop-ks { + description + "Crypto GDOI Local Key server Information"; + leaf ks-addr { + type inet:ip-address; + description + "Local Key Server Address"; + } + leaf priority { + type uint8; + description + "Local KS Priority"; + } + leaf role { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-role; + description + "Local KS Role"; + } + leaf status { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-status; + description + "Local KS Status"; + } + leaf version { + type string; + description + "Local KS Version"; + } + leaf coop-version { + type string; + description + "Local KS COOP Version"; + } + leaf coop-refresh-time { + when "(../role = 'crypto-ks-role-primary')"; + type uint8; + units "seconds"; + description + "COOP KS(Co-operative KS) Refresh policy time + It is a constant value"; + } + leaf anti-replay-seq-num { + type uint16; + description + "Anti replay sequence number"; + } + leaf sec-refresh-time { + when "(../role = 'crypto-ks-role-secondary')"; + type uint8; + units "seconds"; + description + "Secondary KS periodic refresh time"; + } + container ks-timers { + description + "Primary and secondary KS timers"; + uses crypto-ios-xe-oper:local-ks-timers; + } + } + + grouping peer-coop-ks { + description + "Crypto GDOI Peer Key server Information"; + leaf ks-addr { + type inet:ip-address; + description + "Peer Key Server Address"; + } + leaf priority { + type uint8; + description + "Peer KS Priority"; + } + leaf role { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-role; + description + "Peer KS Role"; + } + leaf status { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-status; + description + "Peer KS Status"; + } + leaf version { + type string; + description + "Peer KS Version"; + } + leaf coop-version { + type string; + description + "Peer KS COOP Version"; + } + leaf anti-replay-seq-num { + type uint16; + description + "Anti replay sequence number"; + } + leaf ike-status { + type crypto-ios-xe-oper:coop-ike-status; + description + "Status of IKE connection"; + } + leaf ann-msgs-sent { + type uint16; + description + "Announcement messages sent"; + } + leaf reply-req-sent { + type uint16; + description + "Reply requests sent"; + } + leaf ann-msgs-rcv { + type uint16; + description + "Announcement messages received"; + } + leaf reply-req-rcv { + type uint16; + description + "Reply requests received"; + } + leaf pkts-sent-drops { + type uint32; + description + "COOP packets sent drops"; + } + leaf pkts-rcv-drops { + type uint32; + description + "COOP packets receive drops"; + } + leaf bytes-sent { + type uint32; + description + "Total bytes sent"; + } + leaf bytes-rcv { + type uint32; + description + "Total bytes received"; + } + leaf protocol { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-protocol; + description + "Peer KS protocol"; + } + } + + grouping crypto-gdoi-ks-coop-entry { + description + "Crypto GDOI KS COOP Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf redundancy { + type boolean; + description + "True if redundancy is configured"; + } + container local-ks { + when "(../redundancy = 'true')"; + description + "Local KS COOP Information"; + uses crypto-ios-xe-oper:local-coop-ks; + } + list peer-ks { + when "(../redundancy = 'true')"; + description + "Peer KS COOP Information"; + uses crypto-ios-xe-oper:peer-coop-ks; + } + } + + grouping sid-client { + description + "Crypto GDOI COOP KS SID Client Information"; + leaf role { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-role; + description + "Key server role"; + } + leaf status { + type crypto-ios-xe-oper:crypto-gdoi-coop-ks-status; + description + "Key server status"; + } + leaf local-addr { + type inet:ip-address; + description + "Key server IP address"; + } + leaf next-sid-operation { + type crypto-ios-xe-oper:coop-ks-next-sid-operation; + description + "COOP KS SID next client operation"; + } + leaf re-init { + type boolean; + description + "TRUE if the group is re-initializing"; + } + leaf kssid-overlap { + type boolean; + description + "TRUE if there is KSSID overlap with peer KSs"; + } + leaf cfg-sid-len { + type uint8; + description + "Configured SID length"; + } + leaf used-sid-len { + type uint8; + description + "Used SID length"; + } + leaf cfg-group-size { + type crypto-ios-xe-oper:coop-ks-group-size; + description + "Configured group size"; + } + leaf used-group-size { + type crypto-ios-xe-oper:coop-ks-group-size; + description + "Used group size"; + } + leaf curr-kssid { + type uint8; + description + "Current KSSID in use"; + } + container kssid-assigned { + description + "Assigned range of KSSID"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + container kssid-used { + description + "Used set of KSSID"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + container old-kssid-used { + description + "Old used set of KSSID"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + } + + grouping crypto-gdoi-ks-coop-ident { + description + "Crypto GDOI COOP KS Sender ID Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + container local-ks { + description + "Local COOP KSSID Information"; + uses crypto-ios-xe-oper:sid-client; + } + leaf redundancy { + type boolean; + description + "True if redundancy is configured"; + } + leaf detail { + type boolean; + description + "True if detail is present"; + } + list peer-ks { + when "(../redundancy = 'true') and (../detail = 'true')"; + description + "Peer KS COOP KSSID Information"; + uses crypto-ios-xe-oper:sid-client; + } + } + + grouping gdoi-coop-version { + description + " Client Version information"; + leaf client-name { + type crypto-ios-xe-oper:crypto-client-name; + description + "Crypto GDOI client name"; + } + leaf client-version { + type string; + description + "Client Version information"; + } + } + + grouping crypto-gdoi-ks-coop-version { + description + "Crypto GDOI KS Coop Version Information"; + leaf coop-ks-infra-version { + type string; + description + "Cooperative key server infra Version"; + } + list coop-ks-version { + description + "Coop Version information"; + uses crypto-ios-xe-oper:gdoi-coop-version; + } + } + + grouping crypto-gdoi-ks-replay-entry { + description + "Crypto GDOI KS Replay Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf time-based-replay { + type boolean; + description + "Time based Replay"; + } + leaf replay-value { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Replay value"; + } + leaf rem-sync-time { + when "(../time-based-replay = 'true')"; + type uint32; + units "seconds"; + description + "Remaining sync time + Reference time is last sync time stamp + This is the time remaining to sync the pseudo time."; + } + leaf last-sync-timestamp { + when "(../time-based-replay = 'true')"; + type yang:date-and-time; + description + "Time at which the next sync happens and time between every sync is 7200 seconds"; + } + } + + grouping crypto-gdoi-ks-ident { + description + "Crypto GDOI KS Identifier Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf transform-mode { + type crypto-ios-xe-oper:crypto-gdoi-transform-mode; + description + "The transform mode of the group"; + } + leaf suite-b-mode { + type boolean; + description + "TRUE if Suite b mode is enabled"; + } + leaf re-init { + type boolean; + description + "TRUE if KSSID is Re-initializing"; + } + leaf sid-len { + type uint8; + description + "Length of Sender ID (SID)"; + } + leaf group-size { + type crypto-ios-xe-oper:coop-ks-group-size; + description + "Group size of Sender ID (SID)"; + } + leaf curr-kssid { + type uint8; + description + "Current KSSID in use"; + } + leaf last-gmsid { + type uint32; + description + "Last GMSID used"; + } + leaf detail { + type boolean; + description + "TRUE if any detail command is selected"; + } + leaf kssid-assigned { + when "(../detail = 'true')"; + type uint32; + status deprecated; + description + "KSSID assigned range"; + } + leaf kssid-used { + when "(../detail = 'true')"; + type uint32; + status deprecated; + description + "KSSID used set"; + } + leaf old-kssid-used { + when "(../detail = 'true')"; + type uint32; + status deprecated; + description + "KSSID used (old) set"; + } + leaf kssid-available { + when "(../detail = 'true')"; + type uint32; + status deprecated; + description + "KSSID available range"; + } + leaf kssid-re-init { + when "(../detail = 'true')"; + type uint8; + description + "The value of KSSID for Remaining SID to Re-initialize at"; + } + leaf gmsid-re-init { + when "(../detail = 'true')"; + type uint32; + description + "The value of GMSID for Remaining SID to Re-initialize at"; + } + leaf num-kssid-remain { + when "(../detail = 'true')"; + type uint32; + description + "The number of SIDs Remaining for Current KSSID"; + } + leaf num-kssid-re-init { + when "(../detail = 'true')"; + type uint32; + description + "The number of SIDs Remaining until Re-initialization"; + } + container kssids-assigned { + when "(../detail = 'true')"; + description + "KSSID assigned range"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + container kssids-used { + when "(../detail = 'true')"; + description + "KSSID used set"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + container old-kssids-used { + when "(../detail = 'true')"; + description + "KSSID used (old) set"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + container kssids-available { + when "(../detail = 'true')"; + description + "KSSID available range"; + uses crypto-ios-xe-oper:crypto-gdoi-kssid; + } + } + + grouping gdoi-gm-sid-interface { + description + "Crypto GDOI GM Current SID Shared Interface Information"; + leaf if-name { + type string; + description + "Name of the interface"; + } + leaf pkts-per-sec { + type uint32; + description + "Number of Packets per second "; + } + leaf req { + type uint32; + description + "Number of SID Requests"; + } + leaf recv { + type uint32; + description + "Number of SIDs Received"; + } + leaf low-sid-range { + type uint32; + description + "Lower Value of Installed SID Range"; + } + leaf high-sid-range { + type uint32; + description + "Higher Value of Installed SID Range"; + } + } + + grouping gdoi-gm-sid-current { + description + "Crypto GDOI GM Current SID Information"; + leaf shared-across-interface { + type boolean; + description + "TRUE if shared across interface"; + } + leaf sid-len { + type uint8; + description + "Length of Sender ID (SID)"; + } + leaf group-size { + type crypto-ios-xe-oper:coop-ks-group-size; + description + "Group size of current Sender ID (SID)"; + } + leaf num-sid-dwnld { + type uint8; + description + "Number of Sender ID (SID) downloaded"; + } + leaf first-sid-dwnld { + type uint32; + description + "First Sender ID (SID) downloaded"; + } + leaf last-sid-dwnld { + type uint32; + description + "Last Sender ID (SID) downloaded"; + } + list if-entry { + when "(../../suite-b-mode = 'true') and (../../detail = 'true')"; + description + "Interface Details with shared SID"; + uses crypto-ios-xe-oper:gdoi-gm-sid-interface; + } + } + + grouping crypto-gdoi-gm-id-entry { + description + "Group Member information"; + leaf gm-ip { + type inet:ip-address; + description + "Group member IP address"; + } + leaf vrf-name { + type string; + description + "VRF configured on the interface"; + } + leaf transform-mode { + type crypto-ios-xe-oper:crypto-gdoi-transform-mode; + description + "The transform mode of the group"; + } + leaf sid-last-req { + type uint8; + description + "Number of SIDs Last requested"; + } + leaf suite-b-mode { + type boolean; + description + "TRUE if Suite b mode is enabled"; + } + leaf detail { + type boolean; + description + "TRUE if detail of the CLI is selected"; + } + container sid-current { + when "(../suite-b-mode = 'true')"; + description + "Current Sender ID (SID) and next Sender ID request information"; + uses crypto-ios-xe-oper:gdoi-gm-sid-current; + } + leaf next-sid-tek-lifetime { + when "(../detail = 'true')"; + type uint32; + units "seconds"; + description + " lifetime of TEK key of next SID request"; + } + leaf next-sid-sid-len { + when "(../detail = 'true')"; + type uint8; + description + "Length of Sender ID (SID) of next SID request"; + } + leaf next-sid-group-size { + when "(../detail = 'true')"; + type crypto-ios-xe-oper:coop-ks-group-size; + description + "Group size of current Sender ID (SID) next SID request"; + } + } + + grouping crypto-gdoi-gm-ident { + description + "Crypto GDOI GM Identifier Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + list gm-entry { + description + "Group Members information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-id-entry; + } + } + + grouping gdoi-gm-public-key { + description + "Crypto GDOI Public key Information"; + leaf kek-sa-type { + type crypto-ios-xe-oper:crypto-gdoi-kek-sa-type; + description + "Rekey (KEK) SA Type"; + } + leaf ks-ip { + type inet:ip-address; + description + "Key Server IP address"; + } + leaf conn-id { + type uint16; + description + "Connection Id"; + } + leaf my-cookie { + type uint32; + description + "My cookie during the connection"; + } + leaf his-cookie { + type uint32; + description + "Peer cookie during the connection"; + } + leaf key-data { + type binary; + description + "Public Key hexadecimal data"; + } + } + + grouping crypto-gdoi-gm-pubkey { + description + "Crypto GDOI Public keys downloaded from KS Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + list public-key-entry { + description + "GM Public Key Information"; + uses crypto-ios-xe-oper:gdoi-gm-public-key; + } + } + + grouping crypto-gdoi-gm-stats-entry { + description + "Crypto GDOI GM(Group Member) Dataplane Stats"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf pkts-encrypt { + type uint32; + description + "Packets encrypted"; + } + leaf pkts-decrypt { + type uint32; + description + "Packets decrypted"; + } + leaf pkts-tagged { + type uint32; + description + "Packets tagged (SEND)"; + } + leaf pkts-untagged { + type uint32; + description + "Packets untagged (RCV)"; + } + leaf pkts-no-sa { + type uint32; + description + "Packets no SA (SEND)"; + } + leaf pkts-invalid-sa { + type uint32; + description + "Packets invalid SA (RCV)"; + } + leaf pkts-encaps-fail { + type uint32; + description + "Packets encapsulation fail (SEND)"; + } + leaf pkts-decap-fail { + type uint32; + description + "Packets decapsulation fail (RCV)"; + } + leaf pkts-invalid-prot { + type uint32; + description + "Packets invalid protocol (RCV)"; + } + leaf pkts-verify-fail { + type uint32; + description + "Packets verify fail (RCV)"; + } + leaf pkts-not-tagged { + type uint32; + description + "Packets not tagged (SEND)"; + } + leaf pkts-not-untagged { + type uint32; + description + "Packets not untagged (RCV)"; + } + leaf pkts-internal-err-send { + type uint32; + description + "Packets internal error (SEND)"; + } + leaf pkts-internal-err-rcv { + type uint32; + description + "Packets internal error (RCV)"; + } + } + + grouping gdoi-kek-sa-info { + description + "Rekey (KEK) SA information"; + leaf kek-sa-type { + type crypto-ios-xe-oper:crypto-gdoi-kek-sa-type; + description + "Rekey (KEK) SA Type"; + } + leaf dst-ip { + type inet:ip-address; + description + "Rekey (KEK) SA Destination ip address"; + } + leaf src-ip { + type inet:ip-address; + description + "Rekey (KEK) SA Source ip address"; + } + leaf conn-id { + type uint16; + description + "Connection Id"; + } + leaf my-cookie { + type uint32; + description + "My cookie during the connection"; + } + leaf his-cookie { + type uint32; + description + "Peer cookie during the connection"; + } + } + + grouping crypto-gdoi-gm-rekey-entry { + description + "Crypto GDOI GM Rekey Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf transport-type { + type crypto-ios-xe-oper:crypto-rekey-trans-type; + description + "Rekey transport type"; + } + leaf total-rekeys-rcv { + type uint32; + description + "Total rekey received"; + } + leaf rekeys-rcv-after-reg { + type uint32; + description + "Rekey received after reg"; + } + leaf rekey-acks-sent { + type uint32; + description + "Rekey acknowledgements sent"; + } + leaf detail { + type boolean; + description + "Detail command enabled or not"; + } + list kek-sa { + when "(../detail = 'true')"; + description + "Rekey (KEK) SA information"; + uses crypto-ios-xe-oper:gdoi-kek-sa-info; + } + } + + grouping crypto-gdoi-gm-replay-entry { + description + "Crypto GDOI GM Replay Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf time-based-replay { + type boolean; + description + "True if time based replay is configured"; + } + leaf replay-value { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Replay value"; + } + leaf input-pkts { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Input packets"; + } + leaf output-pkts { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Output Packets"; + } + leaf input-error-pkts { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Input error packets"; + } + leaf output-error-pkts { + when "(../time-based-replay = 'true')"; + type uint32; + description + "Output error packets"; + } + leaf time-sync-error { + when "(../time-based-replay = 'true')"; + type uint32; + units "seconds"; + description + "The difference of pseudo time between the Group members"; + } + leaf max-time-delta { + when "(../time-based-replay = 'true')"; + type uint32; + units "seconds"; + description + "Max time difference between the GMs"; + } + } + + grouping ks-mem-ks-entry { + description + "Crypto GDOI KS Information"; + leaf ks-ip { + type inet:ip-address; + description + "IP address of KS"; + } + leaf gmdb-state { + type crypto-ios-xe-oper:coop-ks-gmdb-state; + description + "GM Database state"; + } + leaf group-mem { + type uint32; + description + "Number of GMs registered to this KS"; + } + } + + grouping ks-mem-gm-entry { + description + "Entry for each Group Member"; + leaf gm-number { + type uint32; + description + "Position of GM in the list"; + } + leaf gm-id { + type inet:ip-address; + description + "Group member IP address"; + } + leaf gm-ver { + type string; + description + "GM version"; + } + leaf group-type { + type crypto-ios-xe-oper:crypto-gdoi-group-type; + description + "Group type"; + } + leaf gm-state { + type crypto-ios-xe-oper:crypto-gdoi-gm-state; + description + "GM state"; + } + leaf ks-id { + type inet:ip-address; + description + "Key server ID"; + } + leaf rekeys-sent { + type uint32; + description + "Number of rekey sent"; + } + leaf rekey-retries { + type uint32; + description + "Number of rekey retries"; + } + leaf rekey-acks-rcvd { + type uint32; + description + "Number of rekey acks received"; + } + leaf rekey-acks-missed { + type uint32; + description + "Number of rekey acks missed"; + } + } + + grouping crypto-gdoi-ks-mem-entry { + description + "Crypto GDOI KS members Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf group-id { + type uint32; + description + "Group ID"; + } + leaf tot-group-mem { + type uint32; + description + "Total GMs in the group"; + } + leaf num-rekeys-sent { + type uint32; + description + "Number of rekey sent"; + } + leaf num-rexmit { + type uint32; + description + "Number of rekey retransmit during last rekey"; + } + leaf duration { + type uint32; + units "seconds"; + description + "Duration of last rekey(in msec)"; + } + list ks-entry { + description + "Entry of each KS"; + uses crypto-ios-xe-oper:ks-mem-ks-entry; + } + list gm-entry { + key "gm-number"; + description + "Entry for each GM"; + uses crypto-ios-xe-oper:ks-mem-gm-entry; + } + } + + grouping gdoi-gm-entry { + description + "Entry for each GM Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf local-addr { + type inet:ip-address; + description + "Local address of GM"; + } + leaf remote-addr { + type inet:ip-address; + description + "Registered with KS (Remote KS address)"; + } + leaf vrf-enabled { + type boolean; + description + "True if VRF (Virtual Routing and Forwarding) is enabled"; + } + leaf vrf-name { + when "(../vrf-enabled='true')"; + type string; + description + "VRF configured on the interface"; + } + leaf gm-ver { + type string; + description + "GM Version"; + } + leaf gm-state { + type crypto-ios-xe-oper:crypto-gdoi-gm-state; + description + "GM registration status"; + } + leaf prev-reg-time { + when "(../gm-state = 'crypto-reg-status-registered')"; + type yang:date-and-time; + description + "Previous registration timestamp"; + } + leaf secs-to-re-reg { + type uint32; + units "seconds"; + description + "GM re-registers after in seconds. + Reference time is previous registration time stamp. + This is the time remaining until the GM re-registers"; + } + leaf succ-reg { + type uint32; + description + "The number of successful registrations"; + } + leaf att-reg { + type uint32; + description + "Number of attempted registrations"; + } + leaf last-rekey-from-ks { + type inet:ip-address; + description + "Last rekey from KS"; + } + leaf last-rekey-seq-num { + type uint32; + description + "Sequence number of last rekey"; + } + leaf last-rekey-time { + when "(../rekeys-rcvd > 0) and (../gm-state = 'crypto-reg-status-registered')"; + type yang:date-and-time; + description + "Last rekey timestamp"; + } + leaf rekeys-rcvd { + when "(../gm-state = 'crypto-reg-status-registered')"; + type uint32; + description + "Number of unicast rekey received"; + } + leaf rekey-acks-sent { + when "(../gm-state = 'crypto-reg-status-registered')"; + type uint32; + description + "Number of Rekey acknowledgements sent"; + } + leaf pfs-rekeys { + type uint32; + description + "Number of PFS rekey received"; + } + leaf dp-error { + type boolean; + description + "True if DataPlane Error monitoring is enabled"; + } + leaf dp-interval { + type uint32; + description + "DP Interval"; + } + leaf dp-reg { + type uint32; + description + "DP registration count"; + } + leaf num-ipsec-init-reg-exec { + type uint32; + description + "Number of IPSec initialization registrations executed"; + } + leaf num-ipsec-init-reg-ppnd { + type uint32; + description + "Number of IPSec initialization registrations postponed"; + } + leaf active-tek-count { + type uint8; + description + "Active TEK count"; + } + leaf sa-track { + type boolean; + description + "True if SA tracking is enabled"; + } + leaf sa-track-oid { + when "(../sa-track='true')"; + type uint32; + description + "SA Track object identifier"; + } + leaf sa-track-is-up { + when "(../sa-track='true')"; + type boolean; + description + "SA Tracking status"; + } + leaf fail-close-revert { + type boolean; + description + "Fail-close revert"; + } + leaf ks-policy-removal-time { + when "(../fail-close-revert='true')"; + type yang:date-and-time; + description + "KS policy removal timestamp"; + } + } + + grouping crypto-gdoi-gm-entry { + description + "Crypto GDOI GM Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf sa-dir { + type crypto-ios-xe-oper:crypto-ipsec-sa-direction; + description + "Indicates the SA direction is active in inbound direction or both directions"; + } + leaf acl-rcvd { + type string; + description + "ACL Received from KS"; + } + list gm-entry { + description + "Entry for each GM"; + uses crypto-ios-xe-oper:gdoi-gm-entry; + } + } + + grouping crypto-gdoi-ipsec-sa { + description + "Crypto GDOI IPSec SA Information"; + leaf ipsec-sa-num { + type uint16; + description + "IPSec SA number"; + } + leaf tek-birth-time { + type yang:date-and-time; + description + "TEK birth timestamp and also called as last TEK rekey timestamp"; + } + leaf tek-lifetime { + type uint32; + units "seconds"; + description + "Configured IPSec SA TEK lifetime. It is a constant value. + This is the lifetime of TEK key starting from TEK birth time"; + } + leaf rem-tek-lifetime { + type uint32; + units "seconds"; + description + "Remaining lifetime of this TEK + Reference time is the TEK birth timestamp of this TEK + This is the time remaining for the KEK to reach its expiry"; + } + leaf rem-time-tek-rekey { + type uint32; + units "seconds"; + description + "Remaining time until rekey + Reference time is the TEK birth timestamp of this TEK + This is the time remaining until KS sends a new TEK rekey + Key server sends rekey even before the old TEK expires"; + } + } + + grouping crypto-ks-rekey-entry { + description + "Crypto KS Rekey information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf rekey-ack { + type crypto-ios-xe-oper:crypto-rekey-ack-type; + description + "Acknowledgement type in-use"; + } + leaf rekey-in-progress { + type boolean; + description + "Rekey in-progress"; + } + leaf rekeys-sent { + type uint32; + description + "Number of rekey sent"; + } + leaf rekeys-rexmit { + type uint32; + description + "Number of rekey retransmitted"; + } + leaf kek-lifetime { + type uint32; + units "seconds"; + description + "Configured KEK lifetime in seconds. It is a constant value. + It is the lifetime of the KEK rekey starting from KEK birth timestamp"; + } + leaf kek-birth-time { + type yang:date-and-time; + description + "KEK birth timestamp and also called as last KEK rekey timestamp"; + } + leaf kek-rem-life { + type uint32; + units "seconds"; + description + "KEK remaining lifetime in seconds. + Reference time is KEK birth timestamp. + It is the remaining lifetime till the KEK reaches its expiry"; + } + leaf rem-time-kek-rekey { + type uint32; + units "seconds"; + description + "It is the time remaining until KS sends a new KEK rekey + Reference time is KEK birth timestamp + Key server sends rekey even before the old KEK expiry"; + } + leaf rexmit-period { + type uint32; + units "seconds"; + description + "Rekey Retransmit period"; + } + leaf num-rexmit { + type uint32; + description + "Number of rekey retransmissions"; + } + leaf cur-rexmit { + type uint32; + description + "Current number of rekey retransmissions"; + } + list ipsec-sa { + description + "IPSec SA information"; + uses crypto-ios-xe-oper:crypto-gdoi-ipsec-sa; + } + leaf delete-in-progress { + type boolean; + description + "True if delete in-progress"; + } + } + + grouping crypto-gdoi-tek { + description + "Crypto GDOI TEK policy"; + leaf encaps-mode { + type crypto-ios-xe-oper:crypto-encaps-mode; + description + "Encapsulation mode"; + } + leaf tek-spi { + type string; + description + "TEK SPI"; + } + leaf acl { + type string; + description + "Name of the access-list"; + } + leaf transform-mode { + type crypto-ios-xe-oper:crypto-transform-options; + description + "The cryptographic transform mode"; + } + leaf alg-key-size { + type uint8; + units "bits"; + description + "Algorithm key size"; + } + leaf sig-key-size { + type uint8; + units "bits"; + description + "Signature key size"; + } + leaf orig-life { + type uint32; + units "seconds"; + description + "Configured lifetime of this TEK. It is a constant value. + It is the lifetime of the TEK starting from TEK birth time"; + } + leaf tek-birth-time { + type yang:date-and-time; + description + "TEK birth timestamp and also called as last TEK rekey timestamp"; + } + leaf rem-life { + type uint32; + units "seconds"; + description + "It is the remaining time until the TEK reaches its expiry. + Reference time is TEK birth timestamp"; + } + leaf override-life { + type uint32; + units "seconds"; + description + "Override life in seconds. + This is the new lifetime of the TEK that will be over ridden when there is a policy change in the group + It is a constant value calculated based on the original life (configured lifetime) of the TEK"; + } + leaf anti-replay-window { + type uint8; + units "seconds"; + description + "Anti replay window size"; + } + leaf time-to-rekey { + type uint32; + units "seconds"; + description + "It is the time remaining until KS sends a new TEK rekey. + Reference time is TEK birth timestamp + Key server sends rekey even before the old TEK expires"; + } + } + + grouping crypto-gdoi-kek { + description + "Crypto GDOI KEK policy"; + leaf rekey-transport-type { + type crypto-ios-xe-oper:crypto-rekey-trans-type; + description + "Rekey transport type"; + } + leaf kek-spi { + type string; + description + "KEK SPI"; + } + leaf mgmt-alg { + type boolean; + description + "Management algorithm"; + } + leaf encr-alg { + type crypto-ios-xe-oper:crypto-rekey-encr-alg; + description + "Encryption algorithm"; + } + leaf crypto-iv-len { + type uint8; + units "bytes"; + description + "Crypto IV length"; + } + leaf key-size { + type uint8; + units "bytes"; + description + "Key size"; + } + leaf orig-life { + type uint32; + units "seconds"; + description + "Configured life of this KEK. It is a constant value. + It is the lifetime of KEK starting from KEK birth time"; + } + leaf kek-birth-time { + type yang:date-and-time; + description + "Birth time of this KEK and also called as last KEK rekey timestamp"; + } + leaf rem-life { + type uint32; + units "seconds"; + description + "KEK remaining lifetime in seconds. + Reference time is KEK birth timestamp. + It is the time remaining until the KEK reaches its expiry"; + } + leaf time-to-rekey { + type uint32; + units "seconds"; + description + "Reference time is KEK birth timestamp + It is the time remaining until KS sends a new KEK rekey + Key server sends rekey even before the old KEK expires"; + } + leaf sig-hash-alg { + type boolean; + description + "Signature hash algorithm"; + } + leaf sig-key-len { + type uint16; + units "bits"; + description + "Signature key length"; + } + leaf sig-size { + type uint16; + units "bits"; + description + "Signature size"; + } + leaf sig-key-name { + type string; + description + "Signature key name"; + } + leaf rekey-ack-type { + type crypto-ios-xe-oper:crypto-rekey-ack-type; + description + "Rekey acknowledgement type"; + } + } + + grouping ks-policy-ks-entry { + description + "Crypto GDOI KS policy of each KS"; + leaf ks-ip { + type inet:ip-address; + description + "IP Address of Key server"; + } + leaf total-tek { + type uint8; + description + "Total number of TEK"; + } + leaf seq-num { + type uint32; + description + "Sequence number"; + } + leaf valid-kek { + type boolean; + description + "True if valid KEK is present for the current key server"; + } + container kek { + when "(../valid-kek='true')"; + description + "KEK policy"; + uses crypto-ios-xe-oper:crypto-gdoi-kek; + } + list tek { + description + "TEK policy list"; + uses crypto-ios-xe-oper:crypto-gdoi-tek; + } + } + + grouping crypto-gdoi-ks-policy { + description + "Crypto GDOI KS policy Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + list ks-entry { + description + "Each KS entry"; + uses crypto-ios-xe-oper:ks-policy-ks-entry; + } + } + + grouping kek-sa-db-stats { + description + "Database statistics of KEK SA (Security Association)"; + leaf num-active { + type uint32; + description + "Number of active KEK"; + } + leaf num-malloc { + type uint32; + description + "Number of KEK allocated memory"; + } + leaf num-free { + type uint32; + description + "Number of KEK freed"; + } + } + + grouping rekey-sa-kek { + description + "Crypto GDOI Rekey SA KEK Information"; + leaf transport-type { + type crypto-ios-xe-oper:crypto-rekey-trans-type; + description + "Rekey transport type"; + } + leaf local-addr { + type inet:ip-address; + description + "Local IP Address"; + } + leaf remote-addr { + type inet:ip-address; + description + "Remote IP Address"; + } + leaf kek-spi { + type string; + description + "KEK SPI"; + } + leaf mgmt-alg { + type boolean; + description + "Management algorithm"; + } + leaf encr-alg { + type crypto-ios-xe-oper:crypto-rekey-encr-alg; + description + "Encryption algorithm"; + } + leaf crypto-iv-len { + type uint8; + units "bytes"; + description + "Crypto IV length"; + } + leaf key-size { + type uint8; + units "bytes"; + description + "Key size"; + } + leaf birth-time { + type yang:date-and-time; + description + "KEK birth timestamp and also called as last KEK rekey timestamp"; + } + leaf orig-life { + type uint32; + units "seconds"; + description + "Configured lifetime of the key. It is a constant value. + KEK is valid till original life seconds after the birth time"; + } + leaf sig-hash-alg { + type boolean; + description + "Signature hash algorithm"; + } + leaf sig-key-len { + type uint16; + units "bits"; + description + "Signature key length"; + } + leaf sig-size { + type uint16; + units "bits"; + description + "Signature size"; + } + leaf rekey-ack-type { + type crypto-ios-xe-oper:crypto-rekey-ack-type; + description + "Rekey acknowledgement type"; + } + leaf ikev1-conn-id { + type uint16; + description + "IKEV1 connection ID"; + } + leaf ikev2-conn-id { + type uint16; + description + "IKEV2 connection ID"; + } + leaf seq-num { + type uint32; + description + "Sequence number"; + } + leaf prev-seq-num { + type uint32; + description + "Previous sequence number"; + } + leaf ike-handle { + type string; + description + "Established IKE handle"; + } + leaf gm-mode { + type boolean; + description + "True if the device is in GM mode"; + } + leaf if-name { + when "(../gm-mode = 'true')"; + type string; + description + "Name of the interface through which the GM registered"; + } + } + + grouping kek-rekey-sa { + description + "Crypto GDOI Rekey SA KEK Information"; + leaf dst-ip { + type inet:ip-address; + description + "Rekey (KEK) SA Destination ip address"; + } + leaf src-ip { + type inet:ip-address; + description + "Rekey (KEK) SA Source ip address"; + } + leaf conn-id { + type uint16; + description + "Connection Id"; + } + leaf active-status { + type boolean; + description + "True if Status is active"; + } + } + + grouping crypto-gdoi-rekey-sa-info { + description + "Crypto GDOI Rekey SA Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + list kek-rekey-info { + description + "KEK SA Database "; + uses crypto-ios-xe-oper:kek-rekey-sa; + } + } + + grouping crypto-gdoi-rekey-sa { + description + "Crypto GDOI Rekey SA Information"; + leaf group-name { + type string; + description + "Name of the group"; + } + container kek-db-stats { + description + "KEK SA Database Statistics"; + uses crypto-ios-xe-oper:kek-sa-db-stats; + } + list kek-entry { + description + "Each entry of KEK policy"; + uses crypto-ios-xe-oper:rekey-sa-kek; + } + } + + grouping crypto-gdoi-feature-entry { + description + "Crypto GDOI feature specific information of each entry"; + leaf ip-addr { + type inet:ip-address; + description + "IP address of the entry"; + } + leaf gdoi-version { + type string; + description + "GDOI version of the entry"; + } + leaf feature-supported { + type boolean; + description + "TRUE if the feature is supported"; + } + } + + grouping crypto-gdoi-feature-key { + description + "Crypto GDOI feature specific key information"; + leaf group-name { + type string; + description + "Name of the group"; + } + leaf feature-id { + type crypto-ios-xe-oper:crypto-gdoi-feature-options; + description + "GDOI/GIKEv2 Feature Id"; + } + } + + grouping crypto-gdoi-feature-info { + description + "Crypto GDOI feature specific information"; + leaf is-ks { + type boolean; + description + "TRUE if the device is key server (KS)"; + } + list ks-entry { + description + "Feature specific information of each KS entry"; + uses crypto-ios-xe-oper:crypto-gdoi-feature-entry; + } + list gm-entry { + description + "Feature specific information of each registered GM entry"; + uses crypto-ios-xe-oper:crypto-gdoi-feature-entry; + } + } + + grouping crypto-acl-protocol { + description + "Protocol to match packets"; + choice proto-choice { + description + "Protocol configuration options"; + case proto-any { + leaf any { + type empty; + description + "Any IP protocol"; + } + } + case proto-number { + leaf number { + type uint8; + description + "Number assigned to the IP protocol"; + } + } + case proto-object-group { + leaf object-group { + type string; + description + "Service object-group name containing the protocol(s)"; + } + } + } + } + + grouping crypto-acl-port-data { + description + "ACL entry port configuration data"; + leaf port-oper { + type crypto-ios-xe-oper:crypto-acl-port-operator-type; + description + "Operation to use while checking if the protocol port matches the given port(s)"; + } + leaf-list port { + type uint16; + ordered-by user; + description + "When the port match is less than or greater than the given port then the port list will have one entry for the operation. When the port match is range then port list will have two values with the range being between the values. When the port match is equals and not equals to the given port, then there may be up to 10 number of ports."; + } + } + + grouping crypto-acl-port { + description + "Port configuration for the protocol"; + choice port-option-choice { + description + "Indicates whether the port was configured"; + case port-any { + leaf any { + type empty; + description + "Port is not configured. So, all ports will be matched"; + } + } + case port-conf { + container port-data { + description + "Port configuration to be matched against the packet"; + uses crypto-ios-xe-oper:crypto-acl-port-data; + } + } + } + } + + grouping crypto-acl-v4-address-wildcard { + description + "IPv4 network address and wildcard"; + leaf address { + type inet:ipv4-address; + description + "IPv4 network address"; + } + leaf wildcard { + type inet:ipv4-address; + description + "Wildcard or inverted network mask"; + } + } + + grouping crypto-acl-v4-address { + description + "IPv4 address to be matched in this position"; + choice v4-address-choice { + description + "Options to configure IPv4 address"; + case v4-addr-wildcard { + container addr-wcard { + description + "IPv4 address and wildcard"; + uses crypto-ios-xe-oper:crypto-acl-v4-address-wildcard; + } + } + case v4-host { + leaf host { + type inet:ipv4-address; + description + "IPv4 host address"; + } + } + case v4-object-group { + leaf object-group { + type string; + description + "IPv4 network object group containing IPv4 addresses"; + } + } + case v4-fqdn-group { + leaf fqdn-group { + type string; + description + "Name of the FQDN group associated with this entry"; + } + } + case v4-any { + leaf any { + type empty; + description + "Any IPv4 address in this position"; + } + } + case v4-geo-group { + leaf geo-group { + type string; + description + "Name of the geolocation group associated with this entry"; + } + } + } + } + + grouping crypto-acl-v4-extended-ace-data { + description + "IPv4 ACE data"; + leaf action { + type crypto-ios-xe-oper:crypto-acl-action-type; + description + "Indicates if the packets were permitted or denied"; + } + container proto { + description + "Protocol used to match the packets"; + uses crypto-ios-xe-oper:crypto-acl-protocol; + } + container src-addr { + description + "Source address used to match the packets"; + uses crypto-ios-xe-oper:crypto-acl-v4-address; + } + container src-port { + description + "Source port used to match the packets"; + uses crypto-ios-xe-oper:crypto-acl-port; + } + container dest-addr { + description + "Destination address used to match the packets"; + uses crypto-ios-xe-oper:crypto-acl-v4-address; + } + container dest-port { + description + "Destination port used to match the packets"; + uses crypto-ios-xe-oper:crypto-acl-port; + } + } + + grouping cry-ace-rule-data { + description + "ACL entry parameters used for matching"; + container v4-ext-ace-rule { + description + "IPv4 extended ACL rule matching parameters"; + uses crypto-ios-xe-oper:crypto-acl-v4-extended-ace-data; + } + } + + grouping crypto-ace-oper-data { + description + "ACE operational data"; + leaf match-counter { + type yang:counter64; + description + "Number of matches for an access list entry"; + } + } + + grouping crypto-acl-entry { + description + "Entry representing ACE list entry"; + leaf rule-name { + type uint32; + description + "Entry number"; + } + container ace-data { + description + "Per access list entry traffic match data"; + uses crypto-ios-xe-oper:crypto-ace-oper-data; + } + container acl-rules { + description + "Per access list entries rule data"; + uses crypto-ios-xe-oper:cry-ace-rule-data; + } + } + + grouping crypto-acl { + description + "A list of access-list-entry(ACE)"; + leaf group-name { + type string; + description + "Name of the group"; + } + list dwnld-acl-entry { + key "rule-name"; + description + "Downloaded access-list-entry(ACE) information"; + uses crypto-ios-xe-oper:crypto-acl-entry; + } + list local-acl-entry { + key "rule-name"; + description + "Local access-list-entry(ACE) information"; + uses crypto-ios-xe-oper:crypto-acl-entry; + } + } + + grouping crypto-ks-acl { + description + "A list of access-list(ACL)"; + leaf group-name { + type string; + description + "Name of the group"; + } + list ks-acl-entry { + key "rule-name"; + description + " access-list(ACL) information of Key Server"; + uses crypto-ios-xe-oper:crypto-acl-entry; + } + } + + grouping crypto-ikev2-stats-resp { + description + "Crypto IKEV2 Peer Admission Statistics"; + leaf max-cac-incoming { + type uint32; + description + "Maximum number of concurrent incoming in-negotiation requests"; + } + leaf cur-in-sa { + type uint64; + description + "Current number of incoming SAs"; + } + leaf cur-in-sa-active { + type uint64; + description + "Current number of incoming active SAs"; + } + leaf cur-in-sa-nego { + type uint64; + description + "Current number of incoming in-negotiation SAs"; + } + leaf cur-active-peer-ios-xe { + type uint32; + description + "Current Number of active IOS-XE peers"; + } + leaf cur-active-peer-anyconnect { + type uint32; + description + "Current number of active Anyconnect peers"; + } + leaf cur-active-peer-other { + type uint32; + description + "Current number of active peers other than IOS-XE and Anyconnect"; + } + } + + grouping crypto-ikev2-stats { + description + "Crypto IKEV2 Statistics"; + leaf sys-res-limit { + type uint32; + description + "System Resource Limit"; + } + leaf sa-limit { + type uint32; + description + "Maximum number of IKEv2 SAs supported"; + } + leaf sa-in-nego-limit { + type uint32; + description + "Maximum number of IKEv2 in SAs in negotiation state"; + } + leaf sa-out-nego-limit { + type uint32; + description + "Maximum number of IKEv2 out SAs in negotiation state"; + } + leaf cur-in-sa { + type uint64; + description + "Current number of incoming SAs"; + } + leaf cur-in-sa-active { + type uint64; + description + "Current number of incoming active SAs"; + } + leaf cur-in-sa-nego { + type uint64; + description + "Current number of incoming in-negotiation SAs"; + } + leaf cur-out-sa { + type uint64; + description + "Current number of outgoing SAs"; + } + leaf cur-out-sa-active { + type uint64; + description + "Current number of outgoing active SAs"; + } + leaf cur-out-sa-nego { + type uint64; + description + "Current number of outgoing in-negotiation SAs"; + } + leaf tot-in-req { + type uint64; + description + "Total number of incoming IKEv2 requests"; + } + leaf tot-in-req-acpt { + type uint64; + description + "Total number of incoming IKEv2 requests accepted"; + } + leaf tot-in-req-rej { + type uint64; + description + "Total number of incoming IKEv2 requests rejected"; + } + leaf tot-out-req { + type uint64; + description + "Total number of outgoing IKEv2 requests"; + } + leaf tot-out-req-acpt { + type uint64; + description + "Total number of outgoing IKEv2 requests accepted"; + } + leaf tot-out-req-rej { + type uint64; + description + "Total number of outgoing IKEv2 requests rejected"; + } + leaf tot-req-rej { + type uint64; + description + "Total number of IKEv2 requests rejected"; + } + leaf tot-req-rej-resource { + type uint64; + description + "Total number of IKEv2 requests rejected due to insufficient resources"; + } + leaf tot-req-rej-sa-limit { + type uint64; + description + "Total number of IKEv2 requests rejected due to the max SA limit has been reached"; + } + leaf tot-pkt-drop { + type uint64; + description + "Total number of packets dropped at dispatch"; + } + leaf tot-req-drop-queue-limit { + type uint64; + description + "Total number of requests dropped due to LOW Q limit reached"; + } + leaf tot-in-cookie-req { + type uint64; + description + "Total number of incoming IKEv2 cookie challenge requests received"; + } + leaf tot-in-cookie-req-acpt { + type uint64; + description + "Total number of incoming IKEv2 cookie challenge requests accepted "; + } + leaf tot-in-cookie-req-rej { + type uint64; + description + "Total number of incoming IKEv2 cookie challenge requests rejected"; + } + leaf tot-req-rej-no-cookie { + type uint64; + description + "Total number of incoming IKEv2 cookie challenge requests rejected because of no cookie"; + } + leaf tot-del-sess-cert-revoke { + type uint64; + description + "Total number of sessions that were deleted because of peer certificate revocation"; + } + leaf tot-quantum-res-sess { + type uint64; + description + "Total number of sessions with Quantum Resistance"; + } + leaf tot-quantum-res-sess-man { + type uint64; + description + "Total number of sessions with Manual Quantum Resistance"; + } + leaf tot-quantum-res-sess-dyn { + type uint64; + description + "Total number of sessions with Dynamic Quantum Resistance"; + } + leaf tot-ppk-ident-mismatch { + type uint64; + description + "Total number of PPK Identity mismatches"; + } + leaf tot-ppk-retr-fail { + type uint64; + description + "Total number of PPK Retrieval failures"; + } + leaf tot-ppk-retr-fail-mand { + type uint64; + description + "Total number of PPK Retrieval failure where PPK is mandatory"; + } + leaf tot-ppk-auth-fail { + type uint64; + description + "Total number of PPK Authentication failures"; + } + leaf tot-ppk-auth-fail-mand { + type uint64; + description + "Total number of PPK Authentication failures where PPK is mandatory"; + } + } + + grouping crypto-ikev2-sess { + description + "Crypto IKEV2 Session"; + leaf id { + type uint32; + description + "The unique session identifier"; + } + leaf sess-status { + type crypto-ios-xe-oper:crypto-ikev2-sess-status; + description + "The current session status"; + } + leaf ike-count { + type uint32; + description + "The IKE count"; + } + leaf child-count { + type uint32; + description + "The child count"; + } + } + + grouping crypto-ikev2-sess-brief { + description + "Crypto IKEV2 Session brief data"; + leaf sess-id { + type uint32; + description + "The unique session identifier"; + } + container sess { + description + "The session data"; + uses crypto-ios-xe-oper:crypto-ikev2-sess; + } + list sa { + description + "List of brief Security Association entries"; + uses crypto-ios-xe-oper:crypto-ike-sa-data; + } + } + + grouping crypto-ike-sa-child-selector { + description + "Crypto IKE SA child selector"; + leaf start-addr { + type inet:ip-address; + description + "The start of the address range"; + } + leaf start-port { + type uint16; + description + "The start of the port range"; + } + leaf end-addr { + type inet:ip-address; + description + "The end of the address range"; + } + leaf end-port { + type uint16; + description + "The end of the port range"; + } + } + + grouping crypto-ike-sa-child-data { + description + "Crypto IKE SA child data"; + list local { + description + "The local selector data"; + uses crypto-ios-xe-oper:crypto-ike-sa-child-selector; + } + list remote { + description + "The remote selector data"; + uses crypto-ios-xe-oper:crypto-ike-sa-child-selector; + } + leaf esp-spi-in { + type uint32; + description + "The ESP SPI in"; + } + leaf esp-spi-out { + type uint32; + description + "The ESP SPI out"; + } + leaf ah-spi-in { + type uint32; + description + "The AH SPI in"; + } + leaf ah-spi-out { + type uint32; + description + "The AH SPI out"; + } + leaf cpi-in { + type uint32; + description + "The CPI in"; + } + leaf cpi-out { + type uint32; + description + "The CPI out"; + } + leaf encr-algo { + type crypto-ios-xe-oper:crypto-encryption-alg; + description + "The encryption algorithm"; + } + leaf keysize { + type uint32; + description + "The key size"; + } + leaf esp-hmac { + type crypto-ios-xe-oper:crypto-hash-alg; + description + "The ESP HMAC"; + } + leaf ah-hmac { + type crypto-ios-xe-oper:crypto-hash-alg; + description + "The AH HMAC"; + } + leaf encap-type { + type crypto-ios-xe-oper:crypto-encap-type; + description + "The encapsulation method"; + } + } + + grouping crypto-ikev2-sess-detail { + description + "Crypto IKEV2 Session detail data"; + leaf sess-id { + type uint32; + description + "The unique session identifier"; + } + container sess { + description + "The session data"; + uses crypto-ios-xe-oper:crypto-ikev2-sess; + } + list sa { + description + "List of detailed Security Association entries"; + uses crypto-ios-xe-oper:crypto-ike-sa-detail-data; + } + list sa-child { + description + "List of child Security Association entries"; + uses crypto-ios-xe-oper:crypto-ike-sa-child-data; + } + } + + container crypto-oper-data { + config false; + description + "crypto operational data"; + list crypto-ipsec-ident { + key "interface"; + description + "Crypto IPSEC Identity Entry"; + uses crypto-ios-xe-oper:crypto-ipsec-ident-entry; + } + list crypto-ikev2-sa { + key "sa-id"; + description + "Crypto IKEv2 SA Entry"; + uses crypto-ios-xe-oper:crypto-ikev2-sa-entry; + } + container crypto-ikev2-stats { + presence "crypto-ikev2-stats"; + description + "Crypto IKEv2 statistics"; + uses crypto-ios-xe-oper:crypto-ikev2-stats; + } + container crypto-ikev2-stats-resp { + presence "crypto-ikev2-stats-resp"; + description + "Crypto IKEv2 Peer Admission statistics"; + uses crypto-ios-xe-oper:crypto-ikev2-stats-resp; + } + list crypto-ikev2-sess-brief { + key "sess-id"; + description + "Crypto IKEV2 Session brief data"; + uses crypto-ios-xe-oper:crypto-ikev2-sess-brief; + } + list crypto-ikev2-sess-detail { + key "sess-id"; + description + "Crypto IKEV2 Session detail data"; + uses crypto-ios-xe-oper:crypto-ikev2-sess-detail; + } + list crypto-ikev1-sa { + key "sa-id"; + description + "Crypto IKEv1 SA Entry"; + uses crypto-ios-xe-oper:crypto-ikev1-sa-entry; + } + container crypto-cerm-info { + presence "crypto-cerm-info"; + description + "Crypto Export Restrictions Entry"; + uses crypto-ios-xe-oper:crypto-cerm-info-entry; + } + container crypto-ipsec-policy-stats { + presence "crypto-ipsec-policy-stats"; + description + "Crypto policy statistics"; + uses crypto-ios-xe-oper:crypto-ipsec-policy-stats-entry; + } + list gdoi-gm { + key "group-name"; + description + "Crypto GDOI Group Member Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-entry; + } + list gdoi-gm-acl { + key "group-name"; + description + "Crypto GDOI Group Member downloaded ACL"; + uses crypto-ios-xe-oper:crypto-acl; + } + list gdoi-ks-acl { + key "group-name"; + description + "Crypto GDOI Key Server ACL"; + uses crypto-ios-xe-oper:crypto-ks-acl; + } + list gdoi-gm-dp-counters { + key "group-name"; + description + "Crypto GDOI Group Member Dataplane Counters"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-stats-entry; + } + list gdoi-gm-rekey { + key "group-name"; + description + "Crypto GDOI Group Member Rekey Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-rekey-entry; + } + list gdoi-gm-rekey-detail { + key "group-name"; + description + "Crypto GDOI Group Member Rekey Detailed Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-rekey-entry; + } + list gdoi-gm-replay { + key "group-name"; + description + "Crypto GDOI Group Member Replay Entry"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-replay-entry; + } + list gdoi-ks { + key "group-name"; + description + "Crypto GDOI(Group Domain of interpretation) Key Server Entry"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-entry; + } + list gdoi-ks-coop { + key "group-name"; + description + "Crypto GDOI Key Server Co operative Data"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-coop-entry; + } + list gdoi-ks-coop-ident { + key "group-name"; + description + "Crypto GDOI Key Server COOP Identifier Data"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-coop-ident; + } + list gdoi-ks-coop-ident-detail { + key "group-name"; + description + "Crypto GDOI Key Server COOP Identifier Detailed Data"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-coop-ident; + } + list gdoi-ks-mem { + key "group-name"; + description + "Crypto GDOI Key Server Members"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-mem-entry; + } + list gdoi-ks-policy { + key "group-name"; + description + "Crypto GDOI Key Server Policy"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-policy; + } + list gdoi-ks-rekey { + key "group-name"; + description + "Crypto GDOI Key Server Rekey Detail"; + uses crypto-ios-xe-oper:crypto-ks-rekey-entry; + } + container gdoi-ks-coop-version { + presence "gdoi-ks-coop-version"; + description + "Crypto GDOI Key Server Coop Version Information"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-coop-version; + } + list gdoi-ks-replay { + key "group-name"; + description + "Crypto GDOI Key Server Replay Entry"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-replay-entry; + } + list gdoi-ks-ident { + key "group-name"; + description + "Crypto GDOI KS Identifier Information"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-ident; + } + list gdoi-ks-ident-detail { + key "group-name"; + description + "Crypto GDOI KS Identifier Detailed Information"; + uses crypto-ios-xe-oper:crypto-gdoi-ks-ident; + } + list gdoi-gm-pubkey { + key "group-name"; + description + "Crypto GDOI Public keys downloaded from KS Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-pubkey; + } + list gdoi-gm-ident { + key "group-name"; + description + "Crypto GDOI GM Identifier Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-ident; + } + list gdoi-gm-ident-detail { + key "group-name"; + description + "Crypto GDOI GM Identifier Detailed Information"; + uses crypto-ios-xe-oper:crypto-gdoi-gm-ident; + } + list gdoi-rekey-sa-info { + key "group-name"; + description + "Crypto GDOI Rekey SA Information"; + uses crypto-ios-xe-oper:crypto-gdoi-rekey-sa-info; + } + list gdoi-rekey-sa { + key "group-name"; + description + "Crypto GDOI Rekey Security Association"; + uses crypto-ios-xe-oper:crypto-gdoi-rekey-sa; + } + list gdoi-feature { + key "group-name feature-id"; + description + "Crypto GDOI Feature Information"; + uses crypto-ios-xe-oper:crypto-gdoi-feature-key; + uses crypto-ios-xe-oper:crypto-gdoi-feature-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-events.yang new file mode 100644 index 000000000..aba62e4cc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-events.yang @@ -0,0 +1,237 @@ +module Cisco-IOS-XE-crypto-pki-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-crypto-pki-events"; + prefix crypto-pki-ios-xe-events; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for crypto PKI events data. + Copyright (c) 2019-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added new event type for certificate authentication failure"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Added new notification for EEM events"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container crypto-pki-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef pki-notification-severity { + type enumeration { + enum pki-notification-critical { + value 0; + description + "Critical severity notification"; + } + enum pki-notification-major { + value 1; + description + "Major severity notification"; + } + enum pki-notification-minor { + value 2; + description + "Minor severity notification"; + } + } + description + "PKI Notification Severity"; + } + + typedef pki-event-type { + type enumeration { + enum pki-certificate-install { + value 0; + description + "Certificate installation notification"; + } + enum pki-certificate-delete { + value 1; + description + "Certificate deletion notification"; + } + enum pki-certificate-scep-granted { + value 2; + description + "Certificate granted notification"; + } + enum pki-certificate-scep-rejected { + value 3; + description + "Certificate rejected notification"; + } + enum pki-certificate-scep-pending { + value 4; + description + "Certificate pending notification"; + } + enum pki-certificate-failure { + value 5; + description + "Certificate authentication failed"; + } + } + description + "PKI Event Type"; + } + + grouping pki-certificate-expiry-update { + description + "Certificate expiry update"; + leaf trust-point { + type string; + description + "Trustpoint name"; + } + leaf expires-at { + type yang:date-and-time; + description + "Absolute time of expiry"; + } + leaf is-ca-cert { + type boolean; + description + "Set to true if expiring certificate is a CA certificate"; + } + leaf subject-name { + type string; + description + "Subject name of expiring certificate"; + } + leaf issuer-name { + type string; + description + "Issuer name of expiring certificate"; + } + leaf serial-number { + type string; + description + "Serial number of the expiring certificate"; + } + leaf severity { + type crypto-pki-ios-xe-events:pki-notification-severity; + description + "Notification Severity"; + } + leaf host-name { + type string; + description + "Host Name"; + } + } + + grouping pki-certificate-event-update { + description + "Certificate event update"; + leaf severity { + type crypto-pki-ios-xe-events:pki-notification-severity; + description + "Notification Severity"; + } + leaf host-name { + type string; + description + "Host Name"; + } + leaf trust-point { + type string; + description + "Trustpoint name"; + } + leaf event-type { + type crypto-pki-ios-xe-events:pki-event-type; + description + "Event update type"; + } + leaf valid-from { + type yang:date-and-time; + description + "Certificate validity start time"; + } + leaf expires-at { + type yang:date-and-time; + description + "Absolute time of expiry"; + } + leaf is-ca-cert { + type boolean; + description + "Set to true if the certificate is a CA certificate"; + } + leaf subject-name { + type string; + description + "Subject name of the certificate"; + } + leaf issuer-name { + type string; + description + "Issuer name of the certificate"; + } + leaf serial-number { + type string; + description + "Serial number of the certificate"; + } + } + + notification pki-certificate-expiry { + description + "Certificate expiry update"; + uses crypto-pki-ios-xe-events:pki-certificate-expiry-update; + } + + notification pki-certificate-event { + description + "Certificate event update"; + uses crypto-pki-ios-xe-events:pki-certificate-event-update; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-oper.yang new file mode 100644 index 000000000..643d6dfd0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-pki-oper.yang @@ -0,0 +1,374 @@ +module Cisco-IOS-XE-crypto-pki-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-crypto-pki-oper"; + prefix crypto-pki-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of yang definitions + for PKI operational data. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-03-01 { + description + "Updated certificate related fields and counters"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-11-01 { + description + "Updated trustpoint status flags"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-12-03 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef crypto-pki-tp-mode { + type enumeration { + enum crypto-pki-mode-none { + value 0; + description + "Normal Trustpoint"; + } + enum crypto-pki-mode-ra { + value 1; + description + "Registration Authority mode Trustpoint"; + } + enum crypto-pki-mode-subcs { + value 2; + description + "Subordinate Certificate Server mode Trustpoint"; + } + } + description + "Trustpoint mode whether it is RA or SUBCS or neither."; + } + + typedef crypto-pki-cert-avail { + type enumeration { + enum crypto-pki-cert-not-available { + value 0; + description + "Certificate Not Available"; + } + enum crypto-pki-cert-available { + value 1; + description + "Certificate Available"; + } + } + description + "Certificate availability."; + } + + typedef crypto-pki-cert-usage { + type enumeration { + enum crypto-pki-cert-usage-unset { + value 0; + description + "Certificate usage not set."; + } + enum crypto-pki-cert-usage-signature { + value 1; + description + "Certificate usage is for signature"; + } + enum crypto-pki-cert-usage-encryption { + value 2; + description + "Certificate usage is for encryption"; + } + enum crypto-pki-cert-usage-usage-keys { + value 3; + description + "Certificate type usage keys"; + } + enum crypto-pki-cert-general-purpose { + value 4; + description + "Certificate usage is general purpose"; + } + } + description + "Trustpoint certificate usage"; + } + + typedef crypto-pki-cert-key-type { + type enumeration { + enum crypto-pki-cert-key-none { + value 0; + description + "Key type not set"; + } + enum crypto-pki-cert-key-rsa { + value 1; + description + "Key type is RSA"; + } + enum crypto-pki-cert-key-ec { + value 2; + description + "Key type is elliptic curve"; + } + } + description + "Trustpoint certificate key type"; + } + + typedef crypto-pki-key-export { + type enumeration { + enum crypto-pki-key-not-exportable { + value 0; + description + "Keys are not exportable"; + } + enum crypto-pki-key-exportable { + value 1; + description + "Keys are exportable"; + } + } + description + "Trustpoint key exportable field"; + } + + grouping crypto-pki-cert-asc-tp { + description + "Associated trustpoint with certificate"; + leaf tp-name { + type string; + description + "Trustpoint name"; + } + } + + grouping crypto-pki-cert-data { + description + "crypto pki certificate data"; + leaf cert-avail { + type crypto-pki-ios-xe-oper:crypto-pki-cert-avail; + description + "Availability of certificate"; + } + leaf cert-usage { + type crypto-pki-ios-xe-oper:crypto-pki-cert-usage; + description + "Usage of certificate"; + } + leaf cert-key-type { + type crypto-pki-ios-xe-oper:crypto-pki-cert-key-type; + description + "Key type of certificate"; + } + leaf serial-number { + type string; + description + "Serial number of certificate"; + } + leaf subject-name { + type string; + description + "Subject name of certificate"; + } + leaf issuer-name { + type string; + description + "Issuer name of certificate"; + } + leaf storage { + type string; + description + "Filename where the certificate content is stored on the device"; + } + leaf md5-fp { + type string; + description + "MD5 fingerprint of certificate"; + } + leaf validity-start { + type yang:date-and-time; + description + "The certificate validity start time"; + } + leaf validity-end { + type yang:date-and-time; + description + "Expiry time of certificate"; + } + list asc-tp { + description + "Associated trust points of certificate"; + uses crypto-pki-ios-xe-oper:crypto-pki-cert-asc-tp; + } + } + + grouping crypto-pki-data { + description + "crypto pki data"; + leaf label { + type string; + description + "Trustpoint label or name"; + } + leaf mode { + type crypto-pki-ios-xe-oper:crypto-pki-tp-mode; + description + "Trustpoint mode"; + } + leaf tp-authenticated { + type boolean; + description + "Set to true if trustpoint is authenticated, false otherwise"; + } + leaf tp-keys-generated { + type boolean; + description + "Set to true if keys are generated, false otherwise"; + } + leaf tp-enrolled { + type boolean; + description + "Set to true if trustpoint is enrolled, false otherwise"; + } + leaf tp-scep-enrollment-in-progress { + type boolean; + description + "Set to true if SCEP enrollment is in progress, false otherwise"; + } + leaf key-export { + type crypto-pki-ios-xe-oper:crypto-pki-key-export; + description + "Set to true if trust point key is exportable"; + } + list cert { + description + "List of Certificates associated with this trustpoint"; + uses crypto-pki-ios-xe-oper:crypto-pki-cert-data; + } + } + + grouping crypto-pki-counters { + description + "Crypto PKI Counter Values"; + leaf ses-started { + type uint64; + description + "Number of PKI sessions started"; + } + leaf ses-ended { + type uint64; + description + "Number of PKI sessions ended"; + } + leaf ses-active { + type uint64; + description + "Number of PKI sessions active"; + } + leaf success-val { + type uint64; + description + "Number of successful PKI validations"; + } + leaf fail-val { + type uint64; + description + "Number of failed PKI validations"; + } + leaf bypassed-val { + type uint64; + description + "Number of bypassed PKI validations"; + } + leaf pend-val { + type uint64; + description + "Number of pending PKI validations"; + } + leaf crl-checked { + type uint64; + description + "Number of PKI crl checked"; + } + leaf crl-fetch-attempts { + type uint64; + description + "Number of PKI crl fetch attempts"; + } + leaf crl-fail-attempts { + type uint64; + description + "Number of PKI crl failed attempts"; + } + leaf crl-busy-fetching { + type uint64; + description + "Number of PKI crl rejected as device was fetching another crl"; + } + leaf aaa-auth { + type uint64; + description + "Number of PKI AAA authorizations"; + } + } + + container crypto-pki-oper-data { + config false; + description + "Crypto PKI operational data"; + list crypto-pki-bundle { + key "label"; + description + "PKI data list"; + uses crypto-pki-ios-xe-oper:crypto-pki-data; + } + container crypto-pki-counters { + presence "crypto-pki-counters"; + description + "PKI counters"; + uses crypto-pki-ios-xe-oper:crypto-pki-counters; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-rpc.yang new file mode 100644 index 000000000..1c45f005e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto-rpc.yang @@ -0,0 +1,863 @@ +submodule Cisco-IOS-XE-crypto-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Crypto RPC YANG module for IOS + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-07-01 { + description + "- Added crypto pki new commands"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-03-01 { + description + "- Added crypto key commands without a NO prefix"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Added new key RPC"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + + grouping debug-level-grouping { + container level { + choice level-choice { + case error-case { + leaf error { + description + "Enable error debug"; + type empty; + } + } + case info-case { + leaf info { + description + "Enable info debug"; + type empty; + } + } + case verbose-case { + leaf verbose { + description + "Enable verbose debug"; + type empty; + } + } + case warning-case { + leaf warning { + description + "Enable warning debug"; + type empty; + } + } + } + } + } + + grouping crypto-input-grouping { + container pki { + description + "Public key components"; + choice subcommand { + case benchmark { + container benchmark { + description + "Benchmark commands"; + leaf start { + description + "Collection limit"; + type uint16 { + range "0..9990"; + } + } + leaf wrap { + description + "Wrap data to the start of buffer"; + when '../start'; + type empty; + } + leaf stop { + description + "stop collecting benchmark data"; + type empty; + } + } + } + case crl { + container crl { + description + "CRL command"; + leaf refresh-cache { + description + "Refresh the CRL in cache"; + type empty; + } + leaf request { + description + "Requests a current CRL"; + type string; + } + } + } + case authenticate { + container authenticate { + description + "Authenticate trustpoint"; + leaf name-drop-node-name { + description + "trustpoint name"; + type string; + } + leaf fingerprint { + description + "fingerprint of certificate"; + type string { + length "32 | 40"; + } + } + } + } + case enroll { + container enroll { + description + "enroll trustpoint"; + leaf name-drop-node-name { + description + "trustpoint name"; + type string; + } + } + } + case export { + container export { + description + "export certificate"; + leaf name-drop-node-name { + description + "trustpoint name"; + type string; + } + leaf pkcs12 { + description + "PKCS12 bundle url"; + type string; + } + leaf password { + description + "PKCS12 bundle password"; + type string; + } + } + } + case import { + container import { + description + "import certificate"; + leaf name-drop-node-name { + description + "trustpoint name"; + type string; + } + leaf certificate { + description + "import id certificate"; + type empty; + } + leaf pkcs12 { + description + "PKCS12 bundle url"; + type string; + } + leaf password { + description + "PKCS12 bundle password"; + type string; + } + } + } + case certificate { + container certificate { + description + "validate certificate"; + leaf validate { + description + "trustpoint name"; + type string; + } + leaf clear { + description + "trustpoint name"; + type string; + } + } + } + case server { + container server { + description + "Server command"; + leaf name-drop-node-name { + description + "server name"; + type string; + } + container grant { + description + "Grant enrollment requests"; + leaf id-drop-node-name { + description + "Enrollment id"; + type uint16 { + range "1..999"; + } + } + leaf all { + description + "Grant all pending requests"; + type empty; + } + } + container password { + description + "One time password for SCEP enrollment"; + container generate { + description + "Generate password"; + presence "true"; + leaf minutes-drop-node-name { + description + "Validity in minutes"; + type uint16 { + range "1..1440"; + } + } + } + } + container reject { + description + "Reject enrollment requests"; + leaf id-drop-node-name { + description + "Enrollment id"; + type uint16 { + range "1..999"; + } + } + leaf all { + description + "Reject all pending requests"; + type empty; + } + } + container remove { + description + "Remove enrollment requests"; + leaf id-drop-node-name { + description + "Enrollment id"; + type uint16 { + range "1..999"; + } + } + leaf all { + description + "Remove all pending requests"; + type empty; + } + } + container request { + description + "Retrieve an enrollment request"; + container pkcs10 { + description + "PKCS10 enrollment request"; + leaf location-drop-node-name { + description + "Retrieval location"; + type enumeration { + enum bootflash:; + enum cns:; + enum disk0:; + enum disk1:; + enum flash:; + enum ftp:; + enum http:; + enum https:; + enum null:; + enum nvram:; + enum pram:; + enum rcp:; + enum scep; + enum scp:; + enum sftp:; + enum system:; + enum tar:; + enum terminal; + enum tftp:; + enum tmpsys:; + enum tti; + enum unix:; + enum webui:; + } + } + choice format { + case base64 { + leaf base64 { + description + "output in base64 format"; + type empty; + } + } + case pem { + leaf pem { + description + "output in pem format"; + type empty; + } + } + case hex { + container hex { + description + "output in hex format"; + presence "true"; + leaf tid-drop-node-name { + description + "Transaction ID"; + type string; + } + leaf nonce-drop-node-name { + description + "nonce"; + type string; + } + leaf rid-drop-node-name { + description + "Request ID"; + type uint16 { + range "1..999"; + } + } + } + } + } + } + } + leaf revoke { + description + "revoke certificate"; + type string { + pattern '([0-9a-fA-FxX]+)'; + } + } + leaf unrevoke { + description + "unrevoke certificate"; + type string { + pattern '([0-9a-fA-FxX]+)'; + } + } + leaf start { + description + "Start server"; + type empty; + } + leaf stop { + description + "Stop server"; + type empty; + } + container trim { + description + "Trim the CRL based on expired certificates"; + leaf url { + description + "location of expired certs file"; + type enumeration { + enum bootflash:; + enum cns:; + enum disk0:; + enum disk1:; + enum flash:; + enum ftp:; + enum http:; + enum https:; + enum null:; + enum nvram:; + enum pram:; + enum rcp:; + enum scp:; + enum sftp:; + enum system:; + enum tar:; + enum tftp:; + enum tmpsys:; + enum unix:; + enum webui:; + } + } + leaf verbose { + type empty; + } + } + } + } + } + } + grouping crypto-key-export-pem-grouping { + container pem { + description + "File type to export"; + choice terminal-url { + case terminal-case { + container terminal { + description + "Export via the terminal (cut-and-paste)"; + choice des-3des { + case pk-3des-case { + leaf pk-3des { + description + "Encrypt the private key with 3DES"; + type string; + } + } + case des-case { + leaf des { + description + "Encrypt the private key with DES"; + type string; + } + } + } + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-ex-grouping; + choice des-3des { + case url-3des-case { + leaf url-3des { + description + "Encrypt the private key with 3DES"; + type string; + } + } + case des-case { + leaf des { + description + "Encrypt the private key with DES"; + type string; + } + } + } + } + } + } + } + } + + grouping crypto-key-url-file-ex-grouping { + leaf file { + type string { + pattern '(((bootflash:)|(crashinfo:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp:)|(system:)|(tar:)|(tftp:)|(tmpfs:)|(webui:)).*)'; + } + } + } + + grouping crypto-key-url-file-im-grouping { + leaf file { + type string { + pattern '(((bootflash:)|(cns:)|(crashinfo:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp:)|(system:)|(tar:)|(tftp:)|(tmpfs:)|(webui:)).*)'; + } + } + } + + container key { + description + "Key related commands."; + container zeroize { + description + "Remove RSA/EC keys"; + leaf rsa { + description + "Remove RSA keys"; + type string; + } + } + } + container generate { + description + "Generate new keys"; + container ec { + description + "Generate EC keys for ECDSA"; + leaf keysize { + description + "Number of bits"; + type enumeration { + enum 256; + enum 384; + } + } + leaf exportable { + description + "Allow key to be exported"; + type empty; + } + leaf label { + description + "Provide a label"; + type string; + } + } + container rsa { + description + "Generate RSA keys"; + presence "true"; + leaf encryption { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf exportable { + description + "Allow the key to be exported"; + type empty; + } + leaf general-keys { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf label { + description + "Provide a label"; + type string; + } + leaf modulus { + description + "Provide number of modulus bits on the command line"; + type uint16 { + range "360..4096"; + } + } + leaf on { + description + "create key on specified device."; + type string; + } + leaf redundancy { + description + "Allow the key to be synced to high-availability peer"; + type empty; + } + leaf signature { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf storage { + description + "Store key on specified device"; + type string; + } + leaf usage-keys { + description + "Generate separate RSA key pairs for signing and encryption"; + type empty; + } + } + } + container export { + description + "Export keys"; + list ec { + description + "Export EC keys"; + key "label"; + leaf label { + type string; + } + uses crypto-key-export-pem-grouping; + } + list rsa { + description + "Export RSRA keys"; + key "label"; + leaf label { + type string; + } + uses crypto-key-export-pem-grouping; + } + } + container import { + description + "Import keys"; + list ec { + description + "Import EC keys"; + key "name"; + leaf name { + type string; + } + leaf exportable { + description + "Allow key to be exported"; + type empty; + } + choice terminal-url { + case terminal-case { + leaf terminal { + description + "Import via the terminal (cut-and-paste)"; + type string; + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-im-grouping; + leaf key { + type string; + } + } + } + } + } + list rsa { + description + "Import RSA keys"; + key "label"; + leaf label { + type string; + } + leaf encryption { + description + "Encryption key"; + type empty; + } + leaf exportable { + description + "Allow the key to be exported"; + type empty; + } + leaf general-purpose { + description + "General Purpose key"; + type empty; + } + leaf on { + description + "Make this an on-token key"; + type string; + } + leaf pem { + description + "File type to import"; + type empty; + } + leaf redundancy { + description + "Sync this key to the standby"; + type empty; + } + leaf signature { + description + "Signature key"; + type empty; + } + leaf storage { + description + "Store key on specified device"; + type string; + } + leaf usage-keys { + description + "Usage key pairs"; + type empty; + } + choice terminal-url { + case terminal-case { + leaf terminal { + description + "Import via the terminal (cut-and-paste)"; + type string; + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-im-grouping; + leaf key { + type string; + } + } + } + } + } + } + } + + grouping debug-input-crypto-grouping { + container crypto { + description + "Cryptographic subsystem"; + container pki { + description + "PKI debugging information"; + leaf API { + description + "PKI API debugging information"; + type empty; + } + leaf callbacks { + description + "PKI callbacks debugging information"; + type empty; + } + leaf messages { + description + "PKI messages debugging information"; + type empty; + } + leaf scep { + description + "PKI scep debugging information"; + type empty; + } + container server { + description + "PKI server debugging information"; + presence "true"; + leaf performance { + description + "PKI server performance debugging information"; + type empty; + } + } + container transactions { + description + "PKI transaction debugging information"; + presence "true"; + leaf performance { + description + "PKI transaction performance debugging information"; + type empty; + } + } + leaf validation { + description + "PKI validation debugging information"; + type empty; + } + } + leaf est-client { + description + "EST client debugging information"; + type empty; + } + leaf ha { + description + "PKI HA debugging information"; + type empty; + } + } + } + + grouping debug-platform-condition-feature-ipsec-grouping { + container ipsec { + description + "IPSEC feature"; + container dataplane { + description + "packet/flow information"; + choice dataplane-debug-choice { + case submode-case { + container submode { + description + "submode information"; + choice submode-choice { + case all-case { + container all { + description + "ipsec all submode"; + uses debug-level-grouping; + } + } + case cce-case { + container cce { + description + "ipsec cce submode"; + uses debug-level-grouping; + } + } + case pkt-dump { + container pkt-dump { + description + "ipsec pkt-dump submode"; + uses debug-level-grouping; + } + } + } + } + } + case droptype-case { + leaf droptype { + description + "Set debug droptype"; + type union { + type uint8 { + range "1..113"; + } + type ios-types:range-string; + } + } + } + case pktcorrupt-case { + leaf pktcorrupt { + description + "Set debug pkt corruption"; + type uint8 { + range "1..255"; + } + } + } + } + leaf no { + description + "for no debug platform condition feature ipsec dataplane ..."; + type empty; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto.yang new file mode 100644 index 000000000..bf1303faf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-crypto.yang @@ -0,0 +1,15604 @@ +module Cisco-IOS-XE-crypto { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-crypto"; + prefix ios-crypto; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-tunnel { + prefix ios-tun; + } + import Cisco-IOS-XE-aaa { + prefix ios-aaa; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Crypto Yang Model. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added new leaf type enum for aes under algorithm + - Added tailf suppress mode for split-dns list + - Added cli-reset-container for bind-ip-address + - Deprecated leaf IPv4 and added leaf-list of IPv4 addresses under crypto GDOI redundancy peer address configuration + - Moved tailf alternative name trust-point and certificate to annotation file + - Added presence true for auto-enroll container in pki trustpoint + - Remove cli-reset-container from lifetime container + - Moved tailf alternative name back to yang file due to functionality breakage + - Added model for IPv6 crypto maps + - Moved tailf alternative name back to yang file due to functionality breakage + - Added model for IPv6 crypto maps + - Modified the isakmp key-address and key-host container to list to hold multiple entries of key + - Obsolete master key nodes + - Added create and delete case for ipv6 crypto map configuration due to vmanage issue + - Added support for monitor event-trace crypto|gdoi + - Deprecated leaf address and added leaf-list of IPv4 addresses under crypto map ipsec-isakmp configuration + - Remove must statement for tunnel protection default ipsec profile + - Deprecated leaf match-identity-group under crypto-isakmp-profile-grouping and created a leaf-list + - Added tailf:cli-reset-container for isakmp self-identity + - Added create before/delete after for isakmp match certificate + - Added tailf:cli-flatten-container and tailf:cli-compact-syntax for crypto isakmp profile configuration + - Changed must constraint for proposal under ikev2 policy to allow configuration of default proposal + - Deprecated leaf value and added leaf-list of value-id under crypto GDOI server local identifier configuration + - Added delete of container on deletion of IKE liveness + - Augment crypto feature under interface Virtual-PPP + - Obsolete crypto pki certificate chain + - Added http username/password under pki enrollment profile + - Augment crypto feature under interface Virtual-PPP + - Added cli-trim-default & default for all missing CLI + - Deprecated leaf seconds and leaf days and added a choice for these leafs under the crypto map ipsec-isakmp configuration + - Deprecated isakmp profile match certificate IPv4 leaf and add leaf list + - Changed must constraint for shutdown under crypto tls-tunnel to check xpath of tls-local-interface + - Added delete container and reset container under tunnel protection, profile-option + - Update yang models for monitor event-trace dmvpn and flexvpn tunnels + - Added new container for nhrp in monitor-event-trace-tunnel-common + - Changed default hash value form 256 to 512 under crypto pki trustpoint configuration + - Deprecated isakmp profile match identity IPv6"; + cisco-semver:module-version "15.0.0"; + } + revision 2024-03-01 { + description + "- Added refine for isakmp + - Addition of snmp-server traps for gdoi + - Added presence true under gdoi group server local + - Added cli-preformatted for crypt map description to avoid double + quotes for some special character + - Added tail drop name for virtual-template-option + - Added cli-delete-when-empty to serial-number container + - Added default value and cli-show-with-default to pfs container + - Added cli-reset-container for ip-address container + - Added presence true and tailf cli-full-command statement for crypto gdoi redundancy config + - Added must condition for set group under crypto map to check the gdoi group + exist or not before mapping to crypto map policy + - Modified the type of client bypass-policy from empty to boolean + - Modified the key of local interface to priority under tls-tunnel + - Deprecated lifetime certificate and added lifetime certificate-profile to support default + - Changed leafs ipsec profile and ikev2-profile deprecated in 17.6 or before to obsolete + - Changed leaf shared for tunnel protection ipsec profile + - Moved auto-trigger to end of the trustpoint yang model + - Added must condition for sa ipsec profile configuration and fixed ordering issues + - Added Deprecate for leaf trust-point and changed to leaf-list trust-point-ca under isakmp profile"; + cisco-semver:module-version "14.0.0"; + } + revision 2023-11-01 { + description + "- Added disable-scep node under pki trustpoint + - Added ike sa-strength-enforcement under crypto ipsec + for CC strong ike enforcement feature support + - Added default value for port under server ipv4 in tls-tunnel + - Added must condition for PFS and tailf sequencing commands for G-IKEv2 and PFS + under server local in gdoi group + - Added tailf annotation for match fvrf + under crypto ikev2 policy + - Moved tailf under enrollment-method to ann file"; + cisco-semver:module-version "13.0.0"; + } + revision 2023-07-01 { + description + "- Updated match url pattern and added aaa authorization password under ssl profile + - Added missing enum to ipsec transform-set, added tailf statement to + ensure that the user enters correct leaf values in transform-set list, + moved default under transform-set to obsolete + - Moved must condition under leaf proposals, added must condition for incomplete proposal + - Added shutdown node under tls-tunnel + - Removed must statements which caused dmi crash"; + cisco-semver:module-version "12.0.0"; + } + revision 2023-03-01 { + description + "- Updated rsakeypair length range lower value from 360 to 512 + - Corrected the aaa accounting leafref xpath to accounting list, + which earlier was wrongly referring the path to authorisation list + - Changed the tailf statement for leaf list transform-set under ipsec profile"; + cisco-semver:module-version "11.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Updated leaf filename and sequence under a list under crypto vpn anyconnect + - Update ip address and interface as a choice under ssl policy + - Added crypto ikev2 profile aaa authentication/accounting list option + - Added crypto engine compliance shield disable option"; + cisco-semver:module-version "10.0.0"; + } + revision 2022-07-01 { + description + "- Added leaf inbound-only under IKEv2 policy match statement + - Added crypto ssl CLI commands + - Updated PKI enrollment container to fix enrollment method + - Updated leaf profile-name and file under a list under crypto vpn anyconnect + - Changed crypto pki certificate map from list with a single key to a list with two keys + - Changed cli under crypto pki certificate map from leaf to list + - Added serial number,valid-start and expires-on cli under crypto pki certificate map + - Default CLI s under crypto pki have been made obsolete + - Changed crypto ikev2 profile aaa authorization list from list to container"; + cisco-semver:module-version "9.0.0"; + } + revision 2022-03-01 { + description + "- updated leaf override under aaa authorization group to a container override for ikev2 profile + - Updated type empty to type boolean for leaf cert under crypto ikev2 http-url + - Updated type empty to type boolean for leaf shutdown under crypto ikev2 cluster"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-11-01 { + description + "- Added Peer certificate attributes support + - Added dependency between pki server and pki trustpoint, password constraint updated + - Updated container aes and leaf des as a choice under crypto isakmp policy"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-07-01 { + description + "- updated server leaves lifetime days and shutdown with proper range and type + - Updated must statement for leaf dynamic for ikev2 profile settings + - Added MUST statement for key-string under key chain + - Modified crypto ssl policy from leaf to list + - updated leaf to leaf-list for match identity remote email name , domain and key-id"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-03-01 { + description + "- Hardening key chain tcp commands + - Updated valid range values for cli's: + - crypto ipsec security-association lifetime days + - crypto ipsec security-association lifetime seconds + - Modified list and its other child attributes as obsolete as the key is obsolete + - Updated valid range for crypto ikev2 authorization policy dhcp timeout"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-11-01 { + description + "- Modified match identity remote fqdn from leaf to leaf-list"; + cisco-semver:module-version "4.2.0"; + } + revision 2020-07-01 { + description + "- Reverse obsolescence of domain-name and domain-match"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added additional configuration under tls-tunnel + - Not supporting crypto key commands without a NO prefix + - Added additional configuration under crypto group"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + " + - Added tcp ao specific key chain changes + - Added values for higher range in GETVPN identifier configuration"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added leaf prefix under crypto ikev2 authorization policy ipv6 + - Updated comparison statement against keyring under ISAKMP profile + - Added support for tunnel protection ipsec policy cli config model + - Added content under ISAKMP configuration + - Added support for gaps in crypto ikev2 configuration + - Added support for reverse-route and session key under IPSec configuration + - Added support for gaps in crypto global configuration + - Added support for gaps in GETVPN configuration"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-13 { + description + "Rearranged transform-set"; + } + revision 2019-02-12 { + description + "Added range under 'key' cli"; + } + revision 2019-01-30 { + description + "Added 'key config-key' cli"; + } + revision 2019-01-25 { + description + "Add accept-lifetime and send-lifetime to key chain submode. Fix MACSEC + lifetime container and obsolete existing lifetime container."; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2019-01-14 { + description + "Added 'quit' exit command for 'crypto pki certificate chain'"; + } + revision 2018-12-14 { + description + "added esn leaf under ipsec transform-set"; + } + revision 2018-12-13 { + description + "Fix for single transaction removal issues in IPSec, ISAKMP, IKEv2 profiles and other similar issues"; + } + revision 2018-12-12 { + description + "Corrected crypto pki server type, trustpool policy presence"; + } + revision 2018-12-10 { + description + "added route-map leaf under route set"; + } + revision 2018-12-03 { + description + "Fixed trustpoint ip-extension, revocation-check and crl cache"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-19 { + description + "Added module for container ipv6 under crypto ikev2 authorization policy"; + } + revision 2018-11-11 { + description + "Fix for keyring dependency issues"; + } + revision 2018-11-09 { + description + "Fix ordering issue for crypto ikev2-profile,isakmp-profile,proposal,keyring,transform-set"; + } + revision 2018-11-02 { + description + "Added container local, container remote and container access-list under crypto ikev2 + authorization policy route set"; + } + revision 2018-10-30 { + description + "Added self-signed container under crypto pki certificate"; + } + revision 2018-10-17 { + description + "Disabled the hex mode under crypto pki temporarily"; + } + revision 2018-10-15 { + description + "Added password as container under crypto ikev2 profile aaa authorization anyconnect"; + } + revision 2018-10-12 { + description + "Added missing containers for crypto pki config commands"; + } + revision 2018-10-09 { + description + "Added def-domain leaf under crypto ikev2 authorisation policy and Added multi-sn leaf under + crypto ipsec security-association."; + } + revision 2018-09-19 { + description + "Added leaf reactive, leaf gateway, container password, container reconnect and leaf dns under crypto ikev2."; + } + revision 2018-08-29 { + description + "Moved pki trust-point before pki certificate"; + } + revision 2018-08-13 { + description + "Added model for usage"; + } + revision 2018-08-07 { + description + "Added name mangler list and cluster container under crypto ikev2, backup container under client, name mangler + container under profile authorisation and added fileds for ikev2 authorization policy."; + } + revision 2018-07-27 { + description + "Added Authorization container under trustpoint configuration."; + } + revision 2018-07-26 { + description + "Added certificate chain storage support under trustpoint configuration"; + } + revision 2018-07-10 { + description + "Add .* to cli-preformatted, apply input validation to disallow new lines"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-05-21 { + description + "Add 'cli-preformatted' to pre-shared-key"; + } + revision 2018-02-14 { + description + "Fix Ordering issue for crypto keyring and crypto isakmp profile"; + } + revision 2018-02-06 { + description + "Change 'crypto pki trustpool import url' to string"; + } + revision 2018-01-04 { + description + "Change crypto map sequence to list"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 40 and 100GE support"; + } + revision 2017-10-06 { + description + "Add pki server submod support"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-08 { + description + "crypto pki trustpoint is missing fqdn node"; + } + revision 2017-08-04 { + description + "add lifetime container support under key chain"; + } + revision 2017-05-24 { + description + "Modified container ipv4-addr and address under container + pre-shared-key to list address to support multiple + pre-shared-key commands."; + } + revision 2017-05-10 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-05-09 { + description + "adding dependency tailf extension in crypto-map container + to add ability to configure multiple crypto commands and interface + commands in single RPC"; + } + revision 2017-03-28 { + description + "modified name of map-ipv4 container to generic name + crypto-map container for ipv4 type crypto maps"; + } + revision 2017-03-27 { + description + "get-config only gets one config though multiple configurations exist on device"; + } + revision 2017-03-24 { + description + "Remove banner"; + } + revision 2017-03-02 { + description + "crypto ikev2 is missing ipv6 address leaf in the model"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping database-password-grouping { + container password { + description + "Passphrase to protect the private key archive"; + leaf encryption-type { + type uint8 { + range "0..9"; + } + } + leaf passphrase { + type string { + length "8..200"; + } + } + } + } + + grouping database-username-password-grouping { + container username { + description + "username"; + leaf username-value { + type string; + } + container password-ext { + uses database-password-grouping; + } + } + } + + grouping lifetime-grouping { + container lifetime-group { + status obsolete; + leaf hh-mm-ss { + status obsolete; + type ios-types:hhmmss-type; + } + choice date-month { + status obsolete; + case date1 { + status obsolete; + leaf date1 { + status obsolete; + type uint8 { + range "1..31"; + } + } + } + case month1 { + status obsolete; + leaf month1 { + status obsolete; + type string; + } + } + } + choice month-date { + status obsolete; + case date2 { + status obsolete; + leaf date2 { + status obsolete; + when '../month1'; + type uint8 { + range "1..31"; + } + } + } + case month2 { + status obsolete; + leaf month2 { + status obsolete; + when '../date1'; + type string; + } + } + } + leaf year { + status obsolete; + type uint16 { + range "1993..2035"; + } + } + leaf duration { + status obsolete; + description + "Set key lifetime duration"; + type uint32 { + range "1..864000"; + } + } + leaf hh-mm-ss1 { + status obsolete; + type ios-types:hhmmss-type; + } + choice date-month1 { + status obsolete; + case date3 { + status obsolete; + leaf date3 { + status obsolete; + type uint8 { + range "1..31"; + } + } + } + case month3 { + status obsolete; + leaf month3 { + status obsolete; + type string; + } + } + } + choice month-date1 { + status obsolete; + case date4 { + status obsolete; + leaf date4 { + status obsolete; + when '../month3'; + type uint8 { + range "1..31"; + } + } + } + case month4 { + status obsolete; + leaf month4 { + status obsolete; + when '../date3'; + type string; + } + } + } + leaf year1 { + status obsolete; + type uint16 { + range "1993..2035"; + } + } + leaf infinite { + status obsolete; + description + "Never expires"; + type empty; + } + } + } + + grouping lifetime-grouping-v1 { + container lifetime-group-v1 { + description + "Key lifetime definition"; + leaf local { + description + "Specify time in local timezone"; + type empty; + } + leaf start-hh-mm-ss { + description + "Key lifetime start time"; + type ios-types:hhmmss-type; + } + leaf start-month { + description + "Key lifetime start month"; + type ios-types:month-type; + } + leaf start-day { + description + "Key lifetime start day"; + type uint8 { + range "1..31"; + } + } + leaf start-year { + description + "Key lifetime start year"; + type uint16 { + range "1993..2035"; + } + must '../duration or ../infinite or ../end-hh-mm-ss' { + error-message "Must have expiration time set"; + } + } + choice lifetime-end-choice { + case duration { + leaf duration { + description + "Key lifetime duration (in seconds)"; + type uint32 { + range "1..2147483646"; + } + must '../start-hh-mm-ss' { + error-message "Must have start time set"; + } + } + } + case infinite { + leaf infinite { + description + "Infinite lifetime"; + type empty; + must '../start-hh-mm-ss' { + error-message "Must have start time set"; + } + } + } + case time-date { + leaf end-hh-mm-ss { + description + "Key lifetime end time"; + type ios-types:hhmmss-type; + must '../start-hh-mm-ss' { + error-message "Must have start time set"; + } + } + leaf end-month { + description + "Key lifetime end month"; + type ios-types:month-type; + } + leaf end-day { + description + "Key lifetime end day"; + type uint8 { + range "1..31"; + } + } + leaf end-year { + description + "Key lifetime end year"; + type uint16 { + range "1993..2035"; + } + } + } + } + } + } + + grouping crypto-local-address-grouping { + container bind-ip-address { + description + "Specify an IP address to bind to"; + leaf ip-address { + description + "Specify an IP address to bind to"; + type inet:ip-address; + } + leaf vrf { + description + "F-VRF of the address"; + type string; + } + } + uses ios-ifc:interface-grouping; + } + + grouping crypto-pki-token-grouping { + container removal { + description + "actions to take after token removal"; + leaf timeout { + description + "seconds after token removal at which keys from the token are cleared"; + type uint16 { + range "0..480"; + } + } + } + } + + grouping reverse-route-common-grouping { + container reverse-route { + description + "Reverse Route Injection."; + presence "true"; + choice remote-peer-static { + case remote-peer-case { + container remote-peer-conatiner { + leaf remote-peer { + description + "Create route in route table for remote tunnel endpoint"; + type inet:ip-address; + } + leaf gateway { + description + "Force encrypted traffic via this preferred gateway"; + type empty; + } + leaf static { + description + "Create routes based on static ACLs permanently"; + type empty; + } + } + } + case static-case { + leaf static { + description + "Create routes based on static ACLs permanently"; + type empty; + } + } + } + } + } + + grouping obsolete-reverse-route-common-grouping { + container reverse-route { + description + "Reverse Route Injection."; + status obsolete; + presence "true"; + choice remote-peer-static { + status obsolete; + case remote-peer-case { + status obsolete; + container remote-peer-conatiner { + status obsolete; + leaf remote-peer { + description + "Create route in route table for remote tunnel endpoint"; + status obsolete; + type inet:ip-address; + } + leaf gateway { + description + "Force encrypted traffic via this preferred gateway"; + status obsolete; + type empty; + } + leaf static { + description + "Create routes based on static ACLs permanently"; + status obsolete; + type empty; + } + } + } + case static-case { + status obsolete; + leaf static { + description + "Create routes based on static ACLs permanently"; + status obsolete; + type empty; + } + } + } + } + } + + grouping crypto-map-common-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + type string; + } + container dialer { + description + "Dialer related commands"; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + type empty; + } + } + container match { + description + "Match values"; + leaf address { + description + "Match address of packets to encrypt"; + type ios-types:ext-acl-type; + } + } + container qos { + description + "Quality of Service related commands"; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + type empty; + } + } + uses reverse-route-common-grouping; + } + + grouping obsolete-crypto-map-common-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + status obsolete; + type string; + } + container dialer { + description + "Dialer related commands"; + status obsolete; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + status obsolete; + type empty; + } + } + container match { + description + "Match values"; + status obsolete; + leaf address { + description + "Match address of packets to encrypt"; + status obsolete; + type ios-types:ext-acl-type; + } + } + container qos { + description + "Quality of Service related commands"; + status obsolete; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + status obsolete; + type empty; + } + } + uses obsolete-reverse-route-common-grouping; + } + + grouping crypto-map-common-set-security-association-grouping { + leaf dfbit { + description + "Handling of encapsulated DF bit."; + type enumeration { + enum clear; + enum copy; + enum set; + } + } + container dummy { + description + "Enable transmitting dummy packets"; + leaf pps { + description + "Simulated traffic rate (in pps)"; + type uint8 { + range "0..25"; + } + } + leaf seconds { + description + "Simulated traffic rate (in seconds)"; + type uint16 { + range "1..3600"; + } + } + } + leaf ecn { + description + "Handling of ECN bit"; + type enumeration { + enum discard; + enum propagate; + } + } + container idle-time-container { + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + type uint32 { + range "60..86400"; + } + } + leaf default { + description + "All SAs idle-out reset to default peer"; + type empty; + } + } + container lifetime { + description + "security association lifetime"; + choice days-seconds { + case days { + leaf days-case { + description + "Time-based key duration in days"; + type uint8 { + range "1"; + } + } + } + case seconds { + leaf seconds-case { + description + "Time-based key duration in seconds"; + type uint64 { + range "120..2592000"; + } + } + } + } + leaf days { + status deprecated; + description + "Time-based key duration in days"; + type uint8 { + range "1..30"; + } + } + leaf kilobytes { + description + "Volume-based key duration"; + type union { + type uint64 { + range "2560..4294967295"; + } + type enumeration { + enum disable; + } + } + } + leaf seconds { + status deprecated; + description + "Time-based key duration in seconds"; + type uint64 { + range "120..2592000"; + } + } + } + container replay { + description + "Set replay checking."; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size."; + type enumeration { + enum 1024; + enum 128; + enum 256; + enum 512; + enum 64; + } + } + } + } + + grouping obsolete-crypto-map-common-set-security-association-grouping { + leaf dfbit { + description + "Handling of encapsulated DF bit."; + status obsolete; + type enumeration { + enum clear; + enum copy; + enum set; + } + } + container dummy { + description + "Enable transmitting dummy packets"; + status obsolete; + leaf pps { + description + "Simulated traffic rate (in pps)"; + status obsolete; + type uint8 { + range "0..25"; + } + } + leaf seconds { + description + "Simulated traffic rate (in seconds)"; + status obsolete; + type uint16 { + range "1..3600"; + } + } + } + leaf ecn { + description + "Handling of ECN bit"; + status obsolete; + type enumeration { + enum discard; + enum propagate; + } + } + container idle-time-container { + status obsolete; + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + status obsolete; + type uint32 { + range "60..86400"; + } + } + leaf default { + description + "All SAs idle-out reset to default peer"; + status obsolete; + type empty; + } + } + container lifetime { + description + "security association lifetime"; + status obsolete; + leaf days { + description + "Time-based key duration in days"; + status obsolete; + type uint8 { + range "1..30"; + } + } + leaf kilobytes { + description + "Volume-based key duration"; + status obsolete; + type union { + type uint64 { + range "2560..4294967295"; + } + type enumeration { + enum disable; + } + } + } + leaf seconds { + description + "Time-based key duration in seconds"; + status obsolete; + type uint64 { + range "120..2592000"; + } + } + } + container replay { + description + "Set replay checking."; + status obsolete; + leaf disable { + description + "Disable replay checking"; + status obsolete; + type empty; + } + leaf window-size { + description + "Set replay window size."; + status obsolete; + type enumeration { + enum 1024; + enum 128; + enum 256; + enum 512; + enum 64; + } + } + } + } + + grouping ipsec-common-set-grouping { + leaf identity { + description + "Identity restriction"; + type string; + } + choice isakmp_profile-ikev2_profile { + case ikev2-profile-case { + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + case isakmp-profile-case { + leaf isakmp-profile { + description + "Specify isakmp Profile"; + must '/ios:native/ios:crypto/isakmp/profile[name=current()]' { + error-message "It seems ISAKMP profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + } + container peer { + description + "Allowed Encryption/Decryption peer."; + status obsolete; + leaf address { + status obsolete; + type union { + type inet:ipv4-address; + type string; + type inet:ipv6-address; + } + } + leaf default { + description + "Reset to default peer in list in the event of a failure"; + status obsolete; + type empty; + } + leaf dynamic { + description + "Resolve the peer address at the time of negotiation"; + status obsolete; + type empty; + } + } + container pfs { + description + "Specify pfs settings"; + presence "true"; + leaf group { + description + "List of supported DH groups"; + default "group14"; + type enumeration { + enum group1; + enum group14; + enum group15; + enum group16; + enum group19; + enum group2; + enum group20; + enum group21; + enum group24; + enum group5; + } + } + } + container reverse-route { + description + "Reverse Route Injection"; + leaf distance { + description + "Distance metric for this static route"; + type uint8 { + range "1..255"; + } + } + leaf tag { + description + "Create route and tag it"; + type uint64 { + range "1..4294967295"; + } + } + leaf gateway { + description + "Force encrypted traffic via this preferred gateway"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + leaf-list transform-set { + description + "Specify list of transform sets in priority order"; + must '/ios:native/ios:crypto/ipsec/transform-set[tag=current()]' { + error-message "It seems transform set doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + + grouping crypto-map-common-set-grouping { + leaf group { + description + "Set the san group parameters"; + must '(/ios:native/ios:crypto/gkm/group[name=current()]) or (/ios:native/ios:crypto/gdoi/group[name=current()])' { + error-message "GDOI or GKM group doesn't exist or attempted to delete when actively referred by crypto map"; + } + type string; + } + leaf identity { + description + "Identity restriction"; + type string; + } + choice isakmp_profile-ikev2_profile { + case ikev2-profile-case { + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + case isakmp-profile-case { + leaf isakmp-profile { + description + "Specify isakmp Profile"; + must '/ios:native/ios:crypto/isakmp/profile[name=current()]' { + error-message "It seems ISAKMP profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + } + container peer { + description + "Allowed Encryption/Decryption peer."; + leaf-list addresses { + description + "List of IPv4 and IPv6 peer addresses"; + type union { + type inet:ipv4-address; + type string; + type inet:ipv6-address; + } + } + leaf address { + status deprecated; + type union { + type inet:ipv4-address; + type string; + type inet:ipv6-address; + } + } + leaf default { + description + "Reset to default peer in list in the event of a failure"; + type empty; + } + leaf dynamic { + description + "Resolve the peer address at the time of negotiation"; + type empty; + } + } + container pfs { + description + "Specify pfs settings"; + presence "true"; + leaf group { + type enumeration { + enum group1; + enum group14; + enum group15; + enum group16; + enum group19; + enum group2; + enum group20; + enum group21; + enum group24; + enum group5; + } + } + } + container reverse-route { + description + "Reverse Route Injection"; + leaf distance { + description + "Distance metric for this static route"; + type uint8 { + range "1..255"; + } + } + leaf tag { + description + "Create route and tag it"; + type uint64 { + range "1..4294967295"; + } + } + leaf gateway { + description + "Force encrypted traffic via this preferred gateway"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + leaf-list transform-set { + description + "Specify list of transform sets in priority order"; + type string; + } + } + + grouping obsolete-crypto-map-common-set-grouping { + leaf group { + description + "Set the san group parameters"; + status obsolete; + type string; + } + leaf identity { + description + "Identity restriction"; + status obsolete; + type string; + } + choice isakmp_profile-ikev2_profile { + status obsolete; + case ikev2-profile-case { + status obsolete; + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + status obsolete; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + case isakmp-profile-case { + status obsolete; + leaf isakmp-profile { + description + "Specify isakmp Profile"; + status obsolete; + must '/ios:native/ios:crypto/isakmp/profile[name=current()]' { + error-message "It seems ISAKMP profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + } + container peer { + description + "Allowed Encryption/Decryption peer."; + status obsolete; + leaf address { + status obsolete; + type union { + type inet:ipv4-address; + type string; + type inet:ipv6-address; + } + } + leaf default { + description + "Reset to default peer in list in the event of a failure"; + status obsolete; + type empty; + } + leaf dynamic { + description + "Resolve the peer address at the time of negotiation"; + status obsolete; + type empty; + } + } + container pfs { + description + "Specify pfs settings"; + status obsolete; + presence "true"; + leaf group { + status obsolete; + type enumeration { + enum group1; + enum group14; + enum group15; + enum group16; + enum group19; + enum group2; + enum group20; + enum group21; + enum group24; + enum group5; + } + } + } + container reverse-route { + description + "Reverse Route Injection"; + status obsolete; + leaf distance { + description + "Distance metric for this static route"; + status obsolete; + type uint8 { + range "1..255"; + } + } + leaf tag { + description + "Create route and tag it"; + status obsolete; + type uint64 { + range "1..4294967295"; + } + } + leaf gateway { + description + "Force encrypted traffic via this preferred gateway"; + status obsolete; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + leaf-list transform-set { + description + "Specify list of transform sets in priority order"; + status obsolete; + type string; + } + } + + grouping crypto-dynamic-map-grouping { + uses crypto-map-common-grouping; + container set { + description + "Set values for encryption/decryption"; + uses crypto-map-common-set-grouping; + container ip { + description + "Interface Internet Protocol config commands"; + leaf access-group { + description + "Specify access control for packets"; + type ios-types:exp-acl-type; + } + leaf direction { + type enumeration { + enum in; + enum out; + } + } + } + container ip-in { + status deprecated; + container ip { + description + "Interface Internet Protocol config commands"; + status deprecated; + leaf access-group { + description + "Specify access control for packets"; + status deprecated; + type ios-types:exp-acl-type; + } + leaf in { + description + "inbound packets"; + status deprecated; + type empty; + } + } + } + container ip-out { + status deprecated; + container ip { + description + "Interface Internet Protocol config commands"; + status deprecated; + leaf access-group { + description + "Specify access control for packets"; + status deprecated; + type ios-types:exp-acl-type; + } + leaf out { + description + "outbound packets"; + status deprecated; + type empty; + } + } + } + container nat { + description + "Set NAT translation"; + leaf demux { + description + "Set NAT demultiplexing"; + type empty; + } + } + container peer-container { + status obsolete; + leaf peer { + description + "Allowed Encryption/Decryption peer."; + status obsolete; + type inet:host; + } + leaf default { + description + "Reset to default peer in list in the event of a failure"; + status obsolete; + type empty; + } + } + container security-association { + description + "Security association parameters"; + uses crypto-map-common-set-security-association-grouping; + } + } + } + + grouping crypto-dynamic-map-default-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + type empty; + } + container dialer { + description + "Dialer related commands"; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + type empty; + } + } + leaf disable { + description + "Disable this crypto-map-statement"; + type empty; + } + container match { + description + "Match values"; + leaf address { + description + "Match address of packets to encrypt"; + type empty; + } + } + container qos { + description + "Quality of Service related commands"; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + type empty; + } + } + container reverse-route { + description + "Reverse Route Injection."; + presence "true"; + } + container set { + description + "Set values for encryption/decryption"; + leaf group { + description + "Set the san group parameters"; + type empty; + } + leaf identity { + description + "Identity restriction"; + type empty; + } + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + type string; + } + container ip { + description + "Interface Internet Protocol config commands"; + leaf access-group { + description + "Specify access control for packets"; + type ios-types:exp-acl-type; + } + leaf direction { + type enumeration { + enum in; + enum out; + } + } + } + leaf isakmp-profile { + description + "Specify isakmp Profile"; + type string; + } + container nat { + description + "Set NAT translation"; + leaf demux { + description + "Set NAT demultiplexing"; + type empty; + } + } + container peer-container { + leaf peer { + description + "Allowed Encryption/Decryption peer."; + type inet:host; + } + leaf default { + description + "Reset to default peer in list in the event of a failure"; + type empty; + } + } + container pfs { + description + "Specify pfs settings"; + presence "true"; + } + container reverse-route { + description + "Reverse Route Injection"; + presence "true"; + } + container security-association { + description + "Security association parameters"; + leaf dfbit { + description + "Handling of encapsulated DF bit."; + type empty; + } + container dummy { + description + "Enable transmitting dummy packets"; + presence "true"; + } + leaf ecn { + description + "Handling of ECN bit"; + type empty; + } + container idle-time-container { + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + type empty; + } + leaf default { + description + "All SAs idle-out reset to default peer"; + type empty; + } + } + container lifetime { + description + "security association lifetime"; + leaf days { + description + "Time-based key duration in days"; + type empty; + } + leaf kilobytes { + description + "Volume-based key duration"; + type empty; + } + leaf seconds { + description + "Time-based key duration in seconds"; + type empty; + } + } + container replay { + description + "Set replay checking."; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size."; + type empty; + } + } + } + leaf transform-set { + description + "Specify list of transform sets in priority order"; + type empty; + } + } + } + + grouping crypto-gkm-local-server-id-grouping { + container range { + description + "Assign range of Key Server Sender IDs (unique in entire group)"; + leaf lowest { + type uint8 { + range "0..127"; + } + } + leaf hyphen { + type empty; + } + leaf highest { + type uint8 { + range "0..127"; + } + } + } + leaf-list value-id { + description + "Assign Key Server Sender ID (unique in entire group)"; + type uint8 { + range "0..127"; + } + } + leaf value { + description + "DEPRECATED leaf value"; + status deprecated; + type uint8 { + range "0..127"; + } + } + } + + grouping crypto-gdoi-coop-ks-config-grouping { + container local { + description + "Local key server configurations"; + presence "true"; + leaf priority { + description + "Set local server priority"; + type uint8; + } + } + container peer { + description + "Peer server configurations"; + container address { + description + "Peer server address"; + leaf-list ipv4-addr { + description + "Peer server IPv4 addresses"; + type inet:ipv4-address; + } + leaf ipv4 { + status deprecated; + description + "Peer server IPv4 address"; + type inet:ipv4-address; + } + } + } + container protocol { + description + "Specify various protocol operational values"; + presence "true"; + leaf pdu { + description + "Maximum size of COOP messages"; + type uint32 { + range "1..65000"; + } + } + leaf version { + description + "Set COOP ANN version"; + type enumeration { + enum base; + enum optimize; + } + } + } + } + + grouping crypto-gkm-sa-ipsec-grouping { + container match { + description + "Match characteristics of packets to encrypt"; + container address { + description + "Match addresses of packets to encrypt"; + leaf ipv4 { + description + "Match ipv4 packets"; + type ios-types:ext-acl-type; + } + leaf ipv6 { + description + "Match ipv6 packets"; + type string; + } + } + } + leaf profile { + description + "Configure an ipsec profile for the SA"; + must '/ios:native/ios:crypto/ipsec/profile[name=current()]' { + error-message "It seems ipsec profile doesn't exist or attempted to delete when actively referred by gdoi group"; + } + type string; + } + container replay { + description + "Set replay method"; + container counter { + description + "Enable anti-replay check for single source traffic by using sequence number"; + presence "true"; + leaf window-size { + description + "Set replay window size."; + type enumeration { + enum 1024; + enum 128; + enum 256; + enum 512; + enum 64; + } + } + } + container time { + description + "Enable anti-replay check for any traffic by using time"; + presence "true"; + leaf window-size { + description + "Time based replay window size"; + type uint8 { + range "1..100"; + } + } + } + } + container tag { + description + "Set inline tagging method"; + container cts { + description + "Cisco Trust Security"; + leaf sgt { + description + "Security Group Tag"; + type empty; + } + } + } + } + + grouping crypto-gkm-sa-ipsec-default-grouping { + container match { + description + "Match characteristics of packets to encrypt"; + container address { + description + "Match addresses of packets to encrypt"; + presence "true"; + } + } + leaf profile { + description + "Configure an ipsec profile for the SA"; + type empty; + } + container replay { + description + "Set replay method"; + presence "true"; + } + container tag { + description + "Set inline tagging method"; + presence "true"; + } + } + + grouping crypto-gkm-local-server-grouping { + container address { + description + "Configure server source address"; + leaf ipv4 { + description + "Set ipv4 address of local server"; + type inet:ipv4-address; + } + } + leaf pfs { + description + "Enable/Disable PFS on KS, By Default its disabled"; + must '../gikev2' { + error-message "GIKEv2 must be configured for pfs"; + } + type empty; + } + container authorization { + description + "Configure authorization for the group"; + container address { + description + "Set authorization by address"; + leaf ipv4 { + description + "Set authorization by address"; + type union { + type uint16 { + range "1..99"; + } + type string; + } + } + } + leaf identity { + description + "Set authorization by identity"; + type string; + } + } + leaf gdoi { + description + "Enable GDOI (ISAKMP) Protocol for Registration & Rekey"; + type empty; + } + leaf gikev2 { + description + "Enable G-IKEv2 (IKEv2) Protocol for Registration & Rekey"; + type string; + } + container group { + description + "Configure parameters for the group (e.g. Suite-B)"; + container size { + description + "Set Group Size for Suite-B counter transforms (SID length)"; + leaf large { + description + "32-bit Sender ID (FIPS 140-2 Operating Mode)"; + type empty; + } + leaf medium { + description + "24-bit Sender ID (Default)"; + type empty; + } + leaf small { + description + "Interoperable with GDOI / G-IKEv2 Standard"; + type enumeration { + enum 12; + enum 16; + enum 8; + } + } + } + } + container identifier { + description + "Enter Suite-B KSSID (Key Server Sender ID) config mode"; + container default { + description + "Set a command to its defaults"; + uses crypto-gkm-local-server-id-grouping; + } + uses crypto-gkm-local-server-id-grouping; + } + container redundancy { + description + "Enter cooperative key server configuration mode"; + presence "true"; + container default { + description + "Set a command to its defaults"; + uses crypto-gdoi-coop-ks-config-grouping; + } + uses crypto-gdoi-coop-ks-config-grouping; + } + container registration { + description + "Configure registration for the group"; + leaf interface { + description + "Identify an interface on which to respond to GKM registrations"; + type string; + } + container periodic { + description + "Define periodic registrations for the group"; + container crl { + description + "On every new CRL"; + leaf trustpoint { + description + "For a PKI trustpoint"; + type string; + } + } + } + } + container rekey { + description + "Configure rekey policy for the group"; + leaf acknowledgement { + description + "Request group members to acknowledge rekeys"; + type enumeration { + enum any; + enum cisco; + enum interoperable; + } + } + container address { + description + "Define the rekey packet format"; + leaf ipv4 { + description + "Match ipv4 packets"; + type ios-types:ext-acl-type; + } + } + container algorithm { + description + "Set the rekey encryption algorithm"; + leaf a3des-cbc { + description + "Triple DES in CBC mode"; + type empty; + } + leaf aes { + description + "aes encryption methods"; + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + leaf aes-128 { + status deprecated; + description + "128 bit AES"; + type empty; + } + leaf aes-192 { + status deprecated; + description + "192 bit AES"; + type empty; + } + leaf aes-256 { + status deprecated; + description + "256 bit AES"; + type empty; + } + leaf des-cbc { + description + "DES in CBC mode"; + type empty; + } + } + container authentication { + description + "Identify the rekey authentication keypair"; + container mypubkey { + description + "Identify a keypair associated with this device"; + leaf rsa { + description + "Identify an RSA keypair"; + type string; + } + } + } + container lifetime { + description + "Define the rekey lifetime"; + leaf days { + description + "Time-based key duration in days"; + type uint8 { + range "1..30"; + } + } + leaf seconds { + description + "Time-based key duration in seconds"; + type uint64 { + range "300..2592000"; + } + } + } + container retransmit { + description + "Define the rekey retransmission parameters"; + leaf seconds { + type uint8 { + range "10..60"; + } + } + choice number-periodic { + case number-case { + leaf number { + description + "Retransmit this many times"; + type uint8; + } + } + case periodic-case { + leaf periodic { + description + "Periodically send retransmit rekeys"; + type empty; + } + } + } + } + container sig-hash { + description + "Set rekey signature-hash parameters"; + leaf algorithm { + description + "Set the rekey signature-hash algorithm"; + type enumeration { + enum sha; + enum sha256; + enum sha384; + enum sha512; + } + } + } + container transport { + description + "Specify the rekey distribution method"; + leaf unicast { + description + "specify unicast rekey distribution"; + type empty; + } + } + } + container sa { + description + "Configure a security association"; + container d3p { + description + "Enable IP delivery delay detection protocol for all SAs within the group"; + container window { + description + "IP-D3P window size"; + leaf msec { + description + "IP-D3P window size in milliseconds"; + type uint32 { + range "1000..100000"; + } + } + leaf sec { + description + "IP-D3P window size in seconds"; + type uint8; + } + } + } + list ipsec { + description + "Configure an IPsec SA"; + key "sequence"; + leaf sequence { + type uint16; + } + container default { + description + "Set a command to its defaults"; + uses crypto-gkm-sa-ipsec-default-grouping; + } + uses crypto-gkm-sa-ipsec-grouping; + } + container pair-wise-keying { + description + "Enable KGS pair-wise-keying"; + leaf safety-limit { + description + "KGS safety limit"; + type uint8; + } + } + leaf receive-only { + description + "Configure SA to work only in inbound direction"; + type empty; + } + } + } + + grouping crypto-gkm-local-server-default-grouping { + container address { + description + "Configure server source address"; + presence "true"; + } + container authorization { + description + "Configure authorization for the group"; + container address { + description + "Set authorization by address"; + leaf ipv4 { + description + "Set authorization by address"; + type empty; + } + } + leaf identity { + description + "Set authorization by identity"; + type empty; + } + } + leaf gdoi { + description + "Enable GDOI (ISAKMP) Protocol for Registration & Rekey"; + type empty; + } + leaf gikev2 { + description + "Enable G-IKEv2 (IKEv2) Protocol for Registration & Rekey"; + type empty; + } + container group { + description + "Configure parameters for the group (e.g. Suite-B)"; + container size { + description + "Set Group Size for Suite-B counter transforms (SID length)"; + presence "true"; + } + } + container identifier { + description + "Enter Suite-B KSSID (Key Server Sender ID) config mode"; + presence "true"; + } + container redundancy { + description + "Enter cooperative key server configuration mode"; + presence "true"; + } + container registration { + description + "Configure registration for the group"; + leaf interface { + description + "Identify an interface on which to respond to GKM registrations"; + type string; + } + container periodic { + description + "Define periodic registrations for the group"; + container crl { + description + "On every new CRL"; + leaf trustpoint { + description + "For a PKI trustpoint"; + type empty; + } + } + } + } + container rekey { + description + "Configure rekey policy for the group"; + leaf acknowledgement { + description + "Request group members to acknowledge rekeys"; + type empty; + } + container address { + description + "Define the rekey packet format"; + presence "true"; + } + container algorithm { + description + "Set the rekey encryption algorithm"; + presence "true"; + } + container authentication { + description + "Identify the rekey authentication keypair"; + presence "true"; + } + container lifetime { + description + "Define the rekey lifetime"; + leaf days { + description + "Time-based key duration in days"; + type empty; + } + leaf seconds { + description + "Time-based key duration in seconds"; + type empty; + } + } + container retransmit { + description + "Define the rekey retransmission parameters"; + presence "true"; + } + container sig-hash { + description + "Set rekey signature-hash parameters"; + leaf algorithm { + description + "Set the rekey signature-hash algorithm"; + type empty; + } + } + container transport { + description + "Specify the rekey distribution method"; + leaf unicast { + description + "specify unicast rekey distribution"; + type empty; + } + } + } + container sa { + description + "Configure a security association"; + container d3p { + description + "Enable IP delivery delay detection protocol for all SAs within the group"; + presence "true"; + } + list ipsec { + description + "Configure an IPsec SA"; + key "sequence"; + leaf sequence { + type uint16; + } + } + container pair-wise-keying { + description + "Enable KGS pair-wise-keying"; + presence "true"; + } + leaf receive-only { + description + "Configure SA to work only in inbound direction"; + type empty; + } + } + } + + grouping crypto-gdio-grouping { + container client { + description + "Set the group client parameters"; + leaf bypass-policy-new { + description + "Allow group-key management traffic sent to this GM only"; + type boolean; + default "true"; + } + leaf bypass-policy { + status deprecated; + description + "Allow group-key management traffic sent to this GM only"; + type empty; + } + leaf pfs { + description + "Enable/Disable PFS on GM, By Default its enabled"; + type empty; + } + container fail-close { + description + "Enable/Disable Fail-Close revert feature on GM"; + leaf revert { + description + "Revert to Fail-Close policy in case of Registration Failure"; + type empty; + } + } + container protocol { + description + "Group Member Registration & Rekey Protocol"; + leaf gdoi { + description + "Use GDOI (ISAKMP) Protocol for Registration & Rekey"; + type empty; + } + leaf gikev2 { + description + "Use G-IKEv2 Protocol for Registration & Rekey"; + type string; + } + } + container recovery-check { + description + "Specify GM recovery check parameters"; + leaf interval { + description + "Waiting period(sec) between consecutive recovery registrations"; + type uint16 { + range "100..1000"; + } + } + } + container registration { + description + "Set the group client management/register interface"; + leaf interface { + description + "Set the group client management/register interface"; + type string; + } + } + container rekey { + description + "Set the group client acceptable rekey ciphers and hashs"; + container encryption { + description + "Set the group client acceptable rekey ciphers"; + leaf rekey-3des-cbc { + type empty; + } + leaf aes-128 { + description + "128 bit AES"; + type empty; + } + leaf aes-192 { + description + "192 bit AES"; + type empty; + } + leaf aes-256 { + description + "256 bit AES"; + type empty; + } + leaf des-cbc { + description + "DES in CBC mode"; + type empty; + } + } + container hash { + description + "Set the group client acceptable rekey hash"; + leaf sha { + description + "Secure Hash Standard"; + type empty; + } + leaf sha256 { + description + "Secure Hash Standard 2 (256 bit)"; + type empty; + } + leaf sha384 { + description + "Secure Hash Standard 2 (384 bit)"; + type empty; + } + leaf sha512 { + description + "Secure Hash Standard 2 (512 bit)"; + type empty; + } + } + } + container status { + description + "group-member status"; + container active-sa { + description + "TEK SA with positive remaining lifetime"; + leaf track { + description + "enable stub tracking object"; + type uint16 { + range "1..1000"; + } + } + } + } + leaf-list transform-sets { + description + "Specify list of group client acceptable transform sets"; + type string; + } + leaf transport-encrypt-key { + description + "Enforce group or pair-wise keying"; + type enumeration { + enum group-key; + enum pair-wise-key; + } + } + } + container identity { + description + "Set the identity of the group"; + container address { + description + "Set the identity of the group as an address"; + leaf ipv4 { + description + "Set the identity of the group as an IPv4 address"; + type inet:ipv4-address; + } + } + leaf number { + description + "Set the identity of the group as a number"; + type uint64; + } + } + leaf passive { + description + "Set the group in passive mode"; + type empty; + } + container server { + description + "Set the group server for of the group"; + container address { + description + "Identify the group server by address"; + leaf-list ipv4 { + description + "Set the IPv4 address of the group server"; + type inet:ipv4-address; + } + leaf-list ipv6 { + description + "Set the IPv6 address of the group server"; + type inet:ipv6-address; + } + } + container hostname { + description + "Identify the group server by hostname"; + leaf ipv4 { + description + "Set the IPv4 hostname of the group server"; + type string; + } + leaf ipv6 { + description + "Set the IPv6 hostname of the group server"; + type string; + } + } + container local { + description + "Configure GKM group server defined locally"; + presence "true"; + uses crypto-gkm-local-server-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-gkm-local-server-default-grouping; + } + } + } + } + + grouping crypto-gdio-default-grouping { + container client { + description + "Set the group client parameters"; + leaf bypass-policy-new { + description + "Allow group-key management traffic sent to this GM only"; + type boolean; + default "true"; + } + leaf bypass-policy { + status deprecated; + description + "Allow group-key management traffic sent to this GM only"; + type empty; + } + leaf pfs { + description + "Enable/Disable PFS on GM, By Default its enabled"; + type empty; + } + container protocol { + description + "Group Member Registration & Rekey Protocol"; + presence "true"; + } + container recovery-check { + description + "Specify GM recovery check parameters"; + presence "true"; + } + container registration { + description + "Set the group client management/register interface"; + leaf interface { + description + "Set the group client management/register interface"; + type empty; + } + } + container rekey { + description + "Set the group client acceptable rekey ciphers and hashs"; + container encryption { + description + "Set the group client acceptable rekey ciphers"; + presence "true"; + } + container hash { + description + "Set the group client acceptable rekey hash"; + presence "true"; + } + } + container status { + description + "group-member status"; + container active-sa { + description + "TEK SA with positive remaining lifetime"; + presence "true"; + } + } + leaf transform-sets { + description + "Specify list of group client acceptable transform sets"; + type empty; + } + leaf transport-encrypt-key { + description + "Enforce group or pair-wise keying"; + type enumeration { + enum group-key; + enum pair-wise-key; + } + } + } + container identity { + description + "Set the identity of the group"; + presence "true"; + } + leaf passive { + description + "Set the group in passive mode"; + type empty; + } + container server { + description + "Set the group server for of the group"; + container address { + description + "Identify the group server by address"; + leaf ipv4 { + description + "Set the IPv4 address of the group server"; + type inet:ipv4-address; + } + } + container hostname { + description + "Identify the group server by hostname"; + leaf ipv4 { + description + "Set the IPv4 hostname of the group server"; + type string; + } + } + leaf local { + description + "Configure GKM group server defined locally"; + type empty; + } + } + } + + grouping crypto-identity-grouping { + leaf description { + description + "Description of the crypto identity"; + type string; + } + leaf dn { + description + "Distinguished name identifier"; + type string; + } + leaf fqdn { + description + "Fully qualified distinguished name identifier"; + type string; + } + } + + grouping crypto-identity-default-grouping { + leaf description { + description + "Description of the crypto identity"; + type empty; + } + leaf dn { + description + "Distinguished name identifier"; + type string; + } + leaf fqdn { + description + "Fully qualified distinguished name identifier"; + type string; + } + } + + grouping crypto-ikev2-keyring-peer-pre-shared-key-grouping { + choice encryption-hex { + case encryption-case { + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string { + pattern '.*'; + } + } + } + case hex-case { + leaf hex { + description + "Key entered in hex string"; + type string; + } + } + } + } + + grouping crypto-ikev2-keyring-peer-grouping { + container address { + description + "Specify IPv4/IPv6 address of peer"; + choice ipv4-ipv6 { + case ipv4-case { + container ipv4 { + leaf ipv4-address { + type inet:ipv4-address; + } + leaf ipv4-mask { + type inet:ipv4-address; + } + } + } + case ipv6-case { + leaf ipv6-prefix { + type ios-types:ipv6-prefix; + } + } + } + } + leaf description { + description + "Specify a description of this peer"; + type string; + } + leaf hostname { + description + "Hostname of peer"; + type string; + } + container identity { + description + "Specify IKE identity to use"; + choice identity { + case address { + leaf address-type { + description + "IP address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + case email { + container email-option { + description + "Use email address"; + choice name-domain { + case name { + leaf name { + description + "Specify the name string"; + type string; + } + } + case domain { + leaf domain { + description + "email Domain Name"; + type string; + } + } + } + } + } + case fqdn { + container fqdn-option { + description + "Use FQDN"; + choice name-domain { + case name { + leaf name { + description + "Specify the name string"; + type string; + } + } + case domain { + leaf domain { + description + "email Domain Name"; + type string; + } + } + } + } + } + case key-id { + leaf key-id-number { + description + "proprietary types of identification (ID KEY ID)"; + type string; + } + } + } + leaf address { + description + "IP address"; + status deprecated; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + container email { + description + "Use email address"; + status deprecated; + leaf name { + status deprecated; + type string; + } + leaf domain { + description + "email Domain Name"; + status deprecated; + type string; + } + } + container fqdn { + description + "Use FQDN"; + status deprecated; + leaf name { + status deprecated; + type string; + } + leaf domain { + description + "email Domain Name"; + status deprecated; + type string; + } + } + leaf key-id { + description + "proprietary types of identification (ID KEY ID)"; + status deprecated; + type string; + } + } + container pre-shared-key { + description + "specify the pre-shared key"; + container local-option { + description + "specify signing key"; + uses crypto-ikev2-keyring-peer-pre-shared-key-grouping; + } + leaf local { + description + "specify signing key"; + status deprecated; + type empty; + } + container remote-option { + description + "specify verifying key"; + uses crypto-ikev2-keyring-peer-pre-shared-key-grouping; + } + leaf remote { + description + "specify verifying key"; + status deprecated; + type empty; + } + uses crypto-ikev2-keyring-peer-pre-shared-key-grouping; + } + } + + grouping crypto-ikev2-profile-aaa-auth-passwd-grouping-deprecated { + container password { + status deprecated; + description + "Specify the AAA password"; + leaf encryption { + status deprecated; + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + status deprecated; + type string; + } + } + } + + grouping crypto-ikev2-profile-aaa-auth-passwd-grouping { + container password { + description + "Specify the AAA password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + } + + grouping crypto-ikev2-profile-aaa-authorization-grouping { + container list-v2 { + description + "AAA method list"; + leaf name { + type string; + } + container aaa-config { + choice user-config { + case username-config { + container username { + leaf username { + type string; + } + choice user-type { + case local-type { + leaf local { + when '../username'; + type empty; + } + } + case password-type { + container password { + when '../username'; + uses crypto-ikev2-profile-aaa-auth-passwd-grouping; + } + } + } + } + } + case name-mangler-config { + container name-mangler { + leaf name { + description + "name of a configured name mangler"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:ikev2/ios-crypto:name-mangler/ios-crypto:name"; + } + } + uses crypto-ikev2-profile-aaa-auth-passwd-grouping; + } + } + case password-config { + uses crypto-ikev2-profile-aaa-auth-passwd-grouping; + } + } + } + } + list list { + status deprecated; + description + "AAA method list"; + key "name"; + leaf name { + type string; + } + uses crypto-ikev2-profile-aaa-auth-passwd-grouping-deprecated; + leaf username { + type string; + } + leaf local { + description + "Local AAA Authorization"; + when '../username'; + type empty; + } + container name-mangler { + status deprecated; + description + "Specify the name-mangler to derive AAA username"; + leaf name { + description + "mangler name"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:ikev2/ios-crypto:name-mangler/ios-crypto:name"; + } + } + uses crypto-ikev2-profile-aaa-auth-passwd-grouping-deprecated; + } + } + } + + grouping crypto-ikev2-profile-authentication-grouping { + leaf username { + description + "EAP username"; + type string; + } + container password { + description + "EAP password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + } + + grouping crypto-ikev2-profile-authentication-key-grouping { + container key { + description + "specify key"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + } + + grouping aaa-authorization-grouping { + container anyconnect-eap { + description + "AAA list to use when IKEv2 remote auth method is anyconnect eap based"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container cert { + description + "AAA list to use when IKEv2 remote auth method is certificate based"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container eap { + description + "AAA list to use when IKEv2 remote auth method is EAP"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container psk { + description + "AAA list to use when IKEv2 remote auth method is PSK"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container any { + description + "AAA list to use when no IKEv2 remote auth method is configured"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + } + + grouping crypto-ikev2-profile-grouping { + container aaa { + description + "Specify AAA related configuration"; + container accounting { + description + "AAA accounting"; + leaf anyconnect-eap { + description + "AAA list to use when IKEv2 remote auth method is AnyConnect EAP"; + type string; + } + leaf cert { + description + "AAA list to use when IKEv2 remote auth method is certificate based"; + type string; + } + leaf eap { + description + "AAA list to use when IKEv2 remote auth method is EAP"; + type string; + } + leaf psk { + description + "AAA list to use when IKEv2 remote auth method is PSK"; + type string; + } + leaf list { + description + "Common AAA list to be used for accounting"; + type leafref { + path "/ios:native/ios:aaa/ios-aaa:accounting/ios-aaa:network/ios-aaa:id"; + } + } + } + container authentication { + description + "AAA authentication"; + leaf anyconnect-eap { + description + "AAA AnyConnect EAP authentication"; + type string; + } + leaf eap { + description + "AAA EAP authentication"; + type string; + } + leaf list { + description + "Common AAA list to be used for all auth methods"; + type leafref { + path "/ios:native/ios:aaa/ios-aaa:authorization/ios-aaa:network/ios-aaa:id"; + } + } + } + container authorization { + description + "AAA authorization"; + container group { + description + "AAA group authorization"; + container override-container { + description + "Override user authorization with group authorization.By default, group authorization is overridden with user authorization"; + uses aaa-authorization-grouping; + } + leaf override { + description + "Override user authorization with group authorization.By default, group authorization is overridden with user authorization"; + status obsolete; + type empty; + } + uses aaa-authorization-grouping; + } + container user { + description + "AAA user authorization"; + container anyconnect-eap { + description + "AAA list to use when IKEv2 remote auth method is anyconnect eap based"; + leaf cached { + description + "Use cached attributes from EAP authentication or AAA pre-shared key fetch"; + type empty; + } + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container cert { + description + "AAA list to use when IKEv2 remote auth method is certificate based"; + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container eap { + description + "AAA list to use when IKEv2 remote auth method is EAP"; + leaf cached { + description + "Use cached attributes from EAP authentication or AAA pre-shared key fetch"; + type empty; + } + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container psk { + description + "AAA list to use when IKEv2 remote auth method is PSK"; + leaf cached { + description + "Use cached attributes from EAP authentication or AAA pre-shared key fetch"; + type empty; + } + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + container any { + description + "AAA list to use when no IKEv2 remote auth method is configured"; + leaf cached { + description + "Use cached attributes from EAP authentication or AAA pre-shared key fetch"; + type empty; + } + uses crypto-ikev2-profile-aaa-authorization-grouping; + } + } + } + } + container anyconnect { + description + "Enable profile for anyconnect profile download"; + leaf profile { + description + "Anyconnect profile name"; + type string; + } + } + container authentication { + description + "Set authentication method"; + container local { + description + "Set local authentication method"; + leaf dynamic { + description + "authentication local dynamic"; + must '../../../match/inbound-only' { + error-message "It seems 'match inbound-only' is not configured or attempted to delete while 'authentication local dynamic' is configured under ikev2 profile"; + } + type empty; + } + container eap { + description + "Extended Authentication Protocol"; + presence "true"; + container gtc { + description + "eap method gtc credentials"; + uses crypto-ikev2-profile-authentication-grouping; + } + container md5 { + description + "eap method md5 credentials"; + uses crypto-ikev2-profile-authentication-grouping; + } + container mschapv2 { + description + "eap method mschapv2 credentials"; + uses crypto-ikev2-profile-authentication-grouping; + } + } + leaf ecdsa-sig { + description + "ECDSA Signature"; + type empty; + } + container pre-share { + description + "Pre-Shared Key"; + presence "true"; + uses crypto-ikev2-profile-authentication-key-grouping; + } + leaf rsa-sig { + description + "Rivest-Shamir-Adleman Signature"; + type empty; + } + } + container remote { + description + "Set remote authentication method"; + container anyconnect-eap { + description + "AnyConnect EAP"; + container aggregate { + description + "use aggregate auth for anyconnect eap"; + presence "true"; + leaf cert-request { + description + "use double authentication during anyconnect eap"; + type empty; + } + } + } + container eap { + description + "Extended Authentication Protocol"; + presence "true"; + leaf query-identity { + description + "query EAP identity from peer"; + type empty; + } + leaf timeout { + description + "timeout"; + type uint8 { + range "45..180"; + } + } + } + leaf ecdsa-sig { + description + "ECDSA Signature"; + type empty; + } + container pre-share { + description + "Pre-Shared Key"; + presence "true"; + uses crypto-ikev2-profile-authentication-key-grouping; + } + leaf rsa-sig { + description + "Rivest-Shamir-Adleman Signature"; + type empty; + } + } + } + container config-exchange { + description + "config-exchange options"; + leaf request-1 { + description + "enable config-exchange request"; + type boolean; + default "true"; + } + leaf request { + description + "enable config-exchange request"; + status obsolete; + type empty; + } + leaf set { + description + "config-exchange set options"; + type enumeration { + enum accept; + enum send; + } + } + } + leaf description { + description + "Specify a description of this profile"; + type string; + } + container dpd { + description + "Enable IKE liveness check for peers"; + leaf interval { + must '(../retry)'; + type uint16 { + range "10..3600"; + } + } + leaf retry { + must '(../query)'; + type uint8 { + range "2..60"; + } + } + leaf query { + type enumeration { + enum on-demand; + enum periodic; + } + } + } + leaf dynamic { + description + "Indicates the IKEv2 profile settings are dynamic"; + must "((not(../authentication/local/pre-share)) and + (not(../authentication/remote/pre-share)) and + (not(../identity/local/address)) and + (not(../identity/local/dn)) and + (not(../identity/local/email)) and + (not(../identity/local/fqdn)) and + (not(../identity/local/key-id)) and + (not(../match/identity/remote/key-id)) and + (not(../match/identity/remote/fqdn/ios-crypto:fqdn-name)) and + (not(../match/identity/remote/fqdn/ios-crypto:domain)) and + (not(../match/identity/remote/email/ios-crypto:name)) and + (not(../match/identity/remote/email/domain)) and + (not(../match/identity/remote/any)) and + (count(../match/identity/ios-crypto:remote/ios-crypto:address/ios-crypto:ipv6-prefix)=0) and + (count(../match/identity/remote/address/ios-crypto:ipv4)=0))" { + error-message + "Cannot configure dynamic while there is existing static local or remote identity or authentication configuration in the profile. + Please unconfigure existing static local or remote identity or authentication configuration in the profile"; + } + type empty; + } + container identity { + description + "Specify IKE identity to use"; + container local { + description + "Specify the local IKE identity to use for the negotiation"; + choice identity { + case address-case { + leaf address { + description + "address"; + type inet:ip-address; + } + } + case dn-case { + leaf dn { + description + "Distinguished Name"; + type empty; + } + } + case email-case { + leaf email { + description + "Fully qualified email string + email "; + type string; + } + } + case fqdn-case { + leaf fqdn { + description + "Fully qualified domain name string + FQDN "; + type string; + } + } + case key-id-case { + leaf key-id { + description + "key-id opaque string - proprietary types of identification + key-id string"; + type string; + } + } + } + } + } + container initial-contact { + description + "initial-contact processing options"; + leaf force { + description + "Enforces initial-contact based clean-up"; + type empty; + } + } + leaf ivrf { + description + "I-VRF of the profile"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "% vrf with address-family does not exist. Create first"; + } + type string; + } + container keyring { + description + "Specify keyring to use"; + list aaa { + description + "AAA based keyring"; + key "name"; + leaf name { + type string; + } + leaf name-mangler { + description + "Specify the name-mangler to derive username"; + must '/ios:native/ios:crypto/ios-crypto:ikev2/ios-crypto:name-mangler[ios-crypto:name=current()]' { + error-message "% name-mangler does not exist"; + } + type string; + } + container password { + description + "Specify the AAA password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + } + container local { + description + "Local keyring"; + leaf name { + description + "Keyring name"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:ikev2/ios-crypto:keyring/ios-crypto:name"; + } + } + } + } + container lifetime { + description + "Set lifetime for ISAKMP security association"; + leaf seconds { + type uint32 { + range "120..86400"; + } + } + leaf certificate-profile { + description + "Enable certificate based lifetime"; + type boolean; + default "true"; + } + leaf certificate { + status deprecated; + description + "Enable certificate based lifetime"; + type empty; + } + } + container match { + description + "Match values of peer"; + leaf inbound-only { + description + "Match the profile for incoming connections only"; + type empty; + } + container address { + description + "IP address"; + container local { + description + "Local address"; + leaf ip { + type inet:ip-address; + } + container interface-options { + description + "Specify an interface"; + uses ios-ifc:interface-grouping; + } + leaf interface { + description + "Specify an interface"; + status deprecated; + type string; + } + } + } + leaf-list certificate-map { + description + "Peer certificate attributes"; + type string; + } + leaf certificate { + description + "Deprecated, please use certificate-map"; + status deprecated; + type string; + } + container fvrf { + description + "fvrf of the profile"; + leaf name { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "% vrf with address-family does not exist. Create first"; + } + type string; + } + leaf any { + description + "Any fvrf"; + type empty; + } + } + container identity { + description + "IKE identity"; + container remote { + description + "Remote identity"; + container address { + description + "IP address(es)"; + list ipv4 { + key "ipv4-address"; + leaf ipv4-address { + type inet:ipv4-address; + } + leaf ipv4-mask { + type inet:ipv4-address; + } + } + leaf-list ipv6-prefix { + type ios-types:ipv6-prefix; + } + } + leaf any { + description + "match any peer identity"; + type empty; + } + container email { + description + "Fully qualified email string [Max. 255 char(s)]"; + leaf-list names { + type string; + } + leaf name { + status deprecated; + description + "Email address (DEPRECATED, use names)"; + type string; + } + leaf-list domains { + description + "match domain instead of exact"; + type string; + } + leaf domain { + description + "Email domain (DEPRECATED, use domains)"; + status deprecated; + type string; + } + } + container fqdn { + description + "Fully qualified domain name string [Max. 255 char(s)]"; + leaf name { + status deprecated; + type string; + } + leaf-list fqdn-name { + type string; + } + leaf-list domains { + description + "match domain instead of exact"; + type string; + } + leaf domain { + description + "Email domain (DEPRECATED, use domains)"; + status deprecated; + type string; + } + } + leaf-list key-ids { + description + "key-id opaque string"; + type string; + } + leaf key-id { + description + "key-id opaque string (DEPRECATED, use key-ids)"; + status deprecated; + type string; + } + } + } + } + container nat { + description + "NAT-transparency"; + leaf force-encap { + description + "Enforce NAT ESP encap always"; + type empty; + } + leaf keepalive { + description + "NAT keepalive interval"; + type uint16 { + range "5..3600"; + } + } + } + container pki { + description + "Specify certificate authorities to trust"; + list trust-points { + description + "Cert authority trustpoint for RSA sig"; + key "name"; + leaf name { + type string; + } + leaf uses { + type enumeration { + enum sign; + enum verify; + } + } + } + leaf trustpoint { + description + "DEPRECATED (use trust-points)"; + status deprecated; + type string; + } + leaf use { + description + "DEPRECATED (use trust-points - uses)"; + status deprecated; + type enumeration { + enum sign; + enum verify; + } + } + } + container reconnect { + description + "Enable profile for auto re-connect"; + presence "true"; + leaf timeout { + description + "timeout value for session in reconnect state"; + type uint32 { + range "600..86400"; + } + } + } + container redirect { + description + "IKEv2 Redirect Mechanism for load-balancing"; + container gateway { + description + "Enables Redirect Mechanism on Gateway"; + leaf auth { + description + "Redirect at SA authentication"; + type empty; + } + } + } + leaf shutdown { + description + "shutdown the IKEv2 profile"; + type empty; + } + container virtual-template { + description + "Specify the virtual-template for dynamic interface creation."; + leaf number { + type uint16 { + range "1..4095"; + } + } + leaf mode { + description + "Enabling Tunnel Auto Mode"; + type enumeration { + enum auto; + } + } + } + } + + grouping crypto-ikev2-authorization-route-set-local-grouping { + leaf next-hop { + description + "next-hop address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vrf { + description + "vrf name"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "% vrf with address-family does not exist. Create first"; + } + type string; + } + leaf tag { + description + "tag-value"; + type uint32 { + range "1..497777"; + } + } + leaf distance { + description + "distance-value"; + type uint16 { + range "1..255"; + } + } + } + + grouping crypto-ikev2-grouping { + container authorization { + description + "IKEv2 authorization"; + list policy { + description + "IKEv2 authorization policy"; + key "policy-name"; + leaf policy-name { + type string; + } + leaf banner { + description + "Specify mode config banner"; + type string; + } + container configuration { + description + "Push configuration to the client"; + leaf url { + description + "URL for the client to fetch configuration"; + type string { + pattern "(((bootflash:)|(cns:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp: + )|(sftp:)|(system:)|(tar:)|(tftp:)|(tmpsys:)|(webui:)).*)"; + } + } + leaf version { + description + "version of the configuration available at the URL"; + type uint32 { + range "1..32767"; + } + } + } + leaf include-local-lan { + description + "Enable Local LAN Access with no split tunnel"; + type empty; + } + container ipsec { + description + "Specify ipsec parameters"; + leaf flow-limit { + description + "ipsec flow-limit per multi-sa session"; + type uint32 { + range "0..50000"; + } + } + } + container mobileopt-serv { + description + "Specify Mobile Optimization Server Addr and Port"; + leaf A.B.C.D { + description + "Mobile Optimization Server IPv4 address"; + type inet:ipv4-address; + } + leaf port-number { + description + "Optional Mobile Optimization Server Port Number, Default is 9540"; + type uint32 { + range "1..65535"; + } + } + } + leaf netmask { + description + "Specify netmask of the config address"; + type inet:ipv4-address; + } + leaf pfs { + description + "The client should propose PFS"; + type empty; + } + container route { + container set { + container interface { + leaf interface-default { + type empty; + } + container interface-name-list { + uses ios-ifc:interface-grouping; + } + list interface-list { + status deprecated; + key "interface-name"; + leaf interface-name { + status deprecated; + type string; + } + } + } + container access-list { + description + "Specify the route access-list"; + leaf access-list-range { + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string; + } + } + container ipv6 { + description + "ipv6 access-list"; + leaf name { + description + "access-list name"; + type string; + } + } + } + container remote { + description + "Specify routes to be pushed to peer"; + list ipv4 { + description + "ipv4 route"; + key "prefix"; + leaf prefix { + description + "IP address prefix"; + type inet:ipv4-address; + } + leaf ipv4-mask { + description + "specify mask"; + type inet:ipv4-address; + } + } + list ipv6 { + description + "pv6 route"; + key "prefix"; + leaf prefix { + description + "IPv6 address/prefix-length"; + type ios-types:ipv6-prefix; + } + } + } + container local { + description + "Specify route set local parameters"; + list ipv4 { + description + "ipv4 route"; + key "prefix"; + leaf prefix { + description + "IP address prefix"; + type inet:ipv4-address; + } + leaf ipv4-mask { + description + "specify mask"; + type inet:ipv4-address; + } + uses crypto-ikev2-authorization-route-set-local-grouping; + } + list ipv6 { + description + "ipv6 route"; + key "prefix"; + leaf prefix { + description + "IPv6 address/prefix-length"; + type ios-types:ipv6-prefix; + } + uses crypto-ikev2-authorization-route-set-local-grouping; + } + } + } + container accept { + description + "Route accept parameters"; + container any-option { + description + "Accept all subnets from peer"; + presence "true"; + leaf tag { + description + "Specify tag for routes to remote subnets"; + type uint64 { + range "1..497777"; + } + } + leaf distance { + description + "Specify distance for routes to remote subnets"; + type uint16 { + range "1..255"; + } + } + } + container any { + description + "Accept all subnets from peer"; + status deprecated; + choice distance-tag { + status deprecated; + case distance { + status deprecated; + leaf distance { + description + "Specify distance for routes to remote subnets"; + status deprecated; + type uint16 { + range "1..255"; + } + } + } + case tag { + status deprecated; + leaf tag { + description + "Specify tag for routes to remote subnets"; + status deprecated; + type uint64 { + range "1..497777"; + } + } + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + container ipv6 { + description + "Specify the ipv6 attributes"; + container dns { + description + "Specify DNS Addresses"; + leaf primary { + description + "Primary DNS IPv6 address"; + type inet:ipv6-address; + } + leaf secondary { + description + "Secondary DNS IPv6 address"; + when '../primary'; + type inet:ipv6-address; + } + } + container pool { + description + "Specify local address pool"; + leaf pool-name { + description + "address pool name"; + type string; + } + } + leaf prefix { + description + "Specify ipv6 prefix length of the config address"; + type uint8 { + range "1..128"; + } + } + } + container pool { + description + "Specify local address pool"; + leaf pool-name { + type string; + } + } + container aaa { + description + "Specify aaa attribute list"; + container attribute { + description + "AAA attribute list"; + leaf list { + description + "AAA attribute list"; + type string; + } + leaf aaa-attribute-list { + description + "AAA attribute list"; + status obsolete; + type string; + } + } + } + list split-dns { + description + "Split DNS names"; + key "name"; + leaf name { + description + "DNS extension"; + type string; + } + } + leaf backup-gateway { + description + "Specify backup gateway"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf def-domain { + description + "Set default domain name to send to client"; + type string; + } + container dns { + description + "Specify DNS Addresses"; + leaf primary { + description + "Primary DNS IP address"; + type inet:ipv4-address; + } + leaf secondary { + description + "Secondary DNS IP address"; + type inet:ipv4-address; + } + } + container dhcp { + description + "Specify DHCP server for config address"; + leaf giaddr { + description + "Specify giaddr for dhcp scope"; + type inet:ip-address; + } + leaf server { + description + "Specify dhcp server addresses"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf timeout { + description + "Specify DHCP response timeout in seconds"; + type uint8 { + range "4..30"; + } + } + } + leaf session-lifetime { + description + "Specify maximum session lifetime"; + type uint64 { + range "120..25920000"; + } + } + leaf smartcard-removal-disconnect { + description + "Enables smartcard-removal-disconnect"; + type empty; + } + container wins { + description + "Specify WINS Addresses"; + leaf primary { + description + "Primary WINS IP address"; + type inet:ipv4-address; + } + leaf secondary { + description + "Secondary WINS IP address"; + when '../primary'; + type inet:ipv4-address; + } + } + } + } + leaf certificate-cache { + description + "Cache for storing certs fetched from HTTP URLs"; + type uint16; + } + container client { + description + "IKEv2 client configuration"; + list flexvpn { + key "flexvpn-name"; + leaf flexvpn-name { + description + "Configure an IKEv2 FlexVPN client"; + type string; + } + container peer { + description + "Allowed Encryption/Decryption Peer"; + list peer-id-list { + description + "peer sequence number"; + key "peer-id"; + leaf peer-id { + type uint8; + } + container peer-id-container-option { + choice address-fqdn { + case peer-address { + leaf peer-address { + description + "ip address"; + type inet:ip-address; + } + leaf track { + description + "Peer track object"; + type uint16 { + range "0..1000"; + } + } + leaf up-down { + type enumeration { + enum up; + enum down; + } + } + } + case fqdn { + container fqdn { + leaf fqdn { + description + "Peer host name"; + type string; + } + leaf dynamic { + description + "Dynamic host name"; + type empty; + } + leaf ipv6 { + description + "IPv6 host name"; + type empty; + } + leaf track { + description + "Peer track object"; + type uint16 { + range "0..1000"; + } + } + leaf up-down { + type enumeration { + enum up; + enum down; + } + } + } + } + } + } + container peer-id-container { + status deprecated; + leaf peer-address { + description + "ip address"; + status deprecated; + type inet:ip-address; + } + leaf track { + description + "Peer track object"; + status deprecated; + type uint16 { + range "0..1000"; + } + } + leaf up-down { + status deprecated; + type enumeration { + enum up; + enum down; + } + } + } + } + leaf reactivate { + description + "Re-activate peer enabled"; + type empty; + } + } + container connect { + leaf auto { + description + "Enable FlexVPN in Automatic mode"; + type empty; + } + leaf manual { + description + "Enable FlexVPN in Manual mode"; + type empty; + } + leaf track { + type uint16 { + range "0..1000"; + } + } + leaf up-down { + type enumeration { + enum up; + enum down; + } + } + } + list source { + key "source-id"; + leaf source-id { + type uint8 { + range "1..255"; + } + } + container interface-name { + uses ios-ifc:interface-grouping; + leaf track { + type uint16 { + range "1..1000"; + } + } + } + container source-id-container { + status deprecated; + leaf interface-name { + status deprecated; + type string; + } + leaf track { + status deprecated; + type uint16 { + range "1..1000"; + } + } + } + } + container client { + container connect { + leaf Tunnel { + type uint32 { + range "0..2147483647"; + } + } + } + container inside { + description + "inside interface"; + uses ios-ifc:interface-grouping; + } + } + container backup { + description + "Backup Configuration"; + container group { + description + "Group"; + choice group-number-default { + case group-number-case { + leaf group-number { + type uint16 { + range "1..255"; + } + } + } + case default-case { + leaf default { + description + "Default Group"; + type boolean; + default "true"; + } + } + } + } + } + } + } + container cluster-options { + description + "Cluster load-balancer settings"; + presence "true"; + leaf fqdn { + description + "Fully qualified domain name string"; + type string; + } + leaf holdtime { + description + "Hold time interval"; + type uint32 { + range "100..120000"; + } + } + container master { + description + "Master settings"; + leaf overload-limit { + description + "Threshold load of cluster"; + type uint8 { + range "50..99"; + } + } + container weight { + description + "Weight of a load attribute"; + leaf crypto-load { + description + "IKE and IPsec SA load. Default is 100."; + type uint8 { + range "0..100"; + } + } + leaf system-load { + description + "CPU and memory usage load. Default is 100."; + type uint8 { + range "0..100"; + } + } + } + } + leaf port { + description + "Load feed port"; + type uint32 { + range "1..65535"; + } + } + container slave { + description + "Slave settings"; + leaf hello { + description + "Hello time interval"; + type uint32 { + range "100..30000"; + } + } + leaf max-session { + description + "Maximum SAs (IKE and IPsec)"; + type uint32 { + range "1..100000"; + } + } + leaf priority { + description + "Priority"; + type uint16 { + range "1..100"; + } + } + leaf update { + description + "Load update time interval"; + type uint32 { + range "100..60000"; + } + } + } + container standby-group { + description + "HSRP group"; + leaf name { + description + "HSRP group name"; + type string; + } + } + leaf shutdown-cluster { + description + "Shutdown the cluster"; + type boolean; + default "true"; + } + leaf shutdown { + description + "This node is deprecated and replaced by shutdown-cluster"; + status deprecated; + type empty; + } + } + container cluster { + description + "Cluster load-balancer settings"; + status deprecated; + container slave { + description + "Slave settings"; + status deprecated; + leaf hello { + description + "Hello time interval"; + status deprecated; + type uint32 { + range "100..30000"; + } + } + leaf max-session { + description + "Maximum SAs (IKE and IPsec)"; + status deprecated; + type uint32 { + range "1..100000"; + } + } + leaf priority { + description + "Priority"; + status deprecated; + type uint16 { + range "1..100"; + } + } + leaf update { + description + "Load update time interval"; + status deprecated; + type uint32 { + range "100..60000"; + } + } + } + container standby-group { + description + "HSRP group"; + status deprecated; + leaf name { + description + "HSRP group name"; + status deprecated; + type string; + } + } + } + leaf cookie-challenge { + description + "Set Cookie-challenge watermark"; + type uint16 { + range "0..1000"; + } + } + container cts { + description + "Cisco Trust Security"; + leaf sgt { + description + "Security Group Tag"; + type empty; + } + } + container diagnose { + description + "IKEV2 diagnose"; + leaf error { + description + "Start IKEv2 error trace debug"; + type uint16 { + range "1..1000"; + } + } + } + leaf disconnect-revoked-peers { + description + "Disconnect Crypto Session with Cert Revoked Peer"; + type empty; + } + container dpd-container { + leaf dpd { + description + "Enable IKE liveness check for peers"; + type uint16 { + range "10..3600"; + } + } + leaf retry-interval { + type uint8 { + range "2..60"; + } + } + leaf dpd-query { + type enumeration { + enum on-demand; + enum periodic; + } + } + } + container fragmentation { + description + "Enable fragmentation of ikev2 packets"; + presence "true"; + leaf mtu { + description + "MTU size for fragmentation"; + type uint16 { + range "68..1500"; + } + default "576"; + } + } + container http-url { + description + "Enable http URL lookup"; + leaf cert-leaf { + description + "Enable certificate lookup based on HTTP-based URL"; + type boolean; + default "true"; + } + leaf cert { + description + "Enable certificate lookup based on HTTP-based URL"; + status deprecated; + type empty; + } + leaf bundle { + description + "Enable bundle lookup based on HTTP-based URL"; + type empty; + } + } + list keyring { + description + "Define IKEv2 Keyring"; + key "name"; + leaf name { + type string; + } + list peer { + description + "Configure a Peer and associated keys"; + key "name"; + leaf name { + type string; + } + uses crypto-ikev2-keyring-peer-grouping; + } + } + container limit { + description + "Limit the number of maximum and negotiating sa"; + container max-neg-sa { + leaf max-in-negotation-sa { + description + "Limit the maximum number of negotiating SA"; + type uint32 { + range "1..9999"; + } + } + leaf direction { + type enumeration { + enum incoming; + enum outgoing; + } + } + } + leaf max-sa { + description + "Limit the maximum number of SA allowed"; + type uint32 { + range "1..9999"; + } + } + container queue { + description + "Limit size of queue"; + leaf sa-init { + description + "Limit size of LOW Q (incoming SA INIT requests)"; + type uint32 { + range "100..100000"; + } + default "5000"; + } + } + } + list name-mangler { + description + "Name mangler"; + key "name"; + leaf name { + type string; + } + leaf dn { + description + "Derive name from DN identity"; + type enumeration { + enum common-name; + enum country; + enum domain; + enum locality; + enum organization; + enum organization-unit; + enum state; + } + } + container eap { + description + "Derive name from EAP identity"; + choice eap-options { + case dn { + leaf dn { + description + "Derive name from DN identity"; + type enumeration { + enum common-name; + enum country; + enum domain; + enum locality; + enum organization; + enum organization-unit; + enum state; + } + } + } + case all { + leaf all { + description + "entire portion of the identity"; + type empty; + } + } + case prefix { + container prefix { + description + "prefix portion of eap identity"; + container delimiter { + description + "Specify the delimiter"; + choice delimeter-choice { + leaf dot { + type empty; + } + leaf at-sign { + type empty; + } + leaf slash-sign { + type empty; + } + } + } + } + } + case suffix { + container suffix { + description + "suffix portion of eap identity"; + container delimiter { + description + "Specify the delimiter"; + choice delimeter-choice { + leaf dot { + type empty; + } + leaf at-sign { + type empty; + } + leaf slash-sign { + type empty; + } + } + } + } + } + } + } + leaf email { + description + "Derive name from EMAIL identity"; + type enumeration { + enum all; + enum domain; + enum username; + } + } + leaf fqdn { + description + "Derive name from FQDN identity"; + type enumeration { + enum all; + enum domain; + enum hostname; + } + } + } + container nat { + description + "NAT-transparency"; + leaf keepalive { + description + "Set NAT keepalive interval"; + type uint16 { + range "5..3600"; + } + } + } + list policy { + description + "Define IKEV2 policies"; + key "name"; + leaf name { + type string; + } + container match { + description + "Match values of local fields"; + leaf inbound-only { + description + "inbound only for controller"; + type empty; + } + container address { + description + "Specify the address to match"; + leaf-list local-ip { + description + "Local address"; + type inet:ip-address; + } + leaf local { + description + "DEPRECATED (use local-ip)"; + status deprecated; + type inet:ip-address; + } + } + container fvrf { + description + "Specify fvrf"; + leaf name { + type string; + } + leaf any { + description + "Any fvrf"; + type empty; + } + } + } + list proposal { + description + "Specify Proposal"; + key "proposals"; + leaf proposals { + must "(.='default') or (((/ios:native/ios:crypto/ikev2/proposal[name=current()]/group/one or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/fourteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/fifteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/sixteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/nineteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/two or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty-one or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty-four or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/five) and (/ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/en-3des or /ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/aes-cbc-128 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/aes-cbc-192 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/aes-cbc-256 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/des) and (/ios:native/ios:crypto/ikev2/proposal[name=current()]/integrity/md5 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/integrity/sha1 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/integrity/sha256 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/integrity/sha384 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/integrity/sha512)) or ((/ios:native/ios:crypto/ikev2/proposal[name=current()]/group/one or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/fourteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/fifteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/sixteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/nineteen or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/two or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty-one or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/twenty-four or /ios:native/ios:crypto/ikev2/proposal[name=current()]/group/five) and (/ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/aes-gcm-128 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/encryption/aes-gcm-256) and (/ios:native/ios:crypto/ikev2/proposal[name=current()]/prf/md5 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/prf/sha1 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/prf/sha256 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/prf/sha384 or /ios:native/ios:crypto/ikev2/proposal[name=current()]/prf/sha512)))" { + error-message "IKEv2 policy MUST have only complete proposals attached"; + } + type string; + } + } + } + list profile { + description + "Define IKEV2 profiles"; + key "name"; + leaf name { + type string; + } + uses crypto-ikev2-profile-grouping; + } + list proposal { + description + "Define IKEV2 proposals"; + key "name"; + leaf name { + type string; + } + container encryption { + description + "Set encryption algorithm(s) for proposal"; + leaf en-3des { + description + "3DES"; + type empty; + } + leaf aes-cbc-128 { + description + "AES-CBC-128"; + type empty; + } + leaf aes-cbc-192 { + description + "AES-CBC-192"; + type empty; + } + leaf aes-cbc-256 { + description + "AES-CBC-256"; + type empty; + } + leaf aes-gcm-128 { + description + "Combined-mode,128 bit key,16 byte ICV(Authentication Tag)"; + type empty; + } + leaf aes-gcm-256 { + description + "Combined-mode,256 bit key,16 byte ICV(Authentication Tag)"; + type empty; + } + leaf des { + description + "DES"; + type empty; + } + } + container group { + description + "Set the Diffie-Hellman group(s)"; + leaf one { + description + "DH 768 MODP"; + type empty; + } + leaf fourteen { + description + "DH 2048 MODP"; + type empty; + } + leaf fifteen { + description + "DH 3072 MODP"; + type empty; + } + leaf sixteen { + description + "DH 4096 MODP"; + type empty; + } + leaf nineteen { + description + "DH 256 ECP"; + type empty; + } + leaf two { + description + "DH 1024 MODP"; + type empty; + } + leaf twenty { + description + "DH 384 ECP"; + type empty; + } + leaf twenty-one { + description + "DH 521 ECP"; + type empty; + } + leaf twenty-four { + description + "DH 2048 (256 subgroup) MODP"; + type empty; + } + leaf five { + description + "DH 1536 MODP"; + type empty; + } + } + container integrity { + description + "Set integrity hash algorithm(s) for proposal"; + leaf md5 { + description + "Message Digest 5"; + type empty; + } + leaf sha1 { + description + "Secure Hash Standard"; + type empty; + } + leaf sha256 { + description + "Secure Hash Standard 2 (256 bit)"; + type empty; + } + leaf sha384 { + description + "Secure Hash Standard 2 (384 bit)"; + type empty; + } + leaf sha512 { + description + "Secure Hash Standard 2 (512 bit)"; + type empty; + } + } + container prf { + description + "Set prf algorithm(s) for proposal"; + leaf md5 { + description + "Message Digest 5"; + type empty; + } + leaf sha1 { + description + "Secure Hash Standard"; + type empty; + } + leaf sha256 { + description + "Secure Hash Standard 2 (256 bit)"; + type empty; + } + leaf sha384 { + description + "Secure Hash Standard 2 (384 bit)"; + type empty; + } + leaf sha512 { + description + "Secure Hash Standard 2 (512 bit)"; + type empty; + } + } + } + container reconnect { + description + "Cluster Reconnect"; + list key { + description + "Cluster Reconnect key"; + max-elements 2; + key "key-index"; + leaf key-index { + type uint8 { + range "1..2"; + } + } + leaf active { + description + "Current active cluster reconnect key"; + type empty; + } + leaf key-value { + type string { + length "1..128"; + } + } + } + } + container redirect { + description + "IKEv2 Redirect Mechanism for load-balancing"; + container client { + description + "Enables Redirect Mechanism on Client"; + presence "true"; + leaf max-redirects { + description + "Redirect loop detection"; + type uint8 { + range "1..255"; + } + } + } + leaf gateway { + description + "Enables Redirect Mechanism on Gateway"; + type enumeration { + enum auth; + enum init; + } + } + } + leaf window { + description + "IKEV2 window size"; + type uint8 { + range "1..200"; + } + default "5"; + } + } + + grouping crypto-ipsec-profile-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + type string; + } + container dialer { + description + "Dialer related commands"; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + type empty; + } + } + container redundancy { + description + "Configure HA for this ipsec profile"; + leaf name { + type string; + } + leaf stateful { + description + "enable stateful failover"; + type empty; + } + } + leaf responder-only { + description + "Do not initiate SAs from this device"; + type empty; + } + uses reverse-route-common-grouping; + container set { + description + "Set values for encryption/decryption"; + leaf group { + description + "Set the san group parameters"; + status obsolete; + type string; + } + uses ipsec-common-set-grouping; + leaf mixed-mode { + description + "Turn on IPSec mixed-mode"; + type empty; + } + container security-association { + description + "Security association parameters"; + uses crypto-map-common-set-security-association-grouping; + leaf level { + description + "specify a security association granularity level for identities"; + type enumeration { + enum per-host; + } + } + } + container security-policy { + description + "Maximum number of Security Policy entries that can be negotiated with the peer"; + leaf limit { + description + "limit 0 - 50000"; + type uint32 { + range "0..50000"; + } + } + } + } + } + + grouping crypto-ipsec-profile-default-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + type empty; + } + container dialer { + description + "Dialer related commands"; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + type empty; + } + } + leaf redundancy { + description + "Configure HA for this ipsec profile"; + type empty; + } + leaf responder-only { + description + "Do not initiate SAs from this device"; + type empty; + } + container set { + description + "Set values for encryption/decryption"; + leaf group { + description + "Set the san group parameters"; + status obsolete; + type empty; + } + leaf identity { + description + "Identity restriction"; + type empty; + } + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + type string; + } + leaf isakmp-profile { + description + "Specify isakmp Profile"; + type empty; + } + leaf mixed-mode { + description + "Turn on IPSec mixed-mode"; + type empty; + } + container pfs { + description + "Specify pfs settings"; + presence "true"; + } + container reverse-route { + description + "Reverse Route Injection"; + presence "true"; + } + container security-association { + description + "Security association parameters"; + leaf dfbit { + description + "Handling of encapsulated DF bit."; + type empty; + } + container dummy { + description + "Enable transmitting dummy packets"; + presence "true"; + } + leaf ecn { + description + "Handling of ECN bit"; + type empty; + } + container idle-time-container { + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + type empty; + } + leaf default { + description + "All SAs idle-out reset to default peer"; + type empty; + } + } + leaf level { + description + "specify a security association granularity level for identities"; + type enumeration { + enum per-host; + } + } + container lifetime { + description + "security association lifetime"; + leaf days { + description + "Time-based key duration in days"; + type empty; + } + leaf kilobytes { + description + "Volume-based key duration"; + type empty; + } + leaf seconds { + description + "Time-based key duration in seconds"; + type empty; + } + } + container replay { + description + "Set replay checking."; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size."; + type empty; + } + } + } + container security-policy { + description + "Maximum number of Security Policy entries that can be negotiated with the peer"; + leaf limit { + description + "limit 0 - 50000"; + type uint32 { + range "0..50000"; + } + } + } + leaf-list transform-set { + description + "Specify list of transform sets in priority order"; + type string; + } + } + } + + grouping crypto-ipsec-grouping { + leaf df-bit { + description + "Handling of encapsulated DF bit."; + type enumeration { + enum clear; + enum copy; + enum set; + } + } + container exclude { + description + "LI exclude list"; + container peer-list { + description + "LI peer"; + list ipv4 { + description + "ipv4-address"; + key "address"; + leaf address { + type inet:ipv4-address; + } + } + list ipv6 { + description + "IPv6 address"; + key "address"; + leaf address { + type inet:ipv6-address; + } + } + } + } + leaf fragmentation { + description + "Handling of fragmentation of near-MTU sized packets"; + type enumeration { + enum after-encryption; + enum before-encryption; + } + } + leaf ipv4-deny { + description + "Configure global ipv4 deny policy."; + type enumeration { + enum clear; + enum drop; + enum jump; + } + } + leaf nat-transparency { + description + "IPsec NAT transparency model"; + type enumeration { + enum spi-matching; + enum udp-encapsulation; + } + default "udp-encapsulation"; + } + container optional { + description + "Enable optional encryption for IPSec"; + presence "true"; + leaf retry { + description + "Configure length of IPSec retry interval"; + type uint32 { + range "60..86400"; + } + default "300"; + } + } + list transform-set { + description + "Define transform and settings"; + key "tag"; + leaf tag { + type string; + } + leaf ah-hmac { + type enumeration { + enum ah-md5-hmac; + enum ah-sha-hmac; + enum ah-sha256-hmac; + enum ah-sha384-hmac; + enum ah-sha512-hmac; + } + } + leaf comp-lzs { + description + "IP Compression using the LZS compression algorithm"; + type empty; + } + leaf esp { + when 'not(../ah-hmac)'; + type enumeration { + enum esp-3des; + enum esp-aes; + enum esp-des; + enum esp-gcm; + enum esp-gmac; + enum esp-null; + enum esp-seal; + enum esp-192-aes; + enum esp-256-aes; + } + } + leaf key-bit { + when "../esp != 'esp-3des' and ../esp != 'esp-des' and ../esp != 'esp-null' and ../esp != 'esp-seal' and ../esp != 'esp-192-aes' and ../esp != 'esp-256-aes'"; + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + leaf esp-hmac { + when "../esp != 'esp-gcm' and ../esp != 'esp-gmac'"; + type enumeration { + enum esp-md5-hmac; + enum esp-sha-hmac; + enum esp-sha256-hmac; + enum esp-sha384-hmac; + enum esp-sha512-hmac; + } + } + container default { + status obsolete; + description + "Set a command to its defaults"; + leaf mode { + status obsolete; + description + "encapsulation mode (transport/tunnel)"; + type empty; + } + } + leaf esn { + when '../ah-hmac or ../esp'; + description + "extended Sequence number"; + type empty; + } + container mode { + when '../ah-hmac or ../esp'; + description + "encapsulation mode (transport/tunnel)"; + choice mode-type { + case transport-case { + container transport-choice { + description + "transport (payload encapsulation) mode"; + presence "true"; + leaf require { + description + "Accept only the configured encapsulation mode."; + type empty; + } + } + } + case tunnel-case { + leaf tunnel-choice { + description + "tunnel (datagram encapsulation) mode"; + type empty; + } + } + } + container transport { + status deprecated; + description + "DEPRECATED (use mode-type transport)"; + presence "true"; + leaf require { + status deprecated; + description + "DEPRECATED (use mode-type transport require) "; + type empty; + } + } + leaf tunnel { + status deprecated; + description + "DEPRECATED (use mode-type tunnel)"; + type empty; + } + } + } + list profile { + description + "Configure an ipsec policy profile"; + key "name"; + leaf name { + type string; + } + container default { + description + "Set a command to its defaults"; + uses crypto-ipsec-profile-default-grouping; + } + uses crypto-ipsec-profile-grouping; + } + container security-association { + description + "Security association parameters"; + container dummy { + description + "Enable transmitting dummy packets"; + leaf pps { + description + "Simulated traffic rate (in pps)"; + type uint8 { + range "0..25"; + } + } + leaf seconds { + description + "Simulated traffic rate (in seconds)"; + type uint16 { + range "1..3600"; + } + } + } + leaf ecn { + description + "Handling of ECN bit"; + type enumeration { + enum discard; + enum propagate; + } + default "discard"; + } + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + type uint32 { + range "60..86400"; + } + } + container lifetime { + description + "security association lifetime"; + leaf days { + description + "Time-based key duration in days"; + type uint8 { + range "1"; + } + } + leaf kilobytes { + description + "Volume-based key duration"; + type union { + type uint64 { + range "2560..4294967295"; + } + type enumeration { + enum disable; + } + } + default "4608000"; + } + leaf seconds { + description + "Time-based key duration in seconds"; + type uint64 { + range "120..86400"; + } + default "3600"; + } + } + leaf multi-sn { + description + "Enable multiple sequence number per IPSec SA"; + type empty; + } + container replay { + description + "Set replay checking."; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size."; + type enumeration { + enum 1024; + enum 128; + enum 256; + enum 512; + enum 64; + } + default "64"; + } + } + } + container session-key { + description + "security association parameters"; + container dummy { + description + "Enable transmitting dummy packets"; + leaf pps { + description + "Simulated traffic rate (in pps)"; + type uint8 { + range "0..25"; + } + } + leaf seconds { + description + "Simulated traffic rate (in seconds)"; + type uint16 { + range "1..3600"; + } + } + } + leaf ecn { + description + "Handling of ECN bit"; + type enumeration { + enum discard; + enum propagate; + } + } + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period"; + type uint32 { + range "60..86400"; + } + } + container lifetime { + description + "security association lifetime"; + leaf days { + description + "Time-based key duration in days"; + type uint8 { + range "1..30"; + } + } + leaf kilobytes { + description + "Volume-based key duration"; + type union { + type uint32 { + range "2560..4294967295"; + } + type enumeration { + enum disable; + } + } + } + leaf seconds { + description + "Time-based key duration in seconds"; + type uint32 { + range "120..2592000"; + } + } + } + leaf multi-sn { + description + "Enable multiple sequence number per IPSec SA"; + type empty; + } + container replay { + description + "Set replay checking"; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size"; + type enumeration { + enum 1024; + enum 512; + enum 256; + enum 128; + enum 64; + } + } + } + } + container ike { + description + "Common global config for ISAKMP and IKEv2"; + leaf sa-strength-enforcement { + description + "Ensures IKE encryption cipher strength is higher than + the strength of its child IPsec SA's encryption ciphers"; + type empty; + } + } + } + + grouping crypto-isakmp-policy-grouping { + leaf authentication { + description + "Set authentication method for protection suite"; + type enumeration { + enum pre-share; + enum rsa-encr; + enum rsa-sig; + } + } + container encryption { + description + "Set encryption algorithm for protection suite"; + leaf aes-192 { + description + "AES - Advanced Encryption Standard (192 bit keys)"; + type empty; + } + leaf aes-256 { + description + "AES - Advanced Encryption Standard (256 bit keys)"; + type empty; + } + leaf a3des { + type empty; + } + choice encryption-type { + case aes-case { + container aes-choice { + description + "AES - Advanced Encryption Standard."; + presence "true"; + leaf key-type { + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + } + } + case des-case { + leaf des-choice { + description + "DES - Data Encryption Standard (56 bit keys)."; + type empty; + } + } + } + container aes { + status deprecated; + description + "DEPRECATED (use encryption-type aes)"; + presence "true"; + leaf key { + status deprecated; + description + "DEPRECATED (use encryption-type aes key)"; + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + } + leaf des { + status deprecated; + description + "DEPRECATED (use encryption-type des)"; + type empty; + } + } + leaf group { + description + "Set the Diffie-Hellman group"; + type enumeration { + enum 1; + enum 14; + enum 15; + enum 16; + enum 19; + enum 2; + enum 20; + enum 21; + enum 24; + enum 5; + } + } + leaf hash { + description + "Set hash algorithm for protection suite"; + type enumeration { + enum md5; + enum sha; + enum sha256; + enum sha384; + enum sha512; + } + } + } + + grouping crypto-keyring-grouping { + leaf description { + description + "Specify a description about this keyring"; + type string; + } + container local-address { + description + "Limit the keyring usage to a local address"; + uses crypto-local-address-grouping; + } + container pre-shared-key { + description + "Pre-Shared Key"; + container address { + description + "pre shared key by address"; + choice ipv4-ipv6 { + case ipv4 { + list ipv4 { + description + "address prefix"; + key "ipv4-addr"; + leaf ipv4-addr { + type inet:ipv4-address; + } + leaf mask { + description + "address prefix mask"; + type inet:ipv4-address; + } + uses crypto-keyring-key-grouping { + refine "key"; + } + } + } + case ipv6 { + list ipv6 { + description + "define shared key with IPv6 address"; + key "ipv6-addr"; + leaf ipv6-addr { + description + "IPv6 address prefix"; + type ios-types:ipv6-prefix; + } + uses crypto-keyring-key-grouping { + refine "key"; + } + } + } + } + } + list hostname { + description + "hostname define peer policy for hostname"; + key "name"; + leaf name { + type string; + } + uses crypto-keyring-key-grouping; + } + } + container rsa-pubkey { + description + "Peer RSA public key chain management"; + list address { + description + "Public key associated with an address"; + key "addr"; + leaf addr { + description + "Public key associated with an address"; + type inet:ipv4-address; + } + leaf way { + type enumeration { + enum encryption; + enum signature; + } + } + uses rsa-key-grouping; + } + container addr { + status deprecated; + leaf address { + description + "Public key associated with an address"; + status deprecated; + type inet:ipv4-address; + } + leaf way { + status deprecated; + type enumeration { + enum encryption; + enum signature; + } + } + } + list name { + key "hostname"; + leaf hostname { + description + "Public key associated with a hostname"; + type string; + } + leaf way { + type enumeration { + enum encryption; + enum signature; + } + } + uses rsa-key-grouping; + } + container hostname { + status deprecated; + leaf name { + description + "Public key associated with a hostname"; + status deprecated; + type string; + } + leaf way { + status deprecated; + type enumeration { + enum encryption; + enum signature; + } + } + } + } + } + + grouping rsa-key-grouping { + list address { + description + "Assign an address"; + key "ip"; + leaf ip { + type inet:ipv4-address; + } + } + container key-string { + description + "Key data"; + leaf hex-data { + type string; + } + leaf quit { + description + "Exit data entry mode"; + type empty; + } + } + leaf serial-number { + description + "Serial number of the device"; + type string; + } + } + + grouping crypto-isakmp-profile-grouping { + leaf accounting { + description + "Enable AAA Accounting for IPSec Sessions"; + type string; + } + container ca { + description + "Specify certificate authorities to trust"; + leaf-list trust-point-ca { + description + "Certificate authority trustpoint for RSA signature"; + type string; + } + leaf trust-point { + description + "Cert authority trustpoint for RSA sig"; + status deprecated; + type string; + } + } + container client { + description + "Specify client configuration settings"; + container authentication { + description + "Use Extended Authentication"; + leaf list { + description + "AAA authentication list to use"; + type string; + } + leaf password { + description + "Password to use for authentication"; + type string; + } + leaf username { + description + "Username to use for authentication"; + type string; + } + } + container configuration { + description + "Specify client configuration settings"; + leaf address { + description + "Specify client network address configuration"; + type enumeration { + enum initiate; + enum respond; + } + } + leaf group { + description + "Specify group profile attributes for client"; + type string; + } + } + container pki { + description + "Use username in the crypto certificate for authorization"; + container authorization { + description + "User authorization parameters"; + leaf list { + description + "AAA user authorization list"; + type string; + } + container password { + description + "AAA password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf user-password { + type string; + } + } + } + } + } + leaf description { + description + "Specify a description of this profile"; + type string; + } + container initiate { + description + "Initiator property"; + container mode { + description + "Phase 1 negotiation mode to use"; + presence "true"; + leaf mode-name { + description + "main mode (default)/aggressive mode"; + type enumeration { + enum aggressive; + enum main; + } + } + leaf aggressive { + description + "Start agressive mode negotiation"; + status deprecated; + type empty; + } + } + } + container isakmp { + description + "ISAKMP Authorization command"; + container authorization { + description + "Authorization parameters."; + leaf list { + description + "AAA authorization list to use"; + type string; + } + container password { + description + "AAA password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf user-password { + type string; + } + } + } + } + container keepalive { + description + "Set a keepalive interval for use with IOS peers"; + leaf number { + type uint16 { + range "10..3600"; + } + } + leaf retry { + description + "Retry interval if keepalive fails"; + type uint8 { + range "2..60"; + } + } + } + list keyring { + description + "Specify keyring to use"; + key "name"; + leaf name { + must "../../../../keyring[name=current()] or /ios:native/ios:crypto/isakmp/profile/keyring[ios-crypto:name='default']" { + error-message "keyring must be created first and deleted last"; + } + type union { + type enumeration { + enum default; + } + type string; + } + } + } + container local-address { + description + "Interface to use for local address for this isakmp profile"; + uses crypto-local-address-grouping; + } + container match { + description + "Match values of peer"; + leaf-list certificate-map { + description + "Peer certificate attributes"; + type string; + } + leaf certificate { + description + "DEPRECATED Peer certificate attributes"; + status deprecated; + type string; + } + container identity { + description + "Peer identity"; + list address { + description + "IP Address(es)"; + key "ip mask"; + leaf ip { + description + "IP Address(es)"; + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + leaf vrf { + type string; + } + } + container peer-address { + list address { + description + "IP Address(es)"; + key "ipv6"; + leaf ipv6 { + description + "IPv6 Address(es)"; + type ios-types:ipv6-prefix; + } + leaf vrf { + description + "Specify the F VRF"; + type string; + } + } + } + list ipv6-address { + description + "DEPRECATED IP Address(es)"; + status deprecated; + key "ipv6"; + leaf ipv6 { + description + "DEPRECATED IPv6 Address(es)"; + status deprecated; + type ios-types:ipv6-prefix; + } + leaf vrf { + status deprecated; + type string; + } + } + leaf-list groups { + description + "Group name"; + type string; + } + leaf group { + description + "DEPRECATED Group name"; + status deprecated; + type string; + } + container host { + description + "match a hostname/domain"; + list domain-name-1 { + key "name"; + leaf name { + must 'not(/ios:native/ios:crypto/isakmp/profile/match/identity/host/domain[domain-list = current()])' { + error-message "Already found same match identity statement in this profile"; + } + type string; + } + list vrf { + key "vrf"; + leaf vrf { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + list domain { + key "domain-list"; + leaf domain-list { + description + "match domain instead of exact"; + must 'not(/ios:native/ios:crypto/isakmp/profile/match/identity/host/domain-name-1[name=current()])' { + error-message "Already found same match identity statement in this profile"; + } + type string; + } + list vrf { + key "vrf"; + leaf vrf { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container domain-name { + status deprecated; + leaf name { + status deprecated; + type string; + } + leaf vrf { + status deprecated; + type string; + } + } + container domain-match { + status deprecated; + leaf domain { + description + "match domain instead of exact"; + status deprecated; + type string; + } + leaf vrf { + status deprecated; + type string; + } + } + } + container user-fqdn { + description + "match a hostname/domain"; + container domain-name { + leaf name { + type string; + } + leaf vrf { + type string; + } + } + container domain-match { + leaf domain { + description + "match domain instead of exact"; + type string; + } + leaf vrf { + type string; + } + } + } + } + } + leaf qos-group { + description + "Apply a Qos policy class map for this profile"; + type uint16 { + range "1..1023"; + } + } + leaf rekey { + description + "Rekey ISAKMP SA initiated by us"; + type empty; + } + container self-identity { + description + "Specify Identity to use"; + container address { + description + "Use IPv4 address"; + presence "true"; + leaf ipv6 { + description + "Use IPv6 address"; + type empty; + } + } + container fqdn { + description + "Use FQDN"; + presence "true"; + leaf id { + type string; + } + } + leaf user-fqdn { + description + "Use user FQDN"; + type string; + } + } + container virtual-template-option { + description + "Specify the virtual-template for dynamic interface creation"; + leaf virtual-template-number { + description + "Virtual-template Number"; + type uint16 { + range "1..4095"; + } + } + leaf per-user { + description + "add per user attributes"; + type empty; + } + } + leaf virtual-template { + description + "Specify the virtual-template for dynamic interface creation."; + status deprecated; + type empty; + } + leaf vrf { + description + "Specify the VRF it is related to"; + type string; + } + } + + grouping crypto-isakmp-profile-default-grouping { + leaf accounting { + description + "Enable AAA Accounting for IPSec Sessions"; + type empty; + } + container ca { + description + "Specify certificate authorities to trust"; + leaf-list trust-point-ca { + description + "Certificate authority trustpoint for RSA signature"; + type string; + } + leaf trust-point { + description + "Cert authority trustpoint for RSA sig"; + status deprecated; + type string; + } + } + container client { + description + "Specify client configuration settings"; + container authentication { + description + "Use Extended Authentication"; + leaf list { + description + "AAA authentication list to use"; + type empty; + } + } + container configuration { + description + "Specify client configuration settings"; + leaf address { + description + "Specify client network address configuration"; + type enumeration { + enum initiate; + enum respond; + } + } + leaf group { + description + "Specify group profile attributes for client"; + type string; + } + } + container pki { + description + "Use username in the crypto certificate for authorization"; + container authorization { + description + "User authorization parameters"; + presence "true"; + } + } + } + leaf description { + description + "Specify a description of this profile"; + type string; + } + container initiate { + description + "Initiator property"; + container mode { + description + "Phase 1 negotiation mode to use"; + presence "true"; + } + } + container isakmp { + description + "ISAKMP Authorization command"; + container authorization { + description + "Authorization parameters."; + leaf list { + description + "AAA authorization list to use"; + type empty; + } + } + } + container keepalive { + description + "Set a keepalive interval for use with IOS peers"; + presence "true"; + } + list keyring { + description + "Specify keyring to use"; + key "keys"; + leaf keys { + type union { + type string; + type enumeration { + enum default; + } + } + } + } + leaf local-address { + description + "Interface to use for local address for this isakmp profile"; + type empty; + } + container match { + description + "Match values of peer"; + leaf certificate { + description + "Peer certificate attributes"; + type string; + } + container identity { + description + "Peer identity"; + container ipv4-address { + leaf address { + description + "IP Address(es)"; + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + leaf vrf { + type string; + } + } + container address { + description + "IP Address(es)"; + leaf ipv6 { + description + "IPv6 Address(es)"; + type ios-types:ipv6-prefix; + } + leaf vrf { + type string; + } + } + leaf group { + description + "Group name"; + type string; + } + container host { + description + "match a hostname/domain"; + container domain-name { + leaf name { + type string; + } + leaf vrf { + type string; + } + } + container domain-match { + leaf domain { + description + "match domain instead of exact"; + type string; + } + leaf vrf { + type string; + } + } + } + container user-fqdn { + description + "match a hostname/domain"; + container domain-name { + leaf name { + type string; + } + leaf vrf { + type string; + } + } + container domain-match { + leaf domain { + description + "match domain instead of exact"; + type string; + } + leaf vrf { + type string; + } + } + } + } + } + leaf qos-group { + description + "Apply a Qos policy class map for this profile"; + type empty; + } + container self-identity { + description + "Specify Identity to use"; + presence "true"; + } + leaf virtual-template { + description + "Specify the virtual-template for dynamic interface creation."; + type empty; + } + leaf vrf { + description + "Specify the VRF it is related to"; + type empty; + } + } + + grouping crypto-isakmp-client-configuration-group-grouping { + container access-restrict-option { + description + "Restrict clients in this group to an interface"; + uses ios-ifc:interface-grouping; + } + leaf access-restrict { + description + "Restrict clients in this group to an interface"; + status deprecated; + type string; + } + leaf acl { + description + "Specify split tunneling inclusion access-list number"; + type union { + type uint16 { + range "100..199"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + container auto-update { + description + "Configure auto-upgrade"; + leaf client { + description + "Configure client"; + type string; + } + leaf url { + description + "Configure URL to download from"; + type string; + } + leaf rev { + description + "Use comma delimited list of revision strings only"; + type string; + } + } + leaf backup-gateway { + description + "Specify backup gateway"; + type string; + } + leaf browser-proxy { + description + "Configure browser-proxy"; + must '/ios:native/ios:crypto/isakmp/client/configuration/browser-proxy-option[name=current()]' { + error-message "It seems browser proxy name doesn't exist or attempting to remove when referred by ISAKMP Client configuration"; + } + type string; + } + container configuration { + description + "Push configuration to the client"; + leaf url { + description + "URL for the client to fetch configuration"; + type string { + pattern '(((bootflash:)|(cns:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp:)|(tftp:)|(system:)|(tmpsys:)|(tar:)).*)'; + } + } + leaf version { + description + "version of the configuration available at the URL"; + type uint32 { + range "1..32767"; + } + } + } + container crypto { + description + "Client group crypto aaa attribute list"; + container aaa { + description + "AAA directive"; + container attribute { + description + "AAA attribute directive"; + leaf list { + description + "AAA attribute list"; + type string; + } + } + } + } + container dhcp { + description + "Configure DHCP parameters"; + leaf giaddr { + description + "Specify giaddr for dhcp scope"; + type inet:ipv4-address; + } + list server-option { + description + "Specify dhcp server"; + key "dhcp-server"; + leaf dhcp-server { + description + "DHCP server IP address/Hostname"; + type union { + type inet:ipv4-address; + type string; + } + } + } + leaf server { + description + "Specify dhcp server"; + status deprecated; + type union { + type inet:ipv4-address; + type string; + } + } + leaf timeout { + description + "Configure DHCP response timeout in seconds"; + type uint8 { + range "4..30"; + } + } + } + container dns { + description + "Specify DNS Addresses"; + leaf primary { + type inet:ipv4-address; + } + leaf secondary { + type inet:ipv4-address; + } + } + leaf domain { + description + "Set default domain name to send to client"; + type string; + } + container firewall { + description + "Enforce group firewall feature"; + leaf are-u-there { + description + "firewall attribute, are-u-there"; + type empty; + } + leaf policy { + description + "Specify firewall policy"; + type string; + } + } + leaf group-lock { + description + "Enforce group lock feature"; + type empty; + } + leaf include-local-lan { + description + "Enable Local LAN Access with no split tunnel"; + type empty; + } + container key { + description + "pre-shared key/IKE password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + leaf max-logins { + description + "Set maximum simultaneous logins for users in this group"; + type uint8 { + range "1..10"; + } + } + leaf max-users { + description + "Set maximum number of users for this group"; + type uint32 { + range "1..5000"; + } + } + leaf netmask { + description + "netmask used by the client for local connectivity"; + type inet:ipv4-address; + } + leaf pfs { + description + "The client should propose PFS"; + type empty; + } + leaf pool { + description + "Set name of address pool"; + type string; + } + leaf route-metric { + description + "EZVPN VI route metric option"; + type uint8 { + range "1..255"; + } + } + leaf save-password { + description + "Allows remote client to save XAUTH password"; + type empty; + } + leaf smartcard-removal-disconnect { + description + "Enables smartcard-removal-disconnect"; + type empty; + } + leaf split-dns { + description + "DNS name to append for resolution"; + type string; + } + container wins { + description + "Specify WINS Addresses"; + leaf primary { + type inet:ipv4-address; + } + leaf secondary-address { + when '../primary'; + type inet:ipv4-address; + } + leaf secondary { + status deprecated; + type inet:ipv4-address; + } + } + } + + grouping crypto-isakmp-peer-grouping { + leaf description { + description + "IKE peer specific description"; + type string { + length "1..80"; + } + } + container set { + description + "set peer policy attributes"; + container aggressive-mode { + description + "aggressive mode attributes"; + container client-endpoint { + description + "specify a tunnel-client-endpoint attribute"; + leaf fqdn { + description + "Use the fqdn as tunnel-client-endpoint"; + type string; + } + leaf ipv4-address { + description + "Use the IP address as tunnel-client-endpoint"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "Use the IPv6 address as tunnel-client-endpoint"; + type inet:ipv6-address; + } + leaf user-fqdn { + description + "Use the user-fqdn as tunnel-client-endpoint"; + type string; + } + } + container password { + description + "specify a tunnel-password attribute"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string; + } + } + } + } + } + + grouping crypto-isakmp-grouping { + leaf aggressive-mode { + description + "Disable ISAKMP aggressive mode"; + type enumeration { + enum disable; + } + } + container client { + description + "Set client configuration policy"; + container configuration { + description + "Set client configuration policy"; + container address-pool { + description + "Set network address for client"; + leaf local { + description + "Set a local address pool for clients"; + type string; + } + } + list browser-proxy-option { + description + "Set browser proxy attributes for client"; + key "name"; + leaf name { + description + "browser-proxy name"; + type string; + } + container proxy { + description + "Proxy Server Settings"; + choice proxy-settings-choice { + case auto-detect-case { + leaf auto-detect { + description + "Auto-detect proxy settings"; + type empty; + } + } + case bypass-local-case { + leaf bypass-local { + description + "Bypass proxy settings for local"; + type empty; + } + } + case none-case { + leaf none { + description + "Don't use any proxy server"; + type empty; + } + } + case server-case { + leaf server { + description + "Configure proxy server"; + type string; + } + leaf exception-list { + description + "Configure exception list"; + type string; + } + } + } + } + } + leaf browser-proxy { + description + "Set browser proxy attributes for client"; + status deprecated; + type string; + } + list group { + description + "Set group profile attributes for client"; + key "name"; + leaf name { + type string; + } + uses crypto-isakmp-client-configuration-group-grouping; + } + } + list firewall { + description + "Define client firewall"; + key "policy-name"; + leaf policy-name { + type string; + } + leaf optional { + description + "firewall policy is optional"; + type enumeration { + enum cisco-integrated-client-firewall; + enum cisco-security-agent; + enum zonelabs-zonealarm; + enum zonelabs-zonealarmpro; + } + } + leaf required { + description + "firewall policy is mandatory"; + type enumeration { + enum cisco-integrated-client-firewall; + enum cisco-security-agent; + enum zonelabs-zonealarm; + enum zonelabs-zonealarmpro; + } + } + container policy { + description + "Define Cisco firewall Policy"; + container central-policy-push { + description + "Define Cisco Protection Policy"; + when "../../optional = 'cisco-integrated-client-firewall' or ../../required = 'cisco-integrated-client-firewall' or ../../optional = 'zonelabs-zonealarm' or ../../required = 'zonelabs-zonealarm' or ../../optional = 'zonelabs-zonealarmpro' or ../../required = 'zonelabs-zonealarmpro'"; + container access-list { + description + "Specify access list"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf acl { + type union { + type uint16 { + range "100..199"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + } + } + leaf check-presence { + description + "Define firewall are-you-there policy"; + when "../../optional = 'cisco-security-agent' or ../../required = 'cisco-security-agent' or ../../optional = 'zonelabs-zonealarm' or ../../required = 'zonelabs-zonealarm' or ../../optional = 'zonelabs-zonealarmpro' or ../../required = 'zonelabs-zonealarmpro'"; + type empty; + } + } + } + } + container default { + description + "ISAKMP default policy"; + leaf policy { + description + "Enable default policies for ISAKMP protection suite"; + type empty; + } + } + container diagnose { + description + "Diagnostic configuration"; + leaf error { + description + "Enable diagnose error"; + type uint16 { + range "0..1000"; + } + default "50"; + } + } + leaf disconnect-revoked-peers { + description + "Disconnect Crypto Session with Revoked Peer"; + type empty; + } + leaf enable { + description + "Enable ISAKMP"; + type empty; + } + leaf fragmentation { + description + "IKE Fragmentation enabled if required"; + type empty; + } + leaf identity { + description + "Set the identity which ISAKMP will use"; + type enumeration { + enum address; + enum dn; + enum hostname; + } + } + leaf invalid-spi-recovery { + description + "Initiate IKE and send Invalid SPI Notify"; + type empty; + } + container keepalive { + description + "Set a keepalive interval for use with IOS peers"; + leaf number { + type uint16 { + range "10..3600"; + } + } + leaf retry-number { + type uint8 { + range "2..60"; + } + } + leaf send { + type enumeration { + enum on-demand; + enum periodic; + } + } + } + container key { + description + "Set pre-shared key for remote peer"; + list key-address-host { + key "key"; + leaf key { + description + "The UNENCRYPTED (cleartext) user password"; + type string; + } + leaf encryption { + description + "Specifies an ENCRYPTED/UNENCRYPTED password will follow"; + type enumeration { + enum 0; + enum 6; + } + } + container address { + description + "define shared key with IP address"; + list address-v4 { + description + "define shared key with IPv4 address"; + key "address"; + leaf address { + description + "Peer IP address"; + type inet:ipv4-address; + } + leaf mask { + description + "Peer IP subnet mask"; + type inet:ipv4-address; + } + leaf no-xauth { + description + "Bypasses XAuth for this peer"; + type empty; + } + } + list address-v6 { + description + "define shared key with IPv6 address"; + key "ipv6"; + leaf ipv6 { + description + "Peer IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf no-xauth { + description + "Bypasses XAuth for this peer"; + type empty; + } + } + } + list hostname { + description + "define shared key with hostname"; + key "name"; + leaf name { + description + "hostname of peer with whom the key is shared"; + type string; + } + leaf no-xauth { + description + "Bypasses XAuth for this peer"; + type empty; + } + } + } + container key-address { + status deprecated; + leaf encryption { + status deprecated; + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + status deprecated; + type string; + } + choice ipv4-ipv6 { + status deprecated; + case ipv4 { + status deprecated; + container addr4-container { + status deprecated; + leaf address { + status deprecated; + description + "define shared key with IP address"; + type inet:ipv4-address; + } + leaf mask { + status deprecated; + type inet:ipv4-address; + } + leaf no-xauth { + status deprecated; + description + "Bypasses XAuth for this peer"; + type empty; + } + } + } + case ipv6 { + status deprecated; + container addr6-container { + status deprecated; + container address { + status deprecated; + description + "define shared key with IP address"; + leaf ipv6 { + status deprecated; + description + "define shared key with IPv6 address"; + type ios-types:ipv6-prefix; + } + leaf no-xauth { + status deprecated; + description + "Bypasses XAuth for this peer"; + type empty; + } + } + } + } + } + } + container key-host { + status deprecated; + leaf encryption { + status deprecated; + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + status deprecated; + type string; + } + container host-container { + status deprecated; + leaf hostname { + status deprecated; + description + "define shared key with hostname"; + type string; + } + leaf no-xauth { + status deprecated; + description + "Bypasses XAuth for this peer"; + type empty; + } + } + } + } + container nat { + description + "Set a nat keepalive interval for use with IOS peers"; + leaf keepalive { + description + "Set a nat keepalive interval for use with IOS peers"; + type uint16 { + range "5..3600"; + } + } + } + container peer { + description + "Set Peer Policy"; + container ipv4-addr { + list address { + description + "define peer policy for IP address"; + key "ipv4"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf vrf { + description + "specify front door vrf of the peer"; + type string; + } + uses crypto-isakmp-peer-grouping; + } + } + container ipv6-addr { + list address { + description + "define peer policy for IP address"; + key "ipv6"; + leaf ipv6 { + description + "define peer policy for IPv6 address"; + type inet:ipv6-address; + } + leaf vrf { + description + "specify front door vrf of the peer"; + type string; + } + uses crypto-isakmp-peer-grouping; + } + } + list hostname { + description + "hostname define peer policy for hostname"; + key "name"; + leaf name { + type string; + } + leaf vrf { + description + "specify front door vrf of the peer"; + type string; + } + uses crypto-isakmp-peer-grouping; + } + } + leaf performance { + description + "Enable performance statistics collection"; + type empty; + } + list policy { + description + "Set policy for an ISAKMP protection suite"; + key "number"; + leaf number { + type uint32 { + range "1..10000"; + } + } + container default { + description + "Set a command to its defaults"; + uses crypto-isakmp-policy-grouping; + leaf lifetime { + description + "Set lifetime for ISAKMP security association"; + type empty; + } + } + uses crypto-isakmp-policy-grouping; + leaf lifetime { + description + "Set lifetime for ISAKMP security association"; + type uint32 { + range "60..86400"; + } + } + } + list profile { + description + "Define ISAKMP Profiles"; + key "name"; + leaf name { + type string; + } + container default { + description + "Set a command to its defaults"; + uses crypto-isakmp-profile-default-grouping; + } + uses crypto-isakmp-profile-grouping; + } + container xauth { + description + "Set Extended Authentication values"; + leaf timeout { + description + "Set Extended Authentication timeout"; + type uint8 { + range "5..90"; + } + } + } + } + + grouping crypto-key-decrypt-rc-rsa-np-grouping { + leaf name { + description + "Name of keypair to decrypt."; + type string; + } + leaf passphrase { + description + "decryption key."; + type string; + } + } + + grouping crypto-key-decrypt-rc-rsa-grouping { + container ec { + description + "EC keys"; + presence "true"; + uses crypto-key-decrypt-rc-rsa-np-grouping; + } + container rsa { + description + "RSA keys"; + presence "true"; + uses crypto-key-decrypt-rc-rsa-np-grouping; + } + } + + grouping crypto-key-encrypt-rc-rsa-np-grouping { + leaf name { + description + "Name of keypair to encrypt."; + type string; + } + leaf passphrase { + description + "encryption key."; + type string; + } + } + + grouping crypto-key-encrypt-rc-rsa-grouping { + container ec { + description + "EC keys"; + presence "true"; + uses crypto-key-encrypt-rc-rsa-np-grouping; + } + container rsa { + description + "RSA keys"; + presence "true"; + uses crypto-key-encrypt-rc-rsa-np-grouping; + } + } + + grouping crypto-key-url-file-ex-grouping { + leaf file { + type string { + pattern '(((bootflash:)|(crashinfo:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp:)|(system:)|(tar:)|(tftp:)|(tmpfs:)|(webui:)).*)'; + } + } + } + + grouping crypto-key-url-file-im-grouping { + leaf file { + type string { + pattern '(((bootflash:)|(cns:)|(crashinfo:)|(flash:)|(ftp:)|(http:)|(https:)|(null:)|(nvram:)|(pram:)|(rcp:)|(scp:)|(system:)|(tar:)|(tftp:)|(tmpfs:)|(webui:)).*)'; + } + } + } + + grouping crypto-key-export-pem-grouping { + container pem { + description + "File type to export"; + choice terminal-url { + case terminal-case { + container terminal { + description + "Export via the terminal (cut-and-paste)"; + choice des-3des { + case pk-3des-case { + leaf pk-3des { + description + "Encrypt the private key with 3DES"; + type string; + } + } + case des-case { + leaf des { + description + "Encrypt the private key with DES"; + type string; + } + } + } + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-ex-grouping; + choice des-3des { + case url-3des-case { + leaf url-3des { + description + "Encrypt the private key with 3DES"; + type string; + } + } + case des-case { + leaf des { + description + "Encrypt the private key with DES"; + type string; + } + } + } + } + } + } + } + } + + grouping crypto-key-pubkey-key-grouping { + leaf address { + description + "Assign an address to the key"; + type inet:ipv4-address; + } + container key-string { + description + "Key data"; + leaf hex-data { + type string; + } + leaf quit { + description + "Exit data entry mode"; + type empty; + } + } + leaf serial-number { + description + "Serial number of the device"; + type string; + } + } + + grouping crypto-key-pubkey-key-default-grouping { + leaf address { + description + "Assign an address to the key"; + type empty; + } + container key-string { + description + "Key data"; + presence "true"; + } + leaf serial-number { + description + "Serial number of the device"; + type empty; + } + } + + grouping crypto-key-pubkey-chain-grouping { + list addressed-key { + description + "Public key associated with an address"; + key "ip"; + leaf ip { + type inet:ipv4-address; + } + leaf use { + type enumeration { + enum encryption; + enum signature; + } + } + uses crypto-key-pubkey-key-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-key-pubkey-key-default-grouping; + } + } + list named-key { + description + "Public key associated with a name"; + key "name"; + leaf name { + type string; + } + leaf use { + type enumeration { + enum encryption; + enum signature; + } + } + uses crypto-key-pubkey-key-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-key-pubkey-key-default-grouping; + } + } + } + + grouping crypto-key-pubkey-chain-default-grouping { + list addressed-key { + description + "Public key associated with an address"; + key "ip"; + leaf ip { + type inet:ipv4-address; + } + leaf use { + type enumeration { + enum encryption; + enum signature; + } + } + } + list named-key { + description + "Public key associated with a name"; + key "name"; + leaf name { + type string; + } + leaf use { + type enumeration { + enum encryption; + enum signature; + } + } + } + } + + grouping crypto-key-grouping { + container decrypt { + description + "Decrypt a keypair."; + uses crypto-key-decrypt-rc-rsa-grouping; + container write { + description + "Will write the configuration to startup-config."; + uses crypto-key-decrypt-rc-rsa-grouping; + } + } + container encrypt { + description + "Encrypt a keypair."; + uses crypto-key-encrypt-rc-rsa-grouping; + container write { + description + "Will write the configuration to startup-config."; + uses crypto-key-encrypt-rc-rsa-grouping; + } + } + container export { + status obsolete; + description + "Export keys"; + list ec { + description + "Export EC keys"; + key "label"; + leaf label { + type string; + } + uses crypto-key-export-pem-grouping; + } + list rsa { + description + "Export RSRA keys"; + key "label"; + leaf label { + type string; + } + uses crypto-key-export-pem-grouping; + } + } + container generate { + status obsolete; + description + "Generate new keys"; + container ec { + description + "Generate EC keys for ECDSA"; + leaf keysize { + description + "Number of bits"; + type enumeration { + enum 256; + enum 384; + } + } + leaf exportable { + description + "Allow key to be exported"; + type empty; + } + leaf label { + description + "Provide a label"; + type string; + } + } + container rsa { + description + "Generate RSA keys"; + presence "true"; + leaf encryption { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf exportable { + description + "Allow the key to be exported"; + type empty; + } + leaf general-keys { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf label { + description + "Provide a label"; + type string; + } + leaf modulus { + description + "Provide number of modulus bits on the command line"; + type uint16 { + range "360..4096"; + } + } + leaf on { + description + "create key on specified device."; + type string; + } + leaf redundancy { + description + "Allow the key to be synced to high-availability peer"; + type empty; + } + leaf signature { + description + "Generate a general purpose RSA key pair for signing and encryption"; + type empty; + } + leaf storage { + description + "Store key on specified device"; + type string; + } + leaf usage-keys { + description + "Generate separate RSA key pairs for signing and encryption"; + type empty; + } + } + } + container import { + status obsolete; + description + "Import keys"; + list ec { + description + "Import EC keys"; + key "name"; + leaf name { + type string; + } + leaf exportable { + description + "Allow key to be exported"; + type empty; + } + choice terminal-url { + case terminal-case { + leaf terminal { + description + "Import via the terminal (cut-and-paste)"; + type string; + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-im-grouping; + leaf key { + type string; + } + } + } + } + } + list rsa { + description + "Import RSA keys"; + key "label"; + leaf label { + type string; + } + leaf encryption { + description + "Encryption key"; + type empty; + } + leaf exportable { + description + "Allow the key to be exported"; + type empty; + } + leaf general-purpose { + description + "General Purpose key"; + type empty; + } + leaf on { + description + "Make this an on-token key"; + type string; + } + leaf pem { + description + "File type to import"; + type empty; + } + leaf redundancy { + description + "Sync this key to the standby"; + type empty; + } + leaf signature { + description + "Signature key"; + type empty; + } + leaf storage { + description + "Store key on specified device"; + type string; + } + leaf usage-keys { + description + "Usage key pairs"; + type empty; + } + choice terminal-url { + case terminal-case { + leaf terminal { + description + "Import via the terminal (cut-and-paste)"; + type string; + } + } + case url-case { + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-im-grouping; + leaf key { + type string; + } + } + } + } + } + } + container move { + status obsolete; + description + "Move keys"; + container rsa { + description + "Move RSA keys"; + leaf label { + type string; + } + leaf non-exportable { + description + "Do Not allow the key to be exported"; + type empty; + } + leaf on { + description + "Make this an on-token key"; + type string; + } + leaf redundancy { + description + "Sync this key to the standby"; + type empty; + } + leaf storage { + description + "Store key on specified device"; + type string; + } + } + } + container pubkey-chain { + description + "Peer public key chain management"; + container rsa { + description + "Peer RSA public key chain management"; + uses crypto-key-pubkey-chain-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-key-pubkey-chain-default-grouping; + } + } + } + leaf storage { + description + "default storage location for keypairs"; + type string; + } + container zeroize { + status obsolete; + description + "Remove keys"; + container ec { + description + "Remove EC keys"; + presence "true"; + leaf label { + type string; + } + } + container pubkey-chain { + description + "Remove peer's cached public key"; + presence "true"; + leaf index { + type uint16; + } + } + container rsa { + description + "Remove RSA keys"; + presence "true"; + leaf label { + type string; + } + } + } + } + + grouping crypto-keyring-key-grouping { + leaf key { + description + "specify the key"; + type empty; + } + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf unencryt-key { + type string; + } + } + + grouping crypto-map-grouping { + uses crypto-map-common-grouping; + container set { + description + "Set values for encryption/decryption"; + uses crypto-map-common-set-grouping; + container security-association { + description + "Security association parameters"; + uses crypto-map-common-set-security-association-grouping; + leaf level { + description + "specify a security association granularity level for identities"; + type enumeration { + enum per-host; + } + } + } + } + } + + grouping obsolete-crypto-map-grouping { + uses obsolete-crypto-map-common-grouping; + container set { + description + "Set values for encryption/decryption"; + status obsolete; + uses obsolete-crypto-map-common-set-grouping; + container security-association { + description + "Security association parameters"; + status obsolete; + uses obsolete-crypto-map-common-set-security-association-grouping; + leaf level { + description + "specify a security association granularity level for identities"; + status obsolete; + type enumeration { + enum per-host; + } + } + } + } + } + + grouping crypto-map-default-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + type empty; + } + container dialer { + description + "Dialer related commands"; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + type empty; + } + } + container match { + description + "Match values"; + leaf address { + description + "Match address of packets to encrypt"; + type empty; + } + } + container qos { + description + "Quality of Service related commands"; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + type empty; + } + } + container reverse-route { + description + "Reverse Route Injection."; + presence "true"; + } + container set { + description + "Set values for encryption/decryption"; + leaf group { + description + "Set the san group parameters"; + type empty; + } + leaf identity { + description + "Identity restriction"; + type empty; + } + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + type string; + } + leaf isakmp-profile { + description + "Specify isakmp Profile"; + type empty; + } + container pfs { + description + "Specify pfs settings"; + presence "true"; + } + container reverse-route { + description + "Reverse Route Injection"; + presence "true"; + } + container security-association { + description + "Security association parameters"; + leaf dfbit { + description + "Handling of encapsulated DF bit."; + type empty; + } + container dummy { + description + "Enable transmitting dummy packets"; + presence "true"; + } + leaf ecn { + description + "Handling of ECN bit"; + type empty; + } + container idle-time-container { + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + type empty; + } + leaf default { + description + "All SAs idle-out reset to default peer"; + type empty; + } + } + leaf level { + description + "specify a security association granularity level for identities"; + type enumeration { + enum per-host; + } + } + container lifetime { + description + "security association lifetime"; + leaf days { + description + "Time-based key duration in days"; + type empty; + } + leaf kilobytes { + description + "Volume-based key duration"; + type empty; + } + leaf seconds { + description + "Time-based key duration in seconds"; + type empty; + } + } + container replay { + description + "Set replay checking."; + leaf disable { + description + "Disable replay checking"; + type empty; + } + leaf window-size { + description + "Set replay window size."; + type empty; + } + } + } + leaf transform-set { + description + "Specify list of transform sets in priority order"; + type empty; + } + } + } + + grouping obsolete-crypto-map-default-grouping { + leaf description { + description + "Description of the crypto map statement policy"; + status obsolete; + type empty; + } + container dialer { + description + "Dialer related commands"; + status obsolete; + leaf pre-classify { + description + "Enable dialer list classification before initiating IKE"; + status obsolete; + type empty; + } + } + container match { + description + "Match values"; + status obsolete; + leaf address { + description + "Match address of packets to encrypt"; + status obsolete; + type empty; + } + } + container qos { + description + "Quality of Service related commands"; + status obsolete; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + status obsolete; + type empty; + } + } + container reverse-route { + description + "Reverse Route Injection."; + status obsolete; + presence "true"; + } + container set { + description + "Set values for encryption/decryption"; + status obsolete; + leaf group { + description + "Set the san group parameters"; + status obsolete; + type empty; + } + leaf identity { + description + "Identity restriction"; + status obsolete; + type empty; + } + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + status obsolete; + type string; + } + leaf isakmp-profile { + description + "Specify isakmp Profile"; + status obsolete; + type empty; + } + container pfs { + description + "Specify pfs settings"; + status obsolete; + presence "true"; + } + container reverse-route { + description + "Reverse Route Injection"; + status obsolete; + presence "true"; + } + container security-association { + description + "Security association parameters"; + status obsolete; + leaf dfbit { + description + "Handling of encapsulated DF bit."; + status obsolete; + type empty; + } + container dummy { + description + "Enable transmitting dummy packets"; + status obsolete; + presence "true"; + } + leaf ecn { + description + "Handling of ECN bit"; + status obsolete; + type empty; + } + container idle-time-container { + status obsolete; + leaf idle-time { + description + "Automatically delete IPSec SAs after a given idle period."; + status obsolete; + type empty; + } + leaf default { + description + "All SAs idle-out reset to default peer"; + status obsolete; + type empty; + } + } + leaf level { + description + "specify a security association granularity level for identities"; + status obsolete; + type enumeration { + enum per-host; + } + } + container lifetime { + description + "security association lifetime"; + status obsolete; + leaf days { + description + "Time-based key duration in days"; + status obsolete; + type empty; + } + leaf kilobytes { + description + "Volume-based key duration"; + status obsolete; + type empty; + } + leaf seconds { + description + "Time-based key duration in seconds"; + status obsolete; + type empty; + } + } + container replay { + description + "Set replay checking."; + status obsolete; + leaf disable { + description + "Disable replay checking"; + status obsolete; + type empty; + } + leaf window-size { + description + "Set replay window size."; + status obsolete; + type empty; + } + } + } + leaf transform-set { + description + "Specify list of transform sets in priority order"; + status obsolete; + type empty; + } + } + } + + grouping crypto-map-gdoi-mapping-grouping { + leaf activate { + description + "Activate the crypto map to work in fail-close mode"; + type empty; + } + container match { + description + "Match address of packets for fail-close"; + leaf address { + description + "Match address of packets for fail-close."; + type ios-types:ext-acl-type; + } + } + } + + grouping obsolete-crypto-map-gdoi-mapping-grouping { + leaf activate { + description + "Activate the crypto map to work in fail-close mode"; + status obsolete; + type empty; + } + container match { + description + "Match address of packets for fail-close"; + status obsolete; + leaf address { + description + "Match address of packets for fail-close."; + status obsolete; + type ios-types:ext-acl-type; + } + } + } + + grouping crypto-map-gdoi-default-mapping-grouping { + leaf activate { + description + "Activate the crypto map to work in fail-close mode"; + type empty; + } + container match { + description + "Match address of packets for fail-close"; + leaf address { + description + "Match address of packets for fail-close."; + type empty; + } + } + } + + grouping obsolete-crypto-map-gdoi-default-mapping-grouping { + leaf activate { + description + "Activate the crypto map to work in fail-close mode"; + status obsolete; + type empty; + } + container match { + description + "Match address of packets for fail-close"; + status obsolete; + leaf address { + description + "Match address of packets for fail-close."; + status obsolete; + type empty; + } + } + } + + grouping time-grouping-v2 { + list time-string { + description + "This input is case sensitive. Example Input : Jan 03 2000 23:59:59 UTC Month : Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec Date : 01-31 Year : 1993-2035 Time : 24 hour format UTC time UTC keyword is Mandatory"; + key "datetime"; + leaf datetime { + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(0[1-9]|[12][0-9]|3[01])\s((199[3-9]|20([0-2][0-9]|3[0-4])))\s((([0-1]?[0-9])|(2[0-3])):[0-5][0-9]:[0-5][0-9])\sUTC'; + } + } + } + } + + grouping compare-time-grouping-v2 { + container eq { + description + "Equal"; + uses time-grouping-v2; + } + container ge { + description + "Greater than or equal"; + uses time-grouping-v2; + } + container lt { + description + "Less Than"; + uses time-grouping-v2; + } + container ne { + description + "Not Equal"; + uses time-grouping-v2; + } + } + + grouping compare-string-grouping-v2 { + list co { + description + "Contains"; + key "name"; + leaf name { + type string; + } + } + list eq { + description + "Equal"; + key "name"; + leaf name { + type string; + } + } + list nc { + description + "Does not contain"; + key "name"; + leaf name { + type string; + } + } + list ne { + description + "Not Equal"; + key "name"; + leaf name { + type string; + } + } + } + + grouping compare-hex-string-grouping { + list co { + description + "Contains"; + key "hex-data"; + leaf hex-data { + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + list eq { + description + "Equal"; + key "hex-data"; + leaf hex-data { + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + list nc { + description + "Does not contain"; + key "hex-data"; + leaf hex-data { + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + list ne { + description + "Not Equal"; + key "hex-data"; + leaf hex-data { + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + } + + grouping compare-string-grouping-deprecated { + leaf co { + status deprecated; + description + "Contains"; + type string; + } + leaf eq { + status deprecated; + description + "Equal"; + type string; + } + leaf nc { + status deprecated; + description + "Does not contain"; + type string; + } + leaf ne { + status deprecated; + description + "Not Equal"; + type string; + } + } + + grouping crypto-pki-certificate-map-grouping-v2 { + container alt-subject-name { + description + "Alternate subject name"; + uses compare-string-grouping-v2; + } + container expires-on { + description + "Expiration date/time"; + uses compare-time-grouping-v2; + } + container issuer-name { + description + "Certificate issuer name"; + uses compare-string-grouping-v2; + } + container name { + description + "Any subject name field"; + uses compare-string-grouping-v2; + } + container serial-number { + description + "Certificate serial number (hexadecimal)"; + uses compare-hex-string-grouping; + } + container subject-name { + description + "Certificate subject name"; + uses compare-string-grouping-v2; + } + container unstructured-subject-name { + description + "Unstructured subject name"; + uses compare-string-grouping-v2; + } + container valid-start { + description + "Valid after date/time"; + uses compare-time-grouping-v2; + } + } + + grouping crypto-pki-certificate-map-grouping-deprecated { + container alt-subject-name { + status deprecated; + description + "Alternate subject name"; + uses compare-string-grouping-deprecated; + } + container expires-on { + status obsolete; + description + "Expiration date/time"; + uses compare-time-grouping-obsolete; + } + container issuer-name { + status deprecated; + description + "Certificate issuer name"; + uses compare-string-grouping-deprecated; + } + container name { + status deprecated; + description + "Any subject name field"; + uses compare-string-grouping-deprecated; + } + container serial-number { + status deprecated; + description + "Certificate serial number (hexadecimal)"; + uses compare-string-grouping-deprecated; + } + container subject-name { + status deprecated; + description + "Certificate subject name"; + uses compare-string-grouping-deprecated; + } + container unstructured-subject-name { + status deprecated; + description + "Unstructured subject name"; + uses compare-string-grouping-deprecated; + } + container valid-start { + status obsolete; + description + "Valid after date/time"; + uses compare-time-grouping-obsolete; + } + } + + grouping crypto-pki-profile-enrollment-auth-grouping { + leaf command { + description + "command to authenticate or enroll"; + type string; + } + leaf terminal { + description + "authenticate or enroll using terminal"; + type empty; + } + container url { + description + "url to authenticate/enroll"; + leaf name { + type string; + } + leaf vrf { + description + "VRF to use for certificate enrollment "; + type string; + } + } + } + + grouping crypto-pki-profile-enrollment-grouping { + container authentication { + description + "Retrieve CA certificate(s)"; + uses crypto-pki-profile-enrollment-auth-grouping; + } + container enrollment { + description + "Enroll router with a CA"; + uses crypto-pki-profile-enrollment-auth-grouping; + leaf credential { + description + "Use existing router cert for new enrollment"; + type string; + } + } + leaf method-est { + description + "Use EST for this profile"; + type empty; + } + list parameter { + description + "Define a parameter value or prompt"; + key "number"; + leaf number { + type uint8 { + range "1..8"; + } + } + choice prompt-value { + case prompt-case { + leaf prompt { + description + "Define a parameter prompt"; + type string; + } + } + case value-case { + leaf value { + description + "Define a parameter value"; + type string; + } + } + } + } + container reenrollment { + description + "Re-enroll router with a CA"; + uses crypto-pki-profile-enrollment-auth-grouping; + } + leaf source-interface { + description + "Interface used as source address"; + type string; + } + } + + grouping crypto-pki-trustpoint-ip-extension-grouping { + container range { + description + "IP address range"; + choice ipv4-ipv6 { + case ipv4-range { + leaf start { + description + "Starting IP address"; + type inet:ipv4-address; + } + leaf end { + description + "Ending IP address"; + type inet:ipv4-address; + } + } + case ipv6-range { + leaf start-v6 { + description + "Starting IPv6 address"; + type inet:ipv6-address; + } + leaf end-v6 { + description + "Ending IPv6 address"; + type inet:ipv6-address; + } + } + } + } + leaf prefix { + description + "Prefix or IP address"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + container inherit { + description + "Inherit address from issuer"; + leaf ipv4 { + description + "Apply to ipv4 address"; + type empty; + } + leaf ipv6 { + description + "Apply to ipv6 address"; + type empty; + } + } + } + + grouping crypto-pki-eku-grouping { + leaf client-auth { + description + "Client Auth"; + type empty; + } + leaf code-signing { + description + "Code signing"; + type empty; + } + leaf email-protection { + description + "Email protection"; + type empty; + } + leaf ipsec-end-system { + description + "IPSEC end system"; + type empty; + } + leaf ipsec-tunnel { + description + "IPSEC Tunnel"; + type empty; + } + leaf ipsec-user { + description + "IPSEC User"; + type empty; + } + leaf ocsp-signing { + description + "OCSP Signing"; + type empty; + } + leaf server-auth { + description + "Server Auth"; + type empty; + } + leaf ssh-client { + description + "SSH Client"; + type empty; + } + leaf ssh-server { + description + "SSH Server"; + type empty; + } + leaf time-stamping { + description + "Time Stamping"; + type empty; + } + } + + grouping crypto-pki-trustpoint-grouping { + container authorization { + description + "Authorization parameters."; + leaf list { + description + "AAA authorization list to use"; + type string; + } + leaf password { + description + "password used for authorization request"; + type string; + } + container username { + description + "specify how AAA username is generated"; + container alt-subjectname { + description + "aaa username generated from certificate alt-subjectname"; + leaf userprinciplename { + description + "cert upn field as aaa username"; + type empty; + } + container userprinciplename-conf { + container userprinciplename { + description + "cert upn field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + } + container subjectname { + description + "aaa username generated from certificate subjectname"; + leaf all { + description + "complete subject name as aaa username"; + type empty; + } + container all-conf { + container all { + description + "complete subject name field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf commonname { + description + "common name as aaa username"; + type empty; + } + container commonname-conf { + container commonname { + description + "Common name field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf country { + description + "country as aaa username"; + type empty; + } + container country-conf { + container country { + description + "country field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf email { + description + "email as aaa username"; + type empty; + } + container email-conf { + container email { + description + "email field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf ipaddress { + description + "IP address as aaa username"; + type empty; + } + container ipaddress-conf { + container ipaddress { + description + "IP address field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf locality { + description + "locality as aaa username"; + type empty; + } + container locality-conf { + container locality { + description + "locality field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf organization { + description + "organization as aaa username"; + type empty; + } + container organization-conf { + container organization { + description + "organization field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf organizationalunit { + description + "organizational unit as aaa username"; + type empty; + } + container organizationalunit-conf { + container organizationalunit { + description + "organizational unit field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf postalcode { + description + "postal code as aaa username"; + type empty; + } + container postalcode-conf { + container postalcode { + description + "postal code field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf serialnumber { + description + "serial number as aaa username"; + type empty; + } + container serialnumber-conf { + container serialnumber { + description + "serial number field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf state { + description + "state as aaa username"; + type empty; + } + container state-conf { + container state { + description + "state field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf streetaddress { + description + "street address as aaa username"; + type empty; + } + container streetaddress-conf { + container streetaddress { + description + "street address field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf title { + description + "title name as aaa username"; + type empty; + } + container title-conf { + container title { + description + "title name field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf unstructuredname { + description + "unstructured name as aaa username"; + type empty; + } + container unstructuredname-conf { + container unstructuredname { + description + "unstructured name field as aaa username"; + leaf secondary { + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + } + } + } + container certificate { + description + "certificate options"; + leaf chain { + description + "certificate chain configuration file"; + type string; + } + } + container chain-validation { + description + "Validation parameters"; + leaf stop { + description + "Halt chain validation"; + type empty; + } + leaf continue { + description + "Validate this trustpoint's (sub)CA certificate"; + type string; + } + } + container crl { + description + "CRL options"; + leaf query { + description + "Query CRL URL"; + type string; + } + container cache { + description + "CRL cache options"; + choice cache-choice { + case none { + leaf none { + description + "Do not cache CRLs"; + type empty; + } + } + case extend { + leaf extend { + description + "Extend CRL cache time"; + type uint16 { + range "1..1440"; + } + } + } + case delete-after { + leaf delete-after { + description + "Remove CRL from cache after a timeout (in minutes)"; + type uint16 { + range "1..43200"; + } + } + } + } + } + } + leaf disable-scep { + description + "Disable scep to enroll via http: file system"; + type empty; + } + leaf exit { + description + "Exit from certificate authority trustpoint entry mode"; + type empty; + } + container auto-enroll { + description + "Automatically enroll this router identity"; + presence "true"; + leaf percent { + description + "renewal percentage"; + type ios-types:percentage; + } + leaf regenerate { + description + "Regenerate keys on re-enrollment"; + type empty; + } + } + leaf eckeypair { + description + "eckeypair for this identity"; + type string; + } + container eku { + description + "EKU parameters"; + container request { + description + "EKU requested attribute"; + uses crypto-pki-eku-grouping; + } + } + container enrollment { + description + "Enrollment parameters"; + container http-proxy { + description + "HTTP proxy server for enrollment"; + leaf hostname { + description + "host-name"; + type string; + } + leaf port { + description + "port number"; + type uint16 { + range "1..10000"; + } + } + } + container mode { + description + "Mode supported by the Certificate Authority"; + leaf ra { + description + "Registration Authority mode"; + type empty; + } + } + container enrollment-method { + choice method { + case pkcs12-case { + leaf pkcs12 { + description + "Enroll via pkcs12"; + type empty; + } + } + case profile-case { + leaf profile { + description + "Specify an profile for enrollment"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:pki/ios-crypto:profile/ios-crypto:enrollment/ios-crypto:tag"; + } + } + } + case selfsigned-case { + leaf selfsigned { + description + "Generate a Self Signed Certificate"; + type empty; + } + } + case terminal-case { + container terminal { + description + "Enroll via the terminal (cut-and-paste)"; + presence "true"; + leaf pem { + description + "Include PEM encapsulation boundaries"; + type empty; + } + } + } + case url-case { + leaf url { + description + "CA server enrollment URL"; + type string; + } + } + } + } + leaf pkcs12 { + status deprecated; + type empty; + } + leaf profile { + description + "Specify an profile for enrollment"; + status deprecated; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:pki/ios-crypto:profile/ios-crypto:enrollment/ios-crypto:tag"; + } + } + leaf selfsigned { + description + "Generate a Self Signed Certificate"; + status deprecated; + type empty; + } + container terminal { + description + "Enroll via the terminal (cut-and-paste)"; + status deprecated; + presence "true"; + leaf pem { + description + "Include PEM encapsulation boundaries"; + status deprecated; + type empty; + } + } + leaf url { + description + "CA server enrollment URL"; + status deprecated; + type string; + } + container retry { + description + "Polling parameters"; + leaf count { + description + "How many times to poll CA for our certificate"; + type uint8 { + range "1..100"; + } + } + leaf period { + description + "How long to wait between requests to CA for our certificate"; + type uint8 { + range "1..60"; + } + } + } + } + leaf fqdn { + description + "include fully-qualified domain name"; + type string; + } + container password { + description + "revocation password"; + presence "true"; + leaf encryption-type { + description + "Encryption type"; + type uint8 { + range "0..9"; + } + } + leaf clear-password { + description + "revocation password"; + type string; + } + } + leaf fingerprint { + description + "CA Certificate Fingerprint"; + type string { + pattern '([0-9a-fA-F]+)'; + } + } + leaf hash { + description + "Hash algorithm"; + default "sha512"; + type enumeration { + enum md5; + enum sha1; + enum sha256; + enum sha384; + enum sha512; + } + } + container http-proxy { + description + "HTTP proxy server for enrollment"; + leaf hostname { + description + "host-name"; + type string; + } + leaf port { + description + "port number"; + type uint16 { + range "1..10000"; + } + } + } + container ip-extension { + description + "RFC3779 IP extension for certificate request"; + container unicast { + description + "Apply to unicast traffic only"; + uses crypto-pki-trustpoint-ip-extension-grouping; + } + container multicast { + description + "Apply to multicast traffic only"; + uses crypto-pki-trustpoint-ip-extension-grouping; + } + uses crypto-pki-trustpoint-ip-extension-grouping; + } + container match { + description + "Match a certificate attributes/maps"; + container key-usage { + description + "key-usage attributes to validate"; + leaf cRLSign { + type empty; + } + } + container eku { + description + "EKU attributes to validate"; + uses crypto-pki-eku-grouping; + } + list certificate { + description + "Certificate map name"; + key "name"; + leaf name { + type string; + } + container allow { + description + "Allow expired certificates to be accepted"; + leaf expired-certificate { + type empty; + } + } + leaf skip { + description + "Skip a certificate validity check"; + type enumeration { + enum authorization-check; + enum revocation-check; + } + } + container override { + description + "Over-ride fields in a certificate"; + container cdp { + leaf directory { + type string; + } + leaf url { + type string; + } + } + container ocsp { + description + "Over-ride the OCSP URL in a certificate"; + leaf trustpoint { + description + "Over-ride the trustpoint for verifying the OCSP certificate"; + type string; + } + leaf sequence-num { + type uint16 { + range "1..10000"; + } + } + leaf url { + type string; + } + } + container sia { + description + "Over-ride the SIA URL in a certificate"; + leaf sequence-num { + type uint16 { + range "1..10000"; + } + } + leaf url { + type string; + } + } + } + } + } + container ocsp { + description + "OCSP parameters"; + leaf disable-nonce { + description + " Disable OCSP Nonce Extension"; + type empty; + } + leaf url { + type string; + } + } + leaf on { + description + "create keypair on device"; + type string; + } + leaf primary { + description + "Specify trustpoint as primary"; + type empty; + } + leaf regenerate { + description + "Regenerate keys on re-enrollment"; + type empty; + } + leaf-list revocation-check { + description + "Revocation checking options"; + ordered-by user; + type enumeration { + enum crl; + enum none; + enum ocsp; + } + } + container root { + description + "Protocol to get CA certificate"; + leaf proxy { + description + "HTTP proxy server for getting CA cert"; + type string; + } + container tftp { + description + "Get CA certificate using tftp"; + leaf hostname { + type string; + } + leaf filename { + type string; + } + } + } + container source { + description + "Specify source interface"; + leaf interface { + description + "Interface used as source address"; + type string; + } + } + leaf storage { + description + "key and certificate storage location"; + type string; + } + container rsakeypair { + description + "Specify rsakeypair for this identity"; + leaf key-label { + description + "RSA keypair label"; + type string; + } + leaf gen-key { + description + "General Purpose or Signature Key length"; + type uint16 { + range "512..4096"; + } + } + leaf encrypt-key { + description + "Encryption Key length"; + type uint16 { + range "512..4096"; + } + } + } + container serial-number { + description + "Include serial number"; + presence "true"; + leaf none { + description + "do not include serial number"; + type empty; + } + } + container ip-address { + description + "include ip address"; + leaf address-line { + description + "interface name or ip address"; + type string; + } + leaf none { + description + "do not include ip address"; + type empty; + } + } + leaf subject-name { + description + "Subject Name"; + type string; + } + leaf subject-alt-name { + description + "Subject Alternate Name"; + type string; + } + leaf usage { + description + "Certificate Usage"; + type enumeration { + enum ike; + enum ssl-client; + enum ssl-server; + } + } + leaf vrf { + description + "Name of VRF to use with trustpoint"; + type string; + } + leaf auto-trigger { + description + "Trigger authentication automatically"; + type empty; + } + } + + grouping crypto-pki-trustpool-policy-grouping { + container ca-bundle { + description + "CA bundle download parameters"; + leaf url { + description + "CA server bundle URL"; + type string; + } + choice source-vrf { + case source { + container source { + description + "Interface used as source address"; + leaf interface { + type string; + } + } + } + case vrf { + leaf vrf { + description + "Name of VRF to use with bundle"; + type string; + } + } + } + } + leaf vrf { + description + "Name of VRF to use with trustpoint"; + type string; + } + container source { + description + "Specify source interface"; + leaf interface { + description + "Interface used as source address"; + type string; + } + } + leaf storage { + description + "key and certificate storage location"; + type string; + } + leaf revocation-check { + description + "Revocation checking options"; + type enumeration { + enum crl; + enum none; + enum ocsp; + } + } + container ocsp { + description + "OCSP parameters"; + leaf disable-nonce { + description + " Disable OCSP Nonce Extension"; + type empty; + } + leaf url { + type string; + } + } + leaf chain-validation { + description + "Validation parameters"; + type empty; + } + leaf exit { + type empty; + } + container match { + description + "Match a certificate attributes/maps"; + list certificate { + description + "Certificate map name"; + key "name"; + leaf name { + type string; + } + container allow { + description + "Allow expired certificates to be accepted"; + leaf expired-certificate { + type empty; + } + } + leaf skip { + description + "Skip a certificate validity check"; + type enumeration { + enum authorization-check; + enum revocation-check; + } + } + container override { + description + "Over-ride fields in a certificate"; + container cdp { + choice dir-url { + case directory { + leaf directory { + type string; + } + } + case url { + leaf url { + type string; + } + } + } + } + container ocsp { + description + "Over-ride the OCSP URL in a certificate"; + leaf trustpool { + description + "Over-ride the trustpoint for verifying the OCSP certificate"; + type string; + } + leaf sequence-num { + type uint16 { + range "1..10000"; + } + } + leaf url { + type string; + } + } + container sia { + description + "Over-ride the SIA URL in a certificate"; + leaf sequence-num { + type uint16 { + range "1..10000"; + } + } + leaf url { + type string; + } + } + } + } + } + container crl { + description + "CRL options"; + leaf query { + description + "Query CRL URL"; + type string; + } + container cache { + description + "CRL cache options"; + choice cache-choice { + case none { + leaf none { + description + "Do not cache CRLs"; + type empty; + } + } + case delete-after { + leaf delete-after { + description + "Remove CRL from cache after a timeout (in minutes)"; + type uint16 { + range "1..43200"; + } + } + } + } + } + } + } + + grouping crypto-pki-certificate-chain-grouping { + list certificate { + description + "Certificate issued by the CA"; + key "serial"; + leaf serial { + type string; + } + leaf certtype { + type enumeration { + enum ca; + enum ra-encrypt; + enum ra-general; + enum ra-sign; + enum rollover; + enum self-signed; + enum "ca rollover"; + } + } + } + container crl { + description + "Revocation list issued by the CA"; + leaf cdp-hexdata { + description + "Revocation distribution point"; + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + } + + grouping crypto-pki-server-grouping { + container auto-rollover { + description + "Rollover the CA key and certificate"; + leaf days { + description + "Overlap time in days"; + type uint16 { + range "0..1825"; + } + } + leaf hours { + description + "Overlap time in hours"; + type uint8 { + range "0..23"; + } + } + leaf minutes { + description + "Overlap time in minutes"; + type uint8 { + range "0..59"; + } + } + } + leaf cdp-url { + description + "CDP to be included in the issued certificates"; + type string; + } + container database { + description + "Certificate Server database config parameters"; + leaf level { + description + "Level of data stored in database"; + type enumeration { + enum complete; + enum minimum; + enum names; + } + } + uses database-username-password-grouping; + container url { + description + "database URL"; + leaf url-only { + type string; + } + leaf file-type { + description + "type of file"; + type enumeration { + enum cnm; + enum crl; + enum crt; + enum ser; + enum pem; + enum p12; + } + } + leaf publish { + description + "Store a copy at a storage location"; + type empty; + } + choice url-combination { + case location-alone { + leaf location { + description + "url value"; + type string; + } + } + case url-with-username { + container url-with-username { + leaf location { + description + "url value"; + type string; + } + uses database-username-password-grouping; + } + } + } + } + container archive { + description + "Backup Certificate Server Signing Certificate and Keys"; + choice format { + container pem { + description + "PEM format"; + presence "true"; + uses database-password-grouping; + } + container pkcs12 { + description + "PKCS12 format"; + presence "true"; + uses database-password-grouping; + } + } + } + } + leaf serial-number { + description + "Serial number of last certificate issued"; + type string; + } + leaf revoke { + description + "Revoke a certificate"; + type string; + } + container mode { + description + "Mode"; + choice ra-or-subcs { + case ra { + leaf ra { + type empty; + } + leaf transparent { + type empty; + } + } + case subca { + leaf sub-cs { + type empty; + } + } + } + } + container lifetime { + description + "lifetime of the certificate"; + leaf certificate { + type enumeration { + enum ca-certificate; + enum certificate; + enum crl; + enum enrollment-request; + } + } + leaf days { + type uint16 { + range "0..7305"; + } + } + leaf hours { + type uint8 { + range "0..23"; + } + default "0"; + } + leaf minutes { + type uint16 { + range "0..59"; + } + default "0"; + } + } + leaf hash { + description + "Hash algorithm"; + type enumeration { + enum md5; + enum sha1; + enum sha256; + enum sha384; + enum sha512; + } + } + container eku { + description + "EKU parameters"; + uses crypto-pki-eku-grouping; + } + leaf issuer-name { + description + "Issuer name"; + type string; + } + container grant { + description + "Certificate granting options"; + leaf type { + type enumeration { + enum none; + enum ra-auto; + } + } + container auto { + leaf auto-alone { + type empty; + } + leaf trustpoint { + type string; + } + leaf tp-list { + type string; + } + leaf rollover { + type enumeration { + enum ra-cert; + enum ca-cert; + } + } + } + } + leaf shutdown-config { + description + "Shutdown the certificate server"; + type boolean; + default "true"; + } + leaf shutdown { + description + "Shutdown the certificate server"; + status obsolete; + type empty; + } + } + + grouping crypto-ssl-profile-aaa-auth-passwd-grouping { + container password { + description + "Specify the AAA password"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf key { + type string { + length "1..214"; + } + } + } + } + + grouping config-crypto-grouping { + container call { + description + "Configure Crypto Call Admission Control"; + container admission { + description + "Configure Crypto Call Admission Control"; + container limit { + description + "Configure Crypto Call Admission Control limits"; + container all { + description + "Configure Crypto Call Admission Control total in-negotiation SA limit"; + leaf in-negotiation-sa { + description + "Maximum number of in-negotiation SAs allowed"; + type uint32 { + range "10..99999"; + } + } + } + container ike { + description + "Configure Crypto Call Admission Control active IKE SA limit"; + leaf in-negotiation-sa { + description + "Maximum number of in-negotiation IKE SAs allowed"; + type uint32 { + range "10..99999"; + } + default "1000"; + } + leaf sa { + description + "Maximum active IKE SAs allowed"; + type uint32 { + range "0..99999"; + } + default "0"; + } + } + container ipsec { + description + "Configure Crypto Call Admission Control active IPSec SA limit"; + leaf sa { + description + "Maximum active IPSec SAs allowed"; + type uint32 { + range "0..99999"; + } + default "0"; + } + } + } + } + } + list dynamic-map { + description + "Specify a dynamic crypto map template"; + key "name sequence"; + leaf name { + type string; + } + leaf sequence { + type uint16 { + range "1..65535"; + } + } + container default { + description + "Set a command to its defaults"; + uses crypto-dynamic-map-default-grouping; + } + uses crypto-dynamic-map-grouping; + } + container engine { + description + "Enter a crypto engine configurable menu"; + leaf software { + description + "Software crypto engine"; + type enumeration { + enum ipsec; + enum isakmp; + } + } + container compliance { + description + "Crypto engine compliance value"; + container shield { + description + "Compliance shield"; + leaf disable { + description + "Allow weak crypto to be configured"; + type empty; + } + } + } + } + container gdoi { + description + "Configure GKM (Group Key Management, GDOI or G-IKEv2) Policy"; + list group { + description + "Configure a GKM (Group Key Management, GDOI or G-IKEv2) Group"; + key "name"; + leaf name { + type string; + } + leaf ipv6 { + description + "IPv6 GKM (Group Key Management) Group"; + type empty; + } + uses crypto-gdio-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-gdio-default-grouping; + } + } + } + container ikev2 { + description + "Configure IKEv2 Options"; + uses crypto-ikev2-grouping; + } + container gkm { + description + "Configure GKM (Group Key Management, GDOI or G-IKEv2) Policy"; + list group { + description + "Configure a GKM (Group Key Management, GDOI or G-IKEv2) Group"; + key "name"; + leaf name { + type string; + } + leaf ipv6 { + description + "IPv6 GKM (Group Key Management) Group"; + type empty; + } + uses crypto-gdio-grouping; + container default { + description + "Set a command to its defaults"; + uses crypto-gdio-default-grouping; + } + } + } + list identity { + description + "Enter a crypto identity list"; + key "name"; + leaf name { + type string; + } + container default { + description + "Set a command to its defaults"; + uses crypto-identity-default-grouping; + } + uses crypto-identity-grouping; + } + container ipsec { + description + "Configure IPSEC policy"; + uses crypto-ipsec-grouping; + } + container key { + description + "Long term key operations"; + uses crypto-key-grouping; + } + list keyring { + description + "Key ring commands"; + key "name"; + leaf name { + type string; + } + leaf vrf { + description + "Mention a vrf it belongs to"; + type string; + } + container default { + description + "Set a command to its defaults"; + uses crypto-keyring-grouping; + } + uses crypto-keyring-grouping; + } + container isakmp { + description + "Configure ISAKMP policy"; + uses crypto-isakmp-grouping; + } + container logging { + description + "logging messages"; + container ezvpn { + description + "ezvpn logging enable/disable"; + presence "true"; + leaf group { + description + "ezvpn group"; + type string; + } + } + leaf ikev2 { + description + "logging IKEv2 sessions"; + type empty; + } + leaf session { + description + "logging up/down session"; + type empty; + } + } + grouping map-sequence-ipv4-ipv6-grouping { + list map { + key "name seq"; + leaf name { + type string; + } + leaf seq { + description + "sequence number"; + type uint32 { + range "1..65535"; + } + } + choice ipsec-isakmp-gdoi-ipsec-manual { + case ipsec-isakmp-case { + container ipsec-isakmp { + description + "IPSEC w/ISAKMP"; + presence "true"; + choice dynamic-profile { + case dynamic-case { + container dynamic { + description + "Enable dynamic crypto map support"; + leaf mode { + description + "Name of dynamic-map template"; + type string; + } + leaf discover { + description + "Enable dynamic peer discovery"; + type empty; + } + } + } + case profile-case { + leaf profile { + description + "Enable crypto map as a crypto-profile"; + type string; + } + } + } + } + } + case gdoi { + leaf gdoi { + description + "configure GDOI map"; + type empty; + } + } + case ipsec-manual { + leaf ipsec-manual { + description + "IPSEC w/manual keying"; + type empty; + } + } + } + uses crypto-map-grouping; + } + } + + grouping map-client-grouping { + list accounting { + key "name"; + leaf name { + type string; + } + leaf client { + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf accounting { + description + "Accounting parameters."; + mandatory true; + type empty; + } + leaf list { + description + "AAA accounting list to use"; + type string; + } + } + list authentication-list { + key "name"; + leaf name { + type string; + } + leaf client { + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf authentication { + description + "Use Extended Authentication"; + mandatory true; + type empty; + } + leaf list { + description + "AAA authentication list to use"; + type string; + } + } + list authentication-password { + key "name"; + leaf name { + type string; + } + leaf client { + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf authentication { + description + "Use Extended Authentication"; + mandatory true; + type empty; + } + leaf password { + description + "Password to use for authentication"; + type string; + } + } + list authentication-username { + key "name"; + leaf name { + type string; + } + leaf client { + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf authentication { + description + "Use Extended Authentication"; + mandatory true; + type empty; + } + leaf username { + description + "Username to use for authentication"; + type string; + } + } + } + + grouping map-gdoi-ipv4-ipv6-grouping { + list map { + key "name"; + leaf name { + type string; + } + leaf gdoi { + description + "Configure crypto map gdoi features"; + type empty; + } + leaf fail-close { + description + "Configure crypto map on Fail Close mode"; + type empty; + } + leaf activate { + description + "Activate the crypto map to work in fail-close mode"; + type empty; + } + container match { + description + "acl"; + leaf address { + description + "address"; + type ios-types:access-list-standard-id-type; + } + } + } + } + + grouping map-local-ipv4-ipv6-grouping { + list map { + key "name"; + leaf name { + type string; + } + container local-address { + description + "Interface to use for local address for this crypto map"; + uses ios-ifc:interface-grouping; + } + } + } + + container map { + description + "Enter a crypto map"; + choice name-ipv6 { + case name-case { + container map-seq { + uses map-sequence-ipv4-ipv6-grouping; + } + container map-client { + uses map-client-grouping; + list autorization { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf client { + description + "Specify client configuration settings"; + status obsolete; + type empty; + } + leaf autorization { + status obsolete; + description + "parameters."; + mandatory true; + type empty; + } + leaf list { + status obsolete; + description + "AAA accounting list to use"; + type string; + } + } + list configuration-intiate { + key "name"; + leaf name { + type string; + } + leaf client { + description + "Specify client configuration settings"; + type empty; + } + leaf configuration { + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf address { + description + "Specify client network address configuration"; + mandatory true; + type empty; + } + leaf initiate { + description + "Push the network address to the client"; + type empty; + } + } + list configuration-respond { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf client { + status obsolete; + description + "Specify client configuration settings"; + type empty; + } + leaf configuration { + status obsolete; + description + "Specify client configuration settings"; + mandatory true; + type empty; + } + leaf address { + status obsolete; + description + "Specify client network address configuration"; + mandatory true; + type empty; + } + leaf respond { + status obsolete; + description + "Respond to network address requests from the client"; + type empty; + } + } + } + container map-gdoi { + uses map-gdoi-ipv4-ipv6-grouping; + } + container map-isakmp { + list map { + key "name"; + leaf name { + type string; + } + leaf isakmp-profile { + description + "Specify isakmp profile to use"; + must '/ios:native/ios:crypto/isakmp/profile[name=current()]' { + error-message "It seems ISAKMP profile doesn't exist or attempted to delete when actively referred"; + } + type string; + } + } + } + container map-local { + uses map-local-ipv4-ipv6-grouping; + } + container map-redundancy { + list map { + key "name"; + leaf name { + type string; + } + container redundancy { + description + "High availability options for this map"; + container replay-interval { + description + "HA replay counter interval"; + leaf inbound { + description + "HA inbound replay counter interval"; + type uint32 { + range "0..1000"; + } + } + leaf outbound { + description + "HA outbound replay counter interval"; + type uint32 { + range "1000..10000"; + } + } + } + } + } + } + container ipv6-map { + description + "Enter a ipv6 crypto map"; + container map-seq { + uses map-sequence-ipv4-ipv6-grouping; + } + container map-client { + uses map-client-grouping; + } + container map-gdoi { + uses map-gdoi-ipv4-ipv6-grouping; + } + container map-local { + uses map-local-ipv4-ipv6-grouping; + } + } + } + case ipv6-case { + container ipv6 { + description + "Enter a ipv6 crypto map"; + container map-seq { + uses map-sequence-ipv4-ipv6-grouping; + } + container map-client { + uses map-client-grouping; + } + container map-gdoi { + uses map-gdoi-ipv4-ipv6-grouping; + } + container map-local { + uses map-local-ipv4-ipv6-grouping; + } + } + } + } + } + container crypto-map { + status obsolete; + list map { + description + "Enter a crypto map"; + status obsolete; + key "name sequence-number"; + leaf name { + status obsolete; + type string; + } + leaf sequence-number { + status obsolete; + type uint16; + } + leaf ipv6 { + description + "IPv6 crypto map"; + status obsolete; + type empty; + } + leaf keying { + status obsolete; + type enumeration { + enum ipsec-isakmp; + enum ipsec-manual; + enum gdoi; + enum ckm; + } + } + choice dynamic-profile { + status obsolete; + case dynamic-case { + status obsolete; + leaf dynamic { + description + "Enable dynamic crypto map support"; + status obsolete; + when "../keying = 'ipsec-isakmp'"; + type string; + } + } + case profile-case { + status obsolete; + leaf profile { + description + "Enable crypto map as a crypto-profile"; + status obsolete; + when "../keying = 'ipsec-isakmp'"; + type string; + } + } + } + container default { + description + "Set a command to its defaults"; + status obsolete; + uses obsolete-crypto-map-default-grouping; + } + uses obsolete-crypto-map-grouping; + } + } + container map-ipv6-gdoi { + status obsolete; + list map { + description + "Enter a crypto map"; + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf ipv6 { + description + "IPv6 crypto map"; + status obsolete; + type empty; + } + leaf gdoi { + description + "Configure crypto map gdoi features"; + status obsolete; + type enumeration { + enum fail-close; + } + } + container default { + description + "Set a command to its defaults"; + status obsolete; + uses obsolete-crypto-map-gdoi-default-mapping-grouping; + } + uses obsolete-crypto-map-gdoi-mapping-grouping; + } + } + container map-client { + status obsolete; + list map { + description + "Enter a crypto map"; + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf ipv6 { + description + "IPv6 crypto map"; + status obsolete; + type empty; + } + container client { + description + "Specify client configuration settings"; + status obsolete; + container accounting { + description + "Accounting parameters."; + status obsolete; + leaf list { + description + "AAA accounting list to use"; + status obsolete; + type string; + } + } + container authentication { + description + "Use Extended Authentication"; + status obsolete; + leaf list { + description + "AAA authentication list to use"; + status obsolete; + type string; + } + } + container configuration { + description + "Specify client configuration settings"; + status obsolete; + container address { + description + "Specify client network address configuration"; + status obsolete; + leaf initiate { + description + "Push the network address to the client"; + status obsolete; + type empty; + } + leaf respond { + description + "Respond to network address requests from the client"; + status obsolete; + type empty; + } + } + } + } + container isakmp { + description + "Specify isakmp configuration settings"; + status obsolete; + leaf authorization { + description + "Authorization parameters."; + status obsolete; + type empty; + } + leaf list { + description + "AAA Authorization list to use"; + status obsolete; + type string; + } + } + leaf isakmp-profile { + description + "Specify isakmp profile to use"; + status obsolete; + type string; + } + leaf local-address { + description + "Interface to use for local address for this crypto map"; + status obsolete; + type string; + } + container redundancy { + description + "High availability options for this map"; + status obsolete; + container replay-interval { + description + "HA replay counter interval"; + status obsolete; + leaf inbound { + description + "HA inbound replay counter interval"; + status obsolete; + type uint32 { + range "0..1000"; + } + } + leaf outbound { + description + "HA outbound replay counter interval"; + status obsolete; + type uint32 { + range "1000..10000"; + } + } + } + } + } + } + container mib { + description + "Configure Crypto-related MIB Parameters"; + container ipsec { + description + "Configure MIB Parameters"; + container flowmib { + description + "Configure IPSec Flow-MIB Parameters"; + container history { + description + "Configure IPSEC Flow MIB History Parameters"; + container failure { + description + "Configure IPSEC Flow MIB Failure History Parameters"; + leaf size { + description + "Configure IPSEC Flow MIB Tunnel Failure History Window Size"; + type uint8 { + range "2..200"; + } + default "200"; + } + } + container tunnel { + description + "Configure IPSEC Flow MIB Tunnel History Parameters"; + leaf size { + description + "Configure IPSEC Flow MIB Tunnel Failure History Window Size"; + type uint8 { + range "2..200"; + } + default "200"; + } + } + } + } + } + } + container pki { + description + "Public Key components"; + leaf authenticate { + description + "Get the CA certificate"; + type string; + } + container certificate { + description + "Actions on certificates"; + list chain { + status obsolete; + description + "Identify certificates"; + key "name"; + leaf name { + status obsolete; + type string; + } + container default { + status obsolete; + description + "Set a command to its default"; + uses crypto-pki-certificate-chain-grouping-obsolete; + } + uses crypto-pki-certificate-chain-grouping-obsolete; + } + container pki-map { + list map { + description + "Define certificate attributes map"; + key "tag sequence"; + leaf tag { + type string; + } + leaf sequence { + type uint16 { + range "1..65535"; + } + } + uses crypto-pki-certificate-map-grouping-v2; + } + } + list map { + status deprecated; + description + "Define certificate attributes map"; + key "tag"; + leaf tag { + status deprecated; + type string; + } + leaf sequence { + status deprecated; + type uint16; + } + container default { + status obsolete; + uses crypto-pki-certificate-map-grouping-obsolete; + } + uses crypto-pki-certificate-map-grouping-deprecated; + } + container pool { + description + "Identify CA certificates in pool"; + presence "true"; + leaf cabundle { + description + "save the bundle file"; + type string; + } + } + leaf query { + description + "Get certificates from the CA after reboot"; + type empty; + } + container self-signed { + description + "Self signed certificate hash algorithm"; + leaf hash { + description + "Hash algorithm"; + type enumeration { + enum md5; + enum sha1; + enum sha256; + enum sha384; + enum sha512; + } + } + } + container storage { + description + "specify where to store certificates"; + leaf with-keypair { + description + "Store certificates with keypair"; + type empty; + } + leaf on { + description + "Create keypairs on device"; + type empty; + } + leaf path { + type union { + type enumeration { + enum bootflash:; + enum flash:; + enum nvram:; + } + type string; + } + } + } + leaf validate { + description + "Validate a certificate chain"; + type string; + } + } + container crl { + description + "Actions on certificate revocation lists"; + container cache { + description + "Cache which holds recently parsed CRLs"; + leaf size { + description + "Size of the recently parsed CRL cache"; + type uint32 { + range "0..131072"; + } + default "64"; + } + } + container download { + description + "auto-download CRL"; + container schedule { + description + "Schedule time to auto-download CRL"; + leaf prepublish { + description + "Requests CRL at prepublish time"; + type uint16; + default "0"; + } + container retries { + description + "Retry request for failed CDP locations"; + leaf number { + type uint8 { + range "1..15"; + } + default "5"; + } + leaf interval { + description + "retry time interval for each attempt"; + type uint16 { + range "15..600"; + } + default "30"; + } + } + container time { + description + "Request auto-download CRL at this time"; + leaf date { + type enumeration { + enum Friday; + enum Monday; + enum Saturday; + enum Sunday; + enum Thursday; + enum Tuesday; + enum Wednesday; + } + } + leaf clock { + type string; + } + } + } + leaf trustpoint { + description + "Trustpoint to auto-download CRL"; + type string; + } + container url { + description + "URL to auto-download CRL"; + leaf name { + type string; + } + leaf source-interface { + description + "Interface used as source address"; + type string; + } + leaf vrf { + description + "VRF to use for CRL download"; + type string; + } + } + } + leaf request { + description + "Requests a current CRL"; + type string; + } + } + leaf enroll { + description + "Request a certificate from a CA"; + type string; + } + list export { + description + "Export certificate or PKCS12 file"; + key "name"; + leaf name { + type string; + } + container pem { + description + "Export to PEM files"; + container terminal { + description + "Export via the terminal (cut-and-paste)"; + presence "true"; + container pem-3des { + description + "Encrypt the private key with 3DES"; + leaf password { + description + "Passphrase"; + type string; + } + } + container des { + description + "Encrypt the private key with DES"; + leaf password { + description + "Passphrase"; + type string; + } + } + leaf rollover { + description + "Export the rollover CA certificate"; + type empty; + } + } + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-ex-grouping; + leaf encrypt { + type enumeration { + enum 3des; + enum des; + } + } + leaf password { + description + "Passphrase"; + when '../encrypt'; + type string; + } + } + } + container pkcs12 { + description + "Export to PKCS12 file"; + uses crypto-key-url-file-ex-grouping; + leaf password { + description + "Passphrase"; + type string; + } + } + } + list import { + description + "Import certificate or PKCS12 file"; + key "name"; + leaf name { + type string; + } + leaf certificate { + description + "Import a certificate from a TFTP server or the terminal"; + type empty; + } + container pem { + description + "Import from PEM files"; + leaf check { + description + "Validate certificate on input"; + type empty; + } + leaf exportable { + description + "Allow the key as to be exported"; + type empty; + } + container terminal { + description + "Import via the terminal (cut-and-paste)"; + leaf password { + description + "Passphrase"; + type string; + } + } + container url { + description + "Export via the file systems"; + uses crypto-key-url-file-ex-grouping; + leaf password { + description + "Passphrase"; + type string; + } + } + leaf usage-keys { + description + "Usage key pairs"; + type empty; + } + } + container pkcs12 { + description + "Import from PKCS12 file"; + leaf check { + type empty; + } + uses crypto-key-url-file-ex-grouping; + leaf password { + description + "Passphrase"; + type string; + } + } + } + container profile { + description + "Define a certificate profile"; + list enrollment { + description + "Define an enrollment profile"; + key "tag"; + leaf tag { + type string; + } + uses crypto-pki-profile-enrollment-grouping; + container default { + status obsolete; + description + "Set a command to its defaults"; + uses crypto-pki-profile-enrollment-grouping-obsolete; + } + } + } + list server { + description + "Enable IOS Certificate server"; + key "name"; + max-elements 1; + leaf name { + type string; + } + container default { + status obsolete; + description + "Set a default value"; + uses crypto-pki-server-grouping-obsolete; + } + uses crypto-pki-server-grouping; + } + container pki-server-no-submode { + container server { + description + "Enable IOS Certificate server"; + leaf name { + type string; + } + leaf rollover { + description + "Rollover the server's key and certificate"; + type empty; + } + leaf cancel { + description + "Cancel a pending rollover"; + type empty; + } + } + } + list trustpoint { + description + "Define a CA trustpoint"; + key "id"; + leaf id { + type string; + } + container default { + status obsolete; + description + "Set a command to its defaults"; + uses crypto-pki-trustpoint-grouping-obsolete; + } + uses crypto-pki-trustpoint-grouping; + } + container token { + description + "Configure cryptographic token"; + list token-name { + key "name"; + leaf name { + type string; + } + uses crypto-pki-token-grouping; + } + } + container trustpool { + description + "Define CA trustpool"; + leaf clean { + description + "Remove all downloaded trustpool certificates"; + type empty; + } + container import { + description + "Import a trustpool bundle"; + presence "true"; + leaf clean { + description + "Remove all downloaded trustpool certificates prior to import"; + type empty; + } + leaf terminal { + description + "Import bundle via the terminal (cut-and-paste) in PEM format"; + type empty; + } + leaf url { + description + "Import via the file systems"; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)|(nvram:)|(ftp:)|(http:)|(https:)|(scp:)|(tftp:)|(webui:)).*)'; + } + } + leaf ca-bundle { + description + "Import from ca-bundles configured in trustpool policy"; + type empty; + } + } + container policy { + description + "Define trustpool policy"; + presence "true"; + container default { + status obsolete; + description + "Set a command to its defaults"; + uses crypto-pki-trustpool-policy-grouping-obsolete; + } + uses crypto-pki-trustpool-policy-grouping; + } + } + container default { + status obsolete; + description + "set default values for tokens"; + uses crypto-pki-token-grouping-obsolete; + } + } + container tls-tunnel { + list tls-tunnel-list { + description + "Configure Crypto TLS-Tunnel Options"; + key "tunnel-name"; + leaf tunnel-name { + description + "Name of TLS-Tunnel"; + type string; + } + leaf cc-mode { + description + "Enable CC-Mode"; + type empty; + } + leaf device-id { + description + "Device Identifier"; + type string; + } + list tls-local-interface { + description + "Specify the WAN interfaces"; + key "priority"; + unique "interface-name"; + leaf interface-name { + type string; + } + leaf priority { + description + "priority level"; + type uint8 { + range "1..3"; + } + } + } + list local-interface { + status deprecated; + description + "Specify the WAN interfaces"; + key "interface-name"; + unique "priority"; + leaf interface-name { + status deprecated; + type string; + } + leaf priority { + status deprecated; + description + "priority level"; + type uint8 { + range "1..3"; + } + } + } + leaf mode { + description + "Server Mode"; + type enumeration { + enum dtls { + value 1; + } + enum tls { + value 2; + } + } + } + container overlay { + description + "Specify the Overlay type"; + choice overlay-case { + case overlay-address-case { + leaf address { + description + "Specify the Overlay address"; + type inet:ip-address; + } + leaf vrf { + description + "VRF name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + case overlay-intf-case { + leaf interface { + description + "Specify the Overlay interface"; + type string; + } + } + } + } + container overlay-address { + status deprecated; + description + "Specify the Overlay Address"; + leaf addresses { + status deprecated; + type inet:ip-address; + } + leaf vrf { + status deprecated; + description + "VRF name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + container pki { + description + "Specify the pki trustpoint for auth"; + list trustpoint { + description + "Specify the pki trustpoint"; + key "trustpoint-name"; + leaf trustpoint-name { + type string; + } + leaf use { + type enumeration { + enum sign { + value 1; + } + enum verify { + value 2; + } + } + } + } + } + container protection { + description + "Cipher-Suite"; + leaf protection { + type enumeration { + enum dhe-psk-aes128-cbc-sha1; + enum dhe-psk-aes256-cbc-sha1; + enum psk-aes128-cbc-sha1; + enum psk-aes256-cbc-sha1; + } + } + } + container psk { + description + "Specify the Pre-Shared Key"; + list id { + key "id"; + leaf id { + type string; + } + container key { + uses crypto-keyring-key-grouping; + } + } + } + container server { + description + "Specify the Server Address"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf port { + default "443"; + type uint32; + } + } + list ipv6 { + key "ipv6"; + leaf ipv6 { + type inet:ipv6-address; + } + leaf port { + type uint32; + } + } + list url { + key "url"; + leaf url { + type string; + } + leaf port { + type uint32; + } + } + } + leaf shutdown { + description + "Shut/No shut the crypto tls-tunnel"; + must "((../pki/trustpoint/trustpoint-name) and ((../local-interface/interface-name) or + (../tls-local-interface/interface-name)) and + ((../overlay/address) or (../overlay/interface)) and + ((../server/ipv4/ipv4) or (../server/ipv6/ipv6) or + (../server/url/url))) or .='true'" { + error-message + "Cannot activate the tls-tunnel until the pki trustpoint and + overlay address/interface and local-interface and server ip is configured or + cannot delete the pki trustpoint and overlay address/interface and + local-interface and server ip while the tls-tunnel is active"; + } + type boolean; + default "true"; + } + } + } + container ssl { + description + "Configure Crypto SSL Options"; + container ssl-authorization { + description + "ssl authorization"; + list policy { + description + "Crypto SSL authorization policy"; + key "name"; + leaf name { + type string; + } + leaf banner { + description + "Specify banner"; + type string; + } + container client { + description + "Specify the client profile"; + leaf profile { + description + "Specify profile"; + type string; + } + } + leaf def-domain { + description + "Specify def-domain"; + type string; + } + leaf disable-always-on { + description + "disable-always-on"; + type empty; + } + container dns { + description + "Specify DNS addresses"; + leaf primary-address { + description + "Primary DNS IP address"; + type inet:ipv4-address; + } + leaf secondary-address { + description + "Secondary DNS IP address"; + type inet:ipv4-address; + } + } + container dpd-interval { + description + "Specify dead peer detection interval"; + leaf client { + description + "Client mode"; + type uint16 { + range "5..3600"; + } + } + leaf server { + description + "Server mode"; + type uint16 { + range "5..3600"; + } + } + } + leaf homepage { + description + "Specify home page"; + type string { + pattern '(((http:)|(https:)).*)'; + } + } + leaf include-local-lan { + description + "Include local lan"; + type empty; + } + container ipv6 { + description + "Specify the ipv6 attributes"; + container dns { + description + "Specify IPv6 dns"; + leaf primary-address { + description + "Primary DNS IPv6 address"; + type inet:ipv6-address; + } + leaf secondary-address { + description + "Secondary DNS IPv6 address"; + type inet:ipv6-address; + } + } + container pool { + description + "Specify local IPv6 address pool"; + leaf WORD { + description + "ipv6 address pool name"; + type string; + } + } + leaf prefix { + description + "Specify ipv6 prefix length of the config address"; + type uint8 { + range "1..128"; + } + } + container route { + description + "Specify ipv6 route set parameter"; + container set { + description + "Specify the route access-list"; + leaf access-list { + description + "Specify access-list"; + type string; + } + } + } + } + leaf keepalive { + description + "Specify keepalive time"; + type uint32 { + range "10..600"; + } + } + leaf module { + description + "Specify module"; + type enumeration { + enum gina; + enum dart; + } + } + container msie-proxy { + description + "Proxy option"; + container exception { + description + "Specify exception"; + leaf WORD { + description + "IP Address / DNS Name"; + type string; + } + } + leaf option { + description + "Specify option"; + type enumeration { + enum auto; + enum bypass; + enum none; + } + } + container server { + description + "Proxy server to use"; + leaf WORD { + description + "IP Address / DNS Name : Port"; + type string; + } + } + } + leaf mtu { + description + "Specify MTU in bytes"; + type uint32 { + range "576..1406"; + } + } + leaf netmask { + description + "Specify netmask of the config address"; + type inet:ipv4-address; + } + leaf pool { + description + "Specify pool"; + type string; + } + container rekey { + description + "Specify the rekey parameters"; + leaf time { + type uint16 { + range "240..43200"; + } + } + } + container route { + description + "Specify route parameters"; + container set { + description + "Specify route set parameters"; + leaf access-list { + description + "Specify the route access-list"; + type string; + } + container interface { + description + "Specify route interface"; + uses ios-ifc:interface-grouping; + } + } + } + leaf smartcard-removal-disconnect { + description + "smartcard-removal-disconnect"; + type empty; + } + leaf split-dns { + description + "Specify split-dns"; + type string; + } + container timeout { + description + "Specify timeout in seconds"; + leaf disconnect { + description + "Specify disconnect timeout in seconds"; + type int32 { + range "60..86400"; + } + } + leaf idle { + description + "Specify idle timeout in seconds"; + type uint32 { + range "60..86400"; + } + } + leaf session { + description + "Specify session timeout in seconds"; + type uint32 { + range "1..1209600"; + } + } + } + container wins { + description + "Specify WINS Addresses"; + leaf primary-ip { + description + "Primary WINS IP address"; + type inet:ipv4-address; + } + leaf secondary-ip { + description + "Secondary WINS IP address"; + type inet:ipv4-address; + } + } + } + } + container authorization { + status deprecated; + description + "ssl authorization"; + leaf policy { + status deprecated; + description + "Crypto SSL authorization policy"; + type string; + } + } + container diagnose { + description + "SSLVPN diagnose"; + leaf error { + description + "Start error trace debug"; + type uint16 { + range "1..1000"; + } + } + } + list ssl-policy { + description + "List of Crypto SSL policies"; + key "name"; + leaf name { + type string; + must 'string-length(.) <= 128'; + } + container pki { + description + "Trustpoint options"; + container trustpoint { + description + "Certificate Trustpoint to authenticate clients"; + leaf name { + type string; + } + leaf sign { + description + "Sign"; + type empty; + } + } + } + container ip { + description + "IP Options"; + choice ip-choice { + case address-case { + container address-container { + description + "IP Address"; + container local { + description + "Local IP Address"; + leaf ip-address { + description + "Specify an IP address to bind to"; + type inet:ipv4-address; + } + leaf port { + description + "Specify the port number"; + default "443"; + type uint16 { + range "443|1025..65535"; + } + } + leaf vrf { + description + "VRF name"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "It seems IP routing table VRF doesn't exist or attempted to delete when actively it's referred"; + } + type string; + } + leaf standby { + description + "the gateway is standby"; + type string; + } + } + } + } + case interface-case { + container interface-container { + description + "IP Interface"; + container interface-name { + uses ios:interface-with-dependency-grouping; + leaf port { + description + "Specify the port number"; + default "443"; + type uint16 { + range "443|1025..65535"; + } + } + leaf vrf { + description + "VRF name"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "It seems IP routing table VRF doesn't exist or attempted to delete when actively it's referred"; + } + type string; + } + leaf standby { + description + "the gateway is standby "; + type string; + } + } + } + } + } + container address { + status deprecated; + description + "This node is deprecated and replaced by address-container"; + container local { + status deprecated; + description + "This node is deprecated and replaced under address-container"; + leaf ip-address { + status deprecated; + description + "This node is deprecated and replaced under address-container"; + type inet:ip-address; + } + leaf port { + status deprecated; + description + "This node is deprecated and replaced under address-container"; + default "443"; + type uint16 { + range "443|1025..65535"; + } + } + leaf vrf { + status deprecated; + description + "This node is deprecated and replaced under address-container"; + must '(/ios:native/ios:ip/ios:vrf[ios:name=current()])' { + error-message "It seems IP routing table VRF doesn't exist or attempted to delete when actively it's referred"; + } + type string; + } + leaf standby { + status deprecated; + description + "This node is deprecated and replaced under address-container"; + type string; + } + } + } + container interface { + status deprecated; + description + "This node is deprecated and replaced as interface-container"; + container interface-name-list { + status deprecated; + description + "This node is deprecated and replaced under interface-container"; + uses ios-ifc:interface-deprecated-grouping; + leaf port { + status deprecated; + description + "This node is deprecated and replaced under interface-container"; + default "443"; + type uint16 { + range "443|1025..65535"; + } + } + leaf vrf { + status deprecated; + description + "This node is deprecated and replaced under interface-container"; + must '(/ios:native/ios:ip/ios:vrf[ios:name=current()])' { + error-message "It seems IP routing table VRF doesn't exist or attempted to delete when actively it's referred"; + } + type string; + } + leaf standby { + status deprecated; + description + "This node is deprecated and replaced under interface-container"; + type string; + } + } + } + } + container ssl { + description + "Specify ssl proposal"; + leaf proposal { + description + "Configure Crypto SSL Options"; + must '/ios:native/ios:crypto/ssl/ssl-proposal[name=current()]' { + error-message "%ERROR%: There is no proposal by the name"; + } + type string; + must 'string-length(.) <= 128'; + } + } + leaf shutdown { + description + "Shut/No shut the crypto ssl policy"; + must "((../pki/trustpoint/name) and ((../ip/address-container/local/ip-address) or + (../ip/interface-container/interface-name/port))) or .='true'" { + error-message + "Cannot activate the policy until the pki trustpoint and ip address/interface + is configured or cannot delete the trustpoint or ip address/interface while the policy is active"; + } + type boolean; + default "true"; + } + } + leaf policy { + status deprecated; + description + "Define SSL policies"; + type string; + } + list ssl-profile { + description + "Define SSL profiles"; + key "name"; + leaf name { + type string; + } + container aaa { + description + "aaa"; + container accounting { + description + "aaa accounting"; + container user-pass { + description + "user-password based accounting"; + leaf list { + description + "aaa accounting list"; + type empty; + } + leaf name { + description + "aaa accounting list name"; + type string; + } + } + } + container authentication { + description + "aaa authentication"; + container user-pass { + description + "user-password based authentication"; + leaf list { + description + "aaa authentication list"; + type empty; + } + leaf name { + description + "aaa authentication list name"; + type string; + } + } + } + container authorization { + description + "aaa authorization"; + container group { + description + "AAA group authorization"; + container override { + description + "Override user authorization with group authorization. By default, + group authorization is overridden with user authorization"; + container user-pass { + description + "user-password based authorization"; + container list { + description + "AAA method list"; + leaf list-name { + description + "AAA list name"; + type string; + } + leaf user-name { + description + "AAA user name"; + type string; + } + uses crypto-ssl-profile-aaa-auth-passwd-grouping; + } + } + } + container user-pass { + description + "user-password based authorization"; + container list { + description + "AAA method list"; + leaf list-name { + description + "AAA list name"; + type string; + } + leaf user-name { + description + "AAA user name"; + type string; + } + uses crypto-ssl-profile-aaa-auth-passwd-grouping; + } + } + } + container user { + description + "AAA user authorization"; + container user-pass { + description + "user-password based authorization"; + leaf cached { + description + "Use cached attributes from EAP authentication or AAA pre-shared key fetch"; + type empty; + } + container list { + description + "AAA method list"; + leaf list-name { + description + "AAA list name"; + type string; + } + leaf user-name { + description + "AAA user name"; + type string; + } + uses crypto-ssl-profile-aaa-auth-passwd-grouping; + } + } + } + } + } + container authentication { + description + "Specify authentication mode"; + container remote { + description + "Remote server"; + leaf user-pass { + description + "User credential mode"; + type empty; + } + } + } + container match { + description + "Specify the type to match"; + leaf policy { + description + "Specify Policy"; + must '/ios:native/ios:crypto/ssl/ssl-policy[name=current()]' { + error-message "%ERROR%: There is no policy by the name"; + } + type string; + } + leaf url { + description + "Specify URL"; + type string { + pattern '((https:).*)'; + length "6..255"; + } + } + } + leaf max-users { + description + "Specify number of maximum users"; + type uint16 { + range "1..10000"; + } + } + leaf shutdown { + description + "Shutdown the SSLVPN Profile"; + type empty; + } + leaf virtual-template { + description + "Specify the virtual-template for dynamic interface creation"; + type uint8 { + range "1..200"; + } + } + } + leaf profile { + status deprecated; + description + "Define SSL profiles"; + type string; + } + list ssl-proposal { + description + "Define ssl Proposal"; + key "name"; + leaf name { + type string; + } + container protection { + description + "Specify the protection algorithms"; + leaf rsa-3des-ede-sha1 { + description + "RSA, 3DES and SHA1"; + type empty; + } + leaf rsa-aes128-sha1 { + description + "RSA, AES128 and SHA1"; + type empty; + } + leaf rsa-aes256-sha1 { + description + "RSA, AES256 and SHA1"; + type empty; + } + leaf rsa-rc4128-md5 { + description + "RSA, RC4 and MD5"; + type empty; + } + } + } + container proposal { + status deprecated; + description + "Define ssl Proposal"; + leaf name { + status deprecated; + type string; + } + container protection { + status obsolete; + description + "Specify the protection algorithms"; + leaf rsa-3des-ede-sha1 { + status obsolete; + description + "RSA, 3DES and SHA1"; + type empty; + } + leaf rsa-aes128-sha1 { + status obsolete; + description + "RSA, AES128 and SHA1"; + type empty; + } + leaf rsa-aes256-sha1 { + status obsolete; + description + "RSA, AES256 and SHA1"; + type empty; + } + leaf rsa-rc4128-md5 { + status obsolete; + description + "RSA, RC4 and MD5"; + type empty; + } + } + } + } + container vpn { + description + "Configure crypto vpn commands"; + container anyconnect { + description + "Configure anyconnect client package"; + list file-list { + description + "Configure filename of installing package"; + key "filename"; + unique "sequence"; + leaf filename { + type string { + pattern '\w+:.*.pkg'; + } + } + leaf sequence { + description + "client-side download sequence num (priority) of this package"; + type uint8 { + range "1..9"; + } + } + } + container file { + status deprecated; + description + "This node is deprecated and replaced by list file"; + leaf filename { + status deprecated; + description + "This node is deprecated and replaced by leaf filename"; + type string; + } + leaf sequence { + status deprecated; + description + "This node is deprecated and replaced by leaf sequence"; + type uint8; + } + } + list profile { + description + "Configure anyconnect profile and filename"; + key "profile-name"; + leaf profile-name { + description + "Configure anyconnect client profile"; + type string; + } + leaf file { + description + "Configure anyconnect client filename for profile"; + mandatory true; + type string { + pattern '\w+:.*'; + } + } + } + container profile-container { + status deprecated; + description + "This node is deprecated and replaced by list profile"; + leaf profile { + status deprecated; + description + "This node is deprecated and replaced by leaf profile-name"; + must '(../filename)'; + type string; + } + leaf filename { + status deprecated; + description + "This node is deprecated and replaced by leaf file"; + must '(../profile)'; + type string; + } + } + } + leaf csd { + description + "Configure Secure Desktop package"; + type string; + } + } + leaf xauth { + description + "X-Auth parameters"; + type string; + } + } + + grouping config-interface-crypto-grouping { + container crypto { + description + "Encryption/Decryption commands"; + container map { + description + "Assign a Crypto Map"; + leaf tag { + type string; + } + leaf redundancy { + description + "enable redundancy"; + type string; + } + leaf stateful { + description + "enable stateful failover"; + type empty; + } + } + container ipsec { + description + "Set IPSec parameters"; + leaf df-bit { + description + "Handling of encapsulated DF bit."; + type enumeration { + enum clear; + enum copy; + enum set; + } + } + leaf fragmentation { + description + "Handling of fragmentation of near-MTU sized packets"; + type enumeration { + enum after-encryption; + enum before-encryption; + } + } + } + } + } + + grouping config-interface-ipv6-crypto-grouping { + container crypto { + description + "Encryption/Decryption commands"; + leaf map { + description + "Assign an IPv6 Crypto Map"; + type string; + } + } + } + + grouping config-key-grouping { + list chain { + description + "Key-chain management"; + key "name"; + leaf name { + type string; + } + leaf macsec { + type empty; + } + leaf tcp { + type empty; + must 'string-length(../name) <= 236' { + error-message "TCP keychain name should not exceed 236 characters"; + } + } + list key { + description + "Configure a key"; + key "id"; + leaf id { + description + "Key identifier - (0-2147483674) for regular + key chain and hex number with even number digits + for macsec key chain"; + type string; + } + container cryptographic-algorithm-choice { + description + "Cryptographic authentication algorithm"; + leaf tcp { + when '(../../../tcp)'; + type enumeration { + enum aes-128-cmac; + enum hmac-sha-1; + enum hmac-sha-256; + } + } + leaf default { + when '(not(../../../macsec) and not(../../../tcp))'; + type enumeration { + enum hmac-sha-1; + enum hmac-sha-256; + enum hmac-sha-384; + enum hmac-sha-512; + enum md5; + } + } + leaf macsec { + when '(../../../macsec)'; + type enumeration { + enum aes-128-cmac; + enum aes-256-cmac; + } + default "aes-128-cmac"; + } + } + leaf cryptographic-algorithm { + status deprecated; + description + "Cryptographic authentication algorithm"; + type enumeration { + enum aes-128-cmac; + enum aes-256-cmac; + enum hmac-sha-1; + enum hmac-sha-256; + enum hmac-sha-384; + enum hmac-sha-512; + enum md5; + } + } + container key-string { + description + "Key string"; + leaf encryption { + description + "Key encryption method"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + type string; + must '((not(../encryption) or ../encryption = 0) and string-length(.) <= 80) or (../encryption = 6 and string-length(.) <= 141) or (../encryption = 7)' { + error-message "Clear-text should not be greater than 80"; + } + } + } + container accept-lifetime { + when 'not(../../macsec)'; + description + "Time interval during which key is accepted"; + uses lifetime-grouping-v1; + } + container send-lifetime { + when 'not(../../macsec)'; + description + "Time interval during which key is sent"; + uses lifetime-grouping-v1; + } + choice lifetime-choice { + status obsolete; + case lifetime-only { + status obsolete; + container lifetime { + status obsolete; + description + "Set lifetime of MACsec key"; + uses lifetime-grouping; + } + } + case lifetime-local { + status obsolete; + container lifetime-local { + status obsolete; + container local { + status obsolete; + description + "Specify time in local timezone"; + uses lifetime-grouping; + } + } + } + } + container macsec-lifetime { + container lifetime { + when '../../../macsec'; + description + "Set lifetime of MACsec key"; + uses lifetime-grouping-v1; + } + } + leaf send-id { + when '(../../tcp)'; + description + "configure a send id"; + type uint8 { + range "0..255"; + } + } + leaf recv-id { + when '(../../tcp)'; + description + "configure a receive id"; + type uint8 { + range "0..255"; + } + } + leaf include-tcp-options { + when '(../../tcp)'; + description + "Include tcp options in HMAC calculation"; + type boolean; + default "false"; + } + leaf accept-ao-mismatch { + when '(../../tcp)'; + description + "Accept packets with HMAC mismatch"; + type boolean; + default "false"; + } + } + } + container config-key { + status obsolete; + description + "Set a private configuration key for general use"; + leaf newpass { + status obsolete; + description + "Enter new password without space/tabs, space/tabs are not allowed"; + type string; + } + leaf oldpass { + status obsolete; + description + "Enter old password without space/tabs, space/tabs are not allowed"; + type string; + } + } + } + + grouping config-interface-tunnel-ipsec-grouping { + container dike { + description + "Use IKEv2 to protect this tunnel interface"; + container profile { + description + "Determine the IKEv2 profile to use"; + leaf ikev2-profile { + description + "ikev2 policy profile"; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempting to remove when referred by tunnel config"; + } + type string; + } + choice local-remote { + case local-case { + leaf local { + type uint32 { + range "1..65535"; + } + } + container remote1 { + leaf remote { + type uint32 { + range "1..65535"; + } + } + } + } + case remote-case { + leaf remote { + type uint32 { + range "1..65535"; + } + } + } + } + } + } + container ipsec { + description + "Use ipsec to protect this tunnel interface"; + leaf intiate { + description + "Initiate the IPsec tunnel right away"; + type empty; + } + container local-address { + description + "Specify an interface to be used as local address"; + uses ios-ifc:interface-grouping; + } + container policy { + description + "ACL config"; + choice ipv4-ipv6 { + case ipv4-case { + leaf ipv4 { + description + "IPv4 ACL"; + type ios-types:ext-acl-type; + } + } + case ipv6-case { + leaf ipv6 { + description + "IPv6 ACL"; + type string; + } + } + } + } + container profile-option { + description + "Determine the ipsec policy profile to use."; + leaf name { + description + "IPSec policy profile"; + type string; + } + choice isakmp_profile-ikev2_profile-shared { + case ikev2-profile-case { + leaf ikev2-profile { + description + "Specify ikev2 Profile"; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + case isakmp-profile-case { + leaf isakmp-profile { + description + "Specify isakmp Profile"; + must '/ios:native/ios:crypto/isakmp/profile[name=current()]' { + error-message "It seems ISAKMP profile doesn't exist or attempted to delete when actively referred by IPSec profile"; + } + type string; + } + } + case shared-case { + leaf shared { + description + "Use a shared socket for the crypto connection"; + type empty; + } + } + } + leaf psk { + description + "Use key value for default tunnel protection"; + type string; + } + } + leaf profile { + description + "Obsolete, use the other option profile-option to set ipsec policy profile"; + status obsolete; + must '/ios:native/ios:crypto/ipsec/profile[name=current()]' { + error-message "It seems IPSec profile doesn't exist or attempting to remove when referred by tunnel config"; + } + type string; + } + leaf ikev2-profile { + description + "Obsolete, use the other option ikev2-profile to set ikev2 policy profile"; + status obsolete; + must '/ios:native/ios:crypto/ikev2/profile[name=current()]' { + error-message "It seems IKEv2 profile doesn't exist or attempting to remove when referred by tunnel config"; + } + type string; + } + } + } + + grouping compare-string-grouping-obsolete { + leaf co { + status obsolete; + description + "Contains"; + type string; + } + leaf eq { + status obsolete; + description + "Equal"; + type string; + } + leaf nc { + status obsolete; + description + "Does not contain"; + type string; + } + leaf ne { + status obsolete; + description + "Not Equal"; + type string; + } + } + + grouping crypto-pki-certificate-map-grouping-obsolete { + container alt-subject-name { + status obsolete; + description + "Alternate subject name"; + uses compare-string-grouping-obsolete; + } + container expires-on { + status obsolete; + description + "Expiration date/time"; + uses compare-time-grouping-obsolete; + } + container issuer-name { + status obsolete; + description + "Certificate issuer name"; + uses compare-string-grouping-obsolete; + } + container name { + status obsolete; + description + "Any subject name field"; + uses compare-string-grouping-obsolete; + } + container serial-number { + status obsolete; + description + "Certificate serial number (hexadecimal)"; + uses compare-string-grouping-obsolete; + } + container subject-name { + status obsolete; + description + "Certificate subject name"; + uses compare-string-grouping-obsolete; + } + container unstructured-subject-name { + status obsolete; + description + "Unstructured subject name"; + uses compare-string-grouping-obsolete; + } + container valid-start { + status obsolete; + description + "Valid after date/time"; + uses compare-time-grouping-obsolete; + } + } + + grouping time-grouping-obsolete { + container time { + status obsolete; + choice date-month { + status obsolete; + case date1 { + status obsolete; + leaf date1 { + status obsolete; + type uint8 { + range "1..31"; + } + } + } + case month1 { + status obsolete; + leaf month1 { + status obsolete; + type string; + } + } + } + choice month-date { + status obsolete; + case date2 { + status obsolete; + leaf date2 { + status obsolete; + when '../month1'; + type uint8 { + range "1..31"; + } + } + } + case month2 { + status obsolete; + leaf month2 { + status obsolete; + when '../date1'; + type string; + } + } + } + leaf year { + status obsolete; + type uint16 { + range "1993..2035"; + } + } + leaf clock { + status obsolete; + type string; + } + leaf utc { + status obsolete; + description + "Time is in UTC (not local Time Zone)"; + type empty; + } + } + } + + grouping compare-time-grouping-obsolete { + container eq { + status obsolete; + description + "Equal"; + uses time-grouping-obsolete; + } + container ge { + status obsolete; + description + "Greater than or equal"; + uses time-grouping-obsolete; + } + container lt { + status obsolete; + description + "Less Than"; + uses time-grouping-obsolete; + } + container ne { + status obsolete; + description + "Not Equal"; + uses time-grouping-obsolete; + } + } + + grouping crypto-pki-certificate-chain-grouping-obsolete { + list certificate { + status obsolete; + description + "Certificate issued by the CA"; + key "serial"; + leaf serial { + status obsolete; + type string; + } + leaf certtype { + status obsolete; + type enumeration { + enum ca; + enum ra-encrypt; + enum ra-general; + enum ra-sign; + enum rollover; + enum self-signed; + enum "ca rollover"; + } + } + } + container crl { + status obsolete; + description + "Revocation list issued by the CA"; + leaf cdp-hexdata { + status obsolete; + description + "Revocation distribution point"; + type string { + pattern '([0-9a-fA-F]+)'; + } + } + } + } + + grouping crypto-pki-profile-enrollment-auth-grouping-obsolete { + leaf command { + status obsolete; + description + "command to authenticate or enroll"; + type string; + } + leaf terminal { + status obsolete; + description + "authenticate or enroll using terminal"; + type empty; + } + container url { + status obsolete; + description + "url to authenticate/enroll"; + leaf name { + status obsolete; + type string; + } + leaf vrf { + status obsolete; + description + "VRF to use for certificate enrollment "; + type string; + } + } + } + + grouping crypto-pki-profile-enrollment-grouping-obsolete { + container authentication { + status obsolete; + description + "Retrieve CA certificate(s)"; + uses crypto-pki-profile-enrollment-auth-grouping-obsolete; + } + container enrollment { + status obsolete; + description + "Enroll router with a CA"; + uses crypto-pki-profile-enrollment-auth-grouping-obsolete; + leaf credential { + description + "Use existing router cert for new enrollment"; + type string; + } + } + leaf method-est { + status obsolete; + description + "Use EST for this profile"; + type empty; + } + list parameter { + status obsolete; + description + "Define a parameter value or prompt"; + key "number"; + leaf number { + status obsolete; + type uint8 { + range "1..8"; + } + } + choice prompt-value { + status obsolete; + case prompt-case { + status obsolete; + leaf prompt { + status obsolete; + description + "Define a parameter prompt"; + type string; + } + } + case value-case { + status obsolete; + leaf value { + status obsolete; + description + "Define a parameter value"; + type string; + } + } + } + } + container reenrollment { + status obsolete; + description + "Re-enroll router with a CA"; + uses crypto-pki-profile-enrollment-auth-grouping-obsolete; + } + leaf source-interface { + status obsolete; + description + "Interface used as source address"; + type string; + } + } + + grouping crypto-pki-eku-grouping-obsolete { + leaf client-auth { + status obsolete; + description + "Client Auth"; + type empty; + } + leaf code-signing { + status obsolete; + description + "Code signing"; + type empty; + } + leaf email-protection { + status obsolete; + description + "Email protection"; + type empty; + } + leaf ipsec-end-system { + status obsolete; + description + "IPSEC end system"; + type empty; + } + leaf ipsec-tunnel { + status obsolete; + description + "IPSEC Tunnel"; + type empty; + } + leaf ipsec-user { + status obsolete; + description + "IPSEC User"; + type empty; + } + leaf ocsp-signing { + status obsolete; + description + "OCSP Signing"; + type empty; + } + leaf server-auth { + status obsolete; + description + "Server Auth"; + type empty; + } + leaf ssh-client { + status obsolete; + description + "SSH Client"; + type empty; + } + leaf ssh-server { + status obsolete; + description + "SSH Server"; + type empty; + } + leaf time-stamping { + status obsolete; + description + "Time Stamping"; + type empty; + } + } + + grouping database-password-grouping-obsolete { + container password { + status obsolete; + description + "Passphrase to protect the private key archive"; + leaf encryption-type { + status obsolete; + type uint8 { + range "0..9"; + } + } + leaf passphrase { + status obsolete; + type string { + length "8..200"; + } + } + } + } + + grouping database-username-password-grouping-obsolete { + container username { + status obsolete; + description + "username"; + leaf username-value { + status obsolete; + type string; + } + container password-ext { + status obsolete; + uses database-password-grouping-obsolete; + } + } + } + + grouping crypto-pki-server-grouping-obsolete { + container auto-rollover { + status obsolete; + description + "Rollover the CA key and certificate"; + leaf days { + status obsolete; + description + "Overlap time in days"; + type uint16 { + range "0..1825"; + } + } + leaf hours { + status obsolete; + description + "Overlap time in hours"; + type uint8 { + range "0..23"; + } + } + leaf minutes { + status obsolete; + description + "Overlap time in minutes"; + type uint8 { + range "0..59"; + } + } + } + leaf cdp-url { + status obsolete; + description + "CDP to be included in the issued certificates"; + type string; + } + container database { + status obsolete; + description + "Certificate Server database config parameters"; + leaf level { + status obsolete; + description + "Level of data stored in database"; + type enumeration { + enum complete; + enum minimum; + enum names; + } + } + uses database-username-password-grouping-obsolete; + container url { + status obsolete; + description + "database URL"; + leaf url-only { + status obsolete; + type string; + } + leaf file-type { + status obsolete; + description + "type of file"; + type enumeration { + enum cnm; + enum crl; + enum crt; + enum ser; + enum pem; + enum p12; + } + } + leaf publish { + status obsolete; + description + "Store a copy at a storage location"; + type empty; + } + choice url-combination { + status obsolete; + case location-alone { + status obsolete; + leaf location { + status obsolete; + description + "url value"; + type string; + } + } + case url-with-username { + status obsolete; + container url-with-username { + status obsolete; + leaf location { + status obsolete; + description + "url value"; + type string; + } + uses database-username-password-grouping-obsolete; + } + } + } + } + container archive { + status obsolete; + description + "Backup Certificate Server Signing Certificate and Keys"; + choice format { + container pem { + status obsolete; + description + "PEM format"; + presence "true"; + uses database-password-grouping-obsolete; + } + container pkcs12 { + status obsolete; + description + "PKCS12 format"; + presence "true"; + uses database-password-grouping-obsolete; + } + } + } + } + leaf serial-number { + status obsolete; + description + "Serial number of last certificate issued"; + type string; + } + leaf revoke { + status obsolete; + description + "Revoke a certificate"; + type string; + } + container mode { + status obsolete; + description + "Mode"; + choice ra-or-subcs { + status obsolete; + case ra { + status obsolete; + leaf ra { + status obsolete; + type empty; + } + leaf transparent { + status obsolete; + type empty; + } + } + case subca { + status obsolete; + leaf sub-cs { + status obsolete; + type empty; + } + } + } + } + container lifetime { + status obsolete; + description + "lifetime of the certificate"; + leaf certificate { + status obsolete; + type enumeration { + enum ca-certificate; + enum certificate; + enum crl; + enum enrollment-request; + } + } + leaf days { + status obsolete; + type uint16 { + range "0..7305"; + } + } + leaf hours { + status obsolete; + type uint8 { + range "0..23"; + } + default "0"; + } + leaf minutes { + status obsolete; + type uint16 { + range "0..59"; + } + default "0"; + } + } + leaf hash { + status obsolete; + description + "Hash algorithm"; + type enumeration { + enum md5; + enum sha1; + enum sha256; + enum sha384; + enum sha512; + } + } + container eku { + status obsolete; + description + "EKU parameters"; + uses crypto-pki-eku-grouping-obsolete; + } + leaf issuer-name { + status obsolete; + description + "Issuer name"; + type string; + } + container grant { + status obsolete; + description + "Certificate granting options"; + leaf type { + status obsolete; + type enumeration { + enum none; + enum ra-auto; + } + } + container auto { + status obsolete; + leaf auto-alone { + status obsolete; + type empty; + } + leaf trustpoint { + status obsolete; + type string; + } + leaf tp-list { + status obsolete; + type string; + } + leaf rollover { + status obsolete; + type enumeration { + enum ra-cert; + enum ca-cert; + } + } + } + } + leaf shutdown-config { + status obsolete; + description + "Shutdown the certificate server"; + type boolean; + default "true"; + } + leaf shutdown { + description + "Shutdown the certificate server"; + status obsolete; + type empty; + } + } + + grouping crypto-pki-trustpoint-ip-extension-grouping-obsolete { + container range { + status obsolete; + description + "IP address range"; + choice ipv4-ipv6 { + status obsolete; + case ipv4-range { + status obsolete; + leaf start { + status obsolete; + description + "Starting IP address"; + type inet:ipv4-address; + } + leaf end { + status obsolete; + description + "Ending IP address"; + type inet:ipv4-address; + } + } + case ipv6-range { + status obsolete; + leaf start-v6 { + status obsolete; + description + "Starting IPv6 address"; + type inet:ipv6-address; + } + leaf end-v6 { + status obsolete; + description + "Ending IPv6 address"; + type inet:ipv6-address; + } + } + } + } + leaf prefix { + status obsolete; + description + "Prefix or IP address"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + container inherit { + status obsolete; + description + "Inherit address from issuer"; + leaf ipv4 { + status obsolete; + description + "Apply to ipv4 address"; + type empty; + } + leaf ipv6 { + status obsolete; + description + "Apply to ipv6 address"; + type empty; + } + } + } + + grouping crypto-pki-trustpoint-grouping-obsolete { + container authorization { + status obsolete; + description + "Authorization parameters."; + leaf list { + status obsolete; + description + "AAA authorization list to use"; + type string; + } + leaf password { + status obsolete; + description + "password used for authorization request"; + type string; + } + container username { + status obsolete; + description + "specify how AAA username is generated"; + container alt-subjectname { + status obsolete; + description + "aaa username generated from certificate alt-subjectname"; + leaf userprinciplename { + status obsolete; + description + "cert upn field as aaa username"; + type empty; + } + container userprinciplename-conf { + status obsolete; + container userprinciplename { + status obsolete; + description + "cert upn field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + } + container subjectname { + status obsolete; + description + "aaa username generated from certificate subjectname"; + leaf all { + status obsolete; + description + "complete subject name as aaa username"; + type empty; + } + container all-conf { + status obsolete; + container all { + status obsolete; + description + "complete subject name field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf commonname { + status obsolete; + description + "common name as aaa username"; + type empty; + } + container commonname-conf { + status obsolete; + container commonname { + status obsolete; + description + "Common name field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf country { + status obsolete; + description + "country as aaa username"; + type empty; + } + container country-conf { + status obsolete; + container country { + status obsolete; + description + "country field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf email { + status obsolete; + description + "email as aaa username"; + type empty; + } + container email-conf { + status obsolete; + container email { + status obsolete; + description + "email field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf ipaddress { + status obsolete; + description + "IP address as aaa username"; + type empty; + } + container ipaddress-conf { + status obsolete; + container ipaddress { + status obsolete; + description + "IP address field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf locality { + status obsolete; + description + "locality as aaa username"; + type empty; + } + container locality-conf { + status obsolete; + container locality { + status obsolete; + description + "locality field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf organization { + status obsolete; + description + "organization as aaa username"; + type empty; + } + container organization-conf { + status obsolete; + container organization { + description + "organization field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf organizationalunit { + status obsolete; + description + "organizational unit as aaa username"; + type empty; + } + container organizationalunit-conf { + status obsolete; + container organizationalunit { + status obsolete; + description + "organizational unit field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf postalcode { + status obsolete; + description + "postal code as aaa username"; + type empty; + } + container postalcode-conf { + status obsolete; + container postalcode { + status obsolete; + description + "postal code field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf serialnumber { + status obsolete; + description + "serial number as aaa username"; + type empty; + } + container serialnumber-conf { + status obsolete; + container serialnumber { + status obsolete; + description + "serial number field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf state { + status obsolete; + description + "state as aaa username"; + type empty; + } + container state-conf { + status obsolete; + container state { + status obsolete; + description + "state field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf streetaddress { + status obsolete; + description + "street address as aaa username"; + type empty; + } + container streetaddress-conf { + status obsolete; + container streetaddress { + status obsolete; + description + "street address field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf title { + status obsolete; + description + "title name as aaa username"; + type empty; + } + container title-conf { + status obsolete; + container title { + status obsolete; + description + "title name field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + leaf unstructuredname { + status obsolete; + description + "unstructured name as aaa username"; + type empty; + } + container unstructuredname-conf { + status obsolete; + container unstructuredname { + status obsolete; + description + "unstructured name field as aaa username"; + leaf secondary { + status obsolete; + description + "secondary username"; + when '../../../../../username'; + type empty; + } + } + } + } + } + } + container certificate { + status obsolete; + description + "certificate options"; + leaf chain { + status obsolete; + description + "certificate chain configuration file"; + type string; + } + } + container chain-validation { + status obsolete; + description + "Validation parameters"; + leaf stop { + status obsolete; + description + "Halt chain validation"; + type empty; + } + leaf continue { + status obsolete; + description + "Validate this trustpoint's (sub)CA certificate"; + type string; + } + } + container crl { + status obsolete; + description + "CRL options"; + leaf query { + status obsolete; + description + "Query CRL URL"; + type string; + } + container cache { + status obsolete; + description + "CRL cache options"; + choice cache-choice { + status obsolete; + case none { + status obsolete; + leaf none { + status obsolete; + description + "Do not cache CRLs"; + type empty; + } + } + case extend { + status obsolete; + leaf extend { + status obsolete; + description + "Extend CRL cache time"; + type uint16 { + range "1..1440"; + } + } + } + case delete-after { + status obsolete; + leaf delete-after { + status obsolete; + description + "Remove CRL from cache after a timeout (in minutes)"; + type uint16 { + range "1..43200"; + } + } + } + } + } + } + leaf exit { + status obsolete; + description + "Exit from certificate authority trustpoint entry mode"; + type empty; + } + container auto-enroll { + status obsolete; + description + "Automatically enroll this router identity"; + leaf percent { + status obsolete; + description + "renewal percentage"; + type ios-types:percentage; + } + leaf regenerate { + status obsolete; + description + "Regenerate keys on re-enrollment"; + type empty; + } + } + leaf eckeypair { + status obsolete; + description + "eckeypair for this identity"; + type string; + } + container eku { + status obsolete; + description + "EKU parameters"; + container request { + status obsolete; + description + "EKU requested attribute"; + uses crypto-pki-eku-grouping-obsolete; + } + } + container enrollment { + status obsolete; + description + "Enrollment parameters"; + container http-proxy { + status obsolete; + description + "HTTP proxy server for enrollment"; + leaf hostname { + status obsolete; + description + "host-name"; + type string; + } + leaf port { + status obsolete; + description + "port number"; + type uint16 { + range "1..10000"; + } + } + } + container mode { + status obsolete; + description + "Mode supported by the Certificate Authority"; + leaf ra { + status obsolete; + description + "Registration Authority mode"; + type empty; + } + } + container enrollment-method { + status obsolete; + choice method { + status obsolete; + case pkcs12-case { + status obsolete; + leaf pkcs12 { + status obsolete; + description + "Enroll via pkcs12"; + type empty; + } + } + case profile-case { + status obsolete; + leaf profile { + status obsolete; + description + "Specify an profile for enrollment"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:pki/ios-crypto:profile/ios-crypto:enrollment/ios-crypto:tag"; + } + } + } + case selfsigned-case { + status obsolete; + leaf selfsigned { + status obsolete; + description + "Generate a Self Signed Certificate"; + type empty; + } + } + case terminal-case { + status obsolete; + container terminal { + status obsolete; + description + "Enroll via the terminal (cut-and-paste)"; + presence "true"; + leaf pem { + status obsolete; + description + "Include PEM encapsulation boundaries"; + type empty; + } + } + } + case url-case { + status obsolete; + leaf url { + status obsolete; + description + "CA server enrollment URL"; + type string; + } + } + } + } + leaf pkcs12 { + status obsolete; + type empty; + } + leaf profile { + status obsolete; + description + "Specify an profile for enrollment"; + type leafref { + path "/ios:native/ios:crypto/ios-crypto:pki/ios-crypto:profile/ios-crypto:enrollment/ios-crypto:tag"; + } + } + container retry { + status obsolete; + description + "Polling parameters"; + leaf count { + status obsolete; + description + "How many times to poll CA for our certificate"; + type uint8 { + range "1..100"; + } + } + leaf period { + status obsolete; + description + "How long to wait between requests to CA for our certificate"; + type uint8 { + range "1..60"; + } + } + } + leaf selfsigned { + status obsolete; + description + "Generate a Self Signed Certificate"; + type empty; + } + container terminal { + status obsolete; + description + "Enroll via the terminal (cut-and-paste)"; + presence "true"; + leaf pem { + status obsolete; + description + "Include PEM encapsulation boundaries"; + type empty; + } + } + leaf url { + status obsolete; + description + "CA server enrollment URL"; + type string; + } + } + leaf fqdn { + status obsolete; + description + "include fully-qualified domain name"; + type string; + } + container password { + status obsolete; + description + "revocation password"; + presence "true"; + leaf encryption-type { + status obsolete; + description + "Encryption type"; + type uint8 { + range "0..9"; + } + } + leaf clear-password { + status obsolete; + description + "revocation password"; + type string; + } + } + leaf fingerprint { + status obsolete; + description + "CA Certificate Fingerprint"; + type string { + pattern '([0-9a-fA-F]+)'; + } + } + leaf hash { + status obsolete; + description + "Hash algorithm"; + type enumeration { + enum md5; + enum sha1; + enum sha256; + enum sha384; + enum sha512; + } + } + container http-proxy { + status obsolete; + description + "HTTP proxy server for enrollment"; + leaf hostname { + status obsolete; + description + "host-name"; + type string; + } + leaf port { + status obsolete; + description + "port number"; + type uint16 { + range "1..10000"; + } + } + } + container ip-extension { + status obsolete; + description + "RFC3779 IP extension for certificate request"; + container unicast { + status obsolete; + description + "Apply to unicast traffic only"; + uses crypto-pki-trustpoint-ip-extension-grouping-obsolete; + } + container multicast { + status obsolete; + description + "Apply to multicast traffic only"; + uses crypto-pki-trustpoint-ip-extension-grouping-obsolete; + } + uses crypto-pki-trustpoint-ip-extension-grouping-obsolete; + } + container match { + status obsolete; + description + "Match a certificate attributes/maps"; + container key-usage { + status obsolete; + description + "key-usage attributes to validate"; + leaf cRLSign { + status obsolete; + type empty; + } + } + container eku { + status obsolete; + description + "EKU attributes to validate"; + uses crypto-pki-eku-grouping-obsolete; + } + list certificate { + status obsolete; + description + "Certificate map name"; + key "name"; + leaf name { + status obsolete; + type string; + } + container allow { + status obsolete; + description + "Allow expired certificates to be accepted"; + leaf expired-certificate { + status obsolete; + type empty; + } + } + leaf skip { + status obsolete; + description + "Skip a certificate validity check"; + type enumeration { + enum authorization-check; + enum revocation-check; + } + } + container override { + status obsolete; + description + "Over-ride fields in a certificate"; + container cdp { + status obsolete; + leaf directory { + status obsolete; + type string; + } + leaf url { + status obsolete; + type string; + } + } + container ocsp { + status obsolete; + description + "Over-ride the OCSP URL in a certificate"; + leaf trustpoint { + status obsolete; + description + "Over-ride the trustpoint for verifying the OCSP certificate"; + type string; + } + leaf sequence-num { + status obsolete; + type uint16 { + range "1..10000"; + } + } + leaf url { + status obsolete; + type string; + } + } + container sia { + status obsolete; + description + "Over-ride the SIA URL in a certificate"; + leaf sequence-num { + status obsolete; + type uint16 { + range "1..10000"; + } + } + leaf url { + status obsolete; + type string; + } + } + } + } + } + container ocsp { + status obsolete; + description + "OCSP parameters"; + leaf disable-nonce { + status obsolete; + description + " Disable OCSP Nonce Extension"; + type empty; + } + leaf url { + status obsolete; + type string; + } + } + leaf on { + status obsolete; + description + "create keypair on device"; + type string; + } + leaf primary { + status obsolete; + description + "Specify trustpoint as primary"; + type empty; + } + leaf regenerate { + status obsolete; + description + "Regenerate keys on re-enrollment"; + type empty; + } + leaf-list revocation-check { + status obsolete; + description + "Revocation checking options"; + ordered-by user; + type enumeration { + enum crl; + enum none; + enum ocsp; + } + } + container root { + status obsolete; + description + "Protocol to get CA certificate"; + leaf proxy { + status obsolete; + description + "HTTP proxy server for getting CA cert"; + type string; + } + container tftp { + status obsolete; + description + "Get CA certificate using tftp"; + leaf hostname { + status obsolete; + type string; + } + leaf filename { + status obsolete; + type string; + } + } + } + container source { + status obsolete; + description + "Specify source interface"; + leaf interface { + status obsolete; + description + "Interface used as source address"; + type string; + } + } + leaf storage { + status obsolete; + description + "key and certificate storage location"; + type string; + } + leaf auto-trigger { + status obsolete; + description + "Trigger authentication automatically"; + type empty; + } + container rsakeypair { + status obsolete; + description + "Specify rsakeypair for this identity"; + leaf key-label { + status obsolete; + description + "RSA keypair label"; + type string; + } + leaf gen-key { + status obsolete; + description + "General Purpose or Signature Key length"; + type uint16 { + range "360..4096"; + } + } + leaf encrypt-key { + status obsolete; + description + "Encryption Key length"; + type uint16 { + range "360..4096"; + } + } + } + container serial-number { + status obsolete; + description + "Include serial number"; + presence "true"; + leaf none { + status obsolete; + description + "do not include serial number"; + type empty; + } + } + container ip-address { + status obsolete; + description + "include ip address"; + leaf address-line { + status obsolete; + description + "interface name or ip address"; + type string; + } + leaf none { + status obsolete; + description + "do not include ip address"; + type empty; + } + } + leaf subject-name { + status obsolete; + description + "Subject Name"; + type string; + } + leaf subject-alt-name { + status obsolete; + description + "Subject Alternate Name"; + type string; + } + leaf usage { + status obsolete; + description + "Certificate Usage"; + type enumeration { + enum ike; + enum ssl-client; + enum ssl-server; + } + } + leaf vrf { + status obsolete; + description + "Name of VRF to use with trustpoint"; + type string; + } + } + + grouping crypto-pki-trustpool-policy-grouping-obsolete { + container ca-bundle { + status obsolete; + description + "CA bundle download parameters"; + leaf url { + status obsolete; + description + "CA server bundle URL"; + type string; + } + choice source-vrf { + status obsolete; + case source { + status obsolete; + container source { + status obsolete; + description + "Interface used as source address"; + leaf interface { + status obsolete; + type string; + } + } + } + case vrf { + status obsolete; + leaf vrf { + status obsolete; + description + "Name of VRF to use with bundle"; + type string; + } + } + } + } + leaf vrf { + status obsolete; + description + "Name of VRF to use with trustpoint"; + type string; + } + container source { + status obsolete; + description + "Specify source interface"; + leaf interface { + status obsolete; + description + "Interface used as source address"; + type string; + } + } + leaf storage { + status obsolete; + description + "key and certificate storage location"; + type string; + } + leaf revocation-check { + status obsolete; + description + "Revocation checking options"; + type enumeration { + enum crl; + enum none; + enum ocsp; + } + } + container ocsp { + status obsolete; + description + "OCSP parameters"; + leaf disable-nonce { + status obsolete; + description + " Disable OCSP Nonce Extension"; + type empty; + } + leaf url { + status obsolete; + type string; + } + } + leaf chain-validation { + status obsolete; + description + "Validation parameters"; + type empty; + } + leaf exit { + status obsolete; + type empty; + } + container match { + status obsolete; + description + "Match a certificate attributes/maps"; + list certificate { + status obsolete; + description + "Certificate map name"; + key "name"; + leaf name { + status obsolete; + type string; + } + container allow { + status obsolete; + description + "Allow expired certificates to be accepted"; + leaf expired-certificate { + status obsolete; + type empty; + } + } + leaf skip { + status obsolete; + description + "Skip a certificate validity check"; + type enumeration { + enum authorization-check; + enum revocation-check; + } + } + container override { + status obsolete; + description + "Over-ride fields in a certificate"; + container cdp { + status obsolete; + choice dir-url { + status obsolete; + case directory { + status obsolete; + leaf directory { + status obsolete; + type string; + } + } + case url { + status obsolete; + leaf url { + status obsolete; + type string; + } + } + } + } + container ocsp { + status obsolete; + description + "Over-ride the OCSP URL in a certificate"; + leaf trustpool { + status obsolete; + description + "Over-ride the trustpoint for verifying the OCSP certificate"; + type string; + } + leaf sequence-num { + status obsolete; + type uint16 { + range "1..10000"; + } + } + leaf url { + status obsolete; + type string; + } + } + container sia { + status obsolete; + description + "Over-ride the SIA URL in a certificate"; + leaf sequence-num { + status obsolete; + type uint16 { + range "1..10000"; + } + } + leaf url { + status obsolete; + type string; + } + } + } + } + } + container crl { + status obsolete; + description + "CRL options"; + leaf query { + status obsolete; + description + "Query CRL URL"; + type string; + } + container cache { + status obsolete; + description + "CRL cache options"; + choice cache-choice { + status obsolete; + case none { + status obsolete; + leaf none { + status obsolete; + description + "Do not cache CRLs"; + type empty; + } + } + case delete-after { + status obsolete; + leaf delete-after { + status obsolete; + description + "Remove CRL from cache after a timeout (in minutes)"; + type uint16 { + range "1..43200"; + } + } + } + } + } + } + } + + grouping crypto-pki-token-grouping-obsolete { + container removal { + status obsolete; + description + "actions to take after token removal"; + leaf timeout { + status obsolete; + description + "seconds after token removal at which keys from the token are cleared"; + type uint16 { + range "0..480"; + } + } + } + } + + grouping snmp-server-trap-gdoi-grouping { + container gdoi { + description + "Enable GDOI traps"; + presence "true"; + leaf gm-incomplete-cfg { + description + "Enable SNMP GDOI GM Incomplete Config trap"; + type empty; + } + leaf gm-re-register { + description + "Enable SNMP GDOI GM Re-Register trap"; + type empty; + } + leaf gm-registration-complete { + description + "Enable SNMP GDOI GM Registration Complete trap"; + type empty; + } + leaf gm-rekey-fail { + description + "Enable SNMP GDOI GM Rekey Failure trap"; + type empty; + } + leaf gm-rekey-rcvd { + description + "Enable SNMP GDOI GM Rekey Received trap"; + type empty; + } + leaf gm-start-registration { + description + "Enable SNMP GDOI GM Start Registration trap"; + type empty; + } + leaf ks-gm-deleted { + description + "Enable SNMP GDOI KS GM Deleted Trap"; + type empty; + } + leaf ks-new-registration { + description + "Enable SNMP GDOI KS New Registration Trap"; + type empty; + } + leaf ks-no-rsa-keys { + description + "Enable SNMP GDOI KS trap for missing RSA keys"; + type empty; + } + leaf ks-peer-reachable { + description + "Enable SNMP GDOI KS Peer Reachable Trap"; + type empty; + } + leaf ks-peer-unreachable { + description + "Enable SNMP GDOI KS Peer Unreachable Trap"; + type empty; + } + leaf ks-reg-complete { + description + "Enable SNMP GDOI KS Registration Complete Trap"; + type empty; + } + leaf ks-rekey-pushed { + description + "Enable SNMP GDOI KS Rekey Pushed trap"; + type empty; + } + leaf ks-role-change { + description + "Enable SNMP GDOI KS Role Change Trap"; + type empty; + } + } + } + + grouping monitor-event-trace-common { + leaf dump-file { + description + "Set name of trace dump file"; + type string { + length "1..100"; + } + } + leaf size { + description + "Number of entries in trace"; + type uint32 { + range "1..1000000"; + } + } + container stacktrace { + description + "Enables the stack trace at tracepoints"; + presence "true"; + leaf depth { + description + "The number of stack frame details that are stored"; + type uint8 { + range "1..16"; + } + default "8"; + } + } + } + + grouping monitor-event-trace-crypto-grouping { + container crypto { + container ikev2 { + container error { + description + "Enable IKEv2 Errors"; + presence "true"; + uses monitor-event-trace-common; + } + container event { + description + "Enable IKEv2 Events"; + presence "true"; + uses monitor-event-trace-common; + } + container exception { + description + "Enable IKEv2 Exception"; + presence "true"; + uses monitor-event-trace-common; + } + } + container ipsec { + container error { + description + "Enable ipsec Errors"; + presence "true"; + uses monitor-event-trace-common; + } + container event { + description + "Enable ipsec Events"; + presence "true"; + uses monitor-event-trace-common; + } + container exception { + description + "Enable ipsec Exception"; + presence "true"; + uses monitor-event-trace-common; + } + } + } + } + + grouping monitor-event-trace-nhrp-common { + container error-enable { + description + "NHRP error enable"; + leaf error { + description + "NHRP error"; + type empty; + } + } + container error-options { + description + "NHRP error options"; + container error { + description + "NHRP error"; + uses monitor-event-trace-common; + } + } + container event-enable { + description + "NHRP event enable"; + leaf event { + description + "NHRP event"; + type empty; + } + } + container event-options { + description + "NHRP event options"; + container event { + description + "NHRP event"; + uses monitor-event-trace-common; + } + } + container exception-enable { + description + "NHRP exception enable"; + leaf exception { + description + "NHRP exception"; + type empty; + } + } + container exception-options { + description + "NHRP exception options"; + container exception { + description + "NHRP exception"; + uses monitor-event-trace-common; + } + } + } + + grouping monitor-event-trace-tunnel-common { + leaf dump-file { + description + "Set name of dump file containing merged traces"; + type string { + length "1..100"; + } + } + container nhrp { + description + "NHRP Trace"; + uses monitor-event-trace-nhrp-common; + } + } + + grouping monitor-event-trace-gdoi-grouping { + container gdoi { + description + "gdoi event-trace"; + container coop { + description + "Enable GDOI coop"; + presence "true"; + uses monitor-event-trace-common; + } + container infra { + description + "Enable GDOI infra"; + presence "true"; + uses monitor-event-trace-common; + } + container registration { + description + "Enable GDOI registration"; + presence "true"; + uses monitor-event-trace-common; + } + container rekey { + description + "Enable GDOI rekey"; + presence "true"; + uses monitor-event-trace-common; + } + } + } + + grouping monitor-event-trace-dmvpn-grouping { + container dmvpn { + container crypto-enable { + description + "Enable Dynamic Multipoint VPN Crypto events"; + leaf crypto { + description + "All DMVPN crypto events"; + type boolean; + default "false"; + } + } + container crypto-options { + description + "DMVPN crypto options"; + container crypto { + description + "DMVPN crypto"; + uses monitor-event-trace-common; + } + } + container tunnel-enable { + description + "Enable Dynamic Multipoint VPN on tunnel"; + leaf tunnel { + description + "All DMVPN tunnel events"; + type boolean; + default "false"; + } + } + container tunnel-options { + description + "DMVPN tunnel options"; + container tunnel { + description + "DMVPN tunnel"; + uses monitor-event-trace-common; + } + } + uses monitor-event-trace-tunnel-common; + } + } + + grouping monitor-event-trace-flexvpn-grouping { + container flexvpn { + container crypto-enable { + description + "Enable FlexVPN Crypto events"; + leaf crypto { + description + "All FlexVPN crypto events"; + type boolean; + default "false"; + } + } + container crypto-options { + description + "FlexVPN crypto options"; + container crypto { + description + "FlexVPN crypto"; + uses monitor-event-trace-common; + } + } + container tunnel-enable { + description + "Enable FlexVPN tunnel"; + leaf tunnel { + description + "All FlexVPN tunnel events"; + type boolean; + default "false"; + } + } + container tunnel-options { + description + "FlexVPN tunnel options"; + container tunnel { + description + "FlexVPN tunnel"; + uses monitor-event-trace-common; + } + } + uses monitor-event-trace-tunnel-common; + } + } + + augment "/ios:native/ios:key" { + uses config-key-grouping; + } + + augment "/ios:native/ios:crypto" { + uses config-crypto-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios-tun:tunnel/ios-tun:protection" { + uses config-interface-tunnel-ipsec-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios-tun:tunnel/ios-tun:protection" { + uses config-interface-tunnel-ipsec-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP" { + uses config-interface-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP/ios:ipv6" { + uses config-interface-ipv6-crypto-grouping { + if-feature "ios-features:crypto"; + } + } + + augment "/ios:native/ios:snmp-server/ios-snmp:enable/ios-snmp:enable-choice/ios-snmp:traps" { + uses snmp-server-trap-gdoi-grouping; + } + + augment "/ios:native/ios:monitor/ios:event-trace" { + uses monitor-event-trace-crypto-grouping; + } + + augment "/ios:native/ios:monitor/ios:event-trace" { + uses monitor-event-trace-gdoi-grouping; + } + + augment "/ios:native/ios:monitor/ios:event-trace" { + uses monitor-event-trace-dmvpn-grouping; + } + + augment "/ios:native/ios:monitor/ios:event-trace" { + uses monitor-event-trace-flexvpn-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ctrl-mng-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ctrl-mng-cfg.yang new file mode 100644 index 000000000..2b65f9e1d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ctrl-mng-cfg.yang @@ -0,0 +1,296 @@ +module Cisco-IOS-XE-ctrl-mng-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ctrl-mng-cfg"; + prefix ctrl-mng-ios-xe-cfg; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for configuration data to allow management of devices by vmanage. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added preference for using the WAN interface to exchange + control traffic with vManage + - Added a leaf to indicate that the device + is managed by vManage + - Added a leaf to display the config template name"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef persn-enum { + type enumeration { + enum personality-enum-vedge { + value 0; + description + "System personality vedge"; + } + enum personality-enum-vsmart { + value 1; + description + "System personality vsmart"; + } + enum personality-enum-vmanage { + value 2; + description + "System personality vmanage"; + } + } + description + "System personality type"; + } + + typedef ud-remote { + type enumeration { + enum ud-remote-unset { + value 0; + description + "vbond unset"; + } + enum ud-remote-inet-ip-address { + value 1; + description + "Configure local IPv4 vbond address"; + } + enum ud-remote-domain-name { + value 2; + description + "Configure remote vbond"; + } + } + description + "Configure remote vBond or local IPv4 vbond address"; + } + + grouping ctrl-mng-if { + description + "Configure interface parameters for connection to vmanage"; + leaf name { + type string; + description + "WAN interface name"; + } + leaf tunnel-if-enabled { + type boolean; + default "true"; + description + "Enable interface as a secure WAN transport connection"; + } + leaf hello-interval { + type uint32 { + range "100 .. 600000"; + } + units "seconds"; + default "1000"; + description + "Interval between hello packets sent on a WAN connection, in seconds"; + } + leaf bind { + type string { + length "1..32"; + } + description + "Bind loopback tunnel interface to a physical interface"; + } + leaf hello-tolr { + type uint32 { + range "12 .. 6000"; + } + must '((2000 * .) >= (../hello-interval))' { + error-message "hello-tolerance should be at least twice the hello-interval"; + error-app-tag "must-violation"; + } + default "12"; + description + "Interval to wait since the last hello packet was sent on a WAN connection before declaring it to be down"; + } + leaf vmanage-con-pref { + type uint8 { + range "0 .. 8"; + } + default "5"; + description + "Preference for using the WAN interface to exchange control traffic with vManage"; + } + } + + grouping vbond-info { + description + "configure vbond parameters"; + leaf port { + type uint16 { + range "1 .. 65335"; + } + description + "Port number to connect to vbond orchestrator"; + } + choice vbond-remote-discrim-choice { + description + "Configure remote vBond or local IPv4 vbond address"; + case ud-remote-inet-ip-address { + leaf ip { + type inet:ip-address; + description + "IPv4 or IPv6 address of vbond orchestrator"; + } + } + case ud-remote-domain-name { + leaf name { + type string { + length "1..253"; + pattern '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)|\.'; + } + description + "Name that point to vbond orchestrator"; + } + } + } + } + + grouping ctrl-mng-config { + description + "Configuration info to allow management by vmanage"; + leaf ctrl-mng-enable { + type boolean; + default "false"; + description + "Knob to enable management by vmanage"; + } + leaf persn { + type ctrl-mng-ios-xe-cfg:persn-enum; + description + "System type"; + } + leaf auto-sys-ip { + type inet:ipv4-address; + description + "System-IP automatically generated by vManage for device"; + } + leaf sys-ip { + type inet:ipv4-address; + description + "System IP address of a device"; + } + leaf site-id { + type uint32; + description + "Numeric identifier of the site in the network"; + } + leaf ipv6-strict-control { + type boolean; + default "false"; + description + "Establish IPv6 control connection in a dual stack IP"; + } + leaf org-name { + type string { + length "1..128"; + pattern '[^#$]*'; + } + description + "Name of the organization"; + } + leaf sp-org-name { + type string { + length "1..128"; + pattern '[^#$]*'; + } + description + "Name of the SP organization"; + } + container vbond { + description + "Specifies the IP address and other information related to vbond orchestrator"; + uses ctrl-mng-ios-xe-cfg:vbond-info; + } + leaf descr { + type string { + length "1..32"; + pattern '[^<>]*'; + } + description + "System description"; + } + leaf sys-tunnel-mtu { + type uint16 { + range "500 .. 2000"; + } + default "1024"; + description + "Control tunnel MTU"; + } + leaf upgrade-confirm { + type uint8 { + range "5 .. 60"; + } + units "minutes"; + default "15"; + description + "Software upgrade confirmation timeout"; + } + container ctrl-mng-ifs { + description + "Interface list for control connection to vmanage"; + list ctrl-mng-if { + key "name"; + description + "Interface for control connection to vmanage"; + uses ctrl-mng-ios-xe-cfg:ctrl-mng-if; + } + } + leaf is-vmanaged { + type boolean; + description + "Device is managed by vManage"; + } + leaf config-template-name { + type string; + description + "Configuration template assigned by the vManage"; + } + } + + container ctrl-mng-cfg-data { + description + "Configuration data to allow device to be managed by vmanage"; + container ctrl-mng-config { + presence "ctrl-mng-config"; + description + "Configuration data to allow device management by vmanage"; + uses ctrl-mng-ios-xe-cfg:ctrl-mng-config { + refine "vbond/port" { + default "12346"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-routing-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-routing-deviation.yang new file mode 100644 index 000000000..8d2996414 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-routing-deviation.yang @@ -0,0 +1,41 @@ +module Cisco-IOS-XE-cts-routing-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cts-routing-deviation"; + prefix ios-cts-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-cts { + prefix ios-cts; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-08-26 { + description + "Added sgt-cache deviation for Loopback interface"; + cisco-semver:module-version "1.0.1"; + } + + deviation "/ios:native/ios:cts/ios-cts:role-based/ios-cts:enforcement-only/ios-cts:enforcement" { + deviate add { + must "not(/ios:native/ios:interface/*/ios-cts:cts/ios-cts:role-based/ios-cts:enforcement-routing = 'true')" { + error-message "There is at least one interface that has role-based enforcement configured.Please remove all interface enforcement configuration(s) before attempting global enable."; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-rpc.yang new file mode 100644 index 000000000..d8387d01c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-rpc.yang @@ -0,0 +1,247 @@ +module Cisco-IOS-XE-cts-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cts-rpc"; + prefix ios-xe-cts-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED CTS RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-cts-counters-ip-grouping { + choice ip-choice { + case ipv6-case { + leaf ipv6 { + description + "Protocol Version - IPv4"; + type empty; + } + } + case ipv4-case { + leaf ipv4 { + description + "Protocol Version - IPv6"; + type empty; + } + } + } + } + + grouping clear-cts-source-destination-grouping { + choice from-to-choice { + case security-tag-case { + leaf security-tag { + description + "Security Group Tag"; + type uint16 { + range "0..65519"; + } + } + choice ip-choice { + case ipv6-case { + leaf ipv6 { + description + "Protocol Version - IPv6"; + when '../security-tag'; + type empty; + } + } + case ipv4-case { + leaf ipv4 { + description + "Protocol Version - IPv4"; + when '../security-tag'; + type empty; + } + } + } + } + case unknown-case { + container unknown { + description + " Unknown Destination Group"; + presence "true"; + uses clear-cts-counters-ip-grouping; + } + } + } + } + + rpc cts { + description + "Cisco Trusted Security Exec Commands"; + input { + container credentials { + description + "Insert CTS device ID and password into the keystore"; + leaf id { + description + "Specify the CTS device ID for this switch or router(upto 32 char)"; + type string { + length "1..24"; + } + } + leaf password { + description + "specify this device's CTS password(upto 24 char)"; + when '../id'; + type string; + } + } + } + output { + uses ios-xe-rpc:cisco-xe-rpc-output; + } + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice" { + case cts-case { + container cts { + description + "Cisco Trusted Security commands"; + choice cts-choice { + case counter-case { + container counter { + description + "Clear a CTS interface's counters or all counters"; + presence "true"; + leaf interface { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + } + } + case credentials-case { + leaf credentials { + description + "Clear all CTS credentials, including all PACs"; + type empty; + } + } + case environment-data-case { + leaf environment-data { + description + "Clear CTS Environment Data"; + type empty; + } + } + case pac-case { + container pac { + description + "Clear a PAC or all PACs from the keystore"; + choice pac-choice { + case A-ID-case { + leaf A-ID { + description + "Specify A-ID of a PAC to be removed from the key store"; + type string; + } + } + case all-case { + leaf all { + description + "Clear all PACs on the device"; + type empty; + } + } + } + } + } + case role-based-case { + container role-based { + description + "Role-based Access Control information"; + container counters { + description + "Display role-based access control statistics per cell"; + presence "true"; + choice counters-choice { + case default-case { + container default { + description + "Default policy counters"; + presence "true"; + uses clear-cts-counters-ip-grouping; + } + } + case ipv4-case { + leaf ipv4 { + description + "Protocol Version - IPv4"; + type empty; + } + } + case ipv6-case { + leaf ipv6 { + description + "Protocol Version - IPv4"; + type empty; + } + } + case from-case { + container from { + description + "Source Group"; + uses clear-cts-source-destination-grouping; + } + container to { + description + "Destination Group"; + uses clear-cts-source-destination-grouping; + } + } + } + } + } + } + case server-case { + leaf server { + description + " Remove the specified authentication server"; + type inet:ipv4-address; + } + } + case sxp-case { + container sxp { + description + "Clear the SXP counters"; + leaf filter-counters { + type empty; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-switching-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-switching-deviation.yang new file mode 100644 index 000000000..04427d4ed --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts-switching-deviation.yang @@ -0,0 +1,45 @@ +module Cisco-IOS-XE-cts-switching-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cts-switching-deviation"; + prefix ios-cts-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-cts { + prefix ios-cts; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-07-01 { + description + "Added enforcement deviation for LISP interface"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-cts:cts/ios-cts:role-based/ios-cts:sgt-map" { + deviate not-supported; + description + "cts role-based sgt-map configurations are not supported for FortyGigabitEthernet interface."; + } + + deviation "/ios:native/ios:interface/ios:LISP/ios-cts:cts/ios-cts:role-based/ios-cts:enforcement-switching" { + deviate not-supported; + description + "cts role-based enforcement configurations are not supported for LISP interface."; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cts.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts.yang new file mode 100644 index 000000000..f9e0a97b7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cts.yang @@ -0,0 +1,2021 @@ +module Cisco-IOS-XE-cts { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cts"; + prefix ios-cts; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-acl { + prefix ios-acl; + } + import Cisco-IOS-XE-crypto { + prefix ios-crypto; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Cisco TrustSec (CTS) Yang model. + Copyright (c) 2017, 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- OBSOLETE the model which was deprecated before 17.6 release + - Deprecated VRF and added new VRF model under import-list + - Updated must constraints for the VRF under import-list + - Updated the module to accept valid SGT value for SGT-MAP with Vlan"; + cisco-semver:module-version "6.0.0"; + } + revision 2024-03-01 { + description + "- Adding model for cts role-based monitor permissions default ipv4."; + cisco-semver:module-version "5.4.0"; + } + revision 2023-11-01 { + description + "- Fixing model issue with FortyGigabitEthernet interface."; + cisco-semver:module-version "5.3.1"; + } + revision 2023-03-01 { + description + "- Removing max-element constraints for SGACL in order to allow more than + 8 ACLs as per IOS CLI"; + cisco-semver:module-version "5.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-11-01 { + description + "- Added fix for ordering of ACLs nvgen in role-based CLIs."; + cisco-semver:module-version "5.0.1"; + } + revision 2021-07-01 { + description + "- Added constraint for SXP Node ID + - Added model for VRF awareness for SXP + - Added fix for ordering of ACLs nvgen in role-based CLIs."; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Deprecate enforcement leaf. + - Deprecate sxp enable leaf, add new leaf sxp-def-enable boolean type. + - Add new leaf enforcement-switching for interface level enforcement deprecated model"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Deprecated current CTS-SXP-CONNECTION model and modelled as required.; + - All nodes of old CTS-SXP-CONNECTION model moved to 'obsolete' state."; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "-Added default value for 'propagate sgt' under 'cts manual'; + - Added constraints in role-based permissions to handle dependency"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Deprecated ipv4 leaf under policy-server-address. Added new + ipv4 and ipv6 leaf-list + - Deprecated sg-epg leaf under cts. Added new optional keyword + ignore-vrf as leaf"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Added policy-server configuration support"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for sgt group for virtual-template + - Added range for cts role-based sgt-map sgt + - Corrected cts role-based sgt-map behavior"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-03 { + description + "Added Description for cts role-based enforcement"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 100GE interface"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-06-29 { + description + "This revison fix the problem in cts roll-based enforcement"; + } + revision 2017-06-16 { + description + "Extension for model CTS role-based commands under interface"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-23 { + description + "NED extension- Trustsec Routing - interface cts options"; + } + revision 2017-03-07 { + description + "NED extension- Trustsec Routing - cts options"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef hex-string { + type string { + length "8" { + error-message "node-id length should be 8"; + } + pattern '([0-9A-F]*)'; + } + description + "A hexadecimal digits of length 4 bytes"; + } + + grouping cts-server-grouping { + leaf deadtime { + description + "Configure how long a server marked as dead should not be used"; + type uint32 { + range "0..864000"; + } + } + leaf enable { + description + "Enable server liveness automated test"; + type boolean; + } + leaf idle-time { + description + "Configure how often to send an automated test message"; + type uint32 { + range "0..14400"; + } + } + } + + grouping connection-vrf-grouping { + leaf vrf { + description + "(OBSOLETE) Name of the vrf this connection is in"; + status obsolete; + type string; + } + } + + grouping cts-sxp-connection-mode-both-grouping { + container both { + status obsolete; + description + "(OBSOLETE) Configure the mode as both"; + presence "true"; + uses connection-vrf-grouping; + } + } + + grouping cts-sxp-connection-holdtime-min-grouping { + container hold-time { + status obsolete; + description + "(OBSOLETE) Connection hold time period"; + leaf min-time { + status obsolete; + description + "(OBSOLETE) Enter minimum allowed Hold Time in seconds (0: apply global, 65535: no keepalive)"; + type uint16 { + range "0..65535"; + } + } + uses connection-vrf-grouping; + } + uses connection-vrf-grouping; + } + + grouping cts-sxp-connection-holdtime-min-max-grouping { + container hold-time { + status obsolete; + description + "(OBSOLETE) Connection hold time period"; + leaf min-time { + status obsolete; + description + "(OBSOLETE) Enter minimum allowed Hold Time in seconds (0: apply global, 65535: no keepalive)"; + type uint16 { + range "0..65535"; + } + } + leaf max-time { + status obsolete; + description + "(OBSOLETE) Enter maximum allowed Hold Time in seconds (0: apply global, 65535: no keepalive)"; + type uint16 { + range "0..65535"; + } + } + uses connection-vrf-grouping; + } + uses connection-vrf-grouping; + } + + grouping cts-sxp-connection-mode-local-grouping { + container local { + status obsolete; + description + "(OBSOLETE) Configure the mode on the local device"; + presence "true"; + uses cts-sxp-connection-mode-both-grouping; + container listener { + status obsolete; + description + "(OBSOLETE) Receive SXP messages on the conn"; + presence "true"; + uses cts-sxp-connection-holdtime-min-max-grouping; + } + container speaker { + status obsolete; + description + "(OBSOLETE) Send SXP messages on the conn"; + presence "true"; + uses cts-sxp-connection-holdtime-min-grouping; + } + } + } + + grouping cts-sxp-connection-mode-peer-grouping { + container peer { + status obsolete; + description + "(OBSOLETE) Configure the mode on the peer device"; + presence "true"; + uses cts-sxp-connection-mode-both-grouping; + container listener { + status obsolete; + description + "(OBSOLETE) Receive SXP messages on the conn"; + presence "true"; + uses cts-sxp-connection-holdtime-min-grouping; + } + container speaker { + status obsolete; + description + "(OBSOLETE) Send SXP messages on the conn"; + presence "true"; + uses cts-sxp-connection-holdtime-min-max-grouping; + } + } + } + + grouping cts-sxp-connection-peer-password-grouping { + list password { + status obsolete; + max-elements 1; + key "password-type"; + description + "(OBSOLETE) password details"; + leaf password-type { + status obsolete; + type enumeration { + enum default; + enum none; + enum key-chain; + } + } + container mode { + status obsolete; + description + "(OBSOLETE) Specify SXP connection mode"; + uses cts-sxp-connection-mode-local-grouping; + uses cts-sxp-connection-mode-peer-grouping; + } + } + } + + grouping config-cts-grouping { + container cache { + description + "CTS cache configuration"; + leaf enable { + description + "Enable CTS cache support"; + type empty; + } + container nv-storage { + description + "CTS nv-storage options"; + leaf nv-storage { + type enumeration { + enum bootflash:; + enum crashinfo:; + enum kinfo:; + enum slot0:; + enum usb0:; + } + } + } + } + leaf critical-authentication-conf { + type empty; + } + container critical-authentication { + description + "Critical-Auth configuration commands"; + presence "true"; + container default { + description + "Enter default value"; + container peer-sgt { + description + "Default Peer SGT value"; + list range { + key "range"; + leaf range { + description + "Enter default peer-sgt value"; + type uint16 { + range "2..65519"; + } + } + leaf trusted { + description + "Trust the Source Group Tags that peer uses for sending"; + type empty; + } + } + } + container pmk { + description + "Default PMK value to be used for all SAP"; + leaf type { + type enumeration { + enum 0; + enum 6; + } + } + leaf secret { + type string; + } + } + } + container fallback { + description + "Access policy to be applied in Critical-Auth"; + leaf Cached { + description + "Cached values to be used for existing sessions"; + type empty; + } + leaf default { + description + "Configured values to be applied for existing sessions"; + type empty; + } + } + } + container authorization { + description + "CTS global authorization configuration"; + leaf list { + description + "Local authorization list to use for CTS"; + type string { + length "1..64" { + error-message "list name length exceeds maximum allowed 64"; + } + } + } + } + leaf dot1x-server-timeout { + description + "Timeout for Radius Retries"; + type uint16 { + range "30..65535"; + } + } + leaf dot1x-supp-timeout { + description + "Timeout for supplicant reply"; + type uint16 { + range "30..65535"; + } + } + leaf logging { + description + "Set logging parameters"; + type enumeration { + enum verbose; + } + } + container environment-data { + description + "Download environment-data over HTTPS"; + leaf enable { + description + "Enable environment-data download"; + type empty; + } + } + container role-based { + description + "Role-based Access Control configuration commands"; + leaf sgt-caching { + description + "Enable SGT caching"; + type empty; + } + container permissions { + description + "Permissions from a source group to a destination group"; + container default { + description + "Default Permission list"; + leaf-list ACL-name-new { + description + "Role-based Access-list name"; + ordered-by user; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf-list ACL-name { + description + "(OBSOLETE) Role-based Access-list name"; + status obsolete; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf name { + status obsolete; + description + "(OBSOLETE) Role-based Access-list name"; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + container ipv6 { + description + "Protocol Version - IPv6"; + leaf-list ACL-name-new { + description + "Role-based Access-list name"; + ordered-by user; + must '/ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf-list ACL-name { + description + "(OBSOLETE) Role-based Access-list name"; + status obsolete; + must '/ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + } + } + container from { + description + "Source Group Tag (SGT) of filtered traffic"; + list range { + key "range"; + leaf range { + description + "Security Group Tag"; + type uint16 { + range "0..65519"; + } + } + container to { + description + "Destination Group Tag (DGT) of filtered traffic"; + list range { + key "range"; + leaf range { + description + "Security Group Tag"; + type uint16 { + range "0..65519"; + } + } + leaf-list ACL-name-new { + description + "Role-based Access-list name"; + ordered-by user; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf-list ACL-name { + description + "(OBSOLETE) Role-based Access-list name"; + status obsolete; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf name { + status obsolete; + must '/ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ip/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + container ipv6 { + description + "Protocol Version - IPv6"; + leaf-list ACL-name-new { + description + "Role-based Access-list name"; + ordered-by user; + must '/ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + leaf-list ACL-name { + description + "(OBSOLETE) Role-based Access-list name"; + status obsolete; + must '/ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()] and /ios:native/ios:ipv6/ios:access-list/ios-acl:role-based[ios-acl:name=current()]/ios-acl:access-list-seq-rule' { + error-message "Please define Role-based ACL first and make sure it is not empty"; + } + type string; + } + } + } + } + } + } + } + container enforcement-only { + leaf enforcement { + description + "Enable Role-based Access Control enforcement"; + type empty; + } + } + container enforcement { + description + "Enable Role-based Access Control enforcement"; + leaf logging-interval { + description + "Configure sgacl logging interval"; + type uint32 { + range "5..86400"; + } + } + leaf-list vlan-lists { + description + "VLANs on which Role-based ACLs are enforced"; + type uint16 { + range "1..4094"; + } + } + list vlan-list { + description + "VLANs on which Role-based ACLs are enforced"; + key "id"; + leaf id { + description + "VLAN id"; + type union { + type string; + type enumeration { + enum all; + } + } + } + } + } + container monitor { + description + "Role-based Access List Monitor Commands"; + leaf all { + description + "Monitoring permissions for all source group to all destination group"; + type empty; + } + container permissions { + description + "Monitoring permissions from a source group to a destination group"; + container default { + description + "Monitoring default permission list"; + leaf ipv4 { + description + "Protocol Version - IPv4"; + type empty; + } + } + } + } + list sgt-map-list { + description + "Assign Security Group Tag (SGT) to IP host or network address"; + key "ip"; + leaf ip { + description + "IPv4/IPv6 Host Address"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + leaf sgt { + description + "Security Group Tag (SGT)"; + type uint16 { + range "2..65519"; + } + } + leaf host { + description + "Host IP Address"; + type empty; + } + } + container sgt-map-vrf-list { + description + "Select VPN Routing/Forwarding instance for the binding"; + list sgt-map { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()/vrf] and ((/ios:native/ios:vrf/ios:definition[ios:name=current()/vrf]/ios:address-family/ios:ipv4) and (contains(current()/ip, '.'))) or + ((/ios:native/ios:vrf/ios:definition[ios:name=current()/vrf]/ios:address-family/ios:ipv6) and (contains(current()/ip, ':')))) or (/ios:native/ios:ip/ios:vrf[ios:name=current()/vrf] and (contains(current()/ip, '.')))" { + error-message "VRF must be created/deleted first with address-family IPv4/IPv6 corresponding to binding"; + } + key "vrf ip"; + leaf vrf { + description + "Select VPN Routing/Forwarding instance for the binding"; + type string; + } + leaf ip { + description + "IPv4/IPv6 Host Address"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + leaf sgt { + description + "Security Group Tag (SGT)"; + type uint16 { + range "2..65519"; + } + } + leaf host { + description + "Host IP Address"; + type empty; + } + } + } + list sgt-map { + status obsolete; + description + "(OBSOLETE) Assign Security Group Tag (SGT) to IP host or network address"; + key "ip sgt"; + leaf ip { + status obsolete; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + leaf sgt { + status obsolete; + description + "Security Group Tag (SGT)"; + type uint16; + } + leaf vrf { + status obsolete; + description + "Select VPN Routing/Forwarding instance for the binding"; + type string; + } + leaf host { + status obsolete; + type empty; + } + } + container sgt-map-vlan-list { + description + "VLANs on which Role-based ACLs are enforced"; + list sgt-map { + key "vlan-list"; + leaf vlan-list { + description + "VLANs id"; + type union { + type string; + type enumeration { + enum all; + } + } + } + leaf sgt { + description + "Security Group Tag value"; + type uint16 { + range "2..65521"; + } + } + } + } + } + container server { + description + "CTS server list configuration"; + leaf deadtime { + description + "Configure server group deadtime to specify how long a servermarked as dead should not be used"; + type uint32 { + range "0..864000"; + } + } + container key-wrap { + description + "CTS key-wrap configuration"; + leaf enable { + description + "Enable CTS key-wrap for Private server-list"; + type empty; + } + } + container load-balance { + description + "CTS Server group load-balancing options"; + container method { + description + "Method by which the next server will be picked"; + container least-outstanding { + description + "Pick the server with the least transactions outstanding"; + presence "true"; + leaf batch-size { + description + "Size of the transaction batch that should be load-balanced"; + type uint32 { + range "1..2147483647"; + } + } + leaf ignore-preferred-server { + description + "Do not attempt to stick with the same server throughout a session"; + type empty; + } + } + } + } + container test { + description + "Configure server automated test for liveness check"; + list server { + key "ip"; + leaf ip { + type inet:ipv4-address; + } + uses cts-server-grouping; + } + container all { + description + "Configure for all servers"; + uses cts-server-grouping; + } + } + } + leaf sgt { + description + "Local device security group"; + type uint16 { + range "2..65519"; + } + } + container sg-epg-translation { + description + "Security-Group and Endpoint-Group Configuration commands"; + container translation { + description + "Sets Security-Group to Endpoint-Group translation status"; + presence "true"; + leaf ignore-vrf { + if-feature "ios-features:sg-epg-ignore-vrf"; + description + "Disable vrf awareness"; + type empty; + } + } + } + leaf sg-epg { + status obsolete; + description + "(OBSOLETE) This node is deprecated and replaced by container sg-epg-translation"; + type enumeration { + enum translation; + } + } + container sxp { + description + "CTS sxp configuration"; + container reconciliation { + description + "Configure reconciliation period timer"; + leaf period { + description + "Enter reconciliation period value in seconds"; + type uint32 { + range "0..64000"; + } + default "120"; + } + } + container retry { + description + "configure retry period for sxp connection"; + leaf period { + description + "Enter retry period value for sxp connection in seconds"; + type uint32 { + range "0..64000"; + } + default "120"; + } + } + container speaker { + description + "Configure speaker hold-time"; + leaf hold-time { + description + "Enter speaker hold-time value in seconds"; + type uint32 { + range "1..65534"; + } + default "120"; + } + } + container node-id { + description + "Enter values for sxp node"; + choice nodeid { + description + "Enter any one of the three options for node-id"; + leaf hex-value { + type hex-string; + default "00000000"; + } + leaf ipv4 { + type inet:ipv4-address; + } + leaf interface { + description + "Interface Name"; + type string; + must "(/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]) and + (/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]/ios:ip/ios:address/ios:primary/ios:address)" { + error-message "Please configure an IPv4 address on the interface first."; + } + } + } + } + container listener { + description + "Configure min and max hold time for listener in seconds"; + container hold-time { + description + "Configure min and max hold time in seconds"; + leaf min-time { + description + "Enter minimum allowed Hold Time in seconds"; + type uint16 { + range "1..65534"; + } + default "90"; + } + leaf max-time { + description + "Enter maximum allowed Hold Time in seconds"; + must '. > ../min-time' { + error-message "Invalid minimum,maximum hold time parameters"; + } + type uint16 { + range "1..65534"; + } + default "180"; + } + } + } + container default { + description + "Enter default value"; + container password { + leaf type { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf secret { + type string { + length "1..162"; + } + } + } + leaf source-ip { + description + "Enter Source IPv4 Address"; + type inet:ipv4-address; + } + leaf key-chain { + description + "Enter Keychain"; + must '/ios:native/ios:key/ios-crypto:chain[ios-crypto:name=current()]' { + error-message "Invalid TCP key-chain name or key-chain doesn't exist"; + } + type string; + } + } + container connection { + description + "CTS SXP Connection Configuration"; + container peer { + description + "SXP Peer IP address"; + list ipv4-no-vrf { + key "ipv4"; + leaf ipv4 { + description + "Enter SXP Peer IP address (IPv4)"; + type inet:ipv4-address; + } + leaf source { + description + "Enter SXP Source IP address (IPv4)"; + type inet:ipv4-address; + } + leaf password { + description + "Password type"; + type enumeration { + enum default; + enum none; + enum key-chain; + } + } + leaf mode { + description + "Mode of connection"; + type enumeration { + enum local; + enum peer; + } + } + leaf option { + description + "Role of a device speaker/listener/both"; + type enumeration { + enum both; + enum listener; + enum speaker; + } + default "speaker"; + } + leaf hold-time { + description + "Minimum hold time period"; + when "../option = 'listener' or ../option = 'speaker'"; + type uint32 { + range "0..65535"; + } + default "0"; + } + leaf max-time { + description + "Maximum hold time period"; + when "(../mode = 'local' and ../option = 'listener') or (../mode = 'peer' and ../option = 'speaker')"; + must '(. > ../hold-time) or (. = 0 and ../hold-time = 0)' { + error-message "Max value must be greater than min value"; + } + type uint32 { + range "0..65535"; + } + default "0"; + } + } + list ipv4-with-vrf { + key "ipv4 vrf"; + leaf ipv4 { + description + "Enter SXP Peer IP address (IPv4)"; + type inet:ipv4-address; + } + leaf vrf { + description + "VRF details"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created first and deleted last"; + } + type string; + } + leaf source { + description + "Enter SXP Source IP address (IPv4)"; + type inet:ipv4-address; + } + leaf password { + description + "Password type"; + type enumeration { + enum default; + enum none; + enum key-chain; + } + } + leaf mode { + description + "Mode of connection"; + type enumeration { + enum local; + enum peer; + } + } + leaf option { + description + "Role of a device speaker/listener/both"; + type enumeration { + enum both; + enum listener; + enum speaker; + } + default "speaker"; + } + leaf hold-time { + description + "Minimum hold time period"; + when "../option = 'listener' or ../option = 'speaker'"; + type uint32 { + range "0..65535"; + } + default "0"; + } + leaf max-time { + description + "Maximum hold time period"; + when "(../mode = 'local' and ../option = 'listener') or (../mode = 'peer' and ../option = 'speaker')"; + must '(. > ../hold-time) or (. = 0 and ../hold-time = 0)' { + error-message "Max value must be greater than min value"; + } + type uint32 { + range "0..65535"; + } + default "0"; + } + } + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "(OBSOLETE) Enter SXP Peer IP address (IPv4)"; + type inet:ipv4-address; + } + container source { + status obsolete; + description + "(OBSOLETE) Source IP address"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "(OBSOLETE) Enter SXP Source IP address (IPv4)"; + type inet:ipv4-address; + } + uses cts-sxp-connection-peer-password-grouping; + } + } + uses cts-sxp-connection-peer-password-grouping; + } + } + } + leaf sxp-def-enable { + description + "Enable CTS SXP support"; + type boolean; + default "false"; + } + leaf enable { + status obsolete; + description + "(OBSOLETE) Enable CTS SXP support"; + type empty; + } + container log { + description + "SXP logging"; + leaf binding-changes { + description + "Log SXP binding changes"; + type boolean; + default "false"; + } + } + list export-list { + description + "List of VRFs whose bindings are exported to listener"; + key "name"; + leaf name { + description + "Export-list name"; + type string; + } + container vrf { + description + "VRF name whose bindings are be exported"; + leaf-list vrf-name { + description + "VPN Routing/Forwarding instance name"; + must 'not (../all)' { + error-message "Export-list is configured to export all VRF already"; + } + must "(current() = 'Default-vrf') or (/ios:native/ios:vrf/ios:definition[ios:name = current()])" { + error-message "VRF doesn't exist."; + } + type union { + type string; + type enumeration { + enum Default-vrf; + } + } + } + leaf all { + description + "export all VRF bindings"; + must 'not (../vrf-name)' { + error-message "Please remove specific VRF configuration before enabling all"; + } + type empty; + } + } + } + list import-list { + description + "List of VRFs where received SXP bindings are added"; + key "name"; + leaf name { + description + "Import-list name"; + type string; + } + leaf vlan-list { + description + "use VLAN received in binding to identify import VRF"; + must 'not (../vrf)' { + error-message "Please remove VRF configuration before enabling vlan"; + } + type empty; + } + container vrf-new { + presence "true"; + leaf vrf-name { + description + "VRF name to map the received bindings"; + must 'not (../../vlan-list)' { + error-message "Please remove vlan-list configuration before enabling VRF"; + } + must "(current() = 'Default-vrf') or (/ios:native/ios:vrf/ios:definition[ios:name = current()])" { + error-message " VRF must be created first"; + } + type union { + type string; + type enumeration { + enum Default-vrf; + } + } + } + } + leaf vrf { + description + "VRF name to map the received bindings"; + status deprecated; + must 'not (../vlan-list)' { + error-message "Please remove vlan-list configuration before enabling VRF"; + } + must "(current() = 'Default-vrf') or (/ios:native/ios:vrf/ios:definition[ios:name = current()])" { + error-message " VRF must be created first"; + } + type union { + type string; + type enumeration { + enum Default-vrf; + } + } + } + } + container export-import-group { + description + "CTS SXP export/import VRF group"; + container listener { + description + "CTS SXP listener import group"; + list import-group { + key "name"; + leaf name { + description + "Import VRF group name"; + must 'not(../../global)' { + error-message "Per peer export-import-group configuration and global export-import-group configuration cannot co-exist"; + } + type string; + } + leaf import-list { + description + "Import list to be applied"; + must '(../../../../import-list[name = current()])' { + error-message "import-list must be created first."; + } + must '((../../../../import-list[name = current()]/vrf-new) or (../../../../import-list[name = current()]/vlan-list))' { + error-message "Empty import-list is not allowed to attach"; + } + type string; + } + leaf-list peer { + description + "Peer IP to be applied"; + max-elements 8; + type inet:ipv4-address; + } + } + leaf global { + description + "CTS SXP Global Listener import group"; + must '../../../import-list[name = current()]' { + error-message "import-list must be created first"; + } + must '((../../../import-list[name = current()]/vrf-new) or (../../../import-list[name = current()]/vlan-list))' { + error-message "Empty import-list is not allowed to attach"; + } + type string; + } + } + container speaker { + description + "CTS SXP Speaker export group"; + list export-group { + key "name"; + leaf name { + description + "Export/Import VRF group name"; + must 'not(../../global)' { + error-message "Per peer export-import-group configuration and global export-import-group configuration cannot co-exist"; + } + type string; + } + leaf export-list { + description + "Export list to be applied"; + must '(../../../../export-list[name = current()])' { + error-message "export-list must be created first"; + } + must '((../../../../export-list[name = current()]/vrf/vrf-name) or (../../../../export-list[name = current()]/vrf/all))' { + error-message "Empty export-list is not allowed to attach"; + } + type string; + } + leaf-list peer { + description + "Peer IP to be applied"; + max-elements 8; + type inet:ipv4-address; + } + } + leaf global { + description + "CTS SXP Global Speaker export VRF group"; + must '../../../export-list[name = current()]' { + error-message "Export-list must be created first"; + } + must '((../../../export-list[name = current()]/vrf/vrf-name) or (../../../export-list[name = current()]/vrf/all))' { + error-message "Empty export-list is not allowed to attach"; + } + type string; + } + } + } + } + container credentials { + description + "Insert CTS device ID and password into the keystore"; + leaf id { + description + "Specify the TrustSec Network Access Device (NAD) identification name which should be same as mentioned in the Identity Services Engine (ISE)(upto 32 char)"; + type string { + length "1..32"; + } + } + leaf password { + description + "Set the password for the device."; + type empty; + } + leaf type { + description + "Specify the password encryption type"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf secret { + description + "Specify the password for the device"; + type string { + length "1..162"; + pattern '.*'; + } + } + } + container policy-server { + description + "CTS Http Server Configuration"; + list name { + description + "Configure name of the server, max string length 225 char"; + key "server-profile-name"; + leaf server-profile-name { + description + "Specify a profile name"; + type string { + length "1..225"; + } + } + container address { + description + "Policy server address"; + leaf-list ipv4-address { + description + "IPv4 Address of policy server"; + max-elements 8; + type inet:host; + } + leaf ipv4 { + status obsolete; + description + "(OBSOLETE) IPv4 Address (DEPRECATED, use ipv4-entry)"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf-list ipv6 { + description + "IPv6 Address of policy server"; + max-elements 8; + type inet:host; + } + leaf domain-name { + description + "A fully qualified URL, max string length 128 char"; + type string { + length "1..128"; + } + } + } + container content-type { + description + "Application content type"; + leaf json { + description + "data format in REST API"; + type empty; + } + } + leaf port { + description + "Policy server port number"; + type uint16 { + range "1025..65535"; + } + } + leaf retransmit { + description + "Maximum number of retries to server"; + type uint8 { + range "0..5"; + } + } + leaf timeout { + description + "Time to wait for response"; + type uint8 { + range "1..60"; + } + } + container tls { + description + "TLS parameters"; + leaf server-trustpoint { + description + "Server trustpoint, max string length 128 char"; + type string { + length "1..128"; + } + } + } + } + container device-id { + description + "Device id parameter"; + leaf device-name { + description + "Name of the device used on ISE"; + type string; + } + } + container order { + description + "Order of server selection"; + leaf random { + description + "Pick a server in random order"; + type empty; + } + } + container server-credential { + description + "Credentials to access the REST API"; + leaf username { + description + "Specify the username for the user"; + type string; + } + leaf password { + description + "Set the password for the user"; + type empty; + } + leaf encryption { + description + "Specify the password encryption type"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf password-string { + type string { + pattern '.*'; + } + } + } + } + } + + grouping interface-cts-manual-grouping-deprecated { + container manual { + status obsolete; + description + "(OBSOLETE) Supply local configuration for CTS parameters"; + presence "true"; + container policy { + status obsolete; + description + "(OBSOLETE) CTS policy for manual mode"; + container static { + status obsolete; + description + "(OBSOLETE) Configure policy to be applied on the link"; + leaf sgt { + status obsolete; + description + "(OBSOLETE) Source Security Group Tag to apply to untagged or non-trusted + incoming traffic"; + type uint16 { + range "2..65519"; + } + } + leaf trusted { + status obsolete; + description + "(OBSOLETE) Trust the Source Group Tags (SGT) that the peer uses for + sending"; + must "(../../../propagate/sgt = 'true')" { + error-message + "CTS Link in Manual mode with 'no propagate sgt' + configured cannot be made trusted"; + } + type empty; + } + } + } + container sap { + status obsolete; + description + "(OBSOLETE) CTS SAP configuration for manual mode"; + list pmk { + status obsolete; + description + "(OBSOLETE) Pre-Master Key (PMK) to use for CTS SAP"; + key "word"; + leaf word { + type string; + } + container mode-list { + status obsolete; + description + "(OBSOLETE) List of advertised modes (prioritized from highest to lowest)"; + container gcm-encrypt { + status obsolete; + description + "(OBSOLETE) GCM authentication, GCM encryption"; + presence "true"; + container gmac { + status obsolete; + description + "(OBSOLETE) GCM authentication, no encryption"; + presence "true"; + leaf null { + status obsolete; + description + "(OBSOLETE) Encapsulation present, no authentication, + no encryption"; + type empty; + } + } + } + container no-encap { + status obsolete; + description + "(OBSOLETE) No encapsulation"; + presence "true"; + container gmac { + status obsolete; + description + "(OBSOLETE) GCM authentication, no encryption"; + presence "true"; + leaf gcm-encrypt { + status obsolete; + description + "(OBSOLETE) GCM authentication, GCM encryption"; + type empty; + } + } + } + } + } + } + container propagate { + status obsolete; + description + "(OBSOLETE) CTS SGT Propagation configuration for manual mode"; + leaf sgt { + status obsolete; + description + "(OBSOLETE) CTS SGT Propagation configuration"; + type boolean; + default "true"; + } + } + } + } + + grouping interface-cts-manual-grouping { + container manual { + description + "Supply local configuration for CTS parameters"; + presence "true"; + container policy { + description + "CTS policy for manual mode"; + container static { + description + "Configure policy to be applied on the link"; + leaf sgt { + description + "Source Security Group Tag to apply to untagged or non-trusted + incoming traffic"; + type uint16 { + range "2..65519"; + } + } + leaf trusted { + description + "Trust the Source Group Tags (SGT) that the peer uses for + sending"; + must "(../../../propagate/sgt = 'true')" { + error-message + "CTS Link in Manual mode with 'no propagate sgt' + configured cannot be made trusted"; + } + type empty; + } + } + } + container sap { + description + "CTS SAP configuration for manual mode"; + list pmk { + description + "Pre-Master Key (PMK) to use for CTS SAP"; + key "word"; + leaf word { + type string; + } + container mode-list { + description + "List of advertised modes (prioritized from highest to lowest)"; + container gcm-encrypt { + description + "GCM authentication, GCM encryption"; + presence "true"; + container gmac { + description + "GCM authentication, no encryption"; + presence "true"; + leaf null { + description + "Encapsulation present, no authentication, + no encryption"; + type empty; + } + } + } + container no-encap { + description + "No encapsulation"; + presence "true"; + container gmac { + description + "GCM authentication, no encryption"; + presence "true"; + leaf gcm-encrypt { + description + "GCM authentication, GCM encryption"; + type empty; + } + } + } + } + } + } + container propagate { + description + "CTS SGT Propagation configuration for manual mode"; + leaf sgt { + description + "CTS SGT Propagation configuration"; + type boolean; + default "true"; + } + } + } + } + + grouping interface-cts-role-based-grouping-deprecated { + container role-based { + status obsolete; + description + "(OBSOLETE) Role-based Access Control per-port config commands"; + leaf-list sgt-cache { + status obsolete; + description + "(OBSOLETE) Enable SGT caching on the interface"; + type enumeration { + enum egress; + enum ingress; + } + } + leaf enforcement-routing { + status obsolete; + description + "(OBSOLETE) Enable Role-based Access Control enforcement"; + must "not(/ios:native/ios:cts/ios-cts:role-based/ios-cts:enforcement-only/ios-cts:enforcement and current() = 'true')" { + error-message "Note that role-based enforcement is already active on this interfacedue to global enforcement enable."; + } + must "not(../../../ios:vrf/ios:forwarding and (../../../ios:vrf/ios:forwarding='Mgmt-intf'or ../../../ios:vrf/ios:forwarding='Mgmt-vrf'))"; + if-feature "ios-features:enforcement-routing-platform"; + type boolean; + } + leaf enforcement-switching { + status obsolete; + if-feature "ios-features:cts-switching"; + description + "(OBSOLETE) Enable Role-based Access Control enforcement"; + type boolean; + default "true"; + } + leaf enforcement { + status obsolete; + description + "(OBSOLETE) Enable Role-based Access Control enforcement"; + type empty; + } + container sgt-map { + status obsolete; + description + "(OBSOLETE) Assign Security Group Tag (SGT) to IP host or network address"; + leaf security-group { + status obsolete; + description + "(OBSOLETE) Security Group Name"; + type string; + } + leaf sgt { + status obsolete; + description + "(OBSOLETE) Security Group Tag (SGT)"; + type uint16 { + range "2..65519"; + } + } + } + } + } + + grouping interface-cts-role-based-grouping { + container role-based { + description + "Role-based Access Control per-port config commands"; + leaf-list sgt-cache { + description + "Enable SGT caching on the interface"; + type enumeration { + enum egress; + enum ingress; + } + } + leaf enforcement-routing { + description + "Enable Role-based Access Control enforcement"; + must "not(/ios:native/ios:cts/ios-cts:role-based/ios-cts:enforcement-only/ios-cts:enforcement and current() = 'true')" { + error-message "Note that role-based enforcement is already active on this interfacedue to global enforcement enable."; + } + must "not(../../../ios:vrf/ios:forwarding and (../../../ios:vrf/ios:forwarding='Mgmt-intf'or ../../../ios:vrf/ios:forwarding='Mgmt-vrf'))"; + if-feature "ios-features:enforcement-routing-platform"; + type boolean; + } + leaf enforcement-switching { + if-feature "ios-features:cts-switching"; + description + "Enable Role-based Access Control enforcement"; + type boolean; + default "true"; + } + leaf enforcement { + status obsolete; + description + "(OBSOLETE) Enable Role-based Access Control enforcement"; + type empty; + } + container sgt-map { + description + "Assign Security Group Tag (SGT) to IP host or network address"; + leaf security-group { + description + "Security Group Name"; + type string; + } + leaf sgt { + description + "Security Group Tag (SGT)"; + type uint16 { + range "2..65519"; + } + } + } + } + } + + grouping interface-cts-role-based-enforcement-grouping { + container role-based { + description + "Role-based Access Control per-port config commands"; + leaf enforcement { + description + "Enable Role-based Access Control enforcement"; + type empty; + } + } + } + + grouping interface-cts-sgt-grouping { + leaf sgt { + description + "SGT command options"; + type enumeration { + enum inline; + } + } + } + + grouping config-interface-cts-manual-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping; + } + } + + grouping config-interface-cts-manual-role-based-enforcement-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping; + uses interface-cts-role-based-grouping; + } + } + + grouping config-interface-cts-manual-role-based-grouping-deprecated { + container cts { + status obsolete; + description + "(OBSOLETE) Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping-deprecated { + status obsolete; + } + uses interface-cts-role-based-grouping-deprecated { + status obsolete; + } + } + } + + grouping config-interface-cts-manual-role-based-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping; + uses interface-cts-role-based-grouping; + } + } + + grouping config-interface-cts-manual-sgt-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping; + uses interface-cts-sgt-grouping; + } + } + + grouping config-interface-cts-manual-role-based-sgt-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-manual-grouping { + if-feature "ios-features:cts-controller"; + } + uses interface-cts-role-based-grouping; + uses interface-cts-sgt-grouping { + if-feature "ios-features:cts-autonomous"; + } + } + } + + grouping config-interface-cts-role-based-grouping { + container cts { + description + "Configure Cisco Trusted Security"; + uses interface-cts-role-based-grouping; + } + } + + augment "/ios:native/ios:cts" { + uses config-cts-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-cts-manual-role-based-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-cts-manual-role-based-enforcement-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-cts-manual-role-based-enforcement-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + status obsolete; + uses config-interface-cts-manual-role-based-grouping-deprecated { + if-feature "ios-features:cts-intf-enable"; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-cts-manual-role-based-sgt-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-cts-manual-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-cts-manual-sgt-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-cts-manual-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-cts-manual-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-cts-role-based-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cwan-fw-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cwan-fw-rpc.yang new file mode 100644 index 000000000..3d4b62511 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cwan-fw-rpc.yang @@ -0,0 +1,167 @@ +module Cisco-IOS-XE-cwan-fw-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cwan-fw-rpc"; + prefix ios-xe-cwan-fw-rpc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping trigger-upgrade { + description + "This module defines the actions that can be. + performed on the cellular modem for firmware upgrade."; + leaf fw-tid { + type string { + length "1..255"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "The firmware transaction identifier is used to uniquely identify + the modem firmware upgrade action invoked via RPC."; + } + leaf src-path { + type string { + length "1..4095"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "Source path: + for download to device: scp://user:password@ipv4 address:/path/to/file + or https://ipv4 address/path/to/file + or http://ipv4 address/path/to/file + or ftp://user:password@ipv4 address:/path/to/file"; + } + leaf uname { + type string { + length "1..63"; + } + description + "Username to be used for remote device"; + } + leaf passwd { + type string { + length "1..63"; + } + description + "Password to be used for remote device"; + } + leaf vpn { + type string { + length "0..32"; + } + description + "VPN name instance to reach remote device."; + } + leaf dnld-timeout { + type uint32; + units "minutes"; + description + "Timeout period guarding modem firmware upgrade operation. + If operation not completed, download will be aborted after this time."; + } + leaf schd-start { + type yang:date-and-time; + must 'current() and (../schd-end)' { + error-message "Scheduled start time must be specified along with scheduled end time."; + error-app-tag "must-violation"; + } + description + "Scheduled modem firmware upgrade start time"; + } + leaf schd-end { + type yang:date-and-time; + description + "Scheduled modem firmware upgrade end time and end time has to be minimum 10 min in future."; + } + } + + grouping trigger-upgrade-response { + description + "Response to cellular modem firmware action command"; + leaf fw-tid { + type string; + description + "The firmware transaction identifier is used to uniquely identify + the modem firmware upgrade action invoked via RPC."; + } + } + + grouping cancel-upgrade { + description + "This module defines the actions that will cancel the + scheduled modem firmware upgrade."; + leaf fw-tid { + type string { + length "1..255"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "The firmware transaction identifier is used to uniquely identify + the cancel scheduled modem firmware upgrade action invoked via RPC."; + } + } + + grouping cancel-upgrade-response { + description + "Response to cancel scheduled cellular modem firmware action command"; + leaf fw-tid { + type string; + description + "The firmware transaction identifier is used to uniquely identify + the cancel scheduled modem firmware upgrade action invoked via RPC."; + } + } + + rpc trigger-upgrade { + description + "Cellular modem firmware action command"; + input { + uses ios-xe-cwan-fw-rpc:trigger-upgrade; + } + output { + uses ios-xe-cwan-fw-rpc:trigger-upgrade-response; + } + } + + rpc cancel-upgrade { + description + "Cancel scheduled cellular modem firmware action command"; + input { + uses ios-xe-cwan-fw-rpc:cancel-upgrade; + } + output { + uses ios-xe-cwan-fw-rpc:cancel-upgrade-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-cwmp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-cwmp.yang new file mode 100644 index 000000000..afef51b31 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-cwmp.yang @@ -0,0 +1,178 @@ +module Cisco-IOS-XE-cwmp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-cwmp"; + prefix ios-cwmp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Customer Premise Equipment + Wide Area Network Management Protocol Yang model. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-cwmp-grouping { + container agent { + description + "Agent configuration for + Customer Wide Area Network Management Protocol"; + container enable { + leaf download { + description + "Download option"; + type empty; + } + } + container request { + description + "Limit of number of outstanding requests"; + leaf outstanding { + description + "Number of outstanding requests"; + type uint8 { + range "1..10"; + } + default "5"; + } + } + container parameter { + description + "Notification parameter properties"; + container change { + description + "Notification parameter interval"; + container notify { + description + "Parameter change notification"; + leaf interval { + description + "Notification interval in seconds"; + type uint16 { + range "15..300"; + } + default "60"; + } + } + } + } + container session { + description + "Session retry queue size"; + container retry { + description + "Number of session retries"; + leaf limit { + description + "Number of session retries"; + type uint8 { + range "10..15"; + } + default "11"; + } + } + } + container provision { + description + "Provision code"; + leaf code { + description + "Provision code string"; + type string; + } + } + container connection { + description + "Connection request username/password to authenticate + ACS server"; + container request { + description + "Connection request parameters"; + leaf username { + description + "Connection request username to authenticate ACS server"; + type string; + } + container password { + description + "Connection request password to authenticate ACS server"; + leaf encryption { + description + "Password encryption type"; + type enumeration { + enum 0; + enum 7; + } + } + leaf password-string { + description + "Connection request password string"; + type string; + } + } + } + } + container management { + description + "Parameters for username/password/url"; + container server { + description + "Server information"; + leaf username { + description + "Server username to authenticate ACS server"; + type string; + } + container password { + description + "Server password to authenticate ACS server"; + leaf encryption { + description + "Choose encryption type"; + type enumeration { + enum 0; + enum 7; + } + } + leaf password-string { + description + "ACS server password string"; + type string; + } + } + leaf url { + description + "ACS server through URL string"; + type string; + } + } + } + } + } + + augment "/ios:native/ios:cwmp" { + uses config-cwmp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dapr.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dapr.yang new file mode 100644 index 000000000..d1e39d0b3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dapr.yang @@ -0,0 +1,335 @@ +module Cisco-IOS-XE-dapr { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dapr"; + prefix ios-dapr; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Dynamic Application Policy Routing(DAPR) Yang model. + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-20 { + description + "Limit dapr instance to 1, Removed border-router vrf option, + Kept restrictions on values, Moved shutdown leaf to last, + Kept ingress and egress in choice"; + } + revision 2018-09-24 { + description + "Initial revision"; + } + + grouping config-dapr-password-grouping { + container password { + description + "Specify the password (Max 25 characters)"; + choice auth-key { + case uncpwd { + leaf unc-pwd { + description + "The UNENCRYPTED (cleartext) user password"; + type string { + length "1..25"; + } + } + } + case key0 { + leaf key-0 { + description + "Specifies an UNENCRYPTED password will follow"; + type string { + length "1..25"; + } + } + } + case key4 { + leaf key-4 { + description + "Specifies an SHA256 HASHED password will follow"; + type string; + } + } + } + } + } + + grouping config-dapr-border-router-grouping { + container authentication { + description + "Authentication parameters"; + uses config-dapr-password-grouping; + } + container route-manager { + description + "Route manager address"; + leaf ipv4 { + description + "IP address"; + type inet:ipv4-address; + } + } + container source-interface { + description + "Border router address source"; + leaf Loopback { + description + "Loopback interface"; + type uint32; + } + } + leaf shutdown { + description + "Disable border router instance"; + type empty; + } + } + + grouping config-dapr-grouping { + list dapr { + description + "Dynamic Application Policy Routing(DAPR) configuration"; + key "name"; + max-elements 1; + leaf name { + description + "Instance name"; + type string { + length "1..20"; + } + } + container border-router { + description + "DAPR border router (BR) configuration"; + presence "true"; + uses config-dapr-border-router-grouping; + } + container route-manager { + description + "DAPR route manager (RM) configuration"; + presence "true"; + container authentication { + description + "Authentication parameters"; + uses config-dapr-password-grouping; + } + container border-routers { + description + "Authorized border routers"; + list br-ip { + description + "Border-routers address"; + key "ipv4"; + max-elements 20; + leaf ipv4 { + description + "Border router address"; + type inet:ipv4-address; + } + } + } + list class { + description + "Application class parameters"; + key "name"; + unique "seq"; + leaf name { + description + "Application class name"; + type string { + length "1..64"; + } + } + leaf seq { + description + "Application class processing sequence"; + type uint16 { + range "1..255"; + } + } + container match { + description + "Match criteria"; + leaf access-list { + description + "IP Named Extended Access list name"; + type string { + length "1..64"; + } + } + } + container path-preference { + description + "Specify path preference"; + presence "true"; + list path-pref-list { + description + "List of path preferences"; + key "seq"; + max-elements 3; + leaf seq { + description + "Path preference sequence number"; + type uint16 { + range "1..255"; + } + } + leaf lg-name { + description + "Link Group Name"; + type string { + length "1..50"; + } + } + } + } + } + container link-thresholds { + description + "BR egress link thresholds"; + leaf max-utilization { + description + "Maximum % utilization"; + default "50"; + type uint8 { + range "1..100"; + } + } + leaf min-bandwidth { + description + "Minimum bandwidth (kbps) for viability"; + default "500"; + type uint32 { + range "1..10000000"; + } + } + } + container source-interface { + description + "Route manager address source"; + leaf Loopback { + description + "Loopback interface"; + type uint32; + } + } + leaf shutdown { + description + "Disable route manager instance"; + type empty; + } + } + } + } + + grouping config-interface-dapr-grouping { + container dapr { + choice mode { + container ingress { + description + "DAPR ingress interface"; + presence "true"; + } + container egress { + description + "DAPR egress interface"; + presence "true"; + leaf link-group { + description + "Specify link group name (max 50 characters)"; + type string { + length "1..50"; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-dapr-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-dapr-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dca-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dca-events.yang new file mode 100644 index 000000000..4c997964a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dca-events.yang @@ -0,0 +1,123 @@ +module Cisco-IOS-XE-dca-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dca-events"; + prefix dca-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for platform dynamic core allocation change events. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dca-change-type { + type enumeration { + enum dca-service-plane-heavy { + value 0; + description + "DCA change to service plane heavy"; + } + enum dca-data-plane-heavy { + value 1; + description + "DCA change to data plane heavy"; + } + } + description + "Platform resource DCA change type"; + } + + typedef dca-change-result-type { + type enumeration { + enum dca-change-start { + value 0; + description + "Platform resource DCA change start"; + } + enum dca-change-complete { + value 1; + description + "Platform resource DCA change complete"; + } + enum dca-change-failure { + value 2; + description + "Platform resource DCA failed"; + } + } + description + "Platform resource DCA change result"; + } + + grouping dca-change { + description + "Platform resource DCA change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Event severity"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP"; + } + leaf dca-change-type { + type dca-ios-xe-events:dca-change-type; + description + "DCA change type"; + } + leaf result { + type dca-ios-xe-events:dca-change-result-type; + description + "DCA change result"; + } + } + + notification dca-change-event { + description + "DCA change notification"; + uses dca-ios-xe-events:dca-change; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-device-hardware-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-hardware-oper.yang new file mode 100644 index 000000000..852a532b6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-hardware-oper.yang @@ -0,0 +1,952 @@ +module Cisco-IOS-XE-device-hardware-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-device-hardware-oper"; + prefix device-hardware-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Device Hardware operational data. + Copyright (c) 2017-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Expanded reload history details to include FRU identity, HA role, SW version and crash file location. + - Expanded entity information details to include list of ROMMON environment variables + - Added an additional module status: + This status represents module creation and its initial states, + as well as any mismatches in version and features"; + reference + "1.10.0"; + cisco-semver:module-version "1.10.0"; + } + revision 2023-11-01 { + description + "- Added MAC address of the device: + It represents MAC address of active module or chassis"; + reference + "1.9.0"; + cisco-semver:module-version "1.9.0"; + } + revision 2023-03-01 { + description + "- Added reload history support: + The feature maintains a history of reload reasons. + Platforms supporting this feature will be able to + access the history upto last 10 reloads. Each reload + shall have category, severity, timestamp along with + description"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added additional module status enumerations"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2021-03-01 { + description + "- Added hardware type SSD + - Added 'lifetime' information for hardware type SSD"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2020-11-01 { + description + "- Added BP FRU type + - Added a changed configuration leaf"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-07-01 { + description + "- Added device-system-data type 'reboot-reason-type'. + - Added FC FRU type"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-11-01 { + description + "Update copyright"; + reference + "1.3.1"; + cisco-semver:module-version "1.3.1"; + } + revision 2019-03-28 { + description + "- Added device alarm type 'Info'. + - Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "- Added extensions to device inventory + - Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-06-18 { + description + "Add entity information"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef b-fru { + type enumeration { + enum device-hardware-fru-rp { + value 0; + description + "A Route Processor"; + } + enum device-hardware-fru-esp { + value 1; + description + "An Embedded Services Processor"; + } + enum device-hardware-fru-cp { + value 2; + description + "A Carrier Card"; + } + enum device-hardware-fru-max { + value 3; + description + "An illegal value for FRU type"; + } + enum device-hardware-fru-fc { + value 4; + description + "A Fabric Card"; + } + enum device-hardware-fru-bp { + value 5; + description + "A Bootstrap Plane"; + } + } + description + "The Field Replaceable Unit type"; + } + + typedef high-availability-role { + type enumeration { + enum ha-role-active { + value 0; + description + "The role is Active "; + } + enum ha-role-standby { + value 1; + description + "The role is Standby"; + } + enum ha-role-unknown { + value 2; + description + "The role is unknown"; + } + } + description + "The High Availability role"; + } + + typedef reboot-reason-type { + type enumeration { + enum normal { + value 0; + description + "System reboot reason is determined to be + normal and intentional"; + } + enum abnormal { + value 1; + description + "System reboot reason is determined to be + abnormal or unintentional"; + } + } + description + "Reboot-reason normality classification type"; + } + + typedef hw-type { + type enumeration { + enum hw-type-unknown { + value 0; + description + "Unknown Hardware Type"; + } + enum hw-type-chassis { + value 1; + description + "Chassis"; + } + enum hw-type-cpu { + value 2; + description + "Central Processing Unit"; + } + enum hw-type-dram { + value 3; + description + "Dynamic Random Access Memory"; + } + enum hw-type-flash { + value 4; + description + "Flash"; + } + enum hw-type-emmc { + value 5; + description + "embedded Memory Controller"; + } + enum hw-type-sdcard { + value 6; + description + "SD-Card"; + } + enum hw-type-usb { + value 7; + description + "Universal Serial Bus"; + } + enum hw-type-pim { + value 8; + description + "Pluggable interface model"; + } + enum hw-type-transceiver { + value 9; + description + "Transceiver"; + } + enum hw-type-fantray { + value 10; + description + "Fan tray"; + } + enum hw-type-pem { + value 11; + description + "Power Entry Module"; + } + enum hw-type-ssd { + value 12; + description + "SSD Memory"; + } + } + description + "The broad type of hardware device"; + } + + typedef alarm-severity { + type enumeration { + enum alarm-severity-critical { + value 0; + description + "Critical Alarms"; + } + enum alarm-severity-major { + value 1; + description + "Major Alarms"; + } + enum alarm-severity-minor { + value 2; + description + "Minor Alarms"; + } + enum alarm-severity-info { + value 3; + description + "INFO Alarms"; + } + } + description + "Alarm severity"; + } + + typedef hw-category { + type enumeration { + enum hw-class-virtual { + value 0; + description + "Internal Virtual Device"; + } + enum hw-class-physical { + value 1; + description + "Physical HW Device"; + } + } + description + "Device Category"; + } + + typedef reload-category { + type enumeration { + enum rc-unknown { + value 0; + description + "Unknown reload category"; + } + enum rc-smu-install { + value 1; + description + "Reload after SMU installation"; + } + enum rc-sp-install { + value 2; + description + "Reload after Sub Package installation"; + } + enum rc-smu-issu { + value 3; + description + "Reload for in-service cold SMU + installation to take effect"; + } + enum rc-sp-issu { + value 4; + description + "Reload for in-service Sub Package + installation to take effect"; + } + enum rc-img-install { + value 5; + description + "Reload after Image installation"; + } + enum rc-img-issu { + value 6; + description + "Reload for in-service + image installation to take effect"; + } + enum rc-img-install-fsu { + value 7; + description + "Reload after extended Fast Software + Upgrade that keeps dataplane functional"; + } + enum rc-install-rb { + value 8; + description + "Reload for SMU rollback to take effect"; + } + enum rc-sp-install-rb { + value 9; + description + "Reload for Sub package + rollback to take effect"; + } + enum rc-img-install-rb { + value 10; + description + "Reload for image rollback + to take effect"; + } + enum rc-smu-install-abort { + value 11; + description + "Reload due to aborting of + SMU installation"; + } + enum rc-img-install-abort { + value 12; + description + "Reload due to aborting of + image installation"; + } + enum rc-sp-install-abort { + value 13; + description + "Reload due to aborting of + Sub Package installation"; + } + enum rc-rld-fast { + value 14; + description + "Reload after a reload fast trigger, + after a reduced downtime"; + } + enum rc-rld-pause { + value 15; + description + "Reload after a pause as requested + by the user"; + } + enum rc-rld { + value 16; + description + "Reload after a normal reload trigger"; + } + enum rc-force-switchover { + value 17; + description + "Reload after a forced switchover"; + } + enum rc-factory-reset { + value 18; + description + "Reload after factory reset"; + } + enum rc-bootrom-upg { + value 19; + description + "Reload after boot ROM upgrade"; + } + enum rc-bootrom-upg-fail { + value 20; + description + "Reload after boot ROM upgrade failed"; + } + enum rc-resource-unavailable { + value 21; + description + "Reload due to non availability + of a critical resource"; + } + enum rc-crit-proc-fault { + value 22; + description + "Reload due to a critical process failure"; + } + enum rc-other { + value 23; + description + "Unclassified reload category"; + } + } + description + "Reload category"; + } + + typedef module-status { + type enumeration { + enum module-status-invalid { + value 0; + description + "An invalid value for module status"; + } + enum module-status-unknown { + value 1; + description + "An unknown value for module status"; + } + enum module-status-booting { + value 2; + description + "The module is currently booting"; + } + enum module-status-online { + value 3; + description + "The module is online and operational"; + } + enum module-status-disabled { + value 4; + description + "The module is disabled"; + } + enum module-status-failed { + value 5; + description + "The module has failed"; + } + enum module-status-removed { + value 6; + description + "The module has been removed"; + } + enum module-status-stopped { + value 7; + description + "The module is stopped."; + } + enum module-status-incompatible { + value 8; + description + "The module hardware version is incompatible + with the current software version"; + } + enum module-status-cpld-failed { + value 9; + description + "A Complex Programmable Logic Device (CPLD) + has failed. The module will not be usable"; + } + enum module-status-actrpcpldfailed { + value 10; + description + "A Complex Programmable Logic Device (CPLD) + has failed on the active RP. The module will + not be usable"; + } + enum module-status-mdr { + value 11; + description + "The module is currently undergoing a Minimal + Disruptive Restart"; + } + enum module-status-pwr-denied { + value 12; + description + "Module status is power denied"; + } + enum module-status-pwr-down { + value 13; + description + "Module status is power down"; + } + enum module-status-auto-lc-shutdown { + value 14; + description + "Module status is auto linecard shutdown"; + } + enum module-status-waiting { + value 15; + description + "The module is currently waiting"; + } + enum module-status-init { + value 16; + description + "Module is initializing"; + } + enum module-status-version-mismatch { + value 17; + description + "Module software version is mismatch with the + current active module software version"; + } + enum module-status-feature-mismatch { + value 18; + description + "Module feature version is mismatch with the + current active module feature version"; + } + enum module-status-created { + value 19; + description + "The module is created"; + } + } + description + "The status that the module is in"; + } + + grouping svc-loc { + description + "Service Location details"; + leaf fru { + type device-hardware-xe-oper:b-fru; + description + "Field Replaceable Unit type"; + } + leaf slotnum { + type int16; + description + "Slot number"; + } + leaf baynum { + type int16; + description + "Bay number"; + } + leaf chassisnum { + type int16; + description + "Chassis number"; + } + } + + grouping hw-alarm-key { + description + "The key to the hardware table"; + leaf alarm-id { + type uint32; + description + "The Alarm Identifier"; + } + leaf alarm-instance { + type uint32; + description + "The instance of this alarm. This corresponds to the + entity index"; + } + } + + grouping hw-alarm { + description + "The alarm information"; + leaf alarm-name { + type string; + description + "The name of the alarm"; + } + leaf alarm-category { + type device-hardware-xe-oper:alarm-severity; + description + "The category (or severity) of the alarm that is being asserted"; + } + leaf alarm-time { + type yang:date-and-time; + description + "Time the alarm was raised"; + } + leaf alarm-description { + type string; + description + "Description of the alarm"; + } + } + + grouping reload-history-element { + description + "Reload history element gives information + about one occurrence of a reload"; + leaf reload-category { + type device-hardware-xe-oper:reload-category; + description + "Reload category of reload reason"; + } + leaf reload-desc { + type string; + description + "Reload description"; + } + leaf reload-time { + type yang:date-and-time; + description + "Time at when reload happened"; + } + leaf reload-severity { + type device-hardware-xe-oper:reboot-reason-type; + description + "Indicates if reload is normal or abnormal"; + } + leaf sw-ver { + type string; + description + "Software version running at the time of the reload"; + } + leaf ha-role { + type device-hardware-xe-oper:high-availability-role; + description + "High availability role of the reloaded FRU"; + } + leaf crash-data-file { + type string; + description + "Full path to the crash data file generated during system crash"; + } + } + + grouping reload-history-list { + description + "Reload history list"; + list rl-history { + max-elements 10; + description + "Reload history, each element contains + reload related information of one occurrence"; + uses device-hardware-xe-oper:reload-history-element; + } + leaf fru-type { + type device-hardware-xe-oper:b-fru; + description + "FRU type of the device that experienced reload"; + } + leaf fru-id { + type int16; + description + "FRU identification of the device that experienced reload"; + } + } + + grouping device-system-data { + description + "Device system data"; + leaf current-time { + type yang:date-and-time; + description + "Current time on device in UTC"; + } + leaf boot-time { + type yang:date-and-time; + description + "This timestamp indicates the time that the system was last + restarted. The value is the timestamp in seconds relative + to the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; + } + leaf software-version { + type string; + description + "Software version"; + } + leaf rommon-version { + type string; + description + "Rommon version"; + } + leaf last-reboot-reason { + type string; + description + "Last reboot reason"; + } + leaf reason-severity { + type device-hardware-xe-oper:reboot-reason-type; + description + "Reboot reason severity, + either normal, i.e. intentional; + or abnormal, i.e., unintentional"; + } + leaf unsaved-config { + type boolean; + description + "Indicate whether the device configuration has changed, + but has not been saved to non volatile RAM. This leaf + mirrors the state used when IOS asks the user about + config that has changed upon issuing a reload. As such, + it might indicate that the configuration is dirty, when + there are no actual changes."; + } + leaf reload-history-support { + type empty; + description + "Indicates if platform supports + reload history feature or not"; + } + container reload-history { + when 'boolean(../reload-history-support)'; + description + "Reload History list, each element in the list + represents one occurrence of a reload"; + uses device-hardware-xe-oper:reload-history-list; + } + leaf mac-address { + type yang:mac-address; + description + "The MAC address of the device which represents + MAC address of active module or chassis"; + } + } + + grouping device-inventory-key { + description + "Key to the device inventory"; + leaf hw-type { + type device-hardware-xe-oper:hw-type; + description + "Type of the hardware being represented"; + } + leaf hw-dev-index { + type uint32; + description + "The physical index of the inventory item"; + } + } + + grouping device-inventory { + description + "inventory"; + leaf version { + type string; + description + "Version of this device"; + } + leaf part-number { + type string; + description + "The part number of this device. This + is only valid if the device is a field replaceable + unit"; + } + leaf serial-number { + type string; + description + "The serial number of the device. This is only + valid if the device is individually trackable"; + } + leaf hw-description { + type string; + description + "Description of the device"; + } + leaf dev-name { + type string; + description + "Name of the Device"; + } + leaf field-replaceable { + type boolean; + description + "The device is field replaceable or not"; + } + leaf hw-class { + type device-hardware-xe-oper:hw-category; + description + "The Device Category"; + } + choice hw-type-discr-choice { + description + "Hardware Type options"; + case hw-type-ssd { + leaf lifetime { + type uint16; + units "percentage"; + description + "Lifetime of SSD"; + } + } + } + } + + grouping device-hardware { + description + "Device hardware"; + list device-inventory { + key "hw-type hw-dev-index"; + description + "All the inventory in the hardware"; + uses device-hardware-xe-oper:device-inventory-key; + uses device-hardware-xe-oper:device-inventory; + } + list device-alarm { + key "alarm-id alarm-instance"; + description + "The current alarms"; + uses device-hardware-xe-oper:hw-alarm-key; + uses device-hardware-xe-oper:hw-alarm; + } + container device-system-data { + presence "device-system-data"; + description + "The current device system data"; + uses device-hardware-xe-oper:device-system-data; + } + } + + grouping rommon-entry { + description + "Details about the ROMMON environment variable"; + leaf var-name { + type string; + description + "Name of the ROMMON environment variable"; + } + leaf var-value { + type string; + description + "Definition of the ROMMON environment variable"; + } + } + + grouping entity-information { + description + "Information that describes the entity at the service location"; + leaf physical-index { + type uint32; + description + "The SNMP physical index of this entity"; + } + leaf status { + type device-hardware-xe-oper:module-status; + description + "The current status of the entity"; + } + leaf description { + type string; + description + "The detailed description of this entity"; + } + leaf status-last-change { + type yang:date-and-time; + description + "The timestamp when the entity transitioned into + its reported status"; + } + leaf high-availability-state { + type device-hardware-xe-oper:high-availability-role; + description + "The location's high availability state"; + } + leaf chassis-state { + type device-hardware-xe-oper:high-availability-role; + description + "The chassis role status"; + } + list rommon-entry { + key "var-name"; + description + "The ROM Monitor (ROMMON) is a bootstrap program + that initializes the hardware and boots the Cisco IOS XE software + when powered on. The ROMMON environment variables connects ROMMON + with Cisco IOS XE software. It define the attributes of the ROMMON. + The Environment variables settings are entered in capital letters + followed by a definition. This contains the list of ROMMON + environment variables"; + uses device-hardware-xe-oper:rommon-entry; + } + } + + container device-hardware-data { + config false; + description + "Device Hardware"; + list entity-information { + key "fru slotnum baynum chassisnum"; + description + "The entity information"; + uses device-hardware-xe-oper:svc-loc; + uses device-hardware-xe-oper:entity-information; + } + container device-hardware { + presence "device-hardware"; + description + "The device hardware model"; + uses device-hardware-xe-oper:device-hardware; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-device-sensor.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-sensor.yang new file mode 100644 index 000000000..37954f95d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-sensor.yang @@ -0,0 +1,1407 @@ +module Cisco-IOS-XE-device-sensor { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-device-sensor"; + prefix ios-ds; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Device Sensor Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Adding device sensor mdns configuration commands + - Adding dhcpv6 options"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Adding device sensor configuration commands + - Add internal semantic version"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping cdp-filter-list-grouping { + container tlv { + description + "tlv types list"; + container name { + description + "tlv names"; + leaf address-type { + description + "Address Type"; + type empty; + } + leaf capabilities-type { + description + "Capabilities Type"; + type empty; + } + leaf cos-type { + description + "COS Type"; + type empty; + } + leaf device-name { + description + "Device Name"; + type empty; + } + leaf duplex-type { + description + "Duplex Type"; + type empty; + } + leaf external-port-id-type { + description + "External Port Id Type"; + type empty; + } + leaf ipprefix-type { + description + "IP Prefix Type"; + type empty; + } + leaf mgmt-address-type { + description + "Management Address Type"; + type empty; + } + leaf mtu-type { + description + "MTU Type"; + type empty; + } + leaf native-vlan-type { + description + "Native VLAN Type"; + type empty; + } + leaf platform-type { + description + "Platform Type"; + type empty; + } + leaf port-id-type { + description + "Port Id type"; + type empty; + } + leaf power-available-type { + description + "Power Available Type"; + type empty; + } + leaf power-request-type { + description + "External Port Id Type"; + type empty; + } + leaf power-type { + description + "Power Type"; + type empty; + } + leaf protocol-hello-type { + description + "Protocol Hello Type"; + type empty; + } + leaf trigger-type { + description + "Trigger Type"; + type empty; + } + leaf trust-type { + description + "Trust Type"; + type empty; + } + leaf twoway-connectivity-type { + description + "Twoway Connectivity Type"; + type empty; + } + leaf unidirectional-mode-type { + description + "Unidirectional Mode Type"; + type empty; + } + leaf version-type { + description + "Version Type"; + type empty; + } + leaf vtp-mgmt-domain-type { + description + "VTP Management Domain Type"; + type empty; + } + leaf vvid-type { + description + "VVID Type"; + type empty; + } + } + container number { + description + "tlv type numbers"; + list tlv-number { + key "tlv-number"; + leaf tlv-number { + description + "TLV Type Number"; + type uint16 { + range "1..65535"; + } + } + } + } + } + } + + grouping lldp-filter-list-grouping { + container tlv { + description + "tlv types list"; + container name { + description + "tlv names"; + leaf chassis-id { + description + "Chassis Id"; + type empty; + } + leaf end-of-lldpdu { + description + "End Of LLDP"; + type empty; + } + leaf management-address { + description + "Management Address"; + type empty; + } + leaf port-description { + description + "Port Description"; + type empty; + } + leaf port-id { + description + "Port Id"; + type empty; + } + leaf system-capabilities { + description + "System Capabilities"; + type empty; + } + leaf system-description { + description + "System Description"; + type empty; + } + leaf system-name { + description + "System Name"; + type empty; + } + leaf time-to-live { + description + "Time To Live"; + type empty; + } + } + container number { + description + "tlv type numbers"; + list tlv-nnumber { + key "tlv-number"; + leaf tlv-number { + description + "LLDP Type Number"; + type uint8 { + range "0..127"; + } + } + } + } + } + } + + grouping dhcp-filter-list-grouping { + container option { + description + "option types list"; + container name { + description + "option names"; + leaf all-subnets-local { + description + "All Subnets Local"; + type empty; + } + leaf arp-cache-timeout { + description + "ARP Cache Timeout"; + type empty; + } + leaf authentication { + description + "Authentication"; + type empty; + } + leaf auto-configure { + description + "Autoconfiguration"; + type empty; + } + leaf bcmcs-servers-a { + description + "BCMCS Controller IPv4 address list"; + type empty; + } + leaf bcmcs-servers-d { + description + "BCMCS Controller Domain Name list"; + type empty; + } + leaf boot-file { + description + "Boot File Name"; + type empty; + } + leaf boot-size { + description + "Boot Size"; + type empty; + } + leaf broadcast-address { + description + "Broadcast Address"; + type empty; + } + leaf cablelabs-client-configuration { + description + "Cable labs Client Configuration"; + type empty; + } + leaf cisco-auto-configure { + description + "Cisco Autoconfiguration"; + type empty; + } + leaf cisco-client-last-transaction-time { + description + "Cisco Client Last Transaction Time"; + type empty; + } + leaf cisco-client-requested-host-name { + description + "Cisco Client Requested Host Name"; + type empty; + } + leaf cisco-leased-ip { + description + "Cisco Leased IP"; + type empty; + } + leaf cisco-vpn-id { + description + "Cisco VPN Identifier"; + type empty; + } + leaf class-identifier { + description + "Class Identifier"; + type empty; + } + leaf classless-static-route { + description + "Classless Static Route"; + type empty; + } + leaf client-fqdn { + description + "Client FQDN"; + type empty; + } + leaf client-identifier { + description + "Client Identifier"; + type empty; + } + leaf cookie-servers { + description + "Cookie Servers"; + type empty; + } + leaf default-ip-ttl { + description + "Default IP Time To Live"; + type empty; + } + leaf default-tcp-ttl { + description + "Default TCP Time To Live"; + type empty; + } + leaf domain-name { + description + "Domain Name"; + type empty; + } + leaf domain-name-servers { + description + "Domain Name Servers"; + type empty; + } + leaf domain-search { + description + "Domain Search"; + type empty; + } + leaf ethernet-encapsulation { + description + "IEEE 802.3 Encapsulation"; + type empty; + } + leaf extensions-path { + description + "Extensions Path"; + type empty; + } + leaf finger-servers { + description + "Finger Server"; + type empty; + } + leaf font-servers { + description + "X Window Font"; + type empty; + } + leaf geo-conf { + description + "Geo Conf Option"; + type empty; + } + leaf geo-conf-civic { + description + "Geo conf Civic"; + type empty; + } + leaf host-name { + description + "Host Name"; + type empty; + } + leaf i-sns { + description + "Internet Storage Name Service"; + type empty; + } + leaf impress-servers { + description + "Impress Servers"; + type empty; + } + leaf initial-url { + description + "Initial URL"; + type empty; + } + leaf interface-mtu { + description + "Interface MTU"; + type empty; + } + leaf ip-forwarding { + description + "IP Forwarding"; + type empty; + } + leaf irc-servers { + description + "IRC Server"; + type empty; + } + leaf ldap-url { + description + "LDAP URL"; + type empty; + } + leaf lease-time { + description + "Address Time"; + type empty; + } + leaf log-servers { + description + "Log Servers"; + type empty; + } + leaf lpr-servers { + description + "LPR Servers"; + type empty; + } + leaf lq-associated-ip { + description + "Lease Query Associated IPs"; + type empty; + } + leaf lq-client-last-transaction-time { + description + "Lease Query Client last transaction time"; + type empty; + } + leaf mask-supplier { + description + "Mask Supplier"; + type empty; + } + leaf max-dgram-reassembly { + description + "Maximum Datagram Reassembly"; + type empty; + } + leaf max-message-size { + description + "Maximum Message Size"; + type empty; + } + leaf mcns-security-server { + description + "MCNS Security Server"; + type empty; + } + leaf merit-dump { + description + "Merit Dump"; + type empty; + } + leaf message { + description + "Message"; + type empty; + } + leaf mobile-ip-home-agents { + description + "Mobile IP Home Agent"; + type empty; + } + leaf name-servers { + description + "Name Servers"; + type empty; + } + leaf name-service-search { + description + "Name Service Search"; + type empty; + } + leaf nds-context { + description + "NDS Context"; + type empty; + } + leaf nds-servers { + description + "NDS Servers"; + type empty; + } + leaf nds-tree { + description + "NDS Tree Name"; + type empty; + } + leaf netbios-dd-servers { + description + "NetBIOS Distribution Servers"; + type empty; + } + leaf netbios-name-servers { + description + "NetBIOS Name Servers"; + type empty; + } + leaf netbios-node-type { + description + "NetBIOS Node Type"; + type empty; + } + leaf netbios-scope { + description + "NetBIOS Scope"; + type empty; + } + leaf netinfo-parent-server-address { + description + "Netinfo Parent Server Address"; + type empty; + } + leaf netinfo-parent-server-tag { + description + "Netinfo Parent Server Tag"; + type empty; + } + leaf netware-ip-domain { + description + "Netware/IP Domain"; + type empty; + } + leaf netware-ip-information { + description + "Netware/IP Option"; + type empty; + } + leaf nis-domain { + description + "NIS Domain"; + type empty; + } + leaf nis-plus-domain { + description + "NIS Domain Name"; + type empty; + } + leaf nis-plus-servers { + description + "NIS Server Address"; + type empty; + } + leaf nis-servers { + description + "NIS Servers"; + type empty; + } + leaf nntp-servers { + description + "NNTP Server"; + type empty; + } + leaf non-local-source-routing { + description + "Non Local Source Routing"; + type empty; + } + leaf ntp-servers { + description + "NTP Servers"; + type empty; + } + leaf option-overload { + description + "Options Overload"; + type empty; + } + leaf parameter-request-list { + description + "Parameter List"; + type empty; + } + leaf path-mtu-aging-timeout { + description + "Path MTU Aging Timeout"; + type empty; + } + leaf path-mtu-plateau-tables { + description + "Path MTU Plateau Tables"; + type empty; + } + leaf perform-mask-discovery { + description + "Perform Mask Discovery"; + type empty; + } + leaf policy-filters { + description + "Policy Filters"; + type empty; + } + leaf pop3-servers { + description + "POP3 Server"; + type empty; + } + leaf pxe-client-arch { + description + "PXE Client Architecture"; + type empty; + } + leaf pxe-client-machine-id { + description + "PXE Client Machine ID"; + type empty; + } + leaf pxe-client-network-id { + description + "PXE Client Network ID"; + type empty; + } + leaf rapid-commit { + description + "Rapid Commit"; + type empty; + } + leaf rebinding-time { + description + "Rebinding Time"; + type empty; + } + leaf relay-agent-info { + description + "Relay Agent information"; + type empty; + } + leaf renewal-time { + description + "Renewing Time"; + type empty; + } + leaf requested-address { + description + "Address Request"; + type empty; + } + leaf resource-location-servers { + description + "Resource Location Servers"; + type empty; + } + leaf root-path { + description + "Root Path"; + type empty; + } + leaf router-discovery { + description + "Router Discovery"; + type empty; + } + leaf router-solicitation-address { + description + "Router Solicitation Address"; + type empty; + } + leaf routers { + description + "Routers"; + type empty; + } + leaf server-identifier { + description + "Server ID"; + type empty; + } + leaf sip-servers { + description + "SIP Servers"; + type empty; + } + leaf slp-directory-agent { + description + "Service Location Protocol Directory Agent"; + type empty; + } + leaf slp-service-scope { + description + "SLP Service Scope"; + type empty; + } + leaf smtp-servers { + description + "SMTP Server"; + type empty; + } + leaf static-routes { + description + "Static Routes"; + type empty; + } + leaf streettalk-directory-assistance-servers { + description + "STDA Server"; + type empty; + } + leaf streettalk-servers { + description + "StreetTalk Server"; + type empty; + } + leaf subnet-alloc { + description + "Subnet Allocation"; + type empty; + } + leaf subnet-mask { + description + "Subnet Mask"; + type empty; + } + leaf subnet-selection { + description + "Subnet Selection"; + type empty; + } + leaf swap-server { + description + "Swap Server"; + type empty; + } + leaf tcp-keepalive-garbage { + description + "TCP Keepalive Garbage"; + type empty; + } + leaf tcp-keepalive-interval { + description + "TCP Keepalive Interval"; + type empty; + } + leaf tftp-server { + description + "TFTP Server Name"; + type empty; + } + leaf time-offset { + description + "Time Offset"; + type empty; + } + leaf time-servers { + description + "Time Servers"; + type empty; + } + leaf trailer-encapsulation { + description + "Trailer Encapsulation"; + type empty; + } + leaf user-auth { + description + "User Authentication"; + type empty; + } + leaf user-class-id { + description + "User Class ID"; + type empty; + } + leaf v-i-vendor-class { + description + "Vendor Identifying Vendor Class"; + type empty; + } + leaf v-i-vendor-opts { + description + "Vendor Identifying Vendor-Specific Options"; + type empty; + } + leaf vendor-encapsulated-options { + description + "Vendor Encapsulated Options"; + type empty; + } + leaf vpn-id { + description + "VPN Identifier"; + type empty; + } + leaf www-servers { + description + "WWW Server"; + type empty; + } + leaf x-display-managers { + description + "X Window Managers"; + type empty; + } + } + container number { + description + "option type numbers"; + list option-number { + key "option-number"; + leaf option-number { + description + "DHCP Option Type number"; + type uint8 { + range "1..255"; + } + } + } + } + } + } + + grouping mdns-filter-list-grouping { + container tlv { + description + "tlv types list"; + leaf-list name { + description + "tlv type names"; + type enumeration { + enum srv-records { + value 3; + description + "service record"; + } + } + } + leaf-list number { + description + "tlv type numbers"; + type uint8 { + range "1..16"; + } + } + } + } + + grouping dhcpv6-filter-list-grouping { + container option { + description + "option types list"; + container name { + description + "option names"; + leaf client-id { + description + "Client ID"; + type empty; + } + leaf server-id { + description + "Server ID"; + type empty; + } + leaf ia-na { + description + "IA NA"; + type empty; + } + leaf ia-ta { + description + "IA TA"; + type empty; + } + leaf ia-addr { + description + "IA Address"; + type empty; + } + leaf oro { + description + "ORO"; + type empty; + } + leaf reference { + description + "Reference"; + type empty; + } + leaf elapsed-time { + description + "Elapsed Time"; + type empty; + } + leaf relay-msg { + description + "Relay Message"; + type empty; + } + leaf auth { + description + "Auth"; + type empty; + } + leaf unicast { + description + "Unicast"; + type empty; + } + leaf status-code { + description + "Status Code"; + type empty; + } + leaf rapid-commit { + description + "Rapid Commit"; + type empty; + } + leaf user-class { + description + "User Class"; + type empty; + } + leaf vendor-class { + description + "Vendor Class"; + type empty; + } + leaf vendor-options { + description + "Vendor OPTs"; + type empty; + } + leaf interface-id { + description + "Interface ID"; + type empty; + } + leaf re-configure-msg { + description + "Re-configure Message"; + type empty; + } + leaf re-configure-accept { + description + "Re-configure Accept"; + type empty; + } + leaf sip-domain { + description + "SIP Domain"; + type empty; + } + leaf sip-address { + description + "SIP Address"; + type empty; + } + leaf dns-servers { + description + "DNS Servers"; + type empty; + } + leaf domain-list { + description + "Domain List"; + type empty; + } + leaf ia-pd { + description + "IA PD"; + type empty; + } + leaf ia-prefix { + description + "IA Prefix"; + type empty; + } + leaf nis-address { + description + "NIS Address"; + type empty; + } + leaf nisp-address { + description + "NISP Address"; + type empty; + } + leaf nis-domain { + description + "NIS Domain"; + type empty; + } + leaf nisp-domain { + description + "NISP Domain"; + type empty; + } + leaf sntp-address { + description + "SNTP Address"; + type empty; + } + leaf info-refresh-time { + description + "Info Refresh Time"; + type empty; + } + leaf vendor-opts-boot-file { + description + "Vendor Opts Boot File"; + type empty; + } + leaf remote-id { + description + "Remote ID"; + type empty; + } + leaf lease-query-query { + description + "Lease Query"; + type empty; + } + leaf lease-query-client-data { + description + "Lease Query Client Data"; + type empty; + } + leaf lease-query-client-time { + description + "Lease Query Client Time"; + type empty; + } + leaf lease-query-relay-data { + description + "Lease Query Relay Data"; + type empty; + } + leaf lease-query-client-link { + description + "Lease Query Client Link"; + type empty; + } + leaf mud-uri { + description + "MUD URI"; + type empty; + } + } + container number { + description + "option type numbers"; + list option-number { + key "option-number"; + leaf option-number { + description + "DHCPv6 Option Type number"; + type uint8 { + range "1..255"; + } + } + } + } + } + } + + grouping config-device-sensor-grouping { + container device-sensor { + description + "IOS Sensor Commands"; + leaf accounting { + description + "Trigger accounting updates with sensor TLVs/Options"; + type empty; + } + container notify { + description + "Options for when to trigger identity update events"; + leaf all-changes { + description + "Trigger identity update when TLVs are added/modified/removed"; + type empty; + } + } + container filter-list { + description + "Sensor Protocol Filter List Configuration"; + container dhcp { + description + "DHCP Filter List"; + list list { + description + "Protocol Filter List"; + key "name"; + leaf name { + type string; + } + uses dhcp-filter-list-grouping; + } + } + container dhcpv6 { + description + "DHCPv6 Filter List"; + list list { + description + "Protocol Filter List"; + key "name"; + leaf name { + type string; + } + uses dhcpv6-filter-list-grouping; + } + } + container lldp { + description + "LLDP Filter List"; + list list { + description + "Protocol Filter List"; + key "name"; + leaf name { + type string; + } + uses lldp-filter-list-grouping; + } + } + container cdp { + description + "CDP Filter List"; + list list { + description + "Protocol Filter List"; + key "name"; + leaf name { + type string; + } + uses cdp-filter-list-grouping; + } + } + container mdns { + description + "MDNS Filter List"; + list list { + description + "Protocol Filter List"; + key "name"; + leaf name { + type string; + } + uses mdns-filter-list-grouping; + } + } + } + container filter-spec { + description + "Sensor Protocol Filter Spec Configuration"; + container cdp { + description + "CDP Filter Spec"; + container exclude { + description + "Exclude Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + leaf all { + description + "All"; + type empty; + } + } + container include { + description + "Include Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + } + } + container lldp { + description + "LLDP Filter Spec"; + container exclude { + description + "Exclude Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + leaf all { + description + "All"; + type empty; + } + } + container include { + description + "Include Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + } + } + container dhcp { + description + "DHCP Filter Spec"; + container exclude { + description + "Exclude Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + leaf all { + description + "All"; + type empty; + } + } + container include { + description + "Include Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + } + } + container dhcpv6 { + description + "DHCPV6 Filter Spec"; + container exclude { + description + "Exclude Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + leaf all { + description + "All"; + type empty; + } + } + container include { + description + "Include Filter"; + list list { + description + "Protocol Filter Spec list"; + key "name"; + leaf name { + type string; + } + } + } + } + container mdns { + description + "MDNS Filter Spec"; + choice incl-excl { + case incl-case { + container include { + description + "Include Filter"; + leaf list { + description + "Protocol Filter Spec list"; + must '../../../../ios-ds:filter-list/ios-ds:mdns/ios-ds:list[name=current()]' { + error-message "Mdns List does not exist "; + } + type string; + } + } + } + case excl-case { + container exclude { + description + "Exclude Filter"; + choice excl { + case list-case { + leaf list { + description + "Protocol Filter Spec list"; + must '../../../../ios-ds:filter-list/ios-ds:mdns/ios-ds:list[name=current()]' { + error-message "Mdns list does not exist "; + } + type string; + } + } + case all-case { + leaf all { + description + "Exclude All"; + type empty; + } + } + } + } + } + } + } + } + container tlv { + description + "Device-sensor protocol tlvs"; + leaf limit { + description + "Protocol Tlv Limit (Default: 128)"; + type uint16 { + range "1..1024"; + } + } + } + } + } + + augment "/ios:native" { + uses config-device-sensor-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-device-tracking.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-tracking.yang new file mode 100644 index 000000000..7193f3422 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-device-tracking.yang @@ -0,0 +1,1015 @@ +module Cisco-IOS-XE-device-tracking { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-device-tracking"; + prefix ios-dt; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Device Tracking Yang model. + Copyright (c) 2016-2020, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Obsolete device-tracking protocol dhcp6 + - Obsolete device-tracking protocol ndp + - Obsolete device-tracking protocol dhcp4 + - Obsolete device-tracking protocol arp + - Obsolete device-tracking protocol udp + - Obsolete device-tracking tracking enable + - Obsolete device-tracking tracking enable reachable-lifetime + - Obsolete device-tracking tracking enable reachable-lifetime seconds + - Obsolete device-tracking tracking enable reachable-lifetime infinite + - Obsolete device-tracking tracking disable + - Obsolete device-tracking attach-policy + - Fix the issue with device-role in device-tracking + - Removed must constraint for device-tracking attach-policy to allow 'default' policy + - Update switchport must constraint for device-tracking + - Fix device-tracking tracking not removing full config when auto-source is configured"; + cisco-semver:module-version "4.0.0"; + } + revision 2024-03-01 { + description + "- Adding device-tracking export oper-data enable + - Obsolete device-tracking protocol dhcp6 + - Obsolete device-tracking protocol ndp + - Obsolete device-tracking protocol dhcp4 + - Obsolete device-tracking protocol arp + - Obsolete device-tracking protocol udp + - Obsolete device-tracking tracking enable + - Obsolete device-tracking tracking enable reachable-lifetime + - Obsolete device-tracking tracking enable reachable-lifetime seconds + - Obsolete device-tracking tracking enable reachable-lifetime infinite + - Obsolete device-tracking tracking disable + - Obsolete device-tracking attach-policy"; + cisco-semver:module-version "3.1.0"; + } + revision 2023-11-01 { + description + "- Deprecating device-tracking protocol udp"; + cisco-semver:module-version "3.0.0"; + } + revision 2023-07-01 { + description + "- Adding device-tracking policy device role router"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Fixing the issue with protocol container + - Fixing the issue with Tracking container + - Adding the support for attaching policy under vlan for device-tracking + - Added the missing commands to fill the gap between CLI and Yang for SISF"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Updated the must constraints in the device tracking container"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Obsolete ip device-tracking hierarchy"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add new containers (prefix-glean, destination-glean and trusted port)in device-tracking policy list + - Assign default value for protocol options"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-01-29 { + description + "Add device-tracking tracking reachable-lifetime"; + } + revision 2017-06-07 { + description + "Add device-tracking tracking support"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-device-tracking-vlan-grouping { + container vlan { + description + "Configure the vlan list for which this policy applies (default: all)"; + leaf vlan-name { + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf add { + description + "add VLANs to the current list"; + type string; + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf except { + description + "VLAN IDs of disallowed VLANS for this policy on this port"; + type string; + } + leaf none { + description + "no VLANs"; + type empty; + } + leaf remove { + description + "Remove VLANs from the current list"; + type string; + } + } + } + + grouping config-interface-device-tracking-grouping { + container device-tracking { + description + "Configure device-tracking on the interface"; + presence "Attach default device-tracking on interface"; + if-feature "ios-features:switching-platform"; + list attached-policies { + key "attach-policy"; + leaf attach-policy { + description + "Apply a policy for feature device-tracking"; + type string; + must "(/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word=current()]) or .='default'" { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + uses config-interface-device-tracking-vlan-grouping; + } + container default-policy { + uses config-interface-device-tracking-vlan-grouping; + } + leaf attach-policy { + status obsolete; + description + "Apply a policy for feature device-tracking"; + type string; + must '(/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word=current()])' { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + } + } + + grouping config-interface-switchport-device-tracking-grouping { + container device-tracking { + description + "Obsolete - Configure device-tracking on the interface"; + presence "Attach default device-tracking on interface"; + status obsolete; + leaf attach-policy { + description + "Obsolete - Apply a policy for feature device-tracking"; + status obsolete; + type string; + must '(/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word=current()])' { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + } + } + + grouping config-binding-reachable-lifetime-grouping { + container reachable-lifetime { + description + "Default maximum time in REACHABLE without activity"; + choice time-choice { + leaf seconds { + description + "Seconds to keep in reachable state"; + type uint32 { + range "1..86400"; + } + } + leaf default { + description + "Use default binding table value"; + type empty; + } + leaf infinite { + description + "Keep in REACHABLE forever"; + type empty; + } + } + } + } + + grouping config-vlan-device-tracking-grouping { + container device-tracking { + description + "Obsolete - Configure device-tracking on the interface"; + presence "Attach default device-tracking on interface"; + status obsolete; + leaf attach-policy { + description + "Obsolete - Apply a policy for feature device-tracking"; + status obsolete; + type string; + must '(/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word=current()])' { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + } + } + + grouping config-device-tracking-grouping { + list policy { + description + "Configure a policy for feature device-tracking"; + key "word"; + leaf word { + type string; + } + leaf device-role-config { + description + "The role of the device attached to the port"; + default "node"; + type enumeration { + enum node; + enum switch; + enum router; + } + } + container device-role { + status deprecated; + description + "Sets the role of the device attached to the port - Deprecated in 17.15.1"; + choice device-role-choice { + case node { + leaf node { + status deprecated; + type boolean; + default "true"; + } + } + case switch { + leaf switch { + status deprecated; + type empty; + } + } + case router { + leaf router { + status deprecated; + type empty; + } + } + } + } + container data-glean { + description + "binding recovery by data traffic source address gleaning"; + leaf log-only { + description + "only generate a syslog upon data packet notification"; + type empty; + } + container recovery { + description + "recovery protocol to use"; + leaf dhcp { + description + "use DHCP as the recovery protocol"; + type empty; + } + leaf ndp { + description + "use NDP as the recovery protocol"; + type empty; + } + } + } + container prefix-glean { + presence "Enable prefix-glean"; + description + "Glean prefixes in RA and DHCP-PD traffic"; + leaf only { + type empty; + description + "Glean only prefixes i.e. do not glean host addresses"; + } + } + container destination-glean { + description + "binding recovery by data traffic destination address gleaning"; + leaf log-only { + type empty; + } + container recovery { + description + "recovery protocol to use"; + leaf dhcp { + description + "use DHCP as the recovery protocol"; + type empty; + } + } + } + container protocol { + description + "Set the protocol to glean (default all)"; + container proto-udp { + status obsolete; + leaf udp { + description + "Glean addresses in UDP packets"; + status obsolete; + type boolean; + } + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + status obsolete; + type string; + } + } + container proto-arp { + leaf arp { + description + "Glean addresses in ARP packets"; + type boolean; + default "true"; + } + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + type string; + } + } + container proto-dhcp4 { + leaf dhcp4 { + description + "Glean addresses in DHCPv4 packets"; + type boolean; + default "true"; + } + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + type string; + } + } + container proto-dhcp6 { + leaf dhcp6 { + description + "Glean addresses in DHCPv6 packets"; + type boolean; + default "true"; + } + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + type string; + } + } + container proto-ndp { + leaf ndp { + description + "Glean addresses in NDP packets"; + type boolean; + default "true"; + } + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + type string; + } + } + leaf udp { + description + "Obsolete, use other leaf to set the protocol"; + status obsolete; + type boolean; + } + leaf arp { + status obsolete; + description + "Obsolete, use other leaf to set the protocol. Glean addresses in ARP packets"; + type boolean; + default "true"; + } + leaf dhcp4 { + status obsolete; + description + "Obsolete, use other leaf to set the protocol. Glean addresses in DHCPv4 packets"; + type boolean; + default "true"; + } + leaf dhcp6 { + status obsolete; + description + "Obsolete, use other leaf to set the protocol. Glean addresses in DHCPv6 packets"; + type boolean; + default "true"; + } + leaf ndp { + status obsolete; + description + "Obsolete, use other leaf to set the protocol. Glean addresses in NDP packets"; + type boolean; + default "true"; + } + } + container tracking { + description + "Override default tracking behavior"; + choice tracking-enable-disable { + container enable-tracking { + presence "true"; + container reachable-lifetime { + description + "Time entry is kept REACHABLE"; + choice tracking-enable { + leaf seconds { + description + "Seconds"; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Keep in REACHABLE forever"; + type empty; + } + } + } + } + container disable-tracking { + description + "Tracking on or off"; + presence "true"; + leaf stale-lifetime { + description + "Default maximum time in STALE"; + type union { + type uint32 { + range "1..86400"; + } + type enumeration { + enum infinite; + } + } + } + } + } + container enable { + status obsolete; + presence "true"; + container reachable-lifetime { + status obsolete; + description + "Time entry is kept REACHABLE"; + leaf seconds { + status obsolete; + description + "Seconds"; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + status obsolete; + description + "Keep in REACHABLE forever"; + type empty; + } + } + } + leaf disable { + status obsolete; + description + "Tracking on or off"; + type empty; + } + } + container limit { + description + "Specifies a limit"; + leaf address-count { + description + "Configure maximum address per port"; + type uint16 { + range "1..32000"; + } + } + } + container security-level { + description + "setup security level"; + leaf glean { + description + "glean addresses passively"; + type empty; + } + leaf guard { + description + "inspect and drop un-authorized messages (default)"; + type empty; + } + leaf inspect { + description + "glean and Validate message"; + type empty; + } + } + leaf medium-type-wireless { + description + "Force medium type to wireless"; + type empty; + } + leaf trusted-port { + description + "setup trusted port"; + type empty; + } + } + container tracking { + presence "true"; + container auto-source { + presence "true"; + container fallback { + description + "Specify IP and MASK to use as last resort"; + choice ip-subnet-choice { + case ip-addr-and-mask { + description + "IPv4 and MASK of fallback source"; + container ipv4-subnet-type1 { + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf mask { + description + "IP prefix mask"; + type inet:ipv4-address; + } + leaf override { + description + "Do not select source address from device track table"; + type empty; + } + } + } + case ip-addr-and-prefix-len { + description + "IPv4 and MASK of fallback source"; + container ipv4-subnet-type2 { + leaf ipv4-prefix-name { + description + "ip address/length /, e.g., 192.168.12.12/16"; + type ios-types:ipv4-address-slash-prefix-len; + } + leaf override { + description + "Do not select source address from device track table"; + type empty; + } + } + } + } + } + leaf override { + description + "Do not select source address from device track table"; + type empty; + } + } + leaf retry-interval { + description + "Interval time between two probing"; + type uint16 { + range "1..3600"; + } + } + } + container binding { + description + "Configure device tracking binding table"; + list static-device-tracking-binding { + description + "Binding a static entry"; + if-feature "ios-features:routing-platform"; + key "addr"; + leaf addr { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + leaf interface { + description + "Interface name"; + mandatory true; + type string; + } + leaf hardware-address { + description + "48-bit hardware address"; + type string; + } + container binding-choices { + when '(../hardware-address)'; + choice binding-choice { + case reachable-lifetime-choice { + uses config-binding-reachable-lifetime-grouping; + } + case tracking-choice { + container tracking { + description + "Override default tracking behavior"; + choice binding-tracking-choice { + container default-tracking { + leaf default { + description + "Default tracking"; + type empty; + } + uses config-binding-reachable-lifetime-grouping; + } + container enable-tracking { + leaf enable { + description + "Enable tracking"; + type empty; + } + choice time-type-choice { + case reachable-lifetime-choice { + uses config-binding-reachable-lifetime-grouping; + } + case retry-interval-choice { + container retry-interval { + description + "Retry interval between two probings"; + choice retry-time { + leaf seconds { + description + "Seconds"; + type uint32 { + range "1..86400"; + } + } + leaf default { + description + "Use default"; + type empty; + } + } + } + } + } + } + container disable-tracking { + leaf disable { + description + "Disable tracking"; + type empty; + } + uses config-binding-reachable-lifetime-grouping; + } + } + } + } + } + } + } + container down-lifetime { + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Never delete from DOWN"; + type empty; + } + } + } + leaf logging { + description + "Enable syslog logging of binding table events"; + type empty; + } + container reachable-lifetime { + description + "Default maximum time in REACHABLE without activity"; + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Keep in REACHABLE forever"; + type empty; + } + } + container stale-lifetime { + description + "Default maximum time in STALE before deletion"; + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Keep in REACHABLE forever"; + type empty; + } + } + } + container down-lifetime { + description + "Default maximum time in DOWN before removal"; + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Keep in REACHABLE forever"; + type empty; + } + } + } + } + container stale-lifetime { + description + "Default maximum time in STALE before deletion"; + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Never delete from STALE"; + type empty; + } + } + container down-lifetime { + description + "Default maximum time in DOWN before removal"; + choice time-choice { + leaf seconds { + description + "Seconds.."; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + description + "Never delete from DOWN"; + type empty; + } + } + } + } + list vlan { + description + "Vlan identifier"; + key "numbers addr"; + leaf numbers { + description + "Vlan numbers"; + type uint16 { + range "1..4096"; + } + } + leaf addr { + mandatory true; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type ios-types:ipv6-prefix; + } + } + leaf interface { + description + "Interface name"; + type string; + } + leaf hardware-address { + description + "48-bit hardware address"; + type string; + } + } + container max-entries { + description + "Define maximum number of entries in the Binding table"; + leaf entry { + description + "Number of entries"; + type uint32 { + range "1..1000000"; + } + } + leaf vlan-limit { + description + "Define maximum number of entries allowed per vlan"; + type uint32 { + range "1..200000"; + } + } + leaf port-limit { + description + "Define maximum number of entries allowed per interface"; + type uint32 { + range "1..100000"; + } + } + leaf mac-limit { + description + "Define maximum number of entries allowed per mac"; + type uint32 { + range "1..100000"; + } + } + } + } + container logging { + description + "Configure snooping Security logging"; + presence "true"; + container packet { + description + "Packet events"; + leaf drop { + description + "packets drop events"; + type empty; + } + } + leaf resolution-veto { + description + "Resolution veto events"; + type empty; + } + leaf theft { + description + "IP or MAC theft events"; + type empty; + } + } + container export { + description + "Export SISF data"; + leaf oper-data { + description + "Export operational data"; + type enumeration { + enum enable; + enum disable; + } + } + } + } + + grouping config-ip-device-grouping { + container tracking { + status obsolete; + description + "Obsolete - Device tracking"; + presence "true"; + container probe { + status obsolete; + description + "Obsolete - Probe"; + container auto-source { + status obsolete; + description + "Obsolete - Probe source selection algorithm"; + presence "true"; + container fallback { + status obsolete; + description + "Obsolete - Specify IP and MASK to use as last resort"; + leaf src-ip { + status obsolete; + description + "Obsolete - IP and MASK of fallback source"; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "Obsolete - IP prefix mask"; + type inet:ipv4-address; + } + } + leaf override { + status obsolete; + description + "Obsolete - Do not select source address from device track table"; + type empty; + } + } + leaf count { + status obsolete; + description + "Obsolete - Probe count"; + type uint8; + } + leaf delay { + status obsolete; + description + "Obsolete - Probe delay"; + type uint8 { + range "1..120"; + } + } + leaf interval { + status obsolete; + description + "Obsolete - Probe interval"; + type uint32 { + range "30..1814400"; + } + } + } + leaf trace-buffer { + status obsolete; + description + "Obsolete - Enable Tracing Support"; + type empty; + } + } + } + + augment "/ios:native/ios:device-tracking" { + uses config-device-tracking-grouping; + } + + augment "/ios:native/ios:ip/ios:device" { + uses config-ip-device-grouping { + if-feature "ios-features:device-tracking"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-deviation.yang new file mode 100644 index 000000000..c8af3a662 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-deviation.yang @@ -0,0 +1,102 @@ +module Cisco-IOS-XE-dhcp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dhcp-deviation"; + prefix ios-dhcp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-dhcp { + prefix ios-dhcp; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Dynamic Host Configuration Protocol (DHCP) + Deviation Yang model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Update yang-version to 1.1 + - Add deviation for interface IP DHCP Snooping"; + } + + deviation "/ios:native/ios:interface/ios:Ethernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:HundredGigE/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Loopback/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Tunnel/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Vlan/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:vasileft/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:vasiright/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:ATM/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ip/ios:dhcp/ios-dhcp:snooping" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-oper.yang new file mode 100644 index 000000000..e068e3bdf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-oper.yang @@ -0,0 +1,1638 @@ +module Cisco-IOS-XE-dhcp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dhcp-oper"; + prefix dhcp-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for DHCP Server and Client operational data. + Copyright (c) 2017-2019, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added corrected DHCPv6 server bindings list with multiple IA options support + - Added obsolete status to existing DHCPv6 server bindings list + - Added corrected DHCPv6 relay bindings list + - Added obsolete status to existing DHCPv6 relay bindings list"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-07-01 { + description + "Added DHCPv4 pool operational data"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2018-10-29 { + description + "- Adding DHCPv6 oper model. + - Cleaned up spelling errors in descriptions."; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-07-11 { + description + "change in description."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-02-13 { + description + "dns name changes."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dhcp-server-binding-state { + type enumeration { + enum dhcp-server-binding-state-selecting { + value 0; + description + "Server state is in Selecting mode"; + } + enum dhcp-server-binding-state-active { + value 1; + description + "Server state Active new address provided"; + } + enum dhcp-server-binding-state-terminated { + value 2; + description + "Server terminated the connection with a client"; + } + enum dhcp-server-binding-state-unknown { + value 3; + description + "Server state unknown"; + } + } + description + "DHCP server binding states "; + } + + typedef dhcp-server-binding-type { + type enumeration { + enum dhcp-server-binding-type-manual { + value 0; + description + "Server binding Type Manual"; + } + enum dhcp-server-binding-type-static { + value 1; + description + "Sever binding type Static"; + } + enum dhcp-server-binding-type-relay { + value 2; + description + "Server binding type relay"; + } + enum dhcp-server-binding-type-automatic { + value 3; + description + "Server binding type automatic"; + } + enum dhcp-server-binding-type-odap { + value 4; + description + "Server binding Type ODAP"; + } + enum dhcp-server-binding-type-from-aaa { + value 5; + description + "Sever binding type from AAA"; + } + enum dhcp-server-binding-type-remembered { + value 6; + description + "Server binding type remembered"; + } + } + description + "DHCP server binding type"; + } + + typedef dhcp-client-state { + type enumeration { + enum dhcp-client-state-temp-from-client { + value 0; + description + "Client state address/sync from other client"; + } + enum dhcp-client-state-temp-from-sync { + value 1; + description + "Client state Sync"; + } + enum dhcp-client-state-initial { + value 2; + description + "Client initial state "; + } + enum dhcp-client-state-selecting { + value 3; + description + "Client state Selecting"; + } + enum dhcp-client-state-requesting { + value 4; + description + "Client state Requesting"; + } + enum dhcp-client-state-bound { + value 5; + description + "Client state bound"; + } + enum dhcp-client-state-rebinding { + value 6; + description + "Client state rebinding"; + } + enum dhcp-client-state-renewing { + value 7; + description + "Client state renewing"; + } + enum dhcp-client-state-holdtime { + value 8; + description + "Client state holdtime"; + } + enum dhcp-client-state-ddns-wait { + value 9; + description + "Client state DDNS wait"; + } + enum dhcp-client-state-releasing { + value 10; + description + "Client state releasing"; + } + enum dhcp-client-state-purging { + value 11; + description + "Client state purging"; + } + enum dhcp-client-state-leasequery { + value 12; + description + "Client state leasequery"; + } + enum dhcp-client-state-unknown { + value 13; + description + "Client state unknown"; + } + } + description + "DHCP Client state"; + } + + typedef dhcp-expiry-option { + type enumeration { + enum dhcp-expiration-time { + value 0; + description + "Expiration option time"; + } + enum dhcp-expiration-infinite { + value 1; + description + "Expiration option infinite"; + } + } + description + "DHCP expiration option "; + } + + typedef dhcp-client-id-type { + type enumeration { + enum dhcp-htype-ethernet { + value 0; + description + "DHCP Client hardware type Ethernet"; + } + enum dhcp-htype-ieee802 { + value 1; + description + "DHCP Client hardware type 802"; + } + enum dhcp-htype-rfclimit { + value 2; + description + "DHCP Client hardware type RFCLIMIT"; + } + enum dhcp-htype-clientid { + value 3; + description + "DHCP Client hardware type CLIENTID"; + } + } + description + "DHCP Client id hardware types "; + } + + typedef dhcpv6-interface-mode { + type enumeration { + enum dhcpv6-interface-mode-client { + value 0; + description + "DHCPv6 interface mode client"; + } + enum dhcpv6-interafce-mode-server { + value 1; + description + "DHCPv6 interface mode server"; + } + enum dhcpv6-interafce-mode-relay { + value 2; + description + "DHCPv6 interface mode relay"; + } + enum dhcpv6-interafce-mode-unknown { + value 3; + description + "DHCPv6 interface mode unknown"; + } + } + description + "DHCPv6 interface mode"; + } + + typedef dhcpv6-client-state { + type enumeration { + enum dhcpv6-client-state-idle { + value 0; + description + "DHCPv6 client state idle"; + } + enum dhcpv6-client-state-solicit { + value 1; + description + "DHCPv6 client state solicit"; + } + enum dhcpv6-client-state-request { + value 2; + description + "DHCPv6 client state request"; + } + enum dhcpv6-client-state-confirm { + value 3; + description + "DHCPv6 client state confirm"; + } + enum dhcpv6-client-state-inforeq { + value 4; + description + "DHCPv6 client state info request"; + } + enum dhcpv6-client-state-open { + value 5; + description + "DHCPv6 client state open"; + } + enum dhcpv6-client-state-renew { + value 6; + description + "DHCPv6 client state renew"; + } + enum dhcpv6-client-state-rebind { + value 7; + description + "DHCPv6 client state rebind"; + } + enum dhcpv6-client-state-release { + value 8; + description + "DHCPv6 client state release"; + } + enum dhcpv6-client-state-verify { + value 9; + description + "DHCPv6 client state verify"; + } + enum dhcpv6-client-state-decline { + value 10; + description + "DHCPv6 client state decline"; + } + enum dhcpv6-client-state-unknown { + value 11; + description + "DHCPv6 client state unknown"; + } + } + description + "DHCPv6 client state"; + } + + typedef dhcpv4-ddns-updates { + type enumeration { + enum pool-dynamic-update-off { + value 0; + description + "Dynamic update off"; + } + enum pool-forward-and-backward { + value 1; + description + "Dynamic update forward and backward"; + } + enum pool-over-ride { + value 2; + description + "Dynamic update override"; + } + enum pool-dynamic-update-ack { + value 3; + description + "Dynamic update acknowledgment"; + } + } + description + "DHCPv4 dynamic DNS update information"; + } + + typedef dhcpv4-pending-event { + type enumeration { + enum pending-subnet-request { + value 0; + description + "Pending subnet request"; + } + enum pending-subnet-release { + value 1; + description + "Pending subnet release"; + } + enum no-pending-operation { + value 2; + description + "No pending operation"; + } + } + description + "DHCPv4 pending event"; + } + + typedef dhcpv4-pool-type { + type enumeration { + enum server { + value 0; + description + "Pool has subnet information"; + } + enum relay { + value 1; + description + "Pool has relay information"; + } + } + description + "DHCPv4 pool type"; + } + + typedef dhcpv6-time-type { + type enumeration { + enum dhcpv6-time-finite { + value 0; + description + "DHCPv6 time duration is finite"; + } + enum dhcpv6-time-infinite { + value 1; + description + "DHCPv6 time duration is infinite"; + } + } + description + "DHCPv6 time duration types"; + } + + typedef dhcpv6-connection-type { + type enumeration { + enum dhcpv6-conn-relayed { + value 0; + description + "Client is connected via relay"; + } + enum dhcpv6-conn-direct { + value 1; + description + "Client is directly connected"; + } + } + description + "DHCPv6 connection types"; + } + + typedef dhcpv6-relay-route-type { + type enumeration { + enum dhcpv6-relay-route-iana { + value 0; + description + "DHCPv6 route type for IANA"; + } + enum dhcpv6-relay-route-iapd { + value 1; + description + "DHCPv6 route type for IAPD"; + } + } + description + "DHCPv6 relay route types"; + } + + grouping dhcp-expiry { + description + "Type describes whether it is time or never"; + choice expiration-time-choice { + description + "Choice of the expiration time"; + case dhcp-expiration-time { + leaf time { + type yang:date-and-time; + description + "Date and time of expiry "; + } + } + case dhcp-expiration-infinite { + leaf infinite { + type empty; + description + "Expiry time infinite"; + } + } + } + } + + grouping dhcpv4-server-key { + description + "Key for DHCP Server information table"; + leaf pool-name { + type string; + description + "Server Pool name from where the Client + IP address is provided"; + } + leaf client-ip { + type inet:ip-address; + description + "IP address released for a specific Client + from Server"; + } + leaf vrf-name { + type string; + description + "Query based on the VRF name specific to that + pool and Client ip address as key"; + } + } + + grouping dhcpv4-server-oper { + description + "DHCP Server data for binding"; + leaf client-id-type { + type dhcp-ios-xe-oper:dhcp-client-id-type; + description + "Client identification Hardware types"; + } + leaf client-id { + type string; + description + "Client identification can be based on Hardware types/Mac"; + } + container expiration { + description + "Expiration time information"; + uses dhcp-ios-xe-oper:dhcp-expiry; + } + leaf type { + type dhcp-ios-xe-oper:dhcp-server-binding-type; + description + "Server binding type."; + } + leaf state { + type dhcp-ios-xe-oper:dhcp-server-binding-state; + description + "Server binding states"; + } + leaf interface { + type string; + description + "interface name of the pool"; + } + } + + grouping dhcpv4-client-key { + description + "Key for DHCP Server information table"; + leaf if-name { + type string; + description + "Interface information where dhcp Client is configured"; + } + leaf client-addr { + type inet:ip-address; + description + "Client IP address Allocated from Server"; + } + leaf vrf-name { + type string; + description + "VRF Name information related to Client"; + } + } + + grouping dhcpv4-client-oper { + description + "DHCP Client data for binding"; + leaf state { + type dhcp-ios-xe-oper:dhcp-client-state; + description + "DHCP Client States "; + } + leaf lease-server-addr { + type inet:ip-address; + description + "IP address of Server from where we got IP"; + } + leaf gateway-addr { + type inet:ip-address; + description + "Gateway Address we got from Server"; + } + leaf lease-time { + type uint32; + units "seconds"; + description + "Total Lease Time in Seconds"; + } + container lease-expiry { + description + "Lease Expiry time for the IP address we got"; + uses dhcp-ios-xe-oper:dhcp-expiry; + } + leaf lease-remaining { + type uint32; + description + "Lease remaining time for the IP address"; + } + leaf dns-address { + type inet:ip-address; + description + "First DNS address"; + } + leaf dns-address-secondary { + type inet:ip-address; + description + "Secondary DNS address"; + } + leaf subnet-mask { + type inet:ip-address; + description + "Subnet mask address"; + } + } + + grouping dhcpv6-relay-binding-key { + description + "Key for DHCP Server information table"; + leaf v6-relay-vrf { + type string; + description + "Query based on the VRF name"; + } + } + + grouping dhcpv6-relay-binding-oper { + description + "DHCPv6 binding relay"; + leaf num-binding { + type uint32; + description + "DHCPv6 number binding"; + } + leaf iapd-binding { + type uint32; + description + "DHCPv6 IAPD binding"; + } + leaf iana-binding { + type uint32; + description + "DHCPv6 IANA binding"; + } + leaf binding-bulk-lease-query { + type uint32; + description + "DHCPv6 BULK LEASE QUERY"; + } + leaf addr { + type inet:ipv6-address; + description + "DHCPv6 binding Address"; + } + leaf prefix { + type inet:ipv6-address; + description + "DHCPv6 prefix"; + } + leaf prefix-len { + type uint32; + description + "DHCPv6 prefix length"; + } + leaf duid { + type string; + description + "DHCPv6 DUID"; + } + leaf iaid { + type uint32; + description + "DHCPv6 IAID"; + } + leaf lifetime { + type uint32; + description + "DHCPv6 lifetime"; + } + leaf expiration { + type uint32; + description + "DHCPv6 expiration"; + } + } + + grouping dhcpv6-intf-at-client-key { + description + "Key for DHCP binding vrf information table"; + leaf v6-intf-at-client { + type string; + description + "Query based on the interface name"; + } + } + + grouping dhcpv6-intf-at-client-oper { + description + "DHCPv6 binding relay"; + leaf mode { + type dhcp-ios-xe-oper:dhcpv6-interface-mode; + description + "DHCPv6 Interface Mode"; + } + leaf prefix-state { + type dhcp-ios-xe-oper:dhcpv6-client-state; + description + "DHCPv6 Interface prefix state"; + } + leaf address-state { + type dhcp-ios-xe-oper:dhcpv6-client-state; + description + "DHCPv6 Interface address state"; + } + leaf renew-time { + type uint32; + description + "DHCPv6 Interface renew time"; + } + leaf refersh-time { + type uint32; + description + "DHCPv6 Interface refresh time"; + } + leaf retransmission-time { + type uint32; + description + "DHCPv6 Interface retransmission time"; + } + leaf rebind-time { + type uint32; + description + "DHCPv6 Interface rebind time"; + } + leaf reachable-via-addr { + type inet:ipv6-address; + description + "DHCPv6 Interface reachable via address"; + } + leaf duid { + type string; + description + "DHCPv6 Interface DUID"; + } + leaf preference { + type uint8; + description + "DHCPv6 Interface preference"; + } + leaf dns { + type inet:ipv6-address; + description + "DHCPv6 Interface dns"; + } + leaf domain { + type string; + description + "DHCPv6 Interface domain"; + } + leaf sip-dns { + type inet:ipv6-address; + description + "DHCPv6 Interface SIP DNS"; + } + leaf sip-domain { + type string; + description + "DHCPv6 Interface SIP Domain"; + } + leaf nis-dns { + type inet:ipv6-address; + description + "DHCPv6 Interface NIS DNS"; + } + leaf nis-domain { + type string; + description + "DHCPv6 Interface NIS Domain"; + } + leaf bootf-url { + type string; + description + "DHCPv6 Interface boot file URL"; + } + leaf nsip-dns { + type inet:ipv6-address; + description + "DHCPv6 Interface NSIP DNS"; + } + leaf nsip-domain { + type string; + description + "DHCPv6 Interface NSIP Domain"; + } + leaf sntp-dns { + type inet:ipv6-address; + description + "DHCPv6 Interface SNTP DNS"; + } + leaf info-refresh-time { + type uint32; + description + "DHCPv6 Interface info refresh time"; + } + leaf vendor-ent-id { + type uint32; + description + "DHCPv6 Interface Vendor Enterprise ID"; + } + leaf prefix-name { + type string; + description + "DHCPv6 Interface prefix name"; + } + leaf prefix-rapid-commit { + type boolean; + description + "DHCPv6 Interface Prefix Rapid commit"; + } + leaf address-rapid-commit { + type boolean; + description + "DHCPv6 Interface Address Rapid Commit"; + } + leaf prefix { + type inet:ipv6-address; + description + "DHCPv6 Interface prefix"; + } + leaf prefix-len { + type uint8; + description + "DHCPv6 Interface prefix length"; + } + } + + grouping dhcpv6-intf-at-srv-key { + description + "Key for DHCP binding vrf information table"; + leaf v6-intf-at-srv { + type string; + description + "Query based on the interface name"; + } + } + + grouping dhcpv6-intf-at-srv-oper { + description + "DHCPv6 binding relay"; + leaf mode { + type dhcp-ios-xe-oper:dhcpv6-interface-mode; + description + "DHCPv6 Mode"; + } + leaf poolname { + type string; + description + "DHCPv6 Pool name"; + } + leaf preference { + type uint8; + description + "DHCPv6 Preference"; + } + leaf hint { + type uint8; + description + "DHCPv6 Hint"; + } + leaf rapid-commit { + type uint8; + description + "DHCPv6 Rapid Commit Enabled/Disabled"; + } + leaf pending-aaa-req { + type uint8; + description + "DHCPv6 AAA Request"; + } + leaf prefix { + type inet:ipv6-address; + description + "DHCPv6 prefix"; + } + leaf prefix-len { + type uint8; + description + "DHCPv6 prefix length"; + } + } + + grouping dhcpv6-intf-at-relay-key { + description + "Key for DHCP binding vrf information table"; + leaf v6-intf-at-relay { + type string; + description + "Interface name"; + } + } + + grouping dhcpv6-intf-at-relay-oper { + description + "DHCPv6 binding relay"; + leaf mode { + type dhcp-ios-xe-oper:dhcpv6-interface-mode; + description + "DHCPv6 Mode"; + } + leaf ipv6-dhcp-intf-addr { + type inet:ipv6-address; + description + "DHCPv6 interface address"; + } + leaf via-intf { + type string; + description + "DHCPv6 IP Address via Interface"; + } + } + + grouping dhcpv6-binding-vrf-key { + description + "Key for DHCP binding vrf information table"; + leaf v6-vrf { + type string; + description + "Query based on the VRF name."; + } + } + + grouping dhcpv6-binding-vrf-oper { + description + "DHCPv6 binding relay"; + leaf client-addr { + type inet:ipv6-address; + description + "DHCPv6 client Address"; + } + leaf duid { + type string; + description + "DHCPv6 DUID"; + } + leaf ppp-username { + type string; + description + "DHCPv6 PPP username"; + } + leaf interface { + type string; + description + "DHCPv6 interface"; + } + leaf iaid { + type uint32; + description + "DHCPv6 IAID(Identity Association Identifier)"; + } + leaf t1 { + type uint32; + description + "DHCPv6 T1"; + } + leaf t2 { + type uint32; + description + "DHCPv6 T2"; + } + leaf preferred-lifetime { + type uint32; + description + "DHCPv6 Preferred lifetime"; + } + leaf valid-lifetime { + type uint32; + description + "DHCPv6 valid lifetime"; + } + leaf expiring-time { + type yang:date-and-time; + description + "DHCPv6 expiring time"; + } + } + + grouping dhcpv4-subnet { + description + "DHCPv4 pools subnet information"; + leaf current-index { + type inet:ipv4-address; + description + "Current address index"; + } + leaf first-address { + type inet:ipv4-address; + description + "First subnet address"; + } + leaf last-address { + type inet:ipv4-address; + description + "Last subnet address"; + } + leaf excluded-addresses { + type uint32; + description + "Number of excluded addresses in subnet"; + } + leaf leased-addresses { + type uint32; + description + "Number of leased addresses in subnet"; + } + leaf total-addresses { + type uint32; + description + "Total number of addresses in subnet"; + } + } + + grouping dhcpv4-relay-source { + description + "DHCPv4 relay source information"; + leaf address { + type inet:ipv4-address; + description + "Source IP address"; + } + leaf mask { + type inet:ipv4-address; + description + "Source address mask"; + } + } + + grouping dhcpv4-relay-target { + description + "DHCPv4 destination information"; + leaf address { + type inet:ipv4-address; + description + "Destination IP address"; + } + leaf vrf { + type string; + description + "Destination VRF name"; + } + } + + grouping dhcpv4-class-target { + description + "DHCPv4 class destination information"; + leaf target-address { + type inet:ipv4-address; + description + "Class destination IP address"; + } + leaf target-vrf { + type string; + description + "Class destination VRF name"; + } + } + + grouping dhcpv4-class { + description + "DHCPv4 relay class information"; + leaf class-name { + type string; + description + "Relay class name"; + } + list class-target { + description + "Class destination information"; + uses dhcp-ios-xe-oper:dhcpv4-class-target; + } + } + + grouping dhcpv4-pool-stats { + description + "DHCPv4 pool statistics"; + leaf total-addresses { + type uint32; + description + "Total number of addresses in pool"; + } + leaf leased-addresses { + type uint32; + description + "Number of leased addresses in pool"; + } + leaf excluded-addresses { + type uint32; + description + "Number of excluded addresses in pool"; + } + leaf first-subnet-size { + type uint16; + description + "Size of first subnet requested"; + } + leaf next-subnet-size { + type uint16; + description + "Size of next subnet request"; + } + leaf high-util-mark { + type uint16; + description + "DHCPv4 pool high utilization percentage"; + } + leaf low-util-mark { + type uint16; + description + "DHCPv4 pool low utilization percentage"; + } + leaf auto-grow { + type boolean; + description + "DHCPv4 auto grow is enabled"; + } + leaf autogrow-pool-size { + type uint16; + description + "Auto grow the pool by this size"; + } + leaf pending-event { + type dhcp-ios-xe-oper:dhcpv4-pending-event; + description + "DHCPv4 pending event"; + } + } + + grouping dhcpv4-relay-info { + description + "DHCPv4 pool relay information"; + list source { + description + "Relay source information"; + uses dhcp-ios-xe-oper:dhcpv4-relay-source; + } + list target { + description + "Relay destination information"; + uses dhcp-ios-xe-oper:dhcpv4-relay-target; + } + list class-info { + description + "Relay class info"; + uses dhcp-ios-xe-oper:dhcpv4-class; + } + } + + grouping dhcpv4-subnet-info { + description + "DHCPv4 pool info"; + container stats { + description + "DHCPv4 pool statistics"; + uses dhcp-ios-xe-oper:dhcpv4-pool-stats; + } + leaf ddns-updates { + type dhcp-ios-xe-oper:dhcpv4-ddns-updates; + description + "DHCPv4 dynamic DNS updates"; + } + leaf subnet-count { + type uint32; + description + "Number of subnet in list"; + } + list subnet { + description + "DHCPv4 subnet information"; + uses dhcp-ios-xe-oper:dhcpv4-subnet; + } + } + + grouping dhcpv4-pool { + description + "DHCPv4 server pool subnet information"; + leaf pool-name { + type string; + description + "DHCPv4 pool name, maximum supported pool name length is 128 characters"; + } + leaf vrf { + type string; + description + "DHCPv4 pool VRF name, maximum supported vrf name length is 128 characters"; + } + choice pool-type-choice { + description + "DHCPv4 pool can support either subnet or relay information"; + case server { + container subnet-info { + description + "DHCPv4 pool info"; + uses dhcp-ios-xe-oper:dhcpv4-subnet-info; + } + } + case relay { + container relay-info { + description + "DHCPv4 relay pool information"; + uses dhcp-ios-xe-oper:dhcpv4-relay-info; + } + } + } + } + + grouping dhcpv6-lifetime { + description + "DHCPv6 lifetime duration"; + choice type-choice { + description + "Choice of DHCPv6 lifetime type"; + case dhcpv6-time-finite { + leaf sec { + type uint32; + units "seconds"; + description + "DHCPv6 lifetime duration in seconds."; + } + } + case dhcpv6-time-infinite { + leaf infinite { + type empty; + description + "Infinite DHCPv6 lifetime"; + } + } + } + } + + grouping dhcpv6-expiry { + description + "DHCPv6 expiry time"; + choice type-choice { + description + "Choice of DHCPv6 expiry time type"; + case dhcpv6-time-finite { + leaf time { + type yang:date-and-time; + description + "DHCPv6 expiry timestamp."; + } + } + case dhcpv6-time-infinite { + leaf infinite { + type empty; + description + "No Expiry for DHCPv6 lease"; + } + } + } + } + + grouping dhcpv6-ia-addr-info { + description + "Information regarding DHCPv6 IA address option"; + leaf addr { + type inet:ipv6-address; + description + "Leased IPv6 address"; + } + container pref-lftime { + description + "Preferred lifetime of IA address lease"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container vld-lftime { + description + "Valid lifetime of IA address lease"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container xprtion { + description + "Expiry time of IA address lease"; + uses dhcp-ios-xe-oper:dhcpv6-expiry; + } + } + + grouping dhcpv6-ia-prefix-info { + description + "Information regarding DHCPv6 IA prefix option"; + leaf pfx { + type inet:ip-prefix; + description + "Leased IPv6 prefix"; + } + container pref-lftime { + description + "Preferred lifetime of IA prefix lease"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container vld-lftime { + description + "Valid lifetime of IA prefix lease"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container xprtion { + description + "Expiry time of IA prefix lease"; + uses dhcp-ios-xe-oper:dhcpv6-expiry; + } + } + + grouping dhcpv6-iana-info { + description + "Information regarding DHCPv6 IA NA option"; + leaf iaid { + type uint32; + description + "IA NA option's IAID"; + } + container t1 { + description + "Renew time duration of IA NA"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container t2 { + description + "Rebind time duration of IA NA"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + list ia-addr-lst { + description + "List of IA address options leased in IA NA option"; + uses dhcp-ios-xe-oper:dhcpv6-ia-addr-info; + } + } + + grouping dhcpv6-iapd-info { + description + "Information regarding DHCPv6 IA PD option"; + leaf iaid { + type uint32; + description + "IA PD option's IAID"; + } + container t1 { + description + "Renew time duration of IA PD"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container t2 { + description + "Rebind time duration of IA PD"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + list ia-pfx-lst { + description + "List of IA address options leased in IA PD option"; + uses dhcp-ios-xe-oper:dhcpv6-ia-prefix-info; + } + } + + grouping dhcpv6-binding-key { + description + "DHCPv6 binding oper data key"; + leaf pool-name { + type string; + description + "Pool name associated with binding"; + } + leaf link-addr { + type inet:ipv6-address; + description + "Client's link-local address"; + } + } + + grouping dhcpv6-interface { + description + "DHCPv6 interface connected to client"; + choice conn-type-choice { + description + "Choice of DHCPv6 connection type"; + case dhcpv6-conn-direct { + leaf name { + type string; + description + "Interface via which client is connected"; + } + } + case dhcpv6-conn-relayed { + leaf relayed { + type empty; + description + "Client is connected to server via relay"; + } + } + } + } + + grouping dhcpv6-binding-oper { + description + "DHCPv6 binding oper data"; + leaf-list duid { + type uint8; + ordered-by user; + description + "Client's DUID"; + } + leaf ppp-uname { + type string; + description + "Client's PPP username (if present)"; + } + container if-ingress { + description + "Ingress interface for the client's DHCPv6 messages"; + uses dhcp-ios-xe-oper:dhcpv6-interface; + } + leaf ni-name { + type string; + description + "Network instance name. If the Network instance type is net-inst-default, then name is not meaningful"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + list iana-lst { + description + "List of IA NA options granted to the client"; + uses dhcp-ios-xe-oper:dhcpv6-iana-info; + } + list iapd-lst { + description + "List of IA PD options granted to the client"; + uses dhcp-ios-xe-oper:dhcpv6-iapd-info; + } + } + + grouping dhcpv6-relay-binding-stats { + description + "DHCPv6 relay bindings statistics"; + leaf bndg-cnt { + type uint32; + description + "Total number of DHCPv6 relay bindings"; + } + leaf iana-bndg-cnt { + type uint32; + description + "Number of DHCPv6 IANA bindings"; + } + leaf iapd-bndg-cnt { + type uint32; + description + "Number of DHCPv6 IAPD bindings"; + } + leaf bulk-lq-bndg-cnt { + type uint32; + description + "Number of DHCPv6 bindings learnt via bulk leasequery"; + } + } + + grouping dhcpv6-relay-bindings-key { + description + "DHCPv6 relay binding oper key"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "DHCPv6 network instance type"; + } + leaf ni-name { + type string; + description + "DHCPv6 network instance name"; + } + leaf pfx { + type inet:ip-prefix; + description + "DHCPv6 IANA address or IAPD prefix"; + } + leaf route-type { + type dhcp-ios-xe-oper:dhcpv6-relay-route-type; + description + "DHCPv6 route type (IANA or IAPD)"; + } + } + + grouping dhcpv6-relay-bindings-oper { + description + "DHCPv6 relay bindings oper data"; + leaf iaid { + type uint32; + description + "DHCPv6 IAID (Identity Association Identifier)"; + } + leaf-list duid { + type uint8; + ordered-by user; + description + "DHCPv6 client DUID (DHCP Unique Identifier)"; + } + container vld-lftime { + description + "DHCPv6 valid lifetime"; + uses dhcp-ios-xe-oper:dhcpv6-lifetime; + } + container xprtion { + description + "DHCPv6 expiry timestamp"; + uses dhcp-ios-xe-oper:dhcpv6-expiry; + } + leaf bulk-lq-rcvd { + type boolean; + description + "Learned via DHCPv6 bulk leasequery"; + } + } + + container dhcp-oper-data { + config false; + description + "Operational state of DHCP"; + list dhcpv4-server-oper { + key "pool-name client-ip vrf-name"; + description + "List of DHCP server bindings"; + uses dhcp-ios-xe-oper:dhcpv4-server-key; + uses dhcp-ios-xe-oper:dhcpv4-server-oper; + } + list dhcpv4-client-oper { + key "if-name client-addr vrf-name"; + description + "List of DHCP clients"; + uses dhcp-ios-xe-oper:dhcpv4-client-key; + uses dhcp-ios-xe-oper:dhcpv4-client-oper; + } + list dhcpv4-pool { + key "pool-name"; + description + "DHCP pool information"; + uses dhcp-ios-xe-oper:dhcpv4-pool; + } + list dhcpv6-binding-vrf-oper { + key "v6-vrf"; + status obsolete; + description + "List of DHCP clients (OBSOLETE: Use dhcp-oper-data/dhcpv6-bndg-oper instead)"; + uses dhcp-ios-xe-oper:dhcpv6-binding-vrf-key; + uses dhcp-ios-xe-oper:dhcpv6-binding-vrf-oper; + } + list dhcpv6-intf-at-relay-oper { + key "v6-intf-at-relay"; + description + "List of DHCP clients"; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-relay-key; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-relay-oper; + } + list dhcpv6-intf-at-srv-oper { + key "v6-intf-at-srv"; + description + "List of DHCP clients"; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-srv-key; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-srv-oper; + } + list dhcpv6-intf-at-client-oper { + key "v6-intf-at-client"; + description + "List of DHCP clients"; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-client-key; + uses dhcp-ios-xe-oper:dhcpv6-intf-at-client-oper; + } + list dhcpv6-relay-binding-oper { + key "v6-relay-vrf"; + status obsolete; + description + "List of DHCP clients (OBSOLETE: Use dhcp-oper-data/dhcpv6-relay-bndg-oper instead)"; + uses dhcp-ios-xe-oper:dhcpv6-relay-binding-key; + uses dhcp-ios-xe-oper:dhcpv6-relay-binding-oper; + } + list dhcpv6-bndg-oper { + key "pool-name link-addr"; + description + "List of DHCPv6 server bindings"; + uses dhcp-ios-xe-oper:dhcpv6-binding-key; + uses dhcp-ios-xe-oper:dhcpv6-binding-oper; + } + container dhcpv6-relay-binding-stats { + presence "dhcpv6-relay-binding-stats"; + description + "List of DHCPv6 relay binding statistics"; + uses dhcp-ios-xe-oper:dhcpv6-relay-binding-stats; + } + list dhcpv6-relay-bndg-oper { + key "ni-type ni-name pfx route-type"; + description + "List of DHCPv6 relay bindings"; + uses dhcp-ios-xe-oper:dhcpv6-relay-bindings-key; + uses dhcp-ios-xe-oper:dhcpv6-relay-bindings-oper; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-rpc.yang new file mode 100644 index 000000000..c9d6098f0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-rpc.yang @@ -0,0 +1,58 @@ +submodule Cisco-IOS-XE-dhcp-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED DHCP RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-ip-case-ip-protocol-dhcp-case-grouping { + container dhcp { + description + "Delete items from the DHCP database"; + container binding { + description + "DHCP address bindings"; + leaf vrf { + description + "DHCP vrf bindings"; + type string; + } + leaf all-drop-node-name { + description + "Clear all automatic bindings"; + mandatory true; + type string { + pattern '[*]'; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-security-track-server-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-security-track-server-oper.yang new file mode 100644 index 000000000..2d019a392 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp-security-track-server-oper.yang @@ -0,0 +1,178 @@ +module Cisco-IOS-XE-dhcp-security-track-server-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dhcp-security-track-server-oper"; + prefix dhcp-ios-xe-security-track-server-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for tracking DHCP + servers as part of DHCP security infrastructure. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Added subnet-mask in dhcp-security-track-server-entry"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-07-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping dhcp-security-track-server-key { + description + "Key to track a DHCP server within server tracking table."; + leaf vlan { + type uint16; + description + "VLAN the DHCP server was discovered on."; + } + leaf ip { + type inet:ip-address; + description + "IP Address of the DHCP server, it is (a) the server identifier in + the DHCP option of the packet or if that is empty it is (b) the server + IP address field in the packet or if that is also empty it is (c) the + source IP in the packet."; + } + leaf hwaddr { + type yang:mac-address; + description + "MAC Address of the DHCP server. This is really the + source MAC of L2 adjacent endpoint, and it might not be actual server. + It might happen that the same DHCP server is responding via different + adjacent endpoints."; + } + leaf subnet-ip { + type inet:ip-address; + description + "Subnet IP based on offered/acknowledged client IP address and Subnet Mask"; + } + } + + grouping dhcp-security-track-server-ack-key { + description + "Key to track a DHCP ACK within ack table on a given server."; + leaf ip-address { + type inet:ip-address; + description + "The client IP Address as specified in the YIADDR (your IP address) field + of DHCPACK/DHCPOFFER message."; + } + } + + grouping dhcp-security-track-server-ack-entry { + description + "Information about a DHCP ACK entry in the tracking database."; + leaf ack-time { + type yang:date-and-time; + description + "Represents the time when this DHCP ACK was received."; + } + } + + grouping dhcp-security-track-server-entry { + description + "Information about a DHCP server entry in the tracking database."; + leaf srv-id { + type uint32; + description + "DHCP Server Identifier, this is assigned internally and remains + unique within the network-element."; + } + leaf last-updated-time { + type yang:date-and-time; + description + "Represents the time when device received last DHCPACK or DHCPOFFER message + from this server."; + } + leaf num-of-acks { + type uint32; + description + "Total number of DHCPACK messages received from this server."; + } + leaf num-of-offers { + type uint32; + description + "Total number of DHCPOFFER messages received from this server."; + } + leaf if-name { + type string; + description + "Represents the name of the interface this server was discovered on."; + } + leaf-list dhcp-msg { + type uint8; + max-elements 576; + ordered-by user; + description + "Last DHCP message in network byte order as received over the wire."; + } + list dhcp-security-track-server-ack-entry { + key "ip-address"; + description + "DHCP ACK tracking table associated with this server."; + uses dhcp-ios-xe-security-track-server-oper:dhcp-security-track-server-ack-entry; + uses dhcp-ios-xe-security-track-server-oper:dhcp-security-track-server-ack-key; + } + leaf subnet-mask { + type inet:ip-address; + description + "DHCP Server subnet mask."; + } + } + + container dhcp-security-track-server-oper-data { + config false; + description + "DHCP security server tracking operational data."; + list dhcp-security-track-server-entry { + key "vlan ip hwaddr subnet-ip"; + description + "DHCP snooping server tracking information specific to a server."; + uses dhcp-ios-xe-security-track-server-oper:dhcp-security-track-server-entry; + uses dhcp-ios-xe-security-track-server-oper:dhcp-security-track-server-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp.yang new file mode 100644 index 000000000..33ecf3bd3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dhcp.yang @@ -0,0 +1,2982 @@ +module Cisco-IOS-XE-dhcp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dhcp"; + prefix ios-dhcp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Dynamic Host Configuration Protocol (DHCP) Yang model. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated IP address list in DHCP pool raw options CLI to store user-specified order + - Default value update for link-selection compatibility suboption under IP DHCP in the data model + - Default value update for server-override compatibility suboption under IP DHCP in the data model + - OBSOLETE the model which was deprecated before 17.6 release + - Updated new-class container for DHCP class management in the data model + - Add support for DHCPv4 lease-query compatibility, reforwarding policy + - Add support for DHCPv4 server and client parameters + - Add support for DHCPv6 IA NA, IA PD Route Addition and DHCPv6 client link address flag + - Default value update for lease under IP DHCP POOL in the data model + - Update must constraint for ipv6 dhcp guard + - Fixing ipv6 dhcp guard device-role annotations + - Added a when statement for AAA leaf under use class module"; + cisco-semver:module-version "12.0.0"; + } + revision 2024-03-01 { + description + "- Updated default value for ping timeout + - Added support for ip dhcp auto-broadcast and relay information check Cli's + - Add information option allow-untrusted under ip dhcp snooping + - Added vlan-v2 and obsolete vlan and vlan-list + - Added default value for timeout and write-delay leafs + - Deprecated empty type leafs under verify container and implemented the type of leafs as boolean + - Obsolete guard attach-policy"; + cisco-semver:module-version "11.0.0"; + } + revision 2023-11-01 { + description + "- Updated hex string pattern for DHCP option 124 + - Add maximum length constraint to ip/dhcp/pool/id node"; + cisco-semver:module-version "10.1.0"; + } + revision 2023-07-01 { + description + "- Add ip dhcp restrict-next-hop CLI under interface mode + - Updated must conditions in ipv6 dhcp pool for better performance + - Extended DHCPv6 support for Dialer interface + - Added support for DHCP snooping track server + - Added support for snooping"; + cisco-semver:module-version "10.0.0"; + } + revision 2023-03-01 { + description + "- Adding ipv6 dhcp support for interface Cellular and Ethernet + - Deprecated interface leaf under ipv6 dhcp relay destination to leaf-list + - Update vrf-name leaf under ipv6 dhcp relay destination to allow defined VRFs only + - Updated relay-interface under ipv6 dhcp relay destination to allow only interface strings + - Enforced hexadecimal string format on pool/option/hex node"; + cisco-semver:module-version "9.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Adding DHCPv4 and DHCPv6 CLI to configure vendor-identifying Vendor class data + - Added support for override string + - Deprecated leaf string under circuit-id container + - Added if-feature statement to disable IPv6 DHCP Guard commands on platforms where this feature is not supported"; + cisco-semver:module-version "8.0.0"; + } + revision 2022-07-01 { + description + "- Adding DHCPv4 short-lease leaf for interface and global level"; + cisco-semver:module-version "7.1.0"; + } + revision 2022-03-01 { + description + "- Obsolete interface container under import container + - Added support for ip dhcp event-notification interval + - Add vpn-id and server-id-override options to ip dhcp relay information option"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-11-01 { + description + "- Added length constraint to DHCP pool name + - Added support for prefix-delegation dhcpv6 pool + - Added support for prefix-delegation dhcpv6 client + - Added support for dhcpv6 bulk-lease commands + - Added vendor-specific and sub options + - Added rapid-commit and allow-hint under ipv6 dhcp server + - Added ipv6 dhcp ping packets, ipv6 dhcp database and options + - Added ipv6 dhcp framed password and ipv6 dhcp client information refresh minimum + - Hardened vrf for ipv6 dhcp pool "; + cisco-semver:module-version "6.0.0"; + } + revision 2021-07-01 { + description + "- Updated when statement under match container for dhcp guard + - Adding short-lease leaf for interface and global level + - Adding the support for class-id and client-id containers"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Fixed the issue with device-role for dhcp guard + - Adding the support for max and min leaf under pre container in dhcp guard + - Adding the support for attaching policy under vlan for dhcp guard + - Added default in host + - Added acl leaf in snooping-conf + - Added vlan-list in snooping conf to take vlan range and deprecated vlan"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "- Added ordered-by user under leaf-list dns-server-list + - Added constraints and yang code to support for Stateless dhcpv6 "; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added constraints and defaults"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new subnet config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added dhcp relay options + - Added and options + - dhcp pool utilization mark support"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-25 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-29 { + description + "make dhcp snooping changes updated in the netconf datastore"; + } + revision 2018-11-16 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-05 { + description + "Delete intf 'ipv6 dhcp relay destination vrf' before 'vrf forwaring'"; + } + revision 2018-07-26 { + description + "Added some support for interface ipv6 dhcp relay"; + } + revision 2018-07-25 { + description + "Add ip dhcp route"; + } + revision 2018-07-24 { + description + "Fix ip dhcp secondary address and inline lease"; + } + revision 2018-06-16 { + description + "Fix ip dhcp database"; + } + revision 2018-06-13 { + description + "Add more ip dhcp support"; + } + revision 2018-05-30 { + description + "Add ipv6 dhcp relay commands and remove unsupported guard command"; + } + revision 2018-05-19 { + description + "Add dhcp models under ATM interface and sub interface"; + } + revision 2018-05-17 { + description + "Added default-router container support with augmenting the Dialer interface"; + } + revision 2018-05-11 { + description + "allow ip dhcp pool option to remove one ip in rpc"; + } + revision 2018-05-07 { + description + "Add ip dhcp to interface Ethernet"; + } + revision 2018-03-22 { + description + "Fix ip dhcp use vrf connected default behavior"; + } + revision 2018-03-12 { + description + "Add vrf and high-address to the key for ip dhcp excluded-address"; + } + revision 2018-02-26 { + description + "add ip dhcp use support"; + } + revision 2018-01-16 { + description + "Make it take multiple vlans: ip dhcp snooping vlan "; + } + revision 2018-01-10 { + description + "Changed ip dhcp pool / dns-server to cli-flat-list-syntax"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 100GE interface"; + } + revision 2017-11-06 { + description + "Remove choice for ip dhcp pool / client-identifier and hardware-address"; + } + revision 2017-11-01 { + description + "Add ip dhcp pool / host, client-name, client-identifier, hardware-address"; + } + revision 2017-10-18 { + description + "Add modeling to interface mode: ip dhcp client route distance/track"; + } + revision 2017-09-14 { + description + "This revison has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-02 { + description + "Re-arrange the order of vrf in ipv6 dhcp pool"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-ipv6-dhcp-guard-vlan-grouping { + container vlan { + description + "Configure the vlan list for which this policy applies (default: all)"; + leaf vlan-name { + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf add { + description + "add VLANs to the current list"; + type string; + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf except { + description + "VLAN IDs of disallowed VLANS for this policy on this port"; + type string; + } + leaf none { + description + "no VLANs"; + type empty; + } + leaf remove { + description + "Remove VLANs from the current list"; + type string; + } + } + } + + grouping config-interface-ip-dhcp-grouping { + container client { + description + "DHCP client configuration"; + leaf hostname { + description + "Specify hostname to use"; + type string; + } + container option { + description + "DHCP Client options"; + list option-range { + key "option-range"; + leaf option-range { + description + "DHCP option code (1-254)"; + type uint8 { + range "1..254"; + } + } + container option_path { + leaf hex { + description + "Input hex string"; + type string; + } + leaf ascii { + description + "Input ascii string"; + type string; + } + leaf-list ip { + description + "Input IP Address"; + type inet:host; + } + } + container option125_path { + leaf enterprise_id { + type uint32; + } + leaf suboption { + type uint8 { + range "1..3"; + } + } + leaf ascii { + description + "Input ascii string"; + type string; + } + leaf hex { + description + "Input hex string"; + type string; + } + } + } + } + container request { + description + "Specify options (not) to request"; + leaf option { + description + "DHCP options"; + type uint8 { + range "1..254"; + } + } + } + container route { + description + "Options for routes installed by dhcp"; + leaf distance { + description + "set distance for dhcp static routes"; + type uint8 { + range "1..254"; + } + default "254"; + } + leaf track { + description + "Track dhcp routes"; + type uint16 { + range "1..1000"; + } + } + } + container default-router { + description + "Set DHCP default router related information"; + leaf distance { + description + "Set the DHCP derived default route metric"; + type uint8 { + range "1..255"; + } + } + } + container class-id { + description + "Specify Class-ID to use"; + choice class-id-type { + leaf LINE { + description + "Class-ID string, truncated to 200 characters"; + type string { + length "1..200"; + } + } + leaf hex { + description + "Specify hexadecimal class-ID"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + } + } + container client-id { + description + "Specify Client-ID to use"; + choice client-id-type { + container int-config { + description + "Specify interface to use"; + uses ios-ifc:interface-grouping; + } + leaf hex { + description + "Client-ID in hex"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + leaf ascii { + description + "Client-ID as ascii string"; + type string { + length "1..200"; + } + } + } + } + uses vendor-class-grouping; + } + container server { + description + "Configure DHCP server behavior"; + container use { + description + "Configure use of options"; + choice client-type { + container subscriber-id { + description + "Configure use of subscriber-id suboption"; + leaf client-id { + description + "Use subscriber-id suboption as client-id"; + type empty; + } + } + container hardware-address { + description + "Configure use of hardware address"; + leaf client-id { + description + "Use hardware address as client-id"; + type empty; + } + } + } + } + } + container relay { + description + "DHCP relay configuration parameters"; + container information { + description + "DHCP relay information option"; + container check-reply { + description + "Validate relay information in BOOTREPLY"; + presence "true"; + leaf none { + description + "Set to none"; + type empty; + } + } + container option { + description + "DHCP relay information option"; + leaf subscriber-id { + description + "Subscriber identifier sub option"; + type string; + } + leaf vpn-id { + description + "Enable vpn-id support on this interface"; + type empty; + } + leaf server-id-override { + description + "Insert server-id-override and link-selection suboption"; + type empty; + } + } + container option-insert { + description + "Insert relay information in BOOTREQUEST"; + presence "true"; + leaf none { + description + "Set to none"; + type empty; + } + } + leaf policy-action { + description + "Define reforwarding policy"; + type enumeration { + enum drop; + enum encapsulate; + enum keep; + enum replace; + } + } + leaf trusted { + description + "Received DHCP packet may contain relay info option with zero giaddr"; + type empty; + } + } + leaf source-interface { + description + "Set source interface for relayed messages"; + type string; + } + leaf short-lease { + description + "Short lease value in seconds"; + type uint16 { + range "60..3600"; + } + } + } + container snooping { + description + "DHCP Snooping"; + container information { + description + "DHCP Snooping information"; + container option { + description + "DHCP Snooping information option"; + leaf allow-untrusted { + description + "DHCP Snooping information option allow-untrusted"; + type empty; + } + } + } + container limit { + description + "DHCP Snooping limit"; + leaf rate { + description + "DHCP Snooping limit"; + type uint16 { + range "1..2048"; + } + } + } + leaf trust { + description + "DHCP Snooping trust config"; + type empty; + } + list vlan { + description + "DHCP Snooping vlan"; + key "id"; + leaf id { + type uint16 { + range "1..4094"; + } + } + container information { + description + "DHCP Snooping information"; + container option { + description + "DHCP Snooping information option"; + container format-type { + description + "Option 82 information format"; + container circuit-id { + description + "Circuit id option 82 format"; + choice string-choice { + container override { + description + "Override all contents of circuit-id"; + leaf string { + description + "User defined string for circuit id"; + type string { + length "3..63"; + } + } + } + leaf str { + description + "User defined string for circuit id"; + type string { + length "3..63"; + } + } + } + leaf string { + description + "User defined string for circuit id"; + status deprecated; + type string { + length "3..63"; + } + } + } + } + } + } + } + } + leaf restrict-next-hop { + description + "Limit DHCP lease to immediate neighbors"; + type enumeration { + enum cdp { + description + "restrict dhcp lease to cdp neighbors"; + } + enum lldp { + description + "restrict dhcp lease to lldp neighbors"; + } + enum both { + description + "restrict dhcp lease to both lldp and cdp neighbors"; + } + } + } + } + + grouping config-interface-ipv6-dhcp-grouping { + choice client-server-relay-choice { + container client { + description + "Act as an IPv6 DHCP client"; + container request { + description + "Request"; + leaf vendor { + description + "Request Vendor specific options"; + type empty; + } + } + uses vendor-class-grouping; + container pd { + description + "Prefix-Delegation"; + container pd-prefix { + leaf prefix-name { + description + "Prefix name, truncated to 200 characters"; + type string { + length "1..200"; + } + } + leaf rapid-commit { + description + "Enable Rapid-Commit"; + type empty; + } + } + leaf-list hint { + description + "IPv6 x:x::y/"; + ordered-by user; + type ios-types:ipv6-prefix; + } + } + container information { + description + "Configure information refresh option"; + container refresh { + description + "Configure information refresh parameters"; + leaf minimum { + description + "Minimum information refresh time"; + type uint16 { + range "60..3600"; + } + } + } + } + } + list server { + max-elements 1; + description + "Act as an IPv6 DHCP server"; + key "word"; + leaf word { + type string; + } + leaf allow-hint { + description + "Allow hint from client"; + type empty; + } + leaf rapid-commit { + description + "Enable Rapid-Commit"; + type empty; + } + leaf preference { + description + "Preference"; + when "not(contains(../word,'automatic'))"; + type uint8 { + range "0..255"; + } + } + } + container relay { + description + "Act as an IPv6 DHCP relay agent"; + container destination { + description + "Configure relay destination"; + list address { + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + uses interface-leaf-list-grouping; + leaf interface { + description + "Interface for IPv6 relay address"; + status deprecated; + type string; + } + } + list vrf { + key "vrf-name relay-address"; + leaf vrf-name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6' { + error-message "% Specified IPv6 VRF must be created first, deleted last"; + } + type string; + } + leaf relay-address { + description + "Relay Agent IPv6 Address"; + type inet:ipv6-address; + } + leaf-list relay-interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]' { + error-message "Unsupported NED interface type"; + } + type string; + } + } + list global { + key "relay-address"; + leaf relay-address { + description + "Relay Agent IPv6 Address"; + type inet:ipv6-address; + } + leaf-list relay-interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]' { + error-message "Unsupported NED interface type"; + } + type string; + } + } + } + leaf trust { + description + "Interface is trusted to process relay-replies"; + type empty; + } + container option { + description + "Insert options in Relay-forward messages"; + leaf vpn { + description + "Insert VSS option in Relay-Forward Messages"; + type empty; + } + } + container source-interface { + description + "Insert VSS option in Relay-Forward Messages"; + uses ios-ifc:interface-grouping; + } + leaf short-lease { + description + "Short lease value in seconds"; + type uint16 { + range "60..3600"; + } + } + } + } + container framed { + description + "Framed-IPv6-Prefix allocation"; + container password { + description + "Set password for Prefix allocation"; + leaf encryption { + description + "Encryption type (0=not yet encrypted)"; + type uint8 { + range "0..7"; + } + default "0"; + } + leaf word { + description + "Password for Framed-IPv6-Prefix allocation"; + type string; + } + } + } + container guard { + if-feature "ios-features:dhcp-guard"; + description + "Configure IPv6 DHCP guard on the interface"; + presence "true"; + list attached-policies { + key "attach-policy"; + leaf attach-policy { + description + "Apply a policy for feature DHCP guard"; + type string; + must "(/ios:native/ios:ipv6/ios:dhcp/ios-dhcp:guard/ios-dhcp:policy[ios-dhcp:dhcp-guard-policy-name=current()]) or .='default'" { + error-message "Create dhcp guard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + uses config-interface-ipv6-dhcp-guard-vlan-grouping; + } + container default-policy { + uses config-interface-ipv6-dhcp-guard-vlan-grouping; + } + leaf attach-policy { + status obsolete; + description + "Apply a policy for feature DHCP Guard"; + type string; + } + } + } + + grouping ip-dhcp-grouping { + container aaa { + description + "Configure aaa attributes"; + container default { + description + "Specify default values for aaa attributes"; + leaf username { + description + "Default username for non-VRF pool subnet request or release"; + type string; + } + } + } + container bootp { + description + "BOOTP specific configuration"; + leaf ignore { + description + "Configure this DHCP server to ignore to BOOTP requests."; + type empty; + } + } + list class { + description + "Configure DHCP classes"; + key "id"; + leaf id { + type string; + } + container option { + description + "Raw DHCP options"; + list option-list { + key "option-range"; + leaf option-range { + description + "DHCP option code (1-254)"; + type uint8 { + range "1..254"; + } + } + leaf LINE { + description + "Specify a regular expression string"; + type string; + } + list hex-list { + key "hex-string"; + leaf hex-string { + type string; + } + leaf mask { + description + "Specify a bit mask for the pattern"; + type inet:ipv4-address; + } + } + } + } + container relay { + description + "Enter relay agent information option configuration submode"; + container agent { + description + "Enter relay agent information option configuration submode"; + leaf information { + description + "Enter relay agent information option configuration submode"; + type empty; + } + } + } + leaf remark { + description + "Specify a remark for this class"; + type string { + length "1..240"; + } + } + } + container compatibility { + container suboption { + leaf link-selection { + type enumeration { + enum cisco; + enum standard; + } + default "cisco"; + } + leaf server-override { + type enumeration { + enum cisco; + enum standard; + } + default "cisco"; + } + } + container lease-query { + description + "Compatibility for lease-query message type"; + leaf client { + description + "Client side support (default: cisco)"; + type enumeration { + enum cisco; + enum standard; + } + default "cisco"; + } + } + } + container ping { + description + "Specify ping parameters used by DHCP"; + container packets { + description + "Specify number of ping packets"; + presence "true"; + leaf number-packets { + description + "Number of ping packets (0 disables ping)"; + type uint8 { + range "0..10"; + } + default "2"; + } + } + leaf timeout { + description + "Specify ping timeout"; + type uint16 { + range "100..10000"; + } + default "500"; + } + } + container conflict { + description + "DHCP address conflict parameters"; + leaf logging { + description + "Record address conflicts in a log file"; + type boolean; + default "true"; + } + container resolution { + description + "DHCP address conflict resolution"; + presence "true"; + leaf interval { + description + "Time in Minutes"; + type uint32 { + range "5..1440"; + } + } + } + } + container excluded-address { + description + "Prevent DHCP from assigning certain addresses"; + list low-address-list { + key "low-address"; + leaf low-address { + type inet:ipv4-address; + } + } + list low-high-address-list { + key "low-address high-address"; + leaf low-address { + type inet:ipv4-address; + } + leaf high-address { + type inet:ipv4-address; + } + } + list vrf-low-address-list { + key "vrf low-address"; + leaf vrf { + description + "VRF name for excluded address range"; + type string; + } + leaf low-address { + type inet:ipv4-address; + } + } + list vrf-low-high-address-list { + key "vrf low-address high-address"; + leaf vrf { + description + "VRF name for excluded address range"; + type string; + } + leaf low-address { + type inet:ipv4-address; + } + leaf high-address { + type inet:ipv4-address; + } + } + } + container binding { + description + "DHCP address bindings"; + container cleanup { + description + "Remove expired bindings"; + leaf interval { + description + "Time in seconds"; + type uint16 { + range "10..600"; + } + } + } + } + container database { + description + "Configure DHCP database agents"; + list resource { + description + "Uniform Resource Locator (URL)"; + key "resource-locator"; + leaf resource-locator { + description + "Uniform Resource Locator (URL)"; + type string; + } + leaf write-delay { + description + "Set the database write delay"; + type uint32 { + range "60..4294967295"; + } + } + leaf timeout { + description + "Set the database transfer timeout"; + type uint16 { + range "0..3600"; + } + } + } + } + container limit { + description + "Limit DHCP Lease"; + container lease { + description + "DHCP lease"; + leaf log { + description + "Limit DHCP Lease"; + type empty; + } + container per { + description + "per"; + leaf interface { + description + "interface"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container subscriber-id { + description + "Global subscriber-id configuration"; + leaf interface-name { + description + "Use interface short-name"; + type empty; + } + } + container route { + description + "Specify the type of routes for clients on unnumbered interfaces"; + leaf route { + type enumeration { + enum connected; + enum static; + } + default "static"; + } + } + container relay { + description + "DHCP relay agent parameters"; + container information { + description + "Relay agent information option"; + leaf policy { + description + "Reforwarding policy definition"; + type enumeration { + enum drop; + enum encapsulate; + enum keep; + enum replace; + } + default "replace"; + } + leaf trust-all { + description + "Received DHCP packets may contain relay info option with zero giaddr"; + type empty; + } + container option { + description + "Insert relay information in BOOTREQUEST"; + leaf option-default { + description + "Default option, no vpn"; + type empty; + } + leaf vpn { + description + "Insert VPN sub-options and change the giaddr to the outgoing interface"; + type empty; + } + } + leaf check { + description + "Validate relay information in BOOTREPLY"; + type boolean; + default "true"; + } + } + container bootp { + description + "BOOTP specific configuration"; + leaf ignore { + description + "Configure this DHCP relay to ignore to BOOTP requests."; + type empty; + } + } + } + list pool { + description + "Configure DHCP address pools"; + key "id"; + leaf id { + type string { + length "1..236"; + } + } + container subnet { + description + "Subnet"; + leaf prefix-length { + description + "prefix length of subnet"; + type uint8 { + range "1..32"; + } + } + } + list address { + description + "ip address"; + must '../network/primary-network'; + key "ip"; + leaf ip { + description + "IP address"; + type inet:ipv4-address; + } + leaf client-id { + description + "Client ID for which address has to be assigned"; + type string; + } + leaf ascii { + description + "If the value given is ascii"; + type empty; + } + } + container option { + description + "Raw DHCP options"; + list option-range { + key "option-range"; + leaf option-range { + description + "DHCP option code"; + type uint8 { + range "0..254"; + } + } + choice option-range-choice { + case ascii-case { + leaf ascii-new { + description + "Data is an NVT ASCII string"; + type string { + length "1..225"; + } + } + } + case hex-case { + container hex-new { + description + "Data is a hexadecimal string"; + leaf hex-line { + description + "Hexadecimal string, truncated to 180 hex characters entered"; + type string { + pattern '(([0-9a-fA-F]{4}\.*)*(([0-9a-fA-F]{2})|([0-9a-fA-F]{4})))' { + error-message "Incorrect format: input must be an even length dotted-hexadecimal string (e.g. aabb.ccdd.eeff ...)"; + } + length "1..180"; + } + } + leaf none-new { + description + "No data"; + type empty; + } + } + } + case ip-case { + leaf-list ip-ordered { + description + "Data is one or more IP addresses"; + ordered-by user; + type inet:host; + } + leaf-list ip-new { + status deprecated; + description + "Data is one or more IP addresses"; + type inet:host; + } + } + } + leaf ascii { + description + "(OBSOLETE) Data is an NVT ASCII string"; + status obsolete; + type string { + length "1..225"; + } + } + container hex { + description + "(OBSOLETE) Data is a hexadecimal string"; + status obsolete; + leaf hex-line { + description + "(OBSOLETE) Hexadecimal string, truncated to 180 hex characters entered"; + status obsolete; + type string { + length "1..180"; + } + } + leaf none { + description + "(OBSOLETE) No data"; + status obsolete; + type empty; + } + } + leaf-list ip { + description + "(OBSOLETE) Data is one or more IP addresses"; + status obsolete; + type inet:host; + } + } + } + list class { + description + "Specify a DHCP class"; + key "name"; + leaf name { + description + "DHCP class name"; + type string; + } + container import { + description + "Programmatically importing DHCP option parameters"; + container interface { + description + "Specify interface to import options from"; + uses ios-ifc:interface-grouping; + } + } + container option { + description + "DHCP option"; + leaf option { + description + "Options"; + type uint8 { + range "1..254"; + } + } + leaf ascii { + description + "Data is an NVT ASCII string"; + type string; + } + leaf hex { + description + "Input hex string"; + type string; + } + leaf-list ip { + description + "Input IP Address"; + type inet:host; + } + container ext { + leaf option { + description + "Options"; + type uint8 { + range "1..254"; + } + } + leaf ascii { + description + "Data is an NVT ASCII string"; + type string; + } + leaf hex { + description + "Input hex string"; + type string; + } + } + } + container address { + description + "Specify an address range for this class"; + container range { + leaf ipv4-start { + description + "Start IP address"; + type inet:ipv4-address; + } + leaf ipv4-end { + description + "End IP address"; + type inet:ipv4-address; + } + } + } + } + leaf vrf { + description + "Associate this pool with a VRF"; + type string; + } + container lease { + description + "Address lease time"; + choice lease { + container lease-value { + description + "lease in numbers"; + leaf days { + description + "Days"; + type uint16 { + range "0..365"; + } + default "1"; + } + leaf hours { + description + "Hours"; + when '../days'; + type uint8 { + range "0..23"; + } + default "0"; + } + leaf minutes { + description + "Minutes"; + when '../hours'; + type uint8 { + range "0..59"; + } + default "0"; + } + } + leaf infinite { + description + "Infinite lease"; + type empty; + } + } + } + container default-router { + leaf-list default-router-list { + description + "Default routers"; + type union { + type inet:ipv4-address; + type string; + } + } + } + container utilization { + description + "Configure various utilization commands"; + container mark { + description + "Configure thresholds for subnet release or request"; + container high { + description + "Specify high utilization mark of the pool"; + leaf high-value { + description + "Specify high utilization mark of the pool"; + type uint8 { + range "1..100"; + } + must '(not (../../low/low-value)) or (current() > ../../low/low-value)' { + error-message "High utilization must be greater than low utilization percentage."; + } + } + leaf log { + description + "Log a system message when high/low state is detected"; + type empty; + } + } + container low { + description + "Specify low utilization mark of the pool"; + leaf low-value { + description + "Specify low utilization mark of the pool"; + type uint8 { + range "1..100"; + } + must '(not (../../high/high-value)) or(current() < ../../high/high-value)' { + error-message "Low utilization must be less than high utilization percentage."; + } + } + leaf log { + description + "Log a system message when high/low state is detected"; + type empty; + } + } + } + } + container dns-server { + leaf-list dns-server-list { + ordered-by user; + description + "DNS servers"; + type union { + type inet:ipv4-address; + type string; + } + } + } + leaf domain-name { + description + "Domain name"; + type string; + } + container network { + description + "Network number and mask"; + container primary-network { + description + "Network number and mask"; + leaf number { + description + "Network number"; + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + type union { + type string; + type inet:ipv4-address; + } + } + } + list secondary-network { + description + "Secondary number and mask"; + key "number"; + leaf number { + description + "Network number"; + type inet:ipv4-address; + } + leaf mask { + description + "Secondary mask"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf secondary { + description + "Configure as secondary subnet"; + type empty; + } + } + } + container host { + description + "Client IP address and mask"; + leaf number { + description + "IP address in dotted-decimal notation"; + must 'not (../../network/primary-network/number)' { + error-message "The host command may not be used with network, origin, vrf or relay pools and vice versa"; + } + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + when '../number'; + type inet:ipv4-address; + default "255.0.0.0"; + } + } + choice hardware-addr-cient-id-choice { + container hardware-address { + description + "Client hardware address"; + must 'not (../network/primary-network/number)' { + error-message "hardware-address command may not be used with origin, network or vrf pools and vice versa"; + } + leaf hardware-address-val { + description + "Dotted-hexadecimal string (aabb.ccdd.eeff ...)"; + type ios-types:cisco-mac-address-type; + } + } + leaf client-identifier { + description + "Client identifier, Dotted-hexadecimal string (aabb.ccdd.eeff ...)"; + must 'not (../network/primary-network/number)' { + error-message "client-identifier command may not be used with origin, network or vrf pools and vice versa"; + } + type string { + pattern '([0-9a-fA-F]{4}(.[0-9a-fA-F]{4})*((.[0-9a-fA-F]{2})|(.[0-9a-fA-F]{4})))?' { + error-message "Incorrect format for client-identifier Number: regular expression must be of the form ([0-9a-fA-F]{4}(.[0-9a-fA-F]{4})*((.[0-9a-fA-F]{2})|(.[0-9a-fA-F]{4})))?"; + } + } + } + } + leaf client-name { + description + "Client name, Client name (domain should not be included)"; + type string; + } + leaf bootfile { + description + "Boot file name"; + type string { + length "1..127" { + error-message "String length must be less than or equal to 127 characters."; + } + } + } + leaf-list next-server { + description + "IPv4 address in dotted-decimal notation"; + ordered-by user; + max-elements 8; + type inet:ipv4-address; + } + } + leaf smart-relay { + description + "Enable Smart Relay feature"; + type empty; + } + leaf snooping { + description + "DHCP Snooping"; + type empty; + } + container snooping-conf { + container snooping { + description + "DHCP Snooping"; + container database { + description + "DHCP snooping database agent"; + leaf url { + type string; + } + leaf timeout { + description + "Configure abort timeout interval"; + type uint32 { + range "0..86400"; + } + default "300"; + } + leaf write-delay { + description + "Configure delay timer for writes to URL"; + type uint32 { + range "15..86400"; + } + default "300"; + } + } + leaf glean { + description + "DHCP read only snooping"; + type empty; + } + leaf acl { + description + "MAC Access-list name"; + type string; + } + container information { + description + "DHCP Snooping information"; + leaf option { + type boolean; + default "true"; + } + container options { + container option { + description + "DHCP Snooping information option"; + leaf allow-untrusted { + description + "DHCP Snooping information option allow-untrusted"; + type empty; + } + container format { + description + "Option 82 information format"; + container remote-id { + description + "Remote id option 82 format"; + choice remote-id-choice { + leaf hostname { + description + "Use configured hostname for remote id"; + type empty; + } + leaf string { + description + "User defined string for remote id"; + type string; + } + } + } + } + } + } + } + container track { + description + "DHCP snooping track"; + leaf host { + description + "DHCP snooping track host"; + type empty; + } + container server { + description + "DHCP snooping track server"; + presence "true"; + choice server-option { + case all-dhcp-acks-option { + leaf all-dhcp-acks { + description + "Track all DHCP ACKs"; + type empty; + } + } + case limit-option { + leaf limit { + description + "Maximum size of the server tracking table"; + type uint16 { + range "1..512"; + } + } + } + } + } + } + container verify { + description + "DHCP snooping verify"; + leaf mac-address-v2 { + description + "DHCP snooping verify mac-address"; + type boolean; + default "true"; + } + leaf no-relay-agent-address-v2 { + description + "DHCP snooping verify giaddr"; + type boolean; + default "true"; + } + leaf mac-address { + status deprecated; + description + "DHCP snooping verify mac-address"; + type empty; + } + leaf no-relay-agent-address { + status deprecated; + description + "DHCP snooping verify giaddr"; + type empty; + } + } + list vlan-v2 { + description + "DHCP Snooping vlan"; + key "id"; + leaf id { + type uint16 { + range "1..4094"; + } + } + } + list vlan-list { + status obsolete; + description + "DHCP Snooping vlan (OBSOLETE)"; + key "id"; + leaf id { + status obsolete; + description + "DHCP Snooping vlan first number or vlan range,example: 1,3-5,7,9-11"; + type string { + pattern '(((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])(\-(409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))?)(,((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])(\-(409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))?))*)'; + } + } + } + list vlan { + status obsolete; + description + "DHCP Snooping vlan (OBSOLETE)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..4094"; + } + } + } + container wireless { + description + "DHCP snooping wireless"; + container bootp-broadcast { + description + "DHCP snooping wireless bootp-broadcast"; + leaf enable { + description + "DHCP snooping wireless bootp-broadcast enable"; + type empty; + } + } + } + } + } + container use { + description + "Configure use of certain parameters during allocation"; + choice client-type { + container subscriber-id { + leaf client-id { + description + "Use subscriber-id suboption as client-id"; + type empty; + } + } + container hardware-address { + description + "Configure use of hardware address (i.e., MAC)"; + leaf client-id { + description + "Use hardware address as client-id"; + type empty; + } + } + } + container new-class { + description + "Class configuration."; + leaf class { + description + "Allow use of DHCP classes"; + type boolean; + default "true"; + } + leaf aaa { + description + "Allow use of AAA to get class"; + when "../class = 'true'"; + type empty; + } + } + container class { + presence "true"; + status deprecated; + leaf aaa { + description + "Configure use of aaa to get class"; + status deprecated; + type empty; + } + } + container vrf { + description + "Ignore or use receiving interface VRF"; + leaf connected { + description + "Use input interface VRF when servicing connected clients"; + type boolean; + default "true"; + } + leaf remote { + description + "Use input interface VRF when servicing remote clients"; + type empty; + } + } + } + container event-notification { + description + "DHCP event notifications"; + leaf interval { + description + "Time in seconds"; + type uint16 { + range "1..300"; + } + } + } + leaf auto-broadcast { + description + "Configure auto broadcast feature"; + type boolean; + default "true"; + } + } + + grouping ip-dhcp-relay-grouping { + leaf short-lease { + description + "Short lease value in seconds"; + type uint16 { + range "60..3600"; + } + } + } + + grouping ip-dhcp-server-grouping { + description + "Specifies target DHCP server parameters"; + container query { + description + "Configure query parameters"; + container lease { + description + "Global lease query parameters"; + leaf retries { + description + "Maximum number of retransmissions"; + type uint8 { + range "0..5"; + } + default "2"; + } + leaf timeout { + description + "Timeout between retry (in seconds)"; + type uint8 { + range "1..60"; + } + default "10"; + } + } + } + } + + grouping ip-dhcp-client-grouping { + description + "Parameters for DHCP client operation"; + leaf broadcast-flag { + description + "The broadcast flag"; + type boolean; + default "true"; + } + container default-router { + description + "DHCP default router related information"; + leaf distance { + description + "The DHCP derived default route metric"; + type uint8 { + range "1..255"; + } + default "254"; + } + } + } + + grouping ipv6-dhcp-grouping { + container server { + description + "Configure IPv6 DHCP server"; + container vrf { + description + "Enable VRF Awareness on server"; + leaf enable { + description + "Enable Address/PD allocation based on VRF"; + type empty; + } + } + } + container guard { + if-feature "ios-features:dhcp-guard"; + description + "Configure IPv6 DHCP guard"; + list policy { + description + "Configure a policy for feature dhcp guard"; + key "dhcp-guard-policy-name"; + leaf dhcp-guard-policy-name { + type string; + } + container device-role { + description + "Sets the role of the device attached to the port"; + container device-role-choice { + leaf role-choice { + default "client"; + type enumeration { + enum server; + enum monitor; + enum client; + } + } + } + leaf server { + status deprecated; + description + "Deprecated, use other leaf role-choice. Attached device is a dhcp server"; + type empty; + } + leaf monitor { + status deprecated; + description + "Deprecated, use other leaf role-choice. Attached device is a monitor/sniffer"; + type empty; + } + leaf client { + status deprecated; + description + "Deprecated, use other leaf role-choice. Attached device is a client (default)"; + type empty; + } + } + container match { + description + "dhcp filtering"; + when "../device-role/device-role-choice/role-choice = 'server'"; + container server { + description + "permitted server source addresses"; + leaf access-list { + description + "specify access-list for match"; + type string; + } + } + container reply { + description + "permitted server source addresses"; + leaf prefix-list { + description + "specify prefix-list for match"; + type string; + } + } + } + container preference { + description + "Preference to be used"; + when "../device-role/device-role-choice/role-choice = 'server'"; + leaf max { + description + "maximum allowed advertised server preference"; + must '(not (../min)) or (current() >= ../min)' { + error-message "max must be greater than or equal to min"; + } + type uint32 { + range "0 .. 255"; + } + } + leaf min { + description + "minimum allowed advertised server preference"; + must '(not (../max)) or (current() <= ../max)' { + error-message "max must be greater than or equal to min"; + } + type uint32 { + range "0 .. 255"; + } + } + } + leaf trusted-port { + description + "This is a trusted port (no policing)"; + type empty; + } + } + } + list pool { + description + "Configure IPv6 DHCP pool"; + key "name"; + leaf name { + description + "DHCP pool name"; + type string { + length "1..232"; + } + } + leaf vrf { + description + "VRF name"; + type string; + } + container address { + description + "IPv6 address allocation"; + list prefix { + description + "IPv6 address allocation prefix"; + key "ipv6-address"; + leaf ipv6-address { + type ios-types:ipv6-prefix; + } + container lifetime { + description + "Configure prefix lifetimes"; + leaf valid-lifetime { + type union { + type uint32 { + range "5 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + leaf preferred-lifetime { + must "((../valid-lifetime = 'infinite') or ((not (current() = 'infinite')) and (current() <= ../valid-lifetime)))"; + type union { + type uint32 { + range "5 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + } + } + } + container prefix-delegation { + description + "IPv6 prefix delegation"; + list pd-prefix { + key "ipv6-prefix"; + leaf ipv6-prefix { + description + "IPv6 x:x::y/"; + type ios-types:ipv6-prefix; + } + leaf Hex-string { + description + "DHCPv6 unique identifier"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + leaf iaid { + description + "DHCPv6 unique identifier"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + container lifetime { + description + "Configure prefix lifetimes"; + leaf valid-lifetime { + type union { + type uint32 { + range "0 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + leaf preferred-lifetime { + must '. <= ../valid-lifetime' { + error-message "Preferred lifetime must not exceed valid lifetime"; + } + type union { + type uint32 { + range "0 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + } + } + container pool { + description + "IPv6 prefix pool"; + leaf pool-name { + description + "IPv6 prefix pool"; + type string { + length "1..512"; + } + } + container lifetime { + description + "Configure prefix lifetimes"; + leaf valid-lifetime { + type union { + type uint32 { + range "0 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + leaf preferred-lifetime { + must '. <= ../valid-lifetime' { + error-message "Preferred lifetime must not exceed valid lifetime"; + } + type union { + type uint32 { + range "0 .. 4294967295"; + } + type enumeration { + enum infinite; + } + } + } + } + } + } + leaf-list dns-server { + description + "Server's name or IPv6 address"; + ordered-by user; + must 'not(../import/dns-server)' { + error-message "Both Static and Import DNS-Server cannot be configured at the same time."; + } + type union { + type inet:ipv6-address; + type string; + } + } + leaf-list domain-names { + ordered-by user; + must 'not(../import/domain-name)' { + error-message "Both Static and Import Domain-name cannot be configured at the same time."; + } + description + "Domain name to complete unqualified host names"; + type string; + } + leaf domain-name { + status obsolete; + description + "Domain name (OBSOLETE) to complete unqualified host names"; + type string; + } + container sntp { + description + "SNTP server options"; + leaf-list address { + description + "SNTP server address"; + ordered-by user; + type inet:ipv6-address; + must 'not(../../import/sntp/address)' { + error-message "Both Static and Import SNTP-Address cannot be configured at the same time."; + } + } + } + container nis { + description + "NIS server options"; + leaf-list address { + description + "NIS server address"; + type inet:ipv6-address; + ordered-by user; + must 'not(../../import/nis/address)' { + error-message "Both Static and Import NIS-Address cannot be configured at the same time."; + } + } + leaf-list domain-name { + description + "NIS server domain name"; + ordered-by user; + type string; + must 'not(../../import/nis/domain-name)' { + error-message "Both Static and Import NIS-Domain-name cannot be configured at the same time."; + } + } + } + container nisp { + description + "NISP server options"; + leaf-list address { + description + "NISP server address"; + ordered-by user; + type inet:ipv6-address; + must 'not(../../import/nisp/address)' { + error-message "Both Static and Import NISP-Address cannot be configured at the same time."; + } + } + leaf-list domain-name { + description + "NISP server domain name"; + ordered-by user; + type string; + must 'not(../../import/nisp/domain-name)' { + error-message "Both Static and Import NISP-Domain-name cannot be configured at the same time."; + } + } + } + container sip { + description + "SIP server options"; + leaf-list address { + description + "SIP server address"; + ordered-by user; + type inet:ipv6-address; + must 'not(../../import/sip/address)' { + error-message "Both Static and Import SIP-Address cannot be configured at the same time."; + } + } + leaf-list domain-name { + description + "SIP server domain-name"; + ordered-by user; + type string; + must 'not(../../import/sip/domain-name)' { + error-message "Both Static and Import SIP-Domain-name cannot be configured at the same time."; + } + } + } + container information { + description + "Information refresh option"; + container refresh { + description + "Information refresh option"; + choice refresh { + container refresh-value { + description + "Information refresh numbers"; + leaf days { + must 'not(../../../../import/information/refresh)' { + error-message "Both Static and Import INFO-Refresh cannot be configured at the same time."; + } + description + "Days"; + type uint16 { + range "0..365"; + } + } + leaf hours { + description + "Hours"; + when '../days'; + type uint8 { + range "0..23"; + } + } + leaf minutes { + description + "Minutes"; + when '../hours'; + type uint8 { + range "0..59"; + } + } + } + leaf infinite { + must 'not(../../../import/information/refresh)' { + error-message "Both Static and Import INFO-Refresh cannot be configured at the same time."; + } + description + "Infinite lease"; + type empty; + } + } + } + } + container import { + description + "Programmatically importing DHCP option parameters"; + container information { + description + "Import information refresh option"; + leaf refresh { + description + "Import information refresh option"; + type empty; + } + } + leaf bootfile-url { + description + "Bootfile Uniform Resource Locator(URL)"; + must 'not(../../bootfile-url) or not (current())' { + error-message "Both Static and Import Bootfile-URL cannot be configured at the same time."; + } + type empty; + } + leaf dns-server { + description + "Import DNS address"; + type empty; + } + leaf domain-name { + description + "Import Domain name option"; + type empty; + } + container nis { + description + "Import NIS options"; + leaf address { + description + "Import NIS address option"; + type empty; + } + leaf domain-name { + description + "Import NIS domain option"; + type empty; + } + } + container nisp { + description + "Import NISP options"; + leaf address { + description + "Import NISP address option"; + type empty; + } + leaf domain-name { + description + "Import NISP domain option"; + type empty; + } + } + container sip { + description + "Import SIP options"; + leaf address { + description + "Import SIP address option"; + type empty; + } + leaf domain-name { + description + "Import SIP domain option"; + type empty; + } + } + container sntp { + description + "Import SNTP option"; + leaf address { + description + "Import SNTP address option"; + type empty; + } + } + leaf all { + status obsolete; + description + "all DHCP options"; + type empty; + } + container interface { + status obsolete; + description + "Specify interface to import options from"; + uses ios-ifc:interface-obsolete-grouping; + } + } + list link-address { + description + "Link-address to match"; + key "address"; + leaf address { + type ios-types:ipv6-prefix; + } + } + leaf bootfile-url { + description + "Boot file url"; + type string; + } + container option { + description + "DHCPv6 Options configuration"; + leaf include-all { + description + "Include all DHCPv6 configured options in REPLY"; + type empty; + } + } + list vendor-specific { + description + "Configure Vendor-specific option"; + key "value"; + leaf value { + description + "Enterprise ID"; + type uint32 { + range "1..4294967295"; + } + } + list suboption { + description + "Vendor-specific suboption"; + key "number"; + leaf number { + description + "Suboption number"; + type uint16 { + range "1..65535"; + } + } + leaf address { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf ascii { + description + "ASCII string"; + type string; + } + leaf hex { + description + "Hex string"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + } + } + } + container binding { + description + "Configure IPv6 DHCP binding parameters"; + container track { + description + "Track bindings associated with a virtual interface"; + leaf ppp { + description + "Clear bindings when PPP session goes down"; + type empty; + } + } + } + container ppp { + description + "PPP specific commands"; + container framed-prefix { + description + "Framed ipv6 prefix specific commands"; + leaf cache { + description + "Cache the Framed-IPv6 address for PPP sessions"; + type boolean; + default "true"; + } + } + leaf terminate { + description + "Terminate a PPP session when prefix is not available"; + type boolean; + default "true"; + } + } + container ping { + description + "Configure IPv6 DHCP pinging"; + container packets { + description + "Ping packets to send"; + leaf number-packets { + description + "Number (0 disables ping)"; + type uint8 { + range "0..10"; + } + default "0"; + } + } + } + list database { + description + "Configure IPv6 DHCP database agents"; + key "name"; + leaf name { + description + "Database agent name"; + type string { + length "1..230"; + } + } + leaf write-delay { + description + "Set the database write delay"; + type uint32 { + range "60..4294967295"; + } + } + leaf timeout { + description + "Set the database transfer timeout"; + type uint32 { + range "120..4294967295"; + } + } + } + leaf iapd-route-add { + description + "Adds route for IA PD"; + type boolean; + default "true"; + } + leaf iana-route-add { + description + "Adds route for IA NA"; + type empty; + } + } + + grouping ipv6-dhcp-relay-grouping { + container bulk-lease { + description + "Configure IPv6 DHCP Bulk Lease Query"; + container data-timeout-retry { + leaf data-timeout { + description + "Set the bulk lease query data timeout"; + type uint16 { + range "60..600"; + } + default "300"; + } + leaf retry { + description + "Set the bulk lease query and connection retries"; + type uint8 { + range "0..15"; + } + default "5"; + } + } + leaf disable { + description + "Disable bulk lease query"; + type empty; + } + leaf timeout { + description + "Minutes - DHCPV6 Bulk Lease Query waits for Configured Source Interface"; + type uint8 { + range "1..40"; + } + default "30"; + } + } + container option { + description + "Insert option in Relay-Forward messages"; + leaf vpn { + description + "Insert VSS option in Relay-Forward messages"; + type empty; + } + leaf client-link-addr { + description + "Insert client link-layer address in Relay-Forward messages"; + type boolean; + default "true"; + } + } + leaf source-interface { + description + "Set source interface for relayed messages"; + type string; + } + leaf trust-all { + description + "All interfaces are trusted to process relay-replies"; + type boolean; + default "true"; + } + leaf short-lease { + description + "Short lease value in seconds"; + type uint16 { + range "60..3600"; + } + } + } + + grouping vendor-class-grouping { + container vendor-class { + description + "Configure vendor class data"; + choice vendor-class-option { + leaf ascii { + description + "Vendor class data as string"; + type string { + length "1..200"; + } + } + leaf disable { + description + "Disable sending vendor-class data"; + type empty; + } + leaf hex { + description + "Vendor class data as hex"; + type string { + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + leaf mac-address { + description + "Mac address as vendor class data"; + type empty; + } + } + } + } + + grouping interface-leaf-list-grouping { + leaf-list interface-list { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]' { + error-message "Unsupported NED interface type"; + } + type string; + } + } + + augment "/ios:native/ios:ip/ios:dhcp" { + uses ip-dhcp-grouping; + } + + augment "/ios:native/ios:ip/ios:dhcp-relay" { + uses ip-dhcp-relay-grouping; + } + + augment "/ios:native/ios:ip/ios:dhcp-server" { + uses ip-dhcp-server-grouping; + } + + augment "/ios:native/ios:ip/ios:dhcp-client" { + uses ip-dhcp-client-grouping; + } + + augment "/ios:native/ios:ipv6/ios:dhcp" { + uses ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:ipv6/ios:dhcp-relay" { + uses ipv6-dhcp-relay-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ip/ios:dhcp" { + uses config-interface-ip-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6/ios:dhcp" { + uses config-interface-ipv6-dhcp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-diagnostics.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-diagnostics.yang new file mode 100644 index 000000000..08ec9e3b8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-diagnostics.yang @@ -0,0 +1,632 @@ +module Cisco-IOS-XE-diagnostics { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-diagnostics"; + prefix ios-diag; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Diagnostic Yang Model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Fixed diagnostic cns CLI + - Added support for diagnostic cns publish command"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping diagnostic-daily-on-weekly-grouping { + container daily { + description + " Daily Schedule "; + leaf hh-mm { + description + "Begin Time hh:mm"; + type ios-types:hhmm-type; + } + } + container on { + description + " Absolute Schedule "; + leaf month { + description + "Enter month -> + Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"; + type ios-types:month-type; + } + leaf day-of-month { + description + " <1-31> Day of month "; + type uint16 { + range "1..31"; + } + } + leaf Year { + description + "Enter Year <1993-2035>"; + type uint16 { + range "1993..2035"; + } + } + leaf hh-mm { + description + "Begin Time hh:mm"; + type ios-types:hhmm-type; + } + } + container weekly { + description + "Weekly schedule"; + leaf day { + description + "Enter Day of the week + Mon|Tue|Wed|Thu|Fri|Sat|Sun"; + type ios-types:weekday-type; + } + leaf hh-mm { + description + "Begin Time hh:mm"; + type ios-types:hhmm-type; + } + } + } + + grouping diagnostic-schedule-port-grouping { + container port { + description + "Interface port selection"; + list interface-port-number { + description + "Interface port number"; + key "number"; + leaf number { + type uint8 { + range "1..32"; + } + } + uses diagnostic-daily-on-weekly-grouping; + } + list port-number-list { + description + "Port number list (e.g. 2,4-7)"; + key "number-list"; + leaf number-list { + description + "Port number list (e.g. 2,4-7)"; + type string; + } + uses diagnostic-daily-on-weekly-grouping; + } + container all { + description + "Select all ports"; + uses diagnostic-daily-on-weekly-grouping; + } + } + } + + grouping config-diagnostic-grouping { + container diagnostic { + description + "Configure diagnostic information"; + container bootup { + description + "Configure diagnostic for bootup"; + leaf level { + description + "Select diagnostic level"; + type enumeration { + enum complete; + enum minimal; + } + } + } + container event-log { + description + "Configure diagnostic event log"; + leaf size { + description + "Configure event log size + Number of entries <1-10000>"; + type uint16 { + range "1..10000"; + } + } + } + container cns { + description + "Diagnostic CNS configuration"; + container cns-publish { + description + "CNS diagnostic publishing"; + choice config-options { + description + "CNS diagnostic publishing configuration"; + case publish-case { + description + "Diagnostic CNS publish configuration"; + leaf publish { + description + "Enables sending of diagnostic results to the CNS event bus"; + type boolean; + default "false"; + } + } + case common-case { + description + "Diagnostic CNS publish subject configuration"; + container common-config { + description + "CNS behaviour configuration"; + container publish { + description + "CNS behaviour configuration"; + leaf subject { + description + "CNS diagnostic subject."; + type string; + } + } + } + } + } + } + } + container monitor { + description + "Configure diagnostic monitoring tests"; + container interval { + description + "Configure diagnostic monitoring tests interval"; + container switch { + description + "Configure diagnostic monitoring tests interval on selected switch"; + list switch { + description + "Configure diagnostic monitoring tests on selected switch"; + key "number"; + leaf number { + description + "switch number"; + type uint8 { + range "1..9"; + } + } + container test { + description + "Diagnostic test selection + Diagnostics test suite attributes: + M/C/* - Minimal bootup level test / Complete bootup level test / NA + B/* - Basic ondemand test / NA + P/V/* - Per port test / Per device test / NA + D/N/* - Disruptive test / Non-disruptive test / NA + S/* - Only applicable to standby unit / NA + X/* - Not a health monitoring test / NA + F/* - Fixed monitoring interval test / NA + E/* - Always enabled monitoring test / NA + A/I - Monitoring is active / Monitoring is inactive + + Test Interval + ID Test Name Attributes day hh:mm:ss.ms Threshold + ==== ================================ ============ =============== ===== + 1) DiagGoldPktTest -----------------> *BPN*X**I not configured n/a + 2) DiagThermalTest -----------------> *B*N****A 000 00:01:30.00 5 + 3) DiagFanTest ---------------------> *B*N****A 000 00:01:30.00 5 + 4) DiagPhyLoopbackTest -------------> *BPD*X**I not configured n/a + 5) DiagScratchRegisterTest ---------> *B*N****A 000 00:01:30.00 5 + 6) DiagPoETest ---------------------> ***D*X**I not configured n/a + 7) DiagStackCableTest --------------> ***D*X**I not configured n/a + 8) DiagMemoryTest ------------------> *B*D*X**I not configured n/a "; + list test-ids { + key "id"; + leaf id { + description + "Test ID list (e.g. 1,3-6) or Test Name"; + type string; + } + leaf hh-mm-ss { + description + "Monitoring interval in hh:mm:ss format"; + type ios-types:hhmmss-type; + } + leaf milli-seconds { + description + "Number of milli-seconds [0-999]"; + type uint16 { + range "0..999"; + } + } + leaf number-of-days { + description + "Number of days [0-20]"; + type uint16 { + range "0..20"; + } + } + } + container all { + description + "Select all test ID "; + leaf hh-mm-ss { + description + "Monitoring interval in hh:mm:ss format"; + type ios-types:hhmmss-type; + } + leaf milli-seconds { + description + "Number of milli-seconds [0-999]"; + type uint16 { + range "0..999"; + } + } + leaf number-of-days { + description + "Number of days [0-20]"; + type uint16 { + range "0..20"; + } + } + } + } + } + } + } + list switch { + description + "Configure diagnostic monitoring tests on selected switch"; + key "number"; + leaf number { + description + "switch number"; + type uint8 { + range "1..9"; + } + } + container test { + description + "Diagnostic test selection + Diagnostics test suite attributes: + M/C/* - Minimal bootup level test / Complete bootup level test / NA + B/* - Basic ondemand test / NA + P/V/* - Per port test / Per device test / NA + D/N/* - Disruptive test / Non-disruptive test / NA + S/* - Only applicable to standby unit / NA + X/* - Not a health monitoring test / NA + F/* - Fixed monitoring interval test / NA + E/* - Always enabled monitoring test / NA + A/I - Monitoring is active / Monitoring is inactive + + Test Test Interval + ID Test Name Attributes day hh:mm:ss.ms Threshold + ==== ================================== ============ =============== ===== + 1) DiagGoldPktTest -----------------> *BPN*X**I not configured n/a + 2) DiagThermalTest -----------------> *B*N****A 000 00:01:30.00 5 + 3) DiagFanTest ---------------------> *B*N****A 000 00:01:30.00 5 + 4) DiagPhyLoopbackTest -------------> *BPD*X**I not configured n/a + 5) DiagScratchRegisterTest ---------> *B*N****A 000 00:01:30.00 5 + 6) DiagPoETest ---------------------> ***D*X**I not configured n/a + 7) DiagStackCableTest --------------> ***D*X**I not configured n/a + 8) DiagMemoryTest ------------------> *B*D*X**I not configured n/a "; + choice test-id { + leaf id { + description + "Test ID list (e.g. 1,3-6) or Test Name"; + type string; + } + leaf all { + description + "Select all test ID "; + type empty; + } + } + } + } + leaf syslog { + description + "Configure diagnostic monitoring syslog"; + type empty; + } + container threshold { + description + "Configure diagnostic monitoring failure threshold"; + list switch { + description + "Configure diagnostic monitoring tests threshold on selected switch"; + key "number"; + leaf number { + description + "switch number"; + type uint8 { + range "1..9"; + } + } + container test { + description + "Diagnostic test selection + Diagnostics test suite attributes: + M/C/* - Minimal bootup level test / Complete bootup level test / NA + B/* - Basic ondemand test / NA + P/V/* - Per port test / Per device test / NA + D/N/* - Disruptive test / Non-disruptive test / NA + S/* - Only applicable to standby unit / NA + X/* - Not a health monitoring test / NA + F/* - Fixed monitoring interval test / NA + E/* - Always enabled monitoring test / NA + A/I - Monitoring is active / Monitoring is inactive + + Test + Interval + ID Test Name Attributes day hh:mm:ss.ms Threshold + ==== ================================== ============ =============== ===== + 1) DiagGoldPktTest -----------------> *BPN*X**I not configured n/a + 2) DiagThermalTest -----------------> *B*N****A 000 00:01:30.00 5 + 3) DiagFanTest ---------------------> *B*N****A 000 00:01:30.00 5 + 4) DiagPhyLoopbackTest -------------> *BPD*X**I not configured n/a + 5) DiagScratchRegisterTest ---------> *B*N****A 000 00:01:30.00 5 + 6) DiagPoETest ---------------------> ***D*X**I not configured n/a + 7) DiagStackCableTest --------------> ***D*X**I not configured n/a + 8) DiagMemoryTest ------------------> *B*D*X**I not configured n/a "; + list test-ids { + key "id"; + leaf id { + description + "Test ID list (e.g. 1,3-6) or Test Name"; + type string; + } + container failure { + description + "Setting failure threshold"; + list count { + description + "Setting failure threshold count"; + key "range"; + leaf range { + description + "Number of allowable failures [1-1000]"; + type uint16 { + range "1..1000"; + } + } + leaf days { + description + "Set failure history window in days <1-1000000>"; + type uint32 { + range "1..1000000"; + } + } + leaf hours { + description + "Set failure history window in hours <1-1000000>"; + type uint32 { + range "1..1000000"; + } + } + leaf milli-seconds { + description + "Set failure history window in milli-seconds <15-1000000>"; + type uint32 { + range "15..1000000"; + } + } + leaf minutes { + description + "Set failure history window in minutes"; + type uint32 { + range "1..1000000"; + } + } + leaf runs { + description + "Set failure history window in test-run count"; + type uint16 { + range "1..5000"; + } + } + leaf seconds { + description + "Set failure history window in seconds"; + type uint32 { + range "1..1000000"; + } + } + } + } + } + container all { + description + "Select all test ID "; + container failure { + description + "Setting failure threshold"; + list count { + description + "Setting failure threshold count"; + key "range"; + leaf range { + description + "Number of allowable failures [1-1000]"; + type uint16 { + range "1..1000"; + } + } + leaf days { + description + "Set failure history window in days"; + type uint32 { + range "1..1000000"; + } + } + leaf hours { + description + "Set failure history window in hours"; + type uint32 { + range "1..1000000"; + } + } + leaf milli-seconds { + description + "Set failure history window in milli-seconds"; + type uint32 { + range "15..1000000"; + } + } + leaf minutes { + description + "Set failure history window in minutes"; + type uint32 { + range "1..1000000"; + } + } + leaf runs { + description + "Set failure history window in test-run count"; + type uint16 { + range "1..5000"; + } + } + leaf seconds { + description + "Set failure history window in seconds"; + type uint32 { + range "1..1000000"; + } + } + } + } + } + } + } + } + } + container schedule { + description + "Configure diagnostic schedule for a card"; + list switch { + description + "Configure diagnostic monitoring tests interval on selected switch"; + key "switch-number"; + leaf switch-number { + description + "switch number"; + type uint8 { + range "1..9"; + } + } + container test { + description + "Diagnostic test selection + Diagnostics test suite attributes: + M/C/* - Minimal bootup level test / Complete bootup level test / NA + B/* - Basic ondemand test / NA + P/V/* - Per port test / Per device test / NA + D/N/* - Disruptive test / Non-disruptive test / NA + S/* - Only applicable to standby unit / NA + X/* - Not a health monitoring test / NA + F/* - Fixed monitoring interval test / NA + E/* - Always enabled monitoring test / NA + A/I - Monitoring is active / Monitoring is inactive + Test Interval + ID Test Name Attributes day hh:mm:ss.ms Threshold + ==== ================================== ============ =============== ===== + 1) DiagGoldPktTest -----------------> *BPN*X**I not configured n/a + 2) DiagThermalTest -----------------> *B*N****A 000 00:01:30.0 5 + 3) DiagFanTest ---------------------> *B*N****A 000 00:01:30.00 5 + 4) DiagPhyLoopbackTest -------------> *BPD*X**I not configured n/a + 5) DiagScratchRegisterTest ---------> *B*N****A 000 00:01:30.00 5 + 6) DiagPoETest ---------------------> ***D*X**I not configured n/a + 7) DiagStackCableTest --------------> ***D*X**I not configured n/a + 8) DiagMemoryTest ------------------> *B*D*X**I not configured n/a "; + list test-ids { + key "id"; + leaf id { + description + "Test ID list (e.g. 1,3-6) or Test Name"; + type string; + } + uses diagnostic-daily-on-weekly-grouping; + uses diagnostic-schedule-port-grouping; + } + container all { + description + "Select all test ID "; + uses diagnostic-daily-on-weekly-grouping; + uses diagnostic-schedule-port-grouping; + } + container basic { + description + "Select the Basic ondemand test suite [Attribute = B]"; + uses diagnostic-daily-on-weekly-grouping; + uses diagnostic-schedule-port-grouping; + } + container complete { + description + "Select the Complete bootup test suite [Attribute = C]"; + uses diagnostic-daily-on-weekly-grouping; + } + container minimal { + description + "Select the Minimal bootup test suite [Attribute = M]"; + uses diagnostic-daily-on-weekly-grouping; + } + container non-disruptive { + description + "Select the Non-Disruptive test suite [Attribute = N]"; + uses diagnostic-daily-on-weekly-grouping; + uses diagnostic-schedule-port-grouping; + } + container per-port { + description + "Select the Per-Port test suite [Attribute = P]"; + uses diagnostic-daily-on-weekly-grouping; + uses diagnostic-schedule-port-grouping; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-diagnostic-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer-deviation.yang new file mode 100644 index 000000000..e4c4dba2a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer-deviation.yang @@ -0,0 +1,38 @@ +module Cisco-IOS-XE-dialer-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dialer-deviation"; + prefix ios-dialer-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-01 { + description + "Added dialer mtu deviation"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios:mtu" { + deviate replace { + type uint16 { + range "64..9216"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer.yang new file mode 100644 index 000000000..aed565708 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dialer.yang @@ -0,0 +1,248 @@ +module Cisco-IOS-XE-dialer { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dialer"; + prefix ios-dial; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Dialer Interfaces. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-03-01 { + description + "- Deprecated leaf watch-group and added new leaf-list to store more than one entry like IOS "; + cisco-semver:module-version "1.2.0"; + } + revision 2020-11-01 { + description + "-down with vInterface "; + cisco-semver:module-version "1.1.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-08-30 { + description + "Added dependency for interface dialer in-band and pool"; + } + revision 2018-05-01 { + description + "Move dialer related model to dialer yang file"; + } + revision 2018-03-28 { + description + "Initial revision for Dialer Interface"; + } + + grouping config-dialer-grouping { + container dialer { + description + "Dialer commands"; + list watch-list { + description + "Dialer watch list"; + key "number"; + leaf number { + type uint8 { + range "1..255"; + } + } + list delay { + description + "Dialer watch delay"; + key "interval"; + leaf interval { + type enumeration { + enum connect; + enum disconnect; + enum route-check; + } + } + leaf initial { + description + "Delay for initial check of watched route after boot"; + when "../interval = 'route-check'"; + type empty; + } + leaf delay-time { + description + "Delay time in seconds"; + type uint32 { + range "1..2147483"; + } + } + } + list ip { + description + "IP"; + key "address"; + leaf address { + description + "IP address"; + type inet:ipv4-address; + } + leaf mask { + description + "IP subnet mask"; + type inet:ipv4-address; + } + } + } + } + } + + grouping config-dialer-list-grouping { + list dialer-list { + description + "Create a dialer list entry"; + key "group-number"; + leaf group-number { + type uint8 { + range "1..128"; + } + } + list protocol { + key "protocol-type"; + leaf protocol-type { + type enumeration { + enum appletalk; + enum bridge; + enum clns; + enum clns_es; + enum clns_is; + enum decnet; + enum decnet_node; + enum decnet_router-L1; + enum decnet_router-L2; + enum ip; + enum ipv6; + enum ipx; + enum llc2; + enum netbios; + enum novell; + enum vines; + enum xns; + } + } + leaf access { + type enumeration { + enum deny; + enum list; + enum permit; + } + } + leaf list-name { + when "../access = 'list'"; + type string; + } + } + } + } + + grouping config-interface-dialer-grouping { + container dialer { + leaf in-band { + description + "Dialing for interface"; + type empty; + } + leaf pool { + description + "Dialer pool to be used"; + type uint16 { + range "1..255"; + } + } + leaf down-with-vInterface { + description + "Down with vInterface"; + must '../in-band or ../pool' { + error-message "%Configure a \"dialer in-band\", or \"dialer pool\" first."; + } + type empty; + } + leaf idle-timeout { + description + "Idle timeout before disconnect"; + must '../in-band or ../pool' { + error-message "%Configure a \"dialer in-band\", or \"dialer pool\" first."; + } + type uint32; + } + leaf string { + description + "number to be passed for calling"; + type string; + } + leaf-list watch-group-list { + description + "Assign interface to dialer-watch-list"; + ordered-by user; + must '../in-band' { + error-message "A dialer must first be specified"; + } + type uint32 { + range "1..255"; + } + } + leaf watch-group { + description + "Assign interface to dialer-watch-list"; + status deprecated; + type uint32; + } + } + leaf dialer-group { + description + "Assign interface to dialer-list"; + type uint8 { + range "1..128"; + } + } + } + + augment "/ios:native" { + uses config-dialer-grouping; + } + + augment "/ios:native" { + uses config-dialer-list-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-dialer-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-dialer-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-diffserv-target-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-diffserv-target-oper.yang new file mode 100644 index 000000000..0ee08727d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-diffserv-target-oper.yang @@ -0,0 +1,244 @@ +module Cisco-IOS-XE-diffserv-target-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-diffserv-target-oper"; + prefix diffserv-target-oper; + + import cisco-semver { + prefix cisco-semver; + } + + //import ietf-interfaces { + // prefix if; + //} + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive + San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; + description "This module contains a collection of YANG definitions for +Diffserv operational data " + + "Copyright (c) 2017 by Cisco Systems, Inc." + + "All rights reserved."; + + // ========================================================================= + // REVISION + // ========================================================================= + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-09 { + description + "Initial version"; + reference + "ietf-diffserv-target.yang"; + } + + identity direction { + description + "This is identity of traffic direction"; + } + + identity inbound { + base direction; + description + "Direction of traffic coming into the network entry"; + } + + identity outbound { + base direction; + description + "Direction of traffic going out of the network entry"; + } + + feature target-inline-policy-config { + description + "This feature allows the policy configuration + directly under a target."; + } + + grouping wred-stats { + description + "WRED Counters"; + leaf early-drop-pkts { + type uint64; + description + "Early drop packets "; + } + leaf early-drop-bytes { + type uint64; + description + "Early drop bytes "; + } + } + + grouping classifier-entry-stats { + description + "Classifier Counters"; + container classifier-entry-statistics { + config false; + description + " + This group defines the classifier filter statistics of + each classifier entry + + "; + leaf classified-pkts { + type uint64; + description + " Number of total packets which filtered + to the classifier-entry"; + } + leaf classified-bytes { + type uint64; + description + " Number of total bytes which filtered + to the classifier-entry"; + } + leaf classified-rate { + type uint64; + units "bits-per-second"; + description + " Rate of average data flow through the + classifier-entry"; + } + } + } + + grouping queuing-stats { + description + "Queuing Counters"; + container queuing-statistics { + description + "queue related statistics "; + leaf output-pkts { + type uint64; + description + "Number of packets transmitted from queue "; + } + leaf output-bytes { + type uint64; + description + "Number of bytes transmitted from queue "; + } + leaf queue-size-pkts { + type uint64; + description + "Number of packets currently buffered "; + } + leaf queue-size-bytes { + type uint64; + description + "Number of bytes currently buffered "; + } + leaf drop-pkts { + type uint64; + description + "Total number of packets dropped "; + } + leaf drop-bytes { + type uint64; + description + "Total number of bytes dropped "; + } + container wred-stats { + uses wred-stats; + description + "Container for WRED statistics"; + } + } + } + + grouping meter-stats { + description + "Metering Counters"; + list meter-statistics { + key "meter-id"; + description + "Meter statistics"; + leaf meter-id { + type uint16; + description + "Meter Identifier"; + } + leaf meter-succeed-pkts { + type uint64; + description + "Number of packets which succeed the meter"; + } + leaf meter-succeed-bytes { + type uint64; + description + "Bytes of packets which succeed the meter"; + } + leaf meter-failed-pkts { + type uint64; + description + "Number of packets which failed the meter"; + } + leaf meter-failed-bytes { + type uint64; + description + "Bytes of packets which failed the meter"; + } + } + } + + container diffserv-interfaces-state { + description + "Interface configuration parameters."; + config false; + list diffserv-interface { + key "name"; + description + "The list of configured interfaces on the device."; + leaf name { + type string; + description + "The name of the interface."; + } + list diffserv-target-entry { + key "direction policy-name"; + description + "policy target for inbound or outbound direction"; + leaf direction { + type identityref { + base direction; + } + description + "Direction fo the traffic flow either inbound or outbound"; + } + leaf policy-name { + type string; + description + "Policy entry name"; + } + list diffserv-target-classifier-statistics { + key "classifier-entry-name parent-path"; + description + "Statistics for each Classifier Entry in a Policy"; + leaf classifier-entry-name { + type string; + description + "Classifier Entry Name"; + } + leaf parent-path { + type string; + description + "Path of the Classifier Entry in a hierarchical policy "; + } + uses classifier-entry-stats; + uses meter-stats; + uses queuing-stats; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-digital-io-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-digital-io-oper.yang new file mode 100644 index 000000000..812339cd9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-digital-io-oper.yang @@ -0,0 +1,283 @@ +module Cisco-IOS-XE-digital-io-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-digital-io-oper"; + prefix digital-io-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Digital Input and Output port operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dio-port-severity { + type enumeration { + enum port-severity-none { + value 0; + description + "Port Severity None"; + } + enum port-severity-critical { + value 1; + description + "Port Severity Critical"; + } + enum port-severity-major { + value 2; + description + "Port Severity Major"; + } + enum port-severity-minor { + value 3; + description + "Port Severity Minor"; + } + enum port-severity-info { + value 4; + description + "Port Severity Informational"; + } + } + description + "Port Severity"; + } + + typedef dio-port-state { + type enumeration { + enum port-state-closed { + value 0; + description + "Port State Closed"; + } + enum port-state-open { + value 1; + description + "Port State Open"; + } + } + description + "Port State"; + } + + typedef dio-port-status { + type enumeration { + enum port-status-not-triggered { + value 0; + description + "Port Status Not Triggered"; + } + enum port-status-triggered { + value 1; + description + "Port Status Triggered"; + } + } + description + "Port Status"; + } + + typedef dio-port-mode { + type enumeration { + enum port-mode-input { + value 0; + description + "Port Mode Input"; + } + enum port-mode-output { + value 1; + description + "Port Mode Output"; + } + enum port-mode-output-relay-temp { + value 2; + description + "Port Mode Output Relay Temperature"; + } + enum port-mode-output-relay-input { + value 3; + description + "Port Mode Output Relay Input"; + } + } + description + "Port Mode"; + } + + typedef dio-port-application { + type enumeration { + enum port-app-dry { + value 0; + description + "Port Application Dry"; + } + enum port-app-wet { + value 1; + description + "Port Application Wet"; + } + } + description + "Port Application"; + } + + typedef dio-port-output-source { + type enumeration { + enum port-out-src-input0 { + value 0; + description + "Port Output Source Input 0"; + } + enum port-out-src-input1 { + value 1; + description + "Port Output Source Input 1"; + } + enum port-out-src-input2 { + value 2; + description + "Port Output Source Input 2"; + } + enum port-out-src-input3 { + value 3; + description + "Port Output Source Input 3"; + } + enum port-out-src-input4 { + value 4; + description + "Port Output Source Input 4"; + } + enum port-out-src-temp-minor { + value 5; + description + "Port Output Source Temperature Minor"; + } + enum port-out-src-temp-major { + value 6; + description + "Port Output Source Temperature Major"; + } + enum port-out-src-temp-critical { + value 7; + description + "Port Output Source Temperature Critical"; + } + } + description + "Port Output Source"; + } + + grouping digital-io-port { + description + "Digital IO port"; + leaf port-num { + type uint16; + description + "Port number"; + } + leaf attached-to-iox { + type boolean; + description + "Attached to IOX"; + } + leaf enabled { + type boolean; + description + "Enabled"; + } + leaf desc { + type string; + description + "Description"; + } + leaf severity { + type digital-io-ios-xe-oper:dio-port-severity; + description + "Severity"; + } + leaf port-value { + type uint16; + description + "Port value"; + } + leaf trigger { + type digital-io-ios-xe-oper:dio-port-state; + description + "Trigger"; + } + leaf status { + type digital-io-ios-xe-oper:dio-port-status; + description + "Port status"; + } + leaf mode { + type digital-io-ios-xe-oper:dio-port-mode; + description + "Port mode"; + } + leaf app { + type digital-io-ios-xe-oper:dio-port-application; + description + "Application"; + } + leaf source { + type digital-io-ios-xe-oper:dio-port-output-source; + description + "Output source"; + } + leaf voltage { + type uint16; + units "millivolts"; + description + "Voltage"; + } + leaf threshold { + type uint16; + units "millivolts"; + description + "Threshold"; + } + } + + container digital-io-oper-data { + config false; + description + "Operational state of Digital IO"; + list digital-io-port { + key "port-num"; + description + "Digital IO port"; + uses digital-io-ios-xe-oper:digital-io-port; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-digitalio.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-digitalio.yang new file mode 100644 index 000000000..7d605f53d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-digitalio.yang @@ -0,0 +1,174 @@ +module Cisco-IOS-XE-digitalio { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-digitalio"; + prefix ios-digitalio; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Digital IO Yang model. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-alarm-grouping { + container alarm { + description + "Configure the system alarm port settings"; + container contact { + description + "Configure the system alarm contact (digital I/O)"; + leaf attach-to-iox { + description + "Enable Digital IO Ports access from IOX"; + type empty; + } + list port { + key "id"; + leaf id { + description + "Alarm contact number (0: Alarm port, 1-4: Digital I/O)"; + type uint8 { + range "0..4"; + } + } + leaf application { + description + "Set the alarm application"; + when '../enable and ((../id > 0) and not (../output))'; + type enumeration { + enum dry; + enum wet; + } + } + leaf attach-port-to-iox { + description + "Enable selected Digital IO Ports access from IOX"; + when '../id > 0 and not (../../attach-to-iox)'; + type empty; + } + leaf description { + description + "Alarm description string"; + when '../enable'; + type string { + length "1..200"; + } + } + leaf enable { + description + "Enable the alarm/digital IO port"; + when '../id = 0 or (../id > 0 and not (../../attach-to-iox))'; + type empty; + } + leaf severity { + description + "Set the severity level reported"; + when "../enable and (../id = 0 or + (../id > 0 and not (../output)))"; + type enumeration { + enum critical; + enum major; + enum minor; + enum none; + } + } + leaf threshold { + description + "Threshold in mv (1600 as default)"; + when '../enable and (../id > 0) and not (../output)'; + type uint16 { + range "1600..2700"; + } + } + leaf trigger { + description + "Set the alarm trigger"; + when "../enable and ((../id = 0) or + ((../id > 0) and not (../output)))"; + type enumeration { + enum open; + enum closed; + } + } + container output { + description + "Set mode as output"; + presence "alarm output"; + when '../enable and (../id > 0)'; + choice output-type { + case value { + leaf value { + description + "output value (1 for High, 0 for Low)"; + type uint8 { + range "0..1"; + } + } + } + case relay { + container relay { + description + "Configure the system alarm relay (output)"; + choice relay-type { + case input-alarm { + leaf input-alarm { + description + "External input alarm number"; + type uint8 { + range "0..4"; + } + } + } + case temperature { + leaf temperature { + description + "Temperature alarm"; + type enumeration { + enum critical; + enum major; + enum minor; + } + } + } + } + } + } + } + } + } + } + } + } + + augment "/ios:native" { + uses config-alarm-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr-oper.yang new file mode 100644 index 000000000..7e60e5679 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr-oper.yang @@ -0,0 +1,458 @@ +module Cisco-IOS-XE-dlr-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dlr-oper"; + prefix dlr-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for DLR operational data. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dlr-device-mode { + type enumeration { + enum dlr-active-supervisor-mode { + value 0; + description + "DLR Ring is in Active Supervisor mode"; + } + enum dlr-backup-supervisor-mode { + value 1; + description + "DLR Ring is in Backup Supervisor mode"; + } + enum dlr-beacon-node-mode { + value 2; + description + "DLR Ring is in beacon-node mode"; + } + } + description + "Device mode in DLR Ring"; + } + + typedef dlr-nw-topo { + type enumeration { + enum dlr-topology-linear { + value 0; + description + "DLR topology is open"; + } + enum dlr-topology-ring { + value 1; + description + "DLR topology is closed"; + } + } + description + "Network Topology in DLR Ring"; + } + + typedef dlr-nw-status { + type enumeration { + enum dlr-network-normal { + value 0; + description + "DLR ring status is normal"; + } + enum dlr-network-fault { + value 1; + description + "DLR ring status is fault"; + } + enum dlr-network-unexpected-loop { + value 2; + description + "DLR ring has detected unexpected loop"; + } + enum dlr-network-partial-fault { + value 3; + description + "DLR ring is in partial network fault"; + } + enum dlr-network-rapid-fault { + value 4; + description + "DLR ring has detected rapid fault/restore cycle"; + } + } + description + "Network status of DLR Ring"; + } + + typedef dlr-device-state { + type enumeration { + enum dlr-supervisor-idle-state { + value 0; + description + "DLR Supervisor in Idle state"; + } + enum dlr-backup-supervisor-fault-state { + value 1; + description + "DLR Backup Supervisor in Fault state"; + } + enum dlr-backup-supervisor-normal-state { + value 2; + description + "DLR Backup Supervisor in Normal state"; + } + enum dlr-active-supervisor-fault-state { + value 3; + description + "DLR Active Supervisor in Fault state"; + } + enum dlr-active-supervisor-normal-state { + value 4; + description + "DLR Active Supervisor in Normal state"; + } + enum dlr-supervisor-mode-not-supported { + value 5; + description + "DLR Supervisor mode not supported"; + } + enum dlr-supervisor-rapid-fault-state { + value 6; + description + "DLR Supervisor in Rapid Fault state"; + } + enum dlr-supervisor-partial-fault-state { + value 7; + description + "DLR Supervisor in Partial Fault state"; + } + enum dlr-supervisor-none-state { + value 8; + description + "DLR Supervisor in None state"; + } + enum dlr-beacon-node-idle-state { + value 9; + description + "DLR beacon node in Idle state"; + } + enum dlr-beacon-node-fault-state { + value 10; + description + "DLR beacon node in Fault state"; + } + enum dlr-beacon-node-normal-state { + value 11; + description + "DLR beacon node in Normal state"; + } + enum dlr-beacon-node-none-state { + value 12; + description + "DLR beacon node in None state"; + } + enum dlr-beacon-node-invalid-state { + value 13; + description + "DLR beacon node in Invalid state"; + } + } + description + "DLR device state"; + } + + typedef dlr-gw-status { + type enumeration { + enum dlr-status-non-gateway { + value 0; + description + "Non-gateway device"; + } + enum dlr-status-backup-gateway { + value 1; + description + "DLR backup gateway"; + } + enum dlr-status-active-gateway { + value 2; + description + "DLR active gateway"; + } + enum dlr-status-fault { + value 3; + description + "DLR gateway fault"; + } + enum dlr-status-not-support-gateway { + value 4; + description + "DLR gateway not supported"; + } + enum dlr-gateway-partial-network-fault { + value 5; + description + "DLR gateway partial network fault"; + } + } + description + "DLR gateway status"; + } + + grouping dlr-ring-port { + description + "Information of ports configured in the DLR Ring"; + leaf if-name { + type string; + description + "Name of DLR port"; + } + leaf vlan-id { + type uint32; + description + "VLAN identity associated with the port"; + } + leaf link-state { + type boolean; + description + "State of the port belonging to the DLR Ring"; + } + leaf lbrp { + type boolean; + description + "Last Beacon Received Port"; + } + } + + grouping dlr-sup-params { + description + "DLR Supervisor parameters"; + leaf beacon-intvl { + type uint32; + units "microseconds"; + description + "beacon interval in microseconds"; + } + leaf beacon-timeout { + type uint32; + units "microseconds"; + description + "beacon timeout in microseconds"; + } + leaf dlr-vlan-id { + type uint32; + description + "DLR VLAN identity"; + } + leaf precedence { + type uint32; + description + "Supervisor precedence"; + } + } + + grouping dlr-node-id { + description + "DLR device identity"; + leaf node-mac-addr { + type yang:mac-address; + description + "DLR Device MAC address"; + } + leaf node-ip-addr { + type inet:ip-address; + description + "DLR Device IP address"; + } + } + + grouping dlr-fault-stats { + description + "DLR ring fault statistics"; + leaf num-faults { + type uint32; + description + "Number of ring faults since last power up"; + } + leaf last-fault-time { + type yang:date-and-time; + description + "Time of last ring fault"; + } + } + + grouping dlr-gw-params { + description + "DLR gateway parameters"; + leaf ad-intvl { + type uint32; + units "microseconds"; + description + "Gateway advertisement interval in microseconds"; + } + leaf ad-timeout { + type uint32; + units "microseconds"; + description + "Gateway advertisement timeout in microseconds"; + } + leaf precedence { + type uint32; + description + "Gateway precedence"; + } + leaf lrn-update { + type boolean; + description + "Gateway learning update feature"; + } + } + + grouping dlr-ring-summary { + description + "Summary of the DLR Ring parameters"; + leaf dlr-ring-id { + type uint32; + description + "DLR ring identity"; + } + leaf mode { + type dlr-ios-xe-oper:dlr-device-mode; + description + "DLR mode of device"; + } + leaf topo { + type dlr-ios-xe-oper:dlr-nw-topo; + description + "DLR network topology"; + } + leaf ring-status { + type dlr-ios-xe-oper:dlr-nw-status; + description + "DLR ring status"; + } + leaf device-state { + type dlr-ios-xe-oper:dlr-device-state; + description + "DLR device state"; + } + container my-node-id { + description + "Current device identity"; + uses dlr-ios-xe-oper:dlr-node-id; + } + list ring-port { + description + "DLR ring ports"; + uses dlr-ios-xe-oper:dlr-ring-port; + } + container active-sup-params { + description + "DLR active Supervisor parameters"; + uses dlr-ios-xe-oper:dlr-sup-params; + } + container active-sup-id { + description + "Device identity of Active Supervisor node"; + uses dlr-ios-xe-oper:dlr-node-id; + } + container local-sup-params { + description + "Current device Supervisor parameters"; + uses dlr-ios-xe-oper:dlr-sup-params; + } + leaf ring-partpnt-count { + type uint8; + description + "Number of nodes participating in the ring"; + } + list ring-partpnt-id { + description + "Device identities of all the participant nodes"; + uses dlr-ios-xe-oper:dlr-node-id; + } + container ring-fault-stats { + description + "DLR ring fault statistics"; + uses dlr-ios-xe-oper:dlr-fault-stats; + } + container last-active-node-on-p1 { + description + "Last node on P1 side that is reachable"; + uses dlr-ios-xe-oper:dlr-node-id; + } + container last-active-node-on-p2 { + description + "Last node on P2 side that is reachable"; + uses dlr-ios-xe-oper:dlr-node-id; + } + leaf gw-status { + type dlr-ios-xe-oper:dlr-gw-status; + description + "DLR gateway status"; + } + leaf-list uplink-port-if-name { + type string; + ordered-by user; + description + "DLR gateway/uplink ports"; + } + container active-gw-params { + description + "DLR Active gateway parameters"; + uses dlr-ios-xe-oper:dlr-gw-params; + } + container active-gw-id { + description + "DLR Active gateway device identity"; + uses dlr-ios-xe-oper:dlr-node-id; + } + container gw-fault-stats { + description + "DLR gateway fault statistics"; + uses dlr-ios-xe-oper:dlr-fault-stats; + } + container local-gw-params { + description + "DLR local gateway parameters"; + uses dlr-ios-xe-oper:dlr-gw-params; + } + } + + container dlr-oper-data { + config false; + description + "DLR operational data"; + list dlr-ring-summary { + key "dlr-ring-id"; + description + "Summary of the DLR Ring parameters"; + uses dlr-ios-xe-oper:dlr-ring-summary; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr.yang new file mode 100644 index 000000000..7e684ae66 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dlr.yang @@ -0,0 +1,255 @@ +module Cisco-IOS-XE-dlr { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dlr"; + prefix dlr; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE DLR (Device Level Ring) model"; + + revision 2023-11-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-dlr-grouping { + container dlr { + description + "DLR Configuration"; + list ring { + description + "configure dlr ring node as beacon-node or supervisor"; + key "id"; + leaf id { + description + "dlr id"; + type enumeration { + enum 1; + enum 2; + enum 3; + } + } + container mode { + description + "configure dlr node as beacon-node or supervisor"; + choice mode-choice { + default "beacon-case"; + case beacon-case { + leaf beacon-node { + description + "configure dlr beacon-node mode"; + must ". = 'true'" { + error-message "mode beacon-node cannot be set to false"; + } + type boolean; + default "true"; + } + } + case supervisor-case { + container supervisor { + description + "configure dlr supervisor mode"; + presence "true"; + leaf beacon-interval { + description + "beacon-interval timer (ms)"; + type uint32 { + range "100..100000"; + } + default "400"; + } + leaf beacon-timeout { + description + "beacon-timeout timer (ms)"; + type uint32 { + range "200..500000"; + } + default "1960"; + } + leaf control-vlan-id { + description + "vlan id of supervisor"; + type int32 { + range "0..4094"; + } + default "0"; + } + leaf precedence { + description + "precedence of supervisor node"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + } + } + } + container gateway { + description + "configure DLR gateway"; + choice gateway-choice { + default "gateway-disable-case"; + case gateway-enable-case { + container enable { + description + "enable gateway functionality"; + presence "true"; + leaf advertise-interval { + description + "gateway advertise interval"; + type uint32 { + range "1000..100000"; + } + default "2000"; + } + leaf advertise-timeout { + description + "gateway advertise timeout"; + type uint32 { + range "2500..500000"; + } + default "5000"; + } + leaf gateway-precedence { + description + "gateway precedence"; + type uint8 { + range "0..255"; + } + default "0"; + } + container learning-update { + description + "gateway learning update capability (default enable)"; + choice learning-update-choice { + default "enable-case"; + case enable-case { + leaf enable { + description + "enable gateway learning update capability"; + must ". = 'true'" { + error-message "enable cannot be set to false, use disable instead."; + } + type boolean; + default "true"; + } + } + case disable-case { + leaf disable { + description + "disable gateway learning update capability"; + type empty; + } + } + } + } + } + } + case gateway-disable-case { + leaf disable { + description + "disable gateway functionality"; + must ". = 'true'" { + error-message "gateway disable cannot be set to false, use gateway enable"; + } + type boolean; + default "true"; + } + } + } + } + } + } + } + + grouping config-interface-dlr-grouping { + container dlr { + description + "attach the interface to the DLR ring"; + list ring { + description + "attach the interface to the DLR ring"; + key "id"; + leaf id { + description + "dlr id"; + type enumeration { + enum 1; + enum 2; + enum 3; + } + } + leaf uplink { + description + "attach the interface as uplink port of dlr gateway"; + type empty; + } + } + } + } + + grouping config-interface-uplink-dlr-grouping { + container dlr { + description + "attach the interface to the DLR ring"; + list ring { + description + "attach the interface to the DLR ring"; + key "id"; + leaf id { + description + "dlr id"; + must '../uplink'; + type enumeration { + enum 1; + enum 2; + enum 3; + } + } + leaf uplink { + description + "attach the interface as uplink port of dlr gateway"; + type empty; + } + } + } + } + + augment "/ios:native" { + uses config-dlr-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-dlr-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-dlr-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-uplink-dlr-grouping; + } + + augment "/ios:native/ios:interface/ios:PRP-channel" { + uses config-interface-uplink-dlr-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dmi-common-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dmi-common-types.yang new file mode 100644 index 000000000..6042a6972 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dmi-common-types.yang @@ -0,0 +1,54 @@ +module Cisco-IOS-XE-dmi-common-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dmi-common-types"; + prefix dmi-common-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of common YANG definitions + for DMI configuration and operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-local-vrf-name { + type enumeration { + enum vrf-guestshell { + value 0; + description + "Configure NETCONF access on guest-shell VRF."; + } + } + description + "The enumeration with all possible VRF names for local host NETCONF access configuration."; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dns-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dns-oper.yang new file mode 100644 index 000000000..0e069c52d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dns-oper.yang @@ -0,0 +1,113 @@ +module Cisco-IOS-XE-dns-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dns-oper"; + prefix dns-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of Cisco DNS operational information. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dns-source-type { + type enumeration { + enum source-type-static { + value 0; + description + "IPv4/IPv6 address configured by user"; + } + enum source-type-dhcp { + value 1; + description + "IPv4/IPv6 address learned via DHCP"; + } + } + description + "Source type of the DNS IPv4/IPv6 address"; + } + + grouping dns-name-server-data { + description + "DNS IPv4/IPv6 name server data"; + leaf ip-addr { + type inet:ip-address; + description + "DNS IPv4/IPv6 address"; + } + leaf source { + type dns-ios-xe-oper:dns-source-type; + description + "DNS IPv4/IPv6 address source"; + } + } + + grouping dns-name-server { + description + "DNS IPv4/IPv6 name server information"; + list name-server { + description + "DNS IPv4/IPv6 name server data"; + uses dns-ios-xe-oper:dns-name-server-data; + } + } + + grouping dns-name-server-key { + description + "DNS IPv4/IPv6 name server key information"; + leaf ni-name { + type string { + length "0..32"; + } + description + "Network instance name. If the Network instance type is net-inst-default, then name is not meaningful"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + } + + container dns-oper-data { + config false; + description + "Cisco DNS IPv4/IPv6 name server data"; + list dns-name-server { + key "ni-name ni-type"; + description + "List of IPv4/IPv6 name server data"; + uses dns-ios-xe-oper:dns-name-server; + uses dns-ios-xe-oper:dns-name-server-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dot1x.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dot1x.yang new file mode 100644 index 000000000..64d33f665 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dot1x.yang @@ -0,0 +1,502 @@ +module Cisco-IOS-XE-dot1x { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dot1x"; + prefix ios-dot1x; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native dot1x Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Moved deprecated node dot1x critical eapol to obsolete"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added default values for dot1x timeout"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added dot1x config for UCSE"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added anonymous-id"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-26 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-01-30 { + description + "Added dot1x logging"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping mode-config-fallback-profile-grouping { + leaf description { + description + "Any textual description"; + type string; + } + container ip { + description + "Internet Protocol configuration commands"; + list access-group { + description + "Specify access control for packets"; + key "name"; + leaf name { + description + "IP expanded access list (standard or extended)"; + type union { + type uint16 { + range "1300..2699"; + } + type string; + } + } + leaf in { + description + "inbound packets"; + type empty; + } + } + leaf admission { + description + "Name of IP admission rule"; + type string; + } + } + } + + grouping config-fallback-grouping { + container profile { + description + "Create a Fallback profile"; + list fallback-list { + description + "Specify a policy name"; + key "name"; + leaf name { + type string; + } + uses mode-config-fallback-profile-grouping; + } + } + } + + grouping config-dot1x-grouping { + container auth-fail { + description + "Set 802.1x Fail Authentication parameter"; + leaf eapol { + description + "Send EAPOL-Success on successful auth-fail Authorization"; + type empty; + } + } + container guest-vlan { + description + "Configure Guest Vlan and 802.1x Supplicant behavior"; + leaf supplicant { + description + "Allow 802.1x capable supplicants to enter Guest Vlan"; + type empty; + } + } + list credentials { + description + "Configure 802.1X credentials profiles"; + key "profile-name"; + leaf description { + description + "Provide a description for the credentials profile"; + type string; + } + leaf profile-name { + description + "Specify a profile name"; + type string; + } + leaf username { + description + "Set the authentication userid"; + type string; + } + container password { + description + "Set the authentication password"; + leaf type { + type enumeration { + enum 0; + enum 7; + } + } + leaf secret { + type string; + } + } + leaf pki-trustpoint { + description + "Set the default pki trustpoint"; + type string; + } + leaf anonymous-id { + description + "Set the anonymous userid"; + type string; + } + } + container critical { + description + "Set 802.1x Critical Authentication parameters"; + container eapol-config { + description + "Send EAPOL-Success on successful Critical Authentication"; + presence "true"; + leaf block { + description + "Block all EAPoL transaction on Critical Authentication"; + type empty; + } + } + leaf eapol { + status obsolete; + description + "Obsolete: Use eapol-config"; + type empty; + } + container recovery { + description + "Set 802.1x Critical Authentication Recovery parameters"; + leaf delay { + description + "Set 802.1x Critical Authentication Recovery Delay period"; + type uint16 { + range "1..10000"; + } + } + } + } + container test { + description + "Configure dot1x test related parameters"; + leaf timeout { + description + "Timeout for device EAPOL capabilities test in seconds"; + type uint16 { + range "1..65535"; + } + } + } + container logging { + description + "Set logging parameters"; + leaf verbose { + description + "Show verbose messages in system logs"; + type empty; + } + } + container supplicant { + description + "802.1X supplicant configuration"; + container controlled { + description + "Configure controlled access by 802.1X supplicant"; + leaf transient { + description + "Controlled access is only applied during authentication"; + type empty; + } + } + leaf force-multicast { + description + "Force 802.1X supplicant to send multicast packets"; + type empty; + } + } + leaf system-auth-control { + description + "Enable or Disable SysAuthControl"; + type empty; + } + } + + grouping config-interface-dot1x-grouping { + container dot1x { + description + "Interface Config Commands for IEEE 802.1X"; + container authenticator { + description + "Configure authenticator parameters"; + container eap { + description + "Configure EAP authenticator parameters"; + leaf profile { + description + "EAP authenticator profile configuration"; + type string; + } + } + } + leaf pae { + description + "Set 802.1x interface pae type"; + type enumeration { + enum authenticator; + enum supplicant; + enum both; + } + } + leaf credentials { + description + "Credentials profile configuration"; + type string; + } + leaf max-reauth-req { + description + "Max No. of Reauthentication Attempts"; + type uint8 { + range "1..10"; + } + } + leaf max-req { + description + "Max No. of Retries"; + type uint8 { + range "1..10"; + } + } + leaf max-start { + description + "Max No. of EAPOL-Start requests"; + type uint8 { + range "1..10"; + } + } + container supplicant { + description + "Configure supplicant parameters"; + container eap { + description + "Configure EAP supplicant parameters"; + leaf profile { + description + "EAP supplicant profile configuration"; + type string; + } + } + } + container timeout { + description + "Various Timeouts"; + leaf auth-period { + description + "Timeout for authenticator reply"; + type uint16 { + range "1..65535" { + error-message "The auth-period must be a positive number not larger than 65535"; + } + } + default "30"; + } + leaf held-period { + description + "Timeout for authentication retries"; + type uint16 { + range "1..65535" { + error-message "The held-period must be a positive number not larger than 65535"; + } + } + default "60"; + } + leaf quiet-period { + description + "QuietPeriod in Seconds"; + type uint16 { + range "1..65535" { + error-message "The quiet-period must be a positive number not larger than 65535"; + } + } + default "60"; + } + leaf ratelimit-period { + description + "Ratelimit Period in seconds"; + type uint16 { + range "1..65535" { + error-message "The ratelimit-period must be a positive number not larger than 65535"; + } + } + } + leaf server-timeout { + description + "Timeout for Radius Retries"; + type uint16 { + range "1..65535" { + error-message "The server-period must be a positive number not larger than 65535"; + } + } + } + leaf start-period { + description + "Timeout for EAPOL-start retries"; + type uint16 { + range "1..65535" { + error-message "The start-period must be a positive number not larger than 65535"; + } + } + default "30"; + } + leaf supp-timeout { + description + "Timeout for supplicant reply"; + type uint16 { + range "1..65535" { + error-message "The supp-timeout must be a positive number not larger than 65535"; + } + } + default "30"; + } + leaf tx-period { + description + "Timeout for supplicant retries"; + type uint16 { + range "1..65535" { + error-message "The tx-timeout must be a positive number not larger than 65535"; + } + } + default "30"; + } + } + } + } + + augment "/ios:native/ios:dot1x" { + uses config-dot1x-grouping; + } + + augment "/ios:native/ios:fallback" { + uses config-fallback-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-dot1x-grouping { + if-feature "ios-features:dot1x"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-cp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-cp-oper.yang new file mode 100644 index 000000000..06f11a3da --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-cp-oper.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XE-dre-cp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dre-cp-oper"; + prefix dre-cp-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for dre operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping appqoe-dre-version-status { + description + "DRE version status"; + leaf recommended-version { + type string; + description + "DRE version recommended to run"; + } + leaf supported-regex { + type string; + description + "DRE version regular expression - describes version support"; + } + leaf installed-version { + type string; + description + "DRE version currently installed"; + } + leaf supported { + type boolean; + description + "DRE supported flag - indicates if the installed DRE version is compatible with the supported version"; + } + } + + container dre-cp-oper-data { + config false; + description + "dre cp operational data"; + container appqoe-dre-version-status { + presence "appqoe-dre-version-status"; + description + "DRE version status"; + uses dre-cp-xe-oper:appqoe-dre-version-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-oper.yang new file mode 100644 index 000000000..ee7e22046 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dre-oper.yang @@ -0,0 +1,2301 @@ +module Cisco-IOS-XE-dre-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dre-oper"; + prefix dre-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Data Redundancy Elimination operational data. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added support for DRE crypto statistics"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-11-01 { + description + "Added support for DRE bypass counter"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "Profiles support for Data Redundancy Elimination + - Added support for DRE statistics brief + - Deprecated internal fragmentation and buffer usage by module"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dre-comp-type { + type enumeration { + enum comp-invalid { + value 0; + description + "Compression type - invalid"; + } + enum comp-dre-only { + value 1; + description + "Compression type - DRE only"; + } + enum comp-lz-only { + value 2; + description + "Compression type - LZ only"; + } + enum comp-dre-lz { + value 3; + description + "Compression type - DRE + LZ"; + } + } + description + "DRE comp type"; + } + + typedef dre-health-status { + type enumeration { + enum dre-status-unknown { + value 0; + description + "DRE health status is unknown"; + } + enum dre-status-red { + value 1; + description + "DRE health status is red"; + } + enum dre-status-yellow { + value 2; + description + "DRE health status is yellow"; + } + enum dre-status-green { + value 3; + description + "DRE health status is green"; + } + enum dre-status-unavailable { + value 4; + description + "DRE health status is unavailable"; + } + enum dre-status-disabled { + value 5; + description + "DRE health status is disabled"; + } + } + description + "Data Redundancy Elimination health status"; + } + + typedef dre-cache-status { + type enumeration { + enum cache-status-inactive { + value 0; + description + "Cache is inactive"; + } + enum cache-status-init-in-progress { + value 1; + description + "Cache is in progress"; + } + enum cache-status-active { + value 2; + description + "Cache is active"; + } + enum cache-status-temp-failed { + value 3; + description + "Cache temporarily failed"; + } + enum cache-status-failed { + value 4; + description + "Cache is failed"; + } + } + description + "Status of DRE cache"; + } + + typedef dre-profile-type { + type enumeration { + enum dre-profile-unknown { + value 0; + description + "DRE profile type unknown"; + } + enum dre-profile-high { + value 1; + description + "DRE profile type high"; + } + enum dre-profile-medium { + value 2; + description + "DRE profile type medium"; + } + enum dre-profile-low { + value 3; + description + "DRE profile type low"; + } + enum dre-profile-small { + value 4; + description + "DRE profile type small"; + } + enum dre-profile-large { + value 5; + description + "DRE profile type large"; + } + enum dre-profile-extra-large { + value 6; + description + "DRE profile type extra large"; + } + enum dre-profile-extra-extra-large { + value 7; + description + "DRE profile type extra extra Large"; + } + } + description + "DRE profile type"; + } + + typedef dre-alarms { + type enumeration { + enum almid-dre-none { + value 0; + description + "Alarm ID none"; + } + enum almid-dre-disk-full { + value 1; + description + "Disk full alarm"; + } + enum almid-dre-cache-corrupted { + value 2; + description + "Cache corrupted alarm"; + } + enum almid-dre-over-fanout { + value 3; + description + "Over fanout alarm"; + } + enum almid-dre-disk-overload { + value 4; + description + "Disk overload alarm"; + } + enum almid-dre-maxconn-threshold { + value 5; + description + "Maximum connections threshold exceeded alarm"; + } + enum almid-dre-cpu-threshold { + value 6; + description + "CPU threshold exceeded alarm"; + } + enum almid-dre-init-failed { + value 7; + description + "Init failed alarm"; + } + } + description + "DRE alarms"; + } + + typedef dre-hs-change-reason { + type enumeration { + enum hs-reason-none { + value 0; + description + "Health status change reason - none"; + } + enum hs-reason-init-failed { + value 1; + description + "Health status reason - init failed"; + } + enum hs-reason-not-responding { + value 2; + description + "Health status reason - no response"; + } + enum hs-reason-cache-corrupted { + value 3; + description + "Health status reason - cache corrupted"; + } + enum hs-reason-disk-overload { + value 4; + description + "Health status change reason - disk overload"; + } + enum hs-reason-disk-full { + value 5; + description + "Health status change reason - disk full"; + } + enum hs-reason-cpu-threshold { + value 6; + description + "Health status change reason - CPU threshold"; + } + enum hs-reason-maxconn-threshold { + value 7; + description + "Health status change - maximum connections threshold"; + } + enum hs-reason-rename-over-fanout { + value 8; + description + "Health status change reason - over fanout"; + } + } + description + "DRE health status change reason"; + } + + typedef lz-algorithm { + type enumeration { + enum lz-algo-unknown { + value 0; + description + "LZ LZO algorithm"; + } + enum lz-algo-zlib { + value 1; + description + "LZ ZLIB algorithm"; + } + enum lz-algo-lzo { + value 2; + description + "LZ LZO algorithm"; + } + } + description + "Type of LZ algorithm"; + } + + typedef dre-state { + type enumeration { + enum dre-state-unknown { + value 0; + description + "DRE state - Unknown"; + } + enum dre-state-monitor { + value 1; + description + "DRE state - Monitor"; + } + enum dre-state-bypass { + value 2; + description + "DRE state - Bypass"; + } + } + description + "DRE state"; + } + + typedef bypass-reason { + type enumeration { + enum bypass-lowmem-bytes { + value 0; + description + "Bypass reason - Low memory bytes"; + } + enum bypass-out-of-sync { + value 1; + description + "Bypass reason - Out of sync"; + } + enum bypass-cache-not-ready { + value 2; + description + "Bypass reason - Cache not ready"; + } + enum bypass-rem-cache-not-ready { + value 3; + description + "Bypass reason - Remote cache not ready"; + } + enum bypass-cache-not-compatible { + value 4; + description + "Bypass reason - Remote cache not compatible"; + } + enum bypass-ackq-cap-exceed { + value 5; + description + "Bypass reason - Exceed ack-Q cap"; + } + enum bypass-remote-waitq-bytes { + value 6; + description + "Bypass reason - Remote wait-Q due to nack"; + } + enum bypass-disk-overld-bytes { + value 7; + description + "Bypass reason - Local disk overload"; + } + enum bytes-rem-disk-overld-bytes { + value 8; + description + "Bypass reason - Remote disk overload"; + } + enum reason-disk-io-err-bytes { + value 9; + description + "Bypass reason - Local disk IO error"; + } + enum bypass-rem-disk-io-err-bytes { + value 10; + description + "Bypass reason - Remote disk IO error"; + } + enum bypass-non-dre-comp-type-bytes { + value 11; + description + "Bypass reason - Non DRE compression type"; + } + enum bypass-chunk-bytes { + value 12; + description + "Bypass reason - Last partial chunk"; + } + enum bypass-skip-bytes { + value 13; + description + "Bypass reason - Skipped frame header"; + } + enum bypass-low-comp-bytes { + value 14; + description + "Bypass reason - DRE low compression auto bypass"; + } + } + description + "DRE bypass reasons"; + } + + typedef appqoe-dre-enc-state { + type enumeration { + enum appqoe-dre-enc-success { + value 0; + description + "DRE encryption state is success"; + } + enum appqoe-dre-enc-failed { + value 1; + description + "DRE encryption state is failed"; + } + enum appqoe-dre-enc-wait { + value 2; + description + "DRE encryption state is wait"; + } + } + description + "Data Redundancy Elimination encryption state"; + } + + typedef appqoe-dre-crypt-req { + type enumeration { + enum appqoe-crypt-success { + value 0; + description + "DRE crypto success"; + } + enum appqoe-crypt-failed { + value 1; + description + "DRE crypto failed"; + } + enum appqoe-crypt-req-failed { + value 2; + description + "DRE crypto request failed"; + } + enum appqoe-crypt-aborted { + value 3; + description + "DRE crypto aborted"; + } + enum appqoe-crypt-encrypt-req { + value 4; + description + "DRE crypto encrypt request"; + } + enum appqoe-crypt-decrypt-req { + value 5; + description + "DRE crypto decrypt request"; + } + } + description + "Data Redundancy Elimination crypto request"; + } + + typedef appqoe-dre-crypt-oper { + type enumeration { + enum appqoe-crypt-oper-enc { + value 0; + description + "DRE crypto operation type is encryption"; + } + enum appqoe-crypt-oper-dec { + value 1; + description + "DRE crypto operation type is decryption"; + } + } + description + "Data Redundancy Elimination crypto operation type"; + } + + typedef appqoe-dre-crypt-block { + type enumeration { + enum appqoe-dre-blk-signature { + value 0; + description + "DRE crypto block type is signature"; + } + enum appqoe-dre-blk-segments { + value 1; + description + "DRE crypto block type is segments"; + } + enum appqoe-dre-blk-sections { + value 2; + description + "DRE crypto block type is sections"; + } + } + description + "Data Redundancy Elimination crypto block type"; + } + + grouping active-alarms { + description + "Active alarms"; + leaf alarms-list { + type dre-xe-oper:dre-alarms; + description + "List of alarms"; + } + } + + grouping appqoe-dre-config { + description + "AppQoE DRE detail status"; + leaf total-disk { + type uint16; + units "GB"; + description + "Total available disk space"; + } + leaf max-cons { + type uint32; + description + "Maximum connections configured"; + } + leaf max-fanout { + type uint32; + description + "Maximum fanout"; + } + leaf profile { + type dre-xe-oper:dre-profile-type; + description + "DRE profile type"; + } + leaf total-memory { + type uint64; + units "MB"; + description + "Total available memory"; + } + leaf cpu-cores { + type uint8; + description + "CPU cores"; + } + leaf disk-encrypt { + type boolean; + description + "DRE disk encryption"; + } + leaf rep-accl-mode { + type boolean; + description + "Replication accelerator mode ON/OFF"; + } + leaf comp-type { + type dre-xe-oper:dre-comp-type; + description + "Compression Type"; + } + leaf plz-mem { + type uint32; + units "MB"; + description + "Persistent LZ memory"; + } + leaf plz-buffer { + type uint32; + units "bytes"; + description + "Persistent LZ buffer queue size"; + } + leaf hash-table-mem { + type uint32; + units "MB"; + description + "DRE hash table memory"; + } + leaf plz-high-wm { + type uint32; + description + "Persistent LZ high-watermark"; + } + leaf plz-low-wm { + type uint32; + description + "Persistent LZ low-watermark"; + } + leaf wait-queue-cap { + type uint32; + units "MB"; + description + "Wait queue capacity"; + } + leaf max-data-unit { + type uint32; + description + "Maximum data unit number"; + } + leaf sig-read-pool { + type uint32; + units "bytes"; + description + "Sign block read pool size"; + } + leaf data-read-pool { + type uint32; + units "bytes"; + description + "Data segment read pool size"; + } + leaf anchor-distance { + type uint32; + description + "Default anchor distance"; + } + leaf section-size { + type uint32; + units "bytes"; + description + "Default section size"; + } + leaf avg-chunk-size { + type uint32; + units "bytes"; + description + "Default average chunk size"; + } + leaf min-chunk-size { + type uint32; + units "bytes"; + description + "Default minimum chunk size"; + } + leaf lookup-on { + type boolean; + description + "Partial lookup ON/OFF"; + } + leaf write-tshld { + type uint32; + description + "Write threshold"; + } + leaf cold-pass-tshld { + type uint32; + description + "Cold pass threshold"; + } + leaf algorithm { + type dre-xe-oper:lz-algorithm; + description + "LZ algorithm"; + } + leaf lz-adaptive { + type boolean; + description + "Adaptive LZ ON/OFF"; + } + leaf lz-comp-level { + type uint32; + description + "LZ compression level"; + } + leaf lz-adaptive-thres { + type uint32; + description + "Adaptive threshold"; + } + leaf use-entropy { + type boolean; + description + "Adaptive LZ uses entropy ON/OFF"; + } + leaf plz-enabled { + type boolean; + description + "Persistent LZ enabled YES/NO"; + } + leaf big-msg-checksum { + type boolean; + description + "Big message checksum ON/OFF"; + } + leaf block-size { + type uint32; + units "bytes"; + description + "Buffer block size"; + } + } + + grouping dre-status-data { + description + "DRE status data"; + leaf dre-id { + type string; + description + "DRE peer ID"; + } + leaf dre-uptime { + type yang:date-and-time; + description + "Uptime of DRE"; + } + leaf hs-change-reason { + type dre-xe-oper:dre-hs-change-reason; + description + "DRE health status change reason"; + } + leaf hs-change-time { + type yang:date-and-time; + description + "Time from last DRE health status change"; + } + leaf last-hs-update { + type yang:date-and-time; + description + "Last DRE health status time"; + } + leaf cache-status { + type dre-xe-oper:dre-cache-status; + description + "DRE cache status"; + } + leaf disk-cache-usage { + type uint8; + units "percentage"; + description + "Percentage of disk cache usage"; + } + leaf disk-latency { + type uint32; + units "milliseconds"; + description + "DRE disk latency"; + } + list alarm { + description + "Alarms asserted"; + uses dre-xe-oper:active-alarms; + } + container config { + description + "Configuration in detail"; + uses dre-xe-oper:appqoe-dre-config; + } + } + + grouping appqoe-dre-status { + description + "AppQoE DRE status"; + leaf health-status { + type dre-xe-oper:dre-health-status; + description + "DRE health status"; + } + container data { + when "(../health-status!='dre-status-unavailable' and ../health-status!='dre-status-disabled')"; + description + "DRE status data"; + uses dre-xe-oper:dre-status-data; + } + } + + grouping appqoe-dre-auto-bypass-data { + description + "DRE auto-bypass data"; + leaf state { + type dre-xe-oper:dre-state; + description + "DRE state"; + } + leaf dre-lan-bytes { + type uint64; + units "bytes"; + description + "Total DRE LAN bytes"; + } + leaf dre-wan-bytes { + type uint64; + units "bytes"; + description + "Total DRE WAN bytes"; + } + leaf dre-comp { + type decimal64 { + fraction-digits 2; + } + units "percentage"; + description + "DRE reduction ratio"; + } + leaf last-update { + type yang:date-and-time; + description + "Last update timestamp"; + } + leaf entry-creation-time { + type yang:date-and-time; + description + "Last entry creation timestamp"; + } + } + + grouping appqoe-dre-auto-bypass-key { + description + "DRE auto-bypass key"; + leaf server-ip { + type inet:ip-address; + description + "Server IP address"; + } + leaf port { + type uint16; + description + "Server port"; + } + } + + grouping comp-info { + description + "Compression information"; + leaf msg { + type uint64; + description + "Number of messages"; + } + leaf in { + type uint64; + units "bytes"; + description + "Input bytes"; + } + leaf out { + type uint64; + units "bytes"; + description + "Output bytes"; + } + leaf ratio { + type uint16; + units "percentage"; + description + "Reduction ratio"; + } + } + + grouping msg-size-dist { + description + "Message size distribution"; + leaf kb-0-1 { + type uint8; + units "percentage"; + description + "Total number of messages of size 0 to 1 KB "; + } + leaf kb-1-5 { + type uint8; + units "percentage"; + description + "Total number of messages of size 1 to 5 KB"; + } + leaf kb-5-15 { + type uint8; + units "percentage"; + description + "Total number of messages of size 5 to 15 KB"; + } + leaf kb-15-25 { + type uint8; + units "percentage"; + description + "Total number of messages of size 15 to 25 KB"; + } + leaf kb-25-40 { + type uint8; + units "percentage"; + description + "Total number of messages of size 25 to 40 KB"; + } + leaf kb-above-40 { + type uint8; + units "percentage"; + description + "Total number of messages of size above 40 KB"; + } + } + + grouping comp-details { + description + "Compression type details"; + container overall { + description + "Overall compression details"; + uses dre-xe-oper:comp-info; + } + container dre { + description + "DRE compression details"; + uses dre-xe-oper:comp-info; + } + container dre-bypass { + description + "DRE bypass compression details"; + uses dre-xe-oper:comp-info; + } + container lz { + description + "LZ compression details"; + uses dre-xe-oper:comp-info; + } + container lz-bypass { + description + "LZ bypass compression details"; + uses dre-xe-oper:comp-info; + } + leaf avg-latency { + type decimal64 { + fraction-digits 2; + } + description + "Average latency"; + } + leaf avg-msg-size { + type uint64; + description + "Average message size"; + } + container msg-dist { + description + "Message size distribution"; + uses dre-xe-oper:msg-size-dist; + } + } + + grouping latency-info { + description + "DRE latency info"; + leaf ms-per-msg { + type decimal64 { + fraction-digits 2; + } + units "milliseconds"; + description + "Latency per message in milliseconds"; + } + leaf avg-msg-size { + type uint64; + units "bytes"; + description + "Average message size"; + } + } + + grouping dre-bypass-reason { + description + "Bypass reason details"; + leaf reason { + type dre-xe-oper:bypass-reason; + description + "Bypass reason"; + } + leaf bypass-msgs { + type uint64; + description + "Total number of messages bypassed"; + } + leaf bypass-chunks { + type uint64; + description + "Total number of chunks bypassed"; + } + leaf bypass-size { + type uint64; + units "bytes"; + description + "Total size of bypassed traffic"; + } + } + + grouping dre-ack-queue { + description + "Acknowledgement queue"; + leaf total-size { + type uint64; + units "bytes"; + description + "Total size of ACK queue"; + } + leaf used-size { + type uint64; + units "bytes"; + description + "Used ACK queue size"; + } + leaf wait-queue { + type uint64; + description + "ACK queue wait size"; + } + leaf disk-write { + type uint64; + description + "Total ACK disk writes"; + } + leaf optimized-size { + type uint64; + units "bytes"; + description + "Size of optimized ACK queue"; + } + leaf object-buff-size { + type uint64; + units "bytes"; + description + "Size of ACK queue buffer"; + } + leaf numbers { + type uint64; + description + "Total number of ACK queues"; + } + } + + grouping dre-low-mem-errors { + description + "DRE low memory errors"; + leaf open { + type uint64; + description + "Open errors"; + } + leaf decode { + type uint64; + description + "Total number of decode errors"; + } + leaf malloc { + type uint64; + description + "Total number of malloc errors"; + } + leaf plz-off { + type uint64; + description + "Total number of persistent LZ off errors"; + } + leaf minres { + type uint64; + description + "Total number of minimum resource errors"; + } + } + + grouping dre-twin-pool { + description + "DRE twin pool"; + leaf big-used { + type uint64; + description + "Big used"; + } + leaf big-free { + type uint64; + description + "Big free"; + } + leaf small-used { + type uint64; + description + "Small used"; + } + leaf small-free { + type uint64; + description + "Small free"; + } + leaf defragment { + type uint64; + description + "Defragment"; + } + } + + grouping buffer-by-module { + description + "Used buffer by module name"; + leaf module-name { + type string; + status deprecated; + description + "Module name"; + } + leaf used-units { + type uint64; + status deprecated; + description + "Units used by the module"; + } + leaf used-bytes { + type uint64; + units "bytes"; + status deprecated; + description + "Bytes used by the module"; + } + } + + grouping dre-stats-data { + description + "DRE statistics data"; + leaf cache-status { + type dre-xe-oper:dre-cache-status; + description + "Cache status"; + } + leaf cache-oldest-data { + when "../cache-status='cache-status-active'"; + type yang:date-and-time; + description + "Oldest data in cache"; + } + leaf max-cons { + type uint32; + description + "Maximum connections configured"; + } + leaf cache-size { + type uint64; + units "bytes"; + description + "Total cache size"; + } + leaf cache-used-percent { + type uint16; + units "percentage"; + description + "Percentage of cache used"; + } + leaf data-replaced { + type uint64; + description + "Data units replaced in last hour"; + } + leaf total-cons { + type uint64; + description + "Total number of connections"; + } + leaf active-cons { + type uint64; + description + "Number of active connections"; + } + leaf total-orig-bytes { + type uint64; + units "bytes"; + description + "Total original bytes"; + } + leaf total-opt-bytes { + type uint64; + units "bytes"; + description + "Total optimized bytes"; + } + leaf reduction-ratio { + type uint16; + units "percentage"; + description + "Reduction ratio"; + } + leaf total-usable-disk { + type uint64; + units "bytes"; + description + "Total usable disk size"; + } + leaf total-usable-disk-usage { + type uint8; + units "percentage"; + description + "Total usable disk size usage"; + } + leaf hash-tbl-ram-size { + type uint64; + units "bytes"; + description + "Hash table RAM size"; + } + leaf hash-tbl-ram-usage { + type uint8; + units "percentage"; + description + "Hash table RAM usage"; + } + leaf sig-block-disk-usage { + type uint64; + units "percentage"; + description + "Signature block disk usage"; + } + leaf sig-block-mem-usage { + type uint8; + units "percentage"; + description + "Signature block memory usage"; + } + leaf sig-block-time { + type yang:date-and-time; + description + "Signature block creation timestamp"; + } + leaf data-unit-disk-usage { + type uint8; + units "bytes"; + description + "Data unit disk usage"; + } + leaf data-unit-mem-usage { + type uint8; + units "percentage"; + description + "Data unit memory usage"; + } + leaf data-unit-time { + type yang:date-and-time; + description + "Data unit creation timestamp"; + } + leaf cache-created-time { + when "../cache-status='cache-status-active'"; + type yang:date-and-time; + description + "Cache creation timestamp"; + } + leaf evicted-cache { + type uint64; + units "bytes"; + description + "Evicted cache in loading cache"; + } + leaf sigblock-replaced-size { + type uint64; + units "bytes"; + description + "Size of signature block replaced in last hour"; + } + leaf sigblock-replaced-sec { + type uint64; + description + "Sections of signature block replaced in last hour"; + } + leaf data-unit-replaced-size { + type uint64; + units "bytes"; + description + "Size of data unit replaced in last hour"; + } + leaf data-unit-replaced-sec { + type uint64; + description + "Section of data unit replaced in last hour"; + } + leaf sigblock-size { + type uint64; + units "bytes"; + description + "Size of sigblock"; + } + leaf sigblock-count { + type uint64; + description + "Signature block count"; + } + leaf data-unit-size { + type uint64; + units "bytes"; + description + "Size of data unit"; + } + leaf data-unit-count { + type uint64; + description + "Total data units"; + } + leaf data-unit-seg-count { + type uint64; + description + "Total data unit segments"; + } + leaf data-unit-seg-size { + type uint64; + units "bytes"; + description + "Data unit segment size"; + } + leaf ng-clock-head { + type uint64; + description + "Next generation clock head"; + } + leaf ng-clock-tail { + type uint64; + description + "Next generation clock tail"; + } + leaf total-read-latency { + type uint64; + units "milliseconds"; + description + "Total read latency"; + } + leaf total-read-count { + type uint64; + description + "Total number of reads"; + } + leaf total-disk-read-latency { + type uint64; + units "milliseconds"; + description + "Total disk read latency"; + } + leaf total-disk-read-count { + type uint64; + description + "Total number of disk reads"; + } + leaf table-full-events { + type uint64; + description + "Full events"; + } + leaf sig-events { + type uint64; + description + "Signal events"; + } + leaf type-two-events { + type uint64; + description + "Type 2 events"; + } + leaf type-three-events { + type uint64; + description + "Type 3 events"; + } + leaf sigblock-total-chunks { + type uint64; + description + "Total number of sigblock chunks"; + } + leaf sigblock-total-sec { + type uint64; + description + "Total number of sigblock sections"; + } + leaf secblock-total-chunks { + type uint64; + description + "Total number of secblock chunks"; + } + leaf secblock-total-sec { + type uint64; + description + "Total number of secblock sections"; + } + leaf total-anchor-seen { + type uint64; + description + "Total number of anchors seen"; + } + leaf total-matches-seen { + type uint64; + description + "Total number of matches seen"; + } + leaf matches { + type uint64; + description + "Total number of multiple matches"; + } + container ack-queue { + description + "Acknowledgement queue"; + uses dre-xe-oper:dre-ack-queue; + } + container errors { + description + "DRE low memory errors"; + uses dre-xe-oper:dre-low-mem-errors; + } + leaf chunk-mem-used { + type uint64; + units "bytes"; + description + "Chunk aggregation node memory consumption"; + } + container twin-pool { + description + "Twin pool statistics"; + uses dre-xe-oper:dre-twin-pool; + } + leaf encode-plz-on-conn { + type uint64; + description + "Encode - Persistent LZ-ON connections"; + } + leaf encode-plz-off-conn { + type uint64; + description + "Encode - Persistent LZ-OFF connections"; + } + leaf encode-msg-size { + type uint64; + units "bytes"; + description + "Encode - Average message size"; + } + leaf decode-disk-read { + type uint64; + description + "Decode - Total disk read"; + } + leaf decode-disk-write { + type uint64; + description + "Decode - Total disk write"; + } + leaf decode-plz-on-conn { + type uint64; + description + "Decode - Persistent LZ-ON connections"; + } + leaf decode-plz-off-conn { + type uint64; + description + "Decode - Persistent LZ-OFF connections"; + } + leaf decode-plz-num-in-disc { + type uint64; + description + "Decode - Average message size"; + } + container encode { + description + "Encode details"; + uses dre-xe-oper:comp-details; + } + container decode { + description + "Decode details"; + uses dre-xe-oper:comp-details; + } + list bypass-reason-list { + description + "Bypass reason"; + uses dre-xe-oper:dre-bypass-reason; + } + leaf nack-msgs { + type uint64; + description + "Total NACK messages"; + } + leaf num-col-nack-msgs { + type uint64; + description + "Total number of NACK collision messages received"; + } + leaf num-miss-nack-msgs { + type uint64; + description + "Total number of chunk miss NACK messages received"; + } + leaf cache-not-ready-nack { + type uint64; + description + "Total number of cache not ready NACK messages received"; + } + leaf rtx-msgs { + type uint64; + description + "Total number of retransmitted messages"; + } + leaf num-col-rtx-msgs { + type uint64; + description + "Total number of collision messages received"; + } + leaf num-miss-rtx-msgs { + type uint64; + description + "Total number of chunk miss messages received"; + } + leaf cache-not-ready-rtx { + type uint64; + description + "Total number of cache not ready messages received"; + } + container encode-latency { + description + "Latency in encode"; + uses dre-xe-oper:latency-info; + } + container decode-latency { + description + "Latency in decode"; + uses dre-xe-oper:latency-info; + } + leaf num-invalid-sections { + type uint64; + description + "Total number of invalid sections"; + } + leaf convert-invalid-sections { + type uint64; + description + "Total number of converted invalid sections due to corrupted cache"; + } + leaf disk-space-saving { + type uint64; + units "bytes"; + description + "Disk size saved due to unidirectional mode"; + } + leaf total-buf-size { + type uint64; + units "bytes"; + description + "Total buffer pool size"; + } + leaf unit-size { + type uint64; + units "bytes"; + description + "Unit size"; + } + leaf free-buf-size { + type uint64; + units "bytes"; + description + "Free buffer size in bytes"; + } + leaf free-buf-units { + type uint64; + description + "Free buffer size in units"; + } + leaf used-buf-size { + type uint64; + units "bytes"; + description + "Used buffer size in bytes"; + } + leaf used-buf-units { + type uint64; + description + "Used buffer size in units"; + } + leaf frag { + type uint64; + units "percentage"; + status deprecated; + description + "Percentage of internal fragmentation for used buffers"; + } + list module { + status deprecated; + description + "Buffer usage by module"; + uses dre-xe-oper:buffer-by-module; + } + leaf internal-resets { + type uint64; + description + "Total number of internal resets generated by DRE"; + } + leaf write-failed { + type uint64; + description + "Total number of DRE Socket write failures"; + } + leaf read-failed { + type uint64; + description + "Total number of DRE Socket read failures"; + } + leaf decode-failed { + type uint64; + description + "Total number of DRE decode failures"; + } + leaf encode-failed { + type uint64; + description + "Total number of DRE encode failures"; + } + leaf conn-init-failed { + type uint64; + description + "Total number of DRE Connection init failures"; + } + leaf opt-read-unexp-hup { + type uint64; + description + "Total number of times WAN socket received unexpected closes while waiting to read"; + } + leaf bufmgr-call-failed { + type uint64; + description + "Total number of buffer allocation or manipulation failures"; + } + leaf peer-req-reset-close { + type uint64; + description + "Total number of times peer received reset from end host"; + } + leaf state-invalid { + type uint64; + description + "Total number of times DRE connection state was out of sync"; + } + leaf bufhead-alloc-failed { + type uint64; + description + "Total number of times memory allocation failed for buffer heads"; + } + leaf other { + type uint64; + description + "Total number of other error in connection"; + } + leaf buf-ctrl-pause-ackq { + type uint64; + description + "Total number of times connection was paused due to ack queue block"; + } + leaf buf-ctrl-pause-buf { + type uint64; + description + "Total number of times connection was paused due to buffer control"; + } + leaf data-ebp-recvd { + type uint64; + description + "Total number of data buffers received"; + } + leaf data-ebp-freed { + type uint64; + description + "Total number of data buffers freed"; + } + leaf data-ebp-alloc { + type uint64; + description + "Total number of data buffers allocated"; + } + leaf data-ebp-sent { + type uint64; + description + "Total number of data buffers sent"; + } + leaf data-ebp-send-fail { + type uint64; + description + "Total number of data buffers send failed"; + } + leaf data-ebp-no-flow-ctx { + type uint64; + description + "Total number of data buffers received with no flow context"; + } + leaf data-ebp-req-more { + type uint64; + description + "Total number of data buffers whose requested size was greater than max size"; + } + leaf data-ebp-ret-less { + type uint64; + description + "Total number of data buffers whose size was less than requested size"; + } + leaf ctrl-ebp-recvd { + type uint64; + description + "Total number of control buffers received"; + } + leaf ctrl-ebp-freed { + type uint64; + description + "Total number of control buffers freed"; + } + leaf ctrl-ebp-reused { + type uint64; + description + "Total number of control buffers reused"; + } + leaf ctrl-ebp-alloc { + type uint64; + description + "Total number of control buffers allocated"; + } + leaf ctrl-ebp-sent { + type uint64; + description + "Total number of control buffers sent"; + } + leaf ctrl-ebp-send-fail { + type uint64; + description + "Total number of control buffers send failed"; + } + leaf ctrl-ebp-no-flow-ctx { + type uint64; + description + "Total number of control buffers received with no flow context"; + } + leaf ctrl-ebp-req-more { + type uint64; + description + "Total number of control buffer whose requested size was greater than max size"; + } + leaf ctrl-ebp-ret-less { + type uint64; + description + "Total number of control buffer size was less than requested size"; + } + leaf conn-alloc { + type uint64; + description + "Total number of times connection is allocated"; + } + leaf conn-free { + type uint64; + description + "Total number of times connection is freed"; + } + leaf active-bypassed-enc-conns { + type uint64; + description + "Total number of encrypted connections bypassed"; + } + } + + grouping appqoe-dre-stats { + description + "DRE operational statistics detail"; + leaf health-status { + type dre-xe-oper:dre-health-status; + description + "DRE health status"; + } + container data { + when "(../health-status!='dre-status-unavailable' and ../health-status!='dre-status-disabled')"; + description + "DRE statistics data"; + uses dre-xe-oper:dre-stats-data; + } + } + + grouping dre-stats-data-brief { + description + "DRE statistics data"; + leaf cache-status { + type dre-xe-oper:dre-cache-status; + description + "Cache status"; + } + leaf cache-oldest-data { + when "../cache-status='cache-status-active'"; + type yang:date-and-time; + description + "Oldest data in cache"; + } + leaf max-cons { + type uint32; + description + "Maximum connections configured"; + } + leaf cache-size { + type uint64; + units "bytes"; + description + "Total cache size"; + } + leaf cache-used-percent { + type uint16; + units "percentage"; + description + "Percentage of cache used"; + } + leaf data-replaced { + type uint64; + description + "Data units replaced in last hour"; + } + leaf total-cons { + type uint64; + description + "Total number of connections"; + } + leaf active-cons { + type uint64; + description + "Number of active connections"; + } + leaf total-orig-bytes { + type uint64; + units "bytes"; + description + "Total original bytes"; + } + leaf total-opt-bytes { + type uint64; + units "bytes"; + description + "Total optimized bytes"; + } + leaf reduction-ratio { + type uint16; + units "percentage"; + description + "Reduction ratio"; + } + leaf total-usable-disk-usage { + type uint8; + units "percentage"; + description + "Total usable disk size usage"; + } + leaf internal-resets { + type uint64; + description + "Total number of internal resets generated by DRE"; + } + } + + grouping appqoe-dre-stats-summary { + description + "DRE operational statistics detail"; + leaf health-status { + type dre-xe-oper:dre-health-status; + description + "DRE health status"; + } + container data { + when "(../health-status!='dre-status-unavailable' and ../health-status!='dre-status-disabled')"; + description + "DRE statistics data"; + uses dre-xe-oper:dre-stats-data-brief; + } + } + + grouping appqoe-dre-stats-peer { + description + "DRE peers details"; + leaf peer-no { + type uint8; + description + "Peer number"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP"; + } + leaf hostname { + type string; + description + "Hostname of peer"; + } + leaf active-cons { + type uint64; + description + "Total number of active connections"; + } + leaf total-cons { + type uint64; + description + "Total number of connections"; + } + } + + grouping buffer-surge-ctrl { + description + "Buffer surge control details"; + leaf size { + type uint64; + units "bytes"; + description + "Average size"; + } + leaf conns { + type uint64; + description + "Number of connections"; + } + leaf flush { + type uint64; + description + "Received flush"; + } + } + + grouping appqoe-dre-peer { + description + "DRE peers details"; + leaf total-cons { + type uint64; + description + "Total number of connections"; + } + leaf active-cons { + type uint64; + description + "Total number of active connections"; + } + leaf peer-no { + type uint32; + description + "Peer number"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP of peer"; + } + leaf hostname { + type string; + description + "Hostname of peer"; + } + leaf context-number { + type uint64; + description + "Context number of peer"; + } + leaf peer-id { + type string; + description + "DRE peer ID"; + } + leaf max-concurrent-cons { + type uint64; + description + "Maximum concurrent connections"; + } + leaf num-avg-cons { + type uint64; + description + "Average number of connections"; + } + leaf num-nacks { + type uint64; + description + "Total NACK messages"; + } + leaf num-rtx { + type uint64; + description + "Total number of retransmitted messages"; + } + leaf num-ctx-out-of-sync { + type uint64; + description + "Number of out of sync messages"; + } + leaf cache-used { + type uint64; + units "MB"; + description + "Total cache used"; + } + container encode { + description + "Encode details"; + uses dre-xe-oper:comp-details; + } + container decode { + description + "Decode details"; + uses dre-xe-oper:comp-details; + } + leaf sig-block-used { + type uint64; + units "MB"; + description + "Signature block disk used"; + } + leaf sig-block-time { + type yang:date-and-time; + description + "Signature block creation timestamp"; + } + leaf data-unit-disk-used { + type uint64; + units "MB"; + description + "Data unit disk used"; + } + leaf data-unit-time { + type yang:date-and-time; + description + "Data unit creation timestamp"; + } + leaf ack-queue-size { + type uint64; + units "bytes"; + description + "Acknowledgement queue size"; + } + container delay { + description + "Buffer surge control delay"; + uses dre-xe-oper:buffer-surge-ctrl; + } + container agg-ft { + description + "Buffer surge control aggregate and full tree"; + uses dre-xe-oper:buffer-surge-ctrl; + } + leaf remote-low-buff { + type uint64; + description + "Remote low buffer"; + } + leaf received-flush { + type uint64; + description + "Remote received flush"; + } + leaf usable-cache-size { + type uint64; + units "MB"; + description + "Usable cache size"; + } + leaf usable-cache-time { + type yang:date-and-time; + description + "Usable cache creation timestamp"; + } + leaf evicted-cache { + type uint64; + units "bytes"; + description + "Evicted cache size"; + } + leaf cache-created-time { + type yang:date-and-time; + description + "Cache creation timestamp"; + } + leaf rtt-max { + type uint64; + units "milliseconds"; + description + "Round trip time max"; + } + leaf rtt-avg { + type uint64; + units "milliseconds"; + description + "Round trip time average"; + } + leaf rtt-remote { + type uint64; + units "milliseconds"; + description + "Round trip time remote"; + } + leaf dre-decode { + type uint64; + units "bytes per second"; + description + "Per connection decode throughput DRE"; + } + leaf bypass-decode { + type uint64; + units "bytes per second"; + description + "Per connection decode throughput bypass"; + } + leaf bypass-ratio { + type uint8; + units "percentage"; + description + "Bypass ratio"; + } + leaf sigblock-write { + type uint64; + description + "Allocated write sig-block"; + } + leaf data-unit-write { + type uint64; + description + "Allocated write data-unit"; + } + } + + grouping appqoe-dre-peer-detail { + description + "DRE peer detail"; + leaf active-cons { + type uint64; + description + "Current number of peers with active connections"; + } + leaf peer-active { + type uint64; + description + "Maximum number of peers with active connections"; + } + list appqoe-dre-peer { + key "system-ip"; + description + "List of peers with details"; + uses dre-xe-oper:appqoe-dre-peer; + } + } + + grouping appqoe-dre-crypt-init { + description + "DRE crypto init stats"; + leaf tv-sec { + type uint64; + description + "DRE crypto init time in seconds"; + } + leaf tv-usec { + type uint64; + description + "DRE crypto init time in milli seconds"; + } + leaf request-type { + type dre-xe-oper:appqoe-dre-crypt-req; + description + "DRE crypto init request type"; + } + } + + grouping appqoe-dre-log-stats { + description + "DRE crypto log stats"; + leaf block-name { + type dre-xe-oper:appqoe-dre-crypt-block; + description + "DRE crypto block name"; + } + leaf no-of-oper { + type uint32; + description + "DRE crypto number of operations"; + } + leaf no-of-success { + type uint32; + description + "DRE crypto number of operations success"; + } + leaf no-of-failure { + type uint32; + description + "DRE crypto number of operations failure"; + } + } + + grouping appqoe-dre-re-stats { + description + "DRE crypto RE stats"; + leaf oper { + type dre-xe-oper:appqoe-dre-crypt-oper; + description + "DRE crypto operation name"; + } + list log-crypt-opr { + description + "DRE crypto operations"; + uses dre-xe-oper:appqoe-dre-log-stats; + } + } + + grouping appqoe-dreopt-crypt { + description + "AppQoE DRE crypto statistics"; + leaf current-state { + type dre-xe-oper:appqoe-dre-enc-state; + description + "DRE crypto current state"; + } + leaf attempts { + type uint32; + description + "DRE crypto number of attempts"; + } + list enc-stats { + description + "DRE encryption statistics"; + uses dre-xe-oper:appqoe-dre-crypt-init; + } + leaf is-initialized { + type boolean; + description + "DRE encryption is initialized"; + } + list re-log-stats { + description + "DRE log statistics"; + uses dre-xe-oper:appqoe-dre-re-stats; + } + } + + container dre-oper-data { + config false; + description + "Data Redundancy Elimination operational data"; + container appqoe-dre-status { + presence "appqoe-dre-status"; + description + "Data Redundancy Elimination operational status"; + uses dre-xe-oper:appqoe-dre-status; + } + list appqoe-dre-auto-bypass { + key "server-ip port"; + description + "Data Redundancy Elimination auto-bypass details"; + uses dre-xe-oper:appqoe-dre-auto-bypass-data; + uses dre-xe-oper:appqoe-dre-auto-bypass-key; + } + container appqoe-dre-stats { + presence "appqoe-dre-stats"; + description + "Data Redundancy Elimination operational statistics"; + uses dre-xe-oper:appqoe-dre-stats; + } + container appqoe-dre-stats-summary { + presence "appqoe-dre-stats-summary"; + description + "Data Redundancy Elimination operational statistics brief"; + uses dre-xe-oper:appqoe-dre-stats-summary; + } + list appqoe-dre-stats-peer { + key "system-ip"; + description + "Data Redundancy Elimination peer data"; + uses dre-xe-oper:appqoe-dre-stats-peer; + } + container appqoe-dre-peer-detail { + presence "appqoe-dre-peer-detail"; + description + "DRE operation peer data"; + uses dre-xe-oper:appqoe-dre-peer-detail; + } + container appqoe-dreopt-crypt { + presence "appqoe-dreopt-crypt"; + description + "Data Redundancy Elimination crypto statistics"; + uses dre-xe-oper:appqoe-dreopt-crypt; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-dying-gasp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-dying-gasp.yang new file mode 100644 index 000000000..dd91c48b4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-dying-gasp.yang @@ -0,0 +1,86 @@ +module Cisco-IOS-XE-dying-gasp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dying-gasp"; + prefix ios-dying-gasp; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Dying-gasp Yang Model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added ethernet-oam in dying-gasp sources"; + } + revision 2023-07-01 { + description + "- Initial Revision "; + } + + grouping config-dying-gasp-grouping { + container dying-gasp { + leaf primary { + description + "Enable primary dying gasp notification"; + type enumeration { + enum snmp-trap { + description + "Enable trap notification sent to SNMP server"; + } + enum syslog { + description + "Enable system logger"; + } + enum ethernet-oam { + description + "Enable Ethernet OAM notification"; + } + } + } + leaf secondary { + description + "Enable secondary dying gasp notification"; + must '../primary' { + error-message "Primary dying-gasp notification not enabled"; + } + must 'not(. = ../primary)' { + error-message "Secondary option cannot have the same value as the primary option."; + } + type enumeration { + enum ethernet-oam { + description + "Enable Ethernet OAM notification"; + } + enum syslog { + description + "Enable system logger"; + } + enum snmp-trap { + description + "Enable trap notification sent to SNMP server"; + } + } + } + } + } + + augment "/ios:native" { + uses config-dying-gasp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eem-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eem-oper.yang new file mode 100644 index 000000000..8ff342207 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eem-oper.yang @@ -0,0 +1,411 @@ +module Cisco-IOS-XE-eem-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eem-oper"; + prefix eem-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for event manager policy operational data. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef eem-policy-class { + type enumeration { + enum eem-class-unknown { + value 0; + description + "Unknown policy class"; + } + enum eem-class-script { + value 1; + description + "Script policy class"; + } + enum eem-class-applet { + value 2; + description + "Applet policy class"; + } + enum eem-class-app { + value 3; + description + "App policy class"; + } + enum eem-class-callhome { + value 4; + description + "Call home policy class"; + } + enum eem-class-axp { + value 5; + description + "Axp policy class"; + } + enum eem-class-shell { + value 6; + description + "Shell policy class"; + } + enum eem-class-onep { + value 7; + description + "Onep policy class"; + } + enum eem-class-system { + value 8; + description + "System policy class"; + } + } + description + "Event Manager policy class type"; + } + + typedef eem-policy-type { + type enumeration { + enum eem-policy-type-system { + value 0; + description + "System policy type"; + } + enum eem-policy-type-user { + value 1; + description + "User policy type"; + } + enum eem-policy-type-unknown { + value 2; + description + "Unknown policy type"; + } + } + description + "event manager policy type"; + } + + typedef eem-event { + type enumeration { + enum eem-event-type-app { + value 0; + description + "Application event type"; + } + enum eem-event-type-process-term { + value 1; + description + "Process terminate event type"; + } + enum eem-event-type-process-abort { + value 2; + description + "Process abort event type"; + } + enum eem-event-type-process-start { + value 3; + description + "Process start event type"; + } + enum eem-event-type-process-user-restart { + value 4; + description + "Process user restart event type"; + } + enum eem-event-type-process-user-shutdown { + value 5; + description + "Process user shutdown event type"; + } + enum eem-event-type-timer-watchdog { + value 6; + description + "Timer watchdog event type"; + } + enum eem-event-type-timer-countdown { + value 7; + description + "Timer countdown event type"; + } + enum eem-event-type-timer-absolute { + value 8; + description + "Timer absolute event type"; + } + enum eem-event-type-timer-cron { + value 9; + description + "Timer cron event type"; + } + enum eem-event-type-counter { + value 10; + description + "Counter event type"; + } + enum eem-event-type-syslog { + value 11; + description + "Syslog event type"; + } + enum eem-event-type-snmp { + value 12; + description + "SNMP event type"; + } + enum eem-event-type-wdsysmon { + value 13; + description + "WD system monitor event type"; + } + enum eem-event-type-intf { + value 14; + description + "Interface event type"; + } + enum eem-event-type-ioswd { + value 15; + description + "IOS WD event type"; + } + enum eem-event-type-rf { + value 16; + description + "RF event type"; + } + enum eem-event-type-gold { + value 17; + description + "Gold event type"; + } + enum eem-event-type-memthresh { + value 18; + description + "Memory threshold event type"; + } + enum eem-event-type-cli { + value 19; + description + "CLI command event type"; + } + enum eem-event-type-none { + value 20; + description + "None event type"; + } + enum eem-event-type-oir { + value 21; + description + "OIR event type"; + } + enum eem-event-type-hw-env { + value 22; + description + "Hardware environment event type"; + } + enum eem-event-type-test { + value 23; + description + "Test event type"; + } + enum eem-event-type-config { + value 24; + description + "Config event type"; + } + enum eem-event-type-env { + value 25; + description + "ENV event type"; + } + enum eem-event-type-resource { + value 26; + description + "Resource event type"; + } + enum eem-event-type-track { + value 27; + description + "Track event type"; + } + enum eem-event-type-rpc { + value 28; + description + "RPC event type"; + } + enum eem-event-type-snmp-proxy { + value 29; + description + "SNMP proxy event type"; + } + enum eem-event-type-ipsla { + value 30; + description + "IPSLA event type"; + } + enum eem-event-type-routing { + value 31; + description + "Routing event type"; + } + enum eem-event-type-nf { + value 32; + description + "NF event type"; + } + enum eem-event-type-snmp-obj { + value 33; + description + "SNMP object event type"; + } + enum eem-event-type-powernet { + value 34; + description + "Power net event type"; + } + enum eem-event-type-id { + value 35; + description + "Identity event type"; + } + enum eem-event-type-nd { + value 36; + description + "ND event type"; + } + enum eem-event-type-mat { + value 37; + description + "MAT event type"; + } + enum eem-event-type-stats { + value 38; + description + "Statistics event type"; + } + enum eem-event-type-dvrinfra { + value 39; + description + "DVR INFRA event type"; + } + enum eem-event-type-dmvpn { + value 40; + description + "DM VPN event type"; + } + enum eem-event-type-msp { + value 41; + description + "MSP event type"; + } + enum eem-event-type-ds { + value 42; + description + "DS event type"; + } + enum eem-event-type-ged { + value 43; + description + "GED event type"; + } + enum eem-event-type-crash { + value 44; + description + "Crash event type"; + } + enum eem-event-type-ethernet { + value 45; + description + "Ethernet event type"; + } + enum eem-event-type-testb1 { + value 46; + description + "TEST B1 event type"; + } + enum eem-event-type-num { + value 47; + description + "Num event type"; + } + } + description + "Event manager event type"; + } + + grouping eem-policy-info { + description + "Entries for EEM policy table data"; + leaf index { + type uint32; + description + "Policy index number"; + } + leaf name { + type string; + description + "Name of embedded event manager policy"; + } + leaf event-type { + type eem-ios-xe-oper:eem-event; + description + "Event type of embedded event manager policy"; + } + leaf class { + type eem-ios-xe-oper:eem-policy-class; + description + "Policy class of embedded event manager policy"; + } + leaf type { + type eem-ios-xe-oper:eem-policy-type; + description + "Policy type of embedded event manager policy"; + } + leaf trap { + type boolean; + description + "SNMP trap status of embedded event manager policy"; + } + leaf time { + type yang:date-and-time; + description + "Time of embedded event manager policy registration"; + } + } + + container eem-oper-data { + config false; + description + "This is top level container for EEM operational data"; + list eem-policy-info { + key "index"; + description + "Event manager policy data"; + uses eem-ios-xe-oper:eem-policy-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eem.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eem.yang new file mode 100644 index 000000000..1d6ef9c89 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eem.yang @@ -0,0 +1,2073 @@ +module Cisco-IOS-XE-eem { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eem"; + prefix ios-eem; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Embedded Event Manager (EEM) Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added history for event manager history information + - Added event manager scheduler + - Added context + - Added event CLI + - Added event manager detector + - Obsolete nodes related to eem model that are deprecated in 17.6 or before + - Added default value for event manager scheduler + - Remove ordered by user from list action + - Added tailf for event action + - Moved all event manager actions inside choice statement"; + cisco-semver:module-version "3.0.0"; + } + revision 2024-03-01 { + description + "- Action else if + - action else + - action while + - action break + - action continue + - action set + - action increment + - action gets + - action decrement + - action append + - action divide + - action for each + - action handle-error + - action counter + - Added username_in_word and privilege node in the deprecated list"; + cisco-semver:module-version "2.4.0"; + } + revision 2023-11-01 { + description + "-changed the type and range values for max-run, ratelimit, time and period"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-03-01 { + description + " + - Added hardening changes for the following clis + - Event syslog pattern,max-run,ratelimit,occurs,period + - event timer cron,watchdog max-run,ratelimit for each timer + - event ipsla reaction-type, group name, max-run,ratelimit + - event routing network ipv4/ipv6, type, max-run,ratelimit + - Event none max-run,ratelimit + - Action syslog msg + - action wait + - action regular expression pattern, input, match, other matches + - action reload"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "-Hardening of the following clis + -event manager session cli username + -action label cli command + -event manager applet + -event manager track"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-09-14 { + description + "support eem wait option"; + } + revision 2017-12-20 { + description + "fix applet resource configuration"; + } + revision 2017-11-20 { + description + "fix event oir event removal"; + } + revision 2017-09-20 { + description + "Add some applet event support"; + } + revision 2017-08-03 { + description + "Add event time full support"; + } + revision 2017-04-13 { + description + "Add event track"; + } + revision 2017-04-10 { + description + "Add cli command and exit for action"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef operator-type { + type enumeration { + enum eq; + enum ge; + enum gt; + enum le; + enum lt; + enum ne; + } + } + + typedef error-type { + type enumeration { + enum exit; + enum ignore; + enum warn; + } + } + + grouping eem-default-group { + leaf default { + description + "Default action timer"; + type uint32; + } + } + + grouping eem-maxrun-group { + leaf maxrun-set { + description + "Maximum runtime of applet"; + type decimal64 { + fraction-digits 3; + range "0.000..31536000.999"; + } + } + leaf maxrun { + status deprecated; + description + "Maximum runtime of applet"; + type uint32 { + range "0..31536000"; + } + } + } + + grouping eem-set-maxrun-group { + leaf maxrun-set { + description + "Maximum runtime of applet"; + type decimal64 { + fraction-digits 3; + range "0.000..31536000.999"; + } + } + leaf maxrun { + status deprecated; + description + "Maximum runtime of applet"; + type uint32 { + range "0..31536000"; + } + } + } + + grouping eem-ratelimit-group { + leaf ratelimit-set { + description + "seconds[.milliseconds] value"; + type decimal64 { + fraction-digits 3; + range "0.000..31536000.999"; + } + } + leaf ratelimit { + status deprecated; + description + "seconds[.milliseconds] value"; + type uint32 { + range "0..31536000"; + } + } + } + + grouping eem-set-ratelimit-group { + leaf ratelimit-set { + description + "seconds[.milliseconds] value"; + type decimal64 { + fraction-digits 3; + range "0.000..31536000.999"; + } + } + leaf ratelimit { + status deprecated; + description + "Limit trigger to once per given time period"; + type uint32 { + range "0..31536000"; + } + } + } + + grouping eem-timer-cron-group { + uses eem-maxrun-group; + leaf name { + description + "Timer name string"; + type string; + } + uses eem-ratelimit-group; + leaf cron-entry { + description + "Cron entry for cron timer"; + type string; + } + } + + grouping eem-timer-common-group { + uses eem-maxrun-group; + leaf name { + description + "Timer name string"; + type string; + } + uses eem-ratelimit-group; + leaf time-set { + description + "Time period for watchdog / countdown / absolute timer"; + type decimal64 { + fraction-digits 3; + range "1.000..2085978494.999"; + } + } + leaf time { + status deprecated; + description + "Time period for watchdog / countdown / absolute timer"; + type uint32 { + range "1..2085978494"; + } + } + } + + grouping config-eem-grouping { + container manager { + description + "Event Manager configuration commands"; + list environment { + description + "Set an Embedded Event Manager global environment variable"; + key "name"; + leaf name { + type string; + } + leaf value { + type string; + } + } + container history { + description + "Embedded Event Manager history information"; + container size { + description + "Embedded Event Manager history table size"; + leaf events { + description + "Embedded Event Manager event history table size"; + type uint8 { + range "0..50"; + } + } + leaf traps { + description + "Embedded Event Manager trap history table size"; + type uint8 { + range "0..50"; + } + } + } + } + container directory { + description + "Embedded Event Manager directory information"; + container user { + description + "Embedded Event Manager user directory information"; + leaf policy { + description + "Embedded Event Manager user policy directory"; + type string; + } + } + } + container scheduler { + description + "Event Manager scheduler options"; + container applet { + description + "Embedded Event Manager applet scheduling"; + container thread { + description + "Event Manager thread scheduling"; + container class { + description + "Thread scheduling attributes like class, range"; + leaf default { + description + "default scheduler thread class"; + type empty; + } + leaf number { + description + "Number of concurrent execution threads"; + type uint16 { + range "1..65535"; + } + default "5"; + } + } + } + } + } + container detector { + description + "Embedded Event Manager detector information"; + container rpc { + description + "RPC Event Detector"; + leaf max-sessions { + description + "Maximum number of RPC sessions"; + type uint8 { + range "4..16"; + } + } + } + container routing { + description + "Routing Event Detector"; + leaf bootup-delay { + description + "bootup delay in seconds"; + type decimal64 { + fraction-digits 3; + range "0.000..31536000.999"; + } + } + } + } + container session { + description + "Set Embedded Event Manager session attributes"; + container cli { + description + "Set Embedded Event Manager session cli attributes"; + container username { + description + "Set username used in Embedded Event Manager cli sessions"; + leaf username_in_word_set { + description + "username"; + type string { + length "1..64"; + } + } + leaf privilege_set { + description + "Set user privilege level"; + type uint8 { + range "0..15"; + } + default "1"; + } + list username_in_word { + status deprecated; + key "username_in_word"; + leaf username_in_word { + status deprecated; + description + "username"; + type string { + length "1..64"; + } + } + leaf privilege { + status deprecated; + description + "Set user privilege level"; + type uint8 { + range "0..15"; + } + default "1"; + } + } + } + } + } + list applet { + description + "Register an Event Manager applet"; + key "name"; + leaf name { + description + "Name of the Event Manager applet"; + type string; + } + leaf authorization { + description + "Specify an authorization type for the applet"; + type enumeration { + enum bypass; + } + } + leaf class { + description + "Specify a class for the applet"; + type string { + pattern '[A-Z]|default'; + } + } + leaf trap { + description + "Generate an SNMP trap when applet is triggered."; + type empty; + } + container event { + description + "Add or modify event information"; + choice event-option { + container timer-choice { + description + "Timer event"; + container absolute { + description + "Absolute timer event"; + uses eem-timer-common-group; + } + container countdown { + description + "Countdown timer event"; + uses eem-timer-common-group; + } + container cron { + description + "cron timer event"; + uses eem-timer-cron-group; + } + container watchdog { + description + "Watchdog timer event"; + uses eem-timer-common-group; + } + } + container syslog-choice { + description + "Syslog event"; + leaf occurs { + description + "Number of occurrences before raising event"; + type uint32 { + range "1..32"; + } + } + leaf pattern { + description + "Pattern match string for the entire message"; + type string; + } + leaf period-set { + description + "Occurrence period"; + type decimal64 { + fraction-digits 3; + range "0.000..4294967295.999"; + } + } + leaf period { + status deprecated; + description + "Occurrence period"; + type uint32 { + range "0..4294967295"; + } + } + uses eem-set-maxrun-group; + uses eem-set-ratelimit-group; + } + container track-choice { + description + "Tracking object event"; + leaf track-object-number { + description + "Tracking object number"; + type uint16 { + range "1..1000"; + } + } + leaf state { + description + "State of tracking object"; + when '../track-object-number'; + type enumeration { + enum any; + enum down; + enum up; + } + default "any"; + } + uses eem-set-maxrun-group; + uses eem-set-ratelimit-group; + } + container none-choice { + description + "Manually run policy event"; + presence "true"; + uses eem-default-group; + uses eem-maxrun-group; + uses eem-ratelimit-group; + leaf sync { + description + "EEM policy execution sync or async"; + type enumeration { + enum yes; + enum no; + } + } + } + container ipsla { + description + "IPSLA Event"; + leaf group-name { + description + "IPSLA Group Name"; + type string; + } + leaf reaction-type { + description + "IPSLA Reaction Type"; + type enumeration { + enum connectionLoss; + enum icpif; + enum jitterAvg; + enum jitterDSAvg; + enum jitterSDAvg; + enum maxOfNegativeDS; + enum maxOfNegativeSD; + enum maxOfPositiveDS; + enum maxOfPositiveSD; + enum mos; + enum packetLateArrival; + enum packetLossDS; + enum packetLossSD; + enum packetMIA; + enum packetOutOfSequence; + enum rtt; + enum timeout; + enum verifyError; + } + } + uses eem-set-maxrun-group; + uses eem-set-ratelimit-group; + } + container routing { + description + "Routing event"; + leaf network { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf type { + description + "A routing table entry is added, removed or modified"; + type enumeration { + enum add; + enum all; + enum modify; + enum remove; + } + } + uses eem-set-maxrun-group; + uses eem-set-ratelimit-group; + } + } + container timer { + description + "Timer event (OBSOLETE)"; + status obsolete; + container absolute { + description + "Absolute timer event (OBSOLETE)"; + status obsolete; + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf name { + description + "Timer name string (OBSOLETE)"; + status obsolete; + type string; + } + leaf ratelimit { + description + "seconds[.milliseconds] value (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf time { + description + "Time period for watchdog / countdown / absolute timer (OBSOLETE)"; + status obsolete; + type uint32 { + range "1..2085978494"; + } + } + } + container countdown { + description + "Countdown timer event (OBSOLETE)"; + status obsolete; + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf name { + description + "Timer name string (OBSOLETE)"; + status obsolete; + type string; + } + leaf ratelimit { + description + "seconds[.milliseconds] value (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf time { + description + "Time period for watchdog / countdown / absolute timer (OBSOLETE)"; + status obsolete; + type uint32 { + range "1..2085978494"; + } + } + } + container cron { + description + "cron timer event (OBSOLETE)"; + status obsolete; + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf name { + description + "Timer name string (OBSOLETE)"; + status obsolete; + type string; + } + leaf ratelimit { + description + "seconds[.milliseconds] value (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf cron-entry { + description + "Cron entry for cron timer (OBSOLETE)"; + status obsolete; + type string; + } + } + container watchdog { + description + "Watchdog timer event (OBSOLETE)"; + status obsolete; + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf name { + description + "Timer name string (OBSOLETE)"; + status obsolete; + type string; + } + leaf ratelimit { + description + "seconds[.milliseconds] value (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf time { + description + "Time period for watchdog / countdown / absolute timer (OBSOLETE)"; + status obsolete; + type uint32 { + range "1..2085978494"; + } + } + } + } + container snmp-notification { + description + "SNMP Notification Event"; + leaf oid { + description + "Object ID of data element"; + type string; + } + leaf oid-val { + description + "Comparison value"; + type string; + } + leaf op { + description + "Operator"; + type operator-type; + } + leaf src-ip-address { + description + "Source ip address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf dest-ip-address { + description + "Destination ip address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + container syslog { + description + "Syslog event (OBSOLETE)"; + status obsolete; + leaf pattern { + description + "Pattern match string for the entire message (OBSOLETE)"; + status obsolete; + type string; + } + } + container track { + description + "Tracking object event (OBSOLETE)"; + status obsolete; + leaf track-object-number { + description + "Tracking object number (OBSOLETE)"; + status obsolete; + type uint16 { + range "1..1000"; + } + } + leaf state { + description + "State of tracking object (OBSOLETE)"; + status obsolete; + when '../track-object-number'; + type enumeration { + enum any; + enum down; + enum up; + } + default "any"; + } + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf ratelimit { + description + "Limit trigger to once per given time period (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + } + container none { + description + "Manually run policy event (OBSOLETE)"; + status obsolete; + presence "true"; + leaf default { + status obsolete; + description + "Default action timer"; + type uint32; + } + leaf maxrun { + description + "Maximum runtime of applet (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf ratelimit { + description + "seconds[.milliseconds] value (OBSOLETE)"; + status obsolete; + type uint32 { + range "0..31536000"; + } + } + leaf sync { + description + "EEM policy execution sync or async (OBSOLETE)"; + status obsolete; + type enumeration { + enum yes; + enum no; + } + } + } + container resource { + description + "Resource event"; + leaf policy { + description + "Resource policy name string"; + type string; + } + uses eem-set-maxrun-group; + uses eem-set-ratelimit-group; + } + container rpc { + description + "Remote Procedure Call event"; + presence "true"; + uses eem-default-group; + uses eem-maxrun-group; + uses eem-ratelimit-group; + } + container config { + description + "Configuration policy event"; + presence "true"; + uses eem-maxrun-group; + uses eem-ratelimit-group; + } + container env { + description + "Environmental event"; + container severity { + description + "alarm severity"; + choice severty-level { + container major { + description + "major environmental alarm"; + presence "true"; + uses eem-maxrun-group; + uses eem-ratelimit-group; + } + container minor { + description + "minor environmental alarm"; + presence "true"; + uses eem-maxrun-group; + uses eem-ratelimit-group; + } + } + } + } + container oir { + description + "OIR event"; + presence "true"; + leaf event { + description + "OIR event"; + type enumeration { + enum all; + enum insert; + enum removal; + } + } + uses eem-maxrun-group; + } + container rf { + description + "event match string"; + leaf event { + description + "Event match string"; + type string; + } + uses eem-maxrun-group; + uses eem-ratelimit-group; + } + container cli { + description + "event CLI data"; + leaf pattern { + description + "CLI command pattern match"; + type string; + } + leaf sync { + description + "CLI and EEM policy execution sync or async"; + type enumeration { + enum yes; + enum no; + } + } + leaf skip { + must "../sync = 'no'"; + description + "describes whether to skip CLI command execution"; + type enumeration { + enum yes; + enum no; + } + } + } + } + container action-config { + list action { + description + "Add or modify an action statement"; + key "name"; + leaf name { + description + "Label"; + type string; + } + choice list-option { + container if { + description + "if conditional"; + leaf string-op-1 { + type string; + } + leaf keyword { + type operator-type; + } + leaf string-op-2 { + type string; + } + leaf goto { + description + "goto label"; + type string; + } + } + container cli-choice { + description + "Execute a CLI command"; + leaf command { + description + "CLI command"; + type string; + } + } + container regexp-option { + description + "regular expression match"; + leaf string-pattern { + description + "regular expression pattern"; + type string; + } + leaf string-input { + description + "input string"; + type string; + } + leaf string-match { + description + "match variable"; + type string; + } + leaf string-submatch1 { + description + "subsequent match variable"; + type string; + } + leaf string-submatch2 { + description + "subsequent match variable"; + type string; + } + leaf string-submatch3 { + description + "subsequent match variable"; + type string; + } + } + container syslog-option { + description + "Log a syslog message"; + leaf facility { + description + "Facility string"; + type string; + } + leaf msg { + description + "Syslog message"; + type string; + } + leaf priority { + description + "Priority of syslog message"; + type ios:logging-level-type; + } + } + container elseif { + description + "else if conditional"; + leaf operand1 { + description + "First operand of else if conditional"; + type string; + } + leaf operation { + description + "Operation of else if conditional"; + type operator-type; + } + leaf operand2 { + description + "Second operand of else if conditional"; + type string; + } + } + container while { + description + "while conditional"; + leaf operand1 { + description + "First operand of while conditional"; + type string; + } + leaf operation { + description + "Operation of while conditional"; + type operator-type; + } + leaf operand2 { + description + "Second operand of while conditional"; + type string; + } + } + leaf else { + description + "else conditional"; + type empty; + } + leaf break { + description + "break conditional"; + type empty; + } + leaf continue { + description + "continue conditional"; + type empty; + } + container set { + description + "set conditional"; + leaf varname { + description + "Name of the variable of set conditional"; + type string; + } + leaf value { + description + "Value of the variable of set conditional"; + type string; + } + } + container increment { + description + "increment conditional"; + leaf varname { + description + "Name of the variable of increment conditional"; + type string; + } + leaf value { + description + "value of the variable of increment conditional"; + type string; + } + } + container decrement { + description + "decrement conditional"; + leaf varname { + description + "Name of the variable of decrement conditional"; + type string; + } + leaf value { + description + "Value of the variable of decrement conditional"; + type string; + } + } + container append { + description + "append conditional"; + leaf varname { + description + "Name of the variable of append conditional"; + type string; + } + leaf value { + description + "Value of the variable of append conditional"; + type string; + } + } + container divide { + description + "divide conditional"; + leaf operand1 { + description + "First operand of divide conditional"; + type string; + } + leaf operand2 { + description + "Second operand of divide conditional"; + type string; + } + } + container foreach { + description + "for each conditional"; + leaf loopvar { + description + "Loop variable name of for each conditional"; + type string; + } + leaf iterator { + description + "String to iterate over"; + type string; + } + leaf delimiter { + description + "Delimiter string of for each conditional"; + type string; + } + } + container handle-error { + description + "handle-error conditional"; + leaf type { + description + "Error handle type of handle-error conditional"; + type error-type; + } + } + container counter { + description + "counter conditional"; + leaf name { + description + "Name of the counter"; + type string; + } + container op { + description + "Operation of counter conditional"; + choice op-choice { + leaf dec { + description + "Decrement the value of the counter by the given value"; + type empty; + } + leaf inc { + description + "Increment the value of the counter by the given value"; + type empty; + } + leaf set { + description + "Set the value of the counter by the given value"; + type empty; + } + leaf nop { + description + "Read the value of the counter"; + type empty; + } + } + } + leaf value { + description + "Value used to modify the counter"; + type int32 { + range "-2147483648..2147483647"; + } + } + } + leaf gets { + description + "gets conditional"; + type string; + } + container info { + description + "Obtain system specific information"; + container type { + description + "Type of information to obtain"; + container snmp { + description + "SNMP information"; + container var { + description + "Trap variable"; + leaf variable-name { + type string; + } + leaf oid { + description + "SNMP object id"; + type string; + } + leaf oid-type { + type enumeration { + enum counter; + enum gauge; + enum int; + enum ipv4; + enum octet; + enum string; + enum uint; + } + } + leaf oid-type-value { + type string; + } + } + container trap { + description + "SNMP trap"; + leaf enterprise-oid { + description + "Enterprise oid"; + type string; + } + leaf generic-trapnum { + description + "Generic trap number"; + type uint32; + } + leaf specific-trapnum { + description + "Specific trap number"; + type uint32; + } + leaf trap-oid { + description + "Trap oid"; + type string; + } + leaf trap-var { + description + "Trap variable"; + type string; + } + } + } + } + } + leaf end { + description + "end conditional block"; + type empty; + } + container snmp-trap { + description + "Send an SNMP trap"; + presence "true"; + leaf intdata1 { + description + "SNMP integer data1"; + type int32; + } + leaf intdata2 { + description + "SNMP integer data2"; + type int32; + } + leaf strdata { + description + "SNMP trap string"; + type string; + } + } + container string { + description + "string commands"; + leaf trim { + description + "trim characters from both ends of string"; + type string; + } + container first { + description + "string first occurrence"; + leaf string-op-1 { + type string; + } + leaf string-op-2 { + type string; + } + } + } + leaf wait { + description + "Wait for a specified amount of time"; + type uint32 { + range "1..31536000"; + } + } + leaf exit { + description + "Exit from applet run"; + type empty; + } + leaf reload { + description + "Reload system"; + type empty; + } + container context { + description + "context information"; + container retrieve { + description + "retrieve context"; + leaf key { + description + "key name"; + type string; + } + leaf variable { + description + "variable name pattern"; + type string; + } + } + container save { + description + "save context"; + leaf key { + description + "key name"; + type string; + } + leaf variable { + description + "variable name pattern"; + type string; + } + } + } + leaf puts { + description + "displays data to active tty"; + type string; + } + } + } + } + list action { + status deprecated; + description + "Add or modify an action statement"; + ordered-by user; + key "name"; + leaf name { + status deprecated; + description + "Label"; + type string; + } + container if { + status deprecated; + description + "if conditional"; + leaf string-op-1 { + status deprecated; + type string; + } + leaf keyword { + status deprecated; + type operator-type; + } + leaf string-op-2 { + status deprecated; + type string; + } + leaf goto { + status deprecated; + description + "goto label"; + type string; + } + } + choice list-option { + status deprecated; + container cli-choice { + status deprecated; + description + "Execute a CLI command"; + leaf command { + status deprecated; + description + "CLI command"; + type string; + } + } + container regexp-option { + status deprecated; + description + "regular expression match"; + leaf string-pattern { + status deprecated; + description + "regular expression pattern"; + type string; + } + leaf string-input { + status deprecated; + description + "input string"; + type string; + } + leaf string-match { + status deprecated; + description + "match variable"; + type string; + } + leaf string-submatch1 { + status deprecated; + description + "subsequent match variable"; + type string; + } + leaf string-submatch2 { + status deprecated; + description + "subsequent match variable"; + type string; + } + leaf string-submatch3 { + status deprecated; + description + "subsequent match variable"; + type string; + } + } + container syslog-option { + status deprecated; + description + "Log a syslog message"; + leaf facility { + status deprecated; + description + "Facility string"; + type string; + } + leaf msg { + status deprecated; + description + "Syslog message"; + type string; + } + leaf priority { + status deprecated; + description + "Priority of syslog message"; + type ios:logging-level-type; + } + } + container elseif { + status deprecated; + description + "else if conditional"; + leaf operand1 { + status deprecated; + description + "First operand of else if conditional"; + type string; + } + leaf operation { + status deprecated; + description + "Operation of else if conditional"; + type operator-type; + } + leaf operand2 { + status deprecated; + description + "Second operand of else if conditional"; + type string; + } + } + container while { + status deprecated; + description + "while conditional"; + leaf operand1 { + status deprecated; + description + "First operand of while conditional"; + type string; + } + leaf operation { + status deprecated; + description + "Operation of while conditional"; + type operator-type; + } + leaf operand2 { + status deprecated; + description + "Second operand of while conditional"; + type string; + } + } + leaf else { + status deprecated; + description + "else conditional"; + type empty; + } + leaf break { + status deprecated; + description + "break conditional"; + type empty; + } + leaf continue { + status deprecated; + description + "continue conditional"; + type empty; + } + container set { + status deprecated; + description + "set conditional"; + leaf varname { + status deprecated; + description + "Name of the variable of set conditional"; + type string; + } + leaf value { + status deprecated; + description + "Value of the variable of set conditional"; + type string; + } + } + container increment { + status deprecated; + description + "increment conditional"; + leaf varname { + status deprecated; + description + "Name of the variable of increment conditional"; + type string; + } + leaf value { + status deprecated; + description + "value of the variable of increment conditional"; + type string; + } + } + container decrement { + status deprecated; + description + "decrement conditional"; + leaf varname { + status deprecated; + description + "Name of the variable of decrement conditional"; + type string; + } + leaf value { + status deprecated; + description + "Value of the variable of decrement conditional"; + type string; + } + } + container append { + status deprecated; + description + "append conditional"; + leaf varname { + status deprecated; + description + "Name of the variable of append conditional"; + type string; + } + leaf value { + status deprecated; + description + "Value of the variable of append conditional"; + type string; + } + } + container divide { + status deprecated; + description + "divide conditional"; + leaf operand1 { + status deprecated; + description + "First operand of divide conditional"; + type string; + } + leaf operand2 { + status deprecated; + description + "Second operand of divide conditional"; + type string; + } + } + container foreach { + status deprecated; + description + "for each conditional"; + leaf loopvar { + status deprecated; + description + "Loop variable name of for each conditional"; + type string; + } + leaf iterator { + status deprecated; + description + "String to iterate over"; + type string; + } + leaf delimiter { + status deprecated; + description + "Delimiter string of for each conditional"; + type string; + } + } + container handle-error { + status deprecated; + description + "handle-error conditional"; + leaf type { + status deprecated; + description + "Error handle type of handle-error conditional"; + type error-type; + } + } + container counter { + status deprecated; + description + "counter conditional"; + leaf name { + status deprecated; + description + "Name of the counter"; + type string; + } + container op { + status deprecated; + description + "Operation of counter conditional"; + choice op-choice { + leaf dec { + status deprecated; + description + "Decrement the value of the counter by the given value"; + type empty; + } + leaf inc { + status deprecated; + description + "Increment the value of the counter by the given value"; + type empty; + } + leaf set { + status deprecated; + description + "Set the value of the counter by the given value"; + type empty; + } + leaf nop { + status deprecated; + description + "Read the value of the counter"; + type empty; + } + } + } + leaf value { + status deprecated; + description + "Value used to modify the counter"; + type int32 { + range "-2147483648..2147483647"; + } + } + } + leaf gets { + status deprecated; + description + "gets conditional"; + type string; + } + } + container cli { + description + "Execute a CLI command (OBSOLETE)"; + status obsolete; + leaf command { + description + "CLI command (OBSOLETE)"; + status obsolete; + type string; + } + } + container info { + status deprecated; + description + "Obtain system specific information"; + container type { + status deprecated; + description + "Type of information to obtain"; + container snmp { + status deprecated; + description + "SNMP information"; + container var { + status deprecated; + description + "Trap variable"; + leaf variable-name { + status deprecated; + type string; + } + leaf oid { + status deprecated; + description + "SNMP object id"; + type string; + } + leaf oid-type { + status deprecated; + type enumeration { + enum counter; + enum gauge; + enum int; + enum ipv4; + enum octet; + enum string; + enum uint; + } + } + leaf oid-type-value { + status deprecated; + type string; + } + } + container trap { + status deprecated; + description + "SNMP trap"; + leaf enterprise-oid { + status deprecated; + description + "Enterprise oid"; + type string; + } + leaf generic-trapnum { + status deprecated; + description + "Generic trap number"; + type uint32; + } + leaf specific-trapnum { + status deprecated; + description + "Specific trap number"; + type uint32; + } + leaf trap-oid { + status deprecated; + description + "Trap oid"; + type string; + } + leaf trap-var { + status deprecated; + description + "Trap variable"; + type string; + } + } + } + } + } + leaf end { + status deprecated; + description + "end conditional block"; + type empty; + } + container regexp { + description + "regular expression match (OBSOLETE)"; + status obsolete; + leaf string-pattern { + status obsolete; + type string; + } + leaf string-input { + status obsolete; + type string; + } + leaf string-match { + status obsolete; + type string; + } + leaf string-submatch1 { + status obsolete; + type string; + } + leaf string-submatch2 { + status obsolete; + type string; + } + leaf string-submatch3 { + status obsolete; + type string; + } + } + container snmp-trap { + status deprecated; + description + "Send an SNMP trap"; + presence "true"; + leaf intdata1 { + status deprecated; + description + "SNMP integer data1"; + type int32; + } + leaf intdata2 { + status deprecated; + description + "SNMP integer data2"; + type int32; + } + leaf strdata { + status deprecated; + description + "SNMP trap string"; + type string; + } + } + container string { + status deprecated; + description + "string commands"; + leaf trim { + status deprecated; + description + "trim characters from both ends of string"; + type string; + } + } + container syslog { + description + "Log a syslog message (OBSOLETE)"; + status obsolete; + leaf facility { + description + "Facility string (OBSOLETE)"; + status obsolete; + type string; + } + leaf msg { + description + "Syslog message (OBSOLETE)"; + status obsolete; + type string; + } + leaf priority { + description + "Priority of syslog message (OBSOLETE)"; + status obsolete; + type ios:logging-level-type; + } + } + leaf wait { + status deprecated; + description + "Wait for a specified amount of time"; + type uint32 { + range "1..31536000"; + } + } + leaf exit { + status deprecated; + description + "Exit from applet run"; + type empty; + } + leaf reload { + status deprecated; + description + "Reload system"; + type empty; + } + container context { + status deprecated; + description + "context information"; + container retrieve { + status deprecated; + description + "retrieve context"; + leaf key { + status deprecated; + description + "key name"; + type string; + } + leaf variable { + status deprecated; + description + "variable name pattern"; + type string; + } + } + container save { + status deprecated; + description + "save context"; + leaf key { + status deprecated; + description + "key name"; + type string; + } + leaf variable { + status deprecated; + description + "variable name pattern"; + type string; + } + } + } + leaf puts { + status deprecated; + description + "displays data to active tty"; + type string; + } + } + leaf description { + description + "Add or modify an applet description"; + type string; + } + container trigger { + description + "Enter applet trigger configuration submode"; + } + } + } + } + + augment "/ios:native/ios:event" { + uses config-eem-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-efp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-efp-oper.yang new file mode 100644 index 000000000..426b8565c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-efp-oper.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XE-efp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-efp-oper"; + prefix efp-stats-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for service instance (efp) stats. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping efp-key { + description + "Each efp record is uniquely identified by interface and id"; + leaf id { + type uint32; + description + "EFP id"; + } + leaf interface { + type string; + description + "Interface name"; + } + } + + grouping efp-params { + description + "EFP parameters"; + leaf in-pkts { + type yang:counter64; + description + "Incoming packets"; + } + leaf in-bytes { + type yang:counter64; + description + "Incoming bytes"; + } + leaf out-pkts { + type yang:counter64; + description + "Outgoing packets"; + } + leaf out-bytes { + type yang:counter64; + description + "Outgoing bytes"; + } + } + + container efp-stats { + config false; + description + "Service instance stats"; + list efp-stat { + key "id interface"; + description + "List of service instance stats"; + uses efp-stats-ios-xe-oper:efp-key; + uses efp-stats-ios-xe-oper:efp-params; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-obsolete.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-obsolete.yang new file mode 100644 index 000000000..f58dbf58d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-obsolete.yang @@ -0,0 +1,2987 @@ +submodule Cisco-IOS-XE-eigrp-obsolete { + yang-version 1.1; + belongs-to Cisco-IOS-XE-eigrp { + prefix ios-eigrp; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2021-03-01 { + description + "Marked all the deprecated nodes to obsolete nodes"; + } + revision 2019-10-01 { + description + "Initial revision"; + } + + grouping eigrp-af-topo-redist-grouping { + container route-map { + status obsolete; + description + "Filter prefixes based on the route-map"; + list rmap-name { + status obsolete; + key "rmap-name"; + leaf rmap-name { + status obsolete; + description + "route-map name"; + type string; + } + } + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + leaf bandwith { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + status obsolete; + description + "EIGRP delay metric, in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + status obsolete; + description + "EIGRP reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf Effective { + status obsolete; + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + status obsolete; + description + "MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping ipv6-router-distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + list prefix-list { + description + "Filter connections based on an IPv6 prefix-list"; + key "name"; + leaf name { + type string; + } + leaf in { + description + "Filter incoming routing updates"; + type empty; + } + leaf out { + description + "Filter outgoing routing updates"; + type empty; + } + } + } + } + + grouping ipv6-router-distribute-list-grouping-obsolete { + container distribute-list { + status obsolete; + description + "Filter networks in routing updates"; + list prefix-list { + status obsolete; + description + "Filter connections based on an IPv6 prefix-list"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming routing updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing routing updates"; + type empty; + } + } + } + } + + grouping config-interface-ipv6-eigrp-grouping { + status obsolete; + container eigrp { + status obsolete; + description + "Interface command for IPv6 EIGRP. (OBSOLETE, use router-eigrp)"; + leaf as-number { + status obsolete; + type uint16; + } + } + } + + grouping eigrp-topology-base-grouping { + container topology { + status obsolete; + description + "Topology configuration mode"; + container base { + status obsolete; + description + "Base Topology"; + presence "true"; + container distance { + status obsolete; + description + "Define an administrative distance"; + container eigrp { + status obsolete; + description + "EIGRP-IPV6 distance"; + list distance-list { + status obsolete; + key "internal-route"; + leaf internal-route { + status obsolete; + description + "Distance for internal routes"; + type uint8 { + range "1..255"; + } + } + leaf external-route { + status obsolete; + description + "Distance for external routes"; + type uint8 { + range "1..255"; + } + } + } + } + } + container table-map { + status obsolete; + description + "Define Table-Map for setting OMP-TAG into routing table"; + leaf name { + status obsolete; + description + "WORD;;route-map name"; + type string; + } + leaf filter { + status obsolete; + description + "Selective route download"; + type empty; + } + } + container distribute-list { + status obsolete; + description + "Filter entries in eigrp updates"; + list prefix-list { + status obsolete; + description + "Filter prefixes in address updates"; + key "prefix-list"; + leaf prefix-list { + status obsolete; + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + status obsolete; + description + "Filtering incoming address updates based on gateway"; + type empty; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + list route-map { + status obsolete; + description + "Filter prefixes based on the route-map"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type string; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type string; + } + } + } + container redistribute { + status obsolete; + description + "Redistribute IPv6 prefixes from another routing protocol"; + container eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + list as-list { + status obsolete; + key "autonomous-system"; + leaf autonomous-system { + status obsolete; + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + uses eigrp-af-topo-redist-obsolete-grouping; + } + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "true"; + uses eigrp-af-topo-redist-grouping; + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT Outside routes"; + type empty; + } + uses eigrp-af-topo-redist-grouping; + } + container ospf { + status obsolete; + description + "Open Shortest Path First (OSPFv3)"; + leaf process-id { + status obsolete; + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses eigrp-af-topo-redist-grouping; + } + container connected { + status obsolete; + description + "Connected Routes"; + presence "true"; + uses eigrp-af-topo-redist-grouping; + } + container static { + status obsolete; + description + "Static Routes"; + presence "true"; + uses eigrp-af-topo-redist-grouping; + } + container bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses eigrp-af-topo-redist-grouping; + } + } + list summary-metric { + status obsolete; + description + "Specify summary to apply metric/filtering"; + key "ipv4-addr-slash-prefix-len"; + leaf ipv4-addr-slash-prefix-len { + status obsolete; + description + "Summary /, e.g., 192.168.0.0/16"; + type inet:ipv4-prefix; + } + container metric { + status obsolete; + leaf bandwidth-metric { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay-metric { + status obsolete; + description + "delay metric in 10 microsecond units"; + type uint32 { + range "1..4294967295"; + } + } + leaf reliability-metric { + status obsolete; + description + "reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf effective-bandwidth-metric { + status obsolete; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "0..255"; + } + } + leaf mtu { + status obsolete; + description + "MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf distance { + status obsolete; + description + "Set administrative distance for summary route"; + type uint8 { + range "1..255"; + } + } + } + } + } + } + + grouping eigrp-address-family-grouping { + list af-interface { + status obsolete; + description + "Enter Address Family interface configuration"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf bandwidth-percent { + status obsolete; + description + "Set percentage of bandwidth percentage limit"; + type uint32 { + range "1..999999"; + } + } + leaf shutdown { + status obsolete; + description + "Shutdown this interface of EIGRP"; + type empty; + } + leaf bfd { + status obsolete; + description + "set peer monitoring method to bfd"; + type empty; + } + leaf hello-interval { + status obsolete; + description + "Configures hello interval"; + type uint16; + } + leaf hold-time { + status obsolete; + description + "Configures hold time"; + type uint16; + } + leaf passive-interface { + status obsolete; + description + "Suppress address updates on an interface"; + type boolean; + } + leaf split-horizon { + status obsolete; + description + "Perform split horizon"; + type boolean; + } + container stub-site { + status obsolete; + description + "Stub-Site"; + leaf wan-interface { + status obsolete; + description + "Wan Interface"; + type empty; + } + } + container authentication { + status obsolete; + description + "authentication subcommands"; + container mode { + status obsolete; + description + "authentication mode"; + leaf md5 { + status obsolete; + description + "Keyed message digest"; + type empty; + } + container hmac-sha-256 { + status obsolete; + description + "HMAC-SHA-256 Authentication"; + leaf auth-type { + status obsolete; + type uint8; + } + leaf auth-key { + status obsolete; + type string; + } + } + } + leaf key-chain { + status obsolete; + description + "key-chain"; + type string; + } + } + list summary-address { + status obsolete; + key "prefix"; + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + } + container set-as-in-submode { + status obsolete; + leaf autonomous-system { + status obsolete; + description + "Specify Address-Family Autonomous System Number?"; + type uint16; + } + } + leaf auto-summary { + status obsolete; + description + "Enable automatic network number summarization"; + type empty; + } + container bfd { + status obsolete; + description + "BFD configuration commands"; + leaf all-interfaces { + status obsolete; + description + "Enable BFD on all interfaces"; + type empty; + } + container interface { + status obsolete; + description + "Enable BFD on specific interface"; + uses interface-grouping-obsolete { + status obsolete; + } + } + } + container default-information { + status obsolete; + description + "Control distribution of default information"; + container in { + status obsolete; + description + "Accept input default routing information"; + presence "true"; + leaf sa-num { + status obsolete; + description + "A standard expanded IP access list number"; + type uint16 { + range "1300..1999"; + } + } + leaf sa-name { + status obsolete; + description + "Standard Access-list name"; + type string; + } + } + container out { + status obsolete; + description + "Accept output default routing information"; + presence "true"; + leaf sa-out-num { + status obsolete; + description + "A standard expanded IP access list number"; + type uint16 { + range "1300..1999"; + } + } + leaf sa-out-name { + status obsolete; + description + "Standard Access-list name"; + type string; + } + } + } + container default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + list dm-rdr { + status obsolete; + key "dm-rdr"; + leaf dm-rdr { + status obsolete; + description + "Bandwidth in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + list dm-rdr0 { + status obsolete; + key "dm-rdr0"; + leaf dm-rdr0 { + status obsolete; + description + "delay metric in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf dm-rdr-pct { + status obsolete; + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + } + } + } + container distance { + status obsolete; + description + "Define an administrative distance"; + list rad-dis { + status obsolete; + key "rad-dis"; + leaf rad-dis { + status obsolete; + description + "Set route administrative distance"; + type uint8 { + range "1..255"; + } + } + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "IP Source address"; + type inet:ipv4-address; + } + leaf ipv40 { + status obsolete; + description + "Wildcard bits"; + type inet:ipv4-address; + } + } + } + container eigrp { + status obsolete; + description + "Set distance for internal and external routes"; + list di-rt { + status obsolete; + key "di-rt"; + leaf di-rt { + status obsolete; + description + "Distance for internal routes"; + type uint8 { + range "1..255"; + } + } + leaf di-rt0 { + status obsolete; + description + "Distance for external routes"; + type uint8 { + range "1..255"; + } + } + } + } + } + container distribute-list { + status obsolete; + description + "Filter entries in eigrp updates"; + list eig-filt { + status obsolete; + key "eig-filt"; + leaf eig-filt { + status obsolete; + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + container in { + status obsolete; + description + "Filter incoming service updates"; + presence "true"; + leaf-list interface_name { + status obsolete; + description + "Interface name"; + type string; + } + } + container out { + status obsolete; + description + "Filter outgoing service updates"; + presence "true"; + leaf-list interface_name { + status obsolete; + description + "Interface name"; + type string; + } + } + } + container gateway { + status obsolete; + description + "Filtering incoming address updates based on gateway"; + list gw-list { + status obsolete; + key "gw-list"; + leaf gw-list { + status obsolete; + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + container prefix { + status obsolete; + description + "Filter prefixes in address updates"; + list pl-name { + status obsolete; + key "pl-name"; + leaf pl-name { + status obsolete; + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + status obsolete; + description + "Filtering incoming address updates based on gateway"; + type empty; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + container route-map { + status obsolete; + description + "Filter prefixes based on the route-map"; + list rmap-name { + status obsolete; + key "rmap-name"; + leaf rmap-name { + status obsolete; + description + "route-map name"; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + } + container eigrp { + status obsolete; + description + "EIGRP Address Family specific commands"; + leaf router-id { + status obsolete; + description + "router id for this EIGRP process"; + type inet:ipv4-address; + } + container stub { + status obsolete; + description + "Set address-family in stubbed mode"; + presence "true"; + leaf connected { + status obsolete; + description + "Do advertise connected routes"; + type empty; + } + leaf summary { + status obsolete; + description + "Do advertise summary routes"; + type empty; + } + leaf redistributed { + status obsolete; + description + "Do advertise redistributed routes"; + type empty; + } + leaf leak-map { + status obsolete; + description + "Allow dynamic prefixes based on the leak-map"; + type string; + } + leaf receive-only { + status obsolete; + description + "Set receive only neighbor"; + type empty; + } + leaf static { + status obsolete; + description + "Do advertise static routes"; + type empty; + } + } + leaf stub-site { + status obsolete; + description + "ASN:nn, Dotted-Decimal:nn or 4BASN:nn Stub-Site ID in aa:nn format"; + type string; + } + } + leaf maximum-paths { + status obsolete; + description + "Number of paths"; + type uint8 { + range "1..32"; + } + } + container metric { + status obsolete; + description + "Modify metrics and parameters for advertisement"; + leaf maximum-hops { + status obsolete; + description + "Hop count"; + type uint8 { + range "1..255"; + } + } + leaf weights { + status obsolete; + description + "Type (Only TOS 0 supported)"; + type uint8 { + range "0..8"; + } + } + } + container neighbor { + status obsolete; + description + "Specify a neighbor router"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "Neighbor address"; + type inet:ipv4-address; + } + container interface { + status obsolete; + description + "Specify interface for global address"; + uses interface-grouping-obsolete { + status obsolete; + } + } + } + } + list network { + status obsolete; + description + "Enable routing on an IP network"; + key "number"; + leaf number { + status obsolete; + description + "Network number"; + type inet:ipv4-address; + } + leaf wild-card { + status obsolete; + description + "EIGRP wild card bits"; + type inet:ipv4-address; + } + } + leaf nsf { + status obsolete; + description + "Non-stop forwarding"; + type empty; + } + container offset-list { + status obsolete; + description + "Add or subtract offset from EIGRP metrics"; + list nsr-list { + status obsolete; + key "nsr-list"; + leaf nsr-list { + status obsolete; + description + "Access list of networks to apply offset (extended range)"; + type uint16 { + range "1300..1999"; + } + } + leaf in { + status obsolete; + description + "Perform offset on incoming updates"; + type empty; + } + leaf out { + status obsolete; + description + "Perform offset on outgoing updates"; + type empty; + } + } + list ol-acl { + status obsolete; + key "ol-acl"; + leaf ol-acl { + status obsolete; + description + "Access-list name"; + type string; + } + leaf in { + status obsolete; + description + "Perform offset on incoming updates"; + type empty; + } + leaf out { + status obsolete; + description + "Perform offset on outgoing updates"; + type empty; + } + } + } + container redistribute { + status obsolete; + description + "Redistribute IPv4 routes from another routing protocol"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "rdr-as"; + leaf rdr-as { + status obsolete; + description + "Autonomous system number"; + type ios-types:bgp-as-number-type; + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + leaf bandwith { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + status obsolete; + description + "EIGRP delay metric, in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + status obsolete; + description + "EIGRP reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf Effective { + status obsolete; + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + status obsolete; + description + "EIGRP MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf rd-LESSER_1_PERIOD_0-XX_PERIOD_YY_GREATER_ { + status obsolete; + description + "Autonomous system number"; + type empty; + } + } + container connected { + status obsolete; + description + "Connected"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + leaf eigrp { + status obsolete; + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + container isis { + status obsolete; + description + "ISO IS-IS"; + presence "true"; + leaf is-tag { + status obsolete; + description + "ISO routing area tag"; + type string; + } + leaf level-1 { + status obsolete; + description + "IS-IS level-1 routes only"; + type empty; + } + leaf level-1-2 { + status obsolete; + description + "IS-IS level-1 and level-2 routes"; + type empty; + } + leaf level-2 { + status obsolete; + description + "IS-IS level-2 routes only"; + type empty; + } + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container lisp { + status obsolete; + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + leaf ospf { + status obsolete; + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container static { + status obsolete; + description + "Static routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container vrf { + status obsolete; + description + "Specify a source virtual routing/forwarding instance"; + leaf name { + status obsolete; + description + "Virtual Routing/Forwarding instance name"; + type string; + } + leaf global { + status obsolete; + description + "global VRF"; + type empty; + } + } + } + leaf shutdown { + status obsolete; + description + "Shutdown this instance of EIGRP"; + type empty; + } + container summary-metric { + status obsolete; + description + "Specify summary to apply metric/filtering"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "Summary to configure static metric"; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "Network mask"; + type inet:ipv4-address; + } + } + leaf A_PERIOD_B_PERIOD_C_PERIOD_D_SLASH_nn { + status obsolete; + description + "Summary /, e.g., 192.168.0.0/16"; + type empty; + } + } + container timers { + status obsolete; + description + "Adjust routing timers"; + container active-time { + status obsolete; + description + "time limit for active state"; + leaf atimer { + status obsolete; + description + "active state time limit in minutes"; + type uint16 { + range "1..65535"; + } + } + leaf disabled { + status obsolete; + description + "disable time limit for active state"; + type empty; + } + } + container graceful-restart { + status obsolete; + description + "EIGRP Graceful Restart timer"; + leaf purge-time { + status obsolete; + description + "EIGRP stale route purge time"; + type empty; + } + } + container nsf { + status obsolete; + description + "EIGRP NSF timer"; + leaf converge { + status obsolete; + description + "EIGRP time limit for convergence after switchover"; + type empty; + } + leaf signal { + status obsolete; + description + "EIGRP time limit for signaling NSF restart"; + type empty; + } + } + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + leaf balanced { + status obsolete; + description + "Share inversely proportional to metric"; + type empty; + } + container min { + status obsolete; + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + leaf variance { + status obsolete; + description + "Metric variance multiplier"; + type uint8 { + range "1..128"; + } + } + } + + grouping config-router-eigrp-grouping { + status obsolete; + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP) (OBSOLETE, use router-eigrp)"; + key "id"; + leaf id { + status obsolete; + description + "Autonomous System ID"; + type union { + type uint16 { + range "1..65535"; + } + type string; + } + } + container passive-interface { + status obsolete; + description + "Suppress routing updates on an interface"; + leaf interface { + status obsolete; + description + "interface name"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface number"; + type uint32 { + range "0..2147483647"; + } + } + leaf Vlan { + status obsolete; + description + "Vlan interface number"; + type uint16 { + range "1..4094"; + } + } + leaf default { + status obsolete; + description + "Suppress routing updates on all interfaces"; + type empty; + } + } + list address-family { + status obsolete; + description + "Enter Address Family command mode"; + key "type"; + leaf type { + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + } + } + list af-ip-list { + status obsolete; + description + "Address family IPv4/IPv6"; + key "unicast-multicast"; + leaf unicast-multicast { + status obsolete; + type enumeration { + enum unicast; + enum multicast; + } + } + leaf autonomous-system { + status obsolete; + description + "Specify Address-Family Autonomous System Number"; + type uint16 { + range "1..65535"; + } + } + uses eigrp-address-family-obsolete-grouping; + uses eigrp-topology-base-grouping; + } + list af-ip-vrf-list { + status obsolete; + description + "Address family IPv4/IPv6 VRF"; + key "vrf"; + leaf vrf { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast-multicast { + status obsolete; + type enumeration { + enum unicast; + enum multicast; + } + } + leaf autonomous-system { + status obsolete; + description + "Specify Address-Family Autonomous System Number?"; + type uint16; + } + uses eigrp-address-family-grouping; + uses eigrp-topology-base-grouping; + } + } + uses eigrp-address-family-grouping; + } + } + + grouping config-router-ipv6-eigrp-grouping { + status obsolete; + container default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + leaf dm-rdr { + status obsolete; + description + "Bandwidth in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf dm-rdr0 { + status obsolete; + description + "delay metric in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf dm-rdr-pct { + status obsolete; + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf effective-bandwith-metric { + status obsolete; + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8; + } + leaf mtu { + status obsolete; + description + "Maximum Transmission Unit metric of the path "; + type uint16; + } + } + container distance { + status obsolete; + description + "Define an administrative distance"; + container eigrp { + status obsolete; + description + "EIGRP-IPV6 distance"; + leaf internal-route { + status obsolete; + description + "Distance for internal routes"; + type uint8; + } + leaf external-route { + status obsolete; + description + "Distance for external routes"; + type uint8; + } + } + } + uses ipv6-router-distribute-list-grouping-obsolete { + status obsolete; + } + container eigrp { + status obsolete; + description + "EIGRP specific commands"; + leaf router-id { + status obsolete; + description + "router id for this EIGRP process"; + type inet:ipv4-address; + } + } + list passive-interface { + status obsolete; + description + "Suppress routing updates on an interface"; + key "name"; + leaf name { + status obsolete; + type union { + type string; + type enumeration { + enum default; + } + } + } + } + } + + grouping config-route-tag-grouping { + container list { + list rt-name { + key "rt-name"; + leaf rt-name { + type string; + } + container deny { + list ipv4 { + key "ipv4"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + } + container permit { + list ipv4 { + key "ipv4"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + } + container seq { + list seq-num { + key "seq-num"; + leaf seq-num { + type uint32 { + range "1..4294967294"; + } + } + container deny { + leaf ipv4 { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + container permit { + leaf ipv4 { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + } + } + } + } + container notation { + leaf dotted-decimal { + type empty; + } + } + } + + grouping interface-grouping-obsolete { + status obsolete; + choice interface-choice { + status obsolete; + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + status obsolete; + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + status obsolete; + description + "ATM interface"; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + status obsolete; + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status obsolete; + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + status obsolete; + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status obsolete; + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status obsolete; + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + status obsolete; + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + status obsolete; + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + status obsolete; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + status obsolete; + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + status obsolete; + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwentyFiveGigE { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + status obsolete; + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + status obsolete; + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + status obsolete; + description + "Hundred GigabitEthernet"; + type string; + } + leaf LISP { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status obsolete; + description + "Loopback interface"; + type uint32; + } + leaf Multilink { + status obsolete; + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + status obsolete; + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + status obsolete; + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + status obsolete; + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + status obsolete; + description + "SM Interface"; + type string; + } + leaf Cellular { + status obsolete; + description + "Cellular Interface"; + type string; + } + leaf Dialer { + status obsolete; + description + "Dialer Interface"; + type string; + } + leaf Serial { + status obsolete; + description + "Serial interface"; + type string; + } + leaf TenGigabitEthernet { + status obsolete; + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + status obsolete; + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + status obsolete; + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + status obsolete; + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + status obsolete; + description + "vasileft"; + type uint16; + } + leaf vasiright { + status obsolete; + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + status obsolete; + description + "Bridge-Domain Virtual IP interface"; + type string; + } + } + } + + grouping eigrp-af-topo-redist-obsolete-grouping { + container route-map { + status obsolete; + description + "Filter prefixes based on the route-map"; + list rmap-name { + status obsolete; + key "rmap-name"; + leaf rmap-name { + status obsolete; + description + "route-map name"; + type string; + } + } + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + leaf bandwith { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + status obsolete; + description + "EIGRP delay metric, in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + status obsolete; + description + "EIGRP reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf Effective { + status obsolete; + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + status obsolete; + description + "MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping eigrp-address-family-obsolete-grouping { + list af-interface { + status obsolete; + description + "Enter Address Family interface configuration"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf bandwidth-percent { + status obsolete; + description + "Set percentage of bandwidth percentage limit"; + type uint32 { + range "1..999999"; + } + } + leaf shutdown { + status obsolete; + description + "Shutdown this interface of EIGRP"; + type empty; + } + leaf bfd { + status obsolete; + description + "set peer monitoring method to bfd"; + type empty; + } + leaf hello-interval { + status obsolete; + description + "Configures hello interval"; + type uint16; + } + leaf hold-time { + status obsolete; + description + "Configures hold time"; + type uint16; + } + leaf passive-interface { + status obsolete; + description + "Suppress address updates on an interface"; + type boolean; + } + leaf split-horizon { + status obsolete; + description + "Perform split horizon"; + type boolean; + } + container stub-site { + status obsolete; + description + "Stub-Site"; + leaf wan-interface { + status obsolete; + description + "Wan Interface"; + type empty; + } + } + container authentication { + status obsolete; + description + "authentication subcommands"; + container mode { + status obsolete; + description + "authentication mode"; + leaf md5 { + status obsolete; + description + "Keyed message digest"; + type empty; + } + container hmac-sha-256 { + status obsolete; + description + "HMAC-SHA-256 Authentication"; + leaf auth-type { + status obsolete; + type uint8; + } + leaf auth-key { + status obsolete; + type string; + } + } + } + leaf key-chain { + status obsolete; + description + "key-chain"; + type string; + } + } + list summary-address { + status obsolete; + key "prefix"; + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + } + container set-as-in-submode { + status obsolete; + leaf autonomous-system { + status obsolete; + description + "Specify Address-Family Autonomous System Number?"; + type uint16; + } + } + leaf auto-summary { + status obsolete; + description + "Enable automatic network number summarization"; + type empty; + } + container bfd { + status obsolete; + description + "BFD configuration commands"; + leaf all-interfaces { + status obsolete; + description + "Enable BFD on all interfaces"; + type empty; + } + container interface { + status obsolete; + description + "Enable BFD on specific interface"; + uses interface-grouping-obsolete { + status obsolete; + } + } + } + container default-information { + status obsolete; + description + "Control distribution of default information"; + container in { + status obsolete; + description + "Accept input default routing information"; + presence "true"; + leaf sa-num { + status obsolete; + description + "A standard expanded IP access list number"; + type uint16 { + range "1300..1999"; + } + } + leaf sa-name { + status obsolete; + description + "Standard Access-list name"; + type string; + } + } + container out { + status obsolete; + description + "Accept output default routing information"; + presence "true"; + leaf sa-out-num { + status obsolete; + description + "A standard expanded IP access list number"; + type uint16 { + range "1300..1999"; + } + } + leaf sa-out-name { + status obsolete; + description + "Standard Access-list name"; + type string; + } + } + } + container default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + list dm-rdr { + status obsolete; + key "dm-rdr"; + leaf dm-rdr { + status obsolete; + description + "Bandwidth in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + list dm-rdr0 { + status obsolete; + key "dm-rdr0"; + leaf dm-rdr0 { + status obsolete; + description + "delay metric in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf dm-rdr-pct { + status obsolete; + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + } + } + } + container distance { + status obsolete; + description + "Define an administrative distance"; + list rad-dis { + status obsolete; + key "rad-dis"; + leaf rad-dis { + status obsolete; + description + "Set route administrative distance"; + type uint8 { + range "1..255"; + } + } + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "IP Source address"; + type inet:ipv4-address; + } + leaf ipv40 { + status obsolete; + description + "Wildcard bits"; + type inet:ipv4-address; + } + } + } + container eigrp { + status obsolete; + description + "Set distance for internal and external routes"; + list di-rt { + status obsolete; + key "di-rt"; + leaf di-rt { + status obsolete; + description + "Distance for internal routes"; + type uint8 { + range "1..255"; + } + } + leaf di-rt0 { + status obsolete; + description + "Distance for external routes"; + type uint8 { + range "1..255"; + } + } + } + } + } + container distribute-list { + status obsolete; + description + "Filter entries in eigrp updates"; + list eig-filt { + status obsolete; + key "eig-filt"; + leaf eig-filt { + status obsolete; + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + container in { + status obsolete; + description + "Filter incoming service updates"; + presence "true"; + leaf-list interface_name { + status obsolete; + description + "Interface name"; + type string; + } + } + container out { + status obsolete; + description + "Filter outgoing service updates"; + presence "true"; + leaf-list interface_name { + status obsolete; + description + "Interface name"; + type string; + } + } + } + container gateway { + status obsolete; + description + "Filtering incoming address updates based on gateway"; + list gw-list { + status obsolete; + key "gw-list"; + leaf gw-list { + status obsolete; + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + container prefix { + status obsolete; + description + "Filter prefixes in address updates"; + list pl-name { + status obsolete; + key "pl-name"; + leaf pl-name { + status obsolete; + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + status obsolete; + description + "Filtering incoming address updates based on gateway"; + type empty; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + container route-map { + status obsolete; + description + "Filter prefixes based on the route-map"; + list rmap-name { + status obsolete; + key "rmap-name"; + leaf rmap-name { + status obsolete; + description + "route-map name"; + type string; + } + leaf in { + status obsolete; + description + "Filter incoming service updates"; + type empty; + } + leaf out { + status obsolete; + description + "Filter outgoing service updates"; + type empty; + } + } + } + } + container eigrp { + status obsolete; + description + "EIGRP Address Family specific commands"; + leaf router-id { + status obsolete; + description + "router id for this EIGRP process"; + type inet:ipv4-address; + } + container stub { + status obsolete; + description + "Set address-family in stubbed mode"; + presence "true"; + leaf connected { + status obsolete; + description + "Do advertise connected routes"; + type empty; + } + leaf summary { + status obsolete; + description + "Do advertise summary routes"; + type empty; + } + leaf redistributed { + status obsolete; + description + "Do advertise redistributed routes"; + type empty; + } + leaf leak-map { + status obsolete; + description + "Allow dynamic prefixes based on the leak-map"; + type string; + } + leaf receive-only { + status obsolete; + description + "Set receive only neighbor"; + type empty; + } + leaf static { + status obsolete; + description + "Do advertise static routes"; + type empty; + } + } + leaf stub-site { + status obsolete; + description + "ASN:nn, Dotted-Decimal:nn or 4BASN:nn Stub-Site ID in aa:nn format"; + type string; + } + } + leaf maximum-paths { + status obsolete; + description + "Number of paths"; + type uint8 { + range "1..32"; + } + } + container metric { + status obsolete; + description + "Modify metrics and parameters for advertisement"; + leaf maximum-hops { + status obsolete; + description + "Hop count"; + type uint8 { + range "1..255"; + } + } + leaf weights { + status obsolete; + description + "Type (Only TOS 0 supported)"; + type uint8 { + range "0..8"; + } + } + } + container neighbor { + status obsolete; + description + "Specify a neighbor router"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "Neighbor address"; + type inet:ipv4-address; + } + container interface { + status obsolete; + description + "Specify interface for global address"; + uses interface-grouping-obsolete { + status obsolete; + } + } + } + } + list network { + status obsolete; + description + "Enable routing on an IP network"; + key "number"; + leaf number { + status obsolete; + description + "Network number"; + type inet:ipv4-address; + } + leaf wild-card { + status obsolete; + description + "EIGRP wild card bits"; + type inet:ipv4-address; + } + } + leaf nsf { + status obsolete; + description + "Non-stop forwarding"; + type empty; + } + container offset-list { + status obsolete; + description + "Add or subtract offset from EIGRP metrics"; + list nsr-list { + status obsolete; + key "nsr-list"; + leaf nsr-list { + status obsolete; + description + "Access list of networks to apply offset (extended range)"; + type uint16 { + range "1300..1999"; + } + } + leaf in { + status obsolete; + description + "Perform offset on incoming updates"; + type empty; + } + leaf out { + status obsolete; + description + "Perform offset on outgoing updates"; + type empty; + } + } + list ol-acl { + status obsolete; + key "ol-acl"; + leaf ol-acl { + status obsolete; + description + "Access-list name"; + type string; + } + leaf in { + status obsolete; + description + "Perform offset on incoming updates"; + type empty; + } + leaf out { + status obsolete; + description + "Perform offset on outgoing updates"; + type empty; + } + } + } + container redistribute { + status obsolete; + description + "Redistribute IPv4 routes from another routing protocol"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "rdr-as"; + leaf rdr-as { + status obsolete; + description + "Autonomous system number"; + type ios-types:bgp-as-number-type; + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + leaf bandwith { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + status obsolete; + description + "EIGRP delay metric, in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + status obsolete; + description + "EIGRP reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf Effective { + status obsolete; + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + status obsolete; + description + "EIGRP MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf rd-LESSER_1_PERIOD_0-XX_PERIOD_YY_GREATER_ { + status obsolete; + description + "Autonomous system number"; + type empty; + } + } + container connected { + status obsolete; + description + "Connected"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + leaf eigrp { + status obsolete; + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + container isis { + status obsolete; + description + "ISO IS-IS"; + presence "true"; + leaf is-tag { + status obsolete; + description + "ISO routing area tag"; + type string; + } + leaf level-1 { + status obsolete; + description + "IS-IS level-1 routes only"; + type empty; + } + leaf level-1-2 { + status obsolete; + description + "IS-IS level-1 and level-2 routes"; + type empty; + } + leaf level-2 { + status obsolete; + description + "IS-IS level-2 routes only"; + type empty; + } + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container lisp { + status obsolete; + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + leaf ospf { + status obsolete; + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container static { + status obsolete; + description + "Static routes"; + presence "true"; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type empty; + } + } + container vrf { + status obsolete; + description + "Specify a source virtual routing/forwarding instance"; + leaf name { + status obsolete; + description + "Virtual Routing/Forwarding instance name"; + type string; + } + leaf global { + status obsolete; + description + "global VRF"; + type empty; + } + } + } + leaf shutdown { + status obsolete; + description + "Shutdown this instance of EIGRP"; + type empty; + } + container summary-metric { + status obsolete; + description + "Specify summary to apply metric/filtering"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "Summary to configure static metric"; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "Network mask"; + type inet:ipv4-address; + } + } + leaf A_PERIOD_B_PERIOD_C_PERIOD_D_SLASH_nn { + status obsolete; + description + "Summary /, e.g., 192.168.0.0/16"; + type empty; + } + } + container timers { + status obsolete; + description + "Adjust routing timers"; + container active-time { + status obsolete; + description + "time limit for active state"; + leaf atimer { + status obsolete; + description + "active state time limit in minutes"; + type uint16 { + range "1..65535"; + } + } + leaf disabled { + status obsolete; + description + "disable time limit for active state"; + type empty; + } + } + container graceful-restart { + status obsolete; + description + "EIGRP Graceful Restart timer"; + leaf purge-time { + status obsolete; + description + "EIGRP stale route purge time"; + type empty; + } + } + container nsf { + status obsolete; + description + "EIGRP NSF timer"; + leaf converge { + status obsolete; + description + "EIGRP time limit for convergence after switchover"; + type empty; + } + leaf signal { + status obsolete; + description + "EIGRP time limit for signaling NSF restart"; + type empty; + } + } + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + leaf balanced { + status obsolete; + description + "Share inversely proportional to metric"; + type empty; + } + container min { + status obsolete; + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + leaf variance { + status obsolete; + description + "Metric variance multiplier"; + type uint8 { + range "1..128"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-oper.yang new file mode 100644 index 000000000..44279a7ac --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp-oper.yang @@ -0,0 +1,646 @@ +module Cisco-IOS-XE-eigrp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eigrp-oper"; + prefix eigrp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for EIGRP operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-01-11 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef eigrp-ios-oper-afi { + type enumeration { + enum eigrp-af-illegal { + value 0; + description + "Unsupported Address Family"; + } + enum eigrp-af-ipv4 { + value 1; + description + "Address Family IPv4"; + } + enum eigrp-af-ipv6 { + value 2; + description + "Address Family IPv6"; + } + enum eigrp-af-sf-ipv4 { + value 3; + description + "Service Family IPv4"; + } + enum eigrp-af-sf-ipv6 { + value 4; + description + "Service Family IPv6"; + } + } + description + "Address Family"; + } + + typedef eigrp-ios-oper-authentication-mode { + type enumeration { + enum eigrp-auth-none { + value 0; + description + "No Authentication"; + } + enum eigrp-auth-md5 { + value 1; + description + "MD5 Authentication"; + } + enum eigrp-auth-hmac-sha-256 { + value 2; + description + "HMAC SHA256 Authentication"; + } + } + description + "EIGRP authentication mode"; + } + + typedef eigrp-ios-oper-origin-type { + type enumeration { + enum eigrp-origin-connected { + value 0; + description + "Origin - Connected"; + } + enum eigrp-origin-rediststatic { + value 1; + description + "Origin - Redistributed Static"; + } + enum eigrp-origin-redistconnect { + value 2; + description + "Origin - Redistributed Connected"; + } + enum eigrp-origin-redistributed { + value 3; + description + "Origin - Redistributed"; + } + enum eigrp-origin-vpnv4 { + value 4; + description + "Origin - VPNv4"; + } + enum eigrp-origin-summary { + value 5; + description + "Origin - Summary"; + } + enum eigrp-origin-dummy { + value 6; + description + "Origin - Dummy"; + } + enum eigrp-origin-igrp2 { + value 7; + description + "Origin - EIGRP"; + } + enum eigrp-origin-vpnv6 { + value 8; + description + "Origin - VPNv6"; + } + enum eigrp-origin-count { + value 9; + description + "Count of Origins"; + } + } + description + "EIGRP origin type"; + } + + grouping eigrp-ios-oper-instance-key { + description + "Key to uniquely identify a EIGRP instance"; + leaf afi { + type eigrp-ios-xe-oper:eigrp-ios-oper-afi; + description + "Address Family"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf as-num { + type uint16; + description + "Autonomous System Number"; + } + } + + grouping eigrp-ios-oper-instance { + description + "EIGRP Instance"; + leaf router-id { + type uint32; + description + "Router-ID"; + } + leaf named-mode { + type empty; + description + "Named or Classic Mode"; + } + leaf name { + type string; + description + "EIGRP Virtual-Instance Name"; + } + list eigrp-interface { + key "name"; + description + "EIGRP Interface"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-intf; + } + list eigrp-topo { + key "topo-id"; + description + "EIGRP Topology"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-topo; + } + } + + grouping eigrp-ios-oper-auth-key { + description + "EIGRP Authentication Key"; + leaf key-chain { + type string; + description + "Key-Chain"; + } + leaf sha256-password { + type string; + description + "HMAC-SHA-256 Password"; + } + } + + grouping eigrp-ios-oper-auth { + description + "EIGRP Authentication"; + leaf auth-mode { + type eigrp-ios-xe-oper:eigrp-ios-oper-authentication-mode; + description + "Authentication Mode"; + } + container auth-key { + description + "Authentication Key"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-auth-key; + } + } + + grouping eigrp-ios-oper-intf { + description + "EIGRP Interface"; + leaf name { + type string; + description + "Interface Name"; + } + leaf passive { + type empty; + description + "Passive Enabled/Disabled"; + } + leaf hello-interval { + type uint16; + units "seconds"; + description + "Hello Interval in Seconds"; + } + leaf hold-timer { + type uint16; + units "seconds"; + description + "Hold Timer in Seconds"; + } + container auth-val { + description + "Authentication"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-auth; + } + list eigrp-nbr { + key "afi nbr-address"; + description + "EIGRP Neighbor"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-nbr-key; + uses eigrp-ios-xe-oper:eigrp-ios-oper-nbr; + } + } + + grouping eigrp-ios-oper-nbr-sw-version { + description + "EIGRP Neighbor Software Version"; + leaf os-majorver { + type uint8; + description + "EIGRP OS Major Version"; + } + leaf os-minorver { + type uint8; + description + "EIGRP OS Minor Version"; + } + leaf tlv-majorrev { + type uint8; + description + "EIGRP TLV Major Version"; + } + leaf tlv-minorrev { + type uint8; + description + "EIGRP TLV Minor Version"; + } + } + + grouping eigrp-ios-oper-nbr-stubinfo { + description + "EIGRP Neighbor Stub Information"; + leaf stubbed { + type empty; + description + "Stub Enabled/Disabled"; + } + leaf receive-only { + type empty; + description + "Receive-Only mode Enabled/Disabled"; + } + leaf allow-connected { + type empty; + description + "Allow Connected Routes"; + } + leaf allow-static { + type empty; + description + "Allow Static Routes"; + } + leaf allow-summary { + type empty; + description + "Allow Summary Routes"; + } + leaf static-nbr { + type empty; + description + "Static Neighbor"; + } + leaf allow-redist { + type empty; + description + "Allow Redistributed Routes"; + } + leaf allow-leaking { + type empty; + description + "Allow Leaking of Routes"; + } + } + + grouping eigrp-ios-oper-nbr-key { + description + "Key to Uniquely Identify a EIGRP Neighbor"; + leaf afi { + type eigrp-ios-xe-oper:eigrp-ios-oper-afi; + description + "Address Family"; + } + leaf nbr-address { + type inet:ip-address; + description + "Neighbor Address"; + } + } + + grouping eigrp-ios-oper-nbr { + description + "EIGRP Neighbor"; + container nbr-sw-ver { + description + "Neighbor Software Version"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-nbr-sw-version; + } + container nbr-stubinfo { + description + "Neighbor Stub Information"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-nbr-stubinfo; + } + leaf retransmit-count { + type uint32; + description + "Retransmission Count"; + } + leaf retry-count { + type uint16; + description + "Retry Count"; + } + leaf last-seq-number { + type uint32; + description + "Last Sequence Number"; + } + leaf srtt { + type uint32; + description + "Smooth Round Trip Time"; + } + leaf rto { + type uint32; + description + "Retransmission Time Out"; + } + } + + grouping eigrp-ios-oper-topo { + description + "EIGRP Topology"; + leaf topo-id { + type uint32; + description + "Topology ID"; + } + list eigrp-network { + key "afi ip-prefix"; + description + "EIGRP Network"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-network-key; + uses eigrp-ios-xe-oper:eigrp-ios-oper-network; + } + } + + grouping eigrp-ios-oper-network-key { + description + "Key to Uniquely Identify a EIGRP Network"; + leaf afi { + type eigrp-ios-xe-oper:eigrp-ios-oper-afi; + description + "Address Family"; + } + leaf ip-prefix { + type inet:ip-prefix; + description + "IP Prefix"; + } + } + + grouping eigrp-ios-oper-metric { + description + "EIGRP Vector Metric"; + leaf bandwidth { + type uint64; + description + "Bandwidth"; + } + leaf delay { + type uint64; + description + "Delay"; + } + leaf tag { + type uint32; + description + "Route Tag"; + } + leaf routerid { + type uint32; + description + "Router-ID"; + } + leaf mtu { + type uint16; + description + "IP MTU"; + } + leaf hopcount { + type uint8; + description + "Hop Count"; + } + leaf reliability { + type uint8; + description + "Reliability"; + } + leaf load { + type uint8; + description + "Link Load"; + } + } + + grouping eigrp-ios-oper-network { + description + "EIGRP Network"; + leaf rd-metric { + type uint64; + description + "Reported Distance Metric"; + } + container rd-vecmetric { + description + "Reported Distance Vector Metric"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-metric; + } + leaf fd-metric { + type uint64; + description + "Feasible Distance Metric"; + } + leaf successor-count { + type uint16; + description + "Successor Count"; + } + leaf active { + type empty; + description + "Active State of the Network"; + } + list eigrp-route { + key "afi infosource"; + description + "EIGRP Route"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-route-key; + uses eigrp-ios-xe-oper:eigrp-ios-oper-route; + } + } + + grouping eigrp-ios-oper-extdatatype { + description + "EIGRP External Data"; + leaf routerid { + type uint32; + description + "Router-ID"; + } + leaf asystem { + type uint32; + description + "Autonomous System"; + } + leaf tag { + type uint32; + description + "Route Tag"; + } + leaf ext-metric { + type uint32; + description + "External Metric"; + } + leaf protocol { + type uint8; + description + "External Protocol"; + } + leaf flag { + type uint8; + description + "Flags"; + } + } + + grouping eigrp-ios-oper-route-key { + description + "Key to Uniquely Identify a EIGRP Route"; + leaf afi { + type eigrp-ios-xe-oper:eigrp-ios-oper-afi; + description + "Address Family"; + } + leaf infosource { + type inet:ip-address; + description + "Info Source"; + } + } + + grouping eigrp-ios-oper-route { + description + "EIGRP Route"; + leaf nexthop { + type inet:ip-address; + description + "Next Hop"; + } + leaf originating-interface { + type string; + description + "Originating Interface"; + } + leaf metric { + type uint64; + description + "Route Metric"; + } + container vecmetric { + description + "Route Vector Metric"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-metric; + } + leaf succ-metric { + type uint64; + description + "Successor Metric"; + } + container succ-vecmetric { + description + "Successor Vector Metric"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-metric; + } + leaf origin { + type eigrp-ios-xe-oper:eigrp-ios-oper-origin-type; + description + "Route Origin"; + } + leaf omp-tag { + type uint32; + description + "OMP tag"; + } + leaf in-rib { + type empty; + description + "Route in RIB"; + } + leaf external { + type empty; + description + "External Route"; + } + container ext-data { + description + "External Route"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-extdatatype; + } + } + + container eigrp-oper-data { + config false; + description + "EIGRP operational data"; + list eigrp-instance { + key "afi vrf-name as-num"; + description + "The EIGRP Instance"; + uses eigrp-ios-xe-oper:eigrp-ios-oper-instance-key; + uses eigrp-ios-xe-oper:eigrp-ios-oper-instance; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp.yang new file mode 100644 index 000000000..6cbfcad1b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eigrp.yang @@ -0,0 +1,4060 @@ +module Cisco-IOS-XE-eigrp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eigrp"; + prefix ios-eigrp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + include Cisco-IOS-XE-eigrp-obsolete; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native EIGRP Yang model. + Copyright (c) 2016-2021, 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Adding default values to restart, restart-count and reset-time"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-11-01 { + description + "- static metric use ipv6-prefix type for ipv6 prefix"; + cisco-semver:module-version "2.4.1"; + } + revision 2021-07-01 { + description + "- Added NHRP filter type options for redistribute nhrp command + - EIGRP configuration under interface can be configured without global router eigrp configuration"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-03-01 { + description + "- Added bgp inside redistribute vrf in classic mode and named model"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-11-01 { + description + "- Removing cli-remove-before-change under autonomous-system"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "- Added maximum-prefix inside redistribute + in classic mode and named mode ipv6"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added redistribute config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Separate Classic and Named Mode + - Add ipv6 eigrp under interface BD-VIF"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2019-01-14 { + description + "Add BGP redistribution under topology and change to container + under non-topology redistribution."; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-31 { + description + "Add ipv6 eigrp command under interface"; + } + revision 2018-08-16 { + description + "Fixes a number of issues and added some missing configuration, some for the usage in SDWAN"; + } + revision 2018-06-28 { + description + "added must constraints for deleting vrf"; + } + revision 2017-09-21 { + description + "fix the regression issue that a cli is split"; + } + revision 2017-08-22 { + description + "Allow to set autonomous-system under address-family ipv4 vrf"; + } + revision 2017-08-01 { + description + "Fix passive interface data model"; + } + revision 2017-06-27 { + description + "NED extension for IWAN 2.x - router eigrp"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-eigrp-address-family-ipv4-classic-grouping { + uses config-eigrp-auto-summary-ipv4-grouping; + uses config-eigrp-bfd-classic-ipv4-grouping; + uses config-eigrp-default-information-grouping; + uses config-eigrp-default-metric-grouping; + uses config-eigrp-distance-ipv4-grouping; + uses config-eigrp-distribute-list-classic-named-ipv4-grouping; + uses config-eigrp-eigrp-address-family-classic-grouping; + uses config-eigrp-maximum-paths-grouping; + uses config-eigrp-maximum-prefix-address-family-common-grouping; + uses config-eigrp-maximum-secondary-paths-grouping; + uses config-eigrp-metric-classic-grouping; + uses config-eigrp-neighbor-ipv4-grouping; + uses config-eigrp-network-grouping; + uses config-eigrp-nsf-grouping; + uses config-eigrp-offset-list-grouping; + uses config-eigrp-passive-interface-classic-grouping; + uses config-eigrp-redistribute-classic-ipv4-grouping; + uses config-eigrp-summary-metric-ipv4-grouping; + uses config-eigrp-timers-address-family-classic-ipv4-grouping; + uses config-eigrp-traffic-share-grouping; + uses config-eigrp-variance-grouping; + } + + grouping config-eigrp-address-family-named-common-grouping { + uses config-eigrp-eigrp-address-family-named-grouping; + uses config-eigrp-maximum-prefix-address-family-common-grouping; + uses config-eigrp-metric-address-family-named-grouping; + uses config-eigrp-shutdown-address-family-grouping; + } + + grouping config-eigrp-address-family-named-ipv4-grouping { + uses config-eigrp-af-interface-ipv4-grouping; + uses config-eigrp-address-family-named-common-grouping; + uses config-eigrp-neighbor-ipv4-grouping { + augment "neighbor" { + uses config-eigrp-neighbor-ipv4-maximum-prefix-grouping; + uses config-eigrp-neighbor-ipv4-all-maximum-prefix-grouping; + } + } + uses config-eigrp-network-grouping; + uses config-eigrp-nsf-grouping; + uses config-eigrp-soft-sia-grouping; + uses config-eigrp-timers-address-family-named-grouping; + container topology { + description + "Topology configuration mode"; + list topo-base { + description + "Base Topology"; + key "topology-base"; + min-elements 1; + max-elements 1; + leaf topology-base { + description + "Base Topology"; + type enumeration { + enum base; + } + } + uses config-eigrp-topology-ipv4-grouping; + } + } + } + + grouping config-eigrp-address-family-named-ipv4-vrf-grouping { + uses config-eigrp-af-interface-ipv4-grouping; + uses config-eigrp-address-family-named-common-grouping; + uses config-eigrp-neighbor-ipv4-grouping { + augment "neighbor" { + uses config-eigrp-neighbor-ipv4-maximum-prefix-grouping; + uses config-eigrp-neighbor-ipv4-all-maximum-prefix-grouping; + } + } + uses config-eigrp-network-grouping; + uses config-eigrp-nsf-grouping; + uses config-eigrp-soft-sia-grouping; + uses config-eigrp-timers-address-family-named-grouping; + container topology { + description + "Topology configuration mode"; + list topo-base { + description + "Base Topology"; + key "topology-base"; + min-elements 1; + max-elements 1; + leaf topology-base { + description + "Base Topology"; + type enumeration { + enum base; + } + } + uses config-eigrp-topology-ipv4-grouping; + } + } + } + + grouping config-eigrp-address-family-named-ipv6-grouping { + uses config-eigrp-af-interface-ipv6-grouping; + uses config-eigrp-address-family-named-common-grouping; + uses config-eigrp-neighbor-ipv6-grouping; + uses config-eigrp-nsf-grouping; + uses config-eigrp-soft-sia-grouping; + uses config-eigrp-timers-address-family-named-grouping; + container topology { + description + "Topology configuration mode"; + list topo-base { + description + "Base Topology"; + key "topology-base"; + min-elements 1; + max-elements 1; + leaf topology-base { + description + "Base Topology"; + type enumeration { + enum base; + } + } + uses config-eigrp-topology-ipv6-grouping; + } + } + } + + grouping config-eigrp-address-family-named-ipv6-vrf-grouping { + uses config-eigrp-af-interface-ipv6-grouping; + uses config-eigrp-address-family-named-common-grouping; + uses config-eigrp-neighbor-ipv6-grouping; + uses config-eigrp-nsf-grouping; + uses config-eigrp-soft-sia-grouping; + uses config-eigrp-timers-address-family-named-grouping; + container topology { + description + "Topology configuration mode"; + list topo-base { + description + "Base Topology"; + key "topology-base"; + min-elements 1; + max-elements 1; + leaf topology-base { + description + "Base Topology"; + type enumeration { + enum base; + } + } + uses config-eigrp-topology-ipv6-grouping; + } + } + } + + grouping config-eigrp-af-interface-common-grouping { + leaf add-path { + description + "Advertise add paths"; + type uint8 { + range "1..4"; + } + } + container authentication { + description + "authentication subcommands"; + container mode { + description + "authentication mode"; + choice md5-sha { + leaf md5 { + description + "Keyed message digest"; + type empty; + } + container hmac-sha-256 { + description + "HMAC-SHA-256 Authentication"; + leaf auth-type { + description + "Encryption type (0 for not yet encrypted, 7 for proprietary)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf auth-password { + description + "Authentication Password"; + type string { + length "1..32"; + } + } + } + } + } + leaf key-chain { + description + "key-chain"; + type string; + } + } + leaf bandwidth-percent { + description + "Set percentage of bandwidth percentage limit"; + type uint32 { + range "1..999999"; + } + default "50"; + } + leaf bfd { + description + "set peer monitoring method to bfd"; + type boolean; + } + container dampening-change { + description + "Percent interface metric must change to cause update"; + presence "true"; + must 'not (../ios-eigrp:dampening-interval)' { + error-message "dampening-interval already configured"; + } + leaf dampening-change-value { + description + "Percentage of change"; + type uint8 { + range "1..100"; + } + default "50"; + } + } + container dampening-interval { + description + "Time in seconds to check interface metrics"; + presence "true"; + must 'not (../ios-eigrp:dampening-change)' { + error-message "dampening-change already configured"; + } + leaf dampening-interval-value { + description + "Time in seconds"; + type uint16 { + range "1..65535"; + } + default "30"; + } + } + leaf hello-interval { + description + "Configures hello interval"; + type uint16 { + range "1..65535"; + } + default "5"; + units "seconds"; + } + leaf hold-time { + description + "Configures hold time"; + type uint16 { + range "1..65535"; + } + default "15"; + units "seconds"; + } + choice next-hop-self-choice { + leaf next-hop-self { + description + "Configures EIGRP next-hop-self"; + type boolean; + } + container next-hop-self-no-ecmp-mode { + container next-hop-self { + leaf no-ecmp-mode { + type boolean; + } + } + } + } + leaf passive-interface { + description + "Suppress address updates on an interface"; + type boolean; + default "false"; + } + leaf shutdown { + description + "Disable Address-Family on interface"; + type boolean; + default "false"; + } + leaf split-horizon { + description + "Perform split horizon"; + type boolean; + default "true"; + } + container stub-site { + description + "Stub-Site"; + leaf wan-interface { + description + "Wan Interface"; + type boolean; + default "false"; + } + } + } + + grouping config-eigrp-af-interface-ipv4-grouping { + list af-interface { + description + "Enter Address Family interface configuration"; + key "interface"; + leaf interface { + description + "Interface Name"; + type string; + } + uses config-eigrp-af-interface-common-grouping; + container summary-address { + description + "Perform address summarization"; + list ipv4-address-mask { + key "ipv4-address mask"; + leaf ipv4-address { + description + "Summary network address"; + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + type inet:ipv4-address; + } + leaf leak-map { + description + "Allow dynamic prefixes based on the leak-map"; + type string; + } + } + list ipv4-prefix { + key "ipv4-prefix"; + leaf ipv4-prefix { + description + "Summary /, e.g. 192.168.0.0/16"; + type inet:ipv4-prefix; + } + leaf leak-map { + description + "Allow dynamic prefixes based on the leak-map"; + type string; + } + } + } + } + } + + grouping config-eigrp-af-interface-ipv6-grouping { + list af-interface { + description + "Enter Address Family interface configuration"; + key "interface"; + leaf interface { + description + "Interface Name"; + type string; + } + uses config-eigrp-af-interface-common-grouping; + container summary-address { + description + "Perform address summarization"; + list ipv6-prefix { + key "prefix"; + leaf prefix { + description + "Summary network prefix"; + type ios-types:ipv6-prefix; + } + } + } + } + } + + grouping config-eigrp-auto-summary-ipv4-grouping { + leaf auto-summary { + description + "Enable automatic network number summarization"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-bfd-classic-ipv4-grouping { + container bfd { + description + "BFD configuration commands"; + choice bfd-interface-choice { + leaf all-interfaces { + description + "Enable BFD on all interfaces"; + type empty; + } + leaf-list interface { + description + "Enable BFD on specific interface"; + type string; + } + } + } + } + + grouping config-eigrp-default-information-grouping { + container default-information { + description + "Control distribution of default information"; + container in { + description + "Accept input default routing information"; + presence "true"; + leaf access-list { + description + "Standard Access List"; + type ios-types:std-acl-type; + } + } + container out { + description + "Accept output default routing information"; + presence "true"; + leaf access-list { + description + "Standard Access List"; + type ios-types:std-acl-type; + } + } + } + } + + grouping config-eigrp-default-metric-grouping { + container default-metric { + description + "Set metric of redistributed routes"; + leaf bandwidth { + description + "Bandwidth in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + description + "delay metric in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf load { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + description + "Maximum Transmission Unit metric of the path"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping config-eigrp-distance-ipv4-grouping { + container distance { + description + "Define an administrative distance"; + list ipv4-wilcard-distance { + description + "Distance for ipv4 address/wildcard"; + key "ipv4-address wildcard"; + leaf distance { + description + "Set route administrative distance"; + type uint8 { + range "1..255"; + } + } + leaf ipv4-address { + description + "IP Source address"; + type inet:ipv4-address; + } + leaf wildcard { + description + "Wildcard bits"; + type inet:ipv4-address; + } + leaf access-list { + description + "Standard Access List"; + type ios-types:std-acl-type; + } + } + list ipv4-distance { + status obsolete; + description + "Distance for ipv4 address/wildcard"; + key "distance ipv4-address wildcard"; + leaf distance { + status obsolete; + description + "Set route administrative distance"; + type uint8 { + range "1..255"; + } + } + leaf ipv4-address { + status obsolete; + description + "IP Source address"; + type inet:ipv4-address; + } + leaf wildcard { + status obsolete; + description + "Wildcard bits"; + type inet:ipv4-address; + } + leaf access-list { + status obsolete; + description + "Standard Access List"; + type ios-types:std-acl-type; + } + } + container eigrp { + description + "Set distance for internal and external routes"; + leaf internal-route-distance { + description + "Distance for internal routes"; + type uint8 { + range "1..255"; + } + default "90"; + } + leaf external-route-distance { + description + "Distance for external routes"; + type uint8 { + range "1..255"; + } + default "170"; + } + } + } + } + + grouping config-eigrp-distance-ipv6-grouping { + container distance { + description + "Define an administrative distance"; + container eigrp { + description + "Set distance for internal and external routes"; + leaf internal-route-distance { + description + "Distance for internal routes"; + type uint8 { + range "1..255"; + } + default "90"; + } + leaf external-route-distance { + description + "Distance for external routes"; + type uint8 { + range "1..255"; + } + default "170"; + } + } + } + } + + grouping config-eigrp-distribute-list-classic-named-ipv4-grouping { + container distribute-list { + description + "Filter entries in eigrp updates"; + container access-list { + description + "IP expanded access list"; + list access-list-in { + description + "IP expanded access list"; + key "in"; + leaf ex-access-list { + description + "IP expanded access list"; + type ios-types:exp-acl-type; + } + leaf in { + description + "Filter incoming service updates"; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in[ios-eigrp:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in[ios-eigrp:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list access-list-out { + description + "IP expanded access list"; + key "out"; + leaf ex-access-list { + description + "IP expanded access list"; + type ios-types:exp-acl-type; + } + leaf out { + description + "Filter outgoing service updates"; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out[ios-eigrp:out=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out[ios-eigrp:out=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum out; + } + } + } + list access-list-in-interface { + description + "IP expanded access list"; + key "in interface"; + leaf ex-access-list { + description + "IP expanded access list"; + type ios-types:exp-acl-type; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + list access-list-out-interface { + description + "IP expanded access list"; + key "out interface"; + leaf ex-access-list { + description + "IP expanded access list"; + type ios-types:exp-acl-type; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + } + container gateway { + description + "Filtering incoming address updates based on gateway"; + list gateway-in { + description + "Filtering incoming address updates based on gateway"; + key "in"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in[ios-eigrp:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list gateway-in-interface { + description + "Filtering incoming address updates based on gateway"; + key "in interface"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + } + container prefix-list { + description + "Filter prefixes in address updates"; + list prefix-list-in { + description + "Filter prefixes in address updates"; + key "in"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in[ios-eigrp:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in[ios-eigrp:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list prefix-list-out { + description + "Filter prefixes in address updates"; + key "out"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-out[ios-eigrp:out=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out[ios-eigrp:out=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum out; + } + } + } + list prefix-list-in-interface { + description + "Filter prefixes in address updates"; + key "in interface"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + list prefix-list-out-interface { + description + "Filter prefixes in address updates"; + key "out interface"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + } + container route-map { + description + "Filter prefixes based on the route-map"; + list route-map-in { + description + "Filter prefixes based on the route-map"; + key "in"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf in { + description + "Filter incoming/outgoing service updates"; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in[ios-eigrp:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + type enumeration { + enum in; + } + } + } + list route-map-out { + description + "Filter prefixes based on the route-map"; + key "out"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf out { + description + "Filter incoming/outgoing service updates"; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-out[ios-eigrp:out=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out[ios-eigrp:out=current()]))' { + error-message "distribute-list prefix already exists"; + } + type enumeration { + enum out; + } + } + } + list route-map-in-interface { + description + "Filter prefixes based on the route-map"; + key "in interface"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-eigrp:gateway/ios-eigrp:gateway-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list gateway already exists"; + } + } + } + list route-map-out-interface { + description + "Filter prefixes based on the route-map"; + key "out interface"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:access-list/ios-eigrp:access-list-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + } + } + } + } + } + + grouping config-eigrp-distribute-list-classic-ipv6-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + container prefix-list { + description + "Filter connections based on an IPv6 prefix-list"; + list prefix-list-in { + description + "Filter connections based on an IPv6 prefix-list"; + key "in"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + } + list prefix-list-out { + description + "Filter connections based on an IPv6 prefix-list"; + key "out"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + } + list prefix-list-in-interface { + description + "Filter connections based on an IPv6 prefix-list"; + key "in interface"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + } + } + list prefix-list-out-interface { + description + "Filter connections based on an IPv6 prefix-list"; + key "out interface"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + } + } + } + } + } + + grouping config-eigrp-distribute-list-named-ipv6-grouping { + container distribute-list { + description + "Filter networks in eigrp updates"; + container prefix-list { + description + "Filter connections based on an IPv6 prefix-list"; + list prefix-list-in { + description + "Filter connections based on an IPv6 prefix-list"; + key "in"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in[ios-eigrp:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + list prefix-list-out { + description + "Filter connections based on an IPv6 prefix-list"; + key "out"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out[ios-eigrp:out=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + list prefix-list-in-interface { + description + "Filter connections based on an IPv6 prefix-list"; + key "in interface"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + list prefix-list-out-interface { + description + "Filter connections based on an IPv6 prefix-list"; + key "out interface"; + leaf prefix-list-name { + description + "Prefix-list name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:route-map/ios-eigrp:route-map-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list route-map already exists"; + } + } + } + } + container route-map { + description + "Filter prefixes based on the route-map"; + list route-map-in { + description + "Filter prefixes based on the route-map"; + key "in"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in[ios-eigrp:in=current()]))' { + error-message "distribute-list prefix-list already exists"; + } + } + } + list route-map-out { + description + "Filter prefixes based on the route-map"; + key "out"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out[ios-eigrp:out=current()]))' { + error-message "distribute-list prefix-list already exists"; + } + } + } + list route-map-in-interface { + description + "Filter prefixes based on the route-map"; + key "in interface"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf in { + description + "Filter incoming service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-in-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix-list for interface already exists"; + } + } + } + list route-map-out-interface { + description + "Filter prefixes based on the route-map"; + key "out interface"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf out { + description + "Filter outgoing service updates"; + type enumeration { + enum out; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-eigrp:prefix-list/ios-eigrp:prefix-list-out-interface[ios-eigrp:interface=current()]))' { + error-message "distribute-list prefix-list for interface already exists"; + } + } + } + } + } + } + + grouping config-eigrp-fast-reroute-named-ipv4-grouping { + container fast-reroute { + description + "Configure Fast-Reroute"; + choice load-sharing-choice { + description + "Distributes repair paths equally among links and prefixes"; + default "load-sharing"; + leaf load-sharing { + description + "Enable load-sharing"; + type enumeration { + enum load-sharing; + } + default "load-sharing"; + } + container load-sharing-disable { + description + "Disable load-sharing"; + container load-sharing { + description + "Disable load-sharing"; + leaf disable { + description + "Disable load-sharing"; + type empty; + } + } + } + } + container per-prefix { + description + "Enable Fast-Reroute Per-Prefix"; + choice per-prefix { + description + "All/route-map"; + leaf all { + description + "Enable Fast-Reroute for primary paths"; + type empty; + } + leaf route-map { + description + "route-map for selecting primary paths for protection"; + type string; + } + } + } + container tie-break { + leaf interface-disjoint { + description + "Prefer Interface disjoint repair path"; + type uint8 { + range "1..255"; + } + default "20"; + } + leaf linecard-disjoint { + description + "Prefer line card disjoint repair path"; + type uint8 { + range "1..255"; + } + default "40"; + } + leaf lowest-backup-path-metric { + description + "Prefer repair path with lowest total metric"; + type uint8 { + range "1..255"; + } + default "30"; + } + leaf srlg-disjoint { + description + "Prefer SRLG disjoint repair path"; + type uint8 { + range "1..255"; + } + default "10"; + } + } + } + } + + grouping config-eigrp-eigrp-address-family-classic-grouping { + container eigrp { + description + "EIGRP specific commands"; + leaf event-log-size { + description + "Set EIGRP maximum event log entries"; + type uint64; + default "500"; + } + leaf log-neighbor-changes { + description + "Enable/Disable EIGRP neighbor logging"; + type boolean; + default "true"; + } + choice log-neighbor-warnings-choice { + default "log-neighbor-warnings-interval"; + container log-neighbor-warnings-no-interval { + leaf log-neighbor-warnings { + type boolean; + } + } + container log-neighbor-warnings-interval { + container log-neighbor-warnings { + leaf warning-interval { + description + "Neighbor warning interval in seconds"; + type uint16 { + range "1..65535"; + } + default "10"; + } + } + } + } + leaf router-id { + description + "router id for this EIGRP process"; + type inet:ipv4-address; + } + uses config-eigrp-stub-grouping; + } + } + + grouping config-eigrp-eigrp-address-family-named-grouping { + container eigrp { + description + "EIGRP Address Family specific commands"; + leaf default-route-tag { + description + "Default Route Tag for the Internal Routes"; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf log-neighbor-changes { + description + "Enable/Disable EIGRP neighbor logging"; + type boolean; + default "true"; + } + choice log-neighbor-warnings-choice { + default "log-neighbor-warnings-interval"; + leaf log-neighbor-warnings { + type boolean; + } + container log-neighbor-warnings-interval { + container log-neighbor-warnings { + leaf warning-interval { + description + "Neighbor warning interval in seconds"; + type uint16 { + range "1..65535"; + } + default "10"; + } + } + } + } + leaf router-id { + description + "router id for this EIGRP process"; + type inet:ipv4-address; + } + uses config-eigrp-stub-grouping; + leaf stub-site { + description + "ASN:nn, Dotted-Decimal:nn or 4BASN:nn Stub-Site ID in aa:nn format"; + type string { + pattern '(\d+:\d+)'; + } + } + } + } + + grouping config-eigrp-eigrp-topology-grouping { + container eigrp { + description + "EIGRP specific commands"; + leaf event-log-size { + description + "Set EIGRP maximum event log entries"; + type uint64; + default "500"; + } + } + } + + grouping config-eigrp-interface-classic-ipv4-grouping { + container authentication-eigrp { + description + "EIGRP Authentication subcommands"; + container authentication { + description + "authentication subcommands"; + list key-chain { + description + "key-chain"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf key-chain-name { + description + "name of key-chain"; + type string; + } + } + list mode { + description + "mode"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf md5 { + description + "Keyed message digest"; + type empty; + } + } + } + } + list dampening-change { + description + "Percent interface metric must change to cause update"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must 'not (../../ios-eigrp:dampening-interval[ios-eigrp:eigrp=current()])' { + error-message "dampening-interval is already configured"; + } + type uint16 { + range "1..65535"; + } + } + leaf change-percent { + description + "Percentage of change"; + type uint8 { + range "1..100"; + } + default "50"; + } + } + list dampening-interval { + description + "Time in seconds to check interface metrics"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must 'not (../../ios-eigrp:dampening-change[ios-eigrp:eigrp=current()])' { + error-message "dampening-change is already configured"; + } + type uint16 { + range "1..65535"; + } + } + leaf time { + description + "Time in seconds"; + type uint16 { + range "1..65535"; + } + default "30"; + units "seconds"; + } + } + container hello-interval-eigrp { + description + "Configures EIGRP-IPv4 hello interval"; + list hello-interval { + description + "Configures EIGRP-IPv4 hello interval"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf hello-interval-value { + description + "Seconds between hello transmissions"; + type uint16 { + range "1..65535"; + } + default "5"; + units "seconds"; + } + } + } + container hold-time-eigrp { + description + "Configures EIGRP hold time"; + list hold-time { + description + "Configures hold time"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf hold-time-value { + description + "Seconds before neighbor is considered down"; + type uint16 { + range "1..65535"; + } + default "15"; + units "seconds"; + } + } + } + list bandwidth-percent { + description + "Set EIGRP bandwidth limit"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf bandwidth-percent { + description + "Maximum bandwidth percentage that EIGRP may use"; + type uint32 { + range "1..999999"; + } + default "50"; + } + } + } + + grouping config-eigrp-interface-classic-ipv6-grouping { + list dampening-change { + description + "Percent interface metric must change to cause update"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must 'not (../../ios-eigrp:dampening-interval[ios-eigrp:eigrp=current()])' { + error-message "dampening-interval is already configured"; + } + type uint16 { + range "1..65535"; + } + } + leaf change-percent { + description + "Percentage of change"; + type uint8 { + range "1..100"; + } + default "50"; + } + } + list dampening-interval { + description + "Time in seconds to check interface metrics"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must 'not (../../ios-eigrp:dampening-change[ios-eigrp:eigrp=current()])' { + error-message "dampening-change is already configured"; + } + type uint16 { + range "1..65535"; + } + } + leaf time { + description + "Time in seconds"; + type uint16 { + range "1..65535"; + } + default "30"; + units "seconds"; + } + } + list hello-interval { + description + "Configures EIGRP-IPv6 hello interval"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:ipv6/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp[ios-eigrp:autonomous-system=current()]' { + error-message "ipv6 router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf hello-interval-value { + description + "Seconds between hello transmissions"; + type uint16 { + range "1..65535"; + } + default "5"; + units "seconds"; + } + } + list hold-time { + description + "Configures EIGRP-IPv6 hold time"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:ipv6/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp[ios-eigrp:autonomous-system=current()]' { + error-message "ipv6 router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf hold-time-value { + description + "Seconds before neighbor is considered down"; + type uint16 { + range "1..65535"; + } + default "15"; + units "seconds"; + } + } + container router-eigrp { + description + "Interface command for IPv6 EIGRP"; + list eigrp { + description + "Configure EIGRP IPv6 on interface"; + key "as-number"; + leaf as-number { + type uint16 { + range "1..65535"; + } + } + } + } + list bandwidth-percent { + description + "Set EIGRP bandwidth limit"; + key "eigrp"; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + must '/ios:native/ios:ipv6/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp[ios-eigrp:autonomous-system=current()]' { + error-message "ipv6 router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf bandwidth-percent { + description + "Maximum bandwidth percentage that EIGRP may use"; + type uint32 { + range "1..999999"; + } + default "50"; + } + } + } + + grouping config-eigrp-interface-summary-address-ipv4-grouping { + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number ip-address ip-mask"; + leaf as-number { + description + "AS number"; + must '/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode[ios-eigrp:autonomous-system=current()] or/ios:native/ios:router/ios-eigrp:router-eigrp/ios-eigrp:eigrp/ios-eigrp:classic-mode/ios-eigrp:address-family/ios-eigrp:ipv4/ios-eigrp:af-ipv4-vrf[ios-eigrp:autonomous-system=current()]' { + error-message "router eigrp does not exist."; + } + type uint16 { + range "1..65535"; + } + } + leaf ip-address { + description + "Summary IP address"; + type inet:ipv4-address; + } + leaf ip-mask { + description + "IP network mask"; + type inet:ipv4-address; + } + leaf leak-map { + description + "Allow dynamic prefixes based on the leak-map"; + type string; + } + } + } + + grouping config-eigrp-maximum-paths-grouping { + leaf maximum-paths { + description + "Forward packets over multiple paths"; + type uint8 { + range "1..32"; + } + } + } + + grouping config-eigrp-maximum-prefix-address-family-common-grouping { + container maximum-prefix { + description + "Maximum number of prefixes acceptable in aggregate"; + leaf maximum-prefix-count { + description + "Number of prefixes for maximum-prefix limit"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + description + "Threshold value (%) at which to generate a warning message"; + when '../maximum-prefix-count'; + type uint8 { + range "1..100"; + } + default "75"; + } + choice maximum-prefix-choice { + description + "Maximum prefix choice"; + default "maximum-prefix-options"; + case warning-only { + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + case maximum-prefix-options { + container maximum-prefix-options { + description + "Maximum Prefix Options"; + leaf restart { + description + "Duration for which a prefix source is ignored"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "5"; + } + leaf restart-count { + description + "Number of times sessions are auto-restarted"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "3"; + } + leaf reset-time { + description + "Duration after which restart history is cleared"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "15"; + } + leaf dampened { + description + "Exponentially increase restart time interval"; + type empty; + } + } + } + } + } + } + + grouping config-eigrp-neighbor-ipv4-all-maximum-prefix-grouping { + container maximum-prefix { + description + "Maximum number of prefixes acceptable from all neighbors"; + leaf maximum-prefix-count { + description + "Number of prefixes for maximum-prefix limit"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + description + "Threshold value (%) at which to generate a warning message"; + when '../maximum-prefix-count'; + type uint8 { + range "1..100"; + } + default "75"; + } + choice maximum-prefix-choice { + description + "Maximum prefix choice"; + default "maximum-prefix-options"; + case warning-only { + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + case maximum-prefix-options { + container maximum-prefix-options { + description + "Maximum Prefix Options"; + leaf restart { + description + "Duration for which a neighbor is ignored"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "5"; + } + leaf restart-count { + description + "Number of times peering is auto-restarted"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "3"; + } + leaf reset-time { + description + "Duration after which restart history is cleared"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "15"; + } + leaf dampened { + description + "Exponentially increase restart time interval"; + type empty; + } + } + } + } + } + } + + grouping config-eigrp-neighbor-ipv4-maximum-prefix-grouping { + list neighbor-maximum-prefix { + description + "Specify a neighbor router"; + key "ipv4-address max-prefix"; + leaf ipv4-address { + description + "Neighbor address"; + type inet:ipv4-address; + } + leaf max-prefix { + description + "Maximum number of prefixes acceptable from a neighbor"; + type enumeration { + enum maximum-prefix; + } + } + leaf maximum-prefix-count { + description + "Number of prefixes for maximum-prefix limit"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + description + "Threshold value (%) at which to generate a warning message"; + when '../maximum-prefix-count'; + type uint8 { + range "1..100"; + } + default "75"; + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + + grouping config-eigrp-redist-maximum-prefix-grouping { + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf maximum-prefix-count { + description + "Maximum number of IP prefixes redistributed"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + description + "Threshold value (%) at which to generate a warning message"; + when '../maximum-prefix-count'; + type uint8 { + range "1..100"; + } + default "75"; + } + choice maximum-prefix-choice { + description + "Maximum prefix choice"; + default "maximum-prefix-options"; + case warning-only { + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + case maximum-prefix-options { + container maximum-prefix-options { + description + "Maximum Prefix Options"; + leaf restart { + description + "Duration for which redistribution is ignored"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "5"; + } + leaf restart-count { + description + "Number of times redistribution is auto-restarted"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "3"; + } + leaf reset-time { + description + "Duration after which restart history is cleared"; + when '../../maximum-prefix-count'; + type uint16 { + range "1..65535"; + } + default "15"; + } + leaf dampened { + description + "Exponentially increase restart time interval"; + type empty; + } + } + } + } + } + } + + grouping config-eigrp-maximum-secondary-paths-grouping { + leaf maximum-secondary-paths { + description + "Maximum secondary paths"; + type uint8 { + range "1..32"; + } + } + } + + grouping config-eigrp-neighbor-ipv4-grouping { + container neighbor { + description + "Specify a neighbor router"; + list neighbor-address { + description + "Specify a neighbor router"; + key "ipv4-address interface"; + leaf ipv4-address { + description + "Neighbor address"; + type inet:ipv4-address; + } + leaf interface { + description + "Specify interface for global address"; + type string; + } + } + } + } + + grouping config-eigrp-neighbor-ipv6-grouping { + container neighbor { + description + "Specify a neighbor router"; + list neighbor-address { + description + "Specify a neighbor router"; + key "ipv6-address interface"; + leaf ipv6-address { + description + "Neighbor address"; + type inet:ipv6-address; + } + leaf interface { + description + "Specify interface for global address"; + type string; + } + } + } + } + + grouping config-eigrp-network-grouping { + container network { + description + "Enable routing on an IP network"; + list address-wildcard { + description + "ipv4 address and wildcard"; + key "ipv4-address wildcard"; + leaf ipv4-address { + description + "Network number"; + type inet:ipv4-address; + } + leaf wildcard { + description + "EIGRP wild card bits"; + type inet:ipv4-address; + } + } + list address { + description + "ipv4 address only"; + key "ipv4-address"; + leaf ipv4-address { + description + "Network number"; + type inet:ipv4-address; + } + } + } + } + + grouping config-eigrp-metric-address-family-named-grouping { + container metric { + description + "Modify metrics and parameters for advertisement"; + leaf rib-scale { + description + "set scaling value for rib installation"; + type uint8 { + range "1..255"; + } + default "128"; + } + uses config-eigrp-metric-weigths-named; + } + } + + grouping config-eigrp-metric-classic-grouping { + container metric { + description + "Modify metrics and parameters for advertisement"; + uses config-eigrp-metric-maximum-hops-grouping; + uses config-eigrp-metric-weigths-classic; + } + } + + grouping config-eigrp-metric-topology-grouping { + container metric { + description + "Modify metrics and parameters for advertisement"; + uses config-eigrp-metric-maximum-hops-grouping; + } + } + + grouping config-eigrp-metric-weigths-classic { + container weights { + description + "Modify metric coefficients"; + leaf tos { + description + "Type (Only TOS 0 supported)"; + type uint8 { + range "0..8"; + } + default "0"; + } + leaf K1 { + description + "K1"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf K2 { + description + "K2"; + type uint8 { + range "0..255"; + } + default "0"; + } + leaf K3 { + description + "K3"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf K4 { + description + "K4"; + type uint8 { + range "0..255"; + } + default "0"; + } + leaf K5 { + description + "K5"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + } + + grouping config-eigrp-metric-weigths-named { + container weights { + description + "Modify metric coefficients"; + leaf tos { + description + "Type (Only TOS 0 supported)"; + type uint8 { + range "0..8"; + } + default "0"; + } + leaf K1 { + description + "K1"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf K2 { + description + "K2"; + type uint8 { + range "0..255"; + } + default "0"; + } + leaf K3 { + description + "K3"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf K4 { + description + "K4"; + type uint8 { + range "0..255"; + } + default "0"; + } + leaf K5 { + description + "K5"; + type uint8 { + range "0..255"; + } + default "0"; + } + leaf K6 { + description + "K6"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + } + + grouping config-eigrp-metric-maximum-hops-grouping { + leaf maximum-hops { + description + "Advertise greater than as unreachable"; + type uint8 { + range "1..255"; + } + default "100"; + } + } + + grouping config-eigrp-nsf-grouping { + leaf nsf { + description + "Non-stop forwarding"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-offset-list-grouping { + container offset-list { + description + "Add or subtract offset from EIGRP metrics"; + list access-list-direction { + description + "Access list with direction only"; + key "access-list direction"; + leaf access-list { + description + "Access list of networks to apply offset"; + type ios-types:std-acl-type; + } + leaf direction { + description + "Perform offset"; + type enumeration { + enum in; + enum out; + } + } + leaf offset { + description + "Offset"; + type uint32 { + range "0..2147483647"; + } + } + } + list access-list-direction-interface { + description + "Access list with direction and interface"; + key "direction interface"; + leaf access-list { + description + "Access list of networks to apply offset"; + type ios-types:std-acl-type; + } + leaf direction { + description + "Perform offset"; + type enumeration { + enum in; + enum out; + } + } + leaf offset { + description + "Offset"; + type uint32 { + range "0..2147483647"; + } + } + leaf interface { + description + "Interface name"; + type string; + } + } + } + } + + grouping config-eigrp-passive-interface-classic-grouping { + container passive-interface { + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + default "default"; + leaf default { + description + "Suppress routing updates on all interfaces"; + type boolean; + default "false"; + } + leaf-list interface { + type string; + } + } + } + } + + grouping config-eigrp-redist-application-grouping { + list application { + description + "Application"; + key "application-name"; + max-elements 1; + leaf application-name { + description + "Application name"; + type string; + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-bgp-grouping { + list bgp { + description + "Border Gateway Protocol (BGP)"; + key "as"; + max-elements 1; + leaf as { + description + "Autonomous system number"; + type ios-types:bgp-as-number-type; + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-eigrp-ipv4-grouping { + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as"; + leaf as { + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-eigrp-ipv6-grouping { + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as"; + leaf as { + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-connected-grouping { + container connected { + description + "Connected"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-include-connected-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + } + + grouping config-eigrp-redist-isis-ipv4-grouping { + container isis { + description + "ISO IS-IS"; + presence "true"; + uses config-eigrp-redist-isis-levels-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + description + "ISO IS-IS area-tag"; + type string; + } + uses config-eigrp-redist-isis-levels-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + } + + grouping config-eigrp-redist-isis-ipv6-grouping { + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + description + "ISO IS-IS area-tag"; + type string; + } + uses config-eigrp-redist-isis-levels-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + container isis { + description + "ISO IS-IS"; + presence "true"; + uses config-eigrp-redist-isis-levels-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-isis-levels-grouping { + leaf routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + } + + grouping config-eigrp-redist-lisp-ipv4-grouping { + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-lisp-ipv6-grouping { + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-metric-route-map-grouping { + container metric { + description + "Metric for redistributed routes"; + leaf bandwidth { + description + "Bandwidth in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + description + "delay metric in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf load { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + description + "Maximum Transmission Unit metric of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping config-eigrp-redist-mobile-grouping { + container mobile { + description + "Mobile routes"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-nat-route-ipv4-grouping { + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT Outside routes"; + type empty; + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-nat-route-ipv6-grouping { + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT Outside routes"; + type empty; + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-nemo-grouping { + container nemo { + description + "Network Mobility (NEMO)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-nhrp-grouping { + list nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-nhrp-route-type-filter-grouping; + } + } + + grouping config-eigrp-redist-omp-ipv4-grouping { + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-omp-ipv6-grouping { + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-odr-grouping { + container odr { + description + "On Demand stub Routes"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-ospf-ipv4-grouping { + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-ospf-match-ipv4-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-ospf-ipv6-grouping { + list ospf { + description + "Open Shortest Path First (OSPFv3)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-ospf-match-ipv6-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-ospfv3-grouping { + list ospfv3 { + description + "OSPFv3"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-redist-ospf-match-ipv4-grouping; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-ospf-match-ipv4-grouping { + container match { + description + "Redistribution of OSPF routes"; + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-ospf-match-ipv6-grouping { + container match { + description + "Redistribution of OSPF routes"; + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-nhrp-route-type-filter-grouping { + leaf registered { + description + "Redistribute NHRP registered routes"; + type boolean; + default "false"; + } + leaf resolved { + description + "Redistribute NHRP resolved routes"; + type boolean; + default "false"; + } + leaf summary { + description + "Redistribute NHRP summary routes learnt from NHS(s)"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-redist-rip-ipv4-grouping { + container rip { + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redist-rip-ipv6-grouping { + list rip { + description + "IPv6 Routing Information Protocol (RIPv6)"; + key "id"; + leaf id { + description + "User selected string identifying this process"; + type string; + } + uses config-eigrp-redist-metric-route-map-grouping; + uses config-eigrp-redist-include-connected-grouping; + } + } + + grouping config-eigrp-redist-static-grouping { + container static { + description + "Static routes"; + presence "true"; + uses config-eigrp-redist-metric-route-map-grouping; + } + } + + grouping config-eigrp-redistribute-classic-ipv4-grouping { + container redistribute { + description + "Redistribute IPv4 routes from another routing protocol"; + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv4-grouping; + uses config-eigrp-redist-isis-ipv4-grouping; + uses config-eigrp-redist-lisp-ipv4-grouping; + uses config-eigrp-redist-maximum-prefix-grouping; + uses config-eigrp-redist-mobile-grouping; + uses config-eigrp-redist-nhrp-grouping; + uses config-eigrp-redist-odr-grouping; + uses config-eigrp-redist-ospf-ipv4-grouping; + uses config-eigrp-redist-rip-ipv4-grouping; + uses config-eigrp-redist-static-grouping; + list vrf { + description + "Specify a source virtual routing/forwarding instance"; + key "vrf-name"; + leaf vrf-name { + description + "Virtual Routing/Forwarding instance name"; + type union { + type string; + type enumeration { + enum global; + } + } + } + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv4-grouping; + uses config-eigrp-redist-ospf-ipv4-grouping; + uses config-eigrp-redist-static-grouping; + } + } + } + + grouping config-eigrp-redistribute-classic-ipv6-grouping { + container redistribute { + description + "Redistribute IPv6 routes from another routing protocol"; + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv6-grouping; + uses config-eigrp-redist-isis-ipv6-grouping; + uses config-eigrp-redist-lisp-ipv6-grouping; + uses config-eigrp-redist-maximum-prefix-grouping; + uses config-eigrp-redist-mobile-grouping; + uses config-eigrp-redist-nat-route-ipv6-grouping; + uses config-eigrp-redist-nemo-grouping; + uses config-eigrp-redist-omp-ipv6-grouping; + uses config-eigrp-redist-ospf-ipv6-grouping; + uses config-eigrp-redist-rip-ipv6-grouping; + uses config-eigrp-redist-static-grouping; + } + } + + grouping config-eigrp-redistribute-named-ipv4-grouping { + container redistribute { + description + "Redistribute IPv4 routes from another routing protocol"; + uses config-eigrp-redist-application-grouping; + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv4-grouping; + uses config-eigrp-redist-isis-ipv4-grouping; + uses config-eigrp-redist-lisp-ipv4-grouping; + uses config-eigrp-redist-maximum-prefix-grouping; + uses config-eigrp-redist-mobile-grouping; + uses config-eigrp-redist-nat-route-ipv4-grouping; + uses config-eigrp-redist-nhrp-grouping; + uses config-eigrp-redist-omp-ipv4-grouping; + uses config-eigrp-redist-odr-grouping; + uses config-eigrp-redist-ospf-ipv4-grouping; + uses config-eigrp-redist-ospfv3-grouping; + uses config-eigrp-redist-rip-ipv4-grouping; + uses config-eigrp-redist-static-grouping; + list vrf { + description + "Specify a source virtual routing/forwarding instance"; + key "vrf-name"; + leaf vrf-name { + description + "Virtual Routing/Forwarding instance name"; + type union { + type string; + type enumeration { + enum global; + } + } + } + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv4-grouping; + uses config-eigrp-redist-nhrp-grouping; + uses config-eigrp-redist-ospf-ipv4-grouping; + uses config-eigrp-redist-static-grouping; + } + } + } + + grouping config-eigrp-redistribute-named-ipv6-grouping { + container redistribute { + description + "Redistribute IPv6 routes from another routing protocol"; + uses config-eigrp-redist-bgp-grouping; + uses config-eigrp-redist-connected-grouping; + uses config-eigrp-redist-eigrp-ipv6-grouping; + uses config-eigrp-redist-isis-ipv6-grouping; + uses config-eigrp-redist-lisp-ipv6-grouping; + uses config-eigrp-redist-maximum-prefix-grouping; + uses config-eigrp-redist-mobile-grouping; + uses config-eigrp-redist-nat-route-ipv6-grouping; + uses config-eigrp-redist-nemo-grouping; + uses config-eigrp-redist-omp-ipv6-grouping; + uses config-eigrp-redist-ospf-ipv6-grouping; + uses config-eigrp-redist-rip-ipv6-grouping; + uses config-eigrp-redist-static-grouping; + } + } + + grouping config-eigrp-router-grouping { + container router-eigrp { + description + "EIGRP Router Commands"; + container eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + uses config-eigrp-router-classic-grouping; + uses config-eigrp-router-named-grouping; + } + } + } + + grouping config-eigrp-router-classic-grouping { + list classic-mode { + description + "EIGRP Classic Mode"; + key "autonomous-system"; + leaf autonomous-system { + description + "Autonomous System"; + type uint16 { + range "1..65535"; + } + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address Family IPv4"; + list af-ipv4-vrf { + description + "VRF List"; + key "vrf"; + leaf vrf { + description + "Specify a specific virtual routing/forwarding instance"; + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "ipv4 VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast { + description + "Address Family Unicast"; + type enumeration { + enum unicast; + } + default "unicast"; + } + leaf autonomous-system { + description + "Specify Address-Family Autonomous System Number. Modification + NOT allowed; delete and re-configure"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + uses config-eigrp-address-family-ipv4-classic-grouping; + uses config-eigrp-shutdown-address-family-grouping; + } + } + } + uses config-eigrp-address-family-ipv4-classic-grouping; + uses config-eigrp-shutdown-router-grouping; + } + } + + grouping config-eigrp-router-ipv6-grouping { + container router-eigrp { + description + "Router EIGRP"; + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "autonomous-system"; + leaf autonomous-system { + description + "Autonomous System ID"; + type uint16 { + range "1..65535"; + } + } + uses config-eigrp-default-metric-grouping; + uses config-eigrp-distance-ipv6-grouping; + uses config-eigrp-distribute-list-classic-ipv6-grouping; + uses config-eigrp-eigrp-address-family-classic-grouping; + uses config-eigrp-maximum-paths-grouping; + uses config-eigrp-metric-classic-grouping; + uses config-eigrp-neighbor-ipv6-grouping; + uses config-eigrp-passive-interface-classic-grouping; + uses config-eigrp-redistribute-classic-ipv6-grouping; + uses config-eigrp-shutdown-router-grouping; + uses config-eigrp-summary-metric-ipv6-grouping; + uses config-eigrp-timers-address-family-classic-ipv6-grouping; + uses config-eigrp-variance-grouping; + } + } + } + + grouping config-eigrp-router-named-grouping { + list named-mode { + description + "EIGRP Named Mode"; + key "name"; + leaf name { + description + "EIGRP Virtual-Instance Name"; + type string; + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address family IPv4"; + list af-ipv4 { + description + "Address family IPv4"; + key "unicast"; + leaf unicast { + type enumeration { + enum unicast; + } + } + leaf autonomous-system { + description + "Specify Address-Family Autonomous System Number. Modification + NOT allowed; delete and re-configure"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + uses config-eigrp-address-family-named-ipv4-grouping; + } + list af-ipv4-vrf { + description + "Address family IPv4 VRF"; + key "vrf"; + leaf vrf { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "ipv4 VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast { + type enumeration { + enum unicast; + } + default "unicast"; + } + leaf autonomous-system { + description + "Specify Address-Family Autonomous System Number. Modification + NOT allowed; delete and re-configure"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + uses config-eigrp-address-family-named-ipv4-vrf-grouping; + } + } + container ipv6 { + description + "Address family IPv6"; + list af-ipv6 { + description + "Address family IPv6"; + key "unicast"; + leaf unicast { + type enumeration { + enum unicast; + } + } + leaf autonomous-system { + description + "Specify Address-Family Autonomous System Number. Modification + NOT allowed; delete and re-configure"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + uses config-eigrp-address-family-named-ipv6-grouping; + } + list af-ipv6-vrf { + description + "Address family IPv4/IPv6 VRF"; + key "vrf"; + leaf vrf { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)' { + error-message "ipv6 VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast { + type enumeration { + enum unicast; + } + default "unicast"; + } + leaf autonomous-system { + description + "Specify Address-Family Autonomous System Number. Modification + NOT allowed; delete and re-configure"; + type uint16 { + range "1..65535"; + } + mandatory true; + } + uses config-eigrp-address-family-named-ipv6-vrf-grouping; + } + } + } + uses config-eigrp-shutdown-router-grouping; + } + } + + grouping config-eigrp-shutdown-router-grouping { + leaf shutdown { + description + "Shutdown this instance of EIGRP"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-shutdown-address-family-grouping { + leaf shutdown { + description + "Shutdown address family"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-soft-sia-grouping { + leaf soft-sia { + description + "Enable graceful restart for stuck-in-active neighbors"; + type boolean; + default "false"; + } + } + + grouping config-eigrp-stub-grouping { + container stub { + description + "Set address-family in stubbed mode"; + choice stub-type-choice { + leaf receive-only { + description + "Set receive only neighbor"; + type empty; + } + container advertise { + description + "Routes to Advertise"; + leaf connected { + description + "Do advertise connected routes"; + type empty; + } + leaf static { + description + "Do advertise static routes"; + type empty; + } + leaf summary { + description + "Do advertise summary routes"; + type empty; + } + leaf redistributed { + description + "Do advertise redistributed routes"; + type empty; + } + leaf leak-map { + description + "Allow dynamic prefixes based on the leak-map"; + type string; + must '(../ios-eigrp:connected) or (../ios-eigrp:static) or (../ios-eigrp:summary) or (../ios-eigrp:redistributed)' { + error-message "atleast one stub type needed"; + } + } + } + } + } + } + + grouping config-eigrp-summary-metric-grouping { + container metric { + description + "Set metric of summary routes"; + leaf bandwidth { + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + description + "delay metric in 10 microsecond units"; + type uint32 { + range "1..4294967295"; + } + } + leaf reliability { + description + "Reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf load { + description + "Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + description + "Maximum Transmission Unit metric of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf distance { + description + "Set administrative distance for summary route"; + type uint8 { + range "1..255"; + } + } + } + + grouping config-eigrp-summary-metric-ipv4-grouping { + container summary-metric { + description + "Specify summary to apply metric/filtering"; + list summary-prefix { + key "ipv4-prefix"; + leaf ipv4-prefix { + description + "Summary /, e.g., 192.168.0.0/16"; + type inet:ipv4-prefix; + } + uses config-eigrp-summary-metric-grouping; + } + } + } + + grouping config-eigrp-summary-metric-ipv6-grouping { + container summary-metric { + description + "Specify summary to apply metric/filtering"; + list summary-prefix { + key "ipv6-prefix"; + leaf ipv6-prefix { + description + "Summary to configure static metric"; + type ios-types:ipv6-prefix; + } + uses config-eigrp-summary-metric-grouping; + } + } + } + + grouping config-eigrp-table-map-grouping { + container table-map { + description + "Map external entry attributes into routing table"; + leaf route-map { + description + "route-map name"; + type string; + } + leaf filter { + description + "Selective route download"; + type empty; + } + } + } + + grouping config-eigrp-timers-active-time-grouping { + container active-time { + description + "time limit for active state"; + choice active-timer-choice { + default "timer"; + leaf timer { + description + "active state time limit in minutes"; + type uint16 { + range "1..65535"; + } + default "3"; + } + leaf disabled { + description + "disable time limit for active state"; + type empty; + } + } + } + } + + grouping config-eigrp-timers-address-family-classic-ipv4-grouping { + container timers { + description + "Adjust routing timers"; + uses config-eigrp-timers-active-time-grouping; + container graceful-restart { + description + "EIGRP Graceful Restart timer"; + leaf purge-time { + description + "EIGRP stale route purge time"; + type uint16 { + range "20..300"; + } + default "240"; + } + } + container nsf { + description + "EIGRP NSF timer"; + leaf converge { + description + "EIGRP time limit for convergence after switchover"; + type uint8 { + range "60..180"; + } + default "120"; + } + leaf signal { + description + "EIGRP time limit for signaling NSF restart"; + type uint8 { + range "10..30"; + } + default "20"; + } + } + } + } + + grouping config-eigrp-timers-address-family-classic-ipv6-grouping { + container timers { + description + "Adjust routing timers"; + uses config-eigrp-timers-active-time-grouping; + } + } + + grouping config-eigrp-timers-address-family-named-grouping { + container timers { + description + "Adjust routing timers"; + container graceful-restart { + description + "EIGRP Graceful Restart timer"; + leaf purge-time { + description + "EIGRP stale route purge time"; + type uint16 { + range "20..300"; + } + default "240"; + } + } + container nsf { + description + "EIGRP NSF timer"; + leaf converge { + description + "EIGRP time limit for convergence after switchover"; + type uint8 { + range "60..180"; + } + default "120"; + } + leaf signal { + description + "EIGRP time limit for signaling NSF restart"; + type uint8 { + range "10..30"; + } + default "20"; + } + } + } + } + + grouping config-eigrp-timers-topology-grouping { + container timers { + description + "Adjust routing timers"; + uses config-eigrp-timers-active-time-grouping; + } + } + + grouping config-eigrp-topology-common-grouping { + uses config-eigrp-default-metric-grouping; + uses config-eigrp-eigrp-topology-grouping; + uses config-eigrp-maximum-paths-grouping; + uses config-eigrp-metric-topology-grouping; + uses config-eigrp-table-map-grouping; + uses config-eigrp-timers-topology-grouping; + uses config-eigrp-traffic-share-grouping; + uses config-eigrp-variance-grouping; + } + + grouping config-eigrp-topology-ipv4-grouping { + uses config-eigrp-auto-summary-ipv4-grouping; + uses config-eigrp-default-information-grouping; + uses config-eigrp-distance-ipv4-grouping; + uses config-eigrp-distribute-list-classic-named-ipv4-grouping; + uses config-eigrp-fast-reroute-named-ipv4-grouping; + uses config-eigrp-maximum-secondary-paths-grouping; + uses config-eigrp-offset-list-grouping; + uses config-eigrp-redistribute-named-ipv4-grouping; + uses config-eigrp-summary-metric-ipv4-grouping; + uses config-eigrp-topology-common-grouping; + } + + grouping config-eigrp-topology-ipv6-grouping { + uses config-eigrp-distance-ipv6-grouping; + uses config-eigrp-distribute-list-named-ipv6-grouping; + uses config-eigrp-summary-metric-ipv6-grouping; + uses config-eigrp-redistribute-named-ipv6-grouping; + uses config-eigrp-topology-common-grouping; + } + + grouping config-eigrp-traffic-share-grouping { + container traffic-share { + description + "How to compute traffic share over alternate paths"; + choice balanced-min-choice { + default "balanced"; + leaf balanced { + description + "Share inversely proportional to metric"; + type enumeration { + enum balanced; + } + default "balanced"; + } + container min { + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + } + } + + grouping config-eigrp-variance-grouping { + leaf variance { + description + "Control load balancing variance"; + type uint8 { + range "1..128"; + } + default "1"; + } + } + + augment "/ios:native/ios:router" { + uses config-eigrp-router-grouping; + uses config-router-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip" { + uses config-eigrp-interface-classic-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip/ios:summary-address" { + uses config-eigrp-interface-summary-address-ipv4-grouping; + } + + augment "/ios:native/ios:ipv6/ios:router" { + uses config-eigrp-router-ipv6-grouping; + } + + augment "/ios:native/ios:ipv6/ios:router/ios:eigrp" { + status obsolete; + uses config-router-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6" { + uses config-eigrp-interface-classic-ipv6-grouping; + uses config-interface-ipv6-eigrp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:route-tag" { + uses config-route-tag-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-actions-rpc.yang new file mode 100644 index 000000000..f496b58a2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-actions-rpc.yang @@ -0,0 +1,152 @@ +module Cisco-IOS-XE-embedded-ap-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-embedded-ap-actions-rpc"; + prefix embedded-ap-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + embedded AP RPC. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-reset-actions { + type enumeration { + enum factory-reset-config { + value 0; + description + "Reset wireless-bridge with config settings. + This action is available only when embedded AP + is configured as wireless-bridge with boot mode set as WGB"; + } + enum factory-reset-default { + value 1; + description + "Reset wireless-bridge with default settings. + This action is available only when embedded AP + is configured as wireless-bridge with boot mode set as WGB"; + } + } + description + "Wireless-bridge factory reset options."; + } + + typedef enm-wireless-bridge-actions { + type enumeration { + enum config-erase { + value 10; + description + "Erase wireless-bridge configuration. + This action is available only when embedded AP + is configured as wireless-bridge with boot mode set as WGB"; + } + } + description + "Wireless-bridge actions."; + } + + typedef enm-boot-mode { + type enumeration { + enum mode-wgb { + value 20; + description + "Boot embedded AP with WGB (WorkGroup Bridge) mode. + Wireless embedded AP is configured as a wireless-bridge in this mode. + It supports wired as well as wireless traffic bridging."; + } + enum mode-capwap { + value 21; + description + "Boot embedded AP with CAPWAP (Control and Provisioning of Wireless + Access Points) mode. + Embedded AP works as a wireless access point in this mode."; + } + } + description + "Embedded AP boot modes."; + } + + grouping reset-actions-type { + description + "Grouping of factory reset options on wireless-bridge."; + leaf reset-actions { + type embedded-ap-actions-rpc:enm-reset-actions; + mandatory true; + description + "Factory reset options available when embedded AP + is configured as wireless-bridge with boot mode set as WGB."; + } + } + + grouping wireless-bridge-actions-type { + description + "Grouping of executable actions on wireless-bridge."; + leaf wireless-bridge-actions { + type embedded-ap-actions-rpc:enm-wireless-bridge-actions; + mandatory true; + description + "Executable actions available when embedded AP is configured + as wireless-bridge with boot mode set as WGB."; + } + } + + grouping boot-mode-type { + description + "Grouping of available boot mode options on embedded AP."; + leaf boot-mode { + type embedded-ap-actions-rpc:enm-boot-mode; + mandatory true; + description + "Boot mode options available for embedded AP."; + } + } + + rpc wireless-bridge-reset { + description + "This RPC is used to execute factory reset on embedded AP + configured as wireless-bridge with boot mode set as WGB."; + input { + uses embedded-ap-actions-rpc:reset-actions-type; + } + } + + rpc wireless-bridge { + description + "This RPC is used to execute actions on embedded AP configured as + wireless-bridge with boot mode set as WGB."; + input { + uses embedded-ap-actions-rpc:wireless-bridge-actions-type; + } + } + + rpc switch-boot-mode { + description + "This RPC is used to boot embedded AP with requested mode."; + input { + uses embedded-ap-actions-rpc:boot-mode-type; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-oper.yang new file mode 100644 index 000000000..c92d06f46 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-embedded-ap-oper.yang @@ -0,0 +1,392 @@ +module Cisco-IOS-XE-embedded-ap-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-embedded-ap-oper"; + prefix em-ap-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for embedded access point operational data. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added embedded wireless module status information + - Extended Virtual AP Info module to indicate radio is configured as Wi-Fi uplink"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef radio-band { + type enumeration { + enum band-24ghz { + value 0; + description + "2.4GHz Band"; + } + enum band-5ghz { + value 1; + description + "5GHz Band"; + } + enum band-all { + value 2; + description + "All Bands"; + } + } + description + "Wireless LAN Radio Band"; + } + + typedef channel-width { + type enumeration { + enum chan-bw-20mhz { + value 0; + description + "20MHz bandwidth"; + } + enum chan-bw-40mhz { + value 1; + description + "40MHz bandwidth"; + } + enum chan-bw-80mhz { + value 2; + description + "80MHz bandwidth"; + } + enum chan-bw-160mhz { + value 3; + description + "160MHz bandwidth"; + } + } + description + "Wireless LAN Channel Bandwidth"; + } + + typedef wlan-client-status { + type enumeration { + enum wlan-client-state-idle { + value 0; + description + "Represents the client in idle state"; + } + enum wlan-client-state-aaa-pending { + value 1; + description + "The client is in the the process of authenticating"; + } + enum wlan-client-state-authenticated { + value 2; + description + "The client has been authenticated"; + } + enum wlan-client-state-associated { + value 3; + description + "The client has associated to the Access Point"; + } + enum wlan-client-state-power-save { + value 4; + description + "The client is in power save mode"; + } + enum wlan-client-state-disassociated { + value 5; + description + "The client is disassociated"; + } + enum wlan-client-state-to-delete { + value 6; + description + "The client deletion is in progress"; + } + enum wlan-client-state-probing { + value 7; + description + "The client is probing"; + } + enum wlan-client-state-unknown { + value 8; + description + "The client is in an unknown state"; + } + } + description + "Wireless LAN Client Status"; + } + + typedef oper-state { + type enumeration { + enum module-state-booting { + value 0; + description + "Module in booting state"; + } + enum module-state-day0 { + value 1; + description + "Module in Day 0 config state"; + } + enum module-state-ready { + value 2; + description + "Module in ready state"; + } + enum module-state-synced { + value 3; + description + "Module in synced state"; + } + enum module-state-out-of-service { + value 4; + description + "Module in out-of-service state"; + } + enum module-state-invlaid-login { + value 5; + description + "Module invalid login state"; + } + } + description + "Wireless module operational state information"; + } + + typedef oper-mode { + type enumeration { + enum mode-ewc { + value 0; + description + "AP runs in EWC mode"; + } + enum mode-capwap { + value 1; + description + "AP runs in CAPWAP mode"; + } + enum mode-wgb { + value 2; + description + "AP runs in WGB mode"; + } + } + description + "Wireless module operational mode"; + } + + grouping wgb-status { + description + "Wireless module status information in WGB mode"; + leaf state { + type em-ap-ios-xe-oper:oper-state; + description + "Module operational state"; + } + leaf mode { + type em-ap-ios-xe-oper:oper-mode; + description + "Module operational mode"; + } + leaf sw-version { + type string; + description + "Module software version"; + } + } + + grouping radio-info { + description + "Radio Info"; + leaf band { + type em-ap-ios-xe-oper:radio-band; + description + "The band of this radio"; + } + leaf channel { + type uint16; + description + "Operating channel of this radio"; + } + leaf channel-bandwidth { + type em-ap-ios-xe-oper:channel-width; + description + "Operating channel-width of this radio"; + } + leaf client-count { + type uint16; + description + "Current client number on this radio"; + } + } + + grouping wlan-client-key { + description + "Identification of a client"; + leaf wlan-id { + type uint32; + description + "ID of Virtual AP"; + } + leaf mac-address { + type yang:mac-address; + description + "Client MAC Address"; + } + } + + grouping client-info { + description + "Wireless client operational data"; + leaf band { + type em-ap-ios-xe-oper:radio-band; + description + "Radio band of the client"; + } + leaf ssid { + type string; + description + "SSID the Client is Associated with"; + } + leaf status { + type em-ap-ios-xe-oper:wlan-client-status; + description + "Operational status of the client"; + } + leaf ip-address { + type inet:ip-address; + description + "Discovered IP address of the client"; + } + leaf device-type { + type string; + description + "Discovered device type of the client "; + } + leaf rssi { + type uint16; + description + "Received signal strength indication of the client"; + } + } + + grouping vap-info { + description + "Virtual AP Info"; + leaf wlan-id { + type uint32; + description + "ID of this virtual AP"; + } + leaf admin-up { + type boolean; + description + "This virtual AP is administratively up"; + } + leaf oper-up { + type boolean; + description + "This virtual AP is operationally up"; + } + leaf band { + type em-ap-ios-xe-oper:radio-band; + description + "Radio band for this virtual AP"; + } + leaf vlan-id { + type uint16; + description + "VLAN ID associated with this virtual AP"; + } + leaf client-count { + type uint16; + description + "Current number of clients associated with this virtual AP"; + } + leaf max-client-count { + type uint16; + description + "Max number of clients supported on this virtual AP"; + } + leaf ssid { + type string; + description + "SSID of this Virtual AP"; + } + leaf wgb-uplink { + type boolean; + description + "Radio band is configured as workgroup bridge uplink"; + } + } + + container embedded-ap-oper-data { + config false; + description + "The top level container for embedded access point operational data"; + list embedded-ap-wlan { + key "wlan-id"; + description + "Wireless LAN Virtual AP Info"; + uses em-ap-ios-xe-oper:vap-info; + } + list embedded-ap-client { + key "wlan-id mac-address"; + description + "Wireless LAN Client Info"; + uses em-ap-ios-xe-oper:client-info; + uses em-ap-ios-xe-oper:wlan-client-key; + } + list embedded-ap-radio { + key "band"; + description + "Wireless LAN Radio Info"; + uses em-ap-ios-xe-oper:radio-info; + } + container wgb-module-status { + presence "wgb-module-status"; + description + "Work group bridge (WGB) module status Info"; + uses em-ap-ios-xe-oper:wgb-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-events.yang new file mode 100644 index 000000000..91bc1914e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-events.yang @@ -0,0 +1,252 @@ +module Cisco-IOS-XE-endpoint-tracker-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-endpoint-tracker-events"; + prefix endpoint-tracker-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for endpoint tracker events. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Add service chain notification"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-03-01 { + description + "Add new address family enum"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef endpoint-tracker-af { + type enumeration { + enum tracker-af-ipv4 { + value 0; + description + "Tracker Address Family IPv4"; + } + enum tracker-af-ipv6 { + value 1; + description + "Tracker Address Family IPv6"; + } + } + description + "Endpoint tracker address family"; + } + + typedef endpoint-tracker-notif-state { + type enumeration { + enum tracker-notif-state-up { + value 0; + description + "Tracker Notification State UP"; + } + enum tracker-notif-state-down { + value 1; + description + "Tracker Notification State DOWN"; + } + } + description + "Endpoint tracker notification state"; + } + + typedef sc-status-change-notif-state { + type enumeration { + enum svc-chain-up { + value 0; + description + "Service chain status notification state UP"; + } + enum svc-chain-down { + value 1; + description + "Service chain status notification state DOWN"; + } + } + description + "Service chain status notification state"; + } + + typedef sc-status-change-reason { + type enumeration { + enum sc-reason-na { + value 0; + description + "Service chain status reason unknown"; + } + enum sc-reason-if-update { + value 1; + description + "Service chain status reason interface"; + } + enum sc-reason-tracker-update { + value 2; + description + "Service chain status reason tracker"; + } + enum sc-reason-config-update { + value 3; + description + "Service chain status reason configuration update"; + } + enum sc-reason-deleted { + value 4; + description + "Service chain status reason deleted"; + } + } + description + "Service chain status reason"; + } + + grouping endpoint-tracker-state-change { + description + "Endpoint tracker state change notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf attach-point-name { + type string; + description + "Attach point name"; + } + leaf tracker-name { + type string; + description + "Tracker name"; + } + leaf new-state { + type endpoint-tracker-ios-xe-events:endpoint-tracker-notif-state; + description + "New tracker state"; + } + leaf address-family { + type endpoint-tracker-ios-xe-events:endpoint-tracker-af; + description + "Address family"; + } + } + + grouping sc-status-change-event { + description + "Service chain status change event"; + leaf severity { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name of the device"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP of the device"; + } + leaf name { + type string; + description + "Service chain name"; + } + leaf vpn { + type string; + description + "Service chain VPN"; + } + leaf status { + type endpoint-tracker-ios-xe-events:sc-status-change-notif-state; + description + "Service chain status"; + } + leaf reason { + type endpoint-tracker-ios-xe-events:sc-status-change-reason; + description + "Service chain reason"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf tracker-name { + type string; + description + "Tracker name"; + } + } + + notification tracker-state-change { + description + "Endpoint tracker state change notification"; + uses endpoint-tracker-ios-xe-events:endpoint-tracker-state-change; + } + + notification sc-status-change-event { + description + "Service chain status change notification"; + uses endpoint-tracker-ios-xe-events:sc-status-change-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-oper.yang new file mode 100644 index 000000000..baa6cc5b5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-endpoint-tracker-oper.yang @@ -0,0 +1,213 @@ +module Cisco-IOS-XE-endpoint-tracker-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-endpoint-tracker-oper"; + prefix endpoint-tracker-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for endpoint tracker operational data. + The endpoint tracker allows users to periodically + check if an endpoint identified by IP or Domain or + an API URL is reachable. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Document the interpretation of values for actual latency"; + reference + "1.2.1"; + cisco-semver:module-version "1.2.1"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "Added tracker group status"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef endpoint-tracker-if-state { + type enumeration { + enum tracker-if-state-na { + value 0; + description + "Tracker Interface State NA"; + } + enum tracker-if-state-up { + value 1; + description + "Tracker Interface State UP"; + } + enum tracker-if-state-down { + value 2; + description + "Tracker Interface State DOWN"; + } + } + description + "Endpoint tracker interface state"; + } + + typedef endpoint-tracker-group-oper { + type enumeration { + enum tracker-group-oper-na { + value 0; + description + "Tracker Group Oper NA"; + } + enum tracker-group-oper-or { + value 1; + description + "Tracker Group Oper OR"; + } + enum tracker-group-oper-and { + value 2; + description + "Tracker Group Oper AND"; + } + } + description + "Logical operation to be performed on tracker status for tracker elements [or/and]"; + } + + grouping endpoint-tracker-record { + description + "List of Trackers on an interface"; + leaf record-name { + type string; + description + "Tracker name"; + } + leaf actual-delay { + type uint32; + units "milliseconds"; + description + "Latency in milliseconds from device to the endpoint. + An invalid or undefined latency is indicated by the value 0, while a timeout + is indicated by the maximum 32-bit unsigned integer value."; + } + } + + grouping endpoint-tracker-status { + description + "Endpoint Tracker Attach Point status"; + leaf if-name { + type string; + description + "The interface name through which + tracker packets are sent out"; + } + leaf state { + type endpoint-tracker-ios-xe-oper:endpoint-tracker-if-state; + description + "Tracker state"; + } + list tracker-record { + description + "List of Trackers on an interface"; + uses endpoint-tracker-ios-xe-oper:endpoint-tracker-record; + } + } + + grouping endpoint-tracker-element { + description + "Tracker elements of a tracker group"; + leaf name { + type string; + description + "Tracker element name"; + } + leaf actual-delay { + type uint32; + units "milliseconds"; + description + "Latency in milliseconds from device to the endpoint"; + } + leaf state { + type endpoint-tracker-ios-xe-oper:endpoint-tracker-if-state; + description + "Tracker element state"; + } + } + + grouping endpoint-tracker-group-status { + description + "Endpoint Tracker Group Attach Point status"; + leaf attach-point-name { + type string; + description + "Attach point name"; + } + leaf group-name { + type string; + description + "Tracker group name"; + } + leaf oper { + type endpoint-tracker-ios-xe-oper:endpoint-tracker-group-oper; + description + "Tracker group oper"; + } + leaf state { + type endpoint-tracker-ios-xe-oper:endpoint-tracker-if-state; + description + "Tracker group state"; + } + list tk-elem { + description + "Tracker elements of a tracker group"; + uses endpoint-tracker-ios-xe-oper:endpoint-tracker-element; + } + } + + container endpoint-tracker-oper { + config false; + description + "Endpoint tracker operational data"; + list endpoint-tracker { + key "if-name"; + description + "The endpoint tracker status provides + information about a trackers on an interface."; + uses endpoint-tracker-ios-xe-oper:endpoint-tracker-status; + } + list tracker-group { + key "attach-point-name"; + description + "The endpoint tracker group status provides + information about a trackers group on an attach point."; + uses endpoint-tracker-ios-xe-oper:endpoint-tracker-group-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-environment-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-environment-oper.yang new file mode 100644 index 000000000..b2dab353f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-environment-oper.yang @@ -0,0 +1,218 @@ +module Cisco-IOS-XE-environment-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-environment-oper"; + prefix environment-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring Environment of a Network Element. + Copyright (c) 2016-2019, 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added milli volts AC and milli volts DC In Sensor Unit Type"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "- A new field sensor type is added + - Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-11-27 { + description + "Sensor thresholds. RPMs as units. Changed enumeration names to be lowercase and hyphenated"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef sensor-type { + type enumeration { + enum temperature { + value 0; + } + enum voltage { + value 1; + } + enum current { + value 2; + } + enum power { + value 3; + } + enum fan { + value 4; + } + enum unknown-sensor { + value 5; + } + } + description + "Type of the Sensor"; + } + + typedef sensor-units-type { + type enumeration { + enum watts { + value 0; + } + enum celsius { + value 1; + } + enum millivolts { + value 2; + } + enum amperes { + value 3; + } + enum volts-dc { + value 4; + } + enum volts-ac { + value 5; + } + enum milliamperes { + value 6; + } + enum unknown { + value 7; + } + enum revolutions-per-minute { + value 8; + } + enum millivolts-ac { + value 9; + description + "Units used by milli volts AC sensors"; + } + enum millivolts-dc { + value 10; + description + "Units used by milli volts DC sensors"; + } + } + description + "Units used by various sensors"; + } + + grouping sensor-name-loc-key { + description + "Each sensor representing a data node is + uniquely identified by a name and a location based key"; + leaf name { + type string; + description + "Name of the sensor component. + This includes all physical components of the chassis - + both fixed and pluggable"; + } + leaf location { + type string; + description + "Sensor location"; + } + } + + grouping sensor-params { + description + "Sensor parameters"; + leaf state { + type string; + description + "A description of the current state of the sensor"; + } + leaf current-reading { + type uint32; + description + "Numerical value of the current sensor reading in sensor-units"; + } + leaf sensor-units { + type environment-ios-xe-oper:sensor-units-type; + description + "Units corresponding to the current-reading value"; + } + leaf low-critical-threshold { + type int32; + description + "Alarm threshold under which a critical + alarm will be signalled"; + } + leaf low-normal-threshold { + type int32; + description + "No alarm above this threshold"; + } + leaf high-normal-threshold { + type int32; + description + "No alarm below this threshold"; + } + leaf high-critical-threshold { + type int32; + description + "Alarm threshold over which a critical + alarm will be signalled"; + } + leaf sensor-name { + type environment-ios-xe-oper:sensor-type; + description + "Name of the Sensor"; + } + } + + container environment-sensors { + config false; + description + "Data nodes for Environmental Monitoring"; + list environment-sensor { + key "name location"; + description + "The list of components on the device chassis"; + uses environment-ios-xe-oper:sensor-params; + uses environment-ios-xe-oper:sensor-name-loc-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eogre-tunnel-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eogre-tunnel-oper.yang new file mode 100644 index 000000000..18bfed844 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eogre-tunnel-oper.yang @@ -0,0 +1,164 @@ +module Cisco-IOS-XE-eogre-tunnel-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eogre-tunnel-oper"; + prefix ios-eogre-tunnel-oper; + + import Cisco-IOS-XE-event-history-types { + prefix event-history-types; + } + import Cisco-IOS-XE-tunnel-types { + prefix tunnel-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Ethernet over GRE (EoGRE) Tunnel domains and interfaces + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-tunnel-domain { + description + "Tunnel domain"; + container cfg { + description + "Domain Configuration"; + uses tunnel-types:tunnel-domain-common; + } + leaf active-tunnel-name { + type string; + description + "Active tunnel name"; + } + container history { + description + "Event history"; + uses event-history-types:event-history; + } + } + + grouping tunnel-intf-key { + description + "Interface key pair"; + leaf name { + type string; + description + "Interface key name"; + } + leaf type { + type tunnel-types:tunnel-domain-mode; + description + "Interface key type"; + } + } + + grouping st-tunnel-interface { + description + "List of tunnel interfaces"; + leaf gateway-address { + type inet:ip-address; + description + "Gateway IP address"; + } + leaf admin-status { + type tunnel-types:tunnel-intf-status; + description + "Administrative status"; + } + leaf status { + type tunnel-types:tunnel-intf-status; + description + "Tunnel operational status"; + } + leaf up-timestamp { + type yang:date-and-time; + description + "Last time this gateway went up"; + } + leaf mtu { + type uint32; + description + "Maximum transmission unit"; + } + container stats { + description + "Tunnel Statistics"; + uses tunnel-types:tunnel-stats; + } + leaf source-interface { + type string; + description + "Source Interface"; + } + leaf source-address { + type inet:ip-address; + description + "Source IP Address"; + } + container history { + description + "Event history for this gateway"; + uses event-history-types:event-history; + } + leaf intf-type { + type tunnel-types:tunnel-intf-mode; + description + "Tunnel interface type"; + } + } + + container eogre-tunnel-oper-data { + config false; + description + "Top-level container for tunnel operational data"; + list tunnel-domain { + key "name type"; + description + "List of tunnel domains, keyed by domain name and type"; + uses tunnel-types:tunnel-domain-index; + uses ios-eogre-tunnel-oper:st-tunnel-domain; + } + list tunnel-intf { + key "name type"; + description + "List of tunnel interfaces"; + uses ios-eogre-tunnel-oper:tunnel-intf-key; + uses ios-eogre-tunnel-oper:st-tunnel-interface; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-eta.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-eta.yang new file mode 100644 index 000000000..cd4501ac5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-eta.yang @@ -0,0 +1,349 @@ +module Cisco-IOS-XE-eta { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-eta"; + prefix ios-eta; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Encrypted Traffic Analytics Yang model. + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "- Replaced deprecated diff-dependency annotations"; + cisco-semver:module-version "2.0.1"; + } + revision 2019-11-01 { + description + "Added if-feature statement"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added IPv6 flow-export destination support + - Moved whitelist must constraint from container to leaf + - Add must constraints for inactive-timeout and whitelist on at least one ip flow-export entry"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-28 { + description + "Add source-interface and ipfix option support to ip flow-export"; + } + revision 2018-09-18 { + description + "Add diff-dependency from inactive-timeout to ip flow-export"; + } + revision 2018-06-28 { + description + "added must constraints for deleting vrf"; + } + revision 2018-05-14 { + description + "Limit string lengths for threat-defense features"; + } + revision 2018-02-22 { + description + "Add threat-defense support for Ethernet interfaces"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 100GE interface support"; + } + revision 2017-10-16 { + description + "Initial revision"; + } + + grouping eta-ip-flow-export-dest-grouping { + leaf source-interface { + description + "Optional source-interface"; + type string; + } + leaf ipfix { + description + "Export in ipfix format"; + type empty; + } + } + + grouping config-eta-grouping { + container et-analytics { + description + "Encrypted Traffic Analytics"; + must '(count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination)) <= 4' { + error-message "ET-Analytics can only config upto 4 different destination combinations"; + } + presence "true"; + container ip { + description + "Specify netflow record export destination ip address and port"; + container flow-export { + description + "netflow record export"; + list destination { + description + "netflow record export destination"; + key "address port"; + leaf address { + description + "IP address"; + type inet:ipv4-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + uses eta-ip-flow-export-dest-grouping; + } + container destination-vrf { + list destination { + description + "netflow record export destination"; + key "address port vrf"; + leaf address { + description + "IP address"; + type inet:ipv4-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Optional VRF label"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + uses eta-ip-flow-export-dest-grouping; + } + } + } + } + container ipv6 { + description + "Specify netflow record export destination ipv6 address and port"; + container flow-export { + description + "netflow record export"; + list destination { + description + "netflow record export destination"; + key "address port"; + leaf address { + description + "IPV6 address"; + type inet:ipv6-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + uses eta-ip-flow-export-dest-grouping; + } + container destination-vrf { + list destination { + description + "netflow record export destination"; + key "address port vrf"; + leaf address { + description + "IPV6 address"; + type inet:ipv6-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Optional VRF label"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + uses eta-ip-flow-export-dest-grouping; + } + } + } + } + leaf inactive-timeout { + description + "Specify Inactive flow timeout value"; + must '(count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination)) != 0' { + error-message "Must create at least one 'ip/ipv6 flow-export' entry first"; + } + type uint32 { + range "1..604800"; + } + } + container whitelist { + description + "Whitelist traffic"; + if-feature "ios-features:routing-platform"; + leaf acl { + description + "Access list"; + must '(count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination)) != 0' { + error-message "Must create at least one 'ip/ipv6 flow-export' entry first"; + } + type union { + type ios-types:access-list-type; + type string { + length "1..64"; + } + } + } + } + } + } + + grouping config-interface-eta-grouping { + container et-analytics { + description + "et-analytics support on this interface"; + leaf enable { + description + "Enable et-analytics on this interface"; + must '(count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ip/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination) + count(/ios:native/ios-eta:et-analytics/ios-eta:ipv6/ios-eta:flow-export/ios-eta:destination-vrf/ios-eta:destination)) != 0' { + error-message "Must create at least one 'ip/ipv6 flow-export' entry first"; + } + type empty; + } + } + } + + augment "/ios:native" { + uses config-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-eta-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-eta-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-cfm-efp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-cfm-efp.yang new file mode 100644 index 000000000..9a0ffcd64 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-cfm-efp.yang @@ -0,0 +1,3220 @@ +submodule Cisco-IOS-XE-ethernet-cfm-efp { + yang-version 1.1; + belongs-to Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Yang model for the following sub modules, + * ethernet-cfm + * ethernet-efp + Copyright (c) 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added support for lck logging + - Obsolete nodes deprecated before 17.6 release"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-07-01 { + description + "- Added a leaf to support track config under service instance"; + cisco-semver:module-version "5.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "5.2.0"; + } + revision 2022-07-01 { + description + "- Added support for bpdu, cfm, stp, mrp."; + cisco-semver:module-version "5.1.0"; + } + revision 2022-03-01 { + description + "- Added leaf dot1ad, vlan-type under rewrite push, translate containers"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-11-01 { + description + "- Added container slm, lck. Leaf sender-id, lower-mep-only added for mip-vlan, mip-evc lists + - Deprecated container mip-level, added container level-config + - Container tag-config added and container tag deprecated + - Add mac security address,aging,sticky under interface GigabitEthernet + * service instance * ethernet"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-07-01 { + description + "- Initial revision for 17.6.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- Extend untagged encapsulation container"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Extend untagged encapsulation container + - Container mip-config added and leaf mip deprecated"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "- Change split-horizon to presence container + - Leaf completion for CFM Domain mode commands + - New ccm fast-age and hold-time commands + - New config-interface-ethernet-cfm-grouping Added"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added EFD (Ethernet Fault Detection) Support"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Added latching loopback config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-11 { + description + "This revision has changes for EVC-CFM mep mode additions"; + } + revision 2019-02-18 { + description + "This revision has changes for CFM additions"; + } + revision 2018-12-13 { + description + "Initial revision"; + } + + grouping config-interface-srv-ecfm-mep-grouping { + container alarm { + description + "CFM Alarm"; + leaf delay { + description + "msec (default 2500 msec)"; + type uint16 { + range "2500..10000"; + } + default "2500"; + } + leaf notification { + description + "CFM alarm notification"; + type enumeration { + enum all; + enum error-xcon; + enum mac-remote-error-xcon; + enum none; + enum remote-error-xcon; + enum xcon; + } + default "mac-remote-error-xcon"; + } + leaf reset { + description + "msec (default 10000 msec)"; + type uint16 { + range "2500..10000"; + } + default "10000"; + } + } + leaf cos { + description + "Specify Class of Service sent in CFM messages for EFP MEP"; + type uint16 { + range "1..7"; + } + } + container continuity-check { + description + "Configure Continuity Check for MA"; + container static { + description + "Verify MEP in received CCM is valid"; + leaf rmep { + description + "MEP defined using mep mpid"; + type empty; + } + } + } + list rmep { + description + "Static Remote MEP associated with this DOWN MEP"; + key "id"; + leaf id { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + } + leaf mpid { + description + "Maintenance End Point Identifier"; + type empty; + } + } + } + + grouping config-interface-efp-l2protocol-grouping { + leaf-list protocol { + type enumeration { + enum R4; + enum R5; + enum R6; + enum R8; + enum R9; + enum RA; + enum RB; + enum RC; + enum RD; + enum RF; + enum cdp; + enum dtp; + enum elmi; + enum esmc; + enum lacp; + enum lldp; + enum loam; + enum pagp; + enum ptppd; + enum stp; + enum udld; + enum vtp; + enum dot1x; + enum mmrp; + enum mvrp; + enum mrpb; + enum cbpdu; + enum cstp; + enum ccfm; + } + } + } + + grouping config-ethernet-cfm-alarm-grouping-deprecated { + leaf delay { + status obsolete; + description + "msec (default 2500 msec) (OBSOLETE) + Please use delay leaf under alarm-config"; + type uint16 { + range "2500..10000"; + } + } + container notification { + status obsolete; + description + "CFM alarm notification"; + leaf all { + status obsolete; + description + "Report all defects: DefRDI, DefMACStatus, DefRemote, DefError, DefXcon (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + leaf error-xcon { + status obsolete; + description + "Report only: DefError and DefXcon (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + leaf mac-remote-error-xcon { + status obsolete; + description + "Report only: DefMACStatus, DefRemote, DefError and DefXcon (default) (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + leaf none { + status obsolete; + description + "No defects to be reported (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + leaf remote-error-xcon { + status obsolete; + description + "Report only: DefRemote, DefError and DefXcon (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + leaf xcon { + status obsolete; + description + "Report only: DefXcon (OBSOLETE) + Please use notification leaf under alarm-config"; + type empty; + } + } + leaf reset { + status obsolete; + description + "msec (default 10000 msec) (OBSOLETE) + Please use reset leaf under alarm-config"; + type uint16 { + range "2500..10000"; + } + } + } + + grouping config-ecfm-domain-service-grouping { + leaf port { + description + "DOWN service direction with no vlan association"; + type empty; + } + leaf evc { + if-feature "ios-features:eth-evc"; + description + "Specify EVC"; + type string; + } + leaf vlan { + description + "VLAN id"; + type uint16 { + range "1..4094"; + } + } + leaf direction { + description + "Service direction- Down: Towards the LAN"; + type enumeration { + enum down; + } + } + container ais { + description + "AIS Maintenance Condition"; + leaf expiry-threshold { + description + "AIS Expiry Threshold"; + type uint8 { + range "2..255"; + } + default "3"; + } + leaf level { + description + "Maintenance Level to send AIS"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "AIS Transmission period"; + type enumeration { + enum 1; + enum 60; + } + default "60"; + } + leaf suppress-alarms { + description + "Suppress Alarms"; + type empty; + } + } + leaf cfm-continuity-check { + description + "Enable Continuity Check for Maintenance Association"; + type empty; + } + container continuity-check-conf { + container continuity-check { + description + "Configure Continuity Check for MA"; + leaf interval { + description + "Interval Continuity Check messages transmitted"; + type enumeration { + enum 100ms; + enum 10m; + enum 10ms; + enum 10s; + enum 1m; + enum 1s; + enum 3.3ms; + } + default "10s"; + } + leaf loss-threshold { + description + "Specifies when a MEP is down or unreachable"; + type uint8 { + range "2..255"; + } + default "3"; + } + container static { + description + "Verify MEP in received CCM is valid"; + leaf rmep { + description + "MEP defined using mep mpid"; + type empty; + } + } + } + } + container continuity-check { + status obsolete; + description + "OBSOLETE :Enable Continuity Check for Maintenance Association + Please use cfm-continuity-check leaf and continuity-check-conf container"; + presence "true"; + } + container efd { + description + "Ethernet Fault Detection"; + container notify { + description + "EFD Notification Registration"; + choice notify-choice { + leaf g8032 { + description + "Notify G.8032 Controller of EFD events"; + type empty; + } + leaf rep { + description + "Notify REP Controller of EFD events"; + type empty; + } + } + } + leaf line-protocol { + description + "EFD line-protocol action"; + type empty; + } + } + container lck { + description + "LCK Maintenance Condition"; + leaf expiry-threshold { + description + "LCK Expiry Threshold"; + type uint8 { + range "2..255"; + } + default "3"; + } + leaf level { + description + "Maintenance Level to send LCK"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "LCK Transmission period"; + type enumeration { + enum 1; + enum 60; + } + default "60"; + } + } + container maximum { + description + "Maximum MEPs allowed across network"; + leaf meps { + description + "Maximum meps"; + type uint16 { + range "1..65535"; + } + default "100"; + } + } + container mep { + description + "Static MEP within a Maintenance Association"; + when 'not (current()/../ios-eth:direction)'; + leaf mpid { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + } + } + container mip { + description + "MIP commands"; + when 'not (current()/../ios-eth:direction)'; + container auto-create { + description + "Specify MIP auto creation policy"; + presence "true"; + choice mip-case { + case lower-mep-case { + leaf lower-mep-only { + description + "Create auto MIP only if lower MEP found"; + type empty; + } + } + case none-case { + leaf none { + description + "No MIP auto create"; + type empty; + } + } + } + } + } + container offload { + description + "Offload options"; + leaf sampling { + description + "Sampling rate"; + type uint16 { + range "10..10000"; + } + } + } + leaf sender-id { + description + "Include Sender ID TLV"; + type enumeration { + enum chassis; + enum none; + } + } + } + + grouping config-ecfm-domain-service-number-grouping { + container ais { + description + "AIS Maintenance Condition"; + leaf expiry-threshold { + description + "AIS Expiry Threshold"; + type uint8 { + range "2..255"; + } + default "3"; + } + leaf level { + description + "Maintenance Level to send AIS"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "AIS Transmission period"; + type enumeration { + enum 1; + enum 60; + } + default "60"; + } + leaf suppress-alarms { + description + "Suppress Alarms"; + type boolean; + default "true"; + } + } + leaf continuity-check { + description + "Enable Continuity Check for Maintenance Association"; + type empty; + } + container continuity-check-conf { + container continuity-check { + description + "Configure Continuity Check for MA"; + leaf interval { + description + "Interval Continuity Check messages transmitted"; + type enumeration { + enum 100ms; + enum 10m; + enum 10ms; + enum 10s; + enum 1m; + enum 1s; + enum 3.3ms; + } + default "10s"; + } + leaf loss-threshold { + description + "Specifies when a MEP is down or unreachable"; + type uint8 { + range "2..255"; + } + default "3"; + } + container static { + description + "Verify MEP in received CCM is valid"; + leaf rmep { + description + "MEP defined using mep mpid"; + type empty; + } + } + } + } + container efd { + description + "Ethernet Fault Detection"; + leaf notify { + description + "EFD Notification Registration"; + type enumeration { + enum g8032; + enum rep; + } + } + leaf line-protocol { + description + "EFD line-protocol action"; + type empty; + } + } + leaf lck { + description + "LCK Maintenance Condition"; + type boolean; + default "true"; + } + container lck-conf { + container lck { + description + "Configure LCK Maintenance Condition"; + leaf expiry-threshold { + description + "LCK Expiry Threshold"; + type uint8 { + range "2..255"; + } + default "3"; + } + leaf level { + description + "Maintenance Level to send LCK"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "LCK Transmission period"; + type enumeration { + enum 1; + enum 60; + } + default "60"; + } + } + } + container maximum { + description + "Maximum MEPs allowed across network"; + leaf meps { + description + "Maximum meps"; + type uint16 { + range "1..65535"; + } + default "100"; + } + } + container mep { + description + "Static MEP within a Maintenance Association"; + when 'not ((../ios-eth:direction) or (../ios-eth:port))'; + leaf mpid { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + } + } + container mip { + description + "MIP commands"; + when 'not ((../ios-eth:direction) or (../ios-eth:port))'; + container auto-create { + description + "Specify MIP auto creation policy"; + presence "true"; + leaf auto-create-type { + type enumeration { + enum lower-mep-only; + enum none; + } + } + } + } + container offload { + description + "Offload options"; + leaf sampling { + description + "Sampling rate"; + type uint16 { + range "10..10000"; + } + } + } + leaf sender-id { + description + "Include Sender ID TLV"; + type enumeration { + enum chassis; + enum none; + } + } + } + + grouping config-interface-ethernet-cfm-grouping { + container cfm { + description + "Ethernet cfm parameters"; + container ais { + description + "AIS Maintenance Condition"; + container link-status { + description + "8023ah SMEP or link status up/down transmission"; + leaf level { + description + "Maintenance Level"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "AIS Transmission period in seconds"; + type enumeration { + enum 1; + enum 60; + } + } + } + } + leaf interface { + description + "CFM interface enable"; + type empty; + } + container mep { + description + "Maintenance End Point"; + list domain { + description + "Domain list"; + key "name"; + leaf name { + description + "Configure a domain for this mep"; + must "((/ios:native/ios:ethernet/ios-eth:cfm/ios-eth:ieee) + and (/ios:native/ios:ethernet/ios-eth:cfm/ios-eth:domain[ios-eth:name=current()]))" { + error-message "Preconfig for this Command is not completed yet"; + } + type string; + } + list mpid { + description + "Maintenance End Point Identifier"; + key "mpid-number"; + leaf mpid-number { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + } + container service { + description + "Maintenance Association within Domain"; + choice service-type { + list named-service { + description + "Service instance"; + key "service-name"; + leaf service-name { + description + "service instance id"; + must '(/ios:native/ios:ethernet/ios-eth:cfm/ios-eth:domain/ios-eth:service[ios-eth:name=current()])' { + error-message "This service-instance is not created yet"; + } + type string; + } + uses config-interface-srv-ecfm-mep-grouping; + } + list icc { + description + "ITU-T Y.1731 ICC-based MEG ID"; + key "code"; + leaf code { + description + "ITU Carrier Code (1-6 characters)"; + type string; + } + leaf meg-id { + description + "Unique MEG ID Code (1-12 characters)"; + type string; + } + uses config-interface-srv-ecfm-mep-grouping; + } + list number { + description + "Maintenance Association number value"; + key "ma-num"; + leaf ma-num { + type uint16 { + range "0..65535"; + } + } + uses config-interface-srv-ecfm-mep-grouping; + } + list vlan-id { + description + "primary VLAN id"; + key "vlan-num"; + leaf vlan-num { + description + "primary VLAN id"; + type uint16 { + range "1..4094"; + } + } + uses config-interface-srv-ecfm-mep-grouping; + } + list vpn-id { + description + "vpn id"; + key "vpn"; + leaf vpn { + description + "vpn id"; + type uint16 { + range "1..32767"; + } + } + uses config-interface-srv-ecfm-mep-grouping; + } + } + } + leaf port { + description + "DOWN service direction with no vlan association"; + type empty; + } + leaf vlan { + description + "VLAN id"; + type uint16 { + range "1..4094"; + } + } + } + } + } + container mip { + description + "Maintenance Intermediate Point"; + list level { + description + "Maintenance Level"; + key "level-number"; + leaf level-number { + description + "maintenance level number"; + type uint8 { + range "0..7"; + } + } + leaf vlan { + description + "VLAN id"; + type string; + } + } + } + } + container uni { + description + "Configure Ether UNI"; + choice uni-choice { + container bundle { + description + "bundling service without multiplexing"; + presence "true"; + leaf all-to-one { + description + "all-to-one bundling service"; + type empty; + } + } + leaf multiplex { + description + "multiplexing service without bundling"; + type empty; + } + } + leaf id { + description + "Configure Ether UNI ID"; + type string { + length "1..64"; + } + } + } + } + + grouping ext-etype-option-grouping { + container ext-etype { + description + "payload ethertype after Vlan Field"; + leaf ipv4 { + description + "IPv4"; + type empty; + } + leaf ipv6 { + description + "IPv6"; + type empty; + } + leaf pppoe-all { + description + "PPPoE ALL"; + type empty; + } + leaf pppoe-discovery { + description + "PPPoE Discovery Stage"; + type empty; + } + leaf pppoe-session { + description + "PPPoE Session Stage"; + type empty; + } + } + } + + grouping ethernet-cfm-untagged-encap-grouping { + container untagged { + description + "Untagged encapsulation"; + presence "true"; + leaf comma { + type enumeration { + enum ,; + } + } + container priority-tagged { + description + "Priority tagged EFP"; + presence "true"; + leaf comma { + type enumeration { + enum ,; + } + } + } + container dot1ad { + description + "802.1ad - Provider Bridges"; + leaf-list id { + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + enum ,; + enum -; + } + } + } + leaf-list cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + leaf-list dot1q { + description + "Second tag (dot1q)"; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + enum ,; + enum -; + } + } + } + container cos2 { + leaf-list cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + } + uses ext-etype-option-grouping; + leaf exact { + description + "payload Ethertype does not include 802.1q/802.1ad Tags."; + type empty; + } + } + container dot1q { + description + "IEEE 802.1Q Virtual LAN or S-VLAN"; + leaf-list id { + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + enum ,; + enum -; + } + } + } + leaf-list cos { + description + "cos Vlan"; + type uint8 { + range "0..7"; + } + } + leaf-list second-dot1q { + description + "inner 802.1Q Virtual LAN or C-VLAN"; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + enum ,; + enum -; + } + } + } + container cos2 { + leaf-list cos { + description + "cos Vlan"; + type uint8 { + range "0..7"; + } + } + } + uses ext-etype-option-grouping; + leaf exact { + description + "payload Ethertype does not include 802.1q/802.1ad Tags."; + type empty; + } + leaf vlan-type { + description + "Vlan Protocol Type"; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + } + uses ext-etype-option-grouping; + } + } + + grouping config-interface-ethernet-cfm-efp-grouping { + container service { + description + "Configure Ether Service"; + list instance { + description + "Configure Ether Service Instance"; + key "id"; + leaf id { + type uint32 { + range "1..8000"; + } + } + leaf trunk { + description + "Trunk Service Instance"; + type empty; + } + leaf GigabitEthernet { + description + "Configure an GigabitEthernet Instance"; + type empty; + } + leaf ethernet { + description + "Configure an Ethernet Instance"; + type empty; + } + leaf ethernet-evc-name { + if-feature "ios-features:eth-evc"; + type string; + } + leaf description { + description + "Service instance specific description"; + type string { + length "0..240"; + } + } + leaf evc-name { + type string { + length "1..100"; + } + } + leaf track { + description + "Configure Service instance as Track client"; + type uint16 { + range "1..1000"; + } + } + container encapsulation { + description + "Configure ethernet frame match criteria"; + leaf default { + description + "catch-all unconfigured encapsulation"; + type empty; + } + container dot1ad { + description + "802.1ad - Provider Bridges"; + leaf-list id { + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + } + type string; + } + } + leaf-list cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + leaf-list dot1q { + description + "Second tag (dot1q)"; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + } + type string; + } + } + container cos2 { + leaf-list cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + } + uses ext-etype-option-grouping; + leaf ethertype { + description + "payload ethertype after Vlan Field"; + type union { + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + type string; + } + } + leaf-list etype { + description + "payload ethertype after Vlan Field (OBSOLETE) + Please use ethertype"; + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + } + leaf exact { + description + "payload Ethertype does not include 802.1q/802.1ad Tags."; + type empty; + } + } + container dot1q { + description + "IEEE 802.1Q Virtual LAN or S-VLAN"; + leaf-list id { + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + } + type string; + } + } + leaf-list cos { + description + "cos Vlan"; + type uint8 { + range "0..7"; + } + } + leaf-list second-dot1q { + description + "inner 802.1Q Virtual LAN or C-VLAN"; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum any; + } + type string; + } + } + container cos2 { + leaf-list cos { + description + "cos Vlan"; + type uint8 { + range "0..7"; + } + } + } + uses ext-etype-option-grouping; + leaf ethertype { + description + "payload ethertype after Vlan Field"; + type union { + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + type string; + } + } + leaf-list etype { + description + "payload ethertype after Vlan Field (OBSOLETE) + Please use ethertype"; + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + } + leaf exact { + description + "payload Ethertype does not include 802.1q/802.1ad Tags."; + type empty; + } + leaf vlan-type { + description + "Vlan Protocol Type"; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + } + container priority-tagged { + description + "Priority tagged EFP"; + presence "true"; + leaf-list cos { + description + "cos Vlan"; + type uint8 { + range "0..7"; + } + } + uses ext-etype-option-grouping; + leaf ethertype { + description + "payload ethertype after Vlan Field"; + type union { + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + type string; + } + } + leaf-list etype { + description + "payload ethertype after Vlan Field (OBSOLETE) + Please use ethertype"; + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + enum pppoe-all; + enum pppoe-discovery; + enum pppoe-session; + } + } + } + uses ethernet-cfm-untagged-encap-grouping; + } + container ip { + description + "Interface Internet Protocol config commands"; + list access-group-list { + description + "Access control list for packets"; + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + type string; + } + } + container acl { + status obsolete; + leaf access-group { + status obsolete; + description + "OBSOLETE:Specify access control for packets"; + type ios-types:exp-acl-type; + } + leaf in { + status obsolete; + description + "OBSOLETE:inbound packets"; + type empty; + } + leaf out { + status obsolete; + description + "OBSOLETE:outbound packets"; + type empty; + } + } + container dhcp { + description + "DHCP"; + container relay { + description + "DHCP relay"; + container information { + description + "DHCP relay information"; + container option { + description + "DHCP relay information option"; + leaf subscriber-id { + description + "DHCP relay information option subscriber-id"; + type string; + } + } + } + } + } + container verify { + description + "verify"; + leaf source { + description + "source address"; + type empty; + } + leaf vlan { + description + "vlan specification"; + type empty; + } + leaf dhcp-snooping { + description + "snooping enable vlan"; + type empty; + } + leaf port-security { + description + "port security"; + type empty; + } + } + } + container eapol { + description + "eapol"; + container destination-address { + choice destination-type { + description + "Configure destination MAC address"; + leaf mac-address { + description + "MAC address"; + type ios-types:cisco-mac-address-type; + } + leaf bridge-group-address { + description + "Configure bridge group address"; + type empty; + } + leaf broadcast-address { + description + "Configure broadcast MAC address"; + type empty; + } + leaf lldp-multicast-address { + description + "Configure lldp multicast address"; + type empty; + } + } + } + container eth-type { + description + "Configure Ethernet Type for EAPOL frame"; + leaf eth-876F { + description + "Alternate Eth Value"; + type empty; + } + } + } + container storm-control { + description + "storm configuration"; + container broadcast { + description + "Broadcast address storm control"; + leaf cir { + description + "Committed Information Rate"; + type uint32 { + range "8000..1000000000"; + } + } + } + container multicast { + description + "Multicast address storm control"; + leaf cir { + description + "Committed Information Rate"; + type uint32 { + range "8000..1000000000"; + } + } + } + container unicast { + description + "Unknown unicast address storm control"; + leaf cir { + description + "Committed Information Rate"; + type uint32 { + range "8000..1000000000"; + } + } + } + } + container ipv6 { + description + "IPv6 interface subcommands"; + list traffic-filter-list { + description + "Access control list for packets"; + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + type string; + } + } + leaf traffic-filter { + status obsolete; + description + "OBSOLETE:Access control list for packets"; + type string; + } + leaf in { + status obsolete; + description + "OBSOLETE:inbound packets"; + type empty; + } + leaf out { + status obsolete; + description + "OBSOLETE:outbound packets"; + type empty; + } + } + container rewrite { + description + "Configure ethernet rewrite criteria"; + when "../ios-eth:encapsulation/ios-eth:dot1q/ios-eth:id + or ../ios-eth:encapsulation/ios-eth:default + or ../ios-eth:encapsulation/ios-eth:dot1ad/ios-eth:id + or ../ios-eth:encapsulation/ios-eth:priority-tagged + or ../ios-eth:encapsulation/ios-eth:untagged"; + container ingress { + description + "Ingress Rewrite"; + container tag-config { + description + "Configure Rewrite Tag"; + choice rewrite-op { + case pop-op { + container pop-op { + description + "Pop the tag"; + leaf way { + type enumeration { + enum 1; + enum 2; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + case push-op { + container push-op { + description + "Rewrite Operation of push"; + leaf dot1ad { + description + "Push dot1ad tag"; + type uint16 { + range "1..4094"; + } + } + leaf dot1q { + description + "Push dot1q tag"; + type uint16 { + range "1..4094"; + } + } + leaf vlan-type { + description + "Vlan protocol type"; + when 'not (../dot1ad)'; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + leaf second-dot1q { + description + "Push second dot1q tag"; + when 'not (../dot1ad)'; + type uint16 { + range "1..4094"; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + case translate-op { + container translate-op { + description + "Translate Tag"; + choice translate-operation { + case t1-to-1 { + container t1-to-1 { + description + "Translate 1-to-1"; + leaf dot1ad { + description + "Push dot1ad tag"; + type uint16 { + range "1..4094"; + } + } + leaf dot1q { + description + "Ethertype dot1q of the translation"; + when 'not (../dot1ad)'; + type uint16 { + range "1..4094"; + } + } + leaf vlan-type { + description + "Vlan protocol type"; + when 'not (../dot1ad)'; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + case t1-to-2 { + container t1-to-2 { + description + "Translate 1-to-2"; + leaf dot1ad { + description + "Push dot1ad tag"; + type uint16 { + range "1..4094"; + } + } + leaf dot1q { + description + "Translate ethertype of dot1q"; + type uint16 { + range "1..4094"; + } + } + leaf vlan-type { + description + "Vlan protocol type"; + when 'not (../dot1ad)'; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + leaf second-dot1q { + description + "Second dot1q tag"; + when 'not (../dot1ad)'; + type uint16 { + range "1..4094"; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + case t2-to-1 { + container t2-to-1 { + description + "Translate 2-to-1"; + leaf dot1ad { + description + "Push dot1ad tag"; + type uint16 { + range "1..4094"; + } + } + leaf dot1q { + description + "Ethertype dot1q of the translation"; + when 'not (../dot1ad)'; + type uint16 { + range "1..4094"; + } + } + leaf vlan-type { + description + "Vlan protocol type"; + when 'not (../dot1ad)'; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + case t2-to-2 { + container t2-to-2 { + description + "Translate 2-to-2"; + leaf dot1ad { + description + "Push dot1ad tag"; + type uint16 { + range "1..4094"; + } + } + leaf dot1q { + description + "Translate ethertype of dot1q"; + type uint16 { + range "1..4094"; + } + } + leaf vlan-type { + description + "Vlan protocol type"; + when 'not (../dot1ad)'; + type enumeration { + enum 0x88A8; + enum 0x9100; + enum 0x9200; + } + } + leaf second-dot1q { + description + "Second dot1q tag"; + when 'not (../dot1ad)'; + type uint16 { + range "1..4094"; + } + } + leaf mode { + type enumeration { + enum symmetric; + } + } + } + } + } + } + } + } + } + container tag { + description + "Configure Rewrite Tag"; + status deprecated; + container pop { + description + "Pop the tag"; + status deprecated; + leaf way { + status deprecated; + type enumeration { + enum 1; + enum 2; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + container push { + description + "Rewrite Operation of push"; + status deprecated; + leaf dot1q { + description + "Push dot1q tag"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + container translate { + description + "Translate Tag"; + status deprecated; + container t1-to-1 { + description + "Translate 1-to-1"; + status deprecated; + leaf dot1q { + description + "Ethertype dot1q of the translation"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + container t1-to-2 { + description + "Translate 1-to-2"; + status deprecated; + leaf dot1q { + description + "Translate ethertype of dot1q"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf second-dot1q { + description + "Second dot1q tag"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + container t2-to-1 { + description + "Translate 2-to-1"; + status deprecated; + leaf dot1q { + description + "Ethertype dot1q of the translation"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + container t2-to-2 { + description + "Translate 2-to-2"; + status deprecated; + leaf dot1q { + description + "Translate ethertype of dot1q"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf second-dot1q { + description + "Second dot1q tag"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf mode { + status deprecated; + type enumeration { + enum symmetric; + } + } + } + } + } + } + } + leaf group { + type uint32; + } + container errdisable { + description + "Configure error disable"; + container recovery { + description + "enable auto recovery"; + container cause { + description + "error disable cause"; + leaf mac-security { + description + "mac-security violation"; + type uint32 { + range "30..86400"; + } + } + leaf l2proto-tunnel { + description + "l2 protocol-tunnel violation"; + type uint32 { + range "30..86400"; + } + } + leaf storm-control { + description + "storm-control violation"; + type uint32 { + range "30..86400"; + } + } + } + } + } + container ethernet-container { + container ethernet { + description + "ethernet"; + container lmi { + description + "Configure ether lmi parameters"; + container ce-vlan { + description + "Configure ether lmi customer vlans"; + container map { + description + "Configure ether lmi ce-vlan/evc map"; + choice map-choice { + leaf any { + description + "For all VLANS [1-4094,untagged]"; + type empty; + } + leaf default { + description + "Default EFP"; + type empty; + } + leaf untagged { + description + "Untagged frames"; + type empty; + } + leaf vlan-range { + type string { + pattern '(\d+(.*-.*\d+)?)(,.*\d+(.*-.*\d+)?)*(,.*untagged)?'; + } + } + } + } + } + } + container loopback { + description + "Ethernet Dataplane Loopback"; + container permit { + description + "Allow data plane loopback to be activated"; + leaf external { + description + "Allow to loopback the traffic from the wire"; + type empty; + } + leaf internal { + description + "Allow to loopback the traffic from the relay"; + type empty; + } + } + } + } + } + container snmp { + description + "Modify SNMP service instance parameters"; + container trap { + description + "Allow a specific SNMP trap"; + leaf link-status { + description + "Allow SNMP LINKUP and LINKDOWN traps"; + type empty; + } + } + container ifindex-persistence { + choice persistence { + default "clear"; + leaf persist { + type empty; + } + leaf clear { + type empty; + } + } + } + container ifindex { + status obsolete; + description + "Persist ifindex for the service instance (OBSOLETE) + Please use ifindex-persistence"; + leaf persist { + status obsolete; + description + "DEPRECATED: Enable/Disable ifIndex persistence(OBSOLETE) + Please use ifindex-persistence"; + type empty; + } + } + } + container bridge-domain { + description + "Bridge-domain"; + leaf bridge-id { + type uint16 { + range "0..16000"; + } + } + container split-horizon-presence { + presence "true"; + description + "Configure this port as a member of a split horizon group"; + leaf group { + description + "Split-horizon group"; + type uint8 { + range "0..13"; + } + default "0"; + } + } + container split-horizon { + status deprecated; + description + "Configure this port as a member of a split horizon group, deprecated and replaced by split-horizon-presence"; + leaf group { + status deprecated; + description + "Split-horizon group, deprecated and replaced by split-horizon-presence/group"; + type uint8 { + range "0..13"; + } + } + } + leaf from-encapsulation { + description + "from-encapsulation"; + type empty; + } + } + container mac { + description + "Commands for MAC Address-based features"; + container security { + description + "MAC Security commands"; + presence "true"; + container address { + description + "MAC Address"; + list deny { + description + "Specify an address that must not be learnt"; + key "mac"; + leaf mac { + description + "MAC address to deny"; + type ios-types:cisco-mac-address-type; + } + } + list permit { + description + "Specify an address to statically configure in the MAC table"; + key "mac"; + leaf mac { + description + "MAC address to permit"; + type ios-types:cisco-mac-address-type; + } + } + } + container aging { + description + "Specify aging controls for secured MAC addresses"; + leaf static { + description + "Apply aging controls to statically configured addresses also"; + type empty; + } + leaf sticky { + description + "Apply aging controls to persistent (\"sticky\") addresses also"; + type empty; + } + container time { + description + "Configure aging time"; + must '(duration) or (not(duration) and not(inactivity))'; + leaf duration { + description + "Duration (in minutes) after which secured MAC addresses will be aged out"; + type uint16 { + range "0..1440"; + } + } + leaf inactivity { + description + "Calculate address age from time of last frame (not first frame)"; + type empty; + } + } + } + container maximum { + description + "Configure an upper bound"; + leaf addresses { + description + "Maximum addresses that can be learnt on this service instance"; + type uint16 { + range "1..1000"; + } + } + } + leaf sticky { + description + "Make dynamically learnt MAC addresses persistent"; + type empty; + } + leaf violation { + description + "Configure the response when a MAC security policy is violated"; + type enumeration { + enum protect; + enum restrict; + } + } + } + list access-group { + description + "Specify access control for packets"; + key "acl-name"; + leaf acl-name { + description + "ACL name"; + type string; + } + leaf in { + description + "Apply to ingress"; + type empty; + } + leaf out { + description + "Apply to Egress"; + type empty; + } + } + } + container service-policy { + description + "Attach a policy-map to an EFP"; + list input { + description + "service policy input"; + key "name"; + leaf name { + type string; + } + } + list output { + description + "service policy output"; + key "name"; + leaf name { + type string; + } + } + } + leaf shutdown { + description + "Take the Service Instance out of Service"; + type empty; + } + container cfm { + description + "Ethernet CFM EFP subcommands"; + container encapsulation { + description + "Configure CFM ethernet frame encapsulation"; + container dot1ad { + description + "802.1ad - Provider Bridges"; + leaf vlan-id { + type uint16 { + range "1..4094"; + } + } + leaf cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + leaf dot1q { + description + "Second tag (dot1q)"; + type uint16 { + range "1..4094"; + } + } + container cos2 { + leaf cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + } + } + container dot1q { + description + "IEEE 802.1Q Virtual LAN or S-VLAN"; + leaf vlan-id { + type uint16 { + range "1..4094"; + } + } + leaf cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + leaf second-dot1q { + description + "inner 802.1Q Virtual LAN or C-VLAN"; + type uint16 { + range "1..4094"; + } + } + container cos2 { + leaf cos { + description + "CoS value to use for CFM packets"; + type uint8 { + range "0..7"; + } + } + } + } + } + container mep-list { + description + "Maintenance End Point"; + list domain { + description + "Domain list"; + key "name"; + leaf name { + description + "Configure a domain for this mep"; + type string; + } + leaf mpid { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + mandatory true; + } + leaf unicast { + description + "Unicast CCM enabler"; + type empty; + } + leaf mac-address { + description + "MAC Address"; + type ios-types:cisco-mac-address-type; + } + container alarm { + description + "CFM Alarm"; + leaf delay { + description + "msec (default 2500 msec)"; + type uint16 { + range "2500..10000"; + } + } + leaf notification { + description + "CFM alarm notification"; + type enumeration { + enum all; + enum error-xcon; + enum mac-remote-error-xcon; + enum none; + enum remote-error-xcon; + enum xcon; + } + default "none"; + } + leaf reset { + description + "msec (default 10000 msec)"; + type uint16 { + range "2500..10000"; + } + } + } + leaf cos { + description + "Specify Class of Service sent in CFM messages for EFP MEP"; + type uint16 { + range "1..7"; + } + } + container continuity-check { + description + "Configure Continuity Check for MA"; + container static { + description + "Verify MEP in received CCM is valid"; + leaf rmep { + description + "MEP defined using mep mpid"; + type empty; + } + } + } + container rmep { + description + "Static Remote MEP associated with this DOWN MEP"; + leaf mpid { + description + "Maintenance End Point Identifier"; + type uint16 { + range "1..8191"; + } + } + } + } + } + container mep { + description + "Maintenance End Point (OBSOLETE) + Please use mep-list"; + status obsolete; + leaf domain { + status obsolete; + description + "Configure a domain for this mep (OBSOLETE) + Please use domain node under mep-list"; + type string; + } + leaf mpid { + status obsolete; + description + "Maintenance End Point Identifier (OBSOLETE) + Please use mpid node under mep-list"; + type uint16 { + range "1..8191"; + } + } + container alarm { + status obsolete; + description + "CFM Alarm (OBSOLETE) + Please use alarm node under mep-list"; + uses config-ethernet-cfm-alarm-grouping-deprecated; + } + leaf cos { + status obsolete; + description + "Specify Class of Service sent in CFM messages for EFP MEP (OBSOLETE) + Please use cos node under mep-list"; + type uint16 { + range "1..7"; + } + } + container continuity-check { + status obsolete; + description + "Configure Continuity Check for MA (OBSOLETE) + Please use continuity-check node under mep-list"; + container static { + description + "Verify MEP in received CCM is valid (OBSOLETE) + Please use static node under continuity-check"; + leaf rmep { + status obsolete; + description + "MEP defined using mep mpid (OBSOLETE) + Please use nodes in mep-list"; + type empty; + } + } + } + container rmep { + status obsolete; + description + "Static Remote MEP associated with this DOWN MEP (OBSOLETE) + Please use nodes in mep-list"; + leaf mpid { + status obsolete; + description + "Maintenance End Point Identifier (OBSOLETE) + Please use nodes in mep-list"; + type uint16 { + range "1..8191"; + } + } + } + } + container mip { + description + "Maintenance Intermediate Point"; + leaf level { + description + "Maintenance Level"; + type uint8 { + range "0..7"; + } + } + } + container latching-loopback { + description + "Ethernet CFM Latching Loopback"; + if-feature "ios-features:ecfm-llb"; + leaf domain { + description + "Domain-name"; + type string; + } + leaf responder { + description + "Latching-loopback responder"; + type empty; + } + container controller { + description + "Latching-loopback controller"; + leaf discover-interval { + description + "Controller discover-interval"; + type uint8 { + range "1..10"; + } + default "2"; + } + } + } + } + container l2protocol { + description + "Configure l2 control protocol processing"; + container discard { + description + "discard L2 control protocol packets as data"; + presence "true"; + uses config-interface-efp-l2protocol-grouping; + } + container peer { + description + "peer L2 control protocol packets as data"; + presence "true"; + uses config-interface-efp-l2protocol-grouping; + } + container forward { + description + "forward L2 control protocol packets as data"; + presence "true"; + uses config-interface-efp-l2protocol-grouping; + } + container tunnel { + description + "tunnel L2 control protocol packets as data"; + presence "true"; + uses config-interface-efp-l2protocol-grouping; + } + } + container lldp { + leaf enable { + description + "Enable LLDP on service instance"; + type empty; + } + } + } + } + } + + grouping config-ethernet-cfm-efp-grouping { + list evc { + if-feature "ios-features:eth-evc"; + description + "define an Ethernet virtual connection (EVC)"; + key "name"; + leaf name { + type string { + length "1..100"; + } + } + container oam { + description + "OAM Protocol"; + container protocol { + description + "Protocol for EVC status reporting"; + choice protocol-type { + container cfm { + description + "Protocol CFM"; + leaf domain { + description + "domain name"; + type string; + } + } + leaf ldp { + description + "Protocol LDP"; + type empty; + } + } + } + } + container uni { + description + "Configure UNI Count for EVC"; + leaf count { + description + "UNI Count required, range 2 - 1024"; + type uint16 { + range "2..1024"; + } + default "2"; + } + } + } + container cfm { + description + "Connectivity Fault Management"; + container ais { + description + "AIS Maintenance Condition"; + container link-status { + description + "8023ah SMEP or link state up/down"; + container global { + description + "8023ah SMEP or link state state up/down AIS global configuration"; + presence "true"; + container cfm-Mode__config-ais-link-cfm { + leaf disable { + description + "Disable AIS transmission"; + type empty; + } + leaf level { + description + "Maintenance Level"; + type uint8 { + range "0..7"; + } + } + leaf ais-period { + description + "AIS Transmission period in seconds"; + type enumeration { + enum 1; + enum 60; + } + } + container period { + status obsolete; + description + "AIS Transmission period (OBSOLETE) + Please use ais-period"; + leaf tp-1 { + status obsolete; + description + "Seconds (OBSOLETE) + Please use ais-period"; + type empty; + } + leaf tp-60 { + status obsolete; + description + "Seconds (OBSOLETE) + Please use ais-period"; + type empty; + } + } + } + } + } + } + container alarm-config { + description + "CFM Alarm"; + leaf delay { + description + "msec (default 2500 msec)"; + type uint16 { + range "2500..10000"; + } + default "2500"; + } + leaf notification { + description + "CFM alarm notification"; + type enumeration { + enum all; + enum error-xcon; + enum mac-remote-error-xcon; + enum none; + enum remote-error-xcon; + enum xcon; + } + } + leaf reset { + description + "msec (default 10000 msec)"; + type uint16 { + range "2500..10000"; + } + default "10000"; + } + leaf packet { + description + "max DefError and DefXcon packets"; + type uint16 { + range "1..65535"; + } + } + } + container alarm { + status obsolete; + description + "CFM Alarm (OBSOLETE) + Please use alarm-config"; + uses config-ethernet-cfm-alarm-grouping-deprecated; + leaf packet { + status obsolete; + description + "max DefError and DefXcon packets (OBSOLETE) + Please use alarm-config/packet"; + type uint16 { + range "1..65535"; + } + } + } + leaf ieee { + description + "CFM IEEE enable"; + type empty; + } + leaf global { + description + "CFM global enable"; + type empty; + } + list domain { + description + "Configure a domain"; + key "name"; + leaf name { + description + "Domain Name"; + type string; + } + leaf level { + description + "Maintenance Level"; + type uint8 { + range "0..7"; + } + } + list service { + description + "Maintenance Association within Domain"; + key "name"; + leaf name { + type string; + } + uses config-ecfm-domain-service-grouping; + } + container service-vlan { + list service-vlan { + description + "Maintenance Association within Domain"; + key "id"; + leaf id { + type uint16 { + range "1..4094"; + } + } + leaf vlan-id { + description + "VLAN Identifier"; + type empty; + } + uses config-ecfm-domain-service-grouping; + } + } + container service-number { + list service-number { + description + "Maintenance Association within Domain"; + key "id"; + leaf id { + type uint16 { + range "0..65535"; + } + } + leaf number { + description + "number Identifier"; + type empty; + } + leaf port { + description + "DOWN service direction with no vlan association"; + type empty; + } + leaf evc { + if-feature "ios-features:eth-evc"; + description + "Specify EVC"; + type string; + } + leaf vlan { + description + "VLAN id"; + type uint16 { + range "1..4094"; + } + } + leaf direction { + description + "Service direction- Down: Towards the LAN"; + type enumeration { + enum down; + } + } + uses config-ecfm-domain-service-number-grouping; + } + } + container service-vpn { + list service-vpn { + description + "Maintenance Association within Domain"; + key "id"; + leaf id { + type uint16 { + range "1..32767"; + } + } + leaf vpn-id { + description + "VPN Identifier"; + type empty; + } + uses config-ecfm-domain-service-grouping; + } + } + container service-icc { + list service-icc { + description + "Maintenance Association within Domain"; + key "icc-code megid"; + leaf icc-code { + type string; + } + leaf megid { + type string; + } + leaf icc { + description + "VLAN Identifier"; + type empty; + } + uses config-ecfm-domain-service-grouping; + } + } + container mep { + description + "Maintenance End Point commands"; + leaf archive-hold-time { + description + "Time in minutes for entry to be retained"; + type uint16 { + range "1..65535"; + } + } + leaf ccm-fastage { + description + "Enable/Disable CCM learning database fast-age"; + type enumeration { + enum enable; + } + } + leaf ccm-hold-time { + description + "Time in hours for CCM entry to be retained"; + type uint16 { + range "1..48"; + } + default "24"; + units "hours"; + } + } + container id { + description + "Maintenance Domain Identifier"; + choice id-type { + leaf dns { + description + "DNS Name based string (max 43 chars)"; + type string; + } + leaf null { + description + "Null ID"; + type empty; + } + container mac-id { + description + "Mac Address based id"; + leaf mac-address { + description + "MAC Address"; + type ios-types:cisco-mac-address-type; + } + leaf id { + description + "Domain number"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container mip-config { + description + "MIP configuration for Domain"; + container auto-create { + description + "Enable auto MIP creation at Domain Level"; + presence "true"; + leaf lower-mep-only { + description + "Only for lower MEPs"; + type empty; + } + } + } + leaf mip { + description + "MIP configuration for Domain (OBSOLETE) + Please use mip-config container"; + status obsolete; + type enumeration { + enum auto-create; + } + } + leaf sender-id { + description + "Include Sender ID TLV"; + type enumeration { + enum chassis; + } + } + } + container logging { + description + "Enable CFM syslog messages"; + presence "true"; + leaf ais { + description + "AIS logging"; + type empty; + } + container alarm { + description + "Alarm logging"; + leaf cisco { + description + "Cisco MIB syslogs"; + type empty; + } + leaf ieee { + description + "IEEE MIB syslogs"; + type empty; + } + } + leaf lck { + description + "LCK logging"; + type empty; + } + } + container mep { + description + "Maintenance End Point"; + container crosscheck { + description + "Cross Check remote MEPs"; + leaf start-delay { + description + "seconds (30 seconds default)"; + type uint16 { + range "1..65535"; + } + } + } + } + container mip { + description + "CFM MIP commands"; + container auto-create { + description + "CFM MIP auto creation"; + container level-config { + description + "Maintenance Level"; + list mip-vlan { + key "vlan"; + leaf mef-num { + description + "maintenance level number"; + type uint8 { + range "0..7"; + } + } + leaf vlan { + description + "VLAN Id"; + type uint16 { + range "1..4094"; + } + } + leaf lower-mep-only { + description + "Create MIP only if MEP at next lower MD level"; + type empty; + } + leaf sender-id { + description + "Include Sender ID TLV"; + type enumeration { + enum chassis; + } + } + } + list mip-evc { + key "evc"; + leaf mef-num { + description + "maintenance level number"; + type uint8 { + range "0..7"; + } + } + leaf evc { + description + "EVC name"; + type string; + } + leaf lower-mep-only { + description + "Create MIP only if MEP at next lower MD level"; + type empty; + } + leaf sender-id { + description + "Include Sender ID TLV"; + type enumeration { + enum chassis; + } + } + } + } + container mip-level { + status deprecated; + description + "Maintenance Level"; + list mip-vlan { + status deprecated; + key "mef-num"; + leaf mef-num { + status deprecated; + description + "maintenance level number"; + type uint8 { + range "0..7"; + } + } + leaf-list vlan { + status deprecated; + description + "VLAN Id or List of VLAN IDs in the form a-b,c,d,e-f,g"; + type uint16 { + range "1..4094"; + } + min-elements 1; + } + } + list mip-evc { + status deprecated; + key "mef-num evc"; + leaf mef-num { + status deprecated; + description + "maintenance level number"; + type uint8 { + range "0..7"; + } + } + leaf evc { + status deprecated; + description + "EVC name"; + type string; + } + } + } + container level { + status obsolete; + description + "Maintenance Level (OBSOLETE) + Please use level-config container"; + list mef-num { + status obsolete; + key "mef-num"; + leaf mef-num { + status obsolete; + description + "maintenance level number (OBSOLETE) + Please use level-config container"; + type uint8 { + range "0..7"; + } + } + leaf evc { + status obsolete; + description + "EVC name (OBSOLETE) + Please use level-config/mip-evc node"; + type string; + } + leaf vlan { + status obsolete; + description + "VLAN id (OBSOLETE) + Please use level-config/mip-vlan node"; + type uint16 { + range "1..4094"; + } + } + } + } + } + leaf filter { + description + "CFM MIP filter"; + type empty; + } + } + container lck { + description + "LCK Maintenance Condition"; + container link-status { + description + "8023ah SMEP or link state up/down"; + container global { + description + "8023ah SMEP or link state state up/down AIS global configuration"; + presence "true"; + leaf disable { + description + "Disable LCK transmission"; + type empty; + } + leaf level { + description + "Maintenance Level to send LCK"; + type uint8 { + range "0..7"; + } + } + leaf period { + description + "LCK Transmission period"; + type enumeration { + enum 1; + enum 60; + } + } + } + } + } + container slm { + description + "Synthetic Loss Measurement"; + container max { + description + "Maximum SLM Responder session"; + leaf value { + description + "SLM Responder session"; + type uint16 { + range "100..32000"; + } + } + } + container timeout { + description + "Maximum session"; + leaf value { + description + "SLM Responder session idle timeout in minute"; + type uint16 { + range "5..2400"; + } + } + } + } + container traceroute { + description + "CFM Traceroute"; + container cache { + description + "CFM Traceroute Cache"; + presence "true"; + leaf hold-time { + description + "minutes (default 100)"; + type uint16 { + range "1..65535"; + } + } + leaf size { + description + "Number of cached lines (default 100)"; + type uint16 { + range "1..4095"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-deviation.yang new file mode 100644 index 000000000..86ce0388d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-deviation.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XE-ethernet-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ethernet-deviation"; + prefix ios-ethernet-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "Added Service-Engine shutdown deviation"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Added ethernet mtu deviation"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:interface/ios:Ethernet/ios:mtu" { + deviate replace { + type uint16 { + range "100..1800"; + } + } + } + + deviation "/ios:native/ios:interface/ios:Service-Engine/ios:shutdown" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-oam.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-oam.yang new file mode 100644 index 000000000..28bcd7c4b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-oam.yang @@ -0,0 +1,594 @@ +submodule Cisco-IOS-XE-ethernet-oam { + yang-version 1.1; + belongs-to Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + import cisco-semver { + prefix cisco-semver; + } + include Cisco-IOS-XE-ethernet-cfm-efp; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Yang model for the following sub modules, + * ethernet-oam + * ethernet-lmi + * ethernet-loopback + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Added New Group For Ethernet MAC config limiting"; + cisco-semver:module-version "2.1.0"; + } + revision 2024-03-01 { + description + "- Added status obsolete for container high and its nodes + under frame-period,frame,frame-seconds,receive-crc & symbol-period"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + " - Added mib log file size command + - Include cfm configurations under interface ethernet"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Added default values"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-05 { + description + "Initial revision"; + } + + grouping config-ethernet-oam-grouping { + container oam { + description + "Operations Administration and Maintenance"; + container mib { + description + "Ethernet OAM MIB commands"; + container log { + description + "Ethernet OAM MIB log table"; + leaf size { + description + "Log table size - Number of log entries"; + type uint8 { + range "0..200"; + } + default "50"; + } + } + } + } + } + + grouping config-interface-ethernet-oam-grouping { + container ethernet { + description + "Ethernet interface parameters"; + container oam { + description + "To enable Ethernet Link OAM"; + presence "true"; + container link-monitor { + description + "Ethernet OAM Link Monitor"; + container frame { + description + "Errored frames in a period measured by time"; + container threshold { + description + "Errored frame threshold"; + container high-frames { + choice high-value { + default "none"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf none { + type empty; + } + } + } + container high { + status obsolete; + description + "High Threshold(OBSOLETE) + Please use high-frames"; + leaf thresh { + status obsolete; + description + "Set the high errored frame threshold in number of frames(OBSOLETE) + please use high-frames/value"; + type uint16 { + range "1..65535"; + } + } + leaf none { + status obsolete; + description + "Disable high threshold(OBSOLETE) + please use high-frames/none "; + type empty; + } + } + leaf low { + description + "Set the low errored frame threshold in number of frames"; + type uint16 { + range "0..65535"; + } + default "1"; + } + } + leaf window { + description + "Set window size in multiple of 100 milliseconds (will be rounded off to second)"; + type uint16 { + range "10..600"; + } + default "10"; + } + } + container frame-period { + description + "Errored frames in a period measured by number of frames"; + container threshold { + description + "Errored frame-period threshold"; + container high-frames { + choice high-value { + default "none"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf none { + type empty; + } + } + } + container high { + status obsolete; + description + "High Threshold(OBSOLETE) + please use high-frames"; + leaf f-thresh { + status obsolete; + description + "Set the high errored frame-period threshold in number of frames(OBSOLETE) + please use high-frames/value"; + type uint16 { + range "1..65535"; + } + } + leaf none { + status obsolete; + description + "Disable high threshold(OBSOLETE) + please use high-frames/none"; + type empty; + } + } + leaf low { + description + "Set the low errored frame-period threshold in number of frames"; + type uint16 { + range "0..65535"; + } + default "1"; + } + } + leaf window { + description + "Set window size in number of 10000 frames"; + type uint16 { + range "1..65535"; + } + default "1000"; + } + } + container frame-seconds { + description + "Errored frame seconds in a period"; + container threshold { + description + "Errored frame-seconds threshold"; + container high-frames { + choice high-value { + default "none"; + leaf value { + type uint16 { + range "1..900"; + } + } + leaf none { + type empty; + } + } + } + container high { + status obsolete; + description + "High Threshold(OBSOLETE) + please use high-frames"; + leaf e-thresh { + status obsolete; + description + "Set the high errored frame-seconds threshold in number of frames(OBSOLETE) + please use high-frames/value"; + type uint16 { + range "1..900"; + } + } + leaf none { + status obsolete; + description + "Disable high threshold(OBSOLETE) + please use high-frames/none"; + type empty; + } + } + leaf low { + description + "Set the low errored frame-seconds threshold in number of seconds"; + type uint16 { + range "1..900"; + } + default "1"; + } + } + leaf window { + description + "Set window size in multiple of 100 milliseconds (will be rounded off to second)"; + type uint16 { + range "100..9000"; + } + default "100"; + } + } + container high-threshold { + description + "Additional high threshold configuration"; + container action { + description + "Specify an action when the high threshold is crossed"; + leaf error-disable-interface { + description + "Error-disable the interface"; + type empty; + } + } + } + leaf on { + description + "Enable link monitoring on the interface"; + type empty; + } + container receive-crc { + description + "Received frames with CRC errors in a period"; + container threshold { + description + "Errored frame-seconds threshold"; + container high-frames { + choice high-value { + default "none"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf none { + type empty; + } + } + } + container high { + description + "High Threshold(OBSOLETE) + please use high-frames"; + status obsolete; + leaf crc-thresh { + status obsolete; + description + "Set the high received crc error threshold in number of frames(OBSOLETE) + please use high-frames/value"; + type uint16 { + range "1..65535"; + } + } + leaf none { + status obsolete; + description + "Disable high threshold(OBSOLETE) + please use high-frames/none"; + type empty; + } + } + leaf low { + description + "Set the low received crc error threshold in number of frames"; + type uint16 { + range "0..65535"; + } + default "10"; + } + } + leaf window { + description + "Set window size in multiple of 100 milliseconds (will be rounded off to second)"; + type uint16 { + range "10..1800"; + } + default "10"; + } + } + leaf supported { + description + "Support link monitoring on the interface"; + type empty; + } + container symbol-period { + description + "Errored symbols in a period"; + container threshold { + description + "Error symbol-period threshold"; + container high-symbols { + choice high-value { + default "none"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf none { + type empty; + } + } + } + container high { + description + "High Threshold(OBSOLETE) + please use high-symbols"; + status obsolete; + leaf err-thresh { + status obsolete; + description + "Set the high error symbol-period threshold in number of symbols(OBSOLETE) + please use high-symbols/value"; + type uint16 { + range "1..65535"; + } + } + leaf none { + status obsolete; + description + "Disable high threshold(OBSOLETE) + please use high-symbols/none"; + type empty; + } + } + leaf low { + description + "Set the low error symbol-period threshold in number of symbols"; + type uint16 { + range "0..65535"; + } + default "1"; + } + } + leaf window { + description + "Set window size in number of 1048576 symbols"; + type uint16 { + range "1..65535"; + } + default "100"; + } + } + } + leaf max-rate { + type uint8 { + range "1..10"; + } + } + leaf min-rate { + type uint8 { + range "1..10"; + } + } + leaf mode { + type enumeration { + enum active; + enum passive; + } + } + container remote-failure { + description + "Ethernet OAM remote failure indication"; + container critical-event { + description + "Critical event"; + container action { + description + "Specify an action when a remote failure is detected"; + leaf error-disable-interface { + description + "Error-disable the interface"; + type empty; + } + } + } + container dying-gasp { + description + "Dying gasp"; + container action { + description + "Specify an action when a remote failure is detected"; + presence "true"; + leaf error-disable-interface { + description + "Error-disable the interface"; + type empty; + } + } + } + container link-fault { + description + "Link fault"; + container action { + description + "Specify an action when a remote failure is detected"; + presence "true"; + leaf error-disable-interface { + description + "Error-disable the interface"; + type empty; + } + } + } + } + container remote-loopback { + description + "Ethernet OAM Remote Loopback"; + leaf supported { + description + "Support remote loopback functionality"; + type empty; + } + leaf timeout { + description + "Set timeout value in number of seconds"; + type uint8 { + range "1..10"; + } + } + } + leaf timeout { + type uint8 { + range "2..30"; + } + } + } + container dot1ad { + description + "ethernet dot1ad port"; + choice dot1ad-choice { + leaf nni { + description + "dot1ad nni port"; + type empty; + } + container uni { + description + "dot1ad uni"; + choice uni-choice { + leaf c-port { + description + "dot1ad uni customer bridge port"; + type empty; + } + leaf s-port { + description + "dot1ad uni s bridge port"; + type empty; + } + } + } + } + } + container loopback { + description + "Ethernet Dataplane Loopback"; + container permit { + description + "Allow data plane loopback to be activated"; + leaf external { + description + "Allow to loopback the traffic from the wire"; + type empty; + } + leaf internal { + description + "Allow to loopback the traffic from the relay"; + type empty; + } + } + } + uses config-interface-ethernet-cfm-grouping; + } + } + + grouping config-ethernet-lmi-grouping { + container lmi { + description + "Local Management Interface"; + leaf ce { + description + "Ethernet LMI Customer Edge"; + type empty; + } + leaf global { + description + "Ethernet LMI is enabled on all supported Interfaces"; + type empty; + } + } + } + + grouping config-ethernet-mac-grouping { + description + "Mac Address based configurations"; + container mac { + description + "MAC Address-based features"; + container limit { + description + "Limit the MAC Addresses learnt in the table"; + container maximum { + description + "MAC addresses maximum configuration"; + leaf addresses { + description + "The maximum number of addresses that can be learned"; + type uint32 { + range "1..1048576"; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-rpc.yang new file mode 100644 index 000000000..7f0ad7342 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet-rpc.yang @@ -0,0 +1,235 @@ +module Cisco-IOS-XE-ethernet-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ethernet-rpc"; + prefix Cisco-IOS-XE-ethernet-rpc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Added Ethernet CFM(Connectivity fault management) maintenance association option"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef remote-loopback-actions { + type enumeration { + enum remote-loopback-start { + value 0; + description + "Start OAM remote-loopback"; + } + enum remote-loopback-stop { + value 1; + description + "Stop OAM remote-loopback"; + } + } + description + "Ethernet OAM remote-loopback start/stop action"; + } + + typedef latching-loopback-actions { + type enumeration { + enum latching-loopback-activate { + value 0; + description + "Activate ethernet latching-loopback"; + } + enum latching-loopback-deactivate { + value 1; + description + "Deactivate ethernet latching-loopback"; + } + } + description + "Ethernet latching-loopback activate/deactivate action"; + } + + typedef service-option { + type enumeration { + enum service-option-name { + value 0; + description + "Ethernet CFM(Connectivity fault management) maintenance + association name"; + } + enum service-option-number { + value 1; + description + "Ethernet CFM(Connectivity fault management) maintenance + association number"; + } + enum service-option-none { + value 2; + description + "To unset Ethernet CFM(Connectivity fault management) maintenance association option"; + } + } + description + "Ethernet CFM(Connectivity fault management) maintenance association option"; + } + + grouping remote-loopback { + description + "Ethernet OAM remote-loopback start/stop profile"; + leaf action { + type Cisco-IOS-XE-ethernet-rpc:remote-loopback-actions; + mandatory true; + description + "Start or stop action for remote-loopback"; + } + leaf interface { + type string { + length "1..99"; + pattern '[0-9a-zA-Z/\-_]*'; + } + mandatory true; + description + "Interface name to start/stop ethernet OAM remote-loopback"; + } + } + + grouping latching-loopback { + description + "Ethernet latching-loopback activate/deactivate profile"; + leaf action { + type Cisco-IOS-XE-ethernet-rpc:latching-loopback-actions; + mandatory true; + description + "Activate/deactivate action for ethernet latching-loopback"; + } + leaf domain { + type string { + length "1..64"; + pattern '[0-9a-zA-Z\-_]*'; + } + mandatory true; + description + "Ethernet CFM (Connectivity fault management) domain name"; + } + leaf id { + type uint16 { + range "1..8191"; + } + mandatory true; + description + "Local MEP(Maintenance End Point) id"; + } + leaf service { + type string { + length "1..64"; + pattern '[0-9a-zA-Z\-_\^]*'; + } + description + "Ethernet CFM(Connectivity fault management) maintenance + association name"; + } + leaf destination-mac { + type yang:mac-address; + mandatory true; + description + "MAC address of remote device"; + } + leaf timeout { + when "(../action = 'latching-loopback-activate')"; + type uint32 { + range "0..90000"; + } + units "seconds"; + default "300"; + description + "Timeout value of latching loopback in seconds. + 0 for permanent latching loopback session"; + } + choice svc-type-choice { + default "service-option-none"; + description + "Ethernet CFM(Connectivity fault management) maintenance association option"; + case service-option-name { + leaf svc-name { + type string { + length "1..64"; + pattern '[0-9a-zA-Z\-_\^]*'; + } + mandatory true; + description + "Ethernet CFM(Connectivity fault management) maintenance + association name"; + } + } + case service-option-number { + leaf svc-number { + type uint32 { + range "0..65535"; + } + mandatory true; + description + "Ethernet CFM(Connectivity fault management) maintenance + association number"; + } + } + case service-option-none { + leaf svc-none { + type boolean; + default "true"; + description + "No Ethernet CFM(Connectivity fault management) maintenance + association option selected if set to true"; + } + } + } + } + + rpc ethernet-oam { + description + "Start/Stop ethernet OAM remote-loopback on interface"; + input { + uses Cisco-IOS-XE-ethernet-rpc:remote-loopback; + } + } + + rpc eth-lat-loopback { + description + "Ethernet latching-loopback activate/deactivate"; + input { + uses Cisco-IOS-XE-ethernet-rpc:latching-loopback; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet.yang new file mode 100644 index 000000000..fd02ac45a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethernet.yang @@ -0,0 +1,1627 @@ +module Cisco-IOS-XE-ethernet { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ethernet"; + prefix ios-eth; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-pppoe { + prefix ios-pppoe; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + include Cisco-IOS-XE-ethernet-oam; + include Cisco-IOS-XE-ethernet-cfm-efp; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Ethernet Interfaces Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for L2 ethernet channel extended load balance + - Added support for L2 ethernet channel auto and load balance + - Added container fec check for 25000 Mbps interface fec configurations + - Increase max range of bandwidth container to accommodate 25000, + - 40000 and 100000 speed interfaces + - Added support for ethernet MAC address grouping + - Added default value for carrier-delay + - Added port-settings container for simultaneous speed, duplex, + and auto-negotiation configuration + - Added port-channel mc-lag CLI + - Updated channel-group configuration to support replace + - Obsolete nodes related to plim qos + - Added port-channel load-balance create after port-channel extended and vice-versa + - Added support to delete channel-group before switchport + - Added default value and tailf to truncate default value for LACP rate normal"; + cisco-semver:module-version "10.0.0"; + } + revision 2024-03-01 { + description + "- Added support for enum sdwan in load-balance-hash-algo + - Obsolete nodes related to synchronous mode"; + cisco-semver:module-version "9.0.0"; + } + revision 2023-11-01 { + description + "- Removing channel-group from unsupported interfaces"; + cisco-semver:module-version "8.0.0"; + } + revision 2023-07-01 { + description + "- Added support for macsec disable-sci/access-control"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-03-01 { + description + "- Update release version"; + cisco-semver:module-version "6.2.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "6.2.0"; + } + revision 2022-07-01 { + description + "- Added support for bpdu, cfm, stp, mrp in ethernet-cfm-efp + - Added IE protocol MRP support"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-11-01 { + description + "- channel-group CLI usage correction + - Replace queue with queue new under plim qos"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-07-01 { + description + "- Added cos container + - Added leaves primary and secondary to encapsulation dot1q chain + - under Port-channel sub-interfaces to support vlan load-balancing on + - routing platforms + - Added a 'tailf:cli-remove-before-change' to send no-CLI first and then with + updated value for 'channel-group mode' CLI"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Change range for leaf number of interface * channel-group"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Added leafs speed 25000, 40000 and 100000 + - Added must condition for channel-group"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "- Added internal loopback CLIs for an interface + - Added leafs speed 2500 and speed 5000"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "- Introduced channel-group delete after port-channel modify"; + cisco-semver:module-version "2.0.1"; + } + revision 2019-11-01 { + description + "- Added config under UCSE interface"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add BD-VIF interface + - Split the file into 2 submodules comprising + of components cfm/efp/lmi/loopback"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-14 { + description + "Added dhcp-border-relay option in Loopback interface"; + } + revision 2018-07-25 { + description + "Remove the must constraints for interface auto-negotiation and speed"; + } + revision 2018-07-18 { + description + "Validate interface auto-negotiation is not enabled when setting speed"; + } + revision 2018-04-17 { + description + "imported pppoe groupings"; + } + revision 2018-04-09 { + description + "Add dependency for bridge-domain"; + } + revision 2018-03-08 { + description + "allow speed change under interface"; + } + revision 2018-03-06 { + description + "add dependency between speed and duplex"; + } + revision 2018-02-22 { + description + "add encapsulation priority-tagged without parameter support"; + } + revision 2018-02-02 { + description + "Add model for port-channel mlacp"; + } + revision 2018-01-15 { + description + "Added dot1ad nni support "; + } + revision 2018-01-04 { + description + "Change ethernet lmi ce-vlan map vlan range"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-09-21 { + description + "Added interface macsec without option"; + } + revision 2017-09-20 { + description + "Added interface macsec"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-21 { + description + "Augment HundredGigE interface with ethernet grouping"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-10 { + description + "Add BDI interface"; + } + revision 2017-07-25 { + description + "Modification to fix model under service instance *"; + } + revision 2017-07-18 { + description + "Consolidate modeling for interface lacp"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-mrp-grouping { + container mrp { + description + "enable mrp for this interface"; + leaf ring { + description + "denotes ring number"; + type uint8 { + range "1..3"; + } + } + } + } + + grouping interface-ethernet-carrier-delay-grouping { + choice delay-choice { + leaf seconds { + description + "Carrier transitions delay in seconds"; + type uint8 { + range "0..60"; + } + default "2"; + } + leaf msec { + description + "delay specified in milliseconds"; + type uint16 { + range "0..1000"; + } + } + } + } + + grouping config-interface-ethernet-member-link-lacp-grouping { + container lacp { + description + "LACP interface subcommands"; + leaf port-priority { + description + "LACP priority on this interface "; + type uint32 { + range "0..65535"; + } + } + leaf rate { + description + "Rate at which the LACP packets are requested on ingress to this interface"; + type enumeration { + enum fast; + enum normal; + } + default "normal"; + } + } + } + + grouping config-interface-port-channel-lacp-grouping { + container lacp { + description + "LACP Port Channel interface subcommands"; + leaf failover { + description + "Link failover options"; + type enumeration { + enum brute-force; + enum non-revertive; + } + } + leaf fast-switchover { + description + "Enable LACP fast switchover on this port channel"; + type empty; + } + leaf max-bundle { + description + "LACP maximum number of ports to bundle in this port channel"; + type uint8 { + range "1..16"; + } + } + leaf min-bundle { + description + "LACP minimum number of ports to bundle in this port channel"; + type uint8 { + range "1..16"; + } + } + } + } + + grouping config-interface-port-channel-mlacp-grouping { + container mlacp { + description + "mLACP Port Channel interface subcommands"; + container interchassis { + description + "mLACP Interchassis commands"; + leaf group { + description + "Interchassis Group"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + + grouping config-interface-channel-group-obsolete-grouping { + container channel-group { + description + "OBSOLETE - Add this interface to an Etherchannel group"; + status obsolete; + leaf number { + status obsolete; + must '/ios:native/ios:interface/ios:Port-channel/ios:name = current()' { + error-message "Channel-group should be created after Port-channel and deleted before"; + } + type uint16 { + range "1..512"; + } + } + leaf mode { + description + "OBSOLETE - Etherchannel Mode of the interface"; + status obsolete; + when '(../number)'; + type enumeration { + enum active; + enum auto; + enum desirable; + enum on; + enum passive; + } + } + leaf non-silent { + description + "OBSOLETE - Start negotiation only after data packets received"; + status obsolete; + type empty; + } + leaf link { + description + "OBSOLETE - Assign a link identifier used for load-balancing"; + status obsolete; + type uint8 { + range "1..4"; + } + } + leaf auto { + description + "OBSOLETE - LACP auto"; + status obsolete; + type empty; + } + } + } + + grouping config-interface-channel-group-grouping { + container channel-group { + description + "Add this interface to an Etherchannel group"; + leaf number { + must '/ios:native/ios:interface/ios:Port-channel/ios:name = current()' { + error-message "Channel-group should be created after Port-channel and deleted before"; + } + type uint16 { + range "1..512"; + } + } + leaf mode { + description + "Etherchannel Mode of the interface"; + when '(../number)'; + type enumeration { + enum active; + enum auto; + enum desirable; + enum on; + enum passive; + } + } + leaf non-silent { + description + "Start negotiation only after data packets received"; + type empty; + } + leaf link { + description + "Assign a link identifier used for load-balancing"; + type uint8 { + range "1..4"; + } + } + leaf auto { + description + "LACP auto"; + type empty; + } + } + } + + grouping config-interface-ethernet-grouping { + container carrier-delay { + description + "Specify delay for interface transitions"; + uses interface-ethernet-carrier-delay-grouping; + container down { + description + "Carrier Down Transitions"; + uses interface-ethernet-carrier-delay-grouping; + } + container up { + description + "Carrier Up Transitions"; + uses interface-ethernet-carrier-delay-grouping; + } + } + leaf channel-protocol { + description + "Select the channel protocol (LACP, PAgP)"; + type enumeration { + enum lacp; + enum pagp; + } + } + container eapol { + description + "eapol"; + leaf announcement { + description + "EAPOL announcement"; + type empty; + } + container destination-address { + description + "Configure destination MAC address"; + choice address-option { + leaf mac-address { + description + "MAC address"; + type ios-types:cisco-mac-address-type; + } + leaf bridge-group-address { + description + "Configure bridge group address"; + type empty; + } + leaf broadcast-addr { + description + "Configure broadcast MAC address"; + type empty; + } + leaf lldp-multicast-address { + description + "Configure lldp multicast address"; + type empty; + } + } + leaf broadcast-address { + status deprecated; + description + "Deprecated, Use node broadcast-addr"; + type empty; + } + } + leaf eth-type { + description + "Ethernet Type for EAPOL Frame"; + type enumeration { + enum 876F; + } + } + } + container synchronous { + description + "Synchronous (OBSOLETE) + Please use config-interface-synchronous-grouping in synce yang model"; + status obsolete; + leaf mode { + description + "Mode (OBSOLETE) + Please use config-interface-synchronous-grouping in synce yang model"; + status obsolete; + type empty; + } + } + container port-settings { + description + "Speed operation, duplex operation, and auto-negotiation mode"; + if-feature "ios-features:port-settings"; + container speed { + description + "Non-custom speed operation or custom speed auto-negotiation advertisement"; + choice speed-choice { + leaf speed-value { + description + "Non-custom speed operation"; + type enumeration { + enum auto { + description + "Auto speed operation"; + } + enum auto-10-high-ipg { + description + "10 Mbps auto-negotiation advertisement with high interpacket gap"; + } + enum auto-100-high-ipg { + description + "100 Mbps auto-negotiation advertisement with high interpacket gap"; + } + enum auto-1000-high-ipg { + description + "1000 Mbps auto-negotiation advertisement with high interpacket gap"; + } + enum 10 { + description + "10 Mbps operation"; + } + enum 100 { + description + "100 Mbps operation"; + } + enum 1000 { + description + "1000 Mbps operation"; + } + enum 2500 { + description + "2500 Mbps operation"; + } + enum 5000 { + description + "5000 Mbps operation"; + } + enum 10000 { + description + "10000 Mbps operation"; + } + enum 25000 { + description + "25000 Mbps operation"; + } + enum 40000 { + description + "40000 Mbps operation"; + } + enum 50000 { + description + "50000 Mbps operation"; + } + enum 100000 { + description + "100000 Mbps operation"; + } + enum 10-high-ipg { + description + "10 Mbps operation with high interpacket gap"; + } + enum 100-high-ipg { + description + "100 Mbps operation with high interpacket gap"; + } + enum 1000-high-ipg { + description + "1000 Mbps operation with high interpacket gap"; + } + } + } + leaf-list auto-list { + description + "Custom speed auto-negotiation advertisement"; + type enumeration { + enum 10; + enum 100; + enum 1000; + enum 2500; + enum 5000; + enum 10000; + } + } + } + } + leaf duplex { + description + "Duplex operation"; + type enumeration { + enum auto; + enum full; + enum half; + } + } + leaf auto-negotiation { + description + "Auto-negotiation mode"; + type enumeration { + enum enable; + enum disable; + } + default "enable"; + } + } + container speed { + description + "Configure speed operation"; + choice speed-choice { + leaf auto { + description + "Enable AUTO speed configuration"; + type empty; + } + leaf value-10 { + description + "10 Mbps operation"; + type empty; + } + leaf value-100 { + description + "100 Mbps operation"; + type empty; + } + leaf value-1000 { + description + "1000 Mbps operation"; + type empty; + } + leaf value-2500 { + description + "2500 Mbps operation"; + type empty; + } + leaf value-5000 { + description + "5000 Mbps operation"; + type empty; + } + leaf value-10000 { + description + "10000 Mbps operation"; + type empty; + } + leaf value-25000 { + description + "25000 Mbps operation"; + type empty; + } + leaf value-40000 { + description + "40000 Mbps operation"; + type empty; + } + leaf value-100000 { + description + "100000 Mbps operation"; + type empty; + } + leaf nonegotiate { + type empty; + } + } + } + leaf duplex { + description + "Configure duplex operation."; + type enumeration { + enum auto; + enum full; + enum half; + } + } + container loopback { + description + "Configure internal loopback on an interface"; + choice loopback-mode { + case external { + leaf external { + description + "Loopback towards line at the transceiver level"; + type empty; + } + } + case mac { + leaf mac { + description + "Loopback towards system at the MAC controller level"; + type empty; + } + } + case phy { + container phy { + description + "Loopback at Phy level"; + choice phy-mode { + case external { + leaf external { + description + "Loopback towards line"; + type enumeration { + enum deep; + enum shallow; + } + } + } + case internal { + leaf internal { + description + "Loopback towards system"; + type enumeration { + enum deep; + enum shallow; + } + } + } + } + } + } + case xpt { + leaf xpt { + description + "Loopback at cross-point level"; + type enumeration { + enum External; + enum Internal; + } + } + } + } + } + container negotiation { + description + "Select autonegotiation mode"; + leaf auto { + description + "Enable link autonegotiation"; + type boolean; + } + } + container plim { + description + "Configure features on the PLIM"; + container ethernet { + description + "Configure features on the ethernet interface"; + container vlan { + description + "vlan specific features"; + container filter { + description + "Configure VLAN filtering"; + leaf disable { + description + "Configure the interface to accept all VLAN traffic"; + type empty; + } + } + } + } + container qos { + description + "QoS on the PLIM"; + container input { + description + "Configure PLIM QoS at the input of an interface"; + container queue_new { + description + "Queue number"; + container zero { + description + "Low priority queue"; + container pause { + description + "Pause Frame generation and threshold"; + leaf enable { + description + "Enable pause-frame generation"; + type boolean; + } + leaf threshold { + description + "Threshold as a percent of queue limit for pause frame generation"; + type uint8 { + range "0..99"; + } + } + } + } + container strict-priority { + description + "High priority queue"; + container pause { + description + "Pause Frame generation and threshold"; + leaf enable { + description + "Enable pause-frame generation"; + type boolean; + } + leaf threshold { + description + "Threshold as a percent of queue limit for pause frame generation"; + type uint8 { + range "0..99"; + } + } + } + } + } + container queue { + status obsolete; + description + "Queue number (OBSOLETE)"; + choice priority { + case low { + container zero { + status obsolete; + description + "Low priority queue (OBSOLETE)"; + container pause { + status obsolete; + description + "Pause Frame generation and threshold (OBSOLETE)"; + leaf enable { + status obsolete; + description + "Enable pause-frame generation (OBSOLETE)"; + type boolean; + } + leaf threshold { + status obsolete; + description + "Threshold as a percent of queue limit for pause frame generation (OBSOLETE)"; + type uint8 { + range "0..99"; + } + } + } + } + } + case high { + container strict-priority { + status obsolete; + description + "High priority queue (OBSOLETE)"; + container pause { + status obsolete; + description + "Pause Frame generation and threshold (OBSOLETE)"; + leaf enable { + status obsolete; + description + "Enable pause-frame generation (OBSOLETE)"; + type boolean; + } + leaf threshold { + status obsolete; + description + "Threshold as a percent of queue limit for pause frame generation (OBSOLETE)"; + type uint8 { + range "0..99"; + } + } + } + } + } + } + } + container map { + container cos { + description + "VLAN COS mapping"; + leaf enable { + description + "Enable VLAN cos mapping"; + type empty; + } + container cos-range { + description + "Specify a range of cos values to classify in the format of 'X - X'"; + leaf start-range-val { + description + "The starting cos value of the range"; + type ios-types:cos-type; + } + leaf range-val { + description + "Used to indicate a range should be specified"; + type enumeration { + enum -; + } + } + leaf end-range-val { + description + "The ending cos value of the range"; + type ios-types:cos-type; + } + leaf queue { + description + "Queue to map the entered COS values to"; + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + container cos-list { + description + "Specify a list of cos values to classify"; + leaf cos-value1 { + description + "First cos value in the list, must be specified"; + type ios-types:cos-type; + } + leaf cos-value2 { + description + "Second cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value3 { + description + "Third cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value4 { + description + "Fourth cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value5 { + description + "Fifth cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value6 { + description + "Sixth cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value7 { + description + "Seventh cos value in the list, optional"; + type ios-types:cos-type; + } + leaf cos-value8 { + description + "Eighth cos value in the list, optional"; + type ios-types:cos-type; + } + leaf queue { + description + "Queue to map the entered COS values to"; + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + } + description + "ip mapping"; + container ip { + container all { + leaf queue { + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + leaf dscp-based { + type empty; + } + container dscp { + choice dscp-value { + case value-case { + leaf dscp-value1 { + type ios-types:dscp-type; + } + leaf dscp-value2 { + type ios-types:dscp-type; + } + leaf dscp-value3 { + type ios-types:dscp-type; + } + leaf dscp-value4 { + type ios-types:dscp-type; + } + leaf dscp-value5 { + type ios-types:dscp-type; + } + leaf dscp-value6 { + type ios-types:dscp-type; + } + leaf dscp-value7 { + type ios-types:dscp-type; + } + leaf dscp-value8 { + type ios-types:dscp-type; + } + } + } + leaf queue { + type enumeration { + enum low-latency; + enum strict-priority; + enum 0; + } + } + } + leaf precedence-based { + type empty; + } + container precedence { + choice precedence-value { + case precedence-value { + leaf precedence-value1 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value2 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value3 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value4 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value5 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value6 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value7 { + type uint8 { + range "0..7"; + } + } + leaf precedence-value8 { + type uint8 { + range "0..7"; + } + } + } + } + leaf queue { + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + } + container ipv6 { + container all { + leaf queue { + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + } + container ipv4v6 { + leaf qos-value-based { + type empty; + } + container qos-value { + choice qos-value { + case value-case { + leaf dscp-value1 { + type ios-types:dscp-type; + } + leaf dscp-value2 { + type ios-types:dscp-type; + } + leaf dscp-value3 { + type ios-types:dscp-type; + } + leaf dscp-value4 { + type ios-types:dscp-type; + } + leaf dscp-value5 { + type ios-types:dscp-type; + } + leaf dscp-value6 { + type ios-types:dscp-type; + } + leaf dscp-value7 { + type ios-types:dscp-type; + } + leaf dscp-value8 { + type ios-types:dscp-type; + } + } + } + leaf queue { + type enumeration { + enum low-latency; + enum strict-priority; + enum 0; + } + } + } + } + container mpls { + container all { + leaf queue { + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + container exp { + choice exp-value { + case exp-case { + leaf exp { + type ios-types:exp-type; + } + } + } + leaf queue { + type enumeration { + enum 0; + enum low-priority; + enum strict-priority; + } + } + } + } + } + container policer { + container bandwidth { + leaf bandwidth-value { + type uint32 { + range "150000..100000000"; + } + } + leaf strict-priority { + type empty; + } + } + } + leaf weight { + type uint16 { + range "40..10000"; + } + } + } + } + } + uses ios-pppoe:config-pppoe-grouping; + uses ios-pppoe:config-pppoe-client-grouping; + uses ios-pppoe:config-pppoe-session-grouping; + } + + grouping config-port-channel-grouping { + leaf auto { + description + "LACP auto for the system"; + type empty; + } + container load-balance-hash-algo { + description + "Load Balance hash algorithms"; + leaf load-balance-hash-algo { + default "src-dst-ip"; + type enumeration { + enum dst-ip; + enum dst-mac; + enum src-dst-ip; + enum src-dst-mac; + enum src-dst-mixed-ip-port; + enum src-ip; + enum src-mac; + enum sdwan; + } + } + if-feature "ios-features:router-poch-lb"; + } + container load-balance { + description + "Load Balancing method"; + leaf load-balance { + type enumeration { + enum dst-ip; + enum dst-mac; + enum dst-mixed-ip-port; + enum dst-port; + enum mpls; + enum src-dst-ip; + enum src-dst-mac; + enum src-dst-mixed-ip-port; + enum src-dst-port; + enum src-ip; + enum src-mac; + enum src-mixed-ip-port; + enum src-port; + enum vlan-dst-ip; + enum vlan-dst-mixed-ip-port; + enum vlan-src-dst-ip; + enum vlan-src-dst-mixed-ip-port; + enum vlan-src-ip; + enum vlan-src-mixed-ip-port; + } + } + container extended { + description + "Extended Load Balance Methods"; + presence "true"; + leaf-list extended { + type enumeration { + enum dst-ip; + enum dst-mac; + enum dst-port; + enum ipv6-label; + enum l3-proto; + enum src-ip; + enum src-mac; + enum src-port; + } + } + } + } + leaf mc-lag { + description + "Enable feature MC-LAG for L3VPN static routes"; + type empty; + } + container load-balancing { + description + "Load Balance method"; + leaf vlan-manual { + description + "Manual Traffic Distribution based on VLAN id"; + type empty; + } + } + container swport { + description + "Switch module EtherChannel configuration"; + leaf auto { + description + "Auto-create LACP EtherChannel"; + type empty; + } + container load-balance { + description + "Method to balance traffic across members in EtherChannel"; + choice load-balance-choice { + leaf load-balance { + type enumeration { + enum dst-ip; + enum dst-mac; + enum dst-mixed-ip-port; + enum dst-port; + enum src-dst-ip; + enum src-dst-mac; + enum src-dst-mixed-ip-port; + enum src-dst-port; + enum src-ip; + enum src-mac; + enum src-mixed-ip-port; + enum src-port; + } + default "src-mac"; + } + leaf-list extended { + type enumeration { + enum dst-ip; + enum dst-mac; + enum dst-port; + enum ipv6-label; + enum l3-proto; + enum src-ip; + enum src-mac; + enum src-port; + } + } + } + } + if-feature "ios-features:routing-platform"; + } + } + + grouping config-interface-macsec-grouping { + leaf macsec { + status obsolete; + description + "Enable macsec on the interface"; + type boolean; + default "false"; + } + container macsec-option { + description + "Enable macsec on the interface"; + container macsec { + leaf dot1q-in-clear { + description + "Dot1q in Clear option"; + type enumeration { + enum 1; + } + } + container replay-protection { + status obsolete; + description + "Set replay-protection"; + leaf window-size { + status obsolete; + description + "Set replay window-size"; + type uint32; + } + } + leaf access-control { + status obsolete; + description + "Access Control Policy"; + type enumeration { + enum must-secure; + enum should-secure; + } + } + leaf disable-sci-v2 { + description + "Disable SCI filed in MACsec header"; + type empty; + } + leaf disable-sci { + status obsolete; + description + "Disable SCI filed in MACsec header"; + type boolean; + default "false"; + } + } + } + } + + grouping config-interface-Loopback-dbr-grouping { + leaf dhcp-border-relay { + description + "Config dhcp-border-relay on an interface"; + type empty; + } + } + + grouping config-esmc-grouping { + container esmc { + description + "Ethernet Synchronization Messaging Channel (OBSOLETE) + Please use config-esmc-grouping defined in synce yang model"; + status obsolete; + leaf process { + description + "process"; + status obsolete; + type empty; + } + } + } + + augment "/ios:native" { + uses config-esmc-grouping { + if-feature "ios-features:esmc"; + } + } + + augment "/ios:native/ios:ethernet" { + uses config-ethernet-lmi-grouping; + uses config-ethernet-cfm-efp-grouping; + uses config-ethernet-oam-grouping; + uses config-ethernet-mac-grouping; + } + + augment "/ios:native/ios:port-channel" { + uses config-port-channel-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-ethernet-oam-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + uses config-interface-mrp-grouping { + if-feature "ios-features:mrp"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + container fec_check { + description + "validation check for FEC configuration on TwentyFiveGigE interface, only 25000 Mbps speed is allowed."; + must "(not(../ios:fec and ../ios:fec != \"auto\" and ( ../speed/value-10 or ../speed/value-100 or + ../speed/value-1000 or ../speed/value-2500 or ../speed/value-5000 or + ../speed/value-10000 or ../speed/value-40000 or ../speed/value-100000)))" { + error-message "FEC is not allowed on non-25Gbps speed, please switch to speed 25Gbps or remove FEC configuration."; + } + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-macsec-grouping { + if-feature "ios-features:macsec"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-port-channel-lacp-grouping; + uses config-interface-port-channel-mlacp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + uses config-interface-ethernet-member-link-lacp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-oam-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-Loopback-dbr-grouping { + if-feature "ios-features:dhcp-border-relay"; + } + } + + augment "/ios:native/ios:interface/ios:BD-VIF" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-ethernet-grouping; + uses config-interface-channel-group-obsolete-grouping; + uses config-interface-ethernet-cfm-efp-grouping; + } + + grouping config-encapsulation-dot1q-grouping { + leaf primary { + type string; + } + leaf secondary { + when '(../primary)'; + type string; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:encapsulation/ios:encap-choice/ios:dot1Q/ios:dot1Q" { + uses config-encapsulation-dot1q-grouping { + if-feature "ios-features:router-poch-lb"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ethinternal-subslot.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethinternal-subslot.yang new file mode 100644 index 000000000..c6ad3ba4d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ethinternal-subslot.yang @@ -0,0 +1,72 @@ +module Cisco-IOS-XE-ethinternal-subslot { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ethinternal-subslot"; + prefix ios-ethinternal-subslot; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Synchronous Ethernet Yang Model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-11-01 { + description + "Initial revision"; + } + + grouping config-ethinternal-subslot-svi-grouping { + description + "SM-X module configuration"; + container ethernet-internal { + list subslot { + description + "Subslot information"; + key "subslot-number"; + leaf subslot-number { + type string { + pattern '[1-2/0]*'; + } + } + container platform { + leaf switchport { + description + "Select ethernet internal interface work mode"; + type enumeration { + enum svi { + description + "The ethernet internal interface with SVI interface"; + } + enum bdi { + description + "The ethernet internal interface with BDI interface"; + } + } + } + } + } + } + } + + augment "/ios:native" { + uses config-ethinternal-subslot-svi-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-event-history-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-event-history-types.yang new file mode 100644 index 000000000..16218804e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-event-history-types.yang @@ -0,0 +1,143 @@ +module Cisco-IOS-XE-event-history-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-event-history-types"; + prefix event-history-types; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for event history data types. + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-11-30 { + description + "- Cleaned up spelling errors in descriptions. + - Introduced event dynamic counters"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-03-20 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping event-history-item { + description + "Entry of the event history that we want to store in + order to analyze the current state of the system"; + leaf event { + type uint32; + description + "event"; + } + leaf state { + type uint32; + description + "state"; + } + leaf context { + type uint32; + description + "Additional context value that may be occasionally + used"; + } + leaf context-str { + type string; + description + "Additional free-form context"; + } + leaf current-rc { + type uint32; + description + "Return code of the last operation to store"; + } + leaf count { + type uint32; + description + "Counter of number of occurrences of this event"; + } + leaf sticky { + type boolean; + description + "Represent whether the event is sticky or not"; + } + leaf timestamp { + type yang:date-and-time; + description + "Timestamp when the event is recorded"; + } + } + + grouping event-history { + description + "Data structure containing all the state that needs to + be stored for the object in use"; + list event-history { + description + "Event history"; + uses event-history-types:event-history-item; + } + } + + grouping dynamic-counter-item { + description + "Entry of the dynamic counter array"; + leaf value { + type uint64; + description + "counter value"; + } + leaf description { + type string; + description + "Human readable description"; + } + } + + grouping dynamic-counter { + description + "Dynamic array of counters"; + list counters { + description + "Counter array"; + uses event-history-types:dynamic-counter-item; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ezpm.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ezpm.yang new file mode 100644 index 000000000..a3bb23f17 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ezpm.yang @@ -0,0 +1,1156 @@ +module Cisco-IOS-XE-ezpm { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ezpm"; + prefix ios-ezpm; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Easy Performance Monitor (ezPM) Yang model. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add SUL and flow-level FNF profiles for ezPM context"; + cisco-semver:module-version "6.1.0"; + } + revision 2024-03-01 { + description + "- Changed deprecated models to obsolete"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-11-01 { + description + "- Add application-aggregation and app-visibility profiles for ezPM context + - Add local-controller as export destination option + - Add support for Port-channel sub-interface"; + cisco-semver:module-version "5.1.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added new traffic-monitors, time based sampler, per VPN metric + and attach points to apply context"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-07-01 { + description + "- Added spread-opt-tables option for ezPM context exporters"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-03-01 { + description + "- Add local-file and local-wlc as export destination options"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "- Add sdwan-fnf profile for ezPM context"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- Update constraint for container application-response-time and container media + - Change mode valid only when profile is 'application-performance'"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Add sdwan-performance profile for ezPM context"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added mode for ezPM context"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Added new assurance monitor config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-14 { + description + "This revision has below changes + - Under exporter added dscp option + - Added performance monitor profile + - Added support for missing interfaces"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-12 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef color-enum { + type enumeration { + enum default { + value 1; + } + enum mpls; + enum metro-ethernet; + enum biz-internet; + enum public-internet; + enum lte; + enum 3g; + enum red; + enum green; + enum blue; + enum gold; + enum silver; + enum bronze; + enum custom1; + enum custom2; + enum custom3; + enum private1; + enum private2; + enum private3; + enum private4; + enum private5; + enum private6; + } + } + + typedef ezpm-exp-des-type { + type union { + type inet:ip-address; + type enumeration { + enum local-sdwan; + enum local-file; + enum local-wlc; + enum local-controller; + } + } + } + + grouping pm-context-traffic-monitor-app-traffic-stats-grouping { + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf class-replace { + description + "Replace traffic classification"; + type string; + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + } + } + + grouping pm-context-traffic-monitor-ip-grouping { + leaf ipv4 { + description + "Activate monitor for ipv4 traffic"; + type empty; + } + leaf ipv6 { + description + "Activate monitor for ipv6 traffic"; + type empty; + } + } + + grouping pm-context-monitor-config-grouping { + description + "Traffic monitor cache and sampler parameters"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + units "second"; + } + leaf sampling-rate { + description + "Sampling rate of flow sampler, one of every sampling-rate connections or packets are sampled"; + type uint32 { + range "1..32768"; + } + } + } + + grouping performance-monitor-context-grouping { + list exporter-config { + description + "Create exporter"; + key "destination source"; + leaf destination { + description + "Export destination configuration"; + type ezpm-exp-des-type; + } + leaf source { + description + "Originating interface"; + type string; + } + leaf dscp { + description + "Optional DSCP value"; + type uint8 { + range "1..63"; + } + } + leaf port { + description + "Optional port value"; + type uint16; + } + leaf transport { + description + "UDP transport protocol"; + type enumeration { + enum udp; + } + } + leaf vrf { + description + "VRF label"; + type string; + } + leaf spread-opt-tables { + description + "Enable export spread for optional tables"; + type empty; + } + } + container exporter { + status obsolete; + description + "Create exporter"; + leaf destination { + status obsolete; + description + "Export destination configuration"; + type inet:ip-address; + } + leaf source { + status obsolete; + description + "Originating interface"; + type string; + } + leaf dscp { + status obsolete; + description + "optional dscp value"; + type uint8 { + range "1..255"; + } + } + leaf port { + status obsolete; + description + "port"; + type uint16; + } + leaf transport { + status obsolete; + description + "transport"; + type enumeration { + enum udp; + } + } + leaf vrf { + status obsolete; + description + "vrf"; + type string; + } + } + container traffic-monitor { + description + "Select traffic monitor"; + container all { + description + "All traffic monitors in this profile"; + when "../../profile = 'application-experience' or ../../profile = 'application-performance' or ../../profile = 'application-assurance'"; + presence "true"; + leaf ipv4 { + description + "Activate monitor for ipv4 traffic"; + type empty; + } + leaf ipv6 { + description + "Activate monitor for ipv6 traffic"; + type empty; + } + } + container assurance-rtp-monitor { + description + "Per application rtp assurance metrics"; + when "../../profile = 'application-assurance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container assurance-monitor { + description + "Per application assurance metrics"; + when "../../profile = 'application-assurance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-response-time { + description + "Application response time (ART) metrics and counters for TCP traffic"; + when "../../profile = 'application-experience' or ../../profile = 'application-performance' or ../../profile = 'sdwan-performance'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container art-cor-saas { + description + "Application response time Cloud On Ramp SAAS (ART-COR-SAAS) metrics and counters for TCP traffic"; + when "../../profile = 'sdwan-performance'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container art-aggregated { + description + "Application response time aggregated metrics and counters for TCP traffic"; + when "../../profile = 'sdwan-performance' or ../../profile = 'application-aggregation'"; + presence "true"; + must 'not((../application-response-time) or (../art-cor-saas))' { + error-message "art-aggregated and other art monitors cannot be configured at the same time"; + } + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf sampling-interval { + description + "Time-based sampling interval"; + type uint32 { + range "10..32768"; + } + units "milliseconds"; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-traffic-stats { + description + "Application level counters for dns and dht protocol"; + when "../../profile = 'application-experience'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + } + container conversation-traffic-stats { + description + "Conversation level counters for IP traffic"; + when "../../profile = 'application-experience'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container media { + description + "Media metrics and counters for rtp and telepresence-media traffic"; + when "../../profile = 'application-experience' or ../../profile = 'application-performance' or ../../profile = 'sdwan-performance'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf egress { + description + "Activate monitor on egress direction"; + type empty; + } + leaf ingress { + description + "Activate monitor on ingress direction"; + type empty; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container media-aggregated { + description + "Media aggregated metrics and counters for rtp and telepresence-media traffic"; + when "../../profile = 'sdwan-performance'"; + presence "true"; + must 'not(../media)' { + error-message "media-aggregated and other media monitors cannot be configured at the same time"; + } + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf egress { + description + "Activate monitor on egress direction"; + type empty; + } + leaf ingress { + description + "Activate monitor on ingress direction"; + type empty; + } + leaf sampling-interval { + description + "Time-based sampling interval"; + type uint32 { + range "10..32768"; + } + units "milliseconds"; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container url { + description + "URL information, application response time (ART) metrics and counters"; + when "../../profile = 'application-experience' or ../../profile = 'application-performance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf class-replace { + description + "Replace traffic classification"; + type string; + } + uses pm-context-traffic-monitor-ip-grouping; + leaf sampling-rate { + description + "Sampling rate of flow sampler"; + type uint32 { + range "1..32768"; + } + } + } + container application-client-server-stats { + description + "Per interface, client, server and application statistics"; + presence "true"; + when "../../profile = 'application-performance' or ../../profile = 'application-statistics'"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-stats { + description + "Per application and interface statistics"; + presence "true"; + when "../../profile = 'application-performance' or ../../profile = 'application-statistics'"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + } + container sdwan-fnf-vpn0-stats { + description + "SDWAN VPN interface statistics"; + presence "true"; + when "../../profile = 'sdwan-fnf'"; + uses pm-context-monitor-config-grouping; + uses pm-context-traffic-monitor-ip-grouping; + } + container app-visibility-stats { + description + "Application visibility statistics"; + presence "true"; + when "../../profile = 'app-visibility'"; + uses pm-context-monitor-config-grouping; + uses pm-context-traffic-monitor-ip-grouping; + } + container flow-level-visibility-stats { + description + "FNF flow level visibility statistics"; + presence "true"; + when "../../profile = 'flow-level-visibility'"; + uses pm-context-monitor-config-grouping; + uses pm-context-traffic-monitor-ip-grouping; + } + container sul-fnf-config { + description + "Security Unified Logging fnf configurations"; + presence "true"; + when "../../profile = 'security-unified-logging'"; + uses pm-context-monitor-config-grouping; + uses pm-context-traffic-monitor-ip-grouping; + } + } + } + + grouping performance-monitor-context-default-grouping { + container exporter { + description + "Create exporter"; + leaf destination { + description + "Export destination configuration"; + type inet:ip-address; + } + leaf source { + description + "Originating interface"; + type string; + } + leaf port { + description + "port"; + type uint16; + } + leaf transport { + description + "transport"; + type enumeration { + enum udp; + } + } + leaf vrf { + description + "vrf"; + type string; + } + } + container traffic-monitor { + description + "Select traffic monitor"; + container all { + description + "All traffic monitors in this profile"; + when "../../../profile = 'application-experience' or ../../../profile = 'application-performance' or ../../../profile = 'application-assurance' or ../../../profile = 'sdwan-performance'"; + presence "true"; + leaf ipv4 { + description + "Activate monitor for ipv4 traffic"; + type empty; + } + leaf ipv6 { + description + "Activate monitor for ipv6 traffic"; + type empty; + } + } + container assurance-rtp-monitor { + description + "Per application rtp assurance metrics"; + when "../../../profile = 'application-assurance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container assurance-monitor { + description + "Per application assurance metrics"; + when "../../../profile = 'application-assurance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf interval-timeout { + description + "The exporting interval timeout"; + type uint32 { + range "1..604800"; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-response-time { + description + "Application response time (ART) metrics and counters for TCP traffic"; + when "../../../profile = 'application-experience' or ../../../profile = 'application-performance'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-traffic-stats { + description + "Application level counters for dns and dht protocol"; + when "../../../profile = 'application-experience'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + } + container conversation-traffic-stats { + description + "Conversation level counters for IP traffic"; + when "../../../profile = 'application-experience'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container media { + description + "Media metrics and counters for rtp and telepresence-media traffic"; + when "../../../profile = 'application-experience' or ../../../profile = 'application-performance'"; + presence "true"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf egress { + description + "Activate monitor on egress direction"; + type empty; + } + leaf ingress { + description + "Activate monitor on ingress direction"; + type empty; + } + uses pm-context-traffic-monitor-ip-grouping; + } + container url { + description + "URL information, application response time (ART) metrics and counters"; + when "../../../profile = 'application-experience' or ../../../profile = 'application-performance'"; + presence "true"; + leaf cache-size { + description + "Maximum flow entries in the Flow Cache"; + type uint32 { + range "64..2000000"; + } + } + leaf class-and { + description + "Narrow down default traffic classification"; + type string; + } + leaf class-replace { + description + "Replace traffic classification"; + type string; + } + uses pm-context-traffic-monitor-ip-grouping; + leaf sampling-rate { + description + "Sampling rate of flow sampler"; + type uint32 { + range "1..32768"; + } + } + } + container application-client-server-stats { + description + "Per interface, client, server and application statistics"; + presence "true"; + when "../../../profile = 'application-performance' or ../../../profile = 'application-statistics'"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + leaf cache-type { + description + "The type of the Flow Cache"; + type enumeration { + enum normal; + enum synchronized; + } + } + uses pm-context-traffic-monitor-ip-grouping; + } + container application-stats { + description + "Per application and interface statistics"; + presence "true"; + when "../../../profile = 'application-performance' or ../../../profile = 'application-statistics'"; + uses pm-context-traffic-monitor-app-traffic-stats-grouping; + } + } + } + + grouping config-ezpm-grouping { + container monitor { + description + "monitor"; + list apply { + description + "Apply ezPM context"; + key "name"; + leaf name { + type leafref { + path "../../context/name"; + } + } + leaf sdwan-tunnel { + description + "sdwan tunnel interfaces"; + type empty; + } + leaf color-all-dia { + description + "sdwan all dia colors"; + type empty; + } + leaf-list color-list { + description + "sdwan color list"; + must 'not(../color-all-dia)' { + error-message "ezPM context cannot be applied to color-all-dia and color-list at the same time"; + } + type color-enum; + } + leaf sdwan-sig { + description + "sdwan sig interfaces"; + type empty; + } + } + leaf sampling-rate { + description + "Enable performance monitor global sampling mode"; + type uint32 { + range "2..32768"; + } + } + leaf per-vpn-metric { + description + "Enable per VPN metric for aggregated monitors"; + type boolean; + default "false"; + } + list context { + description + "Define ezPM context"; + key "name"; + leaf name { + type string; + } + leaf profile { + description + "Select ezPM profile"; + type enumeration { + enum application-assurance; + enum application-experience; + enum application-performance; + enum application-statistics; + enum sdwan-performance; + enum sdwan-fnf; + enum application-aggregation; + enum app-visibility; + enum flow-level-visibility; + enum security-unified-logging; + } + } + container default { + description + "Set a command to its defaults"; + leaf description { + description + "Provide a description for ezPM context"; + type empty; + } + uses performance-monitor-context-default-grouping; + } + leaf description { + description + "Provide a description for ezPM context"; + type string; + } + container mode { + description + "Set mode for ezPM context"; + when "../profile = 'application-performance'"; + leaf optimized { + description + "Set ezPM context to be optimized mode"; + type boolean; + default "true"; + } + } + uses performance-monitor-context-grouping; + } + container observation-point { + description + "Select observation point"; + leaf encrypted-text { + description + "Select clear text for observation"; + type empty; + } + } + container profile { + description + "Load ezPM profile"; + leaf load { + description + "Load ezPM XML profile from devices"; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + leaf force { + description + "Force"; + type empty; + } + } + } + } + + grouping config-interface-ezpm-grouping { + container performance { + description + "Global performance monitor configuration"; + container monitor { + description + "monitor"; + list context-config { + description + "Select ezPM context"; + key "name"; + leaf name { + must "not ((local-name(../../../..) = 'Tunnel') and /ios:native/ios:performance/monitor/apply[name=current()]/sdwan-tunnel)" { + error-message "ezPM context cannot be applied to sdwan-tunnel and individual tunnel interface at the same time"; + } + must "not ((local-name(../../../..) = 'Tunnel') and /ios:native/ios:performance/monitor/apply[name=current()]/sdwan-sig)" { + error-message "ezPM context cannot be applied to sdwan-sig and individual tunnel interface at the same time"; + } + must "not (not(local-name(../../../..) = 'Tunnel') and /ios:native/ios:performance/monitor/apply[name=current()]/color-all-dia)" { + error-message "ezPM context cannot be applied to color-all-dia and individual non-tunnel interface at the same time"; + } + must "not (not(local-name(../../../..) = 'Tunnel') and /ios:native/ios:performance/monitor/apply[name=current()]/color-list)" { + error-message "ezPM context cannot be applied to color-list and individual non-tunnel interface at the same time"; + } + type leafref { + path "/ios:native/ios:performance/monitor/context/name"; + } + } + } + leaf-list context { + status obsolete; + description + "Select ezPM context"; + type string; + } + } + } + } + + augment "/ios:native/ios:performance" { + uses config-ezpm-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Multilink" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Service-Engine" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-ezpm-grouping { + if-feature "ios-features:ezpm"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-factory-reset-secure-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-factory-reset-secure-rpc.yang new file mode 100644 index 000000000..64ba2b286 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-factory-reset-secure-rpc.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XE-factory-reset-secure-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-factory-reset-secure-rpc"; + prefix fr-secure; + + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED RPC YANG augment for factory-reset secure for IOS + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + + augment "/ios-xe-rpc:factory-reset/ios-xe-rpc:input/ios-xe-rpc:all" { + description + "Add support for secure 3-pass and secure 7-pass options"; + container secure { + leaf secure-erase-algorithm-drop-node-name { + description + "Secure erase algorithm. Choose from 3-pass + (DoD 5220.22-M) or 7-pass (DoD 5220.22-M ECE)"; + type string { + pattern '(3|7)-pass'; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-features.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-features.yang new file mode 100644 index 000000000..fd91ae05f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-features.yang @@ -0,0 +1,578 @@ +module Cisco-IOS-XE-features { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-features"; + prefix ios-features; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE feature Definitions + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added feature cellular-gnss + - Added feature port-settings"; + cisco-semver:module-version "1.6.0"; + } + revision 2024-03-01 { + description + "- Added feature sdwan-l2vpn; + - Added feature wireless-bridge; + - Added feature l2nat-outside-network"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-11-01 { + description + "- Added feature for Measurement field in service-performance + - Added feature sc-level-shared"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-07-01 { + description + "- Added feature macsec-switch + - Added feature cdp-config switching + - Added feature lldp-custom-config + - Added features dad proxy and routing proxy + - Added feature cable-config"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-03-01 { + description + "- Added feature WPAN"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added feature LORAWAN + - Added feature ptp + - Added feature pae"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "- Add feature NHRP + - Added feature prp + - Added feature ntp-ptp + - Added feature mrp + - Added if-feature switching-guard to selectively enable/disable switching features"; + cisco-semver:module-version "1.0.0"; + } + revision 2022-03-01 { + description + "- Added features cellular-serviceability-enhancement"; + } + revision 2021-11-01 { + description + "- Added features vrrp-tloc"; + } + revision 2021-07-01 { + description + "- Added port channel load balance feature"; + } + revision 2021-03-01 { + description + "- Added features enforcement-routing-platform and fhrp-sso. + - Added features cts-switching"; + } + revision 2020-11-01 { + description + "- Added ip prefix-list feature for controller and autonomous + - Added macsec-common feature"; + } + revision 2020-07-01 { + description + "- Added down-monitoring feature + - Added IPSLA Service performance feature"; + } + revision 2020-03-01 { + description + "Added rawsocket feature + Added sg-epg-ignore-vrf feature for Security-Group and Endpoint-Group + translation"; + } + revision 2019-10-01 { + description + "Added new features"; + } + revision 2019-02-25 { + description + "Added iso-igrp feature"; + } + revision 2018-11-20 { + description + "Added license-suite-command feature for license boot suite command"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + feature switching-platform { + description + "switching platform specific features"; + } + + feature macsec-switch { + description + "common macsec switch support"; + } + + feature macsec-common { + description + "common macsec support"; + } + + feature crypto { + description + "crypto feature"; + } + + feature device-tracking { + description + "device-tracking feature"; + } + + feature dhcp-border-relay { + description + "dhcp-border-relay feature"; + } + + feature dhcp-guard { + description + "ipv6 dhcp guard feature"; + } + + feature dot1x { + description + "dot1x feature"; + } + + feature ecfm-llb { + description + "Ethernet CFM latching-loopback feature"; + } + + feature efp { + description + "Ethernet Flow Point (efp) feature"; + } + + feature esmc { + description + "Ethernet Synchronization Messaging Channel (esmc) feature"; + } + + feature eth-evc { + description + "Ethernet Virtual Circuit (EVC) feature"; + } + + feature ezpm { + description + "Easy Performance Monitor feature"; + } + + feature ignition { + description + "Ignition power management"; + } + + feature inspection { + description + "nd inspection feature"; + } + + feature iso-igrp { + description + "ISO IGRP feature"; + } + + feature l2 { + description + "Layer2 VPN feature"; + } + + feature l2vpn { + description + "Layer2 VPN feature"; + } + + feature lorawan { + description + "LORAWAN feature"; + } + + feature wpan { + description + "WPAN (Wireless Personal Area Network) feature"; + } + + feature macsec { + description + "macsec ether"; + } + + feature mem-size { + description + "Memory size commands"; + } + + feature module { + description + "Device module feature"; + } + + feature multilink { + description + "PPP multilink global configuration"; + } + + feature mls { + description + "Multilayer Switching feature"; + } + + feature nhrp { + description + "Next Hop Resolution Protocol"; + } + + feature ntp-ptp { + description + "PTP as NTP refclock"; + } + + feature mrp { + description + "mrp (media redundancy protocol) feature"; + } + + feature omp { + description + "Overlay Management Protocol (OMP) feature"; + } + + feature pae { + description + "Product Analytics feature (PAE)"; + } + + feature parameter-map { + description + "Parameter Map feature"; + } + + feature private-vlan { + description + "Private-vlan feature"; + } + + feature prp { + description + "prp (parallel redundancy protocol) feature"; + } + + feature ptp { + description + "PTP new config feature"; + } + + feature punt-num { + description + "Police punt feature"; + } + + feature qos-qsm { + description + "QoS queue softmax multiplier"; + } + + feature raguard { + description + "nd guard feature"; + } + + feature rawsocket { + description + "Rawsocket"; + } + + feature scada-gw { + description + "SCADA Gateway"; + } + + feature sdwan { + description + "sdwan feature"; + } + + feature sr-policy { + description + "BGP SR-TE Policy feature"; + } + + feature suppress { + description + "ipv6 nd suppress feature"; + } + + feature dad-proxy { + description + "ipv6 nd dad-proxy feature"; + } + + feature routing-proxy { + description + "ipv6 nd routing-proxy feature"; + } + + feature license-suite-command { + description + "license boot suite feature"; + } + + feature setup { + description + "Express setup feature"; + } + + feature switch-virtual { + description + "Switch-virtual feature"; + } + + feature table-map { + description + "table-map feature"; + } + + feature tod-clock { + description + "Time of Day clock feature"; + } + + feature transceiver { + description + "Transceiver commands"; + } + + feature virtual-template { + description + "Virtual-template commands"; + } + + feature vlan { + description + "Vlan feature"; + } + + feature med { + description + "Media End-point Discovery"; + } + + feature routing-platform { + description + "routing platform specific features"; + } + + feature mdns-switch { + description + "mDNS under interface vlan for switching platforms"; + } + + feature mdns-ewlc { + description + "mDNS under interface vlan for eWLC platforms"; + } + + feature l2pt-more-protocols { + description + "L2 protocol tunneling support new protocols: + MVRP,DTP,PTP Peer Delay Protocol, + Multiple MAC Registration Protocol,ELMI,LINK-OAM,ESMC"; + } + + feature l2cp-fwd { + description + "Switchport support forwarding L2 PDUs: + CDP,STP,VTP,LLDP,PAGP,LACP,UDLD,MVRP,DTP,PTP Peer Delay Protocol, + Multiple MAC Registration Protocol,ELMI,LINK-OAM,ESMC,R4,R5,R6,R8,R9, + RA,RB,RC,RD,RF"; + } + + feature sg-epg-ignore-vrf { + description + "Cisco TrustSec Security-Group and Endpoint-Group translation supports + new functionality to disable VRF awareness"; + } + + feature bfd-dm { + description + "dampening with down-monitoring support"; + } + + feature service-performance { + description + "IPSLA Service Performance platform specific feature"; + } + + feature service-performance-ooop { + description + "IPSLA Service Performance platform specific Out-Of-Order-Packets feature"; + } + + feature prefixlist-controller { + description + "prefix-list version for controller"; + } + + feature prefixlist-autonomous { + description + "prefix-list version for autonomous"; + } + + feature enforcement-routing-platform { + description + "Cisco Trustsec Role-based Access Control support for routing platform"; + } + + feature fhrp-sso { + description + "FHRP Stateful switchover."; + } + + feature fqdn-acl { + description + "FQDN ACL feature support"; + } + + feature reflexive-acl { + description + "Reflexive ACL feature support"; + } + + feature mtc-acl { + description + "Mgmt ACL feature support"; + } + + feature cts-switching { + description + "Cisco Trustsec Role-based Access Control support for switching platform"; + } + + feature router-poch-lb { + description + "Port-channel load-balance hash algorithms on Router"; + } + + feature vrrp-tloc { + description + "TLOC preference increase for VRRP primary on sdwan platforms"; + } + + feature cts-intf-enable { + description + "Cisco Trustsec config support for Loopback"; + } + + feature cts-controller { + description + "CTS CLIs for controller mode only"; + } + + feature cts-autonomous { + description + "CTS CLIs for autonomous mode only"; + } + + feature canbus { + description + "CAN bus configuration"; + } + + feature cellular-serviceability-enhancement { + description + "cellular serviceability enhancement"; + } + + feature switching-guard { + description + "switching platform specific features that should not be present on router"; + } + + feature ctc-http-app { + description + "ctc-app UEA platform specific feature"; + } + + feature pbr-sbit-switching { + description + "service selector field for hawk feature that should not be present on router"; + } + + feature cdp-config-switching { + description + "cdp mgmt-address feature that should not be present on router"; + } + + feature lldp-custom-config { + description + "custom configuration support for certain lldp protocol attributes"; + } + + feature cable-config { + description + "configuration specific to cable platform"; + } + + feature sc-level-shared { + description + "custom configuration support for storm-control level-shared feature"; + } + + feature sdwan-l2vpn { + description + "sdwan l2vpn platform features that should only present on sdwan cedge"; + } + + feature wireless-bridge { + description + "configuration support for wireless bridge feature"; + } + + feature l2nat-outside-network { + description + "l2nat outside network translation"; + } + + feature cellular-gnss { + description + "cellular gnss"; + } + + feature port-settings { + description + "Configuration support for combined interface speed, duplex, and + auto-negotiation changes"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-events.yang new file mode 100644 index 000000000..0c209b6a3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-events.yang @@ -0,0 +1,167 @@ +module Cisco-IOS-XE-fib-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-fib-events"; + prefix fib-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for FIB status change notification. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef fib-af-type { + type enumeration { + enum fib-af-unknown { + value 0; + description + "Unknown address family"; + } + enum fib-af-ipv4 { + value 1; + description + "IPv4 address family"; + } + enum fib-af-ipv6 { + value 2; + description + "IPv6 address family"; + } + } + description + "FIB address family types"; + } + + typedef fib-updates-af-type { + type enumeration { + enum fib-updates-af-unknown { + value 0; + description + "Unknown address family"; + } + enum fib-updates-af-ipv4 { + value 1; + description + "IPv4 address family"; + } + enum fib-updates-af-ipv6 { + value 2; + description + "IPv6 address family"; + } + } + description + "FIB updates AF type"; + } + + grouping fib-notif-default-route-state { + description + "FIB default route state"; + leaf table-name { + type string; + description + "FIB table name"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf af { + type fib-ios-xe-events:fib-af-type; + description + "Address family"; + } + leaf drh-override { + type boolean; + description + "Default route handler over"; + } + } + + grouping fib-update { + description + "FIB update notifications"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf vrf-name { + type string; + description + "Last updated VRF"; + } + leaf address-family-type { + type fib-ios-xe-events:fib-updates-af-type; + description + "Last updated address family"; + } + leaf fib-last-update-time { + type yang:date-and-time; + description + "Last update time"; + } + } + + notification fib-updates { + description + "FIB update notification. This notification should be used instead of the older FIB notifications from namespace ios-events-ios-xe-oper."; + uses fib-ios-xe-events:fib-update; + } + + notification fib-default-route-state-change { + description + "FIB default route state change notification"; + uses fib-ios-xe-events:fib-notif-default-route-state; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-oper.yang new file mode 100644 index 000000000..b2d376cd7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-fib-oper.yang @@ -0,0 +1,4944 @@ +module Cisco-IOS-XE-fib-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-fib-oper"; + prefix fib-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE FIB operational data. + Copyright (c) 2018-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-03-01 { + description + "- Added CEF source only load balancing hashing algorithm type"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-11-01 { + description + "- Added CEF switching statistics and switching statistics features + - Added IPv6 state for interface state"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-03-01 { + description + "- Added FIB adjacency and CEF state support + - Rename IPv4 FIB state fields and add fib hash algorithm state + for IPv4/IPv6 FIB state"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-03-07 { + description + "Adding support for resolved next hop field"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-07-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef fib-address-family { + type enumeration { + enum fib-addr-fam-unknown { + value 0; + description + "Unknown Address Family"; + } + enum fib-addr-fam-ipv4 { + value 1; + description + "IPv4 Address Family"; + } + enum fib-addr-fam-ipv6 { + value 2; + description + "IPv6 Address Family"; + } + } + description + "FIB Address Family Types"; + } + + typedef encapsulation-header-type { + type enumeration { + enum encap-hdr-type-unknown { + value 0; + description + "Unknown encapsulation header type"; + } + enum encap-hdr-type-gre { + value 1; + description + "GRE encapsulation header type"; + } + enum encap-hdr-type-ipv4 { + value 2; + description + "IPv4 encapsulation header type"; + } + enum encap-hdr-type-ipv6 { + value 3; + description + "IPv6 encapsulation header type"; + } + enum encap-hdr-type-mpls { + value 4; + description + "MPLS encapsulation header type"; + } + } + description + "Types of header for packet encapsulation"; + } + + typedef fib-path-type { + type enumeration { + enum fib-path-type-unknown { + value 0; + description + "Unknown FIB path type"; + } + enum fib-path-type-receive { + value 1; + description + "Receive FIB path type"; + } + enum fib-path-type-connected { + value 2; + description + "Connected FIB path type"; + } + enum fib-path-type-attached-prefix { + value 3; + description + "Attached Prefix FIB path type"; + } + enum fib-path-type-attached-host { + value 4; + description + "Attached Host FIB path type"; + } + enum fib-path-type-attached-nexthop { + value 5; + description + "Attached next hop FIB path type"; + } + enum fib-path-type-recursive { + value 6; + description + "Recursive FIB path type"; + } + enum fib-path-type-adjacency-prefix { + value 7; + description + "Adjacency Prefix FIB path type"; + } + enum fib-path-type-special-prefix { + value 8; + description + "Special Prefix FIB path type"; + } + } + description + "Type of FIB path used"; + } + + typedef adj-link-type { + type enumeration { + enum adj-link-ip { + value 0; + description + "Link IP"; + } + enum adj-link-ipv6 { + value 1; + description + "Link IPv6"; + } + enum adj-link-tag { + value 2; + description + "Link TAG"; + } + enum adj-link-raw { + value 3; + description + "Link RAW"; + } + enum adj-link-all { + value 4; + description + "Link All"; + } + enum adj-link-illegal { + value 5; + description + "Link Illegal"; + } + } + description + "Adjacency Link Types"; + } + + typedef fib-instance-type { + type enumeration { + enum fib-instance-type-unknown { + value 0; + description + "FIB instance type unknown"; + } + enum fib-instance-type-rp { + value 1; + description + "FIB instance type RP"; + } + enum fib-instance-type-lc { + value 2; + description + "FIB Instance type LC"; + } + enum fib-instance-type-rrp { + value 3; + description + "FIB Instance type RRP"; + } + } + description + "FIB Instance Types"; + } + + typedef fib-hash-algs-type { + type enumeration { + enum fib-hash-algorithms-type-invalid { + value 0; + description + "FIB hash algorithms type invalid"; + } + enum fib-hash-algorithms-type-original { + value 1; + description + "FIB hash algorithms type original"; + } + enum fib-hash-algorithms-type-tunnel { + value 2; + description + "FIB hash algorithms type tunnel"; + } + enum fib-hash-algorithms-type-universal { + value 3; + description + "FIB hash algorithms type universal"; + } + enum fib-hash-algorithms-type-include-ports-src { + value 4; + description + "FIB hash algorithms type include ports source"; + } + enum fib-hash-algorithms-type-include-ports-dst { + value 5; + description + "FIB hash algorithms type include ports destination"; + } + enum fib-hash-algorithms-type-include-ports-src-dst { + value 6; + description + "FIB hash algorithms type include ports source destination"; + } + enum fib-hash-algorithms-type-include-ports-src-dst-gtp { + value 7; + description + "FIB hash algorithms type include ports source destination GTP"; + } + enum fib-hash-algorithms-type-dpi { + value 8; + description + "FIB hash algorithms type DPI"; + } + enum fib-hash-algorithms-type-src-only { + value 9; + description + "FIB hash algorithms type source only"; + } + } + description + "FIB Hash Algorithms Type"; + } + + typedef ipv4-fib-not-cef-reason { + type enumeration { + enum v4fib-ncr-no-route { + value 0; + description + "IPv4 FIB not CEF reason no route"; + } + enum v4fib-ncr-receive { + value 1; + description + "IPv4 FIB not CEF reason packet destined for-us"; + } + enum v4fib-ncr-encap-failed { + value 2; + description + "IPv4 FIB not CEF reason encapsulation failed"; + } + enum v4fib-ncr-encap-resource { + value 3; + description + "IPv4 FIB not CEF reason encapsulation resource"; + } + enum v4fib-ncr-no-adjacency { + value 4; + description + "IPv4 FIB not CEF reason no adjacency"; + } + enum v4fib-ncr-incmp-adj { + value 5; + description + "IPv4 FIB not CEF reason incomplete adjacency"; + } + enum v4fib-ncr-loop-detected { + value 6; + description + "IPv4 FIB not CEF reason output chain looped"; + } + enum v4fib-ncr-inv-frag-return { + value 7; + description + "IPv4 FIB not CEF reason failed fragmentation"; + } + enum v4fib-ncr-unresolved { + value 8; + description + "IPv4 FIB not CEF reason unresolved route"; + } + enum v4fib-ncr-unsup { + value 9; + description + "IPv4 FIB not CEF reason unsupported route"; + } + enum v4fib-ncr-unsup-plat { + value 10; + description + "IPv4 FIB not CEF reason unsupported platform"; + } + enum v4fib-ncr-bad-checksum { + value 11; + description + "IPv4 FIB not CEF reason bad checksum"; + } + enum v4fib-ncr-ttl-expired { + value 12; + description + "IPv4 FIB not CEF reason TTL expired"; + } + enum v4fib-ncr-ip-options { + value 13; + description + "IPv4 FIB not CEF reason IP options set"; + } + enum v4fib-ncr-bad-pkt-len { + value 14; + description + "IPv4 FIB not CEF reason bad IP packet length"; + } + enum v4fib-ncr-frag-disabled { + value 15; + description + "IPv4 FIB not CEF reason fragmentation disabled"; + } + enum v4fib-ncr-frag-unsup { + value 16; + description + "IPv4 FIB not CEF reason fragmentation unsupported"; + } + enum v4fib-ncr-frag-fail-dfset { + value 17; + description + "IPv4 FIB not CEF reason fragmentation failed, DF set"; + } + enum v4fib-ncr-discard { + value 18; + description + "IPv4 FIB not CEF reason discard"; + } + enum v4fib-ncr-nu110 { + value 19; + description + "IPv4 FIB not CEF reason routed to Null0"; + } + enum v4fib-ncr-multicast { + value 20; + description + "IPv4 FIB not CEF reason multicast"; + } + enum v4fib-ncr-feat { + value 21; + description + "IPv4 FIB not CEF reason features"; + } + enum v4fib-ncr-ip-redrct { + value 22; + description + "IPv4 FIB not CEF reason IP redirects"; + } + enum v4fib-ncr-shaping { + value 23; + description + "IPv4 FIB not CEF reason traffic shaping"; + } + enum v4fib-ncr-unk-in-if { + value 24; + description + "IPv4 FIB not CEF reason unknown input I/F"; + } + enum v4fib-ncr-unk-dial-in-if { + value 25; + description + "IPv4 FIB not CEF reason unknown dialer input I/F"; + } + enum v4fib-ncr-enqueue-failed { + value 26; + description + "IPv4 FIB not CEF reason enqueue failed"; + } + enum v4fib-ncr-unclassified { + value 27; + description + "IPv4 FIB not CEF reason unclassified reason"; + } + enum v4fib-ncr-neighbor-res-req { + value 28; + description + "IPv4 FIB not CEF reason neighbor resolution requested"; + } + enum v4fib-ncr-bad-pkt-min-len { + value 29; + description + "IPv4 FIB not CEF reason bad IP packet minimum length"; + } + enum v4fib-ncr-no-adj-fltrd { + value 30; + description + "IPv4 FIB not CEF reason no adjacency filtered"; + } + enum v4fib-ncr-incmp-adj-fltrd { + value 31; + description + "IPv4 FIB not CEF reason incomplete adjacency"; + } + enum v4fib-ncr-decep-recursion-limit { + value 32; + description + "IPv4 FIB not CEF reason decap recursion limit"; + } + enum v4fib-ncr-td-frag-or-opt { + value 33; + description + "IPv4 FIB not CEF reason tun decap, frag/options"; + } + enum v4fib-ncr-td-src { + value 34; + description + "IPv4 FIB not CEF reason tun decap, source"; + } + enum v4fib-ncr-td-dst { + value 35; + description + "IPv4 FIB not CEF reason tun decap, destination"; + } + enum v4fib-ncr-td-transport-table { + value 36; + description + "IPv4 FIB not CEF reason tun decap, transport table"; + } + enum v4fib-ncr-td-protocol { + value 37; + description + "IPv4 FIB not CEF reason tun decap, protocol"; + } + enum v4fib-ncr-td-no-vector { + value 38; + description + "IPv4 FIB not CEF reason tun decap, no vector"; + } + enum v4fib-ncr-td-no-dispatcher { + value 39; + description + "IPv4 FIB not CEF reason tun decap, no dispatcher"; + } + enum v4fib-ncr-td-displatcher-drop { + value 40; + description + "IPv4 FIB not CEF reason tun decap, dispatcher drop"; + } + enum v4fib-ncr-td-no-protocol { + value 41; + description + "IPv4 FIB not CEF reason tun decap, no protocol"; + } + enum v4fib-ncr-td-gre-options { + value 42; + description + "IPv4 FIB not CEF reason tun decap, GRE options"; + } + enum v4fib-ncr-td-gre-key-mis { + value 43; + description + "IPv4 FIB not CEF reason tun decap, GRE key mismatch"; + } + enum v4fib-ncr-td-gre-unsup-pl { + value 44; + description + "IPv4 FIB not CEF reason tun decap, GRE unsupported payload"; + } + enum v4fib-ncr-no-adj-queue-res { + value 45; + description + "IPv4 FIB not CEF reason no adjacency, queued resolution"; + } + enum v4fib-ncr-incmp-adj-queued { + value 46; + description + "IPv4 FIB not CEF reason incomplete adjacency, queued resolution"; + } + enum v4fib-ncr-ssf-12-feat { + value 47; + description + "IPv4 FIB not CEF reason i-edge L2 features"; + } + enum v4fib-ncr-no-vc { + value 48; + description + "IPv4 FIB not CEF reason no VC"; + } + enum v4fib-ncr-bad-pkt-hdr-len { + value 49; + description + "IPv4 FIB not CEF reason bad IP packet header length"; + } + enum v4fib-ncr-frag-resource { + value 50; + description + "IPv4 FIB not CEF reason fragmentation resource"; + } + enum v4fib-ncr-ll-bcast { + value 51; + description + "IPv4 FIB not CEF reason link-layer broadcast/multicast"; + } + enum v4fib-ncr-frag-init { + value 52; + description + "IPv4 FIB not CEF reason initializing fragment pak"; + } + enum v4fib-ncr-get-frag { + value 53; + description + "IPv4 FIB not CEF reason getting fragment pak"; + } + enum v4fib-ncr-frag-ipinitbuf { + value 54; + description + "IPv4 FIB not CEF reason IP initialize buffer not in use"; + } + enum v4fib-ncr-frag-no-pak { + value 55; + description + "IPv4 FIB not CEF reason fragmentation no pak"; + } + enum v4fib-ncr-frag-tunnel { + value 56; + description + "IPv4 FIB not CEF reason fragmentation tunnel"; + } + enum v4fib-ncr-frag-mistral { + value 57; + description + "IPv4 FIB not CEF reason fragmentation mistral"; + } + enum v4fib-ncr-turbo-disabled { + value 58; + description + "IPv4 FIB not CEF reason turbo disabled for adjacency"; + } + enum v4fib-ncr-td-sec-chck-fail { + value 59; + description + "IPv4 FIB not CEF reason tun decap, security check failed"; + } + enum v4fib-ncr-un-to-coalesce { + value 60; + description + "IPv4 FIB not CEF reason unable to coalesce"; + } + enum v4fib-ncr-lisp-too-small { + value 61; + description + "IPv4 FIB not CEF reason LISP too small"; + } + enum v4fib-ncr-lisp-unkn-iid { + value 62; + description + "IPv4 FIB not CEF reason LISP unknown instance id"; + } + enum v4fib-ncr-frag-fail-mtu { + value 63; + description + "IPv4 FIB not CEF reason fragmentation fail, MTU 0"; + } + enum v4fib-ncr-rd-in-not-reached { + value 64; + description + "IPv4 FIB not CEF reason input redirect not reached"; + } + enum v4fib-ncr-rd-in-not-enctr { + value 65; + description + "IPv4 FIB not CEF reason input redirect not reached"; + } + enum v4fib-ncr-rd-for-us-not-enctr { + value 66; + description + "IPv4 FIB not CEF reason for-us redirect not encountered"; + } + enum v4fib-ncr-rd-out-not-enctr { + value 67; + description + "IPv4 FIB not CEF reason output redirect not encountered"; + } + enum v4fib-ncr-rd-out-wrong-idb { + value 68; + description + "IPv4 FIB not CEF reason output redirect wrong IDB"; + } + enum v4fib-ncr-tx-fs-unsup { + value 69; + description + "IPv4 FIB not CEF reason TX fast switching unsupported"; + } + enum v4fib-ncr-adj-fixup { + value 70; + description + "IPv4 FIB not CEF reason adjacency fixup"; + } + enum v4fib-ncr-td-gre-keepalive { + value 71; + description + "IPv4 FIB not CEF reason Tun Decap, Gre Keepalive"; + } + } + description + "Reason not IPV4 FIB/CEF switch statistics"; + } + + typedef ipv4-input-switching-feature { + type enumeration { + enum ipf-in-none { + value 0; + description + "IPv4 input feature none"; + } + enum ipf-in-debug-packet { + value 1; + description + "IPv4 input feature debug packet"; + } + enum ipf-in-pak-export { + value 2; + description + "IPv4 input feature router IP traffic export"; + } + enum ipf-in-packet-capture { + value 3; + description + "IPv4 input feature CEF packet capture"; + } + enum ipf-in-proc-packet-cap { + value 4; + description + "IPv4 input feature process packet capture"; + } + enum ipf-in-cft { + value 5; + description + "IPv4 input feature common flow table"; + } + enum ipf-in-cft-pre-waas { + value 6; + description + "IPv4 input feature common flow table PRE WAAS"; + } + enum ipf-in-msp { + value 7; + description + "IPv4 input feature media services proxy"; + } + enum ipf-in-stile { + value 8; + description + "IPv4 input feature stateful inspection"; + } + enum ipf-in-stile-cyph-txt { + value 9; + description + "IPv4 input feature stateful inspection on cypher text"; + } + enum ipf-in-onep-mpss-pkt { + value 10; + description + "IPv4 input feature multiprotocol stateless switching IP header processing"; + } + enum ipf-in-metadata { + value 11; + description + "IPv4 input feature flow metadata"; + } + enum ipf-in-cce-first-c { + value 12; + description + "IPv4 input feature CCE input classification"; + } + enum ipf-in-smef-c { + value 13; + description + "IPv4 input feature service/metadata exchange input classification"; + } + enum ipf-in-dpss-flow-acts { + value 14; + description + "IPv4 input feature onep dpss flow actions"; + } + enum ipf-in-onep-pol-acts { + value 15; + description + "IPv4 input feature onep policy actions input"; + } + enum ipf-in-ip-vrfauto { + value 16; + description + "IPv4 input feature IP vrf auto classify"; + } + enum ipf-in-perf-mon { + value 17; + description + "IPv4 input feature input performance monitor"; + } + enum ipf-in-perf-mon-ts { + value 18; + description + "IPv4 input feature performance monitor get timestamp"; + } + enum ipf-in-vqm { + value 19; + description + "IPv4 input feature input video quality monitor"; + } + enum ipf-in-fnf { + value 20; + description + "IPv4 input feature input flexible netflow"; + } + enum ipf-in-global-fnf { + value 21; + description + "IPv4 input feature input global flexible netflow"; + } + enum ipf-in-lisp-smr { + value 22; + description + "IPv4 input feature LISP SMR"; + } + enum ipf-in-srpm-pfp { + value 23; + description + "IPv4 input feature source RPM performance routing"; + } + enum ipf-in-qos-drop { + value 24; + description + "IPv4 input feature QoS drop"; + } + enum ipf-in-punt-unrec-feat { + value 25; + description + "IPv4 input feature punt unrecognised feature"; + } + enum ipf-in-dialer-in-if-or { + value 26; + description + "IPv4 input feature dialer I/F override"; + } + enum ipf-in-ip-not-en-dis { + value 27; + description + "IPv4 input feature IP not enabled discard"; + } + enum ipf-in-lisp-mobility { + value 28; + description + "IPv4 input feature LISP mobility"; + } + enum ipf-in-lisp-disable { + value 29; + description + "IPv4 input feature LISP disable"; + } + enum ipf-in-lisp { + value 30; + description + "IPv4 input feature LISP ETR"; + } + enum ipf-in-ppp-idle-to { + value 31; + description + "IPv4 input feature PPP input idle timeout"; + } + enum ipf-in-mip-fa-fwdto-mn { + value 32; + description + "IPv4 input feature mip fa forward to mn"; + } + enum ipf-in-iedge-ip-sc { + value 33; + description + "IPv4 input feature i-Edge IP session input classifier"; + } + enum ipf-in-sia-scl { + value 34; + description + "IPv4 input feature service classifier"; + } + enum ipf-in-sia-hdr { + value 35; + description + "IPv4 input feature SIA header"; + } + enum ipf-in-flow { + value 36; + description + "IPv4 input feature ingress netflow"; + } + enum ipf-in-bgp-pol-map { + value 37; + description + "IPv4 input feature BGP policy map"; + } + enum ipf-in-qos-c { + value 38; + description + "IPv4 input feature QoS classification"; + } + enum ipf-in-oer { + value 39; + description + "IPv4 input feature optimized exit routing"; + } + enum ipf-in-vfr { + value 40; + description + "IPv4 input feature virtual fragment reassembly"; + } + enum ipf-in-li { + value 41; + description + "IPv4 input feature lawful intercept"; + } + enum ipf-in-cce-sl-ips { + value 42; + description + "IPv4 input feature stateless in IPS (atomic)"; + } + enum ipf-in-fw { + value 43; + description + "IPv4 input feature firewall (IDs and/or auth proxy)"; + } + enum ipf-in-ip-learn { + value 44; + description + "IPv4 input feature IP learn"; + } + enum ipf-in-auth-proxy { + value 45; + description + "IPv4 input feature auth proxy"; + } + enum ipf-in-epm-http-redrct { + value 46; + description + "IPv4 input feature EPM HTTP redirect"; + } + enum ipf-in-cmnacl { + value 47; + description + "IPv4 input feature common access list"; + } + enum ipf-in-acl { + value 48; + description + "IPv4 input feature access list"; + } + enum ipf-in-per-src-acl { + value 49; + description + "IPv4 input feature per source access list"; + } + enum ipf-in-ip-multiplex { + value 50; + description + "IPv4 input feature ipv4 multiplexing"; + } + enum ipf-in-sbc { + value 51; + description + "IPv4 input feature session border controller"; + } + enum ipf-in-container { + value 52; + description + "IPv4 input feature container input features"; + } + enum ipf-in-fpm { + value 53; + description + "IPv4 input feature flexible packet match"; + } + enum ipf-in-ase { + value 54; + description + "IPv4 input feature automatic signature extraction"; + } + enum ipf-in-before-decrypt-n { + value 55; + description + "IPv4 input feature IPSEC decrypt begins"; + } + enum ipf-in-ipsec { + value 56; + description + "IPv4 input feature IPSEC input classification"; + } + enum ipf-in-after-decrypt-n { + value 57; + description + "IPv4 input feature IPSEC decrypt ends"; + } + enum ipf-in-ipsec-vfr { + value 58; + description + "IPv4 input feature virtual fragment reassembly after IPSEC decryption"; + } + enum ipf-in-ipsec-vrf { + value 59; + description + "IPv4 input feature IPSEC input VRF switch"; + } + enum ipf-in-ipsec-dacl { + value 60; + description + "IPv4 input feature IPSEC post decrypt input ACL check"; + } + enum ipf-in-rpf { + value 61; + description + "IPv4 input feature unicast RPF"; + } + enum ipf-in-rpf-vrfauto { + value 62; + description + "IPv4 input feature unicast RPF (VRF auto)"; + } + enum ipf-in-qos-marking { + value 63; + description + "IPv4 input feature QoS marking"; + } + enum ipf-in-ratelimit { + value 64; + description + "IPv4 input feature input rate limit"; + } + enum ipf-in-police { + value 65; + description + "IPv4 input feature policing"; + } + enum ipf-in-af-police { + value 66; + description + "IPv4 input feature AF policing"; + } + enum ipf-in-content-scan-pre-proxy { + value 67; + description + "IPv4 input feature content scan PRE proxy"; + } + enum ipf-in-content-scan { + value 68; + description + "IPv4 input feature content scan proxy in"; + } + enum ipf-in-cft-post-vpn { + value 69; + description + "IPv4 input feature common flow table post VPN"; + } + enum ipf-in-cce-post-crypto-c { + value 70; + description + "IPv4 input feature CCE input post crypto classification"; + } + enum ipf-in-perf-mon-async { + value 71; + description + "IPv4 input feature in performance monitor async"; + } + enum ipf-in-cent { + value 72; + description + "IPv4 input feature input CENT smart probe"; + } + enum ipf-in-pa-wccp-proxy { + value 73; + description + "IPv4 input feature pa WCCP proxy"; + } + enum ipf-in-pa { + value 74; + description + "IPv4 input feature performance agent"; + } + enum ipf-in-mace-pre-waas { + value 75; + description + "IPv4 input feature measurement aggregation correlation engine input PRE WAAS"; + } + enum ipf-in-waas { + value 76; + description + "IPv4 input feature ios WAAS optimize"; + } + enum ipf-in-cft-post-waas { + value 77; + description + "IPv4 input feature common flow table post WAAS"; + } + enum ipf-in-stile-clear-text { + value 78; + description + "IPv4 input feature stateful inspection on clear text"; + } + enum ipf-in-mace-post-waas { + value 79; + description + "IPv4 input feature measurement aggregation correlation engine input post WAAS"; + } + enum ipf-in-pa-post-waas { + value 80; + description + "IPv4 input feature performance agent input post WAAS"; + } + enum ipf-in-atomic-ips-p-crypto { + value 81; + description + "IPv4 input feature post crypto IPS atomic"; + } + enum ipf-in-ezvpn { + value 82; + description + "IPv4 input feature ezvpn connect ACL"; + } + enum ipf-in-crypto { + value 83; + description + "IPv4 input feature crypto"; + } + enum ipf-in-sia { + value 84; + description + "IPv4 input feature SIA (platform independent interception point)"; + } + enum ipf-in-cts-l3 { + value 85; + description + "IPv4 input feature CTS l3 tunnel input classification"; + } + enum ipf-in-cts-imt { + value 86; + description + "IPv4 input feature CTS implicit tunnel input classification"; + } + enum ipf-in-mppe-enc { + value 87; + description + "IPv4 input feature input IDB microsoft point-to-point encryption"; + } + enum ipf-in-mtr-c { + value 88; + description + "IPv4 input feature multi topology routing classify"; + } + enum ipf-in-mac-accounting { + value 89; + description + "IPv4 input feature MAC accounting"; + } + enum ipf-in-prec-accounting { + value 90; + description + "IPv4 input feature precedence accounting"; + } + enum ipf-in-portbundle { + value 91; + description + "IPv4 input feature port bundle host key"; + } + enum ipf-in-save-addr { + value 92; + description + "IPv4 input feature pre-nat address capture"; + } + enum ipf-in-n-out { + value 93; + description + "IPv4 input feature NAT outside"; + } + enum ipf-in-dnssnp { + value 94; + description + "IPv4 input feature DNS snoop"; + } + enum ipf-in-pre-sm-monitoring { + value 95; + description + "IPv4 input feature before IDS monitoring"; + } + enum ipf-in-sm-monitoring { + value 96; + description + "IPv4 input feature IDS monitoring"; + } + enum ipf-in-post-sm-monitoring { + value 97; + description + "IPv4 input feature after WAAS monitoring"; + } + enum ipf-in-nam-monitoring { + value 98; + description + "IPv4 input feature NAM monitoring"; + } + enum ipf-in-iedge { + value 99; + description + "IPv4 input feature i-Edge"; + } + enum ipf-in-iedge-ip-sess-feat { + value 100; + description + "IPv4 input feature i-Edge IP session input features"; + } + enum ipf-in-ssg { + value 101; + description + "IPv4 input feature service selection gateway input feature"; + } + enum ipf-in-cent-rc { + value 102; + description + "IPv4 input feature input CENT route control"; + } + enum ipf-in-cws { + value 103; + description + "IPv4 input feature cloud web security in"; + } + enum ipf-in-policy { + value 104; + description + "IPv4 input feature policy routing"; + } + enum ipf-in-mfib-nat { + value 105; + description + "IPv4 input feature multicast FIB NAT"; + } + enum ipf-in-wccp { + value 106; + description + "IPv4 input feature web cache communications protocol"; + } + enum ipf-in-after-wccp { + value 107; + description + "IPv4 input feature WCCP in after FW"; + } + enum ipf-in-casa { + value 108; + description + "IPv4 input feature CISCO appliance and services architecture"; + } + enum ipf-in-urd { + value 109; + description + "IPv4 input feature URD intercept"; + } + enum ipf-in-mci-chk { + value 110; + description + "IPv4 input feature MCI check"; + } + enum ipf-in-vrfs { + value 111; + description + "IPv4 input feature VRF select"; + } + enum ipf-in-tweak-mss { + value 112; + description + "IPv4 input feature TCP adjust MSS"; + } + enum ipf-in-iedge-ip-sess-driv { + value 113; + description + "IPv4 input feature i-Edge IP session RX driver"; + } + enum ipf-in-gprs { + value 114; + description + "IPv4 input feature GPRS uplink packet switch"; + } + enum ipf-in-mip-revtunn { + value 115; + description + "IPv4 input feature MIP reverse tunnel"; + } + enum ipf-in-rb-proxy { + value 116; + description + "IPv4 input feature role-based proxy"; + } + enum ipf-in-bootp-reply { + value 117; + description + "IPv4 input feature bootp reply"; + } + enum ipf-in-dhcpc-reply { + value 118; + description + "IPv4 input feature DHCP client reply"; + } + enum ipf-in-agw { + value 119; + description + "IPv4 input feature ASN GW uplink packet switch"; + } + enum ipf-in-csg-app { + value 120; + description + "IPv4 input feature CSG application"; + } + enum ipf-in-bma-redrct { + value 121; + description + "IPv4 input feature broadcast multi-access redirect"; + } + enum ipf-in-lisp-alt-intercept { + value 122; + description + "IPv4 input feature LISP ALT intercept"; + } + enum ipf-in-tun-to-redrct { + value 123; + description + "IPv4 input feature tunnel to traffic redirection"; + } + enum ipf-in-hqf-queueing { + value 124; + description + "IPv4 input feature ingress hierarchical queueing framework"; + } + enum ipf-in-plat-sc { + value 125; + description + "IPv4 input feature HW shortcut installation"; + } + enum ipf-in-iedge-ip-sess-pre-n { + value 126; + description + "IPv4 input feature i-Edge IP session input pre-NAT"; + } + enum ipf-in-iedge-ip-sess-post-n { + value 127; + description + "IPv4 input feature i-Edge IP session input post-NAT"; + } + enum ipf-in-idletimer { + value 128; + description + "IPv4 input feature dialer idle timer"; + } + enum ipf-in-val { + value 129; + description + "IPv4 input feature VAL input"; + } + } + description + "IPv4 FIB/CEF input switch statistics feature"; + } + + typedef ipv4-output-switching-feature { + type enumeration { + enum ipf-o-none { + value 0; + description + "IPv4 output feature none"; + } + enum ipf-o-vfr-egress { + value 1; + description + "IPv4 output feature virtual fragment reassembly on egress"; + } + enum ipf-o-punt-unrecog-feat { + value 2; + description + "IPv4 output feature punt unrecognised feature"; + } + enum ipf-o-ppp-idle-timeout { + value 3; + description + "IPv4 output feature PPP output idle timeout"; + } + enum ipf-o-iedge-ip-sess-cls { + value 4; + description + "IPv4 output feature i-Edge IP session output classifier"; + } + enum ipf-o-gprs { + value 5; + description + "IPv4 output feature gprs vpn"; + } + enum ipf-o-cce-first-cls { + value 6; + description + "IPv4 output feature CCE output classification"; + } + enum ipf-o-reroute { + value 7; + description + "IPv4 output feature IP reroute"; + } + enum ipf-o-n-in { + value 8; + description + "IPv4 output feature NAT inside"; + } + enum ipf-o-cce-sl-ips { + value 9; + description + "IPv4 output feature stateless out IPS (atomic)"; + } + enum ipf-o-fw1 { + value 10; + description + "IPv4 output feature firewall (IDS)"; + } + enum ipf-o-rbscp { + value 11; + description + "IPv4 output feature access-list based RBSCP"; + } + enum ipf-o-nhrp-shortcut { + value 12; + description + "IPv4 output feature NHRP shortcut switching"; + } + enum ipf-o-nhrp-redrct { + value 13; + description + "IPv4 output feature NHRP redirect"; + } + enum ipf-o-wccp { + value 14; + description + "IPv4 output feature web cache communications protocol"; + } + enum ipf-o-after-wccp { + value 15; + description + "IPv4 output feature WCCP out after FW"; + } + enum ipf-o-iedge { + value 16; + description + "IPv4 output feature i-Edge"; + } + enum ipf-o-pre-sm-monitoring { + value 17; + description + "IPv4 output feature before IDS monitoring"; + } + enum ipf-o-sm-monitoring { + value 18; + description + "IPv4 output feature IDS monitoring"; + } + enum ipf-o-apa-monitoring { + value 19; + description + "IPv4 output feature APA monitoring"; + } + enum ipf-o-nam-monitoring { + value 20; + description + "IPv4 output feature NAM monitoring"; + } + enum ipf-o-post-sm-monitoring { + value 21; + description + "IPv4 output feature after IDS monitoring"; + } + enum ipf-o-sslvpn-check-bw { + value 22; + description + "IPv4 output feature sslvpn bandwidth checking with evaluation license"; + } + enum ipf-o-nat64 { + value 23; + description + "IPv4 output feature post-routing NAT64 output"; + } + enum ipf-o-n-nvi-output { + value 24; + description + "IPv4 output feature post-routing NAT NVI output"; + } + enum ipf-o-dnssnp { + value 25; + description + "IPv4 output feature DNS snoop out"; + } + enum ipf-o-n-out { + value 26; + description + "IPv4 output feature post-routing NAT outside"; + } + enum ipf-o-mfib-nat { + value 27; + description + "IPv4 output feature multicast FIB NAT"; + } + enum ipf-o-ip-multiplex { + value 28; + description + "IPv4 output feature IP multiplexing"; + } + enum ipf-o-cft { + value 29; + description + "IPv4 output feature common flow table"; + } + enum ipf-o-stile { + value 30; + description + "IPv4 output feature stateful inspection"; + } + enum ipf-o-metadata { + value 31; + description + "IPv4 output feature flow metadata"; + } + enum ipf-o-autoqos { + value 32; + description + "IPv4 output feature autoqos dscp classification"; + } + enum ipf-o-bgp-pol-map { + value 33; + description + "IPv4 output feature BGP policy map"; + } + enum ipf-o-li { + value 34; + description + "IPv4 output feature lawful intercept"; + } + enum ipf-o-post-route { + value 35; + description + "IPv4 output feature IP post routing processing"; + } + enum ipf-o-ipsec { + value 36; + description + "IPv4 output feature IPSEC output classification"; + } + enum ipf-o-cts-imt { + value 37; + description + "IPv4 output feature CTS implicit tunnel output classification"; + } + enum ipf-o-cts-l3 { + value 38; + description + "IPv4 output feature CTS L3 tunnel output classification"; + } + enum ipf-o-mppe-enc { + value 39; + description + "IPv4 output feature output IDB microsoft point-to-point encryption"; + } + enum ipf-o-qos-c { + value 40; + description + "IPv4 output feature QoS classification"; + } + enum ipf-o-before-cce-post-n-c { + value 41; + description + "IPv4 output feature before CCE post NAT classification"; + } + enum ipf-o-cce-post-n-c { + value 42; + description + "IPv4 output feature CCE post NAT classification"; + } + enum ipf-o-cce-stateful-ips { + value 43; + description + "IPv4 output feature stateful IPS (cce)"; + } + enum ipf-o-cce-firewall { + value 44; + description + "IPv4 output feature firewall (cce)"; + } + enum ipf-o-after-cce-post-n-c { + value 45; + description + "IPv4 output feature after CCE post NAT classification"; + } + enum ipf-o-onep-mpss-pkt { + value 46; + description + "IPv4 output feature multiprotocol stateless switching IP header processing"; + } + enum ipf-o-dpss-flow-acts { + value 47; + description + "IPv4 output feature ONEP DPSS flow actions"; + } + enum ipf-o-onep-pol-acts { + value 48; + description + "IPv4 output feature ONEP policy actions output"; + } + enum ipf-o-qos-drop { + value 49; + description + "IPv4 output feature QoS drop"; + } + enum ipf-o-fw2 { + value 50; + description + "IPv4 output feature firewall (NAT)"; + } + enum ipf-o-cmnacl { + value 51; + description + "IPv4 output feature common access list"; + } + enum ipf-o-acl { + value 52; + description + "IPv4 output feature access list"; + } + enum ipf-o-rb-rbacl { + value 53; + description + "IPv4 output feature role-based access list"; + } + enum ipf-o-container { + value 54; + description + "IPv4 output feature container output features"; + } + enum ipf-o-fpm { + value 55; + description + "IPv4 output feature flexible packet match"; + } + enum ipf-o-fw3 { + value 56; + description + "IPv4 output feature firewall (inspect)"; + } + enum ipf-o-auth-proxy { + value 57; + description + "IPv4 output feature auth proxy (return traffic)"; + } + enum ipf-o-tweak-mss { + value 58; + description + "IPv4 output feature TCP adjust mss"; + } + enum ipf-o-tcp-intercept { + value 59; + description + "IPv4 output feature TCP intercept"; + } + enum ipf-o-content-scan { + value 60; + description + "IPv4 output feature content scan proxy out"; + } + enum ipf-o-content-scan-post-proxy { + value 61; + description + "IPv4 output feature content scan post proxy"; + } + enum ipf-o-wan-optimization { + value 62; + description + "IPv4 output feature WAN optimization"; + } + enum ipf-o-n-alg { + value 63; + description + "IPv4 output feature NAT alg proxy"; + } + enum ipf-o-post-perf-mon-async { + value 64; + description + "IPv4 output feature performance monitor async post"; + } + enum ipf-o-perf-mon-async { + value 65; + description + "IPv4 output feature out performance monitor async"; + } + enum ipf-o-pa { + value 66; + description + "IPv4 output feature performance agent"; + } + enum ipf-o-mace-pre-waas { + value 67; + description + "IPv4 output feature measurement aggregation correlation engine output pre waas"; + } + enum ipf-o-waas { + value 68; + description + "IPv4 output feature IOS WAAS optimize"; + } + enum ipf-o-mace-post-waas { + value 69; + description + "IPv4 output feature measurement aggregation correlation engine output post waas"; + } + enum ipf-o-pa-post-waas { + value 70; + description + "IPv4 output feature performance agent output post waas"; + } + enum ipf-o-video-im { + value 71; + description + "IPv4 output feature video intelligent marking"; + } + enum ipf-o-qos-marking { + value 72; + description + "IPv4 output feature QoS marking"; + } + enum ipf-o-acctg { + value 73; + description + "IPv4 output feature IP accounting"; + } + enum ipf-o-rsvp { + value 74; + description + "IPv4 output feature resource reservation protocol"; + } + enum ipf-o-ratelimit { + value 75; + description + "IPv4 output feature output rate limit"; + } + enum ipf-o-qos-cac-fnf { + value 76; + description + "IPv4 output feature output QoS cac netflow"; + } + enum ipf-o-police { + value 77; + description + "IPv4 output feature policing"; + } + enum ipf-o-af-police { + value 78; + description + "IPv4 output feature AF policing"; + } + enum ipf-o-qos-preclass { + value 79; + description + "IPv4 output feature QoS pre-classification"; + } + enum ipf-o-mac-accounting { + value 80; + description + "IPv4 output feature MAC accounting"; + } + enum ipf-o-prec-accounting { + value 81; + description + "IPv4 output feature precedence accounting"; + } + enum ipf-o-flow { + value 82; + description + "IPv4 output feature post ingress netflow"; + } + enum ipf-o-ipsec-dacl { + value 83; + description + "IPv4 output feature IPSEC pre encrypt output acl check"; + } + enum ipf-o-in-fnf-pre-crypto { + value 84; + description + "IPv4 output feature post input pre crypto flexible netflow"; + } + enum ipf-o-ipsec-encrypt { + value 85; + description + "IPv4 output feature IPSEC to crypto engine"; + } + enum ipf-o-post-encrypt-feat { + value 86; + description + "IPv4 output feature post encryption output features"; + } + enum ipf-o-mip-coa-loop-drop { + value 87; + description + "IPv4 output feature MIP COA loop drop"; + } + enum ipf-o-egress-flow { + value 88; + description + "IPv4 output feature egress netflow"; + } + enum ipf-o-iedge-ip-sess-feat { + value 89; + description + "IPv4 output feature i-Edge IP session output features"; + } + enum ipf-o-input-interface-drop { + value 90; + description + "IPv4 output feature input interface drop"; + } + enum ipf-o-pak-export { + value 91; + description + "IPv4 output feature router IP traffic export"; + } + enum ipf-o-service-reflect { + value 92; + description + "IPv4 output feature service reflect"; + } + enum ipf-o-mfib-adj-fixup { + value 93; + description + "IPv4 output feature multicast fib adjacency"; + } + enum ipf-o-punt-unrec-pe-feat { + value 94; + description + "IPv4 output feature punt unrecognised pe feature"; + } + enum ipf-o-perf-mon { + value 95; + description + "IPv4 output feature output performance monitor"; + } + enum ipf-o-vqm { + value 96; + description + "IPv4 output feature output video quality monitor"; + } + enum ipf-o-cent { + value 97; + description + "IPv4 output feature output cent smart probe"; + } + enum ipf-o-input-fnf { + value 98; + description + "IPv4 output feature post input flexible netflow"; + } + enum ipf-o-fnf { + value 99; + description + "IPv4 output feature output flexible netflow"; + } + enum ipf-o-global-fnf { + value 100; + description + "IPv4 output feature output global flexible netflow"; + } + enum ipf-o-debug-packet { + value 101; + description + "IPv4 output feature debug packet"; + } + enum ipf-o-dialer-idle-reset { + value 102; + description + "IPv4 output feature dialer idle reset"; + } + enum ipf-o-dialer-pfle-idle-rst { + value 103; + description + "IPv4 output feature dialer profile idle reset"; + } + enum ipf-o-plat-sc { + value 104; + description + "IPv4 output feature HW shortcut installation"; + } + enum ipf-o-ipe-vlan { + value 105; + description + "IPv4 output feature ipe vlan"; + } + enum ipf-o-check-hwidb { + value 106; + description + "IPv4 output feature check HW idb"; + } + enum ipf-o-topo-acct { + value 107; + description + "IPv4 output feature egress topology stats"; + } + enum ipf-o-agw { + value 108; + description + "IPv4 output feature asn gw downlink packet switch"; + } + enum ipf-o-iedge-ip-session { + value 109; + description + "IPv4 output feature i-Edge IP session output"; + } + enum ipf-o-n-deprecated { + value 110; + description + "IPv4 output feature network address translation"; + } + enum ipf-o-crypto { + value 111; + description + "IPv4 output feature crypto map"; + } + enum ipf-o-iedge-n-out { + value 112; + description + "IPv4 output feature i-Edge NAT out(inside->outside)"; + } + enum ipf-o-pmip-gre { + value 113; + description + "IPv4 output feature proxy mobile IP gre encap"; + } + enum ipf-o-val { + value 114; + description + "IPv4 output feature val output"; + } + } + description + "IPv4 FIB/CEF output switch statistics feature"; + } + + typedef ipv4-post-encap-switching-feature { + type enumeration { + enum ipf-pe-none { + value 0; + description + "IPv4 post encap feature none"; + } + enum ipf-pe-can-not-reuse { + value 1; + description + "IPv4 post encap feature can not reuse"; + } + enum ipf-pe-tunnel-cmd-fixup { + value 2; + description + "IPv4 post encap feature service/metadata exchange CMD fixup"; + } + enum ipf-pe-nsh-fixup { + value 3; + description + "IPv4 post encap feature service/metadata exchange NSH fixup"; + } + enum ipf-pe-lisp-fixup { + value 4; + description + "IPv4 post encap feature locator identifier separation protocol"; + } + enum ipf-pe-fec { + value 5; + description + "IPv4 post encap feature fast ethernet channel"; + } + enum ipf-pe-ratelimit { + value 6; + description + "IPv4 post encap feature post encap rate limit"; + } + enum ipf-pe-mtu { + value 7; + description + "IPv4 post encap feature MTU processing"; + } + enum ipf-pe-outcounter { + value 8; + description + "IPv4 post encap feature IP protocol output counter"; + } + enum ipf-pe-out-acctg { + value 9; + description + "IPv4 post encap feature IP accounting"; + } + enum ipf-pe-mppe-enc { + value 10; + description + "IPv4 post encap feature post-encap IDB microsoft point-to-point encryption"; + } + enum ipf-pe-sendself { + value 11; + description + "IPv4 post encap feature IP send self check"; + } + enum ipf-pe-mac-accounting { + value 12; + description + "IPv4 post encap feature MAC accounting"; + } + enum ipf-pe-prec-accounting { + value 13; + description + "IPv4 post encap feature precedence accounting"; + } + enum ipf-pe-isl-mark { + value 14; + description + "IPv4 post encap feature inter-switch link"; + } + enum ipf-pe-dike { + value 15; + description + "IPv4 post encap feature data over IKEV2 post encap output classification"; + } + enum ipf-pe-ipsec { + value 16; + description + "IPv4 post encap feature IPSEC post encap output classification"; + } + enum ipf-pe-n-fixup { + value 17; + description + "IPv4 post encap feature post encap NAT fixup"; + } + enum ipf-pe-tunnel-n-fixup { + value 18; + description + "IPv4 post encap feature tunnel fixup"; + } + enum ipf-pe-sia { + value 19; + description + "IPv4 post encap feature SIA post encap fixup"; + } + enum ipf-pe-fm-ace { + value 20; + description + "IPv4 post encap feature firmware access list"; + } + enum ipf-pe-dhcps { + value 21; + description + "IPv4 post encap feature DHCP snooping"; + } + enum ipf-pe-plat-sc { + value 22; + description + "IPv4 post encap feature HW shortcut installation"; + } + enum ipf-pe-iphc { + value 23; + description + "IPv4 post encap feature IPHC output classification"; + } + enum ipf-pe-tunnel-traffic-shaping { + value 24; + description + "IPv4 post encap feature tunnel traffic shaping"; + } + enum ipf-pe-vmi { + value 25; + description + "IPv4 post encap feature QoS on virtual multipoint interface"; + } + enum ipf-pe-vmi-nbma-mcast { + value 26; + description + "IPv4 post encap feature nbma multicast on virtual multipoint interface"; + } + enum ipf-pe-tun-to { + value 27; + description + "IPv4 post encap feature tunnel-to"; + } + enum ipf-pe-pmip-gre-encap { + value 28; + description + "IPv4 post encap feature proxy mobile IP gre encap"; + } + enum ipf-pe-mip-mr-gre-encap { + value 29; + description + "IPv4 post encap feature mip mr gre encap"; + } + enum ipf-pe-qos-proc-marking { + value 30; + description + "IPv4 post encap feature QoS marking"; + } + enum ipf-pe-af-police { + value 31; + description + "IPv4 post encap feature QoS policing"; + } + enum ipf-pe-qos-marking { + value 32; + description + "IPv4 post encap feature QoS marking"; + } + enum ipf-pe-dpss-flow-acts { + value 33; + description + "IPv4 post encap feature onep DPSS flow actions"; + } + enum ipf-pe-onep-pol-acts { + value 34; + description + "IPv4 post encap feature onep policy actions PE"; + } + enum ipf-pe-ether-native-cmd { + value 35; + description + "IPv4 post encap feature IPv4 ether native CMD fixup"; + } + enum ipf-pe-ether-dot1q-cmd { + value 36; + description + "IPv4 post encap feature IPv4 ether DOT1Q CMD fixup"; + } + enum ipf-pe-ether-dot1q-in-1q-cmd { + value 37; + description + "IPv4 post encap feature IPv4 ether DOT1Q in 1Q CMD fixup"; + } + enum ipf-pe-cent { + value 38; + description + "IPv4 post encap feature CENT auto tunnel"; + } + enum ipf-pe-packet-capture { + value 39; + description + "IPv4 post encap feature CEF packet capture"; + } + enum ipf-pe-process-packet-capture { + value 40; + description + "IPv4 post encap feature CEF process packet capture"; + } + enum ipf-pe-out-li { + value 41; + description + "IPv4 post encap feature post encap packet capture for lawful intercept"; + } + enum ipf-pe-final-handoff-node { + value 42; + description + "IPv4 post encap feature final output handoff node"; + } + enum ipf-pe-trm-fixup { + value 43; + description + "IPv4 post encap feature tenant routed multicast"; + } + } + description + "IPv4 FIB/CEF post encap switch statistics feature"; + } + + typedef ipv4-for-us-switching-feature { + type enumeration { + enum ipf-for-us-none { + value 0; + description + "IPv4 feature for us none"; + } + enum ipf-for-us-rb-rbacl { + value 1; + description + "IPv4 feature for us role-based access list"; + } + enum ipf-for-us-nat { + value 2; + description + "IPv4 feature for us network address translation"; + } + enum ipf-for-us-cce-post-n-c { + value 3; + description + "IPv4 feature for us CCE post NAT"; + } + enum ipf-for-us-cce-firewall { + value 4; + description + "IPv4 feature for us CCE firewall"; + } + enum ipf-for-us-inspect { + value 5; + description + "IPv4 feature for us inspect"; + } + enum ipf-for-us-debug-packet { + value 6; + description + "IPv4 feature for us debug packet"; + } + enum ipf-for-us-rg-ar { + value 7; + description + "IPv4 feature for us RG AR for us"; + } + enum ipf-for-us-udp-fatpath { + value 8; + description + "IPv4 feature for us UDP fast path"; + } + enum ipf-for-us-copp { + value 9; + description + "IPv4 feature for us control plane policing"; + } + } + description + "IPV4 FIB/CEF for-us switch statistics feature"; + } + + typedef ipv4-punt-switching-feature { + type enumeration { + enum ipf-punt-none { + value 0; + description + "IPv4 feature punt none"; + } + enum ipf-punt-cppr { + value 1; + description + "IPv4 feature punt control plane protection"; + } + enum ipf-punt-sla { + value 2; + description + "IPv4 feature punt service level agreement"; + } + enum ipf-punt-netflow { + value 3; + description + "IPv4 feature punt netflow"; + } + enum ipf-punt-tcp-adjust-mss { + value 4; + description + "IPv4 feature punt TCP adjust MSS"; + } + enum ipf-punt-spd-c { + value 5; + description + "IPv4 feature punt SPD classify"; + } + enum ipf-punt-input-fnf { + value 6; + description + "IPv4 feature punt input FNF"; + } + enum ipf-punt-protbundle-in { + value 7; + description + "IPv4 feature punt port bundle host key feature undo"; + } + enum ipf-punt-packet-capture { + value 8; + description + "IPv4 feature punt packet capture"; + } + enum ipf-punt-wccp { + value 9; + description + "IPv4 feature punt back out WCCp redirection"; + } + enum ipf-punt-bma-redrct { + value 10; + description + "IPv4 feature punt broadcast multi-access redirect"; + } + enum ipf-punt-crypto-map-ipsec { + value 11; + description + "IPv4 feature punt IPSec punt"; + } + enum ipf-punt-cce-notify { + value 12; + description + "IPv4 feature punt CCE DP turbo notify"; + } + enum ipf-punt-perf-mon-async { + value 13; + description + "IPv4 feature punt performance monitor async punt"; + } + enum ipf-punt-ttl-check-multicast { + value 14; + description + "IPv4 feature punt TTL check for multicast pkt"; + } + } + description + "IPv4 FIB/CEF punt switch statistics feature"; + } + + typedef ipv4-local-switching-feature { + type enumeration { + enum ipf-local-none { + value 0; + description + "IPv4 feature local none"; + } + enum ipf-local-punt-unrec-feat { + value 1; + description + "IPv4 feature local punt unrecognised feature"; + } + enum ipf-local-nat { + value 2; + description + "IPv4 feature local network address translation"; + } + enum ipf-local-policy { + value 3; + description + "IPv4 feature local policy routing"; + } + enum ipf-local-casa { + value 4; + description + "IPv4 feature local cisco appliance and services architecture"; + } + enum ipf-local-packet-capture { + value 5; + description + "IPv4 feature local packet capture"; + } + enum ipf-local-udlr { + value 6; + description + "IPv4 feature local uni-directional link routing"; + } + enum ipf-local-rcli { + value 7; + description + "IPv4 feature local remote CLI"; + } + enum ipf-local-clustering { + value 8; + description + "IPv4 feature local local clustering"; + } + enum ipf-local-ezvpn { + value 9; + description + "IPv4 feature local EzVPN local"; + } + enum ipf-local-wlc { + value 10; + description + "IPv4 feature local wireless controller"; + } + enum ipf-local-sslvpn-bw-check { + value 11; + description + "IPv4 feature local SSLVPN bandwidth check local"; + } + enum ipf-local-csg-app { + value 12; + description + "IPv4 feature local CSG application"; + } + enum ipf-local-rb-proxy { + value 13; + description + "IPv4 feature local role-based proxy"; + } + enum ipf-local-pmip-mag-lmn { + value 14; + description + "IPv4 feature local logical MN local"; + } + enum ipf-local-ike-proxy { + value 15; + description + "IPv4 feature local local-ike proxy"; + } + enum ipf-local-auth-proxy { + value 16; + description + "IPv4 feature local auth proxy"; + } + } + description + "IPv4 FIB/CEF local switch statistics feature"; + } + + typedef ipv6-fib-not-cef-reason { + type enumeration { + enum v6fib-ncr-no-route { + value 0; + description + "IPv6 FIB not CEF reason no route"; + } + enum v6fib-ncr-receive { + value 1; + description + "IPv6 FIB not CEF reason packet destined For-us"; + } + enum v6fib-ncr-encap-failed { + value 2; + description + "IPv6 FIB not CEF reason encapsulation failure"; + } + enum v6fib-ncr-encap-resource { + value 3; + description + "IPv6 FIB not CEF reason encapsulation resource"; + } + enum v6fib-ncr-no-adjacency { + value 4; + description + "IPv6 FIB not CEF reason no adjacency"; + } + enum v6fib-ncr-incmp-adj { + value 5; + description + "IPv6 FIB not CEF reason incomplete adjacency"; + } + enum v6fib-ncr-loop-detected { + value 6; + description + "IPv6 FIB not CEF reason output chain looped"; + } + enum v6fib-ncr-unresolved { + value 7; + description + "IPv6 FIB not CEF reason unresolved route"; + } + enum v6fib-ncr-unsup { + value 8; + description + "IPv6 FIB not CEF reason unsupported"; + } + enum v6fib-ncr-illegal-len { + value 9; + description + "IPv6 FIB not CEF reason illegal length"; + } + enum v6fib-ncr-bad-hop { + value 10; + description + "IPv6 FIB not CEF reason bad hop, TTL expired"; + } + enum v6fib-ncr-hop-options { + value 11; + description + "IPv6 FIB not CEF reason hop-by-hop header"; + } + enum v6fib-ncr-frag-fail { + value 12; + description + "IPv6 FIB not CEF reason fragmentation failed"; + } + enum v6fib-ncr-discard { + value 13; + description + "IPv6 FIB not CEF reason discard"; + } + enum v6fib-ncr-nu110 { + value 14; + description + "IPv6 FIB not CEF reason routed to Null0"; + } + enum v6fib-ncr-multicast { + value 15; + description + "IPv6 FIB not CEF reason multicast"; + } + enum v6fib-ncr-feat { + value 16; + description + "IPv6 FIB not CEF reason features"; + } + enum v6fib-ncr-shaping { + value 17; + description + "IPv6 FIB not CEF reason shaping"; + } + enum v6fib-ncr-ip-redrct { + value 18; + description + "IPv6 FIB not CEF reason IPv6 redirects"; + } + enum v6fib-ncr-p2p-connected { + value 19; + description + "IPv6 FIB not CEF reason routed to P2P prefix"; + } + enum v6fib-ncr-mtu-exceeded { + value 20; + description + "IPv6 FIB not CEF reason MTU exceeded"; + } + enum v6fib-ncr-linklocal { + value 21; + description + "IPv6 FIB not CEF reason link-local source address"; + } + enum v6fib-ncr-unclassified { + value 22; + description + "IPv6 FIB not CEF reason unclassified reason"; + } + enum v6fib-ncr-access-fail { + value 23; + description + "IPv6 FIB not CEF reason access-list deny"; + } + enum v6fib-ncr-urpf-fail { + value 24; + description + "IPv6 FIB not CEF reason unicast RPF fail"; + } + enum v6fib-ncr-neighbor-res-req { + value 25; + description + "IPv6 FIB not CEF reason neighbor resolution req"; + } + enum v6fib-ncr-runt-packet { + value 26; + description + "IPv6 FIB not CEF reason runt packet"; + } + enum v6fib-ncr-bad-version { + value 27; + description + "IPv6 FIB not CEF reason bad version"; + } + enum v6fib-ncr-no-adj-fltrd { + value 28; + description + "IPv6 FIB not CEF reason no adjacency (filtered)"; + } + enum v6fib-ncr-incmp-adj-fltrd { + value 29; + description + "IPv6 FIB not CEF reason incomplete adjacency (filtered)"; + } + enum v6fib-ncr-decap-recursion-limit { + value 30; + description + "IPv6 FIB not CEF reason decap recursion limit"; + } + enum v6fib-ncr-td-pak-validation { + value 31; + description + "IPv6 FIB not CEF reason tun decap, packet validation"; + } + enum v6fib-ncr-td-src { + value 32; + description + "IPv6 FIB not CEF reason tun decap, source"; + } + enum v6fib-ncr-td-dst { + value 33; + description + "IPv6 FIB not CEF reason tun decap, destination"; + } + enum v6fib-ncr-td-transport-table { + value 34; + description + "IPv6 FIB not CEF reason tun decap, transport table"; + } + enum v6fib-ncr-td-protocol { + value 35; + description + "IPv6 FIB not CEF reason tun decap, protocol"; + } + enum v6fib-ncr-td-no-vector { + value 36; + description + "IPv6 FIB not CEF reason tun decap, no vector"; + } + enum v6fib-ncr-td-no-dispatcher { + value 37; + description + "IPv6 FIB not CEF reason tun Decap, no dispatcher"; + } + enum v6fib-ncr-td-dispatcher-drop { + value 38; + description + "IPv6 FIB not CEF reason tun decap, dispatcher drop"; + } + enum v6fib-ncr-td-no-protocol { + value 39; + description + "IPv6 FIB not CEF reason tun decap, no protocol"; + } + enum v6fib-ncr-td-gre-options { + value 40; + description + "IPv6 FIB not CEF reason tun decap, GRE options"; + } + enum v6fib-ncr-td-gre-key-mismatch { + value 41; + description + "IPv6 FIB not CEF reason tun decap, GRE key"; + } + enum v6fib-ncr-td-gre-unsup-payload { + value 42; + description + "IPv6 FIB not CEF reason tun decap, GRE payload"; + } + enum v6fib-ncr-no-adj-queued-resolution { + value 43; + description + "IPv6 FIB not CEF reason no adjacency, queued resolution"; + } + enum v6fib-ncr-incmp-adj-queued { + value 44; + description + "IPv6 FIB not CEF reason incomplete adjacency, queued resolution"; + } + enum v6fib-ncr-bad-checksum { + value 45; + description + "IPv6 FIB not CEF reason bad checksum"; + } + enum v6fib-ncr-unspec-src-addr { + value 46; + description + "IPv6 FIB not CEF reason unspecified source address"; + } + enum v6fib-ncr-bad-src-addr { + value 47; + description + "IPv6 FIB not CEF reason bad source address"; + } + enum v6fib-ncr-unable-to-coalesce { + value 48; + description + "IPv6 FIB not CEF reason unable to coalesce"; + } + enum v6fib-ncr-lisp-too-small { + value 49; + description + "IPv6 FIB not CEF reason LISP too small"; + } + enum v6fib-ncr-lisp-unkn-iid { + value 50; + description + "IPv6 FIB not CEF reason LISP unknown instance ID"; + } + enum v6fib-ncr-tx-fs-unsup { + value 51; + description + "IPv6 FIB not CEF reason TX fast switching unsupported"; + } + enum v6fib-ncr-adj-fixup { + value 52; + description + "IPv6 FIB not CEF reason adjacency fixup"; + } + } + description + "IPv6 FIB/CEF not CEF reason switch statistics"; + } + + typedef ipv6-input-switching-feature { + type enumeration { + enum ipv6f-in-none { + value 0; + description + "IPv6 input feature none"; + } + enum ipv6f-in-no-cef { + value 1; + description + "IPv6 input feature no CEF switching"; + } + enum ipv6f-in-debug-packet { + value 2; + description + "IPv6 input feature debug packet"; + } + enum ipv6f-in-cft { + value 3; + description + "IPv6 input feature common flow table"; + } + enum ipv6f-in-stile { + value 4; + description + "IPv6 input feature stile classification"; + } + enum ipv6f-in-stile-cypher-text { + value 5; + description + "IPv6 input feature stile classification on cypher text"; + } + enum ipv6f-in-metadata { + value 6; + description + "IPv6 input feature flow metadata"; + } + enum ipv6f-in-cce-c { + value 7; + description + "IPv6 input feature CCE input classification"; + } + enum ipv6f-in-perf-mon-c { + value 8; + description + "IPv6 input feature input performance monitor classification"; + } + enum ipv6f-in-smef-c { + value 9; + description + "IPv6 input feature service/metadata exchange input classification"; + } + enum ipv6f-in-onep-mpss-pkt { + value 10; + description + "IPv6 input feature multiprotocol stateless switching IP header processing"; + } + enum ipv6f-in-dpss-flow-acts { + value 11; + description + "IPv6 input feature ONEP DPSS flow actions"; + } + enum ipv6f-in-onep-pol-acts { + value 12; + description + "IPv6 input feature input-onep-pol-acts"; + } + enum ipv6f-in-perf-mon { + value 13; + description + "IPv6 input feature input performance monitor"; + } + enum ipv6f-in-perf-mon-ts { + value 14; + description + "IPv6 input feature performance monitor get timestamp"; + } + enum ipv6f-in-vqm { + value 15; + description + "IPv6 input feature input video quality monitor"; + } + enum ipv6f-in-fnf { + value 16; + description + "IPv6 input feature input flexible netflow"; + } + enum ipv6f-in-global-fnf { + value 17; + description + "IPv6 input feature input global flexible netflow"; + } + enum ipv6f-in-netflow-ingress { + value 18; + description + "IPv6 input feature ingress netflow"; + } + enum ipv6f-in-packet-capture { + value 19; + description + "IPv6 input feature packet capture"; + } + enum ipv6f-in-process-packet-capture { + value 20; + description + "IPv6 input feature process packet capture"; + } + enum ipv6f-in-lisp-smr { + value 21; + description + "IPv6 input feature LISP-SMR"; + } + enum ipv6f-in-punt-unrec-feat { + value 22; + description + "IPv6 input feature punt unrecognised feature"; + } + enum ipv6f-in-dialer-input-if-override { + value 23; + description + "IPv6 input feature dialer I/F override"; + } + enum ipv6f-in-lisp-mobility { + value 24; + description + "IPv6 input feature LISP mobility"; + } + enum ipv6f-in-lisp-disable { + value 25; + description + "IPv6 input feature LISP disable"; + } + enum ipv6f-in-lisp { + value 26; + description + "IPv6 input feature LISP-ETR"; + } + enum ipv6f-in-rtg-mode { + value 27; + description + "IPv6 input feature host mode"; + } + enum ipv6f-in-iedge-ip-sess-classifier { + value 28; + description + "IPv6 input feature i-Edge IPv6 session input classifier"; + } + enum ipv6f-in-nam-monitoring { + value 29; + description + "IPv6 input feature NAM monitoring"; + } + enum ipv6f-in-sm-monitoring { + value 30; + description + "IPv6 input feature SM monitoring"; + } + enum ipv6f-in-qos-c { + value 31; + description + "IPv6 input feature QOS classify"; + } + enum ipv6f-in-cpc { + value 32; + description + "IPv6 input feature common pak sub-block"; + } + enum ipv6f-in-vfr { + value 33; + description + "IPv6 input feature virtual fragment reassembly"; + } + enum ipv6f-in-auth-proxy { + value 34; + description + "IPv6 input feature auth proxy"; + } + enum ipv6f-in-epm-http-redrct { + value 35; + description + "IPv6 input feature EPM HTTP redirect"; + } + enum ipv6f-in-cmn-acl { + value 36; + description + "IPv6 input feature common access list"; + } + enum ipv6f-in-acl { + value 37; + description + "IPv6 input feature access list"; + } + enum ipv6f-in-qos-acts { + value 38; + description + "IPv6 input feature QOS actions"; + } + enum ipv6f-in-pbr { + value 39; + description + "IPv6 input feature policy-based routing"; + } + enum ipv6f-in-ipsec { + value 40; + description + "IPv6 input feature IPSEC"; + } + enum ipv6f-in-rpf { + value 41; + description + "IPv6 input feature verify unicast reverse-path"; + } + enum ipv6f-in-cft-post-vpn { + value 42; + description + "IPv6 input feature common flow table post VPN"; + } + enum ipv6f-in-cce-post-crypto-c { + value 43; + description + "IPv6 input feature CCE input post crypto classification"; + } + enum ipv6f-in-perf-mon-async { + value 44; + description + "IPv6 input feature in performance monitor async"; + } + enum ipv6f-in-pa { + value 45; + description + "IPv6 input feature performance agent"; + } + enum ipv6f-in-mace { + value 46; + description + "IPv6 input feature measurement aggregation correlation engine input"; + } + enum ipv6f-in-pa-post-waas { + value 47; + description + "IPv6 input feature performance agent post WAAS"; + } + enum ipv6f-in-stile-clear-text { + value 48; + description + "IPv6 input feature stile classification on clear text"; + } + enum ipv6f-in-ip-multiplex { + value 49; + description + "IPv6 input feature IPv6 multiplexing"; + } + enum ipv6f-in-mr { + value 50; + description + "IPv6 input feature mobile router filters"; + } + enum ipv6f-in-li { + value 51; + description + "IPv6 input feature lawful intercept"; + } + enum ipv6f-in-wccp { + value 52; + description + "IPv6 input feature web cache communications protocol"; + } + enum ipv6f-in-gtp { + value 53; + description + "IPv6 input feature GPRS tunneling protocol"; + } + enum ipv6f-in-sbc { + value 54; + description + "IPv6 input feature session border controller"; + } + enum ipv6f-in-casa { + value 55; + description + "IPv6 input feature IPv6 CASA"; + } + enum ipv6f-in-rb-proxy { + value 56; + description + "IPv6 input feature role-based proxy"; + } + enum ipv6f-in-pdsn { + value 57; + description + "IPv6 input feature packet data serving node"; + } + enum ipv6f-in-bma-redrct { + value 58; + description + "IPv6 input feature broadcast multi access redirect"; + } + enum ipv6f-in-csg2-app { + value 59; + description + "IPv6 input feature CSG application"; + } + enum ipv6f-in-lisp-alt-intercept { + value 60; + description + "IPv6 input feature LISP ALT intercept"; + } + enum ipv6f-in-rpl-fwd { + value 61; + description + "IPv6 input feature routing policy language"; + } + enum ipv6f-in-iedge { + value 62; + description + "IPv6 input feature i-Edge IPv6 features input path"; + } + enum ipv6f-in-iedge-ip-sess-feats { + value 63; + description + "IPv6 input feature i-Edge IPv6 features input session"; + } + enum ipv6f-in-iedge-ip-sess-driver { + value 64; + description + "IPv6 input feature i-Edge IPv6 session RX driver"; + } + enum ipv6f-in-pmip-revtunn { + value 65; + description + "IPv6 input feature proxy mobile IPv6 reverse tunnel"; + } + enum ipv6f-in-tun-to-redrct { + value 66; + description + "IPv6 input feature tunnel to traffic redirection"; + } + enum ipv6f-in-tweak-mss { + value 67; + description + "IPv6 input feature IPv6 TCP adjust MSS"; + } + enum ipv6f-in-vmi-switch-pak { + value 68; + description + "IPv6 input feature virtual multipoint interface control plane packets switch"; + } + enum ipv6f-in-plat-sc { + value 69; + description + "IPv6 input feature HW shortcut installation"; + } + } + description + "IPv6 FIB/CEF input switch statistics feature"; + } + + typedef ipv6-output-switching-feature { + type enumeration { + enum ipv6f-out-none { + value 0; + description + "IPv6 output feature none"; + } + enum ipv6f-out-punt-unrec-feat { + value 1; + description + "IPv6 output feature punt unrecognised feature"; + } + enum ipv6f-out-iedge-ip-sess-classifier { + value 2; + description + "IPv6 output feature i-Edge IPv6 session output classifier"; + } + enum ipv6f-out-ip-multiplex { + value 3; + description + "IPv6 output feature IPv6 multiplexing"; + } + enum ipv6f-out-cpc { + value 4; + description + "IPv6 output feature common pak sub-block in egress"; + } + enum ipv6f-out-vfr { + value 5; + description + "IPv6 output feature virtual fragment reassembly in egress"; + } + enum ipv6f-out-cft { + value 6; + description + "IPv6 output feature common flow table"; + } + enum ipv6f-out-stile { + value 7; + description + "IPv6 output feature stile classification"; + } + enum ipv6f-out-ioam6-pr6 { + value 8; + description + "IPv6 output feature in-band oam IPv6 insertion"; + } + enum ipv6f-out-metadata { + value 9; + description + "IPv6 output feature flow metadata"; + } + enum ipv6f-out-netflow-ingress { + value 10; + description + "IPv6 output feature post ingress netflow"; + } + enum ipv6f-out-rtg-mode { + value 11; + description + "IPv6 output feature host mode"; + } + enum ipv6f-out-wccp { + value 12; + description + "IPv6 output feature web cache communications protocol"; + } + enum ipv6f-out-cce-c { + value 13; + description + "IPv6 output feature cce classification"; + } + enum ipv6f-out-cce-firewall { + value 14; + description + "IPv6 output feature zone based firewall"; + } + enum ipv6f-out-qos-c { + value 15; + description + "IPv6 output feature QoS classify"; + } + enum ipv6f-out-rb-rbacl { + value 16; + description + "IPv6 output feature role-based access list"; + } + enum ipv6f-out-cmn-acl { + value 17; + description + "IPv6 output feature common access list"; + } + enum ipv6f-out-onep-mpss-pkt { + value 18; + description + "IPv6 output feature multiprotocol stateless switching IP header processing"; + } + enum ipv6f-out-dpss-flow-acts { + value 19; + description + "IPv6 output feature onep DPSS flow actions"; + } + enum ipv6f-out-onep-pol-acts { + value 20; + description + "IPv6 output feature output onep policy actions"; + } + enum ipv6f-out-video-im { + value 21; + description + "IPv6 output feature video intelligent marking"; + } + enum ipv6f-out-qos-acts { + value 22; + description + "IPv6 output feature QoS actions"; + } + enum ipv6f-out-mr { + value 23; + description + "IPv6 output feature mobile router encapsulation"; + } + enum ipv6f-out-inspect { + value 24; + description + "IPv6 output feature firewall inspection"; + } + enum ipv6f-out-post-perf-mon-async { + value 25; + description + "IPv6 output feature performance monitor async post"; + } + enum ipv6f-out-perf-mon-async { + value 26; + description + "IPv6 output feature out performance monitor async"; + } + enum ipv6f-out-pa { + value 27; + description + "IPv6 output feature performance agent"; + } + enum ipv6f-out-mace { + value 28; + description + "IPv6 output feature measurement aggregation correlation engine output"; + } + enum ipv6f-out-pa-post-waas { + value 29; + description + "IPv6 output feature performance agent post waas"; + } + enum ipv6f-out-nat64 { + value 30; + description + "IPv6 output feature NAT64"; + } + enum ipv6f-out-n-pt { + value 31; + description + "IPv6 output feature NST PT"; + } + enum ipv6f-out-li { + value 32; + description + "IPv6 output feature lawful intercept"; + } + enum ipv6f-out-iedge { + value 33; + description + "IPv6 output feature i-Edge IPv6 features output path"; + } + enum ipv6f-out-gtp { + value 34; + description + "IPv6 output feature GPRS tunneling protocol"; + } + enum ipv6f-out-mfib-adj-fixup { + value 35; + description + "IPv6 output feature multicast FIB adjacency"; + } + enum ipv6f-out-input-interface-drop { + value 36; + description + "IPv6 output feature input interface drop"; + } + enum ipv6f-out-nhrp-shortcut { + value 37; + description + "IPv6 output feature NHRP shortcut switching"; + } + enum ipv6f-out-nhrp-redrct { + value 38; + description + "IPv6 output feature NHRP redirect"; + } + enum ipv6f-out-input-fnf-pre-crypto { + value 39; + description + "IPv6 output feature post input pre crypto flexible netflow"; + } + enum ipv6f-out-ipsec { + value 40; + description + "IPv6 output feature IPSEC"; + } + enum ipv6f-out-check-hwidb { + value 41; + description + "IPv6 output feature check HW IDB"; + } + enum ipv6f-out-cts-l3 { + value 42; + description + "IPv6 output feature CTS layer 3"; + } + enum ipv6f-out-rpl-fwd { + value 43; + description + "IPv6 output feature routing policy language"; + } + enum ipv6f-out-iedge-ip-sess-feats { + value 44; + description + "IPv6 output feature i-Edge IPv6 session output features"; + } + enum ipv6f-out-pmip-gre { + value 45; + description + "IPv6 output feature proxy mobile IPv6 GRE encap"; + } + enum ipv6f-out-tweak-mss { + value 46; + description + "IPv6 output feature IPv6 TCP adjust MSS"; + } + enum ipv6f-out-nam-monitoring { + value 47; + description + "IPv6 output feature NAM out packet monitoring"; + } + enum ipv6f-out-sm-monitoring { + value 48; + description + "IPv6 output feature SM out packet monitoring"; + } + enum ipv6f-out-punt-unrec-pe-feat { + value 49; + description + "IPv6 output feature punt unrecognised PE feature"; + } + enum ipv6f-out-debug-packet { + value 50; + description + "IPv6 output feature debug packet"; + } + enum ipv6f-out-acl { + value 51; + description + "IPv6 output feature access list"; + } + enum ipv6f-out-plat-sc { + value 52; + description + "IPv6 output feature hw shortcut installation"; + } + enum ipv6f-out-dialer-idle-reset { + value 53; + description + "IPv6 output feature dialer idle reset"; + } + enum ipv6f-out-icmp-unreach { + value 54; + description + "IPv6 output feature icmpv6 unreachables"; + } + enum ipv6f-out-perf-mon { + value 55; + description + "IPv6 output feature output performance monitor"; + } + enum ipv6f-out-vqm { + value 56; + description + "IPv6 output feature output video quality monitor"; + } + enum ipv6f-out-input-fnf { + value 57; + description + "IPv6 output feature post input flexible netflow"; + } + enum ipv6f-out-fnf { + value 58; + description + "IPv6 output feature output flexible netflow"; + } + enum ipv6f-out-global-fnf { + value 59; + description + "IPv6 output feature output global flexible netflow"; + } + } + description + "IPv6 FIB/CEF output switch statistics feature"; + } + + typedef ipv6-post-encap-switching-feature { + type enumeration { + enum ipv6f-post-encap-none { + value 0; + description + "IPv6 post encap feature none"; + } + enum ipv6-feat-pe-tunnel-cmd-fixup { + value 1; + description + "IPv6 post encap feature service/metadata exchange CMD fixup"; + } + enum ipv6-feat-pe-nsh-fixup { + value 2; + description + "IPv6 post encap feature service/metadata exchange NSH fixup"; + } + enum ipv6-feat-pe-lisp-fixup { + value 3; + description + "IPv6 post encap feature location identifier separation protocol"; + } + enum ipv6-feat-pe-dike { + value 4; + description + "IPv6 post encap feature data over IKEV2 post encap output classification"; + } + enum ipv6f-post-encap-ipsec { + value 5; + description + "IPv6 post encap feature IPSEC post encap output classification"; + } + enum ipv6f-post-encap-hw-sc { + value 6; + description + "IPv6 post encap feature HW shortcut"; + } + enum ipv6f-post-encap-qos-acts { + value 7; + description + "IPv6 post encap feature QoS actions"; + } + enum ipv6f-post-encap-vmi { + value 8; + description + "IPv6 post encap feature QoS on virtual multipoint interface"; + } + enum ipv6-feat-pe-tun-to { + value 9; + description + "IPv6 post encap feature tunnel-to"; + } + enum ipv6-feat-pe-pmip-gre-encap { + value 10; + description + "IPv6 post encap feature proxy mobile IP GRE encap"; + } + enum ipv6-feat-pe-dpss-flow-acts { + value 11; + description + "IPv6 post encap feature onep DPSS flow actions"; + } + enum ipv6-feat-pe-onep-pol-acts { + value 12; + description + "IPv6 post encap feature onep policy actions PE"; + } + enum ipv6-feat-pe-ether-native-cmd { + value 13; + description + "IPv6 post encap feature ipv6 ether native CMD fixup"; + } + enum ipv6-feat-pe-ether-dot1q-cmd { + value 14; + description + "IPv6 post encap feature ipv6 ether DOT1Q CMD fixup"; + } + enum ipv6-feat-pe-ether-dot1q-in-1q-cmd { + value 15; + description + "IPv6 post encap feature ipv6 ether DOT1Q in 1Q CMD fixup"; + } + enum ipv6f-post-encap-packet-capture { + value 16; + description + "IPv6 post encap feature packet capture"; + } + enum ipv6-feat-pe-process-packet-capture { + value 17; + description + "IPv6 post encap feature process packet capture"; + } + enum ipv6-feat-pe-tun-6rd { + value 18; + description + "IPv6 post encap feature tunnel 6RD"; + } + } + description + "IPv6 fib/CEF post encap switch statistics feature"; + } + + typedef ipv6-for-us-switching-feature { + type enumeration { + enum ipv6f-for-us-none { + value 0; + description + "IPv6 for-us feature none"; + } + enum ipv6f-for-us-debud-packet { + value 1; + description + "IPv6 for-us feature debug packet"; + } + enum ipv6f-for-us-ipsec { + value 2; + description + "IPv6 for-us feature ipsec protection for locally terminated IPv6 pak"; + } + enum ipv6f-for-us-rb-rbacl { + value 3; + description + "IPv6 for-us feature role-based access list"; + } + enum ipv6f-for-us-cts-l3 { + value 4; + description + "IPv6 for-us feature CTS layer 3"; + } + enum ipv6f-for-us-cce-c { + value 5; + description + "IPv6 for-us feature CCE classification"; + } + enum ipv6f-for-us-cce-firewall { + value 6; + description + "IPv6 for-us feature zone based firewall"; + } + enum ipv6f-for-us-tcp-adjust-mss { + value 7; + description + "IPv6 for-us feature IPv6 TCP adjust MSS"; + } + enum ipv6f-for-us-wpan-mcast-fwd-agent { + value 8; + description + "IPv6 for-us feature wireless personal area network IPv6 mesh multicast forward agent"; + } + enum ipv6f-for-us-nat64-map { + value 9; + description + "IPv6 for-us feature NAT64 map-e"; + } + enum ipv6f-for-us-lfts-intercept { + value 10; + description + "IPv6 for-us feature classic IOS LFTS intercept"; + } + } + description + "IPv6 FIB/CEF for-us switch statistics feature"; + } + + typedef ipv6-punt-switching-feature { + type enumeration { + enum ipv6f-punt-none { + value 0; + description + "IPv6 punt feature none"; + } + enum ipv6f-punt-cppr { + value 1; + description + "IPv6 punt feature control plane protection"; + } + enum ipv6f-punt-fnf { + value 2; + description + "IPv6 punt feature flexible netflow"; + } + enum ipv6f-punt-wccp { + value 3; + description + "IPv6 punt feature back out WCCP redirection"; + } + enum ipv6f-punt-spd-c { + value 4; + description + "IPv6 punt feature SPD classification"; + } + enum ipv6f-punt-bma-redrct { + value 5; + description + "IPv6 punt feature broadcast multi access redirect"; + } + enum ipv6f-punt-packet-capture { + value 6; + description + "IPv6 punt feature packet capture"; + } + enum ipv6f-punt-tcp-adjust-mss { + value 7; + description + "IPv6 punt feature IPv6 TCP adjust MSS"; + } + enum ipv6f-punt-sla { + value 8; + description + "IPv6 punt feature IPv6 SLA"; + } + enum ipv6f-punt-perf-mon-async { + value 9; + description + "IPv6 punt feature performance monitor async punt"; + } + enum ipv6f-punt-ttl-check-multicast { + value 10; + description + "IPv6 punt feature IPv6 TTL check for multicast"; + } + } + description + "IPv6 FIB/CEF punt switch statistics feature"; + } + + grouping fib-nexthop-entry { + description + "FIB Next-hop Entry"; + leaf nh-addr { + type inet:ip-prefix; + description + "Next hop IP Address"; + } + leaf index { + type uint32; + description + "Unique Next-hop Path Index"; + } + leaf af { + type fib-ios-xe-oper:fib-address-family; + description + "Address Family"; + } + leaf ifname { + type string; + description + "Output Interface Name"; + } + leaf path-type { + type fib-ios-xe-oper:fib-path-type; + description + "FIB path type"; + } + leaf path-id { + type uint32; + description + "Unique Next-hop Path Index"; + } + leaf weight { + type uint8; + description + "Next-hop weight"; + } + leaf encap { + type fib-ios-xe-oper:encapsulation-header-type; + description + "Encapsulation Header Type"; + } + leaf decap { + type fib-ios-xe-oper:encapsulation-header-type; + description + "Decapsulation Header Type"; + } + leaf resolved-nh-addr { + type inet:ip-prefix; + description + "Resolved Nexthop IP Address"; + } + } + + grouping fib-entry { + description + "FIB Entry"; + leaf ip-addr { + type inet:ip-prefix; + description + "IP address"; + } + leaf instance-name { + type string; + description + "Instance Name"; + } + leaf af { + type fib-ios-xe-oper:fib-address-family; + description + "Address Family"; + } + leaf num-paths { + type uint8; + description + "Number of Paths available"; + } + leaf packets-forwarded { + type uint64; + description + "Packets forwarded through this entry"; + } + leaf octets-forwarded { + type uint64; + description + "Octets forwarded through this entry"; + } + list fib-nexthop-entries { + key "nh-addr"; + description + "List of FIB next-hop entries"; + uses fib-ios-xe-oper:fib-nexthop-entry; + } + } + + grouping fib-ni-entry { + description + "FIB Network Instance Entry"; + leaf instance-name { + type string; + description + "Instance Name"; + } + leaf af { + type fib-ios-xe-oper:fib-address-family; + description + "Address Family"; + } + leaf num-pfx { + type uint32; + description + "Number of prefixes"; + } + leaf num-pfx-fwd { + type uint32; + description + "Number of forwarding prefixes"; + } + leaf num-pfx-non-fwd { + type uint32; + description + "Number of non-forwarding prefixes"; + } + list fib-entries { + key "ip-addr"; + description + "List of FIB entries"; + uses fib-ios-xe-oper:fib-entry; + } + } + + grouping adjacency-entry { + description + "FIB adjacency"; + leaf refcount { + type uint32; + description + "Adjacency refcount"; + } + leaf incomplete { + type boolean; + description + "Adjacency incomplete"; + } + } + + grouping adjacency-entry-key { + description + "FIB adjacency key"; + leaf connection-id { + type uint64; + description + "Adjacency connection id"; + } + leaf address { + type inet:ip-address; + description + "Adjacency address"; + } + leaf linktype { + type fib-ios-xe-oper:adj-link-type; + description + "Adjacency linktype"; + } + leaf if-name { + type string; + description + "Adjacency interface name"; + } + } + + grouping adjacency-table { + description + "Adjacency information"; + leaf num-adjacencies { + type uint32; + description + "Number of adjacencies"; + } + leaf num-complete-adjacencies { + type uint32; + description + "Number of complete adjacencies"; + } + leaf num-incomplete-adjacencies { + type uint32; + description + "Number of incomplete adjacencies"; + } + list adjacency-entry { + key "connection-id address linktype if-name"; + description + "Adjacency node information"; + uses fib-ios-xe-oper:adjacency-entry; + uses fib-ios-xe-oper:adjacency-entry-key; + } + } + + grouping ipv4-fib-state { + description + "IPv4 FIB/CEF state"; + leaf fib-enabled { + type empty; + description + "FIB/CEF enabled"; + } + leaf fib-running { + type empty; + description + "FIB/CEF running"; + } + leaf fib-reenable { + type empty; + description + "FIB/CEF re-enable"; + } + leaf fib-dist-enabled { + type empty; + description + "Distributed FIB/CEF enabled"; + } + leaf fib-dist-running { + type empty; + description + "Distributed FIB/CEF running"; + } + leaf fib-dist-reenable { + type empty; + description + "Distributed FIB/CEF re-enable"; + } + leaf fib-shutting-down { + type empty; + description + "FIB/CEF shutting down"; + } + leaf fib-switching-enabled { + type empty; + description + "FIB/CEF switching enabled"; + } + leaf fib-switching-running { + type empty; + description + "FIB/CEF switching running"; + } + leaf alg-type { + type fib-ios-xe-oper:fib-hash-algs-type; + description + "FIB hash algorithm type"; + } + } + + grouping ipv6-fib-state { + description + "IPv6 FIB/CEF state"; + leaf fib-enabled { + type empty; + description + "FIB/CEF enabled"; + } + leaf fib-running { + type empty; + description + "FIB/CEF running"; + } + leaf fib-dist-enabled { + type empty; + description + "Distributed FIB/CEF enabled"; + } + leaf fib-dist-running { + type empty; + description + "Distributed FIB/CEF running"; + } + leaf alg-type { + type fib-ios-xe-oper:fib-hash-algs-type; + description + "FIB hash algorithm type"; + } + } + + grouping fib-rrp-state { + description + "FIB/CEF RRP state"; + leaf i-am-standby { + type empty; + description + "Standby RRP"; + } + leaf peer-presence { + type empty; + description + "RF peer presence"; + } + leaf peer-comm-reached { + type empty; + description + "RF peer comm reached"; + } + leaf rf-has-done-standby-config { + type empty; + description + "RF peer config done"; + } + leaf rf-prog-blocked { + type empty; + description + "RF progression blocked"; + } + leaf nsf-sync-enabled { + type empty; + description + "NSF sync enabled"; + } + leaf lc-nsf-sync-running { + type empty; + description + "LC NSF sync running"; + } + } + + grouping fib-issu-state { + description + "FIB/CEF ISSU state"; + leaf xdrc-fibhwidb-broker { + type empty; + description + "External Data Representation client FIB Hardware IDB broker"; + } + leaf xdrc-fibidb-broker { + type empty; + description + "External Data Representation client FIB IDB broker"; + } + leaf xdrc-fibhwsb-broker { + type empty; + description + "External Data Representation client FIB Hardware Sub-block broker"; + } + leaf xdrc-fibswsb-broker { + type empty; + description + "External Data Representation client FIB Software Sub-block broker"; + } + leaf xdrc-adj-broker { + type empty; + description + "External Data Representation client Adjacency broker"; + } + leaf xdrc-ipv4-broker { + type empty; + description + "External Data Representation client IPv4 broker"; + } + leaf xdrc-ipv6-broker { + type empty; + description + "External Data Representation client IPv6 broker"; + } + leaf xdrc-cef { + type empty; + description + "External Data Representation client CEF"; + } + } + + grouping fib-state { + description + "FIB/CEF state"; + leaf instance-type { + type fib-ios-xe-oper:fib-instance-type; + description + "FIB/CEF instance type"; + } + leaf fib-common-enabled { + type boolean; + description + "Common FIB/CEF enabled"; + } + container ipv4 { + description + "IPv4 FIB/CEF state"; + uses fib-ios-xe-oper:ipv4-fib-state; + } + container ipv6 { + description + "IPv6 FIB/CEF state"; + uses fib-ios-xe-oper:ipv6-fib-state; + } + container rrp { + description + "RRP FIB/CEF state"; + uses fib-ios-xe-oper:fib-rrp-state; + } + container issu { + description + "ISSU FIB/CEF state"; + uses fib-ios-xe-oper:fib-issu-state; + } + } + + grouping ipv4-fib-capability-state { + description + "FIB/CEF IPv4 capability state"; + leaf default-fib-switching { + type empty; + description + "Default FIB/CEF switching"; + } + leaf always-fib-switching { + type empty; + description + "Always FIB/CEF switching"; + } + leaf default-dfib-switching { + type empty; + description + "Default distributed FIB/CEF switching"; + } + leaf always-dfib-switching { + type empty; + description + "Always distributed FIB/CEF switching"; + } + leaf multicast-pkt-drop { + type empty; + description + "Drop multicast packets"; + } + leaf punt-ok { + type empty; + description + "Punt ok"; + } + leaf do-not-nvgen-fib-state { + type empty; + description + "NVGEN FIB/CEF state"; + } + leaf fastsend-used { + type empty; + description + "fast send function used"; + } + leaf no-per-packet-load { + type empty; + description + "Support per packet load sharing"; + } + leaf mcast-groups-in-table { + type empty; + description + "Multicast (*,G) groups in CEF"; + } + leaf rib-installs-locals { + type empty; + description + "Install local entries from RIB"; + } + } + + grouping ipv6-fib-capability-state { + description + "IPv6 FIB/CEF capability state"; + leaf default-fib-switching { + type empty; + description + "Default FIB/CEF switching"; + } + leaf always-fib-switching { + type empty; + description + "Always FIB/CEF switching"; + } + leaf default-dfib-switching { + type empty; + description + "Default distributed FIB/CEF switching"; + } + leaf always-dfib-switching { + type empty; + description + "Always distributed FIB/CEF switching"; + } + leaf multicast-pkt-drop { + type empty; + description + "Drop multicast packets"; + } + leaf punt-ok { + type empty; + description + "OK to punt packets"; + } + leaf do-not-nvgen-fib-state { + type empty; + description + "NVGEN FIB/CEF state"; + } + leaf fastsend-used { + type empty; + description + "fast send function used"; + } + } + + grouping fib-capability-state { + description + "FIB/CEF capability state"; + leaf distributed-platform { + type empty; + description + "Distributed platform"; + } + leaf warm-or-hot-standby-supported { + type empty; + description + "Warm or Hot Standby supported"; + } + leaf non-stop-forwarding { + type empty; + description + "CEF NSF capable"; + } + leaf hw-fwd-in-use { + type empty; + description + "Hardware forwarding"; + } + leaf fib-chck-auto-repair { + type empty; + description + "Checker auto-repair supported"; + } + leaf crashdump-when-no-mem { + type empty; + description + "Crash dump on memory failure"; + } + leaf block-sso-until-rrp-synced { + type empty; + description + "Blocking STANDBY HOT until synced"; + } + container ipv4 { + description + "IPv4 CEF capability state"; + uses fib-ios-xe-oper:ipv4-fib-capability-state; + } + container ipv6 { + description + "IPv6 CEF capability state"; + uses fib-ios-xe-oper:ipv6-fib-capability-state; + } + } + + grouping cef-state { + description + "CEF state"; + container fib { + description + "FIB/CEF state"; + uses fib-ios-xe-oper:fib-state; + } + container capability { + description + "FIB/CEF capability state"; + uses fib-ios-xe-oper:fib-capability-state; + } + } + + grouping ip-cef-lisp-statistics { + description + "FIB/CEF LISP statistics"; + leaf map-requests { + type uint64; + description + "Map requests"; + } + leaf unexpected-map-requests { + type uint64; + description + "Unexpected map requests"; + } + leaf map-cache-deletes { + type uint64; + description + "Map cache deletes"; + } + leaf map-requests-resolve-dgt { + type uint64; + description + "Map requests resolve DGT"; + } + } + + grouping ipv4-switching-in-feat { + description + "IPv4 FIB/CEF input switching statistics feature"; + leaf input-features { + type fib-ios-xe-oper:ipv4-input-switching-feature; + description + "Input switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-gave-route { + type uint64; + description + "Total gave route action"; + } + } + + grouping ipv4-swi-output-feat { + description + "IPv4 FIB/CEF output switching statistics feature"; + leaf output-features { + type fib-ios-xe-oper:ipv4-output-switching-feature; + description + "output switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv4-swi-post-encap-feat { + description + "IPv4 FIB/CEF post-encap switching statistics feature"; + leaf post-encap-features { + type fib-ios-xe-oper:ipv4-post-encap-switching-feature; + description + "Post-encap switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv4-swi-for-us-feat { + description + "IPv4 FIB/CEF for-us switching statistics feature"; + leaf for-us-features { + type fib-ios-xe-oper:ipv4-for-us-switching-feature; + description + "For-us switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv4-swi-punt-feat { + description + "IPv4 FIB/CEF punt switching statistics feature"; + leaf punt-features { + type fib-ios-xe-oper:ipv4-punt-switching-feature; + description + "Punt switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv4-swi-local-feat { + description + "IPv4 FIB/CEF local switching statistics feature"; + leaf local-features { + type fib-ios-xe-oper:ipv4-local-switching-feature; + description + "Local switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-gave-route { + type uint64; + description + "Total gave route action"; + } + } + + grouping ipv6-switching-in-feat { + description + "IPv6 FIB/CEF input switching statistics feature"; + leaf input-features { + type fib-ios-xe-oper:ipv6-input-switching-feature; + description + "Input switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-gave-route { + type uint64; + description + "Total gave route action"; + } + } + + grouping ipv6-switching-out-feat { + description + "IPv6 FIB/CEF output switching statistics feature"; + leaf output-features { + type fib-ios-xe-oper:ipv6-output-switching-feature; + description + "output switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv6-switching-pe-feat { + description + "IPv6 FIB/CEF post-encap switching statistics feature"; + leaf post-encap-features { + type fib-ios-xe-oper:ipv6-post-encap-switching-feature; + description + "Post-encap switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv6-switching-for-us-feat { + description + "IPv6 FIB/CEF for-us switching statistics feature"; + leaf for-us-features { + type fib-ios-xe-oper:ipv6-for-us-switching-feature; + description + "For-us switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv6-switching-punt-feat { + description + "IPv6 FIB/CEF punt switching statistics feature"; + leaf punt-features { + type fib-ios-xe-oper:ipv6-punt-switching-feature; + description + "Punt switching statistics feature"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-consume { + type uint64; + description + "Total consume and count action"; + } + leaf total-punt { + type uint64; + description + "Total punt to next switching layer action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + leaf total-new-if { + type uint64; + description + "Total resume switching on different interface (new I/F) action"; + } + } + + grouping ipv4-switching { + description + "IPV4 FIB/CEF switching statistics"; + leaf reason { + type fib-ios-xe-oper:ipv4-fib-not-cef-reason; + description + "Reason no FIB/CEF switch statistics"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-punt { + type uint64; + description + "Total punt action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + } + + grouping ipv6-switching { + description + "IPV6 FIB/CEF switching statistics"; + leaf reason { + type fib-ios-xe-oper:ipv6-fib-not-cef-reason; + description + "Reason no FIB/CEF switch statistics"; + } + leaf total-drop { + type uint64; + description + "Total drop action"; + } + leaf total-punt { + type uint64; + description + "Total punt action"; + } + leaf total-punt2host { + type uint64; + description + "Total punt to process action"; + } + } + + grouping cef-statistics { + description + "CEF statistics"; + container ipv4-lisp { + description + "IPV4 FIB/CEF LISP forwarding module statistics"; + uses fib-ios-xe-oper:ip-cef-lisp-statistics; + } + container ipv6-lisp { + description + "IPV6 FIB/CEF LISP forwarding module statistics"; + uses fib-ios-xe-oper:ip-cef-lisp-statistics; + } + list ipv4-switching { + key "reason"; + description + "List of IPV4 FIB/CEF switching statistics"; + uses fib-ios-xe-oper:ipv4-switching; + } + list ipv6-switching { + key "reason"; + description + "List of IPV6 FIB/CEF switching statistics"; + uses fib-ios-xe-oper:ipv6-switching; + } + list ipv4-swi-input-feat { + key "input-features"; + description + "List of IPv4 FIB/CEF switching statistics input feature"; + uses fib-ios-xe-oper:ipv4-switching-in-feat; + } + list ipv4-swi-output-feat { + key "output-features"; + description + "List of IPv4 FIB/CEF switching statistics output feature"; + uses fib-ios-xe-oper:ipv4-swi-output-feat; + } + list ipv4-swi-post-encap-feat { + key "post-encap-features"; + description + "List of IPv4 FIB/CEF switching statistics post-encap feature"; + uses fib-ios-xe-oper:ipv4-swi-post-encap-feat; + } + list ipv4-swi-for-us-feat { + key "for-us-features"; + description + "List of IPv4 FIB/CEF switching statistics for-us feature"; + uses fib-ios-xe-oper:ipv4-swi-for-us-feat; + } + list ipv4-swi-punt-feat { + key "punt-features"; + description + "List of IPv4 FIB/CEF switching statistics punt feature"; + uses fib-ios-xe-oper:ipv4-swi-punt-feat; + } + list ipv4-swi-local-feat { + key "local-features"; + description + "List of IPv4 FIB/CEF switching statistics local feature"; + uses fib-ios-xe-oper:ipv4-swi-local-feat; + } + list ipv6-swi-input-feat { + key "input-features"; + description + "List of IPv6 FIB/CEF switching statistics input feature"; + uses fib-ios-xe-oper:ipv6-switching-in-feat; + } + list ipv6-swi-output-feat { + key "output-features"; + description + "List of IPv6 FIB/CEF switching statistics output feature"; + uses fib-ios-xe-oper:ipv6-switching-out-feat; + } + list ipv6-swi-post-encap-feat { + key "post-encap-features"; + description + "List of IPv6 FIB/CEF switching statistics post-encap feature"; + uses fib-ios-xe-oper:ipv6-switching-pe-feat; + } + list ipv6-swi-for-us-feat { + key "for-us-features"; + description + "List of IPv6 FIB/CEF switching statistics for-us feature"; + uses fib-ios-xe-oper:ipv6-switching-for-us-feat; + } + list ipv6-swi-punt-feat { + key "punt-features"; + description + "List of IPv6 FIB/CEF switching statistics punt feature"; + uses fib-ios-xe-oper:ipv6-switching-punt-feat; + } + } + + grouping ip-input-features { + description + "List of interface IPv4 enabled input features"; + leaf-list feature { + type fib-ios-xe-oper:ipv4-input-switching-feature; + max-elements 131; + ordered-by user; + description + "Enabled input feature"; + } + } + + grouping ip-output-features { + description + "List of interface IPv4 enabled output features"; + leaf-list feature { + type fib-ios-xe-oper:ipv4-output-switching-feature; + max-elements 115; + ordered-by user; + description + "Enabled output feature"; + } + } + + grouping ip-post-encap-features { + description + "List of interface IPv4 enabled post encap features"; + leaf-list feature { + type fib-ios-xe-oper:ipv4-post-encap-switching-feature; + max-elements 44; + ordered-by user; + description + "Enabled post encap feature"; + } + } + + grouping ip-states { + description + "Interface IP states"; + leaf ip-ucast-rpf-chk-en { + type boolean; + description + "IP unicast RPF check"; + } + leaf ip-pol-routing-en { + type boolean; + description + "IP policy routing"; + } + leaf ip-cef-swi-en { + type boolean; + description + "IP CEF switching"; + } + } + + grouping bgp-states { + description + "BGP based policy states"; + leaf bgp-pol-acc-in-en { + type boolean; + description + "BGP input policy accounting"; + } + leaf bgp-pol-acc-out-en { + type boolean; + description + "BGP output policy accounting"; + } + } + + grouping if-unnumbered-info { + description + "Unnumbered interface name and IP address"; + leaf unnum-if-name { + type string; + description + "Unnumbered interface name"; + } + leaf unnum-addr { + type inet:ip-address; + description + "Unnumbered interface IP address"; + } + } + + grouping if-secondary-addresses { + description + "List of interface secondary IP addresses"; + leaf ip-addr { + type inet:ip-address; + description + "Interface secondary IP address"; + } + } + + grouping ipv6-states { + description + "Interface IPv6 states"; + leaf ipv6-en { + type boolean; + description + "IPv6 enabled"; + } + leaf cef-swi-en { + type boolean; + description + "IPv6 CEF switching enabled"; + } + leaf dcef-swi-en { + type boolean; + description + "Distributed CEF switching enabled"; + } + leaf intf-punt-pak { + type boolean; + description + "Packets to this interface are punted"; + } + leaf intf-lc-punt-pak { + type boolean; + description + "Packets to this interface are punted on the linecard"; + } + leaf intf-drop-pak { + type boolean; + description + "Packets to this interface are dropped"; + } + } + + grouping cef-interface { + description + "FIB/CEF interface"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-number { + type uint32; + description + "Interface number"; + } + leaf if-up { + type boolean; + description + "Either interface is up or down"; + } + leaf addr { + type inet:ip-prefix; + description + "IP address for this interface"; + } + leaf if-unnum-config { + type empty; + description + "When configured, unnumbered interface info is present"; + } + container if-unnum { + when 'boolean(../if-unnum-config)'; + description + "Unnumbered interface name and IP address"; + uses fib-ios-xe-oper:if-unnumbered-info; + } + list if-sec-addr { + description + "List of interface secondary IP addresses"; + uses fib-ios-xe-oper:if-secondary-addresses; + } + leaf hwidb-fast-if-num { + type uint32; + description + "Corresponding hwidb fast interface number"; + } + leaf hwidb-firstsw-if-num { + type uint32; + description + "Corresponding hwidb first software interface number"; + } + container ip-states { + description + "Interface IP states"; + uses fib-ios-xe-oper:ip-states; + } + leaf ipv6-sub-block { + type empty; + description + "IPv6 Sub-block on interface"; + } + container ipv6-states { + when 'boolean(../ipv6-sub-block)'; + description + "Interface IPv6 states"; + uses fib-ios-xe-oper:ipv6-states; + } + container bgp-states { + description + "Interface BGP based policy accounting states"; + uses fib-ios-xe-oper:bgp-states; + } + container ip-input-features { + description + "List of IPv4 enabled input features"; + uses fib-ios-xe-oper:ip-input-features; + } + container ip-output-features { + description + "List of IPv4 enabled output features"; + uses fib-ios-xe-oper:ip-output-features; + } + container ip-post-encap-features { + description + "List of IPv4 enabled post encap features"; + uses fib-ios-xe-oper:ip-post-encap-features; + } + leaf if-index { + type uint32; + description + "I/F index"; + } + leaf ip-mtu { + type uint32; + description + "IP MTU"; + } + leaf slot-unit { + type uint32; + description + "Slot unit number"; + } + leaf slot-vc { + type int32; + description + "VC number"; + } + } + + container fib-oper-data { + config false; + description + "Cisco Express Forwarding operational data"; + list fib-ni-entry { + key "instance-name"; + description + "FIB Network Instances"; + uses fib-ios-xe-oper:fib-ni-entry; + } + container adjacency-table { + presence "adjacency-table"; + description + "FIB adjacency information"; + uses fib-ios-xe-oper:adjacency-table; + } + container cef-state { + presence "cef-state"; + description + "CEF state information"; + uses fib-ios-xe-oper:cef-state; + } + container cef-statistics { + presence "cef-statistics"; + description + "CEF statistics information"; + uses fib-ios-xe-oper:cef-statistics; + } + list cef-interface { + key "if-name"; + description + "CEF interface information"; + uses fib-ios-xe-oper:cef-interface; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-monitor-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-monitor-oper.yang new file mode 100644 index 000000000..0291c11ff --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-monitor-oper.yang @@ -0,0 +1,611 @@ +module Cisco-IOS-XE-flow-monitor-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-flow-monitor-oper"; + prefix flow-monitor-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Flexible NetFlow Operational data. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2017-11-30 { + description + "Additional models for statistics"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2017-04-01 { + description + "Put keys on one line"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef flow-exporter-ipwrite-stats-type { + type enumeration { + enum flow-exporter-ipwrite-stats-ok { + value 0; + description + "Normal Statistics event"; + } + enum flow-exporter-ipwrite-stats-no-fib { + value 1; + description + "No Forwarding Information Base event"; + } + enum flow-exporter-ipwrite-stats-fail-event { + value 2; + description + "Adjacency failed event"; + } + enum flow-exporter-ipwrite-stats-process { + value 3; + description + "Process switch event"; + } + enum flow-exporter-ipwrite-stats-enqueue-failed { + value 4; + description + "Enqueue Failed event"; + } + enum flow-exporter-ipwrite-stats-ipc-failed { + value 5; + description + "IPC failed event"; + } + enum flow-exporter-ipwrite-stats-output-failed { + value 6; + description + "Output failed event"; + } + enum flow-exporter-ipwrite-stats-mtu-failed { + value 7; + description + "Maximum Transmission Unit failed event"; + } + enum flow-exporter-ipwrite-stats-encapfix-failed { + value 8; + description + "Encapsulation Fixup failed event"; + } + enum flow-exporter-ipwrite-stats-cef-off { + value 9; + description + "Cisco Express Forwarding off event"; + } + enum flow-exporter-ipwrite-stats-other { + value 10; + description + "Other event"; + } + enum flow-exporter-ipwrite-stats-rate-limit { + value 11; + description + "Rate Limit event"; + } + enum flow-exporter-ipwrite-stats-no-destination { + value 12; + description + "No destination event"; + } + } + description + "The Netflow export statistics"; + } + + typedef flow-monitor-cache-type { + type enumeration { + enum flow-monitor-cache-type-normal { + value 0; + description + "Normal Flow monitor cache"; + } + enum flow-monitor-cache-type-permanent { + value 1; + description + "Permanent cache type"; + } + enum flow-monitor-cache-type-synchronized { + value 2; + description + "Synchronized Flow monitor cache type"; + } + enum flow-monitor-cache-type-immediate { + value 3; + description + "Immediate Flow monitor cache type"; + } + } + description + "The flow monitor cache type"; + } + + typedef flow-monitor-cache-state { + type enumeration { + enum flow-monitor-cache-state-being-deleted { + value 0; + description + "Flow monitor cache is being deleted"; + } + enum flow-monitor-cache-state-being-allocated { + value 1; + description + "Flow monitor cache is being allocated"; + } + enum flow-monitor-cache-state-not-allocated { + value 2; + description + "Flow monitor cache is not allocated"; + } + } + description + "Flow monitor cache state"; + } + + grouping oper-flow-key { + description + "Unique identifier of a flow"; + leaf source-address { + type string; + description + "Source address of the flow"; + } + leaf destination-address { + type string; + description + "Destination address of the flow"; + } + leaf interface-input { + type string; + description + "Input interface of the flow"; + } + leaf is-multicast { + type string; + description + "Multicast flow"; + } + leaf vrf-id-input { + type int64; + description + "VRF ID input"; + } + leaf source-port { + type int64; + description + "Source port number"; + } + leaf destination-port { + type int64; + description + "Destination port number"; + } + leaf ip-tos { + type string; + description + "ip-tos value"; + } + leaf ip-protocol { + type int64; + description + "IP protocol number"; + } + } + + grouping oper-flow { + description + "Flow details"; + leaf interface-output { + type string; + description + "Output interface of the flow"; + } + leaf bytes { + type int64; + description + "Number of bytes passed through"; + } + leaf packets { + type int64; + description + "Number of packets passed through"; + } + } + + grouping oper-flow-monitor { + description + "Flow monitor details"; + leaf name { + type string; + description + "Name of the flow monitor"; + } + leaf time-collected { + type uint64; + description + "Time the flow monitor data was collected in seconds"; + } + container flows { + description + "All the flows for this flow monitor"; + list flow { + key "source-address destination-address interface-input is-multicast vrf-id-input source-port destination-port ip-tos ip-protocol"; + description + "List of flows"; + uses flow-monitor-ios-xe-oper:oper-flow-key; + uses flow-monitor-ios-xe-oper:oper-flow; + } + } + } + + grouping flow-export-ipwrite-stats { + description + "Flow export statistics"; + leaf type { + type flow-monitor-ios-xe-oper:flow-exporter-ipwrite-stats-type; + description + "The type of the export statistics"; + } + leaf pkt-counts { + type uint64; + description + "The packet counts that have been exported"; + } + leaf byte-counts { + type uint64; + description + "The byte counts that have been exported"; + } + } + + grouping flow-export-protocol-stats { + description + "Flow export protocol statistics"; + leaf bytes-added { + type uint64; + description + "Number of byte added to the exporter"; + } + leaf bytes-sent { + type uint64; + description + "Bytes sent on this exporter"; + } + leaf bytes-dropped { + type uint64; + description + "Bytes dropped "; + } + leaf records-added { + type uint64; + description + "Number of records added"; + } + leaf records-sent { + type uint64; + description + "Number of records sent"; + } + leaf records-dropped { + type uint64; + description + "Number of records dropped"; + } + } + + grouping flow-exporter-client { + description + "Flow exporter client"; + leaf name { + type string; + description + "The name of the flow export client"; + } + leaf group { + type string; + description + "The group that this exporter client belongs to"; + } + container protocol-stats { + description + "The container with the protocol statistics"; + uses flow-monitor-ios-xe-oper:flow-export-protocol-stats; + } + } + + grouping flow-transport-stats { + description + "Flow transport statistics"; + leaf last-cleared { + type yang:date-and-time; + description + "Time when the statistics were last cleared"; + } + list flow-exporter-stats { + description + "Container of the exporter statistics"; + uses flow-monitor-ios-xe-oper:flow-export-ipwrite-stats; + } + } + + grouping flow-export-statistics { + description + "The flow exporter statistics"; + leaf name { + type string; + description + "The name of the flow exporter"; + } + container transport-stats { + description + "The container for the transport statistics"; + uses flow-monitor-ios-xe-oper:flow-transport-stats; + } + list export-client { + description + "The container for the export client information"; + uses flow-monitor-ios-xe-oper:flow-exporter-client; + } + } + + grouping flow-monitor-cache-info { + description + "The flow monitor cache information"; + leaf state { + type flow-monitor-ios-xe-oper:flow-monitor-cache-state; + description + "The state of the flow cache"; + } + leaf type { + type string; + description + "The type of the flow cache"; + } + leaf cache-name { + type string; + description + "The name of the cache"; + } + leaf status { + type string; + description + "The status of the cache"; + } + leaf num-entries { + type uint64; + description + "The number of entries permissible in the cache"; + } + leaf num-bytes { + type uint64; + description + "The number of bytes in the cache"; + } + } + + grouping flow-monitor-statistics { + description + "The flow monitor statistics"; + leaf monitor-name { + type string; + description + "The name of the flow monitor"; + } + leaf description { + type string; + description + "The description of the flow monitor"; + } + leaf record-name { + type string; + description + "The name of the record"; + } + leaf-list active-flow-exporter { + type string; + ordered-by user; + description + "The active flow exporters"; + } + leaf-list inactive-flow-exporter { + type string; + ordered-by user; + description + "The inactive flow exporters"; + } + leaf invalid-packet-counts { + type uint64; + description + "The number of invalid packet counts"; + } + container cache-data { + description + "The grouping of the cache data"; + uses flow-monitor-ios-xe-oper:flow-monitor-cache-info; + } + leaf transaction-end-ager-enabled { + type boolean; + description + "Indicate whether the transaction end ager is enabled"; + } + leaf protocol-dist-configured { + type string; + description + "The protocol distribution is configured"; + } + leaf size-dist-configured { + type string; + description + "The size distribution is configured"; + } + choice cache-type-choice { + description + "The type of cache configured"; + case flow-monitor-cache-type-normal { + leaf inactive-timer { + type uint32; + description + "The inactive timer on the normal cache"; + } + leaf active-timer { + type uint32; + description + "The active time on the normal cache"; + } + } + case flow-monitor-cache-type-permanent { + leaf update-timeout { + type uint32; + description + "The update timeout of the permanent type"; + } + } + case flow-monitor-cache-type-synchronized { + leaf synchronized-timeout { + type uint32; + description + "The timeout of the synchronized cache"; + } + leaf export-spread-interval { + type uint32; + description + "The export spread interval"; + } + } + case flow-monitor-cache-type-immediate { + leaf immediate-timeout { + type uint32; + description + "The timeout for the immediate cache"; + } + } + } + } + + grouping flow-cache-statistics { + description + "The flow cache statistics"; + leaf name { + type string; + description + "The name of the flow cache"; + } + leaf cache-size { + type uint64; + description + "The size of the cache"; + } + leaf current-entries { + type uint64; + description + "The current number of entries"; + } + leaf high-watermark { + type uint64; + description + "The high watermark of flows"; + } + leaf flows-added { + type uint64; + description + "The number of flows added"; + } + leaf flows-aged { + type uint64; + description + "The number of flows that have been aged"; + } + leaf active-flows-timed-out { + type uint64; + description + "The number of flows that have been timed out + whilst still active"; + } + leaf inactive-flows-timed-out { + type uint64; + description + "The number of flows that have been timed out + for inactivity"; + } + } + + container flow-monitors { + config false; + description + "All of the flow monitors"; + list flow-monitor { + key "name"; + description + "List of Flow monitors"; + uses flow-monitor-ios-xe-oper:oper-flow-monitor; + } + list flow-export-statistics { + key "name"; + description + "List of statistics per exporter"; + uses flow-monitor-ios-xe-oper:flow-export-statistics; + } + list flow-cache-statistics { + key "name"; + description + "List of statistics per flow cache"; + uses flow-monitor-ios-xe-oper:flow-cache-statistics; + } + list flow-monitor-statistics { + key "monitor-name"; + description + "List of statistics per flow monitor"; + uses flow-monitor-ios-xe-oper:flow-monitor-statistics; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-rpc.yang new file mode 100644 index 000000000..57ac89007 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow-rpc.yang @@ -0,0 +1,78 @@ +module Cisco-IOS-XE-flow-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-flow-rpc"; + prefix ios-xe-flow-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Flow RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice" { + case flow-case { + container flow { + description + "Flow monitor clear commands"; + choice flow-choice { + case monitor-case { + container monitor { + leaf name { + mandatory true; + type string; + } + choice monitor-option { + leaf force-export { + type empty; + } + leaf statistics { + type empty; + } + container cache { + leaf force-export { + type empty; + } + } + } + } + } + case export-case { + container exporter { + leaf name { + type string; + } + leaf statistics { + type empty; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-flow.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow.yang new file mode 100644 index 000000000..c0a30f354 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-flow.yang @@ -0,0 +1,5636 @@ +module Cisco-IOS-XE-flow { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-flow"; + prefix ios-flow; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native NetFlow Yang model. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support to Port-channel sub interface + - Fixed dependencies in sampler model + - Added annotation to support record replace in flow monitor + - Added source interface and vrf name to file export model + - Added ipv6 flow monitor support for Ethernet interface"; + cisco-semver:module-version "4.1.0"; + } + revision 2024-03-01 { + description + "- Added appqoe ipv6 support + - Added firewall ipv6 support"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-11-01 { + description + "- Predefined flow records: added assurance-dns and assurance-dhcp + - Add flow-name type to replace string type for monitor record exporter and sampler names + - Fix file exporter defaults + - Flow monitor attach/detach to/from interface: add dependency on monitor existence. + - Updated missing match and collect fields in a flow record. + - Added exporter CLI. Added cts-sgt-table option table. + - cache type default set to normal"; + cisco-semver:module-version "3.7.0"; + } + revision 2023-07-01 { + description + "- File-export: add HTTPS transport + - File-export: change destination from ipv4 to string"; + cisco-semver:module-version "3.6.0"; + } + revision 2023-03-01 { + description + "- Added more file-export parameters + - Added Remote Access fields"; + cisco-semver:module-version "3.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added BFD metrics for flow exporter + - Added new collect for Cloud Region ID"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-07-01 { + description + "- Added new collect for Cloud SaaS path type + - Added export-spread for flow exporter + - Added firewall user name field"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "- Added new multi tenant opt table"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Modify dscp-input for flow record + - Added must condition for flow monitor + - Added new collect for unified logging utd"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Added new collect for service area"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added new collect for Appqoe Multi-SN + - Added new collects for unified logging + - Added new optional tables for unified logging"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-07-01 { + description + "- Added new collect for traffic category on Cloud Express"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added new counters for AppQoe SSL"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new appqoe config + - removed output-feature config under exporter configuration + - Added new when statement under flow-vendor-version-grouping"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add support for predefined assurance and assurance-rtp flow records + Added new predefined records under flow monitor + - record netflow ipv4 assurance-rtp + - record netflow ipv6 assurance-rtp + - record wireless avc ipv4 assurance-rtp + - record wireless avc ipv6 assurance-rtp"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-22 { + description + "Adding below missing CLI's as part of CSCvm07845: + - Add new fields under flow record + - application cisco-collaboration + - application citrix citrix-ica-tag + - application first-in-flow <> + - application sip <> + - application ssh <> + - application ssl session-idh + - application tftp source-file + - vxlan <> + - wireless <> + - flow id + - pfr br ipv4 address + - interface output physical + - ipv4/ipv6 dscp output + - Add mtu field under flow exporter"; + } + revision 2018-10-22 { + description + "This revision has changes for ATM, Multilink and Vlan interfaces addition"; + } + revision 2018-10-01 { + description + "Add leafref to flow monitor to cause deletion of flow references first"; + } + revision 2018-09-22 { + description + "This revison has changes for serial,dialer,service,cellular interface addition"; + } + revision 2018-07-31 { + description + "Add dependency for ip visibility global flow monitor sdwan_flow_monitor"; + } + revision 2018-05-18 { + description + "Changes for cedge platforms: + - Add dependency to ip flow and add dependency to flow exporter + - Add local sdwan destination option for exporter, as well as exporter match command for filtering + - Add tunnel-to-tloc option table + - Add FNF global config 'ip visibility ...' + - Add new fields under flow record + - overlay session id input/output + - routing vrf service + - connection id long"; + } + revision 2018-01-04 { + description + "Added destination local wlc and options for record wireless avc"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revison has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-14 { + description + "This revison has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-06-28 { + description + "add match datalink vlan input/output under flow record"; + } + revision 2017-06-18 { + description + "add flow record collect connection delay response to-server histogram late support"; + } + revision 2017-04-19 { + description + "flow exporter source interface dependency on loopbacks"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef flow-name { + type string { + pattern '[a-zA-Z0-9\-_@\[\]{}()\.]*'; + } + } + + grouping flow-name-grouping { + container name { + description + "Application name"; + presence "true"; + leaf account-on-resolution { + description + "Account on resolution"; + type empty; + } + } + } + + grouping flow-dns-match-grouping { + container dns { + description + "Domain Name Server lookup"; + leaf qtype { + description + "Query type"; + type empty; + } + leaf rcode { + description + "Response Code"; + type empty; + } + } + } + + grouping flow-webex-media-grouping { + container webex-media { + description + "Webex audio, video and file sharing,and media with HTTP-Proxy configured"; + leaf webex_flow_id { + description + "Webex Meeting Flow ID - userid (4 bytes) + config id (8 bytes)"; + type empty; + } + } + } + + grouping flow-vendor-version-grouping { + leaf vendor { + description + "Application vendor id"; + when "/ios:native/ios:flow/ios-flow:record/ios-flow:type = 'performance-monitor'"; + type empty; + } + leaf version { + description + "Application version id"; + when "/ios:native/ios:flow/ios-flow:record/ios-flow:type = 'performance-monitor'"; + type empty; + } + } + + grouping flow-client-ipv4-ipv6-transport-grouping { + container ipv4 { + description + "Client side IPv4 metrics"; + leaf address { + description + "IPv4 address of the flow initiator"; + type empty; + } + } + container ipv6 { + description + "Client side IPv6 metrics"; + leaf address { + description + "IPv6 address of the flow initiator"; + type empty; + } + } + container transport { + description + "Client side transport metrics"; + leaf port { + description + "Transport port of the flow initiator"; + type empty; + } + } + } + + grouping flow-server-ipv4-ipv6-transport-grouping { + container ipv4 { + description + "Server side IPv4 metrics"; + leaf address { + description + "IPv4 address of the flow responder"; + type empty; + } + } + container ipv6 { + description + "Server side IPv6 metrics"; + leaf address { + description + "IPv6 address of the flow responder"; + type empty; + } + } + container transport { + description + "Server side transport metrics"; + leaf port { + description + "Transport port of the flow responder"; + type empty; + } + } + } + + grouping flow-transaction-id-grouping { + leaf transaction-id { + description + "An identifier for a transaction between client and server"; + type empty; + } + } + + grouping flow-id-initiator-grouping { + leaf initiator { + description + "The direction of the flow"; + type empty; + } + } + + grouping flow-datalink-grouping { + leaf destination-vlan-id { + description + "ID of the VLAN that the packet is going to"; + type empty; + } + container dot1q { + description + "dot1q field"; + leaf priority { + description + "The CoS field out of the dot1q header"; + type empty; + } + container vlan { + description + "The VLAN the packet is on"; + leaf input { + description + "The VLAN the packet is on at input"; + type empty; + } + leaf output { + description + "The VLAN the packet is on at output"; + type empty; + } + } + } + leaf ethertype { + description + "The Ethertype of the packet"; + type empty; + } + leaf vlan { + description + "The VLAN the packet is on"; + type enumeration { + enum input; + enum output; + } + } + container mac { + description + "MAC fields"; + container destination { + description + "destination MAC fields"; + container address { + description + "Destination MAC address from packet"; + leaf input { + description + "Destination MAC address from packet at input"; + type empty; + } + leaf output { + description + "Destination MAC address from packet at output"; + type empty; + } + } + } + container source { + description + "source MAC fields"; + container address { + description + "Source MAC address from packet"; + leaf input { + description + "Source MAC address from packet at input"; + type empty; + } + leaf output { + description + "Source MAC address from packet at output"; + type empty; + } + } + } + } + leaf source-vlan-id { + description + "ID of the VLAN that the packet came from"; + type empty; + } + } + + grouping flow-flow-common-grouping { + container cts { + description + "Cisco Trusted Security fields"; + container destination { + description + "Cisco Trusted Security destination fields"; + leaf group-tag { + description + "destination group-tag"; + type empty; + } + } + container source { + description + "Cisco Trusted Security source fields"; + leaf group-tag { + description + "source group-tag"; + type empty; + } + } + } + leaf direction { + description + "Direction the flow was monitored in"; + type empty; + } + leaf id { + description + "Unique ID of the flow"; + type empty; + } + container observation { + description + "Flow observation metrics"; + leaf point { + description + "Observation point ID"; + type empty; + } + } + leaf sampler { + description + "ID of the sampler"; + type empty; + } + } + + grouping flow-interface-grouping { + container input { + description + "The input interface"; + presence "true"; + leaf snmp { + description + "SNMP Index of the input interface"; + type empty; + } + } + container output { + description + "The output interface"; + presence "true"; + container physical { + description + "The physical output interface"; + leaf snmp { + description + "SNMP Index of the output interface"; + type empty; + } + } + leaf snmp { + description + "SNMP Index of the output interface"; + type empty; + } + } + } + + grouping flow-ipv4-grouping { + container destination { + description + "IPv4 destination address based fields"; + leaf address { + description + "IPv4 destination address"; + type empty; + } + container mask { + description + "IPv4 address mask for the IPv4 destination address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..32"; + } + } + } + container prefix { + description + "IPv4 address prefix for the IPv4 destination address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..32"; + } + } + } + } + leaf dscp-input { + description + "IPv4 DSCP input (part of TOS)"; + type empty; + } + container dscp { + description + "IPv4 DSCP (part of TOS)"; + leaf output { + description + "IPv4 output DSCP"; + type empty; + } + } + container fragmentation { + description + "IPv4 fragmentation fields"; + leaf flags { + description + "IPv4 fragmentation flags"; + type empty; + } + leaf offset { + description + "IPv4 fragmentation offset"; + type empty; + } + } + leaf header-length { + description + "IPv4 header length (IHL in 32 bit words)"; + type empty; + } + leaf id { + description + "IPv4 ID"; + type empty; + } + container length { + description + "IPv4 length fields"; + leaf header { + description + "Length of the IPv4 header in bytes"; + type empty; + } + leaf payload { + description + "Length of the IPv4 payload in bytes"; + type empty; + } + container total { + description + "Total length of the IPv4 header and payload in bytes"; + presence "true"; + leaf maximum { + description + "Maximum total length in bytes"; + type empty; + } + leaf minimum { + description + "Minimum total length in bytes"; + type empty; + } + } + } + container option { + description + "IPv4 option fields"; + leaf map { + description + "Bitmap of IPv4 options"; + type empty; + } + } + leaf precedence { + description + "IPv4 precedence (part of TOS)"; + type empty; + } + leaf protocol { + description + "IPv4 protocol"; + type empty; + } + container section { + description + "Part of the packet"; + container header { + description + "Raw data starting at the IPv4 header"; + leaf size { + description + "Specify the number of bytes to capture"; + type uint16 { + range "1..1200"; + } + } + } + container payload { + description + "Raw data starting at the IPv4 payload"; + leaf size { + description + "Specify the number of bytes to capture"; + type uint16 { + range "1..1200"; + } + } + } + } + container source { + description + "IPv4 source address based fields"; + leaf address { + description + "IPv4 source address"; + type empty; + } + container mask { + description + "IPv4 address mask for the IPv4 source address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..32"; + } + } + } + container prefix { + description + "IPv4 address prefix for the IPv4 source address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..32"; + } + } + } + } + leaf tos { + description + "IPv4 type of service"; + type empty; + } + container total-length { + description + "IPv4 total length"; + presence "true"; + leaf maximum { + description + "Largest value for IPv4 length seen in the flow"; + type empty; + } + leaf minimum { + description + "Smallest value for IPv4 length seen in the flow"; + type empty; + } + } + container ttl { + description + "IPv4 TTL"; + presence "true"; + leaf maximum { + description + "Largest value seen for TTL in the flow"; + type empty; + } + leaf minimum { + description + "Smallest value seen for TTL in the flow"; + type empty; + } + } + leaf version { + description + "IP version from IPv4 header"; + type empty; + } + } + + grouping flow-ipv6-grouping { + container destination { + description + "IPv6 destination address based fields"; + leaf address { + description + "IPv6 destination address"; + type empty; + } + container mask { + description + "IPv6 address mask for the IPv6 destination address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..128"; + } + } + } + container prefix { + description + "IPv6 address prefix for the IPv6 destination address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..128"; + } + } + } + } + container dscp { + description + "IPv6 DSCP (part of Traffic Class)"; + presence "true"; + leaf output { + description + "IPv6 output DSCP"; + type empty; + } + } + container extension { + description + "IPv6 extension header fields"; + leaf map { + description + "Bitmap of IPv6 extension headers"; + type empty; + } + } + leaf flow-label { + description + "IPv6 flow label"; + type empty; + } + container fragmentation { + description + "IPv6 fragmentation fields"; + leaf flags { + description + "IPv6 fragmentation flags"; + type empty; + } + leaf id { + description + "IPv6 fragmentation ID"; + type empty; + } + leaf offset { + description + "IPv6 fragmentation offset"; + type empty; + } + } + container hop-limit { + description + "IPv6 hop limit"; + presence "true"; + leaf maximum { + description + "Largest value seen for hop-limit in the flow"; + type empty; + } + leaf minimum { + description + "Smallest value seen for hop-limit in the flow"; + type empty; + } + } + container length { + description + "IPv6 length fields"; + leaf header { + description + "Length of the IPv6 header, not including any extension headers, in bytes"; + type empty; + } + leaf payload { + description + "Length of the IPv6 payload, including any extension headers, in bytes"; + type empty; + } + container total { + description + "Total length of the IPv6 header and payload in bytes"; + presence "true"; + leaf maximum { + description + "Maximum total length in bytes"; + type empty; + } + leaf minimum { + description + "Minimum total length in bytes"; + type empty; + } + } + } + leaf next-header { + description + "The value of the next-header field in the IPv6 header"; + type empty; + } + leaf payload-length { + description + "Length of the IPv6 payload in bytes"; + type empty; + } + leaf precedence { + description + "IPv6 precedence (part of Traffic Class)"; + type empty; + } + leaf protocol { + description + "IPv6 payload protocol"; + type empty; + } + container section { + description + "Part of the packet"; + container header { + description + "Raw data starting at the IPv6 header"; + leaf size { + description + "Specify the number of bytes to capture"; + type uint16 { + range "1..1200"; + } + } + } + container payload { + description + "Raw data starting at the IPv6 payload"; + leaf size { + description + "Specify the number of bytes to capture"; + type uint16 { + range "1..1200"; + } + } + } + } + container source { + description + "IPv6 source address based fields"; + leaf address { + description + "IPv6 source address"; + type empty; + } + container mask { + description + "IPv6 address mask for the IPv6 source address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..128"; + } + } + } + container prefix { + description + "IPv6 address prefix for the IPv6 source address"; + presence "true"; + leaf minimum-mask { + description + "Provide a minimum mask for this field"; + type uint8 { + range "1..128"; + } + } + } + } + leaf traffic-class { + description + "IPv6 traffic class"; + type empty; + } + leaf version { + description + "IP version from IPv6 header"; + type empty; + } + } + + grouping flow-mpls-grouping { + container label { + description + "MPLS label details"; + container one { + description + "MPLS label 1 information"; + leaf details { + description + "MPLS label 1 details"; + type empty; + } + leaf exp { + description + "MPLS EXP field from the last label that was pushed"; + type empty; + } + leaf ttl { + description + "MPLS TTL field from the last label that was pushed"; + type empty; + } + leaf type { + description + "MPLS label type of the last label that was pushed"; + type empty; + } + } + container two { + description + "MPLS label 2 information"; + leaf details { + description + "MPLS label 2 details"; + type empty; + } + } + container three { + description + "MPLS label 3 information"; + leaf details { + description + "MPLS label 3 details"; + type empty; + } + } + container four { + description + "MPLS label 4 information"; + leaf details { + description + "MPLS label 4 details"; + type empty; + } + } + container five { + description + "MPLS label 5 information"; + leaf details { + description + "MPLS label 5 details"; + type empty; + } + } + container six { + description + "MPLS label 6 information"; + leaf details { + description + "MPLS label 6 details"; + type empty; + } + } + } + } + + grouping flow-network-grouping { + container delay { + description + "network delay metrics"; + leaf sample { + description + "The number of samples of roundtrip delay"; + type empty; + } + leaf sum { + description + "The sum of roundtrip delay"; + type empty; + } + } + } + + grouping flow-overlay-grouping { + container session { + description + "Overlay session"; + container id { + description + "Overlay session id"; + leaf input { + description + "Input overlay session id"; + type empty; + } + leaf output { + description + "Output overlay session id"; + type empty; + } + } + } + } + + grouping flow-pfr-grouping { + container br { + description + "PfR br metrics"; + container ipv4 { + description + "PfR br IPv4 metrics"; + leaf address { + description + "IPv4 address of the PfR Border Router"; + type empty; + } + } + } + container label { + description + "PfR label metrics"; + leaf identifier { + description + "pfr label id"; + type empty; + } + } + container one-way-delay { + description + "The packet transmission delay between specified nodes"; + leaf samples { + description + "Total number of one-way-delay samples"; + type empty; + } + leaf sum { + description + "The packet transmission delay sum between specified nodes"; + type empty; + } + } + container service { + description + "PfR service metrics"; + leaf provider { + description + "PfR service provider metrics"; + type empty; + } + leaf tag { + description + "PfR service provider tag metrics"; + type empty; + } + leaf identifier { + description + "PfR service provider tag"; + type empty; + } + } + container site { + description + "PfR site metrics"; + container destination { + description + "PfR site destination metrics"; + container id { + description + "PfR site destination ID metrics"; + leaf ipv4 { + description + "site ID of the packet destination"; + type empty; + } + } + container prefix { + description + "PfR site prefix of the packet destination"; + leaf ipv4 { + description + "site prefix of the packet destination"; + type empty; + } + container mask { + description + "PfR site prefix mask of the packet destination"; + leaf ipv4 { + description + "site prefix mask of the packet destination"; + type empty; + } + } + } + } + container source { + description + "PfR site source metrics"; + container id { + description + "PfR site source ID metrics"; + leaf ipv4 { + description + "site ID of the packet source"; + type empty; + } + } + container prefix { + description + "PfR site prefix of the packet source"; + leaf ipv4 { + description + "site prefix of the packet source"; + type empty; + } + container mask { + description + "PfR site prefix mask of the packet source"; + leaf ipv4 { + description + "site prefix mask of the packet source"; + type empty; + } + } + } + } + } + } + + grouping flow-policy-grouping { + container performance-monitor { + description + "Performance-monitor policy related metrics"; + container classification { + description + "Classification metrics"; + leaf hierarchy { + description + "Performance-monitor class hierarchy"; + type empty; + } + } + } + container qos { + description + "QoS policy related metrics"; + container classification { + description + "Classification metrics"; + leaf hierarchy { + description + "QoS class hierarchy"; + type empty; + } + } + container queue { + description + "Queue metrics"; + leaf drops { + description + "QoS queue drops"; + when '../../../../../collect'; + type empty; + } + leaf index { + description + "QoS queue index"; + type empty; + } + } + } + } + + grouping flow-routing-grouping { + container destination { + description + "Destination routing attributes"; + container as { + description + "AS number of the destination network"; + presence "true"; + leaf as4-octet { + description + "4 octet AS number of the destination network"; + type empty; + } + container peer { + description + "AS number of the peer network we will forward to"; + presence "true"; + leaf peer4-octet { + description + "4 octet AS number of the peer network we will forward to"; + type empty; + } + } + } + leaf traffic-index { + description + "BGP destination traffic index"; + type empty; + } + } + container forwarding-status { + description + "Forwarding status of the packet"; + presence "true"; + leaf reason { + description + "Forwarding status reason of the packet"; + type empty; + } + } + leaf is-multicast { + description + "Indicates if this is multicast"; + type empty; + } + container next-hop { + description + "Information regarding the next hop"; + container address { + description + "IP address of the next hop"; + container ipv4 { + description + "IPv4 address of the next hop"; + presence "true"; + leaf bgp { + description + "IPv4 address of the BGP next hop"; + type empty; + } + } + container ipv6 { + description + "IPv6 address of the next hop"; + presence "true"; + leaf bgp { + description + "IPv6 address of the BGP next hop"; + type empty; + } + } + } + } + container pw { + description + "Pseudowire fields"; + container destination { + description + "Pseudowire destination"; + leaf address { + description + "Pseudowire destination address"; + type empty; + } + } + } + container source { + description + "Source routing attributes"; + container as { + description + "AS number of the original network"; + presence "true"; + leaf as4-octet { + description + "4 octet AS number of the original network"; + type empty; + } + container peer { + description + "AS number of the peer network where the packet came from"; + presence "true"; + leaf peer4-octet { + description + "4 octet AS number of the peer network where the packet came from"; + type empty; + } + } + } + leaf traffic-index { + description + "BGP source traffic index"; + type empty; + } + } + container vrf { + description + "VRF routing attributes"; + leaf input { + description + "VRF ID for incoming packet"; + type empty; + } + leaf output { + description + "VRF ID for outgoing packet"; + type empty; + } + leaf service { + description + "VRF ID for service vpn"; + type empty; + } + } + } + + grouping flow-services-grouping { + container waas { + description + "WAAS (Wide Area Application Services) metrics"; + leaf passthrough-reason { + description + "WAAS passthrough reason"; + when '../../../../collect'; + type empty; + } + container segment { + description + "WAAS optimization segment"; + presence "true"; + leaf account-on-resolution { + description + "Account on resolution"; + type empty; + } + } + } + } + + grouping flow-transport-common-grouping { + leaf destination-port { + description + "Transport destination port"; + type empty; + } + container icmp { + description + "ICMP fields"; + container ipv4 { + description + "IPv4 ICMP fields"; + leaf code { + description + "IPv4 ICMP code"; + type empty; + } + leaf type { + description + "IPv4 ICMP type"; + type empty; + } + } + container ipv6 { + description + "IPv6 ICMP fields"; + leaf code { + description + "IPv6 ICMP code"; + type empty; + } + leaf type { + description + "IPv6 ICMP type"; + type empty; + } + } + } + container igmp { + description + "IGMP fields"; + leaf type { + description + "IGMP type"; + type empty; + } + } + leaf source-port { + description + "Transport source port"; + type empty; + } + container tcp { + description + "TCP fields"; + leaf acknowledgement-number { + description + "TCP acknowledgement number"; + type empty; + } + leaf destination-port { + description + "TCP destination port"; + type empty; + } + container flags { + description + "TCP flags"; + presence "true"; + leaf ack { + description + "TCP acknowledgement flag"; + type empty; + } + leaf cwr { + description + "TCP congestion window reduced flag"; + type empty; + } + leaf ece { + description + "TCP ECN echo flag"; + type empty; + } + leaf fin { + description + "TCP finish flag"; + type empty; + } + leaf psh { + description + "TCP push flag"; + type empty; + } + leaf rst { + description + "TCP reset flag"; + type empty; + } + leaf syn { + description + "TCP synchronise flag"; + type empty; + } + leaf urg { + description + "TCP urgent flag"; + type empty; + } + } + container flow { + description + "TCP flow"; + when '../../../../collect'; + leaf count { + description + "Number of tcp flows"; + type empty; + } + } + leaf header-length { + description + "TCP header length (in 32 bit words)"; + type empty; + } + leaf maximum-segment-size { + description + "The maximum size of TCP segment"; + type empty; + } + container option { + description + "TCP option fields"; + container map { + description + "Bitmap of TCP options"; + presence "true"; + leaf long { + description + "Extended bitmap of TCP options"; + type empty; + } + } + } + leaf sequence-number { + description + "TCP sequence number"; + type empty; + } + leaf source-port { + description + "TCP source port"; + type empty; + } + leaf urgent-pointer { + description + "TCP urgent pointer"; + type empty; + } + container window-size { + description + "TCP window size"; + presence "true"; + container average { + description + "The average size of TCP window"; + presence "true"; + leaf sum { + description + "The sum of per flow TCP window average size"; + type empty; + } + } + leaf maximum { + description + "The maximum size of TCP window"; + type empty; + } + leaf minimum { + description + "The minimum size of TCP window"; + type empty; + } + leaf sum { + description + "The sum of TCP window size"; + type empty; + } + } + } + container udp { + description + "UDP fields"; + leaf destination-port { + description + "UDP destination port"; + type empty; + } + leaf message-length { + description + "UDP message length"; + type empty; + } + leaf source-port { + description + "UDP source port"; + type empty; + } + } + } + + grouping flow-wireless-grouping { + container ap { + description + "Wireless access point fields"; + container mac { + description + "Wireless access point MAC fields"; + leaf address { + description + "The MAC address of the wireless access point"; + type empty; + } + } + } + container client { + description + "Wireless client fields"; + container mac { + description + "Wireless client MAC fields"; + leaf address { + description + "The MAC address of the client on the wireless network"; + type empty; + } + } + } + leaf ssid { + description + "The SSID name identifying the wireless network"; + type empty; + } + } + + grouping flow-record-collect-grouping { + container collect { + description + "Specify a non-key field"; + container application { + description + "Application fields"; + container cisco-collaboration { + description + "Cisco Collaboration Media"; + leaf cisco-collaboration-server-name { + description + "Cisco collaboration server name extracted from IP phone configuration"; + type empty; + } + } + container citrix { + description + "Citrix Systems Metaframe 3.0"; + leaf citrix-ica-tag { + description + "Citrix ICA tag 0-high 1-medium 2-low 3-background"; + type empty; + } + } + container dns { + description + "Domain Name Server lookup"; + container delay { + description + "dns delay"; + container response { + description + "delay response"; + leaf sum { + description + "delay response sum"; + type empty; + } + } + } + leaf domain-name { + description + "Domain name"; + type empty; + } + leaf qtype { + description + "Query type"; + type empty; + } + leaf rcode { + description + "Response Code"; + type empty; + } + leaf requests { + description + "DNS Requests"; + type empty; + } + } + container first-in-flow { + description + "The protocol extracts early first in flow classification"; + leaf fif-cls { + description + "First in flow early classification"; + type empty; + } + leaf fif-engine-winner { + description + "First in flow early classification engine name"; + type empty; + } + leaf fif-engines-cls { + description + "First in flow early classification per working engine name"; + type empty; + } + } + container http { + description + "World Wide Web traffic"; + leaf connection { + description + "Connection type"; + type empty; + } + leaf host { + description + "Host name of Origin Server containing resource"; + type empty; + } + leaf referer { + description + "Address the resource request was obtained from"; + type empty; + } + container uri { + description + "List of URIs and associated hit counts"; + leaf statistics { + description + "Collect URI statistics"; + type empty; + } + } + leaf url { + description + "Uniform Resource Locator path"; + type empty; + } + leaf user-agent { + description + "Software used by agent sending the request"; + type empty; + } + } + container media { + description + "Media fields"; + container bytes { + description + "Media fields"; + container counter { + description + "A count of the number of bytes of media payload"; + presence "true"; + leaf long { + description + "A count of the number of bytes of media payload (64 bit counter)"; + type empty; + } + } + container rate { + description + "Byte rate for the media stream"; + presence "true"; + container per-flow { + description + "Average media byte rate across flows"; + presence "true"; + leaf max { + description + "Maximum byte rate in the media stream"; + type empty; + } + leaf min { + description + "Minumun byte rate in the media stream"; + type empty; + } + } + } + } + leaf event { + description + "Flags indicating media events"; + type empty; + } + container packets { + description + "Media fields"; + container counter { + description + "A count of the number of packets with a media payload"; + presence "true"; + leaf long { + description + "A count of the number of packets with a media payload (64 bit counter)"; + type empty; + } + } + container rate { + description + "Packet rate for the media stream"; + presence "true"; + container variation { + description + "Variation in packet rate from configured expected rate"; + presence "true"; + leaf max { + description + "Max variation in packet rate from configured expected rate"; + type empty; + } + leaf min { + description + "Variation in packet rate from configured expected rate"; + type empty; + } + leaf sum { + description + "The sum of media rate variation from the configured rate for the RTP stream"; + type empty; + } + } + } + } + } + uses flow-name-grouping; + container nntp { + description + "Network news transfer protocol"; + leaf group-name { + description + "NNTP Group name"; + type empty; + } + } + container pop3 { + description + "Post Office Protocol 3"; + leaf server { + description + "POP3 Server Name"; + type empty; + } + } + container rtmp { + description + "Real Time Messaging Protocol"; + leaf pageUrl { + description + "RTMP page url address"; + type empty; + } + } + container rtsp { + description + "Real Time Streaming Protocol"; + leaf host { + description + "RTSP Host Name"; + type empty; + } + } + container sip { + description + "Session Initiation Protocol"; + leaf contact { + description + "The SIP header contact"; + type empty; + } + leaf destination { + description + "The destination domain of SIP transactions"; + type empty; + } + leaf physical-user { + description + "The SIP header physical user"; + type empty; + } + leaf server { + description + "The SIP header server"; + type empty; + } + leaf source { + description + "The source domain of SIP transactions"; + type empty; + } + leaf user-agent { + description + "The SIP header user agent"; + type empty; + } + leaf via { + description + "The SIP header via"; + type empty; + } + } + container smtp { + description + "Simple Mail Transfer Protocol"; + leaf sender { + description + "SMTP Sender Mail Address"; + type empty; + } + leaf server { + description + "SMTP Server Name"; + type empty; + } + } + container ssh { + description + "Secure Shell"; + leaf ssh-client-cipher { + description + "ssh encryption algorithm client"; + type empty; + } + leaf ssh-client-kexAlgorythms { + description + "ssh client kex algorithm"; + type empty; + } + leaf ssh-client-mac { + description + "ssh client mac algorithm client to server"; + type empty; + } + } + container ssl { + description + "Secure Socket Layer Protocol"; + leaf common-name { + description + "Certificate Common Name (CN)"; + type empty; + } + leaf session-id { + description + "SSL session ID"; + type empty; + } + } + container tftp { + description + "Trivial File Transfer Protocol"; + leaf source-file { + description + "Source file name"; + type empty; + } + } + uses flow-vendor-version-grouping; + uses flow-webex-media-grouping; + } + container connection { + description + "Connection fields"; + container client { + description + "Client side (flow initiator) related metrics"; + leaf all { + description + "All non-key client metrics"; + type empty; + } + container counter { + description + "Client side counter metrics"; + container bytes { + description + "Number of bytes sent by the client"; + leaf long { + description + "64 bits counter"; + type empty; + } + container network { + description + "Number of bytes sent by the client"; + leaf long { + description + "Total number of bytes transmitted by the client"; + type empty; + } + } + leaf retransmitted { + description + "Number of bytes retransmitted by the client"; + type empty; + } + container transport { + description + "Number of bytes sent by the client"; + leaf long { + description + "64 bit counter"; + type empty; + } + } + } + container packets { + description + "Number of packets sent by the client"; + leaf long { + description + "64 bits counter"; + type empty; + } + leaf retransmitted { + description + "Number of packets retransmitted by the client"; + type empty; + } + } + } + uses flow-client-ipv4-ipv6-transport-grouping; + } + container delay { + description + "Connection delay metrics"; + leaf all { + description + "All non-key client metrics"; + type empty; + } + container application { + description + "Application time metrics"; + leaf max { + description + "Maximum application response time"; + type empty; + } + leaf min { + description + "Minimum application response time"; + type empty; + } + leaf sum { + description + "Total application response time"; + type empty; + } + } + container network { + description + "Network time metrics"; + container client-to-server { + description + "RTT between the client and the server"; + leaf max { + description + "Maximum network time"; + type empty; + } + leaf min { + description + "Minimum network time"; + type empty; + } + leaf num-samples { + description + "The number of CSND samples"; + type empty; + } + leaf sum { + description + "Total network time"; + type empty; + } + } + container long-lived { + description + "Long-lived network delay metrics"; + container client-to-serve { + description + "Long-lived network delay client-to-server metrics"; + leaf sum { + description + "Total network time"; + type empty; + } + } + container to-client { + description + "Long-lived network delay to-client metrics"; + leaf sum { + description + "Total network time"; + type empty; + } + } + container to-serve { + description + "Long-lived network delay to-server metrics"; + leaf sum { + description + "Total network time"; + type empty; + } + } + } + container to-client { + description + "RTT from observation point to the client"; + leaf max { + description + "Maximum network time"; + type empty; + } + leaf min { + description + "Minimum network time"; + type empty; + } + leaf num-samples { + description + "The number of CND samples"; + type empty; + } + leaf sum { + description + "Total network time"; + type empty; + } + } + container to-server { + description + "RTT from observation point to the server"; + leaf max { + description + "Maximum network time"; + type empty; + } + leaf min { + description + "Minimum network time"; + type empty; + } + leaf num-samples { + description + "The number of SND samples"; + type empty; + } + leaf sum { + description + "Total network time"; + type empty; + } + } + } + container response { + description + "Response time metrics"; + container client-to-server { + description + "Response time as seen by the client"; + leaf max { + description + "Maximum response time"; + type empty; + } + leaf min { + description + "Minimum response time"; + type empty; + } + leaf sum { + description + "Total response time"; + type empty; + } + } + container to-server { + description + "Response time as seen from observation point"; + leaf histogram { + description + "Histogram for response time"; + type enumeration { + enum all; + enum bucket1; + enum bucket2; + enum bucket3; + enum bucket4; + enum bucket5; + enum bucket6; + enum bucket7; + enum late; + } + } + leaf max { + description + "Maximum response time"; + type empty; + } + leaf min { + description + "Minimum response time"; + type empty; + } + leaf sum { + description + "Total response time"; + type empty; + } + } + } + } + container id { + description + "A 32 bit identifier for a connection between client and server"; + presence "true"; + leaf long { + description + "A 64 bit identifier for a connection between client and server"; + type empty; + } + } + uses flow-id-initiator-grouping; + leaf new-connections { + description + "The number of connection initiations observed"; + type empty; + } + container server { + description + "Server side (flow responder) related metrics"; + leaf all { + description + "All non-key server metrics"; + type empty; + } + container counter { + description + "Server side counter metrics"; + container bytes { + description + "Number of bytes sent by the server"; + leaf long { + description + "64 bits counter"; + type empty; + } + container network { + description + "Number of bytes sent by the server"; + leaf long { + description + "Total number of bytes transmitted by the server"; + type empty; + } + } + leaf retransmitted { + description + "Number of bytes retransmitted by the server"; + type empty; + } + container transport { + description + "Number of bytes sent by the server"; + leaf long { + description + "64 bit counter"; + type empty; + } + } + } + container packets { + description + "Number of packets sent by the server"; + leaf long { + description + "64 bits counter"; + type empty; + } + leaf retransmitted { + description + "Number of packets retransmitted by the server"; + type empty; + } + } + leaf responses { + description + "Number of responses sent by the server"; + type empty; + } + } + uses flow-server-ipv4-ipv6-transport-grouping; + } + leaf sum-duration { + description + "The overall time in seconds for all connections"; + type empty; + } + container transaction { + description + "Transaction related metrics"; + leaf all { + description + "All non-key transaction metrics"; + type empty; + } + container counter { + description + "Transaction counter metrics"; + leaf complete { + description + "Number of completed transactions"; + type empty; + } + } + container duration { + description + "Transaction duration metrics"; + leaf max { + description + "Maximum transaction time"; + type empty; + } + leaf min { + description + "Minimum transaction time"; + type empty; + } + leaf sum { + description + "Total transaction time"; + type empty; + } + } + } + uses flow-transaction-id-grouping; + } + container counter { + description + "Counter fields"; + container bytes { + description + "Total number of bytes"; + presence "true"; + leaf long { + description + "Total number of bytes (64 bit counter)"; + type empty; + } + container sdwan { + description + "SDWAN fields"; + container dropped { + description + "SDWAN dropped fields"; + leaf long { + description + "Total number of dropped bytes (64 bit counter)"; + type empty; + } + } + } + container rate { + description + "Byte rate for the flow"; + presence "true"; + container per-flow { + description + "Average byte rate for the flow"; + presence "true"; + leaf max { + description + "Maximum byte rate among the aggregated flows"; + type empty; + } + leaf min { + description + "Minimum byte rate among the aggregated flows"; + type empty; + } + } + } + container squared { + description + "Total of the square of the number of bytes"; + leaf long { + description + "Total of the square of the packet length in bytes (64 bit counter)"; + type empty; + } + } + container layer2 { + description + "Total number of layer 2 bytes"; + leaf long { + description + "Total number of layer 2 bytes (64 bit counter)"; + type empty; + } + } + container appqoe { + description + "AppQoe fields"; + leaf ssl-read { + description + "Total number of bytes that were read by SSL"; + type empty; + } + leaf ssl-written { + description + "Total number of bytes that were written by SSL"; + type empty; + } + leaf ssl-en-read { + description + "Total number of bytes encrypted and read by ssl"; + type empty; + } + leaf ssl-en-written { + description + "Total number of bytes encrypted and written by ssl"; + type empty; + } + leaf ssl-de-read { + description + "Total number of bytes decrypted and read by ssl"; + type empty; + } + leaf ssl-de-written { + description + "Total number of bytes decrypted and written by ssl"; + type empty; + } + } + } + leaf flows { + description + "Total number of flows"; + type empty; + } + container packets { + description + "Total number of packets"; + presence "true"; + leaf dropped { + description + "Dropped packets"; + type empty; + } + leaf long { + description + "Total number of packets (64 bit counter)"; + type empty; + } + container sdwan { + description + "SDWAN fields"; + container dropped { + description + "SDWAN dropped fields"; + leaf long { + description + "Total number of dropped packets (64 bit counter)"; + type empty; + } + } + leaf pkt-cxp-d-pkts { + description + "Total number of Cloud Express packets (32 bit counter)"; + type empty; + } + } + container appqoe { + description + "AppQoe fields"; + leaf fec-d-pkts { + description + "Total number of packets subjected to FEC"; + type empty; + } + leaf fec-r-pkts { + description + "Total number of packets reconstructed by FEC"; + type empty; + } + leaf pkt-dup-d-pkts-orig { + description + "Total number of Packet Duplicate packets on the original tunnel"; + type empty; + } + leaf pkt-dup-d-pkts-dup { + description + "Total number of Packet Duplicate packets on the duplicate tunnel"; + type empty; + } + leaf pkt-dup-r-pkts { + description + "Total number of packets that were recovered by Packet Duplicate"; + type empty; + } + } + container rate { + description + "Packet rate for the flow"; + presence "true"; + container per-flow { + description + "Average packet rate for aggregated flows"; + presence "true"; + leaf max { + description + "Maximum packet rate in the aggregated flows"; + type empty; + } + leaf min { + description + "Minimum packet rate in the aggregated flows"; + type empty; + } + } + } + } + } + container datalink { + description + "Datalink (layer2) fields"; + uses flow-datalink-grouping; + } + container flow { + description + "Flow identifying fields"; + uses flow-flow-common-grouping; + leaf end-reason { + description + "The reason for a flow ending"; + type empty; + } + } + container interface { + description + "Interface fields"; + uses flow-interface-grouping; + } + container ipv4 { + description + "IPv4 fields"; + uses flow-ipv4-grouping; + } + container ipv6 { + description + "IPv6 fields"; + uses flow-ipv6-grouping; + } + container metadata { + description + "Metadata fields"; + leaf clock-rate { + description + "Metadata clock-rate"; + type empty; + } + leaf global-session-id { + description + "Metadata global-session-id"; + type empty; + } + leaf multi-party-session-id { + description + "Metadata multi-party-session-id"; + type empty; + } + } + container monitor { + description + "monitor fields"; + leaf event { + description + "Flags indicating monitor events"; + type empty; + } + } + container mpls { + description + "MPLS fields"; + uses flow-mpls-grouping; + } + container network { + description + "network metrics"; + uses flow-network-grouping; + } + container overlay { + description + "Overlay network"; + uses flow-overlay-grouping; + } + container pfr { + description + "PfR metrics"; + uses flow-pfr-grouping; + } + container policy { + description + "policy fields"; + container firewall { + description + "firewall fields"; + leaf event { + description + "firewall event"; + type empty; + } + } + uses flow-policy-grouping; + } + container routing { + description + "Routing attributes"; + container multicast { + description + "Multicast routing attributes"; + leaf replication-factor { + description + "Multicast replication factor"; + type empty; + } + } + uses flow-routing-grouping; + } + container services { + description + "Services fields"; + uses flow-services-grouping; + } + container timestamp { + description + "Timestamp fields"; + container absolute { + description + "Timestamps based on the epoch of 00:00 UTC 1st Jan 1970"; + leaf first { + description + "Absolute time the first packet was seen (milliseconds)"; + type empty; + } + leaf last { + description + "Absolute time the most recent packet was seen (milliseconds)"; + type empty; + } + container monitoring-interval { + description + "Monitoring interval timestamps"; + leaf end { + description + "Absolute end time of a monitoring interval (milliseconds)"; + type empty; + } + leaf start { + description + "Absolute start time of a monitoring interval (milliseconds)"; + type empty; + } + } + } + leaf interval { + description + "Epoch of a monitoring interval"; + type empty; + } + container sys-uptime { + description + "Timestamps based on the sys-uptime"; + leaf first { + description + "Time the first packet was seen"; + type empty; + } + leaf last { + description + "Time the most recent packet was seen"; + type empty; + } + } + } + container transport { + description + "Transport layer fields"; + container bytes { + description + "Bytes fields"; + leaf expected { + description + "Transport bytes expected"; + type empty; + } + container lost { + description + "Transport bytes lost"; + presence "true"; + leaf rate { + description + "Transport bytes lost rate"; + type empty; + } + } + leaf out-of-order { + description + "Total number of out-of-order bytes"; + type empty; + } + } + uses flow-transport-common-grouping; + container event { + description + "Transport event fields"; + container packet-loss { + description + "Transport event packet-loss fields"; + container counter { + description + "Count of sets of packets that were lost"; + presence "true"; + leaf max { + description + "Highest packet loss counter when multiple flows are aggregated"; + type empty; + } + leaf min { + description + "Lowest packet loss counter when multiple flows are aggregated"; + type empty; + } + } + } + } + container packets { + description + "Transport packet fields"; + container expected { + description + "Transport packets expected fields"; + leaf counter { + description + "Expected number of packets from sequencing information"; + type empty; + } + } + container lost { + description + "Transport packets lost fields"; + container counter { + description + "A count of the number of lost packets from sequencing information"; + presence "true"; + leaf max { + description + "Highest lost packet count seen among the aggregated flows"; + type empty; + } + leaf min { + description + "Lowest lost packet count seen among the aggregated flows"; + type empty; + } + } + container rate { + description + "Packet loss rate from sequencing information"; + presence "true"; + leaf max { + description + "Maximum packet loss rate in the aggregated flows"; + type empty; + } + leaf min { + description + "Minimum packet loss rate in the aggregated flows"; + type empty; + } + } + } + leaf out-of-order { + description + "Total number of out-of-order bytes"; + type empty; + } + } + container round-trip-time { + description + "RTT calculation for flow"; + presence "true"; + leaf max { + description + "Highest RTT among all flows"; + type empty; + } + leaf min { + description + "Lowest RTT among all flows"; + type empty; + } + leaf samples { + description + "RTT samples"; + type empty; + } + leaf sum { + description + "Sum RTT for all flows"; + type empty; + } + } + container rtp { + description + "RTP fields"; + container flow { + description + "RTP flow"; + leaf count { + description + "Number of RTP flows"; + type empty; + } + } + container jitter { + description + "RTP jitter fields"; + leaf maximum { + description + "Maximum jitter for the RTP stream"; + type empty; + } + container mean { + description + "Mean jitter for the RTP stream"; + presence "true"; + leaf sum { + description + "The sum of jitter mean for the RTP stream"; + type empty; + } + } + leaf minimum { + description + "Minimum jitter for the RTP stream"; + type empty; + } + } + leaf payload-type { + description + "RTP payload type"; + type empty; + } + leaf ssrc { + description + "RTP SSRC"; + type empty; + } + } + } + container wireless { + description + "Wireless fields"; + container afd { + description + "Wireless approximate fair drop fields"; + container accept { + description + "Wireless AFD accept fields"; + leaf bytes { + description + "AFD accepted bytes"; + type empty; + } + } + container drop { + description + "Wireless AFD drop fields"; + leaf bytes { + description + "AFD dropped bytes"; + type empty; + } + } + } + uses flow-wireless-grouping; + } + container drop { + description + "Drop fields"; + container cause { + description + "Drop cause fields"; + leaf id { + description + "Drop cause id in dataplane"; + type empty; + } + } + } + container sdwan { + description + "SDWAN fields"; + leaf sla-not-met { + description + "Sla is met or not"; + type empty; + } + leaf preferred-color-not-met { + description + "Preferred color in dataplane is met or not"; + type empty; + } + leaf qos-queue-id { + description + "SDWAN queue id"; + type empty; + } + leaf traffic-category { + description + "The type of traffic category"; + type empty; + } + leaf service-area { + description + "The type of service area"; + type empty; + } + leaf cxp-path-type { + description + "The type of Cloud SaaS path type"; + type empty; + } + leaf region-id { + description + "Region ID Fields"; + type empty; + } + leaf remote-access-flags { + description + "Indicate Remote Access Fields"; + type empty; + } + } + container appqoe { + description + "AppQoe Fields"; + container ssl { + description + "AppQoe SSL fields"; + container service { + description + "AppQoe SSL Service fields"; + leaf type { + description + "AppQoe SSL Service Type"; + type empty; + } + } + container traffic { + description + "AppQoe SSL Traffic fields"; + leaf type { + description + "AppQoe SSL Traffic Type"; + type empty; + } + } + container policy { + description + "AppQoe SSL Policy fields"; + leaf action { + description + "AppQoe SSL Policy Action"; + type empty; + } + } + } + leaf action { + description + "AppQoe Action for AppQoe Multi-SN"; + type empty; + } + leaf sn-ip { + description + "AppQoe Sn-ip for AppQoe Multi-SN"; + type empty; + } + leaf sn-ipv6 { + description + "AppQoe Sn-ipv6 for AppQoe Multi-SN-IPV6"; + type empty; + } + leaf pass-reason { + description + "AppQoe Pass Reason for AppQoe Multi-SN"; + type empty; + } + leaf dre-input-bytes { + description + "AppQoe Input Bytes for Data Redundancy Elimination"; + type empty; + } + leaf dre-input-packets { + description + "AppQoe Input Packets for Data Redundancy Elimination"; + type empty; + } + leaf flags { + description + "AppQoe Flags"; + type empty; + } + } + container ulogging { + description + "Unified Logging Fields"; + leaf fw-zp-id { + description + "firewall zone pair id"; + type empty; + } + leaf fw-user-name { + description + "firewall user name"; + type empty; + } + leaf fw-zone-id-array { + description + "firewall src/dst zone id"; + type empty; + } + leaf fw-class-id { + description + "firewall class id"; + type empty; + } + leaf fw-policy-id { + description + "firewall policy id"; + type empty; + } + leaf fw-proto-id { + description + "firewall protocol id"; + type empty; + } + leaf fw-action { + description + "firewall action id"; + type empty; + } + leaf fw-drop-reason-id { + description + "firewall drop reason id"; + type empty; + } + leaf fw-end-flow-reason { + description + "firewall end flow reason id"; + type empty; + } + leaf fw-src-ipv4-addr-translated { + description + "firewall nat translated ipv4 source address"; + type empty; + } + leaf fw-dst-ipv4-addr-translated { + description + "firewall nat translated ipv4 destination address"; + type empty; + } + leaf fw-src-ipv6-addr-translated { + description + "firewall nat translated ipv6 source address"; + type empty; + } + leaf fw-dst-ipv6-addr-translated { + description + "firewall nat translated ipv6 destination address"; + type empty; + } + leaf fw-src-port-translated { + description + "firewall nat translated source port overlord"; + type empty; + } + leaf fw-dst-port-translated { + description + "firewall nat translated destination port overload"; + type empty; + } + leaf utd-policy-id-array { + description + "utd policy ids list"; + type empty; + } + leaf utd-action-id-array { + description + "utd action id array"; + type empty; + } + leaf utd-ips-policy-id { + description + "utd ips policy id"; + type empty; + } + leaf utd-ips-action-id { + description + "utd ips action id"; + type empty; + } + leaf utd-ips-pri { + description + "utd ips pri id"; + type empty; + } + leaf utd-ips-sid { + description + "utd ips sid"; + type empty; + } + leaf utd-ips-gid { + description + "utd ips group id"; + type empty; + } + leaf utd-ips-cid { + description + "utd ips cid"; + type empty; + } + leaf utd-urlf-policy-id { + description + "utd urlf policy id"; + type empty; + } + leaf utd-urlf-action-id { + description + "utd urlf action id"; + type empty; + } + leaf utd-urlf-url-hash { + description + "utd urlf url hash value"; + type empty; + } + leaf utd-urlf-url-category { + description + "utd urlf url category"; + type empty; + } + leaf utd-urlf-url-reputation { + description + "utd urlf url reputation"; + type empty; + } + leaf utd-urlf-app-name { + description + "utd urlf application name"; + type empty; + } + leaf utd-urlf-reason-id { + description + "utd urlf reason id"; + type empty; + } + leaf utd-amp-policy-id { + description + "utd amp policy id"; + type empty; + } + leaf utd-amp-action-id { + description + "utd amp action id"; + type empty; + } + leaf utd-amp-dispos { + description + "utd amp disposition id"; + type empty; + } + leaf utd-amp-filename-hash { + description + "utd amp filename hash value"; + type empty; + } + leaf utd-amp-file-type { + description + "utd amp file type"; + type empty; + } + leaf utd-amp-file-hash { + description + "utd amp file hash value"; + type empty; + } + leaf utd-amp-malname-hash { + description + "utd amp malicious software name hash value"; + type empty; + } + leaf utd-drop-reason-id { + description + "utd drop reason id"; + type empty; + } + leaf sdvt-drop-reason-id { + description + "service divert drop reason id"; + type empty; + } + leaf flow-direction { + description + "Direction the flow was monitored in"; + type empty; + } + } + } + container drop { + description + "Drop fields"; + container cause { + description + "Drop fields"; + leaf id { + description + "Drop cause id in dataplane"; + type empty; + } + } + } + container sdwan { + description + "SDWAN fields"; + leaf sla-not-met { + description + "Sla is met or not"; + type empty; + } + leaf preferred-color-not-met { + description + "Preferred color in dataplane is met or not"; + type empty; + } + leaf qos-queue-id { + description + "Queue id"; + type empty; + } + leaf traffic-category { + description + "The type of traffic category"; + type empty; + } + } + container appqoe { + description + "AppQoe Fields"; + container ssl { + description + "AppQoe SSL fields"; + container service { + description + "AppQoe SSL Service fields"; + leaf type { + description + "AppQoe SSL Service Type"; + type empty; + } + } + container traffic { + description + "AppQoe SSL Traffic fields"; + leaf type { + description + "AppQoe SSL Traffic Type"; + type empty; + } + } + container policy { + description + "AppQoe SSL Policy fields"; + leaf action { + description + "AppQoe SSL Policy Action"; + type empty; + } + } + } + leaf action { + description + "AppQoe Action for AppQoe Multi-SN"; + type empty; + } + leaf sn-ip { + description + "AppQoe Sn-ip for AppQoe Multi-SN"; + type empty; + } + leaf sn-ipv6 { + description + "AppQoe Sn-ipv6 for AppQoe Multi-SN-IPV6"; + type empty; + } + leaf pass-reason { + description + "AppQoe Pass Reason for AppQoe Multi-SN"; + type empty; + } + container ulogging { + description + "Unified Logging Fields"; + leaf fw-zp-id { + description + "firewall zone pair id"; + type empty; + } + leaf fw-user-name { + description + "firewall user name"; + type empty; + } + leaf fw-zone-id-array { + description + "firewall src/dst zone id"; + type empty; + } + leaf fw-class-id { + description + "firewall class id"; + type empty; + } + leaf fw-policy-id { + description + "firewall policy id"; + type empty; + } + leaf fw-proto-id { + description + "firewall protocol id"; + type empty; + } + leaf fw-action { + description + "firewall action id"; + type empty; + } + leaf fw-drop-reason-id { + description + "firewall drop reason id"; + type empty; + } + leaf fw-end-flow-reason { + description + "firewall end flow reason id"; + type empty; + } + leaf fw-src-ipv4-addr-translated { + description + "firewall nat translated ipv4 source address"; + type empty; + } + leaf fw-dst-ipv4-addr-translated { + description + "firewall nat translated ipv4 destination address"; + type empty; + } + leaf fw-src-ipv6-addr-translated { + description + "firewall nat translated ipv6 source address"; + type empty; + } + leaf fw-dst-ipv6-addr-translated { + description + "firewall nat translated ipv6 destination address"; + type empty; + } + leaf fw-src-port-translated { + description + "firewall nat translated source port overlord"; + type empty; + } + leaf fw-dst-port-translated { + description + "firewall nat translated destination port overload"; + type empty; + } + leaf utd-policy-id-array { + description + "utd policy ids list"; + type empty; + } + leaf utd-action-id-array { + description + "utd action id array"; + type empty; + } + leaf utd-ips-pri { + description + "utd ips pri id"; + type empty; + } + leaf utd-ips-sid { + description + "utd ips sid"; + type empty; + } + leaf utd-ips-gid { + description + "utd ips group id"; + type empty; + } + leaf utd-ips-cid { + description + "utd ips cid"; + type empty; + } + leaf utd-urlf-url-hash { + description + "utd urlf url hash value"; + type empty; + } + leaf utd-urlf-url-category { + description + "utd urlf url category"; + type empty; + } + leaf utd-urlf-url-reputation { + description + "utd urlf url reputation"; + type empty; + } + leaf utd-urlf-app-name { + description + "utd urlf application name"; + type empty; + } + leaf utd-amp-dispos { + description + "utd amp disposition id"; + type empty; + } + leaf utd-amp-filename-hash { + description + "utd amp filename hash value"; + type empty; + } + leaf utd-amp-file-type { + description + "utd amp file type"; + type empty; + } + leaf utd-amp-file-hash { + description + "utd amp file hash value"; + type empty; + } + leaf utd-amp-malname-hash { + description + "utd amp malicious software name hash value"; + type empty; + } + leaf utd-drop-reason-id { + description + "utd drop reason id"; + type empty; + } + leaf sdvt-drop-reason-id { + description + "service divert drop reason id"; + type empty; + } + } + } + } + + grouping flow-record-match-grouping { + container match { + description + "Specify a key field"; + container application { + description + "Application fields"; + uses flow-dns-match-grouping; + uses flow-name-grouping; + uses flow-vendor-version-grouping; + uses flow-webex-media-grouping; + } + container connection { + description + "Connection fields"; + container client { + description + "Client side (flow initiator) related metrics"; + uses flow-client-ipv4-ipv6-transport-grouping; + } + leaf id { + description + "A 32 bit identifier for a connection between client and server"; + type empty; + } + uses flow-id-initiator-grouping; + container server { + description + "Server side (flow responder) related metrics"; + uses flow-server-ipv4-ipv6-transport-grouping; + } + uses flow-transaction-id-grouping; + } + container datalink { + description + "Datalink (layer2) fields"; + uses flow-datalink-grouping; + } + container flow { + description + "Flow identifying fields"; + uses flow-flow-common-grouping; + } + container interface { + description + "Interface fields"; + uses flow-interface-grouping; + } + container ipv4 { + description + "IPv4 fields"; + uses flow-ipv4-grouping; + } + container ipv6 { + description + "IPv6 fields"; + uses flow-ipv6-grouping; + } + container metadata { + description + "Metadata fields"; + leaf global-session-id { + description + "Metadata global-session-id"; + type empty; + } + leaf multi-party-session-id { + description + "Metadata multi-party-session-id"; + type empty; + } + } + container mpls { + description + "MPLS fields"; + uses flow-mpls-grouping; + } + container network { + description + "network metrics"; + uses flow-network-grouping; + } + container overlay { + description + "Overlay network"; + uses flow-overlay-grouping; + } + container pfr { + description + "PfR metrics"; + uses flow-pfr-grouping; + } + container policy { + description + "policy fields"; + uses flow-policy-grouping; + } + container routing { + description + "Routing attributes"; + uses flow-routing-grouping; + } + container services { + description + "Services fields"; + uses flow-services-grouping; + } + container timestamp { + description + "Timestamp fields"; + container absolute { + description + "Timestamps based on the epoch of 00:00 UTC 1st Jan 1970"; + container monitoring-interval { + description + "Monitoring interval timestamps"; + leaf start { + description + "Absolute start time of a monitoring interval (milliseconds)"; + type empty; + } + } + } + } + container transport { + description + "Transport layer fields"; + container bytes { + description + "Bytes fields"; + leaf expected { + description + "Transport bytes expected"; + type empty; + } + container lost { + description + "Transport bytes lost"; + presence "true"; + leaf rate { + description + "Transport bytes lost rate"; + type empty; + } + } + } + container rtp { + description + "RTP fields"; + leaf ssrc { + description + "RTP SSRC"; + type empty; + } + } + uses flow-transport-common-grouping; + } + container vxlan { + description + "VXLAN fields"; + leaf flags { + description + "VXLAN flag field"; + type empty; + } + leaf sgt { + description + "VXLAN segment field"; + type empty; + } + leaf vnid { + description + "vxlan vnid field"; + type empty; + } + container vtep { + description + "VXLAN vtep fields"; + leaf input { + description + "vxlan vtp input field"; + type empty; + } + leaf output { + description + "vxlan vtp output field"; + type empty; + } + } + } + container wireless { + description + "Wireless fields"; + uses flow-wireless-grouping; + } + } + } + + grouping flow-monitor-record-netflow-grouping { + container as { + description + "AS aggregation schemes"; + presence "true"; + leaf peer { + description + "AS aggregation scheme with peer ASs"; + type empty; + } + } + container destination-prefix { + description + "Destination Prefix aggregation schemes"; + presence "true"; + leaf peer { + description + "Destination Prefix aggregation scheme with peer AS"; + type empty; + } + } + container original-input { + description + "Traditional IPv6 input NetFlow with ASs"; + presence "true"; + leaf peer { + description + "Traditional IPv6 input NetFlow with peer ASs"; + type empty; + } + } + container original-output { + description + "Traditional IPv6 output NetFlow with ASs"; + presence "true"; + leaf peer { + description + "Traditional IPv6 output NetFlow with peer ASs"; + type empty; + } + } + container prefix { + description + "Source and Destination Prefixes aggregation schemes"; + presence "true"; + leaf peer { + description + "Source and Destination Prefixes aggregation scheme with peer ASs"; + type empty; + } + } + leaf protocol-port { + description + "Protocol and Ports aggregation scheme"; + type empty; + } + container source-prefix { + description + "Source AS and Prefix aggregation schemes"; + presence "true"; + leaf peer { + description + "Source AS and Prefix aggregation scheme with peer AS"; + type empty; + } + } + } + + grouping flow-monitor-grouping { + leaf accessTunnel { + description + "Filter traffic from access tunnel"; + if-feature "ios-features:switching-platform"; + type empty; + } + container cache { + description + "Monitor cache entries"; + leaf entries { + description + "Number of cache entries"; + type uint32 { + range "16..2000000"; + } + } + container timeout { + description + "Cache timeout"; + leaf active { + description + "Active timeout"; + type uint32 { + range "1..604800"; + } + } + container event { + description + "Timeout event"; + leaf transaction-end { + description + "Transaction-end event"; + type empty; + } + } + leaf inactive { + description + "Inactive timeout"; + type uint32 { + range "1..604800"; + } + } + leaf synchronized { + description + "Synchronized timeout"; + type uint32 { + range "1..86400"; + } + } + leaf update { + description + "Update timeout"; + type uint32 { + range "1..604800"; + } + } + } + leaf type { + description + "Cache type"; + type enumeration { + enum immediate; + enum normal; + enum permanent; + enum synchronized; + } + } + } + leaf description { + description + "Provide a description for this Flow Monitor"; + type string; + } + list exporter { + description + "Add an Exporter to use to export records"; + key "name"; + leaf name { + type flow-name; + } + } + container history { + description + "Monitor history intervals"; + leaf size { + description + "History size"; + type uint8 { + range "0..60"; + } + } + leaf timeout { + description + "Specify timeout interval"; + type uint8 { + range "1..30"; + } + } + } + container record { + description + "Specify Flow Record to use to define Cache"; + leaf type { + type union { + type enumeration { + enum default-rtp; + enum default-tcp; + enum netflow-original; + } + type flow-name; + } + } + container netflow { + description + "Traditional NetFlow collection schemes"; + container ipv4 { + description + "Traditional IPv4 NetFlow collection schemes"; + uses flow-monitor-record-netflow-grouping; + container as-tos { + description + "AS and TOS aggregation schemes"; + presence "true"; + leaf peer { + description + "AS and TOS aggregation scheme with peer ASs"; + type empty; + } + } + leaf assurance { + description + "Assurance metrics"; + type empty; + } + leaf assurance-rtp { + description + "Assurance rtp metrics"; + type empty; + } + leaf assurance-dns { + description + "Assurance DNS metrics"; + type empty; + } + leaf assurance-dhcp { + description + "Assurance DHCP metrics"; + type empty; + } + container bgp-nexthop-tos { + description + "BGP next-hop and TOS aggregation schemes"; + presence "true"; + leaf peer { + description + "BGP next-hop and TOS aggregation scheme with peer ASs"; + type empty; + } + } + container destination-prefix-tos { + description + "Destination Prefix and TOS aggregation schemes"; + presence "true"; + leaf peer { + description + "Destination Prefix and TOS aggregation scheme with peer AS"; + type empty; + } + } + leaf prefix-port { + description + "Prefixes and Ports aggregation scheme"; + type empty; + } + container prefix-tos { + description + "Prefixes and TOS aggregation schemes"; + presence "true"; + leaf peer { + description + "Prefixes and TOS aggregation scheme with peer ASs"; + type empty; + } + } + leaf protocol-port-tos { + description + "Protocol, Ports and TOS aggregation scheme"; + type empty; + } + container source-prefix-tos { + description + "Source Prefix and TOS aggregation schemes"; + presence "true"; + leaf peer { + description + "Source Prefix and TOS aggregation scheme with peer AS"; + type empty; + } + } + leaf app-client-server-stats { + description + "Application client server statistics"; + if-feature "ios-features:switching-platform"; + type empty; + } + leaf app-client-server-trans-stats { + description + "Application client server transaction"; + if-feature "ios-features:switching-platform"; + type empty; + } + leaf app-stats-input { + description + "Application statistics - input"; + if-feature "ios-features:switching-platform"; + type empty; + } + leaf app-stats-output { + description + "Application statistics - output"; + if-feature "ios-features:switching-platform"; + type empty; + } + } + container ipv6 { + description + "Traditional IPv6 NetFlow collection schemes"; + uses flow-monitor-record-netflow-grouping; + container bgp-nexthop { + description + "BGP next-hop aggregation schemes"; + presence "true"; + leaf peer { + description + "BGP next-hop aggregation scheme with peer ASs"; + type empty; + } + } + leaf assurance { + description + "Assurance metrics"; + type empty; + } + leaf assurance-rtp { + description + "Assurance rtp metrics"; + type empty; + } + leaf assurance-dns { + description + "Assurance DNS metrics"; + type empty; + } + leaf assurance-dhcp { + description + "Assurance DHCP metrics"; + type empty; + } + } + } + container wireless { + description + "Templates for wireless traffics"; + container avc { + description + "Schemas for Application Visibility Control"; + choice template-choice { + leaf basic { + type empty; + } + container ipv4 { + leaf assurance { + description + "Assurance metrics"; + type empty; + } + leaf assurance-rtp { + description + "Assurance rtp metrics"; + type empty; + } + leaf assurance-dns { + description + "Assurance DNS metrics"; + type empty; + } + leaf assurance-dhcp { + description + "Assurance DHCP metrics"; + type empty; + } + leaf basic { + type empty; + } + } + container ipv6 { + leaf assurance { + description + "Assurance metrics"; + type empty; + } + leaf assurance-rtp { + description + "Assurance rtp metrics"; + type empty; + } + leaf assurance-dns { + description + "Assurance DNS metrics"; + type empty; + } + leaf assurance-dhcp { + description + "Assurance DHCP metrics"; + type empty; + } + leaf basic { + type empty; + } + } + leaf statistics { + type empty; + } + } + } + } + } + leaf skipouter { + description + "Skip the outer header information"; + if-feature "ios-features:switching-platform"; + type empty; + } + container statistics { + description + "Collect statistics"; + container packet { + description + "Collect packet statistics"; + leaf protocol { + description + "Collect packet protocol distribution statistics"; + type empty; + } + leaf size { + description + "Collect packet size distribution statistics"; + type empty; + } + } + } + container collect { + description + "Collect tloc loopback interface"; + container tloc { + description + "Collect SDWAN tloc loopback interface"; + leaf loopback { + description + "Collect SDWAN tloc loopback interface instead of physical interface"; + default "false"; + type boolean; + } + } + } + } + + grouping flow-default-monitor-grouping { + container cache { + description + "Monitor cache entries"; + leaf entries { + description + "Maximum flow entries in the Flow Cache"; + type empty; + } + container timeout { + description + "Configure flow cache timeout parameters"; + leaf active { + description + "Specify the active flow timeout"; + type empty; + } + container event { + description + "Event-based export"; + leaf transaction-end { + description + "Export on transaction end event"; + type empty; + } + } + leaf inactive { + description + "Specify the inactive flow timeout"; + type empty; + } + leaf synchronized { + description + "Specify the timeout for a synchronized Flow Cache"; + type empty; + } + leaf update { + description + "Specify the update timeout for a permanent Flow Cache"; + type empty; + } + } + leaf type { + description + "Set the type of the Flow Cache"; + type empty; + } + } + leaf description { + description + "Provide a description for this Flow Monitor"; + type empty; + } + leaf exporter { + description + "Add an Exporter to use to export records"; + type empty; + } + leaf record { + description + "Specify Flow Record to use to define Cache"; + type empty; + } + container statistics { + description + "Collect statistics"; + container packet { + description + "Collect packet statistics"; + leaf protocol { + description + "Collect packet protocol distribution statistics"; + type empty; + } + leaf size { + description + "Collect packet size distribution statistics"; + type empty; + } + } + } + container collect { + description + "Collect tloc loopback interface"; + container tloc { + description + "Collect SDWAN tloc loopback interface"; + leaf loopback { + description + "Collect SDWAN tloc loopback interface instead of physical interface"; + default "false"; + type boolean; + } + } + } + } + + grouping flow-exporter-option-timeout-grouping { + leaf timeout { + description + "Option resend time"; + type uint32 { + range "1..86400"; + } + } + leaf export-spread { + description + "Export spread time"; + type uint32 { + range "1..86400"; + } + } + } + + grouping flow-exporter-grouping { + leaf description { + description + "Provide a description for this Flow Exporter"; + type string; + } + container destination { + description + "Export destination configuration"; + choice destination-choice { + container ipdest { + leaf ip { + type inet:ip-address; + } + leaf vrf { + description + "Optional VRF label"; + type string; + } + } + container local { + description + "Export to a local collector"; + leaf wlc { + description + "WLC local collector"; + type empty; + } + leaf sdwan { + if-feature "ios-features:sdwan"; + description + "SDWAN local collector"; + type empty; + } + leaf controller { + if-feature "ios-features:routing-platform"; + description + "SD-routing local collector"; + type empty; + } + container file-export { + description + "File export using 'flow file-export default' configuration"; + leaf default { + description + "Default File Export"; + type empty; + } + } + } + } + } + leaf dscp { + description + "Optional DSCP"; + type uint8 { + range "0..63"; + } + default "0"; + } + leaf export-protocol { + description + "Export protocol version"; + type enumeration { + enum ipfix; + enum netflow-v5; + enum netflow-v9; + } + default "netflow-v9"; + } + leaf mtu { + description + "Optional MTU"; + type uint16 { + range "1..65535"; + } + } + container option { + description + "Select an option for exporting"; + container application-attributes { + description + "Application Attributes Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container application-table { + description + "Application Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container c3pl-class-table { + description + "C3PL class cce-id table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container c3pl-policy-table { + description + "C3PL policy cce-id table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container cts-sgt-table { + description + "SGT ID-to-name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container exporter-stats { + description + "Exporter Statistics Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container interface-table { + description + "Interface SNMP-index-to-name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container metadata-version-table { + description + "Metadata Version Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container sampler-table { + description + "Export Sampler Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container sub-application-table { + description + "Sub Application Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container vrf-attributes { + description + "VRF Attributes Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container vrf-table { + description + "VRF ID-to-name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container tunnel-tloc-table { + description + "tunnel-to-tloc Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container ssid-table { + description + "SSID ID-to-name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container drop-cause-table { + description + "Drop Cause Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-drop-reason-table { + description + "Firewall drop reason table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-proto-table { + description + "Firewall protocol table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-zone-table { + description + "Firewall zone id to name mapping table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-zone-pair-table { + description + "Firewall zone-pair id to name mapping table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-action-table { + description + "Firewall action to name mapping table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container fw-end-flow-reason-table { + description + "Firewall end flow reason to name mapping table"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-policy-table { + description + "Utd Policy name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-file-type-table { + description + "Utd Amp File Type Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-category-table { + description + "Utd Url Category Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-urlf-reason-table { + description + "Utd Url Reason Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-action-table { + description + "Utd Action Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-disposition-table { + description + "Utd Disposition Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-url-table { + description + "Utd URL Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-filename-table { + description + "Utd Filename Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-malware-table { + description + "Utd malicious software name Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-drop-reason-table { + description + "Utd Drop reason Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container sdvt-drop-reason-table { + description + "Service divert Drop reason Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container multi-tenant-vpn-table { + description + "Device vpn id to tenant vpn id mapping table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-ips-action-table { + description + "Utd IPS Action Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-urlf-action-table { + description + "Utd URLF Action Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container utd-amp-action-table { + description + "Utd AMP Action Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + container bfd-metrics-table { + description + "BFD Metrics Table Option"; + presence "true"; + uses flow-exporter-option-timeout-grouping; + } + } + container output-features { + status obsolete; + presence "true"; + } + container source { + description + "Originating interface"; + uses ios-ifc:interface-grouping; + } + container template { + description + "Flow Exporter template configuration"; + container data { + description + "Flow Exporter data configuration"; + leaf timeout { + description + "Resend data based on a timeout"; + type uint32 { + range "1..86400"; + } + default "600"; + } + } + } + container transport { + description + "Transport protocol"; + leaf udp { + description + "UDP transport protocol"; + type uint16; + default "9995"; + } + } + leaf ttl { + description + "Optional TTL or hop limit"; + type uint8; + default "255"; + } + container match { + description + "Only export flows that match a criteria"; + container counter { + description + "Match based on the value of a counter"; + container packets { + description + "Match based on the number of packets in the flow"; + container long { + description + "Match based on the long version of the packet counter"; + choice op-choice { + case gt { + leaf gt { + description + "Greater than match"; + type uint32 { + range "0..4294967295"; + } + default "0"; + } + } + } + } + } + } + } + } + + grouping flow-default-exporter-grouping { + leaf description { + description + "Provide a description for this Flow Exporter"; + type empty; + } + leaf destination { + description + "Export destination"; + type empty; + } + leaf dscp { + description + "Optional DSCP"; + type empty; + } + leaf export-protocol { + description + "Export protocol version"; + type empty; + } + container option { + description + "Select an option for exporting"; + container application-attributes { + description + "Application Attributes Table Option"; + presence "true"; + } + container c3pl-class-table { + description + "C3PL class cce-id table"; + presence "true"; + } + container c3pl-policy-table { + description + "C3PL policy cce-id table"; + presence "true"; + } + container exporter-stats { + description + "Exporter Statistics Option"; + presence "true"; + } + container interface-table { + description + "Interface SNMP-index-to-name Table Option"; + presence "true"; + } + container metadata-version-table { + description + "Metadata Version Table Option"; + presence "true"; + } + container sampler-table { + description + "Export Sampler Option"; + presence "true"; + } + container sub-application-table { + description + "Sub Application Table Option"; + presence "true"; + } + container vrf-attributes { + description + "VRF Attributes Table Option"; + presence "true"; + } + container vrf-table { + description + "VRF ID-to-name Table Option"; + presence "true"; + } + container tunnel-tloc-table { + description + "tunnel-to-tloc Table Option"; + presence "true"; + } + container ssid-table { + description + "VRF ID-to-name Table Option"; + presence "true"; + } + leaf drop-cause-table { + description + "Drop Cause Table Option"; + type empty; + } + leaf fw-drop-reason-table { + description + "Firewall drop reason table"; + type empty; + } + leaf fw-proto-table { + description + "Firewall protocol table"; + type empty; + } + leaf fw-zone-table { + description + "Firewall zone id to name mapping table"; + type empty; + } + leaf fw-zone-pair-table { + description + "Firewall zone-pair id to name mapping table"; + type empty; + } + leaf fw-action-table { + description + "Firewall action to name mapping table"; + type empty; + } + leaf fw-end-flow-reason-table { + description + "Firewall end flow reason to name mapping table"; + type empty; + } + leaf utd-policy-table { + description + "Utd Policy name Table Option"; + type empty; + } + leaf utd-file-type-table { + description + "Utd Amp File Type Table Option"; + type empty; + } + leaf utd-category-table { + description + "Utd Url Category Table Option"; + type empty; + } + leaf utd-urlf-reason-table { + description + "Utd Url Reason Table Option"; + type empty; + } + leaf utd-action-table { + description + "Utd Action Table Option"; + type empty; + } + leaf utd-disposition-table { + description + "Utd Disposition Table Option"; + type empty; + } + leaf utd-url-table { + description + "Utd URL Table Option"; + type empty; + } + leaf utd-filename-table { + description + "Utd Filename Table Option"; + type empty; + } + leaf utd-malware-table { + description + "Utd malicious software name Table Option"; + type empty; + } + leaf utd-drop-reason-table { + description + "Utd Drop reason Table Option"; + type empty; + } + leaf sdvt-drop-reason-table { + description + "Service divert Drop reason Table Option"; + type empty; + } + leaf multi-tenant-vpn-table { + description + "Device vpn id to tenant vpn id mapping table Option"; + type empty; + } + leaf utd-ips-action-table { + description + "Utd IPS Action Table Option"; + type empty; + } + leaf utd-urlf-action-table { + description + "Utd URLF Action Table Option"; + type empty; + } + leaf utd-amp-action-table { + description + "Utd AMP Action Table Option"; + type empty; + } + leaf bfd-metrics-table { + description + "BFD Metrics Table Option"; + type empty; + } + } + container template { + description + "Flow Exporter template configuration"; + container data { + description + "Flow Exporter data configuration"; + leaf timeout { + description + "Resend data based on a timeout"; + type empty; + } + } + } + leaf transport { + description + "Transport protocol"; + type empty; + } + leaf ttl { + description + "Optional TTL or hop limit"; + type empty; + } + leaf match { + description + "flows match criteria"; + type empty; + } + } + + grouping flow-default-file-export-grouping { + leaf destination { + description + "Flow File export destination configuration"; + type empty; + } + container file { + description + "File export properties configuration"; + leaf max-count { + description + "Max export pending files on device"; + type empty; + } + leaf max-create-interval { + description + "Max time interval between files creation"; + type empty; + } + leaf max-size { + description + "File max size in megabytes before compression"; + type empty; + } + } + } + + grouping config-flow-grouping { + list record { + description + "Define a Flow Record"; + key "name"; + leaf name { + type flow-name; + } + leaf type { + description + "Type of the Flow Record"; + type enumeration { + enum performance-monitor; + } + } + uses flow-record-collect-grouping; + container default { + description + "Set a command to its defaults"; + uses flow-record-collect-grouping; + leaf description { + description + "Provide a description for this Flow Record"; + type string; + } + uses flow-record-match-grouping; + } + leaf description { + description + "Provide a description for this Flow Record"; + type string; + } + uses flow-record-match-grouping; + } + list exporter { + description + "Define a Flow Exporter"; + key "name"; + leaf name { + type flow-name; + } + uses flow-exporter-grouping; + container default { + description + "Set a command to its defaults"; + uses flow-default-exporter-grouping; + } + } + list monitor { + description + "Define a Flow Monitor"; + key "name"; + leaf name { + type flow-name; + } + leaf type { + description + "Type of the Flow Monitor"; + type enumeration { + enum performance-monitor; + } + } + uses flow-monitor-grouping; + container default { + description + "Set a command to its defaults"; + uses flow-default-monitor-grouping; + } + } + container file-export { + container default { + presence "true"; + container destination-cfg { + leaf destination { + description + "Host name or IP address"; + type string; + } + leaf transport { + description + "Transport protocol"; + type enumeration { + enum http; + enum https; + } + } + leaf dest-port { + description + "Port number"; + type uint32 { + range "1..65535"; + } + } + leaf upload-path { + description + "HTTP(s) upload-path"; + type string; + } + leaf vrf { + description + "Optional VRF label"; + type string; + } + } + container file { + description + "File export properties configuration"; + leaf max-count { + description + "Max export pending files on device"; + type uint8 { + range "1..10"; + } + default "5"; + } + leaf max-create-interval { + description + "Max time interval between files creation"; + type uint8 { + range "1..60"; + } + default "10"; + } + leaf max-size { + description + "File max size in megabytes before compression"; + type uint8 { + range "1..50"; + } + default "10"; + } + container header { + description + "Define headers sent in each exported file"; + leaf option-data { + description + "All option data"; + type boolean; + default "true"; + } + leaf templates { + description + "All current templates"; + type boolean; + default "true"; + } + } + } + container metadata { + description + "Metadata file options"; + container producer { + description + "Enable or disable a specific metadata producer"; + leaf deviceInfo { + description + "Device information"; + type boolean; + default "true"; + } + leaf fnfMonitorStats { + description + "Netflow monitors statistics"; + type boolean; + default "true"; + } + leaf intfQosStats { + description + "Quality of service statistics"; + type boolean; + default "true"; + } + leaf intfStats { + description + "Interface statistics"; + type boolean; + default "true"; + } + leaf netflowStatistics { + description + "Netflow templates statistics"; + type boolean; + default "true"; + } + leaf statsLoggerWdavc { + description + "WDAVC serviceability"; + type boolean; + default "true"; + } + } + } + container source { + description + "Originating interface"; + uses ios-ifc:interface-grouping; + } + container default { + description + "Set a command to its defaults"; + uses flow-default-file-export-grouping; + } + } + } + } + + grouping config-ip-flow-export-grouping { + container flow-export { + description + "Specify host/port to send flow statistics"; + container destination { + description + "Specify the Destination IP address"; + leaf ip { + type ios-types:host-type; + } + leaf port { + type uint16 { + range "1..65535"; + } + } + } + container source { + description + "Specify the interface for source address"; + uses ios-ifc:interface-grouping; + } + leaf version { + description + "Specify the version number"; + type enumeration { + enum 1; + enum 5; + enum 9; + } + } + } + } + + grouping config-ip-flow-cache-grouping { + container flow-cache { + description + "Configure netflow cache parameters"; + container timeout { + description + "Specify flow cache timeout parameters"; + leaf active { + description + "Specify the active flow timeout"; + type uint16 { + range "1..60"; + } + } + } + } + } + + grouping config-sampler-grouping { + leaf description { + description + "Provide a description for this Sampler"; + type string; + } + container mode { + description + "Sampling mode"; + container deterministic { + description + "Deterministic mode of sampling"; + leaf number { + type uint8; + } + leaf out-of { + description + "Select M packets out of an N packet window"; + type uint16 { + range "2..32768"; + } + } + } + container hash { + description + "Hash mode of sampling"; + leaf number { + type uint8; + } + leaf out-of { + description + "Select 1 packets out of an N packets based on hash of ip-id and udp / tcp checksum"; + type uint16 { + range "1..65535"; + } + } + } + container random { + description + "Random mode of sampling"; + leaf number { + type uint8; + } + leaf out-of { + description + "Select M packets out of an N packet window"; + type uint16 { + range "1..65535"; + } + } + } + } + container granularity { + description + "Specify sampler granularity"; + leaf connection { + type empty; + } + leaf packet { + type empty; + } + } + } + + grouping interface-ip-monitor-grouping { + list monitor-new { + description + "Apply a Flow Monitor"; + key "name direction"; + leaf name { + description + "User defined"; + type leafref { + path "/ios:native/ios:flow/ios-flow:monitor/ios-flow:name"; + } + } + leaf direction { + type enumeration { + enum input; + enum output; + } + } + leaf sampler { + type flow-name; + } + leaf subtraffic { + type enumeration { + enum unicast; + enum multicast; + } + } + } + list monitor { + description + "Apply a Flow Monitor"; + status obsolete; + key "name"; + leaf name { + description + "User defined"; + status obsolete; + type leafref { + path "/ios:native/ios:flow/ios-flow:monitor/ios-flow:name"; + } + } + list sampler { + description + "Optional Sampler to apply to this Flow Monitor"; + status obsolete; + key "direction"; + leaf direction { + description + "Apply Flow Monitor on input/output traffic"; + status obsolete; + type enumeration { + enum input; + enum output; + } + } + leaf name { + description + "User defined"; + status obsolete; + type flow-name; + } + } + leaf input { + status obsolete; + description + "Apply Flow Monitor on input traffic"; + type empty; + } + leaf output { + status obsolete; + description + "Apply Flow Monitor on input traffic"; + type empty; + } + leaf multicast { + status obsolete; + type empty; + } + leaf unicast { + status obsolete; + type empty; + } + } + } + + grouping config-interface-ip-flow-grouping { + container flow { + description + "NetFlow related commands"; + leaf ingress { + description + "Enable inbound NetFlow"; + type empty; + } + leaf egress { + description + "Enable outbound NetFlow"; + type empty; + } + uses interface-ip-monitor-grouping; + } + } + + grouping config-interface-ipv6-flow-grouping { + container flow { + description + "NetFlow related commands"; + leaf ingress { + description + "Enable inbound NetFlow"; + type empty; + } + leaf egress { + description + "Enable outbound NetFlow"; + type empty; + } + uses interface-ip-monitor-grouping; + } + } + + grouping config-ip-visibility-flow-grouping { + container flow { + description + "Apply flow visibility"; + container monitor { + description + "Apply a Flow Monitor"; + container sdwan_flow_monitor { + if-feature "ios-features:sdwan"; + description + "Apply SDWAN flow monitor"; + choice input-sampler-choice { + leaf input { + description + "Apply Flow Monitor on input traffic"; + type empty; + } + container sampler { + description + "Optional sampler for SDWAN flow monitor"; + container sdwan_flow_sampler { + description + "Apply SDWAN sampler"; + leaf input { + description + "Apply Flow Monitor on input traffic"; + type empty; + } + } + } + } + } + } + } + } + + grouping config-ip-visibility-grouping { + container global { + description + "Apply global visibility"; + uses config-ip-visibility-flow-grouping; + } + container policy { + description + "Apply global visibility"; + uses config-ip-visibility-flow-grouping; + } + } + + grouping config-ipv6-visibility-flow-grouping { + container flow { + description + "Apply flow visibility"; + container monitor { + description + "Apply a Flow Monitor"; + container sdwan_flow_monitor_ipv6 { + description + "Apply SDWAN flow monitor"; + choice input-sampler-choice { + leaf input { + description + "Apply Flow Monitor on input traffic"; + type empty; + } + container sampler { + description + "Optional sampler for SDWAN flow monitor"; + container sdwan_flow_sampler_ipv6 { + description + "Apply SDWAN sampler"; + leaf input { + description + "Apply Flow Monitor on input traffic"; + type empty; + } + } + } + } + } + } + } + } + + grouping config-ipv6-visibility-grouping { + container global { + description + "Apply global visibility"; + uses config-ipv6-visibility-flow-grouping; + } + container policy { + description + "Apply global visibility"; + uses config-ipv6-visibility-flow-grouping; + } + } + + augment "/ios:native/ios:flow" { + uses config-flow-grouping; + } + + augment "/ios:native/ios:sampler" { + uses config-sampler-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ipv6" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ipv6" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ipv6" { + uses config-interface-ip-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-flow-grouping; + } + + augment "/ios:native/ios:ip/ios:visibility" { + uses config-ip-visibility-grouping; + } + + augment "/ios:native/ios:ipv6/ios:visibility" { + uses config-ipv6-visibility-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-fqdn.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-fqdn.yang new file mode 100644 index 000000000..bf685ce3b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-fqdn.yang @@ -0,0 +1,57 @@ +module Cisco-IOS-XE-fqdn { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-fqdn"; + prefix ios-fqdn; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE PnP Yang model. + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-11-01 { + description + "Added yang support for fqdn"; + } + + grouping config-fqdn-grouping { + container fqdn { + leaf ttl-timeout-factor { + description + "time-out factor for TTL"; + type union { + type enumeration { + enum infinite; + } + type uint16 { + range "1..300"; + } + } + default "10"; + } + } + } + + augment "/ios:native" { + uses config-fqdn-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-frame-relay.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-frame-relay.yang new file mode 100644 index 000000000..7aa4ced44 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-frame-relay.yang @@ -0,0 +1,266 @@ +module Cisco-IOS-XE-frame-relay { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-frame-relay"; + prefix ios-frame-relay; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native frame-relay Yang Model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-global-frame-relay-grouping { + leaf switching { + description + "enable frame relay pvc switching"; + type empty; + } + } + + grouping frame-relay-switch-interface-grouping { + choice interface-choice { + leaf Serial { + description + "Serial interface"; + type string; + } + leaf Tunnel { + description + "Tunnel interface"; + type uint32; + } + leaf MFR { + description + "MFR interface"; + type uint32 { + range "0..2147483647"; + } + } + } + } + + grouping config-interface-serial-frame-relay-grouping { + container frame-relay { + description + "Set frame relay parameters"; + when '../ios:encapsulation/ios:frame-relay'; + leaf lmi-type { + description + "Use CISCO-ANSI-CCITT type LMI"; + type enumeration { + enum ansi; + } + } + leaf intf-type { + description + "Configure a FR DTE/DCE/NNI interface"; + type enumeration { + enum dce; + enum dte; + } + default "dte"; + } + list interface-dlci { + key "name"; + leaf name { + description + "Define a DLCI on an interface/subinterface"; + type uint16 { + range "16..1007"; + } + } + } + list route { + description + "frame relay route for pvc switching"; + key "name"; + leaf name { + description + "input dlci to be switched"; + type uint16 { + range "16..1007"; + } + } + container interface { + description + "outgoing interface for pvc switching"; + uses frame-relay-switch-interface-grouping; + leaf dlci-number { + description + "output dlci to use when switching"; + type uint16 { + range "16..1007"; + } + } + } + } + } + } + + grouping config-MFR-bandwidth-grouping { + container frame-relay { + description + "Set frame relay parameters"; + container multilink { + description + "Set Multilink FR parameters"; + container bandwidth-class { + description + "Multilink Frame Relay bandwidth class"; + choice class-choice { + leaf a { + description + "Bandwidth class A"; + type empty; + } + leaf b { + description + "Bandwidth class B"; + type empty; + } + leaf c { + description + "Bandwidth class C"; + type uint16 { + range "1..65535"; + } + } + } + } + } + leaf intf-type { + description + "Configure a FR DTE/DCE/NNI interface"; + type enumeration { + enum dce; + enum dte; + } + default "dte"; + } + list interface-dlci { + key "name"; + leaf name { + description + "Define a DLCI on an interface/subinterface"; + type uint16 { + range "16..1007"; + } + } + } + leaf lmi-type { + type enumeration { + enum ansi; + } + } + container map { + description + "Map a protocol address to a DLCI address"; + list ip { + description + "ip"; + key "name"; + leaf name { + description + "Protocol specific address"; + type inet:ipv4-address; + } + leaf dlci-number { + description + "DLCI"; + type uint16 { + range "16..1007"; + } + } + } + } + } + } + + grouping config-interface-dlci-grouping { + container frame-relay { + description + "Set frame relay parameters"; + container interface-dlci { + leaf name { + description + "Define a DLCI on an interface/subinterface"; + type uint16 { + range "16..1007"; + } + } + } + } + } + + grouping config-frame-relay-grouping { + container frame-relay { + description + "Set frame relay parameters"; + leaf encapsulation { + description + "Frame Relay networks"; + type empty; + } + leaf intf-type { + description + "Configure a FR DTE/DCE/NNI interface"; + type enumeration { + enum dce; + enum dte; + } + } + } + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-serial-frame-relay-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR" { + uses config-MFR-bandwidth-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial" { + uses config-interface-dlci-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR-subinterface/ios:MFR" { + uses config-interface-dlci-grouping; + } + + augment "/ios:native/ios:frame-relay" { + uses config-global-frame-relay-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-fw-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-fw-oper.yang new file mode 100644 index 000000000..b78b81174 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-fw-oper.yang @@ -0,0 +1,775 @@ +module Cisco-IOS-XE-fw-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-fw-oper"; + prefix fw-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ZBFW operational data. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-11-01 { + description + "Added missing drop causes"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-10-29 { + description + "- Added Policy AVC Action Drop + - Cleaned up spelling errors in descriptions. + - Added network configurations. + - Renamed top level container from fw-oper-data to zbfw."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-02-22 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping fw-drop-stats { + description + "Firewall Drop Statistics"; + leaf catch-all { + type uint64; + description + "Total packet drops seen since bring up"; + } + leaf l4-max-halfsession { + type uint64; + description + "Packet drops due to maximum L4 half-open sessions reached"; + } + leaf l4-too-many-pkts { + type uint64; + description + "Packet drops due to exceeding the maximum number of inspectable packets allowed per flow"; + } + leaf l4-session-limit { + type uint64; + description + "Packet drops for session initiators after exceeding maximum session limit"; + } + leaf l4-invalid-hdr { + type uint64; + description + "Packet drops due to invalid header/packet length"; + } + leaf l4-internal-err-undefined-dir { + type uint64; + description + "Packet drops due to a failure in determining direction"; + } + leaf l4-scb-close { + type uint64; + description + "Packet drops due to session in internal close state"; + } + leaf l4-tcp-invalid-ack-flag { + type uint64; + description + "Packet drops due to invalid TCP ACK flags"; + } + leaf l4-tcp-invalid-ack-num { + type uint64; + description + "Packet drops due to invalid ACK number"; + } + leaf l4-tcp-invalid-tcp-initiator { + type uint64; + description + "Packet drops due to non-SYN packets received without valid session"; + } + leaf l4-tcp-syn-with-data { + type uint64; + description + "Packet drops due to SYN packets having data"; + } + leaf l4-tcp-invalid-win-scale-option { + type uint64; + description + "Packet drops due to invalid TCP window scale option"; + } + leaf l4-tcp-invalid-seg-synsent-state { + type uint64; + description + "Packet drops due to invalid packets received in SYNSENT state"; + } + leaf l4-tcp-invalid-seg-synrcvd-state { + type uint64; + description + "Packet drops due to invalid packets received in SYNRCVD state"; + } + leaf l4-tcp-invalid-seg-pkt-too-old { + type uint64; + description + "Packet drops due to packets being too old/out of window"; + } + leaf l4-tcp-invalid-seg-pkt-win-overflow { + type uint64; + description + "Packet drops due to receiver window overflow (except when vTCP is enabled)"; + } + leaf l4-tcp-invalid-seg-pyld-after-fin-send { + type uint64; + description + "Packet drops due to payload received after FIN is sent"; + } + leaf l4-tcp-invalid-flags { + type uint64; + description + "Packet drops due to invalid/unexpected TCP flags"; + } + leaf l4-tcp-invalid-seq { + type uint64; + description + "Packet drops due to invalid sequence number"; + } + leaf l4-tcp-retrans-invalid-flags { + type uint64; + description + "Packet drops due to invalid flags in TCP retransmitted packet"; + } + leaf l4-tcp-l7-ooo-seg { + type uint64; + description + "Packet drops due to L7 not accepting out-of-order TCP segments"; + } + leaf l4-tcp-syn-flood-drop { + type uint64; + description + "Packet drops during SYN flood attack"; + } + leaf l4-tcp-internal-err-synflood-alloc-hostdb-fail { + type uint64; + description + "Packet drops due to failure of hostdb allocation during a SYN flood attack"; + } + leaf l4-tcp-synflood-blackout-drop { + type uint64; + description + "Packet drops due to blackout drop time when exceeding configured half-open connections"; + } + leaf l4-tcp-unexpect-tcp-payload { + type uint64; + description + "Packet drops due to receiving TCP packet with payload when a response is expected for SYN"; + } + leaf l4-tcp-syn-in-win { + type uint64; + description + "Packet drops due to receiving SYN in an established connection"; + } + leaf l4-tcp-rst-in-win { + type uint64; + description + "Packet drops due to receiving RST in an established connection"; + } + leaf l4-tcp-stray-seg { + type uint64; + description + "Packet drops due to unexpected/stray TCP segments"; + } + leaf l4-tcp-rst-to-resp { + type uint64; + description + "RST sent to responder in SYNSENT state when ACK sequence is invalid"; + } + leaf insp-pam-lookup-fail { + type uint64; + description + "Packet drops when policy exists in zone-pair but PAM lookup fails"; + } + leaf insp-internal-err-get-stat-blk-fail { + type uint64; + description + "Packet drops due to failure to get statistics block"; + } + leaf insp-dstaddr-lookup-fail { + type uint64; + description + "Packet drops due to destination address lookup failure"; + } + leaf insp-policy-not-present { + type uint64; + description + "Packet drops due to inspection policy not present in zone-pair"; + } + leaf insp-sess-miss-policy-not-present { + type uint64; + description + "Packet drops due to session lookup failure and no matching policy present"; + } + leaf insp-classification-fail { + type uint64; + description + "Packet drops due to protocol classification failure"; + } + leaf insp-class-action-drop { + type uint64; + description + "Packet drops due to a drop classification action"; + } + leaf insp-policy-misconfigure { + type uint64; + description + "Packet drops due to failed classification because of misconfigured security policy"; + } + leaf l4-icmp-too-many-err-pkts { + type uint64; + description + "Packet drops after exceeding the maximum number of ICMP error packets allowed per flow"; + } + leaf l4-icmp-internal-err-no-nat { + type uint64; + description + "Packet drops when ICMP is network address translated without internal NAT info"; + } + leaf l4-icmp-internal-err-alloc-fail { + type uint64; + description + "Packet drops when ICMP failed to get error packets"; + } + leaf l4-icmp-internal-err-get-stat-blk-fail { + type uint64; + description + "Packet drops due to a failure to get statistics block"; + } + leaf l4-icmp-internal-err-dir-not-identified { + type uint64; + description + "Packet drops due to unidentified ICMP packet direction"; + } + leaf l4-icmp-scb-close { + type uint64; + description + "Packet drops due to receiving ICMP packets when session is in internal close state"; + } + leaf l4-icmp-pkt-no-ip-hdr { + type uint64; + description + "Packet drops due to missing IP header in ICMP packets"; + } + leaf l4-icmp-pkt-too-short { + type uint64; + description + "Packet drops due to ICMP error where packets are too short"; + } + leaf l4-icmp-err-no-ip-no-icmp { + type uint64; + description + "Packet drops due to packets not identified as IP or ICMP"; + } + leaf l4-icmp-err-pkts-burst { + type uint64; + description + "Packet drops due to ICMP error where packet bursts exceed a limit of 10"; + } + leaf l4-icmp-err-multiple-unreach { + type uint64; + description + "Packet drops due to receiving multiple unreachable packets; only 1 is allowed"; + } + leaf l4-icmp-err-l4-invalid-seq { + type uint64; + description + "Packet drops when inner TCP sequence number of packet does not match that of packet originating the ICMP error"; + } + leaf l4-icmp-err-l4-invalid-ack { + type uint64; + description + "Packet drops due to inner TCP header invalid ACK"; + } + leaf l4-icmp-err-policy-not-present { + type uint64; + description + "Packet drops due to missing policy on zone-pair for ICMP"; + } + leaf l4-icmp-err-classification-fail { + type uint64; + description + "Packet drops due to a miss when doing reverse path flow check"; + } + leaf syncookie-max-dst { + type uint64; + description + "SYNcookie Packet drops when we've reached maximum number of SYN destinations per zone"; + } + leaf syncookie-internal-err-alloc-fail { + type uint64; + description + "SYNcookie Packet drops due to a failure in allocating memory in the destination table"; + } + leaf syncookie-trigger { + type uint64; + description + "Packet drops due to a SYNcookie trigger"; + } + leaf policy-fragment-drop { + type uint64; + description + "Packet drops due to dropping fragmented packet when first fragment drops"; + } + leaf policy-action-drop { + type uint64; + description + "Packet drops when policy action is drop"; + } + leaf policy-icmp-action-drop { + type uint64; + description + "Packet drops when policy action for the ICMP packet is to drop"; + } + leaf l7-type-drop { + type uint64; + description + "Packet drops when L7 inspection returns drop as the action"; + } + leaf l7-no-seg { + type uint64; + description + "Packet drops due to receiving segmented packets when ALG does not honor them"; + } + leaf l7-no-frag { + type uint64; + description + "Packet drops due to receiving fragmented packets when ALG does not honor them"; + } + leaf l7-unknown-proto { + type uint64; + description + "Packet drops due to unrecognized L7 protocol type"; + } + leaf l7-alg-ret-drop { + type uint64; + description + "Packet drops due to L7 (ALG) deciding to drop the packet"; + } + leaf l7-promote-fail-no-zone-pair { + type uint64; + description + "Packet drops due to L7 sub-channel promotion failure due to no zone pair configured for the sub-channel"; + } + leaf l7-promote-fail-no-policy { + type uint64; + description + "Packet drops due to L7 sub-channel promotion failure due to no policy configured for the sub-channel"; + } + leaf no-session { + type uint64; + description + "Packet drops due to session creation failure"; + } + leaf no-new-session { + type uint64; + description + "Packet drops due to internal state not allowing new session creation"; + } + leaf not-initiator { + type uint64; + description + "Packet drops due to receiving a non-initiator packet for a session"; + } + leaf invalid-zone { + type uint64; + description + "Packet drops due to a zone not configured for interface"; + } + leaf ha-ar-standby { + type uint64; + description + "Packet drops due to asymmetric routing not configured and box not in active state"; + } + leaf no-forwarding-zone { + type uint64; + description + "Packet drops when Firewall is uninitialized"; + } + leaf backpressure { + type uint64; + description + "Packet drops due to backpressure by log mechanism"; + } + leaf zone-mismatch { + type uint64; + description + "Packet drops due to zone mismatch"; + } + leaf fdb-err { + type uint64; + description + "Packet drops due to a failure to register flow with flow database"; + } + leaf lisp-header-restore-fail { + type uint64; + description + "Packet drops due to LISP header restoration failure"; + } + leaf lisp-inner-pkt-insane { + type uint64; + description + "Packet drops due to LISP inner packet sanity check failure"; + } + leaf lisp-inner-ipv4-insane { + type uint64; + description + "Packet drops due to LISP inner packet IPV4 sanity check failure"; + } + leaf lisp-inner-ipv6-insane { + type uint64; + description + "Packet drops due to LISP inner packet IPV6 sanity check failure"; + } + leaf policy-avc-action-drop { + type uint64; + description + "Packet drops when AVC policy action is drop"; + } + leaf l4-icmp-invalid-seq { + type uint64; + description + "Packet drops due to invalid ICMP sequence number"; + } + leaf l4-udp-max-halfsession { + type uint64; + description + "Packet drops due to UDP half-open session limit exceed"; + } + leaf l4-icmp-max-halfsession { + type uint64; + description + "Packet drops due to ICMP half-open session limit exceed"; + } + leaf no-zone-pair-present { + type uint64; + description + "Packet drops due to no zone-pair found"; + } + } + + grouping fw-l7-tc-match-app-list-entry { + description + "Firewall L7 Traffic class protocol list entry"; + leaf l7-match-app-name { + type string; + description + "Layer 7 Application Name"; + } + leaf byte-counters { + type uint64; + description + "Number of bytes matching this application"; + } + leaf pkt-counters { + type uint64; + description + "Number of packets matching this application"; + } + } + + grouping fw-l7-traffic-class-list-entry { + description + "Firewall L7 Traffic class list"; + leaf child-class-name { + type string; + description + "Name of the L7 traffic class"; + } + leaf parent-class-name { + type string; + description + "Name of the traffic class"; + } + leaf child-class-action { + type string; + description + "Action for the L7 traffic class"; + } + leaf pkts-counter { + type uint64; + description + "Total Packets"; + } + leaf bytes-counter { + type uint64; + description + "Total bytes"; + } + leaf attempted-conn { + type uint64; + description + "Total number for the attempted connections matching this traffic class"; + } + leaf current-active-conn { + type uint64; + description + "Current number of active connections matching this traffic class"; + } + leaf max-active-conn { + type uint64; + description + "Maximum number of active connections seen for this traffic class"; + } + leaf current-halfopen-conn { + type uint64; + description + "Current number of half-open connections seen for this traffic class"; + } + leaf max-halfopen-conn { + type uint64; + description + "Maximum number of half-open connections seen for this traffic class"; + } + leaf current-terminating-conn { + type uint64; + description + "Current number of terminating connections seen for this traffic class"; + } + leaf max-terminating-conn { + type uint64; + description + "Maximum number of terminating connections seen for this traffic class"; + } + leaf time-since-last-session-create { + type uint64; + description + "seconds since last session creation"; + } + list fw-l7-tc-match-app-entry { + key "l7-match-app-name"; + description + "Firewall L7 Traffic class application list entries"; + uses fw-ios-xe-oper:fw-l7-tc-match-app-list-entry; + } + } + + grouping fw-tc-proto-list-entry { + description + "Firewall Traffic class protocol list entry"; + leaf proto-id { + type uint16; + description + "Protocol ID"; + } + leaf protocol-name { + type string; + description + "Protocol Name"; + } + leaf byte-counters { + type uint64; + description + "Number of bytes matching this protocol"; + } + leaf pkt-counters { + type uint64; + description + "Number of packets matching this protocol"; + } + } + + grouping fw-tc-match-list-entry-key { + description + "Firewall Traffic class match list entry key"; + leaf match-name { + type string; + description + "Match Name"; + } + leaf match-type-id { + type uint8; + description + "Match Type Identifier"; + } + } + + grouping fw-tc-match-list-entry { + description + "Firewall Traffic class match list entry"; + leaf match-type { + type string; + description + "Match Type"; + } + } + + grouping fw-traffic-class-list-entry { + description + "Firewall Traffic class list"; + leaf class-name { + type string; + description + "Name of the traffic class"; + } + leaf zonepair-name { + type string; + description + "Zone pair name"; + } + leaf class-action { + type string; + description + "Action for the traffic class"; + } + leaf pkts-counter { + type uint64; + description + "Total Packets"; + } + leaf bytes-counter { + type uint64; + description + "Total bytes"; + } + leaf attempted-conn { + type uint64; + description + "Total number for the attempted connections matching this traffic class"; + } + leaf current-active-conn { + type uint64; + description + "Current number of active connections matching this traffic class"; + } + leaf max-active-conn { + type uint64; + description + "Maximum number of active connections seen for this traffic class"; + } + leaf current-halfopen-conn { + type uint64; + description + "Current number of half-open connections seen for this traffic class"; + } + leaf max-halfopen-conn { + type uint64; + description + "Maximum number of half-open connections seen for this traffic class"; + } + leaf current-terminating-conn { + type uint64; + description + "Current number of terminating connections seen for this traffic class"; + } + leaf max-terminating-conn { + type uint64; + description + "Maximum number of terminating connections seen for this traffic class"; + } + leaf time-since-last-session-create { + type uint64; + description + "Seconds since last session creation"; + } + list fw-tc-match-entry { + key "match-name match-type-id"; + description + "List of match conditions"; + uses fw-ios-xe-oper:fw-tc-match-list-entry-key; + uses fw-ios-xe-oper:fw-tc-match-list-entry; + } + list fw-tc-proto-entry { + key "proto-id"; + description + "Firewall Traffic class protocol list entries"; + uses fw-ios-xe-oper:fw-tc-proto-list-entry; + } + leaf l7-policy-name { + type string; + description + "Name of the L7 policy applied for this zone pair"; + } + list fw-l7-traffic-class-entry { + key "child-class-name"; + description + "Firewall L7 Traffic class list entries"; + uses fw-ios-xe-oper:fw-l7-traffic-class-list-entry; + } + } + + grouping fw-zonepair-list-entries { + description + "Firewall Zone pair list entries"; + leaf zonepair-name { + type string; + description + "Name of the zone pair"; + } + leaf src-zone-name { + type string; + description + "Name of the source zone"; + } + leaf dst-zone-name { + type string; + description + "Name of the destination zone"; + } + leaf policy-name { + type string; + description + "Name of the policy applied for this zone pair"; + } + list fw-traffic-class-entry { + key "class-name"; + description + "Firewall Traffic class list entries"; + uses fw-ios-xe-oper:fw-traffic-class-list-entry; + } + } + + container zbfw { + config false; + description + "Operational state of ZBFW"; + container drop-statistics { + presence "fw-drop-stats"; + description + "Firewall Drop Statistics"; + uses fw-ios-xe-oper:fw-drop-stats; + } + list zonepair-statistics { + key "zonepair-name"; + description + "Firewall Zone pair list entries"; + uses fw-ios-xe-oper:fw-zonepair-list-entries; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-g8032.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-g8032.yang new file mode 100644 index 000000000..95b4fe940 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-g8032.yang @@ -0,0 +1,318 @@ +module Cisco-IOS-XE-g8032 { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-g8032"; + prefix ios-g8032; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Ethernet Ring protection (G8032) Yang model. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-01 { + description + "Initial revision"; + } + + grouping config-ethernet-grouping { + container ring { + description + "Ring Protection G8032"; + container g8032 { + description + "Specify the g.8032 ethernet ring"; + list ring-name { + key "name"; + leaf name { + description + "Name of the ethernet ring"; + type string { + length "1..32"; + } + } + container exclusion-list { + description + "Specify exclusion list not protected by ERP"; + leaf vlan-ids { + description + "List of VLAN IDs in the form a-b,c,d,e-f,g"; + type string; + } + } + leaf open-ring { + description + "Specify the g.8032 ring as open ring"; + type empty; + } + container port0 { + description + "Port0 of the local node connected to G.8032 ring"; + container interface { + description + "Assign port interface"; + uses ios-ifc:interface-grouping; + } + container monitor { + description + "Assign the Ethernet Service Instance to monitor g.8032 ring port"; + container service { + description + "Specify an Ethernet Service Instance"; + leaf instance { + description + "Specify an Ethernet Service Instance"; + type uint16 { + range "1..8184"; + } + } + } + } + } + container port1 { + description + "Port1 of the local node connected to G.8032 ring"; + leaf none { + description + "Assign port1 as none to enable g.8032 open-ring"; + type empty; + } + container interface { + description + "Assign port interface"; + uses ios-ifc:interface-grouping; + } + container monitor { + description + "Assign the Ethernet Service Instance to monitor g.8032 ring port"; + container service { + description + "Specify an Ethernet Service Instance"; + leaf instance { + description + "Specify an Ethernet Service Instance"; + type uint16 { + range "1..8184"; + } + } + } + } + } + list instance { + description + "Configure the g.8032 ethernet ring instance"; + key "number"; + leaf number { + description + "Instance number"; + type uint8 { + range "1..2"; + } + } + container aps-channel { + description + "Configure g.8032 instance aps-channel"; + presence "true"; + leaf level { + description + "Specify the APS message level"; + type uint8 { + range "0..7"; + } + } + container port0 { + description + "Configure g.8032 aps-channel info associated to port0"; + container service { + description + "Specify an Ethernet Service Instance"; + leaf instance { + description + "Specify an Ethernet Service Instance"; + type uint16 { + range "1..8184"; + } + } + } + } + container port1 { + description + "Configure g.8032 aps-channel info associated to port1"; + choice service-instance { + case none-case { + leaf none { + description + "Specify port1 APS channel as none"; + type empty; + } + } + case service-instance-case { + container service { + description + "Specify an Ethernet Service Instance"; + leaf instance { + description + "Specify an Ethernet Service Instance"; + type uint16 { + range "1..8184"; + } + } + } + } + } + } + } + leaf description { + description + "Description for the instance"; + type string; + } + container inclusion-list { + description + "Specify inclusion list protected by ERP"; + leaf vlan-ids { + description + "Associates a set of VLAN IDs with the current instance"; + type string; + } + } + leaf profile { + description + "Ethernet ring profile name"; + type string; + } + container rpl { + description + "Specify RPL owner, neighbor or next-neighbor"; + choice port { + case port0 { + leaf port0 { + description + "Assign port0 as RPL owner, neighbor or next-neighbor"; + type enumeration { + enum neighbor; + enum next-neighbor; + enum owner; + } + } + } + case port1 { + leaf port1 { + description + "Assign port1 as RPL owner, neighbor or next-neighbor"; + type enumeration { + enum neighbor; + enum next-neighbor; + enum owner; + } + } + } + } + } + } + } + list profile { + description + "g.8032 ring profile configuration"; + key "name"; + leaf name { + description + "ERP profile name string"; + type string { + length "1..32"; + } + } + container timer { + description + "g.8032 timer"; + leaf guard { + description + "Guard timer"; + type uint32 { + range "10..2000"; + } + default "500"; + } + leaf hold-off { + description + "Hold off timer"; + type uint32 { + range "0..10"; + } + default "0"; + } + leaf wtr { + description + "Wait-to-Restore timer"; + type uint32 { + range "1..12"; + } + default "5"; + } + } + leaf non-revertive { + description + "Non-revertive ring instance"; + type empty; + } + } + } + } + container tcn-propagation { + description + "Enable TCN propagation"; + container g8032 { + description + "g.8032 ethernet ring"; + container to { + description + "propagate TCN to"; + leaf g8032 { + description + "g.8032 ethernet ring"; + type empty; + } + leaf rep { + description + "resilient ethernet protocol"; + type empty; + } + } + } + } + } + + augment "/ios:native/ios:ethernet" { + uses config-ethernet-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-events.yang new file mode 100644 index 000000000..f86426408 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-events.yang @@ -0,0 +1,98 @@ +module Cisco-IOS-XE-geo-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-geo-events"; + prefix geo-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for GEO database events operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef geo-db-update-result-type { + type enumeration { + enum geo-db-update-status-success { + value 0; + description + "Geo-Location Database update successful."; + } + enum geo-db-update-status-failure { + value 1; + description + "Geo-Location Database update failed."; + } + enum geo-db-update-status-fs-error { + value 2; + description + "Geo-Location Database update filesystem error."; + } + enum geo-db-update-status-internal-error { + value 3; + description + "Geo-Location Database update encountered internal error."; + } + } + description + "Geo-Location Database update status type"; + } + + grouping geo-db-update { + description + "Geo-Location Database Update"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf db-file { + type string; + description + "Geo-Location Database update file"; + } + leaf status { + type geo-ios-xe-events:geo-db-update-result-type; + description + "Geo-Location Database update status"; + } + } + + notification geo-db-update-event { + description + "Geo-Location Database Update Notification"; + uses geo-ios-xe-events:geo-db-update; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-oper.yang new file mode 100644 index 000000000..599a45721 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-oper.yang @@ -0,0 +1,76 @@ +module Cisco-IOS-XE-geo-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-geo-oper"; + prefix geo-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the Geo-Location database feature. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping geo-db-status { + description + "Geo-location database status"; + leaf geo-enabled { + type boolean; + description + "Geo-location database feature enablement status"; + } + leaf db-file-name { + when "(../geo-enabled = 'true')"; + type string; + description + "Geo-location database file name"; + } + leaf db-version { + when "(../geo-enabled = 'true')"; + type string; + description + "Geo-location database version"; + } + } + + container geo-oper-data { + config false; + description + "Geo-Location database operational data"; + container geo-db-status { + presence "geo-db-status"; + description + "Geo-location database status"; + uses geo-ios-xe-oper:geo-db-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-rpc.yang new file mode 100644 index 000000000..7b3ee32df --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo-rpc.yang @@ -0,0 +1,95 @@ +module Cisco-IOS-XE-geo-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-geo-rpc"; + prefix geo-ios-xe-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef geo-database-type { + type enumeration { + enum update-use-file { + value 0; + description + "Update Geo-Location Database via file"; + } + enum revert-use-default { + value 1; + description + "Revert to default Geo-Location Database file"; + } + } + description + "Geo database actions"; + } + + grouping geo-database { + description + "Geo-Location Database actions for upgrading or reverting + database files."; + choice geo-database-type-by-choice { + mandatory true; + description + "Geo-Location Database actions"; + case update-use-file { + leaf update-file { + type string { + length "0..255"; + pattern '(flash:|bootflash:)[-A-Za-z_.0-9/]*[-A-Za-z_0-9]'; + } + mandatory true; + description + "Specify the Geo-Location Database update file"; + } + } + case revert-use-default { + leaf revert-default { + type boolean; + mandatory true; + description + "Revert to an older Geo-Location Database file"; + } + } + } + } + + rpc geo-database { + description + "Geo-Location Database action RPC"; + input { + uses geo-ios-xe-rpc:geo-database; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-geo.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo.yang new file mode 100644 index 000000000..976059139 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-geo.yang @@ -0,0 +1,51 @@ +module Cisco-IOS-XE-geo { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-geo"; + prefix ios-geo; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Geo-location Database Yang model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-11-01 { + description + "Initial revision"; + } + + grouping config-geo-grouping { + container geo { + description + "Configure Geo-Location Database"; + leaf database { + description + "Configure Geo-Location Database"; + type empty; + } + } + } + + augment "/ios:native" { + uses config-geo-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-gir-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-gir-oper.yang new file mode 100644 index 000000000..9c8477021 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-gir-oper.yang @@ -0,0 +1,452 @@ +module Cisco-IOS-XE-gir-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-gir-oper"; + prefix gir-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE maintenance mode (GIR) operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-11-01 { + description + "Update copyright"; + reference + "1.2.1"; + cisco-semver:module-version "1.2.1"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-04-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef gir-system-mode { + type enumeration { + enum gir-normal-mode { + value 0; + description + "Normal operational mode"; + } + enum gir-maintenance-mode { + value 1; + description + "Maintenance mode"; + } + enum gir-transition-into-mmode { + value 2; + description + "Transition into maintenance mode"; + } + enum gir-transition-out-mmode { + value 3; + description + "Transition out of maintenance mode"; + } + } + description + "The system mode this device is currently in"; + } + + typedef gir-transition-state { + type enumeration { + enum gir-client-transition-start { + value 0; + description + "Transition started"; + } + enum gir-client-transition-complete { + value 1; + description + "Transition completed"; + } + enum gir-client-transition-fail { + value 2; + description + "Transition failed"; + } + enum gir-client-transition-none { + value 3; + description + "No transition has happened"; + } + } + description + "Transition states of maintenance mode clients"; + } + + typedef gir-class-type { + type enumeration { + enum gir-client-class-egp { + value 0; + description + "Exterior Gateway Protocols"; + } + enum gir-client-class-igp { + value 1; + description + "Interior Gateway Protocols"; + } + enum gir-client-class-mcast { + value 2; + description + "Multicast Protocols"; + } + enum gir-client-class-fhrp { + value 3; + description + "First Hop Redundancy Protocols"; + } + enum gir-client-class-l2 { + value 4; + description + "Layer 2 interface level protocols"; + } + } + description + "Protocol class of maintenance mode clients"; + } + + grouping gir-counter { + description + "Maintenance mode global counters"; + leaf enter-mmode-without-tmpl-init { + type uint64; + description + "Counter for initial process when entering maintenance mode without template"; + } + leaf enter-mmode-tmpl-init { + type uint64; + description + "Counter for initial process when entering maintenance mode with template"; + } + leaf entered-mmode { + type uint64; + description + "Counter for successfully entering maintenance mode"; + } + leaf exit-mmode-init { + type uint64; + description + "Counter for initial process when exiting maintenance mode"; + } + leaf exited-mmode { + type uint64; + description + "Counter for successfully exiting maintenance mode"; + } + leaf stop-mmode-with-tmpl { + type uint64; + description + "Counter for exiting maintenance mode with template"; + } + leaf entered-mmode-tmpl { + type uint64; + description + "Counter for entering maintenance mode with template"; + } + leaf failsafe-exp { + type uint64; + description + "Counter for failsafe timer expiration"; + } + leaf timeout-exp { + type uint64; + description + "Counter for timeout timer expiration"; + } + leaf already-in-trans { + type uint64; + description + "Counter for changing maintenance mode when already in transition"; + } + leaf clients-registered { + type uint64; + description + "Counter for number of times clients registered to maintenance mode subsystem"; + } + leaf clients-deregistered { + type uint64; + description + "Counter for number of times clients deregistered from maintenance mode subsystem"; + } + leaf prc-yielded { + type uint64; + description + "Counter for maintenance mode process yielded"; + } + leaf sync-start-maintenance-sent { + type uint64; + description + "Counter for sent sync messages when starting maintenance mode"; + } + leaf sync-compl-maintenance-sent { + type uint64; + description + "Counter for sent sync messages when completing maintenance mode"; + } + leaf sync-start-maintenance-recvd { + type uint64; + description + "Counter for received sync messages when starting maintenance mode"; + } + leaf sync-compl-maintenance-recvd { + type uint64; + description + "Counter for received sync messages when completing maintenance mode"; + } + leaf reload-in-maintenance { + type uint64; + description + "Counter for reload in maintenance mode"; + } + leaf switch-over-in-trans-tmpl { + type uint64; + description + "Counter for switchover in maintenance mode transition"; + } + leaf stop-without-start { + type uint64; + description + "Counter for stopping maintenance mode without starting"; + } + } + + grouping gir-error-counter { + description + "Maintenance mode error counters"; + leaf chkpt { + type uint64; + description + "Counter for errors during checkpoint"; + } + leaf issu { + type uint64; + description + "Counter for errors during In Service Software Upgrade"; + } + leaf chunk { + type uint64; + description + "Counter for errors during memory chuck allocation"; + } + leaf snapshot { + type uint64; + description + "Counter for errors during snapshot"; + } + leaf mmode-cli { + type uint64; + description + "Counter for errors during maintenance mode CLIs"; + } + leaf mmode-client-class-invalid { + type uint64; + description + "Counter for errors of maintenance mode client with invalid class"; + } + leaf mmode-client-not-found { + type uint64; + description + "Counter for errors of maintenance mode client not found"; + } + leaf tmpl-not-found-class-client-list { + type uint64; + description + "Counter for errors of maintenance mode template not found"; + } + leaf add-tmpl-client-to-class-seq-failed { + type uint64; + description + "Counter for errors of adding client to template sequence failed"; + } + leaf add-client-to-seq { + type uint64; + description + "Counter for errors of adding client to default sequence failed"; + } + leaf invalid-input-args-dereg-client { + type uint64; + description + "Counter for errors of invalid arguments during client deregister"; + } + leaf dereg-client-of-type-not-found { + type uint64; + description + "Counter for errors of client type not found during client deregister"; + } + leaf invalid-arg-transition-mmode-client { + type uint64; + description + "Counter for errors of invalid argument during client transition"; + } + leaf transition-ack-recvd-invalid-class-seq { + type uint64; + description + "Counter for errors of receiving invalid class sequence during maintenance mode transition"; + } + leaf mmode-client-invalid-ack { + type uint64; + description + "Counter for errors of invalid ack from client during maintenance mode transition"; + } + } + + grouping gir-client-counter { + description + "Maintenance mode client counters"; + leaf start-isolate { + type uint64; + description + "Counter for client starting isolation"; + } + leaf start-insert { + type uint64; + description + "Counter for client starting insertion"; + } + leaf isolate-ack { + type uint64; + description + "Counter for client ack during isolation"; + } + leaf insert-ack { + type uint64; + description + "Counter for client ack during insertion"; + } + leaf isolate-nack { + type uint64; + description + "Counter for client nack during isolation"; + } + leaf insert-nack { + type uint64; + description + "Counter for client nack during insertion"; + } + } + + grouping gir-client-params { + description + "Maintenance mode client parameters"; + leaf client-name { + type string; + description + "Maintenance mode client name"; + } + leaf class-type { + type gir-ios-xe-oper:gir-class-type; + description + "Maintenance mode client class type"; + } + leaf transition-state { + type gir-ios-xe-oper:gir-transition-state; + description + "Maintenance mode client transition state"; + } + container gir-client-counters { + description + "Maintenance mode client counters"; + uses gir-ios-xe-oper:gir-client-counter; + } + } + + grouping gir-global-params { + description + "Maintenance mode global parameters"; + leaf reload-in-maintenance { + type boolean; + description + "next reload into maintenance mode"; + } + leaf template-name { + type string; + description + "Maintenance mode template name"; + } + leaf mmode-timeout { + type uint32; + description + "Maintenance mode timeout value"; + } + leaf mmode-duration { + type uint32; + description + "Maintenance mode current duration"; + } + leaf system-mode { + type gir-ios-xe-oper:gir-system-mode; + description + "Current system mode"; + } + container gir-counters { + description + "Maintenance mode counters"; + uses gir-ios-xe-oper:gir-counter; + } + container gir-error-counters { + description + "Maintenance mode error counters"; + uses gir-ios-xe-oper:gir-error-counter; + } + list gir-clients { + key "client-name"; + description + "Maintenance mode client list"; + uses gir-ios-xe-oper:gir-client-params; + } + } + + container gir-oper-data { + config false; + description + "Maintenance mode operational data"; + container gir-globals { + presence "gir-globals"; + description + "Maintenance mode global data"; + uses gir-ios-xe-oper:gir-global-params; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-gnmi-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnmi-cfg.yang new file mode 100644 index 000000000..27cc19813 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnmi-cfg.yang @@ -0,0 +1,154 @@ +module Cisco-IOS-XE-gnmi-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-gnmi-cfg"; + prefix gnmi-cfg; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for gNMI configuration data. + Copyright (c) 2021-2022, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add 'enable-gnoi' leaf to control whether gNOI services are enabled/disabled. + - Add 'read-only' leaf to enable/disable read-only mode"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping gnmi-config { + description + "gNMI server configuration data type."; + leaf enable { + type boolean; + default "false"; + description + "Enables the gNMI port listening."; + } + leaf port { + type uint16 { + range "1024 .. 65535"; + } + must '(../port != ../secure-port)' { + error-message "The insecure and secure port cannot share the same numeric value"; + error-app-tag "must-violation"; + } + default "50052"; + description + "gNMI insecure server port."; + } + leaf secure-enable { + type boolean; + must "(../secure-enable = 'false') or ((../secure-enable = 'true') and string-length(../secure-tsname) > 0)" { + error-message "Please enable the secure-server only after the secure-tsname has been set to a valid trustpoint name."; + error-app-tag "must-violation"; + } + default "false"; + description + "Enables the gNMI secure server."; + } + leaf secure-client-auth { + type boolean; + default "false"; + description + "Enables gNMI with client authentication."; + } + leaf secure-port { + type uint16 { + range "1024 .. 65535"; + } + must '(../port != ../secure-port)' { + error-message "The insecure and secure port cannot share the same numeric value"; + error-app-tag "must-violation"; + } + default "9339"; + description + "gNMI secure server port."; + } + leaf secure-tsname { + type string; + must "(string-length(../secure-tsname) > 0) or ((../secure-enable = 'false') and string-length(../secure-tsname) = 0)" { + error-message "Please disable the secure-server prior to unsetting the secure-tsname"; + error-app-tag "must-violation"; + } + description + "gNMI server certificate trustpoint name."; + } + leaf service { + type boolean; + default "false"; + description + "Starts the gNMI service."; + } + leaf secure-client-auth-tsname { + type string; + description + "The gNMI server peer validation trustpoint name."; + } + leaf secure-password-auth { + type boolean; + default "false"; + description + "Set gNMI with password authentication."; + } + leaf enable-gnoi { + type boolean; + default "true"; + description + "Enable the supported set of gRPC Network Operations Interface (gNOI) services. + If gNOI is disabled then the device wil behave as if the service is not implemented. + All RPCs belonging to disabled services will fail with a gRPC UNIMPLEMENTED status code"; + } + leaf read-only { + type boolean; + default "false"; + description + "Operate in a read-only mode. + - All gNOI services are disabled. The behavior will be equivalent to setting 'enable-gnoi' to 'false' + - The gNMI/Set RPC will fail with a gRPC PERMISSION_DENIED status code."; + } + } + + container gnmi-cfg-data { + description + "gNMI configuration data."; + container config { + presence "config"; + description + "gNMI server configuration data."; + uses gnmi-cfg:gnmi-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-dr-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-dr-oper.yang new file mode 100644 index 000000000..35d218b57 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-dr-oper.yang @@ -0,0 +1,226 @@ +module Cisco-IOS-XE-gnss-dr-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-gnss-dr-oper"; + prefix gnss-dr-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE GNSS Dead Reckoning + operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Added GNSS DR NMEA UDP socket support."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef gnss-dr-feature-state { + type enumeration { + enum all-gnss-dr-features-disabled { + value 0; + description + "GNSS/DR module features in disabled state"; + } + enum gps-dr-feature-enabled { + value 1; + description + "GNSS/DR module in GPS enabled state"; + } + } + description + "GNSS/DR feature state"; + } + + typedef gnss-dr-nmea-udp-config-state { + type enumeration { + enum gnss-dr-nmea-udp-socket-disabled { + value 0; + description + "GNSS/DR NMEA UDP socket in disabled state"; + } + enum gnss-dr-nmea-udp-socket-enabled { + value 1; + description + "GNSS/DR NMEA UDP socket in enabled state"; + } + } + description + "GNSS/DR NMEA UDP socket configuration state"; + } + + typedef gnss-dr-nmea-udp-oper-state { + type enumeration { + enum gnss-dr-nmea-udp-socket-inactive { + value 0; + description + "GNSS/DR NMEA UDP socket in oper inactive state"; + } + enum gnss-dr-nmea-udp-socket-active { + value 1; + description + "GNSS/DR NMEA UDP socket in oper active state"; + } + enum gnss-dr-nmea-udp-socket-error { + value 2; + description + "GNSS/DR NMEA UDP socket in oper error state"; + } + } + description + "GNSS/DR NMEA UDP socket oper state"; + } + + typedef gnss-dr-state { + type enumeration { + enum gps-dr-state-disabled { + value 1; + description + "GNSS/DR module is in GPS disabled state"; + } + enum gps-dr-state-acquiring { + value 2; + description + "GNSS/DR module in GPS acquiring state"; + } + enum gps-dr-state-enabled { + value 3; + description + "GNSS/DR module in GPS enabled state"; + } + enum gps-dr-loc-error { + value 4; + description + "GNSS/DR module in GPS location error state"; + } + } + description + "GNSS/DR operation state"; + } + + typedef gnss-dr-loc { + type enumeration { + enum gps-dr-location-fix-disabled { + value 0; + description + "DR location fix is disabled"; + } + enum gps-dr-location-fix-not-in-use { + value 1; + description + "DR location fix is not in use"; + } + enum gps-dr-location-fix-in-use { + value 2; + description + "DR location fix is in use"; + } + } + description + "GNSS/DR location fix state"; + } + + grouping gnss-dr-data { + description + "GNSS DR status entry details"; + leaf feature-state { + type gnss-dr-ios-xe-oper:gnss-dr-feature-state; + description + "GNSS/DR feature state"; + } + leaf oper-state { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type gnss-dr-ios-xe-oper:gnss-dr-state; + description + "GNSS/DR oper state"; + } + leaf dr-loc-used { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type gnss-dr-ios-xe-oper:gnss-dr-loc; + description + "status for DR used for location"; + } + leaf latitude { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type decimal64 { + fraction-digits 6; + } + description + "GNSS/DR latitude value"; + } + leaf longitude { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type decimal64 { + fraction-digits 6; + } + description + "GNSS/DR longitude value"; + } + leaf timestamp { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type yang:date-and-time; + description + "GNSS/DR timestamp value"; + } + leaf udp-socket-config-state { + when "../feature-state != 'all-gnss-dr-features-disabled'"; + type gnss-dr-ios-xe-oper:gnss-dr-nmea-udp-config-state; + description + "GNSS/DR NMEA UDP socket config state"; + } + leaf udp-socket-oper-state { + when "(../feature-state != 'all-gnss-dr-features-disabled') and (../udp-socket-config-state != 'gnss-dr-nmea-udp-socket-disabled')"; + type gnss-dr-ios-xe-oper:gnss-dr-nmea-udp-oper-state; + description + "GNSS/DR NMEA UDP socket oper state"; + } + } + + container gnss-dr-oper-data { + config false; + description + "GNSS Dead Reckoning operational data"; + container gnss-dr-data { + presence "gnss-dr-data"; + description + "GNSS Dead Reckoning data"; + uses gnss-dr-ios-xe-oper:gnss-dr-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-oper.yang new file mode 100644 index 000000000..fb09a0520 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss-oper.yang @@ -0,0 +1,410 @@ +module Cisco-IOS-XE-gnss-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-gnss-oper"; + prefix gnss-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE GNSS (Global Navigation Satellite System) + operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Increased maximum satellite number from 32 to 100"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-03-01 { + description + "Added support for optional GNSS location and timestamp"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef gnss-module-status { + type enumeration { + enum gnss-module-status-unknown { + value 0; + description + "Module presence status unknown"; + } + enum gnss-module-status-absent { + value 1; + description + "Module presence status absent"; + } + enum gnss-module-status-present { + value 2; + description + "Module presence status present"; + } + enum gnss-module-status-invalid { + value 3; + description + "Module presence status invalid"; + } + } + description + "GNSS (Global Navigation Satellite System) module presence status"; + } + + typedef gnss-module-lock-status { + type enumeration { + enum gnss-module-lock-status-unknown { + value 0; + description + "Module lock status unknown"; + } + enum gnss-module-lock-status-down { + value 1; + description + "Module lock status down"; + } + enum gnss-module-lock-status-up { + value 2; + description + "Module lock status up"; + } + enum gnss-module-lock-status-invalid { + value 3; + description + "Module lock status invalid"; + } + } + description + "GNSS (Global Navigation Satellite System) module lock status"; + } + + typedef gnss-sv-type { + type enumeration { + enum gnss-sv-type-gps { + value 0; + description + "Satellite type 0"; + } + enum gnss-sv-type-sbas { + value 1; + description + "Satellite type 1"; + } + enum gnss-sv-type-galileo { + value 2; + description + "Satellite type 2"; + } + enum gnss-sv-type-beidou { + value 3; + description + "Satellite type 3"; + } + enum gnss-sv-type-imes { + value 4; + description + "Satellite type 4"; + } + enum gnss-sv-type-qzss { + value 5; + description + "Satellite type 5"; + } + enum gnss-sv-type-glonass { + value 6; + description + "Satellite type 6"; + } + enum gnss-sv-type-unknown { + value 7; + description + "Satellite type 7"; + } + } + description + "GNSS (Global Navigation Satellite System) satellite types"; + } + + typedef gnss-module-sv-tracking-status { + type enumeration { + enum satellite-tracking-status-bad { + value 0; + description + "Satellite tracking status bad"; + } + enum satellite-tracking-status-good { + value 1; + description + "Satellite tracking status good"; + } + } + description + "GNSS (Global Navigation Satellite System) module satellite + tracking status. If tracking minimum 3 satellites with more + than 30 decibel milliwatts then good, if not bad"; + } + + typedef gnss-module-alarm-status { + type enumeration { + enum alarm-disable { + value 0; + description + "Alarm disable"; + } + enum alarm-enable { + value 1; + description + "Alarm enable"; + } + enum alarm-unused { + value 2; + description + "Alarm unused"; + } + } + description + "GNSS (Global Navigation Satellite System) module alarm status"; + } + + typedef rsp-slot-state { + type enumeration { + enum active-rsp { + value 0; + description + "Active RSP (Route Switch Processor)"; + } + enum standby-rsp { + value 1; + description + "Standby RSP (Route Switch Processor)"; + } + } + description + "Slot state"; + } + + typedef satellite-acq-flag-type { + type enumeration { + enum never-acquired { + value 0; + description + "Never acquired"; + } + enum acquired { + value 1; + description + "Acquired"; + } + enum reopened-search { + value 2; + description + "Reopened search"; + } + } + description + "GNSS (Global Navigation Satellite System) satellite acquisition flag types"; + } + + grouping gnss-satellite-info { + description + "Satellite information data"; + leaf sv-prn { + type int32; + description + "Satellite number"; + } + leaf channel { + type uint8; + description + "Channel number"; + } + leaf acq-flag { + type gnss-ios-xe-oper:satellite-acq-flag-type; + description + "Acquisition flag"; + } + leaf eph-flag { + type uint8; + description + "Ephemeris flag"; + } + leaf signal-level { + type int64; + description + "Signal strength SNR in decibel Hertz "; + } + leaf sv-type { + type gnss-ios-xe-oper:gnss-sv-type; + description + "Satellite type"; + } + leaf elevation { + type int64; + description + "Satellite elevation angle"; + } + leaf azimuth { + type int64; + description + "Satellite azimuth angle"; + } + } + + grouping gnss-location { + description + "Device location"; + leaf latitude { + type decimal64 { + fraction-digits 2; + } + description + "Device latitude"; + } + leaf longitude { + type decimal64 { + fraction-digits 2; + } + description + "Device longitude"; + } + leaf height { + type decimal64 { + fraction-digits 2; + } + description + "Device height"; + } + } + + grouping gnss-data { + description + "GNSS (Global Navigation Satellite System) data"; + leaf slot { + type uint16; + description + "Router slot number where + GNSS (Global Navigation Satellite System) module is inserted"; + } + leaf slot-state { + type gnss-ios-xe-oper:rsp-slot-state; + description + "Router slot state (active or standby) where + GNSS (Global Navigation Satellite System) module is inserted"; + } + leaf presence-status { + type gnss-ios-xe-oper:gnss-module-status; + description + "GNSS (Global Navigation Satellite System) + card presence status"; + } + leaf lock-status { + type gnss-ios-xe-oper:gnss-module-lock-status; + description + "GNSS (Global Navigation Satellite System) + card lock status"; + } + leaf survey-progress-status { + type uint8; + description + "GNSS (Global Navigation Satellite System) + card survey progress status"; + } + leaf satellite-tracking-status { + type gnss-ios-xe-oper:gnss-module-sv-tracking-status; + description + "GNSS (Global Navigation Satellite System) + satellite tracking status"; + } + leaf gnss-antenna-open-alarm-status { + type gnss-ios-xe-oper:gnss-module-alarm-status; + description + "GNSS (Global Navigation Satellite System) + module antenna open alarm status"; + } + leaf gnss-antenna-short-alarm-status { + type gnss-ios-xe-oper:gnss-module-alarm-status; + description + "GNSS (Global Navigation Satellite System) + module antenna short alarm status"; + } + leaf satellite-cnt { + type uint8; + description + "Number of satellites visible at a particular time"; + } + list satellite-info { + max-elements 100; + description + "Satellite info data"; + uses gnss-ios-xe-oper:gnss-satellite-info; + } + leaf gnss-location-supported { + type empty; + description + "When present, GNSS location is valid"; + } + container location { + when 'boolean(../gnss-location-supported)'; + description + "GNSS location"; + uses gnss-ios-xe-oper:gnss-location; + } + leaf gnss-time-supported { + type empty; + description + "When present, GNSS time is valid"; + } + leaf timestamp { + when 'boolean(../gnss-time-supported)'; + type yang:date-and-time; + description + "GNSS time"; + } + } + + container gnss-oper-data { + config false; + description + "GNSS (Global Navigation Satellite System) operational data"; + list gnss-data { + key "slot"; + description + "GNSS (Global Navigation Satellite System) data"; + uses gnss-ios-xe-oper:gnss-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss.yang new file mode 100644 index 000000000..a4c9d282a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-gnss.yang @@ -0,0 +1,101 @@ +module Cisco-IOS-XE-gnss { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-gnss"; + prefix ios-gnss; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Global Navigation Satellite System (GNSS) Yang Model. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-gnss-grouping { + container gnss { + description + "GNSS Configurations"; + leaf cable-delay { + description + "Cable Delay in nanoseconds"; + type uint32 { + range "0..1000"; + } + default "50"; + } + leaf cnr-threshold { + description + "cnr-threshold in dBHz"; + type uint8 { + range "0..99"; + } + default "0"; + } + container constellation { + description + "Satellite Constellation for GNSS"; + choice constellation-grouping-choice { + leaf auto { + description + "Auto constellation"; + type empty; + } + leaf beidou { + description + "Beidou Constellation"; + type empty; + } + leaf galileo { + description + "Galileo Constellation"; + type empty; + } + leaf glonass { + description + "GLONASS Constellation"; + type empty; + } + leaf gps { + description + "GPS Constellation"; + type empty; + } + } + } + leaf elevation-threshold { + description + "Elevation Threshold in degrees"; + type uint8 { + range "0..15"; + } + default "5"; + } + } + } + + augment "/ios:native" { + uses config-gnss-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-group-policy.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-group-policy.yang new file mode 100644 index 000000000..c408faff2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-group-policy.yang @@ -0,0 +1,314 @@ +module Cisco-IOS-XE-group-policy { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-group-policy"; + prefix ios-group-policy; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE PnP Yang model. + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Adding model for steering permissions CLI"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Added yang support for group-policy traffic-steering"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-group-policy-grouping { + container group-policy { + description + "Group-policy configuration"; + container traffic-steering { + description + "Traffic-steering configuration"; + leaf enable { + description + "Enable Group-policy traffic-steering"; + type boolean; + default "false"; + } + container environment-data { + description + "Traffic-steering environment-data configuration"; + leaf enable { + description + "Enable Group-policy traffic-steering environment-data"; + type boolean; + default "false"; + } + } + leaf device-id { + description + "Specify the traffic-steering device ID"; + type string; + } + container transport { + description + "Specify the traffic-steering transport type"; + choice transport-protocol { + container TLS { + description + "Traffic-steering transport type is TLS"; + presence "true"; + leaf-list server-name { + description + "Specify the policy-server name"; + must '../../../../server/name[server-profile-name = current()]' { + error-message "Policy server not created, create server first"; + } + type string; + } + } + leaf RADIUS { + description + "Traffic-steering transport type is Radius"; + type empty; + } + } + } + container server { + description + "Specify type of the traffic-steering servers"; + leaf DNAC { + description + "Option to select D-NAC as steering policy server"; + type string; + } + } + container permissions { + description + "Steering policy from source group to destination group"; + list permissions-list { + description + "Steering policy from source group to destination group"; + key "from to"; + leaf from { + description + "Source Group Tag (SGT) of filtered traffic"; + type uint16 { + range "2..65519"; + } + } + leaf to { + description + "Destination Group Tag (DGT) of filtered traffic"; + type uint16 { + range "2..65519"; + } + } + container ipv4 { + description + "Protocol Version - IPv4"; + leaf-list Policy-name { + description + "Traffic steering policy definition"; + ordered-by user; + type string; + } + } + } + } + } + container server { + description + "group-policy Server Configuration"; + list name { + description + "Configure name of the server, max string length 225 char"; + key "server-profile-name"; + leaf server-profile-name { + description + "Specify a profile name"; + type string { + length "1..225"; + } + } + container address { + description + "Policy server address"; + leaf-list ipv4 { + description + "IPv4 Address of policy server"; + max-elements 8; + type inet:ipv4-address; + } + leaf-list ipv6 { + description + "IPv6 Address of policy server"; + max-elements 8; + type inet:ipv6-address; + } + } + container content-type { + description + "Application content type"; + leaf json { + description + "data format in REST API"; + type empty; + } + } + leaf port { + description + "Policy server port number"; + type uint16 { + range "443..65535"; + } + } + leaf retransmit { + description + "Maximum number of retries to server"; + type uint8 { + range "0..5"; + } + } + leaf timeout { + description + "Time to wait for response"; + type uint8 { + range "1..60"; + } + } + container tls { + description + "TLS parameters"; + leaf server-trustpoint { + description + "Server trustpoint, max string length 128 char"; + type string { + length "1..128"; + } + } + } + } + container order { + description + "Order of server selection"; + leaf random { + description + "Pick a server in random order"; + type empty; + } + } + container server-credential { + description + "Credentials to access the REST API"; + leaf username { + description + "Specify the username for the user"; + type string; + } + leaf password { + description + "Set the password for the user"; + type empty; + } + leaf encryption { + description + "Specify the password encryption type"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf password-string { + type string { + pattern '.*'; + } + } + } + } + } + } + + grouping config-interface-group-policy-grouping { + container group-policy { + description + "Group-policy configuration"; + when "/ios:native/ios-group-policy:group-policy/ios-group-policy:traffic-steering/ios-group-policy:enable = 'true'"; + container traffic-steering { + description + "Traffic steering configuration"; + leaf enable { + description + "Enable Group-policy traffic steering."; + type boolean; + default "true"; + } + } + } + } + + augment "/ios:native" { + uses config-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-group-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-group-policy-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-grpc-tunnel-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-grpc-tunnel-cfg.yang new file mode 100644 index 000000000..f837b50e8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-grpc-tunnel-cfg.yang @@ -0,0 +1,222 @@ +module Cisco-IOS-XE-grpc-tunnel-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-grpc-tunnel-cfg"; + prefix grpc-tunnel-cfg; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for gRPC tunnel configuration data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef grpctunnel-addrhost-etype { + type enumeration { + enum grpctunnel-address-type-unspecified { + value 0; + description + "The target address is unspecified"; + } + enum grpctunnel-address-type-ip { + value 1; + description + "The target is specified using an IP address"; + } + } + description + "Enumeration listing the various gRPC tunnel target address types"; + } + + typedef gprctunnel-secure-etype { + type enumeration { + enum grpctunnel-secure-none { + value 0; + description + "Connect insecurely to the destination"; + } + enum grpctunnel-secure-identity { + value 1; + description + "Connect using TLS to the destination"; + } + } + description + "Enumeration listing the various gRPC tunnel security options"; + } + + typedef grpctunnel-target-type { + type enumeration { + enum tunnel-target-gnmi-gnoi { + value 0; + description + "gNMI/gNOI target type (secure)"; + } + enum tunnel-target-gnmi-gnoi-insecure { + value 1; + description + "gNMI/gNOI target type (insecure)"; + } + } + description + "The target protocols that may be used with the gRPC tunnel"; + } + + grouping grpctunnel-target-config { + description + "Configuration options for a single gRPC tunnel target type"; + leaf target-type { + type grpc-tunnel-cfg:grpctunnel-target-type; + description + "The gRPC tunnel target being configured"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable or disable the target for use with gRPC tunnels"; + } + leaf port-override { + type boolean; + default "false"; + description + "Use the provided port-override-value for this target type instead of the default port value."; + } + leaf port-override-value { + type uint16; + must "((../port-override = 'true') and (../port-override-value > 0)) or (../port-override = 'false')" { + error-message "port-override-value must be a valid port number when port-override is true"; + } + default "0"; + description + "For use with port-override. Use a custom port number for this target type"; + } + } + + grouping grpctunnel-dest-config { + description + "Configuration options for a gRPC tunnel destination"; + leaf server-id { + type string { + length "1..512"; + pattern '[0-9a-zA-Z/\-_]*'; + } + description + "User-provided identifier for this gRPC tunnel destination configuration"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable or disable this gRPC tunnel destination"; + } + leaf src-vrf { + type string; + description + "The Virtual Routing and Forwarding (VRF) instance to use for this connection. The default VRF will be used if src-vrf is empty"; + } + leaf src-addr { + type inet:ip-address; + description + "The source address to use for outbound gRPC tunnel connections. The address associated with the Mgmt-intf will be used if this is unspecified"; + } + leaf destination-port { + type uint16; + must "(../enable = 'false') or ((../enable = 'true') and (../destination-port > 0))" { + error-message "The destination port must be valid when this destination is enabled"; + } + default "0"; + description + "The destination port that will be used for the outbound gRPC connection"; + } + choice addrhost-type-choice { + default "grpctunnel-address-type-unspecified"; + description + "Destination address configuration for the outbound gRPC connection"; + case grpctunnel-address-type-unspecified { + leaf unspecified { + type boolean; + must "current() = 'true'"; + must "../enable = 'false'" { + error-message "The destination address may not be unspecified when the destination is enabled"; + } + default "true"; + description + "The destination address is unspecified"; + } + } + case grpctunnel-address-type-ip { + leaf dest-addr { + type inet:ip-address; + description + "The destination is specified using an IP address"; + } + } + } + choice secure-type-choice { + default "grpctunnel-secure-none"; + description + "Destination address configuration for the outbound gRPC connection"; + case grpctunnel-secure-none { + leaf insecure { + type boolean; + must "current() = 'true'"; + default "true"; + description + "The outgoing connection to the destination is insecure"; + } + } + case grpctunnel-secure-identity { + leaf identity-tsname { + type string { + length "1..512"; + } + description + "The outgoing connection to the destination is secured with TLS"; + } + } + } + } + + container grpc-tunnel-cfg-data { + description + "gRPC tunnel configuration data."; + list grpctunnel-target-config { + key "target-type"; + description + "Configure individual targets that may be used with the gRPC tunnel"; + uses grpc-tunnel-cfg:grpctunnel-target-config; + } + list grpctunnel-dest-config { + key "server-id"; + description + "Configure an outbound gRPC tunnel connection to a specified destination"; + uses grpc-tunnel-cfg:grpctunnel-dest-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ha-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ha-oper.yang new file mode 100644 index 000000000..5afe2e144 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ha-oper.yang @@ -0,0 +1,230 @@ +module Cisco-IOS-XE-ha-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ha-oper"; + prefix ha-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for High Availability (HA) operational state data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-11-01 { + description + "Modified ha enabled to provide whether system is running in HA"; + reference + "1.2.1"; + cisco-semver:module-version "1.2.1"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-05-02 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef rf-states { + type enumeration { + enum db-rf-unknown { + value 0; + description + "RF HA state is unknown"; + } + enum db-rf-disabled { + value 1; + description + "RF HA state is disabled"; + } + enum db-rf-initialization { + value 2; + description + "RF HA state is initialization"; + } + enum db-rf-negotiation { + value 3; + description + "RF HA state is negotiation"; + } + enum db-rf-standby-cold { + value 4; + description + "RF HA state is standby cold"; + } + enum db-rf-standby-config { + value 5; + description + "RF HA state is standby config"; + } + enum db-rf-standby-filesys { + value 6; + description + "RF HA state is standby filesys"; + } + enum db-rf-standby-bulk { + value 7; + description + "RF HA state is standby bulk"; + } + enum db-rf-standby-hot { + value 8; + description + "RF HA state is standby hot"; + } + enum db-rf-active-fast { + value 9; + description + "RF HA state is active fast"; + } + enum db-rf-active-drain { + value 10; + description + "RF HA state is active drain"; + } + enum db-rf-active-preconfig { + value 11; + description + "RF HA state is active preconfig"; + } + enum db-rf-active-postconfig { + value 12; + description + "RF HA state is active postconfig"; + } + enum db-rf-active { + value 13; + description + "RF HA state is active"; + } + enum db-rf-active-extraload { + value 14; + description + "RF HA state is active extraload"; + } + enum db-rf-active-handback { + value 15; + description + "RF HA state is active handback"; + } + enum db-rf-standby-warm { + value 16; + description + "RF HA state is standby warm"; + } + enum db-rf-issu-negotiation { + value 17; + description + "RF HA state is ISSU negotiation"; + } + enum db-rf-standby-issu-negotiation-late { + value 18; + description + "RF HA state is standby ISSU negotiation late"; + } + enum db-rf-platform-sync { + value 19; + description + "RF HA state is platform sync"; + } + } + description + "HA peer states and local peer states"; + } + + grouping ha-infra-content { + description + "HA infrastructure status grouping"; + leaf ha-state { + type ha-ios-xe-oper:rf-states; + description + "State for local peer"; + } + leaf peer-state { + type ha-ios-xe-oper:rf-states; + description + "State for remote peer"; + } + leaf last-switchover-time { + type yang:date-and-time; + description + "System last switchover time"; + } + leaf last-switchover-reason { + type string; + description + "System last switchover reason"; + } + leaf image-version { + type string; + description + "System image version"; + } + leaf leaf-mode { + type string; + description + "System running redundancy mode"; + } + leaf ha-enabled { + type boolean; + description + "System ready for switchover"; + } + leaf has-switchover-occured { + type boolean; + description + "System switchover happened before or not"; + } + } + + container ha-oper-data { + config false; + description + "HA infrastructure status operational data"; + container ha-infra { + presence "ha-infra"; + description + "HA infrastructure status"; + uses ha-ios-xe-oper:ha-infra-content; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-hsr-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsr-oper.yang new file mode 100644 index 000000000..204296bd7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsr-oper.yang @@ -0,0 +1,762 @@ +module Cisco-IOS-XE-hsr-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-hsr-oper"; + prefix hsr-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ( High-Availability Seamless Redundancy ) HSR operational data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef hsr-oper-state { + type enumeration { + enum hsr-ring-in-error-state { + value 0; + description + "HSR Ring is in either unknown or error state"; + } + enum hsr-ring-not-in-use-state { + value 1; + description + "HSR Ring is down"; + } + enum hsr-ring-in-use-state { + value 2; + description + "HSR Ring is up"; + } + enum hsr-ring-down-admin-state { + value 3; + description + "HSR Ring is down as it has + been shut down administratively"; + } + enum hsr-ring-suspended-state { + value 4; + description + "HSR Ring is in suspended state"; + } + } + description + "State of the HSR Ring"; + } + + typedef hsr-oper-nw-layer { + type enumeration { + enum hsr-ring-nw-layer-in-error { + value 0; + description + "Network layer is either unknown or in error state"; + } + enum hsr-ring-nw-layer-2 { + value 1; + description + "Network layer associated with the ring is L2"; + } + enum hsr-ring-nw-layer-3 { + value 2; + description + "Network layer associated with the ring is L3"; + } + } + description + "Network Layer at which the given the HSR Ring is operating"; + } + + typedef hsr-oper-work-mode { + type enumeration { + enum hsr-ring-op-mode-invalid { + value 0; + description + "Operating mode of the ring is either unknown or in error state"; + } + enum hsr-ring-op-mode-h { + value 1; + description + "HSR Ring is operating in H mode"; + } + enum hsr-ring-op-mode-n { + value 2; + description + "HSR Ring is operating in N mode"; + } + enum hsr-ring-op-mode-tt { + value 3; + description + "HSR Ring is operating in T mode"; + } + enum hsr-ring-op-mode-m { + value 4; + description + "HSR Ring is operating in M mode"; + } + enum hsr-ring-op-mode-u { + value 5; + description + "HSR Ring is operating in U mode"; + } + enum hsr-ring-op-mode-x { + value 6; + description + "HSR Ring is operating in X mode"; + } + } + description + "Operating mode of the HSR Ring"; + } + + typedef hsr-oper-proto-status { + type enumeration { + enum hsr-ring-protocol-status { + value 0; + description + "Status of protocol of the ring is either unknown or in error state"; + } + enum hsr-protocol-enabled { + value 1; + description + "Protocol has been enabled"; + } + enum hsr-protocol-disabled { + value 2; + description + "Protocol has been disabled"; + } + } + description + "Protocol status of the HSR Ring"; + } + + typedef hsr-oper-redbox-mode { + type enumeration { + enum hsr-ring-rebox-mode-disabled { + value 0; + description + "The redundant box is either not present or has been disabled from use"; + } + enum hsr-ring-rebox-mode-hsr-san { + value 1; + description + "Mode of the redundant box is HSR SAN"; + } + enum hsr-ring-rebox-mode-hsr-prp-lan-a { + value 2; + description + "Mode of the redundant box is HSR PRP LAN A"; + } + enum hsr-ring-rebox-mode-hsr-prp-lan-b { + value 3; + description + "Mode of the redundant box is HSR PRP LAN B"; + } + enum hsr-ring-rebox-mode-hsr-hsr { + value 4; + description + "Mode of the redundant box is HSR HSR"; + } + } + description + "Mode of the redundant box of the HSR Ring"; + } + + typedef hsr-oper-node-type { + type enumeration { + enum hsr-ring-node-type-invalid { + value 0; + description + "Type of node is ether not-known or invalid"; + } + enum hsr-ring-node-type-san-a { + value 1; + description + "Singly attached node on port a"; + } + enum hsr-ring-node-type-san-b { + value 2; + description + "Singly attached node on port b"; + } + enum hsr-ring-node-type-danh { + value 3; + description + "Dual attached node"; + } + } + description + "Mode of the Redundant Box of the HSR Ring"; + } + + grouping hsr-ring-identity { + description + "HSR Ring Identity, combination of id and name"; + leaf id { + type uint8; + description + "Unique ID of the HSR Ring"; + } + leaf name { + type string; + description + "Name of the HSR Ring"; + } + } + + grouping hsr-ring-port { + description + "Information of ports configured in the HSR Ring"; + leaf name { + type string; + description + "Name of HSR port"; + } + leaf slot { + type uint8; + description + "Port Slot Number"; + } + leaf subslot { + type uint8; + description + "Port Subslot Number"; + } + leaf state { + type hsr-ios-xe-oper:hsr-oper-state; + description + "State of the port belonging to the HSR Ring"; + } + } + + grouping hsr-ring-summary { + description + "Summary of the HSR Ring parameters"; + leaf nw-layer { + type hsr-ios-xe-oper:hsr-oper-nw-layer; + description + "Network layer of HSR Interface: [L2/L3]"; + } + leaf op-mode { + type hsr-ios-xe-oper:hsr-oper-work-mode; + description + "Operational mode of the HSR Ring"; + } + leaf state { + type hsr-ios-xe-oper:hsr-oper-state; + description + "Current state of the HSR Ring"; + } + leaf proto-status { + type hsr-ios-xe-oper:hsr-oper-proto-status; + description + "Information on Ring protocol status"; + } + leaf redbox-mode { + type hsr-ios-xe-oper:hsr-oper-redbox-mode; + description + "Current Redundant Box Mode"; + } + leaf redbox-path-id { + type int32; + description + "Redundant Box Path ID"; + } + leaf max-ports { + type uint8; + description + "Maximum possible number of ports in a Ring"; + } + list port-info { + description + "Information of all the ports of the Ring"; + uses hsr-ios-xe-oper:hsr-ring-port; + } + } + + grouping hsr-ring-details { + description + "Details of the HSR Ring configuration parameters"; + leaf redbox-mac-addr { + type yang:mac-address; + description + "MAC address of Redundant Box"; + } + leaf node-forget-time { + type uint16; + units "milliseconds"; + description + "Time interval after which the node + will be forgotten"; + } + leaf node-reboot-time { + type uint16; + units "milliseconds"; + description + "Time interval after which the node + will be reboot"; + } + leaf entry-forget-time { + type uint16; + units "milliseconds"; + description + "Time interval after which the entry + will be forgotten"; + } + leaf proxy-node-forget-time { + type uint16; + units "milliseconds"; + description + "Time interval after which the node + will be forgotten"; + } + leaf supframe-cos-opt { + type uint8; + description + "Class of Service (COS) option to be set + in the VLAN tag of the Supervision frame"; + } + leaf supframe-cfi-opt { + type uint8; + description + "Canonical Format Indicator (CFI) + for Vlan Tagged Supervision frame"; + } + leaf uses-vlan-tag { + type boolean; + description + "Is VLAN tag being used?"; + } + leaf supframe-mac-da { + type uint8; + units "Byte"; + description + "Last octet of Supervision frame + Destination MAC address"; + } + leaf supframe-vlan-id { + type uint16; + description + "VLAN ID of the Supervision frame"; + } + leaf supframe-time { + type uint16; + units "milliseconds"; + description + "Time interval between two supervision + frames being sent"; + } + leaf life-check-interval { + type uint16; + units "milliseconds"; + description + "life check interval time value for supervision frames"; + } + leaf pause-time { + type uint16; + units "milliseconds"; + description + "Pause time for Supervision frames"; + } + leaf is-uplink-fpga-enbl { + type boolean; + description + "Field Programmable Gate Array dual + uplink enhancement is enabled/disabled"; + } + } + + grouping hsr-ring-info { + description + "Information regarding HSR Ring parameters"; + container summary { + description + "Summary of the HSR Ring parameters"; + uses hsr-ios-xe-oper:hsr-ring-summary; + } + container details { + description + "Details of the HSR Ring configuration parameters"; + uses hsr-ios-xe-oper:hsr-ring-details; + } + } + + grouping hsr-ring-vlan-block { + description + "Blocked VLAN Address in HSR Ring"; + leaf vlan-lower { + type uint16; + description + "Start Octet of VLAN range"; + } + leaf vlan-upper { + type uint16; + description + "End Octet of VLAN range"; + } + } + + grouping hsr-ring-vlan-filter { + description + "List of all the Blocked VLANs"; + list hsr-ring-vlan-block { + key "vlan-lower vlan-upper"; + description + "VLAN filters in HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-vlan-block; + } + } + + grouping hsr-ring-node-entry { + description + "Entry of a Node attached with HSR Ring"; + leaf index { + type uint32; + description + "Unique ID of node entry"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the node"; + } + leaf node-type { + type hsr-ios-xe-oper:hsr-oper-node-type; + description + "HSR Node Role or Type"; + } + leaf is-dynamic { + type boolean; + description + "HSR Node was learned or configured"; + } + leaf ttl { + type yang:date-and-time; + description + "Absolute time and date (UTC) after which node entry will be + deleted in case of node being unresponsive"; + } + } + + grouping hsr-ring-node-table { + description + "List of all the nodes attached to the Ring"; + list hsr-ring-node-entry { + key "index"; + description + "Entry of a node attached with this HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-node-entry; + } + } + + grouping hsr-ring-vdan-entry { + description + "HSR Virtual Doubly Attached Node entry"; + leaf index { + type uint32; + description + "Unique ID of Virtual Doubly Attached Node entry"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the Node"; + } + leaf is-dynamic { + type boolean; + description + "HSR Node was learned or configured"; + } + leaf ttl { + type yang:date-and-time; + description + "Absolute time and date (UTC) after which node entry will be + deleted in case of a node being unresponsive"; + } + } + + grouping hsr-ring-vdan-table { + description + "List of all the VDAN nodes attached to the Ring"; + list hsr-ring-vdan-entry { + key "index"; + description + "Entry of a VDAN node attached to the Ring"; + uses hsr-ios-xe-oper:hsr-ring-vdan-entry; + } + } + + grouping hsr-ring-node-tbl-stats { + description + "HSR Ring Node Table Statistics"; + leaf proxynode-tbl-err { + type uint32; + description + "Proxy Node table errors count"; + } + leaf proxynode-tbl-num { + type uint32; + description + "Count of Proxy Node table entries"; + } + leaf node-tbl-err { + type uint32; + description + "Node table errors count"; + } + leaf node-tbl-num { + type uint32; + description + "Count of Node table entries"; + } + } + + grouping hsr-ring-ingress-stats { + description + "Ingress Statistics HSR Ring"; + leaf pkts-port-a { + type uint64; + description + "Received packets on Port a"; + } + leaf pkts-port-b { + type uint64; + description + "Received packets on Port b"; + } + leaf crc-port-a { + type uint64; + description + "Received CRC on Port a"; + } + leaf crc-port-b { + type uint64; + description + "Received CRC on Port b"; + } + leaf danh-pkts-accpt { + type uint64; + description + "Received packets accepted from DAN-H"; + } + leaf danh-pkts-dscrd { + type uint64; + description + "Received packets discarded from DAN-H"; + } + leaf supframes-rcv-a { + type uint64; + description + "Received super-frames count on Port a"; + } + leaf supframes-rcv-b { + type uint64; + description + "Received super-frames count on Port b"; + } + leaf over-pkts-a { + type uint64; + description + "Received over packets count on Port a"; + } + leaf over-pkts-b { + type uint64; + description + "Received over packets count on Port b"; + } + leaf pri-over-pkts-a { + type uint64; + description + "Received pri over packets count on Port a"; + } + leaf pri-over-pkts-b { + type uint64; + description + "Received pri over packets count on Port b"; + } + leaf oversize-pkts-a { + type uint64; + description + "Received over-sized packets count on Port a"; + } + leaf oversize-pkts-b { + type uint64; + description + "Received over-sized packets count on Port b"; + } + leaf bytes-port-a { + type uint64; + description + "Total received byte count on Port a"; + } + leaf bytes-port-b { + type uint64; + description + "Total received byte count on Port b"; + } + leaf sent-switch { + type uint64; + description + "Received sent switch count"; + } + } + + grouping hsr-ring-egress-stats { + description + "HSR Ring Egress Statistics"; + leaf dup-pkts { + type uint64; + description + "Count of duplicate packets sent"; + } + leaf supframes-sent { + type uint64; + description + "Count of Supervision frames sent"; + } + leaf pkts-port-a { + type uint64; + description + "Count of egress frames on Port a"; + } + leaf pkts-port-b { + type uint64; + description + "Count of egress frames on Port b"; + } + leaf bytes-port-a { + type uint64; + description + "Egress byte count on Port a"; + } + leaf bytes-port-b { + type uint64; + description + "Egress byte count on Port b"; + } + leaf recv-switch { + type uint64; + description + "Egress receive switch"; + } + leaf overruns { + type uint64; + description + "Egress Overrun packets"; + } + leaf overruns-drop { + type uint64; + description + "Egress overrun dropped packets"; + } + } + + grouping hsr-ring-pauseframe-stats { + description + "HSR Ring Pause Frame Statistics"; + leaf pf-sent { + type uint32; + description + "Count of Pause frames sent"; + } + } + + grouping hsr-ring-stats { + description + "HSR Ring all statistics"; + container ingress { + description + "Ingress Statistics of the HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-ingress-stats; + } + container egress { + description + "Egress statistics of the HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-egress-stats; + } + container pause-frame { + description + "Pause Frame statistics of the HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-pauseframe-stats; + } + container node-tbl { + description + "Node Table statistics of the HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-node-tbl-stats; + } + } + + container hsr-oper-data { + config false; + description + "HSR operational data"; + list hsr-ring-summary { + key "id name"; + description + "Summary of the HSR Ring parameters"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-summary; + } + list hsr-ring-info { + key "id name"; + description + "Detailed information of the HSR + Ring configuration parameters"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-info; + } + list hsr-ring-vlan-filter { + key "id name"; + description + "List of VLANs blocked in this HSR Ring"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-vlan-filter; + } + list hsr-ring-node-table { + key "id name"; + description + "List of attached HSR nodes"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-node-table; + } + list hsr-ring-vdan-table { + key "id name"; + description + "List of HSR Ring Virtual Doubly Attached Nodes (VDAN)"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-vdan-table; + } + list hsr-ring-stats { + key "id name"; + description + "HSR Ring statistics information"; + uses hsr-ios-xe-oper:hsr-ring-identity; + uses hsr-ios-xe-oper:hsr-ring-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-events.yang new file mode 100644 index 000000000..b60e797f8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-events.yang @@ -0,0 +1,182 @@ +module Cisco-IOS-XE-hsrp-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-hsrp-events"; + prefix hsrp-ios-xe-events; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for HSRP State change Notification. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef hsrp-notification-severity { + type enumeration { + enum critical { + value 0; + description + "Notification severity - critical"; + } + enum major { + value 1; + description + "Notification severity - major"; + } + enum minor { + value 2; + description + "Notification severity - minor"; + } + } + description + "Notification severity"; + } + + typedef hsrp-ip-addr-type { + type enumeration { + enum hsrp-undefined { + value 0; + description + "IP Address undefined"; + } + enum hsrp-ipv4-address { + value 1; + description + "IPv4 address"; + } + enum hsrp-ipv6-address { + value 2; + description + "IPv6 address"; + } + } + description + "IP Address type"; + } + + typedef hsrp-notif-proto-state-type { + type enumeration { + enum hsrp-notif-state-invalid { + value 0; + description + "HSRP state invalid"; + } + enum hsrp-notif-state-disabled { + value 1; + description + "HSRP state disabled"; + } + enum hsrp-notif-state-init { + value 2; + description + "HSRP state init"; + } + enum hsrp-notif-state-learn { + value 3; + description + "HSRP state learn"; + } + enum hsrp-notif-state-listen { + value 4; + description + "HSRP state listen"; + } + enum hsrp-notif-state-speak { + value 5; + description + "HSRP state speak"; + } + enum hsrp-notif-state-standby { + value 6; + description + "HSRP state standby"; + } + enum hsrp-notif-state-active { + value 7; + description + "HSRP state active"; + } + } + description + "HSRP protocol state"; + } + + grouping hsrp-group-state-change-data { + description + "HSRP group state change"; + leaf severity { + type hsrp-ios-xe-events:hsrp-notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf group-id { + type uint16; + description + "HSRP Group ID"; + } + leaf addr-type { + type hsrp-ios-xe-events:hsrp-ip-addr-type; + description + "Address Type"; + } + leaf if-name { + type string; + description + "Interface Name"; + } + leaf hsrp-group-state { + type hsrp-ios-xe-events:hsrp-notif-proto-state-type; + description + "HSRP state"; + } + } + + notification hsrp-group-state-change { + description + "HSRP group state change Notification"; + uses hsrp-ios-xe-events:hsrp-group-state-change-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-oper.yang new file mode 100644 index 000000000..f3398cbfe --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp-oper.yang @@ -0,0 +1,214 @@ +module Cisco-IOS-XE-hsrp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-hsrp-oper"; + prefix hsrp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for HSRP operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef hsrp-oper-state-type { + type enumeration { + enum hsrp-state-invalid { + value 0; + description + "HSRP state is Invalid"; + } + enum hsrp-state-disabled { + value 1; + description + "HSRP state is Disabled"; + } + enum hsrp-state-init { + value 2; + description + "HSRP state is Init"; + } + enum hsrp-state-learn { + value 3; + description + "HSRP state is Learn"; + } + enum hsrp-state-listen { + value 4; + description + "HSRP state is Listen"; + } + enum hsrp-state-speak { + value 5; + description + "HSRP state is Speak"; + } + enum hsrp-state-standby { + value 6; + description + "HSRP state is Standby"; + } + enum hsrp-state-active { + value 7; + description + "HSRP state is Active"; + } + } + description + "HSRP State type"; + } + + grouping hsrp-neighbor-info { + description + "List of neighbors for a given interface"; + leaf address { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf-list active-list { + type uint8; + ordered-by user; + description + "List of groups for which this address is Active"; + } + leaf-list standby-list { + type uint8; + ordered-by user; + description + "List of groups for which this address is Standby"; + } + leaf passive { + type boolean; + description + "Boolean indicating whether this neighbor is HSRP passive"; + } + leaf passive-timer-remaining { + type uint16; + units "seconds"; + description + "Timer remaining for the passive neighbor to expire"; + } + leaf bfd-enabled { + type boolean; + description + "BFD enabled"; + } + } + + grouping hsrp-neighbor { + description + "HSRP Neighbor information"; + leaf if-name { + type string; + description + "Interface name"; + } + list neighbor { + description + "List of neighbors for a given interface"; + uses hsrp-ios-xe-oper:hsrp-neighbor-info; + } + } + + grouping hsrp-group-info-key { + description + "HSRP group information key"; + leaf group-id { + type uint16; + description + "HSRP group identifier"; + } + leaf if-name { + type string; + description + "Interface name"; + } + } + + grouping hsrp-group-info { + description + "HSRP group information"; + leaf priority { + type uint32; + description + "Priority"; + } + leaf preempt { + type boolean; + description + "Preempt enabled"; + } + leaf state { + type hsrp-ios-xe-oper:hsrp-oper-state-type; + description + "HSRP group state"; + } + leaf active-ip { + type inet:ip-address; + description + "Active device IP"; + } + leaf standby-ip { + type inet:ip-address; + description + "Standby device IP"; + } + leaf virtual-ip { + type inet:ip-address; + description + "Virtual IP"; + } + } + + container hsrp-oper-data { + config false; + description + "HSRP operational data"; + list hsrp-group-info { + key "group-id if-name"; + description + "HSRP group information"; + uses hsrp-ios-xe-oper:hsrp-group-info; + uses hsrp-ios-xe-oper:hsrp-group-info-key; + } + list hsrp-neighbor { + key "if-name"; + description + "HSRP Neighbor information"; + uses hsrp-ios-xe-oper:hsrp-neighbor; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp.yang new file mode 100644 index 000000000..90aae4cc8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-hsrp.yang @@ -0,0 +1,529 @@ +submodule Cisco-IOS-XE-hsrp { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Hot Standby Redundancy Protocol(HSRP) Yang model. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added cli-diff-delete-before tailf statement to standby-list."; + cisco-semver:module-version "2.1.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added default value to mac-refresh leaf."; + cisco-semver:module-version "2.1.0"; + } + revision 2022-07-01 { + description + "- Add HSRP Group default priority + - Deprecated standby bfd leaf and added a new leaf of type boolean + - Fixed HSRP Group-number range. + - Fixed standby track decrement range. + - Added tailf statements to standby redirect authentication commands + - Added tailf statement and default value to standby track decrement + - Added description and modified standby group number range + - Added cli-multi-value tailf statement for standby name and follow leaf + - Removed tailf:cli-trim-default from decrement leaf."; + cisco-semver:module-version "2.0.0"; + } + revision 2022-03-01 { + description + "- Moved HSRP model code from interfaces.yang to hsrp.yang"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-interface-hsrp-grouping { + container standby { + description + "HSRP interface configuration commands"; + leaf version { + description + "HSRP version"; + type enumeration { + enum 1; + enum 2; + } + default "1"; + } + leaf bfd-config { + description + "Enable HSRP BFD"; + default "true"; + type boolean; + } + leaf bfd { + status deprecated; + description + "Enable HSRP BFD"; + type empty; + } + container delay { + description + "HSRP initialisation delay"; + leaf minimum { + description + "Minimum delay"; + type uint16 { + range "0..10000"; + } + } + leaf reload { + description + "Delay after reload"; + type uint16 { + range "0..10000"; + } + } + } + leaf mac-refresh { + description + "Refresh MAC cache on switch by periodically sending packet from virtual mac address"; + default "10"; + type uint8 { + range "0..255"; + } + } + container use-bia { + description + "HSRP uses interface's burned in address"; + presence "true"; + container scope { + description + "Specify the scope of use-bia"; + leaf interface { + description + "Use-bia applies to all groups on this interface or sub-interface"; + type empty; + } + } + } + container redirect { + description + "Configure sending of ICMP Redirect messages with an HSRP virtual IP address as the gateway IP address"; + container advertisement { + description + "Redirect advertisement messages"; + container authentication { + description + "Authentication"; + container md5 { + description + "Use MD5 authentication"; + choice md5-choice { + leaf key-chain { + description + "Set key chain"; + type string; + } + container key-string { + description + "Set key string"; + leaf encrypt { + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + type string; + } + leaf timeout { + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + } + } + } + container timers { + description + "Adjust redirect timers"; + leaf advertisement { + type uint16 { + range "10..180"; + } + } + leaf holddown { + type uint16 { + range "30..3600"; + } + } + } + leaf unknown { + description + "Redirect to non-HSRP routers"; + default "true"; + type boolean; + } + } + list standby-list { + key "group-number"; + leaf group-number { + description + "HSRP group number. Supported range for HSRP version 1 is <0-255> and <0-4095> for HSRP version 2"; + type uint16 { + range "0..4095"; + } + } + container authentication { + description + "Authentication"; + choice auth { + leaf word { + type string; + } + container md5 { + description + "Use MD5 authentication"; + container md5-config { + choice md5-choice { + leaf key-chain { + description + "Set key chain"; + type string; + } + container key-string { + description + "Set key string"; + leaf encrypt { + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + type string; + } + leaf timeout { + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + } + leaf key-chain { + status deprecated; + description + "Set key chain"; + type string; + } + container key-string { + status deprecated; + description + "Set key string"; + leaf encrypt { + status deprecated; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status deprecated; + type string; + } + leaf timeout { + status deprecated; + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + leaf text { + description + "Plain text authentication"; + type string; + } + } + } + leaf follow { + description + "Name of HSRP group to follow"; + type string; + } + container ip-config { + description + "Enable HSRP and set the virtual IP address"; + presence "true"; + leaf address { + type inet:ipv4-address; + } + list secondary-address { + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IP address a secondary virtual IP address"; + mandatory true; + type empty; + } + } + } + container ipv6-config { + description + "Enable HSRP IPv6 and set the virtual IP address"; + leaf ipv6-link-local { + description + "IPv6 link-local address"; + type union { + type inet:ipv6-address; + type enumeration { + enum autoconfig; + } + } + } + list ipv6_prefix { + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + } + } + } + container ip { + description + "Enable HSRP and set the virtual IP address"; + status deprecated; + presence "true"; + leaf address { + status deprecated; + type inet:ipv4-address; + } + leaf secondary { + status deprecated; + description + "Make this IP address a secondary virtual IP address"; + type empty; + } + } + leaf ipv6 { + status deprecated; + description + "Enable HSRP IPv6"; + type union { + type inet:ipv6-address; + type ios-types:ipv6-prefix; + type enumeration { + enum autoconfig; + } + } + } + leaf mac-address { + description + "Virtual MAC address"; + type string; + } + leaf name { + description + "Redundancy name string"; + type string; + } + container preempt { + description + "Overthrow lower priority Active routers"; + presence "true"; + container delay { + description + "Wait before preempting"; + leaf minimum { + description + "Delay at least this long"; + type uint16 { + range "0..3600"; + } + } + leaf reload { + description + "Delay after reload"; + type uint16 { + range "0..3600"; + } + } + leaf sync { + description + "Wait for IP redundancy client"; + type uint16 { + range "0..3600"; + } + } + } + } + leaf priority { + description + "Priority level"; + type uint8; + default "100"; + } + container redirect { + status obsolete; + description + "Configure sending of ICMP Redirect messages with an HSRP virtual IP address as the gateway IP address"; + container advertisement { + status obsolete; + description + "Redirect advertisement messages"; + container authentication { + status obsolete; + description + "Authentication"; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf key-chain { + status obsolete; + description + "Set key chain"; + type string; + } + container key-string { + status obsolete; + description + "Set key string"; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + leaf timeout { + status obsolete; + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + } + } + container timers { + status obsolete; + description + "Adjust redirect timers"; + leaf advertisement { + status obsolete; + type uint16 { + range "10..180"; + } + } + leaf holddown { + status obsolete; + type uint16 { + range "30..3600"; + } + } + } + leaf unknown { + status obsolete; + description + "Redirect to non-HSRP routers"; + type empty; + } + } + container timers { + description + "Hello and hold timers"; + container hello-interval { + choice hello-interval-choice { + leaf seconds { + type uint8 { + range "1..254"; + } + } + leaf msec { + description + "Specify hello interval in milliseconds"; + type uint16 { + range "15..999"; + } + } + } + } + container hold-time { + choice hold-time-choice { + leaf seconds { + type uint8 { + range "1..255"; + } + } + leaf msec { + description + "Specify hold time in milliseconds"; + type uint16 { + range "50..3000"; + } + } + } + } + } + list track { + description + "Priority tracking"; + key "number"; + leaf number { + type uint16 { + range "1..1000"; + } + } + leaf decrement { + description + "Priority decrement"; + default "10"; + type uint8 { + range "1..255"; + } + } + leaf shutdown { + description + "Shutdown group"; + type empty; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-http.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-http.yang new file mode 100644 index 000000000..cadeaa898 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-http.yang @@ -0,0 +1,603 @@ +module Cisco-IOS-XE-http { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-http"; + prefix ios-http; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Hypertext Transfer Protocol (HTTP) Yang Model. + Copyright (c) 2016, 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for 'ip http secure-port' + - Added support for 'ip http client cache' + - Added support for 'ip http client connection retry' + - Added support for 'ip http client connection pipeline-length' + - Added support for 'ip http client connection idle timeout' + - Added support for 'ip http client response timeout'"; + cisco-semver:module-version "2.4.0"; + } + revision 2024-03-01 { + description + "- Added support for 'ip http access class ipv4' + - Added support for 'ip http client connection timeout'"; + cisco-semver:module-version "2.3.0"; + } + revision 2023-11-01 { + description + "- Updated default vales for http server and secure-server + - Corrected max characters supported for secure-trustpoint leaf"; + cisco-semver:module-version "2.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for http tls-version secure-cipher"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-07-01 { + description + "- Added UEA platform specific feature"; + cisco-semver:module-version "2.0.0"; + } + revision 2021-11-01 { + description + "- Added constraint for http-secure-trustpoint + - Added constraint for http-client-secure-trustpoint"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for session-idle-timeout + - Added support for ctc authentication"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-10-26 { + description + "Added support for 'ip http tls-version'"; + } + revision 2018-09-26 { + description + "Added support for 'ip http authentication aaa'"; + } + revision 2018-01-24 { + description + "Updated ip http configurations to prevent full sync"; + } + revision 2017-12-04 { + description + "Added ip http configurations to prevent full sync"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-ip-http-grouping { + container http { + description + "HTTP server configuration"; + container access-class-group { + description + "Restrict http server access by access-class"; + choice access-list-choice { + leaf access-list-number { + description + "Access list number"; + type uint8 { + range "1..99"; + } + } + container ipv4 { + description + "Restrict http server access by ipv4 access-class"; + choice ipv4-choice { + leaf ipv4-access-list-number { + description + "IPV4 Access list number"; + type uint8 { + range "1..99"; + } + } + leaf word { + description + "IPv4 Access list name"; + type string; + } + } + } + } + } + leaf access-class { + status deprecated; + description + "Restrict http server access by access-class"; + type uint8 { + range "1..99"; + } + } + container authentication { + description + "Set http server authentication method"; + choice authentication-choice { + container aaa { + description + "Use AAA access control methods"; + presence "true"; + list command-authorization { + description + "Set method list for command authorization"; + key "level"; + leaf level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf name { + description + "Use an authorization list with this name"; + mandatory true; + type string; + } + } + leaf exec-authorization { + description + "Set method list for exec authorization"; + type string; + } + leaf login-authentication { + description + "Set method list for login authentication"; + type string; + } + } + leaf local { + description + "Use local username and passwords"; + type empty; + } + } + } + leaf server { + description + "Enable http server"; + type boolean; + default "true"; + } + leaf secure-server { + description + "Enable HTTP secure server"; + type boolean; + default "true"; + } + leaf secure-port { + description + "HTTP secure server port number for listening."; + type uint16 { + range "443 | 1025..65535"; + } + default "443"; + } + leaf secure-trustpoint { + description + "Set http secure server certificate trustpoint"; + type string { + length "1..226"; + } + } + leaf tls-version { + description + "Set TLS version for HTTP secure server"; + type enumeration { + enum TLSv1.0; + enum TLSv1.1; + enum TLSv1.2; + enum TLSv1.3; + } + } + container timeout-policy { + description + "Set http server time-out policy parameters"; + leaf idle { + description + "Idle time-out of a http server connection in seconds"; + type uint16 { + range "1..600"; + } + } + leaf life { + description + "Life time of a http server connection in seconds"; + type uint32 { + range "1..86400"; + } + } + leaf requests { + description + "Maximum number of requests allowed on a http server connection"; + type uint32 { + range "1..86400"; + } + } + } + container client { + description + "Set http client parameters"; + container secure-ciphersuite { + description + "Set http secure server ciphersuite"; + leaf aes-128-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_128_sha ciphersuite"; + type empty; + } + leaf aes-256-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_256_sha ciphersuite"; + type empty; + } + leaf dhe-aes-cbc-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_cbc_sha2 + (TLS 1.2) ciphersuite"; + type empty; + } + leaf dhe-aes-gcm-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_ecdsa_aes_gcm_sha2 + (TLS 1.2) SuiteB ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_cbc_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf rsa-aes-gcm-sha2 { + description + "Encryption type tls_rsa_with_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf tls13-aes128-gcm-sha256 { + description + "Encryption type tls13_aes128_gcm_sha256(TLS 1.3) + ciphersuite"; + type empty; + } + leaf tls13-aes256-gcm-sha384 { + description + "Encryption type tls13_aes256_gcm_sha384(TLS 1.3) + ciphersuite"; + type empty; + } + leaf tls13-chacha20-poly1305-sha256 { + description + "Encryption type tls13_chacha20_poly1305_sha256 + (TLS 1.3) ciphersuite"; + type empty; + } + } + leaf secure-trustpoint { + description + "Set http client certificate secure trustpoint"; + type string { + length "1..219"; + } + } + leaf source-interface { + description + "Specify interface for source address in all HTTP(S) client connections"; + type string; + } + container proxy-server { + description + "Specify proxy server name for HTTP file system client connections"; + leaf proxy-server-name { + description + "Proxy server name"; + type string; + } + leaf proxy-port { + description + "Proxy port number"; + type uint16 { + range "1..65535"; + } + } + } + leaf tls-version { + description + "Set TLS version for HTTP secure server"; + type enumeration { + enum TLSv1.0; + enum TLSv1.1; + enum TLSv1.2; + enum TLSv1.3; + } + } + container connection { + description + "Configure HTTP Client connection"; + leaf timeout { + description + "HTTP connection time-out value (1-60) in seconds"; + type uint8 { + range "1..60"; + } + } + leaf retry { + description + "HTTP connection retry value (1-5)"; + type uint8 { + range "1..5"; + } + default "1"; + } + leaf pipeline-length { + description + "HTTP connection pipeline length (2-100) (Unit - No. of messages)"; + type uint8 { + range "2..100"; + } + default "5"; + } + container idle { + description + "Configure HTTP client connection idle"; + leaf timeout { + description + "HTTP connection idle timeout value (1-60) in seconds"; + type uint8 { + range "1..60"; + } + default "30"; + } + } + } + container response { + description + "Configure HTTP client response timeout"; + leaf timeout { + description + "HTTP response timeout value (1-60) in seconds"; + type uint8 { + range "1..60"; + } + default "30"; + } + } + container cache { + description + "HTTP client cache"; + container ager { + description + "Cache Interval Time"; + leaf interval { + description + "Interval in Minutes <0-60>, default is 5"; + type uint8 { + range "0..60"; + } + default "5"; + } + } + container memory { + description + "Maximum memory allowed for HTTP Client Cache"; + leaf file { + description + "Size of cache memory file in kbytes <1-10>, default is 2"; + type uint8 { + range "1..10"; + } + default "2"; + } + leaf pool { + description + "Size of cache memory pool in kbytes <0-100>, default is 100"; + type uint8 { + range "0..100"; + } + default "100"; + } + } + } + } + leaf port { + description + "http port number"; + type uint16 { + range "1..65535"; + } + } + container secure-ciphersuite { + description + "Set http secure server ciphersuite"; + leaf aes-128-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_128_sha ciphersuite"; + type empty; + } + leaf aes-256-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_256_sha ciphersuite"; + type empty; + } + leaf dhe-aes-cbc-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_cbc_sha2 + (TLS 1.2) ciphersuite"; + type empty; + } + leaf dhe-aes-gcm-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_ecdsa_aes_gcm_sha2 + (TLS 1.2) SuiteB ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-128-cbc-sha { + description + "Encryption type tls_ecdhe_rsa_with_aes_128_cbc_sha + ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_cbc_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2(TLS 1.2 &) + ciphersuite"; + type empty; + } + leaf rsa-aes-gcm-sha2 { + description + "Encryption type tls_rsa_with_aes_gcm_sha2(TLS 1.2) + ciphersuite"; + type empty; + } + leaf tls13-aes128-gcm-sha256 { + description + "Encryption type tls13_aes128_gcm_sha256(TLS 1.3) + ciphersuite"; + type empty; + } + leaf tls13-aes256-gcm-sha384 { + description + "Encryption type tls13_aes256_gcm_sha384(TLS 1.3) + ciphersuite"; + type empty; + } + leaf tls13-chacha20-poly1305-sha256 { + description + "Encryption type tls13_chacha20_poly1305_sha256 + (TLS 1.3) ciphersuite"; + type empty; + } + } + leaf max-connections { + description + "max http connections"; + type uint16 { + range "1..50"; + } + } + leaf active-session-modules { + description + "Set active session modules"; + type union { + type enumeration { + enum none; + enum all; + } + type string; + } + default "all"; + } + leaf secure-active-session-modules { + description + "Set secure active session modules"; + type union { + type enumeration { + enum none; + enum all; + } + type string; + } + default "all"; + } + leaf secure-client-auth { + description + "Set http secure server with client authentication"; + type empty; + } + leaf path { + description + "Set http path name"; + type string; + } + leaf session-idle-timeout { + description + "Set http server session idle timeout"; + type uint16 { + range "180..1200"; + } + } + container ctc { + description + "Set http ctc configuration"; + if-feature "ios-features:ctc-http-app"; + leaf authentication { + description + "Enable ctc authentication"; + type empty; + } + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-http-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-icmp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-icmp.yang new file mode 100644 index 000000000..07e570aad --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-icmp.yang @@ -0,0 +1,574 @@ +module Cisco-IOS-XE-icmp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-icmp"; + prefix ios-icmp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Internet Control Message Protocol (ICMP) Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Adding a new group for obsolete values for icmp unreachables"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Added default true for 'ip unreachables' and 'ipv6 unreachables' CLI"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Added support for 'ip icmp od-length enable' CLI"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "Take out redirect leaf from parent leaf"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Added ICMP config under IPv6"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-08-29 { + description + "add config-interface-ip-icmp-grouping use for interface Multilink and Cellular"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100 GE interface addition"; + } + revision 2017-09-14 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-06-12 { + description + "add config-interface-ip-icmp-grouping use for interface Vlan"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-icmp-grouping { + container icmp { + description + "ICMP options"; + container od-length { + description + "Original Datagram Length"; + leaf enable { + description + "Enable Feature"; + default "true"; + type boolean; + } + } + container rate-limit { + description + "rate limit ICMP messages generated"; + container unreachable { + description + "ICMP type 3, Destination Unreachable"; + leaf time { + description + "Once per milliseconds"; + type uint32 { + range "1..4294967295"; + } + default "500"; + } + container DF { + description + "code 4, fragmentation needed and DF set"; + leaf time { + description + "Once per milliseconds"; + type uint32 { + range "1..4294967295"; + } + } + } + container log { + description + "log message if rate limiting is excessive"; + presence "true"; + leaf number-unreachables { + description + "number of unreachables within interval to trigger a message"; + type uint32; + } + leaf log-message { + description + "log message once per milliseconds"; + type uint32 { + range "10000..4294967295"; + } + } + } + } + leaf redirect { + description + "description"; + status obsolete; + type enumeration { + enum host; + enum subnet; + } + } + } + leaf redirect { + description + "description"; + type enumeration { + enum host; + enum subnet; + } + } + } + } + + grouping config-interface-ip-icmp-grouping { + leaf unreachables { + description + "Enable sending ICMP Unreachable messages"; + type boolean; + default "true"; + } + } + + grouping config-interface-ip-icmp-grouping-obsolete { + leaf unreachables { + description + "Enable sending ICMP Unreachable messages"; + status obsolete; + type boolean; + default "true"; + } + } + + augment "/ios:native/ios:ip" { + uses config-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-Compress/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-UnCompress/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:nve/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:SM/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GMPLS/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Group-Async/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Async/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR-subinterface/ios:MFR/ios:ip" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-Compress/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-UnCompress/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:nve/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:SM/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GMPLS/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Group-Async/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Async/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR-subinterface/ios:MFR/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ipv6" { + uses config-interface-ip-icmp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ida.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ida.yang new file mode 100644 index 000000000..b59c5a959 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ida.yang @@ -0,0 +1,102 @@ +module Cisco-IOS-XE-ida { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ida"; + prefix ios-ida; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE REP Yang Model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Initial revision"; + } + + grouping config-interface-ida-grouping { + container ida { + list transport-profile { + description + "Transport Profile Configuration"; + max-elements 1; + key "name"; + leaf name { + description + "Profile Name"; + type string { + length "1..64"; + } + } + leaf callhome-url { + description + "Callhome server "; + type string { + length "1..256"; + } + } + leaf reconnect-timer { + description + "Profile reconnect timer (default 60 seconds)"; + type uint16 { + range "30..3600"; + } + } + leaf remote-trustpoint { + description + "Trustpoint to use for authenticating the server"; + type string { + length "1..256"; + } + } + leaf execution-url { + description + "Local Execution server "; + type string { + length "1..256"; + } + } + leaf local-trustpoint { + description + "Trustpoint to use for connection with server"; + type string { + length "1..256"; + } + } + leaf proxy-addr { + description + "Proxy Address"; + type string { + length "1..40"; + } + } + leaf active { + type empty; + } + leaf keepalive-timer { + description + "Profile keepalive timer (default 300 seconds)"; + type uint16 { + range "30..3600"; + } + } + } + } + } + + augment "/ios:native" { + uses config-interface-ida-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-identity-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-identity-oper.yang new file mode 100644 index 000000000..f98fe1d8e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-identity-oper.yang @@ -0,0 +1,3330 @@ +module Cisco-IOS-XE-identity-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-identity-oper"; + prefix identity-ios-xe-oper; + + import Cisco-IOS-XE-aaa-types { + prefix aaa-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for identity operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-07-01 { + description + "- Added Intel device data to device classifier client operational data + - Added unique session Id"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-03-01 { + description + "- Removed device OS and vendor source constraints"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "- Added accounting list"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "- Added counters for Web authentication backpressure queue + - Added is-user-profile flag to identify whether a service template is downloaded from an external server"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef session-blocked-on-state { + type enumeration { + enum flags-none { + value 0; + description + "Session Blocked on None"; + } + enum event-async-caller-unknown { + value 1; + description + "Session Blocked on Asynchronous Caller Unknown"; + } + enum event-async-caller-apply-up { + value 2; + description + "Session Blocked on Asynchronous User-profile Application"; + } + enum event-async-caller-apply-authorization { + value 3; + description + "Session Blocked on Authorization"; + } + enum event-async-caller-remove-up { + value 4; + description + "Session Blocked on Asynchronous User-profile Removal"; + } + enum event-async-caller-pre { + value 5; + description + "Session Blocked on Asynchronous PRE Event"; + } + enum event-async-caller-async-teardown { + value 6; + description + "Session Blocked on Asynchronous Teardown"; + } + enum event-async-caller-final-delete { + value 7; + description + "Session Blocked on Final Delete"; + } + } + description + "Session Block On State"; + } + + typedef authentication-method-id { + type enumeration { + enum invalid-method-id { + value 0; + description + "Denotes an Invalid method ID"; + } + enum dot1x-auth-id { + value 1; + description + "IEEE 802.1X Authenticator ID"; + } + enum mab-id { + value 2; + description + "Mac-Auth-Bypass Method"; + } + enum web-auth-id { + value 3; + description + "Web Authentication"; + } + enum static-method-id { + value 4; + description + "Static method Identifier"; + } + enum eou { + value 5; + description + "Eap Over UDP Method identifier"; + } + enum dot1x-supp-id { + value 6; + description + "IEEE 802.1X Supplicant ID"; + } + } + description + "IDs representing various authentication"; + } + + typedef context-state { + type enumeration { + enum idle { + value 0; + description + "Session Idle State"; + } + enum running { + value 1; + description + "Session in Authentication Running State"; + } + enum no-more-methods { + value 2; + description + "Session in No more authentication methods state"; + } + enum authc-success { + value 3; + description + "Session Authentication Success State"; + } + enum authc-failed { + value 4; + description + "Session Authentication Fail State"; + } + enum authz-success { + value 5; + description + "Session Authorization Success State"; + } + enum authz-failed { + value 6; + description + "Session authorization failed state"; + } + } + description + "Session Manager Session State"; + } + + typedef session-domain { + type enumeration { + enum domain-unknown { + value 0; + description + "Unknown Domain"; + } + enum data { + value 1; + description + "Data Domain"; + } + enum voice { + value 2; + description + "Voice Domain"; + } + } + description + "Session's domain"; + } + + typedef session-target-scope { + type enumeration { + enum scope-unknown { + value 0; + description + "Session's scope Unknown"; + } + enum client { + value 1; + description + "Session's Scope : Client"; + } + enum interface { + value 2; + description + "Interface Scope"; + } + } + description + "Session's scope"; + } + + typedef control-direction { + type enumeration { + enum control-direction-unknown { + value 0; + description + "Interface config, Control-direction: Unknown"; + } + enum both { + value 1; + description + "Interface config, Control-direction: Both"; + } + enum in { + value 2; + description + "Interface config, Control-direction: In"; + } + } + description + "Interface Configuration: control-direction"; + } + + typedef port-type { + type enumeration { + enum port-type-unknown { + value 0; + description + "Interface config, Port-type: Unknown"; + } + enum l2 { + value 1; + description + "Interface config, Port-type: L2 Port"; + } + enum l3 { + value 2; + description + "Interface config, Port-type: L3 Port"; + } + enum dot11 { + value 4; + description + "Interface config, Port-type: Dot11 port"; + } + } + description + "Interface config, Port-type"; + } + + typedef webauth-type { + type enumeration { + enum app-id-min { + value 0; + description + "Web authentication type Minimum"; + } + enum app-id-ezvpn { + value 1; + description + "Web authentication type EZVPN"; + } + enum app-id-authproxy { + value 2; + description + "Web authentication type auth-proxy"; + } + enum app-id-consent { + value 3; + description + "Web authentication type consent"; + } + enum app-id-authproxy-with-consent { + value 4; + description + "Web authentication type auth-proxy with consent"; + } + enum app-id-authbypass { + value 5; + description + "Web authentication type auth-bypass"; + } + enum app-id-max { + value 6; + description + "Web authentication type max"; + } + } + description + "Web authentication type"; + } + + typedef webauth-state { + type enumeration { + enum webauth-init { + value 0; + description + "Web authentication state initialized"; + } + enum webauth-http-next-password { + value 1; + description + "Web authentication state http next password"; + } + enum webauth-get-redirect { + value 2; + description + "Web authentication state get redirect"; + } + enum webauth-login { + value 3; + description + "Web authentication state login"; + } + enum webauth-authenticating { + value 4; + description + "Web authentication state authenticating"; + } + enum webauth-authentication-fail { + value 5; + description + "Web authentication state authentication fail"; + } + enum webauth-nrh-authentication-fail { + value 6; + description + "Web authentication state Non-Responsive Host authentication fail"; + } + enum webauth-authentication-success { + value 7; + description + "Web authentication state authentication success"; + } + enum webauth-nrh-authentication-success { + value 8; + description + "Web authentication state Non-Responsive Host authentication success"; + } + enum webauth-authorized { + value 9; + description + "Web authentication state authorized"; + } + } + description + "Web authentication state"; + } + + typedef pre-event { + type enumeration { + enum event-none { + value 0; + description + "No PRE Event"; + } + enum invalid-event { + value 1; + description + "Invalid Event"; + } + enum rx-method-event-new-mac { + value 2; + description + "New MAC Event"; + } + enum rx-method-event-agent-found { + value 3; + description + "Agent Found Event"; + } + enum rx-method-event-authc-success { + value 4; + description + "Authentication Success Event"; + } + enum rx-method-event-violation { + value 5; + description + "Violation Event"; + } + enum rx-method-event-authc-remote-success { + value 6; + description + "Remote Authentication Success Event"; + } + enum rx-method-event-authc-fail { + value 7; + description + "Authentication Fail Event"; + } + enum rx-method-event-authc-remote-fail { + value 8; + description + "Remote Authentication Fail Event"; + } + enum rx-method-event-session-started { + value 9; + description + "Session Started Event"; + } + enum rx-method-event-pdu { + value 10; + description + "PDU Event"; + } + enum event-authz-success { + value 11; + description + "Authorization Success Event"; + } + enum event-authz-fail { + value 12; + description + "Authorization Fail Event"; + } + enum event-start { + value 13; + description + "Start Event"; + } + enum apply-user-profile { + value 14; + description + "Apply User Profile Event"; + } + enum remove-user-profile { + value 15; + description + "Remove User Profile Event"; + } + enum multiple-identity-update { + value 16; + description + "Multi-Identity Update Event"; + } + enum single-identity-update { + value 17; + description + "Single-Identity Update Event"; + } + enum rx-identity-update { + value 18; + description + "Received Identity Update Event"; + } + enum event-delete { + value 19; + description + "Delete Event"; + } + enum event-delete-final { + value 20; + description + "Delete Final Event"; + } + enum event-delete-all { + value 21; + description + "Delete All Event"; + } + enum event-delete-sb { + value 22; + description + "Delete Sub-block Event"; + } + enum event-start-tick-timer { + value 23; + description + "Tick Timer Start Event"; + } + enum event-start-event-processing { + value 24; + description + "Event Processing Start Event"; + } + enum rx-pre-event-async-cb { + value 25; + description + "Asynchronous Callback Event"; + } + enum rx-pre-event-external { + value 26; + description + "External Event"; + } + } + description + "Policy Rule Engine Event"; + } + + typedef protocol-type { + type enumeration { + enum cdp { + value 0; + description + "Protocol Type CDP"; + } + enum lldp { + value 1; + description + "Protocol Type LLDP"; + } + enum dhcp { + value 2; + description + "Protocol Type DHCP"; + } + enum mdns { + value 3; + description + "Protocol Type MDNS"; + } + enum sip { + value 4; + description + "Protocol Type SIP"; + } + enum h323 { + value 5; + description + "Protocol Type H323"; + } + enum http { + value 6; + description + "Protocol Type HTTP"; + } + enum dhcpv6 { + value 7; + description + "Protocol Type DHCPv6"; + } + enum dot11-device-analytics { + value 8; + description + "Protocol Type dot11 device analytics"; + } + } + description + "Protocol Type"; + } + + typedef dc-db-attr-type-e { + type enumeration { + enum proto-none { + value 0; + description + "Protocol Not Assigned"; + } + enum proto-oui { + value 1; + description + "Protocol OUI"; + } + enum proto-cdp { + value 2; + description + "Protocol CDP"; + } + enum proto-lldp { + value 3; + description + "Protocol LLDP"; + } + enum proto-dhcp { + value 4; + description + "Protocol DHCP"; + } + enum proto-mdns { + value 5; + description + "Protocol MDNS"; + } + enum proto-http { + value 6; + description + "Protocol HTTP"; + } + enum proto-sip { + value 7; + description + "Protocol SIP"; + } + enum proto-h323 { + value 8; + description + "Protocol H323"; + } + enum proto-snmp { + value 9; + description + "Protocol SNMP"; + } + enum proto-nmap { + value 10; + description + "Protocol Network Mapper"; + } + enum proto-dot11-device-analytics { + value 11; + description + "802.11 Association Frames for different vendors"; + } + } + description + "Device Classifier Protocol Source"; + } + + typedef dc-power-type-e { + type enumeration { + enum power-none { + value 0; + description + "Power Type Not Assigned"; + } + enum ac-powered { + value 1; + description + "Power Type AC"; + } + enum dc-powered { + value 2; + description + "Power Type DC"; + } + } + description + "Device Classifier Power Type"; + } + + typedef authentication-state { + type enumeration { + enum auth-not-running { + value 0; + description + "Authentication not running"; + } + enum auth-running { + value 1; + description + "Authentication running"; + } + enum auth-failover { + value 2; + description + "Authentication state failover"; + } + enum auth-success { + value 3; + description + "Authentication success"; + } + enum auth-failed { + value 4; + description + "Authentication failed"; + } + enum auth-stopped { + value 5; + description + "Authentication stopped"; + } + } + description + "Authentication state"; + } + + typedef authentication-event { + type enumeration { + enum event-success { + value 1; + description + "Authentication event successful"; + } + enum event-invalid-credential { + value 2; + description + "Authentication event failure due to invalid credentials"; + } + enum event-aaa-server-dead { + value 3; + description + "Authentication event failure due to AAA server not reachable"; + } + enum event-no-client-response { + value 4; + description + "Authentication event failure due to no response from client"; + } + enum event-timeout { + value 5; + description + "Authentication event failure due to timeout"; + } + enum event-aaa-server-alive { + value 6; + description + "Authentication event AAA server alive"; + } + enum event-linksec-fail { + value 7; + description + "Authentication event failure to secure link"; + } + enum event-aaa-not-ready { + value 8; + description + "Authentication event fail due to AAA not ready"; + } + enum event-no-method-configuration { + value 9; + description + "Authentication event fail due to no method configuration"; + } + enum event-deprecated { + value 10; + description + "Authentication event deprecated"; + } + } + description + "Authentication event"; + } + + typedef auth-attribute-action { + type enumeration { + enum action-merge { + value 1; + description + "Authenticator attribute action Merge"; + } + enum action-replace { + value 2; + description + "Authenticator attribute action Replace"; + } + enum action-replace-all { + value 3; + description + "Authenticator attribute action Replace All"; + } + } + description + "Authenticator attribute action"; + } + + typedef dot1x-auth-state { + type enumeration { + enum dot1x-auth-unknown { + value 0; + description + "802.1x Authenticator State Unknown"; + } + enum dot1x-auth-initialize { + value 1; + description + "802.1x Authenticator State Initialize"; + } + enum dot1x-auth-disconnected { + value 2; + description + "802.1x Authenticator State Disconnected"; + } + enum dot1x-auth-connecting { + value 3; + description + "802.1x Authenticator State Connecting"; + } + enum dot1x-auth-authenticating { + value 4; + description + "802.1x Authenticator State Authenticating"; + } + enum dot1x-auth-authenticated { + value 5; + description + "802.1x Authenticator State Authenticated"; + } + enum dot1x-auth-aborting { + value 6; + description + "802.1x Authenticator State Aborting"; + } + enum dot1x-auth-held { + value 7; + description + "802.1x Authenticator State Held"; + } + enum dot1x-auth-force-authorized { + value 8; + description + "802.1x Authenticator State Force Authorized"; + } + enum dot1x-auth-force-unauthorized { + value 9; + description + "802.1x Authenticator State Force Unauthorized"; + } + enum dot1x-auth-restart { + value 10; + description + "802.1x Authenticator State Restart"; + } + enum dot1x-auth-fallback { + value 11; + description + "802.1x Authenticator State Fallback"; + } + enum dot1x-auth-result { + value 12; + description + "802.1x Authenticator State Authentication result"; + } + enum dot1x-auth-authz-success { + value 13; + description + "802.1x Authenticator State Authorization success"; + } + enum dot1x-auth-authz-fail { + value 14; + description + "802.1x Authenticator State Authorization fail"; + } + } + description + "802.1x authenticator state"; + } + + typedef dot1x-auth-backend-state { + type enumeration { + enum dot1x-auth-backend-state-unknown { + value 0; + description + "802.1x Authenticator back-end state (Unknown)"; + } + enum dot1x-auth-backend-state-request { + value 1; + description + "802.1x Authenticator back-end state (Request)"; + } + enum dot1x-auth-backend-state-response { + value 2; + description + "Authenticator back-end state (Response)"; + } + enum dot1x-auth-backend-state-success { + value 3; + description + "802.1x Authenticator back-end state (Success)"; + } + enum dot1x-auth-backend-state-fail { + value 4; + description + "802.1x Authenticator back-end state (Fail)"; + } + enum dot1x-auth-backend-state-timeout { + value 5; + description + "802.1x Authenticator back-end state (Timeout)"; + } + enum dot1x-auth-backend-state-idle { + value 6; + description + "802.1x Authenticator back-end state (Idle)"; + } + enum dot1x-auth-backend-state-initialize { + value 7; + description + "802.1x Authenticator back-end state (Initialize)"; + } + enum dot1x-auth-backend-state-ignore { + value 8; + description + "802.1x Authenticator back-end state (Ignore)"; + } + } + description + "802.1x Authenticator Back-end state"; + } + + typedef mab-auth-state { + type enumeration { + enum mab-state-unknown { + value 0; + description + "MAB state Unknown"; + } + enum mab-state-initialize { + value 1; + description + "MAB state Initialize"; + } + enum mab-state-acquiring { + value 2; + description + "MAB state acquiring"; + } + enum mab-state-authorizing { + value 3; + description + "MAB state Authorizing"; + } + enum mab-state-terminate { + value 4; + description + "MAB state Terminate"; + } + } + description + "MAC Authentication Bypass (MAB) State"; + } + + typedef dot1x-supplicant-state { + type enumeration { + enum dot1x-supp-state-unknown { + value 0; + description + "802.1x Supplicant state Unknown"; + } + enum dot1x-supp-state-initialize { + value 1; + description + "802.1x Supplicant state Initialize"; + } + enum dot1x-supp-state-logoff { + value 2; + description + "802.1x Supplicant state Logoff"; + } + enum dot1x-supp-state-disconnected { + value 3; + description + "802.1x Supplicant state Disconnected"; + } + enum dot1x-supp-state-connecting { + value 4; + description + "802.1x Supplicant state Connecting"; + } + enum dot1x-supp-state-authenticating { + value 5; + description + "802.1x Supplicant state Authenticating"; + } + enum dot1x-supp-state-held { + value 6; + description + "802.1x Supplicant state Held"; + } + enum dot1x-supp-state-authenticated { + value 7; + description + "802.1x Supplicant state Authenticated"; + } + enum dot1x-supp-state-restart { + value 8; + description + "802.1x Supplicant state Restart"; + } + enum dot1x-supp-state-force-auth { + value 9; + description + "802.1x Supplicant state Force Authorized"; + } + enum dot1x-supp-state-force-unauth { + value 10; + description + "802.1x Supplicant state Force Unauthorized"; + } + } + description + "802.1x Supplicant state"; + } + + typedef dot1x-supplicant-port-state { + type enumeration { + enum dot1x-supp-port-state-unknown { + value 0; + description + "802.1x Supplicant port state Unknown"; + } + enum dot1x-supp-port-state-initialize { + value 1; + description + "802.1x Supplicant port state Initialize"; + } + enum dot1x-supp-port-state-authorized { + value 2; + description + "802.1x Supplicant port state Authorized"; + } + enum dot1x-supp-port-state-unauthorized { + value 3; + description + "802.1x Supplicant port state Unauthorized"; + } + } + description + "802.1x Supplicant PAE port state"; + } + + typedef dot1x-supplicant-backend-state { + type enumeration { + enum dot1x-supp-backend-state-unknown { + value 0; + description + "802.1x supplicant back-end state Unknown"; + } + enum dot1x-supp-backend-state-initialize { + value 1; + description + "802.1x supplicant back-end state Initialize"; + } + enum dot1x-supp-backend-state-request { + value 2; + description + "802.1x supplicant back-end state Request"; + } + enum dot1x-supp-backend-state-response { + value 3; + description + "802.1x supplicant back-end state Response"; + } + enum dot1x-supp-backend-state-success { + value 4; + description + "802.1x supplicant back-end state Success"; + } + enum dot1x-supp-backend-state-fail { + value 5; + description + "802.1x supplicant back-end state Fail"; + } + enum dot1x-supp-backend-state-timeout { + value 6; + description + "802.1x supplicant back-end state Timeout"; + } + enum dot1x-supp-backend-state-idle { + value 7; + description + "802.1x supplicant back-end state Idle"; + } + enum dot1x-supp-backend-state-receive { + value 8; + description + "802.1x supplicant back-end state Receive"; + } + } + description + "802.1x Supplicant Back-end state"; + } + + typedef attribute-format { + type enumeration { + enum format-invalid { + value 0; + description + "Attribute format Invalid"; + } + enum format-string { + value 1; + description + "Attribute format String"; + } + enum format-binary { + value 2; + description + "Attribute format Binary"; + } + enum format-ulong { + value 3; + description + "Attribute format Unsigned Long"; + } + enum format-enum { + value 4; + description + "Attribute format Enumeration"; + } + enum format-ipv4 { + value 5; + description + "Attribute format IPv4 address"; + } + enum format-ipv6 { + value 6; + description + "Attribute format IPv6 address"; + } + enum format-mac { + value 7; + description + "Attribute format MAC address"; + } + enum format-string-attr { + value 8; + description + "Attribute format String attribute"; + } + enum format-utc-time { + value 9; + description + "Attribute format UTC Time"; + } + enum format-boolean { + value 10; + description + "Attribute format Boolean"; + } + enum format-opaque-binary { + value 11; + description + "Attribute format Opaque binary"; + } + enum format-special { + value 12; + description + "Attribute format Special"; + } + enum format-ipx-network { + value 13; + description + "Attribute format IPX Network"; + } + enum format-ulonglong { + value 14; + description + "Attribute format Unsigned Long Long"; + } + enum format-tagged-string { + value 15; + description + "Attribute format Tagged string"; + } + enum format-tagged-ulong { + value 16; + description + "Attribute format Tagged Unsigned Long"; + } + enum format-tagged-opaque-binary { + value 17; + description + "Attribute format Tagged opaque binary"; + } + enum format-tagged-enum { + value 18; + description + "Attribute format Tagged enumeration"; + } + enum format-grouped { + value 19; + description + "Attribute format Grouped"; + } + enum format-address { + value 20; + description + "Attribute format Address"; + } + enum format-diameter-identity { + value 21; + description + "Attribute format Diameter Identity"; + } + enum format-ip-filter-rule { + value 22; + description + "Attribute format IP Filter rule"; + } + enum format-qos-filter-rule { + value 23; + description + "Attribute format QoS Filter rule"; + } + enum format-string-dn { + value 24; + description + "Attribute format String DN"; + } + enum format-max { + value 25; + description + "Attribute format Max"; + } + } + description + "AAA attribute Format"; + } + + typedef service-source { + type enumeration { + enum source-none { + value 0; + description + "Service source None"; + } + enum source-local { + value 1; + description + "Service source Local"; + } + enum source-pmap { + value 2; + description + "Service source Parameter-Map"; + } + enum source-aaa { + value 3; + description + "Service source AAA"; + } + enum source-local-wlan { + value 4; + description + "Service source Local WLAN"; + } + } + description + "Policy Service source"; + } + + typedef service-status { + type enumeration { + enum service-status-unknown { + value 0; + description + "Service status Unknown"; + } + enum service-status-error { + value 1; + description + "Service status Error"; + } + enum service-status-new { + value 2; + description + "Service status New"; + } + enum service-status-loading { + value 3; + description + "Service status Loading"; + } + enum service-status-req-apply { + value 4; + description + "Service status Request apply"; + } + enum service-status-applied { + value 5; + description + "Service status Applied"; + } + enum service-status-req-unapply { + value 6; + description + "Service status Request unapply"; + } + enum service-status-unapplied { + value 7; + description + "Service status Unapplied"; + } + enum service-status-failure { + value 8; + description + "Service status Failure"; + } + enum service-status-max { + value 9; + description + "Service status Max"; + } + } + description + "Policy Service status"; + } + + typedef protocol-map { + type bits { + bit protocol-map-oui { + position 0; + description + "OUI Based Classification Bit"; + } + bit protocol-map-cdp { + position 1; + description + "CDP Based Classification Bit"; + } + bit protocol-map-lldp { + position 2; + description + "LLDP Based Classification Bit"; + } + bit protocol-map-dhcp { + position 3; + description + "DHCP Based Classification Bit"; + } + bit protocol-map-mdns { + position 4; + description + "MDNS Based Classification Bit"; + } + bit protocol-map-http { + position 5; + description + "HTTP Based Classification Bit"; + } + bit protocol-map-sip { + position 6; + description + "SIP Based Classification Bit"; + } + bit protocol-map-h323 { + position 7; + description + "H323 Based Classification Bit"; + } + bit protocol-map-snmp { + position 8; + description + "SNMP Based Classification Bit"; + } + bit protocol-map-nmap { + position 9; + description + "Network Mapper Based Classification Bit"; + } + bit protocol-map-dot11-device-analytics { + position 10; + description + "802.11 Association Frames Based Classification Bit for different vendors"; + } + } + description + "Flags for Protocols used for Client Classification"; + } + + grouping sm-device-classifier-data { + description + "Device classification data"; + leaf dc-profile-name { + type string; + description + "Device classifier profile name"; + } + leaf dc-device-name { + type string; + description + "Classifier device name"; + } + leaf dc-device-class { + type string; + description + "Classifier device class"; + } + } + + grouping sm-audit-id { + description + "Session Audit id"; + leaf aid { + type string { + length "0 .. 25"; + } + description + "Audit identifier"; + } + } + + grouping sm-posture-token { + description + "Session posture token"; + leaf token { + type string { + length "0 .. 61"; + } + description + "Posture token"; + } + } + + grouping sm-pdata { + description + "Session sensor protocol data"; + leaf-list data { + type uint8; + ordered-by user; + description + "Protocol data"; + } + } + + grouping sm-protocol-tlv { + description + "Session sensor Type Length Vector"; + leaf type { + type uint16; + description + "Sensor protocol type"; + } + leaf length { + type uint16; + description + "Sensor data length"; + } + container value { + description + "Sensor data value"; + uses identity-ios-xe-oper:sm-pdata; + } + } + + grouping sm-protocol-data { + description + "Session sensor data"; + leaf proto-type { + type identity-ios-xe-oper:protocol-type; + description + "Sensor protocol type"; + } + list tlv { + description + "Sensor protocol Type Length Vector"; + uses identity-ios-xe-oper:sm-protocol-tlv; + } + } + + grouping sm-protocol-info { + description + "Session sensor protocol information"; + list protocol-data { + description + "Sensor protocol data"; + uses identity-ios-xe-oper:sm-protocol-data; + } + } + + grouping sm-clients-pen-del-node { + description + "List of clients pending deletion"; + leaf client-name { + type string; + description + "Client name"; + } + } + + grouping sm-aaa-server-details { + description + "AAA server details"; + leaf server-address { + type inet:ip-address; + description + "AAA server address"; + } + leaf server-status { + type aaa-types:aaa-req-status; + description + "AAA server status"; + } + leaf server-authport { + type uint16; + description + "AAA server authenticator port"; + } + leaf server-acctport { + type uint16; + description + "AAA server accounting port"; + } + } + + grouping sm-context { + description + "Session context data"; + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + leaf ipv4 { + type inet:ipv4-address; + description + "Session IPv4 address"; + } + leaf-list ipv6 { + type inet:ipv6-address; + max-elements 16; + ordered-by user; + description + "Session IPv6 addresses"; + } + leaf intf-iifid { + type uint32; + description + "Interface index identifier"; + } + leaf method-id { + type identity-ios-xe-oper:authentication-method-id; + description + "Method identifier"; + } + leaf domain { + type identity-ios-xe-oper:session-domain; + description + "Session domain"; + } + leaf scope { + type identity-ios-xe-oper:session-target-scope; + description + "Session scope"; + } + container audit-id { + description + "Audit session identifier"; + uses identity-ios-xe-oper:sm-audit-id; + } + container posture-token { + description + "Posture token"; + uses identity-ios-xe-oper:sm-posture-token; + } + leaf acct-sess-id { + type uint32; + description + "Accounting session identifier"; + } + leaf aaa-sess-id { + type uint32; + description + "AAA unique identifier"; + } + leaf sess-iifid { + type uint32; + description + "Session iif identifier"; + } + leaf username { + type string; + description + "Session username"; + } + leaf vlan-id { + type uint32; + description + "Session VLAN identifier"; + } + leaf linksec-secured { + type boolean; + description + "Link secured"; + } + leaf state { + type identity-ios-xe-oper:context-state; + description + "Session context state"; + } + leaf port-type { + type identity-ios-xe-oper:port-type; + description + "Port type of session"; + } + leaf authorized { + type boolean; + description + "Session authorized"; + } + leaf user-role { + type string; + description + "Session user role"; + } + leaf device-type { + type string; + description + "Session device type"; + } + leaf protocol-map { + type uint32; + description + "Classifier protocol map"; + } + container dc-data { + description + "Device classification data"; + uses identity-ios-xe-oper:sm-device-classifier-data; + } + leaf control-direction { + type identity-ios-xe-oper:control-direction; + description + "Port control direction of session"; + } + leaf reauth-timeout { + type uint32; + units "seconds"; + description + "Reauthentication timeout in seconds"; + } + leaf reauth-timestamp { + type uint64; + description + "Reauthentication Timestamp"; + } + leaf paused-reauth { + type boolean; + description + "Paused Reauthentication"; + } + leaf reauth-ip-change { + type boolean; + description + "Reauthentication ip change"; + } + leaf reauth-act-terminate { + type boolean; + description + "Terminate on reauthentication"; + } + leaf reauth-using-current-method { + type uint8; + description + "Reauthentication using current method"; + } + leaf reauth-remain-time { + type uint32; + units "seconds"; + description + "Reauthentication remaining time in seconds"; + } + leaf term-cause { + type uint32; + description + "Session termination cause"; + } + leaf aaa-timeout-seen { + type boolean; + description + "AAA timeout seen"; + } + leaf authz-fail-count { + type uint32; + description + "Authorization fail count"; + } + leaf ssn-flags { + type uint32; + description + "Session Flags"; + } + leaf intf-name { + type string; + description + "Interface name of session"; + } + leaf policy-name { + type string; + description + "Policy on session interface"; + } + leaf blocked-on-state { + type identity-ios-xe-oper:session-blocked-on-state; + description + "Session blocked on state"; + } + leaf pre-event { + type identity-ios-xe-oper:pre-event; + description + "Policy Rule Engine event on which session is blocked"; + } + list pen-del-client-list { + description + "List of clients pending deletion"; + uses identity-ios-xe-oper:sm-clients-pen-del-node; + } + leaf acct-update-timeout { + type uint32; + units "seconds"; + description + "Session accounting update timeout in seconds"; + } + leaf acct-update-timestamp { + type uint64; + description + "Session accounting update timestamp"; + } + container aaa-server { + description + "AAA server details"; + uses identity-ios-xe-oper:sm-aaa-server-details; + } + container sensor { + description + "Session sensor data"; + uses identity-ios-xe-oper:sm-protocol-info; + } + leaf client-join-time { + type yang:date-and-time; + units "seconds"; + description + "Client join time in seconds"; + } + leaf device-name { + type string; + description + "Classified device platform name"; + } + leaf acct-mlist { + type string; + description + "Accounting method-list"; + } + leaf ext-acct-sess-id { + type string; + description + "Extended Accounting session identifier"; + } + } + + grouping sm-domain-key { + description + "Session Domain key"; + leaf domain { + type identity-ios-xe-oper:session-domain; + description + "Session domain"; + } + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + } + + grouping sm-acct-sess-info { + description + "Accounting session information"; + leaf id { + type uint32; + description + "Accounting session id"; + } + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + } + + grouping sm-intf-key { + description + "Interface level key for session"; + leaf intf-iifid { + type uint32; + description + "Interface iif index"; + } + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + } + + grouping sm-username-key { + description + "Username level key for session"; + leaf username { + type string; + description + "Client username"; + } + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + } + + grouping sm-method-key { + description + "Method level key for session"; + leaf method { + type uint32; + description + "Session method"; + } + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + } + + grouping dc-client-info { + description + "Device Classification info of client"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf device-type { + type string; + description + "Client Device Classification"; + } + leaf protocol-map { + type identity-ios-xe-oper:protocol-map; + description + "A Map of Protocols used for Device Classification"; + } + leaf confidence-level { + type uint32; + description + "Confidence Level of classification"; + } + leaf classified-time { + type yang:date-and-time; + description + "Time of Classification"; + } + leaf day-zero-dc { + type string; + description + "MAC based Device Classification"; + } + leaf sw-version { + when "(../sw-version-src != 'proto-none') and (../sw-version-src != 'proto-dot11-device-analytics')"; + type string; + description + "Software Version of the Client"; + } + leaf sw-version-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's software version info"; + } + leaf device-os { + when "(../device-os-src != 'proto-none')"; + type string; + description + "Device Operating System"; + } + leaf device-sub-version { + when "(../device-os-src != 'proto-none')"; + type string; + description + "Device Sub-Version"; + } + leaf device-os-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's operating system info"; + } + leaf device-name { + type string; + description + "Name of the Device"; + } + leaf device-vendor { + when "(../device-vendor-src != 'proto-none')"; + type string; + description + "Device Vendor"; + } + leaf device-vendor-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's vendor info"; + } + leaf sales-code { + when "(../sales-code-src != 'proto-none') and (../sales-code-src != 'proto-dot11-device-analytics')"; + type string; + description + "Sales Code for Devices"; + } + leaf sales-code-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's sales code info"; + } + leaf device { + when "(../device-src != 'proto-none') and (../device-src != 'proto-dot11-device-analytics')"; + type string; + description + "Form of the Device"; + } + leaf device-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's form info"; + } + leaf country-name { + when "(../country-name-src != 'proto-none') and (../country-name-src != 'proto-dot11-device-analytics')"; + type string; + description + "Country of the device"; + } + leaf country-name-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's country name info"; + } + leaf model-name { + when "(../model-name-src != 'proto-none')"; + type string; + description + "Model name of the device"; + } + leaf model-name-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device model name info"; + } + leaf power-type { + when "(../power-type-src != 'proto-none')"; + type identity-ios-xe-oper:dc-power-type-e; + description + "Power type of the device"; + } + leaf power-type-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device power type info"; + } + leaf hw-model { + when "(../hw-model-src != 'proto-none')"; + type string; + description + "Hardware model of the device"; + } + leaf hw-model-src { + type identity-ios-xe-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device hardware model info"; + } + } + + grouping sm-method-data-key { + description + "Method data key"; + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + leaf method-id { + type identity-ios-xe-oper:authentication-method-id; + description + "Session authenticating method identifier"; + } + } + + grouping sm-method-data { + description + "Session method data"; + leaf method-auth-state { + type identity-ios-xe-oper:authentication-state; + description + "Method authentication state"; + } + leaf method-auth-event { + type identity-ios-xe-oper:authentication-event; + description + "Method authentication event"; + } + leaf priority { + type uint8; + description + "Method priority, ranges from 1 to 254"; + } + leaf retries { + type uint8; + description + "Number of times to retry failed authentications"; + } + leaf retry-count { + type uint8; + description + "Method retry count"; + } + leaf retry-time { + type uint8; + units "seconds"; + description + "Time interval between retries in seconds"; + } + leaf result-ignored { + type uint8; + description + "Method result ignored"; + } + leaf agent-seen { + type uint8; + description + "Is 802.1x capable agent seen"; + } + leaf auth-attr-action { + type identity-ios-xe-oper:auth-attribute-action; + description + "Method authentication attribute action"; + } + leaf authc-mlist-len { + type uint8 { + range "0 .. 31"; + } + description + "Authentication method-list length"; + } + leaf authc-mlist { + type string; + description + "Authentication method-list"; + } + leaf authz-mlist { + type string; + description + "Authorization method-list"; + } + } + + grouping sm-dot1x-auth-data { + description + "802.1x authentication data"; + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + leaf dot1x-is-supported { + type uint8; + description + "Is 802.1x supported on the port"; + } + leaf auth-state { + type identity-ios-xe-oper:dot1x-auth-state; + description + "802.1x authenticator state"; + } + leaf auth-bend-state { + type identity-ios-xe-oper:dot1x-auth-backend-state; + description + "802.1x authentication back-end state"; + } + leaf eapol-ver { + type uint32; + description + "EAPoL Version"; + } + leaf intf-iifid { + type uint32; + description + "Interface Index for the session"; + } + leaf last-eap-id { + type uint8; + description + "EAP identifier of last eap packet"; + } + leaf eap-method { + type uint8; + description + "EAP method used"; + } + } + + grouping sm-mab-auth-data { + description + "MAB authentication data"; + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + leaf auth-state { + type identity-ios-xe-oper:mab-auth-state; + description + "MAB Authentication state"; + } + leaf auth-status { + type boolean; + description + "MAB authentication status"; + } + leaf intf-iifid { + type uint32; + description + "Interface index for the session"; + } + } + + grouping sm-web-auth-data { + description + "Web-authentication data"; + leaf mac { + type yang:mac-address; + description + "Session MAC address"; + } + leaf init-state-timeout { + type uint32; + description + "Web-authentication initialization state timeout"; + } + leaf retry-count { + type uint16; + description + "Web-authentication retry count"; + } + leaf no-data-count { + type uint16; + description + "Web-authentication count of no data sessions"; + } + leaf deny-of-service { + type uint8; + description + "Is service denied for the session"; + } + leaf state { + type identity-ios-xe-oper:webauth-state; + description + "Web-authentication state"; + } + leaf acl-flags { + type uint8; + description + "Web-authentication ACL flags"; + } + leaf appl-id { + type identity-ios-xe-oper:webauth-type; + description + "Web-authentication application identifier"; + } + leaf client-ipv4-addr { + type inet:ipv4-address; + description + "Client IPv4 address"; + } + leaf-list ipv6 { + type inet:ipv6-address; + max-elements 16; + ordered-by user; + description + "List of Client IPv6 addresses"; + } + leaf intf-iifid { + type uint32; + description + "Interface index for the session"; + } + leaf webauth-type { + type uint8; + description + "Web-authentication type"; + } + leaf is-cwa-session { + type boolean; + description + "Is Central Web-Authentication Session"; + } + leaf is-sleeping { + type boolean; + description + "Is Sleeping client"; + } + leaf is-service-denied { + type boolean; + description + "Is Service denied"; + } + } + + grouping sm-dot1x-supp-data { + description + "802.1x Supplicant Data"; + leaf intf-iifid { + type uint32; + description + "Interface index for the session"; + } + leaf dest-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf state { + type identity-ios-xe-oper:dot1x-supplicant-state; + description + "802.1x Supplicant state"; + } + leaf bend-state { + type identity-ios-xe-oper:dot1x-supplicant-backend-state; + description + "802.1x Supplicant back-end state"; + } + leaf port-state { + type identity-ios-xe-oper:dot1x-supplicant-port-state; + description + "802.1x Supplicant port state"; + } + } + + grouping sm-dot1x-auth-stats { + description + "802.1x Authenticator interface level statistics"; + leaf intf-iifid { + type uint32; + description + "Interface index"; + } + leaf eapol-frames-rx { + type uint32; + description + "Total EAPoL frames received"; + } + leaf eapol-frames-tx { + type uint32; + description + "Total EAPoL frames transmitted"; + } + leaf eapol-start-frames-rx { + type uint32; + description + "Total EAPoL Start frames received"; + } + leaf eapol-logoff-frames-rx { + type uint32; + description + "Total EAPoL Logoff frames received"; + } + leaf eapol-resp-id-frames-rx { + type uint32; + description + "Total EAPoL Response identifier frames received"; + } + leaf eapol-resp-frames-rx { + type uint32; + description + "Total EAPoL Response frames received"; + } + leaf eapol-req-id-frames-tx { + type uint32; + description + "Total EAPoL Request identifier frames transmitted"; + } + leaf eapol-req-frames-tx { + type uint32; + description + "Total EAPoL Request frames transmitted"; + } + leaf invalid-eapol-frames-rx { + type uint32; + description + "Total Invalid EAPoL frames received"; + } + leaf eap-length-error-frames-rx { + type uint32; + description + "Total EAPoL frames with EAP length error received"; + } + leaf last-eapol-frame-version { + type uint32; + description + "Last EAPoL frame version"; + } + leaf last-eapol-frame-source { + type yang:mac-address; + description + "Last EAPoL frame source MAC address"; + } + } + + grouping sm-dot1x-supp-stats { + description + "802.1x Supplicant interface level statistics"; + leaf intf-iifid { + type uint32; + description + "Interface index"; + } + leaf eapol-frames-rx { + type uint32; + description + "Total EAPoL frames received"; + } + leaf eapol-req-frames-rx { + type uint32; + description + "Total EAPoL Request frames received"; + } + leaf invalid-eapol-frames-rx { + type uint32; + description + "Total Invalid EAPoL frames received"; + } + leaf eapol-frames-len-error-rx { + type uint32; + description + "Total EAPoL frames with Length error received"; + } + leaf last-eapol-frame-version { + type uint32; + description + "Last EAPoL frame version"; + } + leaf last-eapol-frame-source { + type yang:mac-address; + description + "Last EAPoL frame source MAC address"; + } + leaf eapol-frames-tx { + type uint32; + description + "Total EAPoL frames transmitted"; + } + leaf eapol-start-frames-tx { + type uint32; + description + "Total EAPoL Start frames transmitted"; + } + leaf eapol-logoff-frames-tx { + type uint32; + description + "Total EAPoL Logoff frames transmitted"; + } + leaf eapol-resp-frames-tx { + type uint32; + description + "Total EAPoL Response frames transmitted"; + } + } + + grouping sm-dot1x-global-stats { + description + "802.1x Global statistics"; + leaf eapol-rx { + type uint32; + description + "Total EAPoL frames received"; + } + leaf eapol-rx-start { + type uint32; + description + "Total EAPoL Start frames received"; + } + leaf eapol-rx-logoff { + type uint32; + description + "Total EAPoL Logoff frames received"; + } + leaf eapol-rx-resp { + type uint32; + description + "Total EAPoL Response frames received"; + } + leaf eapol-rx-resp-id { + type uint32; + description + "Total EAPoL Response identifier frames received"; + } + leaf eapol-rx-req { + type uint32; + description + "Total EAPoL Request frames received"; + } + leaf eapol-rx-invalid { + type uint32; + description + "Total Invalid EAPoL frames received"; + } + leaf eapol-rx-len-error { + type uint32; + description + "Total EAPoL frames with Length error received"; + } + leaf eapol-tx { + type uint32; + description + "Total EAPoL frames transmitted"; + } + leaf eapol-tx-start { + type uint32; + description + "Total EAPoL Start frames transmitted"; + } + leaf eapol-tx-logoff { + type uint32; + description + "Total EAPoL Logoff frames transmitted"; + } + leaf eapol-tx-resp { + type uint32; + description + "Total EAPoL Response frames transmitted"; + } + leaf eapol-tx-req { + type uint32; + description + "Total EAPoL Request frames transmitted"; + } + leaf eapol-retx-req { + type uint32; + description + "Total EAPoL Request frames re-transmitted"; + } + leaf eapol-retx-req-fail { + type uint32; + description + "Total EAPoL Request frames re-transmitted failed"; + } + leaf eapol-tx-req-id { + type uint32; + description + "Total EAPoL Request identifier frames transmitted"; + } + leaf eapol-retx-req-id { + type uint32; + description + "Total EAPoL Request identifier frames re-transmitted"; + } + leaf eapol-retx-req-id-fail { + type uint32; + description + "Total EAPoL Request identifier frames re-transmitted fail"; + } + } + + grouping sm-webauth-http-stats { + description + "Web-authentication HTTP statistics"; + leaf http-request-count { + type uint32; + description + "HTTP request count"; + } + leaf read-event-count { + type uint32; + description + "Socket read event count"; + } + leaf read-complete-count { + type uint32; + description + "Socket read complete count"; + } + leaf write-event-count { + type uint32; + description + "Socket write event count"; + } + leaf write-complete-count { + type uint32; + description + "Socket write complete count"; + } + leaf aaa-message-count { + type uint32; + description + "AAA message count"; + } + leaf ssl-event-read-wouldblk-count { + type uint32; + description + "SSL socket event read block count"; + } + leaf ssl-event-write-wouldblk-count { + type uint32; + description + "SSL socket event write block count"; + } + leaf ssl-event-ok-count { + type uint32; + description + "SSL socket event OK count"; + } + leaf http-new-req-no-session-error { + type uint32; + description + "HTTP socket new request no session error"; + } + leaf http-new-req-ctx-exists-error { + type uint32; + description + "HTTP socket new request Context exist error"; + } + leaf num-of-socket-opened { + type uint32; + description + "Number of sockets opened"; + } + leaf num-of-socket-closed { + type uint32; + description + "Number of sockets closed"; + } + leaf-list http-counters { + type uint32; + max-elements 32; + ordered-by user; + description + "List of HTTP transaction counter"; + } + } + + grouping sm-webauth-duration-stats { + description + "Web-authentication duration statistics"; + leaf total { + type uint32; + units "seconds"; + description + "Total duration in seconds"; + } + leaf max { + type uint32; + units "seconds"; + description + "Maximum duration in seconds"; + } + leaf min { + type uint32; + units "seconds"; + description + "Minimum duration in seconds"; + } + leaf samples { + type uint32; + description + "Sample count"; + } + } + + grouping sm-webauth-backpressure-counters { + description + "Web authentication backpressure queue counters"; + leaf ssl-handshake-pending-count { + type uint32; + description + "Pending SSL handshake count"; + } + leaf https-new-request-pending-count { + type uint32; + description + "Pending HTTPS requests"; + } + leaf aaa-reply-pending-count { + type uint32; + description + "Pending AAA replies"; + } + } + + grouping sm-webauth-stats { + description + "Web-authentication statistics"; + container http-stats { + description + "HTTP statistics"; + uses identity-ios-xe-oper:sm-webauth-http-stats; + } + container iom-reading { + description + "IOM socket reading statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + container method-reading { + description + "Method reading statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + container iom-writing { + description + "IOM socket writing statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + container method-writing { + description + "Method writing statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + container iom-aaa { + description + "IOM AAA response statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + container method-aaa { + description + "Method AAA response statistics"; + uses identity-ios-xe-oper:sm-webauth-duration-stats; + } + leaf num-of-sleeping-clients { + type uint32; + description + "Number of sleeping clients"; + } + leaf session-count { + type uint32; + description + "Session count"; + } + leaf half-open-count { + type uint32; + description + "Half open socket count"; + } + container backpressure-counters { + description + "Web authentication backpressure counters"; + uses identity-ios-xe-oper:sm-webauth-backpressure-counters; + } + } + + grouping sm-webauth-ipv4-to-mac { + description + "IPv4 to MAC address mapping for a session"; + leaf ipv4-addr { + type inet:ipv4-address; + description + "IPv4 address of the session"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the session"; + } + } + + grouping cts-sgt-tag-st { + description + "Trustsec Secure Group Tag"; + leaf sgt-tag { + type uint32; + description + "Secure Group Tag"; + } + } + + grouping cts-sgt-flag-st { + description + "Trustsec Secure Group Tag flag"; + leaf sgt-flag { + type uint8; + description + "Secure Group Tag flag"; + } + } + + grouping cts-sgt-st { + description + "Trustsec Secure Group Tag values"; + container tag { + description + "Secure Group Tag value"; + uses identity-ios-xe-oper:cts-sgt-tag-st; + } + container flag { + description + "Secure Group Tag flag value"; + uses identity-ios-xe-oper:cts-sgt-flag-st; + } + leaf gen-num-len { + type uint8; + description + "Generated number length"; + } + leaf-list gen-num { + type uint8; + max-elements 60; + ordered-by user; + description + "Generated number"; + } + } + + grouping cts-ipv6-list { + description + "IPv6 address list"; + leaf ipv6 { + type inet:ipv6-address; + description + "IPv6 address"; + } + } + + grouping st-cts-epm-bindings { + description + "Trustsec bindings"; + leaf ip-addr { + type inet:ipv4-address; + description + "IPv4 address"; + } + container sgt-info { + description + "Secure Group Tag information"; + uses identity-ios-xe-oper:cts-sgt-st; + } + leaf mac { + type yang:mac-address; + description + "MAC address"; + } + leaf vlan-id { + type uint32; + description + "Vlan identifier"; + } + list ipv6-addr-list { + description + "IPv6 address list"; + uses identity-ios-xe-oper:cts-ipv6-list; + } + leaf ip-context { + type uint16; + description + "IP context"; + } + } + + grouping sm-webauth-ipv6-to-mac { + description + "IPv6 to MAC address mapping for a session"; + leaf ipv6-addr { + type inet:ipv6-address; + description + "IPv6 address of the session"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the session"; + } + } + + grouping sm-aaa-attr-meta { + description + "AAA attribute Meta-data"; + container service { + description + "AAA service type"; + uses aaa-types:aaa-service-type; + } + container protocol { + description + "AAA protocol type"; + uses aaa-types:aaa-protocol-type; + } + leaf tag { + type uint16; + description + "AAA attribute tag"; + } + leaf prefix-required { + type uint8; + description + "Is prefix required for AAA attribute"; + } + leaf mandatory { + type uint8; + description + "Is AAA attribute mandatory"; + } + } + + grouping sm-aaa-attr-node { + description + "AAA attribute Node"; + leaf aaa-attr-type { + type aaa-types:aaa-attribute-type-tdl; + description + "AAA attribute type"; + } + leaf aaa-attr-value { + type binary; + description + "AAA attribute value"; + } + container aaa-attr-meta { + description + "AAA attribute meta-data value"; + uses identity-ios-xe-oper:sm-aaa-attr-meta; + } + leaf sm-attr-fmt { + type identity-ios-xe-oper:attribute-format; + description + "AAA attribute format"; + } + } + + grouping sm-aaa-attr-list { + description + "AAA attribute list"; + list attr-list { + description + "Attribute list"; + uses identity-ios-xe-oper:sm-aaa-attr-node; + } + } + + grouping epm-svc-key { + description + "Service key"; + leaf svc-name { + type string { + length "0 .. 255"; + } + description + "Service template name"; + } + } + + grouping epm-local-attr { + description + "AAA attribute locally applied"; + container applied-attrs { + description + "Successfully applied Local AAA attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + container failed-attrs { + description + "Failed Local AAA attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + } + + grouping epm-svc-node { + description + "Session service node"; + container svc-key { + description + "Service template name key"; + uses identity-ios-xe-oper:epm-svc-key; + } + leaf svc-status { + type identity-ios-xe-oper:service-status; + description + "Service template status"; + } + leaf svc-source { + type identity-ios-xe-oper:service-source; + description + "Service template source"; + } + leaf svc-precedence { + type uint8; + description + "Service template precedence"; + } + leaf svc-flags { + type uint8; + description + "Service template flags"; + } + leaf is-param-map { + type boolean; + description + "Has service template been applied via Parameter-Map"; + } + leaf svc-mlist { + type string; + description + "Service template method list"; + } + container applied-attrs { + description + "Successfully applied Service template attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + container failed-attrs { + description + "Service template failed attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + leaf is-user-profile { + type boolean; + description + "Flag tells whether service template is defined on external server or defined locally on controller"; + } + } + + grouping epm-svc-block { + description + "Policy Service block"; + leaf mac { + type yang:mac-address; + description + "MAC address of the session"; + } + leaf prev-template-name { + type string; + description + "Template previously applied"; + } + leaf template-name { + type string; + description + "Currently applied Template"; + } + container local-db-attr { + description + "AAA attributes locally applied to session"; + uses identity-ios-xe-oper:epm-local-attr; + } + leaf tgt-scope { + type identity-ios-xe-oper:session-target-scope; + description + "Target scope"; + } + leaf up-source { + type identity-ios-xe-oper:service-source; + description + "User-profile source"; + } + leaf up-mlist { + type string; + description + "User-profile method list"; + } + leaf svcb-flags { + type uint32; + description + "Policy profile flags"; + } + leaf is-up-failed { + type boolean; + description + "Is User-profile application failed"; + } + leaf up-precedence { + type uint8; + description + "User-profile precedence"; + } + leaf sync-seq-no { + type uint8; + description + "Synchronization sequence Number"; + } + leaf is-vlan-group-present { + type boolean; + description + "Is Vlan Group associated with session"; + } + leaf res-vlan-id { + type uint32; + description + "Resultant Vlan Identifier"; + } + leaf anchor-vlan-id { + type uint32; + description + "Anchor Vlan Identifier"; + } + leaf anchor-vlan-override { + type boolean; + description + "Anchor Vlan over-ride"; + } + list epm-svc-list { + description + "Policy service-template list"; + uses identity-ios-xe-oper:epm-svc-node; + } + container up-applied-attrs { + description + "Successfully applied User-profile attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + container up-failed-attrs { + description + "User-profile attributes failed attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + container up-attrs { + description + "User-profile AAA attributes"; + uses identity-ios-xe-oper:sm-aaa-attr-list; + } + leaf res-vlan-name { + type string; + description + "Resultant Vlan Name"; + } + leaf epm-svc-flags { + type uint32; + description + "Policy Service specific flags"; + } + } + + grouping epm-fqdn-profile { + description + "FQDN MUD profile list as part of authorization policy"; + leaf fqdn-profile { + type string; + description + "FQDN MUD profile name"; + } + } + + grouping epm-domain-name-ipv4-list { + description + "List of IPv4 address for a domain name"; + leaf ipv4-addr { + type inet:ipv4-address; + description + "IPv4 address for a domain name"; + } + } + + grouping epm-domain-name-ipv6-list { + description + "List of IPv6 address for a domain name"; + leaf-list ipv6 { + type inet:ipv6-address; + max-elements 16; + ordered-by user; + description + "IPv6 address for a domain name"; + } + } + + grouping epm-domain-name-data { + description + "Domain name mapping for FQDN policy"; + leaf domain-name { + type string; + description + "Domain name for an FQDN session"; + } + list epm-fqdn-profile-list { + description + "List of FQDN profiles containing this domain name"; + uses identity-ios-xe-oper:epm-fqdn-profile; + } + list epm-domain-name-ipv4-list { + description + "List of IPv4 addresses hosting this domain name"; + uses identity-ios-xe-oper:epm-domain-name-ipv4-list; + } + list epm-domain-name-ipv6-list { + description + "List of IPv6 addresses hosting this domain name"; + uses identity-ios-xe-oper:epm-domain-name-ipv6-list; + } + leaf ref-count { + type uint8; + description + "Number of sessions have applied this domain name as authorization policy"; + } + } + + grouping epm-ipv4-domain-name-list { + description + "List of domain names hosted on an IPv4 address"; + leaf domain-name { + type string; + description + "FQDN domain name"; + } + } + + grouping epm-domain-name-ipv4 { + description + "IPv4 address mapping for FQDN domain names"; + leaf ipv4-addr { + type inet:ipv4-address; + description + "IPv4 address for a domain name from DNS response"; + } + leaf ttl { + type uint32; + description + "Time-to-live for IPv4 address, as part of DNS response"; + } + list ipv4-domain-name-list { + description + "List of domain names hosted on this IPv4 address"; + uses identity-ios-xe-oper:epm-ipv4-domain-name-list; + } + leaf ttl-timer-timestamp { + type yang:date-and-time; + description + "Timestamp when starting TTL timer"; + } + } + + grouping epm-ipv6-domain-name-list { + description + "List of domain names hosted on an IPv6 address"; + leaf domain-name { + type string; + description + "FQDN domain name"; + } + } + + grouping epm-domain-name-ipv6 { + description + "IPv6 address mapping for FQDN domain names"; + leaf ipv6-addr { + type inet:ipv6-address; + description + "IPv6 address for a domain name from DNS response"; + } + leaf ttl { + type uint32; + description + "Time-to-live for IPv6 address, as part of DNS response"; + } + list ipv6-domain-name-list { + description + "List of domain names hosted on this IPv6 address"; + uses identity-ios-xe-oper:epm-ipv6-domain-name-list; + } + leaf ttl-timer-timestamp { + type yang:date-and-time; + description + "timestamp when starting TTL timer"; + } + } + + container identity-oper-data { + config false; + description + "identity operational data"; + list session-context-data { + key "mac"; + description + "List of session manager contexts"; + uses identity-ios-xe-oper:sm-context; + } + list session-domain-data { + key "domain mac"; + description + "List of sessions based on Domains"; + uses identity-ios-xe-oper:sm-domain-key; + } + list session-accounting-data { + key "id"; + description + "List of accounting information of the sessions"; + uses identity-ios-xe-oper:sm-acct-sess-info; + } + list session-interface-data { + key "intf-iifid mac"; + description + "List of sessions based on Interfaces"; + uses identity-ios-xe-oper:sm-intf-key; + } + list session-username-data { + key "username mac"; + description + "List of sessions based on Username"; + uses identity-ios-xe-oper:sm-username-key; + } + list session-method-data { + key "method mac"; + description + "List of sessions based on Method"; + uses identity-ios-xe-oper:sm-method-key; + } + list common-method-data { + key "mac method-id"; + description + "Common method data for a session"; + uses identity-ios-xe-oper:sm-method-data; + uses identity-ios-xe-oper:sm-method-data-key; + } + list dot1x-auth-data { + key "mac"; + description + "802.1x authentication data for a session"; + uses identity-ios-xe-oper:sm-dot1x-auth-data; + } + list mab-auth-data { + key "mac"; + description + "MAB authentication data for a session"; + uses identity-ios-xe-oper:sm-mab-auth-data; + } + list web-auth-data { + key "mac"; + description + "Web authentication data for a session"; + uses identity-ios-xe-oper:sm-web-auth-data; + } + list dot1x-supplicant-data { + key "intf-iifid"; + description + "802.1x supplicant data for an interface"; + uses identity-ios-xe-oper:sm-dot1x-supp-data; + } + list dot1x-authenticator-stats { + key "intf-iifid"; + description + "802.1x authenticator statistics for an interface"; + uses identity-ios-xe-oper:sm-dot1x-auth-stats; + } + list dot1x-supplicant-stats { + key "intf-iifid"; + description + "802.1x supplicant statistics for an interface"; + uses identity-ios-xe-oper:sm-dot1x-supp-stats; + } + container dot1x-global-stats { + presence "dot1x-global-stats"; + description + "802.1x global statistics"; + uses identity-ios-xe-oper:sm-dot1x-global-stats; + } + container webauth-stats { + presence "webauth-stats"; + description + "Web-authentication statistics"; + uses identity-ios-xe-oper:sm-webauth-stats; + } + list webauth-ipv4-to-mac { + key "ipv4-addr"; + description + "IPv4 to MAC address mapping for a session"; + uses identity-ios-xe-oper:sm-webauth-ipv4-to-mac; + } + list webauth-ipv6-to-mac { + key "ipv6-addr"; + description + "IPv6 to MAC address mapping for a session"; + uses identity-ios-xe-oper:sm-webauth-ipv6-to-mac; + } + list epm-domain-name { + key "domain-name"; + description + "FQDN domain names applied on sessions"; + uses identity-ios-xe-oper:epm-domain-name-data; + } + list epm-domain-name-ipv4 { + key "ipv4-addr"; + description + "DNS IPv4 address to TTL mapping for domain names"; + uses identity-ios-xe-oper:epm-domain-name-ipv4; + } + list epm-domain-name-ipv6 { + key "ipv6-addr"; + description + "DNS IPv6 address to TTL mapping for domain names"; + uses identity-ios-xe-oper:epm-domain-name-ipv6; + } + list cts-epm-bindings { + key "mac"; + description + "Trustsec Policy Bindings"; + uses identity-ios-xe-oper:st-cts-epm-bindings; + } + list epm-service-block { + key "mac"; + description + "Policy Service Block"; + uses identity-ios-xe-oper:epm-svc-block; + } + list dc-info { + key "client-mac"; + description + "Device Classifier Client Operational Data"; + uses identity-ios-xe-oper:dc-client-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-igmp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-igmp.yang new file mode 100644 index 000000000..b198f5c39 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-igmp.yang @@ -0,0 +1,1176 @@ +module Cisco-IOS-XE-igmp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-igmp"; + prefix ios-igmp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Internet Group Management Protocol (IGMP) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Obsolete querier nodes + - Added default value for ip igmp snooping"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2022-07-01 { + description + " - Added IGMP snooping-entry container for wrapping the existing snooping container + - Deprecated igmp snooping container and all leaves in it + - Added if-features around the ip igmp filter/max-groups to selective enable/disable"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-03-01 { + description + " - Added IGMP snooping querier version 3 + - Obsolete following leaves: explicit-tracking, proxy-service, unidirectional-link, v3lite, limit"; + cisco-semver:module-version "3.0.0"; + } + revision 2021-07-01 { + description + "- Added leaf robustness-variable under interface + - Added a new querier leaf under querier-conf container in igmp snooping to disable/enable querier + - Deprecate igmp snooping querier container and added a new querier-entry to remove presence "; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "- Added dependency for VRF"; + cisco-semver:module-version "2.0.2"; + } + revision 2019-11-01 { + description + "- IGMP YANG hardening"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added default values for some igmp leaves + - Added ip igmp augmentation for missing interfaces + - Modified key for igmp join-group. Added except leaf for igmp limit"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-10-03 { + description + "This revision has changes in igmp static-group"; + } + revision 2018-09-25 { + description + "Updated class-map from list to leaf"; + } + revision 2018-07-16 { + description + "Added config-interface-ip-igmp-grouping to interface Vif"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-14 { + description + "This revison has changes for new 2gig interface addition"; + } + revision 2017-08-28 { + description + "Extend modeling for multicast"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-ip-igmp-ssm-map-subset { + leaf enable { + description + "Enable SSM group to source mapping"; + type empty; + } + container query { + description + "Which database should we query for the source"; + leaf dns { + description + "Use DNS for source lookup"; + type boolean; + default "true"; + } + } + } + + grouping config-ip-igmp-subset { + container immediate-leave { + description + "Leave groups immediately without sending last member query, + use for one host network only"; + leaf group-list { + description + "IP Access list to specify groups"; + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string; + } + } + } + leaf limit { + description + "IGMP Max Allowed State"; + type uint16 { + range "1..64000"; + } + } + container query { + description + "Global config for IGMP query"; + leaf disperse { + description + "When many interfaces come up simultaneously, a flurry of IGMP + messages may temporarily overwhelm a device. Use this command to + avoid the situation by dispersing the initial IGMP queries"; + type boolean; + } + } + } + + grouping config-ip-igmp-grouping { + container igmp { + description + "IGMP global configuration"; + container snooping-conf { + leaf snooping { + type boolean; + default "true"; + } + } + container snooping-entry { + container snooping { + description + "Global IGMP Snooping enable for Catalyst Vlans"; + container check { + description + "enforce TTL or Rtr-Alert Option checking"; + leaf rtr-alert-option { + description + "Only accept IGMP packets with router-alert option"; + type empty; + } + leaf ttl { + description + "Only accept IGMP packets with TTL=1"; + type empty; + } + } + container explicit-tracking { + description + "Explicit tracking DB configuration"; + leaf limit { + description + "Explicit tracking DB limit"; + type uint32 { + range "0..128000"; + } + } + } + leaf l2-entry-limit { + description + "limit on the l2 entry that can be installed by IGMP snooping"; + type uint32 { + range "1..100000"; + } + } + leaf last-member-query-count { + description + "Last member query count"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + description + "Interval (milliseconds)"; + type uint16 { + range "100..32767"; + } + } + container querier-conf { + leaf querier { + description + "IGMP querier disable/enable"; + type empty; + } + } + container querier-entry { + description + "IGMP querier configuration"; + leaf address { + description + "IGMP querier source IP address"; + type inet:ipv4-address; + } + leaf max-response-time { + description + "IGMP querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + description + "IGMP querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + container tcn { + description + "IGMP querier TCN related parameters"; + container query { + leaf count { + description + "IGMP querier TCN query count"; + type uint8 { + range "1..10"; + } + } + leaf interval { + description + "IGMP querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + description + "IGMP other querier timer"; + leaf expiry { + description + "IGMP querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + description + "IGMP version"; + type uint8 { + range "1..3"; + } + } + } + leaf report-suppression { + description + "Report suppression"; + type empty; + } + leaf robustness-variable { + description + "Robustness Variable number"; + type uint8 { + range "1..3"; + } + } + container tcn { + description + "Topology change notification configuration"; + container flood { + description + "TCN flooding configuration"; + container query { + description + "TCN flooding query configuration"; + leaf count { + description + "Count"; + type uint8 { + range "1..10"; + } + } + } + } + container query { + description + "TCN query configuration"; + leaf solicit { + description + "Solicit an IGMP general query"; + type empty; + } + } + } + } + } + container snooping { + status deprecated; + description + "Global IGMP Snooping enable for Catalyst Vlans + (DEPRECATED, use snooping-entry)"; + container check { + status deprecated; + description + "enforce TTL or Rtr-Alert Option checking"; + leaf rtr-alert-option { + status deprecated; + description + "Only accept IGMP packets with router-alert option"; + type empty; + } + leaf ttl { + status deprecated; + description + "Only accept IGMP packets with TTL=1"; + type empty; + } + } + container explicit-tracking { + status deprecated; + description + "Explicit tracking DB configuration"; + leaf limit { + status deprecated; + description + "Explicit tracking DB limit"; + type uint32 { + range "0..128000"; + } + } + } + leaf l2-entry-limit { + status deprecated; + description + "limit on the l2 entry that can be installed by IGMP snooping"; + type uint32 { + range "1..100000"; + } + } + leaf last-member-query-count { + status deprecated; + description + "Last member query count"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + status deprecated; + description + "Interval (milliseconds)"; + type uint16 { + range "100..32767"; + } + } + container querier-conf { + status deprecated; + leaf querier { + status deprecated; + description + "IGMP querier disable/enable"; + type empty; + } + } + container querier-entry { + status deprecated; + description + "IGMP querier configuration"; + leaf address { + status deprecated; + description + "IGMP querier source IP address"; + type inet:ipv4-address; + } + leaf max-response-time { + status deprecated; + description + "IGMP querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + status deprecated; + description + "IGMP querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + container tcn { + status deprecated; + description + "IGMP querier TCN related parameters"; + container query { + status deprecated; + leaf count { + status deprecated; + description + "IGMP querier TCN query count"; + type uint8 { + range "1..10"; + } + } + leaf interval { + status deprecated; + description + "IGMP querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + status deprecated; + description + "IGMP other querier timer"; + leaf expiry { + status deprecated; + description + "IGMP querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + status deprecated; + description + "IGMP version"; + type uint8 { + range "1..3"; + } + } + } + container querier { + status obsolete; + description + "IGMP querier configuration (OBSOLETE, use querier-entry)"; + presence "true"; + leaf address { + status obsolete; + description + "IGMP querier source IP address, OBSOLETE"; + type inet:ipv4-address; + } + leaf max-response-time { + status obsolete; + description + "IGMP querier maximum response time (sec), OBSOLETE"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + status obsolete; + description + "IGMP querier query interval (sec), OBSOLETE"; + type uint16 { + range "1..18000"; + } + } + container tcn { + status obsolete; + description + "IGMP querier TCN related parameters, OBSOLETE"; + container query { + status obsolete; + leaf count { + status obsolete; + description + "IGMP querier TCN query count, OBSOLETE"; + type uint8 { + range "1..10"; + } + } + leaf interval { + status obsolete; + description + "IGMP querier TCN query interval (sec), OBSOLETE"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + status obsolete; + description + "IGMP other querier timer, OBSOLETE"; + leaf expiry { + status obsolete; + description + "IGMP querier other querier time out (sec), OBSOLETE"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + status obsolete; + description + "IGMP version, OBSOLETE"; + type uint8 { + range "1..3"; + } + } + } + leaf report-suppression { + status deprecated; + description + "Report suppression"; + type empty; + } + leaf robustness-variable { + status deprecated; + description + "Robustness Variable number"; + type uint8 { + range "1..3"; + } + } + container tcn { + status deprecated; + description + "Topology change notification configuration"; + container flood { + status deprecated; + description + "TCN flooding configuration"; + container query { + status deprecated; + description + "TCN flooding query configuration"; + leaf count { + status deprecated; + description + "Count"; + type uint8 { + range "1..10"; + } + } + } + } + container query { + status deprecated; + description + "TCN query configuration"; + leaf solicit { + status deprecated; + description + "Solicit an IGMP general query"; + type empty; + } + } + } + } + uses config-ip-igmp-subset; + container ssm-map { + description + "SSM mapping commands"; + uses config-ip-igmp-ssm-map-subset; + list static-list { + description + "SSM static group to source mapping"; + key "source-ip"; + leaf source-ip { + description + "SSM source address"; + type inet:ipv4-address; + } + leaf acl { + description + "SSM group named access list"; + type string; + } + } + container static { + description + "SSM static group to source mapping + (OBSOLETE: Use list 'static-v1' under container 'ssm-map'"; + status obsolete; + leaf acl { + status obsolete; + type union { + type uint16 { + range "1..99"; + } + type string; + } + } + leaf source-ip { + status obsolete; + type inet:ipv4-address; + } + } + } + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + uses config-ip-igmp-subset; + container ssm-map { + description + "SSM mapping commands"; + uses config-ip-igmp-ssm-map-subset; + list static { + description + "SSM static group to source mapping"; + key "srcaddress"; + leaf srcaddress { + description + "SSM source address"; + type inet:ipv4-address; + } + leaf aclname { + description + "SSM group named access list"; + mandatory true; + type string; + } + } + } + } + leaf filter { + description + "IGMP Filter Enable"; + type boolean; + } + list profile { + description + "IGMP Filter Profile"; + key "id"; + leaf id { + type uint64 { + range "1..4294967295"; + } + } + uses config-igmp-profile-grouping; + } + } + } + + grouping config-interface-ip-igmp-grouping { + container igmp { + description + "IGMP interface commands"; + container static-group { + description + "IGMP static multicast group"; + list with-source-groups { + key "name source"; + leaf name { + type union { + type inet:ipv4-address; + type enumeration { + enum *; + } + } + } + leaf source { + type union { + type inet:ipv4-address; + type enumeration { + enum ssm-map; + } + } + } + } + list without-source-groups { + key "name"; + leaf name { + type union { + type inet:ipv4-address; + type enumeration { + enum *; + } + } + } + } + leaf class-map { + description + "IGMP Class map of type multicast-flows"; + type string; + } + } + list igmpv3-join-group { + description + "IGMP join multicast group"; + key "ip-group-address source"; + leaf ip-group-address { + description + "IP group address"; + type inet:ipv4-address; + } + leaf source { + description + "IP source address"; + type inet:ipv4-address; + } + } + list join-group { + description + "IGMP join multicast group + (OBSOLETE: Use lists igmp-join-group or igmpv3-join-group instead)"; + status obsolete; + key "ip-group-address"; + leaf ip-group-address { + description + "IP group address"; + status obsolete; + type inet:ipv4-address; + } + leaf source { + description + "IP source address"; + status obsolete; + type inet:ipv4-address; + } + } + list igmp-join-group { + description + "IGMP join multicast group"; + key "join-group"; + leaf join-group { + description + "IP group address"; + type inet:ipv4-address; + } + } + leaf version { + description + "IGMP version"; + default "2"; + type uint8 { + range "1..3"; + } + } + leaf access-group { + description + "IGMP group access group"; + type ios-types:exp-acl-type; + } + leaf explicit-tracking-leaf { + description + "IGMP explicit-tracking"; + type empty; + } + leaf explicit-tracking { + status obsolete; + description + "IGMP explicit-tracking"; + type boolean; + } + container helper-address { + description + "IGMP helper address"; + leaf name { + type inet:ipv4-address; + } + container udl { + description + "Unidirectional link to forward the report"; + uses ios-ifc:interface-grouping; + } + } + container immediate-leave { + description + "Leave groups immediately without sending last member query, + use for one host network only"; + leaf group-list { + description + "IP Access list"; + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string; + } + } + } + leaf last-member-query-count { + description + "IGMP last member query count"; + default "2"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + description + "IGMP last member query interval"; + default "1000"; + type uint16 { + range "100..25500"; + } + } + container limit-container { + leaf limit { + description + "IGMP Max Allowed State on this interface"; + type uint16 { + range "1..64000"; + } + } + leaf except { + description + "Groups not to be counted"; + must '../ios-igmp:limit' { + error-message "IGMP limit should be specified"; + } + type union { + type uint16 { + range "1..199"; + } + type string; + } + } + } + leaf limit { + description + "IGMP Max Allowed State on this interface + (DEPRECATED: Use leaf 'limit' under container 'limit-container')"; + status obsolete; + type uint16 { + range "1..64000"; + } + } + container mroute-proxy { + description + "Mroute to IGMP proxy"; + uses ios-ifc:interface-grouping; + } + leaf proxy-service-leaf { + description + "Enable IGMP mroute proxy service"; + type empty; + } + leaf proxy-service { + status obsolete; + description + "Enable IGMP mroute proxy service"; + type boolean; + } + leaf querier-timeout { + description + "IGMP previous querier timeout"; + type uint16 { + range "60..300"; + } + } + leaf query-interval { + description + "IGMP host query interval"; + default "60"; + type uint16 { + range "1..18000"; + } + } + leaf query-max-response-time { + description + "IGMP max query response value"; + default "10"; + type uint16 { + range "1..25"; + } + } + container tcn { + description + "IGMP TCN configuration"; + container query { + description + "IGMP tcn query configuration"; + leaf count { + description + "IGMP general query count"; + default "2"; + type uint16 { + range "1..10"; + } + } + leaf interval { + description + "IGMP general query interval"; + default "10"; + type uint16 { + range "1..255"; + } + } + } + } + leaf unidirectional-link-leaf { + description + "IGMP unidirectional link multicast routing"; + type empty; + } + leaf unidirectional-link { + status obsolete; + description + "IGMP unidirectional link multicast routing"; + type boolean; + } + leaf v3-query-max-response-time { + description + "IGMP v3 max query response value"; + default "10"; + type uint16 { + range "1..3175"; + } + } + leaf v3lite-leaf { + description + "IGMPv3 Lite"; + type empty; + } + leaf v3lite { + status obsolete; + description + "IGMPv3 Lite"; + type boolean; + } + leaf filter { + description + "IGMP Filter Enable"; + if-feature "ios-features:switching-guard"; + type uint64 { + range "1..4294967295"; + } + } + container max-groups { + description + "Maximum number of IGMP groups that can be joined"; + if-feature "ios-features:switching-guard"; + leaf count { + type uint64 { + range "1..4294967295"; + } + } + container action { + description + "Action taken on exceeding the limit"; + leaf deny { + description + "Do not allow any more groups"; + type boolean; + } + leaf replace { + description + "Replace existing group with new"; + type boolean; + } + } + } + container snooping { + description + "IGMP snooping configuration"; + container tcn { + description + "STP Topology Change Notification behavior"; + leaf flood { + description + "Flood when a TCN is seen"; + type boolean; + } + } + } + leaf upstream-proxy { + description + "IGMP proxy upstream interface config"; + type string; + } + leaf iif-starg { + description + "IGMP proxy IIF update"; + type empty; + } + leaf proxy-report-interval { + description + "IGMP proxy report interval"; + type uint16 { + range "1..18000"; + } + default "60"; + } + leaf robustness-variable { + description + "IGMP Robustness Variable"; + type uint8 { + range "1..7"; + } + default "2"; + } + } + } + + grouping config-igmp-profile-grouping { + leaf action { + description + "Action for matching addresses"; + type enumeration { + enum deny; + enum permit; + } + } + list range { + description + "Range of multicast addressed"; + key "low_ip"; + leaf low_ip { + description + "Low IP multicast address"; + type inet:ipv4-address; + } + leaf high_ip { + description + "High IP multicast address"; + type inet:ipv4-address; + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-igmp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-igmp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ignition-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ignition-oper.yang new file mode 100644 index 000000000..94fe84e4c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ignition-oper.yang @@ -0,0 +1,265 @@ +module Cisco-IOS-XE-ignition-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ignition-oper"; + prefix ignition-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Ignition Power Management operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ignition-mgmt-state { + type enumeration { + enum ignition-pwr-enabled { + value 0; + description + "Ignition Power enabled"; + } + enum ignition-pwr-disabled { + value 1; + description + "Ignition Power disabled"; + } + } + description + "Status of Ignition Power Management"; + } + + typedef ignition-power-state { + type enumeration { + enum ignition-pwr-boot-loader { + value 0; + description + "Ignition at boot loader stage"; + } + enum ignition-pwr-on { + value 1; + description + "Ignition at Power ON state"; + } + enum ignition-pwr-shut-low-volt { + value 2; + description + "Ignition shutdown due to low voltage"; + } + enum ignition-pwr-shut-off { + value 3; + description + "Ignition shutdown due to OFF state"; + } + enum ignition-pwr-shut-high-volt { + value 4; + description + "Ignition shutdown due to high voltage"; + } + enum ignition-powering-up { + value 5; + description + "Ignition Powering up"; + } + enum ignition-pwr-monitor { + value 6; + description + "Ignition at monitor state"; + } + enum ignition-pwr-sleep { + value 7; + description + "Ignition at sleep state"; + } + enum ignition-pwr-unknown { + value 8; + description + "Ignition at unknown state"; + } + } + description + "Ignition power status"; + } + + typedef ignition-sense { + type enumeration { + enum ignition-sense-enabled { + value 0; + description + "Voltage sense enabled"; + } + enum ignition-sense-disabled { + value 1; + description + "Voltage sense disabled"; + } + } + description + "Enable/Disable voltage sense"; + } + + typedef ignition-battery-type { + type enumeration { + enum ignition-battery-12v { + value 0; + description + "12 Volts battery system"; + } + enum ignition-battery-24v { + value 1; + description + "24 Volts battery system"; + } + } + description + "Ignition battery type"; + } + + grouping ignition-status { + description + "Ignition Status"; + leaf ignition-mgmt { + type ignition-ios-xe-oper:ignition-mgmt-state; + description + "Ignition Management status"; + } + leaf input-volt { + type decimal64 { + fraction-digits 3; + } + units "volts"; + description + "Ignition Input Voltage"; + } + leaf pwr-state { + type ignition-ios-xe-oper:ignition-power-state; + description + "Ignition power status"; + } + leaf sense { + when "../ignition-mgmt = 'ignition-pwr-enabled'"; + type ignition-ios-xe-oper:ignition-sense; + description + "Ignition voltage sense state"; + } + leaf shutdown-time { + when "(../ignition-mgmt = 'ignition-pwr-enabled') and + (../pwr-state = 'ignition-pwr-shut-off')"; + type yang:date-and-time; + description + "Time when ignition power will be shutdown"; + } + leaf undervoltage { + type decimal64 { + fraction-digits 3; + } + units "volts"; + description + "Under voltage threshold"; + } + leaf overvoltage { + type decimal64 { + fraction-digits 3; + } + units "volts"; + description + "Over voltage threshold"; + } + leaf undervoltage-time-delay { + when "(../undervoltage < 9.600) and + (../pwr-state = 'ignition-pwr-shut-low-volt')"; + type uint8; + units "seconds"; + description + "Amount of time device remains powered on before + shutdown due to ignition under voltage"; + } + leaf overvoltage-time-delay { + when "(../overvoltage > 37) and + (../pwr-state = 'ignition-pwr-shut-high-volt')"; + type uint8; + units "seconds"; + description + "Amount of time device remains powered on before + shutdown due to ignition over voltage"; + } + leaf ignition-off-time-delay { + when "../ignition-mgmt = 'ignition-pwr-enabled'"; + type uint16; + units "seconds"; + description + "Amount of time device remains powered on after + ignition off"; + } + leaf battery-type { + type ignition-ios-xe-oper:ignition-battery-type; + description + "Ignition battery type"; + } + leaf sense-on-threshold { + when "(../ignition-mgmt = 'ignition-pwr-enabled') and + (../sense = 'ignition-sense-enabled')"; + type decimal64 { + fraction-digits 3; + } + units "volts"; + description + "When input voltage is greater than this ignition + sense threshold, it powers on the device"; + } + leaf sense-off-threshold { + when "(../ignition-mgmt = 'ignition-pwr-enabled') and + (../sense = 'ignition-sense-enabled')"; + type decimal64 { + fraction-digits 3; + } + units "volts"; + description + "When input voltage is lower than this ignition + sense threshold, it powers off the device"; + } + } + + container ignition-oper-data { + config false; + description + "Operational state of Ignition Power"; + container ignition-status { + presence "ignition-status"; + description + "Ignition Power Management"; + uses ignition-ios-xe-oper:ignition-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-im-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-im-events-oper.yang new file mode 100644 index 000000000..b544a1c52 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-im-events-oper.yang @@ -0,0 +1,217 @@ +module Cisco-IOS-XE-im-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-im-events-oper"; + prefix im-events-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ioxman eventq data. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container im-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-03-19 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef im-event-type { + type enumeration { + enum im-iox-enable { + value 0; + description + "IOX enable"; + } + enum im-app-install { + value 1; + description + "IOxMan application install"; + } + enum im-app-uninstall { + value 2; + description + "IOxMan application uninstall"; + } + enum im-app-start { + value 3; + description + "IOxMan application start event"; + } + enum im-app-no-start { + value 4; + description + "IOxMan application stop event"; + } + enum im-unsolicited-event { + value 5; + description + "IOxMan unsolicited event"; + } + } + description + "IOxMan event type"; + } + + typedef im-notification-severity { + type enumeration { + enum critical { + value 0; + } + enum major { + value 1; + } + enum minor { + value 2; + } + } + description + "Notification severity"; + } + + typedef im-status-type { + type enumeration { + enum im-status-pass { + value 0; + description + "IOxMan status pass"; + } + enum im-status-fail { + value 1; + description + "IOxMan status fail"; + } + } + description + "IOxMan status type"; + } + + typedef im-app-state { + type enumeration { + enum im-state-deployed { + value 0; + description + "Deployed state"; + } + enum im-state-activated { + value 1; + description + "Activated state"; + } + enum im-state-running { + value 2; + description + "Running state"; + } + enum im-state-stopped { + value 3; + description + "Stopped state"; + } + enum im-state-uninstalled { + value 4; + description + "Uninstalled state"; + } + } + description + "IOxMan Application state"; + } + + grouping im-event { + description + "IOxMan eventq element example"; + leaf severity-level { + type im-events-ios-xe-oper:im-notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf app-id { + type string; + description + "App ID"; + } + leaf ev-type { + type im-events-ios-xe-oper:im-event-type; + description + "Event type"; + } + leaf status { + type im-events-ios-xe-oper:im-status-type; + description + "Status for the event"; + } + leaf message { + type string; + description + "Message describing the event"; + } + leaf app-state { + type im-events-ios-xe-oper:im-app-state; + description + "App State"; + } + } + + notification im-event { + description + "IOxMan eventq"; + uses im-events-ios-xe-oper:im-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-install-event-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-event-types.yang new file mode 100644 index 000000000..f00d901e5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-event-types.yang @@ -0,0 +1,1362 @@ +module Cisco-IOS-XE-install-event-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-install-event-types"; + prefix install-event-types-ios-xe; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for install status notification for image install events. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added install sub status for controller mode disabled image not supported + - Added install sub status for install not supported"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-07-01 { + description + "- Added install sub state install reload initiated + - Added install sub state install reload pending + - Added install sub status for install abort failure due to ISSU in progress"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-03-01 { + description + "- Added install sub status minimum supported version check"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added install sub status for deactivate SMU, install RPC, unsupported platforms, install downgrade and unsupported rollback + - Added install sub-state enum for invalid install image, missing upgrade confirm timer and rejecting add for uncommitted sub-package + - Added install sub-state enum for same filename used"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added install sub-state enum for image downgrade and boot parameter update + - Added support for set default install operation"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef installation-status { + type enumeration { + enum download-start { + value 0; + description + "Download Start"; + } + enum download-complete { + value 1; + description + "Download Complete"; + } + enum verification-complete { + value 2; + description + "Verification Complete"; + } + enum upgrade-apply-complete { + value 3; + description + "Upgrade Apply Complete"; + } + enum sync-partition-start { + value 4; + description + "Sync Partition Start"; + } + enum sync-partition-complete { + value 5; + description + "Sync Partition Start"; + } + enum install-complete { + value 6; + description + "Install Complete"; + } + enum install-fail { + value 7; + description + "Install Fail"; + } + enum reboot { + value 8; + description + "Reboot"; + } + enum install-start { + value 9; + description + "Install Start"; + } + enum uninstall-complete { + value 10; + description + "Uninstall Complete"; + } + enum uninstall-fail { + value 11; + description + "Uninstall Fail"; + } + enum reset-complete { + value 12; + description + "Reset Complete"; + } + enum reset-fail { + value 13; + description + "Reset Fail"; + } + enum config-commit-confirm-complete { + value 14; + description + "Confirmation for configuration commit complete"; + } + enum config-commit-confirm-fail { + value 15; + description + "Confirmation for configuration commit fail"; + } + enum rollback-complete { + value 16; + description + "Rollback Complete"; + } + enum rollback-fail { + value 17; + description + "Rollback Fail"; + } + enum download-fail { + value 18; + description + "Download Fail"; + } + enum download-success { + value 19; + description + "Download Success"; + } + enum set-default-fail { + value 20; + description + "Set Default Fail"; + } + enum set-default-success { + value 21; + description + "Set Default Success"; + } + } + description + "Installation Status"; + } + + typedef install-sub-state { + type enumeration { + enum none { + value 0; + description + "None or not applicable"; + } + enum install-adding-pkg { + value 1; + description + "Install add package in progress"; + } + enum install-expanding-pkg { + value 2; + description + "Install expand package in progress"; + } + enum install-expand-pkg-done { + value 3; + description + "Install completes successful expand package"; + } + enum install-activating-pkg { + value 4; + description + "Activating package in progress"; + } + enum install-activate-dev-boot { + value 5; + description + "Activate or deactivate complete and starting device boot"; + } + enum install-error-msg { + value 6; + description + "Action failed error"; + } + enum install-oper-invoked { + value 7; + description + "Operation is invoked in install infra for the action"; + } + enum install-inprogress { + value 8; + description + "Operation is in progress"; + } + enum install-ewc-predwnld-none { + value 9; + description + "Predownload for Embedded Wireless Controller not started"; + } + enum install-ewc-ctrl-img-dwnld-initiated { + value 10; + description + "Embedded Wireless Controller - Controller image download initiated"; + } + enum install-ewc-ctrl-img-dwnld-in-progress { + value 11; + description + "Embedded Wireless Controller - Controller image download in progress"; + } + enum install-ewc-ctrl-img-dwnld-completed { + value 12; + description + "Embedded Wireless Controller - Controller image download completed"; + } + enum install-ewc-ctrl-img-dwnld-failed { + value 13; + description + "Embedded Wireless Controller - Controller image download failed"; + } + enum install-ewc-ap-img-predwnld-initiated { + value 14; + description + "Embedded Wireless Controller - AP image predownload initiated"; + } + enum install-ewc-ap-img-predwnld-in-progress { + value 15; + description + "Embedded Wireless Controller - AP image predownload in progress"; + } + enum install-ewc-ap-img-predwnld-completed { + value 16; + description + "Embedded Wireless Controller - AP image predownload completed"; + } + enum install-ewc-ap-img-predwnld-not-supported { + value 17; + description + "Embedded Wireless Controller - AP image predownload not supported"; + } + enum install-ewc-ap-img-predwnld-failed { + value 18; + description + "Embedded Wireless Controller - AP image predownload failed"; + } + enum install-ewc-ctrl-img-predwnld-in-progress { + value 19; + description + "Embedded Wireless Controller - Controller image predownload in progress"; + } + enum install-ewc-ctrl-img-predwnld-completed { + value 20; + description + "Embedded Wireless Controller - Controller image predownload completed"; + } + enum install-ewc-ctrl-img-predwnld-failed { + value 21; + description + "Embedded Wireless Controller - Controller image predownload failed"; + } + enum install-ewc-activated { + value 22; + description + "Embedded Wireless Controller - install activate successful"; + } + enum install-ewc-activate-failed { + value 23; + description + "Embedded Wireless Controller - install activate failed"; + } + enum install-status-bundle-boot-error { + value 24; + description + "Install is not allowed in bundle boot use one shot install"; + } + enum install-status-invalid-image-file { + value 25; + description + "RPC action failed because either image file specified is not present or invalid"; + } + enum install-earlier-added-image-present { + value 26; + description + "Install action detected image already installed on device with same version waiting for + activation. Either remove this earlier installed image to install new image or use + activate RPC action to proceed image activation"; + } + enum install-activate-trigg-without-add { + value 27; + description + "Activate image is triggered before image is installed on device. + Use install RPC to install image and trigger activate on device"; + } + enum install-status-no-trans-to-commit { + value 28; + description + "Commit action could not find any activate transaction to commit. Either activate + installed image first or remove installed image to start fresh Workflow"; + } + enum install-status-activate-pend-commit { + value 29; + description + "Rollback to base is not allowed while image is pending commit. Either use abort action to abort + activated image transaction or use install rollback action to commit to go back to previous image"; + } + enum install-status-nothing-to-rollback { + value 30; + description + "No Rollback points present from the current image to rollback"; + } + enum install-status-already-at-base { + value 31; + description + "Rollback to base is not required as device is already at the base image"; + } + enum install-remove-rejected-by-platform { + value 32; + description + "Remove of the file is not allowed currently. The file is likely in use at this moment. Retry again"; + } + enum install-status-no-trans-to-abort { + value 33; + description + "There is no activate or deactivate operation detected on device that needs to be aborted."; + } + enum install-status-no-platform-response { + value 34; + description + "Action failed due to no response from other platform or access device. + Please check device operation status"; + } + enum install-rem-of-activated-img-reject { + value 35; + description + "Install remove can not remove activated image. Please use install commit + to commit activated image."; + } + enum install-ap-img-predwnld-initiated { + value 36; + description + "AP Image Predownload Initiated"; + } + enum install-ap-img-predwnld-inprogress { + value 37; + description + "AP Image Predownload is In progress"; + } + enum install-ap-img-predwnld-complete { + value 38; + description + "AP Image Predownload Completed"; + } + enum install-ap-img-predwnld-failed { + value 39; + description + "AP Image Predownload Failed"; + } + enum install-ap-img-predwnld-abort { + value 40; + description + "AP Image Predownload Aborted"; + } + enum install-act-on-stby { + value 41; + description + "Start of install activation on standby"; + } + enum install-act-on-active { + value 42; + description + "Start of install activation on active"; + } + enum install-act-on-stby-done { + value 43; + description + "Install activation on standby is completed"; + } + enum install-act-on-active-done { + value 44; + description + "Install activation on active is completed"; + } + enum install-abort-on-stby { + value 45; + description + "Start of install abort on standby"; + } + enum install-abort-on-active { + value 46; + description + "Start of install abort on active"; + } + enum install-abort-on-stby-done { + value 47; + description + "Install abort on standby is completed"; + } + enum install-abort-on-active-done { + value 48; + description + "Install abort on active is completed"; + } + enum install-sys-precheck-failed { + value 49; + description + "System does not satisfy all criteria to perform given operation"; + } + enum install-stale-sys-upgrade-state { + value 50; + description + "System is in stale state after previous failed upgrade. + Perform abort operation and then restart upgrade"; + } + enum install-auto-abort-failed { + value 51; + description + "Auto abort operation failed because system recovery is beyond the scope of + installation process. User needs to manually review system status and + decide best action to bring system back to normal state. One of the reason + for this to happen is standby keep reloading or never became online"; + } + enum install-mcl-error { + value 52; + description + "Installation failed because configuration commands on active and standby do not match. + Installation abort will start automatically. After abort is completed, use + following command to see list of mismatch commands - show redundancy config-sync failures historic mcl"; + } + enum install-stby-act-role-change-failed { + value 53; + description + "Failure during change of role of standby from standby to active. + User needs to invoke installation abort"; + } + enum install-act-to-stby-hover-failed { + value 54; + description + "Failed to handover control of the installation process from active to + standby before active reloads. User needs to invoke installation abort"; + } + enum install-stby-up-old-sw { + value 55; + description + "After restart, standby came up with old software. Installation will be aborted automatically. + User does not need to invoke install abort"; + } + enum install-status-no-disk-space { + value 56; + description + "RPC action failed due to no disk space left on device. Please use + install remove RPC with inactive option to clean all unused + non active files"; + } + enum install-ap-img-upg-initiated { + value 57; + description + "AP image upgrade initiated"; + } + enum install-ap-img-upg-in-progress { + value 58; + description + "AP image upgrade is in progress"; + } + enum install-ap-img-upg-complete { + value 59; + description + "AP image upgrade completed"; + } + enum install-ap-img-upg-failed { + value 60; + description + "AP image upgrade failed"; + } + enum install-ap-img-upg-interrupted { + value 61; + description + "AP image upgrade is interrupted"; + } + enum install-ap-img-upg-continued { + value 62; + description + "AP image upgrade continued"; + } + enum install-ap-img-upg-paused { + value 63; + description + "AP image upgrade paused"; + } + enum install-ap-img-upg-resumed { + value 64; + description + "AP image upgrade resumed"; + } + enum install-ap-img-upg-aborted { + value 65; + description + "AP image upgrade aborted"; + } + enum install-verify-pkg-start { + value 66; + description + "Install package verification in progress"; + } + enum install-verify-pkg-done { + value 67; + description + "Install package verification complete"; + } + enum install-verify-pkg-fail { + value 68; + description + "Install package verification failed"; + } + enum install-smu-add-start { + value 69; + description + "SMU install is in progress"; + } + enum install-smu-add-done { + value 70; + description + "SMU install operation is Complete"; + } + enum install-smu-add-fail { + value 71; + description + "SMU install operation failed"; + } + enum install-pkg-add-start { + value 72; + description + "Sub-package install is in progress"; + } + enum install-pkg-add-done { + value 73; + description + "Sub-package install operation is Complete"; + } + enum install-pkg-add-fail { + value 74; + description + "Sub-package install operation failed"; + } + enum install-pkg-extract-start { + value 75; + description + "Install Package extraction is in progress"; + } + enum install-pkg-extract-done { + value 76; + description + "Install package extraction is Complete"; + } + enum install-pkg-extract-fail { + value 77; + description + "Install package extraction failed"; + } + enum install-sub-state-undef { + value 78; + description + "Install operation sub state not set"; + } + enum install-add-clnup-start { + value 79; + description + "Install add failure cleanup is in progress"; + } + enum install-add-clnup-done { + value 80; + description + "Install add failure cleanup is Complete"; + } + enum install-add-clnup-fail { + value 81; + description + "Install add failure cleanup failed"; + } + enum install-add-prechk-start { + value 82; + description + "Install check before starting add operation is in progress"; + } + enum install-add-prechk-done { + value 83; + description + "Install check before starting add operation is complete"; + } + enum install-add-prechk-fail { + value 84; + description + "Install check before starting add operation failed"; + } + enum install-add-postchk-start { + value 85; + description + "Install check after finishing add operation is in progress"; + } + enum install-add-postchk-done { + value 86; + description + "Install check after finishing add operation is complete"; + } + enum install-add-postchk-fail { + value 87; + description + "Install check after finishing add operation failed"; + } + enum install-add-wlc-query-start { + value 88; + description + "Install wireless query during add operation is in progress"; + } + enum install-add-wlc-query-done { + value 89; + description + "Install wireless query during add operation is complete"; + } + enum install-add-wlc-query-fail { + value 90; + description + "Install wireless query during add operation failed"; + } + enum install-add-mount-ap-img-start { + value 91; + description + "Install mount AP image for wireless is in progress"; + } + enum install-add-mount-ap-img-done { + value 92; + description + "Install mount AP image for wireless is complete"; + } + enum install-add-mount-ap-img-fail { + value 93; + description + "Install mount AP image for wireless failed"; + } + enum install-add-wlc-ntfy-start { + value 94; + description + "Install wireless notify during add operation is in progress"; + } + enum install-add-wlc-ntfy-done { + value 95; + description + "Install wireless notify during add operation is complete"; + } + enum install-add-wlc-ntfy-fail { + value 96; + description + "Install wireless notify during add operation failed"; + } + enum install-rej-for-act-smu { + value 97; + description + "SMU Install operation is rejected as SMU is already activated"; + } + enum install-rej-for-deactv-smu { + value 98; + description + "SMU install operation is not required as SMU is in deactivated state. + Trigger commit for finishing deactivate operation or + abort to bring it back to activated state"; + } + enum install-rej-in-bundle-mode { + value 99; + description + "Install of input package is allowed only for device booted in Install Mode"; + } + enum install-rej-issu-in-progress { + value 100; + description + "Install operation is rejected as device already has in-progress ISSU operation"; + } + enum install-same-img-install { + value 101; + description + "Install of same image as running image. No change in install state "; + } + enum install-same-pkg-install { + value 102; + description + "Install of same package as running package, No change in install state "; + } + enum install-pkg-startup-fail { + value 103; + description + "Package startup failed on activation"; + } + enum install-remove-user-reject { + value 104; + description + "Install Remove rejected by user at prompt"; + } + enum install-rej-smu-conflict { + value 105; + description + "Install SMU operation rejected because of conflict with existing SMU on device"; + } + enum install-rej-smu-improper-state { + value 106; + description + "Install SMU operation rejected as earlier SMU is not in proper state"; + } + enum install-rej-pkg-lic-mismatch { + value 107; + description + "Install operation rejected as device license do not match with package license"; + } + enum install-int-sw-err { + value 108; + description + "Install operation internal software error"; + } + enum install-inv-path-err { + value 109; + description + "Install operation invalid file path"; + } + enum install-pkgtype-not-found { + value 110; + description + "Install operation package type not found"; + } + enum install-download-start { + value 111; + description + "Install download is in progress"; + } + enum install-download-done { + value 112; + description + "Install download is Complete"; + } + enum install-download-fail { + value 113; + description + "Install download failed"; + } + enum install-smu-add-clnup-start { + value 114; + description + "Install SMU add failure cleanup is in progress"; + } + enum install-smu-add-clnup-done { + value 115; + description + "Install SMU add failure cleanup is Complete"; + } + enum install-smu-add-clnup-fail { + value 116; + description + "Install SMU add failure cleanup failed"; + } + enum install-act-prechk-start { + value 117; + description + "Install check before starting activate operation is in progress"; + } + enum install-act-prechk-done { + value 118; + description + "Install check before starting activate operation is complete"; + } + enum install-act-prechk-fail { + value 119; + description + "Install check before starting activate operation failed"; + } + enum install-smu-act-start { + value 120; + description + "SMU install activate operation is in progress"; + } + enum install-smu-act-done { + value 121; + description + "SMU install activate operation is Complete"; + } + enum install-smu-act-fail { + value 122; + description + "SMU install activate operation failed"; + } + enum install-pkg-act-start { + value 123; + description + "Sub-package install activation operation is in progress"; + } + enum install-pkg-act-done { + value 124; + description + "Sub-package install activation operation is Complete"; + } + enum install-pkg-act-fail { + value 125; + description + "Sub-package install activation operation failed"; + } + enum install-act-postchk-start { + value 126; + description + "Install check after activate operation is in progress"; + } + enum install-act-postchk-done { + value 127; + description + "Install check after activate operation is complete"; + } + enum install-act-postchk-fail { + value 128; + description + "Install check after activate operation failed"; + } + enum install-act-clnup-start { + value 129; + description + "Install activation failure cleanup is in progress"; + } + enum install-act-clnup-done { + value 130; + description + "Install activation failure cleanup is Complete"; + } + enum install-act-clnup-fail { + value 131; + description + "Install activation failure cleanup failed"; + } + enum install-issu-incomp-ver { + value 132; + description + "Install ISSU comp check failed. Added image is not ISSU compatible"; + } + enum install-pkg-in-use { + value 133; + description + "Install Package is in use"; + } + enum install-img-cncl-start { + value 134; + description + "Cancel of image operation has started"; + } + enum install-img-cncl-done { + value 135; + description + "Cancel of image operation has completed"; + } + enum install-img-cncl-fail { + value 136; + description + "Cancel of image operation has failed"; + } + enum install-smu-cncl-start { + value 137; + description + "Cancel of SMU operation has started"; + } + enum install-smu-cncl-done { + value 138; + description + "Cancel of SMU operation has completed"; + } + enum install-smu-cncl-fail { + value 139; + description + "Cancel of SMU operation has failed"; + } + enum install-img-commit-start { + value 140; + description + "Commit of image operation has started"; + } + enum install-img-commit-done { + value 141; + description + "Commit of image operation has completed"; + } + enum install-img-commit-fail { + value 142; + description + "Commit of image operation has failed"; + } + enum install-smu-commit-start { + value 143; + description + "Commit of SMU operation has started"; + } + enum install-smu-commit-done { + value 144; + description + "Commit of SMU operation has completed"; + } + enum install-smu-commit-fail { + value 145; + description + "Commit of SMU operation has failed"; + } + enum install-remove-usr-cnfrm { + value 146; + description + "Install remove operation waiting for user confirmation"; + } + enum install-reload-usr-cnfrm { + value 147; + description + "Install operation waiting confirmation for reload"; + } + enum install-reload-fast-usr-cnfrm { + value 148; + description + "Install operation waiting confirmation for reload fast"; + } + enum install-rbk-db-chk-start { + value 149; + description + "Coherence check of rollback points across device"; + } + enum install-rbk-db-chk-done { + value 150; + description + "Coherence check of rollback points across device completed with success"; + } + enum install-rbk-db-chk-fail { + value 151; + description + "Coherence check of rollback points across device failed"; + } + enum install-rbk-boot-mode-chk-start { + value 152; + description + "Checking of boot mode compatibility for rollback point"; + } + enum install-rbk-boot-mode-chk-done { + value 153; + description + "Boot mode compatibility check for rollback point completed with success"; + } + enum install-rbk-boot-mode-chk-fail { + value 154; + description + "Boot mode compatibility check for rollback point failed"; + } + enum install-rbk-lbl-not-found { + value 155; + description + "Rollback label provided by the user is not present in the rollback database"; + } + enum install-get-rbk-type-start { + value 156; + description + "Identifying type of packages involved in rollback operation"; + } + enum install-get-rbk-type-done { + value 157; + description + "Identification of packages involved in rollback operation completed with success"; + } + enum install-get-rbk-type-fail { + value 158; + description + "Identification of packages involved in rollback operation failed"; + } + enum install-img-rbk-start { + value 159; + description + "Rollback of image operation has started"; + } + enum install-img-rbk-fail { + value 160; + description + "Rollback of image operation has failed"; + } + enum install-img-rbk-done { + value 161; + description + "Rollback of image operation has completed"; + } + enum install-smu-rbk-start { + value 162; + description + "Rollback of SMU operation has started"; + } + enum install-smu-rbk-fail { + value 163; + description + "Rollback of SMU operation has failed"; + } + enum install-smu-rbk-done { + value 164; + description + "Rollback of SMU operation has completed"; + } + enum install-autoupg-start { + value 165; + description + "Install auto upgrade operation has been started"; + } + enum install-autoupg-fail { + value 166; + description + "Install auto upgrade operation has failed or aborted"; + } + enum install-autoupg-done { + value 167; + description + "Install auto upgrade operation has completed successfully"; + } + enum install-img-act-start { + value 168; + description + "Package install activation operation is in progress"; + } + enum install-img-act-done { + value 169; + description + "Package install activation operation is Complete"; + } + enum install-img-act-fail { + value 170; + description + "Package install activation operation failed"; + } + enum install-img-not-added { + value 171; + description + "Image required for install operation has not been added"; + } + enum install-smu-not-added { + value 172; + description + "SMU file required for install operation has not been added"; + } + enum install-same-smu-install { + value 173; + description + "Install of same SMU as running SMU, No change in install state"; + } + enum install-unsaved-cfg-chg { + value 174; + description + "Install operation is rejected because config changes are not saved"; + } + enum install-missing-file-for-rbk-id { + value 175; + description + "Required file is missing from the rollback database"; + } + enum install-invalid-rbk-id { + value 176; + description + "Invalid rollback id for rollback operation"; + } + enum install-hot-smu-act-fail { + value 177; + description + "Hot SMU activation has failed"; + } + enum install-hot-smu-deact-fail { + value 178; + description + "Hot SMU de-activation has failed"; + } + enum install-nothing-to-activate { + value 179; + description + "Install operation did not detect any package for ready for activation"; + } + enum install-nothing-to-deactivate { + value 180; + description + "Install operation did not detect package for de-activation"; + } + enum install-boot-param-update-fail { + value 181; + description + "Failed to update boot parameter in config"; + } + enum install-exec-script-fail { + value 182; + description + "Execution of pre or post script during an install operation has failed"; + } + enum install-plat-precheck-fail { + value 183; + description + "Platform specific pre-check failed for the operation"; + } + enum install-plat-postcheck-fail { + value 184; + description + "Platform specific post-check failed for the operation"; + } + enum install-img-downgrade { + value 185; + description + "Image is being downgraded"; + } + enum install-boot-param-update-start { + value 186; + description + "Package install boot parameter update operation is in progress"; + } + enum install-boot-param-update-done { + value 187; + description + "Package install boot parameter update operation is Complete"; + } + enum install-deact-rej-uncommit-smu-fail { + value 188; + description + "Failed to deactivate SMU since a SMU is in activated state but not yet committed."; + } + enum install-set-def-succ { + value 189; + description + "Install operation to set default completed successfully."; + } + enum install-set-def-fail { + value 190; + description + "Install operation to set default failed."; + } + enum install-max-img-cnt-exceeded { + value 191; + description + "Device exceeded limit for maximum allowed installed image versions."; + } + enum install-same-img-as-def-ver { + value 192; + description + "Install of same package as default version, No change in install state."; + } + enum install-same-img-as-cur-ver { + value 193; + description + "Install of same package as active version, No change in install state."; + } + enum install-no-space-in-cfg-partn { + value 194; + description + "Device do not have enough space to store config partition, please cleanup older versions."; + } + enum install-op-unsupp-plat { + value 195; + description + "Install operation is not supported on this platform."; + } + enum install-downgrade-unsupp { + value 196; + description + "Install downgrade is not supported in this scenario"; + } + enum install-act-state-rbk-unsupp { + value 197; + description + "Rollback operation is not supported in activated & uncommitted state, please use abort instead."; + } + enum install-inval-file { + value 198; + description + "Install operation on invalid install file."; + } + enum install-missing-upg-confrm-timer { + value 199; + description + "Upgrade confirm timer is not configured. SMU activate or deactivate operation is not allowed."; + } + enum install-add-rej-uncommit-subpkg-fail { + value 200; + description + "Failed to install add since a sub-package is in uncommitted state."; + } + enum install-same-filename-used { + value 201; + description + "Device used same filename when installing image, retry after renaming file or removing the existing version."; + } + enum install-min-supported-ver-chk-fail { + value 202; + description + "Software version being installed is lower than minimum supported version for this platform."; + } + enum install-initiate-reload { + value 203; + description + "Install initiating reload"; + } + enum install-reload-pending { + value 204; + description + "Install operation can't be started as system reload is pending or in progress"; + } + enum install-rej-install-abort { + value 205; + description + "Install abort failed due to ISSU in progress. Please use install abort issu or install commit"; + } + enum install-ctrl-mode-disabled-img { + value 206; + description + "Install failed as controller mode disabled image is not supported"; + } + enum install-not-supported { + value 207; + description + "Install failed as install of the image is not supported"; + } + } + description + "Install sub state provides the intermediate sub state status during + install and activate operations. This helps to see the progress during + long waiting install action operation."; + } + + typedef install-action { + type enumeration { + enum install { + value 0; + description + "Install action type"; + } + enum activate { + value 1; + description + "Activate action type"; + } + enum install-commit { + value 2; + description + "Commit action type"; + } + enum rollback { + value 3; + description + "Rollback action type"; + } + enum deactivate { + value 4; + description + "Deactivate action type"; + } + enum remove { + value 5; + description + "Remove action type"; + } + enum auto-abort-timer { + value 6; + description + "Auto abort timer action type"; + } + enum abort { + value 7; + description + "Abort action type"; + } + enum autoupgrade { + value 8; + description + "Auto upgrade action type"; + } + enum set-default { + value 9; + description + "Set default action type"; + } + } + description + "Install action type"; + } + + grouping common-notification-header { + description + "Install notification header"; + leaf host-name { + type string; + description + "Host name"; + } + } + + grouping install-notification-fields { + description + "Install operation state"; + leaf status { + type install-event-types-ios-xe:installation-status; + description + "Installation status"; + } + leaf action-type { + type install-event-types-ios-xe:install-action; + description + "Action type"; + } + leaf sub-state { + type install-event-types-ios-xe:install-sub-state; + description + "Intermediate sub state of install status"; + } + leaf uuid { + type string; + description + "Universally unique identifier 128-bit number UUID is received from action rpc"; + } + leaf percentage-completed { + type int8; + units "percent"; + description + "Percent of completion for in-progress installations. + If the value is -1, the field is not applicable"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-install-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-events.yang new file mode 100644 index 000000000..90c6ee1d0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-events.yang @@ -0,0 +1,107 @@ +module Cisco-IOS-XE-install-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-install-events"; + prefix install-ios-xe-events; + + import Cisco-IOS-XE-install-event-types { + prefix install-event-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for install status notification for image install events. + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-03-01 { + description + "- Added install status for package in use + - Added install status for install operation cancellations + - Added install status for rollback operations + - Added install status indicating user confirmation activity + - Added install status for auto upgrade start, fail, complete + - Type definitions are moved to install-event-types-ios-xe"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-11-01 { + description + "- Added install sub-state enums for smu add fail cleanup + - Added install status for add fail cleanup and add pre and post checks + - Added install status for ISSU compatibility check + - Added install status for activate pre checks, post checks, smu, sub-package, and fail cleanup + - Added install sub-state enums to report additional failure conditions related to SMU and install"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-07-01 { + description + "- Install notification sub-state enumeration has been extended to include additional install progress states"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Added a new error message enum in install status notification to report + a no-disk-space-left-on-device error. + - Added ISSU data model changes + - Install notification sub-state enumeration has been extended to include staggered AP upgrade progress states"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "Added AP image predownload sub-states notification"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Added enum values for installation sub-states + - Remove unused empty container install-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + notification install-status { + description + "install status notification"; + uses install-event-types-ios-xe:common-notification-header; + uses install-event-types-ios-xe:install-notification-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper-types.yang new file mode 100644 index 000000000..7d42ec2cb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper-types.yang @@ -0,0 +1,484 @@ +module Cisco-IOS-XE-install-oper-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-install-oper-types"; + prefix install-oper-types-ios-xe; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for install status notification for image install events. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Added schedule transaction for install operations + - Add support for notify install transaction + - Add support for commit post check install transaction + - Added support for install download operation."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added support fot set default controller mode install operation"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef install-op-cmd { + type enumeration { + enum install-op-unknown { + value 0; + description + "Install operation type is not known"; + } + enum install-op-add { + value 1; + description + "Install operation to add new package"; + } + enum install-op-activate { + value 2; + description + "Install operation to activate installed package"; + } + enum install-op-commit { + value 3; + description + "Install operation to commit activated package"; + } + enum install-op-rollback { + value 4; + description + "Install operation to rollback to recorded commit states for device"; + } + enum install-op-deactivate { + value 5; + description + "Install operation to deactivate activate supported packages"; + } + enum install-op-remove { + value 6; + description + "Install operation to remove polaris packages from device"; + } + enum install-op-auto-cancel-timer { + value 7; + description + "Install operation to update auto cancel timer running for commit confirmation after activation"; + } + enum install-op-cancel { + value 8; + description + "Install operation to cancel operations pending commit confirmation"; + } + enum install-op-set-default { + value 9; + description + "Install operation to set defaults for device in controller mode"; + } + enum install-op-download { + value 10; + description + "Install operation to download package to the device"; + } + } + description + "Install operation Command type to be executed on device"; + } + + typedef install-op-sts { + type enumeration { + enum install-op-not-started { + value 0; + description + "Install operation has not started yet"; + } + enum install-op-succ { + value 1; + description + "Install operation finished successfully"; + } + enum install-op-fail { + value 2; + description + "Install operation failed"; + } + enum install-op-fail-revert { + value 3; + description + "Install operation failed and followed with cleanup of install state"; + } + enum install-op-in-progress { + value 4; + description + "Install operation execution is in progress"; + } + enum install-op-dep-fail { + value 5; + description + "Install operation failed because of dependencies"; + } + enum install-op-timeout { + value 6; + description + "Install operation timed out"; + } + enum install-op-sts-cancel { + value 7; + description + "Install operation cancelled"; + } + enum install-op-marked-succ { + value 8; + description + "Install operation does not change system state. Marked successful"; + } + enum install-op-pend-usr-cnfrm { + value 9; + description + "Install operation is pending for user confirmation"; + } + } + description + "Install operation status"; + } + + typedef install-op-finish-sts { + type enumeration { + enum op-not-complete { + value 0; + description + "Install operation is not complete yet and possibly in execution"; + } + enum op-complete { + value 1; + description + "Install operation completed its execution with either success or failure. Refer operation state for granular update"; + } + enum op-reverted { + value 2; + description + "Install operation is reverted as a result of failures detected in later states"; + } + } + description + "Confirms if install operation reached to final state"; + } + + typedef install-txn-cmd { + type enumeration { + enum install-txn-unknown { + value 0; + description + "Install transaction type is not known"; + } + enum install-txn-download { + value 1; + description + "Install transaction download to get package file on active FRU"; + } + enum install-txn-copy { + value 2; + description + "Install transaction copy to move file within device"; + } + enum install-txn-verify { + value 3; + description + "Install transaction verify to confirm validity of the package"; + } + enum install-txn-extract { + value 4; + description + "Install transaction extract to expand internal files from package"; + } + enum install-txn-smu-add { + value 5; + description + "Install transaction to add SMU package"; + } + enum install-txn-pkg-add { + value 6; + description + "Install transaction to add optional package"; + } + enum install-txn-copy-setup { + value 7; + description + "Install transaction copy setup to trigger copy within device"; + } + enum install-txn-add-prechk { + value 8; + description + "Install transaction to perform checks before add operation is started"; + } + enum install-txn-remove { + value 9; + description + "Install transaction remove to trigger remove of package files"; + } + enum install-txn-add-clnup { + value 10; + description + "Install transaction to cleanup install state after img add operation fails"; + } + enum install-txn-add-postchk { + value 11; + description + "Install transaction to perform checks or notifications after add operation is complete"; + } + enum install-txn-smu-add-clnup { + value 12; + description + "Install transaction to cleanup install state after smu add operation fails"; + } + enum install-txn-rollback { + value 13; + description + "Install transaction to trigger rollback of install state"; + } + enum install-txn-act-prechk { + value 14; + description + "Install transaction to perform checks before activate"; + } + enum install-txn-pkg-act { + value 15; + description + "Install transactions to perform sub-package activation"; + } + enum install-txn-smu-act { + value 16; + description + "Install transaction to perform smu activation"; + } + enum install-txn-act-postchk { + value 17; + description + "Install transaction to perform checks after activate"; + } + enum install-txn-act-fail-clnup { + value 18; + description + "Install transaction to perform cleanup after activate failure"; + } + enum install-txn-reload { + value 19; + description + "Install transaction to reload device"; + } + enum install-txn-commit { + value 20; + description + "Install transaction to commit current install state"; + } + enum install-txn-chk-rbk-sanity { + value 21; + description + "Install transaction to check rollback state sanity on device"; + } + enum install-txn-rbk-prechk { + value 22; + description + "Install transaction to perform checks after rollback"; + } + enum install-txn-rbk-postchk { + value 23; + description + "Install transaction to perform checks after rollback"; + } + enum install-txn-reload-all { + value 24; + description + "Install transaction to trigger reload of complete device"; + } + enum install-txn-cancel-prechk { + value 25; + description + "Install transaction to perform checks before cancel operation"; + } + enum install-txn-cancel { + value 26; + description + "Install transaction to perform cancel currently pending commit operation"; + } + enum install-txn-cancel-postchk { + value 27; + description + "Install transaction to perform checks after cancelling pending commit operation"; + } + enum install-txn-remove-prechk { + value 28; + description + "Install transaction to perform checks before remove operation"; + } + enum install-txn-commit-prechk { + value 29; + description + "Install transaction to perform checks before commit operation"; + } + enum install-txn-deact-prechk { + value 30; + description + "Install transaction to perform checks before deactivate operation"; + } + enum install-txn-pkg-deact { + value 31; + description + "Install transaction to perform sub-package deactivate"; + } + enum install-txn-smu-deact { + value 32; + description + "Install transaction to perform SMU deactivate"; + } + enum install-txn-deact-postchk { + value 33; + description + "Install transaction to perform checks after deactivate operation"; + } + enum install-txn-img-act { + value 34; + description + "Install transaction to perform image activation"; + } + enum install-txn-remove-postchk { + value 35; + description + "Install transaction to perform post checks after successful remove operation"; + } + enum install-txn-set-default { + value 36; + description + "Install transaction to set defaults"; + } + enum install-txn-sched { + value 37; + description + "Install transaction to schedule operation execution"; + } + enum install-txn-notify { + value 38; + description + "Install transaction to notify"; + } + enum install-txn-commit-postchk { + value 39; + description + "Install transaction to perform checks after commit operation"; + } + enum install-txn-dwnld-precheck { + value 40; + description + "Install transaction download pre check"; + } + } + description + "Install transaction type"; + } + + typedef install-txn-sts { + type enumeration { + enum install-txn-sts-unknown { + value 0; + description + "Install transaction status not known"; + } + enum install-txn-sts-succ { + value 1; + description + "Install transaction finished execution with success"; + } + enum install-txn-sts-in-progress { + value 2; + description + "Install transaction is executing"; + } + enum install-txn-sts-fail { + value 3; + description + "Install transaction finished with failure"; + } + enum install-txn-sts-dep-fail { + value 4; + description + "Install transaction failed as dependent steps failed"; + } + enum install-txn-sts-timeout { + value 5; + description + "Install transaction timed out during execution"; + } + enum install-txn-sts-cancel { + value 6; + description + "Install transaction was cancelled"; + } + enum install-txn-sts-op-timeout { + value 7; + description + "Install transaction cancelled as top level operation timed out"; + } + enum install-txn-sts-disconnect { + value 8; + description + "Install transaction cancelled as peer disconnect detected"; + } + enum install-txn-sts-marked-succ { + value 9; + description + "Install transaction marked success as expecting no change in install state"; + } + enum install-txn-sts-pend-usr-cnfrm { + value 10; + description + "Install transaction is pending user confirmation to proceed. Valid for cli triggered operations"; + } + } + description + "Install transaction Status"; + } + + typedef install-op-intf { + type enumeration { + enum op-intf-cli { + value 0; + description + "Install operation is triggered via cli on device"; + } + enum op-intf-ipc { + value 1; + description + "Install operation is triggered via ipc interface"; + } + } + description + "Indicates interface used to trigger install operation"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper.yang new file mode 100644 index 000000000..007f6a969 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-oper.yang @@ -0,0 +1,1897 @@ +module Cisco-IOS-XE-install-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-install-oper"; + prefix install-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-install-event-types { + prefix install-event-types-ios-xe; + } + import Cisco-IOS-XE-install-oper-types { + prefix install-oper-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for install manager operational data. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added install package action parameter to capture package decision."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2023-07-01 { + description + "- Fixed invalid 'when' constraint"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2023-03-01 { + description + "- Added detailed summary for ongoing as well as completed install operations."; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added cisco image name field to indicate the package name when published + - Added parameter definition for install download operation. + - Added scheduled start and end time parameters for install add, activate operations."; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-07-01 { + description + "- Added support fot set default install operation."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-03-01 { + description + "- Added install-version-state-installed to indicate installed versions on device. + - Description change to install-version-state-in-progress for clarity. + - Added commit-type to indicate version commit trigger + - Added timestamp to version + - Added compatible controller version info for the package + - Added controller mode to oper state + - Added rollback label parameter + - Added parameter definitions for install operations + - Added install operation and operation history"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-11-01 { + description + "Added installer version and timestamp for the packages"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "Added controller version corresponding to the install package in the version record"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + " - Added support for install rollback points and install profiles. + - New YANG definitions for install manager to provide ISSU specific + operational data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef install-package-type { + type enumeration { + enum install-pkg-unknown { + value 0; + description + "Install package type unknown"; + } + enum install-pkg-img { + value 1; + description + "Install package of type Super Image"; + } + enum install-pkg-smu { + value 2; + description + "Install package of type Software Maintenance Upgrade"; + } + enum install-pkg-subpkg { + value 3; + description + "Install package of type sub-package"; + } + enum install-pkg-dmp { + value 4; + description + "Install package of type Data Model Package"; + } + enum install-pkg-apsp { + value 5; + description + "Install package of type Access Point Service Pack"; + } + enum install-pkg-apdp { + value 6; + description + "Install package of type Access Point Device Pack"; + } + enum install-pkg-pkg { + value 7; + description + "Install basic package type"; + } + } + description + "Install package type"; + } + + typedef install-package-state { + type enumeration { + enum install-state-new { + value 0; + description + "Install state for file is new"; + } + enum install-state-added { + value 1; + description + "Image has been added"; + } + enum install-state-act-uncommitted { + value 2; + description + "Install state is activated but not committed"; + } + enum install-state-dact-uncommitted { + value 3; + description + "Install state is deactivated and uncommitted"; + } + enum install-state-committed { + value 4; + description + "Install image is in committed state"; + } + enum install-state-unknown { + value 5; + description + "Install state is not known"; + } + } + description + "Install package state"; + } + + typedef install-package-verify-status { + type enumeration { + enum install-package-verify-unknown { + value 0; + description + "Install package verification status is unknown"; + } + enum install-package-verify-ok { + value 1; + description + "Install package is verified"; + } + enum install-package-verify-fail { + value 2; + description + "Install package verification failed"; + } + enum install-package-verify-deferred { + value 3; + description + "Install package verification is deferred"; + } + enum install-package-verify-not-done { + value 4; + description + "Install package verification is not done"; + } + } + description + "Install package verification status"; + } + + typedef install-package-info-action { + type enumeration { + enum install-package-action-none { + value 0; + description + "No install package action to be performed"; + } + enum install-package-action-defer-delete { + value 1; + description + "Defer deletion of package table record"; + } + } + description + "Install package action to be performed"; + } + + typedef install-pkg-reload-condition { + type enumeration { + enum install-reload-cond-device-reload { + value 0; + description + "Install restart condition is restart required"; + } + enum install-reload-cond-non-reload { + value 1; + description + "Install restart condition is no restart required"; + } + enum install-reload-cond-restart { + value 2; + description + "Install restart condition is restart"; + } + enum install-reload-cond-issu { + value 3; + description + "Install restart condition is ISSU dependent"; + } + enum install-reload-cond-unknown { + value 4; + description + "Reload condition is not known"; + } + } + description + "Install package restart condition"; + } + + typedef install-smu-subcategory { + type enumeration { + enum install-smu-subcategory-apsp { + value 0; + description + "Install Software Maintenance Upgrade sub-category is Access Point Service Pack"; + } + enum install-smu-subcategory-apdp { + value 1; + description + "Install Software Maintenance Upgrade sub-category is Access Point Device Pack"; + } + enum install-smu-subcategory-unknown { + value 2; + description + "Install Software Maintenance Upgrade sub-category is unknown"; + } + } + description + "Install Software Maintenance Upgrade sub-category"; + } + + typedef install-mode { + type enumeration { + enum install-mode-bundle { + value 0; + description + "install mode is bundle"; + } + enum install-mode-install { + value 1; + description + "Install boot mode is install"; + } + enum install-mode-install-bundle { + value 2; + description + "Install boot mode is bundle"; + } + enum install-mode-unknown { + value 3; + description + "Install boot mode is not known"; + } + } + description + "Install mode type"; + } + + typedef install-smu-class { + type enumeration { + enum install-smu-class-recommended { + value 0; + description + "Install Software Maintenance Upgrade class is recommended"; + } + enum install-smu-class-optional { + value 1; + description + "Install Software Maintenance Upgrade class is optional"; + } + enum install-smu-class-unknown { + value 2; + description + "Install Software Maintenance Upgrade class is unknown"; + } + } + description + "Install Software Maintenance Upgrade class type"; + } + + typedef install-crdu-attr { + type enumeration { + enum install-crdu-attr-unrevertable { + value 0; + description + "Install hot patch type is not reversible"; + } + enum install-crdu-attr-revertable { + value 1; + description + "Install hot patch type is reversible"; + } + enum install-crdu-attr-unknown { + value 2; + description + "Install hot patch attribute is unknown"; + } + } + description + "Install hot patch attributes"; + } + + typedef install-version-state { + type enumeration { + enum install-version-state-provisioned-committed { + value 0; + description + "Install version state is provisioned and committed"; + } + enum install-version-state-provisioned-uncommitted { + value 1; + description + "Install version state is provisioned and uncommitted"; + } + enum install-version-state-in-progress { + value 2; + description + "Install version state is in-progress, marked for activation"; + } + enum install-version-state-invalid { + value 3; + description + "Complete image is not available for this version"; + } + enum install-version-state-present { + value 4; + description + "Install version state is present but not used"; + } + enum install-version-state-unknown { + value 5; + description + "Install version state is not configured"; + } + enum install-version-state-installed { + value 6; + description + "Install version is installed on device and available for activation"; + } + } + description + "Install version state"; + } + + typedef install-smu-license-level { + type enumeration { + enum install-smu-lic-name-base-network-essentials { + value 0; + description + "Install Software Maintenance Upgrade license level is base-network-essentials"; + } + enum install-smu-lic-name-base-network-advantage { + value 1; + description + "Install Software Maintenance Upgrade license level is base-network-advantage"; + } + enum install-smu-lic-name-dna-essentials { + value 2; + description + "Install Software Maintenance Upgrade license level is dna-essentials"; + } + enum install-smu-lic-name-dna-advantage { + value 3; + description + "Install Software Maintenance Upgrade license level is dna-advantage"; + } + enum install-smu-lic-name-unknown { + value 4; + description + "Install Software Maintenance Upgrade license level is not known"; + } + } + description + "Install Software Maintenance Upgrade license level"; + } + + typedef install-smu-impact-type { + type enumeration { + enum install-smu-impact-ap-images { + value 0; + description + "Install Software Maintenance Upgrade impacts AP images"; + } + enum install-smu-impact-unknown { + value 1; + description + "Install Software Maintenance Upgrade impact is unknown"; + } + } + description + "Install Software Maintenance Upgrade impact type"; + } + + typedef install-header-package-type { + type enumeration { + enum install-header-package-type-invalid { + value 0; + description + "Install header package type is invalid"; + } + enum install-header-package-type-rommon { + value 1; + description + "Install header package is for ROMMON"; + } + enum install-header-package-type-cc-base { + value 2; + description + "Install header package is for CC Base"; + } + enum install-header-package-type-cc-spa { + value 3; + description + "Install header package is for CC supervisor card"; + } + enum install-header-package-type-cc-srdriver { + value 4; + description + "Install header package is for CC SR driver"; + } + enum install-header-package-type-cc-spawma { + value 5; + description + "Install header package is for CC shared port adaptor"; + } + enum install-header-package-type-cc-iomd-sup { + value 6; + description + "Install header package is for CC supervisor card daemon"; + } + enum install-header-package-type-cc-mips-base { + value 7; + description + "Install header package is for MIPS"; + } + enum install-header-package-type-elc-base { + value 8; + description + "Install header package is for line card base"; + } + enum install-header-package-type-elc-spa { + value 9; + description + "Install header package is for shared port adaptor card"; + } + enum install-header-package-type-fp-base { + value 10; + description + "Install header package is for FP base"; + } + enum install-header-package-type-rp-super { + value 11; + description + "Install header package is for RP super"; + } + enum install-header-package-type-rp-base { + value 12; + description + "Install header package is for RP base"; + } + enum install-header-package-type-rp-daemons { + value 13; + description + "Install header package is for RP daemons"; + } + enum install-header-package-type-rp-iosd { + value 14; + description + "Install header package is for RP IOS daemon"; + } + enum install-header-package-type-rp-security { + value 15; + description + "Install header package is for RP security"; + } + enum install-header-package-type-firmware { + value 16; + description + "Install header package is for firmware"; + } + } + description + "Install header package type"; + } + + typedef install-timer-state { + type enumeration { + enum install-timer-state-unknown { + value 0; + description + "Install timer state is not known"; + } + enum install-timer-state-active { + value 1; + description + "Install timer is running"; + } + enum install-timer-state-inactive { + value 2; + description + "Install timer is not running"; + } + } + description + "Install timer state"; + } + + typedef install-system-activity { + type enumeration { + enum install-no-activity { + value 0; + description + "Install or ISSU operation is not in progress"; + } + enum install-install-in-progress { + value 1; + description + "Install operation is in progress"; + } + enum install-issu-in-progress { + value 2; + description + "ISSU operation is in progress"; + } + } + description + "System level install activity status"; + } + + typedef install-issu-capability { + type enumeration { + enum install-issu-disabled { + value 0; + description + "ISSU is supported on a given platform but user can + not perform ISSU. System do not satisfy one or many + ISSU specific criteria"; + } + enum install-issu-enabled { + value 1; + description + "All ISSU specific system criteria are met. + ISSU can be started"; + } + enum install-issu-not-supported { + value 2; + description + "Platform does not support issu feature"; + } + } + description + "Capability of a system to start ISSU operation"; + } + + typedef install-boot-mode { + type enumeration { + enum install-boot-mode-unknown { + value 0; + description + "System booted in unknown mode"; + } + enum install-boot-mode-install { + value 1; + description + "System booted in install mode"; + } + enum install-boot-mode-bundle { + value 2; + description + "System booted in bundle mode, ISSU not + supported in bundle mode"; + } + } + description + "System boot mode type"; + } + + typedef install-profile-type { + type enumeration { + enum install-profile-rollback { + value 0; + description + "Install rollback profile type"; + } + } + description + "Install profile types"; + } + + typedef install-commit-type { + type enumeration { + enum install-commit-pend { + value 0; + description + "Install version is pending commit "; + } + enum install-commit-auto { + value 1; + description + "Install version was auto-committed "; + } + enum install-commit-user { + value 2; + description + "Install version was committed by user trigger"; + } + } + description + "Install commit type"; + } + + grouping install-generic-pkg-info { + description + "Install common package generic info"; + leaf name { + type string; + description + "Internal package name"; + } + leaf build-time { + type yang:date-and-time; + description + "Package build time"; + } + leaf release-date { + type yang:date-and-time; + description + "Package release date"; + } + leaf user-name { + type string; + description + "Name of the user that built the package"; + } + leaf package-name { + type string; + description + "Extended internal package name info for variants"; + } + leaf build-name { + type string; + description + "Release Name tag used for Package Build"; + } + leaf installer-ver { + type string; + description + "Installer version supported by the package"; + } + leaf ctrl-ver { + when "(/install-oper-data/install-location-information/oper-state/ctrl-mode = 'true')"; + type string; + description + "Compatible controller version for the package"; + } + } + + grouping install-common-pkg-info { + description + "Install package info applicable to all package types"; + container generic-info { + description + "Install package generic information applicable to all package types"; + uses install-ios-xe-oper:install-generic-pkg-info; + } + } + + grouping install-common-smu-pkg-info { + description + "Software Maintenance Upgrade package information"; + leaf smu-id { + type uint32; + description + "Software Maintenance Upgrade identifier"; + } + leaf smu-mode { + type install-ios-xe-oper:install-mode; + description + "Software Maintenance Upgrade mode"; + } + leaf-list smu-supersedes-list { + type uint32; + max-elements 64; + ordered-by user; + description + "Software Maintenance Upgrade supersede list"; + } + leaf smu-subcategory { + type install-ios-xe-oper:install-smu-subcategory; + description + "Software Maintenance Upgrade sub-category"; + } + leaf smu-compatible-with { + type string; + description + "Software Maintenance Upgrade compatible with"; + } + leaf smu-type { + type install-ios-xe-oper:install-pkg-reload-condition; + description + "Software Maintenance Upgrade type"; + } + leaf activation-type { + type install-ios-xe-oper:install-pkg-reload-condition; + description + "Activation type"; + } + leaf deactivation-type { + type install-ios-xe-oper:install-pkg-reload-condition; + description + "De-activation type"; + } + leaf smu-impact { + type install-ios-xe-oper:install-smu-impact-type; + description + "Software Maintenance Upgrade impact type"; + } + leaf smu-class { + type install-ios-xe-oper:install-smu-class; + description + "Software Maintenance Upgrade class"; + } + leaf-list smu-fixes-list { + type string; + max-elements 64; + ordered-by user; + description + "Software Maintenance Upgrade fixes"; + } + leaf smu-license-level { + type install-ios-xe-oper:install-smu-license-level; + description + "Software Maintenance Upgrade license level"; + } + leaf crdu-attr { + type install-ios-xe-oper:install-crdu-attr; + description + "Hot patch attribute"; + } + } + + grouping install-smu-pkg-info { + description + "Install Software Maintenance Upgrade package information"; + container common-data { + description + "Common package data which is applicable to all types of packages"; + uses install-ios-xe-oper:install-common-pkg-info; + } + leaf defect { + type string; + description + "Defect identifier fixed by this package"; + } + container smu-data { + description + "Software Maintenance Upgrade data"; + uses install-ios-xe-oper:install-common-smu-pkg-info; + } + } + + grouping install-smu-attr { + description + "Software Maintenance Upgrade package attributes"; + leaf package-state { + type install-ios-xe-oper:install-package-state; + description + "Package state"; + } + container pkg-info-data { + description + "Package info data"; + uses install-ios-xe-oper:install-smu-pkg-info; + } + } + + grouping install-subpkg-pkg-info { + description + "Sub-package information"; + container common-data { + description + "Common package data which is applicable to all types of packages"; + uses install-ios-xe-oper:install-common-pkg-info; + } + leaf subpkg-type { + type string; + description + "Sub-package type"; + } + container smu-data { + description + "Software Maintenance Upgrade data"; + uses install-ios-xe-oper:install-common-smu-pkg-info; + } + } + + grouping install-subpkg-attr { + description + "Sub-package attribute"; + leaf package-state { + type install-ios-xe-oper:install-package-state; + description + "Package state"; + } + container pkg-info-data { + description + "Package information data"; + uses install-ios-xe-oper:install-subpkg-pkg-info; + } + } + + grouping install-img-pkg-info { + description + "Package information for image"; + container common-data { + description + "Common package data which is applicable to all types of packages"; + uses install-ios-xe-oper:install-common-pkg-info; + } + } + + grouping install-img-attr { + description + "Install image attributes"; + leaf timestamp { + type yang:date-and-time; + description + "Timestamp of the package file"; + } + leaf header-size { + type uint32; + units "bytes"; + description + "Header size in bytes"; + } + leaf header-package-type { + type install-ios-xe-oper:install-header-package-type; + description + "Package header type"; + } + container pkg-info-data { + description + "Package info data"; + uses install-ios-xe-oper:install-img-pkg-info; + } + } + + grouping install-auto-abort-timer { + description + "Install auto abort timer information"; + leaf state { + type install-ios-xe-oper:install-timer-state; + description + "Install auto abort timer state"; + } + leaf end-time { + when "(../state = 'install-timer-state-active')"; + type yang:date-and-time; + description + "Install auto abort timer end time"; + } + } + + grouping install-oper-state { + description + "Install operational state information"; + container auto-abort-timer { + description + "Install auto abort timer information"; + uses install-ios-xe-oper:install-auto-abort-timer; + } + leaf added-profile { + type string; + description + "Install added profile information"; + } + leaf sys-activity { + type install-ios-xe-oper:install-system-activity; + description + "System level install activity status"; + } + leaf sso-state { + type boolean; + description + "System redundancy state"; + } + leaf boot-mode { + type install-ios-xe-oper:install-boot-mode; + description + "System boot mode"; + } + leaf ctrl-mode { + type boolean; + description + "Indicates if device is controller managed"; + } + } + + grouping install-issu-oper-state { + description + "ISSU operational state information"; + leaf issu-cap { + type install-ios-xe-oper:install-issu-capability; + description + "Capability of a system to start ISSU operation"; + } + } + + grouping install-op-add-param { + description + "Install add operation parameters"; + leaf src-filename { + type string; + description + "Install package source path, can be local or remote"; + } + leaf dest-dir { + type string; + description + "Directory on local media on device where install package will be downloaded"; + } + leaf dest-filename { + type string; + description + "Name of the package to be added"; + } + leaf scheduled-start { + type yang:date-and-time; + description + "Scheduled start time for operation"; + } + leaf scheduled-end { + type yang:date-and-time; + description + "Scheduled end time for operation"; + } + } + + grouping install-op-rollback-param { + description + "Install rollback operation parameters"; + leaf rollback-id { + type uint32; + description + "Id identifying commit point to rollback to"; + } + leaf rollback-label { + type string; + description + "Label identifying commit point to rollback to"; + } + leaf reload-reqd { + type boolean; + description + "Indicates if operation requires device reload"; + } + } + + grouping install-op-activate-param { + description + "Install activate operation parameters"; + leaf abort-timer { + type uint32; + description + "Install activate auto-abort timer value"; + } + leaf scheduled-start { + type yang:date-and-time; + description + "Scheduled start time for operation"; + } + leaf scheduled-end { + type yang:date-and-time; + description + "Scheduled end time for operation"; + } + } + + grouping install-op-deactivate-param { + description + "Install deactivate operation parameters"; + leaf abort-timer { + type uint32; + description + "Install deactivate auto-abort timer value"; + } + } + + grouping install-op-commit-param { + description + "Install commit operation parameters"; + leaf create-chkpt { + type boolean; + description + "parameter controlling commit point creation for future use"; + } + } + + grouping install-op-set-default-param { + description + "Install set default operation parameters"; + leaf version { + type string; + description + "Software image version to set as default"; + } + } + + grouping install-op-download-param { + description + "Install download operation parameters"; + leaf src-path { + type string; + description + "Copy image/SMU source path, can be local or remote"; + } + leaf dest-dir { + type string; + description + "Destination directory for download"; + } + leaf dest-filename { + type string; + description + "Target filename on download"; + } + leaf username { + type string; + description + "Username of remote server"; + } + leaf password { + type string; + description + "Password of remote server"; + } + leaf password-type { + type common-types-ios-xe:password-encryption-type; + description + "Encryption method used for password encryption"; + } + leaf vrf { + type string; + description + "VRF/VPN identifier to be used for download"; + } + leaf timeout { + type uint32; + units "minutes"; + description + "Timeout after which download expires"; + } + leaf scheduled-start { + type yang:date-and-time; + description + "Scheduled start time for operation"; + } + leaf scheduled-end { + type yang:date-and-time; + description + "Scheduled end time for operation"; + } + } + + grouping install-op-remove-param { + description + "Install remove operation parameters"; + leaf dest-dir { + type string; + description + "Directory from where package needs to be removed"; + } + leaf dest-filename { + type string; + description + "Name of the package to be removed"; + } + leaf version { + type string; + description + "Version corresponding to packages to be deleted"; + } + leaf inactive { + type boolean; + description + "Parameter indicating removal of all inactive packages on device"; + } + } + + grouping install-op-cancel-param { + description + "Install abort operation parameters"; + leaf reload-reqd { + type boolean; + description + "Indicates if operation requires device reload"; + } + } + + grouping install-op-key { + description + "Install operation key to uniquely identify operation"; + leaf start-time { + type yang:date-and-time; + description + "Operation Start time"; + } + leaf op-uuid { + type string; + description + "Operation uuid to identify operation uniquely externally"; + } + leaf op-id { + type uint32; + description + "Internal id to track operations on device"; + } + } + + grouping install-operation { + description + "Install operation information"; + list install-txn-summary-op { + when "(../op-done = 'op-not-complete')"; + key "fru slotnum baynum chassisnum txn-id"; + description + "Install transaction summary"; + uses install-ios-xe-oper:install-transaction-summary-key; + uses install-ios-xe-oper:install-transaction-summary; + } + list install-txn-sum-op-hist { + when "(../op-done = 'op-complete')"; + key "fru slotnum baynum chassisnum txn-id"; + description + "Install transaction summary history"; + uses install-ios-xe-oper:install-transaction-summary-key; + uses install-ios-xe-oper:install-transaction-summary; + } + leaf end-time { + type yang:date-and-time; + description + "Install operation end time"; + } + leaf op-status { + type install-oper-types-ios-xe:install-op-sts; + description + "Install operation granular status"; + } + leaf op-done { + type install-oper-types-ios-xe:install-op-finish-sts; + description + "Install operation finish status"; + } + leaf pkg-type { + type install-ios-xe-oper:install-package-type; + description + "Install package type used for operation"; + } + leaf timeout { + type uint32; + description + "Maximum time allowed for the operation completion"; + } + leaf op-intf { + type install-oper-types-ios-xe:install-op-intf; + description + "Device interface used to trigger install operation"; + } + choice op-cmd-choice { + description + "Install operation command"; + case install-op-add { + container add-param { + description + "Install add operation parameters"; + uses install-ios-xe-oper:install-op-add-param; + } + } + case install-op-rollback { + container rollback-param { + description + "Install rollback operation parameters"; + uses install-ios-xe-oper:install-op-rollback-param; + } + } + case install-op-activate { + container act-param { + description + "Install activate operation parameters"; + uses install-ios-xe-oper:install-op-activate-param; + } + } + case install-op-commit { + container commit-param { + description + "Install commit operation parameters"; + uses install-ios-xe-oper:install-op-commit-param; + } + } + case install-op-deactivate { + container deact-param { + description + "Install deactivate operation parameters"; + uses install-ios-xe-oper:install-op-deactivate-param; + } + } + case install-op-remove { + container remove-param { + description + "Install remove operation parameters"; + uses install-ios-xe-oper:install-op-remove-param; + } + } + case install-op-cancel { + container cancel-param { + description + "Install cancel operation parameters"; + uses install-ios-xe-oper:install-op-cancel-param; + } + } + case install-op-set-default { + container set-default-param { + description + "Install set-default operation parameters"; + uses install-ios-xe-oper:install-op-set-default-param; + } + } + case install-op-download { + container download-param { + description + "Install download operation parameters"; + uses install-ios-xe-oper:install-op-download-param; + } + } + } + } + + grouping txn-sub-sts-key { + description + "Time sequence for transaction status changes"; + leaf timestamp { + type yang:date-and-time; + description + "Timestamp when particular status was reported"; + } + } + + grouping txn-sub-sts-val { + description + "Install transaction sub-status value"; + leaf txn-sub-state { + type install-event-types-ios-xe:install-sub-state; + description + "Install transaction sub-status reported for timestamp"; + } + } + + grouping install-transaction-summary-key { + description + "Install location reporting sub status for install operation"; + leaf fru { + type common-types-ios-xe:fru-type; + description + "Field replaceable unit type"; + } + leaf slotnum { + type uint16; + description + "Slot number"; + } + leaf baynum { + type uint16; + description + "Bay number"; + } + leaf chassisnum { + type uint16; + description + "Chassis number"; + } + leaf txn-id { + type uint32; + description + "Transaction id corresponding to status"; + } + } + + grouping install-transaction-summary { + description + "Install transaction summary"; + leaf start-time { + type yang:date-and-time; + description + "Start time for transaction"; + } + leaf end-time { + type yang:date-and-time; + description + "End time for transaction"; + } + leaf txn-cmd { + type install-oper-types-ios-xe:install-txn-cmd; + description + "Install transaction command"; + } + leaf txn-status { + type install-oper-types-ios-xe:install-txn-sts; + description + "Install transaction status"; + } + leaf txn-sub-state { + type install-event-types-ios-xe:install-sub-state; + description + "Install transaction sub-status"; + } + list install-txn-sub-sts-log { + key "timestamp"; + description + "Install transaction sub state update details"; + uses install-ios-xe-oper:txn-sub-sts-key; + uses install-ios-xe-oper:txn-sub-sts-val; + } + } + + grouping install-location-info { + description + "Install operational information for install location"; + list install-packages { + key "pkg-dir pkg-name"; + description + "Install package information"; + uses install-ios-xe-oper:install-package-path; + uses install-ios-xe-oper:install-package-info; + } + list install-version-info { + key "version version-extension"; + description + "Install version information"; + uses install-ios-xe-oper:install-version-key; + uses install-ios-xe-oper:install-version-file; + } + list install-version-state-info { + key "version-state"; + description + "Install version state information"; + uses install-ios-xe-oper:install-version-state-key; + uses install-ios-xe-oper:install-version-key; + } + container oper-state { + description + "Install operational state information"; + uses install-ios-xe-oper:install-oper-state; + } + list install-rbk-info { + key "rbk-id"; + description + "Install rollback points information"; + uses install-ios-xe-oper:install-rollback-point; + } + list install-rbk-label { + key "rbk-label"; + description + "Install rollback labels information"; + uses install-ios-xe-oper:install-rollback-label; + } + list install-profile { + key "name"; + description + "Install profiles information"; + uses install-ios-xe-oper:install-profile; + } + container issu-oper-state { + description + "ISSU operational state information"; + uses install-ios-xe-oper:install-issu-oper-state; + } + } + + grouping install-package-path { + description + "Install package path"; + leaf pkg-dir { + type string; + description + "Package directory"; + } + leaf pkg-name { + type string; + description + "Package name"; + } + } + + grouping install-package-data { + description + "Package data"; + leaf pkg-name { + type string; + description + "Package name"; + } + leaf version { + type string; + description + "Version"; + } + leaf checksum { + type string; + description + "Checksum"; + } + leaf pkg-size { + type uint64; + units "bytes"; + description + "Package size in bytes"; + } + leaf verify-status { + type install-ios-xe-oper:install-package-verify-status; + description + "Package verification status"; + } + leaf timestamp { + when "(parent::node()/parent::node()[local-name() = 'install-packages'])"; + type yang:date-and-time; + description + "Timestamp reflecting when package was copied on device"; + } + choice pkg-type-choice { + description + "Package type"; + case install-pkg-img { + container img-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Image attributes"; + uses install-ios-xe-oper:install-img-attr; + } + } + case install-pkg-smu { + container smu-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Software Maintenance Upgrade attributes"; + uses install-ios-xe-oper:install-smu-attr; + } + } + case install-pkg-subpkg { + container subpkg-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Sub-package attributes"; + uses install-ios-xe-oper:install-subpkg-attr; + } + } + case install-pkg-dmp { + container dmp-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Data Model Package attributes"; + uses install-ios-xe-oper:install-smu-attr; + } + } + case install-pkg-apsp { + container apsp-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Access Point Service Pack attributes"; + uses install-ios-xe-oper:install-smu-attr; + } + } + case install-pkg-apdp { + container apdp-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Access Point Device Pack attributes"; + uses install-ios-xe-oper:install-smu-attr; + } + } + case install-pkg-pkg { + container pkg-attr { + when "(../verify-status = 'install-package-verify-ok')"; + description + "Package attributes"; + uses install-ios-xe-oper:install-img-attr; + } + } + } + } + + grouping install-packages { + description + "Install package info"; + container pkg-data { + description + "Package data"; + uses install-ios-xe-oper:install-package-data; + } + list install-included-packages { + key "inc-version inc-pkg-name"; + description + "Included package information"; + uses install-ios-xe-oper:install-include-pkg-key; + uses install-ios-xe-oper:install-package-data; + } + } + + grouping install-package-data-key { + description + "Package data key"; + leaf version { + type string; + description + "Version"; + } + leaf pkg-name { + type string; + description + "Package name"; + } + } + + grouping install-include-pkg-key { + description + "Package data"; + leaf inc-version { + type string; + description + "Version"; + } + leaf inc-pkg-name { + type string; + description + "Package name"; + } + } + + grouping install-package-info { + description + "Install top package info"; + leaf ios-dir { + type string; + description + "IOS directory path of package"; + } + container pkg-data { + when "(../pkg-action != 'install-package-action-defer-delete')"; + description + "Package data"; + uses install-ios-xe-oper:install-package-data; + } + list install-related-packages { + when "(../pkg-action != 'install-package-action-defer-delete')"; + key "version pkg-name"; + description + "Included package information"; + uses install-ios-xe-oper:install-package-data-key; + uses install-ios-xe-oper:install-packages; + } + leaf cisco-image-name { + type string; + description + "Cisco provided name to package when published"; + } + leaf pkg-action { + type install-ios-xe-oper:install-package-info-action; + description + "Action to be performed on this package"; + } + } + + grouping install-pkg-state-key { + description + "Install package state key"; + leaf package-type { + type install-ios-xe-oper:install-package-type; + description + "Package type"; + } + leaf pkg-dir { + type string; + description + "Package directory"; + } + leaf pkg-name { + type string; + description + "Package name"; + } + } + + grouping install-pkg-state-info { + description + "Install package state information"; + leaf package-state { + type install-ios-xe-oper:install-package-state; + description + "Package state"; + } + } + + grouping install-version-key { + description + "Install version key"; + leaf version { + type string; + description + "Software image version"; + } + leaf version-extension { + type string; + description + "Extended version octet to differentiate base images with same release version"; + } + } + + grouping install-version-file { + description + "Install version file information"; + leaf is-default { + type boolean; + description + "Is this default version"; + } + leaf previous { + type install-ios-xe-oper:install-version-state; + description + "Is this previous version"; + } + leaf current { + type install-ios-xe-oper:install-version-state; + description + "Is this current version"; + } + leaf src-filename { + type string; + description + "Source file name"; + } + leaf src-checksum { + type string; + description + "Source file checksum"; + } + list install-package-state-info { + key "package-type pkg-dir pkg-name"; + description + "Install package state information"; + uses install-ios-xe-oper:install-pkg-state-key; + uses install-ios-xe-oper:install-pkg-state-info; + } + leaf ctrl-ver { + type string; + description + "Compatible controller version"; + } + leaf commit-type { + type install-ios-xe-oper:install-commit-type; + description + "Commit trigger for version"; + } + leaf timestamp { + type yang:date-and-time; + description + "Timestamp for install version entry"; + } + leaf cisco-image-name { + type string; + description + "Cisco provided name to package when published"; + } + } + + grouping install-version-state-key { + description + "Install version state key"; + leaf version-state { + type install-ios-xe-oper:install-version-state; + description + "Version state"; + } + } + + grouping install-rollback-point { + description + "Install rollback point information"; + leaf rbk-id { + type uint32; + description + "Rollback identifier"; + } + leaf date-created { + type yang:date-and-time; + description + "Date of creation of rollback point"; + } + leaf pkg-commit-type { + type install-ios-xe-oper:install-package-type; + description + "Type of commit that created the rollback point"; + } + leaf reload-required { + type boolean; + description + "Is reload required to rollback to this point"; + } + leaf is-valid { + type boolean; + description + "Is rollback point valid"; + } + leaf rbk-label { + type string; + description + "Label for this rollback point"; + } + leaf boot-mode { + type install-ios-xe-oper:install-mode; + description + "Boot mode when rollback point was created"; + } + container base-version { + description + "Base image version for the rollback point"; + uses install-ios-xe-oper:install-version-key; + } + list install-pkg-state { + key "package-type pkg-dir pkg-name"; + description + "Install package state information for this rollback point"; + uses install-ios-xe-oper:install-pkg-state-key; + uses install-ios-xe-oper:install-pkg-state-info; + } + } + + grouping install-rollback-label { + description + "Install rollback label information"; + leaf rbk-label { + type string; + description + "Rollback label information for the rollback point"; + } + leaf descr { + type string; + description + "Description for the rollback point"; + } + leaf rbk-id { + type uint32; + description + "Rollback identifier for the rollback point"; + } + } + + grouping install-rollback-profile-info { + description + "Install rollback profile information"; + leaf rbk-id { + type uint32; + description + "Rollback identifier for the given profile name"; + } + } + + grouping install-profile { + description + "Install profile information"; + leaf name { + type string; + description + "Name of the install profile"; + } + leaf descr { + type string; + description + "Description of the install profile"; + } + choice profile-type-choice { + description + "Type of profile"; + case install-profile-rollback { + container rbk-profile-info { + description + "Rollback profile information"; + uses install-ios-xe-oper:install-rollback-profile-info; + } + } + } + } + + container install-oper-data { + config false; + description + "Install manager operational data"; + list install-oper { + key "start-time op-uuid op-id"; + description + "Install operations under execution on device"; + uses install-ios-xe-oper:install-op-key; + uses install-ios-xe-oper:install-operation; + } + list install-oper-hist { + key "start-time op-uuid op-id"; + description + "Install operations history on device"; + uses install-ios-xe-oper:install-op-key; + uses install-ios-xe-oper:install-operation; + } + list install-location-information { + key "fru slot bay chassis"; + description + "Install locations which contain install specific details"; + uses common-types-ios-xe:internal-location; + uses install-ios-xe-oper:install-location-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-install-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-rpc.yang new file mode 100644 index 000000000..aaa141fe0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-install-rpc.yang @@ -0,0 +1,725 @@ +module Cisco-IOS-XE-install-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-install-rpc"; + prefix install-ios-xe-rpc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2022-07-01 { + description + "- Added optional leafs start and end time to install + and activate RPC for scheduled upgrade support in controller mode."; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-03-01 { + description + "- Added auto upgrade RPC support. + - Added optional leaf UUID for set default RPC."; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-07-01 { + description + "- Added optional leaf download timeout and vpn in + install RPC for controller mode install workflow. + - Added set-default RPC for SDWAN image workflow"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-03-01 { + description + "- Added one shot commit option in activate RPC. + - Added issu option for applicable RPC"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "Modified path length to 255"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "Added install by profile type"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef rollback-type { + type enumeration { + enum rollback-to-base { + value 0; + description + "Rollback to base image"; + } + enum rollback-to-committed { + value 1; + description + "Rollback to committed image"; + } + enum rollback-to-id { + value 2; + description + "Rollback to previous roll back id"; + } + enum rollback-to-label { + value 3; + description + "Rollback to label"; + } + } + description + "Rollback to options"; + } + + typedef install-type { + type enumeration { + enum install-use-path { + value 0; + description + "Install using image path"; + } + enum install-use-profile { + value 1; + description + "Install using profile"; + } + } + description + "Install type options"; + } + + typedef remove-type { + type enumeration { + enum remove-use-version { + value 0; + description + "Option to remove by image version"; + } + enum remove-use-path { + value 1; + description + "Option to remove using image path"; + } + enum remove-use-inactive { + value 2; + description + "Option to remove inactive image"; + } + enum remove-use-profile { + value 3; + description + "Option to remove using profile"; + } + } + description + "Remove type options"; + } + + typedef activate-type { + type enumeration { + enum activate-use-version { + value 0; + description + "Option to activate using image version"; + } + enum activate-use-path { + value 1; + description + "Option to activate using image path"; + } + enum activate-use-profile { + value 2; + description + "Option to activate using profile"; + } + } + description + "activate type options"; + } + + grouping controller-options { + description + "Controller mode options only"; + leaf vpn { + type uint32; + description + "The VPN ID is used to indicate device to select the interface + for the image download"; + } + } + + grouping install { + description + "Install download image, installing or upgrading package and + activate software image. Installs image only or allows one shot operation + option to install, activate and commit image in one step action"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf one-shot { + type boolean; + description + "Software activate and commit in one shot"; + } + leaf reloadfast { + when "(../one-shot = 'true')"; + type boolean; + status deprecated; + description + "Reload fast flag option is applicable in one shot image install request. + This option allows device to reload in fast mode during image upgrade + and activate in an applicable device."; + } + leaf issu { + when "(../one-shot = 'true')"; + type boolean; + description + "Perform one shot In Service Software Upgrade (ISSU)"; + } + container controller-mode-options { + description + "Controller mode options only"; + uses install-ios-xe-rpc:controller-options; + } + leaf download-timeout { + type uint32; + units "minutes"; + description + "Download timeout is used on device from initiating image download request + to complete from remote repository. The image download timeout value is + in minutes and in range between 1 and 1440"; + } + leaf xfsu { + when "(../one-shot = 'true')"; + type boolean; + must "not ((../reloadfast = 'false') and (../xfsu = 'false'))" { + error-message "xFSU and reload fast options should not be set to false at the same time"; + error-app-tag "must-violation"; + } + description + "Perform one shot Extended Fast Software Upgrade (xFSU)"; + } + leaf scheduled-start { + type yang:date-and-time; + must 'current() and (../scheduled-end)' { + error-message "Scheduled start time must be specified along with scheduled end time."; + error-app-tag "must-violation"; + } + description + "Scheduled start time for image install"; + } + leaf scheduled-end { + type yang:date-and-time; + must 'current() and (../scheduled-start)' { + error-message "Scheduled end time must be specified along with scheduled start time."; + error-app-tag "must-violation"; + } + description + "Scheduled end time for image install"; + } + choice install-type-by-choice { + mandatory true; + description + "Install image by choice"; + case install-use-path { + leaf path { + type string { + length "0..256"; + } + mandatory true; + description + "Path to software image"; + } + } + case install-use-profile { + leaf name { + type string; + mandatory true; + description + "Install profile is used in the wireless image + upgrade workflow. Currently it is only used in EWC 9100 + wireless platform for AP pre-image download using profile + on device to upgrade APs in network. Profile name is string"; + } + } + } + } + + grouping activate { + description + "Activate software image"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf smuid { + type uint32; + description + "ID for patching image"; + } + leaf auto-abort-timer-val { + type uint32 { + range "30 .. 1200"; + } + units "minutes"; + description + "Option to change default auto abort wait timer during image + activate action. The timer value is in minutes and + in range between 30 and 1200 minutes. Image activate will + auto abort if action is not confirmed through commit."; + } + leaf one-shot { + type boolean; + description + "Software activate and commit in one shot"; + } + leaf issu { + type boolean; + description + "Perform activation via In Service Software Upgrade (ISSU)"; + } + leaf scheduled-start { + type yang:date-and-time; + must 'current() and (../scheduled-end)' { + error-message "Scheduled start time must be specified along with scheduled end time."; + error-app-tag "must-violation"; + } + description + "Scheduled start time for image activate"; + } + leaf scheduled-end { + type yang:date-and-time; + must 'current() and (../scheduled-start)' { + error-message "Scheduled end time must be specified along with scheduled start time."; + error-app-tag "must-violation"; + } + description + "Scheduled end time for image activate"; + } + choice activate-type-by-choice { + mandatory true; + description + "Activate image by choice"; + case activate-use-version { + leaf version { + type string; + mandatory true; + description + "Image version to activate"; + } + } + case activate-use-path { + leaf path { + type string; + mandatory true; + description + "Path to the software image"; + } + } + case activate-use-profile { + leaf name { + type string; + mandatory true; + description + "Profile name"; + } + } + } + } + + grouping install-commit { + description + "Commit software image"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + } + + grouping autoupgrade { + description + "Auto upgrade software image"; + leaf uuid { + type string { + length "1..128" { + error-message "UUID must be between 1 and 128 characters"; + error-app-tag "must-violation"; + } + } + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + } + + grouping remove { + description + "Remove software image"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf smuid { + type uint32; + description + "ID for patching image"; + } + choice remove-type-by-choice { + mandatory true; + description + "Remove image by choice"; + case remove-use-version { + leaf version { + type string { + length "0..128"; + } + mandatory true; + description + "Image version to remove software image"; + } + } + case remove-use-path { + leaf path { + type string { + length "0..256"; + } + mandatory true; + description + "Image path to remove software image"; + } + } + case remove-use-inactive { + leaf inactive { + type boolean; + mandatory true; + description + "Remove inactive software image"; + } + } + case remove-use-profile { + leaf name { + type string; + mandatory true; + description + "Profile name to remove profile"; + } + } + } + } + + grouping deactivate { + description + "Deactivate software image"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf auto-abort-timer-val { + type uint32 { + range "30 .. 1200"; + } + units "minutes"; + description + "Option to change default auto abort wait timer during image + deactivate action. The timer value is in minutes and + in range between 30 and 1200 minutes. Image deactivate will + auto abort if action is not confirmed through commit."; + } + leaf path { + type string { + length "0..256"; + } + mandatory true; + description + "Path to the software image"; + } + leaf issu { + type boolean; + description + "Perform deactivate operation via In Service Software Upgrade (ISSU)"; + } + } + + grouping abort { + description + "Abort install image"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf issu { + type boolean; + description + "Perform abort via In Service Software Upgrade (ISSU)"; + } + } + + grouping auto-abort-timer { + description + "Option to stop auto abort timer"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + } + + grouping rollback { + description + "install roll back action"; + leaf uuid { + type string; + mandatory true; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + leaf issu { + type boolean; + description + "ISSU rollback"; + } + choice rollback-type-to-choice { + mandatory true; + description + "Rollback to choice"; + case rollback-to-base { + leaf base { + type boolean; + mandatory true; + description + "Confirm roll back to base"; + } + } + case rollback-to-committed { + leaf commited { + type boolean; + mandatory true; + description + "Confirm roll back"; + } + } + case rollback-to-id { + leaf rollback-id { + type uint32; + mandatory true; + description + "Rollback Id"; + } + } + case rollback-to-label { + leaf rollback-label { + type string; + mandatory true; + description + "Rollback label"; + } + } + } + } + + grouping set-default { + description + "The set-default RPC sets the default image in controller mode. Controller + mode supports more than one installed image and one of the images can + be the assigned default image. In the event of factory reset, the device + boots up using the default image"; + leaf version { + type string { + length "0..256"; + } + mandatory true; + description + "Software image version to set as default"; + } + leaf uuid { + type string { + length "1..128" { + error-message "UUID must be between 1 and 128 characters"; + error-app-tag "must-violation"; + } + } + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the install action invoked via RPC + and it is replayed back in the install progress notifications to correlate + them back to the original install operation."; + } + } + + rpc install { + description + "Software install action command"; + input { + uses install-ios-xe-rpc:install; + } + } + + rpc activate { + description + "Software activate action command"; + input { + uses install-ios-xe-rpc:activate; + } + } + + rpc install-commit { + description + "Software commit or upgrade-confirm command"; + input { + uses install-ios-xe-rpc:install-commit; + } + } + + rpc autoupgrade { + description + "Auto upgrade the software image when there is version mismatch between running images in the active compared to running image on the standby or when there is version mismatch between any new member joining the stack."; + input { + uses install-ios-xe-rpc:autoupgrade; + } + } + + rpc remove { + description + "Software remove action command"; + input { + uses install-ios-xe-rpc:remove; + } + } + + rpc deactivate { + description + "Software deactivate action command"; + input { + uses install-ios-xe-rpc:deactivate; + } + } + + rpc abort { + description + "Software abort action command"; + input { + uses install-ios-xe-rpc:abort; + } + } + + rpc auto-abort-timer { + description + "Option to stop auto abort timer"; + input { + uses install-ios-xe-rpc:auto-abort-timer; + } + } + + rpc rollback { + description + "Install rollback action"; + input { + uses install-ios-xe-rpc:rollback; + } + } + + rpc set-default { + description + "The set-default RPC is used to set the default image in controller mode. + This RPC is only applicable in controller mode. The default image will + be set if this RPC executes successfully"; + input { + uses install-ios-xe-rpc:set-default; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-interface-common.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-interface-common.yang new file mode 100644 index 000000000..7c5632850 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-interface-common.yang @@ -0,0 +1,1017 @@ +module Cisco-IOS-XE-interface-common { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-interface-common"; + prefix ios-ifc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Interfaces Common Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add CEM interface range"; + cisco-semver:module-version "3.3.0"; + } + revision 2023-07-01 { + description + "- Add Bundle interface type"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-03-01 { + description + "- Updated 'interface-deprecated-grouping' with missing interface nodes from 'interface-grouping'. + - Updated 'interface-obsolete-grouping' with missing interface nodes from 'interface-grouping'."; + cisco-semver:module-version "3.0.0"; + } + revision 2021-07-01 { + description + "- Added L2LISP interface and subinterface"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "- Added range for Loopback interface in interface-grouping"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "- Added interface type MFR and serial-subinterface"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-03-01 { + description + "- Added Obsolete interface grouping for obsolete interfaces"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + " + - Deprecating Async interface type"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add BD-VIF interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-06-18 { + description + "Change passive-interface to 'leaf-list interface'"; + } + revision 2018-02-08 { + description + "Add a type of Interface: Ethernet"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-13 { + description + "Added leafs for FortyGigabitEthernet and HundredGigE interfaces"; + } + revision 2017-09-15 { + description + "This revison has changes for the new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-03-04 { + description + "Changed LISP key type to string to support OC mapping"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping interface-grouping { + choice interface-choice { + leaf AppNav-Compress { + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + description + "ATM interface"; + type string; + } + container ATM-subinterface { + leaf ATM { + type string; + } + } + leaf ATM-ACR { + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + leaf ATM-ACR { + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]{2}'; + } + } + leaf CEM-ACR { + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + description + "Hundred GigabitEthernet"; + type string; + } + leaf L2LISP { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container L2LISP-subinterface { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + leaf L2LISP { + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf LISP { + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + description + "Loopback interface"; + type uint32 { + range "0..2147483647"; + } + } + leaf Multilink { + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + leaf Port-channel { + type string; + } + } + leaf pseudowire { + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + description + "SM Interface"; + type string; + } + leaf Cellular { + description + "Cellular Interface"; + type string; + } + leaf Dialer { + description + "Dialer Interface"; + type string; + } + leaf Serial { + description + "Serial interface"; + type string; + } + leaf Async { + description + "Async serial interface"; + type string; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + description + "vasileft"; + type uint16; + } + leaf vasiright { + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + type string; + } + leaf MFR { + description + "MFR interface"; + type uint32 { + range "0..2147483647"; + } + } + container Serial-subinterface { + leaf Serial { + type string; + } + } + leaf Bundle { + if-feature "ios-features:cable-config"; + description + "Bundle interfaces"; + type uint32; + } + } + } + + grouping passive-interface-grouping { + container passive-interface { + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + leaf default { + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + type string; + } + } + } + container disable { + when '../passive-interface/default'; + list passive-interface { + key "interface"; + leaf interface { + type string; + } + } + } + } + + grouping interface-deprecated-grouping { + choice interface-choice { + leaf AppNav-Compress { + status deprecated; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + status deprecated; + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + status deprecated; + description + "ATM interface"; + type string; + } + container ATM-subinterface { + status deprecated; + leaf ATM { + status deprecated; + type string; + } + } + leaf ATM-ACR { + status deprecated; + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status deprecated; + leaf ATM-ACR { + status deprecated; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status deprecated; + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + status deprecated; + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status deprecated; + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status deprecated; + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + status deprecated; + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + status deprecated; + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + status deprecated; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + status deprecated; + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + status deprecated; + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigE { + status deprecated; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + status deprecated; + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + status deprecated; + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + status deprecated; + description + "Hundred GigabitEthernet"; + type string; + } + leaf L2LISP { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + status deprecated; + type string; + } + container L2LISP-subinterface { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + leaf L2LISP { + status deprecated; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf LISP { + status deprecated; + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + status deprecated; + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + status deprecated; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status deprecated; + description + "Loopback interface"; + type uint32; + } + leaf Multilink { + status deprecated; + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + status deprecated; + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + status deprecated; + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + status deprecated; + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + status deprecated; + leaf Port-channel { + status deprecated; + type string; + } + } + leaf pseudowire { + status deprecated; + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + status deprecated; + description + "SM Interface"; + type string; + } + leaf Cellular { + status deprecated; + description + "Cellular Interface"; + type string; + } + leaf Dialer { + status deprecated; + description + "Dialer Interface"; + type string; + } + leaf Serial { + status deprecated; + description + "Serial interface"; + type string; + } + leaf Async { + status deprecated; + description + "Async serial interface"; + type string; + } + leaf TenGigabitEthernet { + status deprecated; + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + status deprecated; + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + status deprecated; + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + status deprecated; + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + status deprecated; + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + status deprecated; + description + "vasileft"; + type uint16; + } + leaf vasiright { + status deprecated; + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + status deprecated; + description + "Bridge-Domain Virtual IP interface"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf MFR { + description + "MFR interface"; + status deprecated; + type uint32 { + range "0..2147483647"; + } + } + container Serial-subinterface { + status deprecated; + leaf Serial { + status deprecated; + type string; + } + } + } + } + + grouping interface-obsolete-grouping { + choice interface-choice { + status obsolete; + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + description + "Service-Context Virtual Interface UnCompress"; + status obsolete; + type uint16; + } + leaf ATM { + description + "ATM interface"; + status obsolete; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + description + "ATM-ACR interface"; + status obsolete; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + description + "Bridge-Domain interface"; + status obsolete; + type string; + } + leaf CEM { + description + "CEM interface"; + status obsolete; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + description + "CEM-ACR interface"; + status obsolete; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + description + "cisco embedded service engine module"; + status obsolete; + type string; + } + leaf Ethernet { + description + "IEEE 802.3"; + status obsolete; + type string; + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + status obsolete; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + status obsolete; + type string; + } + leaf FiveGigabitEthernet { + description + "Five GigabitEthernet "; + status obsolete; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + status obsolete; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five GigabitEthernet "; + status obsolete; + type string; + } + leaf TwoGigabitEthernet { + description + "Two GigabitEthernet "; + status obsolete; + type string; + } + leaf FortyGigabitEthernet { + description + "Forty GigabitEthernet "; + status obsolete; + type string; + } + leaf HundredGigE { + description + "Hundred GigabitEthernet"; + status obsolete; + type string; + } + leaf L2LISP { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + status obsolete; + type string; + } + container L2LISP-subinterface { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + status obsolete; + leaf L2LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf LISP { + description + "Locator/ID Separation Protocol Virtual Interface"; + status obsolete; + type string; + } + container LISP-subinterface { + description + "Locator/ID Separation Protocol Virtual Interface"; + status obsolete; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + description + "Loopback interface"; + status obsolete; + type uint32; + } + leaf Multilink { + description + "Multilink-group interface"; + status obsolete; + type uint16; + } + leaf nve { + description + "Network virtualization endpoint interface"; + status obsolete; + type uint16; + } + leaf overlay { + description + "Overlay interface"; + status obsolete; + type uint16; + } + leaf Port-channel { + description + "Ethernet Channel of interfaces"; + status obsolete; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + description + "Pseudowire Interface"; + status obsolete; + type uint32; + } + leaf SM { + description + "SM Interface"; + status obsolete; + type string; + } + leaf Cellular { + description + "Cellular Interface"; + status obsolete; + type string; + } + leaf Dialer { + description + "Dialer Interface"; + status obsolete; + type string; + } + leaf Serial { + description + "Serial interface"; + status obsolete; + type string; + } + leaf Async { + description + "Async serial interface"; + status obsolete; + type string; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + status obsolete; + type string; + } + leaf Tunnel { + description + "Tunnel interface"; + status obsolete; + type uint32; + } + leaf Virtual-Template { + description + "Virtual Template interface"; + status obsolete; + type uint16; + } + leaf Vlan { + description + "Iosxr Vlans"; + status obsolete; + type uint16; + } + leaf VirtualPortGroup { + description + "Virtual Port Group"; + status obsolete; + type uint16; + } + leaf vasileft { + description + "vasileft"; + status obsolete; + type uint16; + } + leaf vasiright { + description + "vasiright"; + status obsolete; + type uint16; + } + leaf BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + status obsolete; + type string; + } + leaf MFR { + description + "MFR interface"; + status obsolete; + type uint32 { + range "0..2147483647"; + } + } + container Serial-subinterface { + status obsolete; + leaf Serial { + status obsolete; + type string; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-deviation.yang new file mode 100644 index 000000000..32af63408 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-deviation.yang @@ -0,0 +1,37 @@ +module Cisco-IOS-XE-interfaces-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-interfaces-deviation"; + prefix ios-interfaces-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Interfaces Deviation YANG module for IOS + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Make shutdown leaf not supported for L2LISP-subinterface"; + cisco-semver:module-version "1.3.0"; + } + + deviation "/ios:native/ios:interface/ios:L2LISP-subinterface/ios:L2LISP/ios:shutdown" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:vrf-choice/ios:vrf/ios:vrf/ios:forwarding" { + deviate delete { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-oper.yang new file mode 100644 index 000000000..f7f1b3129 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces-oper.yang @@ -0,0 +1,5130 @@ +module Cisco-IOS-XE-interfaces-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-interfaces-oper"; + prefix interfaces-ios-xe-oper; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the interfaces in a Network Element. + Copyright (c) 2016-2020, 2022, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added interface EEE capability information + - Added a counter of undersize frames + to the Ethernet statistics counters"; + reference + "3.8.0"; + cisco-semver:module-version "3.8.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added EEE operational state for select interfaces"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2021-03-01 { + description + "- Added detected upstream bandwidth, + - Added detected downstream bandwidth"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2020-07-01 { + description + "- Added storm control for broadcast, multicast, unicast, + and unknown unicast + - Added storm control for level shared case"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2020-03-01 { + description + "- Added in-discards-64, in-errors-64, in-unknown-protocol-64, + out-octets-64 to increase the storage class to 64 bits + - Added has-child in classifier stats"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2019-11-01 { + description + "- Added media type to interface + - Added more interface speed values"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-05-01 { + description + "- Added ethernet error counters. + - Added semantic version"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-06-29 { + description + "- Add switching interface speed values + - Add synchronous serial interface model"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-02-01 { + description + "IPv6 addresses"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-10-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef qos-match-type { + type enumeration { + enum qos-match-dscp { + value 0; + } + enum qos-match-src-ip { + value 1; + } + enum qos-match-dst-ip { + value 2; + } + enum qos-match-src-port { + value 3; + } + enum qos-match-dst-port { + value 4; + } + enum qos-match-proto { + value 5; + } + } + description + "QOS match type"; + } + + typedef thresh-unit { + type enumeration { + enum thresh-units-default { + value 0; + } + enum thresh-units-bytes { + value 1; + } + enum thresh-units-sec { + value 2; + } + enum thresh-units-packets { + value 3; + } + enum thresh-units-cells { + value 4; + } + enum thresh-units-percent { + value 5; + } + } + description + "Units of threshold"; + } + + typedef qos-direction { + type enumeration { + enum qos-inbound { + value 0; + description + "Direction of traffic coming into the network entry"; + } + enum qos-outbound { + value 1; + description + "Direction of traffic going out of the network entry"; + } + } + description + "QoS direction indication"; + } + + typedef aggregation-type { + type enumeration { + enum lag-off { + value 0; + description + "LAG mode is off"; + } + enum lag-auto { + value 1; + description + "LAG mode is auto"; + } + enum lag-active { + value 2; + description + "LAG mode is active"; + } + enum lag-passive { + value 3; + description + "LAG mode is passive"; + } + } + description + "Type to define the lag-type, i.e., how the LAG is + defined and managed"; + } + + typedef intf-state { + type enumeration { + enum if-state-unknown { + value 0; + } + enum if-state-up { + value 1; + } + enum if-state-down { + value 2; + } + enum if-state-test { + value 3; + } + } + description + "The desired state of the interface. + This leaf has the same read semantics as ifAdminStatus. + Reference: + RFC 2863: The Interfaces Group MIB - ifAdminStatus"; + } + + typedef ether-duplex { + type enumeration { + enum full-duplex { + value 0; + } + enum half-duplex { + value 1; + } + enum auto-duplex { + value 2; + } + enum unknown-duplex { + value 3; + } + } + description + "The duplex setting of the interface"; + } + + typedef ether-speed { + type enumeration { + enum speed-10mb { + value 0; + } + enum speed-100mb { + value 1; + } + enum speed-1gb { + value 2; + } + enum speed-10gb { + value 3; + } + enum speed-25gb { + value 4; + } + enum speed-40gb { + value 5; + } + enum speed-50gb { + value 6; + } + enum speed-100gb { + value 7; + } + enum speed-unknown { + value 8; + } + enum speed-auto { + value 9; + } + enum speed-2500mb { + value 10; + description + "Ethernet Speed 2500 MBPS"; + } + enum speed-5gb { + value 11; + description + "Ethernet Speed 5 GBPS"; + } + enum speed-400gb { + value 12; + description + "Ethernet Speed 400 GBPS"; + } + } + description + "The speed setting of the interface"; + } + + typedef oper-state { + type enumeration { + enum if-oper-state-invalid { + value 0; + } + enum if-oper-state-ready { + value 1; + } + enum if-oper-state-no-pass { + value 2; + } + enum if-oper-state-test { + value 3; + } + enum if-oper-state-unknown { + value 4; + } + enum if-oper-state-dormant { + value 5; + } + enum if-oper-state-not-present { + value 6; + } + enum if-oper-state-lower-layer-down { + value 7; + } + } + description + "The current operational state of the interface. + This leaf has the same semantics as ifOperStatus. + Reference: + RFC 2863: The Interfaces Group MIB - ifOperStatus"; + } + + typedef ietf-intf-type { + type enumeration { + enum iana-iftype-other { + value 1; + } + enum iana-iftype-regular1822 { + value 2; + } + enum iana-iftype-hdh1822 { + value 3; + } + enum iana-iftype-ddnx25 { + value 4; + } + enum iana-iftype-rfc877x25 { + value 5; + } + enum iana-iftype-ethernet-csmacd { + value 6; + } + enum iana-iftype-iso88023-csmacd { + value 7; + } + enum iana-iftype-iso88024-tokenbus { + value 8; + } + enum iana-iftype-iso88025-tokenring { + value 9; + } + enum iana-iftype-iso88026-man { + value 10; + } + enum iana-iftype-starlan { + value 11; + } + enum iana-iftype-proteon10mbit { + value 12; + } + enum iana-iftype-proteon80mbit { + value 13; + } + enum iana-iftype-hyperchannel { + value 14; + } + enum iana-iftype-fddi { + value 15; + } + enum iana-iftype-lapb { + value 16; + } + enum iana-iftype-sdlc { + value 17; + } + enum iana-iftype-ds1 { + value 18; + } + enum iana-iftype-e1 { + value 19; + } + enum iana-iftype-basicisdn { + value 20; + } + enum iana-iftype-primaryisdn { + value 21; + } + enum iana-iftype-prop-p2p-serial { + value 22; + } + enum iana-iftype-ppp { + value 23; + } + enum iana-iftype-sw-loopback { + value 24; + } + enum iana-iftype-eon { + value 25; + } + enum iana-iftype-ethernet3mbit { + value 26; + } + enum iana-iftype-nsip { + value 27; + } + enum iana-iftype-slip { + value 28; + } + enum iana-iftype-ultra { + value 29; + } + enum iana-iftype-ds3 { + value 30; + } + enum iana-iftype-sip { + value 31; + } + enum iana-iftype-framerelay { + value 32; + } + enum iana-iftype-rs232 { + value 33; + } + enum iana-iftype-para { + value 34; + } + enum iana-iftype-arcnet { + value 35; + } + enum iana-iftype-arcnetplus { + value 36; + } + enum iana-iftype-atm { + value 37; + } + enum iana-iftype-miox25 { + value 38; + } + enum iana-iftype-sonet { + value 39; + } + enum iana-iftype-x25ple { + value 40; + } + enum iana-iftype-iso88022-llc { + value 41; + } + enum iana-iftype-localtalk { + value 42; + } + enum iana-iftype-smdsdxi { + value 43; + } + enum iana-iftype-framerelay-service { + value 44; + } + enum iana-iftype-v35 { + value 45; + } + enum iana-iftype-hssi { + value 46; + } + enum iana-iftype-hippi { + value 47; + } + enum iana-iftype-modem { + value 48; + } + enum iana-iftype-aal5 { + value 49; + } + enum iana-iftype-sonetpath { + value 50; + } + enum iana-iftype-sonetvt { + value 51; + } + enum iana-iftype-smdsicip { + value 52; + } + enum iana-iftype-propvirtual { + value 53; + } + enum iana-iftype-propmultiplexor { + value 54; + } + enum iana-iftype-ieee80212 { + value 55; + } + enum iana-iftype-fiberchannel { + value 56; + } + enum iana-iftype-hippi-interface { + value 57; + } + enum iana-iftype-framerelay-interconnect { + value 58; + } + enum iana-iftype-aflane8023 { + value 59; + } + enum iana-iftype-aflane8025 { + value 60; + } + enum iana-iftype-cctemul { + value 61; + } + enum iana-iftype-fastether { + value 62; + } + enum iana-iftype-isdn { + value 63; + } + enum iana-iftype-v11 { + value 64; + } + enum iana-iftype-v36 { + value 65; + } + enum iana-iftype-g703at64k { + value 66; + } + enum iana-iftype-g703at2mb { + value 67; + } + enum iana-iftype-qllc { + value 68; + } + enum iana-iftype-fastetherfx { + value 69; + } + enum iana-iftype-channel { + value 70; + } + enum iana-iftype-ieee80211 { + value 71; + } + enum iana-iftype-ibm370parchan { + value 72; + } + enum iana-iftype-escon { + value 73; + } + enum iana-iftype-dlsw { + value 74; + } + enum iana-iftype-isdns { + value 75; + } + enum iana-iftype-isdnu { + value 76; + } + enum iana-iftype-lapd { + value 77; + } + enum iana-iftype-ipswitch { + value 78; + } + enum iana-iftype-rsrb { + value 79; + } + enum iana-iftype-atmlogical { + value 80; + } + enum iana-iftype-ds0 { + value 81; + } + enum iana-iftype-ds0bundle { + value 82; + } + enum iana-iftype-bsc { + value 83; + } + enum iana-iftype-async { + value 84; + } + enum iana-iftype-cnr { + value 85; + } + enum iana-iftype-iso88025-dtr { + value 86; + } + enum iana-iftype-eplrs { + value 87; + } + enum iana-iftype-arap { + value 88; + } + enum iana-iftype-propcnls { + value 89; + } + enum iana-iftype-hostpad { + value 90; + } + enum iana-iftype-termpad { + value 91; + } + enum iana-iftype-framerelay-mpi { + value 92; + } + enum iana-iftype-x213 { + value 93; + } + enum iana-iftype-adsl { + value 94; + } + enum iana-iftype-radsl { + value 95; + } + enum iana-iftype-sdsl { + value 96; + } + enum iana-iftype-vdsl { + value 97; + } + enum iana-iftype-iso88025-crfpint { + value 98; + } + enum iana-iftype-myrinet { + value 99; + } + enum iana-iftype-voiceem { + value 100; + } + enum iana-iftype-voicefxo { + value 101; + } + enum iana-iftype-voicefxs { + value 102; + } + enum iana-iftype-voiceencap { + value 103; + } + enum iana-iftype-voip { + value 104; + } + enum iana-iftype-atmdxi { + value 105; + } + enum iana-iftype-atmfuni { + value 106; + } + enum iana-iftype-atmima { + value 107; + } + enum iana-iftype-ppp-multilinkbundle { + value 108; + } + enum iana-iftype-ipovercdlc { + value 109; + } + enum iana-iftype-ipoverclaw { + value 110; + } + enum iana-iftype-stack2stack { + value 111; + } + enum iana-iftype-virtualipaddress { + value 112; + } + enum iana-iftype-mpc { + value 113; + } + enum iana-iftype-ipoveratm { + value 114; + } + enum iana-iftype-iso88025-fiber { + value 115; + } + enum iana-iftype-tdlc { + value 116; + } + enum iana-iftype-gige { + value 117; + } + enum iana-iftype-hdlc { + value 118; + } + enum iana-iftype-lapf { + value 119; + } + enum iana-iftype-v37 { + value 120; + } + enum iana-iftype-x25mlp { + value 121; + } + enum iana-iftype-x25huntgroup { + value 122; + } + enum iana-iftype-transphdlc { + value 123; + } + enum iana-iftype-interleave { + value 124; + } + enum iana-iftype-fast { + value 125; + } + enum iana-iftype-ip { + value 126; + } + enum iana-iftype-docs-cable-maclayer { + value 127; + } + enum iana-iftype-docs-cable-downstream { + value 128; + } + enum iana-iftype-docs-cable-upstream { + value 129; + } + enum iana-iftype-a12mppswitch { + value 130; + } + enum iana-iftype-tunnel { + value 131; + } + enum iana-iftype-coffee { + value 132; + } + enum iana-iftype-ces { + value 133; + } + enum iana-iftype-atmsubinterface { + value 134; + } + enum iana-iftype-l2vlan { + value 135; + } + enum iana-iftype-l3ipvlan { + value 136; + } + enum iana-iftype-l3ipxvlan { + value 137; + } + enum iana-iftype-digital-powerline { + value 138; + } + enum iana-iftype-media-mailoverip { + value 139; + } + enum iana-iftype-dtm { + value 140; + } + enum iana-iftype-dcn { + value 141; + } + enum iana-iftype-ipforward { + value 142; + } + enum iana-iftype-msdsl { + value 143; + } + enum iana-iftype-ieee1394 { + value 144; + } + enum iana-iftype-gsn { + value 145; + } + enum iana-iftype-dvbrcc-maclayer { + value 146; + } + enum iana-iftype-dvbrcc-downstream { + value 147; + } + enum iana-iftype-dvbrcc-upstream { + value 148; + } + enum iana-iftype-atmvirtual { + value 149; + } + enum iana-iftype-mplstunnel { + value 150; + } + enum iana-iftype-srp { + value 151; + } + enum iana-iftype-voiceoveratm { + value 152; + } + enum iana-iftype-voiceoverframerelay { + value 153; + } + enum iana-iftype-idsl { + value 154; + } + enum iana-iftype-compositelink { + value 155; + } + enum iana-iftype-ss7siglink { + value 156; + } + enum iana-iftype-propwireless-p2p { + value 157; + } + enum iana-iftype-frforward { + value 158; + } + enum iana-iftype-rfc1483 { + value 159; + } + enum iana-iftype-usb { + value 160; + } + enum iana-iftype-ieee8023-adlag { + value 161; + } + enum iana-iftype-bgppolicy-accounting { + value 162; + } + enum iana-iftype-frf16mfrbundle { + value 163; + } + enum iana-iftype-h323gatekeeper { + value 164; + } + enum iana-iftype-h323proxy { + value 165; + } + enum iana-iftype-mpls { + value 166; + } + enum iana-iftype-mfsiglink { + value 167; + } + enum iana-iftype-hdsl2 { + value 168; + } + enum iana-iftype-shdsl { + value 169; + } + enum iana-iftype-ds1fdl { + value 170; + } + enum iana-iftype-pos { + value 171; + } + enum iana-iftype-dvbasiin { + value 172; + } + enum iana-iftype-dvbasiout { + value 173; + } + enum iana-iftype-plc { + value 174; + } + enum iana-iftype-nfas { + value 175; + } + enum iana-iftype-tr008 { + value 176; + } + enum iana-iftype-gr303rdt { + value 177; + } + enum iana-iftype-gr303idt { + value 178; + } + enum iana-iftype-isup { + value 179; + } + enum iana-iftype-prop-docs-wireless-maclayer { + value 180; + } + enum iana-iftype-prop-docs-wireless-downstream { + value 181; + } + enum iana-iftype-prop-docs-wireless-upstream { + value 182; + } + enum iana-iftype-hiperlan2 { + value 183; + } + enum iana-iftype-prop-bwap2mp { + value 184; + } + enum iana-iftype-sonetoverheadchannel { + value 185; + } + enum iana-iftype-digital-wrapperoverheadchannel { + value 186; + } + enum iana-iftype-aal2 { + value 187; + } + enum iana-iftype-radiomac { + value 188; + } + enum iana-iftype-atmradio { + value 189; + } + enum iana-iftype-imt { + value 190; + } + enum iana-iftype-mvl { + value 191; + } + enum iana-iftype-reachhdsl { + value 192; + } + enum iana-iftype-frdlciendpt { + value 193; + } + enum iana-iftype-atmvciendpt { + value 194; + } + enum iana-iftype-opticalchannel { + value 195; + } + enum iana-iftype-opticaltransport { + value 196; + } + enum iana-iftype-propatm { + value 197; + } + enum iana-iftype-voiceovercable { + value 198; + } + enum iana-iftype-infiniband { + value 199; + } + enum iana-iftype-telink { + value 200; + } + enum iana-iftype-q2931 { + value 201; + } + enum iana-iftype-virtualatg { + value 202; + } + enum iana-iftype-siptg { + value 203; + } + enum iana-iftype-sipsig { + value 204; + } + enum iana-iftype-docs-cable-upstreamchannel { + value 205; + } + enum iana-iftype-econet { + value 206; + } + enum iana-iftype-pon155 { + value 207; + } + enum iana-iftype-pon622 { + value 208; + } + enum iana-iftype-bridge-if { + value 209; + } + enum iana-iftype-linegroup { + value 210; + } + enum iana-iftype-voiceemfgd { + value 211; + } + enum iana-iftype-voiceefgdeana { + value 212; + } + enum iana-iftype-voicedid { + value 213; + } + enum iana-iftype-mpegtransport { + value 214; + } + enum iana-iftype-sixtofour { + value 215; + } + enum iana-iftype-gtp { + value 216; + } + enum iana-iftype-pdnetherloop1 { + value 217; + } + enum iana-iftype-pdnetherloop2 { + value 218; + } + enum iana-iftype-opticalchannel-group { + value 219; + } + enum iana-iftype-homepna { + value 220; + } + enum iana-iftype-gfp { + value 221; + } + enum iana-iftype-ciscoislvlan { + value 222; + } + enum iana-iftype-actelismetaloop { + value 223; + } + enum iana-iftype-fciplink { + value 224; + } + enum iana-iftype-rpr { + value 225; + } + enum iana-iftype-qam { + value 226; + } + enum iana-iftype-lmp { + value 227; + } + enum iana-iftype-cblvectastar { + value 228; + } + enum iana-iftype-docs-cable-mcmts-downtream { + value 229; + } + enum iana-iftype-adsl2 { + value 230; + } + enum iana-iftype-macseccontrolledif { + value 231; + } + enum iana-iftype-macsecuncontrolledif { + value 232; + } + enum iana-iftype-aviciopticalether { + value 233; + } + enum iana-iftype-atmbond { + value 234; + } + enum iana-iftype-voicefgdos { + value 235; + } + enum iana-iftype-mocaversion1 { + value 236; + } + enum iana-iftype-ieee80216-wman { + value 237; + } + enum iana-iftype-adsl2plus { + value 238; + } + enum iana-iftype-dvbrcsmaclayer { + value 239; + } + enum iana-iftype-dvbtdm { + value 240; + } + enum iana-iftype-dvbrcstdma { + value 241; + } + enum iana-iftype-x86laps { + value 242; + } + enum iana-iftype-wwanpp { + value 243; + } + enum iana-iftype-wwanpp2 { + value 244; + } + enum iana-iftype-voiceebs { + value 245; + } + enum iana-iftype-ifpwtype { + value 246; + } + enum iana-iftype-ilan { + value 247; + } + enum iana-iftype-pip { + value 248; + } + enum iana-iftype-aluelp { + value 249; + } + enum iana-iftype-gpon { + value 250; + } + enum iana-iftype-vdsl2 { + value 251; + } + enum iana-iftype-capwapdot11-profile { + value 252; + } + enum iana-iftype-capwapdot11-bss { + value 253; + } + enum iana-iftype-capwapwtp-virtualradio { + value 254; + } + enum iana-iftype-bits { + value 255; + } + enum iana-iftype-docs-cable-upstreamrfport { + value 256; + } + enum iana-iftype-cable-downstreamrfport { + value 257; + } + enum iana-iftype-vmware-virtualnic { + value 258; + } + enum iana-iftype-ieee802154 { + value 259; + } + enum iana-iftype-otnodu { + value 260; + } + enum iana-iftype-otnotu { + value 261; + } + enum iana-iftype-ifvfitype { + value 262; + } + enum iana-iftype-g9981 { + value 263; + } + enum iana-iftype-g9982 { + value 264; + } + enum iana-iftype-g9983 { + value 265; + } + enum iana-iftype-aluepon { + value 266; + } + enum iana-iftype-aluepon-onu { + value 267; + } + enum iana-iftype-aluepon-physicaluni { + value 268; + } + enum iana-iftype-aluepon-logicalink { + value 269; + } + enum iana-iftype-alugpon-onu { + value 270; + } + enum iana-iftype-alugpon-physicaluni { + value 271; + } + enum iana-iftype-vmwarenicteam { + value 272; + } + enum iana-iftype-docs-ofdm-downstream { + value 277; + } + enum iana-iftype-docs-ofdma-upstream { + value 278; + } + enum iana-iftype-gfast { + value 279; + } + enum iana-iftype-sdci { + value 280; + } + enum iana-iftype-xbox-wireless { + value 281; + } + enum iana-iftype-fastdsl { + value 282; + } + } + description + "IANAifType + This data type is used as the syntax of the ifType + object in the (updated) definition of MIB-II's ifTable"; + } + + typedef media-type-class { + type enumeration { + enum ether-media-type-none { + value 0; + } + enum ether-media-type-aui { + value 1; + } + enum ether-media-type-10baset { + value 2; + } + enum ether-media-type-nothing-here { + value 3; + } + enum ether-media-type-rj45 { + value 4; + } + enum ether-media-type-mii { + value 5; + } + enum ether-media-type-auto-select { + value 6; + } + enum ether-media-type-epif-utp { + value 7; + } + enum ether-media-type-epif-fx { + value 8; + } + enum ether-media-type-gpif-lx { + value 9; + } + enum ether-media-type-gpif-sx { + value 10; + } + enum ether-media-type-parallel { + value 11; + } + enum ether-media-type-serial10km { + value 12; + } + enum ether-media-type-vsr300m { + value 13; + } + enum ether-media-type-metrowdm50km { + value 14; + } + enum ether-media-type-not-connected { + value 15; + } + enum ether-media-type-port-missing { + value 16; + } + enum ether-media-type-gbic-missing { + value 17; + } + enum ether-media-type-feip-mmf-st { + value 18; + } + enum ether-media-type-feip-mmf-sc { + value 19; + } + enum ether-media-type-1000basecx-gigstack { + value 20; + } + enum ether-media-type-serial40km { + value 21; + } + enum ether-media-type-serial50km { + value 22; + } + enum ether-media-type-unapproved { + value 23; + } + enum ether-media-type-unsupported { + value 24; + } + enum ether-media-type-bad-eeprom { + value 25; + } + enum ether-media-type-gbic { + value 26; + } + enum ether-media-type-sfp { + value 27; + } + enum ether-media-type-xenpak { + value 28; + } + enum ether-media-type-100base-fx { + value 29; + } + enum ether-media-type-100base-tx { + value 30; + } + enum ether-media-type-rj21 { + value 31; + } + enum ether-media-type-100mtrj-fx { + value 32; + } + enum ether-media-type-100mtrj-lx { + value 33; + } + enum ether-media-type-internal { + value 34; + } + enum ether-media-type-1000baset { + value 35; + } + enum ether-media-type-gpif-zx { + value 36; + } + enum ether-media-type-1000base-cwdm-1470 { + value 37; + } + enum ether-media-type-1000base-cwdm-1490 { + value 38; + } + enum ether-media-type-1000base-cwdm-1510 { + value 39; + } + enum ether-media-type-1000base-cwdm-1530 { + value 40; + } + enum ether-media-type-1000base-cwdm-1550 { + value 41; + } + enum ether-media-type-1000base-cwdm-1570 { + value 42; + } + enum ether-media-type-1000base-cwdm-1590 { + value 43; + } + enum ether-media-type-1000base-cwdm-1610 { + value 44; + } + enum ether-media-type-1000base-dwdm-6061 { + value 45; + } + enum ether-media-type-1000base-dwdm-5979 { + value 46; + } + enum ether-media-type-1000base-dwdm-5898 { + value 47; + } + enum ether-media-type-1000base-dwdm-5817 { + value 48; + } + enum ether-media-type-1000base-dwdm-5655 { + value 49; + } + enum ether-media-type-1000base-dwdm-5575 { + value 50; + } + enum ether-media-type-1000base-dwdm-5494 { + value 51; + } + enum ether-media-type-1000base-dwdm-5413 { + value 52; + } + enum ether-media-type-1000base-dwdm-5252 { + value 53; + } + enum ether-media-type-1000base-dwdm-5172 { + value 54; + } + enum ether-media-type-1000base-dwdm-5092 { + value 55; + } + enum ether-media-type-1000base-dwdm-5012 { + value 56; + } + enum ether-media-type-1000base-dwdm-4851 { + value 57; + } + enum ether-media-type-1000base-dwdm-4772 { + value 58; + } + enum ether-media-type-1000base-dwdm-4692 { + value 59; + } + enum ether-media-type-1000base-dwdm-4612 { + value 60; + } + enum ether-media-type-1000base-dwdm-4453 { + value 61; + } + enum ether-media-type-1000base-dwdm-4373 { + value 62; + } + enum ether-media-type-1000base-dwdm-4294 { + value 63; + } + enum ether-media-type-1000base-dwdm-4214 { + value 64; + } + enum ether-media-type-1000base-dwdm-4056 { + value 65; + } + enum ether-media-type-1000base-dwdm-3977 { + value 66; + } + enum ether-media-type-1000base-dwdm-3898 { + value 67; + } + enum ether-media-type-1000base-dwdm-3819 { + value 68; + } + enum ether-media-type-1000base-dwdm-3661 { + value 69; + } + enum ether-media-type-1000base-dwdm-3582 { + value 70; + } + enum ether-media-type-1000base-dwdm-3504 { + value 71; + } + enum ether-media-type-1000base-dwdm-3425 { + value 72; + } + enum ether-media-type-1000base-dwdm-3268 { + value 73; + } + enum ether-media-type-1000base-dwdm-3190 { + value 74; + } + enum ether-media-type-1000base-dwdm-3112 { + value 75; + } + enum ether-media-type-1000base-dwdm-3033 { + value 76; + } + enum ether-media-type-1000base-dwdm-6141 { + value 77; + } + enum ether-media-type-1000base-dwdm-5736 { + value 78; + } + enum ether-media-type-1000base-dwdm-5332 { + value 79; + } + enum ether-media-type-1000base-dwdm-4931 { + value 80; + } + enum ether-media-type-1000base-dwdm-4532 { + value 81; + } + enum ether-media-type-1000base-dwdm-4134 { + value 82; + } + enum ether-media-type-1000base-dwdm-3739 { + value 83; + } + enum ether-media-type-1000base-dwdm-3346 { + value 84; + } + enum ether-media-type-unknown { + value 85; + } + enum ether-media-type-1000base-bx10u { + value 86; + } + enum ether-media-type-1000base-bx10d { + value 87; + } + enum ether-media-type-1000base-tdwdm { + value 88; + } + enum ether-media-type-10gbase-sr { + value 89; + } + enum ether-media-type-10gbase-sr-sw { + value 90; + } + enum ether-media-type-sfp-plus { + value 91; + } + enum ether-media-type-gpif-ex { + value 92; + } + enum ether-media-type-100base-bx10u { + value 93; + } + enum ether-media-type-100base-bx10d { + value 94; + } + enum ether-media-type-10gbase-dwdm-3033 { + value 95; + } + enum ether-media-type-10gbase-dwdm-3112 { + value 96; + } + enum ether-media-type-10gbase-dwdm-3190 { + value 97; + } + enum ether-media-type-10gbase-dwdm-3268 { + value 98; + } + enum ether-media-type-10gbase-dwdm-3425 { + value 99; + } + enum ether-media-type-10gbase-dwdm-3504 { + value 100; + } + enum ether-media-type-10gbase-dwdm-3582 { + value 101; + } + enum ether-media-type-10gbase-dwdm-3661 { + value 102; + } + enum ether-media-type-10gbase-dwdm-3819 { + value 103; + } + enum ether-media-type-10gbase-dwdm-3898 { + value 104; + } + enum ether-media-type-10gbase-dwdm-3977 { + value 105; + } + enum ether-media-type-10gbase-dwdm-4056 { + value 106; + } + enum ether-media-type-10gbase-dwdm-4214 { + value 107; + } + enum ether-media-type-10gbase-dwdm-4294 { + value 108; + } + enum ether-media-type-10gbase-dwdm-4373 { + value 109; + } + enum ether-media-type-10gbase-dwdm-4453 { + value 110; + } + enum ether-media-type-10gbase-dwdm-4612 { + value 111; + } + enum ether-media-type-10gbase-dwdm-4692 { + value 112; + } + enum ether-media-type-10gbase-dwdm-4772 { + value 113; + } + enum ether-media-type-10gbase-dwdm-4851 { + value 114; + } + enum ether-media-type-10gbase-dwdm-5012 { + value 115; + } + enum ether-media-type-10gbase-dwdm-5092 { + value 116; + } + enum ether-media-type-10gbase-dwdm-5172 { + value 117; + } + enum ether-media-type-10gbase-dwdm-5252 { + value 118; + } + enum ether-media-type-10gbase-dwdm-5413 { + value 119; + } + enum ether-media-type-10gbase-dwdm-5494 { + value 120; + } + enum ether-media-type-10gbase-dwdm-5575 { + value 121; + } + enum ether-media-type-10gbase-dwdm-5655 { + value 122; + } + enum ether-media-type-10gbase-dwdm-5817 { + value 123; + } + enum ether-media-type-10gbase-dwdm-5898 { + value 124; + } + enum ether-media-type-10gbase-dwdm-5979 { + value 125; + } + enum ether-media-type-10gbase-dwdm-6061 { + value 126; + } + enum ether-media-type-10gbase-tdwdm { + value 127; + } + enum ether-media-type-100base-zx { + value 128; + } + enum ether-media-type-100base-ex { + value 129; + } + enum ether-media-type-sfp-plus-10ge-sr { + value 130; + } + enum ether-media-type-sfp-plus-10ge-lr { + value 131; + } + enum ether-media-type-sfp-plus-10ge-lrm { + value 132; + } + enum ether-media-type-sfp-plus-10ge-er { + value 133; + } + enum ether-media-type-10gbase-cu1m { + value 134; + } + enum ether-media-type-10gbase-cu3m { + value 135; + } + enum ether-media-type-10gbase-cu5m { + value 136; + } + enum ether-media-type-10gbase-cu7m { + value 137; + } + enum ether-media-type-10gbase-cwdm-1470 { + value 138; + } + enum ether-media-type-10gbase-cwdm-1490 { + value 139; + } + enum ether-media-type-10gbase-cwdm-1510 { + value 140; + } + enum ether-media-type-10gbase-cwdm-1530 { + value 141; + } + enum ether-media-type-10gbase-cwdm-1550 { + value 142; + } + enum ether-media-type-10gbase-cwdm-1570 { + value 143; + } + enum ether-media-type-10gbase-cwdm-1590 { + value 144; + } + enum ether-media-type-10gbase-cwdm-1610 { + value 145; + } + enum ether-media-type-100base-lx { + value 146; + } + enum ether-media-type-100lc-bx10-d { + value 147; + } + enum ether-media-type-100lc-bx10-u { + value 148; + } + enum ether-media-type-100base-bx10-d { + value 149; + } + enum ether-media-type-100base-bx10-u { + value 150; + } + enum ether-media-type-x2 { + value 151; + } + enum ether-media-type-x2-missing { + value 152; + } + enum ether-media-type-xg-draught { + value 153; + } + enum ether-media-type-1g-10gbaset { + value 154; + } + enum ether-media-type-xg-arcadia { + value 155; + } + enum ether-media-type-sfp-plus-10ge-zr { + value 156; + } + enum ether-media-type-sfpp-10g-dwdm-61-41 { + value 157; + } + enum ether-media-type-sfpp-10g-dwdm-60-61 { + value 158; + } + enum ether-media-type-sfpp-10g-dwdm-59-79 { + value 159; + } + enum ether-media-type-sfpp-10g-dwdm-58-98 { + value 160; + } + enum ether-media-type-sfpp-10g-dwdm-58-17 { + value 161; + } + enum ether-media-type-sfpp-10g-dwdm-57-36 { + value 162; + } + enum ether-media-type-sfpp-10g-dwdm-56-55 { + value 163; + } + enum ether-media-type-sfpp-10g-dwdm-55-75 { + value 164; + } + enum ether-media-type-sfpp-10g-dwdm-54-94 { + value 165; + } + enum ether-media-type-sfpp-10g-dwdm-54-13 { + value 166; + } + enum ether-media-type-sfpp-10g-dwdm-53-33 { + value 167; + } + enum ether-media-type-sfpp-10g-dwdm-52-52 { + value 168; + } + enum ether-media-type-sfpp-10g-dwdm-51-72 { + value 169; + } + enum ether-media-type-sfpp-10g-dwdm-50-92 { + value 170; + } + enum ether-media-type-sfpp-10g-dwdm-50-12 { + value 171; + } + enum ether-media-type-sfpp-10g-dwdm-49-32 { + value 172; + } + enum ether-media-type-sfpp-10g-dwdm-48-51 { + value 173; + } + enum ether-media-type-sfpp-10g-dwdm-47-72 { + value 174; + } + enum ether-media-type-sfpp-10g-dwdm-46-92 { + value 175; + } + enum ether-media-type-sfpp-10g-dwdm-46-12 { + value 176; + } + enum ether-media-type-sfpp-10g-dwdm-45-32 { + value 177; + } + enum ether-media-type-sfpp-10g-dwdm-44-53 { + value 178; + } + enum ether-media-type-sfpp-10g-dwdm-43-73 { + value 179; + } + enum ether-media-type-sfpp-10g-dwdm-42-94 { + value 180; + } + enum ether-media-type-sfpp-10g-dwdm-42-14 { + value 181; + } + enum ether-media-type-sfpp-10g-dwdm-41-35 { + value 182; + } + enum ether-media-type-sfpp-10g-dwdm-40-56 { + value 183; + } + enum ether-media-type-sfpp-10g-dwdm-39-77 { + value 184; + } + enum ether-media-type-sfpp-10g-dwdm-38-98 { + value 185; + } + enum ether-media-type-sfpp-10g-dwdm-38-19 { + value 186; + } + enum ether-media-type-sfpp-10g-dwdm-37-40 { + value 187; + } + enum ether-media-type-sfpp-10g-dwdm-36-61 { + value 188; + } + enum ether-media-type-sfpp-10g-dwdm-35-82 { + value 189; + } + enum ether-media-type-sfpp-10g-dwdm-35-04 { + value 190; + } + enum ether-media-type-sfpp-10g-dwdm-34-25 { + value 191; + } + enum ether-media-type-sfpp-10g-dwdm-33-47 { + value 192; + } + enum ether-media-type-sfpp-10g-dwdm-32-68 { + value 193; + } + enum ether-media-type-sfpp-10g-dwdm-31-90 { + value 194; + } + enum ether-media-type-sfpp-10g-dwdm-31-12 { + value 195; + } + enum ether-media-type-sfpp-10g-dwdm-30-33 { + value 196; + } + enum ether-media-type-1000base-bx40da { + value 197; + } + enum ether-media-type-1000base-bx80u { + value 198; + } + enum ether-media-type-1000base-bx80d { + value 199; + } + enum ether-media-type-1000base-bx40u { + value 200; + } + enum ether-media-type-1000base-bx40d { + value 201; + } + enum ether-media-type-sfp-plus-10ge-bxd { + value 202; + } + enum ether-media-type-sfp-plus-10ge-bxu { + value 203; + } + enum ether-media-type-sfp-plus-10ge-bx40d { + value 204; + } + enum ether-media-type-sfp-plus-10ge-bx40u { + value 205; + } + enum ether-media-type-sfpp-10g-cwdm-14-70 { + value 206; + } + enum ether-media-type-sfpp-10g-cwdm-14-90 { + value 207; + } + enum ether-media-type-sfpp-10g-cwdm-15-10 { + value 208; + } + enum ether-media-type-sfpp-10g-cwdm-15-30 { + value 209; + } + enum ether-media-type-sfpp-10g-cwdm-15-50 { + value 210; + } + enum ether-media-type-sfpp-10g-cwdm-15-70 { + value 211; + } + enum ether-media-type-sfpp-10g-cwdm-15-90 { + value 212; + } + enum ether-media-type-sfpp-10g-cwdm-16-10 { + value 213; + } + enum ether-media-type-sfpp-10g-acu7m { + value 214; + } + enum ether-media-type-sfpp-10g-acu10m { + value 215; + } + enum ether-media-type-cpak-100ge-sr10 { + value 216; + } + enum ether-media-type-cpak-100ge-lr4 { + value 217; + } + enum ether-media-type-cpak-100ge-sr4 { + value 218; + } + enum ether-media-type-cfp-40g { + value 219; + } + enum ether-media-type-qsfp-40ge-lr { + value 220; + } + enum ether-media-type-qsfp-40ge-sr { + value 221; + } + enum ether-media-type-1000base-dr-lx { + value 222; + } + enum ether-media-type-sfpp-10g-tdwdm { + value 223; + } + enum ether-media-type-qsfp-40ge-er4 { + value 224; + } + enum ether-media-type-sfpp-dwdm-10gep-61-83 { + value 225; + } + enum ether-media-type-sfpp-dwdm-10gep-61-41 { + value 226; + } + enum ether-media-type-sfpp-dwdm-10gep-61-01 { + value 227; + } + enum ether-media-type-sfpp-dwdm-10gep-60-61 { + value 228; + } + enum ether-media-type-sfpp-dwdm-10gep-60-20 { + value 229; + } + enum ether-media-type-sfpp-dwdm-10gep-59-79 { + value 230; + } + enum ether-media-type-sfpp-dwdm-10gep-59-39 { + value 231; + } + enum ether-media-type-sfpp-dwdm-10gep-58-98 { + value 232; + } + enum ether-media-type-sfpp-dwdm-10gep-58-58 { + value 233; + } + enum ether-media-type-sfpp-dwdm-10gep-58-17 { + value 234; + } + enum ether-media-type-sfpp-dwdm-10gep-57-77 { + value 235; + } + enum ether-media-type-sfpp-dwdm-10gep-57-36 { + value 236; + } + enum ether-media-type-sfpp-dwdm-10gep-56-96 { + value 237; + } + enum ether-media-type-sfpp-dwdm-10gep-56-55 { + value 238; + } + enum ether-media-type-sfpp-dwdm-10gep-56-15 { + value 239; + } + enum ether-media-type-sfpp-dwdm-10gep-55-75 { + value 240; + } + enum ether-media-type-sfpp-dwdm-10gep-55-34 { + value 241; + } + enum ether-media-type-sfpp-dwdm-10gep-54-94 { + value 242; + } + enum ether-media-type-sfpp-dwdm-10gep-54-54 { + value 243; + } + enum ether-media-type-sfpp-dwdm-10gep-54-13 { + value 244; + } + enum ether-media-type-sfpp-dwdm-10gep-53-73 { + value 245; + } + enum ether-media-type-sfpp-dwdm-10gep-53-33 { + value 246; + } + enum ether-media-type-sfpp-dwdm-10gep-52-93 { + value 247; + } + enum ether-media-type-sfpp-dwdm-10gep-52-52 { + value 248; + } + enum ether-media-type-sfpp-dwdm-10gep-52-12 { + value 249; + } + enum ether-media-type-sfpp-dwdm-10gep-51-72 { + value 250; + } + enum ether-media-type-sfpp-dwdm-10gep-51-32 { + value 251; + } + enum ether-media-type-sfpp-dwdm-10gep-50-92 { + value 252; + } + enum ether-media-type-sfpp-dwdm-10gep-50-52 { + value 253; + } + enum ether-media-type-sfpp-dwdm-10gep-50-12 { + value 254; + } + enum ether-media-type-sfpp-dwdm-10gep-49-72 { + value 255; + } + enum ether-media-type-sfpp-dwdm-10gep-49-32 { + value 256; + } + enum ether-media-type-sfpp-dwdm-10gep-48-91 { + value 257; + } + enum ether-media-type-sfpp-dwdm-10gep-48-51 { + value 258; + } + enum ether-media-type-sfpp-dwdm-10gep-48-11 { + value 259; + } + enum ether-media-type-sfpp-dwdm-10gep-47-72 { + value 260; + } + enum ether-media-type-sfpp-dwdm-10gep-47-32 { + value 261; + } + enum ether-media-type-sfpp-dwdm-10gep-46-92 { + value 262; + } + enum ether-media-type-sfpp-dwdm-10gep-46-52 { + value 263; + } + enum ether-media-type-sfpp-dwdm-10gep-46-12 { + value 264; + } + enum ether-media-type-sfpp-dwdm-10gep-45-72 { + value 265; + } + enum ether-media-type-sfpp-dwdm-10gep-45-32 { + value 266; + } + enum ether-media-type-sfpp-dwdm-10gep-44-92 { + value 267; + } + enum ether-media-type-sfpp-dwdm-10gep-44-53 { + value 268; + } + enum ether-media-type-sfpp-dwdm-10gep-44-13 { + value 269; + } + enum ether-media-type-sfpp-dwdm-10gep-43-73 { + value 270; + } + enum ether-media-type-sfpp-dwdm-10gep-43-33 { + value 271; + } + enum ether-media-type-sfpp-dwdm-10gep-42-94 { + value 272; + } + enum ether-media-type-sfpp-dwdm-10gep-42-54 { + value 273; + } + enum ether-media-type-sfpp-dwdm-10gep-42-14 { + value 274; + } + enum ether-media-type-sfpp-dwdm-10gep-41-75 { + value 275; + } + enum ether-media-type-sfpp-dwdm-10gep-41-35 { + value 276; + } + enum ether-media-type-sfpp-dwdm-10gep-40-95 { + value 277; + } + enum ether-media-type-sfpp-dwdm-10gep-40-56 { + value 278; + } + enum ether-media-type-sfpp-dwdm-10gep-40-16 { + value 279; + } + enum ether-media-type-sfpp-dwdm-10gep-39-77 { + value 280; + } + enum ether-media-type-sfpp-dwdm-10gep-39-37 { + value 281; + } + enum ether-media-type-sfpp-dwdm-10gep-38-98 { + value 282; + } + enum ether-media-type-sfpp-dwdm-10gep-38-58 { + value 283; + } + enum ether-media-type-sfpp-dwdm-10gep-38-19 { + value 284; + } + enum ether-media-type-sfpp-dwdm-10gep-37-79 { + value 285; + } + enum ether-media-type-sfpp-dwdm-10gep-37-40 { + value 286; + } + enum ether-media-type-sfpp-dwdm-10gep-37-00 { + value 287; + } + enum ether-media-type-sfpp-dwdm-10gep-36-61 { + value 288; + } + enum ether-media-type-sfpp-dwdm-10gep-36-22 { + value 289; + } + enum ether-media-type-sfpp-dwdm-10gep-35-82 { + value 290; + } + enum ether-media-type-sfpp-dwdm-10gep-35-43 { + value 291; + } + enum ether-media-type-sfpp-dwdm-10gep-35-04 { + value 292; + } + enum ether-media-type-sfpp-dwdm-10gep-34-64 { + value 293; + } + enum ether-media-type-sfpp-dwdm-10gep-34-25 { + value 294; + } + enum ether-media-type-sfpp-dwdm-10gep-33-86 { + value 295; + } + enum ether-media-type-sfpp-dwdm-10gep-33-47 { + value 296; + } + enum ether-media-type-sfpp-dwdm-10gep-33-07 { + value 297; + } + enum ether-media-type-sfpp-dwdm-10gep-32-68 { + value 298; + } + enum ether-media-type-sfpp-dwdm-10gep-32-29 { + value 299; + } + enum ether-media-type-sfpp-dwdm-10gep-31-90 { + value 300; + } + enum ether-media-type-sfpp-dwdm-10gep-31-51 { + value 301; + } + enum ether-media-type-sfpp-dwdm-10gep-31-12 { + value 302; + } + enum ether-media-type-sfpp-dwdm-10gep-30-72 { + value 303; + } + enum ether-media-type-sfpp-dwdm-10gep-30-33 { + value 304; + } + enum ether-media-type-ons-se-z1 { + value 305; + } + enum ether-media-type-qsfp-100ge-lr { + value 306; + } + enum ether-media-type-qsfp-100ge-sr { + value 307; + } + enum ether-media-type-sfpp-10g-aoc1m { + value 308; + } + enum ether-media-type-sfpp-10g-aoc2m { + value 309; + } + enum ether-media-type-sfpp-10g-aoc3m { + value 310; + } + enum ether-media-type-sfpp-10g-aoc5m { + value 311; + } + enum ether-media-type-sfpp-10g-aoc7m { + value 312; + } + enum ether-media-type-sfpp-10g-aoc10m { + value 313; + } + enum ether-media-type-cpak-100ge-er4l { + value 314; + } + enum ether-media-type-qsfp-40ge-sr-bd { + value 315; + } + enum ether-media-type-qsfp-40ge-bd-rx { + value 316; + } + enum ether-media-type-tunable-dwdm-sfpp { + value 317; + } + enum ether-media-type-qsfp-40ge-sr-s { + value 318; + } + enum ether-media-type-qsfp-40ge-lr-s { + value 319; + } + enum ether-media-type-qsfp-h40ge-aoc1m { + value 320; + } + enum ether-media-type-qsfp-h40ge-aoc2m { + value 321; + } + enum ether-media-type-qsfp-h40ge-aoc3m { + value 322; + } + enum ether-media-type-qsfp-h40ge-aoc5m { + value 323; + } + enum ether-media-type-qsfp-h40ge-aoc7m { + value 324; + } + enum ether-media-type-qsfp-h40ge-aoc10m { + value 325; + } + enum ether-media-type-qsfp-h40ge-aoc15m { + value 326; + } + enum ether-media-type-qsfp-h40ge-aoc20m { + value 327; + } + enum ether-media-type-qsfp-40ge-csr4 { + value 328; + } + enum ether-media-type-qsfp-40ge-sr4 { + value 329; + } + enum ether-media-type-qsfp-40ge-lr4 { + value 330; + } + enum ether-media-type-wsp-40ge-lr4l { + value 331; + } + enum ether-media-type-qsfp-h40ge-cu1m { + value 332; + } + enum ether-media-type-qsfp-h40ge-cu3m { + value 333; + } + enum ether-media-type-qsfp-h40ge-cu5m { + value 334; + } + enum ether-media-type-qsfp-h40ge-acu7m { + value 335; + } + enum ether-media-type-qsfp-h40ge-acu10m { + value 336; + } + enum ether-media-type-qsfp-100ge-psm4 { + value 337; + } + enum ether-media-type-qsfp-100ge-cwdm4 { + value 338; + } + enum ether-media-type-qsfp-100ge-cu1m { + value 339; + } + enum ether-media-type-qsfp-100ge-cu2m { + value 340; + } + enum ether-media-type-qsfp-100ge-cu3m { + value 341; + } + enum ether-media-type-qsfp-100ge-cu5m { + value 342; + } + enum ether-media-type-qsfp-100ge-aoc1m { + value 343; + } + enum ether-media-type-qsfp-100ge-aoc2m { + value 344; + } + enum ether-media-type-qsfp-100ge-aoc3m { + value 345; + } + enum ether-media-type-qsfp-100ge-aoc5m { + value 346; + } + enum ether-media-type-qsfp-100ge-aoc7m { + value 347; + } + enum ether-media-type-qsfp-100ge-aoc10m { + value 348; + } + enum ether-media-type-qsfp-100ge-aoc15m { + value 349; + } + enum ether-media-type-qsfp-100ge-aoc20m { + value 350; + } + enum ether-media-type-qsfp-100ge-aoc25m { + value 351; + } + enum ether-media-type-qsfp-100ge-aoc30m { + value 352; + } + enum ether-media-type-qsfp-100ge-sm-sr { + value 353; + } + enum ether-media-type-qsfp-100ge-csr4 { + value 354; + } + enum ether-media-type-1000base-2bxd { + value 355; + } + enum ether-media-type-qsfp-h40ge-cudot5m { + value 356; + } + enum ether-media-type-qsfp-h40ge-cu2m { + value 357; + } + enum ether-media-type-qsfp-h40ge-cu4m { + value 358; + } + enum ether-media-type-virtual { + value 359; + } + enum ether-media-type-sfp-25ge-sr-s { + value 360; + } + enum ether-media-type-sfp-25ge-lr-s { + value 361; + } + enum ether-media-type-sfp-25ge-cu1m { + value 362; + } + enum ether-media-type-sfp-25ge-cu2m { + value 363; + } + enum ether-media-type-sfp-25ge-cu3m { + value 364; + } + enum ether-media-type-sfp-25ge-cu5m { + value 365; + } + enum ether-media-type-sfp-25ge-aoc1m { + value 366; + } + enum ether-media-type-sfp-25ge-aoc2m { + value 367; + } + enum ether-media-type-sfp-25ge-aoc3m { + value 368; + } + enum ether-media-type-sfp-25ge-aoc5m { + value 369; + } + enum ether-media-type-sfp-25ge-aoc7m { + value 370; + } + enum ether-media-type-sfp-25ge-aoc10m { + value 371; + } + enum ether-media-type-cvr-qsfp-sfp10g { + value 372; + } + enum ether-media-type-qsfp-h40ge-aoc25m { + value 373; + } + enum ether-media-type-qsfp-h40ge-aoc30m { + value 374; + } + enum ether-media-type-sfp-gpon { + value 375; + } + enum ether-media-type-sfp-25ge-csr { + value 376; + } + enum ether-media-type-10gbase-cu2m { + value 377; + } + enum ether-media-type-qsfp-100ge-er4l { + value 378; + } + enum ether-media-type-sfp-10ge-csr-s { + value 379; + } + enum ether-media-type-qsfp-40ge-csr-s { + value 380; + } + enum ether-media-type-qsfp28-4sfp25g-cu1m { + value 381; + } + enum ether-media-type-qsfp28-4sfp25g-cu2m { + value 382; + } + enum ether-media-type-qsfp28-4sfp25g-cu3m { + value 383; + } + enum ether-media-type-qsfp28-4sfp25g-cu5m { + value 384; + } + enum ether-media-type-10gbase-cu1-5m { + value 385; + } + enum ether-media-type-10gbase-cu2-5m { + value 386; + } + enum ether-media-type-qsfp-4x10g-lr-s { + value 387; + } + enum ether-media-type-qsfp-4x10g-aoc1m { + value 388; + } + enum ether-media-type-qsfp-4x10g-aoc2m { + value 389; + } + enum ether-media-type-qsfp-4x10g-aoc3m { + value 390; + } + enum ether-media-type-qsfp-4x10g-aoc5m { + value 391; + } + enum ether-media-type-qsfp-4x10g-aoc7m { + value 392; + } + enum ether-media-type-qsfp-4x10g-aoc10m { + value 393; + } + enum ether-media-type-qsfp-4x10g-aoc15m { + value 394; + } + enum ether-media-type-qsfp-4sfp10g-cu0-5m { + value 395; + } + enum ether-media-type-qsfp-4sfp10g-cu1m { + value 396; + } + enum ether-media-type-qsfp-4sfp10g-cu2m { + value 397; + } + enum ether-media-type-qsfp-4sfp10g-cu3m { + value 398; + } + enum ether-media-type-qsfp-4sfp10g-cu4m { + value 399; + } + enum ether-media-type-qsfp-4sfp10g-cu5m { + value 400; + } + enum ether-media-type-qsfp-4x10g-ac1m { + value 401; + } + enum ether-media-type-qsfp-4x10g-ac3m { + value 402; + } + enum ether-media-type-qsfp-4x10g-ac5m { + value 403; + } + enum ether-media-type-qsfp-4x10g-ac7m { + value 404; + } + enum ether-media-type-qsfp-4x10g-ac10m { + value 405; + } + enum ether-media-type-qsfp-100ge-sr4 { + value 406; + } + enum ether-media-type-qsfp-100ge-lr4 { + value 407; + } + enum ether-media-type-10gbase-cu0-5m { + value 408; + } + enum ether-media-type-10gbase-cu4m { + value 409; + } + enum ether-media-type-qsfp-40g-100g-srbd { + value 410; + } + enum ether-media-type-qsfp-h40ge-cu0-5m { + value 411; + } + } + description + "Maximum possible values for media type"; + } + + typedef dot3-stats-versions { + type enumeration { + enum not-supported { + value 0; + description + "Dot 3 error counters are not supported"; + } + enum dot3-version-2 { + value 1; + description + "Version 2 dot 3 error counters"; + } + } + description + "The version of dot 3 error counters."; + } + + typedef serial-crc { + type enumeration { + enum serial-crc32 { + value 0; + description + "32-bit Cyclic Redundancy Code"; + } + enum serial-crc16 { + value 1; + description + "16 bit Cyclic Redundancy Code"; + } + } + description + "The Cyclic Redundancy Code type"; + } + + typedef subrate-speed { + type enumeration { + enum dsx1-subrate-56kbps { + value 0; + description + "56 kilobits per second subrate"; + } + enum dsx1-subrate-64kbps { + value 1; + description + "64 kilobits per second subrate"; + } + } + description + "The subrate on a serial interface"; + } + + typedef t1e1-loopback-mode { + type enumeration { + enum t1e1-no-loopback { + value 0; + description + "No loopback mode"; + } + enum t1e1-cli-local-loopback { + value 1; + description + "Command line interface enforced local loopback"; + } + enum t1e1-line-cli-local-loopback { + value 2; + description + "Command line interface enforced line local loopback"; + } + enum t1e1-payload-cli-local-loopback { + value 3; + description + "Command line interface enforced payload local loopback"; + } + enum t1e1-local-line-loopback { + value 4; + description + "Local line loopback"; + } + enum t1e1-local-payload-loopback { + value 5; + description + "Local payload loopback"; + } + enum t1e1-local-ansi-fdl-remote-loopback { + value 6; + description + "Line ANSI FDL remote loopback"; + } + enum t1e1-line-att-fdl-remote-loopback { + value 7; + description + "Line ATT FDL remote loopback"; + } + enum t1e1-payload-ansi-fdl-remote-loopback { + value 8; + description + "Payload ANSI FDL remote loopback"; + } + enum t1e1-payload-att-fdl-remote-loopback { + value 9; + description + "Payload ATT FDL remote loopback"; + } + enum t1e1-line-iboc-remote-loopback { + value 10; + description + "Line IBOC remote loopback"; + } + enum t1e1-line-ansi-fdl-local-loopback { + value 11; + description + "Line ANSI FDL local loopback"; + } + enum t1e1-line-att-fdl-local-loopback { + value 12; + description + "Line ATT FDL local loopback"; + } + enum t1e1-payload-ansi-fdl-local-loopback { + value 13; + description + "Payload ANSI FDL local loopback"; + } + enum t1e1-payload-att-fdl-local-loopback { + value 14; + description + "Payload ATT FDL local loopback"; + } + enum t1e1-line-iboc-local-loopback { + value 15; + description + "Line IBOC local loopback"; + } + } + description + "Loopback mode type"; + } + + typedef signal-status { + type enumeration { + enum down { + value 0; + description + "Signal is down"; + } + enum up { + value 1; + description + "Signal is up"; + } + } + description + "Synchronous serial interface signal status"; + } + + typedef idle-character-type { + type enumeration { + enum flag { + value 0; + description + "Send HDLC flag characters between packets"; + } + enum marks { + value 1; + description + "Send mark characters between packets"; + } + } + description + "Synchronous serial idle character"; + } + + typedef eee-oper-status { + type enumeration { + enum eee-status-disabled { + value 0; + description + "EEE status is disabled."; + } + enum eee-status-disagreed { + value 1; + description + "EEE status is disagreed"; + } + enum eee-status-oper { + value 2; + description + "EEE status is operational"; + } + enum eee-status-na { + value 3; + description + "EEE status is not applicable"; + } + } + description + "Type of the EEE oper status"; + } + + typedef eee-tx-rx-status { + type enumeration { + enum lpi-status-low-power { + value 0; + description + "LPI status is low power."; + } + enum lpi-status-received { + value 1; + description + "LPI status is received"; + } + enum lpi-status-none { + value 2; + description + "LPI status is none"; + } + } + description + "Type of transmit and receive LPI status"; + } + + typedef if-eee-speed { + type enumeration { + enum unknown { + value 0; + description + "Interface speed is unknown"; + } + enum auto-100-1000-2500 { + value 1; + description + "Interface speeds supported are auto,100,1000,2500"; + } + enum auto-100-1000-2500-5000 { + value 2; + description + "Interface speeds supported are auto,100,1000,2500,5000"; + } + enum auto-100-1000-2500-5000-10000 { + value 3; + description + "Interface speeds supported are auto,100,1000,2500,5000,10000"; + } + enum auto-100-1000-10000 { + value 4; + description + "Interface speeds supported are auto,100,1000,10000"; + } + enum auto-1000 { + value 5; + description + "Interface speeds supported are auto,1000"; + } + enum auto-100 { + value 6; + description + "Interface speeds supported are auto,100"; + } + enum auto-100-1000 { + value 7; + description + "Interface speeds supported are auto,100,1000"; + } + enum auto-10-100-1000 { + value 8; + description + "Interface speeds supported are auto,10,100,1000"; + } + enum auto-10-1000 { + value 9; + description + "Interface speeds supported are auto,10,1000"; + } + enum auto-10-100 { + value 10; + description + "Interface speeds supported are auto,10,100"; + } + enum auto-1000-2500-5000-10000 { + value 11; + description + "Interface speeds supported are auto,1000,2500,5000,10000"; + } + enum auto-1000-5000-10000 { + value 12; + description + "Interface speeds supported are auto,1000,5000,10000"; + } + enum auto-1000-2500-10000 { + value 13; + description + "Interface speeds supported are auto,1000,2500,10000"; + } + enum auto-1000-2500-5000 { + value 14; + description + "Interface speeds supported are auto,1000,2500,5000"; + } + enum auto-1000-10000 { + value 15; + description + "Interface speeds supported are auto,1000,10000"; + } + enum auto-1000-2500 { + value 16; + description + "Interface speeds supported are auto,1000,2500"; + } + enum auto-1000-5000 { + value 17; + description + "Interface speeds supported are auto,1000,5000"; + } + enum auto-2500-5000 { + value 18; + description + "Interface speeds supported are auto,2500,5000"; + } + } + description + "EEE speeds for interface"; + } + + typedef sc-filter-state { + type enumeration { + enum inactive { + value 0; + description + "Storm control filter is inactive"; + } + enum link-down { + value 1; + description + "Storm control filter link is down"; + } + enum blocking { + value 2; + description + "Storm control filter is blocking"; + } + enum forwarding { + value 3; + description + "Storm control filter is forwarding"; + } + } + description + "Storm control filter state"; + } + + typedef sc-suppress-type { + type enumeration { + enum bandwidth { + value 0; + description + "Storm control suppression is in bandwidth"; + } + enum bits-per-second { + value 1; + description + "Storm control suppression is in bits-per-second"; + } + enum packets-per-second { + value 2; + description + "Storm control suppression is in packets-per-second"; + } + } + description + "Storm control suppression type"; + } + + grouping wred-class-counts { + description + "WRED class count types"; + leaf wred-tx-pkts { + type uint64; + description + "Transmitted packets"; + } + leaf wred-tx-bytes { + type uint64; + description + "Transmitted bytes"; + } + leaf wred-tail-drop-pkts { + type uint64; + description + "Tail drop packets"; + } + leaf wred-tail-drop-bytes { + type uint64; + description + "Tail drop bytes"; + } + leaf wred-early-drop-pkts { + type uint64; + description + "Early drop packets"; + } + leaf wred-early-drop-bytes { + type uint64; + description + "Early drop bytes"; + } + } + + grouping marking-dscp-stats { + description + "Statistics for set dscp"; + leaf dscp { + type uint32; + description + "dscp marking"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-dscp-tunnel-stats { + description + "Statistics for set dscp tunnel"; + leaf dscp-val { + type uint32; + description + "dscp value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-cos-stats { + description + "Statistics for set cos"; + leaf cos-val { + type uint32; + description + "cos value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-cos-inner-stats { + description + "Statistics for set cos-inner"; + leaf cos-inner-val { + type uint32; + description + "cos inner value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-discard-class-stats { + description + "Statistics for set discard-class"; + leaf disc-class-val { + type uint32; + description + "discard-class value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-qos-grp-stats { + description + "Statistics for set qos-group"; + leaf qos-grp-val { + type uint32; + description + "qos group value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-prec-stats { + description + "Statistics for set precedence"; + leaf prec-val { + type uint32; + description + "precedence value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-prec-tunnel-stats { + description + "Statistics for set precedence tunnel"; + leaf prec-val { + type uint32; + description + "precedence value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-mpls-exp-imp-stats { + description + "Statistics for set mpls exp imposition"; + leaf mpls-exp-imp-val { + type uint32; + description + "mpls exp value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-mpls-exp-top-stats { + description + "Statistics for set mpls exp imposition"; + leaf mpls-exp-top-val { + type uint32; + description + "mpls exp value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-fr-de-stats { + description + "Statistics for set fr-de"; + leaf fr-de { + type boolean; + description + "fr de set or not"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-fr-fecn-becn-stats { + description + "Statistics for set fr-fecn-becn"; + leaf fecn-becn-val { + type uint32; + description + "fecn becn value. qos:percent-value-1to100"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-atm-clp-stats { + description + "Statistics for set atm-clp"; + leaf atm-clp-val { + type uint8; + description + "atm clp value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-vlan-inner-stats { + description + "Statistics for set vlan-inner"; + leaf vlan-inner-val { + type uint32; + description + "vlan value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-dei-stats { + description + "Statistics for set dei"; + leaf dei-imp-value { + type uint32; + description + "dei value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-dei-imp-stats { + description + "Statistics for set dei-imposition"; + leaf dei-imp-value { + type uint32; + description + "dei value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-srp-priority-stats { + description + "Statistics for set srp-priority"; + leaf srp-priority-value { + type uint8; + description + "srp priority value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-wlan-user-priority-stats { + description + "Statistics for set wlan-user-priority"; + leaf wlan-user-priority-value { + type uint8; + description + "wlan user priority value"; + } + leaf marked-pkts { + type uint64; + description + "Number of packets been marked"; + } + } + + grouping marking-stats { + description + "Marking statistics"; + container marking-dscp-stats-val { + description + "Statistics for set dscp"; + uses interfaces-ios-xe-oper:marking-dscp-stats; + } + container marking-dscp-tunnel-stats-val { + description + "Statistics for set dscp tunnel"; + uses interfaces-ios-xe-oper:marking-dscp-tunnel-stats; + } + container marking-cos-stats-val { + description + "Statistics for set cos"; + uses interfaces-ios-xe-oper:marking-cos-stats; + } + container marking-cos-inner-stats-val { + description + "Statistics for set cos-inner"; + uses interfaces-ios-xe-oper:marking-cos-inner-stats; + } + container marking-discard-class-stats-val { + description + "Statistics for set discard-class"; + uses interfaces-ios-xe-oper:marking-discard-class-stats; + } + container marking-qos-grp-stats-val { + description + "Statistics for set qos-group"; + uses interfaces-ios-xe-oper:marking-qos-grp-stats; + } + container marking-prec-stats-val { + description + "Statistics for set precedence"; + uses interfaces-ios-xe-oper:marking-prec-stats; + } + container marking-prec-tunnel-stats-val { + description + "Statistics for set precedence tunnel"; + uses interfaces-ios-xe-oper:marking-prec-tunnel-stats; + } + container marking-mpls-exp-imp-stats-val { + description + "Statistics for set mpls exp imposition"; + uses interfaces-ios-xe-oper:marking-mpls-exp-imp-stats; + } + container marking-mpls-exp-top-stats-val { + description + "Statistics for set mpls exp topmost"; + uses interfaces-ios-xe-oper:marking-mpls-exp-top-stats; + } + container marking-fr-de-stats-val { + description + "Statistics for set fr-de"; + uses interfaces-ios-xe-oper:marking-fr-de-stats; + } + container marking-fr-fecn-becn-stats-val { + description + "Statistics for set fr-fecn-becn"; + uses interfaces-ios-xe-oper:marking-fr-fecn-becn-stats; + } + container marking-atm-clp-stats-val { + description + "Statistics for set atm-clp"; + uses interfaces-ios-xe-oper:marking-atm-clp-stats; + } + container marking-vlan-inner-stats-val { + description + "Statistics for set vlan-inner"; + uses interfaces-ios-xe-oper:marking-vlan-inner-stats; + } + container marking-dei-stats-val { + description + "Statistics for set dei"; + uses interfaces-ios-xe-oper:marking-dei-stats; + } + container marking-dei-imp-stats-val { + description + "Statistics for set dei-imposition"; + uses interfaces-ios-xe-oper:marking-dei-imp-stats; + } + container marking-srp-priority-stats-val { + description + "Statistics for set srp-priority"; + uses interfaces-ios-xe-oper:marking-srp-priority-stats; + } + container marking-wlan-user-priority-stats-val { + description + "Statistics for set wlan-user-priority"; + uses interfaces-ios-xe-oper:marking-wlan-user-priority-stats; + } + } + + grouping cos-key { + description + "COS key type"; + leaf cos-min { + type uint32; + description + "Min COS value"; + } + leaf cos-max { + type uint32; + description + "Max COS value"; + } + } + + grouping disc-class-key { + description + "Discard class key type"; + leaf disc-class-min { + type uint32; + description + "Minimum value for discard class in the range"; + } + leaf disc-class-max { + type uint32; + description + "Maximum value for discard class in the range"; + } + } + + grouping dscp-key { + description + "DSCP key type"; + leaf dscp-min { + type uint32; + description + "Minimum of dscp range"; + } + leaf dscp-max { + type uint32; + description + "Maximum of dscp range"; + } + } + + grouping qos-grp-key { + description + "QoS group key type"; + leaf qos-group-min { + type uint32; + description + "Specifies the minimum value range from 0 to used to identify a QoS group value"; + } + leaf qos-group-max { + type uint32; + description + "Specifies the maximum value range from 0 to used to identify a QoS group value"; + } + } + + grouping mpls-exp-key { + description + "MPLS EXP key type"; + leaf exp-min { + type uint32; + description + "The minimum EXP field value to be used as match criteria. Any number from 0 to 7"; + } + leaf exp-max { + type uint32; + description + "The maximum EXP field value to be used as match criteria. Any number from 0 to 7"; + } + } + + grouping prec-key { + description + "Precedence key type"; + leaf prec-min { + type uint32; + description + "Precedence min"; + } + leaf prec-max { + type uint32; + description + "Precedence max"; + } + } + + grouping dei-key { + description + "DEI key type"; + leaf dei-min { + type uint32; + description + "Dei min"; + } + leaf dei-max { + type uint32; + description + "Dei max"; + } + } + + grouping clp-key { + description + "CLP key type"; + leaf clp-val { + type uint32; + description + "Composed by multiple atm clp values"; + } + } + + grouping subclass-list { + description + "Subclass data"; + leaf match-type { + type interfaces-ios-xe-oper:qos-match-type; + description + "Subclass match type"; + } + list cos-counters { + key "cos-min cos-max"; + description + "Counters for sub-class matching a range of + Class-of-Service (COS) value (and, optionally, additional COS range"; + uses interfaces-ios-xe-oper:cos-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container cos-default { + description + "statistics for cos default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list dscp-counters { + key "dscp-min dscp-max"; + description + "List for statistics based on dscp value range"; + uses interfaces-ios-xe-oper:dscp-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container dscp-default { + description + "Statistics for dscp default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list discard-class-counters { + key "disc-class-min disc-class-max"; + description + "Composed multiple discard class ranges"; + uses interfaces-ios-xe-oper:disc-class-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container disc-class-default { + description + "Statistics for discard class default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list precedence-counters { + key "prec-min prec-max"; + description + "List for statistics based on precedence value range"; + uses interfaces-ios-xe-oper:prec-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container prec-default { + description + "Precedence default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list mpls-exp-counters { + key "exp-min exp-max"; + description + "List for statistics based on mpls exp value range"; + uses interfaces-ios-xe-oper:mpls-exp-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container mpls-exp-default { + description + "Statistics for mpls-exp default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list dei-counters { + key "dei-min dei-max"; + description + "Composed by multiple dei ranges"; + uses interfaces-ios-xe-oper:dei-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container dei-counts-default { + description + "Statistics for dei default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + list clp-counters { + key "clp-val"; + description + "Statistics for each value range for a specific subclass type"; + uses interfaces-ios-xe-oper:clp-key; + uses interfaces-ios-xe-oper:wred-class-counts; + } + container clp-default { + description + "Statistic for atm clp default"; + uses interfaces-ios-xe-oper:wred-class-counts; + } + } + + grouping classifier-entry-statistics { + description + "Classifier entry statistics"; + leaf classified-pkts { + type uint64; + description + "Number of total packets which filtered to the classifier-entry"; + } + leaf classified-bytes { + type uint64; + description + "Number of total bytes which filtered to the classifier-entry"; + } + leaf classified-rate { + type uint64; + description + "Rate of average data flow through the classifier-entry"; + } + } + + grouping diffserv-target-classifier-statistics-key { + description + "Diffserv classifier statistics key"; + leaf classifier-entry-name { + type string; + description + "Classifier Entry Name"; + } + leaf parent-path { + type string; + description + "Path of the Classifier Entry in a hierarchical policy"; + } + } + + grouping wred-stats { + description + "WRED counters"; + leaf early-drop-pkts { + type uint64; + description + "Early drop packets"; + } + leaf early-drop-bytes { + type uint64; + description + "Early drop bytes"; + } + leaf mean-queue-depth { + type uint16; + description + "Current mean queue depth"; + } + leaf transmitted-pkts { + type uint64; + description + "Transmitted packets"; + } + leaf transmitted-bytes { + type uint64; + description + "Transmitted bytes"; + } + leaf tail-drop-pkts { + type uint64; + description + "Total number of packets dropped"; + } + leaf tail-drop-bytes { + type uint64; + description + "Total number of bytes dropped"; + } + leaf drop-pkts-flow { + type uint64; + description + "Total number of packets dropped"; + } + leaf drop-pkts-no-buffer { + type uint64; + description + "Number of packets dropped due to buffers being + unavailable system-wide or at the associated interface. + This is a sub-set of drop-pkts"; + } + leaf queue-peak-size-pkts { + type uint64; + description + "Queue max que depth Packets"; + } + leaf queue-peak-size-bytes { + type uint64; + description + "Queue max que depth Bytes"; + } + leaf bandwidth-exceed-drops { + type uint64; + description + "Priority stats. Bandwidth exceed drops"; + } + } + + grouping cac-stats { + description + "CAC statistics"; + leaf num-admitted-flows { + type uint32; + description + "Number of admitted flows"; + } + leaf num-non-admitted-flows { + type uint32; + description + "Number of non-admitted flows"; + } + } + + grouping queuing-statistics { + description + "Queue related statistics"; + leaf output-pkts { + type uint64; + description + "Number of packets transmitted from queue"; + } + leaf output-bytes { + type uint64; + description + "Number of bytes transmitted from queue"; + } + leaf queue-size-pkts { + type uint64; + description + "Number of packets currently buffered "; + } + leaf queue-size-bytes { + type uint64; + description + "Number of bytes currently buffered"; + } + leaf drop-pkts { + type uint64; + description + "Total number of packets dropped"; + } + leaf drop-bytes { + type uint64; + description + "Total number of bytes dropped"; + } + container wred-stats { + description + "WRED Counters"; + uses interfaces-ios-xe-oper:wred-stats; + } + container cac-stats { + description + "CAC statistics"; + uses interfaces-ios-xe-oper:cac-stats; + } + } + + grouping meter-statistics { + description + "Metering Counters"; + leaf meter-id { + type uint16; + description + "Meter Identifier"; + } + leaf meter-succeed-pkts { + type uint64; + description + "Number of packets which succeed the meter"; + } + leaf meter-succeed-bytes { + type uint64; + description + "Bytes of packets which succeed the meter"; + } + leaf meter-failed-pkts { + type uint64; + description + "Number of packets which failed the meter"; + } + leaf meter-failed-bytes { + type uint64; + description + "Bytes of packets which failed the meter"; + } + } + + grouping diffserv-target-classifier-statistics { + description + "Diffserv classifier statistics"; + container classifier-entry-stats { + description + "Classifier Counters"; + uses interfaces-ios-xe-oper:classifier-entry-statistics; + } + list meter-stats { + key "meter-id"; + description + "Meter statistics"; + uses interfaces-ios-xe-oper:meter-statistics; + } + container queuing-stats { + description + "Queuing Counters"; + uses interfaces-ios-xe-oper:queuing-statistics; + } + list subclass-list { + key "match-type"; + description + "List of statistics for random-detect + based on subclass type and value pair + Technically these are a field in the queuing + statistics -> wred statistics, but GREEN EI + does not allow that nesting structure"; + uses interfaces-ios-xe-oper:subclass-list; + } + container marking-stats { + description + "Statistics for marking actions"; + uses interfaces-ios-xe-oper:marking-stats; + } + leaf has-child { + type boolean; + description + "Class has child policy flag"; + } + } + + grouping diffserv-target-entry-key { + description + "Key to the diffserv"; + leaf direction { + type interfaces-ios-xe-oper:qos-direction; + description + "Direction fo the traffic flow either inbound or outbound"; + } + leaf policy-name { + type string; + description + "Policy entry name"; + } + } + + grouping agg-priority-stats { + description + "Type for counters in aggregate priority"; + leaf output-pkts { + type uint64; + description + "Number of packets transmitted from queue"; + } + leaf output-bytes { + type uint64; + description + "Number of bytes transmitted from queue"; + } + leaf queue-size-pkts { + type uint64; + description + "Number of packets currently buffered"; + } + leaf queue-size-bytes { + type uint64; + description + "Number of bytes currently buffered"; + } + leaf drop-pkts { + type uint64; + description + "Total number of packets dropped"; + } + leaf drop-bytes { + type uint64; + description + "Total number of bytes dropped"; + } + leaf drop-pkts-flow { + type uint64; + description + "Number of packets that were dropped by + flow-based fair-queuing (fair-queue). + This is a sub-set of drop-pkts"; + } + leaf drop-pkts-no-buffer { + type uint64; + description + "Number of packets dropped due to buffers being + unavailable system-wide or at the associated interface. + This is a sub-set of drop-pkts"; + } + } + + grouping threshold { + description + "Threshold Parameters"; + leaf bytes { + type uint64; + description + "Threshold bytes"; + } + leaf thresh-size-metric { + type uint32; + description + "Threshold size unit"; + } + leaf unit-val { + type interfaces-ios-xe-oper:thresh-unit; + description + "Threshold size basic units"; + } + leaf threshold-interval { + type uint64; + description + "Threshold interval"; + } + leaf thresh-interval-metric { + type uint32; + description + "Threshold units metric"; + } + leaf interval-unit-val { + type interfaces-ios-xe-oper:thresh-unit; + description + "Threshold interval basic units"; + } + } + + grouping priority-oper-list { + description + "Priority based statistics"; + leaf priority-level { + type uint16; + description + "Priority Level, 0 means no priority level set"; + } + container agg-priority-stats { + description + "Counters in aggregate priority"; + uses interfaces-ios-xe-oper:agg-priority-stats; + } + container qlimit-default-thresh { + description + "queue limit default threshold"; + uses interfaces-ios-xe-oper:threshold; + } + list qlimit-cos-thresh-list { + key "cos-min cos-max"; + description + "cos-based queue limit data"; + uses interfaces-ios-xe-oper:cos-key; + uses interfaces-ios-xe-oper:threshold; + } + list qlimit-disc-class-thresh-list { + key "disc-class-min disc-class-max"; + description + "discard-class-based queue limit data"; + uses interfaces-ios-xe-oper:disc-class-key; + uses interfaces-ios-xe-oper:threshold; + } + list qlimit-qos-grp-thresh-list { + key "qos-group-min qos-group-max"; + description + "qos-group-based queue limit data"; + uses interfaces-ios-xe-oper:qos-grp-key; + uses interfaces-ios-xe-oper:threshold; + } + list qlimit-mpls-exp-thresh-list { + key "exp-min exp-max"; + description + "mpls-exp-based queue limit data"; + uses interfaces-ios-xe-oper:mpls-exp-key; + uses interfaces-ios-xe-oper:threshold; + } + list qlimit-dscp-thresh-list { + key "dscp-min dscp-max"; + description + "queue limit per dscp range"; + uses interfaces-ios-xe-oper:dscp-key; + uses interfaces-ios-xe-oper:threshold; + } + } + + grouping diffserv-target-entry { + description + "Diffserv target data"; + list diffserv-target-classifier-stats { + key "classifier-entry-name parent-path"; + description + "Statistics for each Classifier Entry in a Policy"; + uses interfaces-ios-xe-oper:diffserv-target-classifier-statistics-key; + uses interfaces-ios-xe-oper:diffserv-target-classifier-statistics; + } + list priority-oper-list { + key "priority-level"; + description + "Statistics for aggregate priority per policy instance"; + uses interfaces-ios-xe-oper:priority-oper-list; + } + } + + grouping lag-aggregate-state { + description + "Operational state variables for logical + aggregate / LAG interfaces"; + leaf aggregate-id { + type string; + description + "Specify the logical aggregate interface to which + this id belongs"; + } + leaf lag-type { + type interfaces-ios-xe-oper:aggregation-type; + description + "Type to define the lag-type, i.e., how the LAG is + defined and managed"; + } + leaf min-links { + type uint16; + description + "Specifies the minimum number of member + interfaces that must be active for the aggregate interface + to be available"; + } + leaf lag-speed { + type uint32; + description + "Reports effective speed of the aggregate interface, + based on speed of active member interfaces"; + } + leaf-list members { + type string; + ordered-by user; + description + "List of current member interfaces for the aggregate, + expressed as references to existing interfaces"; + } + } + + grouping protocol-statistics { + description + "Protocol specific statistics"; + leaf in-pkts { + type uint64; + description + "The total number of packets received for the specified + address family, including those received in error"; + } + leaf in-octets { + type uint64; + description + "The total number of octets received in input packets + for the specified address family, including those received + in error."; + } + leaf in-error-pkts { + type uint64; + description + "Number of packets discarded due to errors for the + specified address family, including errors in the + header, no route found to the destination, invalid + address, unknown protocol, etc."; + } + leaf in-forwarded-pkts { + type uint64; + description + "The number of input packets for which the device was not + their final destination and for which the device + attempted to find a route to forward them to that final + destination."; + } + leaf in-forwarded-octets { + type uint64; + description + "The number of octets received in input packets + for the specified address family for which the device was + not their final destination and for which the + device attempted to find a route to forward them to that + final destination."; + } + leaf in-discarded-pkts { + type uint64; + description + "The number of input IP packets for the + specified address family, for which no problems were + encountered to prevent their continued processing, but + were discarded (e.g., for lack of buffer space)."; + } + leaf out-pkts { + type uint64; + description + "The total number of IP packets for the + specified address family that the device supplied + to the lower layers for transmission. This includes + packets generated locally and those forwarded by the + device."; + } + leaf out-octets { + type uint64; + description + "The total number of octets in IP packets for the + specified address family that the device + supplied to the lower layers for transmission. This + includes packets generated locally and those forwarded by + the device."; + } + leaf out-error-pkts { + type uint64; + description + "Number of IP packets for the specified address family + locally generated and discarded due to errors, including + no route found to the IP destination."; + } + leaf out-forwarded-pkts { + type uint64; + description + "The number of packets for which this entity was not their + final IP destination and for which it was successful in + finding a path to their final destination.text"; + } + leaf out-forwarded-octets { + type uint64; + description + "The number of octets in packets for which this entity was + not their final IP destination and for which it was + successful in finding a path to their final destination."; + } + leaf out-discarded-pkts { + type uint64; + description + "The number of output IP packets for the + specified address family for which no problem was + encountered to prevent their transmission to their + destination, but were discarded (e.g., for lack of + buffer space)."; + } + } + + grouping intf-statistics { + description + "Interface statistics"; + leaf discontinuity-time { + type yang:date-and-time; + description + "The time on the most recent occasion at which any one or + more of this interface's counters suffered a + discontinuity. If no such discontinuities have occurred + since the last re-initialization of the local management + subsystem, then this node contains the time the local + management subsystem re-initialized itself"; + } + leaf in-octets { + type uint64; + description + "The total number of octets received on the interface, + including framing characters. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of discontinuity-time"; + } + leaf in-unicast-pkts { + type uint64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, that were not addressed to a + multicast or broadcast address at this sub-layer. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'."; + } + leaf in-broadcast-pkts { + type uint64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, that were addressed to a broadcast + address at this sub-layer. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-multicast-pkts { + type uint64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, that were addressed to a multicast + address at this sub-layer. For a MAC-layer protocol, + this includes both Group and Functional addresses. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-discards { + type uint32; + description + "The number of inbound packets that were chosen to be + discarded even though no errors had been detected to + prevent their being deliverable to a higher-layer + protocol. One possible reason for discarding such a + packet could be to free up buffer space. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-errors { + type uint32; + description + "For packet-oriented interfaces, the number of inbound + packets that contained errors preventing them from being + deliverable to a higher-layer protocol. For character- + oriented or fixed-length interfaces, the number of + inbound transmission units that contained errors + preventing them from being deliverable to a higher-layer protocol. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-unknown-protos { + type uint32; + description + "For packet-oriented interfaces, the number of packets + received via the interface that were discarded because + of an unknown or unsupported protocol. For + character-oriented or fixed-length interfaces that + support protocol multiplexing, the number of transmission + units received via the interface that were discarded because + of an unknown or unsupported protocol. + For any interface that does not support protocol + multiplexing, this counter is not present. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of 'discontinuity-time'"; + } + leaf out-octets { + type uint32; + description + "The total number of octets transmitted out of the + interface, including framing characters. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf out-unicast-pkts { + type uint64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and that were not addressed + to a multicast or broadcast address at this sub-layer, + including those that were discarded or not sent. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of 'discontinuity-time'"; + } + leaf out-broadcast-pkts { + type uint64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and that were addressed to a + broadcast address at this sub-layer, including those + that were discarded or not sent. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf out-multicast-pkts { + type uint64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and that were addressed to a + multicast address at this sub-layer, including those + that were discarded or not sent. For a MAC-layer + protocol, this includes both Group and Functional addresses. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf out-discards { + type uint64; + description + "The number of outbound packets that were chosen to be + discarded even though no errors had been detected to + prevent their being transmitted. One possible reason + for discarding such a packet could be to free up buffer space. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf out-errors { + type uint64; + description + "For packet-oriented interfaces, the number of outbound + packets that could not be transmitted because of errors. + For character-oriented or fixed-length interfaces, the + number of outbound transmission units that could not be + transmitted because of errors. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf rx-pps { + type uint64; + description + "The receive packet per second rate on this interface"; + } + leaf rx-kbps { + type uint64; + description + "The receive kilobits per second rate on this interface"; + } + leaf tx-pps { + type uint64; + description + "The transmit packet per second rate on this interface"; + } + leaf tx-kbps { + type uint64; + description + "The transmit kilobits per second rate on this interface"; + } + leaf num-flaps { + type uint64; + description + "The number of times the interface state + transitioned between up and down"; + } + leaf in-crc-errors { + type uint64; + description + "Number of receive error events due to FCS/CRC check + failure"; + } + leaf in-discards-64 { + type uint64; + description + "The number of inbound packets that were chosen to be + discarded even though no errors had been detected to + prevent their being deliverable to a higher-layer + protocol. One possible reason for discarding such a + packet could be to free up buffer space. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-errors-64 { + type uint64; + description + "For packet-oriented interfaces, the number of inbound + packets that contained errors preventing them from being + deliverable to a higher-layer protocol. For character- + oriented or fixed-length interfaces, the number of + inbound transmission units that contained errors + preventing them from being deliverable to a higher-layer protocol. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + leaf in-unknown-protos-64 { + type uint64; + description + "For packet-oriented interfaces, the number of packets + received via the interface that were discarded because + of an unknown or unsupported protocol. For + character-oriented or fixed-length interfaces that + support protocol multiplexing, the number of transmission + units received via the interface that were discarded because + of an unknown or unsupported protocol. + For any interface that does not support protocol + multiplexing, this counter is not present. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of 'discontinuity-time'"; + } + leaf out-octets-64 { + type uint64; + description + "The total number of octets transmitted out of the + interface, including framing characters. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + 'discontinuity-time'"; + } + } + + grouping ethernet-state { + description + "Ethernet State"; + leaf negotiated-duplex-mode { + type interfaces-ios-xe-oper:ether-duplex; + description + "When auto-negotiate is set to TRUE, and the + interface has completed auto-negotiation with the + remote peer, this value shows the duplex mode that + has been negotiated."; + } + leaf negotiated-port-speed { + type interfaces-ios-xe-oper:ether-speed; + description + "When auto-negotiate is set to TRUE, and + the interface has completed auto-negotiation with + the remote peer, this value shows the interface + speed that has been negotiated."; + } + leaf auto-negotiate { + type boolean; + description + "Set to TRUE to request the interface to + auto-negotiate transmission parameters with its + peer interface. When set to FALSE, the transmission + parameters are specified manually."; + } + leaf enable-flow-control { + type boolean; + description + "Enable or disable flow control for this + interface. Ethernet flow control is a mechanism by + which a receiver may send PAUSE frames to a sender + to stop transmission for a specified time. + + This setting should override auto-negotiated flow + control settings. If left unspecified, and + auto-negotiate is TRUE, flow control mode is + negotiated with the peer interface."; + } + leaf media-type { + type interfaces-ios-xe-oper:media-type-class; + description + "Type of media attached to the interface"; + } + } + + grouping dot3-v2-error-counters { + description + "dot 3 version 2 error counters"; + leaf dot3-alignment-errors { + type uint64; + description + "A count of frames received that are not an integral number of + octets in length and do not pass the FCS check."; + } + leaf dot3-fcs-errors { + type uint64; + description + "A count of frames received that are an integral number of + octets in length and do not pass the FCS check."; + } + leaf dot3-single-collision-frames { + type uint64; + description + "A count of frames that are involved in a single + collision, and are subsequently transmitted + successfully."; + } + leaf dot3-multiple-collision-frames { + type uint64; + description + "A count of frames that are involved in more + than one collision and are subsequently + transmitted successfully."; + } + leaf dot3-sqe-test-errors { + type uint64; + description + "A count of times that the signal quality error + test errors is received on a particular interface."; + } + leaf dot3-deferred-transmissions { + type uint64; + description + "A count of frames for which the first + transmission attempt on a particular interface + is delayed because the medium is busy."; + } + leaf dot3-late-collisions { + type uint64; + description + "The number of times that a collision is + detected on a particular interface later than + one slot time into the transmission of a packet."; + } + leaf dot3-excessive-collisions { + type uint64; + description + "A count of frames for which transmission on a + particular interface fails due to excessive + collisions."; + } + leaf dot3-internal-mac-transmit-errors { + type uint64; + description + "A count of frames for which transmission on a + particular interface fails due to an internal + MAC sublayer transmit error."; + } + leaf dot3-carrier-sense-errors { + type uint64; + description + "The number of times that the carrier sense + condition was lost or never asserted when + attempting to transmit a frame on a particular + interface."; + } + leaf dot3-frame-too-longs { + type uint64; + description + "A count of frames received on a particular + interface that exceed the maximum permitted + frame size."; + } + leaf dot3-internal-mac-receive-errors { + type uint64; + description + "A count of frames for which reception on a + particular interface fails due to an internal + MAC sublayer receive error."; + } + leaf dot3-symbol-errors { + type uint64; + description + "For an interface operating at 100 Mb/s, the + number of times there was an invalid data symbol + when a valid carrier was present."; + } + leaf dot3-duplex-status { + type uint64; + description + "The current mode of operation of the MAC + entity. 'unknown' indicates that the current + duplex mode could not be determined. + The possible value as defined by RFC 3635 are: + unknown 1 + half duplex 2 + full duplex 3"; + } + leaf dot3-hc-alignment-errors { + type uint64; + description + "A count of frames received that are not an integral number of + octets in length and do not pass the FCS check on interfaces + operating at 10 Gb/s or faster."; + } + leaf dot3-hc-inpause-frames { + type uint64; + description + "MAC layer PAUSE frames received on the interface"; + } + leaf dot3-hc-outpause-frames { + type uint64; + description + "MAC layer PAUSE frames sent on the interface"; + } + leaf dot3-hc-fcs-errors { + type uint64; + description + "A count of frames received that are an integral number of + octets in length and do not pass the FCS check on interfaces + operating at 10 Gb/s or faster."; + } + leaf dot3-hc-frame-too-longs { + type uint64; + description + "A count of frames received on a particular + interface that exceed the maximum permitted + frame size on interfaces operating at 10 Gb/s or faster."; + } + leaf dot3-hc-internal-mac-transmit-errors { + type uint64; + description + "A count of frames for which transmission on a + particular interface fails due to an internal + MAC sublayer transmit error on interfaces + operating at 10 Gb/s or faster."; + } + leaf dot3-hc-internal-mac-receive-errors { + type uint64; + description + "A count of frames for which reception on a + particular interface fails due to an internal + MAC sublayer receive error on interfaces + operating at 10 Gb/s or faster."; + } + leaf dot3-hc-symbol-errors { + type uint64; + description + "For an interface operating at 10 Gb/s or higher, the + number of times the receiving media is non-idle + (a carrier event) for a period of time equal to + or greater than minimum frame size, and during which + there was at least one occurrence of an event + that causes the PHY to indicate 'Receive Error'"; + } + } + + grouping dot3-counters { + description + "Dot 3 error counters"; + leaf dot3-stats-version { + type interfaces-ios-xe-oper:dot3-stats-versions; + description + "Version of dot 3 error counters"; + } + container dot3-error-counters-v2 { + description + "The Ethernet dot 3 version 2 error counters"; + uses interfaces-ios-xe-oper:dot3-v2-error-counters; + } + } + + grouping ethernet-statistics { + description + "Ethernet statistics"; + leaf in-mac-control-frames { + type uint64; + description + "MAC layer control frames received on the interface"; + } + leaf in-mac-pause-frames { + type uint64; + description + "MAC layer PAUSE frames received on the interface"; + } + leaf in-oversize-frames { + type uint64; + description + "Number of oversize frames received on the interface"; + } + leaf in-jabber-frames { + type uint64; + description + "Number of jabber frames received on the + interface. Jabber frames are typically defined as oversize + frames which also have a bad CRC. Implementations may use + slightly different definitions of what constitutes a jabber + frame. Often indicative of a NIC hardware problem."; + } + leaf in-fragment-frames { + type uint64; + description + "Number of fragment frames received on the interface."; + } + leaf in-8021q-frames { + type uint64; + description + "Number of 802.1q tagged frames received on the interface"; + } + leaf out-mac-control-frames { + type uint64; + description + "MAC layer control frames sent on the interface"; + } + leaf out-mac-pause-frames { + type uint64; + description + "MAC layer PAUSE frames sent on the interface"; + } + leaf out-8021q-frames { + type uint64; + description + "Number of 802.1q tagged frames sent on the interface"; + } + leaf dot3-counters-supported { + type empty; + description + "When present, the dot 3 version 2 error counters + are valid"; + } + container dot3-counters { + when 'boolean(../dot3-counters-supported)'; + description + "dot 3 error counters"; + uses interfaces-ios-xe-oper:dot3-counters; + } + leaf in-undersize-frames { + type uint64; + description + "Number of under size frames received on the interface"; + } + } + + grouping t1e1-serial-state { + description + "The T1/E1 serial state"; + leaf crc-type { + type interfaces-ios-xe-oper:serial-crc; + description + "Cyclic Redundancy Code type configured on the interface"; + } + leaf loopback { + type interfaces-ios-xe-oper:t1e1-loopback-mode; + description + "Loopback mode the interface is operating in"; + } + leaf keeplive { + type uint32; + description + "Keep alive interval in seconds"; + } + leaf timeslot { + type uint32; + description + "Time slots bitmap occupied by this serial interface"; + } + leaf subrate { + type interfaces-ios-xe-oper:subrate-speed; + description + "Subrate operating per slot"; + } + } + + grouping t1e1-serial-stats { + description + "The serial specific statistics"; + leaf in-abort-clock-error { + type uint32; + description + "Number of receive abort packets due to clock slides"; + } + } + + grouping interface-ext-state { + description + "Interface extended characteristics"; + leaf error-type { + type ios-common-ios-xe-oper:port-error-code; + description + "Type of the error when port goes to error state"; + } + leaf port-error-reason { + type ios-common-ios-xe-oper:port-err-reason; + description + "Reason for the interface to be put into error state"; + } + leaf auto-mdix-enabled { + type boolean; + description + "Either straight through or crossover cable can be used to connect the + devices with auto MDI crossover enabled on the interfaces and the + interfaces automatically adjusts the medium to communicate successfully."; + } + leaf mdix-oper-status-enabled { + type boolean; + description + "The status of interface is tracked where MDI crossover operates. + by default status is show as on, if the media type is crossover status show as off"; + } + leaf fec-enabled { + type boolean; + description + "Forward error correction is used for controlling errors in data + transmission over unreliable or noisy communication channels. + It will track whether fec is enabled on a interface. if enabled + show as true and take care noisy issues.if not enabled show as false "; + } + leaf mgig-downshift-enabled { + type boolean; + description + "The port is not able to operate at its max speed and the speed + is down shifted."; + } + } + + grouping interface-eee-status { + description + "Interface EEE status"; + leaf eff-eth { + type interfaces-ios-xe-oper:eee-oper-status; + description + "Status of the efficient ethernet"; + } + leaf rx-lpi-status { + type interfaces-ios-xe-oper:eee-tx-rx-status; + description + "RX port EEE status"; + } + leaf tx-lpi-status { + type interfaces-ios-xe-oper:eee-tx-rx-status; + description + "TX port EEE status"; + } + leaf wake-error-count { + type uint16; + description + "Wake error count of EEE"; + } + } + + grouping if-eee-caps { + description + "EEE capabilities of interface"; + leaf local-enabled { + type boolean; + description + "EEE is configured on the local interface"; + } + leaf local-speed { + type interfaces-ios-xe-oper:if-eee-speed; + description + "EEE supported speeds for the local interface"; + } + leaf remote-enabled { + type boolean; + description + "EEE is configured on the link partner interface"; + } + leaf remote-speed { + type interfaces-ios-xe-oper:if-eee-speed; + description + "EEE supported speeds for the link partner interface"; + } + } + + grouping dce-state { + description + "Synchronous serial DCE mode state"; + leaf dce-terminal-timing-enable { + type boolean; + description + "Enable DCE terminal timing"; + } + leaf ignore-dtr { + type boolean; + description + "Ignore DTR signal"; + } + leaf serial-clock-rate { + type uint32; + units "bps"; + description + "Serial clock rate in bps"; + } + } + + grouping dte-state { + description + "Synchronous serial DTE mode state"; + leaf tx-invert-clk { + type boolean; + description + "Invert transmit clock"; + } + leaf ignore-dcd { + type boolean; + description + "Ignore DCD signal"; + } + leaf rx-clockrate { + type uint32; + units "bps"; + description + "Received clock rate"; + } + leaf rx-clock-threshold { + type uint32; + units "bps"; + description + "Received clock rate threshold limit"; + } + } + + grouping sync-serial-state { + description + "The synchronous serial state"; + leaf carrier-delay { + type uint32; + units "milli-seconds"; + description + "Delay for interface transitions"; + } + leaf dtr-pulse-time { + type uint32; + units "milli-seconds"; + description + "DTR pulse time on reset"; + } + leaf restart-delay { + type uint32; + units "milli-seconds"; + description + "Serial interface restart-delay"; + } + leaf cable-type { + type string; + description + "Cable type attached on the interface"; + } + leaf loopback { + type boolean; + description + "Whether the interface is in loopback mode"; + } + leaf nrzi-encoding { + type boolean; + description + "Enable use of NRZI encoding"; + } + leaf idle-character { + type interfaces-ios-xe-oper:idle-character-type; + description + "Idle character type"; + } + leaf rts-signal { + type interfaces-ios-xe-oper:signal-status; + description + "RTS signal state"; + } + leaf cts-signal { + type interfaces-ios-xe-oper:signal-status; + description + "CTS signal state"; + } + leaf dtr-signal { + type interfaces-ios-xe-oper:signal-status; + description + "DTR signal state"; + } + leaf dcd-signal { + type interfaces-ios-xe-oper:signal-status; + description + "DCD signal state"; + } + leaf dsr-signal { + type interfaces-ios-xe-oper:signal-status; + description + "DSR signal state"; + } + container dce-mode-state { + description + "Special state in DCE mode"; + uses interfaces-ios-xe-oper:dce-state; + } + container dte-mode-state { + description + "Special state in DTE mode"; + uses interfaces-ios-xe-oper:dte-state; + } + } + + grouping sc-suppress-level { + description + "Storm control suppression level"; + choice suppress-type-choice { + description + "Storm control suppression type"; + case bandwidth { + leaf bandwidth { + type decimal64 { + fraction-digits 2; + } + units "percentage"; + description + "Bandwidth percent suppression level"; + } + } + case bits-per-second { + leaf bps { + type uint64; + units "bits per second"; + description + "Bits-per-second suppression level"; + } + } + case packets-per-second { + leaf pps { + type uint64; + units "packets per second"; + description + "Packets-per-second suppression level"; + } + } + } + } + + grouping sc-state { + description + "Storm control state"; + leaf filter-state { + type interfaces-ios-xe-oper:sc-filter-state; + description + "Storm control filter state"; + } + container current-rate { + when "(../filter-state != 'inactive')"; + description + "Storm control current rate"; + uses interfaces-ios-xe-oper:sc-suppress-level; + } + } + + grouping interface-sc-state { + description + "Storm control state for an interface"; + container broadcast { + description + "Broadcast storm control state"; + uses interfaces-ios-xe-oper:sc-state; + } + container multicast { + description + "Multicast storm control state"; + uses interfaces-ios-xe-oper:sc-state; + } + container unicast { + description + "Unicast storm control state"; + uses interfaces-ios-xe-oper:sc-state; + } + container unknown-unicast { + description + "Unknown unicast storm control state"; + uses interfaces-ios-xe-oper:sc-state; + } + leaf level-shared-support { + type empty; + description + "Flag for level shared storm control support"; + } + container level-shared { + when 'boolean(../level-shared-support)'; + description + "Level shared storm control state"; + uses interfaces-ios-xe-oper:sc-state; + } + } + + grouping interface-state { + description + "Interface state details"; + leaf name { + type string; + description + "The name of the interface. + A server implementation MAY map this leaf to the ifName + MIB object. Such an implementation needs to use some + mechanism to handle the differences in size and characters + allowed between this leaf and ifName. The definition of + such a mechanism is outside the scope of this document"; + } + leaf interface-type { + type interfaces-ios-xe-oper:ietf-intf-type; + description + "When an interface entry is created, a server MAY + initialize the type leaf with a valid value, e.g., if it + is possible to derive the type from the name of the interface. + If a client tries to set the type of an interface to a + value that can never be used by the system, e.g., if the + type is not supported or if the type does not match the + name of the interface, the server MUST reject the request. + A NETCONF server MUST reply with an rpc-error with the + error-tag 'invalid-value' in this case"; + } + leaf admin-status { + type interfaces-ios-xe-oper:intf-state; + description + "The desired state of the interface. + This leaf has the same read semantics as ifAdminStatus"; + } + leaf oper-status { + type interfaces-ios-xe-oper:oper-state; + description + "The current operational state of the interface. + This leaf has the same semantics as ifOperStatus"; + } + leaf last-change { + type yang:date-and-time; + description + "The time the interface entered its current operational + state. If the current state was entered prior to the + last re-initialization of the local network management + subsystem, then this node is not present"; + } + leaf if-index { + type int32; + description + "The ifIndex value for the ifEntry represented by this interface"; + } + leaf phys-address { + type yang:mac-address; + description + "The interface's address at its protocol sub-layer. For + example, for an 802.x interface, this object normally + contains a Media Access Control (MAC) address. The + interface's media-specific modules must define the bit + and byte ordering and the format of the value of this + object. For interfaces that do not have such an address + (e.g., a serial line), this node is not present"; + } + leaf-list higher-layer-if { + type string; + ordered-by user; + description + "A list of references to interfaces layered on top of this interface"; + } + leaf-list lower-layer-if { + type string; + ordered-by user; + description + "A list of references to interfaces layered underneath this interface"; + } + leaf speed { + type uint64; + description + "An estimate of the interface's current bandwidth in bits + per second. For interfaces that do not vary in + bandwidth or for those where no accurate estimation can + be made, this node should contain the nominal bandwidth. + For interfaces that have no concept of bandwidth, this + node is not present"; + } + container statistics { + description + "A collection of interface-related statistics objects"; + uses interfaces-ios-xe-oper:intf-statistics; + } + list diffserv-info { + key "direction policy-name"; + description + "diffserv related details"; + uses interfaces-ios-xe-oper:diffserv-target-entry-key; + uses interfaces-ios-xe-oper:diffserv-target-entry; + } + leaf vrf { + type string; + description + "VRF to which this interface belongs to. If the + interface is not in a VRF then it is 'Global'"; + } + leaf ipv4 { + type inet:ip-address; + description + "IPv4 address configured on interface"; + } + leaf ipv4-subnet-mask { + type inet:ip-address; + description + "IPv4 Subnet Mask"; + } + leaf description { + type string; + description + "Interface description"; + } + leaf mtu { + type uint32; + description + "Maximum transmission unit"; + } + leaf input-security-acl { + type string; + description + "Input Security ACL"; + } + leaf output-security-acl { + type string; + description + "Output Security ACL"; + } + container v4-protocol-stats { + description + "IPv4 traffic statistics for this interface"; + uses interfaces-ios-xe-oper:protocol-statistics; + } + container v6-protocol-stats { + description + "IPv6 traffic statistics for this interface"; + uses interfaces-ios-xe-oper:protocol-statistics; + } + leaf bia-address { + type yang:mac-address; + description + "The burnt-in mac address that was associated with this + interface from manufacturing. This is only relevant for + interfaces that have the concept of burnt in ethernet + addresses, otherwise it is zero."; + } + leaf-list ipv6-addrs { + type inet:ip-address; + ordered-by user; + description + "A list of the IPv6 addresses associated with the interface. + This contains all the IPv6 addresses, including the link local + addresses, assigned to the interface"; + } + list lag-aggregate-state { + key "aggregate-id"; + description + "Operational state variables for logical + aggregate / LAG interfaces"; + uses interfaces-ios-xe-oper:lag-aggregate-state; + } + leaf ipv4-tcp-adjust-mss { + type uint16; + description + "When ip tcp adjust-mss is configured, this value shows + the tcp mss, or the value is zero."; + } + leaf ipv6-tcp-adjust-mss { + type uint16; + description + "When ipv6 tcp adjust-mss is configured, this value shows + the tcp mss, or the value is zero."; + } + leaf intf-ext-state-support { + type empty; + description + "When present the interface extended state is valid"; + } + container intf-ext-state { + when 'boolean(../intf-ext-state-support)'; + description + "Interface extended state object"; + uses interfaces-ios-xe-oper:interface-ext-state; + } + container storm-control { + description + "Broadcast, multicast, unicast, and unknown unicast storm control state"; + uses interfaces-ios-xe-oper:interface-sc-state; + } + leaf auto-upstream-bandwidth { + type uint64; + description + "Detected upstream bandwidth"; + } + leaf auto-downstream-bandwidth { + type uint64; + description + "Detected downstream bandwidth"; + } + leaf eee-capable { + type empty; + description + "Indicates whether EEE status is supported for this interface"; + } + container eee-status { + when 'boolean(../eee-capable)'; + description + "EEE RX and TX status"; + uses interfaces-ios-xe-oper:interface-eee-status; + } + container eee-caps { + when 'boolean(../eee-capable)'; + description + "EEE capabilities of the local and link partner interfaces"; + uses interfaces-ios-xe-oper:if-eee-caps; + } + choice interface-class-choice { + description + "The broad class that the interface belongs"; + case interface-class-ethernet { + container ether-state { + description + "The Ethernet state information"; + uses interfaces-ios-xe-oper:ethernet-state; + } + container ether-stats { + description + "The Ethernet statistics"; + uses interfaces-ios-xe-oper:ethernet-statistics; + } + } + case interface-class-t1e1serial { + container serial-state { + description + "The T1E1 serial state information"; + uses interfaces-ios-xe-oper:t1e1-serial-state; + } + container serial-stats { + description + "The T1E1 statistics"; + uses interfaces-ios-xe-oper:t1e1-serial-stats; + } + } + case interface-class-unspecified { + leaf intf-class-unspecified { + type boolean; + description + "No specific interface class information"; + } + } + case interface-class-syncserial { + container syncserial-state { + description + "The synchronous serial state information"; + uses interfaces-ios-xe-oper:sync-serial-state; + } + } + } + } + + container interfaces { + config false; + description + "Operational state of interfaces"; + list interface { + key "name"; + description + "List of interfaces"; + uses interfaces-ios-xe-oper:interface-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces.yang new file mode 100644 index 000000000..7aad3ffc2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-interfaces.yang @@ -0,0 +1,8640 @@ +submodule Cisco-IOS-XE-interfaces { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + include Cisco-IOS-XE-hsrp; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Interfaces Yang model. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added default value for fec configurations + - Changed access-session host-mode from deprecated to obsolete + - Changed access-session control-direction, port-control from deprecated to obsolete + - Added IP Address Accounting Support + - Added support for IPv6 Neighbour Discovery (ND) Duplicate Address Detection (DAD) attempts + - Added support for history bps + - Added description to helper-address and prefix-list + - Added CEM interface range + - Added presence statement for source-guard and destination-guard + - Added redundancy dependency under interface redundancy + - Updated must constraint for the ipv4 drop-rate leaf node + - Added obsolete for if-state nhrp"; + cisco-semver:module-version "14.0.0"; + } + revision 2024-03-01 { + description + "- Add cli-reset-container for punt-control + - Changed nodes deprecated in 17.6 or before to obsolete + - Added default value for mop configurations + - Add support for redundancy asymmetric routing and gratuitous ARP config in GigabitEthernet + - Added new container punt-control + - Set deprecated models to obsolete + - Changed deprecated nodes(link-status) to obsolete, removed relevant entries + - Added must condition for falling-threshold"; + cisco-semver:module-version "13.0.0"; + } + revision 2023-11-01 { + description + "- Added level-shared feature for storm-control + - Deprecated keepalive-choice + - Added new container keepalive-config"; + cisco-semver:module-version "12.0.0"; + } + revision 2023-07-01 { + description + "- Added Macsec support + - Added hardening support for load-interval for FortyGigabitEthernet and HundredGigE interfaces + - Added async encapsulation support for serial interfaces + - Added mode for IPv4 virtual-reassembly + - Added support for IPv6 virtual-reassembly + - Added support for IPv4 reassembly + - Added support for IPv6 reassembly + - Added Bundle interface type + - Added the check of IP address on Sub Bundle interface"; + cisco-semver:module-version "11.0.0"; + } + revision 2023-03-01 { + description + "- Added WPAN/VWPAN Interface + - Modified lower limit and description for inactivity timer + - Removed interface dependency on vrf + - Added support for group-based-policy command + - Add ordering for main interface and sub interface + - Added tailf to restrict duplicate ipv6 address"; + cisco-semver:module-version "10.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added LORAWAN Interface + - Added WPAN/VWPAN Interface"; + cisco-semver:module-version "10.1.0"; + } + revision 2022-07-01 { + description + "- Added PRP Interface + - Added NVE VxLAN over IPv6 configuration"; + cisco-semver:module-version "10.0.0"; + } + revision 2022-03-01 { + description + "- Updated must condition for ip address configuration under sub-interfaces + - Obsolete Standby redirect configuration in standby-list + - Added must constraint that will not allow to have secondary IP address same as primary IP address for an interface"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-11-01 { + description + "- Updated pattern of key name in GigabitEthernet interfaces + - Added support for access-session host-mode multi-host peer + - Added RIP related configuration under interfaces + - Fixed Authentication configurations under RIP + - Added export name to interfaces + - Deprecated HSRP Authentication container and added choice + - Added prefix-name under ipv6 address + - Modified HSRP IP and IPv6 address container to support secondary addresses"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-07-01 { + description + "- Added Interface Virtual multipoint interface + - Added load-interval command for virtual-template + - Added physical-interface command for virtual-template + - Added mode command in Interface Virtual multipoint interface + - Added L2LISP interface and subinterface + - Added srlg under interface + - Hardening of peer default IP address CLI + - Made second-dot1q optional under encapsulation dot1q chain + - update pattern of key name in ATM list + - keepalive model to have trim-default value with default true + - Removed the presence statement for source-guard and destination-guard + - Updated regular expression for port-channel-subinterface"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-03-01 { + description + "- Added relay line encapsulation + - Add leaf clear-dont-fragment + - Change range for leaf name of interface Port-channel + - Added range for bandwidth qos-reference CLI + - Added bandwidth range for interfaces"; + cisco-semver:module-version "6.0.0"; + } + revision 2020-11-11 { + description + "- Added default true for 'ip redirects' and 'ipv6 redirects' CLI + - Added local-routing to nve vni mcast and ingress-replication grouping + - Updated interface description to 200 chars + - Added ip clear-dont-fragment under interface"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-02 { + description + "- Initial revision for 17.3.2 + - Added pattern for name for interface type ATM and ATM-subinterface"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-07-01 { + description + "- Added cli-recursive-delete to serial interface + - Added interface type MFR and serial-subinterface + - Added network-broadcast + - Added ipv6 policy route-map under interface + - Added switchport-config to interface-common-grouping"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added scada, raw-tcp and raw-udp encapsulations + - Added l2protocol forward and tunnel for more protocols + - Modified the order of containers within container switchport-wrapper"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + " + - Address arp model gaps + - Add add/except/remove options for switchport trunk allowed vlan"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for access-session inherit disable interface-template-sticky + and access-session inherit disable service-policy + - Change the IPv4/IPv6 MTU range + - Add FEC support + - Added support for ip mask-reply + - Fix access-session port-control type, add default value + - Add ingress-replication bgp signaled support under nve interface + - Add interface BD-VIF"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-11 { + description + "Modified the leafref to leaf because of pyang issue"; + } + revision 2019-02-08 { + description + "Added ISIS clns commands"; + } + revision 2019-01-27 { + description + "changing ingress-replication from container back to leaf to take care of backward compatibility"; + } + revision 2019-01-24 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2019-01-23 { + description + "Removed app redundancy restriction for IF mode redundancy CLIs"; + } + revision 2018-12-14 { + description + "Add AppQoE interface support"; + } + revision 2018-12-09 { + description + "Add support for access-session inherit disable autoconf cli"; + } + revision 2018-12-05 { + description + "Updated the Dialer interface range in line with IOS <0..255>"; + } + revision 2018-11-16 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-08 { + description + "Support Wlan-GigabitEthernet interface for ISR1K platform"; + } + revision 2018-10-31 { + description + "Fix ip address annotations, remove no-address container"; + } + revision 2018-10-23 { + description + "Added redundancy group and rii commands inside interface"; + } + revision 2018-10-17 { + description + "Add choice for encapsulation, only one encapsulation can be set per interface"; + } + revision 2018-10-16 { + description + "Added Virtual-PPP interface support"; + } + revision 2018-09-28 { + description + "Changed ip vrf forwarding from type leafref to string because pyang fails"; + } + revision 2018-09-20 { + description + "Corrected some description end line characters"; + } + revision 2018-09-07 { + description + "Add must constraint to vrf forwaring, on vrf address-family"; + } + revision 2018-08-29 { + description + "added must constraint on no ip address"; + } + revision 2018-08-23 { + description + "Add cli-diff-set-after to ip-mtu to enforce the dependency on mtu"; + } + revision 2018-08-22 { + description + "Add ingress-replication bgp signaled support under nve interface"; + } + revision 2018-08-12 { + description + "added must constraint on ip unnumbered on interface Dialer"; + } + revision 2018-08-06 { + description + "Removed switchport trunk allowed vlan leaves add/remove/except"; + } + revision 2018-08-03 { + description + "Added model for port-channel load-balancing"; + } + revision 2018-07-24 { + description + "Added second-dot1q under encapsulation, added presence true under dampening"; + } + revision 2018-07-17 { + description + "Range specified for interface Multilink changed to uint32"; + } + revision 2018-07-16 { + description + "Added vif list in interface"; + } + revision 2018-07-11 { + description + "Add .* to cli-preformatted, apply input validation to disallow new lines"; + } + revision 2018-07-10 { + description + "Add interface vrf forwarding downstream. Increase hold-queue size."; + } + revision 2018-06-28 { + description + "added must constraints for deleting vrf, changing to switchport from no switchport"; + } + revision 2018-06-15 { + description + "Interface secondary ip address: change mandatory to incomplete command"; + } + revision 2018-06-10 { + description + "SDA source templates are missing models"; + } + revision 2018-06-06 { + description + "Moving switchport part to Cisco-IOS-XE-switch-isr.yang"; + } + revision 2018-05-30 { + description + "Move IPv6 dhcp container to after IPv6 config to avoid dependencies"; + } + revision 2018-05-22 { + description + "Change switchport trunk allowed vlan to support leaf-list"; + } + revision 2018-05-21 { + description + "Interface description: change cli-suppress-quotes to cli-preformatted"; + } + revision 2018-05-10 { + description + "Add 'vxlan udp port' CLI under NVE interface"; + } + revision 2018-04-30 { + description + "Adding leaf node for ATM subinterface creation"; + } + revision 2018-04-27 { + description + "Add presence true to 'ip virtual-reassembly'"; + } + revision 2018-03-18 { + description + "Added ip address annotations for mapping of ipv4 secondary addresses"; + } + revision 2018-03-15 { + description + "host-reachability protocol bgp is added under nve interface "; + } + revision 2018-03-06 { + description + "Added dependencies between mtu and ipv4/ipv6 mtu"; + } + revision 2018-02-08 { + description + "Add a type of Interface: Ethernet"; + } + revision 2017-12-14 { + description + "Added Change interface Cellular name pattern"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-10-30 { + description + "Fix out of sync between CDB and running config for interface mop enabled"; + } + revision 2017-09-15 { + description + "This revison has changes for hte new 2gig interface addition"; + } + revision 2017-08-30 { + description + "Move UTD interface support"; + } + revision 2017-08-21 { + description + "Add HundredGigE interface support"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-02 { + description + "Added Stackwise Virtual Interface commands"; + } + revision 2017-07-31 { + description + "Add dependency between ip primary and secondary"; + } + revision 2017-07-20 { + description + "Change mtu range"; + } + revision 2017-07-07 { + description + "Add ipv6 source-guard support and storm-control broadcast/multicast falling-threshold for int gig"; + } + revision 2017-06-28 { + description + "Add nve support for special interface ucse, Ethernet-Internal and Service-Engine"; + } + revision 2017-06-27 { + description + "Extend FastEthernet and FortyGigabitEthernet to allow subinterfaces"; + } + revision 2017-06-14 { + description + "Add nve support for ingress-replication"; + } + revision 2017-06-01 { + description + "Add dependency for interface ip address to encapsulation/dot1Q"; + } + revision 2017-05-11 { + description + "fix hold-queue to allow support for both in and out queues."; + } + revision 2017-04-20 { + description + "Added ipv6/tcp/adjust-mss support, fixed loopback dampening issue, fixed ipv6 address autoconfiguration issue"; + } + revision 2017-04-17 { + description + "Addition of support for group-based policy command"; + } + revision 2017-03-24 { + description + "Removed bandwidth range constraints"; + } + revision 2017-03-04 { + description + "Changed LISP key type to string to support OC mapping, removed Fast/Forty Ethernet pattern"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping interface-macsec-grouping { + container macsec-enable { + if-feature "ios-features:macsec-common"; + leaf macsec { + description + "Enable macsec on the interface"; + type empty; + } + } + container macsec-option { + description + "Enable macsec on the interface"; + if-feature "ios-features:macsec-common"; + container macsec { + container replay-protection { + description + "Set replay-protection"; + leaf window-size { + description + "Set replay window-size"; + type uint32; + } + } + leaf access-control { + description + "Access Control Policy"; + type enumeration { + enum must-secure; + enum should-secure; + } + } + } + } + } + + grouping nve-member-vni-mcast-grouping-obsolete { + container mcast-group { + status obsolete; + leaf multicast-group-min { + status obsolete; + description + "Obsolete Starting Multicast Group IPv4 Address"; + type inet:ipv4-address; + } + leaf multicast-group-max { + status obsolete; + description + "Obsolete Ending Multicast Group IPv4 Address"; + type inet:ipv4-address; + } + leaf local-routing { + status obsolete; + description + "Obsolete Enable vxlan centralized gateway forwarding for routed traffic"; + type empty; + } + } + } + + grouping nve-vxlan-encap-grouping { + container encapsulation { + description + "Set vxlan underlay encapsulation type"; + choice encap-choice { + case mono-case { + leaf protocol { + description + "Encapsulation type IPv4 or IPv6"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + case dual-case { + container dual-stack { + description + "Encapsulation type dual-stack"; + leaf protocol-preference { + description + "Dual-stack underlay protocol preference"; + type enumeration { + enum prefer-ipv4; + enum prefer-ipv6; + } + } + leaf underlay-mcast { + must '(../protocol-preference)' { + error-message "Underlay-mcast needs protocol-preference to be configured"; + } + description + "Select a multicast underlay"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + } + } + + grouping nve-member-vni-mcast-group-grouping { + container mcast-group { + leaf multicast-group-min { + description + "Starting Multicast Group IPv4 Address"; + type inet:ipv4-address; + } + leaf multicast-group-max { + must '(../multicast-group-min)' { + error-message "Group-max needs group-min to be configured"; + } + description + "Ending Multicast Group IPv4 Address"; + type inet:ipv4-address; + } + leaf multicast-group-ipv6 { + description + "Starting Multicast Group IPv6 Address"; + type inet:ipv6-address; + } + leaf increment { + must '(../multicast-group-ipv6)' { + error-message "Increment needs group-ipv6 to be configured"; + } + description + "Multicast address increment for VNI range BUM IPv6 groups"; + type empty; + } + leaf local-routing { + must '(../multicast-group-min) or (../multicast-group-ipv6)' { + error-message "Group-min or group-ipv6 needs to be configured 1st"; + } + description + "Enable vxlan centralized gateway forwarding for routed traffic"; + type empty; + } + } + } + + grouping nve-member-vni-ir-grouping-obsolete { + leaf ingress-replication { + status obsolete; + description + "Obsolete Ingress Replication or Unicast mode for vni(s)"; + type inet:ipv4-address; + } + } + + grouping nve-member-vni-ir-group-grouping { + container ir-cp-config { + when '(../../../host-reachability/protocol/bgp)'; + description + "Ingress Replication configuration for bgp signaling vni(s)"; + leaf ingress-replication { + description + "Ingress Replication control-plane (BGP) signaling"; + type empty; + } + leaf local-routing { + description + "Enable vxlan centralized gateway forwarding for routed traffic"; + type empty; + } + } + container ir-peer-config { + when 'not(../../../host-reachability/protocol/bgp)'; + description + "Ingress Replication peer configuration for dataplane vni(s)"; + leaf-list peer-addr { + description + "Ingress Replication or Unicast Peer address"; + type inet:ipv4-address; + } + } + container ingress-replication-config { + status obsolete; + description + "Ingress Replication configuration for vni(s)"; + leaf cp-signal { + status obsolete; + description + "Ingress Replication control-plane (BGP) signaling"; + type empty; + } + leaf-list peer-addr { + status obsolete; + description + "Ingress Replication or Unicast Peer address"; + type inet:ipv4-address; + } + } + uses nve-member-vni-ir-grouping-obsolete; + } + + grouping nve-member-vni-no-grouping-obsolete { + uses nve-member-vni-ir-grouping-obsolete; + uses nve-member-vni-mcast-grouping-obsolete; + } + + grouping nve-member-vni-grouping { + uses nve-member-vni-ir-group-grouping; + uses nve-member-vni-mcast-group-grouping; + } + + grouping storm-control-level-shared-grouping { + container broadcast { + description + "Broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + } + } + container multicast { + description + "Multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + } + } + container unicast { + description + "Unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unknow-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unknown-unicast { + description + "Include unknown-unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + } + } + container unknown-unicast { + description + "Unknown-Unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + container unicast { + description + "Include unicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + container multicast { + description + "Include multicast address storm control"; + uses condition-storm-control-threshold-grouping; + container include { + description + "Include additional types of network traffic"; + container broadcast { + description + "Include broadcast address storm control"; + uses condition-storm-control-threshold-grouping; + } + } + } + } + } + } + } + } + + grouping condition-storm-control-threshold-grouping { + container level { + description + "Set storm suppression level on this interface"; + choice level-choice { + case threshold-case { + container threshold { + description + "Broadcast address storm control"; + leaf rising-threshold { + description + "Enter rising threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + leaf falling-threshold { + description + "Enter falling threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + } + } + case bps-case { + container bps { + description + "Enter suppression level in bits per second"; + leaf rising-threshold { + description + "Enter rising threshold - <0.0 - 400000000000.0>[k|m|g]>"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + description + "Enter falling threshold - <0.0 - 400000000000.0>[k|m|g]> "; + type ios-types:storm-control-threshold-type; + } + } + } + case pps-case { + container pps { + description + "Enter suppression level in packets per second"; + leaf rising-threshold { + description + "Enter rising threshold - <0.0 - 400000000000.0>[k|m|g]"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + description + "Enter falling threshold - <0.0 - 400000000000.0>[k|m|g] "; + type ios-types:storm-control-threshold-type; + } + } + } + } + } + } + + grouping storm-control-threshold-grouping { + container level { + description + "Set storm suppression level on this interface"; + container threshold { + description + "Broadcast address storm control"; + leaf rising-threshold { + description + "Enter rising threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + leaf falling-threshold { + description + "Enter falling threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + } + container bps { + description + "Enter suppression level in bits per second"; + leaf rising-threshold { + description + "Enter rising threshold - <0.0 - 10000000000.0>[k|m|g]>"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + description + "Enter falling threshold - <0.0 - 10000000000.0>[k|m|g]> "; + type ios-types:storm-control-threshold-type; + } + } + container pps { + description + "Enter suppression level in packets per second"; + leaf rising-threshold { + description + "Enter rising threshold - <0.0 - 10000000000.0>[k|m|g]"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + description + "Enter falling threshold - <0.0 - 10000000000.0>[k|m|g] "; + type ios-types:storm-control-threshold-type; + } + } + } + } + + grouping ethernet-grouping { + choice ethernet-choice { + leaf Ethernet { + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + description + "Five Gigabit Ethernet "; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf Port-channel { + description + "Ethernet Channel of interfaces"; + type uint32; + } + leaf PRP-channel { + description + "prp-channel virtual interface"; + type uint8; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five Gigabit Ethernet "; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five Gigabit Ethernet "; + type string; + } + leaf FortyGigabitEthernet { + description + "Forty Gigabit Ethernet"; + type string; + } + leaf FiftyGigabitEthernet { + description + "Fifty Gigabit Ethernet"; + type string; + } + leaf TwoGigabitEthernet { + description + "Two Gigabit Ethernet "; + type string; + } + leaf HundredGigE { + description + "Hundred Gigabit Ethernet"; + type string; + } + leaf TwoHundredGigE { + description + "Two Hundred Gigabit Ethernet"; + type string; + } + leaf FourHundredGigE { + description + "Four Hundred Gigabit Ethernet"; + type string; + } + leaf vlan { + description + "Catalyst Vlans"; + type uint16 { + range "1..4094"; + } + } + } + } + + grouping interface-negotiation-grouping { + container negotiation { + description + "Select autonegotiation mode"; + leaf auto { + description + "Enable link autonegotiation"; + type boolean; + } + } + } + + grouping interface-vmi-grouping { + leaf mode { + type enumeration { + enum bypass; + enum aggregate; + } + default "aggregate"; + } + leaf physical-interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + + grouping interface-switchport-grouping { + container switchport-wrapper { + container switchport { + leaf mode { + description + "Set trunking mode of the interface"; + type enumeration { + enum access; + enum trunk; + } + } + container access { + description + "Set access mode characteristics of the interface"; + leaf vlan { + description + "Set VLAN when interface is in access mode"; + type uint16 { + range "1..4094"; + } + } + } + container trunk { + description + "Set trunking characteristics of the interface"; + container allowed { + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + description + "Set allowed VLANs when interface is in trunking mode"; + choice vlan-choice { + leaf vlans { + description + "Allow a single VLAN id (allowed value range 1-4094) + or Comma-separated VLAN id range. + e.g. 99 or 1-30 or 1-20,30,40-50"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf add { + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf except { + description + "all VLANs except the following"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf none { + description + "no VLANs allowed"; + type empty; + } + leaf remove { + description + "VLAN IDs of disallowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + } + } + } + container native { + leaf vlan { + description + "Set VLAN when interface is in access mode"; + type uint16 { + range "1..4094"; + } + } + } + } + } + } + + typedef l2pt-fwd-proto-type { + type enumeration { + enum cdp; + enum stp; + enum vtp; + enum lldp; + enum pagp; + enum lacp; + enum udld; + enum mvrp; + enum dtp; + enum ptppd; + enum mmrp; + enum elmi; + enum link-oam; + enum esmc; + enum R4; + enum R5; + enum R6; + enum R8; + enum R9; + enum RA; + enum RB; + enum RC; + enum RD; + enum RF; + } + } + + grouping config-l2pt-threshold-grouping { + list threshold-list { + description + "set threshold for specific layer2 control protocol"; + key "proto-type"; + leaf proto-type { + description + "L2 PDU type"; + type l2pt-fwd-proto-type; + } + leaf pps-num { + description + "Packets/sec rate"; + type uint16 { + range "1..4096"; + } + } + } + } + + grouping interface-l2protocol-forward-grouping { + container l2protocol { + description + "Layer2 control protocols"; + container forward { + description + "Forwarding L2 PDU to peer device"; + leaf-list protocols { + description + "L2 PDU type"; + type l2pt-fwd-proto-type; + } + container drop-threshold { + description + "Set drop threshold for L2 PDU"; + uses config-l2pt-threshold-grouping; + } + container shutdown-threshold { + description + "Set shutdown threshold for L2 PDU"; + uses config-l2pt-threshold-grouping; + } + } + } + } + + grouping l2pt-more-choose-grouping { + leaf mvrp { + description + "Multiple VLAN Registration Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf dtp { + description + "Dynamic Trunking Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf ptppd { + description + "PTP Peer Delay Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf mmrp { + description + "Multiple MAC Registration Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf elmi { + description + "ELMI Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf link-oam { + description + "Link OAM Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf esmc { + description + "ESMC Protocol"; + type uint16 { + range "1..4096"; + } + } + } + + grouping l2pt-choose-grouping { + leaf lldp { + description + "Link Layer Discovery Protocol"; + type uint16 { + range "1..4096"; + } + } + container point-to-point { + description + "point-to-point layer2 protocols"; + leaf lacp { + description + "Link Aggregation Control Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf pagp { + description + "Port Aggregation Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf udld { + description + "Unidirectional Link Detection"; + type uint16 { + range "1..4096"; + } + } + } + uses l2pt-more-choose-grouping { + if-feature "ios-features:l2pt-more-protocols"; + } + } + + grouping config-l2pt-more-protocols-grouping { + leaf mvrp { + description + "Multiple VLAN Registration Protocol"; + type empty; + } + leaf dtp { + description + "Dynamic Trunking Protocol"; + type empty; + } + leaf ptppd { + description + "PTP Peer Delay Protocol"; + type empty; + } + leaf mmrp { + description + "Multiple MAC Registration Protocol"; + type empty; + } + leaf elmi { + description + "ELMI Protocol"; + type empty; + } + leaf link-oam { + description + "Link OAM Protocol"; + type empty; + } + leaf esmc { + description + "ESMC Protocol"; + type empty; + } + } + + grouping interface-common-grouping { + leaf description { + description + "Interface specific description"; + type string { + pattern '.*'; + length "0..200"; + } + } + leaf export-name { + description + "Add name to be exported for this interface"; + type string { + pattern '.*'; + length "1..128"; + } + } + container switchport-conf { + leaf switchport { + type boolean; + } + } + container switchport-config { + container switchport { + description + "Set switching mode characteristics"; + if-feature "ios-features:switching-platform"; + } + } + container switchport { + status deprecated; + description + "Set switching mode characteristics"; + if-feature "ios-features:switching-platform"; + } + container stackwise-virtual { + description + "Configure stackwise-virtual link values"; + leaf link { + type uint8 { + range "1..2"; + } + } + leaf dual-active-detection { + type empty; + } + } + leaf mac-address { + description + "Manually set interface MAC address"; + type string; + } + leaf shutdown { + description + "Shutdown the selected interface"; + type empty; + } + container arp { + description + "Set arp type (arpa, probe, snap), timeout, log options or + packet priority"; + leaf timeout { + description + "Set ARP cache timeout"; + type uint32 { + range "0..2147483"; + } + } + leaf snap { + description + "IEEE 802.3 style arp"; + type empty; + } + leaf authorized { + description + "Only allow internal authorized ARP entry"; + type empty; + } + container log { + description + "ARP log service"; + container threshold { + description + "Threshold to trigger ARP log"; + leaf entries { + description + "Entry count to trigger ARP log"; + type uint32 { + range "1..2147483647"; + } + } + } + } + container entries { + description + "ARP entries"; + container interface-limit { + description + "ARP Entry count Threshold"; + leaf entry-count { + description + "ARP Entry count Threshold"; + type uint32 { + range "1..2147483647"; + } + } + leaf log { + description + "Rate in seconds"; + type uint32 { + range "1..3600"; + } + } + } + } + container packet-priority { + description + "Set or Clear Arp Packet Priority"; + leaf enable { + description + "Set the Arp Packet Priority to HIGH"; + type empty; + } + } + } + container backup { + description + "Modify backup parameters"; + container delay { + description + "Delays before backup line up or down transitions"; + leaf failure { + description + "Seconds"; + type union { + type uint32 { + range "0..4294967294"; + } + type enumeration { + enum never; + } + } + } + leaf secondary-disable { + description + "Seconds"; + type union { + type uint32 { + range "0..4294967294"; + } + type enumeration { + enum never; + } + } + } + } + container interface { + description + "Configure an interface as a backup"; + uses ios-ifc:interface-grouping; + } + container load { + description + "Load thresholds for line up or down transitions"; + leaf kickin { + description + "Percentage"; + type union { + type uint32 { + range "0..100"; + } + type enumeration { + enum never; + } + } + } + leaf kickout { + description + "Percentage"; + type union { + type uint32 { + range "0..100"; + } + type enumeration { + enum never; + } + } + } + } + } + container cemoudp { + description + "cemoudp"; + container reserve { + leaf acr { + type uint8; + } + } + } + container cws-tunnel { + description + "Configure Cloud Web Security Tunnel"; + leaf in { + description + "Inbound traffic"; + type empty; + } + container out { + description + "Out-bound traffic"; + leaf tunnel-number { + description + "Outbound traffic tunnel identifier"; + type uint16 { + range "0..65534"; + } + } + } + } + container l2protocol-tunnel { + description + "Tunnel Layer2 protocols"; + presence "true"; + leaf cdp { + description + "Cisco Discovery Protocol"; + type empty; + } + container drop-threshold { + description + "Set drop threshold for protocol packets"; + leaf packet-rate { + type uint16 { + range "1..4096"; + } + } + leaf cdp { + description + "Cisco Discovery Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf stp { + description + "Spanning Tree Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf vtp { + description + "Vlan Trunking Protocol"; + type uint16 { + range "1..4096"; + } + } + uses l2pt-choose-grouping; + } + container shutdown-threshold { + description + "Set shutdown threshold for protocol packets"; + leaf packet-rate { + type uint16 { + range "1..4096"; + } + } + leaf cdp { + description + "Cisco Discovery Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf stp { + description + "Spanning Tree Protocol"; + type uint16 { + range "1..4096"; + } + } + leaf vtp { + description + "Vlan Trunking Protocol"; + type uint16 { + range "1..4096"; + } + } + uses l2pt-choose-grouping; + } + leaf stp { + description + "Spanning Tree Protocol"; + type empty; + } + leaf vtp { + description + "Vlan Trunking Protocol"; + type empty; + } + leaf lldp { + description + "Vlan Trunking Protocol"; + type empty; + } + container point-to-point { + description + "Vlan Trunking Protocol"; + leaf lacp { + description + "Link Aggregation Control Protocol"; + type empty; + } + leaf pagp { + description + "Port Aggregation Protocol"; + type empty; + } + leaf udld { + description + "Unidirectional Link Detection"; + type empty; + } + } + uses config-l2pt-more-protocols-grouping { + if-feature "ios-features:l2pt-more-protocols"; + } + } + uses interface-l2protocol-forward-grouping { + if-feature "ios-features:l2cp-fwd"; + } + container encapsulation { + description + "Set encapsulation type for an interface"; + choice encap-choice { + container dot1Q { + description + "IEEE 802.1Q Virtual LAN"; + leaf vlan-id { + type uint16 { + range "1..4094"; + } + } + leaf native { + description + "Make this as native vlan"; + type empty; + } + leaf second-dot1q { + description + "Configure this subinterface as a 1Q-in-1Q subinterface"; + type union { + type enumeration { + enum any; + } + type string; + } + } + } + container priority-tagged { + description + "Priority-tagged (VLAN 0)"; + presence "true"; + leaf native { + description + "Make this as native vlan"; + type empty; + } + leaf tx-tagged { + description + "Send tagged frames on native vlan"; + type empty; + } + } + container isl { + description + "Inter Switch Link - Virtual LAN encapsulation"; + leaf vlan-id { + type uint16 { + range "1..4095"; + } + } + } + container ppp { + description + "Point-to-Point protocol"; + presence "true"; + } + container slip { + description + "Serial Line IP"; + presence "true"; + } + container frame-relay { + description + "Frame Relay networks"; + presence "true"; + leaf ietf { + description + "Use RFC1490/RFC2427 encapsulation"; + type empty; + } + } + container frame-relay-settings { + container frame-relay { + description + "frame-relay-networks"; + leaf MFR { + description + "Multilink Frame Relay bundle interface"; + type uint32 { + range "0..2147483647"; + } + } + } + } + container raw-tcp { + description + "Rawsocket TCP encapsulation"; + presence "true"; + if-feature "ios-features:rawsocket"; + } + container raw-udp { + description + "Rawsocket UDP encapsulation"; + presence "true"; + if-feature "ios-features:rawsocket"; + } + container scada { + description + "SCADA encapsulation"; + presence "true"; + if-feature "ios-features:scada-gw"; + } + container relay-line { + description + "Relay Line encapsulation"; + presence "true"; + if-feature "ios-features:scada-gw"; + } + } + } + container fair-queue-conf { + leaf fair-queue { + type boolean; + } + } + container fair-queue { + description + "Enable Fair Queuing on an Interface"; + leaf incomplete { + type empty; + } + } + container flowcontrol { + description + "Configure flow operation."; + leaf receive { + description + "Configure receiving flow operation"; + type enumeration { + enum desired; + enum off; + enum on; + } + } + leaf send { + description + "Configure sending flow operation"; + type enumeration { + enum desired; + enum off; + enum on; + } + } + } + container isis { + description + "IS-IS commands"; + } + container clns { + description + "IS-IS CLNS commands"; + } + container keepalive-config { + description + "Enable keepalive"; + leaf keepalive { + type boolean; + } + leaf period { + when "../keepalive = 'true'"; + type uint16 { + range "0..32767"; + } + } + leaf retries { + when "../keepalive = 'true' and ../period"; + type uint8 { + range "1..255"; + } + } + } + choice keepalive-choice { + status deprecated; + leaf keepalive { + status deprecated; + description + "Enable keepalive"; + type boolean; + default "true"; + } + container keepalive-settings { + status deprecated; + container keepalive { + status deprecated; + description + "Enable keepalive"; + presence "true"; + leaf period { + status deprecated; + type uint16 { + range "0..32767"; + } + } + leaf retries { + status deprecated; + type uint8; + } + } + } + } + container bfd { + description + "BFD interface configuration commands"; + } + container bandwidth { + description + "Set bandwidth informational parameter"; + container receive { + description + "Specify receive-side bandwidth"; + leaf inherit { + description + "Specify how bandwidth is inherited"; + type empty; + } + leaf kilobits { + type uint32; + } + } + container inherit { + description + "Specify how bandwidth is inherited"; + presence "true"; + leaf kilobits { + type uint32; + } + } + leaf qos-reference { + description + "Reference bandwidth for QOS"; + type uint32 { + range "1..10000000"; + } + } + leaf kilobits { + type uint32 { + range "1..200000000"; + } + } + } + container dampening { + description + "Enable event dampening"; + presence "true"; + leaf dampening-time { + description + "<1-30>;;Half-life time for penalty"; + type uint16 { + range "1..30"; + } + } + leaf start-reusing-time { + description + "<1-20000>;;Value to start reusing an interface"; + type uint16 { + range "1..20000"; + } + } + leaf start-supressing-time { + description + "<1-20000>;;Value to start suppressing an interface"; + type uint16 { + range "1..20000"; + } + } + leaf maximum-supressing-time { + description + "<1-255>;;Maximum duration to suppress an interface"; + type uint16 { + range "1..255"; + } + } + container restart { + description + "Enable restart penalty"; + leaf restart { + description + "Enable restart penalty"; + type empty; + } + leaf restart-penalty { + description + "<1-20000>;;Penalty applied at restart"; + type uint16 { + range "1..20000"; + } + } + } + } + container punt-control { + description + "punt configuration"; + list cause { + description + "punt cause"; + key "name"; + leaf name { + description + "punt cause name"; + type ios-types:punt-cause-type; + } + leaf rate { + description + "punt cause rate"; + type uint32 { + range "1..1000000"; + } + } + } + container enable { + description + "enable punt control"; + presence "true"; + leaf pps { + description + "punt control rate"; + type uint32 { + range "1..1000000"; + } + } + } + } + leaf if-state { + status obsolete; + type enumeration { + enum nhrp; + } + } + leaf delay { + description + "Specify interface throughput delay"; + type uint32 { + range "1..16777215"; + } + } + container domain { + description + "Specify a domain"; + leaf name { + type string; + } + leaf path { + description + "Specify a service provider for this interface"; + type string; + } + leaf internet-bound { + description + "Specify Internet-bound interface"; + type empty; + } + leaf path-id { + description + "Specify service provider path-id for this interface"; + type uint8; + } + leaf path-last-resort { + description + "Specify if you want this interface to be a path of last resort"; + type empty; + } + leaf zero-sla { + description + "Specify if you want this interface to be a 0-sla interface"; + type empty; + } + } + list hold-queue { + description + "Set hold queue depth"; + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf queue-length { + type uint32 { + range "0..240000"; + } + } + } + container history { + leaf BPS { + description + "To maintain history in bits/second"; + type empty; + } + } + container mpls; + choice vrf-choice { + container ip-vrf { + container ip { + container vrf { + leaf forwarding { + description + "Configure forwarding table"; + type string; + } + } + } + } + container vrf { + description + "VPN Routing/Forwarding parameters on the interface"; + leaf forwarding { + description + "Configure forwarding table"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + must 'not(../../ip/address) or /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4' { + error-message "Address-family ipv4 in VRF must be created 1st, deleted last"; + } + must "not (../../switchport-conf/switchport) or (../../switchport-conf/switchport = 'false')" { + error-message "To configure vrf forwarding, set switchport to false 1st; To change switchport from false to true, delete vrf forwarding 1st"; + } + type string; + } + leaf downstream { + description + "Configure different VRF for downstream traffic"; + when '../forwarding'; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container ip { + description + "Interface Internet Protocol config commands"; + leaf admission { + description + "Apply Network Admission Control"; + type string; + } + container access-group { + description + "Specify access control for packets"; + container in { + choice apply-type { + case apply-common { + container common-acl { + leaf common { + description + "specify ipv4 common ACL for packet filtering"; + type ios-types:exp-acl-type; + } + leaf acl-name { + description + "Regular Access-list name"; + type ios-types:exp-acl-type; + } + leaf in { + description + "inbound packets"; + type empty; + } + } + } + case apply-intf { + container acl { + leaf acl-name { + type ios-types:exp-acl-type; + } + leaf in { + description + "inbound packets"; + type empty; + } + } + } + } + } + container out { + choice apply-type { + case apply-common { + container common-acl { + leaf common { + description + "specify ipv4 common ACL for packet filtering"; + type ios-types:exp-acl-type; + } + leaf acl-name { + description + "Regular Access-list name"; + type ios-types:exp-acl-type; + } + leaf out { + description + "outbound packets"; + type empty; + } + } + } + case apply-intf { + container acl { + leaf acl-name { + type ios-types:exp-acl-type; + } + leaf out { + description + "outbound packets"; + type empty; + } + } + } + } + } + } + container arp { + description + "Configure ARP features"; + container inspection { + description + "Arp Inspection configuration"; + container limit { + description + "Configure Rate limit of incoming ARP packets"; + leaf none { + description + "No limit"; + type empty; + } + leaf rate { + description + "Rate Limit"; + type uint32; + } + } + leaf trust { + description + "Configure Trust state"; + type empty; + } + } + } + container vrf { + description + "VPN Routing/Forwarding parameters on the interface"; + leaf receive { + description + "Add Interface Address into VRF Table"; + type string; + } + leaf sitemap { + description + "Configure route-map for routesreceived from this site"; + type string; + } + container forwarding { + description + "Configure forwarding table"; + leaf Liin-vrf { + type empty; + } + leaf mgmtVrf { + type empty; + } + leaf word { + type string; + } + } + } + choice address-choice { + leaf unnumbered { + description + "Enable IP processing without an explicit address"; + must "starts-with(., 'Dialer') and (number(substring-after(., 'Dialer')) = /ios:native/ios:interface/ios:Dialer/ios:name) or not (starts-with(., 'Dialer'))" { + error-message "To use a Dialer interface, the Dialer interface has to be configured 1st, vice versa for delete"; + } + must "starts-with(., 'Multilink') and (number(substring-after(., 'Multilink')) = /ios:native/ios:interface/ios:Multilink/ios:name) or not (starts-with(., 'Multilink'))" { + error-message "To use a Multilink interface, the Multilink interface has to be configured 1st, vice versa for delete"; + } + type string; + } + container address { + description + "Set the IP address of an interface"; + choice address-choice { + case fixed-case { + list secondary { + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf mask { + mandatory true; + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IP address a secondary address. + This leaf must be set in order to prevent it from overriding + the primary address"; + mandatory true; + must '(../address !=../../primary/address)' { + error-message "Secondary IP Address can not be same as Primary IP Address"; + } + type empty; + } + } + container primary { + leaf address { + description + "Ip address"; + must "not (../../../../switchport-conf/switchport) or (../../../../switchport-conf/switchport = 'false')" { + error-message "To configure ip address, set switchport to false 1st; To change switchport from false to true, delete ip address 1st"; + } + must "(not (contains(../../../../ios:name,'.')) or (local-name(../../../..) = 'ATM')or (local-name(../../../..) = 'Serial') or (local-name(../../../..) = 'MFR') or (local-name(../../../..) = 'Bundle') or (contains(../../../../ios:name,'.') and (../../../../encapsulation/dot1Q/vlan-id)))" { + error-message + "Configuring IP routing on a LAN subinterface is only allowed if that + subinterface is already configured as part of an IEEE 802.10, IEEE 802.1Q, or ISL vLAN."; + } + type inet:ipv4-address; + } + leaf mask { + description + "Ip subnet mask"; + type inet:ipv4-address; + } + } + } + case dhcp-case { + container dhcp { + description + "IP Address negotiated via DHCP"; + presence "IP Address negotiated via DHCP"; + container client-id { + description + "Specify client-id to use"; + uses ethernet-grouping; + } + leaf hostname { + description + "Specify value for hostname option"; + type string; + } + } + } + case negotiated-case { + leaf negotiated { + description + "IP Address negotiated via IKEv2 Modeconfig"; + type empty; + } + } + } + } + } + container accounting { + description + "MAC address based accounting configuration"; + container mac-address { + description + "MAC addresses based accounting for ingress and egress based packets"; + leaf input { + description + "Source MAC address based accounting for ingress packets"; + type empty; + } + leaf output { + description + "Destination MAC address based accounting for egress packets"; + type empty; + } + } + } + container directed-broadcast { + description + "Enable forwarding of directed broadcasts"; + presence "true"; + leaf direct-broadcast { + type ios-types:exp-acl-type; + } + } + leaf network-broadcast { + description + "Accept and respond to network-prefix-directed broadcasts"; + type empty; + } + container hello-interval { + status obsolete; + description + "Configures EIGRP-IPv4 hello interval"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf seconds { + status obsolete; + description + "Seconds between hello transmissions"; + type uint16; + } + } + container authentication { + status obsolete; + description + "authentication subcommands"; + container key-chain { + status obsolete; + description + "key-chain"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf name { + status obsolete; + description + "name of key-chain"; + type string; + } + } + container mode { + status obsolete; + description + "mode"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf md5 { + status obsolete; + description + "Keyed message digest"; + type empty; + } + } + } + container hold-time { + status obsolete; + description + "Configures EIGRP-IPv4 hold time"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf seconds { + status obsolete; + description + "Seconds before neighbor is considered down"; + type uint16; + } + } + list helper-address { + description + "Specify a destination address for UDP broadcasts"; + key "address"; + leaf address { + description + "IP destination address"; + type inet:ipv4-address; + } + choice helper-choice { + leaf global { + description + "Helper-address is global"; + type empty; + } + leaf vrf { + description + "VRF name for helper-address (if different from interface VRF)"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container pim { + description + "PIM interface commands"; + } + container policy { + description + "Enable policy routing"; + leaf route-map { + description + "Policy route-map"; + type string; + } + } + leaf local-proxy-arp { + description + "Enable local-proxy ARP"; + type empty; + } + leaf proxy-arp { + description + "Enable proxy ARP"; + type boolean; + default "true"; + } + container rip { + description + "Router Information Protocol"; + leaf advertise { + description + "Specify update interval"; + type uint32 { + range "0..4294966"; + } + default "30"; + units "seconds"; + } + container advertise-default { + description + "Advertise a default route"; + leaf metric { + description + "Metric for default route"; + type uint8 { + range "1..15"; + } + } + leaf tag { + description + "Advertised tag for default route"; + type uint16; + } + } + container authentication { + description + "Authentication control"; + leaf key-chain { + description + "Authentication key-chain"; + type string; + } + container mode { + description + "Authentication mode"; + must 'not ((md5) and (text))' { + error-message "Only one option is allowed. Remove the previous configuration and try again."; + } + leaf md5 { + description + "Keyed message digest"; + type empty; + } + leaf text { + description + "Clear text authentication"; + type empty; + } + } + } + leaf initial-delay { + description + "Specify initial delay interval"; + type uint16 { + range "0..1800"; + } + default "0"; + units "seconds"; + } + container receive { + description + "advertisement reception"; + container version { + description + "version control"; + leaf first-version { + description + "First accept version"; + type enumeration { + enum 1; + enum 2; + } + } + leaf second-version { + description + "Second accept version"; + must 'current() != ../first-version' { + error-message "Second version must be different than first"; + } + type enumeration { + enum 1; + enum 2; + } + } + } + } + container send { + description + "advertisement transmission"; + container version { + description + "version control"; + leaf first-version { + description + "First send version"; + type enumeration { + enum 1; + enum 2; + } + } + leaf second-version { + description + "Second send version"; + must 'current() != ../first-version' { + error-message "Second version must be different than first"; + } + type enumeration { + enum 1; + enum 2; + } + } + } + } + leaf v2-broadcast { + description + "send ip broadcast v2 update"; + type empty; + } + } + container route-cache-conf { + leaf route-cache { + type boolean; + } + } + container route-cache { + description + "Enable fast-switching cache for outgoing packets"; + presence "true"; + leaf cef { + description + "Enable Cisco Express Forwarding"; + type boolean; + } + leaf flow { + description + "Enable Flow fast-switching cache"; + type boolean; + } + leaf policy { + description + "Enable fast-switching policy cache for outgoing packets"; + type boolean; + } + leaf same-interface { + description + "Enable fast-switching on the same interface"; + type boolean; + } + } + container router { + description + "IP router interface commands"; + } + leaf redirects { + description + "Enable sending ICMP Redirect messages"; + type boolean; + default "true"; + } + leaf clear-dont-fragment { + description + "Enable clear dont fragment (Currently Only SDWAN Tunnel Interface)"; + type boolean; + } + leaf mask-reply { + description + "Enable sending ICMP Mask Reply messages"; + type empty; + } + container tcp { + description + "TCP header compression and other parameters"; + leaf adjust-mss { + description + "Adjust the mss of transit packets"; + type uint16 { + range "500..1460"; + } + } + } + grouping virtual-reassembly-options { + leaf max-reassemblies { + description + "Specify max number of concurrent reassembly"; + type uint32 { + range "1..1024"; + } + } + leaf max-fragments { + description + "Specify max number of fragments per reassembly (datagram)"; + type uint32 { + range "1..64"; + } + } + leaf timeout { + description + "Specify timeout value of the datagram being reassembled"; + type uint32 { + range "1..60"; + } + } + leaf drop-fragments { + description + "Drop all the incoming fragments"; + type empty; + } + leaf in { + type empty; + } + leaf mode { + description + "Specify mode for VFR"; + type enumeration { + enum reassembly; + enum default; + } + default "default"; + } + } + + container virtual-reassembly { + description + "Enable Virtual Fragment Reassembly (Input)"; + presence "true"; + uses virtual-reassembly-options; + } + container virtual-reassembly-out { + description + "Enable Virtual Fragment Reassembly (Output)"; + presence "true"; + uses virtual-reassembly-options; + } + container reassembly { + presence "true"; + description + "IPv4 reassembly parameters"; + leaf max-reassemblies { + description + "Specify max number of concurrent reassembly"; + type uint16 { + range "1..1024"; + } + } + leaf timeout { + description + "Specify timeout value in milliseconds of the datagram being reassembled"; + type uint32 { + range "100..60000"; + } + } + } + container dhcp { + description + "Configure DHCP parameters for this interface"; + } + leaf mtu { + description + "Set IP Maximum Transmission Unit"; + type uint16 { + range "68..18000"; + } + } + leaf mroute-cache { + description + "Enable switching cache for incoming multicast packets"; + type boolean; + } + container summary-address { + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type string; + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + leaf metric { + status obsolete; + type uint32; + } + } + } + container verify { + description + "Enable per packet validation"; + container source { + description + "Validation of source address"; + presence "true"; + container vlan { + description + "vlan specification"; + container dhcp-snooping { + description + "snooping enable vlan"; + presence "true"; + leaf port-security { + description + "port security"; + type empty; + } + } + } + } + container unicast { + description + "Enable per packet validation for unicast"; + container reverse-path { + description + "Reverse path validation of source address (old command format)"; + presence "true"; + leaf allow-self-ping { + description + "Allow router to ping itself (opens vulnerability in verification)"; + type empty; + } + leaf access-list { + description + "IP access list and extended access list (standard or extended)"; + type ios-types:access-list-type; + } + } + container source { + description + "Validation of source address"; + leaf reachable-via { + description + "Specify reachability check to apply to the source address"; + type enumeration { + enum any; + enum rx; + } + } + leaf allow-self-ping { + description + "Allow router to ping itself (opens vulnerability in verification)"; + type empty; + } + leaf allow-default { + description + "Allow default route to match when checking source address"; + type empty; + } + leaf l2-src { + must "../reachable-via = 'rx'" { + error-message "Leaf l2-src can only be configured when reachable-via option is set to rx"; + } + description + "Check packets arrive with correct L2 source address"; + type empty; + } + leaf access-list { + description + "IP access list and extended access list (standard or extended)"; + type ios-types:access-list-type; + } + } + container notification { + description + "drop-rate notify"; + container threshold { + description + "URPF NOTIFY drop rate threshold"; + leaf drop-rate { + must '../../../reverse-path or ../../../source' { + error-message "URPF not configured on this interface"; + } + description + "Drop rate in packets per second (pps) triggering notify - 0 is any drops"; + type uint32 { + range "0..4294967295"; + } + } + } + } + } + } + } + container ipv6 { + description + "IPv6 interface subcommands"; + container verify { + description + "Validation per packet"; + container unicast { + description + "Per packet validation for unicast"; + container reverse-path { + description + "Option to enable reverse path validation of source address"; + presence "true"; + leaf acl-name { + description + "Access-list name. An access list with this name does not need to exist already."; + type string { + pattern '[a-zA-z].*'; + length "1..255"; + } + } + } + container source { + description + "Source address"; + leaf reachable-via { + description + "Reachability check type for the source address"; + type enumeration { + enum any; + enum rx; + } + } + leaf allow-default { + description + "Option to allow default route to match when checking source address"; + type empty; + } + leaf acl-name { + description + "Access-list name. An access list with this name does not need to exist already."; + type string { + pattern '[a-zA-z].*'; + length "1..255"; + } + } + } + } + } + container destination-guard { + description + "Configure ipv6 destination guard on the interface"; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature ipv6 destguard"; + must "/ios:native/ios:ipv6/ios:destination-guard/ios:policy[ios:destination-guard-policy-name=current()] or .='default'" { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + type string; + } + } + container source-guard { + description + "Configure ipv6 source guard on the interface"; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature ipv6 sourceguard"; + must "/ios:native/ios:ipv6/ios:source-guard/ios:policy[ios:source-guard-policy-name=current()] or .='default'" { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + type string; + } + } + container dhcp { + description + "IPv6 DHCP interface subcommands"; + } + container policy { + description + "Enable policy routing"; + leaf route-map { + description + "Policy route-map"; + type string { + length "1..224"; + } + } + } + container address { + description + "Configure IPv6 address on interface"; + container dhcp { + description + "Obtain IPv6 address from DHCP server"; + presence "true"; + leaf rapid-commit { + description + "rapid-commit for prefix delegation"; + type empty; + } + } + container autoconfig { + description + "Obtain address using autoconfiguration"; + presence "true"; + leaf default { + description + "Insert default route"; + type empty; + } + } + list prefix-list { + key "prefix"; + leaf prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf anycast { + description + "Configure as an anycast"; + type empty; + } + leaf eui-64 { + description + "Use eui-64 interface identifier"; + type empty; + } + } + list link-local-address { + key "address"; + leaf address { + type inet:ipv6-address; + } + leaf link-local { + description + "Use link-local address"; + type empty; + } + } + list prefix-name { + description + "General prefix name"; + key "name"; + leaf name { + type string { + length "1..255"; + } + } + leaf-list ipv6-prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + container prefix-options { + list ipv6-prefix { + description + "IPv6 prefix"; + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + } + leaf anycast { + description + "Configure as an anycast"; + type empty; + } + leaf eui-64 { + description + "Use eui-64 interface identifier"; + type empty; + } + leaf segment-routing { + description + "Enter Segment Routing submode"; + type empty; + } + } + } + } + } + leaf unnumbered { + description + "Preferred interface for source address selection"; + must "starts-with(., 'Multilink') and (number(substring-after(., 'Multilink')) = /ios:native/ios:interface/ios:Multilink/ios:name) or not (starts-with(., 'Multilink'))" { + error-message "To use a Multilink interface, the Multilink interface has to be configured 1st, vice versa for delete"; + } + type string; + } + leaf enable { + description + "Enable IPv6 on interface"; + type empty; + } + leaf mtu { + description + "Set IPv6 Maximum Transmission Unit"; + type uint16 { + range "1280..9976"; + } + } + container nd { + description + "IPv6 interface Neighbor Discovery subcommands"; + container nud { + description + "Neighbor Unreachability Detection (NUD) configuration"; + leaf igp { + description + "Enable use of Interior Gateway Protocol"; + type boolean; + default "true"; + } + } + container dad { + description + "Duplicate Address Detection"; + leaf attempts { + description + "Number of consecutive neighbor solicitation messages"; + type uint16 { + range "0..600"; + } + default "1"; + } + } + } + container router { + description + "IPv6 router interface commands"; + } + leaf redirects { + description + "Enable sending ICMP Redirect messages"; + type boolean; + default "true"; + } + container tcp { + description + "TCP header compression and other parameters"; + leaf adjust-mss { + description + "Adjust the mss of transit packets"; + type uint16 { + range "40..1454"; + } + } + } + list traffic-filter { + description + "Access control list for packets"; + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf common { + description + "IPv6 Common ACL for packet filtering"; + type string { + pattern '[a-zA-z].*'; + } + } + leaf access-list { + description + "IPv6 ACL for packet filtering"; + type string { + pattern '[a-zA-z].*'; + } + } + } + grouping ipv6_virtual-reassembly-options { + leaf max-reassemblies { + description + "IPv6 Number of packets that can be reassembled at a time"; + type uint16 { + range "1..1024"; + } + } + leaf max-fragments { + description + "IPv6 Specify max number of fragments per reassembly"; + type uint8 { + range "1..64"; + } + } + leaf timeout { + description + "IPv6 Specify timeout value of the packets being reassembled"; + type uint8 { + range "1..60"; + } + } + leaf drop-fragments { + description + "IPv6 Drop all the incoming fragments"; + type empty; + } + leaf mode { + description + "IPv6 VFR mode"; + type enumeration { + enum reassembly; + enum default; + } + default "default"; + } + } + + container virtual-reassembly { + description + "IPv6 Enable Virtual Fragment Reassembly"; + container in { + description + "IPv6 Enable Virtual Fragment Reassembly on Ingress"; + presence "true"; + uses ipv6_virtual-reassembly-options; + } + container out { + description + "IPv6 Enable Virtual Fragment Reassembly on Egress"; + presence "true"; + uses ipv6_virtual-reassembly-options; + } + } + container reassembly { + description + "IPv6 reassembly parameters"; + presence "true"; + leaf max-reassemblies { + description + "Specify max number of concurrent reassembly"; + type uint16 { + range "1..1024"; + } + } + leaf timeout { + description + "Specify timeout value in milliseconds of the datagram being reassembled"; + type uint32 { + range "100..60000"; + } + } + } + } + leaf load-interval { + description + "Specify interval for load calculation for an interface"; + type uint16 { + range "30..600"; + } + default "300"; + must '. mod 30 = 0' { + error-message "Load interval must be in increments of 30 seconds "; + } + } + container logging { + description + "Configure logging for interface"; + container event { + description + "Interface events"; + leaf bundle-status { + description + "BUNDLE/UNBUNDLE messages"; + type empty; + } + leaf link-status-enable { + description + "UPDOWN and CHANGE messages"; + when "not(contains(../../../ios:name,'.'))"; + type boolean; + default "true"; + } + leaf link-status { + description + "UPDOWN and CHANGE messages (obsolete)"; + when "not(contains(../../../ios:name,'.'))"; + status obsolete; + type empty; + } + leaf trunk-status { + description + "TRUNK status messages"; + type empty; + } + leaf nfas-status { + description + "NFAS D-channel status messages"; + type empty; + } + leaf power-inline-status { + description + "Inline power messages"; + type empty; + } + leaf status { + description + "Spanning-tree state change messages"; + type empty; + } + container spanning-tree { + description + "Spanning-tree Interface events"; + presence "true"; + leaf status { + description + "Spanning-tree state change messages"; + type empty; + } + } + container subif-link-status { + description + "Sub-interface UPDOWN and CHANGE messages"; + presence "true"; + leaf ignore-bulk { + description + "Do not log messages when the main interface is transitioning"; + type empty; + } + } + } + } + container mdix { + description + "Set Media Dependent Interface with Crossover"; + leaf auto { + type boolean; + } + } + container mop { + leaf enabled { + type boolean; + default "false"; + } + leaf sysid { + description + "Send out MOP periodic system ID messages"; + type boolean; + default "false"; + } + } + leaf max-reserved-bandwidth { + description + "Maximum Reservable Bandwidth on an Interface"; + type uint8 { + range "1..100"; + } + } + leaf mtu { + description + "Set the interface Maximum Transmission Unit (MTU)"; + type uint16 { + range "64..18000"; + } + } + container interface_qos { + container trust { + leaf device { + type enumeration { + enum cisco-phone; + } + } + } + } + grouping rg-exclusive-decrement-options { + leaf exclusive { + description + "Exclusive"; + type empty; + } + leaf decrement-last { + description + "Specify decrement value"; + type uint8 { + range "1..255"; + } + } + } + + container redundancy { + description + "RG redundancy interface config"; + container rii { + description + "Redundancy interface identifier id for the RG"; + leaf id { + type uint16 { + range "1..65535"; + } + } + leaf decrement { + description + "Specify decrement value. This operation changes the decrement value of all configured groups"; + type uint8 { + range "1..255"; + } + } + } + list group { + description + "RG redundancy traffic interface config"; + key "id"; + leaf id { + description + "RG Group Id"; + type uint8 { + range "1..2"; + } + must '../../rii/id' { + error-message "Configure RII first and unconfigure it last"; + } + } + choice rg-choice { + case decrement-case { + leaf decrement { + description + "Specify decrement value"; + type uint8 { + range "1..255"; + } + } + } + case ip-case { + list virtual-ip { + description + "Virtual-IP address family"; + key "ip-family"; + leaf ip-family { + description + "IP Address family"; + type enumeration { + enum ip; + enum ipv6; + } + } + container ipv4-address { + description + "IPv4 Address"; + when "../ip-family = 'ip'"; + leaf ip { + type inet:ipv4-address; + } + uses rg-exclusive-decrement-options; + } + container ipv6-address { + description + "IPv6 Address"; + when "../ip-family = 'ipv6'"; + leaf ipv6-prefix { + type ios-types:ipv6-prefix; + } + uses rg-exclusive-decrement-options; + } + } + } + } + } + container asymmetric-routing { + description + "RG asymmetric routing config"; + leaf enable { + description + "Enable RG asymmetric routing"; + type empty; + } + } + container gratuitous-arp { + description + "RG gratuitous ARP config"; + list group { + description + "RG redundancy traffic interface config"; + key "id"; + leaf id { + description + "RG Group Id"; + must '../../../rii/id' { + error-message "Configure RII first and unconfigure it last"; + } + type uint8 { + range "1..2"; + } + } + container interval { + description + "Interpacket delay for gratuitous ARP"; + choice interval-choice { + case minutes { + leaf min { + description + "Specify gratuitous ARP message interval in minutes"; + type uint8 { + range "1..240"; + } + } + } + case seconds { + leaf sec { + description + "Specify gratuitous ARP message interval in seconds"; + type uint16 { + range "1..14400"; + } + } + } + } + } + } + } + } + leaf service-insertion { + description + "Service-insertion AppNav Controller"; + type enumeration { + enum waas; + enum appqoe; + } + } + container source { + description + "Get config from another source"; + container template { + description + "Get config from a template"; + list template-name { + ordered-by user; + key "template-name"; + leaf template-name { + type string; + } + leaf merge { + description + "merge option of binding"; + type empty; + } + } + } + } + uses config-interface-hsrp-grouping; + container access-session { + description + "Access Session specific Interface Configuration Commands"; + leaf closed { + description + "Enable closed access on port (disabled by default, i.e. open access)"; + type empty; + } + leaf port-control-config { + description + "Set the port-control value"; + type enumeration { + enum auto; + enum force-authorized; + enum force-unauthorized; + } + default "force-authorized"; + } + container port-control { + status obsolete; + description + "Set the port-control value. OBSOLETE, use port-control-config instead"; + leaf auto { + status obsolete; + description + "PortState set to automatic"; + type empty; + } + } + leaf control-direction-config { + description + "Set the control-direction on the interface"; + type enumeration { + enum both; + enum in; + } + default "both"; + } + container control-direction { + status obsolete; + description + "Set the control-direction on the interface (OBSOLETE, use control-direction-config)"; + leaf in { + status obsolete; + description + "Control inbound traffic only"; + type empty; + } + } + container host-mode-config { + description + "Set the Host mode for authentication on this interface"; + leaf modes { + description + "Access-session host-mode values"; + type enumeration { + enum multi-auth; + enum multi-domain; + enum multi-host; + enum single-host; + } + default "multi-auth"; + } + leaf peer { + when "(../modes = 'multi-host')"; + description + "Authenticate peer device only"; + type empty; + } + } + leaf host-mode { + status obsolete; + description + "Set the Host mode for authentication on this interface (OBSOLETE, use host-mode-config instead)"; + type enumeration { + enum multi-auth; + enum multi-domain; + enum multi-host; + enum single-host; + } + default "multi-auth"; + } + container inherit { + description + "Access Session Inherit"; + container disable { + description + "Access Session disable"; + leaf autoconf { + description + "Auto Conf"; + type empty; + } + leaf interface-template-sticky { + description + "Interface Template Sticky"; + type empty; + } + leaf service-policy { + description + "Service Policy"; + type empty; + } + } + } + leaf monitor { + description + "Apply interface defined access-session monitor"; + type boolean; + default "true"; + } + container interface-template { + description + "Set the local interface-template sticky"; + container sticky { + description + "Interface templates set to sticky"; + presence "true"; + leaf timer { + description + "Sticky timer value"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container storm-control { + description + "storm configuration"; + container action { + description + "Action to take for storm..control;"; + leaf level { + description + "Set storm suppression level on this interface"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + leaf shutdown { + description + "Shutdown this interface if a storm occurs"; + type empty; + } + leaf trap { + description + "Send SNMP trap if a storm occurs"; + type empty; + } + } + container broadcast { + description + "Broadcast address storm control"; + container include { + leaf multicast { + type empty; + } + } + uses storm-control-threshold-grouping; + } + container multicast { + description + "Multicast address storm control"; + uses storm-control-threshold-grouping; + } + container unicast { + description + "Unicast address storm control"; + uses storm-control-threshold-grouping; + } + container unknown-unicast { + description + "Unknown-Unicast address storm control"; + uses storm-control-threshold-grouping; + } + container level-shared { + if-feature "ios-features:sc-level-shared"; + description + "Mixed types of network traffic storm control"; + uses storm-control-level-shared-grouping; + } + } + container subscriber { + description + "Subscriber inactivity timeout value."; + container aging { + description + "Obtain inactivity timeout value from the server"; + choice timer-probe { + container inactivity-timer { + description + "Inactivity timeout value"; + leaf value { + description + "Enter a value between 0 and 65535 in seconds"; + type uint16 { + range "0..65535"; + } + default "0"; + } + leaf probe { + description + "ARP probe"; + type empty; + } + } + leaf probe { + description + "ARP probe"; + type empty; + } + } + } + } + container trust { + description + "Set trust value for the interface"; + leaf device { + description + "trusted device class"; + type enumeration { + enum cisco-phone; + enum cts; + enum ip-camera; + enum media-player; + } + } + } + container priority-queue { + description + "Configure priority scheduling"; + container cos-map { + description + "Configure cos-map for a queue"; + leaf id { + type uint8; + } + leaf-list cos-values { + max-elements 8; + type uint8 { + range "0..7"; + } + } + } + leaf out { + description + "egress priority queue"; + type empty; + } + } + container srlg { + description + "Interface Shared Risk Link Group config commands"; + container gid { + description + "SRLG Group ID"; + leaf-list value { + description + "SRLG Group ID value"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container rcv-queue { + description + "Configure receive queue(s)"; + list cos-map { + description + "Configure cos-map for a queue threshold"; + key "queue-id threshold-id"; + leaf queue-id { + type uint8 { + range "1..3"; + } + } + leaf threshold-id { + type uint8 { + range "1..8"; + } + } + leaf-list cos-values { + max-elements 8; + type uint8 { + range "0..7"; + } + } + } + } + container peer { + description + "Peer parameters for point to point interfaces"; + container default { + description + "Specify default parameters"; + container ip { + description + "Specify default IP parameters"; + choice address-choice { + container address-no { + leaf address { + description + "Specify default IP address"; + type boolean; + must ". = 'false'" { + error-message "Illegal operation to configure address"; + } + } + } + container address-config { + container address { + description + "Specify default IP address"; + choice address-choice { + leaf dhcp { + description + "Use DHCP proxy client mechanism to allocate a peer IP address"; + type empty; + } + container dhcp-pool { + description + "Use local DHCP pools to allocate a peer IP address"; + presence "true"; + leaf pools { + type string; + } + } + container pool { + description + "Use IP pool mechanism to allocate a peer IP address"; + presence "true"; + leaf pools { + type string; + } + } + } + } + } + } + container address { + description + "Specify default IP address"; + status obsolete; + choice address-choice { + status obsolete; + leaf dhcp { + description + "Use DHCP proxy client mechanism to allocate a peer IP address"; + status obsolete; + type empty; + } + container dhcp-pool { + description + "Use local DHCP pools to allocate a peer IP address"; + status obsolete; + presence "true"; + leaf pools { + status obsolete; + type string; + } + } + container pool { + description + "Use IP pool mechanism to allocate a peer IP address"; + status obsolete; + presence "true"; + leaf pools { + status obsolete; + type string; + } + } + } + } + } + } + } + container pm-path { + description + "Global pm-path configuration"; + leaf name { + description + "WORD Path name"; + type string; + } + leaf interface-id { + description + "<1-255> Specify the interface-id value"; + type uint8 { + range "1..255"; + } + } + } + } + + grouping interface-with-dependency-grouping { + choice interface-choice { + leaf AppNav-Compress { + description + "Service-Context Virtual Interface Compress"; + type leafref { + path "/ios:native/ios:interface/ios:AppNav-Compress/ios:name"; + } + } + leaf AppNav-UnCompress { + description + "Service-Context Virtual Interface UnCompress"; + type leafref { + path "/ios:native/ios:interface/ios:AppNav-UnCompress/ios:name"; + } + } + leaf ATM { + description + "ATM interface"; + type leafref { + path "/ios:native/ios:interface/ios:ATM/ios:name"; + } + } + container ATM-subinterface { + leaf ATM { + type leafref { + path "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:name"; + } + } + } + leaf ATM-ACR { + description + "ATM-ACR interface"; + type leafref { + path "/ios:native/ios:interface/ios:ATM-ACR/ios:name"; + } + } + container ATM-ACRsubinterface { + leaf ATM-ACR { + type leafref { + path "/ios:native/ios:interface/ios:ATM-ACRsubinterface/ios:ATM-ACR/ios:name"; + } + } + } + leaf BDI { + description + "Bridge-Domain interface"; + type leafref { + path "/ios:native/ios:interface/ios:BDI/ios:name"; + } + } + leaf CEM { + description + "CEM interface"; + type leafref { + path "/ios:native/ios:interface/ios:CEM/ios:name"; + } + } + leaf CEM-ACR { + description + "CEM-ACR interface"; + type leafref { + path "/ios:native/ios:interface/ios:CEM-ACR/ios:name"; + } + } + leaf Embedded-Service-Engine { + description + "cisco embedded service engine module"; + type leafref { + path "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:name"; + } + } + leaf Ethernet { + description + "IEEE 802.3"; + type leafref { + path "/ios:native/ios:interface/ios:Ethernet/ios:name"; + } + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + type leafref { + path "/ios:native/ios:interface/ios:FastEthernet/ios:name"; + } + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type leafref { + path "/ios:native/ios:interface/ios:GigabitEthernet/ios:name"; + } + } + leaf FiveGigabitEthernet { + description + "Five GigabitEthernet "; + type leafref { + path "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:name"; + } + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type leafref { + path "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:name"; + } + } + leaf TwentyFiveGigE { + description + "Twenty Five GigabitEthernet "; + type leafref { + path "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:name"; + } + } + leaf TwoGigabitEthernet { + description + "Two GigabitEthernet "; + type leafref { + path "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:name"; + } + } + leaf FortyGigabitEthernet { + description + "Forty GigabitEthernet "; + type leafref { + path "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:name"; + } + } + leaf FiftyGigabitEthernet { + description + "Fifty GigabitEthernet "; + type leafref { + path "/ios:native/ios:interface/ios:FiftyGigabitEthernet/ios:name"; + } + } + leaf HundredGigE { + description + "Hundred GigabitEthernet"; + type leafref { + path "/ios:native/ios:interface/ios:HundredGigE/ios:name"; + } + } + leaf TwoHundredGigE { + description + "Two Hundred GigabitEthernet"; + type leafref { + path "/ios:native/ios:interface/ios:TwoHundredGigE/ios:name"; + } + } + leaf FourHundredGigE { + description + "Four Hundred GigabitEthernet"; + type leafref { + path "/ios:native/ios:interface/ios:FourHundredGigE/ios:name"; + } + } + leaf L2LISP { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + type leafref { + path "/ios:native/ios:interface/ios:L2LISP/ios:name"; + } + } + container L2LISP-subinterface { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + leaf L2LISP { + type leafref { + path "/ios:native/ios:interface/ios:L2LISP-subinterface/ios:L2LISP/ios:name"; + } + } + } + leaf LISP { + description + "Locator/ID Separation Protocol Virtual Interface"; + type leafref { + path "/ios:native/ios:interface/ios:LISP/ios:name"; + } + } + container LISP-subinterface { + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + type leafref { + path "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:name"; + } + } + } + leaf Loopback { + description + "Loopback interface"; + type leafref { + path "/ios:native/ios:interface/ios:Loopback/ios:name"; + } + } + leaf LORAWAN { + description + "LORAWAN interface"; + type leafref { + path "/ios:native/ios:interface/ios:LORAWAN/ios:name"; + } + } + leaf WPAN { + description + "WPAN interface"; + if-feature "ios-features:wpan"; + type leafref { + path "/ios:native/ios:interface/ios:WPAN/ios:name"; + } + } + leaf Virtual-WPAN { + if-feature "ios-features:wpan"; + description + "Virtual WPAN interface"; + type leafref { + path "/ios:native/ios:interface/ios:Virtual-WPAN/ios:name"; + } + } + leaf Multilink { + description + "Multilink-group interface"; + type leafref { + path "/ios:native/ios:interface/ios:Multilink/ios:name"; + } + } + leaf nve { + description + "Network virtualization endpoint interface"; + type leafref { + path "/ios:native/ios:interface/ios:nve/ios:name"; + } + } + leaf overlay { + description + "Overlay interface"; + type leafref { + path "/ios:native/ios:interface/ios:overlay/ios:name"; + } + } + leaf Port-channel { + description + "Ethernet Channel of interfaces"; + type leafref { + path "/ios:native/ios:interface/ios:Port-channel/ios:name"; + } + } + container Port-channel-subinterface { + leaf Port-channel { + type leafref { + path "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:name"; + } + } + } + leaf PRP-channel { + description + "prp-channel interface"; + type leafref { + path "/ios:native/ios:interface/ios:PRP-channel/ios:name"; + } + } + leaf pseudowire { + description + "Pseudowire Interface"; + type leafref { + path "/ios:native/ios:interface/ios:pseudowire/ios:name"; + } + } + leaf SM { + description + "SM Interface"; + type leafref { + path "/ios:native/ios:interface/ios:SM/ios:name"; + } + } + leaf Cellular { + description + "Cellular Interface"; + type leafref { + path "/ios:native/ios:interface/ios:Cellular/ios:name"; + } + } + leaf Dialer { + description + "Dialer Interface"; + type leafref { + path "/ios:native/ios:interface/ios:Dialer/ios:name"; + } + } + leaf Serial { + description + "Serial interface"; + type leafref { + path "/ios:native/ios:interface/ios:Serial/ios:name"; + } + } + leaf Async { + description + "Async serial interface"; + type leafref { + path "/ios:native/ios:interface/ios:Async/ios:name"; + } + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type leafref { + path "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:name"; + } + } + leaf Tunnel { + description + "Tunnel interface"; + type leafref { + path "/ios:native/ios:interface/ios:Tunnel/ios:name"; + } + } + leaf Virtual-Template { + description + "Virtual Template interface"; + type leafref { + path "/ios:native/ios:interface/ios:Virtual-Template/ios:name"; + } + } + leaf Vlan { + description + "Iosxr Vlans"; + type leafref { + path "/ios:native/ios:interface/ios:Vlan/ios:name"; + } + } + leaf VirtualPortGroup { + description + "Virtual Port Group"; + type leafref { + path "/ios:native/ios:interface/ios:VirtualPortGroup/ios:name"; + } + } + leaf vasileft { + description + "vasileft"; + type leafref { + path "/ios:native/ios:interface/ios:vasileft/ios:name"; + } + } + leaf vasiright { + description + "vasiright"; + type leafref { + path "/ios:native/ios:interface/ios:vasiright/ios:name"; + } + } + leaf BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + type leafref { + path "/ios:native/ios:interface/ios:BD-VIF/ios:name"; + } + } + leaf MFR { + description + "MFR interface"; + type leafref { + path "/ios:native/ios:interface/ios:MFR/ios:name"; + } + } + container Serial-subinterface { + leaf Serial { + type leafref { + path "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:name"; + } + } + } + leaf Bundle { + if-feature "ios-features:cable-config"; + description + "Bundle interface"; + type leafref { + path "/ios:native/ios:interface/ios:Bundle/ios:name"; + } + } + } + } + + grouping config-interface-grouping { + container interface { + description + "Configure Interfaces"; + list AppNav-Compress { + description + "Service-Context Virtual Interface Compress"; + key "name"; + leaf name { + type uint16 { + range "1..1000"; + } + } + uses interface-common-grouping; + } + list AppNav-UnCompress { + description + "Service-Context Virtual Interface UnCompress"; + key "name"; + leaf name { + type uint16 { + range "1..1000"; + } + } + uses interface-common-grouping; + } + list ATM { + description + "ATM interface"; + key "name"; + leaf name { + type string { + pattern '([0-9]+/)*[0-9]+'; + } + } + uses interface-common-grouping; + } + container ATM-subinterface { + list ATM { + key "name"; + leaf name { + type string { + pattern '([0-9]+/)*[0-9]+\.[0-9]+'; + } + } + leaf link-type { + description + "Link type for subinterface"; + type enumeration { + enum point-to-point; + enum multipoint; + } + } + uses interface-common-grouping; + } + } + list ATM-ACR { + description + "ATM-ACR interface"; + key "name"; + leaf name { + type string { + pattern '[0-9]'; + } + } + } + container ATM-ACRsubinterface { + list ATM-ACR { + key "name"; + leaf name { + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + } + list BDI { + description + "Bridge-Domain interface"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list CEM { + description + "Circuit Emulation interface"; + key "name"; + leaf name { + type string { + pattern '([0-9]/){2}[0-9]{2}'; + } + } + } + list CEM-ACR { + description + "Circuit Emulation interface"; + key "name"; + leaf name { + type uint8 { + range "0..255"; + } + } + } + list Embedded-Service-Engine { + description + "cisco embedded service engine module"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list Ethernet { + description + "IEEE 802.3"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list FastEthernet { + description + "FastEthernet IEEE 802.3"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list ucse { + description + "Cisco ucse server"; + key "name"; + leaf name { + type string; + } + uses interface-negotiation-grouping; + uses interface-switchport-grouping; + uses interface-common-grouping; + } + list Ethernet-Internal { + description + "Ethernet-Internal interface"; + key "name"; + leaf name { + type string; + } + uses interface-negotiation-grouping; + uses interface-switchport-grouping; + uses interface-common-grouping; + } + list Service-Engine { + description + "Cisco service engine module"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-switchport-grouping; + uses interface-macsec-grouping; + } + list TwoGigabitEthernet { + description + "Two Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list FiveGigabitEthernet { + description + "Five Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-switchport-grouping; + uses interface-macsec-grouping; + } + list TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five Gigabit Ethernet"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf media-type { + status obsolete; + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + status obsolete; + type enumeration { + enum nni; + } + } + uses obsolete-interface-common-grouping; + } + list TwentyFiveGigE { + description + "Twenty Five Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + leaf fec { + description + "fec"; + type enumeration { + enum auto; + enum cl108; + enum cl74; + enum cl91; + enum off; + } + default "auto"; + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list FortyGigabitEthernet { + description + "Forty Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list FiftyGigabitEthernet { + description + "Fifty Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf media-type { + description + "Media type"; + type enumeration { + enum auto-select; + enum rj45; + enum sfp; + } + } + leaf port-type { + type enumeration { + enum nni; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list HundredGigE { + description + "Hundred Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf enable { + description + "To enable or disable HundredGig Traffic"; + type empty; + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list TwoHundredGigE { + description + "Two Hundred Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf enable { + description + "To enable or disable Two HundredGig Traffic"; + type empty; + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list FourHundredGigE { + description + "Four Hundred Gigabit Ethernet"; + key "name"; + leaf name { + type string { + pattern '(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(\.[0-9]*)?'; + } + } + leaf enable { + description + "To enable or disable Four HundredGig Traffic"; + type empty; + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + list Loopback { + description + "Loopback interface"; + key "name"; + leaf name { + type uint32 { + range "0..2147483647"; + } + } + uses interface-common-grouping; + } + list LORAWAN { + description + "LORAWAN interface"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list WPAN { + description + "WPAN interface"; + if-feature "ios-features:wpan"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list Virtual-WPAN { + description + "Virtual WPAN interface"; + if-feature "ios-features:wpan"; + key "name"; + leaf name { + type enumeration { + enum 0; + } + } + uses interface-common-grouping; + } + list L2LISP { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + key "name"; + leaf name { + type uint16 { + range "0..65520"; + } + } + uses interface-common-grouping; + } + container L2LISP-subinterface { + description + "L2 Locator/ID Separation Protocol Virtual Interface"; + list L2LISP { + key "name"; + leaf name { + must "/ios:native/ios:interface/ios:L2LISP[ios:name=number(substring-before(current(), '.'))]" { + error-message "To create a L2LISP subinterface, the L2LISP interface needs to be created 1st; vice versa for delete."; + } + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + uses interface-common-grouping; + } + } + list LISP { + description + "Locator/ID Separation Protocol Virtual Interface"; + key "name"; + leaf name { + type uint16 { + range "0..65520"; + } + } + uses interface-common-grouping; + } + container LISP-subinterface { + description + "Locator/ID Separation Protocol Virtual Interface"; + list LISP { + key "name"; + leaf name { + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + uses interface-common-grouping; + } + } + list nve { + description + "Network virtualization endpoint interface"; + key "name"; + leaf name { + type uint16 { + range "1..4096"; + } + } + container group-based { + description + "group based policy mode"; + leaf policy { + type empty; + } + } + leaf group-based-policy { + description + "group based policy mode"; + type empty; + } + container host-reachability { + container protocol { + leaf bgp { + type empty; + } + } + } + container vxlan { + container udp { + leaf port { + description + "VxLAN dataplane UDP destination port for this NVE interface"; + type uint16 { + range "1024..65535"; + } + } + } + uses nve-vxlan-encap-grouping; + } + container source-interface { + description + "Specify source interface for NVE"; + uses ios-ifc:interface-grouping; + } + container member-in-one-line { + container member { + list vni { + description + "Configure VNI information"; + key "vni-range"; + leaf vni-range { + description + "VNI range or instance between 4096-16777215, example: 6010-6030 or 7115"; + type string; + } + leaf vrf { + description + "Specify a particular VRF"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + } + container member { + list vni { + description + "Configure VNI information"; + key "vni-range"; + leaf vni-range { + description + "VNI range or instance between 4096-16777215, example: 6010-6030 or 7115"; + type string; + } + container default { + status obsolete; + uses nve-member-vni-no-grouping-obsolete; + } + uses nve-member-vni-grouping; + container no { + status obsolete; + uses nve-member-vni-no-grouping-obsolete; + } + } + } + uses interface-common-grouping; + } + list overlay { + description + "Overlay interface"; + key "name"; + leaf name { + type uint16 { + range "0..512"; + } + } + } + list Port-channel { + description + "Ethernet Channel of interfaces"; + key "name"; + leaf name { + type uint32 { + range "1..512"; + } + } + leaf pc-speed { + description + "Configure speed operation."; + type enumeration { + enum 10; + enum 100; + enum 1000; + enum nonegotiate; + enum auto; + } + } + leaf load-balancing { + description + "Enable vlan or flow based load-balancing"; + type enumeration { + enum vlan; + enum flow; + } + } + leaf load-balance-hash-algo { + if-feature "ios-features:router-poch-lb"; + description + "interface level load-balance-hash-algo"; + default "src-dst-ip"; + type enumeration { + enum dst-ip; + enum dst-mac; + enum src-dst-ip; + enum src-dst-mac; + enum src-dst-mixed-ip-port; + enum src-ip; + enum src-mac; + enum sdwan; + } + } + container port-channel { + description + "Port Channel interface subcommands"; + leaf min-links { + description + "Minimum number of bundled ports needed to bring up this port channel"; + type uint8 { + range "2..8"; + } + } + leaf standalone-disable { + description + "Ports will go to suspended mode if peer does not respond. Use with [no] prefix for independent mode."; + type empty; + } + container bfd { + description + "Enable BFD feature"; + if-feature "ios-features:routing-platform"; + container destination { + description + "Destination IP Address"; + container ipv4 { + description + "IPV4 Address"; + leaf value { + description + "IP Address"; + type inet:ipv4-address; + } + leaf name { + description + "name of the template"; + type string { + length "1..max"; + } + } + } + } + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + container Port-channel-subinterface { + list Port-channel { + key "name"; + leaf name { + must "/ios:native/ios:interface/ios:Port-channel[ios:name=number(substring-before(current(), '.'))]" { + error-message "To create a Port-channel subinterface, the Port-channel interface needs to be created 1st; vice versa for delete."; + } + type string { + pattern '[1-9][0-9]*\.[1-9][0-9]*'; + } + } + uses interface-common-grouping; + uses interface-macsec-grouping; + } + } + list PRP-channel { + description + "prp-channel interface"; + key "name"; + leaf name { + description + "Denotes channel number"; + type uint8 { + range "1..2"; + } + } + uses interface-common-grouping; + } + list pseudowire { + description + "Pseudowire Interface"; + key "name"; + leaf name { + type uint32 { + range "1..231072"; + } + } + } + list SM { + description + "SM Interface"; + key "name"; + leaf name { + type string { + pattern '([0-9])+(/([0-9])+)?'; + } + } + uses interface-common-grouping; + } + list Cellular { + description + "Cellular Interface"; + key "name"; + leaf name { + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + uses interface-common-grouping; + } + list Dialer { + description + "Dialer Interface"; + key "name"; + leaf name { + type uint16 { + range "0..255"; + } + } + uses interface-common-grouping; + } + list Vlan { + description + "Catalyst Vlans"; + key "name"; + leaf name { + type uint16 { + range "1..4094"; + } + } + leaf autostate { + description + "Enable auto-state determination for VLAN"; + type boolean; + default "true"; + } + uses interface-common-grouping; + } + list GMPLS { + description + "MPLS interface"; + key "name"; + leaf name { + type uint16 { + range "0..1000"; + } + } + uses interface-common-grouping; + } + list Group-Async { + description + "Async Group interface"; + key "name"; + leaf name { + type uint16 { + range "0..64"; + } + } + leaf physical-layer { + description + "Configure sync or async physical layer on serial interface"; + type enumeration { + enum async; + enum sync; + } + } + uses interface-common-grouping; + } + list Multilink { + description + "Multilink-group interface"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses interface-common-grouping; + } + list Serial { + description + "Serial interface"; + key "name"; + leaf name { + type string; + } + leaf down-when-looped { + type empty; + } + leaf physical-layer { + description + "Configure sync or async physical layer on serial interface"; + type enumeration { + enum async; + enum sync; + } + default "sync"; + } + uses interface-common-grouping; + } + list Async { + description + "Async interface"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list Tunnel { + description + "Tunnel interface"; + key "name"; + leaf name { + type uint32; + } + uses interface-common-grouping; + container qos { + description + "Quality of Service related commands"; + leaf pre-classify { + description + "Enable QOS classification before packets are tunnel encapsulated"; + type empty; + } + } + } + list vmi { + description + "Virtual Multipoint Interface"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses interface-common-grouping; + uses interface-vmi-grouping; + } + list Virtual-Template { + description + "Virtual Template interface"; + key "name"; + leaf name { + type uint16 { + range "1..4095"; + } + } + leaf type { + description + "type of the virtual-template"; + type enumeration { + enum ethernet; + enum serial; + enum tunnel; + enum vpn; + } + } + uses interface-common-grouping; + } + list Virtual-PPP { + description + "Virtual PPP interface"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses interface-common-grouping; + } + list VirtualPortGroup { + description + "Virtual Port Group"; + key "name"; + leaf name { + type uint16 { + range "0..31"; + } + } + uses interface-common-grouping; + } + list vasileft { + description + "vasileft"; + key "name"; + leaf name { + type uint16 { + range "1..2000"; + } + } + uses interface-common-grouping; + } + list vasiright { + description + "vasiright"; + key "name"; + leaf name { + type uint16 { + range "1..2000"; + } + } + uses interface-common-grouping; + } + list Vif { + description + "PGM Multicast Host interface"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses interface-common-grouping; + } + list Wlan-GigabitEthernet { + description + "WLAN GigabitEthernet"; + key "name"; + leaf name { + type string; + } + uses interface-switchport-grouping; + uses interface-common-grouping; + } + list BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + list MFR { + description + "Multilink Frame Relay bundle interface"; + key "name"; + leaf name { + description + "MFR interface number"; + type uint32 { + range "0..2147483647"; + } + } + uses interface-common-grouping; + } + container Serial-subinterface { + list Serial { + key "name"; + leaf name { + description + "Serial interface Number"; + type string; + } + leaf link-type { + description + "Link type for subinterface"; + type enumeration { + enum point-to-point; + } + } + uses interface-common-grouping; + } + } + container MFR-subinterface { + list MFR { + key "name"; + leaf name { + description + "MFR interface number"; + must "/ios:native/ios:interface/ios:MFR[ios:name=number(substring-before(current(), '.'))]" { + error-message "To create a MFR subinterface, the MFR interface needs to be created 1st; vice versa for delete."; + } + type string; + } + leaf link-type { + description + "Link type for subinterface"; + type enumeration { + enum point-to-point; + } + } + uses interface-common-grouping; + } + } + list Bundle { + if-feature "ios-features:cable-config"; + description + "Bundle interface"; + key "name"; + leaf name { + type string; + } + uses interface-common-grouping; + } + } + } + + grouping obsolete-storm-control-threshold-grouping { + container level { + status obsolete; + description + "Set storm suppression level on this interface"; + container threshold { + status obsolete; + description + "Broadcast address storm control"; + leaf rising-threshold { + status obsolete; + description + "Enter rising threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + leaf falling-threshold { + status obsolete; + description + "Enter falling threshold"; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + } + container bps { + description + "Enter suppression level in bits per second"; + status obsolete; + leaf rising-threshold { + status obsolete; + description + "Enter rising threshold - <0.0 - 10000000000.0>[k|m|g]>"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + status obsolete; + description + "Enter falling threshold - <0.0 - 10000000000.0>[k|m|g]> "; + type ios-types:storm-control-threshold-type; + } + } + container pps { + status obsolete; + description + "Enter suppression level in packets per second"; + leaf rising-threshold { + status obsolete; + description + "Enter rising threshold - <0.0 - 10000000000.0>[k|m|g]"; + type ios-types:storm-control-threshold-type; + } + leaf falling-threshold { + status obsolete; + description + "Enter falling threshold - <0.0 - 10000000000.0>[k|m|g] "; + type ios-types:storm-control-threshold-type; + } + } + } + } + + grouping obsolete-ethernet-grouping { + choice ethernet-choice { + status obsolete; + leaf Ethernet { + description + "IEEE 802.3"; + status obsolete; + type string; + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + status obsolete; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + status obsolete; + type string; + } + leaf FiveGigabitEthernet { + description + "Five Gigabit Ethernet "; + status obsolete; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + status obsolete; + type string; + } + leaf Port-channel { + description + "Ethernet Channel of interfaces"; + status obsolete; + type uint32; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + status obsolete; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five Gigabit Ethernet "; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five Gigabit Ethernet "; + status obsolete; + type string; + } + leaf FortyGigabitEthernet { + description + "Forty Gigabit Ethernet"; + status obsolete; + type string; + } + leaf TwoGigabitEthernet { + description + "Two Gigabit Ethernet "; + status obsolete; + type string; + } + leaf HundredGigE { + description + "Hundred Gigabit Ethernet"; + status obsolete; + type string; + } + leaf vlan { + description + "Catalyst Vlans"; + status obsolete; + type uint16 { + range "1..4094"; + } + } + } + } + + grouping obsolete-l2pt-more-choose-grouping { + leaf mvrp { + description + "Multiple VLAN Registration Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf dtp { + description + "Dynamic Trunking Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf ptppd { + description + "PTP Peer Delay Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf mmrp { + description + "Multiple MAC Registration Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf elmi { + description + "ELMI Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf link-oam { + description + "Link OAM Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf esmc { + description + "ESMC Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + } + + grouping obsolete-interface-l2protocol-forward-grouping { + container l2protocol { + description + "Layer2 control protocols"; + status obsolete; + container forward { + description + "Forwarding L2 PDU to peer device"; + status obsolete; + leaf-list protocols { + description + "L2 PDU type"; + status obsolete; + type l2pt-fwd-proto-type; + } + container drop-threshold { + description + "Set drop threshold for L2 PDU"; + status obsolete; + uses obsolete-config-l2pt-threshold-grouping; + } + container shutdown-threshold { + description + "Set shutdown threshold for L2 PDU"; + status obsolete; + uses obsolete-config-l2pt-threshold-grouping; + } + } + } + } + + grouping obsolete-config-l2pt-threshold-grouping { + list threshold-list { + description + "set threshold for specific layer2 control protocol"; + status obsolete; + key "proto-type"; + leaf proto-type { + description + "L2 PDU type"; + status obsolete; + type l2pt-fwd-proto-type; + } + leaf pps-num { + description + "Packets/sec rate"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + } + } + + grouping obsolete-config-l2pt-more-protocols-grouping { + leaf mvrp { + description + "Multiple VLAN Registration Protocol"; + status obsolete; + type empty; + } + leaf dtp { + description + "Dynamic Trunking Protocol"; + status obsolete; + type empty; + } + leaf ptppd { + description + "PTP Peer Delay Protocol"; + status obsolete; + type empty; + } + leaf mmrp { + description + "Multiple MAC Registration Protocol"; + status obsolete; + type empty; + } + leaf elmi { + description + "ELMI Protocol"; + status obsolete; + type empty; + } + leaf link-oam { + description + "Link OAM Protocol"; + status obsolete; + type empty; + } + leaf esmc { + description + "ESMC Protocol"; + status obsolete; + type empty; + } + } + + grouping obsolete-l2pt-choose-grouping { + leaf lldp { + description + "Link Layer Discovery Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + container point-to-point { + description + "point-to-point layer2 protocols"; + status obsolete; + leaf lacp { + description + "Link Aggregation Control Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf pagp { + description + "Port Aggregation Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf udld { + description + "Unidirectional Link Detection"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + } + uses obsolete-l2pt-more-choose-grouping { + if-feature "ios-features:l2pt-more-protocols"; + } + } + + grouping obsolete-interface-common-grouping { + leaf description { + description + "Interface specific description"; + status obsolete; + type string { + pattern '.*'; + length "0..200"; + } + } + container switchport-conf { + status obsolete; + leaf switchport { + status obsolete; + type boolean; + } + } + container switchport { + description + "Set switching mode characteristics"; + status obsolete; + if-feature "ios-features:switching-platform"; + } + container stackwise-virtual { + description + "Configure stackwise-virtual link values"; + status obsolete; + leaf link { + status obsolete; + type uint8 { + range "1..2"; + } + } + leaf dual-active-detection { + status obsolete; + type empty; + } + } + leaf mac-address { + description + "Manually set interface MAC address"; + status obsolete; + type string; + } + leaf shutdown { + description + "Shutdown the selected interface"; + status obsolete; + type empty; + } + container arp { + description + "Set arp type (arpa, probe, snap), timeout, log options or + packet priority"; + status obsolete; + leaf timeout { + description + "Set ARP cache timeout"; + status obsolete; + type uint32 { + range "0..2147483"; + } + } + leaf snap { + description + "IEEE 802.3 style arp"; + status obsolete; + type empty; + } + leaf authorized { + description + "Only allow internal authorized ARP entry"; + status obsolete; + type empty; + } + container log { + description + "ARP log service"; + status obsolete; + container threshold { + description + "Threshold to trigger ARP log"; + status obsolete; + leaf entries { + description + "Entry count to trigger ARP log"; + status obsolete; + type uint32 { + range "1..2147483647"; + } + } + } + } + container entries { + description + "ARP entries"; + status obsolete; + container interface-limit { + description + "ARP Entry count Threshold"; + status obsolete; + leaf entry-count { + description + "ARP Entry count Threshold"; + status obsolete; + type uint32 { + range "1..2147483647"; + } + } + leaf log { + description + "Rate in seconds"; + status obsolete; + type uint32 { + range "1..3600"; + } + } + } + } + container packet-priority { + description + "Set or Clear Arp Packet Priority"; + status obsolete; + leaf enable { + description + "Set the Arp Packet Priority to HIGH"; + status obsolete; + type empty; + } + } + } + container backup { + description + "Modify backup parameters"; + status obsolete; + container delay { + description + "Delays before backup line up or down transitions"; + status obsolete; + leaf failure { + status obsolete; + description + "Seconds"; + type union { + type uint32 { + range "0..4294967294"; + } + type enumeration { + enum never; + } + } + } + leaf secondary-disable { + description + "Seconds"; + status obsolete; + type union { + type uint32 { + range "0..4294967294"; + } + type enumeration { + enum never; + } + } + } + } + container interface { + description + "Configure an interface as a backup"; + status obsolete; + uses ios-ifc:interface-obsolete-grouping; + } + container load { + description + "Load thresholds for line up or down transitions"; + status obsolete; + leaf kickin { + description + "Percentage"; + status obsolete; + type union { + type uint32 { + range "0..100"; + } + type enumeration { + enum never; + } + } + } + leaf kickout { + description + "Percentage"; + status obsolete; + type union { + type uint32 { + range "0..100"; + } + type enumeration { + enum never; + } + } + } + } + } + container cemoudp { + description + "cemoudp"; + status obsolete; + container reserve { + status obsolete; + leaf acr { + status obsolete; + type uint8; + } + } + } + container cws-tunnel { + description + "Configure Cloud Web Security Tunnel"; + status obsolete; + leaf in { + description + "Inbound traffic"; + status obsolete; + type empty; + } + container out { + description + "Out-bound traffic"; + status obsolete; + leaf tunnel-number { + description + "Outbound traffic tunnel identifier"; + status obsolete; + type uint16 { + range "0..65534"; + } + } + } + } + container l2protocol-tunnel { + description + "Tunnel Layer2 protocols"; + status obsolete; + presence "true"; + leaf cdp { + description + "Cisco Discovery Protocol"; + status obsolete; + type empty; + } + container drop-threshold { + description + "Set drop threshold for protocol packets"; + status obsolete; + leaf packet-rate { + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf cdp { + description + "Cisco Discovery Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf stp { + description + "Spanning Tree Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf vtp { + description + "Vlan Trunking Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + uses obsolete-l2pt-choose-grouping; + } + container shutdown-threshold { + description + "Set shutdown threshold for protocol packets"; + status obsolete; + leaf packet-rate { + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf cdp { + description + "Cisco Discovery Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf stp { + description + "Spanning Tree Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + leaf vtp { + description + "Vlan Trunking Protocol"; + status obsolete; + type uint16 { + range "1..4096"; + } + } + uses obsolete-l2pt-choose-grouping; + } + leaf stp { + description + "Spanning Tree Protocol"; + status obsolete; + type empty; + } + leaf vtp { + description + "Vlan Trunking Protocol"; + status obsolete; + type empty; + } + leaf lldp { + description + "Vlan Trunking Protocol"; + status obsolete; + type empty; + } + container point-to-point { + description + "Vlan Trunking Protocol"; + status obsolete; + leaf lacp { + description + "Link Aggregation Control Protocol"; + status obsolete; + type empty; + } + leaf pagp { + description + "Port Aggregation Protocol"; + status obsolete; + type empty; + } + leaf udld { + description + "Unidirectional Link Detection"; + status obsolete; + type empty; + } + } + uses obsolete-config-l2pt-more-protocols-grouping { + if-feature "ios-features:l2pt-more-protocols"; + } + } + uses obsolete-interface-l2protocol-forward-grouping { + if-feature "ios-features:l2cp-fwd"; + } + container encapsulation { + description + "Set encapsulation type for an interface"; + status obsolete; + choice encap-choice { + status obsolete; + container dot1Q { + description + "IEEE 802.1Q Virtual LAN"; + status obsolete; + leaf vlan-id { + status obsolete; + type uint16 { + range "1..4094"; + } + } + leaf native { + status obsolete; + description + "Make this as native vlan"; + type empty; + } + leaf second-dot1q { + description + "Configure this subinterface as a 1Q-in-1Q subinterface"; + status obsolete; + type union { + type enumeration { + enum any; + } + type string; + } + } + } + container isl { + description + "Inter Switch Link - Virtual LAN encapsulation"; + status obsolete; + leaf vlan-id { + status obsolete; + type uint16 { + range "1..4095"; + } + } + } + container ppp { + description + "Point-to-Point protocol"; + status obsolete; + presence "true"; + } + container slip { + description + "Serial Line IP"; + status obsolete; + presence "true"; + } + container frame-relay { + description + "Frame Relay networks"; + status obsolete; + presence "true"; + leaf ietf { + description + "Use RFC1490/RFC2427 encapsulation"; + status obsolete; + type empty; + } + } + container raw-tcp { + description + "Rawsocket TCP encapsulation"; + status obsolete; + presence "true"; + if-feature "ios-features:rawsocket"; + } + container raw-udp { + description + "Rawsocket UDP encapsulation"; + status obsolete; + presence "true"; + if-feature "ios-features:rawsocket"; + } + } + } + container fair-queue-conf { + status obsolete; + leaf fair-queue { + status obsolete; + type boolean; + } + } + container fair-queue { + description + "Enable Fair Queuing on an Interface"; + status obsolete; + leaf incomplete { + status obsolete; + type empty; + } + } + container flowcontrol { + description + "Configure flow operation."; + status obsolete; + leaf receive { + description + "Configure receiving flow operation"; + status obsolete; + type enumeration { + enum desired; + enum off; + enum on; + } + } + leaf send { + description + "Configure sending flow operation"; + status obsolete; + type enumeration { + enum desired; + enum off; + enum on; + } + } + } + container isis { + description + "IS-IS commands"; + status obsolete; + } + container clns { + description + "IS-IS CLNS commands"; + status obsolete; + } + choice keepalive-choice { + status obsolete; + leaf keepalive { + description + "Enable keepalive"; + status obsolete; + type boolean; + } + container keepalive-settings { + status obsolete; + container keepalive { + description + "Enable keepalive"; + status obsolete; + presence "true"; + leaf period { + status obsolete; + type uint16 { + range "0..32767"; + } + } + leaf retries { + status obsolete; + type uint8; + } + } + } + } + container bfd { + description + "BFD interface configuration commands"; + status obsolete; + } + container bandwidth { + description + "Set bandwidth informational parameter"; + status obsolete; + container receive { + description + "Specify receive-side bandwidth"; + status obsolete; + leaf inherit { + description + "Specify how bandwidth is inherited"; + status obsolete; + type empty; + } + leaf kilobits { + status obsolete; + type uint32; + } + } + container inherit { + description + "Specify how bandwidth is inherited"; + status obsolete; + presence "true"; + leaf kilobits { + status obsolete; + type uint32; + } + } + leaf qos-reference { + description + "Reference bandwidth for QOS"; + status obsolete; + type uint32; + } + leaf kilobits { + status obsolete; + type uint32; + } + } + container dampening { + description + "Enable event dampening"; + status obsolete; + presence "true"; + leaf dampening-time { + status obsolete; + description + "<1-30>;;Half-life time for penalty"; + type uint16 { + range "1..30"; + } + } + leaf start-reusing-time { + status obsolete; + description + "<1-20000>;;Value to start reusing an interface"; + type uint16 { + range "1..20000"; + } + } + leaf start-supressing-time { + status obsolete; + description + "<1-20000>;;Value to start suppressing an interface"; + type uint16 { + range "1..20000"; + } + } + leaf maximum-supressing-time { + status obsolete; + description + "<1-255>;;Maximum duration to suppress an interface"; + type uint16 { + range "1..255"; + } + } + container restart { + description + "Enable restart penalty"; + status obsolete; + leaf restart { + description + "Enable restart penalty"; + status obsolete; + type empty; + } + leaf restart-penalty { + description + "<1-20000>;;Penalty applied at restart"; + status obsolete; + type uint16 { + range "1..20000"; + } + } + } + } + leaf if-state { + status obsolete; + type enumeration { + enum nhrp; + } + } + leaf delay { + description + "Specify interface throughput delay"; + status obsolete; + type uint32 { + range "1..16777215"; + } + } + container domain { + description + "Specify a domain"; + status obsolete; + leaf name { + status obsolete; + type string; + } + leaf path { + description + "Specify a service provider for this interface"; + status obsolete; + type string; + } + leaf internet-bound { + status obsolete; + description + "Specify Internet-bound interface"; + type empty; + } + leaf path-id { + status obsolete; + description + "Specify service provider path-id for this interface"; + type uint8; + } + leaf path-last-resort { + status obsolete; + description + "Specify if you want this interface to be a path of last resort"; + type empty; + } + leaf zero-sla { + status obsolete; + description + "Specify if you want this interface to be a 0-sla interface"; + type empty; + } + } + list hold-queue { + description + "Set hold queue depth"; + status obsolete; + key "direction"; + leaf direction { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf queue-length { + status obsolete; + type uint32 { + range "0..240000"; + } + } + } + container mpls { + status obsolete; + } + choice vrf-choice { + status obsolete; + container ip-vrf { + status obsolete; + container ip { + status obsolete; + container vrf { + status obsolete; + leaf forwarding { + status obsolete; + description + "Configure forwarding table"; + type string; + } + } + } + } + container vrf { + description + "VPN Routing/Forwarding parameters on the interface"; + status obsolete; + leaf forwarding { + description + "Configure forwarding table"; + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + must 'not(../../ip/address) or /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4' { + error-message "Address-family ipv4 in VRF must be created 1st, deleted last"; + } + must "not (../../switchport-conf/switchport) or (../../switchport-conf/switchport = 'false')" { + error-message "To configure vrf forwarding, set switchport to false 1st; To change switchport from false to true, delete vrf forwarding 1st"; + } + type string; + } + leaf downstream { + description + "Configure different VRF for downstream traffic"; + status obsolete; + when '../forwarding'; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container ip { + description + "Interface Internet Protocol config commands"; + status obsolete; + leaf admission { + description + "Apply Network Admission Control"; + status obsolete; + type string; + } + container access-group { + description + "Specify access control for packets"; + status obsolete; + container in { + status obsolete; + choice apply-type { + status obsolete; + case apply-common { + status obsolete; + container common-acl { + status obsolete; + leaf common { + description + "specify ipv4 common ACL for packet filtering"; + status obsolete; + type ios-types:exp-acl-type; + mandatory true; + } + leaf in { + status obsolete; + description + "inbound packets"; + type empty; + } + } + } + case apply-intf { + status obsolete; + container acl { + status obsolete; + leaf acl-name { + status obsolete; + type ios-types:exp-acl-type; + mandatory true; + } + leaf in { + status obsolete; + description + "inbound packets"; + type empty; + } + } + } + } + } + container out { + status obsolete; + choice apply-type { + status obsolete; + case apply-common { + status obsolete; + container common-acl { + status obsolete; + leaf common { + description + "specify ipv4 common ACL for packet filtering"; + status obsolete; + type ios-types:exp-acl-type; + mandatory true; + } + leaf out { + status obsolete; + description + "outbound packets"; + type empty; + } + } + } + case apply-intf { + status obsolete; + container acl { + status obsolete; + leaf acl-name { + status obsolete; + type ios-types:exp-acl-type; + mandatory true; + } + leaf out { + status obsolete; + description + "outbound packets"; + type empty; + } + } + } + } + } + } + container arp { + description + "Configure ARP features"; + status obsolete; + container inspection { + description + "Arp Inspection configuration"; + status obsolete; + container limit { + description + "Configure Rate limit of incoming ARP packets"; + status obsolete; + leaf none { + description + "No limit"; + status obsolete; + type empty; + } + leaf rate { + description + "Rate Limit"; + status obsolete; + type uint32; + } + } + leaf trust { + description + "Configure Trust state"; + status obsolete; + type empty; + } + } + } + container vrf { + description + "VPN Routing/Forwarding parameters on the interface"; + status obsolete; + leaf receive { + description + "Add Interface Address into VRF Table"; + status obsolete; + type string; + } + leaf sitemap { + description + "Configure route-map for routesreceived from this site"; + status obsolete; + type string; + } + container forwarding { + description + "Configure forwarding table"; + status obsolete; + leaf Liin-vrf { + status obsolete; + type empty; + } + leaf mgmtVrf { + status obsolete; + type empty; + } + leaf word { + status obsolete; + type string; + } + } + } + choice address-choice { + status obsolete; + leaf unnumbered { + description + "Enable IP processing without an explicit address"; + status obsolete; + must "starts-with(., 'Dialer') and (number(substring-after(., 'Dialer')) = /ios:native/ios:interface/ios:Dialer/ios:name) or not (starts-with(., 'Dialer'))" { + error-message "To use a Dialer interface, the Dialer interface has to be configured 1st, vice versa for delete"; + } + must "starts-with(., 'Multilink') and (number(substring-after(., 'Multilink')) = /ios:native/ios:interface/ios:Multilink/ios:name) or not (starts-with(., 'Multilink'))" { + error-message "To use a Multilink interface, the Multilink interface has to be configured 1st, vice versa for delete"; + } + type string; + } + container address { + description + "Set the IP address of an interface"; + status obsolete; + choice address-choice { + status obsolete; + case fixed-case { + status obsolete; + list secondary { + status obsolete; + key "address"; + leaf address { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + mandatory true; + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IP address a secondary address. + This leaf must be set in order to prevent it from overriding + the primary address"; + status obsolete; + mandatory true; + type empty; + } + } + container primary { + status obsolete; + leaf address { + status obsolete; + must "not (../../../../switchport-conf/switchport) or (../../../../switchport-conf/switchport = 'false')" { + error-message "To configure ip address, set switchport to false 1st; To change switchport from false to true, delete ip address 1st"; + } + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + } + } + case dhcp-case { + status obsolete; + container dhcp { + description + "IP Address negotiated via DHCP"; + status obsolete; + presence "IP Address negotiated via DHCP"; + container client-id { + description + "Specify client-id to use"; + status obsolete; + uses obsolete-ethernet-grouping; + } + leaf hostname { + description + "Specify value for hostname option"; + status obsolete; + type string; + } + } + } + case negotiated-case { + status obsolete; + leaf negotiated { + description + "IP Address negotiated via IKEv2 Modeconfig"; + status obsolete; + type empty; + } + } + } + } + } + container directed-broadcast { + description + "Enable forwarding of directed broadcasts"; + status obsolete; + presence "true"; + leaf direct-broadcast { + status obsolete; + type ios-types:exp-acl-type; + } + } + container hello-interval { + status obsolete; + description + "Configures EIGRP-IPv4 hello interval"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf seconds { + status obsolete; + description + "Seconds between hello transmissions"; + type uint16; + } + } + container authentication { + status obsolete; + description + "authentication subcommands"; + container key-chain { + status obsolete; + description + "key-chain"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf name { + status obsolete; + description + "name of key-chain"; + type string; + } + } + container mode { + status obsolete; + description + "mode"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf md5 { + status obsolete; + description + "Keyed message digest"; + type empty; + } + } + } + container hold-time { + status obsolete; + description + "Configures EIGRP-IPv4 hold time"; + leaf eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16; + } + leaf seconds { + status obsolete; + description + "Seconds before neighbor is considered down"; + type uint16; + } + } + list helper-address { + description + "Specify a destination address for UDP broadcasts"; + status obsolete; + key "address"; + leaf address { + status obsolete; + type inet:ipv4-address; + } + choice helper-choice { + status obsolete; + leaf global { + description + "Helper-address is global"; + status obsolete; + type empty; + } + leaf vrf { + description + "VRF name for helper-address (if different from interface VRF)"; + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container pim { + description + "PIM interface commands"; + status obsolete; + } + container policy { + description + "Enable policy routing"; + status obsolete; + leaf route-map { + description + "Policy route-map"; + status obsolete; + type string; + } + } + leaf local-proxy-arp { + description + "Enable local-proxy ARP"; + status obsolete; + type empty; + } + leaf proxy-arp { + description + "Enable proxy ARP"; + status obsolete; + type boolean; + } + container rip { + description + "Router Information Protocol"; + status obsolete; + container authentication { + description + "Authentication control"; + status obsolete; + leaf key-chain { + description + "Authentication key-chain"; + status obsolete; + type string; + } + container mode { + description + "Authentication mode"; + status obsolete; + leaf md5 { + description + "Keyed message digest"; + status obsolete; + type empty; + } + leaf text { + description + "Clear text authentication"; + status obsolete; + type empty; + } + } + } + } + container route-cache-conf { + status obsolete; + leaf route-cache { + status obsolete; + type boolean; + } + } + container route-cache { + description + "Enable fast-switching cache for outgoing packets"; + status obsolete; + presence "true"; + leaf cef { + description + "Enable Cisco Express Forwarding"; + status obsolete; + type boolean; + } + leaf flow { + description + "Enable Flow fast-switching cache"; + status obsolete; + type boolean; + } + leaf policy { + description + "Enable fast-switching policy cache for outgoing packets"; + status obsolete; + type boolean; + } + leaf same-interface { + description + "Enable fast-switching on the same interface"; + status obsolete; + type boolean; + } + } + container router { + description + "IP router interface commands"; + status obsolete; + } + leaf redirects { + description + "Enable sending ICMP Redirect messages"; + status obsolete; + type boolean; + } + leaf mask-reply { + description + "Enable sending ICMP Mask Reply messages"; + status obsolete; + type empty; + } + container tcp { + description + "TCP header compression and other parameters"; + status obsolete; + leaf adjust-mss { + description + "Adjust the mss of transit packets"; + status obsolete; + type uint16 { + range "500..1460"; + } + } + } + container virtual-reassembly { + status obsolete; + presence "true"; + leaf max-reassemblies { + status obsolete; + type uint32; + } + leaf max-fragments { + status obsolete; + type uint32; + } + leaf timeout { + status obsolete; + type uint32; + } + leaf drop-fragments { + status obsolete; + type empty; + } + leaf in { + status obsolete; + type empty; + } + } + container dhcp { + description + "Configure DHCP parameters for this interface"; + status obsolete; + } + leaf mtu { + description + "Set IP Maximum Transmission Unit"; + status obsolete; + type uint16 { + range "68..9976"; + } + } + leaf mroute-cache { + description + "Enable switching cache for incoming multicast packets"; + status obsolete; + type boolean; + } + container summary-address { + status obsolete; + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type string; + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + leaf metric { + status obsolete; + type uint32; + } + } + } + container verify { + description + "Enable per packet validation"; + status obsolete; + container source { + description + "Validation of source address"; + status obsolete; + presence "true"; + container vlan { + description + "vlan specification"; + status obsolete; + container dhcp-snooping { + description + "snooping enable vlan"; + status obsolete; + presence "true"; + leaf port-security { + description + "port security"; + status obsolete; + type empty; + } + } + } + } + container unicast { + description + "Enable per packet validation for unicast"; + status obsolete; + container reverse-path { + description + "Reverse path validation of source address (old command format)"; + status obsolete; + presence "true"; + } + container source { + description + "Validation of source address"; + status obsolete; + leaf reachable-via { + description + "Specify reachability check to apply to the source address"; + status obsolete; + type enumeration { + enum any; + enum rx; + } + } + leaf allow-self-ping { + status obsolete; + description + "Allow router to ping itself (opens vulnerability in verification)"; + type empty; + } + leaf allow-default { + description + "Allow default route to match when checking source address"; + status obsolete; + type empty; + } + } + } + } + } + container ipv6 { + description + "IPv6 interface subcommands"; + status obsolete; + container destination-guard { + description + "Configure ipv6 destination guard on the interface"; + status obsolete; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature ipv6 destguard"; + status obsolete; + type string; + } + } + container source-guard { + description + "Configure ipv6 source guard on the interface"; + status obsolete; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature ipv6 sourceguard"; + status obsolete; + type string; + } + } + container dhcp { + description + "IPv6 DHCP interface subcommands"; + status obsolete; + } + container address { + description + "Configure IPv6 address on interface"; + status obsolete; + container dhcp { + description + "Obtain IPv6 address from DHCP server"; + status obsolete; + presence "true"; + leaf rapid-commit { + description + "rapid-commit for prefix delegation"; + status obsolete; + type empty; + } + } + container autoconfig { + description + "Obtain address using autoconfiguration"; + status obsolete; + presence "true"; + leaf default { + description + "Insert default route"; + status obsolete; + type empty; + } + } + list prefix-list { + status obsolete; + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + status obsolete; + } + leaf anycast { + description + "Configure as an anycast"; + status obsolete; + type empty; + } + leaf eui-64 { + description + "Use eui-64 interface identifier"; + status obsolete; + type empty; + } + } + list link-local-address { + status obsolete; + key "address"; + leaf address { + status obsolete; + type inet:ipv6-address; + } + leaf link-local { + description + "Use link-local address"; + status obsolete; + type empty; + } + } + } + leaf unnumbered { + status obsolete; + description + "Preferred interface for source address selection"; + must "starts-with(., 'Multilink') and (number(substring-after(., 'Multilink')) = /ios:native/ios:interface/ios:Multilink/ios:name) or not (starts-with(., 'Multilink'))" { + error-message "To use a Multilink interface, the Multilink interface has to be configured 1st, vice versa for delete"; + } + type string; + } + leaf enable { + description + "Enable IPv6 on interface"; + status obsolete; + type empty; + } + leaf mtu { + description + "Set IPv6 Maximum Transmission Unit"; + status obsolete; + type uint16 { + range "1280..9976"; + } + } + container nd { + description + "IPv6 interface Neighbor Discovery subcommands"; + status obsolete; + } + container router { + description + "IPv6 router interface commands"; + status obsolete; + } + leaf redirects { + description + "Enable sending ICMP Redirect messages"; + status obsolete; + type boolean; + } + container tcp { + description + "TCP header compression and other parameters"; + status obsolete; + leaf adjust-mss { + description + "Adjust the mss of transit packets"; + status obsolete; + type uint16 { + range "40..1454"; + } + } + } + list traffic-filter { + description + "Access control list for packets"; + status obsolete; + key "direction"; + leaf direction { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + status obsolete; + type string; + } + } + } + leaf load-interval { + description + "Specify interval for load calculation for an interface"; + status obsolete; + type uint16 { + range "0..600"; + } + } + container logging { + description + "Configure logging for interface"; + status obsolete; + container event { + description + "Interface events"; + status obsolete; + leaf bundle-status { + description + "BUNDLE/UNBUNDLE messages"; + status obsolete; + type empty; + } + leaf link-status { + description + "UPDOWN and CHANGE messages"; + status obsolete; + type empty; + } + leaf trunk-status { + description + "TRUNK status messages"; + status obsolete; + type empty; + } + leaf nfas-status { + description + "NFAS D-channel status messages"; + status obsolete; + type empty; + } + leaf power-inline-status { + description + "Inline power messages"; + status obsolete; + type empty; + } + leaf status { + description + "Spanning-tree state change messages"; + status obsolete; + type empty; + } + container spanning-tree { + description + "Spanning-tree Interface events"; + status obsolete; + presence "true"; + leaf status { + description + "Spanning-tree state change messages"; + status obsolete; + type empty; + } + } + container subif-link-status { + description + "Sub-interface UPDOWN and CHANGE messages"; + status obsolete; + presence "true"; + leaf ignore-bulk { + description + "Do not log messages when the main interface is transitioning"; + status obsolete; + type empty; + } + } + } + } + container mdix { + description + "Set Media Dependent Interface with Crossover"; + status obsolete; + leaf auto { + status obsolete; + type boolean; + } + } + container mop { + status obsolete; + leaf enabled { + status obsolete; + type boolean; + } + leaf sysid { + description + "Send out MOP periodic system ID messages"; + status obsolete; + type boolean; + } + } + leaf max-reserved-bandwidth { + description + "Maximum Reservable Bandwidth on an Interface"; + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf mtu { + description + "Set the interface Maximum Transmission Unit (MTU)"; + status obsolete; + type uint16 { + range "64..18000"; + } + } + container interface_qos { + status obsolete; + container trust { + status obsolete; + leaf device { + status obsolete; + type enumeration { + enum cisco-phone; + } + } + } + } + grouping rg-exclusive-decrement-options { + leaf exclusive { + status obsolete; + description + "Exclusive"; + type empty; + } + leaf decrement-last { + status obsolete; + description + "Specify decrement value"; + type uint8 { + range "1..255"; + } + } + } + + container redundancy { + description + "RG redundancy interface config"; + status obsolete; + list group { + description + "RG redundancy traffic interface config"; + status obsolete; + key "id"; + leaf id { + description + "RG Group Id"; + status obsolete; + type uint8 { + range "1..2"; + } + must '../../rii/id' { + error-message "Configure RII first and unconfigure it last"; + } + } + choice rg-choice { + status obsolete; + case decrement-case { + status obsolete; + leaf decrement { + description + "Specify decrement value"; + status obsolete; + type uint8 { + range "1..255"; + } + } + } + case ip-case { + status obsolete; + list virtual-ip { + description + "Virtual-IP address family"; + status obsolete; + key "ip-family"; + leaf ip-family { + description + "IP Address family"; + status obsolete; + type enumeration { + enum ip; + enum ipv6; + } + } + container ipv4-address { + description + "IPv4 Address"; + status obsolete; + when "../ip-family = 'ip'"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + uses rg-exclusive-decrement-options; + } + container ipv6-address { + description + "IPv6 Address"; + status obsolete; + when "../ip-family = 'ipv6'"; + leaf ipv6-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + uses rg-exclusive-decrement-options; + } + } + } + } + } + container rii { + description + "Redundancy interface identifier id for the RG"; + status obsolete; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf decrement { + description + "Specify decrement value. This operation changes the decrement value of all configured groups"; + status obsolete; + type uint8 { + range "1..255"; + } + } + } + } + leaf service-insertion { + description + "Service-insertion AppNav Controller"; + status obsolete; + type enumeration { + enum waas; + enum appqoe; + } + } + container source { + description + "Get config from another source"; + status obsolete; + container template { + description + "Get config from a template"; + status obsolete; + list template-name { + status obsolete; + ordered-by user; + key "template-name"; + leaf template-name { + status obsolete; + type string; + } + leaf merge { + description + "merge option of binding"; + status obsolete; + type empty; + } + } + } + } + container standby { + description + "HSRP interface configuration commands"; + status obsolete; + leaf version { + description + "HSRP version"; + status obsolete; + type enumeration { + enum 1; + enum 2; + } + } + leaf bfd { + description + "Enable HSRP BFD"; + status obsolete; + type empty; + } + container delay { + description + "HSRP initialisation delay"; + status obsolete; + leaf minimum { + description + "Minimum delay"; + status obsolete; + type uint16 { + range "0..10000"; + } + } + leaf reload { + description + "Delay after reload"; + status obsolete; + type uint16 { + range "0..10000"; + } + } + } + leaf mac-refresh { + description + "Refresh MAC cache on switch by periodically sending packet from virtual mac address"; + status obsolete; + type uint8 { + range "0..255"; + } + } + container use-bia { + description + "HSRP uses interface's burned in address"; + status obsolete; + presence "true"; + container scope { + description + "Specify the scope of use-bia"; + status obsolete; + leaf interface { + description + "Use-bia applies to all groups on this interface or sub-interface"; + status obsolete; + type empty; + } + } + } + list standby-list { + status obsolete; + key "group-number"; + leaf group-number { + status obsolete; + type uint16; + } + container authentication { + description + "Authentication"; + status obsolete; + choice auth { + status obsolete; + leaf word { + status obsolete; + type string; + } + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf key-chain { + description + "Set key chain"; + status obsolete; + type string; + } + container key-string { + description + "Set key string"; + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + leaf timeout { + status obsolete; + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + leaf text { + description + "Plain text authentication"; + status obsolete; + type string; + } + } + } + leaf follow { + description + "Name of HSRP group to follow"; + status obsolete; + type string; + } + container ip { + description + "Enable HSRP and set the virtual IP address"; + status obsolete; + presence "true"; + leaf address { + status obsolete; + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IP address a secondary virtual IP address"; + status obsolete; + type empty; + } + } + leaf ipv6 { + description + "Enable HSRP IPv6"; + status obsolete; + type union { + type inet:ipv6-address; + type ios-types:ipv6-prefix; + type enumeration { + enum autoconfig; + } + } + } + leaf mac-address { + description + "Virtual MAC address"; + status obsolete; + type string; + } + leaf name { + description + "Redundancy name string"; + status obsolete; + type string; + } + container preempt { + description + "Overthrow lower priority Active routers"; + status obsolete; + presence "true"; + container delay { + description + "Wait before preempting"; + status obsolete; + leaf minimum { + description + "Delay at least this long"; + status obsolete; + type uint16 { + range "0..3600"; + } + } + leaf reload { + description + "Delay after reload"; + status obsolete; + type uint16 { + range "0..3600"; + } + } + leaf sync { + description + "Wait for IP redundancy client"; + status obsolete; + type uint16 { + range "0..3600"; + } + } + } + } + leaf priority { + description + "Priority level"; + status obsolete; + type uint8; + } + container redirect { + description + "Configure sending of ICMP Redirect messages with an HSRP virtual IP address as the gateway IP address"; + status obsolete; + container advertisement { + description + "Redirect advertisement messages"; + status obsolete; + container authentication { + description + "Authentication"; + status obsolete; + container md5 { + description + "Use MD5 authentication"; + status obsolete; + leaf key-chain { + description + "Set key chain"; + status obsolete; + type string; + } + container key-string { + description + "Set key string"; + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + leaf timeout { + description + "Set timeout"; + status obsolete; + type uint16 { + range "0..32767"; + } + } + } + } + } + } + container timers { + description + "Adjust redirect timers"; + status obsolete; + leaf advertisement { + status obsolete; + type uint16 { + range "10..180"; + } + } + leaf holddown { + status obsolete; + type uint16 { + range "30..3600"; + } + } + } + leaf unknown { + description + "Redirect to non-HSRP routers"; + status obsolete; + type empty; + } + } + container timers { + description + "Hello and hold timers"; + status obsolete; + container hello-interval { + status obsolete; + choice hello-interval-choice { + status obsolete; + leaf seconds { + status obsolete; + type uint8 { + range "1..254"; + } + } + leaf msec { + description + "Specify hello interval in milliseconds"; + status obsolete; + type uint16 { + range "15..999"; + } + } + } + } + container hold-time { + status obsolete; + choice hold-time-choice { + status obsolete; + leaf seconds { + status obsolete; + type uint8 { + range "1..255"; + } + } + leaf msec { + description + "Specify hold time in milliseconds"; + status obsolete; + type uint16 { + range "50..3000"; + } + } + } + } + } + list track { + description + "Priority tracking"; + status obsolete; + key "number"; + leaf number { + status obsolete; + type uint16 { + range "1..1000"; + } + } + leaf decrement { + description + "Priority decrement"; + status obsolete; + type uint8; + } + leaf shutdown { + description + "Shutdown group"; + status obsolete; + type empty; + } + } + } + } + container access-session { + description + "Access Session specific Interface Configuration Commands"; + status obsolete; + leaf closed { + description + "Enable closed access on port (disabled by default, i.e. open access)"; + status obsolete; + type empty; + } + leaf port-control-config { + description + "Set the port-control value"; + status obsolete; + type enumeration { + enum auto; + enum force-authorized; + enum force-unauthorized; + } + default "force-authorized"; + } + container port-control { + status obsolete; + description + "Set the port-control value. DEPRECATED, use port-control-config instead"; + leaf auto { + status obsolete; + description + "PortState set to automatic"; + type empty; + } + } + leaf control-direction-config { + description + "Set the control-direction on the interface"; + status obsolete; + type enumeration { + enum both; + enum in; + } + default "both"; + } + container control-direction { + status obsolete; + description + "Set the control-direction on the interface (DEPRECATED, use control-direction-config)"; + leaf in { + status obsolete; + description + "Control inbound traffic only"; + type empty; + } + } + leaf host-mode { + description + "Set the Host mode for authentication on this interface"; + status obsolete; + type enumeration { + enum multi-auth; + enum multi-domain; + enum multi-host; + enum single-host; + } + default "multi-auth"; + } + container inherit { + description + "Access Session Inherit"; + status obsolete; + container disable { + description + "Access Session disable"; + status obsolete; + leaf autoconf { + description + "Auto Conf"; + status obsolete; + type empty; + } + leaf interface-template-sticky { + description + "Interface Template Sticky"; + status obsolete; + type empty; + } + leaf service-policy { + description + "Service Policy"; + status obsolete; + type empty; + } + } + } + leaf monitor { + description + "Apply interface defined access-session monitor"; + status obsolete; + type boolean; + default "true"; + } + container interface-template { + description + "Set the local interface-template sticky"; + status obsolete; + container sticky { + description + "Interface templates set to sticky"; + status obsolete; + presence "true"; + leaf timer { + description + "Sticky timer value"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + } + } + } + container storm-control { + description + "storm configuration"; + status obsolete; + container action { + description + "Action to take for storm..control"; + status obsolete; + leaf level { + description + "Set storm suppression level on this interface"; + status obsolete; + type decimal64 { + fraction-digits 2; + range "0..100"; + } + } + leaf shutdown { + description + "Shutdown this interface if a storm occurs"; + status obsolete; + type empty; + } + leaf trap { + description + "Send SNMP trap if a storm occurs"; + status obsolete; + type empty; + } + } + container broadcast { + description + "Broadcast address storm control"; + status obsolete; + container include { + status obsolete; + leaf multicast { + status obsolete; + type empty; + } + } + uses obsolete-storm-control-threshold-grouping; + } + container multicast { + status obsolete; + description + "Multicast address storm control"; + uses obsolete-storm-control-threshold-grouping; + } + container unicast { + status obsolete; + description + "Unicast address storm control"; + uses obsolete-storm-control-threshold-grouping; + } + container unknown-unicast { + status obsolete; + description + "Unknown-Unicast address storm control"; + uses obsolete-storm-control-threshold-grouping; + } + } + container subscriber { + status obsolete; + description + "Subscriber inactivity timeout value."; + container aging { + status obsolete; + description + "Obtain inactivity timeout value from the server"; + choice timer-probe { + status obsolete; + container inactivity-timer { + description + "Inactivity timeout value"; + status obsolete; + leaf value { + description + "Enter a value between 1 and 65535 in seconds"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf probe { + description + "ARP probe"; + status obsolete; + type empty; + } + } + leaf probe { + description + "ARP probe"; + status obsolete; + type empty; + } + } + } + } + container trust { + description + "Set trust value for the interface"; + status obsolete; + leaf device { + description + "trusted device class"; + status obsolete; + type enumeration { + enum cisco-phone; + enum cts; + enum ip-camera; + enum media-player; + } + } + } + container priority-queue { + description + "Configure priority scheduling"; + status obsolete; + container cos-map { + description + "Configure cos-map for a queue"; + status obsolete; + leaf id { + status obsolete; + type uint8; + } + leaf-list cos-values { + status obsolete; + max-elements 8; + type uint8 { + range "0..7"; + } + } + } + leaf out { + description + "egress priority queue"; + status obsolete; + type empty; + } + } + container rcv-queue { + description + "Configure receive queue(s)"; + status obsolete; + list cos-map { + description + "Configure cos-map for a queue threshold"; + status obsolete; + key "queue-id threshold-id"; + leaf queue-id { + status obsolete; + type uint8 { + range "1..3"; + } + } + leaf threshold-id { + status obsolete; + type uint8 { + range "1..8"; + } + } + leaf-list cos-values { + status obsolete; + max-elements 8; + type uint8 { + range "0..7"; + } + } + } + } + container peer { + description + "Peer parameters for point to point interfaces"; + status obsolete; + container default { + description + "Specify default parameters"; + status obsolete; + container ip { + description + "Specify default IP parameters"; + status obsolete; + container address { + description + "Specify default IP address"; + status obsolete; + choice address-choice { + status obsolete; + leaf dhcp { + description + "Use DHCP proxy client mechanism to allocate a peer IP address"; + status obsolete; + type empty; + } + container dhcp-pool { + description + "Use local DHCP pools to allocate a peer IP address"; + status obsolete; + presence "true"; + leaf pools { + status obsolete; + type string; + } + } + container pool { + description + "Use IP pool mechanism to allocate a peer IP address"; + status obsolete; + presence "true"; + leaf pools { + status obsolete; + type string; + } + } + } + } + } + } + } + container pm-path { + description + "Global pm-path configuration"; + status obsolete; + leaf name { + description + "WORD Path name"; + status obsolete; + type string; + } + leaf interface-id { + description + "<1-255> Specify the interface-id value"; + status obsolete; + type uint8 { + range "1..255"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-common-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-common-oper.yang new file mode 100644 index 000000000..cee4dfd21 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-common-oper.yang @@ -0,0 +1,2127 @@ +module Cisco-IOS-XE-ios-common-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ios-common-oper"; + prefix ios-common-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for some common IOS structures + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-03-01 { + description + "Changed model formatting."; + reference + "1.5.1"; + cisco-semver:module-version "1.5.1"; + } + revision 2020-03-01 { + description + "Added port error code"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-11-01 { + description + "Added port-err-reason enumeration to describe port error states."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ios-snpa-type { + type enumeration { + enum ios-snpa-type-illegal { + value 0; + description + "illegal address"; + } + enum ios-snpa-type-ieee48 { + value 1; + description + "48bit IEEE 802.X address"; + } + enum ios-snpa-type-ieee16 { + value 2; + description + "16bit IEEE 802.X address"; + } + enum ios-snpa-type-xerox { + value 3; + description + "Xerox 3MB experimental ether"; + } + enum ios-snpa-type-x121 { + value 4; + description + "CCITT X.121 address"; + } + enum ios-snpa-type-cisco-hdlc { + value 5; + description + "cisco HDLC framing"; + } + enum ios-snpa-type-cisco-mlapb { + value 6; + description + "cisco multi-LAPB framing"; + } + enum ios-snpa-type-lapb { + value 7; + description + "ISO/CCITT LAPB framing"; + } + enum ios-snpa-type-smds48 { + value 8; + description + "SMDS with 48 bit addresses"; + } + enum ios-snpa-type-cisco-msdlc { + value 9; + description + "cisco multi-SDLC framing"; + } + enum ios-snpa-type-fr10 { + value 10; + description + "Frame Relay with 10-bit DLCI"; + } + enum ios-snpa-type-ultra { + value 11; + description + "CCCI defined Ultranet"; + } + enum ios-snpa-type-cisco-tunnel { + value 12; + description + "cisco tunnel and EON encoding"; + } + enum ios-snpa-type-cisco-ctunnel { + value 13; + description + "CLNP tunnel"; + } + enum ios-snpa-type-rrr-tunnel { + value 14; + description + "rrr tunnel"; + } + enum ios-snpa-type-ppp { + value 15; + description + "PPP framing"; + } + enum ios-snpa-type-smds64 { + value 16; + description + "SMDS 64-bit addressing"; + } + enum ios-snpa-type-atmvc { + value 17; + description + "AIP VC no."; + } + enum ios-snpa-type-atm-bundle { + value 18; + description + "ATM PVC bundle"; + } + enum ios-snpa-type-atm-svc-bundle { + value 19; + description + "ATM SVC bundle"; + } + enum ios-snpa-type-atmnsap { + value 20; + description + "ATM NSAP address"; + } + enum ios-snpa-type-atm-e164 { + value 21; + description + "ATM E164 address"; + } + enum ios-snpa-type-atm-userspecified { + value 22; + description + "ATM User Specified address"; + } + enum ios-snpa-type-sdlc { + value 23; + description + "SDLC address"; + } + enum ios-snpa-type-x25pvc { + value 24; + description + "X.25 Lci fpr PVC's"; + } + enum ios-snpa-type-lapd { + value 25; + description + "LAPD framing"; + } + enum ios-snpa-type-masked-atmnsap { + value 26; + description + "masked ATM NSAP address"; + } + enum ios-snpa-type-atmesi { + value 27; + description + "ATM ESI address"; + } + enum ios-snpa-type-slip { + value 28; + description + "SLIP Framing"; + } + enum ios-snpa-type-routedesc { + value 29; + description + "route descriptor for TR LANE"; + } + enum ios-snpa-type-srp-outer { + value 30; + description + "48bit SRP address on outer ring"; + } + enum ios-snpa-type-srp-inner { + value 31; + description + "48bit SRP address on inner ring"; + } + } + description + "SNPA Type"; + } + + typedef ios-encaps-type { + type enumeration { + enum ios-encaps-type-null { + value 0; + description + "undefined -- error"; + } + enum ios-encaps-type-arpa { + value 1; + description + "Ethernet - DDN style"; + } + enum ios-encaps-type-sap { + value 2; + description + "Ethernet"; + } + enum ios-encaps-type-snap { + value 3; + description + "802.2 SNAP types"; + } + enum ios-encaps-type-1822 { + value 4; + description + "DDN - 1822 (obsolete)"; + } + enum ios-encaps-type-hdlc { + value 5; + description + "Serial - raw HDLC"; + } + enum ios-encaps-type-unused2 { + value 6; + description + "Unused Placeholder (3MB)"; + } + enum ios-encaps-type-unused1 { + value 7; + description + "Unused Placeholder (HDH)"; + } + enum ios-encaps-type-lapb { + value 8; + description + "Serial - LAPB"; + } + enum ios-encaps-type-x25 { + value 9; + description + "Serial - X.25"; + } + enum ios-encaps-type-hub { + value 10; + description + "HUB fiber optic"; + } + enum ios-encaps-type-novell-ether { + value 11; + description + "Novell style XNS on Ethernet"; + } + enum ios-encaps-type-unsupported { + value 12; + description + "Unsupported protocols"; + } + enum ios-encaps-type-3com-tr { + value 13; + description + "3Com XNS over TR 802.2 0x80"; + } + enum ios-encaps-type-ub-tr { + value 14; + description + "Ungermann-Bass XNS over TR SNAP"; + } + enum ios-encaps-type-apollo { + value 15; + description + "Apollo domain packets"; + } + enum ios-encaps-type-ppp { + value 16; + description + "Serial PPP"; + } + enum ios-encaps-type-unused4 { + value 17; + description + "Unused Placeholder (ISO3)"; + } + enum ios-encaps-type-vines-tr { + value 18; + description + "ISO1 with Vines demux byte"; + } + enum ios-encaps-type-ethertalk { + value 19; + description + "AppleTalk phase 1 on ethernet"; + } + enum ios-encaps-type-frame-relay { + value 20; + description + "Frame Relay"; + } + enum ios-encaps-type-smds { + value 21; + description + "Switched Multimegabit Data Service (SMDS)"; + } + enum ios-encaps-type-mac { + value 22; + description + "MAC level packets"; + } + enum ios-encaps-type-ultra-iso2 { + value 23; + description + "Ultranet"; + } + enum ios-encaps-type-ultra-iso1 { + value 24; + description + "Ultranet-Hello"; + } + enum ios-encaps-type-stun { + value 25; + description + "Serial - serial tunnelling"; + } + enum ios-encaps-type-bridge { + value 26; + description + "Packet in bridge encapsulation"; + } + enum ios-encaps-type-llc2 { + value 27; + description + "LLC 2"; + } + enum ios-encaps-type-sdlcp { + value 28; + description + "Serial - SDLC (primary)"; + } + enum ios-encaps-type-sdlcs { + value 29; + description + "Serial - SDLC (secondary)"; + } + enum ios-encaps-type-slip { + value 30; + description + "Async SLIP encapsulation"; + } + enum ios-encaps-type-tunnel { + value 31; + description + "Standard Tunnel Interface"; + } + enum ios-encaps-type-bridge-encaps { + value 32; + description + "Bridge encapsulation"; + } + enum ios-encaps-type-atm { + value 33; + description + "ATM interface encapsulation"; + } + enum ios-encaps-type-atm-dxi { + value 34; + description + "ATM DXI implementation"; + } + enum ios-encaps-type-fr-ietf { + value 35; + description + "Frame Relay with IETF encapsulation"; + } + enum ios-encaps-type-smds-dxi { + value 36; + description + "SMDS DXI implementation"; + } + enum ios-encaps-type-atm-dxi-ietf { + value 37; + description + "atm-dxi with IETF encapsulation"; + } + enum ios-encaps-type-channel { + value 38; + description + "IBM Channel"; + } + enum ios-encaps-type-sdlc { + value 39; + description + "CLSI compliant SDLC"; + } + enum ios-encaps-type-sde { + value 40; + description + "802.10 Secure Data Exchange"; + } + enum ios-encaps-type-bstun { + value 41; + description + "block serial tunnel"; + } + enum ios-encaps-type-dialer { + value 42; + description + "Dialer encapsulation"; + } + enum ios-encaps-type-novell-fddi { + value 43; + description + "Novell style XNS on FDDI"; + } + enum ios-encaps-type-v120 { + value 44; + description + "V120 ISDN->ASYNC encapsulation"; + } + enum ios-encaps-type-isl { + value 45; + description + "Inter Switch Link - vLANs on FEIP"; + } + enum ios-encaps-type-loop { + value 46; + description + "loopback interface"; + } + enum ios-encaps-type-channel-ilan { + value 47; + description + "IBM Channel internal LAN"; + } + enum ios-encaps-type-serial-autodetect { + value 48; + description + "Autodetected for Serials"; + } + enum ios-encaps-type-cpp { + value 49; + description + "Combinet proprietary protocol"; + } + enum ios-encaps-type-ndlc { + value 50; + description + "NCIA DLC"; + } + enum ios-encaps-type-lapd { + value 51; + description + "ISDN Q.921"; + } + enum ios-encaps-type-ftc-trunk { + value 52; + description + "StrataCom IPX/Fastpad protocol"; + } + enum ios-encaps-type-atmces-t1 { + value 53; + description + "ATM T1 Circuit Emulation."; + } + enum ios-encaps-type-atmces-e1 { + value 54; + description + "ATM E1 Circuit Emulation."; + } + enum ios-encaps-type-voice { + value 55; + description + "Packetized Voice"; + } + enum ios-encaps-type-alc { + value 56; + description + "ALC (P1024B) sync protocol"; + } + enum ios-encaps-type-uts { + value 57; + description + "UTS (P1024C) sync protocol"; + } + enum ios-encaps-type-trisl { + value 58; + description + "Token Ring Inter-Switch Link (TRISL)"; + } + enum ios-encaps-type-mcns { + value 59; + description + "Cable - MCNS"; + } + enum ios-encaps-type-atmces { + value 60; + description + "ATM circuit emulation service"; + } + enum ios-encaps-type-trans { + value 61; + description + "for transparent mode"; + } + enum ios-encaps-type-clear-channel { + value 62; + description + "TDM clear channel"; + } + enum ios-encaps-type-tc-atm { + value 63; + description + "Tag Controlled ATM interface"; + } + enum ios-encaps-type-fr-ppp { + value 64; + description + "PPP over Frame Relay"; + } + enum ios-encaps-type-dot1q { + value 65; + description + "IEEE 802.1Q"; + } + enum ios-encaps-type-funi { + value 66; + description + "Frame based user network interface"; + } + enum ios-encaps-type-lapbta { + value 67; + description + "LAPB terminal adapter"; + } + enum ios-encaps-type-docsis { + value 68; + description + "Cable Modem"; + } + enum ios-encaps-type-np-inband { + value 69; + description + "NextPort DSP modem in-band message"; + } + enum ios-encaps-type-ss7-mtp2 { + value 70; + description + "SS7 MTP-2 over serial/TDM interface"; + } + enum ios-encaps-type-gtp { + value 71; + description + "General Packet Radio Service (GPRS)"; + } + enum ios-encaps-type-isl-switchport { + value 72; + description + "ISL SW encapsulation packet sent on switch port"; + } + enum ios-encaps-type-srp { + value 73; + description + "Spatial Reuse Protocol"; + } + enum ios-encaps-type-ppp-etype { + value 74; + description + "PPP hdr with Ethertype protocol type"; + } + enum ios-encaps-type-atm-ppp { + value 75; + description + "PPP over ATM"; + } + enum ios-encaps-type-mfr { + value 76; + description + "Multilink Frame Relay"; + } + enum ios-encaps-type-srp2 { + value 77; + description + "SRP version 2"; + } + enum ios-encaps-type-fr-extended { + value 78; + description + "Frame Relay extended addressing"; + } + enum ios-encaps-type-pppoe { + value 79; + description + "PPP Over Ethernet"; + } + enum ios-encaps-type-ouni-sdcc { + value 80; + description + "OIF UNI SDCC per OIF2000.125"; + } + enum ios-encaps-type-multiservice { + value 81; + description + "encapsulation type for multiservice interface"; + } + enum ios-encaps-type-container { + value 82; + description + "Container"; + } + enum ios-encaps-type-dot1ad { + value 83; + description + "Dot1ad ether type"; + } + enum ios-encaps-type-cem { + value 84; + description + "Circuit Emulation Type"; + } + enum ios-encaps-type-dot1ah { + value 85; + description + "IEEE 802.1ah Ether type"; + } + enum ios-encaps-type-ptp { + value 86; + description + "PTP type"; + } + enum ios-encaps-type-ssl { + value 87; + description + "For SSLVPN"; + } + enum ios-encaps-type-lisp { + value 88; + description + "Locator/ID Separation Protocol (LISP)"; + } + enum ios-encaps-type-dsp-spa { + value 89; + description + "DSP-based SPA"; + } + enum ios-encaps-type-t101 { + value 90; + description + "IEC-60870-5-101 for Async Serial interface"; + } + enum ios-encaps-type-crypto { + value 91; + description + "Crypto"; + } + enum ios-encaps-type-rawtcp { + value 92; + description + "Raw socket TCP for Async line interface"; + } + enum ios-encaps-type-async { + value 93; + description + "Async line raw data"; + } + enum ios-encaps-type-cmd { + value 94; + description + "Cisco Meta Data (CMD) EtherType=0x8909 encapsulation"; + } + enum ios-encaps-type-scada { + value 95; + description + "SCADA for Async Serial Interface"; + } + enum ios-encaps-type-rawudp { + value 96; + description + "Raw socket UDP for Async line interface"; + } + enum ios-encaps-type-relay-line { + value 97; + description + "Line relay for Async line interface"; + } + enum ios-encaps-type-rawmpls { + value 98; + description + "Raw socket over MPLS for Async line interface + Market want to call it trans. It's a little conflict + TRANSPARENT"; + } + enum ios-encaps-type-arpa-nid { + value 99; + description + "if NID added after ARPA we add a new type"; + } + } + description + "Encapsulation Type"; + } + + typedef ios-linktype { + type enumeration { + enum ios-linktype-illegal { + value 0; + description + "invalid link type"; + } + enum ios-linktype-arp { + value 1; + description + "IP ARP"; + } + enum ios-linktype-rarp { + value 2; + description + "Reverse ARP"; + } + enum ios-linktype-xarp { + value 3; + description + "Xerox ARP"; + } + enum ios-linktype-probe { + value 4; + description + "HP's 802 version of ARP"; + } + enum ios-linktype-loop { + value 5; + description + "Ethernet loopback"; + } + enum ios-linktype-address { + value 6; + description + "cisco Systems Serial ARP"; + } + enum ios-linktype-ip { + value 7; + description + "Internet Protocol (IP)"; + } + enum ios-linktype-pup { + value 8; + description + "Xerox PARC Universal Protocol (PUP)"; + } + enum ios-linktype-9-unused { + value 9; + description + "Available Unused Slot"; + } + enum ios-linktype-xns { + value 10; + description + "XNS protocol (Xerox original)"; + } + enum ios-linktype-novell { + value 11; + description + "Novell IPX"; + } + enum ios-linktype-apollo { + value 12; + description + "Apollo Domain"; + } + enum ios-linktype-vines { + value 13; + description + "Banyan Vines IP"; + } + enum ios-linktype-pad { + value 14; + description + "X.2[89] PAD protocol"; + } + enum ios-linktype-x25 { + value 15; + description + "X.25 for purists"; + } + enum ios-linktype-appletalk { + value 16; + description + "AppleTalk - Extended DDP"; + } + enum ios-linktype-aarp { + value 17; + description + "Appletalk ARP"; + } + enum ios-linktype-dec-spanning { + value 18; + description + "DEC spanning tree"; + } + enum ios-linktype-ieee-spanning { + value 19; + description + "IEEE spanning tree BPDU"; + } + enum ios-linktype-nbf { + value 20; + description + "NBF NetBios Frames"; + } + enum ios-linktype-21-unused { + value 21; + description + "Unused Link Type"; + } + enum ios-linktype-decnet { + value 22; + description + "DECnet Phase IV node unicast"; + } + enum ios-linktype-decnet-router-l1 { + value 23; + description + "(Old) DECnet PhaseIV router multicast"; + } + enum ios-linktype-decnet-node { + value 24; + description + "DECnet Phase IV node multicast"; + } + enum ios-linktype-clns { + value 25; + description + "OSI 8473 ES-IS 9542, etc."; + } + enum ios-linktype-clns-all-es { + value 26; + description + "ES-IS Multicast - all end systems"; + } + enum ios-linktype-clns-all-is { + value 27; + description + "ES-IS Multicast - all intermed."; + } + enum ios-linktype-clns-bcast { + value 28; + description + "CLNS & ES-IS Broadcasts"; + } + enum ios-linktype-xot { + value 29; + description + "X.25 over TCP"; + } + enum ios-linktype-ppp { + value 30; + description + "Protocol PPP"; + } + enum ios-linktype-lat { + value 31; + description + "DEC LAT terminal protocol"; + } + enum ios-linktype-vines-echo { + value 32; + description + "Banyan Vines Echo Protocol"; + } + enum ios-linktype-vines-loop { + value 33; + description + "Banyan Vines Loopback Protocol"; + } + enum ios-linktype-atalk-short { + value 34; + description + "AppleTalk short DDP"; + } + enum ios-linktype-mop-boot { + value 35; + description + "DEC MOP booting protocol"; + } + enum ios-linktype-mop-console { + value 36; + description + "DEC MOP console protocol"; + } + enum ios-linktype-rsrb { + value 37; + description + "RSRB raw"; + } + enum ios-linktype-bridge { + value 38; + description + "transparent bridge traffic"; + } + enum ios-linktype-stun { + value 39; + description + "Stunnel"; + } + enum ios-linktype-fr-arp { + value 40; + description + "Frame Relay"; + } + enum ios-linktype-smds-arp { + value 41; + description + "SMDS own ARP"; + } + enum ios-linktype-mac { + value 42; + description + "MAC packets"; + } + enum ios-linktype-ibmnm { + value 43; + description + "IBM Network Management packets"; + } + enum ios-linktype-uarp { + value 44; + description + "Ultranet"; + } + enum ios-linktype-ultra-hello { + value 45; + description + "Ultranet"; + } + enum ios-linktype-x25service { + value 46; + description + "X.25 services"; + } + enum ios-linktype-uncompressed-tcp { + value 47; + description + "Uncompressed TCP/IP"; + } + enum ios-linktype-compressed-tcp { + value 48; + description + "Compressed TCP/IP"; + } + enum ios-linktype-llc2 { + value 49; + description + "LLC type II"; + } + enum ios-linktype-cmns { + value 50; + description + "CMNS--X.25 over non-serial media"; + } + enum ios-linktype-isis-all-l1-is { + value 51; + description + "ISIS - All Level 1 ISes"; + } + enum ios-linktype-isis-all-l2-is { + value 52; + description + "ISIS - All Level 2 ISes"; + } + enum ios-linktype-fr-switch { + value 53; + description + "FR switching over IP tunnel"; + } + enum ios-linktype-decnet-prime-router { + value 54; + description + "Ph-IV Prime all routers"; + } + enum ios-linktype-srb { + value 55; + description + "source route bridge traffic"; + } + enum ios-linktype-qllc { + value 56; + description + "qllc (SNA over X.25)"; + } + enum ios-linktype-x25-multi-enc { + value 57; + description + "X.25 multiprotocol encapsulation"; + } + enum ios-linktype-lex { + value 58; + description + "Lan Extension Protocol"; + } + enum ios-linktype-lex-rcmd { + value 59; + description + "Lex-NCP + LEX Remote commands"; + } + enum ios-linktype-decnet-router-l2 { + value 60; + description + "DECnet PhaseIV L2 router multcast"; + } + enum ios-linktype-cls { + value 61; + description + "Frames from RSRB vring->CLS vring"; + } + enum ios-linktype-snapshot { + value 62; + description + "Start dialing, don't send frame"; + } + enum ios-linktype-dlsw { + value 63; + description + "Data Link Switching traffic"; + } + enum ios-linktype-sde { + value 64; + description + "802.10 Secure Data Exchange"; + } + enum ios-linktype-cdp { + value 65; + description + "Cisco Discovery Protocol"; + } + enum ios-linktype-ppp-compression { + value 66; + description + "Compression Control Protocol PPP"; + } + enum ios-linktype-nmp { + value 67; + description + "Local LNM packet traffic"; + } + enum ios-linktype-bstun { + value 68; + description + "block serial tunnel"; + } + enum ios-linktype-ipc { + value 69; + description + "Out-of-band IPC"; + } + enum ios-linktype-love { + value 70; + description + "CIP statistics"; + } + enum ios-linktype-cfgack { + value 71; + description + "CIP asynchronous cfg acks"; + } + enum ios-linktype-appn-anr { + value 72; + description + "APPN HPR ANR traffic"; + } + enum ios-linktype-multilink { + value 73; + description + "Multilink protocol"; + } + enum ios-linktype-nhrp { + value 74; + description + "Next Hop Resolution Protocol (NHRP)"; + } + enum ios-linktype-mac-exp { + value 75; + description + "MAC frames are express buffered"; + } + enum ios-linktype-cgmp { + value 76; + description + "Cisco Group Management Protocol"; + } + enum ios-linktype-vtp { + value 77; + description + "Cisco VLAN Transport Protocol"; + } + enum ios-linktype-cpp { + value 78; + description + "Combinet proprietary encapsulation"; + } + enum ios-linktype-ipv6 { + value 79; + description + "IP version 6"; + } + enum ios-linktype-atm { + value 80; + description + "Asynchronous Transfer Mode (ATM)"; + } + enum ios-linktype-isl { + value 81; + description + "Cisco Inter Switch Link"; + } + enum ios-linktype-bap { + value 82; + description + "Bandwidth Allocation Protocol"; + } + enum ios-linktype-compressed-rtp { + value 83; + description + "Compressed RTP-UDP-IP"; + } + enum ios-linktype-compressed-udp { + value 84; + description + "Compressed UDP-IP"; + } + enum ios-linktype-uncompressed-udp { + value 85; + description + "Uncompressed RTP-UDP-IP"; + } + enum ios-linktype-context-status { + value 86; + description + "RTP context error"; + } + enum ios-linktype-fr-switch-serial { + value 87; + description + "FR switching over serial line + internal packet identification only"; + } + enum ios-linktype-c5-ibipc { + value 88; + description + "Cat5k inband ipc"; + } + enum ios-linktype-nlsp-multicast { + value 89; + description + "NLSP multicast hello/update"; + } + enum ios-linktype-tag { + value 90; + description + "Tag switched packet"; + } + enum ios-linktype-mtag { + value 91; + description + "Multicast TAG (MTAG)"; + } + enum ios-linktype-alps { + value 92; + description + "Airline Protocol Support"; + } + enum ios-linktype-drip { + value 93; + description + "Cisco DRIP"; + } + enum ios-linktype-voice { + value 94; + description + "Voice over ATM"; + } + enum ios-linktype-fr-atm { + value 95; + description + "FR-ATM network interworking"; + } + enum ios-linktype-fcp { + value 96; + description + "layer3 switching on earl2"; + } + enum ios-linktype-voice-no-rt { + value 97; + description + "Non real time voice"; + } + enum ios-linktype-vlan-br-spanning { + value 98; + description + "VLAN Bridge spanning tree BPDU"; + } + enum ios-linktype-dot1q { + value 99; + description + "IEEE 802.1Q"; + } + enum ios-linktype-cisco-ipc { + value 100; + description + "cisco ipc msg."; + } + enum ios-linktype-vsi { + value 101; + description + "Cisco VSI Protocol"; + } + enum ios-linktype-isdn-manual-call { + value 102; + description + "for manual ISDN call"; + } + enum ios-linktype-comp-non-tcp { + value 103; + description + "IPHC compression"; + } + enum ios-linktype-comp-tcp-nodelta { + value 104; + description + "IPHC compression"; + } + enum ios-linktype-fr-atm-srv { + value 105; + description + "FR-ATM service interworking"; + } + enum ios-linktype-fr-eek { + value 106; + description + "FR end-to-end keepalive"; + } + enum ios-linktype-ehsa { + value 107; + description + "Test type for EHSA"; + } + enum ios-linktype-mscp { + value 108; + description + "Multicast Shortcut PDU"; + } + enum ios-linktype-scp { + value 109; + description + "Cat6k - linecard control"; + } + enum ios-linktype-pppoe-discovery { + value 110; + description + "PPP over Ethernet Discovery"; + } + enum ios-linktype-pppoe-session { + value 111; + description + "PPP over Ethernet Session"; + } + enum ios-linktype-l2rly { + value 112; + description + "GPRS l2rly"; + } + enum ios-linktype-gtp { + value 113; + description + "GPRS GTP"; + } + enum ios-linktype-comp-rtp-16 { + value 114; + description + "Compressed RTP-UDP-IP 16 bit CID"; + } + enum ios-linktype-comp-udp-16 { + value 115; + description + "Compressed RTP-UDP-IP 16 bit CID"; + } + enum ios-linktype-atm-switch { + value 116; + description + "ATM PDU switching"; + } + enum ios-linktype-pagp { + value 117; + description + "Port Aggregation Protocol"; + } + enum ios-linktype-sstp { + value 118; + description + "Shared Spanning Tree BPDU"; + } + enum ios-linktype-rlq-req { + value 119; + description + "STP Root Link Query Request"; + } + enum ios-linktype-rlq-resp { + value 120; + description + "STP Root Link Query Response"; + } + enum ios-linktype-dyntrk { + value 121; + description + "Dynamic Trunk Protocol (DTP) PDU"; + } + enum ios-linktype-mls-ip { + value 122; + description + "layer3 switching internal flush"; + } + enum ios-linktype-dyntrk-encap { + value 123; + description + "DTP PDUs sent with SW ISL encapsulation"; + } + enum ios-linktype-udld { + value 124; + description + "UniDirectional Link Protocol"; + } + enum ios-linktype-srp { + value 125; + description + "Spatial Reuse Protocol (SRP)"; + } + enum ios-linktype-rgmp { + value 126; + description + "Router-port Group Management Protocol (RGMP)"; + } + enum ios-linktype-mistp { + value 127; + description + "Multi Instance Spanning Tree"; + } + enum ios-linktype-compressed-fr { + value 128; + description + "Compressed Frame Relay"; + } + enum ios-linktype-vito-scp { + value 129; + description + "Vito SCP protocol"; + } + enum ios-linktype-const-ftep { + value 130; + description + "Constellation Forwarding Table Edit Protocol"; + } + enum ios-linktype-vlan-switch { + value 131; + description + "VLAN PDU switching"; + } + enum ios-linktype-atom { + value 132; + description + "ATOM (Process) switching"; + } + enum ios-linktype-raw { + value 133; + description + "Raw switching"; + } + enum ios-linktype-oscp { + value 134; + description + "Optical Supervisory Channel Protocol"; + } + enum ios-linktype-diag { + value 135; + description + "For Diagnostic loop back via Ethernet chip"; + } + enum ios-linktype-stack-disc { + value 136; + description + "STP DUF STACK discovery"; + } + enum ios-linktype-fast-trans { + value 137; + description + "STP DUF Fast Transition"; + } + enum ios-linktype-dot1x { + value 138; + description + "802.1X Port Access Entity Type"; + } + enum ios-linktype-fr-frag { + value 139; + description + "FR fragmentation"; + } + enum ios-linktype-slow-proto { + value 140; + description + "802.3AD Slow Protocol"; + } + enum ios-linktype-eompls { + value 141; + description + "sync damage please name me"; + } + enum ios-linktype-ieee-dot1q { + value 142; + description + "sync damage please name me"; + } + enum ios-linktype-voice-nrt { + value 143; + description + "sync damage please name me"; + } + enum ios-linktype-uti-raw { + value 144; + description + "sync damage please name me"; + } + enum ios-linktype-hdlc-hapi { + value 145; + description + "ACE IPsec accelerator control"; + } + enum ios-linktype-cwan-ipsec { + value 146; + description + "IPSec acceleration for CWAN"; + } + enum ios-linktype-sstp-spanning { + value 147; + description + "Shared Spanning Tree BPDU"; + } + enum ios-linktype-fr-saa { + value 148; + description + "FR SAA round trip measurement"; + } + enum ios-linktype-froe { + value 149; + description + "Frame Relay over Ethernet"; + } + enum ios-linktype-vpdn { + value 150; + description + "Forwarded VPDN packets"; + } + enum ios-linktype-slm-saa { + value 151; + description + "SAA SLM Link Type"; + } + enum ios-linktype-rf-kpa { + value 152; + description + "Redundancy Facility keepalives"; + } + enum ios-linktype-rbcp { + value 153; + description + "Router blade control protocol"; + } + enum ios-linktype-p2ipc { + value 154; + description + "P2IPC LinkType"; + } + enum ios-linktype-p2ipc-mpls { + value 155; + description + "P2IPC LinkType for MPLS controller"; + } + enum ios-linktype-xconnect { + value 156; + description + "Xconnect (Process switching)"; + } + enum ios-linktype-slm-fr-saa { + value 157; + description + "FR SLM Link Type"; + } + enum ios-linktype-cdma-rp { + value 158; + description + "CDMA RP"; + } + enum ios-linktype-pw-ip-deprecated { + value 159; + description + "Deprecated + do not reuse due to potential ISSU conflict"; + } + enum ios-linktype-vj-uncomp-tcp { + value 160; + description + "VJ Uncompressed TCP/IP"; + } + enum ios-linktype-vj-comp-tcp { + value 161; + description + "VJ Compressed TCP/IP"; + } + enum ios-linktype-online-diags { + value 162; + description + "Online Diagnostics"; + } + enum ios-linktype-vrf-ipsec { + value 163; + description + "VRF Aware Ipsec Crypto"; + } + enum ios-linktype-broadcom { + value 164; + description + "Link Broadcom"; + } + enum ios-linktype-http { + value 165; + description + "HyperText Transfer Protocol (HTTP)"; + } + enum ios-linktype-lfp { + value 166; + description + "Link Fault Propagation"; + } + enum ios-linktype-drprip { + value 167; + description + "Dual RPR Interconnect Protocol"; + } + enum ios-linktype-ether-cfm { + value 168; + description + "Ethernet Connectivity Fault Management + (Version D1)"; + } + enum ios-linktype-ether-oam { + value 169; + description + "Ethernet OAM (802.3ah) "; + } + enum ios-linktype-mmu { + value 170; + description + "Mac Move Update"; + } + enum ios-linktype-vslp { + value 171; + description + "Virtual Switch Link Protocol"; + } + enum ios-linktype-ether-lmi { + value 172; + description + "Ethernet Local Management Interface"; + } + enum ios-linktype-lldp { + value 173; + description + "Link Layer Discovery Protocol(IEEE 802.1AB)"; + } + enum ios-linktype-gvrp { + value 174; + description + "GARP VLAN Registration Protocol (802.1Q GVRP)"; + } + enum ios-linktype-gmrp { + value 175; + description + "GARP Multicast Registration Protocol (802.1Q GMRP)"; + } + enum ios-linktype-ancp { + value 176; + description + "Access Node Control Protocol"; + } + enum ios-linktype-rep { + value 177; + description + "Resilient Ethernet Protocol"; + } + enum ios-linktype-rep-hfl { + value 178; + description + "Resilient Ethernet Protocol Hardware Flood Layer"; + } + enum ios-linktype-ipe { + value 179; + description + "IPe Bootstrap"; + } + enum ios-linktype-mvrp { + value 180; + description + "Multiple VLAN Registration Protocol + MVRP (802.1ak)"; + } + enum ios-linktype-vsda { + value 181; + description + "Virtual Switch Dual Active Protocol"; + } + enum ios-linktype-ecfm { + value 182; + description + "Ethernet Connectivity Fault Management + (IEEE Version)"; + } + enum ios-linktype-dot1ah { + value 183; + description + "Ethernet Mac tunnelling Protocol + (802.1ah I-TAG Version)"; + } + enum ios-linktype-sdp { + value 184; + description + "Satellite Discovery And Control protocol"; + } + enum ios-linktype-cdpfwd { + value 185; + description + "CDP Forwarding (CDPFWD)"; + } + enum ios-linktype-t101 { + value 186; + description + "IEC 60870-5 101 Async Link"; + } + enum ios-linktype-rsvp { + value 187; + description + "RSVP Protocol "; + } + enum ios-linktype-isisl2-otv-all-l1-is { + value 188; + description + "ISIS L2 OTV - All Level 1 ISes"; + } + enum ios-linktype-isisl2-otv-all-l2-is { + value 189; + description + "ISIS L2 OTV - All Level 2 ISes"; + } + enum ios-linktype-g8032 { + value 190; + description + "G.8032"; + } + enum ios-linktype-sdac { + value 191; + description + "Satellite Discovery And Control protocol"; + } + enum ios-linktype-ptppd { + value 192; + description + "PTP Peer Delay protocol"; + } + enum ios-linktype-rawtcp { + value 193; + description + "RAWTCP"; + } + enum ios-linktype-an-ch { + value 194; + description + "Autonomic Networking"; + } + enum ios-linktype-fex-sdp { + value 195; + description + "FEX SDP/SRP Satellite Discovery Protocol + Satellite Registration Protocols"; + } + enum ios-linktype-esmc { + value 196; + description + "Ethernet Synchronous Messaging Channel (ESCM)"; + } + enum ios-linktype-cisp { + value 197; + description + "Client Information Signaling Protocol (CISP)"; + } + enum ios-linktype-async { + value 198; + description + "punt/inject path Async Packet"; + } + enum ios-linktype-msrp { + value 199; + description + "Multiple Stream Reservation Protocol"; + } + enum ios-linktype-macsec-post-exp { + value 200; + description + "Online Diagnostics"; + } + enum ios-linktype-macsec-sectag { + value 201; + description + "Online Diagnostics"; + } + } + description + "Link Type"; + } + + typedef port-error-code { + type enumeration { + enum port-error-none { + value 0; + description + "No error on the port."; + } + enum port-error-disable { + value 1; + description + "Error on the port due to error disabled state."; + } + } + description + "Type of the error when port goes to error state"; + } + + typedef port-err-reason { + type enumeration { + enum port-err-none { + value 0; + description + "No error on the port"; + } + enum port-err-unidirectional-link-detection { + value 1; + description + "Error with Uni Directional Link Detection condition."; + } + enum port-err-bpduguard { + value 2; + description + "Disabled when a spanning tree bridge protocol data unit is received + on a port configured for STP PortFast."; + } + enum port-err-channel-misconfig { + value 3; + description + " Ether Channel misconfiguration."; + } + enum port-err-pagp-flap { + value 4; + description + "Ether Channel bundle's ports no longer have + consistent configurations."; + } + enum port-err-dtp-flap { + value 5; + description + "Trunking encapsulation is changing from one type to another."; + } + enum port-err-link-flap { + value 6; + description + "Link flaps on the port"; + } + enum port-err-l2ptguard { + value 7; + description + "Error with Layer 2 Tunnelling Protocol."; + } + enum port-err-security-violation { + value 8; + description + "Security validation issue and the issue is related to 802.1X."; + } + enum port-err-psecure-violation { + value 9; + description + "Security validation in the switchport configuration."; + } + enum port-err-unicast-flood { + value 10; + description + "Error with conditions that trigger unicast flood blocking."; + } + enum port-err-gbic-invalid { + value 11; + description + "SFP is unsupported in the slot."; + } + enum port-err-dhcp-rate-limit { + value 12; + description + "Error with DHCP snooping."; + } + enum port-err-psp { + value 13; + description + "Packet flow rate exceeds the defined threshold"; + } + enum port-err-vmps { + value 14; + description + "Error due to assigning a port to a dynamic VLAN through + VLAN membership policy server."; + } + enum port-err-storm-control { + value 15; + description + "Storm control threshold has be exceeded."; + } + enum port-err-inline-power { + value 16; + description + "Offering inline power"; + } + enum port-err-arp-inspection { + value 17; + description + "Dynamic ARP inspection"; + } + enum port-err-loopback-detection { + value 18; + description + "Interface has been looped back"; + } + enum port-err-packet-buffer { + value 19; + description + "Port security configured."; + } + enum port-err-error-disable-all { + value 20; + description + "Port can be recovered from all error disabled causes"; + } + enum port-err-mac-limit { + value 21; + description + "Port security finds multiple MAC addresses in L2 port"; + } + enum port-err-sfp-config-mismatch { + value 22; + description + "SFP configuration mismatch"; + } + enum port-err-vlan-oos { + value 23; + description + "Misconfiguration with VLAN."; + } + enum port-err-interface-oos { + value 24; + description + "Issue with port initialization"; + } + enum port-err-mac-operational-down { + value 25; + description + "MAC operational down."; + } + enum port-err-invalid-policy { + value 26; + description + "Physical capacity of the link is smaller than + speed of the configured shaper."; + } + enum port-err-lsgroup { + value 27; + description + "Issue with Link State Group Tracking feature."; + } + enum port-err-ekey { + value 28; + description + "Issue with Error Key Mechanism in the port."; + } + enum port-err-link-monitor-failure { + value 29; + description + "Link monitor failure."; + } + enum port-err-oam-remote-failure { + value 30; + description + "Ethernet OAM remote failure."; + } + enum port-err-elmi-evc-down { + value 31; + description + "Ethernet Local Management Interface down"; + } + enum port-err-port-mode-failure { + value 32; + description + "Port mode change failure."; + } + enum port-err-dot1ad-incapable { + value 33; + description + "An incompatible error with 802.1AD"; + } + enum port-err-dot1ad-incapable-etype { + value 34; + description + "Ether type incompatible error with 802.1AD"; + } + enum port-err-dot1ad-incapable-tunnel { + value 35; + description + "PDU tunnel incompatible error with 802.1AD"; + } + enum port-err-mvrp { + value 36; + description + "Error due to Multiple VLAN Registration Protocol"; + } + enum port-err-small-frame { + value 37; + description + "Error with small frame."; + } + enum port-err-post-diag-failure { + value 38; + description + "Post diag failure."; + } + enum port-err-transceiver-incomp { + value 39; + description + "Error due to transceiver incompatibility."; + } + enum port-err-community-limit { + value 40; + description + "Error due to VLAN Community Limit violations."; + } + enum port-err-eoam-rf-diag-failure { + value 41; + description + "Ethernet OAM remote failure with dying GASP issue"; + } + enum port-err-pppoe-ia-rate-limit { + value 42; + description + "Error due to PPPOE Intermediate Agent Rate + Limit feature."; + } + enum port-err-iif-reg-failure { + value 43; + description + "Error due to incoming interface registration failure."; + } + enum port-err-evc-lite-mapping-failure { + value 44; + description + "Error due to an Ethernet Virtual Circuits input + mapping failure"; + } + enum port-err-more-than-8-vlans-on-port { + value 45; + description + "Error due to Security Group ACL limitation whereas enforcement + on more than threshold VLAN's on port."; + } + enum port-err-dual-active-recovery { + value 46; + description + "Port can be recovered from error disable state after reload + the switch in dual active mode"; + } + enum port-err-port-pairing-misconfig { + value 47; + description + "Error due to Virtual Switch link(VSL) and non VSL port pairing + misconfiguration"; + } + enum port-err-multiple-sgts-on-port-vlan { + value 48; + description + "Error due to Security Group ACL limitation whereas multiple + SGTS learnt on port VLAN."; + } + enum port-err-recovery-command-use { + value 49; + description + "Use the command to recovery the port from error + disable state"; + } + enum port-err-fasthello-misconfig { + value 50; + description + "Error due to fast hello and non fast hello port pairing + misconfiguration whereas fast hello is a method of dual active + detection."; + } + enum port-err-gvrp { + value 51; + description + "Issue with Generic VLAN Registration Protocol."; + } + enum port-err-multichassis-lacp { + value 52; + description + "Issue with Multi chassis Link Aggregation Control Protocol."; + } + enum port-err-mlacp-minlink { + value 53; + description + "Issue with link flaps on port channel with Multi chassis + Link Aggregation Control Protocol configuration."; + } + enum port-err-eoam-rf-lf { + value 54; + description + "Ethernet OAM remote failure with link fault"; + } + enum port-err-eoam-rf-ce { + value 55; + description + "Ethernet OAM remote failure with critical event flag set."; + } + enum port-err-mrp-miscabling { + value 56; + description + "Media redundancy protocol miss cabling."; + } + enum port-err-evpn-mh-core-isolation { + value 57; + description + "Ethernet VPN Multi homing isolation."; + } + } + description + "Error disable reason"; + } + + typedef notification-severity { + type enumeration { + enum critical { + value 0; + description + "Critical condition"; + } + enum major { + value 1; + description + "Major condition"; + } + enum minor { + value 2; + description + "Minor condition"; + } + } + description + "Notification severity"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-events-oper.yang new file mode 100644 index 000000000..f9cce9bd2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ios-events-oper.yang @@ -0,0 +1,3987 @@ +module Cisco-IOS-XE-ios-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ios-events-oper"; + prefix ios-events-ios-xe-oper; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import Cisco-IOS-XE-utd-common-oper { + prefix utd-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for asynchronous events from network element. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Add source and destination username to UTD notifications"; + reference + "4.5.0"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added OSPF neighbor router identifier for state change notification"; + reference + "4.4.0"; + cisco-semver:module-version "4.4.0"; + } + revision 2022-03-01 { + description + "- Deprecated FIB update notification"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2021-11-01 { + description + "- Added state change reasons for VRRP Protocol"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-07-01 { + description + "- Added new policy name field to the AMP alerts"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-11-01 { + description + "- Notification severity rework"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container ios-events"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added new notification for EEM events"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "- Added disk-status to Disk usage notification, + memory-status to Memory usage notification, and + cpu-status to CPU usage notification. + - Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-02-04 { + description + "- Added new notification for Umbrella + - Cleaned up spelling errors in descriptions + - Added new notification for and AMP/TG + - Added Filesystem for Disk usage notification + - More event types for UTD File Analysis file upload"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-07-03 { + description + "- Added new notification for Radius sever state event + - Change of notification names"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-10-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef notification-usage-status { + type enumeration { + enum usage-critical { + value 0; + } + enum usage-warning { + value 1; + } + enum usage-healthy { + value 2; + } + } + description + "Usage status"; + } + + typedef bgp-pstate { + type enumeration { + enum bgp-state-idle { + value 0; + } + enum bgp-state-connect { + value 1; + } + enum bgp-state-active { + value 2; + } + enum bgp-state-opensent { + value 3; + } + enum bgp-state-openconfirm { + value 4; + } + enum bgp-state-established { + value 5; + } + enum bgp-state-clearing { + value 6; + } + enum bgp-state-deleted { + value 7; + } + } + description + "BGP state"; + } + + typedef notification-failure-state { + type enumeration { + enum notf-failure-state-ok { + value 0; + description + "Notification failure state ok"; + } + enum notf-failure-state-failed { + value 1; + description + "Notification failure state failed"; + } + } + description + "Notification failure state"; + } + + typedef hardware-sensor-type { + type enumeration { + enum hw-sensor-board { + value 0; + description + "Hardware sensor board"; + } + enum hw-sensor-cpu-junction { + value 1; + description + "Hardware sensor CPU junction"; + } + enum hw-sensor-dram { + value 2; + description + "Hardware sensor DRAM"; + } + enum hw-sensor-pim { + value 3; + description + "Hardware sensor PIM"; + } + } + description + "Hardware Sensor Type"; + } + + typedef notification-sensor-state { + type enumeration { + enum sensor-state-green { + value 0; + description + "Sensor state green"; + } + enum sensor-state-yellow { + value 1; + description + "Sensor state yellow"; + } + enum sensor-state-red { + value 2; + description + "Sensor state red"; + } + } + description + "Notification sensor state"; + } + + typedef notification-module-state { + type enumeration { + enum notf-module-state-inserted { + value 0; + description + "Notification module inserted state"; + } + enum notf-module-state-removed { + value 1; + description + "Notification module removed state"; + } + } + description + "Notification module state"; + } + + typedef interface-notif-state { + type enumeration { + enum interface-notif-state-up { + value 0; + } + enum interface-notif-state-down { + value 1; + } + } + description + "Interface Notification state"; + } + + typedef ospf-nbr-state { + type enumeration { + enum ospf-nbr-down { + value 0; + } + enum ospf-nbr-attempt { + value 1; + } + enum ospf-nbr-init { + value 2; + } + enum ospf-nbr-two-way { + value 3; + } + enum ospf-nbr-exstart { + value 4; + } + enum ospf-nbr-exchange { + value 5; + } + enum ospf-nbr-loading { + value 6; + } + enum ospf-nbr-full { + value 7; + } + enum ospf-nbr-deleted { + value 8; + } + enum ospf-nbr-depend-upon { + value 9; + } + } + description + "OSPF neighbor states"; + } + + typedef ospf-intf-state { + type enumeration { + enum ospf-ifs-down { + value 0; + } + enum ospf-ifs-loopback { + value 1; + } + enum ospf-ifs-waiting { + value 2; + } + enum ospf-ifs-point-to-m-point { + value 3; + } + enum ospf-ifs-point-to-point { + value 4; + } + enum ospf-ifs-dr { + value 5; + } + enum ospf-ifs-backup { + value 6; + } + enum ospf-ifs-dr-other { + value 7; + } + enum ospf-ifs-depend-upon { + value 8; + } + } + description + "OSPF interface states"; + } + + typedef intf-admin-state { + type enumeration { + enum up { + value 0; + } + enum down { + value 1; + } + } + description + "Interface admin state"; + } + + typedef dhcp-server-state-val { + type enumeration { + enum dhcp-server-state-up { + value 0; + } + enum dhcp-server-state-down { + value 1; + } + } + description + "DHCP Server state"; + } + + typedef vrrp-ip-addr-type { + type enumeration { + enum vrrp-undefined { + value 0; + } + enum vrrp-ipv4-address { + value 1; + } + enum vrrp-ipv6-address { + value 2; + } + } + description + "IP Address type"; + } + + typedef vrrp-notif-proto-state { + type enumeration { + enum vrrp-notif-init { + value 1; + } + enum vrrp-notif-backup { + value 2; + } + enum vrrp-notif-master { + value 3; + } + enum vrrp-notif-recover { + value 4; + } + } + description + "VRRP protocol state"; + } + + typedef vrrp-notif-state-change-reason { + type enumeration { + enum vrrp-sc-init { + value 0; + description + "VRRP Group is in init state"; + } + enum vrrp-sc-not-master { + value 1; + description + "VRRP group is not in master state"; + } + enum vrrp-sc-priority { + value 2; + description + "Elected master due to higher priority"; + } + enum vrrp-sc-preempt { + value 3; + description + "Preempted by a higher priority router"; + } + enum vrrp-sc-master-no-response { + value 4; + description + "VRRP master stopped responding"; + } + enum vrrp-sc-track-up { + value 5; + description + "Track Up reverted to configured priority"; + } + enum vrrp-sc-track-down { + value 6; + description + "Track Down decrements the priority"; + } + enum vrrp-sc-down { + value 7; + description + "VRRP group is in DOWN state"; + } + } + description + "Indicates reason of state change for the VRRP group"; + } + + typedef fib-updates-af-type { + type enumeration { + enum fib-updates-af-unknown { + value 0; + } + enum fib-updates-af-ipv4 { + value 1; + } + enum fib-updates-af-ipv6 { + value 2; + } + } + description + "FIB updates AF type"; + } + + typedef utd-ips-alert-action-val { + type enumeration { + enum utd-ips-alert-action-unknown { + value 0; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert action is unknown"; + } + enum utd-ips-alert-action-alert { + value 1; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert action generated an alert"; + } + enum utd-ips-alert-action-drop { + value 2; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert action resulted in a drop"; + } + enum utd-ips-alert-action-wdrop { + value 3; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert action would have resulted in a drop if running in IPS mode"; + } + } + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert action"; + } + + typedef utd-ips-alert-classification-val { + type enumeration { + enum utd-ips-alert-classification-none { + value 0; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is not set"; + } + enum utd-ips-alert-classification-not-suspicious { + value 1; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is not suspicious traffic"; + } + enum utd-ips-alert-classification-unknown { + value 2; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is unknown traffic"; + } + enum utd-ips-alert-classification-bad-unknown { + value 3; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is potentially bad traffic"; + } + enum utd-ips-alert-classification-attempted-recon { + value 4; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is attempted information leak"; + } + enum utd-ips-alert-classification-successful-recon-limited { + value 5; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is information leak"; + } + enum utd-ips-alert-classification-successful-recon-largescale { + value 6; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is large scale information leak"; + } + enum utd-ips-alert-classification-attempted-dos { + value 7; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is attempted denial of service"; + } + enum utd-ips-alert-classification-successful-dos { + value 8; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is denial of service"; + } + enum utd-ips-alert-classification-attempted-user { + value 9; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is attempted user privilege gain"; + } + enum utd-ips-alert-classification-unsuccessful-user { + value 10; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is unsuccessful user privilege gain"; + } + enum utd-ips-alert-classification-successful-user { + value 11; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is successful user privilege gain"; + } + enum utd-ips-alert-classification-attempted-admin { + value 12; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is attempted administrator privilege gain"; + } + enum utd-ips-alert-classification-successful-admin { + value 13; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is successful administrator privilege gain"; + } + enum utd-ips-alert-classification-rpc-portmap-decode { + value 14; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is decode of an rpc query"; + } + enum utd-ips-alert-classification-shellcode-detect { + value 15; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is executable code was detected"; + } + enum utd-ips-alert-classification-string-detect { + value 16; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a suspicious string was detected"; + } + enum utd-ips-alert-classification-suspicious-filename-detect { + value 17; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a suspicious filename was detected"; + } + enum utd-ips-alert-classification-suspicious-login { + value 18; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is an attempted login using a suspicious username was detected"; + } + enum utd-ips-alert-classification-system-call-detect { + value 19; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a system call was detected"; + } + enum utd-ips-alert-classification-tcp-connection { + value 20; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a tcp connection was detected"; + } + enum utd-ips-alert-classification-trojan-activity { + value 21; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a network trojan was detected"; + } + enum utd-ips-alert-classification-unusual-client-port-connection { + value 22; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is a client was using an unusual port"; + } + enum utd-ips-alert-classification-network-scan { + value 23; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is detection of a network scan"; + } + enum utd-ips-alert-classification-denial-of-service { + value 24; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is detection of a denial of service attack"; + } + enum utd-ips-alert-classification-non-standard-protocol { + value 25; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is detection of a non-standard protocol or event"; + } + enum utd-ips-alert-classification-protocol-command-decode { + value 26; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is generic protocol command decode"; + } + enum utd-ips-alert-classification-web-application-activity { + value 27; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is access to a potentially vulnerable web application"; + } + enum utd-ips-alert-classification-web-application-attack { + value 28; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is web application attack"; + } + enum utd-ips-alert-classification-misc-activity { + value 29; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is miscellaneous activity"; + } + enum utd-ips-alert-classification-misc-attack { + value 30; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is miscellaneous attack"; + } + enum utd-ips-alert-classification-icmp-event { + value 31; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is generic icmp event"; + } + enum utd-ips-alert-classification-inappropriate-content { + value 32; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is inappropriate content was detected"; + } + enum utd-ips-alert-classification-policy-violation { + value 33; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is potential corporate privacy violation"; + } + enum utd-ips-alert-classification-default-login-attempt { + value 34; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is attempt to login by a default username and password"; + } + enum utd-ips-alert-classification-sdf { + value 35; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is sensitive data"; + } + enum utd-ips-alert-classification-file-format { + value 36; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is known malicious file or file based exploit"; + } + enum utd-ips-alert-classification-malware-cnc { + value 37; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is known malware command and control traffic"; + } + enum utd-ips-alert-classification-client-side-exploit { + value 38; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification is known client side exploit attempt"; + } + } + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert classification"; + } + + typedef utd-ips-alert-priority-val { + type enumeration { + enum utd-ips-alert-priority-unknown { + value 0; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is unknown"; + } + enum utd-ips-alert-priority-emerg { + value 1; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is emergency"; + } + enum utd-ips-alert-priority-alert { + value 2; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is alert"; + } + enum utd-ips-alert-priority-crit { + value 3; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is critical"; + } + enum utd-ips-alert-priority-error { + value 4; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is error"; + } + enum utd-ips-alert-priority-warn { + value 5; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is warning"; + } + enum utd-ips-alert-priority-notice { + value 6; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is notice"; + } + enum utd-ips-alert-priority-info { + value 7; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is info"; + } + enum utd-ips-alert-priority-debug { + value 8; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority is debug"; + } + } + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert priority"; + } + + typedef utd-update-type-val { + type enumeration { + enum utd-update-type-unknown { + value 0; + description + "Unified Threat Defense (UTD) update type is unknown"; + } + enum utd-update-type-ips { + value 1; + description + "Unified Threat Defense (UTD) update is an IPS signature package update"; + } + enum utd-update-type-urlf { + value 2; + description + "Unified Threat Defense (UTD) update is a URL-Filtering DB update"; + } + } + description + "Unified Threat Defense (UTD) update type"; + } + + typedef utd-file-repu-action-event-type { + type enumeration { + enum utd-file-reputation-alert-action-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection alert action is unknown"; + } + enum utd-file-reputation-alert-action-alert { + value 1; + description + "UTD Integration Advanced Malware Protection alert action generated an alert"; + } + enum utd-file-reputation-alert-action-drop { + value 2; + description + "UTD Integration Advanced Malware Protection alert action resulted in a drop"; + } + enum utd-file-reputation-alert-action-allow { + value 3; + description + "UTD Integration Advanced Malware Protection alert action resulted in a pass"; + } + } + description + "UTD Integration Advanced Malware Protection alert action"; + } + + typedef utd-file-repu-dispos-event-type { + type enumeration { + enum utd-file-reputation-alert-disposition-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection alert disposition is unknown traffic"; + } + enum utd-file-reputation-alert-disposition-malicious { + value 1; + description + "UTD Integration Advanced Malware Protection alert disposition is malicious"; + } + enum utd-file-reputation-alert-disposition-clean { + value 2; + description + "UTD Integration Advanced Malware Protection alert disposition is clean traffic"; + } + } + description + "UTD Integration Advanced Malware Protection alert disposition"; + } + + typedef utd-file-repu-file-type { + type enumeration { + enum utd-file-repu-file-type-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection alert file type is unknown"; + } + enum utd-file-repu-file-type-sis { + value 1; + description + "UTD Integration Advanced Malware Protection alert file type is SIS"; + } + enum utd-file-repu-file-type-sit { + value 2; + description + "UTD Integration Advanced Malware Protection alert file type is SIT"; + } + enum utd-file-repu-file-type-eps { + value 3; + description + "UTD Integration Advanced Malware Protection alert file type is EPS"; + } + enum utd-file-repu-file-type-wp { + value 4; + description + "UTD Integration Advanced Malware Protection alert file type is WP"; + } + enum utd-file-repu-file-type-macho { + value 5; + description + "UTD Integration Advanced Malware Protection alert file type is MACHO"; + } + enum utd-file-repu-file-type-bz { + value 6; + description + "UTD Integration Advanced Malware Protection alert file type is BZ"; + } + enum utd-file-repu-file-type-9xhive { + value 7; + description + "UTD Integration Advanced Malware Protection alert file type is 9XHIVE"; + } + enum utd-file-repu-file-type-binhex { + value 8; + description + "UTD Integration Advanced Malware Protection alert file type is BINHEX"; + } + enum utd-file-repu-file-type-rar { + value 9; + description + "UTD Integration Advanced Malware Protection alert file type is RAR"; + } + enum utd-file-repu-file-type-ra { + value 10; + description + "UTD Integration Advanced Malware Protection alert file type is RA"; + } + enum utd-file-repu-file-type-smil { + value 11; + description + "UTD Integration Advanced Malware Protection alert file type is SMIL"; + } + enum utd-file-repu-file-type-flic { + value 12; + description + "UTD Integration Advanced Malware Protection alert file type is FLIC"; + } + enum utd-file-repu-file-type-maya { + value 13; + description + "UTD Integration Advanced Malware Protection alert file type is MAYA"; + } + enum utd-file-repu-file-type-pdf { + value 14; + description + "UTD Integration Advanced Malware Protection alert file type is PDF"; + } + enum utd-file-repu-file-type-lha { + value 15; + description + "UTD Integration Advanced Malware Protection alert file type is LHA"; + } + enum utd-file-repu-file-type-jar { + value 16; + description + "UTD Integration Advanced Malware Protection alert file type is JAR"; + } + enum utd-file-repu-file-type-gz { + value 17; + description + "UTD Integration Advanced Malware Protection alert file type is GZ"; + } + enum utd-file-repu-file-type-wri { + value 18; + description + "UTD Integration Advanced Malware Protection alert file type is WRI"; + } + enum utd-file-repu-file-type-gif { + value 19; + description + "UTD Integration Advanced Malware Protection alert file type is GIF"; + } + enum utd-file-repu-file-type-ishield-msi { + value 20; + description + "UTD Integration Advanced Malware Protection alert file type is ISHILED_MSI"; + } + enum utd-file-repu-file-type-xps { + value 21; + description + "UTD Integration Advanced Malware Protection alert file type is XPS"; + } + enum utd-file-repu-file-type-wmf { + value 22; + description + "UTD Integration Advanced Malware Protection alert file type is WMF"; + } + enum utd-file-repu-file-type-nthive { + value 23; + description + "UTD Integration Advanced Malware Protection alert file type is NTHIVE"; + } + enum utd-file-repu-file-type-old-tar { + value 24; + description + "UTD Integration Advanced Malware Protection alert file type is OLD_TAR"; + } + enum utd-file-repu-file-type-jarpack { + value 25; + description + "UTD Integration Advanced Malware Protection alert file type is JARPACK"; + } + enum utd-file-repu-file-type-mail { + value 26; + description + "UTD Integration Advanced Malware Protection alert file type is MAIL"; + } + enum utd-file-repu-file-type-msole2 { + value 27; + description + "UTD Integration Advanced Malware Protection alert file type is MSOLE2"; + } + enum utd-file-repu-file-type-tnef { + value 28; + description + "UTD Integration Advanced Malware Protection alert file type is TNEF"; + } + enum utd-file-repu-file-type-dmg { + value 29; + description + "UTD Integration Advanced Malware Protection alert file type is DMG"; + } + enum utd-file-repu-file-type-flv { + value 30; + description + "UTD Integration Advanced Malware Protection alert file type is FLV"; + } + enum utd-file-repu-file-type-dmp { + value 31; + description + "UTD Integration Advanced Malware Protection alert file type is DMP"; + } + enum utd-file-repu-file-type-mp4 { + value 32; + description + "UTD Integration Advanced Malware Protection alert file type is MP4"; + } + enum utd-file-repu-file-type-mp3 { + value 33; + description + "UTD Integration Advanced Malware Protection alert file type is MP3"; + } + enum utd-file-repu-file-type-xlw { + value 34; + description + "UTD Integration Advanced Malware Protection alert file type is XLW"; + } + enum utd-file-repu-file-type-ico { + value 35; + description + "UTD Integration Advanced Malware Protection alert file type is ICO"; + } + enum utd-file-repu-file-type-mwl { + value 36; + description + "UTD Integration Advanced Malware Protection alert file type is MWL"; + } + enum utd-file-repu-file-type-mny { + value 37; + description + "UTD Integration Advanced Malware Protection alert file type is MNY"; + } + enum utd-file-repu-file-type-rtf { + value 38; + description + "UTD Integration Advanced Malware Protection alert file type is RTF"; + } + enum utd-file-repu-file-type-amf { + value 39; + description + "UTD Integration Advanced Malware Protection alert file type is AMF"; + } + enum utd-file-repu-file-type-bmp { + value 40; + description + "UTD Integration Advanced Malware Protection alert file type is BMP"; + } + enum utd-file-repu-file-type-amr { + value 41; + description + "UTD Integration Advanced Malware Protection alert file type is AMR"; + } + enum utd-file-repu-file-type-eicar { + value 42; + description + "UTD Integration Advanced Malware Protection alert file type is EICAR"; + } + enum utd-file-repu-file-type-tiff { + value 43; + description + "UTD Integration Advanced Malware Protection alert file type is TIFF"; + } + enum utd-file-repu-file-type-vmdk { + value 44; + description + "UTD Integration Advanced Malware Protection alert file type is VMDK"; + } + enum utd-file-repu-file-type-cpio-newc { + value 45; + description + "UTD Integration Advanced Malware Protection alert file type is CPIO_NEWC"; + } + enum utd-file-repu-file-type-flac { + value 46; + description + "UTD Integration Advanced Malware Protection alert file type is FLAC"; + } + enum utd-file-repu-file-type-r1m { + value 47; + description + "UTD Integration Advanced Malware Protection alert file type is R1M"; + } + enum utd-file-repu-file-type-msszdd { + value 48; + description + "UTD Integration Advanced Malware Protection alert file type is MSSZDD"; + } + enum utd-file-repu-file-type-mpeg { + value 49; + description + "UTD Integration Advanced Malware Protection alert file type is MPEG"; + } + enum utd-file-repu-file-type-m3u { + value 50; + description + "UTD Integration Advanced Malware Protection alert file type is M3U"; + } + enum utd-file-repu-file-type-mov { + value 51; + description + "UTD Integration Advanced Malware Protection alert file type is MOV"; + } + enum utd-file-repu-file-type-psd { + value 52; + description + "UTD Integration Advanced Malware Protection alert file type is PSD"; + } + enum utd-file-repu-file-type-hlp { + value 53; + description + "UTD Integration Advanced Malware Protection alert file type is HLP"; + } + enum utd-file-repu-file-type-ivr { + value 54; + description + "UTD Integration Advanced Malware Protection alert file type is IRV"; + } + enum utd-file-repu-file-type-msexe { + value 55; + description + "UTD Integration Advanced Malware Protection alert file type is MSEXE"; + } + enum utd-file-repu-file-type-pst { + value 56; + description + "UTD Integration Advanced Malware Protection alert file type is PST"; + } + enum utd-file-repu-file-type-binary-data { + value 57; + description + "UTD Integration Advanced Malware Protection alert file type is BINARY_DATA"; + } + enum utd-file-repu-file-type-webm { + value 58; + description + "UTD Integration Advanced Malware Protection alert file type is WEBM"; + } + enum utd-file-repu-file-type-iso { + value 59; + description + "UTD Integration Advanced Malware Protection alert file type is ISO"; + } + enum utd-file-repu-file-type-autorun { + value 60; + description + "UTD Integration Advanced Malware Protection alert file type is AUTORUN"; + } + enum utd-file-repu-file-type-rec { + value 61; + description + "UTD Integration Advanced Malware Protection alert file type is REC"; + } + enum utd-file-repu-file-type-reg { + value 62; + description + "UTD Integration Advanced Malware Protection alert file type is REG"; + } + enum utd-file-repu-file-type-mdi { + value 63; + description + "UTD Integration Advanced Malware Protection alert file type is MDI"; + } + enum utd-file-repu-file-type-mdb { + value 64; + description + "UTD Integration Advanced Malware Protection alert file type is MGB"; + } + enum utd-file-repu-file-type-rifx { + value 65; + description + "UTD Integration Advanced Malware Protection alert file type is RIFX"; + } + enum utd-file-repu-file-type-riff { + value 66; + description + "UTD Integration Advanced Malware Protection alert file type is RIFF"; + } + enum utd-file-repu-file-type-img-pict { + value 67; + description + "UTD Integration Advanced Malware Protection alert file type is IMG_PICT"; + } + enum utd-file-repu-file-type-asf { + value 68; + description + "UTD Integration Advanced Malware Protection alert file type is ASF"; + } + enum utd-file-repu-file-type-zip-enc { + value 69; + description + "UTD Integration Advanced Malware Protection alert file type is ZIP_ENC"; + } + enum utd-file-repu-file-type-rmf { + value 70; + description + "UTD Integration Advanced Malware Protection alert file type is RMF"; + } + enum utd-file-repu-file-type-elf { + value 71; + description + "UTD Integration Advanced Malware Protection alert file type is ELF"; + } + enum utd-file-repu-file-type-wab { + value 72; + description + "UTD Integration Advanced Malware Protection alert file type is WAB"; + } + enum utd-file-repu-file-type-wav { + value 73; + description + "UTD Integration Advanced Malware Protection alert file type is WAV"; + } + enum utd-file-repu-file-type-pls { + value 74; + description + "UTD Integration Advanced Malware Protection alert file type is PLS"; + } + enum utd-file-repu-file-type-new-office { + value 75; + description + "UTD Integration Advanced Malware Protection alert file type is NEW_OFFICE"; + } + enum utd-file-repu-file-type-sylkc { + value 76; + description + "UTD Integration Advanced Malware Protection alert file type is SYLKC"; + } + enum utd-file-repu-file-type-swf { + value 77; + description + "UTD Integration Advanced Malware Protection alert file type is SWF"; + } + enum utd-file-repu-file-type-mkv { + value 78; + description + "UTD Integration Advanced Malware Protection alert file type is MKV"; + } + enum utd-file-repu-file-type-screnc { + value 79; + description + "UTD Integration Advanced Malware Protection alert file type is SCRENC"; + } + enum utd-file-repu-file-type-pcap { + value 80; + description + "UTD Integration Advanced Malware Protection alert file type is PCAP"; + } + enum utd-file-repu-file-type-torrent { + value 81; + description + "UTD Integration Advanced Malware Protection alert file type is TORRENT"; + } + enum utd-file-repu-file-type-accdb { + value 82; + description + "UTD Integration Advanced Malware Protection alert file type is ACCDB"; + } + enum utd-file-repu-file-type-pgd { + value 83; + description + "UTD Integration Advanced Malware Protection alert file type is PGD"; + } + enum utd-file-repu-file-type-zip { + value 84; + description + "UTD Integration Advanced Malware Protection alert file type is ZIP"; + } + enum utd-file-repu-file-type-msword-mac5 { + value 85; + description + "UTD Integration Advanced Malware Protection alert file type is MSWORD_MAC5"; + } + enum utd-file-repu-file-type-cpio-odc { + value 86; + description + "UTD Integration Advanced Malware Protection alert file type is CPIO_ODC"; + } + enum utd-file-repu-file-type-one { + value 87; + description + "UTD Integration Advanced Malware Protection alert file type is ONE"; + } + enum utd-file-repu-file-type-uuencoded { + value 88; + description + "UTD Integration Advanced Malware Protection alert file type is UUENCODED"; + } + enum utd-file-repu-file-type-cpio-crc { + value 89; + description + "UTD Integration Advanced Malware Protection alert file type is CPIO_CRC"; + } + enum utd-file-repu-file-type-rpm { + value 90; + description + "UTD Integration Advanced Malware Protection alert file type is RPM"; + } + enum utd-file-repu-file-type-7z { + value 91; + description + "UTD Integration Advanced Malware Protection alert file type is 7Z"; + } + enum utd-file-repu-file-type-symantec { + value 92; + description + "UTD Integration Advanced Malware Protection alert file type is SYMANTEC"; + } + enum utd-file-repu-file-type-posix-tar { + value 93; + description + "UTD Integration Advanced Malware Protection alert file type is POSIX_TAR"; + } + enum utd-file-repu-file-type-jpeg { + value 94; + description + "UTD Integration Advanced Malware Protection alert file type is JPEG"; + } + enum utd-file-repu-file-type-s3m { + value 95; + description + "UTD Integration Advanced Malware Protection alert file type is S3M"; + } + enum utd-file-repu-file-type-mscab { + value 96; + description + "UTD Integration Advanced Malware Protection alert file type is MSCAB"; + } + enum utd-file-repu-file-type-dwg { + value 97; + description + "UTD Integration Advanced Malware Protection alert file type is DWG"; + } + enum utd-file-repu-file-type-arj { + value 98; + description + "UTD Integration Advanced Malware Protection alert file type is ARJ"; + } + enum utd-file-repu-file-type-ffmpeg { + value 99; + description + "UTD Integration Advanced Malware Protection alert file type is FFMPEG"; + } + enum utd-file-repu-file-type-sami { + value 100; + description + "UTD Integration Advanced Malware Protection alert file type is SAMI"; + } + enum utd-file-repu-file-type-midi { + value 101; + description + "UTD Integration Advanced Malware Protection alert file type is MIDI"; + } + enum utd-file-repu-file-type-dicm { + value 102; + description + "UTD Integration Advanced Malware Protection alert file type is DICM"; + } + enum utd-file-repu-file-type-mschm { + value 103; + description + "UTD Integration Advanced Malware Protection alert file type is MSCHM"; + } + enum utd-file-repu-file-type-ogg { + value 104; + description + "UTD Integration Advanced Malware Protection alert file type is OGG"; + } + enum utd-file-repu-file-type-png { + value 105; + description + "UTD Integration Advanced Malware Protection alert file type is PNG"; + } + } + description + "UTD Integration Advanced Malware Protection alert file type"; + } + + typedef utd-file-analysis-upload-event-type { + type enumeration { + enum utd-file-analysis-file-upload-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection TG file upload state is unknown"; + } + enum utd-file-analysis-file-upload-failed { + value 1; + description + "UTD Integration Advanced Malware Protection TG file upload state is failed"; + } + enum utd-file-analysis-file-upload-success { + value 2; + description + "UTD Integration Advanced Malware Protection TG file upload state is success"; + } + enum utd-file-analysis-file-upload-not-interesting { + value 3; + description + "UTD Integration Advanced Malware Protection TG file upload state is not interesting"; + } + enum utd-file-analysis-file-limit-reached { + value 4; + description + "UTD Integration Advanced Malware Protection TG file upload state file limit reached"; + } + enum utd-file-analysis-apikey-invalid { + value 5; + description + "UTD Integration Advanced Malware Protection TG file upload state apikey invalid"; + } + enum utd-file-analysis-file-upload-internal-err { + value 6; + description + "UTD Integration Advanced Malware Protection TG file upload state internal error"; + } + enum utd-file-analysis-file-upload-system-err { + value 7; + description + "UTD Integration Advanced Malware Protection TG file upload state system error"; + } + enum utd-file-analysis-file-type-not-supported { + value 8; + description + "UTD Integration Advanced Malware Protection TG file upload state file type not supported"; + } + enum utd-file-analysis-file-whitelisted { + value 9; + description + "UTD Integration Advanced Malware Protection TG file upload state file whitelisted"; + } + } + description + "UTD Integration Advanced Malware Protection TG file upload state val"; + } + + typedef utd-file-reputation-status-event-type { + type enumeration { + enum utd-file-repu-process-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection beaker process unknown"; + } + enum utd-file-repu-process-up { + value 1; + description + "UTD Integration Advanced Malware Protection beaker process up"; + } + enum utd-file-repu-process-down { + value 2; + description + "UTD Integration Advanced Malware Protection beaker process down"; + } + enum utd-file-repu-amp-module-load-fail { + value 3; + description + "UTD Integration Advanced Malware Protection beaker AMP module load fail"; + } + enum utd-file-repu-connected { + value 4; + description + "UTD Integration Advanced Malware Protection beaker connected"; + } + enum utd-file-repu-not-connected { + value 5; + description + "UTD Integration Advanced Malware Protection beaker not connected"; + } + } + description + "UTD Integration Advanced Malware Protection AMP status"; + } + + typedef utd-file-analysis-event-type { + type enumeration { + enum tg-client-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection TG health status client unknown"; + } + enum tg-client-down { + value 1; + description + "UTD Integration Advanced Malware Protection TG health status client down"; + } + enum tg-client-up { + value 2; + description + "UTD Integration Advanced Malware Protection TG health status client up"; + } + enum api-key-not-present { + value 3; + description + "UTD Integration Advanced Malware Protection TG health status api key not present"; + } + enum api-key-invalid { + value 4; + description + "UTD Integration Advanced Malware Protection TG health status api key invalid"; + } + enum file-upload-limit-reached { + value 5; + description + "UTD Integration Advanced Malware Protection TG health status file upload limit reached"; + } + } + description + "UTD Integration Advanced Malware Protection TG health status"; + } + + typedef bridge-state-val { + type enumeration { + enum bridge-creation { + value 0; + description + "Bridge is created"; + } + enum bridge-deletion { + value 1; + description + "Bridge is deleted"; + } + } + description + "Bridge state update"; + } + + typedef umbrella-dev-reg-status-val { + type enumeration { + enum umbrella-dev-reg-status-unknown { + value 0; + description + "Umbrella Device Registration status is unknown"; + } + enum umbrella-dev-reg-status-success { + value 1; + description + "Umbrella Device Registration status is successful"; + } + enum umbrella-dev-reg-status-failure { + value 2; + description + "Umbrella Device Registration status is failed"; + } + } + description + "Umbrella Device Registration status"; + } + + typedef ed-data-type { + type enumeration { + enum eem-u-int32 { + value 0; + description + "EEM data type uint32"; + } + enum eem-string { + value 1; + description + "EEM data type string"; + } + enum eem-timestamp { + value 2; + description + "EEM data type timestamp"; + } + } + description + "EEM event detector data type"; + } + + typedef eem-event-type { + type enumeration { + enum eem-ed-timer-watchdog { + value 0; + description + "EEM event Detector watchdog timer"; + } + enum eem-ed-timer-countdown { + value 1; + description + "EEM event detector countdown timer"; + } + enum eem-ed-timer-absolute { + value 2; + description + "EEM event detector absolute timer"; + } + enum eem-ed-timer-cron { + value 3; + description + "EEM event detector cron timer"; + } + enum eem-ed-counter { + value 4; + description + "EEM event detector counter"; + } + enum eem-ed-syslog { + value 5; + description + "EEM event detector syslog"; + } + enum eem-ed-snmp { + value 6; + description + "EEM event detector SNMP"; + } + enum eem-ed-interface { + value 7; + description + "EEM event detector interface"; + } + enum eem-ed-rf { + value 8; + description + "EEM event detector RF"; + } + enum eem-ed-cli { + value 9; + description + "EEM event detector CLI"; + } + enum eem-ed-none { + value 10; + description + "EEM event detector none"; + } + enum eem-ed-oir { + value 11; + description + "EEM event detector OIR"; + } + enum eem-ed-snmp-notif { + value 12; + description + "EEM event detector SNMP notification"; + } + enum eem-ed-routing { + value 13; + description + "EEM event detector routing"; + } + enum eem-ed-snmp-obj { + value 14; + description + "EEM event detector SNMP object"; + } + enum eem-ed-mat { + value 15; + description + "EEM event detector Mac Address Table"; + } + } + description + "EEM event detector type"; + } + + grouping bgp-peer-state { + description + "BGP peer state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf peer { + type inet:ip-address; + description + "Peer IP address"; + } + leaf bgp-new-state { + type ios-events-ios-xe-oper:bgp-pstate; + description + "New BGP state"; + } + leaf local-address { + type inet:ip-address; + description + "Local IP address"; + } + leaf local-routerid { + type inet:ip-address; + description + "Local router ID"; + } + leaf peer-routerid { + type inet:ip-address; + description + "Peer router ID"; + } + } + + grouping ospf-neighbor-state { + description + "OSPF neighbor state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf neighbor { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf router-id { + type inet:ip-address; + description + "Router ID"; + } + leaf if-addr { + type inet:ip-address; + description + "Interface address"; + } + leaf ospf-new-state { + type ios-events-ios-xe-oper:ospf-nbr-state; + description + "New OSPF state"; + } + leaf neighbor-router-id { + type inet:ip-address; + description + "OSPF Neighbor Router Identifier"; + } + } + + grouping ospf-interface-state { + description + "OSPF interface state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf interface { + type string; + description + "Interface name"; + } + leaf ospf-interface-new-state { + type ios-events-ios-xe-oper:ospf-intf-state; + description + "New OSPF interface state"; + } + } + + grouping interface-oper-state { + description + "Interface operational state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf new-state { + type ios-events-ios-xe-oper:interface-notif-state; + description + "Is the new state up or down"; + } + } + + grouping memory-usage { + description + "Memory usage"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf warning { + type string; + description + "Memory usage level warning"; + } + leaf total-mb { + type uint32; + units "megabytes"; + description + "Total memory in megabytes"; + } + leaf free-mb { + type uint32; + units "megabytes"; + description + "Free memory in megabytes"; + } + leaf memory-status { + type ios-events-ios-xe-oper:notification-usage-status; + description + "Memory usage status"; + } + } + + grouping cpu-usage { + description + "CPU usage"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf warning { + type string; + description + "CPU usage warning"; + } + leaf one-min { + type uint32; + description + "CPU average load (one min)"; + } + leaf five-min { + type uint32; + description + "CPU average load (five min)"; + } + leaf fifteen-min { + type uint32; + description + "CPU average load (fifteen min)"; + } + leaf cpu-status { + type ios-events-ios-xe-oper:notification-usage-status; + description + "CPU usage status"; + } + } + + grouping interface-admin-state { + description + "Interface admin state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf new-admin-state { + type ios-events-ios-xe-oper:intf-admin-state; + description + "New interface admin state"; + } + } + + grouping dhcp-server-state { + description + "DHCP server state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf state { + type ios-events-ios-xe-oper:dhcp-server-state-val; + description + "Is the new state up (true for UP)"; + } + } + + grouping dhcp-address-assigned { + description + "DHCP address assigned"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf client-mac { + type string; + description + "Client mac"; + } + leaf ip { + type inet:ip-address; + description + "Client ip address assigned"; + } + } + + grouping dhcp-address-renewed { + description + "DHCP address renewed"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf client-mac { + type string; + description + "Client mac"; + } + leaf ip { + type inet:ip-address; + description + "Client ip address renewed"; + } + } + + grouping dhcp-address-released { + description + "DHCP address released"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf client-mac { + type string; + description + "Client mac"; + } + leaf ip { + type inet:ip-address; + description + "Client ip address released"; + } + leaf reason { + type string; + description + "Reason for release"; + } + } + + grouping dhcp-address-rejected { + description + "DHCP address rejected"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf client-mac { + type string; + description + "Client mac"; + } + leaf ip { + type inet:ip-address; + description + "Client ip address rejected"; + } + leaf reason { + type string; + description + "Reason for rejection"; + } + } + + grouping system-reboot-issued { + description + "System reboot issued"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf reboot-reason { + type string; + description + "System reboot reason"; + } + } + + grouping system-reboot-complete { + description + "System reboot complete"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + } + + grouping disk-usage { + description + "Disk usage"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf warning { + type string; + description + "Disk usage level warning"; + } + leaf total-mb { + type uint32; + units "megabytes"; + description + "Total space in megabytes"; + } + leaf free-mb { + type uint32; + units "megabytes"; + description + "Free space in megabytes"; + } + leaf filesystem { + type string; + description + "Filesystem"; + } + leaf disk-status { + type ios-events-ios-xe-oper:notification-usage-status; + description + "Disk usage status"; + } + } + + grouping flash-fault { + description + "Flash fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New flash fault state"; + } + } + + grouping emmc-fault { + description + "Emmc fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New emmc fault state"; + } + } + + grouping sdcard-fault { + description + "SD card fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New SD card fault state"; + } + } + + grouping tempsensor-fault { + description + "Temperature sensor fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf hw-sensor-type { + type ios-events-ios-xe-oper:hardware-sensor-type; + description + "HW sensor type"; + } + leaf hw-dev-index { + type uint32; + description + "HW device index"; + } + leaf name { + type string; + description + "Temp sensor fault"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New temp sensor state"; + } + } + + grouping tempsensor-state { + description + "Temperature sensor state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf hw-sensor-type { + type ios-events-ios-xe-oper:hardware-sensor-type; + description + "HW sensor type"; + } + leaf hw-dev-index { + type uint32; + description + "HW device index"; + } + leaf name { + type string; + description + "Temperature sensor state"; + } + leaf temp { + type uint32; + description + "temperature"; + } + leaf sensor-new-state { + type ios-events-ios-xe-oper:notification-sensor-state; + description + "Sensor new state"; + } + } + + grouping fan-fault { + description + "Fan fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf fantray-id { + type uint32; + description + "Fan tray id"; + } + leaf fan-id { + type uint32; + description + "Fan id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New fan fault state"; + } + } + + grouping fantray-fault { + description + "Fan tray fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf fantray-id { + type uint32; + description + "Fan tray id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New fan tray fault state"; + } + } + + grouping pem-fault { + description + "PEM fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf pem-id { + type uint32; + description + "PEM id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New pem fault state"; + } + } + + grouping pem-state-change { + description + "PEM state change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf pem-id { + type uint32; + description + "PEM id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New pem state"; + } + } + + grouping pim-fault { + description + "PIM fault"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf pim-id { + type uint32; + description + "PIM id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-failure-state; + description + "New pim fault state"; + } + } + + grouping pim-state-change { + description + "PIM state change notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf pim-id { + type uint32; + description + "PIM id"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New pim state"; + } + } + + grouping sfp-state-change { + description + "SFP state change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf sfp-name { + type string; + description + "SFP name"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New SFP state"; + } + } + + grouping sfp-support-state { + description + "SFP support state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf sfp-name { + type string; + description + "SFP name"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New SFP support state"; + } + } + + grouping usb-state-change { + description + "USB state change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf usb-slot { + type uint32; + description + "USB slot"; + } + leaf new-state { + type ios-events-ios-xe-oper:notification-module-state; + description + "New USB state"; + } + } + + grouping vrrp-group-state-change { + description + "VRRP group state change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf if-number { + type uint32; + description + "SNMP if index"; + } + leaf grp-id { + type uint32; + description + "Group Number"; + } + leaf addr-type { + type ios-events-ios-xe-oper:vrrp-ip-addr-type; + description + "Address Type"; + } + leaf if-name { + type string; + description + "Interface Name"; + } + leaf vrrp-group-state { + type ios-events-ios-xe-oper:vrrp-notif-proto-state; + description + "VRRP state"; + } + leaf state-change-reason { + type ios-events-ios-xe-oper:vrrp-notif-state-change-reason; + description + "VRRP state change reason"; + } + } + + grouping fib-update { + description + "FIB update notifications. This notification has been deprecated and duplicated to the namespace fib-ios-xe-events."; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "IP address"; + } + leaf vrf-name { + type string; + description + "Last updated VRF"; + } + leaf address-family-type { + type ios-events-ios-xe-oper:fib-updates-af-type; + description + "Last updated address family"; + } + leaf fib-last-update-time { + type yang:date-and-time; + description + "Last update time"; + } + } + + grouping system-login-change { + description + "Notification that a login to the system has occurred"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf user-name { + type string; + description + "User name"; + } + leaf user-id { + type uint32; + description + "User ID"; + } + } + + grouping system-logout-change { + description + "Notification that a user has logged out"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf user-name { + type string; + description + "User name"; + } + leaf user-id { + type uint32; + description + "User ID"; + } + } + + grouping system-aaa-login-fail { + description + "Notification that a login attempt has failed"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf user-name { + type string; + description + "User name"; + } + leaf remote-host { + type string; + description + "Remote host"; + } + } + + grouping aaa-admin-pwd-change { + description + "The administration password has been changed"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + } + + grouping cellular-sim-status-change { + description + "Cellular SIM Status Change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf reason { + type string; + description + "Reason for SIM status change"; + } + } + + grouping cellular-modem-status-change { + description + "Cellular Modem Status Change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf reason { + type string; + description + "Reason for modem status change"; + } + } + + grouping cellular-network-status-change { + description + "Cellular Network Status Change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf if-name { + type string; + description + "interface name"; + } + leaf reason { + type string; + description + "Reason for cellular network status change"; + } + } + + grouping app-dpi-flows-out-of-memory { + description + "Traffic exceeds number of flows or memory limit supported by DPI"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf dpi-out-of-memory-state { + type boolean; + description + "DPI flows out-of-memory new failure state"; + } + } + + grouping utd-ips-alert { + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf timestamp { + type yang:date-and-time; + description + "Alert timestamp"; + } + leaf action { + type ios-events-ios-xe-oper:utd-ips-alert-action-val; + description + "Alert action"; + } + leaf sid { + type uint32; + description + "Alert signature ID"; + } + leaf gid { + type uint32; + description + "Alert generator ID"; + } + leaf rev { + type uint32; + description + "Alert signature revision ID"; + } + leaf classification { + type ios-events-ios-xe-oper:utd-ips-alert-classification-val; + description + "Alert classification ID"; + } + leaf message { + type string; + description + "Alert message"; + } + leaf priority { + type ios-events-ios-xe-oper:utd-ips-alert-priority-val; + description + "Alert priority"; + } + leaf src-ip { + type inet:ip-address; + description + "Alert source IP"; + } + leaf dst-ip { + type inet:ip-address; + description + "Alert destination IP"; + } + leaf src-port { + type uint16; + description + "Alert source port"; + } + leaf dst-port { + type uint16; + description + "Alert destination port"; + } + leaf protocol { + type uint8; + description + "Alert protocol"; + } + leaf vrf { + type string; + description + "Alert VRF"; + } + leaf policy-name { + type string; + description + "Alert policy name"; + } + leaf src-username { + type string; + description + "Alert source user name"; + } + leaf dst-username { + type string; + description + "Alert destination user name"; + } + } + + grouping utd-update { + description + "Unified Threat Defense (UTD) update"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf type { + type ios-events-ios-xe-oper:utd-update-type-val; + description + "Update type"; + } + leaf timestamp { + type yang:date-and-time; + description + "Update timestamp"; + } + leaf version { + type string; + description + "Current version"; + } + leaf status { + type utd-common-ios-xe-oper:utd-update-status-val; + description + "Update status"; + } + leaf reason { + type string; + description + "Update failure reason"; + } + } + + grouping utd-version-mismatch { + description + "Unified Threat Defense (UTD) version mismatch"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf current-version { + type string; + description + "Current Unified Threat Defense (UTD) package version"; + } + leaf recommended-version { + type string; + description + "Recommended Unified Threat Defense (UTD) package version"; + } + leaf supported { + type boolean; + description + "Indicates if the current Unified Threat Defense (UTD) package version is supported"; + } + } + + grouping utd-file-reputation-alert { + description + "UTD Integration Advanced Malware Protection alert"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf timestamp { + type yang:date-and-time; + description + "Alert timestamp"; + } + leaf file-name { + type string; + description + "Alert file name"; + } + leaf sha { + type string; + description + "Alert sha"; + } + leaf file-type { + type ios-events-ios-xe-oper:utd-file-repu-file-type; + description + "Alert file type"; + } + leaf malware-name { + type string; + description + "Alert malware name"; + } + leaf src-ip { + type inet:ip-address; + description + "Alert source IP"; + } + leaf dst-ip { + type inet:ip-address; + description + "Alert destination IP"; + } + leaf src-port { + type uint16; + description + "Alert source port"; + } + leaf dst-port { + type uint16; + description + "Alert destination port"; + } + leaf protocol { + type uint8; + description + "Alert protocol"; + } + leaf vrf { + type string; + description + "Alert VRF"; + } + leaf action { + type ios-events-ios-xe-oper:utd-file-repu-action-event-type; + description + "Alert action"; + } + leaf disposition { + type ios-events-ios-xe-oper:utd-file-repu-dispos-event-type; + description + "Alert disposition"; + } + leaf policy-name { + type string; + description + "Alert policy name"; + } + leaf src-username { + type string; + description + "Alert source user name"; + } + leaf dst-username { + type string; + description + "Alert destination user name"; + } + } + + grouping utd-file-reputation-retrospective-alert { + description + "UTD Integration Advanced Malware Protection retrospective alert"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf file-name { + type string; + description + "Alert file name"; + } + leaf sha { + type string; + description + "Alert sha"; + } + leaf file-type { + type ios-events-ios-xe-oper:utd-file-repu-file-type; + description + "Alert file type"; + } + leaf malware-name { + type string; + description + "Alert malware name"; + } + leaf disposition { + type ios-events-ios-xe-oper:utd-file-repu-dispos-event-type; + description + "Alert disposition"; + } + } + + grouping utd-file-analysis-upload-state { + description + "UTD Integration Advanced Malware Protection TG file upload state"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf timestamp { + type yang:date-and-time; + description + "alert timestamp"; + } + leaf file-status { + type ios-events-ios-xe-oper:utd-file-analysis-upload-event-type; + description + "alert file status"; + } + leaf file-name { + type string; + description + "alert file name"; + } + leaf file-hash { + type string; + description + "alert file hash"; + } + leaf file-type { + type ios-events-ios-xe-oper:utd-file-repu-file-type; + description + "alert file type"; + } + leaf disposition { + type ios-events-ios-xe-oper:utd-file-repu-dispos-event-type; + description + "alert disposition"; + } + } + + grouping utd-file-reputation-status-event { + description + "UTD Integration Advanced Malware Protection beaker general status event"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf version { + type string; + description + "UTD Integration Advanced Malware Protection beaker version"; + } + leaf status { + type ios-events-ios-xe-oper:utd-file-reputation-status-event-type; + description + "UTD Integration Advanced Malware Protection beaker status"; + } + leaf message { + type string; + description + "UTD Integration Advanced Malware Protection beaker status messages"; + } + } + + grouping utd-file-analysis-status-event { + description + "UTD Integration Advanced Malware Protection TG status"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf status { + type ios-events-ios-xe-oper:utd-file-analysis-event-type; + description + "UTD Integration Advanced Malware Protection TG status health status"; + } + leaf backoff-interval { + type uint64; + description + "UTD Integration Advanced Malware Protection TG status number of seconds for backoff"; + } + leaf message { + type string; + description + "UTD Integration Advanced Malware Protection TG status messages"; + } + } + + grouping aaa-event-server-state { + description + "Notification of AAA Server State"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf server-ip { + type inet:ip-address; + description + "Server IP Address"; + } + leaf auth-port { + type uint16; + description + "Server Authentication Port"; + } + leaf acct-port { + type uint16; + description + "Server Accounting Port"; + } + leaf timestamp { + type yang:date-and-time; + description + "Timestamp for server UP/DOWN event"; + } + leaf server-state { + type boolean; + description + "Server State"; + } + } + + grouping bridge-state { + description + "Bridge state notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID <1..4094>"; + } + leaf bridge-state { + type ios-events-ios-xe-oper:bridge-state-val; + description + "Bridge state"; + } + } + + grouping bridge-intf-state { + description + "Bridge interface operational state notification"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf bridge-id { + type uint32; + description + "Bridge ID <1..4094>"; + } + leaf if-name { + type string; + description + "Switch port name belong to the bridge"; + } + leaf bridge-intf-oper-state { + type ios-events-ios-xe-oper:interface-notif-state; + description + "Bridge interface operational state"; + } + } + + grouping umbrella-dev-reg-update { + description + "Umbrella Device Registration Update"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf status { + type ios-events-ios-xe-oper:umbrella-dev-reg-status-val; + description + "Update status"; + } + leaf fail-code { + type uint16; + description + "Update failure code"; + } + leaf reason { + type string; + description + "Update failure reason"; + } + leaf registration-entity { + type string; + description + "Name of registration entity"; + } + leaf device-id { + type string; + description + "Device identity"; + } + leaf tag { + type string; + description + "Device tag"; + } + } + + grouping umbrella-dnscrypt-update { + description + "Umbrella DNSCrypt Update"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf enabled { + type boolean; + description + "DNSCrypt status"; + } + leaf last-success-attempt { + type yang:date-and-time; + description + "DNSCrypt Last Successful attempt"; + } + } + + grouping ed-typevalue { + description + "Event detector type value pair"; + leaf name { + type string; + description + "Name of the event detector variable"; + } + choice type-choice { + description + "Type of the event detector variable"; + case eem-u-int32 { + leaf ed-u-int32 { + type uint32; + description + "Event detector variable is an unsigned integer 32"; + } + } + case eem-string { + leaf ed-string { + type string; + description + "Event detector variable is a string"; + } + } + case eem-timestamp { + leaf ed-timestamp { + type yang:date-and-time; + description + "Event detector variable is a timestamp"; + } + } + } + } + + grouping eem-event-publish-data { + description + "EEM event publish data"; + leaf severity { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf policy-name { + type string; + description + "Name of policy"; + } + leaf event-type { + type ios-events-ios-xe-oper:eem-event-type; + description + "Type of event"; + } + leaf event-type-string { + type string; + description + "Type of event string"; + } + leaf event-publish-time { + type yang:date-and-time; + description + "Event publish time in calendar timestamp"; + } + list ed-arguments { + description + "Event argument list"; + uses ios-events-ios-xe-oper:ed-typevalue; + } + } + + notification bgp-peer-state-change { + description + "BGP peer state change notification"; + uses ios-events-ios-xe-oper:bgp-peer-state; + } + + notification ospf-neighbor-state-change { + description + "OSPF neighbor state change notification"; + uses ios-events-ios-xe-oper:ospf-neighbor-state; + } + + notification ospf-interface-state-change { + description + "OSPF interface state change notification"; + uses ios-events-ios-xe-oper:ospf-interface-state; + } + + notification interface-state-change { + description + "Interface operational state change notification"; + uses ios-events-ios-xe-oper:interface-oper-state; + } + + notification memory-usage { + description + "Memory usage notification"; + uses ios-events-ios-xe-oper:memory-usage; + } + + notification cpu-usage { + description + "CPU usage notification"; + uses ios-events-ios-xe-oper:cpu-usage; + } + + notification interface-admin-state-change { + description + "Interface admin state change notification"; + uses ios-events-ios-xe-oper:interface-admin-state; + } + + notification dhcp-server-state-change { + description + "DHCP server state change notification"; + uses ios-events-ios-xe-oper:dhcp-server-state; + } + + notification dhcp-address-assigned { + description + "DHCP address assigned change notification"; + uses ios-events-ios-xe-oper:dhcp-address-assigned; + } + + notification dhcp-address-renewed { + description + "DHCP server address renewed change notification"; + uses ios-events-ios-xe-oper:dhcp-address-renewed; + } + + notification dhcp-address-released { + description + "DHCP address released change notification"; + uses ios-events-ios-xe-oper:dhcp-address-released; + } + + notification dhcp-address-rejected { + description + "DHCP address rejected change notification"; + uses ios-events-ios-xe-oper:dhcp-address-rejected; + } + + notification system-reboot-complete { + description + "System reboot complete notification"; + uses ios-events-ios-xe-oper:system-reboot-complete; + } + + notification flash-fault { + description + "Flash fault notification"; + uses ios-events-ios-xe-oper:flash-fault; + } + + notification emmc-fault { + description + "Emmc fault notification"; + uses ios-events-ios-xe-oper:emmc-fault; + } + + notification sdcard-fault { + description + "SD card fault notification"; + uses ios-events-ios-xe-oper:sdcard-fault; + } + + notification tempsensor-fault { + description + "Temperature sensor fault notification"; + uses ios-events-ios-xe-oper:tempsensor-fault; + } + + notification tempsensor-state { + description + "Temperature sensor state notification"; + uses ios-events-ios-xe-oper:tempsensor-state; + } + + notification fan-fault { + description + "Fan fault notification"; + uses ios-events-ios-xe-oper:fan-fault; + } + + notification fantray-fault { + description + "Fan tray notification"; + uses ios-events-ios-xe-oper:fantray-fault; + } + + notification pem-fault { + description + "PEM fault notification"; + uses ios-events-ios-xe-oper:pem-fault; + } + + notification pem-state-change { + description + "PEM state change notification"; + uses ios-events-ios-xe-oper:pem-state-change; + } + + notification pim-fault { + description + "PIM fault notification"; + uses ios-events-ios-xe-oper:pim-fault; + } + + notification pim-state-change { + description + "PIM state change notification"; + uses ios-events-ios-xe-oper:pim-state-change; + } + + notification sfp-state-change { + description + "SFP state change notification"; + uses ios-events-ios-xe-oper:sfp-state-change; + } + + notification sfp-support-state { + description + "SFP support state notification"; + uses ios-events-ios-xe-oper:sfp-support-state; + } + + notification usb-state-change { + description + "USB state change notification"; + uses ios-events-ios-xe-oper:usb-state-change; + } + + notification vrrp-group-state-change { + description + "VRRP group state change"; + uses ios-events-ios-xe-oper:vrrp-group-state-change; + } + + notification system-reboot-issued { + description + "System reboot issued notification"; + uses ios-events-ios-xe-oper:system-reboot-issued; + } + + notification disk-usage { + description + "Disk usage notification"; + uses ios-events-ios-xe-oper:disk-usage; + } + + notification fib-updates { + status deprecated; + description + "FIB update notification"; + uses ios-events-ios-xe-oper:fib-update; + } + + notification system-login-change { + description + "System login notification"; + uses ios-events-ios-xe-oper:system-login-change; + } + + notification system-logout-change { + description + "System logout notification"; + uses ios-events-ios-xe-oper:system-logout-change; + } + + notification system-aaa-login-fail { + description + "System login fail notification"; + uses ios-events-ios-xe-oper:system-aaa-login-fail; + } + + notification aaa-admin-pwd-change { + description + "Administration password change notification"; + uses ios-events-ios-xe-oper:aaa-admin-pwd-change; + } + + notification cellular-sim-status-change { + description + "Cellular SIM status change notification"; + uses ios-events-ios-xe-oper:cellular-sim-status-change; + } + + notification cellular-modem-status-change { + description + "Cellular Modem status change notification"; + uses ios-events-ios-xe-oper:cellular-modem-status-change; + } + + notification cellular-network-status-change { + description + "Cellular Network status change notification"; + uses ios-events-ios-xe-oper:cellular-network-status-change; + } + + notification app-dpi-flows-out-of-memory { + description + "app_dpi_flows_out_of_memory"; + uses ios-events-ios-xe-oper:app-dpi-flows-out-of-memory; + } + + notification utd-ips-alert { + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) alert notification"; + uses ios-events-ios-xe-oper:utd-ips-alert; + } + + notification utd-update { + description + "Unified Threat Defense (UTD) update notification"; + uses ios-events-ios-xe-oper:utd-update; + } + + notification utd-version-mismatch { + description + "Unified Threat Defense (UTD) version mismatch notification"; + uses ios-events-ios-xe-oper:utd-version-mismatch; + } + + notification utd-file-reputation-alert { + description + "UTD Integration Advanced Malware Protection alert alert notification"; + uses ios-events-ios-xe-oper:utd-file-reputation-alert; + } + + notification utd-file-reputation-retrospective-alert { + description + "UTD Integration Advanced Malware Protection retrospective alert notification"; + uses ios-events-ios-xe-oper:utd-file-reputation-retrospective-alert; + } + + notification utd-file-analysis-file-upload-state { + description + "UTD Integration Advanced Malware Protection TG file upload state"; + uses ios-events-ios-xe-oper:utd-file-analysis-upload-state; + } + + notification utd-file-reputation-status-event { + description + "UTD Integration Advanced Malware Protection AMP status event"; + uses ios-events-ios-xe-oper:utd-file-reputation-status-event; + } + + notification utd-file-analysis-status-event { + description + "UTD Integration Advanced Malware Protection TG status event"; + uses ios-events-ios-xe-oper:utd-file-analysis-status-event; + } + + notification aaa-event-server-state { + description + "AAA Server State Notification"; + uses ios-events-ios-xe-oper:aaa-event-server-state; + } + + notification bridge-state-change { + description + "Bridge state notification"; + uses ios-events-ios-xe-oper:bridge-state; + } + + notification bridge-interface-state-change { + description + "Bridge interface operational state notification"; + uses ios-events-ios-xe-oper:bridge-intf-state; + } + + notification umbrella-dev-reg-update { + description + "Umbrella Device Registration Update Notification"; + uses ios-events-ios-xe-oper:umbrella-dev-reg-update; + } + + notification umbrella-dnscrypt-update { + description + "Umbrella DNSCrypt Update Notification"; + uses ios-events-ios-xe-oper:umbrella-dnscrypt-update; + } + + notification eem-event-publish { + description + "EEM event publish Update Notification"; + uses ios-events-ios-xe-oper:eem-event-publish-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-events.yang new file mode 100644 index 000000000..f8597c2c3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-events.yang @@ -0,0 +1,1232 @@ +module Cisco-IOS-XE-ip-sla-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ip-sla-events"; + prefix ip-sla-ios-xe-events; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IPSLA Reaction Notification. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Added new enum for IPSLA HTTPS operation type. + - Extended the model to support IPSLA HTTPS reaction data."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container ip-sla-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef sla-notification-severity { + type enumeration { + enum critical { + value 0; + description + "Notification severity - critical"; + } + enum major { + value 1; + description + "Notification severity - major"; + } + enum minor { + value 2; + description + "Notification severity - minor"; + } + } + description + "Notification severity"; + } + + typedef ipsla-threshold-type { + type enumeration { + enum threshold-type-unknown { + value 0; + description + "Unknown threshold type"; + } + enum immediate { + value 1; + description + "Immediate threshold type - React immediately when the threshold values are violated"; + } + enum consecutive { + value 2; + description + "Consecutive threshold type - React after N consecutive occurrences of threshold violations"; + } + enum xofy { + value 3; + description + "XofY threshold type - React X out of Y occurrences of threshold violations"; + } + enum average { + value 4; + description + "Average threshold type - React when average over N attempts are violating the threshold values"; + } + } + description + "IPSLA Reaction Threshold Type"; + } + + typedef ipsla-operation-type { + type enumeration { + enum unknown { + value 0; + description + "Unknown probe type"; + } + enum udp-echo { + value 1; + description + "UDP Echo operation"; + } + enum udp-jitter { + value 2; + description + "UDP Jitter operation"; + } + enum icmp-jitter { + value 3; + description + "ICMP Jitter operation"; + } + enum y1731-delay { + value 4; + description + "Y1731 Ethernet OAM Performance Delay Measurement + operation"; + } + enum y1731-loss { + value 5; + description + "Y1731 Ethernet OAM Performance Loss Measurement + operation"; + } + enum path-jitter { + value 6; + description + "Path Discovered ICMP Jitter operation"; + } + enum icmp-echo { + value 7; + description + "ICMP Echo operation"; + } + enum path-echo { + value 8; + description + "Path Discovered ICMP Echo operation"; + } + enum tcp-connect { + value 9; + description + "TCP Connect operation"; + } + enum http { + value 10; + description + "HTTP operation"; + } + enum dns { + value 11; + description + "DNS operation"; + } + enum dhcp { + value 12; + description + "DHCP operation"; + } + enum ftp { + value 13; + description + "FTP operation"; + } + enum mpls-lsp-ping { + value 14; + description + "MPLS lsp ping operation"; + } + enum mpls-lsp-trace { + value 15; + description + "MPLS lsp trace operation"; + } + enum mpls-lsp-pseudowire-ping { + value 16; + description + "MPLS lsp pseudowire ping operation"; + } + enum https { + value 17; + description + "HTTPS operation"; + } + } + description + "IPSLA probe type"; + } + + typedef ipsla-react-type { + type enumeration { + enum react-unknown { + value 0; + description + "Unknown reaction monitoring type"; + } + enum rtt { + value 1; + description + "Monitoring of Round Trip Time"; + } + enum jitter-sd { + value 2; + description + "Monitoring of Jitter average changes in the + direction from source to destination"; + } + enum jitter-ds { + value 3; + description + "Monitoring of average jitter in the direction from + destination to source"; + } + enum packet-loss-sd { + value 4; + description + "Monitoring of packet loss in the direction from + source to destination"; + } + enum packet-loss-ds { + value 5; + description + "Monitoring of packet loss in the direction + from destination to source"; + } + enum mos { + value 6; + description + "Monitoring of MOS score"; + } + enum timeout { + value 7; + description + "Monitoring of timeout occurrences"; + } + enum connection-loss { + value 8; + description + "Monitoring of connection loss occurrences"; + } + enum verify-error { + value 9; + description + "Monitoring of verify error occurrences"; + } + enum jitter { + value 10; + description + "Monitoring of average jitter in both the + directions"; + } + enum icpif { + value 11; + description + "Monitoring of calculated planning impairment + factor"; + } + enum packet-mia { + value 12; + description + "Monitoring of packets missing in action"; + } + enum packet-late-arrival { + value 13; + description + "Monitoring of packets arriving late"; + } + enum packet-out-of-seq { + value 14; + description + "Monitoring of packets arriving out of sequence"; + } + enum max-of-positive-sd { + value 15; + description + "Monitoring of maximum positive jitter in the + direction from source to destination"; + } + enum max-of-negative-sd { + value 16; + description + "Monitoring of maximum negative jitter in the + direction from source to destination"; + } + enum max-of-positive-ds { + value 17; + description + "Monitoring of maximum positive jitter in the + direction from destination to source"; + } + enum max-of-negative-ds { + value 18; + description + "Monitoring of maximum negative jitter in the + direction from destination to source"; + } + enum inter-arrival-jitter-ds { + value 19; + description + "Monitoring of inter-arrival jitter in the + direction from source to destination"; + } + enum frame-loss-ratio-percent-ds { + value 20; + description + "Monitoring of frame loss ration percentage in the + direction from destination to source"; + } + enum frame-loss-ratio-percent-sd { + value 21; + description + "Monitoring of frame loss ration percentage in the + direction from source to destination"; + } + enum successive-packet-loss { + value 22; + description + "Monitoring of successive packet loss"; + } + enum max-of-latency-ds { + value 23; + description + "Monitoring of maximum latency in the direction + from destination to source"; + } + enum max-of-latency-sd { + value 24; + description + "Monitoring of maximum latency in the direction + from source to destination"; + } + enum avg-latency-ds { + value 25; + description + "Monitoring of average latency in the direction + from destination to source"; + } + enum avg-latency-sd { + value 26; + description + "Monitoring of average latency in the direction + from source to destination"; + } + enum packet-loss { + value 27; + description + "Monitoring of packet loss in both the directions"; + } + enum inter-arrival-jitter-sd { + value 28; + description + "Monitoring of inter-arrival jitter in the + direction from source to destination"; + } + enum unavailable-sd { + value 29; + description + "Monitoring of unavailability percentage used for + frame loss ratio in the direction from source to destination"; + } + enum unavailable-ds { + value 30; + description + "Monitoring of unavailability percentage used for + frame loss ratio in the direction from destination to source"; + } + enum percentile-rtt { + value 31; + description + "Monitoring of percentile Round Trip Time"; + } + enum percentile-max-of-latency-sd { + value 32; + description + "Monitoring of percentile maximum latency in the + direction from source to destination"; + } + enum percentile-max-of-latency-ds { + value 33; + description + "Monitoring of percentile maximum latency in the + direction from destination to source"; + } + enum percentile-avg-latency-sd { + value 34; + description + "Monitoring of percentile latency average in the + direction from source to destination"; + } + enum percentile-avg-latency-ds { + value 35; + description + "Monitoring of percentile latency average in the + direction from destination to source"; + } + enum percentile-jitter-sd { + value 36; + description + "Monitoring of percentile jitter average in the + direction from source to destination"; + } + enum percentile-jitter-ds { + value 37; + description + "Monitoring of percentile jitter average in the + direction from destination to source"; + } + enum percentile-jitter { + value 38; + description + "Monitoring of percentile Jitter average in + both the directions"; + } + enum over-threshold { + value 39; + description + "Monitoring of Round Trip Times over threshold"; + } + enum protocol-specific-error { + value 40; + description + "Monitoring of protocol specific error + occurrences"; + } + enum two-way-pos-jitter { + value 41; + description + "Monitoring of two way positive jitter"; + } + enum two-way-neg-jitter { + value 42; + description + "Monitoring of two way negative jitter"; + } + } + description + "IPSLA Reaction types"; + } + + typedef ipsla-y1731-sub-type { + type enumeration { + enum sla-y1731-unknown { + value 0; + description + "Unknown Y1731 delay/loss type"; + } + enum sla-y1731-delay-1dm { + value 1; + description + "Y1731 Delay 1DM type"; + } + enum sla-y1731-delay-dmm { + value 2; + description + "Y1731 Delay DMM type"; + } + enum sla-y1731-delay-dmmv1 { + value 3; + description + "Y1731 Delay DMMv1 type"; + } + enum sla-y1731-loss-lmm { + value 4; + description + "Y1731 Loss LMM type"; + } + enum sla-y1731-loss-slm { + value 5; + description + "Y1731 Loss SLM type"; + } + } + description + "IPSLA Y1731 Delay/Loss operation sub-types"; + } + + typedef ipsla-react-status { + type enumeration { + enum status-unknown { + value 0; + description + "Unknown Y1731 delay/loss type"; + } + enum occurred { + value 1; + description + "Reaction occurred"; + } + enum cleared { + value 2; + description + "Reaction cleared"; + } + enum exceeded-threshold { + value 3; + description + "Reaction occurred as the monitored value exceeds the configured threshold value"; + } + enum below-threshold { + value 4; + description + "Reaction occurred as the monitored value falls below the configured threshold value"; + } + } + description + "IPSLA Reaction Status"; + } + + typedef ipsla-probe-type { + type enumeration { + enum probe-type-unknown { + value 0; + description + "Unknown probe type"; + } + enum ipv6 { + value 1; + description + "IPv6 probe type"; + } + enum ipv4 { + value 2; + description + "IPv4 probe type"; + } + } + description + "IPSLA Probe type"; + } + + typedef ipsla-threshold-type-value { + type enumeration { + enum xofy-value { + value 0; + description + "Xofy threshold type value"; + } + enum consecutive-value { + value 1; + description + "Consecutive threshold type value"; + } + enum average-value { + value 2; + description + "Average threshold type value"; + } + enum immediate-value { + value 3; + description + "Immediate threshold type value"; + } + } + description + "Value of the IPSLA threshold type"; + } + + typedef ipsla-oper-data-type { + type enumeration { + enum dhcp-oper-data { + value 0; + description + "IPSLA DHCP operation data"; + } + enum dns-oper-data { + value 1; + description + "IPSLA DNS operation data"; + } + enum ftp-oper-data { + value 2; + description + "IPSLA FTP operation data"; + } + enum http-oper-data { + value 3; + description + "IPSLA HTTP operation data"; + } + enum icmp-echo-oper-data { + value 4; + description + "IPSLA ICMP-echo operation data"; + } + enum icmp-jitter-oper-data { + value 5; + description + "IPSLA ICMP-jitter operation data"; + } + enum lsp-ping-oper-data { + value 6; + description + "IPSLA MPLS LSP ping operation data"; + } + enum lsp-trace-oper-data { + value 7; + description + "IPSLA MPLS LSP trace operation data"; + } + enum lsp-ping-pseudowire-oper-data { + value 8; + description + "IPSLA MPLS LSP pseudowire ping operation data"; + } + enum path-echo-oper-data { + value 9; + description + "IPSLA Path-echo operation data"; + } + enum path-jitter-oper-data { + value 10; + description + "IPSLA Path-jitter operation data"; + } + enum tcp-connect-oper-data { + value 11; + description + "IPSLA TCP-connect operation data"; + } + enum udp-echo-oper-data { + value 12; + description + "IPSLA UDP-echo operation data"; + } + enum udp-jitter-oper-data { + value 13; + description + "IPSLA UDP-jitter operation data"; + } + enum y1731-delay-oper-data { + value 14; + description + "IPSLA Y1731 Delay operation data"; + } + enum y1731-loss-oper-data { + value 15; + description + "IPSLA Y1731 Loss operation data"; + } + enum https-oper-data { + value 16; + description + "IPSLA HTTPS operation data"; + } + } + description + "IPSLA operation data type"; + } + + typedef ipsla-ftp-mode-type { + type enumeration { + enum active { + value 0; + description + "Active Mode"; + } + enum passive { + value 1; + description + "Passive Mode"; + } + } + description + "IPSLA FTP operation mode"; + } + + typedef ipsla-precision-type { + type enumeration { + enum milliseconds { + value 0; + description + "Milliseconds precision"; + } + enum microseconds { + value 1; + description + "Microseconds precision"; + } + } + description + "Precision of the IPSLA operation"; + } + + grouping threshold-xofy-value { + description + "IPSLA Reaction threshold type - xofy type"; + leaf x-value { + type uint32; + description + "Value of X when the threshold type is xofy"; + } + leaf y-value { + type uint32; + description + "Value of Y when the threshold type is xofy"; + } + } + + grouping ipsla-react-data { + description + "IPSLA Reaction threshold value of the given threshold + type"; + leaf threshold-type { + type ip-sla-ios-xe-events:ipsla-threshold-type; + description + "IPSLA reaction threshold type"; + } + leaf threshold-rising { + type uint64; + description + "IPSLA Reaction threshold upper limit"; + } + leaf threshold-falling { + type uint64; + description + "IPSLA Reaction threshold falling limit"; + } + choice threshold-value-choice { + description + "IPSLA Reaction threshold type's value based + on the threshold type"; + case xofy-value { + container xofy { + description + "Value of the xofy threshold type"; + uses ip-sla-ios-xe-events:threshold-xofy-value; + } + } + case consecutive-value { + leaf consecutive { + type uint32; + description + "Value of the consecutive threshold type"; + } + } + case average-value { + leaf average { + type uint32; + description + "Value of the average threshold type"; + } + } + case immediate-value { + leaf immediate { + type boolean; + description + "Value of the immediate threshold type"; + } + } + } + } + + grouping ipsla-udp-tcp-oper-type-data { + description + "IPSLA operation data of UDP and TCP based + operations"; + leaf destination-address { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA operation"; + } + leaf source-port { + type uint16; + description + "Source port of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping ipsla-icmp-oper-type-data { + description + "IPSLA operation data of ICMP based operations"; + leaf destination-address { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping ipsla-dns-oper-type-data { + description + "IPSLA DNS operation data"; + leaf target-name { + type string; + description + "Target Name of the operation"; + } + leaf name-server { + type inet:ip-address; + description + "Name server address"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + leaf source-port { + type uint16; + description + "Source port of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping ipsla-dhcp-oper-type-data { + description + "IPSLA DHCP operation data"; + leaf destination-address { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + } + + grouping ipsla-ftp-oper-type-data { + description + "IPSLA FTP operation data"; + leaf url { + type string; + description + "URL of the IPSLA operation"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + leaf mode { + type ip-sla-ios-xe-events:ipsla-ftp-mode-type; + description + "FTP mode of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping ipsla-http-oper-type-data { + description + "IPSLA HTTP operation data"; + leaf destination-address { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf url { + type string; + description + "URL of the IPSLA operation"; + } + leaf name-server { + type inet:ip-address; + description + "Name server address"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA operation"; + } + leaf source-port { + type uint16; + description + "Source port of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + } + + grouping ipsla-lsp-ping-trace-oper-type-data { + description + "IPSLA operation data of the MPLS LSP ping and trace + operation"; + leaf target-address { + type inet:ip-address; + description + "Target address of the IPSLA operation"; + } + leaf lsp-selector { + type inet:ip-address; + description + "LSP selector which specifies a valid 127/8 address"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + } + + grouping ipsla-lsp-pseudowire-oper-type-data { + description + "IPSLA MPLS LSP pseudowire operation data"; + leaf target-address { + type inet:ip-address; + description + "Target address of the IPSLA operation"; + } + leaf vccv-id { + type uint32; + description + "MPLS LSP pseudowire VCCV ID"; + } + leaf source-address { + type inet:ip-address; + description + "Source address of the IPSLA operation"; + } + } + + grouping ipsla-y1731-oper-type-data { + description + "IPSLA Y1731 delay and loss operation data"; + leaf y1731-sub-type { + type ip-sla-ios-xe-events:ipsla-y1731-sub-type; + description + "Type of the Y1731 Delay/Loss operation"; + } + leaf domain-name { + type string; + description + "Name of the Ethernet Connectivity Fault Management (CFM) + maintenance domain specified in the IPSLA operation"; + } + leaf destination-mpid { + type uint32; + description + "Destination maintenance endpoint identification + number specified in the IPSLA operation"; + } + leaf source-mpid { + type uint32; + description + "Source maintenance endpoint identification + number specified in the IPSLA operation"; + } + leaf cos { + type uint8; + description + "Class of Service specified in the IPSLA + operation"; + } + } + + grouping ipsla-https-oper-type-data { + description + "IPSLA HTTPS operation data"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA HTTPS operation"; + } + leaf url { + type string; + description + "URL of the IPSLA HTTPS operation"; + } + leaf name-server { + type inet:ip-address; + description + "Name server address of the IPSLA HTTPS operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA HTTPS operation"; + } + leaf vrf-name { + type string; + description + "VRF name of the IPSLA HTTPS operation"; + } + } + + grouping ipsla-oper-data { + description + "IPSLA operation data"; + choice oper-data-type-choice { + description + "IPSLA operation type"; + case dhcp-oper-data { + container dhcp-oper-data { + description + "DHCP operation data"; + uses ip-sla-ios-xe-events:ipsla-dhcp-oper-type-data; + } + } + case dns-oper-data { + container dns-oper-data { + description + "DNS operation data"; + uses ip-sla-ios-xe-events:ipsla-dns-oper-type-data; + } + } + case ftp-oper-data { + container ftp-oper-data { + description + "FTP operation data"; + uses ip-sla-ios-xe-events:ipsla-ftp-oper-type-data; + } + } + case http-oper-data { + container http-oper-data { + description + "HTTP operation data"; + uses ip-sla-ios-xe-events:ipsla-http-oper-type-data; + } + } + case icmp-echo-oper-data { + container icmp-echo-oper-data { + description + "ICMP echo operation data"; + uses ip-sla-ios-xe-events:ipsla-icmp-oper-type-data; + } + } + case icmp-jitter-oper-data { + container icmp-jitter-oper-data { + description + "ICMP jitter operation data"; + uses ip-sla-ios-xe-events:ipsla-icmp-oper-type-data; + } + } + case lsp-ping-oper-data { + container lsp-ping-oper-data { + description + "MPLS LSP ping operation data"; + uses ip-sla-ios-xe-events:ipsla-lsp-ping-trace-oper-type-data; + } + } + case lsp-trace-oper-data { + container lsp-trace-oper-data { + description + "MPLS LSP trace operation data"; + uses ip-sla-ios-xe-events:ipsla-lsp-ping-trace-oper-type-data; + } + } + case lsp-ping-pseudowire-oper-data { + container lsp-pseudowire-oper-data { + description + "MPLS LSP pseudowire operation data"; + uses ip-sla-ios-xe-events:ipsla-lsp-pseudowire-oper-type-data; + } + } + case path-echo-oper-data { + container path-echo-oper-data { + description + "Path echo operation data"; + uses ip-sla-ios-xe-events:ipsla-icmp-oper-type-data; + } + } + case path-jitter-oper-data { + container path-jitter-oper-data { + description + "Path jitter operation data"; + uses ip-sla-ios-xe-events:ipsla-icmp-oper-type-data; + } + } + case tcp-connect-oper-data { + container tcp-connect-oper-data { + description + "TCP connect operation data"; + uses ip-sla-ios-xe-events:ipsla-udp-tcp-oper-type-data; + } + } + case udp-echo-oper-data { + container udp-echo-oper-data { + description + "UDP echo operation data"; + uses ip-sla-ios-xe-events:ipsla-udp-tcp-oper-type-data; + } + } + case udp-jitter-oper-data { + container udp-jitter-oper-data { + description + "UDP Jitter operation data"; + uses ip-sla-ios-xe-events:ipsla-udp-tcp-oper-type-data; + } + } + case y1731-delay-oper-data { + container y1731-delay-oper-data { + description + "Y1731 Delay operation data"; + uses ip-sla-ios-xe-events:ipsla-y1731-oper-type-data; + } + } + case y1731-loss-oper-data { + container y1731-loss-oper-data { + description + "Y1731 Loss operation data"; + uses ip-sla-ios-xe-events:ipsla-y1731-oper-type-data; + } + } + case https-oper-data { + container https-oper-data { + description + "HTTPS operation data"; + uses ip-sla-ios-xe-events:ipsla-https-oper-type-data; + } + } + } + } + + grouping ipsla-react-update-data { + description + "IPSLA Reaction Update"; + leaf severity { + type ip-sla-ios-xe-events:sla-notification-severity; + description + "Event severity"; + } + leaf oper-id { + type uint32; + description + "IPSLA operation Identifier"; + } + leaf probe-type { + type ip-sla-ios-xe-events:ipsla-probe-type; + description + "IPv6 Probe"; + } + leaf oper-type { + type ip-sla-ios-xe-events:ipsla-operation-type; + description + "IPSLA operation Type"; + } + leaf react-type { + type ip-sla-ios-xe-events:ipsla-react-type; + description + "IPSLA Reaction Type"; + } + leaf react-status { + type ip-sla-ios-xe-events:ipsla-react-status; + description + "IPSLA Reaction occurred status"; + } + leaf react-value { + type uint32; + description + "IPSLA Reaction value that violated the configured + rising and falling threshold values"; + } + leaf precision { + type ip-sla-ios-xe-events:ipsla-precision-type; + description + "Precision of the IPSLA operation"; + } + container react-data { + description + "IPSLA Reaction data"; + uses ip-sla-ios-xe-events:ipsla-react-data; + } + container oper-data { + description + "IPSLA operation data"; + uses ip-sla-ios-xe-events:ipsla-oper-data; + } + } + + notification ipsla-reaction-update { + description + "IPSLA Reaction Update Notification"; + uses ip-sla-ios-xe-events:ipsla-react-update-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-oper.yang new file mode 100644 index 000000000..1f8c06da7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip-sla-oper.yang @@ -0,0 +1,4194 @@ +module Cisco-IOS-XE-ip-sla-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ip-sla-oper"; + prefix ip-sla-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of IP SLA statistics of a Network Element. + Copyright (c) 2016-2017, 2019-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "-Added support for out of order performance counters"; + reference + "5.6.0"; + cisco-semver:module-version "5.6.0"; + } + revision 2023-07-01 { + description + "- fixed the warning regarding misspelled oper-type-mcast"; + reference + "5.5.0"; + cisco-semver:module-version "5.5.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2021-11-01 { + description + "- Added support for IP SLA service performance latest + and history interval statistics. + - Added new enumerations for IP SLA return code type"; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2021-07-01 { + description + "- Added support for IP SLA Y1731 history interval statistics."; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2021-03-01 { + description + "- Extended the model to support aggregated statistics for + IPSLA DNS, DHCP, FTP, HTTP, HTTPS, ICMP-echo, ICMP-jitter, ICMP path-echo, + MPLS LSP ping, MPLS LSP trace, multicast UDP-jitter, TCP-connect, + UDP-echo and UDP-jitter operations."; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2020-11-01 { + description + "- Added new enum for IPSLA HTTPS operation type and return codes. + - Updated existing when statements and added new when statements + to support IPSLA HTTPS operation statistics."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2018-10-29 { + description + "- Addition of IPSLA path echo and jitter operation + statistics + - Cleaned up spelling errors in descriptions."; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-08-13 { + description + "- Addition of IPSLA Y1731 delay, loss, http, + dns, dhcp, ftp, mpls lsp-ping, mpls lsp-trace, ethernet-echo and + multicast operational types + - Addition of IPSLA Oper Total statistics + - Addition of IPSLA Oper Error statistics"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2017-09-25 { + description + "Reinstate when clauses"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2017-08-22 { + description + "Addition of ICMP echo operational type enumeration"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-04-01 { + description + "Enumeration name changes. Remove when clauses"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef sla-oper-type { + type enumeration { + enum oper-type-unknown { + value 0; + } + enum oper-type-udp-echo { + value 1; + } + enum oper-type-udp-jitter { + value 2; + } + enum oper-type-icmp-jitter { + value 3; + } + enum oper-type-ethernet-jitter { + value 4; + } + enum oper-type-ethernet-echo { + value 5; + } + enum oper-type-y1731-delay { + value 6; + } + enum oper-type-y1731-loss { + value 7; + } + enum oper-type-video { + value 8; + } + enum oper-type-mcast { + value 9; + } + enum oper-type-pong { + value 10; + } + enum oper-type-path-jitter { + value 11; + } + enum oper-type-icmp-echo { + value 12; + } + enum oper-type-path-echo { + value 13; + } + enum oper-type-tcp-connect { + value 14; + } + enum oper-type-http { + value 15; + } + enum oper-type-dns { + value 16; + } + enum oper-type-dlsw { + value 17; + } + enum oper-type-dhcp { + value 18; + } + enum oper-type-ftp { + value 19; + } + enum oper-type-voip { + value 20; + } + enum oper-type-rtp { + value 21; + } + enum oper-type-lsp-group { + value 22; + } + enum oper-type-lsp-ping { + value 23; + } + enum oper-type-lsp-trace { + value 24; + } + enum oper-type-ethernet-ping { + value 25; + } + enum oper-type-lsp-ping-pseudowire { + value 26; + } + enum oper-type-udp-app { + value 27; + } + enum oper-type-generic { + value 28; + } + enum oper-type-media-trace { + value 29; + } + enum oper-type-server-performance { + value 30; + } + enum oper-type-fabric-path-echo { + value 31; + } + enum oper-type-https { + value 32; + description + "IPSLA HTTPS operation type"; + } + } + description + "IP SLA operational type"; + } + + typedef sla-return-code { + type enumeration { + enum ret-code-unknown { + value 0; + } + enum ret-code-ok { + value 1; + } + enum ret-code-disconnected { + value 2; + } + enum ret-code-busy { + value 3; + } + enum ret-code-timeout { + value 4; + } + enum ret-code-no-connection { + value 5; + } + enum ret-code-internal-error { + value 6; + } + enum ret-code-operation-failure { + value 7; + } + enum ret-code-could-not-find { + value 8; + } + enum ret-code-dns-query-error { + value 9; + description + "DNS query error"; + } + enum ret-code-dns-timeout { + value 10; + description + "DNS timeout"; + } + enum ret-code-http-error { + value 11; + description + "HTTP error"; + } + enum ret-code-over-threshold { + value 12; + description + "Over threshold"; + } + enum ret-code-no-data { + value 13; + description + "No data in the control message"; + } + enum ret-code-en-ok { + value 14; + description + "Port enable control message status is ok"; + } + enum ret-code-en-no-conn { + value 15; + description + "Port enable control message status is no connection"; + } + enum ret-code-en-ver-fail { + value 16; + description + "Port enable control message status is version error"; + } + enum ret-code-en-intl-err { + value 17; + description + "Port enable control message status is internal error"; + } + enum ret-code-en-abort { + value 18; + description + "Port enable control message status is abort"; + } + enum ret-code-en-fail { + value 19; + description + "Port enable control message status is fail"; + } + enum ret-code-en-auth-fail { + value 20; + description + "Port enable control message status is authentication failure"; + } + enum ret-code-en-fmt-err { + value 21; + description + "Port enable control message status is format error"; + } + enum ret-code-en-port-in-use { + value 22; + description + "Port enable control message status is port in use"; + } + enum ret-code-stats-ok { + value 23; + description + "Statistics retrieval control message status is ok"; + } + enum ret-code-stats-no-conn { + value 24; + description + "Statistics retrieval control message status is no connection"; + } + enum ret-code-stats-ver-fail { + value 25; + description + "Statistics retrieval control message status is version error"; + } + enum ret-code-stats-intl-err { + value 26; + description + "Statistics retrieval control message status is internal error"; + } + enum ret-code-stats-abort { + value 27; + description + "Statistics retrieval control message status is abort"; + } + enum ret-code-stats-fail { + value 28; + description + "Statistics retrieval control message status is failure"; + } + enum ret-code-stats-auth-fail { + value 29; + description + "Statistics retrieval control message status is authentication failure"; + } + enum ret-code-stats-fmt-err { + value 30; + description + "Statistics retrieval control message status is format error"; + } + enum ret-code-stats-port-in-use { + value 31; + description + "Statistics retrieval control message status is port in use"; + } + enum ret-code-unknown-cmd { + value 32; + description + "Control message status is unknown command"; + } + enum ret-code-invalid-sess-id { + value 33; + description + "Invalid session identifier"; + } + enum ret-code-invalid-state { + value 34; + description + "Invalid state"; + } + enum ret-code-loopback-error { + value 35; + description + "Loopback error"; + } + enum ret-code-oper-eol { + value 36; + description + "Operation end of life"; + } + enum ret-code-evc-err { + value 37; + description + "Ethernet evc not found"; + } + enum ret-code-vlan-err { + value 38; + description + "Ethernet vlan not found"; + } + enum ret-code-domn-err { + value 39; + description + "Ethernet domain not found"; + } + enum ret-code-cos-err { + value 40; + description + "Invalid cos specified"; + } + enum ret-code-malloc-err { + value 41; + description + "Memory allocation error"; + } + } + description + "IP SLA return code"; + } + + typedef accuracy-type { + type enumeration { + enum accuracy-milliseconds { + value 0; + } + enum accuracy-microseconds { + value 1; + } + enum accuracy-nanoseconds { + value 2; + description + "nanoseconds accuracy"; + } + } + description + "IP SLA accuracy type"; + } + + typedef rtt-type { + type enumeration { + enum rtt-known { + value 0; + } + enum rtt-unknown { + value 1; + } + enum rtt-could-not-find { + value 2; + } + } + description + "IP SLA RTT type"; + } + + typedef ttl-type { + type enumeration { + enum ttl-finite { + value 0; + } + enum ttl-forever { + value 1; + } + } + description + "IP SLA time-to-live type"; + } + + typedef ntp-sync-state { + type enumeration { + enum sync { + value 0; + } + enum no-sync { + value 1; + } + } + description + "NTP sync state information"; + } + + typedef sla-y1731-delay-bin-type { + type enumeration { + enum sla-y1731-fwd-bin { + value 0; + description + "IP SLA Y1731 forward delay statistics bin"; + } + enum sla-y1731-bwd-bin { + value 1; + description + "IP SLA Y1731 backward delay statistics bin"; + } + enum sla-y1731-twoway-bin { + value 2; + description + "IP SLA Y1731 two-way delay statistics bin"; + } + enum sla-y1731-fwd-pos-jitter-bin { + value 3; + description + "IP SLA Y1731 forward positive jitter statistics bin"; + } + enum sla-y1731-fwd-neg-jitter-bin { + value 4; + description + "IP SLA Y1731 forward negative jitter statistics bin"; + } + enum sla-y1731-bwd-pos-jitter-bin { + value 5; + description + "IP SLA Y1731 backward positive jitter statistics bin"; + } + enum sla-y1731-bwd-neg-jitter-bin { + value 6; + description + "IP SLA Y1731 backward negative jitter statistics bin"; + } + enum sla-y1731-twoway-pos-jitter-bin { + value 7; + description + "IP SLA Y1731 two-way positive jitter statistics bin"; + } + enum sla-y1731-twoway-neg-jitter-bin { + value 8; + description + "IP SLA Y1731 two-way negative jitter statistics bin"; + } + } + description + "IP SLA Y1731 delay statistics bin types"; + } + + typedef sla-y1731-status { + type enumeration { + enum sla-y1731-ok { + value 0; + description + "This indicates IP SLA Y1731 Ethernet PM status is ok"; + } + enum sla-y1731-suspect { + value 1; + description + "This indicates IP SLA Y1731 Ethernet PM status is suspect"; + } + } + description + "IP SLA Y1731 delay statistics bin types"; + } + + typedef sla-sp-rate-type { + type enumeration { + enum rate-pps { + value 0; + description + "Packets per second"; + } + enum rate-kbps { + value 1; + description + "Kilobytes per second"; + } + } + description + "IP SLA service performance operation rate type"; + } + + typedef sla-sp-oper-mode { + type enumeration { + enum sp-unknown-mode { + value 0; + description + "Unknown measurement mode"; + } + enum sp-pass-mode { + value 1; + description + "Passive measurement mode"; + } + enum sp-tw-mode { + value 2; + description + "Two way statistics measurement mode"; + } + enum sp-ow-mode { + value 3; + description + "One way statistics measurement mode"; + } + enum sp-tgen-mode { + value 4; + description + "Traffic generation mode"; + } + enum sp-lb-mode { + value 5; + description + "Loopback measurement mode"; + } + } + description + "IP SLA service performance operation mode"; + } + + typedef sla-sp-traffic-class { + type enumeration { + enum tc-none { + value 0; + description + "No traffic class"; + } + enum tc-cir { + value 1; + description + "Committed information rate"; + } + enum tc-eir { + value 2; + description + "Excess information rate"; + } + enum tc-abv-eir { + value 3; + description + "Above excess information rate"; + } + } + description + "IP SLA service performance operation traffic class"; + } + + typedef sla-sp-throughput-type { + type enumeration { + enum tput-prog { + value 0; + description + "Throughput measurement is in progress"; + } + enum tput-undef { + value 1; + description + "Throughput measurement is undefined"; + } + enum tput-val { + value 2; + description + "Throughput value"; + } + } + description + "IP SLA service performance throughput type"; + } + + typedef sla-sp-client-type { + type enumeration { + enum clnt-unknown { + value 0; + description + "Unknown client type"; + } + enum clnt-ip { + value 1; + description + "IP client type"; + } + enum clnt-eth { + value 2; + description + "Ethernet client type"; + } + } + description + "IP SLA service performance client type"; + } + + typedef sla-sp-duration-type { + type enumeration { + enum type-dur { + value 0; + description + "Test duration in seconds"; + } + enum type-pkts { + value 1; + description + "Test duration in packets"; + } + } + description + "IP SLA service performance duration type"; + } + + grouping sla-time-values { + description + "SLA time values"; + leaf min { + type uint32; + description + "Minimum value reading"; + } + leaf avg { + type uint32; + description + "Average value reading"; + } + leaf max { + type uint32; + description + "Maximum value reading"; + } + leaf accuracy { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Reading accuracy"; + } + } + + grouping sla-time-sum-values { + description + "SLA time sum values"; + leaf num { + type uint32; + description + "Number value reading"; + } + leaf sum { + type uint32; + description + "Sum value reading"; + } + leaf sum-square { + type uint64; + description + "Sum square value reading"; + } + leaf accuracy { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Reading accuracy"; + } + } + + grouping sla-packet-loss-info { + description + "SLA packet loss information"; + leaf loss-period-count { + type uint32; + description + "Loss period count"; + } + leaf loss-period-len-min { + type uint32; + description + "Shortest loss period length"; + } + leaf loss-period-len-max { + type uint32; + description + "Longest loss period length"; + } + leaf inter-loss-period-len-min { + type uint32; + description + "Shortest inter loss period length"; + } + leaf inter-loss-period-len-max { + type uint32; + description + "Longest inter loss period length"; + } + } + + grouping voice-score { + description + "Voice quality assessment info"; + leaf icpif { + type uint32; + description + "Calculated planning impairment factor"; + } + leaf mos { + type uint32; + description + "Mean opinion score"; + } + } + + grouping latest-rtt-type { + description + "Latest round-trip-time information"; + choice latestrtt-choice { + description + "Last Round Trip Time recorded for this SLA"; + case rtt-known { + leaf rtt { + type uint64; + description + "Round trip time value"; + } + } + case rtt-unknown { + leaf unknown { + type empty; + description + "Round trip time is unknown"; + } + } + case rtt-could-not-find { + leaf could-not-find { + type empty; + description + "Round trip time could not be determined"; + } + } + } + } + + grouping time-to-live-type { + description + "Latest time to live information"; + choice timetolive-choice { + description + "For the timetolive-choice item, ip sla items + can be configured to have a set (finite) time-to-live, or + they can just be configured to go forever."; + case ttl-finite { + leaf ttl { + type uint64; + description + "Time to live value"; + } + } + case ttl-forever { + leaf forever { + type empty; + description + "Time to live unbound"; + } + } + } + } + + grouping rtt-info { + description + "Round trip time information"; + container latest-rtt { + description + "The last Round Trip Time recorded for this SLA"; + uses ip-sla-ios-xe-oper:latest-rtt-type; + } + container time-to-live { + description + "Time-to-live for the SLA operation"; + uses ip-sla-ios-xe-oper:time-to-live-type; + } + } + + grouping y1731-interval-stats { + description + "Y.1731 internal statistics"; + leaf intv-start-time { + type yang:date-and-time; + description + "Interval start time"; + } + leaf init-count { + type uint32; + description + "Initial count"; + } + leaf complete-count { + type uint32; + description + "Complete count"; + } + leaf valid { + type boolean; + description + "Validity"; + } + leaf intv-end-time { + type yang:date-and-time; + description + "Interval end time"; + } + } + + grouping rtt { + description + "RTT information"; + leaf rtt-count { + type uint32; + description + "RTT count"; + } + container sla-time-values { + description + "Timing information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + } + + grouping oneway-latency { + description + "Latency information"; + leaf sample-count { + type uint32; + description + "Sample count"; + } + container sd { + description + "Source to Destination one way latency + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container ds { + description + "Destination to Source one way latency + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container sum-ow-sd { + description + "Source to Destination one way latency + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + container sum-ow-ds { + description + "Destination to Source one way latency + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + } + + grouping jitter { + description + "Jitter information"; + leaf sd-sample-count { + type uint32; + description + "Sample count"; + } + leaf ds-sample-count { + type uint32; + description + "Sample count"; + } + container sd { + description + "Source to Destination Jitter information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container ds { + description + "Destination to Source Jitter information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container pos-jitter-sd { + description + "Source to Destination Positive Jitter + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container sum-pos-jitter-sd { + description + "Source to Destination Positive jitter + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + container neg-jitter-sd { + description + "Source to Destination Negative jitter + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container sum-neg-jitter-sd { + description + "Source to Destination Negative jitter + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + container pos-jitter-ds { + description + "Destination to Source Positive jitter + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container sum-pos-jitter-ds { + description + "Destination to Source Positive jitter + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + container neg-jitter-ds { + description + "Destination to Source Negative jitter + information"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container sum-neg-jitter-ds { + description + "Destination to Source Negative jitter + sum information"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + leaf inter-arrival-jitter-out { + type uint32; + description + "Interarrival jitterout information"; + } + leaf inter-arrival-jitter-in { + type uint32; + description + "Interarrival jitterin information"; + } + leaf avg-jitter { + type uint32; + description + "Average Jitter"; + } + } + + grouping over-threshold { + description + "Over the threshold information"; + leaf rtt-count { + type uint32; + description + "Round Trip Time (RTT) over threshold count + (the number of times that the RTT was over the configured + threshold)"; + } + leaf percent { + type uint8; + description + "Round Trip Time over threshold percentage + (the percentage that the RTT was over the configured threshold)"; + } + } + + grouping packet-loss { + description + "Packet loss information"; + leaf unprocessed-packets { + when "(../../../oper-type='oper-type-ethernet-jitter') or (../../../oper-type='oper-type-ethernet-echo')"; + type uint32; + description + "Unprocessed packet count"; + } + leaf sd-count { + type uint32; + description + "Number of packets lost from Source to Destination"; + } + container sd-loss { + when "(../../../oper-type!='oper-type-ethernet-jitter') and (../../../oper-type!='oper-type-ethernet-echo')"; + description + "Source to Destination packet loss details"; + uses ip-sla-ios-xe-oper:sla-packet-loss-info; + } + leaf ds-count { + type uint32; + description + "Number of packets lost from Destination to Source"; + } + container ds-loss { + when "(../../../oper-type!='oper-type-ethernet-jitter') and (../../../oper-type!='oper-type-ethernet-echo')"; + description + "Destination to Source packet loss details"; + uses ip-sla-ios-xe-oper:sla-packet-loss-info; + } + leaf out-of-sequence { + type uint32; + description + "Out of sequence packet count"; + } + leaf drops { + type uint32; + description + "Dropped packet count"; + } + leaf late-arrivals { + type uint32; + description + "Late arrival packet count"; + } + leaf skipped-packets { + type uint32; + description + "Skipped packet count"; + } + } + + grouping icmp-packet-loss { + description + "ICMP packet loss information"; + leaf late-arrivals { + type uint32; + description + "Late arrival packet count"; + } + leaf out-of-sequence { + type uint32; + description + "Out of sequence packet count"; + } + leaf out-of-sequence-sd { + type uint32; + description + "Out of sequence packet count in source to + destination direction"; + } + leaf out-of-sequence-ds { + type uint32; + description + "Out of sequence packet count in destination to + source direction"; + } + leaf out-of-sequence-both { + type uint32; + description + "Out of sequence packet count in both directions"; + } + leaf skipped-packets { + type uint32; + description + "Skipped packet count"; + } + leaf unprocessed-packets { + type uint32; + description + "Unprocessed packet count"; + } + leaf packet-loss { + type uint32; + description + "Lost packet count"; + } + leaf loss-period-count { + type uint32; + description + "Loss period count"; + } + leaf loss-period-len-min { + type uint32; + description + "Shortest loss period length"; + } + leaf loss-period-len-max { + type uint32; + description + "Longest loss period length"; + } + leaf inter-loss-period-len-min { + type uint32; + description + "Shortest inter loss period length"; + } + leaf inter-loss-period-len-max { + type uint32; + description + "Longest inter loss period length"; + } + } + + grouping http-rtt-stats { + description + "HTTP Specific statistics information"; + leaf status-code { + type uint32; + description + "HTTP status code"; + } + leaf dns-rtt { + type uint32; + description + "Latest DNS RTT"; + } + leaf tcp-rtt { + when "(../../../../oper-type!='oper-type-https')"; + type uint32; + description + "Latest TCP Connection RTT"; + } + leaf time-to-first-byte { + when "(../../../../oper-type!='oper-type-https')"; + type uint32; + description + "Latest HTTP time to first byte"; + } + leaf transaction-rtt { + type uint32; + description + "Latest HTTP Transaction RTT"; + } + leaf message-size { + when "(../../../../oper-type!='oper-type-https')"; + type uint32; + description + "Latest HTTP Message Size"; + } + leaf entity-body-size { + type uint32; + description + "Latest HTTP Entity-Body size"; + } + } + + grouping http-error-stats { + description + "HTTP specific error statistics information"; + leaf transaction-error { + type uint32; + description + "Number of HTTP transaction errors occurred"; + } + leaf tcp-error { + when "(../../../../oper-type!='oper-type-https')"; + type uint32; + description + "Number of TCP errors occurred"; + } + leaf dns-error { + type uint32; + description + "Number of DNS errors occurred"; + } + leaf transaction-timeout { + type uint32; + description + "Number of HTTP transaction timeout occurred"; + } + leaf tcp-timeout { + when "(../../../../oper-type!='oper-type-https')"; + type uint32; + description + "Number of TCP timeout occurred"; + } + leaf dns-timeout { + type uint32; + description + "Number of DNS timeout occurred"; + } + } + + grouping http-stats-info { + description + "IP SLA HTTP statistics information"; + container http-stats { + description + "HTTP specific statistics information"; + uses ip-sla-ios-xe-oper:http-rtt-stats; + } + container http-errors { + description + "HTTP specific error information"; + uses ip-sla-ios-xe-oper:http-error-stats; + } + } + + grouping sla-y1731-delay-time-values { + description + "IP SLA Y1731 delay/jitter data information"; + leaf valid-delay-values { + type boolean; + description + "Delay data validity information, when it is + true, it means that the number of observations, + minimum, maximum and average values are filled + with valid values"; + } + leaf num-of-observations { + when "(../valid-delay-values='true')"; + type uint32; + description + "Number of observations"; + } + leaf min-value { + when "(../valid-delay-values='true')"; + type uint64; + units "microseconds"; + description + "Minimum delay value observed"; + } + leaf avg-value { + when "(../valid-delay-values='true')"; + type uint64; + units "microseconds"; + description + "Average delay value observed"; + } + leaf max-value { + when "(../valid-delay-values='true')"; + type uint64; + units "microseconds"; + description + "Maximum delay value observed"; + } + leaf time-of-occurrence-of-min-value { + when "(../valid-delay-values='true')"; + type yang:date-and-time; + description + "Time of occurence of the minimum delay value"; + } + leaf time-of-occurrence-of-max-value { + when "(../valid-delay-values='true')"; + type yang:date-and-time; + description + "Time of occurence of the maximum delay value"; + } + } + + grouping sla-y1731-delay-bin-range-values { + description + "IP SLA Y1731 delay distribution bin + data information"; + leaf valid-bin-data { + type boolean; + description + "Bin data validity information, when it is + true, it means that the lower, upper and number of + observation values are filled with valid values"; + } + leaf lower-bin-range { + when "(../valid-bin-data='true')"; + type uint32; + units "microseconds"; + description + "Lower bin range"; + } + leaf upper-bin-range { + when "(../valid-bin-data='true')"; + type uint32; + units "microseconds"; + description + "Upper bin range"; + } + leaf num-of-bin-observations { + when "(../valid-bin-data='true')"; + type uint32; + description + "Number of observations with in the lower and + upper bin range"; + } + } + + grouping sla-y1731-delay-bin-values { + description + "IP SLA Y1731 delay bin information"; + leaf valid-bin-values { + type boolean; + description + "Bin values validity information, when it is + true, it means that all the bin ranges of the particular bin + are filled with valid values"; + } + container distribution-bin-range-1 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 1, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-2 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 2, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-3 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 3, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-4 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 4, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-5 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 5, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-6 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 6, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-7 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 7, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-8 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 8, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-9 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 9, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + container distribution-bin-range-10 { + when "(../valid-bin-values='true')"; + description + "Y1731 Distribution bin range 10, which has the lower, upper + boundary values and the corresponding observations"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-range-values; + } + } + + grouping sla-y1731-delay-stats-delay-type { + description + "IP SLA Y1731 Delay operation delay types"; + container forward-delay { + description + "Y1731 forward delay type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container backward-delay { + description + "Y1731 backward delay type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container two-way-delay { + description + "Y1731 two way delay type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + } + + grouping sla-y1731-delay-stats-jitter-type { + description + "IP SLA Y1731 Delay operation jitter types"; + container forward-positive-jitter { + description + "Y1731 forward positive jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container forward-negative-jitter { + description + "Y1731 forward negative jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container backward-positive-jitter { + description + "Y1731 backward positive jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container backward-negative-jitter { + description + "Y1731 backward negative jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container two-way-positive-jitter { + description + "Y1731 two way positive jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + container two-way-negative-jitter { + description + "Y1731 two way negative jitter type"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-time-values; + } + } + + grouping sla-y1731-delay-stats-delay-bin-type { + description + "IP SLA Y1731 Delay operation(s) delay + distribution bin types"; + container forward-delay-bin { + description + "Bin which contains the forward delay + information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container backward-delay-bin { + description + "Bin which contains the backward delay + information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container two-way-delay-bin { + description + "Bin which contains the two way delay + information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + } + + grouping sla-y1731-delay-stats-jitter-bin-type { + description + "IP SLA Y1731 Delay operation(s) Jitter + distribution bin types"; + container forward-positive-jitter-bin { + description + "Bin which contains the forward positive + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container forward-negative-jitter-bin { + description + "Bin which contains the forward negative + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container backward-positive-jitter-bin { + description + "Bin which contains the backward positive + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container backward-negative-jitter-bin { + description + "Bin which contains the backward negative + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container two-way-positive-jitter-bin { + description + "Bin which contains the two way positive + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + container two-way-negative-jitter-bin { + description + "Bin which contains the two way negative + jitter information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-bin-values; + } + } + + grouping sla-y1731-delay-stats { + description + "IP SLA Y1731 Delay operation(s) statistics + information"; + container y1731-delay-stats-delay-info { + description + "IP SLA Y1731 Delay operation(s) delay + related statistics information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-delay-type; + } + container y1731-delay-stats-jitter-info { + description + "IP SLA Y1731 Delay operation(s) jitter + related statistics information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-jitter-type; + } + container y1731-delay-stats-delay-bin-info { + description + "IP SLA Y1731 Delay operation(s) delay + statistics distribution information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-delay-bin-type; + } + container y1731-delay-stats-jitter-bin-info { + description + "IP SLA Y1731 Delay operation(s) jitter + statistics distribution information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-jitter-bin-type; + } + } + + grouping sla-frame-loss-ratio { + description + "Frame loss ratio"; + leaf min-frame-loss-numbers { + type string; + description + "Minimum frame loss numbers + (packets lost : packets transmitted)"; + } + leaf avg-frame-loss-ratio { + type string; + description + "Average frame ration loss ratio"; + } + leaf max-frame-loss-numbers { + type string; + description + "Maximum frame loss numbers + (packets lost : packets transmitted)"; + } + } + + grouping sla-y1731-loss-stats-values { + description + "IP SLA Y1731 loss operation(s) statistics + types"; + leaf num-of-obs { + type uint64; + description + "Number of observations"; + } + leaf num-of-available-indicators { + type uint64; + description + "Number of available indicators"; + } + leaf num-of-unavailable-indicators { + type uint64; + description + "Number of unavailable indicators"; + } + leaf tx-frames { + type uint64; + description + "Transmitted frames count"; + } + leaf rx-frames { + type uint64; + description + "Received frames count"; + } + container frame-loss-ratio { + description + "Frame loss minimum/maximum numbers and frame + loss ratio (FLR) percentage. (min/FLR%/max)"; + uses ip-sla-ios-xe-oper:sla-frame-loss-ratio; + } + leaf cum-frame-loss-ratio { + type string; + description + "Cumulative frame loss ratio percentage"; + } + leaf min-loss-observed-time { + type yang:date-and-time; + description + "Time at which the minimum frame loss + observed"; + } + leaf max-loss-observed-time { + type yang:date-and-time; + description + "Time at which the maximum frame loss + observed"; + } + } + + grouping sla-y1731-loss-stats { + description + "IP SLA Y1731 Loss operation(s) loss statistics + information"; + container forward-loss-stats { + description + "IP SLA Y1731 Loss operation(s) forward loss + statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-loss-stats-values; + } + container backward-loss-stats { + description + "IP SLA Y1731 Loss operation(s) backward loss + statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-loss-stats-values; + } + } + + grouping y1731-stats { + description + "IPSLA Y1731 operation(s) specific statistics + information"; + container y1731-delay-stats { + when "(../../../oper-type='oper-type-y1731-delay')"; + description + "Y1731 Delay operation(s) specific + RTT information"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats; + } + container y1731-loss-stats { + when "(../../../oper-type='oper-type-y1731-loss')"; + description + "Y1731 Loss operation(s) specific + RTT information"; + uses ip-sla-ios-xe-oper:sla-y1731-loss-stats; + } + } + + grouping common-err-stats { + description + "SLA common errors related information"; + leaf no-of-disconnects { + type uint32; + description + "Number of operations failed due to + disconnect"; + } + leaf no-of-timeouts { + type uint32; + description + "Number of operations failed due to + timeout"; + } + leaf no-of-busies { + type uint32; + description + "Number of operations failed due to + resource busy"; + } + leaf no-of-no-connections { + type uint32; + description + "Number of operations failed due to + no connection to the destination"; + } + leaf no-of-internal-errors { + type uint32; + description + "Number of operations failed due to + internal errors"; + } + leaf no-of-sequence-errors { + type uint32; + description + "Number of operations failed due to + sequence number errors"; + } + leaf no-of-verify-errors { + type uint32; + description + "Number of operations failed due to + verification errors"; + } + leaf no-of-ctrl-enable-errors { + type uint32; + description + "Number of operations failed due to + control enable errors"; + } + leaf no-of-stats-retrieve-errors { + type uint32; + description + "Number of operations failed due to + errors during statistics retrieval"; + } + } + + grouping sla-percentile-value { + description + "Percentile values"; + leaf percentile-samples { + type uint32; + description + "Number of percentile samples"; + } + container percentile-values { + description + "Percentile time values"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + } + + grouping percentile-ow-latency { + description + "Percentile one-way latency information"; + container percentile-ow-sd { + description + "Source to destination percentile one-way + latency information"; + uses ip-sla-ios-xe-oper:sla-percentile-value; + } + container percentile-ow-ds { + description + "Destination to source percentile one-way + latency information"; + uses ip-sla-ios-xe-oper:sla-percentile-value; + } + } + + grouping percentile-jitter { + description + "Percentile jitter information"; + container percentile-jitter-sd { + description + "Source to destination percentile jitter + information"; + uses ip-sla-ios-xe-oper:sla-percentile-value; + } + container percentile-jitter-ds { + description + "Destination to source percentile jitter + information"; + uses ip-sla-ios-xe-oper:sla-percentile-value; + } + } + + grouping percentile-stats { + description + "Percentile statistics information"; + container percentile-rtt-stats { + description + "Percentile RTT related information"; + uses ip-sla-ios-xe-oper:sla-percentile-value; + } + container percentile-ow-stats { + description + "Percentile one way latency related + information"; + uses ip-sla-ios-xe-oper:percentile-ow-latency; + } + container percentile-jitter-stats { + description + "Percentile jitter related information"; + uses ip-sla-ios-xe-oper:percentile-jitter; + } + } + + grouping mcast-ow-latency { + description + "Multicast one-way latency information"; + leaf ow-samples { + type uint32; + description + "Number of multicast one-way samples"; + } + leaf min-ow-value { + type uint32; + description + "Minimum one-way latency value"; + } + leaf avg-ow-value { + type uint32; + description + "Average one-way latency value"; + } + leaf max-ow-value { + type uint32; + description + "Maximum one-way latency value"; + } + leaf sum-ow-value { + type uint32; + description + "Sum of all the one-way latency values"; + } + leaf sum-squares-ow-value { + type uint64; + description + "Sum of squares of all the one-way latency values"; + } + leaf accuracy-type { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Accuracy type of the one-way latency information"; + } + leaf ntp-sync-state { + type ip-sla-ios-xe-oper:ntp-sync-state; + description + "NTP sync information"; + } + } + + grouping mcast-rfc-5481-ipdv { + description + "Multicast Inter Packet Delay variation RFC 5481 + related information"; + leaf ipdv-samples { + type uint32; + description + "Number of IPDV Samples"; + } + container ipdv-sd { + description + "Minimum/Average/Maximum IPDV values in source to destination + direction"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container ipdv-pos-sd { + description + "Positive Inter Packet Delay Variation information + in source to destination direction"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container ipdv-pos-sum-sd { + description + "Positive Inter Packet Delay Variation Sum/Sum + square information in source to destination direction"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + container ipdv-neg-sd { + description + "Negative Inter Packet Delay Variation information + in source to destination direction"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container ipdv-neg-sum-sd { + description + "Negative Inter Packet Delay Variation Sum/Sum + square information in source to destination direction"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + } + + grouping mcast-pkt-loss { + description + "Multicast packet loss related information"; + leaf packet-mia { + type uint32; + description + "Number of packets lost for which the direction + is not known"; + } + leaf packet-loss-sd { + type uint32; + description + "Packets lost in source to destination + direction"; + } + leaf out-of-seq { + type uint32; + description + "Packets which are received in out of + sequence"; + } + leaf tail-drop { + type uint32; + description + "Number of Tail drops"; + } + leaf duplicate-seq-no-count { + type uint32; + description + "Number of packets which are having duplicate + sequence numbers"; + } + } + + grouping mcast-stats { + description + "Multicast operation specific statistics + information"; + leaf mcast-id { + type uint32; + description + "Multicast Operation ID"; + } + leaf mcast-addr { + type inet:ip-address; + description + "IP Multicast address of the operation"; + } + leaf dest-addr { + type inet:ip-address; + description + "Destination IP address of the Multicast + operation"; + } + leaf dest-port { + type uint32; + description + "Destination port number of the Multicast + operation"; + } + container mcast-ow-latency { + description + "Multicast one-way latency statistics"; + uses ip-sla-ios-xe-oper:mcast-ow-latency; + } + container mcast-ipdv { + description + "Multicast Inter Packet Delay Variation (IPDV) + statistics"; + uses ip-sla-ios-xe-oper:mcast-rfc-5481-ipdv; + } + leaf mcast-inter-jitter { + type uint32; + description + "Multicast Inter Arrival Jitter statistics"; + } + container mcast-pkt-loss { + description + "Multicast Packet loss statistics"; + uses ip-sla-ios-xe-oper:mcast-pkt-loss; + } + container mcast-voice-score { + description + "Multicast voice score statistics"; + uses ip-sla-ios-xe-oper:voice-score; + } + } + + grouping stats { + description + "Statistics"; + container rtt { + when "(../../oper-type!='oper-type-http') + and (../../oper-type!='oper-type-https') + and (../../oper-type!='oper-type-y1731-delay') + and (../../oper-type!='oper-type-y1731-loss') + and (../../oper-type!='oper-type-mcast')"; + description + "RTT information"; + uses ip-sla-ios-xe-oper:rtt; + } + container oneway-latency { + when "(../../oper-type='oper-type-udp-jitter') + or (../../oper-type='oper-type-icmp-jitter')"; + description + "One way latency information"; + uses ip-sla-ios-xe-oper:oneway-latency; + } + container jitter { + when "(../../oper-type='oper-type-udp-jitter') + or (../../oper-type='oper-type-icmp-jitter')"; + description + "Jitter information"; + uses ip-sla-ios-xe-oper:jitter; + } + container over-threshold { + when "(../../oper-type!='oper-type-ethernet-echo') + and (../../oper-type!='oper-type-http') + and (../../oper-type!='oper-type-https') + and (../../oper-type!='oper-type-mcast')"; + description + "Over threshold information"; + uses ip-sla-ios-xe-oper:over-threshold; + } + container packet-loss { + when "(../../oper-type='oper-type-udp-jitter')"; + description + "Packet loss information"; + uses ip-sla-ios-xe-oper:packet-loss; + } + container icmp-packet-loss { + when "(../../oper-type='oper-type-icmp-jitter')"; + description + "ICMP packet loss information"; + uses ip-sla-ios-xe-oper:icmp-packet-loss; + } + container voice-score { + when "(../../oper-type='oper-type-udp-jitter')"; + description + "Voice score information"; + uses ip-sla-ios-xe-oper:voice-score; + } + container http-specific-stats { + when "(../../oper-type='oper-type-http') + or (../../oper-type='oper-type-https')"; + description + "HTTP specific statistics information"; + uses ip-sla-ios-xe-oper:http-stats-info; + } + container y1731-specific-stats { + when "(../../oper-type='oper-type-y1731-delay') + or (../../oper-type='oper-type-y1731-loss')"; + description + "Y1731 specific statistics information"; + uses ip-sla-ios-xe-oper:y1731-stats; + } + container multicast-stats { + when "(../../oper-type='oper-type-mcast')"; + description + "IP SLA Multicast Jitter statistics + information"; + uses ip-sla-ios-xe-oper:mcast-stats; + } + container percentile-stats { + when "(../../oper-type='oper-type-udp-jitter') + or (../../oper-type='oper-type-icmp-jitter')"; + description + "IP SLA jitter operation(s) percentile + statistics information"; + uses ip-sla-ios-xe-oper:percentile-stats; + } + } + + grouping sla-oper-entry { + description + "SLA operational data entry"; + leaf oper-id { + type uint32; + description + "Entry unique identifier"; + } + leaf oper-type { + type ip-sla-ios-xe-oper:sla-oper-type; + description + "Entry type"; + } + leaf latest-return-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "Latest return code"; + } + leaf success-count { + when "(../oper-type!='oper-type-y1731-delay') + and (../oper-type!='oper-type-y1731-loss') + and (../oper-type!='oper-type-lsp-trace')"; + type uint32; + description + "Success count"; + } + leaf failure-count { + when "(../oper-type!='oper-type-y1731-delay') + and (../oper-type!='oper-type-y1731-loss') + and (../oper-type!='oper-type-lsp-trace')"; + type uint32; + description + "Failure count"; + } + leaf latest-oper-start-time { + type yang:date-and-time; + description + "Latest start time"; + } + container rtt-info { + when "(../oper-type!='oper-type-y1731-delay') + and (../oper-type!='oper-type-y1731-loss') + and (../oper-type!='oper-type-mcast')"; + description + "Latest RTT information"; + uses ip-sla-ios-xe-oper:rtt-info; + } + container measure-stats { + when "(../oper-type='oper-type-y1731-delay') + or (../oper-type='oper-type-y1731-loss')"; + description + "Measured statistics"; + uses ip-sla-ios-xe-oper:y1731-interval-stats; + } + container stats { + when "(../oper-type='oper-type-udp-jitter') + or (../oper-type='oper-type-icmp-jitter') + or (../oper-type='oper-type-ethernet-jitter') + or (../oper-type='oper-type-ethernet-echo') + or (../oper-type='oper-type-mcast') + or (../oper-type='oper-type-http') + or (../oper-type='oper-type-https') + or (../oper-type='oper-type-y1731-delay') + or (../oper-type='oper-type-y1731-loss')"; + description + "Statistics"; + uses ip-sla-ios-xe-oper:stats; + } + leaf threshold-occured { + type boolean; + description + "Threshold occured status"; + } + container common-stats { + when "(../oper-type!='oper-type-y1731-loss') + and (../oper-type!='oper-type-y1731-delay') + and (../oper-type!='oper-type-lsp-trace') + and (../oper-type!='oper-type-path-echo') + and (../oper-type!='oper-type-path-jitter')"; + description + "IP SLA operation(s) common error + statistics"; + uses ip-sla-ios-xe-oper:common-err-stats; + } + } + + grouping sla-err-stats-key { + description + "Key for the IPSLA error statistics data."; + leaf oper-id { + type uint32; + description + "Operation ID"; + } + leaf start-time-id { + type uint64; + description + "Operation start time."; + } + leaf path-index { + type uint32; + description + "Path index of the operation."; + } + leaf hop-index { + type uint32; + description + "Hop index of the operation."; + } + } + + grouping sla-err-stats { + description + "IPSLA Error statistics data entry."; + leaf num-of-disconnects { + type uint32; + description + "Number of disconnects occurred."; + } + leaf num-of-timeouts { + type uint32; + description + "Number of timeouts occurred."; + } + leaf num-of-busies { + type uint32; + description + "Number of busies occurred."; + } + leaf num-of-no-connections { + type uint32; + description + "Number of no connection errors occurred."; + } + leaf num-of-drops { + type uint32; + description + "Number of drops."; + } + leaf num-of-sequence-errors { + type uint32; + description + "Number of sequence errors occurred."; + } + leaf num-of-verify-errors { + type uint32; + description + "Number of verification errors occurred."; + } + leaf target-address { + type inet:ip-address; + description + "Target address of the operation."; + } + leaf num-of-ctrl-enable-errors { + type uint32; + description + "Number of control enable errors occured."; + } + leaf num-of-stats-retrieve-errors { + type uint32; + description + "Number of statistics retrieve errors occured."; + } + } + + grouping sla-total-stats-key { + description + "Key for the IPSLA error statistics data."; + leaf oper-id { + type uint32; + description + "Operation ID"; + } + leaf start-time-id { + type uint64; + description + "Operation start time."; + } + } + + grouping sla-total-stats-entry { + description + "IPSLA Error statistics data entry."; + leaf total-elapsed-time { + type uint64; + description + "Length of the time since this entry was created."; + } + leaf total-initiations { + type uint32; + description + "The number of RTT operations that + have been initiated."; + } + } + + grouping path-echo-stats-entry { + description + "IPSLA Path Echo operation latest statistics"; + leaf hop-address { + type inet:ip-address; + description + "Hop IPv4/IPv6 address"; + } + leaf latest-start-time { + type yang:date-and-time; + description + "Latest operation start time. This is the + time at which the last RTT measurement was initiated"; + } + leaf latest-return-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "Latest return code"; + } + container latest-rtt { + description + "Latest RTT information"; + uses ip-sla-ios-xe-oper:rtt-info; + } + leaf success-count { + type uint32; + description + "Success count"; + } + leaf failure-count { + type uint32; + description + "Failure count"; + } + leaf over-threshold-occurred { + type boolean; + description + "Threshold occurred status"; + } + container common-error-stats { + description + "Common error statistics"; + uses ip-sla-ios-xe-oper:common-err-stats; + } + } + + grouping path-echo-stats-key { + description + "IPSLA Path Echo operation key information"; + leaf oper-id { + type uint32; + description + "Operation ID"; + } + leaf path-id { + type uint8; + description + "Path ID"; + } + leaf hop-id { + type uint8; + description + "Hop ID"; + } + } + + grouping rtt-stats { + description + "Latest RTT statistics"; + container latest-rtt-value { + description + "Latest RTT value"; + uses ip-sla-ios-xe-oper:rtt; + } + leaf sum-of-rtt { + type uint32; + description + "Sum of RTTs"; + } + leaf sum-of-square-of-rtt { + type uint64; + description + "Sum of squares of the RTTs"; + } + } + + grouping jitter-stats-type { + description + "Latest jitter statistics"; + leaf count { + type uint32; + description + "Number of jitter samples"; + } + container jitter-values { + description + "Latest minimum, maximum and average jitter"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container jitter-sum-values { + description + "Latest sum and sum of squares of the jitter"; + uses ip-sla-ios-xe-oper:sla-time-sum-values; + } + } + + grouping path-jitter-stats { + description + "Latest jitter statistics"; + leaf jitter-count { + type uint32; + description + "Number of jitter samples"; + } + container jitter-stats { + description + "Latest jitter statistics"; + uses ip-sla-ios-xe-oper:sla-time-values; + } + container positive-jitter-stats { + description + "Latest positive jitter statistics"; + uses ip-sla-ios-xe-oper:jitter-stats-type; + } + container negative-jitter-stats { + description + "Latest negative jitter statistics"; + uses ip-sla-ios-xe-oper:jitter-stats-type; + } + } + + grouping packet-loss-stats { + description + "Latest packet loss statistics"; + leaf timeouts { + type uint32; + description + "Number of timeouts occurred"; + } + leaf packet-loss-count { + type uint32; + description + "Number of packets lost"; + } + leaf out-of-sequence-count { + type uint32; + description + "Number of packets received out of + sequence"; + } + leaf discarded-sample-count { + type uint32; + description + "Number of discarded packets"; + } + } + + grouping path-jitter-stats-entry { + description + "IPSLA Path Jitter operation latest statistics + information"; + leaf hop-address { + type inet:ip-address; + description + "Hop IPv4/IPv6 address"; + } + leaf latest-start-time { + type yang:date-and-time; + description + "Latest operation start time. This is the + time at which the last RTT measurement was initiated"; + } + leaf latest-return-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "Latest return code"; + } + container latest-rtt { + description + "Latest Round Trip Time value"; + uses ip-sla-ios-xe-oper:rtt-info; + } + container latest-rtt-stats { + description + "Latest minimum, maximum and average RTT values"; + uses ip-sla-ios-xe-oper:rtt-stats; + } + container latest-jitter-stats { + description + "Latest jitter information"; + uses ip-sla-ios-xe-oper:path-jitter-stats; + } + container latest-packet-loss-stats { + description + "Latest packet loss information"; + uses ip-sla-ios-xe-oper:packet-loss-stats; + } + } + + grouping path-jitter-stats-key { + description + "IPSLA Path Jitter operation key information"; + leaf oper-id { + type uint32; + description + "Operation ID"; + } + leaf hop-id { + type uint8; + description + "Hop ID"; + } + } + + grouping sla-dist-stats { + description + "IPSLA Round-trip time distribution statistics"; + leaf dist-id { + type uint16; + description + "Distribution range identifier"; + } + leaf lower-limit { + type uint32; + description + "Lower limit of the distribution range"; + } + leaf upper-limit { + type uint32; + description + "Upper limit of the distribution range"; + } + leaf avg-latency { + type uint32; + description + "Average latency"; + } + leaf percent-of-total-comp { + type uint32; + description + "Percent of total completions for this range"; + } + leaf num-of-comp { + type uint32; + description + "Number of completions with in this range"; + } + leaf sum-of-rtt { + type uint32; + description + "Sum of round-trip time with in this range"; + } + leaf sum-of-rtt-squared { + type uint64; + description + "Sum of square of round-trip time with in this range"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + leaf accuracy { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Reading accuracy"; + } + } + + grouping sla-agg-stats-key { + description + "IPSLA aggregated statistics key"; + leaf oper-id { + type uint32; + description + "IPSLA operation identifier"; + } + leaf hour-id { + type uint32; + description + "IPSLA statistics hour identifier"; + } + } + + grouping sla-icmp-echo-agg-stats { + description + "IPSLA ICMP-echo aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + container rtt-stats { + description + "IPSLA ICMP-echo operation round-trip time statistics"; + uses ip-sla-ios-xe-oper:rtt; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping voice-score-stats { + description + "IPSLA voice score statistics"; + leaf min-of-icpif { + type uint32; + description + "The lowest (minimum) ICPIF value computed for the + collected statistics"; + } + leaf max-of-icpif { + type uint32; + description + "The highest (maximum) ICPIF value computed for + the collected statistics"; + } + leaf min-of-mos { + type uint32; + description + "The lowest (minimum) MOS (Mean Opinion Score) value computed for the + collected statistics. MOS values are represented in hundreds. If the + MOS value is 4.40, then it will be displayed as 440"; + } + leaf max-of-mos { + type uint32; + description + "The highest (maximum) MOS (Mean Opinion Score) value computed for the + collected statistics. MOS values are represented in hundreds. If the + MOS value is 4.40, then it will be displayed as 440"; + } + } + + grouping out-of-seq-stats { + description + "IPSLA out of sequence statistics"; + leaf total-out-of-seq { + type uint32; + description + "The total number of packets returned out of order"; + } + leaf out-of-seq-sd { + type uint32; + description + "The number of packets returned out of order in source + to destination direction"; + } + leaf out-of-seq-ds { + type uint32; + description + "The number of packets returned out of order in destination + to source direction"; + } + leaf out-of-seq-both { + type uint32; + description + "The number of packets returned out of order in both + source to destination and destination to source direction"; + } + } + + grouping udp-jitter-packet-loss { + description + "IPSLA UDP-jitter operation packet loss statistics"; + leaf sd-count { + type uint32; + description + "Number of packets lost from source to destination"; + } + container sd-loss { + description + "Source to destination packet loss details"; + uses ip-sla-ios-xe-oper:sla-packet-loss-info; + } + leaf ds-count { + type uint32; + description + "Number of packets lost from destination to source"; + } + container ds-loss { + description + "Destination to source packet loss details"; + uses ip-sla-ios-xe-oper:sla-packet-loss-info; + } + leaf out-of-sequence { + type uint32; + description + "Out of sequence packet count"; + } + leaf drops { + type uint32; + description + "Dropped packet count"; + } + leaf late-arrivals { + type uint32; + description + "Late arrival packet count"; + } + leaf skipped-packets { + type uint32; + description + "Skipped packet count"; + } + } + + grouping icmp-jitter-packet-loss { + description + "IPSLA ICMP-jitter operation packet loss statistics"; + leaf count { + type uint32; + description + "Number of packets lost"; + } + container packet-loss { + description + "Packet loss statistics"; + uses ip-sla-ios-xe-oper:sla-packet-loss-info; + } + } + + grouping sla-icmp-jitter-agg-stats { + description + "IPSLA ICMP-jitter operation aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + container rtt-stats { + description + "Round-trip time statistics"; + uses ip-sla-ios-xe-oper:rtt; + } + container oneway-stats { + description + "One-way latency statistics"; + uses ip-sla-ios-xe-oper:oneway-latency; + } + container jitter-stats { + description + "Jitter statistics"; + uses ip-sla-ios-xe-oper:jitter; + } + container over-thresh-stats { + description + "Over threshold statistics"; + uses ip-sla-ios-xe-oper:over-threshold; + } + container voice-stats { + description + "Voice score statistics"; + uses ip-sla-ios-xe-oper:voice-score-stats; + } + container loss-stats { + description + "Packet loss statistics"; + uses ip-sla-ios-xe-oper:icmp-jitter-packet-loss; + } + leaf late-arrivals { + type uint32; + description + "Late arrival packet count"; + } + leaf packet-skipped { + type uint32; + description + "Number of packets skipped"; + } + leaf packet-unprocessed { + type uint32; + description + "Number of packets unprocessed"; + } + container packet-out-of-seq-stats { + description + "Packet out of sequence statistics"; + uses ip-sla-ios-xe-oper:out-of-seq-stats; + } + leaf over-thresh-occurred { + type boolean; + description + "Over threshold occurred"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-udp-tcp-agg-stats { + description + "IPSLA TCP-connect and UDP-echo operations aggregated + statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-udp-jitter-agg-stats { + description + "IPSLA UDP-jitter operation aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + container rtt-stats { + description + "Round-trip time statistics"; + uses ip-sla-ios-xe-oper:rtt; + } + container oneway-stats { + description + "One-way latency statistics"; + uses ip-sla-ios-xe-oper:oneway-latency; + } + container jitter-stats { + description + "Jitter statistics"; + uses ip-sla-ios-xe-oper:jitter; + } + container over-thresh-stats { + description + "Over threshold statistics"; + uses ip-sla-ios-xe-oper:over-threshold; + } + container voice-stats { + description + "Voice score statistics"; + uses ip-sla-ios-xe-oper:voice-score-stats; + } + container loss-stats { + description + "Packet loss statistics"; + uses ip-sla-ios-xe-oper:udp-jitter-packet-loss; + } + leaf over-thresh-occurred { + type boolean; + description + "Over threshold occurred status"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-http-agg-stats { + description + "IPSLA HTTP operation aggregated statistics"; + leaf url { + type string; + description + "URL of the HTTP operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf dns-rtt { + type uint32; + description + "Sum of round-trip time taken for DNS resolution"; + } + leaf tcp-connect-rtt { + type uint32; + description + "Sum of round-trip time taken for TCP connection"; + } + leaf transaction-rtt { + type uint32; + description + "Sum of round-trip time taken for HTTP transaction"; + } + leaf time-to-first-byte { + type uint32; + description + "Sum of round-trip time taken to receive the first byte"; + } + leaf dns-timeout { + type uint32; + description + "Number of DNS timeout"; + } + leaf tcp-timeout { + type uint32; + description + "Number of TCP connection timeout"; + } + leaf transaction-timeout { + type uint32; + description + "Number of HTTP transaction timeout"; + } + leaf dns-error { + type uint32; + description + "Number of DNS error"; + } + leaf tcp-error { + type uint32; + description + "Number of TCP connection error"; + } + leaf transaction-error { + type uint32; + description + "Number of HTTP transaction error"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-https-agg-stats { + description + "IPSLA HTTPs operation aggregated statistics"; + leaf url { + type string; + description + "URL of the HTTPs operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf dns-rtt { + type uint32; + description + "Sum of round-trip time taken for DNS resolution"; + } + leaf transaction-rtt { + type uint32; + description + "Sum of round-trip time taken for HTTP transaction"; + } + leaf dns-timeout { + type uint32; + description + "Number of DNS timeout"; + } + leaf transaction-timeout { + type uint32; + description + "Number of HTTP transaction timeout"; + } + leaf dns-error { + type uint32; + description + "Number of DNS error"; + } + leaf transaction-error { + type uint32; + description + "Number of HTTP transaction error"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-dns-agg-stats { + description + "IPSLA DNS operation aggregated statistics"; + leaf name-server-addr { + type inet:ip-address; + description + "Name server address"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-dhcp-agg-stats { + description + "IPSLA DHCP operation aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-path-echo-agg-stats { + description + "IPSLA Path-echo operation aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + } + + grouping sla-ftp-agg-stats { + description + "IPSLA FTP operation aggregated statistics"; + leaf url { + type string; + description + "URL of the operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-lsp-agg-stats { + description + "IPSLA MPLS LSP ping and trace operations aggregated + statistics"; + leaf dest-addr { + type inet:ip-prefix; + description + "Destination address of the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-lsp-pseudo-ping-agg-stats { + description + "IPSLA MPLS pseudowire ping operation aggregated + statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf vccv-id { + type uint32; + description + "MPLS LSP pseudowire VCCV ID"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-mcast-agg-stats { + description + "IPSLA Multicast UDP-jitter operation aggregated statistics"; + leaf dest-addr { + type inet:ip-address; + description + "Destination address of the IPSLA operation"; + } + leaf dest-port { + type uint16; + description + "Destination port of the IPSLA operation"; + } + leaf edpt-list-name { + type string; + description + "Endpoint list name associated with the IPSLA operation"; + } + leaf vrf-name { + type string; + description + "Name of the VPN routing and forwarding instance + associated with the IPSLA operation"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + } + + grouping sla-mcast-dist-stats { + description + "IPSLA Multicast UDP-jitter Round-trip time distribution statistics"; + leaf dist-id { + type uint16; + description + "Distribution range identifier"; + } + leaf lower-limit { + type uint32; + description + "Lower limit of the distribution range"; + } + leaf upper-limit { + type uint32; + description + "Upper limit of the distribution range"; + } + leaf avg-latency { + type uint32; + description + "Average latency"; + } + leaf percent-of-total-comp { + type uint32; + description + "Percent of total completions for this range"; + } + leaf num-of-comp { + type uint32; + description + "Number of completions with in this range"; + } + leaf sum-of-latency { + type uint32; + description + "Sum of latency with in this range"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + leaf accuracy { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Reading accuracy"; + } + } + + grouping sla-mcast-stats { + description + "IPSLA multicast UDP-jitter operation endpoint aggregated + statistics"; + leaf mcast-id { + type uint32; + description + "Multicast operation identifier"; + } + leaf mcast-endpoint-addr { + type inet:ip-address; + description + "Multicast endpoint address"; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of the aggregated statistics"; + } + container ow-stats { + description + "One-way latency statistics"; + uses ip-sla-ios-xe-oper:mcast-ow-latency; + } + container jitter-stats { + description + "Jitter statistics"; + uses ip-sla-ios-xe-oper:mcast-rfc-5481-ipdv; + } + leaf inter-arrival-jitter { + type uint32; + description + "Inter arrival jitter time"; + } + container loss-stats { + description + "Packet loss statistics"; + uses ip-sla-ios-xe-oper:mcast-pkt-loss; + } + container voice-stats { + description + "Voice score statistics"; + uses ip-sla-ios-xe-oper:voice-score-stats; + } + leaf success-count { + type uint32; + description + "Success count"; + } + leaf failure-count { + type uint32; + description + "Failure count"; + } + leaf over-thresh-occurred { + type boolean; + description + "Over threshold occurred"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + container common-failures { + description + "Common error statistics"; + uses ip-sla-ios-xe-oper:common-err-stats; + } + list sla-mcast-dist-stats { + key "dist-id"; + description + "Round-trip time distribution statistics"; + uses ip-sla-ios-xe-oper:sla-mcast-dist-stats; + } + } + + grouping sla-path-stats-key { + description + "Path specific aggregated statistics key for ICMP path-echo and + MPLS LSP trace operations"; + leaf path-id { + type uint8; + description + "Path identifier"; + } + leaf hop-id { + type uint8; + description + "Hop identifier"; + } + } + + grouping sla-path-stats { + description + "Path specific aggregated statistics for ICMP path-echo and + MPLS LSP trace operations"; + leaf start-time { + type yang:date-and-time; + description + "Start time of the aggregated statistics"; + } + leaf target-addr { + type inet:ip-address; + description + "Target address"; + } + leaf success-count { + type uint32; + description + "Success count"; + } + leaf failure-count { + type uint32; + description + "Failure count"; + } + leaf over-thresh { + type uint32; + description + "Number of operations completed with round-trip time over the configured threshold"; + } + container common-failures { + description + "Common error statistics"; + uses ip-sla-ios-xe-oper:common-err-stats; + } + list sla-path-dist-stats { + key "dist-id"; + description + "Round-trip time distribution statistics"; + uses ip-sla-ios-xe-oper:sla-dist-stats; + } + } + + grouping sla-agg-stats { + description + "IPSLA aggregated statistics"; + leaf oper-type { + type ip-sla-ios-xe-oper:sla-oper-type; + description + "IPSLA operation type"; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of the aggregated statistics"; + } + leaf success-count { + when "(../oper-type!='oper-type-path-echo') and + (../oper-type!='oper-type-lsp-trace')"; + type uint32; + description + "Success count"; + } + leaf failure-count { + when "(../oper-type!='oper-type-path-echo') and + (../oper-type!='oper-type-lsp-trace')"; + type uint32; + description + "Failure count"; + } + container common-failures { + when "(../oper-type!='oper-type-path-echo') and + (../oper-type!='oper-type-lsp-trace')"; + description + "Common error statistics"; + uses ip-sla-ios-xe-oper:common-err-stats; + } + list sla-dist-stats { + when "(../oper-type!='oper-type-path-echo') and + (../oper-type!='oper-type-lsp-trace')"; + key "dist-id"; + description + "Round-trip time distribution statistics"; + uses ip-sla-ios-xe-oper:sla-dist-stats; + } + list sla-path-agg-stats { + when "(../oper-type='oper-type-path-echo') or + (../oper-type='oper-type-lsp-trace')"; + key "path-id hop-id"; + description + "Path specific aggregated statistics for + ICMP path-echo and MPLS LSP trace operations"; + uses ip-sla-ios-xe-oper:sla-path-stats; + uses ip-sla-ios-xe-oper:sla-path-stats-key; + } + list sla-mcast-agg-stats { + when "(../oper-type='oper-type-mcast')"; + key "mcast-id"; + description + "IPSLA multicast UDP-jitter endpoint + aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-mcast-stats; + } + choice oper-stats-type-choice { + description + "IPSLA operation specific statistics"; + case oper-type-icmp-echo { + container icmp-echo-stats { + description + "ICMP-echo operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-icmp-echo-agg-stats; + } + } + case oper-type-icmp-jitter { + container icmp-jitter-stats { + description + "ICMP-jitter operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-icmp-jitter-agg-stats; + } + } + case oper-type-udp-echo { + container udp-echo-stats { + description + "UDP-echo operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-udp-tcp-agg-stats; + } + } + case oper-type-udp-jitter { + container udp-jitter-stats { + description + "UDP-jitter operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-udp-jitter-agg-stats; + } + } + case oper-type-tcp-connect { + container tcp-connect-stats { + description + "TCP-connect operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-udp-tcp-agg-stats; + } + } + case oper-type-http { + container http-stats { + description + "HTTP operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-http-agg-stats; + } + } + case oper-type-https { + container https-stats { + description + "HTTPs operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-https-agg-stats; + } + } + case oper-type-dns { + container dns-stats { + description + "DNS operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-dns-agg-stats; + } + } + case oper-type-dhcp { + container dhcp-stats { + description + "DHCP operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-dhcp-agg-stats; + } + } + case oper-type-ftp { + container ftp-stats { + description + "FTP operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-ftp-agg-stats; + } + } + case oper-type-lsp-ping { + container lsp-ping-stats { + description + "MPLS LSP ping operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-lsp-agg-stats; + } + } + case oper-type-lsp-trace { + container lsp-trace-stats { + description + "MPLS LSP trace operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-lsp-agg-stats; + } + } + case oper-type-lsp-ping-pseudowire { + container lsp-pw-ping-stats { + description + "MPLS pseudowire ping operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-lsp-pseudo-ping-agg-stats; + } + } + case oper-type-path-echo { + container path-echo-stats { + description + "Path-echo operation aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-path-echo-agg-stats; + } + } + case oper-type-mcast { + container mcast-stats { + description + "Multicast UDP-jitter aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-mcast-agg-stats; + } + } + } + } + + grouping y1731-delay-bin-stats { + description + "IP SLA Y1731 delay operation bin statistics"; + leaf lower-limit { + type uint32; + units "microseconds"; + description + "Lower limit of the bin"; + } + leaf upper-limit { + type uint32; + units "microseconds"; + description + "Upper limit of the bin"; + } + leaf total-obs { + type uint32; + description + "Total number of observations within the lower + and upper bin limit"; + } + } + + grouping y1731-delay-bin-stats-key { + description + "IP SLA Y1731 delay operation bin statistics key"; + leaf delay-bin-type { + type ip-sla-ios-xe-oper:sla-y1731-delay-bin-type; + description + "IP SLA Y1731 delay operation bin type"; + } + leaf delay-bin-id { + type uint8; + description + "IP SLA Y1731 delay operation bin identifier"; + } + } + + grouping sla-y1731-hist-intvl-delay-stats { + description + "IP SLA Y1731 delay operation history interval statistics"; + container delay-stats { + description + "IP SLA Y1731 delay operation delay statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-delay-type; + } + container jitter-stats { + description + "IP SLA Y1731 delay operation jitter statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-delay-stats-jitter-type; + } + } + + grouping sla-y1731-hist-loss-stats { + description + "IP SLA Y1731 loss operation history interval statistics"; + leaf num-obs { + type uint64; + description + "Number of observations"; + } + leaf num-avail-indic { + type uint64; + description + "Number of available indicators"; + } + leaf num-unavail-indic { + type uint64; + description + "Number of unavailable indicators"; + } + leaf tx-frames { + type uint64; + description + "Number of frames transmitted"; + } + leaf rx-frames { + type uint64; + description + "Number of frames received"; + } + leaf min-lost-frames { + type uint64; + description + "Minimum lost frames"; + } + leaf min-tx-frames { + type uint64; + description + "Minimum transmitted frames"; + } + leaf frame-loss-ratio { + type decimal64 { + fraction-digits 2; + } + description + "Frame loss ratio percentage"; + } + leaf max-lost-frames { + type uint64; + description + "Maximum lost frames"; + } + leaf max-tx-frames { + type uint64; + description + "Maximum transmitted frames"; + } + leaf cum-frame-loss-ratio { + type decimal64 { + fraction-digits 2; + } + description + "Cumulative frame loss ratio percentage"; + } + leaf min-loss-obs-time { + type yang:date-and-time; + description + "Time at which the minimum frame loss occurred"; + } + leaf max-loss-obs-time { + type yang:date-and-time; + description + "Time at which the maximum frame loss occurred"; + } + } + + grouping sla-y1731-hist-intvl-loss-stats { + description + "IP SLA Y1731 history interval loss statistics"; + container forward-stats { + description + "IP SLA Y1731 loss operation forward loss statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-hist-loss-stats; + } + container backward-stats { + description + "IP SLA Y1731 loss operation backward loss statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-hist-loss-stats; + } + } + + grouping sla-y1731-hist-intvl-stats-key { + description + "IP SLA Y1731 history interval loss statistics key"; + leaf oper-id { + type uint32; + description + "IP SLA Y1731 operation identifier"; + } + leaf intvl-id { + type uint8; + description + "IP SLA Y1731 operation history interval identifier"; + } + } + + grouping sla-y1731-hist-intvl-stats { + description + "IP SLA Y1731 history interval statistics"; + leaf y1731-type { + type ip-sla-ios-xe-oper:sla-oper-type; + description + "IP SLA Y1731 operation type"; + } + leaf latest-start-time { + type yang:date-and-time; + description + "IP SLA Y1731 operation latest start time"; + } + leaf latest-return-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "IP SLA Y1731 operation latest return code"; + } + leaf intvl-start-time { + type yang:date-and-time; + description + "IP SLA Y1731 operation history interval start time"; + } + leaf intvl-end-time { + type yang:date-and-time; + description + "IP SLA Y1731 operation history interval end time"; + } + leaf init-count { + type uint64; + description + "Number of measurements initiated in the history interval"; + } + leaf comp-count { + type uint64; + description + "Number of measurements completed in the history interval"; + } + leaf status-flag { + type ip-sla-ios-xe-oper:sla-y1731-status; + description + "Status flag of the IP SLA Y1731 operation"; + } + list sla-bin-stats { + when "(../y1731-type='oper-type-y1731-delay')"; + key "delay-bin-type delay-bin-id"; + description + "IP SLA Y1731 delay bin statistics"; + uses ip-sla-ios-xe-oper:y1731-delay-bin-stats; + uses ip-sla-ios-xe-oper:y1731-delay-bin-stats-key; + } + choice y1731-stats-type-choice { + description + "IP SLA Y1731 operation specific statistics"; + case oper-type-y1731-delay { + container y1731-delay-stats { + description + "IP SLA Y1731 delay operation history interval statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-hist-intvl-delay-stats; + } + } + case oper-type-y1731-loss { + container y1731-loss-stats { + description + "IP SLA Y1731 loss operation history interval statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-hist-intvl-loss-stats; + } + } + } + } + + grouping sla-sp-loss-stats { + description + "IP SLA service performance loss statistics"; + leaf loss { + type uint64; + description + "Frame loss count"; + } + leaf flr { + type decimal64 { + fraction-digits 2; + } + description + "Frame loss ratio percentage"; + } + leaf avail { + type decimal64 { + fraction-digits 2; + } + description + "Service availability in percentage"; + } + } + + grouping sla-sp-time { + description + "SLA time values"; + leaf val { + type decimal64 { + fraction-digits 2; + } + description + "Minimum value reading"; + } + leaf accy { + type ip-sla-ios-xe-oper:accuracy-type; + description + "Reading accuracy"; + } + } + + grouping sla-sp-delay-stats { + description + "IP SLA service performance delay statistics"; + container min { + description + "Minimum delay value"; + uses ip-sla-ios-xe-oper:sla-sp-time; + } + container avg { + description + "Average delay value"; + uses ip-sla-ios-xe-oper:sla-sp-time; + } + container max { + description + "Maximum delay value"; + uses ip-sla-ios-xe-oper:sla-sp-time; + } + } + + grouping sla-sp-out-of-seq-stats { + description + "IP SLA service performance out-of-sequence packet statistics"; + leaf oos { + type uint64; + description + "Number of out-of-sequence packets"; + } + leaf oos-evts { + type uint64; + description + "Number of out-of-sequence events"; + } + leaf oos-max { + type uint64; + description + "Maximum out-of-sequence packets"; + } + } + + grouping sla-sp-pkt-stats { + description + "IP SLA service performance packet statistics"; + leaf pkts { + type uint64; + description + "Number of packets"; + } + leaf bytes { + type uint64; + description + "Number of bytes"; + } + } + + grouping sla-sp-out-of-order-stats { + description + "IP SLA service performance out-of-order packet statistics"; + leaf ooop { + type uint64; + description + "Number of out-of-order packets"; + } + leaf ooopr { + type decimal64 { + fraction-digits 2; + } + description + "Out-of-order packet ratio"; + } + } + + grouping sla-sp-rate-step-stats-key { + description + "IP SLA service performance rate step statistics key information"; + leaf step-id { + type uint16; + description + "IP SLA service performance step identifier"; + } + leaf tclass { + type ip-sla-ios-xe-oper:sla-sp-traffic-class; + description + "IP SLA service performance traffic class type"; + } + } + + grouping sla-sp-rate-step-stats { + description + "IP SLA service performance per rate step statistics"; + leaf rate { + type uint32; + description + "Traffic rate"; + } + leaf rtype { + type ip-sla-ios-xe-oper:sla-sp-rate-type; + description + "Traffic rate type"; + } + leaf mode { + type ip-sla-ios-xe-oper:sla-sp-oper-mode; + description + "Operation mode"; + } + leaf ir { + type empty; + description + "Information rate measurement"; + } + leaf loss { + type empty; + description + "Packet loss measurement"; + } + leaf delay { + type empty; + description + "Delay measurement"; + } + leaf dly-var { + type empty; + description + "Delay variance measurement"; + } + leaf oos { + type empty; + description + "Out-of-sequence measurement"; + } + leaf ir-val { + when '(../ir)'; + type uint64; + units "Kilobytes per second"; + description + "Information rate"; + } + container loss-stats { + when '(../loss)'; + description + "Frame loss statistics"; + uses ip-sla-ios-xe-oper:sla-sp-loss-stats; + } + container dly-stats { + when '(../delay)'; + description + "Frame delay statistics"; + uses ip-sla-ios-xe-oper:sla-sp-delay-stats; + } + container dv-stats { + when '(../dly-var)'; + description + "Frame delay variance statistics"; + uses ip-sla-ios-xe-oper:sla-sp-delay-stats; + } + container oos-stats { + when '(../oos)'; + description + "Frame out-of-sequence statistics"; + uses ip-sla-ios-xe-oper:sla-sp-out-of-seq-stats; + } + container tx-stats { + when "(../mode!='sp-pass-mode')"; + description + "Transmitted packets statistics"; + uses ip-sla-ios-xe-oper:sla-sp-pkt-stats; + } + container rx-stats { + when "(../mode!='sp-tgen-mode')"; + description + "Received packets statistics"; + uses ip-sla-ios-xe-oper:sla-sp-pkt-stats; + } + leaf dur { + type uint32; + description + "Test duration"; + } + leaf ooop-support { + type empty; + description + "Enable/disable status of out-of-order-packet measurement"; + } + container ooop-stats { + when 'boolean(../ooop-support)'; + description + "Out-of-order-packet measurement"; + uses ip-sla-ios-xe-oper:sla-sp-out-of-order-stats; + } + } + + grouping sla-serv-perf-stats { + description + "IP SLA service performance statistics"; + leaf sp-type { + type ip-sla-ios-xe-oper:sla-sp-client-type; + description + "IP SLA operation type"; + } + leaf sp-mode { + type ip-sla-ios-xe-oper:sla-sp-oper-mode; + description + "IP SLA service performance operation mode"; + } + leaf rem-addr { + when "(../sp-mode='sp-ow-mode')"; + type inet:ip-address; + description + "IP SLA service performance operation remote address"; + } + leaf meas-time { + type yang:date-and-time; + description + "IP SLA service performance measurement time"; + } + choice dur-type-choice { + description + "IP SLA service performance test duration choice"; + case type-dur { + leaf dur { + type uint32; + description + "Test duration in seconds"; + } + } + case type-pkts { + leaf pkts { + type uint32; + description + "Test duration in packets"; + } + } + } + choice tput-type-choice { + description + "IP SLA service performance throughput choice"; + case tput-prog { + leaf tp-inprog { + type empty; + description + "Throughput measurement in progress"; + } + } + case tput-undef { + leaf tp-undef { + type empty; + description + "Throughput measurement undefined - All steps have loss"; + } + } + case tput-val { + leaf tput { + type uint64; + description + "Throughput value"; + } + } + } + } + + grouping sla-sp-stats { + description + "IP SLA service performance latest statistics "; + leaf oper-id { + type uint32; + description + "IP SLA service performance operation identifier"; + } + leaf ret-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "IP SLA service performance operation return code"; + } + leaf supprsd { + type boolean; + description + "This indicates IP SLA service performance statistics is suppressed"; + } + container sp-stats { + when "(../supprsd='false')"; + description + "IP SLA service performance statistics"; + uses ip-sla-ios-xe-oper:sla-serv-perf-stats; + } + list step-stats { + when "(../supprsd='false')"; + key "step-id tclass"; + description + "IP SLA service performance rate step statistics"; + uses ip-sla-ios-xe-oper:sla-sp-rate-step-stats; + uses ip-sla-ios-xe-oper:sla-sp-rate-step-stats-key; + } + } + + grouping sla-sp-hist-stats-key { + description + "IP SLA service performance history interval statistics key information"; + leaf oper-id { + type uint32; + description + "IP SLA service performance operation identifier"; + } + leaf intvl-id { + type uint8; + description + "IP SLA service performance history interval identifier"; + } + } + + grouping sla-sp-hist-stats { + description + "IP SLA service performance history interval statistics"; + leaf ret-code { + type ip-sla-ios-xe-oper:sla-return-code; + description + "IP SLA service performance operation return code"; + } + container sp-stats { + description + "IP SLA service performance statistics"; + uses ip-sla-ios-xe-oper:sla-serv-perf-stats; + } + list hist-step-stats { + key "step-id tclass"; + description + "IP SLA service performance history rate step statistics"; + uses ip-sla-ios-xe-oper:sla-sp-rate-step-stats; + uses ip-sla-ios-xe-oper:sla-sp-rate-step-stats-key; + } + } + + container ip-sla-stats { + config false; + description + "Data nodes for All IP SLA Statistics"; + list sla-oper-entry { + key "oper-id"; + description + "The list of IP SLA operations with statistics + info"; + uses ip-sla-ios-xe-oper:sla-oper-entry; + } + list sla-oper-error-statistics { + key "oper-id start-time-id path-index hop-index"; + description + "The list of IP SLA operations error statistics"; + uses ip-sla-ios-xe-oper:sla-err-stats; + uses ip-sla-ios-xe-oper:sla-err-stats-key; + } + list sla-oper-total-statistics { + key "oper-id start-time-id"; + description + "The list of IP SLA operations total statistics"; + uses ip-sla-ios-xe-oper:sla-total-stats-entry; + uses ip-sla-ios-xe-oper:sla-total-stats-key; + } + list sla-path-echo-stats { + key "oper-id path-id hop-id"; + description + "The list of IP SLA path echo operations with latest + statistics information"; + uses ip-sla-ios-xe-oper:path-echo-stats-entry; + uses ip-sla-ios-xe-oper:path-echo-stats-key; + } + list sla-path-jitter-stats { + key "oper-id hop-id"; + description + "The list of IP SLA path jitter operations with latest + statistics information"; + uses ip-sla-ios-xe-oper:path-jitter-stats-entry; + uses ip-sla-ios-xe-oper:path-jitter-stats-key; + } + list sla-agg-stats { + key "oper-id hour-id"; + description + "The list of IPSLA aggregated statistics"; + uses ip-sla-ios-xe-oper:sla-agg-stats; + uses ip-sla-ios-xe-oper:sla-agg-stats-key; + } + list sla-hist-stats { + key "oper-id intvl-id"; + description + "The list of IPSLA Y1731 delay and loss + operation history interval statistics"; + uses ip-sla-ios-xe-oper:sla-y1731-hist-intvl-stats; + uses ip-sla-ios-xe-oper:sla-y1731-hist-intvl-stats-key; + } + list sla-sp-stats { + key "oper-id"; + description + "The list of IPSLA service performance operation latest statistics"; + uses ip-sla-ios-xe-oper:sla-sp-stats; + } + list sla-sp-hist-stats { + key "oper-id intvl-id"; + description + "The list of IPSLA service performance operation history interval statistics"; + uses ip-sla-ios-xe-oper:sla-sp-hist-stats; + uses ip-sla-ios-xe-oper:sla-sp-hist-stats-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ip.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip.yang new file mode 100644 index 000000000..2dbc67432 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ip.yang @@ -0,0 +1,4936 @@ +submodule Cisco-IOS-XE-ip { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + include Cisco-IOS-XE-interfaces; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native IP Yang Model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Remove max elements from ip host vrf CLI + - Added model for to specify the number of times an ARP Request is sent + - Added model for to specify RFC 2217 options + - Added model for tweak flow control + - Added model for maximum receive window + - Added model for specify ssh window-size + - Added model for global tcp parameters + - Added support for maximum queue of outgoing TCP packets + - Added support IP Options treatment + - Added model for EVPN Tenant Routed Multicast simplification + - Added cli full command annotation to mdt-preference leaf + - Added ip host ordered node + - Removed must condition for ip route for Vlan + - Added support for IP telnet RFC 2217 enable + - Added model for to allow the creation of sticky ARP entries + - Added model for ip ssh rekey volume + - Removed must condition for vrf export map + - Remove constraint for rd/rd-auto + - Added model for ip host telnet port + - Added model for ip address-pool CLI + - OBSOLETE xpath ip ftp passive which was deprecated before 17.6 release + - Deprecated ip arp inspection vlan + - Deprecated vlan list created new vlan-new list from ip arp inspection filter + - Deprecated the existing ip forward-protocol and added new model changes + - Obsolete ip ssh source-interface + - Deprecated the existing ip gratuitous-arps and added new model changes + - Modified the range for maximum TCP receive window"; + cisco-semver:module-version "14.0.0"; + } + revision 2024-03-01 { + description + "- Removed pattern constraint for the ssh key-hash value + - Added nodes username and password for ip sftp and scp + - Changed ip prefix sequence-number default type to boolean + - Added default value for ip tftp blocksize + - Added nodes server, user, rst-count and rst-window for ip ssh and tcp + - Added default value for ip tcp window size + - Deprecated ip domain name and created + - model for ip domain name vrf word name-vrf + - Added model for no ip hostname strict + - Added model for ip domain multicast node + - Added model for ip verify drop-rate + - Modified the range for vrf/vnid-value + - Obsolete ip/ipv6 deprecated prefix-list node + - Make ip classless into a boolean leaf from empty"; + cisco-semver:module-version "13.0.0"; + } + revision 2023-11-01 { + description + "- Added pattern for ssh key-hash-value + - Added default value for ssh time-out + - Added support for service sse for ip sdwan + - Deprecated server-ip-list leaf list and added server-ip-list-ordered leaf-list + - Deprecated no-vrf leaf list and added no-vrf-ordered leaf-list + - Deletion of default value for leaf metric + - added descriptions for no-vrf, vrf name and server-ip-list + - Added descriptions for forward leaf + - Deprecated 'ip ssh logging events' node and created + a new node 'events-enable' with default true + - added tailf:cli-remove-before-change for ip ssh port + - added description for ip ssh public key chain + - Modified the range for vnid and core-vlan"; + cisco-semver:module-version "12.0.0"; + } + revision 2023-07-01 { + description + "- vxlan v6 default mdt support + - Added support for VPN-SID and remodel policy + - Updated must constraints for ip interfaces + - global vrf rd-auto, per vrf rd-auto [disable] and vnid support + - Added tailf:cli-delete-when-empty to ip ssh port"; + cisco-semver:module-version "11.0.0"; + } + revision 2023-03-01 { + description + "- Added tailf:cli-diff annotations to the ip route vrf node to ensure + that generated CLIs delete the static route configurations before + deleting the VRF configurations."; + cisco-semver:module-version "10.0.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added in tailf:cli-delete-when-empty in prefix-list-description + - Added ip arp gratuitous support + - Added support for ip ssh bulk-mode + - Added support for ip tcp ack-tuning and changed default for winupdate-opt to true"; + cisco-semver:module-version "10.0.0"; + } + revision 2022-07-01 { + description + "- Added dhcp relay options + - Migrated ip cef container to new version to address various config issues"; + cisco-semver:module-version "9.0.0"; + } + revision 2022-03-01 { + description + "- Added support for 'ip tcp ack-tuning [ratio <5-20>]' + - Added the must constraints of ip route vrf node + - Added tailf cli incomplete no in 'ip route vrf' since 'no ip route vrf' is not a complete command"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-11-01 { + description + "- Added support for new cli 'ip tcp winupdate-opt' + - Fixed the must constraints of mdt mode + - Added container vxlan for Tenant Routed Multicast Data MDT support + - Removed 'ordered-by user' statement in leaf-list no-vrf and leaf-list server-ip-list of the container name-server + - Deprecated `ip ssh version` of unsigned integer type and added a new leaf `ip ssh ssh-version` of enumeration type"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-07-01 { + description + "- Added ip ssh bulk-mode support + - Fixed configuration roll-back ordering for ip prefix-lists in controller mode + - Added new allow-evpn leaf + - Added support to include interface module for fixing yang errors + - Added a length constraint to leaf name in container domain for ip domain name + - Changed 'ip ssh source-interface' from leaf to container + - Added 'ordered-by user' statement in leaf-list no-vrf and leaf-list server-ip-list of the container name-server"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-03-01 { + description + "- Modified range for vrf maximum-routes + - Added maximum-routes support for ipv6 address-family under vrf"; + cisco-semver:module-version "6.0.0"; + } + revision 2020-11-01 { + description + "- Merge prefix-list model from cloned model"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-01 { + description + "NEEDS TO BE FIXED + - Add flatten-container for track-id-name + - Deprecated 'ip ftp passive' node and created + a new node 'passive-enable' + - Added support for IP route track name' + - Added support for 'ip route segment-routing' + - Added support for 'mdt auto-discovery pim inter-as' + - Added fixes for route-replicate + - Added support for 'mdt auto-discovery interworking vxlan-pim' + - Fixed the maximum username entries for 'ip ssh pub-key-chain username' + - added new list for track"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added support for 'ip domain lookup recursive' + - Added support for 'ip domain lookup vrf source-interface + ' + - Added prefix-lists cli-remove-before-change for replace + - Added default value for metric in ip route interface forwarding list metric + - Updated route-target configuration + - Added support for 'ip tcp mss' command + - Added support for 'route-replicate' command + - Extend address-family import and export configuration"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + " + - Changed IP routing from a presence container to a leaf for dependant + routing protocols to check before committing changes + - Address arp model gaps; + - Added dependency on ip route over the interface"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Updated mdt data to have a container for default scope and a list + for all user scope + - Added support for 'ip domain periodic-resolve ' + - Added support for ip ssh dh min size + - Added support for ip local policy route-map + - Address MVPN mdt model gaps"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-04 { + description + "Fixed a bug in ip prefix-list"; + } + revision 2019-01-29 { + description + "vManage cannot handle choice for VRF ip name-server"; + } + revision 2019-01-27 { + description + "Deprecating ip domain-lookup and fixing a bug in the model"; + } + revision 2019-01-09 { + description + "Backward compatibility for multiple name-servers in VRF"; + } + revision 2019-01-04 { + description + "Allow multiple name-servers in VRF"; + } + revision 2018-11-28 { + description + "added missing | in pattern string of ip prefix-list name leaf"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-13 { + description + "added model for ip route vrf topology and ip route topology"; + } + revision 2018-10-08 { + description + "Make dhcp option available to 'ip route' following outgoing interface"; + } + revision 2018-09-26 { + description + "Add cli-disallow-value 'dhcp|DHCP' to 'ip route' for non-dhcp configurations"; + } + revision 2018-09-19 { + description + "added model for ip route static bfd *"; + } + revision 2018-09-18 { + description + "Remove full-command annotation from VRF definition"; + } + revision 2018-09-07 { + description + "Add must constraint to ip route vrf, on vrf & address-family"; + } + revision 2018-09-06 { + description + "Added support to all option under 'ip route static install-routes-recurse-via-nexthop'"; + } + revision 2018-09-03 { + description + "removed deprecated CLI 'ip domain-name' model"; + } + revision 2018-08-20 { + description + "add more support to vrf definition"; + } + revision 2018-08-03 { + description + "Corrected ip prefix-list model to make one entry with one representation with seq"; + } + revision 2018-07-11 { + description + "add support to vrf definition rd to use rd asn dot notation"; + } + revision 2018-05-24 { + description + "add support to get default for ip domain lookup"; + } + revision 2018-05-09 { + description + "stitching leaf moved to the vrf group"; + } + revision 2018-05-03 { + description + "stitching leaf added in vrf definition"; + } + revision 2018-04-18 { + description + "add max limit for ip name-server"; + } + revision 2018-04-04 { + description + "add tailf:cli-remove-before-change for vrf definition rd"; + } + revision 2018-03-12 { + description + "Add dependency to 'export map' on rd, in order to match CLI behavior"; + } + revision 2018-02-09 { + description + "fix ip prefix-list deleting issue"; + } + revision 2018-02-02 { + description + "Change ip domain to leaf-list to match IOS behavior"; + } + revision 2018-01-11 { + description + "Support ip host and ip host vrf replacement"; + } + revision 2017-10-25 { + description + "Support ip host and ip host vrf with multiple ipv4/ipv6 address"; + } + revision 2017-08-28 { + description + "Extend modeling for multicast"; + } + revision 2017-07-24 { + description + "Add ip ssh server peruser session limit"; + } + revision 2017-06-29 { + description + "This revision fixes the compiling warning in ip route"; + } + revision 2017-06-27 { + description + "Add maxstartups to ssh-server"; + } + revision 2017-05-17 { + description + "This revision fixes the problem in ip route"; + } + revision 2017-04-10 { + description + "This revision fixes the problem where CDB not updated when configuring + through CLI for ip routing protocol purge interface"; + } + revision 2017-03-14 { + description + "This revision fixes the problem where interface Loopback joining with + its name in display"; + } + revision 2017-03-02 { + description + "This revision enhances NED model for IWAN 3.0.2 Ph 1 - Misc Config: + - adds config-ip-ssh-algorithm-grouping grouping. + - adds vrf list node under host node"; + } + revision 2017-02-23 { + description + "This revision adds support for IP explicit-path"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef rd-type { + type string { + pattern '(\d*(.\d*)*)?:(\d*(.\d*)*)?'; + } + } + + typedef mdt-data-list-type { + type union { + type uint16 { + range "100..199"; + } + type uint16 { + range "2000..2699"; + } + type string { + pattern '[a-fA-F].*'; + } + } + } + + typedef vpn-id-type { + type string { + pattern '[0-9a-fA-F][0-9a-fA-F]?[0-9a-fA-F]?:[0-9a-fA-F][0-9a-fA-F]?[0-9a-fA-F]?[0-9a-fA-F]?'; + } + } + + grouping route-map-group { + leaf route-map { + description + "Route map reference"; + type string; + } + } + + grouping src-protocol-grouping { + container source-proto-config { + container all { + description + "All routes"; + presence "true"; + uses route-map-group; + } + container mobile { + when 'not(../all)'; + description + "Mobile routes"; + presence "true"; + uses route-map-group; + } + container static { + when 'not(../all)'; + description + "Static routes"; + presence "true"; + uses route-map-group; + } + container connected { + when 'not(../all)'; + description + "Connected Routes"; + presence "true"; + uses route-map-group; + } + container rip { + when 'not(../all)'; + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses route-map-group; + } + container odr { + when 'not(../all)'; + description + "on demand stub routes"; + presence "true"; + uses route-map-group; + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + when 'not(../all)'; + key "asn"; + leaf asn { + type ios-types:bgp-as-number-type; + } + uses route-map-group; + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + when 'not(../all)'; + key "asn"; + leaf asn { + type uint32 { + range "1..65535"; + } + } + uses route-map-group; + } + container isis { + when 'not(../all)'; + description + "ISO IS-IS"; + presence "true"; + uses route-map-group; + } + container isisareatag { + when 'not(../all)'; + description + "ISIS with area tag"; + list isis { + when 'not(../../all)'; + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + type string; + } + uses route-map-group; + } + } + list ospf { + when 'not(../all)'; + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + description + "list ospf process"; + type uint32 { + range "1..65535"; + } + } + uses route-map-group; + } + } + } + + grouping route-replicate-grouping { + container route-replicate { + description + "Replicate (import) routes from another topology and vrf"; + container from { + description + "from"; + list vrf { + must "unicast/source-proto-config/all or + unicast/source-proto-config/static or + unicast/source-proto-config/connected or + unicast/source-proto-config/mobile or + unicast/source-proto-config/rip or + unicast/source-proto-config/odr or + unicast/source-proto-config/bgp or + unicast/source-proto-config/isis or + unicast/source-proto-config/isisareatag/isis or + unicast/source-proto-config/ospf or + unicast/source-proto-config/eigrp" { + error-message "protocol config cannot be empty! (if deletion, delete the list vrf)"; + } + key "name"; + leaf name { + type string { + pattern '([^g].*)|(g[^l].*)|(gl[^o].*)(glo[^b])|(glob[^a].*)|(globa..*)' { + error-message "substrings of 'global' are reserved.Please use 'global' instead!"; + } + } + } + container unicast { + description + "unicast"; + uses src-protocol-grouping; + } + } + } + container recursion-policy { + description + "recursion policy"; + leaf destination { + description + "recursion policy "; + type empty; + } + } + } + } + + grouping vrf-default-route-target-grouping { + choice export-choice { + leaf export { + type empty; + } + container export-asn { + list export { + description + "Export Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + } + } + } + choice import-choice { + leaf import { + type empty; + } + container import-asn { + list import { + description + "Import Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + } + } + } + } + + grouping vrf-af-route-target-grouping { + container export-route-target { + list without-stitching { + description + "Export Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + } + list with-stitching { + description + "Export Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + leaf stitching { + description + "VXLAN route target set"; + mandatory true; + type empty; + } + } + } + container import-route-target { + list without-stitching { + description + "Import Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + } + list with-stitching { + description + "Import Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + leaf stitching { + description + "VXLAN route target set"; + mandatory true; + type empty; + } + } + } + list export { + status obsolete; + description + "Export Target-VPN community (OBSOLETE)"; + key "asn-ip"; + leaf asn-ip { + status obsolete; + type ios-types:asn-ip-type; + } + leaf stitching { + status obsolete; + description + "VXLAN route target set (OBSOLETE)"; + type empty; + } + } + list import { + status obsolete; + description + "Import Target-VPN community (OBSOLETE)"; + key "asn-ip"; + leaf asn-ip { + status obsolete; + type ios-types:asn-ip-type; + } + leaf stitching { + status obsolete; + description + "VXLAN route target set (OBSOLETE)"; + type empty; + } + } + } + + grouping vrf-route-target-grouping { + list export { + description + "Export Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + leaf stitching { + status obsolete; + description + "VXLAN route target set"; + type empty; + } + } + list import { + description + "Import Target-VPN community"; + key "asn-ip"; + leaf asn-ip { + type ios-types:asn-ip-type; + } + leaf stitching { + status obsolete; + description + "VXLAN route target set"; + type empty; + } + } + } + + grouping vrf-rd-auto-grouping { + leaf rd-auto { + description + "Specify to enable auto Route Distinguisher"; + type empty; + } + container rd-auto-disable { + description + "Specify to disable auto Route Distinguisher"; + container rd-auto { + leaf disable { + type empty; + } + } + } + } + + grouping vrf-vnid-grouping { + list vnid { + description + "Specify VNID for route-target auto generation"; + key "vnid-value"; + max-elements 1; + leaf vnid-value { + description + "Specify the value of VNID"; + type uint32 { + range "1..2147483647"; + } + } + container evpn-instance { + presence "true"; + description + "Specify using VNID to auto generate route-target stitching"; + container vni { + description + "Generate NVE L3 VNI"; + choice vni-auto-num { + case auto { + container auto { + presence "true"; + description + "Auto generate NVE L3 VNI using vnid"; + leaf core-vlan { + description + "Specify the core vlan number to associate with VNI"; + type uint32 { + range "1..4094"; + } + } + } + } + case vni-num { + list vni-num { + description + "Specify using this number to generate NVE VNI"; + key "vni-num"; + max-elements 1; + leaf vni-num { + description + "The NVE L3 VNI number"; + type uint32 { + range "4096..16777215"; + } + } + leaf core-vlan { + description + "Specify the core vlan number to associate with VNI"; + type uint32 { + range "1..4094"; + } + } + } + } + } + } + } + } + } + + grouping vrf-maximum-grouping { + container maximum { + description + "Maximum number of routes allowed in this routing table"; + must 'routes' { + error-message "Max Routes value must always be configured"; + } + presence "Maximum number of routes allowed in this routing table"; + leaf routes { + description + "Maximum number of routes allowed in this routing table"; + type uint32 { + range "1..4294967294"; + } + } + choice maximum-choice { + mandatory true; + case threshold-case { + leaf threshold { + description + "Threshold"; + type uint16 { + range "1..100"; + } + } + leaf reinstall { + description + "Reinstall previous rejected route due to over maximum route limit"; + type uint16 { + range "1..100"; + } + } + } + case warning-case { + leaf warning-only { + description + "Only give a warning message if is limit exceeded"; + type empty; + } + } + } + } + } + + grouping vrf-loopback-grouping { + leaf Loopback { + description + "Loopback interface number"; + type uint32 { + range "0..2147483647"; + } + } + } + + grouping config-global-address-family { + container global-address-family { + description + " Enter address-family base routing topology mode"; + container ipv4 { + description + "Address family IPv4"; + presence "true"; + uses route-replicate-grouping; + } + } + } + + grouping conf-vrf-definition-default-grouping { + leaf description { + description + "VRF specific description"; + type empty; + } + container ipv4 { + description + "VRF IPv4 configuration"; + container multicast { + description + "IP multicast configuration"; + leaf multitopology { + description + "Enable Multicast-Specific RPF Topology"; + type empty; + } + } + } + container ipv6 { + description + "VRF IPv6 configuration"; + container multicast { + description + "IP multicast configuration"; + leaf multitopology { + description + "Enable Multicast-Specific RPF Topology"; + type empty; + } + } + } + leaf rd { + description + "Specify Route Distinguisher"; + type union { + type string { + pattern '[0-9]+:[0-9]+'; + } + type inet:ipv4-address; + type ios-types:asn-ip-type; + } + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address family"; + presence "true"; + choice modifier { + leaf unicast { + type empty; + } + leaf multicast { + type empty; + } + } + } + container ipv6 { + description + "Address family"; + presence "true"; + choice modifier { + leaf unicast { + type empty; + } + leaf multicast { + type empty; + } + } + } + } + container route-target { + description + "Specify Target VPN Extended Communities"; + choice def-route-target { + case emtpy-rt-case { + leaf empty-rt { + type empty; + } + } + case default-rt { + uses vrf-default-route-target-grouping; + } + } + } + container vnet { + description + "Virtual NETworking configuration"; + leaf tag { + description + "use default tag"; + type empty; + } + } + container vpn { + description + "Configure VPN ID as specified in rfc2685"; + leaf id { + description + "use default VPN ID"; + type empty; + } + } + } + + grouping config-mvpn-mdt-grouping { + container mdt { + description + "Backbone Multicast Distribution Tree"; + container default { + description + "The default group"; + leaf address { + type inet:ipv4-address; + } + leaf ingress-replication { + description + "Use Ingress-Replication for the default MDT"; + type empty; + } + container mpls { + description + "MPLS tunnel options"; + container mldp-config { + description + "Use a MLDP LSP to create the default MDT"; + leaf-list mp2mp-root-address { + description + "MP2MP LSP root address"; + type inet:ipv4-address; + must 'not (../p2mp)' { + error-message + "%MVPN: Please unconfigure MLDP Rosen P2MP + Profile in this address-family"; + } + } + leaf p2mp { + description + "Use a P2MP MLDP LSP to create the default MDT"; + type empty; + must 'not (../mp2mp-root-address)' { + error-message + "%MVPN: Please unconfigure MLDP Rosen MP2MP + Profile in this address-family"; + } + } + } + leaf mldp { + description + "OBSOLETE : Use 'mldp-config' under 'mpls' container"; + status obsolete; + type inet:ipv4-address; + } + } + leaf vxlan-new { + description + "Vxlan options for default MDT. Specify multicast group address"; + type inet:ip-address; + } + leaf vxlan { + description + "DEPRECATED: Use vxlan-new instead"; + status deprecated; + type inet:ipv4-address; + } + } + container auto-discovery { + description + "BGP auto-discovery for MVPN"; + choice auto-discovery { + case pim-options { + container pim-options { + description + "BGP auto-discovery for PIM"; + leaf pim { + description + "BGP auto-discovery for PIM"; + type empty; + mandatory true; + } + leaf inter-as { + description + "Enable Inter-AS BGP auto-discovery"; + type empty; + } + leaf pim-tlv-announce { + description + "Announce PIM TLV for data MDT"; + type empty; + } + leaf mdt-hello-enable { + description + "Enable PIM Hellos over MDT interface"; + type empty; + } + } + } + case ingress-replication { + container ingress-replication { + description + "BGP auto-discovery for Ingress-Replication"; + leaf ingress-replication { + description + "BGP auto-discovery for Ingress-Replication"; + type empty; + mandatory true; + } + leaf inter-as { + description + "Enable Inter-AS BGP auto-discovery"; + type empty; + } + leaf mdt-hello-enable { + description + "Enable PIM Hellos over MDT interface"; + type empty; + } + } + } + case mldp { + container mldp { + description + "BGP auto-discovery for MLDP"; + leaf mldp { + description + "BGP auto-discovery for MLDP"; + type empty; + mandatory true; + } + leaf inter-as { + description + "Enable Inter-AS BGP auto-discovery"; + type empty; + } + leaf pim-tlv-announce { + description + "Announce PIM TLV for data MDT"; + type empty; + } + leaf mdt-hello-enable { + description + "Enable PIM Hellos over MDT interface"; + type empty; + } + } + } + case vxlan { + container vxlan-config { + description + "BGP auto-discovery for VxLAN"; + leaf vxlan { + description + "BGP auto-discovery for VxLAN"; + type empty; + mandatory true; + } + leaf inter-as { + description + "Enable Inter-AS BGP auto-discovery"; + type empty; + } + } + } + case interworking { + container interworking { + choice interworking { + case vxlan-pim { + container vxlan-pim-config { + description + "BGP auto-discovery for VxLAN PIM interworking"; + leaf vxlan-pim { + description + "BGP auto-discovery for VxLAN PIM"; + type empty; + mandatory true; + } + leaf inter-as { + description + "Enable Inter-AS BGP auto-discovery"; + type empty; + } + } + } + } + } + } + } + leaf receiver-site { + description + "BGP receiver only site for MVPN"; + type empty; + } + leaf pim { + description + "BGP auto-discovery for PIM"; + type empty; + status deprecated; + } + } + container data { + description + "MDT data trees"; + list multicast { + key "address wildcard"; + leaf address { + type inet:ipv4-address; + } + leaf wildcard { + type inet:ipv4-address; + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf threshold { + description + "MDT switching threshold"; + type uint32 { + range "1..4294967"; + } + } + container mpls { + description + "MPLS tunnel options"; + container mldp { + description + "Use a MLDP LSP to create the data MDT"; + container default-scope { + leaf mdt-instances { + description + "Number of data MDT instances under default-scope"; + type uint16 { + range "1..5000"; + } + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf immediate-switch { + description + "Switch immediately to Data MDT tree"; + type empty; + } + } + list user-defined-scope { + description + "Use a MLDP LSP to create the data MDT. This is a list for + user-defined scopes"; + key "scope"; + leaf mdt-instances { + description + "Number of data MDT instances under user-defined scope"; + type uint16 { + range "1..5000"; + } + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf scope { + description + "Scope of Data MDT"; + type uint8 { + range "1..255"; + } + } + leaf immediate-switch { + description + "Switch immediately to Data MDT tree"; + type empty; + } + } + } + } + container ingress-replication { + description + "Use Ingress-Replication to create the data MDT"; + presence "true"; + leaf mdt-instances { + description + "Number of data MDT instances"; + type uint16 { + range "1..20000"; + } + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf immediate-switch { + description + "Switch immediately to Data MDT tree"; + type empty; + } + } + container vxlan { + description + "Use vxlan to create data MDT"; + list multicast { + key "address wildcard"; + leaf address { + type inet:ipv4-address; + } + leaf wildcard { + type inet:ipv4-address; + } + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + } + } + } + leaf direct { + description + "Direct MDT"; + type empty; + } + leaf log-reuse { + description + "Event logging for data MDT reuse"; + type empty; + } + leaf mtu { + description + "The MTU"; + type uint16 { + range "576..18010"; + } + } + container overlay { + description + "MDT Overlay Protocol"; + container use-bgp-config { + description + "BGP options for Overlay Signaling"; + presence "true"; + leaf spt-only { + description + "Enable Shortest path tree -only ASM mode"; + type empty; + } + } + leaf use-bgp { + description + "DEPRECATED: Use 'use-bgp-config' under 'overlay' container"; + status deprecated; + type empty; + } + container bgp { + description + "BGP Overlay signalling"; + leaf shared-tree-prune-delay { + description + "Delay before shared tree is pruned at C-RP PE"; + type uint16 { + range "1..1800"; + } + default "60"; + } + leaf source-tree-prune-delay { + description + "Delay before source tree is pruned at C-S PE"; + type uint16 { + range "0..300"; + } + default "30"; + } + } + } + container partitioned { + description + "Partitioned Multicast Distribution Tree"; + leaf ingress-replication { + description + "Use Ingress-Replication for the partitioned MDT"; + type empty; + } + leaf mldp { + description + "Use MLDP to create the partitioned MDT"; + type enumeration { + enum p2mp; + enum mp2mp; + } + } + } + leaf mdt-preference { + description + "MDT preference (default pim mldp)"; + type enumeration { + enum mldp; + enum pim; + } + default "pim"; + } + leaf-list preference { + description + "obsolete MDT preference (default pim mldp)"; + status obsolete; + type enumeration { + enum mldp; + enum pim; + } + } + container strict-rpf { + description + "Enable strict RPF check"; + leaf interface { + description + "Interface based strict RPF check"; + type empty; + } + } + } + } + + grouping evpn-mcast-mdt-grouping { + description + "Multicast Distribution Tree (MDT) + related fields under simplified EVPN multicast configuration"; + leaf mdt-def-addr { + description + "MDT default group address"; + type inet:ip-address; + } + container data { + description + "VxLAN data MDT configuration"; + leaf data-addr { + description + "Data MDT group address"; + type inet:ip-address; + } + leaf mask-bits { + description + "Data MDT mask bits"; + type inet:ip-address; + } + } + } + + grouping evpn-mcast-grouping-v4 { + description + "Simplified EVPN multicast configuration under IPv4 address family"; + container evpn-mcast { + description + "Multicast Distribution Tree (MDT) configuration"; + uses evpn-mcast-mdt-grouping; + leaf anycast { + description + "IPv4 address of Rendezvous-point for anycast mode"; + type inet:ipv4-address; + } + } + } + + grouping evpn-mcast-grouping-v6 { + description + "Simplified EVPN multicast configuration under IPv6 address family"; + container evpn-mcast { + description + "Multicast Distribution Tree (MDT) configuration"; + uses evpn-mcast-mdt-grouping; + leaf anycast { + description + "IPv6 address of Rendezvous-point for anycast mode"; + type inet:ipv6-address; + } + } + } + + grouping config-vrf-definition-grouping { + container vrf { + description + "VRF commands"; + list definition { + description + "VRF definition mode"; + key "name"; + leaf name { + description + "WORD;;VRF name"; + type string; + } + container default { + uses conf-vrf-definition-default-grouping; + } + leaf description { + description + "VRF specific description"; + type string { + length "1..244"; + } + } + container ipv4 { + description + "VRF IPv4 configuration"; + container multicast { + description + "IP multicast configuration"; + leaf multitopology { + description + "Enable Multicast-Specific RPF Topology"; + type empty; + } + } + } + container ipv6 { + description + "VRF IPv6 configuration"; + container multicast { + description + "IP multicast configuration"; + leaf multitopology { + description + "Enable Multicast-Specific RPF Topology"; + type empty; + } + } + } + uses vrf-rd-auto-grouping; + leaf rd { + description + "Specify Route Distinguisher"; + type ios-types:asn-ip-type; + } + uses vrf-vnid-grouping; + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address family"; + presence "true"; + container export { + description + "VRF export"; + leaf map { + description + "WORD;;Route-map reference"; + must '../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type string; + } + container ipv4 { + description + "Address family based VRF export"; + leaf ipv4-type { + description + "Export prefixes from IPv4 Unicast or Multicast table"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type enumeration { + enum unicast; + enum multicast; + } + } + leaf upper-limit { + description + "Upper limit on export prefixes without hogging memory"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF export"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type string; + } + leaf allow-evpn { + description + "allow EVPN routes into global table"; + when "(../ipv4-type = 'unicast')"; + type empty; + } + } + } + uses vrf-maximum-grouping; + uses config-mvpn-mdt-grouping; + uses evpn-mcast-grouping-v4; + uses route-replicate-grouping; + container route-target { + description + "Specify Target VPN Extended Communities"; + uses vrf-af-route-target-grouping; + } + container bgp { + description + "Commands pertaining to BGP"; + container next-hop { + description + "Next-hop for the routes of a VRF in the backbone"; + uses vrf-loopback-grouping; + } + } + container import { + description + "VRF import"; + leaf map { + description + "Route-map based VRF import"; + type string; + } + container ipv4 { + description + "Address family based VRF import"; + leaf ipv4-type { + description + "Import prefixes from IPv4 Unicast or Multicast table"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type enumeration { + enum unicast; + enum multicast; + } + } + leaf upper-limit { + description + "Upper limit on import prefixes without hogging memory"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF import"; + must '(not(.) and not(../../map)) or (. and not(../../map)) or (not(.) and ../../map)' { + error-message "map and ipv4 map cannot be configured at the same time"; + } + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type string; + } + leaf allow-evpn { + description + "allow Global->VRF routes into EVPN"; + when "(../ipv4-type = 'unicast')"; + type empty; + } + } + } + } + container ipv6 { + description + "Address family"; + presence "true"; + uses vrf-maximum-grouping; + uses config-mvpn-mdt-grouping; + uses evpn-mcast-grouping-v6; + container route-target { + description + "Specify Target VPN Extended Communities"; + uses vrf-af-route-target-grouping; + } + container bgp { + description + "Commands pertaining to BGP"; + container next-hop { + description + "Next-hop for the routes of a VRF in the backbone"; + choice ipv4-ipv6 { + container ipv4 { + description + "Use ipv4 address of the Loopback"; + uses vrf-loopback-grouping; + } + container ipv6 { + description + "Use ipv6 address of the Loopback"; + uses vrf-loopback-grouping; + } + } + } + } + container import { + description + "VRF import"; + leaf map { + description + "Route-map based VRF import"; + type string; + } + container ipv6 { + description + "Address family based VRF import"; + leaf ipv6-type { + description + "Import prefixes from IPv6 Unicast or Multicast table"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type enumeration { + enum unicast; + enum multicast; + } + } + leaf upper-limit { + description + "Upper limit on import prefixes without hogging memory"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF import"; + must '(not(.) and not(../../map)) or (. and not(../../map)) or (not(.) and ../../map)' { + error-message "map and ipv6 map cannot be configured at the same time"; + } + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring import route-map"; + } + type string; + } + leaf allow-evpn { + description + "allow Global->VRF routes into EVPN"; + when "(../ipv6-type = 'unicast')"; + type empty; + } + } + } + container export { + description + "VRF export"; + leaf map { + description + "Route-map based VRF export"; + must '../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type string; + } + container ipv6 { + description + "Address family based VRF export"; + leaf ipv6-type { + description + "Export prefixes from IPv6 Unicast or Multicast table"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type enumeration { + enum unicast; + enum multicast; + } + } + leaf upper-limit { + description + "Upper limit on export prefixes without hogging memory"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF export"; + must '../../../../../rd' { + error-message "%vrf does not have rd configured, please configure rd before configuring export route-map"; + } + type string; + } + leaf allow-evpn { + description + "allow EVPN routes into global table"; + when "(../ipv6-type = 'unicast')"; + type empty; + } + } + } + } + } + container route-target { + description + "Specify Target VPN Extended Communities"; + uses vrf-route-target-grouping; + } + container vnet { + description + "Virtual NETworking configuration"; + leaf tag { + description + "Identifier used to tag packets associated with this VNET"; + type uint16 { + range "2..4094"; + } + } + } + container vpn { + description + "Configure VPN ID as specified in rfc2685"; + leaf id { + description + "Configure VPN ID in rfc2685 format"; + type vpn-id-type; + } + } + } + leaf rd-auto { + description + "Specify to enable auto Route Distinguisher for all VRF"; + type empty; + } + } + } + + grouping password-grouping { + container password-container { + leaf encryption { + type uint8 { + range "0..7"; + } + } + leaf password { + type string { + pattern '([1-680-9a-zA-Z].*)|(0.+)|(7.+)'; + } + } + } + } + + grouping ip-route-static-bfd-group-grouping { + leaf group { + description + "assign a bfd group"; + type string; + } + leaf passive { + description + "passive member of the group"; + when '../group'; + type empty; + } + leaf log { + description + "Log changes in BFD Up/Down events"; + type empty; + } + leaf unassociate { + description + "Static Route not associated"; + type empty; + } + } + + grouping ip-route-static-bfd-ip-grouping { + list multihop { + key "destination_ip"; + leaf destination_ip { + description + "Multihop BFD Destination IP address"; + type inet:ipv4-address; + } + list vrf { + description + "Source VRF name"; + key "name source_ip"; + leaf name { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "% vrf does not exist. Create first"; + } + type string; + } + leaf source_ip { + description + "Multihop BFD Source IP address"; + type inet:ipv4-address; + } + uses ip-route-static-bfd-group-grouping; + } + list source_ip { + key "ip"; + leaf ip { + type inet:ipv4-address; + } + uses ip-route-static-bfd-group-grouping; + } + } + } + + grouping ip-route-dhcp-grouping { + leaf dhcp { + description + "Default Gateway obtained from DHCP"; + type empty; + } + } + + grouping ip-route-dhcp-only-options-grouping { + uses ip-route-dhcp-grouping; + leaf metric { + type uint8 { + range "1..255"; + } + } + } + + grouping ip-route-options-no-track-grouping { + leaf metric { + type uint8 { + range "1..255"; + } + default "1"; + } + leaf global { + description + "Next hop address is global"; + type empty; + } + leaf name { + description + "Specify name of the next hop"; + type string; + } + leaf permanent { + description + "permanent route"; + type empty; + } + leaf multicast { + description + "multicast route"; + type empty; + } + leaf tag { + description + "Set tag for this route"; + type uint32 { + range "1..4294967295"; + } + } + } + + grouping ip-route-options-grouping { + uses ip-route-options-no-track-grouping; + leaf track { + description + "Install route depending on tracked item"; + type uint16 { + range "1..1000"; + } + status deprecated; + } + } + + grouping ip-route-options-track-mandatory-grouping { + uses ip-route-options-no-track-grouping; + container track-id-name { + description + "Install route depending on tracked item"; + choice track-choice { + mandatory true; + leaf id { + description + "Track number"; + type uint16 { + range "1..1000"; + } + } + } + } + } + + grouping ip-route-options-interface-grouping { + uses ip-route-options-no-track-grouping; + container track-id-name { + description + "Install route depending on tracked item"; + choice track-choice { + leaf id { + description + "Track number"; + type uint16 { + range "1..1000"; + } + } + } + } + leaf track { + description + "Install route depending on tracked item"; + type uint16 { + range "1..1000"; + } + status deprecated; + } + } + + grouping ip-route-srte-options-grouping { + leaf metric { + type uint8 { + range "1..255"; + } + default "1"; + } + leaf name { + description + "Specify name of the next hop"; + type string { + length "1..255"; + } + } + leaf tag { + description + "Set tag for this route"; + type uint32 { + range "1..4294967295"; + } + } + } + + grouping ip-route-srte-options-grouping-obsolete { + leaf metric { + status obsolete; + type uint8 { + range "1..255"; + } + default "1"; + } + leaf name { + status obsolete; + description + "Specify name of the next hop"; + type string { + length "1..255"; + } + } + leaf tag { + status obsolete; + description + "Set tag for this route"; + type uint32 { + range "1..4294967295"; + } + } + } + + grouping ip-route-grouping-min-elements { + list ip-route-interface-forwarding-list { + key "prefix mask"; + min-elements 1; + leaf prefix { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + uses ip-route-dhcp-only-options-grouping; + list fwd-list { + key "fwd"; + leaf fwd { + description + "Specify the next hop as an ip-address or interface name"; + type union { + type enumeration { + enum Null0; + } + type inet:ipv4-address; + type string; + } + must "not (starts-with(., 'Dialer')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Dialer interface must be created first and deleted last."; + } + must "not (starts-with(., 'Loopback')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Loopback interface must be created first and deleted last."; + } + must "not (starts-with(., 'Tunnel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Tunnel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Port-channel')) or (/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]) or (/ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()])" { + error-message "Port-channel interface must be created first and deleted last."; + } + must "not (starts-with(., 'LISP')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "LISP interface must be created first and deleted last."; + } + must "not (starts-with(., 'Virtual-Template')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Virtual-Template interface must be created first and deleted last."; + } + must "not (starts-with(., 'BDI')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BDI interface must be created first and deleted last."; + } + must "not (starts-with(., 'Ethernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Ethernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FastEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FastEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'GigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "GigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TenGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TenGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FiveGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FiveGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwentyFiveGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwentyFiveGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwoGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwoGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FortyGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FortyGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'HundredGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "HundredGigE interface must be created first and deleted last."; + } + } + list interface-next-hop { + key "ip-address"; + leaf ip-address { + type inet:ipv4-address; + } + uses ip-route-options-interface-grouping; + } + uses ip-route-options-grouping; + } + list fwd-list-with-track { + key "fwd"; + leaf fwd { + description + "Specify the next hop as an ip-address or interface name"; + type union { + type enumeration { + enum Null0; + } + type inet:ipv4-address; + type string; + } + } + uses ip-route-options-track-mandatory-grouping; + } + uses ip-route-segment-routing-grouping; + } + } + + grouping ip-route-fwd-list-key-grouping { + leaf fwd { + description + "Specify the next hop as an ip-address or interface name"; + type union { + type enumeration { + enum Null0; + } + type inet:ipv4-address; + type string; + } + must "not (starts-with(., 'Dialer')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Dialer interface must be created first and deleted last."; + } + must "not (starts-with(., 'Loopback')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Loopback interface must be created first and deleted last."; + } + must "not (starts-with(., 'Tunnel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Tunnel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Port-channel')) or (/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]) or (/ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()])" { + error-message "Port-channel interface must be created first and deleted last."; + } + must "not (starts-with(., 'LISP')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "LISP interface must be created first and deleted last."; + } + must "not (starts-with(., 'Virtual-Template')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Virtual-Template interface must be created first and deleted last."; + } + must "not (starts-with(., 'BDI')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BDI interface must be created first and deleted last."; + } + must "not (starts-with(., 'Ethernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Ethernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FastEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FastEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'GigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "GigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TenGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TenGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FiveGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FiveGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwentyFiveGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwentyFiveGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwoGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwoGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FortyGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FortyGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'HundredGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "HundredGigE interface must be created first and deleted last."; + } + } + } + + grouping ip-route-grouping { + list ip-route-interface-forwarding-list { + key "prefix mask"; + leaf prefix { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + uses ip-route-dhcp-only-options-grouping; + list fwd-list { + key "fwd"; + uses ip-route-fwd-list-key-grouping; + list interface-next-hop { + key "ip-address"; + leaf ip-address { + type inet:ipv4-address; + } + uses ip-route-options-interface-grouping; + } + uses ip-route-dhcp-grouping; + uses ip-route-options-grouping; + } + list fwd-list-with-track { + key "fwd"; + uses ip-route-fwd-list-key-grouping; + uses ip-route-dhcp-grouping; + uses ip-route-options-track-mandatory-grouping; + } + uses ip-route-segment-routing-grouping; + } + } + + grouping ip-route-segment-routing-grouping { + container segment-routing { + container srv6 { + description + "SRv6"; + container via { + description + "via"; + container policy { + description + "Next Hop Policy"; + list policy { + description + "Next Hop Policy"; + key "srname"; + leaf srname { + type string { + length "1..64"; + } + } + uses ip-route-srte-options-grouping; + } + list policy-with-sid { + description + "Policy With SID"; + key "srname"; + leaf srname { + type string { + length "1..64"; + } + } + container sid-list { + description + "SID list"; + list h-encaps-red { + description + "VPN SID"; + key "vpn-sid"; + leaf vpn-sid { + type inet:ipv6-address; + } + uses ip-route-srte-options-grouping; + } + } + } + } + } + } + list policy { + status obsolete; + key "srname"; + leaf srname { + status obsolete; + type string { + length "1..64"; + } + } + uses ip-route-srte-options-grouping-obsolete; + } + } + } + + grouping ip-exp-path-mode-cfg-grouping { + list index { + description + "Specify the next entry index to add, edit (or delete): <1..65535>"; + key "idx"; + leaf idx { + type uint32 { + range "1..65535"; + } + } + choice ip-exp-path-option { + container next-address { + description + "Specify the next address in the path"; + leaf loose { + description + "Target IPv4 address is loose"; + type empty; + } + leaf ipv4 { + description + "Target IPv4 address (strict)"; + type inet:ipv4-address; + } + } + leaf next-label { + description + "Specify the next MPLS label in the path: <0..1048575>"; + type uint32 { + range "0..1048575"; + } + } + leaf exclude-address { + description + "Exclude an address from subsequent partial path segments"; + type inet:ipv4-address; + } + leaf exclude-srlg { + description + "Specify an address to get SRLGs from for exclusion"; + type inet:ipv4-address; + } + } + } + } + + grouping config-ip-ssh-algorithm-grouping { + container algorithm { + description + "Configure different algorithms used in SSH"; + container encryption { + description + "Encryption algorithms advertised to other party"; + leaf aes128-ctr { + description + "AES with 128-bit key in CTR mode"; + type empty; + } + leaf aes192-ctr { + description + "AEC with 192-bit key in CTR mode"; + type empty; + } + leaf aes256-ctr { + description + "AEC with 256-bit key in CTR mode"; + type empty; + } + } + } + } + + grouping config-ip-grouping { + container ip { + description + "Global IP configuration subcommands"; + container ospf { + description + "Configure for ospf"; + leaf name-lookup { + description + "Display OSPF router ids as DNS names"; + type empty; + } + } + leaf address-pool { + description + "Configure ip address-pool mechanism"; + type enumeration { + enum dhcp-pool; + enum dhcp-proxy-client; + enum local; + } + } + container admission { + description + "Network Admission Control (NAC)"; + container watch-list { + description + "Watch-list"; + leaf expiry-time { + description + "Configure expiry time for watch-list entries"; + type uint16 { + range "0..35791"; + } + } + } + container name { + description + "Specify an Authentication Proxy Rule"; + container webauth { + description + "help"; + container proxy { + description + "Authentication Proxy Protocol"; + leaf http { + description + "HTTP Protocol"; + type empty; + } + } + } + } + } + container arp { + description + "IP ARP global configuration"; + container incomplete { + description + "Fine-tune the ARP Retry parameters"; + leaf entries { + description + "Specify the number of IP addresses to resolve"; + type uint32 { + range "1..2147483647"; + } + } + leaf retry { + description + "Number of times an ARP Request is sent"; + type uint32 { + range "1..2147483647"; + } + default "20"; + } + } + container inspection { + description + "Arp Inspection configuration"; + list filter { + description + "Specify ARP acl to be applied"; + key "arpacl"; + leaf arpacl { + type string; + } + list vlan-new { + description + "Vlans to apply the filter"; + key "vlan-range"; + leaf vlan-range { + type uint16 { + range "1..4094"; + } + } + leaf static { + description + "Apply the ACL statically"; + type empty; + } + } + list vlan { + description + "Vlans to apply the filter"; + status deprecated; + key "vlan-range"; + leaf vlan-range { + status deprecated; + type string; + } + leaf static { + description + "Apply the ACL statically"; + status deprecated; + type empty; + } + } + } + container validate { + description + "Validate addresses"; + leaf src-mac { + description + "Validate source MAC address"; + type empty; + } + leaf dst-mac { + description + "Validate destination MAC address"; + type empty; + } + leaf ip { + description + "Validate IP addresses"; + type empty; + } + container allow { + leaf zeros { + description + "Allow 0.0.0.0 sender IP address"; + type empty; + } + } + } + container log-buffer { + description + "Log Buffer Configuration"; + leaf entries { + description + "Number of entries for log buffer"; + type uint16 { + range "0..1024"; + } + } + container logs { + description + "Number of logs per interval"; + leaf entries { + description + "Number of entries for log buffer"; + type uint16 { + range "0..1024"; + } + } + leaf interval { + description + "Interval for controlling logging rate"; + type uint32 { + range "0..86400"; + } + } + } + } + list vlan-list { + description + "Enable/Disable ARP Inspection on vlans"; + key "vlan"; + leaf vlan { + description + "ARP inspection VLAN"; + type uint16 { + range "1..4094"; + } + } + } + leaf vlan { + status deprecated; + description + "Enable/Disable ARP Inspection on vlans(Deprecated)"; + type string; + } + } + container proxy { + description + "Gratuitous ARP control"; + leaf disable { + description + "Disable proxy ARP on all interfaces"; + type empty; + } + } + container entry { + description + "Global ARP table learn entry"; + leaf learn { + description + "Maximum learn entry limit"; + type uint32 { + range "255..512000"; + } + } + } + container gratuitous { + description + "Gratuitous ARP control"; + leaf options { + description + "Specify gratuitous ARP options"; + type enumeration { + enum none; + enum local; + enum ignore; + } + } + } + } + container domain-list { + description + "Domain name to complete unqualified host names"; + status obsolete; + leaf domain-name { + status obsolete; + type string; + } + container vrf { + description + "Specify VRF"; + status obsolete; + leaf vrf-name { + status obsolete; + type string; + } + leaf domain-name { + status obsolete; + type string; + } + } + } + container finger { + description + "finger server"; + presence "true"; + } + container rcmd { + description + "Rcmd commands"; + leaf rcp-enable { + description + "Enable server side of RCP"; + type empty; + } + leaf rsh-enable { + description + "Enable server side of RSh"; + type empty; + } + leaf domain-lookup { + description + "Enable IP DNS queries for Rcmd"; + when "../../domain/lookup = 'true'"; + type boolean; + default "true"; + } + } + leaf subnet-zero { + description + "Allow 'subnet zero' subnets"; + type boolean; + } + container bgp-community { + description + "format for BGP community"; + leaf new-format { + description + "select aa:nn format for BGP community"; + type empty; + } + } + leaf host-routing { + description + "Enable host-based routing (proxy ARP and redirect)"; + type empty; + } + container hostname { + description + "Configure hostname types"; + leaf strict { + description + "Only Allow hostname that comply with rfc1123"; + type boolean; + default "false"; + } + } + list vrf { + description + "Configure an IP VPN Routing/Forwarding instance"; + key "name"; + leaf name { + description + "WORD;;VPN Routing/Forwarding instance name"; + type string; + } + container bgp { + description + "Commands pertaining to BGP"; + container next-hop { + description + "Next-hop for the routes of a VRF in the backbone"; + leaf Loopback { + description + "Loopback interface number"; + type uint32 { + range "0..2147483647"; + } + } + } + } + leaf context { + description + "Associate SNMP context with this vrf"; + type string; + } + leaf description { + description + "VRF specific description"; + type string { + length "1..244"; + } + } + leaf rd { + description + "Specify Route Distinguisher"; + type rd-type; + } + container export { + description + "VRF export"; + leaf map { + description + "Route-map based VRF export"; + type string; + } + container ipv4 { + description + "Address family based VRF export"; + leaf ipv4-type { + type enumeration { + enum unicast; + enum multicast; + } + } + choice map-choice { + case upper-limit-case { + leaf upper-limit { + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF export"; + type string; + } + } + case map-only-case { + leaf map-only { + description + "Route-map based VRF export"; + type string; + } + } + } + } + } + container import { + description + "VRF import"; + choice import-choice { + leaf map { + description + "Route-map based VRF import"; + type string; + } + container ipv4 { + description + "Address family based VRF import"; + leaf ipv4-type { + type enumeration { + enum unicast; + enum multicast; + } + } + leaf upper-limit { + type uint32 { + range "1..2147483647"; + } + } + leaf map { + description + "Route-map based VRF import"; + type string; + } + } + } + } + uses vrf-maximum-grouping; + container mdt { + description + "Backbone Multicast Distribution Tree"; + presence "Backbone Multicast Distribution Tree"; + leaf default { + description + "The default group"; + type inet:ipv4-address; + } + leaf log-reuse { + description + "Event logging for data MDT reuse"; + type empty; + } + container data { + description + "MDT data group range"; + leaf mulicast-address { + type inet:ipv4-address; + } + leaf wildcard-bits { + type inet:ipv4-address; + } + choice mdt-data-choice { + case mdt-data-threshold { + leaf threshold { + description + "MDT switching threshold"; + type uint32 { + range "1..4294967"; + } + } + leaf threshold-list { + description + "Access-list"; + type mdt-data-list-type; + } + } + case mdt-data-list { + leaf list { + description + "Access-list"; + type mdt-data-list-type; + } + } + } + } + } + uses route-replicate-grouping; + list route-target { + description + "Specify Target VPN Extended Communities"; + must '../rd' { + error-message "Does not have an RD configured, please configure the RD before configuring vrf route-target"; + } + key "direction target"; + leaf direction { + type enumeration { + enum both; + enum export; + enum import; + } + } + leaf target { + type rd-type; + } + } + container vpn { + description + "Configure VPN ID as specified in rfc2685"; + leaf id { + description + "Configure VPN ID in rfc2685 format"; + type vpn-id-type; + } + } + } + container as-path { + description + "BGP autonomous system path filter"; + } + container local { + description + "Specify local options"; + container policy { + description + "Enable policy routing"; + leaf route-map { + description + "Policy route map"; + type string; + } + } + list pool { + description + "IP Local address pool lists"; + key "id"; + leaf id { + type union { + type string; + type enumeration { + enum default; + } + } + } + leaf start { + type inet:ipv4-address; + } + leaf last { + type inet:ipv4-address; + } + leaf group { + description + "Create ip local pool group"; + type string; + } + } + } + container cef-v2 { + description + "Cisco Express Forwarding"; + } + container cef { + status deprecated; + description + "Cisco Express Forwarding (DEPRECATED)"; + presence "true"; + } + leaf classless-v2 { + description + "Follow classless routing forwarding rules"; + type boolean; + default "true"; + } + leaf classless { + status deprecated; + description + "Follow classless routing forwarding rules - deprecated"; + type empty; + } + container domain { + description + "IP DNS Resolver"; + container list { + description + "Domain name to complete unqualified host names"; + leaf-list domain-name { + type string; + } + container vrf { + description + "Specify VRF"; + leaf vrf-name { + type string; + } + leaf domain-name { + type string; + } + } + } + leaf lookup { + description + "Enable IP Domain Name System hostname translation"; + type boolean; + default "true"; + } + container lookup-settings { + container lookup { + description + "Enable IP Domain Name System hostname translation"; + leaf nsap { + description + "Enable IP DNS queries for CLNS NSAP addresses"; + type empty; + } + leaf recursive { + description + "Enable IP DNS recursive lookup"; + type empty; + } + list vrf { + description + "Specify VRF"; + key "vrf-name"; + leaf vrf-name { + description + "VRF name"; + type string; + } + container source-interface { + description + "Specify source interface for DNS resolver"; + uses ios-ifc:interface-grouping; + } + } + container source-interface { + description + "Specify source interface for DNS resolver"; + uses ios-ifc:interface-grouping; + } + } + leaf name { + description + "Define the default domain name"; + type string; + } + } + container name-container { + leaf name-no-vrf { + description + "Define the default domain name"; + type string { + length "1..236"; + } + } + list vrf { + description + "Specify VRF"; + key "word"; + leaf word { + description + "Specify VRF name"; + type string; + } + leaf name-vrf { + description + "Specify default domain name"; + type string; + } + } + } + leaf name { + status deprecated; + description + "Define the default domain name"; + type string { + length "1..236"; + } + } + leaf periodic-resolve { + description + "Specify periodicity for DNS resolution"; + type uint32 { + range "30..3000"; + } + default "240"; + } + leaf timeout { + description + "Specify timeout waiting for response to a DNS query"; + type uint16 { + range "1..3600"; + } + units "seconds"; + default "5"; + } + leaf multicast { + description + "Define the default multicast domain name"; + type string { + length "1..233"; + } + default "in-addr.arpa"; + } + } + container domain-lookup-conf { + status obsolete; + leaf domain-lookup { + status obsolete; + type boolean; + } + } + container domain-lookup { + description + "Enable IP Domain Name System hostname translation"; + presence "true"; + status obsolete; + leaf nsap { + description + "Enable IP DNS queries for CLNS NSAP addresses"; + status obsolete; + type empty; + } + container source-interface { + description + "Specify source interface for DNS resolver"; + status obsolete; + uses ios-ifc:interface-grouping; + } + } + container dns { + description + "Configure DNS server for a zone"; + container server { + description + "Enable DNS server"; + presence "true"; + } + } + leaf default-gateway { + description + "Specify default gateway (if not routing IP)"; + type inet:ipv4-address; + } + container dhcp { + description + "Configure DHCP server and relay parameters"; + } + container dhcp-relay { + description + "Configure IP DHCP relay agent"; + } + container dhcp-server { + description + "DHCP server parameters"; + } + container dhcp-client { + description + "Parameters for DHCP client operation"; + } + container forward-protocol-v2 { + description + "Specifies the forwarding of physical and directed IP broadcasts"; + leaf nd { + description + "Sun's Network Disk protocol"; + type boolean; + default "true"; + } + leaf sdns { + description + "Network Security Protocol"; + type empty; + } + container spanning-tree { + description + "Transparent bridging to flood UDP broadcasts"; + presence "true"; + leaf any-local-broadcast { + description + "Forward any local broadcast when flooding"; + type empty; + } + } + container turbo-flood { + description + "Fast flooding of UDP broadcasts"; + presence "true"; + leaf udp-checksum { + description + "UDP Checksum"; + type empty; + } + } + container udp { + description + "Packets to a specific UDP port"; + presence "true"; + leaf biff { + description + "Mail notification protocol"; + type empty; + } + leaf bootpc { + description + "Bootstrap Protocol client"; + type empty; + } + leaf bootps { + description + "Bootstrap Protocol server"; + type empty; + } + leaf discard { + description + "Discard server"; + type empty; + } + leaf dnsix { + description + "DNSIX security protocol"; + type empty; + } + leaf domain { + description + "Domain Name Service"; + type boolean; + default "true"; + } + leaf echo { + description + "Echo protocol"; + type empty; + } + leaf isakmp { + description + "Internet Security Association and Key Management Protocol"; + type empty; + } + leaf mobile-ip { + description + "Mobile IP registration"; + type empty; + } + leaf nameserver { + description + "IEN116 name service"; + type boolean; + default "true"; + } + leaf netbios-dgm { + description + "NetBios datagram service"; + type boolean; + default "true"; + } + leaf netbios-ns { + description + "NetBios name service"; + type boolean; + default "true"; + } + leaf netbios-ss { + description + "NetBios session service"; + type empty; + } + leaf non500-isakmp { + description + "Internet Security Association and Key Management Protocol"; + type empty; + } + leaf ntp { + description + "Network Time Protocol"; + type empty; + } + leaf pim-auto-rp { + description + "PIM Auto-RP"; + type empty; + } + leaf rip { + description + "Routing Information Protocol"; + type empty; + } + leaf ripv6 { + description + "Routing Information Protocol V6"; + type empty; + } + leaf snmp { + description + "Simple Network Management Protocol"; + type empty; + } + leaf snmptrap { + description + "SNMP Traps"; + type empty; + } + leaf sunrpc { + description + "Sun Remote Procedure Call"; + type empty; + } + leaf syslog { + description + "System Logger"; + type empty; + } + leaf tacacs { + description + "TAC Access Control System"; + type boolean; + default "true"; + } + leaf talk { + description + "Talk"; + type empty; + } + leaf tftp { + description + "Trivial File Transfer Protocol"; + type boolean; + default "true"; + } + leaf time { + description + "Time"; + type boolean; + default "true"; + } + leaf who { + description + "Who service"; + type empty; + } + leaf xdmcp { + description + "X Display Manager Control Protocol"; + type empty; + } + } + } + container forward-protocol { + status deprecated; + description + "Controls forwarding of physical and directed IP broadcasts"; + choice protocol-choice { + status deprecated; + leaf protocol { + status deprecated; + type enumeration { + enum nd; + enum sdns; + enum turbo-flood; + } + } + container spanning-tree { + status deprecated; + description + "Use transparent bridging to flood UDP broadcasts"; + presence "true"; + leaf any-local-broadcast { + status deprecated; + description + "Accept any local broadcast when flooding"; + type empty; + } + } + container udp { + status deprecated; + description + "Packets to a specific UDP port"; + leaf biff { + status deprecated; + description + "Biff (mail notification, comsat, 512)"; + type boolean; + } + leaf bootpc { + status deprecated; + description + "Bootstrap Protocol (BOOTP) client (68)"; + type boolean; + } + leaf bootps { + status deprecated; + description + "Bootstrap Protocol (BOOTP) server (67)"; + type boolean; + } + leaf discard { + status deprecated; + description + "Discard (9)"; + type boolean; + } + leaf dnsix { + status deprecated; + description + "DNSIX security protocol auditing (195)"; + type boolean; + } + leaf domain { + status deprecated; + description + "Domain Name Service (DNS, 53)"; + type boolean; + } + leaf echo { + status deprecated; + description + "Echo (7)"; + type boolean; + } + leaf isakmp { + status deprecated; + description + "Internet Security Association and Key Management Protocol(500)"; + type boolean; + } + leaf mobile-ip { + status deprecated; + description + "Mobile IP registration (434)"; + type boolean; + } + leaf nameserver { + status deprecated; + description + "IEN116 name service (obsolete, 42)"; + type boolean; + } + leaf netbios-dgm { + status deprecated; + description + "NetBios datagram service (138)"; + type boolean; + } + leaf netbios-ns { + status deprecated; + description + "NetBios name service (137)"; + type boolean; + } + leaf netbios-ss { + status deprecated; + description + "NetBios session service (139)"; + type boolean; + } + leaf non500-isakmp { + status deprecated; + description + "Internet Security Association and Key Management Protocol(4500)"; + type boolean; + } + leaf ntp { + status deprecated; + description + "Network Time Protocol (123)"; + type boolean; + } + leaf pim-auto-rp { + status deprecated; + description + "PIM Auto-RP (496)"; + type boolean; + } + leaf rip { + status deprecated; + description + "Routing Information Protocol (router, in.routed, 520)"; + type boolean; + } + leaf snmp { + status deprecated; + description + "Simple Network Management Protocol (161)"; + type boolean; + } + leaf snmptrap { + status deprecated; + description + "SNMP Traps (162)"; + type boolean; + } + leaf sunrpc { + status deprecated; + description + "Sun Remote Procedure Call (111)"; + type boolean; + } + leaf syslog { + status deprecated; + description + "System Logger (514)"; + type boolean; + } + leaf tacacs { + status deprecated; + description + "TAC Access Control System (49)"; + type boolean; + } + leaf talk { + status deprecated; + description + "Talk (517)"; + type boolean; + } + leaf tftp { + status deprecated; + description + "Trivial File Transfer Protocol (69)"; + type boolean; + } + leaf time { + status deprecated; + description + "Time (37)"; + type boolean; + } + leaf who { + status deprecated; + description + "Who service (rwho, 513)"; + type boolean; + } + leaf xdmcp { + status deprecated; + description + "X Display Manager Control Protocol (177)"; + type boolean; + } + } + } + } + choice gratuitous-arps-choice { + default "gratuitous-arps-nonlocal-case"; + case gratuitous-arps-case { + container gratuitous-arps-only { + leaf gratuitous-arps { + description + "Gratuitous ARPs for PPP/SLIP peer addresses"; + type boolean; + } + } + } + case gratuitous-arps-nonlocal-case { + container gratuitous-arps-nonlocal { + leaf non-local { + description + "Non-local PPP/SLIP gratuitous ARPs (default)"; + type boolean; + default "true"; + } + } + } + } + container gratuitous-arps-conf { + status deprecated; + leaf gratuitous-arps { + status deprecated; + description + "This node is deprecated and replaced by gratuitous-arps under gratuitous-arps-choice"; + type boolean; + } + } + container ftp { + description + "FTP configuration commands"; + container source-interface { + description + "Specify interface for source address in FTP connections"; + uses ios-ifc:interface-grouping; + } + leaf passive-enable { + description + "Connect using passive mode"; + type boolean; + default "true"; + } + leaf passive { + status obsolete; + description + "Connect using passive mode, obsolete and replaced by passive-enable"; + type empty; + } + container password { + description + "Specify password for FTP connections;"; + uses password-grouping; + } + leaf username { + description + "Specify username for FTP connections"; + type string; + } + } + container telnet { + description + "Specify telnet options"; + leaf source-interface { + description + "Specify source interface"; + type string; + } + container comport { + description + "RFC 2217 options"; + container disconnect { + description + "Delay seconds before TCP close after DTR drop"; + leaf delay { + description + "Seconds to delay tcp close"; + type uint16 { + range "0..360"; + } + default "0"; + } + } + container flow { + description + "Flow control configuration"; + leaf level { + description + "Number of characters to buffer at device before sending RFC 2217 SUSPEND message"; + type uint16 { + range "1..1023"; + } + default "16"; + } + } + container receive { + description + "Receive window configuration"; + leaf window { + description + "Maximum TCP receive window"; + type uint32 { + range "1..131072"; + } + default "4128"; + } + } + leaf enable { + description + "RFC 2217 enabling configuration"; + type boolean; + default "true"; + } + } + } + container host { + description + "Add an entry to the ip hostname table"; + list host-list { + key "name"; + leaf name { + description + "Name of host"; + type string; + } + leaf-list ip-list-ordered { + description + "Host IP address"; + ordered-by user; + type inet:ip-address; + } + leaf-list ip-list { + description + "Host IP address"; + status deprecated; + type inet:ip-address; + } + } + list vrf { + description + "Specify VRF"; + key "vrf-name"; + leaf vrf-name { + description + "VRF name"; + type string; + } + list host-name { + description + "Name of host"; + key "host-name"; + leaf host-name { + description + "Name of host"; + type string; + } + leaf-list ip-list { + description + "Host IP address"; + ordered-by user; + type inet:ip-address; + } + } + } + } + container multicast { + description + "Global IP Multicast Commands"; + } + container name-server { + leaf-list no-vrf-ordered { + ordered-by user; + description + "Domain server IPv4/IPv6 address (maximum of 6)"; + max-elements 6; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf-list no-vrf { + status deprecated; + description + "Domain server IPv4/IPv6 address (maximum of 6)"; + max-elements 6; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + list vrf { + description + ""; + key "word"; + leaf word { + description + "Specify VRF Name"; + type string; + } + leaf-list server-ip-list-ordered { + description + "Domain server IPv4/IPv6 address (maximum of 6)"; + ordered-by user; + max-elements 6; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf-list server-ip-list { + status deprecated; + description + "Domain server IPv4/IPv6 address (maximum of 6)"; + max-elements 6; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf server-ip { + status deprecated; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + } + container options { + description + "IP Options treatment"; + leaf drop { + description + "Drop all IP options packets"; + type empty; + } + } + container pim { + description + "PIM global commands"; + } + grouping ip-prefix-lists-grouping { + list prefix-only-list { + description + "Prefix lists without sequence numbers"; + ordered-by user; + key "prefix"; + leaf prefix { + description + "IPv4 Prefix"; + type inet:ipv4-prefix; + } + } + list prefix-ge-list { + description + "Combination of prefix with ge entries"; + ordered-by user; + key "prefix ge"; + leaf prefix { + description + "IPv4 Prefix"; + type inet:ipv4-prefix; + } + leaf ge { + description + "Minimum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + } + list prefix-le-list { + description + "Combination of prefix with le entries"; + ordered-by user; + key "prefix le"; + leaf prefix { + description + "IPv4 Prefix"; + type inet:ipv4-prefix; + } + leaf le { + description + "Maximum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + } + list prefix-ge-le-list { + description + "Combination of prefix with ge and le entries"; + ordered-by user; + key "prefix ge le"; + leaf prefix { + description + "IPv4 Prefix"; + type inet:ipv4-prefix; + } + leaf ge { + description + "Minimum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + leaf le { + description + "Maximum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + } + } + + container prefix-lists { + description + "Build a prefix list"; + list name-only-prefixes { + description + "Build a prefix list without sequence number"; + if-feature "ios-features:prefixlist-controller"; + key "name"; + leaf name { + description + "Name of the prefix-list"; + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + container permit { + description + "Specify packets to forward"; + uses ip-prefix-lists-grouping; + } + container deny { + description + "Specify packets to reject"; + uses ip-prefix-lists-grouping; + } + } + list prefixes { + description + "Build prefix-lists with name ans seq.no"; + key "name no"; + leaf name { + description + "Name of the prefix-list"; + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)|(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf no { + description + "Seq Number of the prefix-list"; + type uint32 { + range "1..4294967294"; + } + } + leaf action { + description + "Specify deny or permit action"; + type enumeration { + enum permit; + enum deny; + } + } + leaf ip { + description + "IPv4 Prefix"; + type inet:ipv4-prefix; + } + leaf ge { + description + "Minimum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + leaf le { + description + "Maximum prefix length to be matched"; + type uint8 { + range "1..32"; + } + } + } + list prefix-list-description { + description + "Describe about prefix-list entry"; + key "name"; + leaf name { + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)|(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf description { + description + "Prefix-list specific description"; + type string { + length "1..80"; + } + } + } + leaf sequence-number-boolean { + description + "Include/exclude sequence numbers in NVGEN"; + type boolean; + default "true"; + } + leaf sequence-number { + status deprecated; + description + "Include/exclude sequence numbers in NVGEN deprecated"; + type empty; + } + } + container prefix-list { + status obsolete; + if-feature "ios-features:prefixlist-autonomous"; + description + "Build a prefix list (DEPRECATED)"; + list prefixes { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)|(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf description { + status obsolete; + description + "Prefix-list specific description (DEPRECATED)"; + type string { + length "1..80"; + } + } + list seq { + status obsolete; + description + "sequence number of an entry (DEPRECATED)"; + key "no"; + leaf no { + status obsolete; + type uint32 { + range "1..4294967294"; + } + } + leaf action { + status obsolete; + type enumeration { + enum permit; + enum deny; + } + } + leaf ip { + status obsolete; + type inet:ipv4-prefix; + } + leaf ge { + status obsolete; + description + "Minimum prefix length to be matched (DEPRECATED)"; + type uint8 { + range "1..32"; + } + } + leaf le { + status obsolete; + description + "Maximum prefix length to be matched (DEPRECATED)"; + type uint8 { + range "1..32"; + } + } + } + } + leaf sequence-number { + status obsolete; + description + "Include/exclude sequence numbers in NVGEN (DEPRECATED)"; + type empty; + } + } + container route { + description + "Establish static routes"; + uses ip-route-grouping; + leaf profile { + description + "Enable IP routing table profile"; + type empty; + } + container static { + description + "Allow static routes"; + leaf adjust-time { + description + "Time period for adjusting static routes"; + type uint8 { + range "1..60"; + } + } + container bfd { + description + "BFD tracked"; + list interface { + key "name gateway_ip"; + leaf name { + type union { + type enumeration { + enum Null0; + } + type string; + } + } + leaf gateway_ip { + description + "Gateway IP address"; + type inet:ipv4-address; + } + uses ip-route-static-bfd-group-grouping; + } + uses ip-route-static-bfd-ip-grouping; + list vrf { + description + "Destination VRF name"; + key "name"; + leaf name { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "% vrf does not exist. Create first"; + } + type string; + } + uses ip-route-static-bfd-ip-grouping; + } + } + container install-routes-recurse-via-nexthop { + description + "installing recursive route next hop"; + leaf all { + description + "Configure for all default topologies"; + type empty; + } + container recurse-nexthop { + description + "Recursive route next hop's"; + list topology { + key "topology-id"; + leaf topology-id { + description + "Configure recursive static route for a Topology"; + type string; + } + uses routes-recurse-grouping; + } + list vrf { + key "vrf-id"; + leaf vrf-id { + description + "Configure static route for a VPN Routing/Forwarding instance"; + type string; + } + uses routes-recurse-grouping; + } + uses routes-recurse-grouping; + } + leaf install-routes-recurse-via-nexthop { + description + "installing recursive route next hop"; + type empty; + } + } + leaf inter-vrf { + description + "Across VRF interfaces"; + type empty; + } + } + list vrf { + description + "Configure static route for a VPN Routing/Forwarding instance"; + key "name"; + leaf name { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "Please create ipv4 vrf first, and delete the last"; + } + type string; + } + list topology { + description + "Configure static route for a Topology Routing/Forwarding instance"; + key "name"; + leaf name { + must "not (current() = 'base')" { + error-message "only non 'base' topology is allowed"; + } + type string; + } + list ip-route-interface-forwarding-list { + key "prefix mask"; + leaf prefix { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + uses ip-route-dhcp-only-options-grouping; + list fwd-list { + key "fwd"; + leaf fwd { + description + "Specify the next hop as an ip-address or interface name"; + type union { + type enumeration { + enum Null0; + } + type inet:ipv4-address; + type string; + } + } + list interface-next-hop { + key "ip-address"; + leaf ip-address { + type inet:ipv4-address; + } + uses ip-route-options-interface-grouping { + refine "multicast" { + mandatory true; + } + } + } + uses ip-route-options-grouping { + refine "multicast" { + mandatory true; + } + } + } + list fwd-list-with-track { + key "fwd"; + leaf fwd { + description + "Specify the next hop as an ip-address or interface name"; + type union { + type enumeration { + enum Null0; + } + type inet:ipv4-address; + type string; + } + } + uses ip-route-options-track-mandatory-grouping { + refine "multicast" { + mandatory true; + } + } + } + } + } + uses ip-route-grouping-min-elements; + } + list topology { + description + "Configure static route for a Topology Routing/Forwarding instance"; + key "name"; + leaf name { + must "not (current() = 'base')" { + error-message "only non 'base' topology is allowed"; + } + type string; + } + uses ip-route-grouping; + } + } + container routing-conf { + description + "IP routing configuration"; + leaf routing { + description + "Enable or disable IP routing"; + type boolean; + default "true"; + } + } + container routing-new { + description + "IP routing options"; + when "(../routing-conf/routing = 'true')"; + container routing { + description + "IP routing options"; + container protocol { + description + "IP routing protocol"; + container purge { + description + "routes purge"; + leaf interface { + description + "Perform IP routing protocol routes purge on link failures"; + type boolean; + default "true"; + } + } + } + } + } + container routing { + status obsolete; + description + "This node is obsolete and replaced by routing-new and routing-conf"; + presence "true"; + container protocol { + status obsolete; + description + "IP routing protocol"; + container purge { + status obsolete; + description + "routes purge"; + leaf interface { + status obsolete; + description + "Perform IP routing protocol routes purge on link failures"; + type boolean; + } + } + } + } + container explicit-path { + description + "Configure explicit-path"; + list identifier { + description + "Specify explicit path by number: <1..65535>"; + key "pnum"; + leaf pnum { + type uint16 { + range "1..65535"; + } + } + leaf mode { + type enumeration { + enum enable; + enum disable; + } + } + uses ip-exp-path-mode-cfg-grouping; + } + list name { + description + "Specify explicit path by name"; + key "pname"; + leaf pname { + type string; + } + leaf mode { + type enumeration { + enum enable; + enum disable; + } + } + uses ip-exp-path-mode-cfg-grouping; + } + } + container scp { + description + "Scp commands"; + container server { + description + "Configure SCP server-side functionality"; + leaf enable { + description + "Enable server side of SCP"; + type empty; + } + } + leaf username { + description + "Specify username for SCP connections"; + type string; + } + container password { + description + "Specify password for SCP connections"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + default "0"; + } + leaf password-text { + type string { + pattern '.*'; + } + } + } + } + container sftp { + description + "SFTP commands"; + leaf username { + description + "Specify username for SFTP connections"; + type string; + } + container password { + description + "Specify password for SFTP connections"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + default "0"; + } + leaf password-text { + type string { + pattern '.*'; + } + } + } + } + container spd { + description + "spd"; + leaf mode { + type enumeration { + enum aggressive; + } + } + container queue { + description + "queue"; + leaf max-threshold { + description + "Max threshold"; + type uint16 { + range "0..65535"; + } + } + leaf min-threshold { + description + "Min threshold"; + must '. < ../max-threshold' { + error-message "min-threshold must be less than max-threshold"; + } + type uint16 { + range "0..65535"; + } + } + } + } + container bootp { + description + "Config BOOTP services"; + leaf server { + description + "Enable BOOTP server"; + type boolean; + } + } + leaf source-route { + description + "Process packets with source routing header options"; + type boolean; + } + container ssh { + description + "Configure ssh options"; + leaf authentication-retries { + description + "Specify number of authentication retries"; + type uint8 { + range "0..5"; + } + } + container rekey { + description + "Configure rekey values"; + leaf volume { + description + "Data transmitted in kilobytes"; + type uint32 { + range "100..4194303"; + } + } + } + container client { + description + "Configuration for client"; + uses config-ip-ssh-algorithm-grouping; + } + leaf dscp { + description + "IP DSCP value for SSH traffic"; + type uint8 { + range "0..63"; + } + } + container dh { + description + "Diffie-Hellman"; + container min { + description + "minimum"; + leaf size { + description + "key size"; + type enumeration { + enum 2048; + enum 4096; + } + default "2048"; + } + } + } + container logging { + description + "Configure logging for SSH"; + leaf events-enable { + description + "Log SSH events"; + type boolean; + default "true"; + } + leaf events { + description + "Log SSH events, deprecated and replaced by events-enable"; + status deprecated; + type empty; + } + } + container pubkey-chain { + description + "Configure public key-chain parameters"; + list username { + description + "Public keys associated with a user"; + max-elements 15; + key "name"; + leaf name { + description + "User name"; + type string; + } + list key-hash { + description + "Key hash data"; + max-elements 2; + key "key-type key-hash-value"; + leaf key-type { + description + "Key hash type"; + type enumeration { + enum ssh-rsa; + } + } + leaf key-hash-value { + description + "Key hash data value"; + type string; + } + } + } + } + leaf precedence { + description + "IP Precedence value for SSH traffic"; + type uint8 { + range "0..7"; + } + } + container rsa { + description + "Configure RSA keypair name for SSH"; + leaf keypair-name { + description + "keypair-name"; + type string; + } + } + container server { + description + "Configuration for server"; + uses config-ip-ssh-algorithm-grouping; + container peruser { + description + "Per User configuration"; + container session { + description + "Per User Session"; + leaf limit { + description + "Per User Session Limit"; + type uint8 { + range "1..16"; + } + } + } + } + container certificate { + description + "Certificate related configuration"; + container profile { + description + "Per User Session"; + presence "true"; + container server { + description + "Configuration for Server's own certificate"; + container ocsp-response { + description + "OCSP Response"; + leaf include { + description + "include OCSP Response for server certificate"; + type boolean; + default "false"; + } + } + } + container user { + description + "Configuration for User's certificate verification"; + container ocsp-response { + description + "OCSP Response"; + leaf required { + description + "required OCSP Response for user certificate"; + type boolean; + default "false"; + } + } + } + } + } + } + container source-interface-config { + description + "Specify interface for source address in SSH connections"; + uses ios-ifc:interface-grouping; + } + leaf source-interface { + status obsolete; + description + "Specify interface for source address deprecated in SSH connections"; + type string; + } + leaf time-out { + description + "Specify SSH time-out interval"; + type uint8 { + range "1..120"; + } + default "120"; + } + leaf ssh-version { + description + "Specify protocol version supported"; + type enumeration { + enum 2; + } + default "2"; + } + leaf version { + description + "Specify protocol version supported. DEPRECATED, Use ssh-version instead"; + status deprecated; + type uint8 { + range "1..2"; + } + } + leaf maxstartups { + description + "Maximum number of server sessions"; + type uint8 { + range "2..128"; + } + } + list port { + description + "Starting (or only) Port number to listen on"; + key "port-no"; + leaf port-no { + description + "Starting Port number"; + type uint16 { + range "2000..10000"; + } + } + leaf low-rotary { + description + "Starting (or only) rotary group number"; + type uint8 { + range "1..127"; + } + } + leaf high-rotary { + description + "Starting (or only) rotary group number"; + type uint8 { + range "1..127"; + } + } + } + container bulk-mode { + description + "Enable optimizations for bulk data transfer procedures"; + presence "true"; + leaf window-size { + description + "Window-size value"; + type uint32 { + range "131072..1073741824"; + } + default "131072"; + } + } + leaf window-size { + description + "SSH window size"; + type uint32 { + range "8192..131072"; + } + default "8192"; + units "bytes"; + } + } + container tcp { + description + "Global TCP parameters"; + container keepalive { + description + "TCP keepalive parameters"; + leaf interval { + description + "TCP keepalive interval"; + type uint16 { + range "1..7200"; + } + default "60"; + units "seconds"; + } + } + leaf mss { + description + "TCP initial maximum segment size"; + type uint16 { + range "0..10000"; + } + } + leaf queuemax { + description + "Maximum queue of outgoing TCP packets"; + type uint16 { + range "5..50"; + } + default "20"; + } + container path-mtu-discovery { + description + "Enable path-MTU discovery on new TCP connections"; + presence "true"; + leaf age-timer { + description + "Set PMTU aging timer"; + type union { + type enumeration { + enum infinite; + } + type uint8 { + range "10..30"; + } + } + } + } + leaf selective-ack { + description + "Enable TCP selective-ACK"; + type empty; + } + leaf synwait-time { + description + "Set time to wait on new TCP connections"; + type uint16 { + range "5..300"; + } + default "30"; + } + leaf timestamp { + description + "Enable TCP timestamp option"; + type empty; + } + leaf window-size { + description + "TCP window size"; + type uint32 { + range "0..1073741823"; + } + default "131072"; + } + leaf winupdate-opt { + description + "Enable TCP window update optimization"; + type boolean; + default "true"; + } + choice ack-tuning-choice { + default "ack-tuning-default-case"; + case ack-tuning-default-case { + container ack-tuning-default { + description + "Enable ACK suppression"; + leaf ack-tuning { + type boolean; + default "true"; + } + } + } + case ack-tuning-ratio { + container ack-tuning-ratio { + leaf ratio { + description + "Specify the desired suppression threshold"; + type uint8 { + range "5..20"; + } + } + } + } + } + container ack-tuning { + description + "Enable ACK suppression"; + status deprecated; + presence "true"; + leaf ratio { + description + "Specify the desired suppression threshold"; + status deprecated; + type uint8 { + range "5..20"; + } + } + } + container RST-config { + description + "Reset Segment Control configuration"; + leaf RST-count { + description + "Reset Throttle count number"; + type uint8 { + range "2..20"; + } + default "10"; + } + leaf RST-window { + description + "Reset Throttle window in msec"; + type uint32 { + range "2000..60000"; + } + default "5000"; + } + } + } + container tftp { + description + "tftp configuration commands"; + container boot-interface { + description + "Force interface to use for TFTP booting"; + uses ios-ifc:interface-grouping; + } + container source-interface { + description + "Specify interface for source address in TFTP connections"; + uses ios-ifc:interface-grouping; + } + leaf blocksize { + description + "Specify TFTP client blocksize"; + type uint16 { + range "512..8192"; + } + default "512"; + } + } + container verify { + description + "URPF SNMP trap and IP packet header validation commands"; + container drop-rate { + description + "drop-rate snmp trap config commands"; + container notify { + description + "drop-rate snmp trap config"; + container hold-down { + description + "min time between traps"; + leaf min-time { + description + "Min time between notifications in seconds"; + type uint16 { + range "30..300"; + } + } + } + } + container compute { + description + "drop-rate computation config commands"; + container interval { + description + "drop-rate computation config commands"; + leaf time-between-computations { + description + "Time between computations in seconds"; + type uint16 { + range "30..300"; + } + } + } + container window { + description + "drop-rate computation window"; + leaf max-time { + description + "Max time to accumulate drops in seconds"; + type uint16 { + range "30..300"; + } + } + } + } + } + } + container access-list { + description + "IOS Named access list"; + } + leaf sticky-arp { + description + "Sticky ARP entries status"; + type boolean; + default "true"; + } + container reflexive-list { + if-feature "ios-features:reflexive-acl"; + description + "IOS reflexive list"; + } + container device { + description + "Device tracking"; + } + container visibility { + description + "NetFlow Global Command"; + } + container sdwan { + list route { + key "vrf ipaddr"; + leaf vrf { + description + "Configure ipsec route for a VPN Routing/Forwarding instance"; + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "Please create ipv4 vrf first, and delete the last"; + } + type string; + } + leaf ipaddr { + description + "IP address"; + type ios-types:ipv4-address-slash-prefix-len; + } + choice tunnel-or-service { + case tunnel-based { + container tunnel { + container active { + leaf Tunnel { + description + "Active tunnel used for SIG"; + type leafref { + path "/ios:native/ios:interface/ios:Tunnel/ios:name"; + } + } + container backup { + leaf Tunnel { + description + "Backup tunnel used for SIG"; + type leafref { + path "/ios:native/ios:interface/ios:Tunnel/ios:name"; + } + } + } + } + } + } + case service-based { + container service { + choice service-based { + case sig-based { + leaf sig { + type empty; + } + } + case sse-based { + list sse { + description + "List of SSE instance name"; + key "instance"; + leaf instance { + description + "SSE instance name"; + type string { + length "1..255"; + } + } + } + } + } + } + } + } + } + } + } + } + + grouping routes-recurse-grouping { + leaf route-map { + description + "Configure route-map"; + type string; + } + leaf multicast { + description + "Configure multicast topology"; + type empty; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ipc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipc.yang new file mode 100644 index 000000000..9a5b2baf3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipc.yang @@ -0,0 +1,119 @@ +module Cisco-IOS-XE-ipc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ipc"; + prefix ios-ipc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE ipc YANG model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Added support for ipc YANG model"; + } + revision 2023-11-01 { + description + "-Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-ipc-grouping { + container ipc { + description + "IPC system configuration"; + container holdq { + description + "IPC hold parameters configuration"; + container threshold { + description + "IPC hold threshold values configuration"; + leaf lower { + description + "Lower threshold value for IPC hold; number of messages."; + must 'current() < ../upper' { + error-message + "Please configure a value for higher threshold first and + value lesser than that previously configured for higher + threshold"; + } + type uint16 { + range "1|10..2000"; + } + default "1"; + } + leaf upper { + description + "Upper threshold value for IPC hold; number of messages."; + type uint16 { + range "20|40..4000"; + } + default "20"; + } + } + } + container header-cache { + description + "IPC Permanent cache configuration"; + container permanent { + description + "Number of IPC Permanent caches"; + leaf cache { + description + "Maximum number of permanent cache size in bytes"; + type uint16 { + range "1000..10000"; + } + default "1000"; + } + leaf dynamic { + description + "Low water mark cache for dynamic growth"; + must 'current() < ../cache' { + error-message "Invalid input: ipc cache size should be > low water mark"; + } + type uint16 { + range "100..2000"; + } + default "100"; + } + } + } + container buffers { + description + "IPC buffer pool configuration"; + leaf min-free { + description + "Minimum number of free buffers"; + type uint16 { + range "144..360"; + } + default "144"; + } + } + } + } + + augment "/ios:native" { + uses config-ipc-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ipmux.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipmux.yang new file mode 100644 index 000000000..19f13097a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipmux.yang @@ -0,0 +1,425 @@ +module Cisco-IOS-XE-ipmux { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ipmux"; + prefix ios-ipmux; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native IP Multiplexing Yang model. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-10-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping ipmux-interface-grouping { + choice interface-choice { + leaf Ethernet { + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + description + "Five Gigabit Ethernet "; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five Gigabit Ethernet "; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five Gigabit Ethernet "; + type string; + } + leaf FortyGigabitEthernet { + description + "Forty Gigabit Ethernet"; + type string; + } + leaf TwoGigabitEthernet { + description + "Two Gigabit Ethernet "; + type string; + } + leaf HundredGigE { + description + "Hundred Gigabit Ethernet"; + type string; + } + leaf Tunnel { + description + "Tunnel interface"; + type uint32; + } + } + } + + grouping config-interface-ip-mux-grouping { + leaf mux { + description + "Enable IP multiplexing for outgoing packets"; + type empty; + } + } + + grouping config-ip-mux-profile-comm-grouping { + leaf shutdown { + type boolean; + default "true"; + } + leaf holdtime { + description + "Specify maximum mux policy queue hold time"; + default "20"; + type uint16 { + range "20..250"; + } + } + leaf maxlength { + description + "Specify maximum size of packets to be multiplexed"; + must '. < ../mtu' { + error-message "maxlength must be less than mtu"; + } + type uint16 { + range "64..1472"; + } + } + leaf mtu { + description + "Specify maximum superframe size"; + default "1500"; + type uint16 { + range "256..1500"; + } + } + leaf singlepacket { + description + "Send single packet superframes"; + type boolean; + default "true"; + } + leaf ttl { + default "64"; + type uint8 { + range "1..255"; + } + } + } + + grouping config-ip-mux-profile-v4-grouping { + leaf access-list { + description + "Specify standard or extended access lists to classify traffic"; + type ios-types:exp-acl-type; + } + leaf destination { + description + "Destination address of multiplexed packets"; + type inet:ipv4-address; + } + container source { + description + "Source address to use on multiplexed packets"; + choice source-choice { + case ip-case { + leaf source-ip { + type inet:ipv4-address; + } + } + case intf-case { + container interface { + description + "Interface for source IP address"; + uses ipmux-interface-grouping; + } + } + } + } + } + + grouping config-ip-mux-profile-v6-grouping { + leaf access-list { + description + "Specify standard or extended access lists to classify traffic"; + type string { + pattern '[a-zA-Z].*'; + } + } + leaf destination { + description + "Destination address of multiplexed packets"; + type inet:ipv6-address; + } + container source { + description + "Source address to use on multiplexed packets"; + choice source-choice { + case ip-case { + leaf source-ip { + type inet:ipv6-address; + } + } + case intf-case { + container interface { + description + "Interface for source IP address"; + uses ipmux-interface-grouping; + } + } + } + } + } + + grouping config-ipv4-mux-profile-grouping { + list profile { + description + "Create or edit IP Multiplex DSCP policy"; + key "id"; + leaf id { + type string; + } + uses config-ip-mux-profile-v4-grouping; + uses config-ip-mux-profile-comm-grouping; + } + } + + grouping config-ipv6-mux-profile-grouping { + list profile { + description + "Create or edit IP Multiplex DSCP policy"; + key "id"; + leaf id { + type string; + } + uses config-ip-mux-profile-v6-grouping; + uses config-ip-mux-profile-comm-grouping; + } + } + + grouping config-ip-mux-comm-grouping { + leaf udpport { + description + "Specify destination UDP port to use for multiplexed packets"; + default "6682"; + type inet:port-number { + range "1024..49151"; + } + } + leaf cache { + description + "Set maximum IP Multiplex cache size in bytes"; + default "1000000"; + type uint32 { + range "1000000..4294967295"; + } + } + list policy { + description + "Create or edit IP Multiplex DSCP policy"; + key "name"; + leaf name { + type string; + } + leaf outdscp { + description + "Specify DSCP value used on multiplexed superframe"; + type ios-types:dscp-type; + } + list matchdscp { + description + "Specify DSCP value used to match packets for this policy"; + key "dscp"; + leaf dscp { + type ios-types:dscp-type; + } + } + } + } + + grouping config-ipv4-mux-grouping { + container mux { + uses config-ip-mux-comm-grouping; + uses config-ipv4-mux-profile-grouping; + } + } + + grouping config-ipv6-mux-grouping { + container mux { + uses config-ip-mux-comm-grouping; + uses config-ipv6-mux-profile-grouping; + } + } + + augment "/ios:native/ios:ip" { + uses config-ipv4-mux-grouping { + refine "mux/policy"; + refine "mux/profile/shutdown" { + description + "Enable/Disable IP Multiplex profile"; + } + refine "mux/profile/ttl" { + description + "Set the IP TTL for the superframe"; + } + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:ipv6" { + uses config-ipv6-mux-grouping { + refine "mux/policy"; + refine "mux/profile/shutdown" { + description + "Enable/Disable IPv6 Multiplex profile"; + } + refine "mux/profile/ttl" { + description + "Set the IPv6 TTL for the superframe"; + } + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ip-mux-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6-oper.yang new file mode 100644 index 000000000..ed354aa8d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6-oper.yang @@ -0,0 +1,177 @@ +module Cisco-IOS-XE-ipv6-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ipv6-oper"; + prefix ipv6-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IPv6 operational data. + Copyright (c) 2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ipv6-nd-tdl-state { + type enumeration { + enum ipv6-nd-incomplete { + value 0; + description + "Address resolution is in progress and the + link-layer address of the neighbor has not + yet been determined."; + } + enum ipv6-nd-reachable { + value 1; + description + "The neighbor is known to have been reachable + recently (within tens of seconds ago)."; + } + enum ipv6-nd-stale { + value 2; + description + "The neighbor is no longer known to be reachable + but until traffic is sent to the neighbor, no + attempt should be made to verify its reachability"; + } + enum ipv6-nd-glean { + value 3; + description + "Received updated link-layer information. + Behaviour like STALE."; + } + enum ipv6-nd-delay { + value 4; + description + "The neighbor is no longer known to be reachable, and traffic + has recently been sent to the neighbor. Rather than probe the + neighbor immediately, however, delay sending probes for a short + while in order to give upper layer protocols a chance to provide + reachability confirmation."; + } + enum ipv6-nd-probe { + value 5; + description + "The neighbor is no longer known to be reachable, and unicast + Neighbor Solicitation probes are being sent to verify + reachability."; + } + enum ipv6-nd-delete { + value 6; + description + "Entry is deleted."; + } + } + description + "Indicate the current state of + the Neighbor-Discovery entry."; + } + + grouping nd6-info-key { + description + "Key for IPv6 neighbor information table"; + leaf vrf-name { + type string; + description + "The Virtual Router and Forwarding instance that + this neighbor information is associated with"; + } + leaf if-name { + type string; + description + "The Interface name."; + } + leaf ip { + type inet:ip-address; + description + "IPv6 address of this neighbor entry"; + } + } + + grouping nd6-info { + description + "Value for IPv6 neighbor info table entry"; + leaf mac-address { + type yang:mac-address; + description + "MAC address"; + } + leaf state { + type ipv6-ios-xe-oper:ipv6-nd-tdl-state; + description + "State of the entry"; + } + leaf idle-timer { + type uint32; + description + "Time before expiration, in seconds."; + } + leaf uptime { + type uint32; + description + "Indicates how long this neighbor entry has + been active, in seconds"; + } + } + + container ipv6-data { + config false; + description + "Operational state of IPv6"; + list nd6-info { + key "vrf-name if-name ip"; + description + "List of IPv6 neighbors"; + uses ipv6-ios-xe-oper:nd6-info-key; + uses ipv6-ios-xe-oper:nd6-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6.yang new file mode 100644 index 000000000..2856e96bb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ipv6.yang @@ -0,0 +1,1033 @@ +submodule Cisco-IOS-XE-ipv6 { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native IPv6 Yang Model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for ipv6 reassembly-queue length and ipv6 reassembly-queue timeout + - Added ipv6 nsf-converge + - Added support for ipv6 traffic interface-statistics + - Added support for Configure hop count limit + - Removed tailf:cli-compact-syntax from ipv6 multicast container + - Added tailf annotation to order ipv6 router ospf and ipv6 unicast-routing commands"; + cisco-semver:module-version "6.1.0"; + } + revision 2024-03-01 { + description + "- Added config restrictions to current ipv6 route options + - Added vrf restrict and dependency checks + - Added support for nexthop-vrf attribute in 'ipv6 route ..' CLI + - Changed ip prefix sequence-number default type to boolean + - Obsolete ip/ipv6 deprecated prefix-list node"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-03-01 { + description + "- Added ipv6 route support for srv6 policy + - Added config restrictions to current ipv6 route options"; + cisco-semver:module-version "5.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added in tailf:cli-delete-when-empty in prefix-list-description "; + cisco-semver:module-version "5.3.0"; + } + revision 2022-07-01 { + description + "- Migrated ipv6 cef container to new version to address various config issues"; + cisco-semver:module-version "5.2.0"; + } + revision 2022-03-01 { + description + "- Added error-interval for icmp + - Changed 'ipv6 cef' model parameters"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-11-01 { + description + "- Initial revision for 17.7.1 + - Obsolete hop by hop option + - Made start and last node obsolete + - Added start-address and prefix-length node"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-07-01 { + description + "- Initial revision for 17.6.1 + - Added new node hop by hop processing + - Deprecated 'address' node in 'source-guard' and replaced it with + a new node 'address-config'"; + cisco-semver:module-version "4.3.0"; + } + revision 2021-03-01 { + description + "- Add support for ipv6 icmp od-length enable + - Add support for bridge all data traffic + - Add support for ipv6 local pool"; + cisco-semver:module-version "4.2.0"; + } + revision 2020-11-01 { + description + "- Added the missing commands to fill the gap between CLI and Yang for SISF + - Added support for 'ipv6 icmp od-length enable' CLI"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-07-01 { + description + " - Moved ipv6 prefix list nodes to deprecate from obsolete + - Added ipv6 local policy model"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added prefix-lists cli-remove-before-change for replace + - Added range and default value for leaf distance + - Added ipv6 deny-echo-reply"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added prefix-lists config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Deprecate ipv6 router eigrp + - Added ipv6 ospf + - Added ipv6 address-validate"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-04 { + description + "Fixed a bug in ip prefix-list"; + } + revision 2018-08-31 { + description + "Added model for ipv6 route static *"; + } + revision 2018-07-23 { + description + "Removed tag option under ipv6 route * multicast"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2017-07-05 { + description + "Adding model for ipv6 router ospf *"; + } + revision 2017-05-17 { + description + "This revision fixes the problem in ipv6 route"; + } + revision 2017-02-23 { + description + "Changes to support openconfig-network-instance mapping"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ipv6-srv6-nexthop-options-group { + leaf distance { + description + "Administrative distance"; + type uint8 { + range "1..254"; + } + default "1"; + } + leaf tag { + description + "Route tag"; + type uint32; + } + choice track-or-permanent { + case track-case { + leaf track { + description + "Tracked object ID"; + type uint32; + } + } + case permanent-case { + leaf permanent { + description + "Keep route in RIB regardless of reachability"; + type empty; + } + } + } + leaf name { + description + "Name of static route"; + type string; + } + } + + grouping ipv6-srv6-route-options-grouping { + list regular-policy { + key "sr-policy-name"; + leaf sr-policy-name { + type string; + } + uses ipv6-srv6-nexthop-options-group; + } + list sid-list-policy { + key "sr-policy-name"; + leaf sr-policy-name { + type string; + } + container sid-list { + description + "SRv6 SID list"; + list h-encaps-red { + description + "VPN SID"; + key "vpn-sid"; + leaf vpn-sid { + type inet:ipv6-address; + } + uses ipv6-srv6-nexthop-options-group; + } + } + } + } + + grouping ipv6-route-segment-routing-grouping { + container segment-routing { + description + "Specify a segment-routing nexthop"; + container srv6 { + description + "SRv6"; + container via { + description + "via"; + container policy { + description + "SRv6 nexthop policy"; + uses ipv6-srv6-route-options-grouping; + } + } + } + } + } + + grouping ipv6-route-options-grouping { + leaf nexthop-vrf { + description + "Specify next hop VRF name"; + must "(current()='default') or + (/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "IPv6 nexthop VRF must be created 1st, deleted last"; + } + type string; + } + leaf distance { + type uint8 { + range "1..255"; + } + default "1"; + } + choice type-choice { + leaf multicast { + description + "Route only usable by multicast"; + type empty; + } + leaf unicast { + description + "Route only usable by unicast"; + type empty; + } + } + leaf tag { + description + "Tag value"; + type uint32; + when 'not(../multicast)'; + } + leaf track { + description + "Tracked"; + type uint32; + } + leaf name { + description + "Specify name of the next hop"; + type string; + } + } + + grouping ipv6-route-grouping { + list ipv6-route-list { + key "prefix"; + leaf prefix { + type inet:ipv6-prefix; + } + list ipv6-fwd-list { + key "fwd"; + leaf fwd { + type union { + type enumeration { + enum Null0; + } + type inet:ipv6-address; + type string; + } + } + list interface-next-hop { + description + "IPv6 address of next-hop"; + key "ipv6-address"; + leaf ipv6-address { + type inet:ipv6-address; + } + uses ipv6-route-options-grouping; + } + uses ipv6-route-options-grouping; + } + uses ipv6-route-segment-routing-grouping; + } + } + + grouping ipv6-route-grouping-min-elements { + list ipv6-route-list { + key "prefix"; + min-elements 1; + leaf prefix { + type inet:ipv6-prefix; + } + list ipv6-fwd-list { + key "fwd"; + leaf fwd { + type union { + type enumeration { + enum Null0; + } + type inet:ipv6-address; + type string; + } + } + list interface-next-hop { + description + "IPv6 address of next-hop"; + key "ipv6-address"; + leaf ipv6-address { + type inet:ipv6-address; + } + uses ipv6-route-options-grouping; + } + uses ipv6-route-options-grouping; + } + uses ipv6-route-segment-routing-grouping; + } + } + + grouping ipv6-bfd-unassociate-grouping { + leaf interface { + type union { + type enumeration { + enum Null0; + } + type string; + } + } + leaf ipv6 { + description + "IPv6 address of BFD neighbor"; + type inet:ipv6-address; + } + leaf unassociate { + description + "Unassociated Neighbor"; + when '../ipv6'; + type empty; + } + } + + grouping config-ipv6-grouping { + container ipv6 { + description + "Global IPv6 configuration commands"; + container source-guard { + description + "Configure IPv6 sourceguard"; + list policy { + description + "Configure a policy for feature sourceguard"; + key "source-guard-policy-name"; + leaf source-guard-policy-name { + type string; + } + container validate { + description + "Validate the src of the received data traffic"; + leaf address-config { + description + "Validate against addresses learned in NDP/DHCP traffic (default)"; + type boolean; + default "true"; + } + leaf address { + status deprecated; + description + "DEPRECATED: deprecated and replaced by address-config"; + type empty; + } + leaf prefix { + description + "Validate against prefixes learned in RA or DHCP-PD traffic"; + type empty; + } + } + container deny { + description + "Block data traffic"; + leaf global-autoconf { + description + "Drop data traffic from global autoconfigured addresses"; + type empty; + } + } + container permit { + description + "Allow data traffic"; + leaf link-local { + description + "Allow data traffic from all Link-local addresses"; + type empty; + } + } + leaf trusted { + description + "Bridge all data traffic"; + type empty; + } + } + } + container destination-guard { + description + "Configure Destination guard"; + list policy { + description + "Configure a policy for feature destguard"; + key "destination-guard-policy-name"; + leaf destination-guard-policy-name { + type string; + } + container enforcement { + description + "Sets the enforcement level"; + leaf always { + description + "Enforced under all conditions (default)"; + type empty; + } + leaf stressed { + description + "Enforced when system is under stress"; + type empty; + } + } + } + } + container dhcp { + description + "IPv6 DHCP"; + } + container dhcp-relay { + description + "Configure IPv6 DHCP relay agent"; + } + container access-list { + description + "Configure access lists"; + } + leaf hop-limit { + description + "Maximum number of hops allowed in the network."; + type uint8 { + range "1..255"; + } + default "64"; + } + leaf deny-echo-reply { + description + "Allow/Deny Echo-reply to anycast/multicast address"; + type empty; + } + leaf hbh-option { + status obsolete; + description + "Hop by hop option processing enable"; + type empty; + } + leaf flowset { + description + "Set flow label random for originated packets"; + type empty; + } + leaf unicast-routing { + description + "Enable unicast routing"; + type empty; + } + leaf address-validate { + description + "Reserved Interface Identifiers validation"; + type boolean; + default "true"; + } + container icmp { + description + "Configure ICMP parameters"; + container od-length { + description + "Original Datagram Length"; + leaf enable { + description + "Enable Feature"; + default "true"; + type boolean; + } + } + container error-interval { + description + "Interval between ICMP error messages"; + leaf interval { + description + "Interval between tokens in milliseconds"; + type uint32 { + range "0..2147483647"; + } + default "100"; + } + leaf bucket { + description + "Bucket size"; + when '../interval'; + type uint8 { + range "1..200"; + } + default "10"; + } + } + } + container local { + description + "Specify local options"; + container policy { + description + "Enable policy routing"; + leaf route-map { + description + "Policy route map"; + type string { + length "1..222"; + } + } + } + list pool { + description + "IPv6 Local address pool lists"; + key "id"; + leaf id { + type union { + type string; + type enumeration { + enum default; + } + } + } + leaf start { + description + "Obsolete - start"; + status obsolete; + type inet:ipv6-address; + } + leaf start-address { + description + "X:X:X:X::X/<0-128> IPv6 pool prefix x:x::y/"; + type ios-types:ipv6-prefix; + } + leaf last { + description + "Obsolete - last"; + status obsolete; + type inet:ipv6-address; + } + leaf prefix-length { + description + "Prefix length to assign from pool"; + type uint16 { + range "1..128"; + } + } + leaf group { + description + "Create ip local pool group"; + type string { + length "1..80"; + } + } + } + } + container multicast { + description + "Configure multicast related commands"; + } + container cef-v2 { + description + "Cisco Express Forwarding"; + } + container cef { + status deprecated; + description + "Cisco Express Forwarding (DEPRECATED)"; + presence "true"; + } + container nd { + description + "Configure IPv6 ND"; + } + leaf nsf-converge { + description + "The minimum NSF interval, in sec, before RIB reporting convergence."; + type uint16 { + range "1..3600"; + } + default "10"; + units "seconds"; + } + container ospf { + description + "Configure IPv6 OSPF"; + leaf name-lookup { + description + "Display OSPF router ids as DNS names"; + type empty; + } + } + container pim { + description + "Configure Protocol Independent Multicast"; + } + container route { + description + "Configure static routes"; + uses ipv6-route-grouping; + list vrf { + description + "Configure static route for a VPN Routing/Forwarding instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses ipv6-route-grouping-min-elements; + } + container static { + description + "Configure static route attributes"; + container bfd { + description + "Configure a Static Route BFD neighbor"; + list iface_name { + key "interface ipv6"; + uses ipv6-bfd-unassociate-grouping; + } + list vrf { + description + "IPv6 Routing table"; + key "name interface ipv6"; + leaf name { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6) or + /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "IPv6 routing table vrf does not exist"; + } + type string; + } + uses ipv6-bfd-unassociate-grouping; + } + } + container resolve { + description + "Configure static route resolution"; + leaf default { + description + "Static route resolution via default"; + type empty; + } + } + } + } + container reassembly-queue { + description + "Configure IPv6 reassembly queue parameters"; + leaf length { + description + "Length of the reassembly queue"; + type uint16 { + range "0..1024"; + } + default "100"; + units "bytes"; + } + leaf time-out { + description + "time-out of the reassembly queue"; + type uint16 { + range "0..60"; + } + default "60"; + units "seconds"; + } + } + container router { + description + "Enable an IPV6 routing process"; + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + description + "Autonomous System ID"; + type uint16 { + range "1..65535"; + } + } + } + list ospf { + description + "Open Shortest Path First (OSPFv3)"; + key "id"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf source-route { + description + "Process packets with source routing header options"; + type boolean; + } + container spd { + description + "spd"; + leaf mode { + type enumeration { + enum aggressive; + } + } + container queue { + description + "queue"; + leaf max-threshold { + description + "Max threshold"; + type uint16 { + range "0..65535"; + } + } + leaf min-threshold { + description + "Min threshold"; + must '. < ../max-threshold' { + error-message "min-threshold must be less than max-threshold"; + } + type uint16 { + range "0..65535"; + } + } + } + } + container prefix-lists { + description + "Build a prefix list"; + list prefixes { + key "name no"; + leaf name { + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)|(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf no { + type uint32 { + range "1..4294967294"; + } + } + leaf action { + type enumeration { + enum permit; + enum deny; + } + } + leaf ip { + type inet:ipv6-prefix; + } + leaf ge { + description + "Minimum prefix length to be matched"; + type uint8 { + range "1..128"; + } + } + leaf le { + description + "Maximum prefix length to be matched"; + type uint8 { + range "1..128"; + } + } + } + list prefix-list-description { + key "name"; + leaf name { + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)|(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf description { + description + "Prefix-list specific description"; + type string { + length "1..80"; + } + } + } + leaf sequence-number-boolean { + description + "Include/exclude sequence numbers in NVGEN"; + type boolean; + default "true"; + } + leaf sequence-number { + status deprecated; + description + "Include/exclude sequence numbers in NVGEN deprecated"; + type empty; + } + } + container prefix-list { + status obsolete; + description + "Build a prefix list"; + list prefixes { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string { + pattern '([^s].*)|(s[^e].*)|(se[^q].*)(seq[^u].*)|(sequ[^e].*)|(seque[^n].*)|(sequen[^c].*)|(sequenc[^e].*)|(sequence[^\-].*)|(sequence\-[^n].*)|(sequence\-n[^u].*)|(sequence\-nu[^m].*)|(sequence\-num[^b].*)|(sequence\-numb[^e].*)|(sequence\-numbe[^r].*)|(sequence\-number..*)'; + } + } + leaf description { + status obsolete; + description + "Prefix-list specific description"; + type string { + length "1..80"; + } + } + container permit { + status obsolete; + description + "Specify packets to forward"; + leaf address { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf ge { + status obsolete; + description + "Minimum prefix length to be matched"; + type uint8 { + range "0..128"; + } + } + leaf le { + status obsolete; + description + "Maximum prefix length to be matched"; + type uint8 { + range "0..128"; + } + } + } + container deny { + status obsolete; + description + "Specify packets to reject"; + leaf address { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf ge { + status obsolete; + description + "Minimum prefix length to be matched"; + type uint8 { + range "0..128"; + } + } + leaf le { + status obsolete; + description + "Maximum prefix length to be matched"; + type uint8 { + range "0..128"; + } + } + } + list seq { + status obsolete; + description + "sequence number of an entry"; + key "no"; + leaf no { + status obsolete; + type uint32 { + range "1..4294967294"; + } + } + container deny { + status obsolete; + description + "Specify packets to reject"; + leaf ip { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf ge { + status obsolete; + description + "Minimum prefix length to be matched"; + type uint16 { + range "1..128"; + } + } + leaf le { + status obsolete; + description + "Maximum prefix length to be matched"; + type uint16 { + range "1..128"; + } + } + } + container permit { + status obsolete; + description + "Specify packets to forward"; + leaf ip { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf ge { + status obsolete; + description + "Minimum prefix length to be matched"; + type uint16 { + range "1..128"; + } + } + leaf le { + status obsolete; + description + "Maximum prefix length to be matched"; + type uint16 { + range "1..128"; + } + } + } + } + } + leaf sequence-number { + status obsolete; + description + "Include/exclude sequence numbers in NVGEN"; + type empty; + } + } + list neighbor { + description + "Neighbor"; + key "address interface"; + leaf address { + description + "X:X:X:X::X IPv6 address"; + type inet:ipv6-address; + } + leaf interface { + type string; + } + leaf hardware-address { + description + "H.H.H 48-bit hardware address"; + type string; + } + } + container traffic { + description + "Traffic parameter configuration"; + leaf interface-statistics { + description + "Enable per-interface statistics collection"; + type boolean; + default "true"; + } + } + container visibility { + description + "NetFlow Global Command"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-irig.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-irig.yang new file mode 100644 index 000000000..2a82c448d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-irig.yang @@ -0,0 +1,282 @@ +module Cisco-IOS-XE-irig { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-irig"; + prefix ios-irig; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Inter-Range Instrumentation Group (IRIG) Yang Model. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Initial version"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-irig-grouping1 { + container irig { + container mode { + choice analog-mode { + case AM02-case { + container AM02 { + description + "AM-B122 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../TTL02/dir/IN or ../../../TTL03/dir/IN or ../../../TTL06/dir/IN or ../../../TTL07/dir/IN)' { + error-message "TTL mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case AM03-case { + container AM03 { + description + "AM-B123 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../TTL02/dir/IN or ../../../TTL03/dir/IN or ../../../TTL06/dir/IN or ../../../TTL07/dir/IN)' { + error-message "TTL mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case AM06-case { + container AM06 { + description + "AM-B126 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../TTL02/dir/IN or ../../../TTL03/dir/IN or ../../../TTL06/dir/IN or ../../../TTL07/dir/IN)' { + error-message "TTL mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case AM07-case { + container AM07 { + description + "AM-B127 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../TTL02/dir/IN or ../../../TTL03/dir/IN or ../../../TTL06/dir/IN or ../../../TTL07/dir/IN)' { + error-message "TTL mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + } + choice Digital-mode { + case TTL02-case { + container TTL02 { + description + "TTL-B002 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../AM02/dir/IN or ../../../AM03/dir/IN or ../../../AM06/dir/IN or ../../../AM07/dir/IN)' { + error-message "Analog mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case TTL03-case { + container TTL03 { + description + "TTL-B003 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../AM02/dir/IN or ../../../AM03/dir/IN or ../../../AM06/dir/IN or ../../../AM07/dir/IN)' { + error-message "Analog mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case TTL06-case { + container TTL06 { + description + "TTL-B006 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../AM02/dir/IN or ../../../AM03/dir/IN or ../../../AM06/dir/IN or ../../../AM07/dir/IN)' { + error-message "Analog mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + case TTL07-case { + container TTL07 { + description + "TTL-B007 format"; + container dir { + description + "Direction"; + choice direction-case { + case in-case { + leaf IN { + description + "Input direction"; + must 'not (../../../AM02/dir/IN or ../../../AM03/dir/IN or ../../../AM06/dir/IN or ../../../AM07/dir/IN)' { + error-message "Analog mode has been setup as IRIG-B Input, action aborted"; + } + type empty; + } + } + case out-case { + leaf OUT { + description + "Output direction"; + type empty; + } + } + } + } + } + } + } + } + } + } + + augment "/ios:native" { + uses config-irig-grouping1; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn-oper.yang new file mode 100644 index 000000000..02e807ed7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn-oper.yang @@ -0,0 +1,541 @@ +module Cisco-IOS-XE-isdn-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-isdn-oper"; + prefix isdn-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ISDN operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef isdn-switch-type { + type enumeration { + enum no-isdn-switch-type { + value 0; + description + "No global ISDN switch type currently configured"; + } + enum bri-net3-switch-type { + value 1; + description + "BRI NET3 switch type"; + } + enum pri-4ess-switch-type { + value 2; + description + "PRI 4ESS switch type"; + } + enum pri-5ess-switch-type { + value 3; + description + "PRI 5ESS switch type"; + } + enum bri-5ess-switch-type { + value 4; + description + "BRI 5ESS switch type"; + } + enum pri-dms100-switch-type { + value 5; + description + "PRI DMS100 switch type"; + } + enum bri-dms100-switch-type { + value 6; + description + "BRI DMS100 switch type"; + } + enum vn2-switch-type { + value 7; + description + "VN2 switch type"; + } + enum vn3-switch-type { + value 8; + description + "VN3 switch type"; + } + enum ntt-switch-type { + value 9; + description + "BRI NTT switch type"; + } + enum bri-1tr6-switch-type { + value 10; + description + "BRI 1TR6 switch type"; + } + enum bri-old-ni1-switch-type { + value 11; + description + "BRI old national ISDN-1 switch type"; + } + enum bri-ni1-switch-type { + value 12; + description + "BRI generic national ISDN-1 switch type"; + } + enum pri-ni-switch-type { + value 13; + description + "PRI generic national ISDN switch type"; + } + enum bri-ts013-switch-type { + value 14; + description + "BRI Australia switch type"; + } + enum bri-nznet3-switch-type { + value 15; + description + "BRI New Zealand NET3 switch type"; + } + enum bri-nwnet3-switch-type { + value 16; + description + "BRI Norway NET3 switch type"; + } + enum pri-ntt-switch-type { + value 17; + description + "PRI NTT switch type"; + } + enum pri-net5-switch-type { + value 18; + description + "PRI NET5 switch type"; + } + enum pri-ts014-switch-type { + value 19; + description + "PRI TS014 switch type"; + } + enum pri-qsig-master-switch-type { + value 20; + description + "PRI QSIG Master switch type"; + } + enum pri-qsig-slave-switch-type { + value 21; + description + "PRI QSIG Slave switch type"; + } + enum pri-qsig-switch-type { + value 22; + description + "PRI QSIG switch type"; + } + enum bri-qsig-switch-type { + value 23; + description + "BRI QSIG switch type"; + } + enum pri-qsigp-switch-type { + value 24; + description + "PRI QSIGP switch type"; + } + enum pri-ni2c-switch-type { + value 25; + description + "PRI NI2C switch type"; + } + enum pri-dpnss-switch-type { + value 26; + description + "PRI DPNSS switch type"; + } + } + description + "Enumeration for ISDN switch type"; + } + + typedef isdn-protocol-emul-config { + type enumeration { + enum isdn-protocol-emulation-user { + value 0; + description + "ISDN user protocol emulation"; + } + enum isdn-protocol-emulation-network { + value 1; + description + "ISDN network protocol emulation"; + } + } + description + "Enumeration for ISDN protocol emulation configuration"; + } + + typedef isdn-l1-status { + type enumeration { + enum l1-deactivated { + value 0; + description + "ISDN layer 1 is in deactivated status"; + } + enum l1-going-down { + value 1; + description + "ISDN layer 1 is in going down status"; + } + enum l1-init { + value 2; + description + "ISDN layer 1 is in initializing status"; + } + enum l1-testing { + value 3; + description + "ISDN layer 1 is in in testing status"; + } + enum l1-active { + value 4; + description + "ISDN layer 1 is in active status"; + } + enum l1-reset { + value 5; + description + "ISDN layer 1 is in reset status"; + } + enum l1-shutdown { + value 6; + description + "ISDN layer 1 is in shut down status"; + } + enum l1-deleted { + value 7; + description + "ISDN layer 1 is in deleted status"; + } + enum l1-unknown { + value 8; + description + "ISDN layer 1 is in unknown status"; + } + } + description + "ISDN Layer 1 status"; + } + + typedef isdn-l2-status { + type enumeration { + enum l2-not-activated { + value 0; + description + "ISDN layer 2 is in not activated status"; + } + enum l2-tei-unassigned { + value 1; + description + "ISDN layer 2 is in TEI unassigned status"; + } + enum l2-assign-awaiting-tei { + value 2; + description + "ISDN layer 2 is in TEI assign awaiting status"; + } + enum l2-establish-awaiting-tei { + value 3; + description + "ISDN layer 2 is in TEI establish awaiting status"; + } + enum l2-tei-assigned { + value 4; + description + "ISDN layer 2 is in TEI assigned status"; + } + enum l2-awaiting-establishment { + value 5; + description + "ISDN layer 2 is in awaiting establishment status"; + } + enum l2-awaiting-release { + value 6; + description + "ISDN layer 2 is in awaiting release status"; + } + enum l2-multiple-frame-established { + value 7; + description + "ISDN layer 2 is in multiple frame established status"; + } + enum l2-timer-recovery { + value 8; + description + "ISDN layer 2 is in timer recovery status"; + } + enum l2-not-applicable { + value 9; + description + "ISDN layer 2 is not applicable to NFAS none"; + } + } + description + "ISDN Layer 2 status"; + } + + typedef isdn-active-call-type { + type enumeration { + enum isdn-call-none { + value 0; + description + "No call type assigned yet"; + } + enum isdn-call-data { + value 1; + description + "ISDN data call"; + } + enum isdn-call-voice { + value 2; + description + "ISDN voice call"; + } + enum isdn-call-v110 { + value 3; + description + "ISDN V110 call"; + } + enum isdn-call-v120 { + value 4; + description + "ISDN V120 call"; + } + enum isdn-call-packet { + value 5; + description + "ISDN packet switched data call"; + } + enum isdn-call-internal { + value 6; + description + "ISDN call for internal use"; + } + enum isdn-call-signaling { + value 7; + description + "ISDN QSIG signaling call"; + } + enum isdn-call-modem { + value 8; + description + "ISDN modem call"; + } + enum isdn-call-facility { + value 9; + description + "ISDN facility call"; + } + enum isdn-call-data-over-voice { + value 10; + description + "ISDN data over voice call"; + } + enum isdn-call-piafs { + value 11; + description + "ISDN piafs call"; + } + enum isdn-call-cot { + value 12; + description + "ISDN call with continuity tone test"; + } + enum isdn-call-bumped { + value 13; + description + "ISDN data call being bumped"; + } + enum isdn-call-woken { + value 14; + description + "ISDN voice call woken up"; + } + enum isdn-call-unknown { + value 15; + description + "Unknown ISDN call type value"; + } + enum isdn-call-voice-over-data { + value 16; + description + "ISDN clear channel voice over data call"; + } + } + description + "ISDN active call type"; + } + + grouping isdn-active-call-entry { + description + "ISDN active call entry"; + leaf key-id { + type uint32; + description + "Key to the entry"; + } + leaf call-id { + type uint64; + description + "Call ID"; + } + leaf sapi { + type uint32; + description + "ISDN Service Access Point Identifier"; + } + leaf ces { + type uint32; + description + "ISDN connection end-point suffix"; + } + leaf b-channel-num { + type uint32; + description + "ISDN B channel number"; + } + leaf call-type { + type isdn-ios-xe-oper:isdn-active-call-type; + description + "ISDN call type"; + } + } + + grouping isdn-intf-entry { + description + "ISDN interface entry"; + leaf key-id { + type uint32; + description + "Key to the entry"; + } + leaf intf-name { + type string; + description + "ISDN interface name"; + } + leaf proto-emul-config { + type isdn-ios-xe-oper:isdn-protocol-emul-config; + description + "ISDN protocol emulation configuration"; + } + leaf dsl-number { + type uint32; + description + "ISDN DSL number"; + } + leaf switch-type { + type isdn-ios-xe-oper:isdn-switch-type; + description + "ISDN switch type configured on this ISDN interface"; + } + leaf l1-status { + type isdn-ios-xe-oper:isdn-l1-status; + description + "ISDN L1 status on this ISDN interface"; + } + leaf l2-status { + type isdn-ios-xe-oper:isdn-l2-status; + description + "ISDN L2 status on this ISDN interface"; + } + leaf l2-tei-config { + type uint32; + description + "ISDN L2 terminal end-point identifier"; + } + leaf l2-ces-config { + type uint32; + description + "ISDN L2 connection end-point suffix"; + } + leaf l2-sapi-config { + type uint32; + description + "ISDN L2 service access point identifier"; + } + leaf free-channel-mask { + type uint32; + description + "Free channel mask on this interface"; + } + leaf num-active-calls { + type uint32; + description + "Number of ISDN active calls on this interface"; + } + list isdn-active-call-entry { + key "key-id"; + description + "A list of ISDN active call entry"; + uses isdn-ios-xe-oper:isdn-active-call-entry; + } + } + + grouping isdn-status { + description + "ISDN status"; + leaf global-switch-type { + type isdn-ios-xe-oper:isdn-switch-type; + description + "Global ISDN switch type configuration"; + } + leaf total-intf { + type uint32; + description + "Total ISDN interface configured"; + } + list isdn-intf-entry { + key "key-id"; + description + "A list of ISDN interface entry"; + uses isdn-ios-xe-oper:isdn-intf-entry; + } + } + + container isdn-oper-data { + config false; + description + "ISDN operational data"; + container isdn-status { + presence "isdn-status"; + description + "ISDN interface status"; + uses isdn-ios-xe-oper:isdn-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn.yang new file mode 100644 index 000000000..e51360383 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-isdn.yang @@ -0,0 +1,309 @@ +module Cisco-IOS-XE-isdn { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-isdn"; + prefix ios-isdn; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native ISDN Yang model. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + "- Added isdn map address CLI + - Added isdn outgoing ie CLI"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-isdn-global-cli-grouping { + container isdn { + description + "ISDN configuration commands"; + leaf logging { + description + "Enable logging for some isdn events"; + type empty; + } + leaf switch-type { + description + "Select the ISDN switch type"; + type enumeration { + enum none; + enum primary-4ess; + enum primary-5ess; + enum primary-dms100; + enum primary-net5; + enum primary-ni; + enum primary-ntt; + enum primary-qsig; + } + } + } + } + + grouping config-isdn-interface-cli-grouping { + container trunk-group { + description + "Configure interface to be in a trunk group"; + leaf trunk-group-label { + description + "Trunk group label"; + type string { + length "1..64"; + } + } + leaf trunk-group-preference { + description + "trunk group preference value"; + type uint8 { + range "1..64"; + } + } + } + container isdn { + description + "ISDN Interface configuration commands"; + container switch-type { + description + "Select the Interface ISDN switch type"; + leaf switch-type-pri { + when '/ios:native/ios:interface/ios:Serial'; + type enumeration { + enum primary-4ess; + enum primary-5ess; + enum primary-dms100; + enum primary-net5; + enum primary-ni; + enum primary-ntt; + enum primary-qsig; + } + } + } + container incoming-voice { + description + "Specify options for incoming calls"; + choice call-type { + leaf data { + description + "Incoming voice calls will be handled as modem data"; + type empty; + } + leaf modem { + description + "Incoming voice calls will be handled as modem"; + type empty; + } + leaf voice { + description + "Incoming voice calls will be handled as voice"; + type empty; + } + } + leaf b-channel-bw { + description + "B channel bandwidth"; + when '../data or ../modem'; + type enumeration { + enum 56; + enum 64; + } + } + } + leaf protocol-emulate { + description + "Protocol (L2/L3) emulation network/user side"; + type enumeration { + enum network; + enum user; + } + default "user"; + } + container timer { + description + "Specify ISDN Timer values to be changed"; + leaf T200 { + description + "Specify Timer T200 in milliseconds"; + type uint32 { + range "400..400000"; + } + default "1000"; + } + leaf T203 { + description + "Specify Timer T203 in milliseconds"; + type uint32 { + range "400..400000"; + } + } + leaf T301 { + description + "Specify Timer T301 in milliseconds"; + type uint32 { + range "180000..86400000"; + } + } + leaf T303 { + description + "Specify Timer T303 in milliseconds"; + type uint32 { + range "400..86400000"; + } + } + leaf T306 { + description + "Specify Timer T306 in milliseconds"; + type uint32 { + range "400..86400000"; + } + default "30000"; + } + leaf T309 { + description + "Specify Timer T309 in milliseconds"; + type uint32 { + range "0..86400000"; + } + } + leaf T310 { + description + "Specify Timer T310 in milliseconds"; + type uint32 { + range "400..400000"; + } + } + leaf T321 { + description + "Specify Timer T321 in milliseconds"; + type uint32 { + range "0..86400000"; + } + } + } + container map { + description + "Specify E.164 address to numbering plan and type mapping"; + container address { + description + "Map an ISDN address"; + list plan-type { + description + "ISDN map address plan and type"; + max-elements 30; + key "id"; + leaf id { + description + "ISDN map string"; + type string { + pattern '.*'; + length "1..20"; + } + } + leaf plan { + description + "Set address numbering plan"; + type enumeration { + enum data; + enum isdn; + enum national; + enum privacy; + enum reserved/10; + enum reserved/11; + enum reserved/12; + enum reserved/13; + enum reserved/14; + enum reserved/2; + enum reserved/5; + enum reserved/6; + enum reserved/7; + enum telex; + enum unknown; + } + } + leaf type { + description + "Set address number type"; + type enumeration { + enum abbreviated; + enum international; + enum national; + enum network; + enum reserved/5; + enum subscriber; + enum unknown; + } + } + } + } + } + container outgoing { + description + "Options for outgoing IEs and messages"; + list ie { + description + "Information Elements"; + key "id"; + leaf id { + description + "Information element type"; + type enumeration { + enum called-number; + enum called-subaddr; + enum caller-number; + enum caller-subaddr; + enum connected-number; + enum connected-subaddr; + enum display; + enum extended-facility; + enum facility; + enum high-layer-compat; + enum low-layer-compat; + enum network-facility; + enum notify-indicator; + enum progress-indicator; + enum redirecting-number; + enum user-user; + } + } + } + } + } + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-isdn-interface-cli-grouping; + } + + augment "/ios:native" { + uses config-isdn-global-cli-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-isg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-isg.yang new file mode 100644 index 000000000..228f0d979 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-isg.yang @@ -0,0 +1,554 @@ +module Cisco-IOS-XE-isg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-isg"; + prefix ios-isg; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-tunnel { + prefix ios-tun; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-pol; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Intelligent Subscriber Gateway (ISG) Yang model. + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + " Correct xpath in when statement and removed tailf:cli-diff-dependencies"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + typedef isg-action-type { + type enumeration { + enum authenticate; + enum authorize; + enum collect; + enum default-apply; + enum default-exit; + enum if; + enum log-session-state; + enum post-account-logon-delay; + enum proxy; + enum service; + enum service-policy; + enum set; + enum set-param; + enum set-timer; + enum substitute; + } + } + + grouping common-initiator-grouping { + container dhcp { + choice dhcp-choice { + case dhcp-case { + leaf dhcp-node { + description + "Session Initiator type - DHCP"; + type empty; + } + } + case dhcp-class-aware-case { + leaf class-aware { + description + "Influence the class name for DHCP"; + type empty; + } + } + } + } + leaf radius-proxy { + description + "Session Initiator type - Radius Proxy"; + type empty; + } + } + + grouping common-interface-subscriber-grouping { + container l2-connected { + description + "Layer 2 connected IP sessions"; + presence "true"; + must 'not (../routed )' { + error-message "First unconfigure ip subscriber command,before configuring this command"; + } + container initiator { + description + "IP session initiation configuration options"; + uses common-initiator-grouping; + container unclassified { + description + "IP session initiated by unclassified traffic"; + container mac-address { + description + "IP session initiated by Unclassified MAC addr"; + leaf mac-address-node { + must 'not ((../ipv4 ) or(../ipv6))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + leaf ipv4 { + description + "Session initiated by unclassified MAC address IPv4 traffic only"; + must 'not ((../mac-address-node ) or(../ipv6))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + leaf ipv6 { + description + "Session initiated by unclassified MAC address IPv6 traffic only"; + must 'not ((../ipv4 ) or(../mac-address-node))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + } + } + } + } + container routed { + description + "Routed IP sessions"; + presence "true"; + must 'not (../l2-connected )' { + error-message "First unconfigure ip subscriber command,before configuring this command"; + } + container initiator { + description + "IP session initiation configuration options"; + uses common-initiator-grouping; + container unclassified { + description + "IP session initiated by unclassified traffic"; + container ip-address { + description + "IP session initiated by Unclassified MAC address"; + leaf ip-address-node { + must 'not ((../ipv4 ) or(../ipv6/ipv6-node))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + leaf ipv4 { + description + "Session initiated by unclassified IPv4 traffic only"; + must 'not ((../ip-address-node ) or(../ipv6/ipv6-node))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + container ipv6 { + leaf ipv6-node { + description + "Session initiated by unclassified IPv6 traffic only"; + must 'not ((../../ip-address-node ) or(../../ipv4))' { + error-message "First unconfigure other initiator command,before configuring this command"; + } + type empty; + } + } + } + } + } + } + } + + grouping config-interface-ip-subscriber-grouping { + container subscriber { + description + "ip subscriber"; + uses common-interface-subscriber-grouping; + } + } + + grouping config-tunnel-interface-ip-subscriber-grouping { + container subscriber { + description + "ip subscriber"; + when '(../../ios-tun:tunnel/ios-tun:mode/ios-tun:ethernet-config/ios-tun:gre/ios-tun:ipv4)'; + uses common-interface-subscriber-grouping; + } + } + + grouping isg-aaa-identifier-grouping { + leaf identifier { + type enumeration { + enum authenticated-domain; + enum authenticated-username; + enum auto-detect; + enum circuit-id; + enum ctag-cos; + enum ctag-vlan-id; + enum dnis; + enum generic-service-name; + enum hostname; + enum mac-address; + enum nas-port; + enum payload-etype; + enum peer-ip-address; + enum remote-id; + enum source-ip-address; + enum stag-cos; + enum stag-type; + enum stag-vlan-id; + enum tunnel-name; + enum unauthenticated-domain; + enum unauthenticated-username; + enum vc-id; + enum vendor-class-id; + } + } + } + + grouping isg-aaa-list-config-grouping { + choice method { + leaf method-list-name { + description + "Method list name"; + type string { + length "1..256"; + } + } + leaf default { + description + "The default authentication list"; + type empty; + } + } + } + + grouping config-isg-policy-map-grouping { + container isg-class { + description + "ISG policy class config"; + list control-class { + description + "A control class-map to match against for this policy-map"; + key "name event"; + leaf name { + description + "Name of control class-map to reference"; + type union { + type enumeration { + enum always; + } + type string; + } + must "(((/ios:native/ios:policy/ios-pol:class-map[ios-pol:name = current()])and (/ios:native/ios:policy/ios-pol:class-map[ios-pol:type = 'control']))or (current() = 'always'))" { + error-message + "class map does not exist + or currently active on a policy"; + } + } + leaf event { + description + "The event type this control class-map triggers upon"; + type enumeration { + enum access-reject; + enum account-logoff; + enum account-logon; + enum acct-notification; + enum credit-exhausted; + enum dummy-event; + enum flow-timeout; + enum quota-depleted; + enum radius-timeout; + enum service-failed; + enum service-start; + enum session-default-service; + enum session-restart; + enum session-service-found; + enum session-start; + enum timed-policy-expiry; + } + } + leaf type { + description + "The class-map type"; + type enumeration { + enum control; + } + } + list action { + description + "list of actions per event"; + key "action-number"; + leaf action-number { + description + "Action number - 1 for 1st action to perform, 2 for 2nd.."; + type uint8 { + range "1..254"; + } + } + choice action-param { + case authenticate-case { + container authenticate { + description + "action authenticate"; + leaf authenticate-only { + description + "Authenticate the user"; + type empty; + } + container aaa { + description + "Specify AAA parameters"; + container list { + description + "Specify an AAA method list that key collection should be made with"; + uses isg-aaa-list-config-grouping; + } + } + } + } + case authorize-case { + container authorize { + description + "Authorize the user"; + container aaa { + description + "Specify AAA parameters"; + choice list-name { + case named-list-case { + leaf name { + description + "aaa method list name"; + type string; + } + } + case method-list-case { + container list { + choice method { + case method-name-case { + leaf name { + description + "Method list name"; + type string; + } + } + case default-case { + leaf default { + description + "The default authentication list"; + type empty; + } + } + } + } + } + } + leaf password { + description + "Specify a password to be used for AAA request"; + type string; + } + uses isg-aaa-identifier-grouping; + } + uses isg-aaa-identifier-grouping; + } + } + case collect-case { + container collect { + description + "An identifier to collect from the access protocol"; + leaf identifier { + description + "ISG session identifiers"; + type enumeration { + enum aaa-acct-enable; + enum authen-status; + enum authenticated-domain; + enum authenticated-username; + enum can-access-type-redirect; + enum circuit-id; + enum dnis; + enum generic-service-name; + enum mac-address; + enum media; + enum mlp-negotiated; + enum nas-port; + enum no-username; + enum p2p-circuit-status; + enum protocol; + enum remote-id; + enum resource-type-determined; + enum service-name; + enum source-ip-address; + enum timer; + enum transitioned-from-default; + enum tunnel-name; + enum unauthenticated-domain; + enum unauthenticated-username; + enum virtual-access; + enum virtual-circuit; + enum vrf; + } + } + } + } + case default-apply-case { + leaf default-apply { + description + "Apply default policy map"; + type empty; + } + } + case default-exit-case { + leaf default-exit { + description + "Exit default policy map"; + type empty; + } + } + case post-account-logon-delay-case { + container post-account-logon-delay { + description + "Set portal response delay post account logon"; + leaf timer { + description + "Timer value in milliseconds"; + type uint32 { + range "1..2147483647"; + } + } + } + } + case service-case { + container service { + description + "Specify a service to apply to the user"; + leaf disconnect { + description + "Disconnects the session"; + type empty; + } + } + } + case service-policy-case { + container service-policy { + description + "Service-policy apply and unapply"; + leaf type { + description + "refer either control and service policies"; + type enumeration { + enum service; + } + } + leaf unapply { + description + "Specify a service profile to unapply"; + type empty; + } + leaf name { + description + "Specify a named service to apply"; + type string; + } + } + } + case set-timer-case { + container set-timer { + description + "Set a timer to execute a rule on its expiry"; + leaf timer { + description + "Name of Timer"; + type string; + } + leaf timer-value { + description + "Timer value in minutes"; + type uint16 { + range "1..10100"; + } + } + } + } + } + } + } + } + } + + augment "/ios:native/ios:policy/ios-pol:policy-map" { + uses config-isg-policy-map-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-tunnel-interface-ip-subscriber-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-subscriber-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-isis-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-isis-oper.yang new file mode 100644 index 000000000..a7f15bc94 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-isis-oper.yang @@ -0,0 +1,167 @@ +module Cisco-IOS-XE-isis-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-isis-oper"; + prefix isis-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + ISIS operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef isis-level-type { + type enumeration { + enum isis-level-1 { + value 0; + description + "Level 1 adjacency"; + } + enum isis-level-2 { + value 1; + description + "Level 2 adjacency"; + } + } + description + "Level of ISIS adjacency"; + } + + typedef isis-neighbor-state { + type enumeration { + enum isis-adj-up { + value 0; + description + "Adjacency is in UP state"; + } + enum isis-adj-down { + value 1; + description + "Adjacency is in DOWN state"; + } + enum isis-adj-init { + value 2; + description + "Adjacency is in INIT state"; + } + enum isis-adj-standby { + value 3; + description + "Adjacency is in STANDBY state"; + } + } + description + "Current state of ISIS adjacency"; + } + + grouping isis-neighbor-key { + description + "Compound key that identifies a unique neighbor within an ISIS tag"; + leaf system-id { + type yang:phys-address; + description + "System ID of the neighbor"; + } + leaf level { + type isis-ios-xe-oper:isis-level-type; + description + "Level of the adjacency formed"; + } + leaf if-name { + type string; + description + "Interface name on which adjacency is formed"; + } + } + + grouping isis-neighbor-rec { + description + "Details of the adjacency formed"; + leaf ipv4-address { + type inet:ip-address; + description + "IPv4 Address of the neighbor"; + } + leaf ipv6-address { + type inet:ip-address; + description + "IPv6 Address of the neighbor"; + } + leaf state { + type isis-ios-xe-oper:isis-neighbor-state; + description + "Current state of the adjacency"; + } + leaf holdtime { + type uint32; + units "seconds"; + description + "Holdtime of the adjacency"; + } + } + + grouping isis-tag-type { + description + "Each entry contains tag information of single IS-IS instance"; + leaf tag { + type string; + description + "IS-IS router tag"; + } + list isis-neighbor { + key "system-id level if-name"; + description + "List of neighbors for a specific tag"; + uses isis-ios-xe-oper:isis-neighbor-rec; + uses isis-ios-xe-oper:isis-neighbor-key; + } + } + + container isis-oper-data { + config false; + description + "Operational state of the IS-IS subsystem"; + list isis-instance { + key "tag"; + description + "List of ISIS routers"; + uses isis-ios-xe-oper:isis-tag-type; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-isis.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-isis.yang new file mode 100644 index 000000000..1a2a40b14 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-isis.yang @@ -0,0 +1,5021 @@ +module Cisco-IOS-XE-isis { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-isis"; + prefix ios-isis; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Intermediate System-to-Intermediate System (IS-IS) Yang model. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added monitor trace events for IS-IS + - Added fast-reroute options for address family IPv6 + - Modified primary and secondary tie-break options to be choice + - Added MFI, SR and ADJ as separate leaves for monitor event-trace"; + cisco-semver:module-version "8.1.0"; + } + revision 2024-03-01 { + description + "- Added cli for ISIS LSP fast-flooding feature"; + cisco-semver:module-version "8.0.0"; + } + revision 2023-11-01 { + description + "- Added new command to disable multi part tlv + - Modified acl container"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-03-01 { + description + "- Added cli for te-metric feature"; + cisco-semver:module-version "6.1.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added metric fallback anomaly"; + cisco-semver:module-version "6.0.0"; + } + revision 2022-03-01 { + description + "- Added set-attached-bit under AF IPv6"; + cisco-semver:module-version "5.2.0"; + } + revision 2021-11-01 { + description + "- Added multicast-intact + - Added receive application flex-algo + - Added back LAN grouping to tunnel and made obsolete"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-07-01 { + description + "- Added adjacency stagger + - Added flood parallel suppression + - Updated use of redistribute level grouping + - Added cli-exit-command to router isis container + - Added support for Port-channel-subinterface + - On Tunnel interface used serial grouping instead of lan"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Added prefix metric + - Added ucmp local support + - Added include-any + - Added include-all"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-07-01 { + description + "- Added status obsolete for fast-reroute-remote-lfa-list + - Added status obsolete for fast-reroute-tie-break-list"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added flex-algo + - Deprecated commands not applicable to loopback interfaces + - Added net-id constraint for flex-algo configuration"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added new knobs + - Added rib process-id + - Fixed issues with isis redistribute metric range as compatible to cli + - Fixed issues with isis redistribute ipv6 leaf include-connected"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add Tag leaf under ipv6 summary-prefix + - Add default value and range values + - Added mandatory for value leafs + - Fixed issues with area-password and domain-password commands + - Removed help, redistribute VRF and ISPF leaves as they are unsupported + - Added missing leaves in fast-reroute, microloop commands + - Added missing leaves for mpls command + - Mandatory configuration of route-map and distribution-list during route leak + - Added enable-poi to authentication command + - Corrected hello-interval, hello-multiplier, password and priority commands under interface + - Fixed issues related with redistribute static and bgp + - Fixed redistribution of IS-IS to see relevant options based on area-tag + - Added fast-reroute, prefix-attributes, metric under interface + - Add interface BD-VIF isis"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-08 { + description + "Added clns-mtu"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-22 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-15 { + description + "Added OMP and NAT route redistribution"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for the new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for the new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-20 { + description + "Add isis bfd"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-28 { + description + "Added NED Yang Data Model support for MPLS-TE"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef isis-net { + type string; + } + + typedef isis-level-type { + type enumeration { + enum level-1; + enum level-1-2; + enum level-2; + } + } + + typedef isis-routes-level-type { + type enumeration { + enum level-1; + enum level-1-2; + enum level-2; + } + } + + typedef authentication-level-type { + type enumeration { + enum level-1; + enum level-2; + } + } + + typedef isis-level12-type { + type enumeration { + enum level-1; + enum level-2; + } + } + + grouping isis-bfd-loopback-grouping { + container bfd { + description + "Bidirectional Forwarding Protocol"; + status obsolete; + presence "true"; + leaf disable { + description + "disable bfd"; + status obsolete; + type empty; + } + } + } + + grouping isis-bfd-grouping { + container bfd { + description + "Bidirectional Forwarding Protocol"; + presence "true"; + leaf disable { + description + "disable bfd"; + type empty; + } + } + } + + grouping config-interface-ip-router-isis-grouping { + container isis { + description + "IS-IS Routing for IP"; + presence "true"; + must '../../ios:address/ios:primary/ios:address or ../../ios:unnumbered or ../../ios:address/ios:dhcp' { + error-message "Please configure ip address on the interface"; + } + must './tag or /ios:native/ios:router/isis' { + error-message "router isis must be configured first"; + } + leaf tag { + type leafref { + path "/ios:native/ios:router/isis-container/isis/area-tag"; + } + } + } + } + + grouping config-interface-ipv6-router-isis-grouping { + container isis { + description + "IS-IS Routing for IPv6"; + presence "true"; + must '../../ios:address/ios:autoconfig or ../../ios:address/ios:prefix-list or ../../ios:address/ios:link-local-address or ../../ios:address/ios:prefix-name or ../../ios:unnumbered or ../../ios:enable' { + error-message "ipv6 is not enabled on this interface"; + } + must './tag or /ios:native/ios:router/isis' { + error-message "router isis must be configured first"; + } + leaf tag { + type leafref { + path "/ios:native/ios:router/isis-container/isis/area-tag"; + } + } + } + } + + grouping config-interface-clns-grouping { + leaf mtu { + type int64 { + range "512..4294967295"; + } + description + "MTU packet size for interface"; + } + } + + grouping config-interface-isis-network-grouping { + container network { + description + "Network type"; + leaf point-to-point { + default "false"; + type boolean; + } + } + } + + grouping isis-interface-lan-authentication-grouping { + list mode { + description + "Authentication mode"; + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf options { + mandatory true; + type enumeration { + enum md5; + enum text; + } + } + } + list key-chain { + description + "Authentication key-chain"; + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf name { + type string; + } + } + leaf-list send-only { + description + "Authentication send only, receive ignore"; + type enumeration { + enum level-1; + enum level-2; + } + } + } + + grouping isis-interface-lan-tunnel-authentication-grouping { + list mode { + description + "Authentication mode"; + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf options { + status obsolete; + mandatory true; + type enumeration { + enum md5; + enum text; + } + } + } + list key-chain { + description + "Authentication key-chain"; + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf name { + status obsolete; + type string; + } + } + leaf-list send-only { + description + "Authentication send only, receive ignore"; + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + } + + grouping isis-interface-serial-authentication-grouping { + container mode { + description + "Authentication mode"; + leaf mode-options { + type enumeration { + enum md5; + enum text; + } + } + } + container key-chain { + description + "Authentication key-chain"; + leaf name { + type string; + } + } + container send-only { + description + "Authentication send only, receive ignore"; + presence "Authentication send only, receive ignore"; + } + } + + grouping config-interface-isis-serial-grouping { + container adjacency-sid { + description + "Manual adjacency SID configuration"; + list adj-sid-list-absolute { + must '../../../../ios:ip/ios:router/isis or ../../../../ios:ipv6/ios:router/isis' { + error-message "Please configure ISIS on this interface"; + } + key "sid-value"; + leaf sid-value { + description + "Adjacency-SID value"; + type uint32 { + range "16 .. 1048575"; + } + } + leaf absolute { + description + "Specify SID absolute value"; + type empty; + } + leaf protected { + description + "Protected adjacency-SID configuration"; + type empty; + } + } + list adj-sid-list-index { + must '../../../../ios:ip/ios:router/isis or ../../../../ios:ipv6/ios:router/isis' { + error-message "Please configure ISIS on this interface"; + } + key "sid-value"; + leaf sid-value { + description + "Adjacency-SID value"; + type uint32 { + range "16 .. 1048575"; + } + } + leaf index { + description + "Specify SID index value"; + type empty; + } + leaf protected { + description + "Protected adjacency-SID configuration"; + type empty; + } + } + } + container authentication-serial { + description + "ISIS authentication for interface related PDUs"; + container authentication { + uses isis-interface-serial-authentication-grouping; + } + } + container hello-interval-serial { + description + "Set Hello interval in seconds"; + leaf hello-interval { + default "10"; + type union { + type uint16 { + range "1..65535"; + } + type enumeration { + enum minimal; + } + } + } + } + container hello-multiplier-serial { + description + "Set multiplier for Hello holding time"; + leaf hello-multiplier { + default "3"; + type uint16 { + range "3..1000"; + } + } + } + container password-serial { + description + "Configure the authentication password for interface"; + leaf password { + type string; + } + } + container three-way-handshake { + description + "Select Cisco or IETF three-way handshake"; + presence "true"; + leaf implementor { + default "ietf"; + type enumeration { + enum cisco; + enum ietf; + } + } + } + } + + grouping config-interface-isis-lan-grouping { + container authentication-lan { + description + "ISIS authentication for interface related PDUs"; + container authentication { + uses isis-interface-lan-authentication-grouping; + } + } + container hello-interval-lan { + description + "Set Hello interval in seconds"; + list hello-interval { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + default "10"; + type union { + type uint16 { + range "1..65535"; + } + type enumeration { + enum minimal; + } + } + } + } + } + container hello-multiplier-lan { + description + "Set multiplier for Hello holding time"; + list hello-multiplier { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + default "3"; + type uint16 { + range "3..1000"; + } + } + } + } + container password-lan { + description + "Configure the authentication password for interface"; + list password { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf password { + mandatory true; + type string; + } + } + } + } + + grouping config-interface-isis-lan-tunnel-grouping { + container authentication-lan { + description + "ISIS authentication for interface related PDUs"; + status obsolete; + container authentication { + status obsolete; + uses isis-interface-lan-tunnel-authentication-grouping; + } + } + container hello-interval-lan { + description + "Set Hello interval in seconds"; + status obsolete; + list hello-interval { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "10"; + type union { + type uint16 { + range "1..65535"; + } + type enumeration { + enum minimal; + } + } + } + } + } + container hello-multiplier-lan { + description + "Set multiplier for Hello holding time"; + status obsolete; + list hello-multiplier { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "3"; + type uint16 { + range "3..1000"; + } + } + } + } + container password-lan { + description + "Configure the authentication password for interface"; + status obsolete; + list password { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf password { + status obsolete; + mandatory true; + type string; + } + } + } + } + + grouping interface-isis-affinity-grouping { + container affinity { + description + "Interface affinity configuration"; + container flex-algo { + description + "Affinity attributes for flex-algo"; + list name { + key "name"; + leaf name { + type string; + } + } + } + } + } + + grouping config-interface-isis-fast-reroute-grouping { + description + "Fast-reroute configuration on interface"; + container candidate { + description + "Configuration of interface to be a candidate for fast-reroute path"; + list fast-reroute-candidate-list { + description + "IS-IS levels for fast-reroute inclusion of this interface"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type isis-level12-type; + } + leaf disable { + description + "Configuration of the interface to be excluded from fast-reroute path"; + type empty; + } + } + } + container exclude { + description + "Exclusion of the interface from fast-reroute path"; + list fast-reroute-exclude-list { + description + "IS-IS levels for fast-reroute exclusion of this interface"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type isis-level12-type; + } + leaf interface { + description + "Interface name"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + } + } + container protection { + description + "Fast-reroute protection options on the interface"; + list fast-reroute-protection-list { + description + "IS-IS levels for fast-reroute protection of this interface"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type isis-level12-type; + } + leaf disable { + description + "Disable fast-reroute protection on this interface"; + type empty; + } + } + } + container ti-lfa { + description + "TI-LFA options on the interface"; + container protection { + list fast-reroute-tilfa-list { + description + "IS-IS levels to enable TI-LFA on this interface"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type isis-level12-type; + } + choice ti-lfa-config-options { + description + "TI-LFA configuration options"; + leaf ti-lfa-maximum-metric { + description + "Maximum-metric to reach release node"; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf ti-lfa-disable { + description + "Configuration to disable TI-LFA protection for this interface"; + type empty; + } + } + leaf maximum-metric { + status deprecated; + description + "Maximum-metric to reach release node (DEPRECATED)"; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf disable { + status deprecated; + description + "Disable TI-LFA protection for this interface (DEPRECATED)"; + type empty; + } + } + } + } + container tie-break { + description + "Repair-path preferences when multiple repair-paths exist"; + list fast-reroute-tie-break-list { + description + "IS-IS levels for tie-break preferences on this interface"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type isis-level12-type; + } + container tie-break-options-grouping { + description + "Configuration of preferences for tie-breakers of fast-reroute protection"; + container default { + description + "Default tie-breakers for fast-reroute protection"; + presence "true"; + leaf default { + description + "Default tie-breakers for fast-reroute protection"; + type empty; + } + } + container downstream { + description + "Preference value for repair path via downstream node"; + presence "true"; + leaf downstream { + description + "Preference level for repair path via downstream node"; + type uint16 { + range "1 .. 255"; + } + } + } + container linecard-disjoint { + description + "Preference value for line card disjoint repair path"; + presence "true"; + leaf linecard-disjoint { + description + "Preference level for line card disjoint repair path"; + default "40"; + type uint16 { + range "1 .. 255"; + } + } + } + container lowest-backup-path-metric { + description + "Preference value for repair path with lowest total metric"; + presence "true"; + leaf lowest-backup-path-metric { + description + "Preference level for repair path with lowest total metric"; + default "30"; + type uint16 { + range "1 .. 255"; + } + } + } + container node-protecting { + description + "Preference value for node protecting repair path"; + presence "true"; + leaf node-protecting { + description + "Preference level for node protecting repair path"; + type uint16 { + range "1 .. 255"; + } + } + } + choice primary-secondary-choice { + description + "Preference value for primary-path or secondary-path from ECMP set"; + container primary-path { + description + "Preference value for repair path from ECMP set"; + presence "true"; + leaf primary-path { + description + "Preference level for repair path from ECMP set"; + default "20"; + type uint16 { + range "1 .. 255"; + } + } + } + container secondary-path { + description + "Preference value for non-ECMP repair path"; + presence "true"; + leaf secondary-path { + description + "Preference level for non-ECMP repair path"; + type uint16 { + range "1 .. 255"; + } + } + } + } + container srlg-disjoint { + description + "Preference value for SRLG disjoint repair path"; + presence "true"; + leaf srlg-disjoint { + description + "Preference level for SRLG disjoint repair path"; + type uint16 { + range "1 .. 255"; + } + } + } + must "(not(default) and (not(downstream) and not(srlg-disjoint) and not(secondary-path) + and not(primary-path) and not(node-protecting) and not(lowest-backup-path-metric) and not(linecard-disjoint))) + or (default and (not(downstream) and not(srlg-disjoint) and not(secondary-path) + and not(primary-path) and not(node-protecting) and not(lowest-backup-path-metric) and not(linecard-disjoint))) + or (not(default) and (primary-path or node-protecting or lowest-backup-path-metric or linecard-disjoint + or secondary-path or srlg-disjoint or downstream))" { + error-message + "default and other tie-break options cannot be configured at + the same time"; + } + } + container tie-break-grouping { + status deprecated; + leaf downstream { + status deprecated; + type uint16 { + range "1 .. 255"; + } + } + leaf linecard-disjoint { + status deprecated; + default "40"; + type uint16 { + range "1 .. 255"; + } + } + leaf lowest-backup-path-metric { + status deprecated; + default "30"; + type uint16 { + range "1 .. 255"; + } + } + leaf node-protecting { + status deprecated; + type uint16 { + range "1 .. 255"; + } + } + leaf primary-path { + status deprecated; + default "20"; + type uint16 { + range "1 .. 255"; + } + } + leaf secondary-path { + status deprecated; + type uint16 { + range "1 .. 255"; + } + } + leaf srlg-disjoint { + status deprecated; + type uint16 { + range "1 .. 255"; + } + } + } + } + } + } + + grouping config-interface-isis-grouping { + container adjacency-filter { + description + "Filter IS-IS adjacencies"; + leaf name { + type string; + } + leaf match-all { + description + "Match all area addresses"; + type empty; + } + } + container advertise { + description + "Control addresses advertisements in LSPs"; + leaf prefix { + description + "Interface IP address"; + type boolean; + } + } + uses interface-isis-affinity-grouping; + container circuit-type { + description + "Configure circuit type for interface"; + presence "true"; + leaf levels { + type enumeration { + enum level-1; + enum level-1-2; + enum level-2-only; + } + } + } + container csnp-interval { + description + "Set CSNP interval in seconds"; + list csnp-interval-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + default "10"; + type uint16; + } + } + } + container remote-psnp-delay { + description + "Remote Partial SNP Delay in msec"; + leaf number { + type uint32 { + range "1 .. 10000"; + } + } + } + container delay { + container normalize { + description + "Delay normalization interval"; + leaf interval { + type uint32 { + range "1..16777215"; + } + } + leaf offset { + description + "Delay normalization offset"; + type uint32 { + range "1..16777215"; + } + } + } + } + container fast-reroute { + description + "Fast-reroute Interface Configuration"; + uses config-interface-isis-fast-reroute-grouping; + container remote-lfa { + description + "Remote LFA configuration options on an interface"; + container protection { + description + "Provision of remote LFA protection on an interface"; + list fast-reroute-remote-lfa-list { + description + "IS-IS levels for remote LFA protection"; + key "levels"; + leaf levels { + description + "IS-IS levels"; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf disable { + description + "Configuration to disable remote LFA protection on the interface"; + type empty; + } + } + } + } + } + container hello { + description + "Add padding to IS-IS hello packets"; + container padding { + description + "Pad hello packets"; + presence "true"; + leaf always { + description + "Never pad hello packets if no prefix present"; + type empty; + } + } + } + container ipv6 { + description + "IPv6 interface configuration"; + uses isis-ipv6-metric-grouping; + leaf tag { + description + "Assign an admin tag to an ISIS interface IPv6 route"; + type uint32 { + range "1..4294967295"; + } + } + uses isis-bfd-grouping; + container fast-reroute { + description + "Fast-reroute Interface Configuration"; + uses config-interface-isis-fast-reroute-grouping; + } + } + leaf lsp-interval { + description + "Set LSP transmission interval"; + default "33"; + type uint32 { + range "1..4294967295"; + } + } + leaf mesh-group { + description + "Set ISIS mesh group"; + must '../../ios:ip/ios:router/isis or ../../ios:ipv6/ios:router/isis' { + error-message "Please configure ISIS on this interface"; + } + type union { + type uint32 { + range "1..4294967295"; + } + type enumeration { + enum blocked; + } + } + } + uses isis-metric-grouping; + uses isis-te-metric-grouping; + uses isis-metric-fallback-grouping; + container prefix-attributes { + description + "Specify prefix-attributes options"; + list prefix-attributes-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf n-flag-clear { + mandatory true; + type empty; + } + } + } + container priority { + description + "Set priority for Designated Router election"; + list priority-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + default "64"; + type uint8 { + range "0..127"; + } + } + } + } + container protocol { + description + "Set ISIS protocol's state under current interface"; + leaf shutdown { + type boolean; + } + } + leaf retransmit-interval { + description + "Set per-LSP retransmission interval"; + default "5"; + type uint16; + } + leaf retransmit-throttle-interval { + description + "Set interface LSP retransmission interval"; + default "0"; + type uint16; + } + leaf tag { + description + "Assign an admin tag to an ISIS interface IP route"; + type uint32 { + range "1..4294967295"; + } + } + uses isis-bfd-grouping; + } + + grouping config-interface-loopback-isis-grouping { + container adjacency-filter { + description + "Filter IS-IS adjacencies"; + status obsolete; + leaf name { + status obsolete; + type string; + } + leaf match-all { + description + "Match all area addresses"; + status obsolete; + type empty; + } + } + container advertise { + description + "Control addresses advertisements in LSPs"; + leaf prefix { + description + "Interface IP address"; + type boolean; + } + } + container circuit-type { + description + "Configure circuit type for interface"; + presence "true"; + leaf levels { + type enumeration { + enum level-1; + enum level-1-2; + enum level-2-only; + } + } + } + container csnp-interval { + description + "Set CSNP interval in seconds"; + status obsolete; + list csnp-interval-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "10"; + type uint16; + } + } + } + container fast-reroute { + description + "Fast-reroute Interface Configuration"; + status obsolete; + container candidate { + description + "interface can be used for fast-reroute path"; + status obsolete; + list fast-reroute-candidate-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf disable { + status obsolete; + type empty; + } + } + } + container exclude { + status obsolete; + list fast-reroute-exclude-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf interface { + description + "Interface name"; + status obsolete; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + } + } + container protection { + list fast-reroute-protection-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf disable { + status obsolete; + type empty; + } + } + } + container remote-lfa { + status obsolete; + container protection { + status obsolete; + list fast-reroute-remote-lfa-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf disable { + status obsolete; + type empty; + } + } + } + } + container ti-lfa { + status obsolete; + container protection { + list fast-reroute-tilfa-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf maximum-metric { + status obsolete; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf disable { + status obsolete; + type empty; + } + } + } + } + container tie-break { + status obsolete; + list fast-reroute-tie-break-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + container tie-break-grouping { + status obsolete; + leaf downstream { + status obsolete; + type uint16 { + range "1 .. 255"; + } + } + leaf linecard-disjoint { + status obsolete; + default "40"; + type uint16 { + range "1 .. 255"; + } + } + leaf lowest-backup-path-metric { + status obsolete; + default "30"; + type uint16 { + range "1 .. 255"; + } + } + leaf node-protecting { + status obsolete; + type uint16 { + range "1 .. 255"; + } + } + leaf primary-path { + status obsolete; + default "20"; + type uint16 { + range "1 .. 255"; + } + } + leaf secondary-path { + status obsolete; + type uint16 { + range "1 .. 255"; + } + } + leaf srlg-disjoint { + status obsolete; + type uint16 { + range "1 .. 255"; + } + } + } + } + } + } + container hello { + description + "Add padding to IS-IS hello packets"; + status obsolete; + container padding { + description + "Pad hello packets"; + status obsolete; + presence "true"; + leaf always { + description + "Never pad hello packets if no prefix present"; + status obsolete; + type empty; + } + } + } + container ipv6 { + description + "IPv6 interface configuration"; + uses isis-ipv6-metric-grouping; + leaf tag { + description + "Assign an admin tag to an ISIS interface IPv6 route"; + type uint32 { + range "1..4294967295"; + } + } + uses isis-bfd-loopback-grouping; + } + leaf lsp-interval { + description + "Set LSP transmission interval"; + status obsolete; + default "33"; + type uint32 { + range "1..4294967295"; + } + } + leaf mesh-group { + description + "Set ISIS mesh group"; + status obsolete; + must '../../ios:ip/ios:router/isis or ../../ios:ipv6/ios:router/isis' { + error-message "Please configure ISIS on this interface"; + } + type union { + type uint32 { + range "1..4294967295"; + } + type enumeration { + enum blocked; + } + } + } + uses isis-metric-grouping; + container prefix-attributes { + description + "Specify prefix-attributes options"; + list prefix-attributes-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf n-flag-clear { + mandatory true; + type empty; + } + } + } + container priority { + description + "Set priority for Designated Router election"; + status obsolete; + list priority-list { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "64"; + type uint8 { + range "0..127"; + } + } + } + } + container protocol { + description + "Set ISIS protocol's state under current interface"; + leaf shutdown { + type boolean; + } + } + leaf retransmit-interval { + description + "Set per-LSP retransmission interval"; + status obsolete; + default "5"; + type uint16; + } + leaf retransmit-throttle-interval { + description + "Set interface LSP retransmission interval"; + status obsolete; + default "0"; + type uint16; + } + leaf tag { + description + "Assign an admin tag to an ISIS interface IP route"; + type uint32 { + range "1..4294967295"; + } + } + uses isis-bfd-loopback-grouping; + } + + grouping config-interface-loopback-isis-lan-grouping { + container authentication-lan { + description + "ISIS authentication for interface related PDUs"; + status obsolete; + container authentication { + uses isis-interface-lan-authentication-grouping; + } + } + container hello-interval-lan { + status obsolete; + description + "Set Hello interval in seconds"; + list hello-interval { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "10"; + type union { + type uint16 { + range "1..65535"; + } + type enumeration { + enum minimal; + } + } + } + } + } + container hello-multiplier-lan { + description + "Set multiplier for Hello holding time"; + status obsolete; + list hello-multiplier { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + status obsolete; + default "3"; + type uint16 { + range "3..1000"; + } + } + } + } + container password-lan { + description + "Configure the authentication password for interface"; + status obsolete; + list password { + status obsolete; + key "levels"; + leaf levels { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf password { + status obsolete; + mandatory true; + type string; + } + } + } + } + + grouping narrow-wide-transition-grouping { + leaf narrow-wide { + type isis-level-type; + } + leaf transition { + description + "Accept both styles of TLVs during transition"; + type isis-level-type; + } + } + + grouping spf-intervals-grouping { + leaf interval { + default "5"; + type uint32 { + range "1 .. 120"; + } + } + leaf initial-wait { + default "50"; + type uint32 { + range "1 .. 120000"; + } + } + leaf minimum-wait { + default "200"; + type uint32 { + range "1 .. 120000"; + } + } + } + + grouping authenticate-snp-grouping { + leaf authenticate { + description + "Authentication"; + type empty; + } + leaf snp { + description + "SNP PDUs"; + type enumeration { + enum send-only; + enum validate; + } + } + } + + grouping lsp-gen-interval-grouping { + leaf interval { + default "5"; + type uint32 { + range "1 .. 120"; + } + } + leaf initial-wait { + default "50"; + type uint32 { + range "1 .. 120000"; + } + } + leaf wait { + default "200"; + type uint32 { + range "1 .. 120000"; + } + } + } + + grouping set-overload-bit-suppress-grouping { + choice suppress-grouping-choice { + case external-interlevel { + leaf external { + description + "If overload-bit set, don't advertise IP prefixes learned from other protocols"; + type empty; + } + leaf interlevel { + description + "If overload-bit set, don't advertise IP prefixes learned from another ISIS level"; + type empty; + } + } + case prefixes { + leaf prefixes { + description + "If overload-bit set, dont advertise any IP prefixes"; + type empty; + } + } + } + } + + grouping authentication-level-grouping { + leaf levels { + type authentication-level-type; + } + } + + grouping isis-authentication-grouping { + list mode { + description + "Authentication mode"; + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf options { + mandatory true; + type enumeration { + enum md5; + enum text; + } + } + leaf enable-poi { + description + "Enable Purge Originator Identification TLV"; + when "../options = 'md5'"; + type empty; + } + } + list key-chain { + description + "Authentication key-chain"; + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf name { + type string; + } + leaf enable-poi { + description + "Enable Purge Originator Identification TLV"; + type empty; + } + } + leaf-list send-only { + description + "Authentication send only, receive ignore"; + type enumeration { + enum level-1; + enum level-2; + } + } + } + + grouping isis-metric-grouping { + container metric { + description + "Configure the metric for interface"; + list metric-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + mandatory true; + type union { + type uint32 { + range "1..16777214"; + } + type enumeration { + enum maximum; + } + } + } + } + } + } + + grouping isis-metric-fallback-mode-grouping { + choice fallback-mode { + case delay { + leaf delay { + type empty; + } + } + case loss { + leaf loss { + type empty; + } + } + } + } + + grouping isis-metric-fallback-anomaly-val-grouping { + choice anomaly-value { + mandatory true; + case increment { + leaf increment { + type int64 { + range "1..16777213"; + } + } + } + case multiplier { + leaf multiplier { + type int64 { + range "2..100000"; + } + } + } + case maximum { + leaf maximum { + type empty; + } + } + } + } + + grouping isis-metric-fallback-grouping { + container metric-fallback { + container metric { + container fallback { + description + "Configure metric fallback"; + list anomaly { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + uses isis-metric-fallback-mode-grouping; + uses isis-metric-fallback-anomaly-val-grouping; + } + container anomaly-te { + list anomaly { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + uses isis-metric-fallback-mode-grouping; + leaf te-metric { + description + "te-metric"; + mandatory true; + type empty; + } + uses isis-metric-fallback-anomaly-val-grouping; + } + } + } + } + } + } + + grouping isis-te-metric-grouping { + container te-metric { + description + "Configure the te-metric for interface"; + list te-metric-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf flex-algo { + description + "Flex algorithm"; + mandatory true; + type empty; + } + leaf value { + mandatory true; + type uint32 { + range "1..16777214"; + } + } + } + } + } + + grouping isis-ipv6-metric-grouping { + container metric { + description + "Configure the metric for interface"; + list metric-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + mandatory true; + type union { + type uint32 { + range "1..16777214"; + } + type enumeration { + enum maximum; + } + } + } + } + } + } + + grouping redist-level-grouping { + leaf levels { + default "level-2"; + type isis-routes-level-type; + } + } + + grouping redist-level-grouping-obsolete { + leaf levels { + status obsolete; + default "level-2"; + type isis-routes-level-type; + } + } + + grouping isis-redist-grouping { + leaf metric { + description + "ISIS default metric"; + type uint32 { + range "0 .. 4261412864"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf metric-type { + when '../metric'; + type enumeration { + enum external; + enum internal; + } + } + leaf metric-type-rib { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + when 'not(../metric)'; + type enumeration { + enum external; + enum internal; + enum rib-metric-as-external; + enum rib-metric-as-internal; + } + } + } + + grouping isis-redist-afv6-basic-grouping { + leaf metric { + description + "ISIS default metric"; + type uint32 { + range "0 .. 4261412864"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf metric-type { + when '../metric'; + type enumeration { + enum internal; + enum external; + } + } + leaf metric-type-rib { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + when 'not(../metric)'; + type enumeration { + enum internal; + enum external; + enum rib-metric-as-external; + enum rib-metric-as-internal; + } + } + } + + grouping isis-redist-af-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + leaf metric { + description + "ISIS default metric"; + type uint32 { + range "0 .. 4261412864"; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf metric-type { + when '../metric'; + type enumeration { + enum internal; + enum external; + } + } + leaf metric-type-rib { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + when 'not(../metric)'; + type enumeration { + enum internal; + enum external; + enum rib-metric-as-external; + enum rib-metric-as-internal; + } + } + } + + grouping isis-redist-ospf-match-grouping { + leaf match { + type empty; + } + leaf internal { + description + "Redistribute OSPF internal routes"; + when '../match'; + type empty; + } + leaf external { + description + "Redistribute OSPF external routes"; + when '../match'; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + when '../match'; + must '. != ../external' { + error-message "external and external2 values must be different"; + } + type ios-types:redist-ospf-external-type; + } + leaf nssa-external { + description + "Redistribute OSPF NSSA external routes"; + when '../match'; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + when '../match'; + must '. != ../nssa-external' { + error-message "nssa-external and nssa-external2 values must be different"; + } + type ios-types:redist-ospf-external-type; + } + } + + grouping isis-redist-v4-grouping { + list application { + description + "Application"; + key "name"; + leaf name { + description + "Application name"; + type string; + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list bgp-ip { + key "as-number"; + max-elements 1; + leaf as-number { + type ios-types:bgp-as-number-type; + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + } + container connected { + description + "Connected"; + presence "Connected"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container mobile { + description + "Mobile routes"; + presence "Mobile routes"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container static-ip { + container static { + description + "Static routes"; + container ip { + presence "static routes"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + } + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + type uint32 { + range "1 .. 65535"; + } + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container isis-leak { + description + "ISIS leaking"; + container isis { + list ip { + description + "Redistribution of IP routes between levels or processes"; + key "isis-redist-levels1 isis-redist-levels2"; + leaf isis-redist-levels1 { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf into { + description + "from level-n into level-m"; + mandatory true; + type empty; + } + leaf isis-redist-levels2 { + must '../isis-redist-levels1 != .' { + error-message "Cannot redistribute isis into itself"; + } + type enumeration { + enum level-1; + enum level-2; + } + } + choice isis-redist-isis-ip-choice { + mandatory true; + leaf distribute-list { + description + "select routes"; + type ios-types:isis-distribute-list-type; + } + leaf route-map { + description + "Route map for route matching"; + type string; + } + } + } + } + } + container isis-redistribute { + description + "ISO IS-IS"; + container isis-no-tag { + description + "redistribute ISIS without area-tag"; + container isis { + container ip { + presence "IS-IS routes"; + uses isis-redist-grouping; + uses redist-level-grouping; + } + } + } + list isis { + key "area-tag"; + leaf area-tag { + type leafref { + path "/ios:native/ios:router/isis-container/isis/area-tag"; + } + } + container ip { + presence "ISIS routes"; + uses isis-redist-grouping; + uses redist-level-grouping; + } + } + } + container iso-igrp { + description + "IGRP for OSI networks"; + list iso-igrp-area { + key "name"; + leaf name { + type string; + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container default { + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf number { + type uint32 { + range "1 .. 4294967295"; + } + } + leaf threshold-value { + type uint32 { + range "1 .. 100"; + } + } + choice max-prefix-options { + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + leaf withdraw { + description + "Withdraw redistributed prefixes"; + type empty; + } + } + } + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "NAT routes"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + container odr { + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + type uint32 { + range "1 .. 65535"; + } + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + uses isis-redist-ospf-match-grouping; + } + list ospfv3 { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + type uint32 { + range "1 .. 65535"; + } + } + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + uses isis-redist-ospf-match-grouping; + } + container rip { + description + "Routing Information Protocol (RIP)"; + presence "Routing Information Protocol (RIP)"; + uses isis-redist-grouping; + uses redist-level-grouping-obsolete; + } + } + + grouping isis-redist-v6-grouping { + list application { + description + "Application"; + key "name"; + leaf name { + description + "Application name"; + type string; + } + uses isis-redist-af-grouping; + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list bgp-ip { + key "as-number"; + max-elements 1; + leaf as-number { + type ios-types:bgp-as-number-type; + } + uses isis-redist-afv6-basic-grouping; + } + } + container connected { + description + "Connected"; + presence "Connected"; + uses isis-redist-afv6-basic-grouping; + } + container static-ip { + container static { + description + "Static routes"; + presence "static routes"; + uses isis-redist-afv6-basic-grouping; + } + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + type uint32 { + range "1 .. 65535"; + } + } + uses isis-redist-af-grouping; + } + container isis-leak { + description + "ISIS leaking"; + list isis { + description + "Redistribution of IP routes between levels or processes"; + key "isis-redist-levels1 isis-redist-levels2"; + leaf isis-redist-levels1 { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf into { + description + "from level-n into level-m"; + mandatory true; + type empty; + } + leaf isis-redist-levels2 { + must '../isis-redist-levels1 != .' { + error-message "Cannot redistribute isis into itself"; + } + type enumeration { + enum level-1; + enum level-2; + } + } + choice isis-redist-isis-ip-choice { + mandatory true; + leaf distribute-list { + description + "select routes"; + type ios-types:isis-distribute-list-type; + } + leaf route-map { + description + "Route map for route matching"; + type string; + } + } + } + } + container isis-redistribute { + description + "ISO IS-IS"; + container isis-no-tag { + description + "redistribute ISIS without area-tag"; + container isis { + uses isis-redist-af-grouping; + uses redist-level-grouping; + } + } + list isis { + key "area-tag"; + leaf area-tag { + type leafref { + path "/ios:native/ios:router/isis-container/isis/area-tag"; + } + } + uses isis-redist-af-grouping; + uses redist-level-grouping; + } + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses isis-redist-af-grouping; + } + container nd { + description + "Neighbor Discovery"; + presence "Neighbor Discovery"; + uses isis-redist-af-grouping; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses isis-redist-af-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + type uint32 { + range "1 .. 65535"; + } + } + uses isis-redist-af-grouping; + uses isis-redist-ospf-match-grouping; + } + list rip { + description + "Routing Information Protocol (RIP)"; + key "process-id"; + leaf process-id { + description + "Routing Information Protocol (RIP)"; + type string; + } + uses isis-redist-af-grouping; + } + } + + grouping isis-ipv4-ipv6-common-grouping { + leaf adjacency-check { + description + "Check ISIS neighbor protocol support"; + type empty; + } + leaf router-id { + description + "Interface of stable IP address for system"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + } + + grouping isis-common-grouping { + container adjacency { + description + "ISIS adjacencies configuration"; + container stagger { + description + "Maximum P2P adjacencies in forming state"; + presence "stagger"; + leaf init-number { + default "2"; + type uint32 { + range "2 .. 64"; + } + } + leaf max-number { + when '../init-number'; + default "64"; + type uint32 { + range "2 .. 1024"; + } + } + } + } + container advertise { + description + "Control which IP routes flow in L1 and L2 LSPs"; + container link { + description + "Advertise protocol link"; + leaf attributes { + description + "Advertise link attributes"; + type empty; + } + } + leaf passive-only { + description + "only interface address of passive interfaces"; + type empty; + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Distribute a default route"; + description + "Distribute a default route"; + leaf route-map { + description + "Route-map reference"; + type string; + } + } + } + container ucmp { + description + "Control UCMP RIB update"; + container local { + presence "Enable Local UCMP"; + description + "Enable Local UCMP"; + leaf prefix-list { + description + "Prefix-list reference"; + type string; + } + } + } + leaf maximum-paths { + description + "Forward packets over multiple paths"; + default "4"; + type uint32 { + range "1 .. 32"; + } + } + container metric { + description + "Set ISIS metric for all interfaces"; + list metrics { + key "level"; + leaf level { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf metric { + mandatory true; + type uint32 { + range "1..16777214"; + } + } + } + } + container prc-interval { + description + "Minimum interval between partial route calculations"; + leaf interval { + default "5"; + type uint32 { + range "1 .. 120"; + } + } + leaf initial-wait { + default "50"; + type uint32 { + range "1 .. 120000"; + } + } + leaf minimum-wait { + default "200"; + type uint32 { + range "1 .. 120000"; + } + } + } + container set-attached-bit { + description + "Conditionally advertise us as attached to L2"; + leaf route-map { + description + "Route-map reference"; + type string; + } + } + container set-overload-bit { + description + "Signal other routers not to use us in SPF"; + presence "Signal other routers not to use us in SPF"; + choice set-overload-bit-choice { + container on-startup { + description + "Set overload-bit only temporarily after reboot"; + choice on-startup-choice { + container time { + leaf time { + mandatory true; + type uint32 { + range "5 .. 86400"; + } + } + container suppress { + description + "If overload-bit set, suppress the following types of IP prefixes"; + uses set-overload-bit-suppress-grouping; + } + } + container wait-for-bgp { + description + "Let BGP decide when to unset the overload bit"; + presence "Let BGP decide when to unset the overload bitW"; + container suppress { + description + "If overload-bit set, suppress the following types of IP prefixes"; + uses set-overload-bit-suppress-grouping; + } + } + } + } + container suppress { + description + "If overload-bit set, suppress the following types of IP prefixes"; + uses set-overload-bit-suppress-grouping; + } + } + } + container receive { + description + "Receiver behaviour"; + container application { + description + "Receiver application behaviour"; + container flex-algo { + description + "Receiver application flex-algo behaviour"; + container delay { + description + "Receiver application flex-algo delay behaviour"; + leaf app-only { + description + "Flex-algo delay uses application specific advertisement"; + default "false"; + type boolean; + } + } + } + } + } + container spf-interval { + description + "Minimum interval between SPF calculations"; + choice spf-interval-choice { + list level-1-2 { + key "level"; + leaf level { + type enumeration { + enum level-1; + enum level-2; + } + } + uses spf-intervals-grouping; + } + container intervals { + uses spf-intervals-grouping; + } + } + } + } + + grouping isis-address-family-grouping { + uses isis-common-grouping; + uses isis-ipv4-ipv6-common-grouping; + container bfd { + description + "BFD configuration commands"; + leaf all-interfaces { + description + "Enable BFD on all interfaces"; + type boolean; + } + } + leaf distance { + description + "Administrative distance"; + default "115"; + type uint32 { + range "1 .. 254"; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + list prefix-list { + description + "Filter connections based on an IPv6 prefix-list"; + key "name interface"; + leaf name { + type string; + } + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + leaf in { + description + "Filter incoming routing updates"; + type empty; + } + } + container prefix-list-in-only { + leaf prefix-list { + type string; + } + leaf in { + type empty; + } + } + } + container ipv6 { + description + "IPv6 specific commands"; + container route { + description + "ISIS IPV6 routes"; + container priority { + description + "Assign priority to IPV6 prefixes"; + container high { + description + "Assign high priority to important IPV6 prefixes in ISIS IPV6 local RIB"; + leaf tag { + description + "Assign high priority to IPV6 prefixes with a specific route tag"; + type uint32; + } + } + } + } + } + container multi-topology { + description + "Enable multi-topology mode"; + must '../../../metric-style/wide' { + error-message "Must enable wide metrics first"; + } + presence "Enable multi-topology mode"; + leaf transition { + description + "Accept and generate both IS-IS IPv6 and Multi-topology IPv6 TLVs"; + type empty; + } + } + container redistribute { + description + "Redistribute IPv6 prefixes from another routing protocol"; + uses isis-redist-v6-grouping; + } + list summary-prefix { + description + "Configure IPv6 summary prefix"; + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + } + leaf levels { + default "level-2"; + type enumeration { + enum level-1; + enum level-1-2; + enum level-2; + } + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + } + + grouping tie-break-prefer-repair-grouping { + leaf downstream { + description + "priority number"; + type uint8 { + range "1..255"; + } + } + leaf linecard-disjoint { + description + "priority number"; + type uint8 { + range "1..255"; + } + } + leaf lowest-backup-path-metric { + description + "priority number"; + default "40"; + type uint8 { + range "1..255"; + } + } + leaf node-protecting { + description + "priority number"; + default "30"; + type uint8 { + range "1..255"; + } + } + choice primary-secondary-choice { + description + "Preference value for primary-path or secondary-path from ECMP set"; + leaf primary-path-preference { + description + "Preference value for primary-path"; + type uint8 { + range "1..255"; + } + } + leaf secondary-path-preference { + description + "Preference value for secondary-path"; + default "20"; + type uint8 { + range "1..255"; + } + } + } + leaf primary-path { + status deprecated; + description + "priority number (DEPRECATED)"; + type uint8 { + range "1..255"; + } + } + leaf secondary-path { + status deprecated; + description + "priority number (DEPRECATED)"; + default "20"; + type uint8 { + range "1..255"; + } + } + leaf srlg-disjoint { + description + "priority number"; + type uint8 { + range "1..255"; + } + } + } + + grouping isis-topology-grouping { + container distance { + description + "Define an administrative distance"; + container ip-distance { + leaf number { + default "115"; + type uint8 { + range "1 .. 255"; + } + } + leaf ip { + description + "Distance applied for IP derived routes"; + type empty; + } + } + container iplist { + list ip-list { + key "ip w-bits"; + leaf ip { + description + "IP Source address"; + type inet:ipv4-address; + } + leaf w-bits { + type inet:ipv4-address; + } + leaf number { + mandatory true; + type uint8 { + range "1 .. 255"; + } + } + leaf access-list { + type ios-types:access-list-standard-id-type; + } + } + } + container clns-distance { + leaf number { + type uint8 { + range "1 .. 255"; + } + } + leaf clns { + description + "Distance applied for CLNS derived routes"; + type empty; + } + } + } + container ip { + description + "IP specific commands"; + container route { + description + "ISIS IP routes"; + container priority { + description + "Assign priority to IP prefixes"; + container high { + description + "Assign high priority to important IP prefixes in ISIS IP local RIB"; + leaf tag { + description + "Assign high priority to IP prefixes with a specific route tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + } + } + } + leaf priority { + description + "priority value"; + default "64"; + type uint8 { + range "0..127"; + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + uses isis-redist-v4-grouping; + } + uses ios-snmp:router-snmp-grouping; + container traffic-share { + description + "How to compute traffic share over alternate paths"; + container min { + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + uses isis-common-grouping; + } + + grouping isis-af-ipv4-grouping { + uses ios-snmp:router-snmp-grouping; + list topology { + description + "Associate the routing protocol to a topology instance"; + key "name"; + leaf name { + type string; + } + leaf tid { + description + "Configuring the routing protocol topology tid"; + type uint32 { + range "5..4095"; + } + } + leaf ignore-attached-bit { + description + "Never install default route to closest L2 router"; + type empty; + } + uses isis-topology-grouping; + list summary-address { + description + "Configure IP address summaries"; + must '../../../../net' { + error-message "IS-IS NET must be configured before configuring this command"; + } + key "ip mask"; + leaf ip { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + leaf levels { + default "level-2"; + type enumeration { + enum level-1; + enum level-1-2; + enum level-2; + } + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf metric { + description + "Set metric for summary route"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + } + } + + grouping isis-flex-grouping { + list flex-algo { + description + "Flex algorithm mode"; + must '../net' { + error-message "IS-IS NET must be configured before configuring this command"; + } + key "flex-algo-number"; + leaf flex-algo-number { + description + "Flex algorithm value"; + type uint32 { + range "128..255"; + } + } + leaf advertise-definition { + description + "Advertise definition"; + type empty; + } + container affinity { + description + "Assign affinities to this flex algorithm"; + container exclude-any { + description + "Affinity attributes to exclude"; + list name { + key "name"; + leaf name { + type string; + } + } + } + container include-any { + description + "Affinity attributes for include-any"; + list name { + key "name"; + leaf name { + type string; + } + } + } + container include-all { + description + "Affinity attributes for include-all"; + list name { + key "name"; + leaf name { + type string; + } + } + } + } + container fast-reroute { + description + "Fast-reroute"; + leaf disable { + type empty; + } + } + container metric-type { + description + "Metric type"; + choice metric-type { + case delay { + leaf type-delay { + type empty; + } + } + case te { + leaf te { + type empty; + } + } + } + leaf delay { + status deprecated; + type empty; + } + } + container microloop { + description + "microloop avoidance"; + container avoidance { + description + "microloop avoidance"; + leaf disable { + type empty; + } + } + } + leaf prefix-metric { + description + "Prefix metric"; + type empty; + } + leaf priority { + description + "Priority"; + type uint32 { + range "0..255"; + } + } + } + } + + grouping isis-lsp-fast-flooding-grouping { + container lsp-fast-flooding { + description + "Enable and customize ISIS LSP Fast FLooding"; + presence "true"; + leaf max-lsp-tx { + default "1000"; + type uint32 { + range "33 .. 5000"; + } + } + leaf remote-psnp-delay { + default "1000"; + type uint32 { + range "1 .. 10000"; + } + } + } + } + + grouping isis-fast-reroute-grouping { + description + "Global Fast-reroute settings for IS-IS"; + container interface { + description + "Loop-Free-Alternative global interface settings"; + container disable { + description + "Configuration to disable LFA protection for all interfaces on an IS-IS level"; + leaf level-1 { + description + "IS-IS level-1"; + type empty; + } + leaf level-2 { + description + "IS-IS level-2"; + type empty; + } + } + } + container load-sharing-disable { + description + "Configuration to disable load-sharing among links and prefixes"; + container level-1 { + description + "Level-1 load sharing configuration"; + leaf disable { + description + "Disable load-sharing on Level-1"; + type empty; + } + } + container level-2 { + description + "Level-2 load-sharing configuration"; + leaf disable { + description + "Disable load-sharing on Level-2"; + type empty; + } + } + } + container load-sharing { + status deprecated; + description + "Distributes repair paths equally among links and prefixes (DEPRECATED)"; + container level-1 { + status deprecated; + description + "Apply to level-1 (DEPRECATED)"; + presence "true"; + leaf disable { + status deprecated; + description + "Disable load-sharing (DEPRECATED)"; + type empty; + } + } + container level-2 { + status deprecated; + description + "Apply to level-2 (DEPRECATED)"; + presence "true"; + leaf disable { + status deprecated; + description + "Disable load-sharing (DEPRECATED)"; + type empty; + } + } + } + container per-prefix { + description + "Configuration to enable Fast-reroute per-prefix"; + container level-1 { + description + "Fast-reroute per-prefix configuration for Level-1"; + choice apply-types { + leaf all { + description + "Enable Fast-Reroute for primary paths"; + type empty; + } + leaf route-map { + description + "route-map name"; + type string; + } + } + } + container level-2 { + description + "Fast-reroute per-prefix configuration for Level-2"; + choice apply-types { + leaf all { + description + "Enable Fast-Reroute for primary paths"; + type empty; + } + leaf route-map { + description + "route-map name"; + type string; + } + } + } + } + container tie-break { + description + "Preference configuration for repair path"; + container level-1 { + description + "Tie-break preference configuration for Level-1"; + uses tie-break-prefer-repair-grouping; + } + container level-2 { + description + "Tie-break preference configuration for Level-2"; + uses tie-break-prefer-repair-grouping; + } + } + container ti-lfa { + description + "Fast-reroute TI-LFA configuration options"; + container level-1 { + description + "TI-LFA configuration for Level-1"; + presence "true"; + leaf maximum-metric { + description + "maximum metric to reach release node"; + type uint32 { + range "1..4294967295"; + } + } + } + container level-2 { + description + "TI-LFA configuration for Level-2"; + presence "true"; + leaf maximum-metric { + description + "maximum metric to reach release node"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container use-candidate-only-config { + description + "Configuration to use LFA candidates on interfaces"; + leaf level-1 { + description + "Use candidate-only configuration for Level-1"; + type empty; + } + leaf level-2 { + description + "Use candidate-only configuration for Level-2"; + type empty; + } + } + container use-candidate-only { + status deprecated; + description + "Use LFA candidates configured on interfaces only (DEPRECATED)"; + choice levels { + leaf level-1 { + status deprecated; + description + "Configure ISIS level-1 to run MPLS LDP (DEPRECATED)"; + type empty; + } + leaf level-2 { + status deprecated; + description + "Configure ISIS level-2 to run MPLS LDP (DEPRECATED)"; + type empty; + } + } + } + } + + grouping isis-srv6-microloop-avoidance-grouping { + description + "Microloop avoidance configurations for address-family ipv6"; + container uloop-avoidance { + container microloop { + description + "Configuration options for Microloop protection"; + container avoidance { + description + "Local microloop avoidance options"; + choice microloop-function { + leaf disable { + description + "Configuration to disable microloop avoidance"; + type boolean; + } + leaf segment-routing { + description + "Segment-routing option for Microloop Avoidance"; + type boolean; + } + } + } + } + } + container uloop-ribupdate { + description + "Microloop-avoidance RIB update delay value"; + container microloop { + description + "Configuration options for Microloop protection"; + container avoidance { + description + "Microloop avoidance configuration options"; + leaf rib-update-delay { + description + "Value of the delay in milliseconds"; + type uint32 { + range "1..600000"; + } + } + } + } + } + } + + grouping config-isis-main-grouping { + leaf vrf { + description + "VRF name for this process"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF does not exist"; + } + type string; + } + container metric-style { + description + "Use old-style (ISO 10589) or new-style packet formats"; + choice metric-style-choice { + container narrow { + description + "Use old style of TLVs with narrow metric"; + presence "true"; + uses narrow-wide-transition-grouping; + } + container transition { + description + "Send and accept both styles of TLVs during transition"; + presence "true"; + leaf transition { + type isis-level-type; + } + } + container wide { + description + "Use new style of TLVs to carry wider metric"; + presence "true"; + uses narrow-wide-transition-grouping; + } + } + } + container address-family { + description + "Enter Address Family command mode"; + list ipv4 { + description + "Address family"; + key "v4-address-family-types"; + must '../../metric-style/wide' { + error-message "Must enable wide metrics first"; + } + leaf v4-address-family-types { + type enumeration { + enum unicast; + enum multicast; + } + } + uses isis-af-ipv4-grouping; + } + list ipv6 { + description + "Address family"; + key "v6-address-family-types"; + leaf v6-address-family-types { + type enumeration { + enum unicast; + } + } + uses isis-address-family-grouping; + container fast-reroute { + description + "Fast-reroute configuration options"; + uses isis-fast-reroute-grouping; + } + uses isis-srv6-microloop-avoidance-grouping; + } + } + uses isis-topology-grouping; + container area-password { + description + "Configure the authentication password for an area"; + leaf name { + type string; + } + uses authenticate-snp-grouping; + } + container distribute { + description + "Link-state distribution"; + container link-state { + description + "Enable link-state distribution"; + presence "true"; + choice link-state-options { + container link-state-with-instance { + leaf instance-id { + description + "Set distribution process instance identifier"; + mandatory true; + type uint32 { + range "32 .. 4294967294"; + } + } + leaf levels { + description + "Apply to level-1 or level-2"; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf throttle { + description + "Set throttle update in seconds"; + default "10"; + type uint8 { + range "5 .. 20"; + } + } + } + container link-state-only-levels { + leaf levels { + description + "Apply to level-1 or level-2"; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf throttle { + description + "Set throttle update in seconds"; + default "10"; + type uint8 { + range "5 .. 20"; + } + } + } + } + } + } + container authentication { + description + "ISIS authentication for LSPs"; + uses isis-authentication-grouping; + } + container bfd { + description + "BFD configuration commands"; + leaf all-interfaces { + description + "Enable BFD on all interfaces"; + type boolean; + } + leaf check-ctrl-plane-failure { + description + "BFD check control plane failure"; + type boolean; + } + } + container distribute-list { + description + "Filter networks in routing updates"; + list distribute-list { + key "interface"; + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + choice list-types { + leaf acl-name { + type ios-types:access-list-standard-id-type-non-default; + } + case prefix-gateway-case { + leaf prefix { + description + "Filter prefixes in routing updates"; + type string; + } + leaf gateway { + description + "Filtering incoming updates based on gateway"; + type string; + } + } + } + leaf in { + description + "Filter incoming routing updates"; + type empty; + } + } + container acl { + presence "true"; + leaf acl-name { + mandatory true; + must 'not(../../gateway-or-prefix/options) and not(../../route-map/name)'; + type ios-types:access-list-standard-id-type-non-default; + } + leaf in { + description + "Filter incoming routing updates"; + mandatory true; + type empty; + } + } + container gateway-or-prefix { + presence "true"; + leaf options { + mandatory true; + must 'not(../../acl/acl-name) and not(../../route-map/name)'; + type enumeration { + enum gateway; + enum prefix; + } + } + leaf name { + description + "Filter prefixes based on gateway or prefix"; + mandatory true; + type string; + } + leaf in { + description + "Filter incoming routing updates"; + mandatory true; + type empty; + } + } + container route-map { + presence "true"; + leaf name { + must 'not(../../gateway-or-prefix/options) and not(../../acl/acl-name)'; + mandatory true; + description + "Filter prefixes based on the route-map"; + type string; + } + leaf route-map-in { + mandatory true; + description + "Filter incoming routing updates"; + type empty; + } + } + } + container domain-password { + description + "Set the authentication password for a routing domain"; + leaf name { + type string; + } + uses authenticate-snp-grouping; + } + container fast-flood { + description + "Flood LSPs (that triggered SPF) before running SPF"; + presence "Flood LSPs (that triggered SPF) before running SPF"; + leaf number { + default "10"; + type uint32 { + range "1 .. 15"; + } + } + } + container psnp-interval { + description + "Local Partial SNP Interval in msec"; + leaf number { + default "50"; + type uint32 { + range "1 .. 10000"; + } + } + } + uses isis-lsp-fast-flooding-grouping; + container flood { + description + "flooding"; + container parallel { + description + "parallel flooding"; + leaf suppression { + description + "Suppress flooding over parallel links"; + type empty; + } + } + } + container fast-reroute { + description + "Configure Fast-Reroute"; + uses isis-fast-reroute-grouping; + container remote-lfa { + description + "Configuring fast-reroute remote-lfa"; + container level-1 { + description + "Apply to level-1"; + container mpls-ldp { + description + "Use mpls-ldp tunnel type"; + presence "true"; + container maximum-metric { + description + "maximum metric to reach release node"; + leaf max-met { + description + "metric value"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + container level-2 { + description + "Apply to level-2"; + container mpls-ldp { + description + "Use mpls-ldp tunnel type"; + presence "true"; + container maximum-metric { + description + "maximum metric to reach release node"; + leaf max-met { + description + "metric value"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + } + } + uses isis-flex-grouping; + container affinity-map { + description + "Affinity Map for Flex-Algo"; + list color-list { + must '../../net' { + error-message "IS-IS NET must be configured before configuring this command"; + } + key "name"; + leaf name { + description + "Color name"; + type string; + } + container bit-position { + description + "Bit-position"; + leaf position { + type uint8 { + range "0..255"; + } + } + } + } + } + container hello { + description + "Pad ISIS hello PDUs to full MTU"; + container padding { + presence "true"; + leaf point-to-point { + default "true"; + type boolean; + } + leaf multi-point { + default "true"; + type boolean; + } + } + } + container hostname { + description + "Dynamic hostname for IS-IS"; + leaf dynamic { + description + "Dynamic hostname"; + default "true"; + type boolean; + } + } + leaf ignore-lsp-errors { + description + "Ignore LSPs with bad checksums"; + default "true"; + type boolean; + } + container is-type { + description + "IS Level for this routing process (OSI only)"; + leaf levels { + default "level-1-2"; + type enumeration { + enum level-1; + enum level-2-only; + enum level-1-2; + } + } + leaf backdoor { + description + "Not set attached-bit, install default route to other Ll-L2 router"; + when "../levels = 'level-1-2'"; + type empty; + } + } + container log-adj-changes { + description + "Log changes in adjacency state"; + leaf log-adjacency-changes { + description + "Log changes in adjacency state"; + default "true"; + type boolean; + } + leaf all { + description + "Include changes generated by non-IIH event"; + type empty; + } + } + container lsp-full { + description + "If we run out of LSP fragments"; + container suppress { + description + "suppress the following types of IP prefixes"; + choice lsp-full-choince { + container external-interlevel-container { + leaf external { + description + "don't advertise IP prefixes learned from other protocols"; + type empty; + } + leaf interlevel { + description + "don't advertise IP prefixes learned from another ISIS level"; + type empty; + } + } + leaf none { + description + "don't suppress any prefixes"; + type empty; + } + } + } + } + container lsp-gen-interval { + description + "Minimum interval between regenerating same LSP"; + choice lsp-gen-interval-choice { + container intervals { + uses lsp-gen-interval-grouping; + } + container intervals-levels { + container intervals-level-1 { + leaf level-1 { + description + "Set interval for level 1 only"; + type empty; + } + uses lsp-gen-interval-grouping; + } + container intervals-level-2 { + leaf level-2 { + description + "Set interval for level 2 only"; + type empty; + } + uses lsp-gen-interval-grouping; + } + } + } + } + leaf lsp-mtu { + description + "Set maximum LSP size"; + default "1492"; + type uint32 { + range "128 .. 4352"; + } + } + leaf lsp-refresh-interval { + description + "Set LSP refresh interval"; + default "900"; + type uint32 { + range "1 .. 65535"; + } + } + leaf max-area-addresses { + description + "Allow configuration of more manual area addresses"; + default "3"; + type uint32 { + range "3 .. 254"; + } + } + leaf max-lsp-lifetime { + description + "Set maximum LSP lifetime"; + default "1200"; + type uint32 { + range "1 .. 65535"; + } + } + leaf multicast-intact { + description + "Enable ISIS multicast-intact support"; + default "false"; + type boolean; + } + container multi-part-tlv { + description + "Multi-part tlv disable configuration"; + list disable { + key "levels"; + description + "Multi-part tlv disable"; + leaf levels { + description + "Level to which configuration applies"; + type enumeration { + enum level-1; + enum level-2; + } + } + leaf neighbor { + type empty; + description + "Disable multi-part Neighbor TLVs"; + } + leaf prefix { + type empty; + description + "Disable multi-part Prefix TLVs"; + } + leaf router-capability { + type empty; + description + "Disable multi-part Router-capability TLVs"; + } + } + } + container uloop-avoidance { + container microloop { + description + "Enable microloop protection configuration commands"; + container avoidance { + description + "Enable local microloop avoidance"; + presence "true"; + choice microloop-function { + leaf disable { + description + "Disable Microloop avoidance"; + type boolean; + } + leaf protected { + description + "Microloop avoidance for protected link or prefix only"; + type boolean; + } + leaf segment-routing { + description + "Configuring Segment-Routing Microloop Avoidance"; + type boolean; + } + } + } + } + } + container uloop-ribupdate { + container microloop { + description + "Enable microloop protection configuration commands"; + container avoidance { + description + "Enable local microloop avoidance"; + leaf rib-update-delay { + description + "Value of the delay in milliseconds"; + type uint32 { + range "1..600000"; + } + } + } + } + } + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "routing protocol commands for MPLS LDP"; + container autoconfig { + description + "Configure LDP automatic configuration"; + presence "true"; + choice levels { + leaf level-1 { + description + "Configure ISIS level-1 to run MPLS LDP"; + type empty; + } + leaf level-2 { + description + "Configure ISIS level-2 to run MPLS LDP"; + type empty; + } + } + } + leaf sync { + description + "Configure LDP-IGP Synchronization"; + type empty; + } + leaf sync-igp-shortcuts { + description + "Configure LDP-IGP Synchronization on MPLS shortcuts"; + type empty; + } + container ac-igp-shortcuts { + description + "Auto-configure LDP on IGP shortcuts"; + presence "true"; + choice levels { + leaf level-1 { + description + "Configure ISIS level-1 to run MPLS LDP"; + type empty; + } + leaf level-2 { + description + "Configure ISIS level-2 to run MPLS LDP"; + type empty; + } + } + } + } + container traffic-eng { + description + "routing protocol commands for MPLS Traffic Engineering"; + leaf level-1 { + description + "Run MPLS TE on IS-IS level 1 only"; + must '../../../metric-style/wide' { + error-message "Must enable wide metrics first"; + } + type empty; + } + leaf level-2 { + description + "Run MPLS TE on IS-IS level 2 only"; + must '../../../metric-style/wide' { + error-message "Must enable wide metrics first"; + } + type empty; + } + leaf multicast-intact { + description + "MPLS TE and PIM interaction"; + type empty; + } + leaf router-id { + description + "Traffic Engineering stable IP address for system"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + type string; + } + container scanner { + description + "Timer parameters for TE database"; + leaf interval { + description + "Time (secs) between LSPDB walks for TE"; + type uint32 { + range "1 .. 60"; + } + } + container max-flash { + description + "Max. number of LSPs ISIS may send to TE db without delay"; + presence "true"; + leaf max-flash-value { + description + "Max. number of LSPs ISIS may send to TE db without delay: <0..200>"; + type uint32 { + range "0 .. 200"; + } + } + } + } + } + } + list net { + description + "A Network Entity Title for this process (OSI only)"; + key "tag"; + leaf tag { + type isis-net; + } + } + container nsf { + description + "Non-stop forwarding"; + leaf cisco { + description + "Checkpoint method"; + must ". = 'false' or count(../../net) != 0" { + error-message "ISIS is not running, please configure NET"; + } + must ". = 'false' or ../ietf = 'false'" { + error-message "Please disable nsf ietf to change mode"; + } + default "false"; + type boolean; + } + leaf ietf { + description + "IETF method"; + must ". = 'false' or count(../../net) != 0" { + error-message "ISIS is not running, please configure NET"; + } + must ". = 'false' or ../cisco = 'false'" { + error-message "Please disable nsf cisco to change mode"; + } + default "false"; + type boolean; + } + container interface { + description + "Interface properties"; + when "../cisco = 'true' or ../ietf = 'true'"; + leaf wait { + description + "Seconds"; + type uint8 { + range "1..60"; + } + } + } + leaf interval { + description + "Minutes"; + when "../cisco = 'true' or ../ietf = 'true'"; + type uint16 { + range "0..1440"; + } + } + container sync { + description + "LSPDB synchronization properties on p2p links"; + when "../cisco = 'true'"; + leaf wait { + description + "Seconds"; + type uint16 { + range "1..300"; + } + } + } + container advertise { + description + "Send information to neighbors"; + when "../ietf = 'true'"; + leaf holdtime { + description + "Adjust holdtime advertised in IIH when RR set"; + type uint16 { + range "5..3600"; + } + } + } + container t3 { + description + "Time to set overload-bit if LSPDB synchronization not completed"; + when "../ietf = 'true'"; + choice t3-options { + leaf adjacency { + description + "Use minimum advertised adjacency holdtime for NSF T3 timeout"; + type empty; + } + leaf manual { + description + "Manually configure NSF T3 timeout"; + type uint16 { + range "5..3600"; + } + } + } + } + } + container partition { + description + "CLNS area partition"; + leaf avoidance { + description + "Withdraw area prefix if partition detected"; + type boolean; + } + } + container passive-interface { + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + leaf default { + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]'; + must 'not(/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]/ios:ip/ios:router/isis)' { + error-message "ip router isis must not be present"; + } + must 'not(/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]/ios:ipv6/ios:router/isis)' { + error-message "ipv6 router isis must not be present"; + } + type string; + } + } + } + container protocol { + description + "Set protocol's administrative state"; + leaf shutdown { + description + "Set protocol's administrative state to disable"; + must '../../net' { + error-message "Must configure net to shutdown protocol"; + } + type empty; + } + } + container skeptical { + description + "Be a cautious NSF helper when refresh adjacency"; + leaf interval { + description + "Minutes"; + default "5"; + type uint16 { + range "0..1440"; + } + } + } + list summary-address { + description + "Configure IP address summaries"; + must '../net' { + error-message "IS-IS NET must be configured before configuring this command"; + } + key "ip mask"; + leaf ip { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + leaf levels { + default "level-2"; + type enumeration { + enum level-1; + enum level-1-2; + enum level-2; + } + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf metric { + description + "Set metric for summary route"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + leaf update-queue-depth { + description + "Set Update process queue depth"; + default "200"; + type uint32 { + range "1 .. 2147483647"; + } + } + container use { + description + "Use different algorithms during SPF"; + leaf external-metrics { + description + "Honour external metrics during SPF"; + type empty; + } + } + uses isis-ipv4-ipv6-common-grouping; + } + + grouping config-isis-container-grouping { + container isis-container { + list isis { + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + type string; + } + uses config-isis-main-grouping; + } + } + } + + grouping config-isis-grouping { + container isis { + description + "ISO IS-IS"; + presence "true"; + uses config-isis-main-grouping; + } + } + + grouping config-isis-monitor-events { + container mfi-enable { + description + "Configuration to enable or disable MFI event-traces"; + leaf mfi { + description + "IS-IS MFI trace buffer"; + type boolean; + default "true"; + } + } + container mfi-trace { + description + "Configuration options for MFI event-traces"; + container mfi { + description + "IS-IS MFI trace buffer"; + uses ios:event-trace-buffer-options; + } + } + container sr-enable { + description + "Configuration to enable or disable SR event-traces"; + leaf sr { + description + "IS-IS segment routing trace buffer"; + type boolean; + default "true"; + } + } + container sr-trace { + description + "Configuration options for SR event-traces"; + container sr { + description + "IS-IS segment routing trace buffer"; + uses ios:event-trace-buffer-options; + } + } + container adj-enable { + description + "Configuration to enable or disable ADJ event-traces"; + leaf adj { + description + "IS-IS adjacency trace buffer"; + type boolean; + default "true"; + } + } + container adj-trace { + description + "Configuration options for ADJ event-traces"; + container adj { + description + "IS-IS adjacency trace buffer"; + uses ios:event-trace-buffer-options; + } + } + } + + grouping config-isis-trace-grouping { + container isis { + description + "IS-IS trace buffers"; + uses config-isis-monitor-events; + } + } + + augment "/ios:native/ios:router" { + uses config-isis-grouping; + uses config-isis-container-grouping; + } + + augment "/ios:native/ios:monitor/ios:event-trace" { + uses config-isis-trace-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:isis" { + uses config-interface-loopback-isis-grouping; + uses config-interface-loopback-isis-lan-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-lan-tunnel-grouping; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:LISP/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-lan-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-lan-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:BDI/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:isis" { + uses config-interface-isis-grouping; + uses config-interface-isis-network-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'true'"; + container isis-serial { + uses config-interface-isis-serial-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:isis" { + when "ios-isis:network/ios-isis:point-to-point = 'false'"; + container isis-lan { + uses config-interface-isis-lan-grouping; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip/ios:router" { + uses config-interface-ip-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6/ios:router" { + uses config-interface-ipv6-router-isis-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:clns" { + uses config-interface-clns-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:clns" { + uses config-interface-clns-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-iwanfabric.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-iwanfabric.yang new file mode 100644 index 000000000..a84364524 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-iwanfabric.yang @@ -0,0 +1,518 @@ +module Cisco-IOS-XE-iwanfabric { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-iwanfabric"; + prefix ios-iwanfabric; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native IWAN Fabric Yang model. + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "- Replaced tailf cli-diff-dependency"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-28 { + description + "Initial revision"; + } + + grouping config-fabric-iwan-virtual-network-prefix-group { + container prefix { + description + "prefix-group prefix configuration"; + container import { + description + "prefix import"; + container bgp { + description + "import from bgp as"; + list word { + key "word"; + leaf word { + description + "Up to 19 character AS name"; + type string; + } + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container eigrp { + list word { + key "word"; + leaf word { + type string; + } + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container isis { + description + "import from isis as"; + list word { + key "word"; + leaf word { + type string; + } + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container lan-fabric { + description + "import from lan-fabric"; + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + container ospf { + description + "import from ospf as"; + list word { + key "word"; + leaf word { + type string; + } + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container rip { + description + "import from rip as"; + list word { + key "word"; + leaf word { + description + "Up to 19 character AS name"; + type string; + } + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container wan-fabric { + description + "import from wan-fabric"; + leaf route-map { + description + "Up to 19 characters route-map name"; + type string; + } + } + } + container ipv4 { + description + "IPv4 enterprise prefix-list"; + leaf prefix-list { + description + "Up to 19 character list name"; + type string; + } + } + container ipv6 { + description + "IPv6 enterprise prefix-list"; + leaf prefix-list { + description + "Up to 19 character list name"; + type string; + } + } + } + } + + grouping config-iwanfabric-instance-grouping { + container fabric-group { + container fabric { + description + "Fabric Configuration submode"; + container auto { + description + "Fabric auto Configuration Commands"; + presence "true"; + container config-fabric-auto { + container domain { + description + "domain Configuration Commands"; + container iwan-fabric { + description + "iwan-fabric Configuration Commands"; + presence "true"; + container config-fabric-iwan { + container border { + description + "Enter the border type"; + leaf self { + description + "self border type"; + type empty; + } + } + container control-plane { + description + "Enter the PMCS configuration"; + container destination-address { + list ipv4 { + key "ipv4"; + leaf ipv4 { + type inet:ipv4-address; + } + container auth-key { + description + "Authentication key type"; + list range { + key "range"; + leaf range { + description + "Specify the auth-key type"; + type uint16 { + range "1..65535"; + } + } + leaf word { + description + "authentication key"; + type string; + } + } + } + } + } + container source-address { + description + "Enter source interface"; + leaf interface { + description + "Virtual ACR interface"; + type string; + } + } + } + container device-role { + description + "Enter the device role"; + leaf border { + description + "Border router device type"; + type empty; + } + leaf edge { + description + "Edge device type"; + type empty; + } + leaf nat-traversal-router { + description + "NAT traversal router device type"; + type empty; + } + leaf transit-router { + description + "Transit router device type"; + type empty; + } + } + leaf fabric-device-id { + description + "Specify the fabric-device-id value"; + type uint16 { + range "1..65535"; + } + } + container region { + description + "Enter the Region ID"; + container id { + description + "Specify the Region ID"; + list range { + key "range"; + leaf range { + description + "Specify the Region ID value"; + type uint16 { + range "1..65535"; + } + } + leaf name { + description + "region Name"; + type string; + } + } + } + } + leaf shutdown { + description + "shut the device"; + type empty; + } + container site { + description + "Enter the site configuration"; + container id { + description + "Specify the site ID"; + list range { + key "range"; + leaf range { + description + "Specify the site-id value"; + type uint16 { + range "1..65535"; + } + } + leaf name { + description + "Site Name"; + type string; + } + } + } + } + container tenant { + description + "Tenant ID configuration"; + container id { + description + "Specify the tenant id"; + list range { + key "range"; + leaf range { + description + "Specify the tenant-id value"; + type uint32 { + range "1..4294967295"; + } + } + leaf name { + description + "Tenant Name"; + type string; + } + } + } + } + container virtual-network { + description + "Enter the instancevirtual network ID"; + container name { + description + "Specify the virtual-network name"; + list word { + key "word"; + leaf word { + description + "virtual-network name"; + type string; + } + list id { + description + "Specify the virtual-network ID"; + key "range"; + leaf range { + description + "Specify the virtual-network id value"; + type uint32 { + range "0..16777214"; + } + } + container config-fabric-iwan-virtual-network { + container enterprise-prefix { + description + "Enterprise prefix configuration"; + container ipv4 { + description + "IPv4 enterprise prefix-list"; + leaf prefix-list { + description + "Up to 19 character list name"; + type string; + } + } + container ipv6 { + description + "IPv6 enterprise prefix-list"; + leaf prefix-list { + description + "Up to 19 character list name"; + type string; + } + } + } + container prefix-group { + description + "prefix group configuration"; + list word { + key "word"; + leaf word { + description + "Up to 19 character list name"; + type string; + } + list vrf { + description + "Specify the virtual routing instance name"; + key "word"; + leaf word { + description + "Up to 19 character list name"; + type string; + } + container config-fabric-iwan-virtual-network-prefix-group { + uses config-fabric-iwan-virtual-network-prefix-group; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + + grouping config-iwanfabric-interface-grouping { + container fabric-domain { + description + "Fabric-domain interface command"; + container iwan-fabric { + list word { + key "word"; + leaf word { + description + "Path name"; + type string; + } + leaf interface-id { + description + "Specify the interface-id value"; + type uint8 { + range "1..255"; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-iwanfabric-instance-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-iwanfabric-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-iwanfabric-interface-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat-oper.yang new file mode 100644 index 000000000..e75e72ea7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat-oper.yang @@ -0,0 +1,304 @@ +module Cisco-IOS-XE-l2nat-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2nat-oper"; + prefix l2nat-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for L2NAT operational data. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef l2nat-fixup-mode { + type enumeration { + enum l2nat-fixup-all { + value 0; + description + "All traffic will be translated"; + } + enum l2nat-fixup-arp { + value 1; + description + "Only ARP traffic will be translated"; + } + enum l2nat-fixup-icmp { + value 2; + description + "Only ICMP traffic will be translated"; + } + } + description + "Fixup mode in L2NAT instance"; + } + + typedef l2nat-permit-mode { + type enumeration { + enum l2nat-permit-no { + value 0; + description + "No traffic will be permitted"; + } + enum l2nat-permit-all { + value 1; + description + "All untranslated traffic will be permitted on both direction."; + } + enum l2nat-permit-all-in { + value 2; + description + "All untranslated traffic will be permitted only inside"; + } + enum l2nat-permit-all-out { + value 3; + description + "All untranslated traffic will be permitted only outside"; + } + enum l2nat-permit-igmp { + value 4; + description + "Only IGMP untranslated traffic will be permitted on both direction."; + } + enum l2nat-permit-igmp-in { + value 5; + description + "Only IGMP untranslated traffic will be permitted only inside"; + } + enum l2nat-permit-igmp-out { + value 6; + description + "Only IGMP untranslated traffic will be permitted only outside"; + } + enum l2nat-permit-mcast { + value 7; + description + "Only multicast untranslated traffic will be permitted on both direction."; + } + enum l2nat-permit-mcast-in { + value 8; + description + "Only multicast untranslated traffic will be permitted only inside"; + } + enum l2nat-permit-mcast-out { + value 9; + description + "Only multicast untranslated traffic will be permitted only outside"; + } + enum l2nat-permit-unmatched { + value 10; + description + "Only unmatched untranslated traffic will be permitted on both direction."; + } + enum l2nat-permit-unmatched-in { + value 11; + description + "Only unmatched untranslated traffic will be permitted only inside"; + } + enum l2nat-permit-unmatched-out { + value 12; + description + "Only unmatched untranslated traffic will be permitted only outside"; + } + } + description + "permit mode in L2NAT instance"; + } + + grouping l2nat-ins-hst-params { + description + "L2NAT instance ip address details for inside host"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for inside host in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for inside host in a L2NAT instance"; + } + } + + grouping l2nat-ins-rng-params { + description + "L2NAT instance ip address details for inside range"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for inside range in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for inside range in a L2NAT instance"; + } + leaf range { + type uint16; + description + "Range for IP address for inside range in L2NAT instance"; + } + } + + grouping l2nat-ins-nw-params { + description + "L2NAT instance ip address details for inside network"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for inside network in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for inside network in a L2NAT instance"; + } + leaf mask { + type inet:ip-address; + description + "Mask for provide network for inside network in L2NAT instance"; + } + } + + grouping l2nat-outs-hst-params { + description + "L2NAT instance ip address details for outside host"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for outside host in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for outside host in a L2NAT instance"; + } + } + + grouping l2nat-outs-rng-params { + description + "L2NAT instance ip address details for outside range"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for outside range in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for outside range in a L2NAT instance"; + } + leaf range { + type uint32; + description + "Range for IP address for outside range in L2NAT instance"; + } + } + + grouping l2nat-outs-nw-params { + description + "L2NAT instance ip address details for outside network"; + leaf orig-ip-addr { + type inet:ip-address; + description + "Original IP address for outside network in a L2NAT instance"; + } + leaf transl-ip-addr { + type inet:ip-address; + description + "Translated IP address for outside network in a L2NAT instance"; + } + leaf mask { + type inet:ip-address; + description + "Mask for provide network for outside network in L2NAT instance"; + } + } + + grouping l2nat-inst-info { + description + "Details of a L2NAT instance"; + leaf l2nat-inst-nm { + type string; + description + "L2NAT instance identity"; + } + leaf fixup { + type l2nat-ios-xe-oper:l2nat-fixup-mode; + description + "Fixup mode of L2NAT"; + } + leaf permit { + type l2nat-ios-xe-oper:l2nat-permit-mode; + description + "Permitted Protocols for L2NAT"; + } + container ins-hst-params { + description + "Parameters for inside host of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-ins-hst-params; + } + container ins-rng-params { + description + "Parameters for inside range of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-ins-rng-params; + } + container ins-nw-params { + description + "Parameter for inside network of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-ins-nw-params; + } + container outs-hst-params { + description + "Parameters for outside host of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-outs-hst-params; + } + container outs-rng-params { + description + "Parameters for outside range of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-outs-rng-params; + } + container outs-nw-params { + description + "Parameter for outside network of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-outs-nw-params; + } + } + + container l2nat-oper-data { + config false; + description + "L2NAT operational data"; + list l2nat-inst-info { + key "l2nat-inst-nm"; + description + "Details of L2NAT instance"; + uses l2nat-ios-xe-oper:l2nat-inst-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat.yang new file mode 100644 index 000000000..c91a22ca1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2nat.yang @@ -0,0 +1,304 @@ +module Cisco-IOS-XE-l2nat { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2nat"; + prefix l2nat; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Layer 2 NAT model"; + + revision 2024-07-01 { + description + "-Fixing model for config replace functionality; + -Added gateway leaf for outside host translation"; + } + revision 2024-03-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-l2nat-grouping { + container l2nat { + description + "L2NAT Configuration"; + list instance { + description + "L2NAT instance name"; + key "name"; + leaf name { + description + "Name of the instance"; + type string { + length "1..80"; + } + } + container fixup { + description + "Protocols to be fixed for NAT"; + leaf all { + description + "Fix all protocols"; + type empty; + } + leaf arp { + description + "Fix ARP"; + type empty; + } + leaf icmp { + description + "Fix ICMP"; + type empty; + } + } + container permit { + description + "Protocols to permit"; + choice permit-choice { + case permit-all { + leaf all { + description + "Permit all traffic"; + type empty; + } + } + case permit-protocols { + leaf igmp { + description + "Permit IGMP traffic"; + type empty; + } + leaf multicast { + description + "Permit multicast traffic"; + type empty; + } + leaf unmatched { + description + "Permit unmatched traffic"; + type empty; + } + } + } + } + container inside { + description + "L2NAT translation from inside to outside direction"; + container from { + description + "Translate from"; + list host { + description + "host format"; + key "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Host Source IP of packets sourced from inside network"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Host Source IP of packets sourced from inside network"; + type inet:ipv4-address; + } + } + list network { + description + "network format"; + key "from_ip to_ip mask"; + unique "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Network of Source IP of packets sourced from inside network-last byte ignored"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Network of Source IP of packets sourced from inside network-last byte ignored"; + type inet:ipv4-address; + } + leaf mask { + description + "The network mask for both network IP addresses"; + type inet:ipv4-address; + } + } + list range { + description + "range format"; + key "from_ip to_ip number"; + unique "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Starting Source IP of packets sourced from inside network"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Starting Source IP of packets sourced from inside network"; + type inet:ipv4-address; + } + leaf number { + description + "Number of ip addresses in range"; + type uint8 { + range "2..128"; + } + } + } + } + } + container outside { + description + "L2NAT translations from outside to inside direction"; + container from { + description + "Translate from"; + list host { + description + "host format"; + key "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Host Source IP of packets sourced from outside network"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Host Source IP of packets sourced from outside network"; + type inet:ipv4-address; + } + leaf gateway { + description + "Gateway Translation"; + type empty; + } + } + list network { + if-feature "ios-features:l2nat-outside-network"; + description + "network format"; + key "from_ip to_ip mask"; + unique "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Network of Source IP of packets sourced from outside network-last byte ignored"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Network of Source IP of packets sourced from outside network-last byte ignored"; + type inet:ipv4-address; + } + leaf mask { + description + "The network mask for both network IP addresses"; + type inet:ipv4-address; + } + } + list range { + description + "range format"; + key "from_ip to_ip number"; + unique "from_ip"; + unique "to_ip"; + leaf from_ip { + description + "Original Starting Source IP of packets sourced from outside network"; + type inet:ipv4-address; + } + leaf to_ip { + description + "Translated Starting Source IP of packets sourced from outside network"; + type inet:ipv4-address; + } + leaf number { + description + "Number of ip addresses in range"; + type uint8 { + range "2..128"; + } + } + } + } + } + } + } + } + + grouping config-interface-l2nat-grouping { + container l2nat { + description + "L2NAT instance to be attached to interface"; + leaf instance_name { + description + "Name of L2NAT instance"; + type leafref { + path "/ios:native/l2nat/instance/name"; + } + } + list instance_name_with_vlan { + description + "L2NAT instance name"; + key "vlan"; + leaf vlan { + description + "VLAN ID"; + type uint16 { + range "1..1024"; + } + } + leaf name { + description + "Name of L2NAT instance"; + type leafref { + path "/ios:native/l2nat/instance/name"; + } + } + } + } + } + + augment "/ios:native" { + uses config-l2nat-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-l2nat-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-l2nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-l2nat-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2tp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2tp-oper.yang new file mode 100644 index 000000000..704cb8364 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2tp-oper.yang @@ -0,0 +1,477 @@ +module Cisco-IOS-XE-l2tp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2tp-oper"; + prefix l2tp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for L2TP operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef l2tp-tunnel-state { + type enumeration { + enum l2tp-state-init { + value 0; + description + "Init state"; + } + enum l2tp-state-idle { + value 1; + description + "Idle state"; + } + enum l2tp-state-wait-for-sock { + value 2; + description + "wait for socket state"; + } + enum l2tp-state-processing-sccrq { + value 3; + description + "Processing Start-Control-Connection-Request state"; + } + enum l2tp-state-wait-for-sccn { + value 4; + description + "Wait for Start-Control-Connection-Connected state"; + } + enum l2tp-state-processing-scccn { + value 5; + description + "Processing Start-Control-Connection-Connected state"; + } + enum l2tp-state-wait-for-sccrp { + value 6; + description + "Wait for Start-Control-Connection-Reply state"; + } + enum l2tp-state-processing-sccrp { + value 7; + description + "Processing Start-Control-Connection-Reply state"; + } + enum l2tp-state-established { + value 8; + description + "Established state"; + } + enum l2tp-state-established-no-users { + value 9; + description + "Established with no users state"; + } + enum l2tp-state-shutting-down { + value 10; + description + "Shutting down state"; + } + enum l2tp-state-dead { + value 11; + description + "Dead state"; + } + } + description + "L2TP tunnel state"; + } + + grouping l2tp-tunnel-info { + description + "L2TP tunnel information"; + leaf local-ip-address { + type inet:ip-address; + description + "Tunnel local end point IP address[ipv4/ipv6]"; + } + leaf remote-ip-address { + type inet:ip-address; + description + "Tunnel remote end point IP address [ipv4/ipv6]"; + } + leaf local-tunnel-id { + type uint32; + description + "Local tunnel unique identifier"; + } + leaf remote-tunnel-id { + type uint32; + description + "Remote tunnel unique identifier"; + } + leaf tunnel-local-name { + type string; + description + "Local tunnel name"; + } + leaf tunnel-remote-name { + type string; + description + "Remote tunnel name"; + } + leaf l2tp-class-name { + type string; + description + "L2TP class name for the tunnel"; + } + leaf tunnel-state { + type l2tp-ios-xe-oper:l2tp-tunnel-state; + description + "Tunnel state"; + } + leaf total-sessions { + type uint32; + description + "Total number of sessions"; + } + leaf local-port { + type uint16; + description + "Local port number"; + } + leaf remote-port { + type uint16; + description + "Remote port number"; + } + leaf ip-protocol-type { + type uint16; + description + "IP protocol number"; + } + leaf is-path-mtu-enabled { + type uint16; + description + "True if path MTU is set"; + } + } + + grouping l2tp-tunnel-packet-counter { + description + "Tunnel packet counters"; + leaf packets-in-ipv4 { + type uint64; + units "packets"; + description + "Incoming IPV4 packets count"; + } + leaf packets-out-ipv4 { + type uint64; + units "packets"; + description + "Outgoing IPV4 packets count"; + } + leaf bytes-in-ipv4 { + type uint64; + units "bytes"; + description + "Incoming IPV4 packets"; + } + leaf bytes-out-ipv4 { + type uint64; + units "bytes"; + description + "Outgoing IPV4 packets"; + } + leaf packets-in-ipv6 { + type uint64; + units "packets"; + description + "Incoming IPV6 packets count"; + } + leaf packets-out-ipv6 { + type uint64; + units "packets"; + description + "Outgoing IPV6 packets count"; + } + leaf bytes-in-ipv6 { + type uint64; + units "bytes"; + description + "Incoming IPV6 packets"; + } + leaf bytes-out-ipv6 { + type uint64; + units "bytes"; + description + "Outgoing IPV6 packets"; + } + } + + grouping l2tp-tunnel-counter { + description + "Tunnel statistics"; + leaf local-tunnel-id { + type uint32; + description + "Local tunnel unique identifier"; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time since the last state change occurred"; + } + leaf last-counter-clear-time { + type yang:date-and-time; + description + "Time when last clear happened"; + } + container count-since-clear { + description + "Packet counters by taking last clear into account"; + uses l2tp-ios-xe-oper:l2tp-tunnel-packet-counter; + } + container count-ignore-clear { + description + "Packet counters ignoring the last clear"; + uses l2tp-ios-xe-oper:l2tp-tunnel-packet-counter; + } + leaf total-resend { + type uint32; + units "packets"; + description + "Total number of packets were resend"; + } + leaf zlb-acks-sent { + type uint32; + units "packets"; + description + "Zero-Length Body acks sent"; + } + leaf out-of-order-drops { + type uint32; + units "packets"; + description + "Total number of out of order packets were dropped"; + } + leaf out-of-order-reorder { + type uint32; + units "packets"; + description + "Total number of out of order packets were reordered"; + } + leaf peer-authen-failed { + type uint32; + units "packets"; + description + "Peer authentication failed"; + } + leaf congestion-ctrl-avoid-pkts { + type uint16; + units "packets"; + description + "Packets count in congestion avoidance mode"; + } + } + + grouping l2tp-tunnel-parameters { + description + "L2TP tunnel parameters"; + leaf local-tunnel-id { + type uint32; + description + "Local tunnel unique identifier"; + } + leaf tx-sequence-number { + type uint16; + description + "Send sequence number"; + } + leaf rx-sequence-number { + type uint16; + description + "Receive sequence number"; + } + leaf local-window-size { + type uint16; + units "packets"; + description + "Local window size"; + } + leaf remote-window-size { + type uint16; + units "packets"; + description + "Remote window size"; + } + leaf rxed-remote-window-size { + type uint16; + units "packets"; + description + "Received remote window size"; + } + leaf retransmission-time { + type uint16; + units "seconds"; + description + "Retransmission time"; + } + leaf max-retransmission-time { + type uint16; + units "seconds"; + description + "Maximum retransmission time"; + } + leaf unsent-queue-size { + type uint16; + units "packets"; + description + "Un-sent queue size"; + } + leaf max-unsent-queue-size { + type uint16; + units "packets"; + description + "Maximum un-sent queue size"; + } + leaf resend-queue-size { + type uint16; + units "packets"; + description + "Resend queue size"; + } + leaf max-resend-queue-size { + type uint16; + units "packets"; + description + "Maximum resent queue size"; + } + leaf-list retrans-distr { + type uint16; + units "packets"; + ordered-by user; + description + "Retransmit time distribution"; + } + leaf number-of-digests { + type uint16; + description + "Control message authentication is enabled with + how many digest secrets"; + } + leaf congestion-window-size { + type uint16; + units "packets"; + description + "Congestion control window size"; + } + leaf slow-start-threshold { + type uint16; + units "packets"; + description + "Threshold limit.The point at which the sending device + switches operation from slow start mode to + congestion avoidance mode"; + } + leaf is-local-window-size-default { + type boolean; + description + "True if local window size is default"; + } + leaf is-max-remote-window-size { + type boolean; + description + "True if maximum remote window size is set"; + } + leaf is-locally-initiated { + type boolean; + description + "True if the tunnel was locally initiated or + False if the tunnel was initiated by the remote end"; + } + leaf is-congestion-ctrl-slow-start { + type boolean; + description + "True if congestion control mode is slow start"; + } + leaf is-congestion-ctrl-enabled { + type boolean; + description + "True if congestion control is enabled"; + } + leaf using-digest-secret2 { + type boolean; + description + "True if control message authentication is enabled"; + } + leaf is-incomplete-export { + type boolean; + description + "True if unable to export the data"; + } + leaf queue-check-attempts { + type uint16; + description + "Number of times packet queue check is hit, + before shutting down the tunnel. This delays tunnel shut down, + if control channel has outstanding packets."; + } + leaf max-queue-check-attempts { + type uint16; + description + "Maximum number of attempts allowed to check packet queue"; + } + } + + container l2tp-oper-data { + config false; + description + "L2TP operational data"; + list l2tp-tunnel-info { + key "local-tunnel-id"; + description + "L2TP tunnel information"; + uses l2tp-ios-xe-oper:l2tp-tunnel-info; + } + list l2tp-tunnel-counter { + key "local-tunnel-id"; + description + "Tunnel packet counters"; + uses l2tp-ios-xe-oper:l2tp-tunnel-counter; + } + list l2tp-tunnel-parameters { + key "local-tunnel-id"; + description + "Tunnel parameters"; + uses l2tp-ios-xe-oper:l2tp-tunnel-parameters; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-oper.yang new file mode 100644 index 000000000..603bde7e2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-oper.yang @@ -0,0 +1,2770 @@ +module Cisco-IOS-XE-l2vpn-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2vpn-oper"; + prefix l2vpn-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for L2VPN services operational data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added more detailed PW info to the l2vpn-atom-vc-data + - Added MAC withdraw counters to VC statistics"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef l2vpn-service-type { + type enumeration { + enum l2vpn-service-invalid { + value 0; + description + "Invalid service type"; + } + enum l2vpn-service-vpws { + value 1; + description + "L2VPN service type xconnect"; + } + enum l2vpn-service-vpls { + value 2; + description + "L2VPN service type VPLS"; + } + enum l2vpn-service-transport { + value 3; + description + "L2VPN service type Transport"; + } + enum l2vpn-service-bd { + value 4; + description + "L2VPN service type bridge-domain"; + } + enum l2vpn-service-evpn { + value 5; + description + "L2VPN service type evpn"; + } + } + description + "L2VPN service type"; + } + + typedef l2vpn-ac-circuit-type { + type enumeration { + enum ac-circuit-invalid { + value 0; + description + "Invalid attachment circuit type"; + } + enum ac-circuit-fr-dlci { + value 1; + description + "Attachment circuit type FR DLCI"; + } + enum ac-circuit-fr-dlci-local { + value 2; + description + "Attachment circuit type FR DLCI local"; + } + enum ac-circuit-atm-aal5 { + value 3; + description + "Attachment circuit type ATM AAL5"; + } + enum ac-circuit-atm-cell { + value 4; + description + "Attachment circuit type ATM cell"; + } + enum ac-circuit-ether-vlan { + value 5; + description + "Attachment circuit type ethernet VLAN"; + } + enum ac-circuit-ether { + value 6; + description + "Attachment circuit type ethernet"; + } + enum ac-circuit-hdlc { + value 7; + description + "Attachment circuit type HDLC"; + } + enum ac-circuit-ppp { + value 8; + description + "Attachment circuit type PPP"; + } + enum ac-circuit-cem { + value 9; + description + "Attachment circuit type CEM"; + } + enum ac-circuit-atm-vcc-cell { + value 10; + description + "Attachment circuit type ATM VCC cell"; + } + enum ac-circuit-atm-vpc-cell { + value 11; + description + "Attachment circuit type ATM VPC cell"; + } + enum ac-circuit-ip { + value 12; + description + "Attachment circuit type IP"; + } + enum ac-circuit-vfi { + value 13; + description + "Attachment circuit type VFI"; + } + enum ac-circuit-satop-e1 { + value 15; + description + "Attachment circuit type satop E1"; + } + enum ac-circuit-satop-t1 { + value 16; + description + "Attachment circuit type satop T1"; + } + enum ac-circuit-satop-e3 { + value 17; + description + "Attachment circuit type satop E3"; + } + enum ac-circuit-satop-t3 { + value 18; + description + "Attachment circuit type satop T3"; + } + enum ac-circuit-ces-psn-basic { + value 19; + description + "Attachment circuit type CES PSN basic"; + } + enum ac-circuit-ces-psn-cas { + value 20; + description + "Attachment circuit type CES PSN CAS"; + } + enum ac-circuit-atm-vc-unknown { + value 21; + description + "Attachment circuit type ATM VC unknown"; + } + enum ac-circuit-atm-vp-unknown { + value 22; + description + "Attachment circuit type ATM VP unknown"; + } + enum ac-circuit-atom { + value 23; + description + "Attachment circuit type ATOM"; + } + enum ac-circuit-l2tpv2 { + value 24; + description + "Attachment circuit type L2TPV2"; + } + enum ac-circuit-l2tpv3 { + value 25; + description + "Attachment circuit type L2TPV3"; + } + enum ac-circuit-pw-udp { + value 26; + description + "Attachment circuit type PW UDP"; + } + enum ac-circuit-dossis { + value 27; + description + "Attachment circuit type DOCSIS"; + } + enum ac-circuit-dossis-vlan { + value 28; + description + "Attachment circuit type DOCSIS VLAN"; + } + } + description + "L2VPN attachment circuit type"; + } + + typedef l2vpn-pw-encap-type { + type enumeration { + enum l2vpn-pw-encap-invalid { + value 0; + description + "Invalid PW encap type"; + } + enum l2vpn-pw-encap-l2tpv3 { + value 1; + description + "PW encap type L2TPV3"; + } + enum l2vpn-pw-encap-l2tpv2 { + value 2; + description + "PW encap type L2TPV2"; + } + enum l2vpn-pw-encap-mpls { + value 3; + description + "PW encap type MPLS"; + } + enum l2vpn-pw-encap-udp { + value 4; + description + "PW encap type UDP"; + } + } + description + "L2VPN PW encap type"; + } + + typedef l2vpn-xconnect-segment-state { + type enumeration { + enum xconnect-segment-state-undefined { + value 0; + description + "Xconnect segment state is undefined"; + } + enum xconnect-segment-state-up { + value 1; + description + "Xconnect segment is up"; + } + enum xconnect-segment-state-down { + value 2; + description + "Xconnect segment is down"; + } + enum xconnect-segment-state-admin-down { + value 3; + description + "Xconnect segment is admin down"; + } + enum xconnect-segment-state-recovering { + value 4; + description + "Xconnect segment is recovering"; + } + enum xconnect-segment-state-standby { + value 5; + description + "Xconnect segment is standby"; + } + enum xconnect-segment-state-hot-standby { + value 6; + description + "Xconnect segment is hot standby"; + } + enum xconnect-segment-state-inactive { + value 7; + description + "Xconnect segment is inactive"; + } + } + description + "L2VPN xconnect segment state"; + } + + typedef l2vpn-xconnect-state { + type enumeration { + enum xconnect-state-undefined { + value 0; + description + "Xconnect state is undefined"; + } + enum xconnect-state-up { + value 1; + description + "Xconnect state is up"; + } + enum xconnect-state-down { + value 2; + description + "Xconnect state is down"; + } + enum xconnect-state-admin-down { + value 3; + description + "Xconnect state is admin down"; + } + enum xconnect-state-recovering { + value 4; + description + "Xconnect state is recovering"; + } + enum xconnect-state-standby { + value 5; + description + "Xconnect state is standby"; + } + enum xconnect-state-hot-standby { + value 6; + description + "Xconnect state is hot standby"; + } + enum xconnect-state-incomplete { + value 7; + description + "Xconnect state is incomplete"; + } + enum xconnect-state-no-hardware { + value 8; + description + "Xconnect state is no hardware"; + } + } + description + "L2VPN xconnect state"; + } + + typedef l2vpn-fwd-type { + type enumeration { + enum l2vpn-fwd-type-invalid { + value 0; + description + "L2VPN forwarder type invalid"; + } + enum l2vpn-fwd-type-ac { + value 1; + description + "L2VPN forwarder type attachment circuit"; + } + enum l2vpn-fwd-type-pw { + value 2; + description + "L2VPN forwarder type pseudo-wire"; + } + enum l2vpn-fwd-type-vfi { + value 3; + description + "L2VPN forwarder type virtual forwarding interface"; + } + enum l2vpn-fwd-type-bd { + value 4; + description + "L2VPN forwarder type bridge domain"; + } + } + description + "L2VPN forwarder type"; + } + + typedef l2vpn-vc-status { + type enumeration { + enum l2vpn-vc-undefined { + value 0; + description + "L2VPN VC status Undefined"; + } + enum l2vpn-vc-up { + value 1; + description + "L2VPN VC status Up"; + } + enum l2vpn-vc-down { + value 2; + description + "L2VPN VC status Down"; + } + enum l2vpn-vc-admin-down { + value 3; + description + "L2VPN VC status Admin Down"; + } + enum l2vpn-vc-recovering { + value 4; + description + "L2VPN VC status Recovering"; + } + enum l2vpn-vc-standby { + value 5; + description + "L2VPN VC status Standby"; + } + enum l2vpn-vc-hot-standby { + value 6; + description + "L2VPN VC status Hot Standby"; + } + enum l2vpn-vc-state-max { + value 7; + description + "L2VPN VC status State Max"; + } + } + description + "VC status change"; + } + + typedef l2vpn-atom-service-type { + type enumeration { + enum l2vpn-atom-invalid { + value 0; + description + "Invalid service type"; + } + enum l2vpn-atom-p2p { + value 1; + description + "L2VPN ATOM service type P2P"; + } + enum l2vpn-atom-vfi { + value 2; + description + "L2VPN ATOM service type VFI"; + } + enum l2vpn-atom-transport { + value 3; + description + "L2VPN ATOM service type transport"; + } + enum l2vpn-atom-bd { + value 4; + description + "L2VPN ATOM service type bridge-domain"; + } + enum l2vpn-atom-evpn { + value 5; + description + "L2VPN ATOM service type EVPN"; + } + } + description + "L2VPN ATOM service type"; + } + + typedef l2vpn-atom-vc-protocol-type { + type enumeration { + enum l2vpn-atom-vc-proto-ldp { + value 0; + description + "L2VPN ATOM signalling protocol type LDP"; + } + enum l2vpn-atom-vc-proto-none { + value 1; + description + "L2VPN ATOM signalling protocol none"; + } + enum l2vpn-atom-vc-proto-bgp { + value 2; + description + "L2VPN ATOM signalling protocol type BGP"; + } + enum l2vpn-atom-vc-proto-cnt { + value 3; + description + "L2VPN ATOM signalling protocol type invalid"; + } + } + description + "L2VPN ATOM signalling protocol type"; + } + + typedef l2vpn-atom-pw-cw { + type enumeration { + enum l2vpn-atom-pw-cw-off { + value 0; + description + "PW control word off"; + } + enum l2vpn-atom-pw-cw-on { + value 1; + description + "PW control word on"; + } + enum l2vpn-atom-pw-cw-unkn { + value 2; + description + "PW control word unknown"; + } + } + description + "L2VPN ATOM PW Control word"; + } + + typedef l2vpn-cw-auto-sense { + type enumeration { + enum l2vpn-cw-autosense-off { + value 0; + description + "Control word auto sense off"; + } + enum l2vpn-cw-autosense-on { + value 1; + description + "Control word auto sense on"; + } + enum l2vpn-cw-autosense-unkn { + value 2; + description + "Control word auto sense unknown"; + } + } + description + "L2VPN ATOM PW Control word Auto sense"; + } + + typedef l2vpn-pw-lb-mode { + type enumeration { + enum l2vpn-pw-def-lb-mode { + value 0; + description + "PW load-balance mode default"; + } + enum l2vpn-pw-lb-mode-ecmp { + value 1; + description + "PW load-balance mode ECMP"; + } + } + description + "L2VPN PW load-balance mode"; + } + + typedef l2vpn-pw-lb-fc { + type enumeration { + enum l2vpn-pw-default-lb-fc { + value 0; + description + "PW load-balance default flow classification"; + } + enum l2vpn-pw-lb-fc-eth-src-mac { + value 1; + description + "PW load-balance flow classification ethernet source MAC"; + } + enum l2vpn-pw-lb-fc-eth-dst-mac { + value 2; + description + "PW load-balance flow classification ethernet destination MAC"; + } + enum l2vpn-pw-lb-fc-eth-src-dst-mac { + value 3; + description + "PW load-balance flow classification ethernet source and destination MAC"; + } + enum l2vpn-pw-lb-fc-ip-src-addr { + value 4; + description + "PW load-balance flow classification source IP address"; + } + enum l2vpn-pw-lb-fc-ip-dst-addr { + value 5; + description + "PW load-balance flow classification destination IP address"; + } + enum l2vpn-pw-lb-fc-ip-src-dst-addr { + value 6; + description + "PW load-balance flow classification source and destination IP address"; + } + } + description + "L2VPN PW load-balance flow classification"; + } + + typedef l2vpn-atom-vc-type { + type enumeration { + enum l2vpn-atom-vc-type-inv { + value 0; + description + "Invalid virtual circuit type"; + } + enum l2vpn-atom-vc-type-fr-dlci { + value 1; + description + "Virtual circuit type FR DLCI"; + } + enum l2vpn-atom-vc-type-atm-aal5 { + value 2; + description + "Virtual circuit type ATM AAL5"; + } + enum l2vpn-atom-vc-type-atm-cell { + value 3; + description + "Virtual circuit type ATM cell"; + } + enum l2vpn-atom-vc-type-ether-vlan { + value 4; + description + "Virtual circuit type ethernet vlan"; + } + enum l2vpn-atom-vc-type-ether { + value 5; + description + "Virtual circuit type ethernet"; + } + enum l2vpn-atom-vc-type-hdlc { + value 6; + description + "Virtual circuit type HDLC"; + } + enum l2vpn-atom-vc-type-ppp { + value 7; + description + "Virtual circuit type PPP"; + } + enum l2vpn-atom-vc-type-cem { + value 8; + description + "Virtual circuit type CEm"; + } + enum l2vpn-atom-vc-type-atm-vcc-cell { + value 9; + description + "Virtual circuit type ATM VCC cell"; + } + enum l2vpn-atom-vc-type-atm-vpc-cell { + value 10; + description + "Virtual circuit type ATM VPC cell"; + } + enum l2vpn-atom-vc-type-ip { + value 11; + description + "Virtual circuit type IP"; + } + enum l2vpn-atom-vc-type-satop-e1 { + value 17; + description + "Virtual circuit type satop E1"; + } + enum l2vpn-atom-vc-type-satop-t1 { + value 18; + description + "Virtual circuit type satop T1"; + } + enum l2vpn-atom-vc-type-satop-e3 { + value 19; + description + "Virtual circuit type satop E3"; + } + enum l2vpn-atom-vc-type-satop-t3 { + value 20; + description + "Virtual circuit type satop T3"; + } + enum l2vpn-atom-vc-type-cesopsn-basic { + value 21; + description + "Virtual circuit type CES PSN basic"; + } + enum l2vpn-atom-vc-type-cesopsn-tdm-cas { + value 22; + description + "Virtual circuit type CES PSN TDM CAS"; + } + } + description + "L2VPN ATOM VC type"; + } + + typedef l2vpn-atom-mgr-vc-last-error { + type enumeration { + enum l2vpn-vc-err-none { + value 0; + description + "L2VPN ATOM manager VC error none"; + } + enum l2vpn-vc-no-lcl-bdg-err { + value 1; + description + "L2VPN ATOM manager VC no local binding error"; + } + enum l2vpn-vc-no-rmt-bdg-err { + value 2; + description + "L2VPN ATOM manager VC no remote binding error"; + } + enum l2vpn-vc-mis-cw-err { + value 3; + description + "L2VPN ATOM manager VC missing control word error"; + } + enum l2vpn-vc-cbit-mism-err { + value 4; + description + "L2VPN ATOM manager VC CBIT mismatch error"; + } + enum l2vpn-vc-type-mism-err { + value 5; + description + "L2VPN ATOM manager VC type mismatch error"; + } + enum l2vpn-vc-mtu-mism-err { + value 6; + description + "L2VPN ATOM manager VC MTU mismatch error"; + } + enum l2vpn-vc-imp-rw-mism-err { + value 7; + description + "L2VPN ATOM manager VC imposition rewrite mismatch error"; + } + enum l2vpn-vc-tdm-mism-err { + value 8; + description + "L2VPN ATOM manager VC TDM mismatch error"; + } + enum l2vpn-vc-lcl-ac-not-rdy-err { + value 9; + description + "L2VPN ATOM manager VC local AC not ready error"; + } + enum l2vpn-vc-rmt-not-rdy-err { + value 10; + description + "L2VPN ATOM manager VC remote not ready error"; + } + enum l2vpn-vc-lcl-ac-down-err { + value 11; + description + "L2VPN ATOM manager VC local AC Down error"; + } + enum l2vpn-vc-rmt-ac-down-err { + value 12; + description + "L2VPN ATOM manager VC remote AC Down error"; + } + enum l2vpn-vc-lcl-ac-hard-down-err { + value 13; + description + "L2VPN ATOM manager VC local AC Hard Down error"; + } + enum l2vpn-vc-dp-flt-err { + value 14; + description + "L2VPN ATOM manager VC dataplane fault error"; + } + enum l2vpn-vc-bfd-flt-err { + value 15; + description + "L2VPN ATOM manager VC BFD fault error"; + } + enum l2vpn-vc-adj-down-err { + value 16; + description + "L2VPN ATOM manager VC adjacency down error"; + } + enum l2vpn-vc-lcl-bdg-aloc-no-ac-pw-err { + value 17; + description + "L2VPN ATOM manager error in allocating VC local binding no AC PW type"; + } + enum l2vpn-vc-lcl-bdg-alloc-no-cap-err { + value 18; + description + "L2VPN ATOM manager error in allocating VC local binding no CAP"; + } + enum l2vpn-vc-lcl-bdg-aloc-no-vc-type-err { + value 19; + description + "L2VPN ATOM manager error in allocating VC local binding no VC type"; + } + enum l2vpn-vc-lcl-bdg-mtu-err { + value 20; + description + "L2VPN ATOM manager VC local binding MTU error"; + } + enum l2vpn-vc-lcl-bdg-tdm-err { + value 21; + description + "L2VPN ATOM manager VC local binding TDM error"; + } + enum l2vpn-vc-lcl-bdg-dyn-lbl-err { + value 22; + description + "L2VPN ATOM manager VC local binding Dynamic label error"; + } + enum l2vpn-vc-lcl-bdg-stat-lbl-err { + value 23; + description + "L2VPN ATOM manager VC local binding Static label error"; + } + enum l2vpn-vc-lcl-bdg-rrp-no-cp-info-err { + value 24; + description + "L2VPN ATOM manager VC local binding RRP no checkpoint info error"; + } + enum l2vpn-vc-lcl-bdg-rrp-no-cp-lbl-err { + value 25; + description + "L2VPN ATOM manager VC local binding RRP no checkpoint label error"; + } + enum l2vpn-vc-lcl-bdg-rrp-cp-lbl-aloc-err { + value 26; + description + "L2VPN ATOM manager VC local binding RRP checkpoint label allocation error"; + } + enum l2vpn-vc-lcl-bdg-rrp-cp-lb-mt-err { + value 27; + description + "L2VPN ATOM manager VC local binding RRP checkpoint label mismatch error"; + } + enum l2vpn-vc-lcl-xc-sh-down-err { + value 28; + description + "L2VPN ATOM manager VC local XC shut down error"; + } + enum l2vpn-vc-lcl-pw-sh-down-err { + value 29; + description + "L2VPN ATOM manager VC local PW shut down error"; + } + enum l2vpn-vc-lcl-pw-bw-not-admt-err { + value 30; + description + "L2VPN ATOM manager VC local PW BW not admitted error"; + } + enum l2vpn-vc-lcl-bdg-cbit-err { + value 31; + description + "L2VPN ATOM manager VC local binding CBIT error"; + } + } + description + "L2VPN ATOM MGR VC last error"; + } + + typedef l2vpn-vc-next-hop-type { + type enumeration { + enum l2vpn-vc-no-nh { + value 0; + description + "No Next hop"; + } + enum l2vpn-vc-nh-p2p { + value 1; + description + "Next hop is via a P2P link"; + } + enum l2vpn-vc-nh-ipv4-addr { + value 2; + description + "Next hop IPV4 address"; + } + enum l2vpn-vc-nh-ipv6-addr { + value 3; + description + "Next hop IPV6 address"; + } + } + description + "Describes supported next hop types"; + } + + typedef l2vpn-pref-path-type { + type enumeration { + enum l2vpn-pref-not-conf { + value 0; + description + "No preferred path configured"; + } + enum l2vpn-pref-no-route { + value 1; + description + "No route available to preferred path"; + } + enum l2vpn-pref-out-if { + value 2; + description + "Output tunnel interface"; + } + enum l2vpn-pref-next-hop-addr { + value 3; + description + "Next hop IPV4 address"; + } + } + description + "Describes supported preferred path types"; + } + + typedef l2vpn-def-path-state { + type enumeration { + enum l2vpn-def-path-none { + value 0; + description + "Default path none"; + } + enum l2vpn-def-path-disabled { + value 1; + description + "Default path disabled"; + } + enum l2vpn-def-path-active { + value 2; + description + "Default path active"; + } + enum l2vpn-def-path-no-route { + value 3; + description + "No route to default path"; + } + enum l2vpn-def-path-ready { + value 4; + description + "Default path ready"; + } + } + description + "Describes default path state"; + } + + typedef l2vpn-vc-status-tlv { + type enumeration { + enum l2vpn-vc-stat-tlv-dis { + value 0; + description + "L2VPN VC status TLV disabled"; + } + enum l2vpn-vc-stat-tlv-en { + value 1; + description + "L2VPN VC status TLV enabled"; + } + enum l2vpn-vc-stat-tlv-unkn { + value 2; + description + "L2VPN VC status TLV unknown"; + } + enum l2vpn-vc-stat-tlv-sup { + value 3; + description + "L2VPN VC status TLV supported"; + } + enum l2vpn-vc-stat-tlv-not-sup { + value 4; + description + "L2VPN VC status TLV not supported"; + } + } + description + "L2VPN VC status TLV"; + } + + typedef l2vpn-atom-ldp-status { + type enumeration { + enum l2vpn-atom-ldp-def { + value 0; + description + "L2VPN ATOM LDP status default"; + } + enum l2vpn-atom-ldp-down { + value 1; + description + "L2VPN ATOM LDP status down"; + } + enum l2vpn-atom-ldp-down-no-sig { + value 2; + description + "L2VPN ATOM LDP status down no signal"; + } + enum l2vpn-atom-ldp-down-no-bind { + value 3; + description + "L2VPN ATOM LDP status down no binding"; + } + enum l2vpn-atom-ldp-up { + value 4; + description + "L2VPN ATOM LDP status up"; + } + } + description + "L2VPN ATOM LDP status"; + } + + typedef l2vpn-atom-mgr-state { + type enumeration { + enum l2vpn-atom-mgr-state-idle { + value 0; + description + "L2VPN ATOM Manager state idle"; + } + enum l2vpn-atom-mgr-state-prov { + value 1; + description + "L2VPN ATOM Manager state provisioned"; + } + enum l2vpn-atom-mgr-state-stdby-lcl-rdy { + value 2; + description + "L2VPN ATOM Manager state standby local ready"; + } + enum l2vpn-atom-mgr-state-ldp-ready { + value 3; + description + "L2VPN ATOM Manager state LDP ready"; + } + enum l2vpn-atom-mgr-state-lcl-rdy { + value 4; + description + "L2VPN ATOM Manager state local ready"; + } + enum l2vpn-atom-mgr-state-rmt-rdy { + value 5; + description + "L2VPN ATOM Manager state remote ready"; + } + enum l2vpn-atom-mgr-state-rmt-inv { + value 6; + description + "L2VPN ATOM Manager state remote invalid"; + } + enum l2vpn-atom-mgr-state-est { + value 7; + description + "L2VPN ATOM Manager state establishing"; + } + enum l2vpn-atom-mgr-state-act { + value 8; + description + "L2VPN ATOM Manager state activating"; + } + enum l2vpn-atom-mgr-state-ested { + value 9; + description + "L2VPN ATOM Manager state established"; + } + } + description + "L2VPN ATOM Manager state"; + } + + typedef l2vpn-atom-mgr-fsm-state { + type enumeration { + enum lndrnd { + value 0; + description + "Local not ready down and remote not ready down"; + } + enum lnurnd { + value 1; + description + "Local not ready up and remote not ready down"; + } + enum lrdrnd { + value 2; + description + "Local ready down and remote not ready down"; + } + enum lrurnd { + value 3; + description + "Local ready up and remote not ready down"; + } + enum lndrrd { + value 4; + description + "Local ready down and remote ready down"; + } + enum lndrra { + value 5; + description + "Local not ready down and remote ready adjacency down"; + } + enum lndrraa { + value 6; + description + "Local not ready down, remote ready adjacency down and remote down"; + } + enum lndrru { + value 7; + description + "Local not ready down and remote ready up"; + } + enum lnurrd { + value 8; + description + "Local not ready up and remote ready down"; + } + enum lnurra { + value 9; + description + "Local not ready up and remote ready adjacency down"; + } + enum lnurraa { + value 10; + description + "Local not ready up, remote ready adjacency down and remote down"; + } + enum lnurru { + value 11; + description + "Local not ready up and remote ready up"; + } + enum lrdrrd { + value 12; + description + "Local ready up and remote ready down"; + } + enum lrdrra { + value 13; + description + "Local ready down and remote ready adjacency down"; + } + enum lrdrraa { + value 14; + description + "Local ready down, remote ready adjacency down and remote down"; + } + enum lrdrru { + value 15; + description + "Local ready down and remote ready up"; + } + enum lrurrd { + value 16; + description + "Local ready up and remote ready down"; + } + enum lrurra { + value 17; + description + "Local ready up and remote ready adjacency down"; + } + enum lrurraa { + value 18; + description + "Local ready up, remote ready adjacency down and remote down"; + } + enum lrurru { + value 19; + description + "Local ready up and remote ready up"; + } + enum lndrnddp { + value 20; + description + "Local not ready down and remote not ready down DP fault"; + } + enum lnurnddp { + value 21; + description + "Local not ready up and remote not ready down DP fault"; + } + enum lrdrnddp { + value 22; + description + "Local ready down and remote not ready down DP fault"; + } + enum lrurnddp { + value 23; + description + "Local ready up and remote not ready down DP fault"; + } + enum lndrrddp { + value 24; + description + "Local not ready down and remote ready down DP fault"; + } + enum lndrradp { + value 25; + description + "Local not ready down and remote ready adjacency down DP fault"; + } + enum lndrraadp { + value 26; + description + "Local not ready down, remote ready adjacency down DP fault and remote down"; + } + enum lndrrudp { + value 27; + description + "Local not ready down and remote ready up DP fault"; + } + enum lnurrddp { + value 28; + description + "Local not ready up and remote ready down DP fault"; + } + enum lnurradp { + value 29; + description + "Local not ready up and remote ready adjacency down DP fault"; + } + enum lnurraadp { + value 30; + description + "Local not ready up, remote ready adjacency down DP fault and remote down"; + } + enum lnurrudp { + value 31; + description + "Local not ready up and remote ready up DP fault"; + } + enum lrdrrddp { + value 32; + description + "Local ready down and remote ready down DP fault"; + } + enum lrdrradp { + value 33; + description + "Local ready down and remote ready adjacency down DP fault"; + } + enum lrdrraadp { + value 34; + description + "Local ready down, remote ready adjacency down DP fault and remote down"; + } + enum lrdrrudp { + value 35; + description + "Local ready down and remote ready up DP fault"; + } + enum lrurrddp { + value 36; + description + "Local ready up and remote ready down DP fault"; + } + enum lrurradp { + value 37; + description + "Local ready up and remote ready adjacency down DP fault"; + } + enum lrurraadp { + value 38; + description + "Local ready up, remote ready adjacency down DP fault and remote down"; + } + enum lrurrudp { + value 39; + description + "Local ready up and remote ready up DP fault"; + } + enum slndrnd { + value 40; + description + "VC shut, Local not ready down and remote not ready down"; + } + enum slnurnd { + value 41; + description + "VC shut, Local not ready up and remote not ready down"; + } + enum slrdrnd { + value 42; + description + "VC shut, Local ready down and remote not ready down"; + } + enum slrurnd { + value 43; + description + "VC shut, Local ready up and remote not ready down"; + } + enum slndrrd { + value 44; + description + "VC shut, Local not ready down and remote ready down"; + } + enum slndrra { + value 45; + description + "VC shut, Local not ready down and remote ready adjacency down"; + } + enum slndrraa { + value 46; + description + "VC shut, Local not ready down, remote ready adjacency down and remote down"; + } + enum slndrru { + value 47; + description + "VC shut, Local not ready down, remote ready up"; + } + enum slnurrd { + value 48; + description + "VC shut, Local not ready up and remote ready down"; + } + enum slnurra { + value 49; + description + "VC shut, Local not ready up and remote ready adjacency down"; + } + enum slnurraa { + value 50; + description + "VC shut, Local not ready up, remote ready adjacency down and remote down"; + } + enum slnurru { + value 51; + description + "VC shut, Local not ready up and remote ready up"; + } + enum slrdrrd { + value 52; + description + "VC shut, Local ready down and remote ready down"; + } + enum slrdrra { + value 53; + description + "VC shut, Local ready down and remote ready adjacency down"; + } + enum slrdrraa { + value 54; + description + "VC shut, Local ready down, remote ready adjacency down and remote down"; + } + enum slrdrru { + value 55; + description + "VC shut, Local ready down and remote ready up"; + } + enum slrurrd { + value 56; + description + "VC shut, Local ready up and remote ready down"; + } + enum slrurra { + value 57; + description + "VC shut, Local ready up and remote ready adjacency down"; + } + enum slrurraa { + value 58; + description + "VC shut, Local ready up, remote ready adjacency down and remote down"; + } + enum slrurru { + value 59; + description + "VC shut, Local ready up and remote ready up"; + } + enum slndrnddp { + value 60; + description + "VC shut, Local not ready down and remote not ready down DP fault"; + } + enum slnurnddp { + value 61; + description + "VC shut, Local not ready up and remote not ready down DP fault"; + } + enum slrdrnddp { + value 62; + description + "VC shut, Local ready down and remote not ready down DP fault"; + } + enum slrurnddp { + value 63; + description + "VC shut, Local ready up and remote not ready down DP fault"; + } + enum slndrrddp { + value 64; + description + "VC shut, Local not ready down and remote ready down DP fault"; + } + enum slndrradp { + value 65; + description + "VC shut, Local not ready down and remote ready adjacency down DP fault"; + } + enum slndrraadp { + value 66; + description + "VC shut, Local not ready down, remote ready adjacency down DP fault and remote down"; + } + enum slndrrudp { + value 67; + description + "VC shut, Local not ready down and remote ready up DP fault"; + } + enum slnurrddp { + value 68; + description + "VC shut, Local not ready up and remote ready down DP fault"; + } + enum slnurradp { + value 69; + description + "VC shut, Local not ready up and remote ready adjacency down DP fault"; + } + enum slnurraadp { + value 70; + description + "VC shut, Local not ready up, remote ready adjacency down DP fault and remote down"; + } + enum slnurrudp { + value 71; + description + "VC shut, Local not ready up and remote ready up DP fault"; + } + enum slrdrrddp { + value 72; + description + "VC shut, Local not ready down and remote ready down DP fault"; + } + enum slrdrradp { + value 73; + description + "VC shut, Local ready down and remote ready adjacency down DP fault"; + } + enum slrdrraadp { + value 74; + description + "VC shut, Local ready down, remote ready adjacency down DP fault and remote down"; + } + enum slrdrrudp { + value 75; + description + "VC shut, Local ready down and remote ready up DP fault"; + } + enum slrurrddp { + value 76; + description + "VC shut, Local ready up and remote ready down DP fault"; + } + enum slrurradp { + value 77; + description + "VC shut, Local ready up and remote ready adjacency down DP fault"; + } + enum slrurraadp { + value 78; + description + "VC shut, Local ready up, remote ready adjacency down DP fault and remote down"; + } + enum slrurrudp { + value 79; + description + "VC shut, Local ready up and remote ready up DP fault"; + } + } + description + "L2VPN ATOM Manager FSM state"; + } + + typedef l2vpn-feat-conf { + type enumeration { + enum l2vpn-feat-not-conf { + value 0; + description + "L2VPN Feature not configured"; + } + enum l2vpn-feat-conf { + value 1; + description + "L2VPN Feature configured"; + } + } + description + "L2VPN feature configuration"; + } + + typedef l2vpn-feat-en { + type enumeration { + enum l2vpn-feat-not-en { + value 0; + description + "L2VPN Feature disabled"; + } + enum l2vpn-feat-en { + value 1; + description + "L2VPN Feature enabled"; + } + enum l2vpn-feat-not-appl { + value 2; + description + "L2VPN Feature not applicable"; + } + } + description + "L2VPN feature enablement"; + } + + typedef l2vpn-atom-fec-type { + type enumeration { + enum l2vpn-atomvc-fec-unkn { + value 0; + description + "L2VPN ATOM VC unknown FEC"; + } + enum l2vpn-atomvc-fec-128 { + value 1; + description + "L2VPN ATOM VC FEC type 128"; + } + enum l2vpn-atomvc-fec-129 { + value 2; + description + "L2VPN ATOM VC FEC type 129"; + } + } + description + "L2VPN ATOM FEC type"; + } + + typedef l2vpn-circuit-status { + type enumeration { + enum l2vpn-ckt-stat-none { + value 0; + description + "L2VPN circuit status none"; + } + enum l2vpn-ckt-stat-up { + value 1; + description + "L2VPN circuit status Up"; + } + enum l2vpn-ckt-stat-down { + value 2; + description + "L2VPN circuit status Down"; + } + enum l2vpn-ckt-stat-ac-rx-tx-flt { + value 3; + description + "L2VPN AC Rx/Tx fault"; + } + enum l2vpn-ckt-stat-pw-rx-tx-flt { + value 4; + description + "L2VPN PW interface Rx/Tx fault"; + } + enum l2vpn-ckt-stat-ac-pw-rx-tx-flt { + value 5; + description + "L2VPN AC and PW interface Rx/Tx fault"; + } + enum l2vpn-ckt-stat-hard-down { + value 6; + description + "L2VPN circuit status Hard Down"; + } + enum l2vpn-ckt-stat-not-rdy { + value 7; + description + "L2VPN circuit status not ready"; + } + enum l2vpn-ckt-stat-ckt-stdby { + value 8; + description + "L2VPN circuit status Standby"; + } + enum l2vpn-ckt-stat-go-active { + value 9; + description + "L2VPN circuit status go active"; + } + enum l2vpn-ckt-stat-recovering { + value 10; + description + "L2VPN circuit status Recovering"; + } + enum l2vpn-ckt-stat-admin-down { + value 11; + description + "L2VPN circuit status Admin Down"; + } + enum l2vpn-ckt-stat-no-fault { + value 12; + description + "L2VPN circuit status no fault"; + } + enum l2vpn-ckt-stat-not-sent { + value 13; + description + "L2VPN circuit status not sent"; + } + enum l2vpn-ckt-stat-not-appl { + value 14; + description + "L2VPN circuit status not applicable"; + } + } + description + "L2VPN circuit status"; + } + + typedef l2vpn-pw-sequence { + type enumeration { + enum l2vpn-pw-seq-off { + value 0; + description + "PW sequence off"; + } + enum l2vpn-pw-seq-tx { + value 1; + description + "PW sequence transmit"; + } + enum l2vpn-pw-seq-rx { + value 2; + description + "PW sequence receive"; + } + enum l2vpn-pw-seq-trans { + value 3; + description + "PW sequence transparent"; + } + enum l2vpn-pw-seq-both { + value 4; + description + "PW sequence both"; + } + } + description + "L2VPN ATOM PW Sequencing"; + } + + typedef l2vpn-iw-type { + type enumeration { + enum l2vpn-iw-inv { + value 0; + description + "Invalid interworking type"; + } + enum l2vpn-iw-fr-dlci { + value 1; + description + "Interworking type FR DLCI"; + } + enum l2vpn-iw-fr-dlci-lcl { + value 2; + description + "Interworking type FR DLCI local"; + } + enum l2vpn-iw-atm-aal5 { + value 3; + description + "Interworking type ATM AAL5"; + } + enum l2vpn-iw-atm-cell { + value 4; + description + "Interworking type ATM cell"; + } + enum l2vpn-iw-eth-vlan { + value 5; + description + "Interworking type ethernet VLAN"; + } + enum l2vpn-iw-eth { + value 6; + description + "Interworking type ethernet"; + } + enum l2vpn-iw-hdlc { + value 7; + description + "Interworking type HDLC"; + } + enum l2vpn-iw-ppp { + value 8; + description + "Interworking type PPP"; + } + enum l2vpn-iw-cem { + value 9; + description + "Interworking type CEM"; + } + enum l2vpn-iw-atm-vcc-cell { + value 10; + description + "Interworking type ATM VCC cell"; + } + enum l2vpn-iw-atm-vpc-cell { + value 11; + description + "Interworking type ATM VPC cell"; + } + enum l2vpn-iw-ip { + value 12; + description + "Interworking type IP"; + } + enum l2vpn-iw-vfi { + value 13; + description + "Interworking type VFI"; + } + enum l2vpn-iw-satop-e1 { + value 15; + description + "Interworking type SATOP E1"; + } + enum l2vpn-iw-satop-t1 { + value 16; + description + "Interworking type SATOP T1"; + } + enum l2vpn-iw-satop-e3 { + value 17; + description + "Interworking type SATOP E3"; + } + enum l2vpn-iw-satop-t3 { + value 18; + description + "Interworking type SATOP T3"; + } + enum l2vpn-iw-ces-psn-basic { + value 19; + description + "Interworking type CES PSN basic"; + } + enum l2vpn-iw-ces-psn-cas { + value 20; + description + "Interworking type CES PSN CAS"; + } + enum l2vpn-iw-atm-vc-unknown { + value 21; + description + "Interworking type ATM VC unknown"; + } + enum l2vpn-iw-atm-vp-unknown { + value 22; + description + "Interworking type ATM VP unknown"; + } + enum l2vpn-iw-atom { + value 23; + description + "Interworking type ATOM"; + } + enum l2vpn-iw-l2tpv2 { + value 24; + description + "Interworking type L2TPV2"; + } + enum l2vpn-iw-l2tpv3 { + value 25; + description + "Interworking type L2TPV3"; + } + enum l2vpn-iw-pw-udp { + value 26; + description + "Interworking type PW UDP"; + } + enum l2vpn-iw-docsis { + value 27; + description + "Interworking type DOCSIS"; + } + enum l2vpn-iw-docsis-vlan { + value 28; + description + "Interworking type DOCSIS VLAN"; + } + } + description + "L2VPN interworking type"; + } + + typedef l2vpn-service-state { + type enumeration { + enum l2vpn-serv-undef { + value 0; + description + "L2VPN state is undefined"; + } + enum l2vpn-serv-up { + value 1; + description + "L2VPN service is up"; + } + enum l2vpn-serv-down { + value 2; + description + "L2VPN service is down"; + } + enum l2vpn-serv-admin-down { + value 3; + description + "L2VPN service is admin down"; + } + enum l2vpn-serv-recovering { + value 4; + description + "L2VPN service is recovering"; + } + enum l2vpn-serv-stdby { + value 5; + description + "L2VPN service is standby"; + } + enum l2vpn-serv-hot-stdby { + value 6; + description + "L2VPN service is hot standby"; + } + } + description + "L2VPN service state"; + } + + typedef l2vpn-vccv-cc-type-flags { + type bits { + bit vccv-cc-cw { + position 0; + description + "VCCV CC control word"; + } + bit vccv-cc-ra { + position 1; + description + "VCCV CC router alert"; + } + bit vccv-cc-ttl { + position 2; + description + "VCCV CC TTL"; + } + } + description + "L2VPN VCCV control channel type flags"; + } + + typedef l2vpn-vccv-cv-type-flags { + type bits { + bit vccv-cv-icmp { + position 0; + description + "VCCV CV using ICMP"; + } + bit vccv-cv-lspv { + position 1; + description + "VCCV CV using LSPV"; + } + bit vccv-cv-bfd-udp { + position 2; + description + "VCCV CV using BFD UDP"; + } + bit vccv-cv-bfd-udp-sig { + position 3; + description + "VCCV CV using BFD UDP with signalling"; + } + bit vccv-cv-bfd-raw { + position 4; + description + "VCCV CV using BFD RAW"; + } + bit vccv-cv-bfd-raw-sig { + position 5; + description + "VCCV CV using BFD RAW with signalling"; + } + } + description + "L2VPN VCCV connectivity verification type flags"; + } + + grouping fwd-info-ac { + description + "L2VPN forwarder info for attachment circuit"; + leaf if-name { + type string; + description + "Attachment circuit interface "; + } + leaf group-name { + type string; + description + "Attachment circuit group name"; + } + leaf encap { + type l2vpn-ios-xe-oper:l2vpn-ac-circuit-type; + description + "Attachment circuit encapsulation"; + } + leaf state { + type l2vpn-ios-xe-oper:l2vpn-xconnect-segment-state; + description + "Attachment circuit state"; + } + leaf state-in-l2vpn-service { + type l2vpn-ios-xe-oper:l2vpn-xconnect-state; + description + "Attachment circuit state in L2VPN service"; + } + leaf priority { + type uint32; + description + "Attachment circuit priority"; + } + } + + grouping fwd-info-pw { + description + "L2VPN forwarder info for pseudo-wire"; + leaf if-name { + type string; + description + "Pseudo-wire interface "; + } + leaf group-name { + type string; + description + "Pseudo-wire group name"; + } + leaf encap { + type l2vpn-ios-xe-oper:l2vpn-pw-encap-type; + description + "Pseudo-wire encapsulation"; + } + leaf peer-address { + type inet:ipv4-address; + description + "Pseudo-wire peer ipv4 address"; + } + leaf vcid { + type uint32; + description + "Pseudo-wire virtual circuit id"; + } + leaf state { + type l2vpn-ios-xe-oper:l2vpn-xconnect-segment-state; + description + "Pseudo-wire state"; + } + leaf state-in-l2vpn-service { + type l2vpn-ios-xe-oper:l2vpn-xconnect-state; + description + "Pseudo-wire state in L2VPN service"; + } + leaf priority { + type uint32; + description + "Pseudo-wire priority"; + } + } + + grouping fwd-info-vfi { + description + "L2VPN forwarder info for "; + leaf if-name { + type string; + description + " VPLS interface "; + } + leaf group-name { + type string; + description + " VPLS group name"; + } + leaf encap { + type l2vpn-ios-xe-oper:l2vpn-pw-encap-type; + description + " VPLS encapsulation"; + } + leaf state { + type l2vpn-ios-xe-oper:l2vpn-xconnect-segment-state; + description + " VPLS state"; + } + leaf state-in-l2vpn-service { + type l2vpn-ios-xe-oper:l2vpn-xconnect-state; + description + " State in L2VPN service"; + } + leaf priority { + type uint32; + description + " VPLS priority"; + } + } + + grouping fwd-info-bd { + description + "L2VPN forwarder info for bd"; + leaf if-name { + type string; + description + "Bridge domain interface "; + } + leaf group-name { + type string; + description + "Bridge domain group name"; + } + leaf encap { + type l2vpn-ios-xe-oper:l2vpn-pw-encap-type; + description + "Bridge domain encapsulation"; + } + leaf state { + type l2vpn-ios-xe-oper:l2vpn-xconnect-segment-state; + description + "Bridge domain state"; + } + leaf state-in-l2vpn-service { + type l2vpn-ios-xe-oper:l2vpn-xconnect-state; + description + "Bridge domain state in L2VPN service"; + } + leaf priority { + type uint32; + description + "Bridge domain priority"; + } + } + + grouping forwarder { + description + "L2VPN forwarder info"; + choice fwd-type-choice { + description + "Type of the L2VPN forwarder"; + case l2vpn-fwd-type-ac { + container attachment-circuit { + description + "L2VPN attachment-circuit information"; + uses l2vpn-ios-xe-oper:fwd-info-ac; + } + } + case l2vpn-fwd-type-pw { + container pseudowire { + description + "L2VPN pseudo-wire information"; + uses l2vpn-ios-xe-oper:fwd-info-pw; + } + } + case l2vpn-fwd-type-vfi { + container vfi { + description + "L2VPN VPLS information"; + uses l2vpn-ios-xe-oper:fwd-info-vfi; + } + } + case l2vpn-fwd-type-bd { + container bridge-domain { + description + "L2VPN bridge domain information"; + uses l2vpn-ios-xe-oper:fwd-info-bd; + } + } + } + } + + grouping l2vpn-xconnect-key { + description + "L2VPN xconnect key"; + leaf peer-address { + type inet:ipv4-address; + description + "L2VPN xconnect peer ipv4 address"; + } + leaf vcid { + type uint32; + description + "L2VPN xconnect virtual circuit id"; + } + } + + grouping standby-segments { + description + "L2VPN xconnect standby segments"; + container segment1 { + description + "L2VPN xconnect standby segment 1"; + uses l2vpn-ios-xe-oper:forwarder; + } + container segment2 { + description + "L2VPN xconnect standby segment 2"; + uses l2vpn-ios-xe-oper:forwarder; + } + } + + grouping l2vpn-xconnect-data { + description + "L2VPN xconnect data"; + leaf xconnect-name { + type string; + description + "L2VPN xconnect service name"; + } + leaf service-type { + type l2vpn-ios-xe-oper:l2vpn-service-type; + description + "L2VPN xconnect service type"; + } + leaf xconnect-state { + type l2vpn-ios-xe-oper:l2vpn-xconnect-state; + description + "L2VPN xconnect state"; + } + leaf description { + type string; + description + "L2VPN xconnect description"; + } + container segment1 { + description + "L2VPN xconnect segment 1"; + uses l2vpn-ios-xe-oper:forwarder; + } + container segment2 { + description + "L2VPN xconnect segment 2"; + uses l2vpn-ios-xe-oper:forwarder; + } + list standby { + description + "A List of L2VPN xconnect standby segments if present"; + uses l2vpn-ios-xe-oper:standby-segments; + } + } + + grouping l2vpn-services { + description + "L2VPN services"; + list l2vpn-xconnect { + key "peer-address vcid"; + description + "L2VPN xconnect"; + uses l2vpn-ios-xe-oper:l2vpn-xconnect-key; + uses l2vpn-ios-xe-oper:l2vpn-xconnect-data; + } + } + + grouping l2vpn-vc-next-hop { + description + "L2VPN Next hop info"; + choice next-hop-type-choice { + description + "Type of the Next hop"; + case l2vpn-vc-no-nh { + leaf no-nh { + type empty; + description + "L2VPN VC no next hop"; + } + } + case l2vpn-vc-nh-p2p { + leaf p2p { + type empty; + description + "L2VPN VC next hop P2P"; + } + } + case l2vpn-vc-nh-ipv4-addr { + leaf nh-ipv4-addr { + type inet:ipv4-address; + description + "L2VPN VC next hop IPV4 address"; + } + } + case l2vpn-vc-nh-ipv6-addr { + leaf nh-ipv6-addr { + type inet:ipv6-address; + description + "L2VPN VC next hop IPV6 address"; + } + } + } + } + + grouping l2vpn-vc-pref-path { + description + "L2VPN VC preferred path information"; + choice pref-path-type-choice { + description + "Type of the preferred path"; + case l2vpn-pref-not-conf { + leaf not-conf { + type empty; + description + "L2VPN VC preferred path not configured"; + } + } + case l2vpn-pref-no-route { + leaf no-route { + type empty; + description + "L2VPN VC no route to preferred path"; + } + } + case l2vpn-pref-out-if { + leaf out-if { + type string; + description + "L2VPN VC output tunnel interface"; + } + } + case l2vpn-pref-next-hop-addr { + leaf nh-addr { + type inet:ipv4-address; + description + "L2VPN VC next hop IPV4 address"; + } + } + } + } + + grouping l2vpn-atom-bgp-info { + description + "L2VPN ATOM BGP signalling info"; + leaf local-ve-id { + type uint32; + description + "Local VE identifier"; + } + leaf remote-ve-id { + type uint32; + description + "Remote VE identifier"; + } + } + + grouping l2vpn-atom-ldp-info { + description + "L2VPN ATOM LDP signalling info"; + leaf tgt-hello-src { + type inet:ipv4-address; + description + "Source of the targetted hello message"; + } + leaf tgt-hello-dest { + type inet:ipv4-address; + description + "Destination of the targetted hello message"; + } + leaf status { + type l2vpn-ios-xe-oper:l2vpn-atom-ldp-status; + description + "Status of the LDP"; + } + leaf gr-config { + type l2vpn-ios-xe-oper:l2vpn-feat-conf; + description + "Graceful restart configuration"; + } + leaf gr { + type l2vpn-ios-xe-oper:l2vpn-feat-en; + description + "Graceful restart feature"; + } + leaf nsr-config { + type l2vpn-ios-xe-oper:l2vpn-feat-conf; + description + "NSR configuration"; + } + leaf nsr { + type l2vpn-ios-xe-oper:l2vpn-feat-en; + description + "NSR feature"; + } + leaf fec-type { + type l2vpn-ios-xe-oper:l2vpn-atom-fec-type; + description + "Type of FEC"; + } + } + + grouping l2vpn-atom-vpws-info { + description + "L2VPN ATOM VPWS information"; + leaf assoc-member-if { + type string; + description + "Associated member interface name"; + } + leaf group-name { + type string; + description + "Group name"; + } + leaf status { + type l2vpn-ios-xe-oper:l2vpn-service-state; + description + "Status of service"; + } + leaf iw-type { + type l2vpn-ios-xe-oper:l2vpn-iw-type; + description + "Interworking type"; + } + } + + grouping l2vpn-atom-vpls-info { + description + "L2VPN ATOM VPLS information"; + leaf bd-id { + type uint32; + description + "Bridge domain id"; + } + } + + grouping l2vpn-service-info { + description + "L2VPN service information"; + leaf service-name { + type string; + description + "L2VPN service name"; + } + leaf service-id { + type uint32; + description + "Service Identification"; + } + choice atom-service-type-choice { + description + "Type of L2VPN ATOM service"; + case l2vpn-service-vpws { + container vpws-info { + description + "L2VPN VPWS service information"; + uses l2vpn-ios-xe-oper:l2vpn-atom-vpws-info; + } + } + case l2vpn-service-vpls { + container vpls-info { + description + "L2VPN VPLS service information"; + uses l2vpn-ios-xe-oper:l2vpn-atom-vpls-info; + } + } + } + } + + grouping signalling-proto-info { + description + "L2VPN signalling protocol info"; + leaf ldp-route-watch { + type l2vpn-ios-xe-oper:l2vpn-feat-en; + description + "LDP route watch status"; + } + leaf label-state { + type l2vpn-ios-xe-oper:l2vpn-atom-mgr-state; + description + "Label status"; + } + leaf fsm-state { + type l2vpn-ios-xe-oper:l2vpn-atom-mgr-fsm-state; + description + "State machine status"; + } + leaf local-dp-status-rcv { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Local dataplane status received"; + } + leaf bfd-dp-status-rcv { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "BFD dataplane status received"; + } + leaf bfd-dp-pm-status-rcv { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "BFD peer monitor status received"; + } + leaf status-rcv-ac { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Status received from access circuit"; + } + leaf status-sent-ac { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Status sent to access circuit"; + } + leaf status-rcv-pw { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Status received from pseudowire interface"; + } + leaf status-sent-nw-peer { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Status sent to network peer"; + } + leaf status-rcv-nw-peer { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Status received from network peer"; + } + leaf adj-status-remote-peer { + type l2vpn-ios-xe-oper:l2vpn-circuit-status; + description + "Adjacency status of remote peer"; + } + choice signalling-choice { + description + "Type of signalling for L2VPN negotiations"; + case l2vpn-atom-vc-proto-ldp { + container ldp-info { + description + "L2VPN LDP signalling information"; + uses l2vpn-ios-xe-oper:l2vpn-atom-ldp-info; + } + } + case l2vpn-atom-vc-proto-bgp { + container bgp-info { + description + "L2VPN BGP signalling information"; + uses l2vpn-ios-xe-oper:l2vpn-atom-bgp-info; + } + } + } + } + + grouping l2vpn-binding-params { + description + "L2VPN binding parameters"; + leaf label { + type uint32; + description + "VC label value"; + } + leaf group-id { + type uint32; + description + "Group identifier"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf mtu { + type uint16; + description + "Maximum transmission unit"; + } + leaf control-word { + type l2vpn-ios-xe-oper:l2vpn-atom-pw-cw; + description + "Control word information"; + } + leaf cw-auto-sense { + type l2vpn-ios-xe-oper:l2vpn-cw-auto-sense; + description + "Control word auto sense"; + } + leaf vc-type { + type l2vpn-ios-xe-oper:l2vpn-atom-vc-type; + description + "Type of VC"; + } + leaf vccv-cv-type { + type l2vpn-ios-xe-oper:l2vpn-vccv-cv-type-flags; + description + "VCCV CV type flag"; + } + leaf vccv-cc-type { + type l2vpn-ios-xe-oper:l2vpn-vccv-cc-type-flags; + description + "VCCV CC type flag"; + } + leaf status-tlv { + type l2vpn-ios-xe-oper:l2vpn-vc-status-tlv; + description + "Status TLV configuration"; + } + } + + grouping l2vpn-pw-data-params { + description + "L2vpn PW binding data parameters"; + container local-binding { + description + "Binding details of the local node"; + uses l2vpn-ios-xe-oper:l2vpn-binding-params; + } + container remote-binding { + description + "Binding details of the remote node"; + uses l2vpn-ios-xe-oper:l2vpn-binding-params; + } + } + + grouping l2vpn-atom-dataplane-params { + description + "VC statistics data"; + leaf segment-id { + type uint32; + description + "SSM Segment ID"; + } + leaf switch-id { + type uint32; + description + "SSM Switch ID"; + } + leaf pwid { + type uint32; + description + "PW ID"; + } + } + + grouping l2vpn-atom-vc-statistics { + description + "L2vpn dataplane parameters"; + leaf rx-pkts { + type uint64; + description + "RX packets"; + } + leaf rx-bytes { + type uint64; + description + "RX bytes"; + } + leaf rx-drops { + type uint64; + description + "RX drops"; + } + leaf seq-err-pkts { + type uint64; + description + "RX sequential error packets"; + } + leaf tx-pkts { + type uint64; + description + "TX packets"; + } + leaf tx-bytes { + type uint64; + description + "TX bytes"; + } + leaf tx-drops { + type uint64; + description + "TX drops"; + } + leaf mwc-tx { + type uint64; + description + "MAC withdraw TX counter"; + } + leaf mwc-rx { + type uint64; + description + "MAC withdraw RX counter"; + } + } + + grouping l2vpn-atom-vc-data { + description + "L2VPN L2 atom VC data"; + leaf local-if-name { + type string; + description + "Local Interface name"; + } + leaf circuit-type { + type l2vpn-ios-xe-oper:l2vpn-ac-circuit-type; + description + "Circuit type"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf service-type { + type l2vpn-ios-xe-oper:l2vpn-atom-service-type; + description + "Service Type"; + } + leaf service-name { + type string; + description + "Service name"; + } + leaf vc-status { + type l2vpn-ios-xe-oper:l2vpn-vc-status; + description + "VC status"; + } + leaf create-time { + type yang:date-and-time; + description + "L2VPN VC Create time"; + } + leaf last-status-change { + type yang:date-and-time; + description + "L2VPN VC last status change"; + } + leaf last-fsm-change { + type yang:date-and-time; + description + "L2VPN VC last FSM change"; + } + leaf last-error { + type l2vpn-ios-xe-oper:l2vpn-atom-mgr-vc-last-error; + description + "L2VPN VC last error"; + } + leaf output-if { + type string; + description + "L2VPN VC output interface"; + } + leaf-list label-stack { + type uint32; + ordered-by user; + description + "L2VPN imposed label stack"; + } + container preferred-path { + description + "L2VPN VC preferred path"; + uses l2vpn-ios-xe-oper:l2vpn-vc-pref-path; + } + leaf default-path { + type l2vpn-ios-xe-oper:l2vpn-def-path-state; + description + "L2VPN VC default path"; + } + container next-hop { + description + "L2VPN VC next hop"; + uses l2vpn-ios-xe-oper:l2vpn-vc-next-hop; + } + leaf lb-mode { + type l2vpn-ios-xe-oper:l2vpn-pw-lb-mode; + description + "L2VPN load-balance mode"; + } + leaf lb-flow-class { + type l2vpn-ios-xe-oper:l2vpn-pw-lb-fc; + description + "L2VPN load-balance flow classification mode"; + } + container service-info { + description + "L2VPN Service information"; + uses l2vpn-ios-xe-oper:l2vpn-service-info; + } + leaf signalling-proto { + type l2vpn-ios-xe-oper:l2vpn-atom-vc-protocol-type; + description + "Signalling protocol type"; + } + container signalling-info { + description + "Pseudowire signalling information"; + uses l2vpn-ios-xe-oper:signalling-proto-info; + } + leaf rx-sequence { + type l2vpn-ios-xe-oper:l2vpn-pw-sequence; + description + "Receive sequencing"; + } + leaf tx-sequence { + type l2vpn-ios-xe-oper:l2vpn-pw-sequence; + description + "Transmit sequencing"; + } + container pw-binding-data { + description + "Pseudowire binding data"; + uses l2vpn-ios-xe-oper:l2vpn-pw-data-params; + } + container dataplane-data { + description + "Dataplane Data"; + uses l2vpn-ios-xe-oper:l2vpn-atom-dataplane-params; + } + container vc-stats { + description + "VC Statistics"; + uses l2vpn-ios-xe-oper:l2vpn-atom-vc-statistics; + } + } + + grouping l2vpn-atom-key { + description + "L2VPN atom vc table key"; + leaf peer-address { + type inet:ipv4-address; + description + "L2VPN vc peer ipv4 address"; + } + leaf vcid { + type uint32; + description + "L2VPN virtual circuit id"; + } + } + + container l2vpn-oper-data { + config false; + description + "L2VPN operational data"; + container l2vpn-services { + presence "l2vpn-services"; + description + "L2VPN services"; + uses l2vpn-ios-xe-oper:l2vpn-services; + } + list l2vpn-atom-vc-info { + key "peer-address vcid"; + description + "L2VPN atom VC Info"; + uses l2vpn-ios-xe-oper:l2vpn-atom-key; + uses l2vpn-ios-xe-oper:l2vpn-atom-vc-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-pw-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-pw-events.yang new file mode 100644 index 000000000..ab39b0d8c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn-pw-events.yang @@ -0,0 +1,88 @@ +module Cisco-IOS-XE-l2vpn-pw-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2vpn-pw-events"; + prefix l2vpn-pw-ios-xe-events; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for L2VPN PW status change Notification. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef pw-vc-status { + type enumeration { + enum pw-vc-up { + value 0; + description + "L2VPN PW VC status Up"; + } + enum pw-vc-down { + value 1; + description + "L2VPN PW VC status DOWN"; + } + } + description + "PW VC status change"; + } + + grouping l2vpn-pw-vc-status-data { + description + "L2vpn PW status change"; + leaf vc-status { + type l2vpn-pw-ios-xe-events:pw-vc-status; + description + "VC status"; + } + leaf vc-id { + type uint32; + description + "VC Identifier"; + } + leaf peer-ip { + type inet:ip-address; + description + "Peer IP address"; + } + } + + notification l2vpn-pw-vc-status { + description + "L2vpn PW status change Notification"; + uses l2vpn-pw-ios-xe-events:l2vpn-pw-vc-status-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn.yang new file mode 100644 index 000000000..439da05b6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l2vpn.yang @@ -0,0 +1,4469 @@ +module Cisco-IOS-XE-l2vpn { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l2vpn"; + prefix ios-l2vpn; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-mpls { + prefix ios-mpls; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Layer 2 Virtual Private Network (L2VPN) Yang model. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Obsolete old models deprecated before 17.9 + - Add EVPN ESI LAG sync-only intra-es command"; + cisco-semver:module-version "4.6.0"; + } + revision 2024-03-01 { + description + "- Add support for L2VPN SDWAN instance commands + - Add new EVPN ethernet-segment commands + - Add EVPN ethernet-segment LACP Auto + - Obsolete old models deprecated before 17.6 + - Remove vlan-based instance and rename df-election to active-election + for L2VPN SDWAN"; + cisco-semver:module-version "4.5.0"; + } + revision 2023-11-01 { + description + "- Add support for profile related commands + - Add local-routing command for profile + - Add default value of the leafs defined under profile"; + cisco-semver:module-version "4.4.0"; + } + revision 2023-07-01 { + description + "- Added address resolution flooding suppression to per-EVI config + - Add support for profile related commands"; + cisco-semver:module-version "4.3.0"; + } + revision 2023-03-01 { + description + "- Removed must constraint on l2vpn xconnect interface"; + cisco-semver:module-version "4.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2022-07-01 { + description + "- Modified route-target from export leaf and import leaf to lists"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-03-01 { + description + "- Added l2vpn local connect config model + - Added explicit exit for l2vpn subcommands + - Allowed manual to be configured with encapsulation type mpls"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-11-01 { + description + "- Change node type to boolean for auto-route-target, tlv, + notification and route-watch leaf nodes + - Added l2vpn evpn vpws context + - Add l2vpn evpn multihoming proxy-mac-ip disable"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Added l2vpn evpn multicast advertise + - Various major fixes in l2vpn global, Vfi, Xconnect, Pseudowire and + Interface Pseudowire + - Adding mandatory true/must statement for l2vpn"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added re-originate route-type 5 + - Various minor fixes in pseudowire-class and l2tp-class + - Added policy container under segment-routing traffic-eng"; + cisco-semver:module-version "2.4.0"; + } + revision 2020-07-01 { + description + "- Added argument . to local-name() Xpath function + - Added IP local learn per-MAC limits + - Added encryption for l2tp-class"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added 'default-gateway advertise' to per-EVI config + - Added l2tp-class for l2tpv3 protocol under pseudowire-class + - Added 'cookie and password' to l2tp-class config + - Added 'xconnect' to Cellular interface config"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added EVPN state logging support + - Added pseudo wire config + - Fixed status for leaf nodes which parent nodes were in obsolete status"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added 'default-gateway advertise' to 'l2vpn evpn' global + - Added IP local learning to evpn global and instance + - Added segment routing options for preferred path + - Added global Ethernet segment support"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-06 { + description + "Added replication type to evpn instance"; + } + revision 2018-10-16 { + description + "Added l2tp-class and l2tpv2 changes for pseudowire-class"; + } + revision 2018-08-02 { + description + "Added interface ESI identifier type support"; + } + revision 2018-02-13 { + description + "Added Evpn support"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-10 { + description + "Add mtu for l2 vfi"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-pseudowire-flow-label { + container static { + description + "Enable flow labels even if not signaled by remote peer"; + presence "true"; + leaf advertise { + description + "Send Flow Label Sub-TLV"; + type empty; + } + } + } + + grouping config-interface-pseudowire-grouping { + leaf description { + description + "Interface specific description"; + type string; + } + leaf shutdown { + description + "Shutdown the selected interface"; + type empty; + } + leaf encapsulation-config { + description + "Data encapsulation method"; + must 'not(../source/template/type/pseudowire)'; + type enumeration { + enum l2tpv3; + enum mpls; + enum udp; + } + } + leaf encapsulation { + description + "Data encapsulation method"; + status obsolete; + type enumeration { + enum l2tpv2; + enum l2tpv3; + enum mpls; + enum udp; + } + } + container signaling { + description + "Signaling options"; + container protocol { + description + "Signaling protocol to use"; + choice protocol-options { + case ldp-case { + leaf ldp { + description + "Use LDP signaling"; + when "../../../encapsulation-config = 'mpls'"; + type empty; + } + } + case l2tpv3-case { + container l2tpv3 { + description + "Use L2TPV3 signaling"; + when "../../../encapsulation-config = 'l2tpv3'"; + presence "true"; + leaf l2tp-class-name { + description + "l2tp-class name"; + must '/ios:native/ios:l2tp-class[ios:name = current()]' { + error-message "Please make sure to configure l2tp-class before configuring this."; + } + type string; + } + } + } + case none-case { + leaf none { + description + "No signaling, use manually configured pseudowires"; + type empty; + } + } + } + } + } + container bandwidth { + description + "Set bandwidth informational parameter"; + when '../encapsulation-config'; + must 'bandwidth-value or (not(bandwidth-value) and not(persistent))' { + error-message "Please make sure to configure bandwidth-value"; + } + leaf bandwidth-value { + description + "Bandwidth in kilobits"; + type uint32 { + range "1..10000000"; + } + } + leaf persistent { + description + "Do not release bandwidth when pseudowire is down"; + type empty; + } + } + container label { + description + "MPLS local and remote pseudowire static labels"; + when "../encapsulation-config = 'mpls' and ../signaling/protocol/none"; + must '../neighbor and ((local and remote) or (not(local) and not(remote)))' { + error-message "Please make sure to configure neighbor first and also configure both local and remote"; + } + leaf local { + description + "Local pseudowire label"; + must '. > /ios:native/ios:mpls/ios-mpls:label/ios-mpls:range/ios-mpls:static/ios-mpls:min and . < /ios:native/ios:mpls/ios-mpls:label/ios-mpls:range/ios-mpls:static/ios-mpls:max'; + type uint32 { + range "16..1048575"; + } + } + leaf remote { + description + "Remote pseudowire label"; + type uint32 { + range "16..1048575"; + } + } + } + leaf mtu { + description + "set Maximum Transmission Unit"; + when '../encapsulation-config'; + type uint16 { + range "64..65535"; + } + } + container ip { + description + "Specify IP parameters"; + when "../encapsulation-config = 'l2tpv3' or ../encapsulation-config = 'udp'"; + container dfbit { + description + "DF bit options for tunnel"; + leaf set { + description + "Set the DF bit in the tunnel header"; + type empty; + } + } + container local { + description + "Specify local information"; + container interface { + description + "Source interface for pseudowire"; + uses ios-ifc:interface-grouping; + } + } + container pmtu { + description + "Enable Path MTU for tunnel"; + when "../../encapsulation-config = 'l2tpv3'"; + presence "true"; + leaf max { + description + "Maximum Path MTU for session"; + type uint16 { + range "68..65535"; + } + } + } + leaf protocol { + description + "Specific IP protocol number to use"; + when "../../encapsulation-config = 'l2tpv3'"; + type enumeration { + enum l2tp; + enum uti; + enum udp; + } + } + container tos { + description + "Specify ToS options for IP tunnel header"; + leaf reflect { + description + "Reflect IP payload ToS on tunnel"; + type empty; + } + leaf value { + description + "IP ToS value"; + type uint8; + } + } + leaf ttl { + description + "Specify TTL value for IP tunnel header"; + type uint8; + } + } + leaf control-word-config { + description + "Control-word options"; + when "../encapsulation-config = 'mpls'"; + type enumeration { + enum exclude; + enum include; + } + } + leaf control-word { + description + "Include control-word in pseudowire packets"; + when "../encapsulation = 'mpls'"; + status obsolete; + type empty; + } + leaf interworking { + description + "Interworking options for pseudowire"; + type enumeration { + enum ethernet; + enum ip; + enum vlan; + } + } + container load-balance { + description + "Loadbalancing for pseudowire"; + when "../encapsulation-config = 'mpls'"; + container flow { + description + "Enable flow based load balancing for pseudowire"; + presence "true"; + leaf ethernet { + description + "Ethernet pseudowire flow classification"; + type enumeration { + enum dst-mac; + enum src-dst-mac; + enum src-mac; + } + } + leaf ip { + description + "IP pseudowire flow classification"; + type enumeration { + enum dst-ip; + enum src-dst-ip; + enum src-ip; + } + } + } + container flow-label { + description + "Enable flow aware transport of pseudowire"; + choice flow-label-options { + case both-case { + container both { + description + "Enable FAT pseudowire in both directions"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + case receive-case { + container receive { + description + "Enable FAT pseudowire in the receive direction"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + case transmit-case { + container transmit { + description + "Enable FAT pseudowire in the transmit direction"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + } + } + } + container monitor { + description + "Active monitoring of xconnect peer"; + when "../encapsulation-config = 'mpls'"; + container peer { + description + "Active monitoring of xconnect peer"; + container bfd { + description + "BFD active monitoring for the xconnect peer"; + presence "true"; + container local { + description + "Specify local endpoint information to map to a BFD session"; + container interface { + description + "Source interface for pseudowire"; + uses ios-ifc:interface-grouping; + } + } + } + } + } + container neighbor { + description + "Neighbor options"; + must '(router-id and vc-id) or (not(router-id) and not(vc-id))' { + error-message "router-id and vc-id must be configured"; + } + leaf router-id { + description + "IP address of the peer PE"; + type inet:ipv4-address; + } + leaf vc-id { + description + "Virtual Circuit ID value"; + type uint64 { + range "1..4294967295"; + } + } + } + container preferred-path { + description + "Preferred path"; + when '../encapsulation-config'; + container interface { + description + "Output Interface"; + must 'Tunnel or Tunnel-tp or ((not(Tunnel) and not(disable-fallback)) or (not(Tunnel-tp) and not(disable-fallback)))' { + error-message "Please make sure to configure Tunnel or Tunnel-tp"; + } + choice Tunnel-Tunnel-tp { + case Tunnel-case { + leaf Tunnel { + description + "Tunnel interface"; + type uint64 { + range "0..2147483647"; + } + } + } + case Tunnel-tp-case { + leaf Tunnel-tp { + description + "MPLS Transport Profile interface"; + type uint16; + } + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container peer-container { + must 'peer or (not(peer) and not(disable-fallback))' { + error-message "Please make sure to configure peer "; + } + leaf peer { + description + "Peer Address"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container segment-routing { + description + "Segment-routing option"; + container traffic-eng { + description + "Segment-routing traffic engineering option"; + choice attribute-set-policy { + container attribute-set-v2 { + description + "Set MPLS traffic engineering attribute for auto-tunnel"; + must 'te-profile or (not(te-profile) and not(disable-fallback))' { + error-message "Please make sure to configure te-profile "; + } + leaf te-profile { + description + "MPLS traffic engineering profile name"; + type string; + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container policy-v2 { + description + "Set SR traffic engineering policy"; + must 'name or (not(name) and not(disable-fallback))' { + error-message "Please make sure to configure policy name"; + } + leaf name { + description + "SR traffic engineering policy name"; + type string; + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + } + container attribute-set { + status obsolete; + description + "Set MPLS traffic engineering attribute for auto-tunnel, + (OBSOLETE, use attribute-set-v2)"; + leaf te-profile { + status obsolete; + description + "MPLS traffic engineering profile name, + (OBSOLETE, use attribute-set-v2/te-profile)"; + type string; + } + leaf disable-fallback { + status obsolete; + description + "disable fall back to alternative route, + (OBSOLETE, use attribute-set-v2/disable-fallback)"; + type empty; + } + } + container policy { + status obsolete; + description + "Set SR traffic engineering policy, + (OBSOLETE, use policy-v2)"; + leaf name { + status obsolete; + description + "SR traffic engineering policy name, + (OBSOLETE, use policy-v2/name)"; + type string; + } + leaf disable-fallback { + status obsolete; + description + "disable fall back to alternative route, + (OBSOLETE, use policy-v2/fallback)"; + type empty; + } + } + } + } + } + container pseudowire { + description + "Pseudowire parameters"; + when "(../encapsulation-config = 'mpls') and (../signaling/protocol/none)"; + container type { + description + "Pseudowire type"; + leaf type-value { + description + "<1-17> Pseudowire Type in hex format + 1 Frame Relay DLCI (Martini Mode) + 2 ATM AAL5 service data unit virtual circuit connection transport + 3 ATM transparent cell transport + 4 Ethernet Tagged Mode + 5 Ethernet + 6 HDLC + 7 PPP + 8 SONET/SDH Circuit Emulation Service Over MPLS + 9 ATM n-to-one virtual circuit connection cell transport + A ATM n-to-one virtual path connection cell transport + B IP Layer2 Transport + C ATM one-to-one virtual circuit connection Cell Mode + D ATM one-to-one virtual path connection Cell Mode + E ATM AAL5 PDU virtual circuit connection transport + F Frame-Relay Port mode + 10 SONET/SDH Circuit Emulation over Packet + 11 Structure-agnostic E1 over Packet + 12 Structure-agnostic T1 (DS1) over Packet + 13 Structure-agnostic E3 over Packet + 14 Structure-agnostic T3 (DS3) over Packet + 15 Circuit Emulation Service over Packet Switched Network basic mode + 16 TDM-over-IP adaptation layer 1 Mode + 17 Circuit Emulation Service over Packet Switched Network TDM with CAS"; + type enumeration { + enum 1; + enum 2; + enum 3; + enum 4; + enum 5; + enum 6; + enum 7; + enum 8; + enum 9; + enum A; + enum B; + enum C; + enum D; + enum E; + enum F; + enum 10; + enum 11; + enum 12; + enum 13; + enum 14; + enum 15; + enum 16; + enum 17; + } + } + } + } + container protocol-mpls { + when "../encapsulation = 'mpls'"; + status obsolete; + leaf protocol { + description + "Signaling protocol to use"; + status obsolete; + type enumeration { + enum ldp; + enum none; + } + } + } + container protocol-l2tpv2 { + when "../encapsulation = 'l2tpv2'"; + status obsolete; + leaf protocol { + description + "Signaling protocol to use"; + status obsolete; + type enumeration { + enum l2tpv2; + enum none; + } + } + } + container protocol-l2tpv3 { + when "../encapsulation = 'l2tpv3'"; + status obsolete; + leaf protocol { + description + "Signaling protocol to use"; + status obsolete; + type enumeration { + enum l2tpv3; + enum l2tpv3ietf; + enum none; + } + } + } + container pseudowire-sequencing { + description + "Sequencing options for pseudowire"; + when "../encapsulation-config = 'mpls' or ../encapsulation-config = 'l2tpv3'"; + choice sequencing-option { + case both-case { + leaf both { + description + "Transmit and receive sequence numbers"; + type empty; + } + } + case receive-case { + leaf receive { + description + "Receive sequence numbers"; + type empty; + } + } + case resync-case { + leaf resync { + description + "Enable Rx sequencing out-of-order detection/recovery"; + when "../../encapsulation = 'l2tpv3'"; + status obsolete; + type uint16 { + range "5..65535"; + } + } + } + case transmit-case { + leaf transmit { + description + "Transmit sequence numbers"; + type empty; + } + } + } + leaf resync-v2 { + description + "Enable Rx sequencing out-of-order detection/recovery"; + when "(../both or ../receive or ../transmit) and (../../encapsulation-config = 'l2tpv3' or (../../encapsulation-config = 'mpls' and not(../../signaling/protocol/none)))"; + type uint16 { + range "5..65535"; + } + } + } + leaf sequencing { + description + "Sequencing options for pseudowire"; + when "../encapsulation = 'mpls' or ../encapsulation = 'l2tpv3'"; + status obsolete; + type enumeration { + enum both; + enum receive; + enum resync; + enum transmit; + } + } + container source { + description + "Get config from another source"; + container template { + description + "Get config from a template"; + container type { + description + "Type of the template"; + leaf pseudowire { + description + "Template customized interface pseudowire"; + must 'not(../../../../encapsulation-config)'; + type string; + } + } + } + } + container status { + description + "Pseudowire status capabilities"; + when '../encapsulation-config'; + presence "true"; + container admin-down { + description + "Admin down of Attachment Circuit"; + when "../../encapsulation-config = 'l2tpv3'"; + leaf disconnect { + description + "Disconnect the session"; + type empty; + } + } + container control-plane { + description + "control plane status events"; + leaf route-watch-boolean { + description + "listen on the control plane to route-watch events"; + type boolean; + default "true"; + } + leaf route-watch { + status obsolete; + description + "listen on the control plane to route-watch events + (OBSOLETE, use route-watch-boolean)"; + type empty; + } + } + container suppress { + description + "Suppress sending status message to the remote peer"; + when "../../encapsulation-config = 'mpls'"; + leaf standby { + description + "Suppress sending standby status message to the remote peer"; + type empty; + } + } + leaf decoupled { + description + "Reflect standby status of the attachment circuit as up on the pseudowire"; + type empty; + } + container peer { + description + "peer status configuration"; + container topology { + description + "change status behaviour based on peer topology"; + leaf dual-homed { + description + "Our peer(s) are participating in a redundant solution with some form of redundancyprotocol running between the peer routers, Only one of the remote peers will advertise astatus of UP at a time. The other will advertise standby. Change our configuration so we can send a status of UP on both active and redundant pseudowires"; + type empty; + } + } + } + container redundancy { + description + "Xconnect redundancy configuration"; + leaf master { + description + "Put the xconnect redundancy group on this node in master mode"; + type empty; + } + } + container protocol { + description + "Status protocol configuration"; + when "../../encapsulation-config = 'mpls'and ../../signaling/protocol/none"; + container notification { + description + "Status notification protocol"; + leaf static { + description + "Static PW OAM protocol"; + type leafref { + path "/ios:native/ios:l2vpn/ios-l2vpn:pseudowire/ios-l2vpn:static-oam/ios-l2vpn:class/ios-l2vpn:pw-nm"; + } + } + } + } + } + container switching { + description + "Switching TLV on/off for pseudowire"; + when "../encapsulation-config = 'mpls'"; + leaf tlv-boolean { + description + "Switching TLV on/off for pseudowire"; + type boolean; + default "true"; + } + leaf tlv { + status obsolete; + description + "Switching TLV on/off for pseudowire + (OBSOLETE, use tlv-boolean)"; + type empty; + } + } + container vc { + description + "Virtual Circuit options"; + when "../encapsulation-config = 'mpls'"; + leaf type { + description + "Virtual Circuit type to use"; + type enumeration { + enum ethernet; + enum vlan; + } + } + } + container udp { + description + "UDP port configuration commands"; + when "../encapsulation-config = 'udp'"; + container port { + description + "UDP port number"; + must '(local and remote) or (not(local) and not(remote))' { + error-message "Configure both local and remote"; + } + leaf local { + description + "Local UDP port number"; + type uint32 { + range "49152..57343"; + } + } + leaf remote { + description + "Remote UDP port number"; + type uint32 { + range "49152..57343"; + } + } + } + } + container tlv { + description + "TLV config command"; + when "../encapsulation-config = 'mpls' and ../signaling/protocol/none"; + leaf template { + must '/ios:native/ios:l2vpn/ios-l2vpn:pseudowire/ios-l2vpn:tlv/ios-l2vpn:template[ios-l2vpn:tlv-nm = current()]' { + error-message "Please make sure to configure l2vpn pseudowire tlv template before configuring this."; + } + description + "TLV template"; + type string; + } + list tlv-list { + must '(length and tlv-value-dec-fmt) or (length and dec) or (length and hexstr) or (length and str) or (not(length) and not(tlv-value-dec-fmt) and not(dec) and not(hexstr) and not(str))' { + error-message "tlv-length and tlv-length-choice must be configured"; + } + key "tlv-type"; + leaf tlv-type { + description + "TLV value in hex format"; + type uint8 { + range "1..40"; + } + } + uses config-l2vpn-pseudowire-tlv-template-tlv; + } + } + } + + grouping config-interface-efp-xconnect-grouping { + choice xconnect-choice { + container xconnect { + leaf address { + type inet:ipv4-address; + } + leaf vcid { + type uint32 { + range "1..4294967295"; + } + } + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + enum l2tpv3; + } + } + leaf manual { + description + "Manually configure L2TP session parameters"; + type empty; + } + leaf pw-class { + description + "Optional pseudowire-class to use for advanced configuration"; + type string; + } + leaf sequencing { + description + "Configure sequencing options for xconnect"; + when "../encapsulation = 'l2tpv3'"; + type enumeration { + enum both; + enum receive; + enum transmit; + } + } + container backup { + description + "Xconnect backup configuration commands"; + container peer { + description + "Backup pseudowire"; + leaf peer-router-ip-addr { + type inet:ipv4-address; + } + leaf vcid { + type uint32 { + range "1..4294967295"; + } + } + leaf pw-class { + type string; + } + leaf priority { + description + "Optional priority to use for backup pseudowire."; + type uint8 { + range "1..10"; + } + } + } + container delay { + description + "backup delay time"; + leaf min { + type uint32; + } + leaf max { + type uint32; + } + } + } + leaf mtu { + type uint32; + } + } + container xconnect-pw-class { + container xconnect { + description + "Xconnect commands"; + leaf address { + type inet:ipv4-address; + } + leaf vcid { + type uint32 { + range "1..4294967295"; + } + } + leaf pw-class { + description + "Pseudowire-class to use for encapsulation and protocol configuration"; + type string; + } + container udp { + description + "UDP"; + container port { + description + "UDP ports"; + leaf local { + type uint32; + } + leaf remote { + type uint32; + } + } + } + } + } + } + } + + grouping config-interface-virtual-ppp-pseudo-grouping { + container pseudowire { + description + "pseudowire commands"; + presence "true"; + leaf address { + description + "IP address of peer"; + type inet:ipv4-address; + } + leaf vcid { + description + "VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + enum l2tpv2; + enum l2tpv3; + } + } + leaf manual { + description + "Manually configure L2TP session parameters"; + when "../encapsulation = 'l2tpv3' or ../encapsulation = 'mpls'"; + type empty; + } + leaf sequence { + description + "Configure sequencing options for xconnect"; + when "../encapsulation = 'l2tpv3'"; + type enumeration { + enum both; + enum receive; + enum transmit; + } + } + leaf pw-class { + description + "Pseudowire-class to use for encapsulation and protocol configuration"; + type leafref { + path "/ios:native/ios:pseudowire-class/ios:name"; + } + must '/ios:native/ios:pseudowire-class[ios:name=current()]/ip/local/interface/interface-name' { + error-message "Please make sure pw-class is configured with local-interface and valid."; + } + } + container backup { + description + "pseudowire backup configuration commands"; + container peer { + description + "Backup pseudowire"; + leaf peer-router-ip-addr { + description + "IP address of peer"; + type inet:ipv4-address; + } + leaf vcid { + description + "Peer VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + leaf pw-class { + description + "Optional pseudowire-class to use for backup pseudowire"; + type leafref { + path "/ios:native/ios:pseudowire-class/ios:name"; + } + must '/ios:native/ios:pseudowire-class[ios:name=current()]/ip/local/interface/interface-name' { + error-message "Please make sure pw-class is configured with local-interface and valid."; + } + } + leaf priority { + description + "Optional priority to use for backup pseudowire."; + type uint8 { + range "1..10"; + } + } + } + container delay { + description + "backup delay time"; + presence "true"; + leaf enable { + description + "Enable Delay"; + type uint16 { + range "0..180"; + } + } + leaf disable { + description + "Disable Delay"; + type union { + type uint16 { + range "0..180"; + } + type enumeration { + enum never; + } + } + } + } + } + } + } + + grouping config-interface-xconnect-grouping { + container xconnect { + description + "Xconnect commands"; + leaf address { + type inet:ipv4-address; + } + leaf vcid { + type uint32 { + range "1..4294967295"; + } + } + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + enum l2tpv3; + } + } + leaf manual { + description + "Manually configure L2TP session parameters"; + when "../encapsulation = 'l2tpv3' or ../encapsulation = 'mpls'"; + type empty; + } + leaf sequence { + description + "Configure sequencing options for xconnect"; + when "../encapsulation = 'l2tpv3'"; + type enumeration { + enum both; + enum receive; + enum transmit; + } + } + leaf pw-class { + description + "Pseudowire-class to use for encapsulation and protocol configuration"; + type string; + } + } + } + + grouping config-l2-grouping { + list vfi { + if-feature "ios-features:l2vpn"; + description + "Configure a virtual forwarding instance"; + key "name"; + leaf name { + type string; + } + leaf mode { + type enumeration { + enum autodiscovery; + enum manual; + enum point-to-point; + } + } + leaf evc { + when "../mode = 'autodiscovery' or ../mode = 'manual'"; + type string; + } + container vpn { + description + "VPN configuration"; + when "../mode = 'autodiscovery' or ../mode = 'manual'"; + leaf id { + description + "VPN id"; + type uint64 { + range "1..4294967295"; + } + } + } + leaf bridge-domain { + description + "bridge-domain"; + type uint16 { + range "1..16384"; + } + } + leaf mtu { + description + "MTU size in bytes"; + type uint32; + } + list neighbor { + description + "VFI neighbor configuration"; + key "router-id"; + leaf router-id { + type inet:ipv4-address; + } + leaf vc-id { + type uint64 { + range "1..4294967295"; + } + } + leaf encapsulation { + description + "Connection encapsulation type"; + type enumeration { + enum l2tpv3; + enum mpls; + } + } + leaf pw-class { + description + "Pseudowire-class configuration"; + type string; + } + } + } + } + + grouping config-l2vpn-evpn-main { + container evpn { + description + "Ethernet Virtual Private Network (EVPN) configuration"; + container replication-type { + description + "Specify method for replicating BUM traffic"; + choice replication-type-choice { + leaf ingress { + description + "Ingress replication"; + type empty; + } + leaf static { + description + "Static replication"; + type empty; + } + leaf p2mp { + description + "p2mp replication"; + type empty; + } + leaf mp2mp { + description + "mp2mp replication"; + type empty; + } + } + } + container arp { + description + "arp parameters"; + status obsolete; + container flooding-suppression { + status obsolete; + leaf disable { + status obsolete; + type empty; + } + } + } + container mac { + description + "MAC parameters"; + container duplication { + description + "MAC duplication detection"; + leaf limit { + description + "Number of MAC moves within specified time interval"; + type uint16 { + range "2..1000"; + } + } + leaf time { + description + "MAC duplication timer"; + type uint32 { + range "10..36000"; + } + } + } + } + container ip { + description + "IP parameters"; + container duplication { + description + "IP duplication detection"; + leaf limit { + description + "Number of IP moves within specified time interval"; + type uint16 { + range "2..1000"; + } + } + leaf time { + description + "IP duplication timer"; + type uint32 { + range "10..36000"; + } + } + } + container local-learning { + description + "IP local learning"; + leaf disable { + description + "Disable IP local learning from dataplane"; + type empty; + } + container limit { + description + "Limit number of locally learned IP addresses that can be stored"; + container per-mac { + description + "Limit number of IP addresses that can be learned per-MAC"; + leaf ipv4 { + description + "Limit number of IPv4 addresses"; + type uint32 { + range "0..32000"; + } + default "4"; + } + leaf ipv6 { + description + "Limit number of IPv6 addresses"; + type uint32 { + range "0..32000"; + } + default "12"; + } + } + } + container time { + description + "IP local learning timer values"; + leaf down { + description + "Down time in minutes"; + type uint32 { + range "1..1440"; + } + default "10"; + } + leaf poll { + description + "Polling interval in minutes"; + type uint32 { + range "1..1440"; + } + default "1"; + } + leaf reachable { + description + "Reachable lifetime in minutes"; + type uint32 { + range "1..1440"; + } + default "5"; + } + leaf stale { + description + "Stale lifetime in minutes"; + type uint32 { + range "1..1440"; + } + default "30"; + } + } + } + } + container mpls { + description + "MPLS label config"; + container label { + container mode { + choice mode-choice { + leaf per-ce { + description + "Allocate one MPLS label per Customer Edge device"; + type empty; + } + leaf per-evi { + description + "Allocate one MPLS label per EVPN Instance"; + type empty; + } + leaf per-bd { + description + "Allocate one MPLS label per Bridge Domain"; + type empty; + } + } + } + } + } + container multihoming { + description + "Evpn multihoming config"; + container peering { + description + "BGP peering parameters"; + leaf adjacent { + description + "multihoming adjacent disable"; + type empty; + } + } + container device-id { + description + "EVPN Device ID for Port-Channel, default as 0000.5e00.0101"; + leaf id { + description + "Device ID (System MAC)"; + type string { + pattern '[A-Fa-f0-9:.]+'; + } + } + } + container ethernet-segment { + description + "Ethernet-Segment options"; + container auto { + description + "Ethernet-Segment auto-config options"; + container id-range { + description + "Ethernet-Segment auto-config local discriminator range, default: 64512-65535"; + leaf start { + description + "Ethernet-Segment local discriminator range start"; + type uint16 { + range "1..65535"; + } + } + leaf end { + description + "Ethernet-Segment local discriminator range end"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container aliasing { + leaf disable { + type empty; + } + } + container proxy-mac-ip { + leaf disable { + description + "Disable multihoming proxy MAC/IP routes"; + type empty; + } + } + } + container router-id { + description + "Select interface to prefer for evpn router-id"; + container interface { + uses ios-ifc:interface-grouping; + } + } + container default-gateway { + description + "EVPN Default Gateway parameters"; + leaf advertise { + description + "Advertise Default Gateway MAC/IP routes"; + type empty; + } + } + container logging { + description + "Configure logging flags"; + container vpws { + description + "Configure EVPN VPWS logging flags"; + leaf vc-state { + description + "vc-state transition logging"; + type empty; + } + } + container peer { + description + "Configure EVPN peer logging"; + leaf state { + description + "Peer state transition logging"; + type empty; + } + } + } + container route-target { + description + "Route Target VPN Extended Communities"; + container auto { + description + "Automatically set a route-target"; + leaf vni { + description + "Set vni-based route-target"; + type empty; + } + } + } + container flooding-suppression { + description + "Suppress flooding of broadcast, multicast, and/or unknown unicast packets"; + container address-resolution { + description + "Suppress flooding of Address Resolution and Neighbor Discovery Protocol packets"; + leaf disable { + description + "Disable flooding suppression"; + type empty; + } + } + } + container multicast { + description + "Multicast parameters"; + leaf advertise { + description + "Enable and advertise L2 multicast capability"; + type empty; + } + leaf sync-only { + description + "Only advertise multicast join/leave sync routes"; + when '../advertise'; + type empty; + } + leaf intra-es { + description + "Enable multicast intra-ES tunnel"; + when '../sync-only'; + type empty; + } + } + container anycast-gateway { + description + "Anycast Gateway"; + container mac { + description + "Enable Anycast Gateway MAC"; + leaf auto { + description + "Enable Auto Anycast Gateway MAC"; + type empty; + } + } + } + } + } + + grouping config-l2vpn-evpn-instance-sub-cmd { + container replication-type { + description + "Specify method for replicating BUM traffic"; + choice replication-type-choice { + case ingress-case { + leaf ingress { + description + "Ingress replication"; + type empty; + } + } + case static-case { + leaf static { + description + "Static replication"; + type empty; + } + } + case static-p2mp { + leaf p2mp { + description + "p2mp replication"; + type empty; + } + } + case static-mp2mp { + leaf mp2mp { + description + "mp2mp replication"; + type empty; + } + } + } + } + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum vxlan; + enum mpls; + } + } + container auto-route-target_cont { + leaf auto-route-target-boolean { + description + "Automatically set a route-target"; + type boolean; + default "true"; + } + leaf auto-route-target { + status obsolete; + description + "Automatically set a route-target + (OBSOLETE, use auto-route-target-boolean)"; + type empty; + } + } + container rd { + description + "EVPN Route Distinguisher"; + leaf rd-value { + description + "ASN:nn or IP-address:nn"; + type string; + } + } + container route-target-v2 { + description + "Route Target VPN Extended Communities"; + list export { + key "rt-value"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type string { + pattern '[0-9\.:]+[0-9]+'; + } + } + } + list import { + key "rt-value"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type string { + pattern '[0-9\.:]+[0-9]+'; + } + } + } + } + container route-target { + status obsolete; + description + "Route Target VPN Extended Communities (Obsolete, use route-target-entry)"; + leaf rt-value { + status obsolete; + description + "ASN:nn or IP-address:nn"; + type string; + } + container both { + status obsolete; + description + "Both import and export Target-VPN community"; + leaf rt-value { + status obsolete; + description + "ASN:nn or IP-address:nn"; + type string; + } + } + container export { + status obsolete; + leaf rt-value { + status obsolete; + description + "ASN:nn or IP-address:nn (Obsolete, use rt-value-entry)"; + type string; + } + } + container import { + status obsolete; + description + "Import Target-VPN community (Obsolete, use import-entry)"; + leaf rt-value { + status obsolete; + description + "ASN:nn or IP-address:nn (Obsolete, use rt-value-entry)"; + type string; + } + } + } + container ip { + description + "IP parameters"; + container local-learning { + description + "IP local learning"; + choice local-learning-choice { + case disable-case { + leaf disable { + description + "Disable IP local learning from dataplane"; + type empty; + } + } + case enable-case { + leaf enable { + description + "Enable IP local learning from dataplane"; + type empty; + } + } + } + } + } + container default-gateway { + description + "Default Gateway parameters"; + leaf advertise { + description + "Advertise Default Gateway MAC/IP routes"; + type enumeration { + enum disable; + enum enable; + } + } + } + container re-originate { + description + "Re-originate route"; + when "../encapsulation = 'vxlan'"; + leaf route-type5 { + description + "Re-originate route-type 5"; + type empty; + } + } + container multicast { + description + "Multicast parameters"; + leaf advertise { + description + "Advertise L2 multicast capability"; + type enumeration { + enum disable; + enum enable; + enum sync-only; + } + } + leaf intra-es { + description + "Enable multicast intra-ES tunnel"; + when "../advertise = 'sync-only'"; + type empty; + } + } + container flooding-suppression { + description + "Suppress flooding of broadcast, multicast, and/or unknown unicast packets"; + must '../../vlan-aware or ../../vlan-based or ../../vlan-bundle' { + error-message "Only configurable when EVPN service type is vlan-aware, vlan-based, or vlan-bundle"; + } + leaf address-resolution { + description + "Suppress flooding of Address Resolution and Neighbor Discovery Protocol packets"; + type enumeration { + enum disable; + enum enable; + } + } + } + container vpws { + description + "EVPN Virtual Private Wire Service configuration"; + list context { + description + "EVPN VPWS context"; + key "name"; + leaf name { + description + "EVPN VPWS context name"; + type string; + } + container member { + description + "EVPN member configuration"; + list interface { + key "interface"; + leaf interface { + description + "Interface name"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + choice config-interface { + case config-interface-service-instance { + list service-instance-config { + description + "Ethernet Service Instance"; + key "service-instance-id"; + leaf service-instance-id { + description + "Service Instance ID"; + type uint16 { + range "1..16384"; + } + } + } + } + } + } + } + container remote { + description + "L2VPN remote peer configuration commands"; + container link { + description + "Link information"; + container failure { + description + "Failure information"; + leaf notification { + description + "Notify in case of remote link failure"; + type boolean; + default "true"; + } + } + } + } + container service { + description + "VPWS Service Instance"; + leaf target { + description + "Target (remote) VPWS Service Instance identifier"; + type uint32 { + range "1..16777215"; + } + } + leaf source { + description + "Source (local) VPWS Service Instance identifier"; + type uint32 { + range "1..16777215"; + } + } + } + container preferred-path { + description + "Preferred path"; + container segment-routing { + description + "Segment-routing option"; + container traffic-eng { + description + "Segment-routing traffic engineering option"; + container policy { + description + "Set SR traffic engineering policy"; + leaf name { + description + "SR traffic engineering policy name"; + type string; + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + } + } + } + leaf shutdown { + description + "Shut down the EVPN VPWS service"; + type empty; + } + } + } + } + + grouping config-evpn-ethernet-segment-global { + container evpn-ethernet-segment { + container evpn { + list ethernet-segment { + description + "Ethernet segment local discriminator value"; + key "es-value"; + leaf es-value { + description + "Ethernet segment local discriminator value"; + type uint16 { + range "1..65535"; + } + } + container df-election { + description + "Designated forwarder election parameters"; + leaf wait-time { + type uint8 { + range "1..10"; + } + default "3"; + } + } + container redundancy { + description + "Multi-homing redundancy parameters"; + choice redundancy-choice { + leaf all-active { + type empty; + } + leaf single-active { + type empty; + } + } + } + container identifier { + description + "Ethernet Segment Identifier"; + list type { + description + "Ethernet Segment Identifier type"; + key "identifier-type"; + leaf identifier-type { + type uint8 { + range "0 | 3"; + } + } + choice esi-type-choice { + leaf hex-string { + when "../identifier-type = '0'"; + description + "H.H.H.H.H.H.H.H.H \t9-octet ESI value in hex"; + type string { + pattern '([0-9a-fA-F]{1,2}(.[0-9a-fA-F]{1,2}){8})'; + } + } + leaf system-mac { + when "../identifier-type = '3'"; + description + "System MAC address for generating the ESI value"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + } + } + } + + grouping config-l2vpn-evpn-profile-sub-cmd { + container default-gateway { + description + "Default Gateway parameters"; + leaf advertise { + description + "Advertise Default Gateway MAC/IP routes"; + type enumeration { + enum disable; + enum enable; + } + } + } + container flooding-suppression { + description + "Suppress flooding of broadcast, multicast, and/or unknown unicast packets"; + leaf address-resolution { + description + "Suppress flooding of Address Resolution and Neighbor Discovery Protocol packets"; + type enumeration { + enum disable; + enum enable; + } + } + } + leaf encapsulation { + description + "EVPN encap type"; + type enumeration { + enum vxlan; + enum mpls; + } + default "vxlan"; + } + leaf evi-base { + description + "Evpn instance identifier base"; + type uint16 { + range "0..65535"; + } + default "0"; + } + container ip { + description + "IP parameters"; + leaf local-learning { + description + "IP local learning"; + type enumeration { + enum disable; + enum enable; + } + } + } + leaf l2vni-base { + description + "VxLAN Layer 2 VNI base"; + type uint32 { + range "4096..16777215"; + } + default "20000"; + } + container multicast { + description + "Multicast parameters"; + leaf advertise { + description + "Advertise L2 multicast capability"; + type enumeration { + enum disable; + enum enable; + enum sync-only; + } + } + leaf intra-es { + description + "Enable multicast intra-ES tunnel"; + when "../advertise = 'sync-only'"; + type empty; + } + } + container re-originate { + description + "Re-originate route"; + when "../encapsulation = 'vxlan'"; + leaf route-type5 { + description + "Re-originate route-type 5"; + type empty; + } + } + leaf local-routing { + description + "Vxlan centralized gateway forwarding for routed traffic"; + type enumeration { + enum disable; + enum enable; + } + } + container replication-type { + description + "EVPN Replication Type"; + choice replication-type-choice { + default "ingress-case"; + case ingress-case { + leaf ingress-replication { + type enumeration { + enum ingress; + } + default "ingress"; + } + } + case static-case { + container static { + choice address-prefix-choice { + container address { + leaf ipv4-address { + type inet:ipv4-address; + } + leaf ipv6-address { + type inet:ipv6-address; + } + } + container prefix { + leaf ipv4-prefix { + type inet:ipv4-prefix; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + } + } + } + } + } + } + } + } + + grouping config-l2vpn-evpn-profile { + container l2-profile { + description + "EVPN Layer 2 Profile"; + container evpn { + container profile { + container default { + description + "EVPN L2 default vlan-based profile"; + presence "true"; + uses config-l2vpn-evpn-profile-sub-cmd; + } + list profile-name-list { + key "name"; + leaf name { + description + "EVPN L2 profile name"; + type string; + } + uses config-l2vpn-evpn-profile-sub-cmd; + } + } + } + } + } + + grouping config-l2vpn-evpn-instance { + container evpn-instance { + container evpn { + container instance { + list instance { + description + "evpn instance"; + key "evpn-instance-num"; + leaf evpn-instance-num { + description + "evpn instance number"; + type uint16 { + range "1..65535"; + } + } + choice evpn-service-type { + description + "Evpn Service type."; + container point-to-point { + presence "true"; + uses config-l2vpn-evpn-instance-sub-cmd; + } + container vlan-aware { + presence "true"; + uses config-l2vpn-evpn-instance-sub-cmd; + } + container vlan-based { + presence "true"; + uses config-l2vpn-evpn-instance-sub-cmd; + } + container vlan-bundle { + presence "true"; + uses config-l2vpn-evpn-instance-sub-cmd; + } + } + } + } + } + } + } + + grouping config-l2vpn-sdwan-main-duplication-grouping { + container duplication { + description + "Duplication detection"; + leaf limit { + description + "The number of moves within a specified time interval, default is 5."; + must '../time' { + error-message "%Error: Must both configure limit and time."; + } + type uint16 { + range "2..1000"; + } + } + leaf time { + description + "The duplication timer, unit is second, default is 180."; + must '../limit' { + error-message "%Error: Must both configure limit and time."; + } + type uint32 { + range "10..36000"; + } + } + } + } + + grouping config-l2vpn-sdwan-main { + container sdwan { + description + "Global l2vpn sdwan mode configuration"; + container ip { + description + "IP parameters"; + uses config-l2vpn-sdwan-main-duplication-grouping; + container local-learning { + description + "IP local learning"; + container limit { + description + "Limit number of locally learned IP addresses that can be stored"; + container per-mac { + description + "Limit number of IP addresses that can be learned per-MAC"; + leaf ipv4 { + description + "Limit number of IPv4 addresses"; + type uint32 { + range "0..32000"; + } + default "4"; + } + leaf ipv6 { + description + "Limit number of IPv6 addresses"; + type uint32 { + range "0..32000"; + } + default "12"; + } + } + } + container time { + description + "IP local learning timer values"; + leaf down { + description + "Down time in minutes"; + type uint32 { + range "1..1440"; + } + default "10"; + } + leaf poll { + description + "Polling interval in minutes"; + type uint32 { + range "1..1440"; + } + default "1"; + } + leaf reachable { + description + "Reachable lifetime in minutes"; + type uint32 { + range "1..1440"; + } + default "5"; + } + leaf stale { + description + "Stale lifetime in minutes"; + type uint32 { + range "1..1440"; + } + default "30"; + } + } + } + } + container mac { + description + "MAC parameters"; + uses config-l2vpn-sdwan-main-duplication-grouping; + } + } + } + + grouping config-l2vpn-sdwan-instance-multipoint-grouping { + container ip { + description + "IP parameters"; + leaf local-learning { + description + "IP local learning"; + type enumeration { + enum enable { + value 1; + } + enum disable; + } + default "enable"; + } + } + leaf flooding-suppression { + description + "Suppress flooding of broadcast, multicast, and/or unknown unicast packets"; + type enumeration { + enum enable { + value 1; + } + enum disable; + } + default "enable"; + } + } + + grouping config-l2vpn-sdwan-instance-default-grouping { + container active-election { + description + "Active election parameters"; + leaf wait-time { + description + "Wait time to become active. Unit is second, default is 300."; + type uint32 { + range "1..3600"; + } + default "300"; + } + } + } + + grouping config-l2vpn-sdwan-instance { + container sdwan-instance { + container sdwan { + list instance { + description + "L2VPN SDWAN instance"; + key "sdwan-instance-num"; + leaf sdwan-instance-num { + description + "L2VPN SDWAN instance number, value is in <1..65531>."; + must 'not (/ios:native/ios:vrf/ios:definition[ios:name=string(current())])' { + error-message "sdwan instance id and vrf id can not be same"; + } + type uint32 { + range "1..65531"; + } + } + choice service-type-choice { + description + "The choice of service type"; + case point-to-point-case { + container point-to-point { + description + "Service type as point to point"; + presence "true"; + uses config-l2vpn-sdwan-instance-default-grouping; + } + } + case multipoint-case { + container multipoint { + description + "Service type as point to multipoint"; + presence "true"; + uses config-l2vpn-sdwan-instance-multipoint-grouping; + uses config-l2vpn-sdwan-instance-default-grouping; + } + } + } + } + } + } + } + + grouping config-l2vpn-xconnect-member-group-priority { + leaf group-name { + description + "Configure the cross connect member redundancy group"; + type string; + } + leaf priority { + description + "Configure the cross connect member priority"; + type uint8 { + range "0..16"; + } + } + } + + grouping config-l2vpn-xconnect-member-encapsulation-template { + choice encapsulation-template { + case encapsulation-case { + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + } + } + } + case template-case { + leaf template { + description + "template to use for encapsulation and protocol configuration"; + type string; + } + } + } + } + + grouping config-l2vpn-pseudowire-tlv-template-tlv { + leaf length { + description + "TLV length"; + type uint8 { + range "1..255"; + } + } + choice tlv-length-choice { + leaf tlv-value-dec-fmt { + description + "TLV value in decimal format"; + type uint32 { + range "1..4294967295"; + } + } + leaf dec { + description + "TLV value in decimal"; + type uint32 { + range "1..4294967295"; + } + } + leaf hexstr { + description + "TLV value in hex string"; + type string { + pattern '([A-Fa-f0-9][A-Fa-f0-9])+'; + } + } + leaf str { + description + "TLV value in string"; + type string; + } + } + } + + grouping config-l2vpn-vfi-member-encapsulation-template { + choice member-encapsulation { + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum mpls; + } + } + leaf template { + description + "template to use for encapsulation and protocol configuration"; + type string; + } + } + } + + grouping config-l2vpn-vfi-bgp-signaling-rd-rt { + leaf auto-route-target-boolean { + description + "Automatically set a route-target"; + type boolean; + default "true"; + } + leaf auto-route-target { + status obsolete; + description + "Automatically set a route-target + (OBSOLETE, use auto-route-target-boolean)"; + type empty; + } + leaf rd { + description + "ASN:nn, IP-address:nn or 4BASN:nn VPN Route Distinguisher"; + type ios-types:asn-ip-type; + } + container route-target { + description + "Route Target VPN Extended Communities"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type ios-types:asn-ip-type; + } + list both { + key "rt-value"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type ios-types:asn-ip-type; + } + } + list export { + key "rt-value"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type ios-types:asn-ip-type; + } + } + list import { + key "rt-value"; + leaf rt-value { + description + "ASN:nn or IP-address:nn"; + type string; + } + } + } + } + + grouping config-l2vpn-grouping { + container pseudowire { + description + "Global pseudowire parameters"; + container static-oam { + description + "Static PW OAM configuration"; + list class { + description + "Static PW OAM class configuration"; + key "pw-nm"; + leaf pw-nm { + type string; + } + container timeout { + description + "timeout configurations"; + container refresh { + description + "refresh timeout configurations"; + container send { + description + "refresh send timeout configuration"; + leaf interval { + type uint32 { + range "1..4095"; + } + } + } + leaf ack { + description + "refresh ack/receive timeout configuration"; + type uint16 { + range "0..4095"; + } + } + } + } + container ack { + description + "acknowledgement configuration"; + leaf enable { + description + "Enable acknowledgement"; + type empty; + } + } + leaf keepalive { + description + "keepalive configuration"; + type uint32 { + range "1..4095"; + } + } + leaf ttl { + description + "TTL value for multi-segment PW OAM data"; + type uint8 { + range "1..255"; + } + } + } + } + container tlv { + description + "Global PW TLV configuration"; + list template { + description + "PW TLV Template Keyword"; + key "tlv-nm"; + leaf tlv-nm { + type string; + } + container tlv-config { + description + "TLV config command"; + list tlv-list { + must '(length and tlv-value-dec-fmt) or (length and dec) or (length and hexstr) or (length and str) or (not(length) and not(tlv-value-dec-fmt) and not(dec) and not(hexstr) and not(str))' { + error-message "tlv-length and tlv-length-choice must be configured"; + } + key "tlv-type"; + leaf tlv-type { + description + "TLV value in hex format"; + type uint8 { + range "1..40"; + } + } + uses config-l2vpn-pseudowire-tlv-template-tlv; + } + } + container tlv { + description + "TLV config command"; + status obsolete; + container tlv-type { + status obsolete; + leaf type { + status obsolete; + type uint8 { + range "1..40"; + } + } + } + container tlv-description { + status obsolete; + leaf description { + status obsolete; + type string; + } + } + } + } + } + container group { + description + "Configure pseudowire group parameters"; + status obsolete; + leaf status { + description + "Send pseudowire group status messages"; + status obsolete; + type empty; + } + } + leaf routing { + description + "Configure l2vpn pseudowire routing"; + status obsolete; + type empty; + } + } + container vfi { + description + "Configure a Virtual Forwarding Instance (VFI)"; + list context { + description + "Layer2 VPN Context"; + key "vfi-nm"; + leaf vfi-nm { + description + "Virtual Forwarding Instance (VFI) name"; + type string; + } + container autodiscovery { + description + "Auto Discovery mode"; + container bgp { + description + "Use BGP for neighbor discovery"; + container signaling { + description + "Signaling protocol to use"; + container bgp { + description + "Use BGP signaling and discovery"; + presence "true"; + when 'not(../../../../member/ipv4 or ../../../../member/pseudowire)'; + must 'not(../../../../forward/permit/l2protocol/all)' { + error-message "Please unconfigure forward permit l2protocol all before configuring this"; + } + leaf template { + description + "Template to be used for autodiscovered pseudowires"; + type string; + } + container control-word { + description + "Control-word options"; + choice exclude-include { + container exclude { + description + "Exclude control-word in pseudowire packets"; + presence "true"; + leaf negotiate { + description + "Negotiate control-word in pseudowire packets"; + type empty; + } + } + container include { + description + "Include control-word in pseudowire packets"; + presence "true"; + leaf negotiate { + description + "Negotiate control-word in pseudowire packets"; + type empty; + } + } + } + } + container ve { + description + "Specify VPLS Edge device parameters"; + leaf id { + description + "Specify VPLS Edge device ID"; + type uint16 { + range "1..16384"; + } + } + leaf range { + description + "Specify VPLS Edge device ID range"; + type uint8 { + range "11..100"; + } + } + } + uses config-l2vpn-vfi-bgp-signaling-rd-rt; + } + container ldp { + description + "Use LDP signaling"; + presence "true"; + must 'not(../../../../forward/permit/l2protocol/all)' { + error-message "Please unconfigure forward permit l2protocol all before configuring this"; + } + leaf template { + description + "Template to be used for autodiscovered pseudowires"; + type string; + } + leaf vpls-id { + description + "Specify VPLS-ID Extended Community"; + type ios-types:asn-ip-type; + } + uses config-l2vpn-vfi-bgp-signaling-rd-rt; + } + } + } + } + container vpn { + description + "VPN configuration"; + leaf id { + description + "VPN id value"; + type uint32 { + range "1..4294967295"; + } + } + } + container evpn { + description + "Ethernet Virtual Private Network (EVPN)"; + container ethernet-segment { + description + "Ethernet segment local discriminator value"; + leaf es-value { + description + "Ethernet segment local discriminator value"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf evc { + description + "EVC Name"; + type string { + length "1..32"; + } + } + leaf mtu { + description + "set Maximum Transmission Unit"; + type uint16 { + range "1500..9180"; + } + } + leaf shutdown { + description + "Shutdown VFI"; + type empty; + } + container status { + description + "Pseudowire status capabilities"; + leaf decoupled { + description + "Reflect standby status of the attachment circuit as up on the pseudowire"; + type empty; + } + } + container forward { + description + "Specify forwarding of types of traffic"; + when '../vpn/id and (not(../autodiscovery/bgp/signaling/bgp) or not(../autodiscovery/bgp/signaling/ldp))'; + container permit { + description + "Permit specific traffic type"; + container l2protocol { + description + "L2 Protocol BPDUs"; + leaf all { + description + "All types"; + type empty; + } + } + } + } + container l2protocol { + description + "Configure l2 control protocol processing"; + container forward { + description + "forward L2 control protocol packets as data"; + leaf R4 { + description + "Reserved Protocol using DA Mac 0180 c200 0004"; + type empty; + } + leaf R5 { + description + "Reserved Protocol using DA Mac 0180 c200 0005"; + type empty; + } + leaf R6 { + description + "Reserved Protocol using DA Mac 0180 c200 0006"; + type empty; + } + leaf R8 { + description + "Reserved Protocol using DA Mac 0180 c200 0008"; + type empty; + } + leaf R9 { + description + "Reserved Protocol using DA Mac 0180 c200 0009"; + type empty; + } + leaf RA { + description + "Reserved Protocol using DA Mac 0180 c200 000a"; + type empty; + } + leaf RB { + description + "Reserved Protocol using DA Mac 0180 c200 000b"; + type empty; + } + leaf RC { + description + "Reserved Protocol using DA Mac 0180 c200 000c"; + type empty; + } + leaf RD { + description + "Reserved Protocol using DA Mac 0180 c200 000d"; + type empty; + } + leaf RF { + description + "Reserved Protocol using DA Mac 0180 c200 000f"; + type empty; + } + leaf cdp { + description + "Cisco Discovery Protocol"; + type empty; + } + leaf dot1x { + description + "Dot1x Protocol"; + type empty; + } + leaf dtp { + description + "Dynamic Trunking Protocol"; + type empty; + } + leaf elmi { + description + "ELMI Protocol"; + type empty; + } + leaf esmc { + description + "ESMC Protocol"; + type empty; + } + leaf lacp { + description + "LACP Protocol"; + type empty; + } + leaf lldp { + description + "Link Layer Discovery Protocol"; + type empty; + } + leaf pagp { + description + "Port Aggregation Protocol"; + type empty; + } + leaf ptppd { + description + "PTP Peer Delay Protocol"; + type empty; + } + leaf stp { + description + "Spanning Tree Protocol"; + type empty; + } + leaf udld { + description + "UDLD Protocol"; + type empty; + } + leaf vtp { + description + "Vlan Trunking Protocol"; + type empty; + } + } + } + container member { + description + "VFI member configuration"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of the peer"; + type inet:ipv4-address; + } + list config-mem-vcid { + key "mem-vcid"; + leaf mem-vcid { + description + "Enter VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + uses config-l2vpn-vfi-member-encapsulation-template; + } + uses config-l2vpn-vfi-member-encapsulation-template; + } + list pseudowire { + description + "Pseudowire interface"; + key "pseudowire-number"; + leaf pseudowire-number { + type uint32 { + range "1..100000"; + } + } + leaf ipv4 { + description + "IP address of the peer"; + type inet:ipv4-address; + } + leaf mem-vcid { + description + "Enter VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + uses config-l2vpn-vfi-member-encapsulation-template; + } + } + } + } + container xconnect { + description + "Configure a cross connect"; + list context { + description + "Layer2 VPN Context"; + key "xc-name"; + leaf xc-name { + description + "Configure the cross connect name"; + type string; + } + container xc-Mode-config-xconnect { + leaf description { + description + "Description string"; + type string; + } + container interworking { + description + "Interworking options for the cross connect"; + leaf ethernet { + description + "Ethernet interworking"; + type empty; + } + leaf ip { + description + "IP interworking"; + type empty; + } + leaf vlan { + description + "VLAN interworking"; + type empty; + } + leaf ipv6 { + description + "IPV6 interworking"; + type empty; + } + } + container match { + description + "Set Xconnect packet matching criteria"; + container protocol { + description + "Protocol matching criterion"; + leaf ipv6 { + description + "IPV6"; + type empty; + } + } + } + container member { + description + "Configure the cross connect member"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of the peer"; + type inet:ipv4-address; + } + list config-ipv4 { + key "mem-vcid"; + leaf mem-vcid { + description + "Enter VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + uses config-l2vpn-xconnect-member-encapsulation-template; + uses config-l2vpn-xconnect-member-group-priority; + } + leaf mem-vcid { + description + "Enter VC ID value"; + status obsolete; + type uint32 { + range "1..4294967295"; + } + } + } + list pseudowire { + description + "Pseudowire interface"; + key "pseudowire-number"; + leaf pseudowire-number { + type uint32 { + range "1..100000"; + } + } + choice config-pseudowire { + case config-pseudowire-peer { + container ipv4 { + leaf ipv4 { + description + "IP address of the peer"; + type inet:ipv4-address; + } + leaf mem-vcid { + description + "Enter VC ID value"; + type uint32 { + range "1..4294967295"; + } + } + uses config-l2vpn-xconnect-member-encapsulation-template; + uses config-l2vpn-xconnect-member-group-priority; + } + } + case config-pseudowire-no-peer { + container pseudowire-group-priority { + uses config-l2vpn-xconnect-member-group-priority; + } + } + } + } + list interface { + key "interface"; + leaf interface { + description + "Interface name"; + type string; + } + choice config-interface { + case config-interface-service-instance { + list service-instance-config { + description + "Ethernet Service Instance"; + key "service-instance-id"; + leaf service-instance-id { + description + "Service Instance ID"; + type uint16 { + range "1..8000"; + } + } + container circuit-type { + description + "Configure the circuit type"; + leaf ethernet { + description + "Ethernet"; + type empty; + } + uses config-l2vpn-xconnect-member-group-priority; + } + uses config-l2vpn-xconnect-member-group-priority; + } + } + case config-interface-no-service-instance { + uses config-l2vpn-xconnect-member-group-priority; + } + } + leaf group { + description + "Configure the cross connect member redundancy group"; + status obsolete; + type empty; + } + leaf service-instance { + description + "Ethernet Service Instance"; + status obsolete; + type empty; + } + } + leaf Vlan { + description + "Vlan interface number"; + status obsolete; + type uint16 { + range "1..4094"; + } + } + } + container redundancy { + description + "Xconnect redundancy information"; + leaf delay { + description + "Enable delay"; + status obsolete; + type uint8 { + range "0..180"; + } + } + list delay-config { + must '(delay and disable-delay) or (delay and never) or (not(delay) and not(disable-delay)) or (not(delay) and not(never))' { + error-message "Please make sure to configure enable-delay along with disable-delay/never "; + } + key "group"; + leaf group { + description + "Configure the cross connect member redundancy group"; + type string; + } + leaf delay { + description + "Enable delay"; + type uint8 { + range "0..180"; + } + } + choice disable-delay-never { + leaf disable-delay { + description + "Disable delay"; + type uint8 { + range "0..180"; + } + } + leaf never { + description + "Disallow disable"; + type empty; + } + } + } + container predictive { + description + "Switch over to backup member without waiting for UP status"; + leaf disabled { + description + "Disable predictive switchover capability for this xconnect"; + type empty; + } + leaf enabled { + description + "Enable predictive switchover capability for this xconnect"; + type empty; + } + } + container all-active { + description + "Switch packets over all redundant members"; + leaf replicate { + description + "Transmit identical copies of each packet over all redundant members"; + type empty; + } + } + } + container remote { + description + "L2VPN remote peer configuration commands"; + container circuit { + description + "Remote peer circuit configuration"; + leaf id-config { + description + "Remote peer circuit ID"; + type uint16 { + range "1..4095"; + } + } + leaf id { + description + "Remote peer circuit ID"; + status obsolete; + type empty; + } + } + container link { + description + "Link information"; + container failure-v2 { + description + "Failure information"; + leaf notification-boolean { + description + "Notify in case of remote link failure"; + type boolean; + default "true"; + } + leaf notification { + status obsolete; + description + "Notify in case of remote link failure + (OBSOLETE, use notification-boolean)"; + type empty; + } + } + leaf failure { + description + "Failure information"; + status obsolete; + type empty; + } + } + } + leaf shutdown { + description + "Shutdown Xconnect"; + type empty; + } + } + } + } + container evpn_cont { + uses config-l2vpn-evpn-main; + uses config-l2vpn-evpn-profile; + uses config-l2vpn-evpn-instance; + uses config-evpn-ethernet-segment-global; + } + container sdwan-l2vpn { + if-feature "ios-features:sdwan-l2vpn"; + uses config-l2vpn-sdwan-main; + uses config-l2vpn-sdwan-instance; + } + } + + grouping config-l2vpn-config-grouping { + container l2vpn { + description + "Layer2 VPN commands"; + presence "true"; + container logging { + description + "Configure logging flags"; + container pseudowire { + description + "pseudowire status transition logging"; + leaf status { + description + "pseudowire status up/down logging"; + type empty; + } + } + leaf redundancy { + description + "xconnect redundancy events"; + type empty; + } + leaf vc-state { + description + "vc-state transition logging"; + type empty; + } + } + container pseudowire { + description + "Configure l2vpn pseudowire parameters"; + container group { + description + "Configure pseudowire group parameters"; + leaf status { + description + "Send pseudowire group status messages"; + type empty; + } + } + container pseudowire-routing { + container routing { + description + "Configure l2vpn pseudowire routing"; + container switching-point { + description + "Configure a switching-point"; + container vcid { + description + "Configure a switching-point vcid range"; + must '(vcid_min and vcid_max) or (not(vcid_min) and not(vcid_max))' { + error-message "vcid_min and vcid_max must be configured"; + } + leaf vcid_min { + description + "Minimum VCID value"; + type uint32 { + range "1..2147483647"; + } + } + leaf vcid_max { + description + "Maximum VCID value"; + type uint32 { + range "1..2147483647"; + } + } + } + } + container terminating-pe { + description + "Configure a terminating-pe"; + leaf tie-breaker { + description + "Configure a terminating-pe tiebreaker"; + type empty; + } + } + } + } + } + container redundancy { + description + "Configure L2VPN redundancy parameters"; + container predictive { + description + "Switch over to backup member without waiting for UP status"; + leaf enabled { + description + "Enable predictive switchover capability for all xconnects"; + type empty; + } + } + } + leaf router-id { + description + "Layer2 router-id value"; + type inet:ipv4-address; + } + leaf shutdown { + description + "Shutdown Layer2 VPN"; + type empty; + } + } + } + + grouping config-xconnect-grouping { + container logging { + container pseudowire { + leaf status { + type empty; + } + } + leaf redundancy { + type empty; + } + } + } + + grouping pseudowire-grouping { + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum l2tpv2; + enum l2tpv3; + enum mpls; + enum udp; + } + } + container ip { + description + "Specify IP parameters"; + when "../encapsulation = 'l2tpv2' or ../encapsulation = 'l2tpv3'"; + container dfbit { + description + "DF bit options for tunnel"; + leaf set { + description + "Set the DF bit in the tunnel header"; + type empty; + } + } + container local { + description + "Specify local information"; + container interface { + description + "Source interface for pseudowire"; + leaf interface-name { + description + "Source interface for pseudowire"; + type string; + } + } + } + container pmtu { + description + "Enable Path MTU for tunnel"; + presence "true"; + leaf max { + description + "Maximum Path MTU for session"; + type uint16 { + range "68..65535"; + } + } + } + leaf protocol { + description + "Specific IP protocol number to use"; + when "../../encapsulation = 'l2tpv3'"; + type enumeration { + enum l2tp; + enum uti; + } + } + container tos { + description + "Specify ToS options for IP tunnel header"; + leaf reflect { + description + "Reflect IP payload ToS on tunnel"; + type empty; + } + leaf value { + description + "IP ToS value"; + type uint8; + } + } + leaf ttl { + description + "Specify TTL value for IP tunnel header"; + type uint8; + } + } + leaf control-word { + description + "Include control-word in pseudowire packets"; + when "../encapsulation = 'mpls'"; + type empty; + } + leaf interworking { + description + "Interworking options for pseudowire"; + type enumeration { + enum ethernet; + enum ip; + enum vlan; + } + } + container load-balance { + description + "Loadbalancing for pseudowire"; + when "../encapsulation = 'mpls'"; + container flow { + description + "Enable flow based load balancing for pseudowire"; + presence "true"; + leaf ethernet { + description + "Ethernet pseudowire flow classification"; + type enumeration { + enum dst-mac; + enum src-dst-mac; + enum src-mac; + } + } + } + } + container monitor { + description + "Active monitoring of xconnect peer"; + when "../encapsulation = 'mpls'"; + container peer { + description + "Active monitoring of xconnect peer"; + container bfd { + description + "BFD active monitoring for the xconnect peer"; + presence "true"; + container local { + description + "Specify local endpoint information to map to a BFD session"; + container interface { + description + "Source interface for pseudowire"; + uses ios-ifc:interface-grouping; + } + } + } + } + } + container preferred-path { + description + "Preferred path"; + container interface { + description + "Output Interface"; + choice Tunnel-Tunnel-tp { + case Tunnel-case { + leaf Tunnel { + description + "Tunnel interface"; + type uint64 { + range "0..2147483647"; + } + } + } + case Tunnel-tp-case { + leaf Tunnel-tp { + description + "MPLS Transport Profile interface"; + type uint16; + } + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container peer-container { + leaf peer { + description + "Peer Address"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + } + container protocol-mpls { + when "../encapsulation = 'mpls'"; + leaf protocol { + description + "Signaling protocol to use"; + type enumeration { + enum ldp; + enum none; + } + } + } + container protocol-l2tpv2 { + when "../encapsulation = 'l2tpv2'"; + leaf protocol { + description + "Signaling protocol to use"; + type enumeration { + enum l2tpv2; + enum none; + } + } + leaf class-name { + description + "l2tp-class name"; + type leafref { + path "/ios:native/ios:l2tp-class/ios:name"; + } + } + } + container protocol-l2tpv3 { + when "../encapsulation = 'l2tpv3'"; + leaf protocol { + description + "Signaling protocol to use"; + type enumeration { + enum l2tpv3; + enum l2tpv3ietf; + enum none; + } + } + leaf class-name { + description + "l2tp-class name"; + when "../protocol = 'l2tpv3' or ../protocol = 'l2tpv3ietf'"; + type leafref { + path "/ios:native/ios:l2tp-class/ios:name"; + } + } + } + leaf sequencing { + description + "Sequencing options for pseudowire"; + when "../encapsulation = 'mpls' or ../encapsulation = 'l2tpv3'"; + type enumeration { + enum both; + enum receive; + enum resync; + enum transmit; + } + } + container status { + description + "Pseudowire status capabilities"; + presence "true"; + container admin-down { + description + "Admin down of Attachment Circuit"; + when "../../encapsulation = 'l2tpv2' or ../../encapsulation = 'l2tpv3'"; + leaf disconnect { + description + "Disconnect the session"; + type empty; + } + } + container control-plane { + description + "control plane status events"; + leaf route-watch-boolean { + description + "listen on the control plane to route-watch events"; + type boolean; + default "true"; + } + leaf route-watch { + status obsolete; + description + "listen on the control plane to route-watch events + (OBSOLETE, use route-watch-boolean)"; + type empty; + } + } + leaf decoupled { + description + "Reflect standby status of the attachment circuit as up on the pseudowire"; + type empty; + } + container peer { + description + "peer status configuration"; + container topology { + description + "change status behaviour based on peer topology"; + leaf dual-homed { + description + "Our peer(s) are participating in a redundant solution with some form of redundancyprotocol running between the peer routers, Only one of the remote peers will advertise astatus of UP at a time. The other will advertise standby. Change our configuration so we can send a status of UP on both active and redundant pseudowires"; + type empty; + } + } + } + container redundancy { + description + "Xconnect redundancy configuration"; + leaf master { + description + "Put the xconnect redundancy group on this node in master mode"; + type empty; + } + } + } + container switching { + description + "Switching TLV on/off for pseudowire"; + when "../encapsulation = 'mpls'"; + leaf tlv-boolean { + description + "Switching TLV on/off for pseudowire"; + type boolean; + default "true"; + } + leaf tlv { + status obsolete; + description + "Switching TLV on/off for pseudowire + (OBSOLETE, use tlv-boolean)"; + type empty; + } + } + } + + grouping config-pseudowire-class-grouping { + uses pseudowire-grouping; + } + + grouping config-evpn-ethernet-segment { + container evpn { + list ethernet-segment { + description + "Ethernet segment local discriminator value"; + key "es-value"; + leaf es-value { + description + "Ethernet segment local discriminator value"; + type uint16 { + range "1..65535"; + } + } + container df-election { + description + "Designated forwarder election parameters"; + leaf wait-time { + type uint8 { + range "1..10"; + } + default "3"; + } + } + container redundancy { + description + "Multi-homing redundancy parameters"; + choice redundancy-choice { + leaf all-active { + type empty; + } + leaf single-active { + type empty; + } + } + } + leaf sytem-mac { + description + "System MAC address for generating the Ethernet Segment ID"; + type string; + } + container identifier { + description + "Ethernet Segment Identifier"; + list type { + description + "Ethernet Segment Identifier type"; + key "identifier-type"; + leaf identifier-type { + type uint8 { + range "0 | 3"; + } + } + choice esi-type-choice { + leaf hex-string { + when "../identifier-type = '0'"; + description + "H.H.H.H.H.H.H.H.H \t9-octet ESI value in hex"; + type string { + pattern '([0-9a-fA-F]{1,2}(.[0-9a-fA-F]{1,2}){8})'; + } + } + leaf system-mac { + when "../identifier-type = '3'"; + description + "System MAC address for generating the ESI value"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + } + } + + grouping config-evpn-ethernet-segment-with-auto { + container evpn { + choice ethernet-segment-choice { + case evpn-num-case { + container ethernet-segment-num { + list ethernet-segment { + description + "Ethernet segment local discriminator value"; + key "es-value"; + leaf es-value { + description + "Ethernet segment local discriminator value"; + type uint16 { + range "1..65535"; + } + } + container df-election { + description + "Designated forwarder election parameters"; + leaf wait-time { + type uint8 { + range "1..10"; + } + default "3"; + } + } + container redundancy { + description + "Multi-homing redundancy parameters"; + choice redundancy-choice { + leaf all-active { + type empty; + } + leaf single-active { + type empty; + } + } + } + leaf sytem-mac { + description + "System MAC address for generating the Ethernet Segment ID"; + type string; + } + container identifier { + description + "Ethernet Segment Identifier"; + list type { + description + "Ethernet Segment Identifier type"; + key "identifier-type"; + leaf identifier-type { + type uint8 { + range "0 | 3"; + } + } + choice esi-type-choice { + leaf hex-string { + description + "H.H.H.H.H.H.H.H.H \t9-octet ESI value in hex"; + when "../identifier-type = '0'"; + type string { + pattern '([0-9a-fA-F]{1,2}(.[0-9a-fA-F]{1,2}){8})'; + } + } + leaf system-mac { + description + "System MAC address for generating the ESI value"; + when "../identifier-type = '3'"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + } + } + case evpn-auto-case { + container ethernet-segment-auto { + container ethernet-segment { + description + "Ethernet segment local discriminator value"; + container auto { + description + "Ethernet segment auto configuration"; + leaf lacp { + description + "All-active ethernet segment with type 1 ESI"; + type empty; + } + container df-election { + description + "Designated forwarder election parameters"; + must '../lacp'; + leaf wait-time { + type uint8 { + range "1..10"; + } + default "3"; + } + } + } + } + } + } + } + list ethernet-segment { + status deprecated; + description + "Ethernet segment local discriminator value, DEPRECATED"; + key "es-value"; + leaf es-value { + status deprecated; + description + "Ethernet segment local discriminator value, DEPRECATED"; + type uint16 { + range "1..65535"; + } + } + container df-election { + status deprecated; + description + "Designated forwarder election parameters, DEPRECATED"; + leaf wait-time { + type uint8 { + range "1..10"; + } + default "3"; + } + } + container redundancy { + status deprecated; + description + "Multi-homing redundancy parameters, DEPRECATED"; + choice redundancy-choice { + leaf all-active { + type empty; + } + leaf single-active { + type empty; + } + } + } + leaf sytem-mac { + status deprecated; + description + "System MAC address for generating the Ethernet Segment ID, DEPRECATED"; + type string; + } + container identifier { + status deprecated; + description + "Ethernet Segment Identifier, DEPRECATED"; + list type { + status deprecated; + description + "Ethernet Segment Identifier type, DEPRECATED"; + key "identifier-type"; + leaf identifier-type { + status deprecated; + type uint8 { + range "0 | 3"; + } + } + choice esi-type-choice { + leaf hex-string { + status deprecated; + description + "H.H.H.H.H.H.H.H.H \t9-octet ESI value in hex, DEPRECATED"; + when "../identifier-type = '0'"; + type string { + pattern '([0-9a-fA-F]{1,2}(.[0-9a-fA-F]{1,2}){8})'; + } + } + leaf system-mac { + status deprecated; + description + "System MAC address for generating the ESI value, DEPRECATED"; + when "../identifier-type = '3'"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + } + } + + grouping l2tp-class-options { + leaf authentication { + description + "Authenticate the L2TP control connection"; + type empty; + } + leaf hello { + description + "Set HELLO message interval"; + type uint16 { + range "0..1000"; + } + default "60"; + } + container password { + description + "Password for control connection authentication, AVP hiding"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + default "0"; + } + leaf password-string { + description + "Tunnel password string"; + type string { + pattern '.*'; + } + } + } + container cookie { + description + "Local cookie options"; + leaf size { + description + "Local cookie size"; + type uint8 { + range "4 | 8"; + } + } + } + } + + grouping config-connect-grouping { + list connect { + description + "Configure local connect"; + key "name"; + leaf name { + type string; + } + container connect-config { + container source-interface { + description + "Configure the source interface"; + uses ios:interface-with-dependency-grouping; + choice connect-interface-choice { + case interface-without-service-instance { + container destination-interface { + uses ios:interface-with-dependency-grouping; + } + } + case interface-with-service-instance { + container source-service-instance-id { + leaf service-instance-id { + description + "Service Instance ID"; + type uint16 { + range "1..8000"; + } + } + container destination-interface { + description + "Configure the Local connect Destination interface"; + uses ios:interface-with-dependency-grouping; + leaf destination-service-instance-id { + description + "Service Instance ID"; + type uint16 { + range "1..8000"; + } + mandatory true; + } + } + } + } + } + } + } + container connect-sub-commands { + container description { + leaf description { + description + "Local Connect description"; + type string { + pattern '.*'; + length "0..255"; + } + } + } + } + } + } + + augment "/ios:native/ios:interface/ios:pseudowire" { + uses config-interface-pseudowire-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios-eth:service/ios-eth:instance" { + uses config-interface-efp-xconnect-grouping { + if-feature "ios-features:efp"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP" { + uses config-interface-virtual-ppp-pseudo-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-evpn-ethernet-segment; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-evpn-ethernet-segment-with-auto; + } + + augment "/ios:native/ios:l2" { + uses config-l2-grouping { + if-feature "ios-features:l2"; + } + } + + augment "/ios:native/ios:l2vpn" { + uses config-l2vpn-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:l2vpn-config" { + uses config-l2vpn-config-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:xconnect" { + uses config-xconnect-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:pseudowire-class" { + uses config-pseudowire-class-grouping { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:l2tp-class" { + uses l2tp-class-options { + if-feature "ios-features:l2vpn"; + } + } + + augment "/ios:native/ios:l2vpn-config" { + uses config-connect-grouping { + if-feature "ios-features:l2vpn"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l3nat-iox.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l3nat-iox.yang new file mode 100644 index 000000000..35a50fc06 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l3nat-iox.yang @@ -0,0 +1,78 @@ +module Cisco-IOS-XE-l3nat-iox { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l3nat-iox"; + prefix l3nat-iox; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE NAT IOX model"; + + revision 2023-11-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-l3nat-iox-grouping { + container l3nat-iox { + description + "IOX NAT Configuration"; + presence "true"; + container nat-config { + leaf app-ip { + description + "Application's private IP address"; + type inet:ipv4-address; + } + leaf svi-ip { + description + "SVI IP address"; + must '../app-ip' { + error-message "App IP should be present"; + } + type inet:ipv4-address; + } + leaf app-name { + description + "Application name"; + must '../svi-ip' { + error-message "SVI IP should be present"; + } + type enumeration { + enum CCV-ONPREM; + } + } + leaf server-ip { + description + "Server IP address"; + must '../app-name' { + error-message "App Name should be present"; + } + type inet:ipv4-address; + } + } + } + } + + augment "/ios:native" { + uses config-l3nat-iox-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-l3vpn.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-l3vpn.yang new file mode 100644 index 000000000..a9ce066da --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-l3vpn.yang @@ -0,0 +1,116 @@ +module Cisco-IOS-XE-l3vpn { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-l3vpn"; + prefix ios-l3vpn; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Layer 3 Virtual Private Network (L2VPN) Yang model. + Copyright (c) 2016, 2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "- Add description to leaf profile-name"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-l3vpn-grouping { + container encapsulation { + description + "l3vpn encapsulation ip"; + list ip { + description + "l3vpn encapsulation ip"; + key "profile-name"; + leaf profile-name { + description + "profile name"; + type string; + } + container transport { + description + "transport mode"; + container ipv4 { + description + "transport ipv4 mode"; + presence "true"; + leaf source { + description + "transport source"; + type string; + } + } + } + container protocol { + description + "protocol mode"; + container gre { + description + "protocol gre"; + presence "true"; + leaf key { + description + "gre key"; + type uint32 { + range "0..4294967295"; + } + } + } + } + container mpls { + description + "Configure MPLS interface parameters"; + leaf mtu { + description + "Set MPLS Maximum Transmission Unit"; + type union { + type uint32 { + range "64..17916"; + } + type enumeration { + enum max; + } + } + } + } + } + } + } + + augment "/ios:native/ios:l3vpn" { + uses config-l3vpn-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lacp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lacp-oper.yang new file mode 100644 index 000000000..cec6795ac --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lacp-oper.yang @@ -0,0 +1,289 @@ +module Cisco-IOS-XE-lacp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lacp-oper"; + prefix lacp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of yang definitions + for LACP operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added member port bundle state in LACP member state data"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-03-01 { + description + "Added partner port number in LACP member state data"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "Added LACP port channel operational data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef etherchannel-layer { + type enumeration { + enum l2-etherchannel { + value 0; + description + "Layer 2 Etherchannel"; + } + enum l3-etherchannel { + value 1; + description + "Layer 3 Etherchannel"; + } + } + description + "Layer 2 or Layer 3 Etherchannel"; + } + + typedef port-state { + type enumeration { + enum lacp-bndl { + value 0; + description + "Port is attached and bundled with other ports"; + } + enum lacp-susp { + value 1; + description + "Port is in a suspended state"; + } + enum lacp-hot-sby { + value 2; + description + "Port is in a hot-standby state"; + } + enum lacp-indiv { + value 3; + description + "Port is incapable of bundling with any other port"; + } + enum lacp-indep { + value 4; + description + "Port is in an independent state"; + } + enum lacp-down { + value 5; + description + "Port is down"; + } + enum lacp-unkn { + value 6; + description + "Port is in an unknown state"; + } + } + description + "Port Channel member port bundle state"; + } + + grouping lag-oper-data { + description + "LAG oper data"; + leaf channel-group { + type uint32; + description + "Channel-group or port-channel number"; + } + leaf total-no-of-links { + type uint32; + description + "Total number of links configured as part of the channel-group"; + } + leaf total-no-of-links-bundled { + type uint32; + description + "Total number of links bundled"; + } + leaf total-no-of-links-standby { + type uint32; + description + "Total number of links in standby"; + } + leaf total-no-of-links-down { + type uint32; + description + "Total number of links down"; + } + leaf port-channel-up { + type boolean; + description + "Port channel status is UP"; + } + leaf layer-type { + type lacp-ios-xe-oper:etherchannel-layer; + description + "Layer 2 or Layer 3 Etherchannel"; + } + leaf total-no-of-links-suspended { + type uint32; + description + "Total number of suspended links"; + } + } + + grouping lacp-member-stats { + description + "LACP packet statistics for the member interfaces"; + leaf lacp-in-pkts { + type uint64; + description + "Number of packets received"; + } + leaf lacp-out-pkts { + type uint64; + description + "Number of packets transmitted"; + } + leaf lacp-rx-errors { + type uint64; + description + "Number of receive packet errors"; + } + leaf lacp-tx-errors { + type uint64; + description + "Number of transmit packet errors"; + } + leaf lacp-errors { + type uint64; + description + "Number of illegal packet errors"; + } + leaf lacp-unknown-errors { + type uint64; + description + "Number of unknown packet errors"; + } + } + + grouping lacp-member-state { + description + "Operational state data for aggregate members"; + leaf if-name { + type string; + description + "List of aggregate interfaces managed by LACP"; + } + leaf system-id { + type yang:mac-address; + description + "The MAC address portion of the node's System ID"; + } + leaf partner-id { + type yang:mac-address; + description + "The MAC address representing the protocol partner's interface system ID"; + } + leaf partner-key { + type uint16; + description + "Operational value of the protocol partner's key"; + } + leaf oper-key { + type uint16; + description + "Current operational value of the key for the aggregate interface"; + } + leaf port-num { + type uint16; + description + "Port number of the local (actor) aggregation member"; + } + container counters { + description + "LACP member interface statistics"; + uses lacp-ios-xe-oper:lacp-member-stats; + } + leaf partner-port-num { + type uint16; + description + "Port number of the partner (remote) port for this member port"; + } + leaf state { + type lacp-ios-xe-oper:port-state; + description + "Port Channel member port bundle state"; + } + } + + grouping lacp-port-channel { + description + "Ethernet Channel of interfaces oper model data"; + leaf channel-group { + type uint32; + description + "Port-channel interface number"; + } + list lacp-member-state { + key "if-name"; + description + "LACP Operational state data for aggregate members"; + uses lacp-ios-xe-oper:lacp-member-state; + } + } + + container lag-oper-data { + config false; + description + "LACP operational data"; + list lag-info { + key "channel-group"; + description + "LAG operational information details"; + uses lacp-ios-xe-oper:lag-oper-data; + } + list lacp-port-channel { + key "channel-group"; + description + "LACP channel group details"; + uses lacp-ios-xe-oper:lacp-port-channel; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-license.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-license.yang new file mode 100644 index 000000000..0955ae731 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-license.yang @@ -0,0 +1,591 @@ +submodule Cisco-IOS-XE-license { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native License Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added restriction for delete operation for license boot level."; + cisco-semver:module-version "1.2.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-11-01 { + description + "Usage reporting Smart License Enhancement."; + cisco-semver:module-version "1.1.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-23 { + description + "Added license boot suite command. Command not applicable to CSR"; + } + revision 2017-12-01 { + description + "Add licenses boot level addon for cat3k"; + } + revision 2017-10-18 { + description + "Add licenses boot level on switch and smart licensing"; + } + revision 2017-05-25 { + description + "Add licenses ax and security"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-license-grouping { + container license { + description + "Configure license features"; + container udi { + leaf pid { + type string; + } + leaf sn { + type string; + } + } + container feature { + description + "License features"; + leaf name { + type string; + } + container port { + description + "Enable Ports for IM"; + leaf bulk { + description + "Enable Bulk port licenses"; + type empty; + } + leaf onegig { + description + "Enable 1G port bundles"; + type uint8 { + range "1..2"; + } + } + leaf b-6xonegig { + description + "Enable 6x1G port bundles"; + type uint8 { + range "1..2"; + } + } + leaf tengig { + description + "Enable 10G port bundles"; + type uint8 { + range "1..2"; + } + } + } + } + container accept { + leaf end { + type empty; + } + leaf user { + type empty; + } + leaf agreement { + type empty; + } + } + container boot { + description + "license boot config commands"; + container level { + description + "which level to boot"; + choice license-choice { + case ipbase-case { + container ipbase { + description + "ipbase level"; + presence "true"; + leaf switch { + description + "Switch license information"; + type uint8; + } + } + } + case ipbasek9-case { + container ipbasek9 { + description + "License Level IPBASEK9"; + presence "true"; + leaf addon { + description + "select add-on to include"; + type enumeration { + enum dna-advantage; + enum dna-essentials; + } + } + } + } + case ipservices-case { + container ipservices { + description + "ipservices level"; + presence "true"; + leaf switch { + description + "Switch license information"; + type empty; + } + } + } + case ipservicesk9-case { + container ipservicesk9 { + description + "ipservicesk9 level"; + presence "true"; + leaf addon { + description + "select add-on to include"; + type enumeration { + enum dna-advantage; + enum dna-essentials; + } + } + } + } + case lanbase-case { + container lanbase { + description + "lanbase level"; + presence "true"; + leaf switch { + description + "Switch license information"; + type empty; + } + } + } + case lanbasek9-case { + container lanbasek9 { + description + "License Level LANBASEK9"; + presence "true"; + leaf addon { + description + "select add-on to include"; + type enumeration { + enum dna-essentials; + } + } + } + } + case lite-case { + container lite { + description + "lite level"; + presence "true"; + leaf switch { + description + "Switch license information"; + type empty; + } + } + } + case metroaggrservices-case { + container metroaggrservices { + description + "metroaggrservices level"; + presence "true"; + leaf switch { + description + "Switch license information"; + type empty; + } + } + } + case metroipservices-case { + leaf metroipservices { + description + "Metroipservices License Level"; + type empty; + } + } + case metroservices-case { + leaf metroservices { + description + "Metroservices License Level"; + type empty; + } + } + case advancedmetroipaccess-case { + leaf advancedmetroipaccess { + description + "Advanced Metro IP Access License Level"; + type empty; + } + } + case metroaccess-case { + leaf metroaccess { + description + "Metro Access License Level"; + type empty; + } + } + case metroipaccess-case { + leaf metroipaccess { + description + "Metro IP Access License Level"; + type empty; + } + } + case entservices-case { + leaf entservices { + description + "Entservices License Level"; + type empty; + } + } + case adventerprise-case { + leaf adventerprise { + description + "Adventerprise License Level"; + type empty; + } + } + case appx-case { + leaf appx { + description + "Appx License Level"; + type empty; + } + } + case appxk9-case { + leaf appxk9 { + description + "Appxk9 License Level"; + type empty; + } + } + case ax-case { + leaf ax { + description + "ax(ipb+sec+appx) License Level"; + type empty; + } + } + case security-case { + leaf security { + description + "Security License Level"; + type empty; + } + } + case securityk9-case { + leaf securityk9 { + description + "Securityk9 License Level"; + type empty; + } + } + case uck9-case { + container uck9 { + description + "Uck9 License Level"; + presence "true"; + leaf disable { + type empty; + } + } + } + case network-advantage-case { + container network-advantage { + description + "License Level Network-Advantage"; + presence "true"; + leaf addon { + description + "select add-on to include"; + type enumeration { + enum dna-advantage; + enum dna-essentials; + } + } + } + } + case network-essentials-case { + container network-essentials { + description + "License Level Network-Essentials"; + presence "true"; + leaf addon { + description + "select add-on to include"; + type enumeration { + enum dna-essentials; + } + } + } + } + case AdvUCSuiteK9-case { + leaf AdvUCSuiteK9 { + description + "AdvUCSuiteK9 License Level"; + type empty; + } + } + case FoundationSuiteK9-case { + leaf FoundationSuiteK9 { + description + "FoundationSuiteK9 License Level"; + type empty; + } + } + } + } + container suite { + description + "License suite to boot"; + if-feature "ios-features:license-suite-command"; + leaf suite-name { + description + "License Suite name"; + type enumeration { + enum AdvUCSuiteK9; + enum FoundationSuiteK9; + } + } + } + container boot-module { + leaf module { + type enumeration { + enum c2900; + } + } + container technology-package { + leaf securityk9 { + type empty; + } + leaf uck9 { + type empty; + } + leaf datak9 { + type empty; + } + } + } + } + container smart { + description + "Smart licensing"; + leaf customer-id { + description + "Customer defined id"; + type string; + } + leaf enable { + description + "Enable Smart licensing"; + type empty; + } + leaf transport-type { + type enumeration { + enum callhome; + enum smart; + enum cslu; + enum Off; + enum automatic; + } + description + "The transport type. If transport-type is set to + callhome then any additional transport settings must + be done from the callhome CLI. + If the transport-type is set to smart, additional + settings are available below. + If the transport-type is set to cslu, + url needs to be set for cisco smart license utility. + If the transport-type is set to off, user has to manually + upload the usage reports."; + } + container privacy { + leaf hostname { + type empty; + } + leaf version { + type empty; + } + } + container utility { + description + "Enable or disable usage reporting on the device"; + leaf enable { + description + "Enable or disable usage reporting"; + type empty; + } + container customer-info { + leaf city { + description + "Customer defined city"; + type string; + } + leaf country { + description + "Customer defined country"; + type string; + } + leaf id { + description + "Customer defined id"; + type string; + } + leaf name { + description + "Customer defined name"; + type string; + } + leaf postalcode { + description + "Customer defined postal code"; + type string; + } + leaf state { + description + "Customer defined state"; + type string; + } + leaf street { + description + "Customer defined street"; + type string; + } + } + } + container usage { + description + "Enable or disable usage reporting on the device"; + leaf interval { + description + "Entitlement usage reporting interval in days."; + type uint32 { + range "1..365"; + } + units "days"; + } + container customer-tags { + leaf tag1 { + description + "Customer defined tag one"; + type string { + length "1..127"; + } + } + leaf tag2 { + description + "Customer defined tag two"; + type string { + length "1..127"; + } + } + leaf tag3 { + description + "Customer defined tag three"; + type string { + length "1..127"; + } + } + leaf tag4 { + description + "Customer defined tag four"; + type string { + length "1..127"; + } + } + } + } + container url { + description + "Specify the Smart Transport primary and the Utility URL"; + leaf cslu { + description + "Specify the URL to be used for sending utility usage + reports."; + type inet:uri; + } + choice url-setting { + description + "Specify the URL(s) used for communications to the SSM, + satellite or Third Party Billing Platform."; + case set-default { + leaf default { + type empty; + description + "Enable the default URLs for both + url-registration and url-utility that point to + the Cisco SSM."; + } + } + case set-urls { + leaf name { + type string; + description + "Specify the URL used for registration, authorization and + anything else not related to utility usage reporting."; + } + leaf utility { + type string; + description + "Specify the URL to be used for sending utility usage + reports. This should be the same as url-registration + if you are using a satellite."; + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-line-common-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-common-deviation.yang new file mode 100644 index 000000000..142ef465f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-common-deviation.yang @@ -0,0 +1,33 @@ +module Cisco-IOS-XE-line-common-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-line-common-deviation"; + prefix ios-line-common-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Line, Deviation Yang Model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added default for aux and console stopbits"; + } + + deviation "/ios:native/ios:line/ios:aux/ios:stopbits" { + deviate add { + default "1"; + } + } + + deviation "/ios:native/ios:line/ios:console/ios:stopbits" { + deviate add { + default "2"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-line-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-deviation.yang new file mode 100644 index 000000000..9c34d8886 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-deviation.yang @@ -0,0 +1,41 @@ +module Cisco-IOS-XE-line-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-line-deviation"; + prefix ios-line-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Line, Deviation Yang Model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-11-01 { + description + "Added line vty deviation"; + } + + deviation "/ios:native/ios:line/ios:vty/ios:first" { + deviate replace { + type uint16 { + range "0..530"; + } + } + } + + deviation "/ios:native/ios:line/ios:vty/ios:last" { + deviate replace { + type uint16 { + range "1..530"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-line-nonquake-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-nonquake-deviation.yang new file mode 100644 index 000000000..594c232ca --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-line-nonquake-deviation.yang @@ -0,0 +1,41 @@ +module Cisco-IOS-XE-line-nonquake-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-line-nonquake-deviation"; + prefix ios-line-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Line, Non-Quake Deviation Yang Model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Changed range of first and last to match with iosd"; + } + revision 2023-11-01 { + description + "- Add switch deviation for line vty range"; + } + + deviation "/ios:native/ios:line/ios:vty/ios:first" { + deviate replace { + type uint16 { + range "0..98"; + } + } + } + + deviation "/ios:native/ios:line/ios:vty/ios:last" { + deviate replace { + type uint16 { + range "1..98"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-line.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-line.yang new file mode 100644 index 000000000..e9b79d781 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-line.yang @@ -0,0 +1,2945 @@ +submodule Cisco-IOS-XE-line { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Line, configure a terminal line Yang Model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added logout-warning leaf for line aux,con and vty + - Added refine and tailf to enforce default value change during line AUX + modification for line transport input ssh group"; + cisco-semver:module-version "6.0.0"; + } + revision 2024-03-01 { + description + "-Added container accounting under line + -Added container connection under line accounting + - Created timeout-login-response under line + -Deprecated and added authorization commands, exec under line console/aux"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Moved default in refine statement to deviation statement for stop bits + - Added separate leaf for default ssh transport input + - Added default for stop bits + - Added default for transport input + - Added default for authorization exec + - Added default for exec-timeout + - Added description for line commands"; + cisco-semver:module-version "4.4.0"; + } + revision 2023-07-01 { + description + "- Created line-grouping-con-and-aux and line-grouping-aux"; + cisco-semver:module-version "4.3.0"; + } + revision 2023-03-01 { + description + "- added type 6 encryption support for enable and line vty"; + cisco-semver:module-version "4.2.0"; + } + revision 2022-11-01 { + description + "- added 'vrfname' under 'line vty access-class' + - Update yang-version to 1.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2022-07-01 { + description + "- Created line-grouping-common, line-grouping-console, transport-input-grouping and line-grouping-transport-input-obsolete"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-03-01 { + description + "- Deprecated async-line + - Added async-line-single and async-line-range"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Removed 'presence' under 'line/login'"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Initial revision for 17.5.1"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Support for line auto-consolidation feature under line command + - Hardening of line aux privilege level CLI + - Support for autohangup under line"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Add async line support"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add session-disconnect-warning"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Renamed command to commands under line-group authorization inline with ios"; + } + revision 2018-10-10 { + description + "Enabled configuration of multiple transport input/output protocol for single line console "; + } + revision 2018-08-10 { + description + "Enabled multiple authorization command for single line console "; + } + revision 2018-03-01 { + description + "Added line console authorization exec list commands "; + } + revision 2017-09-06 { + description + "Added line console/vty history "; + } + revision 2017-07-24 { + description + "Add session-limit"; + } + revision 2017-06-02 { + description + "Add alt-name for console line"; + } + revision 2017-05-29 { + description + "Added /line/vty/session-limit"; + } + revision 2017-03-24 { + description + "Remove refuse-message and vacant-message"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping password-07-grouping { + leaf level { + description + "Set exec level password"; + type uint8; + } + leaf type { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf secret { + type string { + pattern '.*'; + } + } + } + + grouping line-grouping-common { + container accounting { + description + "Accounting parameters"; + list commands { + description + "For exec (shell) commands."; + key "enable-level"; + leaf enable-level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf acc-name { + description + "Use an accounting list with this name"; + mandatory true; + must "not(.='default')" { + error-message "Configuration of default is not allowed. Delete the acc-list to switch to default acc-list"; + } + type string; + } + } + container connection { + description + "For connection accounting"; + leaf accounting-name { + description + "Use an accounting list with this name"; + type string; + } + } + container exec { + description + "For starting an exec (shell)"; + leaf accounting-name { + description + "Use an accounting list with this name"; + type string; + default "default"; + } + } + } + container authorization { + description + "Authorization parameters"; + list commands { + description + "For exec (shell) commands"; + key "enable-level auth-name"; + leaf enable-level { + type uint8 { + range "0..15"; + } + } + leaf auth-name { + type string; + } + } + container exec { + description + "For starting an exec (shell)"; + leaf authorization-name { + description + "Use an authorization list with this name"; + type string; + default "default"; + } + leaf default { + description + "Use the default authorization list"; + status deprecated; + type empty; + } + } + } + container access-class { + description + "Filter connections based on an IP access list"; + list acccess-list { + description + "Choose direction of the access list"; + key "direction"; + leaf direction { + description + "Filter connections based on the incoming/outgoing direction"; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + type ios-types:exp-acl-type; + mandatory true; + } + leaf vrf-also { + description + "Same access list is applied for all VRFs"; + type empty; + } + leaf vrfname { + description + "Access list is applied for given VRFs"; + type string; + } + } + } + leaf no-activation-character { + type boolean; + } + leaf activation-character { + description + "Define the activation character"; + type union { + type string; + type uint8 { + range "0..127"; + } + } + } + container autocommand { + description + "Automatically execute an EXEC command"; + leaf line { + description + "Appropriate EXEC command"; + type string; + } + container no-suppress-linenumber { + description + "Display service linenumber message"; + presence "true"; + leaf line { + description + "Appropriate EXEC command"; + type string; + } + } + } + container autocommand-options { + description + "Autocommand options"; + presence "true"; + container abort-character { + description + "Autocommand abort character"; + presence "true"; + leaf character { + type union { + type uint8; + type string; + } + } + } + container delay { + description + "Delay autocommand execution"; + presence "true"; + leaf time { + description + "Time in seconds"; + type uint8 { + range "0..120"; + } + } + } + container nohangup { + description + "No hangup after autocommand completion"; + presence "true"; + leaf abort-character { + description + "Autocommand abort character"; + type empty; + } + leaf delay { + description + "Delay autocommand execution"; + type empty; + } + } + } + container autohangup_only { + leaf autohangup { + description + "Automatically hangup when last connection closes"; + type empty; + } + } + container autohangup { + description + "Automatically hangup when last connection closes"; + leaf session-timeout { + description + "Automatically hangup when current session Times-out"; + type boolean; + default "true"; + } + } + leaf data-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container databits { + description + "Set number of data bits per character"; + leaf set-to-5 { + description + "Number of data bits"; + type empty; + } + leaf set-to-6 { + description + "Number of data bits"; + type empty; + } + leaf set-to-7 { + description + "Number of data bits"; + type empty; + } + leaf set-to-8 { + description + "Number of data bits"; + type empty; + } + } + leaf domain-lookup { + description + "Enable domain lookups in show commands"; + type empty; + } + leaf editing { + description + "Enable command line editing"; + type empty; + } + container escape-character { + description + "Change the current line's escape character"; + leaf char { + type union { + type uint8; + type enumeration { + enum BREAK; + enum DEFAULT; + enum NONE; + } + type string; + } + } + leaf soft { + type empty; + } + } + choice exec-choice { + container no-exec { + leaf exec { + description + "Configure EXEC"; + type boolean; + } + } + container exec { + container prompt { + leaf timestamp { + type empty; + } + } + } + } + leaf exec-banner { + description + "Enable the display of the EXEC banner"; + type empty; + } + leaf exec-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container exec-timeout { + description + "Set the EXEC timeout"; + leaf minutes { + description + "<0-35791>;;Timeout in minutes"; + type uint32 { + range "0..35791"; + } + default "10"; + } + leaf seconds { + description + "<0-2147483>;;Timeout in seconds"; + type uint32 { + range "0..2147483"; + } + default "0"; + } + } + container flowcontrol { + description + "Set the flow control"; + leaf NONE { + description + "Set no flow control"; + type empty; + } + leaf hardware { + description + "Set hardware flow control"; + type empty; + } + leaf software { + description + "Set software flow control"; + type empty; + } + } + leaf full-help { + description + "Provide help to unprivileged user"; + type empty; + } + container history { + description + "Enable and control the command history function"; + presence "true"; + leaf size { + description + "Set history buffer size"; + type uint16 { + range "0..256"; + } + } + } + leaf international { + description + "Enable international 8-bit character support"; + type empty; + } + container ip { + description + "IP options"; + container netmask-format { + description + "Change display of netmasks"; + presence "true"; + leaf format { + type enumeration { + enum bit-count; + enum decimal; + enum hexadecimal; + } + } + } + leaf tcp { + type empty; + } + } + container ipv6 { + container access-class { + list access-class { + key "access-class-name"; + leaf access-class-name { + type string; + } + leaf enumeration-in-out { + type enumeration { + enum in; + enum out; + } + } + leaf vrfname { + description + "Access list is applied for given VRFs"; + type string; + } + } + } + } + leaf length { + description + "Set number of lines on a screen"; + type uint16 { + range "0..512"; + } + } + leaf line { + type uint8; + } + leaf location { + description + "One text line describing the terminal's location"; + type string; + } + container logging { + description + "Modify message logging facilities"; + container synchronous { + description + "Synchronized message output"; + presence "true"; + } + } + container login { + description + "Enable password checking"; + leaf local { + type empty; + } + leaf authentication { + description + "Authentication list"; + type string; + default "default"; + } + } + leaf logout-warning { + description + "Warning countdown for absolute timeout of line in seconds"; + type uint32 { + range "0..4294967295"; + } + default "20"; + } + container media-type { + description + "Console connection media type"; + leaf rj45 { + description + "Console connection set to RJ45"; + type empty; + } + } + container modem { + description + "Configure the Modem Control Lines"; + leaf CTS-Alarm { + description + "Alarm device which only uses CTS for call control"; + type empty; + } + leaf DTR-active { + description + "Leave DTR low unless line has an active incoming connection or EXEC"; + type empty; + } + leaf Dialin { + description + "Configure line for a modern dial-in modem"; + type empty; + } + leaf Host { + description + "Devices that expect an incoming modem call"; + type empty; + } + leaf InOut { + description + "Configure line for incoming AND outgoing use of modem"; + type empty; + } + leaf Printer { + description + "Devices that require DSR/CD active"; + type empty; + } + leaf answer-timeout { + description + "Set interval between raising DTR and CTS response"; + type empty; + } + container autoconfigure { + description + "Automatically configure modem on line"; + leaf discovery { + description + "Attempt to determine modem type automatically"; + type empty; + } + leaf type { + description + "Modem Type"; + type string; + } + } + leaf dtr-delay { + description + "Set interval during which DTR is held low"; + type empty; + } + } + leaf monitor { + description + "Copy debug output to the current terminal line"; + type empty; + } + leaf motd-banner { + description + "Enable the display of the MOTD banner"; + type empty; + } + leaf notify { + description + "Inform users of output from concurrent sessions"; + type empty; + } + container padding { + description + "Set padding for a specified output character"; + leaf character { + description + "Character to be padded"; + type union { + type uint8 { + range "0..127"; + } + type string; + } + } + leaf null { + type uint8; + } + } + container parity { + description + "Set terminal parity"; + leaf even { + description + "Even parity"; + type empty; + } + leaf mark { + description + "Mark parity"; + type empty; + } + leaf none { + description + "No parity"; + type empty; + } + leaf odd { + description + "Odd parity"; + type empty; + } + leaf space { + description + "Space parity"; + type empty; + } + } + container password { + description + "Set a password"; + uses password-07-grouping; + } + container prc { + description + "PRC commands"; + leaf expose { + description + "Expose PRC data"; + type empty; + } + leaf hide { + description + "Hide PRC data"; + type empty; + } + } + container privilege { + description + "Change privilege level for line"; + container level { + description + "Assign default privilege level for line"; + leaf number { + type uint8 { + range "0..15"; + } + } + } + } + leaf rotary { + description + "Rotary group to add line to"; + type uint8 { + range "1..99"; + } + } + leaf rxspeed { + description + "Receive speed"; + type uint32 { + range "0..4294967295"; + } + } + container session-disconnect-warning { + description + "Set the session disconnect warning"; + leaf seconds { + description + "Session timeout warning in seconds"; + type uint32 { + range "0..4294967295"; + } + } + leaf message { + description + "Optional warning message"; + type string; + } + } + leaf session-limit { + description + "Set maximum number of sessions"; + type uint32; + } + container session-timeout { + description + "Set interval for closing connection when there is no input traffic"; + leaf session-timeout-value { + type uint16 { + range "0..35791"; + } + } + leaf output { + description + "Include output traffic as well as input traffic"; + type empty; + } + } + leaf special-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + leaf speed { + description + "Transmit and receive speeds"; + type uint32 { + range "0..4294967295"; + } + } + leaf start-character { + description + "Define the start character"; + type union { + type uint8; + type string; + } + } + leaf stop-character { + description + "Define the stop character"; + type union { + type uint8; + type string; + } + } + leaf stopbits { + description + "Set async line stop bits"; + type enumeration { + enum 1; + enum 1.5; + enum 2; + } + } + leaf terminal-type { + description + "Terminal type"; + type string; + } + container timeout { + description + "Timeouts for the line"; + leaf login { + description + "Timeouts related to the login sequence"; + type empty; + } + } + container telnet { + description + "Telnet protocol-specific configuration"; + leaf transparent { + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + type empty; + } + } + container transport { + description + "Define transport protocols for line"; + container output { + choice output-protocol { + case all-protocol { + leaf all { + description + "All protocols"; + type empty; + } + } + case no-protocol { + leaf none { + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + leaf-list output { + description + "Define which protocols to use for outgoing connections"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + } + } + container preferred { + description + "Specify the preferred protocol to use"; + leaf protocol { + type enumeration { + enum acercon; + enum lat; + enum mop; + enum nasi; + enum none; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + } + } + } + } + leaf txspeed { + description + "Transmit speed"; + type uint32; + } + container usb-inactivity-timeout { + description + "Inactivity timeout for USB media type"; + leaf switch { + description + "Switch Number"; + type empty; + } + } + leaf width { + description + "Number of characters on a screen line"; + type uint16 { + range "0..512"; + } + } + } + + grouping line-grouping-con-and-aux { + container accounting { + description + "Accounting parameters"; + list commands { + description + "For exec (shell) commands."; + key "enable-level"; + leaf enable-level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf acc-name { + description + "Use an accounting list with this name"; + mandatory true; + must "not(.='default')" { + error-message "Configuration of default is not allowed. Delete the acc-list to switch to default acc-list"; + } + type string; + } + } + container exec { + description + "For starting an exec (shell)"; + leaf accounting-name { + description + "Use an accounting list with this name"; + type string; + default "default"; + } + } + } + container authorization { + description + "Authorization parameters"; + list commands-v2 { + description + "Authorization applicable for exec (shell) commands."; + key "enable-level"; + leaf enable-level { + description + "Enable level"; + type uint8 { + range "0..15"; + } + } + leaf auth-name { + description + "Name of authorization list"; + mandatory true; + must "not(.='default')" { + error-message "Configuration of default is not allowed. Use delete to move to default auth-list"; + } + type string; + } + } + list commands { + status deprecated; + description + "For exec (shell) commands"; + key "enable-level auth-name"; + leaf enable-level { + status deprecated; + type uint8 { + range "0..15"; + } + } + leaf auth-name { + status deprecated; + type string; + } + } + container exec { + description + "For starting an exec (shell)"; + leaf authorization-name { + description + "Use an authorization list with this name"; + type string; + } + leaf default { + description + "Use the default authorization list"; + type empty; + } + } + } + container access-class { + description + "Filter connections based on an IP access list"; + list acccess-list { + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + type ios-types:exp-acl-type; + mandatory true; + } + leaf vrf-also { + description + "Same access list is applied for all VRFs"; + type empty; + } + leaf vrfname { + description + "Access list is applied for given VRFs"; + type string; + } + } + } + leaf no-activation-character { + type boolean; + } + leaf activation-character { + description + "Define the activation character"; + type union { + type string; + type uint8 { + range "0..127"; + } + } + } + container autocommand { + description + "Automatically execute an EXEC command"; + leaf line { + description + "Appropriate EXEC command"; + type string; + } + container no-suppress-linenumber { + description + "Display service linenumber message"; + presence "true"; + leaf line { + description + "Appropriate EXEC command"; + type string; + } + } + } + container autocommand-options { + description + "Autocommand options"; + presence "true"; + container abort-character { + description + "Autocommand abort character"; + presence "true"; + leaf character { + type union { + type uint8; + type string; + } + } + } + container delay { + description + "Delay autocommand execution"; + presence "true"; + leaf time { + description + "Time in seconds"; + type uint8 { + range "0..120"; + } + } + } + container nohangup { + description + "No hangup after autocommand completion"; + presence "true"; + leaf abort-character { + description + "Autocommand abort character"; + type empty; + } + leaf delay { + description + "Delay autocommand execution"; + type empty; + } + } + } + container autohangup_only { + leaf autohangup { + description + "Automatically hangup when last connection closes"; + type empty; + } + } + container autohangup { + description + "Automatically hangup when last connection closes"; + leaf session-timeout { + description + "Automatically hangup when current session Times-out"; + type boolean; + default "true"; + } + } + leaf data-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container databits { + description + "Set number of data bits per character"; + leaf set-to-5 { + description + "Number of data bits"; + type empty; + } + leaf set-to-6 { + description + "Number of data bits"; + type empty; + } + leaf set-to-7 { + description + "Number of data bits"; + type empty; + } + leaf set-to-8 { + description + "Number of data bits"; + type empty; + } + } + leaf domain-lookup { + description + "Enable domain lookups in show commands"; + type empty; + } + leaf editing { + description + "Enable command line editing"; + type empty; + } + container escape-character { + description + "Change the current line's escape character"; + leaf char { + type union { + type uint8; + type enumeration { + enum BREAK; + enum DEFAULT; + enum NONE; + } + type string; + } + } + leaf soft { + type empty; + } + } + container exec-enable { + leaf exec { + description + "Configure EXEC"; + type boolean; + default "true"; + } + } + container exec-options { + container exec { + description + "EXEC prompt"; + container prompt { + description + "Print timestamps for show commands"; + leaf timestamp { + type empty; + } + } + } + } + choice exec-choice { + status deprecated; + container no-exec { + status deprecated; + leaf exec { + status deprecated; + description + "Configure EXEC"; + type boolean; + } + } + container exec { + status deprecated; + container prompt { + status deprecated; + leaf timestamp { + status deprecated; + type empty; + } + } + } + } + leaf exec-banner { + description + "Enable the display of the EXEC banner"; + type empty; + } + leaf exec-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container exec-timeout { + description + "Set the EXEC timeout"; + leaf minutes { + description + "<0-35791>;;Timeout in minutes"; + type uint32 { + range "0..35791"; + } + default "10"; + } + leaf seconds { + description + "<0-2147483>;;Timeout in seconds"; + type uint32 { + range "0..2147483"; + } + default "0"; + } + } + container flowcontrol { + description + "Set the flow control"; + leaf NONE { + description + "Set no flow control"; + type empty; + } + leaf hardware { + description + "Set hardware flow control"; + type empty; + } + leaf software { + description + "Set software flow control"; + type empty; + } + } + leaf full-help { + description + "Provide help to unprivileged user"; + type empty; + } + container history { + description + "Enable and control the command history function"; + presence "true"; + leaf size { + description + "Set history buffer size"; + type uint16 { + range "0..256"; + } + } + } + leaf international { + description + "Enable international 8-bit character support"; + type empty; + } + container ip { + description + "IP options"; + container netmask-format { + description + "Change display of netmasks"; + presence "true"; + leaf format { + type enumeration { + enum bit-count; + enum decimal; + enum hexadecimal; + } + } + } + leaf tcp { + type empty; + } + } + container ipv6 { + container access-class { + list access-class { + key "access-class-name"; + leaf access-class-name { + type string; + } + leaf enumeration-in-out { + type enumeration { + enum in; + enum out; + } + } + leaf vrfname { + description + "Access list is applied for given VRFs"; + type string; + } + } + } + } + leaf length { + description + "Set number of lines on a screen"; + type uint16 { + range "0..512"; + } + } + leaf line { + type uint8; + } + leaf location { + description + "One text line describing the terminal's location"; + type string; + } + container logging { + description + "Modify message logging facilities"; + container synchronous { + description + "Synchronized message output"; + presence "true"; + } + } + container login { + description + "Enable password checking"; + leaf local { + type empty; + } + leaf authentication { + type string; + default "default"; + } + } + leaf logout-warning { + description + "Warning countdown for absolute timeout of line in seconds"; + type uint32 { + range "0..4294967295"; + } + default "20"; + } + container media-type { + description + "Console connection media type"; + leaf rj45 { + description + "Console connection set to RJ45"; + type empty; + } + } + container modem { + description + "Configure the Modem Control Lines"; + leaf CTS-Alarm { + description + "Alarm device which only uses CTS for call control"; + type empty; + } + leaf DTR-active { + description + "Leave DTR low unless line has an active incoming connection or EXEC"; + type empty; + } + leaf Dialin { + description + "Configure line for a modern dial-in modem"; + type empty; + } + leaf Host { + description + "Devices that expect an incoming modem call"; + type empty; + } + leaf InOut { + description + "Configure line for incoming AND outgoing use of modem"; + type empty; + } + leaf Printer { + description + "Devices that require DSR/CD active"; + type empty; + } + leaf answer-timeout { + description + "Set interval between raising DTR and CTS response"; + type empty; + } + container autoconfigure { + description + "Automatically configure modem on line"; + leaf discovery { + description + "Attempt to determine modem type automatically"; + type empty; + } + leaf type { + description + "Modem Type"; + type string; + } + } + leaf dtr-delay { + description + "Set interval during which DTR is held low"; + type empty; + } + } + leaf monitor { + description + "Copy debug output to the current terminal line"; + type empty; + } + leaf motd-banner { + description + "Enable the display of the MOTD banner"; + type empty; + } + leaf notify { + description + "Inform users of output from concurrent sessions"; + type empty; + } + container padding { + description + "Set padding for a specified output character"; + leaf character { + description + "Character to be padded"; + type union { + type uint8 { + range "0..127"; + } + type string; + } + } + leaf null { + type uint8; + } + } + container parity { + description + "Set terminal parity"; + leaf even { + description + "Even parity"; + type empty; + } + leaf mark { + description + "Mark parity"; + type empty; + } + leaf none { + description + "No parity"; + type empty; + } + leaf odd { + description + "Odd parity"; + type empty; + } + leaf space { + description + "Space parity"; + type empty; + } + } + container password { + description + "Set a password"; + uses password-07-grouping; + } + container prc { + description + "PRC commands"; + leaf expose { + description + "Expose PRC data"; + type empty; + } + leaf hide { + description + "Hide PRC data"; + type empty; + } + } + container privilege { + description + "Change privilege level for line"; + container level { + description + "Assign default privilege level for line"; + leaf number { + type uint8 { + range "0..15"; + } + } + } + } + leaf rotary { + description + "Rotary group to add line to"; + type uint8 { + range "1..99"; + } + } + leaf rxspeed { + description + "Receive speed"; + type uint32 { + range "0..4294967295"; + } + } + container session-disconnect-warning { + description + "Set the session disconnect warning"; + leaf seconds { + description + "Session timeout warning in seconds"; + type uint32 { + range "0..4294967295"; + } + } + leaf message { + description + "Optional warning message"; + type string; + } + } + leaf session-limit { + description + "Set maximum number of sessions"; + type uint32; + } + container session-timeout { + description + "Set interval for closing connection when there is no input traffic"; + leaf session-timeout-value { + type uint16 { + range "0..35791"; + } + } + leaf output { + description + "Include output traffic as well as input traffic"; + type empty; + } + } + leaf special-character-bits { + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + leaf speed { + description + "Transmit and receive speeds"; + type uint32 { + range "0..4294967295"; + } + } + leaf start-character { + description + "Define the start character"; + type union { + type uint8; + type string; + } + } + leaf stop-character { + description + "Define the stop character"; + type union { + type uint8; + type string; + } + } + leaf stopbits { + description + "Set async line stop bits"; + type enumeration { + enum 1; + enum 1.5; + enum 2; + } + } + leaf terminal-type { + description + "Terminal type"; + type string; + } + container timeout { + description + "Timeouts for the line"; + container login-config { + description + "Timeouts related to the login sequence"; + container login { + description + "Timeouts related to the login sequence"; + leaf response { + description + "Timeout for any user input during login sequences"; + type uint16 { + range "1..300"; + } + default "30"; + } + } + } + leaf login { + description + "Timeouts related to the login sequence"; + status obsolete; + type empty; + } + } + container telnet { + description + "Telnet protocol-specific configuration"; + leaf transparent { + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + type empty; + } + } + container transport { + description + "Define transport protocols for line"; + container output { + choice output-protocol { + case all-protocol { + leaf all { + description + "All protocols"; + type empty; + } + } + case no-protocol { + leaf none { + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + leaf-list output { + description + "Define which protocols to use for outgoing connections"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + } + } + container preferred { + description + "Specify the preferred protocol to use"; + leaf protocol { + type enumeration { + enum acercon; + enum lat; + enum mop; + enum nasi; + enum none; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + } + } + } + } + leaf txspeed { + description + "Transmit speed"; + type uint32; + } + container usb-inactivity-timeout { + description + "Inactivity timeout for USB media type"; + leaf switch { + description + "Switch Number"; + type empty; + } + } + leaf width { + description + "Number of characters on a screen line"; + type uint16 { + range "0..512"; + } + } + } + + grouping line-grouping-deprecated { + container authorization { + status deprecated; + description + "Authorization parameters"; + list commands { + status deprecated; + description + "For exec (shell) commands"; + key "enable-level auth-name"; + leaf enable-level { + status deprecated; + type uint8 { + range "0..15"; + } + } + leaf auth-name { + status deprecated; + type string; + } + } + container exec { + status deprecated; + description + "For starting an exec (shell)"; + leaf authorization-name { + status deprecated; + description + "Use an authorization list with this name"; + type string; + } + leaf default { + status deprecated; + description + "Use the default authorization list"; + type empty; + } + } + } + container access-class { + status deprecated; + description + "Filter connections based on an IP access list"; + list acccess-list { + status deprecated; + key "direction"; + leaf direction { + status deprecated; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + status deprecated; + type ios-types:exp-acl-type; + mandatory true; + } + leaf vrf-also { + status deprecated; + description + "Same access list is applied for all VRFs"; + type empty; + } + } + } + leaf no-activation-character { + status deprecated; + type boolean; + } + leaf activation-character { + status deprecated; + description + "Define the activation character"; + type union { + type string; + type uint8 { + range "0..127"; + } + } + } + container autocommand { + status deprecated; + description + "Automatically execute an EXEC command"; + leaf line { + status deprecated; + description + "Appropriate EXEC command"; + type string; + } + container no-suppress-linenumber { + status deprecated; + description + "Display service linenumber message"; + presence "true"; + leaf line { + status deprecated; + description + "Appropriate EXEC command"; + type string; + } + } + } + container autocommand-options { + status deprecated; + description + "Autocommand options"; + presence "true"; + container abort-character { + status deprecated; + description + "Autocommand abort character"; + presence "true"; + leaf character { + status deprecated; + type union { + type uint8; + type string; + } + } + } + container delay { + status deprecated; + description + "Delay autocommand execution"; + presence "true"; + leaf time { + status deprecated; + description + "Time in seconds"; + type uint8 { + range "0..120"; + } + } + } + container nohangup { + status deprecated; + description + "No hangup after autocommand completion"; + presence "true"; + leaf abort-character { + status deprecated; + description + "Autocommand abort character"; + type empty; + } + leaf delay { + status deprecated; + description + "Delay autocommand execution"; + type empty; + } + } + } + container autohangup_only { + status deprecated; + leaf autohangup { + status deprecated; + description + "Automatically hangup when last connection closes"; + type empty; + } + } + container autohangup { + status deprecated; + description + "Automatically hangup when last connection closes"; + leaf session-timeout { + status deprecated; + description + "Automatically hangup when current session Times-out"; + type boolean; + default "true"; + } + } + leaf data-character-bits { + status deprecated; + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container databits { + status deprecated; + description + "Set number of data bits per character"; + leaf set-to-5 { + status deprecated; + description + "Number of data bits"; + type empty; + } + leaf set-to-6 { + status deprecated; + description + "Number of data bits"; + type empty; + } + leaf set-to-7 { + status deprecated; + description + "Number of data bits"; + type empty; + } + leaf set-to-8 { + status deprecated; + description + "Number of data bits"; + type empty; + } + } + leaf domain-lookup { + status deprecated; + description + "Enable domain lookups in show commands"; + type empty; + } + leaf editing { + status deprecated; + description + "Enable command line editing"; + type empty; + } + container escape-character { + status deprecated; + description + "Change the current line's escape character"; + leaf char { + status deprecated; + type union { + type uint8; + type enumeration { + enum BREAK; + enum DEFAULT; + enum NONE; + } + type string; + } + } + leaf soft { + status deprecated; + type empty; + } + } + choice exec-choice { + container no-exec { + status deprecated; + leaf exec { + description + "Configure EXEC"; + type boolean; + } + } + container exec { + status deprecated; + container prompt { + status deprecated; + leaf timestamp { + status deprecated; + type empty; + } + } + } + } + leaf exec-banner { + status deprecated; + description + "Enable the display of the EXEC banner"; + type empty; + } + leaf exec-character-bits { + status deprecated; + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + container exec-timeout { + status deprecated; + description + "Set the EXEC timeout"; + leaf minutes { + status deprecated; + description + "<0-35791>;;Timeout in minutes"; + type uint32 { + range "0..35791"; + } + } + leaf seconds { + status deprecated; + description + "<0-2147483>;;Timeout in seconds"; + type uint32 { + range "0..2147483"; + } + } + } + container flowcontrol { + status deprecated; + description + "Set the flow control"; + leaf NONE { + status deprecated; + description + "Set no flow control"; + type empty; + } + leaf hardware { + status deprecated; + description + "Set hardware flow control"; + type empty; + } + leaf software { + status deprecated; + description + "Set software flow control"; + type empty; + } + } + leaf full-help { + status deprecated; + description + "Provide help to unprivileged user"; + type empty; + } + container history { + status deprecated; + description + "Enable and control the command history function"; + presence "true"; + leaf size { + status deprecated; + description + "Set history buffer size"; + type uint16 { + range "0..256"; + } + } + } + leaf international { + status deprecated; + description + "Enable international 8-bit character support"; + type empty; + } + container ip { + status deprecated; + description + "IP options"; + container netmask-format { + status deprecated; + description + "Change display of netmasks"; + presence "true"; + leaf format { + status deprecated; + type enumeration { + enum bit-count; + enum decimal; + enum hexadecimal; + } + } + } + leaf tcp { + status deprecated; + type empty; + } + } + container ipv6 { + status deprecated; + container access-class { + status deprecated; + list access-class { + status deprecated; + key "access-class-name"; + leaf access-class-name { + status deprecated; + type string; + } + leaf enumeration-in-out { + status deprecated; + type enumeration { + enum in; + enum out; + } + } + } + } + } + leaf length { + status deprecated; + description + "Set number of lines on a screen"; + type uint16 { + range "0..512"; + } + } + leaf line { + status deprecated; + type uint8; + } + leaf location { + status deprecated; + description + "One text line describing the terminal's location"; + type string; + } + container logging { + status deprecated; + description + "Modify message logging facilities"; + container synchronous { + status deprecated; + description + "Synchronized message output"; + presence "true"; + } + } + container login { + status deprecated; + description + "Enable password checking"; + leaf local { + type empty; + } + leaf authentication { + status deprecated; + type string; + default "default"; + } + } + container media-type { + status deprecated; + description + "Console connection media type"; + leaf rj45 { + description + "Console connection set to RJ45"; + type empty; + } + } + container modem { + status deprecated; + description + "Configure the Modem Control Lines"; + leaf CTS-Alarm { + status deprecated; + description + "Alarm device which only uses CTS for call control"; + type empty; + } + leaf DTR-active { + status deprecated; + description + "Leave DTR low unless line has an active incoming connection or EXEC"; + type empty; + } + leaf Dialin { + status deprecated; + description + "Configure line for a modern dial-in modem"; + type empty; + } + leaf Host { + status deprecated; + description + "Devices that expect an incoming modem call"; + type empty; + } + leaf InOut { + status deprecated; + description + "Configure line for incoming AND outgoing use of modem"; + type empty; + } + leaf Printer { + status deprecated; + description + "Devices that require DSR/CD active"; + type empty; + } + leaf answer-timeout { + status deprecated; + description + "Set interval between raising DTR and CTS response"; + type empty; + } + container autoconfigure { + status deprecated; + description + "Automatically configure modem on line"; + leaf discovery { + status deprecated; + description + "Attempt to determine modem type automatically"; + type empty; + } + leaf type { + status deprecated; + description + "Modem Type"; + type string; + } + } + leaf dtr-delay { + status deprecated; + description + "Set interval during which DTR is held low"; + type empty; + } + } + leaf monitor { + status deprecated; + description + "Copy debug output to the current terminal line"; + type empty; + } + leaf motd-banner { + status deprecated; + description + "Enable the display of the MOTD banner"; + type empty; + } + leaf notify { + status deprecated; + description + "Inform users of output from concurrent sessions"; + type empty; + } + container padding { + status deprecated; + description + "Set padding for a specified output character"; + leaf character { + status deprecated; + description + "Character to be padded"; + type union { + type uint8 { + range "0..127"; + } + type string; + } + } + leaf null { + status deprecated; + type uint8; + } + } + container parity { + status deprecated; + description + "Set terminal parity"; + leaf even { + status deprecated; + description + "Even parity"; + type empty; + } + leaf mark { + status deprecated; + description + "Mark parity"; + type empty; + } + leaf none { + status deprecated; + description + "No parity"; + type empty; + } + leaf odd { + status deprecated; + description + "Odd parity"; + type empty; + } + leaf space { + status deprecated; + description + "Space parity"; + type empty; + } + } + container password { + status deprecated; + description + "Set a password"; + uses password-07-grouping; + } + container prc { + status deprecated; + description + "PRC commands"; + leaf expose { + status deprecated; + description + "Expose PRC data"; + type empty; + } + leaf hide { + status deprecated; + description + "Hide PRC data"; + type empty; + } + } + container privilege { + status deprecated; + description + "Change privilege level for line"; + container level { + status deprecated; + description + "Assign default privilege level for line"; + leaf number { + status deprecated; + type uint8 { + range "0..15"; + } + } + } + } + leaf rotary { + status deprecated; + description + "Rotary group to add line to"; + type uint8 { + range "1..99"; + } + } + leaf rxspeed { + status deprecated; + description + "Receive speed"; + type uint32 { + range "0..4294967295"; + } + } + container session-disconnect-warning { + status deprecated; + description + "Set the session disconnect warning"; + leaf seconds { + status deprecated; + description + "Session timeout warning in seconds"; + type uint32 { + range "0..4294967295"; + } + } + leaf message { + status deprecated; + description + "Optional warning message"; + type string; + } + } + leaf session-limit { + status deprecated; + description + "Set maximum number of sessions"; + type uint32; + } + container session-timeout { + status deprecated; + description + "Set interval for closing connection when there is no input traffic"; + leaf session-timeout-value { + status deprecated; + type uint16 { + range "0..35791"; + } + } + leaf output { + status deprecated; + description + "Include output traffic as well as input traffic"; + type empty; + } + } + leaf special-character-bits { + status deprecated; + description + "Bits per character"; + type uint8 { + range "7..8"; + } + } + leaf speed { + status deprecated; + description + "Transmit and receive speeds"; + type uint32 { + range "0..4294967295"; + } + } + leaf start-character { + status deprecated; + description + "Define the start character"; + type union { + type uint8; + type string; + } + } + leaf stop-character { + status deprecated; + description + "Define the stop character"; + type union { + type uint8; + type string; + } + } + leaf stopbits { + status deprecated; + description + "Set async line stop bits"; + type enumeration { + enum 1; + enum 1.5; + enum 2; + } + } + leaf terminal-type { + status deprecated; + description + "Terminal type"; + type string; + } + container timeout { + status deprecated; + description + "Timeouts for the line"; + leaf login { + status deprecated; + description + "Timeouts related to the login sequence"; + type empty; + } + } + container telnet { + status deprecated; + description + "Telnet protocol-specific configuration"; + leaf transparent { + status deprecated; + description + "Send a CR as a CR followed by a NULL instead of a CR followed by a LF"; + type empty; + } + } + container transport { + status deprecated; + description + "Define transport protocols for line"; + container input { + status deprecated; + choice input-protocol { + case all-protocol { + leaf all { + status deprecated; + description + "All protocols"; + type empty; + } + } + case no-protocol { + leaf none { + status deprecated; + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + leaf-list input { + status deprecated; + description + "Define which protocols to use when connecting to the terminal server"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + } + } + container output { + status deprecated; + choice output-protocol { + case all-protocol { + leaf all { + status deprecated; + description + "All protocols"; + type empty; + } + } + case no-protocol { + leaf none { + status deprecated; + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + leaf-list output { + status deprecated; + description + "Define which protocols to use for outgoing connections"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + } + } + container preferred { + status deprecated; + description + "Specify the preferred protocol to use"; + leaf protocol { + status deprecated; + type enumeration { + enum acercon; + enum lat; + enum mop; + enum nasi; + enum none; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + } + } + } + } + leaf txspeed { + status deprecated; + description + "Transmit speed"; + type uint32; + } + container usb-inactivity-timeout { + status deprecated; + description + "Inactivity timeout for USB media type"; + leaf switch { + status deprecated; + description + "Switch Number"; + type empty; + } + } + leaf width { + status deprecated; + description + "Number of characters on a screen line"; + type uint16 { + range "0..512"; + } + } + } + + grouping config-line-grouping { + container line { + description + "Configure a terminal line"; + leaf auto-consolidation { + description + "Enable/Disable auto-consolidation of terminal lines"; + default "true"; + type boolean; + } + list line-list { + key "first-number"; + leaf first-number { + description + "First Line number"; + type uint8 { + range "0..17"; + } + } + leaf last-number { + type uint16 { + range "1..17"; + } + } + uses line-grouping; + } + list aux { + description + "Auxiliary line"; + key "first"; + max-elements 1; + leaf first { + description + "Auxiliary line number"; + type enumeration { + enum 0; + } + } + uses line-grouping-aux; + } + list console { + description + "Primary terminal line"; + key "first"; + max-elements 1; + leaf first { + description + "Console line number"; + type enumeration { + enum 0; + } + } + uses line-grouping-console; + } + list vty { + description + "Virtual terminal"; + key "first"; + leaf first { + description + "Vty first line number"; + type uint16 { + range "0..1869"; + } + } + leaf last { + description + "Vty last line number"; + type uint16 { + range "1..1869"; + } + } + uses line-grouping; + } + list async-line-single { + key "first-name"; + leaf first-name { + description + "First Line name"; + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + uses line-grouping; + } + list async-line-range { + key "first-name last-name"; + leaf first-name { + description + "First Line name in the range"; + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + leaf last-name { + description + "Last Line name in the range"; + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + uses line-grouping; + } + list async-line { + status deprecated; + key "first-name"; + leaf first-name { + status deprecated; + description + "First Line name"; + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + leaf last-name { + status deprecated; + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + uses line-grouping-deprecated; + } + } + } + + grouping line-grouping-console { + uses line-grouping-con-and-aux { + augment "transport" { + uses line-grouping-transport-input-obsolete; + } + } + } + + grouping transport-input-grouping { + container input { + description + "Define which protocols to use for incoming connections"; + choice input-protocol { + default "default-ssh"; + case all-protocol { + leaf all { + description + "All protocols"; + type empty; + } + } + case no-protocol { + leaf none { + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + leaf-list input { + description + "Define which protocols to use when connecting to the terminal server"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + case default-ssh { + leaf ssh { + type boolean; + default "true"; + } + } + } + } + } + + grouping line-grouping { + uses line-grouping-common { + augment "transport" { + uses transport-input-grouping; + } + } + } + + grouping line-grouping-aux { + uses line-grouping-con-and-aux { + augment "transport" { + uses transport-input-grouping { + refine "input/input-protocol/default-ssh/ssh" { + default "false"; + } + } + } + } + } + + grouping line-grouping-transport-input-obsolete { + container input { + status obsolete; + choice input-protocol { + status obsolete; + case all-protocol { + status obsolete; + leaf all { + status obsolete; + description + "All protocols"; + type empty; + } + } + case no-protocol { + status obsolete; + leaf none { + status obsolete; + description + "Define no transport protocols for line"; + type empty; + } + } + case other-protocol { + status obsolete; + leaf-list input { + status obsolete; + description + "Define which protocols to use when connecting to the terminal server"; + ordered-by user; + type enumeration { + enum acercon; + enum lapb-ta; + enum lat; + enum mop; + enum nasi; + enum pad; + enum rlogin; + enum ssh; + enum telnet; + enum udptn; + enum v120; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-linecard-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-linecard-oper.yang new file mode 100644 index 000000000..9a7459907 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-linecard-oper.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XE-linecard-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-linecard-oper"; + prefix linecard-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring linecards in a Network Element. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "- Adding slot-id. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-03-26 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping linecard { + description + "Attributes of linecard"; + leaf name { + type string; + description + "Physical location description of the linecard"; + } + leaf power-admin-state { + type boolean; + description + "Power provided to the linecard: Enabled/Disabled"; + } + leaf slot-id { + type uint16; + description + "Identifier for the slot or chassis position in which the linecard is installed"; + } + } + + container linecard-oper-data { + config false; + description + "Top-level container for linecard operational data"; + list linecard { + key "name"; + description + "List of linecard instances, keyed by slot"; + uses linecard-ios-xe-oper:linecard; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-deviation.yang new file mode 100644 index 000000000..12db5fc26 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-deviation.yang @@ -0,0 +1,45 @@ +module Cisco-IOS-XE-lisp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lisp-deviation"; + prefix ios-lisp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-lisp { + prefix ios-lisp; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Locator ID Separation Protocol (LISP) Deviation YANG module for IOS + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "Added tcp path-mtu-discovery deviation"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:router/ios-lisp:lisp/ios-lisp:tcp/ios-lisp:path-mtu-discovery" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:router/ios-lisp:lisp-list/ios-lisp:tcp/ios-lisp:path-mtu-discovery" { + deviate replace { + default "false"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-oper.yang new file mode 100644 index 000000000..5fcfe17dc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp-oper.yang @@ -0,0 +1,3455 @@ +module Cisco-IOS-XE-lisp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lisp-oper"; + prefix lisp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + LISP operational data. + Copyright (c) 2017-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added Affinity-ID Y value presence flag for RLOC and subscriber records + - Updated a 'when' constraint for Affinity-ID Y value"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2024-03-01 { + description + "- Added new value ethernet-fast-detection to instance address family"; + reference + "3.9.0"; + cisco-semver:module-version "3.9.0"; + } + revision 2023-11-01 { + description + "- Added control plane type for publisher + - Added new value CTS to publication export type"; + reference + "3.8.0"; + cisco-semver:module-version "3.8.0"; + } + revision 2023-07-01 { + description + "- Added domain path to RLOC of registration and publication"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2023-03-01 { + description + "- Added silent host to database mapping best source type + - Added new leaf is-silent-host indicating that an entry + is sourced by silent host"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2022-11-01 { + description + "- Added support for extranet total prefix count for provider and subscriber + - Added support for extranet policy status"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2022-07-01 { + description + "- Added support for config propagation database and publication + - Added SGT table + - Added support for Affinity-ID in RLOC and subscriber records + - Updated model constraints to suppress etr-map-cache-ttl for internal + instance-AF types (AR and RAR) + - Added publication delete timer status to publication record"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-03-01 { + description + "- Added remote locator set RLOC with service insertion support + and deprecated remote locator set RLOC"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "- Added support for sgt in publication + - Added a counter under LISP instance-AF to indicate the + number of registered EIDs on the Map Server + - Added publication export status type and info to + publication record + - Added SI type and SI identifier to the map cache"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Added a flag under LISP instances to indicate whether + support for multiple IP per MAC detection is enabled + - Expanded si-type to include new ETR states + - Added support for etr-type + - Added sgt and is-sgt-configured in: + - map-cache list + - ms-registrations list + - local-dbase list"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Added encap-iid and is-encap-iid-set flag to + publish-subscribe mapping type + - Added encap-iid and is-encap-iid-set flag to + publication mappings received list + - Added domain-id-type to specify special domain-id values, + domain-id is displayed when domain-id-type is valid + - Added best source, domain-id-type and domain-id to the local + database mapping record + - Added skip-registration, auto-discover-rloc, locator-set and + register-on-group-msmr to local database mapping + - Added subscription type to subscriber list + - Added support for route-metric + - Added support for domain-id, multihoming-id and state"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added is-active flag + - Added expiry time valid flag + - Added dependency for last update time + - Added dependency for last signal suppression time + - Added Service Insertion type and identifier + - Added default-etr to local database-mapping"; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2019-11-01 { + description + "- Added route tag information + - Added creation-time and last-change-time for local EID-prefix + - Added counters of active and inactive EIDs + - Added Site-ID specific information + - Domain-ID/Multihoming-ID at router node + - ETR map server list per local EID + - A new owner, publications, for Map Cache, Prefix List + and local EIDs added"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2019-05-01 { + description + "- Added remote-locator-set data. + - Added semantic version"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2018-12-07 { + description + "- Added lisp publish/subscribe data + - Cleaned up spelling errors in descriptions + - New IAF leaves for first packet loss + - New Map cache leaves for first packet loss + - Add last-stats-clear-time and ddt-requests-failed leaves under + instances/af"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2018-08-01 { + description + "- New stats leafs for LISP assurance + - New lists: + - Extranets + - Extranet member instances + - Extranet per-address-family EIDs + - Added map-cache best information source + - Added lisp prefix-list"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-02-01 { + description + "New leaf in the Local Database Grouping. + Added lisp prefix-list"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-10-25 { + description + "New leaves in lists: + - LISP instance + - Instance-AF + - ITR's map-cache + - ITR's map-cache RLOCs (and the list is renamed) + New lists: + - Reliable Registration sessions + - Map-Server registration database + - ETR's local mappings + - Local RLOCs + - ETR's list of map-servers + - ITR's list of map-resolvers + - ITR's list of Proxy ETRs + - Map-Server EID membership + - ETR EID membership"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-07-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef lisp-address-family-type { + type enumeration { + enum ipv4-afi { + value 0; + description + "IANA IPv4 address family"; + } + enum ipv6-afi { + value 1; + description + "IANA IPv6 address family"; + } + enum mac-afi { + value 2; + description + "IANA MAC address family"; + } + } + description + "Address-family of a LISP address or prefix"; + } + + typedef lisp-control-plane-type { + type enumeration { + enum cp-none { + value 0; + description + "Invalid control plane"; + } + enum cp-local { + value 1; + description + "Local control plane"; + } + enum cp-transit { + value 2; + description + "Transit control plane"; + } + enum cp-service { + value 3; + description + "Service control plane"; + } + } + description + "Type of control plane"; + } + + typedef lisp-iaftype-type { + type enumeration { + enum iaf-ipv4 { + value 0; + description + "IPv4 instance service"; + } + enum iaf-ipv6 { + value 1; + description + "IPv6 instance service"; + } + enum iaf-mac { + value 2; + description + "MAC (L2) instance service"; + } + enum iaf-ar { + value 3; + description + "Address Resolution (L3 address-to-MAC) instance + service"; + } + enum iaf-rar { + value 4; + description + "Reverse Address Resolution (MAC-to-L3 address) + instance service"; + } + } + description + "Type of service for an Address-Family within a single + LISP instance"; + } + + typedef lisp-map-reply-action-type { + type enumeration { + enum no-action { + value 0; + description + "Mapping is kept alive and no encapsulation occurs"; + } + enum natively-forward { + value 1; + description + "Matching packets are forwarded without + LISP encapsulation"; + } + enum send-map-request { + value 2; + description + "Matching packets trigger sending Map-Requests"; + } + enum drop { + value 3; + description + "Matching packets are dropped"; + } + enum unknown-eid-forward { + value 4; + description + "Unknown EIDs are replied by MR with address of PETR"; + } + } + description + "Defines the LISP map-cache ACT type as described + in the section 6.1.4 of RFC 6830. Valid only + for negative map-cache entries"; + } + + typedef lisp-rloc-state-type { + type enumeration { + enum lisp-rloc-state-down { + value 0; + description + "Locator is down or unreachable"; + } + enum lisp-rloc-state-up { + value 1; + description + "Locator is up and reachable"; + } + } + description + "Reachability state of a RLOC"; + } + + typedef lisp-domain-id-type { + type enumeration { + enum domain-id-valid { + value 0; + description + "Domain-id is valid"; + } + enum domain-id-default { + value 1; + description + "Domain-id is default"; + } + enum domain-id-extranet { + value 2; + description + "Domain-id is extranet"; + } + enum domain-id-invalid { + value 3; + description + "Domain-id is invalid"; + } + enum domain-id-reserved-start { + value 4; + description + "Domain-id is reserved start"; + } + } + description + "Domain-id type"; + } + + typedef lisp-pubsub-subs-type { + type enumeration { + enum lisp-subs-type-iid { + value 0; + description + "Subscription type is IID"; + } + enum lisp-subs-type-policy { + value 1; + description + "Subscription type is Policy"; + } + enum lisp-subs-type-none { + value 2; + description + "Subscription type not present"; + } + } + description + "Type of subscription between publisher subscriber"; + } + + typedef lisp-remote-eid-state-type { + type enumeration { + enum remote-eid-state-unknown { + value 0; + description + "Remote EID state is unknown"; + } + enum remote-eid-state-incomplete { + value 1; + description + "Remote EID state is incomplete"; + } + enum remote-eid-state-complete { + value 2; + description + "Remote EID state is complete"; + } + enum remote-eid-state-drop { + value 3; + description + "Remote EID state is drop"; + } + enum remote-eid-state-native-fwd { + value 4; + description + "Remote EID state is native forward"; + } + enum remote-eid-state-map-request { + value 5; + description + "Remote EID state is map request"; + } + enum remote-eid-state-deleted { + value 6; + description + "Remote EID state is deleted"; + } + enum remote-eid-state-reused { + value 7; + description + "Remote EID state is reused"; + } + enum remote-eid-state-unknown-eid-fwd { + value 8; + description + "Remote EID state is unknown EID forward"; + } + } + description + "Remote EID state type"; + } + + typedef lisp-etr-type { + type enumeration { + enum etr-none { + value 0; + description + "This ETR is not a border"; + } + enum etr-service { + value 1; + description + "ETR configured as service border"; + } + enum etr-default { + value 2; + description + "ETR configured as default border"; + } + } + description + "Service ETR type"; + } + + typedef lisp-si-type { + type enumeration { + enum si-none { + value 0; + description + "Service Insertion not present"; + } + enum si-s2s { + value 1; + description + "Service Insertion subscriber to subscriber"; + } + enum si-firewall { + value 2; + description + "Service Insertion default firewall"; + } + enum si-srv-etr-firewall { + value 3; + description + "Service Insertion firewall"; + } + enum si-first-packet-petr { + value 4; + description + "Service Insertion first-packet-petr"; + } + enum si-def-etr-inet-up { + value 5; + description + "Default-etr service with direct internet in use, no back up available"; + } + enum si-def-etr-inet-up-bk-ready { + value 6; + description + "Default-etr service with direct internet in use, backup-available"; + } + enum si-def-etr-bk-inet-up { + value 7; + description + "Default-etr service with backup in use, direct internet not available"; + } + enum si-def-etr-bk-up-inet-ready { + value 8; + description + "Default-etr service with backup in use, direct internet available"; + } + } + description + "Service Insertion Type"; + } + + typedef lisp-session-state-type { + type enumeration { + enum lisp-session-state-incomplete { + value 0; + description + "Session parameters are incomplete"; + } + enum lisp-session-state-listening { + value 1; + description + "Session represents the passively listening socket"; + } + enum lisp-session-state-down { + value 2; + description + "Session is down"; + } + enum lisp-session-state-up { + value 3; + description + "Session is up"; + } + } + description + "State of a TCP session"; + } + + typedef lisp-local-dbase-map-best-source-type { + type enumeration { + enum lisp-local-dbmap-src-invalid { + value 0; + description + "Database mapping best source invalid"; + } + enum lisp-local-dbmap-src-static { + value 1; + description + "Database mapping best source is static"; + } + enum lisp-local-dbmap-src-dynamic { + value 2; + description + "Database mapping best source is dynamic"; + } + enum lisp-local-dbmap-src-test { + value 3; + description + "Database mapping best source is test"; + } + enum lisp-local-dbmap-src-import-site-reg { + value 4; + description + "Database mapping best source is import site reg"; + } + enum lisp-local-dbmap-src-import-pub { + value 5; + description + "Database mapping best source is import publication"; + } + enum lisp-local-dbmap-src-rib { + value 6; + description + "Database mapping best source is RIB "; + } + enum lisp-local-dbmap-src-import-pub-cp { + value 7; + description + "Database mapping best source is import publication cfg prop"; + } + enum lisp-local-dbmap-src-silent-host { + value 8; + description + "Database mapping best source is silent host"; + } + } + description + "Database mapping best source Type"; + } + + typedef lisp-map-cache-information-best-source-type { + type enumeration { + enum lisp-map-cache-info-best-source-invalid { + value 0; + description + "Map-cache best source invalid"; + } + enum lisp-map-cache-info-best-source-static { + value 1; + description + "Map-cache best source is static"; + } + enum lisp-map-cache-info-best-source-use-nat-rtr { + value 2; + description + "Map-cache installed for encapsulation via NAT-RTR"; + } + enum lisp-map-cache-info-best-source-nat-rtr { + value 3; + description + "Map-cache installed by RTR"; + } + enum lisp-map-cache-info-best-source-transient { + value 4; + description + "Map-cache installed from a set"; + } + enum lisp-map-cache-info-best-source-static-configured { + value 5; + description + "Map-cache statically configured"; + } + enum lisp-map-cache-info-best-source-via-site-reg { + value 6; + description + "Map-cache installed via site registration"; + } + enum lisp-map-cache-info-best-source-rtimp { + value 7; + description + "Map-cache installed via route import"; + } + enum lisp-map-cache-info-best-source-dyn-eid-group { + value 8; + description + "Map-cache source via dynamic eid group"; + } + enum lisp-map-cache-info-best-source-away { + value 9; + description + "Map-cache is known to be away"; + } + enum lisp-map-cache-info-best-source-extranet-policy { + value 10; + description + "Map-cache best source due to extranet policy"; + } + enum lisp-map-cache-info-best-source-pub-sub { + value 11; + description + "Map-cache installed via publication"; + } + } + description + "Source of the best map cache information"; + } + + typedef lisp-map-cache-information-best-source-trans-type { + type enumeration { + enum lisp-map-cache-info-best-source-trans-invalid { + value 0; + description + "Map-cache best source transient invalid"; + } + enum lisp-map-cache-info-best-source-trans-map-request { + value 1; + description + "Map-cache best source is transient via map request"; + } + enum lisp-map-cache-info-best-source-trans-map-reply { + value 2; + description + "Map-cache best source is transient via map reply"; + } + enum lisp-map-cache-info-best-source-trans-nsf-replay { + value 3; + description + "Map-cache best source transient through NSF replay"; + } + enum lisp-map-cache-info-best-source-trans-persistent-replay { + value 4; + description + "Map-cache best source transient via persistent replay"; + } + enum lisp-map-cache-info-best-source-trans-data-signal { + value 5; + description + "Map-cache best source is transient due to data signal"; + } + enum lisp-map-cache-info-best-source-trans-lig { + value 6; + description + "Map-cache best source is transient via LIG"; + } + enum lisp-map-cache-info-best-source-trans-eid-probe { + value 7; + description + "Map-cache best source is transient via EID probe"; + } + enum lisp-map-cache-info-best-source-trans-eid-watch { + value 8; + description + "Map-cache best source is transient via EID watch"; + } + enum lisp-map-cache-info-best-source-trans-away { + value 9; + description + "Map-cache best source is transient via away entry"; + } + enum lisp-map-cache-info-best-source-trans-wlc-mnotify { + value 10; + description + "Map-cache best source transient via WLC map notify"; + } + } + description + "Source of the best map_cache transient information"; + } + + typedef lisp-extranet-policy-state-type { + type enumeration { + enum lisp-extranet-policy-down { + value 0; + description + "Policy state is down"; + } + enum lisp-extranet-policy-up { + value 1; + description + "Policy state is up"; + } + } + description + "State of a Extranet Policy"; + } + + typedef lisp-capabilities-type { + type bits { + bit publish-subscribe-instance-id { + position 0; + description + "Capability to support mapping publication and subscription by + instance-id"; + } + bit domain-info { + position 1; + description + "Capability to support exchange of multi-site domain information"; + } + bit route-tag { + position 2; + description + "Capability to support exchange of route tags"; + } + } + description + "Capabilities enabled for a LISP router"; + } + + typedef lisp-pubsub-export-type { + type bits { + bit exp-local-eid { + position 0; + description + "Indicates whether a local-eid entry was sourced on + behalf of this publication"; + } + bit exp-prefix-list { + position 1; + description + "Indicates whether a prefix-list entry was sourced on + behalf of this publication"; + } + bit exp-map-cache { + position 2; + description + "Indicates whether a map-cache entry was sourced on + behalf of this publication"; + } + bit exp-rib { + position 3; + description + "Indicates whether a RIB entry was sourced on + behalf of this publication"; + } + bit exp-cts { + position 4; + description + "Indicates whether a CTS entry was sourced on + behalf of this publication"; + } + } + description + "Export status of the publication"; + } + + grouping lisp-address-type { + description + "Generalized LISP address (EID or RLOC)"; + leaf afi { + type lisp-ios-xe-oper:lisp-address-family-type; + description + "LISP Address-Family of the address"; + } + leaf address { + type string; + description + "LISP address. Format is defined by the AF"; + } + } + + grouping lisp-prefix-type { + description + "Generalized LISP EID prefix"; + leaf afi { + type lisp-ios-xe-oper:lisp-address-family-type; + description + "LISP Address-Family of the prefix"; + } + leaf prefix { + type string; + description + "LISP prefix. Format is defined by the AF"; + } + } + + grouping lisp-rloc-parameters-type { + description + "Packet forwarding properties of a RLOC"; + leaf priority { + type uint8; + description + "Locator priority"; + } + leaf weight { + type uint8; + description + "Locator weight"; + } + leaf mcast-priority { + type uint8; + description + "Locator's multicast priority"; + } + leaf mcast-weight { + type uint8; + description + "Locator's multicast weight"; + } + leaf is-affinity-id-present { + type boolean; + description + "Affinity-ID presence flag"; + } + leaf affinity-id-x { + when "boolean(../is-affinity-id-present = 'true')"; + type uint64; + description + "Affinity-ID x value"; + } + leaf affinity-id-y { + when "boolean(../is-affinity-id-y-present = 'true')"; + type uint64; + description + "Affinity-ID y value"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Affinity-ID y value presence flag"; + } + } + + grouping lisp-local-dbase-rloc-type { + description + "Description of a RLOC (locator address and its properties)"; + container params { + description + "Properties of the locator"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf is-local { + type boolean; + description + "Indicates if RLOC local to the device or to another xTR + in the site; TRUE means RLOC is local to the device"; + } + leaf is-affinity-id-present { + type boolean; + description + "Indicates if Affinity-ID is present in the current RLOC"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Indicates if Affinity-ID y value is present in the current RLOC"; + } + } + + grouping lisp-local-dbase-ms-info-type { + description + "Information about ETR map server transactions"; + leaf last-registration-time { + type yang:date-and-time; + description + "Time of last registration"; + } + leaf ack-received { + type boolean; + description + "Registration acknowledgement status from the ETR map server"; + } + leaf domain-id { + type uint32; + description + "Domain-id of this ETR map server"; + } + } + + grouping lisp-local-dbase-mapping-type { + description + "EID prefix local to an ETR"; + leaf lsb { + type uint32; + description + "The Locator Status Bits for this EID-Prefix"; + } + leaf is-reachable { + when "boolean(../is-active = 'true')"; + type boolean; + description + "Indicates whether the prefix is currently reachable from this + device via EID interfaces, not applicable if the local + database mapping state is not active"; + } + list local-dbase-rloc { + key "afi address"; + description + "List of locators"; + uses lisp-ios-xe-oper:lisp-local-dbase-rloc-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf is-proxy { + type boolean; + description + "If local database mapping is proxy"; + } + list etr-map-servers { + key "afi address"; + description + "List of ETR map servers"; + uses lisp-ios-xe-oper:lisp-local-dbase-ms-info-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf creation-time { + type yang:date-and-time; + description + "Creation time for the local EID-prefix"; + } + leaf last-change-time { + type yang:date-and-time; + description + "Last change time for the local EID-prefix"; + } + leaf route-tag { + type uint32; + description + "RIB route tag associated with this mapping"; + } + leaf is-active { + type boolean; + description + "Indicates whether local database entry has + active sources (i.e. configured or dynamically discovered)"; + } + leaf is-default-etr { + type boolean; + description + "Indicates default-etr is configured"; + } + leaf si-id { + type uint16; + description + "Service Insertion identifier"; + } + leaf si-type { + type lisp-ios-xe-oper:lisp-si-type; + description + "Service Insertion type"; + } + leaf domain-id-type { + type lisp-ios-xe-oper:lisp-domain-id-type; + description + "Domain-id associated with this mapping"; + } + leaf domain-id { + when "boolean(../domain-id-type = 'domain-id-valid')"; + type uint32; + description + "Domain-ID associated with this mapping, this entry is displayed + only when domain-id is valid"; + } + leaf best-source { + type lisp-ios-xe-oper:lisp-local-dbase-map-best-source-type; + description + "Local EID best source in database"; + } + leaf locator-set-name { + when "boolean(../route-map-configured = 'true')"; + type string; + description + "Locator set associated to database mapping"; + } + leaf skip-registration { + type boolean; + description + "Indicates whether the prefix must not be registered on + any Map-Servers"; + } + leaf auto-discover-rloc { + type boolean; + description + "Indicates whether the prefix is configured to auto discover rloc + registered by other xTR"; + } + leaf register-on-group-msmr { + type boolean; + description + "Indicates whether the prefix was created by a dynamic-EID from a + dynamic-EID group with its own ETR map-servers, so we skip + this when sending registrations to the ETR map-servers for + the EID table"; + } + leaf route-map-configured { + type boolean; + description + "Indicates whether route-map is configured"; + } + leaf route-map-name { + type string; + description + "Name of route map that is mapped to the local EID-prefix"; + } + leaf route-metric { + type uint32; + description + "RIB route metric"; + } + leaf is-sgt-set { + type boolean; + description + "Indicates whether SGT is set/valid"; + } + leaf sgt { + when "boolean(../is-sgt-set = 'true')"; + type uint32; + description + "SGT value"; + } + leaf etr-type { + type lisp-ios-xe-oper:lisp-etr-type; + description + "Service ETR type"; + } + leaf is-cfg-prop { + type boolean; + description + "Mapping is sourced by config propagation publication"; + } + leaf extranet-iid { + type uint32; + description + "Extranet IID associated with this mapping"; + } + leaf is-silent-host { + type boolean; + description + "Mapping is sourced by silent host"; + } + } + + grouping lisp-ms-registration-rloc-type { + description + "Description of a Map-Server registration RLOC (locator + address and its properties)"; + container params { + description + "Properties of the locator"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf is-local { + type boolean; + description + "Indicates if RLOC is local to device which sent + registration or to another xTR in the site; TRUE means + RLOC is local to the registering device"; + } + leaf is-affinity-id-present { + type boolean; + description + "Indicates if Affinity-ID is present in the current RLOC"; + } + leaf-list domain-path { + type uint32; + ordered-by user; + description + "Accumulation of all domains crossed by a prefix"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Indicates if Affinity-ID y value is present in the current RLOC"; + } + } + + grouping lisp-ms-registration-type { + description + "Registration received by MS from an ETR"; + leaf last-registration-time { + type yang:date-and-time; + description + "Time when valid registration from the source was last + received"; + } + leaf ttl { + type uint32; + units "minutes"; + description + "Registration validity period"; + } + leaf proxy-reply { + type boolean; + description + "Indicates if the registering ETR requested proxy-replying + on Map-Requests by the Map-Server"; + } + leaf wants-map-notify { + type boolean; + description + "Indicates if the registering ETR wants to be informed about + matching registrations with Map-Notifies"; + } + list ms-registration-rloc { + key "afi address"; + description + "List of locators"; + uses lisp-ios-xe-oper:lisp-ms-registration-rloc-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf domain-multihoming-id-valid { + type boolean; + description + "Indicates whether domain and multihoming ids are valid"; + } + leaf domain-id { + type uint32; + description + "Domain-id associated with this registration"; + } + leaf multihoming-id { + type uint16; + description + "Multi-homing-id associated with this registration"; + } + leaf route-tag { + type uint32; + description + "RIB route tag associated with this mapping"; + } + } + + grouping lisp-ms-registration-source-type { + description + "Source address and port for a registration in MS database"; + leaf source-address { + type inet:ip-address; + description + "RLOC address of the registration source"; + } + leaf source-port { + type uint16; + description + "Port of the registration source"; + } + } + + grouping lisp-ms-mapping-type { + description + "EID prefix registered on the Mapping-Server"; + container last-registration-source { + description + "Source address of the last valid registration received + for this EID prefix"; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf last-registration-source-port { + type uint16; + description + "Source port of the last valid registration received for + this EID prefix"; + } + leaf creation-time { + type yang:date-and-time; + description + "Time when a valid registration was first received for + this EID prefix"; + } + leaf last-registration-time { + type yang:date-and-time; + description + "Time when most recent valid registration was received + for this EID prefix"; + } + leaf site-name { + type string; + description + "Name of site matching this registration"; + } + leaf site-description { + type string; + description + "Description given for the site matching this registration"; + } + leaf is-registered { + type boolean; + description + "Indicates the registration status of the given EID-Prefix. + If this object is true, then it means the EID-Prefix + is registered"; + } + leaf authentication-error { + type uint64; + description + "Count of registrations received for the EID prefix with + authentication error"; + } + leaf rloc-mismatch-error { + type uint64; + description + "Count of received registrations for the prefix that had + at least one RLOC that was not in the allowed list of + RLOCs"; + } + list etr-registrations { + key "source-address source-port"; + description + "List of registrations for this EID prefix received + from different ETRs"; + uses lisp-ios-xe-oper:lisp-ms-registration-type; + uses lisp-ios-xe-oper:lisp-ms-registration-source-type; + } + leaf is-sgt-set { + type boolean; + description + "Indicates whether SGT is set/valid"; + } + leaf sgt { + when "boolean(../is-sgt-set = 'true')"; + type uint32; + description + "SGT value"; + } + } + + grouping lisp-etr-map-server-type { + description + "Properties of a Map-Server where the ETR should send its + registrations"; + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf avg-rtt-5sec { + type uint32; + description + "Average RTT of map-register in milliseconds during last 5 sec"; + } + leaf avg-rtt-1min { + type uint32; + description + "Average RTT of map-register in milliseconds during last 1 min"; + } + leaf avg-rtt-5min { + type uint32; + description + "Average RTT of map-register in milliseconds during last 5 min"; + } + leaf domain-id { + type uint32; + description + "Domain-id associated with this ETR map server"; + } + } + + grouping lisp-itr-map-resolver-type { + description + "Properties of a Map-Resolver where the [P]ITR should send + Map-Requests"; + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf avg-rtt-5sec { + type uint32; + description + "Average RTT of map-request in milliseconds during last 5 sec"; + } + leaf avg-rtt-1min { + type uint32; + description + "Average RTT of map-request in milliseconds during last 1 min"; + } + leaf avg-rtt-5min { + type uint32; + description + "Average RTT of map-request in milliseconds during last 5 min"; + } + } + + grouping lisp-proxy-etr-type { + description + "Properties of a Proxy ETR where this device will send traffic + in case of the negative mapping"; + container params { + description + "Properties of the locator"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf iid { + type uint32 { + range "0 .. 16777215"; + } + description + "Instance-ID to use when sending packets to PETR"; + } + leaf is-iid-present { + type boolean; + description + "Whether specific IID should be used sending packets to PETR"; + } + leaf is-proxy-etr-learned-from-msmr { + type boolean; + description + "Indicates whether the proxy-etr is configured or learned from MSMR"; + } + } + + grouping lisp-session-peer-type { + description + "Source address and port for a LISP session peer"; + leaf peer-address { + type inet:ip-address; + description + "Address of the peer"; + } + leaf peer-port { + type uint16; + description + "Remote port used by the peer"; + } + } + + grouping lisp-pubsub-publisher-type { + description + "Attributes of a publisher from which this device is sourcing + registrations"; + leaf is-established { + type boolean; + description + "If the connection to the publisher is established"; + } + leaf publication-count { + type uint64; + description + "Count of publications received from this + publisher"; + } + leaf cp-type { + type lisp-ios-xe-oper:lisp-control-plane-type; + description + "Control plane type"; + } + } + + grouping lisp-pubsub-subscriber-type { + description + "Attributes of a subscriber to publish-subscribe + notifications"; + leaf is-established { + type boolean; + description + "If the connection to the subscriber is + established"; + } + leaf subs-type { + type lisp-ios-xe-oper:lisp-pubsub-subs-type; + description + "Type of the subscription"; + } + leaf is-affinity-id-present { + type boolean; + description + "Indicates if Affinity-ID is present in the current subscriber"; + } + leaf affinity-id-x { + when "boolean(../is-affinity-id-present = 'true')"; + type uint64; + description + "X dimension of Affinity-ID"; + } + leaf affinity-id-y { + when "boolean(../is-affinity-id-y-present = 'true')"; + type uint64; + description + "Y dimension of Affinity-ID"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Indicates if Affinity-ID y value is present in the current subscriber"; + } + } + + grouping lisp-pubsub-mapping-rloc-type { + description + "Attributes of a locator received in a mapping from a + publisher"; + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + container params { + description + "Properties of the locator"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf is-encap-iid-set { + type boolean; + description + "Indicates whether encap-iid is set or not"; + } + leaf encap-iid { + when "boolean(../is-encap-iid-set = 'true')"; + type uint32 { + range "0 .. 16777215"; + } + description + "Extranet instance-id to which the published prefix belongs to, + for cases that do have extranet instance-id this entry is not + displayed"; + } + leaf route-metric { + when "boolean(../../state = 'remote-eid-state-unknown-eid-fwd')"; + type uint32; + description + "RIB route metric"; + } + leaf domain-id { + when "boolean(../../state = 'remote-eid-state-unknown-eid-fwd')"; + type uint32; + description + "Domain ID"; + } + leaf multihoming-id { + when "boolean(../../state = 'remote-eid-state-unknown-eid-fwd')"; + type uint16; + description + "Multihoming ID"; + } + leaf is-affinity-id-present { + type boolean; + description + "Indicates if Affinity-ID is present in the current RLOC"; + } + leaf-list domain-path { + type uint32; + ordered-by user; + description + "Accumulation of all domains crossed by a prefix"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Indicates if Affinity-ID y value is present in the current RLOC"; + } + } + + grouping lisp-pubsub-mapping-type { + description + "Attributes of a mapping received from a publisher"; + leaf last-publication-time { + type yang:date-and-time; + description + "Last time a mapping record was received from this + publisher"; + } + leaf site-id { + type uint64; + description + "Site-ID common to all devices attached to the site of the + registering device"; + } + leaf-list xtr-id { + type uint8; + max-elements 16; + ordered-by user; + description + "xTR-ID of the registering device"; + } + list lisp-publication-rloc { + key "afi address"; + description + "Locator associated with this mapping"; + uses lisp-ios-xe-oper:lisp-pubsub-mapping-rloc-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf domain-id { + when "boolean(../domain-id-type = 'domain-id-valid')"; + type uint32; + description + "Domain-ID associated with this mapping, this entry is displayed + only when domain-id is valid"; + } + leaf multihoming-id { + type uint16; + description + "Multihoming-ID associated with this mapping"; + } + leaf route-tag { + type uint32; + description + "RIB route tag associated with this mapping"; + } + leaf domain-id-type { + type lisp-ios-xe-oper:lisp-domain-id-type; + description + "Domain-id type"; + } + leaf is-encap-iid-set { + type boolean; + description + "Indicates whether EID instance ID of + this publication mapping is set"; + } + leaf encap-iid { + when "boolean(../is-encap-iid-set = 'true')"; + type uint32 { + range "0 .. 16777215"; + } + description + "EID instance ID of this publication mapping"; + } + leaf state { + type lisp-ios-xe-oper:lisp-remote-eid-state-type; + description + "State of this publication mapping"; + } + leaf is-sgt-set { + type empty; + description + "Indicates whether SGT is set/valid"; + } + leaf sgt { + when 'boolean(../is-sgt-set)'; + type uint32; + description + "SGT value"; + } + leaf expiry-time { + when 'boolean(../expiry-time-valid)'; + type yang:date-and-time; + description + "Time when this entry will expire if not refreshed; + for entries which do not have an expiration time this + time is not applicable"; + } + leaf expiry-time-valid { + type empty; + description + "Indication if expiry time is valid"; + } + } + + grouping lisp-pubsub-mapping-publisher-type { + description + "The address and port of the publisher of this + mapping"; + leaf publisher-address { + type inet:ip-address; + description + "Address of the publisher"; + } + leaf publisher-port { + type uint16; + description + "Port of the publisher"; + } + } + + grouping lisp-pubsub-publication-type { + description + "Attributes of a received publication"; + leaf first-publication-time { + type yang:date-and-time; + description + "First time a mapping record was received for this + EID"; + } + leaf last-publication-time { + type yang:date-and-time; + description + "Last time a mapping record was received for this + EID"; + } + list lisp-publication-mapping { + key "publisher-address publisher-port"; + description + "A mapping received for this EID"; + uses lisp-ios-xe-oper:lisp-pubsub-mapping-type; + uses lisp-ios-xe-oper:lisp-pubsub-mapping-publisher-type; + } + leaf exported-to { + type lisp-ios-xe-oper:lisp-pubsub-export-type; + description + "Indicates the export status of this EID"; + } + } + + grouping lisp-cfg-prop-pub-map-type { + description + "Attributes of a config propagation mapping received from a publisher"; + leaf last-pub-time { + type yang:date-and-time; + description + "Last time a mapping record was received from this + publisher"; + } + leaf domain-id { + when "boolean(../domain-id-type = 'domain-id-valid')"; + type uint32; + description + "Domain-ID associated with this mapping, this entry is displayed + only when domain-id is valid"; + } + leaf multihoming-id { + type uint16; + description + "Multihoming-ID associated with this mapping"; + } + leaf domain-id-type { + type lisp-ios-xe-oper:lisp-domain-id-type; + description + "Domain-id type"; + } + leaf encap-iid { + type uint32 { + range "0 .. 16777215"; + } + description + "EID instance ID of this publication mapping"; + } + leaf expiry-time { + when 'boolean(../expiry-time-valid)'; + type yang:date-and-time; + description + "Time when this entry will expire if not refreshed; + for entries which do not have an expiration time this + time is not applicable"; + } + leaf expiry-time-valid { + type empty; + description + "Indication if expiry time is valid"; + } + } + + grouping lisp-cfg-prop-pub-type { + description + "Attributes of a received config propagation publication"; + leaf first-pub-time { + type yang:date-and-time; + description + "First time a mapping record was received for this + EID"; + } + leaf last-pub-time { + type yang:date-and-time; + description + "Last time a mapping record was received for this + EID"; + } + list cfg-prop-pub-map { + key "publisher-address publisher-port"; + description + "A mapping received for this EID"; + uses lisp-ios-xe-oper:lisp-cfg-prop-pub-map-type; + uses lisp-ios-xe-oper:lisp-pubsub-mapping-publisher-type; + } + leaf exported-to { + type lisp-ios-xe-oper:lisp-pubsub-export-type; + description + "List of tables the EID is exported to"; + } + } + + grouping lisp-extranet-eid-type { + description + "Properties of extranet EID prefix"; + leaf is-configured { + type boolean; + description + "Is the EID configured or learned from registrations"; + } + } + + grouping lisp-map-cache-rloc-type { + description + "Description of a RLOC (locator address and its properties)"; + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf creation-time { + type yang:date-and-time; + description + "Time when this RLOC entry was created"; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time when up/down state of the RLOC for this map-cache + entry last changed"; + } + leaf rloc-probe-rtt { + type uint32; + units "milliseconds"; + description + "Round-trip time of RLOC probe and corresponding reply"; + } + container params { + description + "Properties of the locator"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf encap-iid { + when "boolean(../is-encap-iid-present = 'true')"; + type uint32 { + range "0 .. 16777215"; + } + description + "Instance-ID to use when sending map requests"; + } + leaf is-encap-iid-present { + type boolean; + description + "Whether encapsulation Instance-ID should be used when sending map requests"; + } + leaf route-metric { + type uint32; + description + "RIB route metric"; + } + leaf si-id { + type uint16; + description + "Service insertion identifier"; + } + leaf si-type { + type lisp-ios-xe-oper:lisp-si-type; + description + "Service insertion type"; + } + leaf is-affinity-id-present { + type boolean; + description + "Indicates if Affinity-ID is present in the current RLOC"; + } + leaf is-affinity-id-y-present { + type boolean; + description + "Indicates if Affinity-ID y value is present in the current RLOC"; + } + } + + grouping lisp-map-cache-mapping-type { + description + "[P]ITR's map-cache forwarding entry"; + leaf up-time { + type yang:date-and-time; + description + "Time that this entry was created"; + } + leaf last-modified-time { + type yang:date-and-time; + description + "Last time that the RLOC information or the entry state + were modified"; + } + leaf last-update-time { + when "boolean(../is-static = 'false')"; + type yang:date-and-time; + description + "Last time a mapping record for this entry was received, + not valid if the entry is static"; + } + leaf ttl { + type uint32; + units "milliseconds"; + description + "Mapping validity period"; + } + leaf is-authoritative { + type boolean; + description + "Indication if the mapping came from an authoritative source"; + } + leaf is-static { + type boolean; + description + "Indication if the mapping is static (i.e. configured)"; + } + leaf is-negative { + type boolean; + description + "Indication if the mapping is negative (i.e. provides no + locators for LISP encapsulation)"; + } + leaf nmr-action { + type lisp-ios-xe-oper:lisp-map-reply-action-type; + description + "Forwarding action in case of negative entry"; + } + leaf expiry-time { + when 'boolean(../expiry-time-valid)'; + type yang:date-and-time; + description + "Time when this entry will expire if not refreshed; + for entries which do not have an expiration time this + time is not applicable"; + } + leaf encapsulated-packets { + type uint64; + description + "Number of packets of the transit traffic which were + encapsulated because they matched this map-cache entry"; + } + leaf encapsulated-octets { + type uint64; + description + "Number of bytes of the transit traffic which were + encapsulated because they matched this map-cache entry"; + } + leaf is-active { + type boolean; + description + "Indication if the mapping is active, that is there was + transit traffic matching this map-cache entry seen in + approximately the last minute"; + } + list map-cache-rloc { + key "afi address"; + description + "List of locators for positive mapping"; + uses lisp-ios-xe-oper:lisp-map-cache-rloc-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + leaf info-best-source { + type lisp-ios-xe-oper:lisp-map-cache-information-best-source-type; + description + "Source of best map cache information"; + } + leaf info-best-trans-source { + type lisp-ios-xe-oper:lisp-map-cache-information-best-source-trans-type; + description + "Source of best map cache transient information"; + } + leaf is-encapsulating-to-petr { + type boolean; + description + "Encapsulating packets to Proxy ETR"; + } + leaf expiry-time-valid { + type empty; + description + "Indication if expiry time is valid"; + } + leaf is-sgt-set { + type boolean; + description + "Indicates whether SGT is set/valid"; + } + leaf sgt { + when "boolean(../is-sgt-set = 'true')"; + type uint32; + description + "SGT value"; + } + } + + grouping lisp-sgt-attribute-type { + description + "SGT value produced by LISP for the prefix"; + leaf creation-time { + type yang:date-and-time; + description + "Time when this prefix/SGT pair was created"; + } + leaf last-modified-time { + type yang:date-and-time; + description + "Time when SGT attribute was last modified"; + } + leaf sgt { + type uint32; + description + "Current best SGT value provided by LISP"; + } + leaf is-src-remote-eid { + type boolean; + description + "Whether SGT for this prefix is known from map-cache"; + } + leaf is-src-map-notify { + type boolean; + description + "Whether SGT for this prefix is known from Map-Notify message"; + } + leaf is-programmed { + type boolean; + description + "Whether SGT for this prefix has been programmed into CTS"; + } + } + + grouping lisp-role-type { + description + "LISP role of the device"; + leaf is-ms { + type boolean; + description + "LISP Map-Server"; + } + leaf is-mr { + type boolean; + description + "LISP Map-Resolver"; + } + leaf is-itr { + type boolean; + description + "LISP ITR"; + } + leaf is-etr { + type boolean; + description + "LISP ETR"; + } + leaf is-pitr { + type boolean; + description + "LISP Proxy-ITR"; + } + leaf is-petr { + type boolean; + description + "LISP Proxy-ETR"; + } + } + + grouping lisp-instance-af-type { + description + "Operational data specific to behavior of an Address-Family + service within a single LISP instance"; + leaf iaftype { + type lisp-ios-xe-oper:lisp-iaftype-type; + description + "Instance-specific service type"; + } + container role { + description + "LISP device role for this service"; + uses lisp-ios-xe-oper:lisp-role-type; + } + list map-cache { + key "afi prefix"; + description + "Map-cache for this service instance"; + uses lisp-ios-xe-oper:lisp-map-cache-mapping-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + leaf l2-domain-id { + type uint32; + description + "ID of Vlan or Bridge-Domain that is mapped to the given + L2 LISP Instance ID"; + } + leaf map-cache-size { + type uint32; + description + "Current size of EID-to-RLOC map-cache on this device"; + } + leaf map-cache-limit { + type uint32; + description + "Maximum permissible number of entries in EID-to-RLOC + map-cache on this device"; + } + leaf etr-map-cache-ttl { + when "(../iaftype != 'iaf-ar') and (../iaftype != 'iaf-rar')"; + type uint32; + units "minutes"; + description + "TTL of the EID-to-RLOC map record provided by the local + device in mapping records"; + } + leaf registration-more-specific { + type uint32; + description + "Number of EID prefix registrations that were accepted as + a result of the 'accept-more-specific' configuration"; + } + leaf registration-more-specific-warning-threshold { + type uint32; + description + "The warning threshold for the 'accept-more-specific' + registration count on the Map-Server"; + } + leaf registration-more-specific-limit { + type uint32; + description + "Maximum number of registrations on the Map-Server which + could be accepted due to configuration of + 'accept-more-specific'"; + } + leaf map-cache-threshold { + type uint32; + description + "The map-cache utilization warning threshold on the xTR"; + } + leaf map-requests-in { + type uint64; + description + "Total number of map requests received by this device for + any EID-Prefix of the given address family and Instance ID"; + } + leaf map-requests-out { + type uint64; + description + "Total number of map requests sent by this device for any + EID-Prefix of the given address family and Instance ID"; + } + leaf encapsulated-map-requests-in { + type uint64; + description + "Total number of encapsulated Map-Requests received by this + device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf encapsulated-map-requests-out { + type uint64; + description + "Total number of encapsulated Map-Requests sent by this + device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf rloc-probe-map-requests-in { + type uint64; + description + "Total number of RLOC probe Map-Requests received by + this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf rloc-probe-map-requests-out { + type uint64; + description + "Total number of RLOC probe Map-Requests sent by this + device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf map-requests-expired-on-queue { + type uint64; + description + "Total number of Map-Requests for any EID-Prefix of the + given address family and Instance ID which were not sent + out by this device because they timed out while on the + transmit queue"; + } + leaf map-requests-no-reply { + type uint64; + description + "Total number of Map-Requests attempted by this device + for any EID-Prefix of the given address family and + Instance ID without receiving a Map-Reply"; + } + leaf map-requests-from-disallowed-locators { + type uint64; + description + "Total number of Map-Request messages for any EID-Prefix + of the given address family and Instance ID dropped by + this device due to configuration + 'map-resolver allowed-locator'"; + } + leaf smr-map-requests-in { + type uint64; + description + "Total number of SMR Map-Requests received by this device + for any EID-Prefix of the given address family and + Instance ID"; + } + leaf smr-map-requests-out { + type uint64; + description + "Total number of SMR Map-Requests sent by this device for + any EID-Prefix of the given address family and Instance ID"; + } + leaf ddt-itr-map-requests-dropped { + type uint64; + description + "Total number of ITR's Map-Request messages for any + EID-Prefix of the given address family and Instance ID + dropped by the DDT Map-Resolver"; + } + leaf ddt-itr-map-requests-nonce-collision { + type uint64; + description + "Total number of ITR's Map-Request messages for any + EID-Prefix of the given address family and Instance ID + dropped by the DDT Map-Resolver due to nonce conflict"; + } + leaf ddt-itr-map-requests-bad-xtr-nonce { + type uint64; + description + "Total number of ITR's Map-Request messages for any + EID-Prefix of the given address family and Instance ID + dropped by the DDT Map-Resolver due bad nonce"; + } + leaf mr-map-requests-forwarded { + type uint64; + description + "Total number of Map-Requests for any EID-Prefix of the + given address family and Instance ID forwarded by this + device to Map-Resolver on ALT"; + } + leaf ms-map-requests-forwarded { + type uint64; + description + "Total number of Map-Requests for any EID-Prefix of the + given address family and Instance ID forwarded by this + device to ETR"; + } + leaf to-alt-map-requests-out { + type uint64; + description + "Total number of Map-Requests for any EID-Prefix of the + given address family and Instance ID forwarded by this + device to ALT"; + } + leaf map-reply-records-in { + type uint64; + description + "Total number of Map-Reply records received by this device + for any EID-Prefix of the given address family and + Instance ID"; + } + leaf map-reply-records-out { + type uint64; + description + "Total number of Map-Reply records sent by this device for + any EID-Prefix of the given address family and Instance ID"; + } + leaf authoritative-records-in { + type uint64; + description + "Total number of authoritative Map-Reply records received + by this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf authoritative-records-out { + type uint64; + description + "Total number of authoritative Map-Reply records sent by + this device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf non-authoritative-records-in { + type uint64; + description + "Total number of non authoritative Map-Reply records + received by this device for any EID-Prefix of the given + address family and Instance ID"; + } + leaf non-authoritative-records-out { + type uint64; + description + "Total number of non authoritative Map-Reply records sent + by this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf negative-records-in { + type uint64; + description + "Total number of negative Map-Reply records received by + this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf negative-records-out { + type uint64; + description + "Total number of negative Map-Reply records sent by this + device for any EID-Prefix of the given address family and + Instance ID"; + } + leaf rloc-probe-records-in { + type uint64; + description + "Total number of RLOC probe Map-Replies for any EID-Prefix + of the given address family and Instance ID received by + this device"; + } + leaf rloc-probe-records-out { + type uint64; + description + "Total number of RLOC probe Map-Replies for any EID-Prefix + of the given address family and Instance ID sent by this + device"; + } + leaf ms-proxy-reply-records-out { + type uint64; + description + "Total number of MS proxy Map-Replies for any EID-Prefix + of the given address family and Instance ID sent by this + device"; + } + leaf wlc-subscribe-in { + type uint64; + description + "Total number of WLC Subscribe messages received by this + device for the given address family and Instance ID"; + } + leaf wlc-subscribe-out { + type uint64; + description + "Total number of WLC Subscribe messages sent by this + device for the given address family and Instance ID"; + } + leaf wlc-subscribe-in-failure { + type uint64; + description + "Total number of received WLC Subscribe messages for the + given address family and Instance ID with incorrect + formatting"; + } + leaf wlc-subscribe-out-failure { + type uint64; + description + "Total number of WLC Subscribe messages for the given + address family and Instance ID which were not sent due to + internal errors"; + } + leaf wlc-unsubscribe-in { + type uint64; + description + "Total number of WLC Unsubscribe messages received by this + device for the given address family and Instance ID"; + } + leaf wlc-unsubscribe-out { + type uint64; + description + "Total number of WLC Unsubscribe messages sent by this + device for the given address family and Instance ID"; + } + leaf wlc-unsubscribe-in-failure { + type uint64; + description + "Total number of received WLC Unsubscribe messages for the + given address family and Instance ID with incorrect + formatting"; + } + leaf wlc-unsubscribe-out-failure { + type uint64; + description + "Total number of WLC Unsubscribe messages for the given + address family and Instance ID which were not sent due to + internal errors"; + } + leaf map-register-records-in { + type uint64; + description + "Total number of Map-Register records for any EID-Prefix + of the given address family and Instance ID received by + this device"; + } + leaf map-register-records-out { + type uint64; + description + "Total number of Map-Registers records sent by this device + for any EID-Prefix of the given address family and + Instance ID"; + } + leaf map-registers-ms-disabled { + type uint64; + description + "Total number of Map-Register messages dropped due to + Map-Server functionality not enabled for the given + address family and Instance ID"; + } + leaf map-registers-auth-failed { + type uint64; + description + "Total number of Map-Register messages for any EID-Prefix + of the given address family and Instance ID dropped due + to authentication failure"; + } + leaf map-registers-from-disallowed-locators { + type uint64; + description + "Total number of Map-Register messages received from + disallowed locators"; + } + leaf wlc-map-register-records-in { + type uint64; + description + "Total number of WLC Map-Register messages received by + this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf wlc-map-register-records-out { + type uint64; + description + "Total number of WLC Map-Register messages sent by this + device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf wlc-map-register-records-in-ap { + type uint64; + description + "Total number of WLC Map-Register messages received by + this device for AP join in the given address family + and Instance ID"; + } + leaf wlc-map-register-records-out-ap { + type uint64; + description + "Total number of WLC Map-Register messages sent by + this device for AP join in the given address family + and Instance ID"; + } + leaf wlc-map-register-records-in-client { + type uint64; + description + "Total number of WLC Map-Register messages received by + this device for wireless client join in the given + address family and Instance ID"; + } + leaf wlc-map-register-records-out-client { + type uint64; + description + "Total number of WLC Map-Register messages sent by + this device for wireless client join in the given + address family and Instance ID"; + } + leaf wlc-map-register-records-in-failure { + type uint64; + description + "Total number of WLC Map-Register messages received in the + given address family and Instance ID and discarded due to + parsing error"; + } + leaf wlc-map-register-records-out-failure { + type uint64; + description + "Total number of WLC Map-Register messages for any + EID-Prefix of the given address family and Instance ID + which were not sent because of internal error"; + } + leaf map-notify-records-in { + type uint64; + description + "Total number of Map-Notify records for any EID-Prefix of + the given address family and Instance ID received by + this device"; + } + leaf map-notify-records-out { + type uint64; + description + "Total number of Map-Notify records for any EID-Prefix of + the given address family and Instance ID sent by this + device"; + } + leaf map-notify-auth-failed { + type uint64; + description + "Total number of Map-Notify messages for any EID-Prefix of + the given address family and Instance ID dropped due to + authentication failure"; + } + leaf wlc-map-notify-records-in { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID received by + this device"; + } + leaf wlc-map-notify-records-out { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID sent by + this device"; + } + leaf wlc-map-notify-records-in-ap { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID received by + this device for AP join"; + } + leaf wlc-map-notify-records-out-ap { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID sent by + this device for AP join"; + } + leaf wlc-map-notify-records-in-client { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID received by + this device for wireless client join"; + } + leaf wlc-map-notify-records-out-client { + type uint64; + description + "Total number of WLC Map-Notify records for any EID-Prefix + of the given address family and Instance ID sent by + this device for wireless client join"; + } + leaf wlc-map-notify-records-in-failure { + type uint64; + description + "Total number of WLC Map-Notify messages received in the + given address family and Instance ID and discarded due to + parsing error"; + } + leaf wlc-map-notify-records-out-failure { + type uint64; + description + "Total number of WLC Map-Notify messages for any + EID-Prefix of the given address family and Instance ID + which were not sent because of internal error"; + } + leaf mapping-record-ttl-alerts { + type uint64; + description + "Total number of mapping records received by this device + for any EID-Prefix of the given address family and + Instance ID with TTL exceeding 7 days"; + } + leaf remote-eid-entries-created { + type uint64; + description + "Total number of remote EID map-cache entries created by + this device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf remote-eid-entries-deleted { + type uint64; + description + "Total number of remote EID map-cache entries deleted by + this device for any EID-Prefix of the given address family + and Instance ID"; + } + leaf remote-eid-nsf-replay-entries-created { + type uint64; + description + "Total number of remote EID map-cache entries for any + EID-Prefix of the given address family and Instance ID + recreated by this device after NSF switchover"; + } + leaf forwarding-data-signals-processed { + type uint64; + description + "Total number of forwarding plane data signals processed + by this device for any EID-Prefix of the given address + family and Instance ID"; + } + leaf forwarding-data-signals-dropped { + type uint64; + description + "Total number of forwarding plane data signals for any + EID-Prefix of the given address family and Instance ID + dropped by this device"; + } + leaf forwarding-reachability-reports-processed { + type uint64; + description + "Total number of forwarding plane reachability reports for + any EID-Prefix of the given address family and Instance ID + processed by this device"; + } + leaf forwarding-reachability-reports-dropped { + type uint64; + description + "Total number of forwarding plane reachability reports for + any EID-Prefix of the given address family and Instance ID + dropped by this device"; + } + leaf is-etr-accept-mapping { + type boolean; + description + "Indicates whether the ETR accepts piggybacked mapping + records received in a Map-Request"; + } + leaf is-etr-accept-mapping-verify { + type boolean; + description + "Indicates if ETR will try to verify accepted piggybacked + mapping records received in a Map-Request"; + } + list local-dbase { + key "afi prefix"; + description + "ETR's database of local EID prefixes"; + uses lisp-ios-xe-oper:lisp-local-dbase-mapping-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + list ms-registrations { + key "afi prefix"; + description + "Map-Server database of registered EID Prefixes"; + uses lisp-ios-xe-oper:lisp-ms-mapping-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + list map-servers { + key "afi address"; + description + "List of Map-Servers to which the ETR should register"; + uses lisp-ios-xe-oper:lisp-etr-map-server-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + list map-resolvers { + key "afi address"; + description + "List of Map-Resolvers where [P]ITR should send its + Map-Requests"; + uses lisp-ios-xe-oper:lisp-itr-map-resolver-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + list proxy-etrs { + key "afi address"; + description + "List of all Proxy ETRs that this device is configured + to use"; + uses lisp-ios-xe-oper:lisp-proxy-etr-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + list extranet-eids { + key "afi prefix"; + description + "Extranet EIDs for this service instance"; + uses lisp-ios-xe-oper:lisp-extranet-eid-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + leaf map-resolver-receive-count-last-5sec { + type uint64; + description + "Total number of map requests received by map resolver during + last 5 seconds"; + } + leaf map-resolver-receive-count-last-1min { + type uint64; + description + "Total number of map requests received by map resolver during + last 1 minute"; + } + leaf map-resolver-receive-count-last-5min { + type uint64; + description + "Total number of map requests received by map resolver during + last 5 minutes"; + } + leaf map-server-receive-count-last-5sec { + type uint64; + description + "Total number of Map-Register messages received by map server during + last 5 seconds"; + } + leaf map-server-receive-count-last-1min { + type uint64; + description + "Total number of Map-Register messages received by map server during + last 1 minute"; + } + leaf map-server-receive-count-last-5min { + type uint64; + description + "Total number of Map-Register messages received by map server during + last 5 minutes"; + } + leaf is-mr-use-petr-enabled { + type boolean; + description + "LISP MR use Proxy-ETR"; + } + leaf mr-use-petr-locator-set-name { + type string; + description + "LISP MR-use-Proxy-ETR locator set name"; + } + leaf remote-eid-entries-rejected { + type uint64; + description + "Total number of remote EID map-cache entries rejected + by this device due to the limit being exceeded for + any EID-Prefix of the given address family and Instance ID"; + } + leaf is-publication-subscription-enabled { + type boolean; + description + "Indicates that the capability to send and receive registrations + using the publish/subscribe mechanism is enabled for this instance + and address family."; + } + leaf pubsub-sub-requests-in { + type uint64; + description + "Total number of Subscription Request messages received by this + device for this Instance ID and address family"; + } + leaf pubsub-sub-requests-out { + type uint64; + description + "Total number of Subscription Request messages sent by this + device for this Instance ID and address family"; + } + leaf pubsub-sub-requests-in-failure { + type uint64; + description + "Total number of Subscription Request messages for this Instance ID + and address family discarded due to parsing error"; + } + leaf pubsub-sub-requests-out-failure { + type uint64; + description + "Total number of Subscription Request messages for this Instance ID + and address family which were not sent due to internal errors"; + } + leaf pubsub-sub-status-in { + type uint64; + description + "Total number of Subscription Status messages received by this + device for this Instance ID and address family"; + } + leaf pubsub-sub-status-out { + type uint64; + description + "Total number of Subscription Status messages sent by this + device for this Instance ID and address family"; + } + leaf pubsub-sub-status-in-failure { + type uint64; + description + "Total number of Subscription Status messages for this Instance ID + and address family discarded due to parsing error"; + } + leaf pubsub-sub-status-out-failure { + type uint64; + description + "Total number of Subscription Status messages for this Instance ID + and address family which were not sent due to internal errors"; + } + leaf pubsub-sub-status-end-pub-in { + type uint64; + description + "Total number of End-of-Publication Subscription Status messages + received by this device for this Instance ID and address family"; + } + leaf pubsub-sub-status-end-pub-out { + type uint64; + description + "Total number of End-of-Publication Subscription Status messages + sent by this device for this Instance ID and address family"; + } + leaf pubsub-sub-status-removal-in { + type uint64; + description + "Total number of Subscription-Removal Subscription Status messages + received by this device for this Instance ID and address family"; + } + leaf pubsub-sub-status-removal-out { + type uint64; + description + "Total number of Subscription-Removal Subscription Status messages + sent by this device for this Instance ID and address family"; + } + leaf pubsub-sub-status-rejection-in { + type uint64; + description + "Total number of Subscription-Rejection Subscription Status messages + received by this device for this Instance ID and address family"; + } + leaf pubsub-sub-status-rejection-out { + type uint64; + description + "Total number of Subscription-Rejection Subscription Status messages + sent by this device for this Instance ID and address family"; + } + leaf pubsub-solicit-subs-in { + type uint64; + description + "Total number of Solicit Subscription messages received by this + device for this Instance ID and address family"; + } + leaf pubsub-solicit-subs-out { + type uint64; + description + "Total number of Solicit Subscription messages sent by this + device for this Instance ID and address family"; + } + leaf pubsub-solicit-subs-in-failure { + type uint64; + description + "Total number of Solicit Subscription messages for this Instance ID + and address family discarded due to parsing error"; + } + leaf pubsub-solicit-subs-out-failure { + type uint64; + description + "Total number of Solicit Subscription messages for this Instance ID + and address family which were not sent due to internal errors"; + } + leaf pubsub-pubs-in { + type uint64; + description + "Total number of Publication messages received by this device for + this Instance ID and address family"; + } + leaf pubsub-pubs-out { + type uint64; + description + "Total number of Publication messages sent by this device for this + Instance ID and address family"; + } + leaf pubsub-pubs-in-failure { + type uint64; + description + "Total number of Publication messages for this Instance ID and + address family discarded due to parsing error"; + } + leaf pubsub-pubs-out-failure { + type uint64; + description + "Total number of Publication messages for this Instance ID and + address family which were not sent due to internal errors"; + } + list lisp-publisher { + key "peer-address peer-port"; + description + "Publishers transmitting publication/subscription registrations for this + service instance"; + uses lisp-ios-xe-oper:lisp-pubsub-publisher-type; + uses lisp-ios-xe-oper:lisp-session-peer-type; + } + list lisp-subscriber { + key "peer-address peer-port"; + description + "Subscribers interested in publication/subscription registrations in this + service instance"; + uses lisp-ios-xe-oper:lisp-pubsub-subscriber-type; + uses lisp-ios-xe-oper:lisp-session-peer-type; + } + leaf received-publication-count { + type uint64; + description + "Count of the active publications received in this + service instance"; + } + list lisp-received-publication { + key "afi prefix"; + description + "List of publications received from one or more publishers. + Publications can be imported into the map-cache or export to the + RIB. When imported to the map-cache, they remain valid as long as + the received publication persists."; + uses lisp-ios-xe-oper:lisp-pubsub-publication-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + leaf is-signal-suppression-enabled { + type boolean; + description + "Is signal suppression enabled"; + } + leaf signal-suppression-enabled-count { + type uint64; + description + "Signal suppression enabled count"; + } + leaf last-signal-suppression-time { + when "boolean(../is-signal-suppression-enabled = 'true')"; + type yang:date-and-time; + description + "Last time signal suppression state changed"; + } + leaf ddt-requests-failed { + type uint64; + description + "Total number of DDT requests for the given address family and + Instance ID which failed"; + } + leaf last-stats-clear-time { + type yang:date-and-time; + description + "Timestamp when statistics for this instance-id and address-family + were last cleared"; + } + leaf active-eids { + type uint32; + description + "Number of active EIDs. + Active EIDs are registered to the MapServer, and are alive + currently in the database per instance."; + } + leaf inactive-eids { + type uint32; + description + "Number of inactive EIDs. + Inactive EIDs are registered to Mapserver and are not alive currently. + EID entries age out after 24 hours if there is no activity in the + database per instance."; + } + leaf multi-ip-per-mac { + type boolean; + description + "Indicates whether support for multiple IP per MAC is enabled"; + } + leaf ms-registered-eids { + type uint32; + description + "Number of registered EIDs on the Map Server"; + } + list cfg-prop-pub { + key "afi prefix"; + description + "List of config propagation publications received from one or more publishers. + Publications can be imported into database, they remain valid as long as + the received publication persists."; + uses lisp-ios-xe-oper:lisp-cfg-prop-pub-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + leaf sgt-table-total-count { + type uint32; + description + "Number of prefixes in SGT table"; + } + list sgt-table { + key "afi prefix"; + description + "List of prefixes that LISP is providing for SGT values"; + uses lisp-ios-xe-oper:lisp-sgt-attribute-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + leaf eth-fast-detect { + type boolean; + description + "Ethernet fast detection"; + } + } + + grouping lisp-extranet-member-inst-type { + description + "The type of an instance(provider/subscriber) within an extranet"; + leaf iid { + type uint32 { + range "0 .. 16777215"; + } + description + "LISP Instance ID"; + } + leaf is-provider { + type boolean; + description + "This indicates whether this instance is a provider or subscriber"; + } + } + + grouping lisp-extranet-instance-type { + description + "The member instances of a named extranet"; + leaf extranet-name { + type string; + description + "Name of the extranet"; + } + leaf extranet-inst-count { + type uint32; + description + "Number of instances in this extranet"; + } + list extranet-member-instances { + key "iid"; + description + "List of all the instances under this extranet"; + uses lisp-ios-xe-oper:lisp-extranet-member-inst-type; + } + leaf policy-state { + type lisp-ios-xe-oper:lisp-extranet-policy-state-type; + description + "State of the current extranet policy"; + } + leaf provider-ipv4-prefix-count { + type uint32; + description + "Number of ipv4 prefixes under the provider member instance"; + } + leaf provider-ipv6-prefix-count { + type uint32; + description + "Number of ipv6 prefixes under the provider member instance"; + } + leaf subs-ipv4-prefix-count { + type uint32; + description + "Combined number of ipv4 prefixes under all subscriber member instances"; + } + leaf subs-ipv6-prefix-count { + type uint32; + description + "Combined number of ipv6 prefixes under all subscriber member instances"; + } + } + + grouping lisp-ms-eid-membership-rloc-type { + description + "Description of RLOC in MS registration EID membership list"; + leaf rloc { + type inet:ip-address; + description + "RLOC which is the allowed member"; + } + leaf member-since { + type yang:date-and-time; + description + "Time when this RLOC was added to the list of allowed + locators"; + } + leaf is-gleaned { + type boolean; + description + "Indicates if MS gleaned this RLOC from received EID + prefix registration"; + } + leaf is-configured { + type boolean; + description + "Indicates if this RLOC membership was provided via + configuration"; + } + } + + grouping lisp-etr-eid-membership-rloc-type { + description + "Description of RLOC in ETR EID membership list"; + leaf rloc { + type inet:ip-address; + description + "RLOC which is the allowed member"; + } + leaf member-since { + type yang:date-and-time; + description + "Time when this RLOC was added to the list of allowed + locators"; + } + leaf is-learned-from-ms { + type boolean; + description + "Indicates if ETR learned about this RLOC membership via + message received from a Map-Server"; + } + leaf is-configured { + type boolean; + description + "Indicates if this RLOC membership was provided via + configuration"; + } + } + + grouping lisp-instance-type { + description + "Operational data of a single LISP Instance"; + leaf iid { + type uint32 { + range "0 .. 16777215"; + } + description + "LISP Instance ID"; + } + list af { + key "iaftype"; + description + "List of Address-Families enabled in this LISP instance"; + uses lisp-ios-xe-oper:lisp-instance-af-type; + } + leaf vrf-name { + type string; + description + "Name of VRF that is mapped to the given LISP Instance ID"; + } + leaf is-rloc-probing { + type boolean; + description + "Status of RLOC Probing"; + } + list ms-eid-membership { + key "rloc"; + description + "MS registration EID membership list (list of locators + known to the MS as allowed to send traffic in the + instance)"; + uses lisp-ios-xe-oper:lisp-ms-eid-membership-rloc-type; + } + list etr-eid-membership { + key "rloc"; + description + "ETR EID membership list (list of locators known to the ETR + as allowed to send traffic in the instance)"; + uses lisp-ios-xe-oper:lisp-etr-eid-membership-rloc-type; + } + list extranets { + key "extranet-name"; + description + "List of extranets configured under this instance"; + uses lisp-ios-xe-oper:lisp-extranet-instance-type; + } + } + + grouping lisp-session-source-destination-type { + description + "Addresses and ports of the session's endpoints"; + leaf local-address { + type inet:ip-address; + description + "Address of the local socket"; + } + leaf peer-address { + type inet:ip-address; + description + "Address of the peer"; + } + leaf local-port { + type uint16; + description + "Port of the local socket"; + } + leaf peer-port { + type uint16; + description + "Port used by the peer"; + } + } + + grouping lisp-session-type { + description + "Parameters of a Reliable Registration session"; + leaf state { + type lisp-ios-xe-oper:lisp-session-state-type; + description + "Up/down state of the session"; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Timestamp when the session's state last changed"; + } + leaf is-role-active { + type boolean; + description + "Is session opening role Active or Passive; TRUE means + session role is Active"; + } + leaf is-routable { + type boolean; + description + "Is route to peer's address known"; + } + leaf messages-in { + type uint64; + description + "Number of messages received over this session"; + } + leaf messages-out { + type uint64; + description + "Number of messages sent over this session"; + } + leaf bytes-in { + type uint64; + description + "Number of bytes received over this session"; + } + leaf bytes-out { + type uint64; + description + "Number of bytes sent over this session"; + } + leaf capability-bits-in { + type uint32; + description + "Raw capability bits advertised by the peer"; + } + leaf known-capabilities-in { + type lisp-ios-xe-oper:lisp-capabilities-type; + description + "Known capabilities advertised by the peer"; + } + leaf capabilities-out { + type lisp-ios-xe-oper:lisp-capabilities-type; + description + "Capabilities advertised over this session"; + } + leaf capability-messages-in { + type uint64; + description + "Capability advertisements received over this + session"; + } + leaf capability-error-messages-in { + type uint64; + description + "Capability error messages received over this + session"; + } + } + + grouping lisp-local-rloc-type { + description + "Description of a RLOC local to the router or to the EID site + served by the router"; + leaf state { + type lisp-ios-xe-oper:lisp-rloc-state-type; + description + "Up/down state of the locator"; + } + leaf is-local { + type boolean; + description + "Indicates if RLOC is local to the device or to another xTR + in the site; TRUE means RLOC is local to the device"; + } + } + + grouping lisp-prefix-list-entry-type { + description + "Description of prefix list entry"; + leaf source-has-static { + type boolean; + description + "Is the entry sourced statically"; + } + leaf source-has-rib { + type boolean; + description + "Is the entry sourced from RIB"; + } + leaf source-has-site-reg { + type boolean; + description + "Is the entry sourced from site registration"; + } + leaf source-has-pub-sub { + type boolean; + description + "Is the entry sourced from publications"; + } + } + + grouping lisp-prefix-list-type { + description + "Description of a prefix-list"; + leaf name { + type string; + description + "Name of the prefix-list"; + } + leaf count { + type uint64; + description + "Number of entries in the list"; + } + list prefix-list-entry { + key "afi prefix"; + description + "List of prefix list entries"; + uses lisp-ios-xe-oper:lisp-prefix-list-entry-type; + uses lisp-ios-xe-oper:lisp-prefix-type; + } + } + + grouping lisp-remote-locator-set-rloc-data-type { + description + "Information of a single RLOC in remote-locator-set"; + container params { + description + "Properties of single RLOC of remote-locator-set"; + uses lisp-ios-xe-oper:lisp-rloc-parameters-type; + } + leaf is-configured { + type boolean; + description + "Check if RLOC is locally configured"; + } + leaf si-id { + type uint16; + description + "Service Insertion identifier"; + } + leaf si-type { + type lisp-ios-xe-oper:lisp-si-type; + description + "Service Insertion type"; + } + leaf route-metric { + type uint32; + description + "RIB route metric"; + } + leaf etr-type { + type lisp-ios-xe-oper:lisp-etr-type; + description + "Service ETR type"; + } + } + + grouping lisp-remote-locator-set-rloc-key { + description + "This key set is deprecated as it will not support multiple ETR"; + leaf iid { + type uint32 { + range "0 .. 1677215"; + } + description + "LISP Instance ID"; + } + leaf afi { + type lisp-ios-xe-oper:lisp-address-family-type; + description + "Address family of the RLOC"; + } + leaf address { + type inet:ip-address; + description + "Address of the RLOC"; + } + } + + grouping lisp-rem-loc-set-rlocs-si-key { + description + "Key information for a single RLOC of remote-loc-set"; + leaf iid { + type uint32 { + range "0 .. 1677215"; + } + description + "LISP Instance Identifier"; + } + leaf afi { + type lisp-ios-xe-oper:lisp-address-family-type; + description + "Address family of the RLOC"; + } + leaf address { + type inet:ip-address; + description + "Address of the RLOC"; + } + leaf si-eid-name { + type string; + description + "Service insertion EID name"; + } + } + + grouping lisp-remote-locator-set-type { + description + "Remote-locator-set related information"; + leaf name { + type string; + description + "Name of the remote-locator-set"; + } + list remote-locator-set-rlocs { + key "iid afi address"; + status deprecated; + description + "List of RLOCs for the remote-locator-set"; + uses lisp-ios-xe-oper:lisp-remote-locator-set-rloc-data-type; + uses lisp-ios-xe-oper:lisp-remote-locator-set-rloc-key; + } + list rem-loc-set-rlocs-si { + key "iid afi address si-eid-name"; + description + "List of default-etr and service-etr for RLOC set"; + uses lisp-ios-xe-oper:lisp-remote-locator-set-rloc-data-type; + uses lisp-ios-xe-oper:lisp-rem-loc-set-rlocs-si-key; + } + } + + grouping lisp-router-type { + description + "Each entry contains operational data of a single LISP router"; + leaf top-id { + type uint32; + description + "ID number of the LISP router"; + } + leaf site-id { + type uint64; + description + "Site-ID common to all devices attached to the same site"; + } + leaf-list xtr-id { + type uint8; + max-elements 16; + ordered-by user; + description + "xTR-ID of the device"; + } + list instances { + key "iid"; + description + "List of LISP instances"; + uses lisp-ios-xe-oper:lisp-instance-type; + } + list sessions { + key "local-address peer-address local-port peer-port"; + description + "List of Reliable Registration sessions"; + uses lisp-ios-xe-oper:lisp-session-type; + uses lisp-ios-xe-oper:lisp-session-source-destination-type; + } + list local-rlocs { + key "afi address"; + description + "This list represents the set of routing locators + configured on this device"; + uses lisp-ios-xe-oper:lisp-local-rloc-type; + uses lisp-ios-xe-oper:lisp-address-type; + } + list prefix-lists { + key "name"; + description + "This list represents list of prefix-lists configured on this device"; + uses lisp-ios-xe-oper:lisp-prefix-list-type; + } + leaf capabilities { + type lisp-ios-xe-oper:lisp-capabilities-type; + description + "Capabilities enabled for the LISP router"; + } + list remote-locator-sets { + key "name"; + description + "List of remote-locator-sets for the LISP router"; + uses lisp-ios-xe-oper:lisp-remote-locator-set-type; + } + leaf domain-id { + type uint32; + description + "Domain-ID of the LISP router"; + } + leaf multihoming-id { + type uint16; + description + "Multihoming-ID of the LISP router"; + } + } + + container lisp-state { + config false; + description + "Operational state of the LISP subsystem"; + list lisp-routers { + key "top-id"; + description + "List of LISP routers"; + uses lisp-ios-xe-oper:lisp-router-type; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp.yang new file mode 100644 index 000000000..63dd6cfa2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lisp.yang @@ -0,0 +1,10328 @@ +module Cisco-IOS-XE-lisp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lisp"; + prefix ios-lisp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Locator ID Separation Protocol (LISP) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated constraints for database mapping and locator set + - Made Obsolete source-locator deprecated node in 17.6 or before + - Updated a constraint for site eid-record + - Made Obsolete under route-export leaf away-eids,publication,site-registration + deprecated node in 17.6 or before + - Removed a tailf attribute for enhanced-forwarding in instance context + - Added default value for lisp mobility liveness test + - Deprecating old leaves of flood container and adding new replacement + - Change eid-table vrf reference leafs to leafref + - Deprecating old/add new ignore leaf under solicit-map-request for inst services + - Deprecating affinity-id leaves and added new leaves with correct type"; + cisco-semver:module-version "8.0.0"; + } + revision 2024-03-01 { + description + "- Added support for ethernet fast detection + - Deprecated SGT distribution CLIs under service ethernet"; + cisco-semver:module-version "7.4.0"; + } + revision 2023-11-01 { + description + "- Added support for sgt distribution to database-mappings + - Added support for etr mapserver advertisement as service control plane + - Deprecated nodes corresponding to old-styled broadcast-underlay CLIs"; + cisco-semver:module-version "7.3.0"; + } + revision 2023-07-01 { + description + "- Added support for preserving priority from publication to database-mappings"; + cisco-semver:module-version "7.2.0"; + } + revision 2023-03-01 { + description + "- Added support for silent host under database-mapping + - Added support for conditional registration of proxy database-mappings"; + cisco-semver:module-version "7.1.0"; + } + revision 2022-11-01 { + description + "- Updated yang-version to 1.1 + - Updated constraints for database mapping + - Added support for track-peers keyword under locator set + - Obsolete nodes corresponding to old-styled CLIs"; + cisco-semver:module-version "7.0.0"; + } + revision 2022-07-01 { + description + "- Added support for bridged-vm keyword under dynamic-eid detection + multiple-addr command to enable SGT propagation with roaming + - Obsolete default containers + - Added support for enhanced forwarding + - Added support for affinity-id CLI + - Added dependency between locator-set and decapsulation nodes + - Added support for extranet config propagation"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-11-01 { + description + "- Added support for route-export destinations-summary"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-07-01 { + description + "- Deprecated 'source-locator', added container 'src-locator' + - Added support for L2 Publish-Subscribe + - Added support for dynamic-eid detection multiple-addr + - Added support for local keyword in database-mapping CLI + - Added support for service-etr keyword in database-mapping CLI + - Added support for allow-locator-service-etr CLI + - Added support for sgt-policy-native-forward keyword in proxy-itr + - Added support for disable-first-packet-forwarding CLI + - Blocking modification or removal of domain-id and multihoming-id"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Added support for below CLIs under router lisp + platform resource-usage local-host <> + platform resource-usage maximum-local-hosts l2 <> + platform resource-usage maximum-local-hosts l3 <> + platform resource-usage warning <> + default-etr disable-metric + added default-etr-route-map to database-mapping command + - Added 'cli-delete-when-empty' attribute to route-import"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Added support for service insertion + - Added Support for disabling extranet policy propagation + - Added 'fabric border' under router lisp to describe role + - Added dynamic-eid dataplane-detection support under service-ipv4"; + } + revision 2020-07-01 { + description + "NEEDS TO BE FIXED"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added support for updated SGT configuration + - Added support for TCP-AO config + - Added support for additional route-tag configurations + - Added 'first-packet-petr' under top and instance service af"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + " + - Added site-id specific configuration + - Added support for publish-summary-only configuration + - Added new rloc attributes config; + - Added interface-grouping instead of using type string; + - Added new inheritance knob map-cache conservative-allocation under + service + - Added no-use-petr config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added leaf for 'consistency-check' under 'locator' + - Added a leaf under 'route-tag' for 'site eid-record' + - Add support for redundancy sso + - Add support for TCP path mtu discovery option + - Adding ipv6 support to database-mapping under dynamic-eid + - Make 'service' container non-presence + - Added leaf 'minimum-mask-length' + - Re-ordered min/max leafs under path-mtu-discovery + - Marked 'instance-container/service/ethernet/map-request-source' as + obsolete + - deprecated etr-interface-ip by rloc-attributes under + instance-container/service/ethernet/map-cache/eid-cont / + instance-container/service/ipv4/map-cache/eid-interface / + instance-container/service/ipv6/map-cache/eid-interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-04 { + description + "Setting default to false for flood access-tunnel"; + } + revision 2018-11-28 { + description + "Add support for instance-service inheritance for publication- + subscription feature"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-23 { + description + "Added support for border convergence"; + } + revision 2018-08-27 { + description + "Add support for publication-subscription feature"; + } + revision 2018-08-03 { + description + "Added leaf node 'proxy' under 'route-import'"; + } + revision 2018-07-31 { + description + "Fixed map-cache away-eid send-map-request CLI"; + } + revision 2018-07-16 { + description + "Added 'mr-use-petr' under instance-id service ipv4 + and removed validations inconsistent with CLI"; + } + revision 2018-06-22 { + description + "Added new leaf 'access-tunnel' in the container 'flood'"; + } + revision 2018-06-18 { + description + "Added fix for validation when instance-id 0 is used + in extranet"; + } + revision 2018-04-24 { + description + "This revision has changes for extranet internet access + feature support"; + } + revision 2018-04-17 { + description + "Added two new 'flood' leaves for Ethernet service"; + } + revision 2018-04-12 { + description + "This revision has changes for extranet feature support"; + } + revision 2018-04-01 { + description + "interface vlan lisp mobility is now a list + instead of a single leaf"; + } + revision 2018-03-13 { + description + "This revision has changes for ip source-locator knob"; + } + revision 2018-03-10 { + description + "router lisp 0 is now not allowed via lisp-list"; + } + revision 2018-02-08 { + description + "This revision has changes for multisite featurette"; + } + revision 2018-01-18 { + description + "This revision has changes for per-subnet MSMR functionality"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for the new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for the new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-22 { + description + "add locator default-set command support"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping router-lisp-inst-service-ip-route-import-database-protocol-grouping { + container application { + description + "Application Protocol"; + uses router-lisp-ip-route-import-database-grouping; + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-database-grouping; + } + container connected { + description + "Connected"; + uses router-lisp-ip-route-import-database-grouping; + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-database-grouping; + } + container isis { + description + "ISO IS-IS"; + leaf process-id { + description + "Process name"; + type string; + } + uses router-lisp-ip-route-import-database-grouping; + } + container maximum-prefix { + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + type uint32 { + range "1..4294967295"; + } + } + choice threshold-warning { + case warning-only-case { + leaf warning-only { + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + leaf threshold { + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + leaf threshold1 { + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container nd { + description + "Neighbor Discovery"; + uses router-lisp-ip-route-import-database-grouping; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol"; + uses router-lisp-ip-route-import-database-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-database-grouping; + } + container static { + description + "Static routes"; + uses router-lisp-ip-route-import-database-grouping; + } + } + + grouping router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping { + container application { + description + "Application Protocol"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping; + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-map-cache-grouping; + } + container connected { + description + "Connected"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping; + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-map-cache-grouping; + } + container isis { + description + "ISO IS-IS"; + leaf id { + description + "Process name"; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping; + } + container maximum-prefix { + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + type uint32 { + range "1..4294967295"; + } + } + choice threshold-warning { + case warning-only-case { + leaf warning-only { + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + leaf threshold { + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + leaf threshold1 { + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container nd { + description + "Neighbour Discovery"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-map-cache-grouping; + } + container static { + description + "Static routes"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping; + } + } + + grouping router-lisp-inst-service-ipv4-route-import-map-cache-protocol-grouping { + container map-cache { + description + "Use RIB routes to define EID address space in map-cache"; + uses router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping; + container rip { + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-map-cache-grouping; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-map-cache-protocol-grouping { + container map-cache { + description + "Use RIB routes to define EID address space in map-cache"; + uses router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping; + list rip { + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + description + "User selected string identifying this process"; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping; + } + } + } + + grouping router-lisp-inst-service-ipv4-route-import-database-protocol-grouping { + container database { + description + "Use RIB routes to define local EID database entries"; + uses router-lisp-inst-service-ip-route-import-database-protocol-grouping; + container rip { + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-database-grouping; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-database-protocol-grouping { + container database { + description + "Use RIB routes to define local EID database entries"; + uses router-lisp-inst-service-ip-route-import-database-protocol-grouping; + list rip { + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + description + "User selected string identifying this process"; + type string; + } + uses router-lisp-ip-route-import-database-grouping; + } + } + } + + grouping router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping { + list prefix-list-proto { + key "prefix-list protocol"; + leaf prefix-list { + type string; + } + leaf protocol { + type enumeration { + enum application; + enum bgp; + enum connected; + enum eigrp; + enum isis; + enum maximum-prefix; + enum nd; + enum ospf; + enum static; + enum rip; + } + } + list bgp-id { + key "bgp-id"; + when "../protocol = 'bgp'"; + leaf bgp-id { + type ios-types:bgp-as-number-type; + } + leaf route-map { + type string; + } + } + list eigrp-or-ospf-id { + when "../protocol = 'eigrp' or ../protocol = 'ospf'"; + key "int16-id"; + leaf int16-id { + type uint16 { + range "1..65535"; + } + } + leaf route-map { + type string; + } + } + leaf isis-id { + when "../protocol = 'isis'"; + type string; + } + leaf number { + when "../protocol = 'maximum-prefix'"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + when "../protocol = 'maximum-prefix'"; + type uint8 { + range "1..100"; + } + } + leaf warning-only { + when "../protocol = 'maximum-prefix'"; + type empty; + } + leaf route-map { + when "not(../protocol = 'maximum-prefix')"; + type string; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-protocol-grouping { + uses router-lisp-inst-service-ipv6-route-import-database-protocol-grouping; + uses router-lisp-inst-service-ipv6-route-import-map-cache-protocol-grouping; + uses router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping; + } + + grouping router-lisp-inst-service-ipv4-route-import-protocol-grouping { + uses router-lisp-inst-service-ipv4-route-import-database-protocol-grouping; + uses router-lisp-inst-service-ipv4-route-import-map-cache-protocol-grouping; + uses router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping; + } + + grouping router-lisp-xtr-prefix-list-grouping { + leaf prefix-list { + description + "Associates ITR/ETR with prefix list"; + type string; + } + } + + grouping router-lisp-map-server-domain-id-grouping { + leaf domain-id { + description + "Domain-ID associated with map server"; + type uint32 { + range "1..4294967038"; + } + } + } + + grouping router-lisp-itr-grouping { + container itr { + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + list map-resolver { + description + "Configures map-resolver address for sending Map-Requests"; + key "ip-addr"; + leaf ip-addr { + type inet:ip-address; + } + uses router-lisp-xtr-prefix-list-grouping; + } + leaf nmr-ttl { + description + "Override negative map-reply TTL for site EID"; + type uint16 { + range "1..900"; + } + } + } + container itr-enable { + leaf itr { + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + type empty; + } + } + } + + grouping router-lisp-etr-grouping { + container etr-enable { + leaf etr { + description + "Configures a LISP Egress Tunnel Router (ETR)"; + type empty; + } + } + container etr { + description + "Configures a LISP Egress Tunnel Router (ETR)"; + uses router-lisp-map-server-grouping; + leaf map-cache-ttl { + type uint16 { + range "60..10080"; + } + } + container accept-map-request-mapping { + leaf accept-mappping { + type empty; + } + leaf verify { + type empty; + } + } + } + } + + grouping router-lisp-database-mapping-limit-grouping { + container limit { + description + "Configures the maximum size of local EID prefixes database"; + leaf dynamic { + description + "Configures the maximum size of dynamic local EID prefixes database"; + type uint32; + } + leaf warning-threshold { + description + "Send warning message to syslog when the database-mapping dynamic size reaches this percentage of the limit"; + type uint8 { + range "1..100"; + } + } + } + container proxy { + description + "Configure flags specific to proxy database entries"; + leaf check-reachability { + description + "Register proxy database entries only after checking for + presence of more specific entries in local or remote db "; + type empty; + } + } + } + + grouping router-lisp-map-cache-common-grouping { + list rloc-attributes { + key "rloc"; + leaf rloc { + description + "IP address of loopback or other ETR interface"; + type inet:ip-address; + } + leaf priority { + description + "Configures which Locators from a set are preferred"; + mandatory true; + type uint8 { + range "0..255"; + } + } + leaf weight { + description + "Traffic load-spreading among Locators"; + mandatory true; + type uint8 { + range "0..100"; + } + } + } + container etr-interface-ip { + status deprecated; + description + "Deprecated by ../rloc-attributes"; + leaf etr-interface-ip-address { + status deprecated; + description + "Deprecated by ../../rloc-attributes/rloc-prefix"; + type inet:ip-address; + } + leaf priority { + status deprecated; + description + "Deprecated by ../../rloc-attributes/attributes/priority"; + type uint8 { + range "0..255"; + } + } + leaf weight { + status deprecated; + description + "Deprecated by ../../rloc-attributes/attributes/priority"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-map-request-source-ipv4-grouping { + leaf map-request-source { + description + "Configures inner header source address in Map-Request message"; + type inet:ipv4-address; + } + } + + grouping router-lisp-map-request-source-ipv6-grouping { + leaf map-request-source { + description + "Configures inner header source address in Map-Request message"; + type inet:ipv6-address; + } + } + + grouping router-lisp-map-request-source-any-grouping { + leaf map-request-source { + description + "Configures inner header source address in Map-Request message"; + type inet:ip-address; + } + } + + grouping router-lisp-map-cache-limit-grouping { + container map-cache-limit { + description + "Configures maximum size of map-cache"; + leaf max-map-cache-entries { + type uint32 { + range "0..100000"; + } + } + leaf reserve-list { + description + "EID-prefixes guaranteed to be stored in map-cache"; + type string; + } + leaf warning-threshold { + description + "Send warning message to syslog when the map-cache size reaches this percentage of the limit"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-site-registration-grouping { + container site-registration { + description + "Site registrations configuration for a given instance-id"; + leaf limit { + description + "Maximum number of site registrations"; + type uint32 { + range "1..4294967295"; + } + } + leaf warning-threshold { + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + } + + grouping router-lisp-solicit-map-request-grouping { + container solicit-map-request { + description + "Configure Solicit-Map-Request handling"; + leaf ignore { + description + "Ignore SMR bit in incoming Map-Requests"; + type empty; + } + leaf max-per-entry { + description + "Maximum number of SMRs for addresses under a map-cache entry"; + type uint8 { + range "1..100"; + } + } + leaf suppression-time { + description + "How long to suppress repeated SMRs for the same address"; + type uint16 { + range "1..600"; + } + } + } + } + + grouping router-lisp-inst-solicit-map-request-grouping { + container solicit-map-request { + description + "Solicit-Map-Request properties handling"; + leaf ignore-v2 { + description + "Ignore SMR bit in incoming Map-Requests"; + type boolean; + default "false"; + } + leaf ignore { + description + "Deprecated-Ignore SMR bit in incoming Map-Requests"; + status deprecated; + type empty; + } + leaf max-per-entry { + description + "Maximum number of SMRs for addresses under a map-cache entry"; + type uint8 { + range "1..100"; + } + } + leaf suppression-time { + description + "How long to suppress repeated SMRs for the same address"; + type uint16 { + range "1..600"; + } + } + } + } + + grouping router-lisp-registration-history-grouping { + container registration-history { + description + "Map-server (MS) registration history"; + leaf limit { + description + "Size of registration history log"; + type uint32 { + range "0..1000000"; + } + default "1000"; + } + } + } + + grouping router-lisp-service-common-grouping { + container database-mapping { + description + "Address family specific local EID prefixes database configuration"; + uses router-lisp-database-mapping-limit-grouping; + } + uses router-lisp-itr-grouping; + uses router-lisp-etr-grouping; + uses router-lisp-map-cache-limit-grouping; + uses router-lisp-registration-history-grouping; + container map-resolver { + description + "Configures a LISP Map Resolver (MR)"; + presence "true"; + container map-request { + description + "Map-Request processing options"; + container validate { + description + "Validation options"; + container source { + description + "Influence which source RLOCs map requests are accepted from"; + container list { + description + "Define allowed prefixes using an ip[v6] prefix list"; + leaf ipv4 { + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + description + "IPv6 prefixes"; + type string; + } + } + container registered { + description + "...from RLOCs that register EID-prefixes in the same IID on a co-located MapServer"; + container list { + description + "Define allowed prefixes using an ip[v6] prefix list"; + leaf ipv4 { + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + description + "IPv6 prefixes"; + type string; + } + } + } + } + } + } + } + container map-server { + description + "Configures a LISP Map Server (MS)"; + presence "true"; + container map-register { + description + "Map-Register processing options"; + container validate { + description + "Validation options"; + container source { + description + "RLOC Source IP address"; + leaf allowed-locator { + description + "Against sites' allowed-locators policy"; + type empty; + } + } + } + } + } + uses router-lisp-site-registration-grouping; + uses router-lisp-solicit-map-request-grouping; + } + + grouping dynamic-eid-detection-grouping { + container dynamic-eid { + description + "Configure dynamic eid options"; + container detection { + description + "Configure dynamic eid detection options"; + leaf multiple-addr { + description + "Configure to support multiple ip addresses per mac"; + type empty; + } + leaf bridged-vm { + description + "Configure to support sgt propagation for bridged VMs"; + type empty; + } + } + } + } + + grouping router-lisp-service-ethernet-grouping { + container encapsulation { + description + "Select encapsulation type for data packets. This node is obsolete"; + status obsolete; + leaf vxlan { + description + "Use VXLAN encapsulation for data packets. This node is obsolete"; + status obsolete; + type empty; + } + } + container map-cache { + description + "Address family specific map cache configuration"; + leaf conservative-allocation { + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + leaf publications { + description + "Export publication entries into map cache"; + type empty; + } + } + container enhanced-forwarding-enable { + leaf enhanced-forwarding { + description + "Configure Enhanced Forwarding"; + type boolean; + default "false"; + } + } + uses dynamic-eid-detection-grouping; + uses router-lisp-map-request-source-any-grouping; + uses router-lisp-service-common-grouping; + uses router-lisp-publish-subscribe-grouping; + uses router-lisp-service-ethernet-import-grouping; + } + + grouping router-lisp-service-import-publication-grouping { + container publication { + description + "Receive LISP publications"; + list publisher { + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + type inet:ip-address; + } + } + } + } + + grouping router-lisp-inst-service-import-publication-grouping { + container publication { + description + "Receive LISP publications"; + choice publisher-choice { + container inherit-publisher { + leaf publisher { + description + "Import publications from publisher"; + type boolean; + default "true"; + } + } + list publisher { + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + type inet:ip-address; + } + } + } + } + } + + grouping router-lisp-service-ip-import-database-grouping { + container database { + container site-reg-src { + description + "Redistribute LISP internal states as database mapping"; + leaf site-registration-src { + description + "Import states from site registrations"; + type empty; + } + leaf loc-set { + description + "Locator set to use with database mapping entries"; + type string; + } + } + leaf site-registration { + status deprecated; + description + "Import states from site registrations"; + type empty; + } + leaf locator-set { + status deprecated; + description + "Locator set to use with created database mapping entries"; + type string; + } + container publication { + description + "Redistribute LISP publication states as database mapping"; + leaf locator-set { + must '/ios:native/ios:router/lisp/locator-set[name = current() ] or /ios:native/ios:router/lisp-list/locator-set[name = current() ]' { + error-message "% Please configure the locator-set before configuring publication"; + } + description + "Locator set to use with created database mapping entries"; + type string; + } + leaf preserve-priority { + description + "Preserve priority from publication to database mapping for registration"; + type empty; + } + } + } + } + + grouping router-lisp-service-ip-import-prefix-list-grouping { + container prefix-list-container { + description + "Redistribute LISP internal states into LISP prefix-list entries"; + leaf prefix-list { + description + "The name of the lisp prefix list"; + type string; + } + leaf site-registration { + description + "Import states from site registrations"; + type empty; + } + leaf publication { + description + "Import states from publications"; + type empty; + } + } + } + + grouping router-lisp-service-ethernet-import-publication-grouping { + container publication { + description + "Receive LISP publications"; + list publisher { + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + type inet:ip-address; + } + } + } + } + + grouping router-lisp-service-ethernet-import-grouping { + container import { + description + "Redistribute LISP states internally"; + uses router-lisp-service-ethernet-import-publication-grouping; + } + } + + grouping router-lisp-inst-service-ethernet-import-grouping { + container import { + description + "Redistribute LISP states internally"; + uses router-lisp-inst-service-import-publication-grouping; + } + } + + grouping router-lisp-service-ip-import-grouping { + container import { + description + "Redistribute LISP states internally"; + uses router-lisp-service-ip-import-database-grouping; + uses router-lisp-service-import-publication-grouping; + } + } + + grouping router-lisp-inst-service-ip-import-grouping { + container import { + description + "Redistribute LISP states internally"; + uses router-lisp-service-ip-import-database-grouping; + uses router-lisp-service-ip-import-prefix-list-grouping; + uses router-lisp-inst-service-import-publication-grouping; + } + } + + grouping router-lisp-service-ip-grouping { + uses router-lisp-service-common-grouping { + augment "etr/map-server" { + leaf sgt-only-v2 { + description + "Advertises Map-Server as service control plane"; + type empty; + } + } + } + uses router-lisp-service-ip-distance-grouping; + leaf encapsulation { + description + "Select encapsulation type for data packets"; + type enumeration { + enum lisp; + enum vxlan; + } + } + container mr-use-petr { + description + "Configure Map Resolver to include Proxy ETR in negative map reply"; + leaf remote-locator-set { + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring mr-use-petr"; + } + type string; + } + } + container first-packet-petr { + description + "Configure Map Resolver to include First-Packet-Proxy ETR in negative map reply"; + leaf remote-locator-set { + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring first-packet-petr"; + } + type string; + } + } + container map-cache { + description + "Address family specific map cache configuration"; + container away-eids { + description + "Map cache configuration for the away table"; + leaf send-map-request { + description + "Export away table entries into the map cache with action set to send-map-request"; + type boolean; + default "true"; + } + } + leaf site-registration { + description + "Install map cache to map request for site registrations"; + type empty; + } + leaf publications { + description + "Export publication entries into map cache"; + type empty; + } + leaf conservative-allocation { + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + } + uses router-lisp-map-cache-persistent-grouping; + uses router-lisp-proxy-grouping; + uses router-lisp-route-export-grouping; + uses router-lisp-sgt-grouping; + uses router-lisp-use-petr-grouping; + uses router-lisp-use-petr-grouping-deprecated; + uses router-lisp-publish-subscribe-grouping; + uses router-lisp-service-ip-import-grouping; + } + + grouping router-lisp-service-dynamic-eid-grouping { + container dynamic-eid { + description + "configure dynamic-eid parameters"; + leaf dataplane-detection { + description + "enable dataplane-based detection of hosts"; + type empty; + } + } + } + + grouping router-lisp-service-ipv4-grouping { + uses router-lisp-service-ip-grouping; + uses router-lisp-map-request-source-ipv4-grouping; + uses router-lisp-service-dynamic-eid-grouping; + } + + grouping router-lisp-service-ipv6-grouping { + uses router-lisp-service-ip-grouping; + uses router-lisp-map-request-source-ipv6-grouping; + } + + grouping router-lisp-four-key-grouping { + choice auth-key { + case uncpwd { + leaf unc-pwd { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + case key0 { + leaf key-0 { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + case key6 { + leaf key-6 { + description + "The ENCRYPTED password"; + type string; + } + } + case key7 { + leaf key-7 { + description + "The ENCRYPTED password"; + type string; + } + } + } + } + + grouping router-lisp-key-hash-function-grouping { + leaf hash-function { + description + "authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + + grouping router-lisp-password-key-0and6-grouping { + container key-0 { + leaf ak-0 { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + } + container key-6 { + leaf ak-6 { + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + } + } + + grouping router-lisp-password-key-0and6-with-prefix-list-grouping { + container key-0 { + leaf ak-0 { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + uses router-lisp-xtr-prefix-list-grouping; + uses router-lisp-map-server-domain-id-grouping; + } + container key-6 { + leaf ak-6 { + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + uses router-lisp-xtr-prefix-list-grouping; + uses router-lisp-map-server-domain-id-grouping; + } + } + + grouping router-lisp-password-key-7-grouping { + container key-7 { + leaf ak-7 { + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + uses router-lisp-map-server-domain-id-grouping; + } + } + + grouping router-lisp-password-key-7-with-prefix-list-grouping { + container key-7 { + leaf ak-7 { + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + uses router-lisp-xtr-prefix-list-grouping; + uses router-lisp-map-server-domain-id-grouping; + } + } + + grouping router-lisp-password-string-grouping { + container key-pwd { + leaf unc-pwd { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + } + } + + grouping router-lisp-password-string-with-prefix-list-grouping { + container key-pwd { + leaf unc-pwd { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping; + uses router-lisp-xtr-prefix-list-grouping; + uses router-lisp-map-server-domain-id-grouping; + } + } + + grouping router-lisp-three-key-with-hash-function-grouping { + choice password { + case password-string { + uses router-lisp-password-string-grouping; + } + case password-key { + uses router-lisp-password-key-0and6-grouping; + } + } + } + + grouping router-lisp-four-key-with-hash-function-grouping { + choice password { + case password-string { + uses router-lisp-password-string-grouping; + } + case password-key { + uses router-lisp-password-key-0and6-grouping; + uses router-lisp-password-key-7-grouping; + } + } + } + + grouping router-lisp-four-key-with-hash-function-and-prefix-list-grouping { + choice password { + case password-string { + uses router-lisp-password-string-with-prefix-list-grouping; + } + case password-key { + uses router-lisp-password-key-0and6-with-prefix-list-grouping; + uses router-lisp-password-key-7-with-prefix-list-grouping; + } + } + } + + grouping router-lisp-route-export-grouping { + container route-export { + description + "Export routes into RIB from LISP"; + container site-registration-export { + leaf site-registrations { + description + "Export LISP site registrations to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./site-registrations)'; + } + } + container away-eid-export { + leaf away-eids { + description + "Export LISP away EIDs to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./away-eids)'; + } + } + container publication-export { + leaf publications { + description + "Export LISP publications to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./publications)'; + } + } + container destinations-summary-export { + leaf destinations-summary { + description + "Export summary of destinations serviced by LISP to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./destinations-summary)'; + } + } + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB (OBSOLETE)"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB (OBSOLETE)"; + type empty; + } + leaf publications { + status obsolete; + description + "Export LISP publications to RIB (OBSOLETE)"; + type empty; + } + } + } + + grouping router-lisp-route-export-options-grouping { + leaf route-tag { + description + "RIB route tag"; + type uint32; + } + } + + grouping router-lisp-inst-service-route-export-grouping { + container route-export { + description + "Export routes into RIB from LISP"; + choice site-registration-export-choice { + container inherit-site-registration-export { + leaf site-registrations { + description + "Export LISP site registrations to RIB using inherited + configuration"; + type boolean; + default "true"; + } + } + container site-registration-export { + leaf site-registrations { + description + "Export LISP site registrations to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./site-registrations)'; + } + } + } + choice away-eids-export-choice { + container inherit-away-eid-export { + leaf away-eids { + description + "Export LISP away EIDs to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container away-eid-export { + leaf away-eids { + description + "Export LISP away EIDs to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./away-eids)'; + } + } + } + choice publications-export-choice { + container inherit-publication-export { + leaf publications { + description + "Export LISP publications to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container publication-export { + leaf publications { + description + "Export LISP publications to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./publications)'; + } + } + } + choice destinations-summary-export-choice { + container inherit-destinations-summary-export { + leaf destinations-summary { + description + "Export LISP destinations-summary to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container destinations-summary-export { + leaf destinations-summary { + description + "Export LISP destinations-summary to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping { + when 'boolean(./destinations-summary)'; + } + } + } + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB (OBSOLETE)"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB (OBSOLETE)"; + type empty; + } + leaf publications { + status obsolete; + description + "Export LISP publications to RIB (OBSOLETE)"; + type boolean; + } + } + } + + grouping router-lisp-map-cache-persistent-grouping { + container map-cache-persistent { + description + "Dump map-cache onto flash, making it persistent across reboots"; + leaf interval { + description + "Interval in minutes of how often the map-cache is saved"; + type uint16 { + range "1..1440"; + } + } + } + } + + grouping router-lisp-sgt-grouping { + container sgt-config { + leaf sgt-enable { + description + "Enable security group tag propagation in LISP encapsulated traffic"; + type empty; + } + leaf distribution { + description + "Enable security group tag distribution via LISP"; + type empty; + } + } + leaf sgt { + status deprecated; + description + "Enable SGT propagation in LISP encapsulated traffic"; + type empty; + } + } + + grouping router-lisp-proxy-grouping { + leaf proxy-etr { + description + "Configures a LISP Proxy Engress Tunnel Router (PETR)"; + type empty; + } + container proxy-itr { + description + "Configures a LISP Proxy Ingress Tunnel Router (PITR)"; + leaf ipv4-addr { + type inet:ipv4-address; + } + leaf ipv6-addr { + type inet:ipv6-address; + } + leaf sgt-policy-native-fwd { + description + "Configure policy driven native forwarding"; + type empty; + } + } + } + + grouping router-lisp-use-petr-grouping { + container use-petr-config { + choice use-petr-choice { + list use-petr { + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + key "locator-address"; + leaf locator-address { + type inet:ip-address; + } + container priority { + leaf priority-value { + description + "Configures which Locators from a set are preferred"; + type uint8 { + range "0..255"; + } + } + leaf weight { + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + } + container no-use-petr { + leaf use-petr { + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + type boolean; + default "true"; + } + } + } + } + } + + grouping router-lisp-use-petr-grouping-deprecated { + list use-petr { + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + status deprecated; + key "locator-address"; + leaf locator-address { + status deprecated; + type inet:ip-address; + } + container priority { + status deprecated; + leaf priority-value { + description + "Configures which Locators from a set are preferred"; + status deprecated; + type uint8 { + range "0..255"; + } + } + leaf weight { + description + "Traffic load-spreading among Locators"; + status deprecated; + type uint8 { + range "0..100"; + } + } + } + } + } + + grouping router-lisp-publish-subscribe-grouping { + leaf publish-subscribe { + description + "Configures Publication Subscription"; + type boolean; + default "true"; + } + } + + grouping router-lisp-service-ip-distance-grouping { + container distance { + description + "Administrative distance for RIB route installation"; + leaf alt { + description + "LISP routes installed in the ALT table"; + type uint8 { + range "1..255"; + } + } + leaf away { + description + "Administrative distance for RIB route installation"; + type uint8 { + range "1..255"; + } + } + leaf dyn-eid { + description + "LISP installed routes of type dynamic-EID"; + type uint8 { + range "1..255"; + } + } + leaf site-registrations { + description + "LISP installed routes of type site-registrations"; + type uint8 { + range "1..255"; + } + } + leaf publications { + description + "LISP installed routes of type publications"; + type uint8 { + range "1..255"; + } + } + leaf destinations-summary { + description + "LISP installed routes of type destinations-summary"; + type uint8 { + range "1..255"; + } + } + } + } + + grouping router-lisp-map-server-grouping { + list map-server { + description + "Configures map server for ETR registration"; + key "ip-addr"; + leaf ip-addr { + type inet:ip-address; + } + container key { + description + "Authentication key used with map server"; + uses router-lisp-four-key-with-hash-function-and-prefix-list-grouping; + } + leaf proxy-reply { + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + leaf sgt-only { + status deprecated; + description + "Advertise Map-Server as service control plane (DEPRECATED)"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-option-grouping { + container database-mapping-option { + leaf priority { + description + "Configures which Locators from a set are preferred"; + type uint8 { + range "0..255"; + } + } + leaf weight { + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + leaf down { + description + "Configure this database mapping down"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-service-insertion-grouping { + container service-insertion { + description + "Enable configuration of default-etr database mapping"; + leaf service-id { + type uint16 { + range "1..8"; + } + } + leaf service-type { + type enumeration { + enum firewall; + } + } + leaf locator-set { + description + "Use locators defined by locator-set"; + type string; + } + leaf default-etr { + description + "Enable configuration of default-etr database mapping"; + type empty; + } + leaf default-etr-route-map { + description + "Configure route-map for default-etr"; + type string; + } + leaf service-etr { + description + "Enable configuration of service-etr database mapping"; + type empty; + } + leaf local { + description + "Register only with local MS"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-sgt-grouping { + leaf proxy-v2 { + description + "Enable configuration of static proxy database mapping"; + type empty; + } + leaf sgt-v2 { + description + "Configures SGT value for configured static proxy database mapping"; + type uint32 { + range "2..65521"; + } + } + leaf summary-v2 { + description + "Enable Summary SGT value for configured static proxy database mapping"; + type empty; + } + } + + grouping router-lisp-inst-database-mapping-common-grouping { + container locator-set-container { + description + "Use locators defined by locator-set"; + leaf locator-set { + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + description + "RIB route tag"; + type uint32; + } + leaf proxy { + status deprecated; + description + "Enable configuration of static proxy database mapping (DEPRECATED)"; + type empty; + } + leaf sgt { + status deprecated; + description + "Enable configuration of sgt binding subnet aggregation with specific host registration (DEPRECATED)"; + type uint32; + } + leaf summary { + status deprecated; + description + "Enable configuration of sgt binding subnet aggregation (DEPRECATED)"; + type empty; + } + leaf default-etr { + description + "Enable configuration of default-etr database mapping"; + type empty; + } + leaf default-etr-route-map { + description + "Configure route-map for default-etr"; + type string; + } + leaf local { + description + "Register only with local MS"; + type empty; + } + } + list ipv4-addrees { + description + "IPv4 Address of loopback or other ETR interface"; + key "address"; + leaf address { + type inet:ipv4-address; + } + uses router-lisp-inst-database-mapping-option-grouping; + } + list ipv6-addrees { + description + "IPv6 Address of loopback or other ETR interface"; + key "address"; + leaf address { + type inet:ipv6-address; + } + uses router-lisp-inst-database-mapping-option-grouping; + } + list IPv4-interface { + key "name"; + leaf name { + description + "Use IPv4 address of interface as locator"; + type string; + } + uses router-lisp-inst-database-mapping-option-grouping; + } + list IPv6-interface { + key "name"; + leaf name { + description + "Use IPv4 address of interface as locator"; + type string; + } + uses router-lisp-inst-database-mapping-option-grouping; + } + } + + grouping router-lisp-inst-service-common-grouping { + uses router-lisp-itr-grouping; + uses router-lisp-etr-grouping; + uses router-lisp-map-cache-limit-grouping; + uses router-lisp-site-registration-grouping; + uses router-lisp-inst-solicit-map-request-grouping; + uses router-lisp-registration-history-grouping; + } + + grouping router-lisp-inst-service-ethernet-grouping { + container eid-table { + description + "Bind an eid-table"; + leaf vlan { + description + "VLAN configuration"; + type uint16 { + range "1..4094"; + } + } + } + container broadcast-underlay { + description + "Multicast group to use for underlay"; + choice addr-opt { + case ipv4 { + leaf ipv4-mcast-addr { + description + "IPv4 multicast group address"; + type inet:ipv4-address; + } + } + case ipv6 { + leaf ipv6-mcast-addr { + description + "IPv6 multicast group address"; + type inet:ipv6-address; + } + } + } + leaf ipv4-multicast { + description + "IPv4 multicast group address (deprecated)"; + status deprecated; + type inet:ipv4-address; + } + leaf ipv6-multicast { + description + "IPv6 multicast group address (deprecated)"; + status deprecated; + type inet:ipv6-address; + } + } + container flood { + description + "Control flooding or local intercept of broadcast frames"; + leaf arp-nd { + description + "IPv4 ARP / IPv6 ND"; + type empty; + } + leaf unknown-unicast { + description + "Frames with unknown destination MAC"; + type empty; + } + container access-tunnel-v2 { + description + "Broadcast frame flooding toward AP access-tunnel"; + presence "true"; + leaf multicast-address { + description + "Multicast Group Address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vlan { + description + "Multicast VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + leaf access-tunnel { + description + "Deprecated-Broadcast frame flooding toward AP access-tunnel"; + status deprecated; + type boolean; + default "false"; + } + leaf multicast-address { + description + "Deprecated-Multicast Group Address"; + status deprecated; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vlan { + description + "Deprecated-Multicast VLAN ID"; + status deprecated; + type uint16 { + range "1..4094"; + } + } + } + container database-mapping { + description + "Configures Locator addresses for an ETR"; + list eid-cont { + description + "EID-record for RLOC static mapping"; + key "eid-prefix"; + leaf eid-prefix { + description + "xxxx.xxxx.xxxx 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + uses router-lisp-inst-database-mapping-common-grouping { + augment "locator-set-container" { + leaf proxy-eth { + description + "Enable configuration of static proxy database mapping"; + type empty; + } + } + } + } + container mac { + description + "L2 EID records"; + presence "true"; + leaf locator-set { + description + "Use locators defined by locator-set"; + type string; + } + } + uses router-lisp-database-mapping-limit-grouping; + } + uses dynamic-eid-detection-grouping; + uses router-lisp-inst-service-common-grouping; + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ip-address; + } + container map-cache { + description + "Use RIB routes to define EID address space in map-cache"; + list eid-cont { + description + "EID-record for RLOC static mapping"; + key "eid-prefix"; + leaf eid-prefix { + description + "xxxx.xxxx.xxxx 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + uses router-lisp-map-cache-common-grouping; + } + leaf conservative-allocation { + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + leaf publications { + description + "Export publication entries into map cache"; + type empty; + } + } + container enhanced-forwarding-enable { + leaf enhanced-forwarding { + description + "Configure Enhanced Forwarding"; + type boolean; + default "false"; + } + } + container fast-detection-enable { + leaf fast-detection { + description + "Configure Fast Detection"; + type boolean; + default "false"; + } + } + uses router-lisp-inst-service-ethernet-import-grouping; + } + + grouping router-lisp-inst-service-ip-grouping { + container eid-table { + description + "Bind an eid-table"; + leaf vrf-name-ref { + type leafref { + path "/ios:native/ios:vrf/ios:definition/ios:name"; + } + } + leaf vrf-name { + status deprecated; + type string; + } + leaf default { + type empty; + } + leaf vrf-ref { + type leafref { + path "/ios:native/ios:vrf/ios:definition/ios:name"; + } + } + leaf vrf { + status deprecated; + type string; + } + } + uses router-lisp-inst-service-common-grouping; + container alt { + description + "LISP Alternative Topology, LISP-ALT"; + list summary-route { + description + "Summary route to install into the ALT table"; + key "eid-prefix"; + leaf eid-prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf route-tag { + description + "ALT RIB route tag for EID prefix"; + type uint32 { + range "0..4294967295"; + } + } + } + } + leaf alt-vrf { + description + "Activate LISP-ALT functionality in VRF"; + status deprecated; + type string; + } + uses router-lisp-service-ip-distance-grouping; + container mr-use-petr { + description + "Configure Map Resolver to include Proxy ETR in negative map reply"; + choice remote-locator-choice { + container no-remote-locator { + leaf remote-locator-set { + type boolean; + } + } + container remote-locator { + leaf remote-locator-set { + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring mr-use-petr"; + } + type string; + } + } + } + } + container first-packet-petr { + description + "Configure Map Resolver to include First-Packet-Proxy ETR in negative map reply"; + choice first-packet-petr-choice { + case first-packet-petr-disable { + leaf remote-locator-set { + description + "Disable first-packet-petr by adding no option"; + type boolean; + } + } + case first-packet-petr-configure { + container remote-locator-set-conf { + leaf remote-locator-set { + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring first-packet-petr"; + } + type string; + } + } + } + } + } + container map-cache { + description + "Address family specific map cache configuration"; + list eid-interface { + description + "Configures static EID-to-RLOC mappings for an ITR"; + key "eid-prefix"; + leaf eid-prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + uses router-lisp-map-cache-common-grouping; + leaf drop { + description + "Drop packets that match this map-cache entry"; + type empty; + } + leaf map-request { + description + "Send Map-Request for LISP destination EID"; + type empty; + } + leaf native-forward { + description + "Natively forward packets that match this map-cache entry"; + type empty; + } + } + container away-eids { + description + "Map cache configuration for the away table"; + leaf send-map-request { + description + "Export away table entries into the map cache with action set to send-map-request"; + type boolean; + default "true"; + } + } + leaf site-registration { + description + "Install map cache to map request for site registrations"; + type empty; + } + leaf publications { + description + "Export publication entries into map cache"; + type boolean; + } + leaf conservative-allocation { + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + } + uses router-lisp-map-cache-persistent-grouping; + uses router-lisp-proxy-grouping; + uses router-lisp-inst-service-route-export-grouping; + uses router-lisp-sgt-grouping; + uses router-lisp-use-petr-grouping; + uses router-lisp-use-petr-grouping-deprecated; + uses router-lisp-inst-service-ip-import-grouping; + } + + grouping router-lisp-inst-service-ipv4-grouping { + uses router-lisp-inst-service-ip-grouping; + container route-import { + description + "Import RIB routes by a routing protocol into LISP"; + uses router-lisp-inst-service-ipv4-route-import-protocol-grouping; + } + uses router-lisp-map-request-source-ipv4-grouping; + container database-mapping { + description + "Configures Locator addresses for an ETR"; + list eid-cont { + key "eid-prefix"; + leaf eid-prefix { + type inet:ipv4-prefix; + } + uses router-lisp-inst-database-mapping-service-insertion-grouping; + uses router-lisp-inst-database-mapping-common-grouping { + augment "locator-set-container" { + uses router-lisp-inst-database-mapping-sgt-grouping; + } + } + leaf auto-discover-rlocs { + type empty; + } + } + uses router-lisp-database-mapping-limit-grouping; + } + } + + grouping router-lisp-inst-service-ipv6-grouping { + uses router-lisp-inst-service-ip-grouping; + container route-import { + description + "Import RIB routes by a routing protocol into LISP"; + uses router-lisp-inst-service-ipv6-route-import-protocol-grouping; + } + uses router-lisp-map-request-source-ipv6-grouping; + container database-mapping { + description + "Configures Locator addresses for an ETR"; + list eid-cont { + key "eid-prefix"; + leaf eid-prefix { + type ios-types:ipv6-prefix; + } + uses router-lisp-inst-database-mapping-service-insertion-grouping; + uses router-lisp-inst-database-mapping-common-grouping { + augment "locator-set-container" { + uses router-lisp-inst-database-mapping-sgt-grouping; + } + } + leaf auto-discover-rlocs { + type empty; + } + } + uses router-lisp-database-mapping-limit-grouping; + } + } + + grouping router-lisp-inst-grouping { + container decapsulation { + description + "Decapsulation behavior (e.g. filters)"; + container filter { + description + "Filters traffic"; + container rloc { + description + "Filter based on Routing Locator (RLOC) in packet header"; + container source { + description + "Filters traffic based on RLOC source address"; + leaf locator-set { + description + "Locator-set Name"; + must '/ios:native/ios:router/ios-lisp:lisp/locator-set[name = current()] or /ios:native/ios:router/ios-lisp:lisp-list/locator-set[name = current()]' { + error-message "% locator-set used here must be present in the configurations"; + } + type string; + } + leaf member { + description + "Members learned from map-server"; + type empty; + } + } + } + } + } + leaf disable-ttl-propagate { + description + "Disable ttl propagation"; + type empty; + } + list dynamic-eid { + description + "Configure a dynamic EID"; + key "name"; + leaf name { + type string; + } + container database-mapping { + description + "Configures EID-prefix and locator-set for dynamic-EID"; + choice ip-prefix { + case ipv4-prefix { + list ipv4-prefix { + description + "IPv4 EID-prefix for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + type inet:ipv4-prefix; + } + leaf locator-set { + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + description + "RIB route tag"; + type uint32; + } + leaf silent-host-detection { + description + "Register associated silent hosts"; + type empty; + } + } + } + case ipv6-prefix { + list ipv6-prefix { + description + "IPv6 EID-prefix for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + type ios-types:ipv6-prefix; + } + leaf locator-set { + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + description + "RIB route tag"; + type uint32; + } + leaf silent-host-detection { + description + "Register associated silent hosts"; + type empty; + } + } + } + } + } + container eid-notify { + description + "Configure options for sending/receiving EID-notify"; + container authentication-key { + description + "Authentication key used for validating received EID-notify"; + uses router-lisp-four-key-grouping; + } + list gateway-key { + key "gateway-ip"; + leaf gateway-ip { + type inet:ip-address; + } + container key { + uses router-lisp-three-key-with-hash-function-grouping; + } + } + } + leaf map-notify-group { + description + "Multicast group which to send map-notifies to"; + type inet:ip-address; + } + uses router-lisp-map-server-grouping; + } + container loc-reach-algorithm { + description + "Configure locator reachability algorithm"; + container lsb-reports { + description + "Configure data packet LSB report handling"; + leaf do-not-transmit { + description + "Force the setting of the encapsulation header L bit to zero"; + type empty; + } + leaf ignore { + description + "Ignore data packet LSB reports"; + type empty; + } + } + leaf rloc-probing { + description + "Probe high priority RLOCs with Map-Requests as last resort"; + type empty; + } + } + container map-server { + description + "Map-Server commands"; + container rloc { + description + "EID instance RLOC membership"; + container members { + description + "EID instance RLOC membership"; + leaf distribute { + description + "EID instance RLOC membership distribution"; + type empty; + } + container modify-discovered { + description + "Modify the EID instance membership that is automaticallydiscovered from ETR registrations"; + leaf operator { + type enumeration { + enum add; + enum override; + } + } + leaf locator-set { + description + "Locator set from which to get member RLOC addresses"; + type string; + } + } + } + } + container site-registration { + description + "Map-server site registration options"; + leaf limit { + description + "Maximum number of site registrations as a result of accept-more-specifics"; + type uint32; + } + leaf warning-threshold { + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + } + container other-xtr-probe { + description + "Configure parameters for probing of other xTRs in our site"; + leaf period { + description + "Period between probes in seconds"; + type uint16 { + range "5..900"; + } + } + } + container remote-rloc-probe { + description + "Configure parameters for probing of remote RLOCs"; + leaf on-membership-change { + description + "Trigger probing upon membership changes for remote RLOC"; + type empty; + } + leaf on-route-change { + description + "Trigger probing upon routing changes for remote RLOC"; + type empty; + } + } + container service { + description + "Configure lisp service type"; + container ipv4 { + presence "true"; + container default { + uses router-lisp-inst-service-ipv4-grouping; + } + uses router-lisp-inst-service-ipv4-grouping; + } + container ipv6 { + presence "true"; + container default { + uses router-lisp-inst-service-ipv6-grouping; + } + uses router-lisp-inst-service-ipv6-grouping; + } + container ethernet { + presence "true"; + container default { + uses router-lisp-inst-service-ethernet-grouping; + } + uses router-lisp-inst-service-ethernet-grouping; + } + } + } + + grouping router-lisp-ip-route-import-map-cache-grouping { + container map-cache-container { + presence "true"; + leaf route-map { + description + "Route map for route selection filtering"; + type string; + } + } + } + + grouping router-lisp-ip-route-import-database-grouping { + container lisp-ip-route-import { + leaf route-map { + description + "Route map for route selection filtering"; + type string; + } + leaf route-tag { + description + "RIB route tag"; + type uint32; + } + leaf locator-set { + description + "Locator set to use with created database mapping entries"; + type string; + } + leaf proxy { + description + "Enable the dynamic import of RIB route as proxy database mapping"; + type empty; + } + } + } + + grouping router-lisp-ddt-authoritative-grouping { + container delegate { + description + "DDT delegation to a child DDT node or map-server"; + choice instance-id-eid-prefix-choice { + case eid-prefix-case { + leaf eid-prefix { + mandatory true; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + case instance-id-case { + leaf instance-id { + description + "EID instance-ID"; + mandatory true; + type string; + } + } + } + leaf to { + description + "DDT delegation to a child DDT node or map-server"; + mandatory true; + type empty; + } + leaf ip-address { + description + "IPv4/6 Child or map-server node locator address"; + mandatory true; + type inet:ip-address; + } + leaf map-server { + description + "Delegation points to a map-server"; + type empty; + } + } + leaf map-server-peer { + description + "Peer map-servers that are authoritative for the same EID prefixes"; + type inet:ip-address; + } + } + + grouping router-lisp-common-grouping { + container alt { + description + "LISP Alternative Topology, LISP-ALT"; + list summary-route { + description + "Summary route to install into the ALT table"; + key "eid-prefix"; + leaf eid-prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf route-tag { + description + "ALT RIB route tag for EID prefix"; + type uint32; + } + } + } + container control-packet { + description + "Configure control packet tx option"; + leaf mtu { + description + "Configure control packet MTU"; + type uint32 { + range "304..10000"; + } + } + } + container ddt { + description + "Delegated Database Tree (DDT) mapping system"; + presence "true"; + container authoritative { + description + "DDT authoritative prefix"; + list instance-id-eid-prefix-list { + key "instance-id eid-prefix"; + leaf instance-id { + description + "EID instance-ID"; + type uint32; + } + leaf eid-prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + uses router-lisp-ddt-authoritative-grouping; + } + list instance-id-list { + key "instance-id"; + leaf instance-id { + type string; + } + uses router-lisp-ddt-authoritative-grouping; + } + } + leaf cache-limit { + description + "DDT resolver cache entry limit"; + type uint32 { + range "1..100000"; + } + } + leaf root { + description + "DDT root node"; + type inet:ip-address; + } + } + container decapsulation { + description + "Decapsulation behavior (e.g. filters)"; + container filter { + description + "Filters traffic"; + container rloc { + description + "Filter based on Routing Locator (RLOC) in packet header"; + container source { + description + "Filters traffic based on RLOC source address"; + leaf locator-set { + description + "Locator-set Name"; + must '/ios:native/ios:router/ios-lisp:lisp/locator-set[name = current()] or /ios:native/ios:router/ios-lisp:lisp-list/locator-set[name = current()]' { + error-message "% locator-set used here must be present in the configurations"; + } + type string; + } + leaf member { + description + "Members learned from map-server"; + type empty; + } + } + } + } + } + leaf disable-ttl-propagate { + description + "Disable ttl propagation"; + type empty; + } + leaf disable-first-packet-forwarding { + description + "Disable first packet forwarding"; + type empty; + } + container etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + container map-server { + status obsolete; + description + "Configures map server for ETR registration"; + container source-address-new { + status obsolete; + description + "Configures map server source address"; + uses ios-ifc:interface-obsolete-grouping; + } + leaf source-address { + status obsolete; + description + "Configures map server source address"; + type string; + } + } + } + container ipv4 { + description + "IPv4 address family"; + uses router-lisp-ip-grouping; + } + container ipv6 { + description + "IPv6 address family"; + uses router-lisp-ip-grouping; + } + container loc-reach-algorithm { + description + "Configure locator reachability algorithm"; + container lsb-reports { + description + "Configure data packet LSB report handling"; + leaf do-not-transmit { + description + "Force the setting of the encapsulation header L bit to zero"; + type empty; + } + leaf ignore { + description + "Ignore data packet LSB reports"; + type empty; + } + } + leaf rloc-probing { + description + "Probe high priority RLOCs with Map-Requests as last resort"; + type empty; + } + } + container locator-down { + description + "Manually set locator status to down"; + leaf address { + description + "IPv4/6 Locator address to be set down"; + type inet:ip-address; + } + container IPv4-interface-new { + description + "Use IPv4 address of interface as locator"; + uses ios-ifc:interface-grouping; + } + leaf IPv4-interface { + status deprecated; + description + "Use IPv4 address of interface as locator"; + type string; + } + container IPv6-interface-new { + description + "Use IPv6 address of interface as locator"; + uses ios-ifc:interface-grouping; + } + leaf IPv6-interface { + status deprecated; + description + "Use IPv6 address of interface as locator"; + type string; + } + } + container locator-table { + description + "Specify the RLOC table"; + leaf vrf-name { + type string; + } + leaf default { + description + "Default VRF"; + type empty; + } + leaf vrf { + description + "VRF name"; + type string; + } + } + container map-request { + description + "Configure map-request handling"; + leaf itr-rlocs { + description + "Configure to use the specified RLOC set as ITR RLOC in map-request"; + type string; + } + } + container map-server { + description + "Map-Server commands"; + container rloc { + description + "EID instance RLOC membership"; + container members { + description + "EID instance RLOC membership"; + leaf distribute { + description + "EID instance RLOC membership distribution"; + type empty; + } + container modify-discovered { + description + "Modify the EID instance membership that is automaticallydiscovered from ETR registrations"; + leaf operator { + type enumeration { + enum add; + enum override; + } + } + leaf locator-set { + description + "Locator set from which to get member RLOC addresses"; + type string; + } + } + } + } + container site-registration { + description + "Map-server site registration options"; + leaf limit { + description + "Maximum number of site registrations as a result of accept-more-specifics"; + type uint32; + } + leaf warning-threshold { + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + container nmr { + description + "Map-server negative map-reply option"; + leaf non-site-ttl { + description + "Negative map-reply TTL for non-site EID"; + type uint16 { + range "1..1440"; + } + } + } + container session { + description + "Map-server session"; + leaf passive-open { + description + "Open passive TCP sockets to listen for incoming connections"; + type string; + } + } + } + container platform { + description + "Configure platform resource options"; + container resource-usage { + description + "Configure resource-usage options"; + leaf local-host { + description + "Local host reserved percentage"; + type uint8 { + range "1..100"; + } + } + container maximum-local-hosts { + description + "Maximum local hosts"; + leaf l2 { + description + "L2 local hosts"; + type uint32; + } + leaf l3 { + description + "L3 local hosts"; + type uint32; + } + } + leaf warning { + description + "warning percentage"; + type uint8 { + range "1..95"; + } + } + } + } + container other-xtr-probe { + description + "Configure parameters for probing of other xTRs in our site"; + leaf period { + description + "Period between probes in seconds"; + type uint16 { + range "5..900"; + } + } + } + container remote-rloc-probe { + description + "Configure parameters for probing of remote RLOCs"; + leaf on-membership-change { + description + "Trigger probing upon membership changes for remote RLOC"; + type empty; + } + leaf on-route-change { + description + "Trigger probing upon routing changes for remote RLOC"; + type empty; + } + } + } + + grouping router-lisp-locator-set-grouping { + leaf priority { + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + + grouping router-lisp-locator-set-grouping-deprecated { + leaf priority { + status deprecated; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status deprecated; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + + grouping router-lisp-locator-set-grouping-new { + container affinity { + description + "Configuration for affinity-id"; + choice affinity-opt { + case id-only { + leaf affinity-id-x { + description + "Numeric value for affinity-id X dimension"; + type uint64; + } + leaf affinity-id { + status deprecated; + description + "Configuration for affinity-id"; + type uint32; + } + } + case id-val { + container id-val { + leaf affinity-id-x { + description + "Numeric value for affinity-id X dimension"; + type uint64; + } + leaf affinity-id-y { + description + "Numeric value for affinity-id Y dimension"; + type uint64; + } + leaf affinity-id { + status deprecated; + description + "Configuration for affinity-id"; + type uint32; + } + leaf y-val { + status deprecated; + description + "Numeric value for Y dimension"; + type uint32; + } + } + } + } + } + container priority-and-weight { + description + "Configures which Locators from a set are preferred"; + leaf priority { + status deprecated; + description + "Configures which Locators from a set are preferred (DEPRECATED)"; + type uint8; + } + leaf track-peers { + description + "Configures track-peers"; + type empty; + } + leaf base-value { + description + "Peer RLOC priority base value"; + type uint8; + } + leaf decrement { + when 'boolean(../track-peers)'; + description + "Peer RLOC tracking decrement"; + type int16 { + range "-255..-1"; + } + } + leaf weight { + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-key-grouping { + leaf ak-0 { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf ak-6 { + description + "The ENCRYPTED password"; + type string; + } + leaf unc-pwd { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + + grouping router-lisp-site-inst-id-prefix-grouping { + list instance-id-cfg { + description + "EID instance-ID"; + key "id prefix"; + leaf id { + type uint32 { + range "1..16777214"; + } + } + leaf prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + uses router-lisp-site-publication-summary-only-grouping; + container route-tag-options { + leaf route-tag { + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + } + container inst-id-any-mac { + list instance-id-cfg { + description + "EID instance-ID"; + key "id"; + leaf id { + type uint32 { + range "1..16777214"; + } + } + leaf any-mac { + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + } + } + + grouping router-lisp-site-prefix-grouping-deprecated { + list prefixes { + status deprecated; + key "prefix"; + leaf prefix { + status deprecated; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + status deprecated; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + container route-tag-options { + status deprecated; + leaf route-tag { + status deprecated; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + status deprecated; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + leaf route-tag { + status deprecated; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + } + } + + grouping router-lisp-site-prefix-grouping { + list prefixes { + key "prefix"; + leaf prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + uses router-lisp-site-publication-summary-only-grouping; + container route-tag-options { + leaf route-tag { + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + leaf route-tag { + status deprecated; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + } + } + + grouping router-lisp-site-common-grouping { + container authentication-key { + description + "Authentication key used by LISP site"; + uses router-lisp-four-key-grouping; + } + leaf description { + description + "Site description"; + type string; + } + container allowed-locator { + description + "Locator from LISP site"; + leaf ls-ipv4 { + description + "IPv4 locator allowed in registered locator-set"; + type inet:ipv4-address; + } + leaf ls-ipv6 { + description + "IPv6 locator allowed in registered locator-set"; + type inet:ipv6-address; + } + container list { + description + "Prefixes allowed in registered locator-set"; + leaf ipv4 { + description + "IPv4 prefix-list name"; + type string; + } + leaf ipv6 { + description + "IPv6 prefix-list name"; + type string; + } + } + } + list allow-locator-default-etr { + description + "Allow default-etr"; + key "instance-id address-family"; + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf address-family { + description + "Accept registrations for ipv4/ipv6"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + list allow-locator-service-etr { + description + "Allow service-etr"; + key "instance-id address-family"; + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf address-family { + description + "Accept registrations for ipv4/ipv6"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + container eid-prefix { + description + "Site EID address prefix"; + uses router-lisp-site-prefix-grouping; + uses router-lisp-site-inst-id-prefix-grouping; + list instance-id { + status deprecated; + description + "EID instance-ID"; + key "id"; + leaf id { + status deprecated; + type uint32 { + range "1..16777214"; + } + } + uses router-lisp-site-prefix-grouping-deprecated; + leaf any-mac { + status deprecated; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf any-mac { + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + container eid-record { + description + "Site EID address prefix"; + uses router-lisp-site-prefix-grouping; + uses router-lisp-site-inst-id-prefix-grouping; + list instance-id { + status deprecated; + description + "EID instance-ID"; + key "id"; + leaf id { + status deprecated; + type uint32 { + range "1..16777214"; + } + } + uses router-lisp-site-prefix-grouping-deprecated; + leaf any-mac { + status deprecated; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf any-mac { + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf site-id { + description + "Configure a site-id for this site"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping rouer-lisp-site-grouping { + list site { + description + "Configure a LISP site on a map server (MS)"; + key "sname"; + leaf sname { + description + "The site name"; + type string; + } + container default { + status obsolete; + uses router-lisp-site-common-grouping-obsolete; + } + uses router-lisp-site-common-grouping; + } + } + + grouping router-lisp-site-publication-summary-only-grouping { + leaf publication-summary-only { + description + "Publish only aggregate summary of EID prefixes"; + type empty; + } + } + + grouping router-lisp-extranet-policy-common-group-obsolete { + list prefixes { + status obsolete; + key "prefix"; + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + leaf ip-any { + status obsolete; + description + "Accept any ipv4/ipv6 address"; + type empty; + } + } + + grouping router-lisp-extranet-policy-common-group { + list prefixes { + key "prefix"; + leaf prefix { + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + leaf ip-any { + description + "Accept any ipv4/ipv6 address"; + type empty; + } + } + + grouping router-lisp-extranet-policy-attribute-group-obsolete { + container map-cache { + status obsolete; + description + "Map-cache configuration"; + leaf extranet-policy { + status obsolete; + description + "Install map cache to map request for extranet policy"; + type empty; + } + } + container route-export { + status obsolete; + description + "Export routes into RIB from LISP"; + leaf extranet-policy { + status obsolete; + description + "Export extranet config policy"; + type empty; + } + } + container distance { + status obsolete; + description + "Administrative distance for RIB route installation"; + leaf extranet-policy { + status obsolete; + description + "LISP installed routes of type extranet-policy"; + type uint32 { + range "1..255"; + } + } + } + } + + grouping router-lisp-extranet-policy-attribute-group { + container map-cache { + description + "Map-cache configuration"; + leaf extranet-policy { + description + "Install map cache to map request for extranet policy"; + type empty; + } + } + container route-export { + description + "Export routes into RIB from LISP"; + leaf extranet-policy { + description + "Export extranet config policy"; + type empty; + } + } + container distance { + description + "Administrative distance for RIB route installation"; + leaf extranet-policy { + description + "LISP installed routes of type extranet-policy"; + type uint32 { + range "1..255"; + } + } + } + } + + grouping router-lisp-extranet-eid-record-provider-group { + list eid-record-provider { + description + "Extranet EID address record for a provider"; + max-elements 1; + key "instance-id"; + leaf instance-id { + description + "EID instance-ID"; + must 'not (/ios:native/ios:router/lisp/extranet/eid-record-subscriber[instance-id = current() ]) and not (/ios:native/ios:router/lisp-list/extranet/eid-record-subscriber[instance-id = current() ])' { + error-message "% Provider EID group cannot be same as other subscriber EID group"; + } + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-extranet-policy-common-group-obsolete; + uses router-lisp-extranet-policy-attribute-group-obsolete; + } + uses router-lisp-extranet-policy-common-group; + uses router-lisp-extranet-policy-attribute-group; + } + } + + grouping router-lisp-extranet-eid-record-subscriber-group { + list eid-record-subscriber { + description + "Extranet EID address record for subscriber"; + key "instance-id"; + leaf instance-id { + must 'not (../../eid-record-provider[instance-id = current() ])' { + error-message "% Subscriber instance cannot be same as provider instance"; + } + must 'not (/ios:native/ios:router/lisp/extranet/eid-record-provider[instance-id = current() ]) and not (/ios:native/ios:router/lisp-list/extranet/eid-record-provider[instance-id = current() ])' { + error-message "% Subscriber EID group cannot be same as other provider EID group"; + } + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-extranet-policy-common-group-obsolete; + } + uses router-lisp-extranet-policy-common-group; + container service-insertion { + leaf service-id { + type uint16 { + range "1..8"; + } + } + leaf service-type { + type enumeration { + enum firewall; + enum s2s; + } + } + } + } + } + + grouping router-lisp-extranet-group { + list extranet { + description + "Configure extranet config policy on a map server (MS)"; + key "ext-name"; + leaf ext-name { + description + "The extranet name"; + type string; + } + leaf extranet-config-from-transit { + description + "Enable extranet config propagation"; + type empty; + } + container default { + status obsolete; + uses router-lisp-extranet-eid-record-provider-group-obsolete; + uses router-lisp-extranet-eid-record-subscriber-group-obsolete; + } + uses router-lisp-extranet-eid-record-provider-group; + uses router-lisp-extranet-eid-record-subscriber-group; + } + } + + grouping config-lisp-remote-locator-set-grouping { + list ipv4-address { + description + "IPv4 Address of loopback or other Proxy ETR interface"; + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + uses router-lisp-locator-set-grouping; + } + list ipv6-address { + description + "IPv6 Address of loopback or other Proxy ETR interface"; + key "address"; + leaf address { + type inet:ipv6-address; + } + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + uses router-lisp-locator-set-grouping; + } + } + + grouping config-lisp-main-grouping { + container service { + description + "Configure lisp service type"; + container ipv4 { + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ipv4-grouping-obsolete; + } + uses router-lisp-service-ipv4-grouping; + } + container ipv6 { + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ipv6-grouping-obsolete; + } + uses router-lisp-service-ipv6-grouping; + } + container ethernet { + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ethernet-grouping-obsolete; + } + uses router-lisp-service-ethernet-grouping; + } + } + leaf disable-extranet-policy-import-to-db { + description + "Disable Extranet Policy import to Database"; + type boolean; + default "false"; + } + container default-etr { + description + "Configuration applied to default-etr registrations"; + leaf disable-metric { + description + "Disable getting metric from RIB"; + type empty; + } + } + container encapsulation { + description + "Select encapsulation type for data packets"; + leaf vxlan { + description + "Use VXLAN encapsulation for data packets"; + type empty; + } + } + uses router-lisp-extranet-group; + list remote-locator-set { + description + "Configure a named remote locator set"; + key "name"; + leaf name { + type string; + } + container default { + status obsolete; + uses config-lisp-remote-locator-set-grouping-obsolete; + } + uses config-lisp-remote-locator-set-grouping; + } + list locator-set { + description + "Configure a named locator set"; + key "name"; + leaf name { + type string; + } + leaf auto-discover-rlocs { + description + "Auto discover locators registered by other xTRs"; + type empty; + } + list IPv4-interface { + description + "Use IPv4 address of interface as locator"; + key "name"; + leaf name { + type string; + } + uses router-lisp-locator-set-grouping-new; + uses router-lisp-locator-set-grouping-deprecated; + } + list IPv6-interface { + description + "Use IPv6 address of interface as locator"; + key "name"; + leaf name { + type string; + } + uses router-lisp-locator-set-grouping-new; + uses router-lisp-locator-set-grouping-deprecated; + } + list ip-address { + description + "Use IPv6 address of interface as locator"; + key "ip"; + leaf ip { + type inet:ip-address; + } + uses router-lisp-locator-set-grouping-new; + uses router-lisp-locator-set-grouping-deprecated; + } + } + container locator { + description + "Locator configuration"; + leaf default-set { + description + "Specify a default locator-set"; + type string; + } + leaf consistency-check { + description + "Log a message if RLOC inconsistency is detected"; + type boolean; + default "true"; + } + } + list locator-scope { + description + "Configure a locator scope"; + key "name"; + leaf name { + type string; + } + leaf-list rloc-prefix { + description + "RLOC prefix to check against ITR RLOC and ETR RLOC"; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf-list rtr-locator-set { + description + "Locator-set of RTR to use in proxy reply for disjoint/cross AF RLOC"; + type string; + } + } + list prefix-list { + description + "Configure a named prefix list"; + key "name"; + leaf name { + type string; + } + list ipv4-prefix { + description + "IPv4 EID-prefix"; + key "prefix"; + leaf prefix { + type inet:ipv4-prefix; + } + } + list ipv6-prefix { + description + "IPv6 EID-prefix"; + key "prefix"; + leaf prefix { + type inet:ipv6-prefix; + } + } + } + container instance-container { + description + "EID instance-ID"; + list instance-list { + key "instance-id"; + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-inst-grouping-obsolete; + } + uses router-lisp-inst-grouping; + } + } + uses router-lisp-common-grouping; + container eid-table { + status obsolete; + description + "Configure an EID instance for a VRF"; + list instance-list { + status obsolete; + key "instance-id"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf vrf-name { + status obsolete; + type string; + } + leaf default { + status obsolete; + description + "Default VRF"; + type empty; + } + leaf vrf { + status obsolete; + type string; + } + list database-mapping { + status obsolete; + description + "Configures Locator addresses for an ETR"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + } + list dynamic-eid { + status obsolete; + description + "Configure a dynamic EID"; + key "name"; + leaf name { + status obsolete; + type string; + } + list database-mapping { + status obsolete; + description + "Configures EID-prefix and locator-set for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type inet:ipv4-prefix; + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + } + container eid-notify { + status obsolete; + description + "Configure options for sending/receiving EID-notify"; + container authentication-key { + status obsolete; + description + "Authentication key used for validating received EID-notify"; + uses router-lisp-key-grouping-obsolete; + } + list gateway-key { + status obsolete; + key "gateway-ip"; + leaf gateway-ip { + status obsolete; + type inet:ip-address; + } + uses router-lisp-key-grouping-obsolete; + leaf hash-function { + status obsolete; + description + "EID-notify authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + } + leaf map-notify-group { + status obsolete; + description + "Multicast group which to send map-notifies to"; + type inet:ip-address; + } + list map-server { + status obsolete; + description + "Configures map server for ETR registration"; + key "ip"; + leaf ip { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + description + "Authentication key used with map server"; + leaf key-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf key-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + leaf key-7 { + status obsolete; + description + "The HIDDEN password"; + type string; + } + leaf pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf hash-function { + status obsolete; + description + "Map-Register authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + leaf proxy-reply { + status obsolete; + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + } + } + uses router-lisp-common-grouping-obsolete; + list map-cache { + status obsolete; + description + "Configures static EID-to-RLOC mappings for an ITR"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + container etr-interface-ip { + status obsolete; + leaf etr-interface-ip-address { + status obsolete; + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + leaf drop { + status obsolete; + description + "Drop packets that match this map-cache entry"; + type empty; + } + leaf map-request { + status obsolete; + description + "Send Map-Request for LISP destination EID"; + type empty; + } + leaf native-forward { + status obsolete; + description + "Natively forward packets that match this map-cache entry"; + type empty; + } + } + } + } + container security { + description + "Enable default LISP security and authentication in reply is optional"; + presence "true"; + leaf strong { + description + "Enable default LISP security and authentication in reply is required"; + type empty; + } + } + uses rouer-lisp-site-grouping; + leaf site-id { + description + "Configure a site-id for this site"; + type uint32; + } + container syslog { + description + "Configure syslog option"; + container session { + description + "Enable session syslog"; + leaf changes { + description + "Enable session change syslog"; + type empty; + } + } + leaf verbose { + description + "Enable verbose syslog"; + type empty; + } + } + container capability { + description + "Configure capability"; + container publish-subscribe { + description + "Configure Capability for Publish-Subscribe functionality"; + leaf instance-id { + description + "Instance-ID"; + type boolean; + default "true"; + } + } + } + container fabric { + description + "Configure fabric role"; + presence "true"; + leaf border { + description + "Configure fabric role as border"; + type empty; + } + } + container redundancy { + description + "Configure redundancy"; + leaf sso { + description + "Configure redundancy sso"; + type boolean; + default "true"; + } + } + container tcp { + description + "Configure TCP options"; + leaf path-mtu-discovery { + description + "Configure path mtu discovery"; + type boolean; + default "true"; + } + list auth-option { + description + "Configure LISP TCP auth-option"; + key "name"; + leaf name { + type string; + } + list peer { + description + "Configure TCP-AO peer"; + key "address"; + leaf address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type enumeration { + enum accept; + } + } + } + } + } + } + leaf domain-id { + description + "Configures Domain-ID of LISP device"; + type uint32 { + range "1..4294967038"; + } + } + leaf multihoming-id { + description + "Configures Multihoming-ID of LISP device"; + type uint16 { + range "1..65535"; + } + } + leaf publication-delete-timer { + description + "Publication delete timer"; + type uint16 { + range "3..1440"; + } + units "minutes"; + } + } + + grouping config-interface-lisp-grouping { + container lisp { + description + "Locator/ID Separation Protocol"; + leaf extended-subnet-mode { + description + "Configures to enable extended subnet mode on the interface"; + type empty; + } + container mobility { + description + "Configures to allow EID mobility on interface"; + list dynamic-eid { + key "dynamic-eid-name"; + leaf dynamic-eid-name { + type string; + } + container nbr-proxy-reply { + description + "Neighbor proxy reply behavior for dynamic EID group"; + presence "true"; + leaf requests { + description + "Send neighbor proxy reply after reaching request threshold"; + type uint8 { + range "0..5"; + } + } + } + } + container discover { + description + "Configure mobility dynamic EID discover settings"; + leaf arp { + description + "Dynamic EID discover through ARP events on this interface"; + type boolean; + } + } + container liveness { + description + "Configure mobility liveness settings"; + leaf test { + description + "Perform liveness test on dynamic-EID discovered on this interface"; + type boolean; + default "true"; + } + leaf ttl { + description + "Configures the TTL in the liveness test packet"; + type uint8 { + range "2..255"; + } + } + } + } + } + } + + grouping config-router-lisp-list-grouping { + list lisp-list { + description + "Locator/ID Separation Protocol"; + key "lisp"; + leaf lisp { + description + "Locator/ID Separation Protocol"; + type uint16 { + range "1..65520"; + } + } + container default { + status obsolete; + uses config-lisp-main-grouping-obsolete; + } + uses config-lisp-main-grouping; + } + } + + grouping config-router-lisp-grouping { + container lisp { + description + "Locator/ID Separation Protocol"; + presence "true"; + container default { + status obsolete; + uses config-lisp-main-grouping-obsolete; + } + uses config-lisp-main-grouping; + } + } + + grouping config-interface-ip-lisp-grouping { + container lisp { + description + "Locator/ID Separation Protocol"; + container src-locator { + uses ios:interface-with-dependency-grouping; + } + leaf source-locator { + status obsolete; + description + "Obsolete: Please use src-locator"; + type string; + } + } + } + + augment "/ios:native/ios:router" { + uses config-router-lisp-grouping; + uses config-router-lisp-list-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-lisp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-lisp-grouping; + } + + grouping router-lisp-extranet-group-obsolete { + list extranet { + status obsolete; + description + "Configure extranet config policy on a map server (MS)"; + key "ext-name"; + leaf ext-name { + status obsolete; + description + "The extranet name"; + type string; + } + container default { + status obsolete; + uses router-lisp-extranet-eid-record-provider-group-obsolete; + uses router-lisp-extranet-eid-record-subscriber-group-obsolete; + } + uses router-lisp-extranet-eid-record-provider-group-obsolete; + uses router-lisp-extranet-eid-record-subscriber-group-obsolete; + } + } + + grouping router-lisp-extranet-eid-record-subscriber-group-obsolete { + list eid-record-subscriber { + status obsolete; + description + "Extranet EID address record for subscriber"; + key "instance-id"; + leaf instance-id { + status obsolete; + must 'not (../../eid-record-provider[instance-id = current() ])' { + error-message "% Subscriber instance cannot be same as provider instance"; + } + must 'not (/ios:native/ios:router/lisp/extranet/eid-record-provider[instance-id = current() ]) and not (/ios:native/ios:router/lisp-list/extranet/eid-record-provider[instance-id = current() ])' { + error-message "% Subscriber EID group cannot be same as other provider EID group"; + } + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-extranet-policy-common-group-obsolete; + } + uses router-lisp-extranet-policy-common-group-obsolete; + container service-insertion { + status obsolete; + leaf service-id { + status obsolete; + type uint16 { + range "1..8"; + } + } + leaf service-type { + status obsolete; + type enumeration { + enum firewall; + enum s2s; + } + } + } + } + } + + grouping router-lisp-extranet-eid-record-provider-group-obsolete { + list eid-record-provider { + status obsolete; + description + "Extranet EID address record for a provider"; + max-elements 1; + key "instance-id"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + must 'not (/ios:native/ios:router/lisp/extranet/eid-record-subscriber[instance-id = current() ]) and not (/ios:native/ios:router/lisp-list/extranet/eid-record-subscriber[instance-id = current() ])' { + error-message "% Provider EID group cannot be same as other subscriber EID group"; + } + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-extranet-policy-common-group-obsolete; + uses router-lisp-extranet-policy-attribute-group-obsolete; + } + uses router-lisp-extranet-policy-common-group-obsolete; + uses router-lisp-extranet-policy-attribute-group-obsolete; + } + } + + grouping router-lisp-inst-service-ip-route-import-database-protocol-grouping-obsolete { + container application { + status obsolete; + description + "Application Protocol"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container isis { + status obsolete; + description + "ISO IS-IS"; + leaf process-id { + status obsolete; + description + "Process name"; + type string; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type uint32 { + range "1..4294967295"; + } + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container nd { + status obsolete; + description + "Neighbor Discovery"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping-obsolete { + container application { + status obsolete; + description + "Application Protocol"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container isis { + status obsolete; + description + "ISO IS-IS"; + leaf id { + status obsolete; + description + "Process name"; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type uint32 { + range "1..4294967295"; + } + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container nd { + status obsolete; + description + "Neighbour Discovery"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-ipv4-route-import-map-cache-protocol-grouping-obsolete { + container map-cache { + status obsolete; + description + "Use RIB routes to define EID address space in map-cache"; + uses router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping-obsolete; + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-map-cache-protocol-grouping-obsolete { + container map-cache { + status obsolete; + description + "Use RIB routes to define EID address space in map-cache"; + uses router-lisp-inst-service-ip-route-import-map-cache-protocol-grouping; + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this process"; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + } + } + + grouping router-lisp-inst-service-ipv4-route-import-database-protocol-grouping-obsolete { + container database { + status obsolete; + description + "Use RIB routes to define local EID database entries"; + uses router-lisp-inst-service-ip-route-import-database-protocol-grouping-obsolete; + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-database-protocol-grouping-obsolete { + container database { + status obsolete; + description + "Use RIB routes to define local EID database entries"; + uses router-lisp-inst-service-ip-route-import-database-protocol-grouping-obsolete; + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this process"; + type string; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + } + } + + grouping router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping-obsolete { + list prefix-list-proto { + status obsolete; + key "prefix-list protocol"; + leaf prefix-list { + status obsolete; + type string; + } + leaf protocol { + status obsolete; + type enumeration { + enum application; + enum bgp; + enum connected; + enum eigrp; + enum isis; + enum maximum-prefix; + enum nd; + enum ospf; + enum static; + enum rip; + } + } + list bgp-id { + status obsolete; + key "bgp-id"; + when "../protocol = 'bgp'"; + leaf bgp-id { + status obsolete; + type ios-types:bgp-as-number-type; + } + leaf route-map { + status obsolete; + type string; + } + } + list eigrp-or-ospf-id { + status obsolete; + when "../protocol = 'eigrp' or ../protocol = 'ospf'"; + key "int16-id"; + leaf int16-id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf route-map { + status obsolete; + type string; + } + } + leaf isis-id { + status obsolete; + when "../protocol = 'isis'"; + type string; + } + leaf number { + status obsolete; + when "../protocol = 'maximum-prefix'"; + type uint32 { + range "1..4294967295"; + } + } + leaf threshold { + status obsolete; + when "../protocol = 'maximum-prefix'"; + type uint8 { + range "1..100"; + } + } + leaf warning-only { + status obsolete; + when "../protocol = 'maximum-prefix'"; + type empty; + } + leaf route-map { + status obsolete; + when "not(../protocol = 'maximum-prefix')"; + type string; + } + } + } + + grouping router-lisp-inst-service-ipv6-route-import-protocol-grouping-obsolete { + uses router-lisp-inst-service-ipv6-route-import-database-protocol-grouping-obsolete; + uses router-lisp-inst-service-ipv6-route-import-map-cache-protocol-grouping-obsolete; + uses router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping-obsolete; + } + + grouping router-lisp-inst-service-ipv4-route-import-protocol-grouping-obsolete { + uses router-lisp-inst-service-ipv4-route-import-database-protocol-grouping-obsolete; + uses router-lisp-inst-service-ipv4-route-import-map-cache-protocol-grouping-obsolete; + uses router-lisp-inst-service-ip-route-import-prefix-list-protocol-grouping-obsolete; + } + + grouping router-lisp-xtr-prefix-list-grouping-obsolete { + leaf prefix-list { + status obsolete; + description + "Associates ITR/ETR with prefix list"; + type string; + } + } + + grouping router-lisp-map-server-domain-id-grouping-obsolete { + leaf domain-id { + status obsolete; + description + "Domain-ID associated with map server"; + type uint32 { + range "1..4294967038"; + } + } + } + + grouping router-lisp-itr-grouping-obsolete { + container itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + list map-resolver { + status obsolete; + description + "Configures map-resolver address for sending Map-Requests"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + uses router-lisp-xtr-prefix-list-grouping-obsolete; + } + leaf nmr-ttl { + status obsolete; + description + "Override negative map-reply TTL for site EID"; + type uint16 { + range "1..900"; + } + } + } + container itr-enable { + status obsolete; + leaf itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + type empty; + } + } + } + + grouping router-lisp-etr-grouping-obsolete { + container etr-enable { + status obsolete; + leaf etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + type empty; + } + } + container etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + uses router-lisp-map-server-grouping-obsolete; + leaf map-cache-ttl { + status obsolete; + type uint16 { + range "60..10080"; + } + } + container accept-map-request-mapping { + status obsolete; + leaf accept-mappping { + status obsolete; + type empty; + } + leaf verify { + status obsolete; + type empty; + } + } + } + } + + grouping router-lisp-database-mapping-limit-grouping-obsolete { + container limit { + status obsolete; + description + "Configures the maximum size of local EID prefixes database"; + leaf dynamic { + status obsolete; + description + "Configures the maximum size of dynamic local EID prefixes database"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the database-mapping dynamic size reaches this percentage of the limit"; + type uint8 { + range "1..100"; + } + } + } + } + + grouping router-lisp-map-cache-common-grouping-obsolete { + list rloc-attributes { + status obsolete; + key "rloc"; + leaf rloc { + status obsolete; + description + "IP address of loopback or other ETR interface"; + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + mandatory true; + type uint8 { + range "0..255"; + } + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + mandatory true; + type uint8 { + range "0..100"; + } + } + } + container etr-interface-ip { + status obsolete; + description + "Deprecated by ../rloc-attributes"; + leaf etr-interface-ip-address { + status obsolete; + description + "Deprecated by ../../rloc-attributes/rloc-prefix"; + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Deprecated by ../../rloc-attributes/attributes/priority"; + type uint8 { + range "0..255"; + } + } + leaf weight { + status obsolete; + description + "Deprecated by ../../rloc-attributes/attributes/priority"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-map-request-source-ipv4-grouping-obsolete { + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ipv4-address; + } + } + + grouping router-lisp-map-request-source-ipv6-grouping-obsolete { + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ipv6-address; + } + } + + grouping router-lisp-map-request-source-any-grouping-obsolete { + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ip-address; + } + } + + grouping router-lisp-map-cache-limit-grouping-obsolete { + container map-cache-limit { + status obsolete; + description + "Configures maximum size of map-cache"; + leaf max-map-cache-entries { + status obsolete; + type uint32 { + range "0..100000"; + } + } + leaf reserve-list { + status obsolete; + description + "EID-prefixes guaranteed to be stored in map-cache"; + type string; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the map-cache size reaches this percentage of the limit"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-site-registration-grouping-obsolete { + container site-registration { + status obsolete; + description + "Site registrations configuration for a given instance-id"; + leaf limit { + status obsolete; + description + "Maximum number of site registrations"; + type uint32 { + range "1..4294967295"; + } + } + leaf warning-threshold { + status obsolete; + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + } + + grouping router-lisp-solicit-map-request-grouping-obsolete { + container solicit-map-request { + status obsolete; + description + "Configure Solicit-Map-Request handling"; + leaf ignore { + status obsolete; + description + "Ignore SMR bit in incoming Map-Requests"; + type empty; + } + leaf max-per-entry { + status obsolete; + description + "Maximum number of SMRs for addresses under a map-cache entry"; + type uint8 { + range "1..100"; + } + } + leaf suppression-time { + status obsolete; + description + "How long to suppress repeated SMRs for the same address"; + type uint16 { + range "1..600"; + } + } + } + } + + grouping router-lisp-registration-history-grouping-obsolete { + container registration-history { + status obsolete; + description + "Map-server (MS) registration history"; + leaf limit { + status obsolete; + description + "Size of registration history log"; + type uint32 { + range "0..1000000"; + } + default "1000"; + } + } + } + + grouping router-lisp-service-common-grouping-obsolete { + container database-mapping { + status obsolete; + description + "Address family specific local EID prefixes database configuration"; + uses router-lisp-database-mapping-limit-grouping-obsolete; + } + uses router-lisp-itr-grouping-obsolete; + uses router-lisp-etr-grouping-obsolete; + uses router-lisp-map-cache-limit-grouping-obsolete; + uses router-lisp-registration-history-grouping-obsolete; + container map-resolver { + status obsolete; + description + "Configures a LISP Map Resolver (MR)"; + presence "true"; + container map-request { + status obsolete; + description + "Map-Request processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "Influence which source RLOCs map requests are accepted from"; + container list { + status obsolete; + description + "Define allowed prefixes using an ip[v6] prefix list"; + leaf ipv4 { + status obsolete; + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + status obsolete; + description + "IPv6 prefixes"; + type string; + } + } + container registered { + status obsolete; + description + "...from RLOCs that register EID-prefixes in the same IID on a co-located MapServer"; + container list { + status obsolete; + description + "Define allowed prefixes using an ip[v6] prefix list"; + leaf ipv4 { + status obsolete; + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + status obsolete; + description + "IPv6 prefixes"; + type string; + } + } + } + } + } + } + } + container map-server { + status obsolete; + description + "Configures a LISP Map Server (MS)"; + presence "true"; + container map-register { + status obsolete; + description + "Map-Register processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "RLOC Source IP address"; + leaf allowed-locator { + status obsolete; + description + "Against sites' allowed-locators policy"; + type empty; + } + } + } + } + } + uses router-lisp-site-registration-grouping-obsolete; + uses router-lisp-solicit-map-request-grouping-obsolete; + } + + grouping dynamic-eid-detection-grouping-obsolete { + container dynamic-eid { + status obsolete; + description + "Configure dynamic eid options"; + container detection { + status obsolete; + description + "Configure dynamic eid detection options"; + leaf multiple-addr { + status obsolete; + description + "Configure to support multiple ip addresses per mac"; + type empty; + } + leaf bridged-vm { + status obsolete; + description + "Configure to support sgt propagation for bridged VMs"; + type empty; + } + } + } + } + + grouping router-lisp-service-ethernet-grouping-obsolete { + container encapsulation { + status obsolete; + description + "Select encapsulation type for data packets. This node is obsolete"; + leaf vxlan { + description + "Use VXLAN encapsulation for data packets. This node is obsolete"; + status obsolete; + type empty; + } + } + container map-cache { + status obsolete; + description + "Address family specific map cache configuration"; + leaf conservative-allocation { + status obsolete; + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + leaf publications { + status obsolete; + description + "Export publication entries into map cache"; + type empty; + } + } + uses dynamic-eid-detection-grouping-obsolete; + uses router-lisp-map-request-source-any-grouping-obsolete; + uses router-lisp-service-common-grouping-obsolete; + uses router-lisp-publish-subscribe-grouping-obsolete; + uses router-lisp-service-ethernet-import-grouping-obsolete; + } + + grouping router-lisp-service-import-publication-grouping-obsolete { + container publication { + status obsolete; + description + "Receive LISP publications"; + list publisher { + status obsolete; + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + } + } + } + + grouping router-lisp-inst-service-import-publication-grouping-obsolete { + container publication { + status obsolete; + description + "Receive LISP publications"; + choice publisher-choice { + status obsolete; + container inherit-publisher { + status obsolete; + leaf publisher { + status obsolete; + description + "Import publications from publisher"; + type boolean; + default "true"; + } + } + list publisher { + status obsolete; + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + } + } + } + } + + grouping router-lisp-service-ip-import-database-grouping-obsolete { + container database { + status obsolete; + container site-reg-src { + status obsolete; + description + "Redistribute LISP internal states as database mapping"; + leaf site-registration-src { + status obsolete; + description + "Import states from site registrations"; + type empty; + } + leaf loc-set { + status obsolete; + description + "Locator set to use with database mapping entries"; + type string; + } + } + leaf site-registration { + status obsolete; + description + "Import states from site registrations"; + type empty; + } + leaf locator-set { + status obsolete; + description + "Locator set to use with created database mapping entries"; + type string; + } + container publication { + status obsolete; + description + "Redistribute LISP publication states as database mapping"; + leaf locator-set { + status obsolete; + must '/ios:native/ios:router/lisp/locator-set[name = current() ] or /ios:native/ios:router/lisp-list/locator-set[name = current() ]' { + error-message "% Please configure the locator-set before configuring publication"; + } + description + "Locator set to use with created database mapping entries"; + type string; + } + } + } + } + + grouping router-lisp-service-ip-import-prefix-list-grouping-obsolete { + container prefix-list-container { + status obsolete; + description + "Redistribute LISP internal states into LISP prefix-list entries"; + leaf prefix-list { + status obsolete; + description + "The name of the lisp prefix list"; + type string; + } + leaf site-registration { + status obsolete; + description + "Import states from site registrations"; + type empty; + } + leaf publication { + status obsolete; + description + "Import states from publications"; + type empty; + } + } + } + + grouping router-lisp-service-ethernet-import-publication-grouping-obsolete { + container publication { + status obsolete; + description + "Receive LISP publications"; + list publisher { + status obsolete; + description + "Import publications from publisher"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + } + } + } + + grouping router-lisp-service-ethernet-import-grouping-obsolete { + container import { + status obsolete; + description + "Redistribute LISP states internally"; + uses router-lisp-service-ethernet-import-publication-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-ethernet-import-grouping-obsolete { + container import { + status obsolete; + description + "Redistribute LISP states internally"; + uses router-lisp-inst-service-import-publication-grouping-obsolete; + } + } + + grouping router-lisp-service-ip-import-grouping-obsolete { + container import { + status obsolete; + description + "Redistribute LISP states internally"; + uses router-lisp-service-ip-import-database-grouping-obsolete; + uses router-lisp-service-import-publication-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-ip-import-grouping-obsolete { + container import { + status obsolete; + description + "Redistribute LISP states internally"; + uses router-lisp-service-ip-import-database-grouping-obsolete; + uses router-lisp-service-ip-import-prefix-list-grouping-obsolete; + uses router-lisp-inst-service-import-publication-grouping-obsolete; + } + } + + grouping router-lisp-service-ip-grouping-obsolete { + uses router-lisp-service-common-grouping-obsolete; + uses router-lisp-service-ip-distance-grouping-obsolete; + leaf encapsulation { + status obsolete; + description + "Select encapsulation type for data packets"; + type enumeration { + enum lisp; + enum vxlan; + } + } + container mr-use-petr { + status obsolete; + description + "Configure Map Resolver to include Proxy ETR in negative map reply"; + leaf remote-locator-set { + status obsolete; + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring mr-use-petr"; + } + type string; + } + } + container first-packet-petr { + status obsolete; + description + "Configure Map Resolver to include First-Packet-Proxy ETR in negative map reply"; + leaf remote-locator-set { + status obsolete; + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring first-packet-petr"; + } + type string; + } + } + container map-cache { + status obsolete; + description + "Address family specific map cache configuration"; + container away-eids { + status obsolete; + description + "Map cache configuration for the away table"; + leaf send-map-request { + status obsolete; + description + "Export away table entries into the map cache with action set to send-map-request"; + type boolean; + default "true"; + } + } + leaf site-registration { + status obsolete; + description + "Install map cache to map request for site registrations"; + type empty; + } + leaf publications { + status obsolete; + description + "Export publication entries into map cache"; + type empty; + } + leaf conservative-allocation { + status obsolete; + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + } + uses router-lisp-map-cache-persistent-grouping-obsolete; + uses router-lisp-proxy-grouping-obsolete; + uses router-lisp-route-export-grouping-obsolete; + uses router-lisp-sgt-grouping-obsolete; + uses router-lisp-use-petr-grouping-obsolete; + uses router-lisp-use-petr-grouping-deprecated-obsolete; + uses router-lisp-publish-subscribe-grouping-obsolete; + uses router-lisp-service-ip-import-grouping-obsolete; + } + + grouping router-lisp-service-dynamic-eid-grouping-obsolete { + container dynamic-eid { + status obsolete; + description + "configure dynamic-eid parameters"; + leaf dataplane-detection { + status obsolete; + description + "enable dataplane-based detection of hosts"; + type empty; + } + } + } + + grouping router-lisp-service-ipv4-grouping-obsolete { + uses router-lisp-service-ip-grouping-obsolete; + uses router-lisp-map-request-source-ipv4-grouping-obsolete; + uses router-lisp-service-dynamic-eid-grouping-obsolete; + } + + grouping router-lisp-service-ipv6-grouping-obsolete { + uses router-lisp-service-ip-grouping-obsolete; + uses router-lisp-map-request-source-ipv6-grouping-obsolete; + } + + grouping router-lisp-four-key-grouping-obsolete { + choice auth-key { + status obsolete; + case uncpwd { + status obsolete; + leaf unc-pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + case key0 { + status obsolete; + leaf key-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + case key6 { + status obsolete; + leaf key-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + } + case key7 { + status obsolete; + leaf key-7 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + } + } + } + + grouping router-lisp-key-hash-function-grouping-obsolete { + leaf hash-function { + status obsolete; + description + "authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + + grouping router-lisp-password-key-0and6-grouping-obsolete { + container key-0 { + status obsolete; + leaf ak-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + } + container key-6 { + status obsolete; + leaf ak-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + } + } + + grouping router-lisp-password-key-0and6-with-prefix-list-grouping-obsolete { + container key-0 { + status obsolete; + leaf ak-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + uses router-lisp-xtr-prefix-list-grouping-obsolete; + uses router-lisp-map-server-domain-id-grouping-obsolete; + } + container key-6 { + status obsolete; + leaf ak-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + uses router-lisp-xtr-prefix-list-grouping-obsolete; + uses router-lisp-map-server-domain-id-grouping-obsolete; + } + } + + grouping router-lisp-password-key-7-with-prefix-list-grouping-obsolete { + container key-7 { + status obsolete; + leaf ak-7 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + uses router-lisp-xtr-prefix-list-grouping-obsolete; + uses router-lisp-map-server-domain-id-grouping-obsolete; + } + } + + grouping router-lisp-password-string-grouping-obsolete { + container key-pwd { + status obsolete; + leaf unc-pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + } + } + + grouping router-lisp-password-string-with-prefix-list-grouping-obsolete { + container key-pwd { + status obsolete; + leaf unc-pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + uses router-lisp-key-hash-function-grouping-obsolete; + uses router-lisp-xtr-prefix-list-grouping-obsolete; + uses router-lisp-map-server-domain-id-grouping-obsolete; + } + } + + grouping router-lisp-three-key-with-hash-function-grouping-obsolete { + choice password { + status obsolete; + case password-string { + status obsolete; + uses router-lisp-password-string-grouping-obsolete; + } + case password-key { + status obsolete; + uses router-lisp-password-key-0and6-grouping-obsolete; + } + } + } + + grouping router-lisp-four-key-with-hash-function-and-prefix-list-grouping-obsolete { + choice password { + status obsolete; + case password-string { + status obsolete; + uses router-lisp-password-string-with-prefix-list-grouping-obsolete; + } + case password-key { + status obsolete; + uses router-lisp-password-key-0and6-with-prefix-list-grouping-obsolete; + uses router-lisp-password-key-7-with-prefix-list-grouping-obsolete; + } + } + } + + grouping router-lisp-route-export-grouping-obsolete { + container route-export { + status obsolete; + description + "Export routes into RIB from LISP"; + container site-registration-export { + status obsolete; + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./site-registrations)'; + } + } + container away-eid-export { + status obsolete; + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./away-eids)'; + } + } + container publication-export { + status obsolete; + leaf publications { + status obsolete; + description + "Export LISP publications to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./publications)'; + } + } + container destinations-summary-export { + status obsolete; + leaf destinations-summary { + status obsolete; + description + "Export summary of destinations serviced by LISP to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./destinations-summary)'; + } + } + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + leaf publications { + status obsolete; + description + "Export LISP publications to RIB"; + type empty; + } + } + } + + grouping router-lisp-route-export-options-grouping-obsolete { + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32; + } + } + + grouping router-lisp-inst-service-route-export-grouping-obsolete { + container route-export { + status obsolete; + description + "Export routes into RIB from LISP"; + choice site-registration-export-choice { + status obsolete; + container inherit-site-registration-export { + status obsolete; + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB using inherited + configuration"; + type boolean; + default "true"; + } + } + container site-registration-export { + status obsolete; + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./site-registrations)'; + } + } + } + choice away-eids-export-choice { + status obsolete; + container inherit-away-eid-export { + status obsolete; + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container away-eid-export { + status obsolete; + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./away-eids)'; + } + } + } + choice publications-export-choice { + status obsolete; + container inherit-publication-export { + status obsolete; + leaf publications { + status obsolete; + description + "Export LISP publications to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container publication-export { + status obsolete; + leaf publications { + status obsolete; + description + "Export LISP publications to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./publications)'; + } + } + } + choice destinations-summary-export-choice { + status obsolete; + container inherit-destinations-summary-export { + status obsolete; + leaf destinations-summary { + status obsolete; + description + "Export LISP destinations-summary to RIB using inherited configuration"; + type boolean; + default "true"; + } + } + container destinations-summary-export { + status obsolete; + leaf destinations-summary { + status obsolete; + description + "Export LISP destinations-summary to RIB"; + type empty; + } + uses router-lisp-route-export-options-grouping-obsolete { + when 'boolean(./destinations-summary)'; + } + } + } + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + leaf publications { + status obsolete; + description + "Export LISP publications to RIB"; + type boolean; + } + } + } + + grouping router-lisp-map-cache-persistent-grouping-obsolete { + container map-cache-persistent { + status obsolete; + description + "Dump map-cache onto flash, making it persistent across reboots"; + leaf interval { + status obsolete; + description + "Interval in minutes of how often the map-cache is saved"; + type uint16 { + range "1..1440"; + } + } + } + } + + grouping router-lisp-sgt-grouping-obsolete { + container sgt-config { + status obsolete; + leaf sgt-enable { + status obsolete; + description + "Enable security group tag propagation in LISP encapsulated traffic"; + type empty; + } + leaf distribution { + status obsolete; + description + "Enable security group tag distribution via LISP"; + type empty; + } + } + leaf sgt { + status obsolete; + description + "Enable SGT propagation in LISP encapsulated traffic"; + type empty; + } + } + + grouping router-lisp-proxy-grouping-obsolete { + leaf proxy-etr { + status obsolete; + description + "Configures a LISP Proxy Engress Tunnel Router (PETR)"; + type empty; + } + container proxy-itr { + status obsolete; + description + "Configures a LISP Proxy Ingress Tunnel Router (PITR)"; + leaf ipv4-addr { + status obsolete; + type inet:ipv4-address; + } + leaf ipv6-addr { + status obsolete; + type inet:ipv6-address; + } + leaf sgt-policy-native-fwd { + status obsolete; + description + "Configure policy driven native forwarding"; + type empty; + } + } + } + + grouping router-lisp-use-petr-grouping-obsolete { + container use-petr-config { + status obsolete; + choice use-petr-choice { + status obsolete; + list use-petr { + status obsolete; + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + key "locator-address"; + leaf locator-address { + status obsolete; + type inet:ip-address; + } + container priority { + status obsolete; + leaf priority-value { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8 { + range "0..255"; + } + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + } + container no-use-petr { + status obsolete; + leaf use-petr { + status obsolete; + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + type boolean; + default "true"; + } + } + } + } + } + + grouping router-lisp-use-petr-grouping-deprecated-obsolete { + list use-petr { + status obsolete; + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + key "locator-address"; + leaf locator-address { + status obsolete; + type inet:ip-address; + } + container priority { + status obsolete; + leaf priority-value { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8 { + range "0..255"; + } + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + } + } + + grouping router-lisp-publish-subscribe-grouping-obsolete { + leaf publish-subscribe { + status obsolete; + description + "Configures Publication Subscription"; + type boolean; + default "true"; + } + } + + grouping router-lisp-service-ip-distance-grouping-obsolete { + container distance { + status obsolete; + description + "Administrative distance for RIB route installation"; + leaf alt { + status obsolete; + description + "LISP routes installed in the ALT table"; + type uint8 { + range "1..255"; + } + } + leaf away { + status obsolete; + description + "Administrative distance for RIB route installation"; + type uint8 { + range "1..255"; + } + } + leaf dyn-eid { + status obsolete; + description + "LISP installed routes of type dynamic-EID"; + type uint8 { + range "1..255"; + } + } + leaf site-registrations { + status obsolete; + description + "LISP installed routes of type site-registrations"; + type uint8 { + range "1..255"; + } + } + leaf publications { + status obsolete; + description + "LISP installed routes of type publications"; + type uint8 { + range "1..255"; + } + } + leaf destinations-summary { + status obsolete; + description + "LISP installed routes of type destinations-summary"; + type uint8 { + range "1..255"; + } + } + } + } + + grouping router-lisp-map-server-grouping-obsolete { + list map-server { + status obsolete; + description + "Configures map server for ETR registration"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + description + "Authentication key used with map server"; + uses router-lisp-four-key-with-hash-function-and-prefix-list-grouping-obsolete; + } + leaf proxy-reply { + status obsolete; + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-option-grouping-obsolete { + container database-mapping-option { + status obsolete; + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8 { + range "0..255"; + } + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + leaf down { + status obsolete; + description + "Configure this database mapping down"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-service-insertion-grouping-obsolete { + container service-insertion { + status obsolete; + description + "Enable configuration of default-etr database mapping"; + leaf service-id { + status obsolete; + type uint16 { + range "1..8"; + } + } + leaf service-type { + status obsolete; + type enumeration { + enum firewall; + } + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + leaf default-etr { + status obsolete; + description + "Enable configuration of default-etr database mapping"; + type empty; + } + leaf default-etr-route-map { + status obsolete; + description + "Configure route-map for default-etr"; + type string; + } + leaf service-etr { + status obsolete; + description + "Enable configuration of service-etr database mapping"; + type empty; + } + leaf local { + status obsolete; + description + "Register only with local MS"; + type empty; + } + } + } + + grouping router-lisp-inst-database-mapping-common-grouping-obsolete { + container locator-set-container { + status obsolete; + description + "Use locators defined by locator-set"; + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32; + } + leaf proxy { + status obsolete; + description + "Enable configuration of static proxy database mapping"; + type empty; + } + leaf default-etr { + status obsolete; + description + "Enable configuration of default-etr database mapping"; + type empty; + } + leaf default-etr-route-map { + status obsolete; + description + "Configure route-map for default-etr"; + type string; + } + leaf local { + status obsolete; + description + "Register only with local MS"; + type empty; + } + } + list ipv4-addrees { + status obsolete; + description + "IPv4 Address of loopback or other ETR interface"; + key "address"; + leaf address { + status obsolete; + type inet:ipv4-address; + } + uses router-lisp-inst-database-mapping-option-grouping-obsolete; + } + list ipv6-addrees { + status obsolete; + description + "IPv6 Address of loopback or other ETR interface"; + key "address"; + leaf address { + status obsolete; + type inet:ipv6-address; + } + uses router-lisp-inst-database-mapping-option-grouping-obsolete; + } + list IPv4-interface { + status obsolete; + key "name"; + leaf name { + status obsolete; + description + "Use IPv4 address of interface as locator"; + type string; + } + uses router-lisp-inst-database-mapping-option-grouping-obsolete; + } + list IPv6-interface { + status obsolete; + key "name"; + leaf name { + status obsolete; + description + "Use IPv4 address of interface as locator"; + type string; + } + uses router-lisp-inst-database-mapping-option-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-common-grouping-obsolete { + uses router-lisp-itr-grouping-obsolete; + uses router-lisp-etr-grouping-obsolete; + uses router-lisp-map-cache-limit-grouping-obsolete; + uses router-lisp-site-registration-grouping-obsolete; + uses router-lisp-solicit-map-request-grouping-obsolete; + uses router-lisp-registration-history-grouping-obsolete; + } + + grouping router-lisp-inst-service-ethernet-grouping-obsolete { + container eid-table { + status obsolete; + description + "Bind an eid-table"; + leaf vlan { + status obsolete; + description + "VLAN configuration"; + type uint16 { + range "1..4094"; + } + } + } + container broadcast-underlay { + status obsolete; + description + "Multicast group to use for underlay"; + leaf ipv4-multicast { + status obsolete; + description + "IPv4 multicast group address"; + type inet:ipv4-address; + } + leaf ipv6-multicast { + status obsolete; + description + "IPv6 multicast group address"; + type inet:ipv6-address; + } + } + container flood { + status obsolete; + description + "Control flooding or local intercept of broadcast frames"; + leaf arp-nd { + status obsolete; + description + "IPv4 ARP / IPv6 ND"; + type empty; + } + leaf unknown-unicast { + status obsolete; + description + "Frames with unknown destination MAC"; + type empty; + } + leaf access-tunnel { + status obsolete; + description + "Broadcast frame flooding toward AP access-tunnel"; + type boolean; + default "false"; + } + leaf multicast-address { + status obsolete; + description + "Multicast Group Address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vlan { + status obsolete; + description + "Multicast VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + container database-mapping { + status obsolete; + description + "Configures Locator addresses for an ETR"; + list eid-cont { + status obsolete; + description + "EID-record for RLOC static mapping"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + description + "xxxx.xxxx.xxxx 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + uses router-lisp-inst-database-mapping-common-grouping-obsolete; + } + container mac { + status obsolete; + description + "L2 EID records"; + presence "true"; + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + } + uses router-lisp-database-mapping-limit-grouping-obsolete; + } + uses dynamic-eid-detection-grouping-obsolete; + uses router-lisp-inst-service-common-grouping-obsolete; + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ip-address; + } + container map-cache { + status obsolete; + description + "Use RIB routes to define EID address space in map-cache"; + list eid-cont { + status obsolete; + description + "EID-record for RLOC static mapping"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + description + "xxxx.xxxx.xxxx 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + uses router-lisp-map-cache-common-grouping-obsolete; + } + leaf conservative-allocation { + status obsolete; + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + leaf publications { + status obsolete; + description + "Export publication entries into map cache"; + type empty; + } + } + uses router-lisp-inst-service-ethernet-import-grouping-obsolete; + } + + grouping router-lisp-inst-service-ip-grouping-obsolete { + container eid-table { + status obsolete; + description + "Bind an eid-table"; + leaf vrf-name { + status obsolete; + type string; + } + leaf default { + status obsolete; + type empty; + } + leaf vrf { + status obsolete; + type string; + } + } + uses router-lisp-inst-service-common-grouping-obsolete; + container alt { + status obsolete; + description + "LISP Alternative Topology, LISP-ALT"; + list summary-route { + status obsolete; + description + "Summary route to install into the ALT table"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf route-tag { + status obsolete; + description + "ALT RIB route tag for EID prefix"; + type uint32 { + range "0..4294967295"; + } + } + } + } + leaf alt-vrf { + status obsolete; + description + "Activate LISP-ALT functionality in VRF"; + type string; + } + uses router-lisp-service-ip-distance-grouping-obsolete; + container mr-use-petr { + status obsolete; + description + "Configure Map Resolver to include Proxy ETR in negative map reply"; + choice remote-locator-choice { + status obsolete; + container no-remote-locator { + status obsolete; + leaf remote-locator-set { + status obsolete; + type boolean; + } + } + container remote-locator { + status obsolete; + leaf remote-locator-set { + status obsolete; + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring mr-use-petr"; + } + type string; + } + } + } + } + container first-packet-petr { + status obsolete; + description + "Configure Map Resolver to include First-Packet-Proxy ETR in negative map reply"; + choice first-packet-petr-choice { + status obsolete; + case first-packet-petr-disable { + status obsolete; + leaf remote-locator-set { + status obsolete; + description + "Disable first-packet-petr by adding no option"; + type boolean; + } + } + case first-packet-petr-configure { + status obsolete; + container remote-locator-set-conf { + status obsolete; + leaf remote-locator-set { + status obsolete; + description + "Use the locator-set defined by remote-locator-set"; + must '/ios:native/ios:router/lisp/remote-locator-set[name = current() ] or /ios:native/ios:router/lisp-list/remote-locator-set[name = current() ]' { + error-message "% Please configure the remote-locator-set before configuring first-packet-petr"; + } + type string; + } + } + } + } + } + container map-cache { + status obsolete; + description + "Address family specific map cache configuration"; + list eid-interface { + status obsolete; + description + "Configures static EID-to-RLOC mappings for an ITR"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + uses router-lisp-map-cache-common-grouping-obsolete; + leaf drop { + status obsolete; + description + "Drop packets that match this map-cache entry"; + type empty; + } + leaf map-request { + status obsolete; + description + "Send Map-Request for LISP destination EID"; + type empty; + } + leaf native-forward { + status obsolete; + description + "Natively forward packets that match this map-cache entry"; + type empty; + } + } + container away-eids { + status obsolete; + description + "Map cache configuration for the away table"; + leaf send-map-request { + status obsolete; + description + "Export away table entries into the map cache with action set to send-map-request"; + type boolean; + default "true"; + } + } + leaf site-registration { + status obsolete; + description + "Install map cache to map request for site registrations"; + type empty; + } + leaf publications { + status obsolete; + description + "Export publication entries into map cache"; + type boolean; + } + leaf conservative-allocation { + status obsolete; + description + "Suppress proactive created map-cache when host moves to another switch"; + type boolean; + default "false"; + } + } + uses router-lisp-map-cache-persistent-grouping-obsolete; + uses router-lisp-proxy-grouping-obsolete; + uses router-lisp-inst-service-route-export-grouping-obsolete; + uses router-lisp-sgt-grouping-obsolete; + uses router-lisp-use-petr-grouping-obsolete; + uses router-lisp-use-petr-grouping-deprecated-obsolete; + uses router-lisp-inst-service-ip-import-grouping-obsolete; + } + + grouping router-lisp-inst-service-ipv4-grouping-obsolete { + uses router-lisp-inst-service-ip-grouping-obsolete; + container route-import { + status obsolete; + description + "Import RIB routes by a routing protocol into LISP"; + uses router-lisp-inst-service-ipv4-route-import-protocol-grouping-obsolete; + } + uses router-lisp-map-request-source-ipv4-grouping-obsolete; + container database-mapping { + status obsolete; + description + "Configures Locator addresses for an ETR"; + list eid-cont { + status obsolete; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type inet:ipv4-prefix; + } + uses router-lisp-inst-database-mapping-service-insertion-grouping-obsolete; + uses router-lisp-inst-database-mapping-common-grouping-obsolete; + leaf auto-discover-rlocs { + status obsolete; + type empty; + } + } + uses router-lisp-database-mapping-limit-grouping-obsolete; + } + } + + grouping router-lisp-inst-service-ipv6-grouping-obsolete { + uses router-lisp-inst-service-ip-grouping-obsolete; + container route-import { + status obsolete; + description + "Import RIB routes by a routing protocol into LISP"; + uses router-lisp-inst-service-ipv6-route-import-protocol-grouping-obsolete; + } + uses router-lisp-map-request-source-ipv6-grouping-obsolete; + container database-mapping { + status obsolete; + description + "Configures Locator addresses for an ETR"; + list eid-cont { + status obsolete; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + uses router-lisp-inst-database-mapping-service-insertion-grouping-obsolete; + uses router-lisp-inst-database-mapping-common-grouping-obsolete; + leaf auto-discover-rlocs { + status obsolete; + type empty; + } + } + uses router-lisp-database-mapping-limit-grouping-obsolete; + } + } + + grouping router-lisp-inst-grouping-obsolete { + container decapsulation { + status obsolete; + description + "Decapsulation behavior (e.g. filters)"; + container filter { + status obsolete; + description + "Filters traffic"; + container rloc { + status obsolete; + description + "Filter based on Routing Locator (RLOC) in packet header"; + container source { + status obsolete; + description + "Filters traffic based on RLOC source address"; + leaf locator-set { + status obsolete; + description + "Locator-set Name"; + type string; + } + leaf member { + status obsolete; + description + "Members learned from map-server"; + type empty; + } + } + } + } + } + leaf disable-ttl-propagate { + status obsolete; + description + "Disable ttl propagation"; + type empty; + } + list dynamic-eid { + status obsolete; + description + "Configure a dynamic EID"; + key "name"; + leaf name { + status obsolete; + type string; + } + container database-mapping { + status obsolete; + description + "Configures EID-prefix and locator-set for dynamic-EID"; + choice ip-prefix { + status obsolete; + case ipv4-prefix { + status obsolete; + list ipv4-prefix { + status obsolete; + description + "IPv4 EID-prefix for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type inet:ipv4-prefix; + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32; + } + } + } + case ipv6-prefix { + status obsolete; + list ipv6-prefix { + status obsolete; + description + "IPv6 EID-prefix for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32; + } + } + } + } + } + container eid-notify { + status obsolete; + description + "Configure options for sending/receiving EID-notify"; + container authentication-key { + status obsolete; + description + "Authentication key used for validating received EID-notify"; + uses router-lisp-four-key-grouping-obsolete; + } + list gateway-key { + status obsolete; + key "gateway-ip"; + leaf gateway-ip { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + uses router-lisp-three-key-with-hash-function-grouping-obsolete; + } + } + } + leaf map-notify-group { + status obsolete; + description + "Multicast group which to send map-notifies to"; + type inet:ip-address; + } + uses router-lisp-map-server-grouping-obsolete; + } + container loc-reach-algorithm { + status obsolete; + description + "Configure locator reachability algorithm"; + container lsb-reports { + status obsolete; + description + "Configure data packet LSB report handling"; + leaf do-not-transmit { + status obsolete; + description + "Force the setting of the encapsulation header L bit to zero"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore data packet LSB reports"; + type empty; + } + } + leaf rloc-probing { + status obsolete; + description + "Probe high priority RLOCs with Map-Requests as last resort"; + type empty; + } + } + container map-server { + status obsolete; + description + "Map-Server commands"; + container rloc { + status obsolete; + description + "EID instance RLOC membership"; + container members { + status obsolete; + description + "EID instance RLOC membership"; + leaf distribute { + status obsolete; + description + "EID instance RLOC membership distribution"; + type empty; + } + container modify-discovered { + status obsolete; + description + "Modify the EID instance membership that is automaticallydiscovered from ETR registrations"; + leaf operator { + status obsolete; + type enumeration { + enum add; + enum override; + } + } + leaf locator-set { + status obsolete; + description + "Locator set from which to get member RLOC addresses"; + type string; + } + } + } + } + container site-registration { + status obsolete; + description + "Map-server site registration options"; + leaf limit { + status obsolete; + description + "Maximum number of site registrations as a result of accept-more-specifics"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + } + container other-xtr-probe { + status obsolete; + description + "Configure parameters for probing of other xTRs in our site"; + leaf period { + status obsolete; + description + "Period between probes in seconds"; + type uint16 { + range "5..900"; + } + } + } + container remote-rloc-probe { + status obsolete; + description + "Configure parameters for probing of remote RLOCs"; + leaf on-membership-change { + status obsolete; + description + "Trigger probing upon membership changes for remote RLOC"; + type empty; + } + leaf on-route-change { + status obsolete; + description + "Trigger probing upon routing changes for remote RLOC"; + type empty; + } + } + container service { + status obsolete; + description + "Configure lisp service type"; + container ipv4 { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-inst-service-ipv4-grouping-obsolete; + } + uses router-lisp-inst-service-ipv4-grouping-obsolete; + } + container ipv6 { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-inst-service-ipv6-grouping-obsolete; + } + uses router-lisp-inst-service-ipv6-grouping-obsolete; + } + container ethernet { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-inst-service-ethernet-grouping-obsolete; + } + uses router-lisp-inst-service-ethernet-grouping-obsolete; + } + } + } + + grouping router-lisp-ip-route-import-map-cache-grouping-obsolete { + container map-cache-container { + status obsolete; + presence "true"; + leaf route-map { + status obsolete; + description + "Route map for route selection filtering"; + type string; + } + } + } + + grouping router-lisp-ip-route-import-database-grouping-obsolete { + container lisp-ip-route-import { + status obsolete; + leaf route-map { + status obsolete; + description + "Route map for route selection filtering"; + type string; + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32; + } + leaf locator-set { + status obsolete; + description + "Locator set to use with created database mapping entries"; + type string; + } + leaf proxy { + status obsolete; + description + "Enable the dynamic import of RIB route as proxy database mapping"; + type empty; + } + } + } + + grouping router-lisp-ddt-authoritative-grouping-obsolete { + container delegate { + status obsolete; + description + "DDT delegation to a child DDT node or map-server"; + choice instance-id-eid-prefix-choice { + status obsolete; + case eid-prefix-case { + status obsolete; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + } + case instance-id-case { + status obsolete; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type string; + } + } + } + leaf to { + status obsolete; + description + "DDT delegation to a child DDT node or map-server"; + type empty; + } + leaf ip-address { + status obsolete; + description + "IPv4/6 Child or map-server node locator address"; + type inet:ip-address; + } + leaf map-server { + status obsolete; + description + "Delegation points to a map-server"; + type empty; + } + } + leaf map-server-peer { + status obsolete; + description + "Peer map-servers that are authoritative for the same EID prefixes"; + type inet:ip-address; + } + } + + grouping router-lisp-ip-grouping { + leaf alt-vrf { + status obsolete; + description + "Activate LISP-ALT functionality in VRF"; + type string; + } + container database-mapping { + status obsolete; + description + "Address family specific local EID prefixes database configuration"; + container limit { + status obsolete; + description + "Configures the maximum size of local EID prefixes database"; + leaf dynamic { + status obsolete; + description + "Configures the maximum size of dynamic local EID prefixes database"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the database-mapping dynamic size reaches this percentage of the limit"; + type uint8; + } + } + } + container distance { + status obsolete; + description + "Administrative distance for RIB route installation"; + leaf alt { + status obsolete; + description + "LISP routes installed in the ALT table"; + type uint8; + } + leaf dyn-eid { + status obsolete; + description + "LISP installed routes of type dynamic-EID"; + type uint8; + } + leaf site-registrations { + status obsolete; + description + "LISP installed routes of type site-registrations"; + type uint8; + } + } + container itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + list map-resolver { + status obsolete; + description + "Configures map-resolver address for sending Map-Requests"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + } + } + container itr-enable { + status obsolete; + leaf itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + type empty; + } + } + container etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + list map-server { + status obsolete; + description + "Configures map server for ETR registration"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + description + "Authentication key used with map server"; + leaf key-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf key-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + leaf key-7 { + status obsolete; + description + "The HIDDEN password"; + type string; + } + leaf pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + leaf proxy-reply { + status obsolete; + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + } + } + container etr-enable { + status obsolete; + leaf etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + type empty; + } + } + container locator { + description + "Locator related configuration"; + container reachability { + description + "Configuration realted to locator reachability"; + container exclude-default-config { + description + "If a remote RLOC is reached via the default route, treat it as unreachable"; + leaf value-none { + type empty; + } + leaf proxy-etr-only { + description + "Apply exclude default or minimum mask restriction only for proxy ETR"; + type empty; + } + } + leaf exclude-default { + status obsolete; + description + "If a remote RLOC is reached via the default route, treat it as unreachable"; + type empty; + } + container minimum-mask-length-config { + description + "Shortest mask prefix to accept when looking up a remote RLOC in the RIB"; + leaf value { + type uint8; + } + leaf proxy-etr-only-config { + description + "Apply exclude default or minimum mask restriction only for proxy ETR"; + type empty; + } + } + leaf minimum-mask-length { + status obsolete; + description + "Shortest mask prefix to accept when looking up a remote RLOC in the RIB"; + type uint8 { + range "0..32"; + } + } + } + } + container map-cache { + status obsolete; + description + "Address family specific map cache configuration"; + leaf site-registration { + status obsolete; + description + "Install map cache to map request for site registrations"; + type empty; + } + } + container map-cache-limit { + status obsolete; + description + "Configures maximum size of map-cache"; + leaf max-map-cache-entries { + status obsolete; + type uint32 { + range "0..100000"; + } + } + leaf reserve-list { + status obsolete; + description + "EID-prefixes guaranteed to be stored in map-cache"; + type string; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the map-cache size reaches this percentage of the limit"; + type uint8 { + range "0..100"; + } + } + } + container map-cache-persistent { + status obsolete; + description + "Dump map-cache onto flash, making it persistent across reboots"; + leaf interval { + status obsolete; + description + "Interval in minutes of how often the map-cache is saved"; + type uint16 { + range "1..1440"; + } + } + } + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ipv4-address; + } + container map-resolver { + status obsolete; + description + "Configures a LISP Map Resolver (MR)"; + presence "true"; + container map-request { + status obsolete; + description + "Map-Request processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "Influence which source RLOCs map requests are accepted from"; + leaf list { + status obsolete; + description + "Define allowed prefixes using an ip[v6] prefix list"; + type empty; + } + leaf registered { + status obsolete; + description + "...from RLOCs that register EID-prefixes in the same IID on a co-located MapServer"; + type empty; + } + leaf ipv4 { + status obsolete; + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + status obsolete; + description + "IPv6 prefixes"; + type string; + } + } + } + } + } + container map-server { + status obsolete; + description + "Configures a LISP Map Server (MS)"; + presence "true"; + container map-register { + status obsolete; + description + "Map-Register processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "RLOC Source IP address"; + leaf allowed-locator { + status obsolete; + description + "Against sites' allowed-locators policy"; + type empty; + } + } + } + } + } + container path-mtu-discovery { + description + "Path MTU discovery"; + presence "true"; + leaf min { + description + "Lower bound on the path MTU accepted"; + type uint16 { + range "68..65535"; + } + } + leaf max { + description + "Upper bound on the path MTU accepted"; + type uint16 { + range "68..65535"; + } + } + } + leaf proxy-etr { + status obsolete; + description + "Configures a LISP Proxy Engress Tunnel Router (PETR)"; + type empty; + } + leaf-list proxy-itr { + status obsolete; + description + "Configures a LISP Proxy Ingress Tunnel Router (PITR)"; + type inet:ip-address; + } + container route-export { + status obsolete; + description + "Export routes into RIB from LISP"; + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + } + container route-import { + status obsolete; + description + "Import RIB routes by a routing protocol into LISP"; + container database { + status obsolete; + description + "Use RIB routes to define local EID database entries"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list isis { + status obsolete; + description + "ISO IS-IS"; + key "id"; + leaf id { + status obsolete; + type string; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type int32; + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + } + container map-cache { + status obsolete; + description + "Use RIB routes to define EID address space in map-cache"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list isis { + status obsolete; + description + "ISO IS-IS"; + key "id"; + leaf id { + status obsolete; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type int32; + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + } + } + leaf sgt { + status obsolete; + description + "Enable security group tag propagation in LISP encapsulated traffic"; + type empty; + } + container site-registration { + status obsolete; + description + "Site registrations configuration for a given instance-id"; + leaf limit { + status obsolete; + description + "Maximum number of site registrations for a given instance-id"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + container solicit-map-request { + status obsolete; + description + "Configure Solicit-Map-Request handling"; + leaf ignore { + status obsolete; + description + "Ignore SMR bit in incoming Map-Requests"; + type empty; + } + leaf max-per-entry { + status obsolete; + description + "Maximum number of SMRs for addresses under a map-cache entry"; + type uint8 { + range "1..100"; + } + } + leaf suppression-time { + status obsolete; + description + "How long to suppress repeated SMRs for the same address"; + type uint16 { + range "1..600"; + } + } + } + container source-locator { + description + "Source Locator configuration"; + uses ios-ifc:interface-grouping; + } + list use-petr { + status obsolete; + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + key "locator-address"; + leaf locator-address { + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-ip-grouping-obsolete { + leaf alt-vrf { + status obsolete; + description + "Activate LISP-ALT functionality in VRF"; + type string; + } + container database-mapping { + status obsolete; + description + "Address family specific local EID prefixes database configuration"; + container limit { + status obsolete; + description + "Configures the maximum size of local EID prefixes database"; + leaf dynamic { + status obsolete; + description + "Configures the maximum size of dynamic local EID prefixes database"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the database-mapping dynamic size reaches this percentage of the limit"; + type uint8; + } + } + } + container distance { + status obsolete; + description + "Administrative distance for RIB route installation"; + leaf alt { + status obsolete; + description + "LISP routes installed in the ALT table"; + type uint8; + } + leaf dyn-eid { + status obsolete; + description + "LISP installed routes of type dynamic-EID"; + type uint8; + } + leaf site-registrations { + status obsolete; + description + "LISP installed routes of type site-registrations"; + type uint8; + } + } + container itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + list map-resolver { + status obsolete; + description + "Configures map-resolver address for sending Map-Requests"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + } + } + container itr-enable { + status obsolete; + leaf itr { + status obsolete; + description + "Configures a LISP Ingress Tunnel Router (ITR)"; + type empty; + } + } + container etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + list map-server { + status obsolete; + description + "Configures map server for ETR registration"; + key "ip-addr"; + leaf ip-addr { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + description + "Authentication key used with map server"; + leaf key-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf key-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + leaf key-7 { + status obsolete; + description + "The HIDDEN password"; + type string; + } + leaf pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + leaf proxy-reply { + status obsolete; + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + } + } + container etr-enable { + status obsolete; + leaf etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + type empty; + } + } + container locator { + status obsolete; + description + "Locator related configuration"; + container reachability { + status obsolete; + description + "Configuration realted to locator reachability"; + container exclude-default-config { + status obsolete; + description + "If a remote RLOC is reached via the default route, treat it as unreachable"; + leaf value-none { + status obsolete; + type empty; + } + leaf proxy-etr-only { + status obsolete; + description + "Apply exclude default or minimum mask restriction only for proxy ETR"; + type empty; + } + } + leaf exclude-default { + status obsolete; + description + "If a remote RLOC is reached via the default route, treat it as unreachable"; + type empty; + } + container minimum-mask-length-config { + status obsolete; + description + "Shortest mask prefix to accept when looking up a remote RLOC in the RIB"; + leaf value { + status obsolete; + type uint8; + } + leaf proxy-etr-only-config { + status obsolete; + description + "Apply exclude default or minimum mask restriction only for proxy ETR"; + type empty; + } + } + leaf minimum-mask-length { + status obsolete; + description + "Shortest mask prefix to accept when looking up a remote RLOC in the RIB"; + type uint8 { + range "0..32"; + } + } + } + } + container map-cache { + status obsolete; + description + "Address family specific map cache configuration"; + leaf site-registration { + status obsolete; + description + "Install map cache to map request for site registrations"; + type empty; + } + } + container map-cache-limit { + status obsolete; + description + "Configures maximum size of map-cache"; + leaf max-map-cache-entries { + status obsolete; + type uint32 { + range "0..100000"; + } + } + leaf reserve-list { + status obsolete; + description + "EID-prefixes guaranteed to be stored in map-cache"; + type string; + } + leaf warning-threshold { + status obsolete; + description + "Send warning message to syslog when the map-cache size reaches this percentage of the limit"; + type uint8 { + range "0..100"; + } + } + } + container map-cache-persistent { + status obsolete; + description + "Dump map-cache onto flash, making it persistent across reboots"; + leaf interval { + status obsolete; + description + "Interval in minutes of how often the map-cache is saved"; + type uint16 { + range "1..1440"; + } + } + } + leaf map-request-source { + status obsolete; + description + "Configures inner header source address in Map-Request message"; + type inet:ipv4-address; + } + container map-resolver { + status obsolete; + description + "Configures a LISP Map Resolver (MR)"; + presence "true"; + container map-request { + status obsolete; + description + "Map-Request processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "Influence which source RLOCs map requests are accepted from"; + leaf list { + status obsolete; + description + "Define allowed prefixes using an ip[v6] prefix list"; + type empty; + } + leaf registered { + status obsolete; + description + "...from RLOCs that register EID-prefixes in the same IID on a co-located MapServer"; + type empty; + } + leaf ipv4 { + status obsolete; + description + "IPv4 prefixes"; + type string; + } + leaf ipv6 { + status obsolete; + description + "IPv6 prefixes"; + type string; + } + } + } + } + } + container map-server { + status obsolete; + description + "Configures a LISP Map Server (MS)"; + presence "true"; + container map-register { + status obsolete; + description + "Map-Register processing options"; + container validate { + status obsolete; + description + "Validation options"; + container source { + status obsolete; + description + "RLOC Source IP address"; + leaf allowed-locator { + status obsolete; + description + "Against sites' allowed-locators policy"; + type empty; + } + } + } + } + } + container path-mtu-discovery { + status obsolete; + description + "Path MTU discovery"; + presence "true"; + leaf min { + status obsolete; + description + "Lower bound on the path MTU accepted"; + type uint16 { + range "68..65535"; + } + } + leaf max { + status obsolete; + description + "Upper bound on the path MTU accepted"; + type uint16 { + range "68..65535"; + } + } + } + leaf proxy-etr { + status obsolete; + description + "Configures a LISP Proxy Engress Tunnel Router (PETR)"; + type empty; + } + leaf-list proxy-itr { + status obsolete; + description + "Configures a LISP Proxy Ingress Tunnel Router (PITR)"; + type inet:ip-address; + } + container route-export { + status obsolete; + description + "Export routes into RIB from LISP"; + leaf site-registrations { + status obsolete; + description + "Export LISP site registrations to RIB"; + type empty; + } + leaf away-eids { + status obsolete; + description + "Export LISP away EIDs to RIB"; + type empty; + } + } + container route-import { + status obsolete; + description + "Import RIB routes by a routing protocol into LISP"; + container database { + status obsolete; + description + "Use RIB routes to define local EID database entries"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list isis { + status obsolete; + description + "ISO IS-IS"; + key "id"; + leaf id { + status obsolete; + type string; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type int32; + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + uses router-lisp-ip-route-import-database-grouping-obsolete; + } + } + container map-cache { + status obsolete; + description + "Use RIB routes to define EID address space in map-cache"; + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "id"; + leaf id { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container connected { + status obsolete; + description + "Connected"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list isis { + status obsolete; + description + "ISO IS-IS"; + key "id"; + leaf id { + status obsolete; + type string; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes to pick up from the RIB"; + leaf number { + status obsolete; + type int32; + } + choice threshold-warning { + status obsolete; + case warning-only-case { + status obsolete; + leaf warning-only { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + case threshold-case { + status obsolete; + leaf threshold { + status obsolete; + type uint8 { + range "1..100"; + } + } + } + case threshold-warning-case { + status obsolete; + leaf threshold1 { + status obsolete; + type uint8 { + range "1..100"; + } + } + leaf warning-only1 { + status obsolete; + description + "Only give a warning message and do not limit entries"; + type empty; + } + } + } + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint16; + } + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + container static { + status obsolete; + description + "Static routes"; + presence "true"; + uses router-lisp-ip-route-import-map-cache-grouping-obsolete; + } + } + } + leaf sgt { + status obsolete; + description + "Enable security group tag propagation in LISP encapsulated traffic"; + type empty; + } + container site-registration { + status obsolete; + description + "Site registrations configuration for a given instance-id"; + leaf limit { + status obsolete; + description + "Maximum number of site registrations for a given instance-id"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + container solicit-map-request { + status obsolete; + description + "Configure Solicit-Map-Request handling"; + leaf ignore { + status obsolete; + description + "Ignore SMR bit in incoming Map-Requests"; + type empty; + } + leaf max-per-entry { + status obsolete; + description + "Maximum number of SMRs for addresses under a map-cache entry"; + type uint8 { + range "1..100"; + } + } + leaf suppression-time { + status obsolete; + description + "How long to suppress repeated SMRs for the same address"; + type uint16 { + range "1..600"; + } + } + } + container source-locator { + status obsolete; + description + "Source Locator configuration"; + uses ios-ifc:interface-obsolete-grouping; + } + list use-petr { + status obsolete; + description + "Encapsulate to Proxy ETR when matching forward-native entry"; + key "locator-address"; + leaf locator-address { + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping router-lisp-common-grouping-obsolete { + container alt { + status obsolete; + description + "LISP Alternative Topology, LISP-ALT"; + list summary-route { + status obsolete; + description + "Summary route to install into the ALT table"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf route-tag { + status obsolete; + description + "ALT RIB route tag for EID prefix"; + type uint32; + } + } + } + container control-packet { + status obsolete; + description + "Configure control packet tx option"; + leaf mtu { + status obsolete; + description + "Configure control packet MTU"; + type uint32 { + range "304..10000"; + } + } + } + container ddt { + status obsolete; + description + "Delegated Database Tree (DDT) mapping system"; + presence "true"; + container authoritative { + status obsolete; + description + "DDT authoritative prefix"; + list instance-id-eid-prefix-list { + status obsolete; + key "instance-id eid-prefix"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32; + } + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + uses router-lisp-ddt-authoritative-grouping-obsolete; + } + list instance-id-list { + status obsolete; + key "instance-id"; + leaf instance-id { + status obsolete; + type string; + } + uses router-lisp-ddt-authoritative-grouping-obsolete; + } + } + leaf cache-limit { + status obsolete; + description + "DDT resolver cache entry limit"; + type uint32 { + range "1..100000"; + } + } + leaf root { + status obsolete; + description + "DDT root node"; + type inet:ip-address; + } + } + container decapsulation { + status obsolete; + description + "Decapsulation behavior (e.g. filters)"; + container filter { + status obsolete; + description + "Filters traffic"; + container rloc { + status obsolete; + description + "Filter based on Routing Locator (RLOC) in packet header"; + container source { + status obsolete; + description + "Filters traffic based on RLOC source address"; + leaf locator-set { + status obsolete; + description + "Locator-set Name"; + type string; + } + leaf member { + status obsolete; + description + "Members learned from map-server"; + type empty; + } + } + } + } + } + leaf disable-ttl-propagate { + status obsolete; + description + "Disable ttl propagation"; + type empty; + } + leaf disable-first-packet-forwarding { + status obsolete; + description + "Disable first packet forwarding"; + type empty; + } + container etr { + status obsolete; + description + "Configures a LISP Egress Tunnel Router (ETR)"; + container map-server { + status obsolete; + description + "Configures map server for ETR registration"; + container source-address-new { + status obsolete; + description + "Configures map server source address"; + uses ios-ifc:interface-obsolete-grouping; + } + leaf source-address { + status obsolete; + description + "Configures map server source address"; + type string; + } + } + } + container ipv4 { + status obsolete; + description + "IPv4 address family"; + uses router-lisp-ip-grouping-obsolete; + } + container ipv6 { + status obsolete; + description + "IPv6 address family"; + uses router-lisp-ip-grouping-obsolete; + } + container loc-reach-algorithm { + status obsolete; + description + "Configure locator reachability algorithm"; + container lsb-reports { + status obsolete; + description + "Configure data packet LSB report handling"; + leaf do-not-transmit { + status obsolete; + description + "Force the setting of the encapsulation header L bit to zero"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore data packet LSB reports"; + type empty; + } + } + leaf rloc-probing { + status obsolete; + description + "Probe high priority RLOCs with Map-Requests as last resort"; + type empty; + } + } + container locator-down { + status obsolete; + description + "Manually set locator status to down"; + leaf address { + status obsolete; + description + "IPv4/6 Locator address to be set down"; + type inet:ip-address; + } + container IPv4-interface-new { + status obsolete; + description + "Use IPv4 address of interface as locator"; + uses ios-ifc:interface-obsolete-grouping; + } + leaf IPv4-interface { + status obsolete; + description + "Use IPv4 address of interface as locator"; + type string; + } + container IPv6-interface-new { + status obsolete; + description + "Use IPv6 address of interface as locator"; + uses ios-ifc:interface-obsolete-grouping; + } + leaf IPv6-interface { + status obsolete; + description + "Use IPv6 address of interface as locator"; + type string; + } + } + container locator-table { + status obsolete; + description + "Specify the RLOC table"; + leaf vrf-name { + status obsolete; + type string; + } + leaf default { + status obsolete; + description + "Default VRF"; + type empty; + } + leaf vrf { + status obsolete; + description + "VRF name"; + type string; + } + } + container map-request { + status obsolete; + description + "Configure map-request handling"; + leaf itr-rlocs { + status obsolete; + description + "Configure to use the specified RLOC set as ITR RLOC in map-request"; + type string; + } + } + container map-server { + status obsolete; + description + "Map-Server commands"; + container rloc { + status obsolete; + description + "EID instance RLOC membership"; + container members { + status obsolete; + description + "EID instance RLOC membership"; + leaf distribute { + status obsolete; + description + "EID instance RLOC membership distribution"; + type empty; + } + container modify-discovered { + status obsolete; + description + "Modify the EID instance membership that is automaticallydiscovered from ETR registrations"; + leaf operator { + status obsolete; + type enumeration { + enum add; + enum override; + } + } + leaf locator-set { + status obsolete; + description + "Locator set from which to get member RLOC addresses"; + type string; + } + } + } + } + container site-registration { + status obsolete; + description + "Map-server site registration options"; + leaf limit { + status obsolete; + description + "Maximum number of site registrations as a result of accept-more-specifics"; + type uint32; + } + leaf warning-threshold { + status obsolete; + description + "Warning threshold to issue system logging"; + type uint8 { + range "1..100"; + } + } + } + container nmr { + status obsolete; + description + "Map-server negative map-reply option"; + leaf non-site-ttl { + status obsolete; + description + "Negative map-reply TTL for non-site EID"; + type uint16 { + range "1..1440"; + } + } + } + container session { + status obsolete; + description + "Map-server session"; + leaf passive-open { + status obsolete; + description + "Open passive TCP sockets to listen for incoming connections"; + type string; + } + } + } + container platform { + status obsolete; + description + "Configure platform resource options"; + container resource-usage { + status obsolete; + description + "Configure resource-usage options"; + leaf local-host { + status obsolete; + description + "Local host reserved percentage"; + type uint8 { + range "1..100"; + } + } + container maximum-local-hosts { + status obsolete; + description + "Maximum local hosts"; + leaf l2 { + status obsolete; + description + "L2 local hosts"; + type uint32; + } + leaf l3 { + status obsolete; + description + "L3 local hosts"; + type uint32; + } + } + leaf warning { + status obsolete; + description + "warning percentage"; + type uint8 { + range "1..95"; + } + } + } + } + container other-xtr-probe { + status obsolete; + description + "Configure parameters for probing of other xTRs in our site"; + leaf period { + status obsolete; + description + "Period between probes in seconds"; + type uint16 { + range "5..900"; + } + } + } + container remote-rloc-probe { + status obsolete; + description + "Configure parameters for probing of remote RLOCs"; + leaf on-membership-change { + status obsolete; + description + "Trigger probing upon membership changes for remote RLOC"; + type empty; + } + leaf on-route-change { + status obsolete; + description + "Trigger probing upon routing changes for remote RLOC"; + type empty; + } + } + } + + grouping router-lisp-locator-set-grouping-obsolete { + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + + grouping router-lisp-key-grouping-obsolete { + leaf ak-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf ak-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + leaf unc-pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + + grouping router-lisp-site-inst-id-prefix-grouping-obsolete { + list instance-id-cfg { + status obsolete; + description + "EID instance-ID"; + key "id prefix"; + leaf id { + status obsolete; + type uint32 { + range "1..16777214"; + } + } + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + uses router-lisp-site-publication-summary-only-grouping-obsolete; + container route-tag-options { + status obsolete; + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + } + container inst-id-any-mac { + status obsolete; + list instance-id-cfg { + status obsolete; + description + "EID instance-ID"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1..16777214"; + } + } + leaf any-mac { + status obsolete; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + } + } + + grouping router-lisp-site-common-grouping-obsolete { + container authentication-key { + status obsolete; + description + "Authentication key used by LISP site"; + uses router-lisp-four-key-grouping-obsolete; + } + leaf description { + status obsolete; + description + "Site description"; + type string; + } + container allowed-locator { + status obsolete; + description + "Locator from LISP site"; + leaf ls-ipv4 { + status obsolete; + description + "IPv4 locator allowed in registered locator-set"; + type inet:ipv4-address; + } + leaf ls-ipv6 { + status obsolete; + description + "IPv6 locator allowed in registered locator-set"; + type inet:ipv6-address; + } + container list { + status obsolete; + description + "Prefixes allowed in registered locator-set"; + leaf ipv4 { + status obsolete; + description + "IPv4 prefix-list name"; + type string; + } + leaf ipv6 { + status obsolete; + description + "IPv6 prefix-list name"; + type string; + } + } + } + list allow-locator-default-etr { + status obsolete; + description + "Allow default-etr"; + key "instance-id address-family"; + leaf instance-id { + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf address-family { + status obsolete; + description + "Accept registrations for ipv4/ipv6"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + list allow-locator-service-etr { + status obsolete; + description + "Allow service-etr"; + key "instance-id address-family"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf address-family { + status obsolete; + description + "Accept registrations for ipv4/ipv6"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + container eid-prefix { + status obsolete; + description + "Site EID address prefix"; + uses router-lisp-site-prefix-grouping-obsolete; + uses router-lisp-site-inst-id-prefix-grouping-obsolete; + list instance-id { + status obsolete; + description + "EID instance-ID"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1..16777214"; + } + } + uses router-lisp-site-prefix-grouping-deprecated-obsolete; + leaf any-mac { + status obsolete; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf any-mac { + status obsolete; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + container eid-record { + status obsolete; + description + "Site EID address prefix"; + uses router-lisp-site-prefix-grouping-obsolete; + uses router-lisp-site-inst-id-prefix-grouping-obsolete; + list instance-id { + status obsolete; + description + "EID instance-ID"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1..16777214"; + } + } + uses router-lisp-site-prefix-grouping-deprecated-obsolete; + leaf any-mac { + status obsolete; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf any-mac { + status obsolete; + description + "Accept registrations for any L2 EID records"; + type empty; + } + } + leaf site-id { + status obsolete; + description + "Configure a site-id for this site"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping rouer-lisp-site-grouping-obsolete { + list site { + status obsolete; + description + "Configure a LISP site on a map server (MS)"; + key "sname"; + leaf sname { + status obsolete; + description + "The site name"; + type string; + } + container default { + status obsolete; + uses router-lisp-site-common-grouping-obsolete; + } + uses router-lisp-site-common-grouping-obsolete; + } + } + + grouping router-lisp-site-publication-summary-only-grouping-obsolete { + leaf publication-summary-only { + status obsolete; + description + "Publish only aggregate summary of EID prefixes"; + type empty; + } + } + + grouping config-lisp-remote-locator-set-grouping-obsolete { + list ipv4-address { + status obsolete; + description + "IPv4 Address of loopback or other Proxy ETR interface"; + key "address"; + leaf address { + status obsolete; + type inet:ipv4-address; + } + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + uses router-lisp-locator-set-grouping-obsolete; + } + list ipv6-address { + status obsolete; + description + "IPv6 Address of loopback or other Proxy ETR interface"; + key "address"; + leaf address { + status obsolete; + type inet:ipv6-address; + } + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + uses router-lisp-locator-set-grouping-obsolete; + } + } + + grouping config-lisp-main-grouping-obsolete { + container service { + status obsolete; + description + "Configure lisp service type"; + container ipv4 { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ipv4-grouping-obsolete; + } + uses router-lisp-service-ipv4-grouping-obsolete; + } + container ipv6 { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ipv6-grouping-obsolete; + } + uses router-lisp-service-ipv6-grouping-obsolete; + } + container ethernet { + status obsolete; + presence "true"; + container default { + status obsolete; + uses router-lisp-service-ethernet-grouping-obsolete; + } + uses router-lisp-service-ethernet-grouping-obsolete; + } + } + leaf disable-extranet-policy-import-to-db { + status obsolete; + description + "Disable Extranet Policy import to Database"; + type boolean; + default "false"; + } + container default-etr { + status obsolete; + description + "Configuration applied to default-etr registrations"; + leaf disable-metric { + status obsolete; + description + "Disable getting metric from RIB"; + type empty; + } + } + container encapsulation { + status obsolete; + description + "Select encapsulation type for data packets"; + leaf vxlan { + status obsolete; + description + "Use VXLAN encapsulation for data packets"; + type empty; + } + } + uses router-lisp-extranet-group-obsolete; + list remote-locator-set { + status obsolete; + description + "Configure a named remote locator set"; + key "name"; + leaf name { + status obsolete; + type string; + } + container default { + status obsolete; + uses config-lisp-remote-locator-set-grouping-obsolete; + } + uses config-lisp-remote-locator-set-grouping-obsolete; + } + list locator-set { + status obsolete; + description + "Configure a named locator set"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf auto-discover-rlocs { + status obsolete; + description + "Auto discover locators registered by other xTRs"; + type empty; + } + list IPv4-interface { + status obsolete; + description + "Use IPv4 address of interface as locator"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses router-lisp-locator-set-grouping-obsolete; + } + list IPv6-interface { + status obsolete; + description + "Use IPv6 address of interface as locator"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses router-lisp-locator-set-grouping-obsolete; + } + list ip-address { + status obsolete; + description + "Use IPv6 address of interface as locator"; + key "ip"; + leaf ip { + status obsolete; + type inet:ip-address; + } + uses router-lisp-locator-set-grouping-obsolete; + } + } + container locator { + status obsolete; + description + "Locator configuration"; + leaf default-set { + status obsolete; + description + "Specify a default locator-set"; + type string; + } + leaf consistency-check { + status obsolete; + description + "Log a message if RLOC inconsistency is detected"; + type boolean; + default "true"; + } + } + list locator-scope { + status obsolete; + description + "Configure a locator scope"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf-list rloc-prefix { + status obsolete; + description + "RLOC prefix to check against ITR RLOC and ETR RLOC"; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf-list rtr-locator-set { + status obsolete; + description + "Locator-set of RTR to use in proxy reply for disjoint/cross AF RLOC"; + type string; + } + } + list prefix-list { + status obsolete; + description + "Configure a named prefix list"; + key "name"; + leaf name { + status obsolete; + type string; + } + list ipv4-prefix { + status obsolete; + description + "IPv4 EID-prefix"; + key "prefix"; + leaf prefix { + status obsolete; + type inet:ipv4-prefix; + } + } + list ipv6-prefix { + status obsolete; + description + "IPv6 EID-prefix"; + key "prefix"; + leaf prefix { + status obsolete; + type inet:ipv6-prefix; + } + } + } + container instance-container { + status obsolete; + description + "EID instance-ID"; + list instance-list { + status obsolete; + key "instance-id"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + container default { + status obsolete; + uses router-lisp-inst-grouping-obsolete; + } + uses router-lisp-inst-grouping-obsolete; + } + } + uses router-lisp-common-grouping-obsolete; + container eid-table { + status obsolete; + description + "Configure an EID instance for a VRF"; + list instance-list { + status obsolete; + key "instance-id"; + leaf instance-id { + status obsolete; + description + "EID instance-ID"; + type uint32 { + range "0..16777214"; + } + } + leaf vrf-name { + status obsolete; + type string; + } + leaf default { + status obsolete; + description + "Default VRF"; + type empty; + } + leaf vrf { + status obsolete; + type string; + } + list database-mapping { + status obsolete; + description + "Configures Locator addresses for an ETR"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + } + list dynamic-eid { + status obsolete; + description + "Configure a dynamic EID"; + key "name"; + leaf name { + status obsolete; + type string; + } + list database-mapping { + status obsolete; + description + "Configures EID-prefix and locator-set for dynamic-EID"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type inet:ipv4-prefix; + } + leaf locator-set { + status obsolete; + description + "Use locators defined by locator-set"; + type string; + } + } + container eid-notify { + status obsolete; + description + "Configure options for sending/receiving EID-notify"; + container authentication-key { + status obsolete; + description + "Authentication key used for validating received EID-notify"; + uses router-lisp-key-grouping-obsolete; + } + list gateway-key { + status obsolete; + key "gateway-ip"; + leaf gateway-ip { + status obsolete; + type inet:ip-address; + } + uses router-lisp-key-grouping-obsolete; + leaf hash-function { + status obsolete; + description + "EID-notify authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + } + leaf map-notify-group { + status obsolete; + description + "Multicast group which to send map-notifies to"; + type inet:ip-address; + } + list map-server { + status obsolete; + description + "Configures map server for ETR registration"; + key "ip"; + leaf ip { + status obsolete; + type inet:ip-address; + } + container key { + status obsolete; + description + "Authentication key used with map server"; + leaf key-0 { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf key-6 { + status obsolete; + description + "The ENCRYPTED password"; + type string; + } + leaf key-7 { + status obsolete; + description + "The HIDDEN password"; + type string; + } + leaf pwd { + status obsolete; + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + leaf hash-function { + status obsolete; + description + "Map-Register authentication type"; + type enumeration { + enum sha1; + enum sha2; + } + } + } + leaf proxy-reply { + status obsolete; + description + "Request Map-Server to send Map-Replies on behalf of site"; + type empty; + } + } + } + uses router-lisp-common-grouping-obsolete; + list map-cache { + status obsolete; + description + "Configures static EID-to-RLOC mappings for an ITR"; + key "eid-prefix"; + leaf eid-prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + container etr-interface-ip { + status obsolete; + leaf etr-interface-ip-address { + status obsolete; + type inet:ip-address; + } + leaf priority { + status obsolete; + description + "Configures which Locators from a set are preferred"; + type uint8; + } + leaf weight { + status obsolete; + description + "Traffic load-spreading among Locators"; + type uint8 { + range "0..100"; + } + } + } + leaf drop { + status obsolete; + description + "Drop packets that match this map-cache entry"; + type empty; + } + leaf map-request { + status obsolete; + description + "Send Map-Request for LISP destination EID"; + type empty; + } + leaf native-forward { + status obsolete; + description + "Natively forward packets that match this map-cache entry"; + type empty; + } + } + } + } + container security { + status obsolete; + description + "Enable default LISP security and authentication in reply is optional"; + presence "true"; + leaf strong { + status obsolete; + description + "Enable default LISP security and authentication in reply is required"; + type empty; + } + } + uses rouer-lisp-site-grouping-obsolete; + leaf site-id { + status obsolete; + description + "Configure a site-id for this site"; + type uint32; + } + container syslog { + status obsolete; + description + "Configure syslog option"; + container session { + status obsolete; + description + "Enable session syslog"; + leaf changes { + status obsolete; + description + "Enable session change syslog"; + type empty; + } + } + leaf verbose { + status obsolete; + description + "Enable verbose syslog"; + type empty; + } + } + container capability { + status obsolete; + description + "Configure capability"; + container publish-subscribe { + status obsolete; + description + "Configure Capability for Publish-Subscribe functionality"; + leaf instance-id { + status obsolete; + description + "Instance-ID"; + type boolean; + default "true"; + } + } + } + container fabric { + status obsolete; + description + "Configure fabric role"; + presence "true"; + leaf border { + status obsolete; + description + "Configure fabric role as border"; + type empty; + } + } + container redundancy { + status obsolete; + description + "Configure redundancy"; + leaf sso { + status obsolete; + description + "Configure redundancy sso"; + type boolean; + default "true"; + } + } + container tcp { + status obsolete; + description + "Configure TCP options"; + leaf path-mtu-discovery { + status obsolete; + description + "Configure path mtu discovery"; + type boolean; + default "true"; + } + list auth-option { + status obsolete; + description + "Configure LISP TCP auth-option"; + key "name"; + leaf name { + status obsolete; + type string; + } + list peer { + status obsolete; + description + "Configure TCP-AO peer"; + key "address"; + leaf address { + status obsolete; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type enumeration { + enum accept; + } + } + } + } + } + } + leaf domain-id { + status obsolete; + description + "Configures Domain-ID of LISP device"; + type uint32 { + range "1..4294967038"; + } + } + leaf multihoming-id { + status obsolete; + description + "Configures Multihoming-ID of LISP device"; + type uint16 { + range "1..65535"; + } + } + } + + grouping router-lisp-site-prefix-grouping-obsolete { + list prefixes { + status obsolete; + key "prefix"; + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + uses router-lisp-site-publication-summary-only-grouping-obsolete; + container route-tag-options { + status obsolete; + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + } + } + + grouping router-lisp-site-prefix-grouping-deprecated-obsolete { + list prefixes { + status obsolete; + key "prefix"; + leaf prefix { + status obsolete; + type union { + type inet:ipv4-prefix; + type ios-types:ipv6-prefix; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + container route-tag-options { + status obsolete; + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + leaf accept-more-specifics { + status obsolete; + description + "Accept registrations for more specific EID prefixes"; + type empty; + } + } + leaf route-tag { + status obsolete; + description + "RIB route tag"; + type uint32 { + range "0..4294967295"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-actions-rpc.yang new file mode 100644 index 000000000..d06a6caf2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-actions-rpc.yang @@ -0,0 +1,661 @@ +module Cisco-IOS-XE-livetools-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-livetools-actions-rpc"; + prefix livetools-ios-actions-rpc; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-livetools-common-types { + prefix livetools-common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for live tools action RPC. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef thrpt-mode { + type enumeration { + enum thrpt-mode-avg { + value 0; + description + "Measure throughput in average mode"; + } + enum thrpt-mode-full { + value 1; + description + "Measure throughput in full mode"; + } + enum thrpt-mode-peak { + value 2; + description + "Measure throughput in peak mode"; + } + } + description + "Throughput mode measurement options"; + } + + typedef thrpt-proto-type { + type enumeration { + enum thrpt-tcp-client { + value 0; + description + "Operate as a TCP client"; + } + } + description + "Protocol-Role combination; + protocol: TCP/UDP, role: client/server"; + } + + grouping wol-params { + description + "WAKE-ON-LAN action RPC input parameters"; + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Destination MAC address"; + } + leaf vlan { + type uint16 { + range "1..4094"; + } + default "1"; + description + "Destination VLAN identifier"; + } + leaf interval { + type uint16 { + range "1..3600"; + } + units "seconds"; + default "120"; + description + "Interval between retries"; + } + leaf count { + type uint8 { + range "1..255"; + } + default "1"; + description + "Number of packets to be sent"; + } + } + + grouping wol-action-resp { + description + "Response to the + WAKE-ON-LAN action RPC"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per RPC request. + It is used in conjunction with the WAKE-ON-LAN oper model, + allowing us to retrieve the operational data associated with a + specific ID. This is useful for matching an action RPC response ID + with the corresponding operational data"; + } + } + + grouping thrpt-input { + description + "Parameters to execute test-throughput"; + leaf proto { + type livetools-ios-actions-rpc:thrpt-proto-type; + default "thrpt-tcp-client"; + description + "Role of throughput tool: client/server"; + } + leaf dest-addr { + type inet:ip-address; + description + "Server IP address"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + default "net-inst-default"; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf timeout { + type uint64; + units "seconds"; + default "5"; + description + "Measurement time"; + } + leaf wnd-span { + type uint64 { + range "1..4294967295"; + } + units "seconds"; + default "1"; + description + "Duration of measurement window(s)"; + } + leaf num-wnds { + type uint32 { + range "1..4294967295"; + } + default "5"; + description + "Number of windows"; + } + leaf port { + type uint16; + description + "Server transport port"; + } + leaf dscp { + type uint8; + default "0"; + description + "Numeric value of DSCP used during traffic generation"; + } + leaf client-rcv { + type boolean; + default "false"; + description + "Flag to indicate that client should receive/read + data from the server instead of the default mode of writing data to + the server for throughput measurement"; + } + leaf mode { + type livetools-ios-actions-rpc:thrpt-mode; + default "thrpt-mode-full"; + description + "Measurement mode"; + } + } + + grouping thrpt-action-resp { + description + "Response to throughput measurement request"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per RPC request. + It is used in conjunction with the throughput oper model, + allowing us to retrieve the operational data associated with a + specific ID. This is useful for matching an action RPC response ID + with the corresponding operational data"; + } + } + + grouping ip-tracert { + description + "Parameters to execute IP trace route action"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + default "net-inst-default"; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful."; + } + leaf num-probes { + type uint8 { + range "1..5"; + } + default "3"; + description + "Number of probes to be sent per hop"; + } + leaf port { + type uint32 { + range "1..65535"; + } + default "33434"; + description + "Destination port to send UDP packets"; + } + leaf timeout { + type uint32 { + range "1..3600"; + } + units "seconds"; + default "3"; + description + "Probe timeout value"; + } + leaf min-ttl { + type uint8 { + range "0..30"; + } + default "1"; + description + "Minimum value of time to live(TTL) for an IP packet"; + } + leaf max-ttl { + type uint8 { + range "1..30"; + } + default "30"; + description + "Maximum value of time to live(TTL) for an IP packet"; + } + choice dscp-choice { + description + "Choice for DSCP options to be set"; + case dscp-num { + leaf dscp-num { + type uint8 { + range "0..63"; + } + mandatory true; + description + "DSCP numeric value"; + } + } + case dscp-ascii { + leaf dscp-ascii { + type livetools-common-types-ios-xe:dscp-options; + mandatory true; + description + "DSCP ascii value selected from a set of known DSCP options"; + } + } + } + choice src-choice { + description + "Choice of source for IP trace route request as IP/IPv6 address or interface name"; + case src-if-name { + leaf src-if { + type string; + mandatory true; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + mandatory true; + description + "Source IP/IPv6 address"; + } + } + } + choice host-choice { + mandatory true; + description + "Choice of destination for IP trace route request as IP/IPv6 address or hostname"; + case host-name { + leaf host-name { + type string; + mandatory true; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + mandatory true; + description + "Destination host IP address"; + } + } + } + } + + grouping ip-tracert-action-resp { + description + "Response to IP trace route request."; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per RPC request. + It is used in conjunction with the IP trace route, + allowing us to retrieve the operational data associated with a + specific ID. This is useful for matching an action RPC response ID + with the corresponding operational data."; + } + } + + grouping ip-ping { + description + "Parameters to execute the IP ping operation"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + default "net-inst-default"; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf count { + type uint8 { + range "1..30"; + } + default "5"; + description + "Number of echoes to be sent as part of the IP ping request"; + } + choice dscp-choice { + description + "Choice of DSCP type"; + case dscp-num { + leaf dscp-num { + type uint8 { + range "0..63"; + } + mandatory true; + description + "DSCP numeric value"; + } + } + case dscp-ascii { + leaf dscp-ascii { + type livetools-common-types-ios-xe:dscp-options; + mandatory true; + description + "DSCP ascii value selected from a set of known DSCP options"; + } + } + } + choice src-choice { + description + "Choice of source for ping - source address/interface"; + case src-if-name { + leaf src-if { + type string; + mandatory true; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + mandatory true; + description + "Source IP address"; + } + } + } + choice host-choice { + mandatory true; + description + "Choice of destination host for ping - IP address/hostname"; + case host-name { + leaf host-name { + type string; + mandatory true; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + mandatory true; + description + "Destination host IP address"; + } + } + } + } + + grouping ip-ping-action-resp { + description + "Response of the IP Ping RPC request"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per RPC request. + It is used in conjunction with the ping oper model, + allowing us to retrieve the operational data associated with a + specific ID"; + } + } + + grouping mtr-params { + description + "Parameters to execute the MTR action"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + default "net-inst-default"; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf proto-hint { + type livetools-common-types-ios-xe:dns-proto-hint; + default "dns-proto-none"; + description + "DNS resolution type"; + } + leaf count { + type uint8 { + range "1..10"; + } + default "10"; + description + "The number of traceroute/ping probes or packets to be sent to each hop along the traceroute path"; + } + leaf port { + type uint16 { + range "1..65535"; + } + default "33434"; + description + "Destination port to send UDP packets"; + } + leaf timeout { + type uint16 { + range "1..3600"; + } + units "seconds"; + default "3"; + description + "Probe timeout value"; + } + leaf min-ttl { + type uint8 { + range "0..30"; + } + default "1"; + description + "Minimum value of time to live(TTL) for an IP packet"; + } + leaf max-ttl { + type uint8 { + range "1..30"; + } + default "30"; + description + "Maximum value of time to live(TTL) for an IP packet"; + } + choice dscp-choice { + description + "Choice for DSCP options to be set"; + case dscp-num { + leaf dscp-num { + type uint8 { + range "0..63"; + } + mandatory true; + description + "DSCP numeric value"; + } + } + case dscp-ascii { + leaf dscp-ascii { + type livetools-common-types-ios-xe:dscp-options; + mandatory true; + description + "DSCP ASCII value selected from a set of known DSCP options"; + } + } + } + choice src-choice { + description + "Choice of source for the MTR request as IP/IPv6 address or interface name"; + case src-if-name { + leaf src-if { + type string; + mandatory true; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + mandatory true; + description + "Source IP/IPv6 address"; + } + } + } + choice host-choice { + mandatory true; + description + "Choice of destination for the MTR request as IP/IPv6 address or hostname"; + case host-name { + leaf host-name { + type string; + mandatory true; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + mandatory true; + description + "Destination host IP address"; + } + } + } + } + + grouping mtr-action-resp { + description + "Response to the MTR request."; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per RPC request. + It is used in conjunction with the MTR, + allowing us to retrieve the operational data associated with a + specific ID. This is useful for matching an action RPC response ID + with the corresponding operational data"; + } + } + + rpc wol-action { + description + "This RPC is used to test the WAKE-ON-LAN feature execution and it returns + with an 'JOB ID' if the RPC execution was successful"; + input { + uses livetools-ios-actions-rpc:wol-params; + } + output { + uses livetools-ios-actions-rpc:wol-action-resp; + } + } + + rpc thrpt-action { + description + "Network throughput measurement"; + input { + uses livetools-ios-actions-rpc:thrpt-input; + } + output { + uses livetools-ios-actions-rpc:thrpt-action-resp; + } + } + + rpc ip-tracert-action { + description + "This RPC is used to denote an IP trace route operation"; + input { + uses livetools-ios-actions-rpc:ip-tracert; + } + output { + uses livetools-ios-actions-rpc:ip-tracert-action-resp; + } + } + + rpc ip-ping-action { + description + "This RPC is used to denote an IP ping operation"; + input { + uses livetools-ios-actions-rpc:ip-ping; + } + output { + uses livetools-ios-actions-rpc:ip-ping-action-resp; + } + } + + rpc mtr-action { + description + "This RPC is used to denote a my trace route (MTR) operation"; + input { + uses livetools-ios-actions-rpc:mtr-params; + } + output { + uses livetools-ios-actions-rpc:mtr-action-resp; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-common-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-common-types.yang new file mode 100644 index 000000000..908078d3d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-common-types.yang @@ -0,0 +1,275 @@ +module Cisco-IOS-XE-livetools-common-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-livetools-common-types"; + prefix livetools-common-types-ios-xe; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for live tools common operational data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef job-status { + type enumeration { + enum job-queued { + value 0; + description + "Job is still in queue; yet to be started"; + } + enum job-in-progress { + value 1; + description + "Job execution is in progress"; + } + enum job-completed { + value 2; + description + "Job execution is completed"; + } + enum job-failed { + value 3; + description + "Job execution is failed"; + } + } + description + "Action RPC job's current execution status"; + } + + typedef lt-ip-host-type { + type enumeration { + enum host-name { + value 0; + description + "IP host is identified using hostname"; + } + enum host-ip-addr { + value 1; + description + "IP host is identified using IP address"; + } + } + description + "Type of IP host"; + } + + typedef lt-ip-source-type { + type enumeration { + enum src-ip-none { + value 0; + description + "IP source not specified"; + } + enum src-if-name { + value 1; + description + "IP source interface name"; + } + enum src-ip-addr { + value 2; + description + "IP source address"; + } + } + description + "Type of IP source"; + } + + typedef dscp-type { + type enumeration { + enum dscp-none { + value 0; + description + "No DSCP option specified"; + } + enum dscp-num { + value 1; + description + "DSCP option is specified as numeric value"; + } + enum dscp-ascii { + value 2; + description + "DSCP value selected from a set of known DSCP options"; + } + } + description + "Type of DSCP"; + } + + typedef dns-proto-hint { + type enumeration { + enum dns-proto-none { + value 0; + description + "No DNS resolution required"; + } + enum dns-proto-ipv4 { + value 1; + description + "IPV4 DNS resolution"; + } + enum dns-proto-ipv6 { + value 2; + description + "IPV6 DNS resolution"; + } + } + description + "DNS resolution type"; + } + + typedef dscp-options { + type enumeration { + enum opt-dscp-af11 { + value 0; + description + "DSCP type Assured-Forwarding-11"; + } + enum opt-dscp-af12 { + value 1; + description + "DSCP type Assured-Forwarding-12"; + } + enum opt-dscp-af13 { + value 2; + description + "DSCP type Assured-Forwarding-13"; + } + enum opt-dscp-af21 { + value 3; + description + "DSCP type Assured-Forwarding-21"; + } + enum opt-dscp-af22 { + value 4; + description + "DSCP type Assured-Forwarding-22"; + } + enum opt-dscp-af23 { + value 5; + description + "DSCP type Assured-Forwarding-23"; + } + enum opt-dscp-af31 { + value 6; + description + "DSCP type Assured-Forwarding-31"; + } + enum opt-dscp-af32 { + value 7; + description + "DSCP type Assured-Forwarding-32"; + } + enum opt-dscp-af33 { + value 8; + description + "DSCP type Assured-Forwarding-33"; + } + enum opt-dscp-af41 { + value 9; + description + "DSCP type Assured-Forwarding-41"; + } + enum opt-dscp-af42 { + value 10; + description + "DSCP type Assured-Forwarding-42"; + } + enum opt-dscp-af43 { + value 11; + description + "DSCP type Assured-Forwarding-43"; + } + enum opt-dscp-cs1 { + value 12; + description + "DSCP type Class-Selector-1"; + } + enum opt-dscp-cs2 { + value 13; + description + "DSCP type Class-Selector-2"; + } + enum opt-dscp-cs3 { + value 14; + description + "DSCP type Class-Selector-3"; + } + enum opt-dscp-cs4 { + value 15; + description + "DSCP type Class-Selector-4"; + } + enum opt-dscp-cs5 { + value 16; + description + "DSCP type Class-Selector-5"; + } + enum opt-dscp-cs6 { + value 17; + description + "DSCP type Class-Selector-6"; + } + enum opt-dscp-cs7 { + value 18; + description + "DSCP type Class-Selector-7"; + } + enum opt-dscp-ef { + value 19; + description + "DSCP type Expedited Forwarding"; + } + } + description + "DSCP options"; + } + + grouping job-response { + description + "Job related data for the action RPC execution"; + leaf request-time { + type yang:date-and-time; + description + "Time when the job is submitted"; + } + leaf end-time { + type yang:date-and-time; + description + "Time when the job is completed"; + } + leaf status { + type livetools-common-types-ios-xe:job-status; + description + "Job's current status"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-oper.yang new file mode 100644 index 000000000..f486a2630 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-livetools-oper.yang @@ -0,0 +1,1099 @@ +module Cisco-IOS-XE-livetools-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-livetools-oper"; + prefix livetools-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-livetools-common-types { + prefix livetools-common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for live tools operational data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef wol-errors { + type enumeration { + enum err-none { + value 0; + description + "No failure is reported"; + } + enum err-in-buff-alloc { + value 1; + description + "Packet buffer allocation failed internally"; + } + enum err-in-process-send { + value 2; + description + "Process send routine failed internally"; + } + enum err-in-pak-encap { + value 3; + description + "Packet encapsulation failed internally"; + } + } + description + "WAKE-ON-LAN Errors"; + } + + typedef thrpt-mode-result { + type enumeration { + enum thrpt-mode-avg { + value 0; + description + "Measure throughput in average mode"; + } + enum thrpt-mode-full { + value 1; + description + "Measure throughput in full mode"; + } + enum thrpt-mode-peak { + value 2; + description + "Measure throughput in peak mode"; + } + } + description + "Throughput mode options"; + } + + typedef thrpt-proto-result { + type enumeration { + enum thrpt-tcp-client { + value 0; + description + "Operate as a TCP client"; + } + } + description + "Protocol-Role combination; + protocol: TCP/UDP, role: client/server"; + } + + typedef thrpt-err-msg { + type enumeration { + enum thrpt-err-no-error { + value 0; + description + "No error"; + } + enum thrpt-err-proc-send-msg-fail { + value 1; + description + "Process send message failed"; + } + enum thrpt-err-no-mem { + value 2; + description + "No memory"; + } + enum thrpt-err-read-fail { + value 3; + description + "Socket data read failed"; + } + enum thrpt-err-write-fail { + value 4; + description + "Socket data write failed"; + } + enum thrpt-err-data-overflow { + value 5; + description + "Data overflow"; + } + enum thrpt-err-sock-open-fail { + value 6; + description + "Socket open failed"; + } + enum thrpt-err-vrf-no-match { + value 7; + description + "VRF does not exist"; + } + enum thrpt-err-vrf-sock-opt-fail { + value 8; + description + "Invalid VRF socket option"; + } + enum thrpt-err-tos-sock-opt-fail { + value 9; + description + "Invalid DSCP option"; + } + enum thrpt-err-sock-conn-fail { + value 10; + description + "Socket connection failed"; + } + } + description + "Throughput error"; + } + + typedef ip-tracert-err { + type enumeration { + enum ip-tracert-no-err { + value 0; + description + "IP trace route request successfully processed"; + } + enum ip-tracert-host-nm-not-rsvld { + value 1; + description + "Specified host name in IP trace route request could not be resolved"; + } + enum ip-tracert-src-if-inv { + value 2; + description + "Specified source interface in IP trace route request is not valid"; + } + enum ip-tracert-src-if-dwn { + value 3; + description + "Specified source interface in IP trace route request is down"; + } + enum ip-tracert-inv-addr { + value 4; + description + "Specified source IP address in IP trace route request is invalid"; + } + enum ip-tracert-ip-disbl { + value 5; + description + "Device handling the IP trace route request does not have + IP enabled at source"; + } + enum ip-tracert-vrf-not-ex { + value 6; + description + "Device handling the IP trace route request does not have + specified vrf configured"; + } + enum ip-tracert-vrf-not-acc { + value 7; + description + "Device handling the IP trace route request does not have + access to the specified VRF instance"; + } + enum ip-tracert-topo-not-ex { + value 8; + description + "Device handling the IP trace route request does not have + specified topology configured"; + } + enum ip-tracert-minttl-grt-maxttl { + value 9; + description + "Specified minimum TTL value in IP trace route request + is greater than maximum TTL value"; + } + } + description + "IP trace route processing error"; + } + + typedef ip-tracert-probe-rslt { + type enumeration { + enum ip-tracert-no-rch-port { + value 0; + description + "Able to reach the destination host but was unable to establish + communication with the specified port"; + } + enum ip-tracert-no-rch-adm { + value 1; + description + "Packet was dropped as router and can not be forwarded due to + administrative filtering"; + } + enum ip-tracert-no-rch-net { + value 2; + description + "Packet was dropped due to unavailability of route to a specified network"; + } + enum ip-tracert-no-rch-host { + value 3; + description + "Host in a directly connected network is not reachable"; + } + enum ip-tracert-no-rch-proto { + value 4; + description + "Final destination does not support the transport protocol specified + in the packet"; + } + enum ip-tracert-timeout { + value 5; + description + "No response from an intermediate router or the destination host within a + specified period"; + } + enum ip-tracert-ttl-exp { + value 6; + description + "Packet has reached its maximum hop count and can not proceed further"; + } + enum ip-tracert-src-qench { + value 7; + description + "Packet can't be forwarded further due to network congestion"; + } + enum ip-tracert-no-rch-rt { + value 8; + description + "There is no route to the destination"; + } + enum ip-tracert-no-rch-src-addr-pol { + value 9; + description + "Host address is unreachable due to policy enforced by network"; + } + enum ip-tracert-no-rch-rej-rt { + value 10; + description + "Router along the traceroute path has rejected the packet"; + } + } + description + "IP trace route probe result"; + } + + typedef echo-status { + type enumeration { + enum echo-failed { + value 0; + description + "ICMP echo failed"; + } + enum echo-success { + value 1; + description + "ICMP echo success"; + } + } + description + "Status of the ICMP echo"; + } + + typedef ip-ping-error { + type enumeration { + enum ip-ping-no-err { + value 0; + description + "IP ping request successfully processed"; + } + enum ip-ping-host-name-not-reslvd { + value 1; + description + "Host name specified in IP ping request could not be resolved"; + } + enum ip-ping-dest-addr-inv { + value 2; + description + "Destination IP address specified in IP ping request is not valid"; + } + enum ip-ping-src-addr-inv { + value 3; + description + "Source IP address specified in IP ping request is not valid"; + } + enum ip-ping-src-int-inv { + value 4; + description + "Source interface specified in IP ping request is not valid"; + } + enum ip-ping-vrf-inv { + value 5; + description + "Device handling the IP ping request does not have + access to the specified VRF instance"; + } + enum ip-ping-err-unkwn { + value 6; + description + "An unknown error occured when + processing the IP ping request"; + } + } + description + "IP Ping request processing error"; + } + + typedef mtr-err { + type enumeration { + enum mtr-no-err { + value 0; + description + "MTR request successfully processed"; + } + enum mtr-host-nm-not-rsvld { + value 1; + description + "Specified host name in the MTR request could not be resolved"; + } + enum mtr-src-if-inv { + value 2; + description + "Specified source interface in the MTR request is not valid"; + } + enum mtr-src-if-dwn { + value 3; + description + "Specified source interface in the MTR request is down"; + } + enum mtr-inv-addr { + value 4; + description + "Specified source IP address in the MTR request is invalid"; + } + enum mtr-ip-disbl { + value 5; + description + "Device handling the MTR request does not have + IP enabled at source"; + } + enum mtr-vrf-not-ex { + value 6; + description + "Device handling the MTR request does not have + specified vrf configured"; + } + enum mtr-vrf-not-acc { + value 7; + description + "Device handling the MTR request does not have + access to the specified VRF instance"; + } + enum mtr-topo-not-ex { + value 8; + description + "Device handling the MTR request does not have + specified topology configured"; + } + enum mtr-minttl-grt-maxttl { + value 9; + description + "Specified minimum TTL value in the MTR request + is greater than maximum TTL value"; + } + enum mtr-unsptd-addr { + value 10; + description + "Specified IP address is unsupported in the MTR request"; + } + } + description + "MTR processing error"; + } + + grouping wol-response { + description + "WAKE-ON-LAN response information"; + leaf vlan { + type uint16; + description + "Destination VLAN identifier"; + } + leaf mac-addr { + type yang:mac-address; + description + "Destination MAC address"; + } + leaf interval { + type uint16; + units "seconds"; + description + "Interval between retries"; + } + leaf count { + type uint8; + description + "Total number of WAKE-ON-LAN packets to be sent"; + } + leaf pak-sent { + type uint8; + description + "Number of successful WAKE-ON-LAN packet sent"; + } + leaf last-pak-sent { + type yang:date-and-time; + description + "Time of the last successful WAKE-ON-LAN packet sent"; + } + leaf error { + type livetools-ios-xe-oper:wol-errors; + description + "Information about the error if the execution fails or is aborted due to internal failures."; + } + } + + grouping wol-results { + description + "WAKE-ON-LAN action RPC result"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per WAKE-ON-LAN actions RPC request. + It allows us to retrieve the operational data associated with a specific ID. + This is useful for matching an action RPC response ID with the corresponding operational data"; + } + container job-info { + description + "Job related data for the WAKE-ON-LAN action RPC execution"; + uses livetools-common-types-ios-xe:job-response; + } + container wol-info { + description + "WAKE-ON-LAN related data for the WAKE-ON-LAN action RPC execution"; + uses livetools-ios-xe-oper:wol-response; + } + } + + grouping thrpt-response { + description + "Throughput response data"; + leaf proto { + type livetools-ios-xe-oper:thrpt-proto-result; + description + "Role of throughput tool: client/server"; + } + leaf dest-addr { + type inet:ip-address; + description + "Server IP address"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf timeout { + type uint64; + units "seconds"; + description + "Measurement time"; + } + leaf wnd-span { + type uint64; + units "seconds"; + description + "Duration of measurement window(s)"; + } + leaf num-wnds { + type uint32; + description + "Number of windows"; + } + leaf port { + type uint16; + description + "Server transport port"; + } + leaf dscp { + type uint8; + description + "Numeric value of DSCP used during traffic generation"; + } + leaf client-rcv { + type boolean; + description + "Flag to indicate that client should receive/read + data from server instead of the default mode of writing data to + server for throughput measurement"; + } + leaf mode { + type livetools-ios-xe-oper:thrpt-mode-result; + description + "Measurement mode"; + } + leaf bytes { + type uint64; + units "bytes"; + description + "Bytes transferred between client and server + for the throughput measurement. Data transfer is supported in both + directions on the client. The direction is 'transmit' by default. + 'Receive' is effective only when 'client-rcv' flag is set."; + } + leaf elapsed-time { + type uint64; + units "seconds"; + description + "Time elapsed since the start of data sent/received"; + } + leaf error-type { + type livetools-ios-xe-oper:thrpt-err-msg; + description + "Contains an error type if encountered during throughput calculation"; + } + leaf thrpt { + type uint64; + units "bps"; + description + "Calculated throughput, in bits per second"; + } + } + + grouping thrpt-result { + description + "Throughput result information"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per successful + throughput actions RPC request. It allows us to retrieve the operational + data associated with a specific ID. This is useful for matching an action + RPC response ID with the corresponding operational data"; + } + container job-info { + description + "Job related data for the throughput action RPC execution"; + uses livetools-common-types-ios-xe:job-response; + } + container thrpt-info { + description + "Throughput related data for the throughput action RPC execution"; + uses livetools-ios-xe-oper:thrpt-response; + } + } + + grouping ip-tracert-probe { + description + "IP trace route per probe information "; + leaf probe-num { + type uint32; + description + "Sequence number assigned to each probe packet"; + } + leaf result { + type livetools-ios-xe-oper:ip-tracert-probe-rslt; + description + "Result of each probe packet sent"; + } + leaf ip-addr { + type inet:ip-address; + description + "IP address of the device on that particular hop"; + } + leaf rtt { + type uint32; + units "milliseconds"; + description + "Round-trip time of each probe packet sent"; + } + } + + grouping ip-tracert-hop { + description + "IP trace route per hop information"; + leaf hop-num { + type uint32; + description + "Sequential identifier of network hop + encountered during trace route request"; + } + list probe-info { + description + "Probe response information"; + uses livetools-ios-xe-oper:ip-tracert-probe; + } + } + + grouping ip-tracert-req { + description + "IP trace route request information"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + choice src-choice { + description + "Source for IP trace route request as IP/IPv6 address or interface name"; + case src-if-name { + leaf src-if { + type string; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + description + "Source IP/IPv6 address"; + } + } + } + choice host-choice { + description + "Destination for IP trace route request as IP/IPv6 address or hostname"; + case host-name { + leaf host-name { + type string; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + description + "Destination host IP address"; + } + } + } + } + + grouping ip-tracert-resp { + description + "Information about IP trace route response"; + list hop-info { + description + "Hop response information"; + uses livetools-ios-xe-oper:ip-tracert-hop; + } + } + + grouping ip-tracert-result { + description + "Result of IP trace route request"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per successful IP + trace route actions RPC request. It allows us to retrieve the operational + data associated with a specific ID. This is useful for matching an action + RPC response ID with the corresponding operational data"; + } + container req-info { + description + "Relevant information carried from IP trace route request"; + uses livetools-ios-xe-oper:ip-tracert-req; + } + container job-info { + description + "Status of the IP trace route request processing"; + uses livetools-common-types-ios-xe:job-response; + } + leaf error { + type livetools-ios-xe-oper:ip-tracert-err; + description + "Contain the error reason of IP trace route request processing + if there is any, otherwise specified as 'no-error'"; + } + container resp-info { + description + "Response information of IP trace route request"; + uses livetools-ios-xe-oper:ip-tracert-resp; + } + } + + grouping ip-ping-echo { + description + "Information about the ICMP echo sent out as part of the ping request"; + leaf seq-num { + type uint8; + description + "Sequence number assigned to the ICMP echo"; + } + leaf status { + type livetools-ios-xe-oper:echo-status; + description + "Status of the ICMP echo sent"; + } + leaf latency { + type uint8; + description + "Round-trip time for the ICMP echo"; + } + } + + grouping ip-ping-response { + description + "Information about IP ping response"; + list echo-info { + description + "Response of the ICMP echoes sent out as part of the ping request"; + uses livetools-ios-xe-oper:ip-ping-echo; + } + } + + grouping ip-ping-request { + description + "IP ping request information"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + default "net-inst-default"; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + choice src-choice { + description + "Choice of source for ping - source address/interface"; + case src-if-name { + leaf src-if { + type string; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + description + "Source IP address"; + } + } + } + choice host-choice { + description + "Choice of destination host for ping - IP address/hostname"; + case host-name { + leaf host-name { + type string; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + description + "Destination host IP address"; + } + } + } + } + + grouping ip-ping-result { + description + "Result of the IP ping request"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per successful + ping action RPC request. It allows us to retrieve the operational + data associated with a specific ID"; + } + container req-info { + description + "Relevant information carried from the IP ping request"; + uses livetools-ios-xe-oper:ip-ping-request; + } + container job-info { + description + "Status of the IP ping request processing"; + uses livetools-common-types-ios-xe:job-response; + } + leaf error { + type livetools-ios-xe-oper:ip-ping-error; + description + "Specifies the error that occured during the ping + request processing, if any. If no error occured, 'ip-ping-no-err' + is specified"; + } + container resp-info { + description + "Response information of IP ping request"; + uses livetools-ios-xe-oper:ip-ping-response; + } + } + + grouping mtr-host { + description + "MTR response information"; + leaf host-num { + type uint8; + description + "The number of hops on the route from the system to the target host"; + } + leaf host-ip { + type inet:ip-address; + description + "The IP address of the network node at each hop for MTR operation"; + } + leaf loss-prcnt { + type uint8; + description + "The percentage of packets lost at each hop"; + } + leaf sent { + type uint32; + description + "The total number of packets sent at each hop"; + } + leaf last { + type uint32; + units "milliseconds"; + description + "The latency of the last packet, in milliseconds"; + } + leaf avg { + type uint32; + units "milliseconds"; + description + "The average latency of all packets sent to this hop, in milliseconds"; + } + leaf best { + type uint32; + units "milliseconds"; + description + "The lowest (best) latency of all packets sent to the hop, in milliseconds"; + } + leaf worst { + type uint32; + units "milliseconds"; + description + "The highest (worst) latency of all packets sent to the hop, in milliseconds"; + } + leaf stdev { + type uint32; + units "milliseconds"; + description + "The standard deviation of the latency values for each hop, in milliseconds"; + } + } + + grouping mtr-req { + description + "MTR request information"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf proto-hint { + type livetools-common-types-ios-xe:dns-proto-hint; + description + "DNS resolution type"; + } + leaf count { + type uint8; + description + "The number of traceroute/ping probes or packets to be sent to each hop along the traceroute path"; + } + leaf port { + type uint16; + description + "Destination port to send UDP packets"; + } + leaf timeout { + type uint16; + units "seconds"; + description + "Probe timeout value"; + } + leaf min-ttl { + type uint8; + description + "Minimum value of time to live(TTL) for an IP packet"; + } + leaf max-ttl { + type uint8; + description + "Maximum value of time to live(TTL) for an IP packet"; + } + choice dscp-choice { + description + "Choice for DSCP options to be set"; + case dscp-num { + leaf dscp-num { + type uint8; + description + "DSCP numeric value"; + } + } + case dscp-ascii { + leaf dscp-ascii { + type livetools-common-types-ios-xe:dscp-options; + description + "DSCP ASCII value selected from a set of known DSCP options"; + } + } + } + choice src-choice { + description + "Source for the MTR request as IP/IPv6 address or interface name"; + case src-if-name { + leaf src-if { + type string; + description + "Source interface name"; + } + } + case src-ip-addr { + leaf src-ip { + type inet:ip-address; + description + "Source IP/IPv6 address"; + } + } + } + choice host-choice { + description + "Destination for the MTR request as IP/IPv6 address or hostname"; + case host-name { + leaf host-name { + type string; + description + "Destination host name"; + } + } + case host-ip-addr { + leaf host-ip { + type inet:ip-address; + description + "Destination host IP address"; + } + } + } + } + + grouping mtr-resp { + description + "Information about the MTR response"; + list host-info { + description + "Host response information"; + uses livetools-ios-xe-oper:mtr-host; + } + } + + grouping mtr-result { + description + "Result of the MTR request"; + leaf job-id { + type uint32; + description + "The ID is a unique identifier generated per successful the MTR + actions RPC request. It allows us to retrieve the operational + data associated with a specific ID. This is useful for matching an action + RPC response ID with the corresponding operational data"; + } + container req-info { + description + "Relevant information carried from the MTR request"; + uses livetools-ios-xe-oper:mtr-req; + } + container job-info { + description + "Status of the MTR request processing"; + uses livetools-common-types-ios-xe:job-response; + } + leaf error { + type livetools-ios-xe-oper:mtr-err; + description + "Contain the error reason of the MTR request processing + if there is any, otherwise specified as 'mtr-err-none'"; + } + container resp-info { + description + "Response information of the MTR request"; + uses livetools-ios-xe-oper:mtr-resp; + } + } + + container livetools-oper-data { + config false; + description + "Live tools operational data"; + list tracert-result { + key "job-id"; + description + "IP trace route result"; + uses livetools-ios-xe-oper:ip-tracert-result; + } + list thrpt-result { + key "job-id"; + description + "Throughput result"; + uses livetools-ios-xe-oper:thrpt-result; + } + list ip-ping-result { + key "job-id"; + description + "Response of the IP ping operation"; + uses livetools-ios-xe-oper:ip-ping-result; + } + list wol-result { + key "job-id"; + description + "WAKE-ON-LAN action RPC result"; + uses livetools-ios-xe-oper:wol-results; + } + list mtr-result { + key "job-id"; + description + "MTR action RPC result"; + uses livetools-ios-xe-oper:mtr-result; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp-oper.yang new file mode 100644 index 000000000..457af20a8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp-oper.yang @@ -0,0 +1,1056 @@ +module Cisco-IOS-XE-lldp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lldp-oper"; + prefix lldp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of Link Layer Discovery Protocol state information. + Copyright (c) 2016-2017, 2019-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added vendor TLV list to LLDP neighbor entry + - Deprecated media-caps and Added adv-media-cap list"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added local-efp-id leaf to lldp entry and lldp interface entry + indicating the service instance identifier that handles the + received LLDP packet. Added lldp-efp-detail indicating the LLDP + enabled service instance identifier for an interface"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-03-01 { + description + "Added peer source MAC address for the neighbor entry"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2020-07-01 { + description + "-Added Time to live leaf for the neighbor entry + -Added new mgmt-type enum value mgmt-not-advertised indicating that a + management address is not advertised + -Added system cookie leaf for the neighbor entry"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-03-01 { + description + "Added transmission and reception state details, neighboring device + physical media capabilities and failure counters"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-11-05 { + description + "- Adding port VLAN ID, power details, + media attachment unit, and auto negotiation details. + - Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-06-27 { + description + "Entries to support open config LLDP are added"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef lldp-pwr-pair-type { + type enumeration { + enum power-pair-signal { + value 1; + description + "LLDP power pair is Signal"; + } + enum power-pair-spare { + value 2; + description + "LLDP power pair is Spare"; + } + } + description + "LLDP Power pair type"; + } + + typedef lldp-pwr-class-type { + type enumeration { + enum power-class-0 { + value 1; + description + "LLDP power class 0"; + } + enum power-class-1 { + value 2; + description + "LLDP power class 1"; + } + enum power-class-2 { + value 3; + description + "LLDP power class 2"; + } + enum power-class-3 { + value 4; + description + "LLDP power class 3"; + } + enum power-class-4 { + value 5; + description + "LLDP power class 4"; + } + } + description + "LLDP Power class type"; + } + + typedef lldp-pwr-device-type { + type enumeration { + enum power-device-type-2-pse { + value 1; + description + "LLDP power device type is TYPE 2 PSE"; + } + enum power-device-type-2-pd { + value 2; + description + "LLDP power device type is TYPE 2 PD"; + } + enum power-device-type-1-pse { + value 3; + description + "LLDP power device type is TYPE 1 PSE"; + } + enum power-device-type-1-pd { + value 4; + description + "LLDP power device type is TYPE 1 PD"; + } + } + description + "LLDP Power device type"; + } + + typedef lldp-pwr-source-type { + type enumeration { + enum power-source-pse-and-local { + value 1; + description + "LLDP power source as PSE and Local"; + } + enum power-source-reserved { + value 2; + description + "LLDP power source as Reserved"; + } + enum power-source-pse { + value 3; + description + "LLDP power source as PSE"; + } + enum power-source-unknown { + value 4; + description + "LLDP power source as Unknown"; + } + } + description + "LLDP Power source"; + } + + typedef lldp-pwr-priority-type { + type enumeration { + enum power-priority-unknown { + value 1; + description + "LLDP power priority as Unknown"; + } + enum power-priority-critical { + value 2; + description + "LLDP power source as Critical"; + } + enum power-prioirty-high { + value 3; + description + "LLDP power source as High"; + } + enum power-priority-low { + value 4; + description + "LLDP power source as Low"; + } + } + description + "LLDP Power priority"; + } + + typedef chid-subtype { + type enumeration { + enum chassis-entphyalias { + value 1; + description + "chassis id sub type holds the value of entity + MIB physical alias"; + } + enum chassis-ifalias { + value 2; + description + "chassis id subtype with value Interface alias"; + } + enum chassis-portentphyalias { + value 3; + description + "chassis id subtype with port component"; + } + enum chassis-mac { + value 4; + description + "chassis id sub type with MAC address"; + } + enum chassis-net { + value 5; + description + "chassis id sub type with Network address"; + } + enum chassis-ifname { + value 6; + description + "chassis id sub type with interface name"; + } + enum chassis-local { + value 7; + description + "chassis id subtype with locally assigned + identifier"; + } + } + description + "Chassis id sub-type"; + } + + typedef poid-type { + type enumeration { + enum port-ifalias { + value 1; + description + "port id subtype with interface alias"; + } + enum port-portphyalias { + value 2; + description + "port id subtype with port component"; + } + enum port-mac { + value 3; + description + "Port id subtype with MAC address"; + } + enum port-net { + value 4; + description + "Port id subtype with network address"; + } + enum port-ifname { + value 5; + description + "Port id sub type with interface name"; + } + enum port-ckt { + value 6; + description + "Port id sub type with circuit"; + } + enum port-local { + value 7; + description + "Port id sub type with local"; + } + } + description + "port id subtype"; + } + + typedef mgmt-type { + type enumeration { + enum mgmt-ip { + value 1; + description + "specifies if the type of management address is + IPv4"; + } + enum mgmt-ipv6 { + value 2; + description + "Specifies ipv6 address"; + } + enum mgmt-decnet { + value 3; + description + "Specifies decnet phase four address"; + } + enum mgmt-ipx { + value 4; + description + "Specifies ipx address"; + } + enum mgmt-bv { + value 5; + description + "Specifies banyan vine address type"; + } + enum mgmt-at { + value 6; + description + "Specifies apple talk address type"; + } + enum mgmt-not-advertised { + value 7; + description + "Indicates that the management address field is + not advertised"; + } + } + description + "Types of management address"; + } + + typedef rx-state { + type enumeration { + enum wait-port-oper { + value 0; + description + "Transmission waits for port operation to come up"; + } + enum tx-init { + value 1; + description + "Reception is initialized"; + } + enum wait-for-frame { + value 2; + description + "Transmission waits for frame"; + } + enum rx-frame { + value 3; + description + "Transmission waits for receive frame"; + } + enum update-info { + value 4; + description + "Updates peer LLDP information for port"; + } + enum delete-info { + value 5; + description + "Deletes Peer lldp info on TTL timeout when Port + is active"; + } + enum delete-aged-info { + value 6; + description + "Deletes Peer lldp info on TTL timeout when Port is + NOT enabled"; + } + } + description + "Reception states available in LLDP"; + } + + typedef tx-state { + type enumeration { + enum rx-init { + value 0; + description + "LLDP Transmission is initialized"; + } + enum idle { + value 1; + description + "Reception is in IDLE state"; + } + enum info-frame { + value 2; + description + "Information frame is received"; + } + enum shutdown-frame { + value 3; + description + "Shutdown frame is received"; + } + } + description + "Transmission states available in LLDP"; + } + + typedef phy-media-cap { + type enumeration { + enum unknown { + value 0; + description + "Advertised value is not known"; + } + enum 10baset { + value 1; + description + "10 Base-T half duplex mode is advertised"; + } + enum 10baset-fd { + value 2; + description + "10 Base-T full duplex mode is advertised"; + } + enum 100baset4 { + value 3; + description + "10 Base-T4 mode is advertised"; + } + enum 100basetx { + value 4; + description + "100 Base-TX half duplex mode is advertised"; + } + enum 100basetx-fd { + value 5; + description + "100 Base-TX full duplex mode is advertised"; + } + enum 100baset2 { + value 6; + description + "100 Base-T2 half duplex mode is advertised"; + } + enum 100baset2-fd { + value 7; + description + "100 Base-T2 full duplex mode is advertised"; + } + enum pause-fd { + value 8; + description + "Pause for full duplex mode is advertised"; + } + enum asym-pause-fd { + value 9; + description + "Asymmetric pause for full duplex mode is advertised"; + } + enum sym-pause-fd { + value 10; + description + "Symmetric pause for full duplex mode is advertised"; + } + enum symm-asym-pause-fd { + value 11; + description + "Symmetric pause for full duplex mode is advertised"; + } + enum 1000basex-hd { + value 12; + description + "1000 BASE-X, -LX, -SX, -CX half duplex mode is + advertised"; + } + enum 1000basex-fd { + value 13; + description + "1000 BASE-X, -LX, -SX, -CX full duplex mode is + advertised"; + } + enum 1000base-t-hd { + value 14; + description + "1000 Base-T half duplex mode is advertised"; + } + enum 1000baset-fd { + value 15; + description + "1000 Base-T full duplex mode is advertised"; + } + } + description + "Physical media capabilities is advertised"; + } + + typedef vendor-tlv-type { + type enumeration { + enum vnd-tlv-av { + value 1; + description + "Specifies availability of Type(127) LLDP vendor TLV"; + } + enum vnd-tlv-no-ad { + value 2; + description + "Specifies vendor TLV not advertised"; + } + } + description + "Type of vendor TLV"; + } + + grouping lldp-capabilities { + description + "LLDP device type"; + leaf repeater { + type empty; + description + "Repeater"; + } + leaf bridge { + type empty; + description + "Bridge"; + } + leaf access-point { + type empty; + description + "Access point"; + } + leaf router { + type empty; + description + "Router"; + } + leaf telephone { + type empty; + description + "Phone"; + } + leaf docsis { + type empty; + description + "Docsis"; + } + leaf station { + type empty; + description + "Station"; + } + leaf other { + type empty; + description + "Other"; + } + } + + grouping lldp-auto-negotiation { + description + "LLDP Auto Negotiation"; + leaf enabled { + type empty; + description + "Auto Negotiation is enabled"; + } + leaf supported { + type empty; + description + "Auto Negotiation is supported"; + } + } + + grouping lldp-pwr-via-mdi { + description + "Holds details for LLDP Power-via-MDI"; + leaf power-pair { + type lldp-ios-xe-oper:lldp-pwr-pair-type; + description + "Power pair details"; + } + leaf power-class { + type lldp-ios-xe-oper:lldp-pwr-class-type; + description + "Power class details"; + } + leaf power-device-type { + type lldp-ios-xe-oper:lldp-pwr-device-type; + description + "Power device type details"; + } + leaf power-source { + type lldp-ios-xe-oper:lldp-pwr-source-type; + description + "Power source details"; + } + leaf power-priority { + type lldp-ios-xe-oper:lldp-pwr-priority-type; + description + "Power priority details"; + } + leaf power-requested { + type uint32; + units "milliWatts"; + description + "Power requested by peer device"; + } + leaf power-allocated { + type uint32; + units "milliWatts"; + description + "Power allocated to peer device"; + } + } + + grouping lldp-pwrt { + description + "LLDP Power type"; + leaf is-drawing-power { + type empty; + description + "Power is drawn from the device"; + } + container power-details { + when 'boolean(../is-drawing-power)'; + description + "LLDP Power-via-MDI details"; + uses lldp-ios-xe-oper:lldp-pwr-via-mdi; + } + } + + grouping lldp-entry-key { + description + "Unique LLDP entry identifier"; + leaf device-id { + type string; + description + "Device ID of the link"; + } + leaf local-interface { + type string; + description + "Name of the local interface on the current device"; + } + leaf connecting-interface { + type string; + description + "Name of the connected interface to 'local-interface'"; + } + } + + grouping lldp-entry { + description + "LLDP entry details"; + leaf ttl { + type uint32; + description + "TTL denoting hold-time of this link entry"; + } + container capabilities { + description + "LLD device capabilities"; + uses lldp-ios-xe-oper:lldp-capabilities; + } + leaf port-vlan-id { + type uint32; + description + "LLDP port VLAN ID"; + } + leaf mau-type { + type uint32; + description + "Media attachment unit type for LLDP"; + } + container auto-neg { + description + "LLDP auto negotiation details"; + uses lldp-ios-xe-oper:lldp-auto-negotiation; + } + container power { + description + "LLDP Power-via-MDI details"; + uses lldp-ios-xe-oper:lldp-pwrt; + } + leaf local-efp-id { + type uint32; + description + "EFP Identifier of the interface where + this LLDP entry is learnt "; + } + } + + grouping lldp-state-entry { + description + "LLDP state entry details"; + leaf enabled { + type boolean; + description + "Provides the state of LLDP"; + } + leaf hello-timer { + type uint64; + description + "Denotes the time between advertisement packets"; + } + leaf system-name { + type string; + description + "Provides the name of the system"; + } + leaf system-desc { + type string; + description + "Provides system related information"; + } + leaf chassis-id { + type string; + description + "Provides information about the chassis"; + } + leaf chassis-id-type { + type lldp-ios-xe-oper:chid-subtype; + description + "Provides information about the subtype of + chassis ID"; + } + leaf frame-in { + type uint64; + description + "Denotes the number of input frames"; + } + leaf frame-out { + type uint64; + description + "Denotes the number of output frames"; + } + leaf frame-error-in { + type uint64; + description + "Denotes the number of input frames containing errors"; + } + leaf frame-discard { + type uint64; + description + "Denotes the number of discarded frames"; + } + leaf tlv-discard { + type uint64; + description + "Denotes the number of discarded TLVs"; + } + leaf tlv-unknown { + type uint64; + description + "Denotes the number of unknown TLVs"; + } + leaf entries-aged-out { + type uint64; + description + "Number of aged out entries"; + } + leaf mem-failures { + type uint64; + description + "Number of memory allocation failures"; + } + leaf encap-failures { + type uint64; + description + "Number of encapsulation failures"; + } + leaf inqueue-overflow { + type uint64; + description + "Number of queue overflow failures"; + } + leaf table-overflow { + type uint64; + description + "Number of table failures"; + } + } + + grouping lldp-efp-entry { + description + "Holds EFP Specific LLDP information"; + leaf efp-id { + type uint32; + description + "EFP Identifier"; + } + } + + grouping lldp-intf-entry { + description + "LLDP entry details for interface"; + leaf if-name { + type string; + description + "Denotes the interface name"; + } + leaf isenabled { + type boolean; + description + "provides state of LLDP on the interface"; + } + list lldp-neighbor-details { + key "identifier"; + description + "Holds neighbor information"; + uses lldp-ios-xe-oper:lldp-neighbor-entry; + } + leaf tx { + type lldp-ios-xe-oper:tx-state; + description + "LLDP transmission state on the interface"; + } + leaf rx { + type lldp-ios-xe-oper:rx-state; + description + "LLDP reception state on the interface"; + } + list lldp-efp-detail { + key "efp-id"; + description + "LLDP Enabled Service instance identifier"; + uses lldp-ios-xe-oper:lldp-efp-entry; + } + } + + grouping lldp-mgmt { + description + "Holds lldp's management address"; + leaf mgmt-addr { + type string; + description + "Denotes the management ip address"; + } + leaf mgmt-addr-type { + type lldp-ios-xe-oper:mgmt-type; + description + "Denotes the type of management ip address"; + } + } + + grouping lldp-vendor-tlv { + description + "Holds type,length and value information about LLDP vendor-specific-tlvs"; + leaf tlv-type { + type lldp-ios-xe-oper:vendor-tlv-type; + description + "Denotes type of TLV"; + } + leaf tlv-len { + type uint32; + description + "Denotes length of TLV"; + } + leaf tlv-val { + type string; + description + "Denotes value of TLV"; + } + } + + grouping lldp-neighbor-entry { + description + "Holds LLDP device neighbor entry"; + leaf identifier { + type string; + description + "Provides information about the system generated id"; + } + leaf chassis-id { + type string; + description + "Provides information about the chassis"; + } + leaf chassis-id-type { + type lldp-ios-xe-oper:chid-subtype; + description + "Provides information about the subtype of + chassis ID"; + } + leaf port-id { + type string; + description + "Provides information about the port id"; + } + leaf port-id-type { + type lldp-ios-xe-oper:poid-type; + description + "Provides information about the port id's type"; + } + leaf port-desc { + type string; + description + "Provides information about the port's description"; + } + leaf system-name { + type string; + description + "Provides the name of the system"; + } + leaf system-desc { + type string; + description + "Provides system related information"; + } + leaf time-remaining { + type uint32; + units "seconds"; + description + "Specifies the timing of next advertisement"; + } + leaf age { + type uint32; + units "seconds"; + description + "Denotes the age of the current state"; + } + leaf time-since-last-update { + type uint32; + units "seconds"; + description + "Denotes the time since last update"; + } + list mgmt-addrs { + description + "Denotes the management ip address"; + uses lldp-ios-xe-oper:lldp-mgmt; + } + container system-capabilities { + description + "Provides LLDP device system capabilities"; + uses lldp-ios-xe-oper:lldp-capabilities; + } + container enabled-capabilities { + description + "Provides LLDP device enabled capabilities"; + uses lldp-ios-xe-oper:lldp-capabilities; + } + leaf media-caps { + type lldp-ios-xe-oper:phy-media-cap; + status deprecated; + description + "Deprecated. Use adv-media-cap"; + } + leaf ttl { + type uint32; + units "seconds"; + description + "The time-to-live (TTL) is a mandatory TLV which + indicates how long information from the neighbor should be + considered valid"; + } + list orgtlv-detail { + key "platform-id"; + description + "Holds LLDP org specific TLV information"; + uses lldp-ios-xe-oper:lldp-orgtlv-entry; + } + leaf peer-src-mac { + type yang:mac-address; + description + "Source MAC address from received LLDP packets"; + } + leaf local-efp-id { + type uint32; + description + "Local EFP identifier of interface + where the LLDP neighbour is learnt"; + } + list vnd-tlv { + description + "Holds LLDP vendor TLV information"; + uses lldp-ios-xe-oper:lldp-vendor-tlv; + } + leaf-list adv-media-cap { + type lldp-ios-xe-oper:phy-media-cap; + ordered-by user; + description + "Advertised physical media capabilities of peer device"; + } + } + + grouping lldp-orgtlv-entry { + description + "Holds LLDP org specific TLV entry"; + leaf platform-id { + type string; + description + "Provides information about the platform identifier"; + } + leaf system-cookie { + type string; + description + "Provides system cookie - the info string for + an LLDP org specific TLV (Type=127, Subtype=1)"; + } + } + + container lldp-entries { + config false; + description + "Data nodes for LLDP entries"; + list lldp-entry { + key "device-id local-interface connecting-interface"; + description + "The list of LLDP entries"; + uses lldp-ios-xe-oper:lldp-entry-key; + uses lldp-ios-xe-oper:lldp-entry; + } + container lldp-state-details { + presence "lldp-state-details"; + description + "The list of LLDP state entries"; + uses lldp-ios-xe-oper:lldp-state-entry; + } + list lldp-intf-details { + key "if-name"; + description + "The list of LLDP interface entries"; + uses lldp-ios-xe-oper:lldp-intf-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp.yang new file mode 100644 index 000000000..88548b419 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lldp.yang @@ -0,0 +1,340 @@ +module Cisco-IOS-XE-lldp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lldp"; + prefix ios-lldp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Link Layer Discovery Protocol (LLDP) Yang model. + Copyright (c) 2016-2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "-Added custom configurations for Management VLAN, + Management Address, System name, Network Hash + -Included feature check lldp-custom-config for + the custom configurations added"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline + -TLV types have been changed"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-25 { + description + "Changed the type of tlv-select leafs to boolean to better represent CLI state"; + } + revision 2018-07-17 { + description + "Changed the range of the timer leaf to match CLI"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-03-31 { + description + "Move interface LLDP configuration from switch to common"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-lldp-grouping { + container lldp { + description + "Enables LLDP globally."; + leaf holdtime { + description + "Specify the holdtime (in sec) to be sent in packets"; + type uint32 { + range "0..65535"; + } + default "120"; + } + leaf reinit { + description + "Specify the delay (in secs) for LLDP to initialize"; + type uint8 { + range "2..5"; + } + default "2"; + } + leaf run { + description + "Enable LLDP"; + type empty; + } + leaf timer { + description + "Rate at which LLDP packets are sent (in sec)"; + type uint16 { + range "5..65534"; + } + default "30"; + } + leaf management-vlan { + if-feature "ios-features:lldp-custom-config"; + description + "Custom Management VLAN"; + type uint16 { + range "1..4095"; + } + } + leaf custom-network-hash { + if-feature "ios-features:lldp-custom-config"; + description + "Custom Network hash"; + type string; + } + container management-address { + if-feature "ios-features:lldp-custom-config"; + description + "Management address configuration"; + leaf-list ipv4 { + description + "IPV4 address List"; + type inet:ipv4-address; + } + leaf-list ipv6 { + description + "IPV6 address List"; + type inet:ipv6-address; + } + } + list system-name { + if-feature "ios-features:lldp-custom-config"; + description + "System name"; + key "switch-id"; + leaf name { + description + "System name"; + type string; + } + leaf switch-id { + description + "Switch identifier"; + type uint8 { + range "0..17"; + } + } + } + container tlv-select { + description + "Selection of LLDP TLVs to send"; + leaf four-wire-power-management { + description + "Cisco 4-wire Power via MDI TLV"; + default "true"; + type boolean; + } + leaf mac-phy-cfg { + description + "IEEE 802.3 MAC/Phy Configuration/status TLV"; + default "true"; + type boolean; + } + leaf management-address { + description + "Management Address TLV"; + default "true"; + type boolean; + } + leaf port-description { + description + "Port Description TLV"; + default "true"; + type boolean; + } + leaf port-vlan { + description + "Port VLAN ID TLV"; + default "true"; + type boolean; + } + leaf power-management { + description + "IEEE 802.3 DTE Power via MDI TLV"; + default "true"; + type boolean; + } + leaf system-capabilities { + description + "System Capabilities TLV"; + default "true"; + type boolean; + } + leaf system-description { + description + "System Description TLV"; + default "true"; + type boolean; + } + leaf system-name { + description + "System Name TLV"; + default "true"; + type boolean; + } + } + } + } + + grouping config-interface-lldp-grouping { + container lldp { + description + "LLDP interface subcommands"; + leaf receive { + description + "Enable LLDP reception on interface"; + default "true"; + type boolean; + } + container tlv-select { + description + "Selection of LLDP TLVs to send"; + leaf four-wire-power-management { + description + "Cisco 4-wire Power via MDI TLV"; + default "true"; + type boolean; + } + leaf power-management { + description + "IEEE 802.3 DTE Power via MDI TLV"; + default "true"; + type boolean; + } + } + container med-tlv-select { + description + "Selection of LLDP MED TLVs to send"; + if-feature "ios-features:med"; + leaf inventory-management { + description + "LLDP MED Inventory Management TLV"; + type boolean; + default "true"; + } + leaf power-management { + description + "LLDP MED power Management TLV"; + type boolean; + default "true"; + } + leaf location { + description + "LLDP MED Location TLV"; + type boolean; + default "true"; + } + leaf network-policy { + description + "LLDP MED Network Policy TLV"; + type boolean; + default "true"; + } + } + leaf transmit { + description + "Enable LLDP transmission on interface"; + default "true"; + type boolean; + } + } + } + + augment "/ios:native" { + uses config-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-lldp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-lldp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-location.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-location.yang new file mode 100644 index 000000000..4a1306592 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-location.yang @@ -0,0 +1,210 @@ +submodule Cisco-IOS-XE-location { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Location Yang Model. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "- Initial Native Location revision"; + cisco-semver:module-version "1.0.0"; + } + + typedef loc-resolution-type { + type string { + pattern '([0-9]+(\.[0-9]+)?)'; + } + } + + grouping config-location-grouping { + container location { + description + "Global location configuration commands"; + container civic-location { + description + "Civic location information"; + list identifier { + description + "Set the identifier"; + key "identifier"; + leaf identifier { + type string; + } + leaf building { + description + "Building information"; + type string; + } + leaf floor { + description + "Floor number"; + type string; + } + leaf landmark { + description + "Landmark"; + type string; + } + leaf name { + description + "Resident name"; + type string; + } + leaf number { + description + "Street number"; + type string; + } + leaf country { + description + "Country code"; + type string { + length "2"; + } + } + leaf state { + description + "State name"; + type string; + } + leaf city { + description + "City name"; + type string; + } + leaf postal-code { + description + "Postal code"; + type string; + } + } + } + container geo-location { + description + "Geo-spatial location information"; + list identifier { + description + "Set the identifier"; + key "id"; + leaf id { + type string { + length "1..215"; + } + } + container latitude { + description + "Set latitude information"; + presence "true"; + leaf value { + description + "Latitude coordinate in degrees or decimal degrees (e.g. [+-]ddd[.ddddd] [mm[.mm]] [ss[.ss]])"; + mandatory true; + type string { + length "1..18"; + pattern '(([+-]?((90(\.0+)?)|([1-8]?[0-9](\.[0-9]+)?)))( [0-9]+(\.[0-9]+)?){0,2})'; + } + } + leaf resolution { + description + "Latitude coordinate resolution in meters"; + type loc-resolution-type; + } + } + container longitude { + description + "Set longitude information"; + presence "true"; + leaf value { + description + "Longitude coordinate in degrees or decimal degrees (e.g. [-]ddd[.ddddd] [mm[.mm]] [ss[.ss]])"; + mandatory true; + type string { + length "1..18"; + pattern '(([+-]?(180(\.0+)?|(((1[0-7][0-9])|([1-9]?[0-9]))(\.[0-9]+)?))( [0-9]+(\.[0-9]+)?){0,2}))'; + } + } + leaf resolution { + description + "Longitude coordinate resolution in meters"; + type loc-resolution-type; + } + } + container altitude { + description + "Set altitude information"; + presence "true"; + leaf value { + description + "Altitude coordinate value (in meters, feet or floors)"; + mandatory true; + type string { + length "1..18"; + pattern '([+-]?[0-9]+(\.[0-9]*)?)'; + } + } + container unit { + choice unit-choice { + mandatory true; + case meters { + leaf meters { + description + "Set meters as altitude measurement unit"; + type empty; + } + } + case feet { + leaf feet { + description + "Set feet as altitude measurement unit"; + type empty; + } + } + case floor { + leaf floor { + description + "Set floors as altitude measurement unit"; + type empty; + } + } + } + } + leaf resolution { + when 'not(../unit/floor)'; + description + "Altitude resolution expressed in the same unit of measurement as altitude"; + type loc-resolution-type; + } + } + leaf resolution { + description + "Latitude/Longitude resolution value. Applied only if no specific coordinate resolution is configured"; + type loc-resolution-type; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-deviation.yang new file mode 100644 index 000000000..c31490252 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-deviation.yang @@ -0,0 +1,27 @@ +module Cisco-IOS-XE-logging-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-logging-deviation"; + prefix ios-logging-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Update yang-version to 1.1"; + } + + deviation "/ios:native/ios:logging/ios:queue-limit/ios:esm" { + deviate replace { + default "8192"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-ios-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-ios-actions-rpc.yang new file mode 100644 index 000000000..1c84f3e26 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging-ios-actions-rpc.yang @@ -0,0 +1,82 @@ +module Cisco-IOS-XE-logging-ios-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-logging-ios-actions-rpc"; + prefix logging-ios-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for LOGGING RPC action data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping log-parameters { + description + "Parameters to execute the send log."; + leaf facility { + type string { + length "1..256"; + pattern '[^ ]*'; + } + must 'string-length(../mnemonics) > 0'; + description + "Facility name"; + } + leaf mnemonics { + type string { + length "1..256"; + pattern '[^ ]*'; + } + must 'string-length(../facility) > 0'; + description + "Mnemonics"; + } + leaf message { + type string { + length "1..256"; + } + mandatory true; + description + "Logging message"; + } + leaf severity { + type uint32 { + range "0..7"; + } + default "7"; + description + "Severity"; + } + } + + rpc send-log { + description + "To send a syslog message."; + input { + uses logging-ios-actions-rpc:log-parameters; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-logging.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging.yang new file mode 100644 index 000000000..e66049bb3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-logging.yang @@ -0,0 +1,1726 @@ +submodule Cisco-IOS-XE-logging { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Logging Yang Model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Logging dmvpn/cns-events/reload message-limit model added + - Logging syslog-events model added + - Logging purge-log buffer model added + - Added model/model changes for logging server-arp, message-counter and trap-debugging + - Logging syslog-events default level changed to warnings + - Logging buffered model deprecated and new model is added to take care of no form + - Logging monitor and monitor-conf models are obsolete + - Logging console and console-conf models are obsolete"; + cisco-semver:module-version "5.0.0"; + } + revision 2024-03-01 { + description + "- Logging on and logging count model added + - New model added for logging queue-limit"; + cisco-semver:module-version "4.5.0"; + } + revision 2023-11-01 { + description + "- Fix description of logging monitor-config node"; + cisco-semver:module-version "4.4.1"; + } + revision 2023-03-01 { + description + "- Fix order of logging source-interface and switchport node"; + cisco-semver:module-version "4.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-03-01 { + description + "- Fix for pattern issue in logging discriminator CLI"; + cisco-semver:module-version "4.2.0"; + } + revision 2020-11-01 { + description + "- Restructure logging rate-limit for removing xpath ambiguity + - Revision for string length of client-id trustpoint"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-07-01 { + description + "- Fix for trustpoint not needed while delete syslog profile + - Restructure logging console/monitor for turbo parser and fix bugs"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Add support for transport tls in logging host + - Add support for tls-profile CLI + - Add syslog-format in logging trap + - logging persistent url pattern changed"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- limited logging-rate-limit-common-group/ranges to singleton + - Fixed key fields of logging/source-interface + - support for fqdn host CLI + - Add missing descriptions to logging buffered + - change date-type of leaf range in except container + - change except to non presence container"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add support for logging buffered xml + - Remove default values for logging buffered + - Add missing descriptions to logging buffered"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-11 { + description + "Add full support for logging discriminator"; + } + revision 2018-05-22 { + description + "Add default cli/value for logging buffered 4096 debugging"; + } + revision 2018-03-18 { + description + "Add diff-dependency for logging discriminator, + logging-level-type enumeration order fixed, + Change logging remote-host to work correctly for + oc-system mapping"; + } + revision 2018-03-15 { + description + "Add dependency to buffered for persistent"; + } + revision 2017-11-10 { + description + "Add more nodes under logging persistent"; + } + revision 2017-08-25 { + description + "enforce order of deleting logging cli"; + } + revision 2017-06-02 { + description + "logging host ipv6 more support"; + } + revision 2017-03-01 { + description + "logging host/source-interface fix & enhancement"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef logging-level-type { + type union { + type uint16 { + range "0..7"; + } + type enumeration { + enum emergencies; + enum alerts; + enum critical; + enum errors; + enum warnings; + enum notifications; + enum informational; + enum debugging; + } + } + } + + typedef logging-level-type-new { + type enumeration { + enum emergencies; + enum alerts; + enum critical; + enum errors; + enum warnings; + enum notifications; + enum informational; + enum debugging; + } + } + + typedef severity-group-type { + type string { + pattern '[0-7](,[0-7])*'; + } + } + + grouping logging-host-option-group { + leaf discriminator { + description + "Specify a message discriminator identifier for this logging session"; + type string; + } + } + + grouping logging-host-transport-group { + container transport { + description + "Specify the transport protocol (default=UDP)"; + container udp { + description + "User Datagram Protocol"; + leaf default-port { + type empty; + } + list port-config { + description + "Port Number List"; + key "port-number"; + leaf port-number { + description + "Specify the UDP port number (default=514)"; + type uint16 { + range "1..65535"; + } + } + } + leaf-list port { + status deprecated; + type uint16; + } + } + container tcp { + description + "Transport Control Protocol"; + leaf default-port { + type empty; + } + list port-config { + description + "Port Number List"; + key "port-number"; + leaf port-number { + description + "Specify the TCP port number (default=601)"; + type uint16 { + range "1..65535"; + } + } + } + leaf-list port { + status deprecated; + type uint16; + } + } + container tls { + description + "Transport Layer Security"; + leaf default-port { + type empty; + } + list port { + description + "Port Number List"; + key "port-number"; + leaf port-number { + description + "Specify the TLS port number (default=6514)"; + type uint16 { + range "1025..65535"; + } + } + leaf profile { + description + "Specify the TLS profile"; + must '/ios:native/ios:logging/ios:tls-profile[ios:profile=current()]' { + error-message "Profile must be created 1st, deleted last"; + } + type string; + } + } + leaf profile { + description + "Specify the TLS profile created"; + must '/ios:native/ios:logging/ios:tls-profile[ios:profile=current()]' { + error-message "Profile must be created 1st, deleted last"; + } + type string; + } + } + } + } + + grouping logging-host-transport-config-group { + list transport { + description + "Specify the transport protocol UDP,TCP"; + key "transport"; + leaf transport { + description + "Transport Protocol"; + type enumeration { + enum udp; + enum tcp; + } + } + list port { + description + "port number List"; + key "port-number"; + leaf port-number { + description + "Specify the port number (default=514)"; + type uint16; + } + uses logging-host-option-group; + } + uses logging-host-option-group; + } + } + + grouping fqdn-host-vrf-list-group { + list fqdn-host-vrf-transport-list { + description + "Configure IPv4,ipv6 syslog server"; + key "vrf"; + leaf vrf { + description + "Set VRF option"; + type string; + } + leaf maxip { + description + "Send log to 'n' number of syslog server"; + type uint16 { + range "1..4"; + } + } + uses logging-host-option-group; + uses logging-host-transport-config-group; + } + } + + grouping logging-host-transport-config { + list transport { + description + "Specify the transport protocol UDP,TCP"; + key "transport"; + leaf transport { + description + "Transport Protocol"; + type enumeration { + enum udp; + enum tcp; + } + } + leaf maxip { + description + "Send log to 'n' number of syslog server"; + type uint16 { + range "1..4"; + } + } + list port { + description + "port number List"; + key "port-number"; + leaf port-number { + description + "Specify the port number (default=514)"; + type uint16; + } + uses logging-host-option-group; + } + uses logging-host-option-group; + } + } + + grouping fqdn-ipv4-host-list-group { + list fqdn-ipv4-host-list { + description + "Configure IPv4 syslog server"; + key "ipv4-host"; + leaf ipv4-host { + description + "Fully Qualified Domain name of syslog server"; + type string; + } + leaf maxip { + description + "Send log to 'n' number of syslog server"; + type uint16 { + range "1..4"; + } + } + uses logging-host-option-group; + uses logging-host-transport-config; + uses fqdn-host-vrf-list-group; + } + } + + grouping fqdn-ipv6-host-list-group { + list fqdn-ipv6-host-list { + description + "Configure IPv6 syslog server"; + key "ipv6-host"; + leaf ipv6-host { + description + "Fully Qualified Domain name of syslog server"; + type string; + } + leaf maxip { + description + "Send log to 'n' number of syslog server"; + type uint16 { + range "1..4"; + } + } + uses logging-host-option-group; + uses logging-host-transport-config; + uses fqdn-host-vrf-list-group; + } + } + + grouping logging-tls-version-group { + container tls-version { + description + "TLS version for syslog connection"; + leaf version { + description + "TLS Version"; + type enumeration { + enum TLSv1.1; + enum TLSv1.2; + } + } + } + } + + grouping logging-tls-ciphersuite-group { + container ciphersuite { + description + "Secure ciphersuite for syslog connection"; + leaf aes-128-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_128_sha ciphersuite"; + type empty; + } + leaf aes-256-cbc-sha { + description + "Encryption type tls_rsa_with_aes_cbc_256_sha ciphersuite"; + type empty; + } + leaf dhe-aes-cbc-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_cbc_sha2 (TLS version 1.1 & above) ciphersuite"; + type empty; + } + leaf dhe-aes-gcm-sha2 { + description + "Encryption type tls_dhe_rsa_with_aes_gcm_sha2 (TLS version 1.2 & above) ciphersuite"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_ecdsa_aes_gcm_sha2 (TLS version 1.2 & above) SuiteB ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_cbc_sha2 (TLS version 1.2 & above) ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_rsa_aes_gcm_sha2 (TLS version 1.2 & above) ciphersuite"; + type empty; + } + leaf rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2 (TLS version 1.2 & above) ciphersuite"; + type empty; + } + leaf rsa-aes-gcm-sha2 { + description + "Encryption type tls_rsa_with_aes_gcm_sha2 (TLS version 1.2 & above) ciphersuite"; + type empty; + } + } + } + + grouping logging-tls-trustpoint-group { + container client-id-trustpoint { + description + "Trustpoint for syslog client ID certificate"; + leaf trustpoint { + description + "Trustpoint name"; + type string { + length "1..234"; + } + } + } + } + + grouping logging-rate-limit-common-group { + container common-options { + leaf range { + description + "Messages per second"; + type uint16 { + range "1..10000"; + } + } + container except { + description + "Messages of this severity or higher"; + leaf range { + description + "Logging severity level"; + type logging-level-type-new; + } + } + } + } + + grouping logging-rate-limit-common-group-deprecated { + list ranges { + status deprecated; + max-elements 1; + key "range"; + leaf range { + status deprecated; + description + "Messages per second"; + type uint16 { + range "1..10000"; + } + } + container except-config { + status deprecated; + description + "Messages of this severity or higher"; + leaf range { + status deprecated; + description + "Logging severity level"; + type logging-level-type-new; + } + } + container except { + status deprecated; + description + "Messages of this severity or higher"; + presence "true"; + leaf range { + status deprecated; + description + "Logging severity level"; + type logging-level-type; + } + } + } + } + + grouping config-logging-discriminator-severity-actions { + choice actions { + leaf drops { + description + "To drop messages including the specified regular expression string"; + type severity-group-type; + } + leaf includes { + description + "To deliver messages including the specified regular expression string"; + type severity-group-type; + } + } + } + + grouping config-logging-discriminator-common-actions { + choice actions { + leaf drops { + description + "To drop messages including the specified regular expression string"; + type string; + } + leaf includes { + description + "To deliver messages including the specified regular expression string"; + type string; + } + } + } + + grouping config-logging-grouping { + container logging { + description + "Modify message logging facilities"; + list discriminator { + description + "Create or modify a message discriminator"; + key "name"; + leaf name { + type string; + } + container severity { + description + "Msg-body pattern for message filtering"; + uses config-logging-discriminator-severity-actions; + } + container facility { + description + "Facility pattern for message filtering"; + uses config-logging-discriminator-common-actions; + } + container mnemonics { + description + "Mnemonics pattern for message filtering"; + uses config-logging-discriminator-common-actions; + } + leaf rate-limit { + description + "Rate-limit value for message rate control"; + type uint16 { + range "1..10000"; + } + } + container msg-body { + description + "Msg-body pattern for message filtering"; + uses config-logging-discriminator-common-actions { + refine "actions/drops/drops"; + refine "actions/includes/includes"; + } + } + } + container persistent { + description + "Set persistent logging parameters"; + presence "true"; + leaf url { + description + "URL to store logging messages"; + type string { + pattern "(((bootflash:/)|(cns:/)|(flash:/)|(ftp:/)|(http:/)|(https:/)|(null:/)|(crashinfo:/) + (nvram:/)|(pram:/)|(rcp:/)|(scp:/)|(sftp:/)|(system:/)|(tar:/)|(tftp:/)|(tmpsys:/)|(webui:/)).*)"; + } + } + leaf size { + description + "Set disk space for writing log messages"; + type uint32 { + range "16384..2147483647"; + } + } + leaf filesize { + description + "Set size of individual log files"; + type uint32 { + range "8192..2147483647"; + } + } + leaf batch { + description + "Batch size for writing to persistent storage"; + type uint32 { + range "4096..2147483647"; + } + } + leaf threshold { + description + "Setting threshold capacity. When setting circular logging is disabled"; + type uint8 { + range "1..99"; + } + } + leaf immediate { + description + "Write log entry to storage immediately (no buffering)."; + type empty; + } + leaf notify { + description + "Notify when show logging [persistent] is activated."; + type empty; + } + leaf protected { + description + "Eliminates manipulation on logging-persistent files"; + type empty; + } + } + container monitor-config { + choice config-options { + case no-and-default-case { + leaf monitor { + description + "Set terminal line (monitor) logging parameters"; + type boolean; + default "true"; + } + } + case common-case { + container common-config { + container monitor { + description + "Set terminal line (monitor) logging parameters"; + choice log-options { + case discriminatior-case { + container discriminator { + description + "Establish MD-Console association"; + leaf name { + description + "discriminator name; string; max. 8 characters"; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "discriminator must be created at first, deleted last"; + } + type string; + } + } + } + case filtered-case { + leaf filtered { + description + "Enable filtered logging"; + type empty; + } + } + case xxml-case { + leaf xxml { + description + "Enable logging in XML"; + type empty; + } + } + } + leaf severity { + type logging-level-type; + } + } + } + } + } + } + container monitor-conf { + status obsolete; + leaf monitor { + description + "OBSOLETE, use monitor-config"; + status obsolete; + type boolean; + } + } + container monitor { + description + "Set terminal line (monitor) logging parameters(OBSOLETE use monitor-config)"; + status obsolete; + presence "true"; + leaf severity { + status obsolete; + type logging-level-type; + } + list discriminator { + description + "Establish MD-Console association(OBSOLETE)"; + status obsolete; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "discriminator must be created at first, deleted last"; + } + type string; + } + leaf severity { + status obsolete; + type logging-level-type; + } + } + } + leaf alarm { + description + "Configure syslog for alarms"; + type union { + type uint8 { + range "1..4"; + } + type enumeration { + enum critical; + enum informational; + enum major; + enum minor; + } + } + } + container buffered-config { + choice config-options { + case no-and-default-case { + leaf buffered { + description + "Buffered logging parameters"; + type boolean; + default "true"; + } + } + case common-case { + container common-config { + container buffered { + description + "Buffered logging parameters"; + choice log-options { + leaf discriminator-config { + description + "Establish MD-Buffer association"; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "Discriminator must be created at first, deleted last"; + } + type string; + } + leaf yxml { + description + "Enable logging in XML to XML logging buffer"; + type empty; + } + } + leaf size-value { + description + "Logging buffer size"; + type uint32 { + range "4096..2147483647"; + } + } + leaf severity-level { + description + "Logging severity level"; + type logging-level-type; + } + } + } + } + } + } + container buffered { + description + "Set buffered logging parameters"; + status deprecated; + choice buffered-params { + leaf discriminator-config { + description + "DEPRECATED. Establish MD-Buffer association"; + status deprecated; + type string; + } + leaf yxml { + description + "DEPRECATED. Enable logging in XML to XML logging buffer"; + status deprecated; + type empty; + } + } + leaf size-value { + description + "DEPRECATED. Logging buffer size"; + status deprecated; + type uint32 { + range "4096..2147483647"; + } + } + leaf severity-level { + description + "DEPRECATED. Logging severity level"; + status deprecated; + type logging-level-type; + } + container size { + status obsolete; + leaf size-value { + status obsolete; + type uint32 { + range "4096..2147483647"; + } + default "4096"; + } + leaf severity { + status obsolete; + type logging-level-type; + default "debugging"; + } + } + choice buffered-param { + case discriminator-param { + list discriminator { + status obsolete; + description + "(OBSOLETE, use discriminator-config)"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf size-value { + status obsolete; + type uint32 { + range "4096..2147483647"; + } + } + leaf severity { + status obsolete; + type logging-level-type; + } + } + } + case severity-level { + leaf severity { + status obsolete; + type logging-level-type; + } + } + case xxml-buffer { + leaf xxml { + status obsolete; + description + "Enable logging in XML to XML logging buffer(OBSOLETE)"; + type uint32 { + range "4096..2147483647"; + } + } + } + } + } + container console-config { + choice config-options { + case no-and-default-case { + leaf console { + description + "Set console logging parameters"; + type boolean; + default "true"; + } + } + case common-case { + container common-config { + container console { + description + "Set console logging parameters"; + choice log-options { + case discriminatior-case { + container discriminator { + description + "Establish MD-Console association"; + leaf name { + description + "discriminator name; string; max. 8 characters"; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "discriminator must be created at first, deleted last"; + } + type string; + } + } + } + case filtered-case { + leaf filtered { + description + "Enable filtered logging"; + type empty; + } + } + case xxml-case { + leaf xxml { + description + "Enable logging in XML"; + type empty; + } + } + } + leaf severity { + type logging-level-type; + } + } + } + } + } + } + container console-guaranteed { + container console { + description + "Set console logging parameters"; + leaf guaranteed { + description + "Guarantee console messages"; + type empty; + } + } + } + container console-conf { + status obsolete; + leaf console { + description + "Set console logging parameters(OBSOLETE, use console-config)"; + status obsolete; + type boolean; + } + } + container console { + description + "Set console logging parameters(OBSOLETE, use console-config)"; + status obsolete; + presence "true"; + list discriminator { + status obsolete; + description + "Establish MD-Console association(OBSOLETE, use console-config)"; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "discriminator must be created at first, deleted last"; + } + type string; + } + leaf severity { + status obsolete; + type logging-level-type; + } + } + leaf filtered { + status obsolete; + description + "Enable filtered logging(OBSOLETE, use console-config)"; + type empty; + } + leaf guaranteed { + status obsolete; + description + "Guarantee console messages(OBSOLETE, used console-config)"; + type empty; + } + leaf xxml { + status obsolete; + description + "Enable logging in XML(OBSOLETE, use console-config)"; + type logging-level-type; + } + leaf severity { + status obsolete; + type logging-level-type; + } + } + container event { + description + "Global interface events"; + container link-status { + description + "Globally enable/disable link UPDOWN message"; + leaf boot { + description + "Suppress/Allow link UPDOWN messages during boot"; + type empty; + } + leaf global { + type empty; + } + leaf default { + description + "Link UPDOWN messages for all interfaces"; + type empty; + } + } + } + container esm { + description + "Set ESM filter restrictions"; + leaf config { + description + "Permit/Deny configuration changes from ESM filters"; + type empty; + } + } + leaf facility { + description + "Facility parameter for syslog messages"; + type enumeration { + enum auth; + enum cron; + enum daemon; + enum kern; + enum local0; + enum local1; + enum local2; + enum local3; + enum local4; + enum local5; + enum local6; + enum local7; + enum lpr; + enum mail; + enum news; + enum sys10; + enum sys11; + enum sys12; + enum sys13; + enum sys14; + enum sys9; + enum syslog; + enum user; + enum uucp; + } + } + container history { + description + "Configure syslog history table"; + leaf size { + description + "Set history table size"; + type uint16; + } + leaf severity-level { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum emergencies; + enum alerts; + enum critical; + enum errors; + enum warnings; + enum notifications; + enum informational; + enum debugging; + } + } + } + } + container purge-log { + description + "Deletes older logs"; + container buffer { + description + "Deletes older logs from buffer"; + leaf days { + description + "Delete logs older than the days specified"; + type uint8 { + range "1..120"; + } + } + leaf time { + description + "Schedule log deletion time"; + type ios-types:hhmm-type; + } + } + } + container syslog-events { + description + "logging syslog-events"; + container discriminator { + description + "MD-syslog-event"; + leaf name { + description + "discriminator name; string; max. 8 characters"; + must '/ios:native/ios:logging/ios:discriminator[ios:name=current()]' { + error-message "discriminator must be created at first, deleted last"; + } + type string; + } + } + leaf severity { + description + "syslog-events logging level"; + type enumeration { + enum alerts; + enum critical; + enum debugging; + enum emergencies; + enum errors; + enum informational; + enum notifications; + enum warnings; + } + default "warnings"; + } + } + container trap { + description + "Set trap server logging level"; + presence "true"; + choice level { + case set-default { + leaf trap-default { + type empty; + } + } + case set-level { + leaf severity { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum alerts; + enum critical; + enum debugging; + enum emergencies; + enum errors; + enum informational; + enum notifications; + enum warnings; + } + } + default "informational"; + } + } + } + leaf syslog-format { + description + "Syslog format"; + type enumeration { + enum rfc5424; + } + } + } + list tls-profile { + description + "TLS configurations for secure syslog connection:"; + key "profile"; + leaf profile { + description + "TLS profile name. Max 30 chars"; + type string { + length "1..30"; + } + } + uses logging-tls-version-group; + uses logging-tls-ciphersuite-group; + uses logging-tls-trustpoint-group; + } + container host { + description + "Set syslog server IP address and parameters"; + list ipv4-host-list { + key "ipv4-host"; + leaf ipv4-host { + type inet:host; + } + } + list ipv4-host-transport-list { + key "ipv4-host"; + leaf ipv4-host { + type inet:host; + } + uses logging-host-transport-group; + uses logging-host-option-group; + } + list ipv4-host-vrf-list { + key "ipv4-host vrf"; + leaf ipv4-host { + type inet:host; + } + leaf vrf { + description + "Set VRF option"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4 or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses logging-host-option-group; + } + list ipv4-host-vrf-transport-list { + key "ipv4-host vrf"; + leaf ipv4-host { + type inet:host; + } + leaf vrf { + description + "Set VRF option"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4 or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses logging-host-transport-group; + uses logging-host-option-group; + } + container ipv6 { + description + "Set syslog server IPv6 address"; + list ipv6-host-list { + key "ipv6-host"; + leaf ipv6-host { + type ios-types:ipv6-host; + } + } + list ipv6-host-transport-list { + key "ipv6-host"; + leaf ipv6-host { + type ios-types:ipv6-host; + } + uses logging-host-transport-group; + uses logging-host-option-group; + } + list ipv6-host-vrf-list { + key "ipv6-host vrf"; + leaf ipv6-host { + type ios-types:ipv6-host; + } + leaf vrf { + description + "Set VRF option"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses logging-host-option-group; + } + list ipv6-host-vrf-transport-list { + key "ipv6-host vrf"; + leaf ipv6-host { + type ios-types:ipv6-host; + } + leaf vrf { + description + "Set VRF option"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses logging-host-transport-group; + uses logging-host-option-group; + } + } + container fqdn { + description + "Configure periodic address resolution for syslog server"; + container ipv4 { + description + "Configure IPv4 syslog server"; + uses fqdn-ipv4-host-list-group; + } + container ipv6 { + description + "Configure IPv4 syslog server"; + uses fqdn-ipv6-host-list-group; + } + } + } + container origin-id { + description + "Add origin ID to syslog messages"; + choice origin-choice { + case origin-type { + leaf type-value { + description + "Use origin hostname/ip/ipv6 as ID"; + type enumeration { + enum hostname; + enum ip; + enum ipv6; + } + } + } + case origin-name { + leaf string { + description + "Define a unique text string as ID"; + type string; + } + } + } + } + container rate-limit-config { + choice config-options { + case no-case { + container no-rate-limit { + leaf rate-limit { + must ". = 'false'" { + error-message "rate limit cannot be setup without options"; + } + type boolean; + } + } + } + case common-case { + container common-config { + container rate-limit { + description + "Set messages per second limit"; + uses logging-rate-limit-common-group; + container console { + description + "Rate limit only console messages"; + uses logging-rate-limit-common-group; + container all { + description + "Rate limit all messages, including debug messages"; + uses logging-rate-limit-common-group; + } + } + container all { + description + "Rate limit all messages, including debug messages"; + uses logging-rate-limit-common-group; + } + } + } + } + } + } + container rate-limit-conf { + status deprecated; + leaf rate-limit { + description + "DEPRECATED, use rate-limit"; + status deprecated; + type boolean; + } + } + container rate-limit { + description + "Set messages per second limit"; + status deprecated; + presence "true"; + uses logging-rate-limit-common-group-deprecated; + container console { + status deprecated; + description + "Rate limit only console messages"; + uses logging-rate-limit-common-group-deprecated; + container all { + status deprecated; + description + "all"; + uses logging-rate-limit-common-group-deprecated; + } + } + container all { + status deprecated; + description + "Rate limit only console messages"; + uses logging-rate-limit-common-group-deprecated; + } + } + container source-interface-conf { + description + "Specify interface for source address in logging transactions"; + leaf interface-name-non-vrf { + type string; + } + list source-interface-vrf { + description + "Specify interface and vrf for source address in logging transactions"; + key "vrf"; + leaf vrf { + description + "Specify the vrf of source interface for logging transactions"; + type string; + } + leaf interface-name { + type string; + mandatory true; + } + } + } + list source-interface { + status deprecated; + description + "Specify interface for source address in logging transactions"; + key "interface-name"; + leaf interface-name { + status deprecated; + type string; + } + leaf vrf { + status deprecated; + description + "Specify the vrf of source interface for logging transactions"; + type string; + } + } + container snmp-trap { + description + "Set SNMP trap logging level"; + leaf alerts { + description + "Immediate action needed (severity=1)"; + type empty; + } + leaf critical { + description + "Critical conditions (severity=2)"; + type empty; + } + leaf debugging { + description + "Debugging messages (severity=7)"; + type empty; + } + leaf emergencies { + description + "System is unusable (severity=0)"; + type empty; + } + leaf errors { + description + "Error conditions (severity=3)"; + type empty; + } + leaf informational { + description + "Informational messages (severity=6)"; + type empty; + } + leaf notifications { + description + "Normal but significant conditions (severity=5)"; + type empty; + } + leaf warnings { + description + "Warning conditions (severity=4)"; + type empty; + } + } + leaf hostip { + status deprecated; + type inet:host; + } + container file { + description + "Set logging file parameters"; + leaf name { + type string; + } + leaf max-size { + type uint32; + } + leaf min-size { + type uint32; + } + leaf severity { + type logging-level-type; + } + } + leaf snmp-authfail { + type empty; + } + leaf buginf { + description + "Enable buginf logging for debugging"; + type empty; + } + leaf userinfo { + description + "Enable logging of user info on privileged mode enabling"; + type empty; + } + leaf on { + description + "Enable logging to all enabled destinations"; + type boolean; + default "true"; + } + leaf count { + description + "Count every log message and timestamp last occurrence"; + type empty; + } + container queue-limit { + description + "Set logger message queue size"; + presence "true"; + leaf limit { + description + "Set new queue size"; + type int32 { + range "100..2147483647"; + } + default "1024"; + } + leaf esm { + description + "Set embedded syslog manager message queue size"; + type int32 { + range "100..2147483647"; + } + default "100"; + } + leaf trap { + description + "Set syslog message queue size"; + type int32 { + range "100..2147483647"; + } + default "1024"; + } + } + container message-counter { + description + "Logging message-counter"; + leaf debug { + description + "Counter of buginf messages"; + type empty; + } + leaf log { + description + "Counter of logging messages"; + type empty; + } + leaf syslog { + description + "Counter of lines of syslog messages"; + type boolean; + default "true"; + } + } + leaf server-arp { + description + "Arp request for syslog servers"; + type empty; + } + container dmvpn-config { + choice config-options { + case no-and-default-case { + leaf dmvpn { + description + "dmvpn logging parameters"; + type boolean; + default "true"; + } + } + case common-case { + container dmvpn-common-config { + container dmvpn { + description + "dmvpn logging parameters"; + leaf rate-limit { + description + "rate-limit of dmvpn syslog messages config"; + type uint32 { + range "1..10000"; + } + } + } + } + } + } + } + container cns-events-config { + choice config-options { + case no-and-default-case { + leaf cns-events { + description + "cns event logging level"; + type boolean; + default "true"; + } + } + case common-case { + container cns-events-common-config { + container cns-events { + description + "cns event at logging level"; + leaf severity { + description + "cns-events logging level"; + type enumeration { + enum alerts; + enum critical; + enum debugging; + enum emergencies; + enum errors; + enum informational; + enum notifications; + enum warnings; + } + } + } + } + } + } + } + container reload-message-limit-config { + choice config-options { + case no-and-default-case { + leaf reload { + description + "reload at logging level"; + type boolean; + default "true"; + } + } + case common-case { + container reload-message-limit-common-config { + container reload { + description + "reload at logging level"; + leaf message-limit { + description + "message-limit at logging reload level"; + type uint32 { + range "1..4294967295"; + } + } + leaf severity { + description + "reload message-limit logging level"; + type enumeration { + enum alerts; + enum critical; + enum debugging; + enum emergencies; + enum errors; + enum informational; + enum notifications; + enum warnings; + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect-events.yang new file mode 100644 index 000000000..e45fdf8a2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect-events.yang @@ -0,0 +1,83 @@ +module Cisco-IOS-XE-loop-detect-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-loop-detect-events"; + prefix loop-detect-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for loop-detect events notification. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef loopdetect-event-type { + type enumeration { + enum loopdet-unknown { + value 0; + description + "Event type is unknown."; + } + enum loopdet-loop-det { + value 1; + description + "Event type is loop detected."; + } + enum loopdet-loop-det-err-dis { + value 2; + description + "Event type is loop detected with error disabled."; + } + } + description + "Event type for loop detect."; + } + + grouping loop-detect-interface-event { + description + "Loop detection in the topology."; + leaf if-name { + type string; + description + "Reference to the device's interface where a loop is detected."; + } + leaf recvr-if-name { + type string; + description + "Receiver interface where loop detect frame is received."; + } + leaf event-type { + type loop-detect-ios-xe-events:loopdetect-event-type; + description + "Loop detect event type."; + } + } + + notification loopdetect-intf-event { + description + "Loop detection event notification."; + uses loop-detect-ios-xe-events:loop-detect-interface-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect.yang new file mode 100644 index 000000000..53c9dda0f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-loop-detect.yang @@ -0,0 +1,115 @@ +module Cisco-IOS-XE-loop-detect { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-loop-detect"; + prefix ios-loop-detect; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Cisco Smart Install (LOOP DETECT) Yang model. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Enable model support for loop detect feature"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-interface-loop-detect-grouping { + container loopdetect-enable { + leaf loopdetect { + description + "Enable loop detection on the port"; + type empty; + } + } + container loopdetect-param { + container loopdetect { + description + "Configure loop detect feature setting"; + leaf interval { + description + "Time in seconds between sending of + loop detect frames"; + type uint32 { + range "1..10"; + } + default "5"; + } + container action { + description + "Select the action to be performed upon loop detection"; + leaf syslog { + description + "Syslog will display upon loop detection"; + type empty; + } + } + leaf source-port { + description + "Source Port will be error disabled upon loop detection"; + type empty; + } + } + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-loop-detect-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-loop-detect-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan-oper.yang new file mode 100644 index 000000000..c66d4ab9a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan-oper.yang @@ -0,0 +1,967 @@ +module Cisco-IOS-XE-lorawan-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lorawan-oper"; + prefix lorawan-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for LORAWAN operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added log level, lines to CPF config. + - Added GPS info on a per LORAWAN interface basis."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef lorawan-cpf-auth-mode { + type enumeration { + enum cpf-auth-mode-none { + value 0; + description + "No Authentication Mode"; + } + enum cpf-auth-mode-cli-srv { + value 1; + description + "Client and Server Authentication Mode"; + } + enum cpf-auth-mode-srv { + value 2; + description + "Server Authentication Mode"; + } + enum cpf-auth-mode-sudi { + value 3; + description + "Server Authentication Mode"; + } + } + description + "LORAWAN CPF Authentication Mode"; + } + + typedef lorawan-status-cp-type { + type enumeration { + enum lorawan-cp-tdl-invalid { + value 0; + description + "Invalid channel plan type"; + } + enum lorawan-cp-tdl-msf { + value 1; + description + "MSF channel type"; + } + enum lorawan-cp-tdl-std { + value 2; + description + "Standard channel type"; + } + enum lorawan-cp-tdl-fsk { + value 3; + description + "FSK channel type"; + } + } + description + "Channel plan type for LORAWAN"; + } + + typedef lorawan-config-channel-plan { + type enumeration { + enum cp-eu868 { + value 0; + description + "Channel plan EU 868"; + } + enum cp-us915 { + value 1; + description + "Channel plan US 915"; + } + enum cp-au915 { + value 2; + description + "Channel plan AU 915"; + } + enum cp-as923-1 { + value 3; + description + "Channel plan AS 923-1"; + } + enum cp-as923-2 { + value 4; + description + "Channel plan AS 923-2"; + } + enum cp-as923-3 { + value 5; + description + "Channel plan AS 923-3"; + } + enum cp-in865 { + value 6; + description + "Channel plan IN 865"; + } + enum cp-kr920 { + value 7; + description + "Channel plan KR 920"; + } + enum cp-ru864 { + value 8; + description + "Channel plan RU 864"; + } + enum cp-invalid { + value 9; + description + "Invalid channel plan "; + } + } + description + "LORAWAN channel plans"; + } + + typedef lorawan-cpf-antenna-type { + type enumeration { + enum cpf-antenna-type-none { + value 0; + description + "No antenna"; + } + enum cpf-antenna-type-omni { + value 1; + description + "Omni type antenna"; + } + enum cpf-antenna-type-sector { + value 2; + description + "Sector type antenna"; + } + } + description + "Antenna type for LORAWAN"; + } + + typedef lorawan-oper-region { + type enumeration { + enum lorawan-region-albania { + value 0; + description + "ALBANIA"; + } + enum lorawan-region-andorra { + value 1; + description + "ANDORRA"; + } + enum lorawan-region-armenia { + value 2; + description + "ARMENIA"; + } + enum lorawan-region-argentina { + value 3; + description + "ARGENTINA"; + } + enum lorawan-region-austria { + value 4; + description + "AUSTRIA"; + } + enum lorawan-region-australia { + value 5; + description + "AUSTRALIA"; + } + enum lorawan-region-azerbaijan { + value 6; + description + "AZERBAIJAN"; + } + enum lorawan-region-belarus { + value 7; + description + "BELARUS"; + } + enum lorawan-region-belgium { + value 8; + description + "BELGIUM"; + } + enum lorawan-region-bosnia { + value 9; + description + "BOSNIA"; + } + enum lorawan-region-brazil { + value 10; + description + "BRAZIL"; + } + enum lorawan-region-brunei { + value 11; + description + "BRUNEI"; + } + enum lorawan-region-bulgaria { + value 12; + description + "BULGARIA"; + } + enum lorawan-region-cambodia { + value 13; + description + "CAMBODIA"; + } + enum lorawan-region-canada { + value 14; + description + "CANADA"; + } + enum lorawan-region-chile { + value 15; + description + "CHILE"; + } + enum lorawan-region-china { + value 16; + description + "CHINA"; + } + enum lorawan-region-colombia { + value 17; + description + "COLOMBIA"; + } + enum lorawan-region-croatia { + value 18; + description + "CROATIA"; + } + enum lorawan-region-cyprus { + value 19; + description + "CYPRUS"; + } + enum lorawan-region-czechrepublic { + value 20; + description + "CZECH REPUBLIC"; + } + enum lorawan-region-denmark { + value 21; + description + "DENMARK"; + } + enum lorawan-region-egypt { + value 22; + description + "EGYPT"; + } + enum lorawan-region-estonia { + value 23; + description + "ESTONIA"; + } + enum lorawan-region-finland { + value 24; + description + "FINLAND"; + } + enum lorawan-region-france { + value 25; + description + "FRANCE"; + } + enum lorawan-region-germany { + value 26; + description + "GERMANY"; + } + enum lorawan-region-greece { + value 27; + description + "GREECE"; + } + enum lorawan-region-hongkong { + value 28; + description + "HONGKONG"; + } + enum lorawan-region-hungary { + value 29; + description + "HUNGARY"; + } + enum lorawan-region-iceland { + value 30; + description + "ICELAND"; + } + enum lorawan-region-ireland { + value 31; + description + "IRELAND"; + } + enum lorawan-region-india { + value 32; + description + "INDIA"; + } + enum lorawan-region-indonesia { + value 33; + description + "INDONESIA"; + } + enum lorawan-region-italy { + value 34; + description + "ITALY"; + } + enum lorawan-region-japan { + value 35; + description + "JAPAN"; + } + enum lorawan-region-korea { + value 36; + description + "KOREA"; + } + enum lorawan-region-laos { + value 37; + description + "LAOS REGION"; + } + enum lorawan-region-latvia { + value 38; + description + "LATVIA"; + } + enum lorawan-region-lebanon { + value 39; + description + "LEBANON"; + } + enum lorawan-region-liechtenstein { + value 40; + description + "LIECHTENSTEIN"; + } + enum lorawan-region-lithuania { + value 41; + description + "LITHUANIA"; + } + enum lorawan-region-luxembourg { + value 42; + description + "LUXEMBOURG"; + } + enum lorawan-region-macedonia { + value 43; + description + "MACEDONIA"; + } + enum lorawan-region-malaysia { + value 44; + description + "MALAYSIA"; + } + enum lorawan-region-mexico { + value 45; + description + "MEXICO"; + } + enum lorawan-region-moldova { + value 46; + description + "MOLDOVA"; + } + enum lorawan-region-montenegro { + value 47; + description + "MONTENEGRO"; + } + enum lorawan-region-netherlands { + value 48; + description + "NETHERLANDS"; + } + enum lorawan-region-newzealand { + value 49; + description + "NEW ZEALAND"; + } + enum lorawan-region-norway { + value 50; + description + "NORWAY"; + } + enum lorawan-region-poland { + value 51; + description + "POLAND"; + } + enum lorawan-region-portugal { + value 52; + description + "PORTUGAL"; + } + enum lorawan-region-puertorico { + value 53; + description + "PUERTO RICO"; + } + enum lorawan-region-romania { + value 54; + description + "ROMANIA"; + } + enum lorawan-region-serbia { + value 55; + description + "SERBIA"; + } + enum lorawan-region-russia { + value 56; + description + "RUSSIA"; + } + enum lorawan-region-saudiarabia { + value 57; + description + "SAUDI ARABIA"; + } + enum lorawan-region-singapore { + value 58; + description + "SINGAPORE"; + } + enum lorawan-region-slovakia { + value 59; + description + "SLOVAKIA"; + } + enum lorawan-region-slovenia { + value 60; + description + "SLOVENIA"; + } + enum lorawan-region-southafrica { + value 61; + description + "SOUTH AFRICA"; + } + enum lorawan-region-spain { + value 62; + description + "SPAIN"; + } + enum lorawan-region-sweden { + value 63; + description + "SWEDEN"; + } + enum lorawan-region-switzerland { + value 64; + description + "SWITZERLAND"; + } + enum lorawan-region-thailand { + value 65; + description + "THAILAND"; + } + enum lorawan-region-turkey { + value 66; + description + "TURKEY"; + } + enum lorawan-region-unitedkingdom { + value 67; + description + "UNITED KINGDOM"; + } + enum lorawan-region-ukraine { + value 68; + description + "UKRAINE"; + } + enum lorawan-region-unitedarabemirates { + value 69; + description + "UNITED ARAB EMIRATES"; + } + enum lorawan-region-unitedstates { + value 70; + description + "UNITED STATES"; + } + enum lorawan-region-vaticancity { + value 71; + description + "VATICAN CITY"; + } + enum lorawan-region-vietnam { + value 72; + description + "VIETNAM"; + } + enum lorawan-region-invalid { + value 73; + description + "VIETNAM"; + } + } + description + "LORAWAN country/region enumeration"; + } + + typedef lorawan-cpf-log-lvl { + type enumeration { + enum cpf-log-lvl-info { + value 0; + description + "Log Level Information"; + } + enum cpf-log-lvl-dbg { + value 1; + description + "Log Level debug"; + } + enum cpf-log-lvl-xdbg { + value 2; + description + "Log Level X debug"; + } + } + description + "LORAWAN CPF Log level"; + } + + typedef lorawan-gps-status { + type enumeration { + enum gps-data-available { + value 0; + description + "GPS Data is available"; + } + enum gps-data-not-available { + value 1; + description + "GPS Data is not available"; + } + } + description + "LORAWAN GPS Status"; + } + + grouping lorawan-intf-config { + description + "LORAWAN interface config output"; + leaf use-cpf { + type boolean; + description + "Whether CPF is used at current interface"; + } + leaf linestate-up { + type boolean; + description + "Line state"; + } + } + + grouping lorawan-cpf-config { + description + "LORAWAN CPF configuration file output"; + leaf antenna-type { + type lorawan-ios-xe-oper:lorawan-cpf-antenna-type; + description + "Antenna type"; + } + leaf auth-mode { + type lorawan-ios-xe-oper:lorawan-cpf-auth-mode; + description + "Authentication mode"; + } + leaf brd-bw { + type uint32; + units "HZ"; + description + "The board bandwidth"; + } + leaf brd-freq { + type uint32; + units "HZ"; + description + "The board frequency"; + } + leaf country { + type lorawan-ios-xe-oper:lorawan-oper-region; + description + "The Country where the antenna is located"; + } + leaf channel-plan { + type lorawan-ios-xe-oper:lorawan-config-channel-plan; + description + "The CPF channel plan"; + } + leaf gw-id { + type string; + description + "The gateway id"; + } + leaf gps { + type empty; + description + "GPS is enabled"; + } + leaf lns { + type string; + description + "The host name or ip address"; + } + leaf lns-port { + type uint16; + description + "The interface port"; + } + leaf sni-en { + type empty; + description + "SNI is enabled"; + } + leaf cpf-en { + type empty; + description + "CPF is enabled"; + } + leaf log-lvl { + type lorawan-ios-xe-oper:lorawan-cpf-log-lvl; + description + "Log level used"; + } + leaf log-lines { + type uint16; + description + "Number of log lines"; + } + } + + grouping lorawan-cpf-config-layout { + description + "lorawan configuration"; + leaf if-name { + type string; + description + "The interface name"; + } + container cpf-config { + description + "lorawan CPF configuration"; + uses lorawan-ios-xe-oper:lorawan-cpf-config; + } + } + + grouping lorawan-show-config { + description + "lorawan configuration"; + leaf if-name { + type string; + description + "The interface name"; + } + container intf-config { + description + "lorawan interface configuration"; + uses lorawan-ios-xe-oper:lorawan-intf-config; + } + container cpf-config { + description + "lorawan CPF configuration"; + uses lorawan-ios-xe-oper:lorawan-cpf-config; + } + } + + grouping lorawan-cp-msf { + description + "lorawan channel info"; + leaf cp-type { + type lorawan-ios-xe-oper:lorawan-status-cp-type; + description + "Channel plan type"; + } + leaf index { + type uint8; + description + "lorawan channel index/slot number"; + } + leaf freq { + type decimal64 { + fraction-digits 2; + } + units "MHZ"; + description + "Frequency"; + } + leaf rf { + type uint32; + description + "RF chain"; + } + leaf dr { + type uint8; + description + "Data rate code"; + } + } + + grouping lorawan-cp-bw { + description + "lorawan std/fsk channel info"; + leaf cp-type { + type lorawan-ios-xe-oper:lorawan-status-cp-type; + description + "Channel plan type"; + } + leaf freq { + type decimal64 { + fraction-digits 2; + } + units "MHZ"; + description + "Frequency"; + } + leaf rf { + type uint32; + description + "RF chain"; + } + leaf dr { + type uint8; + description + "Data rate code"; + } + leaf bw { + type uint32; + units "KHZ"; + description + "Bandwidth"; + } + } + + grouping lorawan-oper-status-stats { + description + "lorawan statistics info"; + leaf dn-msg { + type uint32; + description + "Downlink message"; + } + leaf dn-sched-msg { + type uint32; + description + "Downlink scheduled MSG"; + } + leaf rx-msg { + type uint32; + description + "Received message"; + } + } + + grouping lorawan-oper-channel-plan { + description + "LORAWAN channel plan"; + list msf { + max-elements 8; + description + "MSF channel info"; + uses lorawan-ios-xe-oper:lorawan-cp-msf; + } + container fsk { + description + "FSK channel info"; + uses lorawan-ios-xe-oper:lorawan-cp-bw; + } + container std { + description + "Standard channel info"; + uses lorawan-ios-xe-oper:lorawan-cp-bw; + } + } + + grouping lorawan-oper-cpf-status { + description + "LORAWAN CPF status"; + leaf cpf-running { + type boolean; + description + "CPF status"; + } + leaf lns-cert-installed { + type boolean; + description + "LNS certificate status"; + } + leaf gw-cert-installed { + type boolean; + description + "Gateway certificate status"; + } + leaf gwkey-installed { + type boolean; + description + "Gateway key status"; + } + leaf lns-connected { + type boolean; + description + "LNS connection status"; + } + container cp { + description + "LORAWAN Channel Plan"; + uses lorawan-ios-xe-oper:lorawan-oper-channel-plan; + } + container stats { + description + "LORAWAN Channel Plan"; + uses lorawan-ios-xe-oper:lorawan-oper-status-stats; + } + } + + grouping lorawan-cpf-status-content { + description + "lorawan CPF config file"; + leaf if-name { + type string; + description + "lorawan interface name"; + } + container status { + description + "CPF status content"; + uses lorawan-ios-xe-oper:lorawan-oper-cpf-status; + } + } + + grouping lorawan-gps-data { + description + "LORAWAN GPS data"; + leaf timestamp { + type yang:date-and-time; + description + "Timestamp when location details are recorded"; + } + leaf latitude { + type decimal64 { + fraction-digits 6; + } + description + "Latitude of the location"; + } + leaf longitude { + type decimal64 { + fraction-digits 6; + } + description + "Longitude of the location"; + } + leaf height { + type decimal64 { + fraction-digits 2; + } + description + "Height of the location"; + } + } + + grouping lorawan-gps-data-layout { + description + "LORAWAN GPS data"; + leaf if-name { + type string; + description + "LORAWAN interface name"; + } + leaf status { + type lorawan-ios-xe-oper:lorawan-gps-status; + description + "Indicates the status of GPS"; + } + container gps-data { + when "../status != 'gps-data-not-available'"; + description + "GPS data"; + uses lorawan-ios-xe-oper:lorawan-gps-data; + } + } + + container lorawan-oper-data { + config false; + description + "Lorawan IOS emulation data"; + list lorawan-config { + key "if-name"; + description + "Lorawan configure data"; + uses lorawan-ios-xe-oper:lorawan-show-config; + } + list lorawan-cpf-from-app { + key "if-name"; + description + "Lorawan cpf file configuration data"; + uses lorawan-ios-xe-oper:lorawan-cpf-config-layout; + } + list lorawan-cpf-status { + key "if-name"; + description + "Lorawan cpf status data"; + uses lorawan-ios-xe-oper:lorawan-cpf-status-content; + } + list lorawan-gps { + key "if-name"; + description + "LORAWAN GPS data"; + uses lorawan-ios-xe-oper:lorawan-gps-data-layout; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan.yang new file mode 100644 index 000000000..da9a55daf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lorawan.yang @@ -0,0 +1,231 @@ +module Cisco-IOS-XE-lorawan { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lorawan"; + prefix ios-lorawan; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE LORAWAN yang model"; + + revision 2022-11-01 { + description + "Initially created"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-cpf-grouping { + container profile { + description + "Common Packet Forwarder(cpf) configuration"; + presence "true"; + container antenna-values { + description + "configures antenna properties"; + leaf antenna { + description + "antenna ID"; + type enumeration { + enum 1; + } + } + leaf type { + description + "antenna type"; + type enumeration { + enum omni { + description + "antenna type omni"; + } + enum sector { + description + "antenna type sector"; + } + } + } + leaf gain { + description + "antenna gain value"; + type uint8 { + range "0..10"; + } + } + leaf cable-loss { + description + "cable loss value"; + type uint8 { + range "0..10"; + } + } + } + leaf auth-mode { + description + "configure authentication mode"; + type enumeration { + enum client-server { + description + "client and server authentication mode"; + } + enum server { + description + "server authentication mode"; + } + enum sudi { + description + "cisco sudi authentication mode"; + } + } + } + leaf board-bw { + description + "board rx bandwidth in HZ"; + type uint32 { + range "0..20000000"; + } + } + leaf board-freq { + description + "board center frequency in HZ"; + type uint32 { + range "400000000..950000000"; + } + } + leaf country { + description + "country code name"; + type string { + length "1..20"; + } + } + container cpf { + description + "enable or disable common packet forwarder (cpf)"; + leaf enable { + description + "enable cpf"; + must '../../lns-ip and ../../lns-port' { + error-message "cpf enable depends on lns-ip and lns-port"; + } + type empty; + } + } + leaf gateway-id { + description + "Gateway ID used for CPF"; + type string { + length "1..32"; + } + } + container gps { + description + "configure gps for CPF"; + leaf enable { + description + "enables CPF to utilize GPS signal"; + type empty; + } + } + leaf lns-ip { + description + "lora network server IP Address"; + type inet:ipv4-address; + } + leaf lns-name { + description + "lora network server FQDN name"; + type string { + length "1..50"; + } + } + leaf lns-port { + description + "lora network server port number"; + type uint16 { + range "1..65535"; + } + } + container log-level-values { + description + "configure cpf log level"; + leaf log-level { + description + "log level"; + type enumeration { + enum debug { + description + "log level debug"; + } + enum info { + description + "log level info"; + } + enum xdebug { + description + "log level xdebug"; + } + } + } + leaf lines { + description + "lines"; + type uint8 { + range "1..255"; + } + } + } + leaf region-channel-plan { + description + "region channel plan code"; + type string { + length "1..10"; + } + } + container tls-sni { + description + "configure TLS SNI feature"; + leaf enable { + description + "use TLS_SNI to connect to LNS"; + type empty; + } + } + } + } + + grouping config-interface-lorawan-grouping { + container common-packet-forwarder { + description + "Common Packet Forwarder(cpf)"; + uses config-cpf-grouping; + } + } + + augment "/ios:native/ios:interface/ios:LORAWAN" { + uses config-interface-lorawan-grouping { + if-feature "ios-features:lorawan"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-lte450.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-lte450.yang new file mode 100644 index 000000000..5fa8441c4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-lte450.yang @@ -0,0 +1,158 @@ +module Cisco-IOS-XE-lte450 { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-lte450"; + prefix ios-lte450; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE LTE450 Yang model to support + LTE450 configuration commands. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved"; + + revision 2023-11-01 { + description + "Added credentials for logging into LTE450 modem"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-07-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-interface-lte450-grouping { + container lte450 { + container credential { + description + "LTE450 modem login credential"; + leaf username { + description + "Login username"; + type string; + } + container password { + description + "Login password"; + leaf encryption { + description + "0 - Specifies an UNENCRYPTED key will follow + 6 - Specifies an ENCRYPTED key will follow + 7 - Specifies an HIDDEN password will follow"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf key { + type string; + } + } + } + leaf band { + description + "Band"; + type enumeration { + enum 31 { + value 31; + } + enum 72 { + value 72; + } + } + } + list profile { + description + "LTE profile management commands"; + key "id"; + leaf id { + description + "Profile identification number configuration"; + type uint8 { + range "1..3"; + } + } + leaf apn { + description + "Access point name configuration"; + type string; + } + leaf authentication { + description + "Select authentication type"; + type enumeration { + enum chap; + enum none; + enum pap; + } + } + leaf username { + description + "Username"; + when "../authentication and not(../authentication = 'none')"; + type string; + } + leaf password { + description + "Password"; + when "../authentication and not(../authentication = 'none')"; + type string; + } + leaf pdn-type { + description + "Select PDN type"; + type enumeration { + enum ipv4; + enum ipv4v6; + enum ipv6; + } + } + leaf vlan { + description + "APN profile VLAN ID"; + type uint16 { + range "1..4094"; + } + } + leaf status { + when '../id and not(../id = 1)'; + type enumeration { + enum enable; + enum disable; + } + } + } + leaf dhcp-default-gateway { + description + "DHCP default gateway setting"; + type enumeration { + enum assign; + enum dont-assign; + } + } + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-lte450-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-macsec-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-macsec-oper.yang new file mode 100644 index 000000000..835593bbb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-macsec-oper.yang @@ -0,0 +1,265 @@ +module Cisco-IOS-XE-macsec-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-macsec-oper"; + prefix macsec-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MACSEC protocol operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + "Adding support for byte counters"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping macsec-txscsa-info { + description + "Transmit Secure Channel and Secure Association Information"; + leaf sci { + type string; + description + "Transmit Secure Channel Identifier. + Every Transmit Channel is uniquely identified using this field."; + } + leaf sc-auth-only-pkts { + type uint64; + description + "Transmit Secure Channel Authenticated only Packets counter. + This counter accumulates the data of Secure Association authenticated + only packets counter on every rekey."; + } + leaf sc-encrypt-pkts { + type uint64; + description + "Transmit Secure Channel Encrypted Packets counter. + This counter accumulates the data of Secure Association Encrypted + (which are authenticated as well) packets counter on every rekey."; + } + leaf sa-auth-only-pkts { + type uint64; + description + "Transmit Secure Association Authenticated Packets only counter. + This counter gets incremented when the packet going out from the + interface is authenticated only and not encrypted."; + } + leaf sa-encrypt-pkts { + type uint64; + description + "Transmit Secure Association Encrypted Packets counter. + This counter gets incremented when the packet going out from the + interface is authenticated and encrypted."; + } + leaf sc-auth-only-bytes { + type uint64; + description + "Transmit Secure Channel Authenticated only Bytes counter. + This counter accumulates the data of Secure Association authenticated + only bytes counter on every rekey."; + } + leaf sc-encrypted-bytes { + type uint64; + description + "Transmit Secure Channel Encrypted Bytes counter. + This counter accumulates the data of Secure Association Encrypted + (which are authenticated as well) bytes counter on every rekey."; + } + leaf sa-auth-only-bytes { + type uint64; + description + "Transmit Secure Association Authenticated only Bytes counter. + This counter gets incremented when the byte going out from the + interface is authenticated only and not encrypted."; + } + leaf sa-encrypted-bytes { + type uint64; + description + "Transmit Secure Association Encrypted Bytes counter. + This counter gets incremented when the byte going out from the + interface is authenticated and encrypted."; + } + } + + grouping macsec-rxscsa-info { + description + "Receive Secure Channel and Secure Association Information"; + leaf sci { + type string; + description + "Receive Secure Channel Identifier. + Every Receive Channel is uniquely identified using this field."; + } + leaf sc-notvalid-pkts { + type uint64; + description + "Receive Secure Channel Not Valid Packets counter. + This counter accumulates the data of Receive Secure Association Not + Valid packets counter on every rekey."; + } + leaf sc-valid-pkts { + type uint64; + description + "Receive Secure Channel Valid Packets counter. + This counter accumulates the data of Receive Secure Association Valid + packets counter on every rekey."; + } + leaf sc-late-pkts { + type uint64; + description + "Receive Secure Channel Late Packets counter. + This counter accumulates the late packets every rekey if replay protect + is enabled."; + } + leaf sc-delay-pkts { + type uint64; + description + "Receive Secure Channel Delayed Packets counter. + This counter accumulates the delayed packets every rekey if replay + protect is not enabled."; + } + leaf sa-notvalid-pkts { + type uint64; + description + "Receive Secure Association Not Valid Packets counter. + This counter gets incremented if the integrity check fails + for incoming packet."; + } + leaf sa-valid-pkts { + type uint64; + description + "Receive Secure Association Valid Packets counter. + This counter gets incremented if the incoming packet is Valid."; + } + leaf sc-validated-bytes { + type uint64; + description + "Receive Secure Channel Validated bytes counter. + This counter accumulates the data of Receive Secure Association Validated + bytes counter on every rekey."; + } + leaf sc-decrypted-bytes { + type uint64; + description + "Receive Secure Channel decrypted bytes counter. + This counter accumulates the data of Receive Secure Association decrypted + bytes (which are validated also) counter on every rekey."; + } + leaf sa-validated-bytes { + type uint64; + description + "Receive Secure Association Validated Bytes counter. + This counter gets incremented if the incoming byte is Validated only."; + } + leaf sa-decrypted-bytes { + type uint64; + description + "Receive Secure Association decrypted Bytes counter. + This counter gets incremented if the incoming byte is both decrypted and + Validated."; + } + } + + grouping macsec-statistics { + description + "MACSEC Interface Statistics"; + leaf if-name { + type string; + description + "Interface Name"; + } + leaf tx-untag-pkts { + type uint64; + description + "MACSEC interface level Transmit Untagged Packets counter. + This counter will increment if MACSEC is enabled on interface and + out going packet is not tagged with MACSEC header."; + } + leaf rx-notag-pkts { + type uint64; + description + "MACSEC interface level Receive No Tag Packets counter. + This counter will increment if MACSEC is enabled on interface and + incoming packet does not have MACSEC tag."; + } + leaf rx-badtag-pkts { + type uint64; + description + "MACSEC interface level Receive Bad Tag Packets counter. + This counter will increment if MACSEC is enabled on interface and + incoming packet has incorrect MACSEC tag."; + } + leaf rx-unknownsci-pkts { + type uint64; + description + "MACSEC interface level Receive Unknown SCI Packets counter. + This counter will increment if MACSEC is enabled on interface and + SCI present in MACSEC tag of the incoming packet does not match any + SCI present in ingress SCI table in switch."; + } + leaf rx-nosci-pkts { + type uint64; + description + "MACSEC interface level Receive No SCI Packets counter. + This counter will increment if MACSEC is enabled on interface and + incoming packet does not have SCI field in MACSEC tag."; + } + list macsec-tx-scsa-info { + key "sci"; + description + "Transmit Secure Channels and Secure Association Statistics"; + uses macsec-ios-xe-oper:macsec-txscsa-info; + } + list macsec-rx-scsa-info { + key "sci"; + description + "Receive Secure Channels and Secure Association Statistics"; + uses macsec-ios-xe-oper:macsec-rxscsa-info; + } + } + + container macsec-oper-data { + config false; + description + "Operational state of MACSEC"; + list macsec-statistics { + key "if-name"; + description + "MACSEC Statistics"; + uses macsec-ios-xe-oper:macsec-statistics; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-events.yang new file mode 100644 index 000000000..32aafb1c6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-events.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XE-matm-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-matm-events"; + prefix matm-ios-xe-events; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG Definitions + for MATM event notification. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mac-flap-interface-event { + description + "MAC flap event"; + leaf prev-port-name { + type string; + description + "The port name of the previous interface MAC is learnt"; + } + leaf new-port-name { + type string; + description + "The port name of the new interface MAC is learnt"; + } + leaf vlan-id { + type uint16; + description + "VLAN identifier associated with the port"; + } + leaf client-mac { + type yang:mac-address; + description + "MAC address which is flapped between ports"; + } + } + + notification mac-flap-intf-event { + description + "MAC flap event notification"; + uses matm-ios-xe-events:mac-flap-interface-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-oper.yang new file mode 100644 index 000000000..4ee624379 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-matm-oper.yang @@ -0,0 +1,189 @@ +module Cisco-IOS-XE-matm-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-matm-oper"; + prefix matm-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MATM (MAC Address Translation Manager) information. + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-01-09 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef e-matm-table-type { + type enumeration { + enum mat-vlan { + value 1; + description + "MAC address table type is VLAN"; + } + enum mat-vlan-independent { + value 4; + description + "MAC address table type is VLAN independent"; + } + enum mat-l3if { + value 5; + description + "MAC address table type is L3"; + } + enum mat-vlan-table { + value 6; + description + "Placeholder to identify the max for the MATM table type"; + } + } + description + "MAC address table type"; + } + + typedef e-matm-addr-type { + type enumeration { + enum static { + value 0; + description + "Static MAC address type"; + } + enum dynamic { + value 1; + description + "Dynamic MAC address type"; + } + enum any { + value 2; + description + "All other MAC address types"; + } + } + description + "Type of MAC address"; + } + + grouping matm-table-key { + description + "Unique MATM entries identifier"; + leaf table-type { + type matm-ios-xe-oper:e-matm-table-type; + description + "MATM table type"; + } + leaf vlan-id-number { + type uint32; + description + "MATM VLAN id"; + } + } + + grouping matm-mac-key { + description + "Unique MAC entry identifier"; + leaf table-type { + type matm-ios-xe-oper:e-matm-table-type; + description + "MATM table type"; + } + leaf vlan-id-number { + type uint32; + description + "VLAN id associated with MAC entry. + When table type is vlan-independent the + vlan id is not used and it is set to 1"; + } + leaf mac { + type yang:mac-address; + description + "MAC associated with the VLAN "; + } + } + + grouping matm-mac-param { + description + "MAC address parameters"; + leaf mat-addr-type { + type matm-ios-xe-oper:e-matm-addr-type; + description + "MAC address type associated with this MAC entry"; + } + leaf port { + type string; + description + "Port associated with the MAC entry"; + } + leaf vlan-all { + type empty; + description + "Indicates all VLAN associated with this MAC entry"; + } + } + + grouping matm-table-param { + description + "MATM operational entry details"; + leaf aging-time { + type uint32; + units "seconds"; + description + "Aging time associated with the VLAN"; + } + list matm-mac-entry { + key "table-type vlan-id-number mac"; + description + "Lists all MAC entries associated with this VLAN"; + uses matm-ios-xe-oper:matm-mac-param; + uses matm-ios-xe-oper:matm-mac-key; + } + } + + container matm-oper-data { + config false; + description + "Data nodes for MAC address table information"; + list matm-table { + key "table-type vlan-id-number"; + description + "MAC address table state information"; + uses matm-ios-xe-oper:matm-table-param; + uses matm-ios-xe-oper:matm-table-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mcast-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mcast-events.yang new file mode 100644 index 000000000..0f3f9ee5f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mcast-events.yang @@ -0,0 +1,114 @@ +module Cisco-IOS-XE-mcast-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mcast-events"; + prefix mcast-ios-xe-events; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for multicast events data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef pim-nbr-state { + type enumeration { + enum pim-nbr-up { + value 0; + description + "PIM neighbor state is up"; + } + enum pim-nbr-down { + value 1; + description + "PIM neighbor state is down"; + } + } + description + "PIM neighbor state"; + } + + grouping pim-nbr-state-event { + description + "PIM neighbor state change event"; + leaf severity { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name of the device"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP of the device"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf nbr-addr { + type inet:ip-address; + description + "Neighbor address"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the + default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the type is + net-inst-default, the name is not meaningful"; + } + leaf state { + type mcast-ios-xe-events:pim-nbr-state; + description + "Neighbor state"; + } + } + + notification pim-nbr-state-event { + description + "PIM neighbor state change notification"; + uses mcast-ios-xe-events:pim-nbr-state-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdns-gateway.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdns-gateway.yang new file mode 100644 index 000000000..8f539e08f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdns-gateway.yang @@ -0,0 +1,2003 @@ +module Cisco-IOS-XE-mdns-gateway { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdns-gateway"; + prefix ios-mdns; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-vlan { + prefix ios-vlan; + } + import Cisco-IOS-XE-switch { + prefix ios-sw; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native MDNS Gateway Yang Model. + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added yang support for query threshold + - Added default value for statistics and service-cache"; + cisco-semver:module-version "5.3.0"; + } + revision 2023-11-01 { + description + "- Added yang support for remote cache CLIs"; + cisco-semver:module-version "5.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "5.1.0"; + } + revision 2022-07-01 { + description + "- Added yang support for service receive purge and query response models + - Added default support for active response timer + - Added support for cli service-record-ttl + - Added support for location under global mdns gateway for wireless"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-03-01 { + description + "- Added yang support for wired service-policy for mDNS flex profiles"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "- Initial revision for 17.7.1 + - Added yang support for service-zone feature + - Added yang support for controller service-policy feature + - Added source-interface support under OUT service-list"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-07-01 { + description + "- Split service counts and timers into switch and wireless groupings + - Added yang support for BCP ipv6 support + - Added yang support for match all in mdns-sd service-list + - Changed active-query time to minutes in global and under vlan configuration + - Added yang support service-mdns-query in global mdns-sd gateway"; + cisco-semver:module-version "4.0.0"; + } + revision 2021-03-01 { + description + "- Added config restrictions for MDNS sd switch ethernet interfaces"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added must restrictions for mode service-peer"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "- Added Yang support for 13 mDNS CLIs (BGP-EVPN) + - Marked two nodes as obsolete + - Added support for flex-profile CLI + - Added 9991 as default port for controller-port + - Added Yang support for micro location + - Prepend switchport-config to switchport"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Added Yang support for all mDNS CLIs + - Added regex config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-29 { + description + "Corrected service-definition description + and added additional checks in service-list"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-07 { + description + "Initial revision"; + } + + grouping mdns-sd-gateway-common-global-grouping { + leaf sdg-agent { + description + "Configure Service Discovery Gateway agent IPv4 address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + container source-interface { + description + "Configure source interface to communicate with Service Discovery Gateway agent"; + uses ios-ifc:interface-grouping; + } + container any-query { + description + "Any Query configurations."; + leaf forward { + description + "Enable any query forward to service discovery gateway + agent."; + type empty; + } + } + container active-response { + description + "Active-response configurations"; + leaf timer { + description + "Configure timer for cache active response timer"; + type uint16 { + range "5..60"; + } + default "15"; + } + } + container mode { + description + "To select mode for mdns-sd gateway"; + status obsolete; + choice mode-type { + status obsolete; + leaf service-peer { + status obsolete; + description + "To enable mdns gateway in service-peer mode"; + must "(../../service-announcement-count='50') and + (../../service-announcement-timer/periodicity='30') and + (../../service-query-count='50') and + (../../service-query-timer/periodicity='15')" { + error-message "Service counts and timers should be set to default"; + } + type empty; + } + leaf sdg-agent { + status obsolete; + description + "To enable mdns gateway in service discovery gateway agent mode"; + if-feature "ios-features:mdns-switch"; + type empty; + } + } + } + leaf service-announcement-count { + status obsolete; + description + "Maximum Advertisements"; + must "((../mode/service-peer) and (current() <= + (../service-announcement-timer/periodicity * 20))) or + (not(../mode/service-peer))"; + type uint16 { + range "10..500"; + } + default "50"; + } + container service-announcement-timer { + status obsolete; + description + "Advertisement announcement timer periodicity in seconds"; + leaf periodicity { + status obsolete; + must "((../../mode/service-peer) and (../../service-announcement-count <= + (current() * 20))) or + (not(../../mode/service-peer))"; + type uint16 { + range "5..36000"; + } + default "30"; + } + } + leaf service-query-count { + status obsolete; + description + "Maximum Queries"; + must "((../mode/service-peer) and (current() <= + (../service-query-timer/periodicity * 20))) or + (not(../mode/service-peer))"; + type uint16 { + range "10..500"; + } + default "50"; + } + container service-query-timer { + status obsolete; + description + "Query Forward timer periodicity"; + leaf periodicity { + status obsolete; + must "((../../mode/service-peer) and (../../service-query-count <= + (current() * 20))) or + (not(../../mode/service-peer))"; + type uint16 { + range "5..36000"; + } + default "15"; + } + } + leaf service-mdns-query { + description + "mDNS Query request message processing"; + type enumeration { + enum all; + enum ptr; + } + default "ptr"; + } + container active-query-global { + description + "mDNS Global Active Query"; + leaf timer { + description + "Active Query Periodicity in Minutes"; + type uint16 { + range "1..120"; + } + default "30"; + } + } + leaf service-record-ttl { + description + "Select mode for setting Service Record TTL"; + type enumeration { + enum enhanced; + enum original; + } + default "enhanced"; + } + container service-receiver-purge { + description + "mDNS service-receiver-purge timer configuration"; + leaf timer { + description + "Specify the timer value"; + type uint16 { + range "30..4500"; + } + default "120"; + } + } + container query-response { + description + "mDNS Query Response mode"; + leaf mode { + description + "query-response mode"; + must "(not ((current() = 'on-demand') and (../../active-response/timer!=15)))" { + error-message + "%Error: active-response timer is not applicable in on-demand mode. + Please remove active-response timer (‘no active-response timer’) before changing to on-demand mode."; + } + type enumeration { + enum recurring; + enum on-demand; + } + default "recurring"; + } + leaf threshold { + description + "Threshold count for MDNS query-response handling."; + type uint16 { + range "5..250"; + } + default "30"; + units "number of responses"; + } + } + leaf remote-cache-enable { + if-feature "ios-features:mdns-switch"; + description + "Cache the remote responses from controller"; + type boolean; + default "true"; + } + leaf remote-cache-max-limit { + if-feature "ios-features:mdns-switch"; + description + "Max entries for the remote cache response DB"; + type uint16 { + range "100..3000"; + } + default "1000"; + } + leaf remote-cache-purge-timer { + if-feature "ios-features:mdns-switch"; + description + "Purge timer for the remote cache response DB"; + type uint16 { + range "30..3600"; + } + default "300"; + } + } + + grouping mdns-sd-service-policy-ewlc-grouping { + leaf location { + description + "mDNS Location Based Filtering"; + type enumeration { + enum lss; + enum site-tag; + enum ssid; + enum ap-name; + enum ap-location; + enum regex; + enum location-group; + } + } + leaf regex-which { + description + "Regex based location filter"; + when "../location='regex'"; + type enumeration { + enum ap-name; + enum ap-location; + } + } + leaf regex-str { + description + "Regex string for location filter"; + when "(../location='regex') and (../regex-which)"; + type string { + length "1..164"; + } + } + } + + grouping mdns-sd-gateway-ewlc-global-grouping { + container mode-wireless { + description + "To select mode for mdns-sd gateway on wireless"; + leaf mode { + description + "To enable mdns gateway in service-peer mode"; + type enumeration { + enum service-peer; + } + } + } + container srv-ct-wireless { + description + "To set service count and timer values for wireless"; + leaf service-announcement-count { + description + "Maximum Advertisements"; + must "((../../mode-wireless/mode='service-peer') and (current() <= (../service-announcement-timer/periodicity * 20))) or + (not(../../mode-wireless/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "10..500"; + } + default "50"; + } + container service-announcement-timer { + leaf periodicity { + must "((../../../mode-wireless/mode='service-peer') and (../../service-announcement-count <= (current() * 20))) or + (not(../../../mode-wireless/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "5..36000"; + } + default "30"; + } + } + leaf service-query-count { + description + "Maximum Queries"; + must "((../../mode-wireless/mode='service-peer') and (current() <= (../service-query-timer/periodicity * 20))) or + (not(../../mode-wireless/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "10..500"; + } + default "50"; + } + container service-query-timer { + leaf periodicity { + must "((../../../mode-wireless/mode='service-peer') and (../../service-query-count <= (current() * 20))) or + (not(../../../mode-wireless/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "5..36000"; + } + default "15"; + } + } + } + container active-query { + status obsolete; + description + "mDNS Global Active Query"; + leaf timer { + status obsolete; + description + "Active Query Periodicity in Minutes"; + type uint16 { + range "15..120"; + } + default "30"; + } + } + container mdns-ap-service-policy { + description + "mDNS service policy for mDNS-AP"; + leaf sp-name { + description + "mdns service policy name for mdns AP"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-policy/ios-mdns:service-policy-name"; + } + } + } + leaf transport { + description + "mDNS message processing on a specific transport"; + type enumeration { + enum both; + enum ipv4; + enum ipv6; + } + default "ipv4"; + } + container wireless-global-location { + description + "global gateway location config"; + uses mdns-sd-service-policy-ewlc-grouping { + refine "location" { + default "lss"; + } + } + } + } + + grouping mdns-sd-gateway-switch-global-grouping { + container mode-switch { + description + "To select mode for mdns-sd gateway on switch"; + leaf mode { + description + "To enable mode for mdns-sd gateway"; + type enumeration { + enum service-peer; + enum sdg-agent; + } + default "sdg-agent"; + } + } + container srv-ct-switch { + description + "To set service count and timer values for switch"; + leaf service-announcement-count { + description + "Maximum Advertisements"; + must "((../../mode-switch/mode='service-peer') and (current() <= (../service-announcement-timer/periodicity * 20))) or + (not(../../mode-switch/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "10..500"; + } + default "50"; + } + container service-announcement-timer { + leaf periodicity { + must "((../../../mode-switch/mode='service-peer') and (../../service-announcement-count <= (current() * 20))) or + (not(../../../mode-switch/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "5..36000"; + } + default "30"; + } + } + leaf service-query-count { + description + "Maximum Queries"; + must "((../../mode-switch/mode='service-peer') and (current() <= (../service-query-timer/periodicity * 20))) or + (not(../../mode-switch/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "10..500"; + } + default "50"; + } + container service-query-timer { + leaf periodicity { + must "((../../../mode-switch/mode='service-peer') and (../../service-query-count <= (current() * 20))) or + (not(../../../mode-switch/mode='service-peer'))" { + error-message "%Error: The count and timer should be within range in mode service-peer (count <= timer*20)"; + } + type uint16 { + range "5..36000"; + } + default "15"; + } + } + } + leaf air-print-helper { + description + "Enable or Disable Air Print Helper functionality"; + type enumeration { + enum enable; + enum disable; + } + default "disable"; + } + leaf cache-memory-max { + description + "Configure the percentage memory for cache"; + type uint16 { + range "10..100"; + } + } + container ingress-client { + description + "Ingress Client Packet Tuners"; + container query-reply { + description + "query reply count"; + when '/ios:native/ios-mdns:service-export/ios-mdns:mdns-sd/ios-mdns:controller'; + leaf service-count { + description + "service count for a query at once"; + type uint16 { + range "10..200"; + } + } + } + container query-suppression { + description + "Ingress Query Suppression"; + leaf enable { + description + "Enable Ingress Query Suppression"; + type empty; + } + leaf packet-gap { + description + "Response frequency for a query"; + type uint16 { + range "5..60"; + } + } + } + } + leaf rate-limit { + description + "Enable rate limiting of incoming mDNS packets"; + type uint16 { + range "1..1000"; + } + } + container service-type-enumeration { + leaf period { + description + "Service Enumeration period in minutes"; + type uint16 { + range "15..60"; + } + } + } + container cache-sync { + description + "To send cache-sync event towards mDNS service-peer"; + leaf timer { + description + "Specify timer value"; + type uint16 { + range "15..600"; + } + units "minutes"; + } + } + } + + grouping mdns-sd-ewlc-global-grouping { + container location-filter-wireless { + list location-filter { + key "loc-fil-name"; + leaf loc-fil-name { + description + "mDNS Location Filter Name"; + type string; + must "not(.='default-mdns-location-filter')" { + error-message "Error: Can't config/unconfig location-filter with name 'default-mdns-location-filter'"; + } + } + container match { + presence "true"; + list location-group { + key "lg-id"; + leaf lg-id { + must '../role/roles or ../role/none or ../role/all'; + type union { + type enumeration { + enum default; + enum all; + } + type uint16 { + range "1..4096"; + } + } + } + container role { + description + "Specify role for location-group to filter"; + leaf-list roles { + must 'not(../all)'; + type string { + length "1..164"; + } + } + leaf none { + must 'not(../all)'; + type empty; + } + leaf all { + must 'not(../roles) and not(../none)'; + type empty; + } + } + } + } + } + } + list flex-profile { + description + "mdns-sd flex-profile configuration"; + key "name"; + leaf name { + description + "mDNS Flex profile name"; + type string; + } + container update-timer { + description + "mDNS Update timers for flex profile"; + leaf service-cache { + description + "mDNS service cache update timer"; + type uint16 { + range "1..100"; + } + default "1"; + } + leaf statistics { + description + "mDNS statistics update timer"; + type uint16 { + range "1..100"; + } + default "1"; + } + } + leaf-list wired-vlan-range { + description + "mDNS Flex profile wired vlan filter range"; + max-elements 16; + type uint16 { + range "1..4094"; + } + } + leaf wired-service-policy { + description + "mDNS Flex profile wired service policy"; + must '/ios:native/ios-mdns:mdns-sd/ios-mdns:service-policy[ios-mdns:service-policy-name=current()]' { + error-message "%Error: service-policy does not exist"; + } + type string { + length "1..164"; + } + } + } + list wired-filter { + key "wired-filter-name"; + leaf wired-filter-name { + description + "mDNS Wired Filter Name"; + type string; + } + container match { + leaf-list mac { + description + "mDNS Service provider MAC address"; + type ios-types:cisco-mac-address-type; + } + leaf-list vlan { + description + "mDNS vlan number or vlan range, example: 1,3-5,7,9-11"; + type uint16 { + range "1..4094"; + } + } + } + } + } + + grouping mdns-sd-switch-global-grouping { + container service-peer-conf { + description + "mDNS service-peer command"; + container service-peer { + when "(../../gateway/mode-switch/mode='sdg-agent')"; + container group { + description + "mDNS service-peer group command"; + list peer-group { + description + "Service peer group ID number"; + key "id"; + leaf id { + type uint16 { + range "1..1000"; + } + } + list service-peer { + key "ip"; + leaf ip { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string; + } + } + container location-group-obsolete { + status obsolete; + leaf location-group-number { + status obsolete; + must 'not(../all)'; + type uint16 { + range "1..4096"; + } + } + leaf all { + status obsolete; + must 'not(../location-group-number)'; + type empty; + } + leaf default { + status obsolete; + type empty; + } + } + list location-group { + key "lg-num"; + leaf lg-num { + must '../role/roles or ../role/none or ../role/all'; + type union { + type enumeration { + enum default; + enum all; + } + type uint16 { + range "1..4096"; + } + } + } + container role { + description + "Specify user role"; + leaf-list roles { + must 'not(../all)'; + type string { + length "1..164"; + } + } + leaf none { + must 'not(../all)'; + type empty; + } + leaf all { + must 'not(../roles) and not(../none)'; + type empty; + } + } + } + } + list service-policy { + description + "mDNS service policy"; + key "policy-name"; + leaf policy-name { + must '/ios:native/ios-mdns:mdns-sd/ios-mdns:service-policy[ios-mdns:service-policy-name=current()]' { + error-message "% service-policy does not exist"; + } + type string; + } + } + } + } + } + } + container service-peer { + status obsolete; + description + "This node is obsolete and replaced by service-peer-conf"; + list group { + status obsolete; + key "service-peer-grp-name"; + leaf service-peer-grp-name { + status obsolete; + type string; + } + list service-peer-grp-id { + status obsolete; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..1000"; + } + } + list service-peer { + status obsolete; + key "ip"; + leaf ip { + status obsolete; + type union { + type inet:ipv4-address; + type string; + } + } + container service-group { + status obsolete; + leaf-list service-group-number { + status obsolete; + must 'not(../all)'; + type union { + type enumeration { + enum default; + } + type uint16 { + range "1..64"; + } + } + } + leaf all { + status obsolete; + must 'not(../service-group-number)'; + type empty; + } + } + } + } + } + } + list location-group { + description + "Configure mDNS location group"; + key "location-grp-id"; + leaf location-grp-id { + description + "Enter location group number"; + type uint16 { + range "1..4096"; + } + } + list vlan { + description + "enter vlan number"; + key "vlan-id"; + leaf vlan-id { + description + "vlan id"; + must '(/ios:native/ios:vlan/ios-vlan:configuration-entry[ios-vlan:vlan-id=current()]/ios-mdns:mdns-sd/ios-mdns:gateway)' { + error-message "Snooping must be enabled for the vlan"; + } + type uint16 { + range "1..4096"; + } + } + leaf description { + description + "Location Group description"; + type string; + } + container interface { + description + "Add interfaces to location-group"; + uses ios-ifc:interface-grouping; + } + } + } + list location-filter { + key "loc-fil-name"; + leaf loc-fil-name { + description + "mDNS Location Filter Name"; + type string; + must "not(.='default-mdns-location-filter')" { + error-message "Error: Can't config/unconfig location-filter with name 'default-mdns-location-filter'"; + } + } + container match { + presence "true"; + container loc_grp_configured { + status obsolete; + leaf location-group { + status obsolete; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:location-group/ios-mdns:location-grp-id"; + } + } + leaf vlan { + status obsolete; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:location-group[ios-mdns:location-grp-id = current()/../location-group]/ios-mdns:vlan/ios-mdns:vlan-id"; + } + } + } + container loc_grp_all { + status obsolete; + leaf location-group { + status obsolete; + type empty; + } + leaf all { + status obsolete; + type empty; + } + leaf vlan { + status obsolete; + must 'not(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter/ios-mdns:match/ios-mdns:loc_grp_configured/ios-mdns:vlan = current() or /ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter/ios-mdns:match/ios-mdns:loc_grp_default/ios-mdns:vlan = current())' { + error-message "%Error: location-group 'all' is allowed only if none of the location-groups are configured for the vlan"; + } + type uint16 { + range "1..4096"; + } + } + } + container loc_grp_default { + status obsolete; + leaf location-group { + status obsolete; + type empty; + } + leaf default { + status obsolete; + type empty; + } + leaf vlan { + status obsolete; + must 'not(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter/ios-mdns:match/ios-mdns:loc_grp_all/ios-mdns:vlan = current())' { + error-message "%Error: location-group 'all' is already configured, cannot configure location-group"; + } + type uint16 { + range "1..4096"; + } + } + } + list location-group { + key "lg-id"; + leaf lg-id { + must "(current() = 'default' or current() = 'all' or + (/ios:native/ios-mdns:mdns-sd/ios-mdns:location-group[ios-mdns:location-grp-id = current()]))"; + type union { + type enumeration { + enum default; + enum all; + } + type uint16 { + range "1..4096"; + } + } + } + list vlan { + key "vlan-id"; + leaf vlan-id { + must '../role/roles or ../role/none or ../role/all'; + must "(current()/../../lg-id = 'default') or + (current()/../../lg-id = 'all') or + (/ios:native/ios-mdns:mdns-sd/ios-mdns:location-group[ios-mdns:location-grp-id = current()/../../lg-id]/ios-mdns:vlan/ios-mdns:vlan-id) = current()"; + must "((current()/../../lg-id = 'default') or + (/ios:native/ios-mdns:mdns-sd/ios-mdns:location-group[ios-mdns:location-grp-id = current()/../../lg-id]/ios-mdns:vlan/ios-mdns:vlan-id) = current()) and + (not (/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter[ios-mdns:loc-fil-name = current()/../../../../loc-fil-name]/ios-mdns:match/ios-mdns:location-group[ios-mdns:lg-id = 'all'] and + /ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter[ios-mdns:loc-fil-name = current()/../../../../loc-fil-name]/ios-mdns:match/ios-mdns:location-group[ios-mdns:lg-id = 'all']/ios-mdns:vlan[ios-mdns:vlan-id = current()])) or + current()/../../lg-id = 'all'"; + type uint16 { + range "1..4096"; + } + } + container role { + description + "Specify role for location-group to filter"; + leaf-list roles { + must 'not(../all)'; + type string { + length "1..164"; + } + } + leaf none { + must 'not(../all)'; + type empty; + } + leaf all { + must 'not(../roles) and not(../none)'; + type empty; + } + } + } + } + } + } + list service-group { + description + "Configure mDNS service group"; + key "service-group-number"; + leaf service-group-number { + description + "Enter service group number"; + type uint8 { + range "1..64"; + } + } + list vlan { + description + "vlan number"; + max-elements 1; + key "vlan"; + leaf vlan { + description + "vlan id"; + must '(/ios:native/ios:vlan/ios-vlan:configuration-entry[ios-vlan:vlan-id=current()]/ios-mdns:mdns-sd/ios-mdns:gateway)' { + error-message "Snooping must be enabled for the vlan"; + } + type uint16 { + range "1..4096"; + } + } + container interface { + description + "Add interfaces to service-group"; + uses ios-ifc:interface-grouping; + } + } + } + container controller { + description + "mDNS controller config"; + list service-policy { + description + "controller service policy"; + key "name"; + leaf name { + description + "controller service-policy name"; + must "not(.='default-mdns-ctrl-srv-policy')" { + error-message "Error: Can't config/unconfig ctrl service-policy with name 'default-mdns-ctrl-srv-policy'"; + } + type string { + length "1..164"; + } + } + leaf service-list { + description + "mDNS controller service list"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:controller/ios-mdns:service-list/ios-mdns:name"; + } + } + } + list service-list { + description + "controller service list"; + key "name"; + leaf name { + description + "controller service list name"; + must "not(.='default-mdns-ctrl-srv-list')" { + error-message "Error: Can't config/unconfig ctrl service-list with name 'default-mdns-ctrl-srv-list'"; + } + type string { + length "1..164"; + } + } + container match { + description + "Specify service to match"; + list match-other { + description + "Specify service to match"; + key "name"; + leaf name { + description + "mDNS Service Definition Name"; + type string { + length "1..164"; + } + must "not(.='all')" { + error-message "Error: please use container 'match-all' to configure 'match all'"; + } + } + leaf message-type { + description + "To set the message type"; + type enumeration { + enum any; + enum announcement; + enum query; + } + default "any"; + must "(not((../../match-all/all) and ((../../match-all/message-type='any') or (../../match-all/message-type=.))))" { + error-message "%Error: Service-list already has match entries hence 'match all' not allowed"; + } + } + leaf-list source-interface { + description + "Specify source Vlans for services"; + type uint16 { + range "1..4094"; + } + } + } + container match-all { + description + "Specify service to match"; + leaf all { + description + "mDNS Service Definition Name"; + type empty; + } + leaf message-type { + description + "To set the message type"; + type enumeration { + enum any; + enum announcement; + enum query; + } + default "any"; + when '../all'; + must "(not((../../match-other/message-type='any') or (../../match-other/message-type=.)))" { + error-message "%Error: Service-list in already has 'match all' configured"; + } + } + leaf-list source-interface { + description + "Specify source Vlans for services"; + type uint16 { + range "1..4094"; + } + } + } + } + } + } + } + + grouping mdns-sd-common-global-grouping { + container gateway { + description + "mDNS Gateway Configuration"; + presence "true"; + uses mdns-sd-gateway-switch-global-grouping { + if-feature "ios-features:mdns-switch"; + } + uses mdns-sd-gateway-ewlc-global-grouping { + if-feature "ios-features:mdns-ewlc"; + } + uses mdns-sd-gateway-common-global-grouping; + } + list service-policy { + description + "mDNS Service Policy"; + key "service-policy-name"; + leaf service-policy-name { + description + "mDNS Service Policy Name"; + type string { + length "1..164"; + } + must "not(.='default-mdns-service-policy')" { + error-message "Error: Can't config/unconfig service-policy with name 'default-mdns-service-policy'"; + } + } + uses mdns-sd-service-policy-ewlc-grouping { + if-feature "ios-features:mdns-ewlc"; + } + container service-list-config { + description + "mDNS Service List"; + list in { + description + "IN Bound Filtering"; + key "service-list-name IN"; + leaf service-list-name { + description + "mDNS Service List Name"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-list-config/ios-mdns:in/ios-mdns:service-list-name"; + } + } + leaf IN { + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-list-config/ios-mdns:in/ios-mdns:IN"; + } + } + } + list out { + description + "OUT Bound Filtering"; + key "service-list-name OUT"; + leaf service-list-name { + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-list-config/ios-mdns:out/ios-mdns:service-list-name"; + } + } + leaf OUT { + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-list-config/ios-mdns:out/ios-mdns:OUT"; + } + } + } + } + list service-list { + status obsolete; + key "name"; + leaf name { + status obsolete; + description + "mDNS Service List Name"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/service-list/service-list-name"; + } + } + leaf direction { + status obsolete; + description + "Select Service List Direction IN/OUT"; + type enumeration { + enum IN; + enum OUT; + } + } + } + } + container service-list-config { + description + "mDNS Service List"; + list in { + description + "IN Bound Filtering"; + key "service-list-name IN"; + leaf service-list-name { + description + "mDNS Service List Name"; + type string { + length "1..164"; + } + must "not(.='default-mdns-in-service-list')" { + error-message "%Error: Can't config/unconfig service-list with name 'default-mdns-in-service-list'"; + } + must 'not((../../out[service-list-name=current()]))' { + error-message "%Error: service-list exists with OUT direction"; + } + } + leaf IN { + type enumeration { + enum IN; + } + } + container match { + description + "Specify service to match"; + list match-other { + description + "Specify service to match"; + key "name"; + leaf name { + description + "mDNS Service Definition Name"; + type string { + length "1..164"; + } + must "not(.='all')" { + error-message "Error: please use container 'match-all' to configure 'match all'"; + } + } + leaf message-type { + description + "To set the message type"; + type enumeration { + enum any; + enum announcement; + enum query; + } + default "any"; + must "(not((../../match-all/all) and ((../../match-all/message-type='any') or (../../match-all/message-type=.))))" { + error-message "%Error: Service-list already has match entries hence 'match all' not allowed"; + } + } + } + container match-all { + description + "Specify service to match"; + leaf all { + description + "mDNS Service Definition Name"; + type empty; + } + leaf message-type { + description + "To set the message type"; + type enumeration { + enum any; + enum announcement; + enum query; + } + default "any"; + when '../all'; + must "(not((../../match-other/message-type='any') or (../../match-other/message-type=.)))" { + error-message "%Error: Service-list in already has 'match all' configured"; + } + } + } + } + } + list out { + description + "OUT Bound Filtering"; + key "service-list-name OUT"; + leaf service-list-name { + description + "mDNS Service List Name"; + type string { + length "1..164"; + } + must "not(.='default-mdns-out-service-list')" { + error-message "%Error: Can't config/unconfig service-list with name 'default-mdns-out-service-list'"; + } + must 'not((../../in[service-list-name=current()]))' { + error-message "%Error: service-list exists with IN direction"; + } + } + leaf OUT { + type enumeration { + enum OUT; + } + } + container match { + description + "Specify service to match"; + list match-other { + description + "Specify service to match"; + key "name"; + leaf name { + description + "mDNS Service Definition Name"; + type string { + length "1..164"; + } + must "not(.='all')" { + error-message "Error: Please use the conatiner 'match-all' to configure 'match all'"; + } + must 'not((../../match-all/all))' { + error-message "%Error: Service-list out already has match entries or has 'match all' configured"; + } + } + leaf location-filter { + if-feature "ios-features:mdns-switch"; + description + "Specify location-filter for Switch"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter[ios-mdns:loc-fil-name=current()])' { + error-message "%Error: location filter does not exist"; + } + type string; + } + leaf location-filter-wireless { + if-feature "ios-features:mdns-ewlc"; + description + "Specify location-filter for Wireless Controller"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter-wireless/ios-mdns:location-filter[ios-mdns:loc-fil-name=current()])' { + error-message "%Error: location filter does not exist"; + } + type string; + } + leaf wired-filter { + if-feature "ios-features:mdns-ewlc"; + description + "Specify wired-filter name"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:wired-filter[ios-mdns:wired-filter-name=current()])' { + error-message "%Error: wired filter does not exist"; + } + type string; + } + leaf-list source-interface { + if-feature "ios-features:mdns-switch"; + description + "Specify source Vlans for services"; + type uint16 { + range "1..4094"; + } + } + } + container match-all { + description + "Specify service to match"; + leaf all { + description + "mDNS Service Definition Name"; + type empty; + must '(not(../../match-other/name))' { + error-message "%Error: Service-list out already has match entries or has 'match all' configured"; + } + } + leaf location-filter { + if-feature "ios-features:mdns-switch"; + description + "Specify location-filter for Switch"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter[ios-mdns:loc-fil-name=current()])' { + error-message "%Error: location filter does not exist"; + } + type string; + } + leaf location-filter-wireless { + if-feature "ios-features:mdns-ewlc"; + description + "Specify location-filter for Wireless Controller"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter-wireless/ios-mdns:location-filter[ios-mdns:loc-fil-name=current()])' { + error-message "%Error: location filter does not exist"; + } + type string; + } + leaf wired-filter { + if-feature "ios-features:mdns-ewlc"; + description + "Specify wired-filter name"; + must '(/ios:native/ios-mdns:mdns-sd/ios-mdns:wired-filter[ios-mdns:wired-filter-name=current()])' { + error-message "%Error: wired filter does not exist"; + } + type string; + } + leaf-list source-interface { + if-feature "ios-features:mdns-switch"; + description + "Specify source Vlans for services"; + type uint16 { + range "1..4094"; + } + } + } + } + } + } + list service-list { + status obsolete; + description + "mDNS Service List"; + key "service-list-name"; + leaf service-list-name { + status obsolete; + description + "mDNS Service List Name"; + type string { + length "1..164"; + } + } + list direction { + description + "Direction IN/OUT for mDNS service-list"; + status obsolete; + max-elements 1; + key "dir"; + leaf dir { + status obsolete; + description + "Select direction IN/OUT"; + type enumeration { + enum IN; + enum OUT; + } + } + container IN { + must "../dir = 'IN'" { + error-message "Configuration allowed for IN direction"; + } + description + "IN Bound Filtering"; + status obsolete; + presence "true"; + list match { + status obsolete; + description + "Specify service to match"; + key "name"; + leaf name { + status obsolete; + description + "mDNS Service Definition Name"; + type string { + length "1..164"; + } + } + leaf message-type { + status obsolete; + description + "To set the message type"; + type enumeration { + enum any; + enum announcement; + enum query; + } + default "any"; + } + } + } + container OUT { + must "../dir = 'OUT'" { + error-message "Configuration allowed for OUT direction"; + } + description + "Out Bound Filtering"; + status obsolete; + presence "true"; + list match { + description + "Specify service to match"; + status obsolete; + key "name"; + leaf name { + status obsolete; + type string { + length "1..164"; + } + } + leaf location-filter { + status obsolete; + if-feature "ios-features:mdns-switch"; + description + "Specify location-filter"; + must '/ios:native/ios-mdns:mdns-sd/ios-mdns:location-filter[ios-mdns:loc-fil-name=current()]' { + error-message "% location filter does not exist"; + } + type string; + } + } + } + } + } + list service-definition { + description + "mDNS Service Definition"; + key "name"; + leaf name { + description + "mDNS Service Definition Name"; + type string { + length "1..164"; + } + } + leaf description { + description + "Description of the Custom Service"; + type string { + length "1..164"; + } + } + list service-type { + key "service-type-name"; + leaf service-type-name { + description + "Specify Service-Type String"; + type string { + length "1..164"; + } + } + } + } + } + + grouping config-mdns-sd-grouping { + container mdns-sd { + description + "Configure mDNS Service Discovery"; + uses mdns-sd-common-global-grouping; + uses mdns-sd-switch-global-grouping { + if-feature "ios-features:mdns-switch"; + } + uses mdns-sd-ewlc-global-grouping { + if-feature "ios-features:mdns-ewlc"; + } + } + } + + grouping service-export-grouping { + container service-export { + description + "service export"; + container mdns-sd { + description + "Controller MDNS configuration"; + list controller { + description + "Controller name"; + max-elements 1; + key "controller-name"; + leaf controller-name { + type string { + length "1..164"; + } + } + leaf controller-address { + description + "Controller Address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf controller-port { + description + "Controller port where service need to be exported"; + type uint16 { + range "1..65535"; + } + default "9991"; + } + container controller-service-policy { + description + "Configure Filter to export"; + leaf csp_name { + type string { + length "1..164"; + } + } + leaf OUT { + type empty; + } + } + container controller-source-interface { + description + "Configure Source interface to export services"; + uses ios-ifc:interface-grouping; + } + leaf global-service-buffer { + description + "Global service instance buffer from Controller"; + type enumeration { + enum disable; + enum enable; + } + default "enable"; + } + } + } + } + } + + grouping mdns-sd-gateway-common-intf-vlan-grouping { + container service-policy { + description + "mDNS Service Policy"; + leaf name { + description + "mDNS Service Policy Name"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-policy/ios-mdns:service-policy-name"; + } + } + } + } + + grouping mdns-sd-gateway-switch-common-intf-grouping { + status obsolete; + container active-query { + status obsolete; + description + "mDNS Active Query on interface"; + leaf timer { + status obsolete; + description + "Active Query Periodicity in Sec"; + type uint16 { + range "60..3600"; + } + default "1800"; + } + } + leaf transport { + description + "mDNS message processing on a specific transport"; + status obsolete; + type enumeration { + enum both; + enum ipv4; + enum ipv6; + } + default "both"; + } + leaf service-inst-suffix { + status obsolete; + description + "Configure Service Instance Suffix to append"; + type string { + length "0..10"; + } + } + leaf service-mdns-query { + status obsolete; + description + "mDNS Query request message processing"; + type enumeration { + enum all; + enum ptr; + } + default "ptr"; + } + } + + grouping mdns-sd-gateway-switch-intf-vlan-grouping { + uses mdns-sd-gateway-switch-common-intf-grouping { + status obsolete; + } + container active-query-intf { + description + "mDNS Active Query on interface"; + leaf timer { + description + "Active Query Periodicity in Sec"; + type uint16 { + range "60..3600"; + } + } + } + leaf transport-intf { + description + "mDNS message processing on a specific transport"; + type enumeration { + enum both; + enum ipv4; + enum ipv6; + } + default "both"; + } + leaf service-inst-suffix-intf { + description + "Configure Service Instance Suffix to append"; + type string { + length "1..10"; + } + } + leaf service-mdns-query-intf { + description + "mDNS Query request message processing"; + type enumeration { + enum all; + enum ptr; + } + default "ptr"; + } + } + + grouping mdns-sd-gateway-intf-vlan-grouping { + container mdns-sd { + description + "mDNS Service Discovery configuration under interface vlan"; + container gateway { + description + "mDNS Gateway configuration under interface vlan"; + presence "true"; + uses mdns-sd-gateway-common-intf-vlan-grouping; + uses mdns-sd-gateway-switch-intf-vlan-grouping { + if-feature "ios-features:mdns-switch"; + } + } + } + } + + grouping mdns-sd-switch-vlan-config-grouping { + uses mdns-sd-gateway-common-intf-vlan-grouping; + uses mdns-sd-gateway-switch-common-intf-grouping { + status obsolete; + } + container source-interface { + description + "Configure source interface to communicate with Service Discovery Gateway agent"; + uses ios-ifc:interface-grouping; + } + leaf sdg-agent { + description + "Configure Service Discovery Gateway agent IPv4/IPv6 address"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + container service-peer { + status obsolete; + description + "Configure service-peer group"; + leaf group { + status obsolete; + description + "Configure service-peer group name"; + type leafref { + path "/ios:native/ios-mdns:mdns-sd/ios-mdns:service-peer/ios-mdns:group/ios-mdns:service-peer-grp-name"; + } + } + } + container active-query-vlan { + description + "mDNS Active Query on VLAN"; + leaf timer { + description + "Active Query Periodicity in Minutes"; + type uint16 { + range "1..120"; + } + } + } + leaf transport-vlan { + description + "mDNS message processing on a specific transport"; + type enumeration { + enum both; + enum ipv4; + enum ipv6; + } + default "ipv4"; + } + leaf service-inst-suffix-vlan { + description + "Configure Service Instance Suffix to append"; + type string { + length "1..10"; + } + } + leaf service-mdns-query-vlan { + description + "mDNS Query request message processing"; + type enumeration { + enum all; + enum ptr; + } + } + } + + grouping mdns-sd-vlan-config-grouping { + container mdns-sd { + description + "mDNS config on vlan config"; + container gateway { + description + "Enable mDNS gateway on interface"; + presence "true"; + uses mdns-sd-switch-vlan-config-grouping { + if-feature "ios-features:mdns-switch"; + } + } + } + } + + grouping mdns-sd-switch-eth-intf-grouping { + container mdns-sd { + description + "mDNS commands"; + presence "true"; + leaf trust { + description + "Trust config for not including trunk port in any service-group"; + must '../../ios:switchport-config/ios:switchport/ios-sw:mode/ios-sw:trunk' { + error-message "Error: Not a trunk port, trust config is not allowed"; + } + type empty; + } + } + } + + augment "/ios:native" { + uses config-mdns-sd-grouping; + uses service-export-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses mdns-sd-gateway-intf-vlan-grouping { + if-feature "ios-features:vlan"; + } + } + + augment "/ios:native/ios:vlan/ios-vlan:configuration-entry" { + uses mdns-sd-vlan-config-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses mdns-sd-switch-eth-intf-grouping { + if-feature "ios-features:mdns-switch"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-capabilities-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-capabilities-oper.yang new file mode 100644 index 000000000..66b354485 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-capabilities-oper.yang @@ -0,0 +1,269 @@ +module Cisco-IOS-XE-mdt-capabilities-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-capabilities-oper"; + prefix mdt-caps-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for advertising the notification capabilities of the + system with respect to streaming telemetry on the YANG-Push + stream. + Capabilities can be specified at the system level, or + for specific nodes (and their children) of a specific datastore. + Capabilities specified on a per-node basis override the system + level capabilities. + Capabilities can also vary by the transport that is used to + subscribe for notifications. A node may support a particular + capability in general, but also have transport-specific + exceptions. + If the user wishes to find the value of a capability for a + particular node, they should: + 1) Search for the desired datastore in the + mdt-datastore-capabilities list. + 2) If an entry is found, search for the desired transport in + the mdt-transport-capabilities list (if the transport-specific + capabilities are desired). If the transport is found, iterate + through the per-node-capabilities entries for the transport, + in the order they appear in the list. The first entry that has + an \"is-valid\" leaf for the capability, and has a filter + selecting the desired node, specifies the capability value. + 3) If the capability is not found for the transport (or if the + transport-independent capabilities are desired), iterate through + the per-node-capabilities list for the datastore, in the same + manner as in step 2. + 4) If the capability value is not found, use the system-level + value for the capability, if it has an \"is-valid\" leaf. + 5) If the capability is not found in the previous steps, then the + system does not specify a value for that capability. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mdt-cap-transport-support { + type enumeration { + enum mdt-cap-transport-netconf { + value 0; + description + "NETCONF transport."; + } + enum mdt-cap-transport-gnmi { + value 1; + description + "gNMI transport."; + } + enum mdt-cap-transport-grpc { + value 2; + description + "gRPC transport."; + } + } + description + "Indicates the transports that have exceptions to the + general per-node capabilities."; + } + + typedef mdt-cap-datastore-type { + type enumeration { + enum mdt-cap-ds-running { + value 0; + description + "The running configuration datastore."; + } + } + description + "Indicates the datastore for which capabilities are + specified."; + } + + typedef mdt-cap-notif-support { + type bits { + bit mdt-cap-notif-config { + position 0; + description + "Notifications are supported for config=true + nodes."; + } + bit mdt-cap-notif-state { + position 1; + description + "Notifications are supported for config=false + nodes."; + } + } + description + "Indicates the types of nodes for which notifications are supported. + This can be none, only config=true, only config=false, or all nodes. + This has no effect if it indicates a value which does not apply to + the selected nodes."; + } + + grouping mdt-sub-caps { + description + "Notification capabilities for subscriptions on the + YANG-Push stream."; + leaf periodic-is-valid { + type empty; + description + "When present, periodic notification capabilities + are specified for the selected nodes and their children."; + } + leaf on-change-is-valid { + type empty; + description + "When present, on-change notification capabilities + are specified for the selected nodes and their children."; + } + leaf periodic-supported { + when 'boolean(../periodic-is-valid)'; + type mdt-caps-ios-xe-oper:mdt-cap-notif-support; + description + "Indicates whether periodic notifications are supported + for the selected nodes and their children."; + } + leaf on-change-supported { + when 'boolean(../on-change-is-valid)'; + type mdt-caps-ios-xe-oper:mdt-cap-notif-support; + description + "Indicates whether on-change notifications are supported + for the selected nodes and their children."; + } + } + + grouping mdt-per-node-cap { + description + "Notification capabilities for the nodes selected by a particular + filter, and their children."; + leaf index { + type uint16; + description + "The precedence of the filter. A lower value indicates a higher + precedence."; + } + container sub-caps { + description + "The set of notification capabilities for the + nodes selected by the filter."; + uses mdt-caps-ios-xe-oper:mdt-sub-caps; + } + choice filter-type-choice { + description + "The type of filter used to select the nodes + for which capabilities are specified."; + case sub-filter-type-xpath { + description + "Xpath filter type."; + leaf xpath { + type string; + description + "Xpath filter type."; + } + } + } + } + + grouping mdt-transport-cap { + description + "Notification capabilities for a particular + transport."; + leaf transport { + type mdt-caps-ios-xe-oper:mdt-cap-transport-support; + description + "The transport for which capabilities are + specified."; + } + list mdt-transport-per-node { + key "index"; + description + "Transport-specific notification capabilities specified + on a per-node basis. Entries are in order of precedence."; + uses mdt-caps-ios-xe-oper:mdt-per-node-cap; + } + } + + grouping mdt-datastore-cap { + description + "Notification capabilities for a particular + datastore."; + leaf datastore { + type mdt-caps-ios-xe-oper:mdt-cap-datastore-type; + description + "The datastore for which capabilities are + specified."; + } + list mdt-per-node { + key "index"; + description + "Notification capabilities specified on a per-node + basis. Entries are in order of precedence."; + uses mdt-caps-ios-xe-oper:mdt-per-node-cap; + } + list mdt-transport { + key "transport"; + description + "Transport-specific exceptions which take precedence over + the general per-node capabilities for the datastore."; + uses mdt-caps-ios-xe-oper:mdt-transport-cap; + } + } + + grouping mdt-system-cap { + description + "System capabilities, to be taken as the default when + the capability is not specified on a per-node basis."; + container sub-caps { + description + "The set of notification capabilities at the system + level."; + uses mdt-caps-ios-xe-oper:mdt-sub-caps; + } + list mdt-datastore { + key "datastore"; + description + "Notification capabilities specified by datastore."; + uses mdt-caps-ios-xe-oper:mdt-datastore-cap; + } + } + + container mdt-capabilities-oper-data { + config false; + description + "MDT capabilities operational data."; + container mdt-system { + presence "mdt-system"; + description + "System capabilities, to be taken as the default when + the capability is not specified on a per-node basis."; + uses mdt-caps-ios-xe-oper:mdt-system-cap; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-cfg.yang new file mode 100644 index 000000000..dbc030400 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-cfg.yang @@ -0,0 +1,1081 @@ +module Cisco-IOS-XE-mdt-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-cfg"; + prefix mdt-cfg; + + import Cisco-IOS-XE-mdt-common-defs { + prefix mdt-common-defs; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for configuration of streaming telemetry. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Support for pull mode receivers"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2022-03-01 { + description + "- Support for gRPC mutual authentication"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2020-11-01 { + description + "- Support for named receivers + - Deprecated legacy receivers"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2020-03-01 { + description + "Support for Histogram transform operation"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-05-01 { + description + "- Support for new transform operations + - Flattening the structure of new transform operations + - Support for Division transform operation + - Added semantic version"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-08-24 { + description + "Make a receiver's protocol mandatory and + remove its default."; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-02-12 { + description + "Transform support for Native stream."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-02-07 { + description + "Fix top level name."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-09-20 { + description + "TLS support for Native stream"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-03-02 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mdt-xfrm-attr-type { + type enumeration { + enum mdt-xfrm-attr-none { + value 0; + description + "Indicates that no filter has been + specified."; + } + enum mandatory { + value 1; + description + "Indicates that mandatory filter is set."; + } + enum primary { + value 2; + description + "Indicates that primary filter is set."; + } + } + description + "Types of subscription transform attribute type"; + } + + typedef mdt-xfrm-op-type { + type enumeration { + enum sub-record { + value 0; + description + "Indicates that operation type is + sub-record"; + } + enum delta { + value 1; + description + "Indicates that operation type is delta"; + } + } + description + "Types of subscription transform operations."; + } + + typedef mdt-xfrm-logic-op { + type enumeration { + enum mdt-xfrm-lop-none { + value 0; + description + "Indicates that no logical operation + is selected"; + } + enum and { + value 1; + description + "Indicates that logical operation + is 'and' "; + } + enum or { + value 2; + description + "Indicates that logical operation is 'or' "; + } + } + description + "Types of subscription transform + logical operations."; + } + + typedef mdt-xfrm-operator { + type enumeration { + enum operator-none { + value 0; + description + "Default operator"; + } + enum eq { + value 1; + description + "Equal operator"; + } + enum ne { + value 2; + description + "Not equal operator"; + } + enum gt { + value 3; + description + "Greater than operator"; + } + enum ge { + value 4; + description + "Greater than or equal operator"; + } + enum lt { + value 5; + description + "Less than operator"; + } + enum le { + value 6; + description + "Less than or equal operator"; + } + } + description + "Supported operator types"; + } + + typedef mdt-xfrm-condition-check-with { + type enumeration { + enum condition-check-wth-argument-value { + value 0; + description + "Indicates that conditional check should happen with provided value"; + } + enum condition-check-wth-previous-value { + value 1; + description + "Indicates that conditional check should happen with + previous value of the field"; + } + } + description + "Specifies the kind of value + this condition check should happen with. + This way conditional operation can compare with either the + user provided value or the previously cached value of + the same field"; + } + + typedef mdt-xfrm-operation-type { + type enumeration { + enum xfrm-oper-none { + value 0; + description + "Indicates operation has not been specified."; + } + enum xfrm-oper-mean { + value 1; + description + "Mean of the cached values"; + } + enum xfrm-oper-mean-window { + value 2; + description + "Mean over a specified window"; + } + enum xfrm-oper-rate { + value 3; + description + "Rate of change in value"; + } + enum xfrm-oper-ewma { + value 4; + description + "Exponentially Weighted Moving Average"; + } + enum xfrm-oper-delta { + value 5; + description + "Delta with previously known value"; + } + enum xfrm-oper-div { + value 6; + description + "Division operation"; + } + enum xfrm-oper-div-of-delta { + value 7; + description + "Division operation is performed on Delta of field values"; + } + enum xfrm-oper-hist { + value 8; + description + "Histogram operation is performed over field values"; + } + } + description + "Operation to be performed"; + } + + typedef mdt-xfrm-window-size-type { + type enumeration { + enum time-based { + value 0; + description + "Time based windowing"; + } + enum count-based { + value 1; + description + "Count based windowing"; + } + } + description + "Type of window size (eg. time, count based)"; + } + + typedef mdt-xfrm-window-segment-type { + type enumeration { + enum sliding-window { + value 0; + description + "Sliding window"; + } + enum tumbling-window { + value 1; + description + "Tumbling window"; + } + } + description + "Type of window segment (eg. sliding, tumbling etc)"; + } + + typedef mdt-operand-ref-type { + type enumeration { + enum operand-ref-const { + value 0; + description + "Indicates that the operand is a constant"; + } + enum operand-ref-field { + value 1; + description + "Indicates that the operand is the value of the specified field"; + } + } + description + "Type operand reference + (eg whether it is constant, other field etc)"; + } + + typedef mdt-div-operand-role { + type enumeration { + enum operand-role-dividend { + value 0; + description + "Indicates that the operand is a dividend"; + } + enum operand-role-divisor { + value 1; + description + "Indicates that the operand is a divisor"; + } + } + description + "Role of operand in division operation"; + } + + typedef mdt-xfrm-alert-type { + type enumeration { + enum noop { + value 0; + description + "No alert based operation"; + } + enum limit-threshold { + value 1; + description + "Limit threshold based alerting"; + } + } + description + "Type of alert"; + } + + typedef mdt-xfrm-alert-size-type { + type enumeration { + enum duration { + value 0; + description + "Time based alerting"; + } + enum frequency { + value 1; + description + "Count based alerting"; + } + } + description + "Type of alerting (eg. time, count based)"; + } + + grouping mdt-xfrm-op-event-type { + description + "Types of subscription + transform operation event type."; + leaf onchange { + type boolean; + description + "Indicates that onchange filter is set."; + } + } + + grouping mdt-xfrm-field-condition { + description + "Per field filter condition (e.g. f1 gt '5')"; + leaf operator { + type mdt-cfg:mdt-xfrm-operator; + description + "Type of operator"; + } + leaf value { + type string; + description + "Field value to operate on"; + } + leaf check-with { + type mdt-cfg:mdt-xfrm-condition-check-with; + description + "Specifies the kind of value + this condition check should happen with. + This way conditional operation can compare with either the + user provided value or the previously cached value of + the same field"; + } + } + + grouping mdt-xfrm-input-field { + description + "Configuration information for transform input uri table fields."; + leaf field { + type string; + description + "Transform input URI table field name"; + } + } + + grouping mdt-xfrm-input { + description + "Configuration information for transform input."; + leaf table-name { + type string; + description + "Transform input URI table name"; + } + leaf uri { + type string; + description + "Transform input URI full-path"; + } + list mdt-xfrm-input-field { + key "field"; + description + "Transform input URI table fields"; + uses mdt-cfg:mdt-xfrm-input-field; + } + leaf join-key { + type string; + description + "Transform input table join-key"; + } + leaf attr-type { + type mdt-cfg:mdt-xfrm-attr-type; + description + "Transform input table attribute type + e.g. table is mandatory for join record"; + } + leaf lop { + type mdt-cfg:mdt-xfrm-logic-op; + description + "Logical operation with next + input table event"; + } + leaf key { + type string; + description + "Transform input table key"; + } + } + + grouping mdt-xfrm-operation-window-data { + description + "Data specifying Window parameters"; + leaf window-size-type { + type mdt-cfg:mdt-xfrm-window-size-type; + description + "Type of window size (eg. time, count based)"; + } + leaf window-size { + type uint32; + units "centiseconds"; + description + "Window duration in case of time-based. Count in case of count-based"; + } + leaf window-segment-type { + type mdt-cfg:mdt-xfrm-window-segment-type; + description + "Type of window segment (eg. sliding, tumbling etc)"; + } + } + + grouping mdt-xfrm-operation-ewma-data { + description + "Data specifying Exponentially Weighted Moving Average parameters"; + leaf lambda { + type string; + description + "Lambda (weight factor) used in Exponentially Weighted Moving Average calculation"; + } + } + + grouping mdt-xfrm-op-div-data { + description + "Data specifying Division parameters"; + leaf operand-ref-type { + type mdt-cfg:mdt-operand-ref-type; + description + "Specify whether the operand specified is a constant + or a filed. If it is field, it's value shall be used + in division operation"; + } + leaf operand-role { + type mdt-cfg:mdt-div-operand-role; + description + "Role of operand in division operation"; + } + leaf operand { + type string; + description + "Operand value to be used in division operation. It can be + either a constant or name of another field"; + } + } + + grouping mdt-xfrm-op-hist-data { + description + "Data specifying Histogram parameters"; + leaf bin-size { + type uint64; + description + "Specify the bin size"; + } + leaf min { + type uint64; + description + "Specify the min value"; + } + leaf max { + type uint64; + description + "Specify the max value"; + } + } + + grouping mdt-xfrm-alert-data { + description + "Data specifying alerting parameters"; + leaf alert-type { + type mdt-cfg:mdt-xfrm-alert-type; + description + "Type of alert"; + } + leaf alert-size-type { + type mdt-cfg:mdt-xfrm-alert-size-type; + description + "Window duration in case of time-based. Count in case of count-based"; + } + leaf alert-size { + type uint32; + units "centiseconds"; + description + "Window duration in case of time-based. Count in case of count-based"; + } + } + + grouping mdt-xfrm-op-filter { + description + "Configuration information for transform + operation filters."; + leaf filter-id { + type uint32; + description + "filters will be evaluated in sequence based + on filter ID"; + } + leaf field { + type string; + description + "Transform operation filter field name"; + } + container op-event { + description + "Transform operation event flag (e.g. onchange)"; + uses mdt-cfg:mdt-xfrm-op-event-type; + } + leaf lop { + type mdt-cfg:mdt-xfrm-logic-op; + description + "logical operation with condition"; + } + container condition { + description + "Per field condition (e.g. f1 eq 'name')"; + uses mdt-cfg:mdt-xfrm-field-condition; + } + leaf next-lop { + type mdt-cfg:mdt-xfrm-logic-op; + description + "logical operation with next filter condition"; + } + choice operation-type-choice { + default "xfrm-oper-none"; + description + "Operation to be performed on input value"; + case xfrm-oper-none { + description + "Indicates operation has not been specified. Value will be passed as-is"; + leaf operation-no-op { + type boolean; + default "false"; + description + "Indicates operation has not been specified. Value will be passed as-is"; + } + } + case xfrm-oper-mean { + description + "Mean of the cached values"; + leaf operation-mean { + type empty; + description + "Mean of the cached values"; + } + } + case xfrm-oper-mean-window { + description + "Mean over a specified window"; + container operation-mean-window { + description + "Data specifying Window parameters"; + uses mdt-cfg:mdt-xfrm-operation-window-data; + } + } + case xfrm-oper-rate { + description + "Rate of change in value"; + leaf operation-rate { + type empty; + description + "Rate of change in value"; + } + } + case xfrm-oper-ewma { + description + "Exponentially Weighted Moving Average"; + container operation-ewma { + description + "Data specifying Exponentially Weighted Moving Average parameters"; + uses mdt-cfg:mdt-xfrm-operation-ewma-data; + } + } + case xfrm-oper-delta { + description + "Delta with previously known value"; + leaf operation-delta { + type empty; + description + "Delta with previously known value"; + } + } + case xfrm-oper-div { + description + "Division operation"; + container operation-div { + description + "Data specifying Division parameters"; + uses mdt-cfg:mdt-xfrm-op-div-data; + } + } + case xfrm-oper-div-of-delta { + description + "Division operation is performed on Delta of field values"; + container operation-div-of-delta { + description + "Data specifying Division of Delta parameters"; + uses mdt-cfg:mdt-xfrm-op-div-data; + } + } + } + } + + grouping mdt-xfrm-op-field { + description + "Configuration information for transform operations"; + leaf field-id { + type uint32; + description + "Transform operation response field-id, part of response record. + It is used to uniquely identify response record field"; + } + leaf field { + type string; + description + "Subscription transform field name on + which transform operation is performed"; + } + leaf op-type { + type mdt-cfg:mdt-xfrm-op-type; + description + "Subscription transform operation type"; + } + leaf name { + type string; + description + "Name of the field to be returned in output"; + } + choice operation-type-choice { + default "xfrm-oper-none"; + description + "Operation to be performed on field before output"; + case xfrm-oper-none { + description + "Indicates operation has not been specified. Value will be passed as-is"; + leaf operation-no-op { + type boolean; + default "false"; + description + "Indicates operation has not been specified. Value will be passed as-is"; + } + } + case xfrm-oper-mean { + description + "Mean of the cached values"; + leaf operation-mean { + type empty; + description + "Mean of the cached values"; + } + } + case xfrm-oper-mean-window { + description + "Mean over a specified window"; + container operation-mean-window { + description + "Data specifying Window parameters"; + uses mdt-cfg:mdt-xfrm-operation-window-data; + } + } + case xfrm-oper-rate { + description + "Rate of change in value"; + leaf operation-rate { + type empty; + description + "Rate of change in value"; + } + } + case xfrm-oper-ewma { + description + "Exponentially Weighted Moving Average"; + container operation-ewma { + description + "Data specifying Exponentially Weighted Moving Average parameters"; + uses mdt-cfg:mdt-xfrm-operation-ewma-data; + } + } + case xfrm-oper-delta { + description + "Delta with previously known value"; + leaf operation-delta { + type empty; + description + "Delta with previously known value"; + } + } + case xfrm-oper-div { + description + "Division operation"; + container operation-div { + description + "Data specifying Division parameters"; + uses mdt-cfg:mdt-xfrm-op-div-data; + } + } + case xfrm-oper-div-of-delta { + description + "Division operation is performed on Delta of field values"; + container operation-div-of-delta { + description + "Data specifying Division of Delta parameters"; + uses mdt-cfg:mdt-xfrm-op-div-data; + } + } + case xfrm-oper-hist { + description + "Histogram operation is performed field values"; + container operation-hist { + description + "Data specifying Histogram parameters"; + uses mdt-cfg:mdt-xfrm-op-hist-data; + } + } + } + } + + grouping mdt-xfrm-op { + description + "Configuration information for transform operation."; + leaf id { + type uint32; + description + "Unique transform operation id"; + } + list mdt-xfrm-op-filters { + key "filter-id"; + description + "Transform operation filters. + These are evaluated before performing + transform action (e.g. sub record) + on the response record"; + uses mdt-cfg:mdt-xfrm-op-filter; + } + list mdt-xfrm-op-fields { + key "field-id"; + description + "Transform operation fields. + Default operation is sub record. + It is performed on each field"; + uses mdt-cfg:mdt-xfrm-op-field; + } + container alert-data { + description + "Transform alert data. + It sets the alerting mechanism"; + uses mdt-cfg:mdt-xfrm-alert-data; + } + } + + grouping mdt-xfrm { + description + "Configuration information for + subscription transform."; + leaf name { + type string; + description + "Unique transform identifier."; + } + leaf fully-specify { + type boolean; + description + "When fully-specify is set, + fully-specify field identifier is sent + in the response record along with field value"; + } + list mdt-xfrm-input { + key "table-name"; + description + "Transform input information"; + uses mdt-cfg:mdt-xfrm-input; + } + list mdt-xfrm-op { + key "id"; + description + "Transform operations information"; + uses mdt-cfg:mdt-xfrm-op; + } + } + + grouping mdt-receiver-name { + description + "A named receiver of a subscription."; + leaf name { + type string; + description + "The name of the receiver. + Is a key to an entry in the named receivers list indicated + by rcvr-type string of the parent subscription."; + } + } + + grouping mdt-named-protocol-rcvr { + description + "Configuration of a protocol receiver for telemetry data."; + leaf name { + type string; + description + "Name of the receiver"; + } + leaf protocol { + type mdt-common-defs:prot-rcvr-protocol; + description + "Name of the protocol"; + } + leaf profile { + type string; + description + "Optional profile used by the receiver."; + } + container host { + description + "Host type"; + uses mdt-common-defs:host; + } + leaf port { + type uint16; + description + "Host port"; + } + } + + grouping mdt-pullmode-rcvr { + description + "Configuration of a pull mode receiver for telemetry data."; + leaf name { + type string; + description + "Name of the receiver"; + } + leaf size { + type uint64 { + range "81920 .. 2147483648"; + } + units "bytes"; + default "81920"; + description + "Maximum number of bytes per subscription"; + } + } + + grouping mdt-protocol-grpc-profile { + description + "Configuration of a gRPC TLS connection profile."; + leaf name { + type string; + description + "Name of the profile"; + } + leaf ca-tp { + type string; + description + "Trustpoint used to authenticate the server."; + } + leaf id-tp { + type string; + description + "Trustpoint that contains the client certificate."; + } + } + + grouping mdt-subscription-cnfg { + description + "Subscription configuration information."; + leaf subscription-id { + type uint32 { + range "0 .. 2147483647"; + } + description + "Unique subscription identifier."; + } + container base { + description + "Common subscription information."; + uses mdt-common-defs:mdt-subscription-base; + } + list mdt-receivers { + must "../base/rcvr-type = 'rcvr-type-unspecified'" { + error-message "Legacy receivers are not allowed with rcvr-type"; + error-app-tag "must-violation"; + } + must '(count(../mdt-receiver-names/mdt-receiver-name) = 0)' { + error-message "Legacy receivers are not allowed with receiver name"; + error-app-tag "must-violation"; + } + key "address port"; + status deprecated; + description + "Configuration of receivers of configured + subscriptions. + Use of this is deprecated. Use mdt-receiver-names instead."; + uses mdt-cfg:mdt-receiver-cnfg { + status deprecated; + } + uses mdt-common-defs:mdt-receiver-id; + } + container mdt-receiver-names { + description + "List of configured receiver names."; + list mdt-receiver-name { + must '(count(../../mdt-receivers) = 0)' { + error-message "Named receivers are not allowed with legacy receiver"; + error-app-tag "must-violation"; + } + key "name"; + description + "A configured receiver of this subscription. + Refers to an entry in the global named receivers list indicated + by rcvr-type string of the parent subscription. + Receivers of this type cannot be used with the deprecated + mdt-receivers type."; + uses mdt-cfg:mdt-receiver-name; + } + } + } + + grouping mdt-receiver-cnfg { + status deprecated; + description + "Configuration information for subscription receiver. + This is deprecated. Use named receivers instead."; + leaf protocol { + type string; + mandatory true; + description + "Receiver transport protocol."; + } + leaf profile { + type string; + description + "Name of protocol profile used by receiver."; + } + } + + container mdt-config-data { + description + "MDT configuration data"; + list mdt-subscription { + key "subscription-id"; + description + "List of subscriptions"; + uses mdt-cfg:mdt-subscription-cnfg; + } + container mdt-named-protocol-rcvrs { + description + "List of configured named protocol receivers."; + list mdt-named-protocol-rcvr { + key "name"; + description + "Configuration for receivers using a receiver type + identified as 'protocol' in the subscription's + rcvr-type field."; + uses mdt-cfg:mdt-named-protocol-rcvr; + } + } + container mdt-pullmode-rcvrs { + description + "List of configured pull mode receivers."; + list mdt-pullmode-rcvr { + key "name"; + description + "Configuration for receivers using a receiver type + identified as 'pull mode' in the subscription's + rcvr-type field."; + uses mdt-cfg:mdt-pullmode-rcvr; + } + } + list proto-grpc-profile { + key "name"; + description + "List of gRPC protocol profiles"; + uses mdt-cfg:mdt-protocol-grpc-profile; + } + list mdt-xfrm { + key "name"; + description + "List of subscription transforms"; + uses mdt-cfg:mdt-xfrm; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-common-defs.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-common-defs.yang new file mode 100644 index 000000000..0a6f0b9f4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-common-defs.yang @@ -0,0 +1,602 @@ +module Cisco-IOS-XE-mdt-common-defs { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-common-defs"; + prefix mdt-common-defs; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of common YANG + definitions for streaming telemetry. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added support for pull mode receivers"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2023-07-01 { + description + "- Added support for gNMI receiver type"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2023-03-01 { + description + "- Added support for NETCONF receiver type + - Added support for dampening-period for on-change subscription"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2022-03-01 { + description + "- Added support for RFC5277 receiver type"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Add support for gRPC configured receivers"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Changed status of receiver id."; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Additional host and receiver parameter types"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "- Add host type"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-05-01 { + description + "- Change connection ID VRF identifier. + - Added semantic version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions. + Add connection ID type."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2018-03-19 { + description + "Recursive URI support for Native stream"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-02-12 { + description + "TRANSFORM support for Native stream"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2017-07-01 { + description + "Add support for VRFs"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-03-02 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef host-etype { + type enumeration { + enum host-type-unspecified { + value 0; + description + "Host type is not specified"; + } + enum host-type-ip-addr { + value 1; + description + "Host is identified using an IP address"; + } + enum host-type-hostname { + value 2; + description + "Host is identified using hostname"; + } + } + description + "Types of network host identifiers"; + } + + typedef mdt-rcvr-type { + type enumeration { + enum rcvr-type-unspecified { + value 0; + description + "Receiver type is not specified"; + } + enum rcvr-type-protocol { + value 1; + description + "Receiver is a protocol based receiver"; + } + enum rcvr-type-pullmode { + value 2; + description + "Receiver is a pull-mode based receiver"; + } + } + description + "Types of receivers"; + } + + typedef prot-rcvr-protocol { + type enumeration { + enum prot-rcvr-unspec { + value 0; + description + "Protocol type is not specified"; + } + enum native { + value 1; + description + "Native protocol"; + } + enum tls-native { + value 2; + description + "Native TLS protocol"; + } + enum cntp-tcp { + value 3; + description + "CNTP TCP protocol"; + } + enum cntp-tls { + value 4; + description + "CNTP TLS protocol"; + } + enum cloud-native { + value 5; + description + "Native Cloud protocol"; + } + enum grpc-tcp { + value 6; + description + "gRPC TCP protocol"; + } + enum grpc-tls { + value 7; + description + "gRPC TLS protocol"; + } + enum rfc5277 { + value 8; + description + "RFC5277 protocol"; + } + enum netconf { + value 9; + description + "NETCONF protocol"; + } + enum gnmi { + value 10; + description + "gNMI protocol"; + } + } + description + "Types of protocols"; + } + + typedef mdt-sub-filter-type { + type enumeration { + enum sub-filter-type-none { + value 0; + description + "Indicates that no filter has been specified"; + } + enum sub-filter-type-xpath { + value 1; + description + "Xpath defining the data items of interest. + A limited set of the Xpath 1.0 expressions is + supported"; + } + enum sub-filter-type-tdl-uri { + value 2; + description + "TDL-URI defining the data items of interest"; + } + enum sub-filter-type-tdl-transform { + value 3; + description + "tdl-transform define transform scheme + to be subscribed"; + } + enum sub-filter-type-nested-uri { + value 4; + description + "Nested-URI defining the data items of interest"; + } + } + description + "Types of subscription filters"; + } + + typedef mdt-sub-update-trigger { + type enumeration { + enum sub-upd-trig-none { + value 0; + description + "Indicates trigger has not been specified"; + } + enum sub-upd-trig-periodic { + value 1; + description + "Subscription is triggered on a periodic basis"; + } + enum sub-upd-trig-on-change { + value 2; + status deprecated; + description + "Subscription is triggered when a value changes (deprecated). + Use sub-upd-trig-on-change-v2 instead."; + } + enum sub-upd-trig-on-change-v2 { + value 3; + description + "Subscription is triggered when a value changes"; + } + } + description + "Types of subscription update triggers"; + } + + grouping host { + description + "A network host"; + choice type-choice { + default "host-type-unspecified"; + description + "How the network host is identified"; + case host-type-unspecified { + description + "Host type is not specified"; + leaf unspecified { + type empty; + description + "An unspecified host type"; + } + } + case host-type-ip-addr { + description + "Host is specified using an IP address"; + leaf address { + type inet:ip-address; + description + "IP address of the host"; + } + } + case host-type-hostname { + description + "Host is specified using hostname"; + leaf hostname { + type string; + description + "Host name"; + } + } + } + } + + grouping mdt-rcvr-params { + description + "Parameters common to all receiver types"; + choice type-choice { + default "rcvr-type-unspecified"; + description + "The type specific parameters"; + case rcvr-type-unspecified { + description + "Receiver type is not specified"; + leaf unset { + type empty; + description + "An unspecified receiver type"; + } + } + case rcvr-type-protocol { + description + "Indicates a protocol based receiver"; + leaf protocol { + type mdt-common-defs:prot-rcvr-protocol; + default "prot-rcvr-unspec"; + description + "Name of the protocol"; + } + container host { + description + "Network host identity of the receiver"; + uses mdt-common-defs:host; + } + leaf port { + type uint16; + description + "Port number of the receiver"; + } + } + case rcvr-type-pullmode { + description + "Indicates a pull-mode based receiver"; + leaf fn-prefix { + type string; + description + "Name prefix for pull mode storage"; + } + leaf size { + type uint64 { + range "81920 .. 2147483648"; + } + description + "Per subscription buffer size"; + } + } + } + } + + grouping mdt-subscription-base { + description + "Base subscription information. This is + common to both operational and configuration + table records"; + leaf stream { + type string; + default "NETCONF"; + description + "The name of the event stream being subscribed to"; + } + leaf encoding { + type string; + default "encode-xml"; + description + "Update notification encoding"; + } + leaf source-vrf { + type string; + description + "Network instance name for the VRF"; + } + leaf source-address { + type inet:ip-address; + description + "The source address for the notifications"; + } + leaf rcvr-type { + type mdt-common-defs:mdt-rcvr-type; + default "rcvr-type-unspecified"; + description + "Receiver type used by all named receivers of this subscription. + It is used to determine the specific receiver-type global list + that defines the receiver. It may specify a related group of + receivers without identifying a specific receiver-type. + Cannot be used with the deprecated receiver configuration."; + } + choice update-trigger-choice { + default "sub-upd-trig-none"; + description + "Update trigger of the subscription"; + case sub-upd-trig-none { + description + "Indicates trigger has not been specified"; + leaf no-trigger { + type uint32; + default "0"; + description + "Placeholder for unset value"; + } + } + case sub-upd-trig-periodic { + description + "Subscription is triggered on a periodic basis"; + leaf period { + type uint32; + units "centiseconds"; + mandatory true; + description + "Period of update notifications in hundredths + of a second"; + } + } + case sub-upd-trig-on-change { + status deprecated; + description + "Subscription is triggered when a value changes (deprecated). + Use sub-upd-trig-on-change-v2 instead."; + leaf no-synch-on-start { + type boolean; + description + "If true, there is no initial update notification + with the current value of all the data. + NOT CURRENTLY SUPPORTED. If specified, must + be false"; + } + } + case sub-upd-trig-on-change-v2 { + description + "Subscription is triggered when a value changes"; + leaf no-synch-on-start-v2 { + type boolean; + default "false"; + description + "If true, there is no initial update notification + with the current value of all the data. + NOT CURRENTLY SUPPORTED. If specified, must + be false"; + } + leaf dampening-period { + type uint32; + units "centiseconds"; + default "0"; + description + "Dampening period of update notifications in hundredths + of a second"; + } + } + } + choice filter-type-choice { + default "sub-filter-type-none"; + description + "The type of filter chosen to select the events or the data + for the update notification"; + case sub-filter-type-none { + description + "Indicates that no filter has been specified"; + leaf no-filter { + type uint32; + default "0"; + description + "Placeholder for unset value"; + } + } + case sub-filter-type-xpath { + description + "Xpath defining the data items of interest. + A limited set of the Xpath 1.0 expressions is + supported"; + leaf xpath { + type string; + description + "XPath expression describing the set of objects + wanted as part of the subscription"; + } + } + case sub-filter-type-tdl-uri { + description + "TDL-URI defining the data items of interest"; + leaf tdl-uri { + type string; + description + "TDL-URI expression describing the set of objects + wanted as part of the subscription"; + } + } + case sub-filter-type-tdl-transform { + leaf transform-name { + type string; + description + "Transform name is the reference to + tdl transform scheme"; + } + } + case sub-filter-type-nested-uri { + description + "NESTED-URI defining the data items of interest"; + leaf nested-uri { + type string; + description + "TDL-URI-Recursive expression describing the set of objects + wanted as part of the subscription"; + } + } + } + } + + grouping mdt-receiver-id { + description + "Receiver identifier + Use of this is deprecated. Use named receivers instead."; + leaf address { + type inet:ip-address; + mandatory true; + description + "IP address of the receiver"; + } + leaf port { + type uint16; + mandatory true; + description + "Network port of the receiver"; + } + } + + grouping mdt-connection-id { + description + "Connection identifier"; + leaf address { + type inet:ip-address; + description + "IP address"; + } + leaf port { + type uint16; + description + "Network port"; + } + leaf vrf-table-id { + type uint32; + description + "Network instance table ID for the VRF that the + connection originates from"; + } + leaf source-address { + type inet:ip-address; + description + "The source address used for the connection"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper-v2.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper-v2.yang new file mode 100644 index 000000000..ae8813fe9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper-v2.yang @@ -0,0 +1,645 @@ +module Cisco-IOS-XE-mdt-oper-v2 { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-oper-v2"; + prefix mdt-oper-v2; + + import Cisco-IOS-XE-mdt-common-defs { + prefix mdt-common-defs; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for operational data of streaming telemetry. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added support for pull mode receivers"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2023-07-01 { + description + "Add target state and last error field to named receivers"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-07-01 { + description + "- Add new system status list"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-03-01 { + description + "- Add transport and subchannel release states"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-11-01 { + description + "- Add connection state description"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "- Add subchannel requested receiver state"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-11-01 { + description + "- Add host and receiver parameter types. + - Add protocol connection parameters and new connection type"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mdt-sub-type { + type enumeration { + enum sub-type-dynamic { + value 1; + description + "Dynamic subscriptions + -do not survive reboot + -existence tied to connection they are created on + -send updates only to peer that creates them"; + } + enum sub-type-static { + value 2; + description + "Static subscriptions + -created, (modified), and deleted by management operations + -survive reboot + -receivers are configured "; + } + enum sub-type-permanent { + value 3; + description + "Permanent subscriptions + -created during system startup, can not be modified"; + } + } + description + "Subscription types"; + } + + typedef mdt-sub-state { + type enumeration { + enum sub-state-valid { + value 0; + description + "The subscription is valid and may be sending updates."; + } + enum sub-state-suspended { + value 1; + description + "The subscription has been suspended and is not + sending notifications even if there are updates."; + } + enum sub-state-terminated { + value 2; + description + "The subscription is terminated. This state is valid + only for static subscriptions."; + } + enum sub-state-invalid { + value 3; + description + "The subscription is invalid. This state is valid + only for static subscriptions."; + } + enum sub-state-deleted { + value 4; + description + "The subscription is in the process of being deleted from the + system. This state is valid only for static subscriptions."; + } + } + description + "Subscription states"; + } + + typedef mdt-named-rcvr-state { + type enumeration { + enum named-rcvr-state-invalid { + value 1; + description + "The receiver configuration is invalid and + cannot be used."; + } + enum named-rcvr-state-valid { + value 2; + description + "The receiver configuration is valid"; + } + } + description + "Named receiver states."; + } + + typedef mdt-receiver-state { + type enumeration { + enum rcvr-state-invalid { + value 1; + description + "The receiver configuration is invalid and + cannot be used."; + } + enum rcvr-state-disconnected { + value 2; + description + "The receiver is disconnected and there is no + attempt being made to connect to it."; + } + enum rcvr-state-connecting { + value 3; + description + "An attempt is being made to connect to the receiver."; + } + enum rcvr-state-connected { + value 4; + description + "The receiver is connected, and update notifications + are being sent to the receiver when they occur"; + } + enum rcvr-state-disconnecting { + value 5; + description + "The receiver is in the process of being disconnected."; + } + enum rcvr-state-resolving { + value 6; + description + "The receiver is determining connection parameters"; + } + enum rcvr-state-transport-requested { + value 7; + description + "A request has been made to setup required transport + using resolved connection parameters."; + } + enum rcvr-state-subchannel-requested { + value 8; + description + "A request has been made to setup the + required subchannel to the receiver."; + } + enum rcvr-state-subchannel-released { + value 9; + description + "A request has been made to tear down the + required subchannel to the receiver."; + } + } + description + "Receiver states."; + } + + typedef mdt-connection-type { + type enumeration { + enum conn-type-protocol { + value 0; + status deprecated; + description + "The connection type is protocol (deprecated). + Use con-type-protocol instead"; + } + enum con-type-protocol { + value 1; + description + "The connection type is protocol"; + } + enum con-type-pull-mode { + value 2; + description + "The connection type is pull mode"; + } + } + description + "Connection Types"; + } + + typedef mdt-con-state { + type enumeration { + enum con-state-active { + value 0; + description + "The connection is active and usable."; + } + enum con-state-connecting { + value 1; + description + "An attempt is being made to set the connection up."; + } + enum con-state-pending { + value 2; + description + "The connection is down, but between connection + attempts. It is in this state, for example, during + the idle time between retries. No longer used - use + con-state-connecting instead."; + } + enum con-state-disconnecting { + value 3; + description + "The connection is the process of being disconnected."; + } + } + description + "Connection states."; + } + + grouping mdt-stream { + description + "MDT stream table element."; + leaf-list stream { + type string; + ordered-by user; + description + "Name of a supported stream."; + } + } + + grouping mdt-subscription-oper { + description + "Subscription operational data."; + leaf subscription-id { + type uint32; + description + "Unique subscription identifier."; + } + container base { + description + "Common subscription information."; + uses mdt-common-defs:mdt-subscription-base; + } + leaf type { + type mdt-oper-v2:mdt-sub-type; + description + "Subscription type."; + } + leaf state { + type mdt-oper-v2:mdt-sub-state; + description + "Subscription state."; + } + leaf state-explanation { + type string; + description + "Comments related to subscription state."; + } + list mdt-receivers { + key "address port"; + description + "List of MDT receivers."; + uses mdt-oper-v2:mdt-receiver-oper; + uses mdt-common-defs:mdt-receiver-id; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this subscription."; + } + list mdt-receiver-names { + key "name"; + description + "List of named receivers of this subscription."; + uses mdt-oper-v2:mdt-receiver-name; + } + } + + grouping mdt-receiver-name { + description + "A subscription receiver identified by name."; + leaf name { + type string; + description + "The receiver name."; + } + leaf con-index { + type uint16; + description + "Index into connections table of the connection being used by this + receiver. + Note that it's possible for a receiver with the same name being + used by a different subscription to use a different connection."; + } + leaf state { + type mdt-oper-v2:mdt-receiver-state; + description + "Receiver state with respect to the parent subscription."; + } + leaf state-descr { + when "(../state != 'rcvr-state-connected')"; + type string; + description + "Description related to receiver state."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this receiver."; + } + leaf target-state { + type mdt-oper-v2:mdt-receiver-state; + description + "The target state of this receiver."; + } + leaf last-error { + type string; + description + "Error message describing the most recent error encountered"; + } + } + + grouping mdt-receiver-oper { + description + "MDT receiver operational information."; + leaf protocol { + type string; + description + "Receiver transport protocol."; + } + leaf state { + type mdt-oper-v2:mdt-receiver-state; + description + "Receiver state."; + } + leaf state-explanation { + type string; + description + "Comments related to receiver state."; + } + leaf profile { + type string; + description + "Receiver's protocol profile name."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this receiver."; + } + leaf con-index { + type uint16; + description + "Receiver connection index"; + } + } + + grouping prot-con-params { + description + "Protocol connection parameters"; + leaf address { + type inet:ip-address; + description + "address"; + } + leaf port { + type uint16; + description + "Connection port"; + } + leaf vrf-table-id { + type uint32; + description + "VRF table id"; + } + leaf source-address { + type inet:ip-address; + description + "source address"; + } + } + + grouping pull-con-params { + description + "Pull mode connection parameters"; + leaf name { + type string; + description + "Pull mode name"; + } + leaf size { + type uint64; + description + "Size of pull mode buffer"; + } + } + + grouping mdt-connection-id { + description + "MDT connection type identifier"; + choice con-type-choice { + description + "Type of Connection Type Choice"; + case con-type-protocol { + container con-params { + description + "Connection parameters"; + uses mdt-oper-v2:prot-con-params; + } + } + case con-type-pull-mode { + container pullmode-params { + description + "Pull mode connection parameters"; + uses mdt-oper-v2:pull-con-params; + } + } + } + choice type-choice { + status deprecated; + description + "Type of Connection Type Choice"; + case conn-type-protocol { + leaf address { + type inet:ip-address; + description + "address"; + } + leaf port { + type uint16; + description + "Connection port"; + } + leaf vrf-table-id { + type uint32; + description + "VRF table id"; + } + leaf source-address { + type inet:ip-address; + description + "source address"; + } + } + } + } + + grouping mdt-connection { + description + "MDT receiver operational information."; + leaf index { + type uint16; + description + "Connection Tables Index"; + } + container conn-id { + description + "Connection Type Index"; + uses mdt-oper-v2:mdt-connection-id; + } + leaf peer-id { + type string; + description + "Peer ID"; + } + leaf state { + type mdt-oper-v2:mdt-con-state; + description + "Connection state."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this connection."; + } + leaf state-desc { + type string; + description + "Connection state description."; + } + } + + grouping mdt-named-receiver { + description + "The state of a named receiver."; + leaf name { + type string; + description + "The name of the receiver."; + } + leaf profile { + type string; + description + "The profile, if any, used by the receiver."; + } + container params { + description + "Parameters common to all receivers."; + uses mdt-common-defs:mdt-rcvr-params; + } + leaf state { + type mdt-oper-v2:mdt-named-rcvr-state; + description + "Named receiver state."; + } + leaf state-descr { + when "(../state != 'named-rcvr-state-valid')"; + type string; + description + "Description related to receiver state."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this receiver."; + } + } + + grouping mdt-sys-status { + description + "MDT system status list element"; + leaf subs-max-num { + type uint16; + description + "Maximum number of active subscriptions supported"; + } + leaf subs-valid-num { + type uint32; + description + "Current number of active subscriptions on the device"; + } + } + + container mdt-oper-v2-data { + config false; + description + "MDT operational data."; + container mdt-streams { + description + "MDT streams table. The list of supported streams."; + uses mdt-oper-v2:mdt-stream; + } + list mdt-subscriptions { + key "subscription-id"; + description + "MDT subscription operational data."; + uses mdt-oper-v2:mdt-subscription-oper; + } + list mdt-named-receivers { + key "name"; + description + "MDT named receiver operational data."; + uses mdt-oper-v2:mdt-named-receiver; + } + list mdt-connections { + key "index"; + description + "MDT subscription connection operational data."; + uses mdt-oper-v2:mdt-connection; + } + container mdt-system-status { + presence "mdt-system-status"; + description + "MDT system status operational data."; + uses mdt-oper-v2:mdt-sys-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper.yang new file mode 100644 index 000000000..6da8acb66 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-oper.yang @@ -0,0 +1,403 @@ +module Cisco-IOS-XE-mdt-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-oper"; + prefix mdt-oper; + + import Cisco-IOS-XE-mdt-common-defs { + prefix mdt-common-defs; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for operational data of streaming telemetry. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2020-07-01 { + description + "Copyright update"; + reference + "4.1.1"; + cisco-semver:module-version "4.1.1"; + } + revision 2019-09-04 { + description + "Add receiver state for disconnection in progress."; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2019-05-01 { + description + "- Change to VRF usage from common model. + - Added semantic version"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-11-10 { + description + "Cleaned up spelling errors in descriptions. + Mark con-state-pending as no longer used. + Removal of statistics. + Addition of more operational data. + Removal of connection ID."; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-06-13 { + description + "Mark con-state-pending as no longer used"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2018-03-06 { + description + "New mdt_sub_type SUB_TYPE_PERMANENT"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2017-09-20 { + description + "TLS support for Native stream"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-07-01 { + description + "Add support for VRFs"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-03-02 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mdt-sub-type { + type enumeration { + enum sub-type-dynamic { + value 1; + description + "Dynamic subscriptions + -do not survive reboot + -existence tied to connection they are created on + -send updates only to peer that creates them"; + } + enum sub-type-static { + value 2; + description + "Static subscriptions + -created, (modified), and deleted by management operations + -survive reboot + -receivers are configured "; + } + enum sub-type-permanent { + value 3; + description + "Permanent subscriptions + -created during system startup, can not be modified"; + } + } + description + "Subscription types"; + } + + typedef mdt-sub-state { + type enumeration { + enum sub-state-valid { + value 0; + description + "The subscription is valid and may be sending updates."; + } + enum sub-state-suspended { + value 1; + description + "The subscription has been suspended and is not + sending notifications even if there are updates."; + } + enum sub-state-terminated { + value 2; + description + "The subscription is terminated. This state is valid + only for static subscriptions."; + } + enum sub-state-invalid { + value 3; + description + "The subscription is invalid. This state is valid + only for static subscriptions."; + } + } + description + "Subscription states"; + } + + typedef mdt-receiver-state { + type enumeration { + enum rcvr-state-invalid { + value 1; + description + "The receiver configuration is invalid and + cannot be used."; + } + enum rcvr-state-disconnected { + value 2; + description + "The receiver is disconnected and there is no + attempt being made to connect to it."; + } + enum rcvr-state-connecting { + value 3; + description + "An attempt is being made to connect to the receiver."; + } + enum rcvr-state-connected { + value 4; + description + "The receiver is connected, and update notifications + are being sent to the receiver when they occur"; + } + enum rcvr-state-disconnecting { + value 5; + description + "The receiver is in the process of being disconnected."; + } + } + description + "Receiver states."; + } + + typedef mdt-con-state { + type enumeration { + enum con-state-active { + value 0; + description + "The connection is active and usable."; + } + enum con-state-connecting { + value 1; + description + "An attempt is being made to set the connection up."; + } + enum con-state-pending { + value 2; + description + "The connection is down, but between connection + attempts. It is in this state, for example, during + the idle time between retries. No longer used - use + con-state-connecting instead."; + } + enum con-state-disconnecting { + value 3; + description + "The connection is the process of being disconnected."; + } + } + description + "Connection states."; + } + + grouping mdt-stream { + description + "MDT stream table element."; + leaf-list stream { + type string; + ordered-by user; + description + "Name of a supported stream."; + } + } + + grouping mdt-subscription-oper { + description + "Subscription operational data."; + leaf subscription-id { + type uint32; + description + "Unique subscription identifier."; + } + container base { + description + "Common subscription information."; + uses mdt-common-defs:mdt-subscription-base; + } + leaf type { + type mdt-oper:mdt-sub-type; + description + "Subscription type."; + } + leaf state { + type mdt-oper:mdt-sub-state; + description + "Subscription state."; + } + leaf comments { + type string; + description + "Comments related to subscription state."; + } + list mdt-receivers { + key "address port"; + description + "List of MDT receivers."; + uses mdt-oper:mdt-receiver-oper; + uses mdt-common-defs:mdt-receiver-id; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this subscription."; + } + } + + grouping mdt-receiver-oper { + description + "MDT receiver operational information."; + leaf protocol { + type string; + description + "Receiver transport protocol."; + } + leaf state { + type mdt-oper:mdt-receiver-state; + description + "Receiver state."; + } + leaf comments { + type string; + description + "Comments related to receiver state."; + } + leaf profile { + type string; + description + "Receiver's protocol profile name."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this receiver."; + } + } + + grouping mdt-connection-data { + description + "MDT connection data"; + leaf transport { + type string; + description + "Transport protocol on this connection + See transport-protocol from subscribed-notifications + for possible values."; + } + leaf peer-id { + type string; + description + "Identity of the peer at the other end of the connection. + May be empty, depending on connection state."; + } + leaf state { + type mdt-oper:mdt-con-state; + description + "Connection state"; + } + list mdt-sub-con-info { + key "sub-id"; + description + "List of subscription specific information for this + connection."; + uses mdt-oper:mdt-sub-con-info; + } + leaf profile { + type string; + description + "Protocol profile used with this connection."; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time of last state change of this connection."; + } + leaf source-address-in-use { + type inet:ip-address; + description + "Source address used by this connection."; + } + } + + grouping mdt-sub-con-info { + description + "Per-subscription per-connection operational data."; + leaf sub-id { + type uint32; + description + "Subscription identifier."; + } + leaf time-of-connection { + type yang:date-and-time; + description + "The time the subscription was started using this connection."; + } + } + + container mdt-oper-data { + config false; + description + "MDT operational data."; + container mdt-streams { + description + "MDT streams table. The list of supported streams."; + uses mdt-oper:mdt-stream; + } + list mdt-subscriptions { + key "subscription-id"; + description + "MDT subscription operational data."; + uses mdt-oper:mdt-subscription-oper; + } + list mdt-connections { + key "address port vrf-table-id source-address"; + description + "MDT subscription connection operational data."; + uses mdt-oper:mdt-connection-data; + uses mdt-common-defs:mdt-connection-id; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-stats-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-stats-oper.yang new file mode 100644 index 000000000..0916c7f5c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mdt-stats-oper.yang @@ -0,0 +1,144 @@ +module Cisco-IOS-XE-mdt-stats-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mdt-stats-oper"; + prefix mdt-stats; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MDT statistics. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mdt-core-stats { + description + "Statistics that are used for subscriptions, + connections, per subscription on each connection + and so on."; + leaf update-notifs-sent { + type uint64; + description + "The number of update notifications that were sent"; + } + leaf update-notif-bytes-sent { + type uint64; + description + "Number of bytes used by the update notifications + that were sent. This will generally not include + all of the protocol specific overhead."; + } + leaf update-notifs-dropped { + type uint64; + description + "The number of update notifications that were + dropped due to some error. + Does not include dropped counts for specific + reasons if/when they are introduced."; + } + } + + grouping mdt-sub-stats-data { + description + "Subscription statistics record."; + leaf id { + type uint32; + description + "Subscription identifier."; + } + container stats { + description + "The statistics for the subscription."; + uses mdt-stats:mdt-core-stats; + } + } + + grouping mdt-con-stats-data { + description + "Connection statistics record."; + leaf index { + type uint16; + description + "Index of the connection entry."; + } + container stats { + description + "The statistics for the connection. + Is the lifetime aggregate usage of the connection + by all subscriptions."; + uses mdt-stats:mdt-core-stats; + } + list sub-con-stats { + key "sub-id"; + description + "The statistics for a specific subscription on this + connection."; + uses mdt-stats:mdt-sub-con-stats-data; + } + } + + grouping mdt-sub-con-stats-data { + description + "The statistics record for a specific subscription + on this connection."; + leaf sub-id { + type uint32; + description + "Identifier of the subscription using the + connection."; + } + container stats { + description + "Statistics for the subscription on the + connection."; + uses mdt-stats:mdt-core-stats; + } + } + + container mdt-stats-oper-data { + config false; + description + "Telemetry statistics data"; + list sub-stats { + key "id"; + description + "Statistics for a telemetry subscription."; + uses mdt-stats:mdt-sub-stats-data; + } + list con-stats { + key "index"; + description + "Statistics for a connection used by telemetry"; + uses mdt-stats:mdt-con-stats-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-memory-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-memory-oper.yang new file mode 100644 index 000000000..cfd3faa1f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-memory-oper.yang @@ -0,0 +1,108 @@ +module Cisco-IOS-XE-memory-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-memory-oper"; + prefix memory-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring memory in a Network Element. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-04-01 { + description + "Top level container name change"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping memory-stats { + description + "Memory statistics"; + leaf name { + type string; + description + "The name of the memory pool"; + } + leaf total-memory { + type uint64; + units "bytes"; + description + "Total memory in the pool (bytes)"; + } + leaf used-memory { + type uint64; + units "bytes"; + description + "Total used memory in the pool (bytes)"; + } + leaf free-memory { + type uint64; + units "bytes"; + description + "Total free memory in the pool (bytes)"; + } + leaf lowest-usage { + type uint64; + units "bytes"; + description + "Historical lowest memory usage (bytes)"; + } + leaf highest-usage { + type uint64; + units "bytes"; + description + "Historical highest memory usage (bytes)"; + } + } + + container memory-statistics { + config false; + description + "Data nodes for All Memory Pool Statistics."; + list memory-statistic { + key "name"; + description + "The list of software memory pools in the system."; + uses memory-ios-xe-oper:memory-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-connect-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-connect-oper.yang new file mode 100644 index 000000000..9082f9b43 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-connect-oper.yang @@ -0,0 +1,1613 @@ +module Cisco-IOS-XE-meraki-connect-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-meraki-connect-oper"; + prefix meraki-connect-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring all parameters of Cloud Monitoring with Meraki Dashboard in a Network Element. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added network name to nextunnel config. + - Added certificate expiration time to device registration. + - Added XPath and resulting operations to config monitor notifications. + - Added retry states to fetch data from Meraki dashboard. + - Added new product identifiers for Meraki dashboard support. + - Added device migration compatibility failure details. + - Added new product identifiers for Meraki monitoring support."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2024-03-01 { + description + "- Added LED management and reset features. + - Added details of active Nextunnel sessions. + - Added device migration mode, state and status. + - Added config monitor notification entries and process status. + - Added config updater state machine progress and process status. + - Added cloud ID to device registration, and obsolete meraki ID."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef migration-mode-types { + type enumeration { + enum mig-managed-mode { + value 0; + description + "Device migration mode managed"; + } + enum mig-monitor-mode { + value 1; + description + "Device migration mode monitor"; + } + enum mig-factory-mode { + value 2; + description + "Device migration mode managed-factory"; + } + enum mig-catalyst-mode { + value 3; + description + "Device migration mode catalyst"; + } + } + description + "Migration mode types"; + } + + typedef meraki-fetch-state { + type enumeration { + enum meraki-config-fetch-init { + value 0; + description + "Config fetch init"; + } + enum meraki-config-fetch-retry { + value 1; + description + "Config fetch init retry"; + } + enum meraki-config-fetch-failed { + value 2; + description + "Config fetch failed"; + } + enum meraki-config-fetch-succeeded { + value 3; + description + "Config fetch succeeded"; + } + } + description + "Possible fetch states for Meraki Nextunnel"; + } + + typedef meraki-nextunnel-state { + type enumeration { + enum meraki-tunnel-down { + value 0; + description + "Meraki Nextunnel is down"; + } + enum meraki-tunnel-up { + value 1; + description + "Meraki Nextunnel is up"; + } + } + description + "Possible states of the Meraki Nextunnel"; + } + + typedef meraki-reg-state { + type enumeration { + enum reg-init { + value 0; + description + "Device registering"; + } + enum reg-succeeded { + value 1; + description + "Device register succeeded"; + } + enum reg-failed { + value 2; + description + "Device register failed"; + } + enum reg-empty { + value 3; + description + "Device is not registered"; + } + enum reg-claim-id-fetch { + value 4; + description + "Fetch the claim id from Meraki dashboard"; + } + enum reg-token-fetch { + value 5; + description + "Fetch the token from the Meraki dashboard"; + } + enum reg-cert-fetch { + value 6; + description + "Fetch the certificate from the Meraki dashboard"; + } + enum reg-cert-fetch-renew { + value 7; + description + "Fetch the new certificate from the Meraki dashboard"; + } + enum reg-claim-id-fetch-retry { + value 8; + description + "Retry fetching the Cloud ID from Meraki dashboard"; + } + enum reg-token-fetch-retry { + value 9; + description + "Retry fetching the token from the Meraki dashboard"; + } + enum reg-cert-fetch-retry { + value 10; + description + "Retry fetching the certificate from the Meraki dashboard"; + } + enum reg-cert-fetch-renew-retry { + value 11; + description + "Retry renewing certificate from the Meraki dashboard"; + } + } + description + "Possible device registration states with Meraki dashboard"; + } + + typedef meraki-device-pid { + type enumeration { + enum c9200l-48pl-4g { + value 0; + description + "Catalyst 9200 48-port partial PoE+, 4 of 1 Gigabit fixed uplink"; + } + enum c9200l-48pl-4x { + value 1; + description + "Catalyst 9200 48-port partial PoE+, 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-48pxg-4x { + value 2; + description + "Catalyst 9200 48 ports full POE+ (12 mGig ports up to 10 Gigabit, 36 ports up to 1 Gigabit), 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-24pxg-4x { + value 3; + description + "Catalyst 9200 24 ports full PoE+ (8 mGig ports up to 10 Gigabit, 16 ports up to 1 Gigabit), 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-48p-4x { + value 4; + description + "Catalyst 9200 48 ports full PoE+, 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-24p-4x { + value 5; + description + "Catalyst 9200 24 ports full PoE+, 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-24t-4g { + value 6; + description + "Catalyst 9200 24 ports data, 4 of 1 Gigabit fixed uplink"; + } + enum c9200l-24p-4g { + value 7; + description + "Catalyst 9200 24 ports full PoE+, 4 of 1 Gigabit fixed uplink"; + } + enum c9200l-48t-4g { + value 8; + description + "Catalyst 9200 48 ports data, 4 of 1 Gigabit fixed uplink"; + } + enum c9200l-48p-4g { + value 9; + description + "Catalyst 9200 48 ports full POE+, 4 of 1 Gigabit fixed uplink"; + } + enum c9200l-24t-4x { + value 10; + description + "Catalyst 9200 24 ports data, 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-48t-4x { + value 11; + description + "Catalyst 9200 48 ports data, 4 of 1/10 Gigabit fixed uplink"; + } + enum c9200l-24pxg-2y { + value 12; + description + "Catalyst 9200 24 ports full PoE+ (8 mGig ports up to 10 Gigabit, 16 ports up to 1 Gigabit), 2 of 1/10/25 Gigabit fixed uplink"; + } + enum c9200l-48pxg-2y { + value 13; + description + "Catalyst 9200 48 ports full POE+ (8 mGig ports up to 10 Gigabit, 40 ports up to 1 Gigabit), 2 of 1/10/25 Gigabit fixed uplink"; + } + enum c9200-24t { + value 14; + description + "Catalyst 9200 24 ports data, Modular uplink options"; + } + enum c9200-24p { + value 15; + description + "Catalyst 9200 24 ports full PoE+, Modular uplink options"; + } + enum c9200-24pb { + value 16; + description + "Catalyst 9200 24 ports full PoE+, Modular uplink options"; + } + enum c9200-24pxg { + value 17; + description + "Catalyst 9200 24 ports full PoE+ (8 mGig ports up to 10 Gigabit, 16 ports up to 1 Gigabit), Modular uplink options"; + } + enum c9200-48t { + value 18; + description + "Catalyst 9200 48 ports data, Modular uplink options"; + } + enum c9200-48p { + value 19; + description + "Catalyst 9200 48 ports full PoE+, Modular uplink options"; + } + enum c9200-48pb { + value 20; + description + "Catalyst 9200 48 ports full PoE+, Modular uplink options"; + } + enum c9200-48pl { + value 21; + description + "Catalyst 9200 48 ports full PoE+, Modular uplink options"; + } + enum c9200-48pxg { + value 22; + description + "Catalyst 9200 48 ports full PoE+ (8 mGig ports up to 10 Gigabit, 40 ports up to 1 Gigabit), Modular uplink options"; + } + enum c9200cx-12t-2x2g { + value 23; + description + "Catalyst 9200 12 ports data, 2 of 1 Gigabit copper, 1 of 1 Gigabit Class 6, 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-8p-2x2g { + value 24; + description + "Catalyst 9200 8 ports full PoE+, 2 of 1 Gigabit copper, 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-12p-2x2g { + value 25; + description + "Catalyst 9200 12 ports PoE+, 2 of 1 Gigabit copper, 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-8uxg-2x { + value 26; + description + "Catalyst 9200 8 ports UPOE (4 mGig ports up to 10 Gigabit, 4 ports up to 1 Gigabit), 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-8p-2xgh { + value 27; + description + "Catalyst 9200 8 ports full PoE+, 2 of 1 Gigabit copper, 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-12p-2xgh { + value 28; + description + "Catalyst 9200 12 ports PoE+, 2 of 1 Gigabit copper, 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9200cx-8uxg-2xh { + value 29; + description + "Catalyst 9200 8 ports UPOE (4 mGig ports up to 10 Gigabit, 4 ports up to 1 Gigabit), 2 of 10 Gigabit SFP+ fixed uplink"; + } + enum c9300l-48uxg-4x { + value 30; + description + "Catalyst 9300 Series Switch with 36 of x1 Gigabit 12 of mGig UPOE downlink 4 of 10 Gigabit fixed uplink"; + } + enum c9300l-24p-4g { + value 31; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit POE+ downlink 4 of 1 Gigabit fixed uplink"; + } + enum c9300l-24p-4x { + value 32; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit POE+ downlink 4 of 10 Gigabit Fixed uplink"; + } + enum c9300l-24t-4g { + value 33; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit non-POE downlink 4 of 1 Gigabit fixed uplink"; + } + enum c9300l-24t-4x { + value 34; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit non-POE downlink 4 of 10 Gigabit fixed Uplink"; + } + enum c9300l-24uxg-2q { + value 35; + description + "Catalyst 9300 Series Switch with 16 of 1 Gigabit 8 of mGig UPOE downlink 2 of 40 Gigabit fixed uplink"; + } + enum c9300l-24uxg-4x { + value 36; + description + "Catalyst 9300 Series Switch with 16 of 1 Gigabit 8 of mGig UPOE downlink 4 of 10 Gigabit fixed uplink"; + } + enum c9300l-48p-4g { + value 37; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit POE+ downlink 4 of 1 Gigabit fixed uplink"; + } + enum c9300l-48p-4x { + value 38; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit POE+ downlink 4 of 10 Gigabit fixed uplink"; + } + enum c9300l-48t-4g { + value 39; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit non-POE downlink 4 of 1 Gigabit fixed uplink"; + } + enum c9300l-48t-4x { + value 40; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit non-POE downlink 4 of 10 Gigabit fixed uplink"; + } + enum c9300l-48uxg-2q { + value 41; + description + "Catalyst 9300 Series Switch with 36 of 1 Gigabit 12 of mGig UPOE downlink 2 of 40 Gigabit fixed uplink"; + } + enum c9300l-48pf-4x { + value 42; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit POE+ downlink 4 of 10 Gigabit fixed uplink"; + } + enum c9300l-48pf-4g { + value 43; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit POE+ downlink 4 of 1 Gigabit fixed uplink"; + } + enum c9300lm-24u-4y-a-e { + value 44; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit UPOE downlink 4 of 25 Gigabit fixed uplink"; + } + enum c9300lm-48t-4y-a-e { + value 45; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit downlink 4 of 25 Gigabit fixed uplink"; + } + enum c9300lm-48u-4y-a-e { + value 46; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit UPOE downlink 4 of 25 Gigabit fixed uplink"; + } + enum c9300lm-48ux-4y-a-e { + value 47; + description + "Catalyst 9300 Series Switch with 40 of 1 Gigabit 8 of mGig UPOE downlink 4 of 25 Gigabit fixed uplink"; + } + enum c9300-24t { + value 48; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit Interfaces"; + } + enum c9300-24p { + value 49; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit POE Interfaces"; + } + enum c9300-24u { + value 50; + description + "Catalyst 9300 Series Switch"; + } + enum c9300-24ub { + value 51; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit UPOE Interfaces"; + } + enum c9300-24h { + value 52; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit UPOE+ Interfaces"; + } + enum c9300-24ux { + value 53; + description + "Catalyst 9300 Series Switch with 24 of 10 Gigabit UPOE Interfaces"; + } + enum c9300-24uxb { + value 54; + description + "Catalyst 9300 Series Switch with 24 of 10 Gigabit UPOE Interfaces"; + } + enum c9300-48t { + value 55; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit Interfaces"; + } + enum c9300-48p { + value 56; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit POE Interfaces"; + } + enum c9300-48u { + value 57; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit UPOE Interfaces"; + } + enum c9300-48ub { + value 58; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit UPOE Interfaces"; + } + enum c9300-48h { + value 59; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit UPOE+ Interfaces"; + } + enum c9300-48uxm { + value 60; + description + "Catalyst 9300 Series Switch with 36 2.5G and 12 mGig UPOE Interfaces"; + } + enum c9300-48un { + value 61; + description + "Catalyst 9300 Series Switch with 48 of 5 Gigabit UPOE Interface"; + } + enum c9300x-24hx { + value 62; + description + "Catalyst 9300 Series Switch with 24 mGig UPOE Interfaces"; + } + enum c9300x-48tx { + value 63; + description + "Catalyst 9300 Series Switch with 48 mGig non-POE Interfaces"; + } + enum c9300x-48hxn { + value 64; + description + "Catalyst 9300 Series Switch with 40 of 5 Gigabit 8 of mGig UPOE Interfaces"; + } + enum c9300x-48hx { + value 65; + description + "Catalyst 9300 Series Switch with 48 mGig UPOE Interfaces"; + } + enum c9300x-12y { + value 66; + description + "Catalyst 9300 Series Switch with 12 of 25 Gigabit Interfaces"; + } + enum c9300x-24y { + value 67; + description + "Catalyst 9300 Series Switch with 24 of 25 Gigabit Interfaces"; + } + enum c9500x-60l4d { + value 68; + description + "Catalyst 9500 Series fixed switch with 60 of 50 Gigabit ports and 4 of 400 Gigabit ports"; + } + enum c9500x-28c8d { + value 69; + description + "Catalyst 9500 industry Gigabit switch"; + } + enum c9500-32qc { + value 70; + description + "Catalyst 9500 series with 32 Ports of 40 Gigabit/16 Ports of 100 Gigabit"; + } + enum c9500-32c { + value 71; + description + "Catalyst 9500 series with 32 Ports of 40 Gigabit/16 Ports of 100 Gigabit"; + } + enum c9500-48y4c { + value 72; + description + "Catalyst 9500 series with 48 Ports of 1 Gigabit/10 Gigabit/25 Gigabit + 4 Ports of 40 Gigabit/100 Gigabit"; + } + enum c9500-24y4c { + value 73; + description + "Catalyst 9500 is 1 RU fixed chassis with 24 Ports of 1 Gigabit/10 Gigabit/25 Gigabit + 4 Ports of 40 Gigabit/100 Gigabit"; + } + enum c9500-24q { + value 74; + description + "Catalyst 9500 24-port 40 Gigabit data only switch"; + } + enum c9500-12q { + value 75; + description + "Catalyst 9500 12-port 40 Gigabit data only switch"; + } + enum c9500-40x { + value 76; + description + "Catalyst 9500 40-port 10 Gigabit data only switch"; + } + enum c9500-16x { + value 77; + description + "Catalyst 9500 16-port 10 Gigabit data only switch"; + } + enum c9800-40-k9 { + value 78; + description + "Catalyst 9800-40 Wireless Controller"; + } + enum c9800-80-k9 { + value 79; + description + "Catalyst 9800-80 Wireless Controller"; + } + enum c9800-l-c-k9 { + value 80; + description + "Catalyst 9800-L-C Wireless Controller"; + } + enum c9800-l-f-k9 { + value 81; + description + "Catalyst 9800-L-F Wireless Controller"; + } + enum c9800-cl-k9 { + value 82; + description + "Catalyst 9800-CL virtual Wireless Controller"; + } + enum cw9800m { + value 83; + description + "Catalyst CW-9800-M Wireless Controller"; + } + enum cw9800h1 { + value 84; + description + "Catalyst CW-9800-H1 Wireless Controller"; + } + enum cw9800h2 { + value 85; + description + "Catalyst CW-9800-H2 Wireless Controller"; + } + enum c9300-xxi2448s { + value 86; + description + "Catalyst 9300 Series Switch with 24 of 1 Gigabit SFP uplink"; + } + enum c9300-48s { + value 87; + description + "Catalyst 9300 Series Switch with 48 of 1 Gigabit SFP uplink"; + } + enum c9350-48u { + value 88; + description + "Catalyst 9350 Series Switch with 48 Gigabit Ethernet UPOE Interfaces"; + } + enum c9350-48p { + value 89; + description + "Catalyst 9350 Series Switch with 48 Gigabit Ethernet POE+ Interfaces"; + } + enum c9350-48t { + value 90; + description + "Catalyst 9350 Series Switch with 48 Gigabit Ethernet Data Interfaces"; + } + enum c9350-48hx { + value 91; + description + "Catalyst 9350 Series Switch with 48 mGig UPOE+ Interfaces"; + } + enum c9350-48tx { + value 92; + description + "Catalyst 9350 Series Switch with 48 mGig Data Interfaces"; + } + enum c9350-24u { + value 93; + description + "Catalyst 9350 Series Switch with 24 Gigabit Ethernet UPOE Interfaces"; + } + enum c9350-24p { + value 94; + description + "Catalyst 9350 Series Switch with 24 Gigabit Ethernet POE+ Interfaces"; + } + enum c9350-24t { + value 95; + description + "Catalyst 9350 Series Switch with 24 Gigabit Ethernet Data Interfaces"; + } + } + description + "Possible devices enabled with Meraki monitoring"; + } + + typedef meraki-progress-stage-id { + type enumeration { + enum meraki-no-conn { + value 0; + description + "Switch is completely provisioned but unable to connect to meraki cloud"; + } + enum meraki-proc-failure { + value 1; + description + "System error: switch failed to complete local provisioning"; + } + enum meraki-fan-ps-nm-fail { + value 2; + description + "There is a fault with the power supply, fan, or network module (not traffic-related)"; + } + enum meraki-upg { + value 3; + description + "Firmware download / upgrade in progress"; + } + enum meraki-conn-inprogress { + value 4; + description + "Setting up local management and cloud-connectivity requirements"; + } + enum meraki-conn-up { + value 5; + description + "Switch is fully operational and connected to the meraki cloud"; + } + } + description + "Possible stages which helps to identify ongoing meraki state/progress"; + } + + typedef meraki-reset-level-e { + type enumeration { + enum meraki-reset-level-none { + value 0; + description + "Reset button is not triggered/pressed"; + } + enum meraki-reset-level-1 { + value 1; + description + "Reset level 1 triggered"; + } + enum meraki-reset-level-2 { + value 2; + description + "Reset level 2 triggered"; + } + enum meraki-reset-level-3 { + value 3; + description + "Reset level 3 triggered"; + } + } + description + "Possible reset levels for software and hardware components to take corrective actions to recover the system"; + } + + typedef conf-monitor-proccess-state { + type enumeration { + enum cm-off { + value 0; + description + "Config monitor is not running"; + } + enum cm-start-fail { + value 1; + description + "Config monitor failed to start"; + } + enum cm-ipc-con { + value 2; + description + "Config monitor is waiting connecting to socket"; + } + enum cm-nc-con { + value 3; + description + "Config monitor is waiting to connect to NETCONF"; + } + enum cm-up { + value 4; + description + "Config monitor is ready and subscribed"; + } + } + description + "Config Monitor python process state"; + } + + typedef conf-updater-proccess-state { + type enumeration { + enum cu-off { + value 0; + description + "Config updater is not running"; + } + enum cu-start-fail { + value 1; + description + "Config updater failed to start"; + } + enum cu-ipc-con { + value 2; + description + "Config updater is waiting connecting to socket"; + } + enum cu-nc-con { + value 3; + description + "Config updater is waiting to connect to NETCONF"; + } + enum cu-up { + value 4; + description + "Config updater is ready and waiting for Api call"; + } + enum cu-get-op { + value 5; + description + "Config updater is executing get config from NETCONF"; + } + enum cu-set-op { + value 6; + description + "Config updater is executing set config from NETCONF"; + } + enum cu-save-op { + value 7; + description + "Config updater is saving running config from NETCONF"; + } + enum cu-rollback-op { + value 8; + description + "Config updater is replacing running config with a rollback config"; + } + enum cu-no-op { + value 9; + description + "Config updater received unknown Api call"; + } + } + description + "Config Monitor python process state"; + } + + typedef conf-updater-flow-entry { + type enumeration { + enum updater-no-event-entered { + value 0; + description + "Config updater state machine is not entered"; + } + enum cloud-cnfg-rdy { + value 1; + description + "Config updater is applying config from dashboard"; + } + enum sync-run-cnfg { + value 2; + description + "Config updater upload running config to dashboard"; + } + } + description + "List of entry points for config updater state machine"; + } + + typedef conf-updater-event-result { + type enumeration { + enum event-not-start { + value 0; + description + "Config updater event is not started"; + } + enum event-in-prog { + value 1; + description + "Config updater event is currently executing"; + } + enum event-pass { + value 2; + description + "Config updater event exited with success"; + } + enum event-fail { + value 3; + description + "Config updater event exited with failure"; + } + } + description + "Config updater state machine event is in this current states"; + } + + typedef xpath-operation { + type enumeration { + enum xpath-create { + value 0; + description + "A config was created using this XPath"; + } + enum xpath-delete { + value 1; + description + "A config was deleted using this XPath"; + } + enum xpath-merge { + value 2; + description + "A config was merged using this XPath"; + } + enum xpath-replace { + value 3; + description + "A config was replaced using this XPath"; + } + enum xpath-remove { + value 4; + description + "A config was removed using this XPath"; + } + } + description + "All possible actions NETCONF notifications can return"; + } + + typedef device-mig-state { + type enumeration { + enum mig-state-nip { + value 0; + description + "Migration is not in progress"; + } + enum mig-state-detected { + value 1; + description + "Device migration has been detected"; + } + enum mig-state-prechk-ip { + value 2; + description + "Migration pre-check in progress"; + } + enum mig-state-config { + value 3; + description + "Migration config in progress"; + } + enum mig-state-reboot { + value 4; + description + "Migration completed, reboot"; + } + enum mig-state-failed { + value 5; + description + "Migration has failed"; + } + enum mig-state-pck-failed { + value 6; + description + "Migration pre-check failed"; + } + enum mig-state-consent-failed { + value 7; + description + "Migration failed: Request secure shell-access"; + } + enum mig-state-no-reg-failed { + value 8; + description + "Migration failed: Switches not registered. Run \"show meraki\""; + } + enum mig-state-comp-failed { + value 9; + description + "Migration failed compatibility check. Run \"show meraki compatibility\""; + } + enum mig-state-pkg-failed { + value 10; + description + "Migration failed installed package verification"; + } + enum mig-state-health-failed { + value 11; + description + "Migration health check failed"; + } + enum mig-state-conf-failed { + value 12; + description + "Migration failed setting conversion/reversion config"; + } + } + description + "Device migration state"; + } + + typedef mig-compat-err-type { + type bits { + bit comp-install-mode-err { + position 0; + description + "Install mode incompatible"; + } + bit comp-data-unavailable-err { + position 1; + description + "Data not available for compatibility check"; + } + bit comp-krport-ver--err { + position 2; + description + "KR port version incompatible"; + } + bit comp-mem-alloc-err { + position 3; + description + "No memory for compatibility check"; + } + bit comp-romm-ver-err { + position 4; + description + "Rommon version incompatible"; + } + bit comp-switch-incomp-err { + position 5; + description + "Switch Incompatible error"; + } + bit comp-fru-incomp-err { + position 6; + description + "FRU Incompatible error"; + } + } + description + "Migration compatibility errors"; + } + + grouping meraki-tunnel-config { + description + "Nextunnel configuration"; + leaf config-server { + type string; + description + "Configuration server URL"; + } + leaf primary { + type string; + description + "Primary Nextunnel"; + } + leaf secondary { + type string; + description + "Secondary Nextunnel"; + } + leaf client-ipv6-addr { + type inet:ipv6-address; + description + "Client IPV6 address"; + } + leaf server-ipv6-addr { + type inet:ipv6-address; + description + "Server IPV6 address"; + } + leaf backend-name { + type string; + description + "Back end proxy URL"; + } + leaf network-name { + type string; + description + "The network name of the device"; + } + } + + grouping meraki-tunnel-config-state { + description + "State of Nextunnel configuration"; + leaf last-fetch { + type yang:date-and-time; + description + "Timestamp of the last Nextunnel configuration fetch"; + } + leaf next-fetch { + type yang:date-and-time; + description + "Timestamp of the next Nextunnel configuration fetch"; + } + leaf fetch-state { + type meraki-connect-ios-xe-oper:meraki-fetch-state; + description + "Nextunnel configuration fetches state"; + } + leaf fetch-fail-detail { + type string; + description + "Detail of Nextunnel configuration fetch fails reason"; + } + } + + grouping meraki-connect { + description + "Details of the meraki connect"; + container config { + description + "Details of the tunnel configuration"; + uses meraki-connect-ios-xe-oper:meraki-tunnel-config; + } + container config-state { + description + "Details of the tunnel configuration state"; + uses meraki-connect-ios-xe-oper:meraki-tunnel-config-state; + } + leaf status { + type boolean; + description + "The status of Meraki connect"; + } + } + + grouping meraki-tunnel-sess { + description + "Detail of the active Nextunnel session"; + leaf src-ip { + type inet:ip-address; + description + "Source IP address"; + } + leaf src-port { + type uint16; + description + "Source port"; + } + leaf dst-ip { + type inet:ip-address; + description + "Destination IP address"; + } + leaf dst-port { + type uint16; + description + "Destination port"; + } + } + + grouping meraki-tunnel-state { + description + "The status of the Nextunnel connects to Meraki Dashboard"; + leaf primary { + type meraki-connect-ios-xe-oper:meraki-nextunnel-state; + description + "Primary Nextunnel status"; + } + leaf secondary { + type meraki-connect-ios-xe-oper:meraki-nextunnel-state; + description + "Secondary Nextunnel status"; + } + leaf primary-last-change { + type yang:date-and-time; + description + "Timestamp of the last primary Nextunnel change"; + } + leaf secondary-last-change { + type yang:date-and-time; + description + "Timestamp of the last secondary Nextunnel change"; + } + leaf client-last-restart { + type yang:date-and-time; + description + "Timestamp of the last client restart"; + } + list sess { + description + "List of active Nextunnel sessions"; + uses meraki-connect-ios-xe-oper:meraki-tunnel-sess; + } + } + + grouping meraki-tunnel-interface { + description + "The status of the Nextunnel interface"; + leaf status { + type boolean; + description + "The Nextunnel interface status"; + } + leaf rx-packets { + type uint64; + description + "Number of packets received by the Nextunnel"; + } + leaf tx-packets { + type uint64; + description + "Number of packets transmitted by the Nextunnel"; + } + leaf rx-errors { + type uint64; + description + "Number of error packets received by the Nextunnel"; + } + leaf tx-errors { + type uint64; + description + "Number of error packets transmitted by the Nextunnel"; + } + leaf rx-drop-packets { + type uint64; + description + "Number of receiving packets dropped by the Nextunnel"; + } + leaf tx-drop-packets { + type uint64; + description + "Number of transmitting packets dropped by the Nextunnel"; + } + } + + grouping device-reg-information { + description + "Details of the device registration information"; + leaf device-number { + type uint8; + description + "Device number"; + } + leaf pid { + type meraki-connect-ios-xe-oper:meraki-device-pid; + description + "Product ID"; + } + leaf serial-number { + type string; + description + "Device serial number"; + } + leaf mac-address { + type yang:mac-address; + description + "Device MAC address "; + } + leaf meraki-id { + type string; + status obsolete; + description + "Meraki ID received from Meraki dashboard"; + } + leaf status { + type meraki-connect-ios-xe-oper:meraki-reg-state; + description + "The status of the device registration"; + } + leaf err-detail { + type string; + description + "Error message of the device registration"; + } + leaf timestamp { + type yang:date-and-time; + description + "Timestamp of updating device registration"; + } + leaf cloud-id { + type string; + description + "Cloud ID received from Meraki dashboard"; + } + leaf cert-expiry { + type yang:date-and-time; + description + "Expiration time of certificate"; + } + } + + grouping meraki-registration { + description + "Details of the device registration information"; + leaf url { + type string; + description + "Meraki Dashboard URL"; + } + list device-reg { + key "device-number"; + description + "A list of device registration information"; + uses meraki-connect-ios-xe-oper:device-reg-information; + } + } + + grouping xpath-entry { + description + "Config monitor config change notification"; + leaf child-id { + type uint32; + description + "XPath was assigned this unique ID"; + } + leaf xpath { + type string; + description + "Config was modified using this XPath"; + } + leaf oper { + type meraki-connect-ios-xe-oper:xpath-operation; + description + "Edit config action was performed. + Reference: + RFC 6241, edit config"; + } + } + + grouping config-monitor-notif { + description + "Config monitor config change notification"; + leaf id { + type uint32; + description + "Config change is assigned a unique ID"; + } + leaf timestamp { + type yang:date-and-time; + description + "Config change was caught at this timestamp"; + } + leaf xpath-total { + type uint32; + description + "Actual number of config modifications contained in the config notification"; + } + list xpath-entry { + key "child-id"; + description + "List of XPath and operations for this notification. + This list includes a subset of config modifications when xpath-total is + greater than the size of this list"; + uses meraki-connect-ios-xe-oper:xpath-entry; + } + } + + grouping conf-monitor-status { + description + "Config monitor process state"; + leaf monitor-state { + type meraki-connect-ios-xe-oper:conf-monitor-proccess-state; + description + "Config monitor is currently in this state"; + } + } + + grouping conf-updater-status { + description + "Config updater process state"; + leaf process-state { + type meraki-connect-ios-xe-oper:conf-updater-proccess-state; + description + "Config updater is currently in this state"; + } + } + + grouping conf-updater-sm-op { + description + "Config updater state machine operation table"; + leaf operation { + type meraki-connect-ios-xe-oper:conf-updater-flow-entry; + description + "Config updater is executing this operational flow"; + } + leaf dwnld-config-path { + type string; + description + "Config updater will download config from dashboard to this path"; + } + leaf get-run-cfg-path { + type string; + description + "Config updater will dump running config into this path"; + } + leaf cloud-cfg-ready-started-ts { + type yang:date-and-time; + description + "Cloud config ready event started at this timestamp"; + } + leaf cloud-cfg-ready-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Cloud config ready event finished with this result, or has not started"; + } + leaf cloud-cfg-ready-result-ts { + type yang:date-and-time; + description + "Cloud config ready event finished at this timestamp"; + } + leaf dwnld-run-cfg-started-ts { + type yang:date-and-time; + description + "Download running config event started at this timestamp"; + } + leaf dwnld-run-cfg-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Download running config event is in this current state"; + } + leaf dwnld-run-cfg-result-ts { + type yang:date-and-time; + description + "Download running config finished at this timestamp"; + } + leaf apply-cfg-started-ts { + type yang:date-and-time; + description + "Apply dashboard config event started at this timestamp"; + } + leaf apply-cfg-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Apply dashboard config event is in this current state"; + } + leaf apply-cfg-result-ts { + type yang:date-and-time; + description + "Apply dashboard config finished at this timestamp"; + } + leaf get-run-cfg-started-ts { + type yang:date-and-time; + description + "Get running config event started at this timestamp"; + } + leaf get-run-cfg-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Get running config event is in this current state"; + } + leaf get-run-cfg-result-ts { + type yang:date-and-time; + description + "Get running config finished at this timestamp"; + } + leaf get-presign-url-start-ts { + type yang:date-and-time; + description + "Get dashboard url event started at this timestamp"; + } + leaf get-presign-url-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Get dashboard url event is in this current state"; + } + leaf get-presign-url-result-ts { + type yang:date-and-time; + description + "Get dashboard url finished at this timestamp"; + } + leaf upload-config-started-ts { + type yang:date-and-time; + description + "Upload config event started at this timestamp"; + } + leaf upload-config-result { + type meraki-connect-ios-xe-oper:conf-updater-event-result; + description + "Upload config event is in this current state"; + } + leaf upload-config-result-ts { + type yang:date-and-time; + description + "Upload config finished at this timestamp"; + } + } + + grouping meraki-progress-stage { + description + "Details of the meraki progress stages"; + leaf meraki-stage { + type meraki-connect-ios-xe-oper:meraki-progress-stage-id; + description + "Meraki manager daemon stage"; + } + } + + grouping meraki-reset-level { + description + "Details of the meraki reset levels"; + leaf switch-num { + type uint8; + description + "Target switch for reset"; + } + leaf reset-level { + type meraki-connect-ios-xe-oper:meraki-reset-level-e; + description + "Current reset level"; + } + } + + grouping meraki-migration-status { + description + "Meraki migration status details"; + leaf switch-num { + type uint8; + description + "Switch number"; + } + leaf curr-booted-mode { + type meraki-connect-ios-xe-oper:migration-mode-types; + description + "Current booted mode"; + } + leaf mig-mode { + type meraki-connect-ios-xe-oper:migration-mode-types; + description + "Device migrating mode"; + } + leaf mig-in-progress { + type boolean; + description + "Migration in progress"; + } + leaf mig-state { + type meraki-connect-ios-xe-oper:device-mig-state; + description + "Device migration state"; + } + leaf mig-start-time { + type yang:date-and-time; + description + "Time device migration started"; + } + leaf compat-err-detail { + type meraki-connect-ios-xe-oper:mig-compat-err-type; + description + "Migration Compatibility error details"; + } + } + + container meraki-connect-oper-data { + config false; + description + "Operational data model for Meraki connect"; + container connect { + presence "connect"; + description + "Details of the Meraki connect"; + uses meraki-connect-ios-xe-oper:meraki-connect; + } + container tunnel-state { + presence "tunnel-state"; + description + "Details of the Nextunnel state"; + uses meraki-connect-ios-xe-oper:meraki-tunnel-state; + } + container tunnel-if { + presence "tunnel-if"; + description + "Details of the Nextunnel interface"; + uses meraki-connect-ios-xe-oper:meraki-tunnel-interface; + } + container reg { + presence "reg"; + description + "Details of the device registration with Meraki Dashboard"; + uses meraki-connect-ios-xe-oper:meraki-registration; + } + list config-monitor-notif { + key "id"; + description + "Details of config monitor notification changes"; + uses meraki-connect-ios-xe-oper:config-monitor-notif; + } + container meraki-progress-stage { + presence "meraki-progress-stage"; + description + "Details of the system progress stage"; + uses meraki-connect-ios-xe-oper:meraki-progress-stage; + } + container meraki-reset-level { + presence "meraki-reset-level"; + description + "Details of triggered reset level"; + uses meraki-connect-ios-xe-oper:meraki-reset-level; + } + container conf-monitor-status { + presence "conf-monitor-status"; + description + "Details of config monitor process status"; + uses meraki-connect-ios-xe-oper:conf-monitor-status; + } + container conf-updater-status { + presence "conf-updater-status"; + description + "Details of config updater notification changes"; + uses meraki-connect-ios-xe-oper:conf-updater-status; + } + container conf-updater-sm-op { + presence "conf-updater-sm-op"; + description + "Details of config updater state machine operations"; + uses meraki-connect-ios-xe-oper:conf-updater-sm-op; + } + list mig-status { + key "switch-num"; + description + "Details of device mode migration"; + uses meraki-connect-ios-xe-oper:meraki-migration-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-leds-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-leds-actions-rpc.yang new file mode 100644 index 000000000..40f4cbca5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-meraki-leds-actions-rpc.yang @@ -0,0 +1,167 @@ +module Cisco-IOS-XE-meraki-leds-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-meraki-leds-actions-rpc"; + prefix meraki-leds-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for various LEDs actions on devices managed by Meraki. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Renamed switch number to chassis number"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef system-led-state { + type enumeration { + enum system-led-off { + value 0; + description + "System LED is off"; + } + enum system-led-solid-green { + value 1; + description + "System LED is solid green"; + } + enum system-led-blink-green { + value 2; + description + "System LED is blinking green"; + } + enum system-led-solid-amber { + value 3; + description + "System LED is solid amber"; + } + enum system-led-blink-amber { + value 4; + description + "System LED is blinking amber"; + } + enum system-led-rainbow { + value 5; + description + "System LED is alternating between colors"; + } + enum system-led-solid-white { + value 6; + description + "System LED is solid white"; + } + enum system-led-blink-white { + value 7; + description + "System LED is blinking white"; + } + } + description + "State of the system LED"; + } + + typedef blink-action-type { + type enumeration { + enum blink-action-stop { + value 0; + description + "Blink stop action"; + } + enum blink-action-start { + value 1; + description + "Blink start action"; + } + } + description + "Blink action type"; + } + + grouping system-led-change { + description + "Set the system LED state based on chassis number"; + leaf chassis-number { + type uint8 { + range "0..16"; + } + description + "Chassis number or switch number"; + } + leaf led-state { + type meraki-leds-actions-rpc:system-led-state; + mandatory true; + description + "New system LED state"; + } + } + + grouping blink-leds-params { + description + "Trigger blinking of front LEDs on target chassis number"; + leaf chassis-number { + type uint8 { + range "0..16"; + } + description + "Chassis number or switch number, by default active switch/chassis will be targeted"; + } + leaf action { + type meraki-leds-actions-rpc:blink-action-type; + mandatory true; + description + "Blinking start or stop action"; + } + leaf duration { + when "../action='blink-action-start'"; + type uint16 { + range "5 .. 1800"; + } + default "300"; + description + "Duration in seconds, After expiry of this period blinking stops"; + } + } + + rpc set-system-led-state { + description + "Set the system LED state for a device."; + input { + uses meraki-leds-actions-rpc:system-led-change; + } + } + + rpc blink-leds-cmd { + description + "Trigger for start/stop blinking device front LEDs"; + input { + uses meraki-leds-actions-rpc:blink-leds-params; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mka-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mka-oper.yang new file mode 100644 index 000000000..dd8f89ed4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mka-oper.yang @@ -0,0 +1,192 @@ +module Cisco-IOS-XE-mka-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mka-oper"; + prefix mka-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MACsec Key Agreement(MKA) protocol operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.0.1"; + cisco-semver:module-version "1.0.1"; + } + revision 2018-10-26 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mka-statistics { + description + "MKA Statistics"; + leaf if-name { + type string; + description + "Interface Name"; + } + leaf mkpdu-stats-rx { + type uint32; + description + "MKPDU Validated & RX count"; + } + leaf mkpdu-stats-rx-distsak { + type uint32; + description + "MKPDU RX Distributed SAK count"; + } + leaf mkpdu-stats-rx-distcak { + type uint32; + description + "MKPDU RX Distributed CAK count"; + } + leaf mkpdu-stats-tx { + type uint32; + description + "MKPDU TX count"; + } + leaf mkpdu-stats-tx-distsak { + type uint32; + description + "MKPDU TX Distributed SAK count"; + } + leaf mkpdu-stats-tx-distcak { + type uint32; + description + "MKPDU TX Distributed CAK count"; + } + } + + grouping mka-statistics-global { + description + "MKA Statistics global"; + leaf mkpdu-stats-rx { + type uint32; + description + "MKPDU Validated & RX count"; + } + leaf mkpdu-stats-rx-distsak { + type uint32; + description + "MKPDU RX Distributed SAK count"; + } + leaf mkpdu-stats-rx-distcak { + type uint32; + description + "MKPDU RX Distributed CAK count"; + } + leaf mkpdu-stats-tx { + type uint32; + description + "MKPDU TX count"; + } + leaf mkpdu-stats-tx-distsak { + type uint32; + description + "MKPDU TX Distributed SAK count"; + } + leaf mkpdu-stats-tx-distcak { + type uint32; + description + "MKPDU TX Distributed CAK count"; + } + leaf mka-err-sak-gen { + type uint32; + description + "MKA error SAK generation count"; + } + leaf mka-err-hash-gen { + type uint32; + description + "MKA error Hash Key generation count"; + } + leaf mka-err-sak-encryption { + type uint32; + description + "MKA error SAK encryption/wrap count"; + } + leaf mka-err-sak-decryption { + type uint32; + description + "MKA error SAK decryption/unwrap count"; + } + leaf mka-err-sak-cipher-mismatch { + type uint32; + description + "MKA error SAK cipher mismatch count"; + } + leaf mkpdu-err-tx { + type uint32; + description + "MKPDU TX error count "; + } + leaf mkpdu-err-rx-icv-verify { + type uint32; + description + "MKPDU RX ICV verification error count"; + } + leaf mkpdu-err-rx-validation { + type uint32; + description + "MKPDU RX validation error count"; + } + leaf mkpdu-err-rx-badpeer-mn { + type uint32; + description + "MKPDU RX Bad peer MN error count"; + } + leaf mkpdu-err-rx-peer-list { + type uint32; + description + "MKPDU RX non-recent peer list MN error count"; + } + } + + container mka-oper-data { + config false; + description + "Operational state of MKA"; + list mka-statistics { + key "if-name"; + description + "MKA Statistics"; + uses mka-ios-xe-oper:mka-statistics; + } + container mka-statistics-global { + presence "mka-statistics-global"; + description + "MKA Global Statistics"; + uses mka-ios-xe-oper:mka-statistics-global; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mka.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mka.yang new file mode 100644 index 000000000..b1ae3563c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mka.yang @@ -0,0 +1,285 @@ +module Cisco-IOS-XE-mka { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mka"; + prefix ios-mka; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-crypto { + prefix ios-crypto; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Macsec Key Agreement protocol (MKA) Yang Model. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Added s-sci-based-on-sci and send-secure-announcements under policy + - Added fallback-key-chain under key-chain"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added delay-protection, include-icv-indicator + - sak-rekey-interval and on-live-peer-loss + - Added use-updated-eth-header under policy + - Added mka default-policy under interface + - Added mka suppress syslogs sak-rekey globally"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 100GE Support"; + } + revision 2017-09-17 { + description + "add key-server priority for mka grouping"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-26 { + description + "add confidentiality-offset for mka grouping"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-mka-grouping { + list policy { + description + "Configure MKA policy"; + key "name"; + leaf name { + description + "MKA policy name"; + type string { + length "1..16"; + } + } + container key-server { + description + "Configure MKA key-server options"; + leaf priority { + description + "Set MKA key-server priority"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + leaf-list macsec-cipher-suite { + description + "Cipher Suite for SAK derivation"; + max-elements 4; + ordered-by user; + type enumeration { + enum gcm-aes-128; + enum gcm-aes-256; + enum gcm-aes-xpn-128; + enum gcm-aes-xpn-256; + } + } + leaf confidentiality-offset { + description + "Set the confidentiality offset for MACsec operation"; + type enumeration { + enum 0; + enum 30; + enum 50; + } + default "0"; + } + leaf delay-protection { + description + "Configure MKA to use delay protection in sending MKPDU's"; + type boolean; + default "false"; + } + leaf include-icv-indicator { + description + "Include ICV indicator in MKPDU (default is to include)"; + type boolean; + default "true"; + } + container sak-rekey { + description + "Enable SAK-rekey during"; + container interval { + description + "SAK Rekey Interval"; + leaf time { + description + "SAK Rekey Interval in seconds (default is 0)"; + type uint32 { + range "30..65535"; + } + } + } + leaf on-live-peer-loss { + description + "peer loss from the live membership"; + type boolean; + default "false"; + } + } + leaf use-updated-eth-header { + description + "Use updated ethernet header for ICV calculation (default is disabled)"; + type boolean; + default "false"; + } + leaf ssci-based-on-sci { + description + "Compute S-SCI based on SCI,higher the SCI lower the S-SCI value(default is disabled)"; + type boolean; + default "false"; + } + leaf send-secure-announcements { + description + "Configure MKA to send secure announcements in sending MKPDU's(default is disabled)"; + type boolean; + default "false"; + } + } + container suppress { + description + "Suppress"; + container syslogs { + description + "System logs"; + leaf sak-rekey { + description + "SAK rekey messages"; + type boolean; + default "false"; + } + } + } + } + + grouping config-interface-mka-grouping { + container mka { + description + "MACsec Key Agreement (MKA) interface configuration"; + container policy { + description + "Apply MKA Policy"; + leaf name { + must '/ios:native/ios:mka/ios-mka:policy[ios-mka:name=current()]' { + error-message "MKA policy must be configured first and should exist before applying on interface"; + } + description + "MKA Policy NAME"; + type string { + length "1..16"; + } + } + } + container pre-shared-key { + description + "Configure MKA Pre-Shared-Key"; + container key-chain { + description + "Configure the key-chain name"; + leaf name { + description + "Name of key-chain to be used to get keys"; + type leafref { + path "/ios:native/ios:key/ios-crypto:chain/ios-crypto:name"; + } + } + leaf fallback-key-chain { + description + "Name of fallback key-chain to be used to get keys"; + type leafref { + path "/ios:native/ios:key/ios-crypto:chain/ios-crypto:name"; + } + } + } + } + leaf default-policy { + description + "Apply MKA Default Policy"; + type boolean; + default "false"; + } + } + } + + augment "/ios:native/ios:mka" { + uses config-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-mka-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-mka-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mld.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mld.yang new file mode 100644 index 000000000..da6fe658f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mld.yang @@ -0,0 +1,558 @@ +module Cisco-IOS-XE-mld { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mld"; + prefix ios-mld; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Multicast Listener Discovery (MLD) Yang model. + Copyright (c) 2017-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added a new leaf to support MLD explicit-tracking configuration + - Added default values for ipv6 mld querier commands"; + cisco-semver:module-version "1.6.0"; + } + revision 2023-07-01 { + description + "- Added MLD robustness-variable config"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-03-01 { + description + "- Added MLD snooping querier"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-03-01 { + description + "- Added status obsolete for dns leaf"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Changes leaf to container"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Moved MLD snooping sub commands to snooping-container + - Added MLD snooping, static-group model gaps"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-02-12 { + description + "Add mld snooping"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-mld-static-group-source { + choice source-or-source-list { + description + "Select between a single source or a source-list"; + case case-source { + leaf source { + description + "Source address"; + type inet:ipv6-address; + } + } + case case-source-list { + leaf source-list { + description + "Specify a source-list"; + type ios-types:ext-acl-type; + } + } + } + } + + grouping config-ipv6-mld-static-group { + list static-group { + description + "List of MLD static group entries"; + key "gaddr"; + leaf gaddr { + description + "IP group address"; + type inet:ipv6-address; + } + choice choice-source { + case case-source { + uses config-mld-static-group-source; + } + case include-source { + container include { + description + "Switch to include mode"; + uses config-mld-static-group-source; + } + } + case exclude-source { + container exclude { + description + "Switch to exclude mode"; + uses config-mld-static-group-source; + } + } + } + } + } + + grouping config-mld-grouping { + container mld { + description + "Global mld commands"; + container snooping-conf { + leaf snooping { + description + "Global MLD Snooping enable for Catalyst Vlans"; + type empty; + } + } + container snooping-container { + container snooping { + leaf last-listener-query-count { + description + "Last listener query count"; + default "2"; + type uint8 { + range "1..7"; + } + } + leaf last-listener-query-interval { + description + "Last listener query interval"; + default "1000"; + type uint16 { + range "100..32768"; + } + } + container querier-conf { + leaf querier { + description + "MLD querier disable/enable"; + type empty; + } + } + container querier-entry { + description + "MLD querier configuration"; + leaf address { + description + "MLD querier source IP address"; + type inet:ipv6-address; + } + leaf max-response-time { + description + "MLD querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + default "10"; + } + leaf query-interval { + description + "MLD querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + default "125"; + } + container tcn { + description + "MLD querier TCN related parameters"; + container query { + leaf count { + description + "MLD querier TCN query count"; + type uint8 { + range "1..10"; + } + default "2"; + } + leaf interval { + description + "MLD querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + default "10"; + } + } + } + container timer { + description + "MLD other querier timer"; + leaf expiry { + description + "MLD querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + default "250"; + } + } + leaf version { + description + "MLD version"; + type uint8 { + range "1..2"; + } + default "1"; + } + } + leaf listener-message-suppression { + description + "Listener Message Suppression"; + default "true"; + type boolean; + } + leaf robustness-variable { + description + "MLD Robustness Variable configuration"; + default "2"; + type uint8 { + range "1..3"; + } + } + container tcn { + description + "Topology change notification configuration"; + container flood { + description + "TCN flooding configuration"; + container query { + description + "TCN query configuration"; + leaf count { + description + "Configure query flooding duration"; + default "2"; + type uint8 { + range "1..10"; + } + } + } + } + container query { + description + "TCN query configuration"; + leaf solicit { + description + "Solicit an MLD general query"; + type boolean; + default "false"; + } + } + } + list mld-snooping-vlans { + description + "MLD Snooping enable on VLAN"; + key "vlan"; + leaf vlan { + description + "Vlan ID"; + type uint16 { + range "1..4094"; + } + } + leaf immediate-leave { + description + "Enable MLD version-1 immediate leave processing"; + type empty; + } + leaf last-listener-query-interval { + description + "Last listener query interval"; + type uint16 { + range "100..32768"; + } + } + leaf last-listener-query-count { + description + "Last listener query count"; + type uint8 { + range "1..7"; + } + } + container querier-conf { + leaf querier { + description + "MLD querier disable/enable"; + type empty; + } + } + container querier-entry { + description + "Enable MLD querier for this Vlan"; + leaf address { + description + "MLD querier source IP address"; + type inet:ipv6-address; + } + leaf max-response-time { + description + "MLD querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + description + "MLD querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + container tcn { + description + "MLD querier TCN related parameters"; + container query { + leaf count { + description + "MLD querier TCN query count"; + type uint8 { + range "1..10"; + } + } + leaf interval { + description + "MLD querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + description + "MLD other querier timer"; + leaf expiry { + description + "MLD querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + description + "MLD version"; + type uint8 { + range "1..2"; + } + } + } + container mrouter { + description + "Configure an L2 port as a multicast router port"; + leaf interface { + description + "next-hop interface to mrouter"; + type string { + pattern '[FfGgTtPp][OoIiEeWw].*'; + } + } + } + leaf robustness-variable { + description + "MLD Robustness Variable configuration"; + type uint8 { + range "1..3"; + } + } + list static { + description + "Configure an L2 port as a member of a group"; + key "gaddr interface"; + leaf gaddr { + description + "IPv6 address of the group"; + type inet:ipv6-address; + } + leaf interface { + description + "Specify an interface statically configured"; + type string { + pattern '[FfGgTtPp][OoIiEeWw].*'; + } + } + } + } + } + } + container ssm-map { + description + "SSM mapping commands"; + leaf enable { + description + "Enable SSM mapping"; + type empty; + } + container query { + description + "Which database should we query for the source"; + leaf dns-leaf { + description + "Use DNS for source lookup"; + type boolean; + default "true"; + } + leaf dns { + status obsolete; + description + "Use DNS for source lookup"; + type empty; + } + } + container static { + description + "SSM static group to source mapping"; + leaf acl { + type string; + } + leaf source-ip { + type inet:ipv6-address; + } + } + } + } + } + + grouping config-interface-ipv6-mld-group { + container mld { + description + "MLD interface commands"; + uses config-ipv6-mld-static-group; + leaf robustness-variable { + description + "MLD Query Robustness Variable"; + type uint8 { + range "1..7"; + } + default "2"; + } + container explicit-tracking { + description + "Enables MLD explicit tracking of the hosts within its IPv6 network"; + presence "true"; + leaf acl { + description + "Explicit tracking access list"; + type ios-types:ext-acl-type; + } + } + } + } + + augment "/ios:native/ios:ipv6" { + uses config-mld-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ipv6" { + uses config-interface-ipv6-mld-group; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mlppp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mlppp-oper.yang new file mode 100644 index 000000000..f6897fe34 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mlppp-oper.yang @@ -0,0 +1,352 @@ +module Cisco-IOS-XE-mlppp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mlppp-oper"; + prefix mlppp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for mlppp operational data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mlppp-bundle-mode-type { + type enumeration { + enum mlppp-bundle-none { + value 0; + description + "Default None"; + } + enum mlppp-bundle-distributed { + value 1; + description + "Distributed"; + } + enum mlppp-bundle-interleaved { + value 2; + description + "Interleaved"; + } + } + description + "MLPPP bundle traffic is Distributed or Interleaved."; + } + + typedef mlppp-member-type { + type enumeration { + enum mlppp-member-none { + value 0; + description + "Default None"; + } + enum mlppp-member-active { + value 1; + description + "Active"; + } + enum mlppp-member-inactive { + value 2; + description + "Inactive"; + } + } + description + "Authentication type for the PPP session"; + } + + grouping mlppp-link-interface-up-time { + description + "MLPPP bundle for the interface"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf up-time { + type yang:date-and-time; + description + "Interface up time"; + } + leaf member-type { + type mlppp-ios-xe-oper:mlppp-member-type; + description + "Active or Inactive"; + } + } + + grouping mlppp-data { + description + "mlppp data"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf bundle-name { + type string; + description + "Bundle name"; + } + leaf bundle-mode { + type mlppp-ios-xe-oper:mlppp-bundle-mode-type; + description + "Bundle mode"; + } + leaf remote-username { + type string; + description + "Remote user name "; + } + leaf local-username { + type string; + description + "Local user name "; + } + leaf remote-endpoint-discriminator { + type string; + description + "Remote end point discriminator"; + } + leaf local-endpoint-discriminator { + type string; + description + "Local end point discriminator"; + } + leaf bundle-uptime { + type yang:date-and-time; + description + "Bundle uptime duration"; + } + leaf total-bandwidth { + type uint32; + description + "Total bandwidth in bytes"; + } + leaf load { + type string; + description + "Multilink Load"; + } + leaf receive-buffer-limit { + type uint32; + description + "Receive buffer limit in bytes"; + } + leaf frag-timeout { + type uint32; + description + "Frag timeout in milliseconds"; + } + leaf fragment-per-byte-in-reassembly-list { + type string; + description + "Fragments per bytes in reassembly list"; + } + leaf lost-fragments { + type uint32; + description + "Lost fragment counter"; + } + leaf reordered { + type uint32; + description + "Reordered counter"; + } + leaf discarded-fragments-per-byte { + type string; + description + "Discarded fragments/bytes counter"; + } + leaf lost-received { + type uint32; + description + "Lost received counter"; + } + leaf member-links { + type uint32; + description + "Member links counter"; + } + leaf member-link-max { + type uint32; + description + "Member links maximum counter"; + } + leaf member-link-min { + type uint32; + description + "Member links minimum counter"; + } + leaf member-type { + type mlppp-ios-xe-oper:mlppp-member-type; + description + "Active or Inactive"; + } + list interface-up-time { + max-elements 10; + description + "List of MLPPP member interface up time"; + uses mlppp-ios-xe-oper:mlppp-link-interface-up-time; + } + } + + grouping mlppp-statistics { + description + "MLPPP statistics type definition"; + leaf mlppp-link-at-lcp-stage { + type uint32; + description + "MLPPP link at lcp stage"; + } + leaf mlppp-link-at-unauth-name-stage { + type uint32; + description + "MLPPP links at unauthenticated name stage"; + } + leaf mlppp-link-at-auth-name-stage { + type uint32; + description + "MLPPP links at authenticated name stage"; + } + leaf mlppp-link-at-post-lcp-noauth-stage { + type uint32; + description + "MLPPP links at post-lcp no auth stage"; + } + leaf mlppp-link-at-post-lcp-callback-stage { + type uint32; + description + "MLPPP links at post-lcp callback stage"; + } + leaf mlppp-link-at-forwarded-stage { + type uint32; + description + "MLPPP links at forwarded stage"; + } + leaf mlppp-link-at-local-termination-stage { + type uint32; + description + "MLPPP links at local termination stage"; + } + leaf non-mlppp-sessions { + type uint32; + description + "Non-mlppp sessions"; + } + leaf mlppp-sessions { + type uint32; + description + "MLPPP sessions "; + } + leaf non-mlppp-links { + type uint32; + description + "Non mlppp links"; + } + leaf mlppp-links { + type uint32; + description + "MLPPP links"; + } + leaf mlppp-authorization-failed { + type uint32; + description + "MLPPP authorization filed"; + } + leaf removing-mlppp-bundle { + type uint32; + description + "Removing mlppp bundle"; + } + leaf mlppp-requires-authen-or-caller-id { + type uint32; + description + "MLPPP requires authentication or caller ID"; + } + leaf mlppp-drop-link { + type uint32; + description + "MLPPP drop link"; + } + leaf mlppp-kill-link { + type uint32; + description + "MLPPP kill link"; + } + leaf mlppp-add-link-failed { + type uint32; + description + "MLPPP add link failed"; + } + leaf mlppp-link-not-needed { + type uint32; + description + "MLPPP link not needed"; + } + } + + container mlppp-oper-data { + config false; + description + "MLPPP operational data"; + container mlppp-statistics { + presence "mlppp-statistics"; + description + "MLPPP statistics"; + uses mlppp-ios-xe-oper:mlppp-statistics; + } + list mlppp-bundle { + key "if-name"; + description + "MLPPP data entry table"; + uses mlppp-ios-xe-oper:mlppp-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mmode.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mmode.yang new file mode 100644 index 000000000..c79c3acee --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mmode.yang @@ -0,0 +1,219 @@ +module Cisco-IOS-XE-mmode { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mmode"; + prefix ios-mmode; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + description + "Cisco XE Maintenance Mode Yang Model. + Copyright (c) 2016-2023, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Adding protocol range under maintenance-template"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-11-29 { + description + "Adding FHRP protocols under maintenance-template"; + } + revision 2017-06-15 { + description + "Changing model to cover maintenance-template ipmulticast vrf change"; + } + revision 2017-05-17 { + description + "Adding more commands under maintenance-template"; + } + revision 2017-03-13 { + description + "Initial draft for GIR config commands"; + } + + augment "/ios:native/ios:system" { + container mode { + description + "System mode"; + container maintenance { + description + "System maintenance"; + presence "true"; + container config-maintenance { + leaf failsafe { + description + "Client ack timeout minutes (default is 30 mins)"; + type uint8 { + range "15..180"; + } + } + container on-reload { + description + "On reload maintenance mode configuration"; + container reset-reason { + description + "Reset reason"; + leaf maintenance { + description + "Maintenance mode"; + type empty; + } + } + } + leaf template { + description + "maintenance-template name"; + type string; + } + leaf timeout { + description + "maintenance duration minutes (default is 30 mins)"; + type uint8 { + range "15..180"; + } + } + } + } + } + } + + augment "/ios:native" { + list maintenance-template { + description + "maintenance-template configuration"; + key "templ-name"; + leaf templ-name { + description + "maintenance-template name"; + type string; + } + container config-maintenance-templ { + container router { + description + "routing protocol"; + list routing-protocol { + ordered-by user; + key "protocol instance"; + leaf protocol { + description + "isolate protocol"; + type enumeration { + enum bgp; + enum isis; + enum ospf; + enum ospfv3; + } + } + leaf instance { + description + "instance/AS number"; + type uint32; + } + must "protocol != 'ospf' or (protocol = 'ospf' and instance <= 65535 and instance >=1 )" { + error-message "Supported protocol range is (1..65535)"; + } + must "protocol != 'ospfv3' or (protocol = 'ospfv3' and instance <= 65535 and instance >=1 )" { + error-message "Supported protocol range is (1..65535)"; + } + } + } + list hsrp { + description + "HSRP protocol instance"; + ordered-by user; + key "interface group-number"; + leaf interface { + description + "full interface name and number (Note: the device will accept both full and short interface names, but the names in running config will be shown in full form)"; + type string; + } + leaf group-number { + description + "HSRP group number"; + type uint16 { + range "0..255"; + } + } + } + list vrrp { + description + "VRRP protocol instance"; + ordered-by user; + key "interface group-number"; + leaf interface { + description + "full interface name and number (Note: the device will accept both full and short interface names, but the names in running config will be shown in full form)"; + type string; + } + leaf group-number { + description + "VRRP group number"; + type uint16 { + range "0..255"; + } + } + } + list vrrpv3 { + description + "VRRPv3 protocol"; + ordered-by user; + key "interface group-number address-family"; + leaf interface { + description + "full interface name and number (Note: the device will accept both full and short interface names, but the names in running config will be shown in full form)"; + type string; + } + leaf group-number { + description + "VRRP group number"; + type uint16 { + range "0..255"; + } + } + leaf address-family { + description + "address family"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + container shutdown { + description + "shutdown"; + leaf l2 { + description + "shutdown all L2 interfaces"; + type empty; + } + } + container ipmulticast { + description + "ipmulticast"; + leaf-list vrf { + description + "vrf instance name"; + type string; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mobileip.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mobileip.yang new file mode 100644 index 000000000..73b747b61 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mobileip.yang @@ -0,0 +1,2187 @@ +module Cisco-IOS-XE-mobileip { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mobileip"; + prefix ios-mobileip; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Proxy Mobile IPv6 Yang model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "- Adding the remaining Local Mobility Anchor and MAG commands"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "- Initial Version"; + cisco-semver:module-version "1.0.0"; + } + + grouping profile-definition-grouping { + leaf loadbalance { + description + "Set load balance"; + type empty; + } + container jitter { + description + "Specify a jitter value"; + leaf value { + description + "DSCP for control plane msg"; + type uint16 { + range "1..1000"; + } + } + leaf low-threshold { + description + "Jitter lower threshold value"; + type uint16 { + range "1..1000"; + } + } + } + container mos { + description + "Specify a mos value for voice"; + leaf value { + description + "mos vale * 100"; + type uint16 { + range "1..60000"; + } + } + leaf low-threshold { + description + "MOS lower threshold"; + type uint16 { + range "1..60000"; + } + } + } + container packet-loss { + description + "Specify a packet loss value"; + leaf value { + description + "packet loss value in %"; + type uint8 { + range "1..100"; + } + } + leaf low-threshold { + description + "packet-loss lower threshold value"; + type uint8 { + range "1..100"; + } + } + } + container rtt { + description + "Specify a rtt value"; + leaf value { + description + "rtt value in milli sec"; + type uint16 { + range "1..5000"; + } + } + leaf low-threshold { + description + "RTT lower threshold value"; + type uint16 { + range "1..5000"; + } + } + } + } + + grouping mobile-network-option-grouping { + container mobile-network { + description + "mobile router network"; + list pool { + description + "pool starting address"; + key "pool-ip-add"; + leaf pool-ip-add { + description + "pool starting address"; + type inet:ipv4-address; + } + leaf pool-prefix { + description + "v4 pool prefix length"; + type uint8 { + range "8..24"; + } + } + leaf network-prefix { + description + "v4 network prefix length"; + type uint8 { + range "8..32"; + } + } + } + list v6pool { + description + "IPv6 pool starting address"; + key "pool-ipv6-add"; + leaf pool-ipv6-add { + description + "pool starting address"; + type inet:ipv6-address; + } + leaf pool-prefix { + description + "v6 pool prefix length"; + type uint8 { + range "8..64"; + } + } + leaf network-prefix { + description + "v6 network prefix length"; + type uint8 { + range "8..64"; + } + } + } + } + } + + grouping transport-default-grouping { + container transport-default { + description + "Default transport configuration values"; + container transport { + description + "Default transport configuration values"; + presence "true"; + leaf ipv4-address { + description + "Configure Customer IPv4 Transport address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "Configure Customer IPv6 Transport address"; + type inet:ipv6-address; + } + } + } + } + + grouping transport-vrf-grouping { + container transport-vrf { + description + "Configure Transport or Peering VRF"; + list transport { + description + "Configure Transport or Peering VRF"; + key "vrf-name"; + leaf vrf-name { + description + "VRF Name"; + type string; + } + leaf ipv4-address { + description + "Configure Customer IPv4 Transport address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "Configure Customer IPv6 Transport address"; + type inet:ipv6-address; + } + } + } + } + + grouping dscp-option-grouping { + container dscp { + description + "DSCP setting"; + leaf control-plane { + description + "DSCP for control plane msg"; + type uint8 { + range "1..63"; + } + } + leaf force { + description + "force"; + type empty; + } + } + } + + grouping ignore-option-grouping { + container ignore { + description + "Configure ignore options"; + leaf grekey { + description + "ignore keys for GRE encapsulation"; + type empty; + } + leaf home-address { + description + "ignore Home Address for MN"; + type empty; + } + } + } + + grouping heartbeat-default-grouping { + container heartbeat-default { + description + "Default heartbeat configuration values"; + container heartbeat { + description + "periodic verification of reachability"; + leaf interval { + description + "specify the interval periodicity (in secs)"; + must '(../ios-mobileip:retries) and (../ios-mobileip:timeout)' { + error-message "Select all the three leaves."; + } + type uint16 { + range "1..3600"; + } + } + leaf retries { + description + "Heartbeat Retries"; + must '(../ios-mobileip:interval) and (../ios-mobileip:timeout)' { + error-message "Select all the three leaves."; + } + type uint8 { + range "1..10"; + } + } + leaf timeout { + description + "specify the timeout periodicity (in secs)"; + must '(../ios-mobileip:interval) and (../ios-mobileip:retries)' { + error-message "Select all the three leaves."; + } + type uint16 { + range "1..3600"; + } + } + } + } + } + + grouping heartbeat-label-grouping { + list heartbeat { + description + "heartbeat configuration per link label type"; + key "label"; + leaf interval { + description + "specify the interval periodicity (in secs)"; + type uint16 { + range "1..3600"; + } + } + leaf retries { + description + "Heartbeat Retries"; + type uint8 { + range "1..10"; + } + } + leaf label { + description + "link label name"; + type string; + } + leaf natreboot { + description + "detect nat reboot"; + type empty; + } + leaf timeout { + description + "specify the timeout periodicity (in secs)"; + mandatory true; + type uint16 { + range "1..3600"; + } + } + } + } + + grouping pool-ipv6-grouping { + container ipv6 { + description + "IPv6 pool configuration for network"; + leaf name { + description + "IPv6 address pool name"; + type string; + } + leaf pfxlen { + description + "length of the pool"; + type uint8 { + range "0..128"; + } + } + } + } + + grouping pool-ipv4-grouping { + container ipv4 { + description + "IPv4 pool configuration for network"; + leaf name { + description + "IPv4 address pool name"; + type string; + } + leaf pfxlen { + description + "length of the pool"; + type uint8 { + range "0..32"; + } + } + } + } + + grouping tracing-option-grouping { + leaf tracing { + description + "Enable Log Tracing"; + type empty; + } + } + + grouping multipath-option-grouping { + leaf multipath { + description + "Enable multipath"; + type empty; + } + } + + grouping generate-option-grouping { + container generate { + description + "generate gre key for MN"; + leaf grekey { + description + "GRE keys for MN"; + type boolean; + default "true"; + } + } + } + + grouping bri-option-grouping { + container bri { + description + "local mobility anchor BRI options"; + container delay { + description + "time to wait before sending bri msg"; + leaf min { + description + "minimum time delay to send BRI (in milliseconds)"; + must '. <= ../max' { + error-message "Min value must be <= max value"; + } + type uint16 { + range "500..65535"; + } + default "1000"; + } + leaf max { + description + "maximum time delay to send BRI (in milliseconds)"; + must '. >= ../min' { + error-message "Max value must be >= min value"; + } + type uint16 { + range "500..65535"; + } + default "2000"; + } + } + leaf retries { + description + "Number of retransmissions allowed for BRI msg"; + type uint8 { + range "1..10"; + } + default "1"; + } + } + } + + grouping ani-option-grouping { + leaf ani { + description + "Enable Access Network Identifier option"; + type empty; + } + } + + grouping auth-key-options-grouping { + container key { + description + "Security key"; + choice key-options { + description + "Key type options"; + container key-opts { + description + "Non-Hex key options"; + leaf enc-type { + description + "Encryption type (0 - Not encrypted)"; + type uint8 { + range "0..7"; + } + } + leaf ascii { + description + "Key entered in ASCII"; + type string; + } + } + leaf hex { + description + "Key entered in hex string"; + type string { + pattern '[0-9a-fA-F]+'; + length "2 .. 128"; + } + } + } + } + } + + grouping auth-option-grouping { + container auth-option { + description + "Authentication Option"; + container spi { + description + "Security Parameter Index"; + choice spi-option { + description + "Given SPI choices"; + leaf hex-val { + description + "SPI hex value"; + type string; + } + leaf decimal { + description + "SPI decimal integer value"; + type uint32 { + range "256..12345678"; + } + } + } + uses auth-key-options-grouping; + } + } + } + + grouping label-bandwidth-grouping { + list label { + description + "label for link-type"; + key "label-name"; + leaf label-name { + description + "Label name"; + type string; + } + leaf bandwidth-ratio { + description + "bandwidth ratio"; + type uint8 { + range "1..15"; + } + } + } + } + + grouping sla-option-grouping { + leaf frequency { + description + "Frequency of SLA operation"; + type uint32 { + range "1..604800"; + } + } + leaf interval { + description + "Inter Packet Interval"; + type uint16 { + range "4..6000"; + } + } + leaf num-packets { + description + "Number of Packets to be transmitted"; + type uint32 { + range "1..100"; + } + } + } + + grouping mobility-service-mobile-local-loop-mnp-grouping { + container customer { + description + "No of MNPs per customer"; + leaf maximum { + description + "maximum no of MNPs"; + type uint32 { + range "1..4000000"; + } + default "2000"; + } + } + container logical-mn { + description + "No of MNPs per logical-mn"; + leaf maximum { + description + "maximum no of MNPs"; + type uint8 { + range "1..32"; + } + default "16"; + } + } + } + + grouping mobility-service-mobile-local-loop-mnp { + container mnp { + description + "mobile network prefix limits"; + container afi-all { + description + "All Address Family"; + uses mobility-service-mobile-local-loop-mnp-grouping; + } + container ipv4 { + description + "IPv4 Address Family"; + uses mobility-service-mobile-local-loop-mnp-grouping; + } + container ipv6 { + description + "IPv6 Address Family"; + uses mobility-service-mobile-local-loop-mnp-grouping; + } + } + } + + grouping lma-address-grouping { + container address { + description + "Specifies local mobility anchor ipv4 and ipv6 address"; + list ipv4 { + description + "local mobility anchor ipv4 address"; + key "address"; + leaf address { + description + "local mobility anchor ipv4 address"; + type inet:ipv4-address; + } + } + list ipv6 { + description + "local mobility anchor ipv6 address"; + key "address"; + leaf address { + description + "local mobility anchor ipv6 address"; + type inet:ipv6-address; + } + } + } + } + + grouping customer-key-default-grouping { + container gre-key-default { + description + "Default key for this customer for all labels"; + container gre-key { + description + "GRE key config for the customer"; + leaf symmetric { + description + "symmetric key for the customer"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + + grouping customer-key-label-grouping { + list gre-key { + description + "gre key for this customer"; + key "label"; + leaf symmetric { + description + "symmetric key for the customer"; + type uint32 { + range "1..4294967295"; + } + } + leaf label { + description + "LABEL string"; + type string; + } + } + } + + grouping tunnel-template-grouping { + container tunnel-template-only { + description + "Configure a tunnel template for tunnels"; + container tunnel-template { + description + "Configure a tunnel template for tunnels"; + leaf Tunnel { + description + "Configure a tunnel template for tunnels"; + type string; + } + } + } + } + + grouping tunnel-template-label-grouping { + list tunnel-template { + description + "Tunnel interface"; + key "label"; + leaf Tunnel { + description + "Tunnel interface"; + type string; + } + leaf label { + description + "tunnel template for specific label"; + type string; + } + } + } + + grouping config-ipv6-mobileip-grouping { + container mobile { + description + "Mobile IPv6"; + list pmipv6-domain { + description + "Proxy Mobile IPv6 Domain"; + max-elements 1; + key "domain"; + leaf domain { + description + "Proxy Mobile IPv6 Domain"; + type string; + } + container domain-options { + description + "Domain options"; + uses auth-option-grouping; + container encap { + description + "encapsulation type between MAG and local mobility anchor"; + leaf encap_type { + description + "encapsulation type options"; + type enumeration { + enum gre-ipv4; + enum gre-ipv6; + enum udptunnel; + } + } + } + list lma { + description + "local mobility anchor identifier"; + key "identifier"; + leaf identifier { + description + "local mobility anchor identifier"; + type string; + } + leaf ipv4-address { + description + "A.B.C.D local mobility anchor IPv4 address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "X:X:X:X::X local mobility anchor IPv6 address"; + type inet:ipv6-address; + } + } + leaf local-routing-mag { + description + "Enable local routing for this MAG"; + type empty; + } + list mag { + description + "MAG identifier"; + key "identifier"; + leaf identifier { + description + "MAG identifier"; + type string; + } + leaf ipv4-address { + description + "A.B.C.D MAG IPv4 address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "X:X:X:X::X MAG IPv6 address"; + type inet:ipv6-address; + } + } + leaf mn-profile-load-aaa { + description + "Pull MN profile from AAA for incoming requests"; + type empty; + } + list mobile-map { + description + "mobile map to enable on this Local Mobility Anchor"; + key "map-name sequence"; + leaf map-name { + description + "mobile map config for application based routing"; + type string; + } + leaf sequence { + description + "sequence to insert this map"; + type uint8 { + range "1..255"; + } + } + container ip { + description + "setting ip options for this mobile map"; + leaf df { + description + "Dont Fragment bit"; + type uint8 { + range "0..1"; + } + } + } + leaf loadbalance { + description + "Enable per-flow load balance"; + type empty; + } + container match { + description + "setting match clause for this mobile map"; + leaf access-list { + description + "access list name"; + type string; + } + } + container setlink { + description + "setting link types for this mobile map"; + container link-type { + description + "link type"; + leaf link1 { + description + "Link type 1 (NULL to drop, NULL must be the last input string)"; + type string; + } + leaf link2 { + description + "Link type 2 (NULL to drop, NULL must be the last input string)"; + type string; + } + leaf link3 { + description + "Link type 3 (NULL to drop, NULL must be the last input string)"; + type string; + } + leaf link4 { + description + "Link type 4 (NULL to drop, NULL must be the last input string)"; + type enumeration { + enum NULL; + } + } + } + } + container traffic-profile { + description + "Set traffic profile to apply"; + leaf prof-name { + description + "profile string"; + type string; + } + } + } + list nai { + description + "Network access identifier or realm"; + key "realm"; + leaf realm { + description + "username@realm"; + type string; + } + leaf apn { + description + "APN name"; + type string; + } + uses auth-option-grouping; + leaf customer { + description + "Customer name"; + type string; + } + container gre-encap-key { + description + "Configure gre encap key for up/down stream"; + leaf down { + description + "downstream key"; + type uint32 { + range "1..4294967295"; + } + } + leaf up { + description + "upstream key"; + type uint32 { + range "1..4294967295"; + } + } + } + leaf lma { + description + "local mobility anchor identifier"; + type string; + } + container mobility-service { + description + "Service offered to this MN"; + leaf mobile-local-loop { + description + "Wireless Private Routing"; + type empty; + } + } + leaf network { + description + "Network name"; + type string; + } + container service { + description + "Specify the service provided to MN"; + leaf service-type { + description + "Service options for MN"; + type enumeration { + enum dual; + enum ipv4; + enum ipv6; + } + default "ipv4"; + } + } + } + container replay-protection { + description + "Configure replay protection mechanism within domain"; + container timestamp { + description + "timestamp option"; + leaf window { + description + "configure the window value"; + type uint8 { + range "3..255"; + } + default "7"; + } + } + } + } + } + list pmipv6-lma { + description + "Proxy Mobile IPv6 local mobility anchor"; + key "lma-name domain"; + max-elements 1; + leaf lma-name { + description + "Proxy Mobile IPv6 local mobility anchor"; + type string; + } + leaf domain { + description + "Domain name"; + type string; + must '/ios:native/ios:ipv6/ios-mobileip:mobile/ios-mobileip:pmipv6-domain[ios-mobileip:domain=current()] ' { + error-message "Domain name mismatch"; + } + } + uses ani-option-grouping; + uses bri-option-grouping; + uses generate-option-grouping; + uses heartbeat-default-grouping; + uses heartbeat-label-grouping; + uses ignore-option-grouping; + uses multipath-option-grouping; + uses dscp-option-grouping; + uses lma-address-grouping; + container mobile-route { + description + "distance for local mobility anchor mobile routes"; + leaf admin-distance { + description + "distance metric"; + type uint8 { + range "1..255"; + } + } + } + container bce { + description + "local mobility anchor binding options"; + leaf create-wait-time { + description + "bce create wait time interval (in milliseconds)"; + type uint16 { + range "1..65535"; + } + default "1500"; + } + leaf delete-wait-time { + description + "bce delete wait time interval (in milliseconds)"; + type uint16 { + range "1..65535"; + } + default "10000"; + } + leaf lifetime { + description + "Maximum bce lifetime (in seconds)"; + type uint16 { + range "10..65535"; + } + default "3600"; + } + leaf maximum { + description + "Maximum bce entries"; + type uint32 { + range "1..128000"; + } + default "128000"; + } + } + container default { + description + "default profile for this local mobility anchor"; + leaf profile { + description + "default profile for this local mobility anchor"; + type string; + } + } + container dynamic { + description + "learn mag dynamically"; + container mag { + description + "Mobile Access Gateway"; + leaf learning { + description + "learn the connecting mag"; + type empty; + } + } + } + container enable { + description + "enable accounting for local mobility anchor"; + container aaa { + description + "AAA attributes"; + leaf accounting { + description + "Accounting"; + type empty; + } + } + } + container enforce { + description + "Enforcing HB values"; + leaf heartbeat-to-mag { + description + "send HB values to mag"; + type empty; + } + } + list interface { + description + "Configure local mobility anchor correspondent node interface"; + key "interface-name"; + leaf interface-name { + description + "Name of the interface"; + type string; + } + } + leaf mobile-map { + description + "mobile map to enable on this Local Mobility Anchor"; + must '../ios-mobileip:multipath' { + error-message "Multipath not configured, cannot config mobile map"; + } + type string; + } + container mobile-network { + description + "validate mobile network prefixes of MN"; + leaf mobile-network-type { + description + "Mobile NW prefix options for MN"; + type enumeration { + enum unauthorized; + enum aaa-authorized; + } + } + } + list rat { + description + "RAT type for this local mobility anchor"; + key "rat-type"; + leaf rat-type { + description + "RAT type for this local mobility anchor"; + type enumeration { + enum 3GPP2_1_RTT; + enum 3GPP2_EHRPD; + enum 3GPP2_HRPD; + enum 3GPP2_UMB; + enum 3GPP_E_UTRAN; + enum 3GPP_GERAN; + enum 3GPP_UTRAN; + enum ETHERNET; + enum PPP; + enum VIRTUAL; + enum WIMAX; + enum WLAN; + } + } + leaf priority { + description + "priority value for the RAT type"; + type uint8; + } + } + container replay-protection { + description + "Configure replay protection mechanism within domain"; + container timestamp { + description + "timestamp option"; + leaf window { + description + "configure the window value"; + type union { + type uint8 { + range "3..255"; + } + type enumeration { + enum ignore; + } + } + default "7"; + } + } + } + container tunnel { + description + "tunnel parameters for this local mobility anchor"; + leaf acl { + description + "Input acl to be applied"; + type string; + } + leaf mtu { + description + "tunnel ip mtu"; + type uint16 { + range "68..17916"; + } + } + } + list mag { + description + "MAG options for this local mobility anchor"; + key "mag-id domain-name"; + leaf mag-id { + description + "MAG identifier"; + type string; + } + leaf domain-name { + description + "Domain-name for this MAG"; + type string; + must '/ios:native/ios:ipv6/ios-mobileip:mobile/ios-mobileip:pmipv6-domain[ios-mobileip:domain=current()] ' { + error-message "Domain name mismatch"; + } + } + uses auth-option-grouping; + uses dscp-option-grouping; + container encap { + description + "encapsulation type between MAG and local mobility anchor"; + choice encap-type { + description + "encapsulation type choices"; + leaf gre-ipv4 { + description + "GRE in V4 encapsulation"; + must '../../ios-mobileip:ipv4-address' { + error-message "Cannot Configure Encap gre-ipv4 without configuring ipv4 address in MAG"; + } + type empty; + } + leaf gre-ipv6 { + description + "GRE in V6 encapsulation"; + must "((../../ios-mobileip:ipv4-address) + or (../../ios-mobileip:ipv6-address))" { + error-message "Configuration of IPV6/IPV4 address for MAG is mandatory"; + } + type empty; + } + } + } + leaf ipv4-address { + description + "MAG IPv4 address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "MAG IPv6 address"; + type inet:ipv6-address; + } + } + list network { + description + "network that this local mobility anchor supports"; + key "nw-name"; + leaf nw-name { + description + "network name"; + type string; + } + container pool { + description + "pool for ipv6/ipv4 prefixes"; + uses pool-ipv4-grouping; + uses pool-ipv6-grouping; + } + container mobile-network { + description + "mobile router network"; + list pool { + description + "pool starting address"; + key "pool-ip-add"; + leaf pool-ip-add { + description + "pool starting address"; + type inet:ipv4-address; + } + leaf pool-prefix { + description + "v4 pool prefix length"; + type uint8 { + range "8..24"; + } + } + leaf network-prefix { + description + "v4 network prefix length"; + type uint8 { + range "8..32"; + } + } + } + list v6pool { + description + "IPv6 pool starting address"; + key "pool-ipv6-add"; + leaf pool-ipv6-add { + description + "pool starting address"; + type inet:ipv6-address; + } + leaf pool-prefix { + description + "v6 pool prefix length"; + type uint8 { + range "8..64"; + } + } + leaf network-prefix { + description + "v6 network prefix length"; + type uint8 { + range "8..64"; + } + } + } + } + container dns { + description + "DNS address"; + container ip { + description + "DNS ip address"; + leaf pri-ip-add { + description + "Primary DNS ip"; + type inet:ipv4-address; + } + leaf sec-ip-add { + description + "Secondary DNS ip"; + type inet:ipv4-address; + } + } + } + } + container mobility-service { + description + "Service support by this local mobility anchor"; + container hybrid-access { + description + "Hybrid Access for optimal routing"; + presence "true"; + leaf disable-sla { + description + "disable IP SLA probes"; + type boolean; + default "true"; + } + list enable-sla { + description + "Enable SLA configuration"; + key "sla-type name"; + leaf sla-type { + description + "SLA type"; + type enumeration { + enum customer; + enum mag; + } + } + leaf name { + description + "SLA name"; + type string; + } + uses sla-option-grouping; + } + container sla { + description + "Hybrid ACCESS SLA configuration"; + when "../ios-mobileip:disable-sla = 'false'"; + uses sla-option-grouping; + } + container bandwidth-ratio { + description + "set bandwidth ratio for each link-type"; + presence "true"; + uses label-bandwidth-grouping; + list mag { + description + "set bandwidth ratio for each mag"; + key "mag-name"; + leaf mag-name { + description + "mag name"; + type string; + } + uses label-bandwidth-grouping; + } + } + list profile-definition { + description + "Traffic performance profile definition"; + key "name"; + leaf name { + description + "Name"; + type string; + } + leaf loadbalance { + description + "Mobile local loop"; + type empty; + } + container jitter { + description + "Specify a jitter value"; + leaf value { + description + "jitter value"; + type uint16 { + range "1..1000"; + } + } + leaf low-threshold { + description + "Jitter lower threshold value"; + type uint16 { + range "1..1000"; + } + } + } + container mos { + description + "Specify a mos value for voice"; + leaf value { + description + "mos value * 100"; + type uint16 { + range "1..60000"; + } + } + leaf low-threshold { + description + "MOS lower threshold"; + type uint16 { + range "1..60000"; + } + } + } + container packet-loss { + description + "Specify a packet loss value"; + leaf value { + description + "packet loss value in %"; + type uint16 { + range "1..100"; + } + } + leaf low-threshold { + description + "Packet loss lower threshold"; + type uint16 { + range "1..100"; + } + } + } + container rtt { + description + "Specify a rtt value"; + leaf value { + description + "rtt value in milli sec"; + type uint16 { + range "1..5000"; + } + } + leaf low-threshold { + description + "RTT lower threshold"; + type uint16 { + range "1..5000"; + } + } + } + } + } + container mobile-local-loop { + description + "Mobile local loop"; + presence "true"; + list customer { + description + "Customer configuration"; + key "name vrf"; + unique "vrf"; + leaf name { + description + "Customer identifier"; + type string; + } + leaf vrf { + description + "VRF name for this Customer"; + type string; + } + uses auth-option-grouping; + uses customer-key-default-grouping; + uses customer-key-label-grouping; + uses heartbeat-default-grouping; + list interface { + description + "Choice of the interface"; + key "interface-name"; + leaf interface-name { + description + "Name of the interface"; + type string; + } + } + uses mobility-service-mobile-local-loop-mnp; + leaf mobile-map { + description + "mobile map to enable for this customer"; + type string; + } + container mobile-route { + description + "distance for local mobility anchor mobile routes"; + leaf admin-distance { + description + "distance metric"; + type uint8 { + range "1..255"; + } + } + } + container network { + description + "network that this Customer belongs"; + list authorized { + must '(not (../unauthorized))' { + error-message "Remove unauthorized network and configure authorized network"; + } + description + "network that this Customer belongs"; + key "name"; + leaf name { + description + "network name"; + type string; + } + uses mobile-network-option-grouping; + container pool { + description + "pool for ipv6/ipv4 prefixes"; + uses pool-ipv4-grouping; + uses pool-ipv6-grouping; + } + } + leaf unauthorized { + must '(not (../authorized))' { + error-message "Remove authorized network and configure unauthorized network"; + } + description + "Disable Network Authorization for this Customer"; + type empty; + } + } + uses transport-default-grouping; + uses transport-vrf-grouping; + } + uses mobility-service-mobile-local-loop-mnp; + } + } + } + list pmipv6-mag { + description + "Proxy Mobile IPv6 MAG"; + max-elements 1; + key "mag-name domain"; + leaf mag-name { + description + "Proxy Mobile IPv6 MAG"; + type string { + length "1..128"; + } + } + leaf domain { + description + "Domain name"; + type string; + must '/ios:native/ios:ipv6/ios-mobileip:mobile/ios-mobileip:pmipv6-domain[ios-mobileip:domain=current()]' { + error-message "Domain name mismatch"; + } + } + container address { + description + "Configure MAG address"; + container dynamic { + description + "Dynamic COA for MAG"; + must '(not (../static/ipv4)) and (not (../static/ipv6))' { + error-message "MAG address already configured, cannot add dynamic coa support"; + } + presence "true"; + list roaming { + description + "specify the roaming interface for this MAG"; + key "interface"; + leaf interface { + description + "roaming interface"; + type string; + } + leaf priority { + description + "priority for this interface"; + type uint8 { + range "1..100"; + } + } + leaf egress-att { + description + "Access Technology Type of this interface"; + type enumeration { + enum 3G; + enum ETHERNET; + enum LTE; + enum WLAN; + } + } + leaf label { + description + "Label for this interface"; + type string; + } + } + } + container static { + description + "Statically configure MAG address"; + leaf ipv4 { + description + "MAG's ipv4 address"; + must '(not (../../dynamic))' { + error-message "MAG dynamic address already configured, cannot add static address"; + } + type inet:ipv4-address; + } + leaf ipv6 { + description + "MAG's ipv6 address"; + must '(not (../../dynamic))' { + error-message "MAG dynamic address already configured, cannot add static address"; + } + type inet:ipv6-address; + } + } + } + leaf apn { + description + "APN name"; + type string; + } + container binding { + description + "MAG binding options"; + leaf lifetime { + description + "Maximum binding lifetime (should be multiple of 4)"; + must '. mod 4 = 0' { + error-message "Maximum binding lifetime (should be multiple of 4)"; + } + type uint16 { + range "8..65532"; + } + default "3600"; + } + leaf init-retx-time { + description + "binding init retransmission time interval"; + must '. <= ../max-retx-time' { + error-message "Init value must be <= max retransmission value"; + } + type uint16 { + range "100..65535"; + } + default "1000"; + } + leaf max-retx-time { + description + "binding maximum retransmission time interval. Must be greater than current/configured Init value"; + must '. >= ../init-retx-time' { + error-message "Max value must be greater than current/configured init retransmission value"; + } + type uint16 { + range "100..65535"; + } + default "32000"; + } + leaf maximum { + description + "Maximum binding entries"; + type uint32 { + range "1..128000"; + } + default "10000"; + } + leaf refresh-time { + description + "binding refresh interval (should be multiple of 4)"; + must '. mod 4 = 0' { + error-message "Binding refresh-time (should be multiple of 4)"; + } + type uint32 { + range "4..65532"; + } + default "300"; + } + } + leaf sessionmgr { + description + "Enable session management for this MAG"; + type boolean; + default "false"; + } + container discover-mn-detach { + description + "Periodic verification of MN attachment"; + container poll { + description + "Polling related configuration"; + leaf interval { + description + "Polling Interval"; + must '(../ios-mobileip:retries) and (../ios-mobileip:timeout)' { + error-message "Select all the three leaves."; + } + type uint16 { + range "10..36000"; + } + default "10"; + } + leaf timeout { + description + "Polling Timeout"; + must '(../ios-mobileip:interval) and (../ios-mobileip:retries)' { + error-message "Select all the three leaves."; + } + type uint8 { + range "1..10"; + } + default "2"; + } + leaf retries { + description + "Polling Retries"; + must '(../ios-mobileip:interval) and (../ios-mobileip:timeout)' { + error-message "Select all the three leaves."; + } + type uint8 { + range "1..10"; + } + default "2"; + } + } + } + container ssmo-format { + description + "Service Selection Mobility Option format to be used for encoding"; + leaf label { + description + "Label format as per Request for Comments 5149"; + type empty; + } + } + container tunnel { + description + "tunnel configurations for MAG"; + leaf mtu { + description + "tunnel ip mtu for this mag"; + type uint16 { + range "68..17916"; + } + } + leaf nat { + description + "nat configurations for this mag"; + type enumeration { + enum inside; + enum outside; + } + } + } + uses tunnel-template-grouping; + leaf multipath { + description + "Enable multipath"; + type empty; + } + leaf mobile-map { + description + "mobile map to enable on this MAG"; + must '../ios-mobileip:multipath' { + error-message "Multipath not configured, cannot config mobile map"; + } + when '../ios-mobileip:multipath'; + type string; + } + list interface { + description + "Configure MAG enabled interfaces"; + key "interface-name"; + leaf interface-name { + description + "Interface name"; + type string; + } + } + container mobility-service { + description + "Service support by this Mobile Access Gateway"; + container hybrid-access { + description + "Hybrid Access for optimal routing"; + presence "true"; + leaf disable-sla { + description + "disable IP SLA probes"; + type boolean; + default "true"; + } + container sla { + description + "Hybrid ACCESS SLA configuration"; + when "../ios-mobileip:disable-sla = 'false'"; + uses sla-option-grouping; + } + container sla-responder-stats { + description + "Sending of SLA stats to responder"; + leaf disable { + description + "disable sending of stats"; + type empty; + } + } + container bandwidth-ratio { + description + "set bandwidth ratio for each link-type"; + presence "true"; + uses label-bandwidth-grouping; + } + container profile-definition { + list profile-definition { + description + "Traffic performance profile definition"; + key "name"; + leaf name { + description + "Name"; + type string; + } + uses profile-definition-grouping; + } + } + } + container mobile-local-loop { + description + "Mobile local loop service for MAG"; + presence "true"; + container ignore { + description + "Ignoring parameters"; + leaf home-address { + description + "Ignoring Home Address assigned by Local Mobility Anchor"; + type empty; + } + } + container reverse-tunnel { + description + "reverse tunneling mode for MAG Service"; + leaf default-route { + description + "default route based reverse tunneling mode"; + type empty; + } + leaf value { + description + "distance metric for this route"; + type uint8 { + range "1..255"; + } + } + } + container egress { + description + "Egress interface which is not roaming"; + leaf interface { + description + "Interface Name"; + type string; + } + } + } + } + list logical-mn { + description + "Logical Network access identifier or realm"; + key "mn-id"; + leaf mn-id { + description + "username@realm"; + type string; + } + container home { + description + "Home interface of Logical MN"; + leaf interface { + description + "Loopback interface"; + type string; + } + } + container mobile { + description + "Mobile Network of Logical MN"; + list network { + description + "Configure Logical MN Mobile networks"; + key "interface"; + leaf interface { + description + "Interface Name"; + type string; + } + leaf label { + description + "Label string"; + type string; + } + leaf learn-prefix { + description + "learn prefix option"; + type empty; + } + leaf skip-register { + description + "Skip Register option"; + type empty; + } + } + } + container address { + description + "Logical MN address"; + leaf dynamic { + description + "Dynamically assign"; + type empty; + } + } + container fixed { + description + "watch primary link for this Logical MN"; + leaf interface { + description + "Interface Name"; + type string; + } + container watch { + description + "watch the prefix"; + leaf ipv4 { + description + "ipv4 prefix to watch"; + type inet:ipv4-address; + } + leaf length { + description + "prefix length"; + type uint8 { + range "0..32"; + } + } + } + } + leaf mobile-map { + description + "mobile map to enable on this logical mn"; + must '../../ios-mobileip:multipath' { + error-message "Multipath not configured, cannot config mobile map"; + } + when '../../ios-mobileip:multipath'; + type string; + } + container service { + description + "Specify the service provided to Logical MN"; + choice service-types { + leaf dual { + description + "Support both IPv4 and IPv6 mobile networks"; + must 'not(../../address/dynamic)' { + error-message "Service IPV6 or dual are not supported when lmn address dynamic is configured"; + } + type empty; + } + leaf ipv6 { + description + "Support only IPv6 mobile networks"; + must 'not(../../address/dynamic)' { + error-message "Service IPV6 or dual are not supported when lmn address dynamic is configured"; + } + type empty; + } + leaf ipv4 { + description + "Support only IPv4 mobile networks"; + type empty; + } + } + } + container reverse-tunnel { + description + "reverse tunneling for Logical MN mobile network prefix"; + container route { + description + "route to be added"; + list ipv4 { + description + "ipv4 mobile network prefix"; + key "address prefix-len"; + leaf address { + description + "ipv4 mobile network prefix"; + type inet:ipv4-address; + } + leaf prefix-len { + description + "prefix length"; + type uint8 { + range "0..32"; + } + } + leaf distance-metric { + description + "distance metric"; + type uint8 { + range "1..255"; + } + } + } + list ipv6 { + description + "ipv6 mobile network prefix"; + key "address prefix-len"; + leaf address { + description + "ipv6 mobile network prefix"; + type inet:ipv6-address; + } + leaf prefix-len { + description + "prefix length"; + type uint8 { + range "0..128"; + } + } + leaf distance-metric { + description + "distance metric"; + type uint8 { + range "1..255"; + } + } + } + } + } + } + container local-routing-mag { + description + "Enable local routing for this MAG"; + must "../ios-mobileip:sessionmgr = 'false'" { + error-message "Local routing is not supported for MAG when sessionmgr is configured. Disabling local routing for MAG"; + } + when "../ios-mobileip:sessionmgr = 'false'"; + presence "true"; + leaf acl-name { + description + "Access list name to breakout traffic in MAG"; + type string; + } + } + leaf role { + description + "role for this MAG"; + type enumeration { + enum 3GPP; + enum LTE; + enum WIMAX; + enum WLAN; + } + default "WLAN"; + } + container replay-protection { + description + "Configure replay protection mechanism within mag"; + container timestamp { + description + "timestamp option"; + leaf window { + description + "configure the window value"; + type uint8 { + range "3..255"; + } + default "7"; + } + } + } + uses heartbeat-default-grouping; + uses heartbeat-label-grouping; + uses ani-option-grouping; + uses bri-option-grouping; + uses dscp-option-grouping; + uses generate-option-grouping; + uses ignore-option-grouping; + list lma { + description + "Local Mobility Anchor identifier"; + key "lma-id domain"; + leaf lma-id { + description + "Local Mobility Anchor identifier"; + type string; + } + leaf domain { + description + "Domain-name for this Local Mobility Anchor"; + type string; + must '/ios:native/ios:ipv6/ios-mobileip:mobile/ios-mobileip:pmipv6-domain[ios-mobileip:domain=current()] ' { + error-message "Domain name mismatch"; + } + } + uses auth-option-grouping; + uses dscp-option-grouping; + uses heartbeat-default-grouping; + leaf-list ipv4-address { + description + "Configure V4 address of the Local Mobility Anchor"; + type inet:ipv4-address; + } + leaf-list ipv6-address { + description + "Configure V6 address of the Local Mobility Anchor"; + type inet:ipv6-address; + } + container encap { + description + "encapsulation type between MAG and local mobility anchor"; + choice encap-type { + description + "encapsulation type choices"; + leaf gre-ipv4 { + description + "GRE in V4 encapsulation"; + must '../../ios-mobileip:ipv4-address' { + error-message "Cannot Configure Encap gre-ipv4 without configuring ipv4 address in MAG"; + } + type empty; + } + leaf gre-ipv6 { + description + "GRE in V6 encapsulation"; + must "((../../ios-mobileip:ipv4-address) + or (../../ios-mobileip:ipv6-address))" { + error-message "Configuration of IPV6/IPV4 address for MAG is mandatory"; + } + type empty; + } + } + } + leaf vrfid { + description + "vrf that this Local Mobility Anchor belong to"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]' { + error-message "VRF must be created 1st"; + } + type string; + } + uses tunnel-template-grouping; + uses tunnel-template-label-grouping; + } + } + } + } + + augment "/ios:native/ios:ipv6" { + uses config-ipv6-mobileip-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-asr900-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-asr900-deviation.yang new file mode 100644 index 000000000..db6d3b529 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-asr900-deviation.yang @@ -0,0 +1,155 @@ +module Cisco-IOS-XE-mpls-asr900-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mpls-asr900-deviation"; + prefix ios-mpls-asr900-deviate; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-mpls { + prefix ios-mpls; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native MPLS Deviation Yang model for ASR900 platform. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Initial Revision for 17.13 + - Added new mpls mtu range for asr900 variant"; + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:HundredGigE/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:Vlan/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:Loopback/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:Tunnel/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:BDI/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } + + deviation "/ios:native/ios:interface/ios:BD-VIF/ios:mpls/ios-mpls:mtu" { + deviate replace { + type uint16 { + range "64..9670"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-forwarding-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-forwarding-oper.yang new file mode 100644 index 000000000..3aa822343 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-forwarding-oper.yang @@ -0,0 +1,497 @@ +module Cisco-IOS-XE-mpls-forwarding-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mpls-forwarding-oper"; + prefix mpls-forwarding-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for mpls forwarding operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-03-01 { + description + "Added new model for MPLS MFI"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef outgoing-interface-type { + type enumeration { + enum drop { + value 0; + description + "Outgoing interface is not found"; + } + enum punt { + value 1; + description + "Punt packets to cpu"; + } + enum aggregate { + value 2; + description + "Aggregate interface (e.g., used for VPN label allocation)"; + } + enum exception { + value 3; + description + "Exception"; + } + enum none { + value 4; + description + "No outgoing interface"; + } + } + description + "Describes supported outgoing interface types"; + } + + typedef outgoing-interface-description-type { + type enumeration { + enum interface-type { + value 0; + description + "Forwarding path's outgoing interface type"; + } + enum interface-value { + value 1; + description + "Forwarding path's outgoing interface value"; + } + } + description + "Describes outgoing interface information types"; + } + + typedef outgoing-label-type { + type enumeration { + enum no-label { + value 0; + description + "A label is not present"; + } + enum pop-label { + value 1; + description + "Label is popped"; + } + enum ipv4-explicit-null { + value 2; + description + "IPv4 explicit NULL label is present"; + } + enum ipv6-explicit-null { + value 3; + description + "IPv6 explicit NULL label is present"; + } + enum regular-label { + value 4; + description + "A regular MPLS label is present"; + } + enum invalid-label { + value 5; + description + "An invalid label is present"; + } + } + description + "Describes supported outgoing label types"; + } + + typedef connection-info-type { + type enumeration { + enum information-string { + value 0; + description + "Connection information string"; + } + enum ip-prefix { + value 1; + description + "IP prefix for the connection"; + } + } + description + "Describes connection information types"; + } + + typedef forwarding-next-hop-type { + type enumeration { + enum point2point { + value 0; + description + "Next hop is via a P2P link"; + } + enum next-hop-ip-address { + value 1; + description + "Next hop IP address"; + } + enum next-hop-mac-address { + value 2; + description + "Next hop MAC address"; + } + } + description + "Describes supported next hop types"; + } + + grouping outgoing-interface-info { + description + "Outgoing interface information"; + choice discrim-choice { + description + "Type of interface information"; + case interface-type { + leaf interface-type { + type mpls-forwarding-ios-xe-oper:outgoing-interface-type; + description + "Outgoing interface type"; + } + } + case interface-value { + leaf interface-value { + type string; + description + "Outgoing interface value"; + } + } + } + } + + grouping outgoing-label-info { + description + "Outgoing label information"; + choice discrim-choice { + description + "Type of label"; + case no-label { + leaf no-label { + type boolean; + description + "True if a label is not present"; + } + } + case pop-label { + leaf pop-label { + type uint32; + description + "Pop label value"; + } + } + case ipv4-explicit-null { + leaf ipv4-explicit-null { + type uint32; + description + "IPv4 explicit null label value"; + } + } + case ipv6-explicit-null { + leaf ipv6-explicit-null { + type uint32; + description + "IPv6 explicit null label value"; + } + } + case regular-label { + leaf regular-label { + type uint32; + description + "Regular label value"; + } + } + case invalid-label { + leaf invalid-label { + type boolean; + description + "True if a label with a value that is outside IETF acceptable label range is present"; + } + } + } + } + + grouping connection-info { + description + "Connection information"; + choice discrim-choice { + description + "Type of connection information"; + case information-string { + leaf info-str { + type string; + description + "Connection information string"; + } + } + case ip-prefix { + leaf ip-prefix { + type inet:ip-prefix; + description + "IP prefix for the connection"; + } + } + } + } + + grouping forwarding-next-hop { + description + "Forwarding next hop information"; + choice discrim-choice { + description + "Next hop type"; + case point2point { + leaf p2p { + type boolean; + description + "True if next hop is via a p2p link"; + } + } + case next-hop-ip-address { + leaf ip-address { + type inet:ip-address; + description + "Next hop ip address"; + } + } + case next-hop-mac-address { + leaf mac-address { + type yang:mac-address; + description + "Next hop mac address"; + } + } + } + } + + grouping local-label-forwarding-info { + description + "Information of a given forwarding path"; + container outgoing-interface { + description + "Outgoing interface information"; + uses mpls-forwarding-ios-xe-oper:outgoing-interface-info; + } + container outgoing-label { + description + "Outgoing label information"; + uses mpls-forwarding-ios-xe-oper:outgoing-label-info; + } + container next-hop { + description + "Next hop information"; + uses mpls-forwarding-ios-xe-oper:forwarding-next-hop; + } + } + + grouping local-label-entry { + description + "Local label entry"; + container connection-information { + description + "Connection information for the local label"; + uses mpls-forwarding-ios-xe-oper:connection-info; + } + list forwarding-paths { + description + "ECMP paths for the local label"; + uses mpls-forwarding-ios-xe-oper:local-label-forwarding-info; + } + } + + grouping local-label-key { + description + "Key for the local label"; + leaf local-label { + type uint32; + description + "Value of local label"; + } + } + + grouping local-label-forwarding-path-statistics { + description + "Statistics for the forwarding path"; + leaf label-switched-bytes { + type uint64; + description + "Number of bytes switched to a particular ECMP path"; + } + leaf label-switched-packets { + type uint64; + description + "Number of packets switched to a particular ECMP path"; + } + } + + grouping local-label-forwarding-path-key { + description + "Key for the forwarding path"; + leaf local-label { + type uint32; + description + "Value of local label"; + } + leaf forwarding-path-index { + type uint8; + description + "Path index among ECMP paths for the same local label"; + } + } + + grouping ecmp-local-label-entry { + description + "Details of an ECMP path"; + container connection-information { + description + "Connection information for a local label"; + uses mpls-forwarding-ios-xe-oper:connection-info; + } + container outgoing-interface { + description + "Outgoing interface information"; + uses mpls-forwarding-ios-xe-oper:outgoing-interface-info; + } + container outgoing-label { + description + "Outgoing label information"; + uses mpls-forwarding-ios-xe-oper:outgoing-label-info; + } + container next-hop { + description + "Next hop information"; + uses mpls-forwarding-ios-xe-oper:forwarding-next-hop; + } + container label-stats { + description + "Statistics of a label"; + uses mpls-forwarding-ios-xe-oper:local-label-forwarding-path-statistics; + } + } + + grouping ecmp-index-key { + description + "Key for an ECMP path"; + leaf ecmp-idx { + type uint64; + description + "Number of an ECMP path"; + } + } + + grouping ecmp-stats-summary { + description + "Total data of all the ECMP paths for a label"; + leaf total-label-switched-bytes { + type uint64; + units "bytes"; + description + "Total number of bytes switched of all ECMP paths for a label"; + } + leaf total-label-switched-packets { + type uint64; + units "packets"; + description + "Total number of packets switched of all ECMP paths for a label"; + } + } + + grouping ecmp-stats { + description + "Statistics of all the ECMP paths for a label"; + container stats-summary { + description + "Total number of bytes and packets switched of all ECMP paths for a label"; + uses mpls-forwarding-ios-xe-oper:ecmp-stats-summary; + } + list ecmp-index { + key "ecmp-idx"; + description + "Reference to the index of a ECMP path"; + uses mpls-forwarding-ios-xe-oper:ecmp-index-key; + uses mpls-forwarding-ios-xe-oper:ecmp-local-label-entry; + } + } + + container mpls-forwarding-oper-data { + config false; + description + "MPLS forwarding operational data"; + list mpls-local-label { + key "local-label"; + description + "Local label information"; + uses mpls-forwarding-ios-xe-oper:local-label-key; + uses mpls-forwarding-ios-xe-oper:local-label-entry; + } + list mpls-local-label-statistics { + key "local-label forwarding-path-index"; + description + "Statistics for forwarding paths of the local labels"; + uses mpls-forwarding-ios-xe-oper:local-label-forwarding-path-key; + uses mpls-forwarding-ios-xe-oper:local-label-forwarding-path-statistics; + } + list ecmp-local-label { + key "local-label"; + description + "Native MPLS MFI model"; + uses mpls-forwarding-ios-xe-oper:local-label-key; + uses mpls-forwarding-ios-xe-oper:ecmp-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-ldp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-ldp-oper.yang new file mode 100644 index 000000000..a1073959f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-ldp-oper.yang @@ -0,0 +1,1296 @@ +module Cisco-IOS-XE-mpls-ldp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mpls-ldp-oper"; + prefix mpls-ldp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MPLS LDP operational data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mpls-ldp-oper-status { + type enumeration { + enum mpls-ldp-oper-status-unknown { + value 0; + description + "Unknown"; + } + enum mpls-ldp-oper-status-enabled { + value 1; + description + "Enabled"; + } + enum mpls-ldp-oper-status-disabled { + value 2; + description + "Disabled"; + } + } + description + "Information of MPLS LDP operation status"; + } + + typedef hello-adjacency-type { + type enumeration { + enum hello-adjacency-type-link { + value 0; + description + "Link adjacency"; + } + enum hello-adjacency-type-targeted { + value 1; + description + "Targeted adjacency"; + } + } + description + "Hello adjacency type"; + } + + typedef session-role { + type enumeration { + enum session-role-unknown { + value 0; + description + "Unknown"; + } + enum session-role-active { + value 1; + description + "Active"; + } + enum session-role-passive { + value 2; + description + "Passive"; + } + } + description + "MPLS LDP session role"; + } + + typedef session-state { + type enumeration { + enum session-state-non-existent { + value 0; + description + "Non-existent"; + } + enum session-state-initialized { + value 1; + description + "Initialized"; + } + enum session-state-open-received { + value 2; + description + "Open received"; + } + enum session-state-open-sent { + value 3; + description + "Open sent"; + } + enum session-state-operational { + value 4; + description + "Operational"; + } + } + description + "MPLS LDP session state"; + } + + typedef label-distribution-method { + type enumeration { + enum lbl-dist-method-dod { + value 0; + description + "Downstream on demand"; + } + enum lbl-dist-method-du { + value 1; + description + "Downstream unsolicited"; + } + } + description + "Label distribution method"; + } + + typedef adj-state { + type enumeration { + enum adj-state-ne { + value 0; + description + "Non-existent"; + } + enum adj-state-unsol-op-pd { + value 1; + description + "Unsolicited open pending"; + } + enum adj-state-def { + value 2; + description + "Deferred"; + } + enum adj-state-est { + value 3; + description + "Established"; + } + enum adj-state-wait-tib-exp { + value 4; + description + "Waiting for TIB expansion (peer index)"; + } + enum adj-state-dest { + value 5; + description + "Destroyed"; + } + } + description + "LDP peer adjacency state"; + } + + typedef tcp-hash-type { + type enumeration { + enum tcp-hash-type-none { + value 0; + description + "No hashing algorithm used for the TCP connection"; + } + enum tcp-hash-type-md5-password { + value 1; + description + "MD5 hashing on TCP connection, LDP gives TCP the password"; + } + enum tcp-hash-type-md5-keychain { + value 2; + description + "MD5 hashing on TCP connection, LDP gives TCP the keychain"; + } + enum tcp-hash-type-sha1 { + value 3; + description + "SHA1 hashing algorithm used for the TCP connection"; + } + enum tcp-hash-type-tcp-ao { + value 4; + description + "TCP AO hashing algorithm used for the TCP connection"; + } + } + description + "LDP peer tcp hash type"; + } + + typedef graceful-restart-down-neighbor-state { + type enumeration { + enum gr-down-nbr-state-none { + value 0; + description + "None, state not available"; + } + enum gr-down-nbr-state-wait-connect { + value 1; + description + "Wait connect"; + } + enum gr-down-nbr-state-recovering { + value 2; + description + "Recovering"; + } + enum gr-down-nbr-state-defunct { + value 3; + description + "Defunct"; + } + } + description + "LDP graceful restart down neighbor state"; + } + + typedef adj-flag { + type bits { + bit adj-flag-dir { + position 0; + description + "Directed"; + } + bit adj-flag-temp { + position 1; + description + "Temporary"; + } + bit adj-flag-force-down { + position 2; + description + "Force down"; + } + bit adj-flag-sess-up-wait { + position 3; + description + "Waiting for session up"; + } + bit adj-flag-ldp-hello { + position 4; + description + "LDP hello"; + } + bit adj-flag-tx { + position 5; + description + "Transmitting"; + } + bit adj-flag-need-route { + position 6; + description + "Need route"; + } + bit adj-flag-on-tx-q { + position 7; + description + "On transmit working queue"; + } + bit adj-flag-on-rx-q { + position 8; + description + "On receive working queue"; + } + bit adj-flag-pwd-chg-pd { + position 9; + description + "Password change pending"; + } + bit adj-flag-pwd-req { + position 10; + description + "Password required"; + } + bit adj-flag-intf-down { + position 11; + description + "Interface down"; + } + bit adj-flag-pwd-chg-ro-pd { + position 12; + description + "Password change roll over pending"; + } + bit adj-flag-exp-delayed { + position 13; + description + "Expire delayed"; + } + bit adj-flag-rd-blk { + position 14; + description + "Read blocked"; + } + bit adj-flag-rd-pdu { + position 15; + description + "Reading PDU"; + } + } + description + "MPLS LDP discovery adjacency flags"; + } + + typedef graceful-restart-neighbor-session-flag { + type bits { + bit gr-nbr-flag-need-mark { + position 0; + description + "Need mark"; + } + bit gr-nbr-flag-need-id-change { + position 1; + description + "Need Identifier change"; + } + bit gr-nbr-flag-need-delete { + position 2; + description + "Needs deletion of the session"; + } + } + description + "Graceful restart down neighbor session flags"; + } + + grouping local-label-binding { + description + "Local label binding"; + leaf label { + type uint32; + description + "Local label value + 0 - 0xfffff : Valid local label range + (0xfffff + 2) : No local label is allocated for this prefix"; + } + leaf withdrawn { + type boolean; + description + "withdraw flag"; + } + leaf wd-sent-to-peer { + type boolean; + description + "Withdraw sent to peer flag"; + } + leaf-list advertised-to { + type string; + ordered-by user; + description + "Peers advertised to"; + } + } + + grouping remote-label-binding { + description + "Remote label binding"; + leaf label { + type uint32; + description + "Remote label"; + } + leaf ldpid { + type string; + description + "LDP Identifier"; + } + leaf is-static { + type boolean; + description + "Static label flag"; + } + leaf checkpointed { + type boolean; + description + "Checkpointed flag"; + } + leaf stale { + type boolean; + description + "Stale flag"; + } + leaf recovered { + type boolean; + description + "Recovered flag"; + } + leaf entropy-label-capable { + type boolean; + description + "Entropy label capable flag"; + } + } + + grouping binding-fec-label { + description + "FEC label binding"; + leaf fec { + type inet:ip-prefix; + description + "Forwarding Equivalent Class"; + } + leaf revision { + type uint16; + description + "Revision"; + } + leaf checkpointed { + type boolean; + description + "Checkpointed flag"; + } + leaf entropy-label-capable { + type boolean; + description + "Entropy label capable flag"; + } + container local-binding { + description + "Local label binding"; + uses mpls-ldp-ios-xe-oper:local-label-binding; + } + list remote-binding { + description + "Remote label bindings"; + uses mpls-ldp-ios-xe-oper:remote-label-binding; + } + } + + grouping capability { + description + "LDP capability state"; + leaf typed-wildcard { + type boolean; + description + "Typed wildcard"; + } + leaf iccp { + type boolean; + description + "Inter-Chassis Communication Protocol"; + } + leaf iccp-major-version { + type uint8; + description + "ICCP major version"; + } + leaf iccp-minor-version { + type uint8; + description + "ICCP minor version"; + } + leaf dynamic-announcement { + type boolean; + description + "Dynamic announcement"; + } + leaf mldp-p2mp { + type boolean; + description + "mLDP Point-To-Multipoint"; + } + leaf mldp-mp2mp { + type boolean; + description + "mLDP Multipoint-To-Multipoint"; + } + } + + grouping graceful-restart { + description + "LDP graceful restart state"; + leaf enable { + type boolean; + description + "Enable flag"; + } + leaf reconnect-time { + type uint32; + units "seconds"; + description + "Reconnect time in seconds"; + } + leaf recover-time { + type uint32; + units "seconds"; + description + "Recover time in seconds"; + } + leaf forward-hold-time { + type uint32; + units "seconds"; + description + "Forward hold time in seconds"; + } + } + + grouping hello-adjacency-key { + description + "LDP hello adjacency key"; + leaf adjacent-address { + type inet:ip-address; + description + "Adjacency address"; + } + leaf transport-address { + type inet:ip-address; + description + "Transport address"; + } + } + + grouping hello-adjacency { + description + "LDP hello adjacency information"; + leaf adjacent-ldpid { + type string; + description + "Adjacent LDP Identifier"; + } + leaf flag { + type mpls-ldp-ios-xe-oper:adj-flag; + description + "Flags (see: mpls ldp discovery adjacency flag)"; + } + leaf targeted-passive { + type boolean; + description + "Flag: targeted passive"; + } + leaf hello-hold-time-adjacent { + type uint16; + units "seconds"; + description + "Adjacent hello hold time in seconds"; + } + leaf hello-hold-time-negotiated { + type uint16; + units "seconds"; + description + "Negotiated hello hold time in seconds"; + } + leaf hello-hold-time-remaining { + type uint16; + units "seconds"; + description + "Remaining hello hold time in seconds"; + } + leaf password-required { + type boolean; + description + "Flag: Password required"; + } + leaf password-pending { + type uint16; + description + "Flag: Password pending"; + } + leaf password-source { + type uint32; + description + "Password source values + * 0 : neighbor + This indicates that the password for the neighbor is retrieved + from the mpls ldp neighbor [vrf vrf-name] ip-address password [0 | 7] password command. + * 1~32767 : password option number + This number defines the order in which the access lists are + evaluated in the determination of a neighbor password. + * 32768 : fall back to MD5 password for LDP sessions with peers + * 32769 : none i.e, No password is configured for this neighbor"; + } + leaf nexthop { + type inet:ip-address; + description + "Next-hop address"; + } + leaf no-route { + type boolean; + description + "Flag: no route to transport address"; + } + leaf no-host-route { + type boolean; + description + "Flag: no host route to transport address"; + } + } + + grouping link-state { + description + "LDP hello discovery source state for linked adjacency"; + leaf igp-sync-enable { + type boolean; + description + "Flag: IGP sync enabled"; + } + leaf igp-sync-delay { + type uint16; + units "seconds"; + description + "IGP sync delay in seconds"; + } + } + + grouping targeted-state { + description + "LDP hello discovery source state for targeted adjacency"; + leaf hello-accept-enable { + type boolean; + description + "Flag: hello accept enabled"; + } + leaf hello-accept-neighbor-list { + type string; + description + "LDP hello accept neighbor list"; + } + } + + grouping discovery-source-key { + description + "LDP adjacency discovery source table key"; + leaf is-targeted-adjacency { + type uint8; + description + "Flag: targeted adjacency"; + } + leaf if-index { + type uint32; + description + "interface index for link adjacency; + value 0 for targeted adjacency"; + } + } + + grouping discovery-source { + description + "LDP adjacency discovery source state"; + leaf hello-hold-time { + type uint16; + units "seconds"; + description + "Hello hold time in seconds"; + } + leaf hello-interval { + type uint16; + units "seconds"; + description + "Hello interval in seconds"; + } + leaf enable { + type boolean; + description + "Flag: enable"; + } + leaf transport-address { + type inet:ip-address; + description + "Transport address"; + } + list mpls-ldp-disc-hello-adj { + key "adjacent-address transport-address"; + description + "Hello adjacencies"; + uses mpls-ldp-ios-xe-oper:hello-adjacency-key; + uses mpls-ldp-ios-xe-oper:hello-adjacency; + } + choice type-choice { + description + "Hello adjacency type"; + case hello-adjacency-type-link { + container link-state { + description + "Link type adjacency state"; + uses mpls-ldp-ios-xe-oper:link-state; + } + } + case hello-adjacency-type-targeted { + container targeted-state { + description + "Targeted type adjacency state"; + uses mpls-ldp-ios-xe-oper:targeted-state; + } + } + } + } + + grouping label-advertisement-mode { + description + "LDP label advertisement mode"; + leaf local { + type mpls-ldp-ios-xe-oper:label-distribution-method; + description + "Local label advertisement mode"; + } + leaf negotiated { + type mpls-ldp-ios-xe-oper:label-distribution-method; + description + "Negotiated label advertisement mode"; + } + } + + grouping peer-graceful-restart { + description + "LDP peer graceful restart state"; + leaf enable { + type boolean; + description + "Enable flag"; + } + leaf reconnect-time { + type uint16; + units "seconds"; + description + "Reconnect time in seconds"; + } + leaf recovery-time { + type uint16; + units "seconds"; + description + "Recovery time in seconds"; + } + } + + grouping session-hold-time { + description + "LDP peer session hold time state"; + leaf negotiated { + type uint16; + units "seconds"; + description + "Negotiated session hold time in seconds"; + } + } + + grouping tcp-connection { + description + "LDP peer session TCP connection state"; + leaf local-address { + type inet:ip-address; + description + "Local address"; + } + leaf local-port { + type uint16; + description + "Local port"; + } + leaf remote-address { + type inet:ip-address; + description + "Remote address"; + } + leaf remote-port { + type uint16; + description + "Remote port"; + } + } + + grouping peer-events { + description + "LDP peer events state"; + leaf total-messages { + type uint64; + description + "Total messages"; + } + } + + grouping peer-statistics { + description + "LDP peer statistic counters"; + container sent { + description + "Sent peer events"; + uses mpls-ldp-ios-xe-oper:peer-events; + } + container received { + description + "Received peer events"; + uses mpls-ldp-ios-xe-oper:peer-events; + } + leaf nsr-in-lbl-req-rec-created { + type uint32; + description + "Protocol state counter: NSR incoming label request record created"; + } + leaf nsr-in-lbl-req-rec-freed { + type uint32; + description + "Protocol state counter: NSR incoming label request record freed"; + } + leaf nsr-in-lbl-wd-rec-created { + type uint32; + description + "protocol state counter: NSR incoming label withdraw record created"; + } + leaf nsr-in-lbl-wd-rec-freed { + type uint32; + description + "protocol state counter: NSR incoming label withdraw record freed"; + } + leaf nsr-lcl-addr-wd-rec-created { + type uint32; + description + "Protocol state counter: NSR local address withdraw record created"; + } + leaf nsr-lcl-addr-wd-rec-freed { + type uint32; + description + "Protocol state counter: NSR local address withdraw record freed"; + } + leaf adj-last-addr-rev-sent { + type uint64; + description + "adjacent last address revision sent"; + } + } + + grouping peer-discovery-source { + description + "LDP peer discovery source"; + leaf is-targeted-adjacency { + type boolean; + description + "Flag: targeted adjacency"; + } + leaf if-index { + type uint32; + description + "Interface index for link adjacency, 0 for targeted adjacency"; + } + leaf adjacent-address { + type inet:ip-address; + description + "Adjacent address"; + } + leaf transport-address { + type inet:ip-address; + description + "Transport address"; + } + } + + grouping peer { + description + "LDP peer state"; + leaf peer-id { + type string; + description + "Peer LDP identifier"; + } + leaf admin-down { + type boolean; + description + "Flag: admin down"; + } + leaf state { + type mpls-ldp-ios-xe-oper:adj-state; + description + "adjacency state"; + } + leaf session-protocol-version { + type uint32; + description + "Session protocol version"; + } + container capability-sent { + description + "Capability sent"; + uses mpls-ldp-ios-xe-oper:capability; + } + container capability-received { + description + "Capability received"; + uses mpls-ldp-ios-xe-oper:capability; + } + leaf sess-auth-type { + type mpls-ldp-ios-xe-oper:tcp-hash-type; + description + "Session authentication type"; + } + container graceful-restart { + description + "Graceful restart state"; + uses mpls-ldp-ios-xe-oper:peer-graceful-restart; + } + leaf nsr-ready { + type boolean; + description + "Flag: NSR ready"; + } + leaf sess-ka-hold-time { + type uint16; + units "seconds"; + description + "Session keepalive hold time in seconds"; + } + leaf sess-ka-interval { + type uint16; + units "seconds"; + description + "Session keepalive hold interval in seconds"; + } + container advertisement-mode { + description + "Label advertisement mode"; + uses mpls-ldp-ios-xe-oper:label-advertisement-mode; + } + container session-hold-time { + description + "Session hold time in seconds"; + uses mpls-ldp-ios-xe-oper:session-hold-time; + } + leaf session-protection-duration { + type uint16; + units "seconds"; + description + "Session protection duration in seconds"; + } + leaf session-protection-acl { + type string; + description + "Session protection ACL name"; + } + leaf session-state { + type mpls-ldp-ios-xe-oper:session-state; + description + "Session state"; + } + leaf session-role { + type mpls-ldp-ios-xe-oper:session-role; + description + "Session role"; + } + container tcp-connection { + description + "TCP connection"; + uses mpls-ldp-ios-xe-oper:tcp-connection; + } + list discovery-sources { + description + "Discovery sources"; + uses mpls-ldp-ios-xe-oper:peer-discovery-source; + } + leaf establish-time { + type yang:date-and-time; + description + "Establish time"; + } + leaf-list address-bound { + type inet:ip-address; + ordered-by user; + description + "Bound addresses"; + } + leaf password-required { + type boolean; + description + "Flag: password required"; + } + leaf password-change-pending { + type boolean; + description + "Flag: password change pending"; + } + leaf password-rollover-pending { + type boolean; + description + "Flag: password rollover pending"; + } + leaf password-source { + type uint32; + description + "Password source values + * 0 : neighbor + This indicates that the password for the neighbor is retrieved + from the mpls ldp neighbor [vrf vrf-name] ip-address password [0 | 7] password command. + * 1~32767 : password option number + This number defines the order in which the access lists are + evaluated in the determination of a neighbor password. + * 32768 : fall back to MD5 password for LDP sessions with peers + * 32769 : none i.e, No password is configured for this neighbor"; + } + leaf is-keychain { + type boolean; + description + "Flag: keychain"; + } + leaf keychain-name { + type string; + description + "Keychain name"; + } + container statistics { + description + "Peer statistics"; + uses mpls-ldp-ios-xe-oper:peer-statistics; + } + } + + grouping graceful-restart-neighbor-session-id { + description + "Graceful restart down neighbor session Identifier"; + leaf ldpid { + type string; + description + "LDP Identifier"; + } + leaf instance { + type uint16; + description + "Instance Identifier + * 0 : chassis-wide TDP Identifier + * non-zero : Not chassis-wide TDP Identifier (i.e,for a ATM interface)"; + } + leaf flags { + type mpls-ldp-ios-xe-oper:graceful-restart-neighbor-session-flag; + description + "Flag value, + 0x01 : Request bindings marking + 0x02 : Request bindings update if a new LDP ID is being used + 0x04 : Request bindings deletion"; + } + } + + grouping graceful-restart-down-neighbor { + description + "Graceful restart down neighbor data"; + leaf peer-id { + type string; + description + "Peer LDP Identifier"; + } + container old-session { + description + "Old session Identifier"; + uses mpls-ldp-ios-xe-oper:graceful-restart-neighbor-session-id; + } + container new-session { + description + "New session Identifier"; + uses mpls-ldp-ios-xe-oper:graceful-restart-neighbor-session-id; + } + list session-history { + description + "Session history"; + uses mpls-ldp-ios-xe-oper:graceful-restart-neighbor-session-id; + } + leaf num-restarts { + type uint8; + description + "Number of restarts"; + } + leaf listed { + type boolean; + description + "Flag: New record created in GR down neighbor + database"; + } + leaf on-task-queue { + type boolean; + description + "Flag: New record added to the GR down neighbor + bindings management task queue"; + } + leaf down-neighbor-state { + type mpls-ldp-ios-xe-oper:graceful-restart-down-neighbor-state; + description + "Down neighbor state"; + } + leaf sso-created { + type boolean; + description + "Flag: Stateful Switch Over created"; + } + leaf-list address-list { + type inet:ip-address; + ordered-by user; + description + "Address list"; + } + leaf reconnect-time-left { + type uint16; + units "seconds"; + description + "Reconnect time left in seconds"; + } + leaf recovery-time-left { + type uint16; + units "seconds"; + description + "Recover time left in seconds"; + } + } + + grouping ldp-state { + description + "MPLS LDP state"; + leaf table-id { + type uint64; + description + "Routing table Identifier"; + } + leaf oper-status { + type mpls-ldp-ios-xe-oper:mpls-ldp-oper-status; + description + "Operational status"; + } + container capability { + description + "Capabilities information"; + uses mpls-ldp-ios-xe-oper:capability; + } + container graceful-restart { + description + "Graceful restart information"; + uses mpls-ldp-ios-xe-oper:graceful-restart; + } + leaf igp-sync-hold-down-time { + type uint32; + units "seconds"; + description + "IGP sync hold down time in seconds"; + } + leaf path-vector-limit { + type uint32; + description + "Path vector limit"; + } + leaf hop-count-limit { + type uint32; + description + "Hop count limit"; + } + leaf enable { + type boolean; + description + "Enable flag"; + } + leaf transport-address { + type inet:ip-address; + description + "Transport address"; + } + list mpls-ldp-binding-fec-lbl { + key "fec"; + description + "FEC label binding"; + uses mpls-ldp-ios-xe-oper:binding-fec-label; + } + leaf hello-hold-time { + type uint16; + units "seconds"; + description + "Discovery hello hold time in seconds"; + } + leaf hello-interval { + type uint16; + units "seconds"; + description + "Discovery hello interval in seconds"; + } + leaf ldpid { + type string; + description + "LDP identifier"; + } + list mpls-ldp-disc-src { + key "is-targeted-adjacency if-index"; + description + "Discovery sources"; + uses mpls-ldp-ios-xe-oper:discovery-source-key; + uses mpls-ldp-ios-xe-oper:discovery-source; + } + leaf sess-ka-hold-time { + type uint16; + units "seconds"; + description + "Session keepalive hold time in seconds"; + } + leaf sess-ka-interval { + type uint16; + units "seconds"; + description + "Session keepalive interval in seconds"; + } + list mpls-ldp-peer { + key "peer-id"; + description + "MPLS LDP peers"; + uses mpls-ldp-ios-xe-oper:peer; + } + list mpls-ldp-gr-down-nbr { + key "peer-id"; + description + "MPLS LDP Graceful restart down neighbors"; + uses mpls-ldp-ios-xe-oper:graceful-restart-down-neighbor; + } + leaf disc-num-ldp-intf { + type uint32; + description + "Number of interfaces LDP is configured"; + } + leaf disc-num-ldp-intf-active { + type uint32; + description + "Number of interfaces LDP is enabled"; + } + leaf disc-num-link-adj { + type uint32; + description + "Number of LDP Link Adjacencies"; + } + leaf disc-num-tgt-adj { + type uint32; + description + "Number of LDP Targeted Adjacencies"; + } + leaf disc-num-bad-src-addr { + type uint32; + description + "Number of LDP errors with Bad Source address"; + } + leaf disc-num-bad-hello-pdu { + type uint32; + description + "Number of LDP errors with Bad Hello PDUs"; + } + leaf disc-num-bad-xport-addr { + type uint32; + description + "Number of LDP errors with Bad Transport address"; + } + leaf disc-num-same-router-id { + type uint32; + description + "Number of LDP errors with same router id"; + } + leaf disc-num-wrong-router-id { + type uint32; + description + "Number of LDP errors with wrong router id"; + } + } + + container mpls-ldp-oper-data { + config false; + description + "MPLS LDP operational data"; + list mpls-ldp-state { + key "table-id"; + description + "MPLS LDP state information"; + uses mpls-ldp-ios-xe-oper:ldp-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-te-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-te-oper.yang new file mode 100644 index 000000000..ff29c0e92 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls-te-oper.yang @@ -0,0 +1,1934 @@ +module Cisco-IOS-XE-mpls-te-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mpls-te-oper"; + prefix mpls-te-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MPLS traffic engineering operational data. + Copyright (c) 2018-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef te-slsp-role { + type enumeration { + enum te-slsp-role-head { + value 0; + description + "Traffic engineering sub LSP role head"; + } + enum te-slsp-role-mid { + value 1; + description + "Traffic engineering sub LSP role mid"; + } + enum te-slsp-role-tail { + value 2; + description + "Traffic engineering sub LSP role tail"; + } + } + description + "TE sub LSP role"; + } + + typedef te-slsp-state { + type enumeration { + enum te-slsp-state-discon { + value 0; + description + "TE sub LSP state disconnected"; + } + enum te-slsp-state-con { + value 1; + description + "TE sub LSP role connected"; + } + } + description + "Traffic engineering sub LSP state"; + } + + typedef te-slsp-frr-state { + type enumeration { + enum te-slsp-frr-state-none { + value 0; + description + "TE sub LSP FRR state none"; + } + enum te-slsp-frr-state-enabled { + value 1; + description + "TE sub LSP FRR state enabled"; + } + enum te-slsp-frr-state-ready { + value 2; + description + "TE sub LSP FRR state ready"; + } + enum te-slsp-frr-state-active { + value 3; + description + "TE sub LSP FRR state active"; + } + } + description + "TE sub LSP FRR state"; + } + + typedef te-slsp-ero-type { + type enumeration { + enum te-slsp-ero-type-strict { + value 0; + description + "Sub LSP explicit route object type strict"; + } + enum te-slsp-ero-type-loose { + value 1; + description + "Sub LSP explicit route object type state loose"; + } + } + description + "TE sub LSP explicit route object type"; + } + + typedef te-he-lsp-mode { + type enumeration { + enum te-he-lsp-mode-working { + value 0; + description + "TE HE LSP mode working"; + } + enum te-he-lsp-mode-working-reopt { + value 1; + description + "TE HE LSP mode working re-optimization"; + } + enum te-he-lsp-mode-working-clean { + value 2; + description + "TE HE LSP mode working clean"; + } + enum te-he-lsp-mode-protect { + value 3; + description + "TE HE LSP mode protect"; + } + enum te-he-lsp-mode-protect-reopt { + value 4; + description + "TE HE LSP mode protect re-optimization"; + } + enum te-he-lsp-mode-protect-clean { + value 5; + description + "TE HE LSP mode protect clean"; + } + } + description + "Traffic engineering head-end mode"; + } + + typedef te-he-lsp-fail-reason { + type enumeration { + enum te-he-lsp-fail-none { + value 0; + description + "TE HE LSP fail reason none"; + } + enum te-he-lsp-fail-generic { + value 1; + description + "TE HE LSP fail reason generic"; + } + enum te-he-lsp-fail-misconfig { + value 2; + description + "TE HE LSP fail reason mis-config"; + } + enum te-he-lsp-fail-already { + value 3; + description + "TE HE LSP fail already"; + } + enum te-he-lsp-fail-reopt { + value 4; + description + "TE HE LSP fail re-optimization"; + } + enum te-he-lsp-fail-abort-install { + value 5; + description + "TE HE LSP fail reason abort install"; + } + enum te-he-lsp-fail-all-shut { + value 6; + description + "TE HE LSP fail all shut"; + } + enum te-he-lsp-fail-vif-shut { + value 7; + description + "TE HE LSP fail virtual interface shut"; + } + enum te-he-lsp-fail-popt-decfg { + value 8; + description + "TE HE LSP fail path opt de-cfg"; + } + enum te-he-lsp-fail-popt-recfg { + value 9; + description + "TE HE LSP fail reason path opt re-cfg"; + } + enum te-he-lsp-fail-vif-src-chg { + value 10; + description + "TE LSP fail reason virtual interface src change"; + } + enum te-he-lsp-fail-no-path { + value 11; + description + "TE HE LSP fail reason no path"; + } + enum te-he-lsp-fail-verify { + value 12; + description + "TE HE LSP fail verify"; + } + enum te-he-lsp-fail-frr-verify { + value 13; + description + "TE HE LSP fail reason FRR verify"; + } + enum te-he-lsp-fail-max-metric { + value 14; + description + "TE HE LSP fail reason max metric"; + } + enum te-he-lsp-fail-timeout { + value 15; + description + "TE HE LSP fail reason timeout"; + } + enum te-he-lsp-fail-patherr { + value 16; + description + "TE HE LSP fail reason path error"; + } + enum te-he-lsp-fail-remerge-patherr { + value 17; + description + "TE HE LSP fail reason re-merge path error"; + } + enum te-he-lsp-fail-frr-patherr { + value 18; + description + "TE HE LSP fail reason FRR path error"; + } + enum te-he-lsp-fail-param-adj { + value 19; + description + "TE HE LSP fail reason parameter adj"; + } + enum te-he-lsp-fail-param-cfg { + value 20; + description + "TE HE LSP fail reason parameter cfg"; + } + enum te-he-lsp-fail-pathtear { + value 21; + description + "TE HE LSP fail reason path tear"; + } + enum te-he-lsp-fail-sso-failure { + value 22; + description + "TE HE LSP fail reason SSO failure"; + } + enum te-he-lsp-fail-frr-active { + value 23; + description + "TE HE LSP fail reason FRR active"; + } + enum te-he-lsp-fail-preempt { + value 24; + description + "TE HE LSP fail reason preempt"; + } + enum te-he-lsp-fail-resv-del { + value 25; + description + "TE HE LSP fail reason del"; + } + enum te-he-lsp-fail-path-out { + value 26; + description + "TE HE LSP fail reason path out"; + } + enum te-he-lsp-fail-path-del { + value 27; + description + "TE HE LSP fail reason path del"; + } + enum te-he-lsp-fail-dest-list-disassoc { + value 28; + description + "TE fail reason destination list disassociated"; + } + enum te-he-lsp-fail-popt-not-ready { + value 29; + description + "TE HE LSP fail reason path-opt not ready"; + } + enum te-he-lsp-fail-p2mp-reopt-graft { + value 30; + description + "TE fail reason point-2-multi-point re-opt graft"; + } + } + description + "Traffic engineering head-end LSP fail reason"; + } + + typedef te-he-lsp-elect-reason { + type enumeration { + enum te-he-lsp-elect-none { + value 0; + description + "TE HE LSP elect reason none"; + } + enum te-he-lsp-elect-new-cur { + value 1; + description + "TE HE LSP elect new current"; + } + enum te-he-lsp-elect-reopt { + value 2; + description + "TE HE LSP elect re-optimization"; + } + enum te-he-lsp-elect-sso-recover { + value 3; + description + "TE HE LSP elect SSO recover"; + } + enum te-he-lsp-elect-backup { + value 4; + description + "TE HE LSP elect backup"; + } + enum te-he-lsp-elect-multilsp { + value 5; + description + "TE HE LSP elect multi LSP"; + } + enum te-he-lsp-elect-restore { + value 6; + description + "TE HE LSP elect restore"; + } + enum te-he-lsp-elect-lockout { + value 7; + description + "TE HE LSP elect lockout"; + } + enum te-he-lsp-elect-non-revert { + value 8; + description + "TE HE LSP elect reason non revert"; + } + } + description + "Traffic engineering head-end LSP elect reason"; + } + + typedef te-he-lsp-state { + type enumeration { + enum te-he-lsp-state-down { + value 0; + description + "TE HE LSP state down"; + } + enum te-he-lsp-state-sig-proceeding { + value 1; + description + "TE HE LSP state signalling proceeding"; + } + enum te-he-lsp-state-bfd-proceeding { + value 2; + description + "TE HE LSP state BFD proceeding"; + } + enum te-he-lsp-state-con { + value 3; + description + "TE HE LSP state connected"; + } + enum te-he-lsp-state-active { + value 4; + description + "TE HE LSP state active"; + } + } + description + "Traffic engineering head-end LSP state"; + } + + typedef te-he-tunnel-state { + type enumeration { + enum tun-state-admin-down { + value 0; + description + "TE HE tunnel state admin down"; + } + enum tun-state-down { + value 1; + description + "TE HE tunnel state down"; + } + enum tun-state-up { + value 2; + description + "TE HE tunnel state up"; + } + enum tun-state-fa-hold-up { + value 3; + description + "TE HE tunnel state FA hold up"; + } + } + description + "Traffic engineering head-end tunnel state"; + } + + typedef te-he-tunnel-fail-reason { + type enumeration { + enum fail-reason-unapplicable { + value 0; + description + "TE HE tunnel fail reason un-applicable"; + } + enum fail-reason-shutdown { + value 1; + description + "TE HE tunnel fail reason shutdown"; + } + enum fail-reason-no-dest { + value 2; + description + "TE HE tunnel fail reason no destination"; + } + enum fail-reason-no-pathoption { + value 3; + description + "TE HE tunnel fail reason no path option"; + } + enum fail-reason-no-source { + value 4; + description + "TE HE tunnel fail reason no source"; + } + enum fail-reason-collaborator-disc { + value 5; + description + "TE HE tunnel fail reason collaborator disc"; + } + enum fail-reason-unmatch-ctype-priority { + value 6; + description + "TE HE fail reason unmatched class-type priority"; + } + enum fail-reason-invalid-bidir-cfg { + value 7; + description + "TE HE fail reason invalid bidirectional cfg"; + } + enum fail-reason-po-switchover { + value 8; + description + "TE HE tunnel fail reason PO switch over"; + } + enum fail-reason-no-te-he-tun-id { + value 9; + description + "TE HE tunnel fail reason no HE tunnel ID"; + } + enum fail-reason-no-link { + value 10; + description + "TE HE tunnel fail reason no link"; + } + enum fail-reason-link-shutdown { + value 11; + description + "TE HE tunnel fail reason link shutdown"; + } + enum fail-reason-link-lmp-down { + value 12; + description + "TE HE tunnel fail reason link down"; + } + enum fail-reason-src-dest-same { + value 13; + description + "TE HE tunnel fail reason destination same"; + } + enum fail-reason-otn-no-odu-level { + value 14; + description + "TE HE tunnel fail reason OTN no level"; + } + enum fail-reason-bidir-associd-missing { + value 15; + description + "TE HE tunnel fail reason bidir assoc ID missing"; + } + enum fail-reason-bfd-gal-on-unidir { + value 16; + description + "TE HE fail reason BFD GAL on unidirectional"; + } + enum fail-reason-bidir-assoc-working-err { + value 17; + description + "BI direction working error"; + } + enum fail-reason-bidir-assoc-working-dn { + value 18; + description + "BI direction Working down"; + } + enum fail-reason-bidir-assoc-standby-err { + value 19; + description + "Standby error"; + } + enum fail-reason-bidir-assoc-standby-dn { + value 20; + description + "Standby down"; + } + } + description + "Traffic engineering head-end tunnel fail reason"; + } + + typedef te-he-tunnel-type { + type enumeration { + enum te-he-tunnel-static-cfg { + value 0; + description + "TE HE tunnel static config"; + } + enum te-he-tunnel-static-cfg-master { + value 1; + description + "TE HE tunnel static config master"; + } + enum te-he-tunnel-static-cfg-member { + value 2; + description + "TE HE tunnel static config member"; + } + enum te-he-tunnel-auto-backup { + value 3; + description + "TE HE tunnel auto backup"; + } + enum te-he-tunnel-auto-onehop { + value 4; + description + "TE HE tunnel auto one-hop"; + } + enum te-he-tunnel-auto-mesh { + value 5; + description + "TE HE tunnel auto mesh"; + } + enum te-he-tunnel-auto-api { + value 6; + description + "TE HE tunnel auto API"; + } + } + description + "Traffic engineering head-end tunnel type"; + } + + typedef te-he-tunnel-mode-type { + type enumeration { + enum te-he-tunnel-type-p2p { + value 0; + description + "TE HE tunnel type P2P"; + } + enum te-he-tunnel-type-p2mp { + value 1; + description + "TE HE tunnel type point 2 multi point"; + } + enum te-he-tunnel-type-multilsp { + value 2; + description + "TE HE tunnel type multi LSP"; + } + } + description + "TE HE tunnel mode type"; + } + + typedef te-he-tunnel-hop-type { + type enumeration { + enum tun-hop-type-ip-strict { + value 0; + description + "TE HE tunnel hop type IP strict"; + } + enum tun-hop-type-ip-loose { + value 1; + description + "TE HE tunnel hop type IP loose"; + } + enum tun-hop-type-sr-label { + value 2; + description + "TE HE tunnel hop type SR label"; + } + enum tun-hop-type-sr-link { + value 3; + description + "TE HE tunnel hop type SR link"; + } + enum tun-hop-type-sr-node { + value 4; + description + "TE HE tunnel hop type SR node"; + } + } + description + "Traffic engineering head-end tunnel hop type"; + } + + typedef te-he-tunnel-metric-type { + type enumeration { + enum te-he-tunnel-metric-igp { + value 0; + description + "TE HE tunnel metric IGP"; + } + enum te-he-tunnel-metric-te { + value 1; + description + "TE HE tunnel metric TE"; + } + } + description + "Traffic engineering head-end tunnel metric type"; + } + + typedef te-he-pcalc-tiebreaker-type { + type enumeration { + enum tun-tiebreaker-not-set { + value 0; + description + "TE HE tunnel tie-breaker not set"; + } + enum tun-tiebreaker-min-fill { + value 1; + description + "TE HE tunnel tie-breaker min fill"; + } + enum tun-tiebreaker-max-fill { + value 2; + description + "TE HE tunnel tie-breaker max fill"; + } + enum tun-tiebreaker-random { + value 3; + description + "TE HE tunnel tie-breaker random"; + } + } + description + "Traffic engineering head-end tunnel tie-breaker type"; + } + + typedef te-he-path-inval-action { + type enumeration { + enum tun-path-inval-action-not-set { + value 0; + description + "TE head-end path in-val action not set"; + } + enum tun-path-inval-action-tear { + value 1; + description + "TE head-end path in-val action tear"; + } + enum tun-path-inval-action-drop { + value 2; + description + "TE head-end path in-val action drop"; + } + } + description + "Traffic engineering head-end path in-val action"; + } + + typedef te-he-sr-path-selection { + type enumeration { + enum sr-path-sel-not-set { + value 0; + description + "Path selection not set"; + } + enum sr-path-sel-adj-unprotected { + value 1; + description + "SR path selection adj un-protected"; + } + enum sr-path-sel-adj-protected { + value 2; + description + "SR path selection adj protected"; + } + } + description + "TE head-end segment routing path selection"; + } + + typedef te-tunnel-admin-state { + type enumeration { + enum tun-admin-state-down { + value 0; + description + "TE tunnel admin state down"; + } + enum tun-admin-state-up { + value 1; + description + "TE tunnel admin state up"; + } + enum tun-admin-state-unknown { + value 2; + description + "TE tunnel admin state unknown"; + } + } + description + "TE tunnel admin state"; + } + + typedef te-tunnel-oper-state { + type enumeration { + enum tun-oper-down { + value 0; + description + "TE tunnel oper state down"; + } + enum tun-oper-up { + value 1; + description + "TE tunnel oper state up"; + } + } + description + "TE tunnel oper state"; + } + + typedef te-tunnel-path { + type enumeration { + enum tun-path-not-valid { + value 0; + description + "TE tunnel path not valid"; + } + enum tun-path-valid { + value 1; + description + "TE tunnel path valid"; + } + enum tun-path-pending { + value 2; + description + "TE tunnel path pending"; + } + } + description + "TE tunnel path info"; + } + + typedef te-tunnel-signalling { + type enumeration { + enum tun-sig-down { + value 0; + description + "Tunnel signalling down"; + } + enum tun-sig-connected { + value 1; + description + "Tunnel signalling connected"; + } + enum tun-sig-waiting-for-bfd { + value 2; + description + "Tunnel waiting for BFD"; + } + enum tun-sig-waiting-for-bidir { + value 3; + description + "Tunnel waiting for bidir"; + } + enum tun-sig-disabled { + value 4; + description + "Tunnel signalling disabled"; + } + enum tun-sig-reroute-pending { + value 5; + description + "Tunnel reroute pending"; + } + enum tun-sig-pce-req-pending { + value 6; + description + "Tunnel PCE request pending"; + } + enum tun-sig-pce-reply-pending { + value 7; + description + "Tunnel PCE reply pending"; + } + enum tun-sig-rsvp-proceeding { + value 8; + description + "Tunnel RSVP signal proceeding"; + } + enum tun-sig-none { + value 9; + description + "Tunnel signal none"; + } + } + description + "TE tunnel signalling info"; + } + + typedef te-lm-link-agent-type { + type enumeration { + enum te-link-agent-none { + value 0; + description + "TE LM link agent none"; + } + enum te-link-agent-rsvp { + value 1; + description + "TE LM link agent RSVP"; + } + enum te-link-agent-static-tp { + value 2; + description + "TE LM link agent static TP"; + } + } + description + "TE LM link agent type"; + } + + typedef te-lm-link-igp-subnet-type { + type enumeration { + enum link-igp-subnet-type-unknown { + value 0; + description + "TE LM link IGP subnet type unknown"; + } + enum link-igp-subnet-type-p2-p { + value 1; + description + "TE LM link IGP subnet type P2P"; + } + enum link-igp-subnet-type-broadcast { + value 2; + description + "TE LM link IGP subnet type broadcast"; + } + enum link-igp-subnet-type-nbma { + value 3; + description + "TE LM link IGP subnet type NBMA"; + } + enum link-igp-subnet-type-p2mp { + value 4; + description + "TE LM link IGP subnet type point 2 multi point"; + } + } + description + "TE LM link IGP subnet type"; + } + + typedef te-lm-link-admit-method { + type enumeration { + enum link-admit-method-none { + value 0; + description + "TE link admit method none"; + } + enum link-admit-method-yes { + value 1; + description + "TE link admit method yes"; + } + enum link-admit-method-check-bw { + value 2; + description + "TE link admit method check BW"; + } + enum link-admit-method-alloc-bw { + value 3; + description + "TE link admit method allocate BW"; + } + } + description + "TE LM link admit method"; + } + + typedef te-lm-link-bcid-type { + type enumeration { + enum lm-link-type-mam { + value 0; + description + "Link type Maximum allocation model"; + } + enum lm-link-type-rdm { + value 1; + description + "Link type R-D-M"; + } + } + description + "TE link management type"; + } + + grouping te-slsp-ero-hop { + description + "TE sub LSP explicit route object hop"; + leaf ero-type { + type mpls-te-ios-xe-oper:te-slsp-ero-type; + description + "Explicit route object type"; + } + leaf ero-address { + type inet:ip-address; + description + "Explicit route object address"; + } + } + + grouping te-slsp-hop { + description + "TE sub LSP hop"; + leaf slsp-hop-interface { + type string; + description + "TE sub LSP hop interface"; + } + leaf slsp-hop-interface-id { + type uint32; + description + "TE sub LSP hop interface ID"; + } + leaf slsp-hop-label { + type uint32; + description + "TE sub LSP hop label"; + } + } + + grouping te-sub-lsp-key { + description + "TE sub LSP key"; + leaf slsp-source-address { + type inet:ip-address; + description + "TE sub LSP source address"; + } + leaf slsp-destination-address { + type inet:ip-address; + description + "TE sub LSP destination address"; + } + leaf slsp-tunnel-id { + type uint16; + description + "TE sub LSP tunnel ID"; + } + leaf slsp-lsp-id { + type uint16; + description + "TE sub LSP ID"; + } + leaf slsp-extended-ip-address { + type inet:ip-address; + description + "TE sub LSP extended IP address"; + } + leaf slsp-p2mp-id { + type uint32; + description + "TE sub LSP point 2 multi-point ID"; + } + leaf slsp-p2mp-grp-id { + type uint32; + description + "TE sub LSP point to multi-point group ID"; + } + leaf slsp-p2mp-grp-origin { + type uint32; + description + "TE sub LSP point 2 multi-point group origin"; + } + } + + grouping te-sub-lsp { + description + "TE sub LSP"; + leaf slsp-role { + type mpls-te-ios-xe-oper:te-slsp-role; + description + "TE sub LSP role"; + } + leaf slsp-state { + type mpls-te-ios-xe-oper:te-slsp-state; + description + "TE sub LSP state"; + } + container slsp-ingress-hop { + description + "TE sub LSP ingress hop"; + uses mpls-te-ios-xe-oper:te-slsp-hop; + } + container slsp-egress-hop { + description + "TE sub LSP egress hop"; + uses mpls-te-ios-xe-oper:te-slsp-hop; + } + leaf slsp-frr-state { + type mpls-te-ios-xe-oper:te-slsp-frr-state; + description + "TE sub LSP FRR state"; + } + leaf slsp-frr-backup-tunnel-id { + type uint16; + description + "TE sub LSP FRR backup tunnel ID"; + } + leaf slsp-frr-backup-label { + type uint32; + description + "TE sub LSP FRR backup label"; + } + leaf slsp-frr-mergepoint-label { + type uint32; + description + "TE sub LSP FRR merge point label"; + } + leaf slsp-bandwidth-kbps { + type uint32; + units "kbps"; + description + "TE sub LSP bandwidth"; + } + list ero-hop { + description + "Explicit route object hop"; + uses mpls-te-ios-xe-oper:te-slsp-ero-hop; + } + } + + grouping te-he-tunnel-counters { + description + "TE head-end tunnel counters"; + leaf path-err-no-route { + type uint32; + description + "TE path error no route"; + } + leaf path-err-bad-label { + type uint32; + description + "TE path error bad label"; + } + leaf path-err-adminstrative { + type uint32; + description + "TE path error administrative"; + } + leaf path-err-no-bandwidth { + type uint32; + description + "TE path error no bandwidth"; + } + leaf path-err-bad-strict-node { + type uint32; + description + "TE path error bad strict node"; + } + leaf path-err-bad-loose-node { + type uint32; + description + "TE path error bad loose node"; + } + leaf path-err-rro-loop { + type uint32; + description + "TE path error loop"; + } + leaf path-err-bad-ero { + type uint32; + description + "TE path error bad explicit route object"; + } + leaf path-change { + type uint32; + description + "TE path change"; + } + leaf state-change { + type uint32; + description + "TE state change"; + } + leaf admin-down { + type uint32; + description + "TE admin down"; + } + leaf oper-down { + type uint32; + description + "TE oper down"; + } + leaf missing-explicit-path { + type uint32; + description + "TE missing explicit path"; + } + leaf no-path { + type uint32; + description + "TE no path"; + } + leaf path-lookups { + type uint32; + description + "TE path lookups"; + } + leaf invalid-path { + type uint32; + description + "TE invalid path"; + } + leaf protect-path-opt-cfg-err { + type uint32; + description + "Protection path option config error"; + } + leaf protection-path-opt-error { + type uint32; + description + "Protection path option error"; + } + leaf sig-timeout { + type uint32; + description + "Signal timeout"; + } + leaf sig-bad-path { + type uint32; + description + "Signal bad path"; + } + leaf sig-abort { + type uint32; + description + "Signal abort"; + } + leaf sig-ok { + type uint32; + description + "Signal OK"; + } + leaf frr-activated { + type uint32; + description + "Fast re-route activated"; + } + leaf wrap-activated { + type uint32; + description + "Wrap activated"; + } + leaf loose-path-reopt { + type uint32; + description + "Loose path re-opt"; + } + leaf p2mp-remerge { + type uint32; + description + "Point to multi-point re-merge"; + } + leaf other { + type uint32; + description + "Other"; + } + leaf autobw-adjustment { + type uint32; + description + "Auto bandwidth adjustment"; + } + leaf autobw-overflow { + type uint32; + description + "Auto bandwidth overflow"; + } + leaf sso-recover-attempts { + type uint32; + description + "SSO recover attempts"; + } + leaf sso-recover-success { + type uint32; + description + "SSO recover success"; + } + leaf sso-recover-failures { + type uint32; + description + "SSO recover failures"; + } + } + + grouping te-he-tunnel-history { + description + "TE head-end tunnel history"; + leaf prev-lsp-instance { + type int32; + description + "Previous LSP instance"; + } + leaf prev-lsp-remove-reason { + type mpls-te-ios-xe-oper:te-he-lsp-fail-reason; + description + "Previous LSP remove reason"; + } + leaf elect-reason { + type mpls-te-ios-xe-oper:te-he-lsp-elect-reason; + description + "Elect reason"; + } + } + + grouping te-he-tunnel-bundle { + description + "TE head-end tunnel bundle"; + leaf bundle-name { + type string; + description + "TE tunnel bundle name"; + } + leaf exp-bits { + type uint16; + description + "TE bundle exp bits"; + } + leaf nonexp-bits { + type uint16; + description + "TE bundle non-exp bits"; + } + leaf-list member-id { + type uint16; + ordered-by user; + description + "TE bundle member tunnel ID"; + } + } + + grouping te-he-tunnel-hop { + description + "TE head-end tunnel hop"; + leaf hop-type { + type mpls-te-ios-xe-oper:te-he-tunnel-hop-type; + description + "TE tunnel hop type"; + } + leaf next-ip { + type inet:ip-address; + description + "TE tunnel next hop IP address"; + } + leaf local-ip { + type inet:ip-address; + description + "TE tunnel hop local IP address"; + } + leaf label { + type uint32; + description + "TE tunnel hop label"; + } + } + + grouping te-he-tunnel-slsp { + description + "TE head-end tunnel sub LSP"; + container slsp-key { + description + "TE tunnel sub LSP key"; + uses mpls-te-ios-xe-oper:te-sub-lsp-key; + } + leaf up-timestamp { + type yang:date-and-time; + description + "TE tunnel sub LSP up-time"; + } + leaf path-option-idx { + type uint32; + description + "TE tunnel sub LSP path option"; + } + list hop { + description + "TE tunnel sub LSP hops"; + uses mpls-te-ios-xe-oper:te-he-tunnel-hop; + } + } + + grouping te-he-tunnel-lsp { + description + "TE head-end tunnel LSP"; + leaf tunnel-lsp-state { + type mpls-te-ios-xe-oper:te-he-lsp-state; + description + "TE tunnel LSP state"; + } + leaf tunnel-lsp-mode { + type mpls-te-ios-xe-oper:te-he-lsp-mode; + description + "TE tunnel LSP mode"; + } + leaf tunnel-lsp-fail-reason { + type mpls-te-ios-xe-oper:te-he-lsp-fail-reason; + description + "TE tunnel LSP fail reason"; + } + leaf tunnel-lsp-uptime { + type yang:date-and-time; + description + "TE tunnel LSP up-time"; + } + list tunnel-lsp-slsps { + description + "TE tunnel LSP sub-LSP"; + uses mpls-te-ios-xe-oper:te-he-tunnel-slsp; + } + } + + grouping te-he-tunnel-auto-bw-info { + description + "TE head-end tunnel auto bandwidth information"; + leaf auto-bw-kbps-last { + type uint32; + description + "TE auto bandwidth KBPS last"; + } + leaf auto-bw-kbps-highest { + type uint32; + description + "TE auto bandwidth KBPS highest"; + } + leaf auto-bw-overflow-cnt { + type uint32; + description + "TE auto bandwidth overflow count"; + } + } + + grouping te-he-tunnel { + description + "TE head-end tunnel"; + leaf tunnel-id { + type uint16; + description + "TE head-end tunnel ID"; + } + leaf tunnel-name { + type string; + description + "TE head-end tunnel name"; + } + leaf tunnel-type { + type mpls-te-ios-xe-oper:te-he-tunnel-type; + description + "TE tunnel type"; + } + leaf tunnel-mode-type { + type mpls-te-ios-xe-oper:te-he-tunnel-mode-type; + description + "TE tunnel mode type"; + } + leaf dest-ip { + type inet:ip-address; + description + "TE tunnel destination IP"; + } + leaf admin-state { + type mpls-te-ios-xe-oper:te-tunnel-admin-state; + description + "TE tunnel admin status"; + } + leaf oper-state { + type mpls-te-ios-xe-oper:te-tunnel-oper-state; + description + "TE tunnel oper status"; + } + leaf path { + type mpls-te-ios-xe-oper:te-tunnel-path; + description + "TE tunnel oper path value"; + } + leaf signalling { + type mpls-te-ios-xe-oper:te-tunnel-signalling; + description + "TE tunnel signalling details"; + } + leaf tunnel-inst { + type uint32; + description + "Number of TE tunnel instances"; + } + container tunnel-bundle { + description + "TE tunnel bundle"; + uses mpls-te-ios-xe-oper:te-he-tunnel-bundle; + } + leaf create-time { + type yang:date-and-time; + description + "TE tunnel create time"; + } + leaf path-chg-time { + type yang:date-and-time; + description + "TE tunnel path change time"; + } + leaf tunnel-state { + type mpls-te-ios-xe-oper:te-he-tunnel-state; + description + "TE tunnel state"; + } + container tunnel-counters { + description + "TE tunnel counters"; + uses mpls-te-ios-xe-oper:te-he-tunnel-counters; + } + leaf last-fail-reason { + type mpls-te-ios-xe-oper:te-he-tunnel-fail-reason; + description + "TE tunnel last fail reason"; + } + leaf last-deactivate-reason { + type mpls-te-ios-xe-oper:te-he-lsp-fail-reason; + description + "TE tunnel last de-activate reason"; + } + container tunnel-history { + description + "TE tunnel history"; + uses mpls-te-ios-xe-oper:te-he-tunnel-history; + } + list tun-lsp { + description + "TE tunnel LSP"; + uses mpls-te-ios-xe-oper:te-he-tunnel-lsp; + } + leaf cfg-bw-kbps { + type uint32; + units "kbps"; + description + "TE tunnel config bandwidth KBPS"; + } + leaf request-bw-kbps { + type uint32; + units "kbps"; + description + "TE tunnel request bandwidth KBPS"; + } + leaf bw-sub-pool { + type boolean; + description + "TE tunnel bandwidth sub pool"; + } + container auto-bw-inf { + description + "TE tunnel auto bandwidth"; + uses mpls-te-ios-xe-oper:te-he-tunnel-auto-bw-info; + } + leaf auto-bw-enabled { + type boolean; + description + "TE tunnel auto bandwidth enabled"; + } + leaf auto-bw-minimum { + type uint32; + description + "TE tunnel auto bandwidth minimum"; + } + leaf auto-bw-maximum { + type uint32; + description + "TE tunnel auto bandwidth maximum"; + } + leaf bw-adjmnt-threshold { + type uint32; + description + "Tunnel auto bandwidth threshold"; + } + leaf bw-adjmnt-interval { + type uint32; + description + "Tunnel auto bandwidth adjustment interval"; + } + leaf bw-ovrflow-enabled { + type boolean; + description + "Tunnel auto bandwidth overflow enabled"; + } + leaf bw-ovrflow-threshold { + type uint32; + description + "Tunnel auto bandwidth overflow threshold"; + } + leaf bw-ovrflow-trigr-cnt { + type uint32; + description + "Tunnel auto bandwidth overflow trigger count"; + } + leaf setup-priority { + type uint8; + description + "TE tunnel setup priority"; + } + leaf hold-priority { + type uint8; + description + "TE tunnel hold priority"; + } + leaf affinity-val { + type uint32; + description + "TE tunnel affinity value"; + } + leaf affinity-mask { + type uint32; + description + "TE tunnel affinity mask"; + } + leaf tunnel-metric-type { + type mpls-te-ios-xe-oper:te-he-tunnel-metric-type; + description + "TE tunnel metric type"; + } + leaf metric-value { + type uint32; + description + "TE tunnel metric value"; + } + leaf tunnel-loadshare { + type uint32; + description + "TE tunnel load-share"; + } + leaf autoroute-announce-en { + type boolean; + description + "Tunnel autoroute announce enabled"; + } + leaf autoroute-announce { + type boolean; + description + "Tunnel auto route announce"; + } + leaf announce-fwdng-adj-en { + type boolean; + description + "Tunnel announce forwarding adjacency enabled"; + } + leaf announce-fwdng-adj { + type boolean; + description + "Tunnel announce forwarding adjacency"; + } + leaf announce-dest-en { + type boolean; + description + "Tunnel announce destination enabled"; + } + leaf announce-dest { + type boolean; + description + "Tunnel announce destination"; + } + leaf frr-enabled { + type boolean; + description + "TE fast re-route enabled"; + } + leaf frr-bw-protect { + type boolean; + description + "TE fast re-route bandwidth protect"; + } + leaf frr-node-protect { + type boolean; + description + "TE fast re-route node protect"; + } + leaf tunnel-rro { + type boolean; + description + "TE tunnel record route object"; + } + leaf pcalc-tiebreaker { + type mpls-te-ios-xe-oper:te-he-pcalc-tiebreaker-type; + description + "TE tunnel path calculate tie-breaker"; + } + leaf pcalc-hop-limit { + type uint8; + description + "TE path calculate hop limit"; + } + leaf pcalc-cost-limit { + type uint32; + description + "TE path calculate cost limit"; + } + leaf down-delay-secs { + type uint32; + description + "TE tunnel down delay seconds"; + } + leaf fa-hold-secs { + type uint32; + description + "TE tunnel hold seconds"; + } + leaf inval-action { + type mpls-te-ios-xe-oper:te-he-path-inval-action; + description + "TE tunnel action"; + } + leaf sr-binding-sid { + type uint32; + description + "TE tunnel segment routing binding ID"; + } + leaf sr-path-type { + type mpls-te-ios-xe-oper:te-he-sr-path-selection; + description + "TE tunnel segment routing path type"; + } + } + + grouping te-lm-sub-lsp { + description + "TE link management sub LSP"; + leaf te-lm-slsp-not-used { + type uint16; + description + "TE link management sub LSP not used"; + } + } + + grouping te-lm-link-bw-thresholds { + description + "TE link management bandwidth threshold"; + leaf-list link-bw-up-thresholds { + type uint8; + ordered-by user; + description + "TE link bandwidth up threshold"; + } + leaf-list link-bw-down-thresholds { + type uint8; + ordered-by user; + description + "TE link bandwidth down threshold"; + } + } + + grouping te-lm-bw-pool-value { + description + "TE link management bandwidth pool value"; + leaf pool-bw-held { + type uint64; + description + "TE pool bandwidth held"; + } + leaf pool-bw-total-held { + type uint64; + description + "TE pool bandwidth total held"; + } + leaf pool-bw-locked { + type uint64; + description + "TE pool bandwidth locked"; + } + leaf pool-bw-total-locked { + type uint64; + description + "TE pool bandwidth total locked"; + } + } + + grouping te-lm-bw-pool { + description + "TE link management bandwidth pool"; + leaf bw-pool-priority { + type uint16; + description + "TE bandwidth pool priority"; + } + container bw-pool-global { + description + "TE bandwidth pool global"; + uses mpls-te-ios-xe-oper:te-lm-bw-pool-value; + } + container bw-pool-sub-pool { + description + "TE bandwidth pool sub pool"; + uses mpls-te-ios-xe-oper:te-lm-bw-pool-value; + } + } + + grouping te-lm-link { + description + "TE link management link"; + leaf link-handle { + type uint32; + description + "TE link handle"; + } + leaf link-name { + type string; + description + "TE link name"; + } + leaf link-ipaddress { + type inet:ip-address; + description + "TE link IP-address"; + } + leaf link-local-if-id { + type uint32; + description + "TE link local interface ID"; + } + leaf link-user-flags { + type uint32; + description + "TE link user flags"; + } + leaf link-user-admin-weight { + type uint64; + description + "TE link user admin weight"; + } + leaf link-is-lockout { + type boolean; + description + "TE link is lock-out"; + } + leaf link-lockout-on-time { + type yang:date-and-time; + description + "TE link lock-out on time"; + } + leaf link-lockout-off-time { + type yang:date-and-time; + description + "TE link lock-out off time"; + } + leaf link-agent-type { + type mpls-te-ios-xe-oper:te-lm-link-agent-type; + description + "TE link agent type"; + } + leaf link-bcid-type { + type mpls-te-ios-xe-oper:te-lm-link-bcid-type; + description + "TE link B-C-I-D type"; + } + leaf link-physical-bw { + type uint64; + description + "TE link physical bandwidth"; + } + leaf link-max-res-bw { + type uint64; + description + "TE link maximum result bandwidth"; + } + leaf link-max-res-glbl-pool-bw { + type uint64; + description + "TE link maximum global pool bandwidth"; + } + leaf link-max-res-sub-pool-bw { + type uint64; + description + "TE Link maximum sub pool bandwidth"; + } + container link-bw-thresholds { + description + "TE link bandwidth threshold"; + uses mpls-te-ios-xe-oper:te-lm-link-bw-thresholds; + } + leaf link-flow-bw-min { + type uint64; + description + "TE link flow bandwidth minimum"; + } + leaf link-flow-bw-max { + type uint64; + description + "TE link flow bandwidth maximum"; + } + leaf link-mtu { + type uint16; + description + "TE link MTU"; + } + leaf link-uplink-admit-method { + type mpls-te-ios-xe-oper:te-lm-link-admit-method; + description + "TE up-link admit method"; + } + leaf link-downlink-admit-method { + type mpls-te-ios-xe-oper:te-lm-link-admit-method; + description + "TE down-link admit method"; + } + leaf link-igp-admin-weight { + type uint32; + description + "TE link IGP admin weight"; + } + leaf link-igp-nbrs-flooded { + type uint16; + description + "TE link IGP neighbors flooded"; + } + leaf link-igp-nbr-count { + type uint16; + description + "TE link IGP neighbor count"; + } + leaf link-igp-subnet-type { + type mpls-te-ios-xe-oper:te-lm-link-igp-subnet-type; + description + "TE link IGP subnet type"; + } + list mpls-te-link-bw-pool { + key "bw-pool-priority"; + description + "TE link bandwidth pool"; + uses mpls-te-ios-xe-oper:te-lm-bw-pool; + } + list mpls-te-link-ingress-slsp { + key "slsp-source-address slsp-destination-address slsp-tunnel-id slsp-lsp-id slsp-extended-ip-address slsp-p2mp-id slsp-p2mp-grp-id slsp-p2mp-grp-origin"; + description + "TE link ingress sub-LSP"; + uses mpls-te-ios-xe-oper:te-sub-lsp-key; + uses mpls-te-ios-xe-oper:te-lm-sub-lsp; + } + list mpls-te-link-egress-slsp { + key "slsp-source-address slsp-destination-address slsp-tunnel-id slsp-lsp-id slsp-extended-ip-address slsp-p2mp-id slsp-p2mp-grp-id slsp-p2mp-grp-origin"; + description + "TE link egress sub-LSP"; + uses mpls-te-ios-xe-oper:te-sub-lsp-key; + uses mpls-te-ios-xe-oper:te-lm-sub-lsp; + } + } + + container mpls-te-oper-data { + config false; + description + "MPLS TE operational data"; + list mpls-te-sub-lsp { + key "slsp-source-address slsp-destination-address slsp-tunnel-id slsp-lsp-id slsp-extended-ip-address slsp-p2mp-id slsp-p2mp-grp-id slsp-p2mp-grp-origin"; + description + "MPLS TE sub LSP data"; + uses mpls-te-ios-xe-oper:te-sub-lsp-key; + uses mpls-te-ios-xe-oper:te-sub-lsp; + } + list mpls-te-tunnel { + key "tunnel-id"; + description + "MPLS traffic engineering tunnel information"; + uses mpls-te-ios-xe-oper:te-he-tunnel; + } + list mpls-te-link { + key "link-handle"; + description + "MPLS traffic engineering link information"; + uses mpls-te-ios-xe-oper:te-lm-link; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls.yang new file mode 100644 index 000000000..af3b0bcff --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mpls.yang @@ -0,0 +1,3044 @@ +module Cisco-IOS-XE-mpls { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mpls"; + prefix ios-mpls; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-isis { + prefix ios-isis; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Multiprotocol Label Switching (MPLS) Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for mpls oam + - Added support for mpls bgp forwarding to interface/port-channel-subinterface + - Correcting encryption type and supporting numerical values for password + - Added support for mpls bgp forwarding to interface/Virtual-Template"; + cisco-semver:module-version "3.0.0"; + } + revision 2024-03-01 { + description + "- Added support for mpls discovery vpn and next-hop"; + cisco-semver:module-version "2.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "Fix for pyang xpath evaluation errors"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added container MPLS NHRP under interface Tunnel"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Removed suppress annotation from affinity block"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added mldp leaf at interface mpls + - Add interface BD-VIF mpls"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-08-14 { + description + "Added support for multiple backup tunnel & confd sync issue"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revison has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revison has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-20 { + description + "Add interface BDI mpls"; + } + revision 2017-06-30 { + description + "This revision removes compile warning for mpls ldp router-id vrf"; + } + revision 2017-02-23 { + description + "This revision adds support for MPLS-TE (global and interface mode)"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef ldp-discovery-address-type { + type union { + type enumeration { + enum interface; + } + type inet:ipv4-address; + } + } + + typedef mpls-te-tiebreaker-type { + type enumeration { + enum max-fill { + description + "Use max-fill tiebreaker"; + } + enum min-fill { + description + "Use min-fill tiebreaker"; + } + enum random { + description + "Use random tiebreaker"; + } + } + } + + typedef mpls-te-attribute-flags { + description + "<0x0-0xFFFFFFFF>"; + type string { + pattern '0[xX][0-9a-fA-F]{1,8}'; + } + } + + grouping mpls-static-binding-ipv4-grouping { + leaf label { + type uint32; + } + container input { + description + "Incoming (local) label"; + leaf label { + type uint32; + } + } + container output { + description + "Outgoing (remote) label"; + leaf dst-next-hop { + type inet:ipv4-address; + } + leaf label { + type union { + type uint32; + type enumeration { + enum explicit-null; + enum implicit-null; + } + } + } + } + } + + grouping mpls-for-to-grouping { + container for { + description + "Access-list specifying controls on destination prefixes"; + leaf from { + type string; + } + leaf to { + description + "Access-list specifying controls on LDP peers"; + type string; + } + } + } + + grouping neighbor-vrf-grouping { + list neighbor-content { + description + "Configure neighbor parameters"; + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf implicit-withdraw { + description + "Enable LDP Implicit Withdraw Label"; + type empty; + } + container labels { + description + "Configure label binding exchange controls"; + leaf accept { + description + "Specify label bindings to accept"; + type string; + } + } + container password { + description + "Set a password"; + leaf enctype { + type uint8 { + range "0|7"; + } + } + leaf text { + type string { + pattern '.*'; + } + } + } + container targeted { + description + "Establish targeted session"; + presence "Establish targeted session"; + leaf protocol { + type enumeration { + enum ldp; + enum tdp; + } + } + } + } + } + + grouping duration-grouping { + container duration { + description + "Period to sustain session protection after loss of link discovery"; + choice duration-choice { + leaf holdup-time { + description + "Holdup time in seconds"; + type uint32 { + range "30..2147483"; + } + } + leaf infinite { + description + "Protect session forever after loss of link discovery"; + type empty; + } + } + } + } + + grouping mpls-ldp-password-grouping { + container password { + description + "Configure LDP MD5 password"; + container fallback { + description + "Specifies a fallback password will follow"; + leaf encryption-type { + type uint8 { + range "0..7"; + } + } + leaf LINE { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + container key-chain { + description + "Specifies a key-chain name will follow"; + presence "true"; + leaf LINE { + description + "help"; + type string; + } + } + } + container option { + description + "LDP password options"; + list seq-num { + key "seq-num"; + leaf seq-num { + description + "Sequence number of the LDP password option"; + type uint16 { + range "1..32767"; + } + } + container for { + description + "IP access-list specifying control on LDP peers"; + list LINE { + key "acl-name"; + leaf acl-name { + description + "IP standard access-list for LDP peers; name or number (1-99)"; + type string; + } + leaf encryption-type { + type uint8 { + range "0..7"; + } + } + leaf LINE { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + container key-chain { + description + "Specifies a key-chain name will follow"; + presence "true"; + leaf LINE { + description + "help"; + type string; + } + } + leaf tcp-ao { + description + "Specifies a key-chain name will follow for LDP tcp-ao"; + type string; + } + } + } + } + } + container required { + description + "MD5 password is required for the peer"; + presence "true"; + leaf for { + description + "IP access-list specifying control on LDP peers"; + type string; + } + } + container rollover { + description + "LDP password rollover parameters"; + leaf duration { + description + "Configure LDP password rollover duration in minutes"; + type uint16 { + range "1..65535"; + } + } + } + } + } + + grouping label-mode-grouping { + choice label-mode-choice { + leaf per-ce { + description + "Per CE label"; + type empty; + } + leaf per-prefix { + description + "Per prefix label (default)"; + type empty; + } + leaf per-vrf { + description + "Per VRF label for entire VRF"; + type empty; + } + leaf vrf-conn-aggr { + description + "Per VRF label for connected and BGP aggregates in VRF"; + type empty; + } + } + } + + grouping mpls-te-path-selection-common { + leaf metric { + description + "Metric Type Configuration: < te | igp >"; + type enumeration { + enum igp; + enum te; + } + } + container invalidation { + description + "Path invalidation configuration"; + leaf value { + description + "Path invalidation timer value: <0..60000> milliseconds, (default 10000)"; + type int32 { + range "0 .. 60000"; + } + } + leaf drop { + description + "Drop Tunnel Traffic"; + type empty; + } + } + } + + grouping mpls-te-path-selection-grouping { + container path-selection { + description + "Path Selection Configuration"; + uses mpls-te-path-selection-common; + container segment-routing { + description + "Segment-routing path-selection options"; + leaf adjacency { + description + "Segment-routing adjacency path-selection type"; + type enumeration { + enum protected; + enum unprotected; + } + } + } + } + } + + grouping mpls-te-tunnel-num-range-grouping { + container min-max { + description + "Configure the starting id-range"; + leaf min { + description + "starting tunnel number range"; + type uint16 { + range "0..65535"; + } + } + leaf max { + must '. >= ../min' { + error-message "Max value must be >= min value"; + } + description + "Configure the ending id-range: <0..65535>"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping mpls-te-affinity-mask-grouping { + container affinity-mask { + description + "desired link affinity attributes"; + leaf affinity { + description + "desired link affinity attributes: <0x0-0xFFFFFFFF>"; + type mpls-te-attribute-flags; + } + leaf mask { + description + "Mask on desired link attributes: <0x0-0xFFFFFFFF>"; + type mpls-te-attribute-flags; + } + } + } + + grouping mpls-te-auto-bw-grouping { + container auto-bw { + description + "Specify automatic bandwidth configuration"; + presence "true"; + leaf frequency { + description + "Seconds between applying auto-bw: <300..604800>"; + type uint32 { + range "300..604800"; + } + } + leaf collect-bw { + description + "Just collect bandwidth info"; + type empty; + } + leaf adjustment-threshold { + description + "Percent bandwidth change to trigger adjustment: <1..99>"; + type uint8 { + range "1..99"; + } + } + container overflow-limit { + description + "Number of consecutive samples exceeding threshold: <1..10>"; + leaf limit { + type uint8 { + range "1..10"; + } + } + leaf overflow-threshold { + description + "Set the bandwidth change threshold to trigger overflow adjustment: <1..99> %"; + type uint8 { + range "1..99"; + } + } + } + leaf max-bw { + description + "Maximum bandwidth to apply: <0..4294967295> (kbps)"; + type uint32 { + range "0..4294967295"; + } + } + leaf min-bw { + description + "Minimum bandwidth to apply: <0..4294967294> (kbps)"; + type uint32 { + range "0..4294967294"; + } + } + } + } + + grouping mpls-te-backup-bw-choice-grouping { + choice bandwidth-option { + leaf bandwidth { + description + "Amount of allocatable backup bw: <1..4294967295> kbps"; + type uint32 { + range "1..4294967295"; + } + } + leaf unlimited { + description + "Unlimited amount of allocatable bw"; + type empty; + } + } + } + + grouping mpls-te-class-global-pool-grouping { + choice class-global-pool-choice { + case class-type-choice { + container class-type { + leaf class-type-num { + description + "Enter the Class-type: <0..1>"; + type uint8 { + range "0..1"; + } + } + uses mpls-te-backup-bw-choice-grouping; + } + } + case global-pool-choice { + container global-pool { + uses mpls-te-backup-bw-choice-grouping; + } + } + } + } + + grouping mpls-te-mode-cfg-pathoption-list { + list path-option { + description + "Specify the path-option to add, edit (or delete)"; + key "po-num"; + leaf po-num { + description + "Entry path-option number"; + type uint16 { + range "1..65535"; + } + } + container explicit { + description + "setup based on preconfigured path"; + container identifier { + description + "Specify path by number"; + leaf pnum { + description + "Path number: <1..65535>"; + type uint16 { + range "1..65535"; + } + } + leaf verbatim { + description + "Send out path as is, with no checking"; + type empty; + } + } + container name { + description + "Specify path by name"; + leaf pname { + description + "Path name"; + type string; + } + leaf verbatim { + description + "Send out path as is, with no checking"; + type empty; + } + } + } + } + } + + grouping mpls-te-popt-attributes-grouping { + leaf attributes { + description + "Specify name of LSP attribute list"; + type string; + } + } + + grouping mpls-te-popt-segment-routing-grouping { + leaf segment-routing { + description + "Specify segment-routing for this pathoption"; + type empty; + } + } + + grouping mpls-te-popt-verbatim-grouping { + leaf verbatim { + description + "Send out path as is, with no checking"; + type empty; + } + } + + grouping mpls-te-popt-lockdown-grouping { + leaf lockdown { + description + "Not a candidate for reoptimization"; + type empty; + } + leaf sticky { + description + "Stay on the same path after change in required resources"; + when '../lockdown'; + type empty; + } + } + + grouping mpls-te-popt-bandwidth-grouping { + container bandwidth { + description + "Override the bandwidth configured on the tunnel"; + choice bandwidth-choice { + case bandwidth-option { + leaf bandwidth { + description + "Bandwidth requirement: <0..4294967295> kbps"; + type uint32; + } + } + case sub-pool-option { + leaf sub-pool { + description + "Tunnel uses sub-pool bandwidth: <1..4294967295> kbps"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + } + + grouping mpls-te-popt-pce-verbatim-grouping { + leaf pce { + description + "Use PCE for path computation"; + type empty; + } + leaf address { + description + "PCE IPv4 address"; + when '../pce'; + type inet:ipv4-address; + } + leaf verbatim { + description + "Do not validate links from the ERO object"; + when '../pce'; + type empty; + } + } + + grouping mpls-te-popt-attributes-bw-grouping { + choice popt-choice { + case attributes-option { + uses mpls-te-popt-attributes-grouping; + } + case bandwidth-option { + uses mpls-te-popt-bandwidth-grouping; + } + } + } + + grouping mpls-te-popt-attributes-bw-pce-grouping { + choice popt-choice { + case attributes-option { + uses mpls-te-popt-attributes-grouping; + } + case bandwidth-option { + uses mpls-te-popt-bandwidth-grouping; + } + case pce-option { + uses mpls-te-popt-pce-verbatim-grouping; + } + } + } + + grouping mpls-te-popt-id-grouping { + choice id-choice { + mandatory true; + case identifier-option { + leaf identifier { + description + "Specify an IP explicit path by number: <1..65535>"; + type uint16 { + range "1..65535"; + } + } + } + case name-option { + leaf name { + description + "Specify an IP explicit path by name"; + type string; + } + } + } + } + + grouping mpls-te-setup-hold-priority-grouping { + container priority { + description + "Setup & hold priority"; + presence "true"; + leaf setup-priority { + description + "Setup priority: <0..7>"; + mandatory true; + type uint8 { + range "0..7"; + } + } + leaf hold-priority { + description + "Hold priority: <0..7>"; + type uint8 { + range "0..7"; + } + } + } + } + + grouping config-oam-grouping { + container echo { + description + "Echo Packet Attributes"; + leaf revision { + description + "Echo packet default revision"; + type enumeration { + enum 3; + enum 4; + } + default "4"; + } + leaf vendor-extension { + description + "Send Vendor Extension TLV with echo Req"; + type boolean; + default "true"; + } + leaf jitter { + description + "Specify Jitter time to be used for Jitter TLV in milliseconds"; + type uint32 { + range "1..2147483647"; + } + default "200"; + } + container reply-mode { + description + "Echo request reply mode attributes"; + container control-channel { + description + "Configure control channel reply mode"; + leaf allow-reverse-lsp { + description + "Use Reverse LSP as the control channel"; + type empty; + } + } + } + } + } + + grouping config-mpls-grouping { + container atm { + description + "Configure ATM options"; + leaf disable-headend-vc { + description + "Dedicated lsc capability: In this mode headend Tag VCs are disabled."; + type empty; + } + } + leaf cos-map { + description + "Configure MPLS CoS ATM Multi-VC CoS Map"; + type uint8 { + range "1..255"; + } + } + container export { + description + "Export IPv4 prefixes into an MPLS network"; + leaf interval { + description + "Export interval of VPNv4 prefixes into an MPLS network in minutes"; + type uint16 { + range "0..10080"; + } + } + container vpnv4 { + description + "VPNv4 options for MPLS PAL"; + leaf prefixes { + description + "Track VPNv4 prefixes instead of reporting 0.0.0.0"; + type empty; + } + } + } + container ip { + description + "Dynamic MPLS forwarding for IP"; + leaf default-route { + description + "Allow MPLS forwarding for ip default route"; + type empty; + } + container conf { + leaf propagate-ttl { + type boolean; + } + } + container conf-arg { + container propagate-ttl { + leaf forwarded { + type boolean; + } + } + } + container ttl-expiration { + description + "Control MPLS TTL expiration behavior"; + leaf pop { + description + "Popping labels on TTL expiration"; + type uint8 { + range "1..6"; + } + } + } + } + container label { + description + "Label properties"; + container atm { + description + "Configure ATM options"; + leaf disable-headend-vc { + description + "Dedicated lsc capability: In this mode headend Tag VCs are disabled."; + type empty; + } + } + container mode { + description + "MPLS Label allocation mode"; + choice mode-choice { + container all-vrfs { + description + "MPLS Label allocation mode for all VRFs"; + container protocol { + description + "MPLS Label allocation protocol"; + container all-afs { + description + "All VRF (IPv4 and IPv6) address families"; + uses label-mode-grouping; + } + container bgp-vpnv4 { + description + "VRF IPv4 address family"; + uses label-mode-grouping; + } + container bgp-vpnv6 { + description + "VRF IPv6 address family"; + uses label-mode-grouping; + } + } + } + container vrf { + description + "MPLS Label allocation mode for a specific VRF"; + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + container protocol { + description + "MPLS Label allocation protocol"; + container all-afs { + description + "All VRF (IPv4 and IPv6) address families"; + uses label-mode-grouping; + } + container bgp-vpnv4 { + description + "VRF IPv4 address family"; + uses label-mode-grouping; + } + container bgp-vpnv6 { + description + "VRF IPv6 address family"; + uses label-mode-grouping; + } + } + } + } + } + } + leaf protocol { + description + "Set platform default label distribution protocol"; + type enumeration { + enum ldp; + enum tdp; + } + } + container range { + description + "Label range"; + leaf min { + type uint32 { + range "16..1048575"; + } + } + leaf max { + must '. > ../min' { + error-message "Max label value must be > min label value"; + } + type uint32 { + range "16..1048575"; + } + } + container static { + description + "Specify block of labels for static bindings"; + leaf min { + type uint32 { + range "16..1048575"; + } + } + leaf max { + must '. > ../min' { + error-message "Max label value must be > min label value"; + } + type uint32 { + range "16..1048575"; + } + } + } + } + } + container ldp { + description + "Label Distribution Protocol"; + container enable { + leaf advertise-labels { + type boolean; + } + } + container enable2 { + container advertise-labels { + description + "Label advertisements"; + uses mpls-for-to-grouping; + list interface { + description + "Advertise /32 interface address"; + key "name"; + leaf name { + type string; + } + } + leaf oldstyle { + description + "Use old style (TDP) method for matching prefix acl"; + type empty; + } + container vrf { + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + uses mpls-for-to-grouping; + container interface { + uses ios-ifc:interface-grouping; + } + leaf oldstyle { + description + "Use old style (TDP) method for matching prefix acl"; + type empty; + } + } + } + } + container atm { + description + "Configure ATM MPLS options"; + leaf control-mode { + description + "Select LSP setup control mode for MPLS VCs"; + type enumeration { + enum independent; + enum ordered; + } + } + leaf vc-merge { + description + "Select VC merge capability"; + type boolean; + } + } + container backoff { + description + "Set LDP session backoff parameters"; + leaf initial { + type uint32 { + range "5..2147483"; + } + } + leaf max { + must '. > ../initial' { + error-message "Max value must be > initial value"; + } + type uint32 { + range "5..2147483"; + } + } + } + container discovery { + description + "LDP discovery"; + container hello { + description + "LDP discovery Hello"; + leaf holdtime { + description + "LDP discovery Hello holdtime"; + type uint16 { + range "1..65535"; + } + } + leaf interval { + description + "LDP discovery Hello interval"; + type uint16 { + range "1..65535"; + } + } + } + container targeted-hello { + description + "LDP discovery Targeted Hello"; + container accept { + description + "Accept targeted hellos"; + presence "Accept targeted hellos"; + leaf from { + description + "Access list to specify acceptable targeted hello sources"; + type string; + } + } + leaf holdtime { + description + "LDP discovery Hello holdtime"; + type uint16 { + range "1..65535"; + } + } + leaf interval { + description + "LDP discovery Hello interval"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf entropy-label { + description + "Enable Entropy Label for LDP"; + type empty; + } + container explicit-null { + description + "Advertise Explicit Null label in place of Implicit Null"; + presence "Advertise Explicit Null label in place of Implicit Null"; + leaf for { + description + "Access-list specifying controls on destination prefixes"; + type string; + } + leaf to { + description + "Access-list specifying controls on LDP peers"; + type string; + } + } + container graceful-restart { + description + "Configure Graceful Restart timers"; + presence "Configure Graceful Restart timers"; + container timers { + description + "Configure Graceful Restart timers"; + leaf forwarding-holding { + description + "Forwarding State Holding time"; + type uint16 { + range "30..600"; + } + } + leaf max-recovery { + description + "Max-Recovery time"; + type uint16 { + range "15..600"; + } + } + leaf neighbor-liveness { + description + "Neighbor-Liveness time"; + type uint16 { + range "5..600"; + } + } + } + } + leaf holdtime { + description + "LDP session holdtime"; + type uint32 { + range "15..2147483"; + } + } + container igp { + description + "Configure IGP-related LDP parameters"; + container sync { + description + "Configure LDP-IGP Synchronization parameters"; + leaf holddown { + description + "Hold down time in milliseconds"; + type uint32 { + range "1..2147483647"; + } + } + } + } + container label { + description + "LDP label mode"; + presence "true"; + container label-Mode__config-ldp-lbl { + container allocate { + description + "Allocate local labels for specified destination prefixes"; + container global { + description + "Specify global Routing/Forwarding instance"; + presence "true"; + choice global-choice { + leaf host-routes { + description + "allocate local label for host routes only"; + type empty; + } + leaf prefix-list { + description + "IP prefix-list for destination prefixes."; + type string; + } + } + } + } + } + } + container logging { + description + "Enable LDP logging"; + leaf neighbor-changes { + description + "Log LDP neighbor state changes"; + type boolean; + } + container password { + description + "Log LDP password events"; + container configuration-conf { + leaf configuration { + type boolean; + } + } + container rollover-conf { + leaf rollover { + type boolean; + } + } + choice ldp-pwd-choice { + container configuration { + description + "Log LDP password configuration changes"; + presence "true"; + leaf rate-limit { + description + "Messages per minute"; + type uint8 { + range "1..60"; + } + } + } + container rollover { + description + "Log LDP password rollover events"; + presence "true"; + leaf rate-limit { + description + "Messages per minute"; + type uint8 { + range "1..60"; + } + } + } + } + } + } + leaf loop-detection { + description + "Enable LDP Loop Detection"; + type empty; + } + leaf maxhops { + description + "Limit hop count for LDP LSP setup"; + type uint8 { + range "0..255"; + } + } + container neighbor { + uses neighbor-vrf-grouping; + container vrf { + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + uses neighbor-vrf-grouping; + } + } + } + leaf nsr { + description + "Enable Non Stop Routing for LDP"; + type empty; + } + uses mpls-ldp-password-grouping; + container request-labels { + description + "Access list to specify valid downstream on demand destinations."; + leaf for { + description + "Access list to specify acceptable downstream on demand destinations"; + type string; + } + } + container router-id { + description + "Select interface to prefer for LDP identifier address"; + container interface { + uses ios-ifc:interface-grouping; + leaf force { + description + "Forcibly change the LDP router id"; + type empty; + } + } + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + container interface { + uses ios-ifc:interface-grouping; + leaf force { + description + "Forcibly change the LDP router id"; + type empty; + } + } + } + } + container tcp { + description + "Set TCP parameters for LDP"; + leaf pak-priority { + description + "Set (local) priority for LDP session TCP connection"; + type empty; + } + } + container vrf { + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + uses mpls-ldp-password-grouping; + } + } + } + container session { + description + "Configure session parameters"; + container protection { + description + "Configure session protection parameters"; + presence "true"; + uses duration-grouping; + container for { + description + "Access-list to specify LDP peers"; + leaf acl-name { + description + "IP access-list for LDP peers; name or number (1-99)"; + type string; + } + uses duration-grouping; + } + container vrf { + description + "VPN Routing/Forwarding instance name"; + list vrf { + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + container for { + description + "Access-list to specify LDP peers"; + leaf acl-name { + description + "IP access-list for LDP peers; name or number (1-99)"; + type string; + } + uses duration-grouping; + } + uses duration-grouping; + } + } + } + } + } + container prefix-map { + description + "Configure MPLS CoS Tag-VC Multi-VC Prefix Map"; + leaf nr { + type uint8 { + range "1..255"; + } + } + leaf access-list { + description + "Configure access-list for this prefix-map"; + type uint8 { + range "1..255"; + } + } + leaf cos-map { + description + "Configure cos-map for this prefix-map"; + type uint8 { + range "1..255"; + } + } + } + container static { + description + "MPLS static application"; + presence "true"; + container binding { + description + "Establish static label bindings"; + container ipv4 { + description + "Bind IPv4 destination with label"; + list global { + key "address mask"; + leaf address { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + uses mpls-static-binding-ipv4-grouping; + } + list vrf { + key "name address mask"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf address { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + uses mpls-static-binding-ipv4-grouping; + } + } + } + } + container traffic-eng { + description + "Configure Traffic Engineering parameters"; + container auto-bw { + description + "auto-bw parameters"; + container timers { + description + "Enable auto-bw Timers Collection and Application"; + presence "Enable auto-bw Timers Collection and Application"; + leaf frequency { + description + "Interval between auto-bw data collection: <1..604800> seconds"; + type uint32 { + range "1..604800"; + } + } + } + } + container auto-tunnel { + description + "Configure automatic TE tunnels"; + container backup { + description + "Configure auto-tunnel backup tunnel"; + presence "true"; + container config { + description + "Config commands to apply to all backup auto-tunnels"; + uses mpls-te-affinity-mask-grouping { + refine "affinity-mask/affinity" { + description + "Desired link attributes for links comprising tunnel: <0x0-0xFFFFFFFF>"; + } + } + container unnumbered-interface { + description + "Configure the interface to use for unnumbered"; + uses ios-ifc:interface-grouping; + } + } + leaf nhop-only { + description + "Automatically create n-hop backup tunnels only"; + type empty; + } + container srlg { + description + "Shared Risk Link Groups influence backup tunnel path selection"; + leaf exclude { + description + "Backup tunnels avoid SRLGs of protected interfaces: < force | preferred >"; + type enumeration { + enum force { + description + "Backup tunnels MUST not use SRLGs of protected interfaces"; + } + enum preferred { + description + "Backup tunnels try to avoid using SRLGs of protected interfaces"; + } + } + } + } + container timers { + description + "Configure timers for backup auto-tunnels"; + container removal { + description + "Configure timer for removal of backup tunnel"; + container unused { + description + "seconds between scanning to remove not in use tunnels"; + leaf interval { + description + "Seconds between scanning to remove not in use tunnels: <0..604800> seconds"; + type uint32 { + range "0..604800"; + } + } + leaf duration { + description + " How long auto backup is unused before removal: <0..604800> seconds, 0 = never remove"; + type uint32 { + range "0..604800"; + } + } + } + } + } + container tunnel-num { + description + "Configure tunnel I/F numbers for backup auto-tunnels"; + uses mpls-te-tunnel-num-range-grouping; + } + } + container mesh { + description + "Automatically create mesh tunnels"; + presence "true"; + container tunnel-num { + description + "Configure tunnel I/F numbers for mesh auto-tunnels"; + uses mpls-te-tunnel-num-range-grouping; + } + } + container p2p { + description + "Enable and configure TE service P2P auto tunnels"; + presence "true"; + container config { + description + "Config commands to apply to all TE service P2P auto-tunnels"; + container unnumbered-interface { + description + "Configure the interface to use for unnumbered"; + uses ios-ifc:interface-grouping; + } + } + container tunnel-num { + description + "Configure tunnel I/F numbers for TE service P2P auto-tunnels"; + uses mpls-te-tunnel-num-range-grouping; + } + } + container primary { + description + "Automatically create one-hop primary tunnels"; + container config { + description + "Config commands to apply to all primary auto-tunnels"; + container mpls { + description + "Configure dynamic MPLS forwarding"; + leaf ip { + description + "Configure dynamic MPLS forwarding for ip"; + type empty; + } + } + container unnumbered-interface { + description + "Configure the interface to use for unnumbered"; + uses ios-ifc:interface-grouping; + } + } + leaf onehop { + description + "Automatically create tunnel to all next-hops"; + type empty; + } + container timers { + description + "Configure timers for primary auto-tunnels"; + container removal { + description + "Configure removal of primary tunnels"; + leaf rerouted { + description + "How long auto-tunnel primary can stay frr active: <30..604800> seconds"; + type uint32 { + range "30..604800"; + } + } + } + } + container tunnel-num { + description + "Configure tunnel I/F numbers for primary auto-tunnels"; + uses mpls-te-tunnel-num-range-grouping; + } + } + } + container ds-te { + description + "Configure standard DS-TE parameters"; + leaf bc-model { + description + "Configure BC model: < mam >"; + type enumeration { + enum mam { + description + "BC Maximum allocation model"; + } + } + } + leaf mode { + description + "Configure DS-TE mode: < ietf | migration >"; + type enumeration { + enum ietf { + description + "Configure DS-TE standard mode"; + } + enum migration { + description + "Configure DS-TE migration mode"; + } + } + } + container te-classes { + description + "Specify TE-Class parameters"; + presence "true"; + list te-class { + description + "Configure a TE-Class"; + key "te-idx"; + leaf te-idx { + description + "Specify the TE-Class index: <0..7>"; + type uint8 { + range "0..7"; + } + } + container class-type { + description + "Specify the Class-Type for this TE-Class"; + leaf type { + description + "Specify Class-Type value (0 for Global and 1 for Sub-Pool)"; + type uint8 { + range "0..1"; + } + } + leaf priority { + description + "Specify preemption priority value for this TE Class-Type: <0..7>"; + type uint8 { + range "0..7"; + } + } + } + leaf unused { + description + "Specify that this TE-Class index is unused"; + type empty; + } + } + } + } + leaf fault-oam { + description + "Node level fault OAM configuration"; + type empty; + } + container fast-reroute { + description + "fast-reroute parameters"; + container backup-prot-preempt { + description + "Preemption algorithm for backup tunnels"; + leaf optimize-bw { + description + "Reduce bandwidth wastage (default: minimize LSPs preempted)"; + type empty; + } + } + container timers { + description + "configure fast-reroute timer"; + leaf promotion { + description + "Time between promotions: <0..604800> seconds, (0 disables promotion)"; + type uint32 { + range "0..604800"; + } + } + } + } + container link-management { + description + "Link Management configuration"; + container timers { + description + "Link Management timers configuration"; + leaf bandwidth-hold { + description + "Link Management bandwidth hold timer: <1..300> seconds"; + type uint16 { + range "1..300"; + } + } + leaf periodic-flooding { + description + "Link Management periodic flooding interval: <0..3600> seconds"; + type uint16 { + range "0..3600"; + } + } + } + } + container logging { + description + "Trap logging configuration"; + container lsp { + description + "LSP-specific traps logging configuration"; + container path-errors { + description + "Log LSP Path Error traps"; + presence "Log LSP Path Error traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container preemption { + description + "Log LSP Preemption traps"; + presence "Log LSP Preemption traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container reservation-errors { + description + "Log LSP Reservation Error traps"; + presence "Log LSP Reservation Error traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container setups { + description + "Log LSP Establishment Traps"; + presence "Log LSP Establishment Traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container teardowns { + description + "Log LSP Teardown Traps"; + presence "Log LSP Teardown Traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + } + container tunnel { + description + "Tunnel-specific traps logging configuration"; + container lsp-selection { + description + "Log Tunnel LSP Selection traps"; + presence "Log Tunnel LSP Selection traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container lsp-switchover { + description + "Log Tunnel LSP Switchover traps"; + presence "Log Tunnel LSP Switchover traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + container path { + description + "Log Tunnel Path-related traps"; + container change { + description + "Log Tunnel Path change traps"; + presence "Log Tunnel Path change traps"; + leaf access-list { + type ios-types:access-list-type; + } + } + } + } + } + container lsp { + description + "Configure LSP parameters"; + list attributes { + description + "Configure LSP attributes"; + key "name"; + leaf name { + description + "Name of LSP attribute list"; + type string; + } + container mpls-te-mode-config-lsp-attr { + uses mpls-te-affinity-mask-grouping { + refine "affinity-mask/affinity" { + description + "Specify attribute flags for links comprising LSP: <0x0-0xFFFFFFFF>"; + } + } + uses mpls-te-auto-bw-grouping; + container autoroute { + description + "parameters for routing over tunnel"; + leaf destination { + description + "announce tunnel destination to IP static route"; + type empty; + } + } + container bandwidth { + description + "Specify LSP bandwidth"; + choice bandwidth-choice { + leaf bw { + description + "Bandwidth requirement: <0..4294967295> (kbps)"; + type uint32 { + range "0..4294967295"; + } + } + leaf sub-pool { + description + "Sub-pool Bandwidth requirement: <1..4294967295> (kbps)"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container bfd-reverse-path { + description + "Specify bfd reverse path"; + leaf binding-label { + description + "MPLS binding-label value: <16..1048575>"; + type uint32 { + range "16..1048575"; + } + } + } + container lockdown { + description + "Lockdown the LSP--disable reoptimization"; + presence "true"; + leaf sticky { + description + "stay on the same path after change in required resources"; + type empty; + } + } + uses mpls-te-path-selection-grouping; + container pce { + presence "true"; + description + "Specify PCE Configuration"; + container disjoint-path { + description + "Disjoint Path Configuration"; + leaf source { + description + "Source IPv4 address"; + type inet:ipv4-address; + } + leaf type { + description + "Disjointness type: "; + type enumeration { + enum link { + description + "Link Disjointness"; + } + enum node { + description + "Node Disjointness"; + } + enum srlg { + description + "SRLG Disjointness"; + } + } + } + leaf group-id { + description + "Group ID: <1..4294967295>"; + type uint32 { + range "1..4294967295"; + } + } + } + } + uses mpls-te-setup-hold-priority-grouping { + refine "priority" { + description + "Specify LSP priority"; + } + } + container protection { + description + "Enable failure protection"; + presence "true"; + container fast-reroute { + description + "Enable fast-reroute failure protection"; + presence "true"; + leaf bw-protect { + description + "Enable BW protection"; + type empty; + } + } + } + leaf record-route { + description + "Record the route used by the LSP"; + type empty; + } + } + } + } + leaf nsr { + description + "TE NSR configuration"; + type empty; + } + container path-option { + description + "Configure path-option"; + container list { + description + "Configure path-option list"; + list identifier { + description + "Specify path-option list by number"; + key "pol-num"; + leaf pol-num { + description + "Path option list identifier: <1..65535>"; + type uint16 { + range "1..65535"; + } + } + uses mpls-te-mode-cfg-pathoption-list; + } + list name { + description + "Specify path-option list by name"; + key "pol-name"; + leaf pol-name { + description + "Path option list name"; + type string; + } + uses mpls-te-mode-cfg-pathoption-list; + } + } + } + container path-selection { + description + "Path Selection Configuration"; + uses mpls-te-path-selection-common; + container overload { + description + "Overload Node Configuration"; + container allow { + description + "Allow overloaded nodes in CSPFs"; + leaf head { + description + "Allow overloaded head node in TE CSPF"; + type empty; + } + leaf middle { + description + "Allow overloaded middle node in TE CSPF"; + type empty; + } + leaf tail { + description + "Allow overloaded tail node in TE CSPF"; + type empty; + } + } + } + leaf tiebreaker { + description + "Tiebreaker Configuration: < max-fill | min-fill | random >"; + type mpls-te-tiebreaker-type; + } + } + container pcc { + description + "Path Computation Client form MPLS-TE"; + leaf report-all { + description + "Force reporting of all MPLS-TE LSPs"; + type empty; + } + container peer { + description + "Specify a PCEP peer"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "PCE server IPv4 address"; + type inet:ipv4-address; + } + leaf source { + description + "Source IPv4 address to use"; + type inet:ipv4-address; + } + leaf precedence { + description + "Specify Precedence for this PCE: <0..255>, (default is 0)"; + type uint8 { + range "0..255"; + } + } + leaf force-autoroute { + description + "Force autoroute for all pce initiated lsp"; + type empty; + } + leaf delegate-only { + description + "PCE server does not support requests if stateful"; + type empty; + } + choice keychain-password-choice { + leaf keychain { + description + "Use key-chain: | "; + type string; + } + container password { + description + "Configure PCE MD5 password"; + choice password-type-choice { + leaf clear { + description + "Unencrypted password: | "; + type string; + } + leaf encrypted { + description + "Hidden password: | "; + type string; + } + } + } + } + } + } + } + container reoptimize { + description + "Reoptimization parameters"; + container events { + description + "Reoptimization triggers"; + leaf link-up { + description + "Reoptimize tunnels on link up events"; + type empty; + } + } + container timers { + description + "Reoptimization timers"; + container delay { + description + "Delay reoptimization action"; + leaf after-frr { + description + "Delay LSP reoptimization in the event of FRR: <0..120> seconds"; + type uint8 { + range "0..120"; + } + } + leaf cleanup { + description + "Delay cleanup of reoptimized LSP: <0..60> seconds"; + type uint8 { + range "0..60"; + } + } + leaf installation { + description + "Delay replacement of current LSP by reoptimized LSP: <0..3600> seconds"; + type uint16 { + range "0..3600"; + } + } + } + leaf frequency { + description + "Interval between reoptimization scans: <0..604800> seconds"; + type uint32 { + range "0..604800"; + } + } + } + } + container signalling { + description + "Traffic Engineering Signalling Parameters"; + container advertise { + description + "Signalling advertisement parameters"; + container explicit-null { + description + "Use MPLS encoding for Explicit-Null Label in signalling messages"; + presence "true"; + leaf access-list { + description + "IP access-list to determine applicable signalling peers. Either a string or number: <1..99>"; + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + } + } + container forwarding { + description + "Control interaction of LSP signalling and LFIB maintenance"; + leaf sync { + description + "Program linecard LFIBs before signalling LSP label upstream"; + type empty; + } + } + } + container topology { + description + "Topology Database Configuration"; + container holddown { + description + "Topology Database hold down timers"; + leaf sigerr { + description + "Link hold down time for signalling errors: <0..300> seconds"; + type uint16 { + range "0..300"; + } + } + } + container mesh-group { + description + "mesh-group commands"; + leaf accept-domain { + description + "accept receipt of Domain Scope"; + type empty; + } + } + } + container trace { + description + "Trace configuration"; + container buffer-size { + description + "Trace buffer size configuration"; + leaf error { + description + "Trace error buffer size: <1..500> kB, (default 32kB)"; + type uint16 { + range "1..500"; + } + } + leaf event { + description + "Trace event buffer size: <1..2500> kB, (default 1% of system memory)"; + type uint16 { + range "1..2500"; + } + } + leaf warning { + description + "Trace warning buffer size: <1..250> kB (default 32kB)"; + type uint8 { + range "1..250"; + } + } + } + } + leaf tunnels { + description + "Traffic Engineering tunnels"; + type empty; + } + } + container tp { + description + "Configure MPLS Transport Profile parameters"; + presence "true"; + } + container discovery { + description + "Configure discovery parameters"; + container vpn { + description + "Configure discovery vpn parameters"; + leaf interval { + description + "vpn interval (1-86400)"; + type uint32 { + range "1..86400"; + } + } + leaf next-hop { + description + "vpn next hop parameters"; + type empty; + } + } + } + container oam { + description + "MPLS OAM configuration"; + presence "true"; + uses config-oam-grouping; + } + } + + grouping mpls-grouping-bgp { + container bgp { + description + "MPLS BGP"; + leaf forwarding { + description + "Configure MPLS forwarding for directly connected BGP peers"; + type empty; + } + } + } + + grouping config-interface-mpls-grouping { + description + "Configure MPLS interface parameters"; + container accounting { + description + "Enable MPLS accounting on this interface"; + container experimental { + description + "Count packets by MPLS experimental value on this interface"; + leaf input { + description + "received packets"; + type empty; + } + leaf output { + description + "transmitted packets"; + type empty; + } + } + } + uses mpls-grouping-bgp; + leaf ip { + description + "Configure dynamic MPLS forwarding for IP"; + type empty; + } + container label { + description + "Label properties"; + leaf protocol { + description + "Configure label/tag distribution protocol (LDP/TDP)"; + type enumeration { + enum both; + enum ldp; + enum tdp; + } + } + } + container ldp { + description + "Configure Label Distribution Protocol (LDP) parameters"; + container discovery { + description + "Configure interface LDP Discovery parameters"; + leaf transport-address { + description + "Specify interface LDP transport address"; + type ldp-discovery-address-type; + } + } + container igp { + description + "Configure IGP-related parameters"; + container sync { + description + "Allow LDP-IGP Synchronization on this interface"; + presence "true"; + leaf delay { + description + "Configure LDP to IGP sync achieved notification delay time (seconds)"; + type uint8 { + range "5..60"; + } + } + } + } + } + leaf mtu { + description + "Set MPLS Maximum Transmission Unit"; + type union { + type uint16 { + range "1501..1524"; + } + type uint16 { + range "64..1500"; + } + type uint16 { + range "64..9216"; + } + } + } + container nhrp { + description + "MPLS NHRP commands"; + presence "true"; + leaf inspect { + description + "NHRP MPLS inspect command"; + type empty; + } + } + container traffic-eng { + description + "Configure Traffic Engineering parameters"; + leaf administrative-weight { + description + "Set the administrative weight for the interface: <0..4294967295>"; + type uint32 { + range "0..4294967295"; + } + } + leaf attribute-flags { + description + "Set user-defined interface attribute flags: <0x0-0xFFFFFFFF>"; + type mpls-te-attribute-flags; + } + container backup-path { + description + "Configure an MPLS TE backup for this interface"; + list Tunnel { + description + "Tunnel interface number: <0..2147483647>"; + key "name"; + leaf name { + type uint32 { + range "0..2147483647"; + } + } + } + } + container flooding { + description + "Set flooding parameters"; + container thresholds { + description + "Set flooding thresholds"; + leaf-list down { + description + "Set the thresholds for decreased resource availability in percentage: <0..100>"; + max-elements 16; + type uint8 { + range "0..100"; + } + } + leaf-list up { + description + "Set the thresholds for increased resource availability in percentage: <0..100>"; + max-elements 16; + type uint8 { + range "0..100"; + } + } + } + } + container passive-interface { + description + "Force a flood of non-IGP link"; + leaf nbr-te-id { + description + "Set the neighbor TE ID (router-id)"; + type inet:ipv4-address; + } + leaf nbr-if-addr { + description + "Set the Neighbor IP interface address"; + type inet:ipv4-address; + } + container nbr-igp-id { + description + "Set the Neighbor IGP ID (system-id)"; + choice igp-id-choice { + leaf isis { + description + "Set the neighbor ISIS node ID"; + type ios-isis:isis-net; + } + leaf ospf { + description + "Set the neighbor OSPF node ID"; + type inet:ipv4-address; + } + } + } + } + leaf tunnels { + description + "enable MPLS Traffic Engineering tunnels"; + type empty; + } + } + leaf mldp { + description + "Configure interface MLDP routing protocol"; + default "true"; + type boolean; + } + } + + grouping config-tunnel-mpls-grouping { + description + "Configure MPLS tunnel parameters"; + container traffic-eng { + uses mpls-te-affinity-mask-grouping { + refine "affinity-mask/affinity" { + description + "Desired link attributes for links comprising tunnel: <0x0-0xFFFFFFFF>"; + } + } + uses mpls-te-auto-bw-grouping { + refine "auto-bw" { + description + "Specify mpls tunnel should automatically change BW"; + } + refine "auto-bw/adjustment-threshold" { + description + "Set the bandwidth change threshold to trigger adjustment"; + } + refine "auto-bw/collect-bw" { + description + "Just collect bandwidth info on this tunnel"; + } + refine "auto-bw/frequency" { + description + "Frequency to change tunnel BW: <300..604800>"; + } + refine "auto-bw/max-bw" { + description + "Set the maximum bandwidth for auto-bw on this tunnel: <0..4294967295> (kbps)"; + } + refine "auto-bw/min-bw" { + description + "Set the minimum bandwidth for auto-bw on this tunnel: <0..4294967294> (kbps)"; + } + refine "auto-bw/overflow-limit" { + description + "Set consecutive samples exceeding threshold which trigger adjustment: <1..10>"; + } + } + container autoroute { + description + "parameters for routing over tunnel"; + leaf announce { + type empty; + } + container metric { + description + "Specify mpls tunnel metric"; + choice metric-choice { + leaf range { + description + "Set tunnel metric for autoroutes: <1..4294967295>"; + type uint32 { + range "1..4294967295"; + } + } + leaf absolute { + description + "Set absolute metric for all autoroutes over tunnel: <1..4294967295>"; + type uint32 { + range "1..4294967295"; + } + } + leaf relative { + description + "Adjust tunnel metric for autoroutes relative to IGP: <-10..10>"; + type int8 { + range "-10..10"; + } + } + } + } + leaf destination { + description + "announce tunnel destination to IP static route"; + type empty; + } + } + container backup-bw { + choice backup-bw-choice { + case bw-option { + leaf bandwidth { + description + "Amount of allocatable backup bw, any lsp may use: <1..4294967295> kbps"; + type uint32 { + range "1..4294967295"; + } + } + } + case sub-pool-option { + container sub-pool { + description + "Enter Allocatable amount for Sub-Pool bw"; + choice sub-pool-choice { + leaf unlimited { + description + "Unlimited amount for Sub-Pool bw"; + type empty; + } + container sub-pool-config { + leaf bandwidth { + description + "Amount of allocatable backup bw, only sub-pool may use: <1..4294967295> kbps"; + type uint32 { + range "1..4294967295"; + } + } + uses mpls-te-class-global-pool-grouping { + refine "class-global-pool-choice/class-type-choice/class-type/class-type-num" { + description + "Enter the Class-type: <0..0>"; + must '. = 0'; + } + } + } + } + } + } + case class-global-pool-option { + uses mpls-te-class-global-pool-grouping; + } + } + } + container bandwidth { + description + "tunnel bandwidth requirement"; + choice bandwidth-choice { + case bandwidth-option { + leaf bw { + description + "bandwidth requirement: <0..4294967295> kbps"; + type uint32; + } + leaf class-type { + description + "classtype value"; + type uint8 { + range "0..1"; + } + } + } + case sub-pool-option { + leaf sub-pool { + description + "tunnel uses sub-pool bandwidth: <1..4294967295> kbps"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + container bfd { + description + "Bidirectional Forwarding Detection (BFD) configuration"; + leaf sbfd { + description + " Seamless BFD"; + type string; + } + } + container binding-sid { + description + "Binding Segment Identifier"; + leaf label { + description + "MPLS label (depends on the configured static label range)"; + must '. >= /ios:native/ios:mpls/ios-mpls:label/ios-mpls:range/ios-mpls:static/ios-mpls:min and . <= /ios:native/ios:mpls/ios-mpls:label/ios-mpls:range/ios-mpls:static/ios-mpls:max'; + type uint32 { + range "16..1048575"; + } + } + } + container exp { + description + "Set the experimental values allowed for this interface"; + leaf-list exp-value { + description + "Enter up to 8 experimental values separated by white-spaces: <0..7>"; + max-elements 8; + type uint8 { + range "0..7"; + } + } + leaf default { + description + "Default all unconfigured exp to this interface"; + type empty; + } + } + container exp-bundle { + description + "Configure the tunnel as a bundle"; + leaf master { + description + "Master tunnel for the bundle"; + type empty; + } + container member { + description + "Member tunnel for the bundle"; + leaf Tunnel { + description + "Tunnel interface number: <0..2147483647>"; + type uint32 { + range "0..2147483647"; + } + } + } + } + container fast-reroute { + description + "Specify mpls tunnel can be fast-rerouted"; + presence "true"; + leaf bw-protect { + description + "bandwidth protection desired"; + type empty; + } + leaf node-protect { + description + "node protection desired"; + type empty; + } + } + container forwarding-adjacency { + description + "Treat this tunnel as a Forwarding Adjacency"; + presence "true"; + leaf holdtime { + description + "How long to wait upon flooding a down Forwarding Adjacency: <0..4294967295> msec"; + type uint32; + } + } + container interface { + description + "Add tunnel interface config"; + container down { + description + " Tunnel interface down config"; + leaf delay { + description + "Tunnel interface down delay config: <0..0>"; + type uint32; + must '. = 0'; + } + } + } + leaf load-share { + description + "Specify tunnel load-sharing metric: <0..1000000>"; + type uint32 { + range "0..1000000"; + } + } + leaf name { + description + "specify a name describing the TE tunnel"; + type string { + length "1..63"; + } + } + container path-option { + list working { + key "id"; + leaf id { + type uint32; + } + choice path-option-choice { + mandatory true; + case dynamic-option { + container dynamic { + description + "Setup based on dynamically calculated path"; + presence "true"; + choice popt-choice { + case option-segment-routing { + container segment-routing { + description + "Specify segment-routing for this pathoption"; + presence "true"; + choice popt-sr-choice { + case option-attributes { + uses mpls-te-popt-attributes-grouping; + } + case option-lockdown { + uses mpls-te-popt-lockdown-grouping; + } + case option-pce { + uses mpls-te-popt-pce-verbatim-grouping; + } + } + } + } + case option-pce { + uses mpls-te-popt-pce-verbatim-grouping; + } + case option-lockdown { + uses mpls-te-popt-lockdown-grouping; + uses mpls-te-popt-bandwidth-grouping; + } + case option-attibutes { + uses mpls-te-popt-attributes-grouping; + } + } + } + } + case explicit-option { + container explicit { + description + "Setup based on preconfigured path"; + uses mpls-te-popt-id-grouping; + uses mpls-te-popt-segment-routing-grouping; + uses mpls-te-popt-verbatim-grouping; + choice popt-choice { + case attributes-option { + uses mpls-te-popt-attributes-grouping; + } + case lockdown-option { + uses mpls-te-popt-lockdown-grouping; + uses mpls-te-popt-bandwidth-grouping { + when '(count(segment-routing) = 0)'; + } + } + } + } + } + case segment-routing-option { + container segment-routing { + description + "Specify segment-routing for this pathoption"; + presence "true"; + uses mpls-te-popt-lockdown-grouping; + } + } + } + } + list protect { + key "id"; + leaf id { + type leafref { + path "../../working/id"; + } + } + choice protect-choice { + mandatory true; + case diverse-option { + container diverse { + description + "Setup based on dynamically calculated diverse path"; + leaf node { + description + "Use at least node diverse path"; + type empty; + } + leaf srlg { + description + "Use at least srlg diverse path"; + type empty; + } + uses mpls-te-popt-segment-routing-grouping; + leaf non-revertive { + description + "Diverse non-revertive"; + type empty; + } + uses mpls-te-popt-pce-verbatim-grouping; + leaf lockdown { + description + "Not a candidate for reoptimization"; + type empty; + } + uses mpls-te-popt-attributes-bw-grouping { + when '(count(./pce) = 1) or (count(./lockdown) = 1)'; + } + must '(count(.) = 0) or (count(./pce) = 1) or (count(./lockdown) = 1)' { + error-message "Diverse protect path-option must have either pce of lockdown if any other option is configured."; + } + } + } + case explicit-option { + container explicit { + description + "Setup based on preconfigured path"; + uses mpls-te-popt-id-grouping; + uses mpls-te-popt-segment-routing-grouping; + leaf non-revertive { + description + "Diverse non-revertive"; + type empty; + } + uses mpls-te-popt-verbatim-grouping; + uses mpls-te-popt-attributes-bw-grouping; + } + } + case list-option { + container list { + description + "A list of backup paths"; + uses mpls-te-popt-id-grouping; + uses mpls-te-popt-segment-routing-grouping; + leaf non-revertive { + description + "Make the protect path non-revertive"; + type empty; + } + uses mpls-te-popt-attributes-bw-pce-grouping; + } + } + } + } + } + uses mpls-te-path-selection-grouping { + augment "path-selection" { + leaf cost-limit { + description + "Cost Limit Configuration: <1..4294967295>"; + type uint32 { + range "1..4294967295"; + } + } + leaf hop-limit { + description + "Cost Limit Configuration: <1..255>"; + type uint8 { + range "1..255"; + } + } + leaf tiebreaker { + description + "Tiebreaker Configuration: < max-fill | min-fill | random >"; + type mpls-te-tiebreaker-type; + } + } + } + uses mpls-te-setup-hold-priority-grouping { + refine "priority" { + description + "Tunnel priority"; + } + refine "priority/hold-priority" { + must '../setup-priority >= .'; + } + } + container record-route { + description + "record the route used by the tunnel"; + presence "true"; + } + } + } + + augment "/ios:native/ios:mpls" { + uses config-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:mpls" { + uses mpls-grouping-bgp; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:mpls" { + uses mpls-grouping-bgp; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:mpls" { + uses config-interface-mpls-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:mpls" { + uses config-interface-mpls-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mroute-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mroute-oper.yang new file mode 100644 index 000000000..35a6547a9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mroute-oper.yang @@ -0,0 +1,1473 @@ +module Cisco-IOS-XE-mroute-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mroute-oper"; + prefix mroute-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for Mroute operational data. + Copyright (c) 2017-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Added LISP decap ref count contributor flag under mroute flags + - Added LISP transit group range flag under the interface level mroute flags + - Added flag for PIM join on interfaces"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mroute-addr-family { + type enumeration { + enum mroute-af-ipv4 { + value 0; + description + "Address Family IPV4"; + } + enum mroute-af-ipv6 { + value 1; + description + "Address Family IPV6"; + } + } + description + "Multicast Address Family"; + } + + typedef interface-state-type { + type enumeration { + enum intf-invalid { + value 0; + description + "Interface Invalid"; + } + enum intf-prune { + value 1; + description + "Prune"; + } + enum intf-forward { + value 2; + description + "Forward"; + } + enum intf-bidir-upstream { + value 3; + description + "Bidir-Upstream"; + } + } + description + "Multicast Interface State Type"; + } + + typedef mroute-mode-type { + type enumeration { + enum mroute-none { + value 0; + description + "Mroute mode None"; + } + enum mroute-dense { + value 1; + description + "Mroute Dense mode"; + } + enum mroute-sparse { + value 2; + description + "Mroute Sparse mode"; + } + enum mroute-bidir { + value 3; + description + "Mroute bidirectional mode"; + } + } + description + "Mroute Mode Type"; + } + + typedef mfib-nh-type { + type enumeration { + enum mfib-nh-type-invalid { + value 0; + description + "Invalid Type"; + } + enum mfib-nh-type-ipv4 { + value 1; + description + "IPv4 Type"; + } + enum mfib-nh-type-ipv6 { + value 2; + description + "IPv6 Type"; + } + enum mfib-nh-type-mdt-encap-ipv4 { + value 3; + description + "IPv4 MDT Encap"; + } + enum mfib-nh-type-mdt-encap-ipv6 { + value 4; + description + "IPv6 MDT Encap"; + } + enum mfib-nh-type-mdt-encap-ipv4-mapped-ipv6 { + value 5; + description + "IPv4 mapped IPv6 MDT Encap"; + } + enum mfib-nh-type-lsm { + value 6; + description + "Label Switched Multicast"; + } + enum mfib-nh-type-lsm-nbma { + value 7; + description + "Label Switched Multicast Non-Broadcast Multi Access"; + } + enum mfib-nh-type-mdt-decap-ipv4 { + value 8; + description + "IPv4 MDT Decap"; + } + enum mfib-nh-type-mdt-decap-ipv6 { + value 9; + description + "IPv6 MDT Decap"; + } + enum mfib-nh-type-mdt-decap-ipv4-mapped-ipv6 { + value 10; + description + "IPv4 mapped IPv6 MDT Decap"; + } + enum mfib-nh-type-otv-decap-ipv4 { + value 11; + description + "IPv4 OTV Decap"; + } + enum mfib-nh-type-otv-decap-ipv6 { + value 12; + description + "IPv6 OTV Decap"; + } + enum mfib-nh-type-service-reflect { + value 13; + description + "Service Reflect"; + } + enum mfib-nh-type-vxlan-decap-ipv4 { + value 14; + description + "IPv4 VxLAN Decap"; + } + enum mfib-nh-type-amt-ipv4 { + value 15; + description + "IPv4 Automatic Multicast Tunnelling"; + } + enum mfib-nh-type-amt-ipv6 { + value 16; + description + "IPv6 Automatic Multicast Tunnelling"; + } + enum mfib-nh-type-lisp-ipv4 { + value 17; + description + "IPv4 LISP"; + } + enum mfib-nh-type-l2lisp-decap-ipv4 { + value 18; + description + "IPv4 L2 LISP Decap"; + } + enum mfib-nh-type-lisp-decap-ipv4 { + value 19; + description + "IPv4 LISP Decap"; + } + enum mfib-nh-type-cb { + value 20; + description + "CB Type"; + } + enum mfib-nh-type-vxlan-ipv4 { + value 21; + description + "IPv4 VxLAN"; + } + enum mfib-nh-type-vxlan-ipv6 { + value 22; + description + "IPv6 VxLAN"; + } + enum mfib-nh-type-vxlan-decap-ipv6 { + value 23; + description + "IPv6 VxLAN Decap"; + } + } + description + "MFIB next hop Type"; + } + + typedef mcast-cef-status { + type enumeration { + enum mfib-cef-process-switching { + value 0; + description + "Process Switching"; + } + enum mfib-cef-sepcial-punt-adjacency { + value 1; + description + "Punt Adjacency"; + } + enum mfib-cef-sepcial-drop-adjacency { + value 2; + description + "Drop Adjacency"; + } + enum mfib-cef-sepcial-discard-adjacency { + value 3; + description + "Discard Adjacency"; + } + enum mfib-cef-sepcial-null-adjacency { + value 4; + description + "Null Adjacency"; + } + enum mfib-cef-sepcial-glean-adjacency { + value 5; + description + "Glean Adjacency"; + } + enum mfib-cef-sepcial-unresolved-adjacency { + value 6; + description + "Unresolved Adjacency"; + } + enum mfib-cef-sepcial-no-route-oce { + value 7; + description + "No Route OCE"; + } + enum mfib-cef-sepcial-ra-exception-oce { + value 8; + description + "Router alert exception OCE"; + } + enum mfib-cef-sepcial-gal-exception-oce { + value 9; + description + "Gal exception OCE"; + } + enum mfib-cef-sepcial-eli-exception-oce { + value 10; + description + "Entropy label indicator OCE"; + } + enum mfib-cef-sepcial-illegal-oce { + value 11; + description + "Illegal OCE"; + } + enum mfib-cef-oce-type-unknown { + value 12; + description + "Unknown type of output chain element"; + } + enum mfib-cef-oce-type-special { + value 13; + description + "Special"; + } + enum mfib-cef-oce-type-adj { + value 14; + description + "Adjacency"; + } + enum mfib-cef-oce-type-label { + value 15; + description + "Label"; + } + enum mfib-cef-oce-type-loadbalance { + value 16; + description + "Load Balance"; + } + enum mfib-cef-oce-type-bundle { + value 17; + description + "Bundle"; + } + enum mfib-cef-oce-type-mpls-eos { + value 18; + description + "MPLS EOS"; + } + enum mfib-cef-oce-type-qos { + value 19; + description + "Quality of service"; + } + enum mfib-cef-oce-type-frr { + value 20; + description + "Fast reroute"; + } + enum mfib-cef-oce-type-lookup { + value 21; + description + "Lookup"; + } + enum mfib-cef-oce-type-receive { + value 22; + description + "Receive"; + } + enum mfib-cef-oce-type-multicast { + value 23; + description + "Multicast"; + } + enum mfib-cef-oce-type-push-counter { + value 24; + description + "Push counter"; + } + enum mfib-cef-oce-type-atom-imp { + value 25; + description + "Atom IMP"; + } + enum mfib-cef-oce-type-atom-disp { + value 26; + description + "Atom disp"; + } + enum mfib-cef-oce-type-tunnel-decap { + value 27; + description + "Tunnel decap"; + } + enum mfib-cef-oce-type-replicate { + value 28; + description + "Replicate"; + } + enum mfib-cef-oce-type-interface { + value 29; + description + "Interface"; + } + enum mfib-cef-oce-type-lisp-elig { + value 30; + description + "LISP check eligibility"; + } + enum mfib-cef-oce-type-gal-check { + value 31; + description + "Gal Check"; + } + enum mfib-cef-oce-type-lisp-decap { + value 32; + description + "LISP Decap"; + } + enum mfib-cef-oce-type-bier-fmask { + value 33; + description + "BIER fmask"; + } + enum mfib-cef-oce-type-bier-disp { + value 34; + description + "BIER Disposition and Dispatch"; + } + enum mfib-cef-oce-type-srv6 { + value 35; + description + "Segment Routing over IPv6 encap or insert"; + } + enum mfib-cef-oce-type-srv6-dispatch { + value 36; + description + "Segment Routing over IPv6 dispatch"; + } + enum mfib-cef-oce-type-srv6-end { + value 37; + description + "Segment Routing over IPv6 end"; + } + enum mfib-cef-oce-type-evpn-disp { + value 38; + description + "EVPN Disp"; + } + enum mfib-cef-oce-type-sadr { + value 39; + description + "Sadr OCE"; + } + enum mfib-cef-oce-type-signal { + value 40; + description + "Signal"; + } + enum mfib-cef-incomplete-adjacency { + value 41; + description + "Incomplete Adjacency"; + } + enum mfib-cef-mid-chain-adjacency { + value 42; + description + "Mid chain Adjacency"; + } + enum mfib-cef-empty-mac-adjacency { + value 43; + description + "Empty MAC Adjacency"; + } + enum mfib-cef-adjacency-with-mac { + value 44; + description + "Adjacency with MAC"; + } + } + description + "Multicast MFIB CEF Type Status"; + } + + typedef mvpn-lsm-type { + type enumeration { + enum mvpn-lsm-none { + value 0; + description + "Invalid Type"; + } + enum mvpn-lsm-nopta { + value 1; + description + "No Tunnel"; + } + enum mvpn-lsm-mldp { + value 2; + description + "MLDP Type"; + } + enum mvpn-lsm-ir { + value 3; + description + "Ingress Replication Type"; + } + enum mvpn-lsm-bier { + value 4; + description + "BIER Type"; + } + enum mvpn-lsm-vxlan { + value 5; + description + "VXLAN Type"; + } + } + description + "MVPN Labeled Switched Multicast Transport Type"; + } + + typedef mroute-flag-type { + type bits { + bit mroute-connected { + position 0; + description + "Mroute Connected"; + } + bit mroute-local { + position 1; + description + "Mroute Local"; + } + bit mroute-register { + position 2; + description + "Mroute Register"; + } + bit mroute-rp-bit-set { + position 3; + description + "Mroute RP-bit set"; + } + bit mroute-spt-bit-set { + position 4; + description + "Mroute SPT-bit set"; + } + bit mroute-join-spt { + position 5; + description + "Mroute Join SPT"; + } + bit mroute-pim-join { + position 6; + description + "Mroute PIM join"; + } + bit mroute-vxlan-group { + position 7; + description + "Mroute VxLAN group"; + } + bit mroute-msdp-created-entry { + position 8; + description + "Mroute MSDP created entry"; + } + bit mroute-multicast-tunnel { + position 9; + description + "Multicast Tunnel"; + } + bit mroute-ssm { + position 10; + description + "Mroute SSM"; + } + bit mroute-urd { + position 11; + description + "Mroute URD"; + } + bit mroute-received-source-specific-host-report { + position 12; + description + "Received Source Specific Host Report"; + } + bit mroute-rd-vector { + position 13; + description + "Mroute RD & Vector"; + } + bit mroute-vector { + position 14; + description + "Mroute Vector"; + } + } + description + "Mroute Flags"; + } + + typedef mroute-ext-flag-type { + type bits { + bit mroute-pruned { + position 0; + description + "Mroute Pruned"; + } + bit mroute-extranet { + position 1; + description + "Mroute Extranet"; + } + bit mroute-proxy-join-timer-running { + position 2; + description + " Mroute Proxy Join Timer Running"; + } + bit mroute-candidate-for-msdp-advertisement { + position 3; + description + "Mroute Candidate for MSDP advertisement"; + } + bit mroute-mdt-data-group-sender { + position 4; + description + "Mroute MDT-data group sender"; + } + bit mroute-joined-mdt-data-group { + position 5; + description + "Mroute Joined MDT-data group"; + } + bit mroute-sending-to-mdt-data-group { + position 6; + description + "Mroute Sending to MDT-data group"; + } + bit mroute-received-bgp-c-mroute { + position 7; + description + "Received BGP C-Mroute"; + } + bit mroute-sent-bgp-c-mroute { + position 8; + description + "Sent BGP C-Mroute"; + } + bit mroute-received-bgp-shared-tree-prune { + position 9; + description + "Mroute Received BGP Shared-Tree Prune"; + } + bit mroute-bgp-c-mroute-suppressed { + position 10; + description + "BGP C-Mroute suppressed"; + } + bit mroute-received-bgp-s-a-route { + position 11; + description + "Received BGP S-A Route"; + } + bit mroute-sent-bgp-s-a-route { + position 12; + description + "Sent BGP S-A Route"; + } + bit mroute-pfp-sa-cache-created-entry { + position 13; + description + "Populate from Packet SA cache created entry"; + } + bit mroute-determined-by-assert { + position 14; + description + "Mroute Determined by Assert"; + } + bit mroute-iif-starg-configured { + position 15; + description + "IIF-starg configured on RPF Interface"; + } + bit mroute-lisp-decap-ref-count-contributor { + position 16; + description + "LISP decap reference count contributor"; + } + } + description + "Mroute Flags Extended"; + } + + typedef mfib-flag-type { + type bits { + bit mfib-directly-connected { + position 0; + description + "MFIB Directly Connected"; + } + bit mfib-signal { + position 1; + description + "MFIB Signal"; + } + bit mfib-inherit-a-flag { + position 2; + description + "MFIB Inherit A Flag"; + } + bit mfib-hardware-installed { + position 3; + description + "MFIB Hardware Installed"; + } + bit mfib-data-rate-exceeds-threshold { + position 4; + description + "MFIB Data Rate Exceeds Threshold"; + } + bit mfib-keepalive { + position 5; + description + "MFIB Keepalive"; + } + bit mfib-data-driven-event { + position 6; + description + "MFIB Data Driven Event"; + } + bit mfib-mofrr-ecmp-entry { + position 7; + description + "MFIB MoFRR ECMP Entry"; + } + bit mfib-mofrr-non-ecmp-entry { + position 8; + description + "MFIB MoFRR Non-ECMP Entry"; + } + bit mfib-mrib-mofrr-primary { + position 9; + description + "MRIB MoFRR Primary"; + } + bit mfib-mfib-mofrr-primary { + position 10; + description + "MFIB MoFRR Primary"; + } + bit mfib-mofrr-primary { + position 11; + description + "MoFRR Primary"; + } + bit mfib-mofrr-entry-in-sync { + position 12; + description + "MoFRR Entry in Sync"; + } + bit mfib-mofrr-entry-in-mofrr-client { + position 13; + description + "MoFRR entry in MoFRR Client"; + } + } + description + "MFIB Flags"; + } + + typedef mfib-if-flag-type { + type bits { + bit mfib-intf-accept { + position 0; + description + "MFIB Interface Accept"; + } + bit mfib-intf-forward { + position 1; + description + "MFIB Interface Forward"; + } + bit mfib-intf-negate-signalling { + position 2; + description + "MFIB Interface Negate Signalling"; + } + bit mfib-intf-internal-copy { + position 3; + description + "MFIB Interface Internal Copy"; + } + bit mfib-intf-signal-present { + position 4; + description + "MFIB Interface Signal Present"; + } + bit mfib-intf-do-not-preserve { + position 5; + description + "MFIB Interface Do not Preserve"; + } + bit mfib-intf-not-platform-switched { + position 6; + description + "MFIB Interface Not platform switched"; + } + bit mfib-intf-mrib-forward { + position 7; + description + "MFIB Interface MRIB Forward"; + } + bit mfib-intf-mrib-accept { + position 8; + description + "MFIB Interface MRIB Accept"; + } + bit mfib-intf-mrib-signal-present { + position 9; + description + "MFIB Interface MRIB Signal Present"; + } + bit mfib-intf-force-dummy-update { + position 10; + description + "MFIB Force Dummy Update"; + } + bit mfib-intf-mfib-accept { + position 11; + description + "MFIB Accept"; + } + bit mfib-intf-mrib-accept-backup { + position 12; + description + "MRIB Accept Backup"; + } + bit mfib-intf-mfib-accept-backup { + position 13; + description + "MFIB Accept Backup"; + } + bit mfib-intf-accept-backup { + position 14; + description + "MFIB Interface Accept Backup"; + } + bit mfib-intf-force-update { + position 15; + description + "MFIB Force Update"; + } + bit mfib-intf-active { + position 16; + description + "MFIB Interface Active"; + } + } + description + "MFIB Interface Flags"; + } + + typedef interface-flag-type { + type bits { + bit intf-flag-hw-switched { + position 0; + description + "Hardware Switched"; + } + bit intf-flag-assert-winner { + position 1; + description + "Assert Winner"; + } + bit intf-flag-lisp-transit-range { + position 2; + description + "LISP transit group range"; + } + bit intf-flag-pim-join { + position 3; + description + "PIM join on interface"; + } + } + description + "Interface Flags Type"; + } + + grouping sr-next-hop-addr-type { + description + "Service Reflect next hop address type"; + leaf next-hop-source { + type inet:ip-address; + description + "Next hop source"; + } + leaf next-hop-group { + type inet:ip-address; + description + "Next hop group"; + } + leaf gr-index { + type uint32; + description + "Next hop group index"; + } + } + + grouping amt-next-hop-addr-type { + description + "Automatic Multicast Tunnelling next hop address type"; + leaf nh-ip-addr { + type inet:ip-address; + description + "Next hop IP address"; + } + leaf amt-udp-port { + type uint16; + description + "Automatic Multicast Tunnelling UDP port"; + } + } + + grouping lisp-next-hop-type { + description + "LISP next hop address type"; + leaf rloc-addr { + type inet:ip-address; + description + "Routing Locator address"; + } + leaf group-addr { + type inet:ip-address; + description + "Group address"; + } + } + + grouping vxlan-next-hop-addr-type { + description + "VxLAN next hop address type"; + leaf group-addr { + type inet:ip-address; + description + "Group address"; + } + leaf vni { + type uint32; + description + "Virtual Network Identifier"; + } + } + + grouping mfib-next-hop-addr-type { + description + "MFIB next hop address type"; + choice next-hop-addr-choice { + description + "MFIB next hop address based on address type"; + case mfib-nh-type-ipv4 { + leaf next-hop-addr-v4 { + type inet:ip-address; + description + "IPv4 next hop address"; + } + } + case mfib-nh-type-mdt-encap-ipv4 { + leaf next-hop-addr-encap-v4 { + type inet:ip-address; + description + "MDT Encap IPv4 next hop address"; + } + } + case mfib-nh-type-lsm { + leaf next-hop-lsm { + type uint32; + description + "Label Switched Multicast next hop address"; + } + } + case mfib-nh-type-lsm-nbma { + leaf next-hop-lsm-nbma { + type uint32; + description + "Label Switched Multicast Non-Broadcast Multi Access next hop address"; + } + } + case mfib-nh-type-cb { + leaf next-hop-cb { + type uint32; + description + "CB next hop address"; + } + } + case mfib-nh-type-ipv6 { + leaf next-hop-addr-v6 { + type inet:ip-address; + description + "IPv6 next hop address"; + } + } + case mfib-nh-type-mdt-encap-ipv6 { + leaf next-hop-addr-encap-v6 { + type inet:ip-address; + description + "MDT Encap IPv6 next hop address"; + } + } + case mfib-nh-type-mdt-encap-ipv4-mapped-ipv6 { + leaf next-hop-addr-encap-v4-mapped-v6 { + type inet:ip-address; + description + "MDT Encap IPv4 mapped IPv6 next hop address"; + } + } + case mfib-nh-type-service-reflect { + container sr-next-hop-addr { + description + "Service Reflect next hop address"; + uses mroute-ios-xe-oper:sr-next-hop-addr-type; + } + } + case mfib-nh-type-amt-ipv4 { + container amt-next-hop-addr-v4 { + description + "Automatic Multicast Tunnelling IPv4 next hop address"; + uses mroute-ios-xe-oper:amt-next-hop-addr-type; + } + } + case mfib-nh-type-amt-ipv6 { + container amt-next-hop-addr-v6 { + description + "Automatic Multicast Tunnelling IPv6 next hop address"; + uses mroute-ios-xe-oper:amt-next-hop-addr-type; + } + } + case mfib-nh-type-lisp-ipv4 { + container lisp-next-hop { + description + "LISP next hop"; + uses mroute-ios-xe-oper:lisp-next-hop-type; + } + } + case mfib-nh-type-vxlan-ipv4 { + container vxlan-next-hop-addr-v4 { + description + "VxLAN IPv4 next hop address"; + uses mroute-ios-xe-oper:vxlan-next-hop-addr-type; + } + } + case mfib-nh-type-vxlan-ipv6 { + container vxlan-next-hop-addr-v6 { + description + "VxLAN IPv6 next hop address"; + uses mroute-ios-xe-oper:vxlan-next-hop-addr-type; + } + } + } + } + + grouping mcast-incoming-interface { + description + "Multicast Incoming Interface Grouping"; + leaf if-name { + type string; + description + "Multicast incoming interface name"; + } + leaf mfib-if-flags { + type mroute-ios-xe-oper:mfib-if-flag-type; + description + "Mfib incoming interface flags"; + } + leaf rpf-id { + type uint32; + description + "Multicast incoming interface RPF Id"; + } + leaf mfib-next-hop-type { + type mroute-ios-xe-oper:mfib-nh-type; + description + "Incoming Interface MFIB next hop type"; + } + container mfib-next-hop-addr { + description + "Incoming Interface MFIB next hop address"; + uses mroute-ios-xe-oper:mfib-next-hop-addr-type; + } + } + + grouping mcast-outgoing-interface { + description + "Multicast Outgoing Interface Grouping"; + leaf mfib-if-flags { + type mroute-ios-xe-oper:mfib-if-flag-type; + description + "Mfib outgoing interface flags"; + } + leaf output-if-counters { + type uint64; + description + "Multicast outgoing interface packet counters"; + } + leaf if-uptime { + type yang:date-and-time; + description + "Multicast outgoing interface uptime"; + } + leaf if-expiry-set { + type empty; + description + "Multicast outgoing interface expiry state"; + } + leaf if-expires { + when '(../if-expiry-set)'; + type yang:date-and-time; + description + "Multicast outgoing interface expiry"; + } + leaf is-static { + type boolean; + description + "Multicast outgoing interface is static"; + } + leaf is-proxy { + type boolean; + description + "Multicast outgoing interface is proxy"; + } + leaf next-hop { + type inet:ip-address; + description + "Multicast outgoing interface next hop"; + } + leaf outer-src { + type inet:ip-address; + description + "Multicast outgoing interface outer source"; + } + leaf aux-next-hop { + type uint64; + description + "Multicast outgoing interface auxiliary next hop"; + } + leaf if-state { + type mroute-ios-xe-oper:interface-state-type; + description + "Multicast outgoing interface state"; + } + leaf blocked { + type boolean; + description + "Multicast outgoing interface blocked"; + } + leaf if-threshold { + type uint64; + description + "Multicast outgoing interface threshold"; + } + leaf out-rate-limit { + type uint64; + description + "Multicast outgoing interface out rate-limit"; + } + leaf port-number { + type uint32; + description + "Multicast outgoing interface port number"; + } + leaf if-flags { + type mroute-ios-xe-oper:interface-flag-type; + description + "Multicast outgoing interface flags"; + } + leaf hw-packet-count { + type uint64; + description + "Multicast outgoing interface hardware packet count"; + } + leaf fs-packet-count { + type uint64; + description + "Multicast outgoing interface fast switched packet count"; + } + leaf ps-packet-count { + type uint64; + description + "Multicast outgoing interface process switched packet count"; + } + leaf egress-rate-pps { + type uint64; + description + "Multicast outgoing interface egress rate in packets per second"; + } + leaf rpf-id { + type uint32; + description + "Multicast outgoing interface RPF ID"; + } + leaf mfib-next-hop-type { + type mroute-ios-xe-oper:mfib-nh-type; + description + "Outgoing interface MFIB next hop type"; + } + container mfib-next-hop-addr { + description + "Outgoing interface MFIB next hop address"; + uses mroute-ios-xe-oper:mfib-next-hop-addr-type; + } + leaf cef-status { + type mroute-ios-xe-oper:mcast-cef-status; + description + "Multicast outgoing interface CEF Status"; + } + leaf cef-adjacency-mac { + type binary; + description + "Multicast outgoing interface CEF adjacency MAC"; + } + } + + grouping mcast-egress-if-entry { + description + "Multicast Outgoing Interface Entry"; + leaf if-name { + type string; + description + "Multicast outgoing interface name"; + } + container mcast-egress-if-data { + description + "Multicast egress interface data"; + uses mroute-ios-xe-oper:mcast-outgoing-interface; + } + } + + grouping mroute-state { + description + "Mroute oper state"; + container ingress-if { + description + "Mroute ingress Interface"; + uses mroute-ios-xe-oper:mcast-incoming-interface; + } + list mcast-egress-if-entry { + key "if-name"; + description + "Mroute Outgoing Interface List Entry"; + uses mroute-ios-xe-oper:mcast-egress-if-entry; + } + leaf in-rate-limit { + type uint64; + description + "Input rate-limit"; + } + leaf port-number { + type uint32; + description + "Port-number"; + } + leaf rp { + type inet:ip-address; + description + "RP address"; + } + leaf rpf-nbr { + type inet:ip-address; + description + "RPF neighbor"; + } + leaf mdt-join-timer-set { + type empty; + description + "MDT Join timer state"; + } + leaf mdt-join-timer { + when '(../mdt-join-timer-set)'; + type yang:date-and-time; + description + "MDT Join timer"; + } + leaf mvpn-lsm-tree-num { + type uint32; + description + "MVPN Labeled Switched Multicast Tree number"; + } + leaf lsm-root { + type inet:ip-address; + description + "Labeled Switched Multicast root"; + } + leaf lsm-type { + type mroute-ios-xe-oper:mvpn-lsm-type; + description + "Labeled Switched Multicast Transport Type"; + } + leaf sec-if-name { + type string; + description + "Secondary Interface Name"; + } + leaf sec-rpf-nbr { + type inet:ip-address; + description + "Secondary RPF neighbor"; + } + leaf mofrr-primary { + type boolean; + description + "MOFRR primary"; + } + leaf mofrr-peer-group { + type inet:ip-address; + description + "MOFRR Peer Group"; + } + leaf mofrr-peer-source { + type inet:ip-address; + description + "MOFRR Peer Source"; + } + leaf mroute-uptime { + type yang:date-and-time; + description + "Mroute uptime"; + } + leaf mroute-expiry-set { + type empty; + description + "Mroute expiry state"; + } + leaf mroute-expires { + when '(../mroute-expiry-set)'; + type yang:date-and-time; + description + "Mroute expiry"; + } + leaf mroute-mode { + type mroute-ios-xe-oper:mroute-mode-type; + description + "Mroute Modes"; + } + leaf mroute-flags { + type mroute-ios-xe-oper:mroute-flag-type; + description + "Mroute flags"; + } + leaf mroute-ext-flags { + type mroute-ios-xe-oper:mroute-ext-flag-type; + description + "Mroute extended flags"; + } + leaf mfib-flags { + type mroute-ios-xe-oper:mfib-flag-type; + description + "MFIB flags"; + } + leaf sw-packet-count { + type uint64; + description + "Multicast Software packet count"; + } + leaf sw-packets-per-second { + type uint64; + description + "Multicast Software packets per second"; + } + leaf sw-average-packet-size { + type uint64; + description + "Multicast Software average packets size"; + } + leaf sw-kbits-per-second { + type uint64; + description + "Multicast Software kilo bits per second"; + } + leaf sw-total { + type uint64; + description + "Software Total Packets"; + } + leaf sw-rpf-failed { + type uint64; + description + "Software RPF failed count"; + } + leaf sw-other-drops { + type uint64; + description + "Software Other drops"; + } + leaf hw-packet-count { + type uint64; + description + "Multicast Hardware packet count"; + } + leaf hw-packets-per-second { + type uint64; + description + "Multicast Hardware packets per second"; + } + leaf hw-average-packet-size { + type uint64; + description + "Multicast Hardware average packets size"; + } + leaf hw-kbits-per-second { + type uint64; + description + "Multicast Hardware kilo bits per second"; + } + leaf hw-total { + type uint64; + description + "Hardware Total Packets"; + } + leaf hw-rpf-failed { + type uint64; + description + "Hardware RPF failed count"; + } + leaf hw-other-drops { + type uint64; + description + "Hardware Other drops"; + } + } + + grouping mroute-key { + description + "Mroute key"; + leaf source { + type inet:ip-address; + description + "Multicast source"; + } + leaf group { + type inet:ip-address; + description + "Multicast group"; + } + leaf vrf { + type string; + description + "VRF name"; + } + leaf af { + type mroute-ios-xe-oper:mroute-addr-family; + description + "Address Family"; + } + } + + container mroute-oper-data { + config false; + description + "Mroute operational data"; + list mroute-state { + key "source group vrf af"; + description + "Mroute operational state"; + uses mroute-ios-xe-oper:mroute-key; + uses mroute-ios-xe-oper:mroute-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp-oper.yang new file mode 100644 index 000000000..f7179971e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp-oper.yang @@ -0,0 +1,966 @@ +module Cisco-IOS-XE-mrp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mrp-oper"; + prefix mrp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MRP (Media Redundancy Protocol) operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mrp-port-status { + type enumeration { + enum mrp-port-disabled { + value 0; + description + "MRP Ring port disabled"; + } + enum mrp-port-blocked { + value 1; + description + "MRP Ring port blocked"; + } + enum mrp-port-forwarding { + value 2; + description + "MRP Ring port status forwarding"; + } + enum mrp-port-not-connected { + value 3; + description + "MRP Ring port not connected"; + } + enum mrp-port-err-disabled { + value 4; + description + "MRP Ring port error disabled"; + } + enum mrp-port-na { + value 5; + description + "MRP Ring port status Not Available"; + } + } + description + "MRP Ring port status"; + } + + typedef mrp-ring-mode { + type enumeration { + enum mrp-mode-none { + value 0; + description + "MRP Ring mode Not Available"; + } + enum mrp-mode-client { + value 1; + description + "MRP Ring Client mode"; + } + enum mrp-mode-mgr { + value 2; + description + "MRP Ring Manager mode"; + } + enum mrp-mode-auto-mgr { + value 3; + description + "MRP Ring Auto Manager mode"; + } + } + description + "MRP Ring mode"; + } + + typedef mrp-ring-source { + type enumeration { + enum mrp-src-profinet { + value 0; + description + "MRP Ring configured from other protocol"; + } + enum mrp-src-cli { + value 1; + description + "MRP Ring configured from CLI"; + } + } + description + "MRP Ring Config Source"; + } + + typedef mrp-ring-license { + type enumeration { + enum mrp-lic-na { + value 0; + description + "MRP Ring License Not Applicable"; + } + enum mrp-lic-inactive { + value 1; + description + "MRP Ring License Inactive"; + } + enum mrp-lic-active { + value 2; + description + "MRP Ring License Active"; + } + } + description + "MRP Ring License State"; + } + + typedef mrp-ring-gw-status { + type enumeration { + enum mrp-gw-disabled { + value 0; + description + "MRP Ring Gateway Disabled"; + } + enum mrp-gw-enabled { + value 1; + description + "MRP Ring Gateway Enabled"; + } + } + description + "MRP Ring Gateway Status"; + } + + typedef mrp-ring-packet-block-frame { + type enumeration { + enum mrp-frame-start { + value 0; + description + "MRP Ring Start frame"; + } + enum mrp-frame-common { + value 1; + description + "MRP Ring Common frame"; + } + enum mrp-frame-test { + value 2; + description + "MRP Ring Test frame"; + } + enum mrp-frame-topo-change { + value 3; + description + "MRP Ring Topology change frame"; + } + enum mrp-frame-link-dn { + value 4; + description + "MRP Ring Link Down frame"; + } + enum mrp-frame-link-up { + value 5; + description + "MRP Ring Link Up frame"; + } + enum mrp-frame-mgr-nack { + value 6; + description + "MRP Ring Test Manager NAck frame"; + } + enum mrp-frame-test-ppgt { + value 7; + description + "MRP Ring Test Propagate frame"; + } + enum mrp-frame-na { + value 127; + description + "MRP Ring Not filtered frame"; + } + } + description + "MRP Ring Packet Block frame type"; + } + + typedef mrp-ring-nw-status { + type enumeration { + enum mrp-nw-na { + value 0; + description + "MRP Ring Network Status Not Available"; + } + enum mrp-nw-idle { + value 1; + description + "MRP Ring has Idle Network Status"; + } + enum mrp-nw-open { + value 2; + description + "MRP Ring has Open Network Status"; + } + enum mrp-nw-closed { + value 3; + description + "MRP Ring has Closed Network Status"; + } + enum mrp-nw-unknown { + value 4; + description + "MRP Ring is configured, but Network status is Unknown"; + } + } + description + "MRP Ring Network Status"; + } + + typedef mrp-ring-network-topology { + type enumeration { + enum mrp-topo-ring { + value 0; + description + "MRP Ring Ring Network Topology"; + } + } + description + "MRP Ring Network Topology"; + } + + grouping mrp-ring-identity { + description + "MRP ring identity"; + leaf ring-id { + type uint8; + description + "Unique ID of MRP ring"; + } + } + + grouping mrp-ring-port-block { + description + "MRP ring port info"; + leaf name { + type string; + description + "Name of port"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of port"; + } + leaf if-name { + type string; + description + "Interface name of port"; + } + leaf sts { + type mrp-ios-xe-oper:mrp-port-status; + description + "Status of port"; + } + } + + grouping mrp-ring-summary { + description + "MRP ring Summary"; + leaf prof { + type uint16; + description + "MRP ring profile"; + } + leaf mode { + type mrp-ios-xe-oper:mrp-ring-mode; + description + "MRP ring mode"; + } + leaf priority { + type uint16; + description + "MRP ring priority"; + } + leaf oper-mode { + type mrp-ios-xe-oper:mrp-ring-mode; + description + "Operational mode of MRP ring"; + } + leaf src { + type mrp-ios-xe-oper:mrp-ring-source; + description + "Source of MRP ring config"; + } + leaf lic { + type mrp-ios-xe-oper:mrp-ring-license; + description + "License info"; + } + leaf gw-sts { + type mrp-ios-xe-oper:mrp-ring-gw-status; + description + "Status of gateway"; + } + leaf vlan-id { + type uint16; + description + "Vlan id of MRP ring"; + } + leaf dom-name { + type string; + description + "Domain name of MRP ring"; + } + leaf dom-id { + type string; + description + "Domain id of MRP ring"; + } + leaf best-mgr-mac-addr { + type yang:mac-address; + description + "Mac address of best manager in MRP ring"; + } + leaf best-mgr-priority { + type uint16; + description + "Priority of best manager in MRP ring"; + } + } + + grouping mrp-ring-parameters { + description + "MRP ring parameters"; + leaf tc-req-intl-ms { + type uint16; + description + "Topology change request interval in milliseconds"; + } + leaf tc-rep-cnt { + type uint16; + description + "Topology change repeat count"; + } + leaf st-frame-intl-ms { + type uint16; + description + "Short test frame interval in milliseconds"; + } + leaf dt-frame-intl-ms { + type uint16; + description + "Default test frame interval in milliseconds"; + } + leaf ot-frame-intl-ms { + type uint16; + description + "Operational test frame interval in milliseconds"; + } + leaf tm-intl-cnt { + type uint16; + description + "Test monitoring interval count"; + } + leaf tm-ext-intl-cnt { + type uint16; + description + "Test monitoring extended interval count"; + } + leaf lndn-tmr-intl-ms { + type uint16; + description + "Link down timer interval in milliseconds"; + } + leaf lnup-tmr-intl-ms { + type uint16; + description + "Link up timer interval in milliseconds"; + } + leaf lnk-cng-cnt-ms { + type uint16; + description + "Link change count in milliseconds"; + } + } + + grouping mrp-ring-detail { + description + "MRP ring details"; + container info { + description + "Information about MRP ring"; + uses mrp-ios-xe-oper:mrp-ring-summary; + } + leaf nw-topo { + type mrp-ios-xe-oper:mrp-ring-network-topology; + description + "network topology info"; + } + leaf nw-sts { + type mrp-ios-xe-oper:mrp-ring-nw-status; + description + "Network status info"; + } + list port { + description + "Port info"; + uses mrp-ios-xe-oper:mrp-ring-port-block; + } + container params { + description + "Detailed parameters for MRP ring"; + uses mrp-ios-xe-oper:mrp-ring-parameters; + } + } + + grouping mrp-ring-port { + description + "MRP ring port info for two ports"; + leaf prim-port { + type string; + description + "Name of primary port of MRP Ring"; + } + leaf prim-port-sts { + type mrp-ios-xe-oper:mrp-port-status; + description + "Status of primary port of MRP Ring"; + } + leaf sec-port { + type string; + description + "Name of secondary port of MRP Ring"; + } + leaf sec-port-sts { + type mrp-ios-xe-oper:mrp-port-status; + description + "Status of secondary port of MRP Ring"; + } + } + + grouping client-events { + description + "MRP ring client events stats"; + leaf conf-notif-events { + type uint32; + description + "Number of notification events for client"; + } + leaf p1up-ev { + type uint32; + description + "Ring port 1 up event"; + } + leaf p2up-ev { + type uint32; + description + "Ring port 2 up event"; + } + leaf p1dn-ev { + type uint32; + description + "Ring port 1 down event"; + } + leaf p2dn-ev { + type uint32; + description + "Ring port 2 down event"; + } + leaf top-change-ev { + type uint32; + description + "Ring Topology change event"; + } + leaf uptmr-ex-lnknret-zero-ev { + type uint32; + description + "Ring link up Timer expiry event"; + } + leaf uptmr-ex-lnknret-ps-ev { + type uint32; + description + "Client node Link Up timer expired, send next Link Up packet"; + } + leaf dntm-ex-lnknret-zero-ev { + type uint32; + description + "Ring link down timer expiry event"; + } + leaf dntm-ex-lnknret-ps-ev { + type uint32; + description + "Client node Link down timer expired, send next Link Down packet"; + } + } + + grouping auto-manager-events { + description + "MRP ring auto manager events stats"; + leaf am-conf-notif-events { + type uint32; + description + "Number of notification events for auto manager"; + } + leaf am-stat1-mautci-p1-up { + type uint32; + description + "Primary port 1 link up event from init down state"; + } + leaf am-stat1-mautci-p2-up { + type uint32; + description + "Primary port 2 link up event from init down state"; + } + leaf am-prm-tt-expiry { + type uint32; + description + "Ring periodic test/beacon timer expiry event"; + } + leaf am-prm-mautci-p1-dn { + type uint32; + description + "MRA mode, manager ring primary port down event in primary ring state"; + } + leaf am-prm-mautci-p2-up { + type uint32; + description + "MRA mode, manager ring secondary port up event in primary ring state"; + } + leaf am-prm-ro-rc-tr-ind-self { + type uint32; + description + "MRA mode, self beacon receive event for manager ring in primary up/ring open/ring close state"; + } + leaf am-prm-ro-rc-tr-ind-nsnb { + type uint32; + description + "MRA mode, receive test beacon event with remote priority not better than own priority for manager ring in primary up/ring open/ring close state"; + } + leaf am-prm-ro-rc-lc-ind-n-at { + type uint32; + description + "MRA mode, process link state change event with ADD TEST disabled for manager ring in primary up/ring open/ring closed state"; + } + leaf am-prm-ro-rc-tc-ns { + type uint32; + description + "MRA mode, topology change event with TC not self generated event for manager ring in primary up/ring open/ring closed state"; + } + leaf am-prm-rorc-tm-nk-i-nsbnb { + type uint32; + description + "MRA mode, receive nack when not better event in ring primary up/RING OPEN/RING CLOSED state for manager ring"; + } + leaf am-prm-rorc-tm-nk-i-nsbb { + type uint32; + description + "MRA mode, receive nack when better event in ring primary up/RING OPEN/RING CLOSED state for manager ring"; + } + leaf am-ro-tt-expiry { + type uint32; + description + "MRA mode, test timer expiry event in RING OPEN state for manager ring"; + } + leaf am-ro-mautci-p1-dn { + type uint32; + description + "MRA mode, primary port down event in RING OPEN state for manager ring"; + } + leaf am-ro-mautci-p2-dn { + type uint32; + description + "MRA mode, secondary port down event in RING OPEN state for manager ring"; + } + leaf am-rc-tt-nret-gr { + type uint32; + description + "MRA mode, test timer expiry or test beacon loss event in RING CLOSED state for manager ring"; + } + leaf am-rc-tt-nret-gr-no-tc { + type uint32; + description + "MRA mode, test timer expiry or test beacon loss event in RING CLOSED state for manager ring with no topology change event"; + } + leaf am-rc-tt-nret-less { + type uint32; + description + "MRA mode, test timer expiry event with n return count < max for manager ring in RING CLOSED state"; + } + leaf am-rc-mautci-p1-dn { + type uint32; + description + "MRA mode, manager ring primary port down event in RING CLOSED state"; + } + leaf am-rc-mautci-p2-dn { + type uint32; + description + "MRA mode, manager ring secondary port down event in RING CLOSED state"; + } + leaf am-de-pt-idlett-nret-less { + type uint32; + description + "MRA mode, test timer expiry event with test n return count < max for client ring in de pt idle state"; + } + leaf am-de-pt-idlett-nret-gr { + type uint32; + description + "MRA mode, test timer expiry and oper mode change to MANAGER event for client in de pt idle state"; + } + leaf am-de-idle-mautci-p2-up { + type uint32; + description + "MRA mode, client ring secondary port up event in de idle ring state"; + } + leaf am-de-idle-mautci-p1-dn { + type uint32; + description + "MRA mode, client ring primary port down event in de idle ring state"; + } + leaf am-de-idle-tc-ind { + type uint32; + description + "MRA mode, client ring topology change event in de idle ring state"; + } + leaf am-de-idle-tc-ind-hyst { + type uint32; + description + "MRP topology change event received for client with link up hysteresis timer running"; + } + leaf am-de-idle-tr-ind-self { + type uint32; + description + "MRP Test frame received by client in de idle state with current best manager priority"; + } + leaf am-de-idle-tr-ind-nsnb { + type uint32; + description + "MRP Test frame received by client in de idle state with remote priority not better"; + } + leaf am-pt-de-idletr-ind-nsbnb { + type uint32; + description + "MRA mode, remote priority not better than own priority event for client ring in pt de idle state"; + } + leaf am-pt-de-idletr-ind-nsbb { + type uint32; + description + "MRA mode, remote priority better event for client ring in pt de idle state"; + } + leaf am-pt-de-idle-prop-nsb { + type uint32; + description + "MRA mode, PROP receive event for client ring in pt de idle state"; + } + leaf am-de-dntm-exlnknret-zero { + type uint32; + description + "MRA mode, Link Down timer expiry event with 'link N return' = 0 for client ring in de state"; + } + leaf am-de-dntm-exlnknret-ps { + type uint32; + description + "MRA mode, Link Down timer expiry event with 'link N return' > 0 for client ring in de state"; + } + leaf am-de-mautci-p2-up { + type uint32; + description + "MRA mode, client ring secondary port up event in de state"; + } + leaf am-de-mautci-p1-dn { + type uint32; + description + "MRA mode, client ring primary port down event in de state"; + } + leaf am-pt-de-idle-tc-ind { + type uint32; + description + "MRA mode, client ring topology change events in de idle ring state"; + } + leaf am-pt-uptm-exlnknret-zero { + type uint32; + description + "MRA mode, Link Up timer expiry event with 'link N return' = 0 for client ring in pt state"; + } + leaf am-pt-uptm-exlnknret-ps { + type uint32; + description + "MRA mode, Link Up timer expiry event with 'link N return' > 0 for client ring in pt state"; + } + leaf am-pt-mautci-p2-dn { + type uint32; + description + "MRA mode, client ring secondary port down event in pt ring state"; + } + leaf am-pt-mautci-p1-dn { + type uint32; + description + "MRA mode, client ring primary port down event in pt ring state"; + } + leaf am-pt-idle-mautci-p2-dn { + type uint32; + description + "MRA mode, client ring secondary port down event in pt idle ring state"; + } + leaf am-pt-idle-mautci-p1-dn { + type uint32; + description + "MRA mode, client ring primary port down event in pt idle ring state"; + } + leaf am-ring-open-cnt { + type uint32; + description + "MRA mode, ring OPEN state transition count"; + } + leaf am-ring-tx-cnt { + type uint32; + description + "MRA mode, ring state transition count"; + } + } + + grouping mrp-ring-event-stats { + description + "MRP ring event statistics"; + container client { + description + "MRP ring client event stats"; + uses mrp-ios-xe-oper:client-events; + } + container auto-mgr { + description + "MRP ring auto manager event stats"; + uses mrp-ios-xe-oper:auto-manager-events; + } + } + + grouping hardware-stats-block { + description + "Hardware stat block info"; + leaf beac-rx { + type uint32; + description + "Beacon receiving stats"; + } + leaf beac-tx { + type uint32; + description + "Beacon transmitting stats"; + } + leaf beac-drop { + type uint32; + description + "Beacon drop stats"; + } + leaf nack-rx { + type uint32; + description + "NACK receiving stats"; + } + leaf nack-tx { + type uint32; + description + "NACK transmitting stats"; + } + leaf nack-drop { + type uint32; + description + "NACK drop stats"; + } + leaf prop-rx { + type uint32; + description + "Propagate receiving stats"; + } + leaf prop-tx { + type uint32; + description + "Propagate transmitting stats"; + } + leaf prop-drop { + type uint32; + description + "Propagate drop stats"; + } + } + + grouping mrp-ring-hw-stats { + description + "MRP ring hardware statistics"; + leaf ring-state { + type mrp-ios-xe-oper:mrp-ring-nw-status; + description + "State of ring"; + } + leaf beac-intl { + type uint16; + description + "Beacon interval"; + } + leaf port-one-name { + type string; + description + "Name of port one"; + } + container port-one-stats { + description + "Hardware stats of port one"; + uses mrp-ios-xe-oper:hardware-stats-block; + } + leaf port-two-name { + type string; + description + "Name of port two"; + } + container port-two-stats { + description + "Hardware stats of port two"; + uses mrp-ios-xe-oper:hardware-stats-block; + } + } + + grouping packet-block { + description + "Platform packet info"; + leaf stat { + type uint32; + description + "Stat containing Number of Frames of this frame type"; + } + leaf frame { + type mrp-ios-xe-oper:mrp-ring-packet-block-frame; + description + "Type of Frame for Platform Packets"; + } + } + + grouping mrp-ring-packet-stats { + description + "MRP ring packet statistics"; + leaf p1-if-name { + type string; + description + "MRP Ring Port one name"; + } + leaf p2-if-name { + type string; + description + "MRP Ring Port two name"; + } + list tx-p1-pkt { + description + "Transmission packet info"; + uses mrp-ios-xe-oper:packet-block; + } + list tx-p2-pkt { + description + "Transmission packet info"; + uses mrp-ios-xe-oper:packet-block; + } + list rx-p1-pkt { + description + "Transmission packet info"; + uses mrp-ios-xe-oper:packet-block; + } + list rx-p2-pkt { + description + "Transmission packet info"; + uses mrp-ios-xe-oper:packet-block; + } + } + + grouping mrp-ring-platform-stats { + description + "MRP ring platform statistics"; + leaf rtos-closed-to-open-cnt { + type uint32; + description + "Ring closed to open count"; + } + leaf rtos-open-to-closed-cnt { + type uint32; + description + "Ring open to closed count"; + } + leaf ring-sts { + type mrp-ios-xe-oper:mrp-ring-nw-status; + description + "Status of ring"; + } + } + + grouping mrp-ring-stats { + description + "MRP ring all statistics"; + container evnt { + description + "MRP ring event statistics"; + uses mrp-ios-xe-oper:mrp-ring-event-stats; + } + container hw { + description + "MRP ring hardware statistics"; + uses mrp-ios-xe-oper:mrp-ring-hw-stats; + } + container pkt { + description + "MRP ring packet statistics"; + uses mrp-ios-xe-oper:mrp-ring-packet-stats; + } + container plat { + description + "MRP ring platform statistics"; + uses mrp-ios-xe-oper:mrp-ring-platform-stats; + } + } + + container mrp-oper-data { + config false; + description + "MRP operational data"; + list mrp-ring-detail { + key "ring-id"; + description + "MRP ring details"; + uses mrp-ios-xe-oper:mrp-ring-identity; + uses mrp-ios-xe-oper:mrp-ring-detail; + } + list mrp-ring-port { + key "ring-id"; + description + "MRP ring port info"; + uses mrp-ios-xe-oper:mrp-ring-identity; + uses mrp-ios-xe-oper:mrp-ring-port; + } + list mrp-ring-stats { + key "ring-id"; + description + "MRP ring statistics"; + uses mrp-ios-xe-oper:mrp-ring-identity; + uses mrp-ios-xe-oper:mrp-ring-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp.yang new file mode 100644 index 000000000..c29636758 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mrp.yang @@ -0,0 +1,128 @@ +module Cisco-IOS-XE-mrp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mrp"; + prefix mrp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE MRP (Media Redundancy Protocol) model"; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initially created"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-profinet-grouping { + container profinet { + description + "configure profinet on device"; + leaf mrp { + description + "configure profinet mrp on device"; + type boolean; + default "true"; + } + } + } + + grouping config-mrp-grouping { + container mrp { + list ring { + description + "configure mrp ring node"; + must "/ios:native/mrp:profinet/mrp = 'false'" { + error-message "Profinet must be disabled first"; + } + key "id"; + leaf id { + description + "denotes mrp ring number"; + type uint8 { + range "1..3"; + } + } + container mode { + description + "enable and configure mrp mode"; + container auto-manager { + description + "enable manager mode and configure mrp auto-mrp-manager mode parameters"; + presence "true"; + leaf vlan-id { + description + "vlan-id of manager"; + type uint16 { + range "1..4094"; + } + default "1"; + } + leaf domain-id { + description + "MRP domain-id"; + type string { + pattern '[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}'; + } + } + leaf domain-name { + description + "logical name of the configured MRP domain-ID"; + type string { + length "1..32"; + } + } + leaf priority { + description + "set the manager priority for multiple MRM"; + type uint16 { + range "36864..61441 | 65534..65535"; + } + default "40960"; + } + leaf profile { + description + "standard profile"; + type uint16 { + range "30 | 200 | 500"; + } + default "200"; + } + leaf interval { + description + "test frame interval in ms"; + type uint16 { + range "3..10 | 20 | 50"; + } + default "20"; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-profinet-grouping; + uses config-mrp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-msdp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-msdp-oper.yang new file mode 100644 index 000000000..59cc66483 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-msdp-oper.yang @@ -0,0 +1,452 @@ +module Cisco-IOS-XE-msdp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-msdp-oper"; + prefix msdp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for Multicast Source Discovery Protocol Operational data. + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef msdp-connection-states { + type enumeration { + enum msdp-invalid-state { + value 0; + description + "MSDP peer is invalid"; + } + enum msdp-down-state { + value 1; + description + "MSDP peer is down"; + } + enum msdp-listen-state { + value 2; + description + "MSDP peer is in listening mode"; + } + enum msdp-connect-state { + value 3; + description + "MSDP peer is connected"; + } + enum msdp-up-state { + value 4; + description + "MSDP peer is up"; + } + enum msdp-shut-state { + value 5; + description + "MSDP peer is shutdown"; + } + } + description + "Connection types used to describe the current status of a peer"; + } + + typedef sa-filt-type { + type enumeration { + enum msdp-no-sa-filter { + value 0; + description + "Source Active filter is not configured"; + } + enum msdp-acl-filter { + value 1; + description + "The Source Active filter has ACL based filtering"; + } + enum msdp-routemap-filter { + value 2; + description + "The Source Active filter has Route-map based filtering"; + } + enum msdp-peer-filter { + value 3; + description + "The Source Active filter has peer based filtering"; + } + } + description + "MSDP source active message filter types"; + } + + grouping peer-filter { + description + "Is peer based filtering configured or not"; + leaf enabled { + type empty; + description + "Peer filtering is enabled and all the incoming SA messages received from the peer are filtered out"; + } + } + + grouping sa-filter { + description + "The Source Active filter that is configured for this peer which mode it is in"; + choice type-choice { + description + "Choice of the Source Active filter"; + case msdp-acl-filter { + leaf acl-name { + type string; + description + "The name of the ACL which filters a particular (S, G) state information in the incoming MSDP Source Active messages "; + } + } + case msdp-routemap-filter { + leaf routemap-name { + type string; + description + "The name of the Route-map which filters a particular (S, G) state information in the incoming MSDP Source Active messages"; + } + } + case msdp-peer-filter { + container filter { + description + "All incoming MSDP Source Active messages are filtered out if this is turned on"; + uses msdp-ios-xe-oper:peer-filter; + } + } + } + } + + grouping msdp-pt-entry { + description + "Non key entries for MSDP Peer table data"; + leaf as { + type uint32; + description + "The Autonomous System where the peer address resides on"; + } + leaf state { + type msdp-ios-xe-oper:msdp-connection-states; + description + "Connection state of the peer"; + } + leaf upsince { + type yang:date-and-time; + description + "The Absolute time since the peer has been up"; + } + leaf reset-count { + type uint16; + description + "Count of session reset"; + } + leaf sa-count { + type uint32; + description + "Count of SA learned from this peer"; + } + leaf address-namestring { + type string; + description + "DNS hostname given for an IP address"; + } + leaf peer-descr { + type string; + description + "Human readable description given to a peer"; + } + leaf connect-src-if-name { + type string; + description + "Source interface used for establishing the MSDP connection"; + } + leaf connect-src-addr { + type inet:ip-address; + description + "Source IP address used for establishing the MSDP connection"; + } + leaf in-count { + type uint32; + description + "Number of messages received from peer"; + } + leaf out-count { + type uint32; + description + "Number of messages sent to peer"; + } + leaf outpak-discarded { + type uint16; + description + "Number of outbound messages discarded"; + } + leaf last-clear { + type yang:date-and-time; + description + "Timestamp of last clear"; + } + leaf mesh-group-name { + type string; + description + "Name of peer's mesh group"; + } + container in-filter { + description + "Source Active filter to filter a particular (S, G) state information in the incoming MSDP Source Active messages"; + uses msdp-ios-xe-oper:sa-filter; + } + leaf safilter-rp-in { + type string; + description + "Access list to filter the incoming MSDP SA messages from a specific RP"; + } + leaf routemap-rp-in { + type string; + description + "Route map to filter the incoming MSDP SA messages from a specific RP"; + } + container out-filter { + description + "Source Active filter to filter a particular (S, G) state information in the outgoing MSDP Source Active messages"; + uses msdp-ios-xe-oper:sa-filter; + } + leaf safilter-rp-out { + type string; + description + "Access list to filter the outgoing MSDP SA messages from a specific RP"; + } + leaf routemap-rp-out { + type string; + description + "Route map to filter the outgoing MSDP SA messages from a specific RP"; + } + leaf ttl-threshold { + type uint8; + description + "Configured TTL threshold"; + } + leaf sa-limit { + type uint32; + description + "Maximum number of SA cache entries allowed to learn from this peer"; + } + leaf estb-trans-count { + type uint32; + description + "Number of MSDP state transitions to established state"; + } + leaf inputq-count { + type uint32; + description + "The number of packets in input queue"; + } + leaf outputq-count { + type uint32; + description + "The number of packets in output queue"; + } + leaf password-enabled { + type boolean; + description + "Is MD5 password enabled or not for the peer"; + } + leaf rpf-failures { + type uint32; + description + "The number of SA messages received from this peer that failed the Peer RPF check"; + } + leaf in-sas { + type uint32; + description + "The number of MSDP SA messages received from this peer"; + } + leaf out-sas { + type uint32; + description + "The number of MSDP SA messages sent to this peer"; + } + leaf in-data-pkts { + type uint32; + description + "The total number of encapsulated data packets received from this peer"; + } + leaf out-data-pkts { + type uint32; + description + "The total number of encapsulated data packets sent to this peer"; + } + leaf estb-trans-time { + type yang:date-and-time; + description + "This timestamp is set to the value of system uptime when a peer + transitions into or out of the ESTABLISHED state. It is set to + zero when the MSDP speaker is booted"; + } + leaf last-input { + type yang:date-and-time; + description + "Timestamp of last received input"; + } + leaf peer-local-address { + type inet:ip-address; + description + "The local IP address of the peer used for the MSDP connection"; + } + leaf peer-connect-retry-intvl { + type uint16; + description + "Interval that the MSDP peers wait before re-trying the connection"; + } + leaf peer-hold-time { + type uint32; + description + "Interval that the MSDP peer waits for keepalive messages before declaring the session as down"; + } + leaf keepalive-period { + type uint32; + description + "Interval at which the MSDP peer sends keepalive messages"; + } + leaf peer-remote-port { + type uint16; + description + "The remote port for the TCP connection between the MSDP peers"; + } + leaf peer-local-port { + type uint16; + description + "The local port for the TCP connection between the MSDP peers"; + } + leaf connection-attempts { + type uint32; + description + "The number of TCP connection attempts"; + } + } + + grouping msdp-st-entry { + description + "Non key entries for MSDP SA Cache data"; + leaf as { + type uint32; + description + "The Autonomous System where the peer address resides on"; + } + leaf upsince { + type yang:date-and-time; + description + "The Absolute time since the peer has been up"; + } + leaf expires { + type yang:date-and-time; + description + "The Time till the peer expires"; + } + leaf peer { + type inet:ip-address; + description + "The peer from which this SA Cache entry was created"; + } + leaf num-in-sas { + type uint32; + description + "The Number of SA messages relevant to this cache entry"; + } + leaf num-in-data-pkts { + type uint32; + description + "The Number of data packets received, relevant to this cache entry"; + } + leaf rpf-peer { + type inet:ip-address; + description + "The peer from which an SA message corresponding to this cache entry would be accepted"; + } + } + + grouping msdp-peertype-table-key { + description + "MSDP peer table key"; + leaf vrf { + type string; + description + "MSDP VRF name, if it is default vrf use 'IPv4 default'"; + } + leaf peer-address { + type inet:ip-address; + description + "MSDP Peer address"; + } + } + + grouping msdp-statetype-table-key { + description + "MSDP SA Cache table key"; + leaf vrf { + type string; + description + "MSDP VRF name, if it is default vrf use 'IPv4 default'"; + } + leaf grp-addr { + type inet:ip-address; + description + "The group address of the SA Cache entry"; + } + leaf src-addr { + type inet:ip-address; + description + "The source address of the SA Cache entry"; + } + leaf rp-addr { + type inet:ip-address; + description + "The Rendezvous Point of the SA Cache entry"; + } + } + + container msdp-oper-data { + config false; + description + "Multicast Source Discovery Protocol Operational data"; + list msdp-pt-entry { + key "vrf peer-address"; + description + "Non key entries for MSDP Peer table data"; + uses msdp-ios-xe-oper:msdp-pt-entry; + uses msdp-ios-xe-oper:msdp-peertype-table-key; + } + list msdp-st-entry { + key "vrf grp-addr src-addr rp-addr"; + description + "Non key entries for MSDP SA Cache data"; + uses msdp-ios-xe-oper:msdp-st-entry; + uses msdp-ios-xe-oper:msdp-statetype-table-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast-rpc.yang new file mode 100644 index 000000000..941348d49 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast-rpc.yang @@ -0,0 +1,173 @@ +submodule Cisco-IOS-XE-multicast-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Multicast RPC YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "created for Multicast RPC YANG"; + cisco-semver:module-version "1.0.0"; + } + + grouping debug-multicast-level-grouping { + container level { + description + "debug level information"; + choice level-choice { + case error-case { + leaf error { + description + "Enable error debug"; + type empty; + } + } + case info-case { + leaf info { + description + "Enable info debug"; + type empty; + } + } + case verbose-case { + leaf verbose { + description + "Enable verbose debug"; + type empty; + } + } + case warning-case { + leaf warning { + description + "Enable warning debug"; + type empty; + } + } + } + leaf no { + description + "for no debug platform condition feature multicast ..."; + type empty; + } + } + } + + grouping debug-multicast-submode-grouping { + container submode { + description + "submode information"; + choice submode-choice { + case all-case { + leaf all { + description + "all information"; + type empty; + } + } + case boundary-case { + leaf boundary { + description + "boundary information"; + type empty; + } + } + case config-case { + leaf config { + description + "config information"; + type empty; + } + } + case error-case { + leaf error { + description + "error information"; + type empty; + } + } + case packet-case { + leaf packet { + description + "packet information"; + type empty; + } + } + case sr-case { + leaf sr { + description + "sr information"; + type empty; + } + } + case state-case { + leaf state { + description + "state information"; + type empty; + } + } + } + leaf no { + description + "for no debug platform condition feature multicast ..."; + type empty; + } + } + } + + grouping debug-platform-condition-feature-multicast-grouping { + container multicast { + description + "MULTICAST feature"; + choice multicast-choice { + case controlplane-case { + container controlplane { + description + "control plane information"; + uses debug-multicast-level-grouping; + } + } + case dataplane-case { + container dataplane { + description + "packet/flow information"; + choice dataplane-debug-choice { + case v4mcast-case { + container v4mcast { + description + "ipv4 mcast feature"; + uses debug-multicast-submode-grouping; + } + } + case v6mcast-case { + container v6mcast { + description + "ipv6 mcast feature"; + uses debug-multicast-submode-grouping; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast.yang new file mode 100644 index 000000000..67e0323e3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-multicast.yang @@ -0,0 +1,3546 @@ +module Cisco-IOS-XE-multicast { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-multicast"; + prefix ios-mc; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Multicast Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Changed status of deprecated nodes pim-mode and pim-mode-choice to obsolete + - Added support for RPF synchronization + - Add Simple Network Management Protocol(SNMP) + Management Information Base(MIB) pimstdmib container + - Add range to dr-priority leaf + - Add Session Announcement Protocol(SAP) cache-timeout container + - Add cli full command annotation to pim bsr-border leaf + - Changed status of deprecated node route-limit to obsolete + - Add cli full command annotation to pim log-neighbor-changes leaf + - Add cli full command annotation to nbma-mode leaf + - Add cli full command annotation to pim bsr-border leaf + - Added extend-timer support for new (s,g) route + - Obsolete rp-address list + - Removed tailf:alt-name from obsolete list rp-address"; + cisco-semver:module-version "7.0.0"; + } + revision 2024-03-01 { + description + "- Enable lisp transport unicast ipv6"; + cisco-semver:module-version "6.4.0"; + } + revision 2023-11-01 { + description + "- Added a length constraint to mesh-group-list"; + cisco-semver:module-version "6.3.0"; + } + revision 2023-03-01 { + description + "- Added a leaf prefer-highest-ip to rp-address-conf"; + cisco-semver:module-version "6.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support to Serial interface and Serial subinterface"; + cisco-semver:module-version "6.1.0"; + } + revision 2022-07-01 { + description + "- Marked the status as obsolete for spt-threshold and accept-register leafs + - Removed delete dependency between send-rp-discovery/interface and native/interface"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-11-01 { + description + "- Introduced transit-core-group-range + - Changed the range for core-group-range + - Added must constraint for core-group-range"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-07-01 { + description + "- Change the ipv6 mroute limit range"; + cisco-semver:module-version "4.0.0"; + } + revision 2021-03-01 { + description + "- Introduced route-limit"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "- Deprecated pim-mode-choice and its leaves + - Introduced pim-mode-choice-cfg"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added rp-address-conf and rp-address-list and deprecated rp-address"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new config for multicast"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added default values for few multicast nodes + - Added multicast and pim augmentation for few missing interfaces + - Added scope list for ipv6 pim bsr + - Added lisp command augmentation for LISP subinterface + - Added IP multicast commands in global and interface level + - Addressed IPv4 modelling gaps for MLDP, PIM and MSDP"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-29 { + description + "Added fix for delete of last leaf in 'ip pim' and 'ipv6 pim' vrf list"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-29 { + description + "Added ip pim lisp commands under LISP interface and sub-interfaces"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-08-23 { + description + "Added Augment of config-interface-ip-pim-grouping to + Multilink and Cellular interface"; + } + revision 2018-08-20 { + description + "Reused register-source container for ip-pim-grouping"; + } + revision 2018-07-16 { + description + "Added config-interface-ip-pim-grouping to interface Vif"; + } + revision 2018-07-02 { + description + "Added change ipv6 pim register-source and + ipv6 pim lisp transport unicast"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-06-08 { + description + "Added change for peer to list and used interface-grouping in connect-source"; + } + revision 2018-05-11 { + description + "Added change for pim under LISP interface and sub-interfaces"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-28 { + description + "Extend modeling for multicast"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-05-16 { + description + "Models under ip pim are missing for FortyGig interface"; + } + revision 2017-04-24 { + description + "certain format of ip pim rpc is not able to push to the device"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ip-multicast-pimstdmib { + container pimstdmib { + description + "The MIB module for management of PIM routers"; + container notification-period { + description + "The minimum time that will elapse between two different notifications"; + container neighbor-loss { + description + "The minimum time that must elapse between neighbor loss notifications of pim originated by this router"; + leaf period { + description + "The minimum notification period, ranges from 0 to 65535"; + type uint16 { + range "0..65535"; + } + default "0"; + } + } + container invalid-register { + description + "The minimum time that must elapse between invalid register notifications of pim originated by this router."; + leaf period { + description + "The minimum notification period, ranges from 10 to 65535"; + type uint16 { + range "10..65535"; + } + default "65535"; + } + } + container invalid-join-prune { + description + "The minimum time that must elapse between invalid join prune notifications of pim originated by this router."; + leaf period { + description + "The minimum notification period, ranges from 10 to 65535"; + type uint16 { + range "10..65535"; + } + default "65535"; + } + } + container rp-mapping-change { + description + "The minimum time that must elapse between RP mapping change notifications of pim originated by this router."; + leaf period { + description + "The minimum notification period, ranges from 0 to 65535"; + type uint16 { + range "0..65535"; + } + default "65535"; + } + } + container interface-election { + description + "The minimum time that must elapse between interface election notifications of pim originated by this router."; + leaf period { + description + "The minimum notification period, ranges from 0 to 65535"; + type uint16 { + range "0..65535"; + } + default "65535"; + } + } + } + } + } + + grouping ip-multicast-multipath-group { + container multipath { + description + "RPF across equal-cost paths"; + presence "true"; + leaf s-g-hash { + description + "Per-(source, group) load sharing algorithm selection"; + type enumeration { + enum basic; + enum next-hop-based; + } + } + } + } + + grouping config-ip-sap-grouping { + container sap { + description + "Session Announcement Protocol(SAP) configuration"; + container cache-timeout { + description + "Limits how long a SAP cache entry stays active in the cache"; + leaf timeout { + description + "Timeout value represented in minutes, default value is 1440"; + type uint64 { + range "1..4294967295"; + } + default "1440"; + } + } + } + } + + grouping ip-mcast-topology-grouping { + list word { + key "topology-name"; + leaf topology-name { + description + "Routing topology instance name"; + type string; + } + leaf access-list-id { + description + "Extended IP access-list + reference for multicast address"; + mandatory true; + type uint8 { + range "100..199"; + } + } + } + } + + grouping config-ip-mcast-rpf { + leaf default-distance { + description + "Distance for the default RPF interface"; + type uint8 { + range "0..255"; + } + } + container mofrr { + description + "Enable multicast only fast re-route"; + leaf list { + type ios-types:ext-acl-type; + } + leaf sticky { + type empty; + } + } + container proxy { + description + "PIM proxy options"; + leaf disable { + description + "Don't accept PIM proxy/attribute RPF info"; + type empty; + } + leaf vector { + description + "Insert BGP next-hop as vector in PIM Joins"; + type empty; + } + } + container select { + description + "Select table for RPF check"; + container global { + description + "Global routing table for RPF lookup"; + leaf-list group-list { + description + "Group access-list"; + type ios-types:mcast-std-acl-type; + } + } + container topology { + description + "Select topology"; + container multicast { + description + "Select multicast topology"; + uses ip-mcast-topology-grouping; + } + container unicast { + description + "Select unicast topology"; + uses ip-mcast-topology-grouping; + } + } + list vrf-list { + description + "Select VPN Routing/Forwarding instance"; + key "group-list"; + leaf name { + description + "VPN Routing/Forwarding instance name"; + type string; + } + leaf group-list { + description + "Group access-list"; + type ios-types:mcast-std-acl-type; + } + } + list vrf { + status obsolete; + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + status obsolete; + description + "VPN Routing/Forwarding instance name"; + type string; + } + list group-list { + status obsolete; + description + "Group access-list"; + key "group-list-name"; + leaf group-list-name { + status obsolete; + type union { + type uint16 { + range "1..99"; + } + type string; + } + } + } + } + } + } + + grouping config-ip-mcast-rpf-multitopology { + leaf multitopology { + description + "Enable Multicast-Specific RPF Topology"; + type empty; + } + } + + grouping config-ip-mcast-rpf-grouping { + container rpf { + description + "RPF check configuration"; + uses config-ip-mcast-rpf; + uses config-ip-mcast-rpf-multitopology; + } + } + + grouping config-ip-mcast-vrf-rpf-grouping { + container rpf { + description + "Per-VRF RPF check configuration"; + uses config-ip-mcast-rpf; + } + } + + grouping config-ip-mcast-grouping-subset { + leaf auto-enable { + description + "Support for AAA enabling of ipmulticast"; + type empty; + } + leaf default-rpf-distance { + description + "Distance for the default RPF interface"; + type uint8 { + range "0..255"; + } + } + leaf group-range { + description + "Enable/disable multicast for selected group ranges"; + type ios-types:mcast-std-acl-type; + } + list heartbeat { + description + "Monitor multicast heartbeat"; + key "group-address"; + leaf group-address { + description + "Group address of the heartbeat"; + type inet:ipv4-address; + } + leaf min-interval { + mandatory true; + description + "Minimal number of intervals where the + heartbeats must be seen"; + type uint8 { + range "1..100"; + } + } + leaf num-interval { + mandatory true; + description + "Number of intervals to monitor for + heartbeats"; + type uint8 { + range "1..100"; + } + } + leaf length { + mandatory true; + description + "Length of intervals in seconds"; + type uint16 { + range "10..3600"; + } + } + } + container limit { + description + "Configure global multicast mroute limit"; + list cost { + description + "Configure cost for multicast interface mroute limit"; + key "access-list"; + leaf access-list { + description + "Standard or Extended IP access list number"; + type union { + type uint8 { + range "1..199"; + } + type string; + } + } + leaf cost { + mandatory true; + description + "Cost associated with Access list"; + type uint32 { + range "0..2147483647"; + } + } + } + } + leaf longest-match { + description + "Do longest match RPF lookups across tables"; + type empty; + } + container mpls { + description + "IP multicast mpls commands"; + leaf mldp { + description + "MLDP commands"; + type empty; + } + container traffic-eng { + description + "Traffic engineering commands"; + presence "true"; + leaf range { + description + "Configure multicast RPF range"; + type union { + type uint8 { + range "100..199"; + } + type string; + } + } + } + } + leaf mrinfo-filter { + description + "Multicast router info source filter"; + type ios-types:mcast-std-acl-type; + } + container topology { + description + "topology selection"; + list multicast { + description + "Select multicast topology"; + key "word"; + leaf word { + description + "Routing topology instance name"; + type string; + } + leaf tid { + description + "Configuring the multicast topology tid"; + mandatory true; + type uint16 { + range "1..4095"; + } + } + } + list unicast { + description + "Select unicast topology"; + key "word"; + leaf word { + description + "Routing topology instance name"; + type string; + } + leaf tid { + description + "Configuring the unicast topology tid"; + mandatory true; + type uint16 { + range "1..4095"; + } + } + } + } + uses ip-multicast-multipath-group; + } + + grouping config-ip-mcast-grouping { + uses config-ip-mcast-grouping-subset; + uses config-ip-mcast-rpf-grouping; + container route-limit-container { + leaf routelimit { + description + "Maximum number of multicast routes"; + type uint32 { + range "1..2147483647"; + } + default "2147483647"; + } + leaf warning-threshold { + description + "Threshold at which to generate warning message"; + type uint32 { + range "1..2147483647"; + } + } + } + leaf route-limit { + status obsolete; + description + "Maximum number of multicast routes"; + type uint32 { + range "1..2147483647"; + } + } + container redundancy { + container nsf { + leaf holdtime { + type uint16 { + range "0..1800"; + } + } + } + container routeflush { + leaf maxtime { + type uint16 { + range "0..3600"; + } + default "30"; + } + } + leaf rpf-sync { + description + "RPF synchronization"; + type empty; + } + } + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + type string; + } + container route-limit { + leaf no-routes { + description + "Number of routes"; + type uint32 { + range "1..2147483647"; + } + default "2147483647"; + } + leaf warning-threshold { + description + "Threshold at which to generate warning message"; + type uint32 { + range "1..2147483647"; + } + } + } + uses config-ip-mcast-grouping-subset; + uses config-ip-mcast-vrf-rpf-grouping; + } + } + + grouping config-interface-limit-grouping { + list access-list { + key "access-list"; + leaf access-list { + description + "Standard or Extended IP access list number"; + type union { + type uint8 { + range "1..199"; + } + type string; + } + } + leaf max-state { + description + "Max Allowed State on this interface"; + mandatory true; + type uint32 { + range "0..2147483647"; + } + } + } + } + + grouping config-interface-ip-mcast-grouping { + container multicast { + container boundary { + description + "Boundary for administrative multicast addresses"; + container block { + description + "Block source"; + leaf source { + description + "Block source"; + type empty; + } + } + container filter-type-autorp { + leaf access-list { + description + "Specify an access-list"; + type union { + type ios-types:exp-acl-type; + type ios-types:ext-acl-type; + } + } + leaf filter-autorp { + description + "Filter AutoRP packet contents"; + type empty; + } + } + list filter-type-in-out { + description + "Specify filter type in or out"; + key "filter-type"; + max-elements 2; + leaf filter-type { + description + "Filter type"; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + description + "Specify an access-list"; + type union { + type ios-types:exp-acl-type; + type ios-types:ext-acl-type; + } + } + } + } + container limit { + description + "Limit multicast mroute state"; + uses config-interface-limit-grouping; + container connected { + description + "Limit connected incoming state"; + uses config-interface-limit-grouping; + } + container out { + description + "Limit outgoing state"; + uses config-interface-limit-grouping; + } + container rpf { + description + "Limit incoming state"; + uses config-interface-limit-grouping; + } + } + } + } + + grouping config-ipv6-mcast-config-grouping { + container route-limit { + leaf routelimit { + description + "Maximum number of multicast routes"; + type uint32 { + range "100..2147483647"; + } + } + leaf threshold { + description + "Mroute threshold at which to generate warning message"; + type uint32 { + range "100..2147483647"; + } + } + } + } + + grouping config-ipv6-mcast-grouping { + uses config-ipv6-mcast-config-grouping; + list vrf-name { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)' { + error-message "Ipv6 VRF must be created 1st, deleted last"; + } + type string; + } + uses config-ipv6-mcast-config-grouping; + } + leaf vrf { + description + "Select VPN Routing/Forwarding instance"; + type string; + status obsolete; + } + container rpf { + description + "Configure multicast RPF related commands"; + container backoff { + description + "Back off delay after unicast routing change"; + leaf initial-delay { + default "500"; + type uint16 { + range "200..65535"; + } + } + leaf max-delay { + default "5000"; + type uint16 { + range "200..65535"; + } + } + } + leaf use-bgp { + default "true"; + status obsolete; + description + "Obsolete: Use BGP routes for multicast RPF lookup"; + type boolean; + } + } + } + + grouping ip-pim-grouping { + container accept-register { + description + "Registers accept filter"; + leaf list { + description + "Access list"; + type ios-types:ext-acl-type; + } + } + container accept-rp { + description + "RP accept filter"; + list rp_list { + key "ip_addr"; + leaf ip_addr { + description + "IP address of RP for group"; + type inet:ipv4-address; + } + leaf acl { + description + "Access-list reference for group (expanded range)"; + type ios-types:std-acl-type; + } + } + container auto-rp { + description + "only RP-mapping from Auto-RP"; + presence "true"; + leaf acl { + description + "Access-list reference for group (expanded range)"; + type ios-types:std-acl-type; + } + } + } + container allow-rp { + description + "Sparse-Mode RP addresses to be allowed"; + presence "true"; + leaf rp-list { + description + "Access-list for allowed RP addresses"; + type ios-types:mcast-std-acl-type; + } + leaf group-list { + description + "Access-list for allowed group ranges"; + type ios-types:mcast-std-acl-type; + } + } + container autorp-container { + leaf autorp { + description + "Configure AutoRP global operations"; + default "true"; + type boolean; + } + leaf listener { + description + "Allow AutoRP packets across sparse mode interface"; + type empty; + } + } + container autorp { + status obsolete; + description + "Configure AutoRP global operations"; + presence "true"; + leaf listener { + status obsolete; + description + "Allow AutoRP packets across sparse mode interface"; + type empty; + } + } + leaf bidir-backoff-interval { + description + "DF election backoff delay"; + type uint16 { + range "1..3600"; + } + } + container bidir-offer-interval { + description + "DF election offer message interval"; + choice seconds-milliseconds { + default "milliseconds"; + case seconds-interval { + leaf interval { + type uint16 { + range "1..20000"; + } + } + } + case milliseconds { + leaf milliseconds-interval { + default "100"; + type uint16 { + range "100..20000"; + } + } + leaf msec { + description + "Interval in milliseconds"; + default "true"; + type boolean; + } + } + } + } + leaf bidir-offer-limit { + description + "Number of unanswered offers before becoming DF"; + default "3"; + type uint16 { + range "3..100"; + } + } + leaf bidir-winner-interval { + description + "DF periodic winner message interval"; + type uint16 { + range "1..3600"; + } + } + container bsr-candidate { + description + "Candidate bootstrap router (candidate BSR)"; + uses ios-ifc:interface-grouping; + leaf mask { + description + "Hash Mask length for RP selection"; + type uint8 { + range "0..32"; + } + } + leaf priority { + description + "Priority value for candidate bootstrap router"; + when '../mask'; + type uint8 { + range "0..255"; + } + } + leaf accept-rp-candidate { + description + "BSR RP candidate filter"; + when '../priority'; + type ios-types:exp-acl-type; + } + } + leaf dm-fallback { + description + "Fallback group mode is Dense"; + default "true"; + type boolean; + } + leaf fast-register-stop { + description + "Immediately send register-stops on registers"; + type empty; + } + leaf log-neighbor-changes { + description + "Log PIM neighbor up/down and DR changes"; + default "true"; + type boolean; + } + container maximum { + description + "Maximum state limits"; + container group-mappings { + description + "PIM group mapping ranges"; + leaf autorp { + description + "Group mappings learnt from Auto-RP"; + type uint16 { + range "1..10000"; + } + } + leaf bsr { + description + "Group mappings learnt from BSR"; + type uint16 { + range "1..10000"; + } + } + } + } + container mpls { + description + "pim mpls commands"; + container source { + description + "Configure source interface for multicast RPF"; + uses ios-ifc:interface-grouping; + } + } + leaf old-register-checksum { + description + "Generate Register checksum on whole packet"; + type empty; + } + leaf register-rate-limit { + description + "Rate limit for PIM data registers"; + type uint32 { + range "8000..2000000000"; + } + } + container register-source { + description + "Configure register source"; + uses ios-ifc:interface-grouping; + } + container rp-address-conf { + description + "PIM RP-address (Rendezvous Point)"; + leaf address { + description + "IP address of Rendezvous-point for group"; + type inet:ipv4-address; + } + leaf prefer-highest-ip { + description + "High priority for static RP with highest IP addr"; + type empty; + } + leaf override { + description + "Overrides dynamically learnt RP mappings"; + type empty; + } + leaf bidir { + description + "Group range treated in bidirectional shared-tree mode"; + type empty; + } + } + list rp-address-list { + description + "PIM RP-address (Rendezvous Point)"; + key "access-list"; + leaf rp-address { + description + "IP address of Rendezvous-point for group"; + type inet:ipv4-address; + } + leaf access-list { + description + "IP Access-list"; + type ios-types:std-acl-type; + } + leaf override { + description + "Overrides dynamically learnt RP mappings"; + type empty; + } + leaf bidir { + description + "Group range treated in bidirectional shared-tree mode"; + type empty; + } + } + list rp-address { + status obsolete; + description + "PIM RP-address (Rendezvous Point)"; + key "address"; + leaf address { + status obsolete; + description + "IP address of Rendezvous-point for group"; + type inet:ipv4-address; + } + leaf access-list { + status obsolete; + description + "IP Access-list"; + type ios-types:std-acl-type; + } + leaf override { + status obsolete; + description + "Overrides dynamically learnt RP mappings"; + type empty; + } + leaf bidir { + status obsolete; + description + "Group range treated in bidirectional shared-tree mode"; + type empty; + } + } + container rp-announce-filter { + description + "Auto-RP announce message filter"; + list group-list { + description + "Group address access-list"; + key "acl"; + leaf acl { + description + "IP Access list"; + type ios-types:mcast-std-acl-type; + } + } + container rp-list { + description + "RP address access-list"; + list rp { + description + "RP address access-list"; + key "acl"; + leaf acl { + description + "Access-list reference for RP"; + type ios-types:mcast-std-acl-type; + } + list group-list { + description + "Group address access-list"; + key "acl"; + leaf acl { + description + "IP Access list"; + type ios-types:mcast-std-acl-type; + } + } + } + } + } + list rp-candidate { + description + "To be a PIM version 2 RP candidate"; + key "interface"; + leaf interface { + description + "Autonomic-Networking virtual interface"; + type string; + } + leaf group-list { + description + "IP Access list"; + type ios-types:mcast-std-acl-type; + } + leaf interval { + description + "RP candidate advertisement interval"; + type uint16 { + range "1..16383"; + } + } + leaf priority { + description + "RP candidate priority"; + type uint8 { + range "0..255"; + } + } + leaf bidir { + description + "Group range treated in bidirectional shared-tree mode"; + type empty; + } + } + leaf rp-proxy-join { + description + "RP always proxy joins for sources"; + type empty; + } + list spt-threshold-list { + description + "Source-tree switching threshold"; + key "group-list"; + leaf how { + mandatory true; + type enumeration { + enum 0; + enum infinity; + } + } + leaf group-list { + description + "Group address access-list"; + type ios-types:std-acl-type; + } + } + list spt-threshold { + status obsolete; + description + "Source-tree switching threshold"; + key "how group-list"; + leaf how { + status obsolete; + type enumeration { + enum 0; + enum infinity; + } + } + leaf group-list { + status obsolete; + description + "Group address access-list"; + type ios-types:std-acl-type; + } + } + container spt-threshold-container { + container spt-threshold { + description + "Source-tree switching threshold"; + leaf how { + type enumeration { + enum 0; + enum infinity; + } + } + } + } + container send-rp-announce { + description + "Auto-RP send RP announcement"; + list send-rp-announce-list { + description + "Auto-RP send RP announcement"; + key "if-name"; + leaf if-name { + description + "IP address or interface name"; + type union { + type inet:ipv4-address; + type string; + } + } + leaf scope { + description + "RP announcement scope"; + mandatory true; + type uint8 { + range "1..255"; + } + } + leaf group-list { + description + "Group access-list"; + type ios-types:mcast-std-acl-type; + } + leaf interval { + description + "RP announcement interval"; + type uint16 { + range "1..16383"; + } + } + leaf bidir { + description + "Group range treated in bidirectional shared-tree mode"; + type empty; + } + } + list interface_list { + status deprecated; + key "if-name"; + leaf if-name { + status deprecated; + type string; + } + container scope { + status deprecated; + description + "RP announcement scope"; + leaf pkt-ttl { + status deprecated; + description + "TTL of the RP announce packet"; + type uint8 { + range "1..255"; + } + } + container group-list { + status deprecated; + description + "Group access-list"; + leaf acl-ref { + status deprecated; + description + "Access-list reference for multicast groups"; + type uint8 { + range "1..99"; + } + } + leaf std-acl { + status deprecated; + description + "IP Named Standard Access list"; + type string; + } + } + } + } + list Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces"; + key "name"; + leaf name { + status obsolete; + type uint32 { + range "1..512"; + } + } + leaf scope { + status obsolete; + description + "RP announcement scope"; + type uint8 { + range "1..255"; + } + } + } + } + container sparse { + description + "This command is specific to PIM-Sparse Mode"; + container accept-source-reports { + description + "Accept and process source specific host reports"; + presence "true"; + leaf range { + description + "ACL for group range"; + type ios-types:mcast-std-acl-type; + } + } + container sg-expiry-timer { + description + "Specify the expiry timer for the entry"; + leaf timer { + description + "Timer Value in seconds"; + type uint16 { + range "181..57600"; + } + } + leaf sg-list { + description + "Access list number (expanded range)"; + type ios-types:ext-acl-type; + } + } + } + container send-rp-discovery { + description + "Auto-RP send RP discovery message (as RP-mapping agent)"; + container interface { + uses ios-ifc:interface-grouping; + } + leaf scope { + description + "Scope of the RP discovery packets: TTL"; + type uint8 { + range "1..255"; + } + } + leaf interval { + description + "number of seconds"; + type uint16 { + range "1..16383"; + } + } + } + container ssm { + description + "Configure Source Specific Multicast"; + leaf range { + description + "ACL for group range to be used for SSM"; + type ios-types:mcast-std-acl-type; + } + leaf default { + description + "Use 232/8 group range for SSM"; + type empty; + } + } + container state-refresh { + description + "PIM DM State-Refresh configuration"; + leaf disable { + description + "Disable PIM State-Refresh processing"; + type empty; + } + } + container cache { + description + "PIM cache configuration"; + leaf rpf-oif { + description + "Cache outgoing interface RPF info"; + type empty; + } + } + } + + grouping config-ip-pim-grouping { + uses ip-pim-grouping; + leaf bidir-enable { + description + "Enable Bidir-PIM"; + type empty; + } + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "id"; + leaf id { + type string; + } + uses ip-pim-grouping; + } + } + + grouping ipv6-pim-grouping { + container bsr { + description + "Configure BSR"; + container candidate { + description + "Configure BSR related candidates"; + container bsr { + description + "Configure Candidate BSR"; + container global-scope { + leaf name-addr { + type union { + type inet:ipv6-address; + type string; + } + } + leaf hash-mask-length { + description + "BSR Hash mask length"; + type uint8 { + range "0..128"; + } + } + leaf priority { + description + "Priority for this is Candidate BSR"; + default "0"; + type uint8 { + range "0..255"; + } + } + leaf accept-rp-candidate { + description + "RP candidate filter"; + type string; + } + } + list user-defined-scope-list { + key "scope"; + leaf name-addr { + mandatory true; + type union { + type inet:ipv6-address; + type string; + } + } + leaf hash-mask-length { + description + "BSR Hash mask length"; + type uint8 { + range "0..128"; + } + } + leaf priority { + description + "Priority for this is Candidate BSR"; + default "0"; + type uint8 { + range "0..255"; + } + } + leaf scope { + description + "Scope for which this is Candidate BSR"; + type uint8 { + range "3..14"; + } + } + leaf accept-rp-candidate { + description + "RP candidate filter"; + type string; + } + } + } + list rp { + description + "Configure Candidate RP"; + key "name-addr"; + leaf name-addr { + type union { + type inet:ipv6-address; + type string; + } + } + } + } + } + container rp-address { + description + "Configure Sparse-Mode Rendezvous Point"; + leaf address { + type union { + type inet:ipv6-address; + type string; + } + } + leaf access-list { + type union { + type string; + } + } + leaf bidir { + description + "Specify keyword bidir to configure a bidir RP"; + type empty; + } + } + container register-source { + description + "Configure register source"; + uses ios-ifc:interface-grouping; + } + list anycast-rp { + description + "Configure PIM Anycast-RP"; + key "ipv6_RP_address ipv6_RP_peer_address"; + leaf ipv6_RP_address { + type union { + type inet:ipv6-address; + type string; + } + } + leaf ipv6_RP_peer_address { + type union { + type inet:ipv6-address; + type string; + } + } + } + } + + grouping config-ipv6-pim-grouping { + uses ipv6-pim-grouping; + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "id"; + leaf id { + type string; + } + uses ipv6-pim-grouping; + } + } + + grouping config-interface-ip-pim-grouping { + container accept-register { + status obsolete; + leaf list { + status obsolete; + type string; + } + } + leaf bfd { + description + "Configure BFD"; + type empty; + } + leaf bidir-neighbor-filter { + description + "PIM bidir capable peering filter"; + type ios-types:mcast-std-acl-type; + } + leaf border { + description + "Border of PIM domain"; + type empty; + } + leaf bsr-border { + description + "Border of PIM domain"; + type empty; + } + container pim-mode-choice-cfg { + choice pim-mode-choice { + case passive-mode { + leaf passive { + description + "Enable PIM passive interface operation"; + type empty; + } + } + case dense { + container dense-mode { + description + "Enable PIM dense-mode operation"; + presence "true"; + container proxy-register { + description + "Send proxy registers"; + leaf list { + description + "Access list"; + type ios-types:ext-acl-type; + } + leaf route-map { + description + "Route-map"; + type string; + } + } + } + } + case sparse { + container sparse-mode { + description + "Enable PIM sparse-mode operation"; + presence "true"; + container encap-helper { + description + "Configure encap-helper UDLR tunnel"; + leaf Tunnel { + description + "Tunnel interface"; + type leafref { + path "/ios:native/ios:interface/ios:Tunnel/ios:name"; + } + } + } + } + } + case sparse-dense { + leaf sparse-dense-mode { + description + "Enable PIM sparse-dense-mode operation"; + type empty; + } + } + } + } + choice pim-mode-choice { + status obsolete; + case passive-mode { + leaf passive { + status obsolete; + description + "Enable PIM passive interface operation"; + type empty; + } + } + case dense { + container dense-mode { + status obsolete; + description + "Enable PIM dense-mode operation"; + presence "true"; + container proxy-register { + description + "Send proxy registers"; + status obsolete; + leaf list { + description + "Access list"; + status obsolete; + type ios-types:ext-acl-type; + } + leaf route-map { + status obsolete; + description + "Route-map"; + type string; + } + } + } + } + case sparse { + leaf sparse-mode { + status obsolete; + description + "Enable PIM sparse-mode operation"; + type empty; + } + } + case sparse-dense { + leaf sparse-dense-mode { + status obsolete; + description + "Enable PIM sparse-dense-mode operation"; + type empty; + } + } + } + leaf pim-mode { + status obsolete; + type enumeration { + enum passive; + enum dense-mode; + enum sparse-mode; + enum sparse-dense-mode; + } + } + leaf nbma-mode { + description + "Enable PIM nbma-mode operation"; + type empty; + } + leaf dr-priority { + description + "PIM router DR priority"; + default "1"; + type uint32 { + range "0..4294967294"; + } + } + container drlb { + description + "Enable DR Load-balancing operation"; + leaf rp-mask { + description + "RP Hash Mask"; + type union { + type inet:ipv4-address; + type enumeration { + enum any; + } + } + } + leaf grp-mask { + description + "Group Hash Mask"; + type union { + type inet:ipv4-address; + type enumeration { + enum any; + } + } + } + leaf src-mask { + description + "Source Mask"; + type union { + type inet:ipv4-address; + type enumeration { + enum any; + } + } + } + } + leaf join-prune-interval { + description + "PIM periodic Join-Prune interval"; + default "60"; + type uint16 { + range "10..600"; + } + } + leaf neighbor-filter { + description + "PIM peering filter"; + type ios-types:mcast-std-acl-type; + } + leaf non-dr-join { + description + "Enable PIM Non-DR-Join"; + type empty; + } + container query-interval { + description + "PIM router query interval"; + choice seconds-milliseconds { + default "seconds"; + case seconds { + leaf seconds-interval { + default "30"; + type uint16 { + range "1..18725"; + } + } + } + case milliseconds { + leaf milliseconds-interval { + type uint16 { + range "100..65535"; + } + } + leaf msec { + description + "Query interval in milliseconds"; + mandatory true; + type empty; + } + } + } + leaf neighbor-holdtime { + description + "PIM hello neighbor holdtime"; + type uint16 { + range "1..65535"; + } + } + } + list redundancy { + description + "Enable PIM redundancy operation"; + key "group-name"; + leaf group-name { + description + "Standby group name"; + type string; + } + leaf protocol { + description + "\"HSRP\" or \"VRRP\". Default is HSRP"; + default "hsrp"; + type enumeration { + enum hsrp; + enum vrrp; + } + } + leaf dr-priority { + description + "Redundancy DR priority for active router"; + type uint32 { + range "0..4294967294"; + } + } + } + container state-refresh { + description + "PIM DM State-Refresh configuration"; + container origination-interval { + description + "PIM State-Refresh origination interval"; + presence "true"; + leaf interval { + description + "Interval in seconds"; + type uint8 { + range "1..100"; + } + } + } + } + leaf spt-threshold { + status obsolete; + type enumeration { + enum infinity; + } + } + } + + grouping config-interface-ipv6-pim-grouping { + container pim-conf { + leaf pim { + description + "PIM interface commands"; + default "true"; + type boolean; + } + } + container pim-container { + description + "PIM interface commands"; + leaf bfd { + description + "Configure BFD"; + type empty; + } + container bsr { + description + "Configure BSR"; + leaf border { + description + "Border of PIM BSR domain"; + type empty; + } + } + leaf dr-priority { + description + "PIM Hello DR priority"; + default "1"; + type uint32; + } + } + choice ipv6-pim-choice { + status deprecated; + container no-pim { + status deprecated; + leaf pim { + status deprecated; + description + "PIM interface commands"; + default "true"; + type boolean; + } + } + container pim { + status deprecated; + description + "PIM interface commands"; + leaf bfd { + status deprecated; + description + "Configure BFD"; + type empty; + } + container bsr { + status deprecated; + description + "Configure BSR"; + leaf border { + status deprecated; + description + "Border of PIM BSR domain"; + type empty; + } + } + leaf dr-priority { + status deprecated; + description + "PIM Hello DR priority"; + default "1"; + type uint32; + } + } + } + } + + grouping config-interface-lisp-ip-pim-grouping { + container lisp { + description + "Configure LISP"; + container core-group-range { + description + "Configure group range to be used in the core"; + leaf addr { + description + "Start group address of the range. Should be configured along with group range"; + must '../ios-mc:range' { + error-message "Core group range must be specified"; + } + type inet:ipv4-address; + } + leaf range { + description + "Size of the group range. Should be configured along with start group address"; + must '../ios-mc:addr' { + error-message "Core group start address must be specified"; + } + type uint16 { + range "1..1000"; + } + } + } + container transit-core-group-range { + description + "Configure transit group range to be used in the core"; + leaf addr { + description + "Start group address of the range. Should be configured along with group range"; + must '../ios-mc:range' { + error-message "Transit group range must be specified"; + } + type inet:ipv4-address; + } + leaf range { + description + "Size of the group range. Should be configured along with start group address"; + must '../ios-mc:addr' { + error-message "Transit group start address must be specified"; + } + type uint16 { + range "1..1000"; + } + } + } + container transport { + description + "Enable PIM LISP transport"; + choice transport-type { + case multicast { + container multicast { + description + "LISP transport multicast"; + presence "true"; + leaf ipv4 { + description + "IPv4 LISP transport"; + type empty; + } + } + } + case unicast { + container unicast { + description + "LISP transport unicast"; + presence "true"; + leaf ipv4 { + description + "IPv4 LISP transport"; + type empty; + } + } + } + } + } + } + } + + grouping config-interface-lisp-ipv6-pim-grouping { + container pim { + container lisp { + description + "Configure LISP"; + container transport-container { + description + "Enable PIM LISP transport"; + choice lisp-v4-choice { + container unicast { + description + "Enable PIM LISP transport unicast"; + presence "true"; + leaf ipv4 { + description + "Enable lisp transport unicast ipv4"; + type empty; + } + leaf ipv6 { + description + "Enable lisp transport unicast ipv6"; + type empty; + } + } + } + } + container transport { + status deprecated; + description + "Enable PIM LISP transport"; + choice lisp-v4-choice { + status deprecated; + container unicast { + status deprecated; + leaf ipv4 { + status deprecated; + description + "Enable lisp transport unicast ipv4"; + type empty; + } + leaf cr { + status obsolete; + description + "Enable lisp transport unicast"; + type empty; + } + } + } + } + } + } + } + + grouping config-mcr-conf-grouping { + container mcr-conf { + leaf multicast-routing { + description + "Enable IP multicast forwarding"; + type empty; + } + } + } + + grouping config-multicast-routing-grouping { + container multicast-routing { + description + "Enable IP multicast forwarding"; + presence "true"; + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + type string; + } + leaf distributed { + description + "Distributed multicast switching"; + type empty; + } + } + leaf distributed { + description + "Distributed multicast switching"; + type empty; + } + } + } + + grouping config-ipv6-mcr-conf-grouping { + container mcr-conf { + leaf multicast-routing { + description + "Enable IPV6 multicast forwarding"; + type empty; + } + } + } + + grouping config-ipv6-multicast-routing-grouping { + container multicast-routing-container { + description + "Enable IPV6 multicast forwarding"; + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + type string; + } + } + } + container multicast-routing { + status deprecated; + description + "Enable IPv6 multicast"; + presence "true"; + leaf vrf { + status deprecated; + description + "Select VPN Routing/Forwarding instance"; + type string; + } + } + } + + grouping ip-msdp-grouping { + container border { + description + "Configure MSDP DM/SM Border Router"; + container sa-address { + description + "Address to use in SA message"; + uses ios-ifc:interface-grouping; + } + } + list peer { + description + "Configure an MSDP peer"; + key "addr"; + leaf addr { + type union { + type inet:ipv4-address; + type string; + } + } + container connect-source { + description + "Configure source address used for MSDP connection"; + uses ios-ifc:interface-grouping; + } + leaf remote-as { + description + "Configured AS number"; + type uint16 { + range "1..65535"; + } + } + } + leaf cache-rejected-sa { + description + "Store rejected SAs from all peers"; + type uint32 { + range "1..32766"; + } + } + leaf cache-sa-state { + description + "OBSOLETE: Cache SA state for MSDP peers, is an implicit configuration. + This leaf is made obsolete as this is not user configurable."; + type empty; + } + list default-peer-list { + description + "Default MSDP peer to accept SA messages from"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf prefix-list { + description + "Prefix list"; + type string; + } + } + container default-peer { + status obsolete; + description + "Default MSDP peer to accept SA messages from"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf prefix-list { + status obsolete; + description + "Prefix list"; + type string; + } + } + list description-list { + description + "Peer specific description"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf description { + mandatory true; + type string; + } + } + container description { + status obsolete; + description + "Peer specific description"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf description { + status obsolete; + type string; + } + } + list filter-sa-request-list { + description + "Filter SA-Requests from peer"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf list { + description + "Access-list"; + type ios-types:std-acl-type; + } + } + container filter-sa-request { + status obsolete; + description + "Filter SA-Requests from peer"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf list { + status obsolete; + description + "Access-list"; + type ios-types:std-acl-type; + } + } + list keepalive-list { + description + "Configure keepalive parameters for a peer"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf keepalive { + mandatory true; + description + "Send keepalive period in seconds"; + type uint8 { + range "1..60"; + } + } + leaf max-wait { + mandatory true; + description + "Maximum time in seconds to wait for a message"; + type uint8 { + range "1..75"; + } + } + } + container keepalive { + status obsolete; + description + "Configure keepalive parameters for a peer"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf keepalive { + status obsolete; + description + "Send keepalive period in seconds"; + type uint8 { + range "1..60"; + } + } + leaf max-wait { + status obsolete; + description + "Maximum time in seconds to wait for a message"; + type uint8 { + range "1..75"; + } + } + } + list mesh-group-list { + description + "Configure an MSDP mesh-group"; + key "addr"; + leaf name { + mandatory true; + type string { + length "1..228"; + } + } + leaf addr { + type leafref { + path "../../peer/addr"; + } + } + } + container mesh-group { + status obsolete; + description + "Configure an MSDP mesh-group"; + leaf name { + status obsolete; + type string; + } + leaf addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + } + leaf new-rpf-rules { + description + "Configure new MSDP rpf rules"; + type empty; + } + leaf originator-id { + description + "Configure MSDP Originator ID"; + type string; + } + container password { + description + "Configure an MSDP password"; + list peer-list { + description + "MSDP peer on which the password is to be set"; + key "addr"; + leaf addr { + type leafref { + path "../../../peer/addr"; + } + } + leaf encryption { + type uint8 { + range "0..7"; + } + } + leaf password { + mandatory true; + type string; + } + } + container peer { + status obsolete; + description + "MSDP peer on which the password is to be set"; + leaf addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf encryption { + status obsolete; + type uint8; + } + leaf password { + status obsolete; + type string; + } + } + } + container redistribute-container { + description + "Inject multicast route entries into MSDP"; + presence "true"; + leaf list { + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf asn { + description + "AS number. ASN = <1-500> or value '0' to Allow all AS'es"; + type uint16 { + range "0..500"; + } + } + leaf route-map { + description + "Route-map"; + type string; + } + } + container redistribute { + status deprecated; + description + "Inject multicast route entries into MSDP"; + leaf list { + status deprecated; + description + "Access-list"; + type ios-types:ext-acl-type; + } + leaf asn { + status deprecated; + description + "AS access-list"; + type uint16; + } + leaf route-map { + status deprecated; + description + "Route-map"; + type string; + } + } + leaf rpf { + description + "MSDP rpf"; + type enumeration { + enum rfc3618; + } + } + container sa-filter { + description + "Filter SA messages from peer"; + list in-list { + description + "Enable incoming SA filtering"; + key "addr"; + leaf addr { + type leafref { + path "../../../peer/addr"; + } + } + leaf list { + description + "Access list"; + type ios-types:ext-acl-type; + } + leaf route-map { + description + "Route map"; + type string; + } + leaf rp-list { + description + "Access-list for originating RP"; + type ios-types:mcast-std-acl-type; + } + leaf rp-route-map { + description + "Route map for originating RP"; + type string; + } + } + container in { + status obsolete; + description + "Enable incoming SA filtering"; + leaf addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf list { + status obsolete; + description + "Access list"; + type ios-types:ext-acl-type; + } + leaf route-map { + status obsolete; + description + "Route map"; + type string; + } + leaf rp-list { + status obsolete; + description + "Access-list for originating RP"; + type union { + type uint16 { + range "1..99"; + } + type string; + } + } + leaf rp-route-map { + status obsolete; + description + "Route map for originating RP"; + type string; + } + } + list out-list { + description + "Enable outgoing SA filtering"; + key "addr"; + leaf addr { + type leafref { + path "../../../peer/addr"; + } + } + leaf list { + description + "Access list"; + type ios-types:ext-acl-type; + } + leaf route-map { + description + "Route map"; + type string; + } + leaf rp-list { + description + "Access-list for originating RP"; + type ios-types:mcast-std-acl-type; + } + leaf rp-route-map { + description + "Route map for originating RP"; + type string; + } + } + container out { + status obsolete; + description + "Enable outgoing SA filtering"; + leaf addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf list { + status obsolete; + description + "Access list"; + type ios-types:ext-acl-type; + } + leaf route-map { + status obsolete; + description + "Route map"; + type string; + } + leaf rp-list { + status obsolete; + description + "Access-list for originating RP"; + type union { + type uint16 { + range "1..99"; + } + type string; + } + } + leaf rp-route-map { + status obsolete; + description + "Route map for originating RP"; + type string; + } + } + } + list sa-limit-list { + description + "Configure SA limit for a peer"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf limit { + description + "Limit of SAs"; + mandatory true; + type uint32 { + range "1..2147483646"; + } + } + } + container sa-limit { + status obsolete; + description + "Configure SA limit for a peer"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf limit { + status obsolete; + description + "Limit of SAs"; + type uint32 { + range "1..2147483646"; + } + } + } + list shutdown-list { + description + "Administratively shutdown MSDP peer"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + } + container shutdown { + status obsolete; + description + "Administratively shutdown MSDP peer"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + } + leaf timer { + description + "MSDP timer"; + default "30"; + type uint8 { + range "1..60"; + } + } + list ttl-threshold-list { + description + "Configure TTL Threshold for MSDP Peer"; + key "name-addr"; + leaf name-addr { + type leafref { + path "../../peer/addr"; + } + } + leaf threshold { + description + "TTL Threshold Value"; + mandatory true; + type uint8; + } + } + container ttl-threshold { + status obsolete; + description + "Configure TTL Threshold for MSDP Peer"; + leaf name-addr { + status obsolete; + type union { + type string; + type inet:ipv4-address; + } + } + leaf threshold { + status obsolete; + description + "TTL Threshold Value"; + type uint8; + } + } + } + + grouping config-ip-msdp-grouping { + container msdp { + description + "MSDP global commands"; + uses ip-msdp-grouping; + list vrf { + description + "Select VPN Routing/Forwarding instance"; + key "name"; + leaf name { + type string; + } + uses ip-msdp-grouping; + } + } + } + + grouping confif-ip-mroute-grouping { + container mroute { + description + "Configure static multicast routes"; + leaf extend-timer { + description + "Extends the expiry time for new (s,g) route"; + type empty; + } + leaf source-address { + type inet:ipv4-address; + } + leaf subnet-mask { + type inet:ipv4-address; + } + leaf Tunnel { + description + "Tunnel interface"; + type int32 { + range "0..2147483647"; + } + } + } + } + + grouping config-mpls-mldp-grouping { + leaf mldp { + default "true"; + type boolean; + } + container mldp-conf { + container mldp { + description + "Configure MLDP routing protocol parameters"; + list fec { + description + "MLDP Forwarding Equivalence Class(FEC)"; + key "fecid"; + leaf fecid { + description + "FEC identifier"; + type uint8 { + range "1..99"; + } + } + container opaque-type { + description + "FEC Opaque type"; + choice type { + case ipv4-type { + container ipv4 { + description + "IPv4 opaque type"; + leaf source_address { + description + "IP source address"; + mandatory true; + type inet:ipv4-address; + } + leaf group_address { + description + "IP group address"; + mandatory true; + type inet:ipv4-address; + } + } + } + case vpnv4-type { + container vpnv4 { + description + "VPNv4 opaque type"; + leaf source_address { + description + "IP source address"; + mandatory true; + type inet:ipv4-address; + } + leaf group_address { + description + "IP group address"; + mandatory true; + type inet:ipv4-address; + } + leaf vpnid { + description + "VPN Route Distinguisher (ASN:nn, IP-address:nn or 4BASN:nn)"; + mandatory true; + type string; + } + } + } + case ipv6-type { + container ipv6 { + description + "IPv6 opaque type"; + leaf source_address { + description + "IPv6 source address"; + mandatory true; + type inet:ipv6-address; + } + leaf group_address { + description + "IPv6 group address"; + mandatory true; + type inet:ipv6-address; + } + } + } + case vpnv6-type { + container vpnv6 { + description + "VPNv6 opaque type"; + leaf source_address { + description + "IPv6 source address"; + mandatory true; + type inet:ipv6-address; + } + leaf group_address { + description + "IPv6 group address"; + mandatory true; + type inet:ipv6-address; + } + leaf vpnid { + description + "VPN Route Distinguisher (ASN:nn, IP-address:nn or 4BASN:nn)"; + mandatory true; + type string; + } + } + } + case mdt-type { + container mdt { + description + "MDT opaque type"; + container vpn-id { + description + "MDT VPN Id in rfc2685 format"; + leaf vpnid { + description + ", format (hex) <3 bytes OUI:4 bytes VPN Index"; + mandatory true; + type union { + type enumeration { + enum any; + } + type string; + } + } + leaf scope { + description + "MDT scope"; + mandatory true; + type union { + type uint16 { + range "0..65535"; + } + type enumeration { + enum any; + } + } + } + } + } + } + } + } + } + list filter { + description + "MLDP filter"; + key "fecid"; + leaf fecid { + description + "FEC identifier"; + type uint8 { + range "1..99"; + } + } + leaf peer-list { + description + "MLDP filter peer list"; + mandatory true; + type ios-types:std-acl-type; + } + } + container forwarding { + description + "Multicast LDP forwarding commands"; + leaf recursive { + description + "Enable recursion on unicast LSPs"; + default "true"; + type boolean; + } + } + leaf limit { + description + "Limit the number of LSPs"; + type uint32 { + range "0..1000000"; + } + } + container logging { + description + "Multicast LDP logging"; + leaf internal { + description + "Log internal notifications"; + type empty; + } + leaf notifications { + description + "Log notifications"; + type empty; + } + } + container make-before-break { + description + "Enable make-before-break"; + leaf delay { + description + "Delay in milliseconds"; + type uint32 { + range "0..60000"; + } + } + } + container path { + description + "Configure mLDP path options"; + container multipath { + description + "Enable mLDP multipath"; + leaf upstream { + description + "Enable mLDP multipath for upstream LDP neighbors"; + default "true"; + type boolean; + } + leaf downstream { + description + "Enable mLDP multipath for downstream LDP neighbors"; + default "true"; + type boolean; + } + } + leaf traffic-eng { + description + "Allow mLDP to use traffic-eng tunnels"; + type empty; + } + } + container static { + description + "Static LSP"; + list mp2mp { + description + "Static MP2MP LSP"; + key "root_address"; + leaf root_address { + description + "IP root address"; + type inet:ipv4-address; + } + leaf lsp_instances { + description + "Number of LSPs"; + mandatory true; + type uint32 { + range "0..100000"; + } + } + } + list p2mp { + description + "Static P2MP LSP"; + key "root_address"; + leaf root_address { + description + "IP root address"; + type inet:ipv4-address; + } + leaf lsp_instances { + description + "Number of LSPs"; + mandatory true; + type uint32 { + range "0..100000"; + } + } + } + } + } + } + } + + grouping config-service-reflect-grouping { + leaf destination { + description + "Packets with destination address"; + type inet:ip-address; + } + leaf to { + description + "Modify destination address in reflected packets to"; + type inet:ip-address; + } + leaf mask-len { + description + "Mask length"; + type uint8 { + range "1..32"; + } + } + leaf source { + description + "Modify source address in reflected packets"; + type inet:ip-address; + } + } + + grouping config-service-reflect-source-grouping { + leaf to_src { + description + "Modify source address in reflected packets to"; + type inet:ip-address; + } + leaf src-mask-len { + description + "Source Mask length"; + type uint8 { + range "1..32"; + } + } + } + + grouping config-service-reflect-list-grouping { + container service { + description + "IP service"; + container reflect { + description + "Reflect service"; + list service_reflect_source_list { + description + "List of service reflect entries"; + key "destination to mask-len source to_src src-mask-len"; + uses config-service-reflect-grouping; + uses config-service-reflect-source-grouping; + } + list service_reflect_list { + description + "List of service reflect entries"; + key "destination to mask-len source"; + uses config-service-reflect-grouping; + } + list service_reflect_interface_source_list { + description + "List of service reflect entries"; + key "interface destination to mask-len source to_src src-mask-len"; + leaf interface { + description + "Specify service reflect interface"; + type string; + } + uses config-service-reflect-grouping; + uses config-service-reflect-source-grouping; + } + list service_reflect_interface_list { + description + "List of service reflect entries"; + key "interface destination to mask-len source"; + leaf interface { + description + "Specify service reflect interface"; + type string; + } + uses config-service-reflect-grouping; + } + } + } + } + + augment "/ios:native/ios:ip/ios:multicast" { + uses config-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ip" { + uses config-interface-ip-mcast-grouping; + } + + augment "/ios:native/ios:ipv6/ios:multicast" { + uses config-ipv6-mcast-grouping; + } + + augment "/ios:native/ios:ip/ios:pim" { + uses config-ip-pim-grouping; + } + + augment "/ios:native/ios:ipv6/ios:pim" { + uses config-ipv6-pim-grouping; + } + + augment "/ios:native/ios:mpls" { + uses config-mpls-mldp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + uses config-interface-lisp-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + uses config-interface-lisp-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ip/ios:pim" { + uses config-interface-ip-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ipv6" { + uses config-interface-lisp-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ipv6" { + uses config-interface-lisp-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ipv6" { + uses config-interface-ipv6-pim-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-msdp-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-ip-sap-grouping; + } + + augment "/ios:native/ios:ip" { + uses config-mcr-conf-grouping; + uses config-multicast-routing-grouping; + } + + augment "/ios:native/ios:ip" { + uses confif-ip-mroute-grouping; + } + + augment "/ios:native/ios:ipv6" { + uses config-ipv6-mcr-conf-grouping; + uses config-ipv6-multicast-routing-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ip" { + uses config-service-reflect-list-grouping; + } + + augment "/ios:native/ios:snmp/ios-snmp:mib" { + uses ip-multicast-pimstdmib; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-mvrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-mvrp.yang new file mode 100644 index 000000000..7dbd137c8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-mvrp.yang @@ -0,0 +1,165 @@ +module Cisco-IOS-XE-mvrp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-mvrp"; + prefix ios-mvrp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Multiple VLAN Registration Protocol Yang Model. + Copyright (c) 2016-2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-26 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added Fast, 2, 5, 25, 100GE interface support"; + } + revision 2017-09-19 { + description + "Initial revision"; + } + + grouping config-mvrp-grouping { + leaf global { + type empty; + } + container mac-learning { + leaf auto { + type empty; + } + } + container vlan { + leaf create { + type empty; + } + } + } + + grouping config-interface-mvrp-grouping { + container mvrp { + presence "true"; + leaf mvrp { + type empty; + } + container registration { + leaf fixed { + type empty; + } + leaf forbidden { + type empty; + } + leaf normal { + type empty; + } + } + container timer { + container join { + presence "true"; + leaf _range { + type uint32 { + range "20..214748364"; + } + } + } + container leave { + presence "true"; + leaf _range { + type uint32 { + range "60..214748364"; + } + } + } + container leave-all { + presence "true"; + leaf _range { + type uint32 { + range "1000..214748364"; + } + } + } + leaf periodic { + type empty; + } + } + } + } + + augment "/ios:native/ios:mvrp" { + uses config-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-mvrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-mvrp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nam.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nam.yang new file mode 100644 index 000000000..6f2326983 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nam.yang @@ -0,0 +1,116 @@ +module Cisco-IOS-XE-nam { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nam"; + prefix ios-nam; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco IOS XE Native Network Analysis Module (NAM) monitoring YANG module. + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-12-28 { + description + "Initial revision"; + } + + grouping config-interface-analysis-module-grouping { + container analysis-module { + description + "Configure NAM on the interface"; + container monitoring { + description + "Configure NAM monitoring on the interface"; + leaf interface-name { + description + "The name of the output interface. E.g., 'ucse 1/0/0'"; + type string; + } + } + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:ppp" { + uses config-interface-analysis-module-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-analysis-module-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-events.yang new file mode 100644 index 000000000..d42743f48 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-events.yang @@ -0,0 +1,257 @@ +module Cisco-IOS-XE-nat-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nat-events"; + prefix nat-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for NAT event notification. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added Notification support for NAT status notification"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ip-nat-route-type { + type enumeration { + enum route-type-unknown { + value 0; + description + "Unknown NAT route"; + } + enum route-type-inside { + value 1; + description + "Inside NAT route"; + } + enum route-type-outside { + value 2; + description + "Outside NAT route"; + } + enum route-type-dia { + value 3; + description + "DIA NAT route"; + } + } + description + "NAT route type"; + } + + typedef ip-nat-route-update { + type enumeration { + enum route-update-added { + value 0; + description + "NAT route added"; + } + enum route-update-removed { + value 1; + description + "NAT route removed"; + } + } + description + "NAT route update"; + } + + typedef ip-nat-event { + type enumeration { + enum nat-event-unknown { + value 0; + description + "Unknown NAT event"; + } + enum nat-event-dia { + value 1; + description + "NAT DIA event"; + } + } + description + "NAT event"; + } + + typedef ip-nat-type { + type enumeration { + enum nat-type-unknown { + value 0; + description + "Unknown NAT type"; + } + enum nat-type-ipv4 { + value 1; + description + "IPv4 NAT"; + } + enum nat-type-ipv6 { + value 2; + description + "IPv6 NAT"; + } + } + description + "NAT type"; + } + + typedef ip-nat-event-type { + type enumeration { + enum nat-event-type-unknown { + value 0; + description + "Unknown NAT event type"; + } + enum nat-event-type-dia-if-up { + value 1; + description + "NAT DIA interface up"; + } + enum nat-event-type-dia-if-down { + value 2; + description + "NAT DIA interface DOWN"; + } + } + description + "NAT event type"; + } + + grouping ip-nat-route-change { + description + "IP NAT route change"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf object-tracker { + type uint16; + description + "Object tracker number"; + } + leaf address { + type inet:ip-address; + description + "NAT IP address"; + } + leaf mask { + type inet:ip-address; + description + "NAT IP address mask"; + } + leaf route-type { + type nat-ios-xe-events:ip-nat-route-type; + description + "NAT route type"; + } + leaf update { + type nat-ios-xe-events:ip-nat-route-update; + description + "NAT route update"; + } + } + + grouping ip-nat-update { + description + "NAT event"; + leaf severity-level { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf nat-type { + type nat-ios-xe-events:ip-nat-type; + description + "NAT type"; + } + leaf nat-event { + type nat-ios-xe-events:ip-nat-event; + description + "NAT event"; + } + leaf nat-event-type { + type nat-ios-xe-events:ip-nat-event-type; + description + "NAT event type"; + } + } + + notification nat-route-change { + description + "NAT route change notification"; + uses nat-ios-xe-events:ip-nat-route-change; + } + + notification nat-update { + description + "NAT update notification"; + uses nat-ios-xe-events:ip-nat-update; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-oper.yang new file mode 100644 index 000000000..ab0c25ae8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat-oper.yang @@ -0,0 +1,277 @@ +module Cisco-IOS-XE-nat-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nat-oper"; + prefix nat-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for NAT operational data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-03-17 { + description + "The second generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ip-nat-statistics { + description + "ip nat global statistics"; + leaf initialized { + type boolean; + description + "Indicates if the NAT feature has been initialized"; + } + leaf entries { + type uint64; + description + "Total translations"; + } + leaf statics { + type uint64; + description + "Total static translations"; + } + leaf-list statics-sorted { + type uint64; + max-elements 4; + ordered-by user; + description + "Sorted static translations by domain"; + } + leaf flows { + type uint64; + description + "Total flows"; + } + leaf insides { + type uint64; + description + "Number of inside interfaces"; + } + leaf outsides { + type uint64; + description + "Number of outside interfaces"; + } + leaf entry-timeouts { + type uint64; + description + "Number of entries which timed out "; + } + leaf hits { + type uint64; + description + "Successful searches with matching NAT session"; + } + leaf misses { + type uint64; + description + "Unsuccessful searches without matching NAT session"; + } + leaf interrupt-switched { + type uint64; + description + "Translated in interrupt switching"; + } + leaf packets-punted { + type uint64; + description + "Packets punted to process"; + } + leaf frag-pak-count { + type uint64; + description + "Counter for saved fragment packets"; + } + leaf pool-stats-drop { + type uint64; + description + "Dropped pool stats from platform"; + } + leaf mapping-stats-drop { + type uint64; + description + "Dropped mapping stats from platform"; + } + leaf portlist-req-fail { + type uint64; + description + "Counter for port block allocation request failures"; + } + leaf ipalias-add-fail { + type uint64; + description + "Counter for add IP alias fails drops"; + } + leaf limit-entry-add-fail { + type uint64; + description + "Counter for add limit entry fails drops"; + } + leaf in2out-drops { + type uint64; + description + "Counter for NAT inside->outside drops"; + } + leaf out2in-drops { + type uint64; + description + "Counter for NAT outside->inside drops"; + } + leaf mib-addr-binds { + type uint32; + description + "MIB counter for address binds"; + } + leaf mib-addport-binds { + type uint32; + description + "MIB counter for address port binds"; + } + } + + grouping nat-translation-key { + description + "NAT translation key"; + leaf inside-local-addr { + type inet:ipv4-address; + description + "Inside local address"; + } + leaf outside-local-addr { + type inet:ipv4-address; + description + "Outside local address"; + } + leaf inside-local-port { + type uint16; + description + "Inside local port"; + } + leaf outside-local-port { + type uint16; + description + "Outside local port"; + } + leaf vrfid { + type uint16; + description + "VRF ID"; + } + leaf protocol { + type uint8; + description + "Protocol"; + } + } + + grouping nat-translation-param { + description + "NAT translation parameters"; + leaf inside-global-addr { + type inet:ipv4-address; + description + "Inside global address"; + } + leaf outside-global-addr { + type inet:ipv4-address; + description + "Outside global address"; + } + leaf inside-global-port { + type uint16; + description + "Inside global port"; + } + leaf outside-global-port { + type uint16; + description + "Outside global port"; + } + leaf flags { + type uint32; + description + "Translation flags"; + } + leaf application-type { + type uint8; + description + "Application type"; + } + leaf vrf-name { + type string; + description + "Virtual Routing and Forwarding name"; + } + } + + container nat-data { + config false; + description + "NAT statistics"; + container ip-nat-statistics { + presence "ip-nat-statistics"; + description + "Global NAT statistics"; + uses nat-ios-xe-oper:ip-nat-statistics; + } + list ip-nat-translation { + key "inside-local-addr outside-local-addr inside-local-port outside-local-port vrfid protocol"; + description + "IP NAT translations"; + uses nat-ios-xe-oper:nat-translation-param; + uses nat-ios-xe-oper:nat-translation-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nat.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat.yang new file mode 100644 index 000000000..552a3b5ef --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nat.yang @@ -0,0 +1,4216 @@ +module Cisco-IOS-XE-nat { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nat"; + prefix ios-nat; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Network Address Translation (NAT) Yang model. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Adding support for pptp-timeout + -mapping-id value should be added in negation of static mapping command + -Obsolete nodes that are deprecated in 17.6 or before + -Adding keyword choice inside pptp-timeout container + -Added tailf dependency on redundancy-infra for nat mapping commands + -Adding support for NAT dia track"; + cisco-semver:module-version "10.0.0"; + } + revision 2024-03-01 { + description + "-Adding support for match-interface to allow multiple NAT methods for DIA traffic + -Adding NAT66 support for Dialer and Cellular interfaces + -Adding dependencies for VRF for ip nat inside source static, ip nat outside source static + and ip nat outside dynamic with pool commands"; + cisco-semver:module-version "9.0.0"; + } + revision 2023-11-01 { + description + "-Adding support for RA interface for nat66 + -Adding support for gratuitous arp interface for ipv4 + -Adding support for Port-Channel subinterface for NAT66 and NAT64 under interface commands + -Updating the must constraint for Port-Channel subinterface"; + cisco-semver:module-version "8.0.0"; + } + revision 2023-07-01 { + description + "-Adding support for egress-interface for nat66 + -Adding support for configuring per-tenant NAT limits + -Restrict prefix-length range of pool to 30 + -Cli knob to enable flow based distribution in NAT"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-03-01 { + description + "-Extended gatekeeper range to 1 million entries + -For the list nat-static-proto-transport-interface-list, deprecated old container interface + added new container interface-new with interface-with-dependency-grouping + -Added new container egress-interface in nat-static-proto-transport-interface-list to support + 17.11 DIA port forwarding Loopback support feature + -Added support for reserve-ports + -Deprecated service gatekeeper changing type from empty to boolean"; + cisco-semver:module-version "6.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for preserve-sdwan-ports + - Added support for nat64 provisioning mode jp01 (map-e) feature CLIs + - Deprecating nat64 route CLI and adding new container to support ipv4 prefix CLI in nat64 route + - Added support for nat64 settings fragmentation header CLI + - Added support for nat64 settings under interface + - Added support for nat64 settings v4 tos ignore CLI + - Modified the grouping from ios-ifc:interface-grouping to ios:interface-with-dependency-grouping + in container egress-interface for ip-nat-pool-base-grouping + - Added dependency such that preserve-sdwan-ports is executed before dynamic mapping + - Deprecated container egress-interface with grouping ios-ifc:interface-grouping and created new + container with grouping ios:interface-with-dependency-grouping everywhere in NAT Yang model + - Added support for network/mask for ip nat outside source static"; + cisco-semver:module-version "6.2.0"; + } + revision 2022-07-01 { + description + "-Added support for redundancy with outside static NAT + -Added support for destination ip logging in CGN mode + -Added support for VRF in DIA interface port forwarding NAT + -Deprecating container UDP and container TCP in ip nat translation port-timeout CLI, + added a new model for same, making PORT NUMBER as a key"; + cisco-semver:module-version "6.1.0"; + } + revision 2022-03-01 { + description + "-Added new leaf track for static nat and dynamic nat with vrf + -Refined leaf mask in list nat-static-transport-list-with-vrf to support CLI with vrf + -Deprecated leaf network and created a new leaf with type enumeration + -Marking leaves proto, local-port and global-port as Obsolete in the grouping + config-ip-nat-source-static-transport-common-part-one-grouping + -Added must constraint for ip nat inside source list interface"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-11-01 { + description + "-Added CLI for nat66"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-07-01 { + description + "-Marking vrf leaf from nat64 prefix stateful CLI under interface as Obsolete"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "-Added pool support for inside/outside static NAT"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "17.4 unification"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "- Added new NAT config: ip nat settings non PAT log-disable + - Added new NAT config: ip nat settings trans-err-limit per-ip-pool + - Created new model, added the older leaf node dns-v6 back and marked it as deprecated"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added new NAT config: ip nat settings high-performance for call setup rate"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new NAT config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Implementation of NAT64 DIA route support + - Implementation of create, switchover, settings, service and missing + parts of translation max-entries + - Add ip nat to interface BD-VIF"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-04 { + description + "fixed issue with config for ip nat source list interface to allow + more than one config"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-18 { + description + "fix ip nat inside static with multiple vrf get-config missing config issue"; + } + revision 2018-12-07 { + description + "Move nat64 timeout configuration for protocols into timeout container"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-15 { + description + "Add correct dependencies on VRF to 'ip nat route'"; + } + revision 2018-10-04 { + description + "fix to allow multiple pool/interface under different vrf"; + } + revision 2018-08-31 { + description + "add nat inside/outside to Vlan interfaces"; + } + revision 2018-08-22 { + description + "fix the deletion of ip nat inside source static vrf"; + } + revision 2018-08-18 { + description + "Changed source inside source list to use only one pool/interface"; + } + revision 2018-08-08 { + description + "force overload to 'ip nat inside source list interface/vrf' and 'ip + nat inside source route-map interface/vrf'"; + } + revision 2018-07-07 { + description + "Added ip nat to interface Multilink"; + } + revision 2018-06-30 { + description + "fixing source list pool/interface and source route-map pool/interface + issues"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-05-29 { + description + "Add ip nat inside source static "; + } + revision 2018-05-18 { + description + "Add NAT models under ATM interface and sub interface"; + } + revision 2018-05-17 { + description + "Added ip nat to interface Dialer"; + } + revision 2018-04-03 { + description + "Added ip nat to interface Serial"; + } + revision 2018-03-21 { + description + "Make ip nat inside source list interface/pool vrf list"; + } + revision 2018-03-14 { + description + "Added ip nat to interface VirtualPortGroup"; + } + revision 2018-02-22 { + description + "Added ip nat to interface Cellular"; + } + revision 2018-01-25 { + description + "Added model for ip nat translation max-entries host"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 40 and 100GE support"; + } + revision 2017-11-10 { + description + "Add translation timeout support"; + } + revision 2017-11-06 { + description + "Add ip nat to interface BDI"; + } + revision 2017-10-06 { + description + "Model for ip nat route vrf global"; + } + revision 2017-09-15 { + description + "This revison has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-03 { + description + " Static NAT with VRF and route-map results in incorrect CLI order"; + } + revision 2017-06-16 { + description + "Native Yang Support for NATv6"; + } + revision 2017-03-14 { + description + "Add Container node Pool, Oer and Overload + under node Route-map."; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-ip-nat-grouping { + container nat { + description + "NAT interface commands"; + leaf allow-static-host { + description + "Allow static-ip clients"; + type empty; + } + leaf enable { + description + "Enable Address Translation (NVI)"; + type empty; + } + leaf stick { + description + "Stick(Hairpin) interface for address translations"; + type empty; + } + choice nat-choice { + leaf inside { + description + "Inside interface for address translation"; + type empty; + } + leaf outside { + description + "Outside interface for address translation"; + type empty; + } + } + } + } + + grouping config-ip-nat-source-route-map-pool-base-grouping { + leaf overload { + description + "Overload an address translation"; + type empty; + } + leaf extended { + description + "Overload extended"; + when '../overload'; + type empty; + } + leaf oer { + description + "Use with vtemplate only. On new translation, if OER BR is UP, + OER will select IP from outgoing Interface. + All packets matching translation are forwarded over Interface + for duration of translation."; + type empty; + } + leaf reversible { + description + "Allow out->in traffic"; + type empty; + } + } + + grouping config-ip-nat-source-pool-vrf-base-grouping { + list vrf { + description + "Specify vrf"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf match-in-vrf { + description + "Match incoming vrf"; + type empty; + } + leaf overload { + description + "Overload an address translation"; + type empty; + } + } + } + + grouping old-ip-nat-source-pool-vrf-base-grouping { + list vrf { + status obsolete; + description + "(OBSOLETE) Specify vrf"; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf match-in-vrf { + status obsolete; + description + "(OBSOLETE) Match incoming vrf"; + type empty; + } + leaf overload { + status obsolete; + description + "(OBSOLETE) Overload an address translation"; + type empty; + } + } + } + + grouping config-ip-nat-source-route-map-pool-option-grouping { + list redundancy { + key "name"; + leaf name { + type uint8 { + range "1..2"; + } + } + list mapping-id { + description + "Associate a mapping id to this mapping"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses config-ip-nat-source-route-map-pool-base-grouping; + } + } + uses config-ip-nat-source-route-map-pool-base-grouping; + } + + grouping config-ip-nat-source-pool-vrf-grouping { + list redundancy { + key "name"; + leaf name { + type uint8 { + range "1..2"; + } + } + list mapping-id { + description + "Associate a mapping id to this mapping"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses config-ip-nat-source-pool-vrf-base-grouping; + } + } + uses config-ip-nat-source-pool-vrf-base-grouping; + } + + grouping old-ip-nat-source-pool-vrf-grouping { + list redundancy { + status obsolete; + key "name"; + leaf name { + status obsolete; + type uint8 { + range "1..2"; + } + } + list mapping-id { + status obsolete; + description + "(OBSOLETE) Associate a mapping id to this mapping"; + key "name"; + leaf name { + status obsolete; + type uint32 { + range "1..2147483647"; + } + } + uses old-ip-nat-source-pool-vrf-base-grouping { + status obsolete; + } + } + } + uses old-ip-nat-source-pool-vrf-base-grouping { + status obsolete; + } + } + + grouping config-ip-nat-source-interface-base-grouping { + leaf overload { + description + "Overload an address translation"; + mandatory true; + type empty; + } + leaf extended { + description + "Overload extended"; + when '../overload'; + type empty; + } + leaf oer { + description + "Use with vtemplate only. On new translation, + if OER BR is UP, OER will select IP from outgoing + Interface. All packets matching translation are + forwarded over Interface for duration of translation."; + type empty; + } + } + + grouping old-ip-nat-source-interface-base-grouping { + leaf overload { + status obsolete; + description + "(OBSOLETE) Overload an address translation"; + mandatory true; + type empty; + } + leaf extended { + status obsolete; + description + "(OBSOLETE) Overload extended"; + when '../overload'; + type empty; + } + leaf oer { + status obsolete; + description + "(OBSOLETE) Use with vtemplate only. On new translation, + if OER BR is UP, OER will select IP from outgoing + Interface. All packets matching translation are + forwarded over Interface for duration of translation."; + type empty; + } + } + + grouping config-ip-nat-source-interface-vrf-grouping { + list vrf { + description + "Specify vrf"; + key "vrf-name"; + leaf vrf-name { + description + "vrf name"; + type string; + } + uses config-ip-nat-source-interface-base-grouping; + } + } + + grouping old-ip-nat-source-interface-vrf-grouping { + list vrf { + status obsolete; + description + "(OBSOLETE) Specify vrf"; + key "vrf-name"; + leaf vrf-name { + status obsolete; + description + "(OBSOLETE) vrf name"; + type string; + } + uses old-ip-nat-source-interface-base-grouping { + status obsolete; + } + } + } + + grouping config-ip-nat-source-list-pool-base-grouping { + leaf overload { + description + "Overload an address translation"; + type empty; + } + leaf extended { + description + "Overload extended"; + when '../overload'; + type empty; + } + leaf oer { + description + "Use with vtemplate only. On new translation, if OER BR is UP, + OER will select IP from outgoing Interface. + All packets matching translation are forwarded over Interface + for duration of translation."; + type empty; + } + } + + grouping old-ip-nat-source-list-pool-base-grouping { + leaf overload { + status obsolete; + description + "(OBSOLETE) Overload an address translation"; + type empty; + } + leaf extended { + status obsolete; + description + "(OBSOLETE) Overload extended"; + when '../overload'; + type empty; + } + leaf oer { + status obsolete; + description + "(OBSOLETE) Use with vtemplate only. On new translation, if OER BR is UP, + OER will select IP from outgoing Interface. + All packets matching translation are forwarded over Interface + for duration of translation."; + type empty; + } + } + + grouping config-ip-nat-source-list-pool-option-grouping { + list redundancy { + key "name"; + leaf name { + type uint8 { + range "1..2"; + } + } + list mapping-id { + description + "Associate a mapping id to this mapping"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses config-ip-nat-source-list-pool-base-grouping; + } + } + uses config-ip-nat-source-list-pool-base-grouping; + } + + grouping old-ip-nat-source-list-pool-option-grouping { + list redundancy { + status obsolete; + key "name"; + leaf name { + status obsolete; + type uint8 { + range "1..2"; + } + } + list mapping-id { + status obsolete; + description + "(OBSOLETE) Associate a mapping id to this mapping"; + key "name"; + leaf name { + status obsolete; + type uint32 { + range "1..2147483647"; + } + } + uses old-ip-nat-source-list-pool-base-grouping { + status obsolete; + } + } + } + uses old-ip-nat-source-list-pool-base-grouping { + status obsolete; + } + } + + grouping config-ip-nat-inside-source-pool-with-vrf-grouping { + container pool-with-vrf { + list pool { + description + "Name pool of global addresses"; + key "name"; + leaf name { + type string; + } + uses config-ip-nat-source-pool-vrf-grouping; + } + } + } + + grouping old-ip-nat-inside-source-pool-with-vrf-grouping { + container pool-with-vrf { + status obsolete; + list pool { + status obsolete; + description + "(OBSOLETE) Name pool of global addresses"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses old-ip-nat-source-pool-vrf-grouping { + status obsolete; + } + } + } + } + + grouping config-ip-nat-inside-source-interface-grouping { + list interface { + description + "Specify interface for global address"; + key "name"; + leaf name { + type string; + } + uses config-ip-nat-source-interface-base-grouping; + } + container interface-with-vrf { + list interface { + description + "Specify interface for global address"; + key "name"; + leaf name { + type string; + } + uses config-ip-nat-source-interface-vrf-grouping; + } + } + } + + grouping old-ip-nat-inside-source-interface-grouping { + list interface { + status obsolete; + description + "(OBSOLETE) Specify interface for global address"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses old-ip-nat-source-interface-base-grouping { + status obsolete; + } + } + container interface-with-vrf { + status obsolete; + list interface { + status obsolete; + description + "(OBSOLETE) Specify interface for global address"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses old-ip-nat-source-interface-vrf-grouping { + status obsolete; + } + } + } + } + + grouping config-ip-nat-source-route-map-pool-interface-grouping { + choice pool-or-interface { + case pool-choice { + list pool { + description + "Name pool of global addresses"; + max-elements 1; + key "pool-name"; + leaf pool-name { + description + "Pool name for global addresses"; + type string; + } + uses config-ip-nat-source-route-map-pool-option-grouping; + } + uses config-ip-nat-inside-source-pool-with-vrf-grouping; + } + case interface-choice { + uses config-ip-nat-inside-source-interface-grouping; + } + } + } + + grouping config-ip-nat-source-list-pool-interface-grouping { + choice pool-or-interface { + status obsolete; + case pool-choice { + status obsolete; + list pool { + status obsolete; + description + "(OBSOLETE) Name pool of global addresses"; + max-elements 1; + key "name"; + leaf name { + status obsolete; + description + "(OBSOLETE) Pool name for global addresses"; + type string; + } + uses old-ip-nat-source-list-pool-option-grouping { + status obsolete; + } + } + uses old-ip-nat-inside-source-pool-with-vrf-grouping { + status obsolete; + } + } + case interface-choice { + status obsolete; + uses old-ip-nat-inside-source-interface-grouping { + status obsolete; + } + } + } + } + + grouping ip-nat-translation-port-number-grouping { + container protocol { + status deprecated; + leaf port-numer { + status deprecated; + description + "Port number"; + type uint16 { + range "1..63535"; + } + } + leaf time-val { + status deprecated; + description + "Timeout in seconds"; + type uint32 { + range "0..536870"; + } + } + leaf never { + status deprecated; + description + "Never timeout"; + type empty; + } + } + } + + grouping ip-nat-translation-timeout-grouping { + leaf time-val { + description + "Timeout in seconds"; + type uint32 { + range "0..536870"; + } + } + leaf never { + description + "Never timeout"; + type empty; + } + } + + grouping port-fwd-grouping { + leaf mask { + type union { + type inet:ipv4-address; + type string; + } + } + container egress-interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container egress-interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-deprecated-grouping; + } + leaf extendable { + description + "Extend this translation when used"; + type empty; + } + leaf no-alias { + description + "Do not create an alias for the global address"; + type empty; + } + leaf no-payload { + description + "No translation of embedded address/port in the payload"; + type empty; + } + leaf route-map { + description + "Specify route-map"; + type string; + } + leaf reversible { + when '../route-map'; + type empty; + } + leaf redundancy { + description + "NAT redundancy operation"; + type union { + type uint8; + type string; + } + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + when '../redundancy'; + type uint32 { + range "1..2147483647"; + } + } + leaf stateless { + description + "No flow entries (session) for mapping"; + type empty; + } + } + + grouping config-ip-nat-source-static-transport-common-part-one-grouping { + leaf proto { + status obsolete; + type enumeration { + enum tcp; + enum udp; + } + } + leaf network-config { + description + "Subnet translation"; + type enumeration { + enum network; + } + } + leaf network { + description + "Subnet translation"; + status deprecated; + type empty; + } + leaf local-port { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf mask { + type union { + type inet:ipv4-address; + type string; + } + } + leaf global-port { + status obsolete; + type uint16 { + range "1..65535"; + } + } + container egress-interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container egress-interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-deprecated-grouping; + } + leaf extendable { + description + "Extend this translation when used"; + type empty; + } + leaf no-alias { + description + "Do not create an alias for the global address"; + type empty; + } + leaf no-payload { + description + "No translation of embedded address/port in the payload"; + type empty; + } + leaf route-map { + description + "Specify route-map"; + type string; + } + leaf reversible { + when '../route-map'; + type empty; + } + leaf redundancy { + description + "NAT redundancy operation"; + type union { + type uint8; + type string; + } + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + when '../redundancy'; + type uint32 { + range "1..2147483647"; + } + } + leaf stateless { + description + "No flow entries (session) for mapping"; + type empty; + } + } + + grouping config-ip-nat-source-static-transport-common-part-two-grouping { + leaf forced { + description + "Delete this entry and its children, even if in use"; + type empty; + } + leaf overload { + description + "Overload an address translation"; + type empty; + } + } + + grouping nat-log-dest-grouping { + container source { + description + "Specify source interface for DNS resolver"; + uses ios-ifc:interface-grouping; + } + leaf bind-only { + description + "Log NAT binding translations only"; + type empty; + } + } + + grouping ip-nat-match-interface-grouping { + leaf match-interface { + if-feature "ios-features:sdwan"; + description + "Specify match interface to allow multiple NAT mapping"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or (/ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()])' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + } + + grouping ip-nat-pool-option-grouping { + list redundancy-new { + key "name"; + leaf name { + type uint8 { + range "1..2"; + } + } + list mapping-id-new { + description + "Associate a mapping id to this mapping"; + key "name"; + leaf name { + type uint32 { + range "1..2147483647"; + } + } + uses ip-nat-pool-base-grouping; + } + } + uses ip-nat-pool-base-grouping; + } + + grouping ip-nat-pool-base-grouping { + list vrf-new { + description + "Specify vrf"; + key "name"; + leaf name { + type string; + } + leaf match-in-vrf-new { + description + "Match incoming vrf"; + type empty; + } + leaf overload-new { + description + "Overload an address translation"; + type empty; + } + container egress-interface { + description + "Specify interface for global address"; + uses ios-ifc:interface-grouping; + } + leaf track { + description + "Object tracker"; + type uint16 { + range "1..1000"; + } + } + } + leaf overload-new { + description + "Overload an address translation"; + type empty; + } + uses ip-nat-match-interface-grouping; + container egress-interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container egress-interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-deprecated-grouping; + } + leaf match-in-vrf-new { + description + "Match incoming vrf"; + type empty; + } + leaf extended-new { + description + "Overload extended"; + when '../overload-new'; + type empty; + } + leaf oer-new { + description + "Use with vtemplate only. On new translation, if OER BR is UP, + OER will select IP from outgoing Interface. + All packets matching translation are forwarded over Interface + for duration of translation."; + type empty; + } + leaf reversible-new { + description + "Allow out->in traffic"; + type empty; + } + } + + grouping ip-nat-interface-option-grouping { + list vrf-new { + description + "Specify vrf"; + key "name"; + leaf name { + type string; + } + uses ip-nat-interface-base-grouping; + } + uses ip-nat-interface-base-grouping; + } + + grouping ip-nat-interface-base-grouping { + leaf overload-new { + description + "Overload an address translation"; + type empty; + } + uses ip-nat-match-interface-grouping; + container egress-interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container egress-interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-deprecated-grouping; + } + leaf extended-new { + description + "Overload extended"; + when '../overload-new'; + type empty; + } + leaf oer-new { + description + "Use with vtemplate only. On new translation, if OER BR is UP, + OER will select IP from outgoing Interface. + All packets matching translation are forwarded over Interface + for duration of translation."; + when '../overload-new'; + type empty; + } + } + + grouping config-ip-nat-grouping { + container nat { + description + "NAT configuration commands"; + list pool { + description + "Define pool of addresses"; + key "id"; + leaf id { + type string; + } + leaf start-address { + type inet:ipv4-address; + } + leaf end-address { + when '../start-address'; + type inet:ipv4-address; + } + choice prefix-choice { + leaf netmask { + description + "Specify the network mask"; + type inet:ipv4-address; + } + leaf prefix-length { + description + "Specify the prefix length"; + type uint8 { + range "1..30"; + } + } + } + leaf accounting { + description + "Specify the accounting"; + type string; + } + choice nat-choice { + leaf arp-ping { + description + "WLAN ARP Ping"; + type empty; + } + leaf type { + description + "Specify the pool type"; + type enumeration { + enum match-host; + enum rotary; + } + } + leaf add-route { + description + "Add special route to Virtual Interface"; + type empty; + } + } + } + container inside { + description + "Inside address translation"; + container source { + description + "Source address translation"; + container list-pool { + list list { + description + "Specify access list describing local addresses"; + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + list pool { + description + "Name pool of global addresses"; + key "name"; + leaf name { + type string; + } + uses ip-nat-pool-option-grouping; + } + } + } + container list-interface { + list list { + description + "Specify access list describing local addresses"; + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + list interface { + description + "Specify interface for global address"; + key "name"; + leaf name { + type string; + must "not (starts-with(., 'Dialer')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Dialer interface must be created first and deleted last."; + } + must "not (starts-with(., 'Loopback')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Loopback interface must be created first and deleted last."; + } + must "not (starts-with(., 'Tunnel')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Tunnel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Port-channel')) or (/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]) or (/ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()])" { + error-message "Port-channel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Vlan')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Vlan interface must be created first and deleted last."; + } + must "not (starts-with(., 'LISP')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "LISP interface must be created first and deleted last."; + } + must "not (starts-with(., 'Virtual-Template')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Virtual-Template interface must be created first and deleted last."; + } + must "not (starts-with(., 'BDI')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BDI interface must be created first and deleted last."; + } + must "not (starts-with(., 'Ethernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Ethernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FastEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FastEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'GigabitEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "GigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TenGigabitEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TenGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FiveGigabitEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FiveGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwentyFiveGigE')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwentyFiveGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwoGigabitEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwoGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FortyGigabitEthernet')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FortyGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'HundredGigE')) or/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "HundredGigE interface must be created first and deleted last."; + } + } + uses ip-nat-interface-option-grouping; + } + } + } + list list { + status obsolete; + description + "(OBSOLETE) Specify access list describing local addresses"; + key "id"; + leaf id { + status obsolete; + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + uses config-ip-nat-source-list-pool-interface-grouping { + status obsolete; + } + } + list route-map { + description + "Specify route-map"; + key "route-map-name"; + leaf route-map-name { + description + "Route-map name"; + type string; + } + uses config-ip-nat-source-route-map-pool-interface-grouping; + } + container static { + description + "Specify static local->global mapping"; + list nat-static-transport-list-with-vrf { + key "local-ip global-ip vrf"; + leaf local-ip { + type inet:ipv4-address; + } + leaf global-ip { + type inet:ipv4-address; + } + leaf vrf { + description + "Specify vrf"; + type string; + } + leaf proto { + status obsolete; + type enumeration { + enum tcp; + enum udp; + } + } + leaf network-config { + description + "Subnet translation"; + type enumeration { + enum network; + } + } + leaf network { + description + "Subnet translation"; + status deprecated; + type empty; + } + leaf local-port { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf mask { + type union { + type inet:ipv4-address; + type string; + } + } + leaf global-port { + status obsolete; + type uint16 { + range "1..65535"; + } + } + container egress-interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container egress-interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-deprecated-grouping; + } + leaf extendable { + description + "Extend this translation when used"; + type empty; + } + leaf no-alias { + description + "Do not create an alias for the global address"; + type empty; + } + leaf match-in-vrf { + description + "Match incoming vrf"; + when '../vrf'; + type empty; + } + leaf no-payload { + description + "No translation of embedded address/port in the payload"; + type empty; + } + leaf route-map { + description + "Specify route-map"; + type string; + } + leaf reversible { + when '../route-map'; + type empty; + } + leaf redundancy { + description + "NAT redundancy operation"; + type union { + type uint8; + type string; + } + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + when '../redundancy'; + type uint32 { + range "1..2147483647"; + } + } + leaf stateless { + description + "No flow entries (session) for mapping"; + type empty; + } + uses config-ip-nat-source-static-transport-common-part-two-grouping; + leaf pool { + description + "Name pool of local addresses"; + type string; + } + leaf track { + description + "Object tracker"; + type uint16 { + range "1..1000"; + } + } + container garp-interface { + description + "Specify interface associated to the mapping"; + uses ios:interface-with-dependency-grouping; + } + } + list nat-static-transport-list-port-fwd { + key "protocol local-ip local-port global-ip global-port"; + leaf protocol { + type enumeration { + enum tcp; + enum udp; + } + } + leaf local-ip { + type inet:ipv4-address; + } + leaf local-port { + type uint16 { + range "1..65535"; + } + } + leaf global-ip { + type inet:ipv4-address; + } + leaf global-port { + type uint16 { + range "1..65535"; + } + } + leaf network { + description + "Subnet translation"; + type empty; + } + uses port-fwd-grouping; + uses config-ip-nat-source-static-transport-common-part-two-grouping; + leaf pool { + description + "Name pool of local addresses"; + type string; + } + } + list nat-static-transport-list-with-vrf-port-fwd { + key "protocol local-ip local-port global-ip global-port vrf"; + leaf protocol { + type enumeration { + enum tcp; + enum udp; + } + } + leaf local-ip { + type inet:ipv4-address; + } + leaf local-port { + type uint16 { + range "1..65535"; + } + } + leaf global-ip { + type inet:ipv4-address; + } + leaf global-port { + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Specify vrf"; + type string; + } + leaf network { + description + "Subnet translation"; + type empty; + } + uses port-fwd-grouping; + leaf match-in-vrf { + description + "Match incoming vrf"; + when '../vrf'; + type empty; + } + uses config-ip-nat-source-static-transport-common-part-two-grouping; + leaf pool { + description + "Name pool of local addresses"; + type string; + } + } + list nat-static-transport-list { + key "local-ip global-ip"; + leaf local-ip { + type inet:ipv4-address; + } + leaf global-ip { + type inet:ipv4-address; + } + uses config-ip-nat-source-static-transport-common-part-one-grouping; + uses config-ip-nat-source-static-transport-common-part-two-grouping; + leaf pool { + description + "Name pool of local addresses"; + type string; + } + } + list nat-static-proto-transport-interface-list { + key "proto local-ip local-port"; + leaf proto { + type enumeration { + enum tcp; + enum udp; + } + } + leaf local-ip { + type inet:ipv4-address; + } + leaf local-port { + type uint16 { + range "1..65535"; + } + } + container interface-new { + description + "Specify interface for global address"; + uses ios:interface-with-dependency-grouping; + } + container interface { + description + "Specify interface for global address"; + status deprecated; + uses ios-ifc:interface-grouping; + } + leaf global-port { + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Specify vrf"; + type string; + } + container egress-interface { + description + "egress interface associated to this mapping"; + uses ios:interface-with-dependency-grouping; + } + } + list nat-static-transport-interface-list { + key "local-ip"; + leaf local-ip { + type inet:ipv4-address; + } + container interface { + description + "Specify interface for global address"; + uses ios-ifc:interface-grouping; + } + } + } + } + container destination { + description + "Destination address translation"; + list list { + description + "Specify access list describing global addresses"; + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + leaf pool { + description + "Name pool of local addresses"; + type string; + } + leaf redundancy { + description + "NAT redundancy operation"; + type uint8 { + range "1..2"; + } + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + type uint32 { + range "1..2147483647"; + } + } + } + } + } + container outside { + description + "Outside address translation"; + container source { + description + "Source address translation"; + container static { + description + "Specify static global->local mapping"; + list nat-static-transport-list-no-vrf { + key "global-ip local-ip"; + leaf global-ip { + type inet:ipv4-address; + } + leaf local-ip { + type inet:ipv4-address; + } + leaf network { + description + "Subnet translation"; + type enumeration { + enum network; + } + } + leaf mask { + type union { + type inet:ipv4-address; + type string; + } + } + leaf extendable { + description + "Extend this translation when used"; + type empty; + } + leaf no-payload { + description + "No translation of embedded address/port in the payload"; + type empty; + } + leaf redundancy { + description + "NAT redundancy operation"; + type union { + type uint8; + type string; + } + } + leaf match-in-vrf { + description + "Match incoming vrf"; + type empty; + } + leaf pool { + description + "Name pool of local addresses"; + type string; + } + } + list nat-static-transport-list-with-vrf { + key "global-ip local-ip vrf"; + leaf global-ip { + type inet:ipv4-address; + } + leaf local-ip { + type inet:ipv4-address; + } + leaf vrf { + type string; + } + leaf network { + description + "Subnet translation"; + type enumeration { + enum network; + } + } + leaf mask { + type union { + type inet:ipv4-address; + type string; + } + } + leaf extendable { + description + "Extend this translation when used"; + type empty; + } + leaf no-payload { + description + "No translation of embedded address/port in the payload"; + type empty; + } + leaf redundancy { + description + "NAT redundancy operation"; + type union { + type uint8; + type string; + } + } + leaf match-in-vrf { + description + "Match incoming vrf"; + type empty; + } + leaf pool { + description + "Name pool of local addresses"; + type string; + } + } + list nat-static-transport-list { + status obsolete; + key "global-ip local-ip"; + leaf global-ip { + status obsolete; + type inet:ipv4-address; + } + leaf local-ip { + status obsolete; + type inet:ipv4-address; + } + leaf vrf { + status obsolete; + description + "(OBSOLETE) Specify vrf"; + type string; + } + leaf extendable { + status obsolete; + description + "(OBSOLETE) Extend this translation when used"; + type empty; + } + leaf no-payload { + status obsolete; + description + "(OBSOLETE) No translation of embedded address/port in the payload"; + type empty; + } + leaf match-in-vrf { + status obsolete; + description + "(OBSOLETE) Match incoming vrf"; + type empty; + } + } + } + container list-pool { + list list { + description + "Specify access list describing global addresses"; + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + list pool { + description + "Name pool of global addresses"; + key "name"; + leaf name { + type leafref { + path "/ios:native/ios:ip/ios-nat:nat/ios-nat:pool/ios-nat:id"; + } + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + type uint32 { + range "1..2147483647"; + } + } + leaf vrf { + description + "Specify vrf"; + type string; + } + leaf overload { + description + "overload an address translation"; + type empty; + } + leaf match-in-vrf { + description + "Match incoming vrf"; + type empty; + } + leaf add-route { + description + "Add a static route for outside local address"; + type empty; + } + } + } + } + } + list list { + description + "Specify access list describing global addresses"; + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + leaf pool { + description + "Name pool of local addresses"; + type string; + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + type uint32 { + range "1..2147483647"; + } + } + leaf vrf { + description + "Specify vrf"; + type string; + } + leaf add-route { + description + "Add a static route for outside local address"; + type empty; + } + } + list route-map { + description + "Specify route-map"; + key "id"; + leaf id { + type string; + } + leaf pool { + description + "Name pool of local addresses"; + type string; + } + leaf mapping-id { + description + "Associate a mapping id to this mapping"; + type uint32 { + range "1..2147483647"; + } + } + leaf vrf { + description + "Specify vrf"; + type string; + } + leaf add-route { + description + "Add a static route for outside local address"; + type empty; + } + } + } + container translation { + container dns-timeout { + description + "Specify timeout for NAT DNS flows"; + uses ip-nat-translation-timeout-grouping; + } + container finrst-timeout { + description + "Specify timeout for NAT TCP flows after a FIN or RST"; + uses ip-nat-translation-timeout-grouping; + } + container icmp-timeout { + description + "Specify timeout for NAT ICMP flows"; + uses ip-nat-translation-timeout-grouping; + } + container routemap-entry-timeout { + description + "Specify timeout for routemap created half entry"; + uses ip-nat-translation-timeout-grouping; + } + container syn-timeout { + description + "Specify timeout for NAT TCP flows after a SYNand no further data"; + uses ip-nat-translation-timeout-grouping; + } + container tcp-timeout { + description + "Specify timeout for NAT TCP/UDP port specific flows"; + uses ip-nat-translation-timeout-grouping; + } + container timeout { + description + "Specify timeout for dynamic NAT translations"; + uses ip-nat-translation-timeout-grouping; + } + container udp-timeout { + description + "Specify timeout for NAT UDP flows"; + uses ip-nat-translation-timeout-grouping; + } + container port-timeout { + description + "Specify timeout for NAT TCP/UDP port specific flows"; + container tcp-timeout { + list tcp-list { + key "port-numer"; + leaf port-numer { + description + "Port number"; + type uint16 { + range "1..63535"; + } + } + choice timeout { + leaf time-val { + description + "Timeout in seconds"; + type uint32 { + range "0..536870"; + } + } + leaf never { + description + "Never timeout"; + type empty; + } + } + } + } + container udp-timeout { + list udp-list { + key "port-numer"; + leaf port-numer { + description + "Port number"; + type uint16 { + range "1..63535"; + } + } + choice timeout { + leaf time-val { + description + "Timeout in seconds"; + type uint32 { + range "0..536870"; + } + } + leaf never { + description + "Never timeout"; + type empty; + } + } + } + } + container tcp { + status deprecated; + description + "TCP protocol"; + uses ip-nat-translation-port-number-grouping; + } + container udp { + status deprecated; + description + "UDP protocol"; + uses ip-nat-translation-port-number-grouping; + } + } + container pptp-timeout { + description + "Timeout configuration for NAT PPTP flows"; + choice timeout { + case timeval-case { + leaf time-val { + description + "Timeout in seconds"; + type uint32 { + range "0..536870"; + } + } + } + case never-case { + leaf never { + description + "Never timeout"; + type empty; + } + } + } + } + container max-entries { + description + "Specify maximum number of NAT entries"; + list host { + description + "Specify per-host NAT entry limit"; + key "host-ip"; + leaf host-ip { + type inet:ipv4-address; + } + leaf number-of-entries { + description + "Number of entries"; + type uint32 { + range "1..2147483647"; + } + } + } + leaf num-entries { + description + "Number of entries"; + type uint32 { + range "1..2147483637"; + } + } + leaf all-host { + description + "Specify maximum number of NAT entries for each host"; + type uint32 { + range "1..2147483637"; + } + } + leaf all-vrf { + description + "Specify maximum number of NAT entries for each vrf"; + type uint32 { + range "1..2147483637"; + } + } + list redundancy { + description + "Specify maximum number of NAT entries for RG"; + ordered-by user; + key "id"; + leaf id { + type enumeration { + enum 1; + enum 2; + } + } + leaf num-entries { + description + "Number of entries"; + type uint32 { + range "1..2147483637"; + } + } + } + list list { + description + "Specify access list based NAT entry limit"; + key "id"; + leaf id { + type union { + type uint32 { + range "1..199"; + } + type string; + } + } + leaf num-entries { + description + "Number of entries"; + type uint32 { + range "1..2147483637"; + } + } + } + list vrf { + description + "Specify per-VRF NAT entry limit"; + key "id"; + leaf id { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf num-entries { + description + "Number of entries"; + type uint32 { + range "1..2147483637"; + } + } + } + list tenant { + if-feature "ios-features:sdwan"; + description + "Specify per-TENANT NAT entry limit"; + key "name"; + leaf name { + type string { + length "1..128"; + pattern '[^#$]*'; + } + } + leaf num-entries { + description + "Number of entries"; + mandatory true; + type uint32 { + range "1..2147483637"; + } + } + } + } + } + list route { + description + "Establish NAT static routes"; + ordered-by user; + key "vrf ipaddr mask"; + leaf vrf { + description + "Configure NAT static route for a VPN Routing/Forwarding instance"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)) or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF must be created first, deleted last"; + } + type string; + } + leaf ipaddr { + description + "IP address"; + type inet:ipv4-address; + } + leaf mask { + description + "Network mask"; + type inet:ipv4-address; + } + leaf global { + description + "Next hop address is global"; + type empty; + } + } + container settings { + description + "NAT general settings"; + leaf fbd { + description + "Enable flow based distribution in NAT for performance"; + type empty; + } + leaf log-destination { + description + "Destination IP logging in CGN mode"; + type empty; + } + leaf reserve-ports { + description + "Reserve 45000 ports for NAT during bootup"; + type empty; + } + leaf preserve-sdwan-ports { + description + "Preserve SDWAN ports while establishing session"; + type empty; + } + leaf central-policy { + description + "centralized policy"; + type empty; + } + container mode { + description + "NAT operating mode"; + choice choice-mode { + leaf cgn { + description + "The carrier grade NAT operating mode"; + type empty; + } + leaf default { + description + "The default NAT operating mode"; + type empty; + } + } + } + container cfg-check { + description + "NAT setting for configuration removal check"; + leaf static-map-removal { + description + "static map removal"; + type empty; + } + } + leaf gatekeeper-size { + description + "Gatekeeper cache size"; + type uint32 { + range "512..1048576"; + } + } + leaf nonpatdrop { + description + "Drop non PAT packets"; + type empty; + } + leaf high-performance { + description + "enable NAT high performance call setup rate"; + type empty; + } + leaf nonpatlog-disable { + description + "Disable non PAT log"; + type empty; + } + container trans-err-limit { + description + "Log rate limit for translation error"; + leaf per-ip-pool { + description + "per client address and pool"; + type uint16 { + range "1..10080"; + } + } + } + container pool { + description + "Pool related settings"; + container watermark { + description + "Specify high/low watermark"; + leaf high { + description + "high watermark percentage"; + type uint32 { + range "1..100"; + } + } + leaf low { + description + "low watermark percentage"; + type uint32 { + range "1..100"; + } + } + } + } + container scale { + description + "Increase NAT scale"; + leaf bind { + description + "Scale bind"; + type empty; + } + } + container support { + description + "NAT configuration support"; + container mapping { + description + "NAT mapping configuration support"; + leaf outside { + description + "NAT outside mapping configuration support."; + type empty; + } + } + } + container pap { + description + "NAT paired address pooling"; + presence "true"; + leaf limit { + description + "Limit of the number of local addresses per global address"; + type enumeration { + enum 1000; + enum 120; + enum 250; + enum 30; + enum 500; + enum 60; + } + } + choice bpa-pool-choice { + case bpa-case { + leaf bpa { + description + "NAT bulk port allocation"; + type empty; + } + leaf set-size { + description + "Number of ports in each port block"; + when '../bpa'; + type enumeration { + enum 128; + enum 256; + enum 512; + enum 64; + enum 1024; + } + } + leaf step-size { + description + "Port step size"; + type enumeration { + enum 1; + enum 2; + enum 4; + enum 8; + enum 16; + } + } + leaf single-set { + description + "Indicates that a user is restricted to a single port set"; + type empty; + } + } + case pool-case { + leaf pool { + description + "Indicates that a user is restricted to a pool PAP"; + type empty; + } + } + } + } + container interface-overload { + description + "Port setting for interface overload mappings"; + container block { + description + "Block a Port"; + container port { + description + "High port"; + leaf-list tcp { + description + "Transmission Control Protocol"; + type uint32 { + range "1024..65535"; + } + } + leaf-list udp { + description + "User Datagram Protocol"; + type uint32 { + range "1024..65535"; + } + } + } + } + container port { + description + "Block a Port"; + container range { + description + "High port range"; + leaf start { + type uint32 { + range "1024..65536"; + } + } + leaf end { + type uint32 { + range "1024..65536"; + } + } + } + } + } + } + container create { + description + "Create flow entries"; + leaf flow-entries { + description + "NAT create flow based entries"; + type empty; + } + } + container switchover { + description + "Session replication"; + container replication { + description + "Session replication"; + container http { + description + "HTTP session replication"; + presence "true"; + leaf port { + description + "port"; + type uint32 { + range "1..65535"; + } + } + } + } + } + container service { + description + "Special translation for application using non-standard port"; + leaf H225 { + description + "H.225 protocol"; + type empty; + } + leaf all-algs { + description + "Enable all NAT Application Level Gateways"; + type empty; + } + container dns { + description + "DNS protocol"; + leaf tcp { + description + "TCP protocol"; + type empty; + } + leaf udp { + description + "UDP protocol"; + type empty; + } + } + leaf dns-reset-ttl { + description + "Reset dns canonical name ttl value"; + type empty; + } + container dns-v6-config { + description + "dns v6 packet processing"; + presence "true"; + leaf list { + description + "Specify IPv6 access list describing DNS server addresses"; + type string; + } + } + leaf dns-v6 { + status obsolete; + description + "(OBSOLETE) dns v6 packet processing"; + type empty; + } + leaf ftp { + description + "ftp protocol"; + type empty; + } + container fullrange { + description + "allocate all available port of 1024 to 65535"; + container tcp { + description + "TCP protocol"; + leaf-list port { + description + "TCP port number"; + type uint16 { + range "1..511"; + } + } + } + container udp { + description + "UDP protocol"; + leaf-list port { + description + "UDP port number"; + type uint16 { + range "1..511"; + } + } + } + } + leaf gatekeeper-new { + description + "Gatekeeper protocol"; + type boolean; + default "true"; + } + leaf gatekeeper { + description + "Gatekeeper protocol"; + status deprecated; + type empty; + } + container ipsec-esp { + description + "ipsec esp packet processing options"; + leaf enable { + description + "enable esp processing"; + type empty; + } + } + leaf ldap { + description + "LDAP protocol"; + type empty; + } + container modify-in-progress { + description + "Packet processing options when config is being modified and/or cleared"; + leaf drop { + description + "Drop all NAT packets when a modify is in progress"; + type empty; + } + } + container list { + list esp-ike-list { + description + "Specify access list describing global addresses"; + key "type"; + leaf type { + type enumeration { + enum ESP; + enum IKE; + } + } + leaf acl { + mandatory true; + type union { + type uint32 { + range "1..2699"; + } + type string; + } + } + leaf spi-match { + when "../type = 'ESP'"; + description + "SPI matching IPsec passthrough"; + type empty; + } + leaf preserve-port { + when "../type = 'IKE'"; + description + "preserve IKE port, as required by some IPsec servers"; + type empty; + } + } + list ftp-list { + description + "Specify access list describing global addresses"; + key "id"; + leaf id { + type union { + type uint32 { + range "1..2699"; + } + type string; + } + } + container ftp { + description + "ftp protocol"; + container tcp { + description + "TCP protocol"; + leaf-list port { + description + "TCP port number"; + type uint32 { + range "1..65535"; + } + } + } + } + } + } + container msrpc { + description + "MS-RPC protocol"; + leaf tcp { + description + "TCP protocol"; + type empty; + } + } + leaf multi-wan-link { + description + "multiple wan link support for outside interface"; + type empty; + } + leaf netbios-dgm { + description + "NetBios datagram protocol"; + type empty; + } + container netbios-ns { + description + "NetBios name protocol"; + leaf tcp { + description + "TCP protocol"; + type empty; + } + leaf udp { + description + "UDP protocol"; + type empty; + } + } + leaf netbios-ssn { + description + "NetBios session protocol"; + type empty; + } + leaf pptp { + description + "Point-to-Point Tunneling protocol"; + type empty; + } + leaf ras { + description + "H323-RAS protocol"; + type empty; + } + leaf rcmd { + description + "RCMD protocol"; + type empty; + } + container rtsp { + description + "RTSP protocol"; + leaf tcp { + description + "TCP protocol"; + type empty; + } + leaf udp { + description + "UDP protocol"; + type empty; + } + } + container sip { + description + "SIP protocol"; + container tcp { + description + "TCP protocol"; + leaf-list port { + description + "TCP port number"; + type uint32 { + range "1..65535"; + } + } + } + container udp { + description + "UDP protocol"; + leaf-list port { + description + "UDP port number"; + type uint32 { + range "1..65535"; + } + } + } + } + container skinny { + description + "skinny protocol"; + container tcp { + description + "TCP protocol"; + leaf-list port { + description + "TCP port number"; + type uint32 { + range "1..65535"; + } + } + } + } + leaf tftp { + description + "TFTP Protocol"; + type empty; + } + container sunrpc { + description + "Enable SUN RPC protocol"; + leaf tcp { + description + "TCP protocol"; + type empty; + } + leaf udp { + description + "UDP protocol"; + type empty; + } + } + } + container log { + description + "NAT Logging"; + must '(count(/ios:native/ios:ip/ios-nat:nat/ios-nat:log/ios-nat:translations/ios-nat:flow-export/ios-nat:v9/ios-nat:udp/ios-nat:destination) + count(/ios:native/ios:ip/ios-nat:nat/ios-nat:log/ios-nat:translations/ios-nat:flow-export/ios-nat:v9/ios-nat:udp/ios-nat:destination-vrf/ios-nat:destination) + count(/ios:native/ios:ip/ios-nat:nat/ios-nat:log/ios-nat:translations/ios-nat:flow-export/ios-nat:v9/ios-nat:udp/ios-nat:ipv6-destination) + count(/ios:native/ios:ip/ios-nat:nat/ios-nat:log/ios-nat:translations/ios-nat:flow-export/ios-nat:v9/ios-nat:udp/ios-nat:ipv6-destination-vrf/ios-nat:ipv6-destination) ) <= 4' { + error-message "ip nat log translations flow-export can only configure upto 4 different destination combinations"; + } + container translations { + description + "NAT Logging Translations"; + choice syslog-or-flow-export { + case syslog-choice { + container syslog { + description + "NAT log translations using syslog"; + presence "true"; + leaf bind-only { + description + "Log NAT binding translations only"; + type empty; + } + } + } + case flow-export-choice { + container flow-export { + description + "NAT log translations using flow export"; + container v9 { + description + "Exporter version 9 format"; + container udp { + description + "UDP protocol"; + list destination { + description + "netflow record export destination"; + key "address port"; + leaf address { + description + "IP address"; + type inet:ipv4-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + uses nat-log-dest-grouping; + } + container destination-vrf { + list destination { + description + "netflow record export destination"; + key "address port vrf"; + leaf address { + description + "IP address"; + type inet:ipv4-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Optional VRF label"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + uses nat-log-dest-grouping; + } + } + list ipv6-destination { + description + "netflow record export destination"; + key "address port"; + leaf address { + description + "IP address"; + type inet:ipv6-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + uses nat-log-dest-grouping; + } + container ipv6-destination-vrf { + list ipv6-destination { + description + "netflow record export destination"; + key "address port vrf"; + leaf address { + description + "IP address"; + type inet:ipv6-address; + } + leaf port { + description + "Valid Port Number"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Optional VRF label"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + uses nat-log-dest-grouping; + } + } + } + } + } + } + } + } + } + container dia { + if-feature "ios-features:sdwan"; + description + "NAT DIA Configuration"; + list track-enable { + description + "Specify dynamic track to create track object for DIA"; + key "id"; + leaf id { + type uint16 { + range "1..65534"; + } + } + } + } + } + } + + grouping config-nat66-grouping { + container nat66 { + description + "NAT66 configuration commands"; + container prefix { + description + "NAT66 prefix"; + container inside-no-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx"; + leaf inside-pfx { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf outside { + description + "outside prefix"; + type union { + type ios-types:ipv6-prefix; + type string; + } + } + } + } + container inside-with-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx vrf"; + leaf inside-pfx { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf vrf { + description + "VPN Routing/Forwarding parameter"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + leaf outside { + description + "outside prefix"; + type union { + type ios-types:ipv6-prefix; + type string; + } + } + } + } + list inside { + status deprecated; + description + "inside prefix"; + key "inside-pfx"; + leaf inside-pfx { + status deprecated; + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf outside { + status deprecated; + description + "outside prefix"; + type ios-types:ipv6-prefix; + } + } + container inside-with-egress-no-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx egress-interface"; + leaf inside-pfx { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + leaf outside { + description + "outside prefix"; + type union { + type inet:ipv6-prefix; + type string; + } + } + leaf egress-interface { + description + "egress interface associated to this mapping"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + } + } + container inside-with-egress-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx vrf egress-interface"; + leaf inside-pfx { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + leaf vrf { + description + "VPN Routing/Forwarding parameter"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + leaf outside { + description + "outside prefix"; + type union { + type inet:ipv6-prefix; + type string; + } + } + leaf egress-interface { + description + "egress interface associated to this mapping"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + } + } + container inside-with-interface-no-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx interface"; + leaf inside-pfx { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + leaf outside { + description + "outside prefix"; + type empty; + } + leaf interface { + description + "egress interface associated to this mapping"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + } + } + container inside-with-interface-vrf { + list inside { + description + "inside prefix"; + key "inside-pfx interface vrf"; + leaf inside-pfx { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + leaf outside { + description + "outside prefix"; + type empty; + } + leaf interface { + description + "egress interface associated to this mapping"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + leaf vrf { + description + "VPN Routing/Forwarding parameter"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + } + } + } + list route { + description + "Establish NAT64 DIA routes"; + key "vrf ipv6-prefix"; + leaf vrf { + description + "Configure NAT64 DIA route for a VPN Routing/Forwarding instance"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)" { + error-message "IPV6 VRF must be created first, deleted last"; + } + type string; + } + leaf ipv6-prefix { + description + "IPV6 prefix"; + type ios-types:ipv6-prefix; + } + leaf global { + description + "Next hop address is global"; + type empty; + } + } + container nd { + leaf enable { + type boolean; + default "true"; + } + } + leaf max-vpn { + type uint8 { + range "1..250"; + } + } + leaf outside { + status deprecated; + type empty; + } + } + } + + grouping config-interface-nat66-grouping { + leaf nat66 { + description + "NAT66 interface commands"; + type enumeration { + enum inside; + enum outside; + } + } + } + + grouping config-interface-nat64-grouping { + container nat64 { + description + "NAT64 interface commands"; + container settings { + description + "NAT64 settings"; + container mtu { + description + "NAT64 mtu"; + leaf minimum { + description + "Minimum MTU value"; + type uint16 { + range "1281..1500"; + } + } + } + } + leaf enable { + description + "Enable NAT64 on interface"; + type empty; + } + container prefix { + description + "NAT64 stateful prefix"; + container stateful { + description + "NAT64 prefix stateful"; + leaf ipv6-prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf vrf { + status obsolete; + description + "Configure NAT static route for a VPN Routing/Forwarding instance"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)) or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF must be created first, deleted last"; + } + type string; + } + } + } + } + } + + grouping config-nat64-v6v4-map-base-grouping { + list vrf { + description + "Specify vrf"; + key "name"; + leaf name { + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)) or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF must be created first, deleted last"; + } + type string; + } + leaf overload { + description + "Overload an address translation"; + type empty; + } + } + leaf overload { + description + "Overload an address translation"; + type empty; + } + } + + grouping config-nat64-v6v4-map-grouping { + choice pool-or-interface { + case pool-choice { + list pool { + description + "Name pool of global addresses"; + key "name"; + leaf name { + type string; + } + uses config-nat64-v6v4-map-base-grouping; + } + } + case interface-choice { + list interface { + description + "Specify interface for global address"; + key "name"; + leaf name { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()] or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]' { + error-message "Interface must be created first and deleted last."; + } + type string; + } + list vrf { + status obsolete; + description + "(OBSOLETE) Specify vrf"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf overload { + status obsolete; + description + "(OBSOLETE) Overload an address translation"; + type empty; + } + } + leaf overload { + description + "Overload an address translation"; + type empty; + } + } + } + } + } + + grouping config-nat64-grouping { + container nat64 { + description + "NAT64 configuration commands"; + container settings { + description + "NAT64 settings"; + container fragmentation { + description + "NAT64 settings fragmentation"; + container header { + description + "NAT64 settings fragmentation header"; + leaf disable { + description + "Disable fragmentation header"; + type empty; + } + } + } + container v4 { + description + "IPv4 Settings"; + container tos { + description + "Type of Service header"; + leaf ignore { + description + "Do not copy Type of Service header"; + type empty; + } + } + } + } + container provisioning { + description + "NAT64 provisioning"; + container mode { + description + "NAT64 provisioning mode"; + container jp01 { + description + "NAT64 provisioning mode jp01"; + container address-resolution-server { + description + "nat64 address resolution server"; + container url { + description + "nat64 address resolution server url"; + leaf encryption { + description + "Specifies an ENCRYPTED address resolution server"; + type enumeration { + enum 2; + enum 6; + } + } + leaf string { + description + "HTTP url (1-200) characters"; + type string; + } + } + container password { + description + "Specifies password for Address Resolution Server"; + leaf encryption { + description + "Specifies an ENCRYPTED address resolution server password"; + type enumeration { + enum 2; + enum 6; + } + } + leaf password { + description + "Address Resolution Server Password (1-200) characters"; + type string; + } + } + container username { + description + "Specifies password for Address Resolution Server"; + leaf encryption { + description + "Specifies an ENCRYPTED address resolution server Username"; + type enumeration { + enum 2; + enum 6; + } + } + leaf name { + description + "Address Resolution Server Username (1-200) characters"; + type string; + } + } + } + container api-key { + description + "nat64 api key"; + leaf encryption { + description + "Specifies an ENCRYPTED api key"; + type enumeration { + enum 2; + enum 6; + } + } + leaf key { + description + "<12 - 80> plain ascii characters"; + type string; + } + } + container rule-server { + description + "nat64 address resolution server url"; + container url { + description + "nat64 rule server url"; + leaf encryption { + description + "Specifies an ENCRYPTED rule server"; + type enumeration { + enum 2; + enum 6; + } + } + leaf string { + description + "HTTP url (1-200) characters"; + type string; + } + } + container request { + description + "rule server request wait time"; + leaf wait-time { + description + "wait time in seconds"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf hostname { + description + "hostname"; + type string; + } + container version { + description + "NAT64 provisioning version"; + leaf draft-ietf-softwire-map-03 { + description + "draft-ietf-softwire-map-03"; + type empty; + } + } + container tunnel { + description + "NAT64 provisioning tunnel"; + container interface { + description + "tunnel interface"; + uses ios-ifc:interface-grouping; + } + container source { + description + "tunnel interface"; + uses ios-ifc:interface-grouping; + } + } + list service-prefix { + description + "IPv6 prefix"; + key "ipv6-prefix"; + leaf ipv6-prefix { + description + "IPv6 prefix/length"; + type ios-types:ipv6-prefix; + } + } + } + } + } + container v4 { + description + "IPv4 configuration"; + list pool { + description + "Define pool of addresses"; + key "pool-name"; + leaf pool-name { + description + "NAT64 pool"; + type string; + } + leaf start-address { + description + "Starting address of pool address range"; + type inet:ipv4-address; + } + leaf end-address { + description + "Ending address of pool address range"; + when '../start-address'; + type inet:ipv4-address; + } + } + } + container v6v4 { + description + "IPv6 to IPv4 mapping"; + container list { + description + "Specify access list describing local addresses"; + list list { + key "id"; + leaf id { + type union { + type uint16 { + range "1..2699"; + } + type string; + } + } + uses config-nat64-v6v4-map-grouping; + } + } + container static { + container ipv6address { + list ipv6address { + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf ipv4-address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + } + } + container tcp { + list tcp { + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf v6-port-number { + description + "TCP v6 port"; + type uint16 { + range "1..65535"; + } + } + leaf ipv4-address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf v4-port-number { + description + "TCP v4 port"; + type uint16 { + range "1..65535"; + } + } + } + } + container udp { + list udp { + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf v6-port-number { + description + "UDP v6 port"; + type uint16 { + range "1..65535"; + } + } + leaf ipv4-address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf v4-port-number { + description + "UDP v4 port"; + type uint16 { + range "1..65535"; + } + } + } + } + } + } + container v4v6 { + description + "IPv4 to IPv6 mapping"; + container static { + container ipv4address { + list ipv4address { + key "ipv4-address"; + leaf ipv4-address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + } + } + container tcp { + list tcp { + key "ipv4-address"; + leaf ipv4-address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf v4-port-number { + description + "TCP v4 port"; + type uint16 { + range "1..65535"; + } + } + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf v6-port-number { + description + "TCP v6 port"; + type uint16 { + range "1..65535"; + } + } + } + } + container udp { + list udp { + key "ipv4-address"; + leaf ipv4-address { + description + "IPv6 Address"; + type inet:ipv4-address; + } + leaf v4-port-number { + description + "UDP v4 port"; + type uint16 { + range "1..65535"; + } + } + leaf ipv6-address { + description + "IPv6 Address"; + type inet:ipv6-address; + } + leaf v6-port-number { + description + "UDP v6 port"; + type uint16 { + range "1..65535"; + } + } + } + } + } + } + container prefix { + description + "NAT64 prefix"; + container stateful { + description + "NAT64 stateful prefix"; + leaf ipv6-prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + } + container stateful-with-vrf { + list stateful { + description + "NAT64 stateful prefix"; + key "vrf"; + leaf vrf { + description + "Specify vrf"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)) or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF must be created first, deleted last"; + } + type string; + } + leaf ipv6-prefix { + description + "IPv6 prefix"; + type ios-types:ipv6-prefix; + } + } + } + container stateless { + description + "NAT64 stateless prefix"; + leaf ipv6-prefix { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + } + container stateless-with-vrf { + list stateless { + description + "NAT64 stateless prefix"; + key "ipv4-prefix vrf"; + leaf ipv4-prefix { + description + "IPv4 prefix"; + type inet:ipv4-prefix; + } + leaf vrf { + description + "Specify vrf"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or + (/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)) or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF must be created first, deleted last"; + } + type string; + } + leaf ipv6-prefix { + description + "IPv6 prefix"; + type inet:ipv6-prefix; + } + leaf add-route { + description + "Add IPV4 prefix to routing table"; + type empty; + } + leaf global { + description + "IPV6 global routing table"; + type empty; + } + } + } + } + container translation { + container timeout { + container bind { + description + "Specify the timeout for NAT64 binds"; + uses ip-nat-translation-timeout-grouping; + } + container icmp { + description + "Specify the timeout for NAT64 ICMP flows"; + uses ip-nat-translation-timeout-grouping; + } + container tcp { + description + "Specify the timeout for NAT64 TCP flows"; + uses ip-nat-translation-timeout-grouping; + } + container tcp-transient { + description + "Specify the timeout for NAT64 transient TCP flows"; + uses ip-nat-translation-timeout-grouping; + } + container udp { + description + "Specify the timeout for NAT64 UDP flows"; + uses ip-nat-translation-timeout-grouping; + } + } + container max-entries { + description + "Specify maximum number of NAT entries"; + leaf max-entries { + type uint32 { + range "1..2147483647"; + } + } + } + } + container route-new { + description + "Establish NAT64 DIA routes"; + list ipv4-prefix { + description + "IPV4 prefix/length"; + key "ipv4"; + leaf ipv4 { + description + "IPV4 prefix/length"; + type inet:ipv4-prefix; + } + container interface { + description + "Egress interface"; + uses ios:interface-with-dependency-grouping; + } + } + list vrf { + key "vrf-name ipv6-prefix"; + leaf vrf-name { + description + "Configure NAT64 DIA route for a VPN Routing/Forwarding instance"; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)" { + error-message "IPV6 VRF must be created first, deleted last"; + } + type string; + } + leaf ipv6-prefix { + description + "IPV6 prefix"; + type ios-types:ipv6-prefix; + } + leaf global { + description + "Next hop address is global"; + type empty; + } + } + } + list route { + description + "Establish NAT64 DIA routes"; + status deprecated; + key "vrf ipv6-prefix"; + leaf vrf { + description + "Configure NAT64 DIA route for a VPN Routing/Forwarding instance"; + status deprecated; + must "(/ios:native/ios:vrf/ios:definition[ios:name=current()] and + /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv6)" { + error-message "IPV6 VRF must be created first, deleted last"; + } + type string; + } + leaf ipv6-prefix { + description + "IPV6 prefix"; + status deprecated; + type ios-types:ipv6-prefix; + } + leaf global { + description + "Next hop address is global"; + type empty; + status deprecated; + } + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native" { + uses config-nat66-grouping; + } + + augment "/ios:native" { + uses config-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-nat66-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip" { + uses config-interface-ip-nat-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-nat64-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-nat64-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-native.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-native.yang new file mode 100644 index 000000000..36eab54be --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-native.yang @@ -0,0 +1,6693 @@ +module Cisco-IOS-XE-native { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-native"; + prefix ios; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + include Cisco-IOS-XE-parser; + include Cisco-IOS-XE-license; + include Cisco-IOS-XE-line; + include Cisco-IOS-XE-logging; + include Cisco-IOS-XE-ip; + include Cisco-IOS-XE-ipv6; + include Cisco-IOS-XE-interfaces; + include Cisco-IOS-XE-hsrp; + include Cisco-IOS-XE-location; + include Cisco-IOS-XE-transceiver-monitor; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "NED YANG module for IOS-XE + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added new leaf for 'scheduler interval ' + - Added CLNS yang model + - Added options for monitor trace events + - Added filter access-group in erspan-src for routing platform + - Added support configure file privilege level + - Added options for monitor trace events for EIGRP + - Added support for ARP Events + - Added support for IPv6 Neighbor Discovery + - Added Monitor log drop support for Unicast Reverse Path Forwarding + - Added support for redundancy group VPN mapping + - Added support for Redundancy Group (RG) State change tracking + - Added support for Customer Premise Equipment Wide Area Network + Management Protocol module commands + - Added model support for login password-warning-interval + - Moved deprecated eap profile method fast to obsolete + - Obsolete nodes flash-list and filename-list + - Added independent boolean node for 'monitor event-trace eigrp perf-events' + - Added support for redundancy group init-role active/standby + - Added tailf annotation delete-container-on-delete for stack depth + - Added support for Redundancy group (RG) leaf shutdown + - Added CEM interface range + - Added support for process cpu statistics commands + - Added support for process cpu extended history + - Added support for log record in archive + - Added source vlan container to deprecated list and modified container to list + - Added source vlan container to deprecated list and modified container to list + - Added tailf remove-before-change using refine for redundancy asymmetric-routing interface + - Added support for eco mode commands + - Added support for 'redundancy group init-role path optimization and preference change' + - Added range for monitor session remote destination vlan + - Added tailf remove-before-change for redundancy control and data interface + - Added periodic cli model + - Added tailf remove-before-change for username list + - Added refine and tailf for line transport input ssh group + - Deprecated all leaf from errdisable recovery cause container + - Added support for monitor event-trace of ATOM + - Added support for monitor event-trace of L2FIB + - Changed the range for exception crashinfo maximum files + - Modify the constraint for hidekeys"; + cisco-semver:module-version "15.0.0"; + } + revision 2024-03-01 { + description + "- Add support for redundancy port and media type + - Added support for RG yang models + - Added support for tftp-server harddisk + - Added support for l2tp commands + - Deprecated hidekeys and added hidekeys-new to support default + - Added support for subscriber commands + - Changed deprecated nodes under redundancy model to obsolete, removed relevant entries + - Obsolete standby redirect command + - Obsolete nodes related to synce deprecated before 17.6 + - Changed deprecated related to x25 nodes to obsolete"; + cisco-semver:module-version "14.0.0"; + } + revision 2023-11-01 { + description + "- Initial revision for 17.13 + - Added hardening support for multiple commands on TwentyFiveGigE interfaces + - Changed the type of leafs from empty to boolean under errdisable detect cause container + - Added mrp miscabling leaf in errdisable recovery cause container + - Added new CLNS yang model"; + cisco-semver:module-version "13.0.0"; + } + revision 2023-07-01 { + description + "- Initial revision for 17.12"; + cisco-semver:module-version "12.0.0"; + } + revision 2023-03-01 { + description + "- Added WPAN/VWPAN Interface"; + cisco-semver:module-version "11.0.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for ip ssh bulk-mode"; + cisco-semver:module-version "11.0.0"; + } + revision 2022-07-01 { + description + "- Add dhcp-relay support under Cisco-IOS-XE-ip + - Obsolete default crypto ikev2 policy/proposal CLI + - Added tailf under service dhcp leaf + - Obsolete default crypto ikev2 policy/proposal CLI + - Migrate to new ip/ipv6 cef model to address various config issues + - Migrate civic-location to Cisco-IOS-XE-location + - Deprecated the service dhcp leaf + - Migrate transceiver to Cisco-IOS-XE-transceiver-monitor"; + cisco-semver:module-version "10.0.0"; + } + revision 2022-03-01 { + description + "- Initial revision for 17.8.1 + - Fix for pattern issue in logging discriminator CLI + - Deprecated ra/dns/server leaf and implemented ra/dns/server-list as leaf-list"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-11-01 { + description + "- Initial revision for 17.7.1 + - Added support for ciphersuite configuration inside eap profile + - Added new node filename-list-ordered-by-user & flash-list-ordered-by-user + - Deprecated `ip ssh version` of unsigned integer type and added a new leaf `ip ssh ssh-version` of enumeration type"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-07-01 { + description + "- Added support for LACP System priority + - Updated default value for fhrp bfd/sso to false + - Added private-config-encryption leaf to service + - Obsolete monitor-event-trace-enable-disable-grouping"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-03-01 { + description + "- Add support for VRRPv3 BFD + - Add support for fhrp-sso + - Added common-criteria-policy leaf + - Replaced cli-diff-dependency"; + cisco-semver:module-version "6.0.0"; + } + revision 2020-11-01 { + description + "- Initial revision for 17.4.1 + - Added logging console/logging monitor new models + - Added logging console/logging monitor new models"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-02 { + description + "- Interval addition for gateway-failover"; + cisco-semver:module-version "4.0.1"; + } + revision 2020-07-01 { + description + "- Change ipv6 prefixlist obsolete nodes to deprecated + - Added model for quiet-mode and access-class + - Added model for block-for attempts and within + - Obsolete clock offset + - modified range of mab username attribute format to support size 6 + - Added yang model for: hw-module subslot x/y ethernet mode XX + - Added model for breakout CLI"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added Endpoint Tracker + - Updated Cisco-IOS-XE-(ip/ipv6).yang + - Added range and default value for leaf distance of ipv6 route + - Updated Cisco-IOS-XE-ip.yang(route-replicate) + - Updated global-address-family"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added new management container + - Deprecating child nodes in case of deprecated parent"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Corrected failover threshold command inside RG group command + - Change call-home to non-presence container + - Add support for network-clock revertive + - Add support for allowing spaces in passwords"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-30 { + description + "enum types updated for username/user-name/enable config models"; + } + revision 2019-01-21 { + description + "Add support for hw-module subslot x/y mode 10|40|100 Gig CLI"; + } + revision 2018-12-14 { + description + "Support type6 password enum for username configuration model"; + } + revision 2018-12-11 { + description + "Add model for enable secret 9"; + } + revision 2018-11-30 { + description + "Corrections for user-name configuration model"; + } + revision 2018-11-22 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-14 { + description + "Model for tftp-server load configuration"; + } + revision 2018-11-06 { + description + "Add md-list configuration"; + } + revision 2018-10-26 { + description + "Modelled transport-map type related configuration"; + } + revision 2018-10-25 { + description + "Added application redundancy command inside redundancy"; + } + revision 2018-10-24 { + description + "Added model for the user-name configuration"; + } + revision 2018-10-18 { + description + "Add module vxlan"; + } + revision 2018-10-16 { + description + "Added l2tp-class list"; + } + revision 2018-10-11 { + description + "Add description to clock time zone"; + } + revision 2018-10-09 { + description + "Delete 'enable secret' container when empty or when secret deleted"; + } + revision 2018-08-10 { + description + "Modelled breakout ports related configuration"; + } + revision 2018-08-03 { + description + "Make mac address-table static to be list"; + } + revision 2018-07-30 { + description + "Add usbflash1-password for hw-module"; + } + revision 2018-07-27 { + description + "Add default value 'v2' for fhrp version vrrp"; + } + revision 2018-06-27 { + description + "Remove 'presence true' from top level 'native / qos'"; + } + revision 2018-06-06 { + description + "Change 'alias' to be a list instead of a single leaf"; + } + revision 2018-05-23 { + description + "Removed vrf option from erspan-dst, added dscp,vrf options under erspan-src"; + } + revision 2018-05-22 { + description + "Remove wireless model"; + } + revision 2018-04-24 { + description + "Make card type list"; + } + revision 2018-03-27 { + description + "Move top level card to native before controller to keep the sequence."; + } + revision 2018-02-26 { + description + "Add model for username secret 9 SCRYPT"; + } + revision 2018-02-06 { + description + "Refactor parameter-map"; + } + revision 2018-02-01 { + description + "fix banner issue"; + } + revision 2018-01-15 { + description + "Add monitor session type local and options"; + } + revision 2018-01-07 { + description + "Add monitor session type erspan-dst and options under erspan-src"; + } + revision 2017-10-24 { + description + "Add banner support back for login and motd"; + } + revision 2017-10-23 { + description + "Support for AVB,PTP,MVRP"; + } + revision 2017-10-16 { + description + "Add diff-dependency on VirtualPortGroup for virtual-service"; + } + revision 2017-09-26 { + description + "Add username view"; + } + revision 2017-08-30 { + description + "Add 'umbrella' to parameter-map enum"; + } + revision 2017-08-14 { + description + "Model for monitor event-trace"; + } + revision 2017-07-13 { + description + "Support for AVC"; + } + revision 2017-07-08 { + description + "Model for identity policy additional support"; + } + revision 2017-06-26 { + description + "Model for identity policy"; + } + revision 2017-06-23 { + description + "add options under monitor session type erspan-src"; + } + revision 2017-06-21 { + description + "add some model in domain"; + } + revision 2017-06-15 { + description + "Removed native/access-list"; + } + revision 2017-06-01 { + description + "add default crypto ikev2 policy and proposal"; + } + revision 2017-03-24 { + description + "Removed banner"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef monitor-event-type { + type enumeration { + enum error; + enum detail; + enum major; + } + } + + grouping event-trace-buffer-options { + leaf dump-file { + description + "Name of trace dump file"; + type string; + } + leaf size { + description + "Number of events for the trace buffer"; + type uint32 { + range "1 .. 1000000"; + } + } + container stacktrace { + description + "Trace points to start tracing call-stack"; + presence "true"; + leaf stack-depth { + description + "The number of stack frames that are stored"; + default "8"; + type uint32 { + range "1 .. 16"; + } + } + } + } + + container native { + container default { + description + "Set a command to its defaults"; + container crypto { + description + "Encryption module"; + status obsolete; + container ikev2 { + description + "Configure IKEv2 Options"; + status obsolete; + leaf proposal { + description + "Define IKEV2 proposals"; + status obsolete; + type empty; + } + leaf policy { + description + "Define IKEV2 policies"; + status obsolete; + type empty; + } + } + } + } + container bfd { + description + "BFD configuration commands"; + } + leaf version { + description + "Version"; + type string; + } + container stackwise-virtual { + description + "Enter stackwise-virtual configuration mode"; + presence "true"; + } + leaf boot-start-marker { + type empty; + } + container boot { + description + "Modify boot system parameters"; + container system { + description + "System Image"; + leaf tftp-path { + description + "Example: 192.x.x.x/"; + type string; + } + leaf tftp { + description + "Example 192.168.x.x/"; + type string; + } + container bootfile { + description + "WORD - boot filename"; + list filename-list-ordered-by-user { + ordered-by user; + key "filename"; + leaf filename { + description + "WORD - TFTP filename or URL"; + type string; + } + } + list filename-list { + status obsolete; + key "filename"; + leaf filename { + status obsolete; + description + "WORD - TFTP filename or URL"; + type string; + } + } + } + container flash { + description + "flash - Boot from flash memory"; + list flash-list-ordered-by-user { + ordered-by user; + key "flash-leaf"; + leaf flash-leaf { + type string; + } + } + list flash-list { + status obsolete; + key "flash-leaf"; + leaf flash-leaf { + status obsolete; + type string; + } + } + } + } + } + leaf boot-end-marker { + type empty; + } + grouping banner-grouping { + leaf banner { + description + "Banner message"; + type string; + } + } + + container banner { + description + "Define a login banner"; + container exec { + description + "Set EXEC process creation banner"; + uses banner-grouping; + } + container login { + description + "Set login banner"; + uses banner-grouping; + } + container prompt-timeout { + description + "Set Message for login authentication timeout"; + uses banner-grouping; + } + container motd { + description + "Set Message of the Day banner"; + uses banner-grouping; + } + } + leaf captive-portal-bypass { + description + "Enable Captive portal bypass for apple devices"; + type empty; + } + container memory { + description + "Configure memory management"; + container statistics { + description + "Configure statistics history table"; + container history { + description + "Configure statistics history table"; + leaf table { + description + "Configure statistics history table"; + type uint8 { + range "12..72"; + } + } + } + } + container chunk { + description + "chunk related configuration"; + container siblings { + description + "chunk siblings related configuration"; + leaf threshold { + description + "Default is platform dependent"; + type uint32 { + range "2..4294967295"; + } + } + } + } + container free { + description + "free memory low water mark"; + container low-watermark { + description + "low water mark for notifications"; + leaf IO { + description + "low water mark of memory in KB"; + type uint32 { + range "1..3994575"; + } + } + leaf processor { + description + "low water mark of memory in KB"; + type uint32 { + range "1..3994575"; + } + } + } + } + leaf lite { + description + "Enable/disable memory lite"; + type empty; + } + container reserve { + description + "reserve memory"; + container critical { + description + "Reserve Critical Memory"; + presence "true"; + leaf memory-range { + description + "total amount of memory to be reserved in kilobytes"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container sanity { + description + "Enable memory sanity"; + presence "true"; + leaf all { + description + "Enable memory sanity all"; + type empty; + } + leaf buffer { + description + "Enable memory sanity buffer"; + type empty; + } + leaf queue { + type empty; + } + } + } + uses config-location-grouping; + container call-home { + description + "Enter call-home configuration mode"; + } + container stack-power { + description + "Stack power config"; + list stack { + description + "Configure power stack parameters"; + key "name"; + leaf name { + description + "Power stack name - Up to 31 chars"; + type string { + length "1..31"; + } + } + leaf ecomode { + description + "Enable PS Auto Offline"; + type empty; + } + } + } + container hw-module { + description + "Control of individual components in the system"; + container uplink { + description + "Uplink control"; + leaf select { + description + "Select uplink interface"; + type string; + } + leaf mode { + description + "Uplink mode"; + type enumeration { + enum shared-backplane; + } + } + } + list breakout { + description + "Configure a native port into four breakout ports"; + key "port-number"; + leaf port-number { + description + "Port Number to be converted in to breakout ports"; + type uint8 { + range "1..32"; + } + } + } + list switch { + description + "Switch in the system"; + key "switch-number"; + leaf switch-number { + description + "Switch number in the Stack (Refer to show switch CLI)"; + type uint8 { + range "1..8"; + } + } + container eco-mode { + description + "Eco mode for power savings"; + leaf led { + description + "Turn off front panel port LEDs"; + type empty; + } + leaf optics { + description + "This would enable eco mode setting and power down NIF transceiver"; + type empty; + } + } + leaf usbflash1-password1 { + description + "USB SSD Security"; + type string; + } + list usbflash1-password { + status deprecated; + description + "USB SSD Security"; + key "usbflash1-password-string"; + leaf usbflash1-password-string { + status deprecated; + description + "USB SSD Security"; + type string; + } + } + } + container switch-all { + description + "All switches"; + container all { + description + "Select all switches in the stack. Available only for led eco mode"; + container eco-mode { + description + "Eco mode for power savings"; + leaf led { + description + "Turn off front panel port LEDs"; + type empty; + } + } + } + } + list slot { + description + "Control a component in a slot"; + key "name"; + leaf name { + description + "Slot of LC"; + type string; + } + leaf shutdown { + description + "Shutdown a fru"; + type empty; + } + } + list subslot { + description + "Control a component in a subslot"; + key "subslot-number"; + leaf subslot-number { + description + "Line card subslot number in the range of <0-1>/<0-2> for mode change"; + type string { + length "1..3"; + pattern '[0-2/0-2]*'; + } + } + leaf mode { + description + "subslot mode value, for which valid mode values are 10, 40 & 100 Gig"; + type enumeration { + enum 10G { + value 10; + } + enum 40G { + value 40; + } + enum 100G { + value 100; + } + } + must "not((../subslot-number = '0/2') and (current() = '10G'))" { + error-message "10G mode is not supported on bay2"; + } + } + container breakout { + description + "configure breakout mode"; + choice breakout-choice { + default "none"; + case mode-case { + list breakout-mode { + description + "Breakout mode for native ports"; + key "id"; + leaf id { + type enumeration { + enum 10g; + } + must "not(current() and (current()/../../../mode = '100G'))" { + error-app-tag "Invalid-mode"; + error-message "Either EPA is in 100G mode or it has some native ports with active breakout configurations before switching to 100G mode. Please note 10G Breakout is supported only in 40G mode"; + } + } + container port { + description + "Native port"; + choice port-mode { + case all { + leaf all { + description + "Configure all native ports in breakout mode"; + type empty; + } + } + case native_port { + leaf native_port_0 { + description + "Configure native port 0 in breakout mode"; + type empty; + } + leaf native_port_4 { + description + "Configure native port 4 in breakout mode"; + type empty; + } + leaf native_port_8 { + description + "Configure native port 8 in breakout mode"; + type empty; + } + } + } + } + } + } + case none { + container none { + description + "Remove breakout configuration from all native ports"; + container port { + description + "Native port"; + leaf all { + description + "Remove breakout configuration from all native ports"; + type enumeration { + enum all; + } + default "all"; + } + } + } + } + } + } + container shutdown { + description + "Shutdown the target subslot"; + leaf unpowered { + description + "Power-off the target subslot"; + type empty; + } + } + container ethernet { + description + "Configure ethernet"; + leaf mode { + description + "configure mode for front-panel module ports 0/0/<4-5>"; + type enumeration { + enum GE; + enum TE; + } + default "TE"; + } + } + } + leaf sm { + type uint8; + } + leaf pvdm { + type string; + } + } + container cisp { + description + "Set CISP parameters"; + leaf enable { + description + "Enable CISP"; + type empty; + } + } + container module { + description + "Module"; + } + list domain { + description + "Domain Configuration Commands"; + key "name"; + leaf name { + type string; + } + list vrf { + description + "Specify vrf for domain"; + key "name"; + leaf name { + type string; + } + container border { + description + "Enter border router configuration submode"; + container advanced { + description + "Enter border router advanced configuration submode"; + leaf monitor-cache-percent { + description + "cache usage (%), border instance will AUTOMATICALLY go through SHUT/NO SHUT any ACTIVE traffic on this border will be affected"; + type uint8 { + range "1..100"; + } + } + } + container source-interface { + description + "Source Interface for border"; + leaf Loopback { + description + "Loopback interface"; + type uint32; + } + } + leaf master { + description + "Specify IP address of Domain master controller"; + type union { + type inet:ipv4-address; + type enumeration { + enum local; + } + } + } + container password { + description + "MD5 password to be used with MC"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + } + leaf clear-key { + type string; + } + } + } + container master { + description + "Enter master controller configuration submode"; + choice master-type { + case branch { + leaf branch { + description + "Set master type as branch hub"; + type empty; + } + } + case hub { + leaf hub { + description + "Set master type as hub"; + type empty; + } + } + case transit { + leaf transit { + description + "Set master type as transit"; + type uint8 { + range "1..64"; + } + } + } + } + container advanced { + description + "Advanced configuration submode"; + leaf byte-loss-threshold { + description + "Specify minimum byte loss calculation threshold"; + type uint16 { + range "0..5600"; + } + } + leaf channel-unreachable-timer { + description + "Unreach interval detection"; + type uint16 { + range "1..65535"; + } + } + leaf load-sharing { + description + "Enable load-sharing"; + type empty; + } + leaf minimum-mask-length { + description + "Specify minimum mask length"; + type uint8 { + range "1..32"; + } + } + leaf mitigation-mode { + description + "Enable brown out detection in domain"; + type enumeration { + enum aggressive; + } + } + leaf packet-loss-threshold { + description + "Specify minimum packet loss calculation threshold"; + type uint8 { + range "1..100"; + } + } + container smart-probes { + description + "Smart probes configuration"; + leaf destination-port { + description + "Specify smart probes destination port number"; + type uint16 { + range "1..65535"; + } + } + leaf source-port { + description + "Specify smart probes source port number"; + type uint16 { + range "1..65535"; + } + } + } + container syslog { + description + "Specify syslog minimum time between tca"; + leaf tca-time-min { + description + "Specify time between syslog tcas in seconds"; + type uint32 { + range "30..36000"; + } + } + } + container tcp { + description + "Specify tcp port numbers for mc-br communication"; + leaf mc-port { + description + "Specify tcp MC self port for mc-br communication"; + type uint16 { + range "1..65535"; + } + } + } + leaf threshold-variance { + description + "Policy decision Threshold variance"; + type uint8 { + range "0..100"; + } + } + container traffic-class-ageout-timer { + description + "Traffic-class DB age timer"; + leaf interval { + description + "Specify new timer interval value mins/hours"; + type uint16 { + range "5..65535"; + } + } + leaf interval-unit { + type enumeration { + enum hours; + enum minutes; + } + } + } + leaf transit-site-affinity { + description + "Enable Transit Site Affinity"; + type empty; + } + } + container collector { + description + "NMS/v9 collector configuration"; + leaf ip { + type inet:ipv4-address; + } + leaf port { + description + "Specify collector port number"; + type uint16; + } + } + container enterprise-prefix { + description + "Enterprise prefix configuration"; + leaf prefix-list { + description + "Specify prefix-list with static site targets"; + type string; + } + } + container load-balance { + description + "load balance non-policy traffic"; + presence "true"; + container advanced { + description + "Load balancing configuration mode"; + uses domain-vrf-master-hub-class-grouping; + } + } + container password { + description + "MD5 password to be used with BRs"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + } + leaf clear-key { + type string; + } + } + container site-prefixes { + description + "site-prefixes configuration"; + leaf prefix-list { + description + "Specify prefix-list with static site targets"; + type string; + } + } + container source-interface { + description + "Source Interface for master controller"; + leaf Loopback { + description + "Loopback interface"; + type uint32; + } + } + list class { + description + "Create domain class and enter domain class command mode"; + key "name sequence"; + leaf name { + type string; + } + leaf sequence { + description + "Set the Sequence for the class"; + type uint16; + } + uses domain-vrf-master-hub-class-grouping; + } + leaf hub-ip { + type inet:ipv4-address; + } + } + } + } + grouping domain-vrf-master-hub-class-grouping { + container match { + description + "Specify the applications the policy applies to"; + list dscp { + description + "specify DSCP"; + key "value"; + leaf value { + type ios-types:dscp-type; + } + leaf policy { + description + "Specify the policy (user defined/predefined)"; + type enumeration { + enum best-effort; + enum bulk-data; + enum custom; + enum low-latency-data; + enum real-time-video; + enum scavenger; + enum voice; + } + } + } + } + container path-preference { + description + "Specify the preferred provider"; + leaf primary { + description + "Primary service provider"; + type string; + } + leaf primary2 { + description + "Primary service provider"; + type string; + } + leaf primary3 { + description + "Primary service provider"; + type string; + } + leaf fallback { + description + "Specify the fallback provider"; + type union { + type enumeration { + enum routing; + enum blackhole; + } + type string; + } + } + leaf fallback2 { + description + "Fallback service provider"; + type string; + } + leaf fallback3 { + description + "Fallback service provider"; + type string; + } + } + leaf path-last-resort { + description + "Specify path of last resort provider"; + type string; + } + } + + grouping identity-policy-grouping { + leaf absolute-timer { + description + "Absolute timeout value in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf access-group { + description + "Access list to be applied"; + type string; + } + leaf description { + description + "Enter a description"; + type string; + } + leaf inactivity-timer { + description + "Inactivity timeout value in seconds"; + type uint16 { + range "0..65535"; + } + } + leaf interface-template { + description + "Interface template to be applied"; + type string; + } + container linksec { + description + "Configure link security parameters"; + leaf policy { + description + "Set the link security policy"; + type enumeration { + enum must-not-secure; + enum must-secure; + enum should-secure; + } + } + } + container redirect { + description + "Redirect clients to a particular location"; + leaf url { + description + "URL where clients should be redirected"; + type string; + } + } + container service-policy { + description + "Configure service policy"; + list qos { + description + "Configure qos policies for client"; + key "direction"; + leaf direction { + type enumeration { + enum input; + enum output; + } + } + leaf name { + type string; + } + } + } + leaf sgt { + description + "SGT tag"; + type uint16 { + range "2..65519"; + } + } + leaf tag { + description + "tag name"; + type string; + } + container tunnel { + description + "tunnel for wired client access"; + container type { + description + "tunnel type"; + container capwap { + description + "capwap tunnel type"; + leaf name { + description + "tunnel profile name"; + type string; + } + } + } + } + leaf vlan { + description + "Enter a VlanId"; + type uint16 { + range "1..4094"; + } + } + container voice { + description + "Voice feature"; + leaf vlan { + description + "Critical voice vlan"; + type empty; + } + } + } + + uses config-parser-grouping; + container service { + description + "Modify use of network based services"; + leaf internal { + description + "Enable/Disable Internal commands"; + type empty; + } + container pad-conf { + leaf pad { + description + "Enable PAD commands"; + type boolean; + default "false"; + } + } + container pad-config-more { + container pad-config { + description + "Enable PAD commands"; + leaf cmns { + description + "Enable PAD over CMNS connections"; + type empty; + } + leaf from-xot { + description + "Accept XOT to PAD connections"; + type empty; + } + leaf to-xot { + description + "Allow outgoing PAD over XOT connections"; + type empty; + } + } + } + container pad { + description + "Enable PAD commands"; + status obsolete; + presence "true"; + leaf cmns { + description + "Enable PAD over CMNS connections"; + status obsolete; + type empty; + } + leaf from-xot { + description + "Accept XOT to PAD connections"; + status obsolete; + type empty; + } + leaf to-xot { + description + "Allow outgoing PAD over XOT connections"; + status obsolete; + type empty; + } + } + leaf password-encryption { + description + "Encrypt system passwords"; + type empty; + } + leaf password-recovery { + description + "Enable password recovery"; + type boolean; + } + leaf private-config-encryption { + description + "Enable private config file encryption"; + type empty; + } + grouping service-timestamps-debug-log-options { + container datetime { + description + "Timestamp with date and time"; + presence "true"; + leaf msec { + description + "Include milliseconds in timestamp"; + type empty; + } + leaf localtime { + description + "Use local time zone for timestamps"; + type empty; + } + leaf show-timezone { + description + "Add time zone information to timestamp"; + type empty; + } + leaf year { + description + "Include year in timestamp"; + type empty; + } + } + leaf uptime { + description + "Timestamp with system uptime"; + type empty; + } + } + + container timestamps { + description + "Timestamp debug/log messages"; + presence "true"; + container debug-config { + description + "Timestamp debug messages"; + presence "true"; + uses service-timestamps-debug-log-options; + } + container log-config { + description + "Timestamp log messages"; + presence "true"; + uses service-timestamps-debug-log-options; + } + container debug { + description + "Timestamp debug messages"; + status obsolete; + container datetime { + description + "Timestamp with date and time"; + status obsolete; + presence "true"; + container localtime { + description + "Use local time zone for timestamps"; + status obsolete; + presence "true"; + container msec { + description + "Include milliseconds in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-show-timezone-and-year; + } + container show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-msec-and-year; + } + container year { + description + "Include year in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-msec-and-show-timezone; + } + } + container msec { + description + "Include milliseconds in timestamp"; + status obsolete; + presence "true"; + container localtime { + description + "Use local time zone for timestamps"; + status obsolete; + presence "true"; + uses service-timestamp-show-timezone-and-year; + } + container show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-year; + } + container year { + description + "Include year in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-show-timezone; + } + } + container show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + presence "true"; + container localtime { + description + "Use local time zone for timestamps"; + status obsolete; + presence "true"; + uses service-timestamp-msec-and-year; + } + container msec { + description + "Include milliseconds in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-year; + } + container year { + description + "Include year in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-msec; + } + } + container year { + description + "Include year in timestamp"; + status obsolete; + presence "true"; + container localtime { + description + "Use local time zone for timestamps"; + status obsolete; + presence "true"; + uses service-timestamp-msec-and-show-timezone; + } + container msec { + description + "Include milliseconds in timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-show-timezone; + } + container show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + presence "true"; + uses service-timestamp-local-time-and-msec; + } + } + } + leaf uptime { + description + "Timestamp with system uptime"; + status obsolete; + type empty; + } + } + container log { + description + "Timestamp log messages"; + status obsolete; + container datetime { + description + "Timestamp with date and time"; + status obsolete; + presence "true"; + leaf msec { + description + "Include milliseconds in timestamp"; + status obsolete; + type empty; + } + leaf localtime { + description + "Use local time zone for timestamps"; + status obsolete; + type empty; + } + leaf show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + type empty; + } + leaf year { + description + "Include year in timestamp"; + status obsolete; + type empty; + } + } + leaf uptime { + description + "Timestamp with system uptime"; + status obsolete; + type empty; + } + } + } + container alignment { + description + "Control alignment correction and logging"; + leaf detection { + description + "Enable detection of alignment issues"; + type empty; + } + leaf logging { + description + "Enable logging of alignment issues"; + type empty; + } + } + leaf call-home { + description + "Enable call-home service"; + type empty; + } + leaf compress-config { + description + "Compress the configuration file"; + type empty; + } + leaf config { + description + "TFTP load config files"; + type empty; + } + container counters { + description + "Control aging of interface counters"; + container max { + description + "Maximum counter aging threshold"; + leaf age { + description + "Aging threshold"; + type uint8 { + range "0..60"; + } + } + } + } + leaf dhcp-config { + description + "Enable DHCP server and relay agent"; + type boolean; + default "true"; + } + leaf dhcp { + status deprecated; + description + "Enable DHCP server and relay agent"; + type empty; + } + leaf disable-ip-fast-frag { + description + "Disable IP particle-based fast fragmentation"; + type empty; + } + leaf exec-callback { + description + "Enable exec callback"; + type empty; + } + leaf exec-wait { + description + "Delay EXEC startup on noisy lines"; + type empty; + } + leaf finger { + description + "Allow responses to finger requests"; + type empty; + } + container heartbeat { + description + "Enable heartbeat processing"; + leaf fatal-count { + description + "Set heartbeat fatal count"; + type uint8 { + range "1..60"; + } + } + leaf interrupt-interval { + description + "Set heartbeat interrupt test interval"; + type uint8 { + range "0..60"; + } + } + leaf interrupt-max { + description + "Set maximum message count from interrupt test"; + type uint8 { + range "0..60"; + } + } + leaf transmit-interval { + description + "Set heartbeat transmit interval"; + type uint8 { + range "1..30"; + } + } + leaf warning-timeout { + description + "Set heartbeat warning timeout interval"; + type uint8 { + range "5..60"; + } + } + } + leaf hide-telnet-addresses { + description + "Hide destination addresses in telnet command"; + type empty; + } + leaf linenumber { + description + "enable line number banner for each exec"; + type empty; + } + leaf log-hidden { + description + "Enable syslog msgs for hidden/internal commands"; + type empty; + } + leaf nagle { + description + "Enable Nagle's congestion control algorithm"; + type empty; + } + leaf old-slip-prompts { + description + "Allow old scripts to operate with slip/ppp"; + type empty; + } + container prompt { + description + "Enable mode specific prompt"; + leaf config { + description + "Enable configuration mode prompt"; + type empty; + } + } + leaf pt-vty-logging { + description + "Log significant VTY-Async events"; + type empty; + } + leaf sequence-numbers { + description + "Stamp logger messages with a sequence number"; + type empty; + } + leaf slave-log { + description + "Enable log capability of slave IPs"; + type empty; + } + leaf tcp-keepalives-in { + description + "Generate keepalives on idle incoming network connections"; + type empty; + } + leaf tcp-keepalives-out { + description + "Generate keepalives on idle outgoing network connections"; + type empty; + } + leaf telnet-zeroidle { + description + "Set TCP window 0 when connection is idle"; + type empty; + } + leaf tcp-small-servers { + description + "Enable small TCP servers (e.g., ECHO)"; + type empty; + } + leaf udp-small-servers { + description + "Enable small UDP servers (e.g., ECHO)"; + type empty; + } + leaf unsupported-transceiver { + description + "Enable support for third-party transceivers"; + type empty; + } + } + container platform { + description + "platform specific configuration"; + } + leaf hostname { + description + "Set system's network name"; + type string { + length "1..246"; + pattern '([0-9.]*[A-Za-z\-_]+[A-Za-z0-9.\-_]*)'; + } + } + container enable { + description + "Modify enable password parameters"; + container password { + description + "Assign the privileged level password (MAX of 25 characters)"; + uses password-07-grouping; + } + leaf last-resort { + description + "Define enable action if no TACACS servers respond"; + type enumeration { + enum password; + enum succeed; + } + } + container secret { + description + "Assign the privileged level secret"; + leaf level { + description + "Set exec level password"; + type uint8; + } + leaf type { + type enumeration { + enum 0; + enum 4; + enum 5; + enum 8; + enum 9; + } + } + leaf secret { + type string; + } + } + leaf use-tacacs { + description + "Use TACACS to check enable passwords"; + type empty; + } + } + container password { + description + "Configure encryption password (key)"; + container encryption { + description + "Encrypt system passwords"; + leaf aes { + description + "Enable stronger (AES) password encryption"; + type empty; + } + } + } + container eap { + description + "Configure EAP authenticator parameters"; + container key-name { + description + "EAP Key-name"; + leaf compliance { + description + "Turn on compliance for EAP key-name"; + type empty; + } + } + container method { + description + "Configure EAP authentication method profiles"; + container fast { + description + "EAP-FAST method configuration"; + list profile { + description + "Set the authentication method profile name"; + key "name"; + leaf name { + description + "Specify the name of the method profile + (max 63 characters)"; + type string; + } + leaf accept-on-auth-prov { + description + "Accept client on authenticated provisioning, + default: on"; + type boolean; + default "true"; + } + leaf allow-anon-prov { + description + "Allow anonymous provisioning, default: on"; + type boolean; + default "true"; + } + leaf allow-auth-prov { + description + "Allow authenticated provisioning,default: on"; + type boolean; + default "true"; + } + container authority-id { + description + "Configure the authority ID"; + leaf identity { + description + "Specify the authority ID identity"; + type string; + } + leaf information { + description + "Specify the authority ID information"; + type string; + } + } + leaf client-cert-required { + description + "Use a client certificate if present, + default: on"; + type boolean; + default "true"; + } + leaf description { + description + "Description for this EAP-FAST profile"; + type string; + } + leaf local-cert-required { + description + "Use a local (server) certificate if present, + default: on"; + type boolean; + default "true"; + } + container local-key { + description + "Configure the local (server) key"; + leaf type { + description + "type of local-key"; + type enumeration { + enum 0; + enum 7; + } + } + leaf secret { + description + "define local-key"; + type string { + pattern '.*'; + } + } + } + container pac-password { + description + "Default password for manual PAC provisioning"; + leaf type { + description + "type of pac-password"; + type enumeration { + enum 0; + enum 7; + } + } + leaf secret { + description + "define pac-password"; + type string { + pattern '.*'; + } + } + } + leaf pac-ttl { + description + "PAC Time to live in seconds, default: 86400"; + type uint32 { + range "1..700000000"; + } + default "86400"; + } + } + } + } + list profile { + description + "Configure EAP profiles"; + key "name"; + leaf name { + description + "Specify a profile name (max 63 characters)"; + type string; + } + leaf description { + description + "Provide a description for the EAP profile"; + type string; + } + container method { + description + "Add an allowed method"; + container fast-config { + description + "EAP-FAST method allowed"; + presence "true"; + leaf profile { + description + "Set the authenticator profile for this method"; + type string; + } + } + leaf fast { + status obsolete; + description + "Obsolete: Use fast-config"; + type empty; + } + leaf gtc { + description + "EAP-GTC method allowed"; + type empty; + } + leaf leap { + description + "EAP-LEAP method allowed"; + type empty; + } + leaf mschapv2 { + description + "EAP-MSCHAPV2 method allowed"; + type empty; + } + leaf peap { + description + "EAP-PEAP method allowed"; + type empty; + } + leaf md5 { + description + "EAP-MD5 method allowed"; + type empty; + } + leaf tls { + description + "EAP-TLS method allowed"; + type empty; + } + } + container ciphersuite { + description + "Add an allowed ciphersuite"; + leaf aes128-sha { + description + "Encryption Type tls_rsa_with_aes_128_cbc_sha"; + type empty; + } + leaf aes256-sha { + description + "Encryption Type tls_rsa_with_aes_256_cbc_sha"; + type empty; + } + leaf dhe-rsa-aes-gcm-sha2 { + description + "Encryption Type tls_dhe_rsa_with_aes_128_gcm_sha256 and tls_dhe_rsa_with_aes_256_gcm_sha384(TLS 1.2 and above)"; + type empty; + } + leaf dhe-rsa-aes-sha2 { + description + "Encryption Type tls_dhe_rsa_with_aes_128_cbc_sha256 and tls_dhe_rsa_with_aes_256_cbc_sha256 (TLS 1.2 and above)"; + type empty; + } + leaf dhe-rsa-aes128-sha { + description + "Encryption Type tls_dhe_rsa_with_aes_128_cbc_sha"; + type empty; + } + leaf dhe-rsa-aes256-sha { + description + "Encryption Type tls_dhe_rsa_with_aes_256_cbc_sha"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption Type tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 and tls_ecdhe_ecdsa_with_aes_256_gcm_sha384(TLS 1.2 and above)"; + type empty; + } + leaf ecdhe-ecdsa-aes-sha { + description + "Encryption Type tls_ecdhe_ecdsa_with_aes_128_cbc_sha and tls_ecdhe_ecdsa_with_aes_256_cbc_sha"; + type empty; + } + leaf ecdhe-ecdsa-aes-sha2 { + description + "Encryption Type tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 and tls_ecdhe_ecdsa_with_aes_256_cbc_sha384(TLS 1.2 and above)"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption Type tls_ecdhe_rsa_with_aes_128_gcm_sha256 and tls_ecdhe_rsa_with_aes_256_gcm_sha384(TLS 1.2 and above)"; + type empty; + } + leaf ecdhe-rsa-aes-sha { + description + "Encryption Type tls_ecdhe_rsa_with_aes_128_cbc_sha and tls_ecdhe_rsa_with_aes_256_cbc_sha"; + type empty; + } + leaf ecdhe-rsa-aes-sha2 { + description + "Encryption Type tls_ecdhe_rsa_with_aes_128_cbc_sha256 and tls_ecdhe_rsa_with_aes_256_cbc_sha384(TLS 1.2 and above)"; + type empty; + } + } + leaf pki-trustpoint { + description + "Set the default pki trustpoint"; + type string; + } + } + } + container archive { + description + "Archive the configuration"; + container log { + description + "Logging commands"; + container config { + description + "Logging changes to the running configuration"; + container logging { + description + "Modify config logging parameters"; + leaf enable { + description + "Enable the config logger"; + type empty; + } + leaf size { + description + "Maximum number of logged commands that will be kept by the config log"; + type uint16 { + range "1..1000"; + } + } + container persistent { + description + "Log configuration persistent"; + presence "true"; + leaf auto { + description + "Log configuration commands automatically"; + type empty; + } + leaf reload { + description + "Apply persisted commands on reload"; + type empty; + } + } + } + leaf hidekeys-new { + description + "suppress output (e.g. passwords) when displaying logged commands"; + must '(.="false") or (.="true" and (../logging/enable or ../logging/size))'; + type boolean; + } + leaf hidekeys { + status deprecated; + description + "suppress output (e.g. passwords) when displaying logged commands"; + type empty; + } + container notify { + description + "Send logged commands to target applications"; + container syslog { + description + "Send logged commands as syslog messages"; + presence "true"; + leaf contenttype { + description + "Type of the syslog message content"; + type enumeration { + enum plaintext; + enum xml; + } + } + } + } + container record { + description + "What to record in the config logger"; + leaf rc { + description + "Record the PRC result"; + type empty; + } + } + } + } + leaf path { + description + "path for backups"; + type union { + type enumeration { + enum bootflash:; + enum flash:; + enum ftp:; + enum harddisk:; + enum http:; + enum https:; + enum pram:; + enum rcp:; + enum scp:; + enum tftp:; + } + type string; + } + } + leaf maximum { + description + "maximum number of backup copies"; + type uint8 { + range "1..14"; + } + } + leaf write-memory { + description + "Enable automatic backup generation during write memory"; + type empty; + } + leaf time-period { + description + "Period of time in minutes to automatically archive the running-config"; + type uint32 { + range "1..525600"; + } + } + } + list username { + description + "Establish User Name Authentication"; + key "name"; + leaf name { + type string; + } + leaf privilege { + description + "Set user privilege level"; + type uint8 { + range "0..15"; + } + } + leaf view { + description + "Set view name"; + type string; + } + leaf one-time { + description + "Specify that the username/password is valid for only one time"; + type empty; + } + leaf mac { + description + "Entry is for MAC Filtering"; + type empty; + } + leaf serial-number { + description + "Entry is for serial number"; + type empty; + } + leaf description { + description + "description string with max 128 characters"; + type string; + } + leaf wlan-profile-name { + description + "wlan-profile-name string with max 32 characters"; + type string; + } + container password { + description + "Specify the password for the user"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + enum 6; + } + } + leaf password { + type string { + pattern '.*'; + } + } + } + container secret { + description + "Specify the secret for the user"; + leaf encryption { + type enumeration { + enum 0; + enum 5; + enum 8; + enum 9; + } + } + leaf secret { + type string; + } + } + } + list user-name { + description + "Establish User-Name Authentication"; + key "name"; + leaf name { + type string; + } + leaf privilege { + description + "User Privilege level"; + type uint8 { + range "0..15"; + } + } + leaf view { + description + "Set User View name"; + type string; + } + leaf mac { + description + "Entry is for MAC Filtering"; + type empty; + } + leaf description { + description + "description string with max 128 characters"; + type string; + } + container type { + description + "Specify the type of the user"; + choice user-type { + case default-user-type { + leaf default { + description + "Default user type"; + type empty; + } + } + case lobby-admin-user-type { + leaf lobby-admin { + description + "Lobby Admin User"; + type empty; + } + } + case mgmt-user-type { + leaf mgmt-user { + description + "Mgmt user type"; + type empty; + } + } + case network-user-type { + container network-user { + description + "Network user type"; + leaf description { + description + "User Description"; + type string; + } + container guest-user { + description + "Guest user type"; + leaf max-login-limit { + description + "Maximum login limits per guest user credentials"; + type uint8 { + range "0..64"; + } + } + container lifetime { + description + "Lifetime of user"; + leaf year { + description + "Number of Years"; + type uint8 { + range "0..1"; + } + } + leaf month { + description + "Number of months"; + type uint8 { + range "0..11"; + } + } + leaf day { + description + "Number of days"; + type uint8 { + range "0..30"; + } + } + leaf hour { + description + "Number of hours"; + type uint8 { + range "0..23"; + } + } + leaf minute { + description + "Number of minutes"; + type uint8 { + range "0..59"; + } + } + leaf second { + description + "Number of seconds"; + type uint8 { + range "0..59"; + } + } + } + } + } + } + } + } + leaf wlan-profile-name { + description + "wlan-profile-name string with max 32 characters"; + type string; + } + container password { + description + "Password for the user"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + enum 6; + } + } + leaf password { + type string { + pattern '.*'; + } + } + } + container secret { + description + "Secret for the user"; + leaf encryption { + type enumeration { + enum 0; + enum 5; + enum 8; + enum 9; + } + } + leaf secret { + type string; + } + } + } + container card { + description + "Configure T1/E1 SPA"; + } + container controller { + description + "Configure controller"; + } + container frame-relay { + description + "global frame relay configuration commands"; + } + leaf aqm-register-fnf { + description + "Export audio/video stats to flow record"; + type empty; + } + uses config-vrf-definition-grouping; + uses config-global-address-family; + container rmon { + description + "Remote Monitoring"; + list alarm { + description + "Configure an RMON alarm"; + key "number"; + leaf number { + type uint16; + } + leaf mib-object { + type string; + } + leaf sample-interval { + type uint32; + } + leaf test-mode { + type enumeration { + enum absolute; + enum delta; + } + } + leaf rising-threshold { + description + "Configure the rising threshold"; + type int32; + } + leaf rising-event { + type uint16; + } + leaf falling-threshold { + description + "Configure the falling threshold"; + type int32; + } + leaf falling-event { + type uint16; + } + leaf owner { + description + "Specify an owner for the alarm"; + type string; + } + } + list event { + description + "Configure an RMON event"; + key "number"; + leaf number { + type uint16; + } + container log { + description + "Generate RMON log when the event fires"; + presence "true"; + leaf trap { + description + "Generate SNMP trap when the event fires"; + type string; + } + leaf description { + description + "Specify a description of the event"; + type string; + } + leaf owner { + description + "Specify an owner for the event"; + type string; + } + } + } + } + list sampler { + description + "Define a Sampler"; + key "name"; + leaf name { + type string; + } + } + container flow { + description + "Global Flow configuration subcommands"; + } + uses config-ip-grouping; + container mka { + description + "MACsec Key Agreement (MKA) configuration"; + } + container macro { + description + "Macro configuration"; + container global { + description + "Enter global macro configuration"; + leaf description { + description + "Macro description of this device"; + type string; + } + } + container auto { + description + "Macro autoexecution settings"; + } + } + uses config-ipv6-grouping; + container vlan { + description + "Global vlan configuration"; + } + container mvrp { + description + "Global MVRP"; + } + container avb { + description + "Global AVB"; + presence "true"; + } + container ptp { + description + "Global PTP"; + } + container cdp { + description + "Global CDP configuration subcommands"; + } + container avc { + description + "Application visibility and control"; + } + container policy; + uses config-interface-grouping; + list route-map { + description + "Route map tag"; + key "name"; + leaf name { + description + "WORD;;Route map tag"; + type string; + } + } + container route-tag; + list table-map { + description + "Configure Table Map"; + key "name"; + leaf name { + type string; + } + } + container sdm { + description + "Switch database management"; + } + container mls { + description + "mls global commands"; + } + container object-group { + description + "Configure Object group"; + } + list pseudowire-class { + description + "Pseudowire-class configuration"; + key "name"; + leaf name { + type string; + } + } + list l2tp-class { + description + "l2tp-class configuration"; + key "name"; + leaf name { + description + "l2tp-class name"; + type string; + } + } + container control-plane { + description + "Configure control plane services"; + presence "true"; + } + container control-plane-host { + container control-plane { + description + "Configure control plane services"; + container host { + presence "true"; + list management-interface { + description + "Configure interface for receiving network management traffic"; + key "interface-name"; + leaf interface-name { + type string; + } + container allow { + description + "Allowed network management protocols on selected interface"; + leaf beep { + description + "Beep Protocol"; + type empty; + } + leaf ftp { + description + "File Transfer Protocol"; + type empty; + } + leaf http { + description + "HTTP Protocol"; + type empty; + } + leaf https { + description + "HTTPS Protocol"; + type empty; + } + leaf snmp { + description + "Simple Network Management Protocol"; + type empty; + } + leaf ssh { + description + "Secure Shell Protocol"; + type empty; + } + leaf telnet { + description + "Telnet Protocol"; + type empty; + } + leaf tftp { + description + "Trivial File Transfer Protocol"; + type empty; + } + leaf tl1 { + description + "Transaction Language Session Protocol"; + type empty; + } + } + } + } + } + } + leaf config-register { + description + "Define the configuration register"; + type string { + pattern '[0-9xXa-fA-F].*'; + } + } + container clock { + description + "Configure time-of-day clock"; + container calendar-valid { + description + "Calendar time is authoritative"; + presence "true"; + } + container summer-time { + description + "Configure summer (daylight savings) time"; + leaf zone { + description + "Name of time zone in summer"; + type string; + } + choice summer-choice { + case date-case { + leaf date { + description + "Configure absolute summer time"; + type empty; + } + leaf start-day { + type uint8 { + range "1..31"; + } + } + leaf start-month { + type ios-types:month-type; + } + leaf start-year { + type uint32 { + range "1993..2035"; + } + } + leaf start-time { + type ios-types:hhmm-type; + } + leaf date-end-day { + type uint8 { + range "1..31"; + } + } + leaf date-end-month { + type ios-types:month-type; + } + leaf date-end-year { + type uint32 { + range "1993..2035"; + } + } + leaf date-end-time { + type ios-types:hhmm-type; + } + leaf offset { + type uint16 { + range "1..1440"; + } + } + } + case recurring-case { + leaf recurring { + description + "Configure recurring summer time"; + type empty; + } + leaf recurring-start { + type union { + type uint8 { + range "1..4"; + } + type enumeration { + enum first; + enum last; + } + } + } + leaf recurring-start-day { + type ios-types:weekday-type; + } + leaf recurring-start-month { + type ios-types:month-type; + } + leaf recurring-start-time { + type ios-types:hhmm-type; + } + leaf recurring-end { + type union { + type uint8 { + range "1..4"; + } + type enumeration { + enum first; + enum last; + } + } + } + leaf recurring-end-day { + type ios-types:weekday-type; + } + leaf recurring-end-month { + type ios-types:month-type; + } + leaf recurring-end-time { + type ios-types:hhmm-type; + } + leaf recurring-offset { + type uint16 { + range "1..1440"; + } + } + } + } + } + container timezone { + description + "Configure time zone"; + leaf zone { + description + "Name of time zone"; + type string; + } + leaf offset { + status obsolete; + type enumeration { + enum +; + enum -; + } + } + leaf hours { + type int8 { + range "-23..23"; + } + } + leaf minutes { + type int8 { + range "0..59"; + } + } + } + } + uses config-logging-grouping; + container aaa { + description + "Authentication, Authorization and Accounting."; + } + uses config-privilege-grouping; + container login { + description + "Enable secure login checking"; + leaf delay { + description + "Set delay between successive fail login"; + type uint8 { + range "1..10"; + } + } + leaf password-reuse-interval { + description + "Number of days for reuse of passwords"; + type uint16 { + range "1..365"; + } + } + container on-failure { + description + "Set options for failed login attempt"; + presence "true"; + container log { + description + "Generate syslogs on failure logins"; + presence "true"; + leaf every { + description + "Periodicity for logs generated"; + type uint16 { + range "1..65535"; + } + } + } + } + container on-success { + description + "Set options for successful login attempt"; + presence "true"; + container log { + description + "Generate syslogs on successful logins"; + presence "true"; + leaf every { + description + "Periodicity for logs generated"; + type uint16 { + range "1..65535"; + } + } + } + } + container password-warning-interval { + description + "Configure password warning interval for user"; + leaf years { + description + "Set warning interval in year(s)"; + type uint8 { + range "0..99"; + } + } + leaf days { + description + "Configure password warning interval in day(s)"; + type uint8 { + range "0..30"; + } + } + leaf minutes { + description + "Configure password warning interval in minute(s)"; + type uint8 { + range "0..59"; + } + } + leaf seconds { + description + "Configure password warning interval in second(s)"; + type uint8 { + range "0..59"; + } + } + leaf months { + description + "Configure password Warning interval in month(s)"; + type uint8 { + range "0..11"; + } + } + leaf hours { + description + "Configure password warning interval in hour(s)"; + type uint8 { + range "0..23"; + } + } + } + container quiet-mode { + description + "Set quiet-mode options"; + leaf access-class { + description + "Set access class"; + type union { + type uint16 { + range "1..199|1300..2699"; + } + type string { + length "1..223"; + pattern '[a-zA-Z].*'; + } + } + } + } + container block-config { + leaf block-for { + description + "Set quiet-mode active time period"; + type uint16 { + range "1..65535"; + } + } + leaf attempts { + description + "Fail attempts max value"; + type uint16 { + range "1..65535"; + } + } + leaf within { + description + "Watch period for fail attempts"; + type uint16 { + range "1..65535"; + } + } + } + } + container multilink { + description + "PPP multilink global configuration"; + } + container mac-address-table { + description + "Configure the MAC address table"; + container evc-xconnect { + description + "All ethernet virtual connections xconnect"; + leaf l2pt-forward-all { + description + "Layer 2 Protocol Forward All"; + type empty; + } + } + container limit { + description + "Enter parameters for mac limit feature"; + list bdomain { + description + "bdomain number for mac limit feature"; + key "number"; + leaf number { + type uint16 { + range "1..4095"; + } + } + leaf action { + description + "Enter action"; + type enumeration { + enum warning; + enum limit; + enum shutdown; + } + } + leaf maximum { + description + "Enter max allowed entries"; + type uint32 { + range "0..16000"; + } + } + } + } + container learning { + description + "Enable a MAC table learning feature"; + list vlan { + description + "Layer 2 table learning per VLAN"; + key "id"; + leaf id { + type uint16 { + range "1..4094"; + } + } + leaf module { + description + "Layer 2 table learning per VLAN per module"; + type uint8 { + range "1..9"; + } + } + } + } + } + container redundancy { + description + "Enter redundancy mode"; + presence "true"; + container application { + description + "Enter application redundancy group mode"; + container redundancy { + description + "Enter application redundancy group mode"; + presence "true"; + list group { + description + "Enter rg group mode"; + key "id"; + leaf id { + description + "rg group id"; + type uint8 { + range "1..2"; + } + } + container asymmetric-routing { + description + "RG asymmetric routing"; + container always-divert { + description + "RG asymmetric routing always divert"; + leaf enable { + description + "RG asymmetric routing always divert enable"; + type empty; + } + } + container interface { + description + "RG asymmetric routing interface"; + uses ios:interface-with-dependency-grouping { + refine "interface-choice/AppNav-Compress/AppNav-Compress"; + refine "interface-choice/AppNav-UnCompress/AppNav-UnCompress"; + refine "interface-choice/ATM-ACR/ATM-ACR"; + refine "interface-choice/ATM-ACRsubinterface/ATM-ACRsubinterface/ATM-ACR"; + refine "interface-choice/BDI/BDI"; + refine "interface-choice/CEM/CEM"; + refine "interface-choice/CEM-ACR/CEM-ACR"; + refine "interface-choice/Embedded-Service-Engine/Embedded-Service-Engine"; + refine "interface-choice/Ethernet/Ethernet"; + refine "interface-choice/FastEthernet/FastEthernet"; + refine "interface-choice/GigabitEthernet/GigabitEthernet"; + refine "interface-choice/FiveGigabitEthernet/FiveGigabitEthernet"; + refine "interface-choice/AppGigabitEthernet/AppGigabitEthernet"; + refine "interface-choice/TwentyFiveGigE/TwentyFiveGigE"; + refine "interface-choice/TwoGigabitEthernet/TwoGigabitEthernet"; + refine "interface-choice/FortyGigabitEthernet/FortyGigabitEthernet"; + refine "interface-choice/FiftyGigabitEthernet/FiftyGigabitEthernet"; + refine "interface-choice/HundredGigE/HundredGigE"; + refine "interface-choice/TwoHundredGigE/TwoHundredGigE"; + refine "interface-choice/FourHundredGigE/FourHundredGigE"; + refine "interface-choice/L2LISP/L2LISP"; + refine "interface-choice/L2LISP-subinterface/L2LISP-subinterface/L2LISP"; + refine "interface-choice/LISP/LISP"; + refine "interface-choice/LISP-subinterface/LISP-subinterface/LISP"; + refine "interface-choice/Loopback/Loopback"; + refine "interface-choice/LORAWAN/LORAWAN"; + refine "interface-choice/WPAN/WPAN"; + refine "interface-choice/Virtual-WPAN/Virtual-WPAN"; + refine "interface-choice/Multilink/Multilink"; + refine "interface-choice/nve/nve"; + refine "interface-choice/overlay/overlay"; + refine "interface-choice/Port-channel/Port-channel"; + refine "interface-choice/Port-channel-subinterface/Port-channel-subinterface/Port-channel"; + refine "interface-choice/PRP-channel/PRP-channel"; + refine "interface-choice/pseudowire/pseudowire"; + refine "interface-choice/SM/SM"; + refine "interface-choice/Cellular/Cellular"; + refine "interface-choice/Dialer/Dialer"; + refine "interface-choice/Serial/Serial"; + refine "interface-choice/Async/Async"; + refine "interface-choice/TenGigabitEthernet/TenGigabitEthernet"; + refine "interface-choice/Tunnel/Tunnel"; + refine "interface-choice/Virtual-Template/Virtual-Template"; + refine "interface-choice/Vlan/Vlan"; + refine "interface-choice/VirtualPortGroup/VirtualPortGroup"; + refine "interface-choice/vasileft/vasileft"; + refine "interface-choice/vasiright/vasiright"; + refine "interface-choice/BD-VIF/BD-VIF"; + refine "interface-choice/MFR/MFR"; + refine "interface-choice/Serial-subinterface/Serial-subinterface/Serial"; + refine "interface-choice/Bundle/Bundle"; + } + } + } + container name { + description + "RG group name string"; + leaf group-name { + description + "name string (25 chars. max)"; + type string { + length "1..25"; + } + } + } + container control { + description + "RG group control interface"; + leaf interface { + description + "Interface to be used as RG control interface"; + type string; + } + leaf protocol { + description + "RG group protocol media"; + when '../interface'; + type uint8 { + range "1..8"; + } + } + } + leaf data { + description + "RG group data interface"; + type string; + } + leaf preempt { + description + "RG group preempt"; + type empty; + } + leaf path-optimization { + description + "Enable Path Optimization"; + type empty; + } + container tloc-change { + description + "Change TLOC based on RG state"; + leaf increase-preference { + description + "Increase the TLOC preference on RG primary"; + type uint32 { + range "1..4294967295"; + } + } + } + container timers { + description + "RG group timers"; + leaf delay { + description + "RG group delay timer. value in seconds"; + type uint16 { + range "0..10000"; + } + } + leaf reload { + description + "RG group reload timer. Value in seconds"; + when '../delay'; + type uint16 { + range "0..10000"; + } + } + } + container priority { + description + "RG group Priority"; + leaf value { + description + "Priority value"; + type uint8 { + range "1..255"; + } + } + container failover { + description + "Failover Threshold"; + when '../value'; + leaf threshold { + description + "Failover Threshold"; + type uint8 { + range "1..255"; + } + } + } + leaf failover-threshold { + status obsolete; + description + "Failover Threshold"; + when '../value'; + type uint8 { + range "1..255"; + } + } + } + leaf-list vpn { + description + "Configure VPN ID with redundancy group. Multiple VPN IDs can be configured under a redundancy group. + Same VPN ID can't be configured in multiple redundancy groups. If there is need to configure a VPN ID + to different redundancy group, first delete that VPN from the existing redundancy group"; + type uint32 { + range "0..65535"; + } + } + leaf track-enable { + description + "Track object to notify state changes in RG-Group. + Same Track object will be used at consumer side to get notification for RG-Group state"; + type uint16 { + range "1..32767"; + } + } + leaf shutdown { + description + "Shutdown the selected group"; + type empty; + } + container init-role { + description + "RG init role"; + choice active-or-standby { + case active-case { + leaf active { + type empty; + description + "RG Active"; + } + } + case standby-case { + leaf standby { + type empty; + description + "RG Standby"; + } + } + } + } + } + leaf dampening { + description + "Configure interface dampening"; + type uint16 { + range "100..10000"; + } + } + list protocol { + description + "Enter rg protocol mode"; + key "id"; + leaf id { + description + "RG Protocol Id"; + type uint8 { + range "1..8"; + } + } + container authentication { + description + "Authentication"; + choice auth-options { + case auth-md5 { + container md5 { + description + "Use MD5 authentication"; + choice key-option { + case kchain { + leaf key-chain { + description + "Set key chain"; + type string; + } + } + case kstring { + container key-string { + description + "Set key string"; + leaf encrypt { + type enumeration { + enum 0; + enum 7; + } + default "0"; + } + leaf word { + description + "Key string"; + type string; + } + leaf timeout { + description + "Set timeout"; + type uint16 { + range "0..32767"; + } + } + } + } + } + } + } + case auth-text { + container text { + description + "Plain text authentication"; + choice text-options { + case text-string { + leaf word { + description + "Plain text authentication string"; + type string { + length "1..8"; + } + } + } + case encryption-type { + leaf encrypt { + description + "Specifies a HIDDEN text will follow"; + type enumeration { + enum 7; + } + } + leaf auth-string { + description + "Plain text authentication string"; + type string; + } + } + } + } + } + } + } + leaf bfd { + description + "RG protocol bfd"; + type empty; + } + leaf name { + description + "RG protocol name string"; + type string { + length "1..25"; + } + } + container timers { + description + "Hello and hold timers"; + container hellotime { + description + "Specify hello timer"; + choice hellotime-choice { + case msec-case { + container msec { + description + "Specify hello interval in milliseconds"; + leaf msec-value { + type uint16 { + range "250..1000"; + } + } + leaf holdtime { + description + "Specify hold timer in milliseconds"; + type empty; + } + leaf msec { + must 'current() >= (../msec-value * 3)' { + error-message "Invalid hello time,hold time parameters"; + } + description + "holdtime in msec"; + type uint16 { + range "750..10000"; + } + } + } + } + case hellotime-case { + container hellotime-config { + leaf hellotime-value { + description + "Hello interval in seconds"; + type uint16 { + range "1..254"; + } + } + leaf holdtime { + description + "Hold time in seconds"; + must 'current() > ../hellotime-value' { + error-message "Invalid hello time,hold time parameters"; + } + type uint16 { + range "2..255"; + } + } + } + } + } + } + } + } + } + } + leaf maintenance-mode { + description + "Enable/Disable maintenance mode "; + type empty; + } + container main-cpu { + description + "Enter main-cpu mode"; + presence "true"; + container auto-sync { + leaf running-config { + type empty; + } + leaf config-register { + type empty; + } + leaf bootvar { + type empty; + } + leaf standard { + type empty; + } + } + container standby { + description + "Standby"; + container console { + description + "Console"; + leaf enable { + description + "Enable"; + type empty; + } + } + container initialization { + description + "Initialization"; + container delay { + description + "Delay"; + leaf second { + description + "Delay value in seconds"; + type uint16 { + range "30..1800"; + } + } + leaf boot-only { + description + "Delay effective only on system boot"; + type empty; + } + } + } + } + } + leaf mode { + description + "redundancy mode for this chassis"; + type enumeration { + enum rpr; + enum rpr-plus; + enum sso; + enum none; + } + } + leaf notification-timer { + description + "Specify Redundancy notification timer (milliseconds)"; + type uint16 { + range "8000..30000"; + } + } + container policy { + description + "redundancy policy enforcement"; + container config-sync { + description + "config sync parameters"; + container bulk { + description + "bulk configuration mode"; + container prc { + description + "prc policy enforcement"; + leaf reload { + description + "reload standby"; + type boolean; + } + } + } + container lbl { + description + "line-by-line configuration mode"; + container prc { + description + "prc policy enforcement"; + leaf reload { + description + "reload standby"; + type boolean; + } + } + } + } + } + container timer { + description + "Select a timer to configure"; + leaf rpso { + description + "Delay value in seconds"; + type uint16 { + range "120..1200"; + } + } + } + container interchassis { + description + "Enter interchassis mode"; + list group { + description + "Enter the redundancy group number"; + key "group-number"; + leaf group-number { + type uint64 { + range "1..4294967295"; + } + } + container monitor { + description + "define the peer monitoring method"; + leaf peer { + description + "the peer method"; + type empty; + } + leaf bfd { + description + "set peer monitoring method to bfd"; + type empty; + } + } + container member { + description + "specify a redundancy group member"; + leaf ip { + description + "specify the redundancy group member using an ip address"; + type inet:ipv4-address; + } + } + container backbone { + description + "specify a redundancy group member"; + leaf-list interface-list { + ordered-by user; + type string; + } + container interface { + status obsolete; + uses ios-ifc:interface-obsolete-grouping; + } + } + } + } + } + container scheduler { + description + "Scheduler parameters"; + leaf interval { + description + "Maximum interval before running lowest priority process"; + type uint32 { + range "100..2147483647"; + } + } + container runtime { + description + "Process runtime controls"; + leaf netinput { + description + "Process-switching run time (in milliseconds)"; + type uint16 { + range "100..40000"; + } + } + } + container allocate { + description + "Guarantee CPU time for processes"; + leaf interrupt-time { + type uint16 { + range "400..60000"; + } + } + leaf process-time { + type uint16 { + range "100..4000"; + } + } + } + } + container epm { + description + "EPM Global Configuration Commands"; + leaf logging { + description + "Enable EPM logging"; + type empty; + } + } + container spanning-tree { + description + "Spanning Tree Subsystem"; + } + container subscriber-config { + description + "Subscriber configuration"; + container template-config { + leaf templating { + description + "Configure subscriber templating"; + type boolean; + default "true"; + } + } + container service { + description + "Configure subscriber policy service parameters"; + leaf multiple-accept { + description + "Allow multiple services on access-accept"; + type empty; + } + leaf coa-rfc-compliant { + description + "Send RFC 3576 compliant CoA messages"; + type empty; + } + } + container policy { + leaf format_option82_for_cats { + description + "Enable remote-id and circuit-id formatting for cat + switches for backward compatibility"; + type boolean; + default "false"; + } + container recording { + description + "policy subscriber recording settings"; + container profile { + description + "Record profiles as they download"; + leaf service { + description + "Record service profiles as they download"; + type boolean; + default "true"; + } + leaf user { + description + "Record user profiles as they download"; + type boolean; + default "true"; + } + } + container rules-conf { + leaf rules { + type boolean; + default "true"; + } + } + container rules-limit { + container rules { + description + "Record subscriber rules, condition and actions as they execute"; + leaf limit { + description + "Place a limit on the number of rule events we will record"; + type uint8 { + range "0..100"; + } + default "64"; + } + } + } + } + } + container session { + description + "Session configurations"; + leaf auto-service-fail-ignore { + description + "Ignores failed services and apply other services + present in access-accept"; + type empty; + } + } + container redundancy { + container bulk { + container limit { + leaf time { + type uint32 { + range "1..3000"; + } + default "480"; + } + } + } + } + } + container subscriber { + description + "Subscriber configuration"; + status deprecated; + leaf templating { + status deprecated; + description + "Configure subscriber templating"; + type empty; + } + } + container track { + description + "Object tracking configuration commands"; + } + container dot1x { + description + "IEEE 802.1X Global Configuration Commands"; + } + container mab { + description + "mab Configuration Commands"; + container logging { + description + "Set logging parameters"; + leaf verbose { + description + "Show verbose messages in system logs"; + type empty; + } + } + container request { + description + "Customize MAB request"; + container format { + description + "Configure the customized MAB request format"; + container attribute { + description + "Format selected attributes"; + container one { + description + "Username format used for MAB requests"; + container groupsize { + description + "Specify how may hex digits per group"; + leaf size { + description + "specify how many digits per group"; + type uint8 { + range "1|2|4|6|12"; + } + } + leaf separator { + description + "Specify how to separate groups"; + type enumeration { + enum -; + enum .; + enum :; + } + } + leaf case { + description + "Username will be sent in lower-case/upper-case format"; + type enumeration { + enum lowercase; + enum uppercase; + } + } + } + } + container two { + description + "Global Password used for all MAB requests"; + leaf type { + description + "0 Specifies an UNENCRYPTED password will follow + 7 Specifies a HIDDEN password will follow"; + type enumeration { + enum 0; + enum 7; + } + } + leaf LINE { + description + "The UNENCRYPTED (cleartext) password"; + type string; + } + } + container thirty-two { + description + "NAS-Identifier attribute"; + container vlan { + description + "Add the vlan"; + leaf access-vlan { + description + "Add the configured access vlan"; + type empty; + } + } + } + } + } + } + } + container fallback { + description + "Fallback configuration commands"; + } + container parameter-map { + description + "parameter map"; + container type { + description + "parameter map type"; + } + } + container ppp { + description + "PPP global configuration"; + } + container mac { + description + "Global MAC configuration subcommands"; + container address-table { + description + "Configure the MAC address table"; + container aging-time { + description + "Set MAC address table entry maximum age"; + leaf val { + type uint32 { + range "0 | 10..1000000"; + } + } + leaf routed-mac { + description + "Set RM Aging interval"; + type empty; + } + leaf vlan { + description + "VLAN Keyword"; + type uint16 { + range "1..4094"; + } + } + } + leaf control-packet-learn { + description + "Enable/Disable learning from Control Packets"; + type empty; + } + container learning { + description + "Enable MAC table learning feature"; + leaf vlan { + description + "<1-4094>,VLAN id to enable MAC Address learning"; + type uint16 { + range "1..4094"; + } + } + } + container notification { + description + "Enable/Disable MAC Notification on the switch"; + container change { + description + "Enable/Disable MAC Notification feature on the switch"; + presence "true"; + leaf history-size { + description + "Number of entries in history table (0-500)"; + type uint16 { + range "0..500"; + } + } + leaf interval { + description + "Notification interval in seconds (0-2147483647)"; + type uint32 { + range "0..2147483647"; + } + } + } + leaf mac-move { + description + "Enable Mac Move Notification"; + type empty; + } + container threshold { + description + "Configure L2 Table monitoring"; + presence "true"; + leaf interval { + description + "<120-1000000> Interval time in seconds"; + type uint32 { + range "120..1000000"; + } + } + container limit { + description + "Limit percentage"; + leaf percentage { + description + "Percentage (0-100)"; + type uint8 { + range "0..100"; + } + } + leaf interval { + description + "<120-1000000> Interval time in seconds"; + type uint32 { + range "120..1000000"; + } + } + } + } + } + list static { + description + "Static MAC entry"; + key "mac-address vlan"; + leaf mac-address { + description + "xxxx.xxxx.xxxx 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + leaf vlan { + description + "<1-4094> VLAN id of mac address table (1-4094)"; + type uint16 { + range "1..4094"; + } + } + choice static-mac-choice { + case drop-case { + leaf drop { + description + "drop frames"; + type empty; + } + } + case interface-case { + leaf-list interface { + description + "Output interface exact long name"; + type string; + } + } + } + } + } + } + container tacacs { + description + "TACACS server configuration command"; + } + container tacacs-server { + description + "Modify TACACS query parameters"; + } + container scada-gw { + if-feature "ios-features:scada-gw"; + description + "SCADA Gateway configuration commands"; + } + container software { + description + "Configure software installation parameters"; + container auto-upgrade { + description + "Configure software auto upgrade parameters"; + leaf enable { + description + "Enable the auto upgrade installation feature"; + type empty; + } + } + } + container upgrade { + description + "Global upgrade configuration subcommands"; + container fpd { + description + "Configure field programmable devices upgrade options"; + leaf auto { + description + "Auto upgrade all FPD images"; + type empty; + } + leaf path { + description + "Set path to locate the FPD image package file for auto upgrade"; + type string; + } + } + } + container vtp { + description + "Configure global VTP state"; + } + container xconnect; + container fabric { + description + "Catalyst 6000 crossbar fabric configuration commands"; + container switching-mode { + description + "Switching mode settings"; + container allow { + description + "Allow settings"; + choice allow-choice { + leaf bus-mode { + description + "Allow switching in bus mode for modules"; + type empty; + } + container truncated { + description + "Truncated switching mode"; + presence "true"; + leaf threshold { + description + "Number of SFM-capable modules for truncated switching mode. Switch applies the threshold only when the mode is disallowed. Switch ignores the threshold when the truncated mode is allowed"; + type uint8 { + range "1..9"; + } + } + } + } + } + container force { + description + "Force modules to different switching modes"; + leaf bus-mode { + description + "Switching mode of service modules will be forced to bus-mode by powercycling it."; + type empty; + } + } + } + } + container lacp { + description + "LACP interface subcommands"; + leaf system-priority { + description + "LACP priority for the System "; + default "32768"; + type uint16; + } + } + container port-channel { + description + "EtherChannel configuration"; + } + container key { + description + "Key management"; + } + container l2 { + description + "Layer 2 configuration"; + leaf router-id { + description + "Configure a layer 2 identifier"; + type inet:ipv4-address; + } + } + container system { + description + "Set the system configuration"; + } + container errdisable { + description + "Error disable"; + container detect { + description + "Error disable detection"; + container cause-config { + description + "Enable error disable detection for application"; + leaf all { + description + "Enable error detection on all cases"; + type boolean; + default "true"; + } + leaf arp-inspection { + description + "Enable error detection for arp inspection"; + type boolean; + default "true"; + } + container bpduguard { + description + "Enable error detection on bpdu-guard"; + container shutdown { + description + "Specify error disable shutdown mode for 802.1x-guard"; + leaf vlan { + description + "Shutdown vlan on 802.1x-guard violation"; + type boolean; + default "true"; + } + } + } + leaf dhcp-rate-limit { + description + "Enable error detection on dhcp-rate-limit"; + type boolean; + default "true"; + } + leaf dtp-flap { + description + "Enable error detection on dtp-flapping"; + type boolean; + default "true"; + } + leaf gbic-invalid { + description + "Enable error detection on gbic-invalid"; + type boolean; + default "true"; + } + leaf inline-power { + description + "Enable error detection for inline-power"; + type boolean; + default "true"; + } + leaf l2ptguard { + description + "Enable timer to recover from l2protocol-tunnel error disable state"; + type boolean; + default "true"; + } + leaf link-flap { + description + "Enable error detection on linkstate-flapping"; + type boolean; + default "true"; + } + leaf loopback { + description + "Enable error detection on loopback"; + type boolean; + default "true"; + } + leaf mlacp-minlink { + type boolean; + default "true"; + } + leaf pagp-flap { + description + "Enable error detection on pagp-flapping"; + type boolean; + default "true"; + } + leaf pppoe-ia-rate-limit { + description + "Enable error detection on PPPoE IA rate-limit"; + type boolean; + default "true"; + } + container security-violation { + description + "Enable error detection on 802.1x-guard"; + container shutdown { + description + "Specify error disable shutdown mode for 802.1x-guard"; + leaf vlan { + description + "Shutdown vlan on 802.1x-guard violation"; + type boolean; + default "true"; + } + } + } + leaf sfp-config-mismatch { + description + "Enable error detection on SFP config mismatch"; + type boolean; + default "true"; + } + leaf small-frame { + description + "Enable error detection on small_frame"; + type boolean; + default "true"; + } + leaf loopdetect { + description + "Enable error detection on loop detect"; + type boolean; + default "true"; + } + leaf udld { + description + "Enable error detection on udld"; + type boolean; + default "true"; + } + container psp { + description + "Enable error detection on PSP"; + container shutdown { + description + "Specify error disable shutdown mode for psp"; + leaf vlan { + description + "Shutdown vlan on psp influx of protocol rate"; + type boolean; + default "true"; + } + } + } + } + container cause { + status deprecated; + description + "Enable error disable detection for application"; + leaf all { + status deprecated; + description + "Enable error detection on all cases"; + type empty; + } + leaf arp-inspection { + status deprecated; + description + "Enable error detection for arp inspection"; + type empty; + } + leaf bpduguard { + status deprecated; + description + "Enable error detection on bpdu-guard"; + type empty; + } + leaf dhcp-rate-limit { + status deprecated; + description + "Enable error detection on dhcp-rate-limit"; + type empty; + } + leaf dtp-flap { + status deprecated; + description + "Enable error detection on dtp-flapping"; + type empty; + } + leaf gbic-invalid { + status deprecated; + description + "Enable error detection on gbic-invalid"; + type empty; + } + leaf inline-power { + status deprecated; + description + "Enable error detection for inline-power"; + type empty; + } + leaf l2ptguard { + status deprecated; + description + "Enable timer to recover from l2protocol-tunnel error disable state"; + type empty; + } + leaf link-flap { + status deprecated; + description + "Enable error detection on linkstate-flapping"; + type empty; + } + leaf loopback { + status deprecated; + description + "Enable error detection on loopback"; + type empty; + } + leaf mlacp-minlink { + status deprecated; + type empty; + } + leaf pagp-flap { + status deprecated; + description + "Enable error detection on pagp-flapping"; + type empty; + } + leaf pppoe-ia-rate-limit { + status deprecated; + description + "Enable error detection on PPPoE IA rate-limit"; + type empty; + } + container security-violation { + status deprecated; + description + "Enable error detection on 802.1x-guard"; + container shutdown { + status deprecated; + description + "Specify error disable shutdown mode for 802.1x-guard"; + leaf vlan { + status deprecated; + description + "Shutdown vlan on 802.1x-guard violation"; + type empty; + } + } + } + leaf sfp-config-mismatch { + status deprecated; + description + "Enable error detection on SFP config mismatch"; + type empty; + } + leaf small-frame { + status deprecated; + description + "Enable error detection on small_frame"; + type empty; + } + leaf loopdetect { + status deprecated; + description + "Enable error detection on loop detect"; + type boolean; + default "true"; + } + } + } + container flap-setting { + description + "Error disable flap detection setting"; + container cause { + description + "Set error disable flap parameters for application"; + container dtp-flap { + description + "Set the variables related to detection of dtp flaps"; + leaf max-flaps { + description + "maximum flaps allowed before setting to errdisable"; + type uint8 { + range "1..100"; + } + } + leaf time { + description + "time period the flaps are counted"; + type uint8 { + range "1..120"; + } + } + } + container link-flap { + description + "Set the variables related to detection of link flaps"; + leaf max-flaps { + description + "maximum flaps allowed before setting to errdisable"; + type uint8 { + range "1..100"; + } + } + leaf time { + description + "time period the flaps are counted"; + type uint8 { + range "1..120"; + } + } + } + container pagp-flap { + description + "Set the variables related to detection of pagp flaps"; + leaf max-flaps { + description + "maximum flaps allowed before setting to errdisable"; + type uint8 { + range "1..100"; + } + } + leaf time { + description + "time period the flaps are counted"; + type uint8 { + range "1..120"; + } + } + } + } + } + container recovery { + description + "Error disable recovery"; + container cause { + description + "Enable error disable recovery for application"; + leaf all { + status deprecated; + description + "Enable timer to recover from all error causes (DEPRECATED)"; + type empty; + } + leaf arp-inspection { + description + "Enable timer to recover from arp inspection error disable state"; + type empty; + } + leaf bpduguard { + description + "Enable timer to recover from BPDU Guard error"; + type empty; + } + leaf channel-misconfig { + description + "(STP) Enable timer to recover from channel misconfiguration error"; + type empty; + } + leaf dhcp-rate-limit { + description + "Enable timer to recover from dhcp-rate-limit error"; + type empty; + } + leaf dtp-flap { + description + "Enable timer to recover from dtp-flap error"; + type empty; + } + leaf gbic-invalid { + description + "Enable timer to recover from invalid GBIC error"; + type empty; + } + leaf inline-power { + description + "Enable timer to recover from inline-power error"; + type empty; + } + leaf l2ptguard { + description + "Enable timer to recover from l2protocol-tunnel error disable state"; + type empty; + } + leaf link-flap { + description + "Enable timer to recover from link-flap error"; + type empty; + } + leaf link-monitor-failure { + type empty; + } + leaf loopback { + description + "Enable timer to recover from loopback error"; + type empty; + } + leaf mac-limit { + description + "Enable timer to recover from mac limit disable state"; + type empty; + } + leaf mlacp-minlink { + type empty; + } + leaf mrp-miscabling { + description + "Enable timer to recover from mrp miscabling disable state"; + type empty; + } + container oam-remote-failure { + presence "true"; + leaf critical-event { + type empty; + } + leaf dying-gasp { + type empty; + } + leaf link-fault { + type empty; + } + } + leaf pagp-flap { + description + "Enable timer to recover from pagp-flap error"; + type empty; + } + leaf port-mode-failure { + description + "Enable timer to recover from port mode change failure"; + type empty; + } + leaf pppoe-ia-rate-limit { + description + "Enable timer to recover from PPPoE IA rate-limit error"; + type empty; + } + leaf psp { + type empty; + } + leaf psecure-violation { + description + "Enable timer to recover from psecure violation error"; + type empty; + } + leaf security-violation { + description + "Enable timer to recover from 802.1x violation error"; + type empty; + } + leaf sfp-config-mismatch { + description + "Enable timer to recover from SFP config mismatch error"; + type empty; + } + leaf small-frame { + description + "Enable timer to recover from small frame error"; + type empty; + } + leaf storm-control { + description + "Enable timer to recover from storm-control error"; + type empty; + } + leaf udld { + description + "Enable timer to recover from udld error"; + type empty; + } + leaf unicast-flood { + type empty; + } + leaf vmps { + description + "Enable timer to recover from vmps shutdown error"; + type empty; + } + leaf loopdetect { + description + "Enable timer to recover from loop detect error"; + type empty; + } + } + leaf interval { + description + "Error disable recovery timer value"; + type uint32 { + range "30..86400"; + } + } + } + } + container nat { + description + "nat scale support"; + leaf scale { + description + "enable nat scale"; + type boolean; + } + } + container identity { + description + "Identity Configuration Commands"; + list policy { + description + "Create an Identity policy"; + key "name"; + leaf name { + description + "Specify a policy name"; + type string; + } + container no { + description + "Negate a command or set its defaults"; + uses identity-policy-grouping; + } + uses identity-policy-grouping; + } + container profile { + description + "Create an Identity profile"; + leaf dot1x { + description + "Service type for 802.1x"; + type empty; + } + leaf default { + description + "Service type default"; + type empty; + } + } + } + grouping monitor-event-trace-enable-disable-grouping { + leaf enable { + status obsolete; + type empty; + } + leaf disable { + status obsolete; + type empty; + } + } + + container monitor { + description + "Monitoring different system events"; + container event-trace { + description + "Tracing of system events"; + container timestamps { + presence "true"; + description + "Format of event trace timestamps"; + leaf uptime { + description + "Timestamp with system uptime"; + type empty; + } + } + leaf arp { + description + "Enable or disable handling of ARP (Address Resolution Protocol) events."; + type empty; + } + container ipv6 { + description + "Configuration related to IPv6."; + leaf nd { + description + "Enable or disable Neighbor Discovery for IPv6."; + type empty; + } + } + container atom { + description + "ATOM traces"; + container atom-error-enable { + leaf error { + description + "This buffer stores all logs by default."; + type empty; + } + } + container atom-events-enable { + leaf event { + description + "This buffer stores all logs by default."; + type empty; + } + } + container atom-major-enable { + leaf major { + description + "This buffer stores all logs by default."; + type empty; + } + } + container error { + description + "This buffer stores only error logs by default.(OBSOLETE)"; + status obsolete; + uses monitor-event-trace-enable-disable-grouping; + leaf-list include { + description + "Include a subset of debug types (OBSOLETE)"; + status obsolete; + type monitor-event-type; + } + } + container event { + description + "This buffer stores all logs by default. (OBSOLETE)"; + uses monitor-event-trace-enable-disable-grouping; + status obsolete; + leaf size { + status obsolete; + type uint32; + } + leaf-list exclude { + description + "Include a subset of debug types (OBSOLETE)"; + status obsolete; + type monitor-event-type; + } + } + container major { + description + "This buffer stores only major logs and error logs by default. (OBSOLETE)"; + uses monitor-event-trace-enable-disable-grouping; + status obsolete; + leaf-list include { + description + "Include a subset of debug types (OBSOLETE)"; + status obsolete; + type monitor-event-type; + } + } + } + container l2fib { + description + "L2FIB traces"; + container l2fib-error-enable { + leaf error { + description + "This buffer stores all logs by default."; + type empty; + } + } + container l2fib-events-enable { + leaf event { + description + "This buffer stores all logs by default."; + type empty; + } + } + container l2fib-events-options { + container event { + description + "L2FIB Events"; + container exclude { + description + "Exclude a subset of debug types"; + leaf detail { + description + "L2FIB detailed events"; + type empty; + } + } + } + } + } + container eigrp { + description + "Monitor event trace configuration for EIGRP"; + leaf dump-file { + description + "Name of dump file containing merged traces. Specifies the file + where event trace messages are written from memory on the + networking device. The maximum length of the filename (path and + filename) is 100 characters, and the path can point to flash + memory on the networking device or to a TFTP or FTP server."; + type string { + length "1..100"; + } + } + container perf-events-enable { + leaf perf-events { + description + "EIGRP Performance Events"; + default "false"; + type boolean; + } + } + container perf-events-options { + container perf-events { + description + "EIGRP Performance Events"; + leaf dump-file { + description + "Name of dump file containing merged traces. Specifies the file + where event trace messages are written from memory on the + networking device. The maximum length of the filename (path and + filename) is 100 characters, and the path can point to flash + memory on the networking device or to a TFTP or FTP server."; + type string { + length "1..100"; + } + } + leaf rate-limiting { + description + "Rate limiting the logs. No of packets to rate limit (1 is default, no rate-limiting)"; + type uint8 { + range "1..100"; + } + default "1"; + } + leaf size { + description + "Number of entries in trace"; + type uint32 { + range "1..1000000"; + } + default "10000"; + } + container stacktrace { + description + "Enables the stack trace at tracepoints"; + presence "true"; + leaf stacktrace_value { + description + "The number of stack frame details that are stored"; + type uint8 { + range "1..16"; + } + default "8"; + } + } + } + } + } + leaf sequence-number { + description + "Display event trace entries with sequence number"; + type empty; + } + } + container drop { + description + "Match the event condition of drop packet"; + container log { + description + "Unicast Reverse Path Forwarding (URPF) logging"; + leaf urpf { + description + "Unicast Reverse Path Forwarding logging"; + type empty; + } + } + } + list session { + description + "Configure a SPAN session"; + key "id"; + leaf id { + type uint8 { + range "1..66"; + } + } + container destination { + description + "SPAN destination interface or VLAN"; + list interface { + description + "SPAN destination interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + leaf encapsulation { + description + "Set encapsulation for destination interface"; + type enumeration { + enum dot1q; + enum isl; + enum replicate; + } + } + leaf ingress { + description + "Enable ingress traffic forwarding"; + type empty; + } + leaf ingress-encap { + when '../ingress'; + type enumeration { + enum dot1q; + enum isl; + enum untagged; + } + } + leaf vlan { + description + "Set default VLAN for untagged ingress traffic"; + when '../ingress'; + type uint16 { + range "1..4094"; + } + } + } + container remote { + description + "SPAN destination Remote"; + leaf vlan { + description + "Remote SPAN destination RSPAN VLAN"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + } + container filter { + description + "SPAN filter VLAN"; + container packet-type { + leaf status { + type enumeration { + enum good; + enum bad; + } + } + leaf direction { + type enumeration { + enum rx; + enum tx; + } + } + } + container ip { + description + "Specify IP Access control rules"; + container access-group { + description + "Specify access control group"; + leaf acl-name { + description + "Access-list name"; + type string; + } + } + } + } + container source { + description + "SPAN source interface, VLAN "; + list interface { + description + "SPAN source interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + leaf direction { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + list vlan-list { + description + "SPAN source VLAN"; + key "vlan_set"; + leaf vlan_set { + type uint16 { + range "1..4094"; + } + } + leaf direction_set { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + container vlan { + status deprecated; + description + "SPAN source VLAN (DEPRECATED)"; + leaf vlan { + status deprecated; + type uint16 { + range "1..4094"; + } + } + leaf direction { + status deprecated; + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + container remote { + description + "SPAN source Remote"; + leaf vlan { + description + "Remote SPAN source RSPAN VLAN <1-1001>|<1006-4094>"; + type uint16 { + range "1..1001 | 1006..4094"; + } + } + } + } + container type { + description + "Type of monitor session"; + container erspan-source { + description + "Encapsulated RSPAN Source Session"; + presence "true"; + leaf description { + description + "Description for this session"; + type string; + } + container source { + description + "SPAN source interface, VLAN "; + list interface { + description + "SPAN source interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + leaf direction { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + list vlan { + description + "SPAN source VLAN"; + key "vlan1"; + leaf vlan1 { + type uint16 { + range "1..4094"; + } + } + leaf direction { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + } + container filter { + description + "SPAN filter VLAN"; + list vlan { + key "vlan1"; + leaf vlan1 { + type uint16 { + range "1..4094"; + } + } + } + container ip { + description + "Specify IP Access control rules"; + container access-group { + description + "Specify access control group"; + leaf acl-name { + description + "Access-list name"; + type string; + } + } + } + container ipv6 { + description + "Specify IPv6 Access control rules"; + container access-group { + description + "Specify access control group"; + leaf acl-name { + description + "Access-list name"; + type string; + } + } + } + container mac { + description + "Specify MAC Access control rules"; + container access-group { + description + "Specify access control group"; + leaf acl-name { + description + "Access-list name"; + type string; + } + } + } + leaf access-group { + if-feature "ios-features:routing-platform"; + description + "Access control group"; + type ios-types:access-list-standard-id-type-non-default; + } + leaf sgt { + description + "SPAN source SGT"; + type uint16 { + range "0..65535"; + } + } + } + leaf header-type { + description + "ERSPAN header-type for encapsulation. Default is type 2"; + type uint8 { + range "2..3"; + } + } + leaf shutdown-source { + description + "Take the Service Instance out of Service"; + type boolean; + default "true"; + } + leaf shutdown { + description + "Take the Service Instance out of Service"; + status obsolete; + type empty; + } + container destination { + description + "Specify Destination and their properties"; + presence "true"; + container ip { + description + "IP Properties"; + leaf address { + description + "Enter IP Address"; + type inet:ipv4-address; + } + leaf ttl { + description + "IP TTL"; + type uint16 { + range "2..255"; + } + } + leaf dscp { + description + "IP QOS DSCP"; + type uint16 { + range "0..63"; + } + } + } + leaf erspan-id { + description + "Enter ERSPAN Identifier"; + type uint16 { + range "1..1023"; + } + } + leaf mtu { + description + "ERSpan MTU"; + type uint16 { + range "176..9000"; + } + } + leaf vrf { + description + "Enter VRF number"; + type string; + } + container origin { + description + "Origin IP Properties"; + container ip { + description + "origin IP Properties"; + leaf address { + description + "Enter IP Address"; + type inet:ipv4-address; + } + } + } + } + } + container erspan-destination { + description + "Encapsulated RSPAN Destination Session"; + presence "true"; + leaf description { + description + "Properties for this session"; + type string; + } + container destination { + description + "SPAN destination interface, VLAN "; + list interface { + description + "SPAN destination interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + } + leaf vlan { + description + "Remote SPAN destination RSPAN VLAN <1-1001>|<1006-4094>"; + type uint16 { + range "1..1001 | 1006..4094"; + } + } + } + leaf shutdown-destination { + description + "Shutdown this session"; + type boolean; + default "true"; + } + leaf shutdown { + description + "Shutdown this session"; + status obsolete; + type empty; + } + container source { + description + "Specify Source and their properties"; + presence "true"; + container ip { + description + "IP Address"; + leaf address { + description + "Enter IP Address"; + type inet:ipv4-address; + } + } + leaf erspan-id { + description + "Enter ERSPAN Identifier"; + type uint16 { + range "1..1023"; + } + } + } + } + container local { + description + "Local SPAN Session"; + presence "true"; + leaf description { + description + "Description for this session"; + type string; + } + container source { + description + "SPAN source Interface/VLAN/CPU"; + list interface { + description + "SPAN source interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + leaf direction { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + list vlan { + description + "SPAN source VLAN"; + key "vlan1"; + leaf vlan1 { + type uint16 { + range "1..4094"; + } + } + leaf direction { + type enumeration { + enum both; + enum rx; + enum tx; + } + } + } + } + container destination { + description + "SPAN destination interface or VLAN"; + list interface { + description + "SPAN destination interface"; + key "name"; + leaf name { + description + "Interface Name"; + type string; + } + } + } + container filter { + description + "SPAN filter VLAN"; + list vlan { + key "vlan1"; + leaf vlan1 { + type uint16 { + range "1..4094"; + } + } + } + } + leaf shutdown { + description + "Take the Service Instance out of Service"; + type empty; + } + } + } + } + } + list md-list { + description + "Provide md list"; + key "ipaddr mask"; + leaf ipaddr { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + grouping tftp-alias-acl-number-grouping { + leaf alias { + description + "file alias"; + type string; + } + leaf acl-number { + description + "IP access list of requesting hosts"; + type ios-types:default-access-list-standard-id-type; + } + } + + container tftp-server-config { + description + "Provide TFTP service for netload requests"; + list flash { + description + "Allow URL file TFTP load requests"; + key "flash-name"; + leaf flash-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + container rom { + description + "Allow ROM image TFTP load requests"; + list alias { + description + "file alias"; + key "alias-name"; + leaf alias-name { + type string; + } + leaf acl-number { + type ios-types:default-access-list-standard-id-type; + } + } + } + list bootflash { + description + "Allow URL file TFTP load requests"; + key "bootflash-name"; + leaf bootflash-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + list harddisk { + description + "Allow URL file TFTP load requests"; + key "harddisk-name"; + leaf harddisk-name { + type string; + } + } + list null { + description + "Allow URL file TFTP load requests"; + key "null-name"; + leaf null-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + list system { + description + "Allow URL file TFTP load requests"; + key "system-name"; + leaf system-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + list tmpsys { + description + "Allow URL file TFTP load requests"; + key "tmpsys-name"; + leaf tmpsys-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + list nvram { + description + "Allow URL file TFTP load requests"; + key "nvram-name"; + leaf nvram-name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + } + list tftp-server { + status deprecated; + description + "Provide TFTP service for netload requests"; + key "name"; + leaf name { + type string; + } + uses tftp-alias-acl-number-grouping; + } + container radius-server { + description + "Modify RADIUS query parameters"; + } + container radius { + description + "RADIUS server configuration command"; + } + container ldap { + description + "LDAP server configuration command"; + } + container endpoint-tracker { + description + "Endpoint Tracker"; + } + container zone { + description + "FW with zoning"; + } + container zone-pair { + description + "Zone pair command"; + } + list alarm-contact { + key "name"; + leaf name { + type uint8 { + range "1..4"; + } + } + leaf description { + type string { + length "1..80"; + } + } + leaf severity { + type enumeration { + enum critical; + enum major; + enum minor; + } + } + leaf trigger { + type enumeration { + enum open; + enum closed; + } + } + } + container ethernet { + description + "Ethernet configuration"; + } + container bridge-domain { + description + "Bridge-domain global configuration commands"; + } + container clns { + description + "CLNS module"; + } + container crypto { + description + "Encryption module"; + } + container cts { + description + "Configures Cisco TrustSec"; + } + container cwmp { + description + "Customer Premise Equipment Wide Area Network Management Protocol module"; + } + container bfd-template { + description + "BFD-template"; + } + container pfr { + description + "Performance Routing configuration submodes"; + } + list pfr-map { + description + "Create pfr-map and enter pfr-map command mode"; + key "pfr-tg"; + leaf pfr-tg { + description + "pfr-map tag"; + type string; + } + } + container facility-alarm { + description + "Configure facility alarms"; + leaf severity { + type enumeration { + enum critical; + } + } + leaf exceed-action { + description + "Behavior on critical threshold exceed"; + type enumeration { + enum shutdown; + } + } + } + container setup { + description + "Configure setup options"; + } + container tod-clock { + description + "Tod clock config commands"; + container input-source { + description + "Synchronization Input Source (OBSOLETE)"; + status obsolete; + leaf priority { + status obsolete; + type uint8 { + range "1..250"; + } + } + container ptp { + status obsolete; + leaf domain { + type uint8; + } + } + } + } + container network-clock { + description + "Network clock config commands"; + container synchronization { + description + "Network clock synchronization selection process"; + status obsolete; + leaf automatic { + description + "ITU-T G.781/Telcordia standard based"; + status obsolete; + type empty; + } + leaf mode { + description + "synchronization networking mode"; + status obsolete; + type enumeration { + enum QL-enabled; + } + } + leaf-list participate { + description + "network clock participate, input line card slot number"; + status obsolete; + type string; + } + } + leaf revertive { + description + "Network clock revertive mode"; + status obsolete; + type empty; + } + container wait-to-restore { + description + "Wait-to-Restore timer"; + status obsolete; + leaf time { + description + "Wait-to-Restore time"; + status obsolete; + type uint32 { + range "0..86400"; + } + default "300"; + } + leaf global { + description + "Global"; + status obsolete; + type empty; + } + } + list input-source-list { + description + "Synchronization Input Source (OBSOLETE)"; + status obsolete; + key "priority"; + leaf priority { + status obsolete; + type uint8 { + range "1..250"; + } + } + container interface { + status obsolete; + uses ios-ifc:interface-grouping; + } + container ptp { + status obsolete; + leaf domain { + type uint8; + } + } + container controller { + description + "T1/E1 controller (OBSOLETE)"; + status obsolete; + leaf name { + status obsolete; + type enumeration { + enum T1; + enum E1; + enum t1; + enum e1; + } + } + leaf number { + status obsolete; + type string; + } + } + } + container input-source { + description + "Synchronization Input Source (OBSOLETE)"; + status obsolete; + leaf priority { + status obsolete; + type uint8 { + range "1..250"; + } + } + container interface { + status obsolete; + uses ios-ifc:interface-grouping; + } + container ptp { + status obsolete; + leaf domain { + status obsolete; + type uint8; + } + } + } + } + container l2vpn { + description + "Layer2 VPN commands"; + } + container l2vpn-config; + container l3vpn { + description + "l3vpn encapsulation ip commands"; + } + container mpls { + description + "Configure MPLS parameters"; + } + container router; + container service-chain { + description + "Service Chain mode"; + } + container performance { + description + "Global Performance monitor configuration"; + } + container otv { + description + "Configure OTV information"; + } + container remote-management { + description + "Enable the remote managment"; + leaf dmi { + description + "data-model-interface"; + type empty; + } + leaf restful-api { + description + "RESTful API"; + type boolean; + } + } + list virtual-service { + description + "Configure virtual service"; + key "name"; + leaf name { + type string { + length "1..63"; + } + } + } + container vxlan { + description + "VXLAN configuration commands"; + } + container snmp { + description + "Modify SNMP interface parameters"; + } + container snmp-server { + description + "Modify SNMP engine parameters"; + } + container segment-routing { + description + "Enter Segment Routing Mode"; + } + container performance-measurement { + description + "Enter Performance Measurement Mode"; + presence "true"; + } + uses config-license-grouping; + leaf disable-eadi { + type empty; + } + container memory-size { + if-feature "ios-features:mem-size"; + description + "Adjust memory size by percentage"; + leaf iomem { + description + "I/O memory"; + type uint8 { + range "5..25"; + } + } + } + container transceiver { + status obsolete; + if-feature "ios-features:transceiver"; + description + "Select from transceiver configuration commands"; + container type { + status obsolete; + description + "type keyword"; + container all { + status obsolete; + container monitoring { + status obsolete; + description + "Enable/disable monitoring"; + presence "true"; + leaf interval { + status obsolete; + description + "Set interval for monitoring"; + type uint16 { + range "300..3600"; + } + } + } + } + } + } + uses config-transceiver-grouping; + container service-insertion { + description + "Service Insertion mode"; + } + container udld { + description + "Configure global UDLD setting"; + } + container qos { + description + "Global QoS configuration commands"; + } + list time-range { + description + "Define time range entries"; + key "word"; + leaf word { + type string; + } + list periodic { + description + "periodic time and date"; + key "daily to"; + leaf daily { + description + "Every day of the week."; + type ios-types:hhmm-type; + } + leaf to { + description + "ending day and time."; + type ios-types:hhmm-type; + } + } + container absolute { + description + "absolute time and date"; + container start { + description + "starting time and date"; + leaf start-time { + description + "Starting time"; + type string; + } + leaf day-of-month { + description + "<1-31> Day of the month"; + type uint8; + } + leaf month { + description + "Month of the year [eg: Jan for January, Jun for June]"; + type string; + } + leaf year { + description + "Year"; + type uint16 { + range "1993..2035"; + } + } + } + } + } + container device-tracking { + description + "Device tracking configuration commands"; + } + container fhrp { + description + "Configure First Hop Redundancy Protocols"; + container version { + description + "Configure which FHRP version is allowed to run"; + leaf vrrp { + description + "Configure Virtual Router Redundancy Protocol"; + type enumeration { + enum v2; + enum v3; + } + default "v2"; + } + } + container mac-address { + description + "Configure MAC address support"; + leaf bia { + description + "Enable BIA support on all FHRP interfaces"; + type empty; + } + } + leaf bfd { + description + "Allows VRRPv3 BFD configuration"; + default "false"; + type boolean; + } + leaf sso { + if-feature "ios-features:fhrp-sso"; + description + "Enable VRRPv3 Stateful switchover"; + default "false"; + type boolean; + } + } + container standby { + description + "Configure Hot Standby Redundancy Protocol"; + container bfd { + description + "Configure HSRP BFD"; + leaf all-interfaces { + description + "Enable HSRP BFD on all interfaces"; + default "true"; + type boolean; + } + } + container redirects-config { + description + "Configure sending ICMP Redirects with HSRP VIP as gateway IP"; + choice redirect_choice { + default "redirects"; + leaf redirects { + type boolean; + default "true"; + } + container redirect-enable-disable { + leaf redirects { + type enumeration { + enum enable; + enum disable; + } + } + } + } + } + leaf redirects { + status obsolete; + description + "Configure sending ICMP Redirects with HSRP VIP as gateway IP"; + default "true"; + type boolean; + } + leaf sso { + description + "Enable Stateful switchover"; + default "true"; + type boolean; + } + } + container metadata { + description + "Metadata Application"; + container flow { + description + "Enable Metadata Flow Handling"; + presence "true"; + leaf transmit { + description + "Enable Metadata Flow Transmit "; + type empty; + } + } + } + container profile { + description + "MSP Profile"; + leaf flow { + description + "MSP Profile Flow"; + type empty; + } + } + container alias { + description + "Create command alias"; + list exec { + description + "Exec mode"; + key "alias-name"; + leaf alias-name { + type string; + } + leaf new-alias-name { + type string; + } + } + list configure { + description + "Global configuration mode"; + key "alias-name"; + leaf alias-name { + type string; + } + leaf new-alias-name { + type string; + } + } + } + uses config-line-grouping; + container ntp { + description + "Configure NTP"; + } + container wsma { + description + "Configure Web Services Management Agents"; + } + container event { + description + "Event related configuration commands"; + } + container template { + description + "template"; + } + grouping service-timestamp-show-timezone-and-year { + leaf show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + type empty; + } + leaf year { + description + "Include year in timestamp"; + status obsolete; + type empty; + } + } + + grouping service-timestamp-msec-and-year { + leaf msec { + description + "Include milliseconds in timestamp"; + status obsolete; + type empty; + } + leaf year { + description + "Include year in timestamp"; + status obsolete; + type empty; + } + } + + grouping service-timestamp-msec-and-show-timezone { + leaf msec { + description + "Include milliseconds in timestamp"; + status obsolete; + type empty; + } + leaf show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + type empty; + } + } + + grouping service-timestamp-local-time-and-year { + leaf localtime { + description + "Use local time zone for timestamps"; + status obsolete; + type empty; + } + leaf year { + description + "Include year in timestamp"; + status obsolete; + type empty; + } + } + + grouping service-timestamp-local-time-and-show-timezone { + leaf localtime { + description + "Use local time zone for timestamps"; + status obsolete; + type empty; + } + leaf show-timezone { + description + "Add time zone information to timestamp"; + status obsolete; + type empty; + } + } + + grouping service-timestamp-local-time-and-msec { + leaf localtime { + description + "Use local time zone for timestamps"; + status obsolete; + type empty; + } + leaf msec { + description + "Include milliseconds in timestamp"; + status obsolete; + type empty; + } + } + + grouping process-rising-grouping { + container rising { + description + "rising threshold"; + list cpu-range { + key "cpu-range"; + leaf cpu-range { + type uint8 { + range "1..100"; + } + } + container interval { + description + "observation interval"; + list cpu-range { + key "cpu-range"; + leaf cpu-range { + type uint32 { + range "5..86400"; + } + } + container falling { + description + "falling threshold"; + list cpu-range { + key "cpu-range"; + leaf cpu-range { + type uint8 { + range "1..100"; + } + } + leaf interval { + description + "observation interval"; + type uint32 { + range "5..86400"; + } + } + } + } + } + } + } + } + } + + container process { + description + "Configure process"; + container cpu { + description + "Configure cpu parameters"; + container threshold { + description + "cpu threshold parameters"; + container type { + description + "cpu threshold type"; + container interrupt { + description + "interrupt level utilization"; + uses process-rising-grouping; + } + container process { + description + "process level utilization"; + uses process-rising-grouping; + } + container total { + description + "total cpu utilization"; + uses process-rising-grouping; + } + } + } + container autoprofile { + description + "Auto-profile hog"; + leaf hog { + description + "Automatic cpu hog profiling"; + type boolean; + default "true"; + } + } + container statistics { + description + "cpu statistics"; + container limit { + description + "cpu utilization history"; + container entry-percentage { + description + "cpu history entry percentage"; + leaf entry-range { + type uint8 { + range "1..100"; + } + } + leaf size { + description + "cpu history size in seconds"; + type uint32 { + range "5..86400"; + } + } + } + } + } + container extended { + description + "Start cpu extended load monitor"; + leaf history { + description + "Set cpu extended load monitor history size"; + type uint16 { + range "2..720"; + } + } + } + } + } + container exception { + description + "help"; + container crashinfo { + description + "Crash info collection"; + presence "true"; + leaf buffersize { + description + "buffer size in Kbytes 256K or less (default is 32K)"; + type uint16 { + range "32..256"; + } + } + leaf file { + description + "crashinfo file name in bootflash or PCMCIA slot"; + type string; + } + container maximum { + description + "Automatic deletion of old crashinfo files to create space"; + leaf files { + description + "Configure number of latest crashinfo files to retain"; + type uint8 { + range "1..32"; + } + } + } + } + container data-corruption { + description + "Data error exception handling"; + container buffer { + description + "Describes the buffer corruption behavior to be set"; + leaf log { + description + "Log buffer overwrite attempts"; + type boolean; + default "true"; + } + } + } + } + container iox { + description + "Configure IOx services"; + presence "true"; + leaf switch { + description + "Configure switch number for IOx media"; + type uint8 { + range "1..16"; + } + } + } + grouping transport-map-type-persistent-webui-list { + leaf secure-server { + description + "Enable HTTP secure server"; + type empty; + } + leaf server { + description + "Enable HTTP server"; + type empty; + } + } + + grouping transport-map-type-persistent-ssh-list { + description + "Persistent SSH transport map type"; + container rsa { + description + "RSA key-pair configuration"; + leaf keypair-name { + description + "RSA key-pair name"; + type string { + pattern '[^\s]*'; + } + } + } + } + + container transport-map { + description + "Configure transport map"; + container type { + description + "Specify transport map type"; + container persistent { + description + "Persistent transport types"; + list persistent-type-name { + key "tm-name"; + leaf tm-name { + type string; + } + leaf persistent-type { + type enumeration { + enum webui { + description + "Persistent webui transport type"; + } + enum ssh { + description + "Persistent SSH transport type"; + } + } + } + uses transport-map-type-persistent-webui-list; + uses transport-map-type-persistent-ssh-list; + } + } + } + } + container l2tp { + description + "Layer 2 Tunneling Protocol (L2TP) parameters"; + container tunnel { + description + "Enable L2TP tunnel settings"; + container l2tpv3 { + description + "Configure l2tpv3 specific settings"; + container accounting { + description + "Configure tunnel accounting settings"; + leaf headers { + description + "Configure tunnel accounting to include headers"; + type boolean; + default "true"; + } + } + } + } + container sso { + description + "L2TP HA configurations"; + leaf enable { + description + "Enables L2TP HA"; + type boolean; + default "true"; + } + } + } + container redun-management { + description + "Redundancy Management Interface configuration"; + } + container management { + description + "Management Gateway-failover configuration"; + } + container file { + description + "privilege level of a file"; + leaf privilege { + description + "Specifies the privilege level of the file, with 1 being the lowest and 15 the highest. Default is 15."; + type uint8 { + range "1..15"; + } + default "15"; + } + leaf prompt { + description + "Prompt level for file operations"; + type enumeration { + enum quiet; + enum alert; + enum noisy; + } + default "alert"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nbar.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nbar.yang new file mode 100644 index 000000000..775ce3cb4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nbar.yang @@ -0,0 +1,1571 @@ +module Cisco-IOS-XE-nbar { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nbar"; + prefix ios-nbar; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Network-Based Application Recognition (NBAR) Yang model. + Copyright (c) 2016-2017, 2019-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- reopen direction and port custom CLIs"; + cisco-semver:module-version "6.1.0"; + } + revision 2024-03-01 { + description + "- obsolete classify-by-domain"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-11-01 { + description + "- Added ip nbar protocol-map CLI support"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-07-01 { + description + "- ip traffic mode support"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-07-01 { + description + "obsolete ip nbar classification sampling"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-03-01 { + description + " - Tunnel type VXLAN support + - dns learning domain support + - deprecate ip nbar ip nbar classification sampling + - cache-ttl-zero has tailf:cli-trim-default attribute"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-11-01 { + description + "- cache-ttl-zero support + - Add internal semantic version"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-04-28 { + description + "Virtual-Template support"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-09-28 { + description + "port-channel-subinterface support. + classify-by-domain type modification"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-08 { + description + "Fix attribute-set sequence bug"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-12-08 { + description + "Fix backward compatibility"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-13 { + description + "Added support for below fields: + - ip nbar attribute application-family + - ip nbar attribute-map attribute application-family + - ip nbar attribute-map attribute p2p-technology + - ip nbar ip nbar classification sampling <1-100>"; + } + revision 2018-11-16 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-02 { + description + "This revision has changes for dialer, ethernet, service-engine, LISP, + and ATM interface addition"; + } + revision 2018-09-05 { + description + "This revision has changes for Multilink, cellular + and Serial interfaces addition"; + } + revision 2018-06-06 { + description + "Added source-interface and application-updates fields under 'sd-services'. + Removed dns-as under 'avc'"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-31 { + description + "Added ip nbar classification CLI's"; + } + revision 2017-07-13 { + description + "Support for dynamically updated protocol-pack, sd-avc, and missing CLI's"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-custom-grouping { + container dscp { + description + "DSCP in IPv4 and IPv6 packets"; + leaf range { + description + "Differentiated services code point value"; + type uint8 { + range "0..63"; + } + } + leaf af11 { + description + "Match packets with AF11 dscp (001010)"; + type empty; + } + leaf af12 { + description + "Match packets with AF12 dscp (001100)"; + type empty; + } + leaf af13 { + description + "Match packets with AF13 dscp (001110)"; + type empty; + } + leaf af21 { + description + "Match packets with AF21 dscp (010010)"; + type empty; + } + leaf af22 { + description + "Match packets with AF22 dscp (010100)"; + type empty; + } + leaf af23 { + description + "Match packets with AF23 dscp (010110)"; + type empty; + } + leaf af31 { + description + "Match packets with AF31 dscp (011010)"; + type empty; + } + leaf af32 { + description + "Match packets with AF32 dscp (011100)"; + type empty; + } + leaf af33 { + description + "Match packets with AF33 dscp (011110)"; + type empty; + } + leaf af41 { + description + "Match packets with AF41 dscp (100010)"; + type empty; + } + leaf af42 { + description + "Match packets with AF42 dscp (100100)"; + type empty; + } + leaf af43 { + description + "Match packets with AF43 dscp (100110)"; + type empty; + } + leaf cs1 { + description + "Match packets with CS1(precedence 1) dscp (001000)"; + type empty; + } + leaf cs2 { + description + "Match packets with CS2(precedence 2) dscp (010000)"; + type empty; + } + leaf cs3 { + description + "Match packets with CS3(precedence 3) dscp (011000)"; + type empty; + } + leaf cs4 { + description + "Match packets with CS4(precedence 4) dscp (100000)"; + type empty; + } + leaf cs5 { + description + "Match packets with CS5(precedence 5) dscp (101000)"; + type empty; + } + leaf cs6 { + description + "Match packets with CS6(precedence 6) dscp (110000)"; + type empty; + } + leaf cs7 { + description + "Match packets with CS7(precedence 7) dscp (111000)"; + type empty; + } + leaf default { + description + "Match packets with default dscp (000000)"; + type empty; + } + leaf ef { + description + "Match packets with EF dscp (101110)"; + type empty; + } + } + container ip { + description + "ip address"; + list address { + description + "ip address list"; + key "address0"; + leaf address0 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address1 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address2 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address3 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address4 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address5 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address6 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + leaf address7 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv4-address; + } + } + container subnet { + description + "Subnet IP/mask length"; + leaf subnet { + description + "Subnet IP"; + type inet:ipv4-address; + } + leaf mask { + type uint8 { + range "0..32"; + } + } + } + } + container ipv6 { + description + "ipv6 address"; + list address { + description + "ipv6 address list"; + key "address0"; + leaf address0 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address1 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address2 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address3 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address4 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address5 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address6 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + leaf address7 { + description + "List of up to 8 IPs separated by white-spaces"; + type inet:ipv6-address; + } + } + container subnet { + description + "Subnet IP/mask length"; + leaf subnet { + description + "Subnet IP"; + type inet:ipv6-address; + } + leaf mask { + type uint8 { + range "0..128"; + } + } + } + } + container direction { + description + "Flow direction"; + status obsolete; + leaf any { + description + "Any Direction"; + status obsolete; + type empty; + } + leaf destination { + description + "Destination Direction"; + status obsolete; + type empty; + } + leaf source { + description + "Source Direction"; + status obsolete; + type empty; + } + } + container direction-reopen { + description + "Flow direction"; + leaf any { + description + "Any Direction"; + type empty; + } + leaf destination { + description + "Destination Direction"; + type empty; + } + leaf source { + description + "Source Direction"; + type empty; + } + } + container port { + description + "ports"; + status obsolete; + list port-numbers { + status obsolete; + key "port-number0"; + leaf port-number0 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number1 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number2 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number3 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number4 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number5 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number6 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf port-number7 { + description + "Up to 8 port numbers separated by white-spaces"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + } + container range { + description + "Range of maximum 1000 Ports. With IP option use maximum range of 8."; + status obsolete; + leaf start-range { + description + "Enter Start port number for Range"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf end-range { + description + "Enter Start port number for Range"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + } + } + container port-reopen { + description + "ports"; + list port-numbers { + key "port-number0"; + leaf port-number0 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number1 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number2 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number3 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number4 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number5 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number6 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + leaf port-number7 { + description + "Up to 8 port numbers separated by white-spaces"; + type uint16 { + range "1..65535"; + } + } + } + container range { + description + "Range of maximum 1000 Ports. With IP option use maximum range of 8."; + leaf start-range { + description + "Enter Start port number for Range"; + type uint16 { + range "1..65535"; + } + } + leaf end-range { + description + "Enter Start port number for Range"; + type uint16 { + range "1..65535"; + } + } + } + } + } + + grouping config-avc-grouping { + container sd-service { + description + "SD-AVC service"; + presence "true"; + leaf segment { + description + "Segment name identifying a group of devices sharing the same application services"; + type string; + } + container controller { + description + "Controller connectivity parameters"; + presence "true"; + container address { + description + "Export destination configuration"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "Primary controller's IPv4 address"; + type inet:ipv4-address; + } + leaf ipv40 { + description + "Secondary controller's IPv4 address or hostname"; + type inet:ipv4-address; + } + } + list ipv4-or-hostname { + status obsolete; + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + status obsolete; + description + "Primary controller's IPv4 address or hostname"; + type inet:host; + } + leaf ipv4-or-hostname0 { + status obsolete; + description + "Secondary controller's IPv4 address or hostname"; + type inet:host; + } + } + } + container hostname { + description + "SD-AVC controller hostname"; + list hostname { + key "hostname"; + leaf hostname { + description + "Primary controller's hostname"; + type string; + } + leaf hostname0 { + description + "Secondary controller's hostname"; + type string; + } + } + } + container destination-ports { + description + "Ports used for communication with controller"; + leaf application-updates { + description + "TCP port used for application-updates"; + type uint16 { + range "1..65535"; + } + } + leaf sensor-exporter { + description + "UDP port used for sensor messages"; + type uint16 { + range "1..65535"; + } + } + } + leaf dscp { + description + "DSCP marking"; + type uint8 { + range "0..63"; + } + } + container source-interface { + description + "Interface of source address used for communication with controller"; + uses ios-ifc:interface-grouping; + } + leaf vrf { + description + "VRF Label"; + type string; + } + container transport { + description + "Transport protocols used for communication with controller"; + container application-updates { + description + "Transport protocol used for application-updates"; + container http { + description + "HTTP protocol"; + presence "true"; + leaf url-prefix { + description + "URL-prefix for application-updates"; + type string; + } + } + container https { + description + "HTTPS protocol"; + presence "true"; + leaf url-prefix { + description + "URL-prefix for application-updates"; + type string; + } + } + container ftp { + description + "FTP protocol"; + presence "true"; + status obsolete; + leaf url-prefix { + description + "URL-prefix for application-updates"; + status obsolete; + type string; + } + } + } + } + } + } + } + + grouping ip-nbar-attribute-custom-grouping { + list custom { + description + "Custom group to be created for this attribute"; + key "name"; + leaf name { + description + "Custom group value"; + type string; + } + leaf help { + description + "Help string"; + type string; + } + } + } + + grouping config-interface-ip-nbar-grouping { + container nbar { + description + "Network-Based Application Recognition"; + container protocol-discovery { + description + "Enable protocol discovery for both ipv4 and ipv6"; + presence "true"; + leaf ipv4-ipv6 { + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + + grouping config-interface-ip-nbar-grouping-obsolete { + container nbar { + status obsolete; + description + "Network-Based Application Recognition"; + container protocol-discovery { + status obsolete; + description + "Enable protocol discovery for both ipv4 and ipv6"; + presence "true"; + leaf ipv4-ipv6 { + status obsolete; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + + grouping config-ip-nbar-grouping { + container nbar { + description + "NBAR - Network Based Application Recognition"; + container attribute { + description + "Attribute for which custom group value can be created"; + container application-family { + description + "Application-family attribute"; + uses ip-nbar-attribute-custom-grouping; + } + container application-group { + description + "Application-group attribute"; + uses ip-nbar-attribute-custom-grouping; + } + container application-set { + description + "Application-set attribute"; + uses ip-nbar-attribute-custom-grouping; + } + container category { + description + "Category attribute"; + uses ip-nbar-attribute-custom-grouping; + } + container sub-category { + description + "Sub-category attribute"; + uses ip-nbar-attribute-custom-grouping; + } + } + list attribute-map { + description + "Attribute Map"; + key "name"; + leaf name { + type string; + } + container attribute { + description + "Attribute Name"; + leaf application-family { + description + "Application-family attribute"; + type string; + } + leaf application-group { + description + "Application-group attribute"; + type string; + } + leaf application-set { + description + "Application-set attribute"; + type string; + } + leaf business-relevance { + description + "Application business-relevance"; + type string; + } + leaf category { + description + "Category attribute"; + type string; + } + leaf encrypted { + description + "Encrypted applications"; + type string; + } + leaf p2p-technology { + description + "Applications based on p2p-technology"; + status obsolete; + type string; + } + leaf sub-category { + description + "Sub-category attribute"; + type string; + } + leaf traffic-class { + description + "SRND class"; + type string; + } + leaf tunnel { + description + "Tunnelled applications"; + type string; + } + } + } + list attribute-set { + description + "Set attribute Map"; + key "protocol-name"; + leaf protocol-name { + description + "Protocol Name"; + type string; + } + leaf profile-name { + description + "Attribute Profile Name"; + type leafref { + path "../../attribute-map/name"; + } + } + } + container classification { + description + "NBAR Classification"; + container auto-learn { + description + "Statistics on unknown or generic traffic"; + presence "true"; + leaf top-asymmetric-socket { + description + "Statistics on asymmetric socket"; + type empty; + } + container top-hosts { + description + "Statistics on generic traffic per host"; + presence "true"; + leaf sample-rate { + description + "configure sampling rate"; + type uint16 { + range "1..8192"; + } + } + } + container top-ports { + description + "Statistics on unknown traffic per port"; + presence "true"; + leaf sample-rate { + description + "configure sampling rate"; + type uint16 { + range "1..8192"; + } + } + } + } + container dns { + description + "dns classification"; + leaf classify-by-domain-with-default { + description + "dns classification by domain"; + type boolean; + default "true"; + } + leaf classify-by-domain { + status obsolete; + description + "obsolete dns classification by domain"; + type empty; + } + container learning { + description + "dns learning"; + presence "true"; + leaf guard { + description + "dns guard prevents learning from responses only"; + type empty; + } + leaf cache-ttl-zero { + description + "Cache DNS responses with TTL = 0 for 1 second"; + type boolean; + default "true"; + } + leaf domains { + description + "Collect domain names"; + type boolean; + default "true"; + } + } + } + container granularity { + description + "Force granularity mode"; + leaf coarse-grain { + description + "Force coarse-grain classification mode"; + type empty; + } + container fine-grain { + description + "Force fine-grain classification mode"; + presence "true"; + container attribute { + description + "Force granularity for a single attribute"; + list application-family { + description + "Application-family attribute"; + key "name"; + leaf name { + type string; + } + } + list application-group { + description + "Application-group attribute"; + key "name"; + leaf name { + type string; + } + } + list application-set { + description + "Application-set attribute"; + key "name"; + leaf name { + type string; + } + } + list business-relevance { + description + "Application business-relevance"; + key "name"; + leaf name { + type string; + } + } + list category { + description + "Category attribute"; + key "name"; + leaf name { + type string; + } + } + list encrypted { + description + "Encrypted applications"; + key "name"; + leaf name { + type string; + } + } + list sub-category { + description + "Sub-category attribute"; + key "name"; + leaf name { + type string; + } + } + list traffic-class { + description + "SRND class"; + key "name"; + leaf name { + type string; + } + } + list tunnel { + description + "Tunnelled applications"; + key "name"; + leaf name { + type string; + } + } + } + container protocol { + description + "Force granularity for a single protocol"; + list protocols-list { + key "name"; + leaf name { + type string; + } + } + } + } + } + leaf sampling { + description + "Enable NBAR sampling mode"; + type uint8 { + range "1..100"; + } + status obsolete; + } + container tunneled-traffic { + description + "Classify tunneled traffic"; + leaf capwap { + description + "Tunnel type CAPWAP"; + type empty; + } + leaf ipv6inip { + description + "Tunnel type IPv6 in IPv4"; + type empty; + } + leaf teredo { + description + "Tunnel type TEREDO"; + type empty; + } + leaf vxlan { + description + "Tunnel type VXLAN"; + type empty; + } + } + leaf ip-traffic { + type enumeration { + enum all-caches; + enum no-caches; + } + } + } + list custom { + description + "Custom PDL (protocol description language) Module"; + key "name"; + leaf name { + description + "Name of the User defined Protocol"; + type string; + } + container composite { + description + "Custom protocols based on multiple underlying protocols"; + list server-name { + description + "Match the server name based on various protocols"; + key "name"; + leaf name { + description + "Enter String Format - cannot exceed 30 characters"; + type string; + } + leaf id { + description + "Enter Selector ID"; + type uint16 { + range "1..65535"; + } + } + leaf extends { + description + "Extend existing protocol"; + type string; + } + } + } + container dns { + description + "Custom protocols based on dns parameters"; + list domain-name { + description + "Domain name"; + key "name"; + leaf name { + description + "Enter String Format - cannot exceed 30 characters"; + type string; + } + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + leaf extends { + description + "Extend existing protocol"; + type string; + } + } + } + container http { + description + "Custom protocols based on http parameters"; + leaf cookie { + description + "HTTP Cookie"; + type string; + } + leaf host { + description + "Host name of Origin Server containing resource"; + type string; + } + leaf method { + description + "HTTP method"; + type string; + } + leaf referer { + description + "Address the resource request was obtained from"; + type string; + } + choice http-uv { + case url-case { + leaf url { + description + "Uniform Resource Locator path"; + type string; + } + } + case user-agent-case { + leaf user-agent { + description + "Software used by agent sending the request"; + type string; + } + } + case version-case { + leaf version { + description + "HTTP version"; + type string; + } + } + case via-case { + leaf via { + description + "HTTP via field"; + type string; + } + } + } + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + } + container ssl { + description + "Custom protocols based on ssl parameters"; + list unique-name { + description + "SSL Server Name Indication (SNI) or Common Name (CN)"; + key "name"; + leaf name { + description + "Enter String Format - cannot exceed 30 characters"; + type string; + } + leaf id { + description + "Enter Selector ID"; + type uint16 { + range "1..65535"; + } + } + } + } + container transport { + description + "Custom protocols based on the transport layer and below"; + container tcp { + description + "TCP transport"; + presence "true"; + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + uses config-custom-grouping; + } + container udp { + description + "UDP transport"; + presence "true"; + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + uses config-custom-grouping; + } + container udp-tcp { + description + "UDP or TCP transport"; + presence "true"; + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + uses config-custom-grouping; + } + } + container ip { + description + "Custom protocols based on the transport layer and below"; + container any { + description + "TCP transport"; + presence "true"; + leaf id { + description + "Selector ID"; + type uint16 { + range "1..65535"; + } + } + uses config-custom-grouping; + } + } + } + container protocol-pack { + description + "Protocol Pack"; + list filepath { + key "filepath"; + leaf filepath { + description + "Path of protocol pack to load"; + type string; + } + leaf force { + description + "Force"; + type empty; + } + } + } + container protocol-map { + status deprecated; + description + "Protocol map"; + list id_and_name { + status deprecated; + key "protoname"; + leaf protoname { + status deprecated; + description + "protocol name"; + type string; + } + leaf id { + status deprecated; + description + "protocol id"; + type uint16 { + range "1..65535"; + } + } + } + } + list protocol-map-list { + description + "Protocol map"; + key "protoname"; + leaf protoname { + description + "protocol name"; + type string; + } + leaf id { + description + "protocol id"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + } + container resources { + status obsolete; + description + "NBAR resources"; + container flow { + status obsolete; + description + "Flow details"; + leaf max-session { + status obsolete; + description + "Max allowed session"; + type uint32 { + range "50000..10000000"; + } + } + } + list protocol { + status obsolete; + description + "Protocol resources"; + key "protocol-name"; + leaf protocol-name { + status obsolete; + description + "Protocol Name"; + type string; + } + leaf link-age { + status obsolete; + description + "Link age greater than system link age (secs.)"; + type uint32 { + range "1..100000000"; + } + } + } + } + leaf http-services { + description + "Enable HTTP services"; + type empty; + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip" { + uses config-interface-ip-nbar-grouping; + } + + augment "/ios:native/ios:avc" { + uses config-avc-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-cfg.yang new file mode 100644 index 000000000..9caa404e1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-cfg.yang @@ -0,0 +1,290 @@ +module Cisco-IOS-XE-ncch-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ncch-cfg"; + prefix ncch-cfg; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for configuration of NETCONF server Call Home. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ncch-address-type { + type enumeration { + enum address-unspecified { + value 0; + description + "Indicates address has not been specified."; + } + enum ip-address { + value 1; + description + "Indicates IP address."; + } + enum domain-name { + value 2; + description + "Indicates Domain name."; + } + } + description + "Defines the supported address type."; + } + + typedef ncch-transport { + type enumeration { + enum transport-unspecified { + value 0; + description + "Indicates transport has not been specified."; + } + enum ssh { + value 1; + description + "Indicates SSH-specific call-home transport + configuration."; + } + } + description + "Defines the transports supported by NETCONF Call Home."; + } + + typedef ncch-start-with { + type enumeration { + enum first-listed { + value 0; + description + "Indicates that reconnection should start with + the first endpoint listed."; + } + enum last-connected { + value 1; + description + "Indicates that reconnection should start with + the endpoint last connected to. If no previous + connection has ever been established, then the + first endpoint configured is used."; + } + enum random-selection { + value 2; + description + "Indicates that reconnection should start with + a random endpoint."; + } + } + description + "Specifies which of the endpoints this NETCONF server + should start with when trying to connect a NETCONF client."; + } + + grouping ncch-ssh { + description + "Defines the SSH-specific call home transport + configuration."; + leaf tcpc-remote-port { + type uint16; + default "4334"; + description + "The NETCONF server will attempt to connect + to the IANA-assigned well-known port 4334 + if no value is specified."; + } + leaf tcpc-local-ipaddr { + type inet:ip-address; + default "0.0.0.0"; + description + "Specifies the local IP address to bind to for when + connecting to the remote peer."; + } + leaf tcpc-local-port { + type uint16; + default "0"; + description + "The local IP port number to bind to for when connecting + to the remote peer. The port number '0', which is the + default value, indicates that any available local port + number may be used."; + } + leaf tcpc-local-vrf { + type string; + default ""; + description + "Network instance name for the local VRF"; + } + choice tcpc-remote-addr-type-choice { + default "address-unspecified"; + description + "Selects the address type of the remote peer to + establish a connection with."; + case address-unspecified { + description + "Indicates address has not been specified."; + leaf tcpc-remote-addr-unset { + type boolean; + default "true"; + description + "Indicates address has not been specified. + Value will be passed as-is."; + } + } + case ip-address { + description + "The IP address of the remote peer to + establish a connection with."; + leaf tcpc-remote-ipaddr { + type inet:ip-address; + description + "Specifies the IP address of the remote peer to + establish a connection with."; + } + } + } + } + + grouping ncch-client-endpoint-cnfg { + description + "A list of endpoints that the NETCONF server + will attempt to connect to in the specified + sequence. Defining more than one enables + high-availability."; + leaf name { + type string; + description + "An arbitrary name for the endpoint."; + } + choice transport-choice { + default "transport-unspecified"; + description + "Selects between available transports."; + case transport-unspecified { + description + "Indicates transport has not been specified."; + leaf transport-unset { + type boolean; + default "true"; + description + "Indicates transport has not been specified. + Value will be passed as-is."; + } + } + case ssh { + description + "Indicates SSH-specific call-home transport + configuration."; + container ssh { + description + "Indicates SSH-specific call-home transport + configuration."; + uses ncch-cfg:ncch-ssh; + } + } + } + } + + grouping ncch-reconnect-strategy { + description + "Defines the reconnection strategy that directs how this NETCONF server + reconnects to a NETCONF client, after discovering its connection + to the client has dropped, even if due to a reboot."; + leaf start-with { + type ncch-cfg:ncch-start-with; + default "first-listed"; + description + "Specifies which of the NETCONF client's endpoints + the NETCONF server should start with when trying + to connect to the NETCONF client."; + } + leaf max-attempts { + type uint8 { + range "1 .. 255"; + } + default "3"; + description + "Specifies the number times the NETCONF server tries + to connect to a specific endpoint before moving on + to the next endpoint in the list (round robin)."; + } + } + + grouping ncch-client-cnfg { + description + "Configures a NETCONF client."; + leaf name { + type string; + description + "An arbitrary name for the remote NETCONF client."; + } + container ncch-client-endpoints { + description + "Configure a list of endpoints of the NETCONF client."; + list ncch-client-endpoint { + key "name"; + description + "List of endpoints of the NETCONF client."; + uses ncch-cfg:ncch-client-endpoint-cnfg; + } + } + container reconnect-strategy { + description + "The reconnection strategy directs how a NETCONF server + reconnects to a NETCONF client, after discovering its + connection to the client has dropped, even if due to a + reboot. The NETCONF server starts with the specified + endpoint and tries to connect to it max-attempts times + before trying the next endpoint in the list (round + robin)."; + uses ncch-cfg:ncch-reconnect-strategy; + } + } + + container netconf-callhome-config { + description + "Configures NETCONF server Call Home behavior."; + container ncch-clients { + description + "Configure a list of NETCONF clients the NETCONF server is to + maintain simultaneous call-home connections with."; + list ncch-client { + key "name"; + description + "List of NETCONF clients the NETCONF server is to + maintain simultaneous call-home connections with."; + uses ncch-cfg:ncch-client-cnfg; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-oper.yang new file mode 100644 index 000000000..f3753e19b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ncch-oper.yang @@ -0,0 +1,108 @@ +module Cisco-IOS-XE-ncch-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ncch-oper"; + prefix ncch-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for operational data of NETCONF server Call Home. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ncch-client-state { + type enumeration { + enum client-state-connecting { + value 0; + description + "Attempts are being made to connect to + the NETCONF client."; + } + enum client-state-connected { + value 1; + description + "A call-home connection has been established."; + } + } + description + "States of a NETCONF client."; + } + + grouping ncch-client-oper { + description + "Operational data of a NETCONF client."; + leaf name { + type string; + description + "Name of the remote NETCONF client."; + } + leaf state { + type ncch-oper:ncch-client-state; + description + "State of the NETCONF client."; + } + leaf connected-endpoint { + when "(../state = 'client-state-connected')"; + type string; + description + "A call-home connection has been established between + one of the endpoints of this NETCONF client and + the NETCONF server. Specifies the name of the connected endpoint."; + } + leaf connect-time { + when "(../state = 'client-state-connected')"; + type yang:date-and-time; + description + "A call-home connection has been established between + one of the endpoints of this NETCONF client and + the NETCONF server. Specifies the timestamp when the endpoint + got connected."; + } + } + + container netconf-callhome-oper { + config false; + description + "Operational data of NETCONF server Call Home."; + list ncch-client { + key "name"; + description + "List of NETCONF clients the NETCONF server is + maintaining simultaneous call-home connections with."; + uses ncch-oper:ncch-client-oper; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nd-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nd-deviation.yang new file mode 100644 index 000000000..81da695bb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nd-deviation.yang @@ -0,0 +1,37 @@ +module Cisco-IOS-XE-nd-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nd-deviation.yang"; + prefix ios-nd-deviation; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-nd { + prefix ios-nd; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-06-09 { + description + "Added prefix deviation"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6/ios:nd/ios-nd:prefix" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nd.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nd.yang new file mode 100644 index 000000000..3d8210f59 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nd.yang @@ -0,0 +1,1346 @@ +module Cisco-IOS-XE-nd { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nd"; + prefix ios-nd; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Neighbor Discovery (ND) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Obsolete raguard attach-policy + - Added support for ipv6 nd nsf convergence + - Added support for ipv6 nd nsf throttle + - Added support for ipv6 nd nsf dad suppress + - Added support for ipv6 nd resolution data limit + - Added support for ipv6 nd dad loopback detect + - Added support for Router Advertisement control + - Added support for ipv6 nd raguard default config + - Added support for advertised reachability time + - Added support for ipv6 nd dad time and ipv6 nd ns-interval + - Added IPv6 nd router alert configuration + - Added support for ipv6 nd ra interval + - Update must constraint for ipv6 nd raguard attach-policy to allow 'default' policy + - Added support for ipv6 nd ra interval"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Added support for routing-proxy and dad-proxy"; + cisco-semver:module-version "4.1.0"; + } + revision 2023-07-01 { + description + "- Make 25 Gigabit Ethernet interface obsolete + - Added support for routing-proxy and dad-proxy"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-03-01 { + description + "- Deprecated ra/dns/server leaf and implemented ra/dns/server-list as leaf-list + - Added if-features around the raguard to selective enable/disable"; + cisco-semver:module-version "3.0.0"; + } + revision 2021-11-01 { + description + "- Added new container for cache and ra/dns under nd module for interfaces"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-07-01 { + description + "- Added specific-route list for ipv6 nd router alert configuration"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Fix the issue with device-role in raguard + - Add support for RA guard managed-config-flag + - Add support modes for feature nd suppress"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Initial revision for 17.4.1 + - Adding the support for attaching policy under vlan for raguard + - Added the missing commands to fill the gap between CLI and Yang for SISF"; + cisco-semver:module-version "2.1.1"; + } + revision 2020-07-01 { + description + "- Added support for ND config in Dialer interface + - Added 'tailf:cli-delete-container-on-delete' to the leaf + 'all' in 'ipv6 nd ra suppress all'"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "- Added support for raguard config."; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Added leaf for packet-priority to ipv6 ND grouping for interface ND + configuration. + - Deprecated ipv6 nd inspection policy."; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for 'nd ns-interval' and 'ns reachable-time' options"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-25 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-07-26 { + description + "Added support for some interface ipv4 nd options"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add support for 40 and 100GE interfaces"; + } + revision 2017-10-12 { + description + "Add support for command 'ipv6 nd suppress policy *'"; + } + revision 2017-09-18 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-07 { + description + "Add default-route"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-ipv6-nd-raguard-vlan-grouping { + container vlan { + description + "Configure the vlan list for which this policy applies (default: all)"; + leaf vlan-name { + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf add { + description + "add VLANs to the current list"; + type string; + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf except { + description + "VLAN IDs of disallowed VLANS for this policy on this port"; + type string; + } + leaf none { + description + "no VLANs"; + type empty; + } + leaf remove { + description + "Remove VLANs from the current list"; + type string; + } + } + } + + grouping config-ipv6-nd-grouping { + container inspection { + if-feature "ios-features:inspection"; + status obsolete; + description + "Deprecated - NDP Inspection"; + list policy { + status obsolete; + description + "Deprecated - Using device-tracking"; + key "name-nd-inspection-policy"; + leaf name-nd-inspection-policy { + status obsolete; + type string; + } + container device-role { + status obsolete; + description + "Deprecated - Sets the role of the device attached to the port"; + leaf host { + status obsolete; + description + "Deprecated - Attached device is a host (default)"; + type empty; + } + leaf monitor { + status obsolete; + description + "Deprecated - Attached device is a monitor/sniffer"; + type empty; + } + leaf router { + status obsolete; + description + "Deprecated - Attached device is a route"; + type empty; + } + leaf switch { + status obsolete; + description + "Deprecated - Attached device is a switch"; + type empty; + } + } + leaf drop-unsecure { + status obsolete; + description + "Deprecated - drop unsecure (3971) messages"; + type empty; + } + container limit { + status obsolete; + description + "Deprecated - Specifies a limit"; + leaf address-count { + status obsolete; + description + "Deprecated - Configure maximum address per port"; + type uint16 { + range "1..10000"; + } + } + } + container sec-level { + status obsolete; + description + "Deprecated - Specifies a minimum sec-level"; + leaf minimum { + status obsolete; + description + "Deprecated - Configure minimum sec-level"; + type uint8 { + range "1..7"; + } + } + } + container tracking { + status obsolete; + description + "Deprecated - Override default tracking behavior"; + container disable { + status obsolete; + description + "Deprecated - Tracking off"; + presence "true"; + container stale-lifetime { + status obsolete; + description + "Deprecated - Time entry is kept inactive before delete"; + leaf seconds { + status obsolete; + description + "Deprecated - Seconds"; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + status obsolete; + description + "Deprecated - Keep in STALE forever"; + type empty; + } + } + } + container enable { + status obsolete; + description + "Deprecated - Tracking on"; + presence "true"; + container reachable-lifetime { + status obsolete; + description + "Deprecated - Time entry is kept REACHABLE"; + leaf seconds { + status obsolete; + description + "Deprecated - Seconds"; + type uint32 { + range "1..86400"; + } + } + leaf infinite { + status obsolete; + description + "Deprecated - Keep in REACHABLE forever"; + type empty; + } + } + } + } + leaf trusted-port { + status obsolete; + description + "Deprecated - setup trusted port"; + type empty; + } + container validate { + status obsolete; + description + "Deprecated - specific validation"; + leaf source-mac { + status obsolete; + description + "Deprecated - check source mac against link-layer-address"; + type empty; + } + } + } + } + container cache { + description + "Cache entry"; + container expire { + description + "Expiry time for ND entries"; + leaf time { + type uint16; + } + leaf refresh { + description + "Automatically refresh entry"; + type empty; + } + } + } + leaf reachable-time { + description + "Duration for advertised reachability intervals"; + type uint32 { + range "0..3600000"; + } + default "0"; + units "seconds"; + } + container ra { + description + "Router Advertisement control"; + container solicited { + description + "Configuration for solicited Router Advertisement response method"; + leaf unicast { + description + "Enable or disable unicast solicited Router Advertisement responses"; + type boolean; + default "false"; + } + } + } + container nud { + description + "Neighbor Unreachability Detection (NUD) configuration"; + container limit { + description + "NUD resolutions outstanding configuration"; + leaf limitver { + type uint32 { + range "32..4096"; + } + default "256"; + } + leaf refresh { + description + "Refresh period for NUD resolutions (seconds)"; + type uint8 { + range "1..10"; + } + default "10"; + } + } + } + container raguard { + if-feature "ios-features:raguard"; + description + "Configure RA guard"; + list policy { + description + "Configure a policy for feature RA guard"; + key "raguard-policy-name"; + leaf raguard-policy-name { + type string; + } + container device-role { + description + "Sets the role of the device attached to the port"; + container device-role-choice { + leaf role-choice { + default "host"; + type enumeration { + enum host; + enum monitor; + enum router; + enum switch; + } + } + } + leaf host { + status obsolete; + description + "Deprecated, use other leaf role-choice. Attached device is a host (default)"; + type empty; + } + leaf monitor { + status obsolete; + description + "Deprecated, use other leaf role-choice. Attached device is a monitor/sniffer"; + type empty; + } + leaf router { + status obsolete; + description + "Deprecated, use other leaf role-choice. Attached device is a router"; + type empty; + } + leaf switch { + status obsolete; + description + "Deprecated, use other leaf role-choice. Attached device is a switch"; + type empty; + } + } + container hop-limit { + description + "Enable verification of the advertised Hop count limit"; + leaf maximum { + description + "Maximum hop count value allowed"; + type uint8 { + range "1..255"; + } + } + leaf minimum { + description + "Minimum hop count value allowed"; + type uint8 { + range "1..255"; + } + } + } + container managed-config-flag { + description + "Enable verification of the advertised M flag"; + choice flag-choice { + leaf off { + description + "Verify that the advertised Managed address Configuration flag is Off"; + type empty; + } + leaf on { + description + "Verify that the advertised Managed address Configuration flag is on"; + type empty; + } + } + } + container match { + container ipv6 { + description + "Match in received ND message"; + leaf access-list { + description + "Name of the access-list to be matched"; + type string; + } + } + container ra { + description + "Match in received Router Advertisement"; + leaf prefix-list { + description + "Name of the prefix-list to be matched"; + type string; + } + } + } + container other-config-flag { + description + "Enable verification of the advertised O flag"; + choice config-flag-choice { + leaf off { + description + "Verify that the advertised Other Stateful Configuration flag is Off"; + type empty; + } + leaf on { + description + "Verify that the advertised Other Stateful Configuration flag is on"; + type empty; + } + } + } + container router-preference { + description + "Enable verification of the advertised Router Preference flag"; + container maximum { + description + "Verify that the advertised Router preference is lower than the limit"; + choice preference-maximum-choice { + leaf high { + description + "Discard RAs with router preference greater than high"; + type empty; + } + leaf low { + description + "Discard RAs with router preference greater than low"; + type empty; + } + leaf medium { + description + "Discard RAs with router preference greater than medium"; + type empty; + } + } + } + } + leaf trusted-port { + description + "setup trusted port"; + type empty; + } + } + leaf attach-policy { + description + "Configure a policy for feature RA guard"; + type string; + } + } + container default-route { + list vrf { + ordered-by user; + key "word"; + leaf word { + type string; + } + leaf limit { + type uint8 { + range "0..5"; + } + } + } + leaf limit { + type uint8 { + range "0..5"; + } + } + } + container suppress { + if-feature "ios-features:suppress"; + description + "Configure ND multicast suppress"; + list policy { + description + "Configure a policy for feature nd suppress"; + key "nd-suppress-policy-name"; + leaf nd-suppress-policy-name { + type string; + } + container mode { + description + "setup mode of operations"; + leaf dad-proxy { + description + "Proxy Duplicate Address Resolution request"; + type empty; + } + leaf full-proxy { + description + "Proxy all resolution requests"; + type empty; + } + leaf mc-proxy { + description + "Proxy multicast resolution requests (default)"; + type empty; + } + } + } + } + container dad { + description + "Duplicate Address Detection"; + container loopback { + description + "Response method for looped back NS(DAD) packets"; + leaf detect { + description + "Looped-back NS(DAD) packets detection control."; + type boolean; + default "true"; + } + } + leaf time { + description + "IPv6 Duplicate Address Detection Time"; + type uint32 { + range "0 | 1..6000"; + } + default "0"; + } + } + leaf ns-interval { + description + "Advertised NS retransmission interval"; + type uint32 { + range "0 | 1000..30000"; + } + default "0"; + } + container nsf { + description + "Data related to Non-Stop Forwarding (NSF)."; + leaf convergence { + description + "Time limit for NSF convergence."; + type uint16 { + range "10..600"; + } + default "120"; + units "seconds"; + } + container dad { + description + "Data related to Duplicate Address Detection (DAD)."; + leaf suppress { + description + "Suppress DAD for a specified duration."; + type uint16 { + range "0..600"; + } + default "60"; + units "seconds"; + } + } + leaf throttle { + description + "Throttle resolution requests."; + type uint16 { + range "128..4096"; + } + default "512"; + } + } + container resolution { + description + "Configuration for resolution settings."; + container data { + description + "Data related to resolution settings."; + leaf limit { + description + "Limit on the number of packets."; + type uint16 { + range "16..2048"; + } + default "16"; + } + } + } + } + + grouping config-interface-ipv6-nd-grouping { + container cache { + description + "Cache entry"; + leaf interface-limit { + description + "Number of entries"; + type uint32; + } + container expire { + description + "Expiry time for ND entries"; + leaf time { + description + "Expiry time (seconds)"; + type uint16; + } + leaf refresh { + description + "Automatically refresh entry"; + type empty; + } + } + } + container raguard { + if-feature "ios-features:raguard"; + description + "Configure RA guard on the interface"; + presence "“true”"; + list attached-policies { + key "attach-policy"; + leaf attach-policy { + description + "Apply a policy for feature RA guard"; + type string; + must "(/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()]) or .='default'" { + error-message "Create raguard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + uses config-interface-ipv6-nd-raguard-vlan-grouping; + } + container default-policy { + uses config-interface-ipv6-nd-raguard-vlan-grouping; + } + leaf attach-policy { + status obsolete; + description + "Apply a policy for feature RA guard"; + type string; + must '(/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()])' { + error-message "Create raguard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + } + container autoconfig { + description + "Obtain address using autoconfiguration"; + leaf default-route { + description + "Insert default route"; + type empty; + } + leaf prefix { + description + "Insert auto-configured prefix"; + type empty; + } + } + leaf managed-config-flag { + description + "Use DHCP for IPv6 address configuration"; + type empty; + } + leaf other-config-flag { + description + "Hosts should use DHCP for non-address config"; + type empty; + } + leaf router-preference { + description + "Set default router preference value"; + type enumeration { + enum High; + enum Medium; + enum Low; + } + default "Medium"; + } + leaf routing-proxy { + if-feature "ios-features:routing-proxy"; + description + "Configure Routing Proxy on the interface"; + type empty; + } + leaf dad-proxy { + if-feature "ios-features:dad-proxy"; + description + "Configure DAD Proxy on the interface"; + type empty; + } + container prefix { + description + "Configure IPv6 Routing Prefix Advertisement"; + list ipv6-prefix-list { + description + "IPv6 prefix x:x::y/"; + key "ipv6-prefix"; + leaf ipv6-prefix { + type ios-types:ipv6-prefix; + } + leaf no-advertise { + description + "Do not advertise prefix"; + type empty; + } + } + } + container ra { + description + "IPv6 nd router alert configuration"; + container interval { + description + "Configuration of Router Advertisement (RA) interval in seconds."; + leaf interval_sec { + type uint16 { + range "4..65535"; + } + default "200"; + } + } + container dns { + description + "Configure DNS server for a zone"; + leaf-list server-list { + description + "List of IPv6 server addresses"; + type inet:ipv6-address; + } + leaf server { + status deprecated; + description + "IPv6 address. DEPRECATED, Use server-list instead"; + type inet:ipv6-address; + } + } + container suppress { + description + "Suppress IPv6 router-alert configuration"; + presence "true"; + leaf all { + description + "Suppress all IPv6 RA"; + type empty; + } + } + list specific-route { + key "specific-route"; + leaf specific-route { + type ios-types:ipv6-prefix; + } + leaf lifetime { + description + "lifetime(seconds)"; + type uint32 { + range "0..4294967295"; + } + } + leaf preference { + description + "Set default router preference value"; + type enumeration { + enum High; + enum Medium; + enum Low; + } + default "Medium"; + } + } + } + leaf ns-interval { + description + "Set advertised NS retransmission interval"; + type uint32 { + range "1000..172800000"; + } + } + leaf reachable-time { + description + "Set advertised reachability time"; + type uint32 { + range "0..3600000"; + } + } + leaf packet-priority { + description + "Use high priority for IPv6 ND packets"; + type empty; + } + } + + grouping config-interface-ipv6-nd-raguard-vlan-grouping-obsolete { + container vlan { + status obsolete; + description + "Configure the vlan list for which this policy applies (default: all)"; + leaf vlan-name { + status obsolete; + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf add { + status obsolete; + description + "add VLANs to the current list"; + type string; + } + leaf all { + status obsolete; + description + "all VLANs"; + type empty; + } + leaf except { + status obsolete; + description + "VLAN IDs of disallowed VLANS for this policy on this port"; + type string; + } + leaf none { + status obsolete; + description + "no VLANs"; + type empty; + } + leaf remove { + status obsolete; + description + "Remove VLANs from the current list"; + type string; + } + } + } + + grouping config-interface-ipv6-nd-grouping-obsolete { + container cache { + status obsolete; + description + "Cache entry"; + leaf interface-limit { + status obsolete; + description + "Number of entries"; + type uint32; + } + container expire { + status obsolete; + description + "Expiry time for ND entries"; + leaf time { + status obsolete; + description + "Expiry time (seconds)"; + type uint16; + } + leaf refresh { + status obsolete; + description + "Automatically refresh entry"; + type empty; + } + } + } + container raguard { + status obsolete; + if-feature "ios-features:raguard"; + description + "Configure RA guard on the interface"; + list attached-policies { + status obsolete; + key "attach-policy"; + leaf attach-policy { + status obsolete; + description + "Apply a policy for feature RA guard"; + type string; + must '(/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()])' { + error-message "Create raguard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + uses config-interface-ipv6-nd-raguard-vlan-grouping-obsolete; + } + container default-policy { + status obsolete; + uses config-interface-ipv6-nd-raguard-vlan-grouping-obsolete; + } + leaf attach-policy { + status obsolete; + description + "Apply a policy for feature RA guard"; + type string; + must '(/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()])' { + error-message "Create raguard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + } + container autoconfig { + status obsolete; + description + "Obtain address using autoconfiguration"; + leaf default-route { + status obsolete; + description + "Insert default route"; + type empty; + } + leaf prefix { + status obsolete; + description + "Insert auto-configured prefix"; + type empty; + } + } + leaf managed-config-flag { + status obsolete; + description + "Use DHCP for IPv6 address configuration"; + type empty; + } + leaf other-config-flag { + status obsolete; + description + "Hosts should use DHCP for non-address config"; + type empty; + } + leaf router-preference { + status obsolete; + description + "Set default router preference value"; + type enumeration { + enum High; + enum Medium; + enum Low; + } + default "Medium"; + } + container prefix { + status obsolete; + description + "Configure IPv6 Routing Prefix Advertisement"; + list ipv6-prefix-list { + status obsolete; + description + "IPv6 prefix x:x::y/"; + key "ipv6-prefix"; + leaf ipv6-prefix { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf no-advertise { + status obsolete; + description + "Do not advertise prefix"; + type empty; + } + } + } + container ra { + status obsolete; + description + "IPv6 nd router alert configuration"; + container dns { + status obsolete; + description + "Configure DNS server for a zone"; + leaf-list server-list { + status obsolete; + description + "List of IPv6 server addresses"; + type inet:ipv6-address; + } + leaf server { + status obsolete; + description + "IPv6 address. DEPRECATED, Use server-list instead"; + type inet:ipv6-address; + } + } + container suppress { + status obsolete; + description + "Suppress IPv6 router-alert configuration"; + presence "true"; + leaf all { + status obsolete; + description + "Suppress all IPv6 RA"; + type empty; + } + } + list specific-route { + status obsolete; + key "specific-route"; + leaf specific-route { + status obsolete; + type ios-types:ipv6-prefix; + } + leaf lifetime { + status obsolete; + description + "lifetime(seconds)"; + type uint32 { + range "0..4294967295"; + } + } + leaf preference { + status obsolete; + description + "Set default router preference value"; + type enumeration { + enum High; + enum Medium; + enum Low; + } + default "Medium"; + } + } + } + leaf ns-interval { + status obsolete; + description + "Set advertised NS retransmission interval"; + type uint32 { + range "1000..172800000"; + } + } + leaf reachable-time { + status obsolete; + description + "Set advertised reachability time"; + type uint32 { + range "0..3600000"; + } + } + leaf packet-priority { + status obsolete; + description + "Use high priority for IPv6 ND packets"; + type empty; + } + } + + augment "/ios:native/ios:ipv6/ios:nd" { + uses config-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-Compress/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-UnCompress/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:LISP/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:nve/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:SM/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:GMPLS/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Group-Async/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Async/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface/ios:Serial/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR-subinterface/ios:MFR/ios:ipv6/ios:nd" { + uses config-interface-ipv6-nd-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-oper.yang new file mode 100644 index 000000000..938789044 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-oper.yang @@ -0,0 +1,181 @@ +module Cisco-IOS-XE-netconf-diag-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-netconf-diag-oper"; + prefix ios-xe-netconf-diag-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for NETCONF Message Diagnostics operational data, + which includes current diagnostic level, total log size + and a list of transactions having been recorded. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-03-01 { + description + "- Add transaction status + - Remove log size + - Update description of diag-basic level"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef diagnostic-level { + type enumeration { + enum diag-disabled { + value 0; + description + "No diagnostic data collection (default)."; + } + enum diag-basic { + value 1; + description + "Include debugging logs."; + } + enum diag-maximum { + value 2; + description + "Include the basic diagnostics plus before and after + running-config snapshots."; + } + } + description + "Levels of diagnostic reporting."; + } + + typedef transaction-status { + type enumeration { + enum trans-status-unknown { + value 0; + description + "Transaction status is unknown."; + } + enum trans-status-success { + value 1; + description + "Transaction is successful."; + } + enum trans-status-failed { + value 2; + description + "Transaction is failed."; + } + } + description + "Transaction status."; + } + + grouping diag-transaction { + description + "A transaction having been recorded for diagnostics."; + leaf message { + type uint32; + description + "Message number assigned for identifying this transaction. + It can be used to find the transaction in the diagnostic logs."; + } + leaf username { + type string; + description + "Username of this NETCONF session."; + } + leaf session-id { + type int32; + description + "NETCONF session-id of this transaction."; + } + leaf trans-id { + type int32; + description + "Transaction-id of this transaction."; + } + leaf start-time { + type yang:date-and-time; + description + "Starting time of recording the transaction."; + } + leaf end-time { + type yang:date-and-time; + description + "Ending time of recording the transaction."; + } + leaf status { + type ios-xe-netconf-diag-oper:transaction-status; + description + "Transaction status."; + } + } + + grouping diag-summary { + description + "Summary of current status of NETCONF Message diagnostics, + which includes current diagnostic level, total log size + and number of transactions having been recorded."; + leaf level { + type ios-xe-netconf-diag-oper:diagnostic-level; + description + "Diagnostic level enabled."; + } + leaf trans-count { + type uint16; + description + "Number of transactions having been recorded."; + } + } + + container netconf-diag-oper-data { + config false; + description + "Operational data of NETCONF Message Diagnostics, + which includes current diagnostic level, total log size + and a list of transactions having been recorded."; + container diag-summary { + presence "diag-summary"; + description + "Summary of current status of NETCONF Message diagnostics, + which includes current diagnostic level, total log size + and number of transactions having been recorded."; + uses ios-xe-netconf-diag-oper:diag-summary; + } + list diag-trans { + key "message"; + description + "A list of transactions having been recorded."; + uses ios-xe-netconf-diag-oper:diag-transaction; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-rpc.yang new file mode 100644 index 000000000..e256a8b42 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-netconf-diag-rpc.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XE-netconf-diag-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-netconf-diag-rpc"; + prefix ios-xe-netconf-diag-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for NETCONF Message Diagnostics RPC. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-03-01 { + description + "- Remove Diagnostics logs archive + - Update description of diag-basic level"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef diagnostic-level { + type enumeration { + enum diag-disabled { + value 0; + description + "No diagnostic data collection (default)."; + } + enum diag-basic { + value 1; + description + "Include debugging logs."; + } + enum diag-maximum { + value 2; + description + "Include the basic diagnostics plus before and after + running-config snapshots."; + } + } + description + "Levels of diagnostic reporting."; + } + + grouping enable-netconf-diag { + description + "NETCONF Message Diagnostics data."; + leaf diag-level { + type ios-xe-netconf-diag-rpc:diagnostic-level; + mandatory true; + description + "Choose diagnostic level."; + } + } + + rpc enable-netconf-diag { + description + "Enable NETCONF Message Diagnostics for providing + easy access to all information required to diagnose + NETCONF transaction failures on NED models."; + input { + uses ios-xe-netconf-diag-rpc:enable-netconf-diag; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nhrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nhrp.yang new file mode 100644 index 000000000..9f2a3e030 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nhrp.yang @@ -0,0 +1,4359 @@ +module Cisco-IOS-XE-nhrp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nhrp"; + prefix ios-nhrp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Next Hop Resolution Protocol (NHRP) Yang model. + Copyright (c) 2016, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added model change for nhrp summary map + - Remove presence true from snp server traps nhrp grouping + - Added reset tailf for nhrp nhs and ordering for nhrp map + - Added create-after/delete-before between nhrp-id & if-state"; + cisco-semver:module-version "6.0.0"; + } + revision 2024-03-01 { + description + "- Addition of snmp-server traps for nhrp + - Added multicast config support for ipv6 nhrp map + - Changed Lower boundary of tag to 1, in summary-address command + - Changed Lower boundary of tag to 1, in summary-prefix command"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- Removed tailf:cli-diff-dependency as it is not supported"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added import configuration under /native/router/nhrp"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added new NHRP config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Support for all IPV4 and IPV6 NHRP commands under tunnel + - Augmented Virtual-Template with nhrp"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef redist-ospf-external-type { + type enumeration { + enum 1; + enum 2; + } + } + + grouping config-interface-nhrp-common-grouping { + leaf authentication { + description + "authentication string"; + type string; + } + container bfd { + description + "BFD Parameters"; + container notify { + description + "Set registration retry count for notification"; + leaf services { + description + "Retry counter for Services"; + type union { + type enumeration { + enum never; + } + type uint8 { + range "0..10"; + } + } + } + leaf transport { + description + "Retry counter for Transport"; + type union { + type enumeration { + enum never; + } + type uint8 { + range "0..10"; + } + } + } + } + leaf strict-mode { + description + "Enable BFD in strict mode"; + type empty; + } + } + container cache { + description + "NHRP Cache related commands."; + leaf bgp-sync { + description + "Listen to BGP for endpoint creation and deletion."; + type empty; + } + leaf non-authoritative { + description + "Mark cache entries non-authoritative"; + type empty; + } + } + leaf connect { + description + "NHRP event request id"; + type uint16 { + range "1..65535"; + } + } + leaf holdtime { + description + "Number of seconds"; + type uint16 { + range "1..65535"; + } + } + container max-send { + description + "Rate limit NHRP traffic"; + list pkt-count { + key "pkt-count"; + leaf pkt-count { + description + "Packet count"; + type uint16 { + range "1..65535"; + } + } + leaf every { + description + "Interval in seconds"; + type uint16 { + range "10..65535"; + } + } + } + } + container multicast { + description + "Multicast Parameters"; + choice batch-size-choice { + container batch-size-default { + description + "Specify the batch size of Multicast replication"; + leaf batch-size { + description + "Batch Size"; + type empty; + } + } + container batch-size-value { + description + "Specify batch interval to replicate Multicast Packets"; + leaf batch-size { + description + "Batch Size"; + type uint16 { + range "1..65535"; + } + } + leaf batch-interval { + description + "Interval in milliseconds"; + type uint16 { + range "1..65535"; + } + } + } + } + } + leaf network-id { + description + "Network identifier"; + type uint32 { + range "1..4294967295"; + } + } + container path { + description + "NHRP path specific configuration"; + container preference { + description + "Default preference for cache entries over this path"; + choice path-size-adaptive { + case path-size-case { + container pathsize { + description + "Default preference"; + leaf path-size { + description + "Path preference (relative)"; + type uint16 { + range "1..255"; + } + } + leaf adaptive { + description + "Adaptive path preference over this path"; + type empty; + } + } + } + case adaptive-case { + leaf adaptive { + description + "Adaptive path preference over this path"; + type empty; + } + } + } + } + } + leaf record-nhrp { + description + "NHRP record option"; + type boolean; + default "true"; + } + leaf record { + status obsolete; + description + "Allow NHRP record option"; + type empty; + } + container redirect { + description + "Enable NHRP redirect traffic indication"; + presence "true"; + leaf timeout { + description + "Interval in seconds"; + type uint8 { + range "2..30"; + } + } + } + container reject { + description + "NHRP resolution reject request"; + list reqid { + key "reqid"; + leaf reqid { + description + "reqid value"; + type uint16 { + range "1..65535"; + } + } + leaf rej-secs { + description + "Number of seconds"; + type uint16 { + range "0..65535"; + } + } + } + } + container responder { + description + "Responder interface"; + uses ios-ifc:interface-grouping; + } + leaf send-routed { + description + "Send NHRP packets via the routed path first"; + type empty; + } + container server-only { + description + "Disable NHRP requests"; + presence "true"; + leaf non-caching { + description + "Do not create NHRP cache entries"; + type empty; + } + } + container shortcut { + description + "Enable shortcut switching"; + presence "true"; + leaf virtual-template { + description + "Virtual template number"; + type uint16 { + range "1..4095"; + } + } + } + container trigger-svc { + description + "Create NHRP cut-through based on traffic load"; + list kbps { + key "kbps"; + leaf kbps { + description + "Trigger rate in kbps"; + type uint32 { + range "1..4294967295"; + } + } + leaf tear-kbps { + description + "Teardown rate in kbps"; + type uint32 { + range "0..4294967295"; + } + } + } + } + leaf use { + description + "Number of packets to cause NHRP request"; + type uint16 { + range "1..65535"; + } + } + } + + grouping config-interface-ipv4-nhrp-grouping { + container nhrp-v4 { + container nhrp { + description + "NHRP interface subcommands"; + container attribute { + description + "NHRP attribute set"; + container set { + description + "attribute set"; + list attr-type { + key "attr-type"; + leaf attr-type { + description + "attribute type"; + type string; + } + leaf attr-val { + description + "attribute value"; + type string; + } + } + } + leaf group { + description + "NHRP group name"; + type string; + } + } + container interest { + description + "Specify an access list"; + leaf none { + description + "No traffic is interesting."; + type empty; + } + leaf acl-range { + description + "IP access list"; + type uint8 { + range "1..199"; + } + } + } + container registration { + description + "Settings for registration packets."; + leaf delay { + description + " Number of seconds to delay registration."; + type uint8 { + range "0..10"; + } + } + leaf no-unique { + description + "Do not set the 'Unique' flag in registration requests."; + type empty; + } + leaf req-def-map { + description + "Request default map(s) in registration requests."; + type empty; + } + leaf timeout { + description + "Number of seconds"; + type uint16 { + range "1..65535"; + } + } + } + container map { + description + "Map dest IP addresses to NBMA addresses"; + list dest-ipv4 { + key "dest-ipv4"; + leaf dest-ipv4 { + description + "IP address of destination"; + type inet:ipv4-address; + } + list nbma-ipv4 { + key "nbma-ipv4"; + leaf nbma-ipv4 { + description + "IP NBMA address"; + type inet:ipv4-address; + } + list ipv4 { + description + "IP NBMA address"; + key "ipv4-address"; + leaf ipv4-address { + type inet:ipv4-address; + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + type inet:ipv6-address; + } + leaf preference { + description + "Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + list dest-mask { + key "dest-mask"; + leaf dest-mask { + description + "IP mask of destination"; + type inet:ipv4-address; + } + list ipv4 { + description + "IP NBMA address"; + key "ipv4-address"; + leaf ipv4-address { + type inet:ipv4-address; + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + type inet:ipv6-address; + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + list nbma-ipv6 { + key "nbma-ipv6"; + leaf nbma-ipv6 { + description + " IPv6 NBMA address"; + type inet:ipv6-address; + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + } + leaf-list nbma_ipv4 { + type inet:ipv4-address; + } + leaf-list nbma_ipv6 { + status obsolete; + type inet:ipv6-address; + } + leaf dynamic_new { + description + "Dynamically learn destinations from client registrations on hub"; + type boolean; + default "true"; + } + leaf dynamic { + status deprecated; + description + "Dynamically learn destinations from client registrations on hub"; + type empty; + } + } + } + container nhs { + description + "Specify a next hop server"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "Protocol IP address of NHS"; + type inet:ipv4-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container nbma { + description + "NBMA of NHS"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list prior { + key "prior"; + leaf prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list pri { + key "pri"; + leaf pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list nhs-fqdn { + key "nhs-fqdn"; + leaf nhs-fqdn { + description + "NHS FQDN string"; + type string; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-pri { + key "mc-pri"; + leaf mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list nhs-pri { + key "nhs-pri"; + leaf nhs-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-pri { + key "mc-pri"; + leaf mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-prior { + key "mc-prior"; + leaf mc-prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container cluster { + description + "NHS Redundancy cluster configurations"; + list clus-num { + key "clus-num"; + leaf clus-num { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + leaf max-connections { + description + "Max-connections value"; + type uint8 { + range "0..255"; + } + } + } + } + container dynamic { + description + "NHS protocol address dynamically learnt"; + container nbma { + description + "NBMA of NHS"; + list ipv4 { + description + "NBMA of NHS"; + key "ipv4"; + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dyn-pri { + key "dyn-pri"; + leaf dyn-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list n-prior { + key "n-prior"; + leaf n-prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list dyn-fqdn { + key "dyn-fqdn"; + leaf dyn-fqdn { + description + "NHS FQDN string"; + type string; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dyn-mc-pri { + key "dyn-mc-pri"; + leaf dyn-mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dp { + key "dp"; + leaf dp { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list v6-pri { + key "v6-pri"; + leaf v6-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list v6-pri2 { + key "v6-pri2"; + leaf v6-pri2 { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + } + leaf fallback { + description + "NHS Redundancy Fallback time, 0 -60 seconds"; + type uint8 { + range "0..60"; + } + } + } + container summary-map { + description + "Summary IP address"; + list dest-ipv4 { + key "dest-ipv4"; + leaf dest-ipv4 { + description + "IP address"; + type inet:ipv4-address; + } + list dest-mask { + key "dest-mask"; + leaf dest-mask { + description + "mask destination"; + type inet:ipv4-address; + } + list nbma-ipv4 { + key "nbma-ipv4"; + leaf nbma-ipv4 { + description + "IP NBMA address"; + type inet:ipv4-address; + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + container preference { + description + "Preference associated with the map"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + list nbma-ipv6 { + key "nbma-ipv6"; + leaf nbma-ipv6 { + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + container preference { + description + "Preference associated with the map"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + leaf resolve { + description + "Resolve mapping information for this summary"; + type empty; + } + } + } + list length-ipv4 { + key "prefix"; + leaf prefix { + description + "IP address/ of destination, eg:24.6.0.0/16"; + type inet:ipv4-prefix; + } + choice ipv4-ipv6-address-resolve { + case ipv4-address { + container ipv4 { + description + "Configure IPv4 address summary-map"; + leaf ipv4-summary-map { + description + "IP NBMA address"; + type inet:ipv4-address; + } + leaf preference { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + default "255"; + } + } + } + case ipv6-address { + container ipv6 { + description + "Configure IPv6 address summary-map"; + leaf ipv6-summary-map { + description + "IP NBMA address"; + type inet:ipv6-address; + } + leaf preference { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + default "255"; + } + } + } + case resolve { + container resolve-nhrp { + leaf resolve { + description + "Resolve mapping information for this summary"; + type empty; + } + leaf preference { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + default "255"; + } + } + } + } + list nbma-ipv4 { + status obsolete; + key "nbma-ipv4"; + leaf nbma-ipv4 { + status obsolete; + description + "IP NBMA address"; + type inet:ipv4-address; + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + container preference { + status obsolete; + description + "Preference associated with the map"; + list pri-range { + status obsolete; + key "pri-range"; + leaf pri-range { + status obsolete; + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + list nbma-ipv6 { + status obsolete; + key "nbma-ipv6"; + leaf nbma-ipv6 { + status obsolete; + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + container preference { + status obsolete; + description + "Preference associated with the map"; + list pri-range { + status obsolete; + key "pri-range"; + leaf pri-range { + status obsolete; + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + leaf resolve { + status obsolete; + description + "Resolve mapping information for this summary"; + type empty; + } + } + } + uses config-interface-nhrp-common-grouping; + } + } + } + + grouping config-interface-ipv6-nhrp-grouping { + container nhrp { + description + "NHRP interface subcommands"; + container attribute { + description + "NHRP attribute set"; + container set { + description + "attribute set"; + list attr-type { + key "attr-type"; + leaf attr-type { + description + "attribute type"; + type string; + } + leaf attr-val { + description + "attribute value"; + type string; + } + } + } + } + container interest { + description + "Specify an access list"; + leaf none { + description + "No traffic is interesting."; + type empty; + } + leaf acl-range { + description + "IP access list"; + type string; + } + } + container map { + description + "Map dest IP addresses to NBMA addresses"; + list ipv6_nn { + key "ipv6_nn"; + leaf ipv6_nn { + description + "IP prefix /"; + type ios-types:ipv6-prefix; + } + list ipv4 { + description + "IP NBMA address"; + key "ipv4-address"; + leaf ipv4-address { + description + "IPv4 NBMA address"; + type inet:ipv4-address; + } + leaf preference { + description + " Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + leaf preference { + description + "Preference associated with the map"; + type uint8 { + range "1..255"; + } + } + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + list ipv4 { + description + "IP NBMA address"; + key "ipv4-address"; + leaf ipv4-address { + description + "IPv4 NBMA address"; + type inet:ipv4-address; + } + } + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + } + leaf dynamic { + description + "Dynamically learn destinations from client registrations on hub"; + type boolean; + default "true"; + } + } + } + container nhs { + description + "Specify a next hop server"; + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "Protocol IP address of NHS"; + type inet:ipv6-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container nbma { + description + "NBMA of NHS"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list prior { + key "prior"; + leaf prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list pri { + key "pri"; + leaf pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list nhs-fqdn { + key "nhs-fqdn"; + leaf nhs-fqdn { + description + "NHS FQDN string"; + type string; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-pri { + key "mc-pri"; + leaf mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list nhs-pri { + key "nhs-pri"; + leaf nhs-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-pri { + key "mc-pri"; + leaf mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list mc-prior { + key "mc-prior"; + leaf mc-prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container cluster { + description + "NHS Redundancy cluster configurations"; + list clus-num { + key "clus-num"; + leaf clus-num { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + leaf max-connections { + description + "Max-connections value"; + type uint8 { + range "0..255"; + } + } + } + } + container dynamic { + description + "NHS protocol address dynamically learnt"; + container nbma { + description + "NBMA of NHS"; + list ipv4 { + description + "NBMA of NHS"; + key "ipv4"; + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dyn-pri { + key "dyn-pri"; + leaf dyn-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list n-prior { + key "n-prior"; + leaf n-prior { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list dyn-fqdn { + key "dyn-fqdn"; + leaf dyn-fqdn { + description + "NHS FQDN string"; + type string; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dyn-mc-pri { + key "dyn-mc-pri"; + leaf dyn-mc-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list dp { + key "dp"; + leaf dp { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list v6-pri { + key "v6-pri"; + leaf v6-pri { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + description + "NHS priority, don't specify for default priority"; + list v6-pri2 { + key "v6-pri2"; + leaf v6-pri2 { + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + } + leaf fallback { + description + "NHS Redundancy Fallback time, 0 -60 seconds"; + type uint8 { + range "0..60"; + } + } + } + container registration { + description + "Settings for registration packets."; + leaf delay { + description + " Number of seconds to delay registration."; + type uint8 { + range "0..10"; + } + } + leaf no-unique { + description + "Do not set the 'Unique' flag in registration requests."; + type empty; + } + leaf timeout { + description + "Number of seconds"; + type uint16 { + range "1..65535"; + } + } + } + container summary-map { + description + "Summary IP address"; + list ipv6-nn { + key "ipv6-nn"; + leaf ipv6-nn { + description + "IP prefix /"; + type ios-types:ipv6-prefix; + } + list nbma-ipv4 { + key "nbma-ipv4"; + leaf nbma-ipv4 { + description + "IP NBMA address"; + type inet:ipv4-address; + } + container preference { + description + "Preference associated with the map"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + list nbma-ipv6 { + key "nbma-ipv6"; + leaf nbma-ipv6 { + description + "IPv6 NBMA address"; + type inet:ipv6-address; + } + container preference { + description + "Preference associated with the map"; + list pri-range { + key "pri-range"; + leaf pri-range { + description + "NHS priority, range = 1 to 255, 0 is the highest"; + type uint8 { + range "1..255"; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + uses summary-map-grouping; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + uses summary-map-grouping; + } + } + } + leaf resolve { + description + "Resolve mapping information for this summary"; + type empty; + } + } + } + uses config-interface-nhrp-common-grouping; + } + } + + grouping config-tunnel-if-state-grouping { + container if-state-tunnel { + container if-state { + description + "Allow applications to control interface state"; + leaf nhrp { + description + "Allow NHRP to control interface state"; + type empty; + } + leaf track { + description + "Track an object"; + type uint16 { + range "1..1000"; + } + } + } + } + } + + grouping config-interface-tunn-grouping { + container nhrp-tunn { + container nhrp { + description + "NHRP Interface commands"; + container attribute { + description + "NHRP attribute"; + leaf group { + description + "NHRP group name"; + type string; + } + } + container event-publisher { + description + "Enable NHRP smart spoke feature"; + leaf max-event-timeout { + description + "Number of seconds"; + type uint8 { + range "1..22"; + } + } + } + leaf group { + description + "group name string"; + type string; + } + container map { + description + "Map group name to QoS service policy"; + container group { + description + "NHRP group mapping"; + list nhrp-name { + key "nhrp-name"; + leaf nhrp-name { + description + "NHRP group name"; + type string; + } + container service-policy { + description + "QoS service-policy"; + leaf output { + description + "QoS policy-map name"; + type string; + } + } + } + } + } + leaf route-watch-nhrp { + description + "Enable NHRP route watch"; + type boolean; + default "true"; + } + leaf route-watch { + status obsolete; + description + "Enable NHRP route watch"; + type empty; + } + } + } + } + + grouping summary-map-grouping { + container match { + description + "Use this NBMA mapping based on match criteria"; + container attribute { + description + "Select map based on a user defined attribute"; + list attr-type { + key "attr-type"; + leaf attr-type { + description + "attribute type"; + type string; + } + leaf attr-val { + description + "attribute value"; + type string; + } + } + } + leaf geo-location { + description + "Select map based on geographical location"; + type string; + } + leaf group { + description + "Select map based on group"; + type string; + } + leaf topo-location { + description + "Select map based on topological location"; + type string; + } + } + } + + grouping config-global-nhrp-grouping { + container nhrp { + description + "NHRP global commands"; + when '/ios:native/ios:service/ios:internal'; + container G-Ach { + description + " Generic Associated Channel "; + leaf type { + description + "G-ACh type"; + type uint32 { + range "0..32767"; + } + } + } + container multicast { + description + "NHRP multicast related commands"; + container queue { + description + " Incoming multicast packet queue "; + leaf size { + description + "Size of the queue"; + type uint32 { + range "512..10240"; + } + } + leaf threshold { + description + "Threshold beyond which non-locally generated packets are dropped"; + type uint32 { + range "0..10240"; + } + } + } + } + } + } + + grouping config-interface-nhrp-grouping-obsolete { + container nhrp { + description + "NHRP interface subcommands"; + status obsolete; + container attribute { + description + "NHRP attribute set"; + status obsolete; + container set { + description + "attribute set"; + status obsolete; + list attr-type { + status obsolete; + key "attr-type"; + leaf attr-type { + status obsolete; + description + "attribute type"; + type string; + } + leaf attr-val { + status obsolete; + description + "attribute value"; + type string; + } + } + } + } + leaf authentication { + status obsolete; + description + "authentication string"; + type string; + } + container cache { + status obsolete; + description + "NHRP Cache related commands."; + leaf non-authoritative { + status obsolete; + description + "Mark cache entries non-authoritative"; + type empty; + } + } + leaf connect { + status obsolete; + description + "NHRP event request id"; + type uint16 { + range "1..65535"; + } + } + leaf group { + status obsolete; + type string; + } + leaf holdtime { + status obsolete; + description + "Number of seconds"; + type uint16 { + range "1..65535"; + } + } + container interest { + status obsolete; + description + "Specify an access list"; + leaf acl-range { + status obsolete; + description + "IP access list"; + type uint8 { + range "1..199"; + } + } + leaf none { + status obsolete; + description + "No traffic is interesting."; + type empty; + } + } + container map { + status obsolete; + description + "Map dest IP addresses to NBMA addresses"; + list dest-ipv4 { + status obsolete; + key "dest-ipv4"; + leaf dest-ipv4 { + status obsolete; + description + "IP address of destination"; + type inet:ipv4-address; + } + list nbma-ipv4 { + status obsolete; + key "nbma-ipv4"; + leaf nbma-ipv4 { + status obsolete; + description + "IP NBMA address"; + type inet:ipv4-address; + } + leaf ipv4 { + status obsolete; + type inet:ipv4-address; + } + leaf ipv6 { + status obsolete; + type inet:ipv6-address; + } + } + list dest-mask { + status obsolete; + key "dest-mask"; + leaf dest-mask { + status obsolete; + description + "IP mask of destination"; + type inet:ipv4-address; + } + leaf ipv4 { + status obsolete; + type inet:ipv4-address; + } + leaf ipv6 { + status obsolete; + type inet:ipv6-address; + } + } + leaf nbma-ipv6 { + status obsolete; + type inet:ipv6-address; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + leaf-list nbma_ipv4 { + status obsolete; + type inet:ipv4-address; + } + leaf-list nbma_ipv6 { + status obsolete; + type inet:ipv6-address; + } + leaf dynamic { + status obsolete; + description + "Dynamically learn destinations from client registrations on hub"; + type empty; + } + } + list group { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + container service-policy { + status obsolete; + leaf output { + status obsolete; + description + "Policy"; + type string; + } + } + } + } + container max-send { + status obsolete; + description + "Rate limit NHRP traffic"; + list pkt-count { + status obsolete; + key "pkt-count"; + leaf pkt-count { + status obsolete; + description + "Packet count"; + type uint16 { + range "1..65535"; + } + } + leaf every { + status obsolete; + description + "Interval in seconds"; + type uint16 { + range "10..65535"; + } + } + } + } + leaf network-id { + status obsolete; + description + "Network identifier"; + type uint32 { + range "1..4294967295"; + } + } + container nhs { + status obsolete; + description + "Specify a next hop server"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "Protocol IP address of NHS"; + type inet:ipv4-address; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container nbma { + status obsolete; + description + "NBMA of NHS"; + list ipv4 { + status obsolete; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list prior { + status obsolete; + key "prior"; + leaf prior { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list pri { + status obsolete; + key "pri"; + leaf pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list nhs-fqdn { + status obsolete; + key "nhs-fqdn"; + leaf nhs-fqdn { + status obsolete; + description + "NHS FQDN string"; + type string; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list mc-pri { + status obsolete; + key "mc-pri"; + leaf mc-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list nhs-pri { + status obsolete; + key "nhs-pri"; + leaf nhs-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + status obsolete; + key "ipv6"; + leaf ipv6 { + status obsolete; + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list mc-pri { + status obsolete; + key "mc-pri"; + leaf mc-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list mc-prior { + status obsolete; + key "mc-prior"; + leaf mc-prior { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list pri-range { + status obsolete; + key "pri-range"; + leaf pri-range { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container cluster { + status obsolete; + description + "NHS Redundancy cluster configurations"; + list clus-num { + status obsolete; + key "clus-num"; + leaf clus-num { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + leaf max-connections { + status obsolete; + description + "Max-connections value"; + type uint8 { + range "0..255"; + } + } + } + } + container dynamic { + status obsolete; + description + "NHS protocol address dynamically learnt"; + container nbma { + status obsolete; + description + "NBMA of NHS"; + list ipv4 { + status obsolete; + description + "NBMA of NHS"; + key "ipv4"; + leaf ipv4 { + status obsolete; + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list dyn-pri { + status obsolete; + key "dyn-pri"; + leaf dyn-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list n-prior { + status obsolete; + key "n-prior"; + leaf n-prior { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list dyn-fqdn { + status obsolete; + key "dyn-fqdn"; + leaf dyn-fqdn { + status obsolete; + description + "NHS FQDN string"; + type string; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list dyn-mc-pri { + status obsolete; + key "dyn-mc-pri"; + leaf dyn-mc-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list dp { + status obsolete; + key "dp"; + leaf dp { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + list ipv6 { + status obsolete; + key "ipv6"; + leaf ipv6 { + status obsolete; + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container multicast { + status obsolete; + description + "Use this NBMA mapping for broadcasts/multicasts"; + presence "true"; + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list v6-pri { + status obsolete; + key "v6-pri"; + leaf v6-pri { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + container priority { + status obsolete; + description + "NHS priority, don't specify for default priority"; + list v6-pri2 { + status obsolete; + key "v6-pri2"; + leaf v6-pri2 { + status obsolete; + description + "NHS priority, range = 0 to 255, 0 is the highest"; + type uint8 { + range "0..255"; + } + } + leaf cluster { + status obsolete; + description + "NHS cluster number"; + type uint8 { + range "0..10"; + } + } + } + } + } + } + } + leaf fallback { + status obsolete; + description + "NHS Redundancy Fallback time, 0 -60 seconds"; + type uint8 { + range "0..60"; + } + } + } + leaf record { + status obsolete; + description + "Allow NHRP record option"; + type empty; + } + container redirect { + status obsolete; + description + "Enable NHRP redirect traffic indication"; + presence "true"; + leaf timeout { + status obsolete; + description + "Interval in seconds"; + type uint8 { + range "2..30"; + } + } + } + container registration { + status obsolete; + description + "Settings for registration packets."; + leaf no-unique { + status obsolete; + description + "Do not set the 'Unique' flag in registration requests."; + type empty; + } + leaf timeout { + status obsolete; + description + "Number of seconds"; + type uint16 { + range "1..65535"; + } + } + } + container reject { + status obsolete; + description + "NHRP resolution reject request"; + list reqid { + status obsolete; + key "reqid"; + leaf reqid { + status obsolete; + description + "reqid value"; + type uint16 { + range "1..65535"; + } + } + leaf rej-secs { + status obsolete; + description + "Number of seconds"; + type uint16 { + range "0..65535"; + } + } + } + } + container responder { + status obsolete; + description + "Responder interface"; + leaf res-int { + status obsolete; + description + "Virtual ACR interface"; + type string; + } + leaf Analysis-Module { + status obsolete; + description + "Analysis-Module interface number"; + type uint8; + } + leaf Fcpa { + status obsolete; + description + "Fcpa interface number"; + type uint8; + } + leaf SBC { + status obsolete; + description + "SBC interface number"; + type uint32 { + range "0..2147483647"; + } + } + leaf SONET_ACR { + status obsolete; + description + "SONET_ACR interface number"; + type uint8; + } + leaf TB-controller { + status obsolete; + description + "Telecom-Bus Clock Controller"; + type string; + } + leaf Service-Engine { + status obsolete; + description + "Service-Engine interface number"; + type uint8; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface number"; + type uint32 { + range "0..2147483647"; + } + } + leaf Tunnel-tp { + status obsolete; + description + "Tunnel-tp interface number"; + type uint16 { + range "0..65535"; + } + } + leaf VPN { + status obsolete; + description + "VPN interface number"; + type uint32 { + range "0..2147483647"; + } + } + leaf Virtual-TokenRing { + status obsolete; + description + "Virtual-TokenRing interface number"; + type uint32 { + range "0..2147483647"; + } + } + leaf VirtualPortGroup { + status obsolete; + description + "VirtualPortGroup interface number"; + type uint8 { + range "0..31"; + } + } + leaf Vlan { + status obsolete; + description + "Vlan interface number"; + type uint16 { + range "1..4095"; + } + } + leaf ucse { + status obsolete; + description + "ucse interface number"; + type uint8; + } + leaf vasileft { + status obsolete; + description + "vasileft interface number"; + type uint16 { + range "1..2000"; + } + } + leaf vasiright { + status obsolete; + description + "vasiright interface number"; + type uint16 { + range "1..2000"; + } + } + } + container server-only { + status obsolete; + description + "Disable NHRP requests"; + presence "true"; + leaf non-caching { + status obsolete; + description + "Do not create NHRP cache entries"; + type empty; + } + } + container shortcut { + status obsolete; + description + "Enable shortcut switching"; + presence "true"; + leaf virtual-template { + status obsolete; + description + "Virtual template number"; + type uint16 { + range "1..4095"; + } + } + } + container trigger-svc { + status obsolete; + description + "Create NHRP cut-through based on traffic load"; + list kbps { + status obsolete; + key "kbps"; + leaf kbps { + status obsolete; + description + "Trigger rate in kbps"; + type uint32 { + range "1..4294967295"; + } + } + leaf tear-kbps { + status obsolete; + description + "Teardown rate in kbps"; + type uint32 { + range "0..4294967295"; + } + } + } + } + leaf use { + status obsolete; + description + "Number of packets to cause NHRP request"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping config-router-nhrp-grouping { + leaf default-metric { + description + "Set metric of redistributed routes"; + type uint32 { + range "1 ..4294967295"; + } + } + container distance { + description + "Define an administrative distance"; + list admin-distance { + key "distance"; + leaf distance { + description + "Set route administrative distance"; + type uint8 { + range "1..255"; + } + } + leaf ipv4-address { + description + "IP Source address"; + type inet:ipv4-address; + } + leaf wildcard { + description + "Wildcard bits"; + type inet:ipv4-address; + } + leaf access-list { + description + "Standard Access List"; + type ios-types:std-acl-type; + } + } + } + container distribute-list { + description + "Filter entries in eigrp updates"; + container access-list { + list access-list-direction { + key "direction"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf direction { + description + "Filter service updates"; + must '(not (../../../ios-nhrp:prefix-list/ios-nhrp:prefix-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-nhrp:gateway/ios-nhrp:gateway-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-nhrp:route-map/ios-nhrp:route-map-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + enum out; + } + } + } + list access-list-direction-interface { + key "direction"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf direction { + description + "Filter service updates"; + type enumeration { + enum in; + enum out; + } + } + container interface { + description + "Interface name"; + uses ios-ifc:interface-grouping; + } + } + } + container gateway { + description + "Filtering incoming address updates based on gateway"; + list gateway-direction { + key "direction"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf direction { + description + "Filter service updates"; + must '(not (../../../ios-nhrp:access-list/ios-nhrp:access-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-nhrp:prefix-list/ios-nhrp:prefix-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-nhrp:route-map/ios-nhrp:route-map-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + enum out; + } + } + } + list gateway-direction-interface { + key "direction"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf direction { + description + "Filter service updates"; + type enumeration { + enum in; + enum out; + } + } + container interface { + description + "Interface name"; + uses ios-ifc:interface-grouping; + } + } + } + container prefix-list { + description + "Filter prefixes in address updates"; + list prefix-list-direction { + key "direction"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf direction { + description + "Filter service updates"; + must '(not (../../../ios-nhrp:access-list/ios-nhrp:access-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-nhrp:gateway/ios-nhrp:gateway-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-nhrp:route-map/ios-nhrp:route-map-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + enum out; + } + } + } + list prefix-list-direction-interface { + key "direction"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf direction { + description + "Filter service updates"; + type enumeration { + enum in; + enum out; + } + } + container interface { + description + "Interface name"; + uses ios-ifc:interface-grouping; + } + } + } + container route-map { + list route-map-direction { + description + "Filter prefixes based on the route-map"; + key "direction"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf direction { + description + "Filter service updates"; + must '(not (../../../ios-nhrp:access-list/ios-nhrp:access-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-nhrp:prefix-list/ios-nhrp:prefix-list-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-nhrp:gateway/ios-nhrp:gateway-direction[ios-nhrp:direction=current()]))' { + error-message "distribute-list gateway already exists"; + } + type enumeration { + enum in; + enum out; + } + } + } + list route-map-direction-interface { + description + "Filter prefixes based on the route-map"; + key "direction"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf direction { + description + "Filter service updates"; + type enumeration { + enum in; + enum out; + } + } + container interface { + description + "Interface name"; + uses ios-ifc:interface-grouping; + } + } + } + } + leaf maximum-paths { + description + "Forward packets over multiple paths"; + type uint32 { + range "1 .. 32"; + } + } + container neighbor { + description + "Specify a neighbor router"; + container nhs { + description + "Publish routes to Next Hop Servers"; + container Tunnel { + description + "Tunnel interface"; + leaf number { + description + "Tunnel interface number"; + type uint32 { + range "1 .. 2147483647"; + } + } + } + } + } + container network { + description + "Enable routing on an IP network"; + list address-wildcard { + key "ipv4-address wildcard"; + leaf ipv4-address { + description + "Network number"; + type inet:ipv4-address; + } + leaf wildcard { + description + "EIGRP wild card bits"; + type inet:ipv4-address; + } + leaf passive { + type empty; + } + } + list address { + key "ipv4-address"; + leaf ipv4-address { + description + "Network number"; + type inet:ipv4-address; + } + leaf passive { + type empty; + } + } + } + container redistribute { + description + "Redistribute information from another routing protocol"; + uses nhrp-redistribute-top-grouping; + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf number { + type uint32 { + range "1 .. 4294967295"; + } + } + container threshold-warning-only-container { + leaf threshold { + type uint32 { + range "1 .. 100"; + } + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + container vrf { + description + "Specify a source VRF"; + list non-global-vrf { + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses nhrp-redistribute-top-grouping; + } + container global { + description + "global VRF"; + uses nhrp-redistribute-top-grouping; + } + } + } + grouping nhrp-redistribute-top-grouping { + list application { + description + "Application"; + key "name"; + leaf name { + type string; + } + uses nhrp-redistribute-grouping; + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + key "as-number"; + uses nhrp-redistribute-bgp-grouping; + } + container connected { + description + "Connected"; + presence "Connected"; + uses nhrp-redistribute-grouping; + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses nhrp-redistribute-bgp-grouping; + } + container isis { + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + key "name"; + leaf name { + type string; + } + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses nhrp-redistribute-grouping; + } + } + uses nhrp-redistribute-grouping; + } + container iso-igrp { + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + container area-tag-route-map-container { + leaf area-tag { + type string; + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + uses nhrp-iso-igrp-redistribute-grouping; + } + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + uses nhrp-redistribute-grouping; + } + container mobile { + description + "Mobile routes"; + presence "Mobile routes"; + uses nhrp-redistribute-grouping; + } + container odr { + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses nhrp-redistribute-grouping; + } + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses nhrp-redistribute-grouping; + } + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + uses nhrp-redistribute-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint32 { + range "1 .. 65535"; + } + } + uses nhrp-redistribute-top-match-grouping; + uses nhrp-redistribute-match-grouping; + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + description + "OSPFv3"; + key "id"; + leaf id { + type uint32 { + range "1 .. 65535"; + } + } + uses nhrp-redistribute-top-match-grouping; + uses nhrp-redistribute-match-grouping; + } + list rip { + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + description + "User selected string identifying this rip process"; + type string; + } + uses nhrp-redistribute-grouping; + } + container static { + description + "Static routes"; + presence "Static routes"; + uses nhrp-redistribute-grouping; + } + } + + grouping nhrp-redistribute-bgp-grouping { + leaf as-number { + type ios-types:bgp-as-number-type; + } + uses nhrp-redistribute-grouping; + } + + grouping nhrp-redistribute-grouping { + container redist-options { + uses nhrp-iso-igrp-redistribute-grouping; + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + + grouping nhrp-iso-igrp-redistribute-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + } + + grouping nhrp-redistribute-top-match-grouping { + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses nhrp-redistribute-match-grouping; + } + container external { + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + type redist-ospf-external-type; + } + uses nhrp-redistribute-match-grouping; + } + container nssa-external { + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + type redist-ospf-external-type; + } + uses nhrp-redistribute-match-grouping; + } + } + } + + grouping nhrp-redistribute-match-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf subnets { + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + } + + container summary-prefix { + description + "Configure IP address summaries"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP summary address"; + type inet:ipv4-address; + } + leaf mask { + description + "Summary mask"; + type inet:ipv4-address; + } + } + container prefix-value { + leaf prefix { + description + "IP prefix /, e.g., 35.0.0.0/8"; + type inet:ipv4-prefix; + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container summary-address { + description + "Configure IP address summaries"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP summary address"; + type inet:ipv4-address; + } + leaf mask { + description + "Summary mask"; + type inet:ipv4-address; + } + } + container prefix-value { + leaf prefix { + description + "IP prefix /, e.g., 35.0.0.0/8"; + type inet:ipv4-prefix; + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1..4294967295"; + } + } + } + } + container traffic-share { + description + "How to compute traffic share over alternate paths"; + container min { + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + } + + grouping config-nhrp-router-grouping { + list nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + key "id"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + container address-family { + description + "Enter Address Family command mode"; + container vrf-ipv4 { + container ipv4 { + description + "Address family"; + leaf unicast { + type empty; + } + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "VRF must be created 1st, deleted last"; + } + } + uses config-router-nhrp-grouping; + } + } + } + container vrf-ipv6 { + container ipv6 { + description + "Address family"; + leaf unicast { + type empty; + } + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "VRF must be created 1st, deleted last"; + } + } + uses config-router-nhrp-grouping; + } + } + } + container ipv4 { + description + "Address family"; + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "ipv4 VRF must be created 1st, deleted last"; + } + } + uses config-router-nhrp-grouping; + } + } + container ipv6 { + description + "Address family"; + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "VRF must be created 1st, deleted last"; + } + } + uses config-router-nhrp-grouping; + } + } + container vpnv4 { + description + "Address family"; + container unicast { + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "VRF must be created 1st, deleted last"; + } + } + } + } + container import { + description + "importing bgp protocol"; + container bgp { + description + "bgp protocol importing"; + leaf number { + description + "bgp number"; + type uint32 { + range "1..4294967295"; + } + } + leaf route-map { + description + "Filter prefixes based on the route-map"; + when '/ios:native/ios:service/ios:internal'; + type string; + } + } + } + } + container vpv4 { + description + "Address family"; + status obsolete; + leaf unicast { + status obsolete; + type empty; + } + list vrf { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "To delete vrf/rd, bgp/address-family/vrf needs to be deleted 1st"; + } + } + uses config-router-nhrp-grouping; + } + container import { + description + "importing bgp protocol"; + status obsolete; + container bgp { + description + "bgp protocol importing"; + status obsolete; + leaf number { + description + "bgp number"; + status obsolete; + type uint32 { + range "1..65535"; + } + } + leaf route-map { + description + "Filter prefixes based on the route-map"; + status obsolete; + type string; + } + } + } + uses config-router-nhrp-grouping; + } + container vpnv6 { + description + "Address family"; + leaf unicast { + type empty; + } + list vrf { + key "name"; + leaf name { + type string; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:rd or /ios:native/ios:ip/ios:vrf[ios:name=current()]/ios:rd' { + error-message "VRF must be created 1st, deleted last"; + } + } + uses config-router-nhrp-grouping; + } + } + } + uses config-router-nhrp-grouping; + } + } + + grouping config-llp-nhrp-grouping { + container llp { + description + "NHRP multicast map for link layer protocols"; + container nhrp { + description + "NHRP interface subcommands"; + container map { + description + "Map dest IP addresses to NBMA addresses"; + container multicast { + description + "Use this NBMA mapping for broadcasts/multicasts"; + list ipv4 { + description + "IP NBMA address"; + key "ipv4-address"; + leaf ipv4-address { + type inet:ipv4-address; + } + } + list ipv6 { + description + "IPv6 NBMA address"; + key "ipv6-address"; + leaf ipv6-address { + type inet:ipv6-address; + } + } + leaf dynamic { + description + "Dynamically learn destinations from client registrations on hub"; + type empty; + } + } + } + } + } + } + + grouping snmp-server-trap-nhrp-grouping { + container nhrp { + container nhc { + leaf down { + description + "Enable Next Hop Client down trap"; + type empty; + } + leaf up { + description + "Enable Next Hop Client up trap"; + type empty; + } + } + container nhp { + leaf down { + description + "Enable Next Hop Peer down trap"; + type empty; + } + leaf up { + description + "Enable Next Hop Peer up trap"; + type empty; + } + } + container nhs { + leaf down { + description + "Enable Next Hop Server down trap"; + type empty; + } + leaf up { + description + "Enable Next Hop Server up trap"; + type empty; + } + } + leaf quota-exceeded { + description + "Enable quota-exceeded trap"; + type empty; + } + } + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-nhrp-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ipv4-nhrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ip" { + when "/ios:native/ios:interface/ios:Virtual-Template/ios:type = 'tunnel'"; + uses config-interface-ipv4-nhrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-llp-nhrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-nhrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios:ipv6" { + when "/ios:native/ios:interface/ios:Virtual-Template/ios:type = 'tunnel'"; + uses config-interface-ipv6-nhrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-tunn-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + when "/ios:native/ios:interface/ios:Virtual-Template/ios:type = 'tunnel'"; + uses config-interface-tunn-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-tunnel-if-state-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-tunnel-if-state-grouping; + } + + augment "/ios:native" { + uses config-global-nhrp-grouping; + } + + augment "/ios:native/ios:router" { + uses config-nhrp-router-grouping; + } + + augment "/ios:native/ios:snmp-server/ios-snmp:enable/ios-snmp:enable-choice/ios-snmp:traps" { + uses snmp-server-trap-nhrp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp-oper.yang new file mode 100644 index 000000000..50bbb47b9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp-oper.yang @@ -0,0 +1,793 @@ +module Cisco-IOS-XE-ntp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ntp-oper"; + prefix ntp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for NTP operational data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-01-16 { + description + "Server address, NTP selection status, NTP peer events. NTP number of events, NTP authentication status."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ref-clock-source-type { + type enumeration { + enum ntp-ref-goes { + value 0; + description + "Geosynchronous Orbit Environment Satellite"; + } + enum ntp-ref-gps { + value 1; + description + "Global Position System"; + } + enum ntp-ref-gal { + value 2; + description + "Galileo Positioning System"; + } + enum ntp-ref-pps { + value 3; + description + "Generic pulse-per-second"; + } + enum ntp-ref-irig { + value 4; + description + "Inter-Range Instrumentation Group"; + } + enum ntp-ref-wwvb { + value 5; + description + "LF Radio WWVB Ft. Collins"; + } + enum ntp-ref-dcf { + value 6; + description + "LF Radio DCF77 Mainflingen"; + } + enum ntp-ref-hbg { + value 7; + description + "LF Radio HBG Prangins"; + } + enum ntp-ref-msf { + value 8; + description + "LF Radio MSF Anthorn"; + } + enum ntp-ref-jjy { + value 9; + description + "LF Radio JJY Fukushima"; + } + enum ntp-ref-lorc { + value 10; + description + "MF Radio LORAN C station"; + } + enum ntp-ref-tdf { + value 11; + description + "MF Radio Allouis"; + } + enum ntp-ref-chu { + value 12; + description + "HF Radio CHU Ottawa"; + } + enum ntp-ref-wwv { + value 13; + description + "HF Radio WWV Ft. Collins"; + } + enum ntp-ref-wwvh { + value 14; + description + "HF Radio WWVH Kauai"; + } + enum ntp-ref-nist { + value 15; + description + "NIST telephone modem"; + } + enum ntp-ref-acts { + value 16; + description + "NIST telephone modem"; + } + enum ntp-ref-usno { + value 17; + description + "USNO telephone modem"; + } + enum ntp-ref-ptb { + value 18; + description + "European telephone modem"; + } + } + description + "Clock source type for NTP"; + } + + typedef kiss-code-type { + type enumeration { + enum ntp-ref-acst { + value 0; + description + "The association belongs to a unicast server"; + } + enum ntp-ref-auth { + value 1; + description + "Server authentication failed"; + } + enum ntp-ref-auto { + value 2; + description + "Autokey sequence failed"; + } + enum ntp-ref-bcst { + value 3; + description + "The association belongs to a broadcast server"; + } + enum ntp-ref-cryp { + value 4; + description + "Cryptographic authentication or identification failed"; + } + enum ntp-ref-deny { + value 5; + description + "Access denied by remote server"; + } + enum ntp-ref-drop { + value 6; + description + "Lost peer in symmetric mode"; + } + enum ntp-ref-rstr { + value 7; + description + "Access denied due to local policy"; + } + enum ntp-ref-init { + value 8; + description + "The association has not synchronized for the first time"; + } + enum ntp-ref-mcst { + value 9; + description + "The association belongs to a dynamically discovered server"; + } + enum ntp-ref-nkey { + value 10; + description + "No key found. Either the key was never installed or not trusted"; + } + enum ntp-ref-rate { + value 11; + description + "The server has temporarily denied access because + the client exceeded the rate threshold"; + } + enum ntp-ref-rmot { + value 12; + description + "Alteration of association from a remote host running ntpdc"; + } + enum ntp-ref-step { + value 13; + description + "STEP means the offset is less than the panic threshold but greater than the step threshold of 125 ms"; + } + } + description + "Kiss code is used for debug or maintenance purposes in devices in stratum 0 or 16"; + } + + typedef refid-pkt-type-info { + type enumeration { + enum ntp-ref-state-kod { + value 0; + description + "Kiss of Death code or KOD contains debug or maintenance code. Refid is set to these codes in stratums 0 and 16 (unspec,invalid, unsync)"; + } + enum ntp-ref-state-resolved-with-clk-source { + value 1; + description + "CLK Source type occurs for all primary time servers in stratum 1"; + } + enum ntp-ref-state-resolved-with-ip-addr { + value 2; + description + "IP address occurs for clients in stratums >= 2 and <=15 "; + } + enum ntp-ref-state-bad-state { + value 3; + description + "Bad state which serves as a default criterion for a complete mismatch with all cases"; + } + } + description + "The type of information stored in the refid"; + } + + typedef peer-select-status { + type enumeration { + enum ntp-peer-as-backup { + value 0; + description + "The peer is a survivor but not among the first + six peers"; + } + enum ntp-peer-rejected { + value 1; + description + "The peer was rejected due to a loop or due + to becoming unreachable or due to bad synchronization distance"; + } + enum ntp-peer-false-ticker { + value 2; + description + "The peer or server is discarded due to false tick + or clock errors"; + } + enum ntp-peer-excess { + value 3; + description + "The peer is discarded as it is not among the + first ten peers sorted by synchronization distance"; + } + enum ntp-peer-outlier { + value 4; + description + "NTP server or peer rejected as outlier"; + } + enum ntp-peer-candidate { + value 5; + description + "Possible candidate for selection as time server"; + } + enum ntp-peer-sys-peer { + value 6; + description + "Peer or server selected as time server"; + } + enum ntp-peer-pps-peer { + value 7; + description + "Peer or server selected as time server. In this + case the Pulse Per Second signal is used to synchronize the client and + server or peer"; + } + } + description + "Selection status of peer"; + } + + typedef peer-auth-status { + type enumeration { + enum ntp-auth-ok { + value 0; + description + "The NTP client or server packet has MAC + field and authentication succeeded"; + } + enum ntp-auth-bad-auth { + value 1; + description + "The NTP client or server packet has MAC + and decryption failed with AUTH_ERROR "; + } + enum ntp-auth-auth-not-configured { + value 2; + description + "The NTP client or server is not configured with authentication + with server or client"; + } + enum ntp-auth-status-not-available { + value 3; + description + "The NTP client or server authentication status is not available + as now"; + } + enum ntp-auth-none { + value 4; + description + "The NTP client or server packet has no MAC + with server or peer"; + } + enum ntp-auth-crypto { + value 5; + description + "crypto-NAK. The MAC has four octets only and could not + determine authentication status with peer"; + } + } + description + "Status of authenticating switch with peer or server"; + } + + typedef peer-status-word { + type enumeration { + enum crypto-flag-sig { + value 0; + description + "In autokey[public key ntp authentication protocol ], this flag is + set when host certificate is signed by server.This is not implemented/supported as of now "; + } + enum crypto-flag-leap { + value 1; + description + "In autokey, this flag is set when leap second values + are received and validated"; + } + enum crypto-flag-vrfy { + value 2; + description + "In autokey,this flag is set when the trusted host identity + credentials are confirmed "; + } + enum crypto-flag-cook { + value 3; + description + "In autokey, this flag is set when the cookie is received and validated + when set, key lists with nonzero cookies are generated, + when reset cookie is zero"; + } + enum crypto-flag-auto { + value 4; + description + "In autokey, this flag is set when autokey values are received and validated, + when set client can validate packets without extension field + according to the autokey sequence"; + } + enum crypto-flag-cert { + value 5; + description + "In autokey, this flag is set when trusted host certificate and public key are verified"; + } + } + description + "Peer status word or crypto of ntp server or ntp peer"; + } + + typedef peer-event { + type enumeration { + enum ntp-peer-event-mobilize { + value 0; + description + "This event is used to allocate resources and + initialize defaults or values when a NTP association is setup"; + } + enum ntp-peer-event-demobilize { + value 1; + description + "This event is used to tear down the resources + associated with a NTP association"; + } + enum ntp-peer-event-unreachable { + value 2; + description + "This event indicates that the NTP peer is + unreachable"; + } + enum ntp-peer-event-reachable { + value 3; + description + "This event indicates that the peer is reachable"; + } + enum ntp-peer-event-restart { + value 4; + description + "Event to indicate that the NTP process restart + is now complete"; + } + enum ntp-peer-event-reply { + value 5; + description + "NTP peer or server reply event in response to a + get time request from the client"; + } + enum ntp-peer-event-rate { + value 6; + description + "This event is used to synchronize the client + and peer or server through a flow control mechanism"; + } + enum ntp-peer-event-deny { + value 7; + description + "Event from peer that indicates denial of access to the + switch or router"; + } + enum ntp-peer-disarmed { + value 8; + description + "This event clears or resets the NTP flag after the + leap second event so that the system is now ready to receive the next + leap second event"; + } + enum ntp-peer-armed { + value 9; + description + "Peer event armed means that the event for delaying + the clock increment by one second for a leap year will be scheduled + next month"; + } + enum ntp-peer-event-newpeer { + value 10; + description + "New peer added to association"; + } + enum ntp-peer-event-clock { + value 11; + description + "This event indicates clock tick errors"; + } + enum ntp-peer-event-auth { + value 12; + description + "Event indicating status of authenticating switch + or router with peer"; + } + enum ntp-peer-event-popcorn { + value 13; + description + "Popcorn event indicates a delayed NTP packet due + to congestion in the network"; + } + enum ntp-peer-event-xleave { + value 14; + description + "Event for NTP peer or server leaving the + association"; + } + enum ntp-peer-event-xerr { + value 15; + description + "NTP event for an error message received from + peer or server"; + } + enum ntp-peer-event-tai { + value 16; + description + "Event for incorporating correction for + International Atomic Time based on offsets from UTC"; + } + } + description + "Event received by switch or router and sent by peer"; + } + + typedef server-type { + type enumeration { + enum ntp-peer { + value 0; + description + "Remote entity is a NTP peer"; + } + enum ntp-server { + value 1; + description + "Remote NTP is a NTP server"; + } + enum ntp-unknown-type { + value 2; + description + "Status of remote entity could not be found"; + } + } + description + "Status of remote entity whether server or peer"; + } + + grouping ref-clock-source-data { + description + "Clock source data refers to the clock sources that are possible including GPS and others. Currently Cisco supports only GPS"; + leaf ref-clk-src-type { + type ntp-ios-xe-oper:ref-clock-source-type; + description + "Contains clock source type specifics eg GPS and container extensions"; + } + } + + grouping kiss-code-data { + description + "Data container for KOD code types"; + leaf kod-type { + type ntp-ios-xe-oper:kiss-code-type; + description + "KOD types could be any of the enumerations including INIT ACTS etc"; + } + } + + grouping refid-pkt-content { + description + "Container for holding refid type and contents"; + choice refid-pkt-type-choice { + description + "Choice could be any of the 3 possibilities Kiss of death code, IP address, clock source"; + case ntp-ref-state-resolved-with-ip-addr { + leaf ip-addr { + type inet:ip-address; + description + "IPV4 or IPV6 ip address"; + } + } + case ntp-ref-state-kod { + container kod-data { + description + "Container for KOD type eg INIT ACTS"; + uses ntp-ios-xe-oper:kiss-code-data; + } + } + case ntp-ref-state-resolved-with-clk-source { + container ref-clk-src-data { + description + "Container for clock data. GPS is the only source supported by Cisco currently"; + uses ntp-ios-xe-oper:ref-clock-source-data; + } + } + case ntp-ref-state-bad-state { + leaf exception-code { + type uint32; + description + "Bad stat or exception code in case the 3 criteria of ip, clock and kod don't match"; + } + } + } + } + + grouping ntp-server-address { + description + "NTP server address consists of the VRF name and IP + address"; + leaf ip-addr { + type inet:ip-address; + description + "IP address is the IP address of the NTP server or + peer"; + } + leaf vrf-name { + type string; + description + "VRF name is the virtual routing instance through + which we can find the ntp server or peer"; + } + } + + grouping ntp-association-list { + description + "Contains association description between current switch and peer or server"; + leaf assoc-id { + type uint16; + description + "Association id is a descriptor which describes the association between two NTP entities whether client and peer or client and server"; + } + leaf peer-reach { + type uint8; + description + "The status of the last 8 NTP packet exchanges with peers. 1 is encoded in the bitmask for a successful attempt and 0 is encoded for failure. If all the last 8 transactions with peers or messages sent to peers are successful the encoding becomes 0xff"; + } + leaf peer-stratum { + type uint32; + description + "Stratum in which the peer exists"; + } + container refid { + description + "refid refers to either an IP address or a clock source or KOD type code"; + uses ntp-ios-xe-oper:refid-pkt-content; + } + leaf reftime { + type yang:date-and-time; + description + "Reference UNIX calendar time"; + } + leaf last-poll-time { + type uint64; + description + "The time of the last NTP poll or update that happened in seconds. How many seconds back did the last update happen or when did the last NTP update happen ?"; + } + leaf poll { + type uint32; + description + "Maximum poll time of NTP in seconds expressed as a + power of two as per model and RFC"; + } + leaf delay { + type decimal64 { + fraction-digits 2; + } + description + "Round trip delay of reaching the peer and returning"; + } + leaf offset { + type decimal64 { + fraction-digits 2; + } + description + "Difference in ms between server time and local time. offset with respect to the peer/server clock"; + } + leaf jitter { + type decimal64 { + fraction-digits 2; + } + description + "Jitter in ms refers to short-term variations in frequency of components greater than 10 hz"; + } + container ntp-address { + description + "NTP address consists of an IP address and a VRF name"; + uses ntp-ios-xe-oper:ntp-server-address; + } + leaf num-events { + type uint8; + description + "Count of number of error events received from peer"; + } + leaf last-peer-event { + type ntp-ios-xe-oper:peer-event; + description + "Last event received from peer"; + } + leaf peer-selection-status { + type ntp-ios-xe-oper:peer-select-status; + description + "Status of peer selection based on the NTP selection + algorithm"; + } + leaf peer-authentication-status { + type ntp-ios-xe-oper:peer-auth-status; + description + "Status of authentication of switch or router by peer"; + } + leaf serv-type { + type ntp-ios-xe-oper:server-type; + description + "Whether the remote NTP device is a server or peer"; + } + leaf psw-crypto { + type ntp-ios-xe-oper:peer-status-word; + description + "Peer status word of ntp server or peer when authentication configured"; + } + } + + grouping ntp-container-data { + description + "NTP container holds all the status information of the queried switch. It is a placeholder in which all global NTP information of the switch is accessible. It also contains a reference to all associations"; + container refid { + description + "Reference id can either be a KOD code or a clock source or an IP address"; + uses ntp-ios-xe-oper:refid-pkt-content; + } + leaf reftime { + type yang:date-and-time; + description + "Unix calendar time"; + } + leaf sys-poll { + type uint8; + description + "Frequency or periodicity of NTP polling in seconds + expressed as a power of two as per model and rfc"; + } + leaf stratum { + type uint32; + description + "How far away the current switch is in term of hops from the primary time source of the subnet or from the root of the subnet"; + } + leaf root-delay { + type decimal64 { + fraction-digits 2; + } + description + "Round trip delay with respect to the primary time server"; + } + leaf root-disp { + type decimal64 { + fraction-digits 2; + } + description + "Deviation of offset with respect to time. All measurements are between the current switch and the root of the subnet"; + } + leaf offset { + type decimal64 { + fraction-digits 2; + } + description + "Difference in time between current switch and peer and server clock"; + } + list ntp-associations { + key "assoc-id"; + description + "Table of NTP associations with servers and peers"; + uses ntp-ios-xe-oper:ntp-association-list; + } + leaf freq-drift-ppm { + type decimal64 { + fraction-digits 2; + } + description + "The second derivative of offset with time. In NTP version 4, this is always 0"; + } + } + + container ntp-oper-data { + config false; + description + "NTP operational data"; + container ntp-status-info { + presence "ntp-status-info"; + description + "Contains ntp status info for the queried switch or router + which includes reference identifier, reference time, stratum + delay and other details"; + uses ntp-ios-xe-oper:ntp-container-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp.yang new file mode 100644 index 000000000..e1e2ad00c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ntp.yang @@ -0,0 +1,978 @@ +module Cisco-IOS-XE-ntp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ntp"; + prefix ios-ntp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Network Time Protocol (NTP) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added description for leaf ntp server ip-address"; + cisco-semver:module-version "3.4.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-07-01 { + description + "- Added support for ntp refclock ptp"; + cisco-semver:module-version "3.3.0"; + } + revision 2022-03-01 { + description + "- Added new model for ntp multicast list"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-11-01 { + description + "- Modified the model to conform to yang 1.1 standard"; + cisco-semver:module-version "3.1.1"; + } + revision 2021-07-01 { + description + "- Add support for on board GPS and Cellular GPS source to NTP + - Modified the type of burst leafs from boolean to empty"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Restricted string length of ipaddress to 63 for 'ntp server ip-address' + - leaf ipaddress string length is restricted in ntp-peer-server-grouping + - Removed must constraint from 'ntp server vrf' and added side effect handling"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added new leafs sha1 and sha2 in ntp authentication-key"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-07-01 { + description + "- Augmented ntp disable for Dialer interface and added default value + for 'ntp master stratum-number' + - Added new leafs sha1 and sha2 in ntp authentication-key"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Incorporated backward compatible changes for NTP auth md5 leaf + - reverted ntp-access-group peer model. Added separate grouping for ipv4 container"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added new leaf periodic to ntp-peer-server-attr-grouping + - Added choice node for 'auth type' in ntp authentication-key + - deprecated acl and kod leafs from ntp access-group peer, query-only, serve, + serve-only container. Preserved only single xPath with ipv4 option + - Added new grouping ntp-access-group-grouping-revised to met above requirements"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Corrected encryption-type in ntp authentication-key + - Corrected ntp trusted-key + - Corrected ntp server source command to accept interfaces + - Change the ntp server source to leaf + - Added new grouping ntp-peer-server-grouping-vrf"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-10-25 { + description + "Update types for ipv6 acl to only support string"; + } + revision 2018-10-22 { + description + "Add defaults for server and peer list grouping"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-01-05 { + description + "ntp server-list union order changed to make string type last"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added Two and 40 GE support"; + } + revision 2017-09-21 { + description + "Added interface ntp broadcast"; + } + revision 2017-09-20 { + description + "Added interface ntp broadcast client"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ntp-access-group-kod-grouping { + leaf acl { + type ios-types:std-acl-type; + } + leaf kod { + description + "Send a Kiss-o-Death packet for failing peers"; + type empty; + must '../acl'; + } + } + + grouping ntp-access-group-kod-grouping-ipv4 { + leaf acl { + type ios-types:std-acl-type; + } + leaf kod { + description + "Send a Kiss-o-Death packet for failing peers"; + type empty; + must '../acl'; + } + } + + grouping ntp-ipv6-access-group-kod-grouping { + leaf acl { + type string; + } + leaf kod { + description + "Send a Kiss-o-Death packet for failing peers"; + type empty; + must '../acl'; + } + } + + grouping ntp-access-group-grouping { + container peer { + description + "Provide full access"; + uses ntp-access-group-kod-grouping; + } + container query-only { + description + "Provide server and query access"; + uses ntp-access-group-kod-grouping; + } + container serve { + description + "Provide server and query access"; + uses ntp-access-group-kod-grouping; + } + container serve-only { + description + "Provide only server access"; + uses ntp-access-group-kod-grouping; + } + } + + grouping ntp-access-group-grouping-ipv4 { + container peer { + description + "Provide full access"; + uses ntp-access-group-kod-grouping-ipv4; + } + container query-only { + description + "Provide server and query access"; + uses ntp-access-group-kod-grouping-ipv4; + } + container serve { + description + "Provide server and query access"; + uses ntp-access-group-kod-grouping-ipv4; + } + container serve-only { + description + "Provide only server access"; + uses ntp-access-group-kod-grouping-ipv4; + } + } + + grouping ntp-ipv6-access-group-grouping { + container peer { + description + "Provide full access"; + uses ntp-ipv6-access-group-kod-grouping; + } + container query-only { + description + "Provide server and query access"; + uses ntp-ipv6-access-group-kod-grouping; + } + container serve { + description + "Provide server and query access"; + uses ntp-ipv6-access-group-kod-grouping; + } + container serve-only { + description + "Provide only server access"; + uses ntp-ipv6-access-group-kod-grouping; + } + } + + grouping ntp-peer-server-attr-grouping { + leaf burst-opt { + description + "Send a burst when peer is reachable (Default)"; + type empty; + } + leaf iburst-opt { + description + "Send a burst when peer is unreachable (Default)"; + type empty; + } + leaf burst { + description + "Send a burst when peer is reachable (Default)"; + type boolean; + default "true"; + status deprecated; + } + leaf iburst { + description + "Send a burst when peer is unreachable (Default)"; + type boolean; + default "true"; + status deprecated; + } + leaf key { + description + "Configure peer authentication key"; + type uint32 { + range "1..4294967295"; + } + } + leaf maxpoll { + description + "Maximum poll interval"; + type uint8 { + range "4..17"; + } + default "10"; + } + leaf minpoll { + description + "Minimum poll interval"; + type uint8 { + range "4..17"; + } + default "6"; + } + leaf prefer { + description + "Prefer this peer when possible"; + type empty; + } + leaf version { + description + " Configure NTP version"; + type uint8 { + range "1..4"; + } + default "4"; + } + leaf periodic { + description + "Check server availability periodically and switch to a new server + if required"; + type empty; + } + } + + grouping ntp-peer-server-grouping { + list server-list { + key "ip-address"; + leaf ip-address { + description + "Configure ip/ipv6 address/hostname of peer"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string { + length "1..64"; + } + } + } + leaf source { + description + "Interface for source address"; + type string; + } + uses ntp-peer-server-attr-grouping; + } + list ip { + description + "Use IP for DNS resolution"; + key "host-name"; + leaf host-name { + type string { + length "1..64"; + } + } + leaf source { + description + "Interface for source address"; + type string; + } + uses ntp-peer-server-attr-grouping; + } + list ipv6 { + description + "Use IPv6 for DNS resolution"; + key "host-name"; + leaf host-name { + type string { + length "1..64"; + } + } + leaf source { + description + "Interface for source address"; + type string; + } + uses ntp-peer-server-attr-grouping; + } + } + + grouping ntp-peer-server-grouping-vrf { + list server-list { + key "ip-address"; + leaf ip-address { + description + "Configure ip/ipv6 address/hostname of peer"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type string { + length "1..64"; + } + } + } + leaf source { + description + "Interface for source address"; + status obsolete; + type string; + } + uses ntp-peer-server-attr-grouping; + } + list ip { + description + "Use IP for DNS resolution"; + key "host-name"; + leaf host-name { + type string { + length "1..64"; + } + } + leaf source { + description + "Interface for source address"; + status obsolete; + type string; + } + uses ntp-peer-server-attr-grouping; + } + list ipv6 { + description + "Use IPv6 for DNS resolution"; + key "host-name"; + leaf host-name { + type string { + length "1..64"; + } + } + leaf source { + description + "Interface for source address"; + status obsolete; + type string; + } + uses ntp-peer-server-attr-grouping; + } + } + + grouping config-ntp-grouping { + container access-group { + description + "Control NTP access"; + container ipv4 { + description + "ipv4 access lists"; + uses ntp-access-group-grouping-ipv4; + } + container ipv6 { + description + "ipv6 access lists"; + uses ntp-ipv6-access-group-grouping; + } + uses ntp-access-group-grouping; + } + container allow { + description + "Allow processing of packets"; + container mode { + description + "Allow processing of particular mode packets"; + container control { + description + "Allow processing control mode packets"; + presence "true"; + leaf delay { + description + "Rate limiting delay (s)"; + type uint8 { + range "0..15"; + } + } + } + leaf private { + description + "Allow processing private mode packets"; + type empty; + } + } + } + leaf authenticate { + description + "Authenticate time sources"; + type empty; + } + list authentication-key { + description + "Authentication key for trusted time sources"; + key "number"; + leaf number { + type uint32 { + range "1..4294967295"; + } + } + choice authtype { + leaf md5-cfg { + description + "MD5 authentication"; + type string; + } + leaf cmac-aes-128 { + description + "CMAC-AES-128 (digest length = 128 bits, + key length = [16 or 32] bytes)"; + type string; + } + leaf hmac-sha1 { + description + "HMAC-SHA1 (digest length = 160 bits, + key length = [1-32] bytes)"; + type string; + } + leaf hmac-sha2-256 { + description + "HMAC-SHA2-256 (digest length = 256 bits, + key length = [1-32] bytes)"; + type string; + } + leaf sha1 { + description + "SHA1 (digest length = 160 bits, + key length = [1-32] bytes)"; + type string; + } + leaf sha2 { + description + "SHA-256 (digest length = 256 bits, + key length = [1-32] bytes)"; + type string; + } + } + leaf md5 { + description + "MD5 authentication"; + type string; + status deprecated; + } + leaf encryption-type { + description + "Authentication key encryption type"; + type uint32; + } + } + leaf broadcastdelay { + description + "Estimated round-trip delay in microseconds"; + type uint32 { + range "1..999999"; + } + } + leaf clock-period { + description + "Length of hardware clock tick"; + type uint32; + } + leaf logging { + description + "Enable NTP message logging"; + type empty; + } + container master { + description + "Act as NTP master clock"; + presence "true"; + leaf stratum-number { + type uint8 { + range "1..15"; + } + default "8"; + } + } + leaf max-associations { + description + "Set maximum number of associations"; + type uint32; + } + leaf maxdistance { + description + "Maximum Distance for synchronization"; + type uint8 { + range "1..16"; + } + } + leaf mindistance { + description + "Minimum distance to consider for clockhop"; + type uint16 { + range "1..500"; + } + } + leaf orphan { + description + "Threshold Stratum for orphan mode"; + type uint8 { + range "1..16"; + } + } + container panic { + description + "Reject time updates > panic threshold (default 1000Sec)"; + leaf update { + description + "Reject time updates > panic threshold (default 1000Sec)"; + type empty; + } + } + leaf passive { + description + "NTP passive mode"; + type empty; + } + container peer { + description + "Configure NTP peer"; + uses ntp-peer-server-grouping; + list vrf { + description + "VPN Routing/Forwarding Information"; + key "name"; + leaf name { + type string { + length "1..32"; + } + } + uses ntp-peer-server-grouping-vrf; + } + } + container server { + description + "Configure NTP server"; + uses ntp-peer-server-grouping; + list vrf { + description + "VPN Routing/Forwarding Information"; + key "name"; + leaf name { + type string { + length "1..32"; + } + } + uses ntp-peer-server-grouping-vrf; + } + } + container source { + description + "Configure interface for source address"; + uses ios-ifc:interface-grouping; + } + list trusted-key { + description + "Key numbers for trusted time sources"; + key "number"; + leaf number { + type uint16 { + range "1..65535"; + } + } + leaf hyphen { + type empty; + } + leaf end-key { + description + "End Key range"; + type uint16 { + range "1..65535"; + } + } + } + leaf update-calendar { + description + "Periodically update calendar with NTP time"; + type empty; + } + container refclock { + description + "NTP internal reference clock"; + container gps { + description + "Use GPS as reference clock"; + presence "true"; + leaf interface { + type string; + description + "Configure interface for ntp gps source"; + must '/ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]' { + error-message "Cellular interface does not exist"; + } + } + } + leaf ptp { + if-feature "ios-features:ntp-ptp"; + description + "Enable/disable PTP as reference clock for NTP"; + type boolean; + default "false"; + } + } + } + + grouping config-interface-ntp-grouping { + container ntp { + description + "Configure NTP"; + list multicast { + description + "Configure NTP multicast service"; + key "ipv6"; + leaf ipv6 { + description + "Multicast group IPv6 address"; + type inet:ipv6-address; + } + leaf key { + description + "Configure multicast authentication key"; + type uint32 { + range "0..4294967295"; + } + } + leaf ttl { + description + "TTL of the multicast packet"; + type uint16 { + range "1..255"; + } + default "128"; + } + leaf version { + description + "Configure NTP version"; + type uint16 { + range "1..4"; + } + default "4"; + } + } + leaf broadcast { + description + "Configure NTP broadcast service"; + type boolean; + default "false"; + } + container broadcast-option { + description + "Configure NTP broadcast service"; + container broadcast { + leaf client { + description + "Listen to NTP broadcasts"; + type boolean; + default "false"; + } + } + } + container disable { + description + "Disable NTP traffic (both IP and IPv6)"; + presence "true"; + must "not (../broadcast = 'true' + or ../broadcast-option/broadcast/client = 'true')" { + error-message + "%NTP: Unconfigure other NTP commands on this + interface before executing 'ntp disable'"; + } + leaf ip-ipv6 { + type enumeration { + enum ip { + description + "Disable IP based NTP traffic"; + } + enum ipv6 { + description + "Disable IPv6 based NTP traffic"; + } + } + } + } + } + } + + augment "/ios:native/ios:ntp" { + uses config-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + status obsolete; + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-Compress" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppNav-UnCompress" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Async" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Embedded-Service-Engine" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:SM" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:nve" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vif" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:MFR-subinterface" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial-subinterface" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:GMPLS" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Group-Async" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-ntp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-ntp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nve-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nve-oper.yang new file mode 100644 index 000000000..41c352187 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nve-oper.yang @@ -0,0 +1,646 @@ +module Cisco-IOS-XE-nve-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nve-oper"; + prefix nve-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Network Virtualization Element operational data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef nve-encap-type { + type enumeration { + enum nve-encap-none { + value 0; + description + "No Network Virtualization Element encapsulation"; + } + enum nve-encap-vxlan-ipv4 { + value 1; + description + "VXLAN IPv4 encapsulation"; + } + enum nve-encap-nvgre { + value 2; + description + "Network Virtualization GRE encapsulation"; + } + enum nve-encap-vxlan-ipv6 { + value 3; + description + "VXLAN IPv6 encapsulation"; + } + enum nve-encap-vxlan-dual { + value 4; + description + "VXLAN dual encapsulation"; + } + enum nve-encap-vxlan-dual-prefer-ipv4 { + value 5; + description + "VXLAN dual encapsulation prefer IPv4"; + } + } + description + "Network Virtualization Element Encapsulation type"; + } + + typedef nve-encap-mcast-type { + type enumeration { + enum nve-encap-mcast-none { + value 0; + description + "No Network Virtualization Element Multicast"; + } + enum nve-encap-mcast-ipv4 { + value 1; + description + "Network Virtualization Element IPv4 Multicast"; + } + enum nve-encap-mcast-ipv6 { + value 2; + description + "Network Virtualization Element IPv6 Multicast"; + } + } + description + "Network Virtualization Element Multicast type"; + } + + typedef nve-state-type { + type enumeration { + enum nve-state-invalid { + value 0; + description + "Invalid Network Virtualization Element State"; + } + enum nve-state-down { + value 1; + description + "Network Virtualization Element down"; + } + enum nve-state-up { + value 2; + description + "Network Virtualization Element up"; + } + } + description + "Network Virtualization Element State"; + } + + typedef nve-vni-state-type { + type enumeration { + enum nve-vni-state-invalid { + value 0; + description + "Invalid Virtual Network Interface state"; + } + enum nve-vni-state-create { + value 1; + description + "Virtual Network Interface created"; + } + enum nve-vni-state-up { + value 2; + description + "Virtual Network Interface up"; + } + enum nve-vni-state-down { + value 3; + description + "Virtual Network Interface down"; + } + enum nve-vni-state-delete { + value 4; + description + "Virtual Network Interface deleted"; + } + enum nve-vni-state-admindown { + value 5; + description + "Virtual Network Interface admin down"; + } + enum nve-vni-state-bd-admindn { + value 6; + description + "Virtual Network Interface BD admin down"; + } + } + description + "Virtual Network Interface State"; + } + + typedef nve-vni-svi-state-type { + type enumeration { + enum nve-vni-svi-state-invalid { + value 0; + description + "Invalid Switch Virtual Interface State"; + } + enum nve-vni-svi-state-down { + value 1; + description + "Switch Virtual Interface down"; + } + enum nve-vni-svi-state-up { + value 2; + description + "Switch Virtual Interface up"; + } + } + description + "Switch Virtual Interface operational state"; + } + + typedef nve-vni-type { + type enumeration { + enum nve-vni-type-l2 { + value 0; + description + "L2 Virtual Network Interface"; + } + enum nve-vni-type-l3 { + value 1; + description + "L3 Virtual Network Interface"; + } + } + description + "Virtual Network Interface type"; + } + + typedef nve-vni-learning-mode { + type enumeration { + enum nve-vni-cp-learning { + value 0; + description + "Virtual Network Interface Control Plane Learning"; + } + enum nve-vni-dp-learning { + value 1; + description + "Virtual Network Interface Data Plane Learning"; + } + } + description + "Virtual Network Interface Learning Mode"; + } + + typedef nve-peer-state { + type enumeration { + enum nve-peer-init { + value 0; + description + "Peer initial state"; + } + enum nve-peer-add-pending { + value 1; + description + "Peer add pending"; + } + enum nve-peer-add-complete { + value 2; + description + "Peer added"; + } + enum nve-peer-delete-pending { + value 4; + description + "Peer delete pending"; + } + enum nve-peer-delete-complete { + value 16; + description + "Peer deleted"; + } + enum nve-peer-add-rcvd { + value 32; + description + "Peer add received"; + } + enum nve-peer-delete-rcvd { + value 64; + description + "Peer delete received"; + } + } + description + "Network Virtualization Element peer state"; + } + + typedef nve-vni-replication-type { + type enumeration { + enum nve-vni-repl-mcast-ipv4 { + value 0; + description + "Virtual Network Interface Multicast IPv4 Replication"; + } + enum nve-vni-repl-mcast-ipv6 { + value 1; + description + "Virtual Network Interface Multicast IPv6 Replication"; + } + enum nve-vni-static-ingress-replication { + value 2; + description + "Virtual Network Interface Static Ingress Replication"; + } + enum nve-vni-bgp-ingress-replication { + value 3; + description + "Virtual Network Interface BGP Ingress Replication"; + } + } + description + "Virtual Network Interface Replication Type"; + } + + grouping nve-vni-oper-counters { + description + "Virtual Network Interfaces counters table"; + leaf vni-id { + type uint32; + description + "Virtual Network Interface id"; + } + leaf nve-id { + type uint32; + description + "Network Virtualization Element id"; + } + leaf uc-input-packets { + type uint64; + description + "Unicast input packets"; + } + leaf uc-input-bytes { + type uint64; + description + "Unicast input bytes"; + } + leaf mc-input-packets { + type uint64; + description + "Multicast input packets"; + } + leaf mc-input-bytes { + type uint64; + description + "Multicast input bytes"; + } + leaf uc-output-packets { + type uint64; + description + "Unicast output packets"; + } + leaf uc-output-bytes { + type uint64; + description + "Unicast output bytes"; + } + leaf mc-output-packets { + type uint64; + description + "Multicast output packets"; + } + leaf mc-output-bytes { + type uint64; + description + "Multicast output bytes"; + } + } + + grouping nve-vni-oper { + description + "Virtual Network Interface operational data"; + leaf vni-id { + type uint32; + description + "Virtual Network Interface id"; + } + leaf nve-id { + type uint32; + description + "Network Virtualization Element id"; + } + leaf vni-oper-state { + type nve-ios-xe-oper:nve-vni-state-type; + description + "Virtual Network Interface operational state"; + } + leaf vlan-id { + type uint32; + description + "VLAN id"; + } + leaf vni-type { + type nve-ios-xe-oper:nve-vni-type; + description + "Virtual Network Interface type"; + } + leaf vni-learning-mode { + type nve-ios-xe-oper:nve-vni-learning-mode; + description + "VNI Learning mode"; + } + leaf nve-vni-vrf { + type string; + description + "Virtual Network Interface VRF"; + } + leaf l3-vni-id { + type uint32; + description + "L3 Virtual Network Interface id"; + } + leaf svi-vlan-id { + type uint32; + description + "VLAN id"; + } + leaf svi-mac { + type yang:mac-address; + description + "Switch Virtual Interface MAC address"; + } + leaf local-routing { + type boolean; + description + "Local routing enabled"; + } + leaf mcast-v4-address { + type inet:ip-address; + description + "Multicast IPv4 address"; + } + leaf mcast-v6-address { + type inet:ip-address; + description + "Multicast IPv6 address"; + } + leaf trm-mdt-v4-address { + type inet:ip-address; + description + "Tenant Routed Multicast Distribution Tree IPv4"; + } + leaf trm-mdt-v6-address { + type inet:ip-address; + description + "Tenant Routed Multicast Distribution Tree IPv6"; + } + leaf repl-type { + type nve-ios-xe-oper:nve-vni-replication-type; + description + "Virtual Network Interface replication type"; + } + leaf svi-state { + type nve-ios-xe-oper:nve-vni-svi-state-type; + description + "Switch Virtual Interface operational state"; + } + } + + grouping nve-peer-oper { + description + "Network Virtualization Element Peer operational data"; + leaf peer-addr { + type inet:ip-address; + description + "Peer IP address"; + } + leaf nve-id { + type uint32; + description + "Network Virtualization Element id"; + } + leaf-list cp-vnis { + type uint32; + ordered-by user; + description + "Peer Virtual Network Interfaces"; + } + leaf rmac { + type yang:mac-address; + description + "Router MAC address"; + } + leaf peer-up-time { + type yang:date-and-time; + description + "Peer uptime"; + } + leaf peer-state { + type nve-ios-xe-oper:nve-peer-state; + description + "Peer state"; + } + } + + grouping nve-oper-counters { + description + "Network Virtualization Element operational counters"; + leaf unit-number { + type uint32; + description + "Network Virtualization Element id"; + } + leaf uc-input-packets { + type uint64; + description + "Unicast input packets"; + } + leaf uc-input-bytes { + type uint64; + description + "Unicast input bytes"; + } + leaf mc-input-packets { + type uint64; + description + "Multicast input packets"; + } + leaf mc-input-bytes { + type uint64; + description + "Multicast input bytes"; + } + leaf uc-output-packets { + type uint64; + description + "Unicast output packets"; + } + leaf uc-output-bytes { + type uint64; + description + "Unicast output bytes"; + } + leaf mc-output-packets { + type uint64; + description + "Multicast output packets"; + } + leaf mc-output-bytes { + type uint64; + description + "Multicast output bytes"; + } + list nve-vni-oper-counters { + key "vni-id"; + description + "Virtual Network Interfaces counters table"; + uses nve-ios-xe-oper:nve-vni-oper-counters; + } + } + + grouping nve-oper { + description + "Network Virtualization Element Operational data"; + leaf unit-number { + type uint32; + description + "Network Virtualization Element unit number"; + } + leaf nve-if { + type string; + description + "Network Virtualization Element interface"; + } + leaf admin-state { + type nve-ios-xe-oper:nve-state-type; + description + "Network Virtualization Element administrative state"; + } + leaf oper-state { + type nve-ios-xe-oper:nve-state-type; + description + "Network Virtualization Element operational state"; + } + leaf nve-encap { + type nve-ios-xe-oper:nve-encap-type; + description + "Network Virtualization Element encapsulation"; + } + leaf nve-mcast-encap { + type nve-ios-xe-oper:nve-encap-mcast-type; + description + "Network Virtualization Element multicast encapsulation"; + } + leaf is-bgp-signal { + type boolean; + description + "BGP signalling"; + } + leaf vxlan-port { + type uint16; + description + "Vxlan port"; + } + leaf l2dp-vni-num { + type uint32; + description + "Number of L2 Virtual Network Interfaces"; + } + leaf l2cp-vni-num { + type uint32; + description + "Number of CP L2 Virtual Network Interfaces"; + } + leaf l3cp-vni-num { + type uint32; + description + "Number of CP L3 Virtual Network Interfaces"; + } + leaf src-if { + type string; + description + "Network Virtualization Element source interface"; + } + leaf src-ipv4-address { + type inet:ipv4-address; + description + "IPv4 source address"; + } + leaf src-ipv6-address { + type inet:ipv6-address; + description + "IPv6 source address"; + } + leaf src-vrf { + type string; + description + "Source VRF"; + } + leaf tunnel-if { + type string; + description + "Network Virtualization Element tunnel interface"; + } + leaf v6-tunnel-if { + type string; + description + "Network Virtualization Element IPv6 tunnel interface"; + } + list nve-vni-oper { + key "vni-id"; + description + "Virtual Network Interfaces table"; + uses nve-ios-xe-oper:nve-vni-oper; + } + list nve-peer-oper { + key "peer-addr"; + description + "Peers table"; + uses nve-ios-xe-oper:nve-peer-oper; + } + } + + container nve-oper-data { + config false; + description + "Network Virtualization Element operational data"; + list nve-oper { + key "unit-number"; + description + "Network Virtualization Element operational data"; + uses nve-ios-xe-oper:nve-oper; + } + list nve-oper-counters { + key "unit-number"; + description + "Network Virtualization Element counters"; + uses nve-ios-xe-oper:nve-oper-counters; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-oper.yang new file mode 100644 index 000000000..be4822683 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-oper.yang @@ -0,0 +1,5390 @@ +module Cisco-IOS-XE-nwpi-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nwpi-oper"; + prefix Cisco-IOS-XE-nwpi-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-nwpi-types { + prefix Cisco-IOS-XE-nwpi-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for network wide path insight operational data. + Copyright (c) 2020-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added network instance identity. + - Added enable CMD header support. + - Added transport interface name. + - Added DM-VPN network identity. + - Added new enum for nexthop type DM-VPN tunnel. + - Added MRF information in route record. + - Added export timestamp for QoS monitor. + - Added new enums for nexthop type GRE tunnel, GRE-TP, IPSEC, TUNNEL. + - Added new enum for event firewall drop."; + reference + "1.9.0"; + cisco-semver:module-version "1.9.0"; + } + revision 2024-03-01 { + description + "- Added ThousandEyes support."; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2023-11-01 { + description + "- Added user identity support."; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2023-07-01 { + description + "- Added trace model support. + - Added multiple VPN support. + - Added aggregation grouping support. + - Added synthetic test support."; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-07-01 { + description + "- Added QoS monitor support. + - Added flexible aggregation support. + - Added domain name source support. + - Added forwarding decision maker support. + - Added new flow insight types support."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-03-01 { + description + "- Added new enum for event type + - Added new enum for nexthop type"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-11-01 { + description + "1, Add new drop causes for 17.7.1 release."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "1, packet: added event and parent packet support. + 2, flow: added ART metrics, qos statistics, per cause drop + statistics, event, and flow insight support. + 3, domain: added domain monitor support. + 4, Change max vpn id from 65530 to 65531."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef nwpi-feature-type { + type enumeration { + enum feature-without-policy { + value 0; + description + "Feature without policy configured"; + } + enum feature-with-policy { + value 1; + description + "Feature with policy configured"; + } + } + description + "Feature type"; + } + + typedef nwpi-flow-dir { + type enumeration { + enum flow-upstream { + value 0; + description + "Flow forwarding from first hop to last hop"; + } + enum flow-downstream { + value 1; + description + "Flow forwarding from last hop to first hop"; + } + } + description + "Flow direction"; + } + + typedef nwpi-feature-dir { + type enumeration { + enum feature-input { + value 0; + description + "Feature running on input side"; + } + enum feature-output { + value 1; + description + "Feature running on output side"; + } + } + description + "Feature direction"; + } + + typedef nwpi-event-type { + type enumeration { + enum event-none { + value 0; + description + "Event no event"; + } + enum event-first-packet { + value 1; + description + "Event first packet of the flow"; + } + enum event-dpi-ongoing { + value 2; + description + "Event deep packet inspection ongoing"; + } + enum event-dpi-done { + value 3; + description + "Event deep packet inspection done"; + } + enum event-path-change { + value 4; + description + "Event flow network path changed"; + } + enum event-sla-change { + value 5; + description + "Event flow SLA level changed"; + } + enum event-tcp-rst { + value 6; + description + "Event TCP connection reset"; + } + enum event-sn-packet { + value 7; + description + "Event first packet of the flow from service node"; + } + enum event-sn-resume { + value 8; + description + "Event packet resumed from service node"; + } + enum event-fw-drop { + value 9; + description + "Event packet dropped by firewall"; + } + } + description + "Event type"; + } + + typedef nwpi-ms-category { + type enumeration { + enum endpoint-default { + value 0; + description + "Default category"; + } + enum endpoint-allow { + value 1; + description + "Allow category"; + } + enum endpoint-optimize { + value 2; + description + "Optimize category"; + } + } + description + "Microsoft Office 365 endpoint category"; + } + + typedef nwpi-flow-type { + type enumeration { + enum flow-unicast { + value 0; + description + "Unicast flow"; + } + enum flow-multicast { + value 1; + description + "Multicast flow"; + } + } + description + "Flow type"; + } + + typedef nwpi-nexthop-type { + type enumeration { + enum nexthop-invalid { + value 0; + description + "Invalid nexthop"; + } + enum nexthop-local-consumed { + value 1; + description + "Local consumed"; + } + enum nexthop-sdwan-session { + value 2; + description + "SD-WAN session"; + } + enum nexthop-sdwan-session-tloc-extension { + value 3; + description + "SD-WAN session with TLOC extension"; + } + enum nexthop-service-lan { + value 4; + description + "Service LAN"; + } + enum nexthop-nat-dia { + value 5; + description + "NAT local breakout"; + } + enum nexthop-cxp { + value 6; + description + "SD-WAN cloud express"; + } + enum nexthop-sig-tunnel { + value 7; + description + "SD-WAN secure internet gateway"; + } + enum nexthop-service-node { + value 8; + description + "SD-WAN service node"; + } + enum nexthop-dmvpn-tunnel { + value 9; + description + "SD-Routing DM-VPN tunnel"; + } + enum nexthop-gre-tunnel { + value 10; + description + "SD-Routing Generic Routing Encapsulation tunnel"; + } + enum nexthop-gre-tp { + value 11; + description + "SD-Routing Generic Routing Encapsulation tunnel protection"; + } + enum nexthop-ipsec-tunnel { + value 12; + description + "SD-Routing IPSEC tunnel"; + } + enum nexthop-tunnel { + value 13; + description + "SD-Routing other tunnel"; + } + } + description + "Nexthop type"; + } + + typedef nwpi-color-type { + type enumeration { + enum color-invalid { + value 0; + description + "Invalid color"; + } + enum color-default { + value 1; + description + "Default color"; + } + enum color-mpls { + value 2; + description + "MPLS color"; + } + enum color-metro-ethernet { + value 3; + description + "Metro ethernet color"; + } + enum color-biz-internet { + value 4; + description + "Business internet color"; + } + enum color-public-internet { + value 5; + description + "Public internet color"; + } + enum color-lte { + value 6; + description + "LTE color"; + } + enum color-3g { + value 7; + description + "Third generation color"; + } + enum color-red { + value 8; + description + "Red color"; + } + enum color-green { + value 9; + description + "Green color"; + } + enum color-blue { + value 10; + description + "Blue color"; + } + enum color-gold { + value 11; + description + "Gold color"; + } + enum color-silver { + value 12; + description + "Silver color"; + } + enum color-bronze { + value 13; + description + "Bronze color"; + } + enum color-custom1 { + value 14; + description + "Custom 1 color"; + } + enum color-custom2 { + value 15; + description + "Custom 2 color"; + } + enum color-custom3 { + value 16; + description + "Custom 3 color"; + } + enum color-private1 { + value 17; + description + "Private 1 color"; + } + enum color-private2 { + value 18; + description + "Private 2 color"; + } + enum color-private3 { + value 19; + description + "Private 3 color"; + } + enum color-private4 { + value 20; + description + "Private 4 color"; + } + enum color-private5 { + value 21; + description + "Private 5 color"; + } + enum color-private6 { + value 22; + description + "Private 6 color"; + } + } + description + "SD-WAN color type"; + } + + typedef nwpi-encap-type { + type enumeration { + enum nwpi-encap-none { + value 0; + description + "No encap"; + } + enum nwpi-encap-gre { + value 1; + description + "Generic routing encapsulation"; + } + enum nwpi-encap-ipsec { + value 2; + description + "IPSec"; + } + enum nwpi-encap-control { + value 3; + description + "Control"; + } + } + description + "SD-WAN tunnel encap type"; + } + + typedef nwpi-stats-type { + type enumeration { + enum stats-base { + value 0; + description + "Base statistics"; + } + enum stats-advanced { + value 1; + description + "Advanced statistics"; + } + } + description + "Statistics type"; + } + + typedef nwpi-domain-src { + type enumeration { + enum src-no-data { + value 0; + description + "No data source"; + } + enum src-dns-resolution { + value 1; + description + "Data source from DNS resolution"; + } + enum src-dns-query { + value 2; + description + "Data source from DNS query"; + } + enum src-tls-server-name { + value 3; + description + "Data source from TLS extension server name"; + } + enum src-http-host-name { + value 4; + description + "Data source from HTTP host name"; + } + } + description + "Domain name source type"; + } + + typedef nwpi-drop-cause { + type enumeration { + enum drop-reserved { + value 0; + description + "Reserved"; + } + enum drop-uidb-not-cfgd { + value 1; + description + "Interface not configured"; + } + enum drop-bad-uidb-idx { + value 2; + description + "Bad interface index"; + } + enum drop-bad-uidb-sub-idx { + value 3; + description + "Bad interface sub index"; + } + enum drop-unknown-encap { + value 4; + description + "Unknown encapsulation"; + } + enum drop-inv-l2-hdr { + value 5; + description + "Invalid layer 2 header"; + } + enum drop-bad-len { + value 6; + description + "Bad length"; + } + enum drop-tcp-badfrag { + value 7; + description + "TCP bad fragment"; + } + enum drop-ipv4-acl { + value 8; + description + "IPv4 access control list (ACL)"; + } + enum drop-ipv4-acl-lookup-miss { + value 9; + description + "IPv4 access control list (ACL) lookup miss"; + } + enum drop-bad-ip-checksum { + value 10; + description + "Bad IP checksum"; + } + enum drop-ip-format-err { + value 11; + description + "IP format error"; + } + enum drop-ip-bad-options { + value 12; + description + "IP bad options"; + } + enum drop-ipv4-martian { + value 13; + description + "IPv4 martian"; + } + enum drop-mpass-err { + value 14; + description + "Multi pass error"; + } + enum drop-ipv4-pbr { + value 15; + description + "IPv4 policy based routing (PBR)"; + } + enum drop-inv-hdr-err { + value 16; + description + "Invalid header error"; + } + enum drop-punt-err { + value 17; + description + "Punt error"; + } + enum drop-inject-err { + value 18; + description + "Inject error"; + } + enum drop-ipv4-no-route { + value 19; + description + "IPv4 no route"; + } + enum drop-qos-policing { + value 20; + description + "Quality of service (QoS) policing"; + } + enum drop-qos-actions { + value 21; + description + "Quality of service (QoS) actions"; + } + enum drop-null-jib-hdr-tbl { + value 22; + description + "Null JIB header table"; + } + enum drop-tail-drop { + value 23; + description + "Tail drop"; + } + enum drop-wred { + value 24; + description + "Weighted random early detection (WRED)"; + } + enum drop-invalid-queue { + value 25; + description + "Invalid queue"; + } + enum drop-invalid-wred { + value 26; + description + "Invalid weighted random early detection (WRED)"; + } + enum drop-mpls { + value 27; + description + "Multiprotocol label switching (MPLS)"; + } + enum drop-ipv6-truncatedpkts { + value 28; + description + "IPv6 truncated packets"; + } + enum drop-ipv6-formaterr { + value 29; + description + "IPv6 format error"; + } + enum drop-ipv6-badsource { + value 30; + description + "IPv6 bad source address"; + } + enum drop-ipv6-badhop { + value 31; + description + "IPv6 bad hop count"; + } + enum drop-ipv6-toobigpacket { + value 32; + description + "IPv6 packet too big"; + } + enum drop-ipv6-no-route { + value 33; + description + "IPv6 no route"; + } + enum drop-ipv6-acl-lookup-miss { + value 34; + description + "IPv6 access control list (ACL) lookup miss"; + } + enum drop-ipv6-acl { + value 35; + description + "IPv6 access control list (ACL)"; + } + enum drop-ip-acl-err { + value 36; + description + "IP access control list (ACL) error"; + } + enum drop-mac-acl { + value 37; + description + "MAC access control list (ACL)"; + } + enum drop-mac-acl-lookup-miss { + value 38; + description + "MAC access control list (ACL) lookup miss"; + } + enum drop-ipv4mc-no-route { + value 39; + description + "IPv4 multicast no route"; + } + enum drop-unknown-ext-header { + value 40; + description + "Unknown extension header"; + } + enum drop-ipv4mc-rpf-failed { + value 41; + description + "IPv4 multicast reverse path forwarding failed"; + } + enum drop-ipv4mc-invalid-replica-record { + value 42; + description + "IPv4 multicast invalid replica record"; + } + enum drop-ipv4mc-ttl-threshold-chk-failed { + value 43; + description + "IPv4 multicast time to live (TTL) threshold check failed"; + } + enum drop-ipv4mc-extra-replicae { + value 44; + description + "IPv4 multicast extra replica"; + } + enum drop-ipv4-mtr { + value 45; + description + "IPv4 multi topology routing"; + } + enum drop-internal-ctl { + value 46; + description + "Internal control"; + } + enum drop-bad-dist-fifo { + value 47; + description + "Bad distribution first in first out (FIFO)"; + } + enum drop-frfab-wred-drop { + value 48; + description + "Frame Relay weighted random early detection (WRED) drop"; + } + enum drop-firewall-nonsession { + value 49; + description + "Firewall no session"; + } + enum drop-firewall-invalid-zone { + value 50; + description + "Firewall invalid zone"; + } + enum drop-firewall-backpressure { + value 51; + description + "Firewall backpressure"; + } + enum drop-firewall-l4-insp { + value 52; + description + "Firewall layer 4 insp"; + } + enum drop-ip-frag-err { + value 53; + description + "IP fragments error"; + } + enum drop-no-gpm-memory-err { + value 54; + description + "No global packet memory memory error"; + } + enum drop-for-us { + value 55; + description + "For us"; + } + enum drop-ipsec-input { + value 56; + description + "IPSEC input"; + } + enum drop-ipsec-ike-indicate { + value 57; + description + "IPSEC IKE indicate"; + } + enum drop-ipsec-invalid-sa { + value 58; + description + "IPSEC invalid security association (SA)"; + } + enum drop-ipsec-tail-drop { + value 59; + description + "IPSEC tail drop"; + } + enum drop-layer2-no-route { + value 60; + description + "Layer 2 no route"; + } + enum drop-icmp { + value 61; + description + "ICMP packet"; + } + enum drop-ip-ttl-exceeded { + value 62; + description + "IP time to live (TTL) exceeded"; + } + enum drop-tunnel-bad-gre-checksum { + value 63; + description + "Tunnel bad generic route encapsulation (GRE) checksum"; + } + enum drop-tunnel-misconfiguration { + value 64; + description + "Tunnel misconfiguration"; + } + enum drop-gre-bad-options { + value 65; + description + "Generic route encapsulation (GRE) bad options"; + } + enum drop-frag-tail-drop { + value 66; + description + "Fragments tail drop"; + } + enum drop-unconfigured-fia { + value 67; + description + "Unconfigured feature invocation array (FIA)"; + } + enum drop-ipv4-fpm { + value 68; + description + "IPv4 flexible packet match"; + } + enum drop-nat-in2out { + value 69; + description + "NAT in to out"; + } + enum drop-nat-out2in { + value 70; + description + "NAT out to in"; + } + enum drop-pa-walk-err { + value 71; + description + "Packet abstraction walk error"; + } + enum drop-ipv4-routing-err { + value 72; + description + "IPv4 routing error"; + } + enum drop-ipv6-routing-err { + value 73; + description + "IPv6 routing error"; + } + enum drop-mpass-invalid-fs-vector { + value 74; + description + "Multi pass invalid fs vector"; + } + enum drop-reass-drop { + value 75; + description + "Reassembly drop"; + } + enum drop-reass-frag-too-big { + value 76; + description + "Reassembly fragments too big"; + } + enum drop-reass-no-frag-info { + value 77; + description + "Reassembly no fragments information"; + } + enum drop-reass-no-frag-info-low { + value 78; + description + "Reassembly no fragments information low"; + } + enum drop-reass-bad-len { + value 79; + description + "Reassembly bad length"; + } + enum drop-reass-too-many-frags { + value 80; + description + "Reassembly too many fragments"; + } + enum drop-reass-no-frags-left { + value 81; + description + "Reassembly no fragments left"; + } + enum drop-reass-overlap { + value 82; + description + "Reassembly overlap"; + } + enum drop-reass-timeout { + value 83; + description + "Reassembly timeout"; + } + enum drop-no-mem { + value 84; + description + "No memory"; + } + enum drop-vfr-err { + value 85; + description + "Virtual forwarding and routing (VFR) error"; + } + enum drop-vfr-tail-drop { + value 86; + description + "Virtual forwarding and routing (VFR) tail drop"; + } + enum drop-iphc { + value 87; + description + "IP header compression"; + } + enum drop-multilink-cfg { + value 88; + description + "Multilink configuration"; + } + enum drop-mlp { + value 89; + description + "Multilink protocol (MLP)"; + } + enum drop-min-tu { + value 90; + description + "Minimum transfer unit"; + } + enum drop-max-tu { + value 91; + description + "Maximum transfer unit"; + } + enum drop-ipv4-unclassified { + value 92; + description + "IPv4 unclassified"; + } + enum drop-ipv6-unclassified { + value 93; + description + "IPv6 unclassified"; + } + enum drop-ipv4-no-adj { + value 94; + description + "IPv4 no adjacency"; + } + enum drop-ipv4-null0 { + value 95; + description + "IPv4 null0"; + } + enum drop-ipv6-null0 { + value 96; + description + "IPv6 null0"; + } + enum drop-mpls-mismatch-linktype { + value 97; + description + "Multiprotocol label switching (MPLS) mismatch linktype"; + } + enum drop-mpls-frag-req { + value 98; + description + "Multiprotocol label switching (MPLS) fragments request"; + } + enum drop-choice-oce { + value 99; + description + "Choice output chain element (OCE)"; + } + enum drop-unsupported-oce { + value 100; + description + "Unsupported output chain element (OCE)"; + } + enum drop-attn-invalid-spid { + value 101; + description + "Attention protocol invalid sync point identifier"; + } + enum drop-inv-common-preamble { + value 102; + description + "Invalid common preamble"; + } + enum drop-ext-drop-path { + value 103; + description + "Extension drop path"; + } + enum drop-frr-oce-no-backup { + value 104; + description + "Fast reroute (FRR) output chain element (OCE) no backup"; + } + enum drop-frr-oce-invalid-state { + value 105; + description + "Fast reroute (FRR) output chain element (OCE) invalid state"; + } + enum drop-bqs-oor { + value 106; + description + "Buffering, queuing and scheduling out of resources"; + } + enum drop-ess-bad-sess-uidb { + value 107; + description + "Edge switching services bad session interface"; + } + enum drop-ess-pktsb-missed { + value 108; + description + "Edge switching services packet sub block missed"; + } + enum drop-ess-unsup-pkt-type { + value 109; + description + "Edge switching services unsupported packet type"; + } + enum drop-ess-no-encap-info { + value 110; + description + "Edge switching services no encapsulation information"; + } + enum drop-ess-inv-switch-mode { + value 111; + description + "Edge switching services invalid switch mode"; + } + enum drop-inv-ppp-cp-pkt { + value 112; + description + "Invalid PPP control protocol packet"; + } + enum drop-ppp-cxt-missed { + value 113; + description + "PPP context missed"; + } + enum drop-ess-unbound-session { + value 114; + description + "Edge switching services unbound session"; + } + enum drop-ess-pi-inv-subtype { + value 115; + description + "Edge switching services platform independent invalid subtype"; + } + enum drop-ess-pi-state-err { + value 116; + description + "Edge switching services platform independent state error"; + } + enum drop-ess-inject-bad-hdr { + value 117; + description + "Edge switching services inject bad header"; + } + enum drop-ess-l2-hdr-too-big { + value 118; + description + "Edge switching services layer 2 header too big"; + } + enum drop-pppox-unconfigured { + value 119; + description + "PPP over any protocol (PPPoX) unconfigured"; + } + enum drop-pppoe-pkt-inv-hdr { + value 120; + description + "PPP over Ethernet (PPPoE) packet invalid header"; + } + enum drop-pppoe-pkt-bad-len { + value 121; + description + "PPP over Ethernet (PPPoE) packet bad length"; + } + enum drop-pppoe-no-session { + value 122; + description + "PPP over Ethernet (PPPoE) no session"; + } + enum drop-pppoe-inv-encap-info { + value 123; + description + "PPP over Ethernet (PPPoE) invalid encapsulation information"; + } + enum drop-ess-cac { + value 124; + description + "Edge switching services call admission control"; + } + enum drop-l2tp-unconfigured { + value 125; + description + "Layer 2 tunnelling protocol (L2TP) unconfigured"; + } + enum drop-l2tp-pkt-inv-hdr { + value 126; + description + "Layer 2 tunnelling protocol (L2TP) packet invalid header"; + } + enum drop-l2tp-pkt-bad-len { + value 127; + description + "Layer 2 tunnelling protocol (L2TP) packet bad length"; + } + enum drop-l2tp-no-session { + value 128; + description + "Layer 2 tunnelling protocol (L2TP) no session"; + } + enum drop-l2tp-pktsb-missed { + value 129; + description + "Layer 2 tunnelling protocol (L2TP) packet sub block missed"; + } + enum drop-l2tp-security-check { + value 130; + description + "Layer 2 tunnelling protocol (L2TP) security check"; + } + enum drop-l2tp-bad-udp-chksum { + value 131; + description + "Layer 2 tunnelling protocol (L2TP) bad UDP checksum"; + } + enum drop-l2tp-ooo-rx-pkt { + value 132; + description + "Layer 2 tunnelling protocol (L2TP) ooo receive packet"; + } + enum drop-l2tp-exceed-tx-mtu { + value 133; + description + "Layer 2 tunnelling protocol (L2TP) exceed transmit mtu"; + } + enum drop-ipsec-output { + value 134; + description + "IPSEC output"; + } + enum drop-ipsec-ted-indicate { + value 135; + description + "IPSEC tunnel end point discovery (TED) indicate"; + } + enum drop-ipsec-deny-drop { + value 136; + description + "IPSEC deny drop"; + } + enum drop-l2tp-cxt-missed { + value 137; + description + "Layer 2 tunnelling protocol (L2TP) context missed"; + } + enum drop-l2tp-tx-seq-missed { + value 138; + description + "Layer 2 tunnelling protocol (L2TP) transmit sequence missed"; + } + enum drop-disabled { + value 139; + description + "Disabled"; + } + enum drop-ipv6-no-adj { + value 140; + description + "IPv6 no adjacency"; + } + enum drop-not-enabled { + value 141; + description + "Not enabled"; + } + enum drop-special-multicast-obj { + value 142; + description + "Special multicast object"; + } + enum drop-illegal-obj { + value 143; + description + "Illegal object"; + } + enum drop-unresolved { + value 144; + description + "Unresolved"; + } + enum drop-discard { + value 145; + description + "Discard"; + } + enum drop-ipv6mc-no-route { + value 146; + description + "IPv6 multicast no route"; + } + enum drop-ipv6mc-rpf-failed { + value 147; + description + "IPv6 multicast reverse path forwarding failed"; + } + enum drop-ipv6mc-invalid-replica-record { + value 148; + description + "IPv6 multicast invalid replica record"; + } + enum drop-ipv6mc-ttl-threshold-chk-failed { + value 149; + description + "IPv6 multicast time to live (TTL) threshold check failed"; + } + enum drop-ipv6mc-extra-replica { + value 150; + description + "IPv6 multicast extra replica"; + } + enum drop-layer2-switching { + value 151; + description + "Layer 2 switching"; + } + enum drop-internal-intf-err { + value 152; + description + "Internal interface error"; + } + enum drop-sbc-police-punt { + value 153; + description + "Session border controller (SBC) police punt"; + } + enum drop-sbc-uidb { + value 154; + description + "Session border controller (SBC) interface"; + } + enum drop-sbc-sess { + value 155; + description + "Session border controller (SBC) session"; + } + enum drop-sbc-mmoh-invalid-replica-record { + value 156; + description + "Session border controller (SBC) music on hold invalid replica record"; + } + enum drop-mpls-ipv6-frag-req { + value 157; + description + "Multiprotocol label switching (MPLS) IPv6 fragments request"; + } + enum drop-sw-mac-filter { + value 158; + description + "Software MAC filter"; + } + enum drop-tunnel-bad-pim-checksum { + value 159; + description + "Tunnel bad protocol independent multicast (PIM) checksum"; + } + enum drop-tunnel-unsupported-config { + value 160; + description + "Tunnel unsupported config"; + } + enum drop-firewall-no-forwarding { + value 161; + description + "Firewall no forwarding"; + } + enum drop-erspan { + value 162; + description + "Extended reach SPAN (ERSPAN)"; + } + enum drop-ipv4-urpf-null-path-list { + value 163; + description + "IPv4 unicast reverse path forwarding null path list"; + } + enum drop-mpls-unclassified { + value 164; + description + "Multiprotocol label switching (MPLS) unclassified"; + } + enum drop-mpls-eos-invalid { + value 165; + description + "Multiprotocol label switching (MPLS) end of stack invalid"; + } + enum drop-glean-adj-unsupport-linktype { + value 166; + description + "Glean adjacency unsupported linktype"; + } + enum drop-mpls-label-oce-ptr-null { + value 167; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) pointer null"; + } + enum drop-mpls-label-oce-invalid-label { + value 168; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) invalid label"; + } + enum drop-mpls-label-oce-unsup-linktype { + value 169; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) unsupported linktype"; + } + enum drop-lookup-oce-should-drop { + value 170; + description + "Lookup output chain element (OCE) should drop"; + } + enum drop-lookup-oce-unsupport-linktype { + value 171; + description + "Lookup output chain element (OCE) unsupported linktype"; + } + enum drop-unsupport-linktype-no-route { + value 172; + description + "Unsupported linktype no route"; + } + enum drop-unsupport-linktype-null0 { + value 173; + description + "Unsupported linktype null0"; + } + enum drop-sr-te-remote-error { + value 174; + description + "Segment routing traffic engineering (TE) remote error"; + } + enum drop-ipv4-pop-pipe-php-ttl-expire { + value 175; + description + "IPv4 pop pipe penultimate hop pop time to live (TTL) expire"; + } + enum drop-ipv4-pop-unf-uhp-ttl-expire { + value 176; + description + "IPv4 pop uniform ultimate hop pop time to live (TTL) expire"; + } + enum drop-ipv4-pop-unf-php-ttl-expire { + value 177; + description + "IPv4 pop uniform penultimate hop pop time to live (TTL) expire"; + } + enum drop-mpls-pop-pipe-ttl-expire { + value 178; + description + "Multiprotocol label switching (MPLS) pop pipe time to live (TTL) expire"; + } + enum drop-mpls-pop-unf-uhp-ttl-expire { + value 179; + description + "Multiprotocol label switching (MPLS) pop uniform ultimate hop pop time to live (TTL) expire"; + } + enum drop-mpls-pop-unf-php-ttl-expire { + value 180; + description + "Multiprotocol label switching (MPLS) pop uniform penultimate hop pop time to live (TTL) expire"; + } + enum drop-label-pop-unsupport-linktype { + value 181; + description + "Label pop unsupported linktype"; + } + enum drop-mpls-no-route { + value 182; + description + "Multiprotocol label switching (MPLS) no route"; + } + enum drop-mpls-icmp-invalid-hdr { + value 183; + description + "Multiprotocol label switching (MPLS) ICMP invalid header"; + } + enum drop-mpls-sanity-echo-req { + value 184; + description + "Multiprotocol label switching (MPLS) sanity echo request"; + } + enum drop-mpls-sanity-drop { + value 185; + description + "Multiprotocol label switching (MPLS) sanity drop"; + } + enum drop-ess-unprov-session { + value 186; + description + "Edge switching services unprovisioned session"; + } + enum drop-firewall-policy { + value 187; + description + "Firewall policy"; + } + enum drop-firewall-l4 { + value 188; + description + "Firewall layer 4"; + } + enum drop-firewall-l7 { + value 189; + description + "Firewall layer 7"; + } + enum drop-firewall-no-new-sessions { + value 190; + description + "Firewall no new sessions"; + } + enum drop-firewall-not-initiator { + value 191; + description + "Firewall not initiator"; + } + enum drop-firewall-not-from-init { + value 192; + description + "Firewall not from init"; + } + enum drop-gen-pkt-replication { + value 193; + description + "Gen packet replication"; + } + enum drop-esf-l4r-bad-config { + value 194; + description + "Edge switching services feature (ESF) layer 4 redirect bad config"; + } + enum drop-esf-l4r-trans-unavail { + value 195; + description + "Edge switching services feature (ESF) layer 4 redirect trans unavailable"; + } + enum drop-esf-pbhk-bad-config { + value 196; + description + "Edge switching services feature (ESF) port-bundle host key bad config"; + } + enum drop-esf-pbhk-unalloc { + value 197; + description + "Edge switching services feature (ESF) port-bundle host key unallocated"; + } + enum drop-esf-pbhk-port-unavail { + value 198; + description + "Edge switching services feature (ESF) port-bundle host key port unavailable"; + } + enum drop-esf-pbhk-port-notfound { + value 199; + description + "Edge switching services feature (ESF) port-bundle host key port not found"; + } + enum drop-esf-pbhk-port-removed { + value 200; + description + "Edge switching services feature (ESF) port-bundle host key port removed"; + } + enum drop-mpls-no-adj { + value 201; + description + "Multiprotocol label switching (MPLS) no adjacency"; + } + enum drop-ipv4-adj-drop { + value 202; + description + "IPv4 adjacency drop"; + } + enum drop-ipv6-adj-drop { + value 203; + description + "IPv6 adjacency drop"; + } + enum drop-mpls-adj-drop { + value 204; + description + "Multiprotocol label switching (MPLS) adjacency drop"; + } + enum drop-bad-adj { + value 205; + description + "Bad adjacency"; + } + enum drop-punt-policer-drop { + value 206; + description + "Punt policer drop"; + } + enum drop-punt-global-policer-drop { + value 207; + description + "Punt global policer drop"; + } + enum drop-esf-tc-drop { + value 208; + description + "Edge switching services feature (ESF) traffic classification drop"; + } + enum drop-esf-drl-drop { + value 209; + description + "Edge switching services feature (ESF) dynamic rate limit drop"; + } + enum drop-ess-ipsub-drop { + value 210; + description + "Edge switching services IP subscriber drop"; + } + enum drop-ess-ipsub-fsol-drop { + value 211; + description + "Edge switching services IP subscriber first sign of life throttle drop"; + } + enum drop-ess-ipsub-classifier-drop { + value 212; + description + "Edge switching services IP subscriber classifier drop"; + } + enum drop-ess-ipsub-ka-drop { + value 213; + description + "Edge switching services IP subscriber keepalive drop"; + } + enum drop-oam-loopback { + value 214; + description + "Operations, administration and management (OAM) loopback"; + } + enum drop-unconfigured-ipv4-fia { + value 215; + description + "Unconfigured IPv4 feature invocation array (FIA)"; + } + enum drop-unconfigured-ipv6-fia { + value 216; + description + "Unconfigured IPv6 feature invocation array (FIA)"; + } + enum drop-unconfigured-mpls-fia { + value 217; + description + "Unconfigured multiprotocol label switching (MPLS) feature invocation array (FIA)"; + } + enum drop-smi-disabled { + value 218; + description + "Simple management interface disabled"; + } + enum drop-oce-drop-adj { + value 219; + description + "Output chain element (OCE) drop adjacency"; + } + enum drop-internal { + value 220; + description + "Internal"; + } + enum drop-inv-spa-hdr { + value 221; + description + "Invalid shared port adaptor (SPA) header"; + } + enum drop-ppe-exception { + value 222; + description + "Packet processing engine exception"; + } + enum drop-internal-replication { + value 223; + description + "Internal replication"; + } + enum drop-internal-recycle-tail { + value 224; + description + "Internal recycle tail"; + } + enum drop-internal-no-gpm { + value 225; + description + "Internal no global packet memory"; + } + enum drop-internal-no-channel-mem { + value 226; + description + "Internal no channel memory"; + } + enum drop-ip-sia-hdr-err { + value 227; + description + "IP service insertion architecture (SIA) header error"; + } + enum drop-ip-sia-hop-limit-exceeded { + value 228; + description + "IP service insertion architecture (SIA) hop limit exceeded"; + } + enum drop-ip-sia-processing-err { + value 229; + description + "IP service insertion architecture (SIA) processing error"; + } + enum drop-sslvpn-svi-invalid-h { + value 230; + description + "SSL VPN switched virtual interface (SVI) invalid header"; + } + enum drop-esf-acct-exceed-drop { + value 231; + description + "Edge switching services feature (ESF) accounting exceed drop"; + } + enum drop-tcp { + value 232; + description + "TCP packet"; + } + enum drop-invalid-encap { + value 233; + description + "Invalid encapsulation"; + } + enum drop-dsp { + value 234; + description + "Digital signal processing (DSP)"; + } + enum drop-mpls-csc-drop { + value 235; + description + "Multiprotocol label switching (MPLS) carrier supporting carrier drop"; + } + enum drop-cstp-cdtp-inv-frame { + value 236; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol invalid frame"; + } + enum drop-cstp-cdtp-no-tunnel { + value 237; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol no tunnel"; + } + enum drop-cstp-cdtp-unsup-frame { + value 238; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol unsupported frame"; + } + enum drop-esf-l4r-trans-sess-limit { + value 239; + description + "Edge switching services feature (ESF) layer 4 redirect trans session limit"; + } + enum drop-lisp-elig-oce { + value 240; + description + "LISP eligible output chain element (OCE)"; + } + enum drop-lisp-misconfiguration { + value 241; + description + "LISP misconfiguration"; + } + enum drop-lisp-disabled { + value 242; + description + "LISP disabled"; + } + enum drop-lisp-decap-failed { + value 243; + description + "LISP deencapsulation failed"; + } + enum drop-lisp-hash-lkup-failed { + value 244; + description + "LISP hash lookup failed"; + } + enum drop-lisp-failed-punt-lsb-mismatch { + value 245; + description + "LISP failed to punt lsb mismatch"; + } + enum drop-nat64-v6tov4 { + value 246; + description + "NAT64 IPv6 to IPv4"; + } + enum drop-nat64-v4tov6 { + value 247; + description + "NAT64 IPv4 to IPv6"; + } + enum drop-tunnel-sec-chk-fail { + value 248; + description + "Tunnel security check fail"; + } + enum drop-servicewire-hdr-err { + value 249; + description + "Servicewire header error"; + } + enum drop-servicewire-hop-limit-exceeded { + value 250; + description + "Servicewire hop limit exceeded"; + } + enum drop-servicewire-processing-err { + value 251; + description + "Servicewire processing error"; + } + enum drop-l2bd { + value 252; + description + "Layer 2 Bridge Domain (L2BD)"; + } + enum drop-tcp-bp-sslvpn { + value 253; + description + "TCP back pressure SSL VPN"; + } + enum drop-evc-efp-egress-filter { + value 254; + description + "Ethernet virtual connection (EVC) ethernet flowpoint (EFP) egress filter"; + } + enum drop-sslvpn-svi-if-err { + value 255; + description + "SSL VPN switched virtual interface (SVI) interface error"; + } + enum drop-sslvpn-ctx-null { + value 256; + description + "SSL VPN ctx null"; + } + enum drop-sslvpn-ctx-not-alive { + value 257; + description + "SSL VPN ctx not alive"; + } + enum drop-sslvpn-invalid-pkt { + value 258; + description + "SSL VPN invalid packet"; + } + enum drop-sslvpn-socket-wr-err { + value 259; + description + "SSL VPN socket write error"; + } + enum drop-sslvpn-pkt-rc-err { + value 260; + description + "SSL VPN packet return code error"; + } + enum drop-sslvpn-null-rc { + value 261; + description + "SSL VPN null return code"; + } + enum drop-sslvpn-wrong-pkt-type { + value 262; + description + "SSL VPN wrong packet type"; + } + enum drop-sslvpn-not-ssl-record { + value 263; + description + "SSL VPN not ssl record"; + } + enum drop-firewall-syncookie { + value 264; + description + "Firewall syncookie"; + } + enum drop-l2bd-mac-security-violation { + value 265; + description + "Layer 2 Bridge Domain (L2BD) MAC security violation"; + } + enum drop-l2bd-src-filter { + value 266; + description + "Layer 2 Bridge Domain (L2BD) source filter"; + } + enum drop-l2bd-policy { + value 267; + description + "Layer 2 Bridge Domain (L2BD) policy"; + } + enum drop-l2bd-repl-start { + value 268; + description + "Layer 2 Bridge Domain (L2BD) replication start"; + } + enum drop-l2bd-repl-end { + value 269; + description + "Layer 2 Bridge Domain (L2BD) replication end"; + } + enum drop-l2bd-recycle-tail { + value 270; + description + "Layer 2 Bridge Domain (L2BD) recycle tail"; + } + enum drop-l2bd-static-mac-move { + value 271; + description + "Layer 2 Bridge Domain (L2BD) static MAC move"; + } + enum drop-l2bd-bd-disabled { + value 272; + description + "Layer 2 Bridge Domain (L2BD) bridge domain disabled"; + } + enum drop-l2bd-inject-no-sb { + value 273; + description + "Layer 2 Bridge Domain (L2BD) inject no sub block"; + } + enum drop-l2bd-inject-invalid { + value 274; + description + "Layer 2 Bridge Domain (L2BD) inject invalid"; + } + enum drop-l2bd-stp-state { + value 275; + description + "Layer 2 Bridge Domain (L2BD) spanning tree (STP) state"; + } + enum drop-l2bd-storm-ctrl { + value 276; + description + "Layer 2 Bridge Domain (L2BD) storm ctrl"; + } + enum drop-sslvpn-coprocessor-err { + value 277; + description + "SSL VPN coprocessor error"; + } + enum drop-sslvpn-tail-drop { + value 278; + description + "SSL VPN tail drop"; + } + enum drop-ecfm { + value 279; + description + "Ethernet connection fault management (ECFM)"; + } + enum drop-ipv4mc-oif-rpf-failed { + value 280; + description + "IPv4 multicast output interface reverse path forwarding failed"; + } + enum drop-ipv6mc-oif-rpf-failed { + value 281; + description + "IPv6 multicast output interface reverse path forwarding failed"; + } + enum drop-ipv6-pbr { + value 282; + description + "IPv6 policy based routing (PBR)"; + } + enum drop-sslvpn-coproc-state-unset { + value 283; + description + "SSL VPN coprocessor state not set"; + } + enum drop-sslvpn-coproc-state-reply-unset { + value 284; + description + "SSL VPN coprocessor state reply not set"; + } + enum drop-sslvpn-neg-ssl-rec-pad-len { + value 285; + description + "SSL VPN negotiated SSL record pad length"; + } + enum drop-sslvpn-inv-ssl-rec { + value 286; + description + "SSL VPN invalid SSL record"; + } + enum drop-sslvpn-not-ssl-rec-rc { + value 287; + description + "SSL VPN not SSL record return code"; + } + enum drop-sslvpn-ssl-rec-not-pkt { + value 288; + description + "SSL VPN SSL record not packet"; + } + enum drop-sslvpn-add-ssl-rec-hdr-err { + value 289; + description + "SSL VPN add SSL record header error"; + } + enum drop-sslvpn-null-session { + value 290; + description + "SSL VPN null session"; + } + enum drop-sslvpn-invalid-session { + value 291; + description + "SSL VPN invalid session"; + } + enum drop-sslvpn-empty-pkt { + value 292; + description + "SSL VPN empty packet"; + } + enum drop-ipv4-reass-tail-drop { + value 293; + description + "IPv4 reassembly tail drop"; + } + enum drop-ipv6-reass-tail-drop { + value 294; + description + "IPv6 reassembly tail drop"; + } + enum drop-ipv4mc-nat-in2out { + value 295; + description + "IPv4 multicast NAT in to out"; + } + enum drop-ipv4mc-nat-out2in { + value 296; + description + "IPv4 multicast NAT out to in"; + } + enum drop-fia-error { + value 297; + description + "Feature invocation array (FIA) error"; + } + enum drop-firewall-syncookie-max-dst { + value 298; + description + "Firewall syncookie maximum dst"; + } + enum drop-ipv4-urpf-loose-failed { + value 299; + description + "IPv4 unicast reverse path forwarding loose failed"; + } + enum drop-ipv4-urpf-strict-failed { + value 300; + description + "IPv4 unicast reverse path forwarding strict failed"; + } + enum drop-ipv6-urpf-loose-failed { + value 301; + description + "IPv6 unicast reverse path forwarding loose failed"; + } + enum drop-ipv6-urpf-strict-failed { + value 302; + description + "IPv6 unicast reverse path forwarding strict failed"; + } + enum drop-ipv6-urpf-null-path-list { + value 303; + description + "IPv6 unicast reverse path forwarding null path list"; + } + enum drop-ipv6-urpf-no-fib { + value 304; + description + "IPv6 unicast reverse path forwarding no fib"; + } + enum drop-unknown-mcast-pkt-type { + value 305; + description + "Unknown multicast packet type"; + } + enum drop-l2v4mc-invalid-replica-record { + value 306; + description + "Layer 2 IPv4 multicast invalid replica record"; + } + enum drop-l2v6mc-invalid-replica-record { + value 307; + description + "Layer 2 IPv6 multicast invalid replica record"; + } + enum drop-l2mc-invalid-replica-record { + value 308; + description + "Layer 2 multicast invalid replica record"; + } + enum drop-lsm-invalid-replica-record { + value 309; + description + "Label switch multicast invalid replica record"; + } + enum drop-cts-format { + value 310; + description + "Cisco trustsec format"; + } + enum drop-cts-not-enable { + value 311; + description + "Cisco trustsec not enable"; + } + enum drop-idle-packet { + value 312; + description + "Idle packet"; + } + enum drop-mfr { + value 313; + description + "Multilink frame relay"; + } + enum drop-ar-tx { + value 314; + description + "Asymmetric routing transmit"; + } + enum drop-ar-rx { + value 315; + description + "Asymmetric routing receive"; + } + enum drop-ar-standby { + value 316; + description + "Asymmetric routing standby"; + } + enum drop-ar-fnf-clnup { + value 317; + description + "Asymmetric routing flexible netflow cleanup"; + } + enum drop-mac-mcast-ip-nonmcast { + value 318; + description + "MAC multicast IP not multicast"; + } + enum drop-bfd { + value 319; + description + "Bidirectional fault detection (BFD)"; + } + enum drop-bundle-oce { + value 320; + description + "Bundle output chain element (OCE)"; + } + enum drop-bqs-oor-pri { + value 321; + description + "Buffering, queuing and scheduling out of resources priority"; + } + enum drop-bqs-oor-pak-pri { + value 322; + description + "Buffering, queuing and scheduling out of resources packet priority"; + } + enum drop-bqs-oor-vital { + value 323; + description + "Buffering, queuing and scheduling out of resources vital"; + } + enum drop-epc { + value 324; + description + "Embedded packet capture"; + } + enum drop-lisp-failed-punt-dyn-eid-config { + value 325; + description + "LISP failed to punt dynamic embedded identifier config"; + } + enum drop-sv-match-fail { + value 326; + description + "SV match fail"; + } + enum drop-cblbf-null-repllist { + value 327; + description + "Cable bundle flood null replication list"; + } + enum drop-cblbf-repl-fail { + value 328; + description + "Cable bundle flood replication fail"; + } + enum drop-cblbf-repl-start { + value 329; + description + "Cable bundle flood replication start"; + } + enum drop-cblbf-repl-end { + value 330; + description + "Cable bundle flood replication end"; + } + enum drop-cblbf-recycle-tail { + value 331; + description + "Cable bundle flood recycle tail"; + } + enum drop-cblbf-fwdint-down { + value 332; + description + "Cable bundle flood forwarding interface down"; + } + enum drop-cable-p2pl-oce-ptr-null { + value 333; + description + "Cable P2PL output chain element (OCE) pointer null"; + } + enum drop-cable-mc-invalid-replica-record { + value 334; + description + "Cable multicast invalid replica record"; + } + enum drop-no-def-jib { + value 335; + description + "No default JIB"; + } + enum drop-no-inj-jib { + value 336; + description + "No inj JIB"; + } + enum drop-onefw { + value 337; + description + "Firewall"; + } + enum drop-ccm-tx { + value 338; + description + "CCM transmit"; + } + enum drop-appnav-sn-pkt-invalid { + value 339; + description + "APPNAV Service Node (SN) packet invalid"; + } + enum drop-appnav-internal-err { + value 340; + description + "APPNAV internal error"; + } + enum drop-appnav-badroute { + value 341; + description + "APPNAV bad route"; + } + enum drop-appnav-notunnel { + value 342; + description + "APPNAV no tunnel"; + } + enum drop-appnav-nosvcctx { + value 343; + description + "APPNAV no SVC context"; + } + enum drop-appnav-inv-flow-state { + value 344; + description + "APPNAV invalid flow state"; + } + enum drop-appnav-unexpected-pkt { + value 345; + description + "APPNAV unexpected packet"; + } + enum drop-rl2gp-non-tcb { + value 346; + description + "Reverse layer 2 gateway protocol(R-L2GP) non topology change bridge protocol unit (TCB)"; + } + enum drop-tunnel-pkt-sb-missed { + value 347; + description + "Tunnel packet sub block missed"; + } + enum drop-fhs-pkt-invalid { + value 348; + description + "First hop security packet invalid"; + } + enum drop-fhs-pkt-dropped { + value 349; + description + "First hop security packet dropped"; + } + enum drop-tunnel-sgre-virt-mac-mismatch { + value 350; + description + "Tunnel secure generic routing encapsulation (sGRE) virtual MAC mismatch"; + } + enum drop-tunnel-sgre-unsupported-proto { + value 351; + description + "Tunnel secure generic routing encapsulation (sGRE) unsupported protocol"; + } + enum drop-mpls-gal-check-non-gal-dropped { + value 352; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non generic associated channel label (GAL) dropped"; + } + enum drop-mpls-gal-check-non-eos-dropped { + value 353; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non end of stack dropped"; + } + enum drop-mpls-gal-check-invalid { + value 354; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check invalid"; + } + enum drop-mpls-gal-exception-non-eos { + value 355; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non end of stack dropped"; + } + enum drop-mpls-gal-exception-non-gach { + value 356; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non generic associated channel (GACH) dropped"; + } + enum drop-conf-sw-sess { + value 357; + description + "Configuration software session"; + } + enum drop-tunnel-decap-too-many-times { + value 358; + description + "Tunnel deencapsulation too many times"; + } + enum drop-loadbalance-null0 { + value 359; + description + "Load balance null0"; + } + enum drop-gpm-tx-len-exceed { + value 360; + description + "Global packet memory transmit length exceed"; + } + enum drop-esf-ffr-drop { + value 361; + description + "Edge switching services feature (ESF) ffr drop"; + } + enum drop-ec-bundle-enq { + value 362; + description + "Etherchannel bundle enqueue"; + } + enum drop-ec-link-tx { + value 363; + description + "Etherchannel link transmit"; + } + enum drop-pfrv3-probe-err { + value 364; + description + "Performance routing version 4 (pFRv3) probe error"; + } + enum drop-ovl-bad-pkt { + value 365; + description + "Overlay bad packet"; + } + enum drop-ovl-l2-filter { + value 366; + description + "Overlay layer 2 filter"; + } + enum drop-dpss { + value 367; + description + "Dataplane service set (DPSS)"; + } + enum drop-tunnel-invalid-protocol { + value 368; + description + "Tunnel invalid protocol"; + } + enum drop-pfrv3-at-failure { + value 369; + description + "Performance routing version 4 (pFRv3) at failure"; + } + enum drop-ipv4-mcast-acl { + value 370; + description + "IPv4 multicast access control list (ACL)"; + } + enum drop-ipv6-mcast-acl { + value 371; + description + "IPv6 multicast access control list (ACL)"; + } + enum drop-pprl-sbrl-drop { + value 372; + description + "PPRL source based rate limit drop"; + } + enum drop-cbl-req-arl-drop { + value 373; + description + "Cable request ARP drop"; + } + enum drop-cbl-rep-arl-drop { + value 374; + description + "Cable rep ARP drop"; + } + enum drop-appnav-acgreloaddelay { + value 375; + description + "APPNAV reload delay"; + } + enum drop-ngfw-policy { + value 376; + description + "Next generation firewall (NGFW) policy"; + } + enum drop-ngfw-divert { + value 377; + description + "Next generation firewall (NGFW) divert"; + } + enum drop-pfrv3-blackhole { + value 378; + description + "Performance routing version 4 (pFRv3) black hole"; + } + enum drop-pppoe-fctl { + value 379; + description + "PPP over Ethernet (PPPoE) flow control"; + } + enum drop-lisp-sfltr { + value 380; + description + "LISP filtering"; + } + enum drop-flowspec { + value 381; + description + "Flowspec"; + } + enum drop-identity-cft-error { + value 382; + description + "Identity common flow table error"; + } + enum drop-bad-us-jib-hdr { + value 383; + description + "Bad us JIB header"; + } + enum drop-too-many-mpls-lookup-oce { + value 384; + description + "Too many multiprotocol label switching (MPLS) lookup output chain element (OCE)"; + } + enum drop-cable-prereg-not-cm { + value 385; + description + "Cable pre registration not call manager"; + } + enum drop-invalid-virtual-id { + value 386; + description + "Invalid virtual identifier"; + } + enum drop-flow-queue-failure-id { + value 387; + description + "Flow queue failure identifier"; + } + enum drop-l2es-input-invalid-tag { + value 388; + description + "Layer 2 embedded ethernet switching input invalid tag"; + } + enum drop-l2es-input-invalid-svi { + value 389; + description + "Layer 2 embedded ethernet switching input invalid switched virtual interface (SVI)"; + } + enum drop-svi-output-invalid-l2sb { + value 390; + description + "Switched virtual interface (SVI) output invalid layer 2 sub block"; + } + enum drop-svi-input-invalid-mac { + value 391; + description + "Switched virtual interface (SVI) input invalid MAC"; + } + enum drop-svi-output-recycle-tail { + value 392; + description + "Switched virtual interface (SVI) output recycle tail"; + } + enum drop-svi-output-repl { + value 393; + description + "Switched virtual interface (SVI) output replication"; + } + enum drop-svi-repl-end { + value 394; + description + "Switched virtual interface (SVI) replication end"; + } + enum drop-cws-ctx-id-not-found-mob { + value 395; + description + "Cisco wire service (CWS) ctx identifier not found mobile"; + } + enum drop-cws-ctx-id-not-found-conn { + value 396; + description + "Cisco wire service (CWS) ctx identifier not found connection"; + } + enum drop-l2cp-cfg-action { + value 397; + description + "Layer 2 control process configuration action"; + } + enum drop-perf-lic-policer-lo { + value 398; + description + "Performance license policer lo"; + } + enum drop-perf-lic-policer-hi { + value 399; + description + "Performance license policer high"; + } + enum drop-hqf-tx-error { + value 400; + description + "Hierarchical queuing function transmit error"; + } + enum drop-cmd-format { + value 401; + description + "Command format"; + } + enum drop-utd { + value 402; + description + "Universal threat defense"; + } + enum drop-nat66-in2out { + value 403; + description + "NAT66 in to out"; + } + enum drop-nat66-out2in { + value 404; + description + "NAT66 out to in"; + } + enum drop-dsa-no-ip { + value 405; + description + "DNS snooping agent no IP"; + } + enum drop-cws-inter-error { + value 406; + description + "Cisco wire service (CWS) inter error"; + } + enum drop-utd-sn { + value 407; + description + "Universal threat defense Service Node (SN)"; + } + enum drop-mpls-el-invalid-tag { + value 408; + description + "Multiprotocol label switching (MPLS) entropy label invalid tag"; + } + enum drop-lisp-failed-punt-gsmr-enabled { + value 409; + description + "LISP failed to punt generalized solicit map request enabled"; + } + enum drop-schain-flow-action { + value 410; + description + "Service chain flow action"; + } + enum drop-opendns { + value 411; + description + "OpenDNS"; + } + enum drop-capwap-err { + value 412; + description + "CAPWAP error"; + } + enum drop-capwap-no-uidb { + value 413; + description + "CAPWAP no interface"; + } + enum drop-dtls-err { + value 414; + description + "DTLS error"; + } + enum drop-wlclnt-err { + value 415; + description + "Wireless client error"; + } + enum drop-wlclnt-fnf-v9-report { + value 416; + description + "Wireless client flexible netflow v9 report"; + } + enum drop-wlclnt-fnf-v9-err { + value 417; + description + "Wireless client flexible netflow v9 error"; + } + enum drop-cgacl-err { + value 418; + description + "CG Access Control List(CGACL) error"; + } + enum drop-cgacl-lookup-miss { + value 419; + description + "CG Access Control List(CGACL) lookup miss"; + } + enum drop-cgacl-inv-stats { + value 420; + description + "CG Access Control List(CGACL) invalid statistics"; + } + enum drop-cgacl-match { + value 421; + description + "CG Access Control List(CGACL) match"; + } + enum drop-cgacl-action { + value 422; + description + "CG Access Control List(CGACL) action"; + } + enum drop-cgacl-pkt-type { + value 423; + description + "CG Access Control List(CGACL) invalid packet type"; + } + enum drop-cwfrag-err { + value 424; + description + "Cisco wireservice fragment error"; + } + enum drop-pathmgr-measurement-err { + value 425; + description + "Path manager measurement error"; + } + enum drop-pathmgr-select-err { + value 426; + description + "Path manager select error"; + } + enum drop-capwap-reass-frag-consm { + value 427; + description + "CAPWAP reassembly fragments consumed"; + } + enum drop-capwap-reass-alloc-err { + value 428; + description + "CAPWAP reassembly allocation error"; + } + enum drop-capwap-reass-frag-err { + value 429; + description + "CAPWAP reassembly fragments error"; + } + enum drop-redistrib-err-bad-dst { + value 430; + description + "Redistribution error bad dst"; + } + enum drop-redistrib-err-sb-trans-fail { + value 431; + description + "Redistribution error sub block trans fail"; + } + enum drop-redistrib-err-ph-alc-fail { + value 432; + description + "Redistribution error ph allocation fail"; + } + enum drop-redistrib-err-not-sup { + value 433; + description + "Redistribution error not sup"; + } + enum drop-redistrib-fifo-tail-drop { + value 434; + description + "Redistribution first in first out (FIFO) tail drop"; + } + enum drop-redistrib-no-credits { + value 435; + description + "Redistribution no credits"; + } + enum drop-max-indirect-exceeded { + value 436; + description + "Maximum indirect exceeded"; + } + enum drop-punt-intf-drop { + value 437; + description + "Punt interface drop"; + } + enum drop-srh-pkt-truncated-in-gpm { + value 438; + description + "Segment routing header packet truncated in global packet memory"; + } + enum drop-srh-invalid-extension { + value 439; + description + "Segment routing header invalid extension"; + } + enum drop-swport { + value 440; + description + "Switch port"; + } + enum drop-swport-disabled { + value 441; + description + "Switch port disabled"; + } + enum drop-swport-sanity-check { + value 442; + description + "Switch port sanity check"; + } + enum drop-swport-vp-state { + value 443; + description + "Switch port virtual port state"; + } + enum drop-swport-mac-conflict { + value 444; + description + "Switch port MAC conflict"; + } + enum drop-swport-stby { + value 445; + description + "Switch port standby"; + } + enum drop-swport-tx-stby { + value 446; + description + "Switch port transmit standby"; + } + enum drop-switch-l2m { + value 447; + description + "Switch layer 2 multicast"; + } + enum drop-switch-l2m-igmp { + value 448; + description + "Switch layer 2 multicast internet group management protocol (IGMP)"; + } + enum drop-switch-l2m-mld { + value 449; + description + "Switch layer 2 multicast mld"; + } + enum drop-switch-l2m-lookup-miss { + value 450; + description + "Switch layer 2 multicast lookup miss"; + } + enum drop-switch-l2m-sanity-check { + value 451; + description + "Switch layer 2 multicast sanity check"; + } + enum drop-bier-invalid-replica-record { + value 452; + description + "Bit index explicit replication (BIER) invalid replica record"; + } + enum drop-bier-snaity { + value 453; + description + "Bit index explicit replication (BIER) sanity"; + } + enum drop-cable-oob-us-sess-invalid { + value 454; + description + "Cable out of band us session invalid"; + } + enum drop-cable-oob-us-src-id-invalid { + value 455; + description + "Cable out of band us source identifier invalid"; + } + enum drop-cable-oob-us-pkt-invalid { + value 456; + description + "Cable out of band us packet invalid"; + } + enum drop-cbl-oob-null-repllist { + value 457; + description + "Cable out of band null replication list"; + } + enum drop-cbl-oob-repl-fail { + value 458; + description + "Cable out of band replication fail"; + } + enum drop-cbl-oob-add-hdr-fail { + value 459; + description + "Cable out of band add header fail"; + } + enum drop-cbl-oob-repl-end { + value 460; + description + "Cable out of band replication end"; + } + enum drop-cbl-oob-recycle-tail { + value 461; + description + "Cable out of band recycle tail"; + } + enum drop-cbl-oob-repl-uidb-invalid { + value 462; + description + "Cable out of band replication interface invalid"; + } + enum drop-cbl-oob-repl-sess-invalid { + value 463; + description + "Cable out of band replication session invalid"; + } + enum drop-cbl-oob-null-repl-info { + value 464; + description + "Cable out of band null replication information"; + } + enum drop-nid-vlan-mismatch { + value 465; + description + "Network interface device VLAN mismatch"; + } + enum drop-pfrv3-loop { + value 466; + description + "Performance routing version 4 (pFRv3) loop"; + } + enum drop-dialer-list { + value 467; + description + "Dialer list"; + } + enum drop-udp { + value 468; + description + "UDP packet"; + } + enum drop-tun-l2tpv3oipv6-cookie-mismatch { + value 469; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) cookie mismatch"; + } + enum drop-tun-l2tpv3oipv6-minmtu-err { + value 470; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) minimum maximum transfer unit error"; + } + enum drop-tun-l2tpv3oipv6-cookieflag-err { + value 471; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) cookie flag error"; + } + enum drop-tun-l2tpv3oipv6-mac-mismatch { + value 472; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) MAC mismatch"; + } + enum drop-tun-l2tpv3oipv6-vlanid-mismatch { + value 473; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) VLAN identifier mismatch"; + } + enum drop-tun-l2tpv3oipv6-unsup-proto { + value 474; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) unsupported protocol"; + } + enum drop-pfrv3-stickiness { + value 475; + description + "Performance routing version 4 (pFRv3) stickiness"; + } + enum drop-cbl-sid-exceed { + value 476; + description + "Cable service identifier exceed"; + } + enum drop-sdwan { + value 477; + description + "Software defined WAN (SDWAN)"; + } + enum drop-sdwan-generic { + value 478; + description + "Software defined WAN (SDWAN) generic"; + } + enum drop-sdwan-implicit-acl { + value 479; + description + "Software defined WAN (SDWAN) implicit access control list (ACL)"; + } + enum drop-sdwan-acl { + value 480; + description + "Software defined WAN (SDWAN) access control list (ACL)"; + } + enum drop-sdwan-bfd { + value 481; + description + "Software defined WAN (SDWAN) bidirectional fault detection (BFD)"; + } + enum drop-sdwan-app-route-policy { + value 482; + description + "Software defined WAN (SDWAN) app route policy"; + } + enum drop-sdwan-data-policy { + value 483; + description + "Software defined WAN (SDWAN) data policy"; + } + enum drop-sdwan-interface-policy { + value 484; + description + "Software defined WAN (SDWAN) interface policy"; + } + enum drop-sdwan-tunnel-lkup { + value 485; + description + "Software defined WAN (SDWAN) tunnel lookup"; + } + enum drop-sdwan-tloc-ext { + value 486; + description + "Software defined WAN (SDWAN) tunnel locator extension"; + } + enum drop-tunnel-vxlan-mismatch { + value 487; + description + "Tunnel VxLAN mismatch"; + } + enum drop-l2bd-mac-security-move { + value 488; + description + "Layer 2 Bridge Domain (L2BD) MAC security move"; + } + enum drop-l2bd-mac-security-unknown { + value 489; + description + "Layer 2 Bridge Domain (L2BD) MAC security unknown"; + } + enum drop-dapr-noroute { + value 490; + description + "Dynamic application policy routing no route"; + } + enum drop-epbr { + value 491; + description + "Enhanced policy based routing"; + } + enum drop-sdvt-sn { + value 492; + description + "SDVT Service Node (SN)"; + } + enum drop-sdvt { + value 493; + description + "Service divert"; + } + enum drop-tunnel-vxlan-policer { + value 494; + description + "Tunnel VxLAN policer"; + } + enum drop-tunnel-vrf-mux { + value 495; + description + "Tunnel VRF multiplexed"; + } + enum drop-tunnel-vrf-demux { + value 496; + description + "Tunnel VRF demultiplexed"; + } + enum drop-frag-invalid-pkt { + value 497; + description + "Fragment invalid packet"; + } + enum drop-frag-invalid-ip6pkt { + value 498; + description + "Fragment invalid IPv6 packet"; + } + enum drop-crypto-offload-output { + value 499; + description + "Crypto offload output"; + } + enum drop-cable-prng-expected-drops { + value 500; + description + "Cable Pseudo Random Number Generator expected drops"; + } + enum drop-ipv4-egress-intf-enforce { + value 501; + description + "IPv4 egress interface enforce"; + } + enum drop-ipv6-egress-intf-enforce { + value 502; + description + "IPv6 egress interface enforce"; + } + enum drop-cable-dhcp-bad-len { + value 503; + description + "Cable DHCP bad length"; + } + enum drop-l2bd-uuf-suppression { + value 504; + description + "Layer 2 Bridge Domain (L2BD) unknown unicast flood suppression"; + } + enum drop-wpan { + value 505; + description + "Wireless Personal Area Network"; + } + enum drop-l2bd-sisf-ctrl { + value 506; + description + "Layer 2 Bridge Domain (L2BD) Switch Integrated Security Features control"; + } + enum drop-cable-recycle-queue { + value 507; + description + "Cable recycle queue"; + } + enum drop-pcgw-pdu-sess-err { + value 508; + description + "Packet Core Gateway PDU session error"; + } + enum drop-pcgw-gtpu-err { + value 509; + description + "Packet Core Gateway gtpu error"; + } + enum drop-pcgw-punt-inject-err { + value 510; + description + "Packet Core Gateway punt inject error"; + } + enum drop-pcacl { + value 511; + description + "Packet Core ACL"; + } + enum drop-vtcp-err { + value 512; + description + "Virtual TCP error"; + } + enum drop-vtcp-invalid-tx { + value 513; + description + "Virtual TCP invalid transmit"; + } + enum drop-vtcp-pa-err { + value 514; + description + "Virtual TCP packet abstraction error"; + } + enum drop-vtcp-mem-err { + value 515; + description + "Virtual TCP memory error"; + } + enum drop-vtcp-punt-err { + value 516; + description + "Virtual TCP punt error"; + } + enum drop-fbd-oom-err { + value 517; + description + "Flow based distribution out of memory error"; + } + enum drop-memory-interface { + value 518; + description + "Memory interface"; + } + enum drop-no-interface-resources { + value 519; + description + "No interface resources"; + } + enum drop-dlep-unconfigured { + value 520; + description + "Dynamic Link Exchange Protocol unconfigured"; + } + } + description + "Drop causes"; + } + + typedef nwpi-domain-state { + type enumeration { + enum domain-state-invalid { + value 0; + description + "Invalid domain"; + } + enum domain-state-uncompleted { + value 1; + description + "Domain uncompleted"; + } + enum domain-state-completed { + value 2; + description + "Domain completed"; + } + } + description + "Domain type"; + } + + typedef nwpi-domain-dns-trans-type { + type enumeration { + enum domain-dns-trans-invalid { + value 0; + description + "Invalid transport type"; + } + enum domain-dns-trans-udp { + value 1; + description + "DNS UDP transport"; + } + enum domain-dns-trans-tcp { + value 2; + description + "DNS TCP transport"; + } + enum domain-dns-trans-udp2tcp { + value 3; + description + "DNS transport from UDP to TCP"; + } + } + description + "Domain transport type"; + } + + typedef nwpi-app-hosting-type { + type enumeration { + enum app-hosting-invalid { + value 0; + description + "Invalid type"; + } + enum app-hosting-te-agent { + value 1; + description + "ThousandEyes agent"; + } + } + description + "Application hosting type"; + } + + typedef nwpi-fwd-dec-flag { + type bits { + bit by-routing { + position 0; + description + "Forwarding decision made by routing"; + } + bit by-aar { + position 1; + description + "Forwarding decision made by application aware routing"; + } + bit by-dp { + position 2; + description + "Forwarding decision made by data policy"; + } + bit by-lp { + position 3; + description + "Forwarding decision made by local policy"; + } + bit by-epbr { + position 4; + description + "Forwarding decision made by enhanced policy based routing"; + } + } + description + "Forwarding decision maker flag"; + } + + grouping nwpi-trace { + description + "Trace identifier, action and filters"; + leaf trace-id { + type uint16 { + range "1..65535"; + } + description + "Global unique trace identifier"; + } + leaf action { + type Cisco-IOS-XE-nwpi-types:nwpi-action-type; + description + "Trace start/stop/clean actions"; + } + leaf target { + when "(../action[.='action-start-trace' or .='action-stop-trace'])"; + type Cisco-IOS-XE-nwpi-types:nwpi-target-type; + description + "Target types"; + } + leaf vpn-id { + when "(../action[.='action-start-trace' or .= 'action-stop-trace']) and (../target = 'target-vpn-id')"; + type uint32 { + range "0..65531"; + } + description + "SD-WAN VPN identifier"; + } + leaf vrf-name { + when "(../action[.='action-start-trace' or .= 'action-stop-trace']) and (../target = 'target-vrf-name')"; + type string; + description + "VRF name"; + } + leaf src-ip { + type inet:ip-address; + description + "Source IP to filter"; + } + leaf dst-ip { + type inet:ip-address; + description + "Destination IP to filter"; + } + leaf app { + type string; + description + "Application to filter"; + } + leaf src-if { + type string; + description + "Source interface to filter"; + } + leaf protocol { + type uint8; + description + "IP protocol field in IP header to filter"; + } + leaf src-port { + type uint16; + description + "Source port to filter"; + } + leaf dst-port { + type uint16; + description + "Destination port to filter"; + } + leaf dscp-is-valid { + type boolean; + description + "Indicate DSCP filter was configured"; + } + leaf dscp { + when "(../dscp-is-valid = 'true')"; + type uint8; + description + "DSCP value to filter"; + } + leaf duration { + type uint16; + units "minutes"; + description + "Trace remaining duration in minutes"; + } + leaf src-pfx { + type inet:ip-address; + description + "Source prefix to filter"; + } + leaf src-pfx-len { + type uint8; + units "bits"; + description + "Source prefix length to filter"; + } + leaf dst-pfx { + type inet:ip-address; + description + "Destination prefix to filter"; + } + leaf dst-pfx-len { + type uint8; + units "bits"; + description + "Destination prefix length to filter"; + } + leaf app-grp { + type string; + description + "Application grouped by vendors to filter"; + } + leaf domain-mon { + type boolean; + description + "Enable domain monitor"; + } + leaf art-vis { + type boolean; + description + "Enable ART visibility"; + } + leaf app-vis { + type boolean; + description + "Enable application visibility"; + } + leaf dia-vis { + type boolean; + description + "Enable direct internet access visibility"; + } + leaf hub-wan-vis { + type boolean; + description + "Enable HUB WAN ingress visibility"; + } + leaf sampling { + type boolean; + description + "Enable trace flow sampling"; + } + leaf spl-intvl { + type uint32; + units "milliseconds"; + description + "Trace one flow in each sample interval"; + } + list domain { + description + "Domain list to filter"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-filter; + } + container lcl-state { + description + "Local trace state"; + uses Cisco-IOS-XE-nwpi-types:nwpi-local-state; + } + leaf qos-mon { + type boolean; + description + "Enable QoS monitor"; + } + list mon-domain { + description + "Domain list to monitor"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-filter; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model, different trace models have different behaviors + and separate trace identifier space. Combination of trace model + and trace identifier can uniquely identify a trace."; + } + leaf-list vpn-list { + type uint16; + ordered-by user; + description + "SD-WAN VPN list"; + } + leaf agg-client-prefix { + type empty; + description + "Enable client prefix as a grouping factor in flexible aggregation"; + } + leaf agg-svr-prefix { + type empty; + description + "Enable server prefix as a grouping factor in flexible aggregation"; + } + leaf agg-src-sgt { + type empty; + description + "Enable source SGT as a grouping factor in flexible aggregation"; + } + leaf agg-dst-sgt { + type empty; + description + "Enable destination SGT as a grouping factor in flexible aggregation"; + } + leaf username { + type string; + description + "Username classified by Cisco identity service engine to filter traffic"; + } + leaf user-grp { + type string; + description + "User group classified by Cisco identity service engine to filter traffic"; + } + leaf src-sgt { + type uint16; + description + "Source security group tag to filter traffic"; + } + leaf dst-sgt { + type uint16; + description + "Destination security group tag to filter"; + } + leaf flow-mon { + type empty; + description + "Enable flow monitor to collect statistics of per application TCP and UDP flow count, + flow setup rate, and average flow living time."; + } + leaf pol-mon { + type empty; + description + "Enable SD-WAN policy monitor to collect statistics of per application + policy sequence match rate."; + } + leaf full-vis { + type empty; + description + "Enable full traffic visibility to process flexible aggregation on all traffic flows, + flexible aggregation only process sampled flows when this option disabled."; + } + list test { + description + "List of synthetic tests to execute for this trace. Besides monitoring user traffic, + each trace can specify multiple synthetic tests to targeted uniform resource locators, + then first hop device will generate synthetic traffics toward the targets, and those + traffics will be monitored by this trace as well."; + uses Cisco-IOS-XE-nwpi-types:nwpi-test; + } + leaf agg-user-name { + type empty; + description + "Enable destination user name as a grouping factor in flexible aggregation"; + } + leaf te-mon { + type empty; + description + "Enable ThousandEyes agent monitor to collect statistics of ThousandEyes synthetic + probes."; + } + container te-agent { + when 'boolean(../te-mon)'; + description + "ThousandEyes agent IP addresses to filter traffic"; + uses Cisco-IOS-XE-nwpi-types:nwpi-te-agent; + } + list net-id { + description + "List of network instance identity"; + uses Cisco-IOS-XE-nwpi-types:nwpi-net-identity; + } + leaf enable-cmd-header { + type boolean; + description + "Enable CMD header in SD-Routing"; + } + leaf-list trnspt-if-name { + type string; + ordered-by user; + description + "Transport interface list"; + } + } + + grouping nwpi-feature-trace { + description + "Feature trace"; + leaf name { + type string; + description + "Feature name"; + } + leaf feature-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-feature-type; + description + "Feature type"; + } + leaf dir { + type Cisco-IOS-XE-nwpi-oper:nwpi-feature-dir; + description + "Feature direction"; + } + leaf policy { + type string; + description + "Policy name"; + } + } + + grouping nwpi-event-entry { + description + "Entry of a network wide path insight event"; + leaf event-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-event-type; + description + "Type of the event"; + } + leaf packet-id { + type uint32; + description + "Packet identifier"; + } + } + + grouping packet-key { + description + "Key to index packet record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf packet-id { + type uint32; + description + "Packet identifier"; + } + } + + grouping packet-key-v2 { + description + "Key to index version 2 packet record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf packet-id { + type uint32; + description + "Packet identifier"; + } + } + + grouping nwpi-packet { + description + "Packet record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf flow-id { + type uint16; + description + "Flow identifier"; + } + leaf dir { + type Cisco-IOS-XE-nwpi-oper:nwpi-flow-dir; + description + "Flow direction this packet belongs to"; + } + leaf hop-idx { + type uint8; + description + "Hop index of flow"; + } + leaf app-recognized { + type boolean; + description + "Application recognized or not"; + } + list trace { + description + "List of feature traces"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-feature-trace; + } + leaf p-pkt-id { + type uint32; + description + "Parent packet identifier"; + } + list event { + description + "The flow event triggering capture of this packet record"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-event-entry; + } + leaf ttl { + type uint8; + description + "Time to live or hop limit value of this packet"; + } + leaf fwd-decision { + type Cisco-IOS-XE-nwpi-oper:nwpi-fwd-dec-flag; + description + "Forwarding decision maker"; + } + } + + grouping flow-key { + description + "Key to index flow record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf flow-id { + type uint16; + description + "Flow identifier"; + } + } + + grouping flow-key-v2 { + description + "Key to index version 2 flow record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf flow-id { + type uint16; + description + "Flow identifier"; + } + } + + grouping nwpi-nexthop { + description + "Nexthop detail info"; + leaf nexthop-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-nexthop-type; + description + "Nexthop type"; + } + leaf if-name { + when "(../nexthop-type[.!='nexthop-local-consumed' and .!='nexthop-invalid'])"; + type string; + description + "Input or output interface name"; + } + leaf local-color { + when "(../nexthop-type[.='nexthop-sdwan-session' or .='nexthop-sdwan-session-tloc-extension' or .='nexthop-nat-dia'])"; + type Cisco-IOS-XE-nwpi-oper:nwpi-color-type; + description + "SD-WAN local color"; + } + leaf remote-color { + when "(../nexthop-type[.='nexthop-sdwan-session' or .='nexthop-sdwan-session-tloc-extension'])"; + type Cisco-IOS-XE-nwpi-oper:nwpi-color-type; + description + "SD-WAN remote color"; + } + leaf encap { + when "(../nexthop-type[.='nexthop-sdwan-session' or .='nexthop-sdwan-session-tloc-extension'])"; + type Cisco-IOS-XE-nwpi-oper:nwpi-encap-type; + description + "SD-WAN tunnel encap"; + } + leaf remote-system-ip { + when "(../nexthop-type[.='nexthop-sdwan-session' or .='nexthop-sdwan-session-tloc-extension'])"; + type inet:ip-address; + description + "SD-WAN remote peer system IP"; + } + leaf net-id { + type uint32; + description + "SD-Routing DM-VPN tunnel network id"; + } + } + + grouping unicast-path { + description + "Network path info for unicast flows"; + leaf up-hop-idx { + type uint8; + description + "Upstream hop index"; + } + container up-ingress { + description + "Upstream ingress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + container up-egress { + description + "Upstream egress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + leaf down-hop-idx { + type uint8; + description + "Downstream hop index"; + } + container down-ingress { + description + "Downstream ingress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + container down-egress { + description + "Downstream egress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + } + + grouping nwpi-flow-metrics { + description + "Network metrics of a flow"; + leaf jitter-mean { + type uint32; + units "microseconds"; + description + "Jitter mean value"; + } + leaf delay-mean { + type uint32; + units "microseconds"; + description + "Delay mean value"; + } + } + + grouping nwpi-flow-base-stats { + description + "Basic statistics used in all cases"; + leaf total-pkts { + type uint64; + description + "Total packets count"; + } + leaf total-octets { + type uint64; + description + "Total octets count"; + } + leaf drop-pkts { + type uint64; + description + "Drop packets count"; + } + leaf drop-octets { + type uint64; + description + "Drop octets count"; + } + } + + grouping nwpi-flow-adv-stats { + description + "Advanced statistics only used in specific cases"; + leaf frag-pkts { + type uint64; + description + "Fragment packets count"; + } + leaf frag-octets { + type uint64; + description + "Fragment octets count"; + } + leaf punt-pkts { + type uint64; + description + "Punt packets count"; + } + leaf punt-octets { + type uint64; + description + "Punt octets count"; + } + leaf recycle-pkts { + type uint64; + description + "Recycle packets count"; + } + leaf recycle-octets { + type uint64; + description + "Recycle octets count"; + } + leaf repl-pkts { + type uint64; + description + "Replicate packets count"; + } + leaf repl-octets { + type uint64; + description + "Replicate octets count"; + } + } + + grouping nwpi-qos-stats { + description + "QoS statistics"; + leaf q-id { + type uint32; + description + "QoS queue identifier"; + } + leaf q-lim-pkts { + type uint32; + description + "QoS queue limit in packets count"; + } + leaf q-d-max-pkts { + type uint32; + description + "QoS queue maximum depth in packets count"; + } + leaf q-d-min-pkts { + type uint32; + description + "QoS queue minimum depth in packets count"; + } + leaf q-d-avg-pkts { + type uint32; + description + "QoS queue average depth in packets count"; + } + } + + grouping nwpi-drop-stats { + description + "Per cause drop statistics"; + leaf cause { + type Cisco-IOS-XE-nwpi-oper:nwpi-drop-cause; + description + "Drop cause"; + } + leaf per-cause-pkts { + type uint64; + description + "Per cause drop packets count"; + } + } + + grouping nwpi-flow-insight { + description + "Insight on flow status"; + leaf fif-dpi-not-classified { + type boolean; + description + "First in flow packet not classified by DPI"; + } + leaf sla-violated { + type boolean; + description + "SLA criteria violated"; + } + leaf qos-congested { + type boolean; + description + "QoS queue congested"; + } + leaf path-changed { + type boolean; + description + "Flow forwarding next hop changed"; + } + leaf tcp-flow-reset { + type boolean; + description + "TCP flow received a packet with TCP reset flag in TCP header"; + } + leaf nat-translated { + type boolean; + description + "Flow tuple has been translated by NAT"; + } + leaf policy-bypassed { + type boolean; + description + "Flow bypassed SD-WAN policy configured action"; + } + leaf wan-color-asym { + type boolean; + description + "Flow egress WAN color asymmetric with return traffic ingress WAN color"; + } + leaf dpi-policy-used { + type boolean; + description + "SD-WAN policy used DPI classification to match flows"; + } + leaf appqoe-diverted { + type boolean; + description + "Flow diverted by AppQoE service"; + } + leaf utd-diverted { + type boolean; + description + "Flow diverted by unified threat defense"; + } + leaf svr-no-resp { + type boolean; + description + "TCP flow server no response"; + } + leaf high-drop-rate { + type boolean; + description + "Flow has high drop rate"; + } + } + + grouping nwpi-flow { + description + "Flow record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf src-ip { + type inet:ip-address; + description + "Source IP"; + } + leaf dst-ip { + type inet:ip-address; + description + "Destination IP"; + } + leaf src-port { + type uint16; + description + "Source port"; + } + leaf dst-port { + type uint16; + description + "Destination port"; + } + leaf protocol { + type uint8; + description + "IP protocol field in IP header"; + } + leaf up-dscp { + type uint8; + description + "Upstream DSCP"; + } + leaf down-dscp { + type uint8; + description + "Downstream DSCP"; + } + leaf app-name { + type string; + description + "Application name"; + } + leaf app-group { + type string; + description + "Application group"; + } + leaf category { + type Cisco-IOS-XE-nwpi-oper:nwpi-ms-category; + description + "Office 365 endpoint category"; + } + leaf is-fin { + type boolean; + description + "Is the flow in final state after aged out or trace stopped"; + } + leaf flow-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-flow-type; + description + "Flow type"; + } + list uni-path { + when "(../flow-type = 'flow-unicast')"; + description + "Unicast flow network path info"; + uses Cisco-IOS-XE-nwpi-oper:unicast-path; + } + leaf mcast-hop-idx { + when "(../flow-type = 'flow-multicast')"; + type uint8; + description + "Multicast hop index"; + } + container mcast-ingress { + when "(../flow-type = 'flow-multicast')"; + description + "Multicast ingress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + list mcast-egress-nexthop { + when "(../flow-type = 'flow-multicast')"; + description + "Multicast egress info"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + leaf asymmetry-detected { + type boolean; + description + "Asymmetry routing detected or not"; + } + leaf loop-detected { + type boolean; + description + "Routing loop detected or not"; + } + leaf-list up-pkt { + type uint32; + ordered-by user; + description + "Upstream packets belong to this flow"; + } + leaf-list down-pkt { + when "(../flow-type = 'flow-unicast')"; + type uint32; + ordered-by user; + description + "Downstream packets belong to this flow"; + } + leaf-list repl-pkt { + when "(../flow-type = 'flow-multicast')"; + type uint32; + ordered-by user; + description + "Multicast replicated packets belong to this flow"; + } + container up-ingress-metrics { + description + "Upstream ingress metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + container down-ingress-metrics { + when "(../flow-type = 'flow-unicast')"; + description + "Downstream ingress metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + container up-local-metrics { + description + "Upstream local metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + container down-local-metrics { + when "(../flow-type = 'flow-unicast')"; + description + "Downstream local metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + container up-base-stats { + description + "Upstream base statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container down-base-stats { + when "(../flow-type = 'flow-unicast')"; + description + "Downstream base statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + leaf stats-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-stats-type; + description + "Statistics type"; + } + container up-adv-stats { + when "(../stats-type = 'stats-advanced')"; + description + "Upstream advanced statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-adv-stats; + } + container down-adv-stats { + when "(../flow-type = 'flow-unicast') and (../stats-type = 'stats-advanced')"; + description + "Downstream advanced statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-adv-stats; + } + leaf art-snd { + type uint32; + units "milliseconds"; + description + "ART server network delay"; + } + leaf art-cnd { + type uint32; + units "milliseconds"; + description + "ART client network delay"; + } + container up-qos-stats { + description + "Upstream QoS statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-qos-stats; + } + container down-qos-stats { + description + "Downstream QoS statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-qos-stats; + } + list up-drop { + description + "Upstream per cause drop statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-drop-stats; + } + list down-drop { + description + "Downstream per cause drop statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-drop-stats; + } + list up-last-event { + description + "Last event seen on upstream of this flow"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-event-entry; + } + list down-last-event { + description + "Last event seen on downstream of this flow"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-event-entry; + } + container up-insight { + description + "Insight on flow upstream status"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-insight; + } + container down-insight { + description + "Insight on flow downstream status"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-insight; + } + leaf is-first { + type boolean; + description + "Is this device first to see this flow"; + } + leaf-list domain { + type uint16; + ordered-by user; + description + "List of domains this flow potentially belongs to"; + } + leaf up-mon-id { + type uint8; + description + "Current upstream monitor identifier"; + } + leaf down-mon-id { + type uint8; + description + "Current downstream monitor identifier"; + } + container up-mon-intvl-stats { + description + "Current upstream monitor interval statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container down-mon-intvl-stats { + description + "Current downstream monitor interval statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + leaf-list up-ttl { + type uint8; + ordered-by user; + description + "Upstream time to live or hop limit value of this flow"; + } + leaf-list down-ttl { + type uint8; + ordered-by user; + description + "Downstream time to live or hop limit value of this flow"; + } + leaf domain-src { + type Cisco-IOS-XE-nwpi-oper:nwpi-domain-src; + description + "Domain name data source"; + } + leaf domain-name { + type string; + description + "Domain name or host name"; + } + leaf up-fwd-decision { + type Cisco-IOS-XE-nwpi-oper:nwpi-fwd-dec-flag; + description + "Upstream forwarding decision maker"; + } + leaf down-fwd-decision { + type Cisco-IOS-XE-nwpi-oper:nwpi-fwd-dec-flag; + description + "Downstream forwarding decision maker"; + } + leaf sdwan-label { + type uint32; + description + "Upstream egress SDWAN label"; + } + leaf last-report-ts { + type yang:date-and-time; + description + "Last report timestamp"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf src-sgt { + type uint16; + description + "Source SGT"; + } + leaf dst-sgt { + type uint16; + description + "Destination SGT"; + } + leaf test-id { + type uint16; + description + "Test identifier"; + } + leaf username { + type string; + description + "Username"; + } + leaf te-probe { + type boolean; + description + "ThousandEyes agent probe"; + } + } + + grouping domain-key { + description + "Key to index domain record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + } + + grouping domain-key-v2 { + description + "Key to index version 2 domain record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + } + + grouping nwpi-domain-res { + description + "Domain resolution from a certain path"; + container nexthop { + description + "DNS request egress nexthop"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-nexthop; + } + leaf state { + type Cisco-IOS-XE-nwpi-oper:nwpi-domain-state; + description + "DNS resolution state"; + } + leaf-list addr { + type inet:ip-address; + ordered-by user; + description + "DNS resolved IP addresses list"; + } + leaf trans-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-domain-dns-trans-type; + description + "DNS session transport type"; + } + leaf req-times { + type uint32; + description + "Count of DNS requests on this path in this report interval"; + } + leaf ttl { + type uint32; + description + "DNS resolution TTL"; + } + leaf is-redi { + type boolean; + description + "Is DNS request redirected on this path"; + } + leaf redi-svr { + type inet:ip-address; + description + "DNS server to redirect to"; + } + } + + grouping nwpi-domain { + description + "Domain record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf-list server { + type inet:ip-address; + ordered-by user; + description + "DNS servers list"; + } + leaf total-req-times { + type uint32; + description + "Count of DNS requests on all paths for all times"; + } + leaf app-name { + type string; + description + "Application name"; + } + leaf app-group { + type string; + description + "Application group name"; + } + list last-event { + description + "Last event seen on this domain"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-event-entry; + } + leaf app-mon-enabled { + type boolean; + description + "Domain application monitor enabled"; + } + list resolution { + description + "Domain per path resolutions list"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-domain-res; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + } + + grouping ip-domain-key { + description + "Key to index IP domain record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf addr { + type inet:ip-address; + description + "IP address"; + } + } + + grouping ip-domain-key-v2 { + description + "Key to index version 2 IP domain record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf addr { + type inet:ip-address; + description + "IP address"; + } + } + + grouping nwpi-rsrc-hdl { + description + "Resource handle"; + leaf w0 { + type uint64; + description + "Word 0"; + } + leaf w1 { + type uint64; + description + "Word 1"; + } + } + + grouping nwpi-ip-domain-lcl-state { + description + "IP to domain mapping record local state"; + leaf hash { + type uint32; + description + "Hash value"; + } + container resource-hdl { + description + "Resource handle"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-rsrc-hdl; + } + } + + grouping nwpi-ip-domain { + description + "IP to domain mapping record"; + list domain { + description + "IP's domain identifier list"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-info; + } + container local-state { + description + "IP to domain mapping record local state"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-ip-domain-lcl-state; + } + } + + grouping flow-agg-mtrs { + description + "Per path metrics to aggregated flows"; + container uni-path { + description + "Unicast path information"; + uses Cisco-IOS-XE-nwpi-oper:unicast-path; + } + leaf-list flow { + type uint16; + ordered-by user; + description + "Flows sharing this path"; + } + leaf agg-snd { + type uint32; + units "milliseconds"; + description + "ART server network delay"; + } + leaf agg-cnd { + type uint32; + units "milliseconds"; + description + "ART client network delay"; + } + leaf sdwan-label { + type uint32; + description + "Upstream egress SDWAN label"; + } + } + + grouping nwpi-flow-agg { + description + "Aggregated flows"; + leaf-list agg-flow { + type uint16; + ordered-by user; + description + "Aggregated flows id list"; + } + list agg-metrics { + description + "Aggregated per path metrics list"; + uses Cisco-IOS-XE-nwpi-oper:flow-agg-mtrs; + } + } + + grouping domain-agg-key { + description + "Key to index domain aggregate record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + } + + grouping domain-agg-key-v2 { + description + "Key to index version 2 domain aggregate record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + } + + grouping nwpi-domain-agg { + description + "Aggregate record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + container domain-agg { + description + "Flow info aggregated by domain"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-agg; + } + leaf-list server { + type inet:ip-address; + ordered-by user; + description + "DNS servers list"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + } + + grouping qos-mon-key { + description + "Key to index qos monitor record"; + leaf vpn-id { + type uint16; + description + "VPN identifier"; + } + leaf app-id { + type uint32; + description + "APP identifier"; + } + leaf queue-id { + type uint32; + description + "Queue identifier"; + } + } + + grouping nwpi-qos-mon { + description + "QoS monitor record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf app-name { + type string; + description + "APP name"; + } + leaf class-name { + type string; + description + "Class name"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf delta-drops { + type uint32; + description + "Delta drop packet counter"; + } + leaf delta-packets { + type uint64; + description + "Delta forward packet counter"; + } + leaf delta-bytes { + type uint64; + description + "Delta forward byte counter"; + } + leaf total-drops { + type uint32; + description + "Total drop packet counter"; + } + leaf total-packets { + type uint64; + description + "Total forward packet counter"; + } + leaf total-bytes { + type uint64; + description + "Total forward byte counter"; + } + leaf export-time { + type yang:date-and-time; + description + "Absolute time of the export record event"; + } + } + + grouping agg-key { + description + "Key to index flexible aggregation record (deprecated)"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf agg-id { + type uint16; + description + "Aggregation identifier"; + } + } + + grouping agg-key-v2 { + description + "Key to index version 2 flexible aggregation record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf agg-id { + type uint16; + description + "Aggregation identifier"; + } + } + + grouping nwpi-agg-lcl-state { + description + "Flexible aggregation record local state"; + leaf report-cnt { + type uint32; + description + "Report count"; + } + leaf hash { + type uint32; + description + "Hash value"; + } + container resource-hdl { + description + "Resource handle"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-rsrc-hdl; + } + leaf last-report-ts { + type yang:date-and-time; + description + "Last report timestamp"; + } + } + + grouping nwpi-insight-stats { + description + "Flow insight statistics"; + leaf num-inspected-flows { + type uint32; + description + "Number of inspected flows"; + } + leaf asymmetry-detected-flows { + type uint32; + description + "Asymmetry routing detected flows"; + } + leaf fif-not-classified-flows { + type uint32; + description + "First in flow packet not classified by DPI flows"; + } + leaf sla-violated-flows { + type uint32; + description + "SLA criteria violated flows"; + } + leaf qos-congested-flows { + type uint32; + description + "QoS queue congested flows"; + } + leaf path-changed-flows { + type uint32; + description + "Forwarding next hop changed flows"; + } + leaf tcp-flow-reset-flows { + type uint32; + description + "TCP flows received a packet with TCP reset flag in TCP header"; + } + leaf nat-translated-flows { + type uint32; + description + "Flows have been translated by NAT"; + } + leaf policy-bypassed-flows { + type uint32; + description + "Bypassed SD-WAN policy configured action flows"; + } + leaf wan-color-asym-flows { + type uint32; + description + "Egress WAN color asymmetric with return traffic ingress WAN color flows"; + } + leaf appqoe-diverted-flows { + type uint32; + description + "Diverted by AppQoE service flows"; + } + leaf utd-diverted-flows { + type uint32; + description + "Diverted by unified threat defense flows"; + } + leaf svr-no-resp-flows { + type uint32; + description + "TCP server no response flows"; + } + leaf high-drop-rate-flows { + type uint32; + description + "Flows with high drop rate"; + } + } + + grouping nwpi-agg-mtrs { + description + "Per path metrics to flexible aggregation record"; + container uni-path { + description + "Unicast path information"; + uses Cisco-IOS-XE-nwpi-oper:unicast-path; + } + leaf sdwan-label { + type uint32; + description + "Upstream egress SDWAN label"; + } + leaf up-dscp { + type uint8; + description + "Upstream DSCP"; + } + leaf down-dscp { + type uint8; + description + "Downstream DSCP"; + } + container local-state { + description + "Flexible aggregation record local state"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-agg-lcl-state; + } + leaf total-num-flows { + type uint64; + description + "Total number of observed flows"; + } + leaf total-num-fin-flows { + type uint64; + description + "Total number of finished flows"; + } + leaf intvl-num-fin-flows { + type uint32; + description + "Number of finished flows in current report interval"; + } + leaf intvl-num-active-flows { + type uint32; + description + "Number of active flows in current report interval"; + } + container up-base-stats { + description + "Upstream base statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container down-base-stats { + description + "Downstream base statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container up-intvl-stats { + description + "Current upstream report interval statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container down-intvl-stats { + description + "Current downstream report interval statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-base-stats; + } + container up-adv-stats { + description + "Upstream advanced statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-adv-stats; + } + container down-adv-stats { + description + "Downstream advanced statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-adv-stats; + } + list up-drop { + description + "Upstream per cause drop statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-drop-stats; + } + list down-drop { + description + "Downstream per cause drop statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-drop-stats; + } + container up-insight-stats { + description + "Upstream flow insight statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-insight-stats; + } + container down-insight-stats { + description + "Downstream flow insight statistics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-insight-stats; + } + container up-ingress-metrics { + description + "Upstream ingress metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + container down-ingress-metrics { + description + "Downstream ingress metrics"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow-metrics; + } + leaf art-snd { + type uint32; + units "milliseconds"; + description + "ART server network delay"; + } + leaf art-cnd { + type uint32; + units "milliseconds"; + description + "ART client network delay"; + } + } + + grouping nwpi-agg { + description + "Flexible aggregation record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf is-first { + type boolean; + description + "Is this device first to see this aggregation"; + } + leaf app-name { + type string; + description + "Application name"; + } + leaf app-group { + type string; + description + "Application group"; + } + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf dns-server { + type inet:ip-address; + description + "DNS server IP"; + } + leaf client-ip { + type inet:ip-address; + description + "Client IP"; + } + container ctrl-hdl { + description + "Control block handle"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-rsrc-hdl; + } + leaf last-report-ts { + type yang:date-and-time; + description + "Last report timestamp"; + } + leaf pre-mon-id { + type uint8; + description + "Previous monitor identifier"; + } + leaf cur-mon-id { + type uint8; + description + "Current monitor identifier"; + } + list agg-metric { + description + "Aggregated per path metric list"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-agg-mtrs; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf client-prefix { + type inet:ip-prefix; + description + "Client prefix"; + } + leaf svr-prefix { + type inet:ip-prefix; + description + "Server prefix"; + } + leaf src-sgt { + type uint16; + description + "Source SGT"; + } + leaf dst-sgt { + type uint16; + description + "Destination SGT"; + } + leaf user-name { + type string; + description + "Identity user name"; + } + } + + grouping nwpi-rt-key-v2 { + description + "Key to index version 2 route record"; + leaf trace-id { + type uint16; + description + "Trace identifier"; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model"; + } + leaf table-id { + type uint32; + description + "Routing table identifier"; + } + leaf route { + type inet:ip-prefix; + description + "Routing prefix"; + } + } + + grouping nwpi-route { + description + "Route record"; + leaf hostname { + type string; + description + "Hostname"; + } + leaf system-ip { + type inet:ip-address; + description + "SD-WAN system IP"; + } + leaf vrf-id { + type uint16; + description + "Virtual routing and forwarding identifier"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf last-report-ts { + type yang:date-and-time; + description + "Last report timestamp"; + } + leaf mrf-inter-region { + type empty; + description + "Prefix is published across different regions"; + } + leaf mrf-to-core-region { + type empty; + description + "Next hop of this prefix is through core region"; + } + leaf mrf-has-sec-region-path { + type empty; + description + "This prefix has a candidate path through secondary region"; + } + } + + grouping app-hosting-key { + description + "Key to index application hosting record"; + leaf vpg-name { + type string; + description + "Virtual port group name"; + } + leaf addr { + type inet:ip-address; + description + "Application IP address"; + } + } + + grouping nwpi-app-hosting-lcl-state { + description + "Application hosting record local state"; + leaf hash { + type uint32; + description + "Hash value"; + } + container resource-hdl { + description + "Resource handle"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-rsrc-hdl; + } + } + + grouping nwpi-app-hosting { + description + "Application hosting record"; + leaf app-type { + type Cisco-IOS-XE-nwpi-oper:nwpi-app-hosting-type; + description + "Application type"; + } + leaf refcount { + type uint32; + description + "Reference count"; + } + container local-state { + description + "Application hosting record local state"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-app-hosting-lcl-state; + } + } + + container nwpi-oper-data { + config false; + description + "Network wide path insight operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list nwpi-packet { + key "trace-id packet-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-packet; + uses Cisco-IOS-XE-nwpi-oper:packet-key; + } + list nwpi-packet-v2 { + key "trace-id model packet-id"; + description + "Network wide path insight version 2 packets"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-packet; + uses Cisco-IOS-XE-nwpi-oper:packet-key-v2; + } + list nwpi-flow { + key "trace-id flow-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow; + uses Cisco-IOS-XE-nwpi-oper:flow-key; + } + list nwpi-flow-v2 { + key "trace-id model flow-id"; + description + "Network wide path insight version 2 flows"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-flow; + uses Cisco-IOS-XE-nwpi-oper:flow-key-v2; + } + list nwpi-trace { + key "trace-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-trace; + } + list nwpi-trace-v2 { + key "trc-id trc-mod"; + description + "Network wide path insight version 2 traces"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-trace; + uses Cisco-IOS-XE-nwpi-types:trace-key; + } + list nwpi-domain { + key "trace-id domain-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-domain; + uses Cisco-IOS-XE-nwpi-oper:domain-key; + } + list nwpi-domain-v2 { + key "trace-id model domain-id"; + description + "Network wide path insight version 2 domains"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-domain; + uses Cisco-IOS-XE-nwpi-oper:domain-key-v2; + } + list nwpi-ip-domain { + key "trace-id addr"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-ip-domain; + uses Cisco-IOS-XE-nwpi-oper:ip-domain-key; + } + list nwpi-ip-domain-v2 { + key "trace-id model vpn-id addr"; + description + "Network wide path insight version 2 IP to domain mapping"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-ip-domain; + uses Cisco-IOS-XE-nwpi-oper:ip-domain-key-v2; + } + list nwpi-domain-agg { + key "trace-id domain-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-domain-agg; + uses Cisco-IOS-XE-nwpi-oper:domain-agg-key; + } + list nwpi-domain-agg-v2 { + key "trace-id model domain-id"; + description + "Network wide path insight version 2 aggregate flows by domain"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-domain-agg; + uses Cisco-IOS-XE-nwpi-oper:domain-agg-key-v2; + } + list nwpi-qos-mon { + key "vpn-id app-id queue-id"; + description + "Network wide path insight QoS monitor"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-qos-mon; + uses Cisco-IOS-XE-nwpi-oper:qos-mon-key; + } + list nwpi-agg { + key "trace-id agg-id"; + status deprecated; + description + "This list is deprecated because it does not support trace model as + key to lookup record, please use new version 2 list instead."; + uses Cisco-IOS-XE-nwpi-oper:nwpi-agg; + uses Cisco-IOS-XE-nwpi-oper:agg-key; + } + list nwpi-agg-v2 { + key "trace-id model agg-id"; + description + "Network wide path insight version 2 flexible aggregation"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-agg; + uses Cisco-IOS-XE-nwpi-oper:agg-key-v2; + } + list nwpi-route-v2 { + key "trace-id model table-id route"; + description + "Network wide path insight version 2 routes"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-route; + uses Cisco-IOS-XE-nwpi-oper:nwpi-rt-key-v2; + } + list nwpi-app-hosting { + key "vpg-name addr"; + description + "Network wide path insight application hosting records"; + uses Cisco-IOS-XE-nwpi-oper:nwpi-app-hosting; + uses Cisco-IOS-XE-nwpi-oper:app-hosting-key; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-rpc.yang new file mode 100644 index 000000000..1bf9ca737 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-rpc.yang @@ -0,0 +1,449 @@ +module Cisco-IOS-XE-nwpi-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nwpi-rpc"; + prefix Cisco-IOS-XE-nwpi-rpc; + + import Cisco-IOS-XE-nwpi-types { + prefix Cisco-IOS-XE-nwpi-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + network wide path insight RPC. + Copyright (c) 2020-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added enable CMD header flag in trace start message. + - Added transport interface name. + - Added network instance identity"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2024-03-01 { + description + "- Added ThousandEyes support."; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2023-11-01 { + description + "- Added user identity support."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-07-01 { + description + "- Added trace model support. + - Added multiple VPN support. + - Added new capability support. + - Added synthetic test support."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "Added QoS monitor support."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "1, Added new filters to match source/destination prefixes, + application group, and domain list. + 2, Added new trace options to optionally have ART visibility, + application visibility, direct internet access visibility, + HUB WAN ingress traffic visibility, and flow sampling. + 3, Added domain monitor mode support. + 4, Change max vpn id from 65530 to 65531."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef nwpi-control-type { + type enumeration { + enum nwpi-enable { + value 0; + description + "Enable network wide path insight"; + } + enum nwpi-disable { + value 1; + description + "Disable network wide path insight"; + } + } + description + "Network wide path insight control type"; + } + + grouping nwpi-trace { + description + "Trace identifier, action and filters"; + leaf trace-id { + when "(../action[.='action-start-trace' or .='action-stop-trace' or .='action-clear-trace' or .='action-update-policy'])"; + type uint16 { + range "1..65535"; + } + mandatory true; + description + "Global unique trace identifier"; + } + leaf action { + type Cisco-IOS-XE-nwpi-types:nwpi-action-type; + must ".!='action-enable-nwpi' and .!='action-disable-nwpi'" { + error-message "Please use device-nwpi-global RPC instead"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Trace start/stop/clean actions"; + } + leaf target { + when "(../action = 'action-start-trace')"; + type Cisco-IOS-XE-nwpi-types:nwpi-target-type; + mandatory true; + description + "Target types"; + } + leaf vpn-id { + when "(../action = 'action-start-trace') and (../target = 'target-vpn-id')"; + type uint32 { + range "0..65531"; + } + mandatory true; + description + "SD-WAN VPN identifier"; + } + leaf vrf-name { + when "(../action = 'action-start-trace') and (../target = 'target-vrf-name')"; + type string; + mandatory true; + description + "VRF name"; + } + leaf src-ip { + type inet:ip-address; + description + "Source IP to filter"; + } + leaf dst-ip { + type inet:ip-address; + description + "Destination IP to filter"; + } + leaf app { + type string; + description + "Application to filter"; + } + leaf src-if { + type string; + description + "Source interface to filter"; + } + leaf protocol { + type uint8; + description + "IP protocol field in IP header to filter"; + } + leaf src-port { + type uint16; + description + "Source port to filter"; + } + leaf dst-port { + type uint16; + description + "Destination port to filter"; + } + leaf dscp-is-valid { + type boolean; + description + "Indicate DSCP filter was configured"; + } + leaf dscp { + when "(../dscp-is-valid = 'true')"; + type uint8 { + range "0..63"; + } + mandatory true; + description + "DSCP value to filter"; + } + leaf duration { + type uint16 { + range "1..1440"; + } + units "minutes"; + description + "Option to change default trace duration of 60 minutes. + The duration value is in minutes and in range between + 1 and 1440 minutes. A trace will auto stop if specified + duration expired. If duration not specified and user didn't + issue on-demand stop action, the trace will auto stop in + 60 minutes"; + } + leaf src-pfx { + type inet:ip-address; + description + "Source prefix to filter"; + } + leaf src-pfx-len { + type uint8; + units "bits"; + description + "Source prefix length to filter"; + } + leaf dst-pfx { + type inet:ip-address; + description + "Destination prefix to filter"; + } + leaf dst-pfx-len { + type uint8; + units "bits"; + description + "Destination prefix length to filter"; + } + leaf app-grp { + type string; + description + "Application grouped by vendors to filter"; + } + leaf domain-mon { + type boolean; + description + "Enable domain monitor"; + } + leaf art-vis { + type boolean; + description + "Enable ART visibility"; + } + leaf app-vis { + type boolean; + description + "Enable application visibility"; + } + leaf dia-vis { + type boolean; + description + "Enable direct internet access visibility"; + } + leaf hub-wan-vis { + type boolean; + description + "Enable HUB WAN ingress visibility"; + } + leaf sampling { + type boolean; + description + "Enable trace flow sampling"; + } + leaf spl-intvl { + type uint32 { + range "1..86400000"; + } + units "milliseconds"; + description + "Option to change default trace flow sample interval of + 60000 milliseconds. The sample interval value is in milliseconds + and in range between 1 and 86400000 milliseconds. Only one flow + will be traced within a given interval"; + } + list domain { + description + "Domain list to filter"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-filter; + } + leaf qos-mon { + type boolean; + description + "Enable QoS monitor"; + } + list mon-domain { + description + "Domain list to monitor"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-filter; + } + leaf model { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Trace model, different trace models have different behaviors + and separate trace identifier space. Combination of trace model + and trace identifier can uniquely identify a trace."; + } + leaf-list vpn-list { + type uint16; + ordered-by user; + description + "SD-WAN VPN list"; + } + leaf agg-client-prefix { + type boolean; + description + "Enable client prefix as a grouping factor in flexible aggregation"; + } + leaf agg-svr-prefix { + type boolean; + description + "Enable server prefix as a grouping factor in flexible aggregation"; + } + leaf agg-src-sgt { + type boolean; + description + "Enable source SGT as a grouping factor in flexible aggregation"; + } + leaf agg-dst-sgt { + type boolean; + description + "Enable destination SGT as a grouping factor in flexible aggregation"; + } + leaf username { + type string; + description + "Username classified by Cisco identity service engine to filter traffic"; + } + leaf user-grp { + type string; + description + "User group classified by Cisco identity service engine to filter traffic"; + } + leaf src-sgt { + type uint16; + description + "Source security group tag to filter traffic"; + } + leaf dst-sgt { + type uint16; + description + "Destination security group tag to filter"; + } + leaf flow-mon { + type boolean; + description + "Enable flow monitor to collect statistics of per application TCP and UDP flow count, + flow setup rate, and average flow living time."; + } + leaf pol-mon { + type boolean; + description + "Enable SD-WAN policy monitor to collect statistics of per application + policy sequence match rate."; + } + leaf full-vis { + type boolean; + description + "Enable full traffic visibility to process flexible aggregation on all traffic flows, + flexible aggregation only process sampled flows when this option disabled."; + } + list test { + description + "List of synthetic tests to execute for this trace. Besides monitoring user traffic, + each trace can specify multiple synthetic tests to targeted uniform resource locators, + then first hop device will generate synthetic traffics toward the targets, and those + traffics will be monitored by this trace as well."; + uses Cisco-IOS-XE-nwpi-types:nwpi-test; + } + leaf agg-user-name { + type boolean; + description + "Enable username as a grouping factor in flexible aggregation"; + } + leaf te-mon { + type boolean; + description + "Enable ThousandEyes agent monitor to collect statistics of ThousandEyes synthetic + probes."; + } + container te-agent { + when 'boolean(../te-mon)'; + description + "ThousandEyes agent IP addresses to filter traffic"; + uses Cisco-IOS-XE-nwpi-types:nwpi-te-agent; + } + list net-id { + description + "List of network instance identity"; + uses Cisco-IOS-XE-nwpi-types:nwpi-net-identity; + } + leaf enable-cmd-header { + type boolean; + description + "Enable CMD header in SD-Routing"; + } + leaf-list trnspt-if-name { + type string; + ordered-by user; + description + "Transport intf list"; + } + } + + grouping nwpi-global { + description + "Network wide path insight global control"; + leaf control { + type Cisco-IOS-XE-nwpi-rpc:nwpi-control-type; + mandatory true; + description + "Global enable/disable control"; + } + } + + rpc device-nwpi { + description + "Device network wide path insight RPC"; + input { + uses Cisco-IOS-XE-nwpi-rpc:nwpi-trace; + } + } + + rpc device-nwpi-global { + description + "Device network wide path insight global control RPC"; + input { + uses Cisco-IOS-XE-nwpi-rpc:nwpi-global; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-types.yang new file mode 100644 index 000000000..a9b009e00 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-nwpi-types.yang @@ -0,0 +1,373 @@ +module Cisco-IOS-XE-nwpi-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-nwpi-types"; + prefix Cisco-IOS-XE-nwpi-types; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + network wide path insight types. + Copyright (c) 2020-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added network instance for domain information type. + - Added network instance for test type. + - Added new type network instance identity."; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2024-03-01 { + description + "- Added ThousandEyes support."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-11-01 { + description + "- Added username and user group in synthetic test."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-07-01 { + description + "- Added trace model support. + - Added synthetic test support."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "1, the option to update trace filter without changing trace mode. + 2, added domain info, domain filter and local state define."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef nwpi-action-type { + type enumeration { + enum action-start-trace { + value 0; + description + "Start trace"; + } + enum action-stop-trace { + value 1; + description + "Stop trace"; + } + enum action-clear-trace { + value 2; + description + "Clear trace data"; + } + enum action-enable-nwpi { + value 3; + description + "Enable network wide path insight"; + } + enum action-disable-nwpi { + value 4; + description + "Disable network wide path insight"; + } + enum action-update-policy { + value 5; + description + "Update trace policy"; + } + } + description + "Network wide path insight action type"; + } + + typedef nwpi-target-type { + type enumeration { + enum target-vpn-id { + value 0; + description + "SD-WAN VPN identifier type"; + } + enum target-vrf-name { + value 1; + description + "VRF name type"; + } + } + description + "Network wide path insight target type"; + } + + typedef nwpi-trace-mod { + type enumeration { + enum mod-none { + value 0; + description + "None trace model"; + } + enum mod-manual { + value 1; + description + "Manual trace model"; + } + enum mod-auto-on { + value 2; + description + "Auto-On trace model"; + } + enum mod-test-only { + value 3; + description + "Test only trace model"; + } + enum mod-ext1 { + value 4; + description + "Extension 1 trace model"; + } + enum mod-ext2 { + value 5; + description + "Extension 2 trace model"; + } + enum mod-ext3 { + value 6; + description + "Extension 3 trace model"; + } + enum mod-ext4 { + value 7; + description + "Extension 4 trace model"; + } + } + description + "Network wide path insight trace model"; + } + + grouping nwpi-domain-info { + description + "Domain information"; + leaf domain-id { + type uint16; + description + "Domain identifier"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the Network instance type is net-inst-default, then name is not meaningful"; + } + } + + grouping nwpi-domain-filter { + description + "Internet domain and its host addresses"; + container info { + description + "Domain information"; + uses Cisco-IOS-XE-nwpi-types:nwpi-domain-info; + } + leaf-list host { + type inet:ip-address; + ordered-by user; + description + "List of hosts belong to the domain"; + } + } + + grouping nwpi-vpg-intf { + description + "Virtual port group interfaces"; + leaf vpg-name { + type string; + description + "Virtual port group name"; + } + leaf-list app-addr { + type inet:ip-address; + ordered-by user; + description + "List of appliance addresses mapped to virtual port group"; + } + } + + grouping nwpi-lcl-te-agent { + description + "Local hosted ThousandEyes agent"; + list vpg-intf { + description + "List of virtual port group interfaces used by local ThousandEyes agent"; + uses Cisco-IOS-XE-nwpi-types:nwpi-vpg-intf; + } + } + + grouping nwpi-local-state { + description + "Local trace state"; + leaf-list vpn { + type uint16; + ordered-by user; + description + "List of VPN where trace is running on"; + } + container local-agent { + description + "Local hosted ThousandEyes agent"; + uses Cisco-IOS-XE-nwpi-types:nwpi-lcl-te-agent; + } + } + + grouping nwpi-test { + description + "Network wide path insight synthetic test"; + leaf test-id { + type uint16; + description + "Test identifier"; + } + leaf vpn-id { + type uint16; + description + "SD-WAN VPN identifier"; + } + leaf test-intvl { + type uint16; + units "minutes"; + description + "Test interval (minutes)"; + } + leaf target-url { + type string; + description + "Target URL"; + } + leaf dns-svr { + type inet:ip-address; + description + "DNS server"; + } + leaf dscp { + type uint8; + description + "DSCP value to test"; + } + leaf username { + type string; + description + "Source identity username"; + } + leaf user-grp { + type string; + description + "Source identity user group"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type"; + } + leaf ni-name { + type string; + description + "Network instance name"; + } + } + + grouping trace-key { + description + "Key to index trace record"; + leaf trc-id { + type uint16; + description + "Trace identifier"; + } + leaf trc-mod { + type Cisco-IOS-XE-nwpi-types:nwpi-trace-mod; + description + "Network wide path insight trace model"; + } + } + + grouping nwpi-te-agent { + description + "ThousandEyes agent information"; + leaf-list agent-addr { + type inet:ip-address; + ordered-by user; + description + "List of IP addresses configured on ThousandEyes agent"; + } + } + + grouping nwpi-net-identity { + description + "Network instance identity"; + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + leaf ni-name { + type string; + description + "Network instance name. If the Network instance type is net-inst-default, then name is not meaningful"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-object-group.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-object-group.yang new file mode 100644 index 000000000..550df6b26 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-object-group.yang @@ -0,0 +1,2246 @@ +module Cisco-IOS-XE-object-group { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-object-group"; + prefix ios-og; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Object Group Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added knob option and enable leaf"; + cisco-semver:module-version "3.4.0"; + } + revision 2024-03-01 { + description + "- Added udp ipv6 and tcp leaves to v6 service og model"; + cisco-semver:module-version "3.3.0"; + } + revision 2023-11-01 { + description + "- New v6 service OG model"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Deprecated tag and introduced tags as leaf-list for SGT (object-group security)"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-11-01 { + description + "-Added new containers for udp-src-dst-port-list with operators"; + cisco-semver:module-version "3.0.1"; + } + revision 2021-03-01 { + description + "- Added new containers for TCP port list + - Added support for tcp source port and range list + - Added new containers for UDP port list, source port list and range list + - Added new containers for TCP-UDP port list + - Added support for tcp-udp source port list and range list configuration without operator"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-11-01 { + description + "- Added support of Geolocation Object Group for 17.4.1"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added support for FQDN ACL"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added must constraint for object-group v4 network + - Changes for object-group v6-network"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-03 { + description + "Fix protocol icmp, tcp and udp able to standalone"; + } + revision 2018-10-01 { + description + "Fix not being able to configure multiple protocol numbers and names"; + } + revision 2018-06-24 { + description + "Refactor source port service object-group support"; + } + revision 2018-06-20 { + description + "Add source port support to service object-group"; + } + revision 2017-07-31 { + description + "Support multiple-host under object group network"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef object-group-port-operator { + type enumeration { + enum eq; + enum gt; + enum lt; + } + } + + typedef alpha-3-country-code-type { + type enumeration { + enum ABW; + enum AFG; + enum AGO; + enum AIA; + enum ALA; + enum ALB; + enum AND; + enum ANT; + enum ARE; + enum ARG; + enum ARM; + enum ASM; + enum ATA; + enum ATF; + enum ATG; + enum AUS; + enum AUT; + enum AZE; + enum BDI; + enum BEL; + enum BEN; + enum BES; + enum BFA; + enum BGD; + enum BGR; + enum BHR; + enum BHS; + enum BIH; + enum BLM; + enum BLR; + enum BLZ; + enum BMU; + enum BOL; + enum BRA; + enum BRB; + enum BRN; + enum BTN; + enum BVT; + enum BWA; + enum CAF; + enum CAN; + enum CCK; + enum CHE; + enum CHL; + enum CHN; + enum CIV; + enum CMR; + enum COD; + enum COG; + enum COK; + enum COL; + enum COM; + enum CPV; + enum CRI; + enum CUB; + enum CUW; + enum CXR; + enum CYM; + enum CYP; + enum CZE; + enum DEU; + enum DJI; + enum DMA; + enum DNK; + enum DOM; + enum DZA; + enum ECU; + enum EGY; + enum ERI; + enum ESH; + enum ESP; + enum EST; + enum ETH; + enum FIN; + enum FJI; + enum FLK; + enum FRA; + enum FRO; + enum FSM; + enum GAB; + enum GBR; + enum GEO; + enum GGY; + enum GHA; + enum GIB; + enum GIN; + enum GLP; + enum GMB; + enum GNB; + enum GNQ; + enum GRC; + enum GRD; + enum GRL; + enum GTM; + enum GUF; + enum GUM; + enum GUY; + enum HKG; + enum HMD; + enum HND; + enum HRV; + enum HTI; + enum HUN; + enum IDN; + enum IMN; + enum IND; + enum IOT; + enum IRL; + enum IRN; + enum IRQ; + enum ISL; + enum ISR; + enum ITA; + enum JAM; + enum JEY; + enum JOR; + enum JPN; + enum KAZ; + enum KEN; + enum KGZ; + enum KHM; + enum KIR; + enum KNA; + enum KOR; + enum KWT; + enum LAO; + enum LBN; + enum LBR; + enum LBY; + enum LCA; + enum LIE; + enum LKA; + enum LSO; + enum LTU; + enum LUX; + enum LVA; + enum MAC; + enum MAF; + enum MAR; + enum MCO; + enum MDA; + enum MDG; + enum MDV; + enum MEX; + enum MHL; + enum MKD; + enum MLI; + enum MLT; + enum MMR; + enum MNE; + enum MNG; + enum MNP; + enum MOZ; + enum MRT; + enum MSR; + enum MTQ; + enum MUS; + enum MWI; + enum MYS; + enum MYT; + enum NAM; + enum NCL; + enum NER; + enum NFK; + enum NGA; + enum NIC; + enum NIU; + enum NLD; + enum NOR; + enum NPL; + enum NRU; + enum NZL; + enum OMN; + enum PAK; + enum PAN; + enum PCN; + enum PER; + enum PHL; + enum PLW; + enum PNG; + enum POL; + enum PRI; + enum PRK; + enum PRT; + enum PRY; + enum PSE; + enum PYF; + enum QAT; + enum REU; + enum ROU; + enum RUS; + enum RWA; + enum SAU; + enum SDN; + enum SEN; + enum SGP; + enum SGS; + enum SHN; + enum SJM; + enum SLB; + enum SLE; + enum SLV; + enum SMR; + enum SOM; + enum SPM; + enum SRB; + enum SSD; + enum STP; + enum SUR; + enum SVK; + enum SVN; + enum SWE; + enum SWZ; + enum SXM; + enum SYC; + enum SYR; + enum TCA; + enum TCD; + enum TGO; + enum THA; + enum TJK; + enum TKL; + enum TKM; + enum TLS; + enum TON; + enum TTO; + enum TUN; + enum TUR; + enum TUV; + enum TWN; + enum TZA; + enum UGA; + enum UKR; + enum UMI; + enum URY; + enum USA; + enum UZB; + enum VAT; + enum VCT; + enum VEN; + enum VGB; + enum VIR; + enum VNM; + enum VUT; + enum WLF; + enum WSM; + enum YEM; + enum ZAF; + enum ZMB; + enum ZWE; + } + } + + typedef alpha-continent-code-type { + type enumeration { + enum AF; + enum AN; + enum AS; + enum EU; + enum NA; + enum OC; + enum SA; + } + } + + grouping object-group-service-grouping { + leaf description { + description + "Service object group description"; + type string { + length "1..200"; + } + } + list group-objects { + description + "List of nested IPv4 service object groups"; + key "service-group"; + leaf service-group { + description + "Nested service object group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:service/ios-og:name"; + } + } + } + leaf group-object { + status deprecated; + description + "Nested object group (DEPRECATED - use group-objects)"; + type string; + } + leaf-list protocal-number { + description + "An IP protocol number"; + type uint8; + } + leaf ahp { + description + "Authentication Header Protocol"; + type empty; + } + leaf eigrp { + description + "Cisco's EIGRP routing protocol"; + type empty; + } + leaf esp { + description + "Encapsulation Security Payload"; + type empty; + } + leaf gre { + description + "Cisco's GRE tunneling"; + type empty; + } + leaf icmp { + description + "Internet Control Message Protocol"; + type empty; + } + container icmp-conf { + container icmp { + description + "Internet Control Message Protocol"; + leaf port-number { + type uint8; + } + leaf alternate-address { + description + "Alternate address"; + type empty; + } + leaf conversion-error { + description + "Datagram conversion"; + type empty; + } + leaf echo { + description + "Echo (ping)"; + type empty; + } + leaf echo-reply { + description + "Echo reply"; + type empty; + } + leaf information-reply { + description + "Information replies"; + type empty; + } + leaf information-request { + description + "Information requests"; + type empty; + } + leaf mask-reply { + description + "Mask replies"; + type empty; + } + leaf mask-request { + description + "Mask requests"; + type empty; + } + leaf mobile-redirect { + description + "Mobile host redirect"; + type empty; + } + leaf parameter-problem { + description + "All parameter problems"; + type empty; + } + leaf redirect { + description + "All redirects"; + type empty; + } + leaf router-advertisement { + description + "Router discovery advertisements"; + type empty; + } + leaf router-solicitation { + description + "Router discovery solicitations"; + type empty; + } + leaf source-quench { + description + "Source quenches"; + type empty; + } + leaf time-exceeded { + description + "All time exceeded"; + type empty; + } + leaf timestamp-reply { + description + "Timestamp replies"; + type empty; + } + leaf timestamp-request { + description + "Timestamp requests"; + type empty; + } + leaf traceroute { + description + "Traceroute"; + type empty; + } + leaf unreachable { + description + "All unreachables"; + type empty; + } + } + } + leaf igmp { + description + "Internet Gateway Message Protocol"; + type empty; + } + leaf ip { + description + "Any Internet Protocol"; + type empty; + } + leaf ipinip { + description + "IP in IP tunneling"; + type empty; + } + leaf nos { + description + "KA9Q NOS compatible IP over IP tunneling"; + type empty; + } + leaf ospf { + description + "OSPF routing protocol"; + type empty; + } + leaf pcp { + description + "Payload Compression Protocol"; + type empty; + } + leaf pim { + description + "Protocol Independent Multicast"; + type empty; + } + leaf tcp { + description + "Transmission Control Protocol"; + type empty; + } + container tcp-conf { + container tcp { + description + "Transmission Control Protocol"; + list tcp-port-list-op { + description + "List of Destination TCP ports with port operator"; + key "operator tcp-port"; + leaf operator { + description + "Port operator - equal to/lesser than/greater than"; + type object-group-port-operator; + } + leaf tcp-port { + description + "Destination TCP port number"; + type ios-types:acl-tcp-port-type; + } + } + list tcp-port-list-no-op { + description + "List of Destination TCP ports without port operator"; + key "tcp-port"; + leaf tcp-port { + description + "Destination TCP port number"; + type ios-types:acl-tcp-port-type; + } + } + list tcp-port-list { + status deprecated; + description + "DEPRECATED: Use tcp-port-list-op if operator is specified and tcp-port-list-no-op if not."; + key "tcp-port"; + leaf tcp-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + container tcp-range-port-list { + list range { + description + "Match only packets in the range of port numbers"; + key "tcp-min-port tcp-max-port"; + leaf tcp-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-port-list-op { + description + "List of TCP source ports with port operator"; + list source { + description + "Source port number"; + key "operator tcp-port"; + leaf tcp-port { + type ios-types:acl-tcp-port-type; + } + leaf operator { + type object-group-port-operator; + } + } + } + container tcp-src-port-list-no-op { + description + "List of TCP source ports without port operator"; + list source { + description + "Source port number"; + key "tcp-port"; + leaf tcp-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-port-list { + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "tcp-port"; + leaf tcp-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + } + container tcp-src-range-port-list { + container source { + description + "Source port number"; + list range { + description + "Match only packets in the range of port numbers"; + key "tcp-min-port tcp-max-port"; + leaf tcp-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + } + container tcp-src-dst-port-list-op { + description + "List of TCP source and destination ports with port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-src-port dst-operator tcp-dst-port"; + leaf src-operator { + type object-group-port-operator; + } + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf dst-operator { + type object-group-port-operator; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-port-list-no-op { + description + "List of TCP source and destination ports without port operator"; + list source { + description + "Source port number"; + key "tcp-src-port tcp-dst-port"; + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-port-list-src-op { + description + "List of TCP source and destination ports with source port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-src-port tcp-dst-port"; + leaf src-operator { + type object-group-port-operator; + } + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-port-list-dst-op { + description + "List of TCP source and destination ports with destination port operator"; + list source { + description + "Source port number"; + key "tcp-src-port dst-operator tcp-dst-port"; + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf dst-operator { + type object-group-port-operator; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-port-list { + description + "DEPRECATED: List of TCP source and destination ports"; + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "tcp-src-port tcp-dst-port"; + leaf src-operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-src-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf dst-operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-dst-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-range-dst-port-list-op { + description + "List of TCP source range, destination ports with port operator"; + list source { + description + "Source port number"; + key "tcp-src-min-port tcp-src-max-port operator tcp-dst-port"; + leaf tcp-src-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-src-max-port { + type ios-types:acl-tcp-port-type; + } + leaf operator { + type object-group-port-operator; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-range-dst-port-list-no-op { + description + "List of TCP source range, destination ports without port operator"; + list source { + description + "Source port number"; + key "tcp-src-min-port tcp-src-max-port tcp-dst-port"; + leaf tcp-src-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-src-max-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-range-dst-port-list { + description + "DEPRECATED: List of TCP source range, destination ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "tcp-src-min-port tcp-src-max-port tcp-dst-port"; + leaf tcp-src-min-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf tcp-src-max-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-dst-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-range-port-list-op { + description + "List of TCP source, destination range ports with operators"; + list source { + description + "Source port number"; + key "operator tcp-src-port tcp-dst-min-port tcp-dst-max-port"; + leaf operator { + type object-group-port-operator; + } + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-range-port-list-no-op { + description + "List of TCP source, destination range ports without operators"; + list source { + description + "Source port number"; + key "tcp-src-port tcp-dst-min-port tcp-dst-max-port"; + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-dst-range-port-list { + description + "DEPRECATED: List of TCP source, destination range ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "tcp-src-port tcp-dst-min-port tcp-dst-max-port"; + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-src-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-min-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-max-port { + status deprecated; + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "tcp-src-min-port tcp-src-max-port tcp-dst-min-port tcp-dst-max-port"; + leaf tcp-src-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-src-max-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + } + } + container tcp-udp { + description + "TCP or UDP protocol"; + list tcp-udp-port-list-op { + description + "List of Destination tcp-udp ports with port operator"; + key "operator tcp-udp-port"; + leaf operator { + description + "Port operator - equal to/lesser than/greater than"; + type object-group-port-operator; + } + leaf tcp-udp-port { + description + "Destination tcp-udp port number"; + type ios-types:acl-tcp-udp-port-type; + } + } + list tcp-udp-port-list-no-op { + description + "List of Destination tcp-udp ports without port operator"; + key "tcp-udp-port"; + leaf tcp-udp-port { + description + "Destination tcp-udp port number"; + type ios-types:acl-tcp-udp-port-type; + } + } + list tcp-udp-port-list { + status deprecated; + description + "DEPRECATED: Use tcp-udp-port-list-op if operator is specified and tcp-udp-port-list-no-op if not."; + key "tcp-udp-port"; + leaf tcp-udp-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + container tcp-udp-range-port-list { + list range { + description + "Match only packets in the range of port numbers"; + key "tcp-udp-min-port tcp-udp-max-port"; + leaf tcp-udp-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-port-list-op { + description + "List of tcp-udp source ports with port operator"; + list source { + description + "Source port number"; + key "operator tcp-udp-port"; + leaf tcp-udp-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf operator { + type object-group-port-operator; + } + } + } + container tcp-udp-src-port-list-no-op { + description + "List of tcp-udp source ports without port operator"; + list source { + description + "Source port number"; + key "tcp-udp-port"; + leaf tcp-udp-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-port-list { + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "tcp-udp-port"; + leaf tcp-udp-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + } + container tcp-udp-src-range-port-list { + container source { + description + "Source port number"; + list range { + description + "Match only packets in the range of port numbers"; + key "tcp-udp-min-port tcp-udp-max-port"; + leaf tcp-udp-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + } + container tcp-udp-src-dst-port-list-op { + description + "List of tcp-udp source and destination ports with port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-udp-src-port dst-operator tcp-udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf tcp-udp-src-port { + description + "Source port value"; + type ios-types:acl-tcp-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + description + "Destination port value"; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-port-list-no-op { + description + "List of tcp-udp source and destination ports without port operator"; + list source { + description + "Source port number"; + key "tcp-udp-src-port tcp-udp-dst-port"; + leaf tcp-udp-src-port { + description + "Source port value"; + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-port { + description + "Destination port value"; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-port-list-src-op { + description + "List of tcp-udp source and destination ports with source port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-udp-src-port tcp-udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf tcp-udp-src-port { + description + "Source port value"; + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-port { + description + "Destination port value"; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-port-list-dst-op { + description + "List of tcp-udp source and destination ports with destination port operator"; + list source { + description + "Source port number"; + key "tcp-udp-src-port dst-operator tcp-udp-dst-port"; + leaf tcp-udp-src-port { + description + "Source port operator"; + type ios-types:acl-tcp-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + description + "Destination port value"; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-port-list { + description + "DEPRECATED: List of tcp-udp source and destination ports"; + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "tcp-udp-src-port tcp-udp-dst-port"; + leaf src-operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-udp-src-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf dst-operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-range-dst-port-list-op { + description + "List of tcp-udp source range, destination ports with port operator"; + list source { + description + "Source port number"; + key "tcp-udp-src-min-port tcp-udp-src-max-port operator tcp-udp-dst-port"; + leaf tcp-udp-src-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-src-max-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf operator { + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-range-dst-port-list-no-op { + description + "List of tcp-udp source range, destination ports without port operator"; + list source { + description + "Source port number"; + key "tcp-udp-src-min-port tcp-udp-src-max-port tcp-udp-dst-port"; + leaf tcp-udp-src-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-src-max-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-range-dst-port-list { + description + "DEPRECATED: List of tcp-udp source range, destination ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "tcp-udp-src-min-port tcp-udp-src-max-port tcp-udp-dst-port"; + leaf tcp-udp-src-min-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-src-max-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-range-port-list-op { + description + "List of tcp-udp source, destination range ports with operators"; + list source { + description + "Source port number"; + key "operator tcp-udp-src-port tcp-udp-dst-min-port tcp-udp-dst-max-port"; + leaf operator { + type object-group-port-operator; + } + leaf tcp-udp-src-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-range-port-list-no-op { + description + "List of tcp-udp source, destination range ports without operators"; + list source { + description + "Source port number"; + key "tcp-udp-src-port tcp-udp-dst-min-port tcp-udp-dst-max-port"; + leaf tcp-udp-src-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-dst-range-port-list { + description + "DEPRECATED: List of tcp-udp source, destination range ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "tcp-udp-src-port tcp-udp-dst-min-port tcp-udp-dst-max-port"; + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf tcp-udp-src-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-min-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-max-port { + status deprecated; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "tcp-udp-src-min-port tcp-udp-src-max-port tcp-udp-dst-min-port tcp-udp-dst-max-port"; + leaf tcp-udp-src-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-src-max-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + } + leaf udp { + description + "User Datagram Protocol"; + type empty; + } + container udp-conf { + container udp { + description + "User Datagram Protocol"; + list udp-port-list-op { + description + "List of Destination udp ports with port operator"; + key "operator udp-port"; + leaf operator { + description + "Port operator - equal to/lesser than/greater than"; + type object-group-port-operator; + } + leaf udp-port { + description + "Destination udp port number"; + type ios-types:acl-udp-port-type; + } + } + list udp-port-list-no-op { + description + "List of Destination udp ports without port operator"; + key "udp-port"; + leaf udp-port { + description + "Destination udp port number"; + type ios-types:acl-udp-port-type; + } + } + list udp-port-list { + status deprecated; + description + "DEPRECATED: Use udp-port-list-op if operator is specified and udp-port-list-no-op if not."; + key "udp-port"; + leaf udp-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + container udp-range-port-list { + list range { + description + "Match only packets in the range of port numbers"; + key "udp-min-port udp-max-port"; + leaf udp-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-max-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-port-list-op { + description + "List of udp source ports with port operator"; + list source { + description + "Source port number"; + key "operator udp-port"; + leaf udp-port { + type ios-types:acl-udp-port-type; + } + leaf operator { + type object-group-port-operator; + } + } + } + container udp-src-port-list-no-op { + description + "List of udp source ports without port operator"; + list source { + description + "Source port number"; + key "udp-port"; + leaf udp-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-port-list { + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "udp-port"; + leaf udp-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + } + } + container udp-src-range-port-list { + container source { + description + "Source port number"; + list range { + description + "Match only packets in the range of port numbers"; + key "udp-min-port udp-max-port"; + leaf udp-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-max-port { + type ios-types:acl-udp-port-type; + } + } + } + } + container udp-src-dst-port-list-op { + list source { + description + "Source port number"; + key "src-operator udp-src-port dst-operator udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf udp-src-port { + description + "Source port value"; + type ios-types:acl-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf udp-dst-port { + description + "Destination port value"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-port-list-no-op { + list source { + description + "Source port number"; + key "udp-src-port udp-dst-port"; + leaf udp-src-port { + description + "Source port value"; + type ios-types:acl-udp-port-type; + } + leaf udp-dst-port { + description + "Destination port value"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-port-list-src-op { + list source { + description + "Source port number"; + key "src-operator udp-src-port udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf udp-src-port { + description + "Source port value"; + type ios-types:acl-udp-port-type; + } + leaf udp-dst-port { + description + "Destination port value"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-port-list-dst-op { + list source { + description + "Source port number"; + key "udp-src-port dst-operator udp-dst-port"; + leaf udp-src-port { + description + "Source port value"; + type ios-types:acl-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf udp-dst-port { + description + "Destination port value"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-port-list { + status deprecated; + list source { + description + "Source port number"; + status deprecated; + key "udp-src-port udp-dst-port"; + leaf src-operator { + status deprecated; + description + "Source operator"; + type object-group-port-operator; + } + leaf udp-src-port { + status deprecated; + description + "Source port number"; + type ios-types:acl-udp-port-type; + } + leaf dst-operator { + status deprecated; + description + "Destination operator"; + type object-group-port-operator; + } + leaf udp-dst-port { + status deprecated; + description + "Destination port number"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-range-dst-port-list-op { + description + "List of udp source range, destination ports with port operator"; + list source { + description + "Source port number"; + key "udp-src-min-port udp-src-max-port operator udp-dst-port"; + leaf udp-src-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-src-max-port { + type ios-types:acl-udp-port-type; + } + leaf operator { + type object-group-port-operator; + } + leaf udp-dst-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-range-dst-port-list-no-op { + description + "List of udp source range, destination ports without port operator"; + list source { + description + "Source port number"; + key "udp-src-min-port udp-src-max-port udp-dst-port"; + leaf udp-src-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-src-max-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-range-dst-port-list { + description + "DEPRECATED: List of udp source range, destination ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "udp-src-min-port udp-src-max-port udp-dst-port"; + leaf udp-src-min-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf udp-src-max-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf udp-dst-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-range-port-list-op { + description + "List of udp source, destination range ports with operators"; + list source { + description + "Source port number"; + key "operator udp-src-port udp-dst-min-port udp-dst-max-port"; + leaf operator { + type object-group-port-operator; + } + leaf udp-src-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-max-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-range-port-list-no-op { + description + "List of udp source, destination range ports without operators"; + list source { + description + "Source port number"; + key "udp-src-port udp-dst-min-port udp-dst-max-port"; + leaf udp-src-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-max-port { + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-dst-range-port-list { + description + "DEPRECATED: List of udp source, destination range ports"; + status deprecated; + list source { + status deprecated; + description + "Source port number"; + key "udp-src-port udp-dst-min-port udp-dst-max-port"; + leaf operator { + status deprecated; + type object-group-port-operator; + } + leaf udp-src-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf udp-dst-min-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + leaf udp-dst-max-port { + status deprecated; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "udp-src-min-port udp-src-max-port udp-dst-min-port udp-dst-max-port"; + leaf udp-src-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-src-max-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-max-port { + type ios-types:acl-udp-port-type; + } + } + } + } + } + } + + grouping object-group-v6service-grouping { + leaf ipv6 { + description + "Internet v6 Protocol"; + type empty; + } + leaf icmp { + description + "Internet Control Message Protocol"; + type empty; + } + leaf udp { + description + "User Datagram Protocol"; + type empty; + } + container udp-conf { + container udp { + description + "User Datagram Protocol"; + container udp-src-dst-port-list-op { + list source { + description + "Source port number"; + key "src-operator udp-src-port dst-operator udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf udp-src-port { + description + "Source port value"; + type ios-types:acl-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf udp-dst-port { + description + "Destination port value"; + type ios-types:acl-udp-port-type; + } + } + } + container udp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "udp-src-min-port udp-src-max-port udp-dst-min-port udp-dst-max-port"; + leaf udp-src-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-src-max-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-min-port { + type ios-types:acl-udp-port-type; + } + leaf udp-dst-max-port { + type ios-types:acl-udp-port-type; + } + } + } + } + } + leaf tcp { + description + "Transmission Control Protocol"; + type empty; + } + container tcp-conf { + container tcp { + description + "Transmission Control Protocol"; + container tcp-src-dst-port-list-op { + description + "List of TCP source and destination ports with port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-src-port dst-operator tcp-dst-port"; + leaf src-operator { + type object-group-port-operator; + } + leaf tcp-src-port { + type ios-types:acl-tcp-port-type; + } + leaf dst-operator { + type object-group-port-operator; + } + leaf tcp-dst-port { + type ios-types:acl-tcp-port-type; + } + } + } + container tcp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "tcp-src-min-port tcp-src-max-port tcp-dst-min-port tcp-dst-max-port"; + leaf tcp-src-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-src-max-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-min-port { + type ios-types:acl-tcp-port-type; + } + leaf tcp-dst-max-port { + type ios-types:acl-tcp-port-type; + } + } + } + } + } + container tcp-udp { + description + "TCP or UDP protocol"; + container tcp-udp-src-dst-port-list-op { + description + "List of tcp-udp source and destination ports with port operator"; + list source { + description + "Source port number"; + key "src-operator tcp-udp-src-port dst-operator tcp-udp-dst-port"; + leaf src-operator { + description + "Source port operator"; + type object-group-port-operator; + } + leaf tcp-udp-src-port { + description + "Source port value"; + type ios-types:acl-tcp-udp-port-type; + } + leaf dst-operator { + description + "Destination port operator"; + type object-group-port-operator; + } + leaf tcp-udp-dst-port { + description + "Destination port value"; + type ios-types:acl-tcp-udp-port-type; + } + } + } + container tcp-udp-src-range-dst-range-port-list { + list source { + description + "Source port number"; + key "tcp-udp-src-min-port tcp-udp-src-max-port tcp-udp-dst-min-port tcp-udp-dst-max-port"; + leaf tcp-udp-src-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-src-max-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-min-port { + type ios-types:acl-tcp-udp-port-type; + } + leaf tcp-udp-dst-max-port { + type ios-types:acl-tcp-udp-port-type; + } + } + } + } + } + + grouping config-object-group-grouping { + list network { + description + "network group"; + key "name"; + leaf name { + description + "WORD;;object-group name"; + type string { + length "1..64"; + } + } + container obj-Mode-config-network-group { + list network_address { + key "ipv4_addr ipv4_mask"; + leaf ipv4_addr { + description + "A.B.C.D;;Network address of the group members"; + type inet:ipv4-address; + } + leaf ipv4_mask { + description + "A.B.C.D;;Network mask"; + type inet:ipv4-address; + } + } + leaf description { + description + "Network object group description"; + type string { + length "1..200"; + } + } + list group-objects { + description + "List of nested IPv4 network groups"; + key "network-group"; + leaf network-group { + description + "Nested network object group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:network/ios-og:name"; + } + } + } + leaf group-object { + status deprecated; + description + "Nested object group (DEPRECATED - use group-objects)"; + type string; + } + list host { + description + "Host address of the object-group member"; + key "ipv4-host"; + leaf ipv4-host { + description + "Host address of the object-group member"; + type inet:host; + } + } + list addr-ranges { + description + "List of IPv4 address ranges"; + key "addr-range-start addr-range-end"; + leaf addr-range-start { + description + "Starting IPv4 Address"; + type inet:ipv4-address; + } + leaf addr-range-end { + description + "Ending IPv4 Address"; + type inet:ipv4-address; + } + } + container range { + status deprecated; + leaf ip-addr-min { + status deprecated; + description + "Starting IPv4 Address (DEPRECATED - use addr-range/addr-range-start"; + type inet:ipv4-address; + } + leaf ip-addr-max { + status deprecated; + description + "Ending IPv4 Address (DEPRECATED - use addr-range/addr-range-end"; + type inet:ipv4-address; + } + } + } + } + list security { + description + "security group"; + key "name"; + leaf name { + type string { + length "1..64"; + } + } + container security-group { + leaf description { + description + "Network object group description"; + type string { + length "1..200"; + } + } + leaf group-object { + description + "Nested object group"; + type string; + } + container security-group { + description + "Security Group Tag"; + leaf-list tags { + description + "Security Group Tag value"; + type uint16 { + range "1..65535"; + } + } + leaf tag { + status deprecated; + description + "Tags (DEPRECATED - use tags instead)"; + type uint16 { + range "1..65535"; + } + } + } + } + } + list fqdn { + description + "FQDN object-group type"; + key "name"; + leaf name { + description + "Name of FQDN OG"; + type string { + length "1..64"; + } + } + leaf description { + description + "Description for FQDN OG"; + type string { + length "1..200"; + } + } + list group-object { + description + "List of nested FQDN Groups"; + key "fqdn-group"; + leaf fqdn-group { + description + "FQDN group name"; + type leafref { + path "/ios:native/ios:object-group/ios-og:fqdn/ios-og:name"; + } + } + } + list pattern { + description + "List of reg exp FQDN patterns"; + key "fqdn-pattern"; + leaf fqdn-pattern { + description + "FQDN pattern"; + type string { + length "1..240"; + } + } + } + } + list geo { + description + "Geolocation object groups"; + key "name"; + leaf name { + description + "Name of geolocation object group"; + type string { + length "1..64"; + } + } + leaf description { + description + "Geolocation group description"; + type string { + length "1..200"; + } + } + list group-object { + description + "Nested geolocation groups"; + key "geo-group"; + leaf geo-group { + description + "Nested geolocation group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:geo/ios-og:name"; + } + } + } + list countries { + description + "List of countries, identified by ISO-3661-1 alpha-3 codes"; + key "country"; + leaf country { + description + "ISO-3166 alpha-3 country code"; + type alpha-3-country-code-type; + } + } + list continents { + description + "List of continents"; + key "continent"; + leaf continent { + description + "2-letter continent code"; + type alpha-continent-code-type; + } + } + } + list service { + description + "service group"; + key "name"; + leaf name { + type string { + length "1..64"; + } + } + uses object-group-service-grouping; + } + list v6-service { + description + "V6 service group"; + key "name"; + leaf name { + type string { + length "1..64"; + } + } + uses object-group-v6service-grouping; + } + list v6-network { + description + "IPv6 network group"; + key "name"; + leaf name { + description + "WORD;;object-group name"; + type string { + length "1..64"; + } + } + leaf description { + description + "STRING;;Network object group description"; + type string { + length "1..200"; + } + } + list network-address { + key "ipv6-addr-prefix"; + leaf ipv6-addr-prefix { + description + "X:X:X:X::X/<0-128>;;IPv6 network address/prefix length"; + type ios-types:ipv6-prefix; + } + } + list host { + key "ipv6-host"; + leaf ipv6-host { + description + "X:X:X:X::X;;Host address of group member"; + type ios-types:ipv6-host; + } + } + list group-object { + key "v6-network-object-group"; + leaf v6-network-object-group { + description + "WORD;;Nested object group"; + type leafref { + path "/ios:native/ios:object-group/ios-og:v6-network/ios-og:name"; + } + } + } + } + list knob { + key "knob_option"; + leaf knob_option { + description + "Different knob options"; + type enumeration { + enum check-nested-entry-dup; + enum check-normal-entry-dup; + enum expand-v6-ace-for-pd; + } + } + leaf enable { + description + "enable knob option"; + type empty; + } + } + } + + augment "/ios:native/ios:object-group" { + uses config-object-group-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-oper.yang new file mode 100644 index 000000000..3c31f1e69 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-oper.yang @@ -0,0 +1,652 @@ +module Cisco-IOS-XE-omp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-omp-oper"; + prefix omp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + the operational data of Overlay Management Protocol (OMP). + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef loss-reason-enum { + type enumeration { + enum lr-none { + value 0; + description + "None loss reason"; + } + enum lr-inval { + value 1; + description + "Loss reason of invalid route"; + } + enum lr-person { + value 2; + description + "Loss reason of personality"; + } + enum lr-dist { + value 3; + description + "Loss reason of distance"; + } + enum lr-pref { + value 4; + description + "Loss reason of preference"; + } + enum lr-tloc-pref { + value 5; + description + "Loss reason of TLOC preference"; + } + enum lr-origin-prot { + value 6; + description + "Loss reason of original protocol"; + } + enum lr-origin-prot-subtype { + value 7; + description + "Loss reason of origin protocol subtype"; + } + enum lr-origin-metric { + value 8; + description + "Loss reason of origin metric"; + } + enum lr-peer-id { + value 9; + description + "Loss reason of peer ID"; + } + enum lr-tloc-id { + value 10; + description + "Loss reason of TLOC ID"; + } + enum lr-ult-tloc-id { + value 11; + description + "Loss reason of ultimate TLOC ID"; + } + enum lr-stale-entry { + value 12; + description + "Loss reason of stale entry"; + } + enum lr-site-id { + value 13; + description + "Loss reason of site ID"; + } + enum lr-omp-ver { + value 14; + description + "Loss reason of OMP version"; + } + enum lr-tloc-gen-id { + value 15; + description + "Loss reason of TLOC gen ID"; + } + enum lr-tloc-spi { + value 16; + description + "TLOC SPI loss reason"; + } + enum lr-tloc-actn { + value 17; + description + "Loss reason of TLOC action"; + } + enum lr-path-inact { + value 18; + description + "Loss reason of inactive path"; + } + enum lr-reg-id { + value 19; + description + "Loss reason of region ID"; + } + enum lr-reg-path { + value 20; + description + "Loss reason of region path"; + } + enum lr-tgw { + value 21; + description + "Loss reason of transport gateway"; + } + enum lr-aff-grp { + value 22; + description + "Loss reason of affinity group"; + } + enum lr-migr-bgp-comm { + value 23; + description + "Loss reason of migration BGP community"; + } + enum lr-as-path-length { + value 24; + description + "Loss reason of AS path length"; + } + enum lr-migr-omp-pref { + value 25; + description + "Loss reason of migration OMP preference"; + } + enum lr-sub-region-id { + value 26; + description + "Loss reason of sub region ID"; + } + enum lr-br-pref { + value 27; + description + "Loss reason of border router preference"; + } + enum lr-derived-aff-grp { + value 28; + description + "Loss reason of derived affinity group number"; + } + enum lr-indir-path { + value 29; + description + "Loss reason of indirect path"; + } + } + description + "The enumeration definition of best-path loss reason"; + } + + typedef service-enum { + type enumeration { + enum svc-vpn { + value 0; + description + "VPN service"; + } + enum svc-fw { + value 1; + description + "FW service"; + } + enum svc-ids { + value 2; + description + "IDS service"; + } + enum svc-idp { + value 3; + description + "IDP service"; + } + enum svc-netsvc1 { + value 4; + description + "NET SVC 1"; + } + enum svc-netsvc2 { + value 5; + description + "NET SVC 2"; + } + enum svc-netsvc3 { + value 6; + description + "NET SVC 3"; + } + enum svc-netsvc4 { + value 7; + description + "NET SVC 4"; + } + enum svc-te { + value 8; + description + "TE service"; + } + enum svc-sig { + value 9; + description + "SIG service"; + } + enum svc-appqoe { + value 10; + description + "APPQOE"; + } + } + description + "The enumeration definition of service"; + } + + typedef l2vpn-type-enum { + type enumeration { + enum l2vpn-type-unknown { + value 0; + description + "Unknown"; + } + enum l2vpn-type-p2p { + value 1; + description + "Point to point"; + } + enum l2vpn-type-multipoint { + value 2; + description + "Point to multipoint"; + } + } + description + "The enumeration definition of l2vpn type"; + } + + typedef omp-l2route-type-enum { + type enumeration { + enum l2route-type-invalid { + value 0; + description + "Invalid"; + } + enum l2route-type-vpn { + value 1; + description + "VPN l2-route type"; + } + enum l2route-type-mac { + value 2; + description + "MAC l2-route type"; + } + enum l2route-type-macip { + value 3; + description + "MAC-IP l2-route type"; + } + enum l2route-type-macipv6 { + value 4; + description + "MAC-IPv6 l2-route type"; + } + } + description + "The enumeration definition of l2-route type"; + } + + typedef omp-ris-bitmask { + type bits { + bit omp-ris-c { + position 0; + description + "The bit of RIB in status is chosen"; + } + bit omp-ris-i { + position 1; + description + "The bit of RIB in status is installed"; + } + bit omp-ris-red { + position 2; + description + "The bit of RIB in status is redistributed"; + } + bit omp-ris-rej { + position 3; + description + "The bit of RIB in status is rejected"; + } + bit omp-ris-l { + position 4; + description + "The bit of RIB in status is looped"; + } + bit omp-ris-r { + position 5; + description + "The bit of RIB in status is resolved"; + } + bit omp-ris-s { + position 6; + description + "The bit of RIB in status is stale"; + } + bit omp-ris-ext { + position 7; + description + "The bit of RIB in status is extranet"; + } + bit omp-ris-inv { + position 8; + description + "The bit of RIB in status is invalid"; + } + bit omp-ris-u { + position 9; + description + "The bit of RIB in status is TLOC Unresolved"; + } + bit omp-ris-stg { + position 10; + description + "The bit of RIB in status is staged"; + } + bit omp-ris-ia { + position 11; + description + "The bit of RIB in status is on-demand inactive"; + } + bit omp-ris-br-r { + position 12; + description + "The bit of RIB in status is border-router re-originated"; + } + bit omp-ris-tgw-r { + position 13; + description + "The bit of RIB in status is transport-gateway re-originated"; + } + } + description + "The bit definition of RIB in status bit mask"; + } + + grouping omp-l2-svc-rx-key { + description + "The key combination of a received layer2 service entry"; + leaf from-peer { + type inet:ip-address; + description + "The remote peer of a received layer2 service entry. A special IP 0.0.0.0 means this peer is the local device itself."; + } + leaf path-id { + type uint32; + description + "The path index of a received layer2 service entry"; + } + } + + grouping omp-l2-svc-rx { + description + "The received content of a layer2 service entry"; + leaf label { + type uint32; + description + "The downstream SDWAN MPLS label ID allocated per each received layer2 service entry"; + } + leaf status { + type omp-ios-xe-oper:omp-ris-bitmask; + description + "RIB status of a received layer2 service entry"; + } + leaf loss-reason { + type omp-ios-xe-oper:loss-reason-enum; + description + "The loss reason for failure competition among multi received paths of a same layer2 service entry"; + } + leaf lost-to-peer { + type inet:ip-address; + description + "The lost to peer IP address for failure competition among multi received paths of a same layer2 service entry"; + } + leaf lost-to-path-id { + type uint32; + description + "The lost to path index for failure competition among multi received paths of a same layer2 service entry"; + } + leaf orig { + type inet:ip-address; + description + "The originator's IP address of a layer2 service entry"; + } + leaf remote-site-id { + type uint32; + description + "The remote site ID of a received layer2 service entry. It is only valid when vpn-type is p2p."; + } + } + + grouping omp-l2-svc-adv { + description + "The advertised content of layer2 service entry"; + leaf to-peer { + type inet:ip-address; + description + "The IP address of a remote peer that a layer2 service entry is advertised to."; + } + } + + grouping omp-l2-svc-key { + description + "The key combination of a layer2 service entry"; + leaf vpn-id { + type uint32; + description + "The layer2 VPN ID of a layer2 service entry"; + } + leaf service { + type omp-ios-xe-oper:service-enum; + description + "The service type of a layer2 service entry"; + } + leaf vc-id { + type uint32; + description + "The virtual circuit ID of a layer2 service entry"; + } + leaf site-id { + type uint32; + description + "The site ID of a layer2 service entry"; + } + } + + grouping omp-l2-svc { + description + "The content of an OMP layer2 service entry"; + leaf vpn-type { + type omp-ios-xe-oper:l2vpn-type-enum; + description + "The layer2 VPN type of a layer2 service entry"; + } + list omp-l2-svc-rx { + key "from-peer path-id"; + description + "The received content of a layer2 service entry"; + uses omp-ios-xe-oper:omp-l2-svc-rx-key; + uses omp-ios-xe-oper:omp-l2-svc-rx; + } + list omp-l2-svc-adv { + key "to-peer"; + description + "The advertised content of a layer2 service entry"; + uses omp-ios-xe-oper:omp-l2-svc-adv; + } + } + + grouping omp-l2-route-rx-key { + description + "The key combination of a received layer2 route entry"; + leaf from-peer { + type inet:ip-address; + description + "The remote peer of a received layer2 route entry. A special IP 0.0.0.0 means this peer is the local device itself."; + } + leaf path-id { + type uint32; + description + "The path index of a received layer2 route entry"; + } + } + + grouping omp-l2-route-rx { + description + "The received content of a layer2 route entry"; + leaf label { + type uint32; + description + "The downstream SDWAN MPLS label ID of a received layer2 route entry"; + } + leaf status { + type omp-ios-xe-oper:omp-ris-bitmask; + description + "RIB status of a received layer2 route entry"; + } + leaf loss-reason { + type omp-ios-xe-oper:loss-reason-enum; + description + "The loss reason for failure competition among multi received paths of a same layer2 route entry"; + } + leaf lost-to-peer { + type inet:ip-address; + description + "The lost to peer IP address for failure competition among multi received paths of a same layer2 route entry"; + } + leaf lost-to-path-id { + type uint32; + description + "The lost to path index for failure competition among multi received paths of a same layer2 route entry"; + } + leaf orig { + type inet:ip-address; + description + "The originator's IP address of a layer2 route entry"; + } + leaf remote-site-id { + type uint32; + description + "The remote site ID of a received layer2 route entry. It is only valid when vpn-type is p2p."; + } + } + + grouping omp-l2-route-adv { + description + "The advertised content of layer2 route entry"; + leaf to-peer { + type inet:ip-address; + description + "The IP address of a remote peer that a layer2 route entry is advertised to."; + } + } + + grouping omp-l2-route-key { + description + "The key combination of a layer2 route entry"; + leaf vpn-id { + type uint32; + description + "The layer2 VPN ID of a layer2 route entry"; + } + leaf vc-id { + type uint32; + description + "Virtual circuit ID of a layer2 route entry"; + } + leaf orig { + type inet:ip-address; + description + "Originator IP address of a layer2 route entry"; + } + leaf route-type { + type omp-ios-xe-oper:omp-l2route-type-enum; + description + "The route type of a layer2 route entry"; + } + leaf mac { + type yang:mac-address; + description + "A host's MAC address of a layer2 route entry."; + } + leaf ip { + type inet:ip-address; + description + "A host's IP address of a layer2 route entry"; + } + } + + grouping omp-l2-route { + description + "The content of an OMP layer2 route entry"; + leaf vpn-type { + type omp-ios-xe-oper:l2vpn-type-enum; + description + "The layer2 VPN type of a layer2 route entry"; + } + leaf site-id { + type uint32; + description + "The site ID of a layer2 route entry"; + } + list omp-l2-route-rx { + key "from-peer path-id"; + description + "The received content of a layer2 route entry"; + uses omp-ios-xe-oper:omp-l2-route-rx-key; + uses omp-ios-xe-oper:omp-l2-route-rx; + } + list omp-l2-route-adv { + key "to-peer"; + description + "The advertised content of a layer2 route entry"; + uses omp-ios-xe-oper:omp-l2-route-adv; + } + } + + container omp-oper-data { + config false; + description + "The operational data of Overlay Management Protocol (OMP)"; + list omp-l2-svc { + key "vpn-id service vc-id site-id"; + description + "The operational data of layer2 services"; + uses omp-ios-xe-oper:omp-l2-svc-key; + uses omp-ios-xe-oper:omp-l2-svc; + } + list omp-l2-route { + key "vpn-id vc-id orig route-type mac ip"; + description + "The operational data of layer2 routes"; + uses omp-ios-xe-oper:omp-l2-route-key; + uses omp-ios-xe-oper:omp-l2-route; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-rpc.yang new file mode 100644 index 000000000..ff0402af6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-omp-rpc.yang @@ -0,0 +1,248 @@ +module Cisco-IOS-XE-omp-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-omp-rpc"; + prefix omp-ios-xe-rpc; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef clear-omp-choice-enum { + type enumeration { + enum clear-omp-choice-peer { + value 0; + description + "The choice to clear OMP's peer"; + } + enum clear-omp-choice-routes { + value 1; + description + "The choice to clear OMP's routes"; + } + enum clear-omp-choice-multicast { + value 2; + description + "The choice to clear OMP's multicast"; + } + enum clear-omp-choice-tlocs { + value 3; + description + "The choice to clear OMP's transport locators"; + } + enum clear-omp-choice-identity { + value 4; + description + "The choice to clear OMP's identity"; + } + enum clear-omp-choice-all { + value 5; + description + "The choice to clear OMP's all RIB"; + } + enum clear-omp-choice-l2-routes { + value 6; + description + "The choice to clear OMP's layer2 routes"; + } + } + description + "The choice definition to clear OMP's RIB"; + } + + typedef clear-omp-peer-soft-enum { + type enumeration { + enum clear-omp-peer-soft-in { + value 0; + description + "Re-evaluate received RIB from a peer"; + } + enum clear-omp-peer-soft-out { + value 1; + description + "Force to advertise RIB to a peer"; + } + } + description + "The enumeration definition of a soft reset"; + } + + grouping clear-omp-peer { + description + "Clear OMP's specific peer"; + leaf tenant-id { + type uint32 { + range "0..65534"; + } + description + "Tenant ID"; + } + leaf address { + type inet:ip-address; + mandatory true; + description + "IPv4 address of a peer"; + } + leaf soft { + type omp-ios-xe-rpc:clear-omp-peer-soft-enum; + description + "Re-evaluate the peer's information with a soft reset. + If not specify this value, it will take a hard reset."; + } + } + + grouping clear-omp-routes { + description + "Re-install routes into the route table"; + leaf tenant-id { + type uint32 { + range "0..65534"; + } + default "0"; + description + "Tenant ID, default 0"; + } + } + + grouping clear-omp-multicast { + description + "Re-install multicast routes into the route table"; + leaf vpn { + type uint32 { + range "0..65531"; + } + mandatory true; + description + "VPN ID"; + } + } + + grouping clear-omp-l2-routes { + description + "Re-install layer2 routes into the SDWAN L2VPN table"; + leaf clear-all-vpn { + type empty; + description + "Clear OMP's layer2 routes with all configured L2VPN"; + } + leaf vpn { + type uint32 { + range "1..65531"; + } + must 'not(../clear-all-vpn)' { + error-message "%Error: vpn cannot coexist with clear-all-vpn."; + error-app-tag "must-violation"; + } + description + "Layer2 VPN ID"; + } + leaf vc-id { + type uint32 { + range "1..4294967295"; + } + must '../vpn' { + error-message "%Error: vpn is mandatory when clear with vc-id."; + error-app-tag "must-violation"; + } + description + "Virtual circuit ID"; + } + } + + grouping sdwan-clear-omp { + description + "Clear omp"; + choice type-choice { + mandatory true; + description + "The type choice to clear OMP"; + case clear-omp-choice-peer { + container peer { + description + "Clear OMP's peer"; + uses omp-ios-xe-rpc:clear-omp-peer; + } + } + case clear-omp-choice-routes { + container routes { + description + "Clear OMP's routes"; + uses omp-ios-xe-rpc:clear-omp-routes; + } + } + case clear-omp-choice-multicast { + container multicast { + description + "Clear OMP's multicast"; + uses omp-ios-xe-rpc:clear-omp-multicast; + } + } + case clear-omp-choice-tlocs { + leaf tlocs { + type empty; + mandatory true; + description + "Clear OMP's transport locators"; + } + } + case clear-omp-choice-identity { + leaf identity { + type empty; + mandatory true; + description + "Clear OMP's identity"; + } + } + case clear-omp-choice-all { + leaf all { + type empty; + mandatory true; + description + "Clear OMP's all RIB"; + } + } + case clear-omp-choice-l2-routes { + container l2-routes { + description + "Clear OMP's layer2 routes"; + uses omp-ios-xe-rpc:clear-omp-l2-routes; + } + } + } + } + + rpc sdwan-clear-omp { + description + "A SDWAN specific RPC action to clear the routing information base (RIB) + of overlay management protocol (OMP)"; + input { + uses omp-ios-xe-rpc:sdwan-clear-omp; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-common.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-common.yang new file mode 100644 index 000000000..c18e867fc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-common.yang @@ -0,0 +1,215 @@ +module Cisco-IOS-XE-ospf-common { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospf-common"; + prefix ospf-ios-xe-common; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring OSPF operational information. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ospfv3-address-family-types { + type enumeration { + enum ospfv3-address-family-unknown { + value 0; + description + "OSPFv3 address family unknown"; + } + enum ospfv3-address-family-ipv4 { + value 1; + description + "OSPFv3 address family IPV4"; + } + enum ospfv3-address-family-ipv6 { + value 2; + description + "OSPFv3 address family IPV6"; + } + } + description + "Address Family type"; + } + + typedef ospfv3-network-type { + type enumeration { + enum unknown { + value 0; + description + "OSPFv3 network unknown"; + } + enum broadcast { + value 1; + description + "OSPFv3 broadcast multi-access network"; + } + enum non-broadcast { + value 2; + description + "OSPFv3 non broadcast multi-access (NBMA) network"; + } + enum point-to-multipoint { + value 3; + description + "OSPFv3 point-to-multipoint network"; + } + enum point-to-point { + value 4; + description + "OSPFv3 point-to-point network"; + } + enum virtual-link { + value 5; + description + "OSPFv3 virtual link network"; + } + enum loopback-network { + value 6; + description + "OSPFv3 loopback network"; + } + enum sham-link { + value 7; + description + "OSPFv3 sham link network"; + } + enum manet { + value 8; + description + "OSPFv3 manet network"; + } + } + description + "OSPFv3 network type"; + } + + typedef ospfv3-if-state { + type enumeration { + enum down { + value 0; + description + "The interface is in down state"; + } + enum loopback { + value 1; + description + "The interface is in loopback state"; + } + enum waiting { + value 2; + description + "The interface is in waiting state"; + } + enum point-to-mpoint { + value 3; + description + "The interface is in point-to-multipoint state"; + } + enum point-to-point-state { + value 4; + description + "The interface is in point-to-point state"; + } + enum dr { + value 5; + description + "The interface is in designated router state"; + } + enum backup { + value 6; + description + "The interface is in backup state"; + } + enum other { + value 7; + description + "The interface is in invalid state"; + } + } + description + "OSPFv3 interface state type"; + } + + typedef ospfv3-nbr-state { + type enumeration { + enum nbr-down { + value 0; + description + "Neighbor state down"; + } + enum attempt { + value 1; + description + "Neighbor attempt state"; + } + enum init { + value 2; + description + "Neighbor initial state"; + } + enum two-way { + value 3; + description + "Neighbor 2-way state"; + } + enum exchange-start { + value 4; + description + "Neighbor exchange start state"; + } + enum exchange { + value 5; + description + "Neighbor exchange state"; + } + enum loading { + value 6; + description + "Neighbor loading state"; + } + enum full { + value 7; + description + "Neighbor full state"; + } + enum other-state { + value 8; + description + "Neighbor is in invalid state"; + } + } + description + "OSPFv3 neighbor state type"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-deviation.yang new file mode 100644 index 000000000..82d63a868 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-deviation.yang @@ -0,0 +1,194 @@ +module Cisco-IOS-XE-ospf-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospf-deviation"; + prefix ios-ospf-deviation; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ospf { + prefix ios-ospf; + } + import cisco-semver { + prefix cisco-semver; + } + + description + "Copyright (c) 2021 by Cisco Systems, Inc.All rights reserved."; + + revision 2023-07-01 { + description + "Adding deviation for redistribution of unsupported protocols into OSPF"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-11-01 { + description + "Adding deviation for microloop avoidance for VRF instance"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:microloop" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:isis" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:isis-area-tag" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:lisp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:mobile" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:nat-route" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:nhrp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:odr" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:omp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:rip" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:isis" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:isis-area-tag" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:lisp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:mobile" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:nat-route" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:nhrp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:odr" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:omp" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:ospfv3" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:rip" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:application/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:eigrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:lisp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:mobile/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:nat-route/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:nhrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:odr/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:rip/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:application/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:eigrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:application/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:eigrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:lisp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:mobile/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:nat-route/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:nhrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:odr/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:rip/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:application/ios-ospf:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf/ios-ospf:redistribute/ios-ospf:vrf/ios-ospf:eigrp/ios-ospf:translate-rib-metric" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-events.yang new file mode 100644 index 000000000..217c0828f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-events.yang @@ -0,0 +1,181 @@ +module Cisco-IOS-XE-ospf-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospf-events"; + prefix ospf-ios-xe-events; + + import Cisco-IOS-XE-ospf-common { + prefix ospf-ios-xe-common; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "OSPF Notification events YANG definitions + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ospfv3-notification-severity { + type enumeration { + enum ospfv3-notif-severity-critical { + value 0; + description + "OSPFv3 Notification Critical severity"; + } + enum ospfv3-notif-severity-major { + value 1; + description + "OSPFv3 Notification Major severity"; + } + enum ospfv3-notif-severity-minor { + value 2; + description + "OSPFv3 Notification Minor severity"; + } + } + description + "OSPFv3 notification severity"; + } + + grouping ospfv3-notif-nbr-state { + description + "OSPFv3 neighbor state"; + leaf severity { + type ospf-ios-xe-events:ospfv3-notification-severity; + description + "Event severity"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf process-id { + type uint16; + description + "Process ID"; + } + leaf af { + type ospf-ios-xe-common:ospfv3-address-family-types; + description + "Address family identifier"; + } + leaf router-id { + type inet:ip-address; + description + "Router ID"; + } + leaf nbr-addr { + type inet:ipv6-address; + description + "Neighbor Address"; + } + leaf nbr-id { + type inet:ip-address; + description + "Neighbor ID"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-addr { + type inet:ipv6-address; + description + "Interface address"; + } + leaf nbr-state { + type ospf-ios-xe-common:ospfv3-nbr-state; + description + "OSPFv3 Neighbor state"; + } + } + + grouping ospfv3-notif-if-state { + description + "OSPFv3 interface state Notification"; + leaf severity { + type ospf-ios-xe-events:ospfv3-notification-severity; + description + "Event severity"; + } + leaf vrf-name { + type string; + description + "VRF name"; + } + leaf process-id { + type uint16; + description + "Process ID"; + } + leaf af { + type ospf-ios-xe-common:ospfv3-address-family-types; + description + "Address family identifier"; + } + leaf router-id { + type inet:ip-address; + description + "Router ID"; + } + leaf network-type { + type ospf-ios-xe-common:ospfv3-network-type; + description + "OSPFv3 network type"; + } + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-state { + type ospf-ios-xe-common:ospfv3-if-state; + description + "OSPFv3 interface state"; + } + } + + notification ospfv3-nbr-state-change { + description + "OSPFv3 neighbor state change notification"; + uses ospf-ios-xe-events:ospfv3-notif-nbr-state; + } + + notification ospfv3-if-state-change { + description + "OSPFv3 interface state change notification"; + uses ospf-ios-xe-events:ospfv3-notif-if-state; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-obsolete.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-obsolete.yang new file mode 100644 index 000000000..9b1a08fd4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-obsolete.yang @@ -0,0 +1,3859 @@ +submodule Cisco-IOS-XE-ospf-obsolete { + yang-version 1.1; + belongs-to Cisco-IOS-XE-ospf { + prefix ios-ospf; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Open Shortest Path First (OSPF) obsolete Yang model. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-11-01 { + description + "All nodes marked obsolete"; + } + revision 2020-03-01 { + description + "- Added additional obsolete nodes"; + } + revision 2019-10-01 { + description + "Initial revision"; + } + + typedef redist-ospf-external-type { + type enumeration { + enum 1; + enum 2; + } + } + + grouping authentication-ipsec-grouping { + container ipsec { + status obsolete; + description + "Use IPsec authentication"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container md5 { + status obsolete; + description + "Use MD5 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + + grouping interface-ospf-neighbor-grouping { + list neighbor { + status obsolete; + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + status obsolete; + type inet:ipv6-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + } + } + } + + grouping interface-ospf-encryption-grouping { + container encryption { + status obsolete; + description + "Enable encryption"; + leaf null { + status obsolete; + description + "No IPsec encryption on this interface"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec encryption"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64; + } + leaf esp { + status obsolete; + description + "Use ESP encapsulation"; + type empty; + } + container ipsec_3des { + status obsolete; + description + "Use 3DES encryption"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-cbc { + status obsolete; + description + "Use AES-CBC encryption"; + container aes-cbc-128 { + status obsolete; + description + "Use 128 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-192 { + status obsolete; + description + "Use 192 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-256 { + status obsolete; + description + "Use 256 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + } + } + + grouping interface-ospf-dead-interval-grouping { + leaf dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + } + } + + grouping interface-ospf-hello-interval-grouping { + leaf hello-interval { + status obsolete; + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + } + } + + grouping interface-ospf-prefix-suppression-grouping { + container prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable prefix suppression"; + type empty; + } + } + } + + grouping interface-ospf-priority-grouping { + leaf priority { + status obsolete; + description + "Router priority"; + type uint8 { + range "0..255"; + } + } + } + + grouping interface-ospf-retransmit-interval-grouping { + leaf retransmit-interval { + status obsolete; + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + } + } + + grouping interface-ospf-transmit-delay-grouping { + leaf transmit-delay { + status obsolete; + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + } + } + + grouping interface-ospf-bfd-grouping { + container bfd { + status obsolete; + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable BFD on this interface"; + type empty; + } + } + } + + grouping interface-ospf-network-grouping { + container network { + status obsolete; + description + "Network type"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + + grouping config-interface-ip-ospf-grouping { + status obsolete; + container ospf { + status obsolete; + description + "OSPF interface commands"; + list process-id { + status obsolete; + must "not (../../../ios:switchport-conf/ios:switchport) or (../../../ios:switchport-conf/ios:switchport = 'false')" { + error-message "To configure ip ospf, set switchport to false 1st; To change switchport from false to true, delete ip ospf 1st "; + } + key "id"; + leaf id { + status obsolete; + type leafref { + path "/ios:native/ios:router/ios-ospf:ospf/ios-ospf:id"; + } + } + leaf area { + status obsolete; + type ios-types:ospf-area-type; + } + leaf secondaries { + status obsolete; + description + "Include or exclude secondary IP addresses"; + type empty; + } + leaf none { + status obsolete; + description + "Do not include secondary IP addresses"; + type empty; + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + presence "Enable authentication"; + container key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + leaf name { + status obsolete; + type string; + } + } + leaf message-digest { + status obsolete; + description + "Use message-digest authentication"; + type empty; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + } + uses ospf-authentication-key-grouping; + leaf network { + status obsolete; + description + "Network type"; + type enumeration { + enum broadcast; + enum non-broadcast; + enum point-to-multipoint; + enum point-to-point; + } + } + uses interface-ospf-bfd-grouping; + leaf cost { + status obsolete; + description + "Interface cost"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + leaf all { + status obsolete; + description + "Filter all LSA"; + type empty; + } + leaf out { + status obsolete; + description + "Outgoing LSA"; + type empty; + } + } + container dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + leaf value { + status obsolete; + type uint32 { + range "1..65535"; + } + } + container minimal { + status obsolete; + description + "Set to 1 second"; + leaf hello-multiplier { + status obsolete; + description + "Set multiplier for Hellos"; + type uint8; + } + } + } + container demand-circuit { + status obsolete; + description + "OSPF Demand Circuit"; + presence "true"; + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container fast-reroute { + status obsolete; + description + "LFA FastReroute parameters"; + container per-prefix { + status obsolete; + description + "Per-prefix LFA FRR parameters"; + container candidate { + status obsolete; + description + "If interface can be protecting"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable LFA FRR interface protection"; + type empty; + } + } + container protection { + status obsolete; + description + "If interface can be protected"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable LFA FRR interface protection"; + type empty; + } + } + } + } + leaf flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + type empty; + } + uses interface-ospf-hello-interval-grouping; + container lls { + status obsolete; + description + "Link-local Signaling (LLS) support"; + presence "true"; + leaf disable { + status obsolete; + description + "disable LLS"; + type empty; + } + } + list message-digest-key { + status obsolete; + description + "Set message digest key"; + key "id"; + leaf id { + status obsolete; + type uint8 { + range "1 .. 255"; + } + } + container md5 { + status obsolete; + description + "Use MD5 algorithm"; + leaf auth-type { + status obsolete; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + status obsolete; + type string { + pattern '.*'; + } + } + } + } + leaf mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + type empty; + } + container multi-area { + status obsolete; + description + "Set the OSPF multi-area ID"; + leaf id { + status obsolete; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf cost { + status obsolete; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + } + uses interface-ospf-prefix-suppression-grouping; + uses interface-ospf-priority-grouping; + leaf resync-timeout { + status obsolete; + description + "Interval after which adjacency is reset if oob-resync is not started"; + type uint32 { + range "1..65535"; + } + } + uses interface-ospf-retransmit-interval-grouping; + leaf shutdown { + status obsolete; + description + "Set OSPF protocol's state to disable under current interface"; + type empty; + } + uses interface-ospf-transmit-delay-grouping; + container ttl-security { + status obsolete; + description + "TTL security check"; + presence "true"; + leaf diable { + status obsolete; + description + "disable TTL security check"; + type empty; + } + leaf hops { + status obsolete; + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + } + + grouping config-interface-ipv6-ospf-grouping { + status obsolete; + container ospf { + status obsolete; + description + "OSPF interface commands"; + list process { + status obsolete; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf area { + status obsolete; + description + "Set the OSPF area ID"; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf instance { + status obsolete; + description + "Set the OSPF instance"; + type union { + type uint8 { + range "0..31"; + } + type uint8 { + range "32..255"; + } + } + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + uses authentication-ipsec-grouping; + } + uses interface-ospf-bfd-grouping; + leaf cost { + status obsolete; + description + "Route cost of this interface"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + status obsolete; + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + uses interface-ospf-dead-interval-grouping; + container demand-circuit { + status obsolete; + description + "OSPF demand circuit"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + uses interface-ospf-encryption-grouping; + container flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable Flood Reduction on this interface"; + type empty; + } + } + uses interface-ospf-hello-interval-grouping; + container mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + uses interface-ospf-neighbor-grouping; + uses interface-ospf-network-grouping; + uses interface-ospf-priority-grouping; + uses interface-ospf-retransmit-interval-grouping; + container shutdown { + status obsolete; + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable inherited shutdown"; + type empty; + } + } + uses interface-ospf-transmit-delay-grouping; + } + } + + grouping ospf-ospfv3-common-address-family-grouping { + container capability { + status obsolete; + description + "Enable specific OSPF feature"; + leaf capability-type { + status obsolete; + type enumeration { + enum lls; + enum opaque; + enum transit; + enum vrf-lite; + } + } + } + container compatible { + status obsolete; + description + "OSPF compatibility list"; + leaf rfc1583 { + status obsolete; + description + "Compatible with RFC 1583"; + type empty; + } + leaf rfc1587 { + status obsolete; + description + "Compatible with RFC 1587"; + type empty; + } + leaf rfc5243 { + status obsolete; + description + "Compatible with RFC 5243"; + type empty; + } + } + container default-information { + status obsolete; + description + "Control distribution of default information"; + container originate { + status obsolete; + description + "Distribute a default route"; + presence "Distribute a default route"; + leaf always { + status obsolete; + description + "Always advertise default route"; + type empty; + } + leaf metric { + status obsolete; + description + "OSPF default metric"; + type uint32 { + range "0 .. 16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + leaf default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + type uint32 { + range "1 .. 16777214"; + } + } + container discard-route { + status obsolete; + description + "Enable or disable discard-route installation"; + presence "Enable or disable discard-route installation"; + leaf external { + status obsolete; + description + "Discard route for redistributed summarised routes"; + type empty; + } + leaf internal { + status obsolete; + description + "Discard route for summarised internal routes"; + type empty; + } + leaf metric { + status obsolete; + type uint32 { + range "1 .. 255"; + } + } + } + container distance { + status obsolete; + description + "Define an administrative distance"; + container ospf-distance { + status obsolete; + leaf distance { + status obsolete; + type uint32 { + range "1 .. 255"; + } + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf wildcard { + status obsolete; + type inet:ipv4-address; + } + leaf acl-name { + status obsolete; + type ios-types:access-list-standard-id-type; + } + } + container ospf { + status obsolete; + description + "OSPF routes Administrative distance"; + leaf external { + status obsolete; + description + "External routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf inter-area { + status obsolete; + description + "Inter-area routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf intra-area { + status obsolete; + description + "Intra-area routes"; + type uint32 { + range "1 .. 255"; + } + } + } + } + leaf maximum-paths { + status obsolete; + description + "Forward packets over multiple paths"; + type uint32 { + range "1 .. 32"; + } + } + container redistribute { + status obsolete; + description + "Redistribute information from another routing protocol"; + uses ospf-redistribute-top-grouping; + container maximum-prefix { + status obsolete; + description + "Maximum number of prefixes redistributed to protocol"; + leaf number { + status obsolete; + type uint32 { + range "1 .. 4294967295"; + } + } + container threshold-warning-only-container { + status obsolete; + leaf threshold { + status obsolete; + type uint32 { + range "1 .. 100"; + } + } + leaf warning-only { + status obsolete; + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + container vrf { + status obsolete; + description + "Specify a source VRF"; + list non-global-vrf { + status obsolete; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses ospf-redistribute-top-obsolete-grouping; + } + container global { + status obsolete; + description + "global VRF"; + uses ospf-redistribute-top-obsolete-grouping; + } + } + } + } + + grouping ospf-ospfv3-common-grouping { + list area { + status obsolete; + description + "OSPF area parameters"; + key "id"; + leaf id { + status obsolete; + type ios-types:ospf-area-type; + } + container authentication { + status obsolete; + description + "Enable authentication"; + presence "true"; + leaf message-digest { + status obsolete; + description + "Use message-digest authentication"; + type empty; + } + } + container capability { + status obsolete; + description + "Enable area specific capability"; + leaf default-exclusion { + status obsolete; + description + "Enable exclusion of links from base topology"; + type empty; + } + } + leaf default-cost { + status obsolete; + description + "Set the summary default-cost of a NSSA/stub area"; + type uint32 { + range "0 .. 16777215"; + } + } + list filter-list { + status obsolete; + description + "Filter networks between OSPF areas"; + key "in-out"; + leaf in-out { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf prefix { + status obsolete; + mandatory true; + description + "Filter prefixes between OSPF areas"; + type string; + } + } + container nssa { + status obsolete; + description + "Specify a NSSA area"; + presence "Specify a NSSA area"; + container default-information-originate { + status obsolete; + description + "Originate Type 7 default into NSSA area"; + presence "Originate Type 7 default into NSSA area"; + leaf metric { + status obsolete; + description + "OSPF default metric"; + type int32 { + range "0 .. 16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + } + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into NSSA"; + type empty; + } + leaf no-redistribution { + status obsolete; + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf nssa-only { + status obsolete; + description + "Limit default advertisement to this NSSA area"; + type empty; + } + container translate { + status obsolete; + description + "Translate LSA"; + container type7 { + status obsolete; + description + "From Type 7 to Type 5"; + leaf always { + status obsolete; + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + status obsolete; + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into NSSA"; + type empty; + } + leaf no-redistribution { + status obsolete; + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf nssa-only { + status obsolete; + description + "Limit default advertisement to this NSSA area"; + type empty; + } + container translate { + status obsolete; + description + "Translate LSA"; + container type7 { + status obsolete; + description + "From Type 7 to Type 5"; + leaf always { + status obsolete; + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + status obsolete; + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + container ipv4-range { + status obsolete; + list range { + status obsolete; + description + "Summarize routes matching address/mask (border routers only)"; + key "ip mask"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + choice advertise-choice { + status obsolete; + leaf advertise { + status obsolete; + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + status obsolete; + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + status obsolete; + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777215"; + } + } + } + } + container ipv6-range { + status obsolete; + list range { + status obsolete; + description + "Summarize routes matching address/mask (border routers only)"; + key "ip"; + leaf ip { + status obsolete; + type ios-types:ipv6-prefix; + } + choice advertise-choice { + status obsolete; + leaf advertise { + status obsolete; + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + status obsolete; + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + status obsolete; + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777215"; + } + } + } + } + list sham-link { + status obsolete; + description + "Define a sham link and its parameters"; + key "source dest"; + leaf source { + status obsolete; + type inet:ip-address; + } + leaf dest { + status obsolete; + type inet:ip-address; + } + leaf cost { + status obsolete; + description + "Associate a cost with the sham-link"; + type uint16 { + range "0 .. 65535"; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf hops { + status obsolete; + description + "IP hops"; + type uint8; + } + } + } + container stub { + status obsolete; + description + "Specify a stub area"; + presence "Specify a stub area"; + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into stub area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into stub area"; + type empty; + } + } + list virtual-link { + status obsolete; + description + "Define a virtual link and its parameters"; + key "id"; + leaf id { + status obsolete; + type inet:ip-address; + } + container authentication { + status obsolete; + description + "Set authentication type"; + uses ospf-area-virtual-link-grouping; + container key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + leaf name { + status obsolete; + type string; + } + uses ospf-area-virtual-link-grouping; + } + container message-digest { + status obsolete; + description + "Message-digest authentication"; + uses ospf-area-virtual-link-grouping; + } + leaf null { + status obsolete; + description + "No authentication"; + type empty; + } + } + container hello-interval { + status obsolete; + description + "Hello packet interval"; + leaf hello-interval-value { + status obsolete; + type int32 { + range "1 .. 8192"; + } + } + } + container dead-interval { + status obsolete; + description + "Dead router detection time"; + leaf dead-interval-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container retransmit-interval { + status obsolete; + description + "LSA retransmit interval"; + leaf retransmit-interval-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container transmit-delay { + status obsolete; + description + "LSA transmission delay"; + leaf transmit-delay-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container topology { + status obsolete; + description + "Disable virtual link on topology"; + leaf disable { + status obsolete; + description + "Disable virtual link"; + type empty; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf hops { + status obsolete; + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + uses ospf-area-virtual-link-grouping; + } + } + container auto-cost { + status obsolete; + description + "Calculate OSPF interface cost according to bandwidth"; + presence "Calculate OSPF interface cost according to bandwidth"; + leaf reference-bandwidth { + status obsolete; + description + "Use reference bandwidth method to assign OSPF cost"; + type uint32 { + range "1 .. 4294967"; + } + } + } + container event-log { + status obsolete; + description + "OSPF Event Logging"; + presence "true"; + leaf one-shot { + status obsolete; + description + "Disable Logging When Log Buffer Becomes Full"; + type empty; + } + leaf pause { + status obsolete; + description + "Pause Event Logging"; + type empty; + } + leaf size { + status obsolete; + description + "Maximum Number of Events Stored in the Event Log"; + type uint32 { + range "1..65534"; + } + } + } + container bfd { + status obsolete; + description + "BFD configuration commands"; + leaf all-interfaces { + status obsolete; + description + "Enable BFD on all interfaces"; + type empty; + } + } + container interface-id { + status obsolete; + description + "Source of the interface ID"; + leaf snmp-if-index { + status obsolete; + description + "SNMP MIB ifIndex"; + type empty; + } + } + container log-adjacency-changes { + status obsolete; + description + "Log changes in adjacency state"; + presence "true"; + leaf detail { + status obsolete; + description + "Log all state changes"; + type empty; + } + } + container max-lsa { + status obsolete; + description + "maximum number of LSAs OSPF process will receive"; + leaf number { + status obsolete; + type uint32 { + range "1 .. 4294967294"; + } + } + leaf threshold-value { + status obsolete; + type uint32 { + range "1 .. 100"; + } + } + leaf ignore-count { + status obsolete; + description + "maximum number of times adjacencies can be suppressed"; + type uint32 { + range "1 .. 65534"; + } + } + leaf ignore-time { + status obsolete; + description + "time during which all adjacencies are suppressed"; + type uint32 { + range "1 .. 17895"; + } + } + leaf reset-time { + status obsolete; + description + "time after which ignore-count is reset to zero"; + type uint32 { + range "2 .. 35791"; + } + } + leaf warning-only { + status obsolete; + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + container max-metric { + status obsolete; + description + "Set maximum metric"; + container router-lsa { + status obsolete; + description + "Maximum metric in self-originated router-LSAs"; + presence "Maximum metric in self-originated router-LSAs"; + container external-lsa { + status obsolete; + presence "Override external-lsa metric with max-metric value"; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + status obsolete; + type uint32 { + range "1 .. 16777215"; + } + } + } + leaf include-stub { + status obsolete; + description + "Set maximum metric for stub links in router-LSAs"; + type empty; + } + container on-startup { + status obsolete; + description + "Set maximum metric temporarily after reboot"; + presence "Set maximum metric temporarily after reboot"; + choice time-wait-for-bgp-choice { + status obsolete; + leaf time { + status obsolete; + type uint32 { + range "5 .. 86400"; + } + } + leaf wait-for-bgp { + status obsolete; + description + "Let BGP decide when to originate router-LSA with normal metric"; + type empty; + } + } + } + container summary-lsa { + status obsolete; + description + "Override summary-lsa metric with max-metric value"; + presence "Override summary-lsa metric with max-metric value"; + leaf metric { + status obsolete; + type uint32 { + range "1 .. 16777215"; + } + } + } + } + } + container passive-interface { + status obsolete; + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + status obsolete; + leaf default { + status obsolete; + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + status obsolete; + type string; + } + } + } + container disable { + status obsolete; + when '../passive-interface/default'; + list passive-interface { + status obsolete; + key "interface"; + leaf interface { + status obsolete; + type string; + } + } + } + container queue-depth { + status obsolete; + description + "OSPF Hello/Router process queue depth"; + container hello { + status obsolete; + description + "OSPF Hello process queue depth"; + uses queue-depth-grouping; + } + container update { + status obsolete; + description + "OSPF Router process queue depth"; + uses queue-depth-grouping; + } + } + container timers { + status obsolete; + description + "Adjust routing timers"; + container lsa { + status obsolete; + description + "OSPF LSA timers"; + leaf arrival { + status obsolete; + description + "OSPF LSA arrival timer"; + type uint32 { + range "0 .. 600000"; + } + } + } + container pacing { + status obsolete; + description + "OSPF pacing timers"; + leaf flood { + status obsolete; + description + "OSPF flood pacing timer"; + type uint32 { + range "5 .. 100"; + } + } + leaf lsa-group { + status obsolete; + description + "OSPF LSA group pacing timer"; + type uint32 { + range "10 .. 1800"; + } + } + leaf retransmission { + status obsolete; + description + "OSPF retransmission pacing timer"; + type uint32 { + range "5 .. 200"; + } + } + } + container throttle { + status obsolete; + description + "OSPF throttle timers"; + container lsa { + status obsolete; + description + "OSPF LSA throttle timers"; + container all { + status obsolete; + description + "For all type of OSPF LSAs"; + leaf delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + leaf min-delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + leaf max-delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + } + } + container spf { + status obsolete; + description + "OSPF SPF throttle timers"; + leaf delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + leaf min-delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + leaf max-delay { + status obsolete; + type uint32 { + range "0 .. 600000"; + } + } + } + } + } + leaf router-id { + status obsolete; + description + "Override configured router identifier (peers will reset)"; + type inet:ipv4-address; + } + leaf nsr { + status obsolete; + description + "Enable non-stop routing"; + type empty; + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + leaf min { + status obsolete; + description + "All traffic shared among min metric paths"; + type empty; + } + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf all-interfaces { + status obsolete; + description + "Enable TTL Security on all interfaces"; + type empty; + } + leaf hops { + status obsolete; + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + + grouping distribute-list-grouping { + container distribute-list { + status obsolete; + description + "Filter networks in routing updates"; + list accesslist { + status obsolete; + key "in-out"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + } + list accesslist-ifname { + status obsolete; + key "in-out interface"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf interface { + status obsolete; + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + type string; + } + } + list accesslist-prefix-gateway { + status obsolete; + key "in-out"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf prefix-gateway { + status obsolete; + mandatory true; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + mandatory true; + type string; + } + } + list accesslist-prefix-gateway-ifname { + status obsolete; + key "in-out interface"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf interface { + status obsolete; + type string; + } + leaf prefix-gateway { + status obsolete; + mandatory true; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + mandatory true; + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + type string; + } + } + } + } + + grouping ospf-authentication-key-grouping { + container authentication-key { + status obsolete; + description + "Set authentication key"; + leaf auth-type { + status obsolete; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + status obsolete; + type string; + } + } + } + + grouping ospf-area-virtual-link-grouping { + uses ospf-authentication-key-grouping; + list message-digest-key { + status obsolete; + description + "Set message digest key"; + key "id"; + leaf id { + status obsolete; + type uint8 { + range "1 .. 255"; + } + } + container md5 { + status obsolete; + description + "Use MD5 algorithm"; + leaf auth-type { + status obsolete; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + status obsolete; + type string { + length "1 .. 16"; + } + } + } + } + } + + grouping tie-break-index { + leaf required { + status obsolete; + description + "Mandatory repair path attribute"; + type empty; + } + leaf index { + status obsolete; + description + "Tiebreak attribute priority"; + type uint8 { + range "1..255"; + } + } + } + + grouping queue-depth-grouping { + leaf options { + status obsolete; + type union { + type uint32 { + range "1 .. 2147483647"; + } + type enumeration { + enum unlimited; + } + } + } + } + + grouping router-eigrp-redistribute-grouping { + container metric { + status obsolete; + description + "Metric for redistributed routes"; + leaf bandwith { + status obsolete; + description + "Bandwidth metric in Kbits per second"; + type uint32 { + range "1..4294967295"; + } + } + leaf delay { + status obsolete; + description + "EIGRP delay metric, in 10 microsecond units"; + type uint32 { + range "0..4294967295"; + } + } + leaf reliability { + status obsolete; + description + "EIGRP reliability metric where 255 is 100% reliable"; + type uint8 { + range "0..255"; + } + } + leaf Effective { + status obsolete; + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + type uint8 { + range "1..255"; + } + } + leaf mtu { + status obsolete; + description + "EIGRP MTU of the path"; + type uint16 { + range "1..65535"; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + + grouping ospf-redistribute-match-grouping { + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32; + } + leaf metric-type { + status obsolete; + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf tag { + status obsolete; + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + } + + grouping ospf-redistribute-top-match-grouping { + container match { + status obsolete; + description + "Redistribution of OSPF routes"; + container internal { + status obsolete; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses ospf-redistribute-match-grouping; + } + container external { + status obsolete; + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + status obsolete; + type redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping; + } + container nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + status obsolete; + type redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping; + } + } + } + + grouping ospf-iso-igrp-redistribute-grouping { + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32; + } + leaf metric-type { + status obsolete; + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf tag { + status obsolete; + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-redistribute-grouping { + container redist-options { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping; + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + + grouping ospf-redistribute-top-grouping { + list application { + status obsolete; + description + "Application"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses ospf-redistribute-obsolete-grouping; + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "as-number"; + uses ospf-redistribute-bgp-grouping; + } + container connected { + status obsolete; + description + "Connected"; + presence "Connected"; + uses ospf-redistribute-grouping; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses ospf-redistribute-bgp-grouping; + } + container isis { + status obsolete; + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses ospf-redistribute-obsolete-grouping; + } + } + uses ospf-redistribute-obsolete-grouping; + } + container iso-igrp { + status obsolete; + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + status obsolete; + container area-tag-route-map-container { + status obsolete; + leaf area-tag { + status obsolete; + type string; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping; + } + } + container lisp { + status obsolete; + description + "Locator ID Separation Protocol (LISP)"; + uses ospf-redistribute-obsolete-grouping; + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "Mobile routes"; + uses ospf-redistribute-obsolete-grouping; + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses ospf-redistribute-obsolete-grouping; + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses ospf-redistribute-grouping; + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-grouping; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + } + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this rip process"; + type string; + } + uses ospf-redistribute-obsolete-grouping; + } + container static { + status obsolete; + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-grouping; + } + } + + grouping ospf-redistribute-bgp-grouping { + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses ospf-redistribute-grouping; + } + + grouping router-snmp-grouping { + container snmp { + status obsolete; + description + "Modify snmp parameters"; + list context { + status obsolete; + description + "Configure a SNMP context"; + key "name"; + leaf name { + status obsolete; + description + "Context Name"; + type string; + } + container community { + status obsolete; + description + "Configure a SNMP v2c Community string and access privs"; + leaf community-string { + status obsolete; + type string; + } + container access { + status obsolete; + leaf standard-acl { + status obsolete; + type uint32 { + range "1..99"; + } + } + leaf expanded-acl { + status obsolete; + type uint32 { + range "1300..1999"; + } + } + leaf acl-name { + status obsolete; + type string; + } + leaf ipv6 { + status obsolete; + description + "Specify IPv6 Named Access-List"; + type string; + } + leaf ro { + status obsolete; + description + "Read-only access with this community string"; + type empty; + } + leaf rw { + status obsolete; + description + "Read-write access with this community string"; + type empty; + } + } + } + container user { + status obsolete; + description + "Configure a SNMP v3 user"; + leaf name { + status obsolete; + type string; + } + container permisssion { + status obsolete; + container access { + status obsolete; + description + "specify an access-list associated with this group"; + leaf standard-acl { + status obsolete; + type uint32; + } + leaf acl-name { + status obsolete; + type string; + } + leaf ipv6 { + status obsolete; + type string; + } + } + container auth { + status obsolete; + description + "authentication parameters for the user"; + leaf md5 { + status obsolete; + description + "Use HMAC MD5 algorithm for authentication"; + type string; + } + leaf sha { + status obsolete; + description + "Use HMAC SHA algorithm for authentication"; + type string; + } + } + leaf credential { + status obsolete; + description + "If the user password is already configured and saved"; + type empty; + } + leaf encrypted { + status obsolete; + description + "specifying passwords as MD5 or SHA digests"; + type empty; + } + } + } + } + } + } + + grouping router-table-map-grouping { + container table-map { + status obsolete; + description + "Map external entry attributes into routing table"; + leaf name { + status obsolete; + description + "WORD;;route-map name"; + type string; + } + leaf filter { + status obsolete; + description + "Selective route download"; + type empty; + } + } + } + + grouping ospf-address-family-grouping { + uses router-snmp-grouping; + container topology { + status obsolete; + description + "Associate the routing protocol to a topology instance"; + leaf name { + status obsolete; + type string; + } + leaf tid { + status obsolete; + description + "Configuring the routing protocol topology tid"; + type uint32 { + range "32..127"; + } + } + } + } + + grouping config-router-ospf-grouping { + status obsolete; + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF) (DEPRECATED, use router-ospf)"; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "ipv4 VRF must be created 1st, deleted last"; + } + type string; + } + container address-family { + status obsolete; + description + "Enter Address Family command mode"; + container ipv4_1 { + status obsolete; + container ipv4 { + status obsolete; + description + "Address family"; + uses ospf-address-family-grouping; + } + } + container ipv4 { + status obsolete; + description + "Address family"; + container unicast { + status obsolete; + description + "Address Family Modifier"; + uses ospf-address-family-grouping; + } + container multicast { + status obsolete; + description + "Address Family Modifier"; + uses ospf-address-family-grouping; + } + } + } + uses ospf-ospfv3-common-grouping; + uses ospf-ospfv3-common-address-family-grouping; + uses distribute-list-grouping; + container domain-id { + status obsolete; + description + "OSPF domain-id"; + choice domain-id-choice { + status obsolete; + leaf ip-format { + status obsolete; + type inet:ipv4-address; + } + container ip-format-secondary { + status obsolete; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf secondary { + status obsolete; + description + "Secondary Domain-ID"; + type empty; + } + } + leaf Null { + status obsolete; + description + "Null Domain-ID"; + type empty; + } + container type { + status obsolete; + description + "OSPF domain ID type in Hex format"; + leaf type-leaf { + status obsolete; + type enumeration { + enum 0005; + enum 0105; + enum 0205; + enum 8005; + } + } + leaf value { + status obsolete; + description + "OSPF domain ID value in Hex format"; + type string { + pattern '[0-9a-fA-F]{12}'; + } + } + } + } + } + leaf domain-tag { + status obsolete; + description + "OSPF domain-tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + container fast-reroute { + status obsolete; + description + "LFA FastReroute parameters"; + leaf keep-all-paths { + status obsolete; + description + "Keep LFA FRR audit trail"; + type empty; + } + container per-prefix { + status obsolete; + description + "Per-prefix LFA FRR parameters"; + container enable { + status obsolete; + description + "Enable LFA Fast Reroute"; + leaf area { + status obsolete; + description + "Area to enable LFA FRR in"; + type ios-types:ospf-area-type; + } + leaf prefix-priority { + status obsolete; + description + "Priority of prefixes to be protected"; + type enumeration { + enum high; + enum low; + } + } + } + container remote-lfa { + status obsolete; + description + "Remote LFA FastReroute parameters"; + container area-cost { + status obsolete; + leaf area { + status obsolete; + description + "Area for remote LFA command"; + type ios-types:ospf-area-type; + } + leaf maximum-cost { + status obsolete; + description + "Maximum distance to tunnel endpoint"; + type uint32 { + range "1..16777214"; + } + } + } + container area-tunnel { + status obsolete; + leaf area { + status obsolete; + description + "Area for remote LFA command"; + type ios-types:ospf-area-type; + } + leaf tunnel { + status obsolete; + description + "Remote LFA tunnel type"; + type enumeration { + enum mpls-ldp; + } + } + } + leaf maximum-cost { + status obsolete; + description + "Maximum distance to tunnel endpoint"; + type uint32 { + range "1..16777214"; + } + } + leaf tunnel { + status obsolete; + description + "Remote LFA tunnel type"; + type enumeration { + enum mpls-ldp; + } + } + } + container tie-break { + status obsolete; + description + "LFA FRR repair path selection policy tiebreaks"; + container broadcast-interface-disjoint { + status obsolete; + description + "Interface protection attribute"; + uses tie-break-index; + } + container downstream { + status obsolete; + description + "Downstream repair path attribute"; + uses tie-break-index; + } + container linecard-disjoint { + status obsolete; + description + "Line card protection attribute"; + uses tie-break-index; + } + container lowest-metric { + status obsolete; + description + "Lowest metric repair path attribute"; + uses tie-break-index; + } + container node-protecting { + status obsolete; + description + "Node protecting repair path attribute"; + uses tie-break-index; + } + container primary-path { + status obsolete; + description + "Equal cost multipath attribute"; + uses tie-break-index; + } + container secondary-path { + status obsolete; + description + "Not-equal cost multipath attribute"; + uses tie-break-index; + } + container srlg { + status obsolete; + description + "Shared risk link group attribute"; + uses tie-break-index; + } + } + } + } + container graceful-restart { + status obsolete; + presence "true"; + description + "Graceful-restart options"; + leaf disable { + status obsolete; + description + "Graceful restart disable"; + type empty; + } + container helper { + status obsolete; + description + "helper support"; + presence "true"; + leaf disable { + status obsolete; + description + "disable helper support"; + type empty; + } + leaf strict-lsa-checking { + status obsolete; + description + "enable helper strict LSA checking"; + type empty; + } + } + leaf restart-interval { + status obsolete; + description + "Graceful restart interval"; + type uint16; + } + } + container ignore { + status obsolete; + description + "Do not complain about specific event"; + container lsa { + status obsolete; + description + "Do not complain upon receiving LSA of the specified type"; + leaf mospf { + status obsolete; + description + "MOSPF Type 6 LSA"; + type empty; + } + } + } + leaf ispf { + status obsolete; + description + "Enable incremental SPF computation"; + type empty; + } + container limit { + status obsolete; + description + "Limit a specific OSPF feature"; + container retransmissions { + status obsolete; + description + "LS update, DBD, and LS request retransmissions"; + leaf non-dc { + status obsolete; + description + "Non-demand-circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + } + leaf dc { + status obsolete; + description + "Demand circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + } + } + } + container local-rib-criteria { + status obsolete; + description + "Enable or disable usage of local RIB as route criteria"; + leaf forwarding-address { + status obsolete; + description + "Local RIB used to validate external/NSSA forwarding addresses"; + type empty; + } + leaf inter-area-summary { + status obsolete; + description + "Local RIB used as criteria for inter-area summaries"; + type empty; + } + leaf nssa-translation { + status obsolete; + description + "Local RIB used as criteria for NSSA translation"; + type empty; + } + } + container microloop { + status obsolete; + description + "Traffic microloop control parameters"; + container avoidance { + status obsolete; + description + "Traffic microloop avoidance parameters"; + presence "true"; + leaf disable { + status obsolete; + description + "Microloop avoidance auto-enable prohibited"; + type empty; + } + leaf protected { + status obsolete; + description + "Microloop avoidance for protected prefixes only"; + type empty; + } + leaf rib-update-delay { + status obsolete; + description + "Delay before updating the RIB"; + type uint32 { + range "1..600000"; + } + } + } + } + container mpls { + status obsolete; + description + "Configure MPLS routing protocol parameters"; + container ldp { + status obsolete; + description + "routing protocol commands for MPLS LDP"; + container autoconfig { + status obsolete; + description + "Configure LDP automatic configuration"; + presence "Configure LDP automatic configuration"; + leaf area { + status obsolete; + description + "Configure an OSPF area to run MPLS LDP"; + type ios-types:ospf-area-type; + } + } + container sync { + status obsolete; + description + "Configure LDP-IGP Synchronization"; + presence "Configure LDP-IGP Synchronization"; + } + } + container traffic-eng { + status obsolete; + description + "routing protocol commands for MPLS Traffic Engineering"; + leaf multicast-intact { + status obsolete; + description + "MPLS TE and PIM interaction"; + type empty; + } + list area { + status obsolete; + description + "configure an ospf area to run MPLS Traffic Engineering"; + key "id"; + leaf id { + status obsolete; + description + "OSPF area ID"; + type ios-types:ospf-area-type; + } + } + container autoroute-exclude { + status obsolete; + description + "MPLS TE autoroute exclude"; + leaf prefix-list { + status obsolete; + description + "Filter prefixes"; + type string; + } + } + list interface { + status obsolete; + description + "MPLS TE interface configuration for this OSPF process"; + key "name-id"; + leaf name-id { + status obsolete; + description + "Interface name and ID"; + type string; + } + leaf area { + status obsolete; + description + "Advertise MPLS TE information for this interface into area"; + type uint32; + } + } + list mesh-group { + status obsolete; + description + "Traffic Engineering Mesh-Group advertisement"; + key "id area"; + leaf id { + status obsolete; + description + "Mesh Group ID: <0..4294967295>"; + type uint32; + } + leaf area { + status obsolete; + description + "configure flooding scope as area"; + type ios-types:ospf-area-type; + } + leaf interface { + status obsolete; + description + "Interface name and ID"; + type string; + } + } + container router-id { + status obsolete; + description + "Traffic Engineering stable IP address for system"; + uses interface-obsolete-grouping; + } + } + } + list neighbor { + status obsolete; + description + "Specify a neighbor router"; + key "ip"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint32 { + range "1 .. 65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + status obsolete; + description + "Filter all LSA"; + leaf out { + status obsolete; + description + "Outgoing LSA"; + type empty; + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0 .. 65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint32 { + range "0 .. 255"; + } + } + } + list network { + status obsolete; + description + "Enable routing on an IP network"; + key "ip mask"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + leaf area { + status obsolete; + description + "Set the OSPF area ID"; + type ios-types:ospf-area-type; + } + } + container nsf { + status obsolete; + description + "Non-stop forwarding"; + presence "true"; + container cisco { + status obsolete; + description + "Cisco Non-stop forwarding"; + presence "true"; + container enforce { + status obsolete; + description + "Cancel NSF restart when non-NSF-aware neighbors detected"; + leaf global { + status obsolete; + description + "For the whole OSPF process"; + type empty; + } + } + container helper { + status obsolete; + description + "helper support"; + presence "helper support"; + leaf disable { + status obsolete; + description + "disable helper support"; + type empty; + } + } + } + container ietf { + status obsolete; + description + "IETF graceful restart"; + presence "true"; + container helper { + status obsolete; + description + "helper support"; + presence "helper support"; + leaf disable { + status obsolete; + description + "disable helper support"; + type empty; + } + leaf strict-lsa-checking { + status obsolete; + description + "enable helper strict LSA checking"; + type empty; + } + } + leaf restart-interval { + status obsolete; + description + "Graceful restart interval"; + type uint16 { + range "1..1800"; + } + } + } + } + container prefix-priority { + status obsolete; + description + "OSPF prefix priority"; + leaf high { + status obsolete; + description + "High prefix priority"; + type empty; + } + leaf route-map { + status obsolete; + description + "Prefix priority selection by route-map"; + type string; + } + } + leaf prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + type empty; + } + leaf priority { + status obsolete; + description + "OSPF topology priority"; + type uint8 { + range "0..127"; + } + } + container process-min-time { + status obsolete; + description + "Percentage of quantum to be used before releasing CPU"; + leaf percent { + status obsolete; + description + "percent"; + type uint32 { + range "1 .. 100"; + } + } + } + leaf shutdown { + status obsolete; + description + "Shutdown the OSPF protocol under the current instance"; + type boolean; + } + uses router-snmp-grouping; + list summary-address { + status obsolete; + description + "Configure IP address summaries"; + key "ip wildcard"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf wildcard { + status obsolete; + type inet:ipv4-address; + } + choice tag-no-advertise-choice { + status obsolete; + leaf nssa-only { + status obsolete; + description + "Limit summary to NSSA areas"; + type empty; + } + leaf tag { + status obsolete; + description + "Set tag"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf not-advertise { + status obsolete; + description + "Do not advertise when translating OSPF type-7 LSA"; + type empty; + } + } + } + uses router-table-map-grouping; + } + } + + grouping ospf-redistribute-top-obsolete-grouping { + list application { + status obsolete; + description + "Application"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses ospf-redistribute-obsolete-grouping; + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "as-number"; + uses ospf-redistribute-bgp-obsolete-grouping; + } + container connected { + status obsolete; + description + "Connected"; + presence "Connected"; + uses ospf-redistribute-obsolete-grouping; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses ospf-redistribute-bgp-obsolete-grouping; + } + container isis { + status obsolete; + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses ospf-redistribute-obsolete-grouping; + } + } + uses ospf-redistribute-obsolete-grouping; + } + container iso-igrp { + status obsolete; + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + status obsolete; + container area-tag-route-map-container { + status obsolete; + leaf area-tag { + status obsolete; + type string; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping; + } + } + container lisp { + status obsolete; + description + "Locator ID Separation Protocol (LISP)"; + uses ospf-redistribute-obsolete-grouping; + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "Mobile routes"; + uses ospf-redistribute-obsolete-grouping; + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses ospf-redistribute-obsolete-grouping; + } + container omp { + status obsolete; + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses ospf-redistribute-obsolete-grouping; + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-obsolete-grouping; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + } + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this rip process"; + type string; + } + uses ospf-redistribute-obsolete-grouping; + } + container static { + status obsolete; + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-obsolete-grouping; + } + } + + grouping ospf-redistribute-bgp-obsolete-grouping { + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses ospf-redistribute-obsolete-grouping; + } + + grouping ospf-redistribute-obsolete-grouping { + container redist-options { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping; + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + + grouping interface-obsolete-grouping { + choice interface-choice { + status obsolete; + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress"; + type uint16; + } + leaf AppNav-UnCompress { + status obsolete; + description + "Service-Context Virtual Interface UnCompress"; + type uint16; + } + leaf ATM { + status obsolete; + description + "ATM interface"; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + status obsolete; + description + "ATM-ACR interface"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status obsolete; + description + "Bridge-Domain interface"; + type string; + } + leaf CEM { + status obsolete; + description + "CEM interface"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status obsolete; + description + "CEM-ACR interface"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status obsolete; + description + "cisco embedded service engine module"; + type string; + } + leaf Ethernet { + status obsolete; + description + "IEEE 802.3"; + type string; + } + leaf FastEthernet { + status obsolete; + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf GigabitEthernet { + status obsolete; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + status obsolete; + description + "Five GigabitEthernet "; + type string; + } + leaf AppGigabitEthernet { + status obsolete; + description + "App-hosting Gigabit Ethernet IEEE 802.3z"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwentyFiveGigE { + status obsolete; + description + "Twenty Five GigabitEthernet "; + type string; + } + leaf TwoGigabitEthernet { + status obsolete; + description + "Two GigabitEthernet "; + type string; + } + leaf FortyGigabitEthernet { + status obsolete; + description + "Forty GigabitEthernet "; + type string; + } + leaf HundredGigE { + status obsolete; + description + "Hundred GigabitEthernet"; + type string; + } + leaf LISP { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + type string; + } + container LISP-subinterface { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface"; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status obsolete; + description + "Loopback interface"; + type uint32; + } + leaf Multilink { + status obsolete; + description + "Multilink-group interface"; + type uint16; + } + leaf nve { + status obsolete; + description + "Network virtualization endpoint interface"; + type uint16; + } + leaf overlay { + status obsolete; + description + "Overlay interface"; + type uint16; + } + leaf Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces"; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + status obsolete; + description + "Pseudowire Interface"; + type uint32; + } + leaf SM { + status obsolete; + description + "SM Interface"; + type string; + } + leaf Cellular { + status obsolete; + description + "Cellular Interface"; + type string; + } + leaf Dialer { + status obsolete; + description + "Dialer Interface"; + type string; + } + leaf Serial { + status obsolete; + description + "Serial interface"; + type string; + } + leaf Async { + status obsolete; + description + "Async serial interface"; + type string; + } + leaf TenGigabitEthernet { + status obsolete; + description + "Ten Gigabit Ethernet"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface"; + type uint32; + } + leaf Virtual-Template { + status obsolete; + description + "Virtual Template interface"; + type uint16; + } + leaf Vlan { + status obsolete; + description + "Iosxr Vlans"; + type uint16; + } + leaf VirtualPortGroup { + status obsolete; + description + "Virtual Port Group"; + type uint16; + } + leaf vasileft { + status obsolete; + description + "vasileft"; + type uint16; + } + leaf vasiright { + status obsolete; + description + "vasiright"; + type uint16; + } + leaf BD-VIF { + status obsolete; + description + "Bridge-Domain Virtual IP interface"; + type string; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-oper.yang new file mode 100644 index 000000000..644afc961 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-oper.yang @@ -0,0 +1,3281 @@ +module Cisco-IOS-XE-ospf-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospf-oper"; + prefix ospf-ios-xe-oper; + + import Cisco-IOS-XE-ospf-common { + prefix ospf-ios-xe-common; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the operation of ospf protocol in a Network Element. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-07-01 { + description + "Added OSPFv3 interface, neighbor and LS database"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-02-01 { + description + "Add Link State data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-10-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef address-family { + type enumeration { + enum address-family-ipv4 { + value 0; + } + enum address-family-ipv6 { + value 1; + } + } + description + "Address family type"; + } + + typedef ospf-operation-mode { + type enumeration { + enum ospf-ships-in-the-night { + value 0; + description + "Ships-in-the-night operation mode in which each OSPF instance carries only one address family"; + } + } + description + "OSPF operational mode"; + } + + typedef ospf-network-type { + type enumeration { + enum ospf-broadcast { + value 0; + description + "OSPF broadcast multi-access network"; + } + enum ospf-non-broadcast { + value 1; + description + "OSPF Non-Broadcast Multi-Access (NBMA) network"; + } + enum ospf-point-to-multipoint { + value 2; + description + "OSPF point-to-multipoint network"; + } + enum ospf-point-to-point { + value 3; + description + "OSPF point-to-point network"; + } + } + description + "OSPF network type"; + } + + typedef ospf-auth-type { + type enumeration { + enum ospf-auth-ipsec { + value 0; + } + enum ospf-auth-trailer-keychain { + value 1; + } + enum ospf-auth-trailer-key { + value 2; + } + enum ospf-auth-type-none { + value 3; + } + } + description + "OSPF Authentication type"; + } + + typedef nbr-state-type { + type enumeration { + enum ospf-nbr-down { + value 1; + description + "Neighbor state down"; + } + enum ospf-nbr-attempt { + value 2; + description + "Neighbor attempt state"; + } + enum ospf-nbr-init { + value 3; + description + "Neighbor initial state"; + } + enum ospf-nbr-two-way { + value 4; + description + "Neighbor 2-way state"; + } + enum ospf-nbr-exchange-start { + value 5; + description + "Neighbor exchange start state"; + } + enum ospf-nbr-exchange { + value 6; + description + "Neighbor exchange state"; + } + enum ospf-nbr-loading { + value 7; + description + "Neighbor loading state"; + } + enum ospf-nbr-full { + value 8; + description + "Neighbor full state"; + } + } + description + "OSPF neighbor state type"; + } + + typedef ospfv2-lsa-type { + type enumeration { + enum ospfv2-lsa-type-unsupported-lsa-type { + value 0; + } + enum ospfv2-lsa-type-router { + value 1; + } + enum ospfv2-lsa-type-network { + value 2; + } + enum ospfv2-lsa-type-summary-net { + value 3; + } + enum ospfv2-lsa-type-summary-router { + value 4; + } + enum ospfv2-lsa-type-as-external { + value 5; + } + enum ospfv2-lsa-type-nssa { + value 6; + } + enum ospfv2-lsa-type-link-scope-opaque { + value 7; + } + enum ospfv2-lsa-type-area-scope-opaque { + value 8; + } + enum ospfv2-lsa-type-as-scope-opaque { + value 9; + } + } + description + "Link State Advertisement type"; + } + + typedef ospf-external-metric-type { + type enumeration { + enum ospf-ext-metric-type-1 { + value 0; + } + enum ospf-ext-metric-type-2 { + value 1; + } + } + description + "External metric type"; + } + + typedef ospfv2-intf-state { + type enumeration { + enum ospfv2-interface-state-down { + value 0; + description + "The interface is in the down state"; + } + enum ospfv2-interface-state-loopback { + value 1; + description + "The interface is in loopback state"; + } + enum ospfv2-interface-state-waiting { + value 2; + description + "The interface is in waiting state"; + } + enum ospfv2-interface-state-point-to-mpoint { + value 3; + description + "The interface is in point-to-multipoint state"; + } + enum ospfv2-interface-state-point-to-point { + value 4; + description + "The interface is in point-to-point state"; + } + enum ospfv2-interface-state-dr { + value 5; + description + "The interface is in the designated router state"; + } + enum ospfv2-interface-state-backup { + value 6; + description + "The interface is providing backup for another + interface"; + } + enum ospfv2-interface-state-other { + value 7; + description + "The interface is in a state other than the ones + numerated in this list"; + } + } + description + "The possible states that an interface can be in"; + } + + typedef ospfv2-auth-type-selection { + type enumeration { + enum ospfv2-auth-none { + value 0; + description + "No authentication configured"; + } + enum ospfv2-auth-trailer-key { + value 1; + description + "Authentication uses the trailer key"; + } + enum ospfv2-auth-trailer-key-chain { + value 2; + description + "Authentication uses a trailer key chain"; + } + } + description + "The authentication type"; + } + + typedef ospfv2-crypto-algorithm { + type enumeration { + enum ospfv2-crypto-cleartest { + value 0; + description + "The OSPFv2 authentication is sent as cleartext"; + } + enum ospfv2-crypto-md5 { + value 1; + description + "The OSPFv2 authentication is encrypted using + Message Digest 5"; + } + } + description + "The algorithm in use"; + } + + typedef ospfv3-lsa-type { + type enumeration { + enum ospfv3-lsa-type-unsupported { + value 0; + description + "OSPFv3 unsupported LSA"; + } + enum ospfv3-lsa-type-router { + value 1; + description + "OSPFv3 Router-LSA"; + } + enum ospfv3-lsa-type-network { + value 2; + description + "OSPFv3 Network-LSA"; + } + enum ospfv3-lsa-type-inter-area-prefix { + value 3; + description + "OSPFv3 Inter-Area-Prefix-LSA"; + } + enum ospfv3-lsa-type-inter-area-router { + value 4; + description + "OSPFv3 Inter-Area-Router-LSA"; + } + enum ospfv3-lsa-type-nssa { + value 5; + description + "OSPFv3-NSSA-LSA"; + } + enum ospfv3-lsa-type-prefix { + value 6; + description + "OSPFv3 Intra-Area-Prefix-LSA"; + } + } + description + "Link State Advertisement type"; + } + + typedef ospfv3-rtr-lsa-lnk-type { + type enumeration { + enum link-type-unknown { + value 0; + description + "Link type unknown"; + } + enum link-type-router { + value 1; + description + "Link type router"; + } + enum link-type-transit-network { + value 2; + description + "Link type transit network"; + } + enum link-type-reserved { + value 3; + description + "Link type reserved"; + } + enum link-type-virtual { + value 4; + description + "Link type virtual"; + } + } + description + "OSPFv3 router LSA link type"; + } + + typedef ospfv3-ase-metric-type { + type enumeration { + enum metric-type-unknown { + value 0; + description + "Unknown metric type"; + } + enum metric-type1 { + value 1; + description + "Metric type 1, comparable directly to link state metric "; + } + enum metric-type2 { + value 2; + description + "Metric type 2, larger than any link state path."; + } + } + description + "OSPFv3 external LSA metric type"; + } + + typedef ospfv3-ipsec-auth-algo { + type enumeration { + enum invalid { + value 0; + description + "Invalid authentication"; + } + enum md5 { + value 1; + description + "MD5 authentication"; + } + enum sha1 { + value 2; + description + "SHA1 authentication"; + } + } + description + "IPSEC authentication algorithm type"; + } + + typedef lsa-flag-options { + type bits { + bit lsa-flag-options-dc { + position 0; + } + bit lsa-flag-options-p { + position 1; + } + bit lsa-flag-options-mc { + position 2; + } + bit lsa-flag-options-e { + position 3; + } + bit lsa-flag-options-upward { + position 4; + } + bit lsa-flag-options-mt { + position 5; + } + bit lsa-flag-options-r { + position 6; + } + bit lsa-flag-options-af { + position 7; + } + } + description + "LSA options"; + } + + typedef ospfv2-lsa-body-flags-options { + type bits { + bit ospv2-lsa-body-flag-options-v { + position 0; + } + bit ospv2-lsa-body-flag-options-e { + position 1; + } + bit ospv2-lsa-body-flag-options-b { + position 2; + } + } + description + "OSPFv2 LSA body flags"; + } + + typedef ospfv3-lsa-options { + type bits { + bit ospfv3-lsa-flag-dc { + position 0; + } + bit ospfv3-lsa-flag-r { + position 1; + } + bit ospfv3-lsa-flag-n { + position 2; + } + bit ospfv3-lsa-flag-e { + position 3; + } + bit ospfv3-lsa-flag-v6 { + position 4; + } + bit ospfv3-lsa-flag-af { + position 5; + } + } + description + "The flags associated with the OSPFv3 LSA"; + } + + typedef ospfv3-lsa-body-flag-options { + type bits { + bit ospfv3-lsa-body-flag-options-v { + position 0; + } + bit ospfv3-lsa-body-flag-options-e { + position 1; + } + bit ospfv3-lsa-body-flag-options-b { + position 2; + } + bit ospfv3-lsa-body-flag-options-nt { + position 3; + } + } + description + "OSPFv3 LSA body flags"; + } + + typedef ospfv2-lsa-flag-options { + type bits { + bit ospfv2-lsa-flag-options-mt { + position 0; + } + bit ospfv2-lsa-flag-options-e { + position 1; + } + bit ospfv2-lsa-flag-options-mc { + position 2; + } + bit ospfv2-lsa-flag-options-np { + position 3; + } + bit ospfv2-lsa-flag-options-l { + position 4; + } + bit ospfv2-lsa-flag-options-dc { + position 5; + } + bit ospfv2-lsa-flag-options-o { + position 6; + } + bit ospfv2-lsa-flag-options-dn { + position 7; + } + } + description + "Link State Advertisement options"; + } + + typedef ospfv2-router-lsa-bits { + type bits { + bit ospfv2-router-lsa-bits-v { + position 0; + } + bit ospfv2-router-lsa-bits-e { + position 1; + } + bit ospfv2-router-lsa-bits-b { + position 2; + } + bit ospfv2-router-lsa-bits-nt { + position 3; + } + } + description + "Router Link State Advertisement bits"; + } + + typedef ospfv3-rtr-lsa-bits { + type bits { + bit ospfv3-rtr-lsa-bits-v { + position 0; + description + "OSPFv3 router LSA bit for virtual endpoint"; + } + bit ospfv3-rtr-lsa-bits-e { + position 1; + description + "OSPFv3 router LSA bit for AS border endpoint"; + } + bit ospfv3-rtr-lsa-bits-b { + position 2; + description + "OSPFv3 router LSA bit for area border"; + } + bit ospfv3-rtr-lsa-bits-nt { + position 3; + description + "OSPFv3 router LSA bit for NSSA translation"; + } + } + description + "OSPFv3 router link state advertisement bits"; + } + + typedef ospfv3-lsa-pfx-opts { + type bits { + bit nu-bit { + position 0; + description + "NU Bit, when set, the prefix should be excluded from IPv6 unicast calculations."; + } + bit la-bit { + position 1; + description + "LA bit, when set, the prefix is actually an IPv6 interface address of the Advertising Router."; + } + bit p-bit { + position 2; + description + "P bit, when set, the NSSA area prefix should be translated to an AS External LSA and advertised by the translating NSSA Border Router."; + } + bit dn-bit { + position 3; + description + "DN bit, when set, the inter-area-prefix LSA or AS-external LSA prefix has been advertised as an L3 VPN prefix."; + } + } + description + "OSPFv3 LSA prefix options"; + } + + typedef ospfv3-lsa-flag-opts { + type bits { + bit af-bit { + position 0; + description + "AF bit, when set, the router supports OSPFv3 Address Families as in RFC 5838."; + } + bit dc-bit { + position 1; + description + "DC bit, when set,the router supports demand circuits."; + } + bit r-bit { + position 2; + description + "R bit, when set, the originator is an active router."; + } + bit n-bit { + position 3; + description + "N bit, when set, the router is attached to an NSSA"; + } + bit e-bit { + position 4; + description + "E bit, this bit describes the way AS-external LSAs are flooded"; + } + bit v6-bit { + position 5; + description + "V6 bit, if clear, the router or link should be excluded from IPv6 routing calculation"; + } + } + description + "OSPFv3 LSA options"; + } + + grouping ospfv2-unknown-sub-tlv { + description + "OSPF V2 unknown Sub TLV"; + leaf type { + type uint16; + description + "TLV type"; + } + leaf length { + type uint16; + description + "TLV length"; + } + leaf-list value { + type uint8; + ordered-by user; + description + "TLV value"; + } + } + + grouping ospfv2-link-tlv { + description + "OSPF V2 Link TLV"; + leaf link-type { + type uint8; + description + "Link type"; + } + leaf link-id { + type uint32; + description + "Link ID"; + } + leaf-list local-if-ipv4-addr { + type inet:ip-address; + ordered-by user; + description + "List of local interface IPv4 addresses"; + } + leaf-list local-remote-ipv4-addr { + type inet:ip-address; + ordered-by user; + description + "List of remote interface IPv4 addresses"; + } + leaf te-metric { + type uint32; + description + "TE metric"; + } + leaf max-bandwidth { + type decimal64 { + fraction-digits 2; + } + description + "Maximum bandwidth"; + } + leaf max-reservable-bandwidth { + type decimal64 { + fraction-digits 2; + } + description + "Maximum reservable bandwidth"; + } + leaf unreserved-bandwidth { + type decimal64 { + fraction-digits 2; + } + description + "Unreserved bandwidth"; + } + leaf admin-group { + type uint32; + description + "Administrative group/Resource class/Color"; + } + } + + grouping ospfv2-unknown-tlv { + description + "OSPFv2 unknown type TLV"; + leaf type { + type uint16; + description + "TLV type"; + } + leaf length { + type uint16; + description + "TLV length"; + } + leaf-list value { + type uint8; + ordered-by user; + description + "TLV value"; + } + } + + grouping ospfv2-external { + description + "external LSA"; + leaf mt-id { + type uint32; + description + "MT-ID for topology enabled on the link"; + } + leaf metric { + type uint32; + description + "Metric for the topology"; + } + leaf forwarding-address { + type inet:ip-address; + description + "Forwarding address"; + } + leaf external-route-tag { + type uint32; + description + "Route tag"; + } + } + + grouping ospfv2-topology { + description + "OSPFv2 topology"; + leaf mt-id { + type uint32; + description + "MT-ID for topology enabled link"; + } + leaf metric { + type uint16; + description + "Metric for the topology"; + } + } + + grouping ospfv2-link-key { + description + "OSPFv2 link key"; + leaf link-id { + type uint32; + description + "Link ID"; + } + leaf link-data { + type uint32; + description + "Link data"; + } + } + + grouping ospfv2-link { + description + "OSPFv2 link"; + leaf type { + type uint8; + description + "Link type"; + } + list ospfv2-topology { + key "mt-id"; + description + "Topology specific information"; + uses ospf-ios-xe-oper:ospfv2-topology; + } + } + + grouping link-scope-lsa-key { + description + "Link scope LSA key"; + leaf lsa-id { + type uint32; + description + "LSA ID"; + } + leaf adv-router { + type inet:ip-address; + description + "Advertising router"; + } + } + + grouping ospfv2-network { + description + "OSPFv2 network info"; + leaf network-mask { + type inet:ip-address; + description + "IP network mask"; + } + leaf-list attached-router { + type uint32; + ordered-by user; + description + "List of the routers attached to the network"; + } + } + + grouping ospfv2-lsa-body { + description + "OSPFv2 LSA body"; + leaf num-of-links { + type uint16; + description + "Number of links"; + } + container network { + description + "Network details"; + uses ospf-ios-xe-oper:ospfv2-network; + } + leaf summary-mask { + type inet:ip-address; + description + "Summary mask"; + } + leaf external-mask { + type inet:ip-address; + description + "External mask"; + } + leaf body-flag-options { + type ospf-ios-xe-oper:ospfv2-lsa-body-flags-options; + description + "LSA body flags"; + } + } + + grouping lsa-header { + description + "LSA header"; + leaf age { + type uint16; + description + "LSA age"; + } + leaf type { + type uint16; + description + "LSA type"; + } + leaf adv-router { + type uint32; + description + "LSA advertising router"; + } + leaf seq-num { + type string; + description + "LSA sequence number"; + } + leaf checksum { + type string; + description + "LSA checksum"; + } + leaf length { + type uint16; + description + "LSA length"; + } + } + + grouping ospfv2-header { + description + "OSPFv2 header"; + leaf lsa-id { + type inet:ip-address; + description + "LSA ID"; + } + leaf opaque-type { + type uint8; + description + "Opaque type"; + } + leaf opaque-id { + type uint32; + description + "Opaque ID"; + } + leaf age { + type uint16; + description + "LSA age"; + } + leaf type { + type uint16; + description + "LSA type"; + } + leaf adv-router { + type uint32; + description + "LSA advertising router"; + } + leaf seq-num { + type string; + description + "LSA sequence number"; + } + leaf checksum { + type string; + description + "LSA checksum"; + } + leaf length { + type uint16; + description + "LSA length"; + } + leaf flag-options { + type ospf-ios-xe-oper:lsa-flag-options; + description + "LSA options"; + } + } + + grouping ospfv2-lsa { + description + "OSPFv2 LSA"; + container header { + description + "Decoded OSPFv2 LSA header data"; + uses ospf-ios-xe-oper:ospfv2-header; + } + container lsa-body { + description + "Decoded OSPFv2 LSA body data"; + uses ospf-ios-xe-oper:ospfv2-lsa-body; + } + } + + grouping ospfv3-header { + description + "OSPFv3 header"; + leaf lsa-id { + type inet:ip-address; + description + "LSA ID"; + } + container lsa-header { + description + "LSA header"; + uses ospf-ios-xe-oper:lsa-header; + } + leaf lsa-hdr-options { + type ospf-ios-xe-oper:ospfv3-lsa-options; + description + "OSPFv3 LSA options"; + } + } + + grouping ospfv3-network { + description + "OSPFv3 network LSA"; + leaf-list attached-router { + type uint32; + ordered-by user; + description + "List of the routers attached to the network"; + } + leaf lsa-net-options { + type ospf-ios-xe-oper:ospfv3-lsa-options; + description + "Network LSA options"; + } + } + + grouping ospfv3-inter-area-prefix { + description + "OSPFv3 inter area router LSA"; + leaf metric { + type uint32; + description + "Metric"; + } + leaf ia-prefix { + type string; + description + "Inter area Prefix"; + } + leaf ia-prefix-options { + type string; + description + "Inter area prefix options"; + } + } + + grouping ospfv3-inter-area-router { + description + "OSPFv3 inter area router info"; + leaf metric { + type uint32; + description + "Metric"; + } + leaf destination-router-id { + type uint32; + description + "Router ID of the router being described by the LSA"; + } + leaf lsa-ia-options { + type ospf-ios-xe-oper:ospfv3-lsa-options; + description + "Inter area LSA options"; + } + } + + grouping ospfv3-lsa-external-flags { + description + "OSPFv3 LSA external flags"; + leaf e-flag { + type boolean; + description + "When set, the metric specified is a Type 2 external metric"; + } + } + + grouping ospfv3-lsa-external { + description + "OSPFv3 AS-External and NSSA LSA"; + leaf metric { + type uint32; + description + "Metric"; + } + container flags { + description + "LSA Flags"; + uses ospf-ios-xe-oper:ospfv3-lsa-external-flags; + } + leaf referenced-ls-type { + type uint16; + description + "Referenced Link State type"; + } + leaf external-prefix { + type string; + description + "Prefix"; + } + leaf external-prefix-options { + type string; + description + "Prefix options"; + } + leaf forwarding-address { + type inet:ip-address; + description + "Forwarding address"; + } + leaf external-route-tag { + type uint32; + description + "Route tag"; + } + leaf referenced-link-state-id { + type uint32; + description + "Referenced Link State ID"; + } + } + + grouping ospfv3-nssa { + description + "OSPFv3 NSSA LSA"; + container lsa-nssa-external { + description + "NSSA LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-external; + } + } + + grouping ospfv3-link-data { + description + "OSPFv3 Link Data"; + leaf rtr-priority { + type uint8; + description + "Router priority of the interface"; + } + leaf link-local-interface-address { + type inet:ip-address; + description + "The originating router's link-local interface address on the link"; + } + leaf num-of-prefixes { + type uint32; + description + "Number of prefixes"; + } + leaf lsa-id-options { + type ospf-ios-xe-oper:ospfv3-lsa-options; + description + "Link data LSA options"; + } + } + + grouping ospfv3-intra-area-prefix { + description + "OSPFv3 intra area prefix LSA"; + leaf referenced-ls-type { + type uint16; + description + "Referenced Link State type"; + } + leaf referenced-link-state-id { + type uint32; + description + "Referenced Link State ID"; + } + leaf referenced-adv-router { + type inet:ip-address; + description + "Referenced Advertising Router"; + } + leaf num-of-prefixes { + type uint16; + description + "Number of prefixes"; + } + } + + grouping ospfv3-lsa-body { + description + "Decoded OSPFv3 LSA body data"; + container network { + description + "OSPFv3 network"; + uses ospf-ios-xe-oper:ospfv3-network; + } + container prefix { + description + "OSPFv3 inter area prefix"; + uses ospf-ios-xe-oper:ospfv3-inter-area-prefix; + } + container ia-router { + description + "OSPFv3 inter area router"; + uses ospf-ios-xe-oper:ospfv3-inter-area-router; + } + container lsa-external { + description + "OSPFv3 LSA external"; + uses ospf-ios-xe-oper:ospfv3-lsa-external; + } + container nssa { + description + "OSPFv3 NSSA"; + uses ospf-ios-xe-oper:ospfv3-nssa; + } + container link-data { + description + "OSPFv3 Link data"; + uses ospf-ios-xe-oper:ospfv3-link-data; + } + container ia-prefix { + description + "OSPFv3 Intra area prefixes"; + uses ospf-ios-xe-oper:ospfv3-intra-area-prefix; + } + leaf lsa-flag-options { + type ospf-ios-xe-oper:ospfv3-lsa-options; + description + "LSA options"; + } + leaf lsa-body-flags { + type ospf-ios-xe-oper:ospfv3-lsa-body-flag-options; + description + "LSA Body Flags"; + } + } + + grouping ospfv3-lsa { + description + "OSPFv3 LSA"; + container header { + description + "Decoded OSPFv3 LSA header"; + uses ospf-ios-xe-oper:ospfv3-header; + } + container lsa-body { + description + "Decoded OSPFv3 LSA body"; + uses ospf-ios-xe-oper:ospfv3-lsa-body; + } + } + + grouping ospfv3-link-key { + description + "OSPFv3 link key"; + leaf interface-id { + type uint32; + description + "Interface ID"; + } + leaf neighbor-interface-id { + type uint32; + description + "Neighbor interface ID"; + } + leaf neighbor-router-id { + type uint32; + description + "Neighbor router ID"; + } + } + + grouping ospfv3-link { + description + "OSPFv3 link"; + leaf type { + type uint8; + description + "Link type"; + } + leaf metric { + type uint16; + description + "Metric"; + } + } + + grouping ospfv3-prefix-list { + description + "OSPFv3 prefix list"; + leaf prefix { + type string; + description + "Prefix"; + } + leaf prefix-options { + type string; + description + "Prefix options"; + } + } + + grouping multi-topology { + description + "Multi topology"; + leaf name { + type string; + description + "One of the topology enabled on this interface"; + } + } + + grouping link-scope-lsa { + description + "Link scope LSA"; + leaf decoded-completed { + type boolean; + description + "The OSPF LSA body is fully decoded"; + } + leaf-list raw-data { + type uint8; + ordered-by user; + description + "The complete LSA in network byte order as received/sent over the wire"; + } + leaf version { + type uint32; + description + "Version"; + } + container ospfv2-lsa { + description + "OSPFv2 LSA"; + uses ospf-ios-xe-oper:ospfv2-lsa; + } + list ospfv2-link { + key "link-id link-data"; + description + "OSPFv2 LSA link"; + uses ospf-ios-xe-oper:ospfv2-link-key; + uses ospf-ios-xe-oper:ospfv2-link; + } + list ospfv2-topology { + key "mt-id"; + description + "Summary LSA"; + uses ospf-ios-xe-oper:ospfv2-topology; + } + list ospfv2-external { + key "mt-id"; + description + "External LSA"; + uses ospf-ios-xe-oper:ospfv2-external; + } + list ospfv2-unknown-tlv { + key "type"; + description + "OSPFv2 Unknown TLV"; + uses ospf-ios-xe-oper:ospfv2-unknown-tlv; + } + container ospfv3-lsa-val { + description + "OSPFv3 LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa; + } + list ospfv3-link { + key "interface-id neighbor-interface-id neighbor-router-id"; + description + "OSPFv3 links"; + uses ospf-ios-xe-oper:ospfv3-link-key; + uses ospf-ios-xe-oper:ospfv3-link; + } + list ospfv3-prefix-list { + key "prefix"; + description + "OSPFv3 prefix-list"; + uses ospf-ios-xe-oper:ospfv3-prefix-list; + } + list ospfv3-ia-prefix { + key "prefix"; + description + "OSPFv3 intra-area prefix-list"; + uses ospf-ios-xe-oper:ospfv3-prefix-list; + } + list multi-topology { + key "name"; + description + "OSPF multi-topology interface augmentation"; + uses ospf-ios-xe-oper:multi-topology; + } + leaf router-address { + type inet:ip-address; + description + "Router address"; + } + container tlv { + description + "Link TLV"; + uses ospf-ios-xe-oper:ospfv2-link-tlv; + } + list unknown-sub-tlv { + key "type"; + description + "OSPFv2 Unknown sub TLV"; + uses ospf-ios-xe-oper:ospfv2-unknown-sub-tlv; + } + } + + grouping area-scope-lsa-key { + description + "OSPF area scope LSA key"; + leaf lsa-type { + type uint32; + description + "LSA Type"; + } + leaf adv-router { + type inet:ip-address; + description + "Advertising router"; + } + } + + grouping area-scope-lsa { + description + "OSPF area scope LSA"; + leaf decoded-completed { + type boolean; + description + "The OSPF LSA body is fully decoded"; + } + leaf-list raw-data { + type uint8; + ordered-by user; + description + "The complete LSA in network byte order as received/sent over the wire"; + } + container ospfv2-lsa { + description + "OSPFv2 LSA"; + uses ospf-ios-xe-oper:ospfv2-lsa; + } + list ospfv2-link { + key "link-id link-data"; + description + "Router LSA link"; + uses ospf-ios-xe-oper:ospfv2-link-key; + uses ospf-ios-xe-oper:ospfv2-link; + } + list ospfv2-topology { + key "mt-id"; + description + "Summary LSA"; + uses ospf-ios-xe-oper:ospfv2-topology; + } + list ospfv2-external { + key "mt-id"; + description + "External LSA"; + uses ospf-ios-xe-oper:ospfv2-external; + } + container ospfv3-lsa { + description + "OSPFv3 LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa; + } + list ospfv3-link { + key "interface-id neighbor-interface-id neighbor-router-id"; + description + "OSPFv3 links"; + uses ospf-ios-xe-oper:ospfv3-link-key; + uses ospf-ios-xe-oper:ospfv3-link; + } + list ospfv3-prefix { + key "prefix"; + description + "OSPFv3 prefix-list"; + uses ospf-ios-xe-oper:ospfv3-prefix-list; + } + list ospfv3-ia-prefix { + key "prefix"; + description + "OSPFv3 intra-area prefix-list"; + uses ospf-ios-xe-oper:ospfv3-prefix-list; + } + } + + grouping area-scope-lsas { + description + "OSPF area scope LSA"; + leaf lsa-type { + type uint32; + description + "OSPF link scope LSA type"; + } + list area-scope-lsa { + key "lsa-type adv-router"; + description + "List of OSPF link scope LSAs"; + uses ospf-ios-xe-oper:area-scope-lsa-key; + uses ospf-ios-xe-oper:area-scope-lsa; + } + } + + grouping link-scope-lsas { + description + "Link scope lsas"; + leaf lsa-type { + type uint32; + description + "OSPF link scope LSA type"; + } + list link-scope-lsa { + key "lsa-id adv-router"; + description + "List of OSPF link scope LSAs"; + uses ospf-ios-xe-oper:link-scope-lsa-key; + uses ospf-ios-xe-oper:link-scope-lsa; + } + list area-scope-lsa { + key "lsa-type adv-router"; + description + "List OSPF area scope LSA databases"; + uses ospf-ios-xe-oper:area-scope-lsa-key; + uses ospf-ios-xe-oper:area-scope-lsa; + } + } + + grouping ospf-static-neighbor { + description + "OSPF neighbor info"; + leaf address { + type inet:ip-address; + description + "Neighbor IP address"; + } + leaf cost { + type uint16; + description + "Neighbor cost"; + } + leaf poll-interval { + type uint16; + units "seconds"; + description + "Neighbor polling interval in seconds"; + } + } + + grouping ospf-nbr-stat { + description + "OSPF neighbor statistics"; + leaf nbr-event-count { + type uint32; + description + "The number of time this neighbor has changed state or an error has occurred"; + } + leaf nbr-retrans-qlen { + type uint32; + description + "The current length of the retransmission queue"; + } + } + + grouping ospf-neighbor { + description + "OSPF neighbor details"; + leaf neighbor-id { + type inet:ip-address; + description + "OSPF neighbor ID"; + } + leaf address { + type inet:ip-address; + description + "Neighbor address"; + } + leaf dr { + type inet:ip-address; + description + "Designated Router"; + } + leaf bdr { + type inet:ip-address; + description + "Backup Designated Router"; + } + leaf state { + type ospf-ios-xe-oper:nbr-state-type; + description + "OSPF neighbor state"; + } + container stats { + description + "Per-neighbor statistics"; + uses ospf-ios-xe-oper:ospf-nbr-stat; + } + } + + grouping fast-reroute { + description + "Fast Reroute details"; + leaf candidate-disabled { + type boolean; + description + "Prevent the interface to be used as backup"; + } + leaf enabled { + type boolean; + description + "Activates LFA. This model assumes activation of per-prefix LFA"; + } + leaf remote-lfa-enabled { + type boolean; + description + "Activates remote LFA"; + } + } + + grouping multi-area { + description + "Multi Area info"; + leaf multi-area-id { + type uint32; + description + "Multi-area ID"; + } + leaf cost { + type uint16; + description + "Interface cost for multi-area"; + } + } + + grouping ospf-crypto-algorithm { + description + "Crypto Algorithm"; + leaf hmac-sha1-12 { + type empty; + description + "HMAC-SHA1-12 algorithm"; + } + leaf hmac-sha1-20 { + type empty; + description + "HMAC-SHA1-20 algorithm"; + } + leaf md5 { + type empty; + description + "MD5 algorithm"; + } + leaf sha-1 { + type empty; + description + "SHA-1 algorithm"; + } + leaf hmac-sha-1 { + type empty; + description + "HMAC-SHA-1 authentication algorithm"; + } + leaf hmac-sha-256 { + type empty; + description + "HMAC-SHA-256 authentication algorithm"; + } + leaf hmac-sha-384 { + type empty; + description + "HMAC-SHA-384 authentication algorithm"; + } + leaf hmac-sha-512 { + type empty; + description + "HMAC-SHA-512 authentication algorithm"; + } + } + + grouping ospf-authentication { + description + "OSPF authentication info"; + choice auth-type-selection-choice { + description + "OSPF authentication type"; + case ospf-auth-ipsec { + leaf sa { + type string; + description + "SA name"; + } + } + case ospf-auth-trailer-keychain { + leaf key-chain { + type string; + description + "key-chain name"; + } + } + case ospf-auth-trailer-key { + leaf key-string { + type string; + description + "Key string in ASCII format"; + } + container crypto-algorithm-val { + description + "Crypto algorithm"; + uses ospf-ios-xe-oper:ospf-crypto-algorithm; + } + } + case ospf-auth-type-none { + leaf no-auth { + type uint32; + description + "No authentication enabled"; + } + } + } + } + + grouping ttl-security { + description + "TTL security check"; + leaf enabled { + type boolean; + description + "Enable/Disable TTL security check"; + } + leaf hops { + type uint8; + description + "Maximum number of hops that a OSPF packet may have travelled"; + } + } + + grouping ospf-interface { + description + "OSPF interface"; + leaf name { + type string; + description + "Interface name"; + } + leaf network-type { + type ospf-ios-xe-oper:ospf-network-type; + description + "Network type"; + } + leaf passive { + type boolean; + description + "Enable/Disable passive"; + } + leaf demand-circuit { + type boolean; + description + "Enable/Disable demand circuit"; + } + container multi-area { + description + "Multi Area"; + uses ospf-ios-xe-oper:multi-area; + } + list static-neighbor { + key "address"; + description + "Statically configured neighbors"; + uses ospf-ios-xe-oper:ospf-static-neighbor; + } + leaf node-flag { + type boolean; + description + "Set prefix as a node representative prefix"; + } + container fast-reroute { + description + "Fast reroute config"; + uses ospf-ios-xe-oper:fast-reroute; + } + leaf cost { + type uint16; + description + "Interface cost"; + } + leaf hello-interval { + type uint16; + description + "Time between hello packets"; + } + leaf dead-interval { + type uint16; + description + "Interval after which a neighbor is declared dead"; + } + leaf retransmit-interval { + type uint16; + description + "Time between retransmitting unacknowledged Link State Advertisements (LSAs)"; + } + leaf transmit-delay { + type uint16; + description + "Estimated time needed to send link-state update"; + } + leaf mtu-ignore { + type boolean; + description + "Enable/Disable ignoring of MTU in DBD packets"; + } + leaf lls { + type boolean; + description + "Enable/Disable link-local signalling (LLS) support"; + } + leaf prefix-suppression { + type boolean; + description + "Suppress advertisement of the prefixes"; + } + leaf bfd { + type boolean; + description + "Enable/disable bfd"; + } + container ttl-security { + description + "TTL security"; + uses ospf-ios-xe-oper:ttl-security; + } + leaf enable { + type boolean; + description + "Enable/disable protocol on the interface"; + } + container authentication { + description + "Authentication configuration"; + uses ospf-ios-xe-oper:ospf-authentication; + } + leaf state { + type string; + description + "Interface state"; + } + leaf hello-timer { + type uint32; + description + "Hello timer"; + } + leaf wait-timer { + type uint32; + description + "Wait timer"; + } + leaf dr { + type inet:ip-address; + description + "Designated Router"; + } + leaf bdr { + type inet:ip-address; + description + "Backup Designated Router"; + } + list ospf-neighbor { + key "neighbor-id"; + description + "List of OSPF neighbors"; + uses ospf-ios-xe-oper:ospf-neighbor; + } + list intf-link-scope-lsas { + key "lsa-type"; + description + "List OSPF link scope LSAs"; + uses ospf-ios-xe-oper:link-scope-lsas; + } + list intf-multi-topology { + key "name"; + description + "OSPF interface topology"; + uses ospf-ios-xe-oper:multi-topology; + } + leaf priority { + type uint8; + description + "Configure OSPF router priority"; + } + } + + grouping ospf-area { + description + "OSPF area"; + leaf area-id { + type uint32; + description + "OSPF area ID"; + } + list ospf-interface { + key "name"; + description + "List of OSPF interfaces"; + uses ospf-ios-xe-oper:ospf-interface; + } + list area-scope-lsa { + key "lsa-type"; + description + "List of OSPF area scope LSA"; + uses ospf-ios-xe-oper:area-scope-lsas; + } + } + + grouping ospf-instance-rev1-key { + description + "OSPF instance key type"; + leaf af { + type ospf-ios-xe-oper:address-family; + description + "Address-family of the instance"; + } + leaf router-id { + type uint32; + description + "Defined in RFC 2328. A 32-bit number that uniquely identifies the router"; + } + } + + grouping ospf-instance-rev1 { + description + "OSPF instance"; + list ospf-area { + key "area-id"; + description + "List of ospf areas"; + uses ospf-ios-xe-oper:ospf-area; + } + list link-scope-lsas { + key "lsa-type"; + description + "List OSPF link scope LSA"; + uses ospf-ios-xe-oper:link-scope-lsas; + } + list multi-topology { + key "name"; + description + "OSPF multi-topology interface augmentation"; + uses ospf-ios-xe-oper:multi-topology; + } + leaf process-id { + type uint16; + description + "The process identifier used to refer to this instance"; + } + } + + grouping ospf-rev1 { + description + "OSPF operational data"; + leaf op-mode { + type ospf-ios-xe-oper:ospf-operation-mode; + description + "OSPF operation mode"; + } + list ospf-instance { + key "af router-id"; + description + "OSPF routing protocol instance"; + uses ospf-ios-xe-oper:ospf-instance-rev1-key; + uses ospf-ios-xe-oper:ospf-instance-rev1; + } + } + + grouping ospfv2-lsa-info-key { + description + "Link State Advertisement information key"; + leaf lsa-type { + type uint8; + description + "Link State Advertisement type"; + } + leaf lsa-id { + type uint32; + description + "Link State Advertisement Identifier"; + } + leaf advertising-router { + type uint32; + description + "Advertising router"; + } + } + + grouping ospfv2-unsupported-lsa { + description + "Unsupported Link State Advertisement"; + leaf-list lsa-data { + type uint8; + ordered-by user; + description + "Link State Advertisement data"; + } + } + + grouping ospfv2-router-link-key { + description + "Router Link key"; + leaf link-type { + type uint8; + description + "Link Type"; + } + leaf link-id { + type uint32; + description + "link Identifier"; + } + leaf link-data { + type uint32; + description + "link data"; + } + } + + grouping ospfv2-router-link-topo { + description + "Router link topology"; + leaf mt-id { + type uint8; + description + "Multi topology identifier"; + } + leaf topo-metric { + type uint16; + description + "Topology metric"; + } + } + + grouping ospfv2-router-link { + description + "Router Link"; + list link-topo { + description + "Link topology"; + uses ospf-ios-xe-oper:ospfv2-router-link-topo; + } + } + + grouping ospfv2-router-lsa { + description + "Router Link State Advertisement"; + leaf router-lsa-bits { + type ospf-ios-xe-oper:ospfv2-router-lsa-bits; + description + "Router Link State Advertisement bits"; + } + leaf router-lsa-number-links { + type uint16; + description + "Router Link State Advertisement number of links"; + } + } + + grouping ospfv2-network-lsa { + description + "Network Link State Advertisement"; + leaf network-lsa-mask { + type uint32; + description + "Network Link State Advertisement mask"; + } + leaf-list network-attached-routers { + type uint32; + ordered-by user; + description + "Network attached routers"; + } + } + + grouping ospfv2-summary-lsa-topo { + description + "Summary Link State Advertisement topology"; + leaf mt-id { + type uint8; + description + "Multi topology identifier"; + } + leaf topo-metric { + type uint32; + description + "Topology Metric"; + } + } + + grouping ospfv2-summary-lsa { + description + "Summary Link State Advertisement"; + leaf summary-lsa-mask { + type uint32; + description + "The summary Link State Advertisement mask"; + } + list summary-topo { + description + "The summary topology"; + uses ospf-ios-xe-oper:ospfv2-summary-lsa-topo; + } + } + + grouping ospfv2-external-lsa-topo { + description + "The external Link State Advertisement topology information"; + leaf mt-id { + type uint8; + description + "The multi topology identifier"; + } + leaf topo-metric-type { + type ospf-ios-xe-oper:ospf-external-metric-type; + description + "The topology metric type associated with the + Link State Advertisement"; + } + leaf topo-metric { + type uint32; + description + "The topology metric"; + } + leaf topo-forwarding-address { + type inet:ip-address; + description + "The topology forwarding address"; + } + leaf topo-route-tag { + type uint32; + description + "The topology route tag"; + } + } + + grouping ospfv2-external-lsa { + description + "The external Link State Advertisement"; + leaf external-lsa-mask { + type uint32; + description + "The mask for the external Link State Advertisement"; + } + list external-topo { + description + "The external topology Link State Advertisement"; + uses ospf-ios-xe-oper:ospfv2-external-lsa-topo; + } + } + + grouping ospfv2-lsa-info { + description + "The Link State Advertisement information"; + leaf lsa-age { + type uint16; + description + "The age of the Link State Advertisement"; + } + leaf lsa-options { + type ospf-ios-xe-oper:ospfv2-lsa-flag-options; + description + "The options of the Link State Advertisement"; + } + leaf lsa-seq-number { + type uint32; + description + "The sequence number for the Link State Advertisement"; + } + leaf lsa-checksum { + type uint16; + description + "The checksum of the Link State Advertisement"; + } + leaf lsa-length { + type uint16; + description + "The length, in bytes, of the Link State Advertisement"; + } + list ospfv2-router-lsa-links { + key "link-type link-id link-data"; + description + "The router Link State Advertisement links"; + uses ospf-ios-xe-oper:ospfv2-router-link-key; + uses ospf-ios-xe-oper:ospfv2-router-link; + } + choice lsa-union-type-choice { + description + "The type of Link State Advertisement"; + case ospfv2-lsa-type-unsupported-lsa-type { + container unsupported-lsa { + description + "The unsupported Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-unsupported-lsa; + } + } + case ospfv2-lsa-type-router { + container router-lsa { + description + "The router Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-router-lsa; + } + } + case ospfv2-lsa-type-network { + container network-lsa { + description + "The network Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-network-lsa; + } + } + case ospfv2-lsa-type-summary-net { + container network-summary-lsa { + description + "The network summary Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-summary-lsa; + } + } + case ospfv2-lsa-type-summary-router { + container router-summary-lsa { + description + "The router summary Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-summary-lsa; + } + } + case ospfv2-lsa-type-as-external { + container external-lsa { + description + "The external Link State Advertisements"; + uses ospf-ios-xe-oper:ospfv2-external-lsa; + } + } + case ospfv2-lsa-type-nssa { + container nssa-lsa { + description + "The Not So Stubby Area Link state advertisements"; + uses ospf-ios-xe-oper:ospfv2-external-lsa; + } + } + } + } + + grouping ospfv2-nbr { + description + "Neighbor information"; + leaf nbr-id { + type uint32; + description + "The neighbor identifier"; + } + leaf address { + type inet:ip-address; + description + "Neighbor address"; + } + leaf dr { + type uint32; + description + "The neighbor's Designated Router identifier "; + } + leaf bdr { + type uint32; + description + "The neighbor's Backup Designated Router identifier"; + } + leaf dr-ip { + type inet:ip-address; + description + "The designated routers' IP address"; + } + leaf bdr-ip { + type inet:ip-address; + description + "The backup designated routers' IP address"; + } + leaf event-count { + type uint32; + description + "A count of neighbor events"; + } + leaf retrans-count { + type uint32; + description + "A count of the retransmission events"; + } + leaf state { + type ospf-ios-xe-oper:nbr-state-type; + description + "The current neighbor state"; + } + leaf dead-timer { + type uint32; + description + "The dead timer in seconds"; + } + } + + grouping ospfv2-ttl-security { + description + "Time to live security information"; + leaf enable { + type boolean; + description + "Indicates whether time to live security is enabled"; + } + leaf hops { + type int32; + description + "Number of hops for time to live security"; + } + } + + grouping ospfv2-auth-trailer-key { + description + "Trailer key information"; + leaf key-id { + type uint8; + description + "The key identifier"; + } + leaf-list key-string { + type uint8; + ordered-by user; + description + "The key string"; + } + leaf crypto-algo { + type ospf-ios-xe-oper:ospfv2-crypto-algorithm; + description + "The algorithm in use"; + } + } + + grouping ospfv2-key-chain { + description + "The key chain"; + leaf-list key-chain { + type uint8; + ordered-by user; + description + "The key chain"; + } + } + + grouping ospfv2-auth { + description + "OSPFv2 authentication information"; + choice auth-type-sel-choice { + description + "Authentication used"; + case ospfv2-auth-none { + leaf no-auth { + type uint32; + description + "No authentication in use"; + } + } + case ospfv2-auth-trailer-key { + container auth-key { + description + "Trailer key chain information"; + uses ospf-ios-xe-oper:ospfv2-auth-trailer-key; + } + } + case ospfv2-auth-trailer-key-chain { + container key-chain { + description + "Trailer key information"; + uses ospf-ios-xe-oper:ospfv2-key-chain; + } + } + } + } + + grouping ospfv2-interface { + description + "Interface information"; + leaf name { + type string; + description + "Name of the interface"; + } + leaf network-type { + type ospf-ios-xe-oper:ospf-network-type; + description + "Network type"; + } + leaf enable { + type boolean; + description + "If the interface is enabled"; + } + leaf passive { + type boolean; + description + "If the interface is in passive mode"; + } + leaf demand-circuit { + type boolean; + description + "If this is a demand circuit"; + } + leaf mtu-ignore { + type boolean; + description + "If the MTU is being ignored"; + } + leaf prefix-suppresion { + type boolean; + description + "If prefix suppression is enabled"; + } + leaf cost { + type uint16; + description + "The OSPFv2 cost"; + } + leaf hello-interval { + type uint16; + description + "The hello interval in seconds"; + } + leaf dead-interval { + type uint16; + description + "The dead interval in seconds"; + } + leaf retransmit-interval { + type uint16; + description + "The retransmit interval in seconds"; + } + leaf transmit-delay { + type uint16; + description + "The delay before transmitting a keepalive in seconds"; + } + leaf hello-timer { + type uint32; + description + "The current hello timer in seconds"; + } + leaf wait-timer { + type uint32; + description + "The wait timer in seconds"; + } + leaf dr { + type uint32; + description + "The designated router identifier"; + } + leaf bdr { + type uint32; + description + "The backup designated router identifier"; + } + leaf dr-ip { + type inet:ip-address; + description + "The address of the designated router"; + } + leaf bdr-ip { + type inet:ip-address; + description + "The address of the backup designated router"; + } + leaf state { + type ospf-ios-xe-oper:ospfv2-intf-state; + description + "The current state of the interface"; + } + container ttl-security-val { + description + "The TTL security information"; + uses ospf-ios-xe-oper:ospfv2-ttl-security; + } + container auth-val { + description + "The authentication information"; + uses ospf-ios-xe-oper:ospfv2-auth; + } + list ospfv2-neighbor { + key "nbr-id"; + description + "All the neighbors on the interface"; + uses ospf-ios-xe-oper:ospfv2-nbr; + } + } + + grouping ospfv2-area { + description + "The OSPF area information"; + leaf area-id { + type uint32; + description + "The area identifier"; + } + list ospfv2-lsdb-area { + key "lsa-type lsa-id advertising-router"; + description + "The OSPF Link State Database information for this area"; + uses ospf-ios-xe-oper:ospfv2-lsa-info-key; + uses ospf-ios-xe-oper:ospfv2-lsa-info; + } + list ospfv2-interface { + key "name"; + description + "A list of interfaces that belong to the area"; + uses ospf-ios-xe-oper:ospfv2-interface; + } + } + + grouping ospfv2-instance { + description + "The OSPFv2 instance"; + leaf instance-id { + type uint32; + description + "The routing instance identifier assigned to the + OSPF instance"; + } + leaf vrf-name { + type string; + description + "The name of the Virtual Routing and Forwarding + instance that the OSPF instance is operating within"; + } + leaf router-id { + type uint32; + description + "The router identifier assigned to the OSPF instance"; + } + list ospfv2-area { + key "area-id"; + description + "The OSPF area information"; + uses ospf-ios-xe-oper:ospfv2-area; + } + list ospfv2-lsdb-external { + key "lsa-type lsa-id advertising-router"; + description + "The external LSDB information"; + uses ospf-ios-xe-oper:ospfv2-lsa-info-key; + uses ospf-ios-xe-oper:ospfv2-lsa-info; + } + } + + grouping ospfv3-router { + description + "OSPFv3 router"; + leaf process-id { + type uint16; + description + "OSPFv3 process id"; + } + list ospfv3-afi { + key "af vrf"; + description + "OSPFv3 address family"; + uses ospf-ios-xe-oper:ospfv3-afi; + uses ospf-ios-xe-oper:ospfv3-address-family-key; + } + } + + grouping ospfv3-address-family-key { + description + "OSPFv3 AF instance"; + leaf af { + type ospf-ios-xe-common:ospfv3-address-family-types; + description + "OSPFv3 address family"; + } + leaf vrf { + type string; + description + "VRF name"; + } + } + + grouping ospfv3-router-link-topo { + description + "OSPFv3 router link topo"; + leaf mt-id { + type uint8; + description + "Router link topo ID"; + } + leaf metric { + type uint16; + description + "Router link topo metric"; + } + } + + grouping ospfv3-router-lsa-link-key { + description + "OSPFv3 router LSA link key "; + leaf link-type { + type ospf-ios-xe-oper:ospfv3-rtr-lsa-lnk-type; + description + "Router LSA link type"; + } + leaf link-intf-id { + type uint32; + description + "Router LSA link interface ID"; + } + leaf nbr-intf-id { + type uint32; + description + "Router LSA link neighbor interface ID"; + } + leaf nbr-rtr-id { + type inet:ipv4-address; + description + "Router LSA link type"; + } + } + + grouping ospfv3-router-lsa-link { + description + "OSPFv3 router lsa link "; + list link-topo { + description + "Router LSA link topology"; + uses ospf-ios-xe-oper:ospfv3-router-link-topo; + } + } + + grouping ospfv3-router-lsa { + description + "OSPFv3 router link state advertisement"; + leaf bits { + type ospf-ios-xe-oper:ospfv3-rtr-lsa-bits; + description + "OSPFv3 router LSA bits"; + } + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-flag-opts; + description + "OSPFv3 router LSA options"; + } + leaf num-links { + type uint32; + description + "Number of OSPFv3 router LSA links"; + } + } + + grouping ospfv3-network-lsa { + description + "OSPFv3 network link state advertisement"; + leaf-list attached-rtrs { + type inet:ipv4-address; + ordered-by user; + description + "Network attached routers"; + } + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-flag-opts; + description + "OSPFv3 LSA options"; + } + } + + grouping ospfv3-lsa-prefix-info { + description + "The prefix info for intra-area LSA"; + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-pfx-opts; + description + "The options advertised for the prefix in the LSA"; + } + leaf prefix { + type inet:ip-prefix; + description + "Address of the prefix"; + } + leaf metric { + type uint16; + description + "Metric for the prefix"; + } + } + + grouping ospfv3-lsa-prefixtype { + description + "The prefix type in link state advertisement"; + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-pfx-opts; + description + "The options advertised for the prefix in the LSA"; + } + leaf prefix { + type inet:ip-prefix; + description + "Address of the prefix"; + } + } + + grouping ospfv3-iapfx-lsa { + description + "OSPFv3 inter-area prefix link state advertisement"; + leaf metric { + type uint32; + description + "Metric for inter-area prefix LSA"; + } + container prefix { + description + "Advertised prefix in inter-area prefix LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-prefixtype; + } + } + + grouping ospfv3-iartr-lsa { + description + "OSPFv3 inter-area router link state advertisement"; + leaf metric { + type uint32; + description + "Metric for inter-area router LSA"; + } + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-flag-opts; + description + "Options advertised in inter-area router LSA"; + } + leaf rtr-id { + type inet:ipv4-address; + description + "Advertising router in inter-area router LSA"; + } + } + + grouping ospfv3-ex-lsa { + description + "The external link state advertisement"; + container prefix { + description + "The prefix for the external LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-prefixtype; + } + leaf metric-type { + type ospf-ios-xe-oper:ospfv3-ase-metric-type; + description + "Metric type: 2 (larger than any link state path), Metric type: 1 (comparable directly to link state metric)"; + } + leaf metric { + type uint32; + description + "The AS external LSA metric"; + } + } + + grouping ospfv3-link-lsa { + description + "The link link state advertisement"; + leaf router-priority { + type uint8; + description + "The router priority for the link LSA"; + } + leaf options { + type ospf-ios-xe-oper:ospfv3-lsa-flag-opts; + description + "The options for the link LSA"; + } + leaf local-addr { + type inet:ip-address; + description + "The link local address"; + } + list prefix { + description + "Details of the prefixes in link LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-prefixtype; + } + } + + grouping ospfv3-prefix-lsa { + description + "The intra-area prefix link state advertisement"; + leaf ref-ls-type { + type uint16; + description + "Referenced lSA type"; + } + leaf ref-ls-id { + type uint32; + description + "Referenced link state ID"; + } + leaf ref-adv-rtr { + type inet:ipv4-address; + description + "Reference advertising router"; + } + list prefix { + description + "Prefix info in intra-area prefix LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-prefix-info; + } + } + + grouping ospfv3-lsa-header-info { + description + "LSA header info"; + leaf lsa-age { + type uint16; + units "seconds"; + description + "Age of the link state advertisement"; + } + leaf lsa-seq-number { + type uint32; + description + "Sequence number for the link state advertisement"; + } + leaf lsa-checksum { + type uint16; + description + "Checksum of the link state advertisement"; + } + leaf lsa-length { + type uint16; + units "bytes"; + description + "The length of the link state advertisement"; + } + } + + grouping ospfv3-lsa-info { + description + "OSPFv3 link state advertisement information"; + container lsa-header-info { + description + "The link state advertisement header info"; + uses ospf-ios-xe-oper:ospfv3-lsa-header-info; + } + list ospfv3-router-lsa-link { + key "link-type link-intf-id nbr-intf-id nbr-rtr-id"; + description + "Router LSA links info"; + uses ospf-ios-xe-oper:ospfv3-router-lsa-link-key; + uses ospf-ios-xe-oper:ospfv3-router-lsa-link; + } + choice area-scope-lsa-type-choice { + description + "The type of link state advertisement"; + case ospfv3-lsa-type-router { + description + "Router LSA"; + container router-lsa { + description + "The router link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-router-lsa; + } + } + case ospfv3-lsa-type-network { + description + "Network LSA"; + container network-lsa { + description + "The network link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-network-lsa; + } + } + case ospfv3-lsa-type-inter-area-prefix { + description + "Inter-area prefix LSA"; + container iapfx-lsa { + description + "The inter-area prefix link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-iapfx-lsa; + } + } + case ospfv3-lsa-type-inter-area-router { + description + "Inter-area router LSA"; + container iartr-lsa { + description + "The inter-area router link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-iartr-lsa; + } + } + case ospfv3-lsa-type-nssa { + description + "NSSA LSA"; + container nssa-lsa { + description + "The not-so-stubby-area link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-ex-lsa; + } + } + case ospfv3-lsa-type-prefix { + description + "Prefix LSA"; + container prefix-lsa { + description + "The intra-area prefix link state advertisement"; + uses ospf-ios-xe-oper:ospfv3-prefix-lsa; + } + } + } + } + + grouping ospfv3-lsa-info-key { + description + "OSPFv3 link state advertisement information key"; + leaf lsa-type { + type uint16; + description + "Link state advertisement type"; + } + leaf lsa-id { + type uint32; + description + "Link state advertisement identifier"; + } + leaf advertising-router { + type inet:ipv4-address; + description + "Advertising router"; + } + } + + grouping ospfv3-as-scope-lsa { + description + "OSPFv3 as scope LSA"; + container lsa-header-info { + description + "LSA header info"; + uses ospf-ios-xe-oper:ospfv3-lsa-header-info; + } + container ase-lsa { + description + "AS-External LSA"; + uses ospf-ios-xe-oper:ospfv3-ex-lsa; + } + } + + grouping ospfv3-afi { + description + "Address Family"; + leaf router-id { + type inet:ipv4-address; + description + "OSPFv3 area ID"; + } + list ospfv3-as-scope-lsa { + key "lsa-type lsa-id advertising-router"; + description + "OSPFv3 AS scope LSA"; + uses ospf-ios-xe-oper:ospfv3-lsa-info-key; + uses ospf-ios-xe-oper:ospfv3-as-scope-lsa; + } + list ospfv3-area { + key "area-id"; + description + "OSPFv3 area"; + uses ospf-ios-xe-oper:ospfv3-area; + } + } + + grouping ospfv3-area { + description + "OSPFv3 area"; + leaf area-id { + type uint32; + description + "OSPFv3 area ID"; + } + list ospfv3-intf { + key "name"; + description + "OSPFv3 interfaces"; + uses ospf-ios-xe-oper:ospfv3-intf; + } + list ospfv3-area-scope-lsa { + key "lsa-type lsa-id advertising-router"; + description + "OSPFv3 link state database information in this area"; + uses ospf-ios-xe-oper:ospfv3-lsa-info-key; + uses ospf-ios-xe-oper:ospfv3-lsa-info; + } + } + + grouping ospfv3-ttl-security { + description + "OSPFV3 TTL security on interface"; + leaf enable { + type boolean; + description + "Enable TTL security on interface"; + } + leaf hops { + type uint8; + description + "Number of Hops Count"; + } + } + + grouping ipsec-key { + description + "OSPFv3 IPSEC authentication"; + leaf algorithm { + type ospf-ios-xe-oper:ospfv3-ipsec-auth-algo; + description + "IPSEC authentication algorithm"; + } + leaf spi { + type uint32; + description + "Security parameter index"; + } + leaf key-string { + type string; + description + "Key for IPSEC algorithm"; + } + } + + grouping ospfv3-auth { + description + "OSPFv3 authentication"; + leaf trailer-key-chain { + type string; + description + "Key chain name"; + } + container ipsec-key { + description + "IPSEC authentication"; + uses ospf-ios-xe-oper:ipsec-key; + } + } + + grouping ospfv3-link-scope-lsa { + description + "OSPFV3 link scope lsa info "; + container lsa-header-info { + description + "LSA header details"; + uses ospf-ios-xe-oper:ospfv3-lsa-header-info; + } + container link-lsa { + description + "Link LSA information"; + uses ospf-ios-xe-oper:ospfv3-link-lsa; + } + } + + grouping ospfv3-intf { + description + "OSPFv3 interface"; + leaf name { + type string; + description + "Interface name"; + } + leaf network-type { + type ospf-ios-xe-common:ospfv3-network-type; + description + "Network type"; + } + leaf enable { + type boolean; + description + "Indicates whether OSPFv3 is enabled or disabled on the interface"; + } + leaf passive { + type boolean; + description + "Indicates whether interface is passive or not"; + } + leaf demand-circuit { + type boolean; + description + "Indicates whether demand circuit is enabled or disabled"; + } + leaf mtu-ignore { + type boolean; + description + "Indicates whether ignoring of MTU in DBD packets is enabled or disabled"; + } + leaf prefix-suppression { + type boolean; + description + "Suppress advertisement of the prefixes"; + } + leaf cost { + type uint16; + description + "Interface cost"; + } + leaf hello-interval { + type uint16; + units "seconds"; + description + "Time between hello packets"; + } + leaf dead-interval { + type uint16; + units "seconds"; + description + "Interval to declare neighbor as dead"; + } + leaf retransmit-interval { + type uint16; + units "seconds"; + description + "Time between retransmitting unacknowledged link-state advertisements (LSAs)"; + } + leaf transmit-delay { + type uint16; + units "seconds"; + description + "Estimated time needed to send link-state update"; + } + leaf hello-timer { + type uint32; + units "seconds"; + description + "Hello timer"; + } + leaf wait-timer { + type uint32; + units "seconds"; + description + "Wait timer"; + } + leaf dr { + type inet:ipv4-address; + description + "Designated router"; + } + leaf bdr { + type inet:ipv4-address; + description + "Backup designated router"; + } + leaf dr-ip { + type inet:ipv6-address; + description + "Designated router IP address"; + } + leaf bdr-ip { + type inet:ipv6-address; + description + "Backup designated router IP address"; + } + leaf if-state { + type ospf-ios-xe-common:ospfv3-if-state; + description + "Interface state"; + } + container ttl-security { + description + "TTL security"; + uses ospf-ios-xe-oper:ospfv3-ttl-security; + } + container authentication { + description + "Authentication on interface"; + uses ospf-ios-xe-oper:ospfv3-auth; + } + list ospfv3-link-scope-lsa { + key "lsa-type lsa-id advertising-router"; + description + "OSPFv3 link scope LSA "; + uses ospf-ios-xe-oper:ospfv3-lsa-info-key; + uses ospf-ios-xe-oper:ospfv3-link-scope-lsa; + } + list ospfv3-nbr { + key "nbr-id"; + description + "OSPFv3 neighbors"; + uses ospf-ios-xe-oper:ospfv3-nbr; + } + } + + grouping ospfv3-nbr { + description + "OSPF neighbor details"; + leaf nbr-id { + type inet:ipv4-address; + description + "OSPFv3 neighbor ID"; + } + leaf address { + type inet:ipv6-address; + description + "IPv6 link-local address"; + } + leaf dr { + type inet:ipv4-address; + description + "Designated router"; + } + leaf bdr { + type inet:ipv4-address; + description + "Backup designated router"; + } + leaf event-count { + type uint32; + description + "OSPFv3 neighbor event count"; + } + leaf retrans-count { + type uint32; + description + "OSPFv3 neighbor retransmission count"; + } + leaf nbr-state { + type ospf-ios-xe-common:ospfv3-nbr-state; + description + "OSPFv3 neighbor state"; + } + leaf dead-timer { + type uint32; + units "seconds"; + description + "Dead timer for the neighbor"; + } + } + + container ospf-oper-data { + config false; + description + "Operational state of ospf"; + container ospf-state { + presence "tbl-ospf"; + description + "OSPF operational state"; + uses ospf-ios-xe-oper:ospf-rev1; + } + list ospfv2-instance { + key "instance-id"; + description + "The OSPF instance"; + uses ospf-ios-xe-oper:ospfv2-instance; + } + list ospfv3-router { + key "process-id"; + description + "The OSPFv3 router instance"; + uses ospf-ios-xe-oper:ospfv3-router; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-rpc.yang new file mode 100644 index 000000000..68800703e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf-rpc.yang @@ -0,0 +1,49 @@ +submodule Cisco-IOS-XE-ospf-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED OSPF RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-ip-case-ip-protocol-ospf-case-grouping { + container ospf { + leaf id-drop-node-name { + description + "Process ID number"; + type uint16; + } + leaf process { + description + "Reset OSPF process"; + type empty; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf.yang new file mode 100644 index 000000000..848717ff7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospf.yang @@ -0,0 +1,4408 @@ +module Cisco-IOS-XE-ospf { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospf"; + prefix ios-ospf; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-isis { + prefix ios-isis; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + import Cisco-IOS-XE-segment-routing { + prefix ios-segment-routing; + } + include Cisco-IOS-XE-ospf-obsolete; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Open Shortest Path First (OSPF) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Default value for ospf cost is added under interface + - Changed the lower boundary of metric under default-information originate container + - Added tailf annotations for secondaries leaf under interface area grouping + - Added tailf annotations to order router ospf, interface ospf and ip routing commands + - Updated constraint for segment-routing container"; + cisco-semver:module-version "7.0.0"; + } + revision 2024-03-01 { + description + "- Deprecated leaf maximum-paths and added a new container maximum-paths-config + - Added default value for default-information originate metric-type + - Changed the order of nssa-options in area nssa grouping + - Added nssa-only leaf option to nssa-option in area nssa grouping + - Default value for ospf cost is added under interface"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-11-01 { + description + "- Updated router-id description + - Updated subnets description"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-07-01 { + description + "- Add translate-rib-metric + - Added timers nsf + - Modified must constraint for ip ospf interface config to validate VRF"; + cisco-semver:module-version "4.7.0"; + } + revision 2023-03-01 { + description + "- Add default values for max-lsa and redistribute max-prefix"; + cisco-semver:module-version "4.6.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-03-01 { + description + "Addition yang support for interface-old in snmp-server trap"; + cisco-semver:module-version "4.4.0"; + } + revision 2021-11-01 { + description + "Addressing ospf segment routing CLI issues"; + cisco-semver:module-version "4.3.0"; + } + revision 2021-07-01 { + description + "- Addition of snmp-server traps for ospf"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-03-01 { + description + "- Add support for affinity, flex-algo and affinity-map"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-11-01 { + description + "- Old model marked obsolete + - Addition of ospf packet-size command"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "Addition of delay normalize command for ospf interface"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-03-01 { + description + "- Change order of virtual-link topology"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added default information originate config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Deprecate old model + - Add ospf support for BD-VIF interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-31 { + description + "Add ipv6 eigrp command under interface"; + } + revision 2018-09-07 { + description + "Add must constraint to ospf with vrf, on vrf address-family"; + } + revision 2018-07-31 { + description + "Adding augmented code for BDI and vlan interface"; + } + revision 2018-07-26 { + description + "removed redistribute bgp must constraint on vrf/definition/rd"; + } + revision 2018-07-10 { + description + "Add .* to cli-preformatted, apply input validation to disallow new lines"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf, changing switchport from no switchport"; + } + revision 2018-06-13 { + description + "Adding augmented code for Dialer interface"; + } + revision 2018-05-31 { + description + "change ip ospf id to type leafref under an interface"; + } + revision 2018-05-21 { + description + "Add 'cli-preformatted' to leaf auth-key"; + } + revision 2018-01-19 { + description + "fix issue in redistribute maximum-prefix warning-only"; + } + revision 2017-12-11 { + description + "Add support for redistribute nat-route dia/outside"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-16 { + description + "fix area 0 range issue"; + } + revision 2017-11-14 { + description + "Add 40 and 100GE interface"; + } + revision 2017-10-24 { + description + "Add table-map support"; + } + revision 2017-10-20 { + description + "To allow support of ip osfp authentication-key under interface"; + } + revision 2017-10-10 { + description + "Added redistribute omp support"; + } + revision 2017-08-18 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-15 { + description + "add full nsf support and ospf support for BDI interfaces"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-03-28 { + description + "Added NED Yang Data Model support for MPLS-TE"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-ospf-adjacency-grouping { + container adjacency { + description + "Control adjacency formation"; + container stagger { + description + "Stagger adjacency formation"; + leaf min-adjacencies { + description + "Initial number of adjacencies allowed to be forming in an area"; + type union { + type uint32 { + range "1..65535"; + } + type enumeration { + enum none; + } + } + default "300"; + } + leaf max-adjacencies { + description + "Maximum number of adjacencies allowed to be forming"; + type uint32 { + range "1..65535"; + } + default "300"; + } + } + } + } + + grouping config-ospf-packet-size-grouping { + leaf packet-size { + description + "OSPF Packet Size"; + type uint32 { + range "576..10000"; + } + } + } + + grouping config-ospf-area-grouping { + list area { + description + "OSPF area parameters"; + key "area-id"; + leaf area-id { + description + "OSPF area ID"; + type ios-types:ospf-area-type; + must '../authentication or ../capability or ../default-cost or ../filter-list or ../ipv4-range or ../nssa or ../sham-link or ../stub or ../virtual-link'; + } + container authentication { + description + "Enable authentication"; + presence "true"; + leaf message-digest { + description + "Use message-digest authentication"; + type empty; + } + } + container capability { + description + "Enable area specific capability"; + leaf default-exclusion { + description + "Enable exclusion of links from base topology"; + type empty; + } + } + leaf default-cost { + description + "Set the summary default-cost of a NSSA/stub area"; + type uint32 { + range "0 .. 16777214"; + } + } + uses config-ospf-area-filter-list-grouping; + uses config-ospf-area-nssa-grouping; + uses config-ospf-area-range-grouping; + uses config-ospf-area-sham-link-grouping; + uses config-ospf-area-stub-grouping; + uses config-ospf-area-virtual-link-grouping; + uses config-ospf-packet-size-grouping; + } + } + + grouping config-ospf-area-filter-list-grouping { + list filter-list { + description + "Filter networks between OSPF areas"; + key "in-out"; + leaf in-out { + type enumeration { + enum in; + enum out; + } + } + leaf prefix { + description + "Filter prefixes between OSPF areas"; + type string; + } + } + } + + grouping config-ospf-area-nssa-grouping { + container nssa { + description + "Specify a NSSA area"; + presence "true"; + when '../ios-ospf:area-id != 0'; + must 'not (../ios-ospf:stub)' { + error-message "area configured as STUB"; + } + container nssa-options { + container default-information-originate { + description + "Originate Type 7 default into NSSA area"; + presence "true"; + leaf metric { + description + "OSPF default metric"; + type int32 { + range "0 .. 16777214"; + } + default "1"; + } + leaf metric-type { + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + default "2"; + } + leaf nssa-only { + description + "Limit default advertisement to this NSSA area"; + type empty; + } + } + leaf no-redistribution { + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf no-ext-capability { + description + "Do not send domain specific capabilities into NSSA"; + type empty; + } + } + container translate { + description + "Translate LSA"; + container type7 { + description + "From Type 7 to Type 5"; + leaf always { + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + } + + grouping config-ospf-area-range-grouping { + container ipv4-range { + list range { + description + "Summarize routes matching address/mask (border routers only)"; + key "ip mask"; + leaf ip { + description + "IP address to match"; + type inet:ipv4-address; + } + leaf mask { + description + "IP mask for address"; + type inet:ipv4-address; + } + leaf advertise-not-advertise { + description + "advertise/not-advertise"; + type enumeration { + enum advertise; + enum not-advertise; + } + default "advertise"; + } + leaf cost { + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777214"; + } + } + } + } + } + + grouping config-ospf-area-sham-link-grouping { + list sham-link { + description + "Define a sham link and its parameters"; + key "source dest"; + leaf source { + description + "IP addr associated with sham-link source"; + type inet:ip-address; + } + leaf dest { + description + "IP addr associated with sham-link destination"; + type inet:ip-address; + } + leaf cost { + description + "Associate a cost with the sham-link"; + type uint16 { + range "1 .. 65535"; + } + } + container ttl-security { + description + "TTL security check"; + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + } + + grouping config-ospf-area-stub-grouping { + container stub { + description + "Specify a stub area"; + presence "true"; + when '../ios-ospf:area-id != 0'; + must 'not (../ios-ospf:nssa)' { + error-message "area configured as NSSA"; + } + leaf no-summary { + description + "Do not send summary LSA into stub area"; + type empty; + } + leaf no-ext-capability { + description + "Do not send domain specific capabilities into stub area"; + type empty; + } + } + } + + grouping config-ospf-area-virtual-link-grouping { + list virtual-link { + description + "Define a virtual link and its parameters"; + key "id"; + leaf id { + description + "ID (IP addr) associated with virtual link neighbor"; + type inet:ip-address; + } + container retransmit-interval { + description + "LSA retransmit interval"; + leaf retransmit-interval-value { + description + "Seconds"; + type uint16 { + range "1 .. 8192"; + } + units "seconds"; + default "5"; + } + } + container transmit-delay { + description + "LSA transmission delay"; + leaf transmit-delay-value { + description + "Seconds"; + type uint16 { + range "1 .. 8192"; + } + units "seconds"; + default "1"; + } + } + container hello-interval { + description + "Hello packet interval"; + leaf hello-interval-value { + description + "Seconds"; + type int16 { + range "1 .. 8192"; + } + units "seconds"; + default "10"; + } + } + container dead-interval { + description + "Dead router detection time"; + leaf dead-interval-value { + description + "Seconds"; + type uint16 { + range "1 .. 8192"; + } + units "seconds"; + default "40"; + } + } + container ttl-security { + description + "TTL security check"; + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + container authentication { + description + "Set authentication type"; + choice auth-type-choice { + default "clear-text"; + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf message-digest { + description + "Message-digest authentication"; + type empty; + } + leaf null { + description + "No authentication"; + type empty; + } + leaf clear-text { + type empty; + } + } + } + container topology { + description + "Disable virtual link on topology"; + leaf disable { + description + "Disable virtual link"; + type empty; + } + } + container authentication-key { + description + "Set authentication key"; + leaf auth-type { + description + "Encryption type (0 for not yet encrypted, 7 for proprietary)"; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + description + "Authentication key (8 chars)"; + type string { + length "1 .. 18"; + } + } + } + uses config-ospf-message-digest-key-grouping; + } + } + + grouping config-ospf-auto-cost-grouping { + container auto-cost { + description + "Calculate OSPF interface cost according to bandwidth"; + leaf reference-bandwidth { + description + "Use reference bandwidth method to assign OSPF cost"; + type uint32 { + range "1 .. 4294967"; + } + default "100"; + } + } + } + + grouping config-ospf-autoroute-exclude-grouping { + container autoroute-exclude { + description + "Exclude using tunnel path for certain prefixes"; + leaf prefix-list { + description + "Filter prefixes"; + type string; + } + } + } + + grouping config-ospf-bfd-grouping { + container bfd { + description + "BFD configuration commands"; + container all-interfaces { + description + "Enable BFD on all interfaces"; + presence "true"; + leaf strict-mode { + description + "Enable BFD in strict mode"; + type empty; + } + } + } + } + + grouping config-ospf-capability-common-grouping { + leaf lls { + description + "Link-local Signaling (LLS) support"; + type boolean; + default "true"; + } + leaf opaque { + description + "Opaque LSA"; + type boolean; + default "true"; + } + leaf transit { + description + "Transit Area"; + type boolean; + default "true"; + } + } + + grouping config-ospf-capability-vrf-lite-grouping { + leaf vrf-lite { + description + "Do not perform PE specific checks"; + type boolean; + default "false"; + } + } + + grouping config-ospf-capability-grouping { + container capability { + description + "Enable specific OSPF feature"; + uses config-ospf-capability-common-grouping; + } + } + + grouping config-ospf-capability-vrf-grouping { + container capability { + description + "Enable specific OSPF feature"; + uses config-ospf-capability-common-grouping; + uses config-ospf-capability-vrf-lite-grouping; + } + } + + grouping config-ospf-compatible-grouping { + container compatible { + description + "OSPF compatibility list"; + leaf rfc1583 { + description + "Compatible with RFC 1583"; + type boolean; + default "true"; + } + leaf rfc1587 { + description + "Compatible with RFC 1587"; + type boolean; + default "false"; + } + leaf rfc5243 { + description + "Compatible with RFC 5243"; + type boolean; + default "true"; + } + } + } + + grouping config-ospf-default-information-grouping { + container default-information { + description + "Control distribution of default information"; + container originate { + description + "Distribute a default route"; + presence "true"; + leaf always { + description + "Always advertise default route"; + type empty; + } + leaf metric { + description + "OSPF default metric"; + type uint32 { + range "1 .. 16777214"; + } + } + leaf metric-type { + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + default "2"; + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + } + + grouping config-ospf-default-metric-grouping { + leaf default-metric { + description + "Set metric of redistributed routes"; + type uint32 { + range "1 .. 16777214"; + } + default "20"; + } + } + + grouping config-ospf-domain-id-grouping { + container domain-id { + description + "OSPF domain-id"; + choice domain-id-choice { + container ip-format-secondary { + leaf ip { + type inet:ipv4-address; + } + list ip-secondary { + key "ip secondary"; + leaf ip { + must '../../ip'; + type inet:ipv4-address; + } + leaf secondary { + description + "Secondary Domain-ID"; + type enumeration { + enum secondary; + } + } + } + leaf secondary { + status obsolete; + description + "Secondary Domain-ID"; + type empty; + } + } + leaf null { + description + "null Domain-ID"; + type empty; + } + container type { + description + "OSPF domain ID type in Hex format"; + leaf type-leaf { + type enumeration { + enum 0005; + enum 0105; + enum 0205; + enum 8005; + } + } + leaf value { + description + "OSPF domain ID value in Hex format"; + type string { + pattern '[0-9a-fA-F]{12}'; + } + } + leaf secondary { + description + "Secondary Domain-ID"; + type empty; + } + } + } + } + } + + grouping config-ospf-domain-tag-grouping { + leaf domain-tag { + description + "OSPF domain-tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + + grouping config-ospf-discard-route-grouping { + container discard-route-external-internal { + description + "Enable or disable discard-route installation"; + leaf discard-route { + description + "Enable or disable discard-route installation"; + type boolean; + default "true"; + } + leaf external { + description + "Discard route for redistributed summarised routes"; + must '../discard-route'; + type uint32 { + range "1 .. 255"; + } + default "254"; + } + leaf internal { + description + "Discard route for summarised internal routes"; + must '../discard-route'; + type uint32 { + range "1 .. 255"; + } + default "110"; + } + } + } + + grouping config-ospf-distance-grouping { + container distance { + description + "Define an administrative distance"; + leaf distance { + description + "Administrative distance"; + type uint32 { + range "1 .. 255"; + } + default "110"; + } + list distance-ip-wildcard { + key "ip wildcard"; + leaf distance { + description + "Administrative distance"; + type uint32 { + range "1 .. 255"; + } + } + leaf ip { + type inet:ipv4-address; + } + leaf wildcard { + type inet:ipv4-address; + } + leaf acl-name { + type ios-types:access-list-standard-id-type; + } + } + container ospf { + description + "OSPF routes Administrative distance"; + leaf intra-area { + description + "Intra-area routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf inter-area { + description + "Inter-area routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf external { + description + "External type 5 and type 7 routes"; + type uint32 { + range "1 .. 255"; + } + } + } + } + } + + grouping config-ospf-distribute-list-out-protocols-grouping { + leaf-list bgp { + description + "Border Gateway Protocol (BGP)"; + max-elements 1; + type ios-types:bgp-as-number-type; + } + leaf-list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16 { + range "1..65535"; + } + } + leaf connected { + description + "Connected"; + type empty; + } + leaf isis { + description + "ISO IS-IS"; + type empty; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + leaf-list isis { + type string; + } + } + leaf lisp { + description + "Locator ID Separation Protocol (LISP)"; + type empty; + } + leaf nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + type empty; + } + leaf-list nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + max-elements 1; + type uint16 { + range "1..65535"; + } + } + leaf omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + type empty; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + description + "Open Shortest Path First (OSPF)"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + type string; + } + } + leaf-list ospfv3 { + description + "OSPFv3"; + type uint16 { + range "1..65535"; + } + } + leaf rip { + description + "Routing Information Protocol (RIP)"; + type empty; + } + leaf static { + description + "Static routes"; + type empty; + } + } + + grouping config-ospf-distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + container access-list { + list access-list-in { + key "in"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-ospf:gateway/ios-ospf:gateway-in[ios-ospf:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-ospf:route-map/ios-ospf:route-map-in[ios-ospf:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list access-list-out { + key "out"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf out { + description + "Filter service updates"; + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-out[ios-ospf:out=current()]))' { + error-message "distribute-list prefix already exists"; + } + type enumeration { + enum out; + } + } + } + list access-list-in-interface { + key "in interface"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-ospf:gateway/ios-ospf:gateway-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list gateway already exists"; + } + } + } + list access-list-out-protocols { + key "out"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf out { + description + "Filter service updates"; + type enumeration { + enum out; + } + } + uses config-ospf-distribute-list-out-protocols-grouping; + } + } + container gateway { + description + "Filtering incoming address updates based on gateway"; + list gateway-in { + key "in"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-ospf:route-map/ios-ospf:route-map-in[ios-ospf:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list gateway-in-interface { + key "in interface"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list prefix already exists"; + } + } + } + } + container prefix-list { + description + "Filter prefixes in address updates"; + list prefix-list-in { + key "in"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-ospf:gateway/ios-ospf:gateway-in[ios-ospf:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../ios-ospf:route-map/ios-ospf:route-map-in[ios-ospf:in=current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list prefix-list-out { + key "out"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf out { + description + "Filter service updates"; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-out[ios-ospf:out=current()]))' { + error-message "distribute-list acess-list already exists"; + } + type enumeration { + enum out; + } + } + } + list prefix-list-in-interface { + key "in interface"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../ios-ospf:gateway/ios-ospf:gateway-in-interface[ios-ospf:interface=current()]))' { + error-message "distribute-list gateway already exists"; + } + } + } + list prefix-list-out-protocols { + key "out"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + } + leaf out { + description + "Filter service updates"; + type enumeration { + enum out; + } + } + uses config-ospf-distribute-list-out-protocols-grouping; + } + } + container route-map { + description + "Filter prefixes based on the route-map"; + list route-map-in { + key "in"; + leaf route-map-name { + description + "route-map name"; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../ios-ospf:access-list/ios-ospf:access-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../ios-ospf:prefix-list/ios-ospf:prefix-list-in[ios-ospf:in=current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../ios-ospf:gateway/ios-ospf:gateway-in[ios-ospf:in=current()]))' { + error-message "distribute-list gateway already exists"; + } + type enumeration { + enum in; + } + } + } + } + } + } + + grouping config-ospf-flex-algo-grouping { + list flex-algo { + description + "Flexible algorithm mode"; + key "number"; + leaf number { + description + "Flexible algorithm value"; + type uint32 { + range "128..255"; + } + } + leaf advertise-definition { + description + "Advertise definition"; + type boolean; + default "false"; + } + container fast-reroute { + description + "LFA Fast Reroute parameters"; + leaf disable { + description + "Disable LFA FRR for this flex algo"; + type empty; + } + } + leaf metric-type { + description + "Metric type"; + type enumeration { + enum delay; + enum igp-metric; + enum te-metric; + } + default "igp-metric"; + } + leaf priority { + description + "Priority"; + type uint32 { + range "0..255"; + } + default "128"; + } + container affinity { + description + "Assign affinities to flex algo"; + container exclude-any { + description + "Affinity attributes to exclude any"; + leaf-list name { + description + "Affinity name"; + type string { + length "1..32"; + } + } + } + container include-all { + description + "Affinity attributes to include all"; + leaf-list name { + description + "Affinity name"; + type string { + length "1..32"; + } + } + } + container include-any { + description + "Affinity attributes to include any"; + leaf-list name { + description + "Affinity name"; + type string { + length "1..32"; + } + } + } + } + } + } + + grouping config-ospf-affinity-map-grouping { + container affinity-map { + description + "Affinity map configuration mode"; + list affinity { + unique "bit-position"; + key "name"; + leaf name { + description + "Affinity name"; + type string { + length "1..32"; + } + } + leaf bit-position { + description + "Bit position value"; + type uint32 { + range "0..255"; + } + mandatory true; + } + } + } + } + + grouping config-ospf-fast-reroute-grouping { + container fast-reroute { + description + "LFA FastReroute parameters"; + leaf keep-all-paths { + description + "Keep LFA FRR audit trail"; + type empty; + } + container per-prefix { + description + "Per-prefix LFA FRR parameters"; + container enable { + description + "Enable LFA Fast Reroute"; + list area-prefix-priority { + description + "Area to enable LFA FRR in"; + key "area"; + leaf area { + type ios-types:ospf-area-type; + } + leaf prefix-priority { + description + "Priority of prefixes to be protected"; + type enumeration { + enum high; + enum low; + } + } + } + leaf prefix-priority { + description + "Priority of prefixes to be protected"; + type enumeration { + enum high; + enum low; + } + } + } + container remote-lfa { + description + "Remote LFA FastReroute parameters"; + list area { + key "area-id"; + leaf area-id { + description + "Area for remote LFA command"; + type ios-types:ospf-area-type; + } + leaf maximum-cost { + description + "Maximum distance to tunnel endpoint"; + type uint32 { + range "1..16777214"; + } + } + leaf tunnel { + description + "Remote LFA tunnel type"; + type enumeration { + enum mpls-ldp; + } + } + } + leaf maximum-cost { + description + "Maximum distance to tunnel endpoint"; + type uint32 { + range "1..16777214"; + } + } + leaf tunnel { + description + "Remote LFA tunnel type"; + type enumeration { + enum mpls-ldp; + } + } + } + container tie-break { + description + "LFA FRR repair path selection policy tiebreaks"; + container broadcast-interface-disjoint { + description + "Interface protection attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container downstream { + description + "Downstream repair path attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container interface-disjoint { + description + "Interface protection attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container linecard-disjoint { + description + "Line card protection attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container lowest-metric { + description + "Lowest metric repair path attribute"; + leaf required { + status obsolete; + description + "Mandatory repair path attribute"; + type empty; + } + leaf index { + description + "Tiebreak attribute priority"; + type uint8 { + range "1..255"; + } + } + } + container node-protecting { + description + "Node protecting repair path attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container primary-path { + description + "Equal cost multipath attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container secondary-path { + description + "Not-equal cost multipath attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + container srlg { + description + "Shared risk link group attribute"; + uses config-ospf-fast-reroute-tie-break-index; + } + } + } + } + } + + grouping config-ospf-fast-reroute-tie-break-index { + leaf required { + description + "Mandatory repair path attribute"; + type empty; + } + leaf index { + description + "Tiebreak attribute priority"; + type uint8 { + range "1..255"; + } + } + } + + grouping config-ospf-ignore-grouping { + container ignore { + description + "Do not complain about specific event"; + container lsa { + description + "Do not complain upon receiving LSA of the specified type"; + leaf mospf { + description + "MOSPF Type 6 LSA"; + type boolean; + default "false"; + } + } + } + } + + grouping config-ospf-interface-id-grouping { + container interface-id { + description + "Source of the interface ID"; + leaf snmp-if-index { + description + "SNMP MIB ifIndex"; + type boolean; + default "false"; + } + } + } + + grouping config-ospf-limit-grouping { + container limit { + description + "Limit a specific OSPF feature"; + container retransmissions { + description + "LS update, DBD, and LS request retransmissions"; + leaf dc { + description + "Demand circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + default "24"; + } + leaf non-dc { + description + "Non-demand-circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + default "24"; + } + } + } + } + + grouping config-ospf-local-rib-criteria-grouping { + container local-rib-criteria { + description + "Enable or disable usage of local RIB as route criteria"; + presence "true"; + leaf forwarding-address { + description + "Local RIB used to validate external/NSSA forwarding addresses"; + type empty; + } + leaf inter-area-summary { + description + "Local RIB used as criteria for inter-area summaries"; + type empty; + } + leaf nssa-translation { + description + "Local RIB used as criteria for NSSA translation"; + type empty; + } + } + } + + grouping config-ospf-log-adjacency-changes-grouping { + choice log-adjacency-changes-choice { + default "log-adjacency-changes"; + leaf log-adjacency-changes { + description + "Log changes in adjacency state"; + type boolean; + default "true"; + } + container log-adjacency-changes-detail { + container log-adjacency-changes { + leaf detail { + description + "Log all state changes"; + type empty; + } + } + } + } + } + + grouping config-ospf-max-lsa-grouping { + container max-lsa { + description + "maximum number of LSAs OSPF process will receive"; + leaf number { + description + "Maximum number of non self-generated LSAs this process can receive"; + type uint32 { + range "1 .. 4294967294"; + } + default "50000"; + } + leaf threshold-value { + description + "Threshold value (%) at which to generate a warning msg"; + type uint32 { + range "1 .. 100"; + } + default "75"; + } + choice max-lsa-choice { + default "max-lsa-options"; + container max-lsa-options { + description + "max-lsa options"; + leaf ignore-time { + description + "time during which all adjacencies are suppressed"; + type uint32 { + range "1 .. 17895"; + } + default "5"; + } + leaf reset-time { + description + "time after which ignore-count is reset to zero"; + type uint32 { + range "2 .. 35791"; + } + default "10"; + } + leaf ignore-count { + description + "maximum number of times adjacencies can be suppressed"; + type uint32 { + range "1 .. 65534"; + } + default "5"; + } + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + } + + grouping config-ospf-max-metric-grouping { + container max-metric { + description + "Set maximum metric"; + container router-lsa { + description + "Maximum metric in self-originated router-LSAs"; + presence "true"; + leaf include-stub { + description + "Set maximum metric for stub links in router-LSAs"; + type empty; + } + container summary-lsa { + description + "Override summary-lsa metric with max-metric value"; + presence "true"; + leaf metric { + type uint32 { + range "1 .. 16777214"; + } + default "16711680"; + } + } + container external-lsa { + description + "Override external-lsa metric with max-metric value"; + presence "true"; + leaf metric { + type uint32 { + range "1 .. 16777214"; + } + default "16711680"; + } + } + container on-startup { + description + "Set maximum metric temporarily after reboot"; + choice time-wait-for-bgp-choice { + leaf time { + type uint32 { + range "5 .. 86400"; + } + } + leaf wait-for-bgp { + description + "Let BGP decide when to originate router-LSA with normal metric"; + type empty; + } + } + } + } + } + } + + grouping config-ospf-maximum-paths-grouping { + container maximum-paths-config { + description + "Forward packets over multiple paths"; + leaf max-paths { + description + "Maximum number of paths"; + type uint32 { + range "1 .. 32"; + } + default "4"; + } + leaf per-prefix-distribution { + description + "Distribute prefixes across the paths"; + type boolean; + default "false"; + } + } + leaf maximum-paths { + status deprecated; + description + "Forward packets over multiple paths (DEPRECATED, use maximum-paths-config)"; + type uint32 { + range "1 .. 32"; + } + default "4"; + } + } + + grouping config-ospf-microloop-grouping { + container microloop { + description + "Traffic microloop control parameters"; + container avoidance { + description + "Traffic microloop avoidance parameters"; + choice prefix-choice { + leaf all { + type empty; + } + leaf disable { + description + "Microloop avoidance auto-enable prohibited"; + type empty; + } + leaf protected { + description + "Microloop avoidance for protected prefixes only"; + type empty; + } + leaf segment-routing { + description + "SR Microloop Avoidance"; + type empty; + } + } + leaf rib-update-delay { + description + "Delay before updating the RIB"; + type uint32 { + range "1..600000"; + } + default "5000"; + } + } + } + } + + grouping config-ospf-mpls-grouping { + container mpls { + description + "Configure MPLS routing protocol parameters"; + container ldp { + description + "routing protocol commands for MPLS LDP"; + container autoconfig { + description + "Configure LDP automatic configuration"; + presence "true"; + leaf-list area { + description + "Configure an OSPF area to run MPLS LDP"; + type ios-types:ospf-area-type; + } + } + container sync { + description + "Configure LDP-IGP Synchronization"; + presence "true"; + } + } + container traffic-eng { + description + "routing protocol commands for MPLS Traffic Engineering"; + leaf multicast-intact { + description + "MPLS TE and PIM interaction"; + type empty; + } + leaf-list area { + description + "configure an ospf area to run MPLS Traffic Engineering"; + type ios-types:ospf-area-type; + } + container autoroute-exclude { + description + "MPLS TE autoroute exclude"; + leaf prefix-list { + description + "Filter prefixes"; + type string; + } + } + list interface { + description + "MPLS TE interface configuration for this OSPF process"; + key "name-id"; + leaf name-id { + description + "Interface name and ID"; + type string; + } + leaf area { + description + "Advertise MPLS TE information for this interface into area"; + type enumeration { + enum 0; + } + } + } + list mesh-group { + description + "Traffic Engineering Mesh-Group advertisement"; + key "id area"; + leaf id { + description + "Mesh Group ID: <0..4294967295>"; + type uint32 { + range "0..4294967295"; + } + } + leaf area { + description + "configure flooding scope as area"; + type ios-types:ospf-area-type; + } + leaf interface { + description + "Interface name and ID"; + type string; + } + } + leaf router-id { + description + "Traffic Engineering stable IP address for system"; + type string; + } + } + } + } + + grouping config-ospf-multicast-intact-grouping { + leaf multicast-intact { + description + "Install IGP paths in multicast RIB when tunnel path is installed in unicast RIB"; + type boolean; + default "false"; + } + } + + grouping config-ospf-neighbor-grouping { + list neighbor { + description + "Specify a neighbor router"; + key "ip"; + leaf ip { + description + "Neighbor address"; + type inet:ipv4-address; + } + leaf priority { + description + "OSPF priority of non-broadcast neighbor"; + type uint32 { + range "0 .. 255"; + } + } + leaf poll-interval { + description + "OSPF dead-router polling interval of non-broadcast neighbor"; + type uint32 { + range "0 .. 65535"; + } + } + leaf cost { + description + "OSPF cost for point-to-multipoint neighbor"; + type uint32 { + range "1 .. 65535"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + container all { + description + "Filter all LSA"; + leaf out { + description + "Outgoing LSA"; + type boolean; + default "false"; + } + } + } + } + } + + grouping config-ospf-network-grouping { + list network { + description + "Enable routing on an IP network"; + key "ip wildcard"; + leaf ip { + description + "Network number"; + type inet:ipv4-address; + } + leaf wildcard { + description + "OSPF wild card bits"; + type inet:ipv4-address; + } + leaf area { + description + "Set the OSPF area ID"; + type ios-types:ospf-area-type; + } + } + } + + grouping config-ospf-nsf-grouping { + container nsf { + description + "Non-stop forwarding"; + choice nsf-cisco-ietf { + container nsf-cisco { + description + "Cisco Non-stop forwarding"; + presence "true"; + container enforce { + description + "Cancel NSF restart when non-NSF-aware neighbors detected"; + leaf global { + description + "For the whole OSPF process"; + type empty; + } + } + } + container nsf-ietf { + description + "IETF graceful restart"; + presence "true"; + leaf restart-interval { + description + "Graceful restart interval"; + type uint16 { + range "1..1800"; + } + default "120"; + units "seconds"; + } + } + } + choice cisco-ietf { + status obsolete; + description + "cisco-ietf (DEPRECATED, use nsf-cisco-ietf)"; + container cisco { + status obsolete; + description + "Cisco Non-stop forwarding (DEPRECATED, use nsf-cisco)"; + presence "true"; + container enforce { + status obsolete; + description + "Cancel NSF restart when non-NSF-aware neighbors detected"; + leaf global { + status obsolete; + description + "For the whole OSPF process"; + type empty; + } + } + } + container ietf { + description + "IETF graceful restart"; + status obsolete; + leaf restart-interval { + description + "Graceful restart interval (DEPRECATED, use nsf-ietf)"; + status obsolete; + type uint16 { + range "1..1800"; + } + default "120"; + units "seconds"; + } + } + } + choice cisco-helper-choice { + default "cisco-helper"; + container cisco-helper { + description + "Cisco Non-stop forwarding"; + container cisco { + description + "Cisco Non-stop forwarding"; + leaf helper { + description + "helper support"; + type boolean; + default "true"; + } + } + } + container cisco-helper-disable { + description + "Cisco Non-stop forwarding"; + container cisco { + description + "Cisco Non-stop forwarding"; + container helper { + description + "helper support"; + leaf disable { + description + "disable helper support"; + type empty; + } + } + } + } + } + choice ietf-helper-choice { + default "ietf-helper"; + container ietf-helper { + description + "IETF graceful restart"; + container ietf { + description + "IETF graceful restart"; + leaf helper { + description + "helper support"; + type boolean; + default "true"; + } + } + } + container ietf-helper-disable { + description + "IETF graceful restart"; + container ietf { + description + "IETF graceful restart"; + container helper { + description + "helper support"; + leaf disable { + description + "disable helper support"; + type empty; + } + } + } + } + } + container ietf-helper-strict-lsa-checking { + description + "IETF graceful restart"; + container ietf { + description + "IETF graceful restart"; + container helper { + description + "helper support"; + leaf strict-lsa-checking { + description + "enable helper strict LSA checking"; + type empty; + } + } + } + } + } + } + + grouping config-ospf-nsr-grouping { + leaf nsr { + description + "Enable non-stop routing"; + type boolean; + default "false"; + } + } + + grouping config-ospf-passive-interface-grouping { + container passive-interface { + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + default "default"; + leaf default { + description + "Suppress routing updates on all interfaces"; + type boolean; + default "false"; + } + leaf-list interface { + type string; + } + } + } + } + + grouping config-ospf-prefix-priority-grouping { + container prefix-priority { + description + "OSPF prefix priority"; + container high { + description + "High prefix priority"; + leaf route-map { + description + "Prefix priority selection by route-map"; + type string; + } + } + } + } + + grouping config-ospf-prefix-suppression-grouping { + leaf prefix-suppression { + description + "OSPF prefix suppression"; + type boolean; + default "false"; + } + } + + grouping config-ospf-priority-grouping { + leaf priority { + description + "OSPF topology priority"; + type uint8 { + range "0..127"; + } + default "64"; + } + } + + grouping config-ospf-process-min-time-grouping { + container process-min-time { + description + "Percentage of quantum to be used before releasing CPU"; + leaf percent { + description + "percent"; + type uint32 { + range "1 .. 100"; + } + } + } + } + + grouping config-ospf-queue-depth-grouping { + container queue-depth { + description + "OSPF Hello/Router process queue depth"; + container hello { + description + "OSPF Hello process queue depth"; + leaf options { + type union { + type uint32 { + range "1 .. 2147483647"; + } + type enumeration { + enum unlimited; + } + } + default "unlimited"; + } + } + container update { + description + "OSPF Router process queue depth"; + leaf options { + type union { + type uint32 { + range "1 .. 2147483647"; + } + type enumeration { + enum unlimited; + } + } + default "200"; + } + } + } + } + + grouping config-ospf-redist-common-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf translate-rib-metric { + description + "Translate rib-metric"; + must 'not (../metric)' { + error-message "Either metric or translate-rib-metric allowed"; + } + type empty; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf subnets { + description + "Consider subnets for redistribution into OSPF (Will be removed in the future)"; + type empty; + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping config-ospf-redist-common-for-list-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf translate-rib-metric { + description + "Translate rib-metric"; + must 'not (../metric)' { + error-message "Either metric or translate-rib-metric allowed"; + } + type empty; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf subnets { + description + "Consider subnets for redistribution into OSPF (Will be removed in the future)"; + type empty; + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping config-ospf-redist-common-with-delete-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf translate-rib-metric { + description + "Translate rib-metric"; + must 'not (../metric)' { + error-message "Either metric or translate-rib-metric allowed"; + } + type empty; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf subnets { + description + "Consider subnets for redistribution into OSPF (Will be removed in the future)"; + type empty; + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0..4294967295"; + } + } + } + + grouping config-ospf-redist-application-grouping { + list application { + description + "Application"; + key "application-name"; + max-elements 1; + leaf application-name { + description + "Application name"; + type string; + } + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-bgp-grouping { + list bgp { + description + "Border Gateway Protocol (BGP)"; + key "as"; + max-elements 1; + leaf as { + description + "Autonomous system number"; + type ios-types:bgp-as-number-type; + } + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-eigrp-grouping { + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as"; + leaf as { + description + "Autonomous system number"; + type uint16 { + range "1..65535"; + } + } + uses config-ospf-redist-common-with-delete-grouping; + } + } + + grouping config-ospf-redist-connected-grouping { + container connected { + description + "Connected"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-isis-grouping { + container isis { + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Router isis must be configured before redistribute isis and deleted after redistribute isis"; + } + uses config-ospf-redist-isis-levels-grouping; + uses config-ospf-redist-common-with-delete-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + description + "ISO IS-IS area-tag"; + type leafref { + path "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:area-tag"; + } + } + uses config-ospf-redist-isis-levels-grouping; + uses config-ospf-redist-common-with-delete-grouping; + } + } + } + + grouping config-ospf-redist-isis-levels-grouping { + leaf routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + } + + grouping config-ospf-redist-lisp-grouping { + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-maximum-prefix-grouping { + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf maximum-prefix-count { + description + "Maximum number of IP prefixes redistributed"; + type uint32 { + range "1..4294967295"; + } + default "10240"; + } + leaf threshold { + description + "Threshold value (%) at which to generate a warning message"; + type uint8 { + range "1..100"; + } + default "75"; + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + + grouping config-ospf-redist-mobile-grouping { + container mobile { + description + "Mobile routes"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-nat-route-grouping { + container nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "true"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT Outside routes"; + type empty; + } + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-nhrp-grouping { + list nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-omp-grouping { + container omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-odr-grouping { + container odr { + description + "On Demand stub Routes"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-ospf-match-grouping { + container match { + description + "Redistribution of OSPF routes"; + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external-1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external-2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external-1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external-2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + } + } + + grouping config-ospf-redist-ospf-grouping { + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-ospf-redist-ospf-match-grouping; + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-ospf-vrf-grouping { + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + type string; + } + uses config-ospf-redist-ospf-match-grouping; + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-ospfv3-grouping { + list ospfv3 { + description + "OSPFv3"; + key "process-id"; + leaf process-id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses config-ospf-redist-ospf-match-grouping; + uses config-ospf-redist-common-for-list-grouping; + } + } + + grouping config-ospf-redist-rip-grouping { + container rip { + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-static-grouping { + container static { + description + "Static routes"; + presence "true"; + uses config-ospf-redist-common-grouping; + } + } + + grouping config-ospf-redist-vrf-grouping { + list vrf { + description + "Specify a source VRF"; + key "vrf-name"; + leaf vrf-name { + description + "Source VRF name"; + type union { + type string; + type enumeration { + enum global; + } + } + } + uses config-ospf-redist-application-grouping; + uses config-ospf-redist-bgp-grouping; + uses config-ospf-redist-eigrp-grouping; + uses config-ospf-redist-connected-grouping; + uses config-ospf-redist-isis-grouping; + uses config-ospf-redist-lisp-grouping; + uses config-ospf-redist-mobile-grouping; + uses config-ospf-redist-nat-route-grouping; + uses config-ospf-redist-nhrp-grouping; + uses config-ospf-redist-omp-grouping; + uses config-ospf-redist-odr-grouping; + uses config-ospf-redist-ospf-grouping; + uses config-ospf-redist-ospfv3-grouping; + uses config-ospf-redist-rip-grouping; + uses config-ospf-redist-static-grouping; + } + } + + grouping config-ospf-redistribute-grouping { + container redistribute { + description + "Redistribute information from another routing protocol"; + uses config-ospf-redist-application-grouping; + uses config-ospf-redist-bgp-grouping; + uses config-ospf-redist-eigrp-grouping; + uses config-ospf-redist-connected-grouping; + uses config-ospf-redist-isis-grouping; + uses config-ospf-redist-lisp-grouping; + uses config-ospf-redist-maximum-prefix-grouping; + uses config-ospf-redist-mobile-grouping; + uses config-ospf-redist-nat-route-grouping; + uses config-ospf-redist-nhrp-grouping; + uses config-ospf-redist-omp-grouping; + uses config-ospf-redist-odr-grouping; + uses config-ospf-redist-ospf-vrf-grouping; + uses config-ospf-redist-ospfv3-grouping; + uses config-ospf-redist-rip-grouping; + uses config-ospf-redist-static-grouping; + uses config-ospf-redist-vrf-grouping; + } + } + + grouping config-ospf-router-id-grouping { + leaf router-id { + description + "Configure router identifier. New router-id will take effect immediately (peers will reset)"; + type inet:ipv4-address; + } + } + + grouping config-ospf-shutdown-grouping { + leaf shutdown { + description + "Shutdown the OSPF protocol under the current instance"; + type boolean; + default "false"; + } + } + + grouping config-ospf-snmp-grouping { + container snmp { + description + "Modify snmp parameters"; + list context { + description + "Configure a SNMP context"; + key "name"; + leaf name { + description + "Context Name"; + type string; + } + container community { + description + "Configure a SNMP v2c Community string and access privs"; + leaf community-string { + description + "SNMP community string"; + type string; + } + leaf ro-rw { + type enumeration { + enum RO; + enum RW; + } + default "RO"; + } + leaf access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + } + leaf ipv6 { + description + "Specify IPv6 Named Access-List"; + type string; + } + } + } + } + } + + grouping config-ospf-summary-address-grouping { + list summary-address { + description + "Configure IP address summaries"; + key "ip mask"; + leaf ip { + description + "IP summary address"; + type inet:ipv4-address; + } + leaf mask { + description + "Summary mask"; + type inet:ipv4-address; + } + choice nssa-only-no-advertise-choice { + container nssa-only-tag { + leaf nssa-only { + description + "Limit summary to NSSA areas"; + type empty; + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + } + leaf not-advertise { + description + "Do not advertise when translating OSPF type-7 LSA"; + type empty; + } + } + } + } + + grouping config-ospf-table-map-grouping { + container table-map { + description + "Map external entry attributes into routing table"; + leaf name { + description + "route-map name"; + type string; + } + leaf filter { + description + "Selective route download"; + type empty; + } + } + } + + grouping config-ospf-timers-grouping { + container timers { + description + "Adjust routing timers"; + container lsa { + description + "OSPF LSA timers"; + leaf arrival { + description + "OSPF LSA arrival timer"; + type uint32 { + range "0 .. 600000"; + } + default "100"; + } + } + container nsf { + description + "OSPF nsf timers"; + leaf flush { + description + "OSPF nsf flush timer"; + type uint32 { + range "1 .. 3600"; + } + default "60"; + } + leaf wait { + description + "OSPF nsf wait timer"; + type uint32 { + range "1 .. 65535"; + } + default "20"; + } + } + container pacing { + description + "OSPF pacing timers"; + leaf flood { + description + "OSPF flood pacing timer"; + type uint32 { + range "5 .. 100"; + } + default "33"; + } + leaf lsa-group { + description + "OSPF LSA group pacing timer"; + type uint32 { + range "10 .. 1800"; + } + default "240"; + } + leaf retransmission { + description + "OSPF retransmission pacing timer"; + type uint32 { + range "5 .. 200"; + } + default "66"; + } + } + container throttle { + description + "OSPF throttle timers"; + container lsa { + description + "OSPF LSA throttle timers"; + leaf delay { + description + "Delay to generate first occurrence of LSA in milliseconds"; + type uint32 { + range "0 .. 600000"; + } + default "50"; + } + leaf min-delay { + description + "Minimum delay between originating the same LSA in milliseconds"; + must '../delay <= .' { + error-message "minimum delay has to greater then or equal to delay"; + } + type uint32 { + range "1 .. 600000"; + } + default "200"; + } + leaf max-delay { + description + "Maximum delay between originating the same LSA in milliseconds"; + must '../min-delay <= .' { + error-message "maximum delay has to greater then or equal to minimum delay"; + } + type uint32 { + range "1 .. 600000"; + } + default "5000"; + } + } + container spf { + description + "OSPF SPF throttle timers"; + leaf delay { + description + "Delay between receiving a change to SPF calculation in milliseconds"; + type uint32 { + range "1 .. 600000"; + } + default "50"; + } + leaf min-delay { + description + "Delay between first and second SPF calculation in milliseconds"; + must '../delay <= .' { + error-message "minimum delay has to greater then or equal to delay"; + } + type uint32 { + range "1 .. 600000"; + } + default "200"; + } + leaf max-delay { + description + "Maximum wait time in milliseconds for SPF calculations"; + must '../min-delay <= .' { + error-message "maximum delay has to greater then or equal to minimum delay"; + } + type uint32 { + range "1 .. 600000"; + } + default "5000"; + } + } + } + } + } + + grouping config-ospf-traffic-share-grouping { + container traffic-share { + description + "How to compute traffic share over alternate paths"; + leaf min { + description + "All traffic shared among min metric paths"; + type enumeration { + enum across-interfaces; + } + } + } + } + + grouping config-ospf-ttl-security-grouping { + container ttl-security { + description + "TTL security check"; + container all-interfaces { + description + "Enable TTL Security on all interfaces"; + presence "true"; + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + default "1"; + } + } + } + } + + grouping config-ospf-interface-adjacency-grouping { + container adjacency { + description + "Adjacency staggering"; + choice stagger-choice { + default "stagger"; + leaf stagger { + description + "Adjacency staggering"; + type boolean; + default "false"; + } + container stagger-disable { + description + "OSPF Adjacency Stagger disable"; + container stagger { + description + "Adjacency staggering"; + leaf disable { + description + "Disable adjacency staggering on this interface"; + type empty; + } + } + } + } + } + } + + grouping config-ospf-interface-authentication-grouping { + container authentication { + description + "Enable authentication"; + choice auth-type-choice { + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf message-digest { + description + "Use message-digest authentication"; + type empty; + } + leaf null { + description + "Use no authentication"; + type empty; + } + leaf clear-text { + description + "Use Clear Text authentication"; + type empty; + } + } + } + } + + grouping config-ospf-interface-authentication-key-grouping { + container authentication-key { + description + "Authentication password (key)"; + leaf auth-type { + description + "Encryption type (0 for not yet encrypted, 7 for proprietary)"; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + description + "The OSPF password (key) (maximum 8 characters)"; + type string { + length "1..18"; + } + } + } + } + + grouping config-ospf-interface-bfd-grouping { + container bfd { + description + "BFD on this interface"; + presence "true"; + choice bfd-choice { + leaf disable { + description + "Disable BFD on this interface"; + type empty; + } + leaf strict-mode { + description + "Enable BFD in strict mode"; + type empty; + } + } + } + } + + grouping config-ospf-interface-cost-grouping { + leaf cost { + description + "Route cost of this interface"; + type uint16 { + range "1..65535"; + } + default "1"; + } + } + + grouping config-ospf-interface-database-filter-grouping { + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + container all { + description + "Filter all LSA"; + leaf out { + description + "Outgoing LSA"; + type boolean; + default "false"; + } + } + } + } + + grouping config-ospf-interface-demand-circuit-grouping { + choice demand-circuit-choice { + default "demand-circuit"; + leaf demand-circuit { + description + "OSPF Demand Circuit"; + type boolean; + default "false"; + } + container demand-circuit-ignore { + description + "OSPF Demand Circuit Ignore"; + container demand-circuit { + description + "OSPF Demand Circuit"; + leaf ignore { + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + } + } + } + + grouping config-ospf-interface-dead-interval-grouping { + leaf dead-interval { + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + units "seconds"; + } + } + + grouping config-ospf-interface-fast-reroute-grouping { + container fast-reroute { + description + "LFA FastReroute parameters"; + container per-prefix { + description + "Per-prefix LFA FRR parameters"; + container candidate { + description + "If interface can be protecting"; + presence "true"; + leaf disable { + description + "Disable LFA FRR interface protection"; + type empty; + } + } + container protection { + description + "If interface can be protected"; + presence "true"; + leaf disable { + description + "Disable LFA FRR interface protection"; + type empty; + } + } + } + } + } + + grouping config-ospf-interface-flood-reduction-grouping { + leaf flood-reduction { + description + "OSPF Flood Reduction"; + type boolean; + default "false"; + } + } + + grouping config-ospf-interface-hello-interval-grouping { + leaf hello-interval { + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + } + + grouping config-ospf-interface-lls-ip-grouping { + container lls { + description + "Link-local Signaling (LLS) support"; + presence "true"; + leaf disable { + description + "disable LLS"; + type empty; + } + } + } + + grouping config-ospf-interface-message-digest-key-grouping { + list message-digest-key { + description + "Message digest authentication password (key)"; + key "id"; + leaf id { + description + "Key ID"; + type uint8 { + range "1 .. 255"; + } + } + container md5 { + description + "Use MD5 algorithm"; + leaf auth-type { + description + "Encryption type (0 for not yet encrypted, 7 for proprietary)"; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + description + "The OSPF password (key) (only the first 16 characters are used)"; + type string { + pattern '.*'; + } + } + } + } + } + + grouping config-ospf-interface-multi-area-grouping { + container multi-area { + list multi-area-id { + description + "Set the OSPF multi-area ID"; + key "area-id"; + leaf area-id { + description + "OSPF multi-area ID"; + type ios-types:ospf-area-type; + } + } + list multi-area-id-cost { + description + "Set the OSPF multi-area ID"; + key "area-id"; + leaf area-id { + description + "OSPF multi-area ID"; + type ios-types:ospf-area-type; + } + leaf cost { + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + } + list multi-area-id-delay { + description + "Set the OSPF multi-area ID"; + key "area-id"; + leaf area-id { + description + "OSPF multi-area ID"; + type ios-types:ospf-area-type; + } + uses config-ospf-interface-delay-normalize-grouping; + } + } + } + + grouping config-ospf-interface-delay-normalize-grouping { + container delay { + description + "Set OSPF delay parameters"; + container normalize { + description + "Set OSPF delay normalization parameters"; + leaf interval { + description + "Set OSPF delay normalization interval"; + type uint32 { + range "1..16777215"; + } + } + leaf offset { + description + "Set OSPF delay normalization offset"; + type uint32 { + range "0..16777215"; + } + } + } + } + } + + grouping config-ospf-interface-mtu-ignore-grouping { + leaf mtu-ignore { + description + "Ignores the MTU in DBD packets"; + type boolean; + default "false"; + } + } + + grouping config-ospf-interface-network-ip-grouping { + container network { + description + "Network type"; + choice network-type-choice { + leaf broadcast { + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf non-broadcast { + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + } + + grouping config-ospf-interface-prefix-suppression-grouping { + container prefix-suppression { + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + description + "Disable prefix suppression"; + type empty; + } + } + } + + grouping config-ospf-interface-priority-common-grouping { + leaf priority { + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + } + + grouping config-ospf-interface-process-id-igrouping { + list process-id { + must "not (../../../../ios:switchport-conf/ios:switchport) or (../../../../ios:switchport-conf/ios:switchport = 'false')" { + error-message "To configure ip ospf, set switchport to false 1st; To change switchport from false to true, delete ip ospf 1st "; + } + key "id"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + must '(not (../../../../../ios:vrf/ios:forwarding) and /ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id[ios-ospf:id=current()]) or ((../../../../../ios:vrf/ios:forwarding) and (/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf[ios-ospf:id=current()]/ios-ospf:vrf=(../../../../../ios:vrf/ios:forwarding)))' { + error-message "Configure router ospf and/or interface vrf(if applicable) at first before enabling respective ip ospf process; To delete/replace VRF remove ip ospf first. To delete router ospf remove ip ospf first"; + } + } + list area { + key "area-id"; + max-elements 1; + leaf area-id { + description + "Set the OSPF area ID"; + type ios-types:ospf-area-type; + } + leaf secondaries { + description + "Include or exclude secondary IP addresses"; + type enumeration { + enum none; + } + } + } + } + } + + grouping config-ospf-interface-retransmit-interval-grouping { + leaf retransmit-interval { + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + units "seconds"; + } + } + + grouping config-ospf-interface-resync-timeout-grouping { + leaf resync-timeout { + description + "Interval after which adjacency is reset if oob-resync is not started"; + type uint32 { + range "1..65535"; + } + default "40"; + } + } + + grouping config-ospf-interface-shutdown-grouping { + leaf shutdown { + description + "Set OSPF protocol's state to disable under current interface"; + type empty; + } + } + + grouping config-ospf-interface-transmit-delay-grouping { + leaf transmit-delay { + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + } + + grouping config-ospf-interface-ttl-security-grouping { + container ttl-security { + description + "TTL security check"; + presence "true"; + choice ttl-security-choice { + leaf disable { + description + "disable TTL security check"; + type empty; + } + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + } + + grouping config-ospf-interface-affinity-grouping { + container affinity { + description + "Affinity configuration on interface"; + container flex-algo { + description + "Affinity flex-algo configuration on interface"; + leaf-list name { + description + "Affinity name"; + type string { + length "1..32"; + } + } + } + } + } + + grouping config-ospf-interface-ip-ospf-grouping { + container router-ospf { + description + "Interface Commands for OSPF IPv4"; + container ospf { + description + "OSPF interface commands"; + uses config-ospf-interface-process-id-igrouping; + uses config-ospf-interface-adjacency-grouping; + uses config-ospf-interface-authentication-grouping; + uses config-ospf-interface-authentication-key-grouping; + uses config-ospf-interface-bfd-grouping; + uses config-ospf-interface-cost-grouping; + uses config-ospf-interface-database-filter-grouping; + uses config-ospf-interface-dead-interval-grouping; + uses config-ospf-interface-demand-circuit-grouping; + uses config-ospf-interface-fast-reroute-grouping; + uses config-ospf-interface-flood-reduction-grouping; + uses config-ospf-interface-hello-interval-grouping; + uses config-ospf-interface-lls-ip-grouping; + uses config-ospf-interface-message-digest-key-grouping; + uses config-ospf-interface-mtu-ignore-grouping; + uses config-ospf-interface-multi-area-grouping; + uses config-ospf-interface-network-ip-grouping; + uses config-ospf-interface-prefix-suppression-grouping; + uses config-ospf-interface-priority-common-grouping; + uses config-ospf-interface-resync-timeout-grouping; + uses config-ospf-interface-retransmit-interval-grouping; + uses config-ospf-interface-shutdown-grouping; + uses config-ospf-interface-transmit-delay-grouping; + uses config-ospf-interface-ttl-security-grouping; + uses config-ospf-interface-delay-normalize-grouping; + uses config-ospf-interface-affinity-grouping; + uses config-ospf-packet-size-grouping; + } + } + } + + grouping config-ospf-message-digest-key-grouping { + list message-digest-key { + description + "Set message digest key"; + key "id"; + leaf id { + description + "Key ID"; + type uint8 { + range "1 .. 255"; + } + } + container md5 { + description + "Use MD5 algorithm"; + leaf auth-type { + description + "Encryption type (0 for not yet encrypted, 7 for proprietary)"; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + description + "Authentication key (16 chars)"; + type string { + length "1 .. 16"; + } + } + } + } + } + + grouping config-ospf-sr-grouping { + container segment-routing { + description + "Segment routing parameters"; + when '/ios:native/ios:segment-routing/ios-segment-routing:mpls'; + leaf mpls { + description + "Segment routing MPLS"; + type empty; + } + list area { + description + "Segment routing area"; + key "area-id"; + leaf area-id { + type ios-types:ospf-area-type; + } + choice area-choice { + leaf disable { + description + "Segment routing area disable"; + type empty; + } + leaf mpls { + description + "Segment routing area MPLS"; + type empty; + } + } + } + container prefix-sid-map { + description + "Mapping-server configuration"; + leaf receive { + description + "Process incoming advertisements"; + type boolean; + default "true"; + } + leaf advertise-local { + description + "Generate local advertisements"; + type boolean; + default "false"; + } + } + } + } + + grouping config-ospf-router-sub-mode-common-grouping { + uses config-ospf-adjacency-grouping; + uses config-ospf-area-grouping; + uses config-ospf-auto-cost-grouping; + uses config-ospf-autoroute-exclude-grouping; + uses config-ospf-bfd-grouping; + uses config-ospf-compatible-grouping; + uses config-ospf-default-information-grouping; + uses config-ospf-default-metric-grouping; + uses config-ospf-discard-route-grouping; + uses config-ospf-distance-grouping; + uses config-ospf-distribute-list-grouping; + uses config-ospf-domain-id-grouping; + uses config-ospf-domain-tag-grouping; + uses config-ospf-ignore-grouping; + uses config-ospf-interface-id-grouping; + uses config-ospf-limit-grouping; + uses config-ospf-local-rib-criteria-grouping; + uses config-ospf-log-adjacency-changes-grouping; + uses config-ospf-max-lsa-grouping; + uses config-ospf-max-metric-grouping; + uses config-ospf-maximum-paths-grouping; + uses config-ospf-microloop-grouping; + uses config-ospf-mpls-grouping; + uses config-ospf-multicast-intact-grouping; + uses config-ospf-neighbor-grouping; + uses config-ospf-network-grouping; + uses config-ospf-nsf-grouping; + uses config-ospf-nsr-grouping; + uses config-ospf-queue-depth-grouping; + uses config-ospf-passive-interface-grouping; + uses config-ospf-prefix-priority-grouping; + uses config-ospf-prefix-suppression-grouping; + uses config-ospf-priority-grouping; + uses config-ospf-process-min-time-grouping; + uses config-ospf-redistribute-grouping; + uses config-ospf-router-id-grouping; + uses config-ospf-shutdown-grouping; + uses config-ospf-snmp-grouping; + uses config-ospf-summary-address-grouping; + uses config-ospf-table-map-grouping; + uses config-ospf-timers-grouping; + uses config-ospf-traffic-share-grouping; + uses config-ospf-ttl-security-grouping; + uses config-ospf-packet-size-grouping; + } + + grouping config-ospf-router-sub-mode-grouping { + uses config-ospf-router-sub-mode-common-grouping; + uses config-ospf-capability-grouping; + uses config-ospf-fast-reroute-grouping; + uses config-ospf-flex-algo-grouping; + uses config-ospf-affinity-map-grouping; + uses config-ospf-sr-grouping; + } + + grouping config-ospf-router-sub-mode-vrf-grouping { + uses config-ospf-router-sub-mode-common-grouping; + uses config-ospf-capability-vrf-grouping; + } + + grouping config-ospf-router-grouping { + container router-ospf { + description + "Router OSPF"; + container ospf { + description + "Router OSPF"; + list process-id { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + must 'not (../../process-id-vrf[id=current()])' { + error-message "process-id current() already comfigured under vrf"; + } + } + uses config-ospf-router-sub-mode-grouping; + } + list process-id-vrf { + description + "Open Shortest Path First (OSPF)"; + key "id vrf"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + must 'not (../../process-id[id=current()])' { + error-message "process-id current() already comfigured under global"; + } + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "ipv4 VRF must be created 1st, deleted last"; + } + type string; + } + uses config-ospf-router-sub-mode-vrf-grouping; + } + } + } + } + + grouping config-ospf-snmp-server-grouping { + container ospf-config { + description + "Enable OSPF traps"; + container state-change { + description + "State change traps"; + leaf enable { + description + "Enable all traps of state-change"; + type empty; + } + container traps { + description + "Enable specific traps of state-change"; + when 'not (../enable)'; + must 'not (if-state-change) or not (neighbor-state-change) or not (virtif-state-change) or not (virtneighbor-state-change)' { + error-message "Configure all traps using state-change enable."; + } + leaf if-state-change { + description + "Non-virtual interface state changes"; + type empty; + } + leaf neighbor-state-change { + description + "Non-virtual neighbor state changes"; + type empty; + } + leaf virtif-state-change { + description + "Virtual interface state changes"; + type empty; + } + leaf virtneighbor-state-change { + description + "Non-virtual neighbor state changes"; + type empty; + } + } + } + container errors { + description + "Error traps"; + leaf enable { + description + "Enable all traps of errors"; + type empty; + } + container traps { + description + "Enable specific traps of errors"; + when 'not (../enable)'; + must 'not (authentication-failure) or not (bad-packet) or not (config-error) or not (virt-authentication-failure) or not (virt-bad-packet) or not (virt-config-error)' { + error-message "Configure all traps using errors enable."; + } + leaf authentication-failure { + description + "Authentication failure on non-virtual interfaces"; + type empty; + } + leaf bad-packet { + description + "Packet parse failure on non-virtual interfaces"; + type empty; + } + leaf config-error { + description + "Config mismatch errors on non-virtual interfaces"; + type empty; + } + leaf virt-authentication-failure { + description + "Authentication failure on virtual interfaces"; + type empty; + } + leaf virt-bad-packet { + description + "Packet parse failure on virtual interfaces"; + type empty; + } + leaf virt-config-error { + description + "Config mismatch errors on virtual interfaces"; + type empty; + } + } + } + container rate-limit { + description + "Trap rate limit values"; + leaf window-size { + description + "Rate limit window size in seconds"; + type uint8 { + range "2..60"; + } + default "10"; + } + leaf max-traps { + description + "Max number of traps sent in window time"; + type uint16 { + range "0..300"; + } + default "7"; + } + } + container retransmit { + description + "Packet retransmit traps"; + leaf enable { + description + "Enable all traps of retransmit"; + type empty; + } + container traps { + description + "Enable specific traps of retransmit"; + when 'not (../enable)'; + must 'not (packets) or not (virt-packets)' { + error-message "Configure all traps using retransmit enable."; + } + leaf packets { + description + "Packet retransmission on non-virtual interfaces"; + type empty; + } + leaf virt-packets { + description + "Packet retransmission on virtual interfaces"; + type empty; + } + } + } + container lsa { + description + "Lsa related traps"; + leaf enable { + description + "Enable all traps of lsa"; + type empty; + } + container traps { + description + "Enable specific traps of lsa"; + when 'not (../enable)'; + must 'not (lsa-maxage) or not (lsa-originate)' { + error-message "Configure all traps using lsa enable."; + } + leaf lsa-maxage { + description + "Lsa aged to maxage"; + type empty; + } + leaf lsa-originate { + description + "New lsa originated"; + type empty; + } + } + } + container cisco-specific { + description + "Cisco specific traps"; + container state-change { + description + "State change traps"; + leaf nssa-trans-change { + description + "Nssa translator state changes"; + type empty; + } + container shamlink { + description + "Sham link state change traps"; + leaf interface { + description + "Sham link interface state changes"; + type empty; + } + leaf interface-old { + description + "Sham link interface-old state changes"; + type empty; + must 'not (../interface)' { + error-message "% OSPF: Cannot enable both sham-link state-change interface traps."; + } + } + leaf neighbor { + description + "Sham link neighbor state changes"; + type empty; + } + } + } + container errors { + description + "Error traps"; + leaf enable { + description + "Enable all traps of errors"; + type empty; + } + container traps { + description + "Enable specific traps of errors"; + when 'not (../enable)'; + must 'not (config-error) or not (shamlink/authentication) or not (shamlink/bad-packet) or not (shamlink/config) or not (virt-config-error)' { + error-message "Configure all traps using errors enable."; + } + leaf config-error { + description + "Config mismatch errors on non-virtual interfaces"; + type empty; + } + container shamlink { + description + "Config errors on sham link interfaces"; + leaf authentication { + description + "Authentication failure on sham link interfaces"; + type empty; + } + leaf bad-packet { + description + "Packet parse failure on sham link interfaces"; + type empty; + } + leaf config { + must '../../config-error' { + error-message "Configure cisco-specific errors config-error first."; + } + description + "Config mismatch errors on sham link interfaces"; + type empty; + } + } + leaf virt-config-error { + description + "Config mismatch errors on virtual interfaces"; + type empty; + } + } + } + container retransmit { + description + "Packet retransmit traps"; + leaf enable { + description + "Enable all traps of retransmit"; + type empty; + } + container traps { + description + "Enable specific traps of retransmit"; + when 'not (../enable)'; + must 'not (packets) or not (shamlink) or not (virt-packets)' { + error-message "Configure all traps using retransmit enable."; + } + leaf packets { + description + "Packet retransmission on non-virtual interfaces"; + type empty; + } + leaf shamlink { + description + "Packet retransmission on sham link interfaces"; + type empty; + } + leaf virt-packets { + description + "Packet retransmission on virtual interfaces"; + type empty; + } + } + } + container lsa { + description + "Lsa related traps"; + leaf enable { + description + "Enable all traps of lsa"; + type empty; + } + container traps { + description + "Enable specific traps of lsa"; + when 'not (../enable)'; + must 'not (lsa-maxage) or not (lsa-originate)' { + error-message "Configure all traps using lsa enable."; + } + leaf lsa-maxage { + description + "Lsa aged to maxage"; + type empty; + } + leaf lsa-originate { + description + "New lsa originated"; + type empty; + } + } + } + } + } + } + + augment "/ios:native/ios:snmp-server/ios-snmp:enable/ios-snmp:enable-choice/ios-snmp:traps" { + uses config-ospf-snmp-server-grouping; + } + + augment "/ios:native/ios:router" { + uses config-ospf-router-grouping; + uses config-router-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Serial/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ip" { + uses config-ospf-interface-ip-ospf-grouping; + uses config-interface-ip-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping { + status obsolete; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3-deviation.yang new file mode 100644 index 000000000..052f4d723 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3-deviation.yang @@ -0,0 +1,355 @@ +module Cisco-IOS-XE-ospfv3-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospfv3-deviation"; + prefix ios-ospfv3-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ospfv3 { + prefix ios-ospfv3; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Added deviation for redistribution of VRF instance routes from other protocols into OSPF"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-03-01 { + description + "- removed defaults for max-lsa under address-family + - added not supported for redistribute maximum-prefix under address-family ipv4"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-01-08 { + description + "Added ospfv3 deviation"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios-ospfv3:ospfv3/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:ipv4/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Virtual-Template/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:ipv6/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios-ospfv3:ospfv3/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:ipv4/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Dialer/ios-ospfv3:ospfv3/ios-ospfv3:process-id/ios-ospfv3:ipv6/ios-ospfv3:bfd" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:dia" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:outside" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:dia" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:outside" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:maximum-prefix/ios-ospfv3:number" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:maximum-prefix/ios-ospfv3:number" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:number" { + deviate delete { + default "50000"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:threshold-value" { + deviate delete { + default "75"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:ignore-count" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:ignore-time" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:reset-time" { + deviate delete { + default "10"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:number" { + deviate delete { + default "50000"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:threshold-value" { + deviate delete { + default "75"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:ignore-count" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:ignore-time" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:max-lsa/ios-ospfv3:reset-time" { + deviate delete { + default "10"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:number" { + deviate delete { + default "50000"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:threshold-value" { + deviate delete { + default "75"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:ignore-count" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:ignore-time" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:reset-time" { + deviate delete { + default "10"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:number" { + deviate delete { + default "50000"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:threshold-value" { + deviate delete { + default "75"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:ignore-count" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:ignore-time" { + deviate delete { + default "5"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:max-lsa/ios-ospfv3:reset-time" { + deviate delete { + default "10"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:vrf" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:vrf" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:application/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:eigrp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:iso-igrp/ios-ospfv3:iso-igrp-container/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:lisp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:mobile/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:odr/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:rip-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:application/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:eigrp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:iso-igrp/ios-ospfv3:iso-igrp-container/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:lisp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:mobile/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:odr/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:rip-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:application-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:lisp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:nd/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:redistribute/ios-ospfv3:rip/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:application-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:lisp-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:nd/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:nat-route-config/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:redistribute/ios-ospfv3:rip/ios-ospfv3:redist-options/ios-ospfv3:translate-rib-metric" { + deviate not-supported; + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast/ios-ospfv3:maximum-paths-config/ios-ospfv3:max-paths" { + deviate add { + default "4"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:maximum-paths-config/ios-ospfv3:max-paths" { + deviate add { + default "4"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast/ios-ospfv3:maximum-paths-config/ios-ospfv3:max-paths" { + deviate add { + default "16"; + } + } + + deviation "/ios:native/ios:router/ios-ospfv3:ospfv3/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf/ios-ospfv3:maximum-paths-config/ios-ospfv3:max-paths" { + deviate add { + default "16"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3.yang new file mode 100644 index 000000000..b4afb428f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ospfv3.yang @@ -0,0 +1,9043 @@ +module Cisco-IOS-XE-ospfv3 { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ospfv3"; + prefix ios-ospfv3; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-snmp { + prefix ios-snmp; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Open Shortest Path First (OSPFv3) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated yang description of router-ospfv3-id and ipv6-ospf-id-area-id + - Changed the lower boundary of metric under default-information originate container + - Added tailf annotations to order router ospfv3, interface ospfv3 and ipv6 unicast-routing commands"; + cisco-semver:module-version "8.0.0"; + } + revision 2024-03-01 { + description + "- Deprecated leaf maximum-paths and added a new container maximum-paths-config"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-11-01 { + description + "- Updated router-id description"; + cisco-semver:module-version "6.0.1"; + } + revision 2023-07-01 { + description + "- Add translate-rib-metric + - change in max-lsa ignore-count value"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-03-01 { + description + "- Add default values for max-lsa and redistribute max-prefix + - Added must constraint for max-lsa container + - Get-config is not proper for redistribute max prefix and max-lsa value change"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.1.0"; + } + revision 2022-03-01 { + description + "- Add router ospfv3 dependency with interface ospfv3 area command "; + cisco-semver:module-version "4.0.0"; + } + revision 2021-07-01 { + description + "- Addition of ospfv3 interface commands to Virtual-Template + - Addition of snmp-server enable traps for ospfv3 + - Added support for the distribute-list, limit retransmissions, adjacency stagger, shutdown, prefix suppression and area encryption commands + - Added max-elements constraint for area under ospfv3 interface + - Corrected ospfv3 cost dynamic hysteresis, authentication key-chain, manet peering cost + - nodes marked with status deprecated are moved to status obsolete + - Deprecated multi-area at interface level and added multi-area-config + - Deprecated cost at interface level and added cost-config"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "Addition of ospfv3 packet-size command"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Adding fix for redistribute delete cases + - Fix tailf annotations for ospfv3 router area ipsec spi config + - Obsolete no-ext-capability under ospfv3 stub area"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Adding distance ospf for address-family ipv4"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Adding table-map container"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Updated range of distance for different address families"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-07-28 { + description + "Support on vlan interface"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-04-20 { + description + "Remove tailf:cli-flatten-container for address-family ipv4 unicast option"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ospf-redistribute-grouping { + container redist-options { + uses ospf-iso-igrp-redistribute-grouping; + leaf route-map { + description + "Route map reference"; + type string; + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + + grouping ospf-redistribute-grouping-deprecated { + status obsolete; + container redist-options { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping-deprecated { + status obsolete; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + + grouping ospf-redistribute-grouping-obsolete { + status obsolete; + container redist-options { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping-obsolete { + status obsolete; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + + grouping ospfv3-ipv6-redistribute-top-grouping { + container application-config { + presence "true"; + description + "Application"; + uses ospf-redistribute-grouping; + } + list application { + status obsolete; + description + "Application"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + max-elements 1; + key "as-number"; + uses ospf-redistribute-bgp-grouping; + } + container connected { + description + "Connected"; + presence "Connected"; + uses ospf-redistribute-grouping; + } + list eigrp-config { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + type uint32 { + range "1..65535"; + } + } + uses ospf-redistribute-grouping; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses ospf-redistribute-bgp-grouping-deprecated { + status obsolete; + } + } + container isis { + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + key "name"; + leaf name { + type string; + } + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses ospf-redistribute-grouping; + } + } + uses ospf-redistribute-grouping; + } + container iso-igrp { + status obsolete; + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + status obsolete; + container area-tag-route-map-container { + status obsolete; + leaf area-tag { + status obsolete; + type string; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping-obsolete { + status obsolete; + } + } + } + container lisp-config { + description + "Locator ID Separation Protocol (LISP)"; + presence "true"; + uses ospf-redistribute-grouping; + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + status obsolete; + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + container nd { + description + "Neighbour Discovery"; + presence "nd"; + uses ospf-redistribute-grouping; + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "Mobile routes"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container nat-route-config { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "true"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + container redist-options { + uses ospf-iso-igrp-redistribute-grouping; + leaf route-map { + description + "Route map reference"; + type string; + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + } + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container omp { + description + "Overlay Management Protocol (OMP)"; + presence "omp"; + uses ospf-redistribute-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping-obsolete { + status obsolete; + } + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + } + list rip { + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + description + "User selected string identifying this rip process"; + type string; + } + uses ospf-redistribute-grouping; + } + container static { + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-grouping; + } + } + + grouping ospfv3-common-address-family-vrf-grouping { + container redistribute { + description + "Redistribute information from another routing protocol"; + uses ospf-redistribute-top-grouping; + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf number { + type uint32 { + range "1 .. 4294967295"; + } + } + container threshold-warning-only-container { + leaf threshold { + type uint32 { + range "1 .. 100"; + } + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + container vrf { + description + "Specify a source VRF"; + list non-global-vrf { + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses ospf-redistribute-top-grouping; + } + container global { + description + "global VRF"; + uses ospf-redistribute-top-grouping; + } + } + } + } + + grouping ospfv3-ipv6-address-family-vrf-grouping { + container redistribute { + description + "Redistribute information from another routing protocol"; + uses ospfv3-ipv6-redistribute-top-grouping; + container maximum-prefix { + description + "Maximum number of prefixes redistributed to protocol"; + leaf number { + type uint32 { + range "1 .. 4294967295"; + } + default "10240"; + } + container threshold-warning-only-container { + leaf threshold { + type uint32 { + range "1 .. 100"; + } + default "75"; + } + leaf warning-only { + description + "Only give warning message when limit is exceeded"; + type empty; + } + } + } + container vrf { + status obsolete; + description + "Specify a source VRF"; + list non-global-vrf { + status obsolete; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses ospf-redistribute-top-grouping-obsolete { + status obsolete; + } + } + container global { + status obsolete; + description + "global VRF"; + uses ospf-redistribute-top-grouping-obsolete { + status obsolete; + } + } + } + } + } + + grouping config-ospfv3-packet-size-grouping { + leaf packet-size { + description + "OSPFV3 Packet Size"; + type uint32 { + range "576..10000"; + } + } + } + + grouping ospfv3-authentication-key-grouping { + status obsolete; + container authentication-key { + status obsolete; + description + "Set authentication key"; + leaf auth-type { + status obsolete; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + status obsolete; + type string; + } + } + } + + grouping ospfv3-spi-md5-sha1-authentication-grouping { + choice md5-sha1-choice { + container md5 { + description + "Use MD5 authentication"; + when '../spi'; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + description + "Use SHA-1 authentication"; + when '../spi'; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + + grouping ospfv3-md5-sha1-authentication-grouping { + choice md5-sha1-choice { + container md5 { + description + "Use MD5 authentication"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + description + "Use SHA-1 authentication"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + + grouping interface-ospfv3-encryption-grouping { + container encryption-config { + description + "Enable encryption"; + choice encryption-choice { + leaf null { + description + "No IPsec encryption on this interface"; + type empty; + } + container ipsec { + description + "Use IPsec encryption"; + leaf spi { + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container esp { + description + "Use ESP encapsulation"; + when '../spi'; + choice encryption-type { + container encrypt-3des { + description + "Use 3DES encryption"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-cbc { + description + "Use AES-CBC encryption"; + choice aes-choice { + container aes-128 { + description + "Use 128 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "128 bit key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-192 { + description + "Use 192 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-256 { + description + "Use 128 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "256 bit key (64 chars or 130 chars)"; + type string { + length "64 | 130"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + } + } + container des { + description + "Use DES encryption"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "64 bit key (16 chars or 34 chars)"; + type string { + length "16 | 34"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container null { + description + "ESP with no encryption"; + uses ospfv3-md5-sha1-authentication-grouping; + } + } + } + } + } + } + container encryption { + description + "Enable encryption (OBSOLETE, use encryption-config)"; + status obsolete; + leaf null { + status obsolete; + description + "No IPsec encryption on this interface"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec encryption"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + leaf esp { + status obsolete; + description + "Use ESP encapsulation"; + type empty; + } + container ipsec_3des { + status obsolete; + description + "Use 3DES encryption"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-cbc { + status obsolete; + description + "Use AES-CBC encryption"; + container aes-cbc-128 { + status obsolete; + description + "Use 128 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-192 { + status obsolete; + description + "Use 192 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-256 { + status obsolete; + description + "Use 256 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + } + } + + grouping interface-ospfv3-authentication-grouping { + container authentication-int-config { + description + "Enable authentication"; + choice authentication-choice { + leaf null { + description + "Use no authentication"; + type empty; + } + container authentication-type { + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + container ipsec { + description + "Use IPsec authentication"; + leaf spi { + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + uses ospfv3-spi-md5-sha1-authentication-grouping; + } + } + } + } + container authentication-config { + description + "Enable authentication (OBSOLETE, use authentication-int-config)"; + status obsolete; + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + status obsolete; + type string; + } + choice authentication-choice { + status obsolete; + leaf null { + description + "Use no authentication"; + status obsolete; + type empty; + } + container ipsec { + description + "Use IPsec authentication"; + status obsolete; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + description + "Use MD5 authentication"; + when '../spi'; + status obsolete; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "MD5 key (32 chars)"; + status obsolete; + type string { + pattern '[0-9a-fA-F]{32}'; + } + } + } + container sha1 { + description + "Use SHA-1 authentication"; + when '../spi'; + status obsolete; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "SHA-1 key (40 chars)"; + status obsolete; + type string { + pattern '[0-9a-fA-F]{40}'; + } + } + } + } + } + } + } + } + + grouping authentication-ipsec-grouping { + status obsolete; + container ipsec { + status obsolete; + description + "Use IPsec authentication"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container md5 { + status obsolete; + description + "Use MD5 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + + grouping interface-ospfv3-transmit-delay-grouping { + leaf transmit-delay { + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + } + + grouping interface-ospfv3-priority-grouping { + leaf priority { + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + } + + grouping interface-ospfv3-retransmit-interval-grouping { + leaf retransmit-interval { + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + } + } + + grouping interface-ospfv3-prefix-suppression-grouping { + container prefix-suppression { + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + description + "Disable prefix suppression"; + type empty; + } + } + } + + grouping interface-ospfv3-network-grouping { + container network-type { + description + "Network type"; + choice network-type-choice { + leaf broadcast { + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + container network { + status obsolete; + description + "Network type (OBSOLETE, use network-type)"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + + grouping interface-ospfv3-neighbor-grouping { + list neighbor { + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + type inet:ipv6-address; + } + leaf cost { + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + leaf all { + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + default "120"; + } + leaf priority { + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + } + + grouping interface-ospfv3-hello-interval-grouping { + leaf hello-interval { + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + } + + grouping interface-ospfv3-dead-interval-grouping { + leaf dead-interval { + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + } + } + + grouping interface-ospfv3-bfd-grouping { + container bfd { + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + description + "Disable BFD on this interface"; + type empty; + } + } + } + + grouping ospfv3-ipv6-distance-grouping { + container distance-ipv6 { + description + "Define an administrative distance"; + leaf distance { + type uint32 { + range "1 .. 254"; + } + default "110"; + } + container ospf { + description + "OSPF routes Administrative distance"; + leaf external { + description + "External routes"; + type uint32 { + range "1 .. 254"; + } + } + leaf inter-area { + description + "Inter-area routes"; + type uint32 { + range "1 .. 254"; + } + } + leaf intra-area { + description + "Intra-area routes"; + type uint32 { + range "1 .. 254"; + } + } + } + } + } + + grouping ospfv3-ipv4-distance-grouping { + container distance-ipv4 { + description + "Define an administrative distance"; + leaf distance { + type uint32 { + range "1 .. 255"; + } + default "110"; + } + container ospf { + description + "OSPF routes Administrative distance"; + leaf external { + description + "External routes"; + type uint32 { + range "1 .. 254"; + } + } + leaf inter-area { + description + "Inter-area routes"; + type uint32 { + range "1 .. 254"; + } + } + leaf intra-area { + description + "Intra-area routes"; + type uint32 { + range "1 .. 254"; + } + } + } + } + } + + grouping ospfv3-common-address-family-grouping { + container capability { + status obsolete; + description + "Enable specific OSPF feature"; + leaf capability-type { + status obsolete; + description + "capability-type (OBSOLETE, use capability)"; + type enumeration { + enum lls; + enum opaque; + enum transit; + enum vrf-lite; + } + } + } + container compatible { + description + "OSPF compatibility list"; + leaf rfc1583 { + description + "Compatible with RFC 1583"; + type boolean; + } + leaf rfc1587 { + description + "Compatible with RFC 1587"; + type boolean; + } + leaf rfc5243 { + description + "Compatible with RFC 5243"; + type boolean; + } + } + container default-information { + description + "Control distribution of default information"; + container originate { + description + "Distribute a default route"; + presence "Distribute a default route"; + leaf always { + description + "Always advertise default route"; + type empty; + } + leaf metric { + description + "OSPF default metric"; + type uint32 { + range "1 .. 16777214"; + } + } + leaf metric-type { + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + leaf default-metric { + description + "Set metric of redistributed routes"; + type uint32 { + range "1 .. 16777214"; + } + } + container discard-route-config { + description + "Enable or disable discard-route installation"; + leaf external { + description + "Discard route for summarised redistributed routes"; + type boolean; + default "true"; + } + leaf internal { + description + "Discard route for summarised inter-area routes"; + type boolean; + default "true"; + } + } + container discard-route { + status obsolete; + description + "Enable or disable discard-route installation (OBSOLETE, use discard-route-config)"; + presence "Enable or disable discard-route installation"; + leaf external { + status obsolete; + description + "Discard route for redistributed summarised routes"; + type empty; + } + leaf internal { + status obsolete; + description + "Discard route for summarised internal routes"; + type empty; + } + leaf metric { + status obsolete; + type uint32 { + range "1 .. 255"; + } + } + } + container distance { + status obsolete; + description + "Define an administrative distance (OBSOLETE, use + distance-ipv4/distance-ipv6)"; + container ospf-distance { + status obsolete; + leaf distance { + status obsolete; + type uint32 { + range "1 .. 255"; + } + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf wildcard { + status obsolete; + type inet:ipv4-address; + } + leaf acl-name { + status obsolete; + type ios-types:access-list-standard-id-type; + } + } + container ospf { + status obsolete; + description + "OSPF routes Administrative distance (OBSOLETE, use ospf under + distance-ipv4/distance-ipv6)"; + leaf external { + status obsolete; + description + "External routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf inter-area { + status obsolete; + description + "Inter-area routes"; + type uint32 { + range "1 .. 255"; + } + } + leaf intra-area { + status obsolete; + description + "Intra-area routes"; + type uint32 { + range "1 .. 255"; + } + } + } + } + container maximum-paths-config { + description + "Forward packets over multiple paths"; + leaf max-paths { + description + "Maximum number of paths"; + type uint32 { + range "1 .. 32"; + } + } + leaf per-prefix-distribution { + description + "Distribute prefixes across the paths"; + type boolean; + default "false"; + } + } + leaf maximum-paths { + status deprecated; + description + "Forward packets over multiple paths (DEPRECATED, use maximum-paths-config)"; + type uint32 { + range "1 .. 32"; + } + } + container table-map { + description + "Map external entry attributes into routing table"; + leaf name { + description + "route-map name"; + type string; + } + leaf filter { + description + "Selective route download"; + type empty; + } + } + } + + grouping ospfv3-af-area-ipv6-vlink-grouping { + list virtual-link { + when "not(../area-id = '0')"; + description + "Define a virtual link and its parameters"; + key "id"; + leaf id { + type inet:ip-address; + } + container authentication { + description + "Set authentication type"; + choice authentication-choice { + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + description + "No authentication"; + type empty; + } + } + } + leaf hello-interval { + description + "Hello packet interval"; + type int32 { + range "1 .. 8192"; + } + } + leaf dead-interval { + description + "Dead router detection time"; + type uint16 { + range "1 .. 8192"; + } + } + leaf retransmit-interval { + description + "LSA retransmit interval"; + type uint16 { + range "1 .. 8192"; + } + } + leaf transmit-delay { + description + "LSA transmission delay"; + type uint16 { + range "1 .. 8192"; + } + } + container ttl-security { + description + "TTL security check"; + leaf hops { + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + } + + grouping ospfv3-af-area-common-vrf-grouping { + list sham-link { + description + "Define a sham link and its parameters"; + key "source dest"; + leaf source { + type inet:ip-address; + } + leaf dest { + type inet:ip-address; + } + leaf cost { + description + "Associate a cost with the sham-link"; + type uint16 { + range "0 .. 65535"; + } + } + container ttl-security { + description + "TTL security check"; + leaf hops { + description + "IP hops"; + type uint8; + } + } + } + } + + grouping ospfv3-area-common-grouping { + leaf default-cost { + when "not(../area-id = '0')"; + description + "Set the summary default-cost of a NSSA/stub area"; + type uint32 { + range "0 .. 16777214"; + } + } + container nssa { + when "not(../area-id = '0')"; + must 'not (../stub)' { + error-message "area configured as STUB"; + } + description + "Specify a NSSA area"; + presence "Specify a NSSA area"; + container default-information-originate { + description + "Originate Type 7 default into NSSA area"; + presence "Originate Type 7 default into NSSA area"; + leaf metric { + description + "OSPF default metric"; + type int32 { + range "0 .. 16777214"; + } + } + leaf metric-type { + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + } + leaf no-redistribution { + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf nssa-only { + description + "Limit default advertisement to this NSSA area"; + type empty; + } + container translate { + description + "Translate LSA"; + container type7 { + description + "From Type 7 to Type 5"; + leaf always { + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + leaf no-redistribution { + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + description + "Do not send summary LSA into NSSA"; + type empty; + } + container translate { + description + "Translate LSA"; + container type7 { + description + "From Type 7 to Type 5"; + leaf always { + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + container stub { + when "not(../area-id = '0')"; + must 'not (../nssa)' { + error-message "area configured as NSSA"; + } + description + "Specify a stub area"; + presence "Specify a stub area"; + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into stub area"; + type empty; + } + leaf no-summary { + description + "Do not send summary LSA into stub area"; + type empty; + } + } + uses config-ospfv3-packet-size-grouping; + } + + grouping ospfv3-area-base-grouping { + list area-config { + description + "OSPF area parameters"; + key "area-id"; + leaf area-id { + type ios-types:ospf-area-type; + } + uses ospfv3-area-common-grouping; + } + } + + grouping ospfv3-router-area-grouping { + uses ospfv3-area-base-grouping { + augment "area-config" { + container authentication { + description + "Enable authentication"; + leaf key-chain { + description + "key chain"; + type string; + } + container ipsec { + description + "Use IPsec encryption"; + leaf spi { + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + } + container encryption { + description + "Enable encryption"; + container ipsec { + description + "Use IPsec encryption"; + leaf spi { + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container esp { + description + "Use ESP encapsulation"; + when '../spi'; + choice encryption-type { + container encrypt-3des { + description + "Use 3DES encryption"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-cbc { + description + "Use AES-CBC encryption"; + choice aes-choice { + container aes-128 { + description + "Use 128 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "128 bit key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-192 { + description + "Use 192 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container aes-256 { + description + "Use 128 bit key"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "256 bit key (64 chars or 130 chars)"; + type string { + length "64 | 130"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + } + } + container des { + description + "Use DES encryption"; + leaf encrypt-type { + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + description + "64 bit key (16 chars or 34 chars)"; + type string { + length "16 | 34"; + pattern '[0-9a-fA-F]*'; + } + } + uses ospfv3-md5-sha1-authentication-grouping; + } + container null { + description + "ESP with no encryption"; + uses ospfv3-md5-sha1-authentication-grouping; + } + } + } + } + } + } + } + } + + grouping ospfv3-af-area-common-grouping { + leaf normal { + description + "Specify a normal area type"; + type empty; + } + container authentication { + description + "Enable authentication"; + choice authentication-choice { + leaf key-chain { + description + "key chain"; + type string; + } + leaf null { + description + "Use null authentication"; + type empty; + } + } + } + list filter-list { + description + "Filter networks between OSPF areas"; + key "in-out"; + leaf in-out { + type enumeration { + enum in; + enum out; + } + } + leaf prefix { + mandatory true; + description + "Filter prefixes between OSPF areas"; + type string; + } + } + } + + grouping ospfv3-af-ipv4-unicast-area-grouping { + uses ospfv3-area-base-grouping { + augment "area-config" { + uses ospfv3-af-area-common-grouping; + uses ospfv3-af-area-ipv4-range-grouping; + } + } + } + + grouping ospfv3-af-ipv4-vrf-area-grouping { + uses ospfv3-area-base-grouping { + augment "area-config" { + uses ospfv3-af-area-common-grouping; + uses ospfv3-af-area-common-vrf-grouping; + uses ospfv3-af-area-ipv4-range-grouping; + } + } + } + + grouping ospfv3-af-ipv6-unicast-area-grouping { + uses ospfv3-area-base-grouping { + augment "area-config" { + uses ospfv3-af-area-common-grouping; + uses ospfv3-af-area-ipv6-vlink-grouping; + uses ospfv3-af-area-ipv6-range-grouping; + } + } + } + + grouping ospfv3-af-ipv6-vrf-area-grouping { + uses ospfv3-area-base-grouping { + augment "area-config" { + uses ospfv3-af-area-common-grouping; + uses ospfv3-af-area-ipv6-vlink-grouping; + uses ospfv3-af-area-ipv6-range-grouping; + uses ospfv3-af-area-common-vrf-grouping; + } + } + } + + grouping ospfv3-af-area-ipv4-range-grouping { + list range { + description + "Summarize routes matching address/mask (border routers only)"; + key "ip mask"; + leaf ip { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + choice advertise-choice { + leaf advertise { + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777214"; + } + } + } + } + + grouping ospfv3-af-area-ipv6-range-grouping { + list range { + description + "Summarize routes matching address/mask (border routers only)"; + key "ip"; + leaf ip { + type ios-types:ipv6-prefix; + } + choice advertise-choice { + leaf advertise { + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777214"; + } + } + } + } + + grouping ospfv3-router-adjacency-stagger-grouping { + container adjacency { + description + "Control adjacency formation"; + leaf stagger { + description + "Stagger adjacency formation"; + type boolean; + default "true"; + } + leaf min-adjacencies { + description + "Initial number of adjacencies allowed to be forming in an area"; + when "../stagger = 'true'"; + type union { + type uint32 { + range "1..65535"; + } + type enumeration { + enum none; + } + } + default "300"; + } + leaf max-adjacencies { + description + "Maximum number of adjacencies allowed to be forming"; + when "../stagger = 'true'"; + type uint32 { + range "1..65535"; + } + default "300"; + must "../min-adjacencies = 'none' or ../min-adjacencies <= current() " { + error-message "Initial value must not be greater than maximum"; + } + } + } + } + + grouping ospfv3-addr-adjacency-stagger-grouping { + container adjacency { + description + "Control adjacency formation"; + leaf stagger { + description + "Stagger adjacency formation"; + type boolean; + } + leaf min-adjacencies { + description + "Initial number of adjacencies allowed to be forming in an area"; + when "../stagger = 'true'"; + type union { + type uint32 { + range "1..65535"; + } + type enumeration { + enum none; + } + } + } + leaf max-adjacencies { + description + "Maximum number of adjacencies allowed to be forming"; + when "../stagger = 'true'"; + type uint32 { + range "1..65535"; + } + must "../min-adjacencies = 'none' or ../min-adjacencies <= current() " { + error-message "Initial value must not be greater than maximum"; + } + } + } + } + + grouping ospfv3-common-grouping { + list area { + status obsolete; + description + "OSPF area parameters (OBSOLETE: use area-config)"; + key "id"; + leaf id { + status obsolete; + type ios-types:ospf-area-type; + } + container authentication { + status obsolete; + description + "Enable authentication"; + presence "true"; + leaf message-digest { + status obsolete; + description + "Use message-digest authentication"; + type empty; + } + } + container capability { + status obsolete; + description + "Enable area specific capability, OBSOLETE"; + leaf default-exclusion { + status obsolete; + description + "Enable exclusion of links from base topology"; + type empty; + } + } + leaf default-cost { + status obsolete; + when "not(../id = '0')"; + description + "Set the summary default-cost of a NSSA/stub area"; + type uint32 { + range "0 .. 16777214"; + } + } + list filter-list { + status obsolete; + description + "Filter networks between OSPF areas"; + key "in-out"; + leaf in-out { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf prefix { + status obsolete; + mandatory true; + description + "Filter prefixes between OSPF areas"; + type string; + } + } + container nssa { + status obsolete; + when "not(../id = '0')"; + description + "Specify a NSSA area"; + presence "Specify a NSSA area"; + container default-information-originate { + status obsolete; + description + "Originate Type 7 default into NSSA area"; + presence "Originate Type 7 default into NSSA area"; + leaf metric { + status obsolete; + description + "OSPF default metric"; + type int32 { + range "0 .. 16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF metric type for default routes"; + type ios-types:ospf-metric-type; + } + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into NSSA"; + type empty; + } + leaf no-redistribution { + status obsolete; + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf nssa-only { + status obsolete; + description + "Limit default advertisement to this NSSA area"; + type empty; + } + container translate { + status obsolete; + description + "Translate LSA"; + container type7 { + status obsolete; + description + "From Type 7 to Type 5"; + leaf always { + status obsolete; + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + status obsolete; + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into NSSA"; + type empty; + } + leaf no-redistribution { + status obsolete; + description + "No redistribution into this NSSA area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into NSSA"; + type empty; + } + leaf nssa-only { + status obsolete; + description + "Limit default advertisement to this NSSA area"; + type empty; + } + container translate { + status obsolete; + description + "Translate LSA"; + container type7 { + status obsolete; + description + "From Type 7 to Type 5"; + leaf always { + status obsolete; + description + "Always translate LSAs on this ABR"; + type empty; + } + leaf suppress-fa { + status obsolete; + description + "Suppress forwarding address in translated LSAs"; + type empty; + } + } + } + } + container ipv4-range { + status obsolete; + list range { + status obsolete; + description + "Summarize routes matching address/mask (border routers only)"; + key "ip mask"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + choice advertise-choice { + status obsolete; + leaf advertise { + status obsolete; + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + status obsolete; + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + status obsolete; + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777214"; + } + } + } + } + container ipv6-range { + status obsolete; + list range { + status obsolete; + description + "Summarize routes matching address/mask (border routers only)"; + key "ip"; + leaf ip { + status obsolete; + type ios-types:ipv6-prefix; + } + choice advertise-choice { + status obsolete; + leaf advertise { + status obsolete; + description + "Advertise this range (default)"; + type empty; + } + leaf not-advertise { + status obsolete; + description + "DoNotAdvertise this range"; + type empty; + } + } + leaf cost { + status obsolete; + description + "User specified metric for this range"; + type uint32 { + range "0 .. 16777214"; + } + } + } + } + list sham-link { + status obsolete; + description + "Define a sham link and its parameters"; + key "source dest"; + leaf source { + status obsolete; + type inet:ip-address; + } + leaf dest { + status obsolete; + type inet:ip-address; + } + leaf cost { + status obsolete; + description + "Associate a cost with the sham-link"; + type uint16 { + range "0 .. 65535"; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf hops { + status obsolete; + description + "IP hops"; + type uint8; + } + } + } + container stub { + status obsolete; + when "not(../id = '0')"; + description + "Specify a stub area"; + presence "Specify a stub area"; + leaf no-ext-capability { + status obsolete; + description + "Do not send domain specific capabilities into stub area"; + type empty; + } + leaf no-summary { + status obsolete; + description + "Do not send summary LSA into stub area"; + type empty; + } + } + list virtual-link { + status obsolete; + description + "Define a virtual link and its parameters"; + key "id"; + leaf id { + status obsolete; + type inet:ip-address; + } + container authentication { + status obsolete; + description + "Set authentication type"; + uses ospf-area-virtual-link-grouping { + status obsolete; + } + container key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + leaf name { + status obsolete; + type string; + } + uses ospf-area-virtual-link-grouping { + status obsolete; + } + } + container message-digest { + status obsolete; + description + "Message-digest authentication"; + uses ospf-area-virtual-link-grouping { + status obsolete; + } + } + leaf null { + status obsolete; + description + "No authentication"; + type empty; + } + } + container hello-interval { + status obsolete; + description + "Hello packet interval"; + leaf hello-interval-value { + status obsolete; + type int32 { + range "1 .. 8192"; + } + } + } + container dead-interval { + status obsolete; + description + "Dead router detection time"; + leaf dead-interval-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container retransmit-interval { + status obsolete; + description + "LSA retransmit interval"; + leaf retransmit-interval-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container transmit-delay { + status obsolete; + description + "LSA transmission delay"; + leaf transmit-delay-value { + status obsolete; + type uint16 { + range "1 .. 8192"; + } + } + } + container topology { + status obsolete; + description + "Disable virtual link on topology"; + leaf disable { + status obsolete; + description + "Disable virtual link"; + type empty; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf hops { + status obsolete; + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + uses ospf-area-virtual-link-grouping { + status obsolete; + } + } + } + container auto-cost { + description + "Calculate OSPF interface cost according to bandwidth"; + presence "Calculate OSPF interface cost according to bandwidth"; + leaf reference-bandwidth { + description + "Use reference bandwidth method to assign OSPF cost"; + type uint32 { + range "1 .. 4294967"; + } + } + } + container event-log { + description + "OSPF Event Logging"; + presence "true"; + leaf size { + description + "Maximum Number of Events Stored in the Event Log"; + type uint32 { + range "1..65534"; + } + default "1000"; + } + leaf one-shot { + description + "Disable Logging When Log Buffer Becomes Full"; + type empty; + } + leaf pause { + description + "Pause Event Logging"; + type empty; + } + } + container bfd { + description + "BFD configuration commands"; + leaf all-interfaces { + description + "Enable BFD on all interfaces"; + type empty; + } + leaf strict-mode { + when '../all-interfaces'; + description + "Enable BFD in strict mode"; + type empty; + } + } + container interface-id { + description + "Source of the interface ID"; + leaf snmp-if-index { + description + "SNMP MIB ifIndex"; + type empty; + } + } + container log-adjacency-changes { + description + "Log changes in adjacency state"; + presence "true"; + leaf detail { + description + "Log all state changes"; + type empty; + } + } + container max-lsa { + description + "maximum number of LSAs OSPF process will receive"; + must 'not (ignore-count != 5 or ignore-time != 5 or reset-time != 10) or not (warning-only)' { + error-message "Only one option is allowed. Configure either ignore-count, ignore-time, reset-time or warning-only"; + } + leaf number { + type uint32 { + range "1 .. 4294967294"; + } + default "50000"; + } + leaf threshold-value { + type uint32 { + range "1 .. 100"; + } + default "75"; + } + leaf ignore-count { + description + "maximum number of times adjacencies can be suppressed"; + type uint32 { + range "1 .. 65534"; + } + default "5"; + } + leaf ignore-time { + description + "Number of minutes during which all adjacencies are suppressed"; + type uint32 { + range "1 .. 65535"; + } + default "5"; + } + leaf reset-time { + description + "Number of minutes after which ignore-count is reset to zero"; + type uint32 { + range "2 .. 65535"; + } + default "10"; + } + leaf warning-only { + description + "Maximum route lifetime following restart, in seconds"; + type empty; + } + } + container max-metric { + description + "Set maximum metric"; + container router-lsa-config { + description + "Maximum metric in self-originated router-LSAs"; + presence "true"; + leaf stub-prefix-lsa { + description + "Set maximum metric for stub links in prefix LSAs"; + type empty; + } + container inter-area-lsas { + description + "Override inter-area-lsas metric with max-metric value"; + presence "true"; + leaf metric { + description + "Overriding metric in inter-area-LSAs (default 16711680)"; + type uint32 { + range "1 .. 16777215"; + } + default "16711680"; + } + } + container external-lsa { + presence "true"; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + description + "Overriding metric in external-LSAs (default 16711680)"; + type uint32 { + range "1 .. 16777215"; + } + default "16711680"; + } + } + container on-startup { + description + "Set maximum metric temporarily after reboot"; + choice time-wait-for-bgp-choice { + leaf time { + type uint32 { + range "5 .. 86400"; + } + } + leaf wait-for-bgp { + description + "Let BGP decide when to originate router-LSA with normal metric"; + type empty; + } + } + } + } + container router-lsa { + status obsolete; + description + "Maximum metric in self-originated router-LSAs (OBSOLETE, use router-lsa-config)"; + presence "Maximum metric in self-originated router-LSAs"; + container external-lsa { + status obsolete; + presence "Override external-lsa metric with max-metric value"; + description + "Override external-lsa metric with max-metric value"; + leaf metric { + status obsolete; + type uint32 { + range "1 .. 16777214"; + } + } + } + leaf include-stub { + status obsolete; + description + "Set maximum metric for stub links in router-LSAs"; + type empty; + } + container on-startup { + status obsolete; + description + "Set maximum metric temporarily after reboot"; + presence "Set maximum metric temporarily after reboot"; + choice time-wait-for-bgp-choice { + status obsolete; + leaf time { + status obsolete; + type uint32 { + range "5 .. 86400"; + } + } + leaf wait-for-bgp { + status obsolete; + description + "Let BGP decide when to originate router-LSA with normal metric"; + type empty; + } + } + } + container summary-lsa { + status obsolete; + description + "Override summary-lsa metric with max-metric value"; + presence "Override summary-lsa metric with max-metric value"; + leaf metric { + status obsolete; + type uint32 { + range "1 .. 16777214"; + } + } + } + } + } + uses ios-ifc:passive-interface-grouping; + container queue-depth { + description + "OSPF Hello/Router process queue depth"; + container hello { + description + "OSPF Hello process queue depth"; + uses queue-depth-grouping; + } + container update { + description + "OSPF Router process queue depth"; + uses queue-depth-grouping; + } + } + container timers { + description + "Adjust routing timers"; + container lsa { + description + "OSPF LSA timers"; + leaf arrival { + description + "OSPF LSA arrival timer"; + type uint32 { + range "0 .. 600000"; + } + } + } + container manet { + description + "Specify MANET OSPF timers"; + leaf ackwait { + description + "Specify acknowledgement delay timer value"; + type uint32 { + range "0..10000"; + } + } + leaf peering { + description + "Specify redundant peering delay timer value"; + type uint32 { + range "0..10000"; + } + } + leaf pushback { + description + "push back timer value in milliseconds"; + type uint32 { + range "0..60000"; + } + } + } + container pacing { + description + "OSPF pacing timers"; + leaf flood { + description + "OSPF flood pacing timer"; + type uint32 { + range "5 .. 100"; + } + } + leaf lsa-group { + description + "OSPF LSA group pacing timer"; + type uint32 { + range "10 .. 1800"; + } + } + leaf retransmission { + description + "OSPF retransmission pacing timer"; + type uint32 { + range "5 .. 200"; + } + } + } + container throttle { + description + "OSPF throttle timers"; + container lsa { + description + "OSPF LSA throttle timers"; + container all { + description + "For all type of OSPF LSAs"; + leaf delay { + type uint32 { + range "0 .. 600000"; + } + } + leaf min-delay { + type uint32 { + range "1 .. 600000"; + } + } + leaf max-delay { + type uint32 { + range "1 .. 600000"; + } + } + } + } + container spf { + description + "OSPF SPF throttle timers"; + leaf delay { + type uint32 { + range "1 .. 600000"; + } + } + leaf min-delay { + type uint32 { + range "1 .. 600000"; + } + } + leaf max-delay { + type uint32 { + range "1 .. 600000"; + } + } + } + } + } + leaf router-id { + description + "Configure router identifier. New router-id will take effect immediately (peers will reset)"; + type inet:ipv4-address; + } + leaf nsr { + description + "Enable non-stop routing"; + type empty; + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + leaf min { + status obsolete; + description + "All traffic shared among min metric paths"; + type empty; + } + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + container ttl-security { + status obsolete; + description + "TTL security check"; + leaf all-interfaces { + status obsolete; + description + "Enable TTL Security on all interfaces"; + type empty; + } + leaf hops { + status obsolete; + description + "IP hops"; + type uint8 { + range "1..254"; + } + } + } + } + + grouping interface-ospfv3-manet-grouping { + container manet { + description + "Mobile Adhoc Networking options"; + container peering { + description + "MANET Peering options"; + container cost { + description + "Redundant path cost improvement required to peer"; + must 'not (percent) or not (threshold)' { + error-message "Only one option is allowed. configure either percent or threshold"; + } + leaf percent { + description + "Relative incremental path cost"; + type uint8 { + range "0..100"; + } + } + leaf threshold { + description + "Absolute incremental path cost"; + type uint32 { + range "0..65535"; + } + } + } + container link-metrics-config { + description + "Require link metrics"; + presence "true"; + leaf link-metrics-value { + description + "Minimum link cost threshold"; + type uint32 { + range "0..65535"; + } + default "65535"; + } + } + leaf link-metrics { + status obsolete; + description + "Require link metrics (OBSOLETE, use link-metrics-config)"; + type uint32 { + range "0..65535"; + } + } + } + } + } + + grouping interface-ospfv3-cost-grouping { + container cost-config { + description + "Route cost of this interface"; + choice cost-options { + leaf value { + description + "Static route cost value of the interface"; + type uint32 { + range "1..65535"; + } + } + container dynamic { + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + choice percent-or-threshold { + leaf percent { + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + } + container weight { + description + "Specify weight to be placed on individual metrics"; + container L2-factor { + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + leaf value { + type uint8 { + range "0..100"; + } + default "100"; + } + } + container latency { + description + "Specify weight to be given to latency metric"; + presence "true"; + leaf value { + type uint8 { + range "0..100"; + } + default "100"; + } + } + container oc { + description + "Specify weight to be given to cdr/mdr for oc"; + leaf cdr { + description + "Give 100 percent for current data rate (0 for max data rate)"; + type empty; + } + } + container resources { + description + "Specify weight to be given to resources metric"; + presence "true"; + leaf value { + type uint8 { + range "0..100"; + } + default "100"; + } + } + container throughput { + description + "Specify weight to be given to throughput metric"; + presence "true"; + leaf value { + type uint8 { + range "0..100"; + } + default "100"; + } + } + } + } + } + } + container cost { + description + "Route cost of this interface (DEPRECATED, use cost-config)"; + status deprecated; + leaf value { + status deprecated; + type uint32 { + range "1..65535"; + } + } + container dynamic { + status deprecated; + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + status deprecated; + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + status deprecated; + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + leaf percent { + status deprecated; + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + status deprecated; + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + container weight { + description + "Specify weight to be placed on individual metrics"; + status deprecated; + container L2-factor { + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + status deprecated; + leaf value { + status deprecated; + type uint8 { + range "0..100"; + } + default "100"; + } + } + container latency { + description + "Specify weight to be given to latency metric"; + presence "true"; + status deprecated; + leaf value { + status deprecated; + type uint8 { + range "0..100"; + } + default "100"; + } + } + container oc { + description + "Specify weight to be given to cdr/mdr for oc"; + status deprecated; + leaf cdr { + status deprecated; + description + "Give 100 percent for current data rate (0 for max data rate)"; + type empty; + } + } + container resources { + description + "Specify weight to be given to resources metric"; + presence "true"; + status deprecated; + leaf value { + status deprecated; + type uint8 { + range "0..100"; + } + default "100"; + } + } + container throughput { + description + "Specify weight to be given to throughput metric"; + presence "true"; + status deprecated; + leaf value { + status deprecated; + type uint8 { + range "0..100"; + } + default "100"; + } + } + } + } + } + } + + grouping interface-ospfv3-adj-stagger-grouping { + container adjacency { + description + "Adjacency staggering"; + container stagger { + description + "Disable adjacency staggering on this interface"; + leaf disable { + type empty; + } + } + } + } + + grouping ospfv3-multi-area-id-cost-grouping { + list multi-area-id-cost { + description + "Set the OSPFv3 multi-area ID cost"; + key "area-id"; + leaf area-id { + description + "OSPFv3 multi-area ID"; + type ios-types:ospf-area-type; + } + leaf cost { + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + mandatory true; + } + } + } + + grouping interface-ospfv3-process-id-grouping { + container authentication { + description + "Enable authentication"; + must 'not (key-chain) or not (null) ' { + error-message "Can not configure both key-chain and null at the same time."; + } + leaf key-chain { + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + description + "Use no authentication"; + type empty; + } + } + uses interface-ospfv3-bfd-grouping; + uses interface-ospfv3-cost-grouping; + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + leaf all { + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + uses interface-ospfv3-dead-interval-grouping; + container demand-circuit { + description + "OSPF demand circuit"; + presence "true"; + must 'not (disable) or not (ignore)' { + error-message "Only one option is allowed. configure either disable or ignore"; + } + leaf disable { + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container flood-reduction { + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + type empty; + } + } + uses interface-ospfv3-hello-interval-grouping; + uses interface-ospfv3-manet-grouping; + container mtu-ignore { + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + container multi-area-config { + list multi-area-id { + description + "Set the OSPFv3 multi-area ID"; + key "area-id"; + leaf area-id { + description + "OSPFv3 multi-area ID"; + type ios-types:ospf-area-type; + } + leaf disable { + description + "disable OSPFv3 multi-area"; + type empty; + } + } + uses ospfv3-multi-area-id-cost-grouping; + } + container multi-area { + status deprecated; + description + "Set the OSPF multi-area ID (DEPRECATED, use multi-area-config)"; + leaf id { + status deprecated; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf cost { + status deprecated; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + leaf disable { + status deprecated; + description + "disable OSPF multi-area"; + type empty; + } + } + uses interface-ospfv3-neighbor-grouping; + uses interface-ospfv3-network-grouping; + uses interface-ospfv3-prefix-suppression-grouping; + uses interface-ospfv3-priority-grouping; + uses interface-ospfv3-retransmit-interval-grouping; + container shutdown { + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + description + "Disable inherited shutdown"; + type empty; + } + } + uses interface-ospfv3-transmit-delay-grouping; + uses config-ospfv3-packet-size-grouping; + uses interface-ospfv3-adj-stagger-grouping; + } + + grouping config-interface-ospfv3-grouping { + container ospfv3 { + description + "OSPFv3 interface commands"; + list process-id { + key "id"; + leaf id { + must '( (/ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast or /ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf) and ../ipv4/area) or not(../ipv4/area) ' { + error-message "ospfv3 area can not exist without router ospfv3 ipv4 address-family"; + } + must '( (/ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:unicast or /ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv6/ios-ospfv3:vrf) and ../ipv6/area) or not(../ipv6/area) ' { + error-message "ospfv3 area can not exist without router ospfv3 ipv6 address-family"; + } + type uint16 { + range "1..65535"; + } + } + uses interface-ospfv3-process-id-grouping; + container ipv4 { + description + "Specify parameters for IPv4"; + list area { + max-elements 1; + description + "Set the OSPF area ID"; + key "id"; + leaf id { + type ios-types:ospf-area-type; + } + leaf instance { + description + "Set the OSPF instance"; + type uint8 { + range "64..95"; + } + default "64"; + } + } + uses interface-ospfv3-process-id-grouping; + } + container ipv6 { + description + "Specify parameters for IPv6"; + list area { + description + "Set the OSPF area ID"; + max-elements 1; + key "id"; + leaf id { + type ios-types:ospf-area-type; + } + leaf instance { + description + "Set the OSPF instance"; + type uint8 { + range "0..31"; + } + default "0"; + } + } + uses interface-ospfv3-process-id-grouping; + } + } + uses interface-ospfv3-authentication-grouping; + uses interface-ospfv3-adj-stagger-grouping; + container authentication { + description + "Enable authentication (OBSOLETE, use authentication-config)"; + status obsolete; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + uses authentication-ipsec-grouping { + status obsolete; + } + } + uses interface-ospfv3-bfd-grouping; + uses interface-ospfv3-cost-grouping; + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + leaf all { + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + uses interface-ospfv3-dead-interval-grouping; + container demand-circuit { + description + "OSPF Demand Circuit"; + presence "true"; + leaf ignore { + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + uses interface-ospfv3-encryption-grouping; + leaf flood-reduction { + description + "OSPF Flood Reduction"; + type empty; + } + uses interface-ospfv3-hello-interval-grouping; + uses interface-ospfv3-manet-grouping; + leaf mtu-ignore { + description + "Ignores the MTU in DBD packets"; + type empty; + } + container multi-area-config { + list multi-area-id { + description + "Set the OSPFv3 multi-area ID"; + key "area-id"; + leaf area-id { + description + "OSPFv3 multi-area ID"; + type ios-types:ospf-area-type; + } + } + uses ospfv3-multi-area-id-cost-grouping; + } + container multi-area { + status deprecated; + description + "Set the OSPF multi-area ID (DEPRECATED, use multi-area-config)"; + leaf id { + status deprecated; + type ios-types:ospf-area-type; + } + leaf cost { + status deprecated; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + } + uses interface-ospfv3-neighbor-grouping; + uses interface-ospfv3-network-grouping; + uses interface-ospfv3-prefix-suppression-grouping; + uses interface-ospfv3-priority-grouping; + uses interface-ospfv3-retransmit-interval-grouping; + leaf shutdown { + description + "Shut down the interface in OSPFv3"; + type empty; + } + uses interface-ospfv3-transmit-delay-grouping; + } + } + + grouping config-interface-ospfv3-obsolete-grouping { + status obsolete; + container ospfv3 { + status obsolete; + description + "OSPFv3 interface commands"; + list process-id { + status obsolete; + key "id"; + leaf id { + status obsolete; + type uint16 { + range "1..65535"; + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + } + container bfd { + status obsolete; + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable BFD on this interface"; + type empty; + } + } + container cost { + status obsolete; + description + "Route cost of this interface"; + leaf value { + status obsolete; + type uint32 { + range "1..65535"; + } + } + container dynamic { + status obsolete; + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + status obsolete; + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + status obsolete; + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + leaf percent { + status obsolete; + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + status obsolete; + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + container weight { + status obsolete; + description + "Specify weight to be placed on individual metrics"; + container L2-factor { + status obsolete; + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container latency { + status obsolete; + description + "Specify weight to be given to latency metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container resources { + status obsolete; + description + "Specify weight to be given to resources metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container throughput { + status obsolete; + description + "Specify weight to be given to throughput metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + } + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + status obsolete; + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + leaf dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + } + container demand-circuit { + status obsolete; + description + "OSPF demand circuit"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + status obsolete; + type empty; + } + } + leaf hello-interval { + status obsolete; + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + container manet { + status obsolete; + description + "Mobile Adhoc Networking options"; + container peering { + status obsolete; + description + "MANET Peering options"; + container cost { + status obsolete; + description + "Redundant path cost improvement required to peer"; + leaf percent { + status obsolete; + description + "Relative incremental path cost"; + type uint8 { + range "0..100"; + } + } + leaf threshold { + status obsolete; + description + "Absolute incremental path cost"; + type uint32 { + range "0..65535"; + } + } + } + container link-metrics-config { + status obsolete; + description + "Require link metrics"; + presence "true"; + leaf link-metrics-value { + status obsolete; + description + "Minimum link cost threshold"; + type uint32 { + range "0..65535"; + } + } + } + leaf link-metrics { + status obsolete; + description + "Require link metrics"; + type uint32 { + range "0..65535"; + } + } + } + } + container mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + container multi-area { + status obsolete; + description + "Set the OSPF multi-area ID"; + leaf id { + status obsolete; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf cost { + status obsolete; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + leaf disable { + status obsolete; + description + "disable OSPF multi-area"; + type empty; + } + } + list neighbor { + status obsolete; + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + status obsolete; + type inet:ipv6-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + } + } + container network-type { + status obsolete; + description + "Network type"; + choice network-type-choice { + status obsolete; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + container network { + status obsolete; + description + "Network type"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + container prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable prefix suppression"; + type empty; + } + } + leaf priority { + status obsolete; + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf retransmit-interval { + status obsolete; + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + } + container shutdown { + status obsolete; + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable inherited shutdown"; + type empty; + } + } + leaf transmit-delay { + status obsolete; + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + container ipv4 { + status obsolete; + description + "Specify parameters for IPv4"; + list area { + status obsolete; + description + "Set the OSPF area ID"; + key "id"; + leaf id { + status obsolete; + type ios-types:ospf-area-type; + } + leaf instance { + status obsolete; + description + "Set the OSPF instance"; + type uint8 { + range "64..95"; + } + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + } + container bfd { + status obsolete; + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable BFD on this interface"; + type empty; + } + } + container cost { + status obsolete; + description + "Route cost of this interface"; + leaf value { + status obsolete; + type uint32 { + range "1..65535"; + } + } + container dynamic { + status obsolete; + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + status obsolete; + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + status obsolete; + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + leaf percent { + status obsolete; + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + status obsolete; + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + container weight { + status obsolete; + description + "Specify weight to be placed on individual metrics"; + container L2-factor { + status obsolete; + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container latency { + status obsolete; + description + "Specify weight to be given to latency metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container resources { + status obsolete; + description + "Specify weight to be given to resources metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container throughput { + status obsolete; + description + "Specify weight to be given to throughput metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + } + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + status obsolete; + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + leaf dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + } + container demand-circuit { + status obsolete; + description + "OSPF demand circuit"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + status obsolete; + type empty; + } + } + leaf hello-interval { + status obsolete; + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + container manet { + status obsolete; + description + "Mobile Adhoc Networking options"; + container peering { + status obsolete; + description + "MANET Peering options"; + container cost { + status obsolete; + description + "Redundant path cost improvement required to peer"; + leaf percent { + status obsolete; + description + "Relative incremental path cost"; + type uint8 { + range "0..100"; + } + } + leaf threshold { + status obsolete; + description + "Absolute incremental path cost"; + type uint32 { + range "0..65535"; + } + } + } + container link-metrics-config { + status obsolete; + description + "Require link metrics"; + presence "true"; + leaf link-metrics-value { + status obsolete; + description + "Minimum link cost threshold"; + type uint32 { + range "0..65535"; + } + } + } + leaf link-metrics { + status obsolete; + description + "Require link metrics"; + type uint32 { + range "0..65535"; + } + } + } + } + container mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + container multi-area { + status obsolete; + description + "Set the OSPF multi-area ID"; + leaf id { + status obsolete; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf cost { + status obsolete; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + leaf disable { + status obsolete; + description + "disable OSPF multi-area"; + type empty; + } + } + list neighbor { + status obsolete; + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + status obsolete; + type inet:ipv6-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + } + } + container network-type { + status obsolete; + description + "Network type"; + choice network-type-choice { + status obsolete; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + container network { + status obsolete; + description + "Network type"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + container prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable prefix suppression"; + type empty; + } + } + leaf priority { + status obsolete; + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf retransmit-interval { + status obsolete; + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + } + container shutdown { + status obsolete; + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable inherited shutdown"; + type empty; + } + } + leaf transmit-delay { + status obsolete; + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + } + container ipv6 { + status obsolete; + description + "Specify parameters for IPv6"; + list area { + status obsolete; + description + "Set the OSPF area ID"; + key "id"; + leaf id { + status obsolete; + type ios-types:ospf-area-type; + } + leaf instance { + status obsolete; + description + "Set the OSPF instance"; + type uint8 { + range "0..31"; + } + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + } + container bfd { + status obsolete; + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable BFD on this interface"; + type empty; + } + } + container cost { + status obsolete; + description + "Route cost of this interface"; + leaf value { + status obsolete; + type uint32 { + range "1..65535"; + } + } + container dynamic { + status obsolete; + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + status obsolete; + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + status obsolete; + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + leaf percent { + status obsolete; + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + status obsolete; + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + container weight { + status obsolete; + description + "Specify weight to be placed on individual metrics"; + container L2-factor { + status obsolete; + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container latency { + status obsolete; + description + "Specify weight to be given to latency metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container resources { + status obsolete; + description + "Specify weight to be given to resources metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container throughput { + status obsolete; + description + "Specify weight to be given to throughput metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + } + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + status obsolete; + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + leaf dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + } + container demand-circuit { + status obsolete; + description + "OSPF demand circuit"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + status obsolete; + type empty; + } + } + leaf hello-interval { + status obsolete; + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + container manet { + status obsolete; + description + "Mobile Adhoc Networking options"; + container peering { + status obsolete; + description + "MANET Peering options"; + container cost { + status obsolete; + description + "Redundant path cost improvement required to peer"; + leaf percent { + status obsolete; + description + "Relative incremental path cost"; + type uint8 { + range "0..100"; + } + } + leaf threshold { + status obsolete; + description + "Absolute incremental path cost"; + type uint32 { + range "0..65535"; + } + } + } + container link-metrics-config { + status obsolete; + description + "Require link metrics"; + presence "true"; + leaf link-metrics-value { + status obsolete; + description + "Minimum link cost threshold"; + type uint32 { + range "0..65535"; + } + } + } + leaf link-metrics { + status obsolete; + description + "Require link metrics"; + type uint32 { + range "0..65535"; + } + } + } + } + container mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + container multi-area { + status obsolete; + description + "Set the OSPF multi-area ID"; + leaf id { + status obsolete; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf cost { + status obsolete; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + leaf disable { + status obsolete; + description + "disable OSPF multi-area"; + type empty; + } + } + list neighbor { + status obsolete; + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + status obsolete; + type inet:ipv6-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + } + } + container network-type { + status obsolete; + description + "Network type"; + choice network-type-choice { + status obsolete; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + container network { + status obsolete; + description + "Network type"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + container prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable prefix suppression"; + type empty; + } + } + leaf priority { + status obsolete; + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf retransmit-interval { + status obsolete; + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + } + container shutdown { + status obsolete; + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable inherited shutdown"; + type empty; + } + } + leaf transmit-delay { + status obsolete; + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + } + } + container authentication-int-config { + status obsolete; + description + "Enable authentication"; + choice authentication-choice { + status obsolete; + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + container authentication-type { + status obsolete; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + container ipsec { + status obsolete; + description + "Use IPsec authentication"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + when '../spi'; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + when '../spi'; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + } + } + } + container authentication-config { + status obsolete; + description + "Enable authentication"; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + choice authentication-choice { + status obsolete; + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec authentication"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + when '../spi'; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars)"; + type string { + pattern '[0-9a-fA-F]{32}'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + when '../spi'; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars)"; + type string { + pattern '[0-9a-fA-F]{40}'; + } + } + } + } + } + } + } + container authentication { + status obsolete; + description + "Enable authentication"; + leaf key-chain { + status obsolete; + description + "Use a key-chain for cryptographic authentication keys"; + type string; + } + leaf null { + status obsolete; + description + "Use no authentication"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec authentication"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container md5 { + status obsolete; + description + "Use MD5 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + container bfd { + status obsolete; + description + "Enable BFD on this interface"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable BFD on this interface"; + type empty; + } + } + container cost { + status obsolete; + description + "Route cost of this interface"; + leaf value { + status obsolete; + type uint32 { + range "1..65535"; + } + } + container dynamic { + status obsolete; + description + "Specify dynamic cost options"; + presence "true"; + leaf default { + status obsolete; + description + "Specify default link metric value"; + type uint32 { + range "0..65535"; + } + } + container hysteresis { + status obsolete; + description + "Specify hysteresis value for LSA dampening"; + presence "true"; + leaf percent { + status obsolete; + description + "Specify hysteresis percent changed"; + type uint8 { + range "1..100"; + } + } + leaf threshold { + status obsolete; + description + "Specify hysteresis threshold value"; + type uint32 { + range "0..65535"; + } + } + } + container weight { + status obsolete; + description + "Specify weight to be placed on individual metrics"; + container L2-factor { + status obsolete; + description + "Specify weight to be given to L2-factor metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container latency { + status obsolete; + description + "Specify weight to be given to latency metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container resources { + status obsolete; + description + "Specify weight to be given to resources metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + container throughput { + status obsolete; + description + "Specify weight to be given to throughput metric"; + presence "true"; + leaf value { + status obsolete; + type uint8 { + range "0..100"; + } + } + } + } + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding"; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + leaf dead-interval { + status obsolete; + description + "Interval after which a neighbor is declared dead"; + type uint16 { + range "1..65535"; + } + default "40"; + } + container demand-circuit { + status obsolete; + description + "OSPF Demand Circuit"; + presence "true"; + leaf ignore { + status obsolete; + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + container encryption-config { + status obsolete; + description + "Enable encryption"; + choice encryption-choice { + status obsolete; + leaf null { + status obsolete; + description + "No IPsec encryption on this interface"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec encryption"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + container esp { + status obsolete; + description + "Use ESP encapsulation"; + when '../spi'; + choice encryption-type { + status obsolete; + container encrypt-3des { + status obsolete; + description + "Use 3DES encryption"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + container aes-cbc { + status obsolete; + description + "Use AES-CBC encryption"; + choice aes-choice { + status obsolete; + container aes-128 { + status obsolete; + description + "Use 128 bit key"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "128 bit key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + container aes-192 { + status obsolete; + description + "Use 192 bit key"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "192 bit key (48 chars or 98 chars)"; + type string { + length "48 | 98"; + pattern '[0-9a-fA-F]*'; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + container aes-256 { + status obsolete; + description + "Use 128 bit key"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "256 bit key (64 chars or 130 chars)"; + type string { + length "64 | 130"; + pattern '[0-9a-fA-F]*'; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + } + } + container des { + status obsolete; + description + "Use DES encryption"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "64 bit key (16 chars or 34 chars)"; + type string { + length "16 | 34"; + pattern '[0-9a-fA-F]*'; + } + } + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + container null { + status obsolete; + description + "ESP with no encryption"; + choice md5-sha1-choice { + status obsolete; + container md5 { + status obsolete; + description + "Use MD5 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "MD5 key (32 chars or 66 chars)"; + type string { + length "32 | 66"; + pattern '[0-9a-fA-F]*'; + } + } + } + container sha1 { + status obsolete; + description + "Use SHA-1 authentication"; + leaf encrypt-type { + status obsolete; + description + "Encryption type (0 - is not encrypted, 7 is encrypted)"; + type enumeration { + enum 0; + enum 7; + } + } + leaf hex-string { + status obsolete; + description + "SHA-1 key (40 chars or 82 chars)"; + type string { + length "40 | 82"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + } + } + } + } + } + } + container encryption { + status obsolete; + description + "Enable encryption"; + leaf null { + status obsolete; + description + "No IPsec encryption on this interface"; + type empty; + } + container ipsec { + status obsolete; + description + "Use IPsec encryption"; + leaf spi { + status obsolete; + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + leaf esp { + status obsolete; + description + "Use ESP encapsulation"; + type empty; + } + container ipsec_3des { + status obsolete; + description + "Use 3DES encryption"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-cbc { + status obsolete; + description + "Use AES-CBC encryption"; + container aes-cbc-128 { + status obsolete; + description + "Use 128 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-192 { + status obsolete; + description + "Use 192 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + container aes-256 { + status obsolete; + description + "Use 256 bit key"; + container key-string { + status obsolete; + leaf encrypt { + status obsolete; + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + status obsolete; + type string; + } + } + } + } + } + } + leaf flood-reduction { + status obsolete; + description + "OSPF Flood Reduction"; + type empty; + } + leaf hello-interval { + status obsolete; + description + "Time between HELLO packets"; + type uint32 { + range "1..65535"; + } + default "10"; + } + container manet { + status obsolete; + description + "Mobile Adhoc Networking options"; + container peering { + status obsolete; + description + "MANET Peering options"; + container cost { + status obsolete; + description + "Redundant path cost improvement required to peer"; + leaf percent { + status obsolete; + description + "Relative incremental path cost"; + type uint8 { + range "0..100"; + } + } + leaf threshold { + status obsolete; + description + "Absolute incremental path cost"; + type uint32 { + range "0..65535"; + } + } + } + container link-metrics-config { + status obsolete; + description + "Require link metrics"; + presence "true"; + leaf link-metrics-value { + status obsolete; + description + "Minimum link cost threshold"; + type uint32 { + range "0..65535"; + } + } + } + leaf link-metrics { + status obsolete; + description + "Require link metrics"; + type uint32 { + range "0..65535"; + } + } + } + } + leaf mtu-ignore { + status obsolete; + description + "Ignores the MTU in DBD packets"; + type empty; + } + container multi-area { + status obsolete; + description + "Set the OSPF multi-area ID"; + leaf id { + status obsolete; + type ios-types:ospf-area-type; + } + leaf cost { + status obsolete; + description + "Interface cost"; + type uint32 { + range "1..65535"; + } + } + } + list neighbor { + status obsolete; + description + "OSPF neighbor"; + ordered-by user; + must 'count(*) > 1'; + key "id"; + leaf id { + status obsolete; + type inet:ipv6-address; + } + leaf cost { + status obsolete; + description + "OSPF cost for point-to-multipoint neighbor"; + type uint16 { + range "1..65535"; + } + } + container database-filter { + status obsolete; + description + "Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor"; + choice database { + status obsolete; + leaf all { + status obsolete; + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + } + } + leaf poll-interval { + status obsolete; + description + "OSPF dead-router polling interval"; + type uint32 { + range "0..65535"; + } + } + leaf priority { + status obsolete; + description + "OSPF priority of non-broadcast neighbor"; + type uint8 { + range "0..255"; + } + } + } + container network-type { + status obsolete; + description + "Network type"; + choice network-type-choice { + status obsolete; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + } + container network { + status obsolete; + description + "Network type"; + leaf broadcast { + status obsolete; + description + "Specify OSPF broadcast multi-access network"; + type empty; + } + leaf manet { + status obsolete; + description + "Specify MANET OSPF interface type"; + type empty; + } + leaf non-broadcast { + status obsolete; + description + "Specify OSPF NBMA network"; + type empty; + } + container point-to-multipoint { + status obsolete; + description + "Specify OSPF point-to-multipoint network"; + presence "true"; + leaf non-broadcast { + status obsolete; + description + "Specify non-broadcast point-to-mpoint network"; + type empty; + } + } + leaf point-to-point { + status obsolete; + description + "Specify OSPF point-to-point network"; + type empty; + } + } + container prefix-suppression { + status obsolete; + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + status obsolete; + description + "Disable prefix suppression"; + type empty; + } + } + leaf priority { + status obsolete; + description + "Router priority"; + type uint8 { + range "0..255"; + } + default "1"; + } + leaf retransmit-interval { + status obsolete; + description + "Time between retransmitting lost link state advertisements"; + type uint32 { + range "1..65535"; + } + default "5"; + } + leaf shutdown { + status obsolete; + description + "Shut down the interface in OSPFv3"; + type empty; + } + leaf transmit-delay { + status obsolete; + description + "Link state transmit delay"; + type uint32 { + range "1..65535"; + } + default "1"; + } + } + } + + grouping ospf-redistribute-bgp-grouping { + leaf as-number { + type ios-types:bgp-as-number-type; + } + uses ospf-redistribute-grouping; + } + + grouping ospf-redistribute-bgp-grouping-deprecated { + status obsolete; + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + + grouping ospf-redistribute-bgp-grouping-obsolete { + status obsolete; + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + + grouping ospf-redistribute-match-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16777214"; + } + } + leaf translate-rib-metric { + description + "Translate rib-metric"; + must 'not (../metric)' { + error-message "Either metric or translate-rib-metric allowed"; + } + type empty; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf nssa-only { + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf route-map { + description + "Route map reference"; + type string; + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-redistribute-match-grouping-obsolete { + status obsolete; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf nssa-only { + status obsolete; + description + "Limit redistributed routes to NSSA areas"; + type empty; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + leaf tag { + status obsolete; + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-redistribute-top-match-grouping { + container match { + description + "Redistribution of OSPF routes"; + container internal { + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses ospf-redistribute-match-grouping; + } + container external { + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + type ios-types:redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping; + } + container nssa-external { + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + type ios-types:redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping; + } + } + } + + grouping ospf-redistribute-top-match-grouping-obsolete { + status obsolete; + container match { + status obsolete; + description + "Redistribution of OSPF routes"; + container internal { + status obsolete; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + } + container external { + status obsolete; + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + } + container nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + } + } + } + + grouping ospf-iso-igrp-redistribute-grouping { + leaf metric { + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf translate-rib-metric { + description + "Translate rib-metric"; + must 'not (../metric)' { + error-message "Either metric or translate-rib-metric allowed"; + } + type empty; + } + leaf metric-type { + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf tag { + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-iso-igrp-redistribute-grouping-deprecated { + status obsolete; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf tag { + status obsolete; + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-iso-igrp-redistribute-grouping-obsolete { + status obsolete; + leaf metric { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0..16777214"; + } + } + leaf metric-type { + status obsolete; + description + "OSPF/IS-IS exterior metric type for redistributed routes"; + type enumeration { + enum 1; + enum 2; + } + } + leaf tag { + status obsolete; + description + "Set tag for routes redistributed into OSPF"; + type uint32 { + range "0 .. 4294967295"; + } + } + leaf subnets { + status obsolete; + description + "Consider subnets for redistribution into OSPF"; + type empty; + } + } + + grouping ospf-redistribute-top-grouping { + list application { + description + "Application"; + key "name"; + leaf name { + type string; + } + uses ospf-redistribute-grouping; + } + list bgp { + description + "Border Gateway Protocol (BGP)"; + max-elements 1; + key "as-number"; + uses ospf-redistribute-bgp-grouping; + } + container connected { + description + "Connected"; + presence "Connected"; + uses ospf-redistribute-grouping; + } + list eigrp-config { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + type uint32 { + range "1..65535"; + } + } + uses ospf-redistribute-grouping; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses ospf-redistribute-bgp-grouping-deprecated { + status obsolete; + } + } + container isis { + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + key "name"; + leaf name { + type string; + } + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses ospf-redistribute-grouping; + } + } + uses ospf-redistribute-grouping; + } + container iso-igrp { + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + container area-tag-route-map-container { + leaf area-tag { + type string; + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + uses ospf-iso-igrp-redistribute-grouping; + } + } + container lisp-config { + description + "Locator ID Separation Protocol (LISP)"; + presence "Locator ID Separation Protocol (LISP)"; + uses ospf-redistribute-grouping; + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + status obsolete; + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + container mobile { + description + "Mobile routes"; + presence "Mobile routes"; + uses ospf-redistribute-grouping; + } + container nat-route-config { + if-feature "ios-features:sdwan"; + description + "NAT Route"; + presence "true"; + leaf dia { + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-grouping; + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + container odr { + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses ospf-redistribute-grouping; + } + container omp { + description + "Overlay Management Protocol"; + presence "omp"; + uses ospf-redistribute-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + description + "OSPFv3"; + key "id"; + leaf id { + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping; + uses ospf-redistribute-match-grouping; + } + container rip-config { + description + "Routing Information Protocol (RIP)"; + presence "true"; + uses ospf-redistribute-grouping; + } + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this rip process"; + type string; + } + uses ospf-redistribute-grouping-deprecated { + status obsolete; + } + } + container static { + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-grouping; + } + } + + grouping queue-depth-grouping { + leaf options { + type union { + type uint32 { + range "1 .. 2147483647"; + } + type enumeration { + enum unlimited; + } + } + } + } + + grouping ospf-area-virtual-link-grouping { + status obsolete; + uses ospfv3-authentication-key-grouping { + status obsolete; + } + list message-digest-key { + status obsolete; + description + "Set message digest key"; + key "id"; + leaf id { + status obsolete; + type uint8 { + range "1 .. 255"; + } + } + container md5 { + status obsolete; + description + "Use MD5 algorithm"; + leaf auth-type { + status obsolete; + type uint8 { + range "0 .. 7"; + } + } + leaf auth-key { + status obsolete; + type string { + length "1 .. 16"; + } + } + } + } + } + + grouping ospfv3-af-ipv4-summary-prefix-grouping { + list summary-prefix { + key "prefix"; + leaf prefix { + type inet:ipv4-prefix; + } + choice tag-no-advertise-choice { + leaf nssa-only { + type empty; + } + leaf tag { + type uint32 { + range "1 .. 4294967295"; + } + } + leaf not-advertise { + type empty; + } + } + } + } + + grouping ospfv3-af-ipv6-summary-prefix-grouping { + list summary-prefix { + description + "Configure IPv6 summary prefix"; + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + } + choice tag-no-advertise-choice { + leaf nssa-only { + description + "Limit summary to NSSA areas"; + type empty; + } + leaf tag { + description + "Set tag"; + type uint32 { + range "1 .. 4294967295"; + } + } + leaf not-advertise { + description + "Do not advertise when translating OSPF type-7 LSA"; + type empty; + } + } + } + } + + grouping ospfv3-router-shut-grouping { + leaf shutdown { + description + "Shutdown the OSPF protocol under the current instance"; + type boolean; + default "false"; + } + } + + grouping ospfv3-addr-shut-grouping { + container shutdown { + description + "Shutdown the OSPF protocol under the current instance"; + presence "true"; + leaf disable { + description + "Disable inherited shutdown"; + type empty; + } + } + } + + grouping ospfv3-router-prefix-suppression-grouping { + leaf prefix-suppression { + description + "OSPF prefix suppression"; + type boolean; + default "false"; + } + } + + grouping ospfv3-addr-prefix-suppression-grouping { + container prefix-suppression { + description + "OSPF prefix suppression"; + presence "true"; + leaf disable { + description + "Disable prefix suppression"; + type empty; + } + } + } + + grouping ospfv3-router-local-rib-criteria-grouping { + leaf local-rib-criteria { + description + "Enable or disable usage of local RIB as route criteria"; + type boolean; + default "true"; + } + } + + grouping ospfv3-addr-local-rib-criteria-grouping { + leaf local-rib-criteria { + description + "Enable or disable usage of local RIB as route criteria"; + type boolean; + } + } + + grouping ospfv3-router-limit-grouping { + container limit { + description + "Limit a specific OSPF feature"; + container retransmissions { + description + "LS update, DBD, and LS request retransmissions"; + leaf dc { + description + "Demand circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + default "24"; + } + leaf non-dc { + description + "Non-demand-circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + default "24"; + } + } + } + } + + grouping ospfv3-addr-limit-grouping { + container limit { + description + "Limit a specific OSPF feature"; + container retransmissions { + description + "LS update, DBD, and LS request retransmissions"; + leaf dc { + description + "Demand circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + } + leaf non-dc { + description + "Non-demand-circuit retransmissions"; + type ios-types:limit-dc-non-dc-type; + } + } + } + } + + grouping ospfv3-grouping { + container authentication { + description + "Authentication parameters"; + leaf mode { + description + "Authentication operation mode"; + type enumeration { + enum deployment; + enum strict; + } + } + } + container compatible { + description + "OSPF compatibility list"; + leaf rfc1583 { + description + "Compatible with RFC 1583"; + type boolean; + default "true"; + } + leaf rfc1587 { + description + "Compatible with RFC 1587"; + type boolean; + default "false"; + } + leaf rfc5243 { + description + "Compatible with RFC 5243"; + type boolean; + default "true"; + } + } + container graceful-restart { + description + "Graceful-restart options"; + presence "true"; + container helper { + description + "helper support"; + presence "true"; + leaf disable { + description + "disable helper support"; + type empty; + } + leaf strict-lsa-checking { + description + "enable helper strict LSA checking"; + type empty; + } + } + leaf restart-interval { + description + "Graceful restart interval"; + type uint16 { + range "1..1800"; + } + } + } + container manet { + description + "Specify MANET OSPF parameters"; + container cache { + description + "Specify MANET cache sizes"; + leaf acknowledgement { + description + "Specify MANET acknowledgement cache size"; + type uint64 { + range "0..4294967295"; + } + } + leaf update { + description + "Specify MANET LSA cache size"; + type uint64 { + range "0..4294967295"; + } + } + } + leaf hello { + description + "Unicast Hellos rather than multicast"; + type enumeration { + enum unicast; + } + } + container peering { + description + "MANET OSPF Smart Peering"; + container selective { + description + "Enable selective peering"; + leaf disable { + description + "Disable selective peering"; + type empty; + } + leaf per-interface { + description + "Select peers per interface rather than per node"; + type empty; + } + leaf redundancy { + description + "Redundant paths"; + type uint8 { + range "0..10"; + } + } + } + } + leaf willingness { + description + "Specify Relay willingness value"; + type uint8 { + range "0..255"; + } + } + } + uses ospfv3-router-local-rib-criteria-grouping; + uses ospfv3-router-shut-grouping; + uses ospfv3-router-prefix-suppression-grouping; + uses ospfv3-router-limit-grouping; + uses ospfv3-router-adjacency-stagger-grouping; + } + + grouping ospfv3-address-family-grouping { + container authentication { + description + "Authentication parameters"; + leaf mode { + description + "Authentication operation mode"; + type enumeration { + enum deployment; + enum normal; + enum strict; + } + } + } + container graceful-restart { + description + "Graceful-restart options"; + presence "true"; + leaf disable { + description + "Graceful restart disable"; + type empty; + } + container helper { + description + "helper support"; + presence "true"; + leaf disable { + description + "disable helper support"; + type empty; + } + leaf strict-lsa-checking { + description + "enable helper strict LSA checking"; + type empty; + } + } + leaf restart-interval { + description + "Graceful restart interval"; + type uint16 { + range "1..1800"; + } + } + } + container manet { + description + "Specify MANET OSPF parameters"; + container cache { + description + "Specify MANET cache sizes"; + leaf acknowledgement { + description + "Specify MANET acknowledgement cache size"; + type uint64 { + range "0..4294967295"; + } + } + leaf update { + description + "Specify MANET LSA cache size"; + type uint64 { + range "0..4294967295"; + } + } + } + leaf hello { + description + "Unicast Hellos rather than multicast"; + type enumeration { + enum unicast; + enum multicast; + } + } + container peering { + description + "MANET OSPF Smart Peering"; + container selective { + description + "Enable selective peering"; + leaf disable { + description + "Disable selective peering"; + type empty; + } + leaf per-interface { + description + "Select peers per interface rather than per node"; + type empty; + } + leaf redundancy { + description + "Redundant paths"; + type uint8 { + range "0..10"; + } + } + } + } + leaf willingness { + description + "Specify Relay willingness value"; + type uint8 { + range "0..255"; + } + } + } + uses ospfv3-addr-local-rib-criteria-grouping; + uses ospfv3-addr-shut-grouping; + uses ospfv3-addr-prefix-suppression-grouping; + uses ospfv3-addr-limit-grouping; + uses ospfv3-addr-adjacency-stagger-grouping; + } + + grouping config-ospfv3-dist-list-acl-out-protocol { + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + mandatory true; + } + leaf out { + description + "Filter service updates"; + type enumeration { + enum out; + } + } + } + + grouping config-ospfv3-ipv4-distribute-list-acl-out-protocol-grouping { + list bgp { + key "out bgp"; + max-elements 1; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf bgp { + description + "Border Gateway Protocol (BGP)"; + type ios-types:bgp-as-number-type; + } + } + list eigrp { + key "out eigrp"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16 { + range "1..65535"; + } + } + } + list connected { + key "out connected"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf connected { + description + "Connected"; + type enumeration { + enum connected; + } + } + } + list isis { + key "out isis"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf isis { + description + "ISO IS-IS"; + type enumeration { + enum isis; + } + } + } + list isis-area-tag { + key "out isis"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf isis { + description + "ISO IS-IS area-tag"; + type string; + } + } + list lisp { + key "out lisp"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf lisp { + description + "Locator ID Separation Protocol (LISP)"; + type enumeration { + enum lisp; + } + } + } + list nat-route { + if-feature "ios-features:sdwan"; + key "out nat-route"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf nat-route { + description + "NAT Route"; + type enumeration { + enum nat-route; + } + } + } + list nhrp { + max-elements 1; + key "out nhrp"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + type uint16 { + range "1..65535"; + } + } + } + list omp { + if-feature "ios-features:omp"; + key "out omp"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf omp { + description + "Overlay Management Protocol (OMP)"; + type enumeration { + enum omp; + } + } + } + list ospf { + key "out ospf"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf ospf { + description + "Open Shortest Path First (OSPF)"; + type uint16 { + range "1..65535"; + } + } + } + list ospfv3 { + key "out ospfv3"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf ospfv3 { + description + "OSPFv3"; + type uint16 { + range "1..65535"; + } + } + } + list rip { + key "out rip"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf rip { + description + "Routing Information Protocol (RIP)"; + type enumeration { + enum rip; + } + } + } + list static { + key "out static"; + uses config-ospfv3-dist-list-acl-out-protocol; + leaf static { + description + "Static routes"; + type enumeration { + enum static; + } + } + } + } + + grouping config-ospfv3-dist-list-pfx-out-protocol { + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf out { + description + "Filter service updates"; + type enumeration { + enum out; + } + } + } + + grouping config-ospfv3-ipv4-distribute-list-pfx-out-protocol-grouping { + list bgp { + key "out bgp"; + max-elements 1; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf bgp { + description + "Border Gateway Protocol (BGP)"; + type ios-types:bgp-as-number-type; + } + } + list eigrp { + key "out eigrp"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16 { + range "1..65535"; + } + } + } + list connected { + key "out connected"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf connected { + description + "Connected"; + type enumeration { + enum connected; + } + } + } + list isis { + key "out isis"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf isis { + description + "ISO IS-IS"; + type enumeration { + enum isis; + } + } + } + list isis-area-tag { + key "out isis"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf isis { + description + "ISO IS-IS area-tag"; + type string; + } + } + list lisp { + key "out lisp"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf lisp { + description + "Locator ID Separation Protocol (LISP)"; + type enumeration { + enum lisp; + } + } + } + list nat-route { + if-feature "ios-features:sdwan"; + key "out nat-route"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf nat-route { + description + "NAT Route"; + type enumeration { + enum nat-route; + } + } + } + list nhrp { + max-elements 1; + key "out nhrp"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf nhrp { + description + "Next Hop Resolution Protocol (NHRP)"; + type uint16 { + range "1..65535"; + } + } + } + list omp { + if-feature "ios-features:omp"; + key "out omp"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf omp { + description + "Overlay Management Protocol (OMP)"; + type enumeration { + enum omp; + } + } + } + list ospf { + key "out ospf"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf ospf { + description + "Open Shortest Path First (OSPF)"; + type uint16 { + range "1..65535"; + } + } + } + list ospfv3 { + key "out ospfv3"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf ospfv3 { + description + "OSPFv3"; + type uint16 { + range "1..65535"; + } + } + } + list rip { + key "out rip"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf rip { + description + "Routing Information Protocol (RIP)"; + type enumeration { + enum rip; + } + } + } + list static { + key "out static"; + uses config-ospfv3-dist-list-pfx-out-protocol; + leaf static { + description + "Static routes"; + type enumeration { + enum static; + } + } + } + } + + grouping ospfv3-addr-ipv4-distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + container access-list { + list access-list-in { + key "in"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + mandatory true; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../prefix-list/prefix-list-in[current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../gateway/gateway-in[current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../route-map/route-map-in[current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list access-list-out { + key "out"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + mandatory true; + } + leaf out { + description + "Filter service updates"; + must '(not (../../../prefix-list/prefix-list-out[current()]))' { + error-message "distribute-list prefix already exists"; + } + type enumeration { + enum out; + } + } + } + list access-list-in-interface { + key "in interface"; + leaf ex-access-list { + description + "IP expanded access list number"; + type ios-types:exp-acl-type; + mandatory true; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../prefix-list/prefix-list-in-interface[current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../gateway/gateway-in-interface[current()]))' { + error-message "distribute-list gateway already exists"; + } + } + } + container access-list-out-protocol { + uses config-ospfv3-ipv4-distribute-list-acl-out-protocol-grouping; + } + } + container gateway { + description + "Filtering incoming address updates based on gateway"; + list gateway-in { + key "in"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../access-list/access-list-in[current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../prefix-list/prefix-list-in[current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../route-map/route-map-in[current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list gateway-in-interface { + key "in interface"; + leaf gateway { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../access-list/access-list-in-interface[current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../prefix-list/prefix-list-in-interface[current()]))' { + error-message "distribute-list prefix already exists"; + } + } + } + } + container prefix-list { + description + "Filter prefixes in address updates"; + list prefix-list-in { + key "in"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../access-list/access-list-in[current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../gateway/gateway-in[current()]))' { + error-message "distribute-list gateway already exists"; + } + must '(not (../../../route-map/route-map-in[current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list prefix-list-out { + key "out"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf out { + description + "Filter service updates"; + must '(not (../../../access-list/access-list-out[current()]))' { + error-message "distribute-list acess-list already exists"; + } + type enumeration { + enum out; + } + } + } + list prefix-list-in-interface { + key "in interface"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + type string; + mandatory true; + } + leaf gateway { + description + "Filtering incoming address updates based on gateway"; + type string; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + must '(not (../../../access-list/access-list-in-interface[current()]))' { + error-message "distribute-list access-list already exists"; + } + must '(not (../../../gateway/gateway-in-interface[current()]))' { + error-message "distribute-list gateway already exists"; + } + } + } + container prefix-list-out-protocol { + uses config-ospfv3-ipv4-distribute-list-pfx-out-protocol-grouping; + } + } + container route-map { + description + "Filter prefixes based on the route-map"; + list route-map-in { + key "in"; + leaf route-map-name { + description + "route-map name"; + type string; + mandatory true; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../access-list/access-list-in[current()]))' { + error-message "distribute-list acess-list already exists"; + } + must '(not (../../../prefix-list/prefix-list-in[current()]))' { + error-message "distribute-list prefix already exists"; + } + must '(not (../../../gateway/gateway-in[current()]))' { + error-message "distribute-list gateway already exists"; + } + type enumeration { + enum in; + } + } + } + } + } + } + + grouping config-ospfv3-ipv6-dist-list-pfx-out-protocol { + leaf prefix-list { + description + "Prefix-list name"; + mandatory true; + type string; + } + leaf out { + description + "Filter service updates"; + type enumeration { + enum out; + } + } + } + + grouping config-ospfv3-ipv6-distribute-list-pfx-out-protocol-grouping { + list bgp { + key "out bgp"; + max-elements 1; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf bgp { + description + "Border Gateway Protocol (BGP)"; + type ios-types:bgp-as-number-type; + } + } + list eigrp { + key "out eigrp"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + type uint16 { + range "1..65535"; + } + } + } + list connected { + key "out connected"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf connected { + description + "Connected"; + type enumeration { + enum connected; + } + } + } + list isis { + key "out isis"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf isis { + description + "ISO IS-IS"; + type enumeration { + enum isis; + } + } + } + list lisp { + key "out lisp"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf lisp { + description + "Locator ID Separation Protocol (LISP)"; + type enumeration { + enum lisp; + } + } + } + list nat-route { + if-feature "ios-features:sdwan"; + key "out nat-route"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf nat-route { + description + "NAT Route"; + type enumeration { + enum nat-route; + } + } + } + list omp { + if-feature "ios-features:omp"; + key "out omp"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf omp { + description + "Overlay Management Protocol (OMP)"; + type enumeration { + enum omp; + } + } + } + list ospf { + key "out ospf"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf ospf { + description + "Open Shortest Path First (OSPF)"; + type uint16 { + range "1..65535"; + } + } + } + list rip { + key "out rip"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf rip { + description + "Routing Information Protocol (RIP)"; + type string; + } + } + list static { + key "out static"; + uses config-ospfv3-ipv6-dist-list-pfx-out-protocol; + leaf static { + description + "Static routes"; + type enumeration { + enum static; + } + } + } + } + + grouping ospfv3-addr-ipv6-distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + container prefix-list { + description + "Filter prefixes in address updates"; + list prefix-list-in { + key "in"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + mandatory true; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../route-map/route-map-in[current()]))' { + error-message "distribute-list route-map already exists"; + } + type enumeration { + enum in; + } + } + } + list prefix-list-in-interface { + key "in interface"; + leaf prefix-list { + description + "Name of an IP prefix-list"; + mandatory true; + type string; + } + leaf in { + description + "Filter service updates"; + type enumeration { + enum in; + } + } + leaf interface { + description + "Interface name"; + type string; + } + } + container prefix-list-out-protocol { + uses config-ospfv3-ipv6-distribute-list-pfx-out-protocol-grouping; + } + } + container route-map { + description + "Filter prefixes based on the route-map"; + list route-map-in { + key "in"; + leaf route-map-name { + description + "route-map name"; + mandatory true; + type string; + } + leaf in { + description + "Filter service updates"; + must '(not (../../../prefix-list/prefix-list-in[current()]))' { + error-message "distribute-list prefix already exists"; + } + type enumeration { + enum in; + } + } + } + } + } + } + + grouping config-router-ospfv3-grouping { + list ospfv3 { + description + "OSPFv3"; + key "id"; + leaf id { + description + "Process ID"; + type uint16 { + range "1..65535"; + } + } + uses ospfv3-router-area-grouping; + uses ospfv3-common-grouping; + uses ospfv3-grouping; + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "IPv4 Address family"; + container unicast { + description + "Address Family Modifier"; + presence "true"; + uses ospfv3-af-ipv4-unicast-area-grouping; + uses ospfv3-common-grouping; + uses ospfv3-ipv4-distance-grouping; + uses ospfv3-common-address-family-grouping; + uses ospfv3-common-address-family-vrf-grouping; + uses ospfv3-address-family-grouping; + uses ospfv3-af-ipv4-summary-prefix-grouping; + uses ospfv3-addr-ipv4-distribute-list-grouping; + } + list vrf { + description + "Specify parameters for a VPN Routing/Forwarding instance"; + key "vrf"; + leaf vrf { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast { + type empty; + } + uses ospfv3-af-ipv4-vrf-area-grouping; + uses ospfv3-common-grouping; + leaf capability-vrf { + description + "Enable specific OSPF feature"; + type enumeration { + enum vrf-lite; + } + } + uses ospfv3-ipv4-distance-grouping; + uses ospfv3-common-address-family-grouping; + uses ospfv3-common-address-family-vrf-grouping; + uses ospfv3-address-family-grouping; + uses ospfv3-af-ipv4-summary-prefix-grouping; + uses ospfv3-addr-ipv4-distribute-list-grouping; + } + } + container ipv6 { + description + "IPv6 Address family"; + container unicast { + presence "true"; + uses ospfv3-af-ipv6-unicast-area-grouping; + uses ospfv3-common-grouping; + uses ospfv3-ipv6-distance-grouping; + uses ospfv3-common-address-family-grouping; + uses ospfv3-ipv6-address-family-vrf-grouping; + uses ospfv3-address-family-grouping; + uses ospfv3-af-ipv6-summary-prefix-grouping; + uses ospfv3-addr-ipv6-distribute-list-grouping; + } + list vrf { + description + "Specify parameters for a VPN Routing/Forwarding instance"; + key "vrf"; + leaf vrf { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf unicast { + type empty; + } + uses ospfv3-af-ipv6-unicast-area-grouping; + uses ospfv3-common-grouping; + leaf capability-vrf { + description + "Enable specific OSPF feature"; + type enumeration { + enum vrf-lite; + } + } + uses ospfv3-ipv6-distance-grouping; + uses ospfv3-common-address-family-grouping; + uses ospfv3-ipv6-address-family-vrf-grouping; + uses ospfv3-address-family-grouping; + uses ospfv3-af-ipv6-summary-prefix-grouping; + uses ospfv3-addr-ipv6-distribute-list-grouping; + } + } + } + uses config-ospfv3-packet-size-grouping; + } + } + + grouping config-interface-ipv6-ospf-grouping { + container ospf { + description + "OSPF interface commands"; + container process { + leaf id { + description + "Process ID"; + must '/ios:native/ios:ipv6/ios:router/ios:ospf[ios:id=current()] or /ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]' { + error-message "ipv6 ospf area can't exist without (ipv6 router ospf) or (router ospfv3)"; + } + type uint16 { + range "1..65535"; + } + } + leaf area { + description + "Set the OSPF area ID"; + type ios-types:ospf-area-type; + } + leaf instance { + description + "Set the OSPF instance"; + type uint8 { + range "0..31"; + } + } + } + container authentication { + description + "Enable authentication"; + choice authentication-choice { + leaf null { + description + "Use no authentication"; + type empty; + } + container ipsec { + description + "Use IPsec authentication"; + leaf spi { + description + "Set the SPI (Security Parameters Index)"; + type uint64 { + range "256..4294967295"; + } + } + uses ospfv3-spi-md5-sha1-authentication-grouping; + } + } + } + uses interface-ospfv3-bfd-grouping; + leaf cost { + description + "Route cost of this interface"; + type uint16 { + range "1..65535"; + } + default "10"; + } + container database-filter { + description + "Filter OSPF LSA during synchronization and flooding"; + choice database { + leaf all { + description + "Filter all LSA"; + type enumeration { + enum out; + } + } + leaf disable { + description + "Disable LSA Filter on this interface"; + type empty; + } + } + } + uses interface-ospfv3-dead-interval-grouping; + container demand-circuit { + description + "OSPF demand circuit"; + presence "true"; + choice disable-or-ignore { + leaf disable { + description + "Disable demand circuit on this interface"; + type empty; + } + leaf ignore { + description + "Ignore demand circuit auto-negotiation requests"; + type empty; + } + } + } + uses interface-ospfv3-encryption-grouping; + container flood-reduction { + description + "OSPF Flood Reduction"; + presence "true"; + leaf disable { + description + "Disable Flood Reduction on this interface"; + type empty; + } + } + uses interface-ospfv3-hello-interval-grouping; + container mtu-ignore { + description + "Ignores the MTU in DBD packets"; + presence "true"; + leaf disable { + description + "Disable Ignore MTU on this interface"; + type empty; + } + } + uses interface-ospfv3-neighbor-grouping; + uses interface-ospfv3-network-grouping; + uses interface-ospfv3-priority-grouping; + uses interface-ospfv3-retransmit-interval-grouping; + container shutdown { + description + "Shut down the interface in OSPFv3"; + presence "true"; + leaf disable { + description + "Disable inherited shutdown"; + type empty; + } + } + uses interface-ospfv3-transmit-delay-grouping; + uses config-ospfv3-packet-size-grouping; + } + } + + grouping ipv6-router-ospf-redistribute-static-grouping { + container static { + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-grouping; + } + } + + grouping ipv6-router-ospf-graceful-restart-grouping { + container graceful-restart { + description + "Graceful-restart options"; + presence "true"; + container helper { + description + "helper support"; + presence "true"; + leaf disable { + description + "disable helper support"; + type empty; + } + leaf strict-lsa-checking { + description + "enable helper strict LSA checking"; + type empty; + } + } + leaf restart-interval { + description + "Graceful restart interval"; + type uint16 { + range "1..1800"; + } + } + } + } + + grouping ipv6-router-ospf-redistribute-grouping { + container redistribute { + description + "Redistribute information from another routing protocol"; + uses ipv6-router-ospf-redistribute-static-grouping; + } + } + + grouping config-ipv6-router-ospf-grouping { + uses ipv6-router-ospf-graceful-restart-grouping; + uses ipv6-router-ospf-redistribute-grouping; + } + + grouping ospf-redistribute-top-grouping-obsolete { + status obsolete; + list application { + status obsolete; + description + "Application"; + key "name"; + leaf name { + status obsolete; + type string; + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + max-elements 1; + key "as-number"; + uses ospf-redistribute-bgp-grouping-obsolete { + status obsolete; + } + } + container connected { + status obsolete; + description + "Connected"; + presence "Connected"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + uses ospf-redistribute-bgp-grouping-obsolete { + status obsolete; + } + } + container isis { + status obsolete; + presence "ISO IS-IS"; + description + "ISO IS-IS"; + choice isis-level-routes-isis-area-choice { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + list isis-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container iso-igrp { + status obsolete; + description + "IGRP for OSI networks"; + presence "IGRP for OSI networks"; + choice area-tag-route-map-choice { + status obsolete; + container area-tag-route-map-container { + status obsolete; + leaf area-tag { + status obsolete; + type string; + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container iso-igrp-container { + status obsolete; + uses ospf-iso-igrp-redistribute-grouping-obsolete { + status obsolete; + } + } + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + status obsolete; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container mobile { + status obsolete; + description + "Mobile routes"; + presence "Mobile routes"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container nat-route { + status obsolete; + if-feature "ios-features:sdwan"; + description + "NAT Route"; + leaf dia { + status obsolete; + description + "Redistribute NAT Direct Internet Access routes"; + type empty; + } + leaf outside { + status obsolete; + description + "Redistribute NAT outside routes"; + type empty; + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container odr { + status obsolete; + description + "On Demand stub Routes"; + presence "On Demand stub Routes"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container omp { + status obsolete; + description + "Overlay Management Protocol"; + presence "omp"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping-obsolete { + status obsolete; + } + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "id"; + leaf id { + status obsolete; + type uint32 { + range "1 .. 65535"; + } + } + uses ospf-redistribute-top-match-grouping-obsolete { + status obsolete; + } + uses ospf-redistribute-match-grouping-obsolete { + status obsolete; + } + } + list rip { + status obsolete; + description + "Routing Information Protocol (RIP)"; + key "id"; + leaf id { + status obsolete; + description + "User selected string identifying this rip process"; + type string; + } + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + container static { + status obsolete; + description + "Static routes"; + presence "Static routes"; + uses ospf-redistribute-grouping-obsolete { + status obsolete; + } + } + } + + grouping config-ospfv3-snmp-server-grouping { + container ospfv3-config { + description + "Enable OSPFv3 traps"; + container state-change { + description + "State change traps"; + leaf enable { + description + "Enable all traps of state-change"; + type empty; + } + container traps { + description + "Enable specific traps of state-change"; + when 'not (../enable)'; + must 'not (if-state-change) or not (neighbor-restart-helper-status-change) or not (neighbor-state-change) or not (nssa-translator-status-change) or not (restart-status-change) or not (virtif-state-change) or not (virtneighbor-restart-helper-status-change) or not (virtneighbor-state-change)' { + error-message "Configure all traps using state-change enable."; + } + leaf if-state-change { + description + "Non-virtual interface state changes"; + type empty; + } + leaf neighbor-restart-helper-status-change { + description + "Neighbor graceful restart helper status changes"; + type empty; + } + leaf neighbor-state-change { + description + "Non-virtual neighbor state changes"; + type empty; + } + leaf nssa-translator-status-change { + description + "NSSA translator status changes"; + type empty; + } + leaf restart-status-change { + description + "Graceful restart status changes"; + type empty; + } + leaf virtif-state-change { + description + "Virtual interface state changes"; + type empty; + } + leaf virtneighbor-restart-helper-status-change { + description + "Virtual neighbor graceful restart helper status changes"; + type empty; + } + leaf virtneighbor-state-change { + description + "Non-virtual neighbor state changes"; + type empty; + } + } + } + container errors { + description + "Error traps"; + leaf enable { + description + "Enable all traps of errors"; + type empty; + } + container traps { + description + "Enable specific traps of errors"; + when 'not (../enable)'; + must 'not (bad-packet) or not (config-error) or not (virt-bad-packet) or not (virt-config-error)' { + error-message "Configure all traps using errors enable."; + } + leaf bad-packet { + description + "Packet parse failure on non-virtual interfaces"; + type empty; + } + leaf config-error { + description + "Config mismatch errors on non-virtual interfaces"; + type empty; + } + leaf virt-bad-packet { + description + "Packet parse failure on virtual interfaces"; + type empty; + } + leaf virt-config-error { + description + "Config mismatch errors on virtual interfaces"; + type empty; + } + } + } + container rate-limit { + description + "Trap rate limit values"; + leaf window-size { + description + "Rate limit window size in seconds"; + type uint8 { + range "2..60"; + } + default "10"; + } + leaf max-traps { + description + "Max number of traps sent in window time"; + type uint16 { + range "0..300"; + } + default "7"; + } + } + } + } + + augment "/ios:native/ios:snmp-server/ios-snmp:enable/ios-snmp:enable-choice/ios-snmp:traps" { + uses config-ospfv3-snmp-server-grouping; + } + + augment "/ios:native/ios:ipv6/ios:router/ios:ospf" { + uses config-ipv6-router-ospf-grouping; + } + + augment "/ios:native/ios:router" { + uses config-router-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface" { + uses config-interface-ospfv3-obsolete-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:vmi" { + uses config-interface-ospfv3-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF/ios:ipv6" { + uses config-interface-ipv6-ospf-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-otv.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-otv.yang new file mode 100644 index 000000000..6ab518bbc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-otv.yang @@ -0,0 +1,673 @@ +module Cisco-IOS-XE-otv { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-otv"; + prefix ios-otv; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Overlay Transport Virtualization (OTV) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-03-01 { + description + "obsolete default container"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping otv-isis-hostname-grouping { + container hostname { + description + "Dynamic hostname for IS-IS"; + leaf dynamic { + description + "Dynamic hostname"; + type empty; + } + } + } + + grouping otv-isis-skeptical-grouping { + container skeptical { + description + "Be a cautious NSF helper when refresh adjacency"; + leaf interval { + description + "Interval during which holdtime will NOT be refreshed"; + type uint32 { + range "0..1440"; + } + } + } + } + + grouping otv-isis-log-adjacency-changes-grouping { + container log-adjacency-changes { + description + "Log changes in adjacency state"; + presence "true"; + leaf all { + description + "Include changes generated by non-IIH event"; + type empty; + } + } + } + + grouping otv-isis-site-grouping { + container default { + description + "Set a command to its defaults"; + status obsolete; + leaf log-adjacency-changes { + description + "Log changes in adjacency state"; + status obsolete; + type empty; + } + leaf net { + description + "A Network Entity Title for this process"; + status obsolete; + type empty; + } + container skeptical { + description + "Be a cautious NSF helper when refresh adjacency"; + status obsolete; + leaf interval { + description + "Interval during which holdtime will NOT be refreshed"; + status obsolete; + type empty; + } + } + } + uses otv-isis-log-adjacency-changes-grouping; + leaf net { + description + "A Network Entity Title for this process"; + type string; + } + uses otv-isis-skeptical-grouping; + } + + grouping otv-isis-authentication-grouping { + container authentication { + description + "ISIS authentication for interface related PDUs"; + leaf key-chain { + description + "Authentication key-chain"; + type string; + } + leaf mode { + description + "Authentication mode for PDUs"; + type enumeration { + enum md5; + enum text; + } + } + leaf send-only { + description + "Authentication send only, receive ignore"; + type empty; + } + } + } + + grouping interface-overlay-grouping { + container otv { + description + "Configure OTV information"; + container adjacency-server { + description + "Indicate if the box is an Adjacency Server"; + leaf unicast-only { + description + "Unicast Only"; + type empty; + } + } + leaf control-group { + description + "OTV VPN control multicast group"; + type inet:ipv4-address; + } + leaf data-group { + description + "Multicast group range for data"; + type inet:ipv4-prefix; + } + container encapsulation-format { + description + "Encapsulation format"; + container ip { + description + "Use IP for outer header encapsulation"; + leaf gre { + description + "Use GRE middle header encapsulation"; + type empty; + } + } + } + leaf filter-fhrp { + description + "Configure to not forward HSRP, GLBP, and VRRP packets on overlay"; + type empty; + } + container isis { + description + "ISIS interface subcommands"; + uses otv-isis-authentication-grouping; + leaf bfd { + description + "Bidirectional Forwarding Protocol"; + type empty; + } + leaf csnp-interval { + description + "Set CSNP interval in seconds"; + type uint16 { + range "0..65535"; + } + } + container hello { + description + "Add padding to IS-IS hello packets"; + container padding { + description + "Pad hello packets"; + presence "true"; + leaf always { + description + "Never pad hello packets if no prefix present"; + type empty; + } + } + } + container hello-interval { + description + "Set Hello interval in seconds"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf minimal { + description + "Holdtime 1 second, interval depends on multiplier"; + type empty; + } + } + leaf hello-multiplier { + description + "Set multiplier for Hello holding time"; + type uint16 { + range "3..1000"; + } + } + leaf lsp-interval { + description + "Set LSP transmission interval"; + type uint64 { + range "1..4294967295"; + } + } + container metric { + description + "Configure the metric for interface"; + choice default-maximum { + case default-case { + leaf default { + type uint32 { + range "1..16777214"; + } + } + } + case maximum-case { + leaf maximum { + description + "Maximum metric. All routers will exclude this link from their SPF"; + type empty; + } + } + } + leaf delay { + type uint32 { + range "1..16777214"; + } + } + leaf expense { + type uint32 { + range "1..16777214"; + } + } + leaf error { + type uint32 { + range "1..16777214"; + } + } + } + leaf priority { + description + "Set priority for Designated Router election"; + type uint8 { + range "0..127"; + } + } + leaf retransmit-interval { + description + "Set per-LSP retransmission interval"; + type uint16; + } + leaf retransmit-throttle-interval { + description + "Set interface LSP retransmission interval"; + type uint16; + } + } + container join-interface { + description + "OTV VPN join-interface"; + uses ios-ifc:interface-grouping; + } + container suppress { + description + "Enable overlay packet suppression"; + leaf arp-nd { + description + "Suppress sending ARP and neighbor discovery packets on overlay"; + type empty; + } + } + container use-adjacency-server { + description + "Point to remote Adjacency Server address"; + leaf remote-pri-ip { + type inet:ipv4-address; + } + leaf remote-sec-ip { + type inet:ipv4-address; + } + leaf unicast-only { + description + "Unicast Only Capability"; + type empty; + } + } + leaf vpn-name { + description + "OTV VPN name"; + type string; + } + } + } + + grouping config-otv-grouping { + container fragmentation { + description + "Clear the DF (Don't Fragment) bit in the IP header"; + container join-interface { + description + "Allow fragmentation for overlays using this join-interface"; + uses ios-ifc:interface-grouping; + } + } + container isis { + description + "OTV ISIS instance subcommands"; + list Overlay { + description + "Overlay interface"; + key "number"; + leaf number { + type uint16 { + range "0..512"; + } + } + uses otv-isis-overlay-grouping; + } + container site { + description + "Site Instance"; + uses otv-isis-site-grouping; + } + } + list site { + description + "OTV site network configuration"; + key "bridge-domain"; + leaf bridge-domain { + description + "Bridge-domain to discover local OTV enabled devices"; + type uint16 { + range "1..8192"; + } + } + container default { + description + "Set a command to its defaults"; + status obsolete; + container otv { + description + "OTV site configuration subcommands"; + status obsolete; + uses otv-isis-grouping; + } + } + container otv { + description + "OTV site configuration subcommands"; + uses otv-isis-grouping; + } + } + leaf site-identifier { + description + "OTV site id"; + type union { + type uint32; + type string; + } + } + } + + grouping otv-isis-grouping { + container isis { + description + "ISIS interface subcommands"; + uses otv-isis-authentication-grouping; + leaf bfd { + description + "Bidirectional Forwarding Protocol"; + type empty; + } + container hello { + description + "Add padding to IS-IS hello packets"; + container padding { + description + "Pad hello packets"; + presence "true"; + leaf always { + description + "Never pad hello packets if no prefix present"; + type empty; + } + } + } + container hello-interval { + description + "Set Hello interval in seconds"; + leaf value { + type uint16 { + range "1..65535"; + } + } + leaf minimal { + description + "Holdtime 1 second, interval depends on multiplier"; + type empty; + } + } + leaf hello-multiplier { + description + "Set multiplier for Hello holding time"; + type uint16 { + range "3..1000"; + } + } + leaf priority { + description + "Set priority for Designated Router election"; + type uint8 { + range "0..127"; + } + } + } + } + + grouping otv-isis-overlay-grouping { + uses otv-isis-authentication-grouping; + container default { + description + "Set a command to its defaults"; + status obsolete; + uses otv-isis-authentication-grouping; + uses otv-isis-hostname-grouping; + leaf delayed-deletion-interval { + description + "Set delayed deletion interval"; + status obsolete; + type empty; + } + leaf log-adjacency-changes { + description + "Log changes in adjacency state"; + status obsolete; + type empty; + } + leaf lsp-gen-interval { + description + "Minimum interval between regenerating same LSP"; + status obsolete; + type empty; + } + leaf lsp-mtu { + description + "Set maximum LSP size"; + status obsolete; + type empty; + } + leaf lsp-refresh-interval { + description + "Set LSP refresh interval"; + status obsolete; + type empty; + } + leaf max-lsp-lifetime { + description + "Set maximum LSP lifetime"; + status obsolete; + type empty; + } + leaf prc-interval { + description + "Minimum interval between partial route calculations"; + status obsolete; + type empty; + } + leaf spf-interval { + description + "Minimum interval between SPF calculations"; + status obsolete; + type empty; + } + container nsf { + description + "Non-stop forwarding"; + status obsolete; + leaf cisco { + description + "Checkpoint method"; + status obsolete; + type empty; + } + leaf interval { + description + "Minimum required stable interval between restarts"; + status obsolete; + type empty; + } + } + container skeptical { + description + "Be a cautious NSF helper when refresh adjacency"; + status obsolete; + leaf interval { + description + "Interval during which holdtime will NOT be refreshed"; + status obsolete; + type empty; + } + } + } + leaf delayed-deletion-interval { + description + "Set delayed deletion interval"; + type uint32 { + range "1..86400"; + } + } + uses otv-isis-hostname-grouping; + uses otv-isis-log-adjacency-changes-grouping; + container lsp-gen-interval { + description + "Minimum interval between regenerating same LSP"; + leaf seconds { + type uint8 { + range "1..120"; + } + } + leaf milliseconds { + type uint32 { + range "1..120000"; + } + } + leaf wait { + type uint32 { + range "1..120000"; + } + } + } + leaf lsp-mtu { + description + "Set maximum LSP size"; + type uint32 { + range "128..4352"; + } + } + leaf lsp-refresh-interval { + description + "Set LSP refresh interval"; + type uint32 { + range "1..65535"; + } + } + leaf max-lsp-lifetime { + description + "Set maximum LSP lifetime"; + type uint32 { + range "1..65535"; + } + } + container nsf { + description + "Non-stop forwarding"; + leaf cisco { + description + "Checkpoint method"; + type empty; + } + leaf interval { + description + "Minimum required stable interval between restarts"; + type uint32 { + range "0..1440"; + } + } + } + container prc-interval { + description + "Minimum interval between partial route calculations"; + leaf seconds { + type uint8 { + range "1..120"; + } + } + leaf milliseconds { + type uint32 { + range "1..120000"; + } + } + leaf wait { + type uint32 { + range "1..120000"; + } + } + } + uses otv-isis-skeptical-grouping; + container spf-interval { + description + "Minimum interval between SPF calculations"; + leaf seconds { + type uint8 { + range "1..120"; + } + } + leaf milliseconds { + type uint32 { + range "1..120000"; + } + } + leaf wait { + type uint32 { + range "1..120000"; + } + } + } + } + + augment "/ios:native/ios:otv" { + uses config-otv-grouping; + } + + augment "/ios:native/ios:interface/ios:overlay" { + uses ios:interface-common-grouping; + uses ios-eth:config-interface-ethernet-grouping; + uses ios-otv:interface-overlay-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pae.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pae.yang new file mode 100644 index 000000000..9965e8ed6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pae.yang @@ -0,0 +1,53 @@ +module Cisco-IOS-XE-pae { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pae"; + prefix ios-pae; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Product Analytics Yang model. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-pae-grouping { + leaf pae { + description + "Enable/disable product analytics"; + type boolean; + default "true"; + } + } + + augment "/ios:native" { + uses config-pae-grouping { + if-feature "ios-features:pae"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-parser.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-parser.yang new file mode 100644 index 000000000..c6ce932d1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-parser.yang @@ -0,0 +1,255 @@ +submodule Cisco-IOS-XE-parser { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Parser Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added model change for privilege commands + - Added IP named extended access-list configuration mode"; + cisco-semver:module-version "1.3.0"; + } + revision 2024-03-01 { + description + "- new yang models added for parser cache"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-30 { + description + "Add secret type 8 and type 9 for parser view"; + } + revision 2018-03-01 { + description + "Add Parser view secret extensions"; + } + revision 2018-01-16 { + description + "Add privilege modes"; + } + revision 2017-11-29 { + description + "Add parser view"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping all-command-gouping { + list command-list { + key "command"; + leaf command { + description + "Keywords of the command"; + type string; + } + leaf all { + description + "wild card support"; + type empty; + } + } + } + + grouping config-exec-options-grouping { + container exclude { + description + "Exclude the command from the view"; + uses all-command-gouping; + } + container include { + description + "Add command to the view"; + uses all-command-gouping; + } + container include-exclusive { + description + "Include in this view but exclude from others"; + uses all-command-gouping; + } + } + + grouping parser-view-common-options-grouping { + container secret { + description + "Set a secret for the current view"; + leaf type { + type enumeration { + enum 0; + enum 5; + enum 8; + enum 9; + } + } + leaf secret { + type string; + } + } + } + + grouping config-parser-grouping { + container parser { + description + "Configure parser"; + leaf cache { + description + "Configure parser cache"; + type boolean; + default "true"; + } + container config { + description + "Configure config generation"; + leaf cache { + description + "Cache the configuration"; + type enumeration { + enum interface; + } + } + leaf partition { + description + "Enable configuration Partitioning"; + type empty; + } + } + container view { + description + "View Commands"; + list view-name-list { + key "name"; + leaf name { + description + "View Name"; + type string; + } + leaf inclusive { + description + "SuperView Commands"; + type empty; + } + uses parser-view-common-options-grouping; + container commands { + description + "Configure commands for a view"; + container exec { + description + "Exec mode"; + uses config-exec-options-grouping; + } + container configure { + description + "Global configuration mode"; + uses config-exec-options-grouping; + } + } + } + list view-name-superview-list { + key "name"; + leaf name { + description + "View Name"; + type string; + } + leaf superview { + description + "SuperView Commands"; + type empty; + } + uses parser-view-common-options-grouping; + list view { + description + "View Name"; + key "view-name"; + leaf view-name { + type leafref { + path "../../../view-name-list/name"; + } + } + } + } + } + } + } + + grouping privilege-mode-common { + list level { + description + "Set privilege level of command"; + key "privilege"; + leaf privilege { + type uint8; + } + list command-list { + key "command"; + leaf command { + description + "There are side effects"; + type string; + } + } + } + list reset { + key "command"; + leaf command { + type string; + } + } + } + + grouping config-privilege-grouping { + container privilege { + description + "Command privilege parameters"; + list mode { + key "name"; + leaf name { + type enumeration { + enum configure; + enum exec; + enum interface; + enum router; + enum crypto-map; + enum ipenacl; + } + } + container all { + uses privilege-mode-common; + } + uses privilege-mode-common; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pathmgr.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pathmgr.yang new file mode 100644 index 000000000..31e3229f8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pathmgr.yang @@ -0,0 +1,327 @@ +module Cisco-IOS-XE-pathmgr { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pathmgr"; + prefix ios-pathmgr; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Path Manager Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-pm-agent-instance-grouping { + container enterprise-prefix { + description + "Enterprise prefix configuration"; + container ipv4 { + description + "IPv4 enterprise prefix-list"; + leaf prefix-list { + description + "Specify prefix-list with static site targets"; + type string; + } + } + container ipv6 { + description + "IPv6 enterprise prefix-list"; + leaf prefix-list { + description + "Specify prefix-list with static site targets"; + type string; + } + } + } + } + + grouping config-pm-agent-grouping { + container pm-agent { + description + "pm-agent Configuration Commands"; + presence "true"; + container config-pm-agent { + container device { + description + "Enter the device ID"; + container id { + description + "Specify the device ID"; + list device_range { + key "device_id_range"; + leaf device_id_range { + description + "Specify the device-id value"; + type uint32 { + range "1..65535"; + } + } + leaf name { + description + "Specify the device name"; + type string; + } + } + } + container type { + description + "Enter the device type"; + container ntr { + description + "ntr device type"; + presence "true"; + container rtr { + description + "rtr device type"; + presence "true"; + leaf xtr { + description + "xtr device type"; + type empty; + } + } + container xtr { + description + "xtr device type"; + presence "true"; + leaf rtr { + description + "rtr device type"; + type empty; + } + } + } + leaf pxtr { + description + "pxtr device type"; + type empty; + } + container rtr { + description + "rtr device type"; + presence "true"; + leaf ntr { + description + "ntr device type"; + type empty; + } + container xtr { + description + "xtr device type"; + presence "true"; + leaf ntr { + description + "ntr device type"; + type empty; + } + } + } + container xtr { + description + "xtr device type"; + presence "true"; + leaf ntr { + description + "ntr device type"; + type empty; + } + leaf rtr { + description + "rtr device type"; + type empty; + } + } + } + } + list instance-id { + description + "Enter the instance ID"; + key "instance_id_range"; + leaf instance_id_range { + description + "Specify the instance-id value"; + type uint32 { + range "0..65535"; + } + } + container config-pm-agent-instance { + uses config-pm-agent-instance-grouping; + } + } + container region { + description + "Enter the region ID"; + container id { + description + "Specify the region ID"; + list region_id_range { + key "region_id_range"; + leaf region_id_range { + description + "Specify the region-id value"; + type uint32 { + range "1..4294967295"; + } + } + leaf name { + description + "Specify the region name"; + type string; + } + } + } + } + leaf shutdown { + description + "shut the device"; + type empty; + } + container site { + description + "Enter the site configuration"; + container id { + description + "Specify the site ID"; + list site_id_range { + key "site_id_range"; + leaf site_id_range { + description + "Specify the site-id value"; + type uint32 { + range "1..4294967295"; + } + } + leaf name { + description + "Specify the site name"; + type string; + } + } + } + } + container tenant { + description + "enter the tenant configuration"; + container id { + description + "specify the tenant id"; + list tenant_id_range { + key "tenant_id_range"; + leaf tenant_id_range { + description + "specify the tenant-id value"; + type uint32 { + range "1..4294967295"; + } + } + leaf name { + description + "specify the tenant name"; + type string; + } + } + } + } + container pmcs { + description + "Enter the pmcs configuration"; + container ipv4 { + description + "Enter the IPv4 address"; + list pmcs_ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IPv4 pmcs address e.g 10.10.0.0"; + type inet:ipv4-address; + } + leaf backup { + description + "set ipv4/ipv6 address as backup"; + type empty; + } + container ipv6 { + description + "Enter the IPv6 address"; + list pmcs_ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 pmcs Addr, e.g abcd:1234"; + type inet:ipv6-address; + } + leaf backup { + description + "set ipv4/ipv6 address as backup"; + type empty; + } + } + } + } + } + container ipv6 { + description + "Enter the IPv6 address"; + list ipv6 { + key "ipv6"; + leaf ipv6 { + description + "IPv6 pmcs Addr, e.g abcd:1234"; + type inet:ipv6-address; + } + leaf backup { + description + "set ipv4/ipv6 address as backup"; + type empty; + } + leaf ipv4 { + description + "IPv4 pmcs address e.g 10.10.0.0"; + type inet:ipv4-address; + } + } + } + } + } + } + } + + augment "/ios:native" { + uses config-pm-agent-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-deviation.yang new file mode 100644 index 000000000..a6fb0aad9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-deviation.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XE-perf-measure-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-perf-measure-deviation"; + prefix ios-performance-measurement-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-perf-measure { + prefix ios-performance-measurement; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Performance-Measurement Deviation Yang model. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + " - Add deviation for delay-profile probe measurement-mode"; + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:interfaces/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode-v2" { + deviate replace { + type enumeration { + enum two-way; + } + } + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:named-interfaces/ios-performance-measurement:interfaces/ios-performance-measurement:name/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode-v2" { + deviate replace { + type enumeration { + enum two-way; + } + } + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:sr-policy/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode-v2" { + deviate replace { + type enumeration { + enum two-way; + enum loopback; + } + } + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:named-sr-policy/ios-performance-measurement:sr-policy/ios-performance-measurement:name/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode-v2" { + deviate replace { + type enumeration { + enum two-way; + enum loopback; + } + } + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:interfaces/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode/ios-performance-measurement:mode-choice/ios-performance-measurement:one-way/ios-performance-measurement:one-way" { + deviate not-supported; + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:named-interfaces/ios-performance-measurement:interfaces/ios-performance-measurement:name/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode/ios-performance-measurement:mode-choice/ios-performance-measurement:one-way/ios-performance-measurement:one-way" { + deviate not-supported; + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:sr-policy/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode/ios-performance-measurement:mode-choice/ios-performance-measurement:one-way/ios-performance-measurement:one-way" { + deviate not-supported; + } + + deviation "/ios:native/ios:performance-measurement/ios-performance-measurement:delay-profile/ios-performance-measurement:named-sr-policy/ios-performance-measurement:sr-policy/ios-performance-measurement:name/ios-performance-measurement:probe/ios-performance-measurement:measurement-mode/ios-performance-measurement:mode-choice/ios-performance-measurement:one-way/ios-performance-measurement:one-way" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-events.yang new file mode 100644 index 000000000..541c22a75 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-events.yang @@ -0,0 +1,145 @@ +module Cisco-IOS-XE-perf-measure-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-perf-measure-events"; + prefix perf-measure-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for performance measure events data. + Copyright (c) 2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Add support for Performance Measurement IP Endpoint"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping pm-dm-probe-end-notification { + description + "Performance measurement delay measurement probe end notification"; + leaf name { + type string; + description + "Name of interface or policy name"; + } + } + + grouping pm-dm-aggregation-end-notification { + description + "Performance measurement delay measurement aggregation end notification"; + leaf name { + type string; + description + "Name of interface or policy name"; + } + } + + grouping pm-dm-advertisement-event-notification { + description + "Performance measurement delay measurement advertisement event notification"; + leaf name { + type string; + description + "Name of interface or policy name"; + } + } + + grouping pm-dm-ep-probe-end-notification { + description + "Performance measurement delay measurement endpoint probe end notification"; + leaf name { + type string; + description + "Name of Interface or SR Policy or IP Endpoint"; + } + } + + grouping pm-dm-ep-aggregation-end-notification { + description + "Performance measurement delay measurement endpoint aggregation end notification"; + leaf name { + type string; + description + "Name of IP Endpoint"; + } + } + + grouping pm-dm-ep-advertisement-event-notification { + description + "Performance measurement delay measurement endpoint advertisement event notification"; + leaf name { + type string; + description + "Name of IP Endpoint"; + } + } + + notification pm-dm-probe-end-notif { + description + "Notification for completion of a Performance Measurement Delay Probe"; + uses perf-measure-ios-xe-events:pm-dm-probe-end-notification; + } + + notification pm-dm-aggr-end-notif { + description + "Notification for completion of a Performance Measurement Delay Aggregation"; + uses perf-measure-ios-xe-events:pm-dm-aggregation-end-notification; + } + + notification pm-dm-adv-event-notif { + description + "Notification for a new Performance Measurement Delay Advertisement"; + uses perf-measure-ios-xe-events:pm-dm-advertisement-event-notification; + } + + notification pm-dm-ep-probe-end-notif { + description + "Notification for completion of a Performance Measurement Endpoint Delay Probe"; + uses perf-measure-ios-xe-events:pm-dm-ep-probe-end-notification; + } + + notification pm-dm-ep-aggr-end-notif { + description + "Notification for completion of a Performance Measurement Endpoint Delay Aggregation"; + uses perf-measure-ios-xe-events:pm-dm-ep-aggregation-end-notification; + } + + notification pm-dm-ep-adv-event-notif { + description + "Notification for a new Performance Measurement Endpoint Delay Advertisement"; + uses perf-measure-ios-xe-events:pm-dm-ep-advertisement-event-notification; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-oper.yang new file mode 100644 index 000000000..ee0ddf3f9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure-oper.yang @@ -0,0 +1,740 @@ +module Cisco-IOS-XE-perf-measure-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-perf-measure-oper"; + prefix perf-measure-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for performance measurement operational data. + Copyright (c) 2019-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Add support for Performance Measurement IP Endpoint"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef pm-advert-reason { + type enumeration { + enum none { + value 0; + description + "No advertise reason"; + } + enum per-threshold-avg { + value 1; + description + "Periodic average threshold crossed"; + } + enum per-threshold-min { + value 2; + description + "Periodic minimum threshold crossed"; + } + enum per-threshold-max { + value 3; + description + "Periodic maximum threshold crossed"; + } + enum per-threshold-var { + value 4; + description + "Periodic variance threshold crossed"; + } + enum accel-threshold-avg { + value 5; + description + "Accelerated average threshold crossed"; + } + enum accel-threshold-min { + value 6; + description + "Accelerated minimum threshold crossed"; + } + enum accel-threshold-max { + value 7; + description + "Accelerated maximum threshold crossed"; + } + enum accel-upper-bound-avg { + value 8; + description + "Accelerated average upper bound crossed"; + } + enum accel-upper-bound-min { + value 9; + description + "Accelerated minimum upper bound crossed"; + } + enum accel-upper-bound-max { + value 10; + description + "Accelerated maximum upper bound crossed"; + } + enum enabled { + value 11; + description + "Advertised reason enabled"; + } + enum disabled { + value 12; + description + "Advertised reason disabled"; + } + enum scb-unconfig { + value 13; + description + "Session unconfigured"; + } + enum clear-cli { + value 14; + description + "Clear command executed"; + } + enum adv-delay-cfg { + value 15; + description + "Advertise delay configured"; + } + enum adv-delay-uncfg { + value 16; + description + "Advertise delay unconfigured"; + } + enum control-code-error { + value 17; + description + "Control code error"; + } + enum per-first { + value 18; + description + "First periodic advertisement"; + } + enum accel-first { + value 19; + description + "First accelerated advertisement"; + } + enum adv-delay-sync { + value 20; + description + "Advertise delay synchronization to standby router"; + } + enum link-down { + value 21; + description + "Link down"; + } + } + description + "Advertisement reason enumeration"; + } + + typedef pm-xtc-srpolicy-origin { + type enumeration { + enum configured { + value 0; + description + "Policy origin is configured"; + } + enum bgp { + value 1; + description + "Policy origin is BGP"; + } + enum bgp-odn { + value 2; + description + "Policy origin is BGP On demand next hop"; + } + enum pce { + value 3; + description + "Policy origin is PCE"; + } + enum invalid { + value 4; + description + "Policy origin is INVALID"; + } + } + description + "SR policy origin enumeration"; + } + + grouping metric { + description + "Computed statistics"; + leaf avg { + type uint32; + description + "Average value"; + } + leaf min { + type uint32; + description + "Minimum value"; + } + leaf max { + type uint32; + description + "Maximum value"; + } + leaf var { + type uint32; + description + "Variance value"; + } + } + + grouping computed-probe { + description + "Computed interface probe values"; + container values { + description + "Computed metric"; + uses perf-measure-ios-xe-oper:metric; + } + leaf start-timestamp { + type yang:date-and-time; + description + "Start timestamp"; + } + leaf packets-sent { + type uint32; + description + "Packets sent"; + } + leaf packets-received { + type uint32; + description + "Packets received"; + } + } + + grouping computed-aggregation { + description + "Computed interface aggregated values"; + container values { + description + "Metric values"; + uses perf-measure-ios-xe-oper:metric; + } + leaf timestamp { + type yang:date-and-time; + description + "Time of aggregation of probes"; + } + } + + grouping computed-advertisement { + description + "Computed interface advertisement"; + container values { + description + "Metric values"; + uses perf-measure-ios-xe-oper:metric; + } + leaf timestamp { + type yang:date-and-time; + description + "Time of advertisement"; + } + leaf advertised-reason { + type perf-measure-ios-xe-oper:pm-advert-reason; + description + "Reason of advertisement"; + } + } + + grouping pm-interface-delay-container { + description + "Interface delay container"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf probe-is-valid { + type empty; + description + "Probe values are valid"; + } + leaf aggr-is-valid { + type empty; + description + "Aggregation values are valid"; + } + leaf adv-is-valid { + type empty; + description + "Advertisement values are valid"; + } + container last-probe { + when 'boolean(../probe-is-valid)'; + description + "Last probe data"; + uses perf-measure-ios-xe-oper:computed-probe; + } + container last-aggr { + when 'boolean(../aggr-is-valid)'; + description + "Last aggregation data"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + container last-adv { + when 'boolean(../adv-is-valid)'; + description + "Last advertisement data"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + list probe-history { + when 'boolean(../probe-is-valid)'; + description + "Probe history data"; + uses perf-measure-ios-xe-oper:computed-probe; + } + list aggr-history { + when 'boolean(../aggr-is-valid)'; + description + "Aggregation history data"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + list adv-history { + when 'boolean(../adv-is-valid)'; + description + "Advertisement history data"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + } + + grouping atomic-path-id { + description + "Atomic path credentials"; + leaf session-id { + type uint64; + description + "Session ID"; + } + leaf-list hop-address { + type inet:ip-address; + ordered-by user; + description + "List of all hop IP addresses the atomic path takes"; + } + leaf-list label { + type uint64; + ordered-by user; + description + "List of label"; + } + leaf out-if { + type string; + description + "Outgoing interface"; + } + leaf next-hop { + type inet:ip-address; + description + "IP address of next hop"; + } + leaf dest { + type inet:ip-address; + description + "IP address of destination node"; + } + } + + grouping candidate-path-id { + description + "Candidate path credentials"; + leaf pref { + type uint64; + description + "Policy preference"; + } + leaf origin { + type perf-measure-ios-xe-oper:pm-xtc-srpolicy-origin; + description + "Policy origin"; + } + leaf discr { + type uint64; + description + "Policy discriminator"; + } + } + + grouping atomic-path-probe { + description + "Atomic path structure for probe"; + container id { + description + "Atomic path identifier"; + uses perf-measure-ios-xe-oper:atomic-path-id; + } + list stat { + description + "Atomic path statistics"; + uses perf-measure-ios-xe-oper:computed-probe; + } + } + + grouping segment-list-probe { + description + "Segment list structure for probe"; + leaf sl-name { + type string; + description + "Name of probe segment list"; + } + list stat { + description + "Probe segment list statistics"; + uses perf-measure-ios-xe-oper:computed-probe; + } + list atomic-path { + description + "List of probe atomic paths under segment list"; + uses perf-measure-ios-xe-oper:atomic-path-probe; + } + } + + grouping candidate-path-probe { + description + "Candidate path structure for probe"; + container id { + description + "Probe candidate path identifier"; + uses perf-measure-ios-xe-oper:candidate-path-id; + } + list stat { + description + "Probe candidate path statistics"; + uses perf-measure-ios-xe-oper:computed-probe; + } + list seg-list { + description + "Probe segment list"; + uses perf-measure-ios-xe-oper:segment-list-probe; + } + } + + grouping computed-srpol-probe { + description + "Structure for segment routing policy probe"; + list candidate-path { + description + "List of probe candidate paths"; + uses perf-measure-ios-xe-oper:candidate-path-probe; + } + } + + grouping atomic-path-aggregation { + description + "Atomic path structure for aggregation"; + container id { + description + "Aggregation atomic path identifier"; + uses perf-measure-ios-xe-oper:atomic-path-id; + } + list stat { + description + "Aggregation atomic path statistics"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + } + + grouping segment-list-aggregation { + description + "Segment list structure for aggregation"; + leaf sl-name { + type string; + description + "Aggregation segment list name"; + } + list stat { + description + "Aggregation segment list statistics"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + list atomic-path { + description + "List of aggregation atomic paths"; + uses perf-measure-ios-xe-oper:atomic-path-aggregation; + } + } + + grouping candidate-path-aggregation { + description + "Candidate path structure for aggregation"; + container id { + description + "Aggregation candidate path identifier"; + uses perf-measure-ios-xe-oper:candidate-path-id; + } + list stat { + description + "Aggregation candidate path statistics"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + list seg-list { + description + "Aggregation segment list"; + uses perf-measure-ios-xe-oper:segment-list-aggregation; + } + } + + grouping computed-srpol-aggregation { + description + "Segment routing policy aggregation"; + list candidate-path { + description + "Aggregation candidate paths"; + uses perf-measure-ios-xe-oper:candidate-path-aggregation; + } + } + + grouping atomic-path-advertisement { + description + "Atomic path structure for advertisement"; + container id { + description + "Advertisement atomic path identifier"; + uses perf-measure-ios-xe-oper:atomic-path-id; + } + list stat { + description + "Advertisement atomic path statistics"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + } + + grouping segment-list-advertisement { + description + "Segment list advertisement for advertisement"; + leaf sl-name { + type string; + description + "Advertisement segment list name"; + } + list stat { + description + "Advertisement segment list statistics"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + list atomic-path { + description + "Advertisement atomic paths list for advertisement"; + uses perf-measure-ios-xe-oper:atomic-path-advertisement; + } + } + + grouping candidate-path-advertisement { + description + "Candidate path structure for advertisement"; + container id { + description + "Advertisement candidate path identifier"; + uses perf-measure-ios-xe-oper:candidate-path-id; + } + list stat { + description + "Advertisement candidate path statistics"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + list seg-list { + description + "Advertisement segment list"; + uses perf-measure-ios-xe-oper:segment-list-advertisement; + } + } + + grouping computed-srpol-advertisement { + description + "Segment routing policy advertisement"; + list candidate-path { + description + "Advertisement candidate paths"; + uses perf-measure-ios-xe-oper:candidate-path-advertisement; + } + } + + grouping pm-srpolicy-delay-container { + description + "Container for segment routing policy delay data"; + leaf sr-policy-name { + type string; + description + "Segment routing policy name"; + } + leaf probe-is-valid { + type empty; + description + "Policy probe data is available when true"; + } + leaf aggr-is-valid { + type empty; + description + "Policy aggregation data is available when true"; + } + leaf adv-is-valid { + type empty; + description + "Policy advertisement data is available when true"; + } + container last-probe { + when 'boolean(../probe-is-valid)'; + description + "Policy last probe values"; + uses perf-measure-ios-xe-oper:computed-srpol-probe; + } + container probe-history { + when 'boolean(../probe-is-valid)'; + description + "Policy probe history"; + uses perf-measure-ios-xe-oper:computed-srpol-probe; + } + container last-aggr { + when 'boolean(../aggr-is-valid)'; + description + "Policy last aggregation"; + uses perf-measure-ios-xe-oper:computed-srpol-aggregation; + } + container aggr-history { + when 'boolean(../aggr-is-valid)'; + description + "Policy aggregation history"; + uses perf-measure-ios-xe-oper:computed-srpol-aggregation; + } + container last-adv { + when 'boolean(../adv-is-valid)'; + description + "Policy last advertisement"; + uses perf-measure-ios-xe-oper:computed-srpol-advertisement; + } + container adv-history { + when 'boolean(../adv-is-valid)'; + description + "Policy advertisement history"; + uses perf-measure-ios-xe-oper:computed-srpol-advertisement; + } + } + + grouping pm-endpoint-delay-container { + description + "Endpoint delay container"; + leaf endpoint-name { + type string; + description + "Endpoint name"; + } + leaf total-packets-sent { + type uint64; + description + "Total packets sent"; + } + leaf total-packets-received { + type uint64; + description + "Total packets received"; + } + container last-probe { + when '(count(../probe-history) != 0)'; + description + "Last probe data"; + uses perf-measure-ios-xe-oper:computed-probe; + } + container last-aggr { + when '(count(../aggr-history) != 0)'; + description + "Last aggregation data"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + container last-adv { + when '(count(../adv-history) != 0)'; + description + "Last advertisement data"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + list probe-history { + description + "Probe history data"; + uses perf-measure-ios-xe-oper:computed-probe; + } + list aggr-history { + description + "Aggregation history data"; + uses perf-measure-ios-xe-oper:computed-aggregation; + } + list adv-history { + description + "Advertisement history data"; + uses perf-measure-ios-xe-oper:computed-advertisement; + } + } + + container performance-measurement { + config false; + description + "Performance measurement operational data"; + list if-delay { + key "if-name"; + description + "Interface delay list"; + uses perf-measure-ios-xe-oper:pm-interface-delay-container; + } + list sr-policy-delay { + key "sr-policy-name"; + description + "Segment routing policy delay list"; + uses perf-measure-ios-xe-oper:pm-srpolicy-delay-container; + } + list pm-endp-delay { + key "endpoint-name"; + description + "IP Endpoint delay list"; + uses perf-measure-ios-xe-oper:pm-endpoint-delay-container; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure.yang new file mode 100644 index 000000000..f8fea89b7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-perf-measure.yang @@ -0,0 +1,1092 @@ +module Cisco-IOS-XE-perf-measure { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-perf-measure"; + prefix ios-performance-measurement; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Performance-Measurement Yang model. + Copyright (c) 2016, 2018-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added new leaf measurement-mode-v2 and deprecated measurement-mode"; + cisco-semver:module-version "2.4.0"; + } + revision 2024-03-01 { + description + "- Update endpoint and delay-profile endpoint"; + cisco-semver:module-version "2.3.0"; + } + revision 2023-11-01 { + description + "- Added leaf for interface delay profile name"; + cisco-semver:module-version "2.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Updated loss measurement + - Updated leaf name for advertise-loss profile"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-07-01 { + description + "- Updated range for leaf querier-dst-port and querier-src-port"; + cisco-semver:module-version "2.0.1"; + } + revision 2020-11-01 { + description + "- Added named profile for both interface and sr-policy + - Added liveness config"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added next-hop config"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + typedef ipv4-address-sweep-range { + type string { + pattern '((127)\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|11[0-9]|12[0-7])'; + } + } + + grouping config-perf-measure-advertisement-grouping { + description + "Common node for delay profile advertisment"; + container advertisement { + description + "Advertisement Profile"; + container accelerated { + description + "Accelerated Advertisement Profile"; + presence "true"; + leaf threshold { + description + "Accelerated advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "20"; + } + leaf minimum-change { + description + "Accelerated advertisement minimum value in + microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microseconds"; + default "500"; + } + } + container periodic { + description + "Periodic Advertisement Profile"; + leaf interval { + description + "Periodic advertisement interval in seconds"; + type uint32 { + range "30..3600"; + } + units "second"; + default "120"; + } + leaf threshold { + description + "Periodic advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "10"; + } + leaf minimum-change { + description + "Periodic advertisement minimum value in microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microsecond"; + } + leaf disable { + description + "Disable Performance Measurement Periodic Advertisement"; + type empty; + } + } + } + } + + grouping config-perf-measure-advertisement-grouping-endpoint { + description + "Common node for delay profile advertisment"; + container advertisement { + description + "Advertisement Profile"; + container accelerated { + description + "Accelerated Advertisement Profile"; + presence "true"; + leaf threshold { + description + "Accelerated advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "20"; + } + leaf minimum-change { + description + "Accelerated advertisement minimum value in microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microseconds"; + default "500"; + } + } + container periodic { + description + "Periodic Advertisement Profile"; + leaf interval { + description + "Periodic advertisement interval in seconds"; + type uint32 { + range "30..3600"; + } + units "seconds"; + default "120"; + } + leaf threshold { + description + "Periodic advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "10"; + } + leaf minimum-change { + description + "Periodic advertisement minimum value in microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microseconds"; + default "500"; + } + leaf disabled { + description + "Disable Performance Measurement Periodic Advertisement"; + type empty; + } + } + container threshold-check { + description + "Threshold Check"; + leaf threshold-check-value { + type enumeration { + enum average-delay; + enum maximum-delay; + enum minimum-delay; + } + default "average-delay"; + } + } + } + } + + grouping config-perf-measure-advertisement-grouping-srpolicy { + description + "Common node for delay profile advertisment"; + container advertisement { + description + "Advertisement Profile"; + container accelerated { + description + "Accelerated Advertisement Profile"; + presence "true"; + leaf threshold { + description + "Accelerated advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "20"; + } + leaf minimum-change { + description + "Accelerated advertisement minimum value in + microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microseconds"; + default "500"; + } + } + container periodic { + description + "Periodic Advertisement Profile"; + leaf interval { + description + "Periodic advertisement interval in seconds"; + type uint32 { + range "30..3600"; + } + units "second"; + default "120"; + } + leaf threshold { + description + "Periodic advertisement threshold percentage"; + type ios-types:percentage; + units "percentage"; + default "10"; + } + leaf minimum-change { + description + "Periodic advertisement minimum value in microseconds (uSec)"; + type uint32 { + range "0..1000000"; + } + units "microsecond"; + } + leaf disable { + description + "Disable Performance Measurement Periodic Advertisement"; + type empty; + } + } + container threshold-check { + description + "Threshold Check"; + choice mode-choice { + default "average-delay"; + case average-delay { + leaf average-delay { + description + "Enable average-delay threshold check"; + type empty; + } + } + case minimum-delay { + leaf minimum-delay { + description + "Enable minimum-delay threshold check"; + type empty; + } + } + case maximum-delay { + leaf maximum-delay { + description + "Enable maximum-delay threshold check"; + type empty; + } + } + } + } + } + } + + grouping config-perf-measure-loss-advertisement-grouping { + description + "Common node for loss profile advertisement"; + container advertisement { + description + "Advertisement Profile"; + container anomaly-check { + description + "Configure anomaly range, if exceeds set anomaly bit"; + leaf lower-bound { + description + "Lower bound for anomaly"; + must '. < ../upper-bound' { + error-message "lower-bound must be less than upper-bound"; + } + type decimal64 { + fraction-digits 6; + range "0.000000..50.331642"; + } + units "percentage"; + default "0.500000"; + } + leaf upper-bound { + description + "Upper bound for anomaly"; + must '. > ../lower-bound' { + error-message "upper-bound must be greater than lower-bound"; + } + type decimal64 { + fraction-digits 6; + range "0.000000..50.331642"; + } + units "percentage"; + default "1.000000"; + } + } + container periodic { + description + "Periodic Advertisement Profile"; + leaf interval { + description + "Periodic advertisement interval in seconds"; + type uint32 { + range "30..3600"; + } + units "second"; + default "120"; + } + leaf minimum-change { + description + "Periodic advertisement minimum value in microseconds (uSec)"; + type decimal64 { + fraction-digits 6; + range "0.000000..50.331642"; + } + units "percentage"; + default "0.100000"; + } + leaf threshold { + description + "Periodic advertisement threshold percentage"; + type decimal64 { + fraction-digits 6; + range "0.000003..100.000000"; + } + units "percentage"; + default "10.000000"; + } + } + } + } + + grouping config-perf-measure-probe-grouping { + container probe { + description + "PM Delay Profile Probe"; + leaf computation-interval { + description + "The value for delay profile probe interval in seconds"; + type uint32 { + range "3..3600"; + } + units "second"; + default "30"; + } + leaf measurement-mode-v2 { + description + "Delay measurement mode"; + type enumeration { + enum two-way { + description + "Enable two-way delay measurement"; + } + enum one-way { + description + "Enable one-way delay measurement"; + } + } + default "two-way"; + } + container measurement-mode { + status deprecated; + description + "Delay measurement mode"; + choice mode-choice { + status deprecated; + default "two-way"; + case two-way { + status deprecated; + leaf two-way { + status deprecated; + description + "Enable two-way delay measurement"; + type empty; + } + } + case one-way { + status deprecated; + leaf one-way { + status deprecated; + type empty; + description + "Enable one-way delay measurement"; + } + } + } + } + leaf burst-interval { + description + "The value for delay profile probe burst + interval in milliseconds"; + type uint32 { + range "30..15000"; + } + units "millisecond"; + default "3000"; + } + container protocol { + description + "Protocol used to send probes"; + choice protocol-choice { + default "pm-mpls"; + case pm-mpls { + leaf pm-mpls { + description + "Interface delay measurement using RFC 6374 with MPLS encap"; + type empty; + } + } + case twamp-light { + leaf twamp-light { + description + "Interface delay measurement using RFC 5357"; + type empty; + } + } + } + } + } + } + + grouping config-perf-measure-loss-probe-grouping { + container probe { + description + "PM Loss Profile Probe"; + container color-type { + description + "Loss profile probe color-type submode"; + choice color-type-choice { + default "single-color"; + case dual-color { + leaf dual-color { + description + "Configure dual-color protocol"; + type enumeration { + enum gre; + } + default "gre"; + } + } + case single-color { + container single-color { + description + "Loss profile probe color-type single-color submode"; + presence "true"; + leaf accuracy { + description + "Configure accuracy"; + type decimal64 { + fraction-digits 6; + range "0.100000..10.000000"; + } + units "percentage"; + default "0.100000"; + } + leaf max-reordering { + description + "Configure maximum expected reordering + value in milliseconds"; + type uint32 { + range "100..2000"; + } + units "millisecond"; + default "250"; + } + } + } + } + } + leaf tx-interval { + description + "Transmit interval value in seconds"; + type uint32 { + range "10..1000"; + } + units "second"; + default "30"; + } + } + } + + grouping config-perf-measure-liveness-grouping-endpoint { + container liveness-detection { + description + "Liveness-detection"; + leaf multiplier { + description + "Detect multiplier"; + type uint32 { + range "2..10"; + } + units "packets lost"; + default "3"; + } + } + } + + grouping config-perf-measure-liveness-grouping-policy { + container liveness-detection { + description + "Liveness-detection"; + leaf multiplier { + description + "Detect multiplier"; + type uint32 { + range "2..10"; + } + units "packets lost"; + default "3"; + } + } + } + + grouping config-perf-measure-probe-grouping-endpoint { + container probe { + description + "PM Delay Profile Probe"; + leaf computation-interval { + description + "Delay profile probe computation interval in seconds"; + type uint32 { + range "3..3600"; + } + units "seconds"; + default "30"; + } + leaf measurement-mode { + description + "Delay measurement mode"; + type enumeration { + enum two-way; + enum one-way; + enum loopback; + } + default "two-way"; + } + leaf burst-interval { + description + "Delay profile probe burst interval in milliseconds"; + type uint32 { + range "30..15000"; + } + units "milliseconds"; + default "3000"; + } + leaf padding-size { + description + "Packet padding size (added to minimum packet size)"; + type uint32 { + range "0..8000"; + } + units "bytes"; + default "0"; + } + leaf tos-dscp { + description + "TOS DSCP 6-leftmost bits of TOS byte (0-63)"; + type uint16 { + range "0..63"; + } + default "48"; + } + } + } + + grouping config-perf-measure-probe-grouping-srpolicy { + container probe { + description + "PM Delay Profile Probe"; + leaf computation-interval { + description + "The value for delay profile probe interval in seconds"; + type uint32 { + range "3..3600"; + } + units "second"; + default "30"; + } + leaf measurement-mode-v2 { + description + "Delay measurement mode"; + type enumeration { + enum two-way { + description + "Enable two-way delay measurement"; + } + enum loopback { + description + "Enable loopback delay measurement"; + } + enum one-way { + description + "Enable one-way delay measurement"; + } + } + default "two-way"; + } + container measurement-mode { + status deprecated; + description + "Delay measurement mode"; + choice mode-choice { + status deprecated; + default "one-way"; + case two-way { + status deprecated; + leaf two-way { + status deprecated; + description + "Enable two-way delay measurement"; + type empty; + } + } + case one-way { + status deprecated; + leaf one-way { + status deprecated; + description + "Enable one-way delay measurement"; + type empty; + } + } + case loopback { + status deprecated; + leaf loopback { + status deprecated; + description + "Enable loopback delay measurement"; + type empty; + } + } + } + } + leaf burst-interval { + description + "The value for delay profile probe burst + interval in milliseconds"; + type uint32 { + range "30..15000"; + } + units "millisecond"; + default "3000"; + } + container protocol { + description + "Protocol used to send probes"; + choice protocol-choice { + default "pm-mpls"; + case pm-mpls { + leaf pm-mpls { + description + "SR Policy delay measurement using RFC 6374 with MPLS encap"; + type empty; + } + } + case twamp-light { + leaf twamp-light { + description + "SR Policy delay measurement using RFC 5357"; + type empty; + } + } + } + } + container sweep { + description + "Enable ECMP hashing by sweeping a field in the probe"; + container destination { + description + "Sweep a range of IP destination addresses"; + leaf ipv4 { + description + "IPv4 address"; + type ipv4-address-sweep-range; + } + leaf range { + description + " Start of the IPv4 address range"; + type uint16 { + range "0..128"; + } + } + } + } + } + } + + grouping config-perf-measure-grouping { + list interface { + description + "Configure a performance-measurement interface"; + key "interface-name"; + leaf interface-name { + type string; + } + container delay-measurement { + description + "Interface delay measurement"; + presence "true"; + leaf advertise-delay { + description + "The value for interface delay measurement + advertisement delay in uSec"; + type uint32 { + range "0..16777215"; + } + units "microsecond"; + } + leaf profile { + description + "Profile name"; + type string; + } + } + container loss-measurement { + description + "Interface loss measurement"; + presence "true"; + container advertise-loss { + leaf advertise-loss { + description + "The value for interface loss measurement + advertisement loss in percentage"; + type decimal64 { + fraction-digits 6; + range "0.000000..50.331642"; + } + units "percentage"; + } + leaf anomaly-set { + description + "Set anomaly bit"; + type empty; + } + } + leaf profile { + description + "Profile name"; + type string; + } + } + container next-hop { + description + "next-hop address"; + choice nexthop-address-choice { + case nexthop-ipv4-address { + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + } + case nexthop-ipv6-address { + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + } + } + } + } + list endpoint { + description + "Configure a performance-measurement endpoint"; + key "endpoint-name"; + leaf endpoint-name { + type string; + } + container delay-measurement { + description + "Endpoint delay measurement"; + presence "true"; + leaf profile { + description + "Profile name"; + type string; + } + } + container destination-address { + description + "Endpoint destination address"; + choice destination-address-choice { + case destination-ipv4-address { + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + } + case destination-ipv6-address { + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + } + } + } + leaf shutdown { + description + "Shutdown the selected endpoint querier"; + type empty; + } + container source-address { + description + "Endpoint source address"; + choice source-address-choice { + case source-ipv4-address { + leaf ipv4 { + description + "IPv4 address"; + type inet:ipv4-address; + } + } + case source-ipv6-address { + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + } + } + } + container segment-list { + description + "Configure a segment-list for the endpoint"; + leaf forward-path { + description + "Configure forward path on segment-list"; + type string; + } + leaf reverse-path { + description + "Configure reverse path on segment-list"; + type string; + } + } + leaf vrf { + description + "Set VRF for the endpoint"; + type string; + } + } + container delay-profile { + description + "Performance-measurement delay profile"; + container interfaces { + description + "Performance-measurement interface default delay profile"; + uses config-perf-measure-advertisement-grouping; + uses config-perf-measure-probe-grouping; + } + container named-interfaces { + container interfaces { + description + "Performance-measurement interface named delay profile"; + list name { + key "profile-name"; + leaf profile-name { + type string; + } + uses config-perf-measure-advertisement-grouping; + uses config-perf-measure-probe-grouping; + } + } + } + container endpoint { + description + "Performance-measurement endpoint default delay profile"; + uses config-perf-measure-advertisement-grouping-endpoint; + uses config-perf-measure-probe-grouping-endpoint; + uses config-perf-measure-liveness-grouping-endpoint; + } + container named-endpoint { + container endpoint { + description + "Performance-measurement endpoint named delay profile"; + list name { + key "profile-name"; + leaf profile-name { + type string; + } + uses config-perf-measure-advertisement-grouping-endpoint; + uses config-perf-measure-probe-grouping-endpoint; + uses config-perf-measure-liveness-grouping-endpoint; + } + } + } + container sr-policy { + description + "Performance-measurement sr-policy default delay profile"; + uses config-perf-measure-advertisement-grouping-srpolicy; + uses config-perf-measure-probe-grouping-srpolicy; + uses config-perf-measure-liveness-grouping-policy; + } + container named-sr-policy { + container sr-policy { + description + "Performance-measurement sr-policy named delay profile"; + list name { + key "profile-name"; + leaf profile-name { + type string; + } + uses config-perf-measure-advertisement-grouping-srpolicy; + uses config-perf-measure-probe-grouping-srpolicy; + uses config-perf-measure-liveness-grouping-policy; + } + } + } + } + container loss-profile { + description + "Performance-measurement loss profile"; + container interfaces { + description + "Performance-measurement interface default loss profile"; + uses config-perf-measure-loss-advertisement-grouping; + uses config-perf-measure-loss-probe-grouping; + } + container named-interfaces { + container interfaces { + description + "Performance-measurement interface named loss profile"; + list name { + key "profile-name"; + leaf profile-name { + type string; + } + uses config-perf-measure-loss-advertisement-grouping; + uses config-perf-measure-loss-probe-grouping; + } + } + } + } + container protocol { + description + "Supported Protocol"; + container sdlm-light { + description + "Enter sdlm-light protocol submode"; + container measurement { + description + "Supported measurement types"; + container loss { + description + "Enter loss measurement submode"; + container unauthenticated { + description + "Enter unauthenticated mode"; + leaf querier-dst-port { + description + "<862,1024-14999> Port number"; + type uint16 { + range "862 | 1024..14999"; + } + } + leaf querier-src-port { + description + "<1024-14999> Port number"; + must 'not (. = ../querier-dst-port)' { + error-message "querier-dst-port and querier-src-port cannot be configured equal"; + } + type uint16 { + range "1024..14999"; + } + } + } + } + } + } + container twamp-light { + description + "Enter twamp-light protocol submode"; + container measurement { + description + "Supported measurement types"; + container delay { + description + "Enter delay measurement submode"; + container unauthenticated { + description + "Enter unauthenticated mode"; + leaf querier-dst-port { + description + "<862,1024-14999> Port number"; + type uint16 { + range "862 | 1024..14999"; + } + } + leaf querier-src-port { + description + "<1024-14999> Port number"; + must 'not (. = ../querier-dst-port)' { + error-message "querier-dst-port and querier-src-port cannot be configured equal"; + } + type uint16 { + range "1024..14999"; + } + } + } + } + } + } + } + container dual-color { + description + "Configure parameters for a protocol using dual-coloring"; + container gre { + description + "Configure GRE protocol"; + leaf bit-position { + description + "Configure bit-position for GRE"; + type uint16 { + range "9..12"; + } + default "9"; + } + } + } + leaf max-pps { + description + "Configure maximum packets per second allowed"; + type uint16 { + range "0..2000"; + } + } + } + + augment "/ios:native/ios:performance-measurement" { + uses config-perf-measure-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pfr.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pfr.yang new file mode 100644 index 000000000..28dc55f62 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pfr.yang @@ -0,0 +1,1412 @@ +module Cisco-IOS-XE-pfr { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pfr"; + prefix ios-pfr; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Performance Routing (PfR) Yang Model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-pfr-grouping { + container border { + description + "Enter PfR border router configuration submode"; + presence "true"; + container pfr-Mode__config-pfr-br { + container active-probe { + description + "Specify active probe parameters"; + container address { + description + "Identify probe address parameters"; + container source { + description + "Identify probe source address"; + container interface { + description + "Identify probe source address from interface"; + uses ios-ifc:interface-grouping; + } + } + } + } + container local { + description + "Specify the local interface for PfR connection"; + container interface { + uses ios-ifc:interface-grouping; + } + } + leaf logging { + description + "Event logging"; + type empty; + } + container master { + description + "Specify the PfR master controller IP address"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address"; + type inet:ipv4-address; + } + leaf key-chain { + description + "name of key-chain"; + type string; + } + } + } + leaf port { + description + "Specify PfR port number"; + type uint16 { + range "1..65535"; + } + } + leaf shutdown { + description + "Disable PfR border router functionality"; + type empty; + } + } + } + container master { + description + "Enter PfR master controller configuration submode"; + presence "true"; + container icmp-Mode-config-pfr-mc { + container active-probe { + description + "Manually create an active probe for a known target"; + leaf echo { + description + "IP address of probe target"; + type inet:host; + } + container jitter { + description + "Perform jitter probe operations (requires a responder)"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Target Port Number"; + type uint16 { + range "1..65535"; + } + } + } + } + container tcp-conn { + description + "Perform TCP Connection / Disconnect probe operations"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Target Port Number"; + type uint16 { + range "1..65535"; + } + } + } + } + container udp-echo { + description + "Perform UDP Echo probe operations (requires a responder)"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Target Port Number"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container application { + description + "Define application"; + container define { + description + "Define application"; + list app-def { + key "app-def"; + leaf app-def { + description + "Application definition name"; + type string; + } + leaf access-list { + description + "Application definition access-list name"; + type string; + } + leaf nbar { + description + "Define nbar application"; + type empty; + } + } + } + } + container backoff { + description + "Specify backoff timer parameters"; + list boff { + key "boff"; + leaf boff { + description + "Specify minimum value of backoff timer (secs)"; + type uint16 { + range "90..7200"; + } + } + list boff0 { + key "boff0"; + leaf boff0 { + description + "Specify maximum value of backoff timer (secs)"; + type uint16 { + range "90..7200"; + } + } + leaf bstep { + description + "Specify optional backoff timer step (secs)"; + type uint16 { + range "90..7110"; + } + } + } + } + } + leaf bandwidth-resolution { + description + "Enable/configure Bandwidth Resolution"; + type empty; + } + container border { + description + "Enter PfR managed border router configuration submode"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of border router"; + type inet:ipv4-address; + } + list key-chain { + description + "Specify a key-chain"; + key "kc-name"; + leaf kc-name { + description + "name of key-chain"; + type string; + } + leaf interface { + description + "Specify an PfR managed border router interface"; + type empty; + } + } + leaf interface { + description + "Specify an PfR managed border router interface"; + type empty; + } + } + } + container delay { + description + "Specify delay parameters"; + leaf relative { + description + "short/long term in percentage. e.g. 125 is short/long = 1.25"; + type uint16 { + range "1..1000"; + } + } + leaf threshold { + description + "Maximum absolute delay threshold (msecs)"; + type uint16 { + range "1..10000"; + } + } + } + leaf exporter { + description + "name of flow exporter"; + type string; + } + leaf holddown { + description + "Specify hold-down timer parameter (secs)"; + type uint16 { + range "90..65535"; + } + } + container jitter { + description + "Specify jitter parameters"; + leaf threshold { + description + "Maximum absolute jitter threshold (ms)"; + type uint16 { + range "1..1000"; + } + } + } + leaf keepalive { + description + "Specify keepalive interval in seconds"; + type uint16 { + range "0..1000"; + } + } + container learn { + description + "Enter prefix and traffic class learning submode"; + presence "true"; + container lrn-Mode__config-pfr-mc-learn { + container aggregation-type { + description + "Type of prefix to aggregate"; + leaf bgp { + description + "Aggregate prefixes learned via BGP"; + type empty; + } + leaf non-bgp { + description + "Aggregate prefixes not learned via BGP"; + type empty; + } + leaf prefix-length { + description + "Specify the prefix mask"; + type uint8 { + range "1..32"; + } + } + } + leaf delay { + description + "Learn top prefixes based on delay"; + type empty; + } + container expire { + description + "Set expiry criteria for learn prefixes"; + container after { + description + "Specify expiry criteria for learn prefixes"; + leaf session { + description + "Specify the value"; + type uint16 { + range "1..65535"; + } + } + leaf time { + description + "Specify the value"; + type uint16 { + range "1..65535"; + } + } + } + } + container inside { + description + "Learn prefixes inside the network"; + leaf bgp { + description + "Learn inside prefixes advertised by BGP out PfR External Interfaces"; + type empty; + } + } + container list { + description + "Create PfR Learn Traffic Class List and enter the sub-mode"; + container seq { + description + "PfR Learn Traffic Class List sequence number"; + list pfr-tc { + key "pfr-tc"; + leaf pfr-tc { + description + "PfR Learn Traffic Class List sequence number"; + type uint16 { + range "1..65535"; + } + } + leaf refname { + description + "PfR Learn Traffic Class List reference name"; + type empty; + } + } + } + } + leaf monitor-period { + description + "Specify the period in minutes"; + type uint16 { + range "1..1440"; + } + } + leaf periodic-interval { + description + "Specify the interval in minutes"; + type uint16 { + range "0..10080"; + } + } + container prefixes { + description + "Number of prefixes to learn"; + list prnum { + key "prnum"; + leaf prnum { + description + "Specify the number of prefixes"; + type uint32 { + range "0..100000"; + } + } + leaf applications { + description + "Specify the number of appl"; + type uint16 { + range "0..50000"; + } + } + } + } + leaf throughput { + description + "Learn top prefixes based on throughput"; + type empty; + } + container traffic-class { + description + "Set traffic class filters"; + container aggregate { + description + "Traffic class aggregation specification"; + leaf access-list { + description + "IP access-list name"; + type string; + } + } + container filter { + description + "Traffic class filter specification"; + leaf access-list { + description + "IP access-list name"; + type string; + } + } + container keys { + description + "Specify Learn keys for applications"; + container dport { + description + "Learn top appls based on destination port"; + presence "true"; + leaf dscp { + description + "Learn top appls based on DSCP"; + type empty; + } + leaf protocol { + description + "Learn top appls based on protocol"; + type empty; + } + leaf sport { + description + "Learn top appls based on source port"; + type empty; + } + } + container dscp { + description + "Learn top appls based on DSCP"; + presence "true"; + leaf dport { + description + "Learn top appls based on destination port"; + type empty; + } + leaf protocol { + description + "Learn top appls based on protocol"; + type empty; + } + leaf sport { + description + "Learn top appls based on source port"; + type empty; + } + } + container protocol { + description + "Learn top appls based on protocol"; + presence "true"; + leaf dport { + description + "Learn top appls based on destination port"; + type empty; + } + leaf dscp { + description + "Learn top appls based on DSCP"; + type empty; + } + container sport { + description + "Learn top appls based on source port"; + presence "true"; + leaf dport { + description + "Learn top appls based on destination port"; + type empty; + } + leaf dscp { + description + "Learn top appls based on DSCP"; + type empty; + } + } + } + container sport { + description + "Learn top appls based on source port"; + presence "true"; + leaf dport { + description + "Learn top appls based on destination port"; + type empty; + } + leaf dscp { + description + "Learn top appls based on DSCP"; + type empty; + } + leaf protocol { + description + "Learn top appls based on protocol"; + type empty; + } + } + } + } + } + } + leaf logging { + description + "Event Logging"; + type empty; + } + container loss { + description + "Specify loss parameters"; + leaf relative { + description + "short/long term in percentage. e.g. 125 is short/long = 1.25"; + type uint16 { + range "1..1000"; + } + } + leaf threshold { + description + "Maximum absolute lost packet threshold in percentage e.g., 1 is 0.0001 percent"; + type uint32 { + range "1..1000000"; + } + } + } + container max { + description + "Specify the upper limit"; + container prefix { + description + "Specify prefix upper limit"; + container total { + description + "Specify max total prefix limit"; + list maxpr { + key "maxpr"; + leaf maxpr { + description + "Specify the max total prefix limit value"; + type uint32 { + range "1..100000"; + } + } + leaf learn { + description + "Specify max learn prefix limit value"; + type uint32 { + range "0..100000"; + } + } + } + } + } + container range { + description + "Specify range value"; + container receive { + description + "Specify receive range"; + leaf percent { + description + "Specify the percentage range"; + type uint8 { + range "0..100"; + } + } + } + } + } + container max-range-utilization { + description + "Configure the maximum range for utilization of all exits"; + leaf percent { + description + "Specify the percentage range"; + type uint8 { + range "1..100"; + } + } + } + container mc-peer { + description + "Enable MC-to-MC peering"; + presence "true"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of head-end MC peer"; + type inet:ipv4-address; + } + list interface { + key "interface"; + leaf interface { + description + "Loopback interface"; + type string; + } + leaf description { + description + "MC site description (max 40 char)"; + type string; + } + leaf domain { + description + "Domain value"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf description { + description + "MC site description (max 40 char)"; + type string; + } + container domain { + description + "SAF domain ID to be used for MC-to-MC peering"; + list dmval { + key "dmval"; + leaf dmval { + description + "Domain value"; + type uint16 { + range "1..65535"; + } + } + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of head-end MC peer"; + type inet:ipv4-address; + } + leaf interface { + description + "Loopback interface"; + type string; + } + } + leaf description { + description + "MC site description (max 40 char)"; + type string; + } + leaf eigrp { + description + "Loopback interface"; + type string; + } + leaf head-end { + description + "Loopback interface"; + type string; + } + } + } + container eigrp { + description + "Use explicit EIGRP configuration instead of auto-config"; + list interface { + key "interface"; + leaf interface { + description + "Loopback interface"; + type string; + } + leaf description { + description + "MC site description (max 40 char)"; + type string; + } + leaf domain { + description + "Domain value"; + type uint16 { + range "1..65535"; + } + } + } + } + container head-end { + description + "Specify this router as head-end MC-peer"; + list interface { + key "interface"; + leaf interface { + description + "Loopback interface"; + type string; + } + leaf description { + description + "MC site description (max 40 char)"; + type string; + } + leaf domain { + description + "Domain value"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container mode { + description + "Specify PfR operating mode settings"; + container monitor { + description + "Specify PfR prefix monitoring policy settings"; + container active { + description + "Enable active monitoring mode"; + presence "true"; + leaf throughput { + description + "Enable active monitoring with throughput from passive mode"; + type empty; + } + } + leaf both { + description + "Enable active and passive monitoring modes"; + type empty; + } + leaf fast { + description + "Enable fast monitoring mode"; + type empty; + } + leaf passive { + description + "Enable passive monitoring mode"; + type empty; + } + } + container route { + description + "Specify PfR route control policy settings"; + leaf control { + description + "Enable PfR to control routes automatically"; + type empty; + } + container metric { + description + "Specify PfR route protocol related settings"; + container bgp { + description + "Specify PfR bgp protocol settings"; + leaf local-pref { + description + "Specify the local preference for bgp controlled routes"; + type uint16 { + range "1..65535"; + } + } + } + container eigrp { + description + "Specify PfR eigrp routes related settings"; + leaf tag { + description + "Specify a tag value for PfR controlled eigrp routes"; + type uint16 { + range "1..65535"; + } + } + } + container static { + description + "Specify PfR static routes related settings"; + leaf tag { + description + "Specify a tag value for PfR controlled static routes"; + type uint16 { + range "1..65535"; + } + } + } + } + leaf observe { + description + "PfR offers route control advice, but does not take any action"; + type empty; + } + container protocol { + description + "Specify OER route control protocol"; + leaf pbr { + description + "Specify OER route control protocol Policy-Based-Routing"; + type empty; + } + } + } + container verify { + description + "Specify verification behavior"; + leaf bidirectional { + description + "Verify bidirectional traffic of applications"; + type empty; + } + } + } + container mos { + description + "Specify mos parameters"; + container threshold { + description + "Minimum MOS threshold"; + list mos-thresh { + key "mos-thresh"; + leaf mos-thresh { + description + "Minimum absolute MOS threshold 1.00 - 5.00"; + type string; + } + leaf percent { + description + "Maximum percentage probe with MOS below threshold"; + type uint8 { + range "1..100"; + } + } + } + } + } + leaf periodic { + description + "Specify periodic rotation timer value (secs)"; + type uint16 { + range "90..7200"; + } + } + leaf policy-rules { + description + "pfr-map name"; + type string; + } + leaf port { + description + "Specify tcp port number for PfR communication"; + type uint16 { + range "1..65535"; + } + } + container probe { + description + "Specify number of packets for jitter probe"; + leaf packets { + description + "probe packets "; + type uint8 { + range "1..255"; + } + } + } + container resolve { + description + "Specify PfR policy resolver settings"; + leaf cost { + description + "Specify PfR cost policy resolver settings"; + type empty; + } + container delay { + description + "Specify PfR delay policy resolver settings"; + container priority { + description + "Specify the order in which resolver will consider this policy"; + list del-pol { + key "del-pol"; + leaf del-pol { + description + "Specify this policy's priority; 1 being highest"; + type uint8 { + range "1..9"; + } + } + leaf variance { + description + "Specify range; e.g. 25 means all exits measuring up to 25% worse than the best exit are considered equivalent"; + type uint8 { + range "1..100"; + } + } + } + } + } + leaf equivalent-path-round-robin { + description + "Specify equivalent-path round-robin resolver"; + type empty; + } + container jitter { + description + "Specify PfR jitter policy resolver settings"; + container priority { + description + "Specify the order in which resolver will consider this policy"; + list jit-pol { + key "jit-pol"; + leaf jit-pol { + description + "Specify this policy's priority; 1 being highest"; + type uint8 { + range "1..9"; + } + } + leaf variance { + description + "Specify range; e.g. 25 means all exits measuring up to 25% worse than the best exit are considered equivalent"; + type uint8 { + range "1..100"; + } + } + } + } + } + container loss { + description + "Specify PfR loss policy resolver settings"; + container priority { + description + "Specify the order in which resolver will consider this policy"; + list loss-pol { + key "loss-pol"; + leaf loss-pol { + description + "Specify this policy's priority; 1 being highest"; + type uint8 { + range "1..9"; + } + } + leaf variance { + description + "Specify range; e.g. 25 means all exits measuring up to 25% worse than the best exit are considered equivalent"; + type uint8 { + range "1..100"; + } + } + } + } + } + container mos { + description + "Specify PfR MOS policy resolver settings"; + container priority { + description + "Specify the order in which resolver will consider this policy"; + list mos-pol { + key "mos-pol"; + leaf mos-pol { + description + "Specify this policy's priority; 1 being highest"; + type uint8 { + range "1..9"; + } + } + leaf variance { + description + "Specify range; e.g. 25 means all exits measuring up to 25% worse than the best exit are considered equivalent"; + type uint8 { + range "1..100"; + } + } + } + } + } + } + container rsvp { + description + "Specify rsvp parameters"; + leaf post-dial-delay { + description + "RSVP post-dial-delay in msecs"; + type uint16 { + range "0..500"; + } + } + leaf signaling-retries { + description + "Number of signaling-retries"; + type uint8 { + range "0..1"; + } + } + } + leaf shutdown { + description + "Disable PfR master controller functionality"; + type empty; + } + container target-discovery { + description + "Enable/configure Target Discovery"; + presence "true"; + container responder-list { + description + "Specify static list of responders"; + list td-num { + key "td-num"; + leaf td-num { + description + "Prefix-list containing list of responders"; + type string; + } + leaf inside-prefixes { + description + "Prefix-list containing list of inside prefixes"; + type string; + } + } + } + } + container traceroute { + description + "Configure Traceroute global parameters"; + leaf probe-delay { + description + "Specify the time between two probes in msec"; + type uint16 { + range "0..65535"; + } + } + } + leaf trigger-log-percentage { + description + "Specify the percentage of out-of-policy TCs that will trigger a syslog"; + type uint8 { + range "0..100"; + } + } + container unreachable { + description + "Specify unreachable parameters"; + leaf relative { + description + "short/long term in percentage. e.g. 125 is short/long = 1.25"; + type uint16 { + range "1..1000"; + } + } + leaf threshold { + description + "Maximum absolute unreachable threshold (flows-per-million)"; + type uint32 { + range "1..1000000"; + } + } + } + } + } + } + + grouping config-pfr-map-grouping { + container match { + description + "Match values for PfR policy"; + container ip { + description + "IP specific information"; + leaf address { + description + "Match address"; + type empty; + } + } + container pfr { + description + "Match PfR prefixes"; + leaf learn { + description + "Match PfR learned prefixes"; + type empty; + } + } + container traffic-class { + description + "Specify Traffic class"; + leaf access-list { + description + "Specify Traffic class(es) using access-list"; + type empty; + } + leaf application { + description + "Specify the application to learn"; + type empty; + } + leaf prefix-list { + description + "Specify Traffic class(es) using prefix-list"; + type empty; + } + } + } + container set { + description + "Set values for PfR policy"; + container active-probe { + description + "Manually create an active probe for a known target"; + container echo { + description + "Perform ICMP echo probe operations"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf dscp { + description + "Specify the DSCP value"; + type empty; + } + } + } + container jitter { + description + "Perform jitter probe operations (requires a responder)"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Required Target Port for udp-echo or tcp-conn or jitter"; + type empty; + } + } + } + container tcp-conn { + description + "Perform TCP Connection / Disconnect probe operations"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Required Target Port for udp-echo or tcp-conn or jitter"; + type empty; + } + } + } + container udp-echo { + description + "Perform UDP Echo probe operations (requires a responder)"; + list ipv4-or-hostname { + key "ipv4-or-hostname"; + leaf ipv4-or-hostname { + description + "IP address of probe target"; + type inet:host; + } + leaf target-port { + description + "Required Target Port for udp-echo or tcp-conn or jitter"; + type empty; + } + } + } + } + container backoff { + description + "Specify backoff timer parameters"; + list boff-t { + key "boff-t"; + leaf boff-t { + description + "Specify minimum value of backoff timer (secs)"; + type uint16 { + range "90..7200"; + } + } + list boff-t0 { + key "boff-t0"; + leaf boff-t0 { + description + "Specify maximum value of backoff timer (secs)"; + type uint16 { + range "90..7200"; + } + } + leaf boff-rng { + description + "Specify optional backoff timer step (secs)"; + type uint16 { + range "90..7110"; + } + } + } + } + } + container delay { + description + "Specify delay parameters"; + leaf relative { + description + "Maximum allowable relative change from short to long term"; + type empty; + } + leaf threshold { + description + "Maximum allowable absolute delay"; + type empty; + } + } + leaf holddown { + description + "Specify hold-down timer parameter (secs)"; + type uint16 { + range "90..65535"; + } + } + leaf interface { + description + "Set the forwarding interface to Null0"; + type string; + } + leaf jitter { + description + "Specify jitter parameters"; + type empty; + } + container link-group { + description + "Specify the link group"; + list lg-name { + key "lg-name"; + leaf lg-name { + description + "Specify primary link group name"; + type string; + } + container fallback { + description + "Specify the fallback link group"; + presence "true"; + leaf fall-name { + description + "Specify Fallback link group name"; + type string; + } + } + } + } + container loss { + description + "Specify loss parameters"; + leaf relative { + description + "short/long term in percentage. e.g. 125 is short/long = 1.25"; + type uint16 { + range "1..1000"; + } + } + leaf threshold { + description + "Maximum absolute lost packet threshold in percentage e.g., 1 is 0.0001 percent"; + type uint32 { + range "1..1000000"; + } + } + } + leaf mode { + description + "Specify PfR operating mode settings"; + type empty; + } + leaf mos { + description + "Specify mos parameters"; + type empty; + } + leaf next-hop { + description + "Specify the next-hop ip address"; + type empty; + } + leaf periodic { + description + "Specify periodic rotation timer value"; + type empty; + } + leaf probe { + description + "Specify active probe parameter"; + type empty; + } + leaf resolve { + description + "Specify PfR policy resolver settings"; + type empty; + } + leaf traceroute { + description + "Enable traceroute"; + type empty; + } + leaf trap-enable { + description + "Enable PfR MIB Traps"; + type empty; + } + leaf trigger-log-percentage { + description + "Specify the percentage of out-of-policy TCs that will trigger a syslog"; + type empty; + } + leaf unreachable { + description + "Specify unreachable parameters"; + type empty; + } + } + } + + augment "/ios:native/ios:pfr" { + uses config-pfr-grouping; + } + + augment "/ios:native/ios:pfr-map" { + uses config-pfr-map-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pim-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pim-oper.yang new file mode 100644 index 000000000..aa6ae63d2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pim-oper.yang @@ -0,0 +1,437 @@ +module Cisco-IOS-XE-pim-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pim-oper"; + prefix pim-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for Protocol Independent Multicast Operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef multicast-addr-family { + type enumeration { + enum multicast-af-ipv4 { + value 0; + description + "Multicast IPv4 address family"; + } + enum multicast-af-ipv6 { + value 1; + description + "Multicast IPv6 address family"; + } + } + description + "Multicast address family"; + } + + typedef pim-modes { + type enumeration { + enum pim-dense { + value 0; + description + "PIM dense mode"; + } + enum pim-sparse { + value 1; + description + "PIM sparse mode"; + } + enum pim-sparse-dense { + value 2; + description + "PIM sparse dense mode"; + } + enum pim-passive { + value 3; + description + "PIM passive mode"; + } + } + description + "Multicast PIM modes"; + } + + typedef pim-per-rp-capability { + type bits { + bit pim-rp-pfp-sa-originator { + position 0; + description + "PIM RP Populate from Packet SA Originator"; + } + bit pim-rp-static-override { + position 1; + description + "PIM RP Static-Override"; + } + bit pim-rp-static { + position 2; + description + "PIM RP Static"; + } + bit pim-rp-dynamic { + position 3; + description + "PIM RP Dynamic"; + } + bit pim-rp-bidir { + position 4; + description + "PIM RP Bidirectional"; + } + bit pim-rp-elected { + position 5; + description + "PIM Elected RP"; + } + } + description + "PIM per RP Capabilities"; + } + + typedef pim-rp-mapping-capability { + type bits { + bit pim-rp-auto-rp-enabled { + position 0; + description + "PIM Auto-RP enabled"; + } + bit pim-rp-candidate { + position 1; + description + "PIM Candidate RP"; + } + bit pim-rp-bsr { + position 2; + description + "PIM Bootstrap Router"; + } + } + description + "PIM RP Mapping Capabilities"; + } + + typedef pim-neighbor-capability { + type bits { + bit pim-neighbor-bidir { + position 0; + description + "PIM neighbor bidirectional"; + } + bit pim-neighbor-proxy { + position 1; + description + "PIM neighbor proxy"; + } + bit pim-neighbor-state-refresh { + position 2; + description + "PIM neighbor state refresh"; + } + bit pim-neighbor-gen-id { + position 3; + description + "PIM neighbor generation identifier"; + } + bit pim-neighbor-drlb { + position 4; + description + "PIM neighbor designated router load balancing"; + } + bit pim-neighbor-dr { + position 5; + description + "PIM neighbor designated router"; + } + bit pim-neighbor-def-dr { + position 6; + description + "PIM neighbor default designated router"; + } + } + description + "PIM Neighbor Capabilities"; + } + + grouping pim-rp-mapping-state-type { + description + "PIM RP Mapping state"; + leaf rp { + type inet:ip-address; + description + "PIM RP address"; + } + leaf info-source { + when "(contains(../pim-per-rp-caps, 'pim-rp-dynamic'))"; + type inet:ip-address; + description + "PIM RP info-source address"; + } + leaf pim-per-rp-caps { + type pim-ios-xe-oper:pim-per-rp-capability; + description + "PIM per RP capability flags"; + } + leaf rp-uptime { + when "(contains(../pim-per-rp-caps, 'pim-rp-dynamic'))"; + type yang:date-and-time; + description + "PIM RP mapping uptime"; + } + leaf will-expire { + when "(contains(../pim-per-rp-caps, 'pim-rp-dynamic'))"; + type empty; + description + "PIM RP mapping expiry applicability"; + } + leaf expires { + when '(../will-expire)'; + type yang:date-and-time; + description + "PIM RP mapping expiry time"; + } + leaf candidate-rp-priority { + type uint32; + description + "PIM RP candidate priority"; + } + leaf holdtime { + type uint32; + units "seconds"; + description + "PIM RP mapping holdtime"; + } + } + + grouping pim-rp-mapping-state { + description + "PIM RP mapping state list"; + leaf acl { + type string; + description + "PIM RP acl name"; + } + list state { + description + "PIM RP state list per ACL"; + uses pim-ios-xe-oper:pim-rp-mapping-state-type; + } + } + + grouping pim-rp-mapping-entry { + description + "Multicast PIM RP Mapping entry"; + leaf vrf { + type string; + description + "PIM RP VRF name"; + } + leaf if-name { + when "(contains(../pim-rp-mapping-caps, 'pim-rp-auto-rp-enabled'))"; + type string; + description + "PIM RP mapping interface"; + } + leaf pim-rp-mapping-caps { + type pim-ios-xe-oper:pim-rp-mapping-capability; + description + "PIM RP mapping capabilities"; + } + leaf auto-rp-mapping-count { + type uint64; + description + "PIM Auto-RP mapping count"; + } + leaf auto-rp-mapping-limit { + type uint64; + description + "PIM Auto-RP mapping limit"; + } + leaf bsr-mapping-count { + type uint64; + description + "PIM RP BSR mapping count"; + } + leaf bsr-mapping-limit { + type uint64; + description + "PIM RP BSR mapping limit"; + } + list pim-rp-mapping-state { + key "acl"; + description + "PIM RP mapping state list"; + uses pim-ios-xe-oper:pim-rp-mapping-state; + } + } + + grouping pim-neighbor-state-type { + description + "PIM neighbor state"; + leaf version { + type uint8; + description + "PIM neighbor version"; + } + leaf dr-priority { + type uint32; + description + "PIM neighbor designated router priority"; + } + leaf gen-id { + type uint32; + description + "PIM neighbor generation identifier"; + } + leaf neighbor-uptime { + type yang:date-and-time; + description + "PIM neighbor uptime"; + } + leaf expires { + type yang:date-and-time; + description + "PIM neighbor expiry time"; + } + leaf pim-neighbor-caps { + type pim-ios-xe-oper:pim-neighbor-capability; + description + "PIM neighbor capabilities"; + } + leaf pim-dr { + type inet:ip-address; + description + "PIM neighbor designated router"; + } + leaf pim-if-addr { + type inet:ip-address; + description + "PIM neighbor interface address"; + } + leaf neighbor-count { + type uint32; + description + "PIM neighbor count"; + } + leaf query-interval { + type uint32; + units "milliseconds"; + description + "PIM neighbor query interval"; + } + leaf jp-interval { + type uint32; + units "milliseconds"; + description + "PIM neighbor join prune interval"; + } + leaf pim-mode { + type pim-ios-xe-oper:pim-modes; + description + "PIM neighbor mode"; + } + } + + grouping pim-neighbor-state { + description + "PIM neighbor state list"; + leaf pim-neighbor-address { + type inet:ip-address; + description + "PIM neighbor address"; + } + container state { + description + "PIM neighbor state"; + uses pim-ios-xe-oper:pim-neighbor-state-type; + } + } + + grouping pim-neighbor-entry { + description + "PIM neighbor entry"; + list pim-neighbor-state { + key "pim-neighbor-address"; + description + "PIM neighbor state list"; + uses pim-ios-xe-oper:pim-neighbor-state; + } + } + + grouping pim-neighbor-table-key { + description + "Multicast PIM neighbor key"; + leaf af { + type pim-ios-xe-oper:multicast-addr-family; + description + "PIM neighbor address family"; + } + leaf vrf { + type string; + description + "PIM neighbor VRF name"; + } + leaf if-name { + type string; + description + "PIM neighbor interface name"; + } + } + + container pim-oper-data { + config false; + description + "Protocol Independent Multicast Operational data"; + list pim-rp-mapping-entry { + key "vrf"; + description + "PIM Rendezvous Point Mapping operational entry"; + uses pim-ios-xe-oper:pim-rp-mapping-entry; + } + list pim-neighbor-entry { + key "af vrf if-name"; + description + "PIM neighbor entry"; + uses pim-ios-xe-oper:pim-neighbor-table-key; + uses pim-ios-xe-oper:pim-neighbor-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-common-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-common-oper.yang new file mode 100644 index 000000000..e5d746478 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-common-oper.yang @@ -0,0 +1,387 @@ +module Cisco-IOS-XE-platform-common-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-common-oper"; + prefix platform-common-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + common to platform oper as well as platform events. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef plat-comp-type { + type enumeration { + enum comp-chassis { + value 0; + description + "Component type - chassis"; + } + enum comp-backplane { + value 1; + description + "Component type - backplane"; + } + enum comp-power-supply { + value 2; + description + "Component type - power supply"; + } + enum comp-fan { + value 3; + description + "Component type - fan or fan tray"; + } + enum comp-sensor { + value 4; + description + "Component type - sensor"; + } + enum comp-module { + value 5; + description + "Component type - module"; + } + enum comp-linecard { + value 6; + description + "Component type - linecard"; + } + enum comp-port { + value 7; + description + "Component type - port"; + } + enum comp-cpu { + value 8; + description + "Component type - cpu"; + } + enum comp-operating-system { + value 9; + description + "Component type - operating system"; + } + enum comp-optical-channel { + value 10; + description + "Component type - optical channel"; + } + enum comp-container { + value 11; + description + "Component type - container"; + } + enum comp-fru { + value 12; + description + "Component type - fru"; + } + enum comp-controller-card { + value 13; + description + "Component type - controller card"; + } + enum comp-transceiver { + value 14; + description + "Component type - transceiver"; + } + } + description + "Component Type"; + } + + typedef plat-comp-status { + type enumeration { + enum status-active { + value 0; + description + "Component status - active"; + } + enum status-inactive { + value 1; + description + "Component status - inactive"; + } + enum status-disabled { + value 2; + description + "Component status - disabled"; + } + } + description + "Component status"; + } + + typedef plat-comp-status-desc { + type enumeration { + enum ok { + value 0; + description + "Component status description - ok"; + } + enum thermal-failure { + value 1; + description + "Component status description - thermal failure"; + } + enum fan-failure { + value 2; + description + "Component status description - fan failure"; + } + enum supply-failure { + value 3; + description + "Component status description - supply failure"; + } + enum no-response { + value 4; + description + "Component status description - no response"; + } + enum bad-power { + value 5; + description + "Component status description - bad power or + input is out of range"; + } + enum overload { + value 6; + description + "Component status description - overload"; + } + enum no-input-power { + value 7; + description + "Component status description - no input power"; + } + enum disabled { + value 8; + description + "Component status description - disabled"; + } + enum not-present { + value 9; + description + "Component status description - vacant"; + } + enum standby { + value 10; + description + "Component status description - standby"; + } + enum bad-cookie { + value 11; + description + "Component status description - bad cookie"; + } + enum invalid { + value 12; + description + "Component status description - invalid"; + } + } + description + "Component status description"; + } + + typedef plat-sensor-alarm-severity { + type enumeration { + enum alarm-severity-unknown { + value 0; + description + "Sensor alarm severity - unknown or normal"; + } + enum alarm-severity-minor { + value 1; + description + "Sensor alarm severity - minor"; + } + enum alarm-severity-major { + value 2; + description + "Sensor alarm severity - major"; + } + enum alarm-severity-critical { + value 3; + description + "Sensor alarm severity - critical"; + } + enum alarm-severity-warning { + value 4; + description + "Sensor alarm severity - warning"; + } + enum alarm-severity-shutdown { + value 5; + description + "Sensor alarm severity - shutdown"; + } + } + description + "Temperature Alarm Severity"; + } + + typedef plat-sensor-type { + type enumeration { + enum sensor-unknown { + value 0; + description + "Sensor type - unknown"; + } + enum sensor-temp-cpu { + value 1; + description + "Sensor type - temperature cpu"; + } + enum sensor-temp-uadp { + value 2; + description + "Sensor type - temperature asic"; + } + enum sensor-temp-inlet { + value 3; + description + "Sensor type - temperature inlet"; + } + enum sensor-temp-outlet { + value 4; + description + "Sensor type - temperature outlet"; + } + enum sensor-temp-hotspot { + value 5; + description + "Sensor type - temperature hotspot"; + } + enum sensor-pfu-redundancy { + value 6; + description + "Sensor type - power supply redundancy"; + } + } + description + "Temperature sensor type"; + } + + typedef plat-sensor-state { + type enumeration { + enum green { + value 0; + description + "Sensor state - green"; + } + enum yellow { + value 1; + description + "Sensor state - yellow"; + } + enum red { + value 2; + description + "Sensor state - red"; + } + } + description + "Platform sensor state"; + } + + grouping plat-sensor-data { + description + "Sensor state data for device components"; + leaf value-instant { + type decimal64 { + fraction-digits 2; + } + description + "Instantaneous sensor reading + value of a component"; + } + leaf value-avg { + type decimal64 { + fraction-digits 2; + } + description + "Arithmetic mean value of the statistic over a + sampling period"; + } + leaf value-max { + type decimal64 { + fraction-digits 2; + } + description + "High water mark value of the statistic over a + sampling period"; + } + leaf value-min { + type decimal64 { + fraction-digits 2; + } + description + "Low water mark value of the statistic over a + sampling period"; + } + leaf sampling-period-sec { + type uint32; + description + "Sampling period in seconds"; + } + } + + grouping plat-sensor-alarm-data { + description + "Sensor alarm data of a component"; + leaf alarm-status { + type boolean; + description + "Alarm status"; + } + leaf alarm-threshold-high { + type uint32; + description + "High threshold limit of a generated alarm"; + } + leaf alarm-threshold-low { + type uint32; + description + "Low threshold limit of a generated alarm"; + } + leaf severity { + type platform-common-ios-xe-oper:plat-sensor-alarm-severity; + description + "Alarm Severity"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-events-oper.yang new file mode 100644 index 000000000..55e14b500 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-events-oper.yang @@ -0,0 +1,223 @@ +module Cisco-IOS-XE-platform-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-events-oper"; + prefix platform-events-ios-xe-oper; + + import Cisco-IOS-XE-platform-common-oper { + prefix platform-common-ios-xe-oper; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of platform components events. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container platform-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef plat-notif-severity { + type enumeration { + enum notif-sev-critical { + value 0; + description + "Notification severity - critical"; + } + enum notif-sev-major { + value 1; + description + "Notification severity - major"; + } + enum notif-sev-minor { + value 2; + description + "Notification severity - minor"; + } + } + description + "Notification severity"; + } + + typedef plat-comp-state { + type enumeration { + enum module-present { + value 0; + description + "Module present"; + } + enum module-inserted { + value 1; + description + "Module inserted"; + } + enum module-removed { + value 2; + description + "Module removed"; + } + } + description + "Platform module state"; + } + + grouping plat-sensor-state-data { + description + "platform sensor state events data model"; + leaf severity { + type platform-events-ios-xe-oper:plat-notif-severity; + description + "Event severity"; + } + leaf comp-type { + type platform-common-ios-xe-oper:plat-comp-type; + description + "Platform component type"; + } + leaf sensor-type { + type platform-common-ios-xe-oper:plat-sensor-type; + description + "Platform sensor type"; + } + leaf description { + type string; + description + "Platform sensor description"; + } + leaf location { + type string; + description + "Platform sensor location containing chassis, slot, bay"; + } + leaf id { + type string; + description + "Platform sensor SNMP physical index"; + } + container sensor-val { + description + "Sensor readings of a component. Values include + the instantaneous, average, max, and min statistics"; + uses platform-common-ios-xe-oper:plat-sensor-data; + } + container alarm-data { + description + "Contains sensor alarm data. It includes alarm status, + high threshold, low threshold and alarm severity"; + uses platform-common-ios-xe-oper:plat-sensor-alarm-data; + } + leaf new-state { + type platform-common-ios-xe-oper:plat-sensor-state; + description + "Platform sensor temperature new state"; + } + leaf time-stamp { + type yang:date-and-time; + description + "Notification time stamp"; + } + } + + grouping plat-comp-state-data { + description + "platform component state events data model"; + leaf severity { + type platform-events-ios-xe-oper:plat-notif-severity; + description + "Event severity"; + } + leaf comp-type { + type platform-common-ios-xe-oper:plat-comp-type; + description + "Platform component type"; + } + leaf description { + type string; + description + "Platform component description"; + } + leaf location { + type string; + description + "Platform component location containing chassis, slot, bay"; + } + leaf id { + type string; + description + "Platform component SNMP physical index"; + } + leaf part-no { + type string; + description + "Platform component part number"; + } + leaf comp-state { + type platform-events-ios-xe-oper:plat-comp-state; + description + "Platform component state"; + } + leaf new-status { + type platform-common-ios-xe-oper:plat-comp-status; + description + "Platform component new status"; + } + leaf status-desc { + type platform-common-ios-xe-oper:plat-comp-status-desc; + description + "Platform component new status description"; + } + leaf time-stamp { + type yang:date-and-time; + description + "Notification time stamp"; + } + } + + notification platform-sensor-state-update { + description + "Component sensor state change notification"; + uses platform-events-ios-xe-oper:plat-sensor-state-data; + } + + notification platform-component-state-update { + description + "Platform component state change notification"; + uses platform-events-ios-xe-oper:plat-comp-state-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-oper.yang new file mode 100644 index 000000000..34286619c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-oper.yang @@ -0,0 +1,626 @@ +module Cisco-IOS-XE-platform-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-oper"; + prefix platform-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of platform components. + Copyright (c) 2016-2017, 2019, 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added SED Support + - Updated component status enumerated type to model powered down and failed states."; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-11-01 { + description + "The time interval over which the min/max/average statistics are computed by the system."; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2019-11-01 { + description + "Added status description field"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "- Added component status, temperature + alarm data and new leaves to component state. + - Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-10-11 { + description + "Enumeration name fix"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-06 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef platform-comp-type { + type enumeration { + enum comp-chassis { + value 0; + } + enum comp-backplane { + value 1; + } + enum comp-power-supply { + value 2; + } + enum comp-fan { + value 3; + } + enum comp-sensor { + value 4; + } + enum comp-module { + value 5; + } + enum comp-linecard { + value 6; + } + enum comp-port { + value 7; + } + enum comp-cpu { + value 8; + } + enum comp-operating-system { + value 9; + } + enum comp-optical-channel { + value 10; + } + enum comp-container { + value 11; + } + enum comp-fru { + value 12; + } + enum comp-controller-card { + value 13; + } + enum comp-transceiver { + value 14; + } + enum comp-sed { + value 15; + description + "Component is Self-Encrypt Drive"; + } + } + description + "Component Type"; + } + + typedef platform-comp-status { + type enumeration { + enum status-active { + value 0; + description + "Component is active"; + } + enum status-inactive { + value 1; + description + "Component is inactive"; + } + enum status-disabled { + value 2; + description + "Component is disabled"; + } + enum status-pwr-down { + value 3; + description + "Component is powered down"; + } + enum status-failed { + value 4; + description + "Component is failed"; + } + } + description + "Component status"; + } + + typedef temp-alarm-severity { + type enumeration { + enum severity-unknown { + value 0; + } + enum severity-minor { + value 1; + } + enum severity-major { + value 2; + } + enum severity-critical { + value 3; + } + enum severity-warning { + value 4; + } + } + description + "Temperature Alarm Severity"; + } + + typedef status-description { + type enumeration { + enum status-desc-ok { + value 0; + description + "Component in working state"; + } + enum status-desc-thermal-failure { + value 1; + description + "Thermal failure"; + } + enum status-desc-fan-failure { + value 2; + description + "Fan failure"; + } + enum status-desc-supply-failure { + value 3; + description + "Power Supply failure"; + } + enum status-desc-no-response { + value 4; + description + "No response from component"; + } + enum status-desc-no-input { + value 5; + description + "Component has no input"; + } + enum status-desc-bad-power { + value 6; + description + "Component has bad power"; + } + enum status-desc-overload { + value 7; + description + "Component is overloaded"; + } + enum status-desc-disabled { + value 8; + description + "Component is disabled"; + } + enum status-desc-vacant { + value 9; + description + "Component slot is vacant"; + } + enum status-desc-standby { + value 10; + description + "Component is in standby or redundant state"; + } + enum status-desc-bad-cookie { + value 11; + description + "Component failure - bad cookie"; + } + enum status-desc-invalid { + value 12; + description + "Component in invalid state"; + } + enum status-desc-pwr-down { + value 13; + description + "Component in power down state"; + } + enum status-desc-failed { + value 14; + description + "Component in failed state"; + } + } + description + "Detailed status"; + } + + typedef platform-prop-value-type { + type enumeration { + enum property-string { + value 0; + } + enum property-boolean { + value 1; + } + enum property-int64 { + value 2; + } + enum property-uint64 { + value 3; + } + enum property-decimal64 { + value 4; + } + } + description + "Property value type"; + } + + grouping platform-comp-temp { + description + "Temperature state data for device components"; + leaf temp-instant { + type decimal64 { + fraction-digits 2; + } + description + "Instantaneous temperature value of a component"; + } + leaf temp-avg { + type decimal64 { + fraction-digits 2; + } + description + "Arithmetic mean value of the statistic over a + sampling period"; + } + leaf temp-max { + type decimal64 { + fraction-digits 2; + } + description + "High water mark value of the statistic over a + sampling period"; + } + leaf temp-min { + type decimal64 { + fraction-digits 2; + } + description + "Low water mark value of the statistic over a + sampling period"; + } + leaf temp-interval { + type uint32; + units "minutes"; + description + "The time interval over which the min/max/average statistics are computed by the system"; + } + } + + grouping temp-alarm-data { + description + "Temperature alarm data of a component"; + leaf alarm-status { + type boolean; + description + "Alarm status"; + } + leaf alarm-threshold { + type uint32; + description + "Threshold value above which system generates an alarm"; + } + leaf severity { + type platform-ios-xe-oper:temp-alarm-severity; + description + "Alarm Severity"; + } + } + + grouping platform-memory-state { + description + "Memory statistics of a component"; + leaf mem-available { + type uint64; + units "bytes"; + description + "Available memory for a component"; + } + leaf mem-utilized { + type uint64; + units "bytes"; + description + "Utilized memory of a component"; + } + } + + grouping platform-property-value { + description + "Property values can take on a variety of types. + Signed and unsigned integer types may be provided in smaller sizes, + e.g., int8, uint16, etc."; + choice property-value-choice { + description + "Value choice"; + case property-string { + leaf string { + type string; + description + "String property value"; + } + } + case property-boolean { + leaf boolean { + type boolean; + description + "Boolean property value"; + } + } + case property-int64 { + leaf intsixfour { + type int64; + description + "Integer64 property value"; + } + } + case property-uint64 { + leaf uintsixfour { + type uint64; + description + "Unsigned integer64 property value"; + } + } + case property-decimal64 { + leaf decimal { + type decimal64 { + fraction-digits 2; + } + description + "Decimal64 property value"; + } + } + } + } + + grouping platform-state { + description + "Operational state data for device components"; + leaf type { + type platform-ios-xe-oper:platform-comp-type; + description + "Type of component as identified by the system"; + } + leaf id { + type string; + description + "Unique identifier assigned to the component + by the system"; + } + leaf description { + type string; + description + "System-supplied description of the component"; + } + leaf mfg-name { + type string; + description + "System-supplied identifier for the manufacturer of the + component. This data is particularly useful when a + component manufacturer is different than the overall + device vendor"; + } + leaf version { + type string; + description + "System-defined version string for a hardware, firmware, + or software component"; + } + leaf serial-no { + type string; + description + "System-assigned serial number of the component"; + } + leaf part-no { + type string; + description + "System-assigned part number for the component. This should + be present in particular if the component is also an FRU + (field replaceable unit)"; + } + container temp { + description + "Temperature in degrees Celsius of the component. Values include + the instantaneous, average, minimum, and maximum statistics. If + average/minimum/maximum statistics are not supported, the target is expected + to just supply the instant value"; + uses platform-ios-xe-oper:platform-comp-temp; + } + leaf location { + type string; + description + "Component's Locations"; + } + leaf empty { + type boolean; + description + "If true, the component is empty"; + } + leaf mfg-date { + type yang:date-and-time; + description + "Manufacturing date of the component"; + } + leaf firmware-ver { + type string; + description + "Firmware version"; + } + leaf removable { + type boolean; + description + "If true, the component is removable"; + } + leaf status { + type platform-ios-xe-oper:platform-comp-status; + description + "Operational status of a component"; + } + container comp-alarm-data { + description + "Temperature alarm data of a component"; + uses platform-ios-xe-oper:temp-alarm-data; + } + leaf parent { + type string; + description + "Parent of a component"; + } + container comp-mem-data { + description + "Available and utilized memory of a component"; + uses platform-ios-xe-oper:platform-memory-state; + } + leaf alloc-pwr { + type uint32; + units "watts"; + description + "Power allocated to a component"; + } + leaf used-pwr { + type uint32; + units "watts"; + description + "Power drawn by a component"; + } + leaf status-desc { + type platform-ios-xe-oper:status-description; + description + "Operational status description"; + } + } + + grouping platform-component { + description + "Top-level grouping for components in the device inventory"; + leaf cname { + type string; + description + "References component name"; + } + container state { + description + "Operational state data for each component"; + uses platform-ios-xe-oper:platform-state; + } + container platform-properties { + description + "Platform component properties"; + list platform-property { + key "name"; + description + "List of platform component properties"; + uses platform-ios-xe-oper:platform-properties; + } + } + container platform-subcomponents { + description + "Platform subcomponents"; + list platform-subcomponent { + key "name"; + description + "List of platform subcomponents"; + uses platform-ios-xe-oper:platform-subcomponents; + } + } + } + + grouping platform-subcomponents { + description + "Platform subcomponents"; + leaf name { + type string; + description + "Subcomponent name"; + } + } + + grouping platform-properties { + description + "Top-level grouping"; + leaf name { + type string; + description + "Property name"; + } + container value { + description + "Property value"; + uses platform-ios-xe-oper:platform-property-value; + } + leaf configurable { + type boolean; + description + "Indication of whether the property is user-configurable"; + } + } + + container components { + config false; + description + "Enclosing container for the components in the system"; + list component { + key "cname"; + description + "List of components, keyed by component name"; + uses platform-ios-xe-oper:platform-component; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-rpc.yang new file mode 100644 index 000000000..9933e66ec --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-rpc.yang @@ -0,0 +1,1077 @@ +submodule Cisco-IOS-XE-platform-rpc { + yang-version 1.1; + belongs-to Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import cisco-semver { + prefix cisco-semver; + } + include Cisco-IOS-XE-crypto-rpc; + include Cisco-IOS-XE-multicast-rpc; + + organization + "Cisco Systems"; + contact + ""; + description + "NED Platform RPC YANG module for IOS + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "Added multicast feature RPC"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "Added new packet tracing RPC"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + grouping clear-choice-platform-case-grouping { + container platform { + description + "Clear platform information"; + choice platform-choice { + case condition-case { + description + "Clear conditional debug and packet-trace configuration and data"; + container condition { + leaf all { + description + "Clear all config and data"; + type empty; + } + } + } + case packet-trace-case { + description + "Clear packet-trace configuration and data"; + container packet-trace { + choice packet-trace-choice { + case configuration-case { + leaf configuration { + description + "Clear packet-trace configuration"; + type empty; + } + } + case statistics-case { + leaf statistics { + description + "Clear packet-trace statistics"; + type empty; + } + } + } + } + } + case hardware-case { + container hardware { + description + "Clear platform hardware information"; + container qfp { + description + "Quantum Flow Processor"; + container active { + description + "Active instance"; + container feature { + description + "Clear features"; + choice feature-choice; + } + } + } + } + } + } + } + } + + grouping direction-grouping { + choice direction-choice { + case both-case { + leaf both { + description + "Simultaneous ingress and egress debug"; + type empty; + } + } + case ingress-case { + leaf ingress { + description + "Ingress only debug"; + type empty; + } + } + case engress-case { + leaf egress { + description + "Egress only debug"; + type empty; + } + } + } + } + + grouping ipv4-src-dst-addr-grouping { + choice source-choice { + case ipv4-prefix-case { + leaf src-ipv4-address-drop-node-name { + type string; + } + } + case any-case { + leaf any { + description + "Any source host"; + type empty; + } + } + case host-case { + leaf host { + description + "A single source host"; + type ios-types:ipv4-host; + } + } + } + container dst-addr-drop-node-name { + choice destination-choice { + case ipv4-prefix-case { + leaf dest-ipv4-address-drop-node-name { + type string; + } + } + case any-case { + leaf any { + description + "Any destination host"; + type empty; + } + } + case host-case { + leaf host { + description + "A single destination host"; + type ios-types:ipv4-host; + } + } + } + } + } + + grouping ipv4-src-dst-addr-port-grouping { + choice source-choice { + case ipv4-prefix-case { + leaf src-ipv4-address-drop-node-name { + type string; + } + } + case any-case { + leaf any { + description + "Any source host"; + type empty; + } + } + case host-case { + leaf host { + description + "A single source host"; + type ios-types:ipv4-host; + } + } + } + choice src-port-choice { + case src-eq-case { + leaf eq { + description + "Match only packets on a given port number up to 10 ports"; + type inet:port-number; + } + } + case src-gt-case { + leaf gt { + description + "Match only packets with a greater port number"; + type inet:port-number; + } + } + case src-lt-case { + leaf lt { + description + "Match only packets with a lower port number"; + type inet:port-number; + } + } + case src-neq-case { + leaf neq { + description + "Match only packets not on a given port number up to 10 ports"; + type inet:port-number; + } + } + case src-range-case { + leaf range { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + leaf src-range2-drop-node-name { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + } + } + container dst-addr-port-drop-node-name { + choice destination-choice { + case ipv4-prefix-case { + leaf dest-ipv4-address-drop-node-name { + type string; + } + } + case any-case { + leaf any { + description + "Any destination host"; + type empty; + } + } + case host-case { + leaf host { + description + "A single destination host"; + type ios-types:ipv4-host; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf eq { + description + "Match only packets on a given port number up to 10 ports"; + type inet:port-number; + } + } + case dst-gt-case { + leaf gt { + description + "Match only packets with a greater port number"; + type inet:port-number; + } + } + case dst-lt-case { + leaf lt { + description + "Match only packets with a lower port number"; + type inet:port-number; + } + } + case dst-neq-case { + leaf neq { + description + "Match only packets not on a given port number up to 10 ports"; + type inet:port-number; + } + } + case dst-range-case { + leaf range { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + leaf dst-range2-drop-node-name { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + } + } + } + } + + grouping ipv6-src-dst-addr-grouping { + choice source-choice { + case prefix-case { + leaf source-prefix-drop-node-name { + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + type empty; + } + } + case host-case { + leaf host { + type ios-types:ip-host; + } + } + } + container dst-addr-drop-node-name { + choice destination-choice { + case prefix-case { + leaf destination-prefix-drop-node-name { + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + type empty; + } + } + case host-case { + leaf host { + type ios-types:ip-host; + } + } + } + } + } + + grouping ipv6-src-dst-addr-port-grouping { + choice source-choice { + case prefix-case { + leaf source-prefix-drop-node-name { + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + type empty; + } + } + case host-case { + leaf host { + type ios-types:ip-host; + } + } + } + choice src-port-choice { + case src-eq-case { + leaf eq { + description + "Match only packets on a given port number"; + type inet:port-number; + } + } + case src-gt-case { + leaf gt { + description + "Match only packets with a greater port number"; + type inet:port-number; + } + } + case src-lt-case { + leaf lt { + description + "Match only packets with a lower port number"; + type inet:port-number; + } + } + case src-neq-case { + leaf neq { + description + "Match only packets not on a given port number"; + type inet:port-number; + } + } + case src-range-case { + leaf range { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + leaf src-range2-drop-node-name { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + } + } + container dst-addr-port-drop-node-name { + choice destination-choice { + case prefix-case { + leaf destination-prefix-drop-node-name { + type ios-types:ipv6-prefix; + } + } + case any-case { + leaf any { + type empty; + } + } + case host-case { + leaf host { + type ios-types:ip-host; + } + } + } + choice dst-port-choice { + case dst-eq-case { + leaf eq { + description + "Match only packets on a given port number"; + type inet:port-number; + } + } + case dst-gt-case { + leaf gt { + description + "Match only packets with a greater port number"; + type inet:port-number; + } + } + case dst-lt-case { + leaf lt { + description + "Match only packets with a lower port number"; + type inet:port-number; + } + } + case dst-neq-case { + leaf neq { + description + "Match only packets not on a given port number"; + type inet:port-number; + } + } + case dst-range-case { + leaf range { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + leaf dst-range2-drop-node-name { + description + "Match only packets in the range of port numbers"; + type inet:port-number; + } + } + } + } + } + + grouping condition-application-grouping { + description + "Debug Application conditions"; + leaf app-name-drop-node-name { + description + "Application name"; + mandatory true; + type string; + } + uses direction-grouping; + } + + grouping condition-mpls-grouping { + description + "Debug MPLS conditions"; + choice mpls-choice { + case label-case { + container label-drop-node-name { + leaf label-id-drop-node-name { + description + "MPLS label id"; + mandatory true; + type uint32 { + range "0..1048575"; + } + } + leaf depth-drop-node-name { + description + "Depth of specified MPLS label, 1 for top label"; + type uint8 { + range "0..127"; + } + } + leaf application { + description + "Debug Application conditions"; + type string; + } + uses direction-grouping; + } + } + case application-case { + container application { + uses condition-application-grouping; + } + } + case direction-case { + uses direction-grouping; + } + } + } + + grouping condition-ipv4-grouping { + description + "Debug IPV4 conditions"; + choice ipv4-choice { + case direction-case { + uses direction-grouping; + } + case ipv4addr-case { + container ipv4addr-drop-node-name { + leaf ip-addr-drop-node-name { + description + "IPv4 address A.B.C.D/nn"; + type string; + mandatory true; + } + choice ipv4addr-choice { + case application-case { + container application { + uses condition-application-grouping; + } + } + case direction-case { + uses direction-grouping; + } + } + } + } + case access-list-case { + description + "Set acl for conditional debug"; + container access-list { + leaf acl-name-drop-node-name { + description + "ACL name"; + type string; + mandatory true; + } + uses direction-grouping; + } + } + } + } + + grouping condition-ipv6-grouping { + description + "Debug IPV6 conditions"; + choice ipv6-choice { + case direction-case { + uses direction-grouping; + } + case ipv6addr-case { + container ipv6addr-drop-node-name { + leaf ip-addr-drop-node-name { + description + "IPv6 address X:X:X:X::X/<0-128>"; + type string; + mandatory true; + } + choice ipv6addr-choice { + case application-case { + container application { + uses condition-application-grouping; + } + } + case direction-case { + uses direction-grouping; + } + } + } + } + case access-list-case { + description + "Set acl for conditional debug"; + container access-list { + leaf acl-name-drop-node-name { + description + "ACL name"; + type string; + mandatory true; + } + uses direction-grouping; + } + } + } + } + + grouping condition-match-grouping { + description + "Describe inline acl filters"; + choice match-choice { + case ipv4-case { + description + "Debug IPv4 conditions"; + container ipv4 { + choice ipv4-choice { + case protocol-case { + container protocol { + description + "Protocols"; + choice protocol-choice { + case icmp-case { + description + "Filter by ICMP protocol"; + container icmp { + uses ipv4-src-dst-addr-grouping; + uses direction-grouping; + } + } + case tcp-case { + description + "Filter by TCP protocol"; + container tcp { + uses ipv4-src-dst-addr-port-grouping; + uses direction-grouping; + } + } + case udp-case { + description + "Filter by UDP protocol"; + container udp { + uses ipv4-src-dst-addr-port-grouping; + uses direction-grouping; + } + } + case proto-num-case { + description + "Filter by protocol number"; + container proto-num-drop-node-name { + leaf protonum-drop-node-name { + description + "An IP protocol number<0-255>"; + type uint8 { + range "0..255"; + } + mandatory true; + } + uses ipv4-src-dst-addr-grouping; + uses direction-grouping; + } + } + } + } + } + case ipv4addr-case { + container ipv4-addr-drop-node-name { + uses ipv4-src-dst-addr-grouping; + uses direction-grouping; + } + } + } + } + } + case ipv6-case { + description + "Debug IPv6 conditions"; + container ipv6 { + choice ipv6-choice { + case protocol-case { + container protocol { + description + "Protocols"; + choice protocol-choice { + case icmp-case { + description + "Filter by ICMP protocol"; + container icmp { + uses ipv6-src-dst-addr-grouping; + uses direction-grouping; + } + } + case tcp-case { + description + "Filter by TCP protocol"; + container tcp { + uses ipv6-src-dst-addr-port-grouping; + uses direction-grouping; + } + } + case udp-case { + description + "Filter by UDP protocol"; + container udp { + uses ipv6-src-dst-addr-port-grouping; + uses direction-grouping; + } + } + case proto-num-case { + description + "Filter by protocol number"; + container proto-num-drop-node-name { + leaf protonum-drop-node-name { + description + "An IP protocol number<0-255>"; + type uint8 { + range "0..255"; + } + mandatory true; + } + uses ipv6-src-dst-addr-grouping; + uses direction-grouping; + } + } + } + } + } + case ipv6addr-case { + container ipv6-addr-drop-node-name { + uses ipv6-src-dst-addr-grouping; + uses direction-grouping; + } + } + } + } + } + } + } + + grouping condition-interface-grouping { + description + "Set interface for conditional debug"; + leaf interface-name-drop-node-name { + description + "interface name"; + type string; + mandatory true; + } + choice interface-choice { + case direction-case { + uses direction-grouping; + } + case application-case { + container application { + uses condition-application-grouping; + } + } + case ipv4-case { + container ipv4 { + uses condition-ipv4-grouping; + } + } + case ipv6-case { + container ipv6 { + uses condition-ipv6-grouping; + } + } + case match-case { + container match { + uses condition-match-grouping; + } + } + case mpls-case { + container mpls { + uses condition-mpls-grouping; + } + } + } + } + + grouping packet-trace-grouping { + description + "Debug packet trace"; + choice packet-trace-choice { + case statistics-case { + leaf statistics { + description + "Enable packet trace statistics"; + type empty; + } + } + case drop-case { + container drop { + description + "Trace drops only"; + presence "true"; + leaf code { + description + "Trace specific drop code value <0-65534>"; + type uint16 { + range "0..65534"; + } + } + } + } + case inject-case { + container inject { + description + "Trace injects only"; + presence "true"; + leaf code { + description + "Trace specific inject code value <0-65534>"; + type uint16 { + range "0..65534"; + } + } + } + } + case punt-case { + container punt { + description + "Trace punt only"; + presence "true"; + leaf code { + description + "Trace specific punt code value <0-65534>"; + type uint16 { + range "0..65534"; + } + } + } + } + case packet-case { + container packet { + description + "Packet count"; + leaf packet-num-drop-node-name { + description + "Packet count, value must be a power of two <16-8192>"; + type uint16 { + range "16..8192"; + } + mandatory true; + } + container option-grp1-drop-node-name { + leaf data-size { + description + "Size of trace data in bytes, value must be a power of two <2048-16384>"; + type uint16 { + range "2048..16384"; + } + } + leaf fia-trace { + description + "Trace of visited feature entries"; + type empty; + } + leaf circular { + description + "Capture last set of packets"; + type empty; + } + } + container option-grp2-drop-node-name { + leaf circular { + description + "Capture last set of packets"; + type empty; + } + leaf summary-only { + description + "Summary of the trace"; + type empty; + } + } + } + } + case copy-case { + container copy { + description + "Copy packet data"; + container packet { + description + "Copy parts of packets received or sent"; + choice direction-choice { + mandatory true; + case both-case { + leaf both { + description + "Copy incoming and outgoing packets"; + type empty; + } + } + case input-case { + leaf input { + description + "Copy incoming packets"; + type empty; + } + } + case output-case { + leaf output { + description + "Copy outgoing packets"; + type empty; + } + } + } + choice layer-choice { + case l2-case { + leaf l2 { + description + "Copy starting from layer 2"; + type empty; + } + } + case l3-case { + leaf l3 { + description + "Copy starting from layer 3"; + type empty; + } + } + case l4-case { + leaf l4 { + description + "Copy starting from layer 4"; + type empty; + } + } + } + leaf size { + description + "Packet size in bytes, value must be a power of two"; + type uint16 { + range "16..2048"; + } + } + } + } + } + } + } + + grouping debug-choice-platform-case-grouping { + container platform { + description + "Debug platform information"; + choice platform-choice { + case condtion-case { + container condition { + choice condition-choice { + case start-case { + leaf start { + description + "Start conditional debug"; + type empty; + } + } + case stop-case { + leaf stop { + description + "Stop conditional debug"; + type empty; + } + } + case direction-case { + container direction-drop-node-name { + uses direction-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case application-case { + container application { + uses condition-application-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case mpls-case { + container mpls { + uses condition-mpls-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case ipv4-case { + container ipv4 { + uses condition-ipv4-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case ipv6-case { + container ipv6 { + uses condition-ipv6-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case match-case { + container match { + uses condition-match-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case interface-case { + container interface { + uses condition-interface-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + case feature-case { + container feature { + description + "For a specific feature"; + choice feature-choice { + case ipsec-case { + uses debug-platform-condition-feature-ipsec-grouping; + } + case multicast-case { + uses debug-platform-condition-feature-multicast-grouping; + } + } + } + } + } + } + } + case packet-trace-case { + container packet-trace { + uses packet-trace-grouping; + leaf no { + description + "for no debug platform ..."; + type empty; + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-events.yang new file mode 100644 index 000000000..647de8c35 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-events.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-platform-software-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-software-events"; + prefix platform-sw-ios-xe-events; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for various platform software events. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef process-run-state { + type enumeration { + enum process-run-state-up { + value 0; + description + "Process state is up"; + } + enum process-run-state-down { + value 1; + description + "Process state is down"; + } + enum process-run-state-held-down { + value 2; + description + "Process state is held down"; + } + enum process-run-state-baydeldown { + value 3; + description + "The bay has been + deleted which causes the process state to down"; + } + enum process-run-state-installer-down { + value 4; + description + "Process state is installer down. The process is + in the process of being installed"; + } + enum process-run-state-planned-down { + value 5; + description + "Process state is planned down."; + } + enum process-run-state-invalid { + value 6; + description + "Invalid process state"; + } + } + description + "An enumeration categorizing the run state"; + } + + grouping process-state { + description + "Process state"; + leaf name { + type string; + description + "Name of the process"; + } + container location { + description + "Location of the process"; + uses common-types-ios-xe:extended-location; + } + leaf new-state { + type platform-sw-ios-xe-events:process-run-state; + description + "State that the process has transitioned to"; + } + leaf instance { + type uint8; + description + "The instance of the process"; + } + leaf pid { + type uint32; + description + "The identifier of the process"; + } + } + + notification process-state-event { + description + "Process state events"; + uses platform-sw-ios-xe-events:process-state; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-oper.yang new file mode 100644 index 000000000..e869b4d97 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform-software-oper.yang @@ -0,0 +1,764 @@ +module Cisco-IOS-XE-platform-software-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform-software-oper"; + prefix platform-sw-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring platform software in a Network Element. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added new lists for per process memory and CPU utilization. + - Deprecated system usage and process system usage lists"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2022-07-01 { + description + "- Updated the description for file size from Kb to bytes. + - Added CPU utilization min, max, average and interval"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2021-03-01 { + description + "- Extended filesystem partitions by adding partition contents"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2019-05-01 { + description + "- Added information about image files and extended filesystem partition details. + - Extended filesystem partitions. + - Added semantic version"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-01-29 { + description + "Added the high availability states."; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-05-29 { + description + "Migrate to new internal location types"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-03-09 { + description + "New data types for process stats added. + Process system usage type is added to denote + the per-process system usage. System usage type + is added which denotes the per-process system usage in + each FRU."; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2017-10-10 { + description + "New data types. Leaf name changes"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2017-04-01 { + description + "New location data types. Leaf name changes"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef partition-usage-status { + type enumeration { + enum critical { + value 0; + } + enum warning { + value 1; + } + enum healthy { + value 2; + } + } + description + "Partition usage status"; + } + + typedef partition-file-type { + type enumeration { + enum file { + value 0; + description + "Regular file"; + } + enum directory { + value 1; + description + "Directory or folder"; + } + enum other { + value 2; + description + "Special Files or symbolic Link"; + } + } + description + "Information about the file type"; + } + + grouping min-status { + description + "Load average statistics minute status"; + leaf condition { + type string; + description + "Load average condition"; + } + leaf threshold-status { + type string; + description + "Load average status"; + } + leaf threshold-value { + type decimal64 { + fraction-digits 2; + } + description + "Load average threshold"; + } + } + + grouping minute { + description + "Average calculated over a period of time"; + leaf number { + type uint64; + description + "The number of minutes the average was calculated on"; + } + leaf average { + type decimal64 { + fraction-digits 2; + } + description + "Calculated average"; + } + container status { + description + "Load average statistics minute status"; + uses platform-sw-ios-xe-oper:min-status; + } + } + + grouping load-average-stats { + description + "Statistics on the load average"; + leaf load-average-status { + type string; + description + "Load average status"; + } + } + + grouping memory-status { + description + "Memory statistics status"; + leaf warning-threshold-percent { + type uint32; + description + "Memory warning threshold value percent"; + } + leaf critical-threshold-percent { + type uint32; + description + "Memory critical threshold value percent"; + } + } + + grouping platform-memory-stats { + description + "Platform memory statistics status"; + leaf memory-status { + type string; + description + "The status of the memory"; + } + leaf total { + type uint64; + description + "The total amount of memory in kb"; + } + leaf used-number { + type uint64; + description + "The amount of memory being used in kb"; + } + leaf used-percent { + type uint64; + description + "The percentage of memory being used"; + } + leaf free-number { + type uint64; + description + "The amount of free memory in kb"; + } + leaf free-percent { + type uint64; + description + "The percentage of free memory"; + } + leaf available-number { + type uint64; + description + "The amount of available memory in kb"; + } + leaf available-percent { + type uint64; + description + "The percentage of available memory"; + } + leaf committed-number { + type uint64; + description + "The amount of committed memory in kb"; + } + leaf committed-percent { + type uint8; + description + "The percentage of committed memory"; + } + container status { + description + "Memory status"; + uses platform-sw-ios-xe-oper:memory-status; + } + } + + grouping core { + description + "Processor core information"; + leaf name { + type uint32; + description + "The identifier of the core"; + } + leaf user { + type decimal64 { + fraction-digits 2; + } + description + "CPU utilization in user mode"; + } + leaf system { + type decimal64 { + fraction-digits 2; + } + description + "CPU utilization in system mode"; + } + leaf nice { + type decimal64 { + fraction-digits 2; + } + description + "Nice level"; + } + leaf idle { + type decimal64 { + fraction-digits 2; + } + description + "Idle percentage"; + } + leaf irq { + type decimal64 { + fraction-digits 2; + } + description + "The percentage of utilization by IRQ"; + } + leaf sirq { + type decimal64 { + fraction-digits 2; + } + description + "The percentage of utilization by SIRQ"; + } + leaf io-wait { + type decimal64 { + fraction-digits 2; + } + description + "IO Wait percentage"; + } + leaf cpu-min { + type decimal64 { + fraction-digits 2; + } + description + "Minimum CPU utilization percentage over the time interval"; + } + leaf cpu-max { + type decimal64 { + fraction-digits 2; + } + description + "Maximum CPU utilization percentage over the time interval"; + } + leaf cpu-average { + type decimal64 { + fraction-digits 2; + } + description + "Average CPU utilization percentage over the time interval"; + } + leaf start-time { + type yang:date-and-time; + description + "Timestamp at which CPU min/max/average statistics computation starts"; + } + leaf end-time { + type yang:date-and-time; + description + "Timestamp at which CPU min/max/average statistics computation ends"; + } + leaf cpu-interval { + type uint32; + units "minutes"; + description + "Time interval over which the min/max/average statistics are computed"; + } + } + + grouping control-process { + description + "Control process information"; + leaf control-process-status { + type string; + description + "Status of the control process"; + } + leaf updated { + type uint64; + description + "Number of seconds since the data has been updated"; + } + container load-average-stats { + description + "Load average statistics"; + uses platform-sw-ios-xe-oper:load-average-stats; + } + container load-avg-minutes { + description + "Load average statistics calculated over a period of time"; + list load-avg-minute { + key "number"; + description + "List of Load averages based on a time frame"; + uses platform-sw-ios-xe-oper:minute; + } + } + container memory-stats { + description + "Memory statistics"; + uses platform-sw-ios-xe-oper:platform-memory-stats; + } + container per-core-stats { + description + "Processor core statistics"; + list per-core-stat { + key "name"; + description + "List of processor cores"; + uses platform-sw-ios-xe-oper:core; + } + } + leaf high-availability-state { + type common-types-ios-xe:high-availability-role; + description + "The location's high availability state"; + } + leaf chassis-state { + type common-types-ios-xe:high-availability-role; + description + "The chassis role status"; + } + } + + grouping core-files { + description + "Core file information"; + leaf filename { + type string; + description + "The core filename"; + } + leaf time { + type yang:date-and-time; + description + "The date of generation"; + } + } + + grouping partition-status-thresholds { + description + "Partition status threshold percents"; + leaf warning-threshold-percent { + type uint8; + units "percent"; + description + "Partition warning threshold value percent"; + } + leaf critical-threshold-percent { + type uint8; + units "percent"; + description + "Partition critical threshold value percent"; + } + } + + grouping partitions { + description + "Partition information"; + leaf name { + type string; + description + "The name of the partition"; + } + leaf total-size { + type uint64; + description + "Total size of the partition in Kilobytes"; + } + leaf used-size { + type uint64; + description + "Size used in Kilobytes"; + } + leaf used-percent { + type uint8; + units "percent"; + description + "Partition used percentage"; + } + leaf disk-status { + type platform-sw-ios-xe-oper:partition-usage-status; + description + "Partition usage status determined by thresholds"; + } + container thresholds { + description + "Partition status threshold percents"; + uses platform-sw-ios-xe-oper:partition-status-thresholds; + } + leaf is-primary { + type boolean; + description + "Boolean indicating whether this is a primary partition"; + } + leaf is-writable { + type boolean; + description + "Boolean indicating whether this is write-able"; + } + list partition-content { + key "full-path"; + description + "Files and folders present under partition"; + uses platform-sw-ios-xe-oper:partitions-content; + } + } + + grouping partitions-content { + description + "List of files and folders within Partition"; + leaf full-path { + type string; + description + "Full path of file"; + } + leaf size { + type uint64; + description + "File size in bytes"; + } + leaf type { + type platform-sw-ios-xe-oper:partition-file-type; + description + "File type of partition entry"; + } + leaf modified-time { + type yang:date-and-time; + description + "File modification time"; + } + } + + grouping image-files { + description + "Image file information"; + leaf full-path { + type string; + description + "The full path of image file"; + } + leaf file-size { + type uint64; + units "bytes"; + description + "File size in units of byte"; + } + leaf sha1sum { + type binary; + description + "The SHA1 sum bytes of the image file"; + } + } + + grouping filesystem { + description + "File system information"; + list partitions { + key "name"; + description + "Information about partitions"; + uses platform-sw-ios-xe-oper:partitions; + } + list core-files { + key "filename"; + description + "Information about core files"; + uses platform-sw-ios-xe-oper:core-files; + } + list image-files { + key "full-path"; + description + "The list of image files"; + uses platform-sw-ios-xe-oper:image-files; + } + } + + grouping process-system-usage { + description + "Per-process usage information"; + leaf pid { + type uint32; + description + "The pid of the process"; + } + leaf name { + type string; + description + "Process name"; + } + leaf total-run-time { + type uint64; + description + "Total run time in seconds"; + } + leaf five-seconds { + type uint64; + description + "Busy percentage in last 5-seconds"; + } + leaf allocated-memory { + type uint64; + description + "Memory allocated to this process in kB"; + } + leaf allocated-memory-percent { + type uint32; + description + "Percentage of memory allocated to this process"; + } + } + + grouping system-usage { + description + "Process system usage information"; + container process-system-usages { + status deprecated; + description + "List of process system usage"; + list process-system-usage { + key "pid"; + description + "Per-process system usage"; + uses platform-sw-ios-xe-oper:process-system-usage; + } + } + } + + grouping process-resource { + description + "Per-process resource usage information"; + leaf index { + type uint32; + description + "Process position in the sorted resource utilization"; + } + leaf pid { + type uint32; + description + "The pid of the process"; + } + leaf name { + type string; + description + "Process name"; + } + leaf total-run-time { + type uint64; + units "seconds"; + description + "Total run time in seconds"; + } + leaf five-seconds { + type uint64; + units "percent"; + description + "Busy percentage in last 5-seconds"; + } + leaf one-min { + type uint64; + units "percent"; + description + "Busy percentage in last 1-minute"; + } + leaf five-min { + type uint64; + units "percent"; + description + "Busy percentage in last 5-minutes"; + } + leaf alloc-mem-pcnt { + type uint32; + units "percent"; + description + "Percentage of memory allocated to this process"; + } + leaf alloc-mem { + type uint64; + units "kilobytes"; + description + "Memory allocated to this process in kilobytes"; + } + } + + grouping system-resource { + description + "System Resources Utilization information"; + list process-cpu { + key "index"; + description + "Per-process CPU usage"; + uses platform-sw-ios-xe-oper:process-resource; + } + list process-mem { + key "index"; + description + "Per-process memory usage"; + uses platform-sw-ios-xe-oper:process-resource; + } + } + + container cisco-platform-software { + config false; + description + "Cisco platform software information"; + container system-usages { + status deprecated; + description + "Platform system usage information"; + list system-usage { + key "fru slot bay chassis"; + description + "The list of process system usage"; + uses common-types-ios-xe:internal-location; + uses platform-sw-ios-xe-oper:system-usage; + } + } + list system-resource { + key "fru slot bay chassis"; + description + "The list of process system resource usage"; + uses common-types-ios-xe:internal-location; + uses platform-sw-ios-xe-oper:system-resource; + } + container control-processes { + description + "Information about control processes"; + list control-process { + key "fru slot bay chassis"; + description + "The list of control processes"; + uses common-types-ios-xe:internal-location; + uses platform-sw-ios-xe-oper:control-process; + } + } + list q-filesystem { + key "fru slot bay chassis"; + description + "Information about the file system"; + uses common-types-ios-xe:internal-location; + uses platform-sw-ios-xe-oper:filesystem; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-platform.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform.yang new file mode 100644 index 000000000..4ca78c164 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-platform.yang @@ -0,0 +1,1102 @@ +module Cisco-IOS-XE-platform { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-platform"; + prefix ios-plt; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Platform Yang model. + Copyright (c) 2016, 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Removed presence for punt-keepalive container + - Added QFP drops threshold value"; + cisco-semver:module-version "5.1.0"; + } + revision 2024-03-01 { + description + "- Add default value for punt-intf + - Add CLI to enable punt-intf + - Change punt-policer + - Change deprecated models to obsolete"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Add default value for disable-kernel-core + - Change platform qos sdwan max-session range"; + cisco-semver:module-version "4.7.0"; + } + revision 2023-07-01 { + description + "- Add CLI to enable Macsec FIPS + - Add CLI to enable platform IPv4/IPv6 reassembly"; + cisco-semver:module-version "4.6.0"; + } + revision 2023-03-01 { + description + "- Add CLI to enable platform FNF + - Add CLI for platform qos sdwan max-session + - Change platform qos sdwan max-session value range"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.4.0"; + } + revision 2022-07-01 { + description + "Added CLI to enable platform dependent mode on sslvpn"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-03-01 { + description + "- Updated bfd configuration"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-07-01 { + description + "- Updated range for leaf cause under punt configuration"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- CRFT platform configuration + - Support crft remote collection command on reload + - Added must in leaf per-ace for match-statistic per-filter"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Flow logging configuration + - Change leaf to list for port-channel-aggregate"; + cisco-semver:module-version "3.2.0"; + } + revision 2020-07-01 { + description + "- Fix punt-policer cause range + - Add platform qos CLI for SDWAN Adaptive-QoS + - Add SDWAN Adaptive-QoS aggressive/normal mode"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-03-01 { + description + "- Added platform inspect match-statistic per-filter + - Fixed typo issue in platform-resource leaf"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added new config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add platform multicast long reacher ethernet + - Added platform crypto throughput levels for newer platforms"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-09 { + description + "Add platform usb disable"; + } + revision 2018-12-07 { + description + "Add missing platform crypto throughput levels"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-24 { + description + "Add additional platform qos cli"; + } + revision 2018-09-05 { + description + "Add support for 'platform hardware throughput crypto' CLI"; + } + revision 2018-08-21 { + description + "Add support for 'platform resource'"; + } + revision 2018-05-17 { + description + "modified platform ipsec control type"; + } + revision 2018-04-06 { + description + "Add support for platform hardware crypto-offload"; + } + revision 2018-03-14 { + description + "Add support for platform ipsec"; + } + revision 2017-11-29 { + description + "Add support for time-source ntp"; + } + revision 2017-06-02 { + description + "Add dependency between qos match-statistics per-filter and per-ace"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-platform-grouping { + leaf atm-cdvt { + description + "Configure platform atm cdvt"; + type boolean; + } + container cce { + description + "Platform specific cce configuration"; + container ogref { + description + "Configure cce object-group reference feature"; + leaf enable { + description + "Enable object-group reference"; + type empty; + } + } + } + leaf cfm { + description + "Configure Multi-NNI CFM feature"; + type empty; + } + container icmp { + description + "Configure platform icmp"; + container rate-limit { + description + "Rate limit of each ICMP types which are generated by data path"; + leaf packet { + description + "Maximum # of packets allowed given a duration"; + type uint32 { + range "0..4294967295"; + } + } + leaf duration { + description + "Duration in seconds (default value is 1 second)"; + type uint32 { + range "0..4294967295"; + } + } + } + } + container inspect { + description + "Platform specific inspect configuration"; + container match-statistics { + description + "Configure match stats"; + leaf per-filter { + description + "Configure per-filter match statistics"; + type empty; + } + } + leaf flow-logging { + description + "Enable flow-logging for Zone-Based Firewall"; + type empty; + } + } + container ip-ports { + description + "Configure Kernel IP ephemeral ports"; + leaf ephemeral-max { + description + "Maximum value for ephemeral ports for IOS"; + type uint16 { + range "49152..65534"; + } + } + } + container macsec { + description + "Platform specific macsec command"; + leaf fips-mode { + description + "enable FIPS mode"; + type empty; + } + } + container bfd { + description + "Platform specific BFD commands"; + leaf disable-offload { + description + "Disable bfd hw offload"; + type empty; + } + leaf allow-svi { + type empty; + } + leaf enable-offload { + type empty; + } + leaf limit-offload { + description + "Limit bfd hw offload session"; + type uint16 { + range "4095..6000"; + } + } + } + leaf bfd-debug-trace { + type uint8; + } + container time-source { + description + "Configure time-source"; + container ntp { + description + "Configure ntp"; + presence "true"; + leaf time-scale { + description + "Configure ntp"; + type enumeration { + enum epoch-1900; + enum epoch-1970; + } + } + } + } + container console { + description + "Direct IOS output to console"; + presence "true"; + leaf output { + type enumeration { + enum auto; + enum serial; + enum virtual; + } + } + } + container enable { + list controller { + key "SONET"; + leaf SONET { + description + "SONET"; + type string; + } + } + } + container external-alarm { + leaf line { + type uint32; + } + leaf alarm { + type ios:logging-level-type; + } + } + container hardware { + description + "Configure platform hardware"; + container lite { + leaf license { + type enumeration { + enum enable; + } + } + } + container throughput { + description + "Configure throughput"; + choice throughput-choice { + case throughput-disable { + leaf disable { + description + "Disable throughput upgrade licenses"; + type enumeration { + enum internal-license; + } + } + } + case throughput-level { + container level { + description + "Configure the current traffic throughput level"; + leaf kbps { + type enumeration { + enum 10000; + enum 25000; + enum 35000; + enum 50000; + enum 75000; + enum 100000; + enum 150000; + enum 200000; + enum 250000; + enum 300000; + enum 400000; + enum 500000; + enum 1000000; + enum 1500000; + enum 2000000; + enum 3000000; + } + } + leaf MB { + description + "Configure the current traffic throughput level in mbps"; + type enumeration { + enum 10; + enum 100; + enum 1000; + enum 10000; + enum 250; + enum 2500; + enum 50; + enum 500; + enum 5000; + } + } + leaf eval-only { + description + "Use only evaluation license"; + type empty; + } + } + } + case throughput-crypto { + leaf crypto { + description + "Configure crypto throughput"; + type union { + type enumeration { + enum 50000; + enum 150000; + enum 250000; + enum unthrottled; + enum 10M; + enum 20M; + enum 50M; + enum 100M; + enum 250M; + enum 500M; + enum 1G; + enum 2.5G; + enum 5G; + enum 10G; + enum 25G; + enum 50G; + enum T0; + enum T1; + enum T2; + enum T3; + } + } + } + } + } + } + container crypto-offload { + description + "Configure crypto offload"; + leaf enable { + description + "Enable crypto offload"; + type empty; + } + } + } + container ipsec { + description + "Platform specific ipsec command"; + leaf arlog-supress { + description + "supress anti-replay error log"; + type empty; + } + leaf fips-mode { + description + "enable FIPS mode"; + type empty; + } + leaf gdoi { + description + "gdoi"; + type enumeration { + enum accept-both; + } + } + container llq { + description + "config LLQ"; + leaf qos-group { + description + "config LLQ QoS Group"; + type uint8 { + range "1..99"; + } + } + } + container reassemble { + description + "reassemble packets"; + leaf transit { + description + "transit IPSEC packets"; + type empty; + } + } + leaf flexvpn-bypass-tcam { + description + " bypass TCAM for FlexVPN"; + type empty; + } + leaf modexp-throttle-window { + description + " set modexp throttle window"; + type uint8 { + range "0..32"; + } + } + leaf control-plane { + description + "allocate extra crypto cores for control plane"; + type enumeration { + enum heavy; + enum medium; + } + } + } + container l2vpn { + description + "Configure platform l2vpn global configuration"; + leaf hdlc-pass-through { + description + "l2vpn HDLC force pass through"; + type empty; + } + container statistics { + description + "l2vpn statistics"; + leaf enable { + description + "enable the stats"; + type empty; + } + } + } + container multicast { + description + "Configure multicast"; + leaf lre { + description + "multicast long reacher ethernet"; + type enumeration { + enum on; + enum off; + } + } + container mgre { + description + "Multi-point GRE tunnel"; + leaf injection { + description + "Enable packet injection"; + type empty; + } + } + container oce { + description + "multicast oce"; + container flag { + description + "multicast oce flag"; + leaf suppress { + description + "Enable oce flag suppress"; + type empty; + } + } + } + } + container qfp { + description + "Quantum Flow Processor"; + presence "true"; + container utilization { + description + "Utilization"; + container monitor { + description + "monitor"; + leaf load { + description + "load"; + type uint16 { + range "50..99"; + } + default "80"; + } + } + } + container drops { + description + "Drop configurations on QFP"; + container threshold { + description + "warning threshold for QFP drops"; + list per-cause { + description + "warning threshold for per cause QFP drops"; + key "drop-Id"; + leaf drop-Id { + type uint16 { + range "0..1024"; + } + } + leaf thresholds { + description + "Drop threshold in packets per second (pps)"; + type uint32 { + range "0..2147483647"; + } + } + } + leaf total { + description + "warning threshold for total QFP drops"; + type uint32 { + range "0..2147483647"; + } + } + } + } + } + container punt-keepalive { + description + "punt-keepalive messages"; + leaf disable-kernel-core { + description + "Disable IOSXE kernel core generation for keepalive fault"; + type boolean; + default "true"; + } + container settings { + description + "Set the keepalive parameters"; + leaf fatal-count { + description + "Set punt-inject keepalive fatal count"; + type uint16 { + range "15..60"; + } + } + leaf transmit-interval { + description + "Set punt-inject keepalive transmit interval"; + type uint16 { + range "2..30"; + } + } + leaf warning-count { + description + "Set punt-inject keepalive warning count"; + type uint16 { + range "10..60"; + } + } + } + } + container punt-intf { + description + "Configures punt interface"; + container per-cause { + description + "Configures per interface per cause"; + leaf rate { + description + "Committed Information Rate"; + type uint32 { + range "0..1000000"; + } + default "0"; + } + } + leaf rate { + description + "Committed Information Rate"; + type uint32 { + range "0..1000000"; + } + default "0"; + } + } + container punt-policer { + description + "Configures punt policers"; + list punt-num-v2 { + description + "Configure punt cause to be policed"; + if-feature "ios-features:punt-num"; + key "cause"; + leaf cause { + description + "Punt Cause Name"; + type ios-types:punt-cause-type; + } + container normal { + leaf normal-max-rate { + description + "Punt rate (pps) for normal priority"; + type uint16 { + range "10..32000"; + } + } + leaf normal-burst { + description + "Burst size (packets) for normal priority"; + must '(../normal-max-rate)' { + error-message "max-rate must be configured"; + } + type uint32 { + range "1..100000000"; + } + } + } + container high-config { + leaf high-max-rate { + description + "Punt rate (pps) for high priority"; + must '(../high)' { + error-message "high must be configured"; + } + type uint16 { + range "10..32000"; + } + } + leaf high-burst { + description + "Burst size (packets) for high priority"; + must '(../high-max-rate)' { + error-message "max-rate must be configured"; + } + type uint32 { + range "1..100000000"; + } + } + leaf high { + description + "High priority traffic only"; + must '(../high-max-rate)' { + error-message "rate must be configured"; + } + type empty; + } + } + } + list punt-num { + if-feature "ios-features:punt-num"; + status deprecated; + description + "Configure punt cause to be policed"; + key "cause"; + leaf cause { + status deprecated; + type uint8 { + range "1..164"; + } + } + leaf max-rate { + status deprecated; + type uint16 { + range "10..32000"; + } + } + leaf high { + status deprecated; + description + "High priority traffic only"; + type empty; + } + } + } + container qos { + description + "Platform specific qos configuration"; + leaf cac-policer { + description + "packet per second"; + type uint16 { + range "1..10000"; + } + } + leaf count-l3-length { + description + "Configure count l3 length"; + type empty; + } + leaf marker-statistics { + description + "Configure marking statistics"; + type empty; + } + container match-statistics { + description + "Configure match stats"; + leaf per-filter { + description + "Configure per-filter match statistics"; + type empty; + } + leaf per-ace { + description + "Configure per-ace match statistics (per-filter must be enabled first)"; + must '../per-filter' { + error-message "Configure per-ace match statistics (per-filter must be enabled first)"; + } + type empty; + } + } + leaf optimize-rate-ratios { + description + "Configure optimize rate ratios"; + type empty; + } + leaf performance-monitor { + description + "Configure performance-monitor statistics"; + type empty; + } + list port-channel-aggregate-config { + description + "port-channel interface number"; + key "id"; + leaf id { + type uint8 { + range "1..64"; + } + } + } + leaf port-channel-aggregate { + status obsolete; + description + "port-channel interface number (OBSOLETE)"; + type uint8 { + range "1..64"; + } + } + leaf punt-path-matching { + description + "Configure punt-path matching on input interface (PPPoE-Discovery, PPPoE-PPP-LCP)"; + type empty; + } + container sdwan { + description + "Configure SDWAN QoS parameters"; + container adapt { + description + "Configure SDWAN Adaptive-QoS parameters"; + leaf spoke-overlay-usage { + description + "Configure SDWAN Adaptive-QoS overlay usage threshold for spoke"; + type uint8 { + range "1..100"; + } + } + leaf wan-loss-permillage { + description + "Configure SDWAN Adaptive-QoS WAN loss threshold"; + type uint16 { + range "1..999"; + } + } + leaf mode { + description + "Configure SDWAN Adaptive-QoS mode"; + type enumeration { + enum aggressive; + enum normal; + } + } + } + leaf max-session { + description + "Configure maximum SDWAN sessions to which QoS is applied"; + type uint32 { + range "100..10000"; + } + } + } + } + container fnf { + description + "Platform specific FNF configuration"; + leaf ager-short-interval { + description + "FNF age short interval"; + type uint32 { + range "1..1000"; + } + } + leaf ager-inspected-flows { + description + "FNF age short inspected flows"; + type uint32 { + range "10..1000000"; + } + } + leaf ager-continue-inspected { + description + "FNF age continue inspected flows"; + type empty; + } + leaf ager-export-flows { + description + "FNF age normal aging export flows"; + type uint32 { + range "10..1000000"; + } + } + leaf ager-dis-emergency-aged { + description + "FNF age disable emergency aging"; + type empty; + } + } + container reload { + description + "Platform specific reload command"; + leaf immediate { + description + "Immediately stop forwarding traffic"; + type empty; + } + } + leaf resource { + description + "Select resource template"; + type enumeration { + enum app-heavy; + enum control-plane-extra-heavy; + enum control-plane-heavy; + enum data-plane-heavy; + enum data-plane-normal; + enum service-plane-heavy; + enum service-plane-medium; + } + } + leaf shell { + description + "Control platform shell access command availability"; + type boolean; + } + leaf tcam-parity-error { + type enumeration { + enum enable; + enum disable; + } + } + container urpf { + description + "Platform specific urpf commands"; + container loose { + description + "uRPF loose mode"; + container counter { + description + "drop counter"; + container ipv4 { + description + "ipv4 protocol"; + container supress { + description + "supress drop"; + leaf asymmetric_only { + description + "it works only for asymmetric traffic"; + type empty; + } + } + } + container ipv6 { + description + "ipv6 protocol"; + container supress { + description + "supress drop"; + leaf asymmetric_only { + description + "it works only for asymmetric traffic"; + type empty; + } + } + } + } + } + } + container tcam-threshold { + leaf alarm-frequency { + type uint32; + } + } + container usb { + description + "Disable USB ports"; + leaf disable { + description + "Disable USB ports"; + type empty; + } + } + container trace { + list runtime { + key "slot bay"; + leaf slot { + type uint8; + } + leaf bay { + type uint8; + } + leaf process { + type enumeration { + enum iomd; + } + } + leaf module { + type enumeration { + enum all-modules; + } + } + leaf level { + type enumeration { + enum info; + } + } + } + } + container sslvpn { + description + "Command to enable platform dependent mode on sslvpn"; + leaf use-pd { + description + "Command to enable platform dependent mode on sslvpn"; + type empty; + } + } + container crft { + description + "Crimson function tracking operations"; + leaf collect-on-reload { + description + "Collect CRFT native data on reload"; + type empty; + } + leaf path { + description + "Remote Path for TFTP|FTP|HTTP"; + type string { + length "1..256"; + } + } + leaf tag { + description + "TAG, user defined alphanumeric tag for reload archive name"; + type string { + length "1..128"; + } + } + leaf vrf { + description + "VRF, forwarding, management or localhost are the only options"; + type string { + length "1..32"; + } + must ".='management' or .='forwarding' or .='localhost'" { + error-message "VRF options include forwarding, management or localhost only"; + } + } + } + container ipreass { + description + "Platform specific IP reassembly commands"; + leaf boost-mode { + description + "BOOST mode"; + type empty; + } + } + } + + leaf flexvpn-bypass-tcam { + description + " bypass TCAM for FlexVPN"; + type empty; + } + leaf modexp-throttle-window { + description + " set modexp throttle window"; + type uint8 { + range "0..32"; + } + } + + grouping config-shell-grouping { + container shell { + description + "Configure shell command"; + list trigger { + description + "Set shell trigger configuration"; + key "word"; + leaf word { + type string; + } + leaf line { + type string; + } + } + } + } + + augment "/ios:native/ios:platform" { + uses config-platform-grouping; + } + + augment "/ios:native" { + uses config-shell-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp-deviation.yang new file mode 100644 index 000000000..8aeba9eaa --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp-deviation.yang @@ -0,0 +1,31 @@ +module Cisco-IOS-XE-pnp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pnp-deviation"; + prefix ios-pnp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-pnp { + prefix ios-pnp; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native PNP Deviation YANG module for IOS + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + deviation "/ios:native/ios-pnp:pnp/ios-pnp:profile/ios-pnp:transport/ios-pnp:https/ios-pnp:ipv4/ios-pnp:port" { + deviate add { + default "443"; + } + } + + deviation "/ios:native/ios-pnp:pnp/ios-pnp:profile/ios-pnp:transport/ios-pnp:http/ios-pnp:ipv4/ios-pnp:port" { + deviate add { + default "80"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp.yang new file mode 100644 index 000000000..16185fecf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pnp.yang @@ -0,0 +1,221 @@ +module Cisco-IOS-XE-pnp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pnp"; + prefix ios-pnp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE PnP Yang model. + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added tailf annotation for config-pnp-transport-grouping"; + cisco-semver:module-version "1.3.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-11-01 { + description + "Added model for PnP under interface"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Added model for PnP transport http"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-08-13 { + description + "Added model for PnP transport https"; + } + revision 2018-07-10 { + description + "Initial revision"; + } + + grouping config-pnp-transport-port-grouping { + leaf port { + description + "port number"; + type uint16 { + range "1..65535"; + } + } + } + + grouping config-pnp-transport-localcert-grouping { + leaf localcert { + description + "Local certificate"; + type string; + } + } + + grouping config-pnp-transport-remotecert-grouping { + leaf remotecert { + description + "Remote certificate validation"; + type string; + } + } + + grouping config-pnp-transport-grouping { + container host { + description + "hostname of the server"; + leaf host-name { + description + "Hostname of the server"; + type string; + } + uses config-pnp-transport-port-grouping; + uses config-pnp-transport-localcert-grouping; + uses config-pnp-transport-remotecert-grouping; + } + container ipv4 { + description + "ipv4 address"; + leaf ipv4-address { + description + "IPv4 address of the server"; + type inet:ipv4-address; + } + uses config-pnp-transport-port-grouping; + uses config-pnp-transport-localcert-grouping; + uses config-pnp-transport-remotecert-grouping; + } + container ipv6 { + description + "IPv6 address of the server"; + leaf ipv6-address { + description + "IPv6 address of the server"; + type inet:ipv6-address; + } + uses config-pnp-transport-port-grouping; + uses config-pnp-transport-localcert-grouping; + uses config-pnp-transport-remotecert-grouping; + } + } + + grouping config-pnp-interface-grouping { + container pnp { + description + "Configure PNP"; + leaf startup-vlan { + description + "PNP startup-vlan"; + type uint16 { + range "2..4094"; + } + } + } + } + + grouping config-pnp-grouping { + container pnp { + description + "Configure PNP"; + leaf startup-vlan { + description + "PNP startup-vlan"; + type uint16 { + range "2..4094"; + } + } + list profile { + description + "PNP profile"; + key "name"; + leaf name { + type string; + } + container transport { + description + "The transport to use"; + container https { + description + "Use https (encrypted) transport"; + uses config-pnp-transport-grouping; + } + container http { + description + "Use http (plain text) transport"; + uses config-pnp-transport-grouping; + } + } + } + } + } + + augment "/ios:native" { + uses config-pnp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-pnp-interface-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-pnp-interface-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-poch-lb-switch-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-poch-lb-switch-deviation.yang new file mode 100644 index 000000000..28f7c6edb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-poch-lb-switch-deviation.yang @@ -0,0 +1,32 @@ +module Cisco-IOS-XE-poch-lb-switch-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-poch-lb-switch-deviation"; + prefix ios-poch-lb-switch-; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2020-12-21 { + description + "Added port-channel lb switch deviation"; + } + + deviation "/ios:native/ios:port-channel/ios-eth:load-balance-hash-algo" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-health-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-health-oper.yang new file mode 100644 index 000000000..11cb24eaf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-health-oper.yang @@ -0,0 +1,878 @@ +module Cisco-IOS-XE-poe-health-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-poe-health-oper"; + prefix poe-health-xe; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring power over ethernet feature in a Network Element. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef poe-state-type { + type enumeration { + enum poe-state-none { + value 0; + description + "None indicates the initial state of the port"; + } + enum poe-state-shut { + value 1; + description + "Port is in shut down state"; + } + enum poe-state-detecting { + value 2; + description + "Port is trying to detect a PD"; + } + enum poe-state-detected { + value 3; + description + "Port has detected PD"; + } + enum poe-state-powering { + value 4; + description + "Port is trying to power up the PD"; + } + enum poe-state-powered { + value 5; + description + "Port has powered up the PD"; + } + enum poe-state-fault { + value 6; + description + "Port has encountered a fault"; + } + enum poe-state-sleep { + value 7; + description + "PoE state is sleep"; + } + enum poe-state-spare-detecting { + value 8; + description + "Port is trying to detect PD on spare pair"; + } + enum poe-state-spare-powering { + value 9; + description + "Port is powering up the spare pair"; + } + enum poe-state-spare-powered { + value 10; + description + "Port has powered up the spare pair"; + } + } + description + "State of the PoE port"; + } + + typedef poe-class-type { + type enumeration { + enum poe-class-none { + value 0; + description + "PoE initial class value"; + } + enum poe-class-1 { + value 1; + description + "PoE class type is 1"; + } + enum poe-class-2 { + value 2; + description + "PoE class type is 2"; + } + enum poe-class-3 { + value 3; + description + "PoE class type is 3"; + } + enum poe-class-4 { + value 4; + description + "PoE class type is 4"; + } + enum poe-class-undefined { + value 5; + description + "PoE class type is undefined"; + } + enum poe-class-0 { + value 6; + description + "PoE class type is 0"; + } + enum poe-class-current-limit { + value 7; + description + "Error condition indicating invalid class"; + } + enum poe-class-5 { + value 8; + description + "PoE class type is 5 "; + } + enum poe-class-6 { + value 9; + description + "PoE class type is 6"; + } + enum poe-class-7 { + value 10; + description + "PoE class type is 7"; + } + enum poe-class-8 { + value 11; + description + "PoE class type is 8"; + } + enum poe-class-4p { + value 12; + description + "PoE class type is class 4 type 1"; + } + enum poe-class-5ds { + value 13; + description + "PoE class 5 dual signature"; + } + enum poe-class-rsv { + value 14; + description + "PoE class type is reserved"; + } + enum poe-class-mismatch { + value 15; + description + "PoE class type is mismatch"; + } + enum poe-class-null { + value 16; + description + "PoE class type is NULL"; + } + enum poe-class-ds { + value 17; + description + "PoE class type is dual signature"; + } + } + description + "Type of PoE class"; + } + + typedef poe-port-event-type { + type enumeration { + enum poe-event-port-none { + value 0; + description + "PoE event is none"; + } + enum poe-event-port-shut { + value 1; + description + "PoE event is port shut"; + } + enum poe-event-port-auto { + value 2; + description + "PoE event is port auto"; + } + enum poe-event-pd-detected { + value 3; + description + "PoE event is PD detected"; + } + enum poe-event-pwr-on { + value 4; + description + "PoE event is power on"; + } + enum poe-event-pwr-good { + value 5; + description + "PoE event is power good"; + } + enum poe-event-pcut-icut { + value 6; + description + "PoE event is power cutoff threshold "; + } + enum poe-event-pd-removal { + value 7; + description + "PoE event is PD removal"; + } + enum poe-event-tstart-fault { + value 8; + description + "PoE event is start fault"; + } + enum poe-event-class-over { + value 9; + description + "PoE event is class over current"; + } + enum poe-class-pgood-timeout { + value 10; + description + "PoE event is power good timeout"; + } + enum poe-event-imax-fault { + value 11; + description + "PoE event is over current fault"; + } + enum poe-event-periodic-poll { + value 12; + description + "PoE event is periodic poll"; + } + enum poe-event-pwr-police-overdrawn { + value 13; + description + "PoE event is power police current overdrawn"; + } + enum poe-event-pwr-police-enable { + value 14; + description + "PoE event is power police enable"; + } + enum poe-event-pwr-police-disable { + value 15; + description + "PoE event is power police disable"; + } + enum poe-event-pwr-police { + value 16; + description + "PoE event is power police"; + } + enum poe-event-mosfet-fault { + value 17; + description + "PoE event is MOSFET fault"; + } + enum poe-event-oss { + value 18; + description + "PoE event is OSS"; + } + enum poe-event-spare-pair-pwr-on { + value 19; + description + "PoE event is spare pair power on"; + } + enum poe-event-spare-pair-pwr-good { + value 20; + description + "PoE event is spare pair power good"; + } + enum poe-event-spare-pair-pwr-off { + value 21; + description + "PoE event is spare pair power off"; + } + enum poe-event-spare-pair-tstart { + value 22; + description + "PoE event is spare pair fault"; + } + enum poe-event-spare-pair-imax-fault { + value 23; + description + "PoE event is spare pair max fault"; + } + enum poe-event-spare-pair-pd-removal { + value 24; + description + "PoE event is spare pair PD removal"; + } + enum poe-event-spare-pair-pwr-gd-timeout { + value 25; + description + "PoE event is spare pair power good timeout"; + } + enum poe-event-spare-pair-det-short { + value 26; + description + "PoE event is spare pair detected short circuit"; + } + enum poe-event-spare-pair-det-timeout { + value 27; + description + "PoE event is spare pair detection timeout"; + } + enum poe-event-det-short { + value 28; + description + "PoE event is detected short circuit"; + } + enum poe-event-both-shut { + value 29; + description + "PoE event is both pair shut"; + } + enum poe-event-spare-pair-shut { + value 30; + description + "PoE event is spare pair shut"; + } + enum poe-event-spare-pair-auto { + value 31; + description + "PoE event is spare pair auto"; + } + enum poe-event-spare-pair-pd-detected { + value 32; + description + "PoE event is spare pair PD detected"; + } + enum poe-event-spare-pair-pcut-icut { + value 33; + description + "PoE event is spare pair power cutoff threshold"; + } + enum poe-event-spare-pair-class-over { + value 34; + description + "PoE event is spare pair class over"; + } + enum poe-event-spare-pair-mosfet-fault { + value 35; + description + "PoE event is spare pair MOSFET fault"; + } + enum poe-event-priority-fault { + value 36; + description + "PoE event is priority fault"; + } + enum poe-event-spare-pair-priority-fault { + value 37; + description + "PoE event is spare pair priority fault"; + } + enum poe-event-port-intrnl-cmd { + value 38; + description + "PoE event is port internal command"; + } + enum poe-event-port-intrnl-intr { + value 39; + description + "PoE event is port internal interrupt"; + } + enum poe-event-port-intrnl-intr-cls { + value 40; + description + "PoE event is port internal interrupt class"; + } + enum poe-event-spare-pair-intrnl-cmd { + value 41; + description + "PoE event is spare pair internal command"; + } + enum poe-event-spare-pair-intrnl-intr { + value 42; + description + "PoE event is spare pair internal interrupt"; + } + enum poe-event-spare-pair-intrnl-intr-cls { + value 43; + description + "PoE event is spare pair internal interrupt class"; + } + enum poe-event-spare-pair-pwr-plc-ovrdrn { + value 44; + description + "PoE event is spare pair power police overdrawn"; + } + enum poe-event-update-cls-det { + value 45; + description + "PoE event is update class detection"; + } + enum poe-event-update-cfg { + value 46; + description + "PoE event is update configuration"; + } + } + description + "PoE event type of the device"; + } + + typedef poe-detect-status { + type enumeration { + enum poe-detect-status-unknown { + value 0; + description + "PoE detected status is unknown"; + } + enum poe-detect-status-short-circuit { + value 1; + description + "PoE detected status is short circuit"; + } + enum poe-detect-status-reserved { + value 2; + description + "PoE detected status is reserved"; + } + enum poe-detect-status-too-low { + value 3; + description + "PoE detected status is too low"; + } + enum poe-detect-status-valid { + value 4; + description + "PoE detected status is valid"; + } + enum poe-detect-status-too-high { + value 5; + description + "PoE detected status is too high"; + } + enum poe-detect-status-open-circuit { + value 6; + description + "PoE detected status is open circuit"; + } + enum poe-detect-status-detected { + value 7; + description + "PoE detected status is detected"; + } + enum poe-detect-status-mosfet-fault { + value 8; + description + "PoE detected status is MOSFET fault"; + } + } + description + "PoE detected status"; + } + + typedef poe-port-priority { + type enumeration { + enum poe-priority-0 { + value 0; + description + "PoE port priority is 0"; + } + enum poe-priority-1 { + value 1; + description + "PoE port priority is 1"; + } + enum poe-priority-2 { + value 2; + description + "PoE port priority is 2"; + } + enum poe-priority-3 { + value 3; + description + "PoE port priority is 3"; + } + enum poe-priority-4 { + value 4; + description + "PoE port priority is 4"; + } + enum poe-priority-5 { + value 5; + description + "PoE port priority is 5"; + } + enum poe-priority-6 { + value 6; + description + "PoE port priority is 6"; + } + enum poe-priority-7 { + value 7; + description + "PoE port priority is 7"; + } + } + description + "Priority of the port"; + } + + grouping pair-info { + description + "PoE per pair information "; + leaf consumed-power { + type uint32; + description + "Power device consumed power "; + } + leaf pcut-icut { + type uint32; + description + "Power cutoff threshold information"; + } + leaf capacitance { + type uint8; + description + "Capacitance measured on the pair-set"; + } + leaf resistance { + type uint8; + description + "Resistance measured on the pair-set"; + } + leaf detect-status { + type uint8; + description + "Detect status on the pair-set"; + } + leaf class { + type poe-health-xe:poe-class-type; + description + "Class on the pair-set"; + } + leaf assigned-class { + type poe-health-xe:poe-class-type; + description + "Assigned class on the pair-set"; + } + leaf high-power { + type uint8; + description + "High power config on the pair-set"; + } + leaf pd-detect-status { + type poe-health-xe:poe-detect-status; + description + "Pair-set detect status"; + } + } + + grouping poe-meta { + description + "PoE meta information of the port"; + leaf min-current { + type uint32; + description + "Minimum current drawn by the port"; + } + leaf max-current { + type uint32; + description + "Maximum current drawn by the port"; + } + leaf poe-ha-cfg { + type uint8; + description + "Fast PoE configuration"; + } + leaf perpatul-poe-cfg { + type uint8; + description + "Perpetual PoE configuration"; + } + leaf four-pair-force { + type uint8; + description + "Four pair force configuration"; + } + leaf police-cfg { + type uint8; + description + "Police configuration"; + } + leaf police-action { + type uint8; + description + "Police action type"; + } + leaf port-shutdown-cnt { + type uint16; + description + "Port shutdown count"; + } + leaf mosfet-fault-cnt { + type uint16; + description + "MOSFET fault count"; + } + leaf over-tmp-cnt { + type uint16; + description + "Over temperature count"; + } + leaf internal-err-cnt { + type uint16; + description + "Internal error count"; + } + leaf poe-shutdown-cnt { + type uint16; + description + "PoE shutdown count"; + } + leaf poe-detected-cnt { + type uint16; + description + "PoE detected count"; + } + leaf tstart-fault-cnt { + type uint16; + description + "Start fault count"; + } + leaf imax-fault-cnt { + type uint16; + description + "Over current fault count"; + } + leaf spare-internal-err-cnt { + type uint16; + description + "Spare pair internal error count"; + } + leaf spare-poe-shutdown-cnt { + type uint16; + description + "Spare pair PoE shutdown count"; + } + leaf spare-poe-detected-cnt { + type uint16; + description + "Spare pair PoE detected count"; + } + leaf spare-tstart-fault-cnt { + type uint16; + description + "Spare pair start fault count"; + } + leaf spare-imax-fault-cnt { + type uint16; + description + "Spare pair over current fault"; + } + } + + grouping port-health { + description + " PoE port operational data "; + leaf index { + type uint8; + description + "Index of the device"; + } + leaf time-sec { + type uint64; + description + "Time in seconds"; + } + leaf time-usec { + type uint32; + description + "Time in micro seconds"; + } + leaf port-state { + type poe-health-xe:poe-state-type; + description + "Port state of the device"; + } + leaf port-event { + type poe-health-xe:poe-port-event-type; + description + "Port events of the device"; + } + leaf is-cisco-pd { + type uint8; + description + "The device connected is a cisco PD or not"; + } + leaf conn-chk { + type uint8; + description + "Connection check of the device"; + } + leaf port-priority { + type uint8; + description + "Port priority of the device"; + } + leaf port-voltage { + type uint64; + description + "Port voltage of the device"; + } + leaf four-pair-pcut { + type uint32; + description + "Four pair cut"; + } + container signal-pair-info { + description + "Signal pair information of the device"; + uses poe-health-xe:pair-info; + } + container spare-pair-info { + description + "Spare pair information of the device"; + uses poe-health-xe:pair-info; + } + container poe-meta-data { + description + "PoE meta data information"; + uses poe-health-xe:poe-meta; + } + leaf event-time { + type yang:date-and-time; + description + "Records the time when event occurs"; + } + leaf is-a-cisco-pd { + type boolean; + description + "The device connected is a cisco PD or not"; + } + leaf pd-port-priority { + type poe-health-xe:poe-port-priority; + description + "Port priority information of the PD connected"; + } + } + + grouping health-history { + description + "Health history of port"; + leaf port-num { + type uint32; + description + "PoE Port number"; + } + leaf count { + type uint8; + description + "Number of events tracked on the port"; + } + leaf current-index { + type uint8; + description + "Current index in the circular buffer"; + } + list port-health { + key "index"; + description + "PoE port operational data"; + uses poe-health-xe:port-health; + } + } + + grouping poe-global-info { + description + "Global PoE related info table "; + leaf switch-num { + type uint8; + description + "Switch or linecard number"; + } + leaf ieee-rev { + type uint8; + description + "Ieee revision of switch or linecard"; + } + leaf vendor-id { + type uint8; + description + "PSE vendor ID "; + } + leaf pse-fw-ver { + type uint8; + description + "Power source equipment firmware version"; + } + leaf device-id { + type uint8; + description + "PSE device ID"; + } + leaf fpga-sw-ver { + type uint16; + description + "Field programmable gate array software version"; + } + leaf fpga-bootloader-ver { + type uint16; + description + "Field programmable gate array boot loader version"; + } + } + + container poe-health-oper-data { + config false; + description + "PoE health status information"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list poe-global { + key "switch-num"; + description + "PoE global data"; + uses poe-health-xe:poe-global-info; + } + list poe-port { + key "port-num"; + description + "PoE port details"; + uses poe-health-xe:health-history; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-oper.yang new file mode 100644 index 000000000..609b8a9da --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-poe-oper.yang @@ -0,0 +1,2332 @@ +module Cisco-IOS-XE-poe-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-poe-oper"; + prefix poe-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring power over ethernet feature in a Network Element. + Copyright (c) 2016-2021, 2023,2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Extended PoE data ethernet module with energy consumed in last hour"; + reference + "1.13.0"; + cisco-semver:module-version "1.13.0"; + } + revision 2024-03-01 { + description + "Extended PoE module with 802.3 BT mode reloading pending"; + reference + "1.12.0"; + cisco-semver:module-version "1.12.0"; + } + revision 2023-07-01 { + description + "Extended PoE ethernet with device tagging"; + reference + "1.11.0"; + cisco-semver:module-version "1.11.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.10.0"; + cisco-semver:module-version "1.10.0"; + } + revision 2022-07-01 { + description + "Extended PoE data ethernet module with power consumed per day"; + reference + "1.9.0"; + cisco-semver:module-version "1.9.0"; + } + revision 2022-03-01 { + description + "Extended PoE data ethernet module with powered device power state information"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2021-11-01 { + description + "Extended PoE module with total power consumption"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2021-07-01 { + description + "-Extended POE module with the module type and interface maximum power"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-03-01 { + description + "-Extended ilpower pair detail with oper state of the pair + -Extended POE module with the free, used and total port count"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-07-01 { + description + "Extended PoE port data with module number and chassis number"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-11-01 { + description + "Enhanced and re-structured the PoE operational data with layer 2 + power-negotiation data and information relevant to each pair"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-11 { + description + "Extended PoE model by adding PoE module/port/stack information"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-02-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ilpower-pd-class { + type enumeration { + enum poe-null { + value 0; + description + "Power class not available"; + } + enum poe-unknown { + value 1; + description + "Power class unknown"; + } + enum poe-cisco { + value 2; + description + "Power class Cisco"; + } + enum poe-ieee0 { + value 3; + description + "IEEE power class 0"; + } + enum poe-ieee1 { + value 4; + description + "IEEE power class 1"; + } + enum poe-ieee2 { + value 5; + description + "IEEE power class 2"; + } + enum poe-ieee3 { + value 6; + description + "IEEE power class 3"; + } + enum poe-ieee4 { + value 7; + description + "IEEE power class 4"; + } + enum poe-ieee5 { + value 8; + description + "IEEE power class 5"; + } + enum poe-ieee-unknown-class { + value 9; + description + "IEEE power class unknown"; + } + } + description + "Name of the power class"; + } + + typedef ilpower-device-state { + type enumeration { + enum attached-ok { + value 0; + description + "Device state is attached-ok"; + } + enum attached-faulty { + value 1; + description + "Device state is attached-faulty"; + } + enum detached { + value 2; + description + "Device state is detached"; + } + } + description + "State of the power device"; + } + + typedef ilpower-pd-discovery-protocol { + type enumeration { + enum discovery-unknown { + value 0; + description + "Discovery protocol is unknown"; + } + enum discovery-invalid { + value 1; + description + "Discovery protocol is invalid"; + } + enum discovery-off { + value 2; + description + "Discovery protocol is off"; + } + enum discovery-ieee { + value 3; + description + "Discovery protocol is IEEE"; + } + enum discovery-cisco { + value 4; + description + "Discovery protocol is Cisco"; + } + enum discovery-cisco-ieee { + value 5; + description + "Discovery protocol is Cisco and IEEE"; + } + } + description + "Discovery protocol of the power device"; + } + + typedef poe-lldp-power-type { + type enumeration { + enum type-two-pse { + value 0; + description + "LLDP power source equipment type is two"; + } + enum type-two-pd { + value 1; + description + "LLDP powered device type is two"; + } + enum type-one-pse { + value 2; + description + "LLDP power source equipment type is one"; + } + enum type-one-pd { + value 3; + description + "LLDP powered device type is one"; + } + } + description + "lldp power type"; + } + + typedef poe-lldp-power-source { + type enumeration { + enum power-source-unknown { + value 0; + description + "Source is unknown"; + } + enum power-source-pse-primary { + value 1; + description + "Source is primary power source equipment"; + } + enum power-source-pd-pse { + value 2; + description + "Source is power device and power source equipment"; + } + enum power-source-pse-backup { + value 3; + description + "Source is backup power source equipment"; + } + enum power-source-pd-reserved { + value 4; + description + "Source is reserved power device"; + } + enum power-source-pse-reserved { + value 5; + description + "Source is reserved power source equipment"; + } + enum power-source-pd-pse-and-local { + value 6; + description + "Source is power device,power source equipment and local"; + } + } + description + "LLDP power source"; + } + + typedef poe-lldp-power-priority { + type enumeration { + enum power-priority-unknown { + value 0; + description + "LLDP power priority is unknown"; + } + enum power-priority-critical { + value 1; + description + "LLDP power priority is critical"; + } + enum power-priority-high { + value 2; + description + "LLDP power priority is high"; + } + enum power-priority-low { + value 3; + description + "LLDP power priority is low"; + } + } + description + "LLDP power priority"; + } + + typedef power-state { + type enumeration { + enum power-status-null { + value 0; + description + "Device power state is not available"; + } + enum power-status-ok { + value 1; + description + "Device power state is ok"; + } + enum power-status-deny { + value 2; + description + "Device power state is deny"; + } + enum power-status-off { + value 3; + description + "Device power state is off"; + } + } + description + "Device power state"; + } + + typedef poe-upoe-cmd-mode { + type enumeration { + enum upoe-mode-auto { + value 0; + description + "Cisco Universal Power Over Ethernet mode is auto"; + } + enum upoe-mode-forced { + value 1; + description + "Cisco Universal Power Over Ethernet mode is forced"; + } + enum upoe-mode-diag { + value 2; + description + "Cisco Universal Power Over Ethernet mode is diag"; + } + } + description + "Upoe mode"; + } + + typedef ilpower-pd-power-state { + type enumeration { + enum pd-power-off { + value 0; + description + "Inline powered device power state is off"; + } + enum pd-power-on { + value 1; + description + "Inline powered device power state is on"; + } + enum pd-power-faulty { + value 2; + description + "Inline powered device power state is faulty"; + } + enum pd-power-deny { + value 3; + description + "Inline powered device power state is deny"; + } + enum pd-power-overdrawn { + value 4; + description + "Inline powered device power state is overdrawn"; + } + } + description + "Ilpower device power state"; + } + + typedef ilpower-admin-state { + type enumeration { + enum admin-state-null { + value 0; + description + "Inline powered device power admin state is not available"; + } + enum admin-state-off { + value 1; + description + "Inline powered device power admin state is off"; + } + enum admin-state-auto { + value 2; + description + "Inline powered device power admin state is auto"; + } + enum admin-state-static { + value 3; + description + "Inline powered device power admin state is static"; + } + } + description + "Ilpower device power admin state"; + } + + typedef poe-pd-class { + type enumeration { + enum pd-null { + value 0; + description + "Power class not available"; + } + enum pd-unknown { + value 1; + description + "Power class unknown"; + } + enum pd-cisco { + value 2; + description + "Power class Cisco"; + } + enum pd-ieee0 { + value 3; + description + "IEEE power class 0"; + } + enum pd-ieee1 { + value 4; + description + "IEEE power class 1"; + } + enum pd-ieee2 { + value 5; + description + "IEEE power class 2"; + } + enum pd-ieee3 { + value 6; + description + "IEEE power class 3"; + } + enum pd-ieee4 { + value 7; + description + "IEEE power class 4"; + } + enum pd-ieee5 { + value 8; + description + "IEEE power class 5"; + } + enum pd-ieee-unknown-class { + value 9; + description + "IEEE power class unknown"; + } + enum pd-ieee6 { + value 10; + description + "IEEE power class 6"; + } + enum pd-ieee7 { + value 11; + description + "IEEE power class 7"; + } + enum pd-ieee8 { + value 12; + description + "IEEE power class 8"; + } + enum pd-mismatch { + value 13; + description + "Power class not available"; + } + } + description + "Name of the power class"; + } + + typedef poe-pd-power-state { + type enumeration { + enum power-deny { + value 0; + description + "Powered device power state is power deny"; + } + enum faulty { + value 1; + description + "Powered device power state is faulty"; + } + enum on { + value 2; + description + "Powered device power state is on"; + } + enum off { + value 3; + description + "Powered device power state is off"; + } + enum error-disable { + value 4; + description + "Powered device power state is error disable"; + } + } + description + "Poe device power state"; + } + + typedef poe-police-action { + type enumeration { + enum police-action-none { + value 0; + description + "Police action not available"; + } + enum police-action-error-disable { + value 1; + description + "Police action is error disable"; + } + enum police-action-log { + value 2; + description + "Police action is log"; + } + } + description + "PoE police action"; + } + + typedef poe-police-oper { + type enumeration { + enum oper-police-none { + value 0; + description + "Operational police state is not available"; + } + enum oper-police-ok { + value 1; + description + "Operational police state is ok"; + } + enum oper-police-overdrawn { + value 2; + description + "Operational police state is overdrawn"; + } + } + description + "PoE operational police state"; + } + + typedef poe-conn-check { + type enumeration { + enum conn-chk-none { + value 0; + description + "PoE connection check is not available"; + } + enum conn-chk-ds { + value 1; + description + "PoE connection check is dual signature"; + } + enum conn-chk-ss { + value 2; + description + "PoE connection check is single signature"; + } + enum conn-chk-sp { + value 3; + description + "PoE connection check is signal pair"; + } + } + description + "PoE connection check"; + } + + typedef ilpower-lldp-power-source { + type enumeration { + enum power-source-reserved { + value 0; + description + "LLDP power source is reserved"; + } + enum power-source-backup { + value 1; + description + "LLDP power source is backup"; + } + enum power-source-primary { + value 2; + description + "LLDP power source is primary"; + } + enum power-source-type-unknown { + value 3; + description + "LLDP power source is unknown"; + } + enum power-source-pse-and-local { + value 4; + description + "LLDP power source is PSE and local"; + } + enum power-source-pse { + value 5; + description + "LLDP power source is PSE"; + } + } + description + "LLDP power source"; + } + + typedef pse-lldp-pwr-status { + type enumeration { + enum pse-power-status-ignore { + value 0; + description + "PSE LLDP power status is ignore"; + } + enum pse-power-status-2-pair-pd { + value 1; + description + "PSE LLDP power status is 2 pair power device"; + } + enum pse-power-status-4-pair-ss-pd { + value 2; + description + "PSE LLDP power status is 4 pair single signature power device"; + } + enum pse-power-status-4-pair-ds-pd { + value 3; + description + "PSE LLDP power status is 4 pair dual signature power device"; + } + } + description + "PSE LLDP power status"; + } + + typedef pd-lldp-pwr-status { + type enumeration { + enum pd-power-status-ignore { + value 0; + description + "PD LLDP power status is ignore"; + } + enum pd-power-status-ss-pd { + value 1; + description + "PD LLDP power status is single signature power device"; + } + enum pd-power-status-2-pair-ds-pd { + value 2; + description + "PD LLDP power status is 2 pair dual signature power device"; + } + enum pd-power-status-4-pair-ds-pd { + value 3; + description + "PD LLDP power status is 4 pair dual signature power device"; + } + } + description + "PD LLDP power status"; + } + + typedef lldp-pse-pwr-ext-type { + type enumeration { + enum lldp-power-type-ignore { + value 0; + description + "LLDP PSE power type is ignore"; + } + enum lldp-power-type-alt-a { + value 1; + description + "LLDP PSE power type is alternative A"; + } + enum lldp-power-type-alt-b { + value 2; + description + "LLDP PSE power type is alternative B"; + } + enum lldp-power-type-both-alternatives { + value 3; + description + "LLDP PSE power type is both alternative"; + } + } + description + "LLDP PSE power ext type"; + } + + typedef dual-sig-pwr-class { + type enumeration { + enum ds-power-class-ignore { + value 0; + description + "Dual signature power class is ignore"; + } + enum ds-power-class-1 { + value 1; + description + "Dual signature power class is 1"; + } + enum ds-power-class-2 { + value 2; + description + "Dual signature power class is 2"; + } + enum ds-power-class-3 { + value 3; + description + "Dual signature power class is 3"; + } + enum ds-power-class-4 { + value 4; + description + "Dual signature power class is 4"; + } + enum ds-power-class-5 { + value 5; + description + "Dual signature power class is 5"; + } + enum ds-power-class-ss-pd { + value 6; + description + "Dual signature power class is single signature power device"; + } + } + description + "Dual signature power class"; + } + + typedef ss-pwr-class { + type enumeration { + enum ss-power-class-ignore { + value 0; + description + "Single signature power class is ignore"; + } + enum ss-power-class-1 { + value 1; + description + "Single signature power class is 1"; + } + enum ss-power-class-2 { + value 2; + description + "Single signature power class is 2"; + } + enum ss-power-class-3 { + value 3; + description + "Single signature power class is 3"; + } + enum ss-power-class-4 { + value 4; + description + "Single signature power class is 4"; + } + enum ss-power-class-5 { + value 5; + description + "Single signature power class is 5"; + } + enum ss-power-class-6 { + value 6; + description + "Single signature power class is 6"; + } + enum ss-power-class-7 { + value 7; + description + "Single signature power class is 7"; + } + enum ss-power-class-8 { + value 8; + description + "Single signature power class is 8"; + } + enum ss-power-class-ds-pd { + value 15; + description + "Single signature power class is single signature power device"; + } + } + description + "Single signature power class"; + } + + typedef lldp-power-ext { + type enumeration { + enum lldp-power-ext-type-3-pse { + value 0; + description + "LLDP power type is type 3 power source equipment"; + } + enum lldp-power-ext-type-4-pse { + value 1; + description + "LLDP power type is type 4 power source equipment"; + } + enum lldp-power-ext-type-3-ss-pd { + value 2; + description + "LLDP power type is type 3 single signature power device"; + } + enum lldp-power-ext-type-3-ds-pd { + value 3; + description + "LLDP power type is type 3 dual signature power device"; + } + enum lldp-power-ext-type-4-ss-pd { + value 5; + description + "LLDP power type is type 4 single signature power device"; + } + enum lldp-power-ext-type-4-ds-pd { + value 6; + description + "LLDP power type is type 4 dual signature power device"; + } + enum lldp-power-ext-type-ignore { + value 7; + description + "LLDP power type is ignore"; + } + } + description + "LLDP power ext type"; + } + + typedef power-neg-used { + type enumeration { + enum power-negotiation-none { + value 0; + description + "Power negotiation used is none"; + } + enum power-negotiation-cdp { + value 1; + description + "Power negotiation used is CDP"; + } + enum power-negotiation-lldp-med { + value 2; + description + "Power negotiation used is LLDP MED"; + } + enum power-negotiation-ieee-802-3-at { + value 3; + description + "Power negotiation used is IEEE 802.3 AT LLDP"; + } + enum power-negotiation-ieee-802-3-bt { + value 4; + description + "Power negotiation used is IEEE 802.3 BT LLDP"; + } + } + description + "Power negotiation used"; + } + + typedef four-pair-pd-architecture { + type enumeration { + enum pd-architecture-none { + value 0; + description + "Four pair pd architecture is none"; + } + enum pd-architecture-indendent { + value 1; + description + "Four pair pd architecture is independent"; + } + enum pd-architecture-shared { + value 2; + description + "Four pair pd architecture is shared"; + } + } + description + "Four pair pd architecture"; + } + + typedef port-oper-priority { + type enumeration { + enum port-oper-priority-0 { + value 0; + description + "Port operational priority is 0"; + } + enum port-oper-priority-1 { + value 1; + description + "Port operational priority is 1"; + } + enum port-oper-priority-2 { + value 2; + description + "Port operational priority is 2"; + } + enum port-oper-priority-3 { + value 3; + description + "Port operational priority is 3"; + } + enum port-oper-priority-4 { + value 4; + description + "Port operational priority is 4"; + } + enum port-oper-priority-5 { + value 5; + description + "Port operational priority is 5"; + } + enum port-oper-priority-6 { + value 6; + description + "Port operational priority is 6"; + } + enum port-oper-priority-7 { + value 7; + description + "Port operational priority is 7"; + } + enum port-oper-priority-low { + value 8; + description + "Port operational priority is low"; + } + enum port-oper-priority-high { + value 9; + description + "Port operational priority is high"; + } + } + description + "port operational priority"; + } + + typedef ilpower-lldp-med-power-type { + type enumeration { + enum lldp-med-power-type-pse { + value 0; + description + "Power type is Power source equipment"; + } + enum lldp-med-power-type-pd { + value 1; + description + "Power type is Powered device"; + } + enum reserved-type-two { + value 2; + description + "Power type is reserved"; + } + enum reserved-type-three { + value 3; + description + "Power type is reserved"; + } + } + description + "ilpower LLDP MED power type"; + } + + typedef ilpower-lldp-med-power-source { + type enumeration { + enum lldp-med-power-src-unknown { + value 0; + description + "Power source is unknown"; + } + enum lldp-med-power-src-primary { + value 1; + description + "Power source is primary"; + } + enum lldp-med-power-src-secondary { + value 2; + description + "Power source is secondary"; + } + enum lldp-med-power-src-pse-local { + value 3; + description + "Power source is PSE local"; + } + } + description + "ilpower LLDP MED power source"; + } + + typedef ilpower-lldp-med-power-priority { + type enumeration { + enum lldp-med-power-priority-unknown { + value 0; + description + "Power priority is unknown"; + } + enum lldp-med-power-priority-critical { + value 1; + description + "Power priority is critical"; + } + enum lldp-med-power-priority-high { + value 2; + description + "Power priority is high"; + } + enum lldp-med-power-priority-low { + value 3; + description + "Power priority is low"; + } + enum lldp-med-power-priority-invalid { + value 4; + description + "Power priority is invalid"; + } + } + description + "ilpower LLDP MED power priority"; + } + + typedef ilpower-module-type { + type enumeration { + enum module-type-fixed { + value 0; + description + "Fixed type chassis"; + } + enum module-type-modular { + value 1; + description + "Modular type chassis"; + } + } + description + "Chassis type"; + } + + typedef pow-dev-prot-req-state { + type enumeration { + enum proto-unknown { + value 0; + description + "Protocol is unknown or not available"; + } + enum proto-granted { + value 1; + description + "Protocol request is granted"; + } + enum proto-in-prog { + value 2; + description + "Protocol request is in progress"; + } + } + description + "Powered device protocol request state"; + } + + typedef pow-dev-pwr-state { + type enumeration { + enum pow-dev-no-power { + value 0; + description + "Powered device is not powered"; + } + enum pow-dev-fully-powered { + value 1; + description + "Powered device is fully powered"; + } + enum pow-dev-partially-powered { + value 2; + description + "Powered device is partially powered"; + } + } + description + "Power state of powered device"; + } + + typedef power-stack-mode { + type enumeration { + enum stack-mode-rps { + value 0; + description + "Stack mode is redundant power supply"; + } + enum stack-mode-sharing-strict { + value 1; + description + "Stack mode is sharing strict"; + } + enum stack-mode-sharing { + value 2; + description + "Stack mode is sharing"; + } + enum stack-mode-redundant-strict { + value 3; + description + "Stack mode is redundant strict"; + } + enum stack-mode-redundant { + value 4; + description + "Stack mode is redundant"; + } + enum stack-mode-null { + value 5; + description + "Stack mode is not available"; + } + } + description + "Mode if power stack"; + } + + typedef poe-stack-topo { + type enumeration { + enum stack-topo-none { + value 0; + description + "Stack topology is none"; + } + enum stack-topo-star { + value 1; + description + "Stack topology is star"; + } + enum stack-topo-standalone { + value 2; + description + "Stack topology is standalone"; + } + enum stack-topo-ring { + value 3; + description + "Stack topology is ring"; + } + } + description + "Poe stack topology"; + } + + typedef poe-port-status { + type enumeration { + enum stack-port-status-unknown { + value 0; + description + "Stack port status is unknown"; + } + enum stack-port-status-shut { + value 1; + description + "Stack port status is shutdown"; + } + enum stack-port-status-connected { + value 2; + description + "Stack port status is connected"; + } + enum stack-port-status-not-connected { + value 3; + description + "Stack port status is not connected"; + } + } + description + "Stack port status"; + } + + grouping poe-module { + description + "POE module grouping"; + leaf module { + type uint32; + description + "Module number"; + } + leaf available-power { + type decimal64 { + fraction-digits 2; + } + description + "Available power of module"; + } + leaf used-power { + type decimal64 { + fraction-digits 2; + } + description + "Used power of module"; + } + leaf remaining-power { + type decimal64 { + fraction-digits 2; + } + description + "Remaining power of module"; + } + leaf chassis-num { + type uint32; + description + "chassis number of switch"; + } + leaf power-pool-idx { + type uint32; + description + "The power pool index"; + } + leaf num-ports { + type uint32; + description + "Total number of PoE ports"; + } + leaf used-ports { + type uint32; + description + "Number of used PoE ports"; + } + leaf free-ports { + type uint32; + description + "Number of free PoE ports"; + } + leaf module-type { + type poe-ios-xe-oper:ilpower-module-type; + description + "Chassis type"; + } + leaf if-max-power { + type decimal64 { + fraction-digits 2; + } + description + "Max power drawn on an interface"; + } + leaf tot-consumed-pwr-valid { + type empty; + description + "Total consumed power is valid"; + } + leaf tot-consumed-pwr { + when 'boolean(../tot-consumed-pwr-valid)'; + type decimal64 { + fraction-digits 4; + } + units "Watts"; + description + "Total power consumed by module"; + } + leaf bt-reload-pending { + type boolean; + description + "Boolean value to indicate whether a reload is required to change mode to 802.3 BT"; + } + } + + grouping ilp-port-config-details { + description + "Ilp port config details"; + leaf initialization { + type boolean; + description + "Status of Port initialization"; + } + leaf ilp-supported { + type boolean; + description + "Status of Inline power supported"; + } + leaf ilp-enabled { + type boolean; + description + "Status of Inline power enabled"; + } + leaf post { + type boolean; + description + "Status of PoE linecard initialization"; + } + leaf power-on { + type boolean; + description + "status of Power"; + } + leaf power-denied { + type boolean; + description + "Status of Power denied"; + } + leaf state { + type poe-ios-xe-oper:power-state; + description + "Power state"; + } + leaf short-circuit-detected { + type uint32; + description + "Short circuit detected"; + } + leaf spare-pair-mode { + type poe-ios-xe-oper:poe-upoe-cmd-mode; + description + "Spare pair mode"; + } + leaf spare-pair-power-is-on { + type boolean; + description + "Status of Spare pair power"; + } + leaf pd-power-state { + type poe-ios-xe-oper:ilpower-pd-power-state; + description + "Status of Powered device power state"; + } + } + + grouping ilpower-detail { + description + "POE ethernet details"; + leaf oper-status { + type poe-ios-xe-oper:ilpower-device-state; + description + "Power Device Operational status"; + } + leaf device-detected { + type boolean; + description + "PoE Device detected or not"; + } + leaf device-name { + type string; + description + "Power Device name"; + } + leaf discovery { + type poe-ios-xe-oper:ilpower-pd-discovery-protocol; + description + "Discovery mechanism used"; + } + leaf police-state-on { + type boolean; + description + "Police state on or not"; + } + leaf power-admin-max { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Admin max power, unit is Watts"; + } + leaf power-from-pse { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power from pse, unit is Watts"; + } + leaf power-to-pd { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power to pd, unit is Watts"; + } + leaf power-consumption { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Actual Power consumed by power device, unit is Watts"; + } + leaf max-power-drawn { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Max power drawn by power device, unit is Watts"; + } + leaf power-negotiation-used { + type string; + units "Watts"; + description + "power negotiation used with protocol CDP/LLDP, unit is Watts"; + } + leaf lldp-tx-power-type { + type poe-ios-xe-oper:poe-lldp-power-type; + description + "LLDP power negotiation power type send to power device"; + } + leaf lldp-tx-power-source { + type poe-ios-xe-oper:poe-lldp-power-source; + description + "LLDP power negotiation power source send to power device"; + } + leaf lldp-tx-power-priority { + type poe-ios-xe-oper:poe-lldp-power-priority; + description + "LLDP power negotiation power priority send to power device"; + } + leaf lldp-tx-power-requested { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power request send to power device, unit is Watts"; + } + leaf lldp-tx-power-allocated { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power allocation send to power device, unit is Watts"; + } + leaf lldp-rx-power-type { + type poe-ios-xe-oper:poe-lldp-power-type; + description + "LLDP power negotiation power type received from power device"; + } + leaf lldp-rx-power-source { + type poe-ios-xe-oper:poe-lldp-power-source; + description + "LLDP power negotiation power source received from power device"; + } + leaf lldp-rx-power-priority { + type poe-ios-xe-oper:poe-lldp-power-priority; + description + "LLDP power negotiation power priority received from power device"; + } + leaf lldp-rx-power-requested { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power request received from power device, unit is Watts"; + } + leaf lldp-rx-power-allocated { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power allocation received from power device, unit is Watts"; + } + leaf four-pair-poe-supported { + type string; + description + "Four pair PoE supported or not"; + } + leaf four-pair-poe-enabled { + type string; + description + "Four pair PoE enabled or not"; + } + leaf four-pair-pd-arch { + type string; + description + "Type of four pair power device architecture"; + } + leaf over-current-counter { + type uint32; + description + "Power device over current counter"; + } + leaf short-current-counter { + type uint32; + description + "Power device short current counter"; + } + } + + grouping poe-ethernet { + description + "POE ethernet grouping"; + leaf intf-name { + type string; + description + "Name of the POE interface"; + } + leaf poe-intf-enabled { + type boolean; + description + "POE interface administration state"; + } + leaf power-used { + type decimal64 { + fraction-digits 2; + } + description + "Power used by power device"; + } + leaf pd-class { + type poe-ios-xe-oper:ilpower-pd-class; + description + "Class of the power device"; + } + leaf oper-state { + type poe-ios-xe-oper:ilpower-pd-power-state; + description + "Operational state of power device"; + } + leaf admin-state { + type poe-ios-xe-oper:ilpower-admin-state; + description + "Admin state of power device"; + } + leaf oper-power { + type decimal64 { + fraction-digits 2; + } + description + "Operational power of power device"; + } + leaf admin-police { + type string; + description + "Police administration state of power device"; + } + leaf oper-police { + type string; + description + "Police operational state of power device"; + } + leaf cutoff-power-police { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Police cutoff power, unit is Watts"; + } + leaf module { + type uint32; + description + "Module of this power device"; + } + container ilp-detail { + description + "Inline power detail of power device"; + uses poe-ios-xe-oper:ilpower-detail; + } + container port-poe-detail { + description + "PoE detail of this power device"; + uses poe-ios-xe-oper:ilp-port-config-details; + } + } + + grouping ilpower-pair-detail { + description + "PoE signal/spare details"; + leaf pd-class { + type poe-ios-xe-oper:poe-pd-class; + description + "Class of the power device"; + } + leaf assigned-pd-class { + type poe-ios-xe-oper:poe-pd-class; + description + "Assigned class of the power device"; + } + leaf oper-power { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Operational power of power device"; + } + leaf power-from-pse { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power from pse"; + } + leaf power-to-pd { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power to pd"; + } + leaf oper-state { + type poe-ios-xe-oper:poe-pd-power-state; + description + "Operational state of the pair"; + } + } + + grouping lldp-med-pwr-via-mdi-tlv { + description + "LLDP MED power fields from mdi tlv"; + leaf power-type { + type poe-ios-xe-oper:ilpower-lldp-med-power-type; + description + "LLDP MED power negotiation power type"; + } + leaf power-source { + type poe-ios-xe-oper:ilpower-lldp-med-power-source; + description + "LLDP MED power negotiation power source"; + } + leaf power-priority { + type poe-ios-xe-oper:ilpower-lldp-med-power-priority; + description + "LLDP MED power negotiation power priority"; + } + } + + grouping lldp-pwr-via-mdi-tlv { + description + "LLDP power fields from mdi tlv"; + leaf power-type { + type poe-ios-xe-oper:poe-lldp-power-type; + description + "LLDP power negotiation power type"; + } + leaf power-source { + type poe-ios-xe-oper:ilpower-lldp-power-source; + description + "LLDP power negotiation power source"; + } + leaf power-priority { + type poe-ios-xe-oper:poe-lldp-power-priority; + description + "LLDP power negotiation power priority"; + } + leaf power-requested { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power request"; + } + leaf power-allocated { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "LLDP power negotiation power allocation"; + } + leaf pd-4pid { + type uint8; + description + "local PD system supports powering of both pairs"; + } + leaf length { + type uint16; + description + "length of LLDP TLV"; + } + leaf pd-req-pwr-mode-a { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "PD requested power for mode A"; + } + leaf pd-req-pwr-mode-b { + type decimal64 { + fraction-digits 2; + } + description + "PD requested power for mode B"; + } + leaf pse-alloc-pwr-mode-a { + type decimal64 { + fraction-digits 2; + } + description + "PSE allocated power value for mode A"; + } + leaf pse-alloc-pwr-mode-b { + type decimal64 { + fraction-digits 2; + } + description + "PSE allocated power value for mode B"; + } + leaf pse-pwring-status { + type poe-ios-xe-oper:pse-lldp-pwr-status; + description + "Powering status of PSE"; + } + leaf pd-pwred-status { + type poe-ios-xe-oper:pd-lldp-pwr-status; + description + "Powering status of PD"; + } + leaf pse-pwr-pair-ext { + type poe-ios-xe-oper:lldp-pse-pwr-ext-type; + description + "supported PSE pin out Alternative"; + } + leaf dual-sig-pwr-class-mode-a { + type poe-ios-xe-oper:dual-sig-pwr-class; + description + "Power class on Dual signature PD for Alt A "; + } + leaf dual-sig-pwr-class-mode-b { + type poe-ios-xe-oper:dual-sig-pwr-class; + description + "Power class on Dual signature PD for Alt B "; + } + leaf pwr-ss-class-ext { + type poe-ios-xe-oper:ss-pwr-class; + description + "Power class on Single signature PD "; + } + leaf pwr-type-ext { + type poe-ios-xe-oper:lldp-power-ext; + description + "PSE power type"; + } + leaf pse-max-available-power { + type decimal64 { + fraction-digits 2; + } + description + "PSE max power available"; + } + leaf pse-auto-class-support { + type boolean; + description + "PSE auto class support"; + } + leaf auto-class-comp { + type boolean; + description + "Whether the PSE has completed Auto class measurement"; + } + leaf auto-class-req { + type boolean; + description + "Whether Power device is requesting an auto class measurement and power budget adjustment"; + } + leaf pwr-down-req { + type boolean; + description + "A SET attribute that indicates the Power device is requesting a power down "; + } + leaf power-down-time { + type uint64; + description + "Amount of seconds the power device requests to stay powered off"; + } + } + + grouping poe-data-ethernet { + description + "POE signal/spare pair detail"; + leaf intf-name { + type string; + description + "Name of the POE interface"; + } + leaf power-used { + type decimal64 { + fraction-digits 2; + } + description + "Power used by power device"; + } + leaf pd-class { + type poe-ios-xe-oper:poe-pd-class; + description + "Class of the power device"; + } + leaf device-detected { + type boolean; + description + "PoE Device detected or not"; + } + leaf device-name { + type string; + description + "Power Device name"; + } + leaf police { + type boolean; + description + "Police state on or not"; + } + leaf power-admin-max { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Admin max power"; + } + leaf power-from-pse { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power from pse"; + } + leaf power-to-pd { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Power to pd"; + } + leaf power-consumption { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Actual Power consumed by power device"; + } + leaf max-power-drawn { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Max power drawn by power device"; + } + leaf oper-state { + type poe-ios-xe-oper:poe-pd-power-state; + description + "Operational state of power device"; + } + leaf admin-state { + type poe-ios-xe-oper:ilpower-admin-state; + description + "Admin state of power device"; + } + leaf oper-power { + type decimal64 { + fraction-digits 2; + } + description + "Operational power of power device"; + } + leaf admin-police { + type poe-ios-xe-oper:poe-police-action; + description + "Police administration state of power device"; + } + leaf oper-police { + type poe-ios-xe-oper:poe-police-oper; + description + "Police operational state of power device"; + } + leaf cutoff-power-police { + type decimal64 { + fraction-digits 2; + } + units "Watts"; + description + "Police cutoff power"; + } + leaf power-negotiation-used { + type poe-ios-xe-oper:power-neg-used; + units "Watts"; + description + "power negotiation used with protocol CDP/LLDP"; + } + leaf four-pair-poe-supported { + type boolean; + description + "Four pair PoE supported or not"; + } + leaf four-pair-poe-enabled { + type boolean; + description + "Four pair PoE enabled or not"; + } + leaf four-pair-pd-arch { + type poe-ios-xe-oper:four-pair-pd-architecture; + description + "Type of four pair power device architecture"; + } + leaf over-current-counter { + type uint32; + description + "Power device over current counter"; + } + leaf short-current-counter { + type uint32; + description + "Power device short current counter"; + } + leaf power-denied-counter { + type uint32; + description + "Power device power denied counter"; + } + leaf conn-type { + type poe-ios-xe-oper:poe-conn-check; + description + "Connection type of power device"; + } + container signal-pair-data { + description + "Signal pair inline power detail of power device"; + uses poe-ios-xe-oper:ilpower-pair-detail; + } + container spare-pair-data { + description + "Spare pair inline power detail of power device"; + uses poe-ios-xe-oper:ilpower-pair-detail; + } + leaf discovery { + type poe-ios-xe-oper:ilpower-pd-discovery-protocol; + description + "Discovery mechanism used"; + } + container lldp-mdi-rx { + description + "PoE LLDP rx fields"; + uses poe-ios-xe-oper:lldp-pwr-via-mdi-tlv; + } + container lldp-mdi-tx { + description + "PoE LLDP tx fields"; + uses poe-ios-xe-oper:lldp-pwr-via-mdi-tlv; + } + container lldp-med-mdi-rx { + description + "PoE LLDP MED rx fields"; + uses poe-ios-xe-oper:lldp-med-pwr-via-mdi-tlv; + } + container lldp-med-mdi-tx { + description + "PoE LLDP MED tx fields"; + uses poe-ios-xe-oper:lldp-med-pwr-via-mdi-tlv; + } + leaf fast-poe-enabled { + type boolean; + description + "fast PoE enabled"; + } + leaf perpetual-poe-enabled { + type boolean; + description + "perpetual PoE enabled"; + } + leaf oper-priority { + type poe-ios-xe-oper:port-oper-priority; + description + "Operational priority"; + } + leaf post-done { + type boolean; + description + "Status of PoE linecard initialization"; + } + leaf upoe-plus-enabled { + type boolean; + description + "UPOE PLUS enabled"; + } + leaf poe-intf-enabled { + type boolean; + description + "POE interface administrative state"; + } + leaf module-id { + type uint32; + description + "Module ID in stack"; + } + leaf chassis-num { + type uint32; + description + "Chassis Number"; + } + leaf prot-pd-highest-req-pwr { + type decimal64 { + fraction-digits 4; + } + units "Watts"; + description + "Highest protocol requested power by a powered device "; + } + leaf prot-req-state { + type poe-ios-xe-oper:pow-dev-prot-req-state; + description + "Powered device protocol request state"; + } + leaf pwr-state { + type poe-ios-xe-oper:pow-dev-pwr-state; + description + "Power state of a powered device"; + } + leaf meter-start-time { + type yang:date-and-time; + description + "Timestamp of the start of metering period for energy calculations"; + } + leaf metered-energy-value { + type decimal64 { + fraction-digits 2; + } + units "Watt second"; + description + "Energy consumed since meter start time"; + } + leaf device-tag { + type string; + description + "Device tag"; + } + leaf last-update-time { + type yang:date-and-time; + description + "Timestamp of latest energy update"; + } + leaf bucket-width { + type uint16; + units "Second"; + description + "Bucket width in seconds"; + } + leaf number-of-buckets { + type uint8; + description + "Number of buckets"; + } + leaf-list poe-bucket { + type uint32; + units "Watt second"; + max-elements 12; + ordered-by user; + description + "Energy consumed in last one hour"; + } + } + + grouping poe-stack { + description + "POE stack grouping"; + leaf power-stack-name { + type string; + description + "Stack number"; + } + leaf mode { + type poe-ios-xe-oper:power-stack-mode; + description + "Stack mode"; + } + leaf topolgy { + type poe-ios-xe-oper:poe-stack-topo; + description + "Stack topology"; + } + leaf total-power { + type int32; + units "Watts"; + description + "Stack total power, unit is Watts"; + } + leaf rsvd-power { + type int32; + units "Watts"; + description + "Stack reserved power, unit is Watts"; + } + leaf alloc-power { + type int32; + units "Watts"; + description + "Stack allocated power, unit is Watts"; + } + leaf unused-power { + type int32; + units "Watts"; + description + "Stack unused power, unit is Watts"; + } + leaf num-sw { + type uint8; + description + "Number of the Switch"; + } + leaf num-ps { + type uint8; + description + "Number of power supply"; + } + } + + grouping poe-switch { + description + "POE switch grouping"; + leaf switch-num { + type uint8; + description + "Switch number"; + } + leaf power-budget { + type uint16; + units "Watts"; + description + "Switch power budget, unit is Watts"; + } + leaf power-allocated { + type uint32; + units "Watts"; + description + "Switch allocated power, unit is Watts"; + } + leaf low-port-priority { + type uint8; + description + "Switch low port priority"; + } + leaf high-port-priority { + type uint8; + description + "Switch high port priority"; + } + leaf switch-priority { + type uint8; + description + "Switch priority"; + } + leaf port-one-status { + type poe-ios-xe-oper:poe-port-status; + description + "Port 1 status"; + } + leaf port-two-status { + type poe-ios-xe-oper:poe-port-status; + description + "Port 2 status"; + } + leaf neighbor-on-port-one { + type yang:mac-address; + description + "Neighbor in port 1"; + } + leaf neighbor-on-port-two { + type yang:mac-address; + description + "Neighbor in port 2"; + } + leaf consumed-switch-power { + type uint32; + units "Watts"; + description + "Consumed switch power, unit is Watts"; + } + leaf consumed-high-power { + type uint32; + units "Watts"; + description + "Consumed high power, unit is Watts"; + } + leaf consumed-low-power { + type uint32; + units "Watts"; + description + "Consumed low power, unit is Watts"; + } + leaf allocated-high-power { + type uint32; + units "Watts"; + description + "Allocated high power, unit is Watts"; + } + leaf allocated-low-power { + type uint32; + units "Watts"; + description + "Allocated low power, unit is Watts"; + } + leaf ps-a { + type uint16; + units "Watts"; + description + "PS-A power, unit is Watts"; + } + leaf ps-b { + type uint16; + units "Watts"; + description + "PS-B power, unit is Watts"; + } + leaf available-power { + type int32; + units "Watts"; + description + "Available power, unit is Watts"; + } + leaf consumed-system-power { + type int32; + units "Watts"; + description + "System consumed power, unit is Watts"; + } + leaf consumed-poe-power { + type int32; + units "Watts"; + description + "PoE consumed power, unit is Watts"; + } + leaf power-stack-name { + type string; + description + "The name of the power stack that this switch belongs to"; + } + } + + container poe-oper-data { + config false; + description + "Information about PoEs"; + list poe-port { + key "intf-name"; + description + "List of PoE interfaces, keyed by interface name"; + uses poe-ios-xe-oper:poe-ethernet; + } + list poe-port-detail { + key "intf-name"; + description + "List of PoE interfaces, keyed by interface name"; + uses poe-ios-xe-oper:poe-data-ethernet; + } + list poe-module { + key "module"; + description + "List of PoE modules, keyed by module number"; + uses poe-ios-xe-oper:poe-module; + } + list poe-stack { + key "power-stack-name"; + description + "List of PoE stacks, keyed by stack name"; + uses poe-ios-xe-oper:poe-stack; + } + list poe-switch { + key "switch-num"; + description + "List of PoE switches, keyed by switch number"; + uses poe-ios-xe-oper:poe-switch; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-deviation.yang new file mode 100644 index 000000000..44cde3689 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-deviation.yang @@ -0,0 +1,58 @@ +module Cisco-IOS-XE-policy-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-policy-deviation"; + prefix ios-policy-deviate; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Deviation Policy Map Yang model. + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2021-07-01 { + description + "- Added priority range value"; + } + revision 2020-07-01 { + description + "Initial Revision"; + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-policy-map-case/ios-policy:police-policy-map/ios-policy:police/ios-policy:cir-bc-choice/ios-policy:cir-bc/ios-policy:cir" { + deviate replace { + type uint64 { + range "8000..10000000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:priority-case/ios-policy:priority/ios-policy:priority-type/ios-policy:kilo-bits/ios-policy:kilo-bits" { + deviate replace { + type uint32 { + range "1..10000000"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-mcp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-mcp-deviation.yang new file mode 100644 index 000000000..7fc7c6d2f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy-mcp-deviation.yang @@ -0,0 +1,102 @@ +module Cisco-IOS-XE-policy-mcp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-policy-mcp-deviation"; + prefix ios-policy-mcp-deviate; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Deviation Policy Map Yang model for ASR platform. + Copyright (c) 2019-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added new range for cir, pir ,bc and be value for police action + on ASR1K platform"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Remove priority range deviation as range is 100G for mcp devices"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "- Added priority range value"; + cisco-semver:module-version "1.0.1"; + } + revision 2020-07-01 { + description + "Initial Revision"; + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-policy-map-case/ios-policy:police-policy-map/ios-policy:police/ios-policy:cir-bc-choice/ios-policy:cir-bc/ios-policy:cir" { + deviate replace { + type uint64 { + range "8000..536000000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-policy-map-case/ios-policy:police-policy-map/ios-policy:police/ios-policy:cir-bc-choice/ios-policy:cir-bc/ios-policy:bc" { + deviate replace { + type uint32 { + range "1000..2048000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-policy-map-case/ios-policy:police-policy-map/ios-policy:police/ios-policy:be" { + deviate replace { + type uint32 { + range "1000..2048000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-target-bitrate-case/ios-policy:police-target-bitrate/ios-policy:police/ios-policy:bit-rate" { + deviate replace { + type uint64 { + range "8000..536000000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-target-bitrate-case/ios-policy:police-target-bitrate/ios-policy:police/ios-policy:confirm_burst-byte" { + deviate replace { + type uint64 { + range "1000..2048000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:police-case/ios-policy:police-choice/ios-policy:police-target-bitrate-case/ios-policy:police-target-bitrate/ios-policy:police/ios-policy:excess_burst-byte" { + deviate replace { + type uint64 { + range "1000..2048000000"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-policy.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy.yang new file mode 100644 index 000000000..18a9677ac --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-policy.yang @@ -0,0 +1,8686 @@ +module Cisco-IOS-XE-policy { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-policy"; + prefix ios-policy; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-atm { + prefix ios-atm; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Policy Map Yang Model. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for set cos-inner + - Obsolete terminate, device-type, device-type-list nodes + - Added description for nodes in policy-map and class-map + - Moved deprecated nodes to obsolete + - Moved deprecated nodes under class-map to obsolete + - Added ordered-by user for match access-group under class-map + - Modified ranges of bit-rate , bits-per-interval-sustained in shape average "; + cisco-semver:module-version "10.0.0"; + } + revision 2024-03-01 { + description + "- Update banner title delimeter description + - Adding support for sleeping-client under global webauth parameter-map + - Support for configuring class with sequence"; + cisco-semver:module-version "9.0.0"; + } + revision 2023-11-01 { + description + "- Added new keyword for policy-map & class-map type"; + cisco-semver:module-version "8.1.0"; + } + revision 2023-03-01 { + description + "- Increased banner-text limit to 400 in policy yang model + - Added support for banner clis under named webauth parameter-map + - Deprecated banner clis under global webauth parameter-map + - Added support for multiple high speed logging destinations"; + cisco-semver:module-version "8.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Deprecated match application"; + cisco-semver:module-version "7.0.0"; + } + revision 2022-07-01 { + description + "- Added support for service-group + - Added support for match identity user/user-group"; + cisco-semver:module-version "6.4.0"; + } + revision 2022-03-01 { + description + "- Added classification(match filter) and marking (set action) support for traffic-class + - Added support for Queueing type policy + - Deprecated set discard-class leaf and created container for the same + - Added default for timeout in sleeping-client"; + cisco-semver:module-version "6.3.0"; + } + revision 2021-11-01 { + description + "- Added leaf to enable optimization for policy"; + cisco-semver:module-version "6.2.0"; + } + revision 2021-07-01 { + description + "- Updates for missing content required for evpn-service-model + - Change leaf-list device-type-list to device-type-new to support + - both regular expressions and normal strings in device-type + - Added port channel-subinterface argument for service-policy + - added pppoe service yang model under policy-map + - Added match packet-tag for class-map"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-03-01 { + description + "- Deprecate table-map "; + cisco-semver:module-version "6.0.0"; + } + revision 2020-11-01 { + description + "- Add verify-availability option for set-next-hop + - Change input/output of service-policy epbr to leafref + - Add set interface for epbr + - Add ZBFW rule-based unified logging + - Add conflict for set vrf verify-availability and next-hop + - Police model changes are done to remove ambiguity for Turbo-ConfD Parser + - Remove 'when' condition for site-manage to improve vManage performance"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-01 { + description + "- Added peer model as deprecated node + - Added match traffic-category for class-map + - Replacing leaf with container for set-next-hop"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "-Support for MPLS EXP WRED option under random-detect + - Added match application criteria for class-map + - Added set-domain in policy-map"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Corrected upper-bound value for target bit-rate + - Changes made to include CLIs in class-map + - Added missing commands for policy-map + - Corrected shaper range + - Fixed gaps in parameter-map type subscriber attribute-to-service + - Fix hardening issues in policy-map + - Changes made to include CLIs in class-map + - Must constraint and range modification in parameter-map type webauth + - Adding remove-before-change annotation for child service-policy action + - Adding choice cir-bc, for police-policy-map-case case + - Deprecated the redundant random-detect standalone leaf + - Replacing container with leaf for exceed-set-dscp-transmit + - Allow no bandwidth ... and bandwidth in the same commit"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added leaf account-on-resolution for policy-map type performance-monitor + - Corrected exceed-action and violate-action commands + - Corrected marking and drop command under police restrictions + - Added interface-template, config-macro, service-template in parameter-map + - Fixed issues with parameter-map type webauth global + - Add source interface,vrf, ipv6 for High Speed Logger + - Add support for BD-VIF interface + - Added parameter-map type subscriber attribute-to-service + - Fix control-plane service-policy input/output commands + - Fix hardening issues found in service-policy input and bandwidth + remaining percent commands"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-30 { + description + "Added restrict leaf for policy-map */event */ class/"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-14 { + description + "Corrected shape adaptive data model"; + } + revision 2018-12-06 { + description + "Change non-strict-leafref's to leafref's for threat-defense features"; + } + revision 2018-11-29 { + description + "Add 'site-manager' type to class-map type"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-15 { + description + "Add 'remove-before-change' annotation to policy-map service-policy"; + } + revision 2018-11-12 { + description + "Adding type epbr for policy-map"; + } + revision 2018-11-06 { + description + "Remove instances of max string length of 128/256/512"; + } + revision 2018-10-29 { + description + "Adding type umbrella for policy-map"; + } + revision 2018-10-21 { + description + "fix issue in 'performance-monitor' of 'config-interface-service-policy-grouping'"; + } + revision 2018-10-18 { + description + "Change nested match class-map type to leafref from string"; + } + revision 2018-10-11 { + description + "Add description to shape average"; + } + revision 2018-09-18 { + description + "Disallow class-default as class-map name"; + } + revision 2018-09-12 { + description + "Set max elements for parameter-map type regex"; + } + revision 2018-08-28 { + description + "Add class-map protocol matches before deletes to appease AppFW"; + } + revision 2018-08-01 { + description + "Added application-family for match protocol attribute"; + } + revision 2018-07-03 { + description + "Added 'access-control' & 'packet-service' in 'config-interface-service-policy-grouping'"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-05-14 { + description + "Limit string lengths for threat-defense features"; + } + revision 2018-05-10 { + description + "changed leaf service-policy type to leafref under class of policy-map"; + } + revision 2018-04-30 { + description + "Add service policy for ATM interface and PVC"; + } + revision 2018-04-27 { + description + "Add interface Ethernet for policy"; + } + revision 2018-04-26 { + description + "Refactor 'vpn zone security [allow-dia]'"; + } + revision 2018-04-24 { + description + "Add interface Serial for policy"; + } + revision 2018-04-20 { + description + "Remove 'when' annotation from policy-map and class-map protocol models"; + } + revision 2018-04-12 { + description + "Add AppFW models"; + } + revision 2018-03-22 { + description + "add tailf:cli-remove-before-change for interface service-policy input/output"; + } + revision 2018-03-13 { + description + "fix the empty key-entry issue under class"; + } + revision 2018-03-08 { + description + "Add interface Cellular for policy"; + } + revision 2018-03-05 { + description + "Allow to add random-detect and shape or bandwidth as the same commit"; + } + revision 2018-02-09 { + description + "Add ZBFW VPN config"; + } + revision 2018-02-06 { + description + "Refactor parameter-map"; + } + revision 2017-12-05 { + description + "Added Change for parameter-map and class-map match"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-09-01 { + description + "Add dependency for random-detect cos"; + } + revision 2017-08-26 { + description + "Add parameter-map regex"; + } + revision 2017-08-24 { + description + "Add sequence optional for random-detect precedence"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-31 { + description + "Changes to match protocol and attribute"; + } + revision 2017-07-21 { + description + "add class-map match service"; + } + revision 2017-07-16 { + description + "add random-detect cos options"; + } + revision 2017-07-13 { + description + "Changed protocol-name as a string to support dynamically updated protocol-pack"; + } + revision 2017-06-07 { + description + "add dependency match group-object security source"; + } + revision 2017-05-08 { + description + "add more protocol support in match protocol"; + } + revision 2017-03-31 { + description + "fix conform-action issue under policy-map"; + } + revision 2017-03-20 { + description + "Add class-map match group-object"; + } + revision 2017-02-09 { + description + "policy-map shape average option - account"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef application_source { + type enumeration { + enum cli; + enum cube; + enum msp; + enum nbar; + enum rfmd; + enum rsvp; + enum cac; + } + } + + typedef application_vendors { + type enumeration { + enum Axis; + enum Cisco; + enum Panasonic; + enum Robert-Bosch; + enum ViaVideo; + } + } + + typedef precedence-type2 { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum rsvp; + } + } + } + + typedef policy-action-type { + type enumeration { + enum bandwidth; + enum compression; + enum drop; + enum estimate; + enum fair-queue; + enum forward; + enum netflow-sampler; + enum police; + enum priority; + enum queue-limit; + enum random-detect; + enum service-policy; + enum set; + enum shape; + enum trust; + enum dbl; + enum queue-buffers; + } + } + + typedef class-name-type { + type union { + type string { + length "1..205"; + } + type enumeration { + enum class-default; + } + } + } + + typedef police-packets-bytes-type { + type enumeration { + enum packets; + enum bytes; + } + } + + typedef bytes-ms-us-type { + type enumeration { + enum bytes; + enum ms; + enum us; + } + } + + typedef police-pps-bps-type { + type enumeration { + enum pps; + enum bps; + } + } + + typedef police-bps-type { + type uint64 { + range "8000..64000000000"; + } + } + + typedef police-burst-type { + type uint32 { + range "1000..512000000"; + } + } + + typedef policy-percent-type { + type uint8 { + range "1..100"; + } + } + + typedef police-bit-rate-type { + type uint64 { + range "8000..100000000000"; + } + } + + grouping match-application-source-grouping { + container source { + leaf cac { + description + "Application source Call Admission Control"; + type empty; + } + leaf cli { + description + "Application source Command line interface"; + type empty; + } + leaf cube { + description + "Application source Cisco Unified Border Element"; + type empty; + } + leaf msp { + description + "Application source msp"; + type empty; + } + leaf nbar { + description + "Application source Network Based Application Recognition"; + type empty; + } + leaf rfmd { + description + "Application source Reverse Flow metadata"; + type empty; + } + leaf rsvp { + description + "Application source Resource Reservation Protocol"; + type empty; + } + } + } + + grouping match-application-version-grouping { + container version-conf { + description + "Version configuration"; + container version { + description + "Applications version"; + list version-name-source-list { + description + "List for application version and source configuration"; + key "version-str-name source"; + leaf version-str-name { + description + "Version string"; + type string { + length "1..40"; + } + } + leaf source { + description + "Applications source"; + type application_source; + } + } + list version-name-list { + description + "List for application version configuration"; + key "version-name"; + leaf version-name { + description + "Version string"; + type string { + length "1..52"; + } + } + } + } + } + } + + grouping match-application-vendor-grouping { + container vendor-conf { + container vendor { + description + "Applications vendor"; + list vendor-name-source-list { + description + "List of application vendor source configuration"; + key "vendor-str-name source"; + leaf vendor-str-name { + description + "Applications version"; + type application_vendors; + } + leaf source { + description + "Applications source"; + type application_source; + } + } + list vendor-name-version-source-list { + description + "List of Application vendor version + source configuration"; + key "vendor-name version source"; + leaf vendor-name { + description + "Applications vendor"; + type application_vendors; + } + leaf version { + description + "Applications version"; + type string { + length "1..28"; + } + } + leaf source { + description + "Applications source"; + type application_source; + } + } + list vendor-name-version-list { + description + "List of vendor version configuration"; + key "vendor-str-name version"; + leaf vendor-str-name { + description + "Application vendor name"; + type application_vendors; + } + leaf version { + description + "Applications version"; + type string { + length "1..28"; + } + } + } + } + } + } + + grouping police-action-transmit-grouping { + leaf transmit { + description + "transmit packet"; + type empty; + } + } + + grouping police-action-drop-grouping { + leaf drop { + description + "drop packet"; + type empty; + } + } + + grouping police-conform-action-grouping { + container conform-set-clp-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-clp-transmit { + description + "set atm clp and send it"; + type empty; + must 'not ((../../../conform-set-cos-transmit/conform-action/set-cos-transmit) or(../../../exceed-set-cos-transmit/exceed-action/set-cos-transmit) or(../../../violate-set-cos-transmit/violate-action/set-cos-transmit))' { + error-message "Two layer 2 markings (cos and clp) are not allowed"; + } + } + } + } + container conform-set-cos-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-cos-transmit { + description + "rewrite packet cos and send it"; + type ios-types:cos_value-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-cos-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-cos-transmit { + description + "rewrite packet cos and send it"; + type ios-types:cos_value-type; + must 'not ((../../../conform-set-clp-transmit/conform-action/set-clp-transmit) or(../../../exceed-set-clp-transmit/exceed-action/set-clp-transmit) or(../../../violate-set-clp-transmit/violate-action/set-clp-transmit))' { + error-message "Two layer 2 markings (cos and clp) are not allowed"; + } + } + } + } + container conform-set-discard-class-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-discard-class-transmit { + description + "set discard-class and send it"; + type uint8 { + range "0..7"; + } + } + } + } + container conform-set-dscp-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-dscp-transmit { + description + "set dscp and send it"; + type ios-types:dscp-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-dscp-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-dscp-transmit { + description + "set dscp and send it"; + type ios-types:dscp-type; + must 'not ((../../../conform-set-prec-transmit/conform-action/set-prec-transmit) or(../../../exceed-set-prec-transmit/exceed-action/set-prec-transmit) or (../../../violate-set-prec-transmit/violate-action/set-prec-transmit)) ' { + error-message "Two layer 3 markings (dscp and precedence) are not allowed"; + } + } + } + } + container conform-set-frde-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-frde-transmit { + description + "set FR DE and send it"; + type empty; + } + } + } + container conform-set-mpls-exp-imposition-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-mpls-exp-imposition-transmit { + description + "set exp at tag imposition and send it"; + type ios-types:exp_value-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-mpls-exp-imposition-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-mpls-exp-imposition-transmit { + description + "set exp at tag imposition and send it"; + type ios-types:exp_value-type; + } + } + } + container conform-set-mpls-exp-topmost-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-mpls-exp-topmost-transmit { + description + "set exp on topmost label and send it"; + type ios-types:exp_value-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-mpls-exp-topmost-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-mpls-exp-topmost-transmit { + description + "set exp on topmost label and send it"; + type ios-types:exp_value-type; + } + } + } + container conform-set-prec-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-prec-transmit { + description + "rewrite packet precedence and send it"; + type ios-types:prec_value-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-prec-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-prec-transmit { + description + "rewrite packet precedence and send it"; + type ios-types:prec_value-type; + must 'not ((../../../conform-set-dscp-transmit/conform-action/set-dscp-transmit) or(../../../exceed-set-dscp-transmit-table/exceed-action/set-dscp-transmit) or (../../../violate-set-dscp-transmit/violate-action/set-dscp-transmit)) ' { + error-message "Two layer 3 markings (dscp and precedence) are not allowed"; + } + } + } + } + container conform-set-qos-transmit-table { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-qos-transmit { + description + "set qos-group and send it"; + type ios-types:qos_value-type; + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container conform-set-qos-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + leaf set-qos-transmit { + description + "set qos-group and send it"; + type ios-types:qos_value-type; + } + } + } + container conform-transmit { + container conform-action { + description + "action when rate is less than conform burst"; + uses police-action-transmit-grouping { + refine "transmit" { + must 'not (../../../conform-drop/conform-action/drop)' { + error-message "Conflicting Transmit and drop actions for conform-actiondrop"; + } + } + } + } + } + container conform-drop { + container conform-action { + description + "action when rate is less than conform burst"; + uses police-action-drop-grouping { + refine "drop" { + must 'not (../../../exceed-transmit/exceed-action/transmit)' { + error-message "conform-action action can not be drop when exceed-action action is transmit"; + } + } + } + } + } + } + + grouping police-exceed-action-grouping { + container exceed-dscp { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf dscp { + type ios-types:dscp-type; + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-clp-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-clp-transmit { + description + "set atm clp and send it"; + type empty; + must 'not ((../../../conform-set-cos-transmit/conform-action/set-cos-transmit) or(../../../exceed-set-cos-transmit/exceed-action/set-cos-transmit) or(../../../violate-set-cos-transmit/violate-action/set-cos-transmit))' { + error-message "Two layer 2 marking are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-cos-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-cos-transmit { + description + "rewrite packet cos and send it"; + type ios-types:cos_value-type; + must 'not ((../../../conform-set-clp-transmit/conform-action/set-clp-transmit) or(../../../exceed-set-clp-transmit/exceed-action/set-clp-transmit) or(../../../violate-set-clp-transmit/violate-action/set-clp-transmit))' { + error-message "Two layer 2 marking are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container exceed-set-cos-transmit-val { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-cos-transmit { + description + "rewrite packet cos and send it"; + type ios-types:cos_value-type; + must 'not ((../../../conform-set-clp-transmit/conform-action/set-clp-transmit) or(../../../exceed-set-clp-transmit/exceed-action/set-clp-transmit) or(../../../violate-set-clp-transmit/violate-action/set-clp-transmit))' { + error-message "Two layer 2 marking are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-discard-class-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-discard-class-transmit { + description + "set discard-class and send it"; + type uint8 { + range "0..7"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-dscp-transmit-table { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-dscp-transmit { + description + "set dscp and send it"; + type ios-types:dscp-type; + must 'not ((../../../conform-set-prec-transmit/conform-action/set-prec-transmit) or(../../../exceed-set-prec-transmit/exceed-action/set-prec-transmit) or (../../../violate-set-prec-transmit/violate-action/set-prec-transmit)) ' { + error-message "Two layer 3 markings are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container exceed-set-dscp-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-dscp-transmit-config { + description + "set dscp and send it"; + type ios-types:dscp-type; + must 'not ((../../../conform-set-prec-transmit/conform-action/set-prec-transmit) or(../../../exceed-set-prec-transmit/exceed-action/set-prec-transmit) or (../../../violate-set-prec-transmit/violate-action/set-prec-transmit)) ' { + error-message "Two layer 3 markings (dscp and precedence) are not allowed"; + } + } + container set-dscp-transmit { + description + "obsolete"; + status obsolete; + container dscp { + status obsolete; + leaf table { + status obsolete; + type enumeration { + enum policed-dscp; + } + } + } + } + } + } + container exceed-set-frde-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-frde-transmit { + description + "set FR DE and send it"; + type empty; + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-mpls-exp-imposition-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-mpls-exp-imposition-transmit { + description + "set exp at tag imposition and send it"; + type ios-types:exp_value-type; + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-mpls-exp-topmost-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-mpls-exp-topmost-transmit { + description + "set exp on topmost label and send it"; + type ios-types:exp_value-type; + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-prec-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-prec-transmit { + description + "rewrite packet precedence and send it"; + type ios-types:prec_value-type; + must 'not ((../../../conform-set-dscp-transmit/conform-action/set-dscp-transmit) or(../../../exceed-set-dscp-transmit-table/exceed-action/set-dscp-transmit) or (../../../violate-set-dscp-transmit/violate-action/set-dscp-transmit)) ' { + error-message "Two layer 3 markings are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + leaf table { + description + "(OBSOLETE) Specify table-map"; + status obsolete; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + container table-container { + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + } + container exceed-set-prec-transmit-val { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-prec-transmit { + description + "rewrite packet precedence and send it"; + type ios-types:prec_value-type; + must 'not ((../../../conform-set-dscp-transmit/conform-action/set-dscp-transmit) or(../../../exceed-set-dscp-transmit-table/exceed-action/set-dscp-transmit) or (../../../violate-set-dscp-transmit/violate-action/set-dscp-transmit)) ' { + error-message "Two layer 3 markings are not allowed together"; + } + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-set-qos-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + leaf set-qos-transmit { + description + "set qos-group and send it"; + type ios-types:qos_value-type; + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + container exceed-transmit { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + uses police-action-transmit-grouping { + refine "transmit" { + must 'not (../../../exceed-drop/exceed-action/drop)' { + error-message "Conflicting Transmit and drop actions for exceed-actiondrop"; + } + } + } + } + } + container exceed-drop { + container exceed-action { + description + "action when rate is within conform and conform + exceed burst"; + uses police-action-drop-grouping { + refine "drop" { + must 'not (../../../violate-transmit/violate-action/transmit)' { + error-message "exceed-action should be transmit when violate-action is transmit"; + } + } + } + } + } + } + + grouping police-violate-action-grouping { + container violate-set-clp-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-clp-transmit { + description + "set atm clp and send it"; + type empty; + must 'not ((../../../conform-set-cos-transmit/conform-action/set-cos-transmit) or(../../../exceed-set-cos-transmit/exceed-action/set-cos-transmit) or(../../../violate-set-cos-transmit/violate-action/set-cos-transmit))' { + error-message "Two layer 2 marking are not allowed together"; + } + } + } + } + container violate-set-cos-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-cos-transmit { + description + "rewrite packet cos and send it"; + type ios-types:cos_value-type; + must 'not ((../../../conform-set-clp-transmit/conform-action/set-clp-transmit) or(../../../exceed-set-clp-transmit/exceed-action/set-clp-transmit) or(../../../violate-set-clp-transmit/violate-action/set-clp-transmit))' { + error-message "Two layer 2 marking are not allowed together"; + } + } + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + container violate-set-discard-class-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-discard-class-transmit { + description + "set discard-class and send it"; + type uint8 { + range "0..7"; + } + } + } + } + container violate-set-dscp-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-dscp-transmit { + description + "set dscp and send it"; + type ios-types:dscp-type; + must 'not ((../../../conform-set-prec-transmit/conform-action/set-prec-transmit) or(../../../exceed-set-prec-transmit/exceed-action/set-prec-transmit) or (../../../violate-set-prec-transmit/violate-action/set-prec-transmit)) ' { + error-message "Two layer 3 markings are not allowed together"; + } + } + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + container violate-set-frde-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-frde-transmit { + description + "set FR DE and send it"; + type empty; + } + } + } + container violate-set-mpls-exp-imposition-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-mpls-exp-imposition-transmit { + description + "set exp at tag imposition and send it"; + type ios-types:exp_value-type; + } + } + } + container violate-set-mpls-exp-topmost-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-mpls-exp-topmost-transmit { + description + "set exp on topmost label and send it"; + type ios-types:exp_value-type; + } + } + } + container violate-set-prec-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-prec-transmit { + description + "rewrite packet precedence and send it"; + type ios-types:prec_value-type; + must 'not ((../../../conform-set-dscp-transmit/conform-action/set-dscp-transmit) or(../../../exceed-set-dscp-transmit-table/exceed-action/set-dscp-transmit) or (../../../violate-set-dscp-transmit/violate-action/set-dscp-transmit)) ' { + error-message "Two layer 3 markings are not allowed together"; + } + } + leaf table { + description + "Specify table-map"; + type leafref { + path "/ios:native/ios:table-map/ios:name"; + } + } + } + } + container violate-set-qos-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + leaf set-qos-transmit { + description + "set qos-group and send it"; + type ios-types:qos_value-type; + } + } + } + container violate-transmit { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + uses police-action-transmit-grouping { + refine "transmit" { + must 'not (../../../violate-drop/violate-action/drop)' { + error-message "Conflicting Transmit and drop actions for violate-actiondrop"; + } + } + } + } + } + container violate-drop { + container violate-action { + description + "action when rate is greater than conform + exceed burst"; + uses police-action-drop-grouping; + } + } + } + + grouping police-action-grouping { + container actions { + uses police-conform-action-grouping; + uses police-exceed-action-grouping; + uses police-violate-action-grouping; + } + } + + grouping random-detect-grouping { + leaf min-threshold { + description + "minimum threshold (in packet by default)"; + type uint32 { + range "1..512000000"; + } + } + leaf min-threshold-unit { + description + "bytes supported on ASR platform only, ms on ASR100x only, us on ASR9xx only"; + type bytes-ms-us-type; + } + leaf max-threshold { + description + "maximum threshold (in packet by default)"; + type uint32 { + range "1..512000000"; + } + } + leaf max-threshold-unit { + description + "bytes supported on ASR platform only, ms on ASR100x only, us on ASR9xx only"; + type bytes-ms-us-type; + } + leaf denominator { + description + "mark probability denominator"; + type uint16 { + range "1..65535"; + } + } + } + + grouping random-detect-percent-grouping { + leaf percent { + description + "% of minimum threshold"; + type empty; + } + leaf min-threshold-percent { + description + "Minimum threshold percentage"; + type uint32 { + range "1..100"; + } + } + leaf max-threshold-percent { + description + "Maximum threshold percentage"; + type uint32 { + range "1..100"; + } + } + } + + grouping config-shape-adaptive-range-grouping { + choice upper-choice { + case range-bps { + container upper-lower-bound-bps { + description + "Maximum/Minimum rate in bps shape can adapt to"; + leaf upper-bound { + description + "Upper Bound Target Rate (bps) (8000-10000000000) + (postfix k, m, g optional, decimal point allowed)"; + type ios-types:storm-control-threshold-type; + } + leaf lower-bound { + description + "Lower Bound Target Rate (bps) (8000-100000000000) + (postfix k, m, g optional, decimal point allowed)"; + type ios-types:storm-control-threshold-type; + } + } + } + case range-percent { + container upper-lower-bound-percent { + description + "Maximum/Minimum rate in percent shape can adapt to"; + container upper-bound { + description + "Maximum/Minimum rate shape can adapt to"; + leaf percent { + description + "% of parent bandwidth for upper bound rate"; + type uint8 { + range "1..100"; + } + } + } + container lower-bound { + description + "% of parent bandwidth for lower bound rate"; + leaf percent { + description + "percentage"; + must '. < ../../upper-bound/percent' { + error-message + "lower percent must be lesser + than upper percent"; + } + type uint8 { + range "1..100"; + } + } + } + } + } + } + } + + grouping config-epbr-set-vrf-nexthop-v4-action-grouping { + choice epbr-set-nexthop-v4 { + case normal-case { + leaf address { + description + "IPv4 next-hop address"; + type inet:ipv4-address; + } + } + case list-case { + leaf-list addresses { + description + "Tracking reachable nexthop"; + ordered-by user; + type inet:ipv4-address; + } + } + } + } + + grouping config-epbr-set-nexthop-v4-action-grouping { + choice epbr-set-nexthop-v4 { + case normal-case { + leaf address { + description + "IPv4 next-hop address"; + type inet:ipv4-address; + } + } + case list-case { + leaf-list addresses { + description + "Tracking reachable nexthop"; + ordered-by user; + type inet:ipv4-address; + } + } + case verify-availability-case { + list verify-availability { + description + "Verify if nexthop is reachable"; + key "ipv4"; + leaf ipv4 { + description + "IP address of next hop"; + type inet:ipv4-address; + } + leaf sequence { + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "Set the next hop depending on the state + of a tracked object"; + type uint16 { + range "1..1000"; + } + } + } + } + } + } + + grouping config-epbr-set-vrf-nexthop-v6-action-grouping { + choice epbr-set-nexthop-v6 { + case normal-case { + leaf address { + description + "IPv6 next-hop address"; + type inet:ipv6-address; + } + } + case list-case { + leaf-list addresses { + description + "Tracking reachable nexthop"; + ordered-by user; + type inet:ipv6-address; + } + } + } + } + + grouping config-epbr-set-nexthop-v6-action-grouping { + choice epbr-set-nexthop-v6 { + case normal-case { + leaf address { + description + "IPv6 next-hop address"; + type inet:ipv6-address; + } + } + case list-case { + leaf-list addresses { + description + "Tracking reachable nexthop"; + ordered-by user; + type inet:ipv6-address; + } + } + case verify-availability-case { + list verify-availability { + description + "Verify if nexthop is reachable"; + key "ipv6"; + leaf ipv6 { + description + "IP address of next hop"; + type inet:ipv6-address; + } + leaf sequence { + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "Set the next hop depending on the state + of a tracked object"; + type uint16 { + range "1..1000"; + } + } + } + } + } + } + + grouping random-detect-grouping-deprecated { + leaf min-threshold { + status obsolete; + description + "(OBSOLETE) minimum threshold (in packet by default)"; + type uint32 { + range "1..512000000"; + } + } + leaf min-threshold-unit { + status obsolete; + description + "(OBSOLETE) bytes supported on ASR platform only, ms on ASR100x only, us on ASR9xx only"; + type bytes-ms-us-type; + } + leaf max-threshold { + status obsolete; + description + "(OBSOLETE) maximum threshold (in packet by default)"; + type uint32 { + range "1..512000000"; + } + } + leaf max-threshold-unit { + status obsolete; + description + "(OBSOLETE) bytes supported on ASR platform only, ms on ASR100x only, us on ASR9xx only"; + type bytes-ms-us-type; + } + leaf denominator { + status obsolete; + description + "(OBSOLETE) mark probability denominator"; + type uint16 { + range "1..65535"; + } + } + } + + grouping config-cos-table-map-grouping { + container cos { + leaf table { + description + "Set code point value based on tablemap."; + type string; + } + } + } + + grouping config-dscp-table-map-grouping { + container dscp { + leaf table { + description + "Set code point value based on tablemap."; + type string; + } + } + } + + grouping config-mpls-table-map-grouping { + container mpls { + container experimental { + container imposition { + leaf table { + description + "Set code point value based on tablemap."; + type string; + } + } + } + } + } + + grouping config-precedence-table-map-grouping { + container precedence { + leaf table { + description + "Set code point value based on tablemap."; + type string; + } + } + } + + grouping config-policy-class-action-grouping { + list action-list { + key "action-type"; + leaf action-type { + type policy-action-type; + } + choice action-param { + case bandwidth-case { + container bandwidth { + when "../action-type = 'bandwidth'"; + leaf bits { + type uint32 { + range "1..100000000"; + } + must 'not ((../percent) or (../remaining/percent) or(../remaining/ratio))' { + error-message "Mixed bandwidth types are not supported. Pls configure bandwidth command either in kbps, percent, remaining percent or remaining ratio but not mixed"; + } + } + leaf percent { + description + "% of total Bandwidth"; + type policy-percent-type; + must 'not ((../bits) or (../remaining/percent) or(../remaining/ratio))' { + error-message "Mixed bandwidth types are not supported. Pls configure bandwidth command either in kbps, percent, remaining percent or remaining ratio but not mixed"; + } + } + container remaining { + description + "% of the remaining bandwidth"; + leaf rem-option { + type enumeration { + enum percent; + enum ratio; + } + } + leaf percent { + description + "% of the remaining bandwidth"; + when "../rem-option='percent'"; + type policy-percent-type; + must 'not ((../ratio) or (../../percent) or (../../bits))' { + error-message "Mixed bandwidth types are not supported. Pls configure bandwidth command either in kbps, percent, remaining percent or remaining ratio but not mixed"; + } + } + leaf ratio { + description + "ratio for sharing excess bandwidth"; + when "../rem-option='ratio'"; + type uint32 { + range "1..65536"; + } + must 'not ((../percent) or (../../percent) or (../../bits))' { + error-message "Mixed bandwidth types are not supported. Pls configure bandwidth command either in kbps, percent, remaining percent or remaining ratio but not mixed"; + } + } + container account { + description + "Overhead Accounting"; + when "../rem-option = 'percent' or ../rem-option = 'ratio'"; + leaf user-defined { + description + "Offset Size"; + type int32 { + range "-1000000..1000000"; + } + } + } + } + } + } + case compression-case { + container compression { + when "../action-type = 'compression'"; + container header { + description + "configure header compression"; + presence "configure header compression"; + leaf ip { + description + "configure ip header compression"; + type enumeration { + enum rtp; + enum tcp; + } + } + } + } + } + case estimate-case { + container estimate { + when "../action-type = 'estimate'"; + container bandwidth { + presence "bandwidth required to service this class"; + description + "bandwidth required to service this class"; + container delay-one-in { + description + "specify QoS target delay"; + leaf doi { + type uint32 { + range "50..1000000"; + } + } + leaf milliseconds { + type uint32 { + range "8..1000"; + } + } + } + leaf drop-one-in { + description + "specify QoS target loss rate"; + type uint32; + } + } + } + } + case forward-case { + container forward { + when "../action-type = 'forward'"; + leaf service-path { + description + "Service Path Entries"; + type uint32 { + range "0..16777215"; + } + } + leaf service-index { + description + "Service Index"; + type uint8 { + range "2..255"; + } + } + } + } + case fair-queue-case { + container fair-queue { + when "../action-type = 'fair-queue'"; + leaf dynamic-queues { + type uint32 { + range "16|32|64|128|256|512|1024|2048|4096"; + } + } + leaf queue-limit { + description + "per flow queue limit"; + type uint16 { + range "1..32768"; + } + } + } + } + case netflow-sampler-case { + leaf netflow-sampler { + when "../action-type = 'netflow-sampler'"; + type string; + } + } + case police-case { + choice police-choice { + case police-aggregate-case { + container police-aggregate { + container police { + when "../../action-type = 'police'"; + leaf aggregate { + description + "Choose aggregate policer for current class"; + type string; + } + } + } + } + case police-policy-map-case { + container police-policy-map { + container police { + when "../../action-type = 'police'"; + choice cir-bc-choice { + case cir-bc { + leaf cir { + description + "Committed information rate"; + type police-bit-rate-type; + } + leaf bc { + description + "Conform burst"; + type police-burst-type; + } + } + } + leaf be { + description + "Excess burst"; + when '../bc'; + type police-burst-type; + } + leaf pir { + description + "Peak Information Rate"; + type police-bps-type; + } + container pir-be { + when '../pir'; + leaf be { + description + "Excess burst"; + type police-burst-type; + } + } + uses police-action-grouping; + } + } + } + case police-cir-percent-case { + container police-cir-percent { + container police { + when "../../action-type = 'police'"; + container cir { + description + "Committed information rate"; + container percent { + description + "% of interface bandwidth for Committed information rate"; + leaf percentage { + type ios-types:percentage; + } + leaf bc { + description + "Conform burst"; + type uint16; + } + container bc-ms { + when '../bc'; + leaf ms { + description + "Milli seconds"; + type empty; + } + } + leaf be { + when '../bc-ms/ms'; + type uint16; + } + container be-ms { + when '../be'; + leaf ms { + description + "Milli seconds"; + type empty; + } + } + container pir { + description + "Peak Information Rate"; + leaf percent { + description + "% of interface bandwidth for Peak Information Rate"; + type ios-types:percentage; + } + } + container pir-be { + when '../pir'; + leaf be { + description + "Excess burst"; + type uint16; + } + } + container pir-be-ms { + when '../pir-be/be'; + leaf ms { + description + "Milli seconds"; + type empty; + } + } + uses police-action-grouping; + } + } + } + } + } + case police-rate-unit-case { + container police-rate-unit { + container police { + when "../../action-type = 'police'"; + container rate { + description + "Specify police rate"; + leaf units { + type uint64; + } + leaf xps { + type police-pps-bps-type; + } + container burst { + description + "Specify 'burst' parameter"; + leaf burst-value { + type uint32; + } + leaf burst-type { + type police-packets-bytes-type; + } + } + container peak-rate { + description + "Specify peak rate"; + leaf peak-rate-value { + type uint32 { + range "1..512000000"; + } + } + leaf xps { + type police-pps-bps-type; + } + } + container peak-burst { + description + "Specify 'peak-burst' parameter for peak-rate"; + leaf burst-value { + type uint32; + } + leaf burst-type { + type police-packets-bytes-type; + } + } + uses police-action-grouping; + } + } + } + } + case police-rate-percent-case { + container police-rate-percent { + container police { + when "../../action-type = 'police'"; + container rate { + description + "Specify police rate"; + container percent { + description + "% of interface bandwidth for rate"; + leaf percentage { + type ios-types:percentage; + } + leaf burst { + description + "Specify 'burst' parameter"; + type uint16 { + range "1..2000"; + } + } + leaf ms { + description + "Treat 'burst' value in milliseconds"; + when '../burst'; + type empty; + } + container peak-rate { + description + "Specify peak rate"; + leaf percent { + description + "% of interface bandwidth for peak-rate"; + type ios-types:percentage; + } + } + leaf peak-burst { + description + "Specify 'peak-burst' parameter for 'peak-rate'"; + type uint16; + } + container peak-burst-ms { + when '../peak-burst'; + leaf ms { + description + "Milli seconds"; + type empty; + } + } + uses police-action-grouping; + } + } + } + } + } + case police-rate-pdp-case { + container police-rate-pdp { + container police { + when "../../action-type = 'police'"; + container rate { + description + "Specify police rate"; + container pdp { + description + "% of interface bandwidth for rate"; + leaf burst { + description + "Conform burst"; + type police-burst-type; + } + leaf peak-rate { + description + "Specify peak rate"; + type enumeration { + enum pdp; + } + } + leaf peak-burst { + description + "Specify 'peak-burst' parameter for 'peak-rate'"; + when '../peak-rate'; + type police-burst-type; + } + uses police-action-grouping; + } + } + } + } + } + case police-target-bitrate-case { + container police-target-bitrate { + container police { + when "../../action-type = 'police'"; + leaf bit-rate { + description + "Target bit rate (bits per second) (postfix k, m, g optional),decimal point allowed"; + type police-bit-rate-type; + } + leaf confirm_burst-byte { + description + "Burst Byte"; + type uint64 { + range "100..512000000"; + } + } + leaf excess_burst-byte { + description + "Burst Byte"; + type uint64 { + range "100..512000000"; + } + } + leaf conform-action { + status obsolete; + description + "action when rate is less than conform burst(OBSOLETE)"; + type empty; + } + leaf transmit { + status obsolete; + description + "transmit packet(OBSOLETE)"; + type empty; + } + leaf exceed-action { + status obsolete; + description + "action when rate is within conform and conform + exceed burst(OBSOLETE)"; + type empty; + } + leaf drop { + status obsolete; + description + "drop packet(OBSOLETE)"; + type empty; + } + leaf set-dscp-transmit { + status obsolete; + description + "set dscp and send it(OBSOLETE)"; + type empty; + } + leaf dscp { + status obsolete; + description + "Set packet dscp from dscp(OBSOLETE)"; + type empty; + } + leaf table { + status obsolete; + description + "Specify table-map(OBSOLETE)"; + type string; + } + container actions { + uses police-conform-action-grouping; + uses police-exceed-action-grouping; + uses police-violate-action-grouping; + } + } + } + } + case police-flow-case { + container police-flow { + container police { + when "../../action-type = 'police'"; + container flow { + description + "police each flow"; + leaf mask { + description + "flow mask to be used for policing"; + type enumeration { + enum dest-only; + enum full-flow; + enum src-only; + } + } + leaf bps { + type police-bps-type; + } + leaf burst-normal { + type police-burst-type; + when '../bps'; + } + uses police-action-grouping; + } + } + } + } + case police-catalyst-case { + container police-catalyst { + container police { + when "../../action-type = 'police'"; + leaf bps-value { + type string; + } + leaf bps { + type empty; + } + leaf byte-value { + type string; + } + leaf byte { + type empty; + } + container actions { + uses police-conform-action-grouping; + uses police-exceed-action-grouping; + uses police-violate-action-grouping; + } + } + } + } + case police-switch-case { + container police-switch { + container police { + when "../../action-type = 'police'"; + leaf cir { + type uint32 { + range "8000..1000000000"; + } + } + leaf bc { + type uint32 { + range "8000..2000000"; + } + } + leaf exceed-action { + description + "action when rate is exceeded"; + type enumeration { + enum drop; + enum policed-dscp-transmit; + } + } + } + } + } + } + } + case priority-case { + container priority { + when "../action-type = 'priority'"; + leaf level { + description + "Multi-Level Priority Queue"; + type uint8 { + range "1..2"; + } + } + choice priority-type { + leaf kilo-bits { + type uint32 { + range "1..100000000"; + } + } + leaf percent { + description + "% of total bandwidth"; + type uint16 { + range "1..100"; + } + } + } + leaf burst { + type uint32 { + range "32..2000000"; + } + } + } + } + case queue-buffers-case { + container queue-buffers { + when "../action-type = 'queue-buffers'"; + leaf ratio { + description + "Relative buffer size for queue"; + type uint8 { + range "0..100"; + } + } + } + } + case queue-limit-case { + container queue-limit { + description + "<1-64000000> in bytes, <1-3400> in ms, <1-512000> in us, <1-8192000> in packets by default"; + when "../action-type = 'queue-limit'"; + must "(../../../class/name = 'class-default') or (../../action-list/shape or ../../action-list/bandwidth or ../../action-list/priority)" { + error-message "queue-limit not allowed without bandwidth shape or priority command"; + } + leaf queue-limit-value { + type uint32 { + range "1..64000000"; + } + } + leaf queue-limit-type { + type enumeration { + enum bytes; + enum ms; + enum packets; + enum us; + } + } + } + container queue-limit-dscp { + when "../action-type = 'queue-limit'"; + list dscp { + description + "parameters for each dscp value"; + key "dscp-val"; + leaf dscp-val { + type ios-types:dscp-type; + } + leaf values { + description + "dscp values"; + type empty; + } + leaf dscp-val1 { + type ios-types:dscp-type; + } + leaf percent { + description + "% of threshold"; + type uint8 { + range "0..100"; + } + } + } + } + } + case random-detect { + container random-detect { + when "../action-type = 'random-detect'"; + container aggregate { + description + "aggregate subclasses"; + presence "true"; + leaf minimum-thresh { + description + "minimum threshold for red aggregate"; + type uint32 { + range "0..1000000"; + } + } + leaf maximum-thresh { + description + "maximum threshold for red aggregate"; + type uint32 { + range "0..1000000"; + } + } + leaf mark-probability { + description + "mark-probability for red aggregate"; + type empty; + } + leaf denominator { + type uint32 { + range "0..65535"; + } + } + } + leaf cos-based { + description + "Enable cos-class-based WRED as drop policy, supported on ASR9xx platform only"; + type empty; + } + container cos { + description + "parameters for each cos value, supported on ASR9xx platform only"; + leaf cos-val { + type uint16 { + range "0..7"; + } + } + uses random-detect-grouping; + } + leaf discard-class-based { + description + "Enable discard-class-based WRED as drop policy"; + type empty; + } + list discard-class-list { + description + "parameters for each discard-class value"; + key "dclass"; + leaf dclass { + type uint16 { + range "0..7"; + } + } + uses random-detect-grouping; + } + container discard-class { + description + "(OBSOLETE) parameters for each discard-class value"; + status obsolete; + leaf dclass { + status obsolete; + type uint16 { + range "0..7"; + } + } + uses random-detect-grouping-deprecated; + } + leaf dscp-based { + description + "Enable dscp-based WRED as drop policy"; + type empty; + } + list dscp { + description + "parameters for each dscp value"; + key "dscp-val"; + leaf dscp-val { + type ios-types:dscp-type; + } + uses random-detect-grouping; + } + leaf ecn { + description + "explicit congestion notification"; + type empty; + } + leaf exponential-weighting-constant { + description + "weight for mean queue depth calculation"; + type uint16 { + range "1..16"; + } + } + leaf precedence-based { + description + "Enable precedence-based WRED as drop policy"; + type empty; + } + container precedence { + description + "parameters for each precedence value"; + leaf prec { + type precedence-type2; + } + uses random-detect-grouping; + } + leaf mpls-exp-based { + description + "Enable mpls-based WRED as drop policy"; + type empty; + } + list exp { + description + "parameters for each mpls exp value"; + must '../mpls-exp-based' { + error-message + "random-detect mpls-exp-based + must be enabled first"; + } + key "exp-val"; + leaf exp-val { + description + "Subclass ID"; + type uint16 { + range "0..7"; + } + } + choice exp-choice { + case random-detect-grouping { + uses random-detect-grouping; + } + case percent-group { + uses random-detect-percent-grouping; + } + } + } + } + } + case service-policy-case { + leaf service-policy { + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + } + case set-case { + container set { + when "../action-type = 'set'"; + leaf atm-clp { + description + "Set ATM CLP bit to 1"; + type empty; + } + container cos { + description + "Set IEEE 802.1Q/ISL class of service/user priority"; + choice cos-type { + case a { + leaf val { + type uint16 { + range "0..7"; + } + } + } + case b { + leaf pack { + type enumeration { + enum dscp; + enum precedence; + enum cos; + enum qos-group; + enum wlan; + } + } + leaf user-priority { + description + "Set value from WLAN user-priority"; + when "../pack = 'wlan'"; + type empty; + } + leaf table { + description + "Set code point value based on tablemap."; + type string; + } + } + } + } + container traffic-class { + description + "Set traffic class"; + choice traffic-class-type { + case traffic-value { + leaf value { + description + "Traffic class value"; + type uint8 { + range "0..7"; + } + } + } + case traffic-cos { + uses config-cos-table-map-grouping; + } + case traffic-dscp { + uses config-dscp-table-map-grouping; + } + case traffic-mpls { + uses config-mpls-table-map-grouping; + } + case traffic-precedence { + uses config-precedence-table-map-grouping; + } + } + } + container discard-class-group { + description + "Set discard class action"; + choice discard-class-type { + case discard-val { + leaf discard-class-val { + description + "Discard behavior identifier"; + type uint8 { + range "0..7"; + } + } + } + case discard-cos-type { + uses config-cos-table-map-grouping; + } + case discard-dscp-type { + uses config-dscp-table-map-grouping; + } + case discard-mpls-type { + uses config-mpls-table-map-grouping; + } + case discard-precedence-type { + uses config-precedence-table-map-grouping; + } + } + } + leaf discard-class { + description + "Discard behavior identifier"; + status deprecated; + type uint16 { + range "0..7"; + } + } + container dscp { + description + "Set DSCP in IP(v4) and IPv6 packets"; + container dscp { + description + "Set packet dscp from dscp"; + presence "true"; + leaf table { + description + "Set packet dscp from dscp based on table map."; + type string; + } + } + leaf tunnel { + description + "set tunnel packet dscp"; + type empty; + } + leaf dscp-val { + type ios-types:dscp-type; + } + } + leaf fr-de { + description + "Set FR DE bit to 1"; + type empty; + } + container ip { + description + "Set IP specific values"; + choice ip-choice { + container dscp { + description + "Set IP DSCP (DiffServ CodePoint)"; + leaf tunnel { + description + "set tunnel packet dscp"; + type empty; + } + leaf dscp-val { + type ios-types:dscp-type; + } + } + container precedence { + description + "Set IP precedence"; + presence "Set IP precedence"; + leaf precedence-val { + type ios-types:precedence-type; + } + } + } + } + container mpls { + description + "Set MPLS specific values"; + container experimental { + description + "Set Experimental value"; + container imposition { + description + "Set Experimental value at tag imposition"; + leaf exp-value { + type uint8 { + range "0..7"; + } + } + } + container topmost { + description + "Set Experimental value on topmost label"; + leaf exp-value { + type uint8 { + range "0..7"; + } + } + } + } + } + container qos-group { + description + "Set QoS Group"; + leaf qos-group-value { + type uint8 { + range "0..99"; + } + } + } + container wlan { + description + "Set WLAN"; + leaf user-priority { + description + "Set WLAN user-priority"; + type uint8 { + range "0..7"; + } + } + } + container ipv4 { + description + "IPv4 redirect action"; + choice ipv4-choice { + case set-next-hop { + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-nexthop-v4-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv4-address; + } + } + case set-vrf { + container vrf { + description + "Redirect VRF"; + list verify-availability-list { + must 'not (../vrf-name)' { + error-message "please remove other set vrf first"; + } + key "vrf-name next-hop verify-availability"; + leaf vrf-name { + type string; + } + leaf next-hop { + description + "Set next hop"; + type enumeration { + enum next-hop; + } + } + leaf verify-availability { + description + "Configure verify availability for next hop"; + type inet:ipv4-address; + } + leaf sequence { + description + "Set next-hop sequence"; + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "Set the next hop depending on the state + of a tracked object"; + type uint16 { + range "1..1000"; + } + } + } + leaf vrf-name { + must 'not (../verify-availability-list)' { + error-message "please remove other verify-availability first"; + } + type string; + } + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-vrf-nexthop-v4-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv4-address; + } + } + } + case set-global { + container global { + description + "Redirect to global routing table"; + presence "set next-hop global routing table"; + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-nexthop-v4-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv4-address; + } + } + } + } + } + container ipv6 { + description + "IPv6 redirect action"; + choice ipv6-choice { + case set-next-hop { + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-nexthop-v6-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv6-address; + } + } + case set-vrf { + container vrf { + description + "Redirect VRF"; + list verify-availability-list { + must 'not (../vrf-name)' { + error-message "please remove other set vrf first"; + } + key "vrf-name next-hop verify-availability"; + leaf vrf-name { + type string; + } + leaf next-hop { + description + "Set next hop"; + type enumeration { + enum next-hop; + } + } + leaf verify-availability { + description + "Configure verify availability for next hop"; + type inet:ipv6-address; + } + leaf sequence { + description + "Set next-hop sequence"; + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "Set the next hop depending on the state + of a tracked object"; + type uint16 { + range "1..1000"; + } + } + } + leaf vrf-name { + must 'not (../verify-availability-list)' { + error-message "please remove other verify-availability first"; + } + type string; + } + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-vrf-nexthop-v6-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv6-address; + } + } + } + case set-global { + container global { + description + "Redirect to global routing table"; + presence "set next-hop global routing table"; + container next-hop-config { + description + "Redirect next-hop"; + uses config-epbr-set-nexthop-v6-action-grouping; + } + leaf next-hop { + description + "obsolete"; + status obsolete; + type inet:ipv6-address; + } + } + } + } + } + container forward-class { + description + "Set packets forward-class value"; + when "../../../../type = 'epbr'"; + leaf forward-class-value { + type uint8 { + range "0..7"; + } + } + } + container interface { + description + "Set output interface"; + uses ios-ifc:interface-grouping; + } + } + } + case shape-case { + container shape { + when "../action-type = 'shape'"; + container adaptive { + description + "Enable Traffic Shaping adaptation"; + choice adaptive-choice { + case bps { + leaf bits-per-second { + description + "Lower Bound Target Bit Rate (bits per second)"; + must '../../average' { + error-message + "shape ' command + needs to be configured first"; + } + type uint32 { + range "8000..1215752192"; + } + } + } + case range { + uses config-shape-adaptive-range-grouping; + } + } + } + container average { + description + "configure token bucket: CIR (bps) [Bc (bits) [Be (bits)]], send out Bc only per interval"; + choice average-choice { + case a { + leaf bit-rate { + description + "Target Bit Rate (bits/sec)"; + type uint64 { + range "1000..100000000000"; + } + } + leaf bits-per-interval-sustained { + description + "bits per interval, sustained. Recommend not to configure, algo finds the best value"; + type uint32 { + range "32..800000000"; + } + } + leaf bits-per-interval-excess { + description + "bits per interval, excess."; + when '../bits-per-interval-sustained'; + type uint32 { + range "0..154400000"; + } + } + container account { + description + "Overhead Accounting"; + leaf user-defined { + description + "Offset Size"; + type int32 { + range "-1000000..1000000"; + } + } + } + } + case b { + leaf percent { + description + "% of interface bandwidth for Committed information rate"; + type ios-types:percentage; + } + leaf burst-size-sustained { + description + "sustained burst in milliseconds. Recommend not to configure it, the algorithm will find out the best value"; + type uint16 { + range "10..2000"; + } + } + leaf ms { + description + "milliseconds"; + type empty; + } + container bse { + leaf burst-size-excess { + description + "sustained burst in milliseconds. Recommend not to configure it, the algorithm will find out the best value"; + type uint16 { + range "10..2000"; + } + } + leaf ms { + description + "milliseconds"; + type empty; + } + } + } + } + } + leaf fecn-adapt { + description + "Enable Traffic Shaping reflection of FECN as BECN"; + type empty; + } + container fr-voice-adapt { + description + "Enable rate adjustment depending on voice presence"; + presence "Enable rate adjustment depending on voice presence"; + leaf deactivation { + type uint16 { + range "1..10000"; + } + } + } + leaf max-buffers { + description + "Set Maximum Buffer Limit"; + type uint16 { + range "1..4096"; + } + } + } + } + case trust-case { + leaf trust { + when "../action-type = 'trust'"; + type enumeration { + enum cos; + enum dscp; + enum ip-precedence; + } + } + } + } + } + } + + grouping config-policy-map-grouping { + list policy-map { + description + "Configure QoS Policy Map"; + key "name"; + leaf name { + description + "Name of the policy map"; + type string { + length "1..203"; + } + } + leaf type { + description + "type of the policy-map"; + type enumeration { + enum access-control; + enum appnav; + enum inspect; + enum control; + enum epbr; + enum packet-service; + enum performance-monitor; + enum service; + enum service-chain; + enum umbrella; + enum queueing; + enum ngsw-qos; + } + } + leaf subscriber { + description + "Domain name of the policy map"; + type empty; + } + leaf protocol { + description + "protocol of policy map"; + type enumeration { + enum avc; + enum http; + enum im; + enum imap; + enum p2p; + enum pop3; + enum smtp; + enum sunrpc; + } + } + leaf optimized { + description + "Optimization enable for policy"; + must "(../type = 'inspect')"; + type empty; + } + list event { + description + "The event type this control class-map triggers upon"; + key "event-type"; + ordered-by user; + leaf event-type { + description + "The event this control class-map triggers upon"; + type enumeration { + enum aaa-available; + enum absolute-timeout; + enum agent-found; + enum authentication-failure; + enum authentication-success; + enum authorization-failure; + enum authorization-success; + enum identity-update; + enum inactivity-timeout; + enum remote-authentication-failure; + enum remote-authentication-success; + enum session-disconnected; + enum session-started; + enum tag-added; + enum tag-removed; + enum template-activated; + enum template-activation-failed; + enum template-deactivated; + enum template-deactivation-failed; + enum timer-expiry; + enum violation; + enum remote-update; + } + } + leaf match-type { + description + "Matching criteria for first or all events."; + type enumeration { + enum match-all; + enum match-first; + } + default "match-all"; + } + list class-number { + description + "class number, 1 for 1st class, 2 for 2nd..."; + key "number"; + leaf number { + description + "class number, 1 for 1st class, 2 for 2nd..."; + type uint8 { + range "1..254"; + } + } + leaf class { + description + "The class type this control policy-map triggers upon"; + type union { + type enumeration { + enum always; + } + type string; + } + must "((/ios:native/ios:policy/class-map[ios-policy:name = current()]/ios-policy:type = 'control') or (current() = 'always'))" { + error-message + "class map does not exist + or currently active on a policy"; + } + } + leaf execution-type { + description + "Policy execution strategy"; + type enumeration { + enum do-all; + enum do-until-failure; + enum do-until-success; + } + default "do-until-failure"; + } + list action-number { + description + "action number, 1 for 1st class, 2 for 2nd..."; + key "number"; + leaf number { + description + "action number, 1 for 1st class, 2 for 2nd..."; + type uint8 { + range "1..254"; + } + } + leaf terminate-config { + description + "terminate auth method"; + type enumeration { + enum dot1x; + enum mab; + enum webauth; + } + } + container terminate { + status obsolete; + description + "terminate auth method (OBSOLETE use terminate-config)"; + leaf dot1x { + status obsolete; + description + "dot1x method (OBSOLETE use terminate-config)"; + type empty; + } + leaf mab { + status obsolete; + description + "mab method (OBSOLETE use terminate-config)"; + type empty; + } + leaf webauth { + status obsolete; + description + "webauth method (OBSOLETE use terminate-config)"; + type empty; + } + } + leaf replace { + description + "clear existing session and create session for violating host"; + type empty; + } + leaf restrict { + description + "drop violating packets and generate a syslog"; + type empty; + } + leaf clear-session { + description + "clears an active session"; + type empty; + } + leaf clear-authenticated-data-hosts-on-port { + description + "clears authenticated data hosts on the port"; + type empty; + } + leaf protect { + description + "silently drop violating packets"; + type empty; + } + leaf err-disable { + description + "temporarily disable port"; + type empty; + } + container resume { + description + "resume operation to be specified"; + leaf reauthentication { + description + "resume reauthentication"; + type empty; + } + } + leaf authentication-restart { + description + "restarts the auth sequence after the specified number of sec"; + type uint16 { + range "1..65535"; + } + } + container pause { + description + "pause operation to be specified"; + leaf reauthentication { + description + "pause reauthentication"; + type empty; + } + } + leaf authorize { + description + "authorize session"; + type empty; + } + container activate { + description + "activate template or policy"; + container service-template-config { + leaf service-template { + description + "activate service template"; + type string { + length "1..48"; + } + } + leaf aaa-list { + description + "Named Method List"; + type string; + } + leaf precedence { + description + "Template precedence"; + type uint8 { + range "1..254"; + } + } + leaf replace-all { + description + "Replace all existing authorization data and services"; + type empty; + } + } + leaf service-template { + status obsolete; + description + "OBSOLETE. Use service-template-config instead. activate service template"; + type string; + } + leaf interface-template { + description + "activate interface template"; + type string; + } + container policy { + description + "activate policy"; + container type { + description + "policy type"; + container control { + description + "policy type control"; + leaf subscriber { + description + "policy type control subscriber"; + type string; + } + } + } + } + } + container deactivate { + description + "deactivate template or policy"; + leaf service-template { + description + "activate service template"; + type string; + } + leaf interface-template { + description + "activate interface template"; + type string; + } + container policy { + description + "activate policy"; + container type { + description + "policy type"; + container control { + description + "policy type control"; + leaf subscriber { + description + "policy type control subscriber"; + type string; + } + } + } + } + } + container set-timer { + description + "set abs timer to pop N seconds from now"; + leaf name { + description + "timer name"; + type string; + } + leaf value { + description + "Enter a value between 1 and 65535"; + type uint16 { + range "0..65535"; + } + } + } + leaf set-domain { + description + "set domain"; + type enumeration { + enum data; + enum voice; + enum switch; + } + } + leaf unauthorize { + description + "unauthorize session"; + type empty; + } + leaf notify { + description + "notifies the session attributes"; + type empty; + } + container authenticate { + description + "authenticate a session"; + container using { + description + "authenticate a session"; + leaf method { + description + "method/protocol to be used for authentication"; + type enumeration { + enum dot1x; + enum mab; + enum webauth; + } + } + container aaa { + description + "configure aaa method list"; + leaf authc-list { + description + "Specify authentication method list"; + type string; + } + leaf authz-list { + description + "Specify authorization method list"; + type string; + } + } + leaf both { + description + "Enabling Dot1x Authenticator & Supplicant"; + type empty; + } + leaf retries { + description + "Number of times to retry failed authentications"; + type uint8 { + range "1..5"; + } + } + leaf retry-time { + description + "Time interval between retries"; + type uint16 { + range "0..65535"; + } + } + leaf priority { + description + "Method priority"; + type uint8 { + range "1..254"; + } + } + leaf parameter-map { + description + "Specify parameter map name"; + type string; + } + } + } + container map { + description + "map identity-update attribute to a auto-conf templates"; + container attribute-to-service { + description + "map identity-update attribute to a auto-conf templates"; + leaf table { + description + "map identity-update attribute to a auto-conf templates"; + type string; + } + } + } + } + } + } + container pppoe { + description + "Configure PPPoE related commands"; + list service { + description + "Service name to be advertised to PPPoE client"; + key "name"; + ordered-by user; + leaf name { + description + "Name of service policy-map"; + type string { + pattern '.*'; + length "1..49"; + } + } + } + } + leaf sequence-interval { + description + "Enable sequence number capability"; + when "not(current()/../type) or current()/../type = 'appnav'"; + type uint16; + } + list class { + description + "policy criteria"; + must "not(../sequence-interval) or current()/../type = 'appnav' or (current()/../sequence-interval and contains(current()/name, 'class-default'))" { + error-message "class without sequence number is not allowed(except for class-default)"; + } + key "name"; + ordered-by user; + leaf name { + type class-name-type; + } + leaf type { + description + "type of the class-map"; + type enumeration { + enum inspect; + } + } + leaf direct-cloud-access { + description + "Umbrella Direct Cloud Access Action"; + type empty; + } + leaf insert-before { + description + "Insert the class before a specified class"; + when "../../type = 'appnav'"; + type string; + } + container appnav-policy { + when "../../type = 'appnav'"; + list distribute { + description + "Distribute action"; + key "service-node-group"; + leaf service-node-group { + description + "Distribute to service-node-group"; + type string; + } + leaf insert-before { + description + "Insert before specific node"; + type string; + } + } + leaf monitor-load { + description + "Monitor AO"; + when '../distribute'; + type enumeration { + enum MS-port-mapper; + enum cifs; + enum http; + enum ica; + enum mapi; + enum nfs; + enum ssl; + enum video; + } + } + leaf pass-through { + description + "pass-through action"; + type empty; + } + } + container avc { + when "../../protocol = 'avc'"; + choice avc-allow-or-drop { + leaf allow { + description + "Allow the packet"; + type empty; + } + leaf deny { + description + "Deny the packet"; + type empty; + } + } + } + container policy { + when "../../type = 'inspect'"; + leaf action { + type enumeration { + enum cxsc; + enum drop; + enum inspect; + enum pass; + } + } + leaf log { + description + "Send logging message for drop or pass"; + when "../action = 'drop'or ../action = 'pass'"; + type empty; + } + leaf parameter-map { + when "../action = 'inspect' or ../action = 'cxsc'"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect/ios-policy:name"; + } + } + } + container service-policy { + when "../../type = 'inspect'"; + description + "Deep Packet Inspection Engine"; + leaf type { + type enumeration { + enum avc; + enum gtpv0; + enum gtpv1; + enum imap; + enum pop3; + enum smtp; + enum sunrpc; + } + } + leaf policy-map { + description + "DPI policy-map name"; + type leafref { + path "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:name"; + } + } + } + container pm-policy { + when "../../type = 'performance-monitor'"; + container flow { + description + "Flow subcommands"; + leaf monitor { + description + "Apply a Flow Monitor"; + type string; + } + } + container monitor { + description + "Monitor related parameters"; + container metric { + description + "Monitor metric"; + container rtp { + description + "RTP metrics parameters"; + list clock-rate { + description + "RTP timestamp field's sampling frequency"; + key "number"; + leaf number { + type union { + type uint8 { + range "0..127"; + } + type enumeration { + enum celb; + enum cn; + enum default; + enum dvi4; + enum dvi4-2; + enum dvi4-3; + enum dvi4-4; + enum g722; + enum g723; + enum g728; + enum g729; + enum gsm; + enum h261; + enum h263; + enum jpeg; + enum l16; + enum l16-2; + enum lpc; + enum mp2t; + enum mpa; + enum mpv; + enum nv; + enum pcma; + enum pcmu; + enum qcelp; + } + } + } + leaf frequency { + type uint32 { + range "1000..192000"; + } + } + } + } + } + } + list react { + description + "Configure threshold crossing actions"; + key "id"; + leaf id { + type uint16; + } + leaf mode { + type enumeration { + enum media-stop; + enum mrv; + enum rtp-jitter-average; + enum transport-packets-lost-rate; + } + } + leaf description { + description + "Description for the instance"; + type string; + } + container action { + description + "Config react action"; + leaf snmp { + description + "SNMP is notified of the event"; + type empty; + } + leaf syslog { + description + "The threshold-crossing event is logged to syslog"; + type empty; + } + } + container alarm { + description + "Config react alarm"; + leaf severity { + description + "Alarm severity - default level none"; + type enumeration { + enum alert; + enum critical; + enum emergency; + enum error; + enum info; + } + } + container type { + description + "Alarm raised type - for each flow or a group"; + leaf discrete { + description + "Alert for each flow within the class"; + type empty; + } + container grouped { + description + "Alert if more than one flow cross the threshold"; + leaf count { + description + "Number of flows in the group cross the threshold"; + type uint16; + } + leaf percent { + description + "Percent of flows in the group cross the threshold"; + type uint8 { + range "1..100"; + } + } + } + } + } + container threshold { + description + "Config react threshold"; + container value { + description + "Range of percentage loss that would trigger the alarm"; + leaf ge { + description + "greater and equal to"; + type string; + } + leaf gt { + description + "greater than"; + type string; + } + leaf le { + description + "less and equal to"; + type string; + } + leaf lt { + description + "less than"; + type string; + } + container range { + description + "threshold within the range of"; + leaf low { + type string; + } + leaf high { + type string; + } + } + } + } + } + } + container inspect-police { + when "../policy/action = 'inspect'"; + container police { + description + "Police"; + leaf rate { + description + "Specify police rate"; + type uint32 { + range "8000..2000000000"; + } + } + leaf burst { + description + "Specify 'burst' parameter"; + type uint32 { + range "1000..512000000"; + } + } + } + } + leaf random-detect { + status obsolete; + type empty; + } + uses config-policy-class-action-grouping; + } + list sequence-class { + description + "policy criteria"; + when 'not(current()/../type) and current()/../sequence-interval'; + if-feature "ios-features:switching-platform"; + key "class-number class-name"; + leaf class-number { + description + "Sequence number for this class"; + type uint32 { + range "1..4294966271"; + } + } + leaf class-name { + description + "class-map name"; + type class-name-type; + } + uses config-policy-class-action-grouping; + } + leaf description { + description + "Policy-Map description"; + type string { + length "1..200"; + } + } + container parameter { + description + "policy parameters"; + when "../type = 'epbr' or ../type = 'performance-monitor'"; + container default { + description + "default parameter map"; + leaf flow-stickness { + description + "flow-stickness parameter map"; + when "../../../type = 'epbr'"; + type empty; + } + leaf account-on-resolution { + description + "account-on-resolution parameter map"; + when "../../../type = 'performance-monitor'"; + type empty; + } + } + } + } + } + + grouping config-service-group-interface { + leaf group { + description + "Add this subinterface to a group"; + type leafref { + path "/ios:native/ios-policy:service-group/ios-policy:group-id"; + } + } + } + + grouping config-service-group { + list service-group { + description + "service-group global command"; + key "group-id"; + leaf group-id { + description + "Service Group ID Number"; + type uint16 { + range "1..65532"; + } + } + leaf description { + description + "Service group specific description"; + type string { + length "1..200"; + } + } + container service-policy { + description + "Attach a policy-map to a service group"; + leaf input { + description + "Attach a policy-map to ingress of a service group"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + leaf output { + description + "Attach a policy-map to egress of a service group"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + } + } + } + + grouping class-map-match-result-type-grouping { + leaf aaa-timeout { + description + "aaa timeout type"; + type empty; + } + leaf agent-not-found { + description + "agent not found type"; + type empty; + } + leaf authoritative { + description + "failure type"; + type empty; + } + leaf method-timeout { + description + "method timeout type"; + type empty; + } + leaf none { + description + "no type"; + type empty; + } + leaf success { + description + "success type"; + type empty; + } + } + + grouping class-map-control-filter-grouping { + list activated-service-template { + description + "match name of service template activated on session"; + key "service-name"; + leaf service-name { + description + "Enter service name"; + type string; + } + } + leaf-list authorization-failure { + description + "match the type of authorization failure from an authorization failed event"; + type enumeration { + enum domain-change-failed; + enum linksec-failed; + enum tunnel-return; + } + } + leaf-list day { + description + "match day of week"; + type enumeration { + enum Daily; + enum Fri; + enum Mon; + enum Sat; + enum Sun; + enum Thurs; + enum Tue; + enum Wed; + enum Weekdays; + enum Weekends; + } + } + list join-time-of-day { + description + "join time of day"; + key "start-time end-time"; + leaf start-time { + type ios-types:hhmm-type; + } + leaf end-time { + type ios-types:hhmm-type; + } + } + leaf-list platform-type { + description + "name of the platform-type"; + type string; + } + leaf-list eap-type { + description + "match name of the eap-type"; + type enumeration { + enum fast; + enum gtc; + enum leap; + enum md5; + enum mschapv2; + enum peap; + enum tls; + } + } + container authorization-status { + description + "match the authorization status of the session"; + leaf authorized { + description + "authorized"; + type empty; + } + leaf unauthorized { + description + "unauthorized"; + type empty; + } + } + container authorizing-method-priority { + description + "match the priority against the authorizing method's priority"; + leaf-list equal { + description + "list of equal to"; + type uint8 { + range "1..254"; + } + } + leaf eq { + status obsolete; + description + "equal to ,OBSOLETE"; + type uint8 { + range "1..254"; + } + } + leaf-list greater-than { + description + "greater than"; + type uint8 { + range "1..254"; + } + } + leaf gt { + status obsolete; + description + "greater than, OBSOLETE"; + type uint8 { + range "1..254"; + } + } + leaf-list less-than { + description + "less than"; + type uint8 { + range "1..254"; + } + } + leaf lt { + status obsolete; + description + "less than, OBSOLETE"; + type uint8 { + range "1..254"; + } + } + } + leaf-list client-type-list { + description + "match the type of device from an event"; + type enumeration { + enum data; + enum switch; + enum video; + enum voice; + } + } + leaf client-type { + status obsolete; + description + "match the type of device from an event, OBSOLETE"; + type enumeration { + enum data; + enum switch; + enum video; + enum voice; + } + } + list device-type-new { + description + "List of device-type to match normal strings and/or strings with regular expressions"; + key "name"; + leaf name { + description + "match name of the device-type"; + type string; + } + leaf regex { + description + "match regular expression of the device-type"; + type empty; + } + } + leaf-list device-type-list { + status obsolete; + description + "match name of the device-type (OBSOLETE use device-type-new instead)"; + type string; + } + leaf device-type { + status obsolete; + description + "match name of the device-type (OBSOLETE use device-type-new instead)"; + type string; + } + leaf-list interface-list { + description + "match the session interface"; + type string; + } + leaf interface { + status obsolete; + description + "match the session interface, OBSOLETE"; + type string; + } + leaf-list ip-address-list { + description + "match the IP address from an event"; + type inet:ipv4-address; + } + leaf ip-address { + status obsolete; + description + "match the IP address from an event, OBSOLETE"; + type inet:ipv4-address; + } + leaf-list ipv6-address-list { + description + "match the IPv6 address from an event"; + type inet:ipv6-address; + } + leaf ipv6-address { + status obsolete; + description + "match the IPv6 address from an event, OBSOLETE"; + type inet:ipv6-address; + } + leaf-list mac-address-list { + description + "match the MAC address from an event"; + type ios-types:cisco-mac-address-type; + } + leaf mac-address { + status obsolete; + description + "match the MAC address from an event, OBSOLETE"; + type ios-types:cisco-mac-address-type; + } + container method { + description + "match the type of authentication method from an event"; + leaf dot1x { + description + "dot1x"; + type empty; + } + leaf mab { + description + "mab"; + type empty; + } + leaf webauth { + description + "webauth"; + type empty; + } + } + leaf-list oui-list { + description + "match the oui address from an event"; + type ios-types:cisco-mac-address-type; + } + leaf oui { + status obsolete; + description + "match the oui address from an event, OBSOLETE"; + type ios-types:cisco-mac-address-type; + } + leaf-list port-type-list { + description + "match the type interface from an event"; + type enumeration { + enum dot11-port; + enum l2-port; + enum l3-port; + } + } + leaf port-type { + status obsolete; + description + "match the type interface from an event, OBSOLETE"; + type enumeration { + enum dot11-port; + enum l2-port; + enum l3-port; + } + } + container result-type { + description + "match the result type, optionally for a specific method"; + container method { + description + "match the result of a particular method"; + container dot1x { + description + "dot1x result"; + uses class-map-match-result-type-grouping; + } + container mab { + description + "mab result"; + uses class-map-match-result-type-grouping; + } + container webauth { + description + "webauth result"; + uses class-map-match-result-type-grouping; + } + } + uses class-map-match-result-type-grouping; + } + leaf-list service-template-name { + description + "match name of service template from an event"; + type string; + } + leaf service-template { + status obsolete; + description + "match name of service template from an event, OBSOLETE"; + type string; + } + leaf-list session-type-name { + description + "match the session type"; + type enumeration { + enum wired; + enum wireless; + } + } + leaf session-type { + status obsolete; + description + "match the session type, OBSOLETE"; + type enumeration { + enum wired; + enum wireless; + } + } + leaf-list sgt-name { + description + "match the sgt session"; + type uint16 { + range "2..65519"; + } + } + leaf sgt { + status obsolete; + description + "match the sgt session, OBSOLETE"; + type uint16 { + range "2..65519"; + } + } + leaf-list ssid-list { + description + "match the ssid of the session"; + type string; + } + leaf ssid { + status obsolete; + description + "match the ssid of the session, OBSOLETE"; + type string; + } + leaf-list tag-name { + description + "match tag from an event"; + type string; + } + leaf tag { + status obsolete; + description + "match tag from an event, OBSOLETE"; + type string; + } + leaf-list timer-name { + description + "match the type of timer"; + type string; + } + leaf timer { + status obsolete; + description + "match the type of timer, OBSOLETE"; + type string; + } + leaf-list user-role-name { + description + "match the user-role"; + type string; + } + leaf user-role { + status obsolete; + description + "match the user-role, OBSOLETE"; + type string; + } + leaf-list username-list { + description + "match the username"; + type string; + } + leaf username { + status obsolete; + description + "match the username, OBSOLETE"; + type string; + } + } + + grouping class-map-match-access-grouping { + container access-group { + description + "Access group"; + leaf index { + description + "Numbered Access List"; + type ios-types:access-list-type; + } + leaf-list name { + description + "Named Access List"; + ordered-by user; + type string { + length "1..64"; + } + } + container input { + description + "Input traffic class parameters"; + choice input-choice { + case index { + leaf index { + description + "Numbered Access List"; + type uint32 { + range "1..2799"; + } + } + } + case name { + leaf name { + description + "Named Access List"; + type string { + length "1..80"; + } + } + } + } + } + container output { + description + "Output traffic class parameters"; + choice input-choice { + case index { + leaf index { + description + "Numbered Access List"; + type uint32 { + range "1..2799"; + } + } + } + case name { + leaf name { + description + "Named Access List"; + type string { + length "1..80"; + } + } + } + } + } + } + container identity { + description + "Identity"; + container source { + leaf-list user { + description + "Username"; + type string { + length "1..255"; + } + } + leaf-list user-group { + description + "User-group ID"; + type string { + length "1..255"; + } + } + } + } + container protocol { + description + "Protocol"; + list protocols-list { + description + "List of protocols to match"; + key "protocols"; + leaf protocols { + description + "Name of the protocol to match"; + type string; + } + } + container attribute { + description + "Attribute based protocol match"; + list application-group { + description + "Application-group attribute"; + key "name"; + leaf name { + description + "Application-group type class name to match"; + type string; + } + } + list application-set { + description + "Application-set attribute"; + key "name"; + leaf name { + description + "Application-set type class name to match"; + type string; + } + } + list application-family { + description + "Application-family attribute"; + key "name"; + leaf name { + description + "Application-family type class name to match"; + type string; + } + } + list business-relevance { + description + "Application business-relevance"; + key "name"; + leaf name { + description + "Application business-relevance type class name to match"; + type string; + } + } + list category { + description + "Category attribute"; + key "name"; + leaf name { + description + "Category type class name to match"; + type string; + } + } + list encrypted { + description + "Encrypted applications"; + key "name"; + leaf name { + description + "Encrypted applications type class name to match"; + type string; + } + } + list sub-category { + description + "Sub-category attribute"; + key "name"; + leaf name { + description + "Sub-category type class name to match"; + type string; + } + } + list traffic-class { + description + "SRND class"; + key "name"; + leaf name { + description + "SRND class type class name to match"; + type string; + } + } + list tunnel { + description + "Tunnelled applications"; + key "name"; + leaf name { + description + "Tunnelled applications type class name to match"; + type string; + } + } + } + } + container traffic-category { + description + "Match on traffic-category"; + choice traffic-category-case { + leaf allow { + description + "Match packets of 'allow' traffic category"; + type empty; + } + leaf optimize { + description + "Match packets of 'optimize' traffic category"; + type empty; + } + } + } + } + + grouping class-map-match-common-grouping { + container current-method-priority { + description + "match the priority against the current method's priority"; + leaf-list equal { + description + "equal to"; + type uint8 { + range "1..254"; + } + } + leaf eq { + status obsolete; + description + "equal to, OBSOLETE"; + type uint8 { + range "1..254"; + } + } + leaf-list greater-than { + description + "greater than"; + type uint8 { + range "1..254"; + } + } + leaf gt { + status obsolete; + description + "greater than, OBSOLETE"; + type uint8 { + range "1..254"; + } + } + leaf-list less-than { + description + "less than"; + type uint8 { + range "1..254"; + } + } + leaf lt { + status obsolete; + description + "less than, OBSOLETE"; + type uint8 { + range "1..254"; + } + } + } + container application { + status obsolete; + description + "Application to match"; + container application-group { + status obsolete; + description + "Application Group to match"; + leaf telepresence-group { + status obsolete; + description + "Telepresence Group"; + type empty; + } + leaf vmware-group { + status obsolete; + description + "VMWARE Group"; + type empty; + } + leaf webex-group { + status obsolete; + description + "WebEx Group"; + type empty; + } + } + container attribute { + status obsolete; + description + "Application attribute to match"; + leaf media-type { + status obsolete; + description + "Media type attribute to match"; + type enumeration { + enum audio; + enum audio-video; + enum control; + enum data; + enum video; + } + } + } + leaf cisco-phone { + status obsolete; + description + "Cisco IP Phones and PC-based Unified Communicators"; + type empty; + } + container cisco-phone-conf { + status obsolete; + description + "Cisco IP Phones and PC-based Unified Communicators configuration"; + container cisco-phone { + status obsolete; + description + "Cisco IP Phones and PC-based Unified Communicators"; + container multiplex-type { + status obsolete; + description + "Multiplex Type"; + leaf set { + status obsolete; + description + "Multiplex Set"; + type empty; + } + leaf unset { + status obsolete; + description + "Multiplex Unset"; + type empty; + } + } + container signaling-type { + status obsolete; + description + "Signaling Type"; + leaf bfcp { + status obsolete; + description + "Binary floor control protocol signaling type"; + type empty; + } + leaf h323 { + status obsolete; + description + "h323 signaling type"; + type empty; + } + leaf mgcp { + status obsolete; + description + "Media gateway control protocol signaling type"; + type empty; + } + leaf sip { + status obsolete; + description + "SIP signaling type"; + type empty; + } + leaf skinny { + status obsolete; + description + "Skinny signaling type"; + type empty; + } + } + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf control { + status obsolete; + description + "Control traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf rtcp { + status obsolete; + description + "Real time transport control + protocol transport type"; + type empty; + } + leaf rtp { + status obsolete; + description + "Real time transport protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf citrix { + status obsolete; + description + "Citrix Application"; + type empty; + } + container citrix-conf { + status obsolete; + description + "Citrix Application configurations"; + container citrix { + status obsolete; + description + "Citrix Application"; + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf background { + status obsolete; + description + "Background traffic type"; + type empty; + } + leaf bulk { + status obsolete; + description + "Bulk traffic type"; + type empty; + } + leaf desktop { + status obsolete; + description + "Desktop traffic type"; + type empty; + } + leaf interactive { + status obsolete; + description + "Interactive traffic type"; + type empty; + } + leaf realtime { + status obsolete; + description + "Realtime traffic type"; + type empty; + } + leaf session { + status obsolete; + description + "Session traffic type"; + type empty; + } + leaf streaming { + status obsolete; + description + "Streaming traffic type"; + type empty; + } + leaf tunnel { + status obsolete; + description + "Tunnel traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf ica { + status obsolete; + description + "Independent computing + architecture transport type"; + type empty; + } + leaf rdp { + status obsolete; + description + "Remote desktop protocol + transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf h323 { + status obsolete; + description + "h323 Protocol"; + type empty; + } + container h323-conf { + status obsolete; + description + "h323 Protocol Configuration"; + container h323 { + status obsolete; + description + "h323 Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf ip-camera { + status obsolete; + description + "Internet Protocol Video Surveillance Camera"; + type empty; + } + container ip-camera-conf { + status obsolete; + description + "Internet Protocol Video Surveillance + Camera configurations"; + container ip-camera { + status obsolete; + description + "Internet Protocol Video Surveillance Camera"; + container multiplex-type { + status obsolete; + description + "Multiplex Type"; + leaf set { + status obsolete; + description + "Multiplex Set"; + type empty; + } + leaf unset { + status obsolete; + description + "Multiplex Unset"; + type empty; + } + } + container signaling-type { + status obsolete; + description + "Signaling Type"; + leaf rtsp { + status obsolete; + description + "Real Time Streaming + Protocol signalling type"; + type empty; + } + } + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf realtime { + status obsolete; + description + "Realtime traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf rtp { + status obsolete; + description + "Real Time Protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf jabber { + status obsolete; + description + "Jabber Protocol"; + type empty; + } + container jabber-conf { + status obsolete; + description + "Jabber Protocol configurations"; + container jabber { + status obsolete; + description + "Jabber Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf rtp { + status obsolete; + description + "Real Time Protocol"; + type empty; + } + container rtp-conf { + status obsolete; + description + "Real Time Protocol configurations"; + container rtp { + status obsolete; + description + "Real Time Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf rtsp { + status obsolete; + description + "Real Time Streaming Protocol"; + type empty; + } + container rtsp-conf { + status obsolete; + description + "Real Time Streaming Protocol configurations"; + container rtsp { + status obsolete; + description + "Real Time Streaming Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf sip { + status obsolete; + description + "Session Initiation Protocol"; + type empty; + } + container sip-conf { + status obsolete; + description + "Session Initiation Protocol configurations"; + container sip { + status obsolete; + description + "Session Initiation Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf surveillance-distribution { + status obsolete; + description + "Surveillance Distribution"; + type empty; + } + container surveillance-distribution-conf { + status obsolete; + description + "Surveillance Distribution configurations"; + container surveillance-distribution { + status obsolete; + description + "Surveillance Distribution"; + container multiplex-type { + status obsolete; + description + "Multiplex Type"; + leaf set { + status obsolete; + description + "Multiplex Set"; + type empty; + } + leaf unset { + status obsolete; + description + "Multiplex Unset"; + type empty; + } + } + container signaling-type { + status obsolete; + description + "Signaling Type"; + leaf rtsp { + status obsolete; + description + "Real Time Streaming Protocol signalling type"; + type empty; + } + } + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf realtime { + status obsolete; + description + "Realtime traffic type"; + type empty; + } + leaf streaming { + status obsolete; + description + "Streaming traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf rtp { + status obsolete; + description + "Real Time Protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf telepresence-control { + status obsolete; + description + "Telepresence-control stream"; + type empty; + } + container telepresence-control-conf { + status obsolete; + description + "Telepresence-control stream configurations"; + container telepresence-control { + status obsolete; + description + "Telepresence-control stream"; + container signaling-type { + status obsolete; + description + "Signaling Type"; + leaf bfcp { + status obsolete; + description + "Binary floor control protocol signaling type"; + type empty; + } + leaf ccp { + status obsolete; + description + "ccp signaling type"; + type empty; + } + leaf clue { + status obsolete; + description + "Clue signaling type"; + type empty; + } + leaf h323 { + status obsolete; + description + "h323 signaling type"; + type empty; + } + leaf mscp { + status obsolete; + description + "Multicast Shortcut + Control Protocol signaling type"; + type empty; + } + leaf sip { + status obsolete; + description + "SIP signaling type"; + type empty; + } + leaf xccp { + status obsolete; + description + "Extended call control provider + signaling type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf telepresence-data { + status obsolete; + description + "Telepresence-data stream"; + type empty; + } + container telepresence-data-conf { + status obsolete; + description + "Telepresence-data stream configurations"; + container telepresence-data { + status obsolete; + description + "Telepresence-data stream"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf telepresence-media { + status obsolete; + description + "Telepresence-media stream"; + type empty; + } + container telepresence-media-conf { + status obsolete; + description + "Telepresence-media stream configurations"; + container telepresence-media { + status obsolete; + description + "Telepresence-media stream"; + container multiplex-type { + status obsolete; + description + "Multiplex Type"; + leaf set { + status obsolete; + description + "Multiplex Set"; + type empty; + } + leaf unset { + status obsolete; + description + "Multiplex Unset"; + type empty; + } + } + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf control { + status obsolete; + description + "Control traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf rtcp { + status obsolete; + description + "Real Time transport Control + Protocol transport type"; + type empty; + } + leaf rtp { + status obsolete; + description + "Real Time Protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf vmware-view { + status obsolete; + description + "vmware view"; + type empty; + } + container vmware-view-conf { + status obsolete; + description + "vmware view configurations"; + container vmware-view { + status obsolete; + description + "vmware view"; + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf desktop { + status obsolete; + description + "Desktop traffic type"; + type empty; + } + leaf desktop-feedback { + status obsolete; + description + "Desktop-feedback traffic type"; + type empty; + } + leaf session { + status obsolete; + description + "Session traffic type"; + type empty; + } + leaf streaming { + status obsolete; + description + "Streaming traffic type"; + type empty; + } + leaf tunnel { + status obsolete; + description + "Tunnel traffic type"; + type empty; + } + leaf usb-redirection { + status obsolete; + description + "Usb-redirection traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf pcoip { + status obsolete; + description + " Pc over ip transport type"; + type empty; + } + leaf rdp { + status obsolete; + description + "Remote Desktop + Protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf webex-meeting { + status obsolete; + description + "Webex-meeting stream"; + type empty; + } + container webex-meeting-conf { + status obsolete; + description + "webex-meeting stream configurations"; + container webex-meeting { + status obsolete; + description + "webex-meeting stream"; + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf control { + status obsolete; + description + "Control traffic type"; + type empty; + } + leaf sharing { + status obsolete; + description + "Sharing traffic type"; + type empty; + } + leaf streaming { + status obsolete; + description + "Streaming traffic type"; + type empty; + } + } + container transport-type { + status obsolete; + description + "Transport Type"; + leaf http { + status obsolete; + description + "Hyper text transport + protocol transport type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf wyze-zero-client { + status obsolete; + description + "Zero client"; + type empty; + } + container wyze-zero-client-conf { + status obsolete; + description + "Zero client configurations"; + container wyze-zero-client { + status obsolete; + description + "Zero client"; + container traffic-type { + status obsolete; + description + "Traffic Type"; + leaf streaming { + status obsolete; + description + "Streaming traffic type"; + type empty; + } + } + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + leaf xmpp-client { + status obsolete; + description + "Extensible Messaging and Presence Protocol"; + type empty; + } + container xmpp-client-conf { + status obsolete; + description + "Extensible Messaging and Presence Protocol + configurations"; + container xmpp-client { + status obsolete; + description + "Extensible Messaging and Presence Protocol"; + uses match-application-source-grouping; + uses match-application-version-grouping; + uses match-application-vendor-grouping; + } + } + } + leaf any { + description + "Any packets"; + type empty; + } + leaf-list class-map { + description + "Class map"; + type leafref { + path "/ios:native/ios:policy/ios-policy:class-map/ios-policy:name"; + } + } + leaf-list cos { + description + "IEEE 802.1Q/ISL class of service/user priority values"; + type uint8 { + range "0..7"; + } + } + leaf-list traffic-class { + description + "Match traffic class"; + type uint8 { + range "1..7"; + } + } + container destination-address { + description + "Destination address"; + leaf-list mac { + description + "MAC address"; + type yang:mac-address; + } + } + leaf-list discard-class { + description + "Discard behavior identifier"; + type uint8 { + range "0..7"; + } + } + leaf-list dscp { + description + "Match DSCP in IP(v4) and IPv6 packets"; + type ios-types:dscp-type; + } + leaf fr-de { + description + "Match on Frame-relay DE bit"; + type empty; + } + leaf-list fr-dlci { + description + "Match on fr-dlci"; + type uint16 { + range "16..1007"; + } + } + container l2 { + description + "Match l2 src MAC"; + container src-mac { + description + "match src-mac"; + leaf miss { + type empty; + description + "set to match on src-mac miss"; + } + } + container dst-mac { + description + "match ls dst MAC"; + leaf miss { + type empty; + description + "set to match on dst-mac miss"; + } + } + } + container group-object { + description + "Match object-group"; + container security { + description + "Match object-group security"; + leaf-list source { + description + "Match source object-group security"; + type string; + } + leaf-list destination { + description + "Match destination object-group security"; + type string; + } + } + } + leaf-list input-interface { + description + "Select an input interface to match"; + type string; + } + container ip { + description + "IP specific values"; + leaf-list dscp { + description + "Match IP DSCP (DiffServ CodePoints)"; + type ios-types:dscp-type; + } + leaf-list precedence { + description + "Match IP precedence"; + type ios-types:precedence-type; + } + list rtp { + description + "Match RTP port nos"; + key "port1 port2"; + leaf port1 { + type uint16 { + range "2000..65535"; + } + } + leaf port2 { + type uint16 { + range "0..16383"; + } + } + } + } + leaf non-client-nrt { + type empty; + } + container mpls { + description + "Multi Protocol Label Switching specific values"; + container experimental { + description + "Match MPLS experimental"; + leaf-list topmost { + description + "Match MPLS experimental value on topmost label"; + type uint8 { + range "0..7"; + } + } + } + } + container packet { + description + "Layer 3 Packet length"; + container length { + description + "Layer 3 Packet length"; + leaf max { + description + "Maximum length of packet"; + type uint16 { + range "1..2000"; + } + } + leaf min { + description + "Minimum length of packet"; + type uint16 { + range "1..2000"; + } + } + } + } + leaf-list precedence { + description + "Match Precedence in IP(v4) and IPv6 packets"; + type ios-types:precedence-type; + } + container nbar-protocol { + description + "nbar-protocol"; + leaf name { + description + "nbar policy-name"; + type string; + } + } + leaf-list qos-group { + description + "Qos-group"; + type uint16 { + range "0..99"; + } + } + container security-group { + description + "Security group"; + container destination { + description + "Destination security group"; + leaf tag { + description + "Security group tag"; + type uint16; + } + } + container source { + description + "Source security group"; + leaf tag { + description + "Security group tag"; + type uint16; + } + } + } + list service { + description + "Service Instance to match"; + key "efp"; + leaf efp { + description + "Ethernet Flow Point(EFP) range to match"; + type uint16 { + range "1..4000"; + } + } + leaf instance { + description + "Service Instance to match"; + type empty; + } + leaf ethernet { + description + "Service Instance to match"; + type empty; + } + } + container source-address { + description + "Source address"; + leaf-list mac { + description + "MAC address"; + type yang:mac-address; + } + } + container vlan { + description + "VLANs to match"; + leaf-list inner { + description + "Inner tag to match"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf-list value { + description + "value of vlan to match"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + container packet-tag { + description + "match packet-tag"; + list packet-tag { + description + "match packet-tag"; + key "pak-type pak-value pak-mask"; + leaf pak-type { + description + "packet-tag type"; + type uint8 { + range "1..8"; + } + } + leaf pak-value { + description + "packet-tag value"; + type uint32 { + range "0..65535"; + } + } + leaf pak-mask { + description + "packet-tag mask"; + type uint32 { + range "0..65535"; + } + } + } + } + } + + grouping class-map-appnav-match-grouping { + list peer-config { + description + "APPNAV Peer Filter"; + when "../../type = 'appnav'"; + ordered-by user; + key "name"; + leaf name { + type string; + } + } + leaf peer { + status deprecated; + description + "APPNAV Peer Filter"; + when "../../type = 'appnav'"; + type string; + } + } + + grouping class-map-appnav-not-match-grouping { + list peer-config { + description + "APPNAV Peer Filter"; + when "../../../type = 'appnav'"; + ordered-by user; + key "name"; + leaf name { + type string; + } + } + leaf peer { + status deprecated; + description + "APPNAV Peer Filter"; + when "../../../type = 'appnav'"; + type string; + } + } + + grouping config-class-map-grouping { + list class-map { + description + "configure qos class map"; + key "name"; + leaf name { + description + "name of the class map"; + type string { + length "1..205"; + } + } + leaf type { + description + "type of the class-map"; + type enumeration { + enum access-control; + enum appnav; + enum control; + enum inspect; + enum multicast-flows; + enum stack; + enum traffic; + enum site-manager; + enum ngsw-qos; + } + } + leaf subscriber { + description + "Domain name of the class map"; + type empty; + } + leaf protocol { + description + "protocol of the class map"; + type enumeration { + enum aol; + enum edonkey; + enum fasttrack; + enum gnutella; + enum http; + enum imap; + enum kazaa2; + enum msnmsgr; + enum pop3; + enum smtp; + enum sunrpc; + enum ymsgr; + } + } + leaf prematch { + description + "Logical-AND/Logical-OR of all matching statements under this class map"; + type enumeration { + enum match-all; + enum match-any; + enum match-none; + } + mandatory true; + } + leaf description { + description + "Class-Map description"; + type string { + length "1..200"; + } + } + container match { + description + "classification criteria"; + uses class-map-match-common-grouping; + uses class-map-match-access-grouping; + uses class-map-appnav-match-grouping; + uses class-map-control-filter-grouping; + container not { + description + "Negate this match result"; + uses class-map-match-common-grouping; + uses class-map-match-access-grouping; + uses class-map-appnav-not-match-grouping; + } + } + container no-match { + description + "no-match filter"; + uses class-map-control-filter-grouping; + container current-method-priority { + description + "match the priority against the current method's priority"; + leaf-list eq { + description + "equal to"; + type uint8 { + range "1..254"; + } + } + leaf-list gt { + description + "greater than"; + type uint8 { + range "1..254"; + } + } + leaf-list lt { + description + "less than"; + type uint8 { + range "1..254"; + } + } + } + } + } + } + + grouping config-parameter-map-type-cws-tunnel-global-grouping { + container cws-tunnel { + description + "Cloud Web Security tunnel mode"; + container global { + description + "cws_tunnel global parameter-map"; + presence "true"; + leaf fail-open { + description + "Allow traffic to go in clear if CWS Towers are unreachable"; + type empty; + } + container license { + description + "License Key"; + container unencypted { + description + "Unencrypted License"; + leaf hex-string { + description + "32 char non encrypted hex key"; + type string; + } + } + container encrypted { + description + "Encrypted License"; + leaf hex-string { + description + "66 char encrypted hex key"; + type string; + } + } + } + leaf logging { + description + "CWS syslogs"; + type empty; + } + container primary { + description + "Primary tower"; + presence "true"; + container tower { + description + "Tower configuration for CWS"; + leaf ipv4 { + description + "IPv4 address of the tower"; + type inet:ipv4-address; + } + leaf name { + description + "Fully Qualified Domain Name of tower"; + type string; + } + } + } + leaf redirect-list { + description + "Set access-list for reverse route from CWS Tower + Standard IP access-list number <1-199> + Standard IP access-list number (expanded range) <1300-2699>"; + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..2699"; + } + } + } + container secondary { + description + "Secondary tower"; + presence "true"; + container tower { + description + "Tower configuration for CWS"; + leaf ipv4 { + description + "IPv4 address of the tower"; + type inet:ipv4-address; + } + leaf name { + description + "Fully Qualified Domain Name of tower"; + type string; + } + } + } + container whitelist { + description + "Disable redirection to CWS + Access list (standard) <1-199> + Access list (extended) <1300-2699> + Access list name"; + presence "true"; + container acl { + description + "Access list"; + leaf acl-number { + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..2699"; + } + } + } + leaf name { + description + "Access list name"; + type string { + length "1..64"; + } + } + } + container domain-name { + description + "Domain name based Whitelist"; + leaf regex { + description + "Domain name regex parameter map"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:regex/ios-policy:name"; + } + } + } + container download { + description + "whitelist download command"; + presence "true"; + leaf interval { + description + "Download interval in minutes"; + type uint16 { + range "5..10080"; + } + } + } + } + } + } + } + + grouping config-parameter-map-type-inspect-grouping { + list inspect { + description + "inspect parameter-map"; + key "name"; + leaf name { + type string; + } + container alert { + description + "Turn on/off alert"; + leaf on { + description + "Turn on alert"; + type empty; + } + } + container application-inspect { + description + "Turn on application inspection"; + leaf dns { + type boolean; + default "true"; + } + leaf exec { + type boolean; + default "true"; + } + leaf ftp { + type boolean; + default "true"; + } + leaf gtp { + type boolean; + default "true"; + } + leaf h323 { + type boolean; + default "true"; + } + leaf http { + type boolean; + default "true"; + } + leaf imap { + type boolean; + default "true"; + } + leaf login { + type boolean; + default "true"; + } + leaf msrpc { + type boolean; + default "true"; + } + leaf netbios { + type boolean; + default "true"; + } + leaf pop3 { + type boolean; + default "true"; + } + leaf rtsp { + type boolean; + default "true"; + } + leaf shell { + type boolean; + default "true"; + } + leaf sip { + type boolean; + default "true"; + } + leaf skinny { + type boolean; + default "true"; + } + leaf smtp { + type boolean; + default "true"; + } + leaf sunrpc { + type boolean; + default "true"; + } + leaf tftp { + type boolean; + default "true"; + } + } + container audit-trail { + description + "Turn on/off audit trail"; + leaf on { + description + "Turn on audit trail"; + type empty; + } + } + leaf dns-timeout { + description + "Timeout in seconds"; + type uint32 { + range "1..2147483"; + } + } + container icmp { + description + "Config timeout values for icmp"; + container idle-time { + description + "Specify idle timeout for icmp"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for icmp"; + type uint32 { + range "1..2147483"; + } + } + } + } + leaf icmp-unreachable-allow { + description + "ICMP unreachable packets are allowed"; + type empty; + } + container log { + description + "Configure inspect logging parameters"; + leaf dropped-packets { + description + "Log dropped packets"; + type empty; + } + leaf flow { + description + "Log flow info"; + type empty; + } + } + container max-incomplete { + description + "Specify maximum number of incomplete connections before clamping"; + leaf high { + description + "Specify high-watermark for clamping"; + type uint32 { + range "1..2147483647"; + } + } + leaf low { + description + "Specify low-watermark for clamping"; + type uint32 { + range "1..2147483647"; + } + } + } + container one-minute { + description + "Specify one-minute-sample watermarks for clamping"; + leaf high { + description + "Specify high-watermark for clamping"; + type uint32 { + range "1..2147483647"; + } + } + leaf low { + description + "Specify low-watermark for clamping"; + type uint32 { + range "1..2147483647"; + } + } + } + container sessions { + description + "Configure sessions related parameters"; + leaf maximum { + description + "Maximum sessions"; + type uint32 { + range "1..2147483647"; + } + } + leaf packet { + description + "Simultaneous packets per session"; + type uint8 { + range "25..100"; + } + } + container rate { + description + "Specify watermarks for clamping"; + container high { + description + "Specify high-watermark for clamping"; + leaf value { + type uint32 { + range "1..2147483647"; + } + } + leaf time { + description + "Specify the time for which session rate limit is applied"; + type uint32 { + range "1..2147483647"; + } + } + } + container low { + description + "Specify low-watermark for clamping"; + leaf value { + type uint32 { + range "1..2147483647"; + } + } + leaf time { + description + "Specify the time for which session rate limit is applied"; + type uint32 { + range "1..2147483647"; + } + } + } + } + } + container tcp { + description + "Config timeout values for tcp connections"; + container finwait-time { + description + "Specify timeout for TCP connections after a FIN"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for tcp"; + type uint32 { + range "1..2147483"; + } + } + } + container half-close { + description + "Specify tcp halfclose reset RST transmission on/off"; + container reset { + description + "Specify tcp halfclose reset RST transmission on/off"; + leaf off { + description + "Turn off tcp halfclose reset RST transmission"; + type empty; + } + } + } + container half-open { + description + "Specify tcp halfopen reset RST transmission on/off"; + container reset { + description + "Specify tcp halfopen reset RST transmission on/off"; + leaf off { + description + "Turn off tcp halfopen reset RST transmission"; + type empty; + } + } + } + container idle { + description + "Specify tcp idle reset RST transmission on/off"; + container reset { + description + "Specify tcp idle reset RST transmission on/off"; + leaf off { + description + "Turn off tcp idle reset RST transmission"; + type empty; + } + } + } + container idle-time { + description + "Specify idle timeout for tcp connections"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for tcp"; + type uint32 { + range "1..2147483"; + } + } + } + container max-incomplete { + description + "Specify max half-open connection per host"; + container host { + description + "Specify max half-open connection per host"; + leaf value { + type uint32 { + range "1..4294967295"; + } + } + leaf block-time { + description + "Specify the maximum time to block new connection attempts to host"; + type uint16 { + range "0..35791"; + } + } + } + } + container synwait-time { + description + "Specify timeout for TCP connections after a SYN and no further data"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for syn wait-time"; + type uint32 { + range "1..2147483"; + } + } + } + container window-scale-enforcement { + description + "Specify tcp window scaling enforcement"; + leaf loose { + description + "Loose enforcement"; + type empty; + } + } + } + container udp { + description + "Config timeout values for udp flows"; + container half-open { + description + "Config timeout values for udp half open flows"; + container idle-time { + description + "Specify idle timeout for udp half open"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for udp half open"; + type uint32 { + range "1..2147483"; + } + } + } + } + container idle-time { + description + "Specify idle timeout for udp"; + leaf timeout { + type uint32 { + range "1..2147483"; + } + } + leaf ageout-time { + description + "Specify aggressive age-out time for udp"; + type uint32 { + range "1..2147483"; + } + } + } + } + container zone-mismatch { + description + "Config zone-mismatch option"; + leaf drop { + type empty; + } + } + } + } + + grouping config-inspect-aggressive-aging-grouping { + container aggressive-aging { + description + "Aggressive Aging parameters"; + choice absolute-percent { + case absolute-case { + leaf high { + description + "Specify the high watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + leaf low { + description + "Specify the low watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + } + case percent-case { + leaf high-percent { + description + "Specify the high watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + leaf low-percent { + description + "Specify the low watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + } + } + } + } + + grouping config-parameter-map-type-inspect-global-deprecate-grouping { + container inspect-global-deprecate { + container inspect { + description + "inspect parameter-map"; + container global { + description + "inspect global parameter-map"; + presence "true"; + container alert { + description + "Turn on/off alert"; + leaf on { + description + "Turn on alert"; + type empty; + } + } + container lisp { + description + "Turn on LISP options"; + leaf inner-packet-inspection { + description + "inner-packet-inspection"; + type empty; + } + } + container log { + description + "Configure inspect logging parameters"; + leaf dropped-packets { + description + "Log dropped packets"; + type empty; + } + container flow-export { + description + "Configure inspect external logging parameters"; + container template { + description + "Configure record template parameters"; + leaf timeout-rate { + description + "Rate to resend the template in seconds"; + type uint32 { + range "0..65535"; + } + } + } + container v9 { + description + "Netflow version 9"; + container udp { + description + "Use UDP to export records"; + container destination { + description + "Specify the flow-export destination"; + leaf dst-ip { + type inet:ipv4-address; + } + leaf dst-port { + type uint16; + } + } + } + } + } + } + container max-incomplete { + description + "Specify max half-open connection"; + container half-open-sessions { + leaf number { + type uint32 { + range "1..4294967295"; + } + } + container aggressive-aging { + description + "Aggressive Aging parameters"; + choice absolute-percent { + case absolute-case { + leaf high { + description + "Specify the high watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + leaf low { + description + "Specify the low watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + } + case percent-case { + leaf high-percent { + description + "Specify the high watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + leaf low-percent { + description + "Specify the low watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + } + } + } + } + leaf icmp { + description + "Specify max half-open ICMP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf tcp { + description + "Specify max half-open TCP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf udp { + description + "Specify max half-open UDP connections"; + type uint32 { + range "1..4294967295"; + } + } + } + leaf multi-tenancy { + description + "Enable multi-tenancy"; + type empty; + } + container per-box { + description + "Configure per-box attributes"; + uses config-inspect-aggressive-aging-grouping; + container max-incomplete { + description + "Specify max half-open connection"; + container half-open-sessions { + leaf number { + type uint32 { + range "1..4294967295"; + } + } + container aggressive-aging { + description + "Aggressive Aging parameters"; + choice absolute-percent { + case absolute-case { + leaf high { + description + "Specify the high watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + leaf low { + description + "Specify the low watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + } + case percent-case { + leaf high-percent { + description + "Specify the high watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + leaf low-percent { + description + "Specify the low watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + } + } + } + } + leaf icmp { + description + "Specify max half-open ICMP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf tcp { + description + "Specify max half-open TCP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf udp { + description + "Specify max half-open UDP connections"; + type uint32 { + range "1..4294967295"; + } + } + } + container tcp { + description + "Configure tcp syn-flood limit"; + container syn-flood { + description + "syn-flood limit"; + leaf limit { + description + "syn-flood limit"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + container session { + description + "Configure session total parameter"; + leaf packet { + description + "Simultaneous packets per session"; + type uint8 { + range "25..100"; + } + } + leaf total { + description + "session total"; + type uint32 { + range "1..4294967295"; + } + } + } + container tcp { + description + "Configure tcp syn-flood limit"; + container syn-flood { + description + "syn-flood limit"; + leaf limit { + description + "syn-flood limit"; + type uint32 { + range "1..4294967295"; + } + } + } + } + list vrf { + description + "vrf binding with parameter map"; + key "id"; + leaf id { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + leaf inspect { + description + "vrf binding with parameter map"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-vrf/ios-policy:name"; + } + } + } + } + } + } + } + + grouping config-parameter-map-type-inspect-global-grouping { + container inspect-global { + description + "inspect global parameter-map"; + presence "true"; + uses config-inspect-aggressive-aging-grouping; + container alert { + description + "Turn on/off alert"; + leaf on { + description + "Turn on alert"; + type empty; + } + } + leaf icmp-unreachable-allow { + description + "ICMP unreachable packets are allowed"; + type empty; + } + container inspect { + description + "vrf binding with parameter map"; + leaf name { + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-vrf/ios-policy:name"; + } + } + list vrf { + description + "vrf binding with parameter map"; + key "id"; + leaf id { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + leaf name { + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-vrf/ios-policy:name"; + } + } + } + } + container lisp { + description + "Turn on LISP options"; + leaf inner-packet-inspection { + description + "inner-packet-inspection"; + type empty; + } + } + container log { + description + "Configure inspect logging parameters"; + must '(count(/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-global/ios-policy:log/ios-policy:flow-export/ios-policy:v9/ios-policy:udp/ios-policy:destination-config) + count(/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-global/ios-policy:log/ios-policy:flow-export/ios-policy:v9/ios-policy:udp/ios-policy:destination-vrf/ios-policy:destination) + count(/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-global/ios-policy:log/ios-policy:flow-export/ios-policy:v9/ios-policy:udp/ios-policy:ipv6-destination-config) + count(/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-global/ios-policy:log/ios-policy:flow-export/ios-policy:v9/ios-policy:udp/ios-policy:ipv6-destination-vrf/ios-policy:ipv6-destination)) <= 4' { + error-message "Flow-export can only config upto 4 different destination combinations"; + } + leaf dropped-packets { + description + "Log dropped packets"; + type empty; + } + leaf flow { + description + "Enable connection events on all security policies"; + type empty; + } + container flow-export { + description + "Configure inspect external logging parameters"; + container template { + description + "Configure record template parameters"; + leaf timeout-rate { + description + "Rate to resend the template in seconds"; + type uint32 { + range "0..65535"; + } + } + } + container v9 { + description + "Netflow version 9"; + container udp { + description + "Use UDP to export records"; + list destination-config { + description + "Specify the flow-export destination"; + key "dst-ip dst-port"; + leaf dst-ip { + description + "Destination IP address"; + type inet:ipv4-address; + } + leaf dst-port { + description + "Destination port number"; + type uint16; + } + leaf source { + description + "Specify interface for source address"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + container destination-vrf { + list destination { + description + "Specify the flow-export destination"; + key "dst-ip dst-port vrf"; + leaf dst-ip { + description + "Destination IP address"; + type inet:ipv4-address; + } + leaf dst-port { + description + "Destination port number"; + type uint16; + } + leaf vrf { + description + "VRF label"; + type string; + } + leaf source { + description + "Specify interface for source address"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + } + container destination { + description + "Specify the flow-export destination"; + status deprecated; + leaf dst-ip { + description + "destination IP address"; + status deprecated; + type inet:ipv4-address; + } + leaf dst-port { + description + "Destination port number"; + status deprecated; + type uint16; + } + leaf vrf { + description + "Optional VRF label"; + status deprecated; + type string; + } + leaf source { + description + "Specify interface for source address"; + status deprecated; + type string; + } + } + list ipv6-destination-config { + description + "Specify the flow-export IPv6 destination"; + key "dst-ip dst-port"; + leaf dst-ip { + description + "Destination IP address"; + type inet:ipv6-address; + } + leaf dst-port { + description + "Destination port number"; + type uint16; + } + leaf source { + description + "Specify interface for source address"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + container ipv6-destination-vrf { + list ipv6-destination { + description + "Specify the flow-export IPv6 destination"; + key "dst-ip dst-port vrf"; + leaf dst-ip { + description + "Destination IP address"; + type inet:ipv6-address; + } + leaf dst-port { + description + "Destination port number"; + type uint16; + } + leaf vrf { + description + "VRF label"; + type string; + } + leaf source { + description + "Specify interface for source address"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + } + container ipv6-destination { + description + "Specify the flow-export IPv6 destination"; + status deprecated; + leaf dst-ip { + description + "destination IP address"; + status deprecated; + type inet:ipv6-address; + } + leaf dst-port { + description + "Destination port number"; + status deprecated; + type uint16; + } + leaf vrf { + description + "Optional VRF label"; + status deprecated; + type string; + } + leaf source { + description + "Specify interface for source address"; + status deprecated; + type string; + } + } + } + } + leaf fnf { + description + "Enable log record exports using Flexible NetFlow infrastructure"; + type empty; + } + } + } + container max-incomplete { + description + "Specify max half-open connection"; + container half-open-sessions { + leaf number { + type uint32 { + range "1..4294967295"; + } + } + container aggressive-aging { + description + "Aggressive Aging parameters"; + choice absolute-percent { + case absolute-case { + leaf high { + description + "Specify the high watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + leaf low { + description + "Specify the low watermark for aggressive-aging"; + type uint64 { + range "1..4294967295"; + } + } + } + case percent-case { + leaf high-percent { + description + "Specify the high watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + leaf low-percent { + description + "Specify the low watermark for aggressive-aging in percents"; + type uint8 { + range "1..100"; + } + } + } + } + } + } + leaf icmp { + description + "Specify max half-open ICMP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf tcp { + description + "Specify max half-open TCP connections"; + type uint32 { + range "1..4294967295"; + } + } + leaf udp { + description + "Specify max half-open UDP connections"; + type uint32 { + range "1..4294967295"; + } + } + } + leaf multi-tenancy { + description + "Enable multi-tenancy"; + type empty; + } + container tcp { + description + "Configure tcp syn-flood limit"; + container syn-flood { + description + "syn-flood limit"; + leaf limit { + description + "syn-flood limit"; + type uint32 { + range "1..4294967295"; + } + } + } + container window-scale-enforcement { + description + "Specify tcp window scaling enforcement"; + leaf loose { + description + "Loose enforcement"; + type empty; + } + } + } + container vpn { + description + "vpn zone security vpn enabled"; + container zone { + description + "vpn zone security to be enabled"; + leaf security { + description + "vpn zone security to be enabled"; + type empty; + } + leaf allow-dia { + description + "allow-dia"; + type empty; + } + } + } + container zone-mismatch { + description + "Config zone-mismatch option"; + leaf drop { + type empty; + } + } + leaf session-reclassify-allow { + type empty; + } + } + } + + grouping config-parameter-map-type-inspect-vrf-grouping { + list inspect-vrf { + description + "inspect vrf parameter-map"; + key "name"; + leaf name { + type string; + } + container alert { + description + "Turn on/off alert"; + leaf on { + description + "Turn on alert"; + type empty; + } + } + container max-incomplete { + description + "Specify max half-open connection per VRF"; + container half-open-sessions { + leaf number { + type uint32 { + range "1..4294967295"; + } + } + } + leaf icmp { + description + "Specify max half-open ICMP connections per VRF"; + type uint32 { + range "1..4294967295"; + } + } + leaf tcp { + description + "Specify max half-open TCP connections per VRF"; + type uint32 { + range "1..4294967295"; + } + } + leaf udp { + description + "Specify max half-open UDP connections per VRF"; + type uint32 { + range "1..4294967295"; + } + } + } + container session { + description + "Configure session total"; + leaf total { + description + "total"; + type uint32 { + range "1..4294967295"; + } + } + } + container tcp { + description + "Configure tcp syn-flood limit"; + container syn-flood { + description + "syn-flood limit"; + leaf limit { + description + "syn-flood limit"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + } + + grouping config-td-rate-grouping { + leaf average-time-frame { + description + "Configure Threat Detection average time frame"; + type uint16 { + range "600..3600"; + } + } + leaf average-threshold { + description + "Configure Threat Detection average threshold"; + type uint32 { + range "1..4294967295"; + } + } + leaf burst-threshold { + description + "Configure Threat Detection burst threshold"; + type uint32 { + range "1..1000000000"; + } + } + } + + grouping config-parameter-map-type-inspect-zone-grouping { + list inspect-zone { + description + "inspect zone parameter-map"; + key "name"; + leaf name { + type string; + } + container alert { + description + "Turn on/off alert"; + leaf on { + description + "Turn on alert"; + type empty; + } + } + leaf max-destination { + description + "config maximum destination"; + type uint32 { + range "1..4294967295"; + } + } + container tcp { + description + "Configure tcp syn-flood per-destination rate"; + container syn-flood { + description + "maximum syn packet"; + container rate { + description + "maximum syn packet rate"; + leaf per-destination { + description + "per destination"; + type uint32 { + range "1..1000000000"; + } + } + } + } + } + container threat-detection { + description + "Configure Threat Detection"; + leaf basic-threat { + description + "Enable Threat Detection"; + type empty; + } + container rate { + description + "Configure Threat Detection rate"; + container fw-drop { + description + "Configure Threat Detection rate for firewall drop events"; + uses config-td-rate-grouping; + } + container inspect-drop { + description + "Configure Threat Detection rate for firewall inspection based drop events"; + uses config-td-rate-grouping; + } + container syn-attack { + description + "Configure Threat Detection rate for syn attack events"; + uses config-td-rate-grouping; + } + } + } + } + } + + grouping config-parameter-map-type-regex-grouping { + list regex { + description + "regex parameter-map"; + key "name"; + leaf name { + type string; + } + list pattern { + description + "Configure pattern to match"; + key "regexp"; + max-elements 64; + leaf regexp { + type string { + length "1..240"; + } + } + } + } + } + + grouping config-parameter-map-type-webauth-grouping { + list webauth { + description + "WEBAUTH parameters"; + key "name"; + leaf name { + must "not(.='global')" { + error-message "Please use webauth-global to configure global parameter-map"; + } + type string { + length "1..256"; + } + } + leaf captive-bypass-portal { + description + "Turn on captive bypass"; + type empty; + } + container consent { + description + "consent parameters"; + leaf email { + description + "Turn-on Consent with Email"; + must "../../type = 'consent'" { + error-message "% First configure 'type consent'"; + } + type empty; + } + leaf activation-mode { + description + "Policy activation mode"; + must "../../type = 'consent'" { + error-message "% First configure 'type consent'"; + } + type enumeration { + enum merge; + } + } + } + container custom-page { + description + "custom-page - login, expired, success or failure page"; + container login { + description + "auth-proxy login parameters"; + leaf device { + description + "Specify name of the HTML file"; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)).*)'; + } + } + container expired { + description + "Expired authentication proxy"; + leaf device { + description + "Specify name of the HTML file"; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)).*)'; + } + } + } + } + container failure { + description + "Failed authentication proxy"; + leaf device { + description + "Specify name of the HTML file"; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)).*)'; + } + } + } + container success { + description + "Successful authentication proxy"; + leaf device { + description + "Specify name of the HTML file"; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)).*)'; + } + } + } + } + container login-auth-bypass { + description + "Login Auth Bypass for FQDN"; + container ip-access-list { + description + "fqdn acl name"; + leaf name { + type string; + } + leaf domain-name-list { + description + "Domain list name"; + type string; + } + } + } + leaf logout-window-disabled { + description + "Webauth logout window disable"; + type empty; + } + leaf max-http-conns { + description + "Webauth max HTTP connections per client"; + type uint8 { + range "1..200"; + } + } + container redirect { + description + "redirect url"; + container append { + description + "Append tag name to redirect URL"; + container ap-mac { + description + "AP MAC Address"; + leaf tag { + type string; + } + } + container client-mac { + description + "client MAC name"; + leaf tag { + type string; + } + } + container wlan-ssid { + description + "WLAN SSID name"; + leaf tag { + type string; + } + } + } + container portal { + description + "External Portal"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf ipv6 { + type inet:ipv6-address; + } + } + leaf for-login { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + leaf on-failure { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + leaf on-success { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + } + container sleeping-client { + description + "enable sleeping client for webauth"; + presence "true"; + leaf timeout { + description + "Sleep timeout in Minute"; + type uint16 { + range "10..43200"; + } + default "720"; + } + } + leaf success-window-disable { + description + "Disable Success Window"; + type empty; + } + container timeout { + description + "timeout for the webauth session"; + container init-state { + description + "init-state timeout"; + leaf sec { + description + "WEBAUTH Timeout in Seconds"; + type uint32 { + range "60..3932100"; + } + } + } + container fin-wait { + description + "fin-wait timeout"; + leaf msec { + description + "WEBAUTH Timeout in milliseconds"; + type uint32 { + range "1..2147483647"; + } + } + } + } + leaf type { + description + "type - web-auth, consent or both"; + must "((../consent/email and . = 'consent') or (not(../consent/email)))" { + error-message "% First unconfigure 'consent email'"; + } + type enumeration { + enum authbypass; + enum consent; + enum webauth; + enum webconsent; + } + } + uses config-parameter-map-type-webauth-banner-grouping; + } + } + + grouping config-parameter-map-type-subscriber-grouping { + container subscriber { + description + "some text for subscriber"; + list attribute-to-service { + description + "some text for attribute-to-service"; + key "name"; + leaf name { + type string { + length "1..99"; + } + } + list map-number { + description + "map number, 1 for 1st map, 2 for 2nd..."; + key "number"; + leaf number { + type uint8 { + range "1..254"; + } + } + container map { + description + "map statement"; + container device-type { + description + "specify device-type"; + leaf filter-type { + type enumeration { + enum eq; + enum not-eq; + enum regex; + } + } + leaf device-name { + type string; + } + } + container mac-address { + description + "specify mac-address"; + leaf filter-type { + description + "filter-type-name"; + type enumeration { + enum eq; + enum not-eq; + } + } + leaf mac { + description + "mac-address"; + type ios-types:cisco-mac-address-type; + } + } + container oui { + description + "specify oui"; + leaf filter-type { + description + "filter-type-name"; + type enumeration { + enum eq; + enum not-eq; + } + } + leaf oui-address { + description + "Enter oui address"; + type string; + } + } + container user-role { + description + "specify user-role"; + leaf filter-type { + description + "filter-type-name"; + type enumeration { + enum regex; + enum eq; + enum not-eq; + } + } + leaf user-role { + description + "Enter user-role"; + type string; + } + } + container username { + description + "specify username"; + leaf filter-type { + description + "filter-type-name"; + type enumeration { + enum regex; + enum eq; + enum not-eq; + } + } + leaf username { + description + "Enter username"; + type string; + } + } + } + list apply-template { + description + "action number, 1 for 1st number, 2 for 2nd..."; + key "num"; + leaf num { + type uint8 { + range "1..254"; + } + } + leaf config-macro { + description + "specify a config-macro"; + type string; + } + leaf interface-template { + description + "specify interface-template"; + type string; + } + leaf service-template { + description + "specify service-template"; + type string; + } + } + } + } + } + } + + grouping config-parameter-map-type-webauth-banner-grouping { + container banner { + description + "Banner file or text"; + leaf title { + description + "c banner-title-text c, where 'c' is a delimiting character + which can be replaced by any character that is not + a part of banner title text (maximum 127 characters)"; + type string { + length "1..127"; + } + } + choice banner-text-options { + leaf banner-only { + type empty; + } + leaf file { + description + "Specify name of the banner-file"; + type string; + } + leaf text { + description + "c banner-text c, where 'c' is a delimiting character + which can be replaced by any character that is not + a part of banner text (maximum 400 characters)"; + type string { + length "1..400"; + } + } + } + } + } + + grouping config-parameter-map-type-webauth-global-grouping { + container webauth-global { + container webauth { + description + "WEBAUTH parameters"; + container global { + description + "Global parameter-map"; + presence "true"; + container banner-conf { + description + "Banner file or text"; + leaf title { + description + "c banner-title-text c, where 'c' is a delimiting character + which can be replaced by any character that is not + a part of banner title text (maximum 127 characters)"; + type string { + length "1..127"; + } + } + choice banner-text-options { + leaf banner-only { + type empty; + } + leaf file-config { + description + "Specify name of the banner-file"; + type string; + } + leaf text-config { + description + "c banner-text c, where 'c' is a delimiting character + which can be replaced by any character that is not + a part of banner text (maximum 400 characters)"; + type string { + length "1..400"; + } + } + } + leaf banner { + status deprecated; + description + "Deprecated. Please use banner-only"; + type empty; + } + leaf file { + status deprecated; + description + "Deprecated. Please use file-config"; + type string; + } + leaf text { + status deprecated; + description + "Deprecated. Please use text-config"; + type string { + length "1..400"; + } + } + } + leaf captive-bypass-portal { + description + "Turn on captive bypass"; + type empty; + } + leaf cisco-logo-disable { + description + "Disable Cisco logo on internal html pages"; + type empty; + } + container consent { + description + "consent parameters"; + leaf email { + description + "Turn-on Consent with Email"; + must "../../type = 'consent'" { + error-message "% First configure 'type consent'"; + } + type empty; + } + } + container custom-page { + description + "custom-page - login, expired, success or failure page"; + container login { + description + "auth-proxy login parameters"; + leaf device { + type string; + } + container expired { + description + "Expired authentication proxy"; + leaf device { + type string; + } + } + } + container failure { + description + "Failed authentication proxy"; + leaf device { + type string; + } + } + container success { + description + "Successful authentication proxy"; + leaf device { + type string; + } + } + } + container http { + description + "Configure Webauth HTTP Server"; + leaf port { + description + "Port Range Number"; + type uint16 { + range "81..65535"; + } + } + } + leaf intercept-https-enable { + description + "Enable intercept of https traffic"; + type empty; + } + container login-auth-bypass { + description + "Login Auth Bypass for FQDN"; + container ip-access-list { + description + "fqdn acl name"; + leaf name { + type string; + } + leaf domain-name-list { + description + "Domain list name"; + type string; + } + } + } + leaf logout-window-disabled { + description + "Webauth logout window disable"; + type empty; + } + leaf max-http-conns { + description + "Webauth max HTTP connections per client"; + type uint8 { + range "1..200"; + } + } + container redirect { + description + "redirect url"; + container append { + description + "Append tag name to redirect URL"; + container ap-mac { + description + "AP MAC Address"; + leaf tag { + type string; + } + } + container client-mac { + description + "client MAC name"; + leaf tag { + type string; + } + } + container wlan-ssid { + description + "WLAN SSID name"; + leaf tag { + type string; + } + } + } + container portal { + description + "External portal"; + leaf ipv4 { + type inet:ipv4-address; + } + leaf ipv6 { + type inet:ipv6-address; + } + } + leaf for-login { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + leaf on-failure { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + leaf on-success { + description + "Specify URL string (maximum allowed length is 230 chars)"; + type string { + length "1..230"; + } + } + } + leaf secure-webauth-disable { + description + "Disable HTTP secure server for Webauth"; + type empty; + } + container sleeping-client { + description + "enable sleeping client for webauth"; + presence "true"; + leaf timeout { + description + "Sleep timeout in Minute"; + type uint32 { + range "10..43200"; + } + } + } + leaf success-window-disable { + description + "Disable Success Window"; + type empty; + } + container timeout { + description + "timeout for the webauth session"; + container init-state { + description + "init-state timeout"; + leaf sec { + description + "WEBAUTH Timeout in Seconds"; + type uint32 { + range "60..3932100"; + } + } + } + container fin-wait { + description + "fin-wait timeout"; + leaf msec { + description + "WEBAUTH Timeout in milliseconds"; + type uint32 { + range "1..2147483647"; + } + } + } + } + leaf type { + description + "type - web-auth, consent or both"; + must "((../consent/email and . = 'consent') or (not(../consent/email)))" { + error-message "% First unconfigure 'consent email'"; + } + type enumeration { + enum authbypass; + enum consent; + enum webauth; + enum webconsent; + } + } + leaf trustpoint { + description + "Specify the trustpoint name"; + type string; + } + container virtual-ip { + description + "Virtual Ip Address"; + container ipv4 { + description + "Ipv4 Address"; + leaf address { + description + "Recovery IP address"; + type inet:ipv4-address; + } + leaf virtual-host { + description + "Virtual host name"; + type string; + } + } + container ipv6 { + description + "Ipv6 Address"; + leaf address { + description + "Recovery IP address"; + type inet:ipv6-address; + } + leaf virtual-host { + description + "Virtual host name"; + type string; + } + } + } + container watch-list { + description + "Watch List of webauth clients"; + leaf enabled { + description + "Enable Watch list"; + type empty; + } + leaf dynamic-expiry-timeout { + description + "dynamic_expiry_timeout"; + type uint32 { + range "0..2147483"; + } + } + container add-item { + description + "Add item to Watch-list"; + leaf ipv4 { + description + "IPv4 Watch List Entry"; + type inet:ipv4-address; + } + leaf ipv6 { + description + "IPv6 Watch List Entry"; + type inet:ipv6-address; + } + } + } + leaf webauth-http-enable { + description + "Configure HTTP Server for webauth"; + type empty; + } + leaf webauth-bypass-intercept { + description + "Specify the webauth bypass ACL name"; + type string; + } + } + } + } + } + + grouping config-service-policy-direction-grouping { + leaf input { + description + "Assign policy-map to the input of an interface"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'bandwidth')" { + error-message "bandwidth command is not supported in input direction for this interface"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'priority')" { + error-message "priority command is not supported in input direction for this interface"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'queue-limit')" { + error-message "queue-limit command is not supported in input direction for this interface"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'shape')" { + error-message "shape command is not supported in input direction for this interface"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'random-detect')" { + error-message "random-detect command in policy-map is not supported ininput direction for this interface"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:police-rate-unit/ios-policy:police/ios-policy:rate/ios-policy:xps = 'pps')" { + error-message "police parameters in packets per second only allowed forcontrol-plane service-policy"; + } + } + leaf output { + description + "Assign policy-map to the output of an interface"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + } + + grouping config-control-plane-service-policy-direction-grouping { + leaf input { + description + "Assign policy-map to the input of an interface"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + must 'not (/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type)' { + error-message "policy map should be of same type"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'bandwidth')" { + error-message "bandwidth not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'priority')" { + error-message "priority not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'queue-limit')" { + error-message "queue-limit not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'shape')" { + error-message "shape not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'random-detect')" { + error-message "random-detect not supported on control-plane"; + } + } + leaf output { + description + "Assign policy-map to the output of an interface"; + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + must 'not (/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type)' { + error-message "policy map should be of same type"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'bandwidth')" { + error-message "bandwidth not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'priority')" { + error-message "priority not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'queue-limit')" { + error-message "queue-limit not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'shape')" { + error-message "shape not supported on control-plane"; + } + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:class/ios-policy:action-list/ios-policy:action-type = 'random-detect')" { + error-message "random-detect not supported on control-plane"; + } + } + } + + grouping config-service-policy-grouping { + container service-policy { + uses config-control-plane-service-policy-direction-grouping; + } + } + + grouping config-interface-service-policy-grouping-common { + leaf history { + description + "Keep history of QoS metrics"; + type empty; + } + uses config-service-policy-direction-grouping { + refine "input" { + must "not (/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type) or(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'ngsw-qos')" { + error-message "policy map should be of same type"; + } + } + refine "output" { + must "not (/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type) or(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'ngsw-qos')" { + error-message "policy map should be of same type"; + } + } + } + container type { + description + "Configure CPL Service Policy"; + container access-control { + description + "access-control specific policy-map"; + uses config-service-policy-direction-grouping { + refine "input" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'access-control')" { + error-message "policy map should be of same type"; + } + } + refine "output" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'access-control')" { + error-message "policy map should be of same type"; + } + } + } + } + container control { + leaf subscriber { + description + "User type/segment subjected to the policy"; + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'control' or .='BUILTIN_AUTOCONF_POLICY')" { + error-message + "policy map does not exist + or currently active on an interface"; + } + type string; + } + } + container packet-service { + description + "Configure Packet-Service Service Policy"; + uses config-service-policy-direction-grouping { + refine "input" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'packet-service')" { + error-message "policy map should be of same type"; + } + } + refine "output" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'packet-service')" { + error-message "policy map should be of same type"; + } + } + } + } + container performance-monitor { + description + "Configure media monitor service-policy type"; + uses config-service-policy-direction-grouping { + refine "input" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'performance-monitor')" { + error-message "policy map should be of same type"; + } + } + refine "output" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'performance-monitor')" { + error-message "policy map should be of same type"; + } + } + } + } + container service-chain { + description + "Configure Service-chain Service Policy"; + container input { + description + "Assign policy-map to the input of an interface"; + leaf name { + type string; + } + } + container output { + description + "Assign policy-map to the output of an interface"; + leaf name { + type string; + } + } + } + container epbr { + description + "Configure ePBR Service Policy"; + leaf input2 { + description + "Assign policy-map to the input of an interface"; + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'epbr')" { + error-message "policy map should be of same type"; + } + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + leaf output2 { + description + "Assign policy-map to the output of an interface"; + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'epbr')" { + error-message "policy map should be of same type"; + } + type leafref { + path "/ios:native/ios:policy/policy-map/name"; + } + } + leaf input { + description + "Obsolete"; + status obsolete; + type string; + } + leaf output { + description + "Obsolete"; + status obsolete; + type string; + } + } + container queueing { + description + "Queueing type policy-map"; + uses config-service-policy-direction-grouping { + refine "input" { + must "not (/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:type = 'queueing')" { + error-message "Queueing policy is not supported in input direction"; + } + } + refine "output" { + must "(/ios:native/ios:policy/policy-map[ios-policy:name = current()]/ios-policy:type = 'queueing')" { + error-message "policy map should be of same type"; + } + } + } + } + } + } + + grouping config-interface-service-policy-grouping { + container service-policy { + description + "Apply service-policy to non-atm pvc interfaces"; + uses config-interface-service-policy-grouping-common; + } + } + + grouping config-interface-service-policy-grouping-atm { + container service-policy { + description + "Apply service-policy to atm pvc interfaces"; + uses config-interface-service-policy-grouping-common; + } + } + + grouping config-set-cos-inner-grouping { + leaf cos-inner { + description + "Inner CoS value which marks the inner and outer VLAN tags of a Q in Q frame"; + type uint8 { + range "0..7"; + } + } + } + + augment "/ios:native" { + uses config-service-group; + } + + augment "/ios:native/ios:policy" { + uses config-class-map-grouping; + uses config-policy-map-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-cws-tunnel-global-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-subscriber-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-inspect-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-inspect-global-deprecate-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-inspect-global-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-inspect-vrf-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-inspect-zone-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-regex-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-webauth-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-parameter-map-type-webauth-global-grouping; + } + + augment "/ios:native/ios:control-plane" { + uses config-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios-atm:pvc" { + uses config-interface-service-policy-grouping-atm; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios-atm:pvc" { + uses config-interface-service-policy-grouping-atm; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:Multilink" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-service-policy-grouping; + uses config-service-group-interface; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:nve" { + uses config-interface-service-policy-grouping; + } + + augment "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:set-case/ios-policy:set" { + uses config-set-cos-inner-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-events.yang new file mode 100644 index 000000000..0a1a213c2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-events.yang @@ -0,0 +1,107 @@ +module Cisco-IOS-XE-port-bounce-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-bounce-events"; + prefix port-bounce-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef port-bounce-status { + type enumeration { + enum pb-st-in-prog { + value 0; + description + "Port bounce has been initiated."; + } + enum pb-st-success { + value 1; + description + "Interface has successfully finished bouncing."; + } + enum pb-st-fail { + value 2; + description + "Interface has failed to complete bounce and + the operation has been stopped."; + } + } + description + "Status of port bounce operation"; + } + + typedef port-bounce-error-types { + type enumeration { + enum pb-err-no-err { + value 0; + description + "No error seen during port bounce."; + } + enum pb-err-if-shut-config { + value 1; + description + "The user has shutdown the interface via configuration. + This has caused port bounce operation to stop as + configuration takes priority."; + } + enum pb-err-dev-err { + value 2; + description + "There is an unknown error on device which caused the + port bounce operation to fail."; + } + } + description + "Error codes for port bounce"; + } + + grouping port-bounce-notif-fields { + description + "Notification field for port bounce"; + leaf if-name { + type string; + description + "Name of the interface"; + } + leaf status { + type port-bounce-ios-xe-events:port-bounce-status; + description + "Status of the port bounce operation"; + } + leaf err-code { + type port-bounce-ios-xe-events:port-bounce-error-types; + description + "Reason for port bounce to fail"; + } + } + + notification port-bounce-event { + description + "Notification for port bounce event"; + uses port-bounce-ios-xe-events:port-bounce-notif-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-rpc.yang new file mode 100644 index 000000000..aac2ea8a6 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-bounce-rpc.yang @@ -0,0 +1,131 @@ +module Cisco-IOS-XE-port-bounce-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-bounce-rpc"; + prefix port-bounce-ios-xe-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef port-bounce-fail-reason { + type enumeration { + enum pb-fr-no-fail { + value 0; + description + "No failure seen during port bounce"; + } + enum pb-fr-if-shut { + value 1; + description + "Interface is in shutdown/administratively-down state. + Port bounce can be performed on interfaces that are up."; + } + enum pb-fr-busy { + value 2; + description + "The interface is being bounced and cannot be + bounced till the previous bounce action completes."; + } + enum pb-fr-plat-block { + value 3; + description + "Port bounce on this interface is blocked by platform"; + } + } + description + "Failure reason for bounce"; + } + + typedef port-bounce-resp-status { + type enumeration { + enum pb-act-in-prog { + value 0; + description + "The port bounce action has been initiated"; + } + enum pb-act-fail { + value 1; + description + "The interface stopped bouncing"; + } + } + description + "Failure reason for bounce"; + } + + grouping port-bounce { + description + "Port bounce allows the user to flap a physical port without + changing the configuration."; + leaf if-name { + type string { + pattern '(((Ten|Forty|Two|(Twenty)?Five|Four|App|Fifty|(Two)?Hundred)?Gigabit)|Fast)?Ethernet(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*'; + } + mandatory true; + description + "Name of the interface that is to be bounced. Port bounce can + be performed only on the following interface - + Ethernet, Fast Ethernet, Gigabit Ethernet, + Two Gigabit Ethernet, Four Gigabit Ethernet, + Five Gigabit Ethernet, Ten Gigabit Ethernet, + Twenty Five Gigabit Ethernet, Forty Gigabit Ethernet, + Fifty Gigabit Ethernet, Hundred Gigabit Ethernet, + Two Hundred Gigabit Ethernet and App Gigabit Ethernet"; + } + } + + grouping port-bounce-response { + description + "Response field for port bounce"; + leaf if-name { + type string; + description + "Name of the interface which the user requested to be bounced."; + } + leaf status { + type port-bounce-ios-xe-rpc:port-bounce-resp-status; + description + "Status of port bounce operation"; + } + leaf reason { + type port-bounce-ios-xe-rpc:port-bounce-fail-reason; + description + "Reason for port-bounce to fail, if there is any failure."; + } + } + + rpc port-bounce { + description + "RPC request message for port bounce"; + input { + uses port-bounce-ios-xe-rpc:port-bounce; + } + output { + uses port-bounce-ios-xe-rpc:port-bounce-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-crankshaft-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-crankshaft-deviation.yang new file mode 100644 index 000000000..5dc8c058d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-crankshaft-deviation.yang @@ -0,0 +1,104 @@ +module Cisco-IOS-XE-port-channel-crankshaft-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-channel-crankshaft-deviation"; + prefix ios-ethernet-pcrank; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added port-channel deviation for crankshaft"; + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios:name" { + deviate replace { + type uint32 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..32"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-deviation.yang new file mode 100644 index 000000000..2e3354936 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-deviation.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XE-port-channel-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-channel-deviation"; + prefix ios-ethernet-p; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Moved unsupported xpaths to port-channel-unsupported deviation file"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-11-01 { + description + "Added port-channel deviation"; + cisco-semver:module-version "1.2.0"; + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios:name" { + deviate replace { + type uint32 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-eth:channel-group/ios-eth:number" { + deviate replace { + type uint16 { + range "1..64"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-unsupported-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-unsupported-deviation.yang new file mode 100644 index 000000000..e99b595a1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-channel-unsupported-deviation.yang @@ -0,0 +1,92 @@ +module Cisco-IOS-XE-port-channel-unsupported-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-channel-unsupported-deviation"; + prefix ios-ethernet-punsupported; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ethernet { + prefix ios-eth; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added Unsupported deviations for Port-channel"; + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-eth:channel-group/ios-eth:non-silent" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FastEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios-eth:channel-group/ios-eth:auto" { + deviate not-supported; + } + + deviation "/ios:native/ios:port-channel/ios-eth:load-balance" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-port-security-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-security-rpc.yang new file mode 100644 index 000000000..fe6d3512a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-port-security-rpc.yang @@ -0,0 +1,346 @@ +module Cisco-IOS-XE-port-security-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-port-security-rpc"; + prefix port-security-ios-actions-rpc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for clear port security action data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ps-mode { + type enumeration { + enum md-all { + value 0; + description + "All secure MAC addresses."; + } + enum md-configured { + value 1; + description + "Configured secure MAC addresses."; + } + enum md-sticky { + value 2; + description + "Secure MAC address either auto-learned or configured."; + } + enum md-dynamic { + value 3; + description + "Secure MAC address auto-learned by hardware."; + } + } + description + "Clear port security mode options."; + } + + typedef ps-if-type { + type enumeration { + enum if-fast-eth { + value 0; + description + "Fast ethernet."; + } + enum if-gb-eth { + value 1; + description + "Gigabit ethernet."; + } + enum if-2gb-eth { + value 2; + description + "Two gigabit ethernet."; + } + enum if-5gb-eth { + value 3; + description + "Five gigabit ethernet."; + } + enum if-appgb-eth { + value 4; + description + "App gigabit ethernet."; + } + enum if-10gb-eth { + value 5; + description + "Ten gigabit ethernet."; + } + enum if-25gb-eth { + value 6; + description + "Twenty five gigabit ethernet."; + } + enum if-40gb-eth { + value 7; + description + "Forty gigabit ethernet."; + } + enum if-100gb-eth { + value 8; + description + "Hundred gigabit ethernet."; + } + enum if-port-channel { + value 9; + description + "Port channel"; + } + } + description + "Clear port security interface type options."; + } + + typedef ps-if-addr-choice-type { + type enumeration { + enum ps-if { + value 0; + description + "Choice to clear interface ports."; + } + enum ps-if-vlan-access { + value 1; + description + "Choice to clear interface ports with access."; + } + enum ps-if-vlan-voice { + value 2; + description + "Choice to clear interface ports with voice."; + } + enum ps-if-vlan-trunk { + value 3; + description + "Choice to clear interface ports with VLAN trunk."; + } + enum ps-mac-address { + value 4; + description + "Choice to clear MAC address."; + } + enum ps-none { + value 5; + description + "Default, if none of interface and address is selected"; + } + } + description + "Clear port choice between interface and address."; + } + + grouping ps-if-name-type { + description + "Parameter to select interface type and enter the name of interface."; + leaf if-type { + type port-security-ios-actions-rpc:ps-if-type; + mandatory true; + description + "Option for selecting one of the interface types."; + } + leaf if-name { + type string { + length "1..256"; + } + mandatory true; + description + "Interface number or name."; + } + } + + grouping ps-vlan-spec { + description + "List for VLAN id or VLAN range for clearing port security."; + leaf start-id { + type uint16; + default "0"; + description + "Start of range or a single VLAN ID or left at zero/empty to ignore."; + } + leaf end-id { + type uint16; + default "0"; + description + "END of range or left at zero if an individual VLAN ID is specified."; + } + } + + grouping ps-if { + description + "Parameter to select interface."; + container if-name-type { + description + "Parameter used to select interface (name,type)."; + uses port-security-ios-actions-rpc:ps-if-name-type; + } + } + + grouping ps-if-vlan-access { + description + "Parameter to select interface with vlan access."; + container if-with-access { + description + "Parameter for selecting interface (name,type) with access."; + uses port-security-ios-actions-rpc:ps-if-name-type; + } + leaf access { + type boolean; + default "true"; + description + "To select access, default is true."; + } + } + + grouping ps-if-vlan-voice { + description + "Parameter used to select interface and vlan voice."; + container if-with-voice { + description + "Parameter for selecting interface (name,type) with voice."; + uses port-security-ios-actions-rpc:ps-if-name-type; + } + leaf voice { + type boolean; + default "true"; + description + "To select voice,default is true."; + } + } + + grouping ps-if-vlan-trunk { + description + "Parameter used to select an interface port with VLAN trunk enabled."; + container if-with-trunk { + description + "Parameter for selecting interface (name,type) with VLAN trunk enabled."; + uses port-security-ios-actions-rpc:ps-if-name-type; + } + list vlan-trunk { + description + "VLAN id or VLAN range with VLAN trunk enabled. Left empty for clearing port security from all VLAN."; + uses port-security-ios-actions-rpc:ps-vlan-spec; + } + } + + grouping ps-mac-addr { + description + "Parameter used to enter MAC address and VLAN id or VLAN range."; + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "Parameter for entering MAC address."; + } + list vlan { + description + "VLAN id or VLAN range with VLAN trunk enabled. Left empty for clearing port security from all VLAN."; + uses port-security-ios-actions-rpc:ps-vlan-spec; + } + } + + grouping clear-port-security { + description + "Parameters to select various options for clearing port security from interfaces or MAC address."; + leaf mode { + type port-security-ios-actions-rpc:ps-mode; + mandatory true; + description + "Selecting mode for port security clear operation, all/configured/dynamic/sticky."; + } + choice if-addr-choice { + default "ps-none"; + description + "Choice to select interface with various options or MAC address."; + case ps-if { + container intf { + description + "Clear port security from an interface using interface name and type."; + uses port-security-ios-actions-rpc:ps-if; + } + } + case ps-if-vlan-access { + container vlan-access { + description + "Clear port security from an interface port, that has access enabled."; + uses port-security-ios-actions-rpc:ps-if-vlan-access; + } + } + case ps-if-vlan-voice { + container vlan-voice { + description + "Clear port security from an interface port, that has voice enabled."; + uses port-security-ios-actions-rpc:ps-if-vlan-voice; + } + } + case ps-if-vlan-trunk { + container if-vlan-trunk { + description + "Clear port security from an interface port, that has trunk enabled."; + uses port-security-ios-actions-rpc:ps-if-vlan-trunk; + } + } + case ps-mac-address { + container mac-addr { + description + "Clear port security from an MAC address."; + uses port-security-ios-actions-rpc:ps-mac-addr; + } + } + case ps-none { + leaf ps-none { + type boolean; + default "true"; + description + " Default when none of interface and MAC address is selected, default value is true."; + } + } + } + } + + rpc clear-port-security { + description + "To clear, port security applied at the interfaces or VLAN, for the following modes. + all: all secure MAC addresses + configured: configured secure MAC address + dynamic: secure MAC address auto-learned by hardware + sticky: secure MAC address either auto-learned or configured"; + input { + uses port-security-ios-actions-rpc:clear-port-security; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-power-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-power-deviation.yang new file mode 100644 index 000000000..339354bc3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-power-deviation.yang @@ -0,0 +1,40 @@ +module Cisco-IOS-XE-power-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-power-deviation"; + prefix ios-power-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-power { + prefix ios-power; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + } + revision 2019-04-17 { + description + "Added LLDP deviation"; + } + + deviation "/ios:native/ios-power:power/ios-power:supply/ios-power:autoLC" { + deviate not-supported; + } + + deviation "/ios:native/ios-power:power/ios-power:redundancy-mode-config/ios-power:combined" { + deviate not-supported; + } + + deviation "/ios:native/ios-power:power/ios-power:redundancy-mode-config/ios-power:redundant" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-power.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-power.yang new file mode 100644 index 000000000..b10d4fcd4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-power.yang @@ -0,0 +1,394 @@ +module Cisco-IOS-XE-power { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-power"; + prefix ios-power; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Power over Ethernet Yang (PoE) model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-11-01 { + description + "- Added port priority options + - Added switch number for redundancy mode config"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "Modify Maximum power allowed on interface"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Added redundancy mode config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping power-config-mode { + leaf combined { + description + "Enable global inline power logging messages"; + type empty; + } + container redundant { + description + "Either power supply can operate system"; + leaf n-plus-one { + description + "Redundant N+1"; + type uint8 { + range "1..8"; + } + } + leaf-list n-plus-n { + description + "Redundant N+N"; + max-elements 8; + type uint8 { + range "1..8"; + } + } + } + } + + grouping config-power-grouping { + container power { + description + "Power configure"; + container inline { + description + "Inline power configuration"; + presence "true"; + container consumption { + description + "Inline device power consumption"; + leaf default { + description + "Inline device power consumption"; + type uint16 { + range "4000..15400"; + } + } + } + container logging { + description + "Inline power logging messages"; + leaf global { + description + "Enable global inline power logging messages"; + type empty; + } + } + } + container redundancy-mode-config { + description + "Configure redundancy-mode of power supply"; + list switch { + description + "Configure power redundancy mode on selected switch"; + key "number"; + leaf number { + description + "switch number"; + type uint8 { + range "1..8"; + } + } + uses power-config-mode; + } + uses power-config-mode; + } + leaf redundancy-mode { + status deprecated; + description + "This node is deprecated and replace by redundancy-mode-config"; + type enumeration { + enum combined; + enum redundant; + } + } + container supply { + description + "Power supply configuration"; + container autoLC { + description + "Automatic linecard power configuration"; + leaf-list priority { + description + "Set priority (highest to lowest) of auto linecard shutdown"; + max-elements 8; + ordered-by user; + type uint8 { + range "1..10"; + } + } + leaf shutdown { + description + "Linecard auto shutdown control"; + type empty; + } + } + } + leaf max-min { + type enumeration { + enum max; + } + } + leaf inputs { + type uint8; + } + } + } + + grouping config-interface-power-grouping { + container power { + container efficient-ethernet { + description + "Energy efficient ethernet Configuration"; + leaf auto { + description + "Enable automatic efficient ethernet on this interface"; + type empty; + } + } + container inline { + leaf consumption { + type uint16 { + range "4000..15400"; + } + } + choice auto-static-never { + leaf never-choice { + type empty; + } + container auto-choice { + description + "Automatically detect and power inline devices"; + presence "true"; + leaf max { + description + "Maximum power allowed on this interface"; + type int32 { + range "4000..90000"; + } + } + } + container static-choice { + description + "High priority inline power interface"; + presence "true"; + leaf max { + description + "Maximum power allowed on this interface"; + type int32 { + range "4000..90000"; + } + } + } + } + leaf never { + status deprecated; + description + "DEPRECATED, use auto-static-never"; + type empty; + } + container auto { + status deprecated; + description + "DEPRECATED, Automatically detect power inline devices"; + presence "true"; + leaf max { + status deprecated; + description + "Maximum power allowed on this interface"; + type int32 { + range "4000..90000"; + } + } + } + container four-pair { + description + "Four-pair PoE power"; + leaf forced { + description + "Enable Four-pair PoE without L2 negotiation"; + type empty; + } + } + container police { + description + "Police the power drawn on the port"; + presence "true"; + container action { + description + "Action to be taken when power is overdrawn on the port"; + leaf errdisable { + description + "Error-disable the port when power is overdrawn on the port"; + type empty; + } + leaf log { + description + "Log a message when power is overdrawn on the port"; + type empty; + } + } + } + container port { + description + "Configure Port Power Level"; + leaf poe-ha { + description + "Apply poe-ha to the port"; + type empty; + } + leaf perpetual-poe-ha { + description + "Apply perpetual-poe-ha to the port"; + type empty; + } + leaf two-event { + description + "Enable 2-event classification"; + type empty; + } + leaf twox-mode { + description + "Apply 2X power level to the port"; + type empty; + } + leaf no-xtalk-wa { + description + "Disable MagJack XTalk workaround"; + type empty; + } + leaf priority { + description + "set power priority of the port"; + type enumeration { + enum high; + enum low; + enum 0; + enum 1; + enum 2; + enum 3; + enum 4; + enum 5; + enum 6; + enum 7; + } + default "low"; + } + } + container static { + status deprecated; + description + "DEPRECATED, High priority inline power interface"; + presence "true"; + leaf max { + status deprecated; + description + "Maximum power allowed on this interface"; + type int32 { + range "4000..90000"; + } + } + } + } + } + } + + augment "/ios:native" { + uses config-power-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-power-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-power-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-mcp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-mcp-deviation.yang new file mode 100644 index 000000000..e834a5253 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-mcp-deviation.yang @@ -0,0 +1,30 @@ +module Cisco-IOS-XE-ppp-mcp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ppp-mcp-deviation"; + prefix ios-ppp-mcp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-ppp { + prefix ios-ppp; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Initial Revision"; + } + + deviation "/ios:native/ios:ppp/ios-ppp:hold-queue" { + deviate replace { + default "262144"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-oper.yang new file mode 100644 index 000000000..302843ac8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp-oper.yang @@ -0,0 +1,366 @@ +module Cisco-IOS-XE-ppp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ppp-oper"; + prefix ppp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for PPP and PPPoE operational data. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-02-19 { + description + "Addition of PPPoE statistics with padt and invalid discovery packet"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ppp-ios-auth-type { + type enumeration { + enum ppp-ios-auth-none { + value 0; + description + "No authentication."; + } + enum ppp-ios-auth-chap { + value 1; + description + "Challenge Handshake Authentication (CHAP)."; + } + enum ppp-ios-auth-pap { + value 2; + description + "Password Authentication Protocol (PAP)."; + } + enum ppp-ios-auth-mschap { + value 3; + description + "Microsoft CHAP (MS CHAP)."; + } + enum ppp-ios-auth-mschap-v2 { + value 4; + description + "Microsoft CHAP, Version 2 (MS CHAP V2)."; + } + enum ppp-ios-auth-eap { + value 5; + description + "Extensible Authentication Protocol (EAP)."; + } + } + description + "Authentication type for the PPP session"; + } + + typedef pppoe-operational-role { + type enumeration { + enum pppoe-client { + value 0; + description + "PPPoE device role is a client"; + } + enum pppoe-server { + value 1; + description + "PPPoE device role is a server"; + } + } + description + "The role that this PPPoE session is in"; + } + + grouping ppp-virtual-access-interface { + description + "The virtual access interface associated with the PPP session"; + leaf va-ifname { + type string; + description + "PPP Virtual Access Interface Name"; + } + leaf vrf-name { + type string; + description + "VRF of Virtual Access Interface"; + } + leaf interface-ip { + type inet:ip-address; + description + "IP Address assigned/negotiated by PPP"; + } + leaf gateway-ip { + type inet:ip-address; + description + "Gateway IP Address assigned/negotiated by PPP"; + } + leaf primary-dns-ip { + type inet:ip-address; + description + "Primary DNS IP Address assigned/negotiated by PPP"; + } + leaf secondary-dns-ip { + type inet:ip-address; + description + "Secondary DNS IP Address assigned/negotiated by PPP"; + } + leaf mtu { + type uint32; + description + "MTU for PPP interface"; + } + leaf auth-type { + type ppp-ios-xe-oper:ppp-ios-auth-type; + description + "Authentication type for PPP interface"; + } + } + + grouping ppp-interface { + description + "The PPP interface"; + leaf phy-ifname { + type string; + description + "Ifname of Physical Access (Parent) Interface "; + } + list ppp-va { + description + "List of PPPoE sessions on ifname Physical access interface"; + uses ppp-ios-xe-oper:ppp-virtual-access-interface; + } + } + + grouping ppp-statistics { + description + "PPP global statistics"; + leaf ppp-lcp-pkts { + type uint32; + description + "number of PPP LCP packets"; + } + leaf ppp-ipcp-pkts { + type uint32; + description + "number of PPP NCP/IPCP packets"; + } + leaf ppp-ccp-pkts { + type uint32; + description + "number of PPP CCP packets"; + } + } + + grouping pppoe-session { + description + "PPPoE session information"; + leaf session-id { + type uint16; + description + "Session Id of PPPoE sessions"; + } + leaf lmac { + type yang:mac-address; + description + "Local MAC Address"; + } + leaf rmac { + type yang:mac-address; + description + "Peer MAC Address"; + } + leaf va-ifname { + type string; + description + "Ifname of Virtual Access Interface"; + } + leaf vrf-name { + type string; + description + "VRF of Virtual Access Interface "; + } + leaf dot1q-qinq-outer-vlan { + type uint16; + description + "PPPoE session VLAN/QinQ ID + Outer VLAN (QinQ) or only VLAN ID"; + } + leaf dot1q-qinq-inner-vlan { + type uint16; + description + "PPPoE session VLAN/QinQ ID + Inner VLAN ID (QinQ) (if valid)"; + } + leaf service-name { + type string; + description + "PPPoE service tag name"; + } + leaf in-packet { + type uint32; + description + "Number of packets received over session"; + } + leaf out-packet { + type uint32; + description + "Number of packets sent over session"; + } + leaf in-bytes { + type uint64; + description + "Number of bytes received over session"; + } + leaf out-bytes { + type uint64; + description + "Number of bytes sent over session"; + } + } + + grouping pppoe-session-list { + description + "A list of PPPoE sessions"; + leaf ifname { + type string; + description + "Ifname of Physical Access (Parent) Interface"; + } + list session { + description + "List of PPPoE session on ifname Physical access interface"; + uses ppp-ios-xe-oper:pppoe-session; + } + } + + grouping pppoe-statistics { + description + "Global PPPoE statistics"; + leaf pppoe-padi-pkts { + type uint32; + description + "PPPoE active discovery initiation packets"; + } + leaf pppoe-pado-pkts { + type uint32; + description + "PPPoE active discovery offer packets"; + } + leaf pppoe-padr-pkts { + type uint32; + description + "PPPoE active discovery response packets"; + } + leaf pppoe-pads-pkts { + type uint32; + description + "PPPoE active discovery session packets"; + } + leaf pppoe-padt-pkts { + type uint32; + description + "PPPoE active discovery terminate packets"; + } + leaf invalid-discovery-pkts { + type uint32; + description + "PPPoE invalid discovery packets"; + } + } + + grouping pppoe { + description + "PPPoE information"; + leaf role { + type ppp-ios-xe-oper:pppoe-operational-role; + description + "The current PPPoE role"; + } + list pppoe-session-list { + key "ifname"; + description + "PPPoE session list"; + uses ppp-ios-xe-oper:pppoe-session-list; + } + container pppoe-statistics { + presence "pppoe-statistics"; + description + "PPPoE statistics"; + uses ppp-ios-xe-oper:pppoe-statistics; + } + } + + container ppp-data { + config false; + description + "Operational state of PPP"; + list ppp-interface { + key "phy-ifname"; + description + "A list of the PPP information"; + uses ppp-ios-xe-oper:ppp-interface; + } + container ppp-statistics { + presence "ppp-statistics"; + description + "The PPP statistics"; + uses ppp-ios-xe-oper:ppp-statistics; + } + container pppoe { + presence "pppoe"; + description + "The PPPoE operation information"; + uses ppp-ios-xe-oper:pppoe; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp.yang new file mode 100644 index 000000000..d5dfebe0f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ppp.yang @@ -0,0 +1,763 @@ +module Cisco-IOS-XE-ppp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ppp"; + prefix ios-ppp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Point-to-Point Protocol (PPP) Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for hold queue configuration"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-07-01 { + description + "- Added tailf annotations to replace tailf:cli-diff-dependency"; + cisco-semver:module-version "4.1.1"; + } + revision 2021-03-01 { + description + "- Added string length, default value for encryption type and cli full no for delete operation for ppp pap"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-11-01 { + description + "- Added support for CLI ppp ipcp address required + - Added support for ppp link reorder"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "- Added handling of special char in password for ppp chap"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Added refine statement"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added ppp mtu support + - Added ppp timeout ncp,authentication support under ppp + - Added multilink test-mode support + - Added Maximum links option in interface multilink and range for max and min member links"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-31 { + description + "Added ppp ipcp route default support"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-16 { + description + "Added ppp support for Virtual-PPP interface"; + } + revision 2018-09-17 { + description + "Corrected ppp multilink fragment delay option"; + } + revision 2018-08-14 { + description + "added leafref for multilink member links"; + } + revision 2018-04-16 { + description + "added ppp pap container"; + } + revision 2018-02-03 { + description + "reorder the CLIs, when deleting ppp config under interface serial"; + } + revision 2017-11-29 { + description + "Add disable node for ppp multilink fragment disable"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-ppp-grouping { + container packet { + description + "Configure control packet rate throttling"; + leaf throttle { + description + "Configure control packet rate throttling"; + type uint32 { + range "1..100000"; + } + } + leaf allow_time { + type uint32 { + range "1..3600"; + } + } + leaf block_time { + type uint32 { + range "2..3600"; + } + } + } + leaf hold-queue { + description + "Maximum number of control packets queued"; + default "32768"; + type uint32 { + range "1..1000000"; + } + } + } + + grouping config-multilink-grouping { + leaf bundle-name { + description + "Select method for naming multilink bundles"; + type enumeration { + enum authenticated; + enum both; + enum endpoint; + enum rfc; + } + } + leaf test-mode { + description + "test-mode"; + type uint8 { + range "0..1"; + } + default "0"; + } + leaf virtual-template { + description + "virtual-template interface"; + type uint16 { + range "1..4095"; + } + } + } + + grouping config-interface-p2p-multilink-group-common-grouping { + container links { + description + "Specify the limits on the number of links in a bundle"; + container minimum { + description + "Minimum number of links desired in the bundle"; + leaf minimum-value { + type uint8 { + range "1..16"; + } + must 'not (../../ios-ppp:maximum/ios-ppp:maximum-value) or(current() <= ../../ios-ppp:maximum/ios-ppp:maximum-value)' { + error-message " Minimum must be less than or equal to maximum"; + } + } + leaf mandatory { + description + "Disable network layer until minimum number of links is reach"; + type empty; + } + } + container maximum { + description + "Maximum number of links allowed in the bundle"; + leaf maximum-value { + type uint8 { + range "1..16"; + } + must 'not (../../ios-ppp:minimum/ios-ppp:minimum-value) or(current() >= ../../ios-ppp:minimum/ios-ppp:minimum-value)' { + error-message " Maximum must be more than or equal to minimum"; + } + } + } + } + container endpoint { + description + "Configure the local Endpoint Discriminator"; + leaf string { + description + "Use specified string"; + type string; + } + } + container fragment { + description + "Specify fragmentation parameters"; + container delay { + description + "Specify the maximum delay for each fragment"; + leaf delay-value { + type uint16 { + range "0..1000"; + } + } + leaf additional-delay-value { + type uint16 { + range "1..999"; + } + } + } + leaf disable { + description + "Suppress multilink fragmentation when possible"; + type empty; + } + } + leaf interleave { + description + "Allow interleaving of small packets with fragments"; + type empty; + } + } + + grouping config-interface-p2p-multilink-group-create-grouping { + container multilink { + description + "Make interface multilink capable"; + presence "true"; + uses config-interface-p2p-multilink-group-common-grouping; + leaf group { + description + "Put interface in a multilink bundle"; + type uint32 { + range "1..2147483647"; + } + } + } + } + + grouping config-interface-p2p-multilink-group-use-grouping { + container multilink { + description + "Make interface multilink capable"; + presence "true"; + uses config-interface-p2p-multilink-group-common-grouping; + leaf group { + description + "Put interface in a multilink bundle"; + type leafref { + path "/ios:native/ios:interface/ios:Multilink/ios-ppp:ppp/ios-ppp:multilink/ios-ppp:group"; + } + } + } + } + + grouping config-interface-p2p-options-grouping { + leaf accounting { + description + "Set PPP network accounting method"; + type union { + type string; + type enumeration { + enum default; + } + } + } + container chap { + description + "Set CHAP authentication parameters"; + leaf hostname { + description + "Set alternate CHAP hostname"; + type string; + } + container challenge-length { + description + "Challenge Length for CHAP"; + leaf minimum { + description + "Minimum length for CHAP challenge"; + type uint8 { + range "16..63"; + } + } + leaf maximum { + description + "Maximum length for CHAP challenge"; + when '../minimum'; + type uint8 { + range "16..63"; + } + } + } + container password { + description + "Set default CHAP password"; + leaf enryption-type { + description + "Encryption type (0=not yet encrypted) (7=encrypted) password"; + type enumeration { + enum 0; + enum 7; + } + } + leaf ppp-auth-password { + description + "Default PPP authentication password"; + type string { + pattern '.*'; + } + } + } + } + container pap { + description + "Set PAP authentication parameters"; + container refuse { + description + "Refuse to authenticate using PAP"; + presence "true"; + leaf callin { + description + "Refuse to authenticate on incoming call only"; + type empty; + } + } + container sent-username { + description + "Set Outbound PAP username"; + container username { + description + "Outbound PAP username"; + leaf username-string { + description + "Outbound PAP username"; + type string; + } + leaf password { + description + "Set outbound PAP password"; + type empty; + } + leaf enryption-type { + description + "Encryption type (0=not yet encrypted) (7=encrypted) password"; + when '../password'; + type enumeration { + enum 0; + enum 7; + } + default "0"; + } + leaf ppp-auth-password { + description + "Outbound PAP password"; + when '../password'; + type string { + length "1..215"; + } + } + } + } + leaf wait { + description + "Wait for caller to authenticate first"; + type empty; + } + } + container authentication { + description + "Set PPP link authentication method"; + leaf method { + type enumeration { + enum chap; + enum eap; + enum ms-chap; + enum ms-chap-v2; + enum pap; + } + } + leaf chap { + description + "Challenge Handshake Authentication Protocol (CHAP)"; + when "../method and not(../method = 'chap')"; + type empty; + } + leaf eap { + description + "Extensible Authentication Protocol (EAP)"; + when "../method and not(../method = 'eap')"; + type empty; + } + leaf ms-chap { + description + "Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)"; + when "../method and not(../method = 'ms-chap')"; + type empty; + } + leaf ms-chap-v2 { + description + "Microsoft CHAP Version 2 (MS-CHAP-V2)"; + when "../method and not(../method = 'ms-chap-v2')"; + type empty; + } + leaf pap { + description + "Password Authentication Protocol (PAP)"; + when "../method and not(../method = 'pap')"; + type empty; + } + leaf callback { + description + "Authenticate remote on callback only"; + when '../method'; + type empty; + } + leaf callin { + description + "Authenticate remote on incoming call only"; + when '../method'; + type empty; + } + leaf callout { + description + "Authenticate remote on outgoing call only"; + when '../method'; + type empty; + } + leaf optional { + description + "Allow peer to refuse to authenticate"; + type empty; + } + leaf list-name { + type string; + } + leaf default { + description + "Use the default authentication list"; + type empty; + } + leaf one-time { + description + "Allow use of username*OTP for one-time passwords"; + type empty; + } + } + leaf authorization { + description + "Set PPP network authorization method"; + type union { + type string; + type enumeration { + enum default; + } + } + } + container ipcp { + description + "Set IPCP negotiation options"; + container mask { + description + "Specify DNS mask"; + leaf request { + description + "Request server address mask"; + type empty; + } + } + container dns { + description + "Specify DNS negotiation options"; + container primary { + description + "Primary DNS IP address"; + leaf primary-dns-address { + description + "Primary DNS IP address"; + type inet:ipv4-address; + } + leaf secondary-dns-address { + description + "Secondary DNS IP address"; + type inet:ipv4-address; + } + leaf aaa { + description + "Use DNS data from AAA"; + type empty; + } + leaf accept { + description + "Accept any non zero DNS address"; + type empty; + } + } + leaf accept { + description + "Accept any non zero DNS address"; + type empty; + } + leaf reject { + description + "Reject negotiations with the peer"; + type empty; + } + container request { + description + "Request server addresses from peer"; + presence "true"; + leaf accept { + description + "Accept any non zero DNS address"; + type empty; + } + } + } + container wins { + description + "Specify WINS negotiation options"; + container primary { + description + "Primary WINS IP address"; + leaf primary-wins-address { + description + "Primary WINS IP address"; + type inet:ipv4-address; + } + leaf secondary-wins-address { + description + "Secondary WINS IP address"; + type inet:ipv4-address; + } + leaf aaa { + description + "Use WINS data from AAA"; + type empty; + } + leaf accept { + description + "Accept any non zero WINS address"; + type empty; + } + } + leaf accept { + description + "Accept any non zero WINS address"; + type empty; + } + leaf reject { + description + "Reject negotiations with the peer"; + type empty; + } + container request { + description + "Request server addresses from peer"; + presence "true"; + leaf accept { + description + "Accept any non zero WINS address"; + type empty; + } + } + } + container route { + description + "Install default route through negotiated peer IP address"; + leaf default { + description + "Install default route through negotiated peer IP address"; + type empty; + } + } + container address { + description + "Additional ipcp address options"; + leaf required { + description + "Disconnect peers with no IP address negotiated"; + type empty; + } + } + } + container timeout { + description + "Set PPP timeout parameters"; + when '../../ios:encapsulation/ios:ppp'; + container ncp { + description + "Maximum time to wait for network layer to negotiate"; + leaf ncp-timeout { + description + "Maximum time to wait for network layer to negotiate in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf termination { + description + "Maximum time to wait for renegotiation after NCP termination"; + type uint16 { + range "1..65535"; + } + } + } + leaf authentication { + description + "Maximum time to wait for an authentication response"; + type uint8 { + range "0..255"; + } + } + } + container mtu { + description + "PPP MTU configuration"; + container adaptive { + description + "Adapt MTU to peer's MRU"; + presence "true"; + leaf proxy { + description + "Adapt MTU to proxy MRU"; + type empty; + } + } + container pppoe { + description + "Remove 1492 byte upper limit on MTU for PPPoE session"; + leaf unlimited { + description + "MTU PPPoE related subcommands"; + type empty; + } + } + } + container link { + description + "PPP link configuration"; + leaf reorders { + description + "PPP link reordering"; + type empty; + } + } + } + + grouping config-interface-p2p-grouping { + container ppp { + description + "Point-to-Point Protocol"; + uses config-interface-p2p-options-grouping; + } + } + + grouping config-interface-encap-depend-p2p-grouping { + container ppp { + description + "Point-to-Point Protocol"; + when '../ios:encapsulation/ios:ppp'; + uses config-interface-p2p-options-grouping; + } + } + + augment "/ios:native/ios:ppp" { + uses config-ppp-grouping; + } + + augment "/ios:native/ios:multilink" { + uses config-multilink-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Multilink" { + uses config-interface-p2p-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Multilink/ios-ppp:ppp" { + uses config-interface-p2p-multilink-group-create-grouping { + if-feature "ios-features:multilink"; + refine "multilink/group" { + must '../../../ios:name=current()' { + error-message "% Cannot add multilink-group interface to a different multilink group"; + } + } + } + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-encap-depend-p2p-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Serial/ios-ppp:ppp" { + uses config-interface-p2p-multilink-group-use-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-p2p-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-Template/ios-ppp:ppp" { + status obsolete; + uses config-interface-p2p-multilink-group-use-grouping { + if-feature "ios-features:multilink"; + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:Virtual-PPP" { + uses config-interface-p2p-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-encap-depend-p2p-grouping { + if-feature "ios-features:multilink"; + } + } + + augment "/ios:native/ios:interface/ios:Dialer/ios-ppp:ppp" { + uses config-interface-p2p-multilink-group-create-grouping { + if-feature "ios-features:multilink"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-pppoe.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-pppoe.yang new file mode 100644 index 000000000..441ca3acf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-pppoe.yang @@ -0,0 +1,230 @@ +module Cisco-IOS-XE-pppoe { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-pppoe"; + prefix ios-pppoe; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Point-to-Point over Ethernet Protocol (PPPoE) Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Modified pppoe enable CLI behaviour to config pppoe enable group global + - Added deletion of pppoe-client cli on no pppoe enable + - Added creation of pppoe enable group global on pppoe-client cli"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-07-01 { + description + "- added range for the BBA group name in pppoe enable group command"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + " + - Remove presence on enable container + - Added new service-name leaf + - Modify max allowed ppp-max-payload limit + - modified ordering of ppp enable and pppoe-client for ethernet i/f"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + " + - changed dial-pool-number from leaf to list + - Added new dialer-pool config"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Initial revision"; + } + + grouping config-pppoe-grouping { + container pppoe { + description + "PPPoE options"; + container enable-default-config { + description + "Enable pppoe"; + presence "true"; + leaf group { + description + "attach a BBA group"; + type union { + type string { + pattern '.*'; + length "1..127"; + } + type enumeration { + enum global; + } + } + default "global"; + } + } + container enable-config { + description + "Enable pppoe"; + status deprecated; + leaf pppoe-enable { + status deprecated; + type empty; + } + leaf group-name { + description + "attach a BBA group"; + status deprecated; + type union { + type string { + pattern '.*'; + length "1..127"; + } + type enumeration { + enum global; + } + } + } + } + container enable { + description + "Enable pppoe"; + presence "true"; + status deprecated; + leaf group { + description + "attach a BBA group"; + status deprecated; + type union { + type string; + type enumeration { + enum global; + } + } + } + } + leaf max-sessons { + description + "Maximum PPPoE sessions"; + type uint32 { + range "1..16378"; + } + } + } + } + + grouping config-pppoe-client-grouping { + container pppoe-client { + description + "pppoe-client"; + list dial-pool-number-list { + description + "dialer pool keyword"; + key "number"; + leaf number { + description + "dialer pool number"; + type uint32 { + range "1..255"; + } + } + leaf service-name { + description + "set of characteristics that are applied to a PPPoE connection + when that service name is selected during call setup."; + type string { + pattern '.*'; + } + } + } + leaf dial-pool-number { + status deprecated; + description + "dialer pool keyword"; + type uint32 { + range "1..255"; + } + } + leaf ppp-max-payload { + description + "Maximum MRU value to be negotiated during PPP LCP negotiation. + Maximum limit of this configuration depends on the MTU + of that interface."; + when '../dial-pool-number-list'; + type uint32 { + range "64..9208"; + } + } + } + } + + grouping config-pppoe-session-grouping { + container pppoe-session { + description + "Configure pppoe per-interface options"; + container threshold { + description + "Configure per-interface pppoe session loss threshold"; + leaf loss-threshold { + description + "Per-Interface pppoe session loss threshold"; + type uint32 { + range "1..65535"; + } + } + container percent { + description + "Configure relative percentage session loss over time"; + leaf percantage { + type uint32 { + range "0..100"; + } + } + leaf interval { + description + "Duration over which percentage of session loss to be calculated"; + type uint32 { + range "1..65535"; + } + } + } + } + } + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-pppoe-grouping; + uses config-pppoe-client-grouping; + uses config-pppoe-session-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-process-cpu-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-process-cpu-oper.yang new file mode 100644 index 000000000..9157ea15c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-process-cpu-oper.yang @@ -0,0 +1,173 @@ +module Cisco-IOS-XE-process-cpu-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-process-cpu-oper"; + prefix process-cpu-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring CPU usage of processes in a Network Element. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping process-cpu-key { + description + "Unique process identifier"; + leaf pid { + type uint32; + description + "Process-ID of the process."; + } + leaf name { + type string; + description + "The name of the process."; + } + } + + grouping process-pid-cpu-usage { + description + "CPU usage information for a given process"; + leaf tty { + type uint16; + description + "TTY bound to by the process."; + } + leaf total-run-time { + type uint64; + units "milli-seconds"; + description + "Total Run-time of this process (mSec)"; + } + leaf invocation-count { + type uint32; + description + "Total number of invocations"; + } + leaf avg-run-time { + type uint64; + units "micro-seconds"; + description + "Average Run-time of this process (uSec)"; + } + leaf five-seconds { + type decimal64 { + fraction-digits 2; + } + units "percent"; + description + "Busy percentage in last 5-seconds"; + } + leaf one-minute { + type decimal64 { + fraction-digits 2; + } + units "percent"; + description + "Busy percentage in last one minute"; + } + leaf five-minutes { + type decimal64 { + fraction-digits 2; + } + units "percent"; + description + "Busy percentage in last five minutes"; + } + } + + grouping cpu-utilization { + description + "Data nodes for Total CPU Utilization Statistics."; + leaf five-seconds { + type uint8; + units "percent"; + description + "Busy percentage in last 5-seconds"; + } + leaf five-seconds-intr { + type uint8; + units "percent"; + description + "Interrupt busy percentage in last 5-seconds"; + } + leaf one-minute { + type uint8; + units "percent"; + description + "Busy percentage in last one minute"; + } + leaf five-minutes { + type uint8; + units "percent"; + description + "Busy percentage in last five minutes"; + } + container cpu-usage-processes { + description + "Data nodes for System wide Process CPU usage Statistics."; + list cpu-usage-process { + key "pid name"; + description + "The list of software processes on the device."; + uses process-cpu-ios-xe-oper:process-cpu-key; + uses process-cpu-ios-xe-oper:process-pid-cpu-usage; + } + } + } + + container cpu-usage { + config false; + description + "CPU Utilization data"; + container cpu-utilization { + description + "Data nodes for Total CPU Utilization Statistics."; + uses process-cpu-ios-xe-oper:cpu-utilization; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-process-memory-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-process-memory-oper.yang new file mode 100644 index 000000000..d4457a81b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-process-memory-oper.yang @@ -0,0 +1,115 @@ +module Cisco-IOS-XE-process-memory-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-process-memory-oper"; + prefix process-memory-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring memory usage of processes in a Network Element. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping process-memory-key { + description + "Unique process identifier"; + leaf pid { + type uint32; + description + "Process-ID of the process."; + } + leaf name { + type string; + description + "The name of the process."; + } + } + + grouping process-memory-usage { + description + "Memory usage information for a given process"; + leaf tty { + type uint16; + description + "TTY bound to by the process."; + } + leaf allocated-memory { + type uint64; + units "bytes"; + description + "Total memory allocated to this process (bytes)"; + } + leaf freed-memory { + type uint64; + units "bytes"; + description + "Total memory freed by this process (bytes)"; + } + leaf holding-memory { + type uint64; + units "bytes"; + description + "Total memory currently held by this process (bytes)"; + } + leaf get-buffers { + type uint32; + description + "Get Buffers of this process (bytes)"; + } + leaf ret-buffers { + type uint32; + description + "Return Buffers of this process (bytes)"; + } + } + + container memory-usage-processes { + config false; + description + "Data nodes for System wide Process Memory Statistics."; + list memory-usage-process { + key "pid name"; + description + "The list of software processes on the device."; + uses process-memory-ios-xe-oper:process-memory-key; + uses process-memory-ios-xe-oper:process-memory-usage; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-prp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-prp-oper.yang new file mode 100644 index 000000000..887b140ce --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-prp-oper.yang @@ -0,0 +1,747 @@ +module Cisco-IOS-XE-prp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-prp-oper"; + prefix prp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Parallel Redundancy Protocol (PRP) operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef prp-port-state { + type enumeration { + enum port-inuse { + value 0; + description + "Port is up"; + } + enum port-not-inuse { + value 1; + description + "Port is down"; + } + enum port-not-inuse-admin-down { + value 2; + description + "Port is down as it has been + shut down administratively"; + } + enum port-not-inuse-link-down { + value 3; + description + "Port is down as the link is down"; + } + } + description + "State of the port belonging to the PRP channel"; + } + + typedef prp-channel-state { + type enumeration { + enum channel-inuse { + value 0; + description + "Channel is up"; + } + enum channel-not-inuse { + value 1; + description + "Channel is down"; + } + enum channel-not-inuse-admin-down { + value 2; + description + "Channel is down use as it has been + shut down administratively"; + } + } + description + "State of the PRP channel"; + } + + typedef prp-channel-layer-type { + type enumeration { + enum layer-2 { + value 0; + description + "PRP channel is configured as Layer 2"; + } + enum layer-3 { + value 1; + description + "PRP channel is configured as Layer 3"; + } + } + description + "Layer type of PRP channel interface"; + } + + typedef prp-channel-proto-status { + type enumeration { + enum disabled { + value 0; + description + "Channel Protocol is down"; + } + enum enabled { + value 1; + description + "Channel Protocol is up"; + } + } + description + "Protocol Status of the PRP channel"; + } + + typedef prp-ptp-profile { + type enumeration { + enum udp { + value 0; + description + "PTP will use UDP as the transport protocol over IP"; + } + enum l2-power { + value 1; + description + "PTP power profile is set as Layer two"; + } + } + description + "PTP power profile of the channel"; + } + + typedef prp-node-type { + type enumeration { + enum prp-node-none { + value 0; + description + "Node attachment type is unknown"; + } + enum prp-node-lan-a { + value 1; + description + "Singly attached node on LAN-A"; + } + enum prp-node-lan-b { + value 2; + description + "Singly attached node on LAN-B"; + } + enum prp-node-dan { + value 3; + description + "Dual attached node"; + } + } + description + "Attachment Type of the Node"; + } + + grouping prp-channel-identity { + description + "PRP channel identity, combination of id and name"; + leaf id { + type uint8; + description + "PRP channel group number"; + } + leaf name { + type string; + description + "Name of the PRP channel"; + } + } + + grouping prp-channel-port { + description + "Information of ports configured in the PRP Channel"; + leaf name { + type string; + description + "Name of the port"; + } + leaf slot { + type uint8; + description + "Port Slot Number"; + } + leaf subslot { + type uint8; + description + "Port Subslot Number"; + } + leaf state { + type prp-ios-xe-oper:prp-port-state; + description + "State of the port belonging to the PRP channel"; + } + } + + grouping prp-channel-info { + description + "Information about PRP Channel parameters"; + leaf layer { + type prp-ios-xe-oper:prp-channel-layer-type; + description + "Layer type of PRP channel interface [L2/L3]"; + } + leaf group { + type uint8; + description + "PRP channel group number"; + } + leaf state { + type prp-ios-xe-oper:prp-channel-state; + description + "Current State of the PRP channel"; + } + leaf proto-status { + type prp-ios-xe-oper:prp-channel-proto-status; + description + "Information on channel protocol status"; + } + leaf max-ports { + type uint8; + description + "Maximum Number of ports that can be part of the channel"; + } + list port-info { + description + "Information of all the ports of the channel"; + uses prp-ios-xe-oper:prp-channel-port; + } + } + + grouping prp-vdan-entry { + description + "PRP Virtual Doubly Attached Node entry"; + leaf index { + type uint32; + description + "Unique ID of Virtual Doubly Attached Node (VDAN) entry"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the node"; + } + leaf dynamic { + type boolean; + description + "PRP node was learned or configured"; + } + leaf ttl { + type uint8; + units "seconds"; + description + "Time after which node entry will be + deleted in case of node being unresponsive"; + } + } + + grouping prp-vdan-table { + description + "PRP Virtual Doubly Attached Node Table"; + list prp-vdan-entry { + key "index"; + description + "Entry of Virtual Doubly Attached Node"; + uses prp-ios-xe-oper:prp-vdan-entry; + } + } + + grouping prp-control-ptp { + description + "PTP Profile Info"; + leaf lan-val { + type uint32; + description + "PTP LAN option value, informs if + PTP is enabled on LAN-A or LAN-B"; + } + leaf profile { + type prp-ios-xe-oper:prp-ptp-profile; + description + "PTP clock power profile"; + } + } + + grouping prp-control-super-frame { + description + "PRP Supervision Frame Info"; + leaf cos { + type uint8; + description + "Class of Service (COS) value to be set + in the VLAN tag of the Supervision frame"; + } + leaf cfi { + type uint32; + description + "Canonical Format Indicator (CFI) + for the VLAN tagged frame"; + } + leaf tag { + type uint16; + description + "VLAN Tagging Option Value"; + } + leaf mac-da { + type uint8; + description + "The last byte of the destination + MAC address of supervision frames"; + } + leaf vlan-id { + type uint16; + description + "VLAN identity value of the supervision frame"; + } + leaf interval { + type uint16; + units "milliseconds"; + description + "life check interval time value for supervision frames"; + } + leaf red-box-mac-add { + type yang:mac-address; + description + "Red-Box MAC address in the supervision frames"; + } + leaf time { + type uint16; + units "milliseconds"; + description + "Time interval between two supervision frames being sent"; + } + } + + grouping prp-control { + description + "Information about PRP control parameters"; + container ptp-info { + description + "Information about PTP over PRP parameters"; + uses prp-ios-xe-oper:prp-control-ptp; + } + container supervision-frame { + description + "Information about PRP supervision frame parameters"; + uses prp-ios-xe-oper:prp-control-super-frame; + } + } + + grouping prp-node-entry { + description + "Entry of a Node attached with the channel"; + leaf index { + type uint32; + description + "Unique ID of the node entry"; + } + leaf mac-addr { + type yang:mac-address; + description + "MAC address of the node"; + } + leaf node-type { + type prp-ios-xe-oper:prp-node-type; + description + "Attachment type of the node"; + } + leaf dynamic { + type boolean; + description + "PRP node was learned or configured"; + } + leaf ttl { + type uint8; + units "seconds"; + description + "Time after which node entry will be + deleted in case of node being unresponsive"; + } + } + + grouping prp-node-table { + description + "List of all the nodes attached to the channel"; + list prp-node-entry { + key "index"; + description + "Entry of a Node attached with the channel"; + uses prp-ios-xe-oper:prp-node-entry; + } + } + + grouping prp-node-table-stats { + description + "PRP Node Table Statistics"; + leaf proxynode-table-err { + type uint32; + description + "Total number of proxy Node table errors"; + } + leaf proxynode-table-num { + type uint32; + description + "Total number of proxy Node table active entries"; + } + leaf node-table-err { + type uint32; + description + "Total number of node table errors"; + } + leaf node-table-num { + type uint32; + description + "Total number of node table active entries"; + } + } + + grouping prp-ingress-stats { + description + "Receive Statistics of the PRP channel"; + leaf pkt-lan-a { + type uint64; + description + "Received packet count on LAN-A"; + } + leaf pkt-lan-b { + type uint64; + description + "Received packet count on LAN-B"; + } + leaf crc-lan-a { + type uint64; + description + "Received CRC count on LAN-A"; + } + leaf crc-lan-b { + type uint64; + description + "Received CRC count on LAN-B"; + } + leaf danp-pkt-acpt { + type uint64; + description + "Received packet count accepted from DAN"; + } + leaf danp-pkt-dscrd { + type uint64; + description + "Received packet count discarded from DAN"; + } + leaf supfrm-rcv-a { + type uint64; + description + "Received supervision frame count on lAN-A"; + } + leaf supfrm-rcv-b { + type uint64; + description + "Received supervision frame count on LAN-B"; + } + leaf over-pkt-a { + type uint64; + description + "Received over packet count on LAN-A"; + } + leaf over-pkt-b { + type uint64; + description + "Received over packet count on LAN-B"; + } + leaf pri-over-pkt-a { + type uint64; + description + "Received primary over packet count on LAN-A"; + } + leaf pri-over-pkt-b { + type uint64; + description + "Received primary over packet count on LAN-B"; + } + leaf oversize-pkt-a { + type uint64; + description + "Received over-sized packet count on LAN-A"; + } + leaf oversize-pkt-b { + type uint64; + description + "Received over-sized packet count on LAN-B"; + } + leaf byte-lan-a { + type uint64; + description + "Total ingress byte count on LAN A"; + } + leaf byte-lan-b { + type uint64; + description + "Total ingress byte count on LAN-B"; + } + leaf wrong-lan-id-a { + type uint64; + description + "Packet count with wrong vlan id on LAN-A"; + } + leaf wrong-lan-id-b { + type uint64; + description + "Packet count with wrong vlan id on LAN-B"; + } + leaf warning-lan-a { + type uint64; + description + "Total hardware attribute warnings on LAN-A"; + } + leaf warning-lan-b { + type uint64; + description + "Total hardware attribute warnings on LAN-B"; + } + leaf warning-count-a { + type uint64; + description + "Warning counts received on LAN-A"; + } + leaf warning-count-b { + type uint64; + description + "Warning counts received on LAN-B"; + } + leaf unique-count-a { + type uint64; + description + "Received unique packet count on LAN-A"; + } + leaf unique-count-b { + type uint64; + description + "Received unique packet count on LAN-B"; + } + leaf duplicate-count-a { + type uint64; + description + "Received duplicate packet count on LAN-A"; + } + leaf duplicate-count-b { + type uint64; + description + "Received duplicate packet count on LAN-B"; + } + leaf multiple-count-a { + type uint64; + description + "Received multiple packet count on LAN-A"; + } + leaf multiple-count-b { + type uint64; + description + "Received multiple packet count on LAN-B"; + } + } + + grouping prp-egress-stats { + description + "PRP Transmit Statistics"; + leaf dup-pkt { + type uint64; + description + "Total number of duplicate packets sent by the channel"; + } + leaf supfrm-sent { + type uint64; + description + "Total number of supervision frames sent by the channel"; + } + leaf pkt-lan-a { + type uint64; + description + "Total number of egress frames on LAN-A"; + } + leaf pkt-lan-b { + type uint64; + description + "Total number of egress frames on LAN-B"; + } + leaf byte-lan-a { + type uint64; + description + "Transmit byte count on LAN-A"; + } + leaf byte-lan-b { + type uint64; + description + "Transmit byte count on LAN-B"; + } + leaf recv-switch { + type uint64; + description + "Transmit receive switch"; + } + leaf overrun { + type uint64; + description + "Transmit Overrun packets"; + } + leaf overrun-drop { + type uint64; + description + "Transmit overrun dropped packets"; + } + } + + grouping prp-pausefrm-stats { + description + "PRP Pause Frame Statistics"; + leaf pausefrm-sent { + type uint32; + description + "Total number of pause frames sent from the channel"; + } + } + + grouping prp-ptp-pkt-stats { + description + "PRP PTP Statistics"; + leaf ingress-lan-a { + type uint32; + description + "PTP packet ingress count on LAN-A"; + } + leaf ingress-drop-lan-a { + type uint32; + description + "PTP packet drop count on LAN-A"; + } + leaf ingress-lan-b { + type uint32; + description + "PTP packet ingress count on LAN-B"; + } + leaf ingress-drop-lan-b { + type uint32; + description + "PTP packet drop count on LAN-B"; + } + leaf egress-lan-a { + type uint32; + description + "PTP packet egress count on LAN-A"; + } + leaf egress-lan-b { + type uint32; + description + "PTP packet egress count on LAN-B"; + } + } + + grouping prp-stats { + description + "PRP all statistics"; + container ingress { + description + "Receive statistics of PRP channel"; + uses prp-ios-xe-oper:prp-ingress-stats; + } + container egress { + description + "Transmit statistics of PRP channel"; + uses prp-ios-xe-oper:prp-egress-stats; + } + container pause-frm { + description + "Pause Frame statistics of PRP channel"; + uses prp-ios-xe-oper:prp-pausefrm-stats; + } + container node-table { + description + "Node Table statistics of PRP channel"; + uses prp-ios-xe-oper:prp-node-table-stats; + } + container ptp { + description + "PTP statistics of PRP channel"; + uses prp-ios-xe-oper:prp-ptp-pkt-stats; + } + } + + container prp-oper-data { + config false; + description + "PRP operational data"; + list prp-channel-info { + key "id name"; + description + "Information regarding the PRP channel"; + uses prp-ios-xe-oper:prp-channel-identity; + uses prp-ios-xe-oper:prp-channel-info; + } + list prp-vdan-table { + key "id name"; + description + "List of PRP Virtual Doubly Attached Nodes (VDAN)"; + uses prp-ios-xe-oper:prp-channel-identity; + uses prp-ios-xe-oper:prp-vdan-table; + } + list prp-control { + key "id name"; + description + "Information regarding control parameters of the channel"; + uses prp-ios-xe-oper:prp-channel-identity; + uses prp-ios-xe-oper:prp-control; + } + list prp-node-table { + key "id name"; + description + "List of attached PRP nodes"; + uses prp-ios-xe-oper:prp-channel-identity; + uses prp-ios-xe-oper:prp-node-table; + } + list prp-stats { + key "id name"; + description + "PRP channel statistics information"; + uses prp-ios-xe-oper:prp-channel-identity; + uses prp-ios-xe-oper:prp-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-prp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-prp.yang new file mode 100644 index 000000000..cded480ae --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-prp.yang @@ -0,0 +1,168 @@ +module Cisco-IOS-XE-prp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-prp"; + prefix prp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE prp (Parallel redundancy protocol) model"; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initially created"; + cisco-semver:module-version "1.0.0"; + } + + typedef int-vlan { + description + "custom int data type for vlan with required range"; + type uint16 { + range "0..4095"; + } + } + + typedef mac-address { + description + "The mac-address type represents an IEEE 802 MAC address."; + type string { + pattern '[0-9a-fA-F]{4}(.[0-9a-fA-F]{4}){2}'; + } + } + + grouping config-prp-grouping { + container prp { + list channel-group { + key "id"; + leaf id { + description + "Denotes channel number"; + type uint8 { + range "1..2"; + } + } + container supervisionFrameOption { + description + "Enables VLAN-tagged supervision frames"; + leaf vlan-id { + description + "vlan-id"; + type int-vlan; + } + leaf vlan-cos { + description + "vlan class of service value"; + type uint8 { + range "1..7"; + } + } + leaf vlan-tagged { + description + "vlan-tagged enable/disable"; + type empty; + } + leaf mac-da { + description + "MAC DA last two bit option value"; + type uint8 { + range "1..255"; + } + } + } + container nodeTableMacaddress { + leaf mac-address { + description + "MAC address"; + type mac-address; + } + leaf attachment-type { + description + "Connection type"; + type enumeration { + enum dan; + enum lan-a; + enum lan-b; + } + } + } + leaf vdanMacaddress { + description + "MAC address"; + type mac-address; + } + leaf passRCT { + description + "passRCT enable/disable"; + type empty; + } + container igmpquerier { + description + "sendGQOnLANRecovery enable/disable"; + leaf sendGQOnLANRecovery { + type empty; + } + } + leaf supervisionFrameRedboxMacaddress { + description + "MAC address"; + type mac-address; + } + leaf supervisionFrameLifeCheckInterval { + description + "Interval time"; + type uint16 { + range "0..65535"; + } + } + leaf supervisionFrameTime { + description + "Frame life time"; + type uint16 { + range "0..65535"; + } + default "3"; + } + } + } + } + + grouping config-interface-GigE-prp-grouping { + container prp-channel-group { + leaf id { + description + "Denotes channel number"; + type uint8; + } + } + } + + augment "/ios:native" { + uses config-prp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-GigE-prp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-psecure-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-psecure-oper.yang new file mode 100644 index 000000000..72ded28cb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-psecure-oper.yang @@ -0,0 +1,172 @@ +module Cisco-IOS-XE-psecure-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-psecure-oper"; + prefix psecure-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of port security state information. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-03-01 { + description + "Deprecated port security parameter list. New port security entry + will have support for multiple port security entries with the same + MAC addresses and different VLANs."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef psecure-type { + type enumeration { + enum psecure-configured { + value 0; + description + "Port security type configured"; + } + enum psecure-dynamic { + value 1; + description + "Port security type dynamic"; + } + enum psecure-sticky { + value 2; + description + "Port security type sticky"; + } + enum psecure-none { + value 3; + description + "Port security type none"; + } + } + description + "Port security type"; + } + + grouping psecure-param { + description + "Port security parameters for a local interface"; + leaf vlan { + type uint16; + description + "VLAN identifier for port security"; + } + leaf mac { + type yang:mac-address; + description + "Secure MAC address for port security"; + } + leaf type { + type psecure-ios-xe-oper:psecure-type; + description + "Type of secure MAC address for port security"; + } + leaf age-remain { + type uint32; + units "minutes"; + description + "Remaining aging time in minutes for port security"; + } + } + + grouping psecure-entry-key { + description + "Key for port security entry"; + leaf vlan { + type uint16; + description + "VLAN identifier for port security"; + } + leaf mac { + type yang:mac-address; + description + "Secure MAC address for port security"; + } + } + + grouping psecure-entry { + description + "Port security configuration details"; + leaf type { + type psecure-ios-xe-oper:psecure-type; + description + "Type of secure MAC address for port security"; + } + } + + grouping psecure-state { + description + "Port security entries"; + leaf if-name { + type string; + description + "Local interface name"; + } + list psecure-param { + key "mac"; + status deprecated; + description + "This list is deprecated because it does not support + multiple port security entries with same MAC address. + Use port security entry group instead. The new list + supports port security entries with the same MAC address + and different VLANs."; + uses psecure-ios-xe-oper:psecure-param; + } + list psecure-entry { + key "vlan mac"; + description + "Port security configuration details"; + uses psecure-ios-xe-oper:psecure-entry-key; + uses psecure-ios-xe-oper:psecure-entry; + } + } + + container psecure-oper-data { + config false; + description + "Port security information"; + list psecure-state { + key "if-name"; + description + "Port security operational state"; + uses psecure-ios-xe-oper:psecure-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-pi.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-pi.yang new file mode 100644 index 000000000..11c2dce6c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-pi.yang @@ -0,0 +1,708 @@ +module Cisco-IOS-XE-ptp-pi { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ptp-pi"; + prefix ios-ptp-pi; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Precision Time Protocol (PTP) Yang Model. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-11-01 { + description + "- Adding support to transparent clock-type and peer-delay-request"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Fixing some of the missed models"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add fix for ptp clock deletion"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-23 { + description + "Initial revision"; + } + + grouping config-clock-src-dest-grouping { + container src-dest-grp { + leaf interface { + description + "Interface"; + type string; + } + leaf bridge-domain { + description + "Bridge Domain"; + type uint32 { + range "1..4294967295"; + } + } + leaf priority { + description + "Local priority"; + type uint8 { + range "1..2"; + } + } + leaf delay-asymmetry { + description + "Delay asymmetry"; + type int32 { + range "-500000000..500000000"; + } + default "0"; + } + leaf units { + type enumeration { + enum nanoseconds; + enum picoseconds; + } + } + } + } + + grouping config-address-grouping { + container address { + choice ipormac { + container ip { + leaf ipaddress { + description + "IPv4 Address"; + type inet:ipv4-address; + } + uses config-clock-src-dest-grouping; + } + container mac { + leaf macaddress { + description + "Mac Address"; + type ios-types:cisco-mac-address-type; + } + uses config-clock-src-dest-grouping; + } + } + } + } + + grouping config-ptp-grouping { + container clock { + description + "Configure PTP clock"; + container ordinary { + description + "Configure PTP Ordinary clock"; + list domain { + description + "PTP domain"; + key "domain-num"; + leaf domain-num { + type int8 { + range "0..127"; + } + } + leaf hybrid { + description + "PTP hybrid mode"; + type empty; + } + leaf profile { + description + "Change PTP clock profile"; + type enumeration { + enum g8265.1; + enum g8275.1; + enum g8275.2; + enum default; + enum power; + } + } + uses config-ptp-clock-port-grouping; + } + } + container boundary { + description + "Configure PTP Boundary clock"; + list domain { + description + "PTP domain"; + key "domain-num"; + leaf domain-num { + type int8 { + range "0..127"; + } + } + leaf hybrid { + description + "PTP hybrid mode"; + type empty; + } + leaf profile { + description + "Change PTP clock profile"; + type enumeration { + enum g8265.1; + enum g8275.1; + enum g8275.2; + enum default; + enum power; + enum dot1as; + } + } + uses config-ptp-clock-port-grouping; + } + } + container e2e-transparent { + description + "Configure PTP transparent clock"; + leaf domain { + description + "PTP domain"; + type int8 { + range "0..127"; + } + } + } + container transparent { + description + "Configure PTP transparent clock"; + list domain { + description + "PTP domain"; + key "domain-num"; + leaf domain-num { + description + "domain number"; + type int8 { + range "0..127"; + } + } + leaf profile { + description + "PTP profile"; + type enumeration { + enum power; + enum default; + } + } + } + } + } + grouping config-ptp-clock-port-grouping { + list clock-port { + description + "Configure clock port"; + key "name"; + leaf name { + description + "Port name"; + type string; + } + leaf slave { + description + "Configure as Slave"; + type empty; + } + container inter-op-port { + description + "Configure as Inter-op Multi-Profile"; + list domain { + description + "domain"; + key "value"; + leaf value { + description + "PTP domain"; + type uint8 { + range "0..127"; + } + } + container inter-op-profile { + description + "Inter-op profile"; + choice interop-profile-choice { + leaf p1588 { + description + "Telecom Default Profile ITU-T 1588"; + type empty; + } + container g8275.2 { + description + "Telecom Profile ITU-T G.8275.2"; + presence "true"; + leaf local-priority { + type uint8 { + range "1..255"; + } + } + } + } + } + } + } + leaf master { + description + "Configure as Master"; + type empty; + } + leaf profile { + description + "Change PTP clock profile"; + type enumeration { + enum g8265.1; + enum g8275.1; + enum g8275.2; + } + } + leaf local-priority { + description + "Set virtual port local priority"; + type uint8 { + range "1..255"; + } + } + container announce { + description + "announcement packet parameters"; + leaf interval { + description + "PTP announce interval"; + type int8 { + range "-3..3"; + } + default "1"; + } + leaf timeout { + description + "PTP announce timeout"; + type int8 { + range "1..10"; + } + default "3"; + } + } + container delay-req { + leaf interval { + description + "PTP delay request interval"; + type int8 { + range "-7..4"; + } + default "-4"; + } + } + container sync { + leaf interval { + description + "PTP delay request interval"; + type int8 { + range "-7..4"; + } + default "-5"; + } + leaf one-step { + type empty; + } + leaf limit { + description + "out of sync limit for sync fault"; + type uint32 { + range "10..500000000"; + } + } + } + container transport { + description + "Set port transport parameters"; + container ethernet { + description + "Use Ethernet encapsulation"; + container multicast { + description + "Use multicast communication channel"; + leaf bridge-domain { + description + "Bridge domain id"; + type uint64 { + range "1..4294967295"; + } + } + container interface { + uses ios-ifc:interface-grouping; + } + } + leaf unicast { + description + "Use unicast communication channel"; + type empty; + } + leaf negotiation { + description + "Enable unicast negotiation"; + type empty; + } + } + container ipv4 { + description + "Use Ipv4 encapsulation"; + container unicast { + description + "Use unicast communication channel"; + container interface { + uses ios-ifc:interface-grouping; + leaf negotiation { + description + "Enable unicast negotiation"; + type empty; + } + leaf single-hop { + description + "Enable single hop transport"; + type empty; + } + } + } + } + } + container clock { + list source { + key "address"; + leaf ip { + type empty; + } + leaf address { + type inet:ipv4-address; + } + leaf priority { + description + "Local priority"; + type uint8 { + range "1..2"; + } + } + leaf delay-asymmetry { + description + "Delay asymmetry"; + type int64 { + range "-500000000..500000000"; + } + default "0"; + } + leaf units { + type enumeration { + enum nanoseconds; + enum picoseconds; + } + } + } + container destination { + description + "Destination options"; + uses config-address-grouping; + } + } + container unicast { + leaf grant-duration { + type enumeration { + enum 0; + } + default "0"; + } + } + container pdelay-req { + description + "Set parameters for peer-delay-req packets"; + when "../../ios-ptp-pi:profile = 'power'"; + leaf interval { + description + "Interval for PTP peer-delay-req packets"; + type uint8 { + range "0..5"; + } + } + } + leaf wait-to-restore { + type enumeration { + enum 0; + } + default "0"; + } + leaf vlan { + description + "ptp vlan settings"; + type uint16 { + range "1..4094"; + } + } + leaf gmc-block { + description + "block rogue gmc"; + type empty; + } + } + container time-properties { + description + "Time for which BC need to set UtcOffsetValid as true"; + leaf persist { + description + "Persist Time Interval for which BC need to set UtcOffsetValid as true"; + type uint16; + } + } + leaf default-clock-class { + type uint8 { + range "0..255"; + } + } + leaf local-priority { + type uint8 { + range "1..255"; + } + } + leaf min-clock-class { + type uint8 { + range "0..255"; + } + } + container input { + leaf input_1pps { + type empty; + } + leaf slot-port { + description + "1PPS slot/port"; + type string; + } + leaf port_1pps { + type enumeration { + enum R0; + enum R1; + } + } + } + container offset-msg-threshold { + container warning { + leaf value { + type uint8 { + range "0..200"; + } + } + leaf units { + type enumeration { + enum ms; + enum us; + enum ns; + } + } + } + container critical { + leaf value { + type uint16 { + range "201..400"; + } + } + leaf units { + type enumeration { + enum ms; + enum us; + enum ns; + } + } + } + } + container output { + leaf out_1pps { + type empty; + } + leaf slot-port { + description + "1PPS slot/port"; + type string; + } + leaf port_1pps { + type enumeration { + enum R0; + enum R1; + } + } + leaf offset { + type uint64 { + range "0..500000000"; + } + } + leaf negative { + type empty; + } + leaf pulse-width { + type uint16 { + range "1..4096"; + } + } + leaf units { + type enumeration { + enum ms; + enum us; + enum ns; + } + } + } + leaf priority1 { + type uint8 { + range "1..255"; + } + default "128"; + } + leaf priority2 { + type uint8 { + range "1..255"; + } + default "128"; + } + leaf ref-clock-class-trap-clear { + type uint8 { + range "0..255"; + } + } + leaf ref-clock-state-trap-clear { + type enumeration { + enum ACQUIRING; + enum FREERUN; + enum FREQ_LOCKED; + enum HOLDOVER; + enum INITIALIZING; + enum PHASE_ALIGNED; + enum UNKNOWN; + } + } + leaf ref-time-source-trap-clear { + type enumeration { + enum Atomic; + enum GPS; + enum "Hand Set"; + enum "Internal Oscillator"; + enum NTP; + enum Other; + enum PTP; + enum "Terrestrial Radio"; + } + } + container servo { + leaf network-type { + type enumeration { + enum High-Jitter; + enum XDSL; + } + } + leaf tracking-type { + type enumeration { + enum Frequency; + enum High-Jitter; + } + } + } + container tod { + leaf tod_port { + type enumeration { + enum R0; + enum R1; + } + } + leaf tod_format { + type enumeration { + enum cisco; + enum nmea; + enum ntp; + enum ubx; + enum cmcc; + } + } + leaf delay { + type uint16 { + range "1..999"; + } + } + leaf slot-card { + description + "slot/card input"; + type string; + } + } + container utc-offset { + leaf value { + type uint32 { + range "0..65535"; + } + } + leaf leap-second { + type string; + } + leaf offset { + type int8 { + range "-1..1"; + } + } + } + list virtual-port { + key "name"; + leaf name { + type string; + } + leaf profile { + type enumeration { + enum g8275.1; + enum g8275.2; + } + } + leaf local-priority { + description + "Set virtual port local priority"; + type uint8 { + range "1..255"; + } + } + } + } + } + + augment "/ios:native/ios:ptp" { + uses config-ptp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-synce-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-synce-oper.yang new file mode 100644 index 000000000..cc5ee4634 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp-synce-oper.yang @@ -0,0 +1,806 @@ +module Cisco-IOS-XE-ptp-synce-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ptp-synce-oper"; + prefix ptp-synce-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for PTP (Precision Time Protocol) and + Synchronous Ethernet operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ptp-clock-type { + type enumeration { + enum ptp-clock-type-not-set { + value 0; + description + "PTP Clock type not set"; + } + enum ptp-clock-type-ordinary { + value 1; + description + "PTP Clock type Ordinary"; + } + enum ptp-clock-type-boundary { + value 2; + description + "PTP Clock type Boundary"; + } + enum ptp-clock-type-e2e-transparent { + value 3; + description + "PTP Clock type edge to edge transparent"; + } + enum ptp-clock-type-invalid { + value 4; + description + "PTP Clock type reserved"; + } + } + description + "PTP Clock type"; + } + + typedef ptp-clock-state { + type enumeration { + enum ptp-clock-state-unknown { + value 0; + description + "PTP clock state unknown"; + } + enum ptp-clock-state-initializing { + value 1; + description + "PTP clock state initializing"; + } + enum ptp-clock-state-freerun { + value 2; + description + "PTP clock state free run"; + } + enum ptp-clock-state-holdover { + value 3; + description + "PTP clock state hold over"; + } + enum ptp-clock-state-acquiring { + value 4; + description + "PTP clock state acquiring"; + } + enum ptp-clock-state-freq-locked { + value 5; + description + "PTP clock state freq locked"; + } + enum ptp-clock-state-phase-aligned { + value 6; + description + "PTP clock state phase aligned"; + } + enum ptp-clock-state-invalid { + value 7; + description + "PTP clock state invalid"; + } + } + description + "PTP clock state"; + } + + typedef ptp-clock-time-source { + type enumeration { + enum ptp-time-source-atomic-clock { + value 0; + description + "PTP clock time source atomic clock"; + } + enum ptp-time-source-gps { + value 1; + description + "PTP clock time source GPS"; + } + enum ptp-time-source-terrestrial-radio { + value 2; + description + "PTP clock time source terrestrial radio"; + } + enum ptp-time-source-ptp { + value 3; + description + "PTP clock time source PTP"; + } + enum ptp-time-source-ntp { + value 4; + description + "PTP clock time source NTP"; + } + enum ptp-time-source-hand-set { + value 5; + description + "PTP clock time source hand set"; + } + enum ptp-time-source-other { + value 6; + description + "PTP clock time source other"; + } + enum ptp-time-source-internal-oscillator { + value 7; + description + "PTP clock time source internal oscillator"; + } + enum ptp-time-source-invalid { + value 8; + description + "PTP clock time source invalid"; + } + } + description + "PTP clock time source"; + } + + typedef peer-address-type { + type enumeration { + enum peer-address-mac { + value 0; + description + "Peer address is an MAC address"; + } + enum peer-address-ip { + value 1; + description + "Peer address is an IP address"; + } + } + description + "Peer address types"; + } + + typedef netsync-ql { + type enumeration { + enum netsync-ql-null { + value 0; + description + "Network-clock Synchronization Quality Level Null"; + } + enum netsync-ql-dnu { + value 1; + description + "Network-clock Synchronization Quality Level Do Not Use for Sync"; + } + enum netsync-ql-dus { + value 2; + description + "Network-clock Synchronization Quality Level Do Not Use for Sync"; + } + enum netsync-ql-failed { + value 3; + description + "Network-clock Synchronization Quality Level failed"; + } + enum netsync-ql-inv0 { + value 4; + description + "Network-clock Synchronization Quality Level Unallocated SSM(Synchronization Status Message) Value 0"; + } + enum netsync-ql-inv1 { + value 5; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 1"; + } + enum netsync-ql-inv2 { + value 6; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 2"; + } + enum netsync-ql-inv3 { + value 7; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 3"; + } + enum netsync-ql-inv4 { + value 8; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 4"; + } + enum netsync-ql-inv5 { + value 9; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 5"; + } + enum netsync-ql-inv6 { + value 10; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 6"; + } + enum netsync-ql-inv7 { + value 11; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 7"; + } + enum netsync-ql-inv8 { + value 12; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 8"; + } + enum netsync-ql-inv9 { + value 13; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 9"; + } + enum netsync-ql-inv10 { + value 14; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 10"; + } + enum netsync-ql-inv11 { + value 15; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 11"; + } + enum netsync-ql-inv12 { + value 16; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 12"; + } + enum netsync-ql-inv13 { + value 17; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 13"; + } + enum netsync-ql-inv14 { + value 18; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 14"; + } + enum netsync-ql-inv15 { + value 19; + description + "Network-clock Synchronization Quality Level Unallocated SSM Value 15"; + } + enum netsync-ql-nsupp { + value 20; + description + "Network-clock Synchronization Quality Level Not Supporting SSM Processing"; + } + enum netsync-ql-prc { + value 21; + description + "Network-clock Synchronization Quality Level Primary Clock Reference"; + } + enum netsync-ql-prov { + value 22; + description + "Network-clock Synchronization Quality Level Provisional by Network Operator"; + } + enum netsync-ql-prs { + value 23; + description + "Network-clock Synchronization Quality Level PRS(Primary Reference Source) Traceable"; + } + enum netsync-ql-sec { + value 24; + description + "Network-clock Synchronization Quality Level Synchronous Equipment Clock"; + } + enum netsync-ql-smc { + value 25; + description + "Network-clock Synchronization Quality Level SONET(Synchronous Optical Networking) Clock Self timed"; + } + enum netsync-ql-ssu-a { + value 26; + description + "Network-clock Synchronization Quality Level Type I or V Slave Clock"; + } + enum netsync-ql-ssu-b { + value 27; + description + "Network-clock Synchronization Quality Level Type VI Slave Clock"; + } + enum netsync-ql-st2 { + value 28; + description + "Network-clock Synchronization Quality Level Stratum 2"; + } + enum netsync-ql-st3 { + value 29; + description + "Network-clock Synchronization Quality Level Stratum 3"; + } + enum netsync-ql-st3e { + value 30; + description + "Network-clock Synchronization Quality Level Stratum 3E"; + } + enum netsync-ql-st4 { + value 31; + description + "Network-clock Synchronization Quality Level Stratum 4 Free Run"; + } + enum netsync-ql-stu { + value 32; + description + "Network-clock Synchronization Quality Level Synchronized Trace ability Unknown"; + } + enum netsync-ql-tnc { + value 33; + description + "Network-clock Synchronization Quality Level Transit Node Clock"; + } + enum netsync-ql-unc { + value 34; + description + "Network-clock Synchronization Quality Level Unconnected to an Input"; + } + enum netsync-ql-unk { + value 35; + description + "Network-clock Synchronization Quality Level Unknown Clock Source"; + } + enum netsync-ql-max { + value 36; + description + "Network-clock Synchronization Quality Level maximum"; + } + } + description + "Network-clock Synchronization define Quality level value"; + } + + typedef signal-type { + type enumeration { + enum na { + value 0; + description + "Network-clock Synchronization signal type unknown ethernet interfaces"; + } + enum t1-sf { + value 1; + description + "Network-clock Synchronization signal type"; + } + enum t1-esf { + value 2; + description + "Network-clock Synchronization signal type"; + } + enum t1-d4 { + value 3; + description + "Network-clock Synchronization signal type"; + } + enum e1 { + value 4; + description + "Network-clock Synchronization signal type"; + } + enum e1-crc4 { + value 5; + description + "Network-clock Synchronization signal type"; + } + enum e1-crc4-120ohm { + value 6; + description + "Network-clock Synchronization signal type"; + } + enum e1-crc4-75ohm { + value 7; + description + "Network-clock Synchronization signal type"; + } + enum e1-fas { + value 8; + description + "Network-clock Synchronization signal type"; + } + enum e1-fas-120ohm { + value 9; + description + "Network-clock Synchronization signal type"; + } + enum e1-fas-75ohm { + value 10; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas { + value 11; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas-120ohm { + value 12; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas-75ohm { + value 13; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas-crc4 { + value 14; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas-crc4-120ohm { + value 15; + description + "Network-clock Synchronization signal type"; + } + enum e1-cas-crc4-75ohm { + value 16; + description + "Network-clock Synchronization signal type"; + } + enum j1 { + value 17; + description + "Network-clock Synchronization signal type"; + } + enum 2m { + value 18; + description + "Network-clock Synchronization signal type"; + } + enum 10m { + value 19; + description + "Network-clock Synchronization signal type"; + } + enum 2048k { + value 20; + description + "Network-clock Synchronization signal type"; + } + enum invalid { + value 21; + description + "Network-clock Synchronization signal type invalid"; + } + } + description + "Network-clock Synchronization signal types"; + } + + grouping ptp-clock-quality { + description + "PTP clock quality"; + leaf clock-class { + type uint8; + description + "Clock class value sent to slaves"; + } + leaf offset-scaled-log-var { + type uint16; + description + "Offset scaled log var"; + } + } + + grouping ptp-clock-quality-received { + description + "PTP clock quality received"; + container clock-quality { + description + "Clock quality"; + uses ptp-synce-ios-xe-oper:ptp-clock-quality; + } + leaf protocol-address { + type inet:ip-address; + description + "IP address of master device"; + } + } + + grouping peer-address-data { + description + "Peer address of the PTP session"; + choice peer-address-choice { + description + "Indicates whether peer address is MAC or IP"; + case peer-address-mac { + leaf mac { + type yang:mac-address; + description + "MAC address of the session"; + } + } + case peer-address-ip { + leaf ip { + type inet:ip-address; + description + "IP address of the session"; + } + } + } + } + + grouping ptp-operational-session { + description + "PTP operational session"; + container address-type { + description + "Peer (MAC/IP) address"; + uses ptp-synce-ios-xe-oper:peer-address-data; + } + leaf pkts-in { + type uint64; + description + "Number of packets received from peer"; + } + leaf pkts-out { + type uint64; + description + "Number of packets sent to peer"; + } + leaf err-in { + type uint64; + description + "Number of error packets received"; + } + leaf err-out { + type uint64; + description + "Number of error packets sent"; + } + } + + grouping ptp-clock-runtime-state { + description + "PTP clock runtime state"; + leaf clock-state { + type ptp-synce-ios-xe-oper:ptp-clock-state; + description + "Clock State"; + } + leaf clock-domain { + type uint8; + description + "Clock domain"; + } + leaf pkts-sent { + type uint64; + description + "Number of packets sent to peer"; + } + leaf pkts-rcvd { + type uint64; + description + "Number of packets received from peer"; + } + list ptp-master { + description + "List of PTP masters attached to slave port"; + uses ptp-synce-ios-xe-oper:ptp-operational-session; + } + list ptp-slave { + description + "List of PTP slaves connected to master port"; + uses ptp-synce-ios-xe-oper:ptp-operational-session; + } + } + + grouping ptp-clock-time-properties { + description + "PTP clock time properties data set"; + leaf current-utc-offset { + when 'boolean(../current-utc-offset-valid)'; + type uint16; + description + "Current UTC clock offset value"; + } + leaf current-utc-offset-valid { + type empty; + description + "Is Current UTC clock offset value valid"; + } + leaf leap59 { + type boolean; + description + "Is leap 59"; + } + leaf leap61 { + type boolean; + description + "Is leap 61"; + } + leaf time-traceable { + type boolean; + description + "Is Time Traceable"; + } + leaf frequency-traceable { + type boolean; + description + "Is frequency Traceable"; + } + leaf ptp-time-scale { + type boolean; + description + "PTP time scale"; + } + leaf time-source { + type ptp-synce-ios-xe-oper:ptp-clock-time-source; + description + "Time Source"; + } + } + + grouping ptp-time-interval { + description + "An IEEE-1588 defined representation of a time interval"; + leaf scaled-nano-seconds { + type int64; + units "nanoseconds"; + description + "Time interval in nanoseconds multiplied by 216"; + } + } + + grouping ptp-clock-current-data-set { + description + "An IEEE-1588 defined data set containing attributes related to clock synchronization"; + leaf steps-removed { + type uint16; + description + "Number communication path traversed with grandmaster"; + } + container offset-from-master { + description + "Time difference between slave and master"; + uses ptp-synce-ios-xe-oper:ptp-time-interval; + } + container mean-path-delay { + description + "Mean propagation time between master and slave"; + uses ptp-synce-ios-xe-oper:ptp-time-interval; + } + } + + grouping ptp-key { + description + "PTP key values"; + leaf clock-type { + type ptp-synce-ios-xe-oper:ptp-clock-type; + description + "PTP clock type"; + } + leaf clock-domain { + type uint64; + description + "PTP clock domain"; + } + leaf clock-inst { + type uint64; + description + "PTP clock instance"; + } + } + + grouping ptp-data { + description + "PTP data values"; + container clock-quality { + description + "PTP clock quality sent"; + uses ptp-synce-ios-xe-oper:ptp-clock-quality; + } + list clock-quality-received { + description + "PTP clock quality received"; + uses ptp-synce-ios-xe-oper:ptp-clock-quality-received; + } + container runtime-state { + description + "PTP clock runtime state"; + uses ptp-synce-ios-xe-oper:ptp-clock-runtime-state; + } + container time-properties { + description + "PTP clock time properties data set"; + uses ptp-synce-ios-xe-oper:ptp-clock-time-properties; + } + container current-dataset { + description + "PTP clock current dataset"; + uses ptp-synce-ios-xe-oper:ptp-clock-current-data-set; + } + } + + grouping netsync-ql-data { + description + "Holds Quality Level values"; + leaf ql-tx { + type ptp-synce-ios-xe-oper:netsync-ql; + description + "Quality Level value transmitted"; + } + leaf ql-rx { + type ptp-synce-ios-xe-oper:netsync-ql; + description + "Actual quality Level value received"; + } + leaf cfg-ql-rx { + type ptp-synce-ios-xe-oper:netsync-ql; + description + "Configured quality Level value"; + } + } + + grouping netsync-key { + description + "Holds key, interface name and signal type"; + leaf interface { + type string; + description + "Interface name"; + } + leaf sig-type { + type ptp-synce-ios-xe-oper:signal-type; + description + "Interface signal type"; + } + } + + container ptp-synce-oper-data { + config false; + description + "PTP (Precision Time Protocol) operational data"; + list ptp-dataset { + key "clock-type clock-domain clock-inst"; + description + "PTP (Precision Time Protocol) dataset"; + uses ptp-synce-ios-xe-oper:ptp-key; + uses ptp-synce-ios-xe-oper:ptp-data; + } + list netsync-ql { + key "interface sig-type"; + description + "Sync-E (Synchronous Ethernet) operational data"; + uses ptp-synce-ios-xe-oper:netsync-ql-data; + uses ptp-synce-ios-xe-oper:netsync-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp.yang new file mode 100644 index 000000000..17911ea40 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ptp.yang @@ -0,0 +1,445 @@ +module Cisco-IOS-XE-ptp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ptp"; + prefix ios-ptp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-switch { + prefix ios-sw; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Precision Time Protocol (PTP) Yang Model. + Copyright (c) 2016-2017, 2019, 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Added forward mode in transparent-clock-grouping"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for ptp clock transparent"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "- Prepend switchport-config to switchport"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-12-01 { + description + "Adding Transport and Interface level CLIs"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-09-19 { + description + "Extension for edison"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-ptp-grouping { + container ptp { + description + "Precision Time Protocol"; + container clock { + description + "Configure PTP clock"; + container ordinary { + description + "Configure PTP Ordinary clock"; + leaf domain { + description + "PTP domain"; + type int8 { + range "0..127"; + } + } + } + container clock-port { + description + "Configure clock port"; + leaf name { + description + "Port name"; + type string; + } + leaf slave { + description + "Configure as Slave"; + type empty; + } + leaf master { + description + "Configure as Master"; + type empty; + } + container transport { + description + "Set port transport parameters"; + leaf ipv4 { + description + "Use IPv4 encapsulation"; + type empty; + } + container unicast { + description + "Use unicast communication channel"; + leaf interface { + type string; + } + leaf negotiation { + description + "Enable unicast negotiation"; + type empty; + } + } + } + container clock { + leaf source { + type inet:ipv4-address; + } + } + } + } + } + } + + grouping config-ptp-grouping2 { + leaf domain { + description + "Clock domain number"; + type uint8; + } + container profile { + leaf dot1as { + when 'not(../../transport/ipv4/udp)'; + type empty; + } + } + leaf neighbor-propagation-delay-threshold { + description + "in nanoseconds"; + type uint32 { + range "1..2147483646"; + } + } + leaf priority1 { + description + "clock priority1 number"; + type uint8; + } + leaf priority2 { + description + "clock priority2 number"; + type uint8; + } + container mode { + container boundary { + leaf delay-req { + type empty; + } + leaf pdelay-req { + type empty; + } + } + leaf e2etransparent { + type empty; + } + leaf p2ptransparent { + type empty; + } + } + container transport { + description + "Set transport mode"; + when 'not((/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:pdelay-req) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:delay-req) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:e2etransparent) or (/ios:native/ios:ptp/ios-ptp:profile/ios-ptp:dot1as) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:p2ptransparent))'; + container ipv4 { + description + "Transport IPv4"; + leaf udp { + description + "Transport IPv4 UDP"; + type empty; + } + } + } + container clock { + if-feature "ios-features:ptp"; + description + "Configure PTP clock"; + leaf forward-mode { + description + "Configure PTP clock forward mode"; + type empty; + } + uses transparent-clock-grouping; + } + } + + grouping config-interface-ptp-grouping { + container ptp { + description + "PTP related interface configuration"; + leaf enable { + description + "Enable PTP"; + type empty; + } + container announce { + when '(/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:delay-req) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:pdelay-req)'; + leaf interval { + description + "log mean value of announce message transmit interval"; + type uint8 { + range "0..4"; + } + default "0"; + } + leaf timeout { + description + "number of announce message transmit before timeout"; + type uint8 { + range "2..10"; + } + default "3"; + } + } + container sync { + when '(/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:delay-req) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:pdelay-req)'; + leaf interval { + description + "log mean value of sync message transmit interval"; + type int8 { + range "-3..1"; + } + default "0"; + } + } + container pdelay-req { + when '(/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:pdelay-req)'; + leaf interval { + description + "log mean value of peer delay-req message transmit interval"; + type int8 { + range "-1..5"; + } + default "0"; + } + } + container delay-req { + when '(/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:delay-req)'; + leaf interval { + description + "log mean value of delay request message transmit interval"; + type int8 { + range "-1..5"; + } + default "0"; + } + } + leaf vlan { + description + "PTP vlan id"; + when '(../../ios:switchport-config/ios:switchport/ios-sw:mode/ios-sw:trunk) and ((/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:delay-req) or (/ios:native/ios:ptp/ios-ptp:mode/ios-ptp:boundary/ios-ptp:pdelay-req))'; + type uint16 { + range "1..4094"; + } + } + } + } + + grouping transparent-clock-grouping { + container transparent { + description + "Configure PTP transparent clock"; + list domain { + description + "PTP domain"; + key "domain-num"; + leaf domain-num { + description + "Domain number"; + type uint8; + } + container profile { + description + "PTP profile"; + container default { + must 'not(../power) and not(../power-2017)' { + error-message "A clock with a different profile already exists for this domain"; + } + presence "Default profile"; + list sync-limit { + description + "out of sync limit for sync fault"; + key "interface"; + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + leaf sync-limit-value { + description + "maximum offset from master before sync fault"; + type uint32 { + range "50..500000000"; + } + default "500000"; + } + } + uses ptp-transparent-clock-common-profile-grouping; + } + container power { + must 'not(../default) and not(../power-2017)' { + error-message "A clock with a different profile already exists for domain this domain"; + } + presence "Power profile"; + uses ptp-transparent-clock-common-profile-grouping; + uses ptp-transparent-clock-power-profile-grouping; + } + container power-2017 { + must 'not(../default) and not(../power)' { + error-message "A clock with a different profile already exists for this domain"; + } + presence "Power-2017 profile"; + uses ptp-transparent-clock-common-profile-grouping; + uses ptp-transparent-clock-power-profile-grouping; + } + } + } + } + } + + grouping ptp-transparent-clock-common-profile-grouping { + list gmc-block { + key "interface"; + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + leaf vlan { + description + "PTP vlan settings"; + type uint16 { + range "1..4094"; + } + } + } + + grouping ptp-transparent-clock-power-profile-grouping { + leaf allow-without-tlv { + description + "Allow PTP announce messages without TLVs"; + type boolean; + default "false"; + } + leaf packet { + description + "Set PTP Packet priority"; + type uint8 { + range "0..7"; + } + default "4"; + } + list pdelay-interval { + description + "pdelay-message interval"; + key "interface"; + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + leaf pdelay-interval-value { + description + "pdelay message transmit interval value"; + type uint8 { + range "0..5"; + } + default "0"; + } + } + list sync-limit { + description + "out of sync limit for sync fault"; + key "interface"; + leaf interface { + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + leaf sync-limit-value { + description + "maximum offset from master before sync fault"; + type uint32 { + range "50..500000000"; + } + default "10000"; + } + } + } + + augment "/ios:native/ios:ptp" { + uses config-ptp-grouping2; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-ptp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-ptp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-appqoe-dp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-appqoe-dp-oper.yang new file mode 100644 index 000000000..7af054739 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-appqoe-dp-oper.yang @@ -0,0 +1,1280 @@ +module Cisco-IOS-XE-qfp-appqoe-dp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-appqoe-dp-oper"; + prefix qfp-appqoe-dp-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for APPQOE datapath operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef appnav-snstat { + type enumeration { + enum appnav-sn-is-down { + value 0; + description + "Service node is down"; + } + enum appnav-sn-is-up-with-green { + value 1; + description + "Service node is up services are available"; + } + enum appnav-sn-is-up-with-yellow { + value 2; + description + "Service node is up No now session are accepted"; + } + enum appnav-sn-is-up-with-red { + value 3; + description + "Service node is up Frames to sessions are dropped"; + } + } + description + "AppNav service node status"; + } + + typedef sn-service-type { + type enumeration { + enum service-type-waas { + value 0; + description + "Service type is WAAS"; + } + enum service-type-utd { + value 1; + description + "Service type is UTD"; + } + enum service-type-dpss { + value 2; + description + "Service type is DPSS"; + } + enum service-type-appqoe { + value 3; + description + "Service type is AppQoE"; + } + enum service-type-unknown { + value 4; + description + "Service type is not known"; + } + } + description + "AppQoE service type"; + } + + typedef appqoe-hash-status { + type enumeration { + enum appqoe-hash-ok { + value 0; + description + "Hash status is okay"; + } + enum appqoe-hash-count-mismatch { + value 1; + description + "Hash status error due to count mismatch of service node"; + } + enum appqoe-hash-mem-corrupt { + value 2; + description + "Hash status error due to table memory corruption"; + } + enum appqoe-hash-sn-mismatch { + value 3; + description + "Hash status error due to service node identifier incorrect at expected index"; + } + } + description + "AppQoE Hash table status"; + } + + grouping sdvt-global-stats { + description + "SDVT datapath global statistics"; + leaf channel-id { + type uint8; + description + "SDVT channel id"; + } + leaf sdvt-divert-flow-pers-mark { + type uint64; + description + "Remarking persistent for diverted flows"; + } + leaf sdvt-htx-inj-flow-mark { + type uint64; + description + "Remarking persistent for htx injected flows"; + } + leaf sdvt-init-vfr-reg-failed { + type uint64; + description + "Failed VFR callback registration"; + } + leaf sdvt-init-vfr-unreg-failed { + type uint64; + description + "Failed VFR callback deregistration"; + } + leaf sdvt-init-cft-get-failed { + type uint64; + description + "Failed connection-table instance init"; + } + leaf sdvt-init-del-cb-reg-fail { + type uint64; + description + "Failed connection-delete callback registration"; + } + leaf sdvt-cft-del-dereg-fail { + type uint64; + description + "Could not deregister CFT delete callback"; + } + leaf sdvt-cft-dump-reg-fail { + type uint64; + description + "Failed CFT feature object dump callback registration"; + } + leaf sdvt-cft-dump-dereg-fail { + type uint64; + description + "Could not deregister CFT dump callback"; + } + leaf sdvt-cft-unreg-fl-cr-fail { + type uint64; + description + "Could not deregister CFT create callback"; + } + leaf sdvt-appnav-reg-fail { + type uint64; + description + "AppNav registration failed"; + } + leaf sdvt-appnav-reg { + type uint64; + description + "AppNav registration"; + } + leaf sdvt-appnav-dereg { + type uint64; + description + "AppNav deregister"; + } + leaf sdvt-appnav-dereg-fail { + type uint64; + description + "AppNav deregistration failed"; + } + leaf sdvt-cft-pers-reg-fail { + type uint64; + description + "Failed CFT persist callback registration"; + } + leaf sdvt-cft-pers-cb-fail { + type uint64; + description + "Failed in CFT persist callback"; + } + leaf sdvt-cft-pers-dereg-fail { + type uint64; + description + "Could not deregister CFT persistent callback"; + } + leaf sdvt-ingress-ip-frag-cnt { + type uint64; + description + "Ingress: bypass previously reassembled packet"; + } + leaf sdvt-ingress-ip-vfr-cnt { + type uint64; + description + "Ingress: bypass fragmented packet"; + } + leaf sdvt-egress-ip-frag-cnt { + type uint64; + description + "Egress: drop fragmented packet"; + } + leaf sdvt-egress-ip-vfr-cnt { + type uint64; + description + "Egress: drop previously reassembled packet"; + } + leaf sdvt-appnav-decap-no-flow { + type uint64; + description + "Control decap: could not find flow from tuple"; + } + leaf sdvt-appnav-decap-no-tuple { + type uint64; + description + "Control decap: could not find tuple in packet"; + } + leaf sdvt-appnav-decap-no-fo { + type uint64; + description + "Control decap: could not find sdvt CFT feature object"; + } + leaf sdvt-appnav-no-cft-hdl { + type uint64; + description + "Control decap: could not find tuple in packet"; + } + leaf sdvt-syn-policer-drop { + type uint64; + description + "Exceeded SDVT syn policer limit"; + } + leaf sdvt-syn-policer-allow { + type uint64; + description + "Within SDVT syn policer limit"; + } + leaf sdvt-alarm-rate-limited { + type uint64; + description + "Alarm not send as rate limited"; + } + leaf sdvt-nat-api-ret-err { + type uint64; + description + "NAT api returned error"; + } + } + + grouping appqoe-global-stats-entry { + description + "AppQoE datapath global statistics counters"; + leaf appqoe-ip-non-tcp { + type uint64; + description + "AppQoE policy matched on non TCP packets"; + } + leaf appqoe-not-enabled { + type uint64; + description + "AppQoE policy matched but feature not enabled"; + } + leaf appqoe-cft-handle-pkt { + type uint64; + description + "AppQoE failed to get FID while handling packet"; + } + leaf appqoe-sdvt-div-req-fail { + type uint64; + description + "AppQoE failed the divert the request"; + } + leaf appqoe-sn-data-pkts { + type uint64; + description + "AppQoE Data packets processed by service node"; + } + leaf appqoe-alloc-empty-entry { + type uint64; + description + "AppQoE allotted hash table entry has no entries"; + } + leaf appqoe-cvla-alloc-fail { + type uint64; + description + "CVLA memory allocation failures for AppQoE structures"; + } + leaf appqoe-bulk-upd-bm-no-sng { + type uint64; + description + "Bulk update has member service node bit mask for service node group but it is not present"; + } + leaf appqoe-srv-chain-trans-dre { + type uint64; + description + "AppQoE service chaining with DRE bypass condition"; + } + leaf appqoe-srv-sn-unhealthy { + type uint64; + description + "AppQoE service chaining with service node unhealthy condition"; + } + leaf appqoe-srv-tcp-mid-flow { + type uint64; + description + "AppQoE service chaining with TCP mid flow bypass condition"; + } + leaf appqoe-srv-chain-non-tcp { + type uint64; + description + "AppQoE service chaining with non TCP bypass condition"; + } + leaf appqoe-srv-chain-frag { + type uint64; + description + "AppQoE service chaining with fragments bypass condition"; + } + leaf appqoe-lb-without-dre { + type uint64; + description + "AppQoE load balancing with DRE service cleared"; + } + leaf appqoe-svc-on-vpn-drop { + type uint64; + description + "AppQoE service configured on AppQoE VPN"; + } + leaf appqoe-sng-not-config { + type uint64; + description + "AppQoE AOS requested for un-configured service node group"; + } + leaf appqoe-unknown-tlv-type { + type uint64; + description + "AppQoE Unknown TLV type during DECAP"; + } + leaf appqoe-sn-data-pkts-drop { + type uint64; + description + "AppQoE non supported data packets dropped by service node"; + } + leaf appqoe-appnav-fo-reset { + type uint64; + description + "AppQoE reset AppNav feature object data"; + } + } + + grouping sdvt-sub-chnl-hlth { + description + "SDVT sub service channel health"; + leaf sdvt-sp-chnl-srv-tcp { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "TCP sub service health status"; + } + leaf sdvt-sp-chnl-srv-ssl { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "SSL sub service health status"; + } + leaf sdvt-sp-chnl-srv-dre { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "DRE sub service health status"; + } + leaf sdvt-sp-chnl-srv-cache { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "Caching sub service health status"; + } + leaf sdvt-sp-chnl-srv-utd { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "AppQoE UTD channel health status"; + } + } + + grouping appqoe-global-info { + description + "Service controller generic information"; + leaf syn-policer-rate { + type uint32; + description + "Maximum connection requests per second configured"; + } + leaf external-cluster { + type uint8; + description + "Service controller mode is external cluster"; + } + leaf sc-vrf-id { + type uint16; + description + "Service controller VRF identifier"; + } + leaf sdvt-sp-chnl-hlth { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "AppQoE service health status"; + } + container sp-chan-sub-srv-hlth { + description + "AppQoE sub services health status"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-sub-chnl-hlth; + } + } + + grouping appqoe-global-stats { + description + "AppQoE global feature data"; + container counter { + description + "AppQoE global statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-global-stats-entry; + } + container intern-info { + description + "Service controller generic info with channel health details"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-global-info; + } + list channel { + description + "SDVT per channel counters"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-global-stats; + } + } + + grouping sdvt-cnt-stats-entry { + description + "SDVT count statistics entry"; + leaf sdvt-active-conn { + type uint64; + description + "Active connections"; + } + leaf sdvt-appnav-decaps { + type uint64; + description + "Decapsulation counter"; + } + leaf sdvt-appnav-encaps { + type uint64; + description + "Encapsulation counter"; + } + leaf sdvt-apv-decaps-proc-icmp { + type uint64; + description + "Decapsulation: processed ICMP error packet from service node"; + } + leaf sdvt-pkt-no-ingress-mark { + type uint64; + description + "Packets unclassified by ingress policy"; + } + leaf sdvt-expired-conn { + type uint64; + description + "Expired connections"; + } + leaf sdvt-override-conn { + type uint64; + description + "Overridden connections"; + } + leaf sdvt-non-syn-divert-reqs { + type uint64; + description + "Non-SYN divert requests"; + } + leaf sdvt-timedout-pers-conn { + type uint64; + description + "Idle timed-out persistent connections"; + } + leaf sdvt-appnav-ctrl-decap { + type uint64; + description + "Decapsulation: processed control messages from service node"; + } + leaf sdvt-appnav-decap-del-req { + type uint64; + description + "Decapsulation: delete requests received total"; + } + leaf sdvt-appnav-decap-del-term { + type uint64; + description + "Decapsulation: delete - protocol decision"; + } + leaf sdvt-decap-del-add-flow { + type uint64; + description + "Decapsulation: delete and add new flow"; + } + leaf sdvt-apv-decap-del-unknown { + type uint64; + description + "Decapsulation: delete - unknown reason"; + } + leaf sdvt-ctrl-msgs-drop { + type uint64; + description + "Control messages from service node dropped"; + } + leaf sdvt-pass-intermed-node { + type uint64; + description + "Connections passed-through as intermediate node"; + } + leaf sdvt-passthrough-alg-flow { + type uint64; + description + "Connections passed-through as ALG flow"; + } + leaf sdvt-cleared-dreopt { + type uint64; + description + "Connections DREOPT service is cleared"; + } + leaf sdvt-gw-transit-flow { + type uint64; + description + "Transit flows"; + } + } + + grouping sdvt-pkt-stats-entry { + description + "SDVT packet statistics entry"; + leaf sdvt-bypass-cnt-pkts { + type uint64; + description + "Bypassed frames without optimisation packets"; + } + leaf sdvt-bypass-cnt-octets { + type uint64; + description + "Bypassed frames without optimisation octets"; + } + leaf sdvt-divert-cnt-pkts { + type uint64; + description + "Diverted frames to service node packets"; + } + leaf sdvt-divert-cnt-octets { + type uint64; + description + "Diverted frames to service node octets"; + } + leaf sdvt-reinject-cnt-pkts { + type uint64; + description + "Reinject frames from service node packets"; + } + leaf sdvt-reinject-cnt-octets { + type uint64; + description + "Reinject frames from service node octets"; + } + leaf sdvt-pkts-drop-pkts { + type uint64; + description + "Service divert packets dropped packets"; + } + leaf sdvt-pkts-drop-octets { + type uint64; + description + "Service divert packets dropped octets"; + } + leaf sdvt-no-action-cnt-pkts { + type uint64; + description + "Service divert no action packets"; + } + leaf sdvt-no-action-cnt-octets { + type uint64; + description + "Service divert no action packets in octets"; + } + leaf sdvt-unknown-act-cnt-pkts { + type uint64; + description + "Unknown action packet counters"; + } + leaf sdvt-unknown-act-cnt-oct { + type uint64; + description + "Unknown action packet counters in octets"; + } + leaf sdvt-divert-icmp-cnt-pkts { + type uint64; + description + "Diverted ICMP frames to service node packets"; + } + leaf sdvt-divert-icmp-cnt-oct { + type uint64; + description + "Diverted ICMP frames to service node octets"; + } + } + + grouping sdvt-drop-cause-entry { + description + "SDVT drop cause entry"; + leaf sdvt-drop-msg-loged { + type uint64; + description + "Invalid drop cause"; + } + leaf sdvt-drop-appnav-divert { + type uint64; + description + "APPNAV failed divert"; + } + leaf sdvt-drop-decap-conn-est { + type uint64; + description + "Decapsulation: VPATH connection establishment error"; + } + leaf sdvt-decap-no-flow-tuple { + type uint64; + description + "Decapsulation: VPATH could not find flow, no tuple"; + } + leaf sdvt-drop-decaps-pass-err { + type uint64; + description + "Decapsulation: VPATH notification event error"; + } + leaf sdvt-drop-sn-req { + type uint64; + description + "Service node flagged flow for dropping"; + } + leaf sdvt-drop-appnav-decap-del { + type uint64; + description + "Decapsulation: could not delete flow"; + } + leaf sdvt-decap-class-event-err { + type uint64; + description + "Decapsulation: VPATH connection classification error"; + } + leaf sdvt-drop-cft-no-fo { + type uint64; + description + "No feature object"; + } + leaf sdvt-appnav-unhealthy { + type uint64; + description + "Packets dropped as service node unhealthy"; + } + leaf sdvt-drop-reinject { + type uint64; + description + "Re-inject error"; + } + leaf sdvt-drop-encap-serv-add { + type uint64; + description + "Encapsulation: VPATH could not add TLV"; + } + leaf sdvt-drop-apv-encap-no-mem { + type uint64; + description + "Encapsulation: VPATH no memory for meta-data"; + } + leaf sdvt-drop-encap-not-enuf { + type uint64; + description + "Encapsulation: VPATH could not fit TLV into memory"; + } + leaf sdvt-drop-unwant-icmp-err { + type uint64; + description + "ICMP Error: unwanted error messages"; + } + leaf sdvt-drop-srv-sn-unhealthy { + type uint64; + description + "Service chain bypass drop as service node unhealthy"; + } + leaf sdvt-drop-srv-appnav-fail { + type uint64; + description + "Service chain bypass drop as divert failed"; + } + } + + grouping sdvt-errors-entry { + description + "SDVT errors entry"; + leaf sdvt-pkt-fail-divert { + type uint64; + description + "Packets failed divert"; + } + leaf sdvt-divert-chng-err { + type uint64; + description + "Error changing flow state"; + } + leaf sdvt-div-chng-no-cb { + type uint64; + description + "Error: missing divert flow change callback"; + } + leaf fo-del-fail { + type uint64; + description + "Error: feature object delete failed"; + } + leaf sdvt-encap-debug-err { + type uint64; + description + "Encapsulation: could not create debug meta-data:"; + } + leaf sdvt-decap-not-icmp-v6 { + type uint64; + description + "Decapsulation: expected ICMP v6 packet"; + } + leaf sdvt-not-icmp-v6-err { + type uint64; + description + "Decapsulation: expected ICMP v6 error packet"; + } + leaf sdvt-icmp-no-payload-err { + type uint64; + description + "Decapsulation: No ICMP payload"; + } + leaf sdvt-skip-unsupp-protocol { + type uint64; + description + "Unsupported protocol"; + } + leaf sdvt-decap-ipv6-parse-err { + type uint64; + description + "Decapsulation: could not parse ipv6 packet"; + } + leaf sdvt-ip-unsupport-ver { + type uint64; + description + "Decapsulation: IP error: unsupported version"; + } + leaf sdvt-decap-no-flow { + type uint64; + description + "Decapsulation: could not locate flow"; + } + leaf sdvt-bypass-drop { + type uint64; + description + "Service Node requested flow bypass drop"; + } + leaf sdvt-sn-drop { + type uint64; + description + " Service Node requested packet drop"; + } + leaf sdvt-flow-notify-offload { + type uint64; + description + "SN offloaded flow"; + } + leaf sdvt-appnav-decap-del-req { + type uint64; + description + "Decapsulation: delete requests received total"; + } + leaf sdvt-appnav-decap-del-idle { + type uint64; + description + "Decapsulation: delete - flow idle"; + } + leaf sdvt-appnav-decap-del-term { + type uint64; + description + "Decapsulation: delete - protocol decision"; + } + leaf sdvt-decap-del-resource { + type uint64; + description + "Decapsulation: delete - no resources"; + } + leaf sdvt-decap-del-unknown { + type uint64; + description + "Decapsulation: delete - unknown reason"; + } + leaf sdvt-icmpv6-no-payload-err { + type uint64; + description + "Decapsulation: no ICMP V6 payload"; + } + leaf sdvt-decap-icmp-v6-tcp-err { + type uint64; + description + "Decapsulation: ICMP V6 error: could not find TCP header"; + } + leaf sdvt-decap-icmp-v6-udp-err { + type uint64; + description + "Decapsulation: ICMP V6 error: could not find UDP header"; + } + leaf sdvt-icmpv6-unsup-protocol { + type uint64; + description + "Decapsulation: ICMP V6 error: unsupported protocol"; + } + leaf sdvt-appnav-decap-not-icmp { + type uint64; + description + "Decapsulation: expected ICMP packet"; + } + leaf sdvt-decap-not-icmp-err { + type uint64; + description + "Decapsulation: expected ICMP error packet"; + } + leaf sdvt-decap-icmp-tcp-err { + type uint64; + description + "Decapsulation: ICMP error: could not find TCP header"; + } + leaf sdvt-decap-icmp-udp-err { + type uint64; + description + "Decapsulation: ICMP error: could not find UDP header"; + } + leaf sdvt-icmp-unsup-protocol { + type uint64; + description + "Decapsulation: ICMP error: unsupported protocol"; + } + leaf sdvt-icmp-no-inner-flow { + type uint64; + description + "Decapsulation: IP error: ICMP not found"; + } + leaf sdvt-icmp-no-inner-fo { + type uint64; + description + "Decapsulation: IP error: ICMP feature object not found"; + } + leaf sdvt-decap-no-fo { + type uint64; + description + "Decapsulation: No feature object"; + } + leaf sdvt-appnav-err-unhealthy { + type uint64; + description + "Flows Bypassed as service node unhealthy"; + } + leaf sdvt-cft-fo-alloc-fail { + type uint64; + description + "Could not allocate feature object"; + } + leaf sdvt-cft-attach-fo-fail { + type uint64; + description + "Could not attach feature object"; + } + leaf sdvt-set-lb-idx-fail { + type uint64; + description + "Set load-balancing index failed"; + } + leaf sdvt-set-cft-ager-fail { + type uint64; + description + "CFT set ager failed"; + } + leaf sdvt-incorrect-channel { + type uint64; + description + "Divert request on incorrect channel"; + } + leaf sdvt-cft-fo-print-fail { + type uint64; + description + "CFT feature object print failed"; + } + leaf sdvt-cft-set-pers-fail { + type uint64; + description + "Failed to mark CFT flow persistent"; + } + leaf sdvt-cft-set-unpers-fail { + type uint64; + description + "Failed to unmark CFT flow persistent"; + } + leaf sdvt-ctrl-decap-no-notif { + type uint64; + description + "Control Decapsulation: message has no notification"; + } + leaf sdvt-err-natted-in2out { + type uint64; + description + "Failed to create reverse flow database entry"; + } + leaf sdvt-cft-no-config { + type uint64; + description + "CFT not configured"; + } + leaf sdvt-unknown-health-status { + type uint64; + description + "Health update has unknown health status"; + } + } + + grouping appqoe-sdvt-stats { + description + "AppQoE datapath per service node SDVT statistics"; + container cntstat { + description + "AppQoE per service node SDVT count statistics"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-cnt-stats-entry; + } + container pktstat { + description + "AppQoE per service node SDVT packets statistics"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-pkt-stats-entry; + } + container dropcause { + description + "AppQoE per service node SDVT drop cause"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-drop-cause-entry; + } + container error { + description + "AppQoE per service node SDVT errors"; + uses qfp-appqoe-dp-ios-xe-oper:sdvt-errors-entry; + } + } + + grouping sc-dp-key-infra-sn { + description + "Service controller datapath key information"; + leaf sn-id { + type uint8; + description + "Service node identifier"; + } + leaf sn-idx { + type uint8; + description + "Service node index"; + } + leaf service-type { + type qfp-appqoe-dp-ios-xe-oper:sn-service-type; + description + "Service controller service type"; + } + leaf sng-id { + type uint8; + description + "Service node group identifier"; + } + leaf del { + type uint8; + description + "Service node delete state"; + } + leaf infra-sn-version { + type uint8; + description + "Service node version"; + } + leaf infra-oce-obj-id { + type uint64; + description + "Service node OCE adj pointer"; + } + leaf infra-ip-addr { + type inet:ip-address; + description + "Service node IP address"; + } + leaf status { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "Service node status"; + } + } + + grouping appnav-snstats { + description + "APPNAV service node statistics"; + leaf mismatch { + type uint8; + description + "AppNav service node IP address mismatch"; + } + leaf type { + type qfp-appqoe-dp-ios-xe-oper:sn-service-type; + description + "AppNav service node type"; + } + leaf sng-id { + type uint16; + description + "AppNav Service node group"; + } + leaf stats-to-sn-pkts { + type uint64; + description + "AppNav packets sent to service node"; + } + leaf stats-to-sn-octets { + type uint64; + description + "AppNav stats in octets sent to service node"; + } + leaf stats-from-sn-pkts { + type uint64; + description + "AppNav packets received from service node"; + } + leaf stats-from-sn-octets { + type uint64; + description + "AppNav stats in octets received from service node"; + } + leaf no-fo-drop-pkts { + type uint64; + description + "AppNav fo drop packets"; + } + leaf no-fo-drop-octets { + type uint64; + description + "AppNav fo drop stats in octets"; + } + } + + grouping appnav-sn-info { + description + "AppNav service node related information"; + container sn { + description + "Datapath infra per service node key information"; + uses qfp-appqoe-dp-ios-xe-oper:sc-dp-key-infra-sn; + } + container appnav-stats { + description + "AppNav per service node statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appnav-snstats; + } + } + + grouping appqoe-sn-info { + description + "Per service node information"; + leaf sn-id { + type uint32; + description + "Service node identifier"; + } + container sn-stats { + description + "Per service node statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-sdvt-stats; + } + container appnav-sn { + description + "Per service node AppNav statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appnav-sn-info; + } + } + + grouping appqoe-hash-tbl-entry { + description + "Service node group hash table status"; + leaf aos-enabled { + type uint8; + description + "Application optimisation enabled for this table"; + } + leaf allotted-entries { + type uint8; + description + "Number of entries in the table"; + } + leaf-list slot { + type uint8; + ordered-by user; + description + "Number of slots allocated per service node"; + } + leaf-list sn { + type uint8; + ordered-by user; + description + "Service nodes active for an service node group"; + } + leaf status { + type qfp-appqoe-dp-ios-xe-oper:appqoe-hash-status; + description + "Status of the hash table"; + } + } + + grouping appqoe-per-sn-entry { + description + "Service node table entry details"; + leaf idx { + type uint8; + description + "Which index service node info is stored in the table"; + } + leaf sn-id { + type uint8; + description + "Service node Identifier"; + } + leaf hdl { + type uint8; + description + "AppQoE Service handle"; + } + leaf ver { + type uint8; + description + "Service infra version"; + } + leaf snstat { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "Service controller service node status"; + } + leaf snip { + type inet:ip-address; + description + "IP address of the service node"; + } + leaf dpstat { + type qfp-appqoe-dp-ios-xe-oper:appnav-snstat; + description + "Datapath service node status"; + } + leaf timestamp { + type yang:date-and-time; + description + "Datapath timestamp when last status update received"; + } + leaf-list sub-service-hlth { + type uint8; + ordered-by user; + description + "Service node sub service health status"; + } + } + + grouping appqoe-sng-info { + description + "Per service node group information"; + leaf sng-id { + type uint32; + description + "Service node group identifier"; + } + leaf mem-bm { + type uint64; + description + "Service node membership bit mask"; + } + leaf active-sn-bm { + type uint64; + description + "Current active service node for this service node group bit mask"; + } + list hash-table { + description + "Hash table for service node group"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-hash-tbl-entry; + } + list sn-tbl { + description + "Service node table for service node group"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-per-sn-entry; + } + } + + grouping appqoe-dp-feature-stats { + description + "AppQoE datapath feature statistics"; + container global { + description + "AppQoE global statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-global-stats; + } + list appqoe-sn-info { + key "sn-id"; + description + "AppQoE per service node instance information"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-sn-info; + } + list appqoe-sng-intern-info { + key "sng-id"; + description + "AppQoE per service node group instance internal information"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-sng-info; + } + } + + container qfp-appqoe-dp-oper-data { + config false; + description + "AppQoE datapath operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + container appqoe-dp-feature-stats { + presence "appqoe-dp-feature-stats"; + description + "AppQoE datapath feature statistics"; + uses qfp-appqoe-dp-ios-xe-oper:appqoe-dp-feature-stats; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-classification-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-classification-oper.yang new file mode 100644 index 000000000..9e8a00a07 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-classification-oper.yang @@ -0,0 +1,112 @@ +module Cisco-IOS-XE-qfp-classification-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-classification-oper"; + prefix datapath-classification; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Quantum Flow Processor (QFP) classification operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "Use extended location"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping exmem-usage { + description + "The memory usage of the Quantum Flow Processor features"; + leaf feature-id { + type uint32; + description + "The internally assign identifier for the feature"; + } + leaf client-name { + type string; + description + "The human readable name of the feature"; + } + leaf total-vmr-entries { + type uint32; + description + "The number of value/mask allocations for this feature"; + } + leaf total-exmem-usage { + type uint32; + units "bytes"; + description + "Total external memory usage"; + } + leaf total-percent-exmem-usage { + type uint32; + units "percentage"; + description + "Total percentage of external memory usage"; + } + leaf total-alloc { + type uint32; + description + "Total number of allocations"; + } + leaf total-free { + type uint32; + description + "Total number of frees"; + } + } + + container qfp-classification-oper-data { + config false; + description + "QFP classification operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list exmem-usage { + key "feature-id"; + description + "The memory usage of various features within the Quantum Flow Processor"; + uses datapath-classification:exmem-usage; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-crypto-dp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-crypto-dp-oper.yang new file mode 100644 index 000000000..10ec87bbf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-crypto-dp-oper.yang @@ -0,0 +1,440 @@ +module Cisco-IOS-XE-qfp-crypto-dp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-crypto-dp-oper"; + prefix crypto-dp-oper-ios-xe; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for crypto datapath operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef crypto-dp-ipsec-state-msg-type { + type enumeration { + enum ipsec-state-msg-init-msg { + value 0; + description + "Crypto datapath IPSEC state init message"; + } + enum ipsec-state-msg-spd-create { + value 1; + description + "Crypto datapath IPSEC state SPD create"; + } + enum ipsec-state-msg-spd-delete { + value 2; + description + "Crypto datapath IPSEC state SPD delete"; + } + enum ipsec-state-msg-spd-if-bind { + value 3; + description + "Crypto datapath IPSEC state SPD interface bind"; + } + enum ipsec-state-msg-spd-cm-bind { + value 4; + description + "Crypto datapath IPSEC state SPD cm bind"; + } + enum ipsec-state-msg-spd-if-unbind { + value 5; + description + "Crypto datapath IPSEC state SPD interface unbind"; + } + enum ipsec-state-msg-spd-cm-unbind { + value 6; + description + "Crypto datapath IPSEC state SPD unbind"; + } + enum ipsec-state-msg-spd-unbind { + value 7; + description + "Crypto datapath IPSEC state SPD unbind"; + } + enum ipsec-state-msg-sp-create { + value 8; + description + "Crypto datapath IPSEC state SP create"; + } + enum ipsec-state-msg-sp-remove { + value 9; + description + "Crypto datapath IPSEC state SP remove"; + } + enum ipsec-state-msg-cac-create { + value 10; + description + "Crypto datapath IPSEC state CAC create"; + } + enum ipsec-state-msg-cac-remove { + value 11; + description + "Crypto datapath IPSEC state CAC remove"; + } + enum ipsec-state-msg-sa-bind { + value 12; + description + "Crypto datapath IPSEC state SA bind"; + } + enum ipsec-state-msg-sa-unbind { + value 13; + description + "Crypto datapath IPSEC state SA unbind"; + } + enum ipsec-state-msg-deny-obj-add { + value 14; + description + "Crypto datapath IPSEC state deny object add"; + } + enum ipsec-state-msg-deny-obj-remove { + value 15; + description + "Crypto datapath IPSEC state deny object remove"; + } + enum ipsec-state-msg-denyjump-obj-add { + value 16; + description + "Crypto datapath IPSEC state deny jump object add"; + } + enum ipsec-state-msg-denyjump-obj-remove { + value 17; + description + "Crypto datapath IPSEC state deny jump object remove"; + } + enum ipsec-state-msg-out-sa-add { + value 18; + description + "Crypto datapath IPSEC state out SA add"; + } + enum ipsec-state-msg-out-sa-remove { + value 19; + description + "Crypto datapath IPSEC state out SA remove"; + } + enum ipsec-state-msg-in-sa-add { + value 20; + description + "Crypto datapath IPSEC state in SA add"; + } + enum ipsec-state-msg-in-sa-remove { + value 21; + description + "Crypto datapath IPSEC state in SA remove"; + } + enum ipsec-state-msg-sa-nest { + value 22; + description + "Crypto datapath IPSEC state SA nest"; + } + enum ipsec-state-msg-sa-unnest { + value 23; + description + "Crypto datapath IPSEC state SA un-nest"; + } + enum ipsec-state-msg-sa-inout-bind { + value 24; + description + "Crypto datapath IPSEC state SA in out bind"; + } + enum ipsec-state-msg-sa-resolve { + value 25; + description + "Crypto datapath IPSEC state SA resolve"; + } + enum ipsec-state-msg-sa-unresolve { + value 26; + description + "Crypto datapath IPSEC state SA unresolve"; + } + enum ipsec-state-msg-intf-enable { + value 27; + description + "Crypto datapath IPSEC state interface enable"; + } + enum ipsec-state-msg-intf-disable { + value 28; + description + "Crypto datapath IPSEC state interface disable"; + } + enum ipsec-state-msg-intf-update { + value 29; + description + "Crypto datapath IPSEC state interface update"; + } + enum ipsec-state-msg-sa-info-get { + value 30; + description + "Crypto datapath IPSEC state sa information get"; + } + enum ipsec-state-msg-sa-stats-get { + value 31; + description + "Crypto datapath IPSEC state SA stats get"; + } + enum ipsec-state-msg-intf-stats-get { + value 32; + description + "Crypto datapath IPSEC state interface stats get"; + } + enum ipsec-state-msg-cli-get { + value 33; + description + "Crypto datapath IPSEC state CLI get"; + } + enum ipsec-state-msg-sa-update { + value 34; + description + "Crypto datapath IPSEC state SA update"; + } + enum ipsec-state-msg-uninit-msg { + value 35; + description + "Crypto datapath IPSEC state uninitialized"; + } + enum ipsec-state-msg-ike-msg { + value 36; + description + "Crypto datapath IPSEC state IKE message"; + } + enum ipsec-state-msg-ted-initiate-msg { + value 37; + description + "Crypto datapath IPSEC state TED initiate"; + } + enum ipsec-state-msg-ted-catcher-msg { + value 38; + description + "Crypto datapath IPSEC state TED catcher"; + } + enum ipsec-state-msg-sa-timer-expiry-msg { + value 39; + description + "Crypto datapath IPSEC state SA timer expiry"; + } + enum ipsec-state-msg-sa-traffic-expiry { + value 40; + description + "Crypto datapath IPSEC state SA traffic expiry"; + } + enum ipsec-state-msg-restart-msg { + value 41; + description + "Crypto datapath IPSEC state restart"; + } + enum ipsec-state-msg-sa-remove-done-msg { + value 42; + description + "Crypto datapath IPSEC state SA remove done"; + } + enum ipsec-state-msg-bulk-sa-stats { + value 43; + description + "Crypto datapath IPSEC state bulk SA stats"; + } + enum ipsec-state-msg-bind2crypto { + value 44; + description + "Crypto datapath IPSEC state bind to crypto"; + } + enum ipsec-state-msg-unbind2crypto { + value 45; + description + "Crypto datapath IPSEC state unbind to crypto"; + } + enum ipsec-state-msg-llq-qos-enable { + value 46; + description + "Crypto datapath IPSEC state LLQ QOS enable"; + } + enum ipsec-state-msg-llq-qos-disable { + value 47; + description + "Crypto datapath IPSEC state LLQ QOS disable"; + } + enum ipsec-state-msg-cgm-begin-batch { + value 48; + description + "Crypto datapath IPSEC state CGM begin batch"; + } + enum ipsec-state-msg-cgm-end-batch { + value 49; + description + "Crypto datapath IPSEC state CGM end batch"; + } + enum ipsec-state-msg-tunnel-protect { + value 50; + description + "Crypto datapath IPSEC state tunnel protect"; + } + enum ipsec-state-msg-invalid-spi-enable { + value 51; + description + "Crypto datapath IPSEC state invalid SPI enable"; + } + enum ipsec-state-msg-invalid-spi-disable { + value 52; + description + "Crypto datapath IPSEC state invalid SPI disable"; + } + enum ipsec-state-msg-invalid-spi-notif { + value 53; + description + "Crypto datapath IPSEC state invalid SPI notification"; + } + enum ipsec-state-msg-seqno-overflow { + value 54; + description + "Crypto datapath IPSEC state sequence number overflow"; + } + enum ipsec-state-msg-out-sa-add-bind { + value 55; + description + "Crypto datapath IPSEC state out SA add bind"; + } + enum ipsec-state-msg-out-sa-unbind-del { + value 56; + description + "Crypto datapath IPSEC state out SA unbind delete"; + } + enum ipsec-state-msg-bulk-sa-update { + value 57; + description + "Crypto datapath IPSEC state bulk SA update"; + } + enum ipsec-state-msg-gdoi-mcast-set { + value 58; + description + "Crypto datapath IPSEC state GDOI multicast set"; + } + enum ipsec-state-msg-fips-bypass-err { + value 59; + description + "Crypto datapath IPSEC state FIPS bypass error notification"; + } + enum ipsec-state-msg-llq-qos-grp { + value 60; + description + "Crypto datapath IPSEC state LLQ QOS Group"; + } + enum ipsec-state-msg-reass-msg { + value 61; + description + "Crypto datapath IPSEC state reassign"; + } + enum ipsec-state-msg-crypto-device-event { + value 62; + description + "Crypto datapath IPSEC state crypto device event"; + } + enum ipsec-state-msg-gdoi-legacy-msg { + value 63; + description + "Crypto datapath IPSEC state GDOI legacy"; + } + enum ipsec-state-msg-supress-arlog-msg { + value 64; + description + "Crypto datapath IPSEC state suppress ARLOG"; + } + enum ipsec-state-msg-pwk-invalid-spi-msg { + value 65; + description + "Crypto datapath IPSEC state pair wise invalid SPI"; + } + enum ipsec-state-msg-pwk-first-spi-msg { + value 66; + description + "Crypto datapath IPSEC pair wise first SPI"; + } + } + description + "Crypto datapath IPSEC state message type"; + } + + grouping crypto-dp-ipsec-state-data { + description + "Crypto datapath IPSEC state data"; + leaf msg-type { + type crypto-dp-oper-ios-xe:crypto-dp-ipsec-state-msg-type; + description + "Message type"; + } + leaf rx-cnt { + type uint64; + description + "RX packet count"; + } + leaf tx-eok-cnt { + type uint64; + description + "TX good packet count"; + } + leaf tx-error-cnt { + type uint64; + description + "TX error packet count"; + } + } + + grouping crypto-dp-ipsec-state { + description + "Crypto datapath IPSEC state"; + list ipsec-state { + description + "IPSEC state"; + uses crypto-dp-oper-ios-xe:crypto-dp-ipsec-state-data; + } + } + + container qfp-crypto-dp-oper-data { + config false; + description + "Crypto datapath operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + container crypto-dp-ipsec-state { + presence "crypto-dp-ipsec-state"; + description + "Crypto datapath IPSEC state"; + uses crypto-dp-oper-ios-xe:crypto-dp-ipsec-state; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-resource-utilization-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-resource-utilization-oper.yang new file mode 100644 index 000000000..7db5d0bbe --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-resource-utilization-oper.yang @@ -0,0 +1,195 @@ +module Cisco-IOS-XE-qfp-resource-utilization-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-resource-utilization-oper"; + prefix datapath-utilization; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Quantum Flow Processor (QFP) resource utilization operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef cpp-period { + type enumeration { + enum cpp-period-5secs { + value 0; + description + "Period of 5 secs"; + } + enum cpp-period-1min { + value 1; + description + "Period of 1 minutes"; + } + enum cpp-period-5min { + value 2; + description + "Period of 5 minutes"; + } + enum cpp-period-60min { + value 3; + description + "Period of 60 minutes"; + } + } + description + "Time interval"; + } + + grouping cpp-dp-utilization-sum { + description + "Resource utilization statistics collected + by QFP entity at time intervals 5 seconds, 1 minute, + 5 mins and 60 mins."; + leaf cpp-num { + type uint64; + description + "Cisco packet processor number"; + } + leaf period { + type datapath-utilization:cpp-period; + description + "Time interval of data collected"; + } + leaf total-input-pkts { + type uint64; + description + "Total input packets"; + } + leaf total-input-bytes { + type uint64; + units "bytes"; + description + "Total input bytes"; + } + leaf total-output-pkts { + type uint64; + description + "Total output packets"; + } + leaf total-output-bytes { + type uint64; + units "bytes"; + description + "Total output bytes"; + } + leaf dp-stats-load { + type uint64; + units "percentage"; + description + "Processed load over different time intervals"; + } + } + + grouping stat-values { + description + "Statistical model of QFP resource usage readings"; + leaf total { + type uint64; + units "bytes"; + description + "Total memory available"; + } + leaf in-use { + type uint64; + units "bytes"; + description + "Current in use memory"; + } + leaf free { + type uint64; + units "bytes"; + description + "Current free memory"; + } + leaf lowest-free-water-mark { + type uint64; + units "bytes"; + description + "Lowest free water mark memory"; + } + } + + grouping qfp-exmem-stat { + description + "The memory utilization Information of Quantum Flow Processor"; + leaf qfp { + type uint16; + description + "Quantum Flow Processor ID"; + } + container dram { + description + "Dynamic memory(DRAM) memory resource statistics"; + uses datapath-utilization:stat-values; + } + container iram { + description + "Instruction memory(IRAM) memory resource statistics"; + uses datapath-utilization:stat-values; + } + container sram { + description + "Static memory(SRAM) memory resource statistics"; + uses datapath-utilization:stat-values; + } + } + + container qfp-resource-utilization-oper-data { + config false; + description + "QFP resource utilization operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list qfp-exmem-stat { + key "qfp"; + description + "The memory utilization of Quantum Flow Processor"; + uses datapath-utilization:qfp-exmem-stat; + } + list qfp-dp-util { + key "period"; + description + "The datapath utilization of Quantum Flow Processor"; + uses datapath-utilization:cpp-dp-utilization-sum; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats-oper.yang new file mode 100644 index 000000000..03c0a3bc5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats-oper.yang @@ -0,0 +1,5036 @@ +module Cisco-IOS-XE-qfp-stats-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-stats-oper"; + prefix qfp-stats-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for QFP statistics operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "Use extended location"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping datapath-qfp-stats { + description + "Datapath QFP stats"; + leaf discontinuity-time { + type yang:date-and-time; + description + "The time on the most recent occasion at which these + counters have suffered a discontinuity. If no such discontinuities + have occurred since the last re-initialization of the local + management subsystem, then this is the set to unix time start."; + } + leaf uidb-not-cfgd-pkts { + type uint64; + description + "Interface not configured packets"; + } + leaf uidb-not-cfgd-octets { + type uint64; + description + "Interface not configured octets"; + } + leaf bad-uidb-idx-pkts { + type uint64; + description + "Bad interface index packets"; + } + leaf bad-uidb-idx-octets { + type uint64; + description + "Bad interface index octets"; + } + leaf bad-uidb-sub-idx-pkts { + type uint64; + description + "Bad interface sub index packets"; + } + leaf bad-uidb-sub-idx-octets { + type uint64; + description + "Bad interface sub index octets"; + } + leaf unknown-encap-pkts { + type uint64; + description + "Unknown encapsulation packets"; + } + leaf unknown-encap-octets { + type uint64; + description + "Unknown encapsulation octets"; + } + leaf inv-l2-hdr-pkts { + type uint64; + description + "Invalid layer 2 header packets"; + } + leaf inv-l2-hdr-octets { + type uint64; + description + "Invalid layer 2 header octets"; + } + leaf bad-len-pkts { + type uint64; + description + "Bad length packets"; + } + leaf bad-len-octets { + type uint64; + description + "Bad length octets"; + } + leaf tcp-badfrag-pkts { + type uint64; + description + "TCP bad fragment packets"; + } + leaf tcp-badfrag-octets { + type uint64; + description + "TCP bad fragment octets"; + } + leaf ipv4-acl-pkts { + type uint64; + description + "IPv4 access control list (ACL) packets"; + } + leaf ipv4-acl-octets { + type uint64; + description + "IPv4 access control list (ACL) octets"; + } + leaf ipv4-acl-lookup-miss-pkts { + type uint64; + description + "IPv4 access control list (ACL) lookup miss packets"; + } + leaf ipv4-acl-lookup-miss-octets { + type uint64; + description + "IPv4 access control list (ACL) lookup miss octets"; + } + leaf bad-ip-checksum-pkts { + type uint64; + description + "Bad IP checksum packets"; + } + leaf bad-ip-checksum-octets { + type uint64; + description + "Bad IP checksum octets"; + } + leaf ip-format-err-pkts { + type uint64; + description + "IP format error packets"; + } + leaf ip-format-err-octets { + type uint64; + description + "IP format error octets"; + } + leaf ip-bad-options-pkts { + type uint64; + description + "IP bad options packets"; + } + leaf ip-bad-options-octets { + type uint64; + description + "IP bad options octets"; + } + leaf ipv4-martian-pkts { + type uint64; + description + "IPv4 martian packets"; + } + leaf ipv4-martian-octets { + type uint64; + description + "IPv4 martian octets"; + } + leaf mpass-err-pkts { + type uint64; + description + "Multi pass error packets"; + } + leaf mpass-err-octets { + type uint64; + description + "Multi pass error octets"; + } + leaf ipv4-pbr-pkts { + type uint64; + description + "IPv4 policy based routing (PBR) packets"; + } + leaf ipv4-pbr-octets { + type uint64; + description + "IPv4 policy based routing (PBR) octets"; + } + leaf inv-hdr-err-pkts { + type uint64; + description + "Invalid header error packets"; + } + leaf inv-hdr-err-octets { + type uint64; + description + "Invalid header error octets"; + } + leaf punt-err-pkts { + type uint64; + description + "Punt error packets"; + } + leaf punt-err-octets { + type uint64; + description + "Punt error octets"; + } + leaf inject-err-pkts { + type uint64; + description + "Inject error packets"; + } + leaf inject-err-octets { + type uint64; + description + "Inject error octets"; + } + leaf ipv4-no-route-pkts { + type uint64; + description + "IPv4 no route packets"; + } + leaf ipv4-no-route-octets { + type uint64; + description + "IPv4 no route octets"; + } + leaf qos-policing-pkts { + type uint64; + description + "Quality of service (QoS) policing packets"; + } + leaf qos-policing-octets { + type uint64; + description + "Quality of service (QoS) policing octets"; + } + leaf qos-actions-pkts { + type uint64; + description + "Quality of service (QoS) actions packets"; + } + leaf qos-actions-octets { + type uint64; + description + "Quality of service (QoS) actions octets"; + } + leaf null-jib-hdr-tbl-pkts { + type uint64; + description + "Null JIB header table packets"; + } + leaf null-jib-hdr-tbl-octets { + type uint64; + description + "Null JIB header table octets"; + } + leaf tail-drop-pkts { + type uint64; + description + "Tail drop packets"; + } + leaf tail-drop-octets { + type uint64; + description + "Tail drop octets"; + } + leaf wred-pkts { + type uint64; + description + "Weighted random early detection (WRED) packets"; + } + leaf wred-octets { + type uint64; + description + "Weighted random early detection (WRED) octets"; + } + leaf invalid-queue-pkts { + type uint64; + description + "Invalid queue packets"; + } + leaf invalid-queue-octets { + type uint64; + description + "Invalid queue octets"; + } + leaf invalid-wred-pkts { + type uint64; + description + "Invalid weighted random early detection (WRED) packets"; + } + leaf invalid-wred-octets { + type uint64; + description + "Invalid weighted random early detection (WRED) octets"; + } + leaf mpls-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) packets"; + } + leaf mpls-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) octets"; + } + leaf ipv6-truncatedpkts-pkts { + type uint64; + description + "IPv6 truncated packets"; + } + leaf ipv6-truncatedpkts-octets { + type uint64; + description + "IPv6 truncated packets octets"; + } + leaf ipv6-formaterr-pkts { + type uint64; + description + "IPv6 format error packets"; + } + leaf ipv6-formaterr-octets { + type uint64; + description + "IPv6 format error octets"; + } + leaf ipv6-badsource-pkts { + type uint64; + description + "IPv6 bad source address packets"; + } + leaf ipv6-badsource-octets { + type uint64; + description + "IPv6 bad source address octets"; + } + leaf ipv6-badhop-pkts { + type uint64; + description + "IPv6 bad hop count packets"; + } + leaf ipv6-badhop-octets { + type uint64; + description + "IPv6 bad hop count octets"; + } + leaf ipv6-toobigpacket-pkts { + type uint64; + description + "IPv6 packet too big packets"; + } + leaf ipv6-toobigpacket-octets { + type uint64; + description + "IPv6 packet too big octets"; + } + leaf ipv6-no-route-pkts { + type uint64; + description + "IPv6 no route packets"; + } + leaf ipv6-no-route-octets { + type uint64; + description + "IPv6 no route octets"; + } + leaf ipv6-acl-lookup-miss-pkts { + type uint64; + description + "IPv6 access control list (ACL) lookup miss packets"; + } + leaf ipv6-acl-lookup-miss-octets { + type uint64; + description + "IPv6 access control list (ACL) lookup miss octets"; + } + leaf ipv6-acl-pkts { + type uint64; + description + "IPv6 access control list (ACL) packets"; + } + leaf ipv6-acl-octets { + type uint64; + description + "IPv6 access control list (ACL) octets"; + } + leaf ip-acl-err-pkts { + type uint64; + description + "IP access control list (ACL) error packets"; + } + leaf ip-acl-err-octets { + type uint64; + description + "IP access control list (ACL) error octets"; + } + leaf mac-acl-pkts { + type uint64; + description + "MAC access control list (ACL) packets"; + } + leaf mac-acl-octets { + type uint64; + description + "MAC access control list (ACL) octets"; + } + leaf mac-acl-lookup-miss-pkts { + type uint64; + description + "MAC access control list (ACL) lookup miss packets"; + } + leaf mac-acl-lookup-miss-octets { + type uint64; + description + "MAC access control list (ACL) lookup miss octets"; + } + leaf ipv4mc-no-route-pkts { + type uint64; + description + "IPv4 multicast no route packets"; + } + leaf ipv4mc-no-route-octets { + type uint64; + description + "IPv4 multicast no route octets"; + } + leaf unknown-ext-header-pkts { + type uint64; + description + "Unknown extension header packets"; + } + leaf unknown-ext-header-octets { + type uint64; + description + "Unknown extension header octets"; + } + leaf ipv4mc-rpf-failed-pkts { + type uint64; + description + "IPv4 multicast reverse path forwarding failed packets"; + } + leaf ipv4mc-rpf-failed-octets { + type uint64; + description + "IPv4 multicast reverse path forwarding failed octets"; + } + leaf ipv4mc-invalid-replica-record-pkts { + type uint64; + description + "IPv4 multicast invalid replica record packets"; + } + leaf ipv4mc-invalid-replica-record-octets { + type uint64; + description + "IPv4 multicast invalid replica record octets"; + } + leaf ipv4mc-ttl-threshold-chk-failed-pkts { + type uint64; + description + "IPv4 multicast time to live (TTL) threshold check failed packets"; + } + leaf ipv4mc-ttl-threshold-chk-failed-octets { + type uint64; + description + "IPv4 multicast time to live (TTL) threshold check failed octets"; + } + leaf ipv4mc-extra-replicae-pkts { + type uint64; + description + "IPv4 multicast extra replica packets"; + } + leaf ipv4mc-extra-replicae-octets { + type uint64; + description + "IPv4 multicast extra replica octets"; + } + leaf ipv4-mtr-pkts { + type uint64; + description + "IPv4 multi topology routing packets"; + } + leaf ipv4-mtr-octets { + type uint64; + description + "IPv4 multi topology routing octets"; + } + leaf internal-ctl-pkts { + type uint64; + description + "Internal control packets"; + } + leaf internal-ctl-octets { + type uint64; + description + "Internal control octets"; + } + leaf bad-dist-fifo-pkts { + type uint64; + description + "Bad distribution first in first out (FIFO) packets"; + } + leaf bad-dist-fifo-octets { + type uint64; + description + "Bad distribution first in first out (FIFO) octets"; + } + leaf frfab-wred-drop-pkts { + type uint64; + description + "Frame Relay weighted random early detection (WRED) drop packets"; + } + leaf frfab-wred-drop-octets { + type uint64; + description + "Frame Relay weighted random early detection (WRED) drop octets"; + } + leaf firewall-nonsession-pkts { + type uint64; + description + "Firewall no session packets"; + } + leaf firewall-nonsession-octets { + type uint64; + description + "Firewall no session octets"; + } + leaf firewall-invalid-zone-pkts { + type uint64; + description + "Firewall invalid zone packets"; + } + leaf firewall-invalid-zone-octets { + type uint64; + description + "Firewall invalid zone octets"; + } + leaf firewall-backpressure-pkts { + type uint64; + description + "Firewall backpressure packets"; + } + leaf firewall-backpressure-octets { + type uint64; + description + "Firewall backpressure octets"; + } + leaf firewall-l4-insp-pkts { + type uint64; + description + "Firewall layer 4 insp packets"; + } + leaf firewall-l4-insp-octets { + type uint64; + description + "Firewall layer 4 insp octets"; + } + leaf ip-frag-err-pkts { + type uint64; + description + "IP fragments error packets"; + } + leaf ip-frag-err-octets { + type uint64; + description + "IP fragments error octets"; + } + leaf no-gpm-memory-err-pkts { + type uint64; + description + "No global packet memory memory error packets"; + } + leaf no-gpm-memory-err-octets { + type uint64; + description + "No global packet memory memory error octets"; + } + leaf for-us-pkts { + type uint64; + description + "For us packets"; + } + leaf for-us-octets { + type uint64; + description + "For us octets"; + } + leaf ipsec-input-pkts { + type uint64; + description + "IPSEC input packets"; + } + leaf ipsec-input-octets { + type uint64; + description + "IPSEC input octets"; + } + leaf ipsec-ike-indicate-pkts { + type uint64; + description + "IPSEC IKE indicate packets"; + } + leaf ipsec-ike-indicate-octets { + type uint64; + description + "IPSEC IKE indicate octets"; + } + leaf ipsec-invalid-sa-pkts { + type uint64; + description + "IPSEC invalid security association (SA) packets"; + } + leaf ipsec-invalid-sa-octets { + type uint64; + description + "IPSEC invalid security association (SA) octets"; + } + leaf ipsec-tail-drop-pkts { + type uint64; + description + "IPSEC tail drop packets"; + } + leaf ipsec-tail-drop-octets { + type uint64; + description + "IPSEC tail drop octets"; + } + leaf layer2-no-route-pkts { + type uint64; + description + "Layer 2 no route packets"; + } + leaf layer2-no-route-octets { + type uint64; + description + "Layer 2 no route octets"; + } + leaf icmp-pkts { + type uint64; + description + "ICMP packets"; + } + leaf icmp-octets { + type uint64; + description + "ICMP octets"; + } + leaf ip-ttl-exceeded-pkts { + type uint64; + description + "IP time to live (TTL) exceeded packets"; + } + leaf ip-ttl-exceeded-octets { + type uint64; + description + "IP time to live (TTL) exceeded octets"; + } + leaf tunnel-bad-gre-checksum-pkts { + type uint64; + description + "Tunnel bad generic route encapsulation (GRE) checksum packets"; + } + leaf tunnel-bad-gre-checksum-octets { + type uint64; + description + "Tunnel bad generic route encapsulation (GRE) checksum octets"; + } + leaf tunnel-misconfiguration-pkts { + type uint64; + description + "Tunnel misconfiguration packets"; + } + leaf tunnel-misconfiguration-octets { + type uint64; + description + "Tunnel misconfiguration octets"; + } + leaf gre-bad-options-pkts { + type uint64; + description + "Generic route encapsulation (GRE) bad options packets"; + } + leaf gre-bad-options-octets { + type uint64; + description + "Generic route encapsulation (GRE) bad options octets"; + } + leaf frag-tail-drop-pkts { + type uint64; + description + "Fragments tail drop packets"; + } + leaf frag-tail-drop-octets { + type uint64; + description + "Fragments tail drop octets"; + } + leaf unconfigured-fia-pkts { + type uint64; + description + "Unconfigured feature invocation array (FIA) packets"; + } + leaf unconfigured-fia-octets { + type uint64; + description + "Unconfigured feature invocation array (FIA) octets"; + } + leaf ipv4-fpm-pkts { + type uint64; + description + "IPv4 flexible packet match packets"; + } + leaf ipv4-fpm-octets { + type uint64; + description + "IPv4 flexible packet match octets"; + } + leaf nat-in2out-pkts { + type uint64; + description + "NAT in to out packets"; + } + leaf nat-in2out-octets { + type uint64; + description + "NAT in to out octets"; + } + leaf nat-out2in-pkts { + type uint64; + description + "NAT out to in packets"; + } + leaf nat-out2in-octets { + type uint64; + description + "NAT out to in octets"; + } + leaf pa-walk-err-pkts { + type uint64; + description + "Packet abstraction walk error packets"; + } + leaf pa-walk-err-octets { + type uint64; + description + "Packet abstraction walk error octets"; + } + leaf ipv4-routing-err-pkts { + type uint64; + description + "IPv4 routing error packets"; + } + leaf ipv4-routing-err-octets { + type uint64; + description + "IPv4 routing error octets"; + } + leaf ipv6-routing-err-pkts { + type uint64; + description + "IPv6 routing error packets"; + } + leaf ipv6-routing-err-octets { + type uint64; + description + "IPv6 routing error octets"; + } + leaf mpass-invalid-fs-vector-pkts { + type uint64; + description + "Multi pass invalid fs vector packets"; + } + leaf mpass-invalid-fs-vector-octets { + type uint64; + description + "Multi pass invalid fs vector octets"; + } + leaf reass-drop-pkts { + type uint64; + description + "Reassembly drop packets"; + } + leaf reass-drop-octets { + type uint64; + description + "Reassembly drop octets"; + } + leaf reass-frag-too-big-pkts { + type uint64; + description + "Reassembly fragments too big packets"; + } + leaf reass-frag-too-big-octets { + type uint64; + description + "Reassembly fragments too big octets"; + } + leaf reass-no-frag-info-pkts { + type uint64; + description + "Reassembly no fragments information packets"; + } + leaf reass-no-frag-info-octets { + type uint64; + description + "Reassembly no fragments information octets"; + } + leaf reass-no-frag-info-low-pkts { + type uint64; + description + "Reassembly no fragments information low packets"; + } + leaf reass-no-frag-info-low-octets { + type uint64; + description + "Reassembly no fragments information low octets"; + } + leaf reass-bad-len-pkts { + type uint64; + description + "Reassembly bad length packets"; + } + leaf reass-bad-len-octets { + type uint64; + description + "Reassembly bad length octets"; + } + leaf reass-too-many-frags-pkts { + type uint64; + description + "Reassembly too many fragments packets"; + } + leaf reass-too-many-frags-octets { + type uint64; + description + "Reassembly too many fragments octets"; + } + leaf reass-no-frags-left-pkts { + type uint64; + description + "Reassembly no fragments left packets"; + } + leaf reass-no-frags-left-octets { + type uint64; + description + "Reassembly no fragments left octets"; + } + leaf reass-overlap-pkts { + type uint64; + description + "Reassembly overlap packets"; + } + leaf reass-overlap-octets { + type uint64; + description + "Reassembly overlap octets"; + } + leaf reass-timeout-pkts { + type uint64; + description + "Reassembly timeout packets"; + } + leaf reass-timeout-octets { + type uint64; + description + "Reassembly timeout octets"; + } + leaf no-mem-pkts { + type uint64; + description + "No memory packets"; + } + leaf no-mem-octets { + type uint64; + description + "No memory octets"; + } + leaf vfr-err-pkts { + type uint64; + description + "Virtual forwarding and routing (VFR) error packets"; + } + leaf vfr-err-octets { + type uint64; + description + "Virtual forwarding and routing (VFR) error octets"; + } + leaf vfr-tail-drop-pkts { + type uint64; + description + "Virtual forwarding and routing (VFR) tail drop packets"; + } + leaf vfr-tail-drop-octets { + type uint64; + description + "Virtual forwarding and routing (VFR) tail drop octets"; + } + leaf iphc-pkts { + type uint64; + description + "IP header compression packets"; + } + leaf iphc-octets { + type uint64; + description + "IP header compression octets"; + } + leaf multilink-cfg-pkts { + type uint64; + description + "Multilink configuration packets"; + } + leaf multilink-cfg-octets { + type uint64; + description + "Multilink configuration octets"; + } + leaf mlp-pkts { + type uint64; + description + "Multilink protocol (MLP) packets"; + } + leaf mlp-octets { + type uint64; + description + "Multilink protocol (MLP) octets"; + } + leaf min-tu-pkts { + type uint64; + description + "Minimum transfer unit packets"; + } + leaf min-tu-octets { + type uint64; + description + "Minimum transfer unit octets"; + } + leaf max-tu-pkts { + type uint64; + description + "Maximum transfer unit packets"; + } + leaf max-tu-octets { + type uint64; + description + "Maximum transfer unit octets"; + } + leaf ipv4-unclassified-pkts { + type uint64; + description + "IPv4 unclassified packets"; + } + leaf ipv4-unclassified-octets { + type uint64; + description + "IPv4 unclassified octets"; + } + leaf ipv6-unclassified-pkts { + type uint64; + description + "IPv6 unclassified packets"; + } + leaf ipv6-unclassified-octets { + type uint64; + description + "IPv6 unclassified octets"; + } + leaf ipv4-no-adj-pkts { + type uint64; + description + "IPv4 no adjacency packets"; + } + leaf ipv4-no-adj-octets { + type uint64; + description + "IPv4 no adjacency octets"; + } + leaf ipv4-null0-pkts { + type uint64; + description + "IPv4 null0 packets"; + } + leaf ipv4-null0-octets { + type uint64; + description + "IPv4 null0 octets"; + } + leaf ipv6-null0-pkts { + type uint64; + description + "IPv6 null0 packets"; + } + leaf ipv6-null0-octets { + type uint64; + description + "IPv6 null0 octets"; + } + leaf mpls-mismatch-linktype-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) mismatch linktype packets"; + } + leaf mpls-mismatch-linktype-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) mismatch linktype octets"; + } + leaf mpls-frag-req-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) fragments request packets"; + } + leaf mpls-frag-req-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) fragments request octets"; + } + leaf choice-oce-pkts { + type uint64; + description + "Choice output chain element (OCE) packets"; + } + leaf choice-oce-octets { + type uint64; + description + "Choice output chain element (OCE) octets"; + } + leaf unsupported-oce-pkts { + type uint64; + description + "Unsupported output chain element (OCE) packets"; + } + leaf unsupported-oce-octets { + type uint64; + description + "Unsupported output chain element (OCE) octets"; + } + leaf attn-invalid-spid-pkts { + type uint64; + description + "Attention protocol invalid sync point identifier packets"; + } + leaf attn-invalid-spid-octets { + type uint64; + description + "Attention protocol invalid sync point identifier octets"; + } + leaf inv-common-preamble-pkts { + type uint64; + description + "Invalid common preamble packets"; + } + leaf inv-common-preamble-octets { + type uint64; + description + "Invalid common preamble octets"; + } + leaf ext-drop-path-pkts { + type uint64; + description + "Extension drop path packets"; + } + leaf ext-drop-path-octets { + type uint64; + description + "Extension drop path octets"; + } + leaf frr-oce-no-backup-pkts { + type uint64; + description + "Fast reroute (FRR) output chain element (OCE) no backup packets"; + } + leaf frr-oce-no-backup-octets { + type uint64; + description + "Fast reroute (FRR) output chain element (OCE) no backup octets"; + } + leaf frr-oce-invalid-state-pkts { + type uint64; + description + "Fast reroute (FRR) output chain element (OCE) invalid state packets"; + } + leaf frr-oce-invalid-state-octets { + type uint64; + description + "Fast reroute (FRR) output chain element (OCE) invalid state octets"; + } + leaf bqs-oor-pkts { + type uint64; + description + "Buffering, queuing and scheduling out of resources packets"; + } + leaf bqs-oor-octets { + type uint64; + description + "Buffering, queuing and scheduling out of resources octets"; + } + leaf ess-bad-sess-uidb-pkts { + type uint64; + description + "Edge switching services bad session interface packets"; + } + leaf ess-bad-sess-uidb-octets { + type uint64; + description + "Edge switching services bad session interface octets"; + } + leaf ess-pktsb-missed-pkts { + type uint64; + description + "Edge switching services packet sub block missed packets"; + } + leaf ess-pktsb-missed-octets { + type uint64; + description + "Edge switching services packet sub block missed octets"; + } + leaf ess-unsup-pkt-type-pkts { + type uint64; + description + "Edge switching services unsupported packet type packets"; + } + leaf ess-unsup-pkt-type-octets { + type uint64; + description + "Edge switching services unsupported packet type octets"; + } + leaf ess-no-encap-info-pkts { + type uint64; + description + "Edge switching services no encapsulation information packets"; + } + leaf ess-no-encap-info-octets { + type uint64; + description + "Edge switching services no encapsulation information octets"; + } + leaf ess-inv-switch-mode-pkts { + type uint64; + description + "Edge switching services invalid switch mode packets"; + } + leaf ess-inv-switch-mode-octets { + type uint64; + description + "Edge switching services invalid switch mode octets"; + } + leaf inv-ppp-cp-pkt-pkts { + type uint64; + description + "Invalid PPP control protocol packets"; + } + leaf inv-ppp-cp-pkt-octets { + type uint64; + description + "Invalid PPP control protocol packet octets"; + } + leaf ppp-cxt-missed-pkts { + type uint64; + description + "PPP context missed packets"; + } + leaf ppp-cxt-missed-octets { + type uint64; + description + "PPP context missed octets"; + } + leaf ess-unbound-session-pkts { + type uint64; + description + "Edge switching services unbound session packets"; + } + leaf ess-unbound-session-octets { + type uint64; + description + "Edge switching services unbound session octets"; + } + leaf ess-pi-inv-subtype-pkts { + type uint64; + description + "Edge switching services platform independent invalid subtype packets"; + } + leaf ess-pi-inv-subtype-octets { + type uint64; + description + "Edge switching services platform independent invalid subtype octets"; + } + leaf ess-pi-state-err-pkts { + type uint64; + description + "Edge switching services platform independent state error packets"; + } + leaf ess-pi-state-err-octets { + type uint64; + description + "Edge switching services platform independent state error octets"; + } + leaf ess-inject-bad-hdr-pkts { + type uint64; + description + "Edge switching services inject bad header packets"; + } + leaf ess-inject-bad-hdr-octets { + type uint64; + description + "Edge switching services inject bad header octets"; + } + leaf ess-l2-hdr-too-big-pkts { + type uint64; + description + "Edge switching services layer 2 header too big packets"; + } + leaf ess-l2-hdr-too-big-octets { + type uint64; + description + "Edge switching services layer 2 header too big octets"; + } + leaf pppox-unconfigured-pkts { + type uint64; + description + "PPP over any protocol (PPPoX) unconfigured packets"; + } + leaf pppox-unconfigured-octets { + type uint64; + description + "PPP over any protocol (PPPoX) unconfigured octets"; + } + leaf pppoe-pkt-inv-hdr-pkts { + type uint64; + description + "PPP over Ethernet (PPPoE) packet invalid header packets"; + } + leaf pppoe-pkt-inv-hdr-octets { + type uint64; + description + "PPP over Ethernet (PPPoE) packet invalid header octets"; + } + leaf pppoe-pkt-bad-len-pkts { + type uint64; + description + "PPP over Ethernet (PPPoE) packet bad length packets"; + } + leaf pppoe-pkt-bad-len-octets { + type uint64; + description + "PPP over Ethernet (PPPoE) packet bad length octets"; + } + leaf pppoe-no-session-pkts { + type uint64; + description + "PPP over Ethernet (PPPoE) no session packets"; + } + leaf pppoe-no-session-octets { + type uint64; + description + "PPP over Ethernet (PPPoE) no session octets"; + } + leaf pppoe-inv-encap-info-pkts { + type uint64; + description + "PPP over Ethernet (PPPoE) invalid encapsulation information packets"; + } + leaf pppoe-inv-encap-info-octets { + type uint64; + description + "PPP over Ethernet (PPPoE) invalid encapsulation information octets"; + } + leaf ess-cac-pkts { + type uint64; + description + "Edge switching services call admission control packets"; + } + leaf ess-cac-octets { + type uint64; + description + "Edge switching services call admission control octets"; + } + leaf l2tp-unconfigured-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) unconfigured packets"; + } + leaf l2tp-unconfigured-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) unconfigured octets"; + } + leaf l2tp-pkt-inv-hdr-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet invalid header packets"; + } + leaf l2tp-pkt-inv-hdr-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet invalid header octets"; + } + leaf l2tp-pkt-bad-len-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet bad length packets"; + } + leaf l2tp-pkt-bad-len-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet bad length octets"; + } + leaf l2tp-no-session-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) no session packets"; + } + leaf l2tp-no-session-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) no session octets"; + } + leaf l2tp-pktsb-missed-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet sub block missed packets"; + } + leaf l2tp-pktsb-missed-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) packet sub block missed octets"; + } + leaf l2tp-security-check-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) security check packets"; + } + leaf l2tp-security-check-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) security check octets"; + } + leaf l2tp-bad-udp-chksum-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) bad UDP checksum packets"; + } + leaf l2tp-bad-udp-chksum-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) bad UDP checksum octets"; + } + leaf l2tp-ooo-rx-pkt-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) ooo receive packets"; + } + leaf l2tp-ooo-rx-pkt-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) ooo receive packet octets"; + } + leaf l2tp-exceed-tx-mtu-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) exceed transmit mtu packets"; + } + leaf l2tp-exceed-tx-mtu-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) exceed transmit mtu octets"; + } + leaf ipsec-output-pkts { + type uint64; + description + "IPSEC output packets"; + } + leaf ipsec-output-octets { + type uint64; + description + "IPSEC output octets"; + } + leaf ipsec-ted-indicate-pkts { + type uint64; + description + "IPSEC tunnel end point discovery (TED) indicate packets"; + } + leaf ipsec-ted-indicate-octets { + type uint64; + description + "IPSEC tunnel end point discovery (TED) indicate octets"; + } + leaf ipsec-deny-drop-pkts { + type uint64; + description + "IPSEC deny drop packets"; + } + leaf ipsec-deny-drop-octets { + type uint64; + description + "IPSEC deny drop octets"; + } + leaf l2tp-cxt-missed-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) context missed packets"; + } + leaf l2tp-cxt-missed-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) context missed octets"; + } + leaf l2tp-tx-seq-missed-pkts { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) transmit sequence missed packets"; + } + leaf l2tp-tx-seq-missed-octets { + type uint64; + description + "Layer 2 tunnelling protocol (L2TP) transmit sequence missed octets"; + } + leaf disabled-pkts { + type uint64; + description + "Disabled packets"; + } + leaf disabled-octets { + type uint64; + description + "Disabled octets"; + } + leaf ipv6-no-adj-pkts { + type uint64; + description + "IPv6 no adjacency packets"; + } + leaf ipv6-no-adj-octets { + type uint64; + description + "IPv6 no adjacency octets"; + } + leaf not-enabled-pkts { + type uint64; + description + "Not enabled packets"; + } + leaf not-enabled-octets { + type uint64; + description + "Not enabled octets"; + } + leaf special-multicast-obj-pkts { + type uint64; + description + "Special multicast object packets"; + } + leaf special-multicast-obj-octets { + type uint64; + description + "Special multicast object octets"; + } + leaf illegal-obj-pkts { + type uint64; + description + "Illegal object packets"; + } + leaf illegal-obj-octets { + type uint64; + description + "Illegal object octets"; + } + leaf unresolved-pkts { + type uint64; + description + "Unresolved packets"; + } + leaf unresolved-octets { + type uint64; + description + "Unresolved octets"; + } + leaf discard-pkts { + type uint64; + description + "Discard packets"; + } + leaf discard-octets { + type uint64; + description + "Discard octets"; + } + leaf ipv6mc-no-route-pkts { + type uint64; + description + "IPv6 multicast no route packets"; + } + leaf ipv6mc-no-route-octets { + type uint64; + description + "IPv6 multicast no route octets"; + } + leaf ipv6mc-rpf-failed-pkts { + type uint64; + description + "IPv6 multicast reverse path forwarding failed packets"; + } + leaf ipv6mc-rpf-failed-octets { + type uint64; + description + "IPv6 multicast reverse path forwarding failed octets"; + } + leaf ipv6mc-invalid-replica-record-pkts { + type uint64; + description + "IPv6 multicast invalid replica record packets"; + } + leaf ipv6mc-invalid-replica-record-octets { + type uint64; + description + "IPv6 multicast invalid replica record octets"; + } + leaf ipv6mc-ttl-threshold-chk-failed-pkts { + type uint64; + description + "IPv6 multicast time to live (TTL) threshold check failed packets"; + } + leaf ipv6mc-ttl-threshold-chk-failed-octets { + type uint64; + description + "IPv6 multicast time to live (TTL) threshold check failed octets"; + } + leaf ipv6mc-extra-replica-pkts { + type uint64; + description + "IPv6 multicast extra replica packets"; + } + leaf ipv6mc-extra-replica-octets { + type uint64; + description + "IPv6 multicast extra replica octets"; + } + leaf layer2-switching-pkts { + type uint64; + description + "Layer 2 switching packets"; + } + leaf layer2-switching-octets { + type uint64; + description + "Layer 2 switching octets"; + } + leaf internal-intf-err-pkts { + type uint64; + description + "Internal interface error packets"; + } + leaf internal-intf-err-octets { + type uint64; + description + "Internal interface error octets"; + } + leaf sbc-police-punt-pkts { + type uint64; + description + "Session border controller (SBC) police punt packets"; + } + leaf sbc-police-punt-octets { + type uint64; + description + "Session border controller (SBC) police punt octets"; + } + leaf sbc-uidb-pkts { + type uint64; + description + "Session border controller (SBC) interface packets"; + } + leaf sbc-uidb-octets { + type uint64; + description + "Session border controller (SBC) interface octets"; + } + leaf sbc-sess-pkts { + type uint64; + description + "Session border controller (SBC) session packets"; + } + leaf sbc-sess-octets { + type uint64; + description + "Session border controller (SBC) session octets"; + } + leaf sbc-mmoh-invalid-replica-record-pkts { + type uint64; + description + "Session border controller (SBC) music on hold invalid replica record packets"; + } + leaf sbc-mmoh-invalid-replica-record-octets { + type uint64; + description + "Session border controller (SBC) music on hold invalid replica record octets"; + } + leaf mpls-ipv6-frag-req-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) IPv6 fragments request packets"; + } + leaf mpls-ipv6-frag-req-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) IPv6 fragments request octets"; + } + leaf sw-mac-filter-pkts { + type uint64; + description + "Software MAC filter packets"; + } + leaf sw-mac-filter-octets { + type uint64; + description + "Software MAC filter octets"; + } + leaf tunnel-bad-pim-checksum-pkts { + type uint64; + description + "Tunnel bad protocol independent multicast (PIM) checksum packets"; + } + leaf tunnel-bad-pim-checksum-octets { + type uint64; + description + "Tunnel bad protocol independent multicast (PIM) checksum octets"; + } + leaf tunnel-unsupported-config-pkts { + type uint64; + description + "Tunnel unsupported config packets"; + } + leaf tunnel-unsupported-config-octets { + type uint64; + description + "Tunnel unsupported config octets"; + } + leaf firewall-no-forwarding-pkts { + type uint64; + description + "Firewall no forwarding packets"; + } + leaf firewall-no-forwarding-octets { + type uint64; + description + "Firewall no forwarding octets"; + } + leaf erspan-pkts { + type uint64; + description + "Extended reach SPAN (ERSPAN) packets"; + } + leaf erspan-octets { + type uint64; + description + "Extended reach SPAN (ERSPAN) octets"; + } + leaf ipv4-urpf-null-path-list-pkts { + type uint64; + description + "IPv4 unicast reverse path forwarding null path list packets"; + } + leaf ipv4-urpf-null-path-list-octets { + type uint64; + description + "IPv4 unicast reverse path forwarding null path list octets"; + } + leaf mpls-unclassified-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) unclassified packets"; + } + leaf mpls-unclassified-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) unclassified octets"; + } + leaf mpls-eos-invalid-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) end of stack invalid packets"; + } + leaf mpls-eos-invalid-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) end of stack invalid octets"; + } + leaf glean-adj-unsupport-linktype-pkts { + type uint64; + description + "Glean adjacency unsupported linktype packets"; + } + leaf glean-adj-unsupport-linktype-octets { + type uint64; + description + "Glean adjacency unsupported linktype octets"; + } + leaf mpls-label-oce-ptr-null-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) pointer null packets"; + } + leaf mpls-label-oce-ptr-null-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) pointer null octets"; + } + leaf mpls-label-oce-invalid-label-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) invalid label packets"; + } + leaf mpls-label-oce-invalid-label-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) invalid label octets"; + } + leaf mpls-label-oce-unsupport-linktype-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) unsupported linktype packets"; + } + leaf mpls-label-oce-unsupport-linktype-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) label output chain element (OCE) unsupported linktype octets"; + } + leaf lookup-oce-should-drop-pkts { + type uint64; + description + "Lookup output chain element (OCE) should drop packets"; + } + leaf lookup-oce-should-drop-octets { + type uint64; + description + "Lookup output chain element (OCE) should drop octets"; + } + leaf lookup-oce-unsupport-linktype-pkts { + type uint64; + description + "Lookup output chain element (OCE) unsupported linktype packets"; + } + leaf lookup-oce-unsupport-linktype-octets { + type uint64; + description + "Lookup output chain element (OCE) unsupported linktype octets"; + } + leaf unsupport-linktype-no-route-pkts { + type uint64; + description + "Unsupported linktype no route packets"; + } + leaf unsupport-linktype-no-route-octets { + type uint64; + description + "Unsupported linktype no route octets"; + } + leaf unsupport-linktype-null0-pkts { + type uint64; + description + "Unsupported linktype null0 packets"; + } + leaf unsupport-linktype-null0-octets { + type uint64; + description + "Unsupported linktype null0 octets"; + } + leaf sr-te-remote-error-pkts { + type uint64; + description + "Segment routing traffic engineering (TE) remote error packets"; + } + leaf sr-te-remote-error-octets { + type uint64; + description + "Segment routing traffic engineering (TE) remote error octets"; + } + leaf ipv4-pop-pipe-php-ttl-expire-pkts { + type uint64; + description + "IPv4 pop pipe penultimate hop pop time to live (TTL) expire packets"; + } + leaf ipv4-pop-pipe-php-ttl-expire-octets { + type uint64; + description + "IPv4 pop pipe penultimate hop pop time to live (TTL) expire octets"; + } + leaf ipv4-pop-unf-uhp-ttl-expire-pkts { + type uint64; + description + "IPv4 pop uniform ultimate hop pop time to live (TTL) expire packets"; + } + leaf ipv4-pop-unf-uhp-ttl-expire-octets { + type uint64; + description + "IPv4 pop uniform ultimate hop pop time to live (TTL) expire octets"; + } + leaf ipv4-pop-unf-php-ttl-expire-pkts { + type uint64; + description + "IPv4 pop uniform penultimate hop pop time to live (TTL) expire packets"; + } + leaf ipv4-pop-unf-php-ttl-expire-octets { + type uint64; + description + "IPv4 pop uniform penultimate hop pop time to live (TTL) expire octets"; + } + leaf mpls-pop-pipe-ttl-expire-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) pop pipe time to live (TTL) expire packets"; + } + leaf mpls-pop-pipe-ttl-expire-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) pop pipe time to live (TTL) expire octets"; + } + leaf mpls-pop-unf-uhp-ttl-expire-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) pop uniform ultimate hop pop time to live (TTL) expire packets"; + } + leaf mpls-pop-unf-uhp-ttl-expire-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) pop uniform ultimate hop pop time to live (TTL) expire octets"; + } + leaf mpls-pop-unf-php-ttl-expire-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) pop uniform penultimate hop pop time to live (TTL) expire packets"; + } + leaf mpls-pop-unf-php-ttl-expire-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) pop uniform penultimate hop pop time to live (TTL) expire octets"; + } + leaf label-pop-unsupport-linktype-pkts { + type uint64; + description + "Label pop unsupported linktype packets"; + } + leaf label-pop-unsupport-linktype-octets { + type uint64; + description + "Label pop unsupported linktype octets"; + } + leaf mpls-no-route-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) no route packets"; + } + leaf mpls-no-route-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) no route octets"; + } + leaf mpls-icmp-invalid-hdr-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) ICMP invalid header packets"; + } + leaf mpls-icmp-invalid-hdr-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) ICMP invalid header octets"; + } + leaf mpls-sanity-echo-req-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) sanity echo request packets"; + } + leaf mpls-sanity-echo-req-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) sanity echo request octets"; + } + leaf mpls-sanity-drop-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) sanity drop packets"; + } + leaf mpls-sanity-drop-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) sanity drop octets"; + } + leaf ess-unprov-session-pkts { + type uint64; + description + "Edge switching services unprovisioned session packets"; + } + leaf ess-unprov-session-octets { + type uint64; + description + "Edge switching services unprovisioned session octets"; + } + leaf firewall-policy-pkts { + type uint64; + description + "Firewall policy packets"; + } + leaf firewall-policy-octets { + type uint64; + description + "Firewall policy octets"; + } + leaf firewall-l4-pkts { + type uint64; + description + "Firewall layer 4 packets"; + } + leaf firewall-l4-octets { + type uint64; + description + "Firewall layer 4 octets"; + } + leaf firewall-l7-pkts { + type uint64; + description + "Firewall layer 7 packets"; + } + leaf firewall-l7-octets { + type uint64; + description + "Firewall layer 7 octets"; + } + leaf firewall-no-new-sessions-pkts { + type uint64; + description + "Firewall no new sessions packets"; + } + leaf firewall-no-new-sessions-octets { + type uint64; + description + "Firewall no new sessions octets"; + } + leaf firewall-not-initiator-pkts { + type uint64; + description + "Firewall not initiator packets"; + } + leaf firewall-not-initiator-octets { + type uint64; + description + "Firewall not initiator octets"; + } + leaf firewall-not-from-init-pkts { + type uint64; + description + "Firewall not from init packets"; + } + leaf firewall-not-from-init-octets { + type uint64; + description + "Firewall not from init octets"; + } + leaf gen-pkt-replication-pkts { + type uint64; + description + "Gen packet replication packets"; + } + leaf gen-pkt-replication-octets { + type uint64; + description + "Gen packet replication octets"; + } + leaf esf-l4r-bad-config-pkts { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect bad config packets"; + } + leaf esf-l4r-bad-config-octets { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect bad config octets"; + } + leaf esf-l4r-trans-unavail-pkts { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect trans unavailable packets"; + } + leaf esf-l4r-trans-unavail-octets { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect trans unavailable octets"; + } + leaf esf-pbhk-bad-config-pkts { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key bad config packets"; + } + leaf esf-pbhk-bad-config-octets { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key bad config octets"; + } + leaf esf-pbhk-unalloc-pkts { + type uint64; + description + "Edge switching services feature (ESF) port-bundle + host key not allocated packets"; + } + leaf esf-pbhk-unalloc-octets { + type uint64; + description + "Edge switching services feature (ESF) port-bundle + host key not allocated octets"; + } + leaf esf-pbhk-port-unavail-pkts { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key port unavailable packets"; + } + leaf esf-pbhk-port-unavail-octets { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key port unavailable octets"; + } + leaf esf-pbhk-port-notfound-pkts { + type uint64; + description + "Edge switching services feature (ESF) port-bundle + host key port not found packets"; + } + leaf esf-pbhk-port-notfound-octets { + type uint64; + description + "Edge switching services feature (ESF) port-bundle + host key port not found octets"; + } + leaf esf-pbhk-port-removed-pkts { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key port removed packets"; + } + leaf esf-pbhk-port-removed-octets { + type uint64; + description + "Edge switching services feature (ESF) port-bundle host key port removed octets"; + } + leaf mpls-no-adj-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) no adjacency packets"; + } + leaf mpls-no-adj-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) no adjacency octets"; + } + leaf ipv4-adj-drop-pkts { + type uint64; + description + "IPv4 adjacency drop packets"; + } + leaf ipv4-adj-drop-octets { + type uint64; + description + "IPv4 adjacency drop octets"; + } + leaf ipv6-adj-drop-pkts { + type uint64; + description + "IPv6 adjacency drop packets"; + } + leaf ipv6-adj-drop-octets { + type uint64; + description + "IPv6 adjacency drop octets"; + } + leaf mpls-adj-drop-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) adjacency drop packets"; + } + leaf mpls-adj-drop-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) adjacency drop octets"; + } + leaf bad-adj-pkts { + type uint64; + description + "Bad adjacency packets"; + } + leaf bad-adj-octets { + type uint64; + description + "Bad adjacency octets"; + } + leaf punt-policer-drop-pkts { + type uint64; + description + "Punt policer drop packets"; + } + leaf punt-policer-drop-octets { + type uint64; + description + "Punt policer drop octets"; + } + leaf punt-global-policer-drop-pkts { + type uint64; + description + "Punt global policer drop packets"; + } + leaf punt-global-policer-drop-octets { + type uint64; + description + "Punt global policer drop octets"; + } + leaf esf-tc-drop-pkts { + type uint64; + description + "Edge switching services feature (ESF) traffic classification drop packets"; + } + leaf esf-tc-drop-octets { + type uint64; + description + "Edge switching services feature (ESF) traffic classification drop octets"; + } + leaf esf-drl-drop-pkts { + type uint64; + description + "Edge switching services feature (ESF) dynamic rate limit drop packets"; + } + leaf esf-drl-drop-octets { + type uint64; + description + "Edge switching services feature (ESF) dynamic rate limit drop octets"; + } + leaf ess-ipsub-drop-pkts { + type uint64; + description + "Edge switching services IP subscriber drop packets"; + } + leaf ess-ipsub-drop-octets { + type uint64; + description + "Edge switching services IP subscriber drop octets"; + } + leaf ess-ipsub-fsol-drop-pkts { + type uint64; + description + "Edge switching services IP subscriber first sign of + life drop packets"; + } + leaf ess-ipsub-fsol-drop-octets { + type uint64; + description + "Edge switching services IP subscriber first sign of + life drop octets"; + } + leaf ess-ipsub-classifier-drop-pkts { + type uint64; + description + "Edge switching services IP subscriber classifier drop packets"; + } + leaf ess-ipsub-classifier-drop-octets { + type uint64; + description + "Edge switching services IP subscriber classifier drop octets"; + } + leaf ess-ipsub-ka-drop-pkts { + type uint64; + description + "Edge switching services IP subscriber keepalive drop packets"; + } + leaf ess-ipsub-ka-drop-octets { + type uint64; + description + "Edge switching services IP subscriber keepalive drop octets"; + } + leaf oam-loopback-pkts { + type uint64; + description + "Operations, administration and management (OAM) loopback packets"; + } + leaf oam-loopback-octets { + type uint64; + description + "Operations, administration and management (OAM) loopback octets"; + } + leaf unconfigured-ipv4-fia-pkts { + type uint64; + description + "Unconfigured IPv4 feature invocation array (FIA) packets"; + } + leaf unconfigured-ipv4-fia-octets { + type uint64; + description + "Unconfigured IPv4 feature invocation array (FIA) octets"; + } + leaf unconfigured-ipv6-fia-pkts { + type uint64; + description + "Unconfigured IPv6 feature invocation array (FIA) packets"; + } + leaf unconfigured-ipv6-fia-octets { + type uint64; + description + "Unconfigured IPv6 feature invocation array (FIA) octets"; + } + leaf unconfigured-mpls-fia-pkts { + type uint64; + description + "Unconfigured multiprotocol label switching (MPLS) feature invocation array (FIA) packets"; + } + leaf unconfigured-mpls-fia-octets { + type uint64; + description + "Unconfigured multiprotocol label switching (MPLS) feature invocation array (FIA) octets"; + } + leaf smi-disabled-pkts { + type uint64; + description + "Simple management interface disabled packets"; + } + leaf smi-disabled-octets { + type uint64; + description + "Simple management interface disabled octets"; + } + leaf oce-drop-adj-pkts { + type uint64; + description + "Output chain element (OCE) drop adjacency packets"; + } + leaf oce-drop-adj-octets { + type uint64; + description + "Output chain element (OCE) drop adjacency octets"; + } + leaf internal-pkts { + type uint64; + description + "Internal packets"; + } + leaf internal-octets { + type uint64; + description + "Internal octets"; + } + leaf inv-spa-hdr-pkts { + type uint64; + description + "Invalid shared port adaptor (SPA) header packets"; + } + leaf inv-spa-hdr-octets { + type uint64; + description + "Invalid shared port adaptor (SPA) header octets"; + } + leaf ppe-exception-pkts { + type uint64; + description + "Packet processing engine exception packets"; + } + leaf ppe-exception-octets { + type uint64; + description + "Packet processing engine exception octets"; + } + leaf internal-replication-pkts { + type uint64; + description + "Internal replication packets"; + } + leaf internal-replication-octets { + type uint64; + description + "Internal replication octets"; + } + leaf internal-recycle-tail-pkts { + type uint64; + description + "Internal recycle tail packets"; + } + leaf internal-recycle-tail-octets { + type uint64; + description + "Internal recycle tail octets"; + } + leaf internal-no-gpm-pkts { + type uint64; + description + "Internal no global packet memory packets"; + } + leaf internal-no-gpm-octets { + type uint64; + description + "Internal no global packet memory octets"; + } + leaf internal-no-channel-mem-pkts { + type uint64; + description + "Internal no channel memory packets"; + } + leaf internal-no-channel-mem-octets { + type uint64; + description + "Internal no channel memory octets"; + } + leaf ip-sia-hdr-err-pkts { + type uint64; + description + "IP service insertion architecture (SIA) header error packets"; + } + leaf ip-sia-hdr-err-octets { + type uint64; + description + "IP service insertion architecture (SIA) header error octets"; + } + leaf ip-sia-hop-limit-exceeded-pkts { + type uint64; + description + "IP service insertion architecture (SIA) hop limit exceeded packets"; + } + leaf ip-sia-hop-limit-exceeded-octets { + type uint64; + description + "IP service insertion architecture (SIA) hop limit exceeded octets"; + } + leaf ip-sia-processing-err-pkts { + type uint64; + description + "IP service insertion architecture (SIA) processing error packets"; + } + leaf ip-sia-processing-err-octets { + type uint64; + description + "IP service insertion architecture (SIA) processing error octets"; + } + leaf sslvpn-svi-invalid-h-pkts { + type uint64; + description + "SSL VPN switched virtual interface (SVI) invalid header packets"; + } + leaf sslvpn-svi-invalid-h-octets { + type uint64; + description + "SSL VPN switched virtual interface (SVI) invalid header octets"; + } + leaf esf-acct-exceed-drop-pkts { + type uint64; + description + "Edge switching services feature (ESF) accounting exceed drop packets"; + } + leaf esf-acct-exceed-drop-octets { + type uint64; + description + "Edge switching services feature (ESF) accounting exceed drop octets"; + } + leaf tcp-pkts { + type uint64; + description + "TCP packets"; + } + leaf tcp-octets { + type uint64; + description + "TCP octets"; + } + leaf invalid-encap-pkts { + type uint64; + description + "Invalid encapsulation packets"; + } + leaf invalid-encap-octets { + type uint64; + description + "Invalid encapsulation octets"; + } + leaf dsp-pkts { + type uint64; + description + "Digital signal processing (DSP) packets"; + } + leaf dsp-octets { + type uint64; + description + "Digital signal processing (DSP) octets"; + } + leaf mpls-csc-drop-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) carrier supporting carrier drop packets"; + } + leaf mpls-csc-drop-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) carrier supporting carrier drop octets"; + } + leaf cstp-cdtp-inv-frame-pkts { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol invalid frame packets"; + } + leaf cstp-cdtp-inv-frame-octets { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol invalid frame octets"; + } + leaf cstp-cdtp-no-tunnel-pkts { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol no tunnel packets"; + } + leaf cstp-cdtp-no-tunnel-octets { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol no tunnel octets"; + } + leaf cstp-cdtp-unsup-frame-pkts { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol unsupported frame packets"; + } + leaf cstp-cdtp-unsup-frame-octets { + type uint64; + description + "Cisco SSL tunneling Protocol Cisco DTLS tunneling Protocol unsupported frame octets"; + } + leaf esf-l4r-trans-sess-limit-pkts { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect trans session limit packets"; + } + leaf esf-l4r-trans-sess-limit-octets { + type uint64; + description + "Edge switching services feature (ESF) layer 4 redirect trans session limit octets"; + } + leaf lisp-elig-oce-pkts { + type uint64; + description + "LISP eligible output chain element (OCE) packets"; + } + leaf lisp-elig-oce-octets { + type uint64; + description + "LISP eligible output chain element (OCE) octets"; + } + leaf lisp-misconfiguration-pkts { + type uint64; + description + "LISP misconfiguration packets"; + } + leaf lisp-misconfiguration-octets { + type uint64; + description + "LISP misconfiguration octets"; + } + leaf lisp-disabled-pkts { + type uint64; + description + "LISP disabled packets"; + } + leaf lisp-disabled-octets { + type uint64; + description + "LISP disabled octets"; + } + leaf lisp-decap-failed-pkts { + type uint64; + description + "LISP deencapsulation failed packets"; + } + leaf lisp-decap-failed-octets { + type uint64; + description + "LISP deencapsulation failed octets"; + } + leaf lisp-hash-lkup-failed-pkts { + type uint64; + description + "LISP hash lookup failed packets"; + } + leaf lisp-hash-lkup-failed-octets { + type uint64; + description + "LISP hash lookup failed octets"; + } + leaf lisp-failed-to-punt-lsb-mismatch-pkts { + type uint64; + description + "LISP failed to punt lsb mismatch packets"; + } + leaf lisp-failed-to-punt-lsb-mismatch-octets { + type uint64; + description + "LISP failed to punt lsb mismatch octets"; + } + leaf nat64-v6tov4-pkts { + type uint64; + description + "NAT64 IPv6 to IPv4 packets"; + } + leaf nat64-v6tov4-octets { + type uint64; + description + "NAT64 IPv6 to IPv4 octets"; + } + leaf nat64-v4tov6-pkts { + type uint64; + description + "NAT64 IPv4 to IPv6 packets"; + } + leaf nat64-v4tov6-octets { + type uint64; + description + "NAT64 IPv4 to IPv6 octets"; + } + leaf tunnel-sec-chk-fail-pkts { + type uint64; + description + "Tunnel security check fail packets"; + } + leaf tunnel-sec-chk-fail-octets { + type uint64; + description + "Tunnel security check fail octets"; + } + leaf servicewire-hdr-err-pkts { + type uint64; + description + "Servicewire header error packets"; + } + leaf servicewire-hdr-err-octets { + type uint64; + description + "Servicewire header error octets"; + } + leaf servicewire-hop-limit-exceeded-pkts { + type uint64; + description + "Servicewire hop limit exceeded packets"; + } + leaf servicewire-hop-limit-exceeded-octets { + type uint64; + description + "Servicewire hop limit exceeded octets"; + } + leaf servicewire-processing-err-pkts { + type uint64; + description + "Servicewire processing error packets"; + } + leaf servicewire-processing-err-octets { + type uint64; + description + "Servicewire processing error octets"; + } + leaf l2bd-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) packets"; + } + leaf l2bd-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) octets"; + } + leaf tcp-bp-sslvpn-pkts { + type uint64; + description + "TCP back pressure SSL VPN packets"; + } + leaf tcp-bp-sslvpn-octets { + type uint64; + description + "TCP back pressure SSL VPN octets"; + } + leaf evc-efp-egress-filter-pkts { + type uint64; + description + "Ethernet virtual connection (EVC) ethernet flowpoint (EFP) egress filter packets"; + } + leaf evc-efp-egress-filter-octets { + type uint64; + description + "Ethernet virtual connection (EVC) ethernet flowpoint (EFP) egress filter octets"; + } + leaf sslvpn-svi-if-err-pkts { + type uint64; + description + "SSL VPN switched virtual interface (SVI) interface error packets"; + } + leaf sslvpn-svi-if-err-octets { + type uint64; + description + "SSL VPN switched virtual interface (SVI) interface error octets"; + } + leaf sslvpn-ctx-null-pkts { + type uint64; + description + "SSL VPN ctx null packets"; + } + leaf sslvpn-ctx-null-octets { + type uint64; + description + "SSL VPN ctx null octets"; + } + leaf sslvpn-ctx-not-alive-pkts { + type uint64; + description + "SSL VPN ctx not alive packets"; + } + leaf sslvpn-ctx-not-alive-octets { + type uint64; + description + "SSL VPN ctx not alive octets"; + } + leaf sslvpn-invalid-pkt-pkts { + type uint64; + description + "SSL VPN invalid packets"; + } + leaf sslvpn-invalid-pkt-octets { + type uint64; + description + "SSL VPN invalid packet octets"; + } + leaf sslvpn-socket-wr-err-pkts { + type uint64; + description + "SSL VPN socket write error packets"; + } + leaf sslvpn-socket-wr-err-octets { + type uint64; + description + "SSL VPN socket write error octets"; + } + leaf sslvpn-pkt-rc-err-pkts { + type uint64; + description + "SSL VPN packet return code error packets"; + } + leaf sslvpn-pkt-rc-err-octets { + type uint64; + description + "SSL VPN packet return code error octets"; + } + leaf sslvpn-null-rc-pkts { + type uint64; + description + "SSL VPN null return code packets"; + } + leaf sslvpn-null-rc-octets { + type uint64; + description + "SSL VPN null return code octets"; + } + leaf sslvpn-wrong-pkt-type-pkts { + type uint64; + description + "SSL VPN wrong packet type packets"; + } + leaf sslvpn-wrong-pkt-type-octets { + type uint64; + description + "SSL VPN wrong packet type octets"; + } + leaf sslvpn-not-ssl-record-pkts { + type uint64; + description + "SSL VPN not ssl record packets"; + } + leaf sslvpn-not-ssl-record-octets { + type uint64; + description + "SSL VPN not ssl record octets"; + } + leaf firewall-syncookie-pkts { + type uint64; + description + "Firewall syncookie packets"; + } + leaf firewall-syncookie-octets { + type uint64; + description + "Firewall syncookie octets"; + } + leaf l2bd-mac-security-violation-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security violation packets"; + } + leaf l2bd-mac-security-violation-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security violation octets"; + } + leaf l2bd-src-filter-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) source filter packets"; + } + leaf l2bd-src-filter-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) source filter octets"; + } + leaf l2bd-policy-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) policy packets"; + } + leaf l2bd-policy-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) policy octets"; + } + leaf l2bd-repl-start-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) replication start packets"; + } + leaf l2bd-repl-start-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) replication start octets"; + } + leaf l2bd-repl-end-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) replication end packets"; + } + leaf l2bd-repl-end-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) replication end octets"; + } + leaf l2bd-recycle-tail-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) recycle tail packets"; + } + leaf l2bd-recycle-tail-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) recycle tail octets"; + } + leaf l2bd-static-mac-move-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) static MAC move packets"; + } + leaf l2bd-static-mac-move-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) static MAC move octets"; + } + leaf l2bd-bd-disabled-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) bridge domain disabled packets"; + } + leaf l2bd-bd-disabled-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) bridge domain disabled octets"; + } + leaf l2bd-inject-no-sb-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) inject no sub block packets"; + } + leaf l2bd-inject-no-sb-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) inject no sub block octets"; + } + leaf l2bd-inject-invalid-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) inject invalid packets"; + } + leaf l2bd-inject-invalid-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) inject invalid octets"; + } + leaf l2bd-stp-state-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) spanning tree (STP) state packets"; + } + leaf l2bd-stp-state-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) spanning tree (STP) state octets"; + } + leaf l2bd-storm-ctrl-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) storm ctrl packets"; + } + leaf l2bd-storm-ctrl-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) storm ctrl octets"; + } + leaf sslvpn-coprocessor-err-pkts { + type uint64; + description + "SSL VPN coprocessor error packets"; + } + leaf sslvpn-coprocessor-err-octets { + type uint64; + description + "SSL VPN coprocessor error octets"; + } + leaf sslvpn-tail-drop-pkts { + type uint64; + description + "SSL VPN tail drop packets"; + } + leaf sslvpn-tail-drop-octets { + type uint64; + description + "SSL VPN tail drop octets"; + } + leaf ecfm-pkts { + type uint64; + description + "Ethernet connection fault management (ECFM) packets"; + } + leaf ecfm-octets { + type uint64; + description + "Ethernet connection fault management (ECFM) octets"; + } + leaf ipv4mc-oif-rpf-failed-pkts { + type uint64; + description + "IPv4 multicast output interface reverse path forwarding failed packets"; + } + leaf ipv4mc-oif-rpf-failed-octets { + type uint64; + description + "IPv4 multicast output interface reverse path forwarding failed octets"; + } + leaf ipv6mc-oif-rpf-failed-pkts { + type uint64; + description + "IPv6 multicast output interface reverse path forwarding failed packets"; + } + leaf ipv6mc-oif-rpf-failed-octets { + type uint64; + description + "IPv6 multicast output interface reverse path forwarding failed octets"; + } + leaf ipv6-pbr-pkts { + type uint64; + description + "IPv6 policy based routing (PBR) packets"; + } + leaf ipv6-pbr-octets { + type uint64; + description + "IPv6 policy based routing (PBR) octets"; + } + leaf sslvpn-coprocessor-state-not-set-pkts { + type uint64; + description + "SSL VPN coprocessor state not set packets"; + } + leaf sslvpn-coprocessor-state-not-set-octets { + type uint64; + description + "SSL VPN coprocessor state not set octets"; + } + leaf sslvpn-coprocessor-state-reply-not-set-pkts { + type uint64; + description + "SSL VPN coprocessor state reply not set packets"; + } + leaf sslvpn-coprocessor-state-reply-not-set-octets { + type uint64; + description + "SSL VPN coprocessor state reply not set octets"; + } + leaf sslvpn-neg-ssl-rec-pad-len-pkts { + type uint64; + description + "SSL VPN negotiated SSL record pad length packets"; + } + leaf sslvpn-neg-ssl-rec-pad-len-octets { + type uint64; + description + "SSL VPN negotiated SSL record pad length octets"; + } + leaf sslvpn-inv-ssl-rec-pkts { + type uint64; + description + "SSL VPN invalid SSL record packets"; + } + leaf sslvpn-inv-ssl-rec-octets { + type uint64; + description + "SSL VPN invalid SSL record octets"; + } + leaf sslvpn-not-ssl-rec-rc-pkts { + type uint64; + description + "SSL VPN not SSL record return code packets"; + } + leaf sslvpn-not-ssl-rec-rc-octets { + type uint64; + description + "SSL VPN not SSL record return code octets"; + } + leaf sslvpn-ssl-rec-not-pkt-pkts { + type uint64; + description + "SSL VPN SSL record not packets"; + } + leaf sslvpn-ssl-rec-not-pkt-octets { + type uint64; + description + "SSL VPN SSL record not packet octets"; + } + leaf sslvpn-add-ssl-rec-hdr-err-pkts { + type uint64; + description + "SSL VPN add SSL record header error packets"; + } + leaf sslvpn-add-ssl-rec-hdr-err-octets { + type uint64; + description + "SSL VPN add SSL record header error octets"; + } + leaf sslvpn-null-session-pkts { + type uint64; + description + "SSL VPN null session packets"; + } + leaf sslvpn-null-session-octets { + type uint64; + description + "SSL VPN null session octets"; + } + leaf sslvpn-invalid-session-pkts { + type uint64; + description + "SSL VPN invalid session packets"; + } + leaf sslvpn-invalid-session-octets { + type uint64; + description + "SSL VPN invalid session octets"; + } + leaf sslvpn-empty-pkt-pkts { + type uint64; + description + "SSL VPN empty packets"; + } + leaf sslvpn-empty-pkt-octets { + type uint64; + description + "SSL VPN empty packet octets"; + } + leaf ipv4-reass-tail-drop-pkts { + type uint64; + description + "IPv4 reassembly tail drop packets"; + } + leaf ipv4-reass-tail-drop-octets { + type uint64; + description + "IPv4 reassembly tail drop octets"; + } + leaf ipv6-reass-tail-drop-pkts { + type uint64; + description + "IPv6 reassembly tail drop packets"; + } + leaf ipv6-reass-tail-drop-octets { + type uint64; + description + "IPv6 reassembly tail drop octets"; + } + leaf ipv4mc-nat-in2out-pkts { + type uint64; + description + "IPv4 multicast NAT in to out packets"; + } + leaf ipv4mc-nat-in2out-octets { + type uint64; + description + "IPv4 multicast NAT in to out octets"; + } + leaf ipv4mc-nat-out2in-pkts { + type uint64; + description + "IPv4 multicast NAT out to in packets"; + } + leaf ipv4mc-nat-out2in-octets { + type uint64; + description + "IPv4 multicast NAT out to in octets"; + } + leaf fia-error-pkts { + type uint64; + description + "Feature invocation array (FIA) error packets"; + } + leaf fia-error-octets { + type uint64; + description + "Feature invocation array (FIA) error octets"; + } + leaf firewall-syncookie-max-dst-pkts { + type uint64; + description + "Firewall syncookie maximum dst packets"; + } + leaf firewall-syncookie-max-dst-octets { + type uint64; + description + "Firewall syncookie maximum dst octets"; + } + leaf ipv4-urpf-loose-failed-pkts { + type uint64; + description + "IPv4 unicast reverse path forwarding loose failed packets"; + } + leaf ipv4-urpf-loose-failed-octets { + type uint64; + description + "IPv4 unicast reverse path forwarding loose failed octets"; + } + leaf ipv4-urpf-strict-failed-pkts { + type uint64; + description + "IPv4 unicast reverse path forwarding strict failed packets"; + } + leaf ipv4-urpf-strict-failed-octets { + type uint64; + description + "IPv4 unicast reverse path forwarding strict failed octets"; + } + leaf ipv6-urpf-loose-failed-pkts { + type uint64; + description + "IPv6 unicast reverse path forwarding loose failed packets"; + } + leaf ipv6-urpf-loose-failed-octets { + type uint64; + description + "IPv6 unicast reverse path forwarding loose failed octets"; + } + leaf ipv6-urpf-strict-failed-pkts { + type uint64; + description + "IPv6 unicast reverse path forwarding strict failed packets"; + } + leaf ipv6-urpf-strict-failed-octets { + type uint64; + description + "IPv6 unicast reverse path forwarding strict failed octets"; + } + leaf ipv6-urpf-null-path-list-pkts { + type uint64; + description + "IPv6 unicast reverse path forwarding null path list packets"; + } + leaf ipv6-urpf-null-path-list-octets { + type uint64; + description + "IPv6 unicast reverse path forwarding null path list octets"; + } + leaf ipv6-urpf-no-fib-pkts { + type uint64; + description + "IPv6 unicast reverse path forwarding no fib packets"; + } + leaf ipv6-urpf-no-fib-octets { + type uint64; + description + "IPv6 unicast reverse path forwarding no fib octets"; + } + leaf unknown-mcast-pkt-type-pkts { + type uint64; + description + "Unknown multicast packet type packets"; + } + leaf unknown-mcast-pkt-type-octets { + type uint64; + description + "Unknown multicast packet type octets"; + } + leaf l2v4mc-invalid-replica-record-pkts { + type uint64; + description + "Layer 2 IPv4 multicast invalid replica record packets"; + } + leaf l2v4mc-invalid-replica-record-octets { + type uint64; + description + "Layer 2 IPv4 multicast invalid replica record octets"; + } + leaf l2v6mc-invalid-replica-record-pkts { + type uint64; + description + "Layer 2 IPv6 multicast invalid replica record packets"; + } + leaf l2v6mc-invalid-replica-record-octets { + type uint64; + description + "Layer 2 IPv6 multicast invalid replica record octets"; + } + leaf l2mc-invalid-replica-record-pkts { + type uint64; + description + "Layer 2 multicast invalid replica record packets"; + } + leaf l2mc-invalid-replica-record-octets { + type uint64; + description + "Layer 2 multicast invalid replica record octets"; + } + leaf lsm-invalid-replica-record-pkts { + type uint64; + description + "Label switch multicast invalid replica record packets"; + } + leaf lsm-invalid-replica-record-octets { + type uint64; + description + "Label switch multicast invalid replica record octets"; + } + leaf cts-format-pkts { + type uint64; + description + "Cisco trustsec format packets"; + } + leaf cts-format-octets { + type uint64; + description + "Cisco trustsec format octets"; + } + leaf cts-not-enable-pkts { + type uint64; + description + "Cisco trustsec not enable packets"; + } + leaf cts-not-enable-octets { + type uint64; + description + "Cisco trustsec not enable octets"; + } + leaf idle-packet-pkts { + type uint64; + description + "Idle packets"; + } + leaf idle-packet-octets { + type uint64; + description + "Idle packet octets"; + } + leaf mfr-pkts { + type uint64; + description + "Multilink frame relay packets"; + } + leaf mfr-octets { + type uint64; + description + "Multilink frame relay octets"; + } + leaf ar-tx-pkts { + type uint64; + description + "Asymmetric routing transmit packets"; + } + leaf ar-tx-octets { + type uint64; + description + "Asymmetric routing transmit octets"; + } + leaf ar-rx-pkts { + type uint64; + description + "Asymmetric routing receive packets"; + } + leaf ar-rx-octets { + type uint64; + description + "Asymmetric routing receive octets"; + } + leaf ar-standby-pkts { + type uint64; + description + "Asymmetric routing standby packets"; + } + leaf ar-standby-octets { + type uint64; + description + "Asymmetric routing standby octets"; + } + leaf ar-fnf-clnup-pkts { + type uint64; + description + "Asymmetric routing flexible netflow cleanup packets"; + } + leaf ar-fnf-clnup-octets { + type uint64; + description + "Asymmetric routing flexible netflow cleanup octets"; + } + leaf mac-mcast-ip-nonmcast-pkts { + type uint64; + description + "MAC multicast IP not multicast packets"; + } + leaf mac-mcast-ip-nonmcast-octets { + type uint64; + description + "MAC multicast IP not multicast octets"; + } + leaf bfd-pkts { + type uint64; + description + "Bidirectional fault detection (BFD) packets"; + } + leaf bfd-octets { + type uint64; + description + "Bidirectional fault detection (BFD) octets"; + } + leaf bundle-oce-pkts { + type uint64; + description + "Bundle output chain element (OCE) packets"; + } + leaf bundle-oce-octets { + type uint64; + description + "Bundle output chain element (OCE) octets"; + } + leaf bqs-oor-pri-pkts { + type uint64; + description + "Buffering, queuing and scheduling out of resources priority packets"; + } + leaf bqs-oor-pri-octets { + type uint64; + description + "Buffering, queuing and scheduling out of resources priority octets"; + } + leaf bqs-oor-pak-pri-pkts { + type uint64; + description + "Buffering, queuing and scheduling out of resources packet priority packets"; + } + leaf bqs-oor-pak-pri-octets { + type uint64; + description + "Buffering, queuing and scheduling out of resources packet priority octets"; + } + leaf bqs-oor-vital-pkts { + type uint64; + description + "Buffering, queuing and scheduling out of resources vital packets"; + } + leaf bqs-oor-vital-octets { + type uint64; + description + "Buffering, queuing and scheduling out of resources vital octets"; + } + leaf epc-pkts { + type uint64; + description + "Embedded packet capture packets"; + } + leaf epc-octets { + type uint64; + description + "Embedded packet capture octets"; + } + leaf lisp-failed-to-punt-dynmaic-eid-config-pkts { + type uint64; + description + "LISP failed to punt dynamic embedded identifier config packets"; + } + leaf lisp-failed-to-punt-dynmaic-eid-config-octets { + type uint64; + description + "LISP failed to punt dynamic embedded identifier config octets"; + } + leaf sv-match-fail-pkts { + type uint64; + description + "SV match fail packets"; + } + leaf sv-match-fail-octets { + type uint64; + description + "SV match fail octets"; + } + leaf cblbf-null-repllist-pkts { + type uint64; + description + "Cable bundle flood null replication list packets"; + } + leaf cblbf-null-repllist-octets { + type uint64; + description + "Cable bundle flood null replication list octets"; + } + leaf cblbf-repl-fail-pkts { + type uint64; + description + "Cable bundle flood replication fail packets"; + } + leaf cblbf-repl-fail-octets { + type uint64; + description + "Cable bundle flood replication fail octets"; + } + leaf cblbf-repl-start-pkts { + type uint64; + description + "Cable bundle flood replication start packets"; + } + leaf cblbf-repl-start-octets { + type uint64; + description + "Cable bundle flood replication start octets"; + } + leaf cblbf-repl-end-pkts { + type uint64; + description + "Cable bundle flood replication end packets"; + } + leaf cblbf-repl-end-octets { + type uint64; + description + "Cable bundle flood replication end octets"; + } + leaf cblbf-recycle-tail-pkts { + type uint64; + description + "Cable bundle flood recycle tail packets"; + } + leaf cblbf-recycle-tail-octets { + type uint64; + description + "Cable bundle flood recycle tail octets"; + } + leaf cblbf-fwdint-down-pkts { + type uint64; + description + "Cable bundle flood forwarding interface down packets"; + } + leaf cblbf-fwdint-down-octets { + type uint64; + description + "Cable bundle flood forwarding interface down octets"; + } + leaf cable-p2pl-oce-ptr-null-pkts { + type uint64; + description + "Cable P2PL output chain element (OCE) pointer null packets"; + } + leaf cable-p2pl-oce-ptr-null-octets { + type uint64; + description + "Cable P2PL output chain element (OCE) pointer null octets"; + } + leaf cable-mc-invalid-replica-record-pkts { + type uint64; + description + "Cable multicast invalid replica record packets"; + } + leaf cable-mc-invalid-replica-record-octets { + type uint64; + description + "Cable multicast invalid replica record octets"; + } + leaf no-def-jib-pkts { + type uint64; + description + "No default JIB packets"; + } + leaf no-def-jib-octets { + type uint64; + description + "No default JIB octets"; + } + leaf no-inj-jib-pkts { + type uint64; + description + "No inj JIB packets"; + } + leaf no-inj-jib-octets { + type uint64; + description + "No inj JIB octets"; + } + leaf onefw-pkts { + type uint64; + description + "Firewall packets"; + } + leaf onefw-octets { + type uint64; + description + "Firewall octets"; + } + leaf ccm-tx-pkts { + type uint64; + description + "CCM transmit packets"; + } + leaf ccm-tx-octets { + type uint64; + description + "CCM transmit octets"; + } + leaf appnav-sn-pkt-invalid-pkts { + type uint64; + description + "APPNAV Service Node (SN) packet invalid packets"; + } + leaf appnav-sn-pkt-invalid-octets { + type uint64; + description + "APPNAV Service Node (SN) packet invalid octets"; + } + leaf appnav-internal-err-pkts { + type uint64; + description + "APPNAV internal error packets"; + } + leaf appnav-internal-err-octets { + type uint64; + description + "APPNAV internal error octets"; + } + leaf appnav-badroute-pkts { + type uint64; + description + "APPNAV bad route packets"; + } + leaf appnav-badroute-octets { + type uint64; + description + "APPNAV bad route octets"; + } + leaf appnav-notunnel-pkts { + type uint64; + description + "APPNAV no tunnel packets"; + } + leaf appnav-notunnel-octets { + type uint64; + description + "APPNAV no tunnel octets"; + } + leaf appnav-nosvcctx-pkts { + type uint64; + description + "APPNAV no SVC context packets"; + } + leaf appnav-nosvcctx-octets { + type uint64; + description + "APPNAV no SVC context octets"; + } + leaf appnav-inv-flow-state-pkts { + type uint64; + description + "APPNAV invalid flow state packets"; + } + leaf appnav-inv-flow-state-octets { + type uint64; + description + "APPNAV invalid flow state octets"; + } + leaf appnav-unexpected-pkt-pkts { + type uint64; + description + "APPNAV unexpected packets"; + } + leaf appnav-unexpected-pkt-octets { + type uint64; + description + "APPNAV unexpected packet octets"; + } + leaf rl2gp-non-tcb-pkts { + type uint64; + description + "Reverse layer 2 gateway protocol(R-L2GP) non topology change bridge protocol unit (TCB) packets"; + } + leaf rl2gp-non-tcb-octets { + type uint64; + description + "Reverse layer 2 gateway protocol(R-L2GP) non topology change bridge protocol unit (TCB) octets"; + } + leaf tunnel-pkt-sb-missed-pkts { + type uint64; + description + "Tunnel packet sub block missed packets"; + } + leaf tunnel-pkt-sb-missed-octets { + type uint64; + description + "Tunnel packet sub block missed octets"; + } + leaf fhs-pkt-invalid-pkts { + type uint64; + description + "First hop security packet invalid packets"; + } + leaf fhs-pkt-invalid-octets { + type uint64; + description + "First hop security packet invalid octets"; + } + leaf fhs-pkt-dropped-pkts { + type uint64; + description + "First hop security packet dropped packets"; + } + leaf fhs-pkt-dropped-octets { + type uint64; + description + "First hop security packet dropped octets"; + } + leaf tunnel-sgre-virtual-mac-mismatch-pkts { + type uint64; + description + "Tunnel secure generic routing encapsulation (sGRE) virtual MAC mismatch packets"; + } + leaf tunnel-sgre-virtual-mac-mismatch-octets { + type uint64; + description + "Tunnel secure generic routing encapsulation (sGRE) virtual MAC mismatch octets"; + } + leaf tunnel-sgre-unsupported-proto-pkts { + type uint64; + description + "Tunnel secure generic routing encapsulation (sGRE) unsupported protocol packets"; + } + leaf tunnel-sgre-unsupported-proto-octets { + type uint64; + description + "Tunnel secure generic routing encapsulation (sGRE) unsupported protocol octets"; + } + leaf mpls-gal-check-non-gal-dropped-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non generic associated channel label (GAL) dropped packets"; + } + leaf mpls-gal-check-non-gal-dropped-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non generic associated channel label (GAL) dropped octets"; + } + leaf mpls-gal-check-non-eos-dropped-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non end of stack dropped packets"; + } + leaf mpls-gal-check-non-eos-dropped-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check non end of stack dropped octets"; + } + leaf mpls-gal-check-invalid-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check invalid packets"; + } + leaf mpls-gal-check-invalid-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) check invalid octets"; + } + leaf mpls-gal-exception-non-eos-dropped-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non end of stack dropped packets"; + } + leaf mpls-gal-exception-non-eos-dropped-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non end of stack dropped octets"; + } + leaf mpls-gal-exception-non-gach-dropped-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non generic associated channel (GACH) dropped packets"; + } + leaf mpls-gal-exception-non-gach-dropped-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) generic associated channel label (GAL) exception non generic associated channel (GACH) dropped octets"; + } + leaf conf-sw-sess-pkts { + type uint64; + description + "Configuration software session packets"; + } + leaf conf-sw-sess-octets { + type uint64; + description + "Configuration software session octets"; + } + leaf tunnel-decap-too-many-times-pkts { + type uint64; + description + "Tunnel deencapsulation too many times packets"; + } + leaf tunnel-decap-too-many-times-octets { + type uint64; + description + "Tunnel deencapsulation too many times octets"; + } + leaf loadbalance-null0-pkts { + type uint64; + description + "Load balance null0 packets"; + } + leaf loadbalance-null0-octets { + type uint64; + description + "Load balance null0 octets"; + } + leaf gpm-tx-len-exceed-pkts { + type uint64; + description + "Global packet memory transmit length exceed packets"; + } + leaf gpm-tx-len-exceed-octets { + type uint64; + description + "Global packet memory transmit length exceed octets"; + } + leaf esf-ffr-drop-pkts { + type uint64; + description + "Edge switching services feature (ESF) ffr drop packets"; + } + leaf esf-ffr-drop-octets { + type uint64; + description + "Edge switching services feature (ESF) ffr drop octets"; + } + leaf ec-bundle-enq-pkts { + type uint64; + description + "Etherchannel bundle enqueue packets"; + } + leaf ec-bundle-enq-octets { + type uint64; + description + "Etherchannel bundle enqueue octets"; + } + leaf ec-link-tx-pkts { + type uint64; + description + "Etherchannel link transmit packets"; + } + leaf ec-link-tx-octets { + type uint64; + description + "Etherchannel link transmit octets"; + } + leaf pfrv3-probe-err-pkts { + type uint64; + description + "Performance routing version 4 (pFRv3) probe error packets"; + } + leaf pfrv3-probe-err-octets { + type uint64; + description + "Performance routing version 4 (pFRv3) probe error octets"; + } + leaf ovl-bad-pkt-pkts { + type uint64; + description + "Overlay bad packets"; + } + leaf ovl-bad-pkt-octets { + type uint64; + description + "Overlay bad packet octets"; + } + leaf ovl-l2-filter-pkts { + type uint64; + description + "Overlay layer 2 filter packets"; + } + leaf ovl-l2-filter-octets { + type uint64; + description + "Overlay layer 2 filter octets"; + } + leaf dpss-pkts { + type uint64; + description + "Dataplane service set (DPSS) packets"; + } + leaf dpss-octets { + type uint64; + description + "Dataplane service set (DPSS) octets"; + } + leaf tunnel-invalid-protocol-pkts { + type uint64; + description + "Tunnel invalid protocol packets"; + } + leaf tunnel-invalid-protocol-octets { + type uint64; + description + "Tunnel invalid protocol octets"; + } + leaf pfrv3-at-failure-pkts { + type uint64; + description + "Performance routing version 4 (pFRv3) at failure packets"; + } + leaf pfrv3-at-failure-octets { + type uint64; + description + "Performance routing version 4 (pFRv3) at failure octets"; + } + leaf ipv4-mcast-acl-pkts { + type uint64; + description + "IPv4 multicast access control list (ACL) packets"; + } + leaf ipv4-mcast-acl-octets { + type uint64; + description + "IPv4 multicast access control list (ACL) octets"; + } + leaf ipv6-mcast-acl-pkts { + type uint64; + description + "IPv6 multicast access control list (ACL) packets"; + } + leaf ipv6-mcast-acl-octets { + type uint64; + description + "IPv6 multicast access control list (ACL) octets"; + } + leaf pprl-sbrl-drop-pkts { + type uint64; + description + "PPRL source based rate limit drop packets"; + } + leaf pprl-sbrl-drop-octets { + type uint64; + description + "PPRL source based rate limit drop octets"; + } + leaf cbl-req-arl-drop-pkts { + type uint64; + description + "Cable request ARP drop packets"; + } + leaf cbl-req-arl-drop-octets { + type uint64; + description + "Cable request ARP drop octets"; + } + leaf cbl-rep-arl-drop-pkts { + type uint64; + description + "Cable rep ARP drop packets"; + } + leaf cbl-rep-arl-drop-octets { + type uint64; + description + "Cable rep ARP drop octets"; + } + leaf appnav-acgreloaddelay-pkts { + type uint64; + description + "APPNAV reload delay packets"; + } + leaf appnav-acgreloaddelay-octets { + type uint64; + description + "APPNAV reload delay octets"; + } + leaf ngfw-policy-pkts { + type uint64; + description + "Next generation firewall (NGFW) policy packets"; + } + leaf ngfw-policy-octets { + type uint64; + description + "Next generation firewall (NGFW) policy octets"; + } + leaf ngfw-divert-pkts { + type uint64; + description + "Next generation firewall (NGFW) divert packets"; + } + leaf ngfw-divert-octets { + type uint64; + description + "Next generation firewall (NGFW) divert octets"; + } + leaf pfrv3-blackhole-pkts { + type uint64; + description + "Performance routing version 4 (pFRv3) black hole packets"; + } + leaf pfrv3-blackhole-octets { + type uint64; + description + "Performance routing version 4 (pFRv3) black hole octets"; + } + leaf pppoe-fctl-pkts { + type uint64; + description + "PPP over Ethernet (PPPoE) flow control packets"; + } + leaf pppoe-fctl-octets { + type uint64; + description + "PPP over Ethernet (PPPoE) flow control octets"; + } + leaf lisp-sfltr-pkts { + type uint64; + description + "LISP filtering packets"; + } + leaf lisp-sfltr-octets { + type uint64; + description + "LISP filtering octets"; + } + leaf flowspec-pkts { + type uint64; + description + "Flowspec packets"; + } + leaf flowspec-octets { + type uint64; + description + "Flowspec octets"; + } + leaf identity-cft-error-pkts { + type uint64; + description + "Identity common flow table error packets"; + } + leaf identity-cft-error-octets { + type uint64; + description + "Identity common flow table error octets"; + } + leaf bad-us-jib-hdr-pkts { + type uint64; + description + "Bad us JIB header packets"; + } + leaf bad-us-jib-hdr-octets { + type uint64; + description + "Bad us JIB header octets"; + } + leaf too-many-mpls-lookup-oce-pkts { + type uint64; + description + "Too many multiprotocol label switching (MPLS) lookup output chain element (OCE) packets"; + } + leaf too-many-mpls-lookup-oce-octets { + type uint64; + description + "Too many multiprotocol label switching (MPLS) lookup output chain element (OCE) octets"; + } + leaf cable-prereg-not-cm-pkts { + type uint64; + description + "Cable pre registration not call manager packets"; + } + leaf cable-prereg-not-cm-octets { + type uint64; + description + "Cable pre registration not call manager octets"; + } + leaf invalid-virtual-id-pkts { + type uint64; + description + "Invalid virtual identifier packets"; + } + leaf invalid-virtual-id-octets { + type uint64; + description + "Invalid virtual identifier octets"; + } + leaf flow-queue-failure-id-pkts { + type uint64; + description + "Flow queue failure identifier packets"; + } + leaf flow-queue-failure-id-octets { + type uint64; + description + "Flow queue failure identifier octets"; + } + leaf l2es-input-invalid-tag-pkts { + type uint64; + description + "Layer 2 embedded ethernet switching input invalid tag packets"; + } + leaf l2es-input-invalid-tag-octets { + type uint64; + description + "Layer 2 embedded ethernet switching input invalid tag octets"; + } + leaf l2es-input-invalid-svi-pkts { + type uint64; + description + "Layer 2 embedded ethernet switching input invalid switched virtual interface (SVI) packets"; + } + leaf l2es-input-invalid-svi-octets { + type uint64; + description + "Layer 2 embedded ethernet switching input invalid switched virtual interface (SVI) octets"; + } + leaf svi-output-invalid-l2sb-pkts { + type uint64; + description + "Switched virtual interface (SVI) output invalid + layer 2 sub block packets"; + } + leaf svi-output-invalid-l2sb-octets { + type uint64; + description + "Switched virtual interface (SVI) output invalid + layer 2 sub block octets"; + } + leaf svi-input-invalid-mac-pkts { + type uint64; + description + "Switched virtual interface (SVI) input invalid MAC packets"; + } + leaf svi-input-invalid-mac-octets { + type uint64; + description + "Switched virtual interface (SVI) input invalid MAC octets"; + } + leaf svi-output-recycle-tail-pkts { + type uint64; + description + "Switched virtual interface (SVI) output recycle tail packets"; + } + leaf svi-output-recycle-tail-octets { + type uint64; + description + "Switched virtual interface (SVI) output recycle tail octets"; + } + leaf svi-output-repl-pkts { + type uint64; + description + "Switched virtual interface (SVI) output replication packets"; + } + leaf svi-output-repl-octets { + type uint64; + description + "Switched virtual interface (SVI) output replication octets"; + } + leaf svi-repl-end-pkts { + type uint64; + description + "Switched virtual interface (SVI) replication end packets"; + } + leaf svi-repl-end-octets { + type uint64; + description + "Switched virtual interface (SVI) replication end octets"; + } + leaf cws-ctx-id-not-found-mob-pkts { + type uint64; + description + "Cisco wire service (CWS) ctx identifier not found mobile packets"; + } + leaf cws-ctx-id-not-found-mob-octets { + type uint64; + description + "Cisco wire service (CWS) ctx identifier not found mobile octets"; + } + leaf cws-ctx-id-not-found-conn-pkts { + type uint64; + description + "Cisco wire service (CWS) ctx identifier not found connection packets"; + } + leaf cws-ctx-id-not-found-conn-octets { + type uint64; + description + "Cisco wire service (CWS) ctx identifier not found connection octets"; + } + leaf l2cp-cfg-action-pkts { + type uint64; + description + "Layer 2 control process configuration action packets"; + } + leaf l2cp-cfg-action-octets { + type uint64; + description + "Layer 2 control process configuration action octets"; + } + leaf perf-lic-policer-lo-pkts { + type uint64; + description + "Performance license policer lo packets"; + } + leaf perf-lic-policer-lo-octets { + type uint64; + description + "Performance license policer lo octets"; + } + leaf perf-lic-policer-hi-pkts { + type uint64; + description + "Performance license policer high packets"; + } + leaf perf-lic-policer-hi-octets { + type uint64; + description + "Performance license policer high octets"; + } + leaf hqf-tx-error-pkts { + type uint64; + description + "Hierarchical queuing function transmit error packets"; + } + leaf hqf-tx-error-octets { + type uint64; + description + "Hierarchical queuing function transmit error octets"; + } + leaf cmd-format-pkts { + type uint64; + description + "Command format packets"; + } + leaf cmd-format-octets { + type uint64; + description + "Command format octets"; + } + leaf utd-pkts { + type uint64; + description + "Universal threat defense packets"; + } + leaf utd-octets { + type uint64; + description + "Universal threat defense octets"; + } + leaf nat66-in2out-pkts { + type uint64; + description + "NAT66 in to out packets"; + } + leaf nat66-in2out-octets { + type uint64; + description + "NAT66 in to out octets"; + } + leaf nat66-out2in-pkts { + type uint64; + description + "NAT66 out to in packets"; + } + leaf nat66-out2in-octets { + type uint64; + description + "NAT66 out to in octets"; + } + leaf dsa-no-ip-pkts { + type uint64; + description + "DNS snooping agent no IP packets"; + } + leaf dsa-no-ip-octets { + type uint64; + description + "DNS snooping agent no IP octets"; + } + leaf cws-inter-error-pkts { + type uint64; + description + "Cisco wire service (CWS) inter error packets"; + } + leaf cws-inter-error-octets { + type uint64; + description + "Cisco wire service (CWS) inter error octets"; + } + leaf utd-sn-pkts { + type uint64; + description + "Universal threat defense Service Node (SN) packets"; + } + leaf utd-sn-octets { + type uint64; + description + "Universal threat defense Service Node (SN) octets"; + } + leaf mpls-el-invalid-tag-pkts { + type uint64; + description + "Multiprotocol label switching (MPLS) entropy label invalid tag packets"; + } + leaf mpls-el-invalid-tag-octets { + type uint64; + description + "Multiprotocol label switching (MPLS) entropy label invalid tag octets"; + } + leaf lisp-failed-to-punt-gsmr-enabled-pkts { + type uint64; + description + "LISP failed to punt generalized solicit map request enabled packets"; + } + leaf lisp-failed-to-punt-gsmr-enabled-octets { + type uint64; + description + "LISP failed to punt generalized solicit map request enabled octets"; + } + leaf schain-flow-action-pkts { + type uint64; + description + "Service chain flow action packets"; + } + leaf schain-flow-action-octets { + type uint64; + description + "Service chain flow action octets"; + } + leaf opendns-pkts { + type uint64; + description + "OpenDNS packets"; + } + leaf opendns-octets { + type uint64; + description + "OpenDNS octets"; + } + leaf capwap-err-pkts { + type uint64; + description + "CAPWAP error packets"; + } + leaf capwap-err-octets { + type uint64; + description + "CAPWAP error octets"; + } + leaf capwap-no-uidb-pkts { + type uint64; + description + "CAPWAP no interface packets"; + } + leaf capwap-no-uidb-octets { + type uint64; + description + "CAPWAP no interface octets"; + } + leaf dtls-err-pkts { + type uint64; + description + "DTLS error packets"; + } + leaf dtls-err-octets { + type uint64; + description + "DTLS error octets"; + } + leaf wlclnt-err-pkts { + type uint64; + description + "Wireless client error packets"; + } + leaf wlclnt-err-octets { + type uint64; + description + "Wireless client error octets"; + } + leaf wlclnt-fnf-v9-report-pkts { + type uint64; + description + "Wireless client flexible netflow v9 report packets"; + } + leaf wlclnt-fnf-v9-report-octets { + type uint64; + description + "Wireless client flexible netflow v9 report octets"; + } + leaf wlclnt-fnf-v9-err-pkts { + type uint64; + description + "Wireless client flexible netflow v9 error packets"; + } + leaf wlclnt-fnf-v9-err-octets { + type uint64; + description + "Wireless client flexible netflow v9 error octets"; + } + leaf cgacl-err-pkts { + type uint64; + description + "CG Access Control List(CGACL) error packets"; + } + leaf cgacl-err-octets { + type uint64; + description + "CG Access Control List(CGACL) error octets"; + } + leaf cgacl-lookup-miss-pkts { + type uint64; + description + "CG Access Control List(CGACL) lookup miss packets"; + } + leaf cgacl-lookup-miss-octets { + type uint64; + description + "CG Access Control List(CGACL) lookup miss octets"; + } + leaf cgacl-match-pkts { + type uint64; + description + "CG Access Control List(CGACL) match packets"; + } + leaf cgacl-match-octets { + type uint64; + description + "CG Access Control List(CGACL) match octets"; + } + leaf cgacl-action-pkts { + type uint64; + description + "CG Access Control List(CGACL) action packets"; + } + leaf cgacl-action-octets { + type uint64; + description + "CG Access Control List(CGACL) action octets"; + } + leaf cwfrag-err-pkts { + type uint64; + description + "Cisco wireservice fragment error packets"; + } + leaf cwfrag-err-octets { + type uint64; + description + "Cisco wireservice fragment error octets"; + } + leaf pathmgr-measurement-err-pkts { + type uint64; + description + "Path manager measurement error packets"; + } + leaf pathmgr-measurement-err-octets { + type uint64; + description + "Path manager measurement error octets"; + } + leaf pathmgr-select-err-pkts { + type uint64; + description + "Path manager select error packets"; + } + leaf pathmgr-select-err-octets { + type uint64; + description + "Path manager select error octets"; + } + leaf capwap-reass-frag-consm-pkts { + type uint64; + description + "CAPWAP reassembly fragments consumed packets"; + } + leaf capwap-reass-frag-consm-octets { + type uint64; + description + "CAPWAP reassembly fragments consumed octets"; + } + leaf capwap-reass-alloc-err-pkts { + type uint64; + description + "CAPWAP reassembly allocation error packets"; + } + leaf capwap-reass-alloc-err-octets { + type uint64; + description + "CAPWAP reassembly allocation error octets"; + } + leaf capwap-reass-frag-err-pkts { + type uint64; + description + "CAPWAP reassembly fragments error packets"; + } + leaf capwap-reass-frag-err-octets { + type uint64; + description + "CAPWAP reassembly fragments error octets"; + } + leaf redistrib-err-bad-dst-pkts { + type uint64; + description + "Redistribution error bad dst packets"; + } + leaf redistrib-err-bad-dst-octets { + type uint64; + description + "Redistribution error bad dst octets"; + } + leaf redistrib-err-sb-trans-fail-pkts { + type uint64; + description + "Redistribution error sub block trans fail packets"; + } + leaf redistrib-err-sb-trans-fail-octets { + type uint64; + description + "Redistribution error sub block trans fail octets"; + } + leaf redistrib-err-ph-alc-fail-pkts { + type uint64; + description + "Redistribution error ph allocation fail packets"; + } + leaf redistrib-err-ph-alc-fail-octets { + type uint64; + description + "Redistribution error ph allocation fail octets"; + } + leaf redistrib-err-not-sup-pkts { + type uint64; + description + "Redistribution error not sup packets"; + } + leaf redistrib-err-not-sup-octets { + type uint64; + description + "Redistribution error not sup octets"; + } + leaf redistrib-fifo-tail-drop-pkts { + type uint64; + description + "Redistribution first in first out (FIFO) tail drop packets"; + } + leaf redistrib-fifo-tail-drop-octets { + type uint64; + description + "Redistribution first in first out (FIFO) tail drop octets"; + } + leaf redistrib-no-credits-pkts { + type uint64; + description + "Redistribution no credits packets"; + } + leaf redistrib-no-credits-octets { + type uint64; + description + "Redistribution no credits octets"; + } + leaf max-indirect-exceeded-pkts { + type uint64; + description + "Maximum indirect exceeded packets"; + } + leaf max-indirect-exceeded-octets { + type uint64; + description + "Maximum indirect exceeded octets"; + } + leaf punt-intf-drop-pkts { + type uint64; + description + "Punt interface drop packets"; + } + leaf punt-intf-drop-octets { + type uint64; + description + "Punt interface drop octets"; + } + leaf srh-pkt-truncated-in-gpm-pkts { + type uint64; + description + "Segment routing header packet truncated in global packet memory packets"; + } + leaf srh-pkt-truncated-in-gpm-octets { + type uint64; + description + "Segment routing header packet truncated in global packet memory octets"; + } + leaf srh-invalid-extension-pkts { + type uint64; + description + "Segment routing header invalid extension packets"; + } + leaf srh-invalid-extension-octets { + type uint64; + description + "Segment routing header invalid extension octets"; + } + leaf swport-pkts { + type uint64; + description + "Switch port packets"; + } + leaf swport-octets { + type uint64; + description + "Switch port octets"; + } + leaf swport-disabled-pkts { + type uint64; + description + "Switch port disabled packets"; + } + leaf swport-disabled-octets { + type uint64; + description + "Switch port disabled octets"; + } + leaf swport-sanity-check-pkts { + type uint64; + description + "Switch port sanity check packets"; + } + leaf swport-sanity-check-octets { + type uint64; + description + "Switch port sanity check octets"; + } + leaf swport-vp-state-pkts { + type uint64; + description + "Switch port virtual port state packets"; + } + leaf swport-vp-state-octets { + type uint64; + description + "Switch port virtual port state octets"; + } + leaf swport-mac-conflict-pkts { + type uint64; + description + "Switch port MAC conflict packets"; + } + leaf swport-mac-conflict-octets { + type uint64; + description + "Switch port MAC conflict octets"; + } + leaf swport-stby-pkts { + type uint64; + description + "Switch port standby packets"; + } + leaf swport-stby-octets { + type uint64; + description + "Switch port standby octets"; + } + leaf swport-tx-stby-pkts { + type uint64; + description + "Switch port transmit standby packets"; + } + leaf swport-tx-stby-octets { + type uint64; + description + "Switch port transmit standby octets"; + } + leaf switch-l2m-pkts { + type uint64; + description + "Switch layer 2 multicast packets"; + } + leaf switch-l2m-octets { + type uint64; + description + "Switch layer 2 multicast octets"; + } + leaf switch-l2m-igmp-pkts { + type uint64; + description + "Switch layer 2 multicast internet group management protocol (IGMP) packets"; + } + leaf switch-l2m-igmp-octets { + type uint64; + description + "Switch layer 2 multicast internet group management protocol (IGMP) octets"; + } + leaf switch-l2m-mld-pkts { + type uint64; + description + "Switch layer 2 multicast mld packets"; + } + leaf switch-l2m-mld-octets { + type uint64; + description + "Switch layer 2 multicast mld octets"; + } + leaf switch-l2m-lookup-miss-pkts { + type uint64; + description + "Switch layer 2 multicast lookup miss packets"; + } + leaf switch-l2m-lookup-miss-octets { + type uint64; + description + "Switch layer 2 multicast lookup miss octets"; + } + leaf switch-l2m-sanity-check-pkts { + type uint64; + description + "Switch layer 2 multicast sanity check packets"; + } + leaf switch-l2m-sanity-check-octets { + type uint64; + description + "Switch layer 2 multicast sanity check octets"; + } + leaf bier-invalid-replica-record-pkts { + type uint64; + description + "Bit index explicit replication (BIER) invalid replica record packets"; + } + leaf bier-invalid-replica-record-octets { + type uint64; + description + "Bit index explicit replication (BIER) invalid replica record octets"; + } + leaf bier-snaity-pkts { + type uint64; + description + "Bit index explicit replication (BIER) sanity packets"; + } + leaf bier-snaity-octets { + type uint64; + description + "Bit index explicit replication (BIER) sanity octets"; + } + leaf cable-oob-us-sess-invalid-pkts { + type uint64; + description + "Cable out of band us session invalid packets"; + } + leaf cable-oob-us-sess-invalid-octets { + type uint64; + description + "Cable out of band us session invalid octets"; + } + leaf cable-oob-us-src-id-invalid-pkts { + type uint64; + description + "Cable out of band us source identifier invalid packets"; + } + leaf cable-oob-us-src-id-invalid-octets { + type uint64; + description + "Cable out of band us source identifier invalid octets"; + } + leaf cable-oob-us-pkt-invalid-pkts { + type uint64; + description + "Cable out of band us packet invalid packets"; + } + leaf cable-oob-us-pkt-invalid-octets { + type uint64; + description + "Cable out of band us packet invalid octets"; + } + leaf cbl-oob-null-repllist-pkts { + type uint64; + description + "Cable out of band null replication list packets"; + } + leaf cbl-oob-null-repllist-octets { + type uint64; + description + "Cable out of band null replication list octets"; + } + leaf cbl-oob-repl-fail-pkts { + type uint64; + description + "Cable out of band replication fail packets"; + } + leaf cbl-oob-repl-fail-octets { + type uint64; + description + "Cable out of band replication fail octets"; + } + leaf cbl-oob-add-hdr-fail-pkts { + type uint64; + description + "Cable out of band add header fail packets"; + } + leaf cbl-oob-add-hdr-fail-octets { + type uint64; + description + "Cable out of band add header fail octets"; + } + leaf cbl-oob-repl-end-pkts { + type uint64; + description + "Cable out of band replication end packets"; + } + leaf cbl-oob-repl-end-octets { + type uint64; + description + "Cable out of band replication end octets"; + } + leaf cbl-oob-recycle-tail-pkts { + type uint64; + description + "Cable out of band recycle tail packets"; + } + leaf cbl-oob-recycle-tail-octets { + type uint64; + description + "Cable out of band recycle tail octets"; + } + leaf cbl-oob-repl-uidb-invalid-pkts { + type uint64; + description + "Cable out of band replication interface invalid packets"; + } + leaf cbl-oob-repl-uidb-invalid-octets { + type uint64; + description + "Cable out of band replication interface invalid octets"; + } + leaf cbl-oob-repl-sess-invalid-pkts { + type uint64; + description + "Cable out of band replication session invalid packets"; + } + leaf cbl-oob-repl-sess-invalid-octets { + type uint64; + description + "Cable out of band replication session invalid octets"; + } + leaf cbl-oob-null-repl-info-pkts { + type uint64; + description + "Cable out of band null replication information packets"; + } + leaf cbl-oob-null-repl-info-octets { + type uint64; + description + "Cable out of band null replication information octets"; + } + leaf nid-vlan-mismatch-pkts { + type uint64; + description + "Network interface device VLAN mismatch packets"; + } + leaf nid-vlan-mismatch-octets { + type uint64; + description + "Network interface device VLAN mismatch octets"; + } + leaf pfrv3-loop-pkts { + type uint64; + description + "Performance routing version 4 (pFRv3) loop packets"; + } + leaf pfrv3-loop-octets { + type uint64; + description + "Performance routing version 4 (pFRv3) loop octets"; + } + leaf dialer-list-pkts { + type uint64; + description + "Dialer list packets"; + } + leaf dialer-list-octets { + type uint64; + description + "Dialer list octets"; + } + leaf udp-pkts { + type uint64; + description + "UDP packets"; + } + leaf udp-octets { + type uint64; + description + "UDP octets"; + } + leaf tunnel-l2tpv3oipv6-cookie-mismatch-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) cookie mismatch packets"; + } + leaf tunnel-l2tpv3oipv6-cookie-mismatch-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) cookie mismatch octets"; + } + leaf tunnel-l2tpv3oipv6-minmtu-error-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) minimum maximum transfer unit error packets"; + } + leaf tunnel-l2tpv3oipv6-minmtu-error-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) minimum maximum transfer unit error octets"; + } + leaf tunnel-l2tpv3oipv6-cookieflag-error-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over + IPv6 (L2TPv3oIPv6) cookie flag error packets"; + } + leaf tunnel-l2tpv3oipv6-cookieflag-error-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over + IPv6 (L2TPv3oIPv6) cookie flag error octets"; + } + leaf tunnel-l2tpv3oipv6-mac-mismatch-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) MAC mismatch packets"; + } + leaf tunnel-l2tpv3oipv6-mac-mismatch-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) MAC mismatch octets"; + } + leaf tunnel-l2tpv3oipv6-vlanid-mismatch-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) VLAN identifier mismatch packets"; + } + leaf tunnel-l2tpv3oipv6-vlanid-mismatch-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) VLAN identifier mismatch octets"; + } + leaf tunnel-l2tpv3oipv6-unsupported-proto-pkts { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) unsupported protocol packets"; + } + leaf tunnel-l2tpv3oipv6-unsupported-proto-octets { + type uint64; + description + "Tunnel layer 2 tunneling protocol version 3 over IPv6 (L2TPv3oIPv6) unsupported protocol octets"; + } + leaf pfrv3-stickiness-pkts { + type uint64; + description + "Performance routing version 4 (pFRv3) stickiness packets"; + } + leaf pfrv3-stickiness-octets { + type uint64; + description + "Performance routing version 4 (pFRv3) stickiness octets"; + } + leaf cbl-sid-exceed-pkts { + type uint64; + description + "Cable service identifier exceed packets"; + } + leaf cbl-sid-exceed-octets { + type uint64; + description + "Cable service identifier exceed octets"; + } + leaf sdwan-pkts { + type uint64; + description + "Software defined WAN (SDWAN) packets"; + } + leaf sdwan-octets { + type uint64; + description + "Software defined WAN (SDWAN) octets"; + } + leaf sdwan-generic-pkts { + type uint64; + description + "Software defined WAN (SDWAN) generic packets"; + } + leaf sdwan-generic-octets { + type uint64; + description + "Software defined WAN (SDWAN) generic octets"; + } + leaf sdwan-implicit-acl-pkts { + type uint64; + description + "Software defined WAN (SDWAN) implicit access control list (ACL) packets"; + } + leaf sdwan-implicit-acl-octets { + type uint64; + description + "Software defined WAN (SDWAN) implicit access control list (ACL) octets"; + } + leaf sdwan-acl-pkts { + type uint64; + description + "Software defined WAN (SDWAN) access control list (ACL) packets"; + } + leaf sdwan-acl-octets { + type uint64; + description + "Software defined WAN (SDWAN) access control list (ACL) octets"; + } + leaf sdwan-bfd-pkts { + type uint64; + description + "Software defined WAN (SDWAN) bidirectional fault detection (BFD) packets"; + } + leaf sdwan-bfd-octets { + type uint64; + description + "Software defined WAN (SDWAN) bidirectional fault detection (BFD) octets"; + } + leaf sdwan-app-route-policy-pkts { + type uint64; + description + "Software defined WAN (SDWAN) app route policy packets"; + } + leaf sdwan-app-route-policy-octets { + type uint64; + description + "Software defined WAN (SDWAN) app route policy octets"; + } + leaf sdwan-data-policy-pkts { + type uint64; + description + "Software defined WAN (SDWAN) data policy packets"; + } + leaf sdwan-data-policy-octets { + type uint64; + description + "Software defined WAN (SDWAN) data policy octets"; + } + leaf sdwan-interface-policy-pkts { + type uint64; + description + "Software defined WAN (SDWAN) interface policy packets"; + } + leaf sdwan-interface-policy-octets { + type uint64; + description + "Software defined WAN (SDWAN) interface policy octets"; + } + leaf sdwan-tunnel-lkup-pkts { + type uint64; + description + "Software defined WAN (SDWAN) tunnel lookup packets"; + } + leaf sdwan-tunnel-lkup-octets { + type uint64; + description + "Software defined WAN (SDWAN) tunnel lookup octets"; + } + leaf sdwan-tloc-ext-pkts { + type uint64; + description + "Software defined WAN (SDWAN) tunnel locator extension packets"; + } + leaf sdwan-tloc-ext-octets { + type uint64; + description + "Software defined WAN (SDWAN) tunnel locator extension octets"; + } + leaf tunnel-vxlan-mismatch-pkts { + type uint64; + description + "Tunnel VxLAN mismatch packets"; + } + leaf tunnel-vxlan-mismatch-octets { + type uint64; + description + "Tunnel VxLAN mismatch octets"; + } + leaf l2bd-mac-security-move-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security move packets"; + } + leaf l2bd-mac-security-move-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security move octets"; + } + leaf l2bd-mac-security-unknown-pkts { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security unknown packets"; + } + leaf l2bd-mac-security-unknown-octets { + type uint64; + description + "Layer 2 Bridge Domain (L2BD) MAC security unknown octets"; + } + leaf dapr-noroute-pkts { + type uint64; + description + "Dynamic application policy routing no route packets"; + } + leaf dapr-noroute-octets { + type uint64; + description + "Dynamic application policy routing no route octets"; + } + leaf epbr-pkts { + type uint64; + description + "ePBR packets"; + } + leaf epbr-octets { + type uint64; + description + "ePBR octets"; + } + leaf sdvt-sn-pkts { + type uint64; + description + "SDVT Service Node (SN) packets"; + } + leaf sdvt-sn-octets { + type uint64; + description + "SDVT Service Node (SN) octets"; + } + leaf sdvt-pkts { + type uint64; + description + "SDVT packets"; + } + leaf sdvt-octets { + type uint64; + description + "SDVT octets"; + } + leaf tunnel-vxlan-policer-pkts { + type uint64; + description + "Tunnel VxLAN policer packets"; + } + leaf tunnel-vxlan-policer-octets { + type uint64; + description + "Tunnel VxLAN policer octets"; + } + leaf tunnel-vrf-mux-pkts { + type uint64; + description + "Tunnel VRF multiplexed packets"; + } + leaf tunnel-vrf-mux-octets { + type uint64; + description + "Tunnel VRF multiplexed octets"; + } + leaf tunnel-vrf-demux-pkts { + type uint64; + description + "Tunnel VRF demultiplexed packets"; + } + leaf tunnel-vrf-demux-octets { + type uint64; + description + "Tunnel VRF demultiplexed octets"; + } + } + + container qfp-stats-oper-data { + config false; + description + "QFP statistics operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + container datapath-qfp-stats { + presence "datapath-qfp-stats"; + description + "Datapath Quantum Flow Processor(QFP) statistics"; + uses qfp-stats-ios-xe-oper:datapath-qfp-stats; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats.yang new file mode 100644 index 000000000..fa3558691 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qfp-stats.yang @@ -0,0 +1,3288 @@ +module Cisco-IOS-XE-qfp-stats { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qfp-stats"; + prefix ios-xe-qfp-stats; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for data plane statistics. + Copyright (c) 2018-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add new drop cause for PA Packet Not Supported."; + cisco-semver:module-version "1.11.0"; + } + revision 2024-03-01 { + description + "- Add new drop cause for Cable LC to SUP Packet Punt. + - Add new drop cause for bad crypto offload buffers."; + cisco-semver:module-version "1.10.0"; + } + revision 2023-07-01 { + description + "- Add new drop cause for Dynamic Link Exchange Protocol Multicast feature."; + cisco-semver:module-version "1.9.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.8.0"; + } + revision 2022-07-01 { + description + "- Add new drop cause for Unicast Service Reflection."; + cisco-semver:module-version "1.7.0"; + } + revision 2022-03-01 { + description + "- Add new drop cause for Cable ARP Automatic Reply."; + cisco-semver:module-version "1.6.0"; + } + revision 2021-11-01 { + description + "- Add new drop cause for Memory Interface and No Interface Resource. + - Add new drop cause for Dynamic Link Exchange Protocol feature."; + cisco-semver:module-version "1.5.0"; + } + revision 2021-07-01 { + description + "- Add new drop cause for Cable Recycle Queue. + - Add new drop causes for + Packet Core Gateway platform. + - Add Flow Based Distribution Error Counters. + - Add new virtual TCP drop causes."; + cisco-semver:module-version "1.4.0"; + } + revision 2020-11-01 { + description + "- Add new drop cause for sisf ctrl packet."; + cisco-semver:module-version "1.3.0"; + } + revision 2020-07-01 { + description + "- Add new drop cause for Cable. + - Add new drop cause for Cable DHCP."; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "- Add new drop cause for Service Divert, VxLAN tunnel policer. + - Add new drop cause for fragment invalid pkt. + - Add new drop cause for crypto offload output drop counter."; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-12-03 { + description + "Add new drop cause for ePBR"; + } + revision 2018-09-19 { + description + "Initial revision"; + reference + "1.0.0"; + } + + container global-drop-statistics { + config false; + leaf uidb-not-cfgd-pkts { + type yang:counter64; + } + leaf uidb-not-cfgd-octets { + type yang:counter64; + } + leaf bad-uidb-idx-pkts { + type yang:counter64; + } + leaf bad-uidb-idx-octets { + type yang:counter64; + } + leaf bad-uidb-sub-idx-pkts { + type yang:counter64; + } + leaf bad-uidb-sub-idx-octets { + type yang:counter64; + } + leaf unknown-encap-pkts { + type yang:counter64; + } + leaf unknown-encap-octets { + type yang:counter64; + } + leaf inv-l2-hdr-pkts { + type yang:counter64; + } + leaf inv-l2-hdr-octets { + type yang:counter64; + } + leaf bad-len-pkts { + type yang:counter64; + } + leaf bad-len-octets { + type yang:counter64; + } + leaf tcp-badfrag-pkts { + type yang:counter64; + } + leaf tcp-badfrag-octets { + type yang:counter64; + } + leaf ipv4-acl-pkts { + type yang:counter64; + } + leaf ipv4-acl-octets { + type yang:counter64; + } + leaf ipv4-acl-lookup-miss-pkts { + type yang:counter64; + } + leaf ipv4-acl-lookup-miss-octets { + type yang:counter64; + } + leaf bad-ip-checksum-pkts { + type yang:counter64; + } + leaf bad-ip-checksum-octets { + type yang:counter64; + } + leaf ip-format-err-pkts { + type yang:counter64; + } + leaf ip-format-err-octets { + type yang:counter64; + } + leaf ip-bad-options-pkts { + type yang:counter64; + } + leaf ip-bad-options-octets { + type yang:counter64; + } + leaf ipv4-martian-pkts { + type yang:counter64; + } + leaf ipv4-martian-octets { + type yang:counter64; + } + leaf mpass-err-pkts { + type yang:counter64; + } + leaf mpass-err-octets { + type yang:counter64; + } + leaf ipv4-pbr-pkts { + type yang:counter64; + } + leaf ipv4-pbr-octets { + type yang:counter64; + } + leaf inv-hdr-err-pkts { + type yang:counter64; + } + leaf inv-hdr-err-octets { + type yang:counter64; + } + leaf punt-err-pkts { + type yang:counter64; + } + leaf punt-err-octets { + type yang:counter64; + } + leaf inject-err-pkts { + type yang:counter64; + } + leaf inject-err-octets { + type yang:counter64; + } + leaf ipv4-no-route-pkts { + type yang:counter64; + } + leaf ipv4-no-route-octets { + type yang:counter64; + } + leaf qos-policing-pkts { + type yang:counter64; + } + leaf qos-policing-octets { + type yang:counter64; + } + leaf qos-actions-pkts { + type yang:counter64; + } + leaf qos-actions-octets { + type yang:counter64; + } + leaf null-jib-hdr-tbl-pkts { + type yang:counter64; + } + leaf null-jib-hdr-tbl-octets { + type yang:counter64; + } + leaf tail-drop-pkts { + type yang:counter64; + } + leaf tail-drop-octets { + type yang:counter64; + } + leaf wred-pkts { + type yang:counter64; + } + leaf wred-octets { + type yang:counter64; + } + leaf invalid-queue-pkts { + type yang:counter64; + } + leaf invalid-queue-octets { + type yang:counter64; + } + leaf invalid-wred-pkts { + type yang:counter64; + } + leaf invalid-wred-octets { + type yang:counter64; + } + leaf mpls-pkts { + type yang:counter64; + } + leaf mpls-octets { + type yang:counter64; + } + leaf ipv6-truncatedpkts-pkts { + type yang:counter64; + } + leaf ipv6-truncatedpkts-octets { + type yang:counter64; + } + leaf ipv6-formaterr-pkts { + type yang:counter64; + } + leaf ipv6-formaterr-octets { + type yang:counter64; + } + leaf ipv6-badsource-pkts { + type yang:counter64; + } + leaf ipv6-badsource-octets { + type yang:counter64; + } + leaf ipv6-badhop-pkts { + type yang:counter64; + } + leaf ipv6-badhop-octets { + type yang:counter64; + } + leaf ipv6-toobigpacket-pkts { + type yang:counter64; + } + leaf ipv6-toobigpacket-octets { + type yang:counter64; + } + leaf ipv6-no-route-pkts { + type yang:counter64; + } + leaf ipv6-no-route-octets { + type yang:counter64; + } + leaf ipv6-acl-lookup-miss-pkts { + type yang:counter64; + } + leaf ipv6-acl-lookup-miss-octets { + type yang:counter64; + } + leaf ipv6-acl-pkts { + type yang:counter64; + } + leaf ipv6-acl-octets { + type yang:counter64; + } + leaf ip-acl-err-pkts { + type yang:counter64; + } + leaf ip-acl-err-octets { + type yang:counter64; + } + leaf mac-acl-pkts { + type yang:counter64; + } + leaf mac-acl-octets { + type yang:counter64; + } + leaf mac-acl-lookup-miss-pkts { + type yang:counter64; + } + leaf mac-acl-lookup-miss-octets { + type yang:counter64; + } + leaf ipv4mc-no-route-pkts { + type yang:counter64; + } + leaf ipv4mc-no-route-octets { + type yang:counter64; + } + leaf unknown-ext-header-pkts { + type yang:counter64; + } + leaf unknown-ext-header-octets { + type yang:counter64; + } + leaf ipv4mc-rpf-failed-pkts { + type yang:counter64; + } + leaf ipv4mc-rpf-failed-octets { + type yang:counter64; + } + leaf ipv4mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf ipv4mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf ipv4mc-ttl-threshold-chk-failed-pkts { + type yang:counter64; + } + leaf ipv4mc-ttl-threshold-chk-failed-octets { + type yang:counter64; + } + leaf ipv4mc-extra-replicae-pkts { + type yang:counter64; + } + leaf ipv4mc-extra-replicae-octets { + type yang:counter64; + } + leaf ipv4-mtr-pkts { + type yang:counter64; + } + leaf ipv4-mtr-octets { + type yang:counter64; + } + leaf internal-ctl-pkts { + type yang:counter64; + } + leaf internal-ctl-octets { + type yang:counter64; + } + leaf bad-dist-fifo-pkts { + type yang:counter64; + } + leaf bad-dist-fifo-octets { + type yang:counter64; + } + leaf frfab-wred-drop-pkts { + type yang:counter64; + } + leaf frfab-wred-drop-octets { + type yang:counter64; + } + leaf firewall-nonsession-pkts { + type yang:counter64; + } + leaf firewall-nonsession-octets { + type yang:counter64; + } + leaf firewall-invalid-zone-pkts { + type yang:counter64; + } + leaf firewall-invalid-zone-octets { + type yang:counter64; + } + leaf firewall-backpressure-pkts { + type yang:counter64; + } + leaf firewall-backpressure-octets { + type yang:counter64; + } + leaf firewall-l4-insp-pkts { + type yang:counter64; + } + leaf firewall-l4-insp-octets { + type yang:counter64; + } + leaf ip-frag-err-pkts { + type yang:counter64; + } + leaf ip-frag-err-octets { + type yang:counter64; + } + leaf no-gpm-memory-err-pkts { + type yang:counter64; + } + leaf no-gpm-memory-err-octets { + type yang:counter64; + } + leaf for-us-pkts { + type yang:counter64; + } + leaf for-us-octets { + type yang:counter64; + } + leaf ipsec-input-pkts { + type yang:counter64; + } + leaf ipsec-input-octets { + type yang:counter64; + } + leaf ipsec-ike-indicate-pkts { + type yang:counter64; + } + leaf ipsec-ike-indicate-octets { + type yang:counter64; + } + leaf ipsec-invalid-sa-pkts { + type yang:counter64; + } + leaf ipsec-invalid-sa-octets { + type yang:counter64; + } + leaf ipsec-tail-drop-pkts { + type yang:counter64; + } + leaf ipsec-tail-drop-octets { + type yang:counter64; + } + leaf layer2-no-route-pkts { + type yang:counter64; + } + leaf layer2-no-route-octets { + type yang:counter64; + } + leaf icmp-pkts { + type yang:counter64; + } + leaf icmp-octets { + type yang:counter64; + } + leaf ip-ttl-exceeded-pkts { + type yang:counter64; + } + leaf ip-ttl-exceeded-octets { + type yang:counter64; + } + leaf tunnel-bad-gre-checksum-pkts { + type yang:counter64; + } + leaf tunnel-bad-gre-checksum-octets { + type yang:counter64; + } + leaf tunnel-misconfiguration-pkts { + type yang:counter64; + } + leaf tunnel-misconfiguration-octets { + type yang:counter64; + } + leaf gre-bad-options-pkts { + type yang:counter64; + } + leaf gre-bad-options-octets { + type yang:counter64; + } + leaf frag-tail-drop-pkts { + type yang:counter64; + } + leaf frag-tail-drop-octets { + type yang:counter64; + } + leaf unconfigured-fia-pkts { + type yang:counter64; + } + leaf unconfigured-fia-octets { + type yang:counter64; + } + leaf ipv4-fpm-pkts { + type yang:counter64; + } + leaf ipv4-fpm-octets { + type yang:counter64; + } + leaf nat-in2out-pkts { + type yang:counter64; + } + leaf nat-in2out-octets { + type yang:counter64; + } + leaf nat-out2in-pkts { + type yang:counter64; + } + leaf nat-out2in-octets { + type yang:counter64; + } + leaf pa-walk-err-pkts { + type yang:counter64; + } + leaf pa-walk-err-octets { + type yang:counter64; + } + leaf ipv4-routing-err-pkts { + type yang:counter64; + } + leaf ipv4-routing-err-octets { + type yang:counter64; + } + leaf ipv6-routing-err-pkts { + type yang:counter64; + } + leaf ipv6-routing-err-octets { + type yang:counter64; + } + leaf mpass-invalid-fs-vector-pkts { + type yang:counter64; + } + leaf mpass-invalid-fs-vector-octets { + type yang:counter64; + } + leaf reass-drop-pkts { + type yang:counter64; + } + leaf reass-drop-octets { + type yang:counter64; + } + leaf reass-frag-too-big-pkts { + type yang:counter64; + } + leaf reass-frag-too-big-octets { + type yang:counter64; + } + leaf reass-no-frag-info-pkts { + type yang:counter64; + } + leaf reass-no-frag-info-octets { + type yang:counter64; + } + leaf reass-no-frag-info-low-pkts { + type yang:counter64; + } + leaf reass-no-frag-info-low-octets { + type yang:counter64; + } + leaf reass-bad-len-pkts { + type yang:counter64; + } + leaf reass-bad-len-octets { + type yang:counter64; + } + leaf reass-too-many-frags-pkts { + type yang:counter64; + } + leaf reass-too-many-frags-octets { + type yang:counter64; + } + leaf reass-no-frags-left-pkts { + type yang:counter64; + } + leaf reass-no-frags-left-octets { + type yang:counter64; + } + leaf reass-overlap-pkts { + type yang:counter64; + } + leaf reass-overlap-octets { + type yang:counter64; + } + leaf reass-timeout-pkts { + type yang:counter64; + } + leaf reass-timeout-octets { + type yang:counter64; + } + leaf no-mem-pkts { + type yang:counter64; + } + leaf no-mem-octets { + type yang:counter64; + } + leaf vfr-err-pkts { + type yang:counter64; + } + leaf vfr-err-octets { + type yang:counter64; + } + leaf vfr-tail-drop-pkts { + type yang:counter64; + } + leaf vfr-tail-drop-octets { + type yang:counter64; + } + leaf iphc-pkts { + type yang:counter64; + } + leaf iphc-octets { + type yang:counter64; + } + leaf multilink-cfg-pkts { + type yang:counter64; + } + leaf multilink-cfg-octets { + type yang:counter64; + } + leaf mlp-pkts { + type yang:counter64; + } + leaf mlp-octets { + type yang:counter64; + } + leaf min-tu-pkts { + type yang:counter64; + } + leaf min-tu-octets { + type yang:counter64; + } + leaf max-tu-pkts { + type yang:counter64; + } + leaf max-tu-octets { + type yang:counter64; + } + leaf ipv4-unclassified-pkts { + type yang:counter64; + } + leaf ipv4-unclassified-octets { + type yang:counter64; + } + leaf ipv6-unclassified-pkts { + type yang:counter64; + } + leaf ipv6-unclassified-octets { + type yang:counter64; + } + leaf ipv4-no-adj-pkts { + type yang:counter64; + } + leaf ipv4-no-adj-octets { + type yang:counter64; + } + leaf ipv4-null0-pkts { + type yang:counter64; + } + leaf ipv4-null0-octets { + type yang:counter64; + } + leaf ipv6-null0-pkts { + type yang:counter64; + } + leaf ipv6-null0-octets { + type yang:counter64; + } + leaf mpls-mismatch-linktype-pkts { + type yang:counter64; + } + leaf mpls-mismatch-linktype-octets { + type yang:counter64; + } + leaf mpls-frag-req-pkts { + type yang:counter64; + } + leaf mpls-frag-req-octets { + type yang:counter64; + } + leaf choice-oce-pkts { + type yang:counter64; + } + leaf choice-oce-octets { + type yang:counter64; + } + leaf unsupported-oce-pkts { + type yang:counter64; + } + leaf unsupported-oce-octets { + type yang:counter64; + } + leaf attn-invalid-spid-pkts { + type yang:counter64; + } + leaf attn-invalid-spid-octets { + type yang:counter64; + } + leaf inv-common-preamble-pkts { + type yang:counter64; + } + leaf inv-common-preamble-octets { + type yang:counter64; + } + leaf ext-drop-path-pkts { + type yang:counter64; + } + leaf ext-drop-path-octets { + type yang:counter64; + } + leaf frr-oce-no-backup-pkts { + type yang:counter64; + } + leaf frr-oce-no-backup-octets { + type yang:counter64; + } + leaf frr-oce-invalid-state-pkts { + type yang:counter64; + } + leaf frr-oce-invalid-state-octets { + type yang:counter64; + } + leaf bqs-oor-pkts { + type yang:counter64; + } + leaf bqs-oor-octets { + type yang:counter64; + } + leaf ess-bad-sess-uidb-pkts { + type yang:counter64; + } + leaf ess-bad-sess-uidb-octets { + type yang:counter64; + } + leaf ess-pktsb-missed-pkts { + type yang:counter64; + } + leaf ess-pktsb-missed-octets { + type yang:counter64; + } + leaf ess-unsup-pkt-type-pkts { + type yang:counter64; + } + leaf ess-unsup-pkt-type-octets { + type yang:counter64; + } + leaf ess-no-encap-info-pkts { + type yang:counter64; + } + leaf ess-no-encap-info-octets { + type yang:counter64; + } + leaf ess-inv-switch-mode-pkts { + type yang:counter64; + } + leaf ess-inv-switch-mode-octets { + type yang:counter64; + } + leaf inv-ppp-cp-pkt-pkts { + type yang:counter64; + } + leaf inv-ppp-cp-pkt-octets { + type yang:counter64; + } + leaf ppp-cxt-missed-pkts { + type yang:counter64; + } + leaf ppp-cxt-missed-octets { + type yang:counter64; + } + leaf ess-unbound-session-pkts { + type yang:counter64; + } + leaf ess-unbound-session-octets { + type yang:counter64; + } + leaf ess-pi-inv-subtype-pkts { + type yang:counter64; + } + leaf ess-pi-inv-subtype-octets { + type yang:counter64; + } + leaf ess-pi-state-err-pkts { + type yang:counter64; + } + leaf ess-pi-state-err-octets { + type yang:counter64; + } + leaf ess-inject-bad-hdr-pkts { + type yang:counter64; + } + leaf ess-inject-bad-hdr-octets { + type yang:counter64; + } + leaf ess-l2-hdr-too-big-pkts { + type yang:counter64; + } + leaf ess-l2-hdr-too-big-octets { + type yang:counter64; + } + leaf pppox-unconfigured-pkts { + type yang:counter64; + } + leaf pppox-unconfigured-octets { + type yang:counter64; + } + leaf pppoe-pkt-inv-hdr-pkts { + type yang:counter64; + } + leaf pppoe-pkt-inv-hdr-octets { + type yang:counter64; + } + leaf pppoe-pkt-bad-len-pkts { + type yang:counter64; + } + leaf pppoe-pkt-bad-len-octets { + type yang:counter64; + } + leaf pppoe-no-session-pkts { + type yang:counter64; + } + leaf pppoe-no-session-octets { + type yang:counter64; + } + leaf pppoe-inv-encap-info-pkts { + type yang:counter64; + } + leaf pppoe-inv-encap-info-octets { + type yang:counter64; + } + leaf ess-cac-pkts { + type yang:counter64; + } + leaf ess-cac-octets { + type yang:counter64; + } + leaf l2tp-unconfigured-pkts { + type yang:counter64; + } + leaf l2tp-unconfigured-octets { + type yang:counter64; + } + leaf l2tp-pkt-inv-hdr-pkts { + type yang:counter64; + } + leaf l2tp-pkt-inv-hdr-octets { + type yang:counter64; + } + leaf l2tp-pkt-bad-len-pkts { + type yang:counter64; + } + leaf l2tp-pkt-bad-len-octets { + type yang:counter64; + } + leaf l2tp-no-session-pkts { + type yang:counter64; + } + leaf l2tp-no-session-octets { + type yang:counter64; + } + leaf l2tp-pktsb-missed-pkts { + type yang:counter64; + } + leaf l2tp-pktsb-missed-octets { + type yang:counter64; + } + leaf l2tp-security-check-pkts { + type yang:counter64; + } + leaf l2tp-security-check-octets { + type yang:counter64; + } + leaf l2tp-bad-udp-chksum-pkts { + type yang:counter64; + } + leaf l2tp-bad-udp-chksum-octets { + type yang:counter64; + } + leaf l2tp-ooo-rx-pkt-pkts { + type yang:counter64; + } + leaf l2tp-ooo-rx-pkt-octets { + type yang:counter64; + } + leaf l2tp-exceed-tx-mtu-pkts { + type yang:counter64; + } + leaf l2tp-exceed-tx-mtu-octets { + type yang:counter64; + } + leaf ipsec-output-pkts { + type yang:counter64; + } + leaf ipsec-output-octets { + type yang:counter64; + } + leaf ipsec-ted-indicate-pkts { + type yang:counter64; + } + leaf ipsec-ted-indicate-octets { + type yang:counter64; + } + leaf ipsec-deny-drop-pkts { + type yang:counter64; + } + leaf ipsec-deny-drop-octets { + type yang:counter64; + } + leaf l2tp-cxt-missed-pkts { + type yang:counter64; + } + leaf l2tp-cxt-missed-octets { + type yang:counter64; + } + leaf l2tp-tx-seq-missed-pkts { + type yang:counter64; + } + leaf l2tp-tx-seq-missed-octets { + type yang:counter64; + } + leaf disabled-pkts { + type yang:counter64; + } + leaf disabled-octets { + type yang:counter64; + } + leaf ipv6-no-adj-pkts { + type yang:counter64; + } + leaf ipv6-no-adj-octets { + type yang:counter64; + } + leaf not-enabled-pkts { + type yang:counter64; + } + leaf not-enabled-octets { + type yang:counter64; + } + leaf special-multicast-obj-pkts { + type yang:counter64; + } + leaf special-multicast-obj-octets { + type yang:counter64; + } + leaf illegal-obj-pkts { + type yang:counter64; + } + leaf illegal-obj-octets { + type yang:counter64; + } + leaf unresolved-pkts { + type yang:counter64; + } + leaf unresolved-octets { + type yang:counter64; + } + leaf discard-pkts { + type yang:counter64; + } + leaf discard-octets { + type yang:counter64; + } + leaf ipv6mc-no-route-pkts { + type yang:counter64; + } + leaf ipv6mc-no-route-octets { + type yang:counter64; + } + leaf ipv6mc-rpf-failed-pkts { + type yang:counter64; + } + leaf ipv6mc-rpf-failed-octets { + type yang:counter64; + } + leaf ipv6mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf ipv6mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf ipv6mc-ttl-threshold-chk-failed-pkts { + type yang:counter64; + } + leaf ipv6mc-ttl-threshold-chk-failed-octets { + type yang:counter64; + } + leaf ipv6mc-extra-replica-pkts { + type yang:counter64; + } + leaf ipv6mc-extra-replica-octets { + type yang:counter64; + } + leaf layer2-switching-pkts { + type yang:counter64; + } + leaf layer2-switching-octets { + type yang:counter64; + } + leaf internal-intf-err-pkts { + type yang:counter64; + } + leaf internal-intf-err-octets { + type yang:counter64; + } + leaf sbc-police-punt-pkts { + type yang:counter64; + } + leaf sbc-police-punt-octets { + type yang:counter64; + } + leaf sbc-uidb-pkts { + type yang:counter64; + } + leaf sbc-uidb-octets { + type yang:counter64; + } + leaf sbc-sess-pkts { + type yang:counter64; + } + leaf sbc-sess-octets { + type yang:counter64; + } + leaf sbc-mmoh-invalid-replica-record-pkts { + type yang:counter64; + } + leaf sbc-mmoh-invalid-replica-record-octets { + type yang:counter64; + } + leaf mpls-ipv6-frag-req-pkts { + type yang:counter64; + } + leaf mpls-ipv6-frag-req-octets { + type yang:counter64; + } + leaf sw-mac-filter-pkts { + type yang:counter64; + } + leaf sw-mac-filter-octets { + type yang:counter64; + } + leaf tunnel-bad-pim-checksum-pkts { + type yang:counter64; + } + leaf tunnel-bad-pim-checksum-octets { + type yang:counter64; + } + leaf tunnel-unsupported-config-pkts { + type yang:counter64; + } + leaf tunnel-unsupported-config-octets { + type yang:counter64; + } + leaf firewall-no-forwarding-pkts { + type yang:counter64; + } + leaf firewall-no-forwarding-octets { + type yang:counter64; + } + leaf erspan-pkts { + type yang:counter64; + } + leaf erspan-octets { + type yang:counter64; + } + leaf ipv4-urpf-null-path-list-pkts { + type yang:counter64; + } + leaf ipv4-urpf-null-path-list-octets { + type yang:counter64; + } + leaf mpls-unclassified-pkts { + type yang:counter64; + } + leaf mpls-unclassified-octets { + type yang:counter64; + } + leaf mpls-eos-invalid-pkts { + type yang:counter64; + } + leaf mpls-eos-invalid-octets { + type yang:counter64; + } + leaf glean-adj-unsupport-linktype-pkts { + type yang:counter64; + } + leaf glean-adj-unsupport-linktype-octets { + type yang:counter64; + } + leaf mpls-label-oce-ptr-null-pkts { + type yang:counter64; + } + leaf mpls-label-oce-ptr-null-octets { + type yang:counter64; + } + leaf mpls-label-oce-invalid-label-pkts { + type yang:counter64; + } + leaf mpls-label-oce-invalid-label-octets { + type yang:counter64; + } + leaf mpls-label-oce-unsupport-linktype-pkts { + type yang:counter64; + } + leaf mpls-label-oce-unsupport-linktype-octets { + type yang:counter64; + } + leaf lookup-oce-should-drop-pkts { + type yang:counter64; + } + leaf lookup-oce-should-drop-octets { + type yang:counter64; + } + leaf lookup-oce-unsupport-linktype-pkts { + type yang:counter64; + } + leaf lookup-oce-unsupport-linktype-octets { + type yang:counter64; + } + leaf unsupport-linktype-no-route-pkts { + type yang:counter64; + } + leaf unsupport-linktype-no-route-octets { + type yang:counter64; + } + leaf unsupport-linktype-null0-pkts { + type yang:counter64; + } + leaf unsupport-linktype-null0-octets { + type yang:counter64; + } + leaf sr-te-remote-error-pkts { + type yang:counter64; + } + leaf sr-te-remote-error-octets { + type yang:counter64; + } + leaf ipv4-pop-pipe-php-ttl-expire-pkts { + type yang:counter64; + } + leaf ipv4-pop-pipe-php-ttl-expire-octets { + type yang:counter64; + } + leaf ipv4-pop-unf-uhp-ttl-expire-pkts { + type yang:counter64; + } + leaf ipv4-pop-unf-uhp-ttl-expire-octets { + type yang:counter64; + } + leaf ipv4-pop-unf-php-ttl-expire-pkts { + type yang:counter64; + } + leaf ipv4-pop-unf-php-ttl-expire-octets { + type yang:counter64; + } + leaf mpls-pop-pipe-ttl-expire-pkts { + type yang:counter64; + } + leaf mpls-pop-pipe-ttl-expire-octets { + type yang:counter64; + } + leaf mpls-pop-unf-uhp-ttl-expire-pkts { + type yang:counter64; + } + leaf mpls-pop-unf-uhp-ttl-expire-octets { + type yang:counter64; + } + leaf mpls-pop-unf-php-ttl-expire-pkts { + type yang:counter64; + } + leaf mpls-pop-unf-php-ttl-expire-octets { + type yang:counter64; + } + leaf label-pop-unsupport-linktype-pkts { + type yang:counter64; + } + leaf label-pop-unsupport-linktype-octets { + type yang:counter64; + } + leaf mpls-no-route-pkts { + type yang:counter64; + } + leaf mpls-no-route-octets { + type yang:counter64; + } + leaf mpls-icmp-invalid-hdr-pkts { + type yang:counter64; + } + leaf mpls-icmp-invalid-hdr-octets { + type yang:counter64; + } + leaf mpls-sanity-echo-req-pkts { + type yang:counter64; + } + leaf mpls-sanity-echo-req-octets { + type yang:counter64; + } + leaf mpls-sanity-drop-pkts { + type yang:counter64; + } + leaf mpls-sanity-drop-octets { + type yang:counter64; + } + leaf ess-unprov-session-pkts { + type yang:counter64; + } + leaf ess-unprov-session-octets { + type yang:counter64; + } + leaf firewall-policy-pkts { + type yang:counter64; + } + leaf firewall-policy-octets { + type yang:counter64; + } + leaf firewall-l4-pkts { + type yang:counter64; + } + leaf firewall-l4-octets { + type yang:counter64; + } + leaf firewall-l7-pkts { + type yang:counter64; + } + leaf firewall-l7-octets { + type yang:counter64; + } + leaf firewall-no-new-sessions-pkts { + type yang:counter64; + } + leaf firewall-no-new-sessions-octets { + type yang:counter64; + } + leaf firewall-not-initiator-pkts { + type yang:counter64; + } + leaf firewall-not-initiator-octets { + type yang:counter64; + } + leaf firewall-not-from-init-pkts { + type yang:counter64; + } + leaf firewall-not-from-init-octets { + type yang:counter64; + } + leaf gen-pkt-replication-pkts { + type yang:counter64; + } + leaf gen-pkt-replication-octets { + type yang:counter64; + } + leaf esf-l4r-bad-config-pkts { + type yang:counter64; + } + leaf esf-l4r-bad-config-octets { + type yang:counter64; + } + leaf esf-l4r-trans-unavail-pkts { + type yang:counter64; + } + leaf esf-l4r-trans-unavail-octets { + type yang:counter64; + } + leaf esf-pbhk-bad-config-pkts { + type yang:counter64; + } + leaf esf-pbhk-bad-config-octets { + type yang:counter64; + } + leaf esf-pbhk-unalloc-pkts { + type yang:counter64; + } + leaf esf-pbhk-unalloc-octets { + type yang:counter64; + } + leaf esf-pbhk-port-unavail-pkts { + type yang:counter64; + } + leaf esf-pbhk-port-unavail-octets { + type yang:counter64; + } + leaf esf-pbhk-port-notfound-pkts { + type yang:counter64; + } + leaf esf-pbhk-port-notfound-octets { + type yang:counter64; + } + leaf esf-pbhk-port-removed-pkts { + type yang:counter64; + } + leaf esf-pbhk-port-removed-octets { + type yang:counter64; + } + leaf mpls-no-adj-pkts { + type yang:counter64; + } + leaf mpls-no-adj-octets { + type yang:counter64; + } + leaf ipv4-adj-drop-pkts { + type yang:counter64; + } + leaf ipv4-adj-drop-octets { + type yang:counter64; + } + leaf ipv6-adj-drop-pkts { + type yang:counter64; + } + leaf ipv6-adj-drop-octets { + type yang:counter64; + } + leaf mpls-adj-drop-pkts { + type yang:counter64; + } + leaf mpls-adj-drop-octets { + type yang:counter64; + } + leaf bad-adj-pkts { + type yang:counter64; + } + leaf bad-adj-octets { + type yang:counter64; + } + leaf punt-policer-drop-pkts { + type yang:counter64; + } + leaf punt-policer-drop-octets { + type yang:counter64; + } + leaf punt-global-policer-drop-pkts { + type yang:counter64; + } + leaf punt-global-policer-drop-octets { + type yang:counter64; + } + leaf esf-tc-drop-pkts { + type yang:counter64; + } + leaf esf-tc-drop-octets { + type yang:counter64; + } + leaf esf-drl-drop-pkts { + type yang:counter64; + } + leaf esf-drl-drop-octets { + type yang:counter64; + } + leaf ess-ipsub-drop-pkts { + type yang:counter64; + } + leaf ess-ipsub-drop-octets { + type yang:counter64; + } + leaf ess-ipsub-fsol-drop-pkts { + type yang:counter64; + } + leaf ess-ipsub-fsol-drop-octets { + type yang:counter64; + } + leaf ess-ipsub-classifier-drop-pkts { + type yang:counter64; + } + leaf ess-ipsub-classifier-drop-octets { + type yang:counter64; + } + leaf ess-ipsub-ka-drop-pkts { + type yang:counter64; + } + leaf ess-ipsub-ka-drop-octets { + type yang:counter64; + } + leaf oam-loopback-pkts { + type yang:counter64; + } + leaf oam-loopback-octets { + type yang:counter64; + } + leaf unconfigured-ipv4-fia-pkts { + type yang:counter64; + } + leaf unconfigured-ipv4-fia-octets { + type yang:counter64; + } + leaf unconfigured-ipv6-fia-pkts { + type yang:counter64; + } + leaf unconfigured-ipv6-fia-octets { + type yang:counter64; + } + leaf unconfigured-mpls-fia-pkts { + type yang:counter64; + } + leaf unconfigured-mpls-fia-octets { + type yang:counter64; + } + leaf smi-disabled-pkts { + type yang:counter64; + } + leaf smi-disabled-octets { + type yang:counter64; + } + leaf oce-drop-adj-pkts { + type yang:counter64; + } + leaf oce-drop-adj-octets { + type yang:counter64; + } + leaf internal-pkts { + type yang:counter64; + } + leaf internal-octets { + type yang:counter64; + } + leaf inv-spa-hdr-pkts { + type yang:counter64; + } + leaf inv-spa-hdr-octets { + type yang:counter64; + } + leaf ppe-exception-pkts { + type yang:counter64; + } + leaf ppe-exception-octets { + type yang:counter64; + } + leaf internal-replication-pkts { + type yang:counter64; + } + leaf internal-replication-octets { + type yang:counter64; + } + leaf internal-recycle-tail-pkts { + type yang:counter64; + } + leaf internal-recycle-tail-octets { + type yang:counter64; + } + leaf internal-no-gpm-pkts { + type yang:counter64; + } + leaf internal-no-gpm-octets { + type yang:counter64; + } + leaf internal-no-channel-mem-pkts { + type yang:counter64; + } + leaf internal-no-channel-mem-octets { + type yang:counter64; + } + leaf ip-sia-hdr-err-pkts { + type yang:counter64; + } + leaf ip-sia-hdr-err-octets { + type yang:counter64; + } + leaf ip-sia-hop-limit-exceeded-pkts { + type yang:counter64; + } + leaf ip-sia-hop-limit-exceeded-octets { + type yang:counter64; + } + leaf ip-sia-processing-err-pkts { + type yang:counter64; + } + leaf ip-sia-processing-err-octets { + type yang:counter64; + } + leaf sslvpn-svi-invalid-h-pkts { + type yang:counter64; + } + leaf sslvpn-svi-invalid-h-octets { + type yang:counter64; + } + leaf esf-acct-exceed-drop-pkts { + type yang:counter64; + } + leaf esf-acct-exceed-drop-octets { + type yang:counter64; + } + leaf tcp-pkts { + type yang:counter64; + } + leaf tcp-octets { + type yang:counter64; + } + leaf invalid-encap-pkts { + type yang:counter64; + } + leaf invalid-encap-octets { + type yang:counter64; + } + leaf dsp-pkts { + type yang:counter64; + } + leaf dsp-octets { + type yang:counter64; + } + leaf mpls-csc-drop-pkts { + type yang:counter64; + } + leaf mpls-csc-drop-octets { + type yang:counter64; + } + leaf cstp-cdtp-inv-frame-pkts { + type yang:counter64; + } + leaf cstp-cdtp-inv-frame-octets { + type yang:counter64; + } + leaf cstp-cdtp-no-tunnel-pkts { + type yang:counter64; + } + leaf cstp-cdtp-no-tunnel-octets { + type yang:counter64; + } + leaf cstp-cdtp-unsup-frame-pkts { + type yang:counter64; + } + leaf cstp-cdtp-unsup-frame-octets { + type yang:counter64; + } + leaf esf-l4r-trans-sess-limit-pkts { + type yang:counter64; + } + leaf esf-l4r-trans-sess-limit-octets { + type yang:counter64; + } + leaf lisp-elig-oce-pkts { + type yang:counter64; + } + leaf lisp-elig-oce-octets { + type yang:counter64; + } + leaf lisp-misconfiguration-pkts { + type yang:counter64; + } + leaf lisp-misconfiguration-octets { + type yang:counter64; + } + leaf lisp-disabled-pkts { + type yang:counter64; + } + leaf lisp-disabled-octets { + type yang:counter64; + } + leaf lisp-decap-failed-pkts { + type yang:counter64; + } + leaf lisp-decap-failed-octets { + type yang:counter64; + } + leaf lisp-hash-lkup-failed-pkts { + type yang:counter64; + } + leaf lisp-hash-lkup-failed-octets { + type yang:counter64; + } + leaf lisp-failed-to-punt-lsb-mismatch-pkts { + type yang:counter64; + } + leaf lisp-failed-to-punt-lsb-mismatch-octets { + type yang:counter64; + } + leaf nat64-v6tov4-pkts { + type yang:counter64; + } + leaf nat64-v6tov4-octets { + type yang:counter64; + } + leaf nat64-v4tov6-pkts { + type yang:counter64; + } + leaf nat64-v4tov6-octets { + type yang:counter64; + } + leaf tunnel-sec-chk-fail-pkts { + type yang:counter64; + } + leaf tunnel-sec-chk-fail-octets { + type yang:counter64; + } + leaf servicewire-hdr-err-pkts { + type yang:counter64; + } + leaf servicewire-hdr-err-octets { + type yang:counter64; + } + leaf servicewire-hop-limit-exceeded-pkts { + type yang:counter64; + } + leaf servicewire-hop-limit-exceeded-octets { + type yang:counter64; + } + leaf servicewire-processing-err-pkts { + type yang:counter64; + } + leaf servicewire-processing-err-octets { + type yang:counter64; + } + leaf l2bd-pkts { + type yang:counter64; + } + leaf l2bd-octets { + type yang:counter64; + } + leaf tcp-bp-sslvpn-pkts { + type yang:counter64; + } + leaf tcp-bp-sslvpn-octets { + type yang:counter64; + } + leaf evc-efp-egress-filter-pkts { + type yang:counter64; + } + leaf evc-efp-egress-filter-octets { + type yang:counter64; + } + leaf sslvpn-svi-if-err-pkts { + type yang:counter64; + } + leaf sslvpn-svi-if-err-octets { + type yang:counter64; + } + leaf sslvpn-ctx-null-pkts { + type yang:counter64; + } + leaf sslvpn-ctx-null-octets { + type yang:counter64; + } + leaf sslvpn-ctx-not-alive-pkts { + type yang:counter64; + } + leaf sslvpn-ctx-not-alive-octets { + type yang:counter64; + } + leaf sslvpn-invalid-pkt-pkts { + type yang:counter64; + } + leaf sslvpn-invalid-pkt-octets { + type yang:counter64; + } + leaf sslvpn-socket-wr-err-pkts { + type yang:counter64; + } + leaf sslvpn-socket-wr-err-octets { + type yang:counter64; + } + leaf sslvpn-pkt-rc-err-pkts { + type yang:counter64; + } + leaf sslvpn-pkt-rc-err-octets { + type yang:counter64; + } + leaf sslvpn-null-rc-pkts { + type yang:counter64; + } + leaf sslvpn-null-rc-octets { + type yang:counter64; + } + leaf sslvpn-wrong-pkt-type-pkts { + type yang:counter64; + } + leaf sslvpn-wrong-pkt-type-octets { + type yang:counter64; + } + leaf sslvpn-not-ssl-record-pkts { + type yang:counter64; + } + leaf sslvpn-not-ssl-record-octets { + type yang:counter64; + } + leaf firewall-syncookie-pkts { + type yang:counter64; + } + leaf firewall-syncookie-octets { + type yang:counter64; + } + leaf l2bd-mac-security-violation-pkts { + type yang:counter64; + } + leaf l2bd-mac-security-violation-octets { + type yang:counter64; + } + leaf l2bd-src-filter-pkts { + type yang:counter64; + } + leaf l2bd-src-filter-octets { + type yang:counter64; + } + leaf l2bd-policy-pkts { + type yang:counter64; + } + leaf l2bd-policy-octets { + type yang:counter64; + } + leaf l2bd-repl-start-pkts { + type yang:counter64; + } + leaf l2bd-repl-start-octets { + type yang:counter64; + } + leaf l2bd-repl-end-pkts { + type yang:counter64; + } + leaf l2bd-repl-end-octets { + type yang:counter64; + } + leaf l2bd-recycle-tail-pkts { + type yang:counter64; + } + leaf l2bd-recycle-tail-octets { + type yang:counter64; + } + leaf l2bd-static-mac-move-pkts { + type yang:counter64; + } + leaf l2bd-static-mac-move-octets { + type yang:counter64; + } + leaf l2bd-bd-disabled-pkts { + type yang:counter64; + } + leaf l2bd-bd-disabled-octets { + type yang:counter64; + } + leaf l2bd-inject-no-sb-pkts { + type yang:counter64; + } + leaf l2bd-inject-no-sb-octets { + type yang:counter64; + } + leaf l2bd-inject-invalid-pkts { + type yang:counter64; + } + leaf l2bd-inject-invalid-octets { + type yang:counter64; + } + leaf l2bd-stp-state-pkts { + type yang:counter64; + } + leaf l2bd-stp-state-octets { + type yang:counter64; + } + leaf l2bd-storm-ctrl-pkts { + type yang:counter64; + } + leaf l2bd-storm-ctrl-octets { + type yang:counter64; + } + leaf sslvpn-coprocessor-err-pkts { + type yang:counter64; + } + leaf sslvpn-coprocessor-err-octets { + type yang:counter64; + } + leaf sslvpn-tail-drop-pkts { + type yang:counter64; + } + leaf sslvpn-tail-drop-octets { + type yang:counter64; + } + leaf ecfm-pkts { + type yang:counter64; + } + leaf ecfm-octets { + type yang:counter64; + } + leaf ipv4mc-oif-rpf-failed-pkts { + type yang:counter64; + } + leaf ipv4mc-oif-rpf-failed-octets { + type yang:counter64; + } + leaf ipv6mc-oif-rpf-failed-pkts { + type yang:counter64; + } + leaf ipv6mc-oif-rpf-failed-octets { + type yang:counter64; + } + leaf ipv6-pbr-pkts { + type yang:counter64; + } + leaf ipv6-pbr-octets { + type yang:counter64; + } + leaf sslvpn-coprocessor-state-not-set-pkts { + type yang:counter64; + } + leaf sslvpn-coprocessor-state-not-set-octets { + type yang:counter64; + } + leaf sslvpn-coprocessor-state-reply-not-set-pkts { + type yang:counter64; + } + leaf sslvpn-coprocessor-state-reply-not-set-octets { + type yang:counter64; + } + leaf sslvpn-neg-ssl-rec-pad-len-pkts { + type yang:counter64; + } + leaf sslvpn-neg-ssl-rec-pad-len-octets { + type yang:counter64; + } + leaf sslvpn-inv-ssl-rec-pkts { + type yang:counter64; + } + leaf sslvpn-inv-ssl-rec-octets { + type yang:counter64; + } + leaf sslvpn-not-ssl-rec-rc-pkts { + type yang:counter64; + } + leaf sslvpn-not-ssl-rec-rc-octets { + type yang:counter64; + } + leaf sslvpn-ssl-rec-not-pkt-pkts { + type yang:counter64; + } + leaf sslvpn-ssl-rec-not-pkt-octets { + type yang:counter64; + } + leaf sslvpn-add-ssl-rec-hdr-err-pkts { + type yang:counter64; + } + leaf sslvpn-add-ssl-rec-hdr-err-octets { + type yang:counter64; + } + leaf sslvpn-null-session-pkts { + type yang:counter64; + } + leaf sslvpn-null-session-octets { + type yang:counter64; + } + leaf sslvpn-invalid-session-pkts { + type yang:counter64; + } + leaf sslvpn-invalid-session-octets { + type yang:counter64; + } + leaf sslvpn-empty-pkt-pkts { + type yang:counter64; + } + leaf sslvpn-empty-pkt-octets { + type yang:counter64; + } + leaf ipv4-reass-tail-drop-pkts { + type yang:counter64; + } + leaf ipv4-reass-tail-drop-octets { + type yang:counter64; + } + leaf ipv6-reass-tail-drop-pkts { + type yang:counter64; + } + leaf ipv6-reass-tail-drop-octets { + type yang:counter64; + } + leaf ipv4mc-nat-in2out-pkts { + type yang:counter64; + } + leaf ipv4mc-nat-in2out-octets { + type yang:counter64; + } + leaf ipv4mc-nat-out2in-pkts { + type yang:counter64; + } + leaf ipv4mc-nat-out2in-octets { + type yang:counter64; + } + leaf fia-error-pkts { + type yang:counter64; + } + leaf fia-error-octets { + type yang:counter64; + } + leaf firewall-syncookie-max-dst-pkts { + type yang:counter64; + } + leaf firewall-syncookie-max-dst-octets { + type yang:counter64; + } + leaf ipv4-urpf-loose-failed-pkts { + type yang:counter64; + } + leaf ipv4-urpf-loose-failed-octets { + type yang:counter64; + } + leaf ipv4-urpf-strict-failed-pkts { + type yang:counter64; + } + leaf ipv4-urpf-strict-failed-octets { + type yang:counter64; + } + leaf ipv6-urpf-loose-failed-pkts { + type yang:counter64; + } + leaf ipv6-urpf-loose-failed-octets { + type yang:counter64; + } + leaf ipv6-urpf-strict-failed-pkts { + type yang:counter64; + } + leaf ipv6-urpf-strict-failed-octets { + type yang:counter64; + } + leaf ipv6-urpf-null-path-list-pkts { + type yang:counter64; + } + leaf ipv6-urpf-null-path-list-octets { + type yang:counter64; + } + leaf ipv6-urpf-no-fib-pkts { + type yang:counter64; + } + leaf ipv6-urpf-no-fib-octets { + type yang:counter64; + } + leaf unknown-mcast-pkt-type-pkts { + type yang:counter64; + } + leaf unknown-mcast-pkt-type-octets { + type yang:counter64; + } + leaf l2v4mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf l2v4mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf l2v6mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf l2v6mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf l2mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf l2mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf lsm-invalid-replica-record-pkts { + type yang:counter64; + } + leaf lsm-invalid-replica-record-octets { + type yang:counter64; + } + leaf cts-format-pkts { + type yang:counter64; + } + leaf cts-format-octets { + type yang:counter64; + } + leaf cts-not-enable-pkts { + type yang:counter64; + } + leaf cts-not-enable-octets { + type yang:counter64; + } + leaf idle-packet-pkts { + type yang:counter64; + } + leaf idle-packet-octets { + type yang:counter64; + } + leaf mfr-pkts { + type yang:counter64; + } + leaf mfr-octets { + type yang:counter64; + } + leaf ar-tx-pkts { + type yang:counter64; + } + leaf ar-tx-octets { + type yang:counter64; + } + leaf ar-rx-pkts { + type yang:counter64; + } + leaf ar-rx-octets { + type yang:counter64; + } + leaf ar-standby-pkts { + type yang:counter64; + } + leaf ar-standby-octets { + type yang:counter64; + } + leaf ar-fnf-clnup-pkts { + type yang:counter64; + } + leaf ar-fnf-clnup-octets { + type yang:counter64; + } + leaf mac-mcast-ip-nonmcast-pkts { + type yang:counter64; + } + leaf mac-mcast-ip-nonmcast-octets { + type yang:counter64; + } + leaf bfd-pkts { + type yang:counter64; + } + leaf bfd-octets { + type yang:counter64; + } + leaf bundle-oce-pkts { + type yang:counter64; + } + leaf bundle-oce-octets { + type yang:counter64; + } + leaf bqs-oor-pri-pkts { + type yang:counter64; + } + leaf bqs-oor-pri-octets { + type yang:counter64; + } + leaf bqs-oor-pak-pri-pkts { + type yang:counter64; + } + leaf bqs-oor-pak-pri-octets { + type yang:counter64; + } + leaf bqs-oor-vital-pkts { + type yang:counter64; + } + leaf bqs-oor-vital-octets { + type yang:counter64; + } + leaf epc-pkts { + type yang:counter64; + } + leaf epc-octets { + type yang:counter64; + } + leaf lisp-failed-to-punt-dynmaic-eid-config-pkts { + type yang:counter64; + } + leaf lisp-failed-to-punt-dynmaic-eid-config-octets { + type yang:counter64; + } + leaf sv-match-fail-pkts { + type yang:counter64; + } + leaf sv-match-fail-octets { + type yang:counter64; + } + leaf cblbf-null-repllist-pkts { + type yang:counter64; + } + leaf cblbf-null-repllist-octets { + type yang:counter64; + } + leaf cblbf-repl-fail-pkts { + type yang:counter64; + } + leaf cblbf-repl-fail-octets { + type yang:counter64; + } + leaf cblbf-repl-start-pkts { + type yang:counter64; + } + leaf cblbf-repl-start-octets { + type yang:counter64; + } + leaf cblbf-repl-end-pkts { + type yang:counter64; + } + leaf cblbf-repl-end-octets { + type yang:counter64; + } + leaf cblbf-recycle-tail-pkts { + type yang:counter64; + } + leaf cblbf-recycle-tail-octets { + type yang:counter64; + } + leaf cblbf-fwdint-down-pkts { + type yang:counter64; + } + leaf cblbf-fwdint-down-octets { + type yang:counter64; + } + leaf cable-p2pl-oce-ptr-null-pkts { + type yang:counter64; + } + leaf cable-p2pl-oce-ptr-null-octets { + type yang:counter64; + } + leaf cable-mc-invalid-replica-record-pkts { + type yang:counter64; + } + leaf cable-mc-invalid-replica-record-octets { + type yang:counter64; + } + leaf no-def-jib-pkts { + type yang:counter64; + } + leaf no-def-jib-octets { + type yang:counter64; + } + leaf no-inj-jib-pkts { + type yang:counter64; + } + leaf no-inj-jib-octets { + type yang:counter64; + } + leaf onefw-pkts { + type yang:counter64; + } + leaf onefw-octets { + type yang:counter64; + } + leaf ccm-tx-pkts { + type yang:counter64; + } + leaf ccm-tx-octets { + type yang:counter64; + } + leaf appnav-sn-pkt-invalid-pkts { + type yang:counter64; + } + leaf appnav-sn-pkt-invalid-octets { + type yang:counter64; + } + leaf appnav-internal-err-pkts { + type yang:counter64; + } + leaf appnav-internal-err-octets { + type yang:counter64; + } + leaf appnav-badroute-pkts { + type yang:counter64; + } + leaf appnav-badroute-octets { + type yang:counter64; + } + leaf appnav-notunnel-pkts { + type yang:counter64; + } + leaf appnav-notunnel-octets { + type yang:counter64; + } + leaf appnav-nosvcctx-pkts { + type yang:counter64; + } + leaf appnav-nosvcctx-octets { + type yang:counter64; + } + leaf appnav-inv-flow-state-pkts { + type yang:counter64; + } + leaf appnav-inv-flow-state-octets { + type yang:counter64; + } + leaf appnav-unexpected-pkt-pkts { + type yang:counter64; + } + leaf appnav-unexpected-pkt-octets { + type yang:counter64; + } + leaf rl2gp-non-tcb-pkts { + type yang:counter64; + } + leaf rl2gp-non-tcb-octets { + type yang:counter64; + } + leaf tunnel-pkt-sb-missed-pkts { + type yang:counter64; + } + leaf tunnel-pkt-sb-missed-octets { + type yang:counter64; + } + leaf fhs-pkt-invalid-pkts { + type yang:counter64; + } + leaf fhs-pkt-invalid-octets { + type yang:counter64; + } + leaf fhs-pkt-dropped-pkts { + type yang:counter64; + } + leaf fhs-pkt-dropped-octets { + type yang:counter64; + } + leaf tunnel-sgre-virtual-mac-mismatch-pkts { + type yang:counter64; + } + leaf tunnel-sgre-virtual-mac-mismatch-octets { + type yang:counter64; + } + leaf tunnel-sgre-unsupported-proto-pkts { + type yang:counter64; + } + leaf tunnel-sgre-unsupported-proto-octets { + type yang:counter64; + } + leaf mpls-gal-check-non-gal-dropped-pkts { + type yang:counter64; + } + leaf mpls-gal-check-non-gal-dropped-octets { + type yang:counter64; + } + leaf mpls-gal-check-non-eos-dropped-pkts { + type yang:counter64; + } + leaf mpls-gal-check-non-eos-dropped-octets { + type yang:counter64; + } + leaf mpls-gal-check-invalid-pkts { + type yang:counter64; + } + leaf mpls-gal-check-invalid-octets { + type yang:counter64; + } + leaf mpls-gal-exception-non-eos-dropped-pkts { + type yang:counter64; + } + leaf mpls-gal-exception-non-eos-dropped-octets { + type yang:counter64; + } + leaf mpls-gal-exception-non-gach-dropped-pkts { + type yang:counter64; + } + leaf mpls-gal-exception-non-gach-dropped-octets { + type yang:counter64; + } + leaf conf-sw-sess-pkts { + type yang:counter64; + } + leaf conf-sw-sess-octets { + type yang:counter64; + } + leaf tunnel-decap-too-many-times-pkts { + type yang:counter64; + } + leaf tunnel-decap-too-many-times-octets { + type yang:counter64; + } + leaf loadbalance-null0-pkts { + type yang:counter64; + } + leaf loadbalance-null0-octets { + type yang:counter64; + } + leaf gpm-tx-len-exceed-pkts { + type yang:counter64; + } + leaf gpm-tx-len-exceed-octets { + type yang:counter64; + } + leaf esf-ffr-drop-pkts { + type yang:counter64; + } + leaf esf-ffr-drop-octets { + type yang:counter64; + } + leaf ec-bundle-enq-pkts { + type yang:counter64; + } + leaf ec-bundle-enq-octets { + type yang:counter64; + } + leaf ec-link-tx-pkts { + type yang:counter64; + } + leaf ec-link-tx-octets { + type yang:counter64; + } + leaf pfrv3-probe-err-pkts { + type yang:counter64; + } + leaf pfrv3-probe-err-octets { + type yang:counter64; + } + leaf ovl-bad-pkt-pkts { + type yang:counter64; + } + leaf ovl-bad-pkt-octets { + type yang:counter64; + } + leaf ovl-l2-filter-pkts { + type yang:counter64; + } + leaf ovl-l2-filter-octets { + type yang:counter64; + } + leaf dpss-pkts { + type yang:counter64; + } + leaf dpss-octets { + type yang:counter64; + } + leaf tunnel-invalid-protocol-pkts { + type yang:counter64; + } + leaf tunnel-invalid-protocol-octets { + type yang:counter64; + } + leaf pfrv3-at-failure-pkts { + type yang:counter64; + } + leaf pfrv3-at-failure-octets { + type yang:counter64; + } + leaf ipv4-mcast-acl-pkts { + type yang:counter64; + } + leaf ipv4-mcast-acl-octets { + type yang:counter64; + } + leaf ipv6-mcast-acl-pkts { + type yang:counter64; + } + leaf ipv6-mcast-acl-octets { + type yang:counter64; + } + leaf pprl-sbrl-drop-pkts { + type yang:counter64; + } + leaf pprl-sbrl-drop-octets { + type yang:counter64; + } + leaf cbl-req-arl-drop-pkts { + type yang:counter64; + } + leaf cbl-req-arl-drop-octets { + type yang:counter64; + } + leaf cbl-rep-arl-drop-pkts { + type yang:counter64; + } + leaf cbl-rep-arl-drop-octets { + type yang:counter64; + } + leaf appnav-acgreloaddelay-pkts { + type yang:counter64; + } + leaf appnav-acgreloaddelay-octets { + type yang:counter64; + } + leaf ngfw-policy-pkts { + type yang:counter64; + } + leaf ngfw-policy-octets { + type yang:counter64; + } + leaf ngfw-divert-pkts { + type yang:counter64; + } + leaf ngfw-divert-octets { + type yang:counter64; + } + leaf pfrv3-blackhole-pkts { + type yang:counter64; + } + leaf pfrv3-blackhole-octets { + type yang:counter64; + } + leaf pppoe-fctl-pkts { + type yang:counter64; + } + leaf pppoe-fctl-octets { + type yang:counter64; + } + leaf lisp-sfltr-pkts { + type yang:counter64; + } + leaf lisp-sfltr-octets { + type yang:counter64; + } + leaf flowspec-pkts { + type yang:counter64; + } + leaf flowspec-octets { + type yang:counter64; + } + leaf identity-cft-error-pkts { + type yang:counter64; + } + leaf identity-cft-error-octets { + type yang:counter64; + } + leaf bad-us-jib-hdr-pkts { + type yang:counter64; + } + leaf bad-us-jib-hdr-octets { + type yang:counter64; + } + leaf too-many-mpls-lookup-oce-pkts { + type yang:counter64; + } + leaf too-many-mpls-lookup-oce-octets { + type yang:counter64; + } + leaf cable-prereg-not-cm-pkts { + type yang:counter64; + } + leaf cable-prereg-not-cm-octets { + type yang:counter64; + } + leaf invalid-virtual-id-pkts { + type yang:counter64; + } + leaf invalid-virtual-id-octets { + type yang:counter64; + } + leaf flow-queue-failure-id-pkts { + type yang:counter64; + } + leaf flow-queue-failure-id-octets { + type yang:counter64; + } + leaf l2es-input-invalid-tag-pkts { + type yang:counter64; + } + leaf l2es-input-invalid-tag-octets { + type yang:counter64; + } + leaf l2es-input-invalid-svi-pkts { + type yang:counter64; + } + leaf l2es-input-invalid-svi-octets { + type yang:counter64; + } + leaf svi-output-invalid-l2sb-pkts { + type yang:counter64; + } + leaf svi-output-invalid-l2sb-octets { + type yang:counter64; + } + leaf svi-input-invalid-mac-pkts { + type yang:counter64; + } + leaf svi-input-invalid-mac-octets { + type yang:counter64; + } + leaf svi-output-recycle-tail-pkts { + type yang:counter64; + } + leaf svi-output-recycle-tail-octets { + type yang:counter64; + } + leaf svi-output-repl-pkts { + type yang:counter64; + } + leaf svi-output-repl-octets { + type yang:counter64; + } + leaf svi-repl-end-pkts { + type yang:counter64; + } + leaf svi-repl-end-octets { + type yang:counter64; + } + leaf cws-ctx-id-not-found-mob-pkts { + type yang:counter64; + } + leaf cws-ctx-id-not-found-mob-octets { + type yang:counter64; + } + leaf cws-ctx-id-not-found-conn-pkts { + type yang:counter64; + } + leaf cws-ctx-id-not-found-conn-octets { + type yang:counter64; + } + leaf l2cp-cfg-action-pkts { + type yang:counter64; + } + leaf l2cp-cfg-action-octets { + type yang:counter64; + } + leaf perf-lic-policer-lo-pkts { + type yang:counter64; + } + leaf perf-lic-policer-lo-octets { + type yang:counter64; + } + leaf perf-lic-policer-hi-pkts { + type yang:counter64; + } + leaf perf-lic-policer-hi-octets { + type yang:counter64; + } + leaf hqf-tx-error-pkts { + type yang:counter64; + } + leaf hqf-tx-error-octets { + type yang:counter64; + } + leaf cmd-format-pkts { + type yang:counter64; + } + leaf cmd-format-octets { + type yang:counter64; + } + leaf utd-pkts { + type yang:counter64; + } + leaf utd-octets { + type yang:counter64; + } + leaf nat66-in2out-pkts { + type yang:counter64; + } + leaf nat66-in2out-octets { + type yang:counter64; + } + leaf nat66-out2in-pkts { + type yang:counter64; + } + leaf nat66-out2in-octets { + type yang:counter64; + } + leaf dsa-no-ip-pkts { + type yang:counter64; + } + leaf dsa-no-ip-octets { + type yang:counter64; + } + leaf cws-inter-error-pkts { + type yang:counter64; + } + leaf cws-inter-error-octets { + type yang:counter64; + } + leaf utd-sn-pkts { + type yang:counter64; + } + leaf utd-sn-octets { + type yang:counter64; + } + leaf mpls-el-invalid-tag-pkts { + type yang:counter64; + } + leaf mpls-el-invalid-tag-octets { + type yang:counter64; + } + leaf lisp-failed-to-punt-gsmr-enabled-pkts { + type yang:counter64; + } + leaf lisp-failed-to-punt-gsmr-enabled-octets { + type yang:counter64; + } + leaf schain-flow-action-pkts { + type yang:counter64; + } + leaf schain-flow-action-octets { + type yang:counter64; + } + leaf opendns-pkts { + type yang:counter64; + } + leaf opendns-octets { + type yang:counter64; + } + leaf capwap-err-pkts { + type yang:counter64; + } + leaf capwap-err-octets { + type yang:counter64; + } + leaf capwap-no-uidb-pkts { + type yang:counter64; + } + leaf capwap-no-uidb-octets { + type yang:counter64; + } + leaf dtls-err-pkts { + type yang:counter64; + } + leaf dtls-err-octets { + type yang:counter64; + } + leaf wlclnt-err-pkts { + type yang:counter64; + } + leaf wlclnt-err-octets { + type yang:counter64; + } + leaf wlclnt-fnf-v9-report-pkts { + type yang:counter64; + } + leaf wlclnt-fnf-v9-report-octets { + type yang:counter64; + } + leaf wlclnt-fnf-v9-err-pkts { + type yang:counter64; + } + leaf wlclnt-fnf-v9-err-octets { + type yang:counter64; + } + leaf cgacl-err-pkts { + type yang:counter64; + } + leaf cgacl-err-octets { + type yang:counter64; + } + leaf cgacl-lookup-miss-pkts { + type yang:counter64; + } + leaf cgacl-lookup-miss-octets { + type yang:counter64; + } + leaf cgacl-inv-stats-pkts { + type yang:counter64; + } + leaf cgacl-inv-stats-octets { + type yang:counter64; + } + leaf cgacl-match-pkts { + type yang:counter64; + } + leaf cgacl-match-octets { + type yang:counter64; + } + leaf cgacl-action-pkts { + type yang:counter64; + } + leaf cgacl-action-octets { + type yang:counter64; + } + leaf cgacl-pkt-type-pkts { + type yang:counter64; + } + leaf cgacl-pkt-type-octets { + type yang:counter64; + } + leaf cwfrag-err-pkts { + type yang:counter64; + } + leaf cwfrag-err-octets { + type yang:counter64; + } + leaf pathmgr-measurement-err-pkts { + type yang:counter64; + } + leaf pathmgr-measurement-err-octets { + type yang:counter64; + } + leaf pathmgr-select-err-pkts { + type yang:counter64; + } + leaf pathmgr-select-err-octets { + type yang:counter64; + } + leaf capwap-reass-frag-consm-pkts { + type yang:counter64; + } + leaf capwap-reass-frag-consm-octets { + type yang:counter64; + } + leaf capwap-reass-alloc-err-pkts { + type yang:counter64; + } + leaf capwap-reass-alloc-err-octets { + type yang:counter64; + } + leaf capwap-reass-frag-err-pkts { + type yang:counter64; + } + leaf capwap-reass-frag-err-octets { + type yang:counter64; + } + leaf redistrib-err-bad-dst-pkts { + type yang:counter64; + } + leaf redistrib-err-bad-dst-octets { + type yang:counter64; + } + leaf redistrib-err-sb-trans-fail-pkts { + type yang:counter64; + } + leaf redistrib-err-sb-trans-fail-octets { + type yang:counter64; + } + leaf redistrib-err-ph-alc-fail-pkts { + type yang:counter64; + } + leaf redistrib-err-ph-alc-fail-octets { + type yang:counter64; + } + leaf redistrib-err-not-sup-pkts { + type yang:counter64; + } + leaf redistrib-err-not-sup-octets { + type yang:counter64; + } + leaf redistrib-fifo-tail-drop-pkts { + type yang:counter64; + } + leaf redistrib-fifo-tail-drop-octets { + type yang:counter64; + } + leaf redistrib-no-credits-pkts { + type yang:counter64; + } + leaf redistrib-no-credits-octets { + type yang:counter64; + } + leaf max-indirect-exceeded-pkts { + type yang:counter64; + } + leaf max-indirect-exceeded-octets { + type yang:counter64; + } + leaf punt-intf-drop-pkts { + type yang:counter64; + } + leaf punt-intf-drop-octets { + type yang:counter64; + } + leaf srh-pkt-truncated-in-gpm-pkts { + type yang:counter64; + } + leaf srh-pkt-truncated-in-gpm-octets { + type yang:counter64; + } + leaf srh-invalid-extension-pkts { + type yang:counter64; + } + leaf srh-invalid-extension-octets { + type yang:counter64; + } + leaf swport-pkts { + type yang:counter64; + } + leaf swport-octets { + type yang:counter64; + } + leaf swport-disabled-pkts { + type yang:counter64; + } + leaf swport-disabled-octets { + type yang:counter64; + } + leaf swport-sanity-check-pkts { + type yang:counter64; + } + leaf swport-sanity-check-octets { + type yang:counter64; + } + leaf swport-vp-state-pkts { + type yang:counter64; + } + leaf swport-vp-state-octets { + type yang:counter64; + } + leaf swport-mac-conflict-pkts { + type yang:counter64; + } + leaf swport-mac-conflict-octets { + type yang:counter64; + } + leaf swport-stby-pkts { + type yang:counter64; + } + leaf swport-stby-octets { + type yang:counter64; + } + leaf swport-tx-stby-pkts { + type yang:counter64; + } + leaf swport-tx-stby-octets { + type yang:counter64; + } + leaf switch-l2m-pkts { + type yang:counter64; + } + leaf switch-l2m-octets { + type yang:counter64; + } + leaf switch-l2m-igmp-pkts { + type yang:counter64; + } + leaf switch-l2m-igmp-octets { + type yang:counter64; + } + leaf switch-l2m-mld-pkts { + type yang:counter64; + } + leaf switch-l2m-mld-octets { + type yang:counter64; + } + leaf switch-l2m-lookup-miss-pkts { + type yang:counter64; + } + leaf switch-l2m-lookup-miss-octets { + type yang:counter64; + } + leaf switch-l2m-sanity-check-pkts { + type yang:counter64; + } + leaf switch-l2m-sanity-check-octets { + type yang:counter64; + } + leaf bier-invalid-replica-record-pkts { + type yang:counter64; + } + leaf bier-invalid-replica-record-octets { + type yang:counter64; + } + leaf bier-snaity-pkts { + type yang:counter64; + } + leaf bier-snaity-octets { + type yang:counter64; + } + leaf cable-oob-us-sess-invalid-pkts { + type yang:counter64; + } + leaf cable-oob-us-sess-invalid-octets { + type yang:counter64; + } + leaf cable-oob-us-src-id-invalid-pkts { + type yang:counter64; + } + leaf cable-oob-us-src-id-invalid-octets { + type yang:counter64; + } + leaf cable-oob-us-pkt-invalid-pkts { + type yang:counter64; + } + leaf cable-oob-us-pkt-invalid-octets { + type yang:counter64; + } + leaf cbl-oob-null-repllist-pkts { + type yang:counter64; + } + leaf cbl-oob-null-repllist-octets { + type yang:counter64; + } + leaf cbl-oob-repl-fail-pkts { + type yang:counter64; + } + leaf cbl-oob-repl-fail-octets { + type yang:counter64; + } + leaf cbl-oob-add-hdr-fail-pkts { + type yang:counter64; + } + leaf cbl-oob-add-hdr-fail-octets { + type yang:counter64; + } + leaf cbl-oob-repl-end-pkts { + type yang:counter64; + } + leaf cbl-oob-repl-end-octets { + type yang:counter64; + } + leaf cbl-oob-recycle-tail-pkts { + type yang:counter64; + } + leaf cbl-oob-recycle-tail-octets { + type yang:counter64; + } + leaf cbl-oob-repl-uidb-invalid-pkts { + type yang:counter64; + } + leaf cbl-oob-repl-uidb-invalid-octets { + type yang:counter64; + } + leaf cbl-oob-repl-sess-invalid-pkts { + type yang:counter64; + } + leaf cbl-oob-repl-sess-invalid-octets { + type yang:counter64; + } + leaf cbl-oob-null-repl-info-pkts { + type yang:counter64; + } + leaf cbl-oob-null-repl-info-octets { + type yang:counter64; + } + leaf nid-vlan-mismatch-pkts { + type yang:counter64; + } + leaf nid-vlan-mismatch-octets { + type yang:counter64; + } + leaf pfrv3-loop-pkts { + type yang:counter64; + } + leaf pfrv3-loop-octets { + type yang:counter64; + } + leaf dialer-list-pkts { + type yang:counter64; + } + leaf dialer-list-octets { + type yang:counter64; + } + leaf udp-pkts { + type yang:counter64; + } + leaf udp-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-cookie-mismatch-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-cookie-mismatch-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-minmtu-error-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-minmtu-error-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-cookieflag-error-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-cookieflag-error-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-mac-mismatch-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-mac-mismatch-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-vlanid-mismatch-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-vlanid-mismatch-octets { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-unsupported-proto-pkts { + type yang:counter64; + } + leaf tunnel-l2tpv3oipv6-unsupported-proto-octets { + type yang:counter64; + } + leaf pfrv3-stickiness-pkts { + type yang:counter64; + } + leaf pfrv3-stickiness-octets { + type yang:counter64; + } + leaf cbl-sid-exceed-pkts { + type yang:counter64; + } + leaf cbl-sid-exceed-octets { + type yang:counter64; + } + leaf sdwan-pkts { + type yang:counter64; + } + leaf sdwan-octets { + type yang:counter64; + } + leaf sdwan-generic-pkts { + type yang:counter64; + } + leaf sdwan-generic-octets { + type yang:counter64; + } + leaf sdwan-implicit-acl-pkts { + type yang:counter64; + } + leaf sdwan-implicit-acl-octets { + type yang:counter64; + } + leaf sdwan-acl-pkts { + type yang:counter64; + } + leaf sdwan-acl-octets { + type yang:counter64; + } + leaf sdwan-bfd-pkts { + type yang:counter64; + } + leaf sdwan-bfd-octets { + type yang:counter64; + } + leaf sdwan-app-route-policy-pkts { + type yang:counter64; + } + leaf sdwan-app-route-policy-octets { + type yang:counter64; + } + leaf sdwan-data-policy-pkts { + type yang:counter64; + } + leaf sdwan-data-policy-octets { + type yang:counter64; + } + leaf sdwan-interface-policy-pkts { + type yang:counter64; + } + leaf sdwan-interface-policy-octets { + type yang:counter64; + } + leaf sdwan-tunnel-lkup-pkts { + type yang:counter64; + } + leaf sdwan-tunnel-lkup-octets { + type yang:counter64; + } + leaf sdwan-tloc-ext-pkts { + type yang:counter64; + } + leaf sdwan-tloc-ext-octets { + type yang:counter64; + } + leaf tunnel-vxlan-mismatch-pkts { + type yang:counter64; + } + leaf tunnel-vxlan-mismatch-octets { + type yang:counter64; + } + leaf l2bd-mac-security-move-pkts { + type yang:counter64; + } + leaf l2bd-mac-security-move-octets { + type yang:counter64; + } + leaf l2bd-mac-security-unknown-pkts { + type yang:counter64; + } + leaf l2bd-mac-security-unknown-octets { + type yang:counter64; + } + leaf dapr-noroute-pkts { + type yang:counter64; + } + leaf dapr-noroute-octets { + type yang:counter64; + } + leaf epbr-pkts { + type yang:counter64; + } + leaf epbr-octets { + type yang:counter64; + } + leaf sdvt-sn-pkts { + type yang:counter64; + } + leaf sdvt-sn-octets { + type yang:counter64; + } + leaf sdvt-pkts { + type yang:counter64; + } + leaf sdvt-octets { + type yang:counter64; + } + leaf tunnel-vxlan-policer-pkts { + type yang:counter64; + } + leaf tunnel-vxlan-policer-octets { + type yang:counter64; + } + leaf tunnel-vrf-mux-pkts { + type yang:counter64; + } + leaf tunnel-vrf-mux-octets { + type yang:counter64; + } + leaf tunnel-vrf-demux-pkts { + type yang:counter64; + } + leaf tunnel-vrf-demux-octets { + type yang:counter64; + } + leaf frag-invalid-pkt-pkts { + type yang:counter64; + } + leaf frag-invalid-pkt-octets { + type yang:counter64; + } + leaf frag-invalid-ip6pkt-pkts { + type yang:counter64; + } + leaf frag-invalid-ip6pkt-octets { + type yang:counter64; + } + leaf crypto-offload-output-pkts { + type yang:counter64; + } + leaf crypto-offload-output-octets { + type yang:counter64; + } + leaf cable-prng-expected-drops-pkts { + type yang:counter64; + } + leaf cable-prng-expected-drops-octets { + type yang:counter64; + } + leaf ipv4-egress-intf-enforce-pkts { + type yang:counter64; + } + leaf ipv4-egress-intf-enforce-octets { + type yang:counter64; + } + leaf ipv6-egress-intf-enforce-pkts { + type yang:counter64; + } + leaf ipv6-egress-intf-enforce-octets { + type yang:counter64; + } + leaf cable-dhcp-bad-len-pkts { + type yang:counter64; + } + leaf cable-dhcp-bad-len-octets { + type yang:counter64; + } + leaf l2bd-uuf-suppression-drops-pkts { + type yang:counter64; + } + leaf l2bd-uuf-suppression-drops-octets { + type yang:counter64; + } + leaf wpan-drop-pkts { + type yang:counter64; + } + leaf wpan-drop-octets { + type yang:counter64; + } + leaf l2bd-sisf-ctrl-drops-pkts { + type yang:counter64; + } + leaf l2bd-sisf-ctrl-drops-octets { + type yang:counter64; + } + leaf cable-recycle-queue-pkts { + type yang:counter64; + } + leaf cable-recycle-queue-octets { + type yang:counter64; + } + leaf pcgw-pdu-sess-drops-pkts { + type yang:counter64; + } + leaf pcgw-pdu-sess-drops-octets { + type yang:counter64; + } + leaf pcgw-gtpu-drops-pkts { + type yang:counter64; + } + leaf pcgw-gtpu-drops-octets { + type yang:counter64; + } + leaf pcgw-punt-inject-drops-pkts { + type yang:counter64; + } + leaf pcgw-punt-inject-drops-octets { + type yang:counter64; + } + leaf pcgw-pcacl-drop-pkts { + type yang:counter64; + } + leaf pcgw-pcacl-drop-octets { + type yang:counter64; + } + leaf vtcp-err-drops-pkts { + type yang:counter64; + } + leaf vtcp-err-drops-octets { + type yang:counter64; + } + leaf vtcp-invalid-tx-drops-pkts { + type yang:counter64; + } + leaf vtcp-invalid-tx-drops-octets { + type yang:counter64; + } + leaf vtcp-pa-err-drops-pkts { + type yang:counter64; + } + leaf vtcp-pa-err-drops-octets { + type yang:counter64; + } + leaf vtcp-mem-err-drops-pkts { + type yang:counter64; + } + leaf vtcp-mem-err-drops-octets { + type yang:counter64; + } + leaf vtcp-punt-err-drops-pkts { + type yang:counter64; + } + leaf vtcp-punt-err-drops-octets { + type yang:counter64; + } + leaf fbd-oom-err-pkts { + type yang:counter64; + } + leaf fbd-oom-err-octets { + type yang:counter64; + } + leaf memory-interface-pkts { + type yang:counter64; + } + leaf memory-interface-octets { + type yang:counter64; + } + leaf no-interface-resources-pkts { + type yang:counter64; + } + leaf no-interface-resources-octets { + type yang:counter64; + } + leaf dlep-unconfigured-pkts { + type yang:counter64; + } + leaf dlep-unconfigured-octets { + type yang:counter64; + } + leaf cable-arp-autoreply-pkts { + type yang:counter64; + } + leaf cable-arp-autoreply-octets { + type yang:counter64; + } + leaf unisr-no-match-pkts { + type yang:counter64; + } + leaf unisr-no-match-octets { + type yang:counter64; + } + leaf unisr-src-filtered-pkts { + type yang:counter64; + } + leaf unisr-src-filtered-octets { + type yang:counter64; + } + leaf dlep-mcast-inv-encap-info-pkts { + type yang:counter64; + } + leaf dlep-mcast-inv-encap-info-octets { + type yang:counter64; + } + leaf dlep-mcast-phy2vmi-lookup-fail-pkts { + type yang:counter64; + } + leaf dlep-mcast-phy2vmi-lookup-fail-octets { + type yang:counter64; + } + leaf dlep-mcast-vmi2phy-lookup-fail-pkts { + type yang:counter64; + } + leaf dlep-mcast-vmi2phy-lookup-fail-octets { + type yang:counter64; + } + leaf cable-lc-to-sup-punt-drop-pkts { + type yang:counter64; + } + leaf cable-lc-to-sup-punt-drop-octets { + type yang:counter64; + } + leaf bad-coff-buffer-pkts { + type yang:counter64; + } + leaf bad-coff-buffer-octets { + type yang:counter64; + } + leaf pa-pkt-not-supported-pkts { + type yang:counter64; + } + leaf pa-pkt-not-supported-octets { + type yang:counter64; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-qos.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-qos.yang new file mode 100644 index 000000000..ee5a1c472 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-qos.yang @@ -0,0 +1,537 @@ +module Cisco-IOS-XE-qos { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-qos"; + prefix ios-qos; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Quality of Service (QoS) Yang Model. + Copyright (c) 2016-2019, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Moved deprecated nodes to obsolete"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "Added the qos-overhead-accounting support"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Added the status deprecated in the leaves of table-map for RFC compliance"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Fixed table-map command"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping queue-size-grouping { + leaf queue-size-1 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-2 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-3 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-4 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-5 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-6 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-7 { + type uint8 { + range "1..100"; + } + } + leaf queue-size-8 { + type uint8 { + range "1..100"; + } + } + } + + grouping config-interface-wrr-queue-grouping { + container wrr-queue { + description + "Configure weighted round-robin xmt queues"; + container bandwidth { + description + "Configure WRR minimum bandwidth with weights or percentages"; + choice bandwidth-choice { + case a { + leaf weight-1 { + type uint8 { + range "0..255"; + } + } + leaf weight-2 { + type uint8 { + range "0..255"; + } + } + leaf weight-3 { + type uint8 { + range "0..255"; + } + } + leaf weight-4 { + type uint8 { + range "0..255"; + } + } + leaf weight-5 { + type uint8 { + range "0..255"; + } + } + leaf weight-6 { + type uint8 { + range "0..255"; + } + } + leaf weight-7 { + type uint8 { + range "0..255"; + } + } + } + case b { + container percent { + leaf percent-1 { + type uint8 { + range "0..100"; + } + } + leaf percent-2 { + type uint8 { + range "0..100"; + } + } + leaf percent-3 { + type uint8 { + range "0..100"; + } + } + leaf percent-4 { + type uint8 { + range "0..100"; + } + } + leaf percent-5 { + type uint8 { + range "0..100"; + } + } + leaf percent-6 { + type uint8 { + range "0..100"; + } + } + leaf percent-7 { + type uint8 { + range "0..100"; + } + } + } + } + } + } + list cos-map { + description + "Configure cos-map for a queue threshold"; + key "queue-id threshold-id"; + leaf queue-id { + type uint8 { + range "1..3"; + } + } + leaf threshold-id { + type uint8 { + range "1..8"; + } + } + leaf-list cos-values { + max-elements 8; + type uint8 { + range "0..7"; + } + } + } + container queue-limit { + description + "Configure queue-limit"; + leaf weight-a { + type uint8 { + range "0..100"; + } + } + leaf weight-b { + type uint8 { + range "0..100"; + } + } + leaf weight-c { + type uint8 { + range "0..100"; + } + } + } + container random-detect { + description + "Configure random-detect"; + list max-threshold { + description + "Max threshold for WRED"; + key "id"; + leaf id { + type uint8 { + range "1..3"; + } + } + uses queue-size-grouping; + } + list min-threshold { + description + "Min threshold for WRED"; + key "id"; + leaf id { + type uint8 { + range "1..3"; + } + } + uses queue-size-grouping; + } + } + list threshold { + description + "Configure queue tail-drop thresholds"; + key "id"; + leaf id { + type uint8 { + range "1..3"; + } + } + uses queue-size-grouping; + } + } + } + + grouping config-qos-grouping { + container account { + description + "Additional lengths to be accounted by QoS Features"; + container layer-all { + description + "All layers, including L1"; + leaf encapsulation { + description + "Account Layer 1 Encapsulation when applying QoS features"; + type empty; + } + } + container layer2 { + description + "Accounting Layer 2 headers"; + container encapsulation { + description + "Account Layer 2 Encapsulation when applying QoS features"; + leaf arpa { + description + "ARPA Encapsulation Size (18 bytes)"; + type empty; + } + leaf dot1q { + description + "IEEE 802.1q Encapsulation Size (22 bytes)"; + type empty; + } + leaf isl { + description + "ISL Encapsulation Size (48 bytes)"; + type empty; + } + container length { + description + "Layer2 Encapsulation length in bytes"; + presence "true"; + leaf byte-length { + description + "Layer2 Encapsulation length in bytes, <0-0>"; + type int8; + } + } + } + } + } + container control-packets { + description + "Enable QoS on control packets"; + presence "true"; + leaf bpdu-range { + description + "Enable QoS on BPDU-range packets"; + type empty; + } + leaf cdp-vtp { + description + "Enable QoS on CDP and VTP packets"; + type empty; + } + leaf eapol { + description + "Enable QoS on EAPOL packets"; + type empty; + } + leaf lldp { + description + "Enable QoS on LLDP packets"; + type empty; + } + leaf protocol-tunnel { + description + "Enable QoS on protocol tunneled packets"; + type empty; + } + leaf sstp { + description + "Enable QoS on SSTP packets"; + type empty; + } + } + container preserve { + description + "Preserve packet header bits"; + container marking { + description + "Preserve cos/tos header bits"; + leaf hipriority { + description + "Preserve marking in high priority generated control packets"; + type empty; + } + } + container mpls { + description + "Preserve MPLS packet header bits"; + leaf exp { + description + "Preserve MPLS EXP packet header bits"; + type empty; + } + } + } + container trace { + description + "QoS trace log settings"; + container resize { + description + "resize trace log"; + leaf size { + description + "buffer size in bytes"; + type int32; + } + leaf all { + description + "all trace logs"; + type int32; + } + leaf error { + description + "error trace log"; + type int32; + } + leaf event { + description + "event trace log"; + type int32; + } + leaf warning { + description + "warning trace log"; + type int32; + } + } + } + leaf diffservmib { + description + "RFC3289 support for QoS policy-maps"; + type empty; + } + container queue-softmax-multiplier { + if-feature "ios-features:qos-qsm"; + description + "global multiplier(%) for queue soft buffer maximal size"; + leaf value { + description + "multiplier(%) 100 - 1200"; + type int16 { + range "100..1200"; + } + } + } + } + + grouping config-table-map-grouping { + leaf default { + description + "the default behavior for setting value not found in the table map"; + type union { + type uint8 { + range "0..99"; + } + type enumeration { + enum copy; + enum ignore; + } + } + default "copy"; + } + list map-list { + description + "map to-value from from-value"; + key "from"; + leaf from { + description + "map from value"; + type uint8 { + range "0..99"; + } + } + leaf to { + description + "map to value"; + mandatory true; + type uint8 { + range "0..99"; + } + } + } + list map { + description + "map to-value from from-value"; + status obsolete; + key "from to"; + leaf from { + status obsolete; + description + "map from value"; + type uint8 { + range "0..63"; + } + } + leaf to { + status obsolete; + description + "map to value"; + type uint8 { + range "0..63"; + } + } + } + } + + grouping config-qos-overhead-accounting-grouping { + container qos-overhead-accounting { + container qos-overhead-bytes { + description + "Configure positive or negative bytes"; + leaf pos_neg { + type enumeration { + enum positive; + enum negative; + } + } + leaf value { + type uint32 { + range "0..48"; + } + } + } + list enable { + description + "Choose the interface"; + key "ethernet value"; + leaf ethernet { + type enumeration { + enum GigabitEthernet; + enum TenGigabitEthernet; + } + } + leaf value { + type string { + pattern '[0-1]/[0-5]/([0-9]|[1-2][0-9]|[3][0-1])'; + } + } + } + } + } + + augment "/ios:native/ios:qos" { + uses config-qos-grouping; + } + + augment "/ios:native/ios:table-map" { + uses config-table-map-grouping { + if-feature "ios-features:table-map"; + } + } + + augment "/ios:native" { + uses config-qos-overhead-accounting-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket-oper.yang new file mode 100644 index 000000000..136a273c0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket-oper.yang @@ -0,0 +1,310 @@ +module Cisco-IOS-XE-rawsocket-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rawsocket-oper"; + prefix raw-socket-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Rawsocket operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef rs-mode { + type enumeration { + enum rs-mode-server { + value 0; + description + "Server mode"; + } + enum rs-mode-client { + value 1; + description + "Client mode"; + } + } + description + "Mode of operation for the connection"; + } + + typedef rs-state { + type enumeration { + enum rs-state-down { + value 0; + description + "State DOWN"; + } + enum rs-state-up { + value 1; + description + "State UP"; + } + } + description + "State of the connection"; + } + + grouping connection-stats { + description + "Connection statistics for a line"; + leaf async-line { + type string; + description + "Name of the async line"; + } + leaf tty { + type uint32; + description + "TTY ID"; + } + leaf vrf { + type string; + description + "VRF name"; + } + leaf num-sessions { + type uint32; + description + "Number of active sessions"; + } + leaf tcp-in-bytes { + type uint64; + description + "Total input bytes"; + } + leaf tcp-out-bytes { + type uint64; + description + "Total output bytes"; + } + leaf tcp-to-tty-frames { + type uint64; + description + "Total TCP frames sent to TTY"; + } + leaf tty-to-tcp-frames { + type uint64; + description + "Total TCP frames received from TTY"; + } + } + + grouping rs-session-info-key { + description + "Session information list key"; + leaf async-line { + type string; + description + "Name of the async line"; + } + leaf destination-ip { + type inet:ip-address; + description + "Destination IP for the connection"; + } + leaf destination-port { + type uint16; + description + "Destination port for the connection"; + } + } + + grouping rs-session-info-params { + description + "Session information parameters"; + leaf tty { + type uint32; + description + "TTY ID"; + } + leaf vrf { + type string; + description + "VRF name"; + } + leaf idle-timeout { + type uint32; + description + "Idle timeout for the connection (in minutes)"; + } + leaf mode { + type raw-socket-ios-xe-oper:rs-mode; + description + "Mode of operation"; + } + leaf local-ip { + type inet:ip-address; + description + "Local IP for the connection"; + } + leaf local-port { + type uint16; + description + "Local port for the connection"; + } + leaf socket { + type uint32; + description + "Data socket associated with the connection"; + } + leaf start-time { + type yang:date-and-time; + description + "Start Time"; + } + leaf last-active-time { + type yang:date-and-time; + description + "Last Active Time"; + } + } + + grouping rs-client-state-key { + description + "Client state key"; + leaf async-line { + type string; + description + "Name of the async line"; + } + leaf destination-ip { + type inet:ip-address; + description + "Destination IP for the connection"; + } + leaf destination-port { + type uint16; + description + "Destination port for the connection"; + } + } + + grouping rs-client-state-params { + description + "Client state parameters"; + leaf tty { + type uint32; + description + "TTY ID"; + } + leaf local-ip { + type inet:ip-address; + description + "Local IP for the connection"; + } + leaf local-port { + type uint16; + description + "Local port for the connection"; + } + leaf state { + type raw-socket-ios-xe-oper:rs-state; + description + "State the connection"; + } + } + + grouping tcp { + description + "Rawsocket TCP Operational Data"; + list rs-tcp-stats { + key "async-line"; + description + "Rawsocket TCP Statistics"; + uses raw-socket-ios-xe-oper:connection-stats; + } + list rs-tcp-sessions { + key "async-line destination-ip destination-port"; + description + "Rawsocket TCP Sessions"; + uses raw-socket-ios-xe-oper:rs-session-info-key; + uses raw-socket-ios-xe-oper:rs-session-info-params; + } + list rs-tcp-clients-state { + key "async-line destination-ip destination-port"; + description + "Rawsocket TCP Clients State"; + uses raw-socket-ios-xe-oper:rs-client-state-key; + uses raw-socket-ios-xe-oper:rs-client-state-params; + } + } + + grouping udp { + description + "Rawsocket UDP Operational Data"; + list rs-udp-stats { + key "async-line"; + description + "Rawsocket UDP Statistics"; + uses raw-socket-ios-xe-oper:connection-stats; + } + list rs-udp-sessions { + key "async-line destination-ip destination-port"; + description + "Rawsocket UDP Sessions"; + uses raw-socket-ios-xe-oper:rs-session-info-key; + uses raw-socket-ios-xe-oper:rs-session-info-params; + } + list rs-udp-clients-state { + key "async-line destination-ip destination-port"; + description + "Rawsocket UDP Clients State"; + uses raw-socket-ios-xe-oper:rs-client-state-key; + uses raw-socket-ios-xe-oper:rs-client-state-params; + } + } + + container rawsocket-oper-data { + config false; + description + "Operational state of Rawsocket"; + container rs-udp { + presence "rs-udp"; + description + "Rawsocket UDP Operational Data"; + uses raw-socket-ios-xe-oper:udp; + } + container rs-tcp { + presence "rs-tcp"; + description + "Rawsocket TCP Operational Data"; + uses raw-socket-ios-xe-oper:tcp; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket.yang new file mode 100644 index 000000000..fe0c17015 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rawsocket.yang @@ -0,0 +1,481 @@ +module Cisco-IOS-XE-rawsocket { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rawsocket"; + prefix ios-rawsocket; + + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Rawsocket Yang model. + Copyright (c)2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added when statement for tcp and udp container"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-03-01 { + description + "- Added support for async-line-range + - Add max-retries leaf under tcp container"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Add support for media-type and duplex"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "- Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-rawsocket-grouping { + container packet-length { + description + "packet length"; + when 'current()/../tcp or current()/../udp'; + leaf packet-length-value { + description + "packet size (byte) to trigger tx"; + type uint16 { + range "10..1400"; + } + } + leaf fragment-off { + description + "frame send in full, packet size could exceed packet-length"; + type empty; + } + } + leaf packet-timer { + description + "timer(ms) to trigger tx, default (15)"; + when 'current()/../tcp or current()/../udp'; + type uint16 { + range "3..1000"; + } + default "15"; + } + leaf special-char { + description + "character (ASCII value) to trigger tx"; + when 'current()/../tcp or current()/../udp'; + type uint8 { + range "0..255"; + } + } + container tcp { + description + "protocol tcp"; + when '/ios:native/ios:interface/ios:Serial[ios:name = current()/../../ios:first-name]/ios:encapsulation/ios:raw-tcp'; + leaf tcp-session { + description + "number of tcp session allowed, default (32)"; + type uint8 { + range "1..32"; + } + default "32"; + } + list client { + description + "raw tcp client mode"; + max-elements 32; + key "destination-ip destination-port"; + leaf destination-ip { + description + "destination ip address"; + type inet:ipv4-address; + } + leaf destination-port { + description + "destination port number"; + type uint16 { + range "1..65535"; + } + } + leaf optional-local-ip { + description + "optional local ip address"; + type inet:ipv4-address; + } + leaf optional-local-port { + description + "optional local port number"; + type uint16 { + range "1..65535"; + } + } + } + leaf max-retries { + description + "tcp session idle timeout (minutes), default (5)"; + type uint16 { + range "1..1000"; + } + default "10"; + } + leaf idle-timeout { + description + "tcp session idle timeout (minutes), default (5)"; + type uint8 { + range "1..120"; + } + default "5"; + } + leaf dscp { + description + "Set DSCP value in IP packet"; + type union { + type uint8 { + range "0..63"; + } + type enumeration { + enum af11; + enum af12; + enum af13; + enum af21; + enum af22; + enum af23; + enum af31; + enum af32; + enum af33; + enum af41; + enum af42; + enum af43; + enum cs1; + enum cs2; + enum cs3; + enum cs4; + enum cs5; + enum cs6; + enum cs7; + enum default; + enum ef; + } + } + } + container server { + description + "raw tcp server mode"; + leaf local-port { + description + "local port number"; + type uint16 { + range "1..65535"; + } + } + leaf local-ip { + description + "local ip address"; + when '../local-port'; + type inet:ipv4-address; + } + } + } + container udp { + description + "protocol udp"; + when '/ios:native/ios:interface/ios:Serial[ios:name = current()/../../ios:first-name]/ios:encapsulation/ios:raw-udp'; + list connection { + description + "raw connection mode"; + max-elements 32; + key "destination-ip destination-port"; + leaf destination-ip { + description + "destination ip address"; + type inet:ipv4-address; + } + leaf destination-port { + description + "destination port number"; + type uint16 { + range "1..65535"; + } + } + leaf local-port { + description + "local port number"; + type uint16 { + range "1..65535"; + } + } + leaf optional-local-ip { + description + "optional local ip address"; + type inet:ipv4-address; + } + } + } + } + + grouping config-rawsocket-grouping-deprecated { + container packet-length { + status deprecated; + description + "packet length"; + when 'current()/../tcp or current()/../udp'; + leaf packet-length-value { + status deprecated; + description + "packet size (byte) to trigger tx"; + type uint16 { + range "10..1400"; + } + } + leaf fragment-off { + status deprecated; + description + "frame send in full, packet size could exceed packet-length"; + type empty; + } + } + leaf packet-timer { + status deprecated; + description + "timer(ms) to trigger tx, default (15)"; + when 'current()/../tcp or current()/../udp'; + type uint16 { + range "3..1000"; + } + default "15"; + } + leaf special-char { + status deprecated; + description + "character (ASCII value) to trigger tx"; + when 'current()/../tcp or current()/../udp'; + type uint8 { + range "0..255"; + } + } + container tcp { + status deprecated; + description + "protocol tcp"; + leaf tcp-session { + status deprecated; + description + "number of tcp session allowed, default (32)"; + type uint8 { + range "1..32"; + } + default "32"; + } + list client { + status deprecated; + description + "raw tcp client mode"; + max-elements 32; + key "destination-ip destination-port"; + leaf destination-ip { + status deprecated; + description + "destination ip address"; + type inet:ipv4-address; + } + leaf destination-port { + status deprecated; + description + "destination port number"; + type uint16 { + range "1..65535"; + } + } + leaf optional-local-ip { + status deprecated; + description + "optional local ip address"; + type inet:ipv4-address; + } + leaf optional-local-port { + status deprecated; + description + "optional local port number"; + type uint16 { + range "1..65535"; + } + } + } + leaf idle-timeout { + status deprecated; + description + "tcp session idle timeout (minutes), default (5)"; + type uint8 { + range "1..120"; + } + default "5"; + } + leaf dscp { + status deprecated; + description + "Set DSCP value in IP packet"; + type union { + type uint8 { + range "0..63"; + } + type enumeration { + enum af11; + enum af12; + enum af13; + enum af21; + enum af22; + enum af23; + enum af31; + enum af32; + enum af33; + enum af41; + enum af42; + enum af43; + enum cs1; + enum cs2; + enum cs3; + enum cs4; + enum cs5; + enum cs6; + enum cs7; + enum default; + enum ef; + } + } + } + container server { + status deprecated; + description + "raw tcp server mode"; + leaf local-port { + status deprecated; + description + "local port number"; + type uint16 { + range "1..65535"; + } + } + leaf local-ip { + status deprecated; + description + "local ip address"; + when '../local-port'; + type inet:ipv4-address; + } + } + } + container udp { + status deprecated; + description + "protocol udp"; + list connection { + status deprecated; + description + "raw connection mode"; + max-elements 32; + key "destination-ip destination-port"; + leaf destination-ip { + status deprecated; + description + "destination ip address"; + type inet:ipv4-address; + } + leaf destination-port { + status deprecated; + description + "destination port number"; + type uint16 { + range "1..65535"; + } + } + leaf local-port { + status deprecated; + description + "local port number"; + type uint16 { + range "1..65535"; + } + } + leaf optional-local-ip { + status deprecated; + description + "optional local ip address"; + type inet:ipv4-address; + } + } + } + } + + augment "/ios:native/ios:line/ios:async-line-single" { + container raw-socket { + description + "rawsocket configuration"; + uses config-rawsocket-grouping; + } + } + + augment "/ios:native/ios:line/ios:async-line-range" { + container raw-socket { + description + "rawsocket configuration"; + uses config-rawsocket-grouping; + } + } + + augment "/ios:native/ios:line/ios:async-line" { + container raw-socket { + description + "rawsocket configuration"; + status deprecated; + uses config-rawsocket-grouping-deprecated; + } + } + + augment "/ios:native/ios:interface/ios:Async" { + leaf media-type { + description + "Media type of async interface"; + type enumeration { + enum rs232 { + description + "RS232"; + } + enum rs485 { + description + "RS485"; + } + } + } + leaf duplex-mode { + when "../media-type = 'rs485'"; + type enumeration { + enum full-duplex; + enum half-duplex; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-common-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-common-types.yang new file mode 100644 index 000000000..e8022068e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-common-types.yang @@ -0,0 +1,62 @@ +module Cisco-IOS-XE-red-app-common-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-red-app-common-types"; + prefix red-app-comm-ios-xe-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for redundancy application notification data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef rg-app-role { + type enumeration { + enum rg-role-unknown { + value 0; + description + "Redundancy application group role unknown"; + } + enum rg-role-init { + value 1; + description + "Redundancy application group role init"; + } + enum rg-role-standby { + value 2; + description + "Redundancy application group role standby"; + } + enum rg-role-active { + value 3; + description + "Redundancy application group role active"; + } + } + description + "Redundancy application group role"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-events.yang new file mode 100644 index 000000000..b7601c1cf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-red-app-events.yang @@ -0,0 +1,80 @@ +module Cisco-IOS-XE-red-app-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-red-app-events"; + prefix red-app-events; + + import Cisco-IOS-XE-red-app-common-types { + prefix red-app-comm-ios-xe-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for redundancy application notification data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping red-app-events { + description + "Redundancy group information"; + leaf rg-id { + type uint32; + description + "Key for application group"; + } + leaf sys-time { + type yang:date-and-time; + description + "Time when the last role change occurred"; + } + leaf site-id { + type uint32; + description + "Site identifier"; + } + leaf sys-ip-addr { + type inet:ip-address; + description + "Local system address"; + } + leaf role { + type red-app-comm-ios-xe-types:rg-app-role; + description + "Redundancy application role"; + } + } + + notification red-event { + description + "Redundancy application group role notification"; + uses red-app-events:red-app-events; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rg-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rg-oper.yang new file mode 100644 index 000000000..922de2bc5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rg-oper.yang @@ -0,0 +1,98 @@ +module Cisco-IOS-XE-rg-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rg-oper"; + prefix rg-ios-xe-oper; + + import Cisco-IOS-XE-red-app-common-types { + prefix red-app-comm-ios-xe-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for redundancy application operational data. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping red-app-group { + description + "Redundancy group information"; + leaf rg-id { + type uint32; + description + "Key for application group"; + } + leaf sys-time { + type yang:date-and-time; + description + "Time when the last role change occurred"; + } + leaf site-id { + type uint32; + description + "Site identifier"; + } + leaf sys-ip-addr { + type inet:ip-address; + description + "Local system address"; + } + leaf role { + type red-app-comm-ios-xe-types:rg-app-role; + description + "Redundancy application role"; + } + leaf group-name { + type string; + description + "Redundancy application group name"; + } + leaf-list vpn-id { + type uint32; + max-elements 65536; + ordered-by user; + description + "List of Redundancy application group VPN IDs"; + } + } + + container rg-oper-data { + config false; + description + "This is top level container for redundancy application operational data"; + list red-app-group { + key "rg-id"; + description + "Redundancy application group information"; + uses rg-ios-xe-oper:red-app-group; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rip.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rip.yang new file mode 100644 index 000000000..c6cd8ac2a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rip.yang @@ -0,0 +1,3037 @@ +module Cisco-IOS-XE-rip { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rip"; + prefix ios-rip; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-bgp { + prefix ios-bgp; + } + import Cisco-IOS-XE-eigrp { + prefix ios-eigrp; + } + import Cisco-IOS-XE-isis { + prefix ios-isis; + } + import Cisco-IOS-XE-ospf { + prefix ios-ospf; + } + import Cisco-IOS-XE-ospfv3 { + prefix ios-ospfv3; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Routing Information Protocol (RIP) Yang model. + Copyright (c) 2016-2017, 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Obsolete nodes: prefix-gateway, distance-list, auto-summary"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-11-01 { + description + "Removed must constraint from redistribute ospf process id. + Update BGP redistribute list deprecating the leafref"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-11-01 { + description + "Added id leaf under distribute-list under af vrf and af unicast. + Added grouping for distribute list under ospf. + Enabled RIPng commands for Vlan interfaces. + Fixed an issue with redistribute isis. + Added omp-route-tag leaf. + Fixed redistribute ospf model. + Added omp-route-tag leaf for RIPng. + Added support of metric-offset and summary-address for ripng interfaces. + Updated summary-address from leaf to leaf-list. + Updated default values for auto-summary-fix leaf. + Obsolete disable passive-interface in RIPv2 model. + Changed passive-interface model to block configuration switch between passive-interface default and passive-interface . + Corrected the redistribute isis behaviour during deletion. + isis default level-2 is made to appear by default. + Restricting redistribute isis creation until router isis is created. + Added traffic-share model under address-family vrf. + Added string pattern support for offset-list ID under address-family vrf. + Update redistribute bgp list. + Obsolete the isis-area list under the deprecated isis container. + Deprecating internal container under redistribute ospf"; + cisco-semver:module-version "3.0.0"; + } + revision 2021-07-01 { + description + "Added on-passive leaf under address-family-vrf-grouping. + Obsolete interface-routing-id, isis-tag, vrf nodes under distribute list. + Fixed the issue of no auto-summary not getting saved in CDB. + Added redistribute omp. + Added redistribute ospfv3. + Support to configure both gateway and prefix under distribute-list together. + Fixed issue in deletion of redistribute configuration."; + cisco-semver:module-version "2.0.0"; + } + revision 2021-03-01 { + description + "Added default value for maximum path node"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-09-20 { + description + "Changed to leafref for interface ip rip id from type string"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-04-12 { + description + "Send ipv6 rip vrf-mode enable before address-family in ipv6 router rip"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef default-access-list-id-type { + type union { + type uint32 { + range "1 .. 199"; + } + type uint32 { + range "1300 .. 2699"; + } + } + } + + typedef access-list-id-type { + type union { + type default-access-list-id-type; + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef default-offset-list-id-type { + type union { + type uint32 { + range "0 .. 99"; + } + type uint32 { + range "1300 .. 1999"; + } + } + } + + typedef offset-list-id-type { + type union { + type default-offset-list-id-type; + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef offset-list-in-out-type { + type enumeration { + enum in; + enum out; + } + } + + grouping distribute-list-grouping { + container distribute-list { + description + "Filter networks in routing updates"; + list accesslist { + key "in-out"; + leaf in-out { + type ios-types:access-list-in-out-type; + } + } + list accesslist-ifname { + key "in-out interface"; + leaf in-out { + type ios-types:access-list-in-out-type; + } + leaf interface { + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + status obsolete; + type string; + } + } + list accesslist-prefix-gateway { + key "in-out"; + leaf in-out { + type ios-types:access-list-in-out-type; + } + leaf prefix { + description + "Filter prefixes in routing updates"; + type string; + } + leaf gateway { + description + "Filtering incoming updates based on gateway"; + type string; + } + leaf prefix-gateway { + status obsolete; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + type string; + } + } + list accesslist-prefix-gateway-ifname { + key "in-out interface"; + leaf in-out { + type ios-types:access-list-in-out-type; + } + leaf interface { + type string; + } + leaf prefix { + description + "Filter prefixes in routing updates"; + type string; + } + leaf gateway { + description + "Filtering incoming updates based on gateway"; + type string; + } + leaf prefix-gateway { + status obsolete; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + status obsolete; + type string; + } + } + } + } + + grouping router-rip-grouping { + uses address-family-vrf-grouping; + leaf flash-update-threshold { + description + "Specify flash update threshold in second"; + type uint8 { + range "0 .. 30"; + } + } + leaf input-queue { + description + "Specify input queue depth"; + type uint16 { + range "0 .. 1024"; + } + default "150"; + } + leaf output-delay { + description + "Interpacket delay for RIP updates"; + type uint8 { + range "8 .. 50"; + } + } + container passive-interface { + description + "Suppress routing updates on an interface"; + leaf default-all-interfaces { + description + "Suppress routing updates on all interfaces"; + must 'not (../interfaces)' { + error-message "Remove existing passive-interface configuration."; + } + type empty; + } + leaf-list interfaces { + description + "Suppress routing updates on a particular interface"; + must 'not (../default-all-interfaces)' { + error-message "Remove existing passive-interface configuration."; + } + type string; + } + choice passive-interface-choice { + status deprecated; + leaf default { + status deprecated; + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + status deprecated; + type string; + } + } + } + container disable { + status obsolete; + when '../passive-interface/default'; + list passive-interface { + status obsolete; + key "interface"; + leaf interface { + status obsolete; + type string; + } + } + } + } + + grouping default-redistribute-grouping { + container connected { + presence "Connected"; + description + "Connected"; + uses rip-metric-route-map-grouping; + } + list bgp-redistribute-v2 { + description + "Border Gateway Protocol (BGP)"; + key "as-number"; + leaf as-number { + type ios-types:bgp-as-number-type; + } + uses rip-metric-route-map-grouping; + } + list bgp-redistribute { + description + "DEPRECATED - please use bgp-redistribute-new"; + status deprecated; + key "as-number"; + leaf as-number { + status deprecated; + type leafref { + path "/ios:native/ios:router/ios-bgp:bgp/ios-bgp:id"; + } + } + uses rip-metric-route-map-grouping-deprecated; + } + list bgp { + description + "OBSOLETE - please use bgp-redistribute"; + status obsolete; + key "as-number"; + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + status obsolete; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + status obsolete; + type string; + } + } + } + list eigrp { + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + type uint16 { + range "1 .. 65535"; + } + } + uses rip-metric-route-map-grouping; + } + container isis-no-area { + description + "ISO IS-IS"; + presence "true"; + must '/ios:native/ios:router/ios-isis:isis' { + error-message "Create 'redistribute isis' after 'router isis' and delete is before the deletion of 'router isis'."; + } + uses redist-isis-grouping; + } + container isis-area-tag { + description + "ISO IS-IS area-tag"; + list isis { + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + description + "ISO IS-IS area-tag"; + must '/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis[ios-isis:area-tag=current()]' { + error-message "Create 'redistribute isis ' after 'router isis ' and delete is before the deletion of 'router isis '."; + } + type string; + } + uses redist-isis-grouping; + } + } + container isis { + status deprecated; + presence "ISO IS-IS"; + description + "ISO IS-IS"; + list isis-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + container rip-isis-redist { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + } + container rip-isis-redist { + status deprecated; + leaf isis-level-routes { + status deprecated; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + container rip-metric-route-map { + status deprecated; + container metric { + status deprecated; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + status deprecated; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status deprecated; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status deprecated; + description + "Route map reference"; + type string; + } + } + } + } + container iso-igrp { + presence "IGRP for OSI networks"; + description + "IGRP for OSI networks"; + list isoigrp-list { + description + "Border Gateway Protocol (BGP)"; + key "iso-area-tag"; + leaf iso-area-tag { + type string; + } + uses rip-iso-igrp-metric-route-map-grouping; + } + uses rip-iso-igrp-metric-route-map-grouping; + } + container mobile { + presence "Mobile routes"; + description + "Mobile routes"; + uses rip-metric-route-map-grouping; + } + container odr { + presence "On Demand stub Routes"; + description + "On Demand stub Routes"; + uses rip-metric-route-map-grouping; + } + container omp { + presence "true"; + description + "Overlay Management Protocol"; + uses rip-metric-route-map-grouping; + } + list ospf { + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + type uint16 { + range "1 .. 65535"; + } + } + list vrf { + description + "VPN Routing/Forwarding Instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + container match { + description + "Redistribution of OSPF routes"; + leaf internal-leaf { + description + "Redistribute OSPF internal routes"; + type empty; + } + container internal { + status deprecated; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses rip-metric-route-map-grouping-deprecated; + } + leaf external1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses rip-metric-route-map-grouping; + } + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container match { + description + "Redistribution of OSPF routes"; + leaf internal-leaf { + description + "Redistribute OSPF internal routes"; + type empty; + } + container internal { + status deprecated; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses rip-metric-route-map-grouping-deprecated; + } + leaf external1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses rip-metric-route-map-grouping; + container external { + status obsolete; + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + container nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + } + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + container rip-metric-route-map { + status deprecated; + container metric { + status deprecated; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status deprecated; + leaf metric-value { + status deprecated; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status deprecated; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status deprecated; + description + "Route map reference"; + type string; + } + } + } + list ospfv3 { + description + "OSPFv3"; + key "proc-id"; + leaf proc-id { + description + "Process ID"; + type uint16 { + range "1 .. 65535"; + } + } + container match { + description + "Redistribution of OSPF routes"; + leaf internal { + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external1 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + container static { + presence "Static routes"; + description + "Static routes"; + uses rip-metric-route-map-grouping; + } + container rip { + presence "Routing Information Protocol (RIP)"; + description + "Routing Information Protocol (RIP)"; + uses rip-metric-route-map-grouping; + } + } + + grouping ipv6-router-rip-redistribute-grouping { + leaf include-connected { + description + "Include connected"; + type empty; + } + uses ios-bgp:metric-route-map-grouping; + } + + grouping distance-grouping { + container distance { + description + "Define an administrative distance"; + leaf distance-leaf { + type uint8 { + range "1..255"; + } + } + list distance-list-config { + key "ip mask"; + leaf number { + mandatory true; + type uint8 { + range "1 .. 255"; + } + } + leaf ip { + type inet:ipv4-address; + } + leaf mask { + type inet:ipv4-address; + } + } + list distance-list { + status obsolete; + key "number ip mask"; + leaf number { + status obsolete; + type uint8 { + range "1 .. 255"; + } + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + } + } + } + + grouping offset-list-grouping { + list offset-list { + description + "Add or subtract offset from RIP metrics"; + key "in-out"; + leaf in-out { + description + "Perform offset on incoming/outgoing updates"; + type offset-list-in-out-type; + } + leaf offset { + description + "Offset"; + mandatory true; + type uint8 { + range "0 .. 16"; + } + } + } + container offset-list-interface { + description + "Add or subtract offset from RIP metrics per interface"; + list offset-list { + description + "Add or subtract offset from RIP metrics"; + key "in-out interface"; + leaf id { + description + "Access list of networks to apply offset"; + mandatory true; + type offset-list-id-type; + } + leaf in-out { + description + "Perform offset on incoming/outgoing updates"; + type offset-list-in-out-type; + } + leaf offset { + description + "Offset"; + type uint8 { + range "0..16"; + } + mandatory true; + } + leaf interface { + description + "Interface name"; + type string; + } + } + } + } + + grouping default-router-rip-grouping { + leaf auto-summary-fix { + description + "Enable automatic network number summarization"; + type boolean; + } + leaf auto-summary { + status obsolete; + description + "Enable automatic network number summarization"; + type empty; + } + leaf maximum-paths { + description + "Forward packets over multiple paths"; + type uint8 { + range "1 .. 32"; + } + default "4"; + } + list neighbor { + description + "Specify a neighbor router"; + key "ip"; + leaf ip { + description + "Neighbor IP address"; + type inet:ipv4-address; + } + leaf bfd { + description + "Enable BFD for the neighbor"; + type empty; + } + } + list network { + description + "Enable routing on an IP network"; + key "ip"; + leaf ip { + type inet:ipv4-address; + } + } + leaf validate-update-source { + description + "Perform sanity checks against source address of routing updates"; + type boolean; + default "true"; + } + } + + grouping address-family-vrf-grouping { + uses default-router-rip-grouping; + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Distribute a default route"; + description + "Distribute a default route"; + leaf route-map { + description + "Route-map reference"; + type string; + } + } + } + leaf default-metric { + description + "Set metric of redistributed routes"; + type uint32 { + range "1..4294967295"; + } + } + uses distance-grouping; + uses distribute-list-grouping; + uses offset-list-grouping; + leaf omp-route-tag { + description + "Enable automatic RIPv2 route tag for OMP routes"; + type boolean; + default "true"; + } + container redistribute { + description + "Redistribute information from another routing protocol"; + uses rip-metric-route-map-grouping; + uses default-redistribute-grouping; + } + container timers { + description + "Adjust routing timers"; + container basic { + description + "Basic routing protocol update timers"; + leaf updates { + description + "Interval between updates for RIP"; + type uint32 { + range "1 .. 2147483"; + } + default "30"; + } + leaf invalid { + description + "Invalid"; + type uint32 { + range "1 .. 2147483"; + } + default "180"; + } + leaf holddown { + description + "Holddown"; + type uint32 { + range "0 .. 2147483"; + } + default "180"; + } + leaf flush { + description + "Flush"; + type uint32 { + range "1 .. 2147483"; + } + default "240"; + } + leaf sleep { + description + "Sleep time, in milliseconds"; + type uint32 { + range "1 .. 2147483647"; + } + } + } + } + container traffic-share { + description + "How to compute traffic share over alternate paths"; + container min { + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + leaf version { + description + "Set routing protocol version"; + type uint8 { + range "1 .. 2"; + } + } + } + + grouping redist-isis-grouping { + container rip-isis-redist { + leaf isis-level-routes { + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + uses rip-metric-route-map-grouping; + } + } + + grouping rip-metric-route-map-grouping { + container rip-metric-route-map { + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + description + "Route map reference"; + type string; + } + } + } + + grouping rip-iso-igrp-metric-route-map-grouping { + container rip-metric-route-map { + leaf route-map { + description + "Route map reference"; + type string; + } + container metric { + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + description + "Transparently redistribute metric"; + type empty; + } + } + } + } + } + + grouping ipv6-router-rip-grouping { + leaf distance { + description + "Administrative distance"; + type uint8 { + range "1..254"; + } + } + uses ios-eigrp:config-eigrp-distribute-list-classic-ipv6-grouping; + leaf maximum-paths { + description + "Forward packets over multiple paths"; + type uint32 { + range "1..32"; + } + } + leaf omp-route-tag { + description + "Enable automatic IPv6 RIP route tag for OMP routes"; + type boolean; + default "true"; + } + leaf poison-reverse { + description + "Poison reverse updates"; + type empty; + } + container redistribute { + description + "Redistribute IPv6 prefixes from another routing protocol"; + container application { + description + "Application Protocol"; + uses ipv6-router-rip-redistribute-grouping; + } + container lisp { + description + "Locator ID Separation Protocol (LISP)"; + uses ipv6-router-rip-redistribute-grouping; + } + container nd { + description + "Neighbor Discovery"; + uses ipv6-router-rip-redistribute-grouping; + } + uses default-redistribute-grouping; + } + leaf split-horizon { + description + "Split horizon updates"; + type empty; + } + container timers { + description + "Adjust routing timers"; + leaf update { + description + "Update period"; + type uint16 { + range "5..65535"; + } + } + leaf timeout { + description + "Route timeout period"; + type uint16 { + range "1..65535"; + } + } + leaf holddown { + description + "Route holddown period"; + type uint16 { + range "0..65535"; + } + } + leaf garbage-collection { + description + "Route garbage collection period"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping config-ipv6-router-rip-grouping { + list rip { + description + "IPv6 Routing Information Protocol (RIPv6)"; + key "id"; + leaf id { + type string; + } + container address-family { + description + "Enter Address Family command mode"; + container ipv6 { + description + "Address family"; + list vrf { + description + "Specify parameters for a VPN Routing/Forwarding instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses ipv6-router-rip-grouping; + } + } + } + uses ipv6-router-rip-grouping; + } + } + + grouping config-router-rip-grouping { + container rip { + presence "true"; + description + "Routing Information Protocol (RIP)"; + uses router-rip-grouping { + refine "auto-summary-fix" { + default "true"; + } + refine "redistribute/ospf/process-id"; + refine "redistribute/ospfv3/proc-id" { + must '/ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:unicast' { + error-message "Create 'redistribute ospfv3' after 'router ospfv3 address-family' and delete it before the deletion of 'router ospfv3 address-family'."; + } + } + } + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address family"; + container unicast { + status obsolete; + uses router-rip-grouping-obsolete { + refine "auto-summary-fix" { + default "true"; + } + } + } + list vrf { + description + "Specify parameters for a VPN Routing/Forwarding instance"; + key "name"; + leaf name { + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses address-family-vrf-grouping { + refine "auto-summary-fix" { + default "false"; + } + refine "redistribute/ospf/process-id" { + must '/ios:native/ios:router/ios-ospf:router-ospf/ios-ospf:ospf/ios-ospf:process-id-vrf[ios-ospf:id=current()]' { + error-message "Create 'redistribute ospf' after 'router ospf vrf' and delete is before the deletion of 'router ospf vrf'."; + } + } + refine "redistribute/ospfv3/proc-id" { + must '(/ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]) and (../../../ios-rip:name=/ios:native/ios:router/ios-ospfv3:ospfv3[ios-ospfv3:id=current()]/ios-ospfv3:address-family/ios-ospfv3:ipv4/ios-ospfv3:vrf/ios-ospfv3:vrf)' { + error-message "Create 'redistribute ospfv3' after 'router ospfv3 address-family vrf' and delete it before the deletion of 'router ospfv3 address-family vrf'."; + } + } + } + } + } + } + container default { + status obsolete; + description + "Set a command to its defaults"; + container address-family { + status obsolete; + description + "Enter Address Family command mode"; + container ipv4 { + status obsolete; + presence "true"; + description + "Address family"; + leaf unicast { + status obsolete; + description + "Address Family Modifier"; + type empty; + } + list vrf { + status obsolete; + description + "Specify parameters for a VPN Routing/Forwarding instance"; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]'; + type string; + } + } + } + } + uses default-router-rip-grouping-obsolete; + container default-information { + status obsolete; + description + "Control distribution of default information"; + leaf originate { + status obsolete; + description + "Distribute a default route"; + type empty; + } + } + leaf default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + type empty; + } + uses distance-grouping-obsolete; + uses distribute-list-grouping-obsolete; + leaf flash-update-threshold { + status obsolete; + description + "Specify flash update threshold in second"; + type empty; + } + leaf input-queue { + status obsolete; + description + "Specify input queue depth"; + type empty; + } + uses offset-list-grouping-obsolete; + leaf output-delay { + status obsolete; + description + "Interpacket delay for RIP updates"; + type empty; + } + container passive-interface { + status obsolete; + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + status obsolete; + leaf default { + status obsolete; + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + status obsolete; + type string; + } + } + } + container disable { + status obsolete; + when '../passive-interface/default'; + list passive-interface { + status obsolete; + key "interface"; + leaf interface { + status obsolete; + type string; + } + } + } + container redistribute { + status obsolete; + description + "Redistribute information from another routing protocol"; + uses default-redistribute-grouping-obsolete; + } + container timers { + status obsolete; + description + "Adjust routing timers"; + leaf basic { + status obsolete; + description + "Basic routing protocol update timers"; + type empty; + } + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + container min { + status obsolete; + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + leaf version { + status obsolete; + description + "Set routing protocol version"; + type empty; + } + } + } + } + + grouping config-interface-ip-rip-grouping { + list rip { + description + "Configure RIP routing protocol"; + key "id"; + leaf id { + type leafref { + path "/ios:native/ios:ipv6/ios:router/ios-rip:rip/ios-rip:id"; + } + } + leaf enable { + description + "Enable/disable RIP routing"; + type empty; + } + container default-information { + description + "Configure handling of default route"; + leaf route { + type enumeration { + enum only; + enum originate; + } + } + leaf metric { + description + "Default route metric"; + type uint8 { + range "1..15"; + } + } + } + leaf metric-offset { + description + "Adjust default metric increment"; + type uint8 { + range "1..16"; + } + } + leaf-list summary-address { + description + "Configure address summarization"; + type ios-types:ipv6-prefix; + } + } + } + + grouping config-ipv6-rip-grouping { + container rip { + description + "Configure ipv6 RIP settings"; + leaf vrf-mode { + description + "Enable RIPng VRF support"; + type enumeration { + enum enable; + } + } + } + } + + grouping default-router-rip-grouping-obsolete { + leaf auto-summary-fix { + status obsolete; + description + "Enable automatic network number summarization"; + type boolean; + } + leaf auto-summary { + status obsolete; + description + "Enable automatic network number summarization"; + type empty; + } + leaf maximum-paths { + status obsolete; + description + "Forward packets over multiple paths"; + type uint8 { + range "1 .. 32"; + } + default "4"; + } + list neighbor { + status obsolete; + description + "Specify a neighbor router"; + key "ip"; + leaf ip { + status obsolete; + description + "Neighbor IP address"; + type inet:ipv4-address; + } + leaf bfd { + status obsolete; + description + "Enable BFD for the neighbor"; + type empty; + } + } + list network { + status obsolete; + description + "Enable routing on an IP network"; + key "ip"; + leaf ip { + status obsolete; + type inet:ipv4-address; + } + } + leaf validate-update-source { + status obsolete; + description + "Perform sanity checks against source address of routing updates"; + type boolean; + default "true"; + } + } + + grouping distance-grouping-obsolete { + container distance { + status obsolete; + description + "Define an administrative distance"; + leaf distance-leaf { + status obsolete; + type uint8 { + range "1..255"; + } + } + list distance-list-config { + status obsolete; + key "ip mask"; + leaf number { + status obsolete; + mandatory true; + type uint8 { + range "1 .. 255"; + } + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + } + list distance-list { + status obsolete; + key "number ip mask"; + leaf number { + status obsolete; + type uint8 { + range "1 .. 255"; + } + } + leaf ip { + status obsolete; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + type inet:ipv4-address; + } + } + } + } + + grouping offset-list-grouping-obsolete { + list offset-list { + status obsolete; + description + "Add or subtract offset from RIP metrics"; + key "in-out"; + leaf in-out { + status obsolete; + description + "Perform offset on incoming/outgoing updates"; + type offset-list-in-out-type; + } + leaf offset { + status obsolete; + description + "Offset"; + mandatory true; + type uint8 { + range "0 .. 16"; + } + } + } + container offset-list-interface { + status obsolete; + description + "Add or subtract offset from RIP metrics per interface"; + list offset-list { + status obsolete; + description + "Add or subtract offset from RIP metrics"; + key "in-out interface"; + leaf id { + status obsolete; + description + "Access list of networks to apply offset"; + mandatory true; + type offset-list-id-type; + } + leaf in-out { + status obsolete; + description + "Perform offset on incoming/outgoing updates"; + type offset-list-in-out-type; + } + leaf offset { + status obsolete; + description + "Offset"; + type uint8 { + range "0..16"; + } + mandatory true; + } + leaf interface { + status obsolete; + description + "Interface name"; + type string; + } + } + } + } + + grouping distribute-list-grouping-obsolete { + container distribute-list { + status obsolete; + description + "Filter networks in routing updates"; + list accesslist { + status obsolete; + key "in-out"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + } + list accesslist-ifname { + status obsolete; + key "in-out interface"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf interface { + status obsolete; + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + status obsolete; + type string; + } + } + list accesslist-prefix-gateway { + status obsolete; + key "in-out"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf prefix { + status obsolete; + description + "Filter prefixes in routing updates"; + type string; + } + leaf gateway { + status obsolete; + description + "Filtering incoming updates based on gateway"; + type string; + } + leaf prefix-gateway { + status obsolete; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + type string; + } + } + list accesslist-prefix-gateway-ifname { + status obsolete; + key "in-out interface"; + leaf in-out { + status obsolete; + type ios-types:access-list-in-out-type; + } + leaf interface { + status obsolete; + type string; + } + leaf prefix { + status obsolete; + description + "Filter prefixes in routing updates"; + type string; + } + leaf gateway { + status obsolete; + description + "Filtering incoming updates based on gateway"; + type string; + } + leaf prefix-gateway { + status obsolete; + type enumeration { + enum prefix; + enum gateway; + enum route-map; + } + } + leaf name { + status obsolete; + type string; + } + leaf interface-routing-id { + status obsolete; + type uint8; + } + leaf isis-tag { + status obsolete; + type string; + } + leaf vrf { + description + "VPN Routing/Forwarding Instance"; + status obsolete; + type string; + } + } + } + } + + grouping default-redistribute-grouping-obsolete { + container connected { + status obsolete; + presence "Connected"; + description + "Connected"; + uses rip-metric-route-map-grouping-obsolete; + } + list bgp { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "as-number"; + leaf as-number { + status obsolete; + type ios-types:bgp-as-number-type; + } + uses rip-metric-route-map-grouping-obsolete; + } + list eigrp { + status obsolete; + description + "Enhanced Interior Gateway Routing Protocol (EIGRP)"; + key "as-number"; + leaf as-number { + status obsolete; + type uint16 { + range "1 .. 65535"; + } + } + uses rip-metric-route-map-grouping-obsolete; + } + container isis-no-area { + status obsolete; + description + "ISO IS-IS"; + presence "true"; + container rip-isis-redist { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + uses rip-metric-route-map-grouping-obsolete; + } + } + container isis-area-tag { + status obsolete; + description + "ISO IS-IS area-tag"; + list isis { + status obsolete; + description + "ISO IS-IS"; + key "area-tag"; + leaf area-tag { + status obsolete; + description + "ISO IS-IS area-tag"; + type string; + } + container rip-isis-redist { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + uses rip-metric-route-map-grouping-obsolete; + } + } + } + container isis { + status obsolete; + presence "ISO IS-IS"; + description + "ISO IS-IS"; + list isis-area { + status obsolete; + key "name"; + leaf name { + status obsolete; + type string; + } + container rip-isis-redist { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + uses rip-metric-route-map-grouping-obsolete; + } + } + container rip-isis-redist { + status obsolete; + leaf isis-level-routes { + status obsolete; + type enumeration { + enum level-1; + enum level-2; + enum level-1-2; + } + default "level-2"; + } + uses rip-metric-route-map-grouping-obsolete; + } + } + container iso-igrp { + status obsolete; + presence "IGRP for OSI networks"; + description + "IGRP for OSI networks"; + list isoigrp-list { + status obsolete; + description + "Border Gateway Protocol (BGP)"; + key "iso-area-tag"; + leaf iso-area-tag { + status obsolete; + type string; + } + uses rip-iso-igrp-metric-route-map-grouping-obsolete; + } + uses rip-iso-igrp-metric-route-map-grouping-obsolete; + } + container mobile { + status obsolete; + presence "Mobile routes"; + description + "Mobile routes"; + uses rip-metric-route-map-grouping-obsolete; + } + container odr { + status obsolete; + presence "On Demand stub Routes"; + description + "On Demand stub Routes"; + uses rip-metric-route-map-grouping-obsolete; + } + container omp { + status obsolete; + presence "true"; + description + "Overlay Management Protocol"; + uses rip-metric-route-map-grouping-obsolete; + } + list ospf { + status obsolete; + description + "Open Shortest Path First (OSPF)"; + key "process-id"; + leaf process-id { + status obsolete; + type uint16 { + range "1 .. 65535"; + } + } + list vrf { + status obsolete; + description + "VPN Routing/Forwarding Instance"; + key "name"; + leaf name { + status obsolete; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + container match { + status obsolete; + description + "Redistribution of OSPF routes"; + container internal { + status obsolete; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses rip-metric-route-map-grouping-obsolete; + } + leaf external1 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses rip-metric-route-map-grouping-obsolete; + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container match { + status obsolete; + description + "Redistribution of OSPF routes"; + container internal { + status obsolete; + presence "Redistribute OSPF internal routes"; + description + "Redistribute OSPF internal routes"; + uses rip-metric-route-map-grouping-obsolete; + } + leaf external1 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + uses rip-metric-route-map-grouping-obsolete; + container external { + status obsolete; + description + "Redistribute OSPF external routes"; + presence "Redistribute OSPF external routes"; + leaf external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + container nssa-external { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + status obsolete; + type ios-types:redist-ospf-external-type; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + list ospfv3 { + status obsolete; + description + "OSPFv3"; + key "proc-id"; + leaf proc-id { + status obsolete; + description + "Process ID"; + type uint16 { + range "1 .. 65535"; + } + } + container match { + status obsolete; + description + "Redistribution of OSPF routes"; + leaf internal { + status obsolete; + description + "Redistribute OSPF internal routes"; + type empty; + } + leaf external1 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf external2 { + status obsolete; + description + "Redistribute OSPF external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external1 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + leaf nssa-external2 { + status obsolete; + description + "Redistribute OSPF NSSA external routes"; + type ios-types:redist-ospf-external-type; + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + container static { + status obsolete; + presence "Static routes"; + description + "Static routes"; + uses rip-metric-route-map-grouping-obsolete; + } + container rip { + status obsolete; + presence "Routing Information Protocol (RIP)"; + description + "Routing Information Protocol (RIP)"; + uses rip-metric-route-map-grouping-obsolete; + } + } + + grouping rip-metric-route-map-grouping-deprecated { + container rip-metric-route-map { + status deprecated; + container metric { + status deprecated; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status deprecated; + leaf metric-value { + status deprecated; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status deprecated; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status deprecated; + description + "Route map reference"; + type string; + } + } + } + + grouping rip-metric-route-map-grouping-obsolete { + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + } + + grouping rip-iso-igrp-metric-route-map-grouping-obsolete { + container rip-metric-route-map { + status obsolete; + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + status obsolete; + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + } + } + + grouping address-family-vrf-grouping-obsolete { + uses default-router-rip-grouping-obsolete; + container default-information { + status obsolete; + description + "Control distribution of default information"; + container originate { + status obsolete; + presence "Distribute a default route"; + description + "Distribute a default route"; + leaf route-map { + status obsolete; + description + "Route-map reference"; + type string; + } + } + } + leaf default-metric { + status obsolete; + description + "Set metric of redistributed routes"; + type uint32 { + range "1..4294967295"; + } + } + uses distance-grouping-obsolete; + uses distribute-list-grouping-obsolete; + uses offset-list-grouping-obsolete; + leaf omp-route-tag { + status obsolete; + description + "Enable automatic RIPv2 route tag for OMP routes"; + type boolean; + default "true"; + } + container redistribute { + status obsolete; + description + "Redistribute information from another routing protocol"; + container rip-metric-route-map { + status obsolete; + container metric { + status obsolete; + description + "Metric for redistributed routes"; + choice metric-transparent-choice { + leaf metric-value { + status obsolete; + description + "Metric for redistributed routes"; + type uint32 { + range "0 .. 16"; + } + } + leaf transparent { + status obsolete; + description + "Transparently redistribute metric"; + type empty; + } + } + } + leaf route-map { + status obsolete; + description + "Route map reference"; + type string; + } + } + uses default-redistribute-grouping-obsolete; + } + container timers { + status obsolete; + description + "Adjust routing timers"; + container basic { + status obsolete; + description + "Basic routing protocol update timers"; + leaf updates { + status obsolete; + description + "Interval between updates for RIP"; + type uint32 { + range "1 .. 2147483"; + } + default "30"; + } + leaf invalid { + status obsolete; + description + "Invalid"; + type uint32 { + range "1 .. 2147483"; + } + default "180"; + } + leaf holddown { + status obsolete; + description + "Holddown"; + type uint32 { + range "0 .. 2147483"; + } + default "180"; + } + leaf flush { + status obsolete; + description + "Flush"; + type uint32 { + range "1 .. 2147483"; + } + default "240"; + } + leaf sleep { + status obsolete; + description + "Sleep time, in milliseconds"; + type uint32 { + range "1 .. 2147483647"; + } + } + } + } + leaf version { + status obsolete; + description + "Set routing protocol version"; + type uint8 { + range "1 .. 2"; + } + } + } + + grouping router-rip-grouping-obsolete { + uses address-family-vrf-grouping-obsolete; + leaf flash-update-threshold { + status obsolete; + description + "Specify flash update threshold in second"; + type uint8 { + range "0 .. 30"; + } + } + leaf input-queue { + status obsolete; + description + "Specify input queue depth"; + type uint16 { + range "0 .. 1024"; + } + default "150"; + } + leaf output-delay { + status obsolete; + description + "Interpacket delay for RIP updates"; + type uint8 { + range "8 .. 50"; + } + } + container passive-interface { + status obsolete; + description + "Suppress routing updates on an interface"; + choice passive-interface-choice { + status obsolete; + leaf default { + status obsolete; + description + "Suppress routing updates on all interfaces"; + type empty; + } + leaf-list interface { + status obsolete; + type string; + } + } + } + container disable { + status obsolete; + when '../passive-interface/default'; + list passive-interface { + status obsolete; + key "interface"; + leaf interface { + status obsolete; + type string; + } + } + } + container traffic-share { + status obsolete; + description + "How to compute traffic share over alternate paths"; + container min { + status obsolete; + description + "All traffic shared among min metric paths"; + leaf across-interfaces { + status obsolete; + description + "Use different interfaces for equal-cost paths"; + type empty; + } + } + } + } + + augment "/ios:native/ios:router" { + uses config-router-rip-grouping; + } + + augment "/ios:native/ios:ipv6" { + uses config-ipv6-rip-grouping; + } + + augment "/ios:native/ios:ipv6/ios:router" { + uses config-ipv6-router-rip-grouping; + } + + augment "/ios:native/ios:router/ios-rip:rip/default/distribute-list/accesslist" { + leaf id { + status obsolete; + mandatory true; + type default-access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/distribute-list/accesslist" { + leaf id { + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/default/distribute-list/accesslist-ifname" { + leaf id { + status obsolete; + mandatory true; + type default-access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/distribute-list/accesslist-ifname" { + leaf id { + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:vrf/ios-rip:distribute-list/ios-rip:accesslist" { + leaf id { + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:vrf/ios-rip:distribute-list/ios-rip:accesslist-ifname" { + leaf id { + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:unicast/ios-rip:distribute-list/ios-rip:accesslist" { + leaf id { + status obsolete; + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:unicast/ios-rip:distribute-list/ios-rip:accesslist-ifname" { + leaf id { + status obsolete; + mandatory true; + type access-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/default/distance/distance-list" { + leaf access-list { + status obsolete; + type ios-types:default-access-list-standard-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/distance/distance-list" { + leaf access-list { + status obsolete; + type ios-types:access-list-standard-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/distance/distance-list-config" { + leaf access-list { + type ios-types:access-list-standard-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:vrf/distance/distance-list-config" { + leaf access-list { + type ios-types:access-list-standard-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/default/offset-list" { + leaf id { + status obsolete; + mandatory true; + type default-offset-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/offset-list" { + leaf id { + description + "Access list of networks to apply offset"; + mandatory true; + type offset-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:vrf/ios-rip:offset-list" { + leaf id { + mandatory true; + type offset-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:address-family/ios-rip:ipv4/ios-rip:unicast/ios-rip:offset-list" { + leaf id { + status obsolete; + description + "Access list of networks to apply offset"; + mandatory true; + type offset-list-id-type; + } + } + + augment "/ios:native/ios:router/ios-rip:rip/ios-rip:default-information/ios-rip:originate" { + leaf on-passive { + description + "Send default only on Passive interface (RIP)"; + type empty; + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ipv6" { + uses config-interface-ip-rip-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rmi-dad.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rmi-dad.yang new file mode 100644 index 000000000..15fbefd11 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rmi-dad.yang @@ -0,0 +1,221 @@ +module Cisco-IOS-XE-rmi-dad { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rmi-dad"; + prefix ios-rmi-dad; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native RMI-DAD, configure RMI, DAD Yang Model. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-07-01 { + description + "fast switchover notification addition + Configuring Gratuitous ARP retransmission during switch over"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "hostname override command addition"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-02 { + description + "Interval addition for gateway-failover"; + cisco-semver:module-version "1.1.1"; + } + revision 2019-07-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-redun-management-grouping { + leaf fast-switchover { + description + "Configure fast switchover notification"; + type boolean; + default "true"; + } + container garp-retransmit { + description + "Gratuitous ARP retransmit configuration"; + list burst { + description + "Number of packets in each Gratuitous ARP burst"; + key "burst-size"; + leaf burst-size { + type uint32 { + range "0..1000"; + } + } + list interval { + description + "Time interval between each Gratuitous ARP burst"; + key "burst-interval"; + leaf burst-interval { + type uint8 { + range "0..5"; + } + } + } + } + leaf initial { + description + "Enable initial Gratuitous ARP burst"; + type boolean; + default "true"; + } + } + container hostname { + description + "Override the hostname configuration"; + list chassis { + description + "chassis configuration"; + key "chassis"; + leaf chassis { + description + "Chassis Number range"; + type uint8 { + range "1..16"; + } + } + list name { + description + "This system's network name"; + key "hostname"; + leaf hostname { + type string; + } + list chassis { + description + "chassis configuration"; + key "chassis"; + leaf chassis { + description + "Chassis Number range"; + type uint8 { + range "1..16"; + } + } + list name { + description + "This system's network name"; + key "hostname"; + leaf hostname { + type string; + } + } + } + } + } + } + list interface { + description + "management interface to configure"; + key "interface"; + leaf interface { + type string; + } + list chassis { + description + "<1-16> chassis configuration"; + key "chassis"; + leaf chassis { + type uint8 { + range "1..16"; + } + } + list address { + description + "chassis ip address"; + key "address"; + leaf address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + list chassis { + description + "<1-16> chassis configuration"; + key "chassis"; + leaf chassis { + type uint8 { + range "1..16"; + } + } + list address { + description + "chassis ip address"; + key "address"; + leaf address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + } + } + } + } + } + + grouping config-management-grouping { + container gateway-failover { + description + "Gateway failover"; + leaf enable { + description + "Enable Gateway monitoring"; + type boolean; + default "true"; + } + leaf interval { + description + "Gateway monitoring interval"; + type uint8 { + range "6..12"; + } + default "8"; + } + } + } + + augment "/ios:native/ios:redun-management" { + uses config-redun-management-grouping; + } + + augment "/ios:native/ios:management" { + uses config-management-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-route-map.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-route-map.yang new file mode 100644 index 000000000..11ad6e054 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-route-map.yang @@ -0,0 +1,2721 @@ +module Cisco-IOS-XE-route-map { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-route-map"; + prefix ios-route-map; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Route Map Yang model. + Copyright (c) 2016-2021, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Changed deprecated nodes under route-map interface and route-map set interface models to obsolete, removed relevant entries + - Changed deprecated nodes under set ipv6 next-hop model to obsolete, removed relevant entries + - Changed deprecated nodes under set ipv6 default next-hop model to obsolete, removed relevant entries + - Obsolete BGP route-map nodes deprecated in 17.9.1 + - Added model for set ip next-hop unchanged"; + cisco-semver:module-version "6.0.0"; + } + revision 2024-03-01 { + description + "- Deprecated access-list and added access-list-ordered with ordered-by-user + - adding must condition for match ipv6 address + - Deprecated access-list and added access-list-ordered with ordered-by-user + - Added description for match ipv6 address prefix list + - added Null interface"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Added description for operation and sequence number + - setting default value for operation as permit + - Deprecated prefix-list and added prefix-list-ordered with ordered-by-user"; + cisco-semver:module-version "4.2.0"; + } + revision 2023-07-01 { + description + "- Hardened for match metric and external "; + cisco-semver:module-version "4.1.0"; + } + revision 2023-03-01 { + description + "- Hardened CLIs set ipv6 vrf next-hop , set ipv6 default vrf next-hop, set ipv6 vrf next-hop verify availability, set ipv6 vrf next-hop verify availability sequence track + - Hardened set ipv6 next-hop verify-availability + - Hardened CLI set tag + - Hardened CLI match tag + - Added new tos without presence container and deprecating tos container + - Added new external number container and deprecating external container + - Added a new descriptions list and deprecating description leaf"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Hardened CLIs set ipv6 default global next-hop, set ipv6 default next-hop, set ipv6 global next-hop, set ipv6 global next-hop verify-availability"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-07-01 { + description + "- Migrate BGP-owned route-map nodes to BGP model + - Deprecated set/ipv6/address/prefix-list from leaf-list to leaf + - Moved deprecate annotations to annotation file"; + cisco-semver:module-version "2.5.0"; + } + revision 2022-03-01 { + description + "- Add ordered-by user in match community and match extcommunity "; + cisco-semver:module-version "2.4.0"; + } + revision 2021-11-01 { + description + "- added additive option for set extended community color"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Removed the tailf cli-diff-dependency"; + cisco-semver:module-version "2.2.1"; + } + revision 2020-11-01 { + description + "Add large-community configurations"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "Model change for match/length/max( and min), set/ipv6/default/next-hop + and set/ipv6/next-hop"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "Update set community-list configuration + Add route-map continue configuration"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Changed address data type"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-06 { + description + "Fixed route-map set community configuration"; + } + revision 2018-12-06 { + description + "Added Support of color extended community"; + } + revision 2018-12-01 { + description + "Removed choice option from set ip nexthop so that multiple + options can be configured at same time"; + } + revision 2018-11-13 { + description + "Change to use + in multi-line descriptions to avoid NSO compile error"; + } + revision 2018-08-30 { + description + "Added support for set nlri and set attribute-set"; + } + revision 2018-08-10 { + description + "Added support for multiple IPv4 next-hop (set ip next-hop)"; + } + revision 2018-05-02 { + description + "Add omp and nat-route to source-protocol matching"; + } + revision 2018-03-08 { + description + "Add tailf:cli-flat-list-syntax to route-map/match-preference"; + } + revision 2018-01-08 { + description + "Revise modeling for set metric"; + } + revision 2017-10-20 { + description + "Add model omp-tag for set and match"; + } + revision 2017-07-27 { + description + "Add model for set ip next-hop verify-availability track "; + } + revision 2017-06-07 { + description + "Add model for named ordering route-map enable"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping rt_map_interface-deprecated-grouping { + choice interface-choice { + leaf AppNav-Compress { + status obsolete; + description + "Service-Context Virtual Interface Compress (OBSOLETE)"; + type uint16; + } + leaf AppNav-UnCompress { + status obsolete; + description + "Service-Context Virtual Interface UnCompress (OBSOLETE)"; + type uint16; + } + leaf ATM { + status obsolete; + description + "ATM interface (OBSOLETE)"; + type string; + } + container ATM-subinterface { + status obsolete; + leaf ATM { + status obsolete; + type string; + } + } + leaf ATM-ACR { + status obsolete; + description + "ATM-ACR interface (OBSOLETE)"; + type string { + pattern '[0-9]'; + } + } + container ATM-ACRsubinterface { + status obsolete; + leaf ATM-ACR { + status obsolete; + type string { + pattern '[0-9]\.([0-9]/){3}[0-9]'; + } + } + } + leaf BDI { + status obsolete; + description + "Bridge-Domain interface (OBSOLETE)"; + type string; + } + leaf CEM { + status obsolete; + description + "CEM interface (OBSOLETE)"; + type string { + pattern '([0-9]/){2}[0-9]'; + } + } + leaf CEM-ACR { + status obsolete; + description + "CEM-ACR interface (OBSOLETE)"; + type uint8 { + range "0..255"; + } + } + leaf Embedded-Service-Engine { + status obsolete; + description + "cisco embedded service engine module (OBSOLETE)"; + type string; + } + leaf Ethernet { + status obsolete; + description + "IEEE 802.3 (OBSOLETE)"; + type string; + } + leaf FastEthernet { + status obsolete; + description + "FastEthernet IEEE 802.3 (OBSOLETE)"; + type string; + } + leaf GigabitEthernet { + status obsolete; + description + "GigabitEthernet IEEE 802.3z (OBSOLETE)"; + type string; + } + leaf FiveGigabitEthernet { + status obsolete; + description + "Five GigabitEthernet (OBSOLETE)"; + type string; + } + leaf AppGigabitEthernet { + status obsolete; + description + "App-hosting Gigabit Ethernet IEEE 802.3z (OBSOLETE)"; + type string; + } + leaf TwentyFiveGigabitEthernet { + status obsolete; + description + "Twenty Five GigabitEthernet (OBSOLETE)"; + type string; + } + leaf TwentyFiveGigE { + status obsolete; + description + "Twenty Five GigabitEthernet (OBSOLETE)"; + type string; + } + leaf TwoGigabitEthernet { + status obsolete; + description + "Two GigabitEthernet (OBSOLETE)"; + type string; + } + leaf FortyGigabitEthernet { + status obsolete; + description + "Forty GigabitEthernet (OBSOLETE)"; + type string; + } + leaf HundredGigE { + status obsolete; + description + "Hundred GigabitEthernet (OBSOLETE)"; + type string; + } + leaf LISP { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface (OBSOLETE)"; + type string; + } + container LISP-subinterface { + status obsolete; + description + "Locator/ID Separation Protocol Virtual Interface (OBSOLETE)"; + leaf LISP { + status obsolete; + type string { + pattern '[0-9]*(. ?[1-9][0-9]*)*'; + } + } + } + leaf Loopback { + status obsolete; + description + "Loopback interface (OBSOLETE)"; + type uint32; + } + leaf Multilink { + status obsolete; + description + "Multilink-group interface (OBSOLETE)"; + type uint16; + } + leaf nve { + status obsolete; + description + "Network virtualization endpoint interface (OBSOLETE)"; + type uint16; + } + leaf overlay { + status obsolete; + description + "Overlay interface (OBSOLETE)"; + type uint16; + } + leaf Port-channel { + status obsolete; + description + "Ethernet Channel of interfaces (OBSOLETE)"; + type uint32; + } + container Port-channel-subinterface { + status obsolete; + leaf Port-channel { + status obsolete; + type string; + } + } + leaf pseudowire { + status obsolete; + description + "Pseudowire Interface (OBSOLETE)"; + type uint32; + } + leaf SM { + status obsolete; + description + "SM Interface (OBSOLETE)"; + type string; + } + leaf Cellular { + status obsolete; + description + "Cellular Interface (OBSOLETE)"; + type string; + } + leaf Dialer { + status obsolete; + description + "Dialer Interface (OBSOLETE)"; + type string; + } + leaf Serial { + status obsolete; + description + "Serial interface (OBSOLETE)"; + type string; + } + leaf Async { + status obsolete; + description + "Async serial interface (OBSOLETE)"; + type string; + } + leaf TenGigabitEthernet { + status obsolete; + description + "Ten Gigabit Ethernet (OBSOLETE)"; + type string; + } + leaf Tunnel { + status obsolete; + description + "Tunnel interface (OBSOLETE)"; + type uint32; + } + leaf Virtual-Template { + status obsolete; + description + "Virtual Template interface (OBSOLETE)"; + type uint16; + } + leaf Vlan { + status obsolete; + description + "Iosxr Vlans (OBSOLETE)"; + type uint16; + } + leaf VirtualPortGroup { + status obsolete; + description + "Virtual Port Group (OBSOLETE)"; + type uint16; + } + leaf vasileft { + status obsolete; + description + "vasileft (OBSOLETE)"; + type uint16; + } + leaf vasiright { + status obsolete; + description + "vasiright (OBSOLETE)"; + type uint16; + } + leaf BD-VIF { + status obsolete; + description + "Bridge-Domain Virtual IP interface (OBSOLETE)"; + type string; + } + leaf Null { + status obsolete; + description + "Null interface (OBSOLETE)"; + type string; + } + } + } + + grouping config-named-ordering-route-map-grouping { + container named-ordering-route-map { + description + "named ordering route-map enable"; + leaf enable { + description + "named ordering enable"; + type empty; + } + } + } + + grouping next-hop-address-grouping { + container next-hop { + description + "Next hop along path"; + leaf-list address { + type inet:ipv4-address; + } + } + } + + grouping ip-access-list-grouping { + leaf-list access-list-ordered { + description + "Match entries of access-lists"; + ordered-by user; + type ios-types:exp-acl-type; + } + leaf-list access-list { + status deprecated; + type ios-types:exp-acl-type; + } + leaf-list prefix-list-ordered { + description + "Match entries of prefix-lists"; + ordered-by user; + type string; + } + leaf-list prefix-list { + status deprecated; + description + "Match entries of prefix-lists"; + type string; + } + } + + grouping ipv6-access-list-grouping { + leaf access-list { + description + "IPv6 access-list name"; + must ' not (../prefix-list)' { + error-message "prefix-list and access-list can not co-exist in one route-map sequence"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + leaf prefix-list { + description + "IPv6 prefix-list name"; + type string; + } + } + + grouping route-map-community-grouping { + list community-id { + status obsolete; + key "community-id cost-value"; + leaf community-id { + status obsolete; + description + "Community ID"; + type uint8 { + range "0..255"; + } + } + leaf cost-value { + status obsolete; + description + "Cost Value (No-preference Cost = 2147483647)"; + type uint32 { + range "0..4294967295"; + } + } + } + } + + grouping config-route-map-common-grouping { + list descriptions { + description + "list of Route-map comments"; + key "description-leaf"; + leaf description-leaf { + description + "Route-map comment"; + type string; + } + } + leaf description { + description + "Route-map comment"; + status deprecated; + type string; + } + container set { + description + "Set values in destination routing protocol"; + container aigp-metric { + description + "accumulated metric value"; + leaf value { + description + "manual value"; + type uint32 { + range "0..4294967295"; + } + } + leaf igp-metric { + description + "metric value from rib"; + type empty; + } + } + container as-path { + status obsolete; + description + "Modify BGP AS-path attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + container prepend { + status obsolete; + description + "Prepend to the as-path (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + container as-container { + status obsolete; + leaf as-number { + status obsolete; + description + "<1-65535>;;AS number (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type string; + } + } + container last-as-cont { + status obsolete; + leaf last-as { + status obsolete; + type uint16 { + range "1..10"; + } + } + } + } + container tag { + status obsolete; + description + "Set the tag as an AS-path attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + presence "tag"; + } + container replace { + status obsolete; + description + "Replace AS numbers in the AS-path with the local AS (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + list as-container { + status obsolete; + ordered-by user; + key "as-number"; + leaf as-number { + status obsolete; + description + "<1-65535>;;AS number (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type string; + } + } + leaf any { + status obsolete; + description + "Replace each AS number in the AS-path with the local AS (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + leaf attribute-set { + status obsolete; + description + "TE Profile name (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type string; + } + leaf automatic-tag { + description + "Automatically compute TAG value"; + type empty; + } + container clns { + description + "OSI summary address"; + uses next-hop-address-grouping; + } + container community { + status obsolete; + description + "BGP community attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + choice community-well-known-choice { + status obsolete; + leaf none { + status obsolete; + description + "No community attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + container community-well-known { + status obsolete; + leaf-list community-list { + status obsolete; + ordered-by user; + type union { + type ios-types:community-number-type; + type ios-types:community-well-known-type; + } + } + leaf additive { + status obsolete; + type empty; + } + } + } + } + container comm-list { + status obsolete; + description + "set BGP community list (for deletion) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + choice comm-list-choice { + status obsolete; + leaf comm-list-standard { + status obsolete; + type uint16 { + range "1..99"; + } + } + leaf comm-list-expanded { + status obsolete; + type uint16 { + range "100..500"; + } + } + leaf comm-list-name { + status obsolete; + type string; + } + } + leaf delete { + status obsolete; + description + "Delete matching communities (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + container dampening { + status obsolete; + description + "Set BGP route flap dampening parameters (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + list dampening-list { + status obsolete; + key "half-life-penalty restart-penalty suppress-penalty max-suppress-penalty"; + leaf half-life-penalty { + status obsolete; + description + "half-life time for the penalty (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..45"; + } + } + leaf restart-penalty { + status obsolete; + description + "penalty to start reusing a route (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "1..20000"; + } + } + leaf suppress-penalty { + status obsolete; + description + "penalty to start suppressing a route (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "1..20000"; + } + } + leaf max-suppress-penalty { + status obsolete; + description + "Maximum duration to suppress a stable route (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..255"; + } + } + } + } + container default { + leaf-list interface-list { + ordered-by user; + description + "SPAN source interface"; + must "not (starts-with(., 'AppNav-Compress')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppNav-Compress interface must be created first and deleted last."; + } + must "not (starts-with(., 'AppNav-UnCompress')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppNav-UnCompress interface must be created first and deleted last."; + } + must "not (starts-with(., 'ATM')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:ATM-subinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "ATM interface must be created first and deleted last."; + } + must "not (starts-with(., 'ATM-ACR')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:ATM-ACRsubinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "ATM-ACR interface must be created first and deleted last."; + } + must "not (starts-with(., 'BDI')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BDI interface must be created first and deleted last."; + } + must "not (starts-with(., 'CEM')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "CEM interface must be created first and deleted last."; + } + must "not (starts-with(., 'CEM-ACR')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "CEM-ACR interface must be created first and deleted last."; + } + must "not (starts-with(., 'Embedded-Service-Engine')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Embedded-Service-Engine interface must be created first and deleted last."; + } + must "not (starts-with(., 'Ethernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Ethernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FastEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FastEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'GigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "GigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FiveGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FiveGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'AppGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwentyFiveGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwentyFiveGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwoGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwoGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FortyGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FortyGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'HundredGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "HundredGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'LISP')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:LISP-subinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "LISP interface must be created first and deleted last."; + } + must "not (starts-with(., 'Loopback')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Loopback interface must be created first and deleted last."; + } + must "not (starts-with(., 'Multilink')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Multilink interface must be created first and deleted last."; + } + must "not (starts-with(., 'nve')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "nve interface must be created first and deleted last."; + } + must "not (starts-with(., 'overlay')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "overlay interface must be created first and deleted last."; + } + must "not (starts-with(., 'Port-channel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "Port-channel interface must be created first and deleted last."; + } + must "not (starts-with(., 'pseudowire')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "pseudowire interface must be created first and deleted last."; + } + must "not (starts-with(., 'SM')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "SM interface must be created first and deleted last."; + } + must "not (starts-with(., 'Cellular')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Cellular interface must be created first and deleted last."; + } + must "not (starts-with(., 'Dialer')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Dialer interface must be created first and deleted last."; + } + must "not (starts-with(., 'Serial')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Serial interface must be created first and deleted last."; + } + must "not (starts-with(., 'Async')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Async interface must be created first and deleted last."; + } + must "not (starts-with(., 'TenGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TenGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'Tunnel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Tunnel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Virtual-Template')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Virtual-Template interface must be created first and deleted last."; + } + must "not (starts-with(., 'Vlan')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Vlan interface must be created first and deleted last."; + } + must "not (starts-with(., 'VirtualPortGroup')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "VirtualPortGroup interface must be created first and deleted last."; + } + must "not (starts-with(., 'vasileft')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "vasileft interface must be created first and deleted last."; + } + must "not (starts-with(., 'vasiright')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "vasiright interface must be created first and deleted last."; + } + must "not (starts-with(., 'BD-VIF')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BD-VIF interface must be created first and deleted last."; + } + type string; + } + container interface { + status obsolete; + description + "SPAN source interface (OBSOLETE)"; + uses rt_map_interface-deprecated-grouping; + } + } + container extcomm-list { + status obsolete; + description + "Set BGP/VPN extended community list (for deletion) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + list ext-range { + status obsolete; + key "comm-list-num"; + leaf comm-list-num { + status obsolete; + description + "Extended community-list number (expanded) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "1..500"; + } + } + leaf delete { + status obsolete; + description + "Delete matching extended communities (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + list excomm-list-name { + status obsolete; + key "name"; + leaf name { + status obsolete; + description + "extcommunity-list name (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type string; + } + leaf delete { + status obsolete; + type empty; + } + } + } + container extcommunity { + status obsolete; + description + "BGP extended community attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + container color-additive { + status obsolete; + leaf color { + status obsolete; + description + "Color Extended Community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint32 { + range "1..4294967295"; + } + } + leaf additive { + status obsolete; + when '../color'; + description + "additive (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + leaf color { + status obsolete; + description + "Color Extended Community (OBSOLETE - use color-additive/color in Cisco-IOS-XE-bgp.yang instead)"; + type uint32 { + range "1..4294967295"; + } + } + container cost { + status obsolete; + description + "Cost extended community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + uses route-map-community-grouping; + container igp { + status obsolete; + description + "Compare following IGP cost comparison (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + uses route-map-community-grouping; + } + container pre-bestpath { + status obsolete; + description + "Compare before all other steps in bestpath calculation (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + uses route-map-community-grouping; + } + } + container rt { + status obsolete; + description + "Route Target extended community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list asn-nn { + status obsolete; + ordered-by user; + type union { + type ios-types:asn-ip-type; + type enumeration { + enum additive; + } + } + } + container range { + status obsolete; + description + "Specify a range of extended community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf lower-limit { + status obsolete; + description + "VPN extended community lower limit (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type ios-types:asn-ip-type; + } + leaf high-limit { + status obsolete; + description + "VPN extended community high limit (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type ios-types:asn-ip-type; + } + leaf additive { + status obsolete; + description + "Add to the existing extcommunity (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + container soo { + status obsolete; + description + "Site-of-Origin extended community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf asn-nn { + status obsolete; + type ios-types:asn-ip-type; + } + } + container vpn-distinguisher { + status obsolete; + description + "VPN Distinguisher (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf asn-nn { + status obsolete; + type ios-types:asn-ip-type; + } + container range { + status obsolete; + description + "Specify a range of extended community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf lower-limit { + status obsolete; + description + "VPN extended community lower limit (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type ios-types:asn-ip-type; + } + leaf high-limit { + status obsolete; + description + "VPN extended community high limit (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type ios-types:asn-ip-type; + } + leaf additive { + status obsolete; + description + "Add to the existing extcommunity (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + } + leaf global { + type empty; + } + leaf-list interface-list { + ordered-by user; + description + "Interface specific information"; + must "not (starts-with(., 'AppNav-Compress')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppNav-Compress interface must be created first and deleted last."; + } + must "not (starts-with(., 'AppNav-UnCompress')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppNav-UnCompress interface must be created first and deleted last."; + } + must "not (starts-with(., 'ATM')) or /ios:native/ios:interface/ios:ATM-subinterface/*[concat(local-name(), ios:name) = current()] or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "ATM interface must be created first and deleted last."; + } + must "not (starts-with(., 'ATM-ACR')) or /ios:native/ios:interface/ios:ATM-ACRsubinterface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "ATM-ACR interface must be created first and deleted last."; + } + must "not (starts-with(., 'BDI')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BDI interface must be created first and deleted last."; + } + must "not (starts-with(., 'CEM')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "CEM interface must be created first and deleted last."; + } + must "not (starts-with(., 'CEM-ACR')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "CEM-ACR interface must be created first and deleted last."; + } + must "not (starts-with(., 'Embedded-Service-Engine')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Embedded-Service-Engine interface must be created first and deleted last."; + } + must "not (starts-with(., 'Ethernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Ethernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FastEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FastEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'GigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "GigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FiveGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FiveGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'AppGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "AppGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwentyFiveGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwentyFiveGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'TwoGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TwoGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'FortyGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "FortyGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'HundredGigE')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "HundredGigE interface must be created first and deleted last."; + } + must "not (starts-with(., 'LISP')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:LISP-subinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "LISP interface must be created first and deleted last."; + } + must "not (starts-with(., 'Loopback')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Loopback interface must be created first and deleted last."; + } + must "not (starts-with(., 'Multilink')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Multilink interface must be created first and deleted last."; + } + must "not (starts-with(., 'nve')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "nve interface must be created first and deleted last."; + } + must "not (starts-with(., 'overlay')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "overlay interface must be created first and deleted last."; + } + must "not (starts-with(., 'Port-channel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]or /ios:native/ios:interface/ios:Port-channel-subinterface/*[concat(local-name(), ios:name) = current()]" { + error-message "Port-channel interface must be created first and deleted last."; + } + must "not (starts-with(., 'pseudowire')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "pseudowire interface must be created first and deleted last."; + } + must "not (starts-with(., 'SM')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "SM interface must be created first and deleted last."; + } + must "not (starts-with(., 'Cellular')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Cellular interface must be created first and deleted last."; + } + must "not (starts-with(., 'Dialer')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Dialer interface must be created first and deleted last."; + } + must "not (starts-with(., 'Serial')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Serial interface must be created first and deleted last."; + } + must "not (starts-with(., 'Async')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Async interface must be created first and deleted last."; + } + must "not (starts-with(., 'TenGigabitEthernet')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "TenGigabitEthernet interface must be created first and deleted last."; + } + must "not (starts-with(., 'Tunnel')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Tunnel interface must be created first and deleted last."; + } + must "not (starts-with(., 'Virtual-Template')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Virtual-Template interface must be created first and deleted last."; + } + must "not (starts-with(., 'Vlan')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "Vlan interface must be created first and deleted last."; + } + must "not (starts-with(., 'VirtualPortGroup')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "VirtualPortGroup interface must be created first and deleted last."; + } + must "not (starts-with(., 'vasileft')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "vasileft interface must be created first and deleted last."; + } + must "not (starts-with(., 'vasiright')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "vasiright interface must be created first and deleted last."; + } + must "not (starts-with(., 'BD-VIF')) or /ios:native/ios:interface/*[concat(local-name(), ios:name) = current()]" { + error-message "BD-VIF interface must be created first and deleted last."; + } + type string; + } + container interface { + status obsolete; + uses rt_map_interface-deprecated-grouping; + } + container ip { + description + "IP specific information"; + container address { + description + "Specify IP address"; + leaf prefix-list { + description + "Specify prefix-list"; + type string; + } + } + container default { + description + "Set default information"; + container global { + description + "global routing table"; + uses next-hop-address-grouping; + } + uses next-hop-address-grouping; + container vrf { + description + "VRF name"; + list vrfs { + key "vrf"; + leaf vrf { + description + "WORD;;VRF name"; + type string; + } + uses next-hop-address-grouping; + } + } + } + leaf df { + type uint8 { + range "0..1"; + } + } + container global { + description + "global routing table"; + uses next-hop-address-grouping; + } + container next-hop { + description + "Next hop address"; + leaf-list address-ordered { + description + "IP address of next hop"; + ordered-by user; + type union { + type inet:ipv4-address; + type enumeration { + enum force; + } + } + } + leaf-list address { + description + "IP address of next hop"; + status deprecated; + type union { + type inet:ipv4-address; + type enumeration { + enum force; + } + } + } + container dynamic { + description + "application dynamically sets next hop"; + leaf dhcp { + description + "DHCP learned next hop"; + type empty; + } + } + container encapsulate { + description + "Encapsulation profile for VPN nexthop"; + leaf l3vpn { + description + "L3VPN"; + type string; + } + } + leaf peer-address { + description + "Use peer address (for BGP only)"; + type empty; + } + container recursive { + description + "Recursive next-hop"; + leaf ipv4 { + description + "IP address of recursive next hop"; + type inet:ipv4-address; + } + leaf global { + description + "IP address of recursive next hop"; + type inet:ipv4-address; + } + container vrf { + description + "VRF name"; + list vrfs { + key "vrf"; + leaf vrf { + description + "VRF name"; + type string; + } + leaf ipv4 { + description + "IP address of recursive next hop"; + type inet:ipv4-address; + } + } + } + } + leaf self { + description + "Use self address (for BGP only)"; + type empty; + } + leaf unchanged { + description + "Propagate next hop unchanged"; + type empty; + } + container verify-availability { + description + "Verify if nexthop is reachable"; + presence "true"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of next hop"; + type inet:ipv4-address; + } + leaf range { + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "set the next hop depending on the state of a tracked object"; + type uint16 { + range "1..1000"; + } + } + } + } + } + container precedence { + description + "Set precedence field"; + presence "true"; + leaf precedence-value { + type uint8 { + range "0..7"; + } + } + leaf precedence-fields { + type enumeration { + enum critical; + enum flash; + enum flash-override; + enum immediate; + enum internet; + enum network; + enum priority; + enum routine; + } + } + } + container qos-group { + description + "Set QOS Group ID"; + presence "true"; + leaf qos-id { + type uint8 { + range "0..99"; + } + } + } + container tos_without_presence { + description + "Set type of service field without presence"; + leaf service-values { + type uint8 { + range "0..15"; + } + } + leaf tos-field { + type enumeration { + enum max-reliability; + enum max-throughput; + enum min-delay; + enum min-monetary-cost; + enum normal; + } + } + } + container tos { + description + "Set type of service field"; + presence "true"; + status deprecated; + leaf service-value { + status deprecated; + type uint8 { + range "0..15"; + } + } + leaf tos-fields { + status deprecated; + type enumeration { + enum max-reliability; + enum max-throughput; + enum min-delay; + enum min-monetary-cost; + enum normal; + } + } + } + container vrf { + description + "VRF name"; + list vrfs { + key "vrf"; + leaf vrf { + description + "WORD;;VRF name"; + type string; + } + uses next-hop-address-grouping; + } + } + } + container ipv6 { + description + "IPv6 specific information"; + container address { + description + "IPv6 address"; + leaf plist { + description + "IPv6 prefix-list"; + type string; + } + leaf-list prefix-list { + status deprecated; + description + "IPv6 prefix-list"; + type string; + } + } + container default { + description + "Set default information"; + container global { + description + "global routing table"; + leaf-list next-hop-address { + ordered-by user; + description + "Default Next hop IPv6 address"; + type inet:ipv6-address; + } + leaf next-hop { + status deprecated; + description + "Next hop along path"; + type inet:ipv6-address; + } + } + container next-hop { + description + "Next hop along path"; + leaf-list ipv6 { + ordered-by user; + description + "Default next hop IPv6 address"; + type inet:ipv6-address; + } + list ipv6s { + status obsolete; + key "ipv6"; + leaf ipv6 { + description + "Default next hop IPv6 address"; + type inet:ipv6-address; + status obsolete; + } + } + leaf next-hop-address { + type inet:ipv6-address; + status obsolete; + } + } + list vrf { + key "vrf"; + leaf vrf { + description + "VRF name"; + type string; + } + leaf-list next-hop { + description + "List entries of next-hop ipv6 addresses"; + type inet:ipv6-address; + } + } + list dvrf { + status obsolete; + key "dvrf"; + leaf dvrf { + status obsolete; + description + "VRF name"; + type string; + } + list dvrf0 { + status obsolete; + key "dvrf0"; + leaf dvrf0 { + status obsolete; + description + "VRF name"; + type string; + } + leaf next-hop { + status obsolete; + description + "Next hop along path"; + type empty; + } + } + } + } + container global { + description + "global routing table"; + container next-hop { + description + "IPv6 Next hop"; + status obsolete; + list nh-ipv6 { + status obsolete; + key "nh-ipv6"; + leaf nh-ipv6 { + description + "Next hop address"; + status obsolete; + type inet:ipv6-address; + } + leaf nh-ipv60 { + description + "Next hop address"; + status obsolete; + type inet:ipv6-address; + } + } + leaf verify-availability { + description + "Next hop address"; + type inet:ipv6-address; + status obsolete; + } + } + container next-hop-conf { + description + "IPv6 Next hop"; + leaf-list ipv6-address { + ordered-by user; + description + "Next hop address"; + type inet:ipv6-address; + } + container verify-availability { + description + "Verify if nexthop is reachable"; + list sequence-id { + key "seq-id"; + leaf seq-id { + description + "Sequence to insert into next-hop list"; + type uint16 { + range "1..65535"; + } + } + leaf ipv6-address { + description + "Next hop address"; + type inet:ipv6-address; + } + leaf track { + description + "tracked object number"; + type uint16 { + range "1..1000"; + } + } + } + } + } + } + container next-hop { + description + "IPv6 Next hop"; + leaf-list ipv6 { + ordered-by user; + description + "Next hop IPv6 address"; + type inet:ipv6-address; + } + list nha-ipv6 { + status obsolete; + key "nha-ipv6"; + leaf nha-ipv6 { + description + "Next hop address"; + type inet:ipv6-address; + status obsolete; + } + list nha-ipv60 { + status obsolete; + key "nha-ipv60"; + leaf nha-ipv60 { + description + "Next hop address"; + type inet:ipv6-address; + status obsolete; + } + leaf nh-ipv6 { + description + "Next hop address"; + type inet:ipv6-address; + status obsolete; + } + } + } + container encapsulate { + description + "Encapsulation profile for VPN nexthop"; + leaf l3vpn { + description + "Encapsulation profile name"; + type string; + } + } + leaf peer-address { + description + "Use peer address (for BGP only)"; + type empty; + } + leaf recursive { + description + "IPv6 address of recursive next-hop"; + type inet:ipv6-address; + } + container verify-availability { + description + "Verify if nexthop is reachable"; + status obsolete; + list va-ipv6 { + status obsolete; + key "va-ipv6"; + leaf va-ipv6 { + status obsolete; + description + "Next hop address"; + type inet:ipv6-address; + } + leaf seq-nh { + status obsolete; + description + "Sequence to insert into next-hop list"; + type uint16 { + range "1..65535"; + } + } + } + } + container verify-availability-conf { + description + "Verify if nexthop is reachable"; + list sequence-id { + key "seq-id"; + leaf seq-id { + description + "Sequence to insert into next-hop list"; + type uint16 { + range "1..65535"; + } + } + leaf ipv6-address { + description + "Next hop address"; + type inet:ipv6-address; + } + leaf track { + description + "tracked object number"; + type uint16 { + range "1..1000"; + } + } + } + } + } + leaf precedence { + description + "Precedence value"; + type uint8 { + range "0..7"; + } + } + list vrf { + key "vrf"; + leaf vrf { + description + "VRF name"; + type string; + } + container next-hop { + description + "IPv6 Next hop"; + leaf-list ipv6 { + description + "List entries of next-hop ipv6 addresses"; + type inet:ipv6-address; + } + list verify-availability { + description + "Verify if nexthop is reachable"; + key "ipv6"; + leaf ipv6 { + description + "IP address of next hop"; + type inet:ipv6-address; + } + leaf sequence { + type uint16 { + range "1..65535"; + } + } + leaf track { + description + "Set the next hop depending on the state + of a tracked object"; + must '../sequence'; + type uint16 { + range "1..1000"; + } + } + } + } + } + list bvrf { + status obsolete; + key "bvrf"; + leaf bvrf { + description + "VRF name"; + type string; + status obsolete; + } + list bvrf0 { + status obsolete; + key "bvrf0"; + leaf bvrf0 { + status obsolete; + description + "VRF name"; + type string; + } + container next-hop { + status obsolete; + description + "IPv6 Next hop"; + leaf bipv6 { + status obsolete; + description + "Next hop address"; + type inet:ipv6-address; + } + leaf verify-availability { + status obsolete; + description + "Verify if nexthop is reachable"; + type empty; + } + } + } + } + } + container large-community { + status obsolete; + description + "BGP large community attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + choice large-community-choice { + status obsolete; + leaf none { + status obsolete; + description + "No large community attribute (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + container large-community-value { + status obsolete; + description + "large-community-format (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list large-community-list { + status obsolete; + description + "large community number in aa:bb:cc format (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + ordered-by user; + type ios-types:large-community-number-type; + } + leaf additive { + status obsolete; + description + "Add to the existing community (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + when '../large-community-list'; + type empty; + } + } + } + } + container largecomm-list { + status obsolete; + description + "set BGP large community list (for deletion) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + presence "true"; + choice largecomm-list-choice { + status obsolete; + mandatory true; + leaf largecomm-list-standard { + status obsolete; + description + "Community-list number (standard) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "1..99"; + } + } + leaf largecomm-list-expanded { + status obsolete; + description + "Community-list number (expanded) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "100..500"; + } + } + leaf largecomm-list-name { + status obsolete; + description + "Large-Community-list name (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type string; + } + } + leaf delete { + status obsolete; + description + "Delete matching communities (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + mandatory true; + type empty; + } + } + container level { + description + "Where to import route"; + leaf level-1 { + description + "Import into a level-1 area"; + type empty; + } + leaf level-1-2 { + description + "Import into level-1 and level-2"; + type empty; + } + leaf level-2 { + description + "Import into level-2 sub-domain"; + type empty; + } + leaf nssa-only { + description + "Import only into OSPF NSSA areas and don't propagate"; + type empty; + } + } + container lisp { + description + "Locator ID Separation Protocol specific information"; + leaf locator-set { + description + "The name of the locator set"; + type string; + } + } + leaf local-preference { + status obsolete; + description + "Preference value (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint32 { + range "0..4294967295"; + } + } + container metric { + description + "Metric value for destination routing protocol"; + choice metric-choice { + case relative-value { + leaf metric-change { + description + "+/-;;Add or subtract metric"; + type string { + pattern '(\+|-)\d{1,10}'; + } + } + } + case absolute-values { + container values { + leaf value { + description + "Metric value or Bandwidth in Kbits per second"; + type uint32; + } + leaf delay { + description + "EIGRP delay metric, in 10 microsecond units"; + when '../value'; + type string { + pattern '(\+|-)?\d{1,10}'; + } + } + leaf reliability { + description + "EIGRP reliability metric where 255 is 100% reliable"; + when '../delay'; + must '../loading and ../MTU'; + type uint8; + } + leaf loading { + description + "EIGRP Effective bandwidth metric (Loading) where 255 is 100% loaded"; + when '../delay'; + must '../reliability and ../MTU'; + type uint8 { + range "1..255"; + } + } + leaf MTU { + description + "EIGRP MTU of the path"; + when '../delay'; + must '../reliability and ../loading'; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + } + leaf metric-type { + description + "Type of metric for destination routing protocol"; + type enumeration { + enum external; + enum internal; + enum type-1; + enum type-2; + } + } + leaf mpls-label { + description + "Set MPLS label for prefix"; + type empty; + } + container nlri { + status obsolete; + description + "BGP NLRI type (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf unicast { + status obsolete; + description + "Used in unicast RIB (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + leaf multicast { + status obsolete; + description + "Used in multicast RIB (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + leaf weight { + status obsolete; + description + "BGP weight for routing table (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint32 { + range "0..65535"; + } + } + leaf omp-tag { + if-feature "ios-features:omp"; + description + "OMP tag value for destination routing protocol"; + type uint32; + } + container origin { + status obsolete; + description + "BGP origin code (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf origin-value { + status obsolete; + type enumeration { + enum igp; + enum incomplete; + } + } + leaf egp { + status obsolete; + description + "remote EGP (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint32 { + range "0..65535"; + } + } + } + leaf tag-val { + description + "Tag value for destination routing protocol"; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + container tag { + status deprecated; + description + "Tag value for destination routing protocol (DEPRECATED - please use tag-val)"; + leaf tag-val { + status deprecated; + description + "Tag value (DEPRECATED - please use tag-val)"; + type uint32 { + range "0..4294967295"; + } + } + leaf tag-ipv4 { + status deprecated; + description + "Tag value(dotted decimal format) (DEPRECATED - please use tag-val)"; + type inet:ipv4-address; + } + } + leaf traffic-index { + description + "Bucket number"; + type uint8 { + range "1..64"; + } + } + leaf vrf { + description + "VPN Routing/Forwarding instance name"; + type string; + } + } + container match { + description + "Match values from routing table"; + container additional-paths { + status obsolete; + description + "BGP Add-Path match policies (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + container advertise-set { + status obsolete; + description + "BGP Add-Path advertise-set policy (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + container all { + status obsolete; + description + "BGP Add-Path advertise all paths (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + presence "true"; + leaf best { + status obsolete; + description + "BGP Add-Path best n paths to advertise (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + leaf best-range { + status obsolete; + description + "BGP Add-Path best paths to advertise (lower limit) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + container group-best { + status obsolete; + description + "BGP Add-Path advertise group-best path (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + presence "true"; + leaf best { + status obsolete; + description + "BGP Add-Path advertise best n paths (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + leaf best-range { + status obsolete; + description + "BGP Add-Path advertise best paths (range m to n) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + container best { + status obsolete; + description + "BGP Add-Path advertise best n paths (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + list best-range { + status obsolete; + key "best-range"; + leaf best-range { + status obsolete; + description + "BGP Add-Path best n paths to advertise (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + leaf all { + status obsolete; + description + "BGP Add-Path advertise all paths (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + leaf group-best { + status obsolete; + description + "BGP Add-Path advertise group-best path (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + container best-range { + status obsolete; + description + "BGP Add-Path advertise best paths (range m to n) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + list adv-path { + status obsolete; + key "adv-path"; + leaf adv-path { + status obsolete; + description + "BGP Add-Path best paths to advertise (lower limit) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + leaf adv-path0 { + status obsolete; + description + "BGP Add-Path best paths to advertise (upper limit) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + } + } + container group-best { + status obsolete; + description + "BGP Add-Path advertise group-best path (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + presence "true"; + leaf all { + status obsolete; + description + "BGP Add-Path advertise all paths (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + leaf best { + status obsolete; + description + "BGP Add-Path best n paths to advertise (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + leaf best-range { + status obsolete; + description + "BGP Add-Path best paths to advertise (lower limit) (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint8 { + range "1..3"; + } + } + } + } + } + container as-path { + status obsolete; + description + "Match BGP AS path list (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list access-list { + status obsolete; + description + "AS path access-list (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type uint16 { + range "1..500"; + } + } + } + container clns { + description + "CLNS information"; + leaf-list name { + description + "Named clna list"; + type string; + } + } + container community { + status obsolete; + description + "Match BGP community list (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list community-list { + status obsolete; + description + "Named Access List (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + ordered-by user; + type string; + } + leaf-list name { + description + "Named Access List (OBSOLETE- please use community-list in Cisco-IOS-XE-bgp.yang)"; + status obsolete; + type string; + } + } + container extcommunity { + status obsolete; + description + "Match BGP/VPN extended community list (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list extcommunity-list { + status obsolete; + description + "Named Access List (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + ordered-by user; + type string; + } + leaf-list name { + description + "Named Access List (OBSOLETE- please use extcommunity-list in Cisco-IOS-XE-bgp.yang)"; + status obsolete; + type string; + } + } + container interface { + description + "SPAN source interface"; + leaf-list interface { + type string; + } + } + container ip { + description + "IP specific information"; + container address { + description + "Match address of route or match packet"; + uses ip-access-list-grouping; + } + container flowspec { + description + "Match address of route"; + container dest-pfx { + description + "Match dest prefix component of flowspec prefix"; + uses ip-access-list-grouping; + } + container src-pfx { + description + "Match source prefix component of flowspec prefix"; + uses ip-access-list-grouping; + } + } + container next-hop { + description + "Match next-hop address of route"; + uses ip-access-list-grouping; + } + container redistribution-source { + description + "route redistribution source (EIGRP only)"; + uses ip-access-list-grouping; + } + container route-source { + description + "Match advertising source address of route"; + uses ip-access-list-grouping; + } + } + container ipv6 { + description + "IPv6 specific information"; + container address { + description + "Match address of route"; + uses ipv6-access-list-grouping; + } + container flowspec { + description + "Match address of route"; + container dest-pfx { + description + "Match dest prefix component of flowspec prefix"; + uses ipv6-access-list-grouping; + } + container src-pfx { + description + "Match source prefix component of flowspec prefix"; + uses ipv6-access-list-grouping; + } + } + container next-hop { + description + "Match next-hop address of route"; + uses ipv6-access-list-grouping; + } + container route-source { + description + "Match advertising source address of route"; + uses ipv6-access-list-grouping; + } + } + container large-community { + status obsolete; + description + "Match BGP large-community list (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list name { + status obsolete; + description + "Large community-list name or number (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + ordered-by user; + type string; + } + leaf exact-match { + status obsolete; + description + "Do exact matching of large communities (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + when '../name'; + type empty; + } + } + container length { + description + "Packet length"; + list lengths { + max-elements 1; + key "min-len max-len"; + leaf min-len { + description + "Minimum packet length"; + type uint32 { + range "0..2147483647"; + } + } + leaf max-len { + description + "Maximum packet length"; + type uint32 { + range "0..2147483647"; + } + } + } + } + container traffic-steering { + if-feature "ios-features:pbr-sbit-switching"; + description + "traffic-steering selection"; + leaf service-selector { + description + "Service selector value"; + type uint8 { + range "1..255"; + } + } + } + container local-preference { + status obsolete; + description + "Local preference for route (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list values { + status obsolete; + type uint32 { + range "0..4294967295"; + } + } + } + container mdt-group { + description + "Match routes corresponding to MDT group"; + leaf-list name { + description + "IP Access List"; + type string; + } + } + container metric { + description + "Match metric of route"; + leaf-list metric-value-number-list { + ordered-by user; + description + "Match Metric Value"; + type uint32 { + range "1..4294967295"; + } + } + leaf metric-value-number { + status deprecated; + type uint32 { + range "1..4294967295"; + } + } + leaf metric-value { + status deprecated; + type string; + } + leaf-list external-number-list { + ordered-by user; + description + "Match External Metric Value"; + type uint32 { + range "1..4294967295"; + } + } + leaf external-number { + status deprecated; + description + "match route using external protocol metric"; + type uint32 { + range "1..4294967295"; + } + } + leaf external { + status deprecated; + description + "match route using external protocol metric"; + type string; + } + } + leaf mpls-label { + description + "Match routes which have MPLS labels"; + type empty; + } + container policy-list { + description + "Match IP policy list"; + leaf-list policy-map-names { + description + "IP Policy map name"; + type string; + } + } + leaf omp-tag { + if-feature "ios-features:omp"; + description + "OMP Tag value for route match"; + type uint32; + } + container route-type { + description + "Match route-type of route"; + container external { + description + "external route (BGP, EIGRP and OSPF type 1/2)"; + presence "true"; + leaf type-1 { + description + "OSPF external type 1 route"; + type empty; + } + leaf type-2 { + description + "OSPF external type 2 route"; + type empty; + } + } + leaf internal { + description + "internal route (including OSPF intra/inter area)"; + type empty; + } + leaf level-1 { + description + "IS-IS level-1 route"; + type empty; + } + leaf level-2 { + description + "IS-IS level-2 route"; + type empty; + } + leaf local { + status obsolete; + description + "locally generated route (OBSOLETE - please use route-map configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + container nssa-external { + description + "nssa-external route (OSPF type 1/2)"; + presence "true"; + leaf type-1 { + description + "OSPF external type 1 route"; + type empty; + } + leaf type-2 { + description + "OSPF external type 2 route"; + type empty; + } + } + } + container rpki { + description + "Match RPKI state of route"; + leaf invalid { + description + "RPKI Invalid State"; + type empty; + } + leaf not-found { + description + "RPKI Not Found State"; + type empty; + } + leaf valid { + description + "RPKI Valid State"; + type empty; + } + } + container source-protocol { + description + "Match source-protocol of route"; + presence "true"; + leaf-list bgp { + description + "Border Gateway Protocol (BGP)"; + type ios-types:bgp-as-number-type; + } + leaf connected { + description + "Connected"; + type empty; + } + leaf-list eigrp { + description + "Border Gateway Protocol (BGP)"; + type string; + } + leaf isis { + description + "ISO IS-IS"; + type empty; + } + leaf lisp { + description + "Locator ID Separation Protocol (LISP)"; + type empty; + } + leaf mobile { + description + "Mobile routes"; + type empty; + } + leaf-list ospf { + description + "Open Shortest Path First (OSPF)"; + type string; + } + leaf-list ospfv3 { + description + "OSPFv3"; + type string; + } + leaf rip { + description + "Routing Information Protocol (RIP)"; + type empty; + } + leaf static { + description + "Static routes"; + type empty; + } + leaf omp { + if-feature "ios-features:omp"; + description + "Overlay Management Protocol (OMP)"; + type empty; + } + leaf nat-route { + if-feature "ios-features:sdwan"; + description + "NAT Route Protocol"; + type empty; + } + } + container tag { + description + "Match tag of route"; + leaf-list tag-val { + description + "Tag value for destination routing protocol"; + type union { + type uint32 { + range "0..4294967295"; + } + type inet:ipv4-address; + } + } + leaf-list tag_value { + status deprecated; + description + "Tag value (DEPRECATED - please use tag-val)"; + type uint32 { + range "0..4294967295"; + } + } + leaf-list ipv4-address { + status deprecated; + description + ";;Tag value(dotted decimal format) (DEPRECATED - please use tag-val)"; + type inet:ipv4-address; + } + container list { + description + "Route Tag List"; + leaf-list tag-names { + description + "Tag list name"; + type string; + } + } + } + leaf track { + description + "tracking object"; + type uint16 { + range "1..1000"; + } + } + } + container continue { + description + "Continue on a different entry within the route-map"; + presence "true"; + leaf sequence-number { + description + "Route-map entry sequence number"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping config-route-map-grouping { + list route-map-seq { + key "ordering-seq"; + leaf ordering-seq { + description + "Ordering seq tag"; + type string; + } + leaf operation { + description + "Route map permit/deny set operations"; + default "permit"; + type enumeration { + enum deny; + enum permit; + } + } + leaf sequence { + type uint16 { + range "0..65535"; + } + } + uses config-route-map-common-grouping; + } + list route-map-without-order-seq { + description + "Sequence to insert to/delete from existing route-map entry"; + key "seq_no"; + leaf seq_no { + type uint16 { + range "0..65535"; + } + } + leaf operation { + description + "Route map permit/deny set operations"; + default "permit"; + type enumeration { + enum deny; + enum permit; + } + } + uses config-route-map-common-grouping; + } + } + + augment "/ios:native" { + uses config-named-ordering-route-map-grouping; + } + + augment "/ios:native/ios:route-map" { + uses config-route-map-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rpc.yang new file mode 100644 index 000000000..7257ebaea --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rpc.yang @@ -0,0 +1,1465 @@ +module Cisco-IOS-XE-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rpc"; + prefix ios-xe-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + include Cisco-IOS-XE-aaa-rpc; + include Cisco-IOS-XE-arp-rpc; + include Cisco-IOS-XE-bgp-rpc; + include Cisco-IOS-XE-crypto-rpc; + include Cisco-IOS-XE-multicast-rpc; + include Cisco-IOS-XE-dhcp-rpc; + include Cisco-IOS-XE-ospf-rpc; + include Cisco-IOS-XE-platform-rpc; + + organization + "Cisco Systems"; + contact + ""; + description + "NED RPC YANG module for IOS + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added monitor support"; + cisco-semver:module-version "3.6.0"; + } + revision 2024-03-01 { + description + "- Added monitor pcm-trace support"; + cisco-semver:module-version "3.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.4.0"; + } + revision 2021-07-01 { + description + "- Added Null string support in count leaf"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-03-01 { + description + "- Added factory reset support"; + cisco-semver:module-version "3.2.0"; + } + revision 2020-11-01 { + description + "Added clear iox feature + corrected new keyword addition"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "Added multicast feature RPC"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "Added a container in monitor capture"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Added new test RPC"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-25 { + description + "Exec command to send AMP file analysis apikey"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-06 { + description + "Add UTD database update EXEC command"; + } + revision 2018-10-29 { + description + "Added range-string for debug ipsec command"; + } + revision 2018-10-12 { + description + "Added crypto pki debug and exec commands"; + } + revision 2018-10-02 { + description + "Add unmount command in existing hw-module chain"; + } + revision 2018-10-01 { + description + "Add IPSEC no debug exec commands"; + } + revision 2018-09-20 { + description + "Add IPSEC debug exec commands"; + } + revision 2018-08-17 { + description + "Added cts credential * and clear cts * commands"; + } + revision 2018-08-05 { + description + "Add License Install Commands"; + } + revision 2018-08-01 { + description + "Add UTD clear commands"; + } + revision 2018-07-30 { + description + "Add hw-module commands"; + } + revision 2018-06-18 { + description + "Update UTD signature update EXEC command to include local file support"; + } + revision 2018-05-21 { + description + "Add Umbrella clear commands"; + } + revision 2018-04-18 { + description + "Add ZBFW clear commands"; + } + revision 2018-03-14 { + description + "Add UTD signature update EXEC command"; + } + revision 2017-12-18 { + description + "Add GIR start maintenance and stop maintenance EXEC commands"; + } + revision 2017-12-06 { + description + "Add Viptela clear aaa local user lockout username <> command"; + } + revision 2017-11-27 { + description + "Add Viptela clear and release commands"; + } + revision 2017-11-21 { + description + "Clear flow commands"; + } + revision 2017-11-14 { + description + "Add app-hosting and guestshell EXEC commands"; + } + revision 2017-11-04 { + description + "Add reason to reload"; + } + revision 2017-10-12 { + description + "Added more nodes to the license RPC"; + } + revision 2017-10-10 { + description + "Add copy and delete EXEC commands"; + } + revision 2017-09-21 { + description + "Add virtual-service EXEC commands"; + } + revision 2017-08-28 { + description + "Added the force option to the reload RPC"; + } + revision 2017-07-13 { + description + "Added service sd-avc CLI"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping cisco-xe-rpc-output { + description + "Used to return output from RPCs"; + leaf result { + type string; + description + "Output returned by the network element"; + } + } + + rpc default { + description + "Set a command to its defaults"; + input { + choice default-choice { + mandatory true; + case interface-case { + leaf interface { + description + "Select an interface to configure"; + type string { + pattern '[A-Za-z]([\w/.-]+)'; + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc clear { + description + "Clear"; + input { + choice clear-choice { + mandatory true; + case interface-case { + leaf interface { + description + "Select an interface to clear"; + type string { + pattern '[A-Za-z]([\w/.-]+)'; + } + } + } + case count-case { + leaf count { + description + "Select an interface to clear"; + type string { + pattern '(([A-Za-z]([\w/.-]+))|\w{0})'; + } + } + } + case ip-case { + container ip { + choice ip-protocol { + case bgp-case { + uses clear-choice-ip-case-ip-protocol-bgp-case-grouping; + } + case dhcp-case { + uses clear-choice-ip-case-ip-protocol-dhcp-case-grouping; + } + case ospf-case { + uses clear-choice-ip-case-ip-protocol-ospf-case-grouping; + } + } + } + } + case arp-cache-case { + uses clear-choice-arp-cache-case-grouping; + } + case aaa-case { + uses clear-choice-aaa-case-grouping; + } + case platform-case { + uses clear-choice-platform-case-grouping; + } + case iox-case { + leaf iox { + description + "Clear all IOX data to the default, initial IOX state"; + type empty; + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc crypto { + description + "Encryption related commands"; + input { + uses crypto-input-grouping; + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc release { + description + "Release a resource"; + input { + leaf dhcp { + description + "Release a dhcp lease (an interface)"; + type string; + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc reload { + description + "Halt and perform a cold restart"; + input { + leaf force { + description + "Force a restart even if there is unsaved config"; + type boolean; + } + leaf reason { + description + "Reload reason"; + type string; + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc factory-reset { + description + "Perform a factory reset of the device"; + input { + container all { + description + "Perform a factory reset of the device. This will + restore the device to the factory setting and is an + irreversible operation"; + presence "true"; + } + leaf keep-licensing-info { + description + "Perform a factory reset of the device. This will + keep some licensing specific information"; + type empty; + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc license { + input { + choice license-command-choice { + case licese-smart { + container smart { + choice smart-choice { + case smart-save-case { + container save { + choice save-case { + case save-usage-case { + container usage { + choice usage-case { + case usage-all { + container all { + leaf file { + description + "The local or network file path to write the RUM + reports to."; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + } + } + case usage-unreported { + container unreported { + leaf file { + description + "The local or network file path to write the RUM + reports to."; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + } + } + } + leaf days { + description + "Save RUM reports that include measurements in the + specified number of days"; + type uint32 { + range "1..1000000"; + } + } + leaf file { + description + "The local or network file path to write the RUM + reports to."; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + } + } + case save-trust-request-case { + leaf trust-request { + description + "The local or network file path to write + the trust request to."; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + } + } + } + } + case smart-authorization-case { + container authorization { + choice authorization-choice { + case authorization-request-case { + container request { + leaf add { + description + "The feature name to get the authorization code for + The smart agent will look this up in it's mapping + table and get the proper entitlement tag for it."; + type string; + } + leaf replace { + description + "The feature name to get the authorization code for + The smart agent will look this up in it's mapping + table and get the proper entitlement tag for it."; + type string; + } + leaf all { + description + "Applies to an HA configuration."; + type empty; + } + leaf local { + description + "The authorization request will only be for + the active device."; + type empty; + } + } + } + case authorization-return-case { + container return { + leaf all { + description + "Applies to an HA configuration."; + type empty; + } + leaf local { + description + "The authorization request will only be for + the active device."; + type empty; + } + leaf offline { + description + "Returns a currently installed authorization + code offline."; + type string; + } + leaf online { + description + "Returns a currently installed authorization + code online."; + type empty; + } + } + } + } + } + } + case import-case { + leaf import { + description + "The local or network file path to read from"; + mandatory true; + type string; + } + } + case trust-case { + container trust { + leaf idtoken { + description + "The ID token used to establish trust."; + mandatory true; + type string; + } + leaf all { + description + "If true perform the operation for all devices + in an HA configuration."; + type empty; + } + leaf local { + description + "If false then only establish + trust for the active device."; + type empty; + } + leaf force { + description + "Force the trust establishment even if the product + instance has already establish trust with the Cisco + Smart Software Management."; + type empty; + } + } + } + case register-case { + container register { + leaf idtoken { + mandatory true; + type string; + } + leaf force { + description + "Forcefully register"; + type empty; + } + } + } + case deregister-case { + leaf deregister { + type empty; + } + } + case renew-case { + container renew { + choice renew-choice { + mandatory true; + leaf ID { + type empty; + } + leaf auth { + type empty; + } + } + } + } + } + } + } + case license-install { + leaf install { + description + "Install license information"; + type string { + pattern '(((bootflash:)|(flash:)|(ftp:)|(http:)|(https:)|(nvram:)|(param:)|(scp:)|(syslog)|(system:)|(tftp:)|(tmpsys:)).*)'; + } + } + } + case license-clear { + leaf clear { + description + "Clear license information. Feature name to clear"; + type string; + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc service { + description + "IOS integrated service enablement"; + input { + choice services-choice { + case wass-case { + container waas { + description + "WAAS service"; + container wcm { + description + "Configure WAAS Central Manager (WCM)"; + choice wcm-choices { + case ip-case { + container ip { + description + "ipv4"; + leaf address { + type inet:ipv4-address; + } + } + } + case ipv6-case { + container ipv6 { + description + "ipv6 address"; + leaf address { + type inet:ipv6-address; + } + } + } + } + } + } + } + case sd-avc-case { + container sd-avc { + description + "SD-AVC service management"; + choice sd-avc-choice { + mandatory true; + case activate-case { + leaf activate { + type empty; + } + } + case configure-case { + container configure { + container gateway { + leaf interface { + type string; + } + leaf service-ip { + type inet:ipv4-address; + } + leaf activate { + type empty; + } + } + } + } + case connect-case { + leaf connect { + type empty; + } + } + case help-case { + leaf help { + type empty; + } + } + case deactivate-case { + leaf deactivate { + type empty; + } + } + case install-case { + container install { + leaf package { + type string; + } + } + } + case status-case { + leaf status { + type empty; + } + } + case unconfigure-case { + leaf unconfigure { + type empty; + } + } + case uninstall-case { + leaf uninstall { + type empty; + } + } + case upgrade-case { + container upgrade { + leaf package { + type string; + } + } + } + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc virtual-service { + description + "Virtual-service management"; + input { + choice operation { + mandatory true; + container install { + leaf name { + type string; + } + leaf package { + type string; + } + leaf media { + type string; + } + } + container uninstall { + leaf name { + type string; + } + } + container upgrade { + leaf name { + type string; + } + leaf package { + type string; + } + } + container move { + leaf name { + mandatory true; + type string; + } + choice file-choice { + mandatory true; + container core { + leaf to { + type string { + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + container log { + leaf to { + type string { + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc copy { + description + "Copy from one file to another"; + input { + leaf source-drop-node-name { + mandatory true; + type string { + pattern '((((bootflash:)|(harddisk:)|(flash:)|(nvram:)|(ftp:)|(http:)|(https:)|(scp:)|(tftp:)).*)|((running-config)|(startup-config)))'; + } + } + leaf destination-drop-node-name { + mandatory true; + type string { + pattern '((((bootflash:)|(harddisk:)|(flash:)|(nvram:)|(ftp:)|(http:)|(https:)|(scp:)|(tftp:)).*)|((running-config)|(startup-config)))'; + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc delete { + description + "Delete a file"; + input { + leaf filename-drop-node-name { + mandatory true; + type string { + pattern '(((bootflash:)|(harddisk:)|(flash:)|(nvram:)).*)'; + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc app-hosting { + description + "App-hosting management"; + input { + choice lifecycle { + mandatory true; + container install { + leaf appid { + type string; + } + leaf package { + type string; + } + } + container uninstall { + leaf appid { + type string; + } + } + container activate { + leaf appid { + type string; + } + } + container deactivate { + leaf appid { + type string; + } + } + container start { + leaf appid { + type string; + } + } + container stop { + leaf appid { + type string; + } + } + container upgrade { + leaf appid { + type string; + } + leaf package { + type string; + } + } + container verification { + leaf enable { + type empty; + } + leaf disable { + type empty; + } + } + container move { + choice type-choice { + mandatory true; + case appid-case { + leaf appid { + mandatory true; + type string; + } + choice file-choice { + mandatory true; + container core { + leaf to { + type string { + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + container log { + leaf to { + type string { + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + } + } + case system-case { + container system { + container techsupport { + leaf to { + type string { + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + } + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc guestshell { + description + "guestshell managementshell"; + input { + choice action { + mandatory true; + case destroy-case { + leaf destroy { + description + "Destroy guestshell"; + type empty; + } + } + case disable-case { + leaf disable { + description + "Disable guestshell"; + type empty; + } + } + case enable-case { + leaf enable { + description + "Enable guestshell"; + type empty; + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc start { + description + "Start system operations"; + input { + leaf maintenance { + description + "GIR start maintenance mode"; + type empty; + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc stop { + description + "Stop system operations"; + input { + leaf maintenance { + description + "GIR stop maintenance mode"; + type empty; + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc hw-module { + description + "Control of individual components in the system"; + input { + container switch { + description + "Switch in the system"; + leaf switch-number-drop-node-name { + description + "Switch number in the Stack (Refer to show switch CLI)"; + type uint8 { + range "1..8"; + } + } + container usbflash1 { + description + "USB SSD"; + choice umount-sec { + mandatory true; + case unmount-case { + leaf unmount { + description + "unmount on usbflash1"; + type empty; + } + } + case security-case { + container security { + description + "Security on usbflash1"; + choice security-choice { + mandatory true; + case enable-case { + container enable { + description + "Enable security on usbflash1"; + presence "true"; + leaf password { + description + "Enter password for enabling security on usbflash1"; + type string; + } + } + } + case disable-case { + container disable { + description + "Disable security on usbflash1"; + presence "true"; + leaf password { + description + "Enter password for Disabling security on usbflash1"; + type string; + } + } + } + case unlock-case { + container unlock { + description + "Unlock security on usbflash1"; + presence "true"; + leaf password { + description + "Enter password for unlock security on usbflash1"; + type string; + } + } + } + } + } + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc debug { + description + "Debug"; + input { + choice debug-choice { + mandatory true; + case crypto-case { + uses debug-input-crypto-grouping; + } + case platform-case { + uses debug-choice-platform-case-grouping; + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc monitor { + description + "monitor"; + input { + leaf capture { + description + "Capture session"; + type string; + } + leaf access-list { + description + "access-list to be attached"; + type string; + } + container control-plane { + description + "Control Plane"; + choice capture-direction-choice { + case both-case { + leaf both { + description + "Inbound and outbound packets"; + type empty; + } + } + case in-case { + leaf in { + description + "Inbound packets"; + type empty; + } + } + case out-case { + leaf out { + description + "Outbound packets"; + type empty; + } + } + } + } + leaf match { + description + "Describe filters inline"; + type string; + } + container inner { + description + "Inner filter options"; + leaf-list mac { + description + "Inner filter mac"; + max-elements 5; + type ios-types:cisco-mac-address-type; + } + container protocol { + description + "Inner filter protocol"; + leaf DHCP { + description + "DHCP protocol"; + type empty; + } + } + } + leaf interface { + description + "Interface"; + type string; + } + choice capture-direction-choice { + case both-case { + leaf both { + type empty; + } + } + case in-case { + leaf in { + type empty; + } + } + case out-case { + leaf out { + type empty; + } + } + } + container pcm-tracer { + description + "PCM tracer"; + choice pcm-tracer-choice { + case start-case { + container start { + description + "start PCM Capture"; + leaf profile { + description + "PCM tracer profile"; + type uint8 { + range "1..10"; + } + } + } + } + case stop-case { + container stop { + description + "stop PCM Capture"; + leaf profile { + description + "PCM tracer profile"; + type uint8 { + range "1..10"; + } + } + } + } + } + } + container buffer { + description + "Buffer options"; + leaf size { + description + "Size of buffer in MB"; + type uint8 { + range "1..100"; + } + } + leaf circular { + description + "circular buffer"; + type empty; + } + } + container limit { + description + "Limit Packets Captured"; + leaf duration { + description + "Limit total duration of capture in seconds"; + type uint32 { + range "1..1000000"; + } + } + leaf every { + description + "Limit capture to one in every nth packet"; + type uint32 { + range "2..100000"; + } + } + leaf packet-len { + description + "Limit the packet length to capture"; + type uint16 { + range "64..9500"; + } + } + leaf packets { + description + "Limit number of packets to capture"; + type uint32 { + range "1..100000"; + } + } + leaf pps { + description + "Limit number of packets per second to capture"; + type uint32 { + range "1..1000000"; + } + } + } + choice capture-command-choice { + case start-case { + leaf start { + description + "Enable session capture points"; + type empty; + } + } + case stop-case { + leaf stop { + description + "Disable session capture points"; + type empty; + } + } + case stop-export-case { + leaf stop_export { + description + "Export session capture buffer"; + type empty; + } + } + case export-case { + leaf export { + description + "Export Buffer"; + type string; + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc no { + description + "no"; + input { + choice no-command-choice { + case monitor-case { + container monitor { + description + "Monitor capture"; + leaf capture { + description + "Capture session"; + type string; + } + leaf access-list { + description + "access-list to be attached"; + type empty; + } + container control-plane { + description + "Control Plane"; + choice capture-direction-choice { + case both-case { + leaf both { + description + "Inbound and outbound packets"; + type empty; + } + } + case in-case { + leaf in { + description + "Inbound packets"; + type empty; + } + } + case out-case { + leaf out { + description + "Outbound packets"; + type empty; + } + } + } + } + leaf match { + description + "Describe filters inline"; + type empty; + } + container inner { + description + "Inner filter options"; + leaf-list mac { + description + "Inner filter mac"; + max-elements 5; + type ios-types:cisco-mac-address-type; + } + container protocol { + description + "Inner filter protocol"; + leaf dhcp { + description + "DHCP protocol"; + type empty; + } + } + } + leaf interface { + description + "Interface name"; + type string; + } + choice capture-direction-choice { + case both-case { + leaf both { + description + "Inbound and outbound packets"; + type empty; + } + } + case in-case { + leaf in { + description + "Inbound packets"; + type empty; + } + } + case out-case { + leaf out { + description + "Outbound packets"; + type empty; + } + } + } + container buffer { + description + "Buffer options"; + leaf size { + description + "Size of buffer in MB"; + type empty; + } + leaf circular { + description + "circular buffer"; + type empty; + } + } + container limit { + description + "Limit Packets Captured"; + leaf duration { + description + "Limit total duration of capture in seconds"; + type empty; + } + leaf every { + description + "Limit capture to one in every nth packet"; + type empty; + } + leaf packet-len { + description + "Limit the packet length to capture"; + type empty; + } + leaf packets { + description + "Limit number of packets to capture"; + type empty; + } + leaf pps { + description + "Limit number of packets per second to capture"; + type empty; + } + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc pnpa { + description + "Plug and play command"; + input { + container service { + description + "Service Name"; + choice service-choice { + case wakeup-case { + container wakeup { + description + "Wake up Profile"; + leaf profile-drop-node-name { + description + "Profile name"; + type string; + } + } + } + case reset-case { + leaf reset { + description + "Reset PnP config"; + type empty; + } + } + } + } + } + output { + uses cisco-xe-rpc-output; + } + } + + rpc test { + description + "test exec command"; + input { + choice test-feature; + } + output { + uses cisco-xe-rpc-output; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-rsvp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-rsvp.yang new file mode 100644 index 000000000..c254b1431 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-rsvp.yang @@ -0,0 +1,654 @@ +module Cisco-IOS-XE-rsvp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-rsvp"; + prefix ios-rsvp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Resource Reservation Protocol (RSVP) Yang model. + Copyright (c) 2017, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added default value for ip rsvp authentication lifetime"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Modelling of ip rsvp bandwidth percent "; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "- Fix copyright statement"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping rsvp-authentication-grouping { + leaf challenge { + description + "Perform challenge/response handshake with new neighbor(s)"; + type empty; + } + leaf key-chain { + description + "Name of key chain to use (as created by global 'key chain' command)"; + type string; + } + container lifetime { + description + "Maximum lifetime of neighbor authentication state"; + leaf hh-mm-ss { + description + "Lifetime in hh:mm:ss format"; + type ios-types:hhmmss-type; + default "00:30:00"; + } + } + leaf type { + description + "Type of authentication algorithm (default = md5)"; + type enumeration { + enum md5; + enum sha-1; + } + } + leaf window-size { + description + "Maximum number of messages allowed in receive window (default = 1)"; + type uint8 { + range "1..64"; + } + } + } + + grouping config-interface-ip-rsvp-grouping { + container rsvp { + description + "RSVP Interface Commands"; + container authentication { + description + "Enables RSVP neighbor authentication (RFC 2747)"; + presence "true"; + leaf key { + description + "Password (8 to 40 characters, spaces allowed)"; + type string; + } + uses rsvp-authentication-grouping; + } + container bandwidth { + description + "RSVP Reservable Bandwidth (kbps)"; + presence "true"; + container value { + leaf value { + description + "Reservable Bandwidth (kbps)"; + type uint32 { + range "1..10000000"; + } + } + leaf sub-pool { + description + "Reservable Bandwidth for Tunnel using sub (BC1) pool (kbps)"; + type uint32 { + range "1..10000000"; + } + } + } + leaf percent { + description + "Percentage of interface bandwidth. Values higher than 100 represent overbooking"; + type uint16 { + range "1..1000"; + } + } + container mam { + description + "Use bandwidth with MAM model of DSTE"; + container max-reservable-bw { + description + "Maximum Reservable bandwidth for MAM"; + presence "true"; + leaf value { + description + "Reservable Bandwidth (kbps)"; + type uint32 { + range "1..10000000"; + } + } + leaf bc0 { + description + "Reservable Bandwidth from global (BC0) pool (kbps)"; + type uint32 { + range "0..10000000"; + } + } + leaf bc1 { + description + "Reservable Bandwidth from sub pool (kbps)"; + type uint32 { + range "0..10000000"; + } + } + } + } + } + container neighbor { + description + "Select permissible RSVP neighbors"; + presence "true"; + leaf acl-number { + description + "Access list"; + type uint8 { + range "1..199"; + } + } + } + container precedence { + description + "RSVP precedence setting"; + leaf conform { + description + "Precedence for packets conforming to RSVP flowspec bandwidth"; + type uint8 { + range "0..7"; + } + } + leaf exceed { + description + "Precedence for packets over RSVP flowspec bandwidth"; + type uint8 { + range "0..7"; + } + } + } + container signalling { + description + "RSVP signalling"; + leaf dscp { + description + "DSCP for RSVP signalling messages"; + type uint8 { + range "0..63"; + } + } + container fast-local-repair { + description + "Fast Local Repair parameters"; + leaf wait-time { + description + "Wait Time for start of Fast Local Repair in msec"; + type uint16 { + range "0..5000"; + } + } + } + container hello { + description + "Enable neighbor-down detection"; + presence "true"; + leaf bfd { + description + "Configure BFD trigger for MPLS/TE FRR"; + type empty; + } + leaf dscp { + description + "DSCP for RSVP Hello messages"; + type uint8 { + range "0..63"; + } + } + container fast-reroute { + description + "Configure RSVP Hello refresh behavior for Fast-Reroute"; + leaf dscp { + description + "DSCP for RSVP Hello messages"; + type uint8 { + range "0..63"; + } + } + container refresh { + description + "Configure RSVP Hello refresh behavior for Fast-Reroute"; + leaf interval { + description + "Hello interval in msec"; + type uint16 { + range "10..30000"; + } + } + leaf misses { + description + "Number of missed Hello Acks which triggers neighbor down"; + type uint8 { + range "4..10"; + } + } + } + } + leaf graceful-restart { + description + "Configure RSVP Graceful Restart"; + type empty; + } + container refresh { + description + "Configure RSVP Hello refresh behavior for Fast-Reroute"; + leaf interval { + description + "Hello interval in msec"; + type uint16 { + range "10..30000"; + } + } + leaf misses { + description + "Number of missed Hello Acks which triggers neighbor down"; + type uint8 { + range "4..10"; + } + } + } + container reroute { + description + "Configure RSVP Hello refresh behavior for Reroute"; + leaf dscp { + description + "DSCP for RSVP Hello messages"; + type uint8 { + range "0..63"; + } + } + container refresh { + description + "Configure RSVP Reroute Hello refresh behavior"; + leaf interval { + description + "Hello Reroute interval in msec"; + type uint16 { + range "1000..30000"; + } + } + leaf misses { + description + "Number of missed Hello Acks which triggers neighbor down"; + type uint8 { + range "4..10"; + } + } + } + } + } + } + container tos { + description + "RSVP TOS setting"; + leaf conform { + description + "TOS for packets conforming to RSVP flowspec bandwidth"; + type uint8 { + range "0..31"; + } + } + leaf exceed { + description + "TOS for packets over RSVP flowspec bandwidth"; + type uint8 { + range "0..31"; + } + } + } + } + } + + grouping config-ip-rsvp-grouping { + container rsvp { + description + "IP RSVP"; + container authentication { + description + "Enables RSVP neighbor authentication (RFC 2747)"; + presence "true"; + container neighbor { + description + "Specific neighbor(s) to authenticate"; + container access-list { + description + "Specify neighbor by IP access list"; + list number { + key "acl-number"; + leaf acl-number { + description + "standard IP access list number"; + type uint8 { + range "1..99"; + } + } + uses rsvp-authentication-grouping; + } + list name { + key "acl-name"; + leaf acl-name { + description + "standard IP access list name"; + type string; + } + uses rsvp-authentication-grouping; + } + } + container address { + description + "Specify neighbor by IP address"; + list ipv4 { + key "ipv4-address"; + leaf ipv4-address { + description + "Neighbor's IP address"; + type inet:ipv4-address; + } + uses rsvp-authentication-grouping; + } + } + } + uses rsvp-authentication-grouping; + } + container signalling { + description + "IP RSVP signalling"; + container fast-local-repair { + description + "Configure RSVP Fast Local Repair"; + leaf notifications { + description + "Number of notifications to process before suspend"; + type uint16 { + range "10..10000"; + } + } + leaf rate { + description + "Fast Local Repair state refresh/repair rate in messages/sec"; + type uint16 { + range "1..2500"; + } + } + } + container hello { + description + "Enable neighbor-down detection"; + presence "true"; + leaf bfd { + description + "Enable BFD detection for fast-reroute"; + type empty; + } + container graceful-restart { + description + "Configure RSVP Graceful Restart"; + leaf dscp { + description + "RSVP Graceful Restart Hello Messages DSCP value"; + type uint8 { + range "0..63"; + } + } + container mode { + description + "Select Graceful Restart capabilities"; + leaf full { + description + "Capable of recovering self, and helping neighbor recover"; + type empty; + } + leaf help-neighbor { + description + "Capable of helping neighbor recover"; + type empty; + } + } + container refresh { + description + "Configure RSVP Hello refresh behavior for Graceful Restart"; + leaf interval { + description + "Hello interval in msec"; + type uint16 { + range "1000..30000"; + } + } + leaf misses { + description + "Number of missed Hello Acks which triggers neighbor down"; + type uint8 { + range "4..10"; + } + } + } + container send { + description + "Configure parameters in outgoing Hello msgs"; + leaf recovery-time { + description + "recovery-time in msec"; + type uint32 { + range "0..3600000"; + } + } + } + } + leaf statistics { + description + "Enables Hello extensions statistics"; + type empty; + } + } + leaf initial-retransmit-delay { + description + "Initial retransmit delay (msecs)"; + type uint16 { + range "500..30000"; + } + } + container patherr { + description + "Path Error State Removal for LSP sessions"; + container state-removal { + description + "Enable state removal"; + presence "true"; + leaf neighbor { + description + "Access list number identifying neighbor(s)"; + type uint8 { + range "1..99"; + } + } + } + } + container rate-limit { + description + "Limit rate at which RSVP msgs are sent to neighbors"; + presence "true"; + leaf burst { + description + "Number of messages sent each period from the queue, normally"; + type uint16 { + range "1..5000"; + } + } + leaf limit { + description + "Max number of msgs sent each period from the queue, when behind"; + type uint16 { + range "1..5000"; + } + } + leaf maxsize { + description + "Maximum queue depth"; + type uint16 { + range "1..5000"; + } + } + leaf period { + description + "Every interval (msec) send burst number of messages"; + type uint16 { + range "10..5000"; + } + } + } + container refresh { + description + "Configure RSVP refresh behavior"; + leaf interval { + description + "Refresh interval in milliseconds"; + type uint32 { + range "5000..2147483647"; + } + } + leaf misses { + description + "Number of missed refreshes which trigger state timeout"; + type uint8 { + range "2..10"; + } + } + container reduction { + description + "Configure refresh reduction"; + presence "true"; + leaf ack-delay { + description + "Time to wait to accumulate ACKs (msecs)"; + type uint16 { + range "100..10000"; + } + } + } + } + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-rsvp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet-deviation.yang new file mode 100644 index 000000000..e7adc23a9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet-deviation.yang @@ -0,0 +1,47 @@ +module Cisco-IOS-XE-sanet-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sanet-deviation"; + prefix ios-sanet-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-sanet { + prefix ios-sanet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Deviation Session Aware Networking (SaNet) Yang model. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-01 { + description + "Added not supported deviation for authentication cli on port-channel"; + cisco-semver:module-version "1.0.1"; + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios-sanet:authentication" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet.yang new file mode 100644 index 000000000..45e05e7d2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sanet.yang @@ -0,0 +1,1305 @@ +module Cisco-IOS-XE-sanet { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sanet"; + prefix ios-sanet; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Session Aware Networking (SaNet) Yang model. + Copyright (c) 2016-2017, 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for enabling and disabling the session-termination logs + - Added and fixed descriptions for a nodes in filter-list and access-session + - Moved deprecated authentication timer, order, priority, fail nodes to obsolete "; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Added support to disable interim accounting in wired"; + cisco-semver:module-version "4.7.0"; + } + revision 2023-07-01 { + description + "- Deprecated vm-policy under bridge-mode node"; + cisco-semver:module-version "4.6.0"; + } + revision 2023-03-01 { + description + "- Modified lower limit and description for inactivity timer"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "4.4.0"; + } + revision 2022-07-01 { + description + "Added support for wireless chargeable user identity"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-03-01 { + description + "Added support for enabling bridge-mode feature"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "Added support for single-policy conversion"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-08-10 { + description + "- Added support for uint32 values for reauthentication timer"; + } + revision 2020-07-01 { + description + "- Added when statement for authentication container so that authentication + cli is not supported on subinterfaces; + - Hardened the authorize-action with must condition"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added interface authentication order-config and priority-config + to replace order and priority, respectively + - Added session limit configuration"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added support for access-session tls-version CLI + - Added timer config + - Added support for access-session mac-move deny-uncontrolled CLI"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for authentication timer unauthorized + - Added support for authentication event fail retry commands + - Added description and range for authentication event fail action authorize + vlan cli and default for authentication control-direction + - Added support for authentication convert-to new-style forced + - Add support for authentication link security policy + - Add support for autoconf enable + - Added description for authentication command disable-port ignore + - Added authentication event fail action next-method cli support + - Added missing range for authentication fallback and defaults for authentication commands + - Added support for dhcpv6, vlan-id in access-session attributes filter-list + and access-session authentication attributes filter-spec include list cli"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-30 { + description + "Added support for access-session accounting and acl along with http filter"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-11 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-access-session-grouping { + container access-session { + description + "Access Session Global Configuration Commands"; + container accounting { + description + "Accounting Filter List Configuration"; + leaf interim-disable { + description + "Disable interim accounting"; + type boolean; + default "false"; + } + container attributes { + description + "Attributes Filter List Configuration"; + container filter-spec { + description + "Filter Spec Configuration"; + container include { + description + "Include Filter Spec Configuration"; + leaf list { + description + "Filter list"; + type leafref { + path "/ios:native/ios-sanet:access-session/ios-sanet:attributes/ios-sanet:filter-list/ios-sanet:list/ios-sanet:name"; + } + } + } + } + } + } + container acl { + description + "Application of ACLs on access-session"; + container default { + description + "Defines the behaviour in the absence of an explicit ACL"; + leaf passthrough { + description + "Allows session to send traffic through acl"; + type empty; + } + } + leaf ack-timer { + description + "Defines the timeout in seconds for receiving ACK on applying the policy"; + type uint16 { + range "20..300"; + } + } + } + container attributes { + description + "Attributes Filter List Configuration"; + container filter-list { + description + "Filter List Configuration"; + list list { + description + "Filter List"; + key "name"; + leaf name { + description + "Name of the Filter List"; + type string; + } + leaf cdp { + description + "Include CDP Protocol attributes"; + type empty; + } + leaf dhcp { + description + "Include DHCP Protocol attributes"; + type empty; + } + leaf dhcpv6 { + description + "Include DHCPv6 Protocol attributes"; + type empty; + } + leaf http { + description + "Include HTTP Protocol attributes"; + type empty; + } + leaf lldp { + description + "Include LLDP Protocol attributes"; + type empty; + } + leaf vlan-id { + description + "Include vlan attribute"; + type empty; + } + } + } + } + container authentication { + description + "Authentication Filter List Configuration"; + container attributes { + description + "Attributes Filter List Configuration"; + container filter-spec { + description + "Filter Spec Configuration"; + container include { + description + "Include Filter Spec Configuration"; + leaf list { + description + "Filter list"; + type leafref { + path "/ios:native/ios-sanet:access-session/ios-sanet:attributes/ios-sanet:filter-list/ios-sanet:list/ios-sanet:name"; + } + } + } + } + } + } + container cache { + description + "Set cache configuration"; + leaf limit { + description + "Limit"; + type uint16 { + range "0..24000"; + } + default "24000"; + } + } + container event-logging { + description + "Event log Configuration"; + container enable { + description + "Enable Event logging"; + container session-limit { + description + "maximum number of sessions to be tracked"; + leaf value { + description + "Session Limit or max sessions to be logged"; + type uint16 { + range "1..4000"; + } + } + leaf event-limit { + description + "max events per session to be logged"; + type uint8 { + range "1..200"; + } + } + } + } + } + container interface-template { + description + "Set the interface-template sticky globally"; + container sticky { + description + "Interface templates set to sticky"; + presence "true"; + leaf timer { + description + "Sticky timer value"; + type uint16 { + range "1..65535"; + } + } + } + } + container mac-move { + description + "Set required action when a MAC move is detected"; + leaf deny { + description + "Deny MAC moves (clears existing session)"; + type empty; + } + leaf deny-uncontrolled { + description + "Deny MAC move to uncontrolled port"; + type empty; + } + } + leaf monitor { + description + "Apply template to monitor access sessions on the port"; + type empty; + } + leaf tls-version { + description + "Set required TLS version"; + type enumeration { + enum 1.0; + enum 1.2; + enum all; + } + default "all"; + } + container single-policy { + description + "Replace all interface service-policies with single policy"; + choice type { + container interface { + description + "Name of service-policy interface"; + leaf value { + type string; + } + leaf forced { + description + "Force single policy configuration"; + type empty; + } + } + container policy-name { + description + "Name of Policy-map"; + leaf value { + type leafref { + path "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:name"; + } + } + leaf forced { + description + "Force single policy configuration"; + type empty; + } + } + } + } + container bridge-mode { + description + "bridge-mode"; + leaf vm-policy-config { + description + "Policy-map to be used for bridge-mode vm sessions"; + must "(/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:type = 'control' or .='BUILTIN_AUTOCONF_POLICY')" { + error-message + "Subscriber control policy map does not exist. + Please create policy map"; + } + type string; + } + leaf vm-policy { + description + "policy-map to be used for bridge-mode vm sessions"; + status deprecated; + type leafref { + path "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:name"; + } + } + } + container tunnel { + status obsolete; + leaf vlan { + status obsolete; + description + "Set Tunnel Vlan Id"; + type uint16 { + range "1..4096"; + } + } + } + container voice { + description + "voice client auth options"; + leaf skip-data-vlan { + description + "Skip Default Data Vlan Auth for voice client"; + type empty; + } + } + container limit { + description + "Set session limit parameter"; + container profiles { + description + "Session limit profile"; + list profile { + description + "Session limit profile name list"; + key "name"; + leaf name { + description + "Session limit profile name"; + type string { + length "1..32"; + } + } + container max-limit { + description + "Set maximum session limit"; + leaf value { + description + "Enter a value between 1 and 65535"; + type uint16 { + range "1..65535"; + } + default "65535"; + } + } + container data-limit { + description + "Set data session limit"; + leaf value { + description + "Enter a value between 0 and 65535"; + type uint16 { + range "0..65535"; + } + default "65535"; + } + } + container voice-limit { + description + "Set voice session limit"; + leaf value { + description + "Enter a value between 0 and 65535"; + type uint16 { + range "0..65535"; + } + default "65535"; + } + } + leaf multi-host { + description + "Enable multi host mode"; + type empty; + } + leaf cdp-bypass { + description + "Enable cdp bypass"; + type empty; + } + } + } + } + container wireless { + description + "Configure wireless client configurations"; + leaf cui-enable { + description + "Enable chargeable user identity attribute in authentication and accounting messages"; + type empty; + } + } + } + container autoconf { + description + "Configure autoconf"; + leaf enable { + description + "Enable autoconf"; + type empty; + } + } + } + + grouping config-authentication-grouping { + container authentication { + description + "Auth Manager Global Configuration Commands"; + container command { + description + "Allow the following CoA commands to be ignored by the switch"; + container bounce-port { + description + "CoA bounce-port command"; + leaf ignore { + description + "ignore bounce-port CoA command"; + type empty; + } + } + container disable-port { + description + "CoA disable-port command"; + leaf ignore { + description + "ignore disable-port CoA command"; + type empty; + } + } + } + container critical { + description + "Set Critical Authentication parameters"; + container recovery { + description + "Set Critical Authentication Recovery parameters"; + leaf delay { + description + "Set Critical Authentication Recovery Delay period"; + type uint32 { + range "1..10000"; + } + default "100"; + } + } + } + leaf dis-scale-opt { + description + "Scale Optimise disable"; + type empty; + } + container logging { + description + "Set logging parameters"; + leaf verbose { + description + "Show verbose messages in system logs"; + type empty; + } + leaf session-terminate { + description + "Show session-termination messages in system logs"; + type empty; + } + } + container mac-move { + description + "Set required action when a MAC move is detected"; + leaf permit { + description + "PERMIT MAC moves (clears existing session)"; + type empty; + } + leaf deny-uncontrolled { + description + "Deny MAC move to uncontrolled port"; + type empty; + } + } + container convert-to { + description + "Convert the configuration mode to eEdge"; + container new-style { + description + "New style (c3pl) configuration"; + leaf forced { + description + "Force new style (c3pl) configuration"; + type empty; + } + container single-policy { + description + "Replace all interface service-policies with single policy"; + leaf interface { + description + "Name of the interface"; + type string; + } + leaf forced { + description + "Force single policy new style (c3pl) configuration"; + type empty; + } + } + } + } + } + } + + grouping config-interface-authentication-grouping { + container authentication { + description + "Auth Manager Interface Configuration Commands"; + when "not(contains(../ios:name,'.'))"; + leaf control-direction { + description + "Set the control-direction on the interface"; + type enumeration { + enum both; + enum in; + } + default "both"; + } + container event { + description + "Set action for authentication events"; + container server { + description + "Configure actions for AAA server events"; + container alive { + description + "Configure AAA server alive action"; + container action { + description + "Required action for authentication event"; + leaf reinitialize { + description + "Reinitialize all authorized clients"; + type empty; + } + } + } + container dead { + description + "Configure AAA server dead action"; + container action { + description + "Required action for authentication event"; + container authorize { + description + "Authorize the port"; + presence "true"; + leaf vlan { + description + "Configure Critical Authorization VLAN"; + must 'not (../../reinitialize/vlan)' { + error-message "Action can either be authorize vlan or reinitialize vlan, reinitialize vlan is already configured, please remove it and configure authorize vlan"; + } + type uint16 { + range "1..4094"; + } + } + leaf voice { + description + "Authorize the port for VOICE traffic"; + type empty; + } + } + container reinitialize { + description + "Reinitialize all client on the port"; + leaf vlan { + description + "Configure Critical Authorization VLAN"; + must 'not (../../authorize/vlan)' { + error-message "Action can either be authorize vlan or reinitialize vlan, authorize vlan is already configured, please remove it and configure reinitialize vlan"; + } + type uint16 { + range "1..4094"; + } + } + } + } + } + } + container fail-config { + description + "Configure failed authentication actions/parameters"; + choice fail-type { + container action { + description + "Required action for authentication event"; + choice action-type { + container authorize { + description + "Authorize the port"; + leaf vlan { + description + "Configure Authentication Fail vlan"; + type uint16 { + range "1..4094"; + } + } + } + leaf next-method { + description + "Move to next authentication method"; + type empty; + } + } + } + container retry { + description + "Number of times to retry failed authentications"; + leaf value { + description + "Enter the retry count"; + type uint8 { + range "0..5"; + } + } + container action { + description + "Required action for authentication event"; + choice retry-action { + container authorize { + description + "Authorize the port"; + leaf vlan { + description + "Configure Authentication Fail vlan"; + type uint16 { + range "1..4094"; + } + } + } + leaf next-method { + description + "Move to next authentication method"; + type empty; + } + } + } + } + } + } + container fail { + status obsolete; + description + "Configure failed authentication actions/parameters. OBSOLETE, Use + fail-config container"; + container action { + status obsolete; + description + "Required action for authentication event, OBSOLETE"; + container authorize { + status obsolete; + description + "Authorize the port, OBSOLETE"; + leaf vlan { + status obsolete; + description + "Configure Authentication Fail vlan, OBSOLETE"; + type uint16 { + range "1..4094"; + } + } + } + leaf next-method { + status obsolete; + description + "Move to next authentication method, OBSOLETE"; + type empty; + } + } + container retry { + status obsolete; + description + "Number of times to retry failed authentications, OBSOLETE"; + leaf value { + status obsolete; + description + "Enter the retry count, OBSOLETE"; + type uint8 { + range "0..5"; + } + } + container action { + status obsolete; + description + "Required action for authentication event, OBSOLETE"; + choice retry-action { + container authorize { + status obsolete; + description + "Authorize the port, OBSOLETE"; + leaf vlan { + status obsolete; + description + "Configure Authentication Fail vlan, OBSOLETE"; + type uint16 { + range "1..4094"; + } + } + } + leaf next-method { + status obsolete; + description + "Move to next authentication method, OBSOLETE"; + type empty; + } + } + } + } + } + container no-response { + description + "Configure non-responsive host actions"; + container action { + description + "Required action for authentication event"; + container authorize { + description + "Authorize the port"; + leaf vlan { + description + "Configure Guest vlan"; + type uint16 { + range "1..4094"; + } + } + } + } + } + container linksec { + description + "Configure actions for link security events"; + container fail { + description + "Configure linksec failure actions"; + container action { + description + "Required action for authentication event"; + leaf next-method { + description + "Move to next authentication method"; + type empty; + } + } + } + } + } + leaf fallback { + description + "Enable the Webauth fallback mechanism"; + type string { + length "1..200"; + } + } + leaf host-mode { + description + "Set the Host mode for authentication on this interface"; + type enumeration { + enum multi-auth; + enum multi-domain; + enum multi-host; + enum single-host; + } + default "single-host"; + } + leaf open { + description + "Enable or Disable open access on this port"; + type empty; + } + container order-config { + description + "Add an authentication method to the order list"; + choice method { + container dot1x-config { + description + "Authentication method dot1x allowed"; + presence "true"; + leaf mab { + description + "Authentication method mab allowed"; + type empty; + } + leaf webauth { + description + "Authentication method webauth allowed"; + type empty; + } + } + container mab-config { + description + "Authentication method mab allowed"; + presence "true"; + leaf dot1x { + description + "Authentication method dot1x allowed"; + type empty; + } + leaf webauth { + description + "Authentication method webauth allowed"; + type empty; + } + } + leaf webauth-config { + description + "Authentication method webauth allowed"; + type empty; + } + } + } + container order { + status obsolete; + description + "Add an authentication method to the order list. OBSOLETE. + Use order-config instead"; + leaf dot1x { + status obsolete; + description + "Authentication method dot1x allowed, OBSOLETE"; + type empty; + } + leaf mab { + status obsolete; + description + "Authentication method mab allowed, OBSOLETE"; + type empty; + } + leaf webauth { + status obsolete; + description + "Authentication method webauth allowed, OBSOLETE"; + type empty; + } + } + container priority-config { + description + "Add an authentication method to the priority list"; + choice method { + container dot1x-config { + description + "Authentication method dot1x allowed"; + presence "true"; + leaf mab { + description + "Authentication method mab allowed"; + type empty; + } + leaf webauth { + description + "Authentication method webauth allowed"; + type empty; + } + } + container mab-config { + description + "Authentication method mab allowed"; + presence "true"; + leaf dot1x { + description + "Authentication method dot1x allowed"; + type empty; + } + leaf webauth { + description + "Authentication method webauth allowed"; + type empty; + } + } + leaf webauth-config { + description + "Authentication method webauth allowed"; + type empty; + } + } + } + container priority { + status obsolete; + description + "Add an authentication method to the priority list. OBSOLETE. + Use priority-config instead"; + leaf dot1x { + status obsolete; + description + "Authentication method dot1x allowed, OBSOLETE"; + type empty; + } + leaf mab { + status obsolete; + description + "Authentication method mab allowed, OBSOLETE"; + type empty; + } + leaf webauth { + status obsolete; + description + "Authentication method webauth allowed, OBSOLETE"; + type empty; + } + } + leaf port-control { + description + "set the port-control value"; + type enumeration { + enum auto; + enum force-authorized; + enum force-unauthorized; + } + default "force-authorized"; + } + leaf periodic { + description + "Enable or Disable Reauthentication for this port"; + type empty; + } + container timer { + description + "Set authentication timer values"; + container reauthenticate { + description + "Time in seconds after which an automatic re-authentication should be initiated (default 1 hour)"; + choice timer-val { + leaf value-config { + description + "Enter a value between 1 and 1073741823"; + type uint32 { + range "1..1073741823"; + } + default "3600"; + } + leaf server-config { + description + "Obtain re-authentication timeout value from the server"; + type empty; + } + } + leaf value { + description + "Enter a value between 1 and 65535"; + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf server { + status obsolete; + description + "Obtain re-authentication timeout value from the server"; + type empty; + } + } + container inactivity { + description + "Interval in seconds after which if there is no activity from the client then it will be unauthorized (default OFF)"; + choice timer-val { + container value-config { + leaf value { + description + "Enter a value between 0 and 65535"; + type uint16 { + range "0..65535"; + } + default "0"; + } + leaf dynamic { + description + "Initiate a dynamic probe on inactivity timeout"; + type empty; + } + } + container server-config { + description + "Obtain inactivity timeout value from the server"; + presence "true"; + leaf dynamic { + description + "Initiate a dynamic probe on inactivity timeout"; + type empty; + } + } + } + container value { + status obsolete; + description + "Enter a value between 1 and 65535"; + leaf value { + status obsolete; + type uint16 { + range "1..65535"; + } + } + leaf dynamic { + status obsolete; + description + "Initiate a dynamic probe on inactivity timeout"; + type empty; + } + } + container server { + status obsolete; + description + "Obtain inactivity timeout value from the server"; + presence "true"; + leaf dynamic { + status obsolete; + description + "Initiate a dynamic probe on inactivity timeout"; + type empty; + } + } + } + leaf restart { + description + "Interval in seconds after which an attempt should be made to authenticate an unauthorized port (default 60 sec)"; + type uint16; + default "60"; + } + leaf unauthorized { + description + "Time in seconds after which an unauthorized session will get deleted"; + type uint16; + default "0"; + } + } + leaf violation { + description + "Configure action to take on security violations"; + type enumeration { + enum protect; + enum replace; + enum restrict; + enum shutdown; + } + default "shutdown"; + } + container linksec { + description + "Configure link security parameters"; + leaf policy { + description + "Set the link security policy"; + type enumeration { + enum must-not-secure; + enum must-secure; + enum should-secure; + } + default "should-secure"; + } + } + } + } + + grouping config-interface-mab-grouping { + container mab { + description + "MAC Authentication Bypass Interface Config Commands"; + presence "true"; + leaf eap { + description + "Use EAP authentication for MAC Auth Bypass"; + type empty; + } + } + } + + grouping config-interface-access-session-grouping { + container limit { + description + "Attach session limit profile"; + choice sess-limit { + leaf max-limit { + description + "Set maximum session limit"; + type uint16 { + range "1..65535"; + } + } + leaf profile-name { + description + "Session limit profile name"; + type leafref { + path "/ios:native/ios-sanet:access-session/ios-sanet:limit/ios-sanet:profiles/ios-sanet:profile/ios-sanet:name"; + } + } + } + } + } + + augment "/ios:native" { + uses config-access-session-grouping; + uses config-authentication-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-authentication-grouping; + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:access-session" { + uses config-interface-access-session-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-mab-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-mab-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw-oper.yang new file mode 100644 index 000000000..272d88352 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw-oper.yang @@ -0,0 +1,206 @@ +module Cisco-IOS-XE-scada-gw-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-scada-gw-oper"; + prefix scada-gw-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Scada Gateway operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-05-01 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.0.1"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-03-19 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping line-stats { + description + "Line statistics for channel"; + leaf channel-name { + type string; + description + "Name of the channel"; + } + leaf messages-sent { + type uint32; + description + "Total messages sent on the channel"; + } + leaf messages-received { + type uint32; + description + "Total messages received on the channel"; + } + leaf timeouts { + type uint32; + description + "Total timeouts"; + } + leaf aborts { + type uint32; + description + "Total number of aborts"; + } + leaf rejections { + type uint32; + description + "Total rejections"; + } + leaf protocol-errors { + type uint32; + description + "Total protocol errors"; + } + leaf link-errors { + type uint32; + description + "Total link errors"; + } + leaf addr-errors { + type uint32; + description + "Total address errors"; + } + } + + grouping scada-gw-stats { + description + "Scada Gateway statistics"; + list t104-stats { + key "channel-name"; + description + "T104 statistics list"; + uses scada-gw-ios-xe-oper:line-stats; + } + list t101-stats { + key "channel-name"; + description + "T101 statistics list"; + uses scada-gw-ios-xe-oper:line-stats; + } + list dnp3n-stats { + key "channel-name"; + description + "DNP3 Network statistics list"; + uses scada-gw-ios-xe-oper:line-stats; + } + list dnp3s-stats { + key "channel-name"; + description + "DNP3 Serial statistics list"; + uses scada-gw-ios-xe-oper:line-stats; + } + } + + grouping scada-tcp-conn-info { + description + "Scada Gateway statistics"; + leaf local-ip { + type inet:ip-address; + description + "Local IP used by the TCP connection"; + } + leaf local-port { + type uint16; + description + "Local port used by the TCP connection"; + } + leaf remote-ip { + type inet:ip-address; + description + "Remote IP of the TCP connection"; + } + leaf data-socket { + type uint32; + description + "Data socket associated with the TCP connection"; + } + } + + grouping tcp-connection { + description + "TCP connection data for T104 channel"; + leaf channel-name { + type string; + description + "Name of the channel"; + } + list conn { + description + "List of TCP connections on the channel"; + uses scada-gw-ios-xe-oper:scada-tcp-conn-info; + } + } + + grouping scada-gw-conns { + description + "Scada Gateway connections"; + list t104-tcp-conns { + key "channel-name"; + description + "Scada Gateway T104 TCP Connections"; + uses scada-gw-ios-xe-oper:tcp-connection; + } + list dnp3n-tcp-conns { + key "channel-name"; + description + "Scada Gateway T104 TCP Connections"; + uses scada-gw-ios-xe-oper:tcp-connection; + } + } + + container scada-gw-oper-data { + config false; + description + "Operational state of Scada Gateway"; + container scada-gw-stats { + presence "scada-gw-stats"; + description + "Scada Gateway operation statistics"; + uses scada-gw-ios-xe-oper:scada-gw-stats; + } + container scada-gw-conns { + presence "scada-gw-conns"; + description + "Scada Gateway Connections"; + uses scada-gw-ios-xe-oper:scada-gw-conns; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw.yang new file mode 100644 index 000000000..fd40c6b7e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-scada-gw.yang @@ -0,0 +1,1054 @@ +module Cisco-IOS-XE-scada-gw { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-scada-gw"; + prefix ios-scada-gw; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native SCADA Gateway Yang model. + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-11-01 { + description + "- Fixed logic for detecting unmapped sessions and sectors"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added support for ignore direction"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "- Moved scada encapsulation to common interface"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Added additional constraints for scada-gw enable + - Added request config"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-19 { + description + "Initial revision"; + } + + grouping config-t101-sector-grouping { + leaf attach-to-session { + description + "Name of the Session to attach"; + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector[ ios-scada-gw:config-t101-sector/ios-scada-gw:attach-to-session = current() ] ) < 2' { + error-message "Maximum number of sectors attached to this session"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session/ios-scada-gw:name"; + } + } + leaf asdu-addr { + description + "Asdu Address"; + must "boolean(../attach-to-session) and (((not(boolean(deref(../attach-to-session)/../config-t101-session/common-addr-size)) or deref(../attach-to-session)/../config-t101-session/common-addr-size = 'two')) or(deref(../attach-to-session)/../config-t101-session/common-addr-size = 'one' and current() < 256)) " { + error-message "Sector not attached-to-session or asdu-addr out of range. Acceptable ranges based on common-addr-size : {'one': addr<256, 'two': addr<65536}"; + } + type uint16 { + range "0..65535"; + } + } + list request { + description + "customized request (expert mode)"; + key "id"; + leaf id { + description + "request id"; + type uint8 { + range "1..16"; + } + } + leaf function { + description + "request function"; + type enumeration { + enum clock { + description + "set clock to rtu"; + } + enum poll { + description + "poll rtu"; + } + } + } + leaf period { + description + "request period in seconds"; + type uint16 { + range "0..3600"; + } + } + leaf timeout { + description + "request timeout in seconds"; + type uint8 { + range "1..60"; + } + } + leaf retry { + description + "failure retry count"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping config-t101-session-grouping { + leaf attach-to-channel { + description + "Name of the Channel to attach"; + must 'boolean(current())' { + error-message "Must specify a channel"; + } + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session[ ios-scada-gw:config-t101-session/ios-scada-gw:attach-to-channel = current() ] ) < 2' { + error-message "Maximum number of sessions attached to this channel"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel/ios-scada-gw:name"; + } + } + leaf common-addr-size { + description + "Configure scada-gw t101 session common-addr-size"; + type enumeration { + enum one { + description + "One octet"; + } + enum two { + description + "Two octets"; + } + } + } + leaf cot-size { + description + "Configure scada-gw t101 session cot-size"; + type enumeration { + enum one { + description + "One octet"; + } + enum two { + description + "Two octets"; + } + } + } + leaf info-obj-addr-size { + description + "Configure scada-gw t101 session information object address size"; + type enumeration { + enum one { + description + "One octet"; + } + enum two { + description + "Two octets"; + } + enum three { + description + "Three octets"; + } + } + } + leaf link-addr { + description + "Link Address"; + must "not(boolean(../attach-to-channel)) or ((( (not(boolean(deref(../attach-to-channel)/../config-t101-channel/link-addr-size)) or deref(../attach-to-channel)/../config-t101-channel/link-addr-size = 'one') and current() < 256) or (deref(../attach-to-channel)/../config-t101-channel/link-addr-size = 'none' and current() = 0) or (deref(../attach-to-channel)/../config-t101-channel/link-addr-size = 'two')))" { + error-message "Link-addr out of range. Acceptable ranges based on link-addr-size : {'none': addr=0, 'one': addr<256, 'two': addr<65536}"; + } + type uint16 { + range "0..65535"; + } + } + list request { + description + "customized request (expert mode)"; + key "id"; + leaf id { + description + "request id"; + type uint8 { + range "1..8"; + } + } + leaf function { + description + "request function"; + type enumeration { + enum test { + description + "test request"; + } + enum event { + description + "event poll from rtu"; + } + } + } + leaf period { + description + "request period in seconds"; + type uint16 { + range "0..3600"; + } + } + leaf timeout { + description + "request timeout in seconds"; + type uint8 { + range "1..60"; + } + } + leaf retry { + description + "failure retry count"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping config-t104-session-grouping { + leaf attach-to-channel { + description + "Name of the Channel to attach"; + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session[ ios-scada-gw:config-t104-session/ios-scada-gw:attach-to-channel = current() ] ) < 2' { + error-message "Maximum number of sessions attached to this channel"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:channel/ios-scada-gw:name"; + } + } + } + + grouping config-t101-channel-grouping { + leaf bind-to-interface { + description + "Interface name T101 binds to"; + type string; + } + container day-of-week { + description + "Include Day of week information in timestamp"; + leaf enable { + description + "Enable"; + type empty; + } + } + leaf link-addr-size { + description + "Link Address Size"; + type enumeration { + enum none { + description + "none"; + } + enum one { + description + "One octet"; + } + enum two { + description + "Two octets"; + } + } + } + leaf link-mode { + description + "Link Mode"; + must "not(boolean(../link-addr-size)) or (../link-addr-size != 'none' or current() != 'Unbalanced')" { + error-message "link-addr-size can't be NONE for UNBALANCED link-mode!"; + } + type enumeration { + enum Balanced { + description + "Balanced Mode"; + } + enum Unbalanced { + description + "Unbalanced Mode"; + } + } + } + } + + grouping config-dnp3n-session-grouping { + leaf attach-to-channel { + description + "Name of the Channel to attach"; + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:session[ ios-scada-gw:config-dnp3n-session/ios-scada-gw:attach-to-channel = current() ] ) < 2' { + error-message "Maximum number of sessions are attached to this channel"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:channel/ios-scada-gw:name"; + } + } + container link-addr { + description + "Configure scada-gw dnp3 network session link-addr"; + leaf source { + description + "Source address(Slave)"; + type uint16 { + range "0..65535"; + } + } + } + leaf map-to-session { + description + "Configure lower session mapping to"; + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session/ios-scada-gw:name"; + } + } + } + + grouping config-dnp3s-session-grouping { + leaf attach-to-channel { + description + "Name of the Channel to attach"; + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session[ ios-scada-gw:config-dnp3s-session/ios-scada-gw:attach-to-channel = current() ] ) < 2' { + error-message "Maximum number of sessions are attached to this channel"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel/ios-scada-gw:name"; + } + } + container link-addr { + description + "Configure scada-gw dnp3 serial session link-addr"; + leaf dest { + description + "Destination address(Slave)"; + type uint16 { + range "0..65535"; + } + } + } + list request { + description + "customized request (expert mode)"; + key "id"; + leaf id { + description + "request id"; + type uint8 { + range "1..16"; + } + } + leaf function { + description + "request function"; + type enumeration { + enum clock { + description + "set clock to rtu"; + } + enum poll { + description + "class poll to rtu"; + } + enum event { + description + "poll event from rtu"; + } + enum initialize { + description + "initialize rtu"; + } + enum test { + description + "test rtu"; + } + enum read { + description + "read variable"; + } + } + } + leaf object { + description + "object ID"; + when "../function = 'read'"; + type enumeration { + enum analog-input { + description + "analog input, id 30"; + } + enum binary-input { + description + "binary input, id 1"; + } + enum counter-input { + description + "counter input, id 20"; + } + enum double-input { + description + "double input, id 3"; + } + } + } + leaf period { + description + "request period in seconds"; + type uint16 { + range "0..3600"; + } + } + leaf timeout { + description + "request timeout in seconds"; + type uint8 { + range "1..60"; + } + } + leaf retry { + description + "failure retry count"; + type uint8 { + range "0..100"; + } + } + } + } + + grouping config-dnp3n-channel-grouping { + container link-addr { + description + "Configure scada-gw dnp3 network channel link-addr"; + leaf dest { + description + "Destination address(Master)"; + type uint16 { + range "0..65535"; + } + } + } + container send-unsolicited-msg { + description + "Send Unsolicited Message"; + leaf enable { + description + "Enable"; + type empty; + } + } + container tcp-connection { + description + "TCP connection"; + container local-port { + description + "2000-65535, default 20000"; + choice local-port-choice { + leaf port { + type inet:port-number { + range "2000..max"; + } + } + leaf default { + description + "Default port 20000"; + type empty; + } + } + } + leaf remote-ip { + description + "Single host, subnet or any"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type enumeration { + enum any { + description + "Any remote hosts 0.0.0.0/0"; + } + } + } + } + } + } + + grouping config-dnp3s-channel-grouping { + leaf bind-to-interface { + description + "Interface name DNP3-serial binds to"; + type string; + } + container link-addr { + description + "Configure scada-gw dnp3 serial channel link-addr"; + leaf source { + description + "Source address(Master)"; + type uint16 { + range "0..65535"; + } + } + } + leaf link-timeout { + description + "Timeout in second"; + type uint8 { + range "1..60"; + } + } + container protocol { + description + "configure protocol choice, expert mode"; + leaf test-link { + description + "test link request"; + type empty; + } + } + leaf request-timeout { + description + "Timeout in second"; + type uint8 { + range "1..60"; + } + } + container unsolicited-response { + description + "Unsolicited Response"; + leaf enable { + description + "Enable"; + type empty; + } + } + } + + grouping config-scada-gw-grouping { + container protocol { + description + "Protocols selection"; + container clock { + description + "Scada Clock"; + leaf passthru { + description + "Enable scada clock pass from master to rtu"; + type empty; + } + } + container dnp3-serial { + description + "DNP3-SERIAL protocol"; + container config-dnp3s { + list channel { + description + "Channel Name"; + key "name"; + leaf name { + description + "Name of the Channel"; + type string { + length "1..32"; + } + } + container config-dnp3s-channel { + uses config-dnp3s-channel-grouping; + container default { + description + "Set a command to its defaults"; + uses config-dnp3s-channel-grouping; + } + } + } + list session { + description + "Session Name"; + key "name"; + leaf name { + description + "Name of the Session"; + type string { + length "1..32"; + } + } + container config-dnp3s-session { + uses config-dnp3s-session-grouping; + container default { + description + "Set a command to its defaults"; + uses config-dnp3s-session-grouping; + } + } + } + } + } + container dnp3-ip { + description + "DNP3-IP protocol"; + container config-dnp3n { + list channel { + description + "Channel Name"; + key "name"; + leaf name { + description + "Name of the Channel"; + type string { + length "1..32"; + } + } + container config-dnp3n-channel { + uses config-dnp3n-channel-grouping; + container default { + description + "Set a command to its defaults"; + uses config-dnp3n-channel-grouping; + } + } + } + list session { + description + "Session Name"; + key "name"; + leaf name { + description + "Name of the Session"; + type string { + length "1..32"; + } + } + container config-dnp3n-session { + uses config-dnp3n-session-grouping; + container default { + description + "Set a command to its defaults"; + uses config-dnp3n-session-grouping; + } + } + } + } + } + container event { + description + "Scada Event"; + leaf persist { + description + "Enable scada non-volatile storage"; + type empty; + } + } + container ignore { + description + "scada loosing connection on non-conforming device"; + container error { + description + "Scada error detection"; + leaf address { + description + "Scada address"; + type empty; + } + } + leaf direction { + description + "Scada ignore direction bit in header"; + type empty; + } + } + leaf interlock { + description + "Enable interlock up/down stream"; + type empty; + } + container t101 { + description + "T101 protocol"; + container config-t101 { + list channel { + description + "Channel Name"; + key "name"; + leaf name { + description + "Name of the Channel"; + type string { + length "1..32"; + } + } + container config-t101-channel { + uses config-t101-channel-grouping; + } + } + list session { + description + "Session Name"; + key "name"; + leaf name { + description + "Name of the Session"; + type string { + length "1..32"; + } + } + container config-t101-session { + uses config-t101-session-grouping; + } + } + list sector { + description + "Sector Name"; + key "name"; + leaf name { + description + "Name of the Sector"; + type string { + length "1..32"; + } + } + container config-t101-sector { + uses config-t101-sector-grouping; + } + } + } + } + container t104 { + description + "T104 protocol"; + container config-t104 { + list channel { + description + "Channel Name"; + key "name"; + leaf name { + description + "Name of the Channel"; + type string { + length "1..32"; + } + } + container config-t104-channel { + container day-of-week { + description + "Include Day of week information in timestamp"; + leaf enable { + description + "Enable"; + type empty; + } + } + leaf k-value { + description + "K-value"; + type uint16 { + range "1..32767"; + } + } + container send-ei { + description + "Send End of Initialization when T104 session re-established"; + leaf enable { + description + "Enable"; + type empty; + } + } + leaf t0-timeout { + description + "T0-timeout"; + type uint8 { + range "1..255"; + } + } + leaf t1-timeout { + description + "T1-timeout"; + must '(not(boolean(../t2-timeout)) or (../t2-timeout < current() )) and (not(boolean(../t3-timeout)) or (../t3-timeout > current() ))' { + error-message "Please ensure (t2 < t1) and (t3 > t1)"; + } + type uint8 { + range "1..255"; + } + } + leaf t2-timeout { + description + "T2-timeout"; + type uint8 { + range "1..255"; + } + } + leaf t3-timeout { + description + "T3-timeout"; + type uint8 { + range "1..255"; + } + } + list tcp-connection { + description + "TCP connection"; + key "num-connection"; + leaf num-connection { + description + "No. of connection"; + type uint8 { + range "0..1"; + } + } + container local-port { + description + "2000-65535, default 2404"; + choice local-port-choice { + leaf port { + type inet:port-number { + range "2000..max"; + } + } + leaf default { + description + "Default port 2404"; + type empty; + } + } + } + leaf remote-ip { + description + "Single host, subnet or any"; + type union { + type inet:ipv4-address; + type inet:ipv4-prefix; + type enumeration { + enum any { + description + "Any remote hosts 0.0.0.0/0"; + } + } + } + } + } + leaf w-value { + description + "W-value"; + type uint16 { + range "1..32767"; + } + } + } + } + list session { + description + "Session Name"; + key "name"; + leaf name { + description + "Name of the Session"; + type string { + length "1..32"; + } + } + container config-t104-session { + uses config-t104-session-grouping; + } + } + list sector { + description + "Sector Name"; + key "name"; + leaf name { + description + "Name of the Sector"; + type string { + length "1..32"; + } + } + container config-t104-sector { + leaf attach-to-session { + description + "Name of the Session to attach"; + must 'count( /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:sector[ ios-scada-gw:config-t104-sector/ios-scada-gw:attach-to-session = current() ] ) <= 2' { + error-message "Maximum number of sectors attached to this session"; + } + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session/ios-scada-gw:name"; + } + } + leaf map-to-sector { + description + "Sector name"; + type leafref { + path "/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector/ios-scada-gw:name"; + } + } + leaf asdu-addr { + description + "Asdu Address"; + type uint16 { + range "0..65535"; + } + } + } + } + } + } + } + leaf enable { + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:channel[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session/ios-scada-gw:config-t104-session/ios-scada-gw:attach-to-channel)]/ios-scada-gw:name) = 0' { + error-message "Unused T104 channel(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:sector/ios-scada-gw:config-t104-sector/ios-scada-gw:attach-to-session)]/ios-scada-gw:name ) = 0' { + error-message "Unused T104 session(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:sector[ not(ios-scada-gw:config-t104-sector/ios-scada-gw:attach-to-session) ]) = 0' { + error-message "Unattached T104 Sectors found. Attach the sector to a session and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session[ not(ios-scada-gw:config-t104-session/ios-scada-gw:attach-to-channel) ]) = 0' { + error-message "Unattached T104 Sessions found. Attach the session to a channel and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:sector/ios-scada-gw:name) > 0' { + error-message "No T104 Sectors were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:session/ios-scada-gw:name) > 0' { + error-message "No T104 Sessions were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:channel/ios-scada-gw:name) > 0' { + error-message "No T104 Channels were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session/ios-scada-gw:config-t101-session/ios-scada-gw:attach-to-channel)]/ios-scada-gw:name ) = 0' { + error-message "Unused T101 channel(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector/ios-scada-gw:config-t101-sector/ios-scada-gw:attach-to-session)]/ios-scada-gw:name ) = 0' { + error-message "Unused T101 session(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t104/ios-scada-gw:config-t104/ios-scada-gw:sector/ios-scada-gw:config-t104-sector/ios-scada-gw:map-to-sector)]/ios-scada-gw:name ) = 0' { + error-message "Unmapped T101 sector(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector[ not(ios-scada-gw:config-t101-sector/ios-scada-gw:attach-to-session) ]) = 0' { + error-message "Unattached T101 Sectors found. Attach the sector to a session and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session[ not(ios-scada-gw:config-t101-session/ios-scada-gw:attach-to-channel) ]) = 0' { + error-message "Unattached T101 Sessions found. Attach the session to a channel and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel[ not(ios-scada-gw:config-t101-channel/ios-scada-gw:bind-to-interface) ]) = 0' { + error-message "Unbound T101 Channels were found. Bind the channel to an interface and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:sector/ios-scada-gw:name) > 0' { + error-message "No T101 Sectors were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:session/ios-scada-gw:name) > 0' { + error-message "No T101 Sessions were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:channel[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:session/ios-scada-gw:config-dnp3n-session/ios-scada-gw:attach-to-channel)]/ios-scada-gw:name ) = 0' { + error-message "Unused DNP3 IP channel(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:session[ not(ios-scada-gw:config-dnp3n-session/ios-scada-gw:attach-to-channel) ]) = 0' { + error-message "Unattached DNP3 IP Sessions found. Attach the session to a channel and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:session/ios-scada-gw:name) > 0' { + error-message "No DNP3 IP Sessions were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:channel/ios-scada-gw:name) > 0' { + error-message "No DNP3 IP Channels were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel[ not( ./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session/ios-scada-gw:config-dnp3s-session/ios-scada-gw:attach-to-channel)]/ios-scada-gw:name) = 0' { + error-message "Unused DNP3 Serial channel(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session[ not(./ios-scada-gw:name = /ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-ip/ios-scada-gw:config-dnp3n/ios-scada-gw:session/ios-scada-gw:config-dnp3n-session/ios-scada-gw:map-to-session)]/ios-scada-gw:name) = 0' { + error-message "Unmapped DNP3 Serial session(s) found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session[ not(ios-scada-gw:config-dnp3s-session/ios-scada-gw:attach-to-channel) ]) = 0' { + error-message "Unattached DNP3 Serial Sessions found. Attach the session to a channel and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel[ not(ios-scada-gw:config-dnp3s-channel/ios-scada-gw:bind-to-interface) ]) = 0' { + error-message "Unbound DNP3 Serial Channels were found. Bind the channel to an interface and try again"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel/ios-scada-gw:name) = 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:session/ios-scada-gw:name) > 0' { + error-message "No DNP3 Serial Sessions were found"; + } + must 'count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:dnp3-serial/ios-scada-gw:config-dnp3s/ios-scada-gw:channel/ios-scada-gw:name) > 0 or count(/ios:native/ios:scada-gw/ios-scada-gw:protocol/ios-scada-gw:t101/ios-scada-gw:config-t101/ios-scada-gw:channel/ios-scada-gw:name) > 0' { + error-message "No DNP3 or T101/T104 configuration was found"; + } + description + "Enable protocol translation"; + type empty; + } + } + + grouping config-relay-line-grouping { + container relay { + list line { + key "async-line1"; + leaf async-line1 { + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + leaf async-line2 { + type string { + pattern '([0-9])+(/([0-9])+)*'; + } + } + } + } + } + + augment "/ios:native/ios:interface/ios:Async/ios:encapsulation" { + leaf scada { + status obsolete; + if-feature "ios-features:scada-gw"; + description + "SCADA Encapsulation"; + type empty; + } + } + + augment "/ios:native/ios:scada-gw" { + uses config-scada-gw-grouping; + } + + augment "/ios:native" { + uses config-relay-line-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sd-vxlan-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sd-vxlan-oper.yang new file mode 100644 index 000000000..bfb9766e8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sd-vxlan-oper.yang @@ -0,0 +1,605 @@ +module Cisco-IOS-XE-sd-vxlan-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sd-vxlan-oper"; + prefix sd-vxlan-ios-xe-oper; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for SD-VXLAN operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef vxlan-rp-mode-enum { + type enumeration { + enum mode-gpe { + value 0; + description + "VxLAN route profile mode of VxLAN generic protocol extension"; + } + enum mode-default-mac { + value 1; + description + "VxLAN route profile mode of VxLAN default MAC"; + } + } + description + "VxLAN route profile mode enumeration"; + } + + typedef vxlan-rp-hash-mode-enum { + type enumeration { + enum three-tuple { + value 0; + description + "Calculate outer UDP source Port based on inner source IP, destination IP and Protocol"; + } + enum three-tuple-frag { + value 1; + description + "Calculate outer UDP source Port by three-tuple mode for fragmented packets, or by five-tuple mode for non-fragmented packets"; + } + enum five-tuple { + value 2; + description + "Calculate outer UDP source port based on inner source IP, destination IP, source Port, destination Port, and Protocol"; + } + } + description + "VxLAN route profile hash mode enumeration"; + } + + typedef vxlan-sr-summary-key-enum { + type enumeration { + enum vxlan-static-route-summary-key { + value 0; + description + "VxLAN static route summary entry key"; + } + } + description + "VxLAN static route summary entry key enumeration"; + } + + grouping per-vni-vrf-key { + description + "Key for statistics for per VNI per VRF of VxLAN"; + leaf vrf-name { + type string; + description + "Name of VRF the statistics belongs to"; + } + leaf vni { + type uint32; + description + "VNI the statistics belongs to"; + } + } + + grouping per-vni-vrf-stats { + description + "VxLAN static route per-VNI and per-VRF statistics"; + leaf egress-packets { + type uint64; + units "packets"; + description + "Number of egress packets per VNI per VRF for VxLAN"; + } + leaf egress-bytes { + type uint64; + units "bytes"; + description + "Number of egress bytes per VNI per VRF for VxLAN"; + } + leaf ingress-packets { + type uint64; + units "packets"; + description + "Number of ingress packets per VNI per VRF for VxLAN"; + } + leaf ingress-bytes { + type uint64; + units "bytes"; + description + "Number of ingress bytes per VNI per VRF for VxLAN"; + } + } + + grouping per-vni-vrf-policer { + description + "Policer statistics for per VNI per VRF of VxLAN"; + leaf cir { + type uint64; + units "bits per seconds"; + description + "Configured police confirm rate Bps"; + } + leaf bc { + type uint64; + units "bytes"; + description + "Configured burst size"; + } + leaf confirmed-packets { + type uint64; + units "packets"; + description + "Number of confirmed packets per VNI per VRF for VxLAN"; + } + leaf confirmed-bytes { + type uint64; + units "bytes"; + description + "Number of confirmed bytes per VNI per VRF for VxLAN"; + } + leaf exceeded-packets { + type uint64; + units "packets"; + description + "Number of exceeded packets per VNI per VRF for VxLAN"; + } + leaf exceeded-bytes { + type uint64; + units "bytes"; + description + "Number of exceeded bytes per VNI per VRF for VxLAN"; + } + } + + grouping per-vni-stats { + description + "VxLAN static route per-VNI statistics"; + leaf vni { + type uint32; + description + "VNI the statistics belongs to"; + } + leaf vni-packets { + type uint64; + units "packets"; + description + "Number of egress packets per VNI for SD VxLAN"; + } + leaf vni-bytes { + type uint64; + units "bytes"; + description + "Number of egress bytes per VNI for SD VxLAN"; + } + } + + grouping per-vrf-pfx-stats { + description + "Statistics for each vrf prefix entry"; + leaf prefix { + type inet:ip-prefix; + description + "Prefix the statistics belongs to"; + } + leaf packets { + type uint64; + units "packets"; + description + "Number of egress packets per VRF per prefix for VxLAN"; + } + leaf bytes { + type uint64; + units "bytes"; + description + "Number of egress bytes per VRF per prefix for VxLAN"; + } + } + + grouping per-vrf-pfx-entries { + description + "Statistics for per VRF per prefix of VxLAN static routes"; + leaf vrf-name { + type string; + description + "VRF name the statistics belongs to"; + } + leaf ipv4-total-packets { + type uint64; + units "packets"; + description + "IPv4 total packets per VRF"; + } + leaf ipv4-total-bytes { + type uint64; + units "bytes"; + description + "IPv4 total bytes per VRF"; + } + leaf ipv6-total-packets { + type uint64; + units "packets"; + description + "IPv6 total packets per VRF"; + } + leaf ipv6-total-bytes { + type uint64; + units "bytes"; + description + "IPv6 total bytes per VRF"; + } + list per-vrf-pfx-v4 { + key "prefix"; + description + "Statistics of IPv4 routes"; + uses sd-vxlan-ios-xe-oper:per-vrf-pfx-stats; + } + list per-vrf-pfx-v6 { + key "prefix"; + description + "Statistics of ipv6 routes"; + uses sd-vxlan-ios-xe-oper:per-vrf-pfx-stats; + } + } + + grouping vxlan-sr-entry-key { + description + "Key for VxLAN static route entry data"; + leaf vrf-name { + type string; + description + "VRF name the static route belongs to"; + } + leaf prefix { + type inet:ip-prefix; + description + "Prefix the static route belongs to"; + } + } + + grouping vxlan-sr-nh-data { + description + "VxLAN static route nexthop entry data"; + leaf link-type { + type ios-common-ios-xe-oper:ios-linktype; + description + "Link type of the nexthop entry"; + } + leaf vni { + type uint32; + description + "VNI of the nexthop entry"; + } + leaf nh-addr { + type inet:ip-address; + description + "Nexthop address of the nexthop entry"; + } + leaf bind-label { + type uint32; + description + "Binding label of the nexthop entry"; + } + leaf conn-id { + type uint32; + description + "Connection ID of the nexthop entry"; + } + leaf tunnel-name { + type string; + description + "Auto tunnel name of the nexthop entry"; + } + } + + grouping vxlan-sr-entry { + description + "VxLAN static route entry data"; + list nexthop-entry { + key "conn-id"; + description + "Nexthop entries of the static route"; + uses sd-vxlan-ios-xe-oper:vxlan-sr-nh-data; + } + } + + grouping vxlan-rp-entry { + description + "VxLAN route profile entry data"; + leaf name { + type string; + description + "Name of the VxLAN route profile entry"; + } + leaf reserve-word-1 { + type uint16; + description + "Reserved word 1(16 bits) of the VxLAN route profile entry"; + } + leaf reserve-word-2 { + type uint8; + description + "Reserved word 2(8 bits) of the VxLAN route profile entry"; + } + leaf dscp { + type uint8; + description + "DSCP value of the VxLAN route profile entry"; + } + leaf src-mac { + type yang:mac-address; + description + "Source MAC address of the VxLAN route profile entry"; + } + leaf src-port-start { + type uint16; + description + "Tunnel source port start of the VxLAN route profile entry"; + } + leaf src-port-end { + type uint16; + description + "Tunnel source port end of the VxLAN route profile entry"; + } + leaf src-port-hash-mode { + type sd-vxlan-ios-xe-oper:vxlan-rp-hash-mode-enum; + description + "Tunnel source port hash mode of the VxLAN route profile entry"; + } + leaf mode { + type sd-vxlan-ios-xe-oper:vxlan-rp-mode-enum; + description + "VxLAN mode of the VxLAN route profile entry"; + } + leaf src-interface { + type string; + description + "Tunnel source interface of the VxLAN route profile entry"; + } + leaf dst-port { + type uint16; + description + "VxLAN destination port of the VxLAN route profile entry"; + } + leaf mtu { + type uint16; + description + "Tunnel mtu of the VxLAN route profile entry"; + } + leaf persistent { + type boolean; + description + "Persistent of the VxLAN route profile entry"; + } + } + + grouping vxlan-rp-auto-tunnel-entry { + description + "VxLAN route profile auto tunnel entry data"; + leaf name { + type string; + description + "Name of the VxLAN route profile auto tunnel entry"; + } + leaf v4-auto-tunnel { + type string; + description + "IPv4 auto tunnel of the VxLAN route profile auto tunnel entry"; + } + leaf v6-auto-tunnel { + type string; + description + "IPv6 auto tunnel of the VxLAN route profile auto tunnel entry"; + } + } + + grouping vxlan-rp-auto-tunnel-symmetric-entry-key { + description + "VxLAN route profile auto tunnel symmetric entry key"; + leaf name { + type string; + description + "Name of the VxLAN route profile auto tunnel symmetric entry"; + } + leaf vrf-name { + type string; + description + "VRF name of the VxLAN route profile auto tunnel symmetric entry"; + } + } + + grouping vxlan-rp-auto-tunnel-symmetric-entry { + description + "VxLAN route profile auto tunnel symmetric entry data"; + leaf v4-auto-tunnel { + type string; + description + "IPv4 auto tunnel of the VxLAN route profile auto tunnel symmetric entry"; + } + leaf v6-auto-tunnel { + type string; + description + "IPv6 auto tunnel of the VxLAN route profile auto tunnel symmetric entry"; + } + } + + grouping vxlan-sr-summary-entry-key { + description + "VxLAN static route summary entry key"; + leaf entry-key { + type sd-vxlan-ios-xe-oper:vxlan-sr-summary-key-enum; + description + "Entry key of the VxLAN static route summary entry"; + } + } + + grouping vxlan-sr-summary-entry { + description + "VxLAN static route summary entry data"; + leaf prefix-cnt { + type uint32; + description + "VxLAN static route prefix count"; + } + leaf persist-prefix-cnt { + type uint32; + description + "VxLAN static route persistent prefix count"; + } + leaf route-profile-cnt { + type uint32; + description + "VxLAN route profile count"; + } + leaf vni-node-cnt { + type uint32; + description + "VxLAN static route VNI node count"; + } + leaf next-hop-cnt { + type uint32; + description + "VxLAN static route next-hop count"; + } + leaf auto-tunnel-cnt { + type uint32; + description + "VxLAN static route auto-tunnel count"; + } + leaf vni-vrf-node-cnt { + type uint32; + description + "VxLAN static route VNI VRF node count"; + } + leaf default-dst-mac { + type yang:mac-address; + description + "VxLAN static route destination MAC address"; + } + leaf auto-tunnel-start { + type uint32; + description + "VxLAN static route auto-tunnel start"; + } + leaf auto-tunnel-end { + type uint32; + description + "VxLAN static route auto-tunnel end"; + } + leaf p2p-accounting-policing { + type boolean; + description + "VxLAN accounting-policing bind p2p-tunnel"; + } + } + + container sd-vxlan-oper-data { + config false; + description + "VXLAN operational data"; + list per-vni-vrf-stats { + key "vrf-name vni"; + description + "Statistics for per VNI per VRF of VxLAN"; + uses sd-vxlan-ios-xe-oper:per-vni-vrf-key; + uses sd-vxlan-ios-xe-oper:per-vni-vrf-stats; + } + list per-vni-vrf-policer { + key "vrf-name vni"; + description + "Policer statistics for per VNI per VRF of VxLAN"; + uses sd-vxlan-ios-xe-oper:per-vni-vrf-key; + uses sd-vxlan-ios-xe-oper:per-vni-vrf-policer; + } + list per-vni-stats { + key "vni"; + description + "Statistics for per VNI of VxLAN static routes"; + uses sd-vxlan-ios-xe-oper:per-vni-stats; + } + list per-vrf-pfx-stats { + key "vrf-name"; + description + "Statistics for per VRF per prefix of VxLAN"; + uses sd-vxlan-ios-xe-oper:per-vrf-pfx-entries; + } + list static-route { + key "vrf-name prefix"; + description + "VxLAN static route entry data"; + uses sd-vxlan-ios-xe-oper:vxlan-sr-entry-key; + uses sd-vxlan-ios-xe-oper:vxlan-sr-entry; + } + list route-profile { + key "name"; + description + "VxLAN route profile data"; + uses sd-vxlan-ios-xe-oper:vxlan-rp-entry; + } + list rp-auto-tunnel { + key "name"; + description + "VxLAN route profile auto tunnel data"; + uses sd-vxlan-ios-xe-oper:vxlan-rp-auto-tunnel-entry; + } + list rp-tunnel-symmetric { + key "name vrf-name"; + description + "VxLAN route profile auto tunnel symmetric data"; + uses sd-vxlan-ios-xe-oper:vxlan-rp-auto-tunnel-symmetric-entry-key; + uses sd-vxlan-ios-xe-oper:vxlan-rp-auto-tunnel-symmetric-entry; + } + list bind-label-data { + key "bind-label"; + description + "VxLAN static route nexthop data lookup by bind label"; + uses sd-vxlan-ios-xe-oper:vxlan-sr-nh-data; + } + list conn-id-data { + key "conn-id"; + description + "VxLAN static route nexthop data lookup by connection ID"; + uses sd-vxlan-ios-xe-oper:vxlan-sr-nh-data; + } + list sr-summary-data { + key "entry-key"; + description + "VxLAN static route summary data"; + uses sd-vxlan-ios-xe-oper:vxlan-sr-summary-entry-key; + uses sd-vxlan-ios-xe-oper:vxlan-sr-summary-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sdwan-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sdwan-rpc.yang new file mode 100644 index 000000000..2c08d4d0f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sdwan-rpc.yang @@ -0,0 +1,102 @@ +module Cisco-IOS-XE-sdwan-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sdwan-rpc"; + prefix ios-xe-sdwan-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef sdwan-action-file-format-to-dump { + type enumeration { + enum csv-file { + value 0; + description + "Option to dump routes into comma separated file"; + } + enum json-file { + value 1; + description + "Option to dump routes into file"; + } + } + description + "Audit file format to create"; + } + + typedef sdwan-action-route-type-to-dump { + type enumeration { + enum advertised-routes { + value 0; + description + "Option to dump advertised routes"; + } + enum received-routes { + value 1; + description + "Option to dump received routes"; + } + } + description + "OMP routes to dump"; + } + + grouping sdwan-action-audit { + description + "Audit RPC input parameters"; + leaf uuid { + type string; + description + "UUID is used to uniquely identify the audit action invoked + and it is replayed back in the response notifications to correlate + them back to the original operation."; + } + leaf route-type { + type ios-xe-sdwan-rpc:sdwan-action-route-type-to-dump; + description + "OMP route types to dump"; + } + leaf file-format { + type ios-xe-sdwan-rpc:sdwan-action-file-format-to-dump; + description + "Audit file format to dump"; + } + leaf file-to-delete { + type string; + description + "Audit file to delete"; + } + } + + rpc sdwan-action-audit { + description + "Audit action RPC"; + input { + uses ios-xe-sdwan-rpc:sdwan-action-audit; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-segment-routing.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-segment-routing.yang new file mode 100644 index 000000000..72fa83d95 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-segment-routing.yang @@ -0,0 +1,1865 @@ +module Cisco-IOS-XE-segment-routing { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-segment-routing"; + prefix ios-segment-routing; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-isis { + prefix ios-isis; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Segment Routing Yang model. + Copyright (c) 2016, 2018-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added END.X explicit SID + - Added MTU under encapsulation for srv6"; + cisco-semver:module-version "4.0.0"; + } + revision 2024-03-01 { + description + "- Obsolete nodes related to sr-policy-mgr that are deprecated in 17.6 or before"; + cisco-semver:module-version "3.0.0"; + } + revision 2023-07-01 { + description + "- Added choice option to Policy end-point to support IPv6 in addition to IPv4 + - Deprecated old Policy end-point leaf + - Added ipv6 prefix list to On Demand grouping + - Added ISIS SRv6 CLIs"; + cisco-semver:module-version "2.5.0"; + } + revision 2023-03-01 { + description + "- Changed cli-flat-list-syntax to cli-list-syntax"; + cisco-semver:module-version "2.4.1"; + } + revision 2022-11-01 { + description + "- Changed cli-flat-list-syntax to cli-list-syntax + - Update yang-version to 1.1"; + cisco-semver:module-version "2.4.0"; + } + revision 2022-07-01 { + description + "- Added choice options to Forward Class to support rib as well as color option + - Deprecated old Forward Class color leaf"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-11-01 { + description + "- Added segment-routing traffic-eng path disable-algo-check strict-spf"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-07-01 { + description + "- Added performance measurement pcc profile grouping for auto-rotate configuration + - Update error-message for leaf mpls + - Added cli-exit-command for segment-routing mpls container"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "- Add PM Liveness + - Add must constraint for interface leaf"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-11-01 { + description + "- Added SR policy dynamic path Margin and sid-limit + - Added SR policy autoroute announce"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-07-01 { + description + "- Add per-flow-grouping in on-demand-color-config-grouping + - Added flex-algo"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "Add performance-measurement container under policy container"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added default values + - Added local-block leaf in SR-MPLS"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-18 { + description + "Update SR policy manager segment-list config"; + } + revision 2018-09-20 { + description + "Update SR policy manager config"; + } + revision 2018-07-27 { + description + "Add policy manager config"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping mcfg-srmpls-sidmap { + container address-family { + container ipv4 { + uses srcfg-srmpls-conn-af; + } + container ipv4-strict-spf { + container ipv4 { + description + "Address Family"; + container strict-spf { + uses srcfg-srmpls-conn-af; + } + } + } + container ipv4-algorithm { + container ipv4 { + description + "Address Family"; + list algorithm { + key "flex-algo-number"; + leaf flex-algo-number { + description + "Flex algorithm value"; + type uint32 { + range "128..255"; + } + } + uses srcfg-srmpls-conn-af; + } + } + } + } + } + + grouping mcfg-srmpls-sidmap-attach { + container address-family { + container ipv4 { + uses srcfg-srmpls-conn-af-attach; + } + container ipv4-strict-spf { + container ipv4 { + description + "Address Family"; + container strict-spf { + uses srcfg-srmpls-conn-af-attach; + } + } + } + container ipv4-algorithm { + container ipv4 { + description + "Address Family"; + list algorithm { + key "flex-algo-number"; + leaf flex-algo-number { + description + "Flex algorithm value"; + type uint32 { + range "128..255"; + } + } + uses srcfg-srmpls-conn-af; + } + } + } + } + } + + grouping srcfg-srmpls-attr-af { + leaf explicit-null { + type empty; + } + leaf sr-label-preferred { + type empty; + } + } + + grouping sr-range { + leaf range-start { + type uint32 { + range "0..1048575"; + } + } + leaf range { + description + "Range value"; + default "1"; + type uint32 { + range "1..1048575"; + } + } + } + + grouping srcfg-srmpls-conn-af { + list prefixes { + key "ipprefix"; + leaf ipprefix { + type inet:ipv4-prefix; + } + choice label-type { + container index { + uses sr-range; + } + container absolute { + uses sr-range; + } + } + } + } + + grouping srcfg-srmpls-conn-af-attach { + list prefixes { + key "ipprefix"; + leaf ipprefix { + type inet:ipv4-prefix; + } + choice label-type { + container index { + uses sr-range; + leaf attach { + type empty; + } + } + container absolute { + uses sr-range; + leaf attach { + type empty; + } + } + } + } + } + + grouping affinity-map-config-grouping { + list name { + description + "List of color configurations"; + key "color-name"; + leaf color-name { + description + "Color name"; + type string; + } + leaf bit-position { + description + "Bit position"; + type uint8 { + range "0..31"; + } + } + } + } + + grouping interface-config-grouping { + leaf metric { + description + "TE metric value"; + type uint32 { + range "1..2147483647"; + } + } + container affinity { + description + "Affinity command mode"; + leaf-list name { + description + "Color name"; + type string; + } + } + } + + grouping restrict-on-demand-color-config-grouping { + container ipv4 { + description + "On-demand color authorize restrict ipv4"; + leaf prefix-list { + description + "Prefix-list name"; + type string; + } + } + container ipv6 { + description + "On-demand color authorize restrict ipv6"; + leaf prefix-list { + description + "Prefix-list name"; + type string; + } + } + } + + grouping dynamic-config-policy-grouping { + container metric { + description + "Metric configuration"; + leaf type { + description + "Specify metric type configuration"; + type enumeration { + enum igp { + description + "IGP metric type"; + } + enum te { + description + "TE metric type"; + } + enum delay { + description + "Delay metric type"; + } + } + } + leaf sid-limit { + description + "Maximum number of sid's"; + type uint8 { + range "1..255"; + } + } + container margin { + description + "Margin configuration"; + leaf absolute { + description + "Absolute margin"; + type uint32 { + range "0..2147483647"; + } + } + leaf relative { + description + "Relative margin"; + type uint8 { + range "0..100"; + } + } + } + } + leaf pcep { + description + "Use PCE for path calculation"; + type empty; + } + } + + grouping dynamic-config-on-demand-grouping { + container metric { + description + "Metric configuration"; + leaf type { + description + "Specify metric type configuration"; + type enumeration { + enum igp { + description + "IGP metric type"; + } + enum te { + description + "TE metric type"; + } + enum delay { + description + "Delay metric type"; + } + } + } + container margin { + description + "Margin configuration"; + leaf absolute { + description + "Absolute margin"; + type uint32 { + range "0..2147483647"; + } + } + leaf relative { + description + "Relative margin"; + type uint8 { + range "0..100"; + } + } + } + leaf sid-limit { + description + "Maximum number of sid's"; + type uint8 { + range "1..255"; + } + } + } + leaf pcep { + description + "Use PCE for path calculation"; + type empty; + } + } + + grouping forward-class-grouping { + container forward-class { + description + "Specify forward class for per-flow based routing"; + list value { + description + "Forward-class"; + key "forward-class-value"; + leaf forward-class-value { + description + "Forward-class value"; + type uint32 { + range "0..7"; + } + } + choice options { + case color-case { + leaf color-option { + description + "Specify corresponding policy color for the forwarding class"; + type uint32 { + range "1..4294967295"; + } + } + } + case rib-case { + leaf rib { + type empty; + } + } + } + leaf color { + status deprecated; + description + "This node is deprecated and replaced by color-option"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + + grouping preference-config-path-choice-grouping { + container explicit { + description + "Preconfigured path"; + list segment-list { + description + "Specify Segment-list"; + key "name"; + leaf name { + description + "Identifying name for Segment-list"; + type string; + } + leaf weight { + description + "Path weight"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + + grouping preference-config-policy-grouping { + container constraints { + description + "Constraints configuration"; + container affinity { + description + "Assign affinities to path"; + container exclude-any { + description + "Affinity attributes to exclude - presence of at least one excludes link"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + container include-all { + description + "Affinity attributes - all must be included"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + container include-any { + description + "Affinity attributes - at least one must be included"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + } + container association-group { + description + "Association group constraints"; + presence "true"; + container disjointness { + description + "Disjointness parameters"; + leaf type { + description + "Type of disjointness among paths"; + type enumeration { + enum link { + description + "Link disjointness"; + } + enum node { + description + "Node disjointness"; + } + enum srlg { + description + "SRLG disjointness"; + } + } + } + } + leaf identifier { + description + "Association group identifier"; + type uint16 { + range "1..65535"; + } + } + leaf source { + description + "Association source"; + type inet:ipv4-address; + } + } + leaf bandwidth { + description + "Bandwidth value in kbps"; + type uint32 { + range "1..4294967295"; + } + } + container segments { + description + "Segments constraints"; + leaf dataplane { + description + "Dataplane type"; + type enumeration { + enum mpls { + description + "Specify MPLS dataplane"; + } + enum srv6 { + description + "Specify SRv6 dataplane"; + } + } + } + leaf type { + description + "Specify segment type configuration"; + type enumeration { + enum protected { + description + "Protected segment"; + } + enum unprotected { + description + "Unprotected segment"; + } + } + } + leaf algorithm { + description + "Specify algorithm"; + type uint32 { + range "128..255"; + } + } + } + } + leaf description { + description + "Up to 200 characters describing this path preference"; + type string { + length "1..200"; + } + } + choice path-choice { + case dynamic { + container dynamic { + description + "Dynamic configuration"; + presence "true"; + uses dynamic-config-policy-grouping; + } + } + case explicit { + container explicit { + description + "Preconfigured path"; + list segment-list { + description + "Specify Segment-list"; + key "name"; + leaf name { + description + "Identifying name for Segment-list"; + type string; + } + leaf weight { + description + "Path weight"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + case per-flow { + container per-flow { + description + "Per-flow configuration"; + presence "true"; + uses forward-class-grouping; + } + } + } + } + + grouping preference-config-on-demand-grouping { + container constraints { + description + "Constraints configuration"; + container affinity { + description + "Assign affinities to path"; + container exclude-any { + description + "Affinity attributes to exclude - presence of at least one excludes link"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + container include-all { + description + "Affinity attributes - all must be included"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + container include-any { + description + "Affinity attributes - at least one must be included"; + leaf-list name { + description + "Affinity color name"; + type string; + } + } + } + container association-group { + description + "Association group constraints"; + presence "true"; + container disjointness { + description + "Disjointness parameters"; + leaf type { + description + "Type of disjointness among paths"; + type enumeration { + enum link { + description + "Link disjointness"; + } + enum node { + description + "Node disjointness"; + } + enum srlg { + description + "SRLG disjointness"; + } + } + } + } + leaf identifier { + description + "Association group identifier"; + type uint16 { + range "1..65535"; + } + } + leaf source { + description + "Association source"; + type inet:ipv4-address; + } + } + leaf bandwidth { + description + "Bandwidth value in kbps"; + type uint32 { + range "1..4294967295"; + } + } + container segments { + description + "Segments constraints"; + leaf dataplane { + description + "Dataplane type"; + type enumeration { + enum mpls { + description + "Specify MPLS dataplane"; + } + enum srv6 { + description + "Specify SRv6 dataplane"; + } + } + } + leaf type { + description + "Specify segment type configuration"; + type enumeration { + enum protected { + description + "Protected segment"; + } + enum unprotected { + description + "Unprotected segment"; + } + } + } + leaf algorithm { + description + "Specify algorithm"; + type uint32 { + range "128..255"; + } + } + } + } + leaf description { + description + "Up to 200 characters describing this path preference"; + type string { + length "1..200"; + } + } + choice path-choice { + case dynamic { + container dynamic { + description + "Dynamic configuration"; + presence "true"; + uses dynamic-config-on-demand-grouping; + } + } + case explicit { + container explicit { + description + "Preconfigured path"; + list segment-list { + description + "Specify Segment-list"; + key "name"; + leaf name { + description + "Identifying name for Segment-list"; + type string; + } + leaf weight { + description + "Path weight"; + type uint32 { + range "1..4294967295"; + } + } + } + } + } + case per-flow { + container per-flow { + description + "Per-flow configuration"; + presence "true"; + uses forward-class-grouping; + } + } + } + } + + grouping candidate-paths-policy-grouping { + container candidate-paths { + description + "Candidate-paths configuration"; + presence "true"; + list preference { + description + "Policy path-option preference entry"; + key "preference"; + leaf preference { + description + "Path-option preference"; + type uint32 { + range "1..65535"; + } + } + uses preference-config-policy-grouping; + } + } + } + + grouping candidate-paths-on-demand-grouping { + container candidate-paths { + description + "Candidate-paths configuration"; + presence "true"; + list preference { + description + "Policy path-option preference entry"; + key "preference"; + leaf preference { + description + "Path-option preference"; + type uint32 { + range "1..65535"; + } + } + uses preference-config-on-demand-grouping; + } + } + } + + grouping performance-measurement-policy-grouping { + container performance-measurement { + description + "Performance Measurement configuration"; + container delay-measurement-config { + presence "true"; + description + "Delay Measurement configuration"; + leaf profile { + description + "name of the profile template to be used"; + type string; + } + container liveness-detection { + presence "true"; + description + "Liveness detection"; + container invalidation-action { + description + "Action to be taken when PM liveness session is invalidated"; + choice mode-choice { + case none { + leaf none { + type empty; + description + "PM liveness session state does not affect LSP state"; + } + } + case down { + leaf down { + type empty; + description + "LSP can only be operationally up if the PM liveness session is up"; + } + } + } + } + } + container reverse-path { + description + "Specifies parameters about the reverse path back to the head-end"; + leaf label { + description + "DM packets return to head-end using this label"; + type uint32 { + range "16..1048575"; + } + } + } + } + leaf delay-measurement { + status obsolete; + description + "This node is obsolete and replaced by delay-measurement-config"; + type empty; + } + } + } + + grouping performance-measurement-on-demand-grouping { + container performance-measurement { + description + "Performance Measurement configuration"; + container delay-measurement-config { + presence "true"; + description + "Delay Measurement configuration"; + leaf profile { + description + "name of the profile template to be used"; + type string; + } + container liveness-detection { + presence "true"; + description + "Liveness detection"; + container invalidation-action { + description + "Action to be taken when PM liveness session is invalidated"; + choice mode-choice { + case none { + leaf none { + type empty; + description + "PM liveness session state does not affect LSP state"; + } + } + case down { + leaf down { + type empty; + description + "LSP can only be operationally up if the PM liveness session is up"; + } + } + } + } + } + container reverse-path { + description + "Specifies parameters about the reverse path back to the head-end"; + leaf label { + description + "DM packets return to head-end using this label"; + type uint32 { + range "16..1048575"; + } + } + } + } + leaf delay-measurement { + status obsolete; + description + "This node is obsolete and replaced by delay-measurement-config"; + type empty; + } + } + } + + grouping performance-measurement-pcc-profile-grouping { + container performance-measurement { + description + "Performance Measurement configuration"; + container delay-measurement { + presence "true"; + description + "Delay Measurement configuration"; + leaf profile { + description + "name of the profile template to be used"; + type string; + } + container liveness-detection { + presence "true"; + description + "Liveness detection"; + container invalidation-action { + description + "Action to be taken when PM liveness session is invalidated"; + choice mode-choice { + case none { + leaf none { + type empty; + description + "PM liveness session state does not affect LSP state"; + } + } + case down { + leaf down { + type empty; + description + "LSP can only be operationally up if the PM liveness session is up"; + } + } + } + } + } + container reverse-path { + description + "Specifies parameters about the reverse path back to the head-end"; + leaf label { + description + "DM packets return to head-end using this label"; + type uint32 { + range "16..1048575"; + } + } + } + } + } + } + + grouping path-inval-grouping { + container path-invalidation { + description + "Path invalidation option configuration"; + leaf drop { + description + "Keep policy up, but drop all traffic sent on the policy"; + type empty; + } + } + } + + grouping steering-policy-grouping { + container steering { + description + "Steering options configuration"; + uses path-inval-grouping; + } + } + + grouping steering-odn-grouping { + container steering { + description + "Steering options configuration"; + uses path-inval-grouping; + } + } + + grouping steering-pcc-grouping { + container steering { + description + "Steering options configuration"; + uses path-inval-grouping; + } + } + + grouping on-demand-color-config-grouping { + container authorize { + description + "Authorize colour"; + presence "true"; + container restrict { + description + "Restrict"; + presence "true"; + uses restrict-on-demand-color-config-grouping; + } + } + uses candidate-paths-on-demand-grouping; + uses performance-measurement-on-demand-grouping; + uses steering-odn-grouping; + leaf description { + description + "On-demand color template specific description"; + type string; + } + } + + grouping policy-config-grouping { + container binding-sid { + description + "Static binding SID"; + leaf mpls { + description + "MPLS label"; + type uint32 { + range "16..1048575"; + } + } + } + uses candidate-paths-policy-grouping; + uses performance-measurement-policy-grouping; + uses steering-policy-grouping; + container color-endpoint { + description + "Specify color and end-point for policy"; + leaf color { + description + "Specify color for policy"; + type uint32 { + range "1..4294967295"; + } + } + leaf end-point-v2 { + description + "Policy endpoint address"; + type inet:ip-address; + } + leaf end-point { + status deprecated; + description + "Policy endpoint address"; + type inet:ipv4-address; + } + } + leaf description { + description + "Up to 200 characters describing this policy"; + type string { + length "1..200"; + } + } + leaf shutdown { + description + "Shutdown"; + type empty; + } + container autoroute { + description + "Autoroute configuration"; + container include { + description + "Prefixes for which routes will be installed"; + leaf all { + description + "Include all eligible prefixes"; + type empty; + } + } + container metric { + description + "Autoroute metric"; + choice metric-type { + case constant { + leaf constant { + description + "Set metric mode constant"; + type uint32 { + range "1..2147483647"; + } + } + } + case relative { + leaf relative { + description + "Set metric mode relative"; + type int32 { + range "-10..10"; + } + } + } + } + } + } + } + + grouping password-grouping { + container password { + description + "Configure PCE MD5 password"; + choice password-choice { + case clear { + leaf clear { + description + "Cleartext password"; + type string; + } + } + case encrypted { + leaf encrypted { + description + "Hidden password"; + type string; + } + } + } + } + } + + grouping pcc-config-grouping { + container pce { + description + "List of Path Computation Element (PCE) servers"; + choice pce-address-choice { + case pce-ipv4-address { + list pce-ipv4-list { + key "address"; + leaf address { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf source-address { + description + "IPv4 source address"; + type inet:ipv4-address; + } + leaf preference { + description + "Lower preference number makes the PCE more preferred"; + type uint8 { + range "1..255"; + } + } + uses password-grouping; + } + } + case pce-ipv6-address { + list pce-ipv6-list { + key "address"; + leaf address { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf source-address { + description + "IPv6 source address"; + type inet:ipv6-address; + } + leaf preference { + description + "Lower preference number makes the PCE more preferred"; + type uint8 { + range "1..255"; + } + } + uses password-grouping; + } + } + } + } + leaf report-all { + description + "Report all local SR policies to connected PCEP peers"; + type empty; + } + list profile { + key "id"; + leaf id { + description + "numeric identifier for the profile"; + type uint32 { + range "1..65534"; + } + } + container autoroute { + description + "Autoroute configuration"; + container include { + description + "Prefixes for which routes will be installed"; + leaf all { + description + "Include all eligible prefixes"; + type empty; + } + } + } + uses steering-pcc-grouping; + uses performance-measurement-pcc-profile-grouping; + } + } + + grouping segment-list-config-grouping { + list index { + key "index"; + leaf index { + description + "Specify the next entry index to add, edit (or delete)"; + type uint32 { + range "1..4294967295"; + } + } + container mpls { + description + "MPLS configuration"; + choice sid-type { + case adjacency { + leaf adjacency { + description + "IPv4 address of MPLS adjacency"; + type inet:ipv4-address; + } + } + case label { + leaf label { + description + "Value of MPLS label"; + type uint32 { + range "16..1048575"; + } + } + } + case prefix { + container prefix { + description + "MPLS prefix configuration"; + leaf ipv4-prefix { + description + "IPv4 address"; + type inet:ipv4-address; + } + leaf algorithm { + description + "SR algorithm to be used for calculating reachability to the prefix"; + type enumeration { + enum 0 { + description + "Shortest-Path-First (SPF) algorithm which permits nodes to overwrite SPF path with a different path based on local policy"; + } + enum 1 { + description + "Strict-Shortest-Path-First (Strict-SPF) algorithm which ensures all nodes along the path will honor the SPF routing decision"; + } + } + } + } + } + } + } + } + } + + grouping config-segment-routing-isis-srv6-grouping { + container segment-routing { + description + "Enter IPv6 segment-routing mode"; + container srv6 { + description + "Segment Routing SRv6"; + must '../../../../ios-isis:net' { + error-message + "Net-id must be configured before + configuring segment-routing srv6 on router isis"; + } + presence "true"; + list locator { + description + "Locator configuration"; + key "name"; + leaf name { + description + "locator name"; + type string; + } + choice levels { + leaf level-1 { + description + "Apply to level-1 only"; + type empty; + } + leaf level-2 { + description + "Apply to level-2 only"; + type empty; + } + } + container metric { + description + "Configure metric for the locator"; + list metric-list { + key "levels"; + leaf levels { + type enumeration { + enum level-1; + enum level-2; + } + } + leaf value { + mandatory true; + type uint32 { + range "1..16777214"; + } + } + } + } + } + } + } + } + + grouping config-segment-routing-isis-grouping { + container segment-routing { + description + "Enable Segment Routing Feature"; + leaf mpls { + description + "Enable Segment Routing Feature using MPLS encapsulation"; + must '/ios:native/ios:segment-routing/mpls and ../../ios-isis:net' { + error-message + "Global segment-routing and net-id must be configured before + configuring segment-routing on router isis"; + } + type empty; + } + container prefix-sid-map { + description + "Enable prefix-sid-map"; + leaf advertise-local { + description + "Advertise active local prefix-SID mappings"; + type empty; + } + container receive { + description + "Enable prefix-SID mapping client"; + presence "true"; + leaf disable { + description + "Disable prefix-SID mapping"; + type empty; + } + } + } + } + } + + grouping config-segment-routing-grouping { + container mpls { + description + "Segment Routing MPLS Mode"; + presence "true"; + container connected-prefix-sid-map { + description + "Enter Connected Prefix Sid Map Mode"; + uses mcfg-srmpls-sidmap; + } + container global-block { + description + "SR Global Block Config"; + leaf range-start { + description + "SR GB Label Range Start"; + default "16000"; + type uint32 { + range "16..1048575"; + } + } + leaf range-end { + description + "SR GB Label Range End"; + must '. >= ../range-start' { + error-message "range-end must be greater than or equal to range-start"; + } + default "23999"; + type uint32 { + range "16..1048575"; + } + } + } + container local-block { + description + "SR Local Block Config"; + leaf range-start { + description + "SR LB Label Range Start"; + default "15000"; + type uint32 { + range "16..1048575"; + } + } + leaf range-end { + description + "SR LB Label Range End"; + must '. >= ../range-start' { + error-message "range-end must be greater than or equal to range-start"; + } + default "15999"; + type uint32 { + range "16..1048575"; + } + } + } + container mapping-server { + description + "Enter Segment Routing Mapping Server Mode"; + container prefix-sid-map { + description + "Enter Mapping Server Sidmap Mode"; + uses mcfg-srmpls-sidmap-attach; + } + } + container set-attributes { + description + "Enter SR Set Attributes Mode"; + container address-family { + description + "Enter Address Family command mode"; + container ipv4 { + description + "Address Family"; + uses srcfg-srmpls-attr-af; + } + } + } + leaf shutdown { + description + "SR Shutdown"; + type empty; + } + } + container traffic-eng { + description + "Segment Routing traffic-eng mode"; + presence "true"; + container affinity-map { + description + "Affinity-map command mode"; + uses affinity-map-config-grouping; + } + list interface { + description + "Interface command mode"; + key "name"; + leaf name { + description + "Interface name"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]' { + error-message + "Interface must be configured before + configuring it under segment-routing traffic-eng and + deleted before deleting it under segment-routing traffic-eng"; + } + type string; + } + uses interface-config-grouping; + } + container path { + description + "Path calculation configuration"; + container disable-algo-check { + description + "Disable algorithm check"; + leaf strict-spf { + description + "Strict Short Path First"; + type empty; + } + } + } + container logging { + description + "Logging configuration"; + container policy { + description + "Configure policy logging parameters"; + leaf status { + description + "Enable policy status logging"; + type empty; + } + } + } + list on-demand { + description + "On demand color mode"; + key "color"; + leaf color { + description + "Permitted colour"; + type uint32 { + range "1..4294967295"; + } + } + uses on-demand-color-config-grouping; + } + container pcc { + description + "Path computation client mode"; + uses pcc-config-grouping; + } + list policy { + description + "Policy command mode"; + key "name"; + leaf name { + description + "Policy name"; + type string; + } + uses policy-config-grouping; + } + list segment-list { + description + "Segment-list configuration"; + key "name"; + leaf name { + description + "Identifying name for segment-list"; + type string; + } + uses segment-list-config-grouping; + } + } + container srv6 { + description + "Segment Routing SRv6"; + presence "true"; + container sid { + description + "SID parameters"; + leaf holdtime { + description + "SID holdtime for a released SID"; + type uint32 { + range "0..60"; + } + default "10"; + } + } + container locators { + description + "Locators configuration"; + list locator { + description + "Locator configuration"; + key "name"; + leaf name { + description + "Locator name"; + type string; + } + leaf prefix { + description + "Locator prefix configuration"; + type inet:ipv6-prefix; + } + container format { + description + "Locator format"; + choice locator-format { + case usid-f3216 { + leaf usid-f3216 { + description + "usid-f3216 format"; + type empty; + } + } + } + } + } + } + container encapsulation { + description + "Encapsulation parameters"; + container hop-limit { + description + "Control Hop-limit field setting on IPv6 header"; + leaf count { + description + "Specify the count for hop-limit"; + type uint32 { + range "1..255"; + } + } + leaf propagate { + description + "Propagate IP TTL/Hop-limit"; + type empty; + } + } + leaf source-address { + description + "Specify Source address"; + type inet:ipv6-address; + } + container traffic-class { + description + "Control traffic-class field setting on IPv6 header"; + leaf count { + description + "Specify the value (as 2 hexadecimal nibbles) for traffic class"; + type string; + } + leaf propagate { + description + "Propagate IP TTL/Hop-limit"; + type empty; + } + } + container mtu { + description + "MTU configuration"; + leaf value { + description + "Specify MTU value"; + type uint32 { + range "1280..9960"; + } + } + } + } + container explicit-sids { + description + "Explicit SIDs configuration"; + list sid { + description + "Explicit SID configuration"; + key "address"; + leaf address { + description + "IPv6 address"; + type inet:ipv6-address; + } + container behavior { + description + "Behavior parameters"; + leaf behavior-type { + mandatory true; + type enumeration { + enum end-dt4 { + description + "DT4"; + } + enum end-dt46 { + description + "DT46"; + } + enum end-dt6 { + description + "DT6"; + } + enum end-x-usid-psp-usd { + description + "END.X USID with PSP/USD"; + } + } + } + container forwarding { + description + "Forwarding configurations"; + when "../behavior-type = 'end-dt4' or ../behavior-type = 'end-dt46' or ../behavior-type = 'end-dt6'"; + list path { + description + "Path configurations"; + key "path-id"; + leaf path-id { + description + "Path ID"; + type uint32 { + range "1..2147483647"; + } + } + container decap-and-lookup { + description + "Decapsulate and Lookup"; + leaf vrf-name { + description + "VRF name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF does not exist"; + } + type string; + } + } + } + } + container identification { + description + "Identification configurations"; + when "../behavior-type = 'end-x-usid-psp-usd'"; + container nexthop { + description + "Nexthop configurations"; + presence "true"; + leaf interface { + description + "Interface name"; + mandatory true; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]' { + error-message + "Interface must be configured before + configuring it under segment-routing srv6 for explicit SID and + deleted before deleting it under segment-routing srv6 for explicit SID"; + } + type string; + } + leaf address { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf protected { + description + "Protected"; + type empty; + } + } + } + } + } + } + } + } + + augment "/ios:native/ios:segment-routing" { + uses config-segment-routing-grouping; + } + + augment "/ios:native/ios:router/ios-isis:isis" { + uses config-segment-routing-isis-grouping; + } + + augment "/ios:native/ios:router/ios-isis:isis/ios-isis:address-family/ios-isis:ipv6" { + uses config-segment-routing-isis-srv6-grouping; + } + + augment "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis" { + uses config-segment-routing-isis-grouping; + } + + augment "/ios:native/ios:router/ios-isis:isis-container/ios-isis:isis/ios-isis:address-family/ios-isis:ipv6" { + uses config-segment-routing-isis-srv6-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-serial.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-serial.yang new file mode 100644 index 000000000..f0a3ef6cf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-serial.yang @@ -0,0 +1,399 @@ +module Cisco-IOS-XE-serial { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-serial"; + prefix ios-serial; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE serial Interfaces. + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Add support for T3/E3 interface configuration"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-10-17 { + description + "Add encapsulation hdlc for serial interface"; + } + revision 2018-06-11 { + description + "Initial revision"; + } + + grouping config-interface-serial-grouping { + leaf nrzi-encoding { + description + "Enable use of NRZI encoding"; + type empty; + } + leaf transmitter-delay { + description + "Set dead-time after transmitting a datagram"; + type uint8 { + range "0..15"; + } + } + container pulse-time { + description + "Force DTR low during resets"; + choice pulse-time-choice { + leaf seconds { + description + "DTR low time in seconds"; + type uint8 { + range "1..60"; + } + } + leaf msec { + description + "DTR low time in milliseconds"; + type uint16 { + range "1..59999"; + } + } + } + } + leaf loopback { + description + "Configure internal loopback on an interface"; + type empty; + } + container carrier-delay { + description + "Specify delay for interface transitions"; + choice carrier-delay-choice { + leaf seconds { + description + "Carrier Transitions delay seconds"; + type uint8 { + range "1..60"; + } + } + leaf msec { + description + "delay specified in milliseconds"; + type uint16 { + range "1..59999"; + } + } + } + } + leaf idle-character { + description + "Set idle character type"; + type enumeration { + enum flag; + enum marks; + } + default "flag"; + } + container serial { + description + "serial interface commands"; + leaf restart-delay { + description + "Configure serial interface restart-delay"; + type uint16 { + range "0..900"; + } + } + } + choice serial-mode { + case DCE-mode { + container DCE-mode-config { + description + "special config when synchronous serial interface is in DCE mode"; + leaf dce-terminal-timing-enable { + description + "Enable DCE terminal timing"; + type empty; + } + container clock { + description + "Configure serial interface clock"; + leaf rate { + description + "Configure serial interface clock speed"; + type enumeration { + enum 1200; + enum 2400; + enum 4800; + enum 9600; + enum 14400; + enum 19200; + enum 28800; + enum 32000; + enum 38400; + enum 48000; + enum 56000; + enum 57600; + enum 64000; + enum 72000; + enum 115200; + enum 125000; + enum 148000; + enum 192000; + enum 250000; + enum 256000; + enum 384000; + enum 500000; + enum 512000; + enum 768000; + enum 800000; + enum 1000000; + enum 2000000; + enum 4000000; + enum 5300000; + enum 8000000; + } + } + } + container ignore { + description + "ignore signals"; + leaf dtr { + description + "DCE ignore dtr"; + type empty; + } + leaf rts { + description + "DCE ignore rts"; + type empty; + } + } + } + } + case DTE-mode { + container DTE-mode-config { + description + "special config when synchronous serial interface is in DTE mode"; + container invert { + description + "Serial invert modes"; + leaf txclock { + description + "Invert transmit clock"; + type empty; + } + } + container clock { + description + "Configure serial interface clock"; + container rate { + description + "Configure serial interface clock speed"; + leaf threshold { + description + "Configure the threshold clockrate limit for DTE interfaces"; + type uint32 { + range "246..8064000"; + } + } + } + } + container ignore { + description + "ignore signals"; + leaf dcd { + description + "DTE ignore dcd"; + type empty; + } + leaf cts { + description + "DTE ignore cts"; + type empty; + } + leaf dsr { + description + "DTE ignore dst"; + type empty; + } + } + } + } + } + container t3e3-config { + description + "T3/E3 specific configurations"; + leaf framing { + description + "Framing type"; + type enumeration { + enum bypass { + description + "Bypass E3 Framing"; + } + enum g751 { + description + "E3 Framing G.751"; + } + enum c-bit { + description + "DS3 Framing C-bit"; + } + enum m13 { + description + "DS3 Framing M13 (same as M23)"; + } + } + } + leaf scramble { + description + "Enable E3/T3 Scrambling"; + type boolean; + default "false"; + } + container clock { + description + "Configure interface clock source"; + leaf source { + description + "Configure clock source"; + type enumeration { + enum internal; + enum line; + } + default "line"; + } + } + leaf cablelength { + description + "Cable length"; + when "(../framing='c-bit') or (../framing='m13')"; + type uint16 { + range "0..450"; + } + units "feet"; + default "10"; + } + container dsu { + description + "Configuration options of internal T3/E3 DSU"; + leaf mode { + description + "Bandwidth Interoperability mode"; + type uint8 { + range "0..4"; + } + default "0"; + } + leaf bandwidth { + description + "Max allowed bandwidth"; + type uint16 { + range "300..44210"; + } + units "Kbps"; + } + } + container mdl { + description + "Maintenance Data Link Configuration"; + when "(../framing='c-bit')"; + container string { + description + "Maintenance Data Link Identification Code"; + leaf eic { + description + "Equipment ID Code"; + type string; + } + leaf fic { + description + "Frame ID Code"; + type string; + } + leaf generator { + description + "Generator Number in Test-Signal message"; + type string; + } + leaf lic { + description + "Location ID Code"; + type string; + } + leaf pfi { + description + "Facility ID Code in Path message"; + type string; + } + leaf port { + description + "Port Number in Idle-Signal message"; + type string; + } + leaf unit { + description + "Unit Code"; + type string; + } + } + container transmit { + description + "Maintenance Data Link transmission"; + leaf idle-signal { + description + "Enable Idle-Signal message transmission"; + type boolean; + default "false"; + } + leaf path { + description + "Enable Path message transmission"; + type boolean; + default "false"; + } + leaf test-signal { + description + "Enable Test-Signal message transmission"; + type boolean; + default "false"; + } + } + } + } + } + + augment "/ios:native/ios:interface/ios:Serial/ios:encapsulation/ios:encap-choice" { + leaf hdlc { + description + "Serial HDLC synchronous"; + type boolean; + default "true"; + } + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-serial-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-service-discovery.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-discovery.yang new file mode 100644 index 000000000..de8e3ba3b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-discovery.yang @@ -0,0 +1,148 @@ +module Cisco-IOS-XE-service-discovery { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-service-discovery"; + prefix ios-sd; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Service Discovery Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping service-list-match-grouping { + container match { + description + "Configure parameters for service-list name"; + leaf learnt-interface { + description + "match the interface where service is learnt"; + type empty; + } + container location { + description + "match location information"; + presence "true"; + leaf civic { + description + "Civic location"; + type string; + } + } + container message-type { + description + "To set the message type"; + presence "true"; + leaf announcement { + description + "Match Announcement/Responses"; + type empty; + } + leaf query { + description + "Match Query"; + type empty; + } + leaf any { + description + "Match Any"; + type empty; + } + } + leaf service-instance { + description + "To set the Service Instance"; + type string; + } + leaf service-type { + description + "match mDNS service type string"; + type string; + } + } + } + + grouping config-service-list-grouping { + container service-list { + description + "Enter the service list"; + list mdns-sd { + description + "Service-list for mdns-sd"; + key "service-list-name"; + leaf service-list-name { + description + "service-list name"; + type string; + } + list deny { + description + "Specify packets to reject"; + key "deny-pack"; + leaf deny-pack { + type uint8 { + range "0..100"; + } + } + uses service-list-match-grouping; + } + list permit { + description + "Specify packets to forward"; + key "deny-pack"; + leaf deny-pack { + type uint8 { + range "0..100"; + } + } + uses service-list-match-grouping; + } + container query { + description + "Service-list Query for mdns-sd"; + leaf service-type { + description + "Configure periodicity for each service-type"; + type string; + } + } + } + } + } + + augment "/ios:native" { + uses config-service-list-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion-oper.yang new file mode 100644 index 000000000..0576ed853 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion-oper.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-service-insertion-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-service-insertion-oper"; + prefix si-ios-xe-oper; + + import Cisco-IOS-XE-appqoe-types { + prefix appqoe-types-ios-xe; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for service-insertion operational data. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Added support for AppQoE sub service status"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping si-sn-type { + description + "Service node details"; + leaf lan-ip { + type inet:ip-address; + description + "LAN IP address of service node"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address of service node"; + } + leaf site-id { + type uint32; + description + "Site ID of service node"; + } + leaf status { + type appqoe-types-ios-xe:appqoe-sn-status; + description + "Service node status"; + } + leaf error-message { + when "(../status!='sn-status-green')"; + type string; + description + "Error message from service node"; + } + leaf sng-name { + type string; + description + "Service node group name"; + } + list appqoe-service { + key "service"; + description + "AppQoE services and status on the service node"; + uses appqoe-types-ios-xe:appqoe-service; + } + } + + grouping si-appqoe-cluster { + description + "Service insertion AppQoE"; + leaf device-mode { + type appqoe-types-ios-xe:appqoe-device-mode; + description + "Device mode"; + } + list si-sn-type { + key "lan-ip"; + description + "List of service nodes"; + uses si-ios-xe-oper:si-sn-type; + } + } + + container service-insertion-oper-data { + config false; + description + "service-insertion operational data"; + container si-appqoe-cluster { + presence "si-appqoe-cluster"; + description + "service-insertion type appqoe"; + uses si-ios-xe-oper:si-appqoe-cluster; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion.yang new file mode 100644 index 000000000..c920045b1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-insertion.yang @@ -0,0 +1,438 @@ +module Cisco-IOS-XE-service-insertion { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-service-insertion"; + prefix ios-service-insertion; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Service Insertion Yang model. + Copyright (c) 2016, 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added IPV6 address in service-node and appnav-controller + - Removed tailf hidden nodes"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-07-01 { + description + "- Moved service-insertion-oper to obsolete"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-07-01 { + description + "- Changed service-node-group from leaf to leaf-list"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Added multi-sn device-role and appnav-controller oper model."; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + " + - Corrected node-discovery enable command"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + " + - Corrected sequence issue in appnav-controller-group"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + " + - Added appnav controllers config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added service controller type appqoe: Application Quality Of Experience"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-service-insertion-grouping { + leaf acg-reload-delay { + description + "Reload delay timer for ACG"; + type uint16 { + range "120..450"; + } + } + list appnav-controller-group { + description + "AppNav Controller Group"; + key "group-name"; + leaf group-name { + type string; + } + leaf appqoe { + description + "appqoe AppNav Controller group"; + type empty; + } + leaf description { + description + "ACG description"; + type string; + } + list appnav-controllers { + description + "AppNav controller"; + key "address"; + leaf address { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf vrf { + description + "AppNav controller IP VRF"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + } + leaf-list appnav-controller { + status deprecated; + description + "AppNav controller"; + type inet:ipv4-address; + } + } + list service-node-group { + description + "service node Group"; + key "name"; + leaf name { + type string; + } + leaf appqoe { + description + "appqoe service node group"; + type empty; + } + leaf description { + description + "Group Description"; + type string; + } + leaf device-role { + must 'not(../../service-context/appqoe/cluster-type)' { + error-message "Service-Node device-role cannot be configured when cluster-type is configured"; + } + description + "Assign this device the role of Service-Node"; + type enumeration { + enum service-node; + } + } + leaf node-discovery { + description + "service node auto discovery"; + type enumeration { + enum enable; + } + } + leaf-list service-node { + description + "service node"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + container service-context { + description + "Service Context"; + list waas { + description + "Service controller waas"; + key "name"; + leaf name { + type string; + } + leaf appnav-controller-group { + description + "AppNav Controller Group"; + type leafref { + path "../../../appnav-controller-group/group-name"; + } + } + container authentication { + description + "Authentication key"; + leaf sha1 { + description + "Authentication type"; + type empty; + } + leaf key { + description + "Authentication Key"; + type empty; + } + leaf encrypt { + type enumeration { + enum 0; + enum 7; + } + } + leaf string { + type string; + } + } + leaf-list service-node-groups { + description + "service node Group"; + ordered-by user; + type leafref { + path "../../../service-node-group/name"; + } + } + leaf service-node-group { + status deprecated; + description + "service node Group"; + type leafref { + path "../../../service-node-group/name"; + } + } + leaf service-policy { + description + "Specify a service policy for the service context"; + type string; + } + container passthrough-flow { + description + "Passthrough flow update"; + leaf unsync { + description + "Disable passthrough flow update among AppNav Controllers"; + type empty; + } + } + container vrf { + description + "Specify VRF where service would be applied"; + leaf default { + description + "default"; + type empty; + } + leaf global { + description + "global"; + type empty; + } + list name-config { + description + "vrf name"; + ordered-by user; + key "name"; + leaf name { + type string; + } + } + leaf name { + status deprecated; + description + "vrf name"; + type string; + } + } + leaf enable { + description + "service context enable"; + type empty; + } + } + list appqoe { + description + "Service controller appqoe"; + key "name"; + leaf name { + type string; + } + leaf appnav-controller-group { + description + "AppNav Controller Group"; + type leafref { + path "../../../appnav-controller-group/group-name"; + } + } + leaf-list service-node-groups { + ordered-by user; + description + "service node Group"; + type leafref { + path "../../../service-node-group/name"; + } + } + leaf service-node-group { + status deprecated; + description + "service node Group is deprecated"; + type leafref { + path "../../../service-node-group/name"; + } + } + leaf cluster-type { + must 'not(../../../service-node-group/device-role)' { + error-message "Cluster-Type cannot be configured when Service-Node device-role is configured"; + } + description + "Defines the AppQoE cluster type of this device"; + type enumeration { + enum integrated-service-node; + enum service-controller; + enum hybrid; + } + } + leaf enable { + description + "service context enable"; + type empty; + } + container vrf { + description + "Specify VRF where service would be applied"; + leaf default { + description + "default"; + type empty; + } + leaf global { + description + "global"; + type empty; + } + leaf name { + description + "vrf name"; + type string; + } + } + } + } + container swap { + description + "Swap src-ip"; + leaf src-ip { + description + "Swap source-ip of service-insertion packets"; + type empty; + } + } + container waas { + description + "enable waas on the interface"; + leaf-list interfaces { + description + "interface to enable waas"; + ordered-by user; + type string; + } + container interface { + status deprecated; + description + "interface to enable waas"; + uses ios-ifc:interface-grouping; + } + } + container appqoe { + description + "enable appqoe on the interface"; + container interface { + description + "interface to enable appqoe"; + uses ios-ifc:interface-grouping; + } + } + } + + container service-insertion-oper { + status obsolete; + container appqoe { + config false; + leaf device-mode { + type enumeration { + enum service-node; + enum integrated-service-node; + enum service-controller; + } + } + list service-nodes { + must "../device-mode = 'integrated-service-node' or + ../device-mode = 'service-controller'"; + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf system-ip { + type inet:ipv4-address; + } + leaf site-id { + type uint32; + } + leaf health-status { + type enumeration { + enum down; + enum green; + enum yellow; + enum red; + } + } + leaf error-message { + type string; + } + } + } + } + + augment "/ios:native/ios:service-insertion" { + uses config-service-insertion-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-service-routing.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-routing.yang new file mode 100644 index 000000000..20e02f327 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-service-routing.yang @@ -0,0 +1,91 @@ +module Cisco-IOS-XE-service-routing { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-service-routing"; + prefix ios-sr; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Service Routing Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add service-routing capabilities-manager default value"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-07-24 { + description + "fix service-routing mdns-sd deleting issue"; + } + revision 2017-06-28 { + description + "add service-policy under service routing mdns-sd"; + } + revision 2017-05-09 { + description + "add service-routing mdns-sd support"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-service-routing-grouping { + container service-routing { + description + "Configure service-routing"; + leaf capabilities-manager { + description + "Service-Routing Capabilities Manager configuration"; + type boolean; + default "true"; + } + container mdns-sd { + description + "Service-Routing MDNS configuration"; + presence "true"; + list service-policy { + key "direction"; + leaf direction { + type enumeration { + enum IN; + enum OUT; + } + } + leaf policy-name { + type string; + } + } + } + } + } + + augment "/ios:native" { + uses config-service-routing-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sip-ua.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sip-ua.yang new file mode 100644 index 000000000..5abf6f1b1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sip-ua.yang @@ -0,0 +1,891 @@ +submodule Cisco-IOS-XE-sip-ua { + yang-version 1.1; + belongs-to Cisco-IOS-XE-voice { + prefix ios-voice; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native sip-ua Yang model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added TLS 1.3 and TLS 1.2 minimum to sip-ua"; + cisco-semver:module-version "1.4.0"; + } + revision 2024-03-01 { + description + "Converted absolute xpath to relative xpath"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added max-forwards, xfer, permit to sip-ua"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Added authentication and credentials CLI + - Added protocol mode to sip-ua + - Added address-hiding, emergency, silent-discard, asserted-id, + midcall-signaling, remote-party-id, g729-annexb, redirection, + set pstn-cause, set sip-status, host-registrar, sip-register configurations"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "- Added sip-ua"; + cisco-semver:module-version "1.0.0"; + } + + typedef sip-status-code-range { + type uint16 { + range "400..410 | 412..417 | 420..424 | 480..489 | 491 | 493 | 500..505 | 513 | 580 | 600 | 603..604 | 606" { + error-message "should be in 400-410|412-417|420-424|480-489|491|493|500-505|513|580|600|603-604|606"; + } + } + } + + typedef ipv4-mask-pattern { + type string { + pattern '([0]|([2][5][5]))\.([0]|([2][5][5]))\.([0]|([(2][5][5]))\.([0]|([2][5][5]))' { + error-message "Incorrect regular expression format. Expected values 0 or 255 "; + } + } + } + + grouping config-sip-signaling-timers-grouping { + leaf buffer-invite { + description + "Time to buffer the INVITE while waiting for display info"; + type uint16 { + range "50..5000"; + } + } + leaf connect { + description + "Time to wait for confirmation a session connected"; + type uint16 { + range "100..1000"; + } + default "500"; + } + container connection { + description + "Connection related timers"; + container aging { + description + "Time to wait before aging out a TCP/UDP connection"; + leaf value { + description + "TCP/UDP aging timer value in minutes"; + type uint16 { + range "5..1440"; + } + default "5"; + } + leaf tls { + description + "TCP/UDP aging timer value in minutes"; + type uint16 { + range "60..4320"; + } + default "60"; + } + } + } + leaf disconnect { + description + "Time to wait for confirmation a session disconnected"; + type uint16 { + range "100..1000"; + } + default "500"; + } + container dns { + description + "Expiry timer value for the DNS resolved address cache"; + container registrar-cache { + description + "DNS cache refresh time for registrar"; + choice cache-choice { + case timer-val { + leaf timer { + description + "timer value in seconds"; + type uint16 { + range "60..65535"; + } + } + } + case ttl-val { + leaf ttl { + description + "timer value to be set as ttl seconds"; + type empty; + } + } + } + } + } + leaf expires { + description + "Time to wait for the expiration of an INVITE request"; + type uint32 { + range "60000..1800000"; + } + default "180000"; + } + leaf hold { + description + "Time to wait during hold before disconnecting"; + type uint16 { + range "15..2880"; + } + default "2880"; + } + leaf info { + description + "Time to wait before INFO retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf notify { + description + "Time to wait before NOTIFY retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf options { + description + "Time to wait before OPTIONS retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf prack { + description + "Time to wait before PRACK retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf refer { + description + "Time to wait before REFER retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf register { + description + "Time to wait before REGISTER retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf rel1xx { + description + "Time to wait before starting reliable 1xx retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf trying { + description + "Time to wait for provisional response to INVITE"; + type uint16 { + range "100..1000"; + } + default "500"; + } + leaf update { + description + "Time to wait before starting UPDATE retransmission"; + type uint16 { + range "100..1000"; + } + default "500"; + } + } + + grouping config-sip-retry-timers-grouping { + leaf bye { + description + "BYE retry value"; + type uint8 { + range "1..10"; + } + default "10"; + } + leaf cancel { + description + "CANCEL retry value"; + type uint8 { + range "1..10"; + } + default "10"; + } + leaf info { + description + "INFO retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf invite { + description + "INVITE retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf notify { + description + "NOTIFY retry value"; + type uint8 { + range "1..10"; + } + default "10"; + } + leaf options { + description + "OPTIONS retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf prack { + description + "PRACK retry value"; + type uint8 { + range "1..10"; + } + default "10"; + } + leaf refer { + description + "REFER retry value"; + type uint8 { + range "1..10"; + } + default "10"; + } + leaf register { + description + "REGISTER retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf rel1xx { + description + "Reliable 1xx retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf response { + description + "Response retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf subscribe { + description + "SUBSCRIBE retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + leaf update { + description + "UPDATE retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + } + + grouping config-sip-ua-common-grouping { + container xfer { + description + "Configure xfer related aspects of the SIP UA"; + leaf target { + description + "Configure where to select the xfer target from"; + type enumeration { + enum dial-peer { + description + "Get xfer target address from dial-peer"; + } + enum refer-to { + description + "Get xfer target address from refer-to header"; + } + } + default "dial-peer"; + } + } + container g729-annexb { + description + "Configure settings for G729 codec interoperability"; + leaf override { + description + "Override default value, yes, if annexb attribute is not present"; + type empty; + } + } + container notify { + description + "Accept NOTIFY without Subscription-State header"; + container ignore { + description + "Ignore Subscription-State header"; + leaf substate { + description + "Ignore Subscription-State header"; + type empty; + } + } + container telephone-event { + description + "Configuring Telephone Events sent in NOTIFY body"; + leaf max-duration { + description + "Max time interval between two consecutive NOTIFYs for a single DTMF event"; + type uint16 { + range "40..3000"; + } + } + } + } + container reason-header { + description + "Configure settings for supporting SIP Reason Header"; + leaf override { + description + "Enable Reason header to override SIP<->Q850 Mappings"; + type empty; + } + } + list permit { + description + "Permit hostname for this gateway"; + max-elements 10; + key "hostname"; + leaf hostname { + description + "Permit hostname in Req URI for incoming INVITEs"; + type string { + length "1..50"; + pattern '(dns:.*)' { + error-message + "Ill-formed hostname permit address. Valid formats are: + + dns:host.domain or dns:domain"; + } + } + } + } + leaf max-forwards { + description + "Change number of max-forwards for SIP Methods"; + type uint8 { + range "1..70"; + } + } + leaf host-registrar { + description + "Use sip-ua registrar value in Diversion and Contact header for 3xx messages"; + type empty; + } + leaf handle-replaces { + description + "Handle INVITE with REPLACES header at SIP spi"; + type empty; + } + leaf disable-early-media { + description + "Disable early-media cut through"; + type enumeration { + enum 180 { + description + "180 Response with SDP"; + } + } + } + } + + grouping config-password { + container password { + leaf encryption { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf password-string { + type string; + } + } + } + + grouping config-username-password { + leaf username { + description + "name of the user authenticating"; + type string { + length "4..70"; + } + } + uses config-password; + } + + grouping config-authentication { + container authentication { + description + "Digest Authentication Configuration"; + container auth-with-realm { + description + "Limitation: only one realm is supported in this config"; + uses config-username-password { + refine "password/password-string"; + } + leaf realm { + description + "Realm at which the credentials are applicable"; + type string; + } + } + container username-password { + uses config-username-password; + } + } + } + + grouping config-credentials { + container credentials { + description + "User credentials for registration"; + list number-list { + key "number"; + leaf number { + description + "number which is getting registered"; + type string { + length "4..32"; + } + } + uses config-username-password { + refine "password/password-string"; + } + leaf realm { + description + "Realm at which the credentials are applicable"; + type string; + } + } + list username-list { + key "username"; + uses config-username-password { + refine "username"; + refine "password/password-string"; + } + leaf realm { + description + "Realm at which the credentials are applicable"; + type string; + } + } + container dhcp { + description + "Provision user name using DHCP"; + uses config-password { + refine "password/password-string"; + } + leaf realm { + description + "Realm at which the credentials are applicable"; + type string; + } + } + } + } + + grouping config-sip-ua-grouping { + container sip-ua { + description + "SIP User Agent (UA)"; + presence "true"; + container crypto { + description + "sip-ua crypto commands"; + container signaling { + description + "Configure crypto signaling for sip-ua configuration mode"; + container default { + description + "Configure the default trust point"; + leaf tls-profile { + description + "Associate a tls-profile"; + type leafref { + path "../../../../../../ios:native/voice/class/tls-profile/id"; + } + } + } + list remote-addr { + description + "Associate an IP network to a trustpoint"; + max-elements 10; + key "ipv4address subnetmask"; + leaf ipv4address { + description + "Enter the IP address"; + type inet:ipv4-address; + } + leaf subnetmask { + description + "Enter the mask"; + type union { + type ipv4-mask-pattern; + type string { + pattern '/([0-9]|[1-2][0-9]|3[0-2])'; + } + } + } + leaf tls-profile { + description + "Associate a tls-profile"; + mandatory true; + type leafref { + path "../../../../../../ios:native/voice/class/tls-profile/id"; + } + } + } + } + } + container transport { + description + "Enable SIP UA transport for TCP/UDP"; + leaf udp { + description + "Enable SIP User Agent in UDP Mode"; + type boolean; + default "true"; + } + leaf tcp { + description + "Enable SIP User Agent in TCP Mode"; + type boolean; + default "true"; + } + container tcp-tls { + container tcp { + description + "Enable SIP User Agent in TCP Mode"; + choice tls-choice { + default "tls"; + case tls { + leaf tls { + description + "Enable SIP User Agent in TLS over TCP mode (Default: All TLS versions with fallback)"; + type boolean; + default "true"; + } + } + case tls-version { + container tls-version { + container tls { + description + "Enable SIP User Agent in TLS over TCP mode (Default: All TLS versions with fallback)"; + container version-config { + description + "Various config options"; + choice tlsver-choice { + description + "TLS Version options"; + case tlsv1.0-case { + description + "TLS Version 1.0 option"; + leaf v1.0 { + description + "TLS version 1.0"; + type empty; + } + } + case tlsv1.1-case { + description + "TLS Version 1.1 option"; + leaf v1.1 { + description + "TLS version 1.1"; + type empty; + } + } + case tlsv1.2-case { + description + "TLS Version 1.2 option"; + container v1.2 { + description + "TLS version 1.2"; + presence "true"; + leaf minimum { + description + "Minimum TLS version"; + type empty; + } + } + } + case tlsv1.3-case { + description + "TLS Version 1.3 option"; + leaf v1.3 { + description + "TLS version 1.3"; + type empty; + } + } + } + } + leaf version { + status deprecated; + type enumeration { + enum v1.0 { + description + "Enable TLS Version 1.0"; + } + enum v1.1 { + description + "Enable TLS Version 1.1"; + } + enum v1.2 { + description + "Enable TLS Version 1.2"; + } + } + } + } + } + } + } + } + } + } + leaf sip-server { + description + "Configure a SIP Server Interface"; + type string { + pattern '(dns:.*)|(ipv4:[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)|(ipv6:\[([0-9A-Fa-f.:])+\](:[0-9]+)?)' { + error-message "Must be of the form (dns:.*)|(ipv4:[0-9]+.[0-9]+.[0-9]+.[0-9]+(:[0-9]+)?) | ((ipv6:[([0-9A-Fa-f.:])+](:[0-9]+)?))"; + } + } + } + leaf redirection { + description + "Enable call redirection (3XX) handling"; + type empty; + } + leaf remote-party-id { + description + "Enable Remote-Party-ID support in SIP User Agent calls"; + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + type boolean; + default "true"; + } + container set { + description + "Sets the PSTN cause to SIP status code (and vice versa) and sets the PSTN cause to SIP requests"; + list pstn-cause { + description + "The string specifying that PSTN cause value shall be followed"; + max-elements 127; + key "pstn-cause-code"; + leaf pstn-cause-code { + description + "The value should be decimal and in the specified range for the PSTN"; + type uint8 { + range "1..127"; + } + } + leaf sip-status { + description + "The string specifying that SIP status code shall be followed"; + type sip-status-code-range; + } + } + list sip-status { + description + "The string specifying that SIP status code shall be followed"; + max-elements 39; + key "sip-status-code"; + leaf sip-status-code { + description + "The string specifying that SIP status code shall be followed"; + type sip-status-code-range; + } + leaf pstn-cause { + description + "The value should be decimal and in the specified range for the PSTN"; + type uint8 { + range "1..127"; + } + } + } + container sip-request { + description + "Changes cause code value for SIP Requests"; + container cancel { + description + "CANCEL SIP Request"; + leaf pstn-cause { + description + "The string specifying that PSTN cause value shall be followed"; + type uint8 { + range "1..127"; + } + } + } + } + } + container protocol { + description + "Configure SIP gateway mode of operation"; + when "/ios:native/ios-voice:voice/ios-voice:service[type='voip']/ios-voice:sip/ios-voice:call/ios-voice:service/ios-voice:stop"; + container mode { + description + "Specify SIP Protocol mode"; + choice mode-choice { + default "ipv4-case"; + case dual-stack-case { + container dual-stack { + description + "Dual mode"; + presence "true"; + container preference { + description + "prefered address family"; + choice ip-choice { + case ipv4 { + leaf ipv4 { + description + "IPv4 only mode"; + type empty; + } + } + case ipv6 { + leaf ipv6 { + description + "IPv6 only mode"; + type empty; + } + } + } + } + } + } + case ipv4-case { + leaf ipv4 { + description + "IPv4 only mode"; + type empty; + } + } + case ipv6-case { + leaf ipv6 { + description + "IPv6 only mode"; + type empty; + } + } + } + } + } + uses config-authentication; + uses config-credentials; + uses config-sip-ua-common-grouping; + container retry { + description + "Change default retries for each SIP Method"; + uses config-sip-retry-timers-grouping; + leaf keepalive { + description + "KEEPALIVE retry value"; + type uint8 { + range "1..10"; + } + default "6"; + } + } + container timers { + description + "SIP Signaling Timers Configuration"; + uses config-sip-signaling-timers-grouping; + container keepalive { + description + "Options keepalive related timers"; + leaf active { + description + "Time to wait between keepalive messages in active state"; + type uint16 { + range "10..600"; + } + default "120"; + } + leaf down { + description + "Time to wait between keepalive messages in down state"; + type uint8 { + range "1..120"; + } + default "30"; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sisf.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sisf.yang new file mode 100644 index 000000000..7f47c3b60 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sisf.yang @@ -0,0 +1,252 @@ +module Cisco-IOS-XE-sisf { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/ios-xe/sisf"; + prefix ios-sisf; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-dhcp { + prefix ios-dhcp; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE SISF Yang Model. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated must constraint for sisf features to allow 'default' policy"; + cisco-semver:module-version "2.0.0"; + } + revision 2023-07-01 { + description + "- Added DHCP guard grouping"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "- Adding monitor leaf inside template/access-session container + - Removing vlan-name leaf from the vlan-grouping"; + cisco-semver:module-version "1.0.0"; + } + + grouping vlanlist-grouping { + container vlan { + description + "Vlan list for which this policy applies"; + leaf add { + description + "add VLANs to the current list"; + type string; + } + leaf except { + description + "all VLANs except the following"; + type string; + } + leaf remove { + description + "remove VLANs from the current list"; + type string; + } + leaf vlan-range { + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf none { + description + "no VLANs"; + type empty; + } + } + } + + grouping config-ipv6-nd-raguard-grouping { + container raguard { + presence "Attach default RA guard policy on interface"; + description + "Configure RA guard on the interface"; + container attach-policy { + description + "Apply a policy for feature RA guard"; + list policy-name { + description + "policy name for feature RA guard"; + key "policy-name"; + leaf policy-name { + type string; + } + uses vlanlist-grouping; + } + } + uses vlanlist-grouping; + } + } + + grouping config-ipv6-dhcp-guard-grouping { + container guard { + if-feature "ios-features:dhcp-guard"; + presence "true"; + description + "Configure DHCP guard on the interface"; + container attach-policy { + description + "Apply a policy for feature DHCP guard"; + list policy-list { + description + "policy name for feature DHCP guard"; + key "policy-name"; + leaf policy-name { + type string; + must "(/ios:native/ios:ipv6/ios:dhcp/ios-dhcp:guard/ios-dhcp:policy[ios-dhcp:dhcp-guard-policy-name=current()]) or .='default'" { + error-message "Create dhcp guard policy first, then attach policy; Detach policy from interface before removing the policy"; + } + } + uses vlanlist-grouping; + } + } + uses vlanlist-grouping; + } + } + + grouping config-device-tracking-grouping { + container device-tracking { + presence "Attach default device-tracking policy on interface"; + description + "Configure device-tracking on the interface"; + container attach-policy { + description + "Apply a policy for feature device-tracking"; + list policy-name { + description + "policy name for device tracking"; + key "policy-name"; + leaf policy-name { + type string; + } + uses vlanlist-grouping; + } + } + uses vlanlist-grouping; + } + } + + grouping config-source-guard-grouping { + container source-guard { + description + "Configure IPv6 sourceguard"; + list policy { + description + "Configure a policy for feature sourceguard"; + key "source-guard-policy-name"; + leaf source-guard-policy-name { + type string; + } + container validate { + description + "Validate the src of the received data traffic"; + leaf address-config { + description + "Validate against addresses learned in NDP/DHCP traffic (default)"; + type boolean; + default "true"; + } + leaf address { + status deprecated; + description + "DEPRECATED: deprecated and replaced by address-config"; + type empty; + } + leaf prefix { + description + "Validate against prefixes learned in RA or DHCP-PD traffic"; + type empty; + } + } + container deny { + description + "Block data traffic"; + leaf global-autoconf { + description + "Drop data traffic from global autoconfigured addresses"; + type empty; + } + } + container permit { + description + "Allow data traffic"; + leaf link-local { + description + "Allow data traffic from all Link-local addresses"; + type empty; + } + } + leaf trusted { + description + "Bridge all data traffic"; + type empty; + } + } + } + } + + grouping config-destination-guard-grouping { + container destination-guard { + description + "Configure Destination guard"; + list policy { + description + "Configure a policy for feature destguard"; + key "destination-guard-policy-name"; + leaf destination-guard-policy-name { + type string; + } + container enforcement { + description + "Sets the enforcement level"; + leaf always { + description + "Enforced under all conditions (default)"; + type empty; + } + leaf stressed { + description + "Enforced when system is under stress"; + type empty; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-site-manager.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-site-manager.yang new file mode 100644 index 000000000..685387462 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-site-manager.yang @@ -0,0 +1,702 @@ +module Cisco-IOS-XE-site-manager { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-site-manager"; + prefix ios-site-manager; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-atm { + prefix ios-atm; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Policy Map Yang Model. + Copyright (c) 2018, 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-01 { + description + "Add site-manager load-sharing, probe, link-group and interface weight"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-03-02 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-13 { + description + "Deleting site-manager's name as IOS CLI deleting it"; + } + revision 2018-11-21 { + description + "Adding site-manager"; + } + + typedef site-manager-site-type { + type enumeration { + enum hub; + enum branch; + } + } + + grouping config-password { + container password { + description + "MD5 password to be used with MC or BRs"; + leaf enryption-type { + description + "Encryption type (0=not yet encrypted) (7=encrypted) password"; + type enumeration { + enum 0; + enum 7; + } + } + leaf auth-password { + description + "authentication password"; + type string; + } + } + } + + grouping config-source-interface { + container source-interface { + description + "Source Interface for master controller"; + leaf Loopback { + description + "Loopback interface"; + type leafref { + path "/ios:native/ios:interface/ios:Loopback/ios:name"; + } + } + } + } + + grouping config-class-app-policy-type { + leaf policy { + description + "Specify the policy (user defined/predefined)"; + type enumeration { + enum best-effort; + enum custom; + enum saas-dca; + } + } + } + + grouping class-app-group { + list app-group { + description + "Specify the application names"; + key "name"; + leaf name { + description + "user-defined application name"; + type string; + } + uses config-class-app-policy-type; + } + } + + grouping class-application { + list application { + description + "Specify the application names"; + key "name"; + leaf name { + description + "user-defined application name"; + type string; + } + uses config-class-app-policy-type; + } + } + + grouping config-policy-class { + list class { + description + "Create site-manager class and enter site-manager class command mode"; + key "name sequence"; + leaf name { + description + "site-manager class name"; + type string; + } + leaf sequence { + description + "Set the Sequence for the class"; + type uint16 { + range "1..65535"; + } + } + container probe { + description + "Specify probe"; + when "../../type = 'dia'"; + container icmp { + description + "Specify ICMP to probe protocol"; + leaf address { + description + "Specify address for probe"; + type inet:ipv4-address; + } + leaf dscp { + description + "DSCP value"; + type ios-types:dscp-type; + } + } + } + container load-sharing { + description + "Specify load sharing"; + when "../../type = 'dia'"; + container algorithm { + description + "Specify load sharing algorithm"; + choice algorithm-choice { + case universal-case { + container universal { + description + "Algorithm for use in most environments"; + presence "true"; + } + } + case per-packet-case { + container per-packet { + description + "Algorithm for use in per-packet environments"; + presence "true"; + } + } + case original-case { + container original { + description + "Algorithm for original"; + presence "true"; + } + } + case include-ports-case { + container include-ports { + description + "Algorithm that includes layer 4 ports"; + presence "true"; + choice include-ports-type-choice { + case distination-case { + container destination { + description + "Use destination port in hash function"; + presence "true"; + } + } + case source-case { + container source { + description + "Use source port in hash function"; + presence "true"; + container destination { + description + "Use source and destination ports in hash function"; + presence "true"; + leaf gtp { + description + "Use GTP te-id as source and destination ports in hash"; + type empty; + } + } + } + } + } + } + } + } + } + leaf flow-stickiness { + description + "Apply load sharing flow stickiness"; + type enumeration { + enum disable; + enum enable; + } + } + } + container match { + description + "Specify the applications the policy applies to"; + uses class-app-group; + uses class-application; + } + container path-preference { + description + "Specify the preferred provider"; + leaf primary { + description + "Primary service provider"; + type string; + } + leaf primary2 { + description + "Primary service provider"; + type string; + } + leaf primary3 { + description + "Primary service provider"; + type string; + } + leaf primary4 { + description + "Primary service provider"; + type string; + } + leaf fallback { + description + "Specify the fallback provider"; + type union { + type enumeration { + enum routing; + } + type string; + } + } + leaf fallback2 { + description + "Fallback service provider"; + type string; + } + leaf fallback3 { + description + "Fallback service provider"; + type string; + } + leaf fallback4 { + description + "Fallback service provider"; + type string; + } + leaf next-fallback { + description + "Specify the next-fallback provider"; + type union { + type enumeration { + enum routing; + } + type string; + } + } + leaf next-fallback2 { + description + "Next-fallback service provider"; + type string; + } + leaf next-fallback3 { + description + "Next-fallback service provider"; + type string; + } + leaf next-fallback4 { + description + "Next-fallback service provider"; + type string; + } + } + } + } + + grouping config-policy { + container policy { + description + "Create policy with policy group or policy type and service type"; + list local { + description + "Create local policy"; + when "../../name = 'branch'"; + key "type"; + leaf type { + description + "Select policy service type"; + type enumeration { + enum dia; + enum dca; + } + } + uses config-policy-class; + } + list group { + description + "Create group policy"; + when "../../name = 'hub'"; + key "group-name type"; + leaf group-name { + description + "Create group policy"; + type union { + type enumeration { + enum default; + } + } + } + leaf type { + description + "Select policy service type"; + type enumeration { + enum dia; + enum dca; + } + } + uses config-policy-class; + } + } + } + + grouping config-interface-site-manager-weight { + leaf weight { + description + "Specify DIA interface's weight"; + type int16 { + range "1..255"; + } + } + } + + grouping config-interface-site-manager-grouping { + container site-manager { + description + "Specify a site-manager"; + choice sitemgr-path-type { + case sitemgr-path { + leaf path { + description + "Specify a service provider for this interface"; + type string; + } + leaf direct-internet-access { + description + "Specify Direct-Internet-Access interface"; + type empty; + } + uses config-interface-site-manager-weight; + } + case sitemgr-inside { + leaf inside { + description + "Designate this interface as LAN interface on Branch border"; + type empty; + } + } + case sitemgr-link-group { + container link-group { + description + "Specify the link-group of DIA interface"; + presence "true"; + leaf link-group-name { + description + "Specify a link-group name for this interface"; + type string; + } + leaf direct-internet-access { + description + "Specify Direct-Internet-Access interface"; + type empty; + } + uses config-interface-site-manager-weight; + } + } + } + } + } + + grouping config-allvrfs-hub-br-common { + leaf dca-probe-http-interval { + description + "DCA sla http probe interval"; + type union { + type int8 { + range "20..60"; + } + type enumeration { + enum infinite; + } + } + } + leaf dia-probe-icmp-interval { + description + "DIA sla icmp probe interval"; + type union { + type int8 { + range "20..60"; + } + type enumeration { + enum infinite; + } + } + } + leaf dns-redirect { + description + "Specify new dns resolver address for DCA"; + type inet:ipv4-address; + } + } + + grouping config-sitemgr-grouping { + container site-manager { + description + "Configure Site Manager"; + presence "true"; + list master { + description + "Enter master controller configuration submode"; + key "name"; + leaf name { + type site-manager-site-type; + } + container advanced { + description + "Advanced configuration submode"; + when "../name = 'hub'"; + uses config-allvrfs-hub-br-common; + } + uses config-allvrfs-hub-br-common; + container domain-map { + description + "Enter domain mapping configuration submode"; + when "../name = 'branch'"; + list application { + description + "Application name"; + key "name"; + leaf name { + description + "Specify the application name of the mapping"; + type string; + } + leaf domain { + description + "Domain url"; + type string; + } + leaf dscp { + description + "DSCP value"; + type ios-types:dscp-type; + } + } + } + } + list vrf { + description + "Configure Site Manager VRF"; + key "name"; + leaf name { + description + "Configure VRF"; + type string; + } + container border { + description + "Configure Site Manager's Border in VRF"; + leaf master { + description + "Specify IP address of Site-manager master controller"; + type union { + type enumeration { + enum local; + } + type inet:ipv4-address; + } + } + leaf shutdown { + description + "Disable Site-manager border router functionality"; + type empty; + } + uses config-source-interface; + uses config-password; + } + list master { + description + "Configure Site Manager VRF"; + key "name"; + leaf name { + description + "Configure Master type"; + type site-manager-site-type; + } + uses config-source-interface; + leaf shutdown { + description + "Disable site-manager master controller functionality"; + type empty; + } + container advanced { + description + "Advanced configuration submode"; + when "../name = 'hub'"; + container tcp { + description + "Specify tcp port numbers for mc-br communication"; + leaf mc-port { + description + "Specify tcp MC self port for mc-br communication"; + type uint16 { + range "1..65535"; + } + } + } + leaf connection-keepalive-interval { + description + "Specify timer to send keepalives to peer"; + type int8 { + range "1..60"; + } + } + } + uses config-password; + uses config-policy; + } + } + } + } + + augment "/ios:native" { + uses config-sitemgr-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM/ios-atm:pvc" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM/ios-atm:pvc" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Multilink" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-site-manager-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-site-manager-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sla.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sla.yang new file mode 100644 index 000000000..ff28c1b95 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sla.yang @@ -0,0 +1,9474 @@ +module Cisco-IOS-XE-sla { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sla"; + prefix ios-sla; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Service Level Agreements (SLA) Yang model. + Copyright (c) 2016, 2018-2019, 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added status obsolete for responder container and the nodes under it; + Added status obsolete for y1731 container and the nodes under it"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-11-01 { + description + "- Added leaf in service performance measurement grouping"; + cisco-semver:module-version "4.8.0"; + } + revision 2023-07-01 { + description + "- Changed the leafref for react-number and the also tailf:cli-diff-create-after + and removed tailf:cli-diff-delete-before statements to allow reaction-trigger + to be configured without reaction-configuration present"; + cisco-semver:module-version "4.7.0"; + } + revision 2023-03-01 { + description + "- Update yang-version to 1.1 + - Added packet-loss react-type to reaction-configuration list"; + cisco-semver:module-version "4.6.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added source-interface support for IPSLA DNS Operation"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-07-01 { + description + "- Added flatten container to http get and raw container for http case + - Removed cli-hide-in-submode statements from the leaf present in those containers"; + cisco-semver:module-version "4.4.1"; + } + revision 2022-03-01 { + description + "-Added source-interface support for IPSLA HTTP GET Operation"; + cisco-semver:module-version "4.4.0"; + } + revision 2021-07-01 { + description + "- Added status deprecated for the responder container and the nodes under it + - Added new nodes to support responder, twamp and twamp-light configuration"; + cisco-semver:module-version "4.3.0"; + } + revision 2021-03-01 { + description + "- Extended the model to support TWAMP Light configuration + - Updated the dependency between sla entry list, schedule list and + reaction-configuration list + - Updated the dependency between mpls-lsp-monitor entry list, schedule list and + reaction-configuration list + - Updated the dependency between ethernet-monitor entry list, schedule list and + reaction-configuration list"; + cisco-semver:module-version "4.2.0"; + } + revision 2020-11-01 { + description + "- Extended the model to support secure http operation"; + cisco-semver:module-version "4.1.0"; + } + revision 2020-07-01 { + description + "- Added if-feature for service performance container"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-03-01 { + description + "- Added mandatory true for some of the leaves + - Added status obsolete for the child nodes under ethernet-monitor-modification-configuration + - Added status obsolete for the child nodes under modification-configuration"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "- Extended the model to support mpls probe and group schedule + - Extended the model to support permanent port responder and twamp responder + - Added status obsolete for container jitter and it's child nodes + - Added status obsolete for choice vrf"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Extended the model to support probe - 'auto ip sla mpls-lsp-monitor' + - Extended the model to support probe - 'service-performance' + - Support for ethernet echo probe + - Support for ethernet jitter probe + - Support for ethernet y1731 probe"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-08-03 { + description + "Added loss support for ethernet-y1731."; + } + revision 2018-07-04 { + description + "Add icmp-jitter, tcp-connect, dns cases and its options. Add + other options for the existing cases."; + } + revision 2018-06-28 { + description + "Added leafref for ip sla schedule entry-number"; + } + revision 2018-05-23 { + description + "Add http-raw request support and the other options for http probe"; + } + revision 2018-04-11 { + description + "Add source-port, control and codec options for ip sla udp-jitter probe"; + } + revision 2018-01-15 { + description + "Add ethernet case and its options under ip sla"; + } + revision 2017-08-31 { + description + "Add dependency between ip sla schedule and ip sla reaction configuration"; + } + revision 2017-08-03 { + description + "Add dependency between ip sla schedule and ip sla entry"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ip-sla-sub-mode-commands-grouping { + leaf owner { + description + "Owner of Entry"; + type string; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf frequency { + description + "Frequency of an operation"; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + leaf timeout { + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + } + + grouping ip-sla-full-history-grouping { + container history { + description + "History and Distribution Data"; + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + default "900"; + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + default "100"; + } + } + leaf buckets-kept { + description + "Maximum number of history buckets to collect"; + type uint8 { + range "1..60"; + } + default "50"; + } + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf filter { + description + "Add operation to History when..."; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf lives-kept { + description + "Maximum number of history lives to collect"; + type uint8 { + range "0..2"; + } + default "0"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + } + + grouping ip-sla-history-without-enhanced-grouping { + container history { + description + "History and Distribution Data"; + leaf buckets-kept { + description + "Maximum number of history buckets to collect"; + type uint8 { + range "1..60"; + } + default "50"; + } + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf filter { + description + "Add operation to History when..."; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + } + leaf lives-kept { + description + "Maximum number of history lives to collect"; + type uint8 { + range "0..2"; + } + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + } + } + } + + grouping ip-sla-jitter-percentile { + container percentile { + description + "Set percentile statistics levels"; + leaf jitteravg { + description + "% of Average Jitter values to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + leaf jitterds { + description + "% of destination to source Jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + leaf jittersd { + description + "% of source to destination value to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + leaf owds { + description + "% of One way destination to source Jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + leaf owsd { + description + "% of One way source to destination value to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + leaf rtt { + description + "% of Round trip time value to use (default 100%)"; + type uint8 { + range "90..100"; + } + default "100"; + } + } + } + + grouping ip-sla-path-echo-grouping { + leaf paths-of-statistics-kept { + description + "Maximum number of statistics paths to capture"; + type uint8 { + range "1..128"; + } + default "5"; + } + leaf samples-of-history-kept { + description + "Maximum number of history samples to collect"; + type uint8 { + range "1..30"; + } + default "16"; + } + leaf hops-of-statistics-kept { + description + "Maximum number of statistics hops to capture"; + type uint8 { + range "1..30"; + } + default "16"; + } + leaf-list lsr-path { + description + "Loose Source Routing Path"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf request-data-size { + description + "Request data size"; + type uint32 { + range "0..16384"; + } + default "28"; + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + default "0"; + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + uses ip-sla-history-without-enhanced-grouping; + } + + grouping ip-sla-path-jitter-grouping { + leaf-list lsr-path { + description + "Loose Source Routing Path"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf request-data-size { + description + "Request data size"; + type uint32 { + range "0..16384"; + } + default "28"; + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf flow-label { + description + "Flow Label Value for IPv6 destination"; + type uint64 { + range "0..1048575"; + } + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + } + + grouping ip-sla-default-path-jitter-grouping { + leaf frequency { + description + "Frequency of an operation"; + type empty; + } + leaf lsr-path { + description + "Loose Source Routing Path"; + type empty; + } + leaf owner { + description + "Owner of Entry"; + type empty; + } + leaf request-data-size { + description + "Request data size"; + type empty; + } + leaf tag { + description + "User defined tag"; + type empty; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + type empty; + } + leaf timeout { + description + "Timeout of an operation"; + type empty; + } + leaf tos { + description + "Type Of Service"; + type empty; + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type empty; + } + } + + grouping ip-sla-udp-jitter-grouping { + container history { + description + "History and Distribution Data"; + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + } + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + container control_sub_mode { + container control { + description + "Set control protocol parameters"; + leaf retry { + description + "How often the control message should do a retry (default 3 times)"; + type uint8 { + range "1..5"; + } + default "3"; + } + leaf timeout { + description + "How long to wait for control message timeout (default 5 seconds)"; + type uint16 { + range "1..10000"; + } + default "5"; + } + } + } + leaf data-pattern { + status obsolete; + description + "Data Pattern in Hex 0-FFFFFFFF (OBSOLETE)"; + type string; + } + leaf request-data-size { + description + "Number of bytes in payload"; + type uint16 { + range "16..17512"; + } + default "32"; + } + leaf response-data-size { + description + "Number of bytes in response payload"; + type uint16 { + range "20..17512"; + } + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf precision { + description + "Set precision of measurement"; + type enumeration { + enum microseconds; + enum milliseconds; + } + default "milliseconds"; + } + leaf optimize { + description + "Optimize timestamp of measurement"; + type enumeration { + enum timestamp; + } + } + leaf enhanced { + description + "Improve the accuracy of measurement"; + type enumeration { + enum timestamp; + } + } + leaf operation-packet-priority { + description + "Set operation packet properties"; + type enumeration { + enum high; + enum normal; + } + default "normal"; + } + container clock-tolerance-config { + description + "Set acceptable clock synchronization error"; + container ntp { + description + "Acceptable clock synchronization error due to NTP"; + container oneway { + description + "Acceptable clock synchronization error in one-way measurement"; + choice clock-tolerance-param { + case absolute-type { + leaf absolute { + description + "Acceptable error in microseconds"; + type uint32 { + range "0..100000"; + } + } + } + case percent-type { + leaf percent { + description + "Acceptable error as percent of value measured"; + type uint8 { + range "0..100"; + } + } + } + } + } + } + } + container clock-tolerance { + status obsolete; + description + "Set acceptable clock synchronization error. (OBSOLETE, use clock-tolerance-config container)"; + presence "true"; + container ntp { + status obsolete; + description + "Acceptable clock synchronization error due to NTP(OBSOLETE) + use ntp under clock-tolerance-config"; + presence "true"; + container oneway { + status obsolete; + description + "Acceptable clock synchronization error in one way measurement(OBSOLETE). + use one way under ntp in clock-tolerance-config"; + choice clock-tolerance-param { + status obsolete; + case absolute-type { + status obsolete; + leaf absolute { + status obsolete; + description + "Acceptable error in microseconds(OBSOLETE). + use absolute under clock-tolerance-config"; + type uint32 { + range "0..100000"; + } + } + } + case percent-type { + status obsolete; + leaf percent { + status obsolete; + description + "Acceptable error as percent of value measured(OBSOLETE). + use percent-type under clock-tolerance-config"; + type uint8 { + range "0..100"; + } + } + } + } + } + } + } + } + + grouping ip-sla-udp-echo-grouping { + uses ip-sla-full-history-grouping; + leaf request-data-size { + description + "Number of bytes in payload"; + type uint16 { + range "4..1500"; + } + default "16"; + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + leaf data-pattern { + description + "Data Pattern in Hex 0-FFFFFFFF"; + type string; + } + } + + grouping ip-sla-ethernet-delay-grouping { + container aggregate { + description + "Aggregate parameters"; + leaf interval { + description + "Specify interval period"; + type uint32 { + range "1..65535"; + } + } + } + container history { + description + "History parameters"; + leaf interval { + description + "Specify number of intervals"; + type uint8 { + range "1..10"; + } + } + } + } + + grouping ip-sla-ethernet-distribution-grouping { + container distribution { + description + "Specify the distribution statistics parameters"; + container delay { + description + "Specify delay distribution parameters"; + container one-way { + leaf one-way { + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + container two-way { + when "../../../ios-sla:name='DMM' or + ../../../ios-sla:name='DMMv1'"; + leaf two-way { + description + "Specify two-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + container delay-variation { + description + "Specify delay-variation distribution parameters"; + container one-way { + leaf one-way { + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + container two-way { + when "../../../ios-sla:name='DMM' or + ../../../ios-sla:name='DMMv1'"; + leaf two-way { + description + "Specify two-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + } + } + + grouping ip-sla-ethernet-y1731-grouping { + choice delay-or-loss { + case delay-case { + container delay { + description + "Y1731 Delay and Delay Variation Operation"; + choice sender-or-receiver { + case sender-case { + container sender { + leaf name { + description + "Y1731 Delay option"; + mandatory true; + type enumeration { + enum 1DM; + enum DMM; + enum DMMv1; + } + } + leaf burst { + description + "Enable bursting of delay frames"; + type empty; + } + uses ip-sla-ethernet-delaysender-loss-common-grouping; + container clock { + description + "Specify clock parameters"; + when "../ios-sla:name='DMM' or + ../ios-sla:name='DMMv1'"; + leaf sync { + description + "Clocks are in sync on sender and responder"; + type boolean; + } + } + uses ip-sla-ethernet-distribution-grouping; + container frame { + description + "Specify frame parameters"; + leaf interval { + description + "Specify inter-frame period"; + type frame-interval-type; + } + leaf size { + description + "Specify payload size in 4 octet increments"; + type uint16 { + range "64..1400"; + } + } + leaf burst { + description + "Number of frames to send per burst"; + when '(../../burst)'; + type uint16 { + range "1..65535"; + } + } + leaf offset { + description + "Specify the frame offset to be used for calculations"; + when "../../ios-sla:name='DMM' or + ../../ios-sla:name='DMMv1' or + ../../../ios-sla:receive/ios-sla:name='1DM'"; + type uint8 { + range "1..10"; + } + } + } + } + } + case receive-case { + container receive { + leaf name { + description + "Y1731 Delay option"; + mandatory true; + type enumeration { + enum 1DM; + } + } + leaf domain { + description + "Specify the Ethernet OAM domain"; + mandatory true; + type string; + } + choice evc-or-vlan { + mandatory true; + leaf evc { + description + "Specify the Ethernet Virtual Circuit Identifier"; + type string; + } + leaf vlan { + description + "Specify the VLAN"; + type uint16 { + range "1..4096"; + } + } + } + leaf cos { + description + "Specify the Class of Service"; + mandatory true; + type uint8 { + range "0..7"; + } + } + choice mac-or-mpid { + mandatory true; + leaf mac-address { + description + "Specify the remote mac-address"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + description + "Specify the remote MPID"; + type uint16 { + range "1..8191"; + } + } + } + uses ip-sla-ethernet-sub-command-grouping; + container aggregate { + description + "Aggregate parameters"; + leaf interval { + description + "Specify interval period"; + type uint16 { + range "1..65535"; + } + } + } + container frame { + description + "Specify frame parameters"; + leaf offset { + description + "Specify the frame offset to be used for calculations"; + type uint8 { + range "1..10"; + } + } + } + container distribution { + description + "Specify the distribution statistics parameters"; + container delay { + description + "Specify delay distribution parameters"; + container one-way { + leaf one-way { + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + container delay-variation { + description + "Specify delay-variation distribution parameters"; + container one-way { + leaf one-way { + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + } + } + } + } + } + } + case loss-case { + container loss { + description + "Y1731 Loss Operation"; + container wrapper-container { + leaf name { + description + "Y1731 Delay option"; + mandatory true; + type enumeration { + enum LMM { + description + "Loss Measurement Message/Loss Measurement Reply frames"; + } + enum SLM { + description + "Synthetic Loss Message/Synthetic Loss Reply frames"; + } + } + } + leaf burst { + description + "Enable bursting of delay frames. Applicable only to SLM option"; + when "../name='SLM'"; + type empty; + } + uses ip-sla-ethernet-delaysender-loss-common-grouping; + container frame { + description + "Specify frame parameters"; + leaf interval { + description + "Specify inter-frame period"; + type frame-interval-type; + } + leaf consecutive { + description + "Specify the consecutive frames to be used for calculations"; + type uint16 { + range "1..10"; + } + } + leaf size { + description + "Specify payload size in 4 octet increments"; + when "../../name='SLM'"; + type uint16 { + range "64..1400"; + } + } + leaf burst { + description + "Number of frames to send per burst"; + when '(../../burst)'; + type uint16 { + range "1..65535"; + } + } + } + container availability { + description + "Specify the availability parameters"; + container algorithm { + description + "Specify the algorithm to use"; + leaf sliding-window { + description + "Use a sliding window"; + type boolean; + } + leaf static-window { + description + "Use a static window"; + type boolean; + } + } + } + } + } + } + } + } + + grouping ip-sla-ethernet-delaysender-loss-common-grouping { + leaf domain { + description + "Specify the Ethernet OAM domain"; + mandatory true; + type string; + } + choice evc-or-vlan { + mandatory true; + leaf evc { + description + "Specify the Ethernet Virtual Circuit Identifier"; + type string; + } + leaf vlan { + description + "Specify the VLAN"; + type uint16 { + range "1..4096"; + } + } + } + choice mac-or-mpid { + mandatory true; + leaf mac-address { + description + "Specify the remote mac-address"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + description + "Specify the remote MPID"; + type uint16 { + range "1..8191"; + } + } + } + leaf cos { + description + "Specify the Class of Service"; + mandatory true; + type uint8 { + range "0..7"; + } + } + container source { + description + "Specify the local MPID or MAC-Address"; + choice mac-or-mpid { + mandatory true; + leaf mac-address { + description + "Specify the local mac-address"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + description + "Specify the local MPID"; + type uint16 { + range "1..8191"; + } + } + } + } + uses ip-sla-ethernet-sub-command-grouping; + container aggregate { + description + "Aggregate parameters"; + container interval { + description + "Specify interval period"; + leaf interval-period { + description + "Specify interval period"; + when 'not (current()/../../../ios-sla:burst)'; + type uint32 { + range "1..65535"; + } + } + leaf burst-cycles { + description + "Specify number of burst cycles"; + when 'current()/../../../ios-sla:burst'; + type uint16 { + range "1..900"; + } + } + } + } + leaf frequency { + description + "Number of seconds after which to repeat burst"; + when 'current()/../ios-sla:burst'; + type uint16 { + range "1..900"; + } + default "60"; + } + } + + grouping ip-sla-ethernet-sub-command-grouping { + container history { + description + "History parameters"; + leaf interval { + description + "Specify number of intervals"; + type uint8 { + range "1..10"; + } + } + } + leaf max-delay { + description + "Specify the max delay"; + when "../ios-sla:name = 'DMM' or + ../ios-sla:name = 'DMMv1' or + ../ios-sla:name = '1DM' or + ../ios-sla:name = 'LMM'"; + type uint16 { + range "1..65535"; + } + } + leaf owner { + description + "Specify operation owner"; + type string; + } + } + + grouping ip-sla-service-performance-packet-direction-sub-command-grouping { + container packet { + description + "Packet Profiles"; + leaf outer-vlan { + description + "Specify the Outer VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf packet-size { + description + "Packet Size"; + type packet-size-type; + } + } + } + + grouping ip-sla-service-performance-traffic-direction-sub-command-grouping { + container traffic { + description + "Service Performance traffic profile"; + leaf direction { + description + "Traffic direction"; + type enumeration { + enum external { + description + "external direction"; + } + enum internal { + description + "internal direction"; + } + } + } + leaf cbs { + description + "Committed Burst Size"; + type uint32 { + range "0..16000000"; + } + units "Kbps"; + } + leaf cir { + description + "Committed Information Rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + type uint32 { + range "0..10000000"; + } + units "Kbps"; + } + leaf ebs { + description + "Excess Burst Size"; + type uint32 { + range "0..16000000"; + } + units "Kbps"; + } + leaf eir { + description + "Excess Information Rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + type uint32 { + range "0..10000000"; + } + units "Kbps"; + } + container rate-step { + description + "Rate Step"; + choice Kbps_or_pps { + container Kbps { + description + "Kilobits per second rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + leaf step1 { + description + "Step 1 (Kbps/pps)"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step2 { + description + "Step 2 (Kbps/pps), Step 2 >= Step 1"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step3 { + description + "Step 3 (Kbps/pps), Step 3 >= Step 2"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step4 { + description + "Step 4 (Kbps/pps), Step 4 >= Step 3"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step5 { + description + "Step 5 (Kbps/pps), Step 5 >= Step 4"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step6 { + description + "Step 6 (Kbps/pps), Step 6 >= Step 5"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step7 { + description + "Step 7 (Kbps/pps), Step 7 >= Step 6"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step8 { + description + "Step 8 (Kbps/pps), Step 8 >= Step 7"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step9 { + description + "Step 9 (Kbps/pps), Step 9 >= Step 8"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step10 { + description + "Step 10 (Kbps/pps), Step 10 >= Step 9"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + } + container pps { + description + "Packet per second rate"; + leaf step1 { + description + "Step 1 (Kbps/pps)"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step2 { + description + "Step 2 (Kbps/pps), Step 2 >= Step 1"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step3 { + description + "Step 3 (Kbps/pps), Step 3 >= Step 2"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step4 { + description + "Step 4 (Kbps/pps), Step 4 >= Step 3"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step5 { + description + "Step 5 (Kbps/pps), Step 5 >= Step 4"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step6 { + description + "Step 6 (Kbps/pps), Step 6 >= Step 5"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step7 { + description + "Step 7 (Kbps/pps), Step 7 >= Step 6"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step8 { + description + "Step 8 (Kbps/pps), Step 8 >= Step 7"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step9 { + description + "Step 9 (Kbps/pps), Step 9 >= Step 8"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step10 { + description + "Step 10 (Kbps/pps), Step 10 >= Step 9"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + } + } + } + } + } + + grouping ip-sla-service-performance-measurement-type-sub-command-grouping { + leaf direction { + description + "Measurement direction"; + type enumeration { + enum external { + description + "external direction"; + } + enum internal { + description + "internal direction"; + } + } + } + container conform-color { + description + "conform-color"; + } + container exceed-color { + description + "exceed-color"; + } + leaf delay { + description + "Delay measurement"; + type empty; + } + leaf jitter { + description + "Jitter measurement"; + type empty; + } + leaf loss { + description + "loss measurement"; + type empty; + } + leaf receive { + description + "Received bytes/packets measurement"; + type empty; + } + leaf throughput { + description + "Throughput measurement"; + type empty; + } + leaf out-of-order-packets { + if-feature "ios-features:service-performance-ooop"; + description + "Out-of-Order-packets measurement"; + type empty; + } + } + + grouping ip-sla-service-performance-sub-command-grouping { + container aggregation { + description + "Statistics aggregation"; + container interval { + description + "Statistics aggregation period"; + leaf buckets { + description + "interval statistic buckets"; + type uint8 { + range "1..30"; + } + } + } + } + leaf description { + description + "Operation Description"; + type string; + } + container duration { + description + "Service Performance duration configuration"; + leaf time { + description + "Time based duration"; + type uint16 { + range "10..40950"; + } + } + } + container frequency_serv_perf { + description + "Scheduled frequency"; + leaf time { + description + "Frequency period"; + type uint32 { + range "20..604800"; + } + } + container frequency-iteration { + description + "Frequency iteration configuration"; + leaf iteration { + description + "Iteration number"; + type uint8 { + range "1..100"; + } + } + leaf delay { + description + "Delay between interactions"; + type uint8 { + range "0..10"; + } + } + } + } + container loopback { + description + "loopback"; + container direction { + description + "loopback direction"; + leaf internal { + description + "internal direction"; + type boolean; + } + leaf external { + description + "external direction"; + type boolean; + } + } + } + container profile { + description + "Service Performance Profile"; + } + container measurement-type { + description + "Measurement"; + } + leaf signature { + description + "Payload Contents"; + type string; + } + } + + grouping config-ip-sla-react-threshold-type-grouping { + container threshold-type { + choice threshold-type-param { + case xOfy-type { + container xOfy { + presence "true"; + leaf x-val { + description + "X value"; + type uint8 { + range "1..16"; + } + } + leaf y-val { + description + "Y value"; + type uint8 { + range "1..16"; + } + } + } + } + case average-type { + container average { + presence "true"; + description + "Average over N attempts"; + leaf average-val { + description + "N value"; + type uint8 { + range "1..16"; + } + } + } + } + case consecutive-type { + container consecutive { + presence "true"; + description + "Consecutive occurrences"; + leaf consecutive-val { + description + "Number of occurrences"; + type uint8 { + range "1..16"; + } + } + } + } + case immediate-type { + leaf immediate { + description + "React immediately"; + type empty; + } + } + case never-type { + leaf never { + description + "Never react"; + type empty; + } + } + } + } + } + + grouping config-ip-sla-react-threshold-value-grouping { + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "1..60000"; + } + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "1..60000"; + } + } + } + } + + typedef hour-min { + type string { + pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]'; + } + } + + typedef hour-min-sec { + type string { + pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + } + + typedef reply-dscp-bits-type { + type enumeration { + enum af11 { + value 100; + description + "Match packets with AF11 dscp (001010)"; + } + enum af12 { + description + "Match packets with AF12 dscp (001100)"; + } + enum af13 { + description + "Match packets with AF13 dscp (001110)"; + } + enum af21 { + description + "Match packets with AF21 dscp (010010)"; + } + enum af22 { + description + "Match packets with AF22 dscp (010100)"; + } + enum af23 { + description + "Match packets with AF23 dscp (010110)"; + } + enum af31 { + description + "Match packets with AF31 dscp (011010)"; + } + enum af32 { + description + "Match packets with AF32 dscp (011100)"; + } + enum af33 { + description + "Match packets with AF33 dscp (011110)"; + } + enum af41 { + description + "Match packets with AF41 dscp (100010)"; + } + enum af42 { + description + "Match packets with AF42 dscp (100100)"; + } + enum af43 { + description + "Match packets with AF43 dscp (100110)"; + } + enum cs1 { + description + "Match packets with CS1(precedence 1) dscp (001000)"; + } + enum cs2 { + description + "Match packets with CS2(precedence 2) dscp (010000)"; + } + enum cs3 { + description + "Match packets with CS3(precedence 3) dscp (011000)"; + } + enum cs4 { + description + "Match packets with CS4(precedence 4) dscp (100000)"; + } + enum cs5 { + description + "Match packets with CS5(precedence 5) dscp (101000)"; + } + enum cs6 { + description + "Match packets with CS6(precedence 6) dscp (110000)"; + } + enum cs7 { + description + "Match packets with CS7(precedence 7) dscp (111000)"; + } + enum default { + description + "Match packets with default dscp (000000)"; + } + enum ef { + description + "Match packets with EF dscp (101110)"; + } + } + } + + typedef frame-interval-type { + type enumeration { + enum 10 { + description + "Frame interval 10 ms"; + } + enum 100 { + description + "Frame interval 100 ms"; + } + enum 1000 { + description + "Frame interval 1000 ms"; + } + enum 20 { + description + "Frame interval 20 ms"; + } + enum 25 { + description + "Frame interval 25 ms"; + } + enum 50 { + description + "Frame interval 50 ms"; + } + } + } + + typedef packet-size-type { + type enumeration { + enum 1024 { + description + "1024 byte"; + } + enum 128 { + description + "128 byte"; + } + enum 1280 { + description + "1280 byte"; + } + enum 1518 { + description + "1518 byte"; + } + enum 256 { + description + "256 byte"; + } + enum 512 { + description + "512 byte"; + } + enum 64 { + description + "64 byte"; + } + enum 9216 { + description + "9216 byte"; + } + enum imix { + description + "imix packet size"; + } + } + } + + grouping mpls-lsp-monitor-type-common-grouping { + leaf access-list { + description + "Apply Access-List"; + type uint16 { + range "1..9"; + } + } + leaf delete-scan-factor { + description + "Scan Factor for automatic deletion"; + type uint32 { + range "0..2147483647"; + } + default "1"; + } + leaf exp { + description + "EXP value"; + type uint8 { + range "0..7"; + } + default "0"; + } + leaf lsp-selector { + description + "Local-Host address used to select the LSP"; + type inet:ipv4-address; + } + leaf scan-interval { + description + "Scan Interval for automatic discovery in minutes"; + type uint32 { + range "1..70560"; + } + default "240"; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + type uint16 { + range "1..60000"; + } + default "5000"; + } + leaf timeout { + description + "Timeout of an operation"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + } + + grouping mpls-lsp-monitor-type-echo-grouping { + uses mpls-lsp-monitor-type-common-grouping; + leaf force-explicit-null { + description + "force an explicit null label to be added"; + type boolean; + } + leaf reply-dscp-bits { + description + "DSCP bits in reply IP header"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + container reply-mode { + description + "Reply for LSP echo request"; + leaf ipv4 { + description + "Send reply via IPv4"; + type boolean; + } + leaf router-alert { + description + "Send reply via IPv4 UDP with router alert"; + type boolean; + } + } + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "100..1500"; + } + } + container secondary-frequency { + description + "Frequency to be used if there is any violation condition happens"; + leaf both { + description + "Enable secondary freq for timeout and connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf connection-loss { + description + "Enable secondary freq for connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf timeout { + description + "Enable secondary freq for timeout"; + type uint32 { + range "1..604800"; + } + } + } + leaf ttl { + description + "Time to live"; + type uint8 { + range "1..255"; + } + default "255"; + } + container path-discover { + description + "IP SLAs LSP path discover configuration"; + presence "true"; + leaf force-explicit-null { + description + "Force an explicit null label to be added"; + type empty; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..2"; + } + default "2"; + } + leaf interval { + description + "Interval in milliseconds"; + type uint32 { + range "0..3600000"; + } + units "microseconds"; + default "0"; + } + leaf lsp-selector-base { + description + "Base 127/8 address to start the tree trace"; + type inet:ipv4-address; + default "127.0.0.0"; + } + leaf maximum-sessions { + description + "Number of concurrent active tree trace requests which can be submit at one time"; + type uint8 { + range "0..15"; + } + default "1"; + } + leaf scan-period { + description + "Time period for finishing tree trace discovery in minutes"; + type uint16 { + range "0..7200"; + } + units "minutes"; + default "60"; + } + leaf session-timeout { + description + "Timeout value for the tree trace requests in seconds"; + type uint16 { + range "1..900"; + } + units "seconds"; + default "120"; + } + leaf timeout { + description + "Timeout for an MPLS Echo Request in seconds"; + type uint32 { + range "1..604800000"; + } + units "seconds"; + default "5"; + } + } + } + + grouping mpls-lsp-monitor-type-jitter-grouping { + leaf access-list { + status obsolete; + description + "Apply Access-List"; + type uint16 { + range "1..9"; + } + } + leaf delete-scan-factor { + status obsolete; + description + "Scan Factor for automatic deletion"; + type uint32 { + range "0..2147483647"; + } + } + leaf exp { + status obsolete; + description + "EXP value"; + type uint8 { + range "0..7"; + } + } + leaf lsp-selector { + status obsolete; + description + "Local-Host address used to select the LSP"; + type inet:ipv4-address; + } + leaf scan-interval { + status obsolete; + description + "Scan Interval for automatic discovery in minutes"; + type uint32 { + range "1..70560"; + } + } + leaf tag { + status obsolete; + description + "User defined tag"; + type string; + } + leaf threshold { + status obsolete; + description + "Operation threshold in milliseconds"; + type uint16 { + range "1..60000"; + } + } + leaf timeout { + status obsolete; + description + "Timeout of an operation"; + type uint32 { + range "0..604800000"; + } + } + leaf dest-port { + status obsolete; + description + "Destination Port"; + type uint16 { + range "1..65535"; + } + } + leaf interval { + status obsolete; + description + "Inter Packet Interval"; + type uint16 { + range "4..60000"; + } + } + leaf num-packets { + status obsolete; + description + "Number of Packets to be transmitted"; + type uint16 { + range "1..60000"; + } + } + leaf request-data-size { + status obsolete; + description + "Request data size"; + type uint16 { + range "100..1500"; + } + } + container secondary-frequency { + status obsolete; + description + "Frequency to be used if there is any violation condition happens"; + leaf both { + status obsolete; + description + "Enable secondary freq for timeout and connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf connection-loss { + status obsolete; + description + "Enable secondary freq for connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf timeout { + status obsolete; + description + "Enable secondary freq for timeout"; + type uint32 { + range "1..604800"; + } + } + } + leaf verify-data { + status obsolete; + description + "Verify data"; + type boolean; + } + } + + grouping mpls-lsp-monitor-type-pathEcho-grouping { + uses mpls-lsp-monitor-type-common-grouping; + leaf force-explicit-null { + description + "force an explicit null label to be added"; + type boolean; + } + leaf reply-dscp-bits { + description + "DSCP bits in reply IP header"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + container reply-mode { + description + "Reply for LSP echo request"; + leaf ipv4 { + description + "Send reply via IPv4"; + type boolean; + } + leaf router-alert { + description + "Send reply via IPv4 UDP with router alert"; + type boolean; + } + } + leaf ttl { + description + "Time to live"; + type uint8 { + range "1..30"; + } + default "30"; + } + } + + grouping config-auto-ip-sla-react-action-type-grouping { + leaf action-type { + description + "IP SLAs Reaction Action Type"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + + grouping config-auto-ip-sla-react-threshold-type-grouping { + container threshold-type { + description + "Threshold Type"; + choice threshold-type-param { + case consecutive-type { + container consecutive { + description + "Consecutive Occurrences"; + presence "true"; + leaf consecutive-value { + description + "Number of Occurrences"; + type uint8 { + range "1..16"; + } + default "5"; + } + } + } + case immediate-type { + leaf immediate { + description + "React Immediately"; + type empty; + } + } + case never-type { + leaf never { + description + "Never React"; + type empty; + } + } + } + } + } + + grouping config-auto-ip-sla-grouping { + container auto { + description + "Configure Automation"; + container ip { + description + "Configure Auto IP Service Level Agreement"; + container sla { + description + "IP Service Level Agreement"; + container mpls-lsp-monitor { + description + "IP SLAs MPLS LSP Monitor Configuration"; + list entry { + key "number"; + leaf number { + type uint32; + } + container type { + description + "Type of entry"; + choice type { + case echo-case { + container echo { + description + "Perform MPLS LSP Ping operation"; + choice vrf { + case ipsla-vrf-all-case { + container ipsla-vrf-all { + description + "Configure IP SLAs MPLS LSP Monitor for all Virtual Private Networks"; + presence "true"; + uses mpls-lsp-monitor-type-echo-grouping; + } + } + case vrf_container-case { + container vrf_container { + leaf vrf { + description + "vrf Name"; + mandatory true; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses mpls-lsp-monitor-type-echo-grouping; + } + } + } + } + } + case jitter-case { + container jitter { + status obsolete; + description + "Perform MPLS Jitter operation"; + choice vrf { + status obsolete; + case ipsla-vrf-all-case { + status obsolete; + container ipsla-vrf-all { + status obsolete; + description + "Configure IP SLAs MPLS LSP Monitor for all Virtual Private Networks"; + presence "true"; + uses mpls-lsp-monitor-type-jitter-grouping; + } + } + case vrf_container-case { + status obsolete; + container vrf_container { + status obsolete; + leaf vrf { + status obsolete; + description + "vrf Name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses mpls-lsp-monitor-type-jitter-grouping; + } + } + } + } + } + case pathEcho-case { + container pathEcho { + description + "Perform MPLS LSP Trace operation"; + choice vrf { + case ipsla-vrf-all-case { + container ipsla-vrf-all { + description + "Configure IP SLAs MPLS LSP Monitor for all Virtual Private Networks"; + presence "true"; + uses mpls-lsp-monitor-type-pathEcho-grouping; + } + } + case vrf_container-case { + container vrf_container { + leaf vrf { + description + "vrf Name"; + mandatory true; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses mpls-lsp-monitor-type-pathEcho-grouping; + } + } + } + } + } + } + } + container modification-configuration { + status obsolete; + leaf access-list { + status obsolete; + description + "Apply Access-List"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint16 { + range "1..9"; + } + } + leaf delete-scan-factor { + status obsolete; + description + "Scan Factor for automatic deletion"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint32 { + range "0..2147483647"; + } + } + leaf exp { + status obsolete; + description + "EXP value"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint8 { + range "0..7"; + } + } + leaf lsp-selector { + status obsolete; + description + "Local-Host address used to select the LSP"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type inet:ipv4-address; + } + leaf scan-interval { + status obsolete; + description + "Scan Interval for automatic discovery in minutes"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint32 { + range "1..70560"; + } + } + leaf tag { + status obsolete; + description + "User defined tag"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type string; + } + leaf threshold { + status obsolete; + description + "Operation threshold in milliseconds"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint16 { + range "1..60000"; + } + } + leaf timeout { + status obsolete; + description + "Timeout of an operation"; + when "../../type/echo or + ../../type/jitter or + ../../type/pathEcho"; + type uint32 { + range "0..604800000"; + } + } + leaf force-explicit-null { + status obsolete; + description + "force an explicit null label to be added"; + when "../../type/echo or + ../../type/pathEcho"; + type boolean; + } + leaf reply-dscp-bits { + status obsolete; + description + "DSCP bits in reply IP header"; + when "../../type/echo or + ../../type/pathEcho"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + container reply-mode { + status obsolete; + description + "Reply for LSP echo request"; + when "../../type/echo or + ../../type/pathEcho"; + leaf ipv4 { + status obsolete; + description + "Send reply via IPv4"; + type boolean; + } + leaf router-alert { + status obsolete; + description + "Send reply via IPv4 UDP with router alert"; + type boolean; + } + } + leaf request-data-size { + status obsolete; + description + "Request data size"; + when "../../type/echo or + ../../type/jitter"; + type uint16 { + range "100..1500"; + } + } + container secondary-frequency { + status obsolete; + description + "Frequency to be used if there is any violation condition happens"; + when "../../type/echo or + ../../type/jitter"; + leaf both { + status obsolete; + description + "Enable secondary freq for timeout and connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf connection-loss { + status obsolete; + description + "Enable secondary freq for connection loss"; + type uint32 { + range "1..604800"; + } + } + leaf timeout { + status obsolete; + description + "Enable secondary freq for timeout"; + type uint32 { + range "1..604800"; + } + } + } + leaf ttl { + status obsolete; + description + "Time to live"; + when "../../type/echo or + ../../type/pathEcho"; + type uint8 { + range "1..255"; + } + } + leaf dest-port { + status obsolete; + description + "Destination Port"; + when '../../type/jitter'; + type uint16 { + range "1..65535"; + } + } + leaf interval { + status obsolete; + description + "Inter Packet Interval"; + when '../../type/jitter'; + type uint16 { + range "4..60000"; + } + } + leaf num-packets { + status obsolete; + description + "Number of Packets to be transmitted"; + when '../../type/jitter'; + type uint16 { + range "1..60000"; + } + } + leaf verify-data { + status obsolete; + description + "Verify data"; + when '../../type/jitter'; + type boolean; + } + } + } + list reaction-configuration { + description + "IP SLAs MPLS LSP Monitor Reaction Configuration"; + key "entry-number"; + leaf entry-number { + description + "Entry number"; + type leafref { + path "/ios:native/ios-sla:auto/ios-sla:ip/ios-sla:sla/ios-sla:mpls-lsp-monitor/ios-sla:entry/ios-sla:number"; + } + } + container react { + description + "Reaction Variable To Be Configured"; + container connectionLoss { + description + "Connection Loss"; + presence "true"; + uses config-auto-ip-sla-react-action-type-grouping; + uses config-auto-ip-sla-react-threshold-type-grouping; + } + container lpd { + description + "IP SLAs LSP Path Discover"; + container lpd-group { + description + "LSP Path Discover Group"; + presence "true"; + leaf retry { + description + "Retry Count"; + type uint8 { + range "1..16"; + } + } + leaf action-type { + description + "LSP Path Discover Reaction Action Type"; + type enumeration { + enum trapOnly; + } + } + } + container tree-trace { + description + "Tree Trace"; + presence "true"; + leaf action-type { + description + "LSP Path Discover Reaction Action Type"; + type enumeration { + enum trapOnly; + } + } + } + } + container timeout { + description + "Timeout"; + presence "true"; + uses config-auto-ip-sla-react-action-type-grouping; + uses config-auto-ip-sla-react-threshold-type-grouping; + } + } + } + list schedule { + description + "IP SLAs MPLS LSP Monitor Schedule"; + key "entry"; + leaf entry { + description + "Entry Number"; + type leafref { + path "/ios:native/ios-sla:auto/ios-sla:ip/ios-sla:sla/ios-sla:mpls-lsp-monitor/ios-sla:entry/ios-sla:number"; + } + } + leaf schedule-period { + description + "Group schedule period range"; + type uint32 { + range "1..604800"; + } + } + leaf frequency { + description + "Group operation frequency"; + type uint32 { + range "1..604800"; + } + } + container start-time { + description + "When to start this entry"; + choice start-time-param { + case after-type { + leaf after { + description + "Start after a certain amount of time from now"; + type ios-sla:hour-min-sec; + } + } + case hour-min-type { + container hour-min { + leaf hour-min { + description + "Start time (hh:mm)"; + type ios-sla:hour-min; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case hour-min-sec-type { + container hour-min-sec { + leaf hour-min-sec { + description + "Start time (hh:mm)"; + type ios-sla:hour-min-sec; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case now-type { + leaf now { + description + "Start now"; + type empty; + } + } + case pending-type { + leaf pending { + description + "Start pending"; + type empty; + } + } + } + } + } + } + } + } + } + } + + grouping config-ip-sla-mpls-ping-trace-grouping { + leaf target-fec-address { + description + "Target FEC address (broadcast disallowed)"; + mandatory true; + type inet:ip-address; + } + leaf ip-prefix-mask { + description + "IP prefix mask"; + mandatory true; + type inet:ip-address; + } + leaf lsp-selector { + description + "Local Host IP Address, broadcast disallowed"; + type union { + type inet:ip-address; + type string; + } + } + container reply-mode { + description + "Reply mode for LSP echo request"; + container reply { + description + "Reply for LSP echo request"; + leaf mode { + description + "Reply mode"; + type enumeration { + enum ipv4; + enum router-alert; + } + default "ipv4"; + } + } + } + container reply { + description + "Reply for LSP echo request"; + leaf dscp { + description + "DSCP bits in reply IP header"; + type reply-dscp-bits-type; + } + } + leaf force-explicit-null { + description + "force an explicit null label to be added"; + type empty; + } + leaf source-ipaddr { + description + "Source specified as an IP address"; + type inet:ip-address; + } + } + + grouping config-ip-sla-mpls-lsp-submode-grouping { + leaf exp { + description + "EXP value"; + type uint8 { + range "0..7"; + } + default "0"; + } + leaf owner { + description + "Owner of Entry"; + type string; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf frequency { + description + "Frequency of an operation"; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + leaf timeout { + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + container history { + description + "History and Distribution Data"; + } + } + + grouping config-ip-sla-mpls-enhanced-history-grouping { + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + } + } + } + + grouping config-ip-sla-mpls-history-grouping { + leaf buckets-kept { + description + "Maximum number of history buckets to collect"; + type uint8 { + range "1..60"; + } + default "15"; + } + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf filter { + description + "Add operation to History when..."; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf lives-kept { + description + "Maximum number of history lives to collect"; + type uint8 { + range "0..2"; + } + default "0"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + + grouping config-ip-sla-mpls-ping-secondary-frequency-grouping { + container secondary-frequency { + description + "Frequency to be used if there is any violation condition happens"; + choice type-params { + case connection-loss-type { + leaf connection-loss { + description + "Enable secondary frequency for connection loss"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + case timeout-type { + leaf timeout { + description + "Enable secondary frequency for timeout"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + } + } + } + + grouping config-ip-sla-group-schedule-grouping { + container frequency { + description + "Group operation frequency"; + choice frequency-choice { + case frequency-value { + leaf frequency-val { + description + "Specify frequency in seconds"; + type uint32; + } + } + case frequency-range { + leaf range { + description + "Group operation frequency-range for random scheduling"; + type string; + } + } + } + } + container start-time { + description + "When to start this entry"; + choice start-time-param { + case after-type { + leaf after { + description + "Start after a certain amount of time from now"; + type ios-sla:hour-min-sec; + } + } + case hour-min-type { + container hour-min { + leaf hour-min { + description + "Start time (hh:mm)"; + type ios-sla:hour-min; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case hour-min-sec-type { + container hour-min-sec { + leaf hour-min-sec { + description + "Start time (hh:mm)"; + type ios-sla:hour-min-sec; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case now-type { + leaf now { + description + "Start now"; + type empty; + } + } + case pending-type { + leaf pending { + description + "Start pending"; + type empty; + } + } + case random { + leaf random { + description + "Start after random time (range)"; + units "miliseconds"; + type uint16 { + range "500..10000"; + } + } + } + } + } + leaf life { + description + "Length of time to execute in seconds"; + type union { + type uint32 { + range "0..2147483647"; + } + type enumeration { + enum forever; + } + } + default "3600"; + } + leaf ageout { + description + "How long to keep this Entry when inactive"; + type uint32 { + range "0..2073600"; + } + } + } + + grouping config-ip-sla-ethernet-monitor-submode-grouping { + leaf cos { + description + "Class of Service"; + type uint8 { + range "0..7"; + } + } + leaf owner { + description + "Owner of Entry"; + type string; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + leaf timeout { + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + } + + grouping config-ip-sla-ethernet-monitor-schedule-grouping { + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + + grouping config-ip-sla-grouping { + container sla { + description + "IP Service Level Agreement"; + list entry { + key "number"; + leaf number { + description + "Entry Number"; + type uint32 { + range "1..2147483647"; + } + } + choice sla-param { + case icmp-echo-case { + container icmp-echo { + description + "ICMP Echo Operation"; + leaf destination { + description + "Destination IP address or hostname, broadcast disallowed"; + mandatory true; + type union { + type string; + type inet:ip-address; + } + } + choice source-param { + case source-interface { + leaf source-interface { + description + "Source Interface (ingress icmp packet interface)"; + type string; + } + } + case source-ip { + leaf source-ip { + description + "Source Address"; + type union { + type string; + type inet:ip-address; + } + } + } + } + leaf data-pattern { + description + "Data Pattern"; + type string; + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-full-history-grouping; + leaf request-data-size { + description + "Request data size"; + type uint32 { + range "0..16384"; + } + default "28"; + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf verify-data { + description + "Verify data"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + } + } + case icmp-jitter-case { + container icmp-jitter { + description + "ICMP-jitter Operations"; + leaf dst-ip { + description + "Destination IP address or hostname, broadcast disallowed"; + mandatory true; + type union { + type string; + type inet:ipv4-address; + } + } + leaf interval { + description + "Inter Packet Interval"; + units "milliseconds"; + type uint16 { + range "4..60000"; + } + default "20"; + } + leaf num-packets { + description + "Number of Packets to be transmitted"; + units "packets"; + type uint16 { + range "1..60000"; + } + default "10"; + } + leaf source-ip { + description + "IP address or hostname, broadcast disallowed"; + type union { + type string; + type inet:ipv4-address; + } + } + uses ip-sla-sub-mode-commands-grouping; + container history { + description + "History and Distribution Data"; + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + } + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval value in msec"; + units "milliseconds"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + } + } + case path-echo-case { + container path-echo { + description + "Path Discovered ICMP Echo Operation"; + leaf dst-ip { + description + "Destination IP address or hostname, broadcast disallowed"; + mandatory true; + type union { + type string; + type inet:ipv4-address; + } + } + leaf source-ip { + description + "IP address or hostname, broadcast disallowed"; + type union { + type string; + type inet:ipv4-address; + } + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-path-echo-grouping; + } + } + case path-jitter-case { + container path-jitter { + description + "Path Discovered ICMP Jitter Operation"; + leaf dst-ip { + mandatory true; + type union { + type string; + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf source-ip { + description + "Source IP Address"; + type union { + type string; + type inet:ipv4-address; + } + } + container default { + description + "Set a command to its defaults"; + uses ip-sla-default-path-jitter-grouping; + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-path-jitter-grouping; + } + } + case udp-echo-case { + container udp-echo { + description + "UDP echo operation"; + leaf dest-addr { + description + "Hostname or A.B.C.D Destination IP address or hostname, broadcast disallowed"; + mandatory true; + type union { + type inet:ip-address; + type string; + } + } + leaf dest-port { + description + "Port Number (Recommended ports greater than 1023)"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + leaf source-ip { + description + "Source address: Hostname or A.B.C.D IP address or hostname, broadcast disallowed"; + type union { + type inet:ip-address; + type string; + } + } + leaf source-port { + description + "Source Port: Port Number (Recommended ports greater than 1023)"; + type uint16 { + range "1..65535"; + } + } + leaf control { + description + "Enable or disable control packets"; + type enumeration { + enum disable; + enum enable; + } + default "enable"; + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-udp-echo-grouping; + } + } + case udp-jitter-case { + container udp-jitter { + description + "UDP jitter operation"; + leaf dest-addr { + description + "Hostname or A.B.C.D/X:X:X:X::X Destination IP/IPv6 address"; + mandatory true; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf portno { + description + "Port Number"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + leaf endpoint-list { + description + "Endpoint list configuration. Applicable only when the + destination address is multicast address"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:endpoint-list/ios-sla:type/ios-sla:ip/ios-sla:name"; + } + } + choice type-param { + case codec { + leaf codec { + description + "codec type to be configured"; + type enumeration { + enum g711alaw; + enum g711ulaw; + enum g729a; + } + } + leaf advantage-factor { + description + "Advantage Factor"; + type uint16 { + range "0..20"; + } + default "0"; + } + leaf codec-interval { + description + "Inter Packet Interval"; + type uint32 { + range "4..60000"; + } + default "20"; + } + leaf codec-numpackets { + description + "Number of Packets"; + type uint32 { + range "1..60000"; + } + default "1000"; + } + leaf codec-size { + description + "Number of Packets"; + type uint16 { + range "16..16384"; + } + } + } + case non-codec { + leaf num-packets { + description + "Number of Packets (default 10)"; + type uint16 { + range "1..60000"; + } + default "10"; + } + leaf interval { + description + "Delay (default 20)"; + type uint16 { + range "4..60000"; + } + default "20"; + } + } + } + leaf ssm { + description + "Source Specific multicast configuration. Applicable only + when the destination address is multicast address"; + type empty; + } + leaf source-ip { + description + "Hostname or A.B.C.D/X:X:X:X::X Source IP/IPv6 address"; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf source-port { + description + "Source port"; + type uint16 { + range "1..65535"; + } + } + leaf control { + description + "Enable or disable control packets"; + type enumeration { + enum enable; + enum disable; + } + default "enable"; + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-udp-jitter-grouping; + uses ip-sla-jitter-percentile; + } + } + case http-case { + container http { + description + "HTTP Operation"; + choice http-choice { + case http-get { + container get { + description + "HTTP get operation"; + leaf url { + description + "URL"; + mandatory true; + type string; + } + leaf cache { + description + "Enable or Disable download of cached HTTP page"; + type enumeration { + enum enable; + enum disable; + } + default "enable"; + } + leaf source-ip { + description + "Source Hostname or A.B.C.D/X:X:X:X::X IPv4/IPv6 address"; + type union { + type inet:ipv6-address; + type inet:ip-address; + type string; + } + } + leaf source-interface { + description + "Source Interface"; + must 'not (../source-ip)' { + error-message "source-ip and source-interface cannot be specified together"; + } + type string; + } + leaf source-port { + description + "Source port"; + type uint16 { + range "1..65535"; + } + } + leaf name-server { + description + "Hostname or A.B.C.D/X:X:X:X::X IPv4/IPv6 address"; + type union { + type string; + type inet:ip-address; + type inet:ipv6-address; + } + } + leaf proxy { + description + "Proxy information string"; + type string; + } + leaf version { + description + "Http Version"; + type enumeration { + enum 1.0; + enum 1.1; + } + default "1.0"; + } + } + } + case http-raw { + container raw { + description + "HTTP raw operation"; + leaf url { + mandatory true; + type string; + } + leaf cache { + description + "Enable or Disable download of cached HTTP page"; + type enumeration { + enum enable; + enum disable; + } + default "enable"; + } + leaf source-ip { + description + "Source Hostname or A.B.C.D/X:X:X:X::X IPv4/IPv6 address"; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf source-interface { + description + "Source Interface"; + must 'not (../source-ip)' { + error-message "source-ip and source-interface cannot be specified together"; + } + type string; + } + leaf source-port { + description + "Source port"; + type uint16 { + range "1..65535"; + } + } + leaf name-server { + description + "Hostname or A.B.C.D/X:X:X:X::X IPv4/IPv6 address"; + type union { + type string; + type inet:ip-address; + type inet:ipv6-address; + } + } + leaf proxy { + description + "Proxy information string"; + type string; + } + leaf version { + description + "Http Version"; + type enumeration { + enum 1.0; + enum 1.1; + } + default "1.0"; + } + } + } + } + uses ip-sla-sub-mode-commands-grouping; + container history { + description + "History and Distribution Data"; + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + leaf http-status-code-ignore { + description + "HTTP Status Code Check Disable"; + type boolean; + } + leaf vrf { + description + "Configure IP SLAs for a new VPN Routing/Forwarding instance"; + type string; + } + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + container http-raw-request { + description + "HTTP Raw Request configuration"; + leaf raw-request-string { + description + "HTTP Raw string"; + type string; + } + } + } + } + case dhcp-case { + container dhcp { + description + "DHCP Operation"; + leaf dst-ip { + description + "Destination IP address or hostname, broadcast disallowed"; + mandatory true; + type union { + type string; + type inet:ipv4-address; + } + } + leaf source-ip { + description + "IP address or hostname, broadcast disallowed"; + type union { + type string; + type inet:ipv4-address; + } + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-history-without-enhanced-grouping; + } + } + case tcp-connect-case { + container tcp-connect { + description + "TCP connect operation"; + leaf dest-addr { + description + "Destination IPv6/IP address or hostname"; + mandatory true; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf dest-port { + description + "Port Number (Recommended ports greater than 1023)"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + leaf source-ip { + description + "Source IPv6/IP address or hostname"; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf source-port { + description + "Source Port: Port Number (Recommended ports greater than 1023)"; + type uint16 { + range "1..65535"; + } + } + leaf control { + description + "Enable or disable control packets"; + type enumeration { + enum enable; + enum disable; + } + default "enable"; + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-full-history-grouping; + choice tos-param { + case tos { + leaf tos { + description + "Type Of Service"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + leaf traffic-class { + description + "Traffic class"; + type uint8 { + range "0..255"; + } + } + } + } + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + } + } + case dns-case { + container dns { + description + "DNS operation"; + leaf dest-addr { + description + "Destination IPv6/IP address or hostname"; + mandatory true; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf name-server { + description + "Name Server: IPv6/IP address or hostname"; + mandatory true; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf source-ip { + description + "Source IPv6/IP address or hostname"; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf source-interface { + description + "Source Interface"; + must 'not (../source-ip)' { + error-message "source-ip and source-interface cannot be specified together"; + } + type string; + } + leaf source-port { + description + "Source Port: Port Number (Recommended ports greater than 1023)"; + type uint16 { + range "1..65535"; + } + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-history-without-enhanced-grouping; + leaf vrf { + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + type string; + } + } + } + case ftp-case { + container ftp { + description + "DNS operation"; + container get { + presence "true"; + description + "FTP get operation"; + leaf url { + description + "URL"; + mandatory true; + type union { + type string; + } + } + leaf mode { + description + "Specify mode to be used"; + type enumeration { + enum active; + enum passive; + } + } + leaf source-ip { + description + "Source IPv6/IP address or hostname"; + type union { + type inet:ip-address; + type inet:ipv6-address; + type string; + } + } + leaf owner { + description + "Owner of Entry"; + status obsolete; + type string; + } + leaf tag { + description + "User defined tag"; + status obsolete; + type string; + } + leaf frequency { + description + "Frequency of an operation"; + status obsolete; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + leaf timeout { + description + "Timeout of an operation"; + status obsolete; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + status obsolete; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + container history { + description + "History and Distribution Data"; + status obsolete; + container enhanced { + status obsolete; + description + "Enable enhanced history collection"; + leaf interval { + status obsolete; + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + default "900"; + } + leaf buckets { + status obsolete; + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + default "100"; + } + } + leaf buckets-kept { + status obsolete; + description + "Maximum number of history buckets to collect"; + type uint8; + default "50"; + } + leaf distributions-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics distribution buckets to capture"; + type uint8; + default "1"; + } + leaf filter { + status obsolete; + description + "Add operation to History when..."; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf lives-kept { + status obsolete; + description + "Maximum number of history lives to collect"; + type uint8 { + range "0..2"; + } + default "0"; + } + leaf statistics-distribution-interval { + status obsolete; + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + } + uses ip-sla-sub-mode-commands-grouping; + uses ip-sla-history-without-enhanced-grouping; + } + } + case ethernet-case { + container ethernet { + description + "Ethernet Operations"; + choice ethernet-probe-type { + case echo-case { + container echo { + description + "Ethernet Echo Operation 802.11 ag Loopback"; + leaf mpid { + description + "Maintenance Point ID"; + mandatory true; + type uint16 { + range "1..8191"; + } + } + leaf domain { + description + "Domain Name"; + mandatory true; + type string; + } + choice param { + mandatory true; + case evc-case { + leaf evc { + description + "EVC ID"; + type string; + } + } + case port { + leaf port { + description + "DOWN service direction with no vlan association"; + type empty; + } + } + case vlan { + leaf vlan { + description + "VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + } + leaf cos { + description + "Class Of Service"; + type uint8 { + range "0..7"; + } + } + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "0..1400"; + } + } + leaf owner { + description + "Owner of Entry"; + type string; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + leaf timeout { + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + leaf frequency { + description + "Frequency of an operation"; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + container history { + description + "History and Distribution Data"; + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + default "900"; + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + default "100"; + } + } + leaf buckets-kept { + description + "Maximum number of history buckets to collect"; + type uint8 { + range "1..60"; + } + default "50"; + } + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf filter { + description + "Add operation to History when..."; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf lives-kept { + description + "Maximum number of history lives to collect"; + type uint8 { + range "0..2"; + } + default "0"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + } + } + case jitter-case { + container jitter { + description + "Ethernet Jitter Operation"; + leaf mpid { + description + "Maintenance Point ID"; + mandatory true; + type uint16 { + range "1..8191"; + } + } + leaf domain { + description + "Domain Name"; + mandatory true; + type string; + } + choice param { + mandatory true; + case evc-case { + leaf evc { + description + "EVC ID"; + type string; + } + } + case port { + leaf port { + description + "DOWN service direction with no vlan association"; + type empty; + } + } + case vlan { + leaf vlan { + description + "VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + } + container jitter-params { + leaf interval { + description + "Inter Packet Interval"; + type uint16 { + range "4..60000"; + } + } + leaf num-frames { + description + "Number of Frames to be transmitted"; + type uint16 { + range "1..60000"; + } + } + } + leaf cos { + description + "Class Of Service"; + type uint8 { + range "0..7"; + } + } + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "0..1400"; + } + } + container percentile { + description + "Set percentile statistics levels"; + leaf jitteravg { + description + "% of Average Jitter values to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf jitterds { + description + "% of Destination to source jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf jittersd { + description + "% of Source to destination jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf owds { + description + "% of One way destination to source value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf owsd { + description + "% of One way source to destination value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf rtt { + description + "% of Round Trip Time value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + } + leaf owner { + description + "Owner of Entry"; + type string; + } + leaf tag { + description + "User defined tag"; + type string; + } + leaf threshold { + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + leaf timeout { + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "6000"; + } + leaf frequency { + description + "Frequency of an operation"; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + container history { + description + "History and Distribution Data"; + container enhanced { + description + "Enable enhanced history collection"; + leaf interval { + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + default "900"; + } + leaf buckets { + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + default "100"; + } + } + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + default "20"; + } + } + } + } + case y1731-case { + container y1731-config { + description + "Y1731 Ethernet OAM Performance Measurement Operations"; + uses ip-sla-ethernet-y1731-grouping; + } + } + } + container y1731 { + status obsolete; + description + "Y1731 Ethernet OAM Performance Measurement Operations (OBSOLETE, use y1731-config container inside the choice statement)"; + container delay { + status obsolete; + description + "Y1731 Delay and Delay Variation Operation(OBSOLETE) + Please use delay under y1731-config"; + leaf name { + status obsolete; + description + "Y1731 Delay option(OBSOLETE) + Please use name under y1731-config"; + type enumeration { + enum 1DM; + enum DMM; + enum DMMv1; + } + } + leaf burst { + status obsolete; + description + "Enable bursting of delay frames(OBSOLETE) + Please use burst under y1731-config"; + type empty; + } + leaf domain { + status obsolete; + description + "Specify the Ethernet OAM domain(OBSOLETE) + Please use domain under y1731-config"; + type string; + } + choice evc-or-vlan { + status obsolete; + leaf evc { + status obsolete; + description + "Specify the Ethernet Virtual Circuit Identifier(OBSOLETE) + Please use evc under y1731-config"; + type string; + } + leaf vlan { + status obsolete; + description + "Specify the VLAN(OBSOLETE) + Please use vlan under y1731-config"; + type uint16 { + range "1..4096"; + } + } + } + choice mac-or-mpid { + status obsolete; + leaf mac-address { + status obsolete; + description + "Specify the remote mac-address(OBSOLETE) + Please use mac-address under y1731-config"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + status obsolete; + description + "Specify the remote MPID(OBSOLETE) + Please use mpid under y1731-config"; + type uint16 { + range "1..8191"; + } + } + } + leaf cos { + status obsolete; + description + "Specify the Class of Service(OBSOLETE) + Please use cos under y1731-config"; + type uint8 { + range "0..7"; + } + } + container source { + status obsolete; + description + "Specify the local MPID or MAC-Address(OBSOLETE) + Please use source under y1731-config"; + choice mac-or-mpid { + status obsolete; + leaf mac-address { + status obsolete; + description + "Specify the local mac-address(OBSOLETE) + Please use mac-address under y1731-config"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + status obsolete; + description + "Specify the local MPID(OBSOLETE) + Please use mpid under y1731-config"; + type uint16 { + range "1..8191"; + } + } + } + } + } + container loss { + status obsolete; + description + "Y1731 Loss Operation(OBSOLETE) + Please use loss under Y1731-config"; + leaf name { + status obsolete; + description + "Y1731 Delay option(OBSOLETE) + Please use name under loss in y1731-config"; + type enumeration { + enum LMM; + enum SLM; + } + } + leaf burst { + status obsolete; + description + "Enable bursting of delay frames. Applicable only to SLM option(OBSOLETE) + Please use burst under loss in y1731-config"; + type empty; + } + leaf domain { + status obsolete; + description + "Specify the Ethernet OAM domain(OBSOLETE) + Please use domain under loss in y1731-config"; + type string; + } + choice evc-or-vlan { + status obsolete; + leaf evc { + status obsolete; + description + "Specify the Ethernet Virtual Circuit Identifier(OBSOLETE) + Please use evc under loss in y1731-config"; + type string; + } + leaf vlan { + status obsolete; + description + "Specify the VLAN(OBSOLETE) + Please use vlan under loss in y1731-config"; + type uint16 { + range "1..4096"; + } + } + } + choice mac-or-mpid { + status obsolete; + leaf mac-address { + status obsolete; + description + "Specify the remote mac-address(OBSOLETE) + Please use mac-address under loss in y1731-config"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + status obsolete; + description + "Specify the remote MPID(OBSOLETE) + Please use mpid under loss in y1731-config"; + type uint16 { + range "1..8191"; + } + } + } + leaf cos { + status obsolete; + description + "Specify the Class of Service(OBSOLETE) + Please use cos under loss in y1731-config"; + type uint8 { + range "0..7"; + } + } + container source { + status obsolete; + description + "Specify the local MPID or MAC-Address"; + choice mac-or-mpid { + status obsolete; + leaf mac-address { + status obsolete; + description + "Specify the local mac-address"; + type ios-types:cisco-mac-address-type; + } + leaf mpid { + status obsolete; + description + "Specify the local MPID"; + type uint16 { + range "1..8191"; + } + } + } + } + } + } + uses ip-sla-ethernet-delay-grouping { + status obsolete; + refine "aggregate" { + description + "Aggregate parameters (OBSOLETE)"; + } + refine "history" { + description + "History parameters (OBSOLETE)"; + } + } + } + } + case service-performance-case { + container service-performance { + if-feature "ios-features:service-performance"; + description + "Service Performance Operation"; + container type { + description + "Server Performance identifier"; + choice service-type { + case ethernet-case { + container ethernet { + description + "Service Performance Ethernet"; + leaf dest-mac-addr { + description + "Specify the remote mac-address"; + mandatory true; + type ios-types:cisco-mac-address-type; + } + leaf bridge-domain { + description + "Specify the Bridge Domain"; + type uint16 { + range "1..65535"; + } + } + leaf interface { + description + "Interface Name"; + type string; + } + leaf service { + description + "Specify the Service Instance"; + type empty; + } + leaf instance { + description + "Specify the Service Instance"; + type uint16 { + range "1..16000"; + } + } + leaf ethernet { + description + "Configure an Ethernet Instance"; + type string; + } + uses ip-sla-service-performance-sub-command-grouping { + augment "profile" { + uses ip-sla-service-performance-packet-direction-sub-command-grouping { + augment "packet" { + leaf dscp { + description + "Configure DSCP"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + leaf ethertype { + description + "Frame type"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + leaf inner-cos { + description + "Inner COS"; + type uint8 { + range "0..7"; + } + } + leaf inner-vlan { + description + "Specify Inner VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf outer-cos { + description + "Outer COS"; + type uint8 { + range "0..7"; + } + } + leaf src-mac-addr { + description + "The source mac-address"; + type ios-types:cisco-mac-address-type; + } + } + } + uses ip-sla-service-performance-traffic-direction-sub-command-grouping; + } + augment "measurement-type" { + uses ip-sla-service-performance-measurement-type-sub-command-grouping { + augment "conform-color" { + leaf cos { + description + "configure conform COS"; + type uint8 { + range "0..7"; + } + } + } + augment "exceed-color" { + leaf cos { + description + "configure conform COS"; + type uint8 { + range "0..7"; + } + } + } + } + } + } + } + } + case ip-case { + container ip { + description + "Service Performance IP"; + leaf dest-ip-addr { + description + "Specify the target ip"; + mandatory true; + type union { + type string; + type inet:ip-address; + } + } + leaf bridge-domain { + description + "Specify the Bridge Domain"; + type uint16 { + range "1..65535"; + } + } + choice option { + case interface-case { + leaf interface { + description + "Interface Name"; + type string; + } + leaf service { + description + "Specify the Service Instance"; + type empty; + } + leaf instance { + description + "Specify the Service Instance"; + type uint16 { + range "1..16000"; + } + } + leaf ethernet { + description + "Configure an Ethernet Instance"; + type string; + } + } + case vrf-case { + leaf vrf { + description + "Configure an VRF"; + type uint16 { + range "1..4096"; + } + } + } + } + uses ip-sla-service-performance-sub-command-grouping { + augment "profile" { + uses ip-sla-service-performance-packet-direction-sub-command-grouping { + augment "packet" { + container tunnel { + description + "Tunnel type"; + leaf exp { + description + "Exp value"; + type uint8 { + range "0..7"; + } + } + } + leaf source-ip-addr { + description + "ip address"; + type union { + type string; + type inet:ip-address; + } + } + } + } + uses ip-sla-service-performance-traffic-direction-sub-command-grouping; + } + augment "measurement-type" { + uses ip-sla-service-performance-measurement-type-sub-command-grouping { + augment "conform-color" { + leaf dscp { + description + "configure conform DSCP"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + } + augment "exceed-color" { + leaf dscp { + description + "configure conform DSCP"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + } + } + } + } + } + } + } + } + } + } + case mpls { + container mpls { + description + "MPLS Operation"; + container lsp { + description + "Based on LSP echo Request/Reply"; + choice mpls-lsp-param { + case lsp-ping { + container ping { + description + "MPLS lsp ping operation"; + choice ping-choice { + case ping-ipv4 { + container ipv4 { + description + "Target specified as an IPv4 address"; + uses config-ip-sla-mpls-ping-trace-grouping; + uses config-ip-sla-mpls-lsp-submode-grouping { + augment "history" { + uses config-ip-sla-mpls-history-grouping; + uses config-ip-sla-mpls-enhanced-history-grouping; + } + } + uses config-ip-sla-mpls-ping-secondary-frequency-grouping; + leaf ttl { + description + "Time to live"; + type uint8 { + range "1..255"; + } + default "255"; + } + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "100..1500"; + } + } + } + } + case ping-psuedowire { + container pseudowire { + description + "Pseudowire Virtual Circuit"; + leaf ipv4-address { + description + "Hostname or IPv4 address of peer"; + mandatory true; + type union { + type inet:ip-address; + type string; + } + } + leaf vc-id { + description + "VC ID value"; + mandatory true; + type uint32 { + range "1..4294967295"; + } + } + leaf source-ipaddr { + description + "Source specified as an IP address"; + type inet:ip-address; + } + uses config-ip-sla-mpls-lsp-submode-grouping { + augment "history" { + uses config-ip-sla-mpls-history-grouping; + uses config-ip-sla-mpls-enhanced-history-grouping; + } + } + uses config-ip-sla-mpls-ping-secondary-frequency-grouping; + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "100..1500"; + } + } + } + } + } + } + } + case lsp-trace { + container trace { + description + "MPLS lsp trace operation"; + container ipv4 { + description + "Target FEC address(broadcast disallowed)"; + uses config-ip-sla-mpls-ping-trace-grouping; + uses config-ip-sla-mpls-lsp-submode-grouping { + augment "history" { + uses config-ip-sla-mpls-history-grouping; + } + } + leaf ttl { + description + "Time to live"; + type uint8 { + range "1..30"; + } + default "30"; + } + leaf paths-of-statistics-kept { + description + "Maximum number of statistics paths to capture"; + type uint8 { + range "1..128"; + } + default "5"; + } + leaf samples-of-history-kept { + description + "Maximum number of history samples to collect"; + type uint8 { + range "1..30"; + } + default "16"; + } + leaf hops-of-statistics-kept { + description + "Maximum number of statistics hops to capture"; + type uint8 { + range "1..30"; + } + default "16"; + } + } + } + } + } + } + } + } + case http-secure-case { + container http-secure { + description + "Secure HTTP Operation"; + container http { + description + "Secure HTTP Operation"; + container secure { + description + "Secure HTTP Operation"; + leaf https-method { + description + "HTTP get operation"; + mandatory true; + type enumeration { + enum get; + enum head; + } + } + leaf url { + description + "URL"; + mandatory true; + type string; + } + leaf name-server { + description + "Hostname or A.B.C.D/X:X:X:X::X IPv4/IPv6 address"; + type union { + type string; + type inet:ip-address; + type inet:ipv6-address; + } + } + leaf version { + description + "Http Version"; + type enumeration { + enum 1.0; + enum 1.1; + } + default "1.0"; + } + leaf source-interface { + description + "Source Interface"; + type string; + } + leaf http-status-code-ignore { + description + "HTTP Status Code Check Disable"; + type empty; + } + uses ip-sla-sub-mode-commands-grouping { + refine "timeout" { + default "60000"; + } + } + container history { + description + "History and Distribution Data"; + leaf distributions-of-statistics-kept { + description + "Maximum number of statistics distribution buckets to capture"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf hours-of-statistics-kept { + description + "Maximum number of statistics hour groups to capture"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf statistics-distribution-interval { + description + "Statistics distribution interval size"; + type uint8 { + range "1..100"; + } + units "miliseconds"; + default "20"; + } + } + leaf vrf { + description + "Configure IP SLAs for a new VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + } + } + } + container modification-configuration { + status obsolete; + leaf owner { + status obsolete; + description + "Owner of Entry"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../dhcp or + ../../tcp-connect or + ../../dns or + ../../ftp or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../ethernet/y1731-config or + ../../mpls"; + type string; + } + leaf tag { + status obsolete; + description + "User defined tag"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../dhcp or + ../../tcp-connect or + ../../dns or + ../../ftp or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../mpls"; + type string; + } + leaf threshold { + status obsolete; + description + "Operation threshold in milliseconds"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../dhcp or + ../../tcp-connect or + ../../dns or + ../../ftp or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../mpls"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + leaf timeout { + status obsolete; + description + "Timeout of an operation"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../dhcp or + ../../tcp-connect or + ../../dns or + ../../ftp or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../mpls"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "5000"; + } + leaf frequency { + status obsolete; + description + "Frequency of an operation"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../dhcp or + ../../tcp-connect or + ../../dns or + ../../ftp or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../ethernet/y1731-config/delay/sender/burst or + ../../ethernet/y1731-config/loss/wrapper-container/burst or + ../../mpls"; + units "seconds"; + type uint32 { + range "1..604800"; + } + default "60"; + } + container history { + status obsolete; + description + "History and Distribution Data"; + container enhanced { + status obsolete; + description + "Enable enhanced history collection"; + when "../../../icmp-echo or + ../../../icmp-jitter or + ../../../udp-echo or + ../../../udp-jitter or + ../../../tcp-connect or + ../../../ethernet/echo or + ../../../ethernet/jitter or + ../../../mpls/lsp/ping"; + leaf interval { + status obsolete; + description + "Aggregation interval"; + type uint16 { + range "1..3600"; + } + } + leaf buckets { + status obsolete; + description + "Number of buckets to collect data"; + type uint8 { + range "1..100"; + } + } + } + leaf buckets-kept { + status obsolete; + description + "Maximum number of history buckets to collect"; + when "../../../icmp-echo or + ../../../path-echo or + ../../../udp-echo or + ../../../dhcp or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../mpls"; + type uint8 { + range "1..60"; + } + default "15"; + } + leaf distributions-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics distribution buckets to capture"; + when "../../../icmp-echo or + ../../../icmp-jitter or + ../../../path-echo or + ../../../udp-echo or + ../../../udp-jitter or + ../../../dhcp or + ../../../http or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../ethernet/jitter or + ../../../mpls"; + type uint8 { + range "1..20"; + } + default "1"; + } + leaf filter { + status obsolete; + description + "Add operation to History when..."; + when "../../../icmp-echo or + ../../../path-echo or + ../../../udp-echo or + ../../../dhcp or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../mpls"; + type enumeration { + enum all; + enum failures; + enum none; + enum overThreshold; + } + default "none"; + } + leaf hours-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics hour groups to capture"; + when "../../../icmp-echo or + ../../../icmp-jitter or + ../../../path-echo or + ../../../udp-echo or + ../../../udp-jitter or + ../../../dhcp or + ../../../http or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../ethernet/jitter or + ../../../mpls"; + type uint8 { + range "0..25"; + } + default "2"; + } + leaf lives-kept { + status obsolete; + description + "Maximum number of history lives to collect"; + when "../../../icmp-echo or + ../../../path-echo or + ../../../udp-echo or + ../../../dhcp or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../mpls"; + type uint8 { + range "0..2"; + } + default "0"; + } + leaf statistics-distribution-interval { + status obsolete; + description + "Statistics distribution interval size"; + when "../../../icmp-echo or + ../../../icmp-jitter or + ../../../path-echo or + ../../../udp-echo or + ../../../udp-jitter or + ../../../dhcp or + ../../../http or + ../../../tcp-connect or + ../../../dns or + ../../../ftp or + ../../../ethernet/echo or + ../../../ethernet/jitter or + ../../../mpls"; + type uint8 { + range "1..100"; + } + default "20"; + } + leaf interval { + status obsolete; + description + "Specify number of intervals"; + when '../../../ethernet/y1731-config'; + type uint8 { + range "1..10"; + } + } + } + leaf paths-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics paths to capture"; + when "../../path-echo or + ../../mpls/lsp/trace"; + type uint8 { + range "1..128"; + } + default "5"; + } + leaf samples-of-history-kept { + status obsolete; + description + "Maximum number of history samples to collect"; + when "../../path-echo or + ../../mpls/lsp/trace"; + type uint8 { + range "1..30"; + } + default "16"; + } + leaf hops-of-statistics-kept { + status obsolete; + description + "Maximum number of statistics hops to capture"; + when "../../path-echo or + ../../mpls/lsp/trace"; + type uint8 { + range "1..30"; + } + default "16"; + } + leaf-list lsr-path { + status obsolete; + description + "Loose Source Routing Path"; + when "../../path-echo or + ../../path-jitter"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf request-data-size { + status obsolete; + description + "Request data size"; + when "../../icmp-echo or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../ethernet/echo or + ../../ethernet/jitter or + ../../mpls/lsp/ping"; + type uint32 { + range "0..16384"; + } + default "28"; + } + choice tos-param { + status obsolete; + case tos { + status obsolete; + leaf tos { + status obsolete; + description + "Type Of Service"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../tcp-connect"; + type uint8 { + range "0..255"; + } + } + } + case traffic-class { + status obsolete; + leaf traffic-class { + status obsolete; + description + "Traffic class"; + when "../../icmp-echo or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../tcp-connect"; + type uint8 { + range "0..255"; + } + } + } + } + leaf verify-data { + status obsolete; + description + "Verify data"; + when "../../icmp-echo or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter"; + type boolean; + } + leaf vrf { + status obsolete; + description + "Configure IP SLAs for a VPN Routing/Forwarding instance"; + when "../../icmp-echo or + ../../icmp-jitter or + ../../path-echo or + ../../path-jitter or + ../../udp-echo or + ../../udp-jitter or + ../../http or + ../../tcp-connect or + ../../dns"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf flow-label { + status obsolete; + description + "Flow Label Value for IPv6 destination"; + when '../../path-jitter'; + type uint64 { + range "0..1048575"; + } + } + leaf data-pattern { + status obsolete; + description + "Data Pattern in Hex 0-FFFFFFFF"; + when "../../icmp-echo or + ../../udp-echo or + ../../udp-jitter"; + type string; + } + leaf response-data-size { + status obsolete; + description + "Number of bytes in response payload"; + when '../../udp-jitter'; + type uint16 { + range "20..17512"; + } + } + leaf precision { + status obsolete; + description + "Set precision of measurement"; + when '../../udp-jitter'; + type enumeration { + enum microseconds; + enum milliseconds; + } + default "milliseconds"; + } + leaf optimize { + status obsolete; + description + "Optimize timestamp of measurement"; + when '../../udp-jitter'; + type enumeration { + enum timestamp; + } + } + leaf enhanced { + status obsolete; + description + "Improve the accuracy of measurement"; + when '../../udp-jitter'; + type enumeration { + enum timestamp; + } + } + leaf operation-packet-priority { + status obsolete; + description + "Set operation packet properties"; + when '../../udp-jitter'; + type enumeration { + enum high; + enum normal; + } + } + container clock-tolerance { + status obsolete; + description + "Set acceptable clock synchronization error"; + when '../../udp-jitter'; + container ntp { + status obsolete; + description + "Acceptable clock synchronization error due to NTP"; + container oneway { + status obsolete; + description + "Acceptable clock synchronization error in one-way measurement"; + choice clock-tolerance-param { + status obsolete; + case absolute-type { + status obsolete; + leaf absolute { + status obsolete; + description + "Acceptable error in microseconds"; + type uint32 { + range "0..100000"; + } + } + } + case percent-type { + status obsolete; + leaf percent { + status obsolete; + description + "Acceptable error as percent of value measured"; + type uint8 { + range "0..100"; + } + } + } + } + } + } + } + container percentile { + status obsolete; + description + "Set percentile statistics levels"; + when "../../udp-jitter or + ../../ethernet/jitter"; + leaf jitteravg { + status obsolete; + description + "% of Average Jitter values to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf jitterds { + status obsolete; + description + "% of Destination to source jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf jittersd { + status obsolete; + description + "% of Source to destination jitter value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf owds { + status obsolete; + description + "% of One way destination to source value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf owsd { + status obsolete; + description + "% of One way source to destination value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + leaf rtt { + status obsolete; + description + "% of Round Trip Time value to use (default 100%)"; + type uint8 { + range "90..100"; + } + } + } + container http-raw-request { + status obsolete; + description + "HTTP Raw Request configuration"; + when '../../http'; + leaf raw-request-string { + status obsolete; + description + "HTTP Raw string"; + type string; + } + } + leaf http-status-code-ignore { + status obsolete; + description + "HTTP Status Code Check Disable"; + when '../../http'; + type boolean; + } + leaf cos { + status obsolete; + description + "Class Of Service"; + when "../../ethernet/echo or + ../../ethernet/jitter "; + type uint8 { + range "0..7"; + } + } + container aggregate { + status obsolete; + description + "Aggregate parameters"; + when '../../ethernet/y1731-config'; + leaf interval_leaf { + status obsolete; + description + "Specify interval period"; + when '../../../ethernet/y1731-config/delay/receive'; + type uint16 { + range "1..65535"; + } + } + container interval { + status obsolete; + description + "Specify interval period"; + when "../../../ethernet/y1731-config/delay/sender or + ../../../ethernet/y1731-config/loss"; + leaf interval-period { + description + "Specify interval period"; + status obsolete; + when "not (../../../../ethernet/y1731-config/delay/sender/burst) and + not (../../../../ethernet/y1731-config/loss/wrapper-container/burst)"; + type uint32 { + range "1..65535"; + } + } + leaf burst-cycles { + status obsolete; + description + "Specify number of burst cycles"; + when "(../../../../ethernet/y1731-config/delay/sender/burst) or + (../../../../ethernet/y1731-config/loss/wrapper-container/burst)"; + type uint16 { + range "1..900"; + } + } + } + } + container clock { + status obsolete; + description + "Specify clock parameters"; + when "../../ethernet/y1731-config/delay/sender/name='DMM' or + ../../ethernet/y1731-config/delay/sender/name='DMMv1'"; + leaf sync { + status obsolete; + description + "Clocks are in sync on sender and responder"; + type boolean; + } + } + container distribution { + status obsolete; + description + "Specify the distribution statistics parameters"; + when '../../ethernet/y1731-config'; + container delay { + status obsolete; + description + "Specify delay distribution parameters"; + container one-way { + status obsolete; + leaf one-way { + status obsolete; + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + status obsolete; + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + container two-way { + status obsolete; + when "../../../../ethernet/y1731-config/delay/sender/name='DMM' or + ../../../../ethernet/y1731-config/delay/sender/name='DMMv1'"; + leaf two-way { + status obsolete; + description + "Specify two-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + status obsolete; + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + container delay-variation { + status obsolete; + description + "Specify delay-variation distribution parameters"; + container one-way { + status obsolete; + leaf one-way { + status obsolete; + description + "Specify one-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + status obsolete; + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + container two-way { + status obsolete; + when "../../../../ethernet/y1731-config/delay/sender/name='DMM' or + ../../../../ethernet/y1731-config/delay/sender/name='DMMv1'"; + leaf two-way { + status obsolete; + description + "Specify two-way distribution parameters"; + type uint8 { + range "1..10"; + } + } + leaf bin-upper-boundry { + status obsolete; + description + "Specify a comma separated list of bin upper boundaries in micro-second"; + type string; + } + } + } + } + container frame { + status obsolete; + description + "Specify frame parameters"; + when '../../ethernet/y1731-config'; + leaf interval { + status obsolete; + description + "Specify inter-frame period"; + when "../../../ethernet/y1731-config/delay/sender or + ../../../ethernet/y1731-config/loss"; + type frame-interval-type; + } + leaf size { + status obsolete; + description + "Specify payload size in 4 octet increments"; + when "../../../ethernet/y1731-config/delay/sender or + ../../../ethernet/y1731-config/loss/wrapper-container/name='SLM'"; + type uint16 { + range "64..384"; + } + } + leaf offset { + status obsolete; + description + "Specify the frame offset to be used for calculations"; + when "(../../../ethernet/y1731-config/delay/receive or + ../../../ethernet/y1731-config/delay/sender/name = 'DMM' or + ../../../ethernet/y1731-config/delay/sender/name = 'DMMv1')"; + type uint8 { + range "1..10"; + } + } + leaf consecutive { + status obsolete; + description + "Specify the consecutive frames to be used for calculations"; + when '../../../ethernet/y1731-config/loss'; + type uint16 { + range "1..10"; + } + } + leaf burst { + status obsolete; + description + "Number of frames to send per burst"; + when "(../../../ethernet/y1731-config/delay/sender/burst) or + (../../../ethernet/y1731-config/loss/wrapper-container/burst)"; + type uint16 { + range "1..65535"; + } + } + } + container availability { + status obsolete; + description + "Specify the availability parameters"; + when '../../ethernet/y1731-config/loss'; + container algorithm { + status obsolete; + description + "Specify the algorithm to use"; + leaf sliding-window { + status obsolete; + description + "Use a sliding window"; + type boolean; + } + leaf static-window { + status obsolete; + description + "Use a static window"; + type boolean; + } + } + } + leaf max-delay { + status obsolete; + description + "Specify the max delay"; + when "../../ethernet/y1731-config/loss/wrapper-container/name='LMM' or + ../../ethernet/y1731-config/delay/receive/name='1DM' or + ../../ethernet/y1731-config/delay/sender/name='DMM' or + ../../ethernet/y1731-config/delay/sender/name='DMMv1' or + ../../ethernet/y1731-config/delay/sender/name='1DM'"; + type uint16 { + range "1..65535"; + } + } + container aggregation { + status obsolete; + description + "Statistics aggregation"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + container interval { + status obsolete; + description + "Statistics aggregation period"; + leaf buckets { + status obsolete; + description + "interval statistic buckets"; + type uint8 { + range "1..30"; + } + } + } + } + leaf description { + status obsolete; + description + "Operation Description"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + type string; + } + container duration { + status obsolete; + description + "Service Performance duration configuration"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + leaf time { + status obsolete; + description + "Time based duration"; + type uint16 { + range "10..40950"; + } + } + } + container frequency_serv_perf { + status obsolete; + description + "Scheduled frequency"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + leaf time { + status obsolete; + description + "Frequency period"; + type uint32 { + range "20..604800"; + } + } + container frequency-iteration { + status obsolete; + description + "Frequency iteration configuration"; + leaf iteration { + status obsolete; + description + "Iteration number"; + type uint8 { + range "1..100"; + } + } + leaf delay { + status obsolete; + description + "Delay between interactions"; + type uint8 { + range "0..10"; + } + } + } + } + container loopback { + status obsolete; + description + "loopback"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + container direction { + status obsolete; + description + "loopback direction"; + leaf internal { + status obsolete; + description + "internal direction"; + type boolean; + } + leaf external { + status obsolete; + description + "external direction"; + type boolean; + } + } + } + container measurement-type { + status obsolete; + description + "Measurement"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + leaf direction { + status obsolete; + description + "Measurement direction"; + type enumeration { + enum external { + description + "external direction"; + } + enum internal { + description + "internal direction"; + } + } + } + container conform-color { + status obsolete; + description + "conform-color"; + leaf cos { + status obsolete; + description + "configure conform COS"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ethernet'; + type uint8 { + range "0..7"; + } + } + leaf dscp { + status obsolete; + description + "configure conform DSCP"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ip'; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + } + container exceed-color { + status obsolete; + description + "exceed-color"; + leaf cos { + status obsolete; + description + "configure conform COS"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ethernet'; + type uint8 { + range "0..7"; + } + } + leaf dscp { + status obsolete; + description + "configure conform DSCP"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ip'; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + } + leaf delay { + status obsolete; + description + "Delay measurement"; + type empty; + } + leaf jitter { + status obsolete; + description + "Jitter measurement"; + type empty; + } + leaf loss { + status obsolete; + description + "loss measurement"; + type empty; + } + leaf receive { + status obsolete; + description + "Received bytes/packets measurement"; + type empty; + } + leaf throughput { + status obsolete; + description + "Throughput measurement"; + type empty; + } + } + container profile { + status obsolete; + when '../../service-performance'; + if-feature "ios-features:service-performance"; + description + "Service Performance Profile"; + container packet { + status obsolete; + description + "Packet Profiles"; + leaf dscp { + status obsolete; + description + "Configure DSCP"; + type union { + type uint8 { + range "0..63"; + } + type reply-dscp-bits-type; + } + } + leaf ethertype { + status obsolete; + description + "Frame type"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + leaf inner-cos { + status obsolete; + description + "Inner COS"; + type uint8 { + range "0..7"; + } + } + leaf inner-vlan { + status obsolete; + description + "Specify Inner VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf outer-cos { + status obsolete; + description + "Outer COS"; + type uint8 { + range "0..7"; + } + } + leaf outer-vlan { + status obsolete; + description + "Specify the Outer VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf packet-size { + status obsolete; + description + "Packet Size"; + type packet-size-type; + } + leaf src-mac-addr { + status obsolete; + description + "The source mac-address"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ethernet'; + type ios-types:cisco-mac-address-type; + } + leaf source-ip-addr { + status obsolete; + description + "ip address"; + if-feature "ios-features:service-performance"; + when '../../../../service-performance/type/ip'; + type union { + type string; + type inet:ip-address; + } + } + container tunnel { + status obsolete; + description + "Tunnel type"; + leaf exp { + status obsolete; + description + "Exp value"; + type uint8 { + range "0..7"; + } + } + } + } + container traffic { + status obsolete; + description + "Service Performance traffic profile"; + leaf direction { + status obsolete; + description + "Traffic direction"; + type enumeration { + enum external { + description + "external direction"; + } + enum internal { + description + "internal direction"; + } + } + } + leaf cbs { + status obsolete; + description + "Committed Burst Size"; + type uint32 { + range "0..16000000"; + } + units "Kbps"; + } + leaf cir { + status obsolete; + description + "Committed Information Rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + type uint32 { + range "0..10000000"; + } + units "Kbps"; + } + leaf ebs { + status obsolete; + description + "Excess Burst Size"; + type uint32 { + range "0..16000000"; + } + units "Kbps"; + } + leaf eir { + status obsolete; + description + "Excess Information Rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + type uint32 { + range "0..10000000"; + } + units "Kbps"; + } + container rate-step { + status obsolete; + description + "Rate Step"; + choice Kbps_or_pps { + status obsolete; + container Kbps { + status obsolete; + description + "Kilobits per second rate. The range mentioned is for 10G interface. For 1G interface, the range is 0..1000000"; + leaf step1 { + status obsolete; + description + "Step 1 (Kbps/pps)"; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step2 { + status obsolete; + description + "Step 2 (Kbps/pps), Step 2 >= Step 1"; + must '../step2 >= ../step1'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step3 { + status obsolete; + description + "Step 3 (Kbps/pps), Step 3 >= Step 2"; + must '../step3 >= ../step2'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step4 { + status obsolete; + description + "Step 4 (Kbps/pps), Step 4 >= Step 3"; + must '../step4 >= ../step3'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step5 { + status obsolete; + description + "Step 5 (Kbps/pps), Step 5 >= Step 4"; + must '../step5 >= ../step4'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step6 { + status obsolete; + description + "Step 6 (Kbps/pps), Step 6 >= Step 5"; + must '../step6 >= ../step5'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step7 { + status obsolete; + description + "Step 7 (Kbps/pps), Step 7 >= Step 6"; + must '../step7 >= ../step6'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step8 { + status obsolete; + description + "Step 8 (Kbps/pps), Step 8 >= Step 7"; + must '../step8 >= ../step7'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step9 { + status obsolete; + description + "Step 9 (Kbps/pps), Step 9 >= Step 8"; + must '../step9 >= ../step8'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + leaf step10 { + status obsolete; + description + "Step 10 (Kbps/pps), Step 10 >= Step 9"; + must '../step10 >= ../step9'; + type uint32 { + range "1..10000000"; + } + units "Kbps/pps"; + } + } + container pps { + status obsolete; + description + "Packet per second rate"; + leaf step1 { + status obsolete; + description + "Step 1 (Kbps/pps)"; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step2 { + status obsolete; + description + "Step 2 (Kbps/pps), Step 2 >= Step 1"; + must '../step2 >= ../step1'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step3 { + status obsolete; + description + "Step 3 (Kbps/pps), Step 3 >= Step 2"; + must '../step3 >= ../step2'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step4 { + status obsolete; + description + "Step 4 (Kbps/pps), Step 4 >= Step 3"; + must '../step4 >= ../step3'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step5 { + status obsolete; + description + "Step 5 (Kbps/pps), Step 5 >= Step 4"; + must '../step5 >= ../step4'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step6 { + status obsolete; + description + "Step 6 (Kbps/pps), Step 6 >= Step 5"; + must '../step6 >= ../step5'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step7 { + status obsolete; + description + "Step 7 (Kbps/pps), Step 7 >= Step 6"; + must '../step7 >= ../step6'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step8 { + status obsolete; + description + "Step 8 (Kbps/pps), Step 8 >= Step 7"; + must '../step8 >= ../step7'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step9 { + status obsolete; + description + "Step 9 (Kbps/pps), Step 9 >= Step 8"; + must '../step9 >= ../step8'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + leaf step10 { + status obsolete; + description + "Step 10 (Kbps/pps), Step 10 >= Step 9"; + must '../step10 >= ../step9'; + type uint32 { + range "1..15000000"; + } + units "Kbps/pps"; + } + } + } + } + } + } + leaf signature { + status obsolete; + description + "Payload Contents"; + if-feature "ios-features:service-performance"; + when '../../service-performance'; + type string; + } + container control { + status obsolete; + description + "Set control protocol parameters"; + leaf retry { + status obsolete; + description + "How often the control message should do a retry (default 3 times)"; + when '../../../udp-jitter'; + type uint8 { + range "1..5"; + } + default "3"; + } + leaf timeout { + status obsolete; + description + "How long to wait for control message timeout (default 5 seconds)"; + when '../../../udp-jitter'; + type uint16 { + range "1..10000"; + } + default "5000"; + } + } + leaf exp { + status obsolete; + description + "EXP bits in MPLS header"; + when "../../mpls/lsp/ping or + ../../mpls/lsp/trace"; + type uint8 { + range "0..7"; + } + default "0"; + } + leaf ttl { + status obsolete; + description + "Time to live. + For MPLS LSP trace probe, ttl range is 1-30"; + when "../../mpls/lsp/ping/ipv4 or + ../../mpls/lsp/trace"; + type uint8 { + range "1..255"; + } + default "255"; + } + container secondary-frequency { + status obsolete; + description + "Frequency to be used if there is any violation condition happens"; + choice type-params { + status obsolete; + case connection-loss-type { + status obsolete; + leaf connection-loss { + status obsolete; + description + "Enable secondary frequency for connection loss"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + case timeout-type { + status obsolete; + leaf timeout { + status obsolete; + description + "Enable secondary frequency for timeout"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + } + } + } + } + container enable { + leaf reaction-alerts { + type empty; + } + } + container responder-config { + description + "Enable IP SLAs Responder configuration"; + leaf enable { + description + "Enable IP SLAs general Responder"; + type empty; + } + container udp-echo { + description + "Setup udp-echo responder"; + list port-config { + description + "Permanent port list"; + key "port"; + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + } + list port-vrf { + description + "Permanent port and vrf list"; + key "port vrf"; + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Configure permanent port for a VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ipaddress-port { + description + "Permanent address and port list"; + key "ipaddress port"; + leaf ipaddress { + description + "IPv4/IPv6 address of the permanent port responder"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + } + list ipaddress-port-vrf { + description + "Permanent address, port and VPN routing/forwarding instance."; + key "ipaddress port vrf"; + leaf ipaddress { + description + "IPv4/IPv6 address of the permanent port responder"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Configure permanent port for a VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container tcp-connect { + description + "Setup tcp-connect responder"; + list port-config { + description + "Permanent port list"; + key "port"; + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + } + list port-vrf { + description + "Permanent port and vrf list"; + key "port vrf"; + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Configure permanent port for a VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ipaddress-port { + description + "Permanent address and port list"; + key "ipaddress port"; + leaf ipaddress { + description + "IPv4/IPv6 address of the permanent port responder"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + } + list ipaddress-port-vrf { + description + "Permanent address, port and VPN routing/forwarding instance."; + key "ipaddress port vrf"; + leaf ipaddress { + description + "IPv4/IPv6 address of the permanent port responder"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + description + "Permanent port"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + description + "Configure permanent port for a VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + } + container twamp { + description + "Setup TWAMP responder"; + presence "true"; + leaf timeout { + description + "Inactivity timeout period"; + type uint32 { + range "1..604800"; + } + default "900"; + } + } + container twamp-light { + description + "Setup TWAMP Light responder"; + list test-session { + description + "TWAMP Light test session"; + key "session-number"; + leaf session-number { + description + "TWAMP Light test session identifier"; + type uint8 { + range "1..100"; + } + } + container local-ip { + choice local-ip-param { + mandatory true; + case address { + leaf address { + description + "Local IP/IPv6 address"; + type inet:ip-address; + } + } + case any-address { + leaf any { + description + "Any local address"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + leaf local-port { + description + "Local port number"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + container remote-ip { + choice remote-ip-param { + mandatory true; + case address { + leaf address { + description + "Remote IP/IPv6 address"; + type inet:ip-address; + } + } + case any-address { + leaf any { + description + "Any address"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + container remote-port { + choice remote-port-param { + mandatory true; + case port-number { + leaf port { + description + "Local port number"; + type uint16 { + range "1..65535"; + } + } + } + case port-any { + leaf any { + description + "Any port number"; + type empty; + } + } + } + } + leaf vrf { + description + "VPN Routing/Forwarding instance"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf timeout { + description + "TWAMP Light test session timeout"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + } + } + container responder { + description + "Enable IP SLAs Responder(OBSOLETE).Please use responder-config"; + status obsolete; + presence "true"; + container udp-echo { + status obsolete; + description + "Setup udp-echo responder(OBSOLETE) + Please use udp-echo under responder-config"; + list port-config { + status obsolete; + description + "Permanent port list(OBSOLETE) + Please use port-config under responder-config"; + key "port"; + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE)"; + type uint16 { + range "1..65535"; + } + } + } + list port-vrf { + status obsolete; + description + "Permanent port and vrf list(OBSOLETE) + Please use port-vrf under responder-config"; + key "port vrf"; + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE) + Please use port under port-vrf in responder-config"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + status obsolete; + description + "Configure permanent port for a VPN Routing/Forwarding instance(OBSOLETE) + Please use vrf under port-vrf in responder-config"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ipaddress-port { + status obsolete; + description + "Permanent address and port list(OBSOLETE) + Please use ipaddress-port under responder-config"; + key "ipaddress port"; + leaf ipaddress { + status obsolete; + description + "IPv4/IPv6 address of the permanent port responder(OBSOLETE) + Please use ipaddress under ipaddress-port in responder-config"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port (OBSOLETE)"; + type uint16 { + range "1..65535"; + } + } + } + list ipaddress-port-vrf { + status obsolete; + description + "Permanent address, port and VPN routing/forwarding instance(OBSOLETE) + Please use ipaddress-port-vrf under responder-config"; + key "ipaddress port vrf"; + leaf ipaddress { + status obsolete; + description + "IPv4/IPv6 address of the permanent port responder(OBSOLETE) + Please use ipaddress under ipaddress-port-vrf in responder-config"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE) + Please use port under ipaddress-port-vrf in responder-config"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + status obsolete; + description + "Configure permanent port for a VPN Routing/Forwarding instance(OBSOLETE) + Please use vrf under ipaddress-port-vrf in responder-config"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + leaf port { + status obsolete; + description + "Permanent port (OBSOLETE, use port-config container)"; + type uint16 { + range "1..65535"; + } + } + list ipaddress { + status obsolete; + description + "Permanent address (OBSOLETE, use ipaddress-port list)"; + key "host"; + leaf host { + status obsolete; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE)"; + type uint16 { + range "1..65535"; + } + } + } + } + container tcp-connect { + status obsolete; + description + "Setup tcp-connect responder(OBSOLETE) + Please use tcp-connect under responder-config"; + list port-config { + status obsolete; + description + "Permanent port list (OBSOLETE) + Please use port-config under responder-config"; + key "port"; + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE) + Please use port under responder-config"; + type uint16 { + range "1..65535"; + } + } + } + list port-vrf { + status obsolete; + description + "Permanent port and vrf list (OBSOLETE) + Please use port-vrf under responder-config"; + key "port vrf"; + leaf port { + status obsolete; + description + "Permanent port (OBSOLETE) + Please use port under tcp-connect in responder-config"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + status obsolete; + description + "Configure permanent port for a VPN Routing/Forwarding instance(OBSOLETE) + Please use vrf under tcp-connect in responder-config"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + list ipaddress-port { + status obsolete; + description + "Permanent address and port list(OBSOLETE) + Please use ipaddress-port under tcp-connect in responder-config"; + key "ipaddress port"; + leaf ipaddress { + status obsolete; + description + "IPv4/IPv6 address of the permanent port responder(OBSOLETE) + Please use ipaddress under ipaddress-port in responder-config"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port (OBSOLETE) + Please use port under ipaddress-port in responder-config"; + type uint16 { + range "1..65535"; + } + } + } + list ipaddress-port-vrf { + status obsolete; + description + "Permanent address, port and VPN routing/forwarding instance(OBSOLETE) + Please use ipaddress-port-vrf under ipaddress-port in responder-config"; + key "ipaddress port vrf"; + leaf ipaddress { + status obsolete; + description + "IPv4/IPv6 address of the permanent port responder(OBSOLETE) + Please use ipaddress under ipaddress-port-vrf in responder-config"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE) + Please use port under ipaddress-port-vrf in responder-config"; + type uint16 { + range "1..65535"; + } + } + leaf vrf { + status obsolete; + description + "Configure permanent port for a VPN Routing/Forwarding instance(OBSOLETE) + Please use vrf under ipaddress-port-vrf in responder-config"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + } + leaf port { + status obsolete; + description + "Permanent port (OBSOLETE, use port-config container)"; + type uint16 { + range "1..65535"; + } + } + list ipaddress { + status obsolete; + description + "Permanent address (OBSOLETE, use ipaddress-port list)"; + key "host"; + leaf host { + status obsolete; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + leaf port { + status obsolete; + description + "Permanent port(OBSOLETE)"; + type uint16 { + range "1..65535"; + } + } + } + } + container twamp { + status obsolete; + description + "Setup TWAMP responder(OBSOLETE) + please use twamp under responder-config"; + presence "true"; + leaf timeout { + status obsolete; + description + "Inactivity timeout period (OBSOLETE) + please use timeout under twamp in responder-config"; + type uint32 { + range "1..604800"; + } + default "900"; + } + } + container twamp-light { + status obsolete; + description + "Setup TWAMP Light responder (OBSOLETE) + please use twamp-light under responder-config"; + list test-session { + status obsolete; + description + "TWAMP Light test session (OBSOLETE) + please use test-session under twamp-light in responder-config"; + key "session-number"; + leaf session-number { + status obsolete; + description + "TWAMP Light test session identifier(OBSOLETE) + please use session-number under test-session in twamp-light"; + type uint8 { + range "1..100"; + } + } + container local-ip { + status obsolete; + choice local-ip-param { + mandatory true; + case address { + status obsolete; + leaf address { + status obsolete; + description + "Local IP/IPv6 address(OBSOLETE) + please use address under local-ip-param choice in responder-config"; + type inet:ip-address; + } + } + case any-address { + status obsolete; + leaf any { + status obsolete; + description + "Any local address(OBSOLETE) + please use any under any-address in responder-config"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + leaf local-port { + status obsolete; + description + "Local port number(OBSOLETE).please use local-port under responder-config"; + mandatory true; + type uint16 { + range "1..65535"; + } + } + container remote-ip { + status obsolete; + choice remote-ip-param { + mandatory true; + case address { + status obsolete; + leaf address { + status obsolete; + description + "Remote IP/IPv6 address(OBSOLETE) + please use address under remote-ip-param in responder-config"; + type inet:ip-address; + } + } + case any-address { + status obsolete; + leaf any { + status obsolete; + description + "Any address(OBSOLETE) + please use any under any-address in responder-config"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + } + } + } + container remote-port { + status obsolete; + choice remote-port-param { + mandatory true; + case port-number { + status obsolete; + leaf port { + status obsolete; + description + "Local port number(OBSOLETE).please use port under port-number in responder-config"; + type uint16 { + range "1..65535"; + } + } + } + case port-any { + status obsolete; + leaf any { + status obsolete; + description + "Any port number (OBSOLETE).please use any under remote-port-param in responder-config"; + type empty; + } + } + } + } + leaf vrf { + status obsolete; + description + "VPN Routing/Forwarding instance (OBSOLETE) + please use vrf under responder-config"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf timeout { + status obsolete; + description + "TWAMP Light test session timeout (OBSOLETE).please use timeout under responder-config"; + units "seconds"; + type uint32 { + range "1..604800"; + } + } + } + } + } + container logging { + description + "Enable Syslog"; + leaf traps { + description + "Enable syslog traps"; + type empty; + } + } + container group { + description + "Group Configuration or Group Scheduling"; + list schedule { + description + "Group scheduling"; + key "entry-number"; + leaf entry-number { + description + "Group schedule entry number"; + type uint32 { + range "1..2147483647"; + } + } + list probe-ids { + key "word"; + leaf word { + description + "Probe ids which are part of the group schedule"; + type string; + } + choice group-schedule-type { + case schedule-period-type { + container schedule-period-config { + description + "Group schedule period range"; + leaf seconds { + description + "seconds"; + type uint32; + } + uses config-ip-sla-group-schedule-grouping; + } + } + case schedule-together-type { + container schedule-together { + description + "Group schedule together"; + uses config-ip-sla-group-schedule-grouping; + } + } + } + container schedule-period { + status obsolete; + description + "Group schedule period range (OBSOLETE, use schedule-period-config container)"; + leaf seconds { + status obsolete; + description + "seconds"; + type uint32; + } + container frequency { + status obsolete; + description + "Group operation frequency (OBSOLETE) + Please use frequency under schedule-period-config"; + choice frequency-choice { + status obsolete; + case frequency-value { + status obsolete; + leaf frequency-val { + status obsolete; + description + "Specify frequency in seconds (OBSOLETE) + Please use frequency-val under schedule-period-config"; + type uint32; + } + } + case frequency-range { + status obsolete; + leaf range { + status obsolete; + description + "(OBSOLETE) Group operation frequency-range for random scheduling + Please use range under schedule-period-config"; + type string; + } + } + } + } + container start-time { + status obsolete; + description + "When to start this entry(OBSOLETE) + Please use start-time under schedule-period-config"; + leaf now { + status obsolete; + description + "Start now(OBSOLETE).use now under schedule-period-config"; + type empty; + } + } + leaf life { + status obsolete; + description + "Length of time to execute in seconds(OBSOLETE) + use life under schedule-period-config"; + type union { + type uint32; + type enumeration { + enum forever; + } + } + } + } + } + } + } + list schedule { + description + "Entry Scheduling"; + key "entry-number"; + leaf entry-number { + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:entry/ios-sla:number"; + } + } + leaf ageout { + description + "How long to keep this Entry when inactive"; + type uint32 { + range "0..2073600"; + } + default "0"; + } + leaf life { + description + "Length of time to execute in seconds"; + type union { + type uint32 { + range "0..2147483647"; + } + type enumeration { + enum forever; + } + } + default "3600"; + } + leaf recurring { + description + "Probe to be scheduled automatically every day"; + type empty; + } + container start-time { + description + "When to start this entry."; + choice start-time-param { + default "pending-type"; + case after-type { + leaf after-config { + description + "Start after a certain amount of time from now"; + type ios-sla:hour-min-sec; + } + } + case hour-min-type { + container hour-min-config { + leaf hour-min { + description + "Start time (hh:mm)"; + type ios-sla:hour-min; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case hour-min-sec-type { + container hour-min-sec-config { + leaf hour-min-sec { + description + "Start time (hh:mm)"; + type ios-sla:hour-min-sec; + } + leaf date-of-month { + description + "Day of the month"; + type uint8 { + range "1..31"; + } + } + leaf month { + description + "Month of the year"; + type string { + pattern '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)'; + } + } + } + } + case now-type { + leaf now-config { + description + "Start now"; + type empty; + } + } + case pending-type { + leaf pending-config { + description + "Start pending"; + type empty; + } + } + case random-type { + leaf random-config { + description + "Start after random time (range)"; + type uint32 { + range "500..10000"; + } + } + } + } + leaf after { + description + "Start after a certain amount of time from now. (OBSOLETE, use after-config)"; + status obsolete; + type string; + } + leaf hour-min { + status obsolete; + type string; + } + leaf hour-min-sec { + status obsolete; + type string; + } + leaf now { + description + "Start now. (OBSOLETE, use now-config)"; + status obsolete; + type empty; + } + leaf pending { + description + "Start pending. (OBSOLETE, use pending-config)"; + status obsolete; + type empty; + } + leaf random { + description + "Start after random time (range). (OBSOLETE, use random-config)"; + status obsolete; + type uint32 { + range "500..10000"; + } + } + } + } + list reaction-configuration { + description + "IP SLA's reaction configuration"; + key "entry-number"; + leaf entry-number { + description + "Entry number"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:entry/ios-sla:number"; + } + } + container react { + description + "Reaction variable to be configured"; + container connectionLoss { + description + "Connection Loss"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container rtt { + description + "Round Trip Time"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container timeout { + description + "Timeout"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container protocolSpecificError { + description + "Protocol Specific Error"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container verifyError { + description + "Verify error"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container icpif { + description + "Calculated Planning Impairment Factor"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterAvg { + description + "Jitter Average in both the directions"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterAvgPct { + description + "Percentile Jitter Average in both the directions"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterDSAvg { + description + "Jitter Average in the direction from Destination + to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterDSAvgPct { + description + "Percentile Jitter Average in the direction from + Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterSDAvg { + description + "Jitter Average in the direction from Source + to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container jitterSDAvgPct { + description + "Percentile jitter Average in the direction from + Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOfNegativeDS { + description + "Maximum negative jitter from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOfNegativeSD { + description + "Maximum negative jitter from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOfPositiveDS { + description + "Maximum positive jitter from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOfPositiveSD { + description + "Maximum positive jitter from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container mos { + description + "MOS Score"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "100..500"; + } + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "100..500"; + } + } + } + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container overThreshold { + description + "Percent of Round Trip Times over threshold"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetLateArrival { + description + "Packets arriving Late"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetLossDS { + description + "Packet Loss in the direction from Destination + to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetLossSD { + description + "Packet Loss in the direction from Source + to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetMIA { + description + "Missing in Action"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetOutOfSequence { + description + "Packet arriving out of sequence"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container packetLoss { + description + "Packet Loss in both the directions"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container rttPct { + description + "Percentile Round Trip Time"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container latencyDSAvg { + description + "Latency Average from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container latencyDSAvgPct { + description + "Percentile Latency Average from Destination + to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container latencySDAvg { + description + "Latency Average from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container latencySDAvgPct { + description + "Percentile Latency Average from Source + to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOflatencySD { + description + "Maximum Latency from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOflatencySDPct { + description + "Percentile Maximum Latency from Source + to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOflatencyDS { + description + "Maximum Latency from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container maxOflatencyDSPct { + description + "Percentile Maximum Latency from Destination + to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container successivePacketLoss { + description + "Successive Packet Loss"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction-configuration"; + type enumeration { + enum none; + enum trapAndTrigger; + enum trapOnly; + enum triggerOnly; + } + default "none"; + } + } + container loss-ratioDS { + description + "FLR % Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + } + } + container loss-ratioSD { + description + "FLR % Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + } + } + container unavailableDS { + description + "Unavailability % used for FLR Destination to + Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + } + } + container unavailableSD { + description + "Unavailability % used for FLR Source to + Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + container threshold-value { + description + "Threshold value"; + leaf upper-limit-val { + description + "Upper limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + leaf lower-limit-val { + description + "Lower limit"; + type uint32 { + range "0..100"; + } + default "50"; + } + } + } + } + } + list reaction-trigger { + description + "IP SLAs Trigger Assignment"; + key "react-number target-number"; + leaf react-number { + description + "IPSLA operation number configured with action-type as trigger"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:entry/ios-sla:number"; + } + } + leaf target-number { + description + "IPSLA operation number which need to be trigger when reaction occurred"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:entry/ios-sla:number"; + } + } + } + container server { + description + "IPPM server configuration"; + container twamp { + description + "IPPM TWAMP server configuration"; + presence "true"; + leaf port { + description + "Port on which to listen"; + type uint16 { + range "1..65535"; + } + default "862"; + } + container timer { + description + "Timer configurations"; + leaf inactivity { + description + "Inactivity timer"; + units "seconds"; + type uint16 { + range "1..6000"; + } + default "900"; + } + } + } + } + container ethernet-monitor { + description + "IP SLAs Auto Ethernet Configuration"; + list entry { + description + "IP SLAs auto ethernet entry"; + key "number"; + leaf number { + description + "IP SLAs auto ethernet number"; + type uint32 { + range "0..2147483647"; + } + } + container type { + description + "Type of entry"; + choice type { + case echo-case { + container echo { + description + "Perform Ethernet Echo operation"; + leaf domain { + description + "Domain Name"; + mandatory true; + type string; + } + choice type-param { + mandatory true; + case evc-case { + leaf evc { + description + "EVC ID"; + type string; + } + } + case vlan { + leaf vlan { + description + "VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + } + leaf exclude-mpids { + description + "List of Maintenance Point ID to be excluded"; + type string; + } + uses config-ip-sla-ethernet-monitor-submode-grouping; + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "0..1400"; + } + default "66"; + } + } + } + case jitter-case { + container jitter { + description + "Perform Ethernet Jitter operation"; + leaf domain { + description + "Domain Name"; + mandatory true; + type string; + } + choice type-param { + mandatory true; + case evc-case { + leaf evc { + description + "EVC ID"; + type string; + } + } + case vlan { + leaf vlan { + description + "VLAN ID"; + type uint16 { + range "1..4094"; + } + } + } + } + leaf exclude-mpids { + description + "List of Maintenance Point ID to be excluded"; + type string; + } + leaf num-frames { + description + "Number of frames"; + type uint16 { + range "1..60000"; + } + default "10"; + } + leaf interval { + description + "Inter Packet Interval"; + units "milliseconds"; + type uint16 { + range "4..60000"; + } + default "20"; + } + uses config-ip-sla-ethernet-monitor-submode-grouping; + leaf request-data-size { + description + "Request data size"; + type uint16 { + range "0..1400"; + } + default "51"; + } + } + } + } + } + container ethernet-monitor-modification-configuration { + status obsolete; + leaf cos { + status obsolete; + description + "Class of Service"; + type uint8 { + range "0..7"; + } + } + leaf owner { + status obsolete; + description + "Owner of Entry"; + type string; + } + leaf request-data-size-type-echo { + status obsolete; + description + "Request data size for ethernet-monitor type echo."; + when '../../type/echo'; + type uint16 { + range "0..1400"; + } + default "66"; + } + leaf request-data-size-type-jitter { + status obsolete; + description + "Request data size for ethernet-monitor type jitter."; + when '../../type/jitter'; + type uint16 { + range "0..1400"; + } + default "51"; + } + leaf tag { + status obsolete; + description + "User defined tag"; + type string; + } + leaf threshold { + status obsolete; + description + "Operation threshold in milliseconds"; + units "miliseconds"; + type uint32 { + range "0..60000"; + } + default "5000"; + } + leaf timeout { + status obsolete; + description + "Timeout of an operation"; + units "miliseconds"; + type uint32 { + range "0..604800000"; + } + default "6000"; + } + } + } + list schedule { + description + "Entry Scheduling"; + key "entry-number"; + leaf entry-number { + description + "IP SLAs auto ethernet number"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:ethernet-monitor/ios-sla:entry/ios-sla:number"; + } + } + leaf schedule-period { + description + "Group schedule period range"; + type uint32 { + range "1..604800"; + } + } + leaf frequency { + description + "Group operation frequency"; + type uint32 { + range "1..604800"; + } + } + container start-time { + description + "When to start this entry"; + choice start-time-param { + case after-type { + leaf after { + description + "Start after a certain amount of time from now"; + type ios-sla:hour-min-sec; + } + } + case hour-min-type { + container hour-min { + leaf hour-min { + description + "Start time (hh:mm)"; + type ios-sla:hour-min; + } + uses config-ip-sla-ethernet-monitor-schedule-grouping; + } + } + case hour-min-sec-type { + container hour-min-sec { + leaf hour-min-sec { + description + "Start time (hh:mm)"; + type ios-sla:hour-min-sec; + } + uses config-ip-sla-ethernet-monitor-schedule-grouping; + } + } + case now-type { + leaf now { + description + "Start now"; + type empty; + } + } + case pending-type { + leaf pending { + description + "Start pending"; + type empty; + } + } + } + } + } + list reaction-configuration { + description + "IP SLA's reaction configuration"; + key "entry-number"; + leaf entry-number { + description + "Entry number"; + type leafref { + path "/ios:native/ios:ip/ios-sla:sla/ios-sla:ethernet-monitor/ios-sla:entry/ios-sla:number"; + } + } + container react { + description + "Reaction variable to be configured"; + container connectionLoss { + description + "Connection Loss"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container rtt { + description + "Round Trip Time"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container timeout { + description + "Timeout"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container jitterAvg { + description + "Jitter Average in both the directions"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container jitterDSAvg { + description + "Jitter Average in the direction from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container jitterSDAvg { + description + "Jitter Average in the direction from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container maxOfNegativeDS { + description + "Maximum negative jitter from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container maxOfNegativeSD { + description + "Maximum negative jitter from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container maxOfPositiveDS { + description + "Maximum positive jitter from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container maxOfPositiveSD { + description + "Maximum positive jitter from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container packetLateArrival { + description + "Packets which are arrived late"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container packetLossDS { + description + "Packet Loss in the direction from Destination to Source"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container packetLossSD { + description + "Packet Loss in the direction from Source to Destination"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container packetMIA { + description + "Missing in Action"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + container packetOutOfSequence { + description + "Packet arriving out of sequence"; + presence "true"; + uses config-ip-sla-react-threshold-type-grouping; + uses config-ip-sla-react-threshold-value-grouping; + leaf action-type { + description + "Action type of the reaction configuration"; + type enumeration { + enum none; + enum trapOnly; + } + default "none"; + } + } + } + } + } + container endpoint-list { + description + "Endpoint list configuration"; + container type { + description + "Endpoint list type"; + list ip { + description + "IP type Endpoint list"; + key "name"; + leaf name { + description + "Endpoint list name"; + type string; + } + list address { + description + "List of IP address and port"; + key "ip-address port"; + leaf ip-address { + description + "IP-Addresses(range)/hostname list, ',' delimited, max 5, + may contain range denoted by '-', Example: 1.1.1.1-224, + cannot mix with individual addresses"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf port { + description + "Port Number (Recommended ports greater than 1023)"; + type uint16 { + range "1..65535"; + } + } + } + leaf description { + description + "Customer specific description of endpoint list"; + type string; + } + } + list ipv6 { + description + "IP type Endpoint list"; + key "name"; + leaf name { + description + "Endpoint list name"; + type string; + } + list address { + description + "List of IPv6 address and port"; + key "ip-address port"; + leaf ip-address { + description + "IPv6 address"; + type union { + type inet:ipv6-address; + } + } + leaf port { + description + "Port Number (Recommended ports greater than 1023)"; + type uint16 { + range "1..65535"; + } + } + } + leaf description { + description + "Customer specific description of the endpoint list"; + type string; + } + } + } + } + container snmp { + description + "Set SNMP extensions"; + container extend { + description + "Extend SNMP Object length"; + leaf tag { + description + "Extend the length of rttMonCtrlAdminTag object"; + type empty; + } + } + } + container periodic { + description + "Enable Periodic Resolution of the IPSLA hostname"; + container hostname { + description + "IPSLA hostname configured in the probe"; + leaf resolution { + description + "Enable IPSLA Hostname Resolution"; + type empty; + } + } + } + container profile { + description + "IP SLA Profile configuration"; + container packet { + description + "Create/Modify Packet Profiles"; + container type { + description + "Type of the profile"; + list ip { + description + "IP profile list"; + key "profile-name"; + leaf profile-name { + description + "Name of Packet Profile"; + type string; + } + leaf dest-ip-addr { + description + "destination ip address"; + type inet:ip-address; + } + leaf packet-size { + description + "Packet Size"; + type packet-size-type; + } + leaf source-ip-addr { + description + "source ip address"; + type inet:ip-address; + } + container tunnel { + description + "Tunnel type"; + leaf exp { + description + "Exp value"; + type uint8 { + range "0..7"; + } + } + } + } + list ethernet { + description + "Ethernet profile list"; + key "profile-name"; + leaf profile-name { + description + "Name of Packet Profile"; + type string; + } + leaf dest-mac-addr { + description + "Specify the destination mac-address"; + type ios-types:cisco-mac-address-type; + } + leaf ethertype { + description + "Frame type"; + type enumeration { + enum ipv4; + enum ipv6; + } + } + leaf inner-cos { + description + "Inner COS"; + type uint8 { + range "0..7"; + } + } + leaf inner-vlan { + description + "Specify Inner VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf outer-cos { + description + "Outer COS"; + type uint8 { + range "0..7"; + } + } + leaf outer-vlan { + description + "Specify the Outer VLAN"; + type uint16 { + range "0..4095"; + } + } + leaf packet-size { + description + "Packet Size"; + type packet-size-type; + } + leaf src-mac-addr { + description + "Specify the source mac-address"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + container key-chain { + leaf key-chain-name { + description + "Use MD5 Authentication for IP SLAs Control Messages"; + type string; + } + } + leaf low-memory { + description + "Configure Low Water Memory Mark"; + type uint32 { + range "0..2147483647"; + } + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-sla-grouping; + } + + augment "/ios:native" { + uses config-auto-ip-sla-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-enum-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-enum-types.yang new file mode 100644 index 000000000..24429bdc8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-enum-types.yang @@ -0,0 +1,489 @@ +module Cisco-IOS-XE-sm-enum-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sm-enum-types"; + prefix sm-enum-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for session data types. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef session-events { + type enumeration { + enum session-event-invalid { + value 0; + description + "Session event type invalid"; + } + enum session-event-internal { + value 1; + description + "Session event type internal"; + } + enum session-event-session-create { + value 2; + description + "Session event type session create"; + } + enum session-event-session-authc-success { + value 3; + description + "Session event type authentication success"; + } + enum session-event-session-authc-failed { + value 4; + description + "Session event type authentication failed"; + } + enum session-event-session-authz-success { + value 5; + description + "Session event type authorization success"; + } + enum session-event-session-authz-failed { + value 6; + description + "Session event type authorization failed"; + } + enum session-event-start-method { + value 7; + description + "Session event type start method"; + } + enum session-event-terminate-method { + value 8; + description + "Session event type terminate method"; + } + enum session-event-aaa-request { + value 9; + description + "Event raised when a request is initiated to a AAA server."; + } + enum session-event-aaa-success { + value 10; + description + "Session event type AAA success"; + } + enum session-event-aaa-success-no-author-data { + value 11; + description + "Event raised when a success is received from AAA server without any authorization data"; + } + enum session-event-aaa-challenge { + value 12; + description + "Event raised when access-challenge is raised for a AAA server"; + } + enum session-event-eap-req-tx { + value 13; + description + "Session event type EAP request transmitted"; + } + enum session-event-eap-resp-rx { + value 14; + description + "Session event type EAP response received"; + } + enum session-event-eapol-start-rx { + value 15; + description + "Session event type EAPOL start received"; + } + enum session-event-eapol-logoff-rx { + value 16; + description + "Session event type EAPOL logoff received"; + } + enum session-event-wa-get-request { + value 17; + description + "Event raised when a web-auth session received a HTTP GET request."; + } + enum session-event-wa-post-request { + value 18; + description + "Event raised when a web-auth session received a HTTP POST request."; + } + enum session-event-bm-set-client-to-orig { + value 19; + description + "Event raised when message is sent to put client into original state."; + } + enum session-event-bm-set-client-to-fwd { + value 20; + description + "Event raised when a message is sent to put client into forwarding state."; + } + enum session-event-policy-change { + value 21; + description + "Event raised when authorization policy changes for a session."; + } + enum session-event-session-disconnect { + value 22; + description + "Event raised when session disconnect request is received."; + } + enum session-event-policy-update { + value 23; + description + "Event raised when change of policy attributes."; + } + enum session-event-coa-start { + value 24; + description + "Event raised when change of authorization is received."; + } + enum session-event-security-violation { + value 25; + description + "Event raised on security violation for a port."; + } + } + description + "Enumeration for session event type"; + } + + typedef session-event-failure-reason { + type enumeration { + enum session-event-reason-none { + value 0; + description + "Session event reason none"; + } + enum session-event-reason-authc-cred-fail { + value 1; + description + "Session event reason authentication credential fail"; + } + enum session-event-reason-authc-aaa-server-fail { + value 2; + description + "Session event reason authentication AAA server fail"; + } + enum session-event-reason-authc-no-response-fail { + value 3; + description + "Session event reason authentication no response fail"; + } + enum session-event-reason-authc-timeout-fail { + value 4; + description + "Session event reason authentication timeout fail"; + } + enum session-event-reason-authc-no-config-fail { + value 5; + description + "Session event reason authentication no configuration fail"; + } + enum session-event-reason-aaa-not-ready { + value 6; + description + "Session event reason AAA server not ready"; + } + enum session-event-reason-authz-vlan-fail { + value 7; + description + "Session event reason authorization VLAN fail"; + } + enum session-event-reason-authz-acl-fail { + value 8; + description + "Session event reason authorization ACL fail"; + } + enum session-event-reason-authz-punt-acl-fail { + value 9; + description + "Session event reason authorization punt ACL fail"; + } + enum session-event-reason-authz-qos-policy-fail { + value 10; + description + "Session event reason authorization QOS policy fail"; + } + enum session-event-reason-authz-accounting-fail { + value 11; + description + "Session event reason authorization accounting fail"; + } + enum session-event-reason-authz-cfg-macro-fail { + value 12; + description + "Session event reason authorization config macro fail"; + } + enum session-event-reason-authz-cts-fail { + value 13; + description + "Session event reason authorization CTS fail"; + } + enum session-event-reason-authz-fqdn-fail { + value 14; + description + "Session event reason authorization FQDN fail"; + } + enum session-event-reason-authz-mdns-fail { + value 15; + description + "Session event reason authorization MDNS fail"; + } + enum session-event-reason-authz-idle-timeout-fail { + value 16; + description + "Session event reason authorization IAF fail"; + } + enum session-event-reason-authz-interface-template-fail { + value 17; + description + "Session event reason authorization interface template fail"; + } + enum session-event-reason-authz-umbrella-fail { + value 18; + description + "Session event reason authorization umbrella fail"; + } + enum session-event-reason-authz-linksec-fail { + value 19; + description + "Session event reason authorization link security fail"; + } + enum session-event-reason-authz-misc-fail { + value 20; + description + "Session event reason authorization miscellaneous fail"; + } + enum session-event-reason-authz-autoconf-fail { + value 21; + description + "Session event reason authorization autoconf fail"; + } + enum session-event-reason-authz-tag-fail { + value 22; + description + "Session event reason authorization tag fail"; + } + enum session-event-reason-authz-tunnel-fail { + value 23; + description + "Session event reason authorization tunnel fail"; + } + enum session-event-reason-authz-voice-vlan-fail { + value 24; + description + "Session event reason authorization voice VLAN fail"; + } + enum session-event-reason-authz-reauth-fail { + value 25; + description + "Session event reason authorization reauthentication fail"; + } + enum session-event-reason-authz-supplicant-name-fail { + value 26; + description + "Session event reason authorization supplicant name fail"; + } + enum session-event-reason-authz-user-name-fail { + value 27; + description + "Session event reason authorization user name fail"; + } + enum session-event-reason-authz-service-set-id-fail { + value 28; + description + "Session event reason authorization service set id fail"; + } + enum session-event-reason-authz-interim-interval-fail { + value 29; + description + "Session event reason authorization interim interval fail"; + } + enum session-event-reason-authz-unknown-fail { + value 30; + description + "Session event reason authorization unknown fail"; + } + } + description + "Enumeration for session event reason"; + } + + typedef session-eap-method { + type enumeration { + enum session-eap-method-unknown { + value 0; + description + "Session EAP method unknown"; + } + enum session-eap-method-md5 { + value 4; + description + "Session EAP method MD5"; + } + enum session-eap-method-gtc { + value 6; + description + "Session EAP method GTC"; + } + enum session-eap-method-tls { + value 13; + description + "Session EAP method TLS"; + } + enum session-eap-method-leap { + value 17; + description + "Session EAP method LEAP"; + } + enum session-eap-method-peap { + value 25; + description + "Session EAP method PEAP"; + } + enum session-eap-method-mschapv2 { + value 26; + description + "Session EAP method MSCHAPV2"; + } + enum session-eap-method-fast { + value 43; + description + "Session EAP method FAST"; + } + } + description + "Enumeration for EAP method for a session"; + } + + typedef session-auth-method-id { + type enumeration { + enum session-auth-method-no-method-id { + value 0; + description + "Session method ID is none"; + } + enum session-auth-method-dot1x-method-id { + value 1; + description + "Session method ID is DOT1X"; + } + enum session-auth-method-mab-method-id { + value 2; + description + "Session method ID is MAB"; + } + enum session-auth-method-webauth-method-id { + value 3; + description + "Session method ID is Web-Auth"; + } + enum session-auth-method-static-method-id { + value 4; + description + "Session method ID is static"; + } + enum session-auth-method-eou-method-id { + value 5; + description + "Session method ID is EOU"; + } + enum session-auth-method-dot1x-supp-method-id { + value 6; + description + "Session method ID is DOT1X Supplicant"; + } + } + description + "Enumeration for Authentication method type for a session"; + } + + typedef session-security-violation-action { + type enumeration { + enum session-violation-action-shutdown { + value 0; + description + "Session violation action shutdown"; + } + enum session-violation-action-restrict { + value 1; + description + "Session violation action restrict"; + } + enum session-violation-action-protect { + value 2; + description + "Session violation action protect"; + } + enum session-violation-action-replace { + value 3; + description + "Session violation action replace"; + } + } + description + "Enumeration for security violation action"; + } + + typedef session-coa-request-type { + type enumeration { + enum coa-request { + value 32530; + description + "Session COA request"; + } + enum coa-pod-request { + value 32539; + description + "Session COA pod request"; + } + enum coa-bounce-host-port-request { + value 32534; + description + "Session COA bounce host port"; + } + enum coa-disable-host-port-request { + value 32535; + description + "Session COA disable host port"; + } + enum coa-update-service-template-request { + value 32543; + description + "Session COA update service template"; + } + } + description + "Enumeration for COA request type"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-events-oper.yang new file mode 100644 index 000000000..d9fcd39ce --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sm-events-oper.yang @@ -0,0 +1,235 @@ +module Cisco-IOS-XE-sm-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sm-events-oper"; + prefix sm-event-oper; + + import Cisco-IOS-XE-sm-enum-types { + prefix sm-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for session operations events generated from the Cisco Wired + devices. These models may produce high volume of data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved"; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container sm-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added interface name to session event data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping session-authc-success-params { + description + "Parameters sent in case of a authentication SUCCESS event"; + leaf eap-method { + type sm-enum-types:session-eap-method; + description + "EAP method for a dot1x client"; + } + } + + grouping session-authz-success-params { + description + "Parameters sent in case of a authorization SUCCESS event"; + leaf res-vlan-id { + type uint32; + description + "Resultant Vlan ID applied on a session"; + } + leaf res-vlan-name { + type string; + description + "Resultant Vlan name applied on a session"; + } + leaf sgt { + type uint32; + description + "Security Group Tag applied on a session"; + } + leaf eap-method { + type sm-enum-types:session-eap-method; + description + "EAP method for a dot1x client"; + } + } + + grouping session-failure-params { + description + "Parameters sent in case of a FAILURE event"; + leaf failure-reason { + type sm-enum-types:session-event-failure-reason; + description + "Reason for authentication session failure"; + } + leaf failed-attribute { + type string; + description + "Failed Attribute in case of session failure"; + } + } + + grouping session-coa-params { + description + "Parameters sent in case of a COA event"; + leaf coa-req-type { + type sm-enum-types:session-coa-request-type; + description + "COA request type"; + } + } + + grouping session-security-violation-params { + description + "Parameters sent in case of a security violation event"; + leaf security-violation-action { + type sm-enum-types:session-security-violation-action; + description + "Security violation type"; + } + } + + grouping session-event-data { + description + "Wired session lifecycle events data model"; + leaf client-mac { + type yang:mac-address; + description + "Wired Client's MAC Address"; + } + leaf audit-session-id { + type string; + description + "Audit session id of the session"; + } + leaf method-id { + type sm-enum-types:session-auth-method-id; + description + "Authentication method used for the session"; + } + leaf username { + type string; + description + "Client's username for a session"; + } + leaf client-join-time { + type yang:date-and-time; + description + "Client's join time"; + } + leaf server-address { + type inet:ip-address; + description + "IP address for the authentication server"; + } + leaf interface-name { + type string; + description + "Name of the interface connected to client"; + } + choice session-event-choice { + description + "Union of Session Events"; + case session-event-session-authc-success { + container authc-success-params { + description + "Session event result authentication success parameters"; + uses sm-event-oper:session-authc-success-params; + } + } + case session-event-session-authc-failed { + container authc-failure-params { + description + "Session event result authentication failure parameters"; + uses sm-event-oper:session-failure-params; + } + } + case session-event-session-authz-success { + container authz-success-params { + description + "Session event result authorization success parameters"; + uses sm-event-oper:session-authz-success-params; + } + } + case session-event-session-authz-failed { + container authz-failure-params { + description + "Session event result authorization failure parameters"; + uses sm-event-oper:session-failure-params; + } + } + case session-event-policy-update { + container policy-change-params { + description + "Session event policy update parameters"; + uses sm-event-oper:session-authz-success-params; + } + } + case session-event-coa-start { + container coa-params { + description + "Event coa start parameters"; + uses sm-event-oper:session-coa-params; + } + } + case session-event-security-violation { + container security-violation-params { + description + "Event security violation parameters"; + uses sm-event-oper:session-security-violation-params; + } + } + } + } + + notification sessionevent { + description + "Session event Notification"; + uses sm-event-oper:session-event-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-snmp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-snmp.yang new file mode 100644 index 000000000..0282c0253 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-snmp.yang @@ -0,0 +1,5035 @@ +module Cisco-IOS-XE-snmp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-snmp"; + prefix ios-snmp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Simple Network Management Protocol (SNMP) Yang model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for snmp traps for mpls rfc ldp and traffic-eng + - Changed deprecated nodes in or before 17.6 to obsolete + - Added support for flow monitor configuration data + - Added support for snmp and snmp-server commands + - Added support for snmp MIB expression commands + - Added model support for snmp-server trap authentication access-list failure + - Added model support for snmp monitor response + - Deprecated security-level-list and added security-level-list-config and security-level-list-context + - Added model support for snmp-server subagent datastage timeout + - Added model support for snmp MIB expression owner commands + - Obsolete bgp traps that were deprecated before 17.9 + - Deprecated persist container and added persist-config container under snmp mib + - Deprecated persist-enum leaf and introduced new leaves under persist-config + - Added model support for snmp-server file-transfer access-group <> protocol <> + - Added model support for snmp MIB expression owner value type"; + cisco-semver:module-version "9.0.0"; + } + revision 2024-03-01 { + description + "- Added default exact value for match-node + - Added default v1-default value for read-node + - Added invalid value RO and RW for access-list-name node in community-config + - Added leaf nhrp under mib container + - Changed deprecated nodes in or before 17.6 to obsolete, removed relevant entries + - Added support for snmp-server enable trap for LISP"; + cisco-semver:module-version "8.0.0"; + } + revision 2022-11-01 { + description + "- changed the order of engineId and community config node + - added support for SHA-2 snmp v3 user + - Added support for snmp-server sub agent + - Update yang-version to 1.1"; + cisco-semver:module-version "7.2.0"; + } + revision 2022-07-01 { + description + "- Added support snmp-server frame relay trap"; + cisco-semver:module-version "7.1.0"; + } + revision 2022-03-01 { + description + "- Added length constraint for leaf ipv6-acl in access-config + - Added length constraint for leaf view in config-snmp-server-grouping + - Added support snmp-server enable trap for tunnel + - Deprecated snmp-bgp related configurations, now present in bgp yang model. obsolete invalid bgp-conf container"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-11-01 { + description + "- Added length constraint for leaf ipv6 in community-config + - Added tailf:cli-flatten-container and tailf:cli-compact-syntax under flash container + - Added leaf lowspace under flash container + - Added leaf c3g under traps container + - Added leaf LTE under traps container + - Added leaf entity-sensor under traps container + - Added leaf pfr under traps container + - Added leaf count under subif container + - Added leaf interval under subif container + - Added container ip under traps container + - Added container entity-perf under traps container + - Added container entity-qfp under traps container + - Added container diameter under traps container + - Added container sdwan under traps container + - Added container pimstdmib under traps container"; + cisco-semver:module-version "6.2.0"; + } + revision 2021-07-01 { + description + "- Deprecated ospf and ospfv3 under SNMP traps configuration + - Added support for bgp trap state-changes + - Added support for bgp trap cbgp2 + - Added support for bgp trap threshold"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-03-01 { + description + "- moving version and security-level from annotation to yang file. + - Added support for snmp link-status for ATM sub interface + - Added interface Serial to use snmp grouping"; + cisco-semver:module-version "6.0.0"; + } + revision 2020-11-01 { + description + "- Added support for community string encryption. + - Marked existing wireless traps configuration containers as obsolete and introduced new leaves + - Introduced new container for wired guest traps"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-01 { + description + "- Corrected range on packet size + - Reapplied the change in key fields of snmp-server/host"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Deprecated informs-traps-choice + - Added support for IPV6 ACL in snmp group node + - Deprecated access-node used in snmp group node + - Deprecated ipv6 choice in config-access-grouping + - Reverted the change in key fields of snmp-server/host"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Fixed key fields of snmp-server/host + - Added authentication and privacy config for snmp user and isis + - Added smart licensing config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-03 { + description + "Added pki option under snmp-server enable traps"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-06 { + description + "Added encrypted to snmp-server user"; + } + revision 2018-09-04 { + description + "Added snmp traps enable for vdsl and adsl"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-05-09 { + description + "Added auth md5 to snmp-server user"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 40 and 100GE interface addition"; + } + revision 2017-10-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-10-06 { + description + "Move udp-port out of container trap-enable"; + } + revision 2017-08-11 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-access-grouping { + container access-config { + description + "specify an access-list associated with this group"; + leaf ipv6-acl { + description + "Specify IPv6 Named Access-List"; + type string { + length "1..194"; + } + } + choice access-option { + description + "access-list associated with this group"; + leaf standard-acl { + description + "Standard IP Access-list allowing access with this community string"; + type uint32 { + range "1..99"; + } + } + leaf acl-name { + description + "Access-list name"; + type string { + length "1..183"; + } + } + leaf ipv6 { + description + "OBSOLETE Specify IPv6 Named Access-List"; + status obsolete; + type string; + } + } + } + } + + grouping config-priv-grouping { + container priv-config { + description + "encryption parameters for the user"; + choice priv-option { + description + "encryption choice for the user"; + container aes { + description + "Use AES algorithm for encryption"; + presence "true"; + leaf algorithm { + mandatory true; + type enumeration { + enum 128; + enum 192; + enum 256; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + container des { + description + "Use 56 bit DES algorithm for encryption"; + presence "true"; + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + container des3 { + description + "Use 168 bit 3DES algorithm for encryption"; + presence "true"; + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-access-grouping; + } + } + } + } + + grouping config-auth-grouping { + container auth { + status obsolete; + leaf authpass { + status obsolete; + description + "OBSOLETE authentication password for user"; + type string; + } + container priv { + description + "encryption parameters for the user"; + status obsolete; + container aes { + description + "Use AES algorithm for encryption"; + status obsolete; + container algo128 { + description + "Use 128 bit AES algorithm for encryption"; + status obsolete; + container privpass { + status obsolete; + leaf privpass { + status obsolete; + description + "OBSOLETE privacy password for user"; + type string; + } + leaf access { + description + "OBSOLETE Access-list name"; + status obsolete; + type string; + } + } + } + } + } + } + } + + grouping config-host-attribute-grouping { + container trap-enable { + leaf aaa_server { + description + "Allow SNMP AAA traps"; + type empty; + } + leaf alarms { + description + "Allow SNMP alarms traps"; + type empty; + } + leaf atm { + description + "Allow SNMP atm traps"; + type empty; + } + leaf bfd { + description + "Allow SNMP BFD traps"; + type empty; + } + leaf bgp { + description + "Allow BGP state change traps"; + type empty; + } + leaf bstun { + description + "Allow bstun event traps"; + type empty; + } + leaf bulkstat { + description + "Allow Data-Collection-MIB traps"; + type empty; + } + leaf call-home { + description + "Allow SNMP CISCO-CALLHOME-MIB traps"; + type empty; + } + leaf casa { + description + "Allow casa event traps"; + type empty; + } + leaf cef { + description + "Allows cef traps"; + type empty; + } + leaf cnpd { + description + "Allow NBAR Protocol Discovery traps"; + type empty; + } + leaf config { + description + "Allow SNMP config traps"; + type empty; + } + leaf config-copy { + description + "Allow SNMP config-copy traps"; + type empty; + } + leaf config-ctid { + description + "Allow SNMP config-ctid traps"; + type empty; + } + leaf cpu { + description + "Allow cpu related traps"; + type empty; + } + leaf dhcp { + description + "Allow dhcp traps"; + type empty; + } + leaf dlsw { + description + "Allow dlsw traps"; + type empty; + } + leaf ds1 { + description + "Allow SNMP ds1 traps"; + type empty; + } + leaf dsp { + description + "Allow SNMP DSP traps"; + type empty; + } + leaf dspu { + description + "Allow dspu event traps"; + type empty; + } + leaf eigrp { + description + "Allow SNMP EIGRP traps"; + type empty; + } + leaf entity { + description + "Allow SNMP entity traps"; + type empty; + } + leaf entity-diag { + description + "Allow SNMP CISCO-ENTITY-DIAG-MIB traps"; + type empty; + } + leaf entity-qfp { + description + "Allow SNMP CISCO-ENTITY-QFP-MIB traps"; + type empty; + } + leaf entity-state { + description + "Allow ENTITY-STATE-MIB traps"; + type empty; + } + leaf ethernet-cfm { + description + "Allow SNMP Ethernet CFM traps"; + type empty; + } + leaf evc { + description + "Allow SNMP EVC traps"; + type empty; + } + leaf event-manager { + description + "Allow SNMP Embedded Event Manager traps"; + type empty; + } + leaf firewall { + description + "Allow SNMP Firewall traps"; + type empty; + } + leaf flash { + description + "Allow SNMP FLASH traps"; + type empty; + } + leaf flowmon { + description + "Allow SNMP flow monitor notifications"; + type empty; + } + leaf frame-relay { + description + "Allow SNMP frame-relay traps"; + type empty; + } + leaf fru-ctrl { + description + "Allow entity FRU control traps"; + type empty; + } + leaf gdoi { + description + "Allows gdoi traps"; + type empty; + } + leaf hsrp { + description + "Allow SNMP HSRP traps"; + type empty; + } + leaf iplocalpool { + description + "Allow SNMP IP Local Pool traps"; + type empty; + } + leaf ipmulticast { + description + "Allow SNMP ipmulticast traps"; + type empty; + } + leaf ipsec { + description + "Allow SNMP IPsec traps"; + type empty; + } + leaf ipsla { + description + "Allow SNMP Host IP SLA traps"; + type empty; + } + leaf isakmp { + description + "Allow SNMP ISAKMP traps"; + type empty; + } + leaf isg-mib { + description + "Allow SNMP isgmib traps"; + type empty; + } + leaf isis { + description + "Allow IS-IS traps"; + type empty; + } + leaf l2tun-pseudowire-status { + description + "Allow SNMP L2 pseudowire status traps"; + type empty; + } + leaf l2tun-session { + description + "Allow SNMP L2 session traps"; + type empty; + } + leaf license { + description + "Allow license traps"; + type empty; + } + leaf memory { + description + "Allow SNMP Mempool traps"; + type empty; + } + leaf mpls-fast-reroute { + description + "Allow SNMP MPLS traffic engineering fast reroute traps"; + type empty; + } + leaf mpls-ldp { + description + "Allow SNMP MPLS label distribution protocol traps"; + type empty; + } + leaf mpls-traffic-eng { + description + "Allow SNMP MPLS traffic engineering traps"; + type empty; + } + leaf mpls-vpn { + description + "Allow SNMP MPLS Virtual Private Network traps"; + type empty; + } + leaf msdp { + description + "Allow SNMP MSDP traps"; + type empty; + } + leaf mvpn { + description + "Allow Multicast Virtual Private Network traps"; + type empty; + } + leaf nhrp { + description + "Allow SNMP NHRP traps"; + type empty; + } + leaf ospf { + description + "Allow OSPF traps"; + type empty; + } + leaf ospfv3 { + description + "Allow OSPFv3 traps"; + type empty; + } + leaf pfr { + description + "Allow SNMP PfR traps"; + type empty; + } + leaf pim { + description + "Allow SNMP PIM traps"; + type empty; + } + leaf pw-vc { + description + "Allow SNMP Pseudowire VC traps"; + type empty; + } + leaf resource-policy { + description + "Enable CISCO-ERM-MIB notifications"; + type empty; + } + leaf rf { + description + "Allow all SNMP traps defined in CISCO-RF-MIB"; + type empty; + } + leaf rsrb { + description + "Allow rsrb event traps"; + type empty; + } + leaf rsvp { + description + "Allow RSVP flow change traps"; + type empty; + } + leaf sdlc { + description + "Allow sdlc event traps"; + type empty; + } + leaf sdllc { + description + "Allow sdllc event traps"; + type empty; + } + leaf snmp { + description + "Allow SNMP-type notifications"; + type empty; + } + leaf sonet { + description + "Allow SNMP SONET traps"; + type empty; + } + leaf srp { + description + "Allow SRP protocol traps"; + type empty; + } + leaf stun { + description + "Allow stun event traps"; + type empty; + } + leaf syslog { + description + "Allow SNMP syslog traps"; + type empty; + } + leaf trustsec-sxp { + description + "Allow SNMP CISCO-TRUSTSEC-SXP-MIB traps"; + type empty; + } + leaf tty { + description + "Allow TCP connection traps"; + type empty; + } + leaf voice { + description + "Allow SNMP Voice traps"; + type empty; + } + leaf vrfmib { + description + "Allow SNMP vrfmib traps"; + type empty; + } + leaf vrrp { + description + "Allow SNMP vrrp traps"; + type empty; + } + leaf x25 { + description + "Allow x25 event traps"; + type empty; + } + } + } + + grouping snmp-server-trap-bgp-grouping { + container state-changes { + status obsolete; + description + "State change traps (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + leaf-list suboptions { + status obsolete; + max-elements 3; + type enumeration { + enum all { + description + "CISCO specific trap for all fsm state changes (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + } + enum backward-trans { + description + "CISCO specific trap for backward transition (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + } + enum limited { + description + "Trap for standard backward transition and established (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + } + enum updown-limited { + description + "Like limited, but only session goes to Established or comes from Established state (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + } + } + } + leaf enable-all-traps { + status obsolete; + description + "Traps for FSM state changes (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + must '(enable-all-traps and not (suboptions)) or (not (enable-all-traps) and not (suboptions)) or (not (enable-all-traps) and suboptions)' { + error-message "Cannot configure enable-all-traps and a specific trap. In order to enable a specific trap, delete enable-all-traps. Likewise, in order to configure enable-all-traps, delete all specific traps"; + } + } + leaf cbgp2 { + status obsolete; + description + "Enable BGP MIBv2 traps (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + container threshold { + status obsolete; + description + "Traps for threshold events (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + leaf prefix { + status obsolete; + description + "CISCO specific trap for prefix threshold events (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + type empty; + } + } + } + + grouping config-snmp-server-grouping { + leaf chassis-id { + description + "String to uniquely identify this chassis"; + type string; + } + container engineID { + description + "Configure a local or remote SNMPv3 engineID"; + leaf local { + description + "engineID of the local agent"; + type string { + length "10..64"; + pattern '[0-9a-fA-F]*'; + } + } + container remote-conf { + description + "engineID of the remote agent"; + list host-list { + key "ip-address"; + leaf ip-address { + description + "Hostname or IP/IPv6 address of SNMP notification host"; + type ios-types:host-type; + } + uses engine-id-group; + } + list host-vrf-list { + key "ip-address"; + leaf ip-address { + description + "Hostname or IP/IPv6 address of SNMP notification host"; + type ios-types:host-type; + } + uses vrf-engine-id; + } + list host-udp-list { + key "ip-address"; + leaf ip-address { + description + "Hostname or IP/IPv6 address of SNMP notification host"; + type ios-types:host-type; + } + uses udp-port-engine; + } + list host-udp-vrf-list { + key "ip-address"; + leaf ip-address { + description + "Hostname or IP/IPv6 address of SNMP notification host"; + type ios-types:host-type; + } + uses udp-port-vrf-engine; + } + } + container remote { + status obsolete; + } + } + list community-config { + description + "Enable SNMP; set community string and access privs"; + key "name"; + leaf name { + type string; + } + leaf encryption { + description + "Specifies an encryption type"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf view { + description + "Restrict this community to a named MIB view"; + type string { + length "1..214"; + } + } + leaf permission { + when '../name'; + type enumeration { + enum ro; + enum rw; + } + default "ro"; + } + leaf ipv6 { + description + "Specify IPv6 Named Access-List"; + type string { + length "1..219"; + } + } + leaf access-list-name { + description + "Access-list name"; + type ios-types:std-acl-type; + } + } + list community { + status obsolete; + description + "Enable SNMP; set community string and access privs"; + key "name"; + leaf name { + status obsolete; + type string; + } + leaf view { + status obsolete; + description + "OBSOLETE Restrict this community to a named MIB view"; + type string; + } + choice access-choice { + leaf RO { + status obsolete; + description + "OBSOLETE Read-only access with this community string"; + type empty; + } + leaf RW { + status obsolete; + description + "OBSOLETE Read-write access with this community string"; + type empty; + } + } + leaf ipv6 { + status obsolete; + description + "OBSOLETE Specify IPv6 Named Access-List"; + type string; + } + leaf access-list-name { + status obsolete; + description + "OBSOLETE Access-list name"; + type ios-types:std-acl-type; + } + } + leaf contact { + description + "Text for mib object sysContact"; + type string; + } + list context { + description + "Create/Delete a context apart from default"; + key "name"; + leaf name { + type string; + } + } + container dbal { + description + "SNMP database access layer"; + leaf cache { + description + "SNMP DBAL cache"; + type boolean; + default "false"; + } + } + container enable { + description + "Enable SNMP Traps or Informs"; + container enable-choice { + container logging { + description + "Enable SNMP logging"; + leaf getop { + description + "Enable SNMP GET Operation logging"; + type boolean; + default "false"; + } + leaf setop { + description + "Enable SNMP SET Operation logging"; + type boolean; + default "true"; + } + } + leaf informs { + description + "Enable SNMP Informs"; + type empty; + } + container traps { + description + "Enable SNMP Traps"; + presence "true"; + leaf aaa_server { + description + "Enable SNMP AAA Server traps"; + type empty; + } + leaf vdsl2line { + description + "Enable VDSL2 Line-MIB traps"; + type empty; + } + leaf adslline { + description + "Enable ADSL Line-MIB traps"; + type empty; + } + container trustsec-sxp { + description + "Enable SNMP CISCO-TRUSTSEC-SXP-MIB traps"; + presence "true"; + leaf binding-conflict { + type empty; + } + leaf binding-err { + type empty; + } + leaf binding-expn-fail { + type empty; + } + leaf conn-config-err { + type empty; + } + leaf conn-down { + type empty; + } + leaf conn-srcaddr-err { + type empty; + } + leaf conn-up { + type empty; + } + leaf msg-parse-err { + type empty; + } + leaf oper-nodeid-change { + type empty; + } + } + container vswitch { + description + "Enable SNMP Virtual Switch notifications"; + presence "true"; + container dual-active { + description + "Enable SNMP Virtual Switch (Dual Active) notification"; + presence "true"; + leaf vsl { + description + "Enable SNMP Virtual Switch Link (VSL) notification"; + type empty; + } + } + } + container trustsec-server { + description + "Enable SNMP CISCO-TRUSTSEC-SERVER-MIB traps"; + presence "true"; + container radius-server { + description + "Enable ctsvNoRadiusServerNotif notification"; + presence "true"; + leaf provision-secret { + description + "Enable ctsvNoProvisionSecretNotif notification"; + type empty; + } + } + } + container trustsec { + description + "Enable SNMP CISCO-TRUSTSEC-MIB traps"; + presence "true"; + container authz-file-error { + description + "Enable ctsAuthzCacheFileErrNotif notifications"; + presence "true"; + container cache-file-error { + description + "Enable ctsCacheFileAccessErrNotif notifications"; + presence "true"; + container keystore-file-error { + description + "Enable ctsSwKeystoreFileErrNotif notifications"; + presence "true"; + container keystore-sync-fail { + description + "Enable ctsSwKeystoreSyncFailNotif notifications"; + presence "true"; + container random-number-fail { + description + "Enable ctsSapRandonNumberFailNotif notifications"; + presence "true"; + leaf src-entropy-fail { + description + "Enable ctsSrcEntropyFailNotif notifications"; + type empty; + } + } + } + } + } + } + } + container trustsec-interface { + description + "Enable SNMP CISCO-TRUSTSEC-INTERFACE-MIB traps"; + presence "true"; + container unauthorized { + description + "Enable ctsiIfUnauthorizedNotifEnable trap"; + presence "true"; + container sap-fail { + description + "Enable ctsiIfSapNegotiationFailNotif trap"; + presence "true"; + container authc-fail { + description + "Enable ctsiIfAuthenticationFailNotif trap"; + presence "true"; + container supplicant-fail { + description + "Enable ctsiIfAddSupplicantFailNotif trap"; + presence "true"; + leaf authz-fail { + description + "Enable ctsiAuthorizationFailNotif trap"; + type empty; + } + } + } + } + } + } + container trustsec-policy { + description + "Enable SNMP CISCO-TRUSTSEC-POLICY-MIB traps"; + presence "true"; + container peer-policy-updated { + description + "Enable ctspPeerPolicyUpdatedNotif notifications"; + presence "true"; + leaf authz-sgacl-fail { + description + "Enable ctspAuthorizationSgaclFailNotif notifications"; + type empty; + } + } + } + container ospfv3 { + status deprecated; + description + "Enable OSPFv3 traps"; + leaf state-change { + status deprecated; + description + "State change traps"; + type empty; + } + leaf errors { + status deprecated; + description + "Error traps"; + type empty; + } + } + container ike { + description + "Enable IKE traps"; + container policy { + description + "Enable IKE Policy traps"; + leaf add { + description + "Enable IKE Policy add trap"; + type empty; + } + leaf delete { + description + "Enable IKE Policy delete trap"; + type empty; + } + } + container tunnel { + description + "Enable IKE Tunnel traps"; + leaf start { + description + "Enable IKE Tunnel start trap"; + type empty; + } + leaf stop { + description + "Enable IKE Tunnel stop trap"; + type empty; + } + } + } + leaf pki { + description + "Enable SNMP PKI Traps"; + type empty; + } + leaf local-auth { + description + "Enable SNMP local auth traps"; + type empty; + } + container alarms { + description + "Enable SNMP alarms traps"; + presence "true"; + leaf alarm-type { + type union { + type uint8 { + range "1..4"; + } + type enumeration { + enum critical; + enum informational; + enum major; + enum minor; + } + } + } + } + container atm { + description + "Enable SNMP atm traps"; + container pvc { + description + "Enable SNMP atm pvc traps"; + presence "true"; + container extension { + description + "Enable SNMP atm pvc extension traps"; + leaf down { + description + "Enable SNMP atm pvc extended down trap"; + type empty; + } + leaf up { + description + "Enable SNMP atm pvc extended up traps"; + type empty; + } + leaf mibversion { + description + "Extension MIB version to be used"; + type enumeration { + enum 1; + enum 2; + } + } + container oam { + description + "Enable SNMP atm pvc extended oam trap"; + container failure { + description + "Enable SNMP atm pvc extended any oam failure trap"; + leaf loopback { + description + "Enable SNMP atm pvc extended oam loopback failure trap"; + type empty; + } + } + } + } + leaf interval { + description + "minimum period between successive traps"; + type uint16 { + range "1..3600"; + } + } + leaf fail-interval { + description + "minimum period for storing the failed timestamp"; + type uint16 { + range "0..3600"; + } + } + } + container subif { + description + "Enable SNMP atm subinterface traps"; + presence "true"; + leaf interval { + description + "Interval duration in which to limit the number of traps sent"; + type uint16 { + range "0..3600"; + } + } + leaf count { + description + "Maximum number of traps sent per interval"; + type uint16 { + range "1..1000"; + } + } + } + } + leaf authenticate-fail { + description + "Enable SNMP 802.11 Authentication Fail Trap"; + type empty; + } + container auth-framework { + presence "true"; + leaf sec-violation { + type empty; + } + } + leaf bfd { + type empty; + } + container bgp-conf { + status obsolete; + leaf cbgp2 { + status obsolete; + description + "Enable BGP MIBv2 traps"; + type empty; + } + } + container bgp-traps { + status obsolete; + description + "Enable BGP traps (OBSOLETE - please use snmp configuration in Cisco-IOS-XE-bgp.yang)"; + presence "true"; + uses snmp-server-trap-bgp-grouping; + } + leaf bgp { + status obsolete; + description + "Allow BGP state change traps (OBSOLETE)"; + type empty; + } + container bridge { + presence "true"; + leaf newroot { + type empty; + } + leaf topologychange { + type empty; + } + } + leaf bstun { + description + "Enable SNMP BSTUN traps"; + type empty; + } + container bulkstat { + description + "Enable Data-Collection-MIB Collection notifications"; + presence "true"; + leaf collection { + description + "Enable Data-Collection-MIB Collection notifications"; + type empty; + } + leaf transfer { + description + "Enable Data-Collection-MIB Transfer notifications"; + type empty; + } + } + container call-home { + description + "Enable CISCO-CALLHOME-MIB traps"; + presence "true"; + leaf message-send-fail { + type empty; + } + leaf server-fail { + type empty; + } + } + leaf c2900 { + description + "Enable SNMP c2900 traps"; + type empty; + } + leaf c3g { + description + "Allow SNMP c3g traps"; + type empty; + } + container c6kxbar { + description + "Enable SNMP CISCO-CAT6K-CROSSBAR-MIB traps"; + presence "true"; + leaf intbus-crcexcd { + description + "Enable SNMP cc6kxbarIntBusCRCErrExcdNotif notification"; + type empty; + } + leaf intbus-crcrcvrd { + description + "Enable SNMP cc6kxbarIntBusCRCErrRcvrdNotif notification"; + type empty; + } + leaf swbus { + description + "Enable SNMP cc6kxbarSwBusStatusChangeNotif notification"; + type empty; + } + } + leaf casa { + description + "Enable SNMP casa traps"; + type empty; + } + leaf ccme { + type empty; + } + container cef { + leaf resource-failure { + type empty; + } + leaf peer-state-change { + type empty; + } + leaf peer-fib-state-change { + type empty; + } + leaf inconsistency { + type empty; + } + } + leaf cluster { + description + "Enable Cluster traps"; + type empty; + } + leaf channel { + description + "Enable SNMP channel traps"; + type empty; + } + leaf chassis { + description + "Enable SNMP chassis traps"; + type empty; + } + leaf cnpd { + description + "Enable NBAR Protocol Discovery traps"; + type empty; + } + leaf config { + description + "Enable SNMP config traps"; + type empty; + } + leaf copy-config { + description + "Enable SNMP copy-config traps"; + type empty; + } + leaf config-copy { + description + "Enable SNMP config-copy traps"; + type empty; + } + leaf config-ctid { + type empty; + } + container cpu { + description + "Allow cpu related traps"; + presence "true"; + leaf threshold { + description + "Allow CPU utilization threshold violation traps"; + type empty; + } + } + leaf cpu_threshold { + description + "Enables CPU threshold notifications"; + type empty; + } + container csg { + description + "Enable SNMP CSG traps"; + presence "true"; + leaf agent { + description + "Enable SNMP Agent Server traps"; + type empty; + } + leaf database { + description + "Enable SNMP CSG database traps"; + type empty; + } + leaf quota-server { + description + "Enable SNMP Quota Server traps"; + type empty; + } + } + leaf dial { + description + "Enable SNMP dial control traps"; + type empty; + } + leaf director { + description + "Enable SNMP Distributed Director traps"; + type empty; + } + leaf dlsw { + description + "Enable SNMP dlsw traps"; + type empty; + } + leaf deauthenticate { + description + "Enable SNMP 802.11 Deauthentication Trap"; + type empty; + } + leaf disassociate { + description + "Enable SNMP 802.11 Disassociation Trap"; + type empty; + } + leaf dnis { + description + "Enable SNMP DNIS traps"; + type empty; + } + leaf dot11-qos { + description + "Enable SNMP 802.11 QoS Change Trap"; + type empty; + } + container diameter { + description + "Enable DIAMETER notifications"; + presence "true"; + leaf peer-down { + description + "Allow Diameter peer-down traps"; + type empty; + } + leaf peer-up { + description + "Allow Diameter peer-up traps"; + type empty; + } + leaf permanent-failure { + description + "Allow Diameter Permanent Failure traps"; + type empty; + } + leaf protocol-error { + description + "Allow Diameter Protocol Error traps"; + type empty; + } + leaf transient-failure { + description + "Allow Diameter Transient Failure traps"; + type empty; + } + } + container dot1x { + leaf auth-fail-vlan { + type empty; + } + leaf guest-vlan { + type empty; + } + leaf no-auth-fail-vlan { + type empty; + } + leaf no-guest-vlan { + type empty; + } + } + leaf ds0-busyout { + description + "Enable ds0-busyout traps"; + type empty; + } + leaf ds1 { + description + "Enable SNMP DS1 traps"; + type empty; + } + leaf ds1-loopback { + description + "Enable ds1-loopback traps"; + type empty; + } + leaf ds3 { + description + "Enable SNMP DS3 traps"; + type empty; + } + container dsp { + description + "Enable SNMP dsp traps"; + presence "true"; + leaf card-status { + description + "Enable SNMP card status of dsp traps"; + type empty; + } + leaf oper-state { + type empty; + } + } + leaf dhcp { + description + "Enable SNMP dhcp traps"; + type empty; + } + leaf eigrp { + description + "Enable SNMP EIGRP traps"; + type empty; + } + container energywise { + presence "true"; + leaf event-occured { + type empty; + } + leaf level-change { + type empty; + } + leaf neighbor-added { + type empty; + } + leaf neighbor-deleted { + type empty; + } + } + leaf entity { + description + "Enable SNMP entity traps"; + type empty; + } + container entity-diag { + description + "Enable SNMP CISCO-ENTITY-DIAG-MIB traps"; + presence "true"; + leaf boot-up-fail { + description + "Enable SNMP ceDiagBootUpFailedNotif traps"; + type empty; + } + leaf hm-test-recover { + description + "Enable SNMP ceDiagHMTestRecoverNotif traps"; + type empty; + } + leaf hm-thresh-reached { + description + "Enable SNMP ceDiagHMThresholdReachedNotif traps"; + type empty; + } + leaf scheduled-test-fail { + description + "Enable SNMP ceDiagScheduledTestFailedNotif traps"; + type empty; + } + } + leaf entity-sensor { + description + "Enable SNMP entity-sensor traps"; + type empty; + } + leaf entity-state { + description + "Allow SNMP entity-state traps"; + type empty; + } + container entity-perf { + description + "Enable SNMP ENTITY-PERF traps"; + presence "true"; + leaf throughput-notif { + description + "Enable ENTITY PERFORMANCE MIB throughput traps"; + type empty; + } + } + container entity-qfp { + description + "Enable SNMP ENTITY-QFP notifications"; + presence "true"; + leaf mem-res-thresh { + description + "Enable SNMP ENTITY-QFP MEM-RES-THRESH notifications"; + type empty; + } + leaf throughput-notif { + description + "Enable SNMP ENTITY-QFP THROUGHPUT-NOTIF notifications"; + type empty; + } + } + container envmon { + description + "Enable SNMP environmental monitor traps"; + presence "true"; + leaf fan { + type empty; + } + leaf shutdown { + type empty; + } + leaf supply { + type empty; + } + leaf temperature { + type empty; + } + leaf status { + type empty; + } + } + container errdisable { + description + "Enable SNMP errdisable notifications"; + presence "true"; + leaf notification-rate { + description + "Number of notifications per minute"; + type uint16 { + range "0..10000"; + } + } + } + leaf ether-oam { + type empty; + } + container ethernet { + container cfm { + leaf alarm { + description + "Enable SNMP Ethernet CFM fault alarm trap"; + type empty; + } + container cc { + presence "true"; + leaf config { + type empty; + } + leaf cross-connect { + type empty; + } + leaf loop { + type empty; + } + leaf mep-down { + type empty; + } + leaf mep-up { + type empty; + } + } + container crosscheck { + presence "true"; + leaf mep-missing { + type empty; + } + leaf mep-unknown { + type empty; + } + leaf service-up { + type empty; + } + } + } + container evc { + description + "Enable SNMP Ethernet EVC traps"; + presence "true"; + leaf create { + description + "Enable SNMP Ethernet EVC create traps"; + type empty; + } + leaf delete { + description + "Enable SNMP Ethernet EVC delete traps"; + type empty; + } + leaf status { + description + "Enable SNMP Ethernet EVC status traps"; + type empty; + } + } + } + leaf event-manager { + description + "Enable SNMP Embedded Event Manager traps"; + type empty; + } + container firewall { + presence "true"; + leaf serverstatus { + type empty; + } + } + container flash { + description + "Enable SNMP FLASH notifications"; + presence "true"; + leaf insertion { + description + "Enable SNMP Flash Insertion notifications"; + type empty; + } + leaf removal { + description + "Enable SNMP Flash Removal notifications"; + type empty; + } + leaf lowspace { + description + "Enable SNMP Flash Lowspace notifications"; + type empty; + } + } + leaf flowmon { + description + "Enable SNMP flowmon notifications"; + type empty; + } + container flex-links { + description + "Enable SNMP FLEX Links traps"; + presence "true"; + leaf status { + description + "Enable SNMP FLEX Links status change traps"; + type empty; + } + } + container frame-relay-config { + container only-frame-relay { + leaf frame-relay { + type empty; + } + } + container frame-relay-options { + container frame-relay { + container multilink { + description + "Enable MFR traps"; + leaf bundle-mismatch { + description + "Enable MFR trap for inconsistent bundle event"; + type empty; + } + } + container subif-configs { + description + "Enable SNMP frame-relay subinterface traps"; + leaf subif { + type empty; + } + leaf interval { + description + "Interval duration in which to limit the number of traps sent"; + when '../subif'; + type uint16 { + range "1..3600"; + } + default "10"; + } + leaf count { + description + "Maximum number of traps sent per interval"; + when '../subif'; + type uint16 { + range "1..1000"; + } + default "10"; + } + } + } + } + } + container frame-relay { + status deprecated; + description + "Enable SNMP frame-relay traps"; + presence "true"; + container multilink { + status deprecated; + description + "Enable MFR traps"; + leaf bundle-mismatch { + status deprecated; + description + "Enable MFR trap for inconsistent bundle event"; + type empty; + } + } + container subif { + status deprecated; + description + "Enable SNMP frame-relay subinterface traps"; + presence "true"; + leaf count { + status deprecated; + description + "Maximum number of traps sent per interval"; + type uint16 { + range "1..1000"; + } + default "10"; + } + leaf interval { + status deprecated; + description + "Interval duration in which to limit the number of traps sent"; + type uint16 { + range "1..3600"; + } + default "10"; + } + } + } + leaf fru-ctrl { + description + "Enable SNMP entity FRU control traps"; + type empty; + } + leaf gatekeeper { + description + "Enable SNMP gatekeeper traps"; + type empty; + } + leaf hsrp { + description + "Enable SNMP HSRP traps"; + type empty; + } + leaf icsudsu { + description + "Enable SNMP ICSUDSU traps"; + type empty; + } + leaf ima { + description + "Enable SNMP ATM IMA traps"; + type empty; + } + container ip { + description + "Enable SNMP IP traps"; + container local { + description + "Enable SNMP IP LOCAL traps"; + leaf pool { + description + "Enable SNMP IP LOCAL POOL traps"; + type empty; + } + } + } + leaf ipmobile { + description + "Enable SNMP ipmobile traps"; + type empty; + } + leaf ipmulticast { + description + "Enable SNMP ipmulticast traps"; + type empty; + } + container ipsec { + description + "Enable IPsec traps"; + container cryptomap { + leaf add { + description + "Enable IPsec Cryptomap add trap"; + type empty; + } + leaf attach { + description + "Enable IPsec Cryptomap Attach trap"; + type empty; + } + leaf delete { + description + "Enable IPsec Cryptomap delete trap"; + type empty; + } + leaf detach { + description + "Enable IPsec Cryptomap Detach trap"; + type empty; + } + } + container tunnel { + description + "Enable IPsec Tunnel traps"; + leaf start { + description + "Enable IPsec Tunnel Start trap"; + type empty; + } + leaf stop { + description + "Enable IPsec Tunnel Stop trap"; + type empty; + } + } + leaf too-many-sas { + description + "Enable IPsec Tunnel Start trap"; + type empty; + } + } + container isakmp { + description + "Enable ISAKMP traps traps"; + container policy { + description + "Enable ISAKMP traps"; + leaf add { + description + "Enable ISAKMP Policy add trap"; + type empty; + } + leaf delete { + description + "Enable ISAKMP Policy delete trap"; + type empty; + } + } + container tunnel { + description + "Enable ISAKMP Tunnel traps"; + leaf start { + description + "Enable ISAKMP Tunnel start trap"; + type empty; + } + leaf stop { + description + "Enable ISAKMP Tunnel stop trap"; + type empty; + } + } + } + container isdn { + description + "Enable SNMP isdn traps"; + presence "true"; + leaf call-information { + description + "Enable SNMP isdn call information traps"; + type empty; + } + leaf chan-not-avail { + description + "Enable SNMP isdn channel not avail traps"; + type empty; + } + leaf ietf { + description + "Enable SNMP isdn ietf traps"; + type empty; + } + leaf layer2 { + description + "Enable SNMP isdn layer2 transition traps"; + type empty; + } + } + leaf ipsla { + description + "Enable IPSLA traps traps"; + type empty; + } + leaf isis { + description + "Enable ISIS traps traps"; + type empty; + } + container l2tc { + description + "Enable SNMP L2 Tunnel Config traps"; + presence "true"; + leaf sys-threshold { + description + "Enable SNMP L2TC System threshold traps"; + type empty; + } + leaf threshold { + description + "Enable SNMP L2 Tunnel Config threshold traps"; + type empty; + } + } + container l2tun { + description + "Enable SNMP L2 tunnel protocol traps"; + leaf session { + description + "Enable SNMP l2tun session traps"; + type empty; + } + leaf tunnel { + description + "Enable SNMP l2tun tunnel traps"; + type empty; + } + container pseudowire { + leaf status { + type empty; + } + } + } + leaf LTE { + description + "Allow SNMP LTE traps"; + type empty; + } + container license { + description + "Enable license traps"; + presence "true"; + leaf deploy { + description + "Enable license deployment traps"; + type empty; + } + leaf error { + description + "Enable license error traps"; + type empty; + } + leaf usage { + description + "Enable license usage traps"; + type empty; + } + } + leaf lisp { + description + "Allow SNMP LISP MIB traps"; + type empty; + } + container mac-notification { + description + "Enable SNMP MAC Notification traps"; + presence "true"; + leaf change { + description + "Enable SNMP Change traps"; + type empty; + } + leaf move { + description + "Enable SNMP Move traps"; + type empty; + } + leaf threshold { + description + "Enable SNMP Threshold traps"; + type empty; + } + } + container mac-notification2 { + description + "Enable SNMP MAC Notification traps"; + presence "true"; + leaf change { + description + "Enable SNMP Change traps"; + type empty; + } + leaf move { + description + "Enable SNMP Move traps"; + type empty; + } + leaf threshold { + description + "Enable SNMP Threshold traps"; + type empty; + } + } + container memory { + description + "Enable SNMP Memory traps"; + presence "true"; + leaf bufferpeak { + description + "Enable SNMP Memory Bufferpeak traps"; + type empty; + } + } + leaf module { + description + "Enable SNMP module traps"; + type empty; + } + container mpls { + description + "Enable SNMP MPLS traps"; + presence "true"; + container traffic-eng { + description + "Allow SNMP MPLS traffic engineering traps"; + presence "true"; + leaf up { + description + "Enable MPLS TE tunnel up traps"; + type empty; + } + leaf down { + description + "Enable MPLS TE tunnel down traps"; + type empty; + } + leaf reroute { + description + "Enable MPLS TE tunnel reroute traps"; + type empty; + } + } + container fast-reroute { + description + "Allow SNMP MPLS fast reroute traps"; + presence "true"; + leaf protected { + description + "Enable MPLS fast reroute protection traps"; + type empty; + } + } + container rfc { + description + "Enable SNMP MPLS RFC traps"; + presence "true"; + leaf ldp { + description + "Allow SNMP MPLS label distribution protocol RFC traps"; + type empty; + } + leaf traffic-eng { + description + "Allow SNMP MPLS traffic engineering traps"; + type empty; + } + } + container ldp { + description + "Allow SNMP MPLS label distribution protocol traps"; + presence "true"; + leaf pv-limit { + description + "Enable MPLS LDP path vector limit mismatch traps"; + type empty; + } + leaf session-down { + description + "Enable MPLS LDP session down traps"; + type empty; + } + leaf session-up { + description + "Enable MPLS LDP session up traps"; + type empty; + } + leaf threshold { + description + "Enable MPLS LDP threshold exceeded traps"; + type empty; + } + } + leaf vpn { + description + "Allow SNMP MPLS Virtual Private Network traps"; + type empty; + } + } + leaf msdp { + description + "Enable SNMP MSDP traps"; + type empty; + } + leaf mvpn { + description + "Enable Multicast Virtual Private Networks traps"; + type empty; + } + container nhrp { + status deprecated; + presence "true"; + container nhs { + status deprecated; + presence "true"; + } + container nhc { + status deprecated; + presence "true"; + } + container nhp { + status deprecated; + presence "true"; + } + container quota-exceeded { + status deprecated; + presence "true"; + } + } + container ospf { + status deprecated; + description + "Enable OSPF traps"; + container state-change { + status deprecated; + description + "State change traps"; + presence "true"; + leaf if-state-change { + status deprecated; + description + "Non-virtual interface state changes"; + type empty; + } + leaf neighbor-state-change { + status deprecated; + description + "Non-virtual neighbor state changes"; + type empty; + } + leaf virtif-state-change { + status deprecated; + description + "Virtual interface state changes"; + type empty; + } + leaf virtneighbor-state-change { + status deprecated; + description + "Non-virtual neighbor state changes"; + type empty; + } + } + container errors { + description + "Error traps"; + status deprecated; + presence "true"; + } + container retransmit { + description + "Packet retransmit traps"; + status deprecated; + presence "true"; + leaf packets { + status deprecated; + description + "Packet retransmission on non-virtual interfaces"; + type empty; + } + leaf virt-packets { + status deprecated; + description + "Packet retransmission on virtual interfaces"; + type empty; + } + } + container lsa { + status deprecated; + description + "Lsa related traps"; + presence "true"; + leaf lsa-maxage { + status deprecated; + description + "Lsa aged to maxage"; + type empty; + } + leaf lsa-originate { + status deprecated; + description + "New lsa originated"; + type empty; + } + } + container cisco-specific { + status deprecated; + description + "Cisco specific traps"; + presence "true"; + container state-change { + status deprecated; + description + "State change traps"; + presence "true"; + leaf nssa-trans-change { + status deprecated; + description + "Nssa translator state changes"; + type empty; + } + container shamlink { + status deprecated; + description + "Sham link state change traps"; + presence "true"; + leaf interface { + status deprecated; + description + "Sham link interface state changes"; + type empty; + } + leaf interface-old { + status deprecated; + description + "Sham link interface state changes (deprecated)"; + type empty; + } + leaf neighbor { + status deprecated; + description + "Sham link neighbor state changes"; + type empty; + } + } + } + container errors { + status deprecated; + description + "Error traps"; + presence "true"; + } + container errdisable { + status deprecated; + description + "Enable SNMP errdisable notifications"; + presence "true"; + leaf notification-rate { + status deprecated; + description + "Number of notifications per minute"; + type uint16 { + range "0..10000"; + } + } + } + container retransmit { + status deprecated; + description + "Packet retransmit traps"; + presence "true"; + } + container lsa { + status deprecated; + description + "Lsa related traps"; + presence "true"; + leaf lsa-maxage { + status deprecated; + description + "Lsa aged to maxage"; + type empty; + } + leaf lsa-originate { + status deprecated; + description + "New lsa originated"; + type empty; + } + } + } + } + container pim { + description + "Enable SNMP PIM traps"; + presence "true"; + leaf invalid-pim-message { + description + "Enable invalid pim message trap"; + type empty; + } + leaf neighbor-change { + description + "Enable neighbor change trap"; + type empty; + } + leaf rp-mapping-change { + description + "Enable rp mapping change trap"; + type empty; + } + } + container pimstdmib { + description + "Enable SNMP PIMSTDMIB notifications"; + presence "true"; + leaf neighbor-loss { + description + "Enable neighbor-loss traps"; + type empty; + } + leaf invalid-register { + description + "Enable invalid-register traps"; + type empty; + } + leaf invalid-join-prune { + description + "Enable invalid-join-prune traps"; + type empty; + } + leaf rp-mapping-change { + description + "Enable invalid rp-mapping-change"; + type empty; + } + leaf interface-election { + description + "Enable interface-election traps"; + type empty; + } + } + container plogd { + description + "Enable SNMP plogd traps"; + presence "true"; + } + container port-security { + description + "Enable SNMP port security traps"; + presence "true"; + leaf trap-rate { + description + "Number of traps per second"; + type uint16 { + range "0..1000"; + } + } + } + container power-ethernet { + description + "Enable SNMP power ethernet traps"; + leaf group { + description + "Enable SNMP inline power group based traps"; + type string; + } + leaf police { + description + "Enable Policing Trap"; + type empty; + } + } + leaf pfr { + description + "Allow SNMP PFR traps"; + type empty; + } + leaf pppoe { + description + "Enable SNMP pppoe traps"; + type empty; + } + container pw { + presence "true"; + leaf vc { + type empty; + } + } + leaf rep { + type empty; + } + leaf resource-policy { + type empty; + } + leaf rf { + description + "Enable all SNMP traps defined in CISCO-RF-MIB"; + type empty; + } + leaf rogue-ap { + description + "Enable SNMP 802.11 Rogue AP Trap"; + type empty; + } + leaf rsvp { + description + "Enable RSVP flow change traps"; + type empty; + } + leaf rtr { + description + "Enable SNMP Response Time Reporter traps"; + type empty; + } + container sdwan { + description + "Enable SNMP SDWAN notifications"; + presence "true"; + leaf security { + description + "Enable SNMP SDWAN SECURITY notifications"; + type empty; + } + leaf policy { + description + "Enable SNMP SDWAN POLICY notifications"; + type empty; + } + leaf system { + description + "Enable SNMP SDWAN SYSTEM notifications"; + type empty; + } + leaf omp { + description + "Enable SNMP SDWAN OMP notifications"; + type empty; + } + } + container slb { + description + "Enable SNMP SLB traps"; + presence "true"; + leaf csrp { + description + "Enable SNMP SLB Fault Tolerance Replication Protocol traps"; + type empty; + } + leaf real { + description + "Enable SNMP SLB Real Server traps"; + type empty; + } + leaf virtual { + description + "Enable SNMP SLB Virtual Server traps"; + type empty; + } + } + container smart-licenseing { + description + "Enable smart license traps"; + leaf smart-license { + description + "Enable smart license traps"; + type empty; + } + leaf entitlement { + description + "Enable Entitlement Notification trap"; + type empty; + } + leaf global { + description + "Enable Global Notification traps"; + type empty; + } + } + container snmp { + description + "Enable SNMP traps"; + leaf authentication { + description + "Enable authentication trap"; + type empty; + } + leaf coldstart { + description + "Enable coldStart trap"; + type empty; + } + leaf linkdown { + description + "Enable linkDown trap"; + type empty; + } + leaf linkup { + description + "Enable linkUp trap"; + type empty; + } + leaf warmstart { + description + "Enable warmStart trap"; + type empty; + } + } + leaf sonet { + description + "Enable SNMP SONET traps"; + type empty; + } + leaf srst { + type empty; + } + leaf srp { + description + "Enable SRP protocol traps"; + type empty; + } + container stackwise { + description + "Enable SNMP stackwise traps"; + presence "true"; + leaf GLS { + description + "Enable STACKWISE stack power GLS trap"; + type empty; + } + leaf ILS { + description + "Enable STACKWISE stack power ILS trap"; + type empty; + } + leaf SRLS { + description + "Enable STACKWISE stack power SRLS trap"; + type empty; + } + leaf insufficient-power { + description + "Enable STACKWISE stack power unbalanced power supplies trap"; + type empty; + } + leaf invalid-input-current { + description + "Enable STACKWISE stack power invalid input current trap"; + type empty; + } + leaf invalid-output-current { + description + "Enable STACKWISE stack power invalid output current trap"; + type empty; + } + leaf member-removed { + description + "Enable STACKWISE stack member removed trap"; + type empty; + } + leaf member-upgrade-notification { + description + "Enable STACKWISE member to be reloaded for upgrade trap"; + type empty; + } + leaf new-master { + description + "Enable STACKWISE new master trap"; + type empty; + } + leaf new-member { + description + "Enable STACKWISE stack new member trap"; + type empty; + } + leaf port-change { + description + "Enable STACKWISE port change trap"; + type empty; + } + leaf power-budget-warning { + description + "Enable STACKWISE stack power budget warning trap"; + type empty; + } + leaf power-invalid-topology { + description + "Enable STACKWISE stack power invalid topology trap"; + type empty; + } + leaf power-link-status-changed { + description + "Enable STACKWISE stack power link status changed trap"; + type empty; + } + leaf power-oper-status-changed { + description + "Enable STACKWISE stack power port oper status changed trap"; + type empty; + } + leaf power-priority-conflict { + description + "Enable STACKWISE stack power priority conflict trap"; + type empty; + } + leaf power-version-mismatch { + description + "Enable STACKWISE stack power version mismatch discovered trap"; + type empty; + } + leaf ring-redundant { + description + "Enable STACKWISE stack ring redundant trap"; + type empty; + } + leaf stack-mismatch { + description + "Enable STACKWISE stack mismatch trap"; + type empty; + } + leaf unbalanced-power-supplies { + description + "Enable STACKWISE stack power unbalanced power supplies trap"; + type empty; + } + leaf under-budget { + description + "Enable STACKWISE stack power under budget trap"; + type empty; + } + leaf under-voltage { + description + "Enable STACKWISE stack power under voltage trap"; + type empty; + } + } + container stpx { + presence "true"; + leaf inconsistency { + type empty; + } + leaf root-inconsistency { + type empty; + } + leaf loop-inconsistency { + type empty; + } + } + leaf stun { + description + "Enable SNMP STUN traps"; + type empty; + } + leaf switch-over { + description + "Enable SNMP 802.11 Standby Switch-over Trap"; + type empty; + } + leaf syslog { + description + "Enable SNMP syslog traps"; + type empty; + } + container transceiver { + leaf all { + type empty; + } + } + leaf tty { + description + "Enable TCP connection traps"; + type empty; + } + container udld { + description + "Enable SNMP CISCO-UDLDP-MIB traps"; + presence "true"; + leaf link-fail-rpt { + description + "Enable SNMP cudldpFastHelloLinkFailRptNotification traps"; + type empty; + } + leaf status-change { + description + "Enable SNMP cudldpFastHelloStatusChangeNotification traps"; + type empty; + } + } + leaf vlancreate { + type empty; + } + leaf vlandelete { + type empty; + } + leaf vlan-mac-limit { + description + "Enable SNMP L2 Control VLAN MAC Limit notifications"; + type empty; + } + leaf vlan-membership { + type empty; + } + leaf voice { + description + "Enable SNMP voice traps"; + type empty; + } + container vrfmib { + leaf vrf-up { + type empty; + } + leaf vrf-down { + type empty; + } + leaf vnet-trunk-up { + type empty; + } + leaf vnet-trunk-down { + type empty; + } + } + leaf vrrp { + description + "Enable SNMP vrrp traps"; + type empty; + } + leaf vsimaster { + description + "Allow SNMP vsimaster traps"; + type empty; + } + container vstack { + description + "Enable SNMP Smart Install traps"; + presence "true"; + leaf addition { + description + "Enable client added trap"; + type empty; + } + leaf failure { + description + "Enable file upload/download failure trap"; + type empty; + } + leaf lost { + description + "Enable client lost trap"; + type empty; + } + leaf operation { + description + "Enable operation mode change trap"; + type empty; + } + } + leaf vtp { + type empty; + } + leaf wlan-wep { + description + "Enable SNMP 802.11 WLAN WEP Trap"; + type empty; + } + leaf xgcp { + description + "Enable XGCP protocol traps"; + type empty; + } + container wiredguest { + description + "Enable wired guest traps"; + presence "true"; + leaf wired_guest { + description + "Wired guest related traps"; + type empty; + } + } + container wireless { + description + "wireless"; + presence "true"; + leaf AP { + description + "Access Point traps"; + type empty; + } + leaf bsn80211Security { + description + "Security related traps"; + type empty; + } + leaf bsnAutoRF { + description + "RF related traps"; + type empty; + } + leaf bsnGeneral { + description + "General Controller traps"; + type empty; + } + leaf Client { + description + "Controls wireless client traps"; + type empty; + } + leaf MESH { + description + "Mesh traps"; + type empty; + } + leaf rogue { + description + "Rogue related traps"; + type empty; + } + leaf RRM { + description + "Radio Resource Management (RRM) traps"; + type empty; + } + leaf SI { + description + "Spectrum Intelligence (SI) traps"; + type empty; + } + leaf tunnel { + description + "Tunnel related traps"; + type empty; + } + leaf wireless_mobility { + description + "Wireless mobility traps"; + type empty; + } + container bsnMobileStation { + status obsolete; + description + "Controls wireless client traps. Obsolete. Please use 'Client' leaf instead"; + presence "true"; + container bsnAccessPoint { + status obsolete; + description + "Access Point traps. Obsolete. Please use 'AP' leaf instead"; + presence "true"; + leaf bsnRogue { + status obsolete; + description + "Rogue related traps. Obsolete. Please use 'rogue' leaf instead"; + type empty; + } + } + } + } + leaf netsync { + description + "Enable SNMP netsync traps"; + type empty; + } + leaf ptp { + description + "Enable SNMP PTP traps"; + type empty; + } + leaf lost-ptp-slave { + description + "Notification generated when the Master does not receive PTP message from Slave"; + type empty; + } + leaf breach-ptp-offset-threshold { + description + "Notification generated when current offset value exceeds configured severity threshold level"; + type empty; + } + } + } + } + grouping engine-id-group { + leaf engine-id { + description + "engine ID octet string"; + type string { + length "10..64"; + pattern '[0-9a-fA-F]*'; + } + } + } + + grouping udp-port-engine { + list udp-port { + description + "The remote notification host's UDP port number"; + key "port-number"; + leaf port-number { + type uint16; + } + uses engine-id-group; + } + } + + grouping udp-port-vrf-engine { + list udp-port { + description + "The remote notification host's UDP port number"; + key "port-number"; + leaf port-number { + type uint16; + } + uses vrf-engine-id; + } + } + + grouping vrf-engine-id { + list vrf { + description + "The remote notification host's VPN routing instance"; + key "vrf-name"; + leaf vrf-name { + description + "VPN Routing/Forwarding instance name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses engine-id-group; + } + } + + container file-transfer { + description + "File transfer related commands"; + list access-group-with-protocol { + key "protocol"; + leaf protocol { + type enumeration { + enum tftp; + enum rcp; + enum scp; + enum ftp; + enum sftp; + } + } + leaf access-group { + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + } + container access-group { + description + "Access control for file transfers"; + status obsolete; + leaf access-group-name { + status obsolete; + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + } + } + list group { + description + "Define a User Security Model group"; + key "id"; + leaf id { + type string; + } + choice security-model { + container v1; + container v2c; + container v3 { + description + "group using the User Security Model (SNMPv3)"; + list security-level-list-config { + description + "group using security Level"; + key "security-level"; + leaf security-level { + description + "security level type"; + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + leaf match { + description + "context name match criteria"; + type enumeration { + enum exact; + enum prefix; + } + default "exact"; + } + leaf read { + description + "specify a read view for the group"; + type string; + default "v1default"; + } + leaf write { + description + "specify a write view for the group"; + type string; + } + leaf notify { + description + "specify a notify view for the group"; + type string; + } + uses config-access-grouping; + } + list security-level-list-context { + description + "group using security Level"; + key "security-level context"; + leaf security-level { + description + "security level type"; + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + leaf context { + description + "specify a context to associate these views for the group"; + type string; + } + leaf match { + description + "context name match criteria"; + type enumeration { + enum exact; + enum prefix; + } + default "exact"; + } + leaf read { + description + "specify a read view for the group"; + type string; + default "v1default"; + } + leaf write { + description + "specify a write view for the group"; + type string; + } + leaf notify { + description + "specify a notify view for the group"; + type string; + } + uses config-access-grouping; + } + list security-level-list { + description + "DEPRECATED group using security Level"; + status deprecated; + key "security-level"; + leaf security-level { + description + "DEPRECATED security level type"; + status deprecated; + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + leaf context-node { + description + "DEPRECATED specify a context to associate these views for the group"; + status deprecated; + type string; + } + leaf match-node { + description + "DEPRECATED context name match criteria"; + status deprecated; + type enumeration { + enum exact; + enum prefix; + } + default "exact"; + } + leaf read-node { + description + "DEPRECATED specify a read view for the group"; + status deprecated; + type string; + default "v1default"; + } + leaf write-node { + description + "DEPRECATED specify a write view for the group"; + status deprecated; + type string; + } + leaf notify-node { + description + "DEPRECATED specify a notify view for the group"; + status deprecated; + type string; + } + leaf access-node { + status obsolete; + description + "OBSOLETE specify an access-list associated with this group"; + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + uses config-access-grouping; + } + leaf security-level { + status obsolete; + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + leaf context { + status obsolete; + description + "OBSOLETE specify a context to associate these views for the group"; + type string; + } + leaf match { + status obsolete; + description + "OBSOLETE context name match criteria"; + type enumeration { + enum exact; + enum prefix; + } + } + leaf read { + status obsolete; + description + "OBSOLETE specify a read view for the group"; + type string; + } + leaf write { + status obsolete; + description + "OBSOLETE specify a write view for the group"; + type string; + } + leaf notify { + status obsolete; + description + "OBSOLETE specify a notify view for the group"; + type string; + } + leaf access { + status obsolete; + description + "OBSOLETE specify an access-list associated with this group"; + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + } + } + } + container user { + description + "Define a user who can access the SNMP engine"; + list names { + key "username grpname"; + leaf username { + description + "Name of the user"; + type string; + } + leaf grpname { + description + "Group to which the user belongs"; + type string; + } + container v3 { + description + "user using the v3 security model"; + presence "true"; + container auth-config { + description + "authentication parameters for the user"; + presence "true"; + leaf algorithm { + description + "Use HMAC SHA/MD5 algorithm for authentication"; + type enumeration { + enum md5; + enum sha; + } + } + leaf sha-2 { + description + "Use HMAC SHA-2 algorithm for authentication"; + type enumeration { + enum 256; + enum 384; + enum 512; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + container auth { + description + "authentication parameters for the user"; + status obsolete; + container sha { + description + "Use HMAC SHA algorithm for authentication"; + status obsolete; + uses config-auth-grouping; + } + container md5 { + description + "Use HMAC MD5 algorithm for authentication"; + status obsolete; + uses config-auth-grouping; + } + } + container encrypted { + description + "user using the encrypted security model"; + presence "true"; + uses config-access-grouping; + container auth-config { + description + "authentication parameters for the user"; + presence "true"; + leaf algorithm { + description + "Use HMAC SHA/MD5 algorithm for authentication"; + type enumeration { + enum md5; + enum sha; + } + } + leaf sha-2 { + description + "Use HMAC SHA-2 algorithm for authentication"; + type enumeration { + enum 256; + enum 384; + enum 512; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + container auth { + description + "authentication parameters for the user"; + status obsolete; + container sha { + description + "Use HMAC SHA algorithm for authentication"; + status obsolete; + uses config-auth-grouping; + } + container md5 { + description + "Use HMAC MD5 algorithm for authentication"; + status obsolete; + uses config-auth-grouping; + } + } + } + } + } + } + container host-config { + description + "Specify hosts to receive SNMP notifications, + including four lists with different key fields. + When udp-port is 162, please use either ip-(vrf-)community + or ip-(vrf-)community-port. Don't use them simultaneously."; + list ip-community { + description + "Specify hosts keyed by (ip-address, community-or-user)"; + key "ip-address community-or-user"; + leaf ip-address { + type ios-types:host-type; + } + leaf community-or-user { + description + "SNMPv1/v2c community string or SNMPv3 user name"; + type string; + } + choice informs-traps-choice { + leaf informs { + description + "Send Inform messages to this host"; + type empty; + } + leaf traps { + description + "Send Trap messages to this host"; + type empty; + } + } + leaf version { + description + "SNMP version to use for notification messages"; + type enumeration { + enum 1; + enum 2c; + enum 3; + } + } + leaf security-level { + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + uses config-host-attribute-grouping; + leaf encryption { + description + "Specifies an encryption type for community string"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + } + list ip-community-port { + description + "Specify hosts keyed by (ip-address, community-or-user, udp-port)"; + key "ip-address community-or-user udp-port"; + leaf ip-address { + type ios-types:host-type; + } + leaf community-or-user { + description + "SNMPv1/v2c community string or SNMPv3 user name"; + type string; + } + leaf udp-port { + description + "The notification host's UDP port number (default port 162)"; + type uint16; + } + choice informs-traps-choice { + leaf informs { + description + "Send Inform messages to this host"; + type empty; + } + leaf traps { + description + "Send Trap messages to this host"; + type empty; + } + } + leaf version { + description + "SNMP version to use for notification messages"; + type enumeration { + enum 1; + enum 2c; + enum 3; + } + } + leaf security-level { + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + uses config-host-attribute-grouping; + leaf encryption { + description + "Specifies an encryption type for community string"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + } + list ip-vrf-community { + description + "Specify hosts keyed by (ip-address, vrf, community-or-user)"; + key "ip-address vrf community-or-user"; + leaf ip-address { + type ios-types:host-type; + } + leaf vrf { + description + "VPN Routing instance for this host"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf community-or-user { + description + "SNMPv1/v2c community string or SNMPv3 user name"; + type string; + } + choice informs-traps-choice { + leaf informs { + description + "Send Inform messages to this host"; + type empty; + } + leaf traps { + description + "Send Trap messages to this host"; + type empty; + } + } + leaf version { + description + "SNMP version to use for notification messages"; + type enumeration { + enum 1; + enum 2c; + enum 3; + } + } + leaf security-level { + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + uses config-host-attribute-grouping; + leaf encryption { + description + "Specifies an encryption type for community string"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + } + list ip-vrf-community-port { + description + "Specify hosts keyed by (ip-address, vrf, community-or-user, udp-port)"; + key "ip-address vrf community-or-user udp-port"; + leaf ip-address { + type ios-types:host-type; + } + leaf vrf { + description + "VPN Routing instance for this host"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + leaf community-or-user { + description + "SNMPv1/v2c community string or SNMPv3 user name"; + type string; + } + leaf udp-port { + description + "The notification host's UDP port number (default port 162)"; + type uint16; + } + choice informs-traps-choice { + leaf informs { + description + "Send Inform messages to this host"; + type empty; + } + leaf traps { + description + "Send Trap messages to this host"; + type empty; + } + } + leaf version { + description + "SNMP version to use for notification messages"; + type enumeration { + enum 1; + enum 2c; + enum 3; + } + } + leaf security-level { + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + uses config-host-attribute-grouping; + leaf encryption { + description + "Specifies an encryption type for community string"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + } + } + list host { + status obsolete; + description + "Specify hosts to receive SNMP notifications"; + key "ip-address community-or-user"; + leaf ip-address { + status obsolete; + type ios-types:host-type; + } + leaf community-or-user { + status obsolete; + description + "OBSOLETE SNMPv1/v2c community string or SNMPv3 user name"; + type string; + } + leaf vrf { + status obsolete; + description + "OBSOLETE VPN Routing instance for this host"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + choice informs-traps-choice { + status obsolete; + leaf informs { + status obsolete; + description + "OBSOLETE Send Inform messages to this host"; + type empty; + } + leaf traps { + status obsolete; + description + "OBSOLETE Send Trap messages to this host"; + type empty; + } + } + leaf version { + status obsolete; + description + "OBSOLETE SNMP version to use for notification messages"; + type enumeration { + enum 1; + enum 2c; + enum 3; + } + } + leaf security-level { + status obsolete; + type enumeration { + enum auth; + enum noauth; + enum priv; + } + } + leaf udp-port { + status obsolete; + description + "OBSOLETE The notification host's UDP port number (default port 162)"; + type uint16; + } + container trap-enable { + status obsolete; + leaf aaa_server { + status obsolete; + description + "OBSOLETE Allow SNMP AAA traps"; + type empty; + } + leaf alarms { + status obsolete; + description + "OBSOLETE Allow SNMP alarms traps"; + type empty; + } + leaf atm { + status obsolete; + description + "OBSOLETE Allow SNMP atm traps"; + type empty; + } + leaf bfd { + status obsolete; + description + "OBSOLETE Allow SNMP BFD traps"; + type empty; + } + leaf bgp { + status obsolete; + description + "OBSOLETE Allow BGP state change traps"; + type empty; + } + leaf bstun { + status obsolete; + description + "OBSOLETE Allow bstun event traps"; + type empty; + } + leaf bulkstat { + status obsolete; + description + "OBSOLETE Allow Data-Collection-MIB traps"; + type empty; + } + leaf call-home { + status obsolete; + description + "OBSOLETE Allow SNMP CISCO-CALLHOME-MIB traps"; + type empty; + } + leaf casa { + status obsolete; + description + "OBSOLETE Allow casa event traps"; + type empty; + } + leaf cef { + status obsolete; + description + "OBSOLETE Allows cef traps"; + type empty; + } + leaf cnpd { + status obsolete; + description + "OBSOLETE Allow NBAR Protocol Discovery traps"; + type empty; + } + leaf config { + status obsolete; + description + "OBSOLETE Allow SNMP config traps"; + type empty; + } + leaf config-copy { + status obsolete; + description + "OBSOLETE Allow SNMP config-copy traps"; + type empty; + } + leaf config-ctid { + status obsolete; + description + "OBSOLETE Allow SNMP config-ctid traps"; + type empty; + } + leaf cpu { + status obsolete; + description + "OBSOLETE Allow cpu related traps"; + type empty; + } + leaf dhcp { + status obsolete; + description + "OBSOLETE Allow dhcp traps"; + type empty; + } + leaf dlsw { + status obsolete; + description + "OBSOLETE Allow dlsw traps"; + type empty; + } + leaf ds1 { + status obsolete; + description + "OBSOLETE Allow SNMP ds1 traps"; + type empty; + } + leaf dsp { + status obsolete; + description + "OBSOLETE Allow SNMP DSP traps"; + type empty; + } + leaf dspu { + status obsolete; + description + "OBSOLETE Allow dspu event traps"; + type empty; + } + leaf eigrp { + status obsolete; + description + "OBSOLETE Allow SNMP EIGRP traps"; + type empty; + } + leaf entity { + status obsolete; + description + "OBSOLETE Allow SNMP entity traps"; + type empty; + } + leaf entity-diag { + status obsolete; + description + "OBSOLETE Allow SNMP CISCO-ENTITY-DIAG-MIB traps"; + type empty; + } + leaf entity-qfp { + status obsolete; + description + "OBSOLETE Allow SNMP CISCO-ENTITY-QFP-MIB traps"; + type empty; + } + leaf entity-state { + status obsolete; + description + "OBSOLETE Allow ENTITY-STATE-MIB traps"; + type empty; + } + leaf ethernet-cfm { + status obsolete; + description + "OBSOLETE Allow SNMP Ethernet CFM traps"; + type empty; + } + leaf evc { + status obsolete; + description + "OBSOLETE Allow SNMP EVC traps"; + type empty; + } + leaf event-manager { + status obsolete; + description + "OBSOLETE Allow SNMP Embedded Event Manager traps"; + type empty; + } + leaf firewall { + status obsolete; + description + "OBSOLETE Allow SNMP Firewall traps"; + type empty; + } + leaf flash { + status obsolete; + description + "OBSOLETE Allow SNMP FLASH traps"; + type empty; + } + leaf flowmon { + status obsolete; + description + "OBSOLETE Allow SNMP flow monitor notifications"; + type empty; + } + leaf frame-relay { + status obsolete; + description + "OBSOLETE Allow SNMP frame-relay traps"; + type empty; + } + leaf fru-ctrl { + status obsolete; + description + "OBSOLETE Allow entity FRU control traps"; + type empty; + } + leaf gdoi { + status obsolete; + description + "OBSOLETE Allows gdoi traps"; + type empty; + } + leaf hsrp { + status obsolete; + description + "OBSOLETE Allow SNMP HSRP traps"; + type empty; + } + leaf iplocalpool { + status obsolete; + description + "OBSOLETE Allow SNMP IP Local Pool traps"; + type empty; + } + leaf ipmulticast { + status obsolete; + description + "OBSOLETE Allow SNMP ipmulticast traps"; + type empty; + } + leaf ipsec { + status obsolete; + description + "OBSOLETE Allow SNMP IPsec traps"; + type empty; + } + leaf ipsla { + status obsolete; + description + "OBSOLETE Allow SNMP Host IP SLA traps"; + type empty; + } + leaf isakmp { + status obsolete; + description + "OBSOLETE Allow SNMP ISAKMP traps"; + type empty; + } + leaf isg-mib { + status obsolete; + description + "OBSOLETE Allow SNMP isgmib traps"; + type empty; + } + leaf isis { + status obsolete; + description + "OBSOLETE Allow IS-IS traps"; + type empty; + } + leaf l2tun-pseudowire-status { + status obsolete; + description + "OBSOLETE Allow SNMP L2 pseudowire status traps"; + type empty; + } + leaf l2tun-session { + status obsolete; + description + "OBSOLETE Allow SNMP L2 session traps"; + type empty; + } + leaf license { + status obsolete; + description + "OBSOLETE Allow license traps"; + type empty; + } + leaf memory { + status obsolete; + description + "OBSOLETE Allow SNMP Mempool traps"; + type empty; + } + leaf mpls-fast-reroute { + status obsolete; + description + "OBSOLETE Allow SNMP MPLS traffic engineering fast reroute traps"; + type empty; + } + leaf mpls-ldp { + status obsolete; + description + "OBSOLETE Allow SNMP MPLS label distribution protocol traps"; + type empty; + } + leaf mpls-traffic-eng { + status obsolete; + description + "OBSOLETE Allow SNMP MPLS traffic engineering traps"; + type empty; + } + leaf mpls-vpn { + status obsolete; + description + "OBSOLETE Allow SNMP MPLS Virtual Private Network traps"; + type empty; + } + leaf msdp { + status obsolete; + description + "OBSOLETE Allow SNMP MSDP traps"; + type empty; + } + leaf mvpn { + status obsolete; + description + "OBSOLETE Allow Multicast Virtual Private Network traps"; + type empty; + } + leaf nhrp { + status obsolete; + description + "OBSOLETE Allow SNMP NHRP traps"; + type empty; + } + leaf ospf { + status obsolete; + description + "OBSOLETE Allow OSPF traps"; + type empty; + } + leaf ospfv3 { + status obsolete; + description + "OBSOLETE Allow OSPFv3 traps"; + type empty; + } + leaf pfr { + status obsolete; + description + "OBSOLETE Allow SNMP PfR traps"; + type empty; + } + leaf pim { + status obsolete; + description + "OBSOLETE Allow SNMP PIM traps"; + type empty; + } + leaf pw-vc { + status obsolete; + description + "OBSOLETE Allow SNMP Pseudowire VC traps"; + type empty; + } + leaf resource-policy { + status obsolete; + description + "OBSOLETE Enable CISCO-ERM-MIB notifications"; + type empty; + } + leaf rf { + status obsolete; + description + "OBSOLETE Allow all SNMP traps defined in CISCO-RF-MIB"; + type empty; + } + leaf rsrb { + status obsolete; + description + "OBSOLETE Allow rsrb event traps"; + type empty; + } + leaf rsvp { + status obsolete; + description + "OBSOLETE Allow RSVP flow change traps"; + type empty; + } + leaf sdlc { + status obsolete; + description + "OBSOLETE Allow sdlc event traps"; + type empty; + } + leaf sdllc { + status obsolete; + description + "OBSOLETE Allow sdllc event traps"; + type empty; + } + leaf snmp { + status obsolete; + description + "OBSOLETE Allow SNMP-type notifications"; + type empty; + } + leaf sonet { + status obsolete; + description + "OBSOLETE Allow SNMP SONET traps"; + type empty; + } + leaf srp { + status obsolete; + description + "OBSOLETE Allow SRP protocol traps"; + type empty; + } + leaf stun { + status obsolete; + description + "OBSOLETE Allow stun event traps"; + type empty; + } + leaf syslog { + status obsolete; + description + "OBSOLETE Allow SNMP syslog traps"; + type empty; + } + leaf trustsec-sxp { + status obsolete; + description + "OBSOLETE Allow SNMP CISCO-TRUSTSEC-SXP-MIB traps"; + type empty; + } + leaf tty { + status obsolete; + description + "OBSOLETE Allow TCP connection traps"; + type empty; + } + leaf voice { + status obsolete; + description + "OBSOLETE Allow SNMP Voice traps"; + type empty; + } + leaf vrfmib { + status obsolete; + description + "OBSOLETE Allow SNMP vrfmib traps"; + type empty; + } + leaf vrrp { + status obsolete; + description + "OBSOLETE Allow SNMP vrrp traps"; + type empty; + } + leaf x25 { + status obsolete; + description + "OBSOLETE Allow x25 event traps"; + type empty; + } + } + } + container ip { + description + "IP ToS configuration for SNMP traffic"; + leaf dscp { + description + "IP DSCP value for SNMP traffic"; + type uint8 { + range "0..63"; + } + } + leaf precedence { + description + "IP Precedence value for SNMP traffic"; + type uint8 { + range "0..7"; + } + } + } + container ifindex { + description + "Enable ifindex persistence"; + leaf persist { + description + "Persist interface indices"; + type empty; + } + } + leaf location { + description + "Text for mib object sysLocation"; + type string; + } + container manager { + description + "Modify SNMP manager parameters"; + presence "true"; + leaf session-timeout { + description + "Timeout value for destroying sessions"; + type uint32 { + range "10..2147483"; + } + } + } + leaf packetsize { + description + "Largest SNMP packet size"; + type uint32 { + range "484..17892"; + } + } + leaf queue-length { + description + "Message queue length for each TRAP host"; + type uint16 { + range "1..5000"; + } + } + container source-interface { + description + "Assign an source interface"; + container informs { + description + "source interface for informs"; + uses ios-ifc:interface-grouping; + } + container traps { + description + "source interface for traps"; + uses ios-ifc:interface-grouping; + } + } + leaf sparse-tables { + description + "Turn on snmp sparse table implementation"; + type boolean; + default "true"; + } + container subagent { + description + "subagent commands"; + container cache { + description + "Subagent cache"; + leaf timeout { + description + "Subagent cache timeout interval in seconds"; + type uint8 { + range "0..100"; + } + default "60"; + } + } + leaf cache-stats { + description + "Subagent cache statistics configuration"; + type boolean; + default "false"; + } + container datastage { + description + "Subagent datastage"; + leaf timeout { + description + "Subagent datastage timeout in minutes"; + type uint8 { + range "0..100"; + } + default "5"; + } + } + leaf enable { + description + "Subagent Configuration"; + type boolean; + default "true"; + } + container fetch { + description + "subagent Fetch"; + leaf count { + description + "fetch count"; + type uint8 { + range "1..100"; + } + default "50"; + } + } + } + leaf system-shutdown { + description + "Enable use of the SNMP reload command"; + type empty; + } + leaf tftp-server-list { + description + "Limit TFTP servers used via SNMP"; + type union { + type uint8 { + range "1..99"; + } + type string; + } + } + container trap { + description + "SNMP trap options"; + container authentication { + description + "fine-tune enable/disable of authentication traps"; + leaf unknown-context { + description + "enable authentication traps for unknown context error"; + type boolean; + default "true"; + } + leaf acl-failure { + description + "Authentication traps for access-list failure"; + type boolean; + default "true"; + } + } + container link { + description + "Assign/Enable SNMP link traps"; + leaf ietf { + description + "Use IETF standard for SNMP traps"; + type empty; + } + leaf switchover { + description + "Enable link up/down traps during switchover"; + type empty; + } + } + leaf timeout { + description + "Set timeout for TRAP message retransmissions"; + type uint16 { + range "1..1000"; + } + } + } + container trap-source { + description + "Assign an interface for the source address of all traps"; + uses ios-ifc:interface-grouping; + } + list view { + description + "Define an SNMPv2 MIB view"; + key "name mib"; + leaf name { + type string; + } + leaf mib { + type string; + } + leaf inc-exl { + type enumeration { + enum excluded; + enum included; + } + } + } + } + + grouping router-snmp-grouping { + container snmp { + description + "Modify snmp parameters"; + list context { + description + "Configure a SNMP context"; + key "name"; + leaf name { + description + "Context Name"; + type string; + } + container community { + description + "Configure a SNMP v2c Community string and access privs"; + leaf community-string { + type string; + } + container access { + leaf ro { + description + "Read-only access with this community string"; + type empty; + } + leaf rw { + description + "Read-write access with this community string"; + type empty; + } + leaf standard-acl { + type uint32 { + range "1..99"; + } + } + leaf expanded-acl { + type uint32 { + range "1300..1999"; + } + } + leaf acl-name { + type string; + } + leaf ipv6 { + description + "Specify IPv6 Named Access-List"; + type string; + } + } + } + container user { + description + "Configure a SNMP v3 user"; + leaf name { + type string; + } + container permisssion { + container access { + description + "specify an access-list associated with this group"; + leaf standard-acl { + type uint32 { + range "1..99"; + } + } + leaf acl-name { + type string; + } + leaf ipv6 { + type string; + } + } + container auth-config { + description + "authentication parameters for the user"; + presence "true"; + leaf algorithm { + description + "Use HMAC SHA/MD5 algorithm for authentication"; + mandatory true; + type enumeration { + enum md5; + enum sha; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + container auth { + description + "authentication parameters for the user"; + status obsolete; + leaf md5 { + description + "OBSOLETE Use HMAC MD5 algorithm for authentication"; + status obsolete; + type string; + } + leaf sha { + description + "OBSOLETE Use HMAC SHA algorithm for authentication"; + status obsolete; + type string; + } + } + leaf credential { + description + "If the user password is already configured and saved"; + type empty; + } + container encrypted-config { + description + "user using the encrypted security model"; + presence "true"; + container auth-config { + presence "true"; + leaf algorithm { + mandatory true; + type enumeration { + enum md5; + enum sha; + } + } + leaf password { + description + "Authentication password for user"; + mandatory true; + type string; + } + uses config-priv-grouping; + uses config-access-grouping; + } + uses config-access-grouping; + } + leaf encrypted { + description + "OBSOLETE specifying passwords as MD5 or SHA digests"; + status obsolete; + type empty; + } + } + } + } + } + } + + grouping config-snmp-grouping { + container ifmib { + description + "IF-MIB commands"; + container ifindex { + description + "ifindex persistence"; + leaf persist { + description + "Persist interface indices"; + type empty; + } + } + container ifalias { + description + "ifAlias description option, by default it is limited to 64 character"; + leaf long { + description + "ifAlias description can be up to 256 characters"; + type empty; + } + } + } + container mib { + description + "MIB commands"; + container community-map { + description + "Community Mapping as per RFC-2576"; + list community-map-list { + description + "SNMP community string"; + key "name"; + leaf name { + type string; + } + leaf encryption { + description + "Specifies an encryption type"; + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf engineid { + description + "Engine ID for the community mapping"; + type string { + length "10..64"; + pattern '[0-9a-fA-F]*'; + } + } + } + } + container event { + description + "The Event scalar configuration"; + container sample { + description + "Event scalar variables configuration"; + leaf minimum { + description + "Event scalar sample minimum"; + type uint32 { + range "1..2147483647"; + } + default "60"; + } + container instance { + description + "Event scalar sample instance maximum"; + leaf maximum { + description + "Event scalar sample instance maximum"; + type uint32 { + range "0..4294967295"; + } + default "0"; + } + } + } + } + container expression { + description + "SNMP MIB expression"; + container delta { + description + "System wide delta parameters"; + leaf minimum { + description + "Minimum delta interval or use -1 to denote no delta minimum"; + type int16 { + range "-1 | 1..600"; + } + default "1"; + } + container wildcard { + description + "Delta Wildcard Maximum configuration"; + leaf maximum { + description + "Delta Wildcard Maximum configuration"; + type uint32 { + range "0..4294967295"; + } + default "0"; + } + } + } + container owner { + description + "Expression Owner Name"; + list owner-name-list { + description + "Owner Name"; + key "owner-name name"; + leaf owner-name { + description + "Set owner name"; + type string; + } + leaf name { + description + "Expression Name"; + type string; + } + container value { + description + "Expression value type Configuration"; + leaf type { + description + "Expression value type"; + type enumeration { + enum counter32 { + description + "Expression value type counter32"; + } + enum counter64 { + description + "Expression value type counter64"; + } + enum integer32 { + description + "Expression value type integer32"; + } + enum ipaddress { + description + "Expression value type ipaddress"; + } + enum objectid { + description + "Expression value type objectid"; + } + enum octetstring { + description + "Expression value type octetstring"; + } + enum timeticks { + description + "Expression value type timeticks"; + } + enum unsigned32 { + description + "Expression value type undigned32"; + } + } + default "counter32"; + } + } + } + } + } + container bulkstat { + description + "Bulkstat Configuration commands"; + list object-list { + description + "Configure an Object List."; + key "name"; + leaf name { + type string; + } + } + } + container flowmon { + description + "Flow monitor maximum number of entries"; + leaf alarmhistorysize { + description + "Maximum number of entries maintained by the flow monitor"; + type uint32 { + range "1..1000000"; + } + default "500"; + } + } + container flash { + description + "Flash MIB related commands"; + container cache { + description + "Flash Cache process state"; + presence "true"; + leaf interval { + description + "Time interval for IFS cache data updation in minutes"; + type uint8 { + range "1..60"; + } + default "2"; + } + } + } + container persist-config { + description + "Persistence config for MIBS"; + leaf cbqos { + description + "Class-Based QOS MIB index persistence"; + type empty; + } + leaf circuit { + description + "Circuit interface identification persistence"; + type empty; + } + leaf v3mibs { + description + "Persistence for v3 MIBS"; + type empty; + } + leaf dsmib { + description + "DiffServ MIB persistence"; + type empty; + } + } + container persist { + description + "DEPRECATED Persistence for MIBS"; + status deprecated; + presence "true"; + leaf persist-enum { + status deprecated; + type enumeration { + enum cbqos; + enum circuit; + enum v3mibs; + } + } + } + leaf nhrp { + description + "NHRP Configuration"; + type empty; + } + container notification-log { + description + "Notification log MIB configuration"; + leaf globalageout { + description + "Global age-out time of notifications in seconds"; + type uint32 { + range "1..4294967295"; + } + default "15"; + } + leaf globalsize { + description + "Global entries upper limit"; + type uint16 { + range "1..15000"; + } + default "500"; + } + } + } + container monitor { + description + "Monitor Response Time in milliseconds"; + leaf response { + description + "SNMP Response"; + type uint16 { + range "1000..10000"; + } + default "10000"; + } + } + } + + grouping config-interface-ATMsubinterface-snmp-grouping { + container snmp { + description + "Modify SNMP interface parameters"; + container trap { + description + "Allow a specific SNMP trap"; + leaf link-status { + description + "Allow SNMP LINKUP and LINKDOWN traps"; + type boolean; + default "false"; + } + } + } + } + + grouping config-interface-snmp-grouping { + container snmp { + description + "Modify SNMP interface parameters"; + container ifindex { + description + "Persist ifindex for the interface"; + choice ifindex-choice { + leaf persist { + description + "Enable/Disable ifIndex persistence "; + type empty; + } + leaf clear { + description + "Clear Enable/Disable ifIndex persistence"; + type boolean; + } + } + } + container trap { + description + "Allow a specific SNMP trap"; + leaf link-status { + description + "Allow SNMP LINKUP and LINKDOWN traps"; + type boolean; + } + container link-status-capas { + container link-status { + description + "Allow SNMP LINKUP and LINKDOWN traps"; + container permit { + description + "Permit the following capability"; + leaf duplicates { + description + "Permit duplicate SNMP LINKUP and LINKDOWN traps"; + type empty; + } + } + } + } + } + } + } + + augment "/ios:native/ios:snmp" { + uses config-snmp-grouping; + } + + augment "/ios:native/ios:snmp-server" { + uses config-snmp-server-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:ATM-subinterface/ios:ATM" { + uses config-interface-ATMsubinterface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + status obsolete; + uses config-interface-snmp-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-snmp-grouping; + } + + augment "/ios:native/ios:interface/ios:Serial" { + uses config-interface-snmp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-events.yang new file mode 100644 index 000000000..4340ad7f1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-events.yang @@ -0,0 +1,377 @@ +module Cisco-IOS-XE-spanning-tree-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-spanning-tree-events"; + prefix stp-ios-xe-events; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Spanning-Tree event notification. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added support for STP BPDU sender conflict event + - Added support for STP interface role change"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef stp-port-guard-type { + type enumeration { + enum stp-bpduguard { + value 0; + description + "Spanning tree BPDU Guard"; + } + enum stp-rootguard { + value 1; + description + "Spanning tree Root Guard"; + } + enum stp-loopguard { + value 2; + description + "Spanning tree Loop Guard"; + } + } + description + "Spanning tree port guard types"; + } + + typedef stp-port-guard-state { + type enumeration { + enum stp-guard-activated { + value 0; + description + "The guard is activated on the port"; + } + enum stp-guard-deactivated { + value 1; + description + "The guard is deactivated on the port"; + } + } + description + "Indicates if the guard is activated or deactivated on the port"; + } + + typedef stp-port-guard-action { + type enumeration { + enum stp-action-blocking-port { + value 0; + description + "Port is placed in STP blocking state"; + } + enum stp-action-unblocking-port { + value 1; + description + "Port is taken out of STP blocking state"; + } + enum stp-action-disabling-port { + value 2; + description + "Port is placed in disabled state"; + } + enum stp-action-disabling-vlan { + value 3; + description + "VLAN is placed in disabled state"; + } + } + description + "Indicates the guard action taken by STP on the port"; + } + + typedef stp-port-state { + type enumeration { + enum stp-state-disabled { + value 0; + description + "STP port state disabled"; + } + enum stp-state-blocking { + value 1; + description + "STP port state blocking"; + } + enum stp-state-listening { + value 2; + description + "STP port state listening "; + } + enum stp-state-learning { + value 3; + description + "STP port learning "; + } + enum stp-state-forwarding { + value 4; + description + "STP port forwarding "; + } + enum stp-state-broken { + value 5; + description + "STP port broken"; + } + enum stp-state-invalid { + value 6; + description + "STP port state invalid "; + } + } + description + "Spanning Tree Protocol port states"; + } + + typedef stp-port-role { + type enumeration { + enum stp-role-master { + value 0; + description + "STP port role master"; + } + enum stp-role-alternate { + value 1; + description + "STP port role alternate"; + } + enum stp-role-root { + value 2; + description + "STP port role root"; + } + enum stp-role-designated { + value 3; + description + "STP port role designated"; + } + enum stp-role-backup { + value 4; + description + "STP port role backup"; + } + } + description + "Spanning Tree Protocol port roles"; + } + + typedef stp-bpdu-sender-conflict-event-type { + type enumeration { + enum stp-bpdu-sender-conflict { + value 0; + description + "Spanning tree BPDU sender conflict"; + } + } + description + "Spanning tree BPDU sender conflict event types"; + } + + typedef stp-bpdu-delay-event-type { + type enumeration { + enum stp-bpdu-delay-tx { + value 0; + description + "Spanning tree BPDU transmit delay"; + } + enum stp-bpdu-delay-rx { + value 1; + description + "Spanning tree BPDU receive delay"; + } + } + description + "Spanning tree BPDU delay types"; + } + + grouping stp-interface-guard-event { + description + "STP interface guard events"; + leaf if-name { + type string; + description + "Reference to the STP ethernet interface"; + } + leaf port-num { + type uint16; + description + "The port number of the bridge port"; + } + leaf guard-type { + type stp-ios-xe-events:stp-port-guard-type; + description + "Interface spanning tree guard type"; + } + leaf guard-state { + type stp-ios-xe-events:stp-port-guard-state; + description + "Indicates the guard state of the port"; + } + leaf action { + type stp-ios-xe-events:stp-port-guard-action; + description + "Indicates the action taken by STP on the port"; + } + choice mac-type-choice { + description + "mac type choice"; + case option-enabled { + leaf client-mac { + type yang:mac-address; + description + "MAC address of the BPDU source"; + } + } + } + choice vlan-type-choice { + description + "VLAN type choice"; + case option-enabled { + leaf vlan-id { + type uint16; + description + "VLAN identifier associated with the port"; + } + } + } + choice instance-type-choice { + description + "Instance type choice"; + case option-enabled { + leaf mst-instance { + type uint16; + description + "MST instance ID"; + } + } + } + } + + grouping stp-interface-role-change { + description + "STP interface role change"; + leaf if-name { + type string; + description + "Reference to the STP ethernet interface"; + } + leaf port-num { + type uint16; + description + "The port number of the bridge port"; + } + leaf role { + type stp-ios-xe-events:stp-port-role; + description + "The current role of the bridge port"; + } + leaf state { + type stp-ios-xe-events:stp-port-state; + description + "The current state of the bridge port"; + } + } + + grouping stp-bpdu-sender-conflict-event { + description + "STP BPDU sender conflict events"; + leaf if-name { + type string; + description + "Reference to the STP ethernet interface"; + } + leaf port-num { + type uint16; + description + "The port number of the bridge port"; + } + leaf exp-mac { + type yang:mac-address; + description + "MAC address of last BPDU source"; + } + leaf rcvd-mac { + type yang:mac-address; + description + "MAC address of current BPDU source"; + } + leaf event-type { + type stp-ios-xe-events:stp-bpdu-sender-conflict-event-type; + description + "The type of event (transmit/receive)"; + } + } + + grouping stp-bpdu-delay-event { + description + "STP BPDU delay events"; + leaf if-name { + type string; + description + "Reference to the STP ethernet interface"; + } + leaf port-num { + type uint16; + description + "The port number of the bridge port"; + } + leaf event-type { + type stp-ios-xe-events:stp-bpdu-delay-event-type; + description + "The type of event (transmit/receive)"; + } + } + + notification stp-intf-guard-event { + description + "STP interface guard events notification"; + uses stp-ios-xe-events:stp-interface-guard-event; + } + + notification stp-intf-role-change { + description + "STP interface role change notification"; + uses stp-ios-xe-events:stp-interface-role-change; + } + + notification stp-intf-bpdu-sender-conflict-event { + description + "STP BPDU sender conflict events notification"; + uses stp-ios-xe-events:stp-bpdu-sender-conflict-event; + } + + notification stp-intf-bpdu-delay-event { + description + "STP BPDU delay event notification"; + uses stp-ios-xe-events:stp-bpdu-delay-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-oper.yang new file mode 100644 index 000000000..cca78b02e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree-oper.yang @@ -0,0 +1,519 @@ +module Cisco-IOS-XE-spanning-tree-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-spanning-tree-oper"; + prefix stp-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring vlans in a Network Element. + Copyright (c) 2016-2017, 2019, 2022-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Added portfast mode and guard status in STP interface data + -Extended STP interface with + aggregate port channel number and legacy STP connection"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-08-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef stp-port-state { + type enumeration { + enum stp-disabled { + value 0; + } + enum stp-blocking { + value 1; + } + enum stp-listening { + value 2; + } + enum stp-learning { + value 3; + } + enum stp-forwarding { + value 4; + } + enum stp-broken { + value 5; + } + enum stp-invalid { + value 6; + } + } + description + "Spanning Tree Protocol port states"; + } + + typedef stp-port-role { + type enumeration { + enum stp-master { + value 0; + } + enum stp-alternate { + value 1; + } + enum stp-root { + value 2; + } + enum stp-designated { + value 3; + } + enum stp-backup { + value 4; + } + } + description + "Spanning Tree Protocol port roles"; + } + + typedef stp-link-role { + type enumeration { + enum stp-auto { + value 0; + } + enum stp-point-to-point { + value 1; + } + enum stp-shared { + value 2; + } + } + description + "Type definition for the different link types"; + } + + typedef stp-port-guard { + type enumeration { + enum stp-port-guard-default { + value 0; + } + enum stp-port-guard-root { + value 1; + } + enum stp-port-guard-loop { + value 2; + } + enum stp-port-guard-none { + value 3; + } + } + description + "Interface's spanning tree guard mode"; + } + + typedef stp-port-bpduguard { + type enumeration { + enum stp-port-bpduguard-disable { + value 0; + } + enum stp-port-bpduguard-enable { + value 1; + } + enum stp-port-bpduguard-default { + value 2; + } + } + description + "Accept BPDUs on this interface"; + } + + typedef stp-port-bpdufilter { + type enumeration { + enum stp-port-bpdufilter-disable { + value 0; + } + enum stp-port-bpdufilter-enable { + value 1; + } + enum stp-port-bpdufilter-default { + value 2; + } + } + description + "Send or receive BPDUs on this interface"; + } + + typedef stp-mode { + type enumeration { + enum stp-mode-pvst { + value 0; + } + enum stp-mode-rapid-pvst { + value 1; + } + enum stp-mode-mst { + value 2; + } + } + description + "Spanning tree operating mode"; + } + + typedef stp-inconsistency-status { + type enumeration { + enum stp-ps-rootgrd-act { + value 0; + description + "Port is in root-inconsistent state"; + } + enum stp-ps-bpdugrd-act { + value 1; + description + "Port is in Bpdu-guard error-disabled state"; + } + enum stp-ps-loopgrd-act { + value 2; + description + "Port is in loop-inconsistent state"; + } + enum stp-ps-bpducflt-act { + value 3; + description + "Port is in BPDU Sender-conflict state"; + } + enum stp-ps-inconst-none { + value 4; + description + "Port is in consistent state"; + } + } + description + "Interface's spanning tree inconsistency status"; + } + + grouping interfaces { + description + "List of interfaces on which STP is enable"; + leaf name { + type string; + description + "Reference to the STP ethernet interface"; + } + leaf cost { + type uint64; + description + "The port's contribution, when it is the Root Port, to the Root Path Cost for the Bridge"; + } + leaf port-priority { + type uint16; + description + "The manageable component of the Port Identifier, also known as the Port Priority"; + } + leaf port-num { + type uint16; + description + "The port number of the bridge port"; + } + leaf role { + type stp-ios-xe-oper:stp-port-role; + description + "The current role of the bridge port"; + } + leaf state { + type stp-ios-xe-oper:stp-port-state; + description + "The current state of the bridge port"; + } + leaf designated-root-priority { + type uint32; + description + "The bridge priority of the bridge recorded as the root in the configuration BPDUs transmitted by the designated bridge for the segment to which the port is attached"; + } + leaf designated-root-address { + type yang:mac-address; + description + "The bridge address of the bridge recorded as the root in the configuration BPDUs transmitted by the designated bridge for the segment to which the port is attached"; + } + leaf designated-cost { + type uint32; + description + "The path cost of the Designated Port of the segment connected to this port"; + } + leaf designated-bridge-priority { + type uint32; + description + "The bridge priority of the bridge that this port considers to be the designated bridge for this port's segment"; + } + leaf designated-bridge-address { + type yang:mac-address; + description + "The bridge address of the bridge that this port considers to be the designated bridge for this port's segment"; + } + leaf designated-port-priority { + type uint16; + description + "The Port priority of the port on the Designated Bridge for this port's segment, two octet string"; + } + leaf designated-port-num { + type uint16; + description + "The Port number of the port on the Designated Bridge for this port's segment, two octet string"; + } + leaf forward-transitions { + type uint64; + description + "The number of times this port has transitioned from the Learning state to the Forwarding state"; + } + leaf link-type { + type stp-ios-xe-oper:stp-link-role; + description + "Interface's link type"; + } + leaf guard { + type stp-ios-xe-oper:stp-port-guard; + description + "Interface's spanning tree guard mode"; + } + leaf bpdu-guard { + type stp-ios-xe-oper:stp-port-bpduguard; + description + "BPDU guard on this interface"; + } + leaf bpdu-filter { + type stp-ios-xe-oper:stp-port-bpdufilter; + description + "BPDU filter on this interface"; + } + leaf bpdu-sent { + type uint64; + description + "The number of BPDU packet sent"; + } + leaf bpdu-received { + type uint64; + description + "The number of BPDU packet received"; + } + leaf oper-p2p { + type empty; + description + "Spanning tree operational link-type is Point-to-Point"; + } + leaf oper-portfast-edge { + type empty; + description + "Spanning tree interface is operating in portfast EDGE"; + } + leaf guard-status { + type stp-ios-xe-oper:stp-inconsistency-status; + description + "Interface's spanning tree guard inconsistent status"; + } + leaf agg-port-id { + type uint16; + description + "The number of the etherchannel group"; + } + leaf legacy { + type empty; + description + "Spanning tree is operating in legacy STP mode."; + } + } + + grouping stp-oper-crimson { + description + "Attributes of spanning-tree"; + leaf instance { + type string; + description + "Spanning-tree enabled mode and id"; + } + leaf hello-time { + type int32; + description + "The interval between periodic transmissions of configuration messages by designated ports"; + } + leaf max-age { + type int32; + description + "The maximum age of the information transmitted by the bridge when it is the root bridge"; + } + leaf forwarding-delay { + type int32; + description + "The delay used by STP bridges to transition root and designated ports to forwarding"; + } + leaf hold-count { + type uint32; + description + "The maximum number of BPDUs per second that the switch can send from an interface"; + } + leaf bridge-priority { + type uint16; + description + "The manageable component of the Bridge Identifier"; + } + leaf bridge-address { + type yang:mac-address; + description + "A unique 48-bit Universally Administered MAC Address assigned to the bridge"; + } + leaf designated-root-priority { + type uint32; + description + "The bridge priority of the root of the spanning tree, as determined by the Spanning Tree Protocol, as executed by this node"; + } + leaf designated-root-address { + type yang:mac-address; + description + "The bridge address of the root of the spanning tree, as determined by the Spanning Tree Protocol, as executed by this node"; + } + leaf root-port { + type uint16; + description + "The port number of the port which offers the lowest cost path from this bridge to the root bridge"; + } + leaf root-cost { + type uint64; + description + "The cost of the path to the root as seen from this bridge"; + } + leaf hold-time { + type uint64; + description + "This time value determines the interval length during which no more than two Configuration bridge PDUs shall be transmitted by this node"; + } + leaf topology-changes { + type uint64; + description + "The total number of topology changes detected by this bridge since the management entity was last reset or initialized"; + } + leaf time-of-last-topology-change { + type yang:date-and-time; + description + "The time of the last topology change that was detected by the bridge entity.The time is POSIX time UTC"; + } + container interfaces { + description + "List of interfaces on which STP is enable"; + list interface { + key "name"; + description + "List of interfaces on which STP is enable"; + uses stp-ios-xe-oper:interfaces; + } + } + } + + grouping mst-global { + description + "Global state for MST ONLY"; + leaf mst-config-revision { + type uint16; + description + "Configuration revision number(used by MSTP only)"; + } + leaf mst-config-name { + type string; + description + "Configuration name(used by MSTP only)"; + } + leaf max-hops { + type uint16; + description + "The max hops value for the spanning tree(used by MSTP only)"; + } + } + + grouping stp-global { + description + "Global spanning tree state"; + leaf mode { + type stp-ios-xe-oper:stp-mode; + description + "Spanning tree mode enabled on the device"; + } + leaf bridge-assurance { + type empty; + description + "Enable STP Bridge Assurance feature"; + } + leaf loop-guard { + type empty; + description + "Enable loopguard by default"; + } + leaf bpdu-guard { + type empty; + description + "Enable portfast bpdu guard"; + } + leaf bpdu-filter { + type empty; + description + "Enable portfast bpdu filter"; + } + leaf etherchannel-misconfig-guard { + type empty; + description + "Enable guard to protect against etherchannel misconfiguration"; + } + container mst-only { + description + "Global state for MST ONLY"; + uses stp-ios-xe-oper:mst-global; + } + } + + container stp-details { + config false; + description + "Top-level container for spanning tree operational data"; + list stp-detail { + key "instance"; + description + "List of mst/rapid-pvst spanning-tree, keyed by instance name"; + uses stp-ios-xe-oper:stp-oper-crimson; + } + container stp-global { + presence "stp-global"; + description + "Global state data"; + uses stp-ios-xe-oper:stp-global; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree.yang new file mode 100644 index 000000000..8ab556c89 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-spanning-tree.yang @@ -0,0 +1,806 @@ +module Cisco-IOS-XE-spanning-tree { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-spanning-tree"; + prefix ios-stp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Spanning Tree (stp) Yang Model. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Deprecated spanning-tree portfast container, converted leafs to choices and added missing options + - Added vlan-ids for spanning-tree mst configuration instance, removed old node + - Added missing leafs for spanning-tree portfast edge and spanning-tree portfast network + - Added access leaf under interface spanning-tree portfast edge container to replace interface spanning-tree portfast edge leaf + - Changed portfast-v2 portfast to be portfast-v2 access"; + cisco-semver:module-version "3.1.0"; + } + revision 2024-03-01 { + description + "- Added support for spanning-tree bpdu delay-monitor and sender-conflict + - Added Choice for spanning-tree mst priority, root + - Added Choice for spanning-tree pathcost options long and short"; + cisco-semver:module-version "3.0.0"; + } + revision 2023-11-01 { + description + "- Added error message for bridge-priority, port-priority"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added Support for PRP Interface"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added Simulate options for Spanning tree mst"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-22 { + description + "Fixed link-type to just keep P2P and shared because the cli changes."; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-08-13 { + description + "Removed edge of bpduguard and bpdufilter due to cli change;Set rapid-pvst as default mode;Added spanning-tree under FortyGigabitEthernet"; + } + revision 2017-07-10 { + description + "Added leaf assurance under bridge/Fixed bpdu for global STP/Fixed mst/vlan list instance under interface/Added spanning-tree under interface Vlan"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-spanning-tree-grouping { + leaf backbonefast { + description + "Enable BackboneFast Feature"; + type empty; + } + container bridge { + leaf priority { + type uint8; + } + leaf ID { + type string; + } + leaf assurance { + description + "Enable STP Bridge Assurance feature"; + type boolean; + default "true"; + } + } + container etherchannel { + description + "Spanning tree etherchannel specific configuration"; + container guard { + description + "Configure guard features for etherchannel"; + leaf misconfig { + description + "Enable guard to protect against etherchannel misconfiguration"; + type boolean; + default "true"; + } + } + } + container extend { + description + "Spanning Tree 802.1t extensions"; + leaf system-id { + description + "Extend system-id into priority portion of the bridge id (PVST & Rapid PVST only)"; + type empty; + } + } + container bpdu { + description + "Spanning tree bpdu options"; + leaf delay-monitor { + description + "Enable spanning-tree bpdu delay-monitor by default on all ports"; + type boolean; + default "true"; + } + leaf sender-conflict { + description + "Enable spanning-tree bpdu sender-conflict by default on all ports"; + type boolean; + default "true"; + } + } + leaf logging { + description + "Enable Spanning tree logging"; + type empty; + } + container loopguard { + description + "Spanning tree loopguard options"; + leaf default { + description + "Enable loopguard by default on all ports"; + type empty; + } + } + container mst { + description + "Multiple spanning tree configuration"; + list instance-range { + key "id"; + leaf id { + type union { + type uint16; + type string; + } + } + container priority-root { + description + "Multiple spanning tree instance bridge priority configuration"; + choice mst-choice { + case priority-case { + leaf priority { + description + "bridge priority for the spanning tree instance"; + type uint16 { + range "0..61440"; + } + must '. mod 4096 = 0' { + error-message "Bridge Priority must be in increments of 4096"; + } + } + } + case root-case { + leaf root { + description + "spanning-tree instance root configuration"; + type enumeration { + enum primary; + enum secondary; + } + } + } + } + } + leaf priority { + status deprecated; + description + "DEPRECATED - Set the bridge priority for the spanning tree"; + type uint16 { + range "0..61440"; + } + must '. mod 4096 = 0' { + error-message "Bridge Priority must be in increments of 4096"; + } + } + leaf root { + status deprecated; + description + "DEPRECATED - Configure switch as root"; + type enumeration { + enum primary; + enum secondary; + } + } + } + container configuration { + description + "Enter MST configuration submode"; + leaf name { + description + "Set configuration name"; + type string; + } + list instance { + description + "Map vlans to an MST instance"; + key "id"; + leaf id { + type uint16 { + range "0..4094"; + } + } + leaf-list vlan-ids { + description + "Range of vlans to add to the instance mapping"; + type uint16 { + range "1..4094"; + } + } + leaf-list vlan { + status deprecated; + description + "DEPRECATED - Range of vlans to add to the instance mapping"; + type union { + type uint16; + type string; + } + } + } + container private-vlan { + description + "Set private-vlan synchronization"; + leaf synchronize { + description + "Synchronize vlans"; + type empty; + } + } + leaf revision { + description + "Set configuration revision number"; + type uint16; + } + } + leaf forward-time { + description + "number of seconds for the forward delay timer"; + type uint8 { + range "4..30"; + } + } + leaf hello-time { + description + "number of seconds between generation of config BPDUs"; + type uint8 { + range "1..10"; + } + } + leaf max-age { + description + "maximum number of seconds the information in a BPDU is valid"; + type uint8 { + range "6..40"; + } + } + leaf max-hops { + description + "maximum number of hops a BPDU is valid"; + type uint8 { + range "1..255"; + } + } + container simulate { + description + "Spanning tree simulation options"; + container pvst { + description + "Configure PVST simulation options for the spanning tree"; + leaf global { + description + "Enable PVST simulation for the spanning tree"; + type boolean; + } + } + } + } + container optimize { + container bpdu { + leaf transmission { + type boolean; + } + } + } + container pathcost { + description + "Spanning tree pathcost options"; + container method { + description + "Method to calculate default port path cost"; + container long-short { + description + "Spanning tree pathcost long or short"; + choice pathcost-choice { + description + "Choice between the long and short pathcost options"; + leaf long { + description + "Use 32 bit based values for default port path costs"; + type empty; + } + leaf short { + description + "Use 16 bit based values for short path costs"; + type empty; + } + } + } + leaf long { + status deprecated; + description + "Use 32 bit based values for default port path costs"; + type empty; + } + leaf short { + status deprecated; + type empty; + } + } + } + container portfast { + description + "Spanning tree portfast options"; + container bpdufilter { + description + "Enable portfast edge bpdu filter on this switch"; + leaf default { + description + "Enable bpdu filter by default on all portfast edge ports"; + type empty; + } + } + container bpduguard { + description + "Enable portfast edge bpdu guard on this switch"; + leaf default { + description + "Enable bpdu guard by default on all portfast edge ports"; + type empty; + } + } + container edge { + container bpduguard { + description + "Enable portfast edge bpdu guard on this switch"; + leaf default { + description + "Enable bpdu guard by default on all portfast edge ports"; + type empty; + } + } + container bpdufilter { + description + "Enable portfast edge bpdu filter on this switch"; + leaf default { + description + "Enable bpdu filter by default on all portfast edge ports"; + type empty; + } + } + leaf default { + description + "Enable portfast edge by default on all access ports"; + type empty; + } + } + container network { + leaf default { + description + "Enable portfast network by default on all ports"; + type empty; + } + } + leaf default { + description + "Enable portfast by default on all access ports"; + type empty; + } + } + container transmit { + description + "STP transmit parameters"; + leaf hold-count { + description + "Value for txholdcount parameter"; + type uint8 { + range "1..20"; + } + } + } + container uplinkfast { + description + "Enable UplinkFast Feature"; + presence "true"; + leaf max-update-rate { + description + "Rate at which station address updates are sent"; + type uint32 { + range "0..32000"; + } + } + } + leaf mode { + description + "Spanning tree operating mode"; + type enumeration { + enum mst; + enum pvst; + enum rapid-pvst; + } + default "rapid-pvst"; + } + list vlan { + description + "VLAN Switch Spanning Tree"; + key "id"; + leaf id { + type string; + } + leaf max-age { + description + "Set the max age interval for the spanning tree"; + type uint8 { + range "6..40"; + } + } + leaf forward-time { + description + "Set the forward delay for the spanning tree"; + type uint8 { + range "4..30"; + } + } + leaf hello-time { + description + "Set the hello interval for the spanning tree"; + type uint8 { + range "1..10"; + } + } + leaf priority { + description + "Set the bridge priority for the spanning tree"; + type uint16 { + range "0..61440"; + } + must '. mod 4096 = 0' { + error-message "Bridge Priority must be in increments of 4096"; + } + } + container root { + description + "Configure switch as root"; + container primary { + description + "Configure this switch as primary root for this spanning tree"; + leaf diameter { + description + "Network diameter of this spanning tree"; + type uint8 { + range "2..7"; + } + } + leaf hello-time { + description + "Hello interval for this spanning tree"; + type uint8 { + range "1..10"; + } + } + } + container secondary { + description + "Configure switch as secondary root"; + leaf diameter { + description + "Network diameter of this spanning tree"; + type uint8 { + range "2..7"; + } + } + leaf hello-time { + description + "Hello interval for this spanning tree"; + type uint8 { + range "1..10"; + } + } + } + } + } + } + + grouping config-interface-spanning-tree { + container spanning-tree { + description + "Spanning Tree Subsystem"; + leaf bpdufilter { + description + "Don't send or receive BPDUs on this interface"; + type enumeration { + enum disable; + enum enable; + } + } + container bpduguard { + description + "Don't accept BPDUs on this interface"; + choice bpduguard-choice { + leaf disable { + description + "Disable BPDU guard for this interface"; + type empty; + } + leaf enable { + type empty; + description + "Enable BPDU guard for this interface"; + } + } + } + leaf cost { + description + "To set the path cost of the interface"; + type uint32 { + range "1..200000000"; + } + } + leaf guard { + description + "Change an interface's spanning tree guard mode"; + type enumeration { + enum loop; + enum none; + enum root; + } + } + leaf link-type { + description + "Specify a link type for spanning tree tree protocol use"; + type enumeration { + enum point-to-point; + enum shared; + } + } + container portfast-v2 { + description + "Spanning tree portfast options"; + choice portfast-choice { + case access-case { + leaf access { + description + "Enable an interface to move directly to forwarding on link up"; + type empty; + } + } + case disable { + leaf disable { + description + "Disable portfast for this interface"; + type empty; + } + } + case trunk { + leaf trunk { + description + "Enable portfast on the interface even in trunk mode"; + type empty; + } + } + case edge-case { + container edge { + choice edge-choice { + case trunk-case { + leaf trunk { + description + "Enable portfast edge on the interface even in trunk mode"; + type empty; + } + } + case access-case { + leaf access { + description + "Enable portfast edge on the interface in access mode"; + type empty; + } + } + } + } + } + case network { + leaf network { + description + "Enable portfast network on the interface"; + type empty; + } + } + } + } + container portfast { + status deprecated; + description + "(DEPRECATED) Spanning tree portfast options"; + presence "true"; + leaf disable { + status deprecated; + description + "(DEPRECATED) Disable portfast for this interface"; + type empty; + } + leaf trunk { + status deprecated; + description + "(DEPRECATED) Enable portfast on the interface even in trunk mode"; + type empty; + } + leaf edge { + status deprecated; + description + "(DEPRECATED) Enable portfast edge on the interface"; + type empty; + } + } + leaf port-priority { + description + "Spanning tree port-priority options"; + type uint8 { + range "0..240"; + } + must '. mod 16 = 0' { + error-message "Port Priority in increments of 16 is required"; + } + } + list vlan { + description + "VLAN Switch Spanning Tree"; + key "vlan-ids"; + leaf vlan-ids { + description + "vlan range, example: 1,3-5,7,9-11"; + type string; + } + leaf cost { + description + "<1-200000000> Spanning-tree cost"; + type uint32 { + range "1..200000000"; + } + } + leaf port-priority { + description + "<0-240> port priority in increments of 16"; + type uint16 { + range "0..240"; + } + must '. mod 16 = 0' { + error-message "Port Priority in increments of 16 is required"; + } + } + } + container loopguard { + description + "Spanning tree loopguard options"; + leaf default { + description + "Enable loopguard by default on all ports"; + type empty; + } + } + container mst { + description + "Per interface MST configurations"; + list mst-instance { + key "instance"; + leaf instance { + description + "MST instance list, example 0,2-4,6,8-12"; + type string; + } + leaf cost { + description + "<1-200000000> Spanning-tree cost"; + type uint32 { + range "1..200000000"; + } + } + leaf port-priority { + description + "<0-240> port priority in increments of 16"; + type uint16 { + range "0..240"; + } + } + } + leaf pre-standard { + description + "Force pre-standard MST BPDU transmission on port"; + type empty; + } + } + } + } + + augment "/ios:native/ios:spanning-tree" { + uses config-spanning-tree-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:PRP-channel" { + uses config-interface-spanning-tree; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-spanning-tree; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-cfg.yang new file mode 100644 index 000000000..b3dd7b85d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-cfg.yang @@ -0,0 +1,162 @@ +module Cisco-IOS-XE-sslproxy-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sslproxy-cfg"; + prefix sslproxy-ios-xe-cfg; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for SSL proxy configuration data. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping sslproxy-settings { + description + "Advanced settings for SSL Proxy"; + leaf expired-cert { + type string { + pattern '(drop|decrypt)'; + } + description + "Action for expired certificates"; + } + leaf untrusted-cert { + type string { + pattern '(drop|decrypt)'; + } + description + "Action for untrusted certificates"; + } + leaf unknown-status { + type string { + pattern '(drop|decrypt)'; + } + description + "Action for unknown certificate status"; + } + leaf cert-rev-check { + type string { + pattern '(ocsp|none)'; + } + description + "Certificate revocation check"; + } + leaf us-proto-ver { + type string { + pattern '(drop|no-decrypt)'; + } + description + "Action for unsupported protocol version"; + } + leaf us-cipher-suite { + type string { + pattern '(drop|no-decrypt)'; + } + description + "Action for unsupported cipher suite"; + } + leaf failure-mode { + type string { + pattern '(open|close)'; + } + description + "Action for failure mode"; + } + leaf min-tls-ver { + type string { + pattern '(TLSv1|TLSv1.1|TLSv1.2)'; + } + description + "Minimum TLS version for SSL Proxy"; + } + } + + grouping sslproxy-config { + description + "SSL proxy configuration"; + leaf enable { + type boolean; + default "false"; + description + "Enable SSL proxy configuration"; + } + leaf ca-cert-bundle { + type string { + length "1..232"; + } + description + "Filename of CA certificate bundle"; + } + leaf rsa-key-modulus { + type uint32 { + range "1024 .. 4096"; + } + default "2048"; + description + "RSA key length"; + } + leaf cert-lifetime { + type uint32 { + range "1 .. 4294967295"; + } + default "730"; + description + "Certificate lifetime in days"; + } + leaf eckey-type { + type string { + pattern '(P256|P384|P521)'; + } + default "P256"; + description + "EC key type for SSL Proxy"; + } + leaf ca-tp-label { + type string { + length "1..128"; + } + default "PROXY-SIGNING-CA"; + description + "Default Trustpoint label for SSL Proxy"; + } + container settings { + description + "Advanced settings for SSL Proxy"; + uses sslproxy-ios-xe-cfg:sslproxy-settings; + } + } + + container sslproxy-cfg-data { + description + "SSL proxy configuration"; + container sslproxy-config { + presence "sslproxy-config"; + description + "SSL proxy configuration"; + uses sslproxy-ios-xe-cfg:sslproxy-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-rpc.yang new file mode 100644 index 000000000..2ce753a55 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-sslproxy-rpc.yang @@ -0,0 +1,53 @@ +module Cisco-IOS-XE-sslproxy-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-sslproxy-rpc"; + prefix ios-xe-sslproxy-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + rpc sslproxy-update-ca-bundle { + description + "Update certificate authority bundle"; + } + + rpc sslproxy-update-ca-tp-label { + description + "Update certificate authority trustpoint label"; + } + + rpc sslproxy-update-ec-key { + description + "Update EC key"; + } + + rpc sslproxy-update-rsa-key { + description + "Update RSA key"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-member-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-member-oper.yang new file mode 100644 index 000000000..7b5564321 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-member-oper.yang @@ -0,0 +1,475 @@ +module Cisco-IOS-XE-stack-member-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stack-member-oper"; + prefix stack-member-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for operational data of all Stack members. + Copyright (c) 2019-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added stack node latency"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-03-01 { + description + "Added Stackwise-Virtual oper data"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef svl-protocol-status { + type enumeration { + enum svl-conn-disconnected { + value 0; + description + "Stackwise-Virtual connection disconnected"; + } + enum svl-conn-pending { + value 1; + description + "Stackwise-Virtual connection pending"; + } + enum svl-conn-ready { + value 2; + description + "Stackwise-Virtual connection ready"; + } + enum svl-conn-error { + value 3; + description + "Stackwise-Virtual connection error"; + } + enum svl-conn-timeout { + value 4; + description + "Stackwise-Virtual connection timeout"; + } + } + description + "Stackwise-Virtual port status"; + } + + typedef svl-port-status { + type enumeration { + enum svl-port-down { + value 0; + description + "Stackwise-Virtual port down"; + } + enum svl-port-up { + value 1; + description + "Stackwise-Virtual port up"; + } + } + description + "Stackwise-Virtual port status"; + } + + typedef stacking-mode { + type enumeration { + enum mode-stackwise-rear { + value 0; + description + "Mode Stackwise Rear"; + } + enum mode-active-standby { + value 1; + description + "Mode Active Standby"; + } + enum mode-stackwise-geo { + value 2; + description + "Mode Stackwise Geo"; + } + enum mode-stackwise-virtual { + value 3; + description + "Mode Stackwise Virtual"; + } + enum mode-unknown { + value 4; + description + "Mode Unknown"; + } + } + description + "Stack Mode"; + } + + grouping svl-keepalive-stats { + description + "Stackwise-virtual keepalive statistics"; + leaf lmp-tx { + type uint64; + description + "Link-Management-Protocol TX counter"; + } + leaf lmp-rx { + type uint64; + description + "Link-Management-Protocol RX counter"; + } + leaf lmp-tx-seq-no { + type uint64; + description + "Last Link-Management-Protocol TX seq num"; + } + leaf lmp-rx-seq-no { + type uint64; + description + "Last Link-Management-Protocol RX seq num"; + } + leaf lmp-rx-last-good-count { + type uint64; + description + "Link-Management-Protocol RX last good count"; + } + leaf latency-rx-err-count { + type uint64; + description + "Latency RX error counts"; + } + leaf seq-err-rx-count { + type uint64; + description + "Sequence error RX counts"; + } + leaf link-timeout-flap-count { + type uint64; + description + "Link-Management-Protocol link timeout flap counts"; + } + } + + grouping svl-slot-port { + description + "Stackwise-virtual port identification"; + leaf chassis { + type uint32; + description + "Switch number"; + } + leaf slot { + type uint32; + description + "Switch Slot"; + } + leaf port { + type uint32; + description + "Switch Port"; + } + } + + grouping svl-port-info { + description + "Stackwise-virtual port information"; + container local-port { + description + "Local Port info"; + uses stack-member-ios-xe-oper:svl-slot-port; + } + container remote-port { + description + "Remote Port info"; + uses stack-member-ios-xe-oper:svl-slot-port; + } + leaf port-status { + type stack-member-ios-xe-oper:svl-port-status; + description + "Port status info"; + } + leaf link-status-change-time { + type yang:date-and-time; + description + "Link status change timestamp"; + } + leaf link-protocol-status { + type stack-member-ios-xe-oper:svl-protocol-status; + description + "Link protocol status"; + } + leaf conn-status-change-time { + type yang:date-and-time; + description + "Connection status change timestamp"; + } + container port-stats { + description + "Local Port statistics"; + uses stack-member-ios-xe-oper:svl-keepalive-stats; + } + } + + grouping dad-port-info { + description + "Dual-Active-Detection port information"; + container dad-port { + description + "DAD Port info"; + uses stack-member-ios-xe-oper:svl-slot-port; + } + leaf port-status { + type stack-member-ios-xe-oper:svl-port-status; + description + "DAD Port status info"; + } + leaf tx-seq-no { + type uint32; + description + "DAD Port next TX seq num"; + } + } + + grouping stack-node-keepalive { + description + "SDP keepalive counters"; + leaf sent { + type uint64; + description + "Keepalives sent"; + } + leaf received { + type uint64; + description + "Keepalives received"; + } + leaf sent-failure { + type uint64; + description + "Keepalives failed to be sent"; + } + leaf receive-failure { + type uint64; + description + "Keepalives failed to be received"; + } + leaf consecutive-losses { + type uint64; + description + "Consecutive keepalives lost"; + } + } + + grouping stack-ports-stats { + description + "Stack port stats"; + leaf rac-inserted { + type uint64; + units "bytes"; + description + "Outgoing byte count on stack port"; + } + leaf rac-copied { + type uint64; + units "bytes"; + description + "Incoming byte count on stack port"; + } + leaf rac-data-crc-err { + type uint64; + description + "Stack interface data CRC error"; + } + leaf rac-invalid-ringword-err { + type uint64; + description + "Stack interface invalid ring word error"; + } + leaf rac-pcs-codeword-err { + type uint64; + description + "Stack interface PCS error"; + } + leaf rac-rwcrc-err { + type uint64; + description + "Stack interface ring word CRC error"; + } + } + + grouping stack-member-peer-timeout-info { + description + "Peer timeout Info"; + leaf peer-timeout-cfg { + type uint64; + units "milliseconds"; + description + "Peer timeout in milliseconds"; + } + leaf watermark-50-cnt { + type uint64; + description + "Number of times keepalives missed for 50% of timeout value"; + } + leaf watermark-75-cnt { + type uint64; + description + "Number of times keepalives missed for 75% of timeout value"; + } + leaf last-watermark-50time { + when '(../watermark-50-cnt > 0)'; + type yang:date-and-time; + description + "Last time 50% watermark was exceeded"; + } + leaf last-watermark-75time { + when '(../watermark-75-cnt > 0)'; + type yang:date-and-time; + description + "Last time 75% watermark was exceeded"; + } + } + + grouping stack-member-port-info { + description + "Stack member port data"; + leaf port-num { + type uint8; + description + "Port number"; + } + leaf cable-length-cm { + type uint16; + units "centimeters"; + description + "Stack cable length in centimetres"; + } + leaf nbr-port-num { + type uint8; + description + "Neighbor port number"; + } + leaf link-flaps { + type uint16; + description + "Number of link flaps"; + } + container stats { + description + "Stack port stats"; + uses stack-member-ios-xe-oper:stack-ports-stats; + } + leaf stats-time { + type yang:date-and-time; + description + "Last time stats were collected"; + } + list svl-port { + when "(../../stack-mode='mode-stackwise-virtual')"; + description + "Stackwise-virtual ports statistics"; + uses stack-member-ios-xe-oper:svl-port-info; + } + } + + grouping stack-member-info { + description + "Stack member data"; + leaf chassis-num { + type uint8; + description + "Switch number"; + } + list mbr-port { + description + "Stack member port data"; + uses stack-member-ios-xe-oper:stack-member-port-info; + } + container mbr-keepalive { + description + "Stack member keepalive data"; + uses stack-member-ios-xe-oper:stack-node-keepalive; + } + container mbr-peer-timeout { + description + "Stack member peer timeout data"; + uses stack-member-ios-xe-oper:stack-member-peer-timeout-info; + } + leaf stack-mode { + type stack-member-ios-xe-oper:stacking-mode; + description + "Stack mode"; + } + list dad-port { + when "(../stack-mode='mode-stackwise-virtual')"; + description + "Stackwise-virtual DAD ports statistics"; + uses stack-member-ios-xe-oper:dad-port-info; + } + leaf mbr-boottime { + type yang:date-and-time; + description + "Stack member boot time"; + } + leaf latency { + type uint32; + units "nanoseconds"; + description + "Round trip delay to reach peer stack node"; + } + } + + container stack-member-oper-data { + config false; + description + "Stack member operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list stack-member-info { + key "chassis-num"; + description + "Stack member data"; + uses stack-member-ios-xe-oper:stack-member-info; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-mgr-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-mgr-events-oper.yang new file mode 100644 index 000000000..1517079a3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-mgr-events-oper.yang @@ -0,0 +1,637 @@ +module Cisco-IOS-XE-stack-mgr-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stack-mgr-events-oper"; + prefix stack-mgr-events-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for stack manager operations events generated from the Cisco Devices. + These models may produce high volume of data. + Copyright (c) 2019-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved"; + + revision 2023-11-01 { + description + "Added stack node latency"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-03-01 { + description + "- Add Dual-Active-Detection recovery and link timeout events for StackWise Virtual"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Remove unused empty container stack-mgr-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Added semantic version + - Added version mismatch event"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-01-24 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef svl-protocol-status { + type enumeration { + enum svl-conn-disconnected { + value 0; + description + "StackWise Virtual connection disconnected"; + } + enum svl-conn-pending { + value 1; + description + "StackWise Virtual connection pending"; + } + enum svl-conn-ready { + value 2; + description + "StackWise Virtual connection ready"; + } + enum svl-conn-error { + value 3; + description + "StackWise Virtual connection error"; + } + enum svl-conn-timeout { + value 4; + description + "StackWise Virtual connection timeout"; + } + } + description + "StackWise Virtual port status"; + } + + typedef svl-port-status { + type enumeration { + enum svl-port-down { + value 0; + description + "StackWise Virtual port down"; + } + enum svl-port-up { + value 1; + description + "StackWise Virtual port up"; + } + } + description + "StackWise Virtual port status"; + } + + typedef svl-dad-sw-state { + type enumeration { + enum svl-dad-recovery-mode { + value 0; + description + "Switch is entering recovery mode"; + } + enum svl-dad-active { + value 1; + description + "Switch is active"; + } + } + description + "StackWise Virtual Dual-Active-Detection switch state"; + } + + typedef stacking-mode { + type enumeration { + enum mode-stackwise-rear { + value 0; + description + "Mode Stackwise Rear"; + } + enum mode-active-standby { + value 1; + description + "Mode Active Standby"; + } + enum mode-stackwise-geo { + value 2; + description + "Mode Stackwise Geo"; + } + enum mode-stackwise-virtual { + value 3; + description + "Mode StackWise Virtual"; + } + enum mode-unknown { + value 4; + description + "Mode Unknown"; + } + } + description + "Stack Mode"; + } + + typedef stack-mgr-notification-severity { + type enumeration { + enum critical { + value 0; + } + enum major { + value 1; + } + enum minor { + value 2; + } + } + description + "Notification severity"; + } + + typedef stack-mgr-eventq-event-type { + type enumeration { + enum node-added { + value 0; + description + "Node is added to the stack"; + } + enum node-removed { + value 1; + description + "Node is removed from the stack"; + } + enum node-new-master { + value 2; + description + "New Master or Active elected in the stack"; + } + enum node-version-mismatch { + value 3; + description + "Node version mismatch with other members in the stack"; + } + enum node-dual-active-recovery { + value 4; + description + "Dual-active detected and one switch went into recovery mode"; + } + enum node-svl-link-timeout { + value 5; + description + "StackWise Virtual link has timed out"; + } + } + description + "Stack Node Role"; + } + + grouping svl-keepalive-stats { + description + "StackWise Virtual keepalive statistics"; + leaf lmp-tx { + type uint64; + description + "Link-Management-Protocol TX counter"; + } + leaf lmp-rx { + type uint64; + description + "Link-Management-Protocol RX counter"; + } + leaf lmp-tx-seq-no { + type uint64; + description + "Last Link-Management-Protocol TX seq num"; + } + leaf lmp-rx-seq-no { + type uint64; + description + "Last Link-Management-Protocol RX seq num"; + } + leaf lmp-rx-last-good-count { + type uint64; + description + "Link-Management-Protocol RX last good count"; + } + leaf latency-rx-err-count { + type uint64; + description + "Latency RX error counts"; + } + leaf seq-err-rx-count { + type uint64; + description + "Sequence error RX counts"; + } + leaf link-timeout-flap-count { + type uint64; + description + "Link-Management-Protocol link timeout flap counts"; + } + } + + grouping svl-slot-port { + description + "StackWise Virtual port identification"; + leaf chassis { + type uint32; + description + "Switch number"; + } + leaf slot { + type uint32; + description + "Switch slot"; + } + leaf port { + type uint32; + description + "Switch port"; + } + } + + grouping svl-port-info { + description + "StackWise Virtual port information"; + container local-port { + description + "Local port info"; + uses stack-mgr-events-oper:svl-slot-port; + } + container remote-port { + description + "Remote port info"; + uses stack-mgr-events-oper:svl-slot-port; + } + leaf port-status { + type stack-mgr-events-oper:svl-port-status; + description + "Port status info"; + } + leaf link-status-change-time { + type yang:date-and-time; + description + "Link status change timestamp"; + } + leaf link-protocol-status { + type stack-mgr-events-oper:svl-protocol-status; + description + "Link protocol status"; + } + leaf conn-status-change-time { + type yang:date-and-time; + description + "Connection status change timestamp"; + } + container port-stats { + description + "Local port statistics"; + uses stack-mgr-events-oper:svl-keepalive-stats; + } + } + + grouping dad-port-info { + description + "Dual-Active-Detection port information"; + container dad-port { + description + "Dual-Active-Detection port info"; + uses stack-mgr-events-oper:svl-slot-port; + } + leaf port-status { + type stack-mgr-events-oper:svl-port-status; + description + "Dual-Active-Detection port status info"; + } + leaf tx-seq-no { + type uint32; + description + "Dual-Active-Detection port next TX seq num"; + } + } + + grouping stack-node-keepalive { + description + "SDP keepalive counters"; + leaf sent { + type uint64; + description + "Keepalives sent"; + } + leaf received { + type uint64; + description + "Keepalives received"; + } + leaf sent-failure { + type uint64; + description + "Keepalives failed to be sent"; + } + leaf receive-failure { + type uint64; + description + "Keepalives failed to be received"; + } + leaf consecutive-losses { + type uint64; + description + "Consecutive keepalives lost"; + } + } + + grouping stack-ports-stats { + description + "Stack port stats"; + leaf rac-inserted { + type uint64; + units "bytes"; + description + "Outgoing byte count on stack port"; + } + leaf rac-copied { + type uint64; + units "bytes"; + description + "Incoming byte count on stack port"; + } + leaf rac-data-crc-err { + type uint64; + description + "Stack interface data CRC error"; + } + leaf rac-invalid-ringword-err { + type uint64; + description + "Stack interface invalid ring word error"; + } + leaf rac-pcs-codeword-err { + type uint64; + description + "Stack interface PCS error"; + } + leaf rac-rwcrc-err { + type uint64; + description + "Stack interface ring word CRC error"; + } + } + + grouping stack-member-peer-timeout-info { + description + "Peer timeout Info"; + leaf peer-timeout-cfg { + type uint64; + units "milliseconds"; + description + "Peer timeout in milliseconds"; + } + leaf watermark-50-cnt { + type uint64; + description + "Number of times keepalives missed for 50% of timeout value"; + } + leaf watermark-75-cnt { + type uint64; + description + "Number of times keepalives missed for 75% of timeout value"; + } + leaf last-watermark-50time { + when '(../watermark-50-cnt > 0)'; + type yang:date-and-time; + description + "Last time 50% watermark was exceeded"; + } + leaf last-watermark-75time { + when '(../watermark-75-cnt > 0)'; + type yang:date-and-time; + description + "Last time 75% watermark was exceeded"; + } + } + + grouping stack-member-port-info { + description + "Stack member port data"; + leaf port-num { + type uint8; + description + "Port number"; + } + leaf cable-length-cm { + when "(../../stack-mode!='mode-stackwise-virtual')"; + type uint16; + units "centimeters"; + description + "Stack cable length in centimetres"; + } + leaf nbr-port-num { + when "(../../stack-mode!='mode-stackwise-virtual')"; + type uint8; + description + "Neighbor port number"; + } + leaf link-flaps { + when "(../../stack-mode!='mode-stackwise-virtual')"; + type uint16; + description + "Number of link flaps"; + } + container stats { + when "(../../stack-mode!='mode-stackwise-virtual')"; + description + "Stack port stats"; + uses stack-mgr-events-oper:stack-ports-stats; + } + leaf stats-time { + when "(../../stack-mode!='mode-stackwise-virtual')"; + type yang:date-and-time; + description + "Last time stats were collected"; + } + list svl-port { + when "(../../stack-mode='mode-stackwise-virtual')"; + description + "StackWise Virtual ports statistics"; + uses stack-mgr-events-oper:svl-port-info; + } + } + + grouping stack-member-info { + description + "Stack member data"; + leaf chassis-num { + type uint8; + description + "Switch number"; + } + list mbr-port { + description + "Stack member port data"; + uses stack-mgr-events-oper:stack-member-port-info; + } + container mbr-keepalive { + description + "Stack member keepalive data"; + uses stack-mgr-events-oper:stack-node-keepalive; + } + container mbr-peer-timeout { + description + "Stack member peer timeout data"; + uses stack-mgr-events-oper:stack-member-peer-timeout-info; + } + leaf stack-mode { + type stack-mgr-events-oper:stacking-mode; + description + "Stack mode"; + } + list dad-port { + when "(../stack-mode='mode-stackwise-virtual')"; + description + "StackWise Virtual Dual-Active-Detection ports statistics"; + uses stack-mgr-events-oper:dad-port-info; + } + leaf mbr-boottime { + type yang:date-and-time; + description + "Stack member boot time"; + } + leaf latency { + type uint32; + units "nanoseconds"; + description + "Round trip delay to reach peer stack node"; + } + } + + grouping svl-dad-event-info { + description + "StackWise Virtual Dual-Active-Detection recovery event information"; + leaf switch-state { + type stack-mgr-events-oper:svl-dad-sw-state; + description + "State of the switch"; + } + container member-stats { + description + "Statistics of the switch during Dual-Active-Detection recovery event"; + uses stack-mgr-events-oper:stack-member-info; + } + } + + grouping svl-timeout-event-info { + description + "StackWise Virtual link timeout event information"; + container local-port-info { + description + "Operational information of local port member"; + uses stack-mgr-events-oper:svl-port-info; + } + } + + grouping stack-mgr-eventq-db-elem { + description + "Stack manager client events data model"; + leaf severity { + type stack-mgr-events-oper:stack-mgr-notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "Mgmt IP address"; + } + leaf event { + type stack-mgr-events-oper:stack-mgr-eventq-event-type; + description + "Stack Manager event type"; + } + leaf member-number { + type uint8; + description + "Stack member number for the event"; + } + leaf serial-number { + type string; + description + "Stack member serial number for the event"; + } + leaf pid { + type string; + description + "Stack member model number for the event"; + } + choice event-detail-type-choice { + description + "Event type for additional details"; + case node-dual-active-recovery { + container svl-dad-info { + description + "StackWise Virtual dual-active recovery event information"; + uses stack-mgr-events-oper:svl-dad-event-info; + } + } + case node-svl-link-timeout { + container svl-link-timeout-info { + description + "StackWise Virtual link timeout event information"; + uses stack-mgr-events-oper:svl-timeout-event-info; + } + } + } + } + + notification stkmevent { + description + "Stack manager client operational events. Provides an event for each significant activity in stack. It may generate high volume of data, depending on scale"; + uses stack-mgr-events-oper:stack-mgr-eventq-db-elem; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-oper.yang new file mode 100644 index 000000000..dd3bc5b20 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-oper.yang @@ -0,0 +1,661 @@ +module Cisco-IOS-XE-stack-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stack-oper"; + prefix stack-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Stack operational data. + Copyright (c) 2018-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added HA topology and an indication of a pending reload. + - Removed leaf constraints. + - Marked interface-mtu leaf deprecated"; + reference + "1.8.0"; + cisco-semver:module-version "1.8.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-03-01 { + description + "Added HA related information"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-03-01 { + description + "Added Stack and per-member boot time information"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-11-01 { + description + "Added stack info list"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-07-01 { + description + "Added stack port counters."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-03-01 { + description + "Added reload reason leaf for 17.2.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-06-06 { + description + "- Added node role, state and stacking mode information. + - Added high availability interface MTU value. + - Added standby SSO flag. + - Added stacking port state. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-05-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef stack-node-role-id { + type enumeration { + enum role-unknown { + value 0; + description + "Role Unknown"; + } + enum role-active { + value 1; + description + "Role Active"; + } + enum role-standby { + value 2; + description + "Role Standby"; + } + enum role-member { + value 3; + description + "Role Member"; + } + } + description + "Stack Node Role"; + } + + typedef stack-node-state { + type enumeration { + enum state-configured { + value 0; + description + "State Configured"; + } + enum state-waiting { + value 1; + description + "State Waiting"; + } + enum state-progressing { + value 2; + description + "State Progressing"; + } + enum state-initializing { + value 3; + description + "State Initializing"; + } + enum state-ready { + value 4; + description + "State Ready"; + } + enum state-master-reinit { + value 5; + description + "State Master Re-initializing"; + } + enum state-feature-mismatch { + value 6; + description + "State Feature Mismatch"; + } + enum state-version-mismatch { + value 7; + description + "State Version Mismatch"; + } + enum state-license-mismatch { + value 8; + description + "State License Mismatch"; + } + enum state-platform-mismatch { + value 9; + description + "State Platform Mismatch"; + } + enum state-platform-and-license-mismatch { + value 10; + description + "State Platform and License Mismatch"; + } + enum state-invalid { + value 11; + description + "State Invalid"; + } + enum state-provisioned { + value 12; + description + "State Provisioned"; + } + enum state-removed { + value 13; + description + "State Removed"; + } + enum state-unprovisioned { + value 14; + description + "State Un-provisioned"; + } + enum state-os-mismatch { + value 15; + description + "State OS Mismatch"; + } + enum state-unknown { + value 16; + description + "State Unknown"; + } + } + description + "Stack Node State"; + } + + typedef stacking-mode { + type enumeration { + enum mode-stackwise-rear { + value 0; + description + "Mode Stackwise Rear"; + } + enum mode-active-standby { + value 1; + description + "Mode Active Standby"; + } + enum mode-stackwise-geo { + value 2; + description + "Mode Stackwise Geo"; + } + enum mode-stackwise-virtual { + value 3; + description + "Mode Stackwise Virtual"; + } + enum mode-unknown { + value 4; + description + "Mode Unknown"; + } + } + description + "Stack Mode"; + } + + typedef stacking-port-state { + type enumeration { + enum link-down { + value 0; + description + "Port State Down"; + } + enum link-up { + value 1; + description + "Port State Up"; + } + enum link-no-cable { + value 2; + description + "Port State No Cable"; + } + } + description + "Stack Port State"; + } + + typedef stack-ring-status { + type enumeration { + enum half-ring { + value 0; + description + "Ring is Half"; + } + enum full-ring { + value 1; + description + "Ring is Full"; + } + enum standalone { + value 2; + description + "Ring is Standalone"; + } + } + description + "Stack Ring State"; + } + + typedef stack-type { + type enumeration { + enum stack-type-stacking { + value 0; + description + "Type Stacking"; + } + enum stack-type-remote-ha { + value 1; + description + "Type Remote HA"; + } + enum stack-type-unknown { + value 2; + description + "Type Unknown"; + } + } + description + "Type of Stack"; + } + + typedef stack-topology { + type enumeration { + enum stack-type-n-plus-one { + value 0; + description + "Type N Plus One"; + } + enum stack-type-one-plus-one { + value 1; + description + "Type One Plus One"; + } + } + description + "Type of Stack topology"; + } + + typedef stack-mode-config { + type enumeration { + enum stack-mode-config-active { + value 0; + description + "Mode configured as Active"; + } + enum stack-mode-config-standby { + value 1; + description + "Mode configured as Standby"; + } + enum stack-mode-config-member { + value 2; + description + "Mode configured as Member"; + } + enum stack-mode-config-none { + value 3; + description + "Mode not configured"; + } + } + description + "Configured Stack Mode"; + } + + grouping stack-node-keepalive { + description + "Stack Node Keepalive Counters"; + leaf sent { + type uint64; + description + "Keepalive Request Sent"; + } + leaf received { + type uint64; + description + "Keepalive Response Received"; + } + leaf sent-failure { + type uint64; + description + "Keepalive Request Sent Failure"; + } + leaf receive-failure { + type uint64; + description + "Keepalive Response Failure"; + } + leaf consecutive-losses { + type uint64; + description + "Keepalive Consecutive Losses"; + } + } + + grouping stack-ports-stats { + description + "Stack port statistics"; + leaf rac-inserted { + type uint64; + units "bytes"; + description + "Ring access controller ingress count"; + } + leaf rac-copied { + type uint64; + units "bytes"; + description + "Ring access controller egress count"; + } + leaf rac-data-crc-err { + type uint64; + units "packets"; + description + "Ring access controller data CRC error count"; + } + leaf rac-invalid-ringword-err { + type uint64; + units "packets"; + description + "Ring access controller invalid ring word received error count"; + } + leaf rac-pcs-codeword-err { + type uint64; + units "packets"; + description + "Ring access controller invalid physical coding sublayer code word received error count"; + } + leaf rac-rwcrc-err { + type uint64; + units "packets"; + description + "Ring access controller ring word CRC error count"; + } + } + + grouping stack-port-info { + description + "Stack port information"; + leaf port-num { + type uint8; + description + "Stack Port Number"; + } + leaf port-state { + type stack-ios-xe-oper:stacking-port-state; + description + "Stack Port State"; + } + leaf switch-nbr-port { + type uint8; + description + "Switch Number connected to Stack Port"; + } + container sp-stats { + description + "Stack port statistics"; + uses stack-ios-xe-oper:stack-ports-stats; + } + leaf sp-stats-time { + type yang:date-and-time; + description + "Stack port statistics are updated periodically. + This leaf captures the timestamp of the last update."; + } + } + + grouping stack-node-info { + description + "Stack Node Data"; + leaf chassis-number { + type uint8; + description + "Chassis Number"; + } + leaf priority { + type uint8; + description + "Chassis Priority"; + } + leaf serial-number { + type string; + description + "Serial Number"; + } + leaf latency { + type uint32; + units "nanoseconds"; + description + "Latency in nanoseconds"; + } + container keepalive-counters { + description + "Keepalive counters"; + uses stack-ios-xe-oper:stack-node-keepalive; + } + leaf interface-mtu { + type uint32; + units "bytes"; + status deprecated; + description + "Interface MTU is deprecated since it does not belong to stack information"; + } + leaf role { + type stack-ios-xe-oper:stack-node-role-id; + description + "Chassis Role"; + } + leaf node-state { + type stack-ios-xe-oper:stack-node-state; + description + "Chassis State"; + } + leaf stack-mode { + type stack-ios-xe-oper:stacking-mode; + description + "Stack mode"; + } + leaf sso-ready-flag { + type boolean; + description + "Standby SSO Ready flag"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address of the switch"; + } + list stack-ports { + description + "Switch Stack Port link Status"; + uses stack-ios-xe-oper:stack-port-info; + } + leaf reload-reason { + type string; + description + "Reload reason for all stack members"; + } + leaf ha-interface { + when "(../stack-mode='mode-active-standby')"; + type string; + description + "HA interface"; + } + leaf local-ip { + when "(../stack-mode='mode-active-standby')"; + type inet:ip-address; + description + "Local IP address"; + } + leaf local-ip-mask { + when "(../stack-mode='mode-active-standby')"; + type inet:ip-address; + description + "Local IP address mask"; + } + leaf remote-ip { + when "(../stack-mode='mode-active-standby')"; + type inet:ip-address; + description + "Remote IP address"; + } + leaf remote-mac-address { + when "(../stack-mode='mode-active-standby')"; + type yang:mac-address; + description + "Remote mac address"; + } + leaf peer-timeout { + when "(../stack-mode='mode-active-standby')"; + type uint16; + units "milliseconds"; + description + "Peer timeout"; + } + leaf retry-count { + when "(../stack-mode='mode-active-standby')"; + type uint16; + description + "Retry count"; + } + leaf hw-version { + type string; + description + "Hardware version of the node"; + } + leaf mode { + type stack-ios-xe-oper:stack-type; + description + "Platform HA or stacking capability"; + } + leaf configured-mode { + type stack-ios-xe-oper:stack-mode-config; + description + "Current HA configuration when mode-reload-pending is not set and expected HA configuration after reboot when mode-reload-pending is set"; + } + leaf mac-persistency-wait-time { + type uint32; + units "minutes"; + description + "MAC persistent wait time. When value is 0 then indefinite wait time"; + } + leaf mode-reload-pending { + type boolean; + description + "HA topology config has changed and a reload is pending for config update"; + } + leaf topology { + type stack-ios-xe-oper:stack-topology; + description + "HA topology"; + } + } + + grouping stack-info { + description + "Stack Data"; + leaf size { + type uint8; + description + "Stack size"; + } + leaf ring-speed { + type uint64; + description + "Stack Ring speed"; + } + leaf ring-status { + type stack-ios-xe-oper:stack-ring-status; + description + "Stack Ring status"; + } + leaf stack-mac-address { + type yang:mac-address; + description + "Stack MAC address"; + } + leaf stack-boottime { + type yang:date-and-time; + description + "Stack boot time"; + } + } + + container stack-oper-data { + config false; + description + "stack operational data"; + list stack-node { + key "chassis-number"; + description + "Stack Node Data"; + uses stack-ios-xe-oper:stack-node-info; + } + container stack-info { + presence "stack-info"; + description + "High level Stack Data"; + uses stack-ios-xe-oper:stack-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-power-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-power-rpc.yang new file mode 100644 index 000000000..a35a99c82 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stack-power-rpc.yang @@ -0,0 +1,87 @@ +module Cisco-IOS-XE-stack-power-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stack-power-rpc"; + prefix stack-power-rpc-ios-xe; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for stack-power port enable disable actions. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef stkpwr-state { + type enumeration { + enum disable { + value 0; + description + "Disable stack power port"; + } + enum enable { + value 1; + description + "Enable stack power port"; + } + } + description + "Stack port status"; + } + + grouping stkpwr-change { + description + "Set the switch stack-port status"; + leaf switch-number { + type uint8 { + range "1..16"; + } + mandatory true; + description + "Switch number"; + } + leaf port-number { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Stack port number"; + } + leaf stkpwr-state { + type stack-power-rpc-ios-xe:stkpwr-state; + mandatory true; + description + "Stack port state"; + } + } + + rpc set-stkpwr-port-state { + description + "Set the stack port status for a switch."; + input { + uses stack-power-rpc-ios-xe:stkpwr-change; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stacking-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stacking-oper.yang new file mode 100644 index 000000000..49dbb085d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stacking-oper.yang @@ -0,0 +1,277 @@ +module Cisco-IOS-XE-stacking-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stacking-oper"; + prefix stacking-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring all parameters of stack in a Network Element. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added interface names for stack ports"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-06-06 { + description + "- Added semantic version. + - Model is marked deprecated."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-09-19 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef oper-switch-role { + type enumeration { + enum switch-role-unknown { + value 0; + description + "Switch Role: Unknown"; + } + enum switch-state-active { + value 1; + description + "Switch Role: Active"; + } + enum switch-state-standby { + value 2; + description + "Switch Role: Standby"; + } + enum switch-state-member { + value 3; + description + "Switch Role: Member"; + } + } + description + "Role of the Switch in Stack or Standalone"; + } + + typedef oper-switch-state { + type enumeration { + enum switch-state-invalid { + value 0; + description + "Switch is in Invalid state"; + } + enum switch-state-unknown { + value 1; + description + "Switch is in Unknown state"; + } + enum switch-state-waiting { + value 2; + description + "Switch is in Waiting state"; + } + enum switch-state-initializing { + value 3; + description + "Switch is in Initializing state"; + } + enum switch-state-version-mismatch { + value 4; + description + "Version Mismatch between Switches in Stack"; + } + enum switch-state-ready { + value 5; + description + "Switch is in Ready state"; + } + enum switch-state-re-initializing { + value 6; + description + "Switch is in re-initializing state"; + } + enum switch-state-feature-mismatch { + value 7; + description + "Feature Mismatch between Active and the switch in stack"; + } + enum switch-state-progressing { + value 8; + description + "Switch is in Progressing state"; + } + enum switch-state-configured { + value 9; + description + "Switch is in Configured state"; + } + enum switch-state-created { + value 10; + description + "Switch is in Created state"; + } + enum switch-state-removed { + value 11; + description + "Switch is in Removed state"; + } + enum switch-state-deleted { + value 12; + description + "Switch is in Deleted state"; + } + enum switch-state-license-mismatch { + value 13; + description + "License Mismatch between Active and the switch in stack"; + } + enum switch-state-platform-mismatch { + value 14; + description + "Platform Mismatch between Active and the switch in stack"; + } + enum switch-state-platform-and-license-mismatch { + value 15; + description + "Both Platform and License Mismatch between Active and the switch in stack"; + } + enum switch-state-os-mismatch { + value 16; + description + "OS Mismatch between Active and the switch in stack"; + } + } + description + "State of the switch"; + } + + grouping stack-data { + description + "Details of the Stack"; + leaf stack-mac-address { + type yang:mac-address; + description + "MAC address for a Stack or Standalone"; + } + leaf is-local-mac { + type boolean; + description + "Identifies if the stack MAC belongs to the Active switch's MAC(Local) or outside switch's MAC(Foreign)"; + } + leaf mac-persistent-timer { + type uint32; + description + "Persistent timer for updating the stack MAC address"; + } + } + + grouping switch-oper-info { + description + "Detailed Information of Switch"; + leaf switch-num { + type uint8; + description + "Switch Number"; + } + leaf role { + type stacking-ios-xe-oper:oper-switch-role; + description + "Switch Role in Stack or Standalone"; + } + leaf state { + type stacking-ios-xe-oper:oper-switch-state; + description + "Switch State in Stack or Standalone"; + } + leaf priority { + type uint8; + description + "Switch Priority in Stack or Standalone"; + } + leaf mac-address { + type yang:mac-address; + description + "MAC Address of the switch"; + } + leaf hw-version { + type string; + description + "Hardware Version of the switch"; + } + leaf is-stackport-1-up { + type boolean; + description + "Switch Stack Port link 1 Status"; + } + leaf stackport-1-nbr-sw { + type uint8; + description + "Switch Number connected to Stack port link 1"; + } + leaf is-stackport-2-up { + type boolean; + description + "Switch Stack Port link 2 Status"; + } + leaf stackport-2-nbr-sw { + type uint8; + description + "Switch Number connected to Stack port link 2"; + } + leaf stackport-ifname1 { + type string; + description + "Stack Port interface name Port 1"; + } + leaf stackport-ifname2 { + type string; + description + "Stack Port interface name Port 2"; + } + } + + container stacking-oper-data { + config false; + status deprecated; + description + "Top-level container for Stack operational data"; + container stack-data { + presence "stack-data"; + description + "Details of the Stack"; + uses stacking-ios-xe-oper:stack-data; + } + list switch-oper-info { + key "switch-num"; + description + "Detailed Information of Switch"; + uses stacking-ios-xe-oper:switch-oper-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-stackwise-virtual.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-stackwise-virtual.yang new file mode 100644 index 000000000..90f251e84 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-stackwise-virtual.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XE-stackwise-virtual { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-stackwise-virtual"; + prefix ios-stackwise-virtual; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "StackWise Virtual Interface for the NetConf protocol: Client side + Cisco XE StackWise Virtual Yang Model. + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Remove presence from pagp command"; + cisco-semver:module-version "1.1.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-06-05 { + description + "Initial revision"; + } + + grouping config-stackwise-virtual-grouping { + container domain { + description + "Set the Stackwise Virtual switch domain number"; + leaf domain { + type uint16 { + range "1..255"; + } + } + } + container dual-active { + description + "Stackwise Virtual dual active detection"; + container detection { + description + "Stackwise Virtual dual active detection configuration"; + container pagp { + description + "Dual-active detection using PAgP"; + presence "true"; + container trust { + description + "Trusted channels for PAgP dual-active detection"; + container channel-group { + description + "Etherchannel/port bundle to be used for pagp dual-active detection"; + leaf channel-group-number { + description + "Percent range from 1 to 128."; + type uint16 { + range "1..128"; + } + } + } + } + } + } + } + } + + augment "/ios:native/ios:stackwise-virtual" { + uses config-stackwise-virtual-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-cp-svl-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-cp-svl-oper.yang new file mode 100644 index 000000000..4294b46a2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-cp-svl-oper.yang @@ -0,0 +1,178 @@ +module Cisco-IOS-XE-switch-cp-svl-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-cp-svl-oper"; + prefix switch-cp-svl-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "A collection of YANG definitions for switch control path + StackWise Virtual operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping svl-member-port-info { + description + "Identification and statistics for each port in a StackWise Virtual link"; + leaf if-name { + type string; + description + "Name of the interface"; + } + leaf bundled { + type boolean; + description + "Port is part of the stack etherchannel"; + } + leaf is-control-port { + type boolean; + description + "Port is control port of this link"; + } + leaf total-lmp-tx { + type uint64; + description + "Count of all Link Management Protocol packets sent to peer"; + } + leaf total-lmp-rx { + type uint64; + description + "Count of all Link Management Protocol packets received from peer"; + } + leaf last-lmp-tx-seq { + type uint64; + description + "Sequence number of the last Link Management Protocol packet sent to peer"; + } + leaf last-lmp-rx-seq { + type uint64; + description + "Sequence number of the last Link Management Protocol packet received from peer"; + } + leaf lmp-latency-tx { + type uint32; + description + "Count of Link Management Protocol latency error packets sent to peer"; + } + leaf lmp-latency-rx { + type uint32; + description + "Count of Link Management Protocol latency error packets received from peer"; + } + leaf lmp-seq-err-tx { + type uint32; + description + "Count of Link Management Protocol sequence error packets sent to peer"; + } + leaf lmp-seq-err-rx { + type uint32; + description + "Count of Link Management Protocol sequence error packets received from peer"; + } + } + + grouping svl-link-info { + description + "StackWise Virtual link information"; + leaf link-num { + type uint16; + description + "StackWise Virtual link number"; + } + leaf total-sdp-tx { + type uint64; + description + "Count of all StackWise Discovery Protocol packets sent to peer"; + } + leaf total-sdp-rx { + type uint64; + description + "Count of all StackWise Discovery Protocol packets received from peer"; + } + leaf last-sdp-tx-seq { + type uint64; + description + "Sequence number of the last StackWise Discovery Protocol packet sent to peer"; + } + leaf last-sdp-rx-seq { + type uint64; + description + "Sequence number of the last StackWise Discovery Protocol packet received from peer"; + } + leaf oob1-tx-counter { + type uint64; + description + "Count of Out-of-Band 1 thread packets sent to peer"; + } + leaf oob1-rx-counter { + type uint64; + description + "Count of Out-of-Band 1 thread packets received from peer"; + } + leaf oob2-tx-counter { + type uint64; + description + "Count of Out-of-Band 2 thread packets sent to peer"; + } + leaf oob2-rx-counter { + type uint64; + description + "Count of Out-of-Band 2 thread packets received from peer"; + } + list member-port { + description + "List of the interfaces that are members of this link"; + uses switch-cp-svl-ios-xe-oper:svl-member-port-info; + } + } + + container switch-cp-svl-oper-data { + config false; + description + "Switch control path StackWise Virtual operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list svl-link-info { + key "link-num"; + description + "StackWise Virtual link information"; + uses switch-cp-svl-ios-xe-oper:svl-link-info; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-deviation.yang new file mode 100644 index 000000000..b14626500 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-deviation.yang @@ -0,0 +1,168 @@ +module Cisco-IOS-XE-switch-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-deviation"; + prefix ios-sw-d; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Remove deviations for deprecated port-security maxcount + - Added deviations for boot-start-marker and boot-end-marker"; + cisco-semver:module-version "1.6.0"; + } + revision 2023-11-01 { + description + " - Move line vty range to quake/switch deviation files"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-07-01 { + description + "- Add deviation for autohangup"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-07-01 { + description + "- Updated range for priority to <8-100000000> kbps"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-11-01 { + description + "- Added IP routing default value deviation"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-12-01 { + description + "Added interface switchport deviation"; + } + + deviation "/ios:native/ios:policy/ios-policy:class-map/ios-policy:match/ios-policy:access-group/ios-policy:index" { + deviate replace { + type uint32 { + range "1..2799"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:bandwidth-case/ios-policy:bandwidth/ios-policy:bits" { + deviate replace { + type uint32 { + range "100..40000000"; + } + } + } + + deviation "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:class/ios-policy:action-list/ios-policy:action-param/ios-policy:priority-case/ios-policy:priority/ios-policy:priority-type/ios-policy:kilo-bits/ios-policy:kilo-bits" { + deviate replace { + type uint32 { + range "8..100000000"; + } + } + } + + deviation "/ios:native/ios:ip/ios:routing-conf/ios:routing" { + deviate replace { + default "false"; + } + } + + deviation "/ios:native/ios:line/ios:console/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:aux/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:vty/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:line-list/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:async-line-single/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:async-line-range/ios:autohangup_only" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:console/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:aux/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:vty/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:line-list/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:async-line-single/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:line/ios:async-line-range/ios:autohangup" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios:switchport-wrapper/ios:switchport/ios:trunk/ios:allowed/ios:vlan" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport-wrapper/ios:switchport/ios:trunk/ios:allowed/ios:vlan" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:ucse/ios:switchport-wrapper/ios:switchport/ios:trunk/ios:allowed/ios:vlan" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Ethernet-Internal/ios:switchport-wrapper/ios:switchport/ios:trunk/ios:allowed/ios:vlan" { + deviate not-supported; + } + + deviation "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:switchport-wrapper/ios:switchport/ios:trunk/ios:allowed/ios:vlan" { + deviate not-supported; + } + + deviation "/ios:native/ios:boot-start-marker" { + deviate not-supported; + } + + deviation "/ios:native/ios:boot-end-marker" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-mac-learning-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-mac-learning-oper.yang new file mode 100644 index 000000000..8b198779e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-mac-learning-oper.yang @@ -0,0 +1,123 @@ +module Cisco-IOS-XE-switch-dp-mac-learning-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-dp-mac-learning-oper"; + prefix switch-dp-mac-learning-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for switch device datapath MAC learning statistics + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping learning-stats { + description + "Datapath MAC learning statistics"; + leaf learning-error-count { + type uint32; + description + "Count of learning errors"; + } + leaf learning-cache-count { + type uint32; + description + "Count of learning cache entries"; + } + leaf learning-cache-validation-failure { + type uint32; + description + "Count of learning cache validation failures"; + } + } + + grouping datapath-mac-learning-stats { + description + "MAC address learning statistics"; + leaf general-err-count { + type uint32; + description + "Count of general errors"; + } + leaf ios-notif-count { + type uint32; + description + "Count of notifications sent to IOS process"; + } + leaf ios-notif-cache-count { + type uint32; + description + "Count of cached notifications sent to IOS process"; + } + container l2-accumulated { + description + "Layer 2 learning counters"; + uses switch-dp-mac-learning-oper:learning-stats; + } + container l3-accumulated { + description + "Layer 3 learning counters"; + uses switch-dp-mac-learning-oper:learning-stats; + } + } + + grouping mac-learning-statistics { + description + "This object contains datapath MAC learning statistics"; + container stats { + description + "This object contains the counters"; + uses switch-dp-mac-learning-oper:datapath-mac-learning-stats; + } + } + + container switch-dp-mac-learning-oper-data { + config false; + description + "Switching device datapath MAC learning operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + container mac-learning-stats { + presence "mac-learning-stats"; + description + "This object contains MAC learning statistics"; + uses switch-dp-mac-learning-oper:mac-learning-statistics; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-punt-inject-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-punt-inject-oper.yang new file mode 100644 index 000000000..cea6be3c5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-punt-inject-oper.yang @@ -0,0 +1,108 @@ +module Cisco-IOS-XE-switch-dp-punt-inject-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-dp-punt-inject-oper"; + prefix switch-dp-punt-inject-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for switching device datapath punt and inject operational data. + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping brief-punt-cpuq-statistics { + description + "Brief punt CPU queue statistics"; + leaf cpuq-id { + type uint8; + description + "CPU queue identification"; + } + leaf rx-recv-prev { + type uint64; + description + "Previous count of packets received from ASIC"; + } + leaf rx-recv-cur { + type uint64; + description + "Current count of packets received from ASIC"; + } + leaf rx-recv-delta { + type uint64; + description + "Delta of counts of packets received from ASIC"; + } + leaf rx-dropped-prev { + type uint64; + description + "Previous count of dropped RX packets"; + } + leaf rx-dropped-cur { + type uint64; + description + "Current count of dropped RX packets"; + } + leaf rx-dropped-delta { + type uint64; + description + "Delta of counts of dropped RX packets"; + } + leaf cpu-punt-queue-name { + type string; + description + "Name of CPU punt queue"; + } + } + + container switch-dp-punt-inject-oper-data { + config false; + description + "Switching device datapath punt and inject operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list punt-inject-cpuq-brief-stats { + key "cpuq-id"; + description + "This list contains brief punt CPU queue statistics"; + uses switch-dp-punt-inject-oper:brief-punt-cpuq-statistics; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-resources-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-resources-oper.yang new file mode 100644 index 000000000..4656778ad --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-dp-resources-oper.yang @@ -0,0 +1,400 @@ +module Cisco-IOS-XE-switch-dp-resources-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-dp-resources-oper"; + prefix dp-resources-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring the usage of switching data path resources. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dp-proto { + type enumeration { + enum dp-proto-ipv4 { + value 0; + description + "IPV4 protocol"; + } + enum dp-proto-ipv6 { + value 1; + description + "IPV6 protocol"; + } + enum dp-proto-mpls { + value 2; + description + "MPLS protocol"; + } + enum dp-proto-other { + value 3; + description + "Protocol other than IPV4/IPV6/MPLS"; + } + } + description + "Data path protocol"; + } + + typedef dp-feature { + type enumeration { + enum dp-feature-mac-address-table { + value 0; + description + "Unicast MAC address"; + } + enum dp-feature-l3-multicast { + value 1; + description + "L3 Multicast"; + } + enum dp-feature-l2-multicast { + value 2; + description + "L2 Multicast"; + } + enum dp-feature-ip-route-table { + value 3; + description + "L3/MPLS routes"; + } + enum dp-feature-qos-acl { + value 4; + description + "QOS ACL"; + } + enum dp-feature-security-acl { + value 5; + description + "Security ACL"; + } + enum dp-feature-netflow-acl { + value 6; + description + "Netflow ACL"; + } + enum dp-feature-pbr-acl { + value 7; + description + "Policy based routing ACL"; + } + enum dp-feature-flow-span-acl { + value 8; + description + "Flow span ACL"; + } + enum dp-feature-control-plane { + value 9; + description + "Control plane"; + } + enum dp-feature-tunnel-termination { + value 10; + description + "Tunnel termination"; + } + enum dp-feature-lisp-inst-mapping { + value 11; + description + "Lisp instance mapping"; + } + enum dp-feature-security-association { + value 12; + description + "Security association"; + } + enum dp-feature-cts-cell-matrix { + value 13; + description + "CTS cell matrix"; + } + enum dp-feature-vpn-label { + value 14; + description + "VPN label"; + } + enum dp-feature-client-table { + value 15; + description + "Client table"; + } + enum dp-feature-group-table { + value 16; + description + "Group table"; + } + enum dp-feature-macsec-spd { + value 17; + description + "MACSec"; + } + } + description + "Data path features"; + } + + typedef dp-table { + type enumeration { + enum dp-table-exact-match { + value 0; + description + "Exact Match table"; + } + enum dp-table-tcam { + value 1; + description + "TCAM table"; + } + enum dp-table-acl-ids { + value 2; + description + "ACL Identifiers"; + } + enum dp-table-lpm { + value 3; + description + "Longest Prefix Match table"; + } + } + description + "Data path table type"; + } + + typedef dp-direction { + type enumeration { + enum dp-direction-ingress { + value 0; + description + "Ingress direction"; + } + enum dp-direction-egress { + value 1; + description + "Egress direction"; + } + } + description + "Data path direction"; + } + + grouping dp-oper-feature-key { + description + "Data path oper feature key"; + leaf feature { + type dp-resources-oper:dp-feature; + description + "Feature"; + } + leaf protocol { + type dp-resources-oper:dp-proto; + description + "Protocol"; + } + leaf direction { + type dp-resources-oper:dp-direction; + description + "Direction"; + } + } + + grouping dp-shared-ftr { + description + "Datapath shared feature"; + container ftr-info { + description + "Feature information"; + uses dp-resources-oper:dp-oper-feature-key; + } + } + + grouping dp-resource-usage { + description + "Resource usage for a given feature, protocol and direction."; + leaf max-entries { + type uint32; + description + "Maximum number of physical entries available. It is a cumulative maximum + for all shared features of the physical resource."; + } + leaf entries-used { + type uint32; + description + "Number of entries used by the given feature, protocol and direction."; + } + leaf total-entries-free { + type uint32; + description + "Total entries free"; + } + leaf percentage-used { + type decimal64 { + fraction-digits 2; + } + description + "Percentage of physical entries used by all shared features."; + } + } + + grouping dp-pipes { + description + "Data path pipelines"; + leaf pipeline { + type uint8; + description + "Pipeline number represents the physical partition in a given ASIC. + Pipeline can be a core or a slice based on the asic type."; + } + } + + grouping dp-phy-location { + description + "Physical location of resource"; + leaf asic { + type uint8; + description + "ASIC number"; + } + list pipeline-list { + description + "List of pipelines in a given asic."; + uses dp-resources-oper:dp-pipes; + } + } + + grouping dp-table-data { + description + "Provides resource usage for a given instance of the feature, protocol and direction."; + leaf table { + type dp-resources-oper:dp-table; + description + "Type of the data path table"; + } + container resource-usage { + description + "Summary of resource usage"; + uses dp-resources-oper:dp-resource-usage; + } + } + + grouping dp-feature-resource-instance { + description + "Data path feature resource instance"; + leaf id { + type uint32; + description + "Instance identifier"; + } + container physical-location { + description + "Physical location of the resource"; + uses dp-resources-oper:dp-phy-location; + } + list table-data { + description + "Provides resource usage for a given instance of the feature, protocol and direction."; + uses dp-resources-oper:dp-table-data; + } + } + + grouping dp-feature-resource { + description + "Data path feature resource"; + leaf max-tcam-percentage-used { + type decimal64 { + fraction-digits 2; + } + description + "Maximum TCAM percentage used for the feature. A feature can have one or more instance, + and this value is the maximum percentage used for the TCAM table among all the instances"; + } + leaf max-em-percentage-used { + type decimal64 { + fraction-digits 2; + } + description + "Maximum Exact Match percentage used for the feature. A feature can have one or more instance, + and this value is the maximum percentage used for the Exact Match table among all the instances"; + } + leaf max-acl-ids-percentage-used { + type decimal64 { + fraction-digits 2; + } + description + "Maximum ACL Identifiers percentage used for the feature. A feature can have one or more instance, + and this value is the maximum percentage used for the ACL Identifiers table among all the instances"; + } + leaf max-lpm-percentage-used { + type decimal64 { + fraction-digits 2; + } + description + "Maximum Longest Prefix Match percentage used for the feature. A feature can have one or more instance, + and this value is the maximum percentage used for the Longest Prefix Match table among all the instances"; + } + list instance-list { + description + "Feature can have one of more instances in datapath. Instance list is the list of instances + on which the feature resources are available."; + uses dp-resources-oper:dp-feature-resource-instance; + } + list shared-ftr-list { + description + "List of features sharing the same physical resource."; + uses dp-resources-oper:dp-shared-ftr; + } + } + + container switch-dp-resources-oper-data { + config false; + description + "Switching datapath resources operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list dp-feature-resource { + key "feature protocol direction"; + description + "Data path feature resource provides resource usage for features. + User can query based on feature name, protocol and direction"; + uses dp-resources-oper:dp-feature-resource; + uses dp-resources-oper:dp-oper-feature-key; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-dp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-dp-oper.yang new file mode 100644 index 000000000..1d5395827 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-dp-oper.yang @@ -0,0 +1,146 @@ +module Cisco-IOS-XE-switch-ptp-dp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-ptp-dp-oper"; + prefix switch-ptp-dp-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "A collection of YANG definitions for PTP + Switch operational data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ptp-dp-msg-counter { + description + "PTP message counter"; + leaf if-name { + type string; + description + "PTP interface name"; + } + leaf sync-seq-num { + type uint32; + description + "Sync sequence number"; + } + leaf delay-req-seq-num { + type uint32; + description + "Delay request sequence num"; + } + leaf sync-msg-tx { + type uint32; + description + "Sync message transmitted"; + } + leaf sync-msg-rx { + type uint32; + description + "Sync message received"; + } + leaf followup-msg-tx { + type uint32; + description + "Follow up message transmitted"; + } + leaf followup-msg-rx { + type uint32; + description + "Follow up message received"; + } + leaf pdelay-req-tx { + type uint32; + description + "Peer delay request message transmitted"; + } + leaf pdelay-req-rx { + type uint32; + description + "Peer delay request message received "; + } + leaf pdelay-res-tx { + type uint32; + description + "Peer delay response message transmitted "; + } + leaf pdelay-res-rx { + type uint32; + description + "Peer delay response message received "; + } + leaf pdelay-followup-res-tx { + type uint32; + description + "Peer delay follow up response transmitted"; + } + leaf pdelay-followup-res-rx { + type uint32; + description + "Peer delay follow up response received"; + } + leaf delay-req-tx { + type uint32; + description + "Delay request message transmitted"; + } + leaf delay-req-rx { + type uint32; + description + "Delay request message received"; + } + leaf delay-res-tx { + type uint32; + description + "Delay response message transmitted"; + } + leaf delay-res-rx { + type uint32; + description + "Delay response received"; + } + } + + container switch-ptp-dp-oper-data { + config false; + description + "Precision Time Protocol Switch operational data"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list ptp-dp-msg-counter-data { + key "if-name"; + description + "PTP message counter information"; + uses switch-ptp-dp-oper:ptp-dp-msg-counter; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-oper.yang new file mode 100644 index 000000000..18669c39c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-ptp-oper.yang @@ -0,0 +1,868 @@ +module Cisco-IOS-XE-switch-ptp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-ptp-oper"; + prefix switch-ptp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for PTP (Precision Time Protocol) + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ptp-oper-network-transport-protocol { + type enumeration { + enum ptp-net-tran-proto-reserved { + value 0; + description + "PTP network transport protocol reserved"; + } + enum ptp-net-tran-proto-udp-ipv4 { + value 1; + description + "PTP network transport udp ipv4"; + } + enum ptp-net-tran-proto-udp-ipv6 { + value 2; + description + "PTP network transport protocol udp ipv6"; + } + enum ptp-net-tran-proto-802dot3 { + value 3; + description + "PTP network transport protocol 802_3"; + } + } + description + "PTP network transport protocol"; + } + + typedef ptp-delay-type { + type enumeration { + enum ptp-delay-mechanism-e2e { + value 0; + description + "PTP delay mechanism end to end"; + } + enum ptp-delay-mechanism-p2p { + value 1; + description + "PTP delay mechanism p2p"; + } + enum ptp-delay-mechanism-disabled { + value 2; + description + "PTP delay mechanism disabled"; + } + } + description + "PTP Delay mechanism"; + } + + typedef ptp-oper-profile { + type enumeration { + enum ptp-profile-default { + value 0; + description + "PTP profile default"; + } + enum ptp-profile-none { + value 1; + description + "PTP profile none"; + } + enum ptp-profile-dot1as { + value 2; + description + "PTP profile dot1as"; + } + enum ptp-profile-8275 { + value 3; + description + "PTP profile 8275"; + } + } + description + "PTP profile"; + } + + typedef ptp-fsm-state { + type enumeration { + enum ptp-port-state-unknown { + value 0; + description + "PTP port state initializing"; + } + enum ptp-port-state-initializing { + value 1; + description + "PTP port state initializing"; + } + enum ptp-port-state-faulty { + value 2; + description + "PTP port state faulty"; + } + enum ptp-port-state-disabled { + value 3; + description + "PTP port state disabled"; + } + enum ptp-port-state-listening { + value 4; + description + "PTP port state listening"; + } + enum ptp-port-state-pre-master { + value 5; + description + "PTP port state pre-master"; + } + enum ptp-port-state-master { + value 6; + description + "PTP port state master"; + } + enum ptp-port-state-passive { + value 7; + description + "PTP port state passive"; + } + enum ptp-port-state-uncalibrated { + value 8; + description + "PTP port state uncalibrated"; + } + enum ptp-port-state-slave { + value 9; + description + "PTP port state slave"; + } + enum ptp-port-state-passive-slave { + value 10; + description + "PTP port state passive slave"; + } + } + description + "PTP port state"; + } + + typedef ptp-device { + type enumeration { + enum ptp-ordinary-clock { + value 0; + description + "PTP ordinary clock"; + } + enum ptp-boundary-clock { + value 1; + description + "PTP boundary clock"; + } + enum ptp-transparent-clock-p2p { + value 2; + description + "PTP transparent clock p2p"; + } + enum ptp-transparent-clock-e2e { + value 3; + description + "PTP transparent clock end to end"; + } + enum ptp-management-node { + value 4; + description + "PTP management node"; + } + enum ptp-slave-only { + value 5; + description + "PTP slave only"; + } + enum ptp-grand-master-boundary-clock { + value 6; + description + "PTP grandmaster boundary clock"; + } + enum ptp-802-dot1as-time-aware-bridge { + value 7; + description + "PTP 802 dot1as time aware bridge"; + } + enum ptp-8275-clock-mode-bc-delay-req { + value 8; + description + "PTP 8275 clock mode boundary delay req"; + } + enum ptp-8275-clock-mode-tc-delay-req { + value 9; + description + "PTP 8275 clock mode transparent delay req"; + } + enum ptp-port-disabled { + value 10; + description + "PTP port disabled"; + } + } + description + "PTP device"; + } + + typedef ptp-source-address { + type enumeration { + enum ptp-source-ip-default { + value 0; + description + "PTP source ip default"; + } + enum ptp-source-ip-address { + value 1; + description + "PTP source ip address"; + } + enum ptp-souce-ip-interface { + value 2; + description + "PTP source ip interface"; + } + } + description + "PTP source address"; + } + + typedef ptp-time-source { + type enumeration { + enum ptp-time-source-atomic { + value 0; + description + "PTP time source atomic"; + } + enum ptp-time-source-gps { + value 1; + description + "PTP time source gps"; + } + enum ptp-time-source-ter-radio { + value 2; + description + "PTP time source ter radio"; + } + enum ptp-time-source-ptp { + value 3; + description + "PTP time source ptp"; + } + enum ptp-time-source-ntp { + value 4; + description + "PTP time source ntp"; + } + enum ptp-time-source-handset { + value 5; + description + "PTP time source handset"; + } + enum ptp-time-source-other { + value 6; + description + "PTP time source other"; + } + enum ptp-time-source-internal-oscillator { + value 7; + description + "PTP time source internal oscillator"; + } + } + description + "PTP time source"; + } + + typedef ptp-clock-accuracy { + type enumeration { + enum ptp-clock-accuracy-to-within-25-ns { + value 0; + description + "Accuracy to within 25 nanoseconds"; + } + enum ptp-clock-accuracy-to-within-100-ns { + value 1; + description + "Accuracy to within 100 nanoseconds"; + } + enum ptp-clock-accuracy-to-within-250-ns { + value 2; + description + "Accuracy to within 250 nanoseconds"; + } + enum ptp-clock-accuracy-to-within-1-us { + value 3; + description + "Accuracy to within 1 microsecond"; + } + enum ptp-clock-accuracy-to-within-2-5-us { + value 4; + description + "Accuracy to within 2.5 microseconds"; + } + enum ptp-clock-accuracy-to-within-10-us { + value 5; + description + "Accuracy to within 10 microseconds"; + } + enum ptp-clock-accuracy-to-within-25-us { + value 6; + description + "Accuracy to within 25 microseconds"; + } + enum ptp-clock-accuracy-to-within-100-us { + value 7; + description + "Accuracy to within 100 microseconds"; + } + enum ptp-clock-accuracy-to-within-250-us { + value 8; + description + "Accuracy to within 250 microseconds"; + } + enum ptp-clock-accuracy-to-within-1-ms { + value 9; + description + "Accuracy to within 1 millisecond"; + } + enum ptp-clock-accuracy-to-within-2-5-ms { + value 10; + description + "Accuracy to within 2.5 milliseconds"; + } + enum ptp-clock-accuracy-to-within-10-ms { + value 11; + description + "Accuracy to within 10 milliseconds"; + } + enum ptp-clock-accuracy-to-within-25-ms { + value 12; + description + "Accuracy to within 25 milliseconds"; + } + enum ptp-clock-accuracy-to-within-100-ms { + value 13; + description + "Accuracy to within 100 milliseconds"; + } + enum ptp-clock-accuracy-to-within-250-ms { + value 14; + description + "Accuracy to within 250 milliseconds"; + } + enum ptp-clock-accuracy-to-within-1-s { + value 15; + description + "Accuracy to within 1 second"; + } + enum ptp-clock-accuracy-to-within-10-s { + value 16; + description + "Accuracy to within 10 seconds"; + } + enum ptp-clock-accuracy-greater-than-10-s { + value 17; + description + "Accuracy greater than 10 seconds"; + } + enum ptp-clock-accuracy-unknown { + value 18; + description + "Accuracy unknown"; + } + } + description + "PTP clock accuracy"; + } + + grouping ptp-oper-clock-quality { + description + "PTP clock quality"; + leaf clock-class { + type uint8; + description + "Clock class"; + } + leaf clock-accuracy { + type switch-ptp-ios-xe-oper:ptp-clock-accuracy; + description + "Clock accuracy"; + } + leaf offset-scaled-log-variance { + type uint16; + description + "Offset scaled log var"; + } + } + + grouping ptp-oper-port-identity { + description + "PTP port identity"; + leaf ptp-clk-id { + type uint64; + description + "PTP clock identity"; + } + leaf port-number { + type uint16; + description + "Port number"; + } + } + + grouping ptp-oper-time-interval { + description + "PTP time interval"; + leaf nano-seconds { + type int64; + description + "Nano seconds"; + } + leaf fractional-nano-seconds { + type int16; + description + "Fractional nano seconds"; + } + } + + grouping ptp-oper-domain-cfg { + description + "PTP domain config"; + leaf transport-protocol { + type switch-ptp-ios-xe-oper:ptp-oper-network-transport-protocol; + description + "Transport protocol"; + } + leaf dscp-event { + type uint16; + description + "DSCP event"; + } + leaf dscp-general { + type uint16; + description + "DSCP general"; + } + leaf delay-mechanism { + type switch-ptp-ios-xe-oper:ptp-delay-type; + description + "Delay mechanism"; + } + } + + grouping ptp-clock-default-data { + description + "PTP clock default data"; + leaf ptp-device-type { + type switch-ptp-ios-xe-oper:ptp-device; + description + "Device type"; + } + leaf ptp-clk-id { + type uint64; + description + "PTP clock identity"; + } + leaf two-step-clock { + type boolean; + description + "Two step clock"; + } + leaf num-ptp-ports { + type uint8; + description + "Number of PTP ports"; + } + leaf clock-priority1 { + type uint8; + description + "Clock priority 1"; + } + leaf clock-priority2 { + type uint8; + description + "Clock priority 2"; + } + container clock-quality { + description + "Clock quality"; + uses switch-ptp-ios-xe-oper:ptp-oper-clock-quality; + } + leaf ptp-local-clock-priority { + type uint8; + description + "Local clock priority"; + } + leaf holdover-timer-value { + type uint32; + description + "Hold over time"; + } + leaf profile { + type switch-ptp-ios-xe-oper:ptp-oper-profile; + description + "PTP profile"; + } + } + + grouping ptp-clock-current-data { + description + "PTP clock current data"; + container offset-from-master { + description + "Offset from master"; + uses switch-ptp-ios-xe-oper:ptp-oper-time-interval; + } + container mean-path-delay { + description + "Mean path delay"; + uses switch-ptp-ios-xe-oper:ptp-oper-time-interval; + } + leaf steps-removed { + type uint16; + description + "Steps removed"; + } + leaf max-offset-from-master { + type uint64; + description + "Max offset from master"; + } + } + + grouping switch-ptp-clock-parent-data { + description + "PTP clock parent data"; + leaf clock-domain { + type uint16; + description + "Clock domain"; + } + container parent-port-identity { + description + "Parent port identity"; + uses switch-ptp-ios-xe-oper:ptp-oper-port-identity; + } + leaf obs-prnt-ofst-scl-log-var { + type uint16; + description + "Observed parent offset scaled log variance"; + } + leaf obs-par-clk-phase-chg-rt { + type int32; + description + "Observed parent clock phase change rate"; + } + leaf grandmaster-identity { + type uint64; + description + "Grandmaster identity"; + } + container grandmaster-clock-quality { + description + "Grandmaster clock quality"; + uses switch-ptp-ios-xe-oper:ptp-oper-clock-quality; + } + leaf grandmaster-priority1 { + type uint8; + description + "Grandmaster priority 1"; + } + leaf grandmaster-priority2 { + type uint8; + description + "Clock quality"; + } + } + + grouping ptp-clock-time-property { + description + "PTP clock time property"; + leaf current-utc-offset { + type int32; + description + "Current utc offset"; + } + leaf current-utc-offset-valid { + type boolean; + description + "Current utc offset valid bit"; + } + leaf leap-59 { + type boolean; + description + "Leap 59 valid bit"; + } + leaf leap-61 { + type boolean; + description + "Leap 61 valid bit"; + } + leaf time-traceable { + type boolean; + description + "Time traceable bit"; + } + leaf frequency-traceable { + type boolean; + description + "Frequency traceable bit"; + } + leaf timescale-is-ptp { + type boolean; + description + "PTP timescale bit"; + } + leaf time-source { + type switch-ptp-ios-xe-oper:ptp-time-source; + description + "Time source"; + } + } + + grouping switch-ptp-port-ucast-data { + description + "PTP port unicast data"; + leaf if-name { + type string; + description + "PTP interface name"; + } + leaf peer-clk-ip { + type inet:ip-address; + description + "Peer clock ip"; + } + leaf src-addr-type { + type switch-ptp-ios-xe-oper:ptp-source-address; + description + "Source addr type"; + } + leaf src-ip-ptp-intf-name { + type string; + description + "Source ip interface name"; + } + leaf src-ip { + type inet:ip-address; + description + "Source ip"; + } + leaf vrf-id { + type uint16; + description + "PTP vrf id"; + } + } + + grouping switch-ptp-port-data { + description + "PTP port data"; + leaf if-name { + type string; + description + "PTP interface name"; + } + container port-identity { + description + "Port identity"; + uses switch-ptp-ios-xe-oper:ptp-oper-port-identity; + } + leaf port-state { + type switch-ptp-ios-xe-oper:ptp-fsm-state; + description + "Port state"; + } + leaf announce-receipt-time-out { + type uint8; + description + "Announce receipt timeout"; + } + container peer-mean-path-delay { + description + "Peer mean path delay"; + uses switch-ptp-ios-xe-oper:ptp-oper-time-interval; + } + leaf log-mean-announce-interval { + type int8; + description + "Log mean announce interval"; + } + leaf log-mean-sync-interval { + type int8; + description + "Log mean sync interval"; + } + leaf lg-min-mean-pdel-req-intv { + type int8; + description + "Log min mean peer delay request interval"; + } + leaf lg-min-mean-del-req-intv { + type int8; + description + "Log min mean delay request interval"; + } + leaf port-enabled { + type boolean; + description + "Port enabled"; + } + leaf ptp-vlan-id { + type uint16; + description + "PTP vlan id"; + } + leaf ptp-vlan-id-valid { + type boolean; + description + "PTP vlanid valid"; + } + leaf tag-native-vlan { + type boolean; + description + "Tag native vlan"; + } + leaf sync-fault-limit { + type uint64; + description + "Sync fault limit"; + } + } + + grouping switch-ptp-clock-data { + description + "PTP clock data"; + leaf clock-domain { + type uint16; + description + "Clock domain"; + } + container clock-default-data-val { + description + "Clock default data"; + uses switch-ptp-ios-xe-oper:ptp-clock-default-data; + } + container clock-current-data-val { + description + "Clock current data"; + uses switch-ptp-ios-xe-oper:ptp-clock-current-data; + } + container ptp-oper-domain-cfg-data { + description + "PTP oper domain cfg data"; + uses switch-ptp-ios-xe-oper:ptp-oper-domain-cfg; + } + container clock-time-property-val { + description + "Clock time property val"; + uses switch-ptp-ios-xe-oper:ptp-clock-time-property; + } + } + + grouping ptp-correction-entry { + description + "PTP correction entry"; + leaf subordinate-port { + type string; + description + "Subordinate port"; + } + leaf time { + type yang:date-and-time; + description + "Timestamp of data"; + } + container offset { + description + "Offset"; + uses switch-ptp-ios-xe-oper:ptp-oper-time-interval; + } + container mean-path-delay { + description + "Mean path delay"; + uses switch-ptp-ios-xe-oper:ptp-oper-time-interval; + } + } + + grouping switch-ptp-correction-data { + description + "PTP correction data"; + list ptp-correction-stats { + description + "PTP correction stats"; + uses switch-ptp-ios-xe-oper:ptp-correction-entry; + } + } + + container switch-ptp-oper-data { + config false; + description + "PTP (Precision Time Protocol) operational data"; + list switch-ptp-clock-data { + key "clock-domain"; + description + "PTP (Precision Time Protocol) clock dataset"; + uses switch-ptp-ios-xe-oper:switch-ptp-clock-data; + } + list switch-ptp-ucast-data { + key "if-name"; + description + "PTP (Precision Time Protocol) unicast info"; + uses switch-ptp-ios-xe-oper:switch-ptp-port-ucast-data; + } + list switch-ptp-port-data { + key "if-name"; + description + "PTP (Precision Time Protocol) port dataset"; + uses switch-ptp-ios-xe-oper:switch-ptp-port-data; + } + list switch-ptp-parent-data { + key "clock-domain"; + description + "PTP (Precision Time Protocol) parent data"; + uses switch-ptp-ios-xe-oper:switch-ptp-clock-parent-data; + } + container switch-ptp-correction-data { + presence "switch-ptp-correction-data"; + description + "PTP (Precision Time Protocol) correction data"; + uses switch-ptp-ios-xe-oper:switch-ptp-correction-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-rpc.yang new file mode 100644 index 000000000..ab1202749 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch-rpc.yang @@ -0,0 +1,229 @@ +module Cisco-IOS-XE-switch-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch-rpc"; + prefix ios-xe-sw-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Switch RPC YANG module for IOS + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for clear stack mode, stack port enable/disable"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-12-01 { + description + "Added factory-reset"; + } + revision 2019-11-01 { + description + "Added new augment statement"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-11 { + description + "increased stacking switch range from 9 to 16"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + rpc switch { + input { + leaf switch-number-drop-node-name { + type uint8 { + range "1..16"; + } + } + choice pri-renum-stack { + case priority-case { + leaf priority { + description + "<1-15> Switch Priority"; + type uint8 { + range "1..15"; + } + } + } + case renumver-case { + leaf renumber { + description + "<1-16> New number of the Switch"; + type uint8 { + range "1..16"; + } + } + } + case stack-case { + status deprecated; + container statck { + leaf port { + status deprecated; + description + "<1-2> Stack port number to enable/disable"; + type uint8 { + range "1..2"; + } + } + } + } + case stack-port-case { + container stack { + description + "Stack port enable or disable"; + container port { + description + "Stack port enable or disable"; + leaf port-number-drop-node-name { + description + "<1-2> Stack port number to enable/disable"; + type uint8 { + range "1..2"; + } + } + leaf enable { + description + "Enable stack port"; + type empty; + } + leaf disable { + description + "Disable stack port"; + type empty; + } + } + } + } + case role-case { + container role { + leaf active { + description + "Set the new switch to 1+1 active mode"; + type empty; + } + leaf standby { + description + "Set the new switch to 1+1 standby mode"; + type empty; + } + } + } + } + uses switch-clear-grouping; + } + output { + uses ios-xe-rpc:cisco-xe-rpc-output; + } + } + + grouping switch-clear-grouping { + container clear { + description + "Reset the switch mode to N+1"; + leaf stack-mode { + description + "Reset the switch mode to N+1"; + type empty; + } + } + } + + augment "/ios-xe-rpc:reload/ios-xe-rpc:input" { + leaf slot { + description + "Slot number of RP or line card"; + type uint8 { + range "1..16"; + } + } + } + + augment "/ios-xe-rpc:factory-reset/ios-xe-rpc:input" { + container switch { + description + "Switch in the system"; + choice switch-number-options { + case switch-number-case { + leaf switch-number-drop-node-name { + description + "Switch number in the Stack"; + type uint8 { + range "1..16"; + } + } + } + case switch-all-case { + container all-drop-node-name { + leaf all { + description + "All Switches in the Stack"; + type empty; + } + } + } + } + choice clear-choice { + case clear-all { + container clear-all-drop-node-name { + leaf all { + description + "All factory reset operations"; + type empty; + } + } + } + case clear-all-3-pass { + container all { + container secure { + description + "Secure"; + leaf alt-name-3-pass { + description + "3-pass"; + type empty; + } + } + } + } + case clear-boot-vars { + leaf boot-vars { + description + "boot-vars"; + type empty; + } + } + case clear-config { + leaf config { + description + "config"; + type empty; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switch.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch.yang new file mode 100644 index 000000000..1e4a114f5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switch.yang @@ -0,0 +1,6132 @@ +module Cisco-IOS-XE-switch { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switch"; + prefix ios-sw; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-yang-types { + prefix yang; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-device-tracking { + prefix ios-dt; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-igmp { + prefix ios-igmp; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-arp { + prefix ios-arp; + } + import Cisco-IOS-XE-flow { + prefix ios-flow; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Switch Yang model. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Deprecated old device-classifier implementation + - Obsolete old device-classifier deprecated implementation + - Obsolete switchport trunk native VLAN tag + - Added maximum-address-config container under port-security and deprecated maxcount container + - Obsolete port-security-mac-address container and switchport-port-security container + - Obsolete the node flash + - Added datalink flow monitor support to SVI interface + - Added 'tailf:cli-remove-before-change' to device classifier device-type list node + - Fixed datalink flow monitor model + - Obsolete access-group and tag nodes of service-template + - Container level replace fix with pre-config for device-classifier"; + cisco-semver:module-version "8.0.0"; + } + revision 2024-03-01 { + description + "- Deprecated enable-break container, added new container to have only enable-break per switch command + - Added report leaf in switchport port-security violation + - Added a dependency between trunk-allowed-vlan vs trunk-allowed-vlan-add commands"; + cisco-semver:module-version "7.1.0"; + } + revision 2023-11-01 { + description + "- Added tailf create before and delete after annotations in max-addresses + - Added tailf create after and delete before annotation in port-security-conf and modified the delete before tailf annotation in max-addresses + - Deprecated switchport trunk allowed vlan container and added switchport-trunk-allowed-vlan-v2 + - Added range option for switchport trunk allowed vlan"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-07-01 { + description + "- macsec feature rearrange + - Obsolete the XPath's of TwentyFiveGigabitEthernet interface"; + cisco-semver:module-version "6.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for allowlist + - Deprecated and added ip-igmp-snooping-vlan grouping + - Removed must condition and fixed ordering for device-classifier configuration commands"; + cisco-semver:module-version "5.1.0"; + } + revision 2022-07-01 { + description + "- Added support for boot command for multiple filename + - Deprecated and added device-classifier configuration commands"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-03-01 { + description + "- Deprecated mac-address container + - Added support for vlan voice and multiple hw-address + - Added support for device-classifier configuration commands + - Added description for hw-address in deprecated mac-address container + - Updated description for vlan in deprecated mac-address container + - Added dependency between switchport mode and switchport no negotiate"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "- switch stack-speed support + - Defender Mini support"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-07-01 { + description + "- Deprecated interface switchport + - Add support of backward compatibility in switchport mode-choice and vlan-choice"; + cisco-semver:module-version "4.0.1"; + } + revision 2021-03-01 { + description + "- Change range for absolute-timer of service-template"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-11-01 { + description + "- Used macsec-common feature"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "- Added OpenFlow IPv6 support + - Prepend switchport-config to switchport"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added vlan-config to replace vlan in interface switchport trunk + - Added tag-config to replace tag in service-template + - Add a new leaf for local-trustpoint for every openflow controller + connection"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + " + - Added switchport app-interface option + - New tunnel config + - Add add/except/remove options for switchport trunk allowed vlan"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added support for device-tracking feature on Port-channel + - Added support for access-group under service-template + - Support l2protocol-tunnel on switchport + - Added support for service-template sub clis - description, + interface-template, tunnel type capwap name, vnid + - Added support for redirect sub clis under service-template + - Added support for service-template sub clis : dns-acl, + service-policy qos input, service-policy qos output,tag "; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-15 { + description + "Added description and length range for service-template name"; + } + revision 2018-12-06 { + description + "Added support for absolute-timer under service-template"; + } + revision 2018-12-05 { + description + "Removed switchport mode check for port-security"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-08-20 { + description + "Removed switch virtual"; + } + revision 2018-07-24 { + description + "Removed switchport trunk allowed vlan leaves add/remove/except"; + } + revision 2018-01-10 { + description + "Added command change switchport vepa enabled"; + } + revision 2018-01-09 { + description + "Added annotations to openflow controller model to require entering all controller config parameters on delete"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added 100GE Interface"; + } + revision 2017-11-08 { + description + "Added virtual-ethernet-bridge option"; + } + revision 2017-09-21 { + description + "Added macsec without option"; + } + revision 2017-09-20 { + description + "Added macsec option"; + } + revision 2017-08-09 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-09 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-01 { + description + "Updated access-group for mac acl mapping"; + } + revision 2017-05-10 { + description + "added openflow config"; + } + revision 2017-03-31 { + description + "Move interface LLDP configurations from switch to common"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-openflow-grouping { + container feature { + description + "feature enable config"; + leaf openflow { + description + "feature OpenFlow Agent enable config"; + type empty; + } + } + container openflow { + description + "OpenFlow configuration"; + list switch { + description + "OpenFlow Agent logical switch config"; + key "number"; + leaf number { + type uint32; + } + leaf pipeline { + description + "OpenFlow Agent pipeline id config"; + type uint32; + } + container controller { + description + "set OpenFlow controller connection info"; + list ipv4 { + description + "OpenFlow controller IPv4 protocol"; + key "address"; + leaf address { + description + "IPv4 Address of the OpenFlow controller"; + type inet:ipv4-address; + } + list port { + description + "OpenFlow controller TCP port (default is 6653)"; + key "number"; + leaf number { + type uint16; + } + list vrf { + description + "OpenFlow controller vrf"; + key "name"; + leaf name { + type string; + } + leaf security { + description + "OpenFlow controller connection security"; + type enumeration { + enum none; + enum tls; + } + } + leaf local-trustpoint { + description + "Local Trustpoint ID is used for TLS connections. When + installed, certificates are associated with an ID. This ID + specifies the certificate to use in a TLS connection."; + when "../security = 'tls'"; + type string; + } + } + } + } + list ipv6 { + description + "OpenFlow controller IPv6 protocol"; + key "address"; + leaf address { + description + "IPv6 Address of the OpenFlow controller"; + type inet:ipv6-address; + } + list port { + description + "OpenFlow controller TCP port (default is 6653)"; + key "number"; + leaf number { + type uint16; + } + list vrf { + description + "OpenFlow controller vrf"; + key "name"; + leaf name { + type string; + } + leaf security { + description + "OpenFlow controller connection security"; + type enumeration { + enum none; + enum tls; + } + } + leaf local-trustpoint { + description + "Local Trustpoint ID is used for TLS connections. When + installed, certificates are associated with an ID. This ID + specifies the certificate to use in a TLS connection."; + when "../security = 'tls'"; + type string; + } + } + } + } + } + container of-port { + description + "OpenFlow port/interface"; + list interface { + description + "OpenFlow Agent interface"; + key "name"; + leaf name { + type string; + } + } + } + leaf datapath-id { + description + "Set OpenFlow logical switch datapath-id"; + type string; + } + leaf protocol-version { + description + "Set OpenFlow protocol version"; + type enumeration { + enum 1.0; + enum 1.3; + enum negotiate; + } + } + leaf backoff { + description + "OpenFlow Agent backoff in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf max-backoff { + description + "OpenFlow Agent max backoff in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf probe-interval { + description + "OpenFlow Agent probe interval in seconds"; + type uint16 { + range "5..65535"; + } + } + container rate-limit { + description + "OpenFlow rate limit to controller"; + leaf packet_in { + description + "packet in rate (default is 0, indefinite)"; + type uint16 { + range "1..65535"; + } + } + leaf burst { + description + "Maximum number of packets to controller (default is 0, indefinite)"; + type uint16 { + range "1..65535"; + } + } + } + leaf shutdown { + description + "shutdown OpenFlow Agent logical switch"; + type empty; + } + container statistics { + description + "Statistics configuration"; + leaf collection-interval { + description + "OpenFlow flow statistics collection interval in seconds"; + type uint8 { + range "0..16"; + } + } + } + leaf dataplane-default { + description + "set OpenFlow Agent dataplane config"; + type enumeration { + enum secure; + enum standalone; + } + } + leaf default-miss { + description + "Specifies behavior if a packet does not match any controller installed flow"; + type enumeration { + enum continue-drop; + enum drop; + } + } + container logging { + description + "Enable logging"; + leaf flow-modify { + description + "Enable logging for flow-modify"; + type empty; + } + } + container tls { + description + "OpenFlow switch tls"; + container trustpoint { + description + "tls trust point"; + leaf local { + description + "tls local trust point"; + type string; + } + leaf remote { + description + "tls remote trust point"; + type string; + } + } + } + } + } + } + + grouping config-system-grouping { + container debug { + description + "Debug Shell"; + container shell { + description + "Debug Shell"; + container switch { + description + "Set config on switches in stack"; + leaf switch-number { + description + "Switch number"; + type uint8 { + range "1..9"; + } + } + leaf all { + description + "Set config for all switches in stack"; + type empty; + } + } + } + } + container disable { + description + "Disable password recovery"; + container password { + description + "Disable password recovery"; + container recovery { + description + "Disable password recovery"; + container switch { + description + "Set config on switches in stack"; + leaf number { + description + "Switch number"; + type uint8 { + range "1..9"; + } + } + leaf all { + description + "Set config for all switches in stack"; + type empty; + } + } + } + } + } + container environment { + description + "Set the system environment settings"; + container fan-fail-action { + description + "Set the FRU/PS fan fail action. "; + leaf shut { + description + "Shutdown the system when multiple fan fails"; + type empty; + } + } + container temperature { + description + "Set the system temperature settings"; + container threshold { + description + "Set the system temperature thresholds"; + container yellow { + description + "Set the yellow thresholds. "; + leaf delta-value { + description + "Delta value from Red threshold in Degree Celsius"; + type uint8 { + range "5..25"; + } + } + leaf detail { + description + "print yellow temperature threshold"; + type empty; + } + } + } + } + } + container fnf { + description + "Flexible Netflow"; + container bytes-count { + description + "Bytes Count"; + leaf layer2 { + description + "Show L2 bytes in byte count collect field"; + type empty; + } + } + } + container ignore { + description + "Ignore Startup Config"; + container startupconfig { + description + "Ignore Startup Config"; + container switch { + description + "Set config on switches in stack"; + leaf number { + description + "Switch number"; + type uint8 { + range "1..9"; + } + } + leaf all { + description + "Set config for all switches in stack"; + type empty; + } + } + } + } + container mode-button { + description + "Enable Mode button for reset"; + leaf reset { + description + "Enable reset"; + type empty; + } + } + container mtu { + description + "Set the system Maximum Transmission Unit (MTU)"; + leaf size { + type uint16 { + range "1500..9198"; + } + } + leaf jumbo { + description + "Set Jumbo MTU value for GigabitEthernet or TenGigabitEthernet interfaces"; + type uint16 { + range "1500..9000"; + } + } + leaf routing { + description + "Set the Routing MTU for the system"; + type uint16 { + range "1500"; + } + } + } + } + + grouping config-interface-switchport-grouping { + container access { + description + "Set access mode characteristics of the interface"; + container vlan { + description + "Set VLAN when interface is in access mode"; + leaf vlan { + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum dynamic; + } + } + } + } + } + container block { + description + "Disable forwarding of unknown uni/multi cast addresses"; + leaf multicast { + description + "Block unknown multicast addresses"; + type empty; + } + leaf unicast { + description + "Block unknown unicast addresses"; + type empty; + } + } + container mode { + description + "Set trunking mode of the interface"; + choice mode-choice { + container access { + presence "true"; + description + "Set trunking mode to ACCESS unconditionally"; + } + container dot1q-tunnel { + presence "true"; + description + "set trunking mode to TUNNEL unconditionally"; + } + leaf dynamic { + description + "Set trunking mode to dynamically negotiate access or trunk mode"; + type enumeration { + enum auto; + enum desirable; + } + } + container private-vlan { + description + "Set private-vlan mode"; + container trunk { + description + "Set the mode to private-vlan trunk"; + presence "true"; + leaf trunk-config { + type enumeration { + enum promiscuous; + enum secondary; + } + default "secondary"; + } + } + leaf host { + description + "Set the mode to private-vlan host"; + type empty; + } + leaf promiscuous { + description + "Set the mode to private-vlan promiscuous"; + type empty; + } + } + container trunk { + presence "true"; + description + "Set trunking mode to TRUNK unconditionally"; + } + } + } + leaf nonegotiate { + description + "Device will not engage in negotiation protocol on this interface"; + type empty; + } + leaf port-security-conf { + description + "port-security"; + type empty; + } + container port-security-config { + container port-security { + description + "Security related command"; + container aging { + description + "Port-security aging commands"; + leaf static { + description + "Enable aging for configured secure addresses"; + type empty; + } + leaf time { + description + "Port-security aging time"; + type uint16 { + range "1..1440"; + } + } + leaf type { + description + "Port-security aging type"; + type enumeration { + enum absolute; + enum inactivity; + } + } + } + container allowlist-on { + description + "Allowlist mac address"; + leaf allowlist { + description + "Enable allowlist feature"; + must 'not(../../mac-address-sticky-on/mac-address/sticky) and not(../../../../port-security-conf) and not(../../aging/time) and not(../../aging/type) and not(../../aging/static) and not(../../maximum-address-config/maximum/maximum) and not(../../mac-address-config/mac-address/hw-address-trunk) and not(../../violation/protect) and not(../../mac-address-config/mac-address/hw-address-voice) and not(../../violation/restrict) and not(../../mac-address-config/mac-address/hw-address-access) and not(../../violation/shutdown/vlan)' { + error-message "Allowlist feature and other port-security configurations aging, violation, maximum vlan port-security, port-security mac-address, port-security mac-address sticky are mutually exclusive and should not be configured together"; + } + type empty; + } + } + container allowlist-config { + container allowlist { + container mac-address { + list mac-address-conf { + description + "Configure MAC address for allowlist"; + must 'not(../../../../mac-address-config/mac-address/hw-address-trunk) and not(../../../../mac-address-config/mac-address/hw-address-voice) and not(../../../../mac-address-config/mac-address/hw-address-access)' { + error-message "Delete all the port-security mac-address configurations before configuring allowlist mac-address, and vice versa"; + } + key "hw-address"; + leaf hw-address { + description + "H.H.H 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + } + } + } + } + container mac-address-sticky-on { + container mac-address { + description + "Secure mac address"; + leaf sticky { + description + "Configure dynamic secure addresses as sticky"; + type empty; + } + } + } + container mac-address-config { + container mac-address { + description + "Secure mac address"; + list hw-address-voice { + must '(../../../../../mode/access) and (../../../../../voice/vlan/vlan)' { + error-message "Delete all the configurations present in mode access before switching to mode trunk or check if VLAN voice is configured before configuring any hw-address with voice configuration"; + } + key "hw-address vlan voice"; + leaf hw-address { + description + "H.H.H 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + leaf vlan { + type enumeration { + enum vlan; + } + } + leaf voice { + description + "voice vlan"; + type enumeration { + enum voice; + } + } + leaf sticky { + description + "Configure dynamic secure addresses as sticky"; + must '../../../../mac-address-sticky-on/mac-address/sticky' { + error-message "Delete sticky configurations first before deleting global sticky or Check if global sticky is enabled or not."; + } + type enumeration { + enum sticky; + } + } + } + list hw-address-access { + when 'not(../../../../../mode/trunk)'; + key "hw-address"; + leaf hw-address { + description + "H.H.H 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + leaf sticky { + description + "Configure dynamic secure addresses as sticky"; + must '../../../../mac-address-sticky-on/mac-address/sticky' { + error-message "Delete sticky configurations first before deleting global sticky or Check if global sticky is enabled or not."; + } + type enumeration { + enum sticky; + } + } + } + list hw-address-trunk { + must '../../../../../mode/trunk' { + error-message "Delete all present trunk mode configurations before switching the mode or make sure the dependent trunk mode CLI is configured."; + } + key "hw-address vlan"; + leaf hw-address { + description + "H.H.H 48 bit mac address"; + type ios-types:cisco-mac-address-type; + } + leaf vlan { + description + "set VLAN ID of the VLAN on which this address can be learned"; + type uint16 { + range "1..4094"; + } + } + leaf sticky { + description + "Configure dynamic secure addresses as sticky"; + must '../../../../mac-address-sticky-on/mac-address/sticky' { + error-message "Delete sticky configurations first before deleting global sticky or Check if global sticky is enabled or not."; + } + type enumeration { + enum sticky; + } + } + } + } + } + container mac-address { + status obsolete; + description + "Secure mac address (OBSOLETE)"; + leaf sticky { + status obsolete; + description + "Configure dynamic secure addresses as sticky (OBSOLETE)"; + type empty; + } + leaf hw-address { + status obsolete; + description + "In trunk mode hw-address and VLAN must be configured together. hw-address can be configured alone only in access mode (OBSOLETE)"; + type yang:mac-address; + } + leaf vlan { + status obsolete; + description + "Set VLAN ID of the VLAN on which this address can be learned. VLAN must be configured along with hw-address (OBSOLETE)"; + type uint16 { + range "1..4094"; + } + } + } + container maximum-address-config { + description + "Maximum number of MAC addresses"; + container maximum { + description + "Maximum number of MAC addresses"; + leaf maximum { + description + "Maximum number of MAC addresses for interface"; + type uint16 { + range "1..4096"; + } + } + } + container maximum-vlan { + description + "Maximum number of MAC addresses for access, voice, or trunk VLAN"; + when '../../../../mode/access or ../../../../mode/trunk'; + leaf maximum { + description + "Maximum number of MAC addresses"; + must '../vlan'; + type uint16 { + range "1..4096"; + } + } + leaf vlan { + description + "Access, voice, or trunk VLAN"; + must '../maximum'; + type enumeration { + enum vlan; + } + } + } + container maximum-vlan-access { + description + "Maximum number of MAC addresses for access VLAN"; + when '../../../../mode/access'; + leaf maximum { + description + "Maximum number of MAC addresses"; + must '../vlan'; + type uint16 { + range "1..4096"; + } + } + leaf vlan { + description + "Access VLAN"; + must '../maximum'; + type enumeration { + enum access; + } + } + } + container maximum-vlan-voice { + description + "Maximum number of MAC addresses for voice VLAN"; + when '../../../../mode/access and ../../../../voice/vlan/vlan'; + leaf maximum { + description + "Maximum number of MAC addresses"; + must '../vlan'; + type uint16 { + range "1..4096"; + } + } + leaf vlan { + description + "Voice VLAN"; + must '../maximum'; + type enumeration { + enum voice; + } + } + } + list maximum-vlan-trunk { + description + "Maximum number of MAC addresses for trunk VLAN"; + when '../../../../mode/trunk'; + key "maximum"; + leaf maximum { + description + "Maximum number of MAC addresses"; + must '../vlan'; + type uint16 { + range "1..4096"; + } + } + leaf-list vlan { + description + "Trunk VLAN"; + must '../maximum'; + type uint16 { + range "1..4094"; + } + } + } + } + list maxcount { + status deprecated; + description + "Max secure addresses"; + key "max-addresses"; + leaf max-addresses { + status deprecated; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + description + "Max secure addresses per vlan (OBSOLETE)"; + status obsolete; + type string; + } + } + container violation { + description + "Security violation mode"; + choice violation-choice { + leaf protect { + description + "Security violation protect mode"; + type empty; + } + leaf report { + description + "Security violation report mode"; + type empty; + } + leaf restrict { + description + "Security violation restrict mode"; + type empty; + } + container shutdown { + description + "Security violation shutdown mode"; + leaf vlan { + description + "Security violation shutdown vlan mode"; + type empty; + } + } + } + } + } + } + container trunk { + description + "Set trunking characteristics of the interface"; + container allowed { + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + uses switchport-trunk-allowed-vlan-v2; + container vlan { + description + "Set allowed VLANs when interface is in trunking mode"; + status deprecated; + choice vlan-choice { + status deprecated; + leaf vlans { + status deprecated; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf none { + description + "no VLANs"; + status deprecated; + type empty; + } + leaf add { + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + status obsolete; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf except { + description + "all VLANs except the following"; + status obsolete; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf remove { + description + "VLAN IDs of disallowed VLANs when this port is in trunking mode"; + status obsolete; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + } + } + leaf encapsulation { + description + "Set encapsulation format on trunk port"; + type enumeration { + enum dot1q; + enum isl; + enum negotiate; + } + } + container native { + description + "Set trunking native characteristics when interface is in trunking mode"; + container vlan { + description + "Set native VLAN when interface is in trunking mode and native VLAN id"; + leaf tag { + type boolean; + default "true"; + } + leaf vlan-id { + type uint16 { + range "1..4094"; + } + } + } + } + container pruning { + description + "Set pruning VLAN characteristics when interface is in trunking mode"; + container vlan { + description + "Set VLANs enabled for pruning when interface is in trunking mode"; + choice vlan-choice { + leaf-list vlans { + type union { + type uint16; + type string; + } + } + leaf add { + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + leaf-list except { + description + "all VLANs except the following"; + type union { + type uint16; + type string; + } + } + leaf none { + description + "no VLANs"; + type empty; + } + leaf remove { + description + "VLAN IDs of disallowed VLANS when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + } + } + } + } + container voice { + description + "Voice appliance attributes"; + container vlan { + description + "Vlan for voice traffic"; + leaf vlan { + type union { + type enumeration { + enum dot1p; + enum none; + enum untagged; + } + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf name { + description + "Vlan name"; + type string; + } + } + container detect { + description + "detection enhancement keyword"; + container cisco-phone { + description + "Cisco IP phone"; + presence "true"; + leaf full-duplex { + description + "full duplex keyword"; + type empty; + } + } + } + } + container priority { + description + "Set appliance 802.1p priority"; + container extend { + description + "Set appliance 802.1p priority"; + choice trust-choice { + leaf trust { + description + "Trust 802.1p priorities of devices on appliance"; + type empty; + } + leaf cos { + description + "Override 802.1p priority of devices on appliance"; + type uint8 { + range "0..7"; + } + } + } + } + } + container autostate { + description + "Include or exclude this port from vlan link up calculation"; + leaf exclude { + description + "Exclude this port from vlan link up calculation"; + type empty; + } + } + leaf protected { + description + "Configure an interface to be a protected port"; + type empty; + } + leaf host { + description + "Set port host"; + type empty; + } + container private-vlan { + description + "Set the private VLAN configuration"; + container association { + description + "Set the private VLAN association"; + container host { + description + "Set the private VLAN host association"; + leaf primary-range { + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + description + "Set the private VLAN promiscuous mapping"; + leaf primary-range { + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf add { + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf remove { + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + } + container host-association { + description + "Set the private VLAN host association"; + leaf primary-range { + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + description + "Set the private VLAN promiscuous mapping"; + leaf trunk { + description + "Set the private VLAN promiscuous trunk mapping"; + type empty; + } + leaf primary-range { + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + container trunk { + description + "Set the private vlan trunking configuration"; + container allowed { + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + description + "Set allowed VLANs when interface is in trunking mode"; + leaf vlans { + type union { + type uint16; + type string; + } + } + } + } + container native { + description + "Set the private vlan trunking native configuration"; + container vlan { + description + "Set native VLAN configuration"; + leaf vlans { + description + "VLAN ID of the native VLAN when this port is in trunking mode"; + type uint16 { + range "1..4094"; + } + } + leaf tag { + description + "Set native VLAN tagging state on Private VLAN trunk"; + type empty; + } + } + } + } + } + container vepa { + description + "Reflective relay configuration"; + leaf enabled { + description + "Enable reflective relay"; + type empty; + } + } + leaf app-interface { + description + "Enable port for application hosting"; + type empty; + } + } + + grouping config-interface-switchport-grouping-deprecated { + container access { + status deprecated; + description + "Set access mode characteristics of the interface"; + container vlan { + status deprecated; + description + "Set VLAN when interface is in access mode"; + leaf vlan { + status deprecated; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum dynamic; + } + } + } + leaf name { + description + "Vlan name, deprecated"; + status deprecated; + type string; + } + } + } + container block { + status deprecated; + description + "Disable forwarding of unknown uni/multi cast addresses"; + leaf multicast { + status deprecated; + description + "Block unknown multicast addresses"; + type empty; + } + leaf unicast { + status deprecated; + description + "Block unknown unicast addresses"; + type empty; + } + } + container mode { + status deprecated; + description + "Set trunking mode of the interface"; + choice mode-choice { + status deprecated; + container access { + status deprecated; + presence "true"; + description + "Set trunking mode to ACCESS unconditionally"; + } + container dot1q-tunnel { + status deprecated; + presence "true"; + description + "set trunking mode to TUNNEL unconditionally"; + } + leaf dynamic { + status deprecated; + description + "Set trunking mode to dynamically negotiate access or trunk mode"; + type enumeration { + enum auto; + enum desirable; + } + } + container private-vlan { + status deprecated; + description + "Set private-vlan mode"; + container trunk { + status deprecated; + description + "Set the mode to private-vlan trunk"; + presence "true"; + leaf trunk-config { + status deprecated; + type enumeration { + enum promiscuous; + enum secondary; + } + default "secondary"; + } + } + leaf host { + status deprecated; + description + "Set the mode to private-vlan host"; + type empty; + } + leaf promiscuous { + status deprecated; + description + "Set the mode to private-vlan promiscuous"; + type empty; + } + } + container trunk { + status deprecated; + presence "true"; + description + "Set trunking mode to TRUNK unconditionally"; + } + } + } + leaf nonegotiate { + status deprecated; + description + "Device will not engage in negotiation protocol on this interface"; + type empty; + } + leaf port-security-cfg { + status obsolete; + description + "port-security"; + type empty; + } + container port-security-conf { + status obsolete; + container port-security { + status obsolete; + description + "Security related command"; + container aging { + status obsolete; + description + "Port-security aging commands"; + leaf static { + status obsolete; + description + "Enable aging for configured secure addresses"; + type empty; + } + leaf time { + status obsolete; + description + "Port-security aging time"; + type uint16 { + range "1..1440"; + } + } + leaf type { + status obsolete; + description + "Port-security aging type"; + type enumeration { + enum absolute; + enum inactivity; + } + } + } + container mac-address { + status obsolete; + description + "Secure mac address"; + leaf sticky { + status obsolete; + description + "Configure dynamic secure addresses as sticky"; + type empty; + } + leaf hw-address { + status obsolete; + type yang:mac-address; + } + leaf vlan { + status obsolete; + description + "set VLAN ID of the VLAN on which this address can be learned"; + type uint16 { + range "1..4094"; + } + } + } + list maxcount { + status obsolete; + description + "Max secure addresses"; + key "max-addresses"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan"; + type string; + } + } + container maximum { + status obsolete; + description + "Max secure addresses"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan"; + type string; + } + } + container violation { + status obsolete; + description + "Security violation mode"; + choice violation-choice { + status obsolete; + leaf protect { + status obsolete; + description + "Security violation protect mode"; + type empty; + } + leaf restrict { + status obsolete; + description + "Security violation restrict mode"; + type empty; + } + container shutdown { + status obsolete; + description + "Security violation shutdown mode"; + leaf vlan { + status obsolete; + description + "Security violation shutdown vlan mode"; + type empty; + } + } + } + } + } + } + container port-security { + status obsolete; + description + "Security related command (OBSOLETE)"; + presence "true"; + container aging { + status obsolete; + description + "Port-security aging commands (OBSOLETE)"; + leaf static { + status obsolete; + description + "Enable aging for configured secure addresses (OBSOLETE)"; + type empty; + } + leaf time { + status obsolete; + description + "Port-security aging time (OBSOLETE)"; + type uint16 { + range "1..1440"; + } + } + leaf type { + status obsolete; + description + "Port-security aging type (OBSOLETE)"; + type enumeration { + enum absolute; + enum inactivity; + } + } + } + container mac-address { + status obsolete; + description + "Secure mac address (OBSOLETE)"; + leaf sticky { + status obsolete; + description + "Configure dynamic secure addresses as sticky (OBSOLETE)"; + type empty; + } + leaf hw-address { + status obsolete; + description + "In trunk mode hw-address and VLAN must be configured together. hw-address can be configured alone only in access mode (OBSOLETE)"; + type yang:mac-address; + } + leaf vlan { + status obsolete; + description + "Set VLAN ID of the VLAN on which this address can be learned. VLAN must be configured along with hw-address (OBSOLETE)"; + type uint16 { + range "1..4094"; + } + } + } + container maximum { + status obsolete; + description + "Max secure addresses (OBSOLETE)"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan (OBSOLETE)"; + type string; + } + } + leaf violation { + status obsolete; + type enumeration { + enum protect; + enum restrict; + enum shutdown; + } + } + } + container trunk { + status deprecated; + description + "Set trunking characteristics of the interface"; + container allowed { + status deprecated; + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + status deprecated; + description + "Set allowed VLANs when interface is in trunking mode"; + choice vlan-choice { + status deprecated; + leaf vlans { + status deprecated; + type union { + type uint16; + type string; + } + } + leaf all { + status deprecated; + description + "all VLANs"; + type empty; + } + leaf none { + status deprecated; + description + "no VLANs"; + type empty; + } + leaf add { + status deprecated; + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf except { + status deprecated; + description + "all VLANs except the following"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf remove { + status deprecated; + description + "VLAN IDs of disallowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + } + } + leaf encapsulation { + status deprecated; + description + "Set encapsulation format on trunk port"; + type enumeration { + enum dot1q; + enum isl; + enum negotiate; + } + } + container native { + status deprecated; + description + "Set trunking native characteristics when interface is in trunking mode"; + container vlan-config { + status deprecated; + description + "Set native VLAN when interface is in trunking mode and native VLAN id"; + leaf tag { + status obsolete; + type boolean; + } + leaf vlan-id { + status deprecated; + type uint16 { + range "1..4094"; + } + } + } + leaf vlan { + status deprecated; + description + "Set native VLAN when interface is in trunking mode"; + type union { + type enumeration { + enum tag; + } + type uint16 { + range "1..4094"; + } + } + } + } + container pruning { + status deprecated; + description + "Set pruning VLAN characteristics when interface is in trunking mode"; + container vlan { + status deprecated; + description + "Set VLANs enabled for pruning when interface is in trunking mode"; + choice vlan-choice { + status deprecated; + leaf-list vlans { + status deprecated; + type union { + type uint16; + type string; + } + } + leaf add { + status deprecated; + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + leaf-list except { + status deprecated; + description + "all VLANs except the following"; + type union { + type uint16; + type string; + } + } + leaf none { + status deprecated; + description + "no VLANs"; + type empty; + } + leaf remove { + status deprecated; + description + "VLAN IDs of disallowed VLANS when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + } + } + } + } + container voice { + status deprecated; + description + "Voice appliance attributes"; + container vlan { + status deprecated; + description + "Vlan for voice traffic"; + leaf vlan { + status deprecated; + type union { + type enumeration { + enum dot1p; + enum none; + enum untagged; + } + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf name { + status deprecated; + description + "Vlan name"; + type string; + } + } + container detect { + status deprecated; + description + "detection enhancement keyword"; + container cisco-phone { + status deprecated; + description + "Cisco IP phone"; + presence "true"; + leaf full-duplex { + status deprecated; + description + "full duplex keyword"; + type empty; + } + } + } + } + container priority { + status deprecated; + description + "Set appliance 802.1p priority"; + container extend { + status deprecated; + description + "Set appliance 802.1p priority"; + choice trust-choice { + status deprecated; + leaf trust { + status deprecated; + description + "Trust 802.1p priorities of devices on appliance"; + type empty; + } + leaf cos { + status deprecated; + description + "Override 802.1p priority of devices on appliance"; + type uint8 { + range "0..7"; + } + } + } + } + } + container autostate { + status deprecated; + description + "Include or exclude this port from vlan link up calculation"; + leaf exclude { + status deprecated; + description + "Exclude this port from vlan link up calculation"; + type empty; + } + } + leaf protected { + status deprecated; + description + "Configure an interface to be a protected port"; + type empty; + } + leaf host { + status deprecated; + description + "Set port host"; + type empty; + } + container private-vlan { + status deprecated; + description + "Set the private VLAN configuration"; + container association { + status deprecated; + description + "Set the private VLAN association"; + container host { + status deprecated; + description + "Set the private VLAN host association"; + leaf primary-range { + status deprecated; + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status deprecated; + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + status deprecated; + description + "Set the private VLAN promiscuous mapping"; + leaf primary-range { + status deprecated; + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf add { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf remove { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + } + container host-association { + status deprecated; + description + "Set the private VLAN host association"; + leaf primary-range { + status deprecated; + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status deprecated; + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + status deprecated; + description + "Set the private VLAN promiscuous mapping"; + leaf trunk { + status deprecated; + description + "Set the private VLAN promiscuous trunk mapping"; + type empty; + } + leaf primary-range { + status deprecated; + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf add { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf remove { + status deprecated; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + container trunk { + status deprecated; + description + "Set the private vlan trunking configuration"; + container allowed { + status deprecated; + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + status deprecated; + description + "Set allowed VLANs when interface is in trunking mode"; + leaf vlans { + status deprecated; + type union { + type uint16; + type string; + } + } + } + } + container native { + status deprecated; + description + "Set the private vlan trunking native configuration"; + container vlan { + status deprecated; + description + "Set native VLAN configuration"; + leaf vlans { + status deprecated; + description + "VLAN ID of the native VLAN when this port is in trunking mode"; + type uint16 { + range "1..4094"; + } + } + leaf tag { + status deprecated; + description + "Set native VLAN tagging state on Private VLAN trunk"; + type empty; + } + } + } + } + } + container vepa { + status deprecated; + description + "Reflective relay configuration"; + leaf enabled { + status deprecated; + description + "Enable reflective relay"; + type empty; + } + } + leaf app-interface { + status deprecated; + description + "Enable port for application hosting"; + type empty; + } + } + + grouping config-interface-switchport-grouping-obsolete { + container access { + status obsolete; + description + "Set access mode characteristics of the interface"; + container vlan { + status obsolete; + description + "Set VLAN when interface is in access mode"; + leaf vlan { + status obsolete; + type union { + type uint16 { + range "1..4094"; + } + type enumeration { + enum dynamic; + } + } + } + leaf name { + description + "Vlan name, obsolete"; + status obsolete; + type string; + } + } + } + container block { + status obsolete; + description + "Disable forwarding of unknown uni/multi cast addresses"; + leaf multicast { + status obsolete; + description + "Block unknown multicast addresses"; + type empty; + } + leaf unicast { + status obsolete; + description + "Block unknown unicast addresses"; + type empty; + } + } + container mode { + status obsolete; + description + "Set trunking mode of the interface"; + choice mode-choice { + status obsolete; + container access { + status obsolete; + presence "true"; + description + "Set trunking mode to ACCESS unconditionally"; + } + container dot1q-tunnel { + status obsolete; + presence "true"; + description + "set trunking mode to TUNNEL unconditionally"; + } + leaf dynamic { + status obsolete; + description + "Set trunking mode to dynamically negotiate access or trunk mode"; + type enumeration { + enum auto; + enum desirable; + } + } + container private-vlan { + status obsolete; + description + "Set private-vlan mode"; + container trunk { + status obsolete; + description + "Set the mode to private-vlan trunk"; + presence "true"; + leaf trunk-config { + status obsolete; + type enumeration { + enum promiscuous; + enum secondary; + } + default "secondary"; + } + } + leaf host { + status obsolete; + description + "Set the mode to private-vlan host"; + type empty; + } + leaf promiscuous { + status obsolete; + description + "Set the mode to private-vlan promiscuous"; + type empty; + } + } + container trunk { + status obsolete; + presence "true"; + description + "Set trunking mode to TRUNK unconditionally"; + } + } + } + leaf nonegotiate { + status obsolete; + description + "Device will not engage in negotiation protocol on this interface"; + type empty; + } + leaf port-security-cfg { + status obsolete; + description + "port-security"; + type empty; + } + container port-security-conf { + status obsolete; + container port-security { + status obsolete; + description + "Security related command"; + container aging { + status obsolete; + description + "Port-security aging commands"; + leaf static { + status obsolete; + description + "Enable aging for configured secure addresses"; + type empty; + } + leaf time { + status obsolete; + description + "Port-security aging time"; + type uint16 { + range "1..1440"; + } + } + leaf type { + status obsolete; + description + "Port-security aging type"; + type enumeration { + enum absolute; + enum inactivity; + } + } + } + container mac-address { + status obsolete; + description + "Secure mac address"; + leaf sticky { + status obsolete; + description + "Configure dynamic secure addresses as sticky"; + type empty; + } + leaf hw-address { + status obsolete; + type yang:mac-address; + } + leaf vlan { + status obsolete; + description + "set VLAN ID of the VLAN on which this address can be learned"; + type uint16 { + range "1..4094"; + } + } + } + list maxcount { + status obsolete; + description + "Max secure addresses"; + key "max-addresses"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan"; + type string; + } + } + container maximum { + status obsolete; + description + "Max secure addresses"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan"; + type string; + } + } + container violation { + status obsolete; + description + "Security violation mode"; + choice violation-choice { + status obsolete; + leaf protect { + status obsolete; + description + "Security violation protect mode"; + type empty; + } + leaf restrict { + status obsolete; + description + "Security violation restrict mode"; + type empty; + } + container shutdown { + status obsolete; + description + "Security violation shutdown mode"; + leaf vlan { + status obsolete; + description + "Security violation shutdown vlan mode"; + type empty; + } + } + } + } + } + } + container port-security { + status obsolete; + description + "Security related command"; + presence "true"; + container aging { + status obsolete; + description + "Port-security aging commands"; + leaf static { + status obsolete; + description + "Enable aging for configured secure addresses"; + type empty; + } + leaf time { + status obsolete; + description + "Port-security aging time"; + type uint16 { + range "1..1440"; + } + } + leaf type { + status obsolete; + description + "Port-security aging type"; + type enumeration { + enum absolute; + enum inactivity; + } + } + } + container mac-address { + status obsolete; + description + "Secure mac address"; + leaf sticky { + status obsolete; + description + "Configure dynamic secure addresses as sticky"; + type empty; + } + leaf hw-address { + status obsolete; + description + "In trunk mode hw-address and VLAN must be configured together. hw-address can be configured alone only in access mode"; + type yang:mac-address; + } + leaf vlan { + status obsolete; + description + "Set VLAN ID of the VLAN on which this address can be learned. VLAN must be configured along with hw-address"; + type uint16 { + range "1..4094"; + } + } + } + container maximum { + status obsolete; + description + "Max secure addresses"; + leaf max-addresses { + status obsolete; + type uint16 { + range "1..4097"; + } + } + leaf vlan { + status obsolete; + description + "Max secure addresses per vlan"; + type string; + } + } + leaf violation { + status obsolete; + type enumeration { + enum protect; + enum restrict; + enum shutdown; + } + } + } + container trunk { + status obsolete; + description + "Set trunking characteristics of the interface"; + container allowed { + status obsolete; + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + status obsolete; + description + "Set allowed VLANs when interface is in trunking mode"; + choice vlan-choice { + status obsolete; + leaf vlans { + status obsolete; + type union { + type uint16; + type string; + } + } + leaf all { + status obsolete; + description + "all VLANs"; + type empty; + } + leaf none { + status obsolete; + description + "no VLANs"; + type empty; + } + leaf add { + status obsolete; + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf except { + status obsolete; + description + "all VLANs except the following"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf remove { + status obsolete; + description + "VLAN IDs of disallowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + } + } + leaf encapsulation { + status obsolete; + description + "Set encapsulation format on trunk port"; + type enumeration { + enum dot1q; + enum isl; + enum negotiate; + } + } + container native { + status obsolete; + description + "Set trunking native characteristics when interface is in trunking mode"; + container vlan-config { + status obsolete; + description + "Set native VLAN when interface is in trunking mode and native VLAN id"; + leaf tag { + status obsolete; + type boolean; + } + leaf vlan-id { + status obsolete; + type uint16 { + range "1..4094"; + } + } + } + leaf vlan { + status obsolete; + description + "Set native VLAN when interface is in trunking mode"; + type union { + type enumeration { + enum tag; + } + type uint16 { + range "1..4094"; + } + } + } + } + container pruning { + status obsolete; + description + "Set pruning VLAN characteristics when interface is in trunking mode"; + container vlan { + status obsolete; + description + "Set VLANs enabled for pruning when interface is in trunking mode"; + choice vlan-choice { + status obsolete; + leaf-list vlans { + status obsolete; + type union { + type uint16; + type string; + } + } + leaf add { + status obsolete; + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + leaf-list except { + status obsolete; + description + "all VLANs except the following"; + type union { + type uint16; + type string; + } + } + leaf none { + status obsolete; + description + "no VLANs"; + type empty; + } + leaf remove { + status obsolete; + description + "VLAN IDs of disallowed VLANS when this port is in trunking mode"; + type union { + type uint16; + type string; + } + } + } + } + } + } + container voice { + status obsolete; + description + "Voice appliance attributes"; + container vlan { + status obsolete; + description + "Vlan for voice traffic"; + leaf vlan { + status obsolete; + type union { + type enumeration { + enum dot1p; + enum none; + enum untagged; + } + type uint16 { + range "1..4094"; + } + type string; + } + } + leaf name { + status obsolete; + description + "Vlan name"; + type string; + } + } + container detect { + status obsolete; + description + "detection enhancement keyword"; + container cisco-phone { + status obsolete; + description + "Cisco IP phone"; + presence "true"; + leaf full-duplex { + status obsolete; + description + "full duplex keyword"; + type empty; + } + } + } + } + container priority { + status obsolete; + description + "Set appliance 802.1p priority"; + container extend { + status obsolete; + description + "Set appliance 802.1p priority"; + choice trust-choice { + status obsolete; + leaf trust { + status obsolete; + description + "Trust 802.1p priorities of devices on appliance"; + type empty; + } + leaf cos { + status obsolete; + description + "Override 802.1p priority of devices on appliance"; + type uint8 { + range "0..7"; + } + } + } + } + } + container autostate { + status obsolete; + description + "Include or exclude this port from vlan link up calculation"; + leaf exclude { + status obsolete; + description + "Exclude this port from vlan link up calculation"; + type empty; + } + } + leaf protected { + status obsolete; + description + "Configure an interface to be a protected port"; + type empty; + } + leaf host { + status obsolete; + description + "Set port host"; + type empty; + } + container private-vlan { + status obsolete; + description + "Set the private VLAN configuration"; + container association { + status obsolete; + description + "Set the private VLAN association"; + container host { + status obsolete; + description + "Set the private VLAN host association"; + leaf primary-range { + status obsolete; + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status obsolete; + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + status obsolete; + description + "Set the private VLAN promiscuous mapping"; + leaf primary-range { + status obsolete; + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf add { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf remove { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + } + container host-association { + status obsolete; + description + "Set the private VLAN host association"; + leaf primary-range { + status obsolete; + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status obsolete; + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + container mapping { + status obsolete; + description + "Set the private VLAN promiscuous mapping"; + leaf trunk { + status obsolete; + description + "Set the private VLAN promiscuous trunk mapping"; + type empty; + } + leaf primary-range { + status obsolete; + description + "Primary normal range VLAN ID of the private VLAN promiscuous port mapping"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf add { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + leaf remove { + status obsolete; + description + "Secondary VLAN IDs of the private VLAN promiscuous port mapping"; + type string; + } + } + container trunk { + status obsolete; + description + "Set the private vlan trunking configuration"; + container allowed { + status obsolete; + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + status obsolete; + description + "Set allowed VLANs when interface is in trunking mode"; + leaf vlans { + status obsolete; + type union { + type uint16; + type string; + } + } + } + } + container native { + status obsolete; + description + "Set the private vlan trunking native configuration"; + container vlan { + status obsolete; + description + "Set native VLAN configuration"; + leaf vlans { + status obsolete; + description + "VLAN ID of the native VLAN when this port is in trunking mode"; + type uint16 { + range "1..4094"; + } + } + leaf tag { + status obsolete; + description + "Set native VLAN tagging state on Private VLAN trunk"; + type empty; + } + } + } + } + } + container vepa { + status obsolete; + description + "Reflective relay configuration"; + leaf enabled { + status obsolete; + description + "Enable reflective relay"; + type empty; + } + } + leaf app-interface { + status obsolete; + description + "Enable port for application hosting"; + type empty; + } + } + + grouping config-interface-switch-grouping { + container auto { + description + "Configure Automation"; + container qos { + description + "Configure AutoQoS"; + container classify { + description + "Configure classification for untrusted devices"; + presence "true"; + leaf police { + description + "Configure QoS policing for untrusted devices"; + type empty; + } + } + container trust { + description + "Trust the DSCP/CoS marking"; + presence "true"; + leaf cos { + description + "Trust the CoS marking"; + type empty; + } + leaf dscp { + description + "Trust the DSCP marking"; + type empty; + } + } + container video { + description + "Configure AutoQoS for video devices"; + leaf cts { + description + "Trust the QoS marking of the Cisco Telepresence System"; + type empty; + } + leaf ip-camera { + description + "Trust the QoS marking of the Ip Video Surveillance camera"; + type empty; + } + leaf media-player { + description + "Trust the Qos marking of the Cisco Media Player"; + type empty; + } + } + container voip { + description + "Configure AutoQoS for VoIP"; + presence "true"; + leaf cisco-phone { + description + "Trust the QoS marking of Cisco IP Phone"; + type empty; + } + leaf cisco-softphone { + description + "Trust the QoS marking of Cisco IP SoftPhone"; + type empty; + } + leaf trust { + description + "Trust the DSCP/CoS marking"; + type empty; + } + } + } + } + container datalink { + description + "Interface Datalink commands"; + container flow { + description + "Interface Flow configuration subcommands"; + list monitor-new { + description + "Apply a Flow Monitor"; + key "name direction"; + leaf name { + description + "User defined"; + type leafref { + path "/ios:native/ios:flow/ios-flow:monitor/ios-flow:name"; + } + } + leaf direction { + type enumeration { + enum input; + enum output; + } + } + leaf sampler { + type string; + } + leaf subtraffic { + type enumeration { + enum unicast; + enum multicast; + } + } + } + container monitor { + status obsolete; + description + "Apply a Flow Monitor"; + presence "true"; + leaf User-defined-flow { + status obsolete; + description + "User defined"; + type string; + } + leaf input-output { + status obsolete; + description + "Apply Flow Monitor on input/output traffic"; + type enumeration { + enum input; + enum output; + } + } + } + } + } + container energywise { + description + "EnergyWise interface configurations"; + presence "true"; + leaf activitycheck { + description + "Apply an activity check before turning off power + to this PoE port"; + type empty; + } + list level { + description + "Set the EnergyWise level of this interface + or attached entity"; + key "range"; + leaf range { + type uint8 { + range "0..10"; + } + } + container recurrence { + description + "Specify that this level setting should + recur at the specified time"; + list importance { + description + "Specify the importance at which the event + should be sent when it recurs"; + key "range"; + leaf range { + type uint16 { + range "1..100"; + } + } + container at { + description + "Specify the time(s) this level setting should occur"; + leaf minute { + description + "cron format of minute(s)"; + type union { + type uint16 { + range "0..59"; + } + type string { + pattern '[*].*'; + } + } + } + leaf hour { + description + "cron format of hour(s)"; + type union { + type uint16 { + range "0..23"; + } + type string { + pattern '[*].*'; + } + } + } + leaf day { + description + "cron format of day(s) of month"; + type union { + type uint16 { + range "1..31"; + } + type string { + pattern '[*].*'; + } + } + } + leaf month { + description + "cron format of month(s)"; + type union { + type uint16 { + range "1..12"; + } + type string { + pattern '[*].*'; + } + } + } + leaf weekday { + description + "cron format of weekday(s)"; + type union { + type uint16 { + range "0..7"; + } + type string { + pattern '[*].*'; + } + } + } + } + } + } + } + } + container location { + description + "Interface location information"; + container civic-location-id { + description + "Civic location information"; + leaf location-identifier { + description + "civic location identifier string"; + type string; + } + container host { + description + "Globally defined host location identifier"; + presence "true"; + leaf port-location { + description + "Port specific attributes"; + type string; + } + } + container none { + description + "No globally defined location identifier"; + presence "true"; + leaf port-location { + description + "Port specific attributes"; + type string; + } + } + } + } + container mac { + description + "MAC interface commands"; + list access-group { + description + "MAC access-group configuration commands"; + key "direction"; + leaf direction { + type enumeration { + enum in; + enum out; + } + } + leaf acl-name { + type string; + } + } + } + container macro { + description + "Command macro"; + leaf description { + description + "Macro description for this interface"; + type string; + } + container auto { + description + "Smartport interface macro configurations"; + leaf processing { + description + "Enable smartport macro auto execution on this interface"; + type boolean; + } + container port { + description + "Provide interface specific configuration for macro processing"; + leaf sticky { + type empty; + } + } + container control { + description + "Control macro auto execution"; + container device { + description + "Enable macro auto execution for devices"; + leaf phone { + type empty; + } + } + } + } + } + container dual-active { + leaf fast-hello { + type empty; + } + } + container load-balancing { + description + "Etherchannel Load-Balancing"; + leaf flow { + description + "Based on the traffic flows identified by the packet headers"; + type empty; + } + leaf vlan { + description + "Based on the VLAN to member links manual configuration"; + type empty; + } + } + list vlan-range { + key "id"; + leaf id { + type union { + type uint16 { + range "1..4096"; + } + type string; + } + } + container service-policy { + description + "Configure QoS Service Policy"; + leaf input { + description + "Assign policy-map to the input of an interface"; + type string; + } + leaf output { + description + "Assign policy-map to the output of an interface"; + type string; + } + } + } + container switch { + container virtual { + leaf link { + type uint8; + } + } + } + container srr-queue { + container bandwidth { + container shape { + leaf weight1 { + type uint16; + } + leaf weight2 { + type uint16; + } + leaf weight3 { + type uint16; + } + leaf weight4 { + type uint16; + } + } + container share { + leaf weight1 { + type uint8 { + range "1..255"; + } + } + leaf weight2 { + type uint8 { + range "1..255"; + } + } + leaf weight3 { + type uint8 { + range "1..255"; + } + } + leaf weight4 { + type uint8 { + range "1..255"; + } + } + } + } + } + leaf macsec { + status obsolete; + description + "Enable macsec on the interface"; + if-feature "ios-features:macsec-switch"; + type empty; + } + container macsec-option { + status obsolete; + description + "Enable macsec on the interface"; + if-feature "ios-features:macsec-switch"; + container macsec { + container replay-protection { + status obsolete; + description + "Set replay-protection"; + leaf window-size { + status obsolete; + description + "Set replay window-size"; + type uint32; + } + } + leaf network-link { + description + "Enable macsec on switch connected interface"; + type empty; + } + leaf strict { + description + "Enable strict validation of macsec"; + type empty; + } + } + } + uses interface-l2protocol-tunnel-grouping; + } + + grouping config-interface-switch-grouping-obsolete { + container auto { + status obsolete; + description + "Configure Automation"; + container qos { + status obsolete; + description + "Configure AutoQoS"; + container classify { + status obsolete; + description + "Configure classification for untrusted devices"; + presence "true"; + leaf police { + status obsolete; + description + "Configure QoS policing for untrusted devices"; + type empty; + } + } + container trust { + status obsolete; + description + "Trust the DSCP/CoS marking"; + presence "true"; + leaf cos { + status obsolete; + description + "Trust the CoS marking"; + type empty; + } + leaf dscp { + status obsolete; + description + "Trust the DSCP marking"; + type empty; + } + } + container video { + status obsolete; + description + "Configure AutoQoS for video devices"; + leaf cts { + status obsolete; + description + "Trust the QoS marking of the Cisco Telepresence System"; + type empty; + } + leaf ip-camera { + status obsolete; + description + "Trust the QoS marking of the Ip Video Surveillance camera"; + type empty; + } + leaf media-player { + status obsolete; + description + "Trust the Qos marking of the Cisco Media Player"; + type empty; + } + } + container voip { + status obsolete; + description + "Configure AutoQoS for VoIP"; + presence "true"; + leaf cisco-phone { + status obsolete; + description + "Trust the QoS marking of Cisco IP Phone"; + type empty; + } + leaf cisco-softphone { + status obsolete; + description + "Trust the QoS marking of Cisco IP SoftPhone"; + type empty; + } + leaf trust { + status obsolete; + description + "Trust the DSCP/CoS marking"; + type empty; + } + } + } + } + container datalink { + status obsolete; + description + "Interface Datalink commands"; + container flow { + status obsolete; + description + "Interface Flow configuration subcommands"; + container monitor { + status obsolete; + description + "Apply a Flow Monitor"; + presence "true"; + leaf User-defined-flow { + status obsolete; + description + "User defined"; + type string; + } + leaf input-output { + status obsolete; + description + "Apply Flow Monitor on input/output traffic"; + type enumeration { + enum input; + enum output; + } + } + } + } + } + container energywise { + status obsolete; + description + "EnergyWise interface configurations"; + presence "true"; + leaf activitycheck { + status obsolete; + description + "Apply an activity check before turning off power + to this PoE port"; + type empty; + } + list level { + status obsolete; + description + "Set the EnergyWise level of this interface + or attached entity"; + key "range"; + leaf range { + status obsolete; + type uint8 { + range "0..10"; + } + } + container recurrence { + status obsolete; + description + "Specify that this level setting should + recur at the specified time"; + list importance { + status obsolete; + description + "Specify the importance at which the event + should be sent when it recurs"; + key "range"; + leaf range { + status obsolete; + type uint16 { + range "1..100"; + } + } + container at { + status obsolete; + description + "Specify the time(s) this level setting should occur"; + leaf minute { + status obsolete; + description + "cron format of minute(s)"; + type union { + type uint16 { + range "0..59"; + } + type string { + pattern '[*].*'; + } + } + } + leaf hour { + status obsolete; + description + "cron format of hour(s)"; + type union { + type uint16 { + range "0..23"; + } + type string { + pattern '[*].*'; + } + } + } + leaf day { + status obsolete; + description + "cron format of day(s) of month"; + type union { + type uint16 { + range "1..31"; + } + type string { + pattern '[*].*'; + } + } + } + leaf month { + status obsolete; + description + "cron format of month(s)"; + type union { + type uint16 { + range "1..12"; + } + type string { + pattern '[*].*'; + } + } + } + leaf weekday { + status obsolete; + description + "cron format of weekday(s)"; + type union { + type uint16 { + range "0..7"; + } + type string { + pattern '[*].*'; + } + } + } + } + } + } + } + } + container location { + status obsolete; + description + "Interface location information"; + container civic-location-id { + status obsolete; + description + "Civic location information"; + leaf location-identifier { + status obsolete; + description + "civic location identifier string"; + type string; + } + container host { + status obsolete; + description + "Globally defined host location identifier"; + presence "true"; + leaf port-location { + status obsolete; + description + "Port specific attributes"; + type string; + } + } + container none { + status obsolete; + description + "No globally defined location identifier"; + presence "true"; + leaf port-location { + status obsolete; + description + "Port specific attributes"; + type string; + } + } + } + } + container mac { + status obsolete; + description + "MAC interface commands"; + list access-group { + status obsolete; + description + "MAC access-group configuration commands"; + key "direction"; + leaf direction { + status obsolete; + type enumeration { + enum in; + enum out; + } + } + leaf acl-name { + status obsolete; + type string; + } + } + } + container macro { + status obsolete; + description + "Command macro"; + leaf description { + status obsolete; + description + "Macro description for this interface"; + type string; + } + container auto { + status obsolete; + description + "Smartport interface macro configurations"; + leaf processing { + status obsolete; + description + "Enable smartport macro auto execution on this interface"; + type boolean; + } + container port { + status obsolete; + description + "Provide interface specific configuration for macro processing"; + leaf sticky { + status obsolete; + type empty; + } + } + container control { + status obsolete; + description + "Control macro auto execution"; + container device { + status obsolete; + description + "Enable macro auto execution for devices"; + leaf phone { + status obsolete; + type empty; + } + } + } + } + } + container dual-active { + status obsolete; + leaf fast-hello { + status obsolete; + type empty; + } + } + container load-balancing { + status obsolete; + description + "Etherchannel Load-Balancing"; + leaf flow { + status obsolete; + description + "Based on the traffic flows identified by the packet headers"; + type empty; + } + leaf vlan { + status obsolete; + description + "Based on the VLAN to member links manual configuration"; + type empty; + } + } + list vlan-range { + status obsolete; + key "id"; + leaf id { + status obsolete; + type union { + type uint16 { + range "1..4096"; + } + type string; + } + } + container service-policy { + status obsolete; + description + "Configure QoS Service Policy"; + leaf input { + status obsolete; + description + "Assign policy-map to the input of an interface"; + type string; + } + leaf output { + status obsolete; + description + "Assign policy-map to the output of an interface"; + type string; + } + } + } + container switch { + status obsolete; + container virtual { + status obsolete; + leaf link { + status obsolete; + type uint8; + } + } + } + container srr-queue { + status obsolete; + container bandwidth { + status obsolete; + container shape { + status obsolete; + leaf weight1 { + status obsolete; + type uint16; + } + leaf weight2 { + status obsolete; + type uint16; + } + leaf weight3 { + status obsolete; + type uint16; + } + leaf weight4 { + status obsolete; + type uint16; + } + } + container share { + status obsolete; + leaf weight1 { + status obsolete; + type uint8 { + range "1..255"; + } + } + leaf weight2 { + status obsolete; + type uint8 { + range "1..255"; + } + } + leaf weight3 { + status obsolete; + type uint8 { + range "1..255"; + } + } + leaf weight4 { + status obsolete; + type uint8 { + range "1..255"; + } + } + } + } + } + leaf macsec { + status obsolete; + description + "Enable macsec on the interface"; + if-feature "ios-features:macsec-switch"; + type empty; + } + container macsec-option { + status obsolete; + description + "Enable macsec on the interface"; + if-feature "ios-features:macsec-switch"; + container macsec { + status obsolete; + container replay-protection { + status obsolete; + description + "Set replay-protection"; + leaf window-size { + status obsolete; + description + "Set replay window-size"; + type uint32; + } + } + leaf network-link { + status obsolete; + description + "Enable macsec on switch connected interface"; + type empty; + } + } + } + uses interface-l2protocol-tunnel-grouping-obsolete; + } + + grouping config-macro-auto-grouping { + list execute { + description + "Map event trigger to macro"; + key "trigger-event"; + leaf trigger-event { + type string; + } + container builtin { + description + "Display builtin shell functions"; + leaf smart-port-configuration { + type enumeration { + enum CISCO_AP_AUTO_SMARTPORT; + enum CISCO_DMP_AUTO_SMARTPORT; + enum CISCO_DMP_AUTO_SMARTPORT_V1; + enum CISCO_IP_CAMERA_AUTO_SMARTPORT; + enum CISCO_LAST_RESORT_SMARTPORT; + enum CISCO_LIGHT_AUTO_SMARTPORT; + enum CISCO_LWAP_AUTO_SMARTPORT; + enum CISCO_PHONE_AUTO_SMARTPORT; + enum CISCO_PHONE_AUTO_SMARTPORT_V1; + enum CISCO_ROUTER_AUTO_SMARTPORT; + enum CISCO_SWITCH_AUTO_SMARTPORT; + enum MS_IP_CAMERA_AUTO_SMARTPORT; + enum MS_VIDEO_CONF_AUTO_SMARTPORT; + } + } + leaf parameters { + type string; + } + } + } + container device { + description + " auto execution configuration"; + leaf media-player { + description + "digital media player for auto config"; + type string; + } + leaf ip-camera { + description + "video surveillance camera for auto config"; + type string; + } + } + container global { + description + "Macro auto execution configuration"; + leaf processing { + description + "Enable auto smartports, all ports enabled by default"; + type empty; + } + } + } + + grouping boot-filename-grouping { + container boot-container { + description + "Set system image filename for switches in the stack"; + list boot-filename { + ordered-by user; + key "filename"; + leaf filename { + description + "System image file"; + type string { + pattern '(bootflash|flash|ftp|http|sftp|tftp):.+'; + } + } + } + } + } + + grouping config-boot-system-grouping { + container switch { + description + "Set system image for switches in the stack"; + list switch-number { + key "range"; + leaf range { + description + "Switch number"; + type uint8 { + range "1..16"; + } + } + uses boot-filename-grouping; + leaf flash-1-path { + status obsolete; + description + "Example edison.bin"; + type string; + } + leaf flash-path { + status deprecated; + description + "Example edison.bin"; + type string; + } + leaf tftp-path { + status deprecated; + description + "Example 192.x.x.x/"; + type string; + } + } + container all { + description + "Set system image for all switches in the stack"; + uses boot-filename-grouping; + leaf flash-1 { + status obsolete; + description + "Example edison.bin"; + type string; + } + leaf flash { + status obsolete; + description + "Example edison.bin"; + type string; + } + leaf tftp { + status deprecated; + description + "Example 192.x.x.x/"; + type string; + } + } + } + } + + grouping config-boot-switch-options-grouping { + container enable-break-per-switch { + description + "Enable break per switch"; + list enable-break { + description + "Set enable break for switches in the stack"; + key "switch"; + leaf switch { + type uint8 { + range "1..16"; + } + } + } + } + container enable-break { + status deprecated; + description + "Enable break"; + presence "true"; + leaf switch { + status deprecated; + description + "Set enable break for switches in the stack"; + type uint8 { + range "1..9"; + } + } + } + container manual { + description + "Manual boot"; + presence "true"; + leaf switch { + description + "Set manual boot for switches in the stack:Switch number(s)"; + type uint8 { + range "1..9"; + } + } + } + } + + grouping config-module-grouping { + container provision { + description + "Configure module provision status"; + list switch { + key "number"; + leaf number { + type uint8; + } + container chassis { + leaf chassis-type { + type uint32; + } + leaf base-mac { + type string; + } + } + list slot { + key "number"; + leaf number { + type uint8; + } + leaf slot-type { + type uint32; + } + leaf base-mac { + type string; + } + } + } + } + } + + grouping config-sdm-grouping { + container prefer { + description + "Config TCAM and ASIC RAM size. Warning: need to reset switch for configuration to take effect"; + presence "true"; + choice sdm-prefer-choice { + leaf default { + type empty; + } + leaf qos { + type empty; + } + } + } + } + + grouping config-setup-grouping { + leaf express { + description + "Configure whether express setup mode is enabled"; + type boolean; + } + } + + grouping config-stack-mac-grouping { + container stack-mac { + description + "Global stack mac-address feature configurations"; + container persistent { + description + "persistent stack mac-address"; + leaf timer { + description + "use stack mac-address timer after master failure( 0 means still using the current MAC)"; + type uint8 { + range "0..60"; + } + } + } + } + } + + grouping config-switch-grouping { + container switch-global-config { + description + "Set speed on next reboot"; + container switch { + leaf stack-speed { + type enumeration { + enum high; + enum low; + } + } + } + } + list switch { + description + "Config commands for the switches in the stack"; + key "number"; + leaf number { + type uint8 { + range "1..16"; + } + } + leaf provision { + description + "Configure Switch provision / offline config"; + type enumeration { + enum ws-c2960x-24pd-l; + enum ws-c3650-48ps; + enum ws-c3650-24ps; + enum ws-c3850-48p; + enum ws-c3850-24p; + enum ws-c3850-48t; + enum ws-c3850-24t; + enum ws-c3850-48f; + enum ws-c3850-48u; + enum ws-c3850-24u; + enum ws-c3850-12x48u; + enum ws-c3850-24xu; + enum ws-c3850-24ux; + enum ws-c3850-12s; + enum ws-c3850-24s; + enum ws-c3850-12xs; + enum ws-c3850-24xs; + enum ws-c3850-48xs; + enum ws-c3650-12x48fd; + enum ws-c3650-12x48uq; + enum ws-c3650-12x48ur; + enum ws-c3650-12x48uz; + enum ws-c3650-24pd; + enum ws-c3650-24pdm; + enum ws-c3650-24td; + enum ws-c3650-24ts; + enum ws-c3650-48fqm; + enum ws-c3650-48pd; + enum ws-c3650-48pq; + enum ws-c3650-48td; + enum ws-c3650-48tq; + enum ws-c3650-48ts; + enum ws-c3650-8x24pd; + enum ws-c3650-8x24uq; + enum ws-c3750x-24p; + enum ws-c3750x-12s; + enum ws-c3850-12x48au; + enum c9300-24p; + enum c9300-24t; + enum c9300-24u; + enum c9300-48p; + enum c9300-48t; + enum c9300-48u; + enum c9300-24s; + enum c9300-24ux; + enum c9300-48mt; + enum c9300-48s; + enum c9300-48un; + enum c9300-48uxm; + enum c9300l-24p-4g; + enum c9300l-24p-4x; + enum c9300l-24t-4g; + enum c9300l-24t-4x; + enum c9300l-24uxg-2q; + enum c9300l-24uxg-4x; + enum c9300l-48p-4g; + enum c9300l-48p-4x; + enum c9300l-48t-4g; + enum c9300l-48t-4x; + enum c9300l-48uxg-2q; + enum c9300l-48uxg-4x; + enum c9500-12q; + enum c9500-16x; + enum c9500-24q; + enum c9500-40x; + enum c9200l-24p-4g; + enum c9200l-24p-4x; + enum c9200l-24pxg-2y; + enum c9200l-24pxg-4x; + enum c9200l-24t-4g; + enum c9200l-24t-4x; + enum c9200l-48p-4g; + enum c9200l-48p-4x; + enum c9200l-48pl-4g; + enum c9200l-48pl-4x; + enum c9200l-48pxg-2y; + enum c9200l-48pxg-4x; + enum c9200l-48t-4g; + enum c9200l-48t-4x; + enum c9200-24p; + enum c9200-24pxg; + enum c9200-24t; + enum c9200-48p; + enum c9200-48pl; + enum c9200-48pxg; + enum c9200-48t; + enum C9200-24PB; + enum C9200-48PB; + enum c9300lm-24u-4y; + enum c9300lm-48t-4y; + enum c9300lm-48u-4y; + enum c9300lm-48ux-4y; + } + } + } + } + + grouping config-switch-virtual-grouping { + status obsolete; + list switch-virtual { + status obsolete; + key "domain"; + leaf domain { + status obsolete; + type uint32; + } + leaf virtual { + status obsolete; + type empty; + } + container switch { + description + "Configure switch command"; + status obsolete; + leaf switch-number { + description + "Virtual switch number"; + status obsolete; + type uint32 { + range "1..2"; + } + } + leaf priority { + status obsolete; + description + "Virtual switch priority value"; + type uint32; + } + leaf mode { + status obsolete; + type enumeration { + enum virtual; + } + } + } + container mac-address { + status obsolete; + leaf use-virtual { + status obsolete; + type empty; + } + } + container dual-active { + status obsolete; + description + "Virtual switch dual-active config"; + container recovery { + status obsolete; + description + "Recovery IP address"; + leaf switch { + status obsolete; + description + "Switch ID for recovery IP address"; + type uint8 { + range "1..2"; + } + } + container ip { + status obsolete; + description + "Recovery IP address"; + leaf address { + status obsolete; + description + "Recovery IP address"; + type inet:ipv4-address; + } + leaf mask { + status obsolete; + description + "IP address mask"; + type inet:ipv4-address; + } + } + } + container detection { + status obsolete; + description + "Dual-active detection enable"; + container pagp { + status obsolete; + description + "Dual-active detection using PAgP"; + presence "true"; + container trust { + status obsolete; + description + "Trusted channels for PAgP dual-active detection"; + leaf channel-group { + status obsolete; + description + "Etherchannel/port bundle to be used for pagp dual-active detection"; + type uint8 { + range "1..254"; + } + } + } + } + } + } + } + } + + grouping config-network-policy-grouping { + container network-policy { + description + "Network Policy"; + leaf profile { + description + "Network Policy Profile"; + type uint32 { + range "1..4294967295"; + } + } + } + } + + grouping config-device-grouping { + container device { + description + "device classifier configuration"; + container classifier-enable { + description + "device classifier enable configuration"; + leaf classifier { + description + "Enable/Disable classification of attached devices"; + type empty; + } + } + container classifier-with-condition { + description + "device classifier condition and device type configuration"; + container classifier { + description + "device classifier condition device type configuration"; + list condition { + description + "Define device classifier condition"; + key "name"; + leaf name { + description + "Condition name"; + type string; + } + leaf op { + description + "Define condition operator"; + type enumeration { + enum AND; + enum OR; + } + } + uses cdp-condition-grouping-v2; + uses lldp-condition-grouping-v2; + uses dhcp-condition-grouping-v2; + } + list device-type { + description + "Define device type"; + key "name"; + leaf name { + description + "Device type name"; + type string; + } + uses condition-name-grouping-v2; + } + } + } + container config-classifier-condition-devtype { + status deprecated; + list condition { + status deprecated; + description + "Define device classifier condition"; + must 'not (../../classifier)' { + error-message "Device classifier is enabled.Please disable it and execute the command again."; + } + key "name"; + leaf name { + status deprecated; + description + "Condition name"; + type string; + } + leaf op { + status deprecated; + description + "Define condition operator"; + type enumeration { + enum AND; + enum OR; + } + } + uses cdp-condition-grouping-deprecate; + uses lldp-condition-grouping-deprecate; + uses dhcp-condition-grouping-deprecate; + } + list device-type { + status deprecated; + description + "Define device type"; + key "name"; + leaf name { + status deprecated; + description + "Device type name"; + must 'not (../../../../device/classifier)' { + error-message "Device classifier is enabled.Please disable it and execute the command again."; + } + type string; + } + uses condition-name-grouping-deprecate; + } + } + leaf classifier { + status deprecated; + description + "Enable/Disable classification of attached devices"; + type empty; + } + } + } + + grouping cdp-condition-grouping-v2 { + container CDP { + description + "CDP related rules"; + uses grouping-tlv-type-v2; + } + } + + grouping dhcp-condition-grouping-v2 { + container DHCP { + description + "DHCP related rules"; + uses grouping-tlv-type-v2; + } + } + + grouping lldp-condition-grouping-v2 { + container LLDP { + description + "LLDP related rules"; + uses grouping-tlv-type-v2; + } + } + + grouping grouping-tlv-type-v2 { + list tlv-type { + description + "Give TLV type"; + key "tlv-type-number"; + leaf tlv-type-number { + description + "TLV type value"; + type uint32 { + range "1..255"; + } + } + container value { + description + "Give value type"; + leaf-list Integer { + description + "Match Integer"; + type uint32 { + range "1..2147483647"; + } + } + leaf-list String { + description + "Match string"; + type string; + } + leaf-list Regex { + description + "Match regular expression"; + type string; + } + leaf-list Hexstr { + description + "Match Hexadecimal string"; + type string { + length "1..256"; + pattern '[0-9a-fA-F]*' { + error-message "Incorrect format"; + } + } + } + } + } + } + + grouping condition-name-grouping-v2 { + leaf condition { + description + "Give condition name"; + must '../../condition[name = current()]' { + error-message "Create after Condition Creation or Delete before Condition Deletion"; + } + type string; + } + } + + grouping cdp-condition-grouping-deprecate { + container CDP { + status deprecated; + description + "CDP related rules"; + uses grouping-tlv-type-deprecate; + } + } + + grouping dhcp-condition-grouping-deprecate { + container DHCP { + status deprecated; + description + "DHCP related rules"; + uses grouping-tlv-type-deprecate; + } + } + + grouping lldp-condition-grouping-deprecate { + container LLDP { + status deprecated; + description + "LLDP related rules"; + uses grouping-tlv-type-deprecate; + } + } + + grouping grouping-tlv-type-deprecate { + list tlv-type { + status deprecated; + description + "Give TLV type"; + key "tlv-type-number"; + leaf tlv-type-number { + status deprecated; + description + "TLV type value"; + type uint32 { + range "1..255"; + } + } + container value { + status deprecated; + description + "Give value type"; + leaf-list Integer { + status deprecated; + description + "Match Integer"; + type uint32 { + range "1..2147483647"; + } + } + leaf-list String { + status deprecated; + description + "Match string"; + type string; + } + leaf-list Regex { + status deprecated; + description + "Match regular expression"; + type string; + } + } + } + } + + grouping condition-name-grouping-deprecate { + leaf condition { + status deprecated; + description + "Give condition name"; + must '../../condition[name = current()]' { + error-message "Given condition doesn't exist. Create the condition first"; + } + type string; + } + } + + grouping l2pt-parameter-grouping { + leaf pps_num { + description + "Packets/sec rate beyond which interface is put to err-disable"; + type uint16 { + range "1..4096"; + } + } + } + + grouping l2pt-parameter-grouping-obsolete { + leaf pps_num { + status obsolete; + description + "Packets/sec rate beyond which interface is put to err-disable"; + type uint16 { + range "1..4096"; + } + } + } + + grouping l2pt-choice-grouping { + container cdp { + description + "Cisco Discovery Protocol"; + uses l2pt-parameter-grouping; + } + container stp { + description + "Spanning Tree Protocol"; + uses l2pt-parameter-grouping; + } + container vtp { + description + "Vlan Trunking Protocol"; + uses l2pt-parameter-grouping; + } + container lldp { + description + "Link Layer Discovery Protocol"; + uses l2pt-parameter-grouping; + } + container point-to-point { + description + "point-to-point L2 Protocol"; + container lacp { + description + "Link Aggregation Control Protocol"; + uses l2pt-parameter-grouping; + } + container pagp { + description + "Port Aggregation Protocol"; + uses l2pt-parameter-grouping; + } + container udld { + description + "Unidirectional Link Detection"; + uses l2pt-parameter-grouping; + } + } + } + + grouping l2pt-choice-grouping-obsolete { + container cdp { + status obsolete; + description + "Cisco Discovery Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container stp { + status obsolete; + description + "Spanning Tree Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container vtp { + status obsolete; + description + "Vlan Trunking Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container lldp { + status obsolete; + description + "Link Layer Discovery Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container point-to-point { + status obsolete; + description + "point-to-point L2 Protocol"; + container lacp { + status obsolete; + description + "Link Aggregation Control Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container pagp { + status obsolete; + description + "Port Aggregation Protocol"; + uses l2pt-parameter-grouping-obsolete; + } + container udld { + status obsolete; + description + "Unidirectional Link Detection"; + uses l2pt-parameter-grouping-obsolete; + } + } + } + + grouping interface-l2protocol-tunnel-grouping { + container l2protocol-tunnel { + description + "Tunnel Layer2 protocols"; + container drop-threshold { + description + "Set drop threshold for protocol packets"; + uses l2pt-choice-grouping; + } + container shutdown-threshold { + description + "Set shutdown threshold for protocol packets"; + uses l2pt-choice-grouping; + } + leaf cdp { + description + "Cisco Discovery Protocol"; + type empty; + } + leaf stp { + description + "Spanning Tree Protocol"; + type empty; + } + leaf vtp { + description + "Vlan Trunking Protocol"; + type empty; + } + leaf lldp { + description + "Link Layer Discovery Protocol"; + type empty; + } + container point-to-point { + description + "point-to-point L2 Protocol"; + leaf lacp { + description + "Link Aggregation Control Protocol"; + type empty; + } + leaf pagp { + description + "Port Aggregation Protocol"; + type empty; + } + leaf udld { + description + "Unidirectional Link Detection"; + type empty; + } + } + } + } + + grouping interface-l2protocol-tunnel-grouping-obsolete { + container l2protocol-tunnel { + status obsolete; + description + "Tunnel Layer2 protocols"; + container drop-threshold { + status obsolete; + description + "Set drop threshold for protocol packets"; + uses l2pt-choice-grouping-obsolete; + } + container shutdown-threshold { + status obsolete; + description + "Set shutdown threshold for protocol packets"; + uses l2pt-choice-grouping-obsolete; + } + leaf cdp { + status obsolete; + description + "Cisco Discovery Protocol"; + type empty; + } + leaf stp { + status obsolete; + description + "Spanning Tree Protocol"; + type empty; + } + leaf vtp { + status obsolete; + description + "Vlan Trunking Protocol"; + type empty; + } + leaf lldp { + status obsolete; + description + "Link Layer Discovery Protocol"; + type empty; + } + container point-to-point { + status obsolete; + description + "point-to-point L2 Protocol"; + leaf lacp { + status obsolete; + description + "Link Aggregation Control Protocol"; + type empty; + } + leaf pagp { + status obsolete; + description + "Port Aggregation Protocol"; + type empty; + } + leaf udld { + status obsolete; + description + "Unidirectional Link Detection"; + type empty; + } + } + } + } + + grouping config-l2protocol-tunnel-grouping { + container l2protocol-tunnel { + description + "Tunnel Layer2 protocols"; + leaf cos { + description + "Class of Service"; + type uint8 { + range "0..7"; + } + } + container global { + description + "Global settings"; + leaf drop-threshold { + description + "Global L2PT packets drop threshold"; + type uint16 { + range "100..20000"; + } + } + } + } + } + + grouping config-rep-grouping { + container rep { + description + "Resilient Ethernet Protocol characteristics"; + container admin { + description + "administrative configuration"; + list vlan { + description + "VLAN"; + key "name"; + leaf name { + type uint16 { + range "2..4094"; + } + } + } + } + } + } + + grouping config-hw-switch-grouping { + container hw-switch { + description + "Hw-switch"; + container switch { + description + "Switch in the system"; + list switch-number { + key "switch-number"; + leaf switch-number { + description + "Switch number in the Stack (Refer to show switch CLI)"; + type uint8 { + range "1..9"; + } + } + container logging { + description + "Logging onboard"; + container onboard { + description + "Logging onboard"; + presence "true"; + leaf counter { + description + "Configure logging onboard counter"; + type empty; + } + leaf environment { + description + "Configure logging onboard environment"; + type empty; + } + leaf message { + description + "Configure logging onboard message"; + type empty; + } + leaf poe { + description + "Configure logging onboard poe"; + type empty; + } + leaf temperature { + description + "Configure logging onboard temperature"; + type empty; + } + leaf voltage { + description + "Configure logging onboard voltage"; + type empty; + } + } + } + } + } + } + } + + grouping config-energywise-grouping { + container energywise { + description + "EnergyWise Global Configuration Commands"; + list domain { + description + "Set the EnergyWise domain this entity should join"; + key "word"; + leaf word { + type string; + } + container security { + description + "Set security parameters for this EnergyWise domain"; + container shared-secret { + description + "Set the shared secret for this EnergyWise domain"; + list zero { + description + "Specifies an UNENCRYPTED shared secret for the domain will follow"; + key "word"; + leaf word { + type string; + } + container protocol { + description + "Specify a communication protocol to use to communicate with the EnergyWise domain"; + container udp { + description + "UDP protocol"; + leaf port { + description + "Specify a port number to use to communicate with the EnergyWise domain"; + type uint16 { + range "1..65000"; + } + } + leaf ip { + description + "Specify an ipaddress to use to communicate with the EnergyWise domain"; + type inet:ipv4-address; + } + } + } + } + } + } + } + } + } + + grouping config-service-template-grouping { + list service-template { + description + "Configure a service-template/identity policy"; + key "word"; + leaf word { + description + "Specify a template name (maximum 48 characters)"; + type string { + length "1..48"; + } + } + list access-group-config { + description + "Access list to be applied"; + key "name"; + leaf name { + description + "Specify the access list name"; + type string; + } + } + leaf access-group { + status obsolete; + description + "Access list to be applied. OBSOLETE, Use access-group-config + instead"; + type string; + } + container inactivity-timer { + description + "Inactivity timeout value in seconds"; + leaf value { + description + "Enter a value between 1 and 65535"; + type uint16 { + range "1..65535"; + } + } + leaf probe { + description + "ARP probe"; + type empty; + } + } + leaf vlan { + description + "Vlan to be applied"; + type uint16 { + range "1..4094"; + } + } + container linksec { + description + "Configure link security parameters"; + leaf policy { + description + "Set the link security policy"; + type enumeration { + enum must-not-secure; + enum must-secure; + enum should-secure; + } + } + } + leaf mdns-service-policy { + description + "mdns policy to be applied"; + type string { + length "1..164"; + } + } + container voice { + description + "Voice feature"; + leaf vlan { + description + "Critical voice vlan"; + type empty; + } + } + leaf sgt { + description + "SGT tag"; + type uint16 { + range "2..65519"; + } + } + leaf absolute-timer { + description + "Enter a value between 1 and 1073741823"; + type uint32 { + range "1..1073741823"; + } + } + leaf description { + description + "Enter a description"; + type string; + } + list interface-template { + description + "Interface template to be applied"; + key "name"; + leaf name { + description + "Enter name of interface template"; + type string; + } + } + container tunnel { + description + "tunnel for wired client access"; + container type { + description + "tunnel type"; + container capwap { + description + "capwap tunnel type"; + leaf name { + description + "tunnel profile name"; + type string; + } + } + } + } + leaf vnid { + description + "Vnid to be applied"; + type string; + } + container redirect { + description + "Redirect clients to a particular location"; + container append { + description + "Append URL query in redirect URL"; + leaf client-mac { + description + "Append client Mac Address in redirect URL"; + type string; + } + leaf switch-mac { + description + "Append switch Mac Address in redirect URL"; + type string; + } + } + container url { + description + "URL where clients should be redirected"; + leaf url_name { + description + "Specify a valid URL"; + type string; + } + container match { + description + "Traffic matching this access list will be redirected"; + leaf acl_name { + description + "Specify the access list name"; + type string; + } + leaf action { + type enumeration { + enum one-time-redirect; + enum redirect-on-no-match; + } + } + } + } + } + container dns-acl { + description + "DNS ACL"; + leaf preauth { + description + "pre-authentication"; + type string; + } + } + container service-policy { + description + "Configure service policy"; + container qos { + description + "Configure Qos policies for client"; + leaf input { + description + "Configure input Qos policy"; + type string; + } + leaf output { + description + "Configure output Qos policy"; + type string; + } + } + } + list tag-config { + description + "tag name"; + key "name"; + leaf name { + description + "Specify the Tag name"; + type string; + } + } + leaf tag { + status obsolete; + description + "tag name. OBSOLETE use tag-config instead"; + type string; + } + } + } + + grouping arp-access-list-mac { + container mac { + description + "Sender MAC address"; + list sender-mac-address { + description + "Sender MAC address"; + key "mac-address"; + leaf mac-address { + type string; + } + leaf mac-address-mask { + description + "Sender MAC address mask"; + type string; + } + leaf log { + description + "Log on match"; + type empty; + } + } + container any { + description + "Any MAC address"; + presence "true"; + leaf log { + description + "Log on match"; + type empty; + } + } + container host { + description + "Single Sender host"; + list sender-mac-address { + description + "Sender MAC address"; + key "mac-address"; + leaf mac-address { + type string; + } + leaf log { + description + "Log on match"; + type empty; + } + } + } + } + } + + grouping arp-access-list-ip-grouping { + container ip { + description + "Sender IP address"; + list sender-ip-address { + description + "Sender IP address"; + key "ip-address"; + leaf ip-address { + type string; + } + leaf ip-address-mask { + description + "Sender IP wildcard mask"; + type string; + } + uses arp-access-list-mac; + } + container any { + description + "Any Sender IP address"; + uses arp-access-list-mac; + } + container host { + description + "Single Sender host"; + list ip-address { + description + "Sender IP address"; + key "ip-address"; + leaf ip-address { + type string; + } + uses arp-access-list-mac; + } + } + } + } + + grouping arp-access-list-request-response-grouping { + uses arp-access-list-ip-grouping; + container request { + description + "ARP Request"; + uses arp-access-list-ip-grouping; + } + container response { + description + "ARP Response"; + uses arp-access-list-ip-grouping; + } + } + + grouping arp-access-list-config-grouping { + container permit { + description + "Specify packets to forward"; + uses arp-access-list-request-response-grouping; + } + container deny { + description + "Specify packets to reject"; + uses arp-access-list-request-response-grouping; + } + } + + grouping config-arp-access-list-grouping { + list access-list { + description + "Named access-list"; + key "name"; + leaf name { + type string; + } + uses arp-access-list-config-grouping; + container default { + description + "Set a command to its defaults"; + uses arp-access-list-config-grouping; + } + container no { + description + "Negate a command or set its defaults"; + uses arp-access-list-config-grouping; + } + } + } + + grouping config-ip-igmp-snooping-vlan-grouping { + container vlan { + description + "IGMP Snooping enable for Catalyst VLAN"; + list range { + key "range"; + leaf range { + description + "Vlan number"; + type uint16 { + range "1..1001 | 1006..4094"; + } + } + leaf immediate-leave { + description + "Enable IGMPv2 immediate leave processing"; + type empty; + } + leaf last-member-query-count { + description + "Interval (milliseconds)"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + description + "Interval (milliseconds)"; + type uint16 { + range "100..32767"; + } + } + container mrouter { + description + "Configure an L2 port as a multicast router port"; + leaf interface { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + container learn { + description + "Set the multicast router learning method"; + leaf cgmp { + description + "Learn the multicast router snooping CGMP packets"; + type empty; + } + leaf pim-dvmrp { + description + "Learn the multicast router snooping PIM-DVMRP packets"; + type empty; + } + } + } + container querier { + description + "Enable IGMP querier for this Vlan"; + presence "true"; + leaf address { + description + "IGMP querier source IP address"; + type inet:ipv4-address; + } + leaf max-response-time { + description + "IGMP querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + description + "IGMP querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + container tcn { + description + "IGMP querier TCN related parameters"; + container query { + description + "IGMP querier TCN query related parameters"; + leaf count { + description + "IGMP querier TCN query count"; + type uint8 { + range "1..10"; + } + } + leaf interval { + description + "IGMP querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + description + "IGMP other querier timer"; + leaf expiry { + description + "IGMP querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + description + "IGMP version"; + type uint8 { + range "1..2"; + } + } + } + leaf robustness-variable { + description + "Robustness variable"; + type uint8 { + range "1..3"; + } + } + container static { + description + "Configure an L2 port as a member of a group"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "IP address of the group"; + type inet:ipv4-address; + } + leaf interface { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + } + } + } + } + } + + grouping config-ip-igmp-snooping-vlan-grouping-deprecated { + container vlan { + status deprecated; + description + "IGMP Snooping enable for Catalyst VLAN"; + list range { + status deprecated; + key "range"; + leaf range { + status deprecated; + description + "Vlan number"; + type uint16 { + range "1..1001 | 1006..4094"; + } + } + leaf immediate-leave { + status deprecated; + description + "Enable IGMPv2 immediate leave processing"; + type empty; + } + leaf last-member-query-count { + status deprecated; + description + "Interval (milliseconds)"; + type uint8 { + range "1..7"; + } + } + leaf last-member-query-interval { + status deprecated; + description + "Interval (milliseconds)"; + type uint16 { + range "100..32767"; + } + } + container mrouter { + status deprecated; + description + "Configure an L2 port as a multicast router port"; + leaf interface { + status deprecated; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + container learn { + status deprecated; + description + "Set the multicast router learning method"; + leaf cgmp { + status deprecated; + description + "Learn the multicast router snooping CGMP packets"; + type empty; + } + leaf pim-dvmrp { + status deprecated; + description + "Learn the multicast router snooping PIM-DVMRP packets"; + type empty; + } + } + } + container querier { + status deprecated; + description + "Enable IGMP querier for this Vlan"; + presence "true"; + leaf address { + status deprecated; + description + "IGMP querier source IP address"; + type inet:ipv4-address; + } + leaf max-response-time { + status deprecated; + description + "IGMP querier maximum response time (sec)"; + type uint8 { + range "1..25"; + } + } + leaf query-interval { + status deprecated; + description + "IGMP querier query interval (sec)"; + type uint16 { + range "1..18000"; + } + } + container tcn { + status deprecated; + description + "IGMP querier TCN related parameters"; + container query { + status deprecated; + description + "IGMP querier TCN query related parameters"; + leaf count { + status deprecated; + description + "IGMP querier TCN query count"; + type uint8 { + range "1..10"; + } + } + leaf interval { + status deprecated; + description + "IGMP querier TCN query interval (sec)"; + type uint8 { + range "1..255"; + } + } + } + } + container timer { + status deprecated; + description + "IGMP other querier timer"; + leaf expiry { + status deprecated; + description + "IGMP querier other querier time out (sec)"; + type uint16 { + range "60..300"; + } + } + } + leaf version { + status deprecated; + description + "IGMP version"; + type uint8 { + range "1..2"; + } + } + } + leaf robustness-variable { + status deprecated; + description + "Robustness variable"; + type uint8 { + range "1..3"; + } + } + container static { + status deprecated; + description + "Configure an L2 port as a member of a group"; + list ipv4 { + status deprecated; + key "ipv4"; + leaf ipv4 { + status deprecated; + description + "IP address of the group"; + type inet:ipv4-address; + } + leaf interface { + status deprecated; + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + } + } + } + } + } + + grouping switchport-trunk-allowed-vlan-v2 { + container vlan-v2 { + description + "Set allowed VLANs when interface is in trunking mode"; + container vlan-choices { + choice vlan-choice { + default "all-case"; + case vlans-case { + leaf vlans { + type string { + length "1..224" { + error-message "Character length exceeds 224"; + } + pattern '([0-9]+[,-]?)*'; + } + } + } + case none-case { + leaf none { + description + "no VLANs"; + type empty; + } + } + case all-case { + leaf all { + description + "all VLANs"; + type boolean; + default "true"; + } + } + } + } + container add-vlans { + list add { + key "vlans"; + leaf vlans { + type string { + length "1..219" { + error-message "Character length exceeds 219"; + } + pattern '([0-9]+[,-]?)*'; + } + } + } + } + leaf except { + description + "all VLANs except the following"; + type string { + length "1..216" { + error-message "Character length exceeds 216"; + } + pattern '([0-9]+[,-]?)*'; + } + } + leaf remove { + description + "VLAN IDs of disallowed VLANs when this port is in trunking mode"; + type string { + length "1..216" { + error-message "Character length exceeds 216"; + } + pattern '([0-9]+[,-]?)*'; + } + } + } + } + + augment "/ios:native" { + uses config-network-policy-grouping; + } + + augment "/ios:native/ios:system" { + uses config-system-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:switchport-config/ios:switchport" { + uses config-interface-switchport-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet/ios:switchport" { + uses config-interface-switchport-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + uses ios-dt:config-interface-switchport-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + uses config-interface-switch-grouping-obsolete; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-switch-grouping; + uses ios-dt:config-interface-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-switch-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-switch-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated { + status deprecated; + } + } + + augment "/ios:native/ios:interface/ios:Ethernet-Internal/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated { + status deprecated; + } + } + + augment "/ios:native/ios:interface/ios:Wlan-GigabitEthernet/ios:switchport" { + status deprecated; + uses config-interface-switchport-grouping-deprecated { + status deprecated; + } + } + + augment "/ios:native/ios:macro/ios:auto" { + uses config-macro-auto-grouping; + } + + augment "/ios:native/ios:boot/ios:system" { + uses config-boot-system-grouping; + } + + augment "/ios:native/ios:boot" { + uses config-boot-switch-options-grouping; + } + + augment "/ios:native/ios:module" { + uses config-module-grouping { + if-feature "ios-features:module"; + } + } + + augment "/ios:native/ios:sdm" { + uses config-sdm-grouping; + } + + augment "/ios:native/ios:setup" { + uses config-setup-grouping { + if-feature "ios-features:setup"; + } + } + + augment "/ios:native" { + uses config-energywise-grouping; + } + + augment "/ios:native" { + uses config-service-template-grouping; + } + + augment "/ios:native/ios-arp:arp" { + uses config-arp-access-list-grouping; + } + + augment "/ios:native/ios:ip/ios-igmp:igmp/ios-igmp:snooping-entry/ios-igmp:snooping" { + uses config-ip-igmp-snooping-vlan-grouping; + } + + augment "/ios:native/ios:ip/ios-igmp:igmp/ios-igmp:snooping" { + status deprecated; + uses config-ip-igmp-snooping-vlan-grouping-deprecated; + } + + augment "/ios:native" { + uses config-switch-grouping; + uses config-switch-virtual-grouping { + status obsolete; + if-feature "ios-features:switch-virtual"; + } + uses config-device-grouping; + uses config-stack-mac-grouping; + uses config-l2protocol-tunnel-grouping; + uses config-rep-grouping; + uses config-hw-switch-grouping; + uses config-openflow-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-deviation.yang new file mode 100644 index 000000000..91c24a17b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-deviation.yang @@ -0,0 +1,94 @@ +module Cisco-IOS-XE-switchport-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switchport-deviation"; + prefix ios-sw-de; + + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + " - Add deviation for switchport + - Add deviation for switchport on tengig and fortygig"; + } + + deviation "/ios:native/ios:interface/ios:TwoHundredGigE/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:FourHundredGigE/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:Port-channel/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:GigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:HundredGigE/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:FiftyGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } + + deviation "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:switchport-conf/ios:switchport" { + deviate add { + default "true"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-oper.yang new file mode 100644 index 000000000..477ca7078 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-switchport-oper.yang @@ -0,0 +1,446 @@ +module Cisco-IOS-XE-switchport-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-switchport-oper"; + prefix switchport-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring switchport information. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef switchport-admin-mode { + type enumeration { + enum admin-unknown { + value 0; + description + "Admin unknown state. The administrative state is not found."; + } + enum admin-stat-acc { + value 1; + description + "Admin static access. Interface is set to static access."; + } + enum admin-dyn-acc { + value 2; + description + "Admin dynamic access. Interface is set to dynamic access."; + } + enum admin-tunnel { + value 3; + description + "Admin tunnel. Interface is set to 802.1Q tunneling mode."; + } + enum admin-trunk { + value 4; + description + "Admin trunk. Interface is unconditionally a trunk port."; + } + enum admin-dyn-auto { + value 5; + description + "Admin dynamic auto. Interface is set to become trunking via DTP if the neighbor is set to trunk or desirable."; + } + enum admin-dyn-des { + value 6; + description + "Admin dynamic desirable. Interface is set to become trunking if the neighbor is set to trunk, auto, or desirable."; + } + enum admin-multi { + value 7; + description + "Admin multi. Interface is set to multi-VLAN."; + } + enum admin-pvlan-host { + value 8; + description + "Admin private VLAN host. Interface is set to be a private VLAN host port."; + } + enum admin-pvlan-prom { + value 9; + description + "Admin private VLAN promiscuous. Interface is set to be a private VLAN promiscuous port."; + } + enum admin-pvlan-sec { + value 10; + description + "Admin private VLAN trunking secondary. Interface is set to be an isolated private VLAN trunk port."; + } + enum admin-pvlan-trunk-prom { + value 11; + description + "Admin private VLAN trunking promiscuous. Interface is set to be a promiscuous private VLAN trunk port."; + } + enum admin-loopback { + value 12; + description + "Admin loopback. Interface is set to be a loopback interface."; + } + } + description + "Admin mode"; + } + + typedef oper-mode { + type enumeration { + enum oper-unknown { + value 0; + description + "Operational unknown state. The operational mode is not found."; + } + enum oper-down { + value 1; + description + "Operational down."; + } + enum oper-stat-acc { + value 2; + description + "Operational static access. Interface is operating in static access."; + } + enum oper-dyn-acc { + value 3; + description + "Operational dynamic access. Interface is operating in dynamic access."; + } + enum oper-tunnel { + value 4; + description + "Operational tunnel. Interface is operating in 802.1Q tunneling mode."; + } + enum oper-trunk { + value 5; + description + "Operational trunk. Interface is operating in trunking."; + } + enum oper-multi { + value 6; + description + "Operational multi. Interface is operating in multi."; + } + enum oper-pvlan-host { + value 7; + description + "Operational private VLAN host. Interface is operating in private VLAN host."; + } + enum oper-pvlan-prom { + value 8; + description + "Operational private VLAN promiscuous. Interface is operating in private VLAN promiscuous port."; + } + enum oper-pvlan-sec { + value 9; + description + "Operational private VLAN trunking secondary. Interface is operating in private VLAN promiscuous port."; + } + enum oper-pvlan-trunk-prom { + value 10; + description + "Operational private VLAN promiscuous. Interface is operating in private VLAN promiscuous trunk port."; + } + enum oper-loopback { + value 11; + description + "Operational loopback. Interface is operating in a loopback state."; + } + } + description + "Operational mode"; + } + + typedef switchport-access-state { + type enumeration { + enum acc-unknown { + value 0; + description + "Access VLAN state is unknown."; + } + enum acc-active { + value 1; + description + "Access VLAN is active."; + } + enum acc-inactive { + value 2; + description + "Access VLAN is inactive."; + } + enum acc-unassign { + value 3; + description + "Access VLAN is unassigned."; + } + enum acc-suspend { + value 4; + description + "Access VLAN is suspended."; + } + enum acc-pvlan-unknown { + value 5; + description + "Access VLAN is a private VLAN in an unknown state."; + } + enum acc-pvlan-normal { + value 6; + description + "Access VLAN is a private VLAN in a normal state."; + } + enum acc-pvlan-primary { + value 7; + description + "Access VLAN is a primary private VLAN."; + } + enum acc-pvlan-isolated { + value 8; + description + "Access VLAN is an isolated private VLAN."; + } + enum acc-pvlan-community { + value 9; + description + "Access VLAN is a community private VLAN."; + } + enum acc-pvlan-twoway { + value 10; + description + "Access VLAN is a two-way community private VLAN."; + } + } + description + "The current state of the access mode VLAN."; + } + + typedef switchport-trunk-nat-state { + type enumeration { + enum trunk-nat-unknown { + value 0; + description + "Trunking native VLAN state is unknown."; + } + enum trunk-nat-active { + value 1; + description + "Trunking native VLAN is active."; + } + enum trunk-nat-inactive { + value 2; + description + "Trunking native VLAN is inactive."; + } + enum trunk-nat-suspend { + value 3; + description + "Trunking native VLAN is suspended."; + } + } + description + "The current state of the trunking native VLAN."; + } + + typedef switchport-voice-state { + type enumeration { + enum voice-unknown { + value 0; + description + "Voice VLAN state is unknown."; + } + enum voice-active { + value 1; + description + "Voice VLAN is active."; + } + enum voice-inactive { + value 2; + description + "Voice VLAN is inactive."; + } + enum voice-untagged { + value 3; + description + "Voice VLAN is untagged."; + } + enum voice-none { + value 4; + description + "Voice VLAN is not found."; + } + enum voice-dot1p { + value 5; + description + "Voice VLAN uses 802.1P Class of Service to indicate priority level."; + } + } + description + "The current state of the voice VLAN."; + } + + grouping switchport-vlans { + description + "Range of VLANs, inclusive. Can be a single VLAN."; + leaf start-id { + type uint16; + description + "Starting VLAN ID. May be the same as end-id."; + } + leaf end-id { + type uint16; + description + "Ending VLAN ID. May be the same as start-id."; + } + } + + grouping port-oper-info { + description + "If the hardware is present, operational interface information."; + leaf oper-mode { + type switchport-ios-xe-oper:oper-mode; + description + "Operational switchport mode, showing the actual status of the interface after negotiation."; + } + leaf agport-if-name { + type string; + description + "If the interface is in an aggregate port bundle, the bundle name."; + } + leaf is-agport-suspend { + when "../agport-if-name != ''"; + type boolean; + description + "If the interface is in an aggregate port bundle, displays if the port bundle is suspended."; + } + leaf access-mode-id { + when "../access-state != 'acc-unknown' + and ../access-state != 'acc-unassign'"; + type uint16; + description + "The VLAN ID of the access mode VLAN."; + } + leaf access-mode-name { + when "../access-state != 'acc-unknown' + and ../access-state != 'acc-unassign'"; + type string; + description + "The name of the access mode VLAN."; + } + leaf access-state { + type switchport-ios-xe-oper:switchport-access-state; + description + "The current operational state of the access mode VLAN."; + } + leaf trunk-nat-mode-id { + when "../trunk-nat-state != 'trunk-nat-unknown'"; + type uint16; + description + "The VLAN ID of the trunking native mode VLAN."; + } + leaf trunk-nat-mode-name { + when "../trunk-nat-state != 'trunk-nat-unknown'"; + type string; + description + "The name of the trunking native mode VLAN."; + } + leaf trunk-nat-state { + type switchport-ios-xe-oper:switchport-trunk-nat-state; + description + "The current operational state of the trunking native mode VLAN."; + } + leaf voice-id { + when "../voice-state = 'voice-active' + or ../voice-state = 'voice-inactive'"; + type uint16; + description + "The VLAN ID of the voice VLAN."; + } + leaf voice-name { + when "../voice-state = 'voice-active' + or ../voice-state = 'voice-inactive'"; + type string; + description + "The name of the voice VLAN."; + } + leaf voice-state { + type switchport-ios-xe-oper:switchport-voice-state; + description + "The current operational state of the voice VLAN."; + } + list trunk-vlan { + description + "List of allowed trunking VLANs when in trunking mode."; + uses switchport-ios-xe-oper:switchport-vlans; + } + list pruning-vlan { + description + "List of VLANs enabled for pruning when in trunking mode."; + uses switchport-ios-xe-oper:switchport-vlans; + } + } + + grouping switchport-info { + description + "List of switchport information."; + leaf if-name { + type string; + description + "Interface name."; + } + leaf enabled { + type empty; + description + "Port is in switchport when enabled. Otherwise, it is in routed mode."; + } + leaf admin-mode { + when 'boolean(../enabled)'; + type switchport-ios-xe-oper:switchport-admin-mode; + description + "Administratively configured switchport mode."; + } + container port-details { + when 'boolean(../hardware-present)'; + description + "The operational statuses of the port."; + uses switchport-ios-xe-oper:port-oper-info; + } + leaf hardware-present { + when 'boolean(../enabled)'; + type empty; + description + "The Field Replaceable Unit, or hardware module, is present."; + } + } + + container switchport-oper-data { + config false; + description + "This is the top level container for switchport operational data."; + list switchport-info { + key "if-name"; + description + "Switchport operational information of the interface."; + uses switchport-ios-xe-oper:switchport-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-synce.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-synce.yang new file mode 100644 index 000000000..1a149a997 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-synce.yang @@ -0,0 +1,1035 @@ +module Cisco-IOS-XE-synce { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-synce"; + prefix ios-synce; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Synchronous Ethernet Yang Model. + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support to enable independent timing using timing-source bits"; + cisco-semver:module-version "3.3.0"; + } + revision 2024-03-01 { + description + "- Added support to enforce interface clock source to various Quality Level values"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "- Changed quality-level from a list to a container + - Obsolete old model and remodelled the network-clock input-source priority <> controller"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added the option revertive in tod-clock container + - Added the option of displaying // in all external nodes + - Added the t1 option in the external container + - Added the option // in network-clock external + - Corrected the issues with quality-level container + - Corrected the issues with input-source container + - Corrected the issues with participate container"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + typedef synce-external-intf { + type union { + type enumeration { + enum R0; + enum R1; + } + type string { + pattern '([0-9]/)([0-9]|1[0-5])(/([0-9]|1[0-5]))'; + } + } + } + + grouping config-synce-ext-port-grouping { + leaf port { + type synce-external-intf; + } + } + + grouping config-synce-ext-t1-option-grouping { + container t1-options { + description + "Various options for t1"; + when "/ios:native/ios:network-clock/ios-synce:synchronization-synce/ios-synce:ssm/ios-synce:option/ios-synce:option-2/ios-synce:generation = 'GEN2'"; + choice opt { + leaf d4 { + type empty; + } + leaf esf { + type empty; + } + leaf sf { + type empty; + } + } + leaf hold-off { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + } + } + } + + grouping config-synce-ext-common-t1-option-grouping { + choice opt { + leaf d4 { + description + "D4 Super Frame Signal Mode"; + type empty; + } + leaf esf { + description + "Extended Super Frame Signal Mode"; + type empty; + } + leaf sf { + description + "Super Frame Signal Mode"; + type empty; + } + leaf word { + description + "Input source description"; + type string; + } + } + leaf linecode { + description + "Linecode option"; + type enumeration { + enum ami; + enum b8zs; + } + } + leaf line-build-out { + description + "Line build out option"; + type enumeration { + enum 0-133ft; + enum 133-266ft; + enum 266-399ft; + enum 399-533ft; + enum 533-655ft; + } + } + } + + grouping config-synce-ext2-t1-option-grouping { + container t1-options { + description + "Various options for t1"; + when "/ios:native/ios:network-clock/ios-synce:synchronization-synce/ios-synce:ssm/ios-synce:option/ios-synce:option-2/ios-synce:generation = 'GEN2'"; + uses config-synce-ext-common-t1-option-grouping; + leaf Word { + description + "Input source description"; + type string; + } + } + } + + grouping config-synce-ext3-t1-option-grouping { + container t1-options { + description + "Various options for t1"; + when "/ios:native/ios:network-clock/ios-synce:synchronization-synce/ios-synce:ssm/ios-synce:option/ios-synce:option-2/ios-synce:generation = 'GEN2'"; + uses config-synce-ext-common-t1-option-grouping; + } + } + + grouping config-synce-grouping { + leaf eec { + type uint8 { + range "1..2"; + } + default "1"; + } + container timing-source { + description + "Clock interface timing source"; + leaf bits { + description + "System's selected bits timing source"; + type empty; + } + } + container external { + list slot-port { + key "slot-card-name"; + leaf slot-card-name { + description + "//"; + type string { + pattern '([0-9]/)([0-9]|1[0-5])(/([0-9]|1[0-5]))'; + } + } + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + uses config-synce-ext-t1-option-grouping; + leaf hold-off { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + } + } + list R0 { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + uses config-synce-ext-t1-option-grouping; + leaf hold-off { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + } + } + list R1 { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + uses config-synce-ext-t1-option-grouping; + leaf hold-off { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + } + } + } + container hold-off { + leaf value { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + default "300"; + } + leaf global { + description + "Global"; + type boolean; + default "true"; + } + } + container input-source-ctrl { + description + "Synchronization Input Source"; + when 'not (../input-source-synce)'; + list input-source-ctrl { + description + "Synchronization Input Source"; + key "controller number"; + leaf priority { + type uint8 { + range "1..250"; + } + } + leaf controller { + description + "T1/E1 controller"; + type enumeration { + enum T1; + enum E1; + enum t1; + enum e1; + enum wanphy; + enum dwdm; + } + } + leaf number { + type string { + pattern '([0-3]/)([0-9]|1[0-5])(/([0-9]|1[0-5]))'; + } + } + leaf word { + type string; + } + } + } + list input-source-synce { + description + "Synchronization Input Source"; + key "priority"; + leaf priority { + type uint8 { + range "1..250"; + } + } + choice ext-source-opts { + list External { + key "port"; + uses config-synce-ext-port-grouping; + list signal-list { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + uses config-synce-ext2-t1-option-grouping; + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + leaf sig-ohms-choice { + type enumeration { + enum 120ohms; + enum 75ohms; + } + } + leaf linecode { + type enumeration { + enum ami; + enum hdb3; + } + } + leaf source-description { + type string; + } + } + } + container interface { + uses ios-ifc:interface-grouping; + leaf ip-source { + type string; + } + } + container ptp { + leaf domain { + type uint8 { + range "0..127"; + } + } + leaf ip-source { + type string; + } + } + container controller { + description + "T1/E1 controller"; + status obsolete; + leaf name { + status obsolete; + type enumeration { + enum T1; + enum E1; + enum t1; + enum e1; + enum wanphy; + enum dwdm; + } + } + leaf number { + status obsolete; + type string { + pattern '([0-1]/)([0-9]|1[0-5])(/([0-9]|1[0-5]))'; + } + } + leaf word { + status obsolete; + type string; + } + } + } + } + container log { + leaf ql-changes { + type empty; + } + } + container output-source { + list line { + key "priority"; + leaf priority { + type uint8 { + range "1..250"; + } + } + choice out-source-opts { + container interface { + list interface-list { + key "interface-name"; + leaf interface-name { + type string; + } + list External { + key "port"; + uses config-synce-ext-port-grouping; + list signal-list { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + uses config-synce-ext3-t1-option-grouping; + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + leaf sig-ohms-choice { + type enumeration { + enum 120ohms; + enum 75ohms; + } + } + leaf linecode { + type enumeration { + enum ami; + enum hdb3; + } + } + } + } + } + } + container ptp { + list domain { + key "domain-num"; + leaf domain-num { + type uint8 { + range "0..127"; + } + } + list External { + key "port"; + uses config-synce-ext-port-grouping; + list signal-list { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + uses config-synce-ext3-t1-option-grouping; + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + leaf sig-ohms-choice { + type enumeration { + enum 120ohms; + enum 75ohms; + } + } + leaf linecode { + type enumeration { + enum ami; + enum hdb3; + } + } + } + } + } + } + } + } + list system { + max-elements 1; + key "priority"; + leaf priority { + type uint8 { + range "1..250"; + } + } + list External { + key "port"; + uses config-synce-ext-port-grouping; + list signal-list { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + uses config-synce-ext3-t1-option-grouping; + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + leaf sig-ohms-choice { + type enumeration { + enum 120ohms; + enum 75ohms; + } + } + leaf linecode { + type enumeration { + enum ami; + enum hdb3; + } + } + } + } + } + } + leaf participate { + description + "Enable/Disable a slot from participating in network-clocking"; + type string; + } + list quality-level { + key "direction"; + leaf direction { + type enumeration { + enum rx; + enum tx; + } + } + list ql-val-list { + key "ql-value"; + leaf ql-value { + type enumeration { + enum QL-DNU; + enum QL-PRC; + enum QL-SEC; + enum QL-SSU-A; + enum QL-SSU-B; + enum QL-DUS; + enum QL-PRS; + enum QL-SMC; + enum QL-ST2; + enum QL-ST3; + enum QL-ST3E; + enum QL-ST4; + enum QL-STU; + enum QL-TNC; + } + } + choice ext-source-opts { + list External { + key "port"; + uses config-synce-ext-port-grouping; + list signal-list { + key "signal"; + leaf signal { + type enumeration { + enum 10m; + enum 2048k; + enum 2m; + enum e1; + enum t1; + } + } + uses config-synce-ext3-t1-option-grouping; + leaf cas { + type empty; + } + leaf crc4 { + type empty; + } + leaf fas { + type empty; + } + leaf sig-ohms-choice { + type enumeration { + enum 120ohms; + enum 75ohms; + } + } + } + } + container interface { + uses ios-ifc:interface-grouping; + } + container ptp { + leaf-list domain { + type uint8 { + range "0..127"; + } + } + } + container controller { + description + "T1/E1 controller"; + leaf name { + type enumeration { + enum wanphy; + enum dwdm; + enum T1; + enum E1; + enum t1; + enum e1; + } + } + leaf number { + type string { + pattern '([0-1]/)([0-9]|1[0-5])(/([0-9]|1[0-5]))'; + } + } + } + } + } + } + container ref-ql-val-trap-clear { + leaf ql-value { + type enumeration { + enum QL-DNU; + enum QL-PRC; + enum QL-SEC; + enum QL-SSU-A; + enum QL-SSU-B; + } + default "QL-PRC"; + } + } + leaf revertive-synce { + description + "Network clock revertive mode"; + type empty; + } + container synchronization-synce { + description + "Network clock synchronization selection process"; + leaf automatic { + description + "ITU-T G.781/Telcordia standard based"; + type empty; + } + leaf input-threshold { + type enumeration { + enum QL-DNU; + enum QL-PRC; + enum QL-SEC; + enum QL-SSU-A; + enum QL-SSU-B; + } + default "QL-DNU"; + } + leaf mode { + description + "synchronization networking mode"; + type enumeration { + enum QL-enabled; + } + } + leaf-list participate { + description + "network clock participate, input line card slot number"; + type string; + } + leaf squelch-threshold { + type enumeration { + enum QL-DNU; + enum QL-PRC; + enum QL-SEC; + enum QL-SSU-A; + enum QL-SSU-B; + } + default "QL-SEC"; + } + container ssm { + container option { + leaf option1 { + type enumeration { + enum 1; + } + default "1"; + } + container option-2 { + leaf option2 { + type enumeration { + enum 2; + } + } + leaf generation { + type enumeration { + enum GEN1; + enum GEN2; + } + } + } + } + } + } + container wait-to-restore-synce { + description + "Wait-to-Restore timer"; + leaf time { + description + "Wait-to-Restore time"; + type uint32 { + range "0..86400"; + } + default "300"; + } + leaf global { + description + "Global"; + type boolean; + default "true"; + } + } + } + + grouping config-tod-grouping { + list input-source-synce { + description + "Synchronization Input Source"; + key "priority"; + leaf priority { + description + "Priority"; + type uint8 { + range "1..251"; + } + } + choice source-opts { + container ptp { + leaf domain { + type uint8 { + range "0..127"; + } + } + } + leaf gps { + type synce-external-intf; + } + leaf internal { + type empty; + } + } + } + leaf hold-off { + type uint16 { + range "0..60001"; + } + default "12000"; + } + leaf wait-to-restore { + type uint16 { + range "0..361"; + } + default "20"; + } + leaf revertive { + description + "Reference clock reverts to the highest priority after fail"; + type boolean; + default "true"; + } + } + + grouping config-esmc-grouping { + container esmc-synce { + description + "Ethernet Synchronization Messaging Channel"; + leaf process { + description + "process"; + type empty; + } + } + } + + grouping config-interface-synchronous-grouping { + container synchronous-synce { + description + "Synchronous"; + leaf mode { + description + "Mode"; + type empty; + } + } + } + + grouping config-interface-synchronous-esmc-grouping { + container esmc { + description + "ESMC Settings"; + container mode { + description + "ESMC mode"; + leaf ql-disabled { + type empty; + } + choice mode-choice { + leaf none { + type empty; + } + leaf rx { + description + "ESMC receive-only mode"; + type empty; + } + leaf tx { + description + "ESMC transmit-only mode"; + type empty; + } + } + } + } + } + + grouping config-interface-synchronous-netclk-grouping { + container network-clock { + leaf hold-off { + type union { + type enumeration { + enum 0; + } + type uint16 { + range "50..10000"; + } + } + default "300"; + } + container source { + container quality-level { + leaf ql { + type enumeration { + enum QL-DNU; + enum QL-PRC; + enum QL-SEC; + enum QL-SSU-A; + enum QL-SSU-B; + enum QL-PRS; + enum QL-STU; + enum QL-ST2; + enum QL-TNC; + enum QL-ST3; + enum QL-ST3E; + enum QL-SMC; + enum QL-DUS; + } + } + choice direction-choice { + leaf rx { + type empty; + } + leaf tx { + type empty; + } + } + } + } + leaf wait-to-restore { + type uint32 { + range "0..86400"; + } + default "300"; + } + } + } + + augment "/ios:native/ios:network-clock" { + uses config-synce-grouping; + } + + augment "/ios:native" { + uses config-esmc-grouping; + } + + augment "/ios:native/ios:tod-clock" { + uses config-tod-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-synchronous-grouping; + uses config-interface-synchronous-esmc-grouping; + uses config-interface-synchronous-netclk-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-system-integrity-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-system-integrity-oper.yang new file mode 100644 index 000000000..54f76f312 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-system-integrity-oper.yang @@ -0,0 +1,374 @@ +module Cisco-IOS-XE-system-integrity-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-system-integrity-oper"; + prefix system-integrity-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for system integrity operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef choice-integrity { + type enumeration { + enum choice-measurement { + value 0; + description + "Enumerated value used to denote the integrity + measurement choice."; + } + enum choice-trust-chain { + value 1; + description + "Enumerated value used to denote the integrity trust + chain choice."; + } + enum choice-compliance { + value 2; + description + "Enumerated value used to denote the integrity compliance + choice."; + } + } + description + "Enumeration used to select between measurements and + trust chain."; + } + + grouping boot-loader-group { + description + "Group of aggregate attributes describing a boot loader stage"; + leaf stage { + type uint8; + description + "Indexes this stage of boot loader sequence"; + } + leaf version { + type string; + description + "Version of the current boot loader stage"; + } + leaf hash { + type string; + description + "Hash signature of current boot loader stage"; + } + } + + grouping package-group { + description + "Group to aggregate attributes describing a + package"; + leaf name { + type string; + description + "Package Name"; + } + leaf hash { + type string; + description + "Package Hash"; + } + } + + grouping operating-system-group { + description + "Group to aggregate attributes describing + operating system packages"; + leaf version { + type string; + description + "Version of operating system packages"; + } + list package-integrity { + description + "List of package integrity group describing + system-calculated hashes for each package artifact + currently installed or patched to the system. A package + artifact in this context may consist of at least one super + package followed by a sequence of sub-packages and optionally + where applicable may contain additional entries for software + maintenance update packages."; + uses system-integrity-ios-xe-oper:package-group; + } + } + + grouping pcr-register-group { + description + "Describes a pcr register entry"; + leaf index { + type uint8; + description + "Pcr register identifier."; + } + leaf pcr-content { + type string; + description + "Current state of the pcr register."; + } + } + + grouping signature-group { + description + "Group of attributes that describe a payload signature + consisting of both a signature and the signature + version."; + leaf version { + type uint32; + mandatory true; + description + "PCR Quote Signature Version."; + } + leaf signature { + type string; + mandatory true; + description + "System ACT2 Signature primed by the + nonce keyed input and signed over the state of an + information group since last TAM reset."; + } + } + + grouping measurement-group { + description + "Integrity Measurements."; + leaf platform { + type string; + description + "Product Identifier"; + } + list boot-loader { + description + "List of boot loader group entries describing + system calculated hashes for each boot loader stage. + May consist of one or more entries depending on the + platform."; + uses system-integrity-ios-xe-oper:boot-loader-group; + } + container operating-system { + description + "Aggregates the attributes that describe operating + system and platform functionality currently installed + on the system."; + uses system-integrity-ios-xe-oper:operating-system-group; + } + list register { + description + "List for maintaining the Platform Content + Register (PCR) indices and content. Currently + only two entries are expected: index 0 and + index 8"; + uses system-integrity-ios-xe-oper:pcr-register-group; + } + container signature { + description + "Signature over the state of the measurements, signing + over the nonce input, signature version and the content of + the measurements group, performed by tam services."; + uses system-integrity-ios-xe-oper:signature-group; + } + } + + grouping capability-group { + description + "A capability group describes a particular capability + attribute value pair associated with a participating + operational element."; + leaf attribute { + type string; + description + "The capability attribute active on this element."; + } + leaf value { + type string; + description + "The capability attribute value in effect on this element."; + } + } + + grouping compliance-group { + description + "This group element describes those aspects of the integrity + output that can be considered verifiable. This can be + determined by careful examination of the capabilities list + and is expected to vary by product family, product family + platform or even by participating operational element within + a platform instance."; + list capability { + description + "Each member of this list must be examined to determine + what aspects of the known good value support are active + with respect to this operational element."; + uses system-integrity-ios-xe-oper:capability-group; + } + container signature { + description + "Signature over the state of the capability list, signing + over the nonce input, signature version and the content of + the capability group, performed by tam services."; + uses system-integrity-ios-xe-oper:signature-group; + } + } + + grouping certificate-group { + description + "This group elements describes an element of the chain of trust"; + leaf name { + type string; + description + "Name of the certificate."; + } + leaf value { + type string; + description + "Certificate measurement value."; + } + } + + grouping trust-chain-group { + description + "Content consisting of the trust chain list and a valid signature + obtained from the trust anchor."; + list trust-chain { + description + "The list of certificates that constitute the chain + of trust."; + uses system-integrity-ios-xe-oper:certificate-group; + } + container signature { + description + "Signature over the state of the trust chain, signing + over the nonce input, signature version and the content of + the trust chain group, performed by tam services."; + uses system-integrity-ios-xe-oper:signature-group; + } + } + + grouping integrity-oper-data-key { + description + "Compound key aggregates a mandatory nonce input value + with the choice to retrieve the measurement, trust chain or + compliance response. + Security requirements dictate that the compound key value must + be fully specified both in terms of nonce attribute and + in terms of the request attribute in order to retrieve a + non-empty, signed response"; + leaf nonce { + type string; + description + "Signing input used in conjunction with signature on the response + to verify that the response has not been tampered with. In this context + the nonce is key value that is a manufactured input + provided by the end user."; + } + leaf request { + type system-integrity-ios-xe-oper:choice-integrity; + description + "Enumerated input used to indicate the type of response required"; + } + } + + grouping integrity-oper-data-group { + description + "Top level grouping of integrity oper data"; + choice response-choice { + description + "Indicates the kind of response provided."; + case choice-measurement { + container measurement { + description + "Component of integrity measurements for functioning + elements that support Secure Boot. These + measurements include two or more stages of Boot + Loader( the zero'th element in the list typically + denotes the micro loader ), and one super-package + measurement immediately followed by one or more + sub-package measurements. + The current state of the system is captured as + Platform Configuration Register (PCR) content."; + uses system-integrity-ios-xe-oper:measurement-group; + } + } + case choice-trust-chain { + container trust-chain { + description + "Component of system certificates for functioning elements + that support Secure Boot. The component certificate + list consists of Cisco Root CA (CRCA) certificate, + Cisco Manufacturing CA (CMCA) certificate, and + ACT2 RSA Secure Unique Device Identity (SUDI) CA + PEM certificates and SUDI generated signatures."; + uses system-integrity-ios-xe-oper:trust-chain-group; + } + } + case choice-compliance { + container compliance { + description + "Component of compliance for functioning elements + denoting the degree of element support for + the various functional aspects of integrity."; + uses system-integrity-ios-xe-oper:compliance-group; + } + } + } + } + + container system-integrity-oper-data { + config false; + description + "Aggregates system integrity operational data from all + system integrity capable elements in this platform"; + list location { + key "fru slot bay chassis node"; + description + "A list of data provider locations"; + uses common-types-ios-xe:extended-location; + list integrity { + key "nonce request"; + description + "Top level integrity container consists of list indexed + by a compound integrity operational data key. + Security requirements dictate that on input the key + value must be fully specified both in terms of nonce + attribute and in terms of the request attribute in + order to retrieve a non-empty, signed response."; + uses system-integrity-ios-xe-oper:integrity-oper-data-key; + uses system-integrity-ios-xe-oper:integrity-oper-data-group; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tcam-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tcam-oper.yang new file mode 100644 index 000000000..dcf922501 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tcam-oper.yang @@ -0,0 +1,112 @@ +module Cisco-IOS-XE-tcam-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tcam-oper"; + prefix tcam-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ASIC TCAM Memory Utilization Statistics. + Copyright (c) 2016-2023, by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "This model is deprecated. Refer to Cisco-IOS-XE-switch-dp-resources-oper.yang model for more accurate TCAM utilization data."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-06-06 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping tcam-oper-key { + description + "Key Asic Number and Protocol Entry Name"; + leaf asic-no { + type uint8 { + range "0 .. 8"; + } + description + "Asic Number of Switch"; + } + leaf name { + type string; + description + "Protocol Name"; + } + } + + grouping tcam-utils { + description + "FED ASIC TCAM Utilization Statistics"; + leaf hash-entries-max { + type uint32; + description + "Maximum Hash Entries"; + } + leaf tcam-entries-max { + type uint32; + description + "Maximum Tcam Entries"; + } + leaf hash-entries-used { + type uint32; + description + "Hash Entries Used"; + } + leaf tcam-entries-used { + type uint32; + description + "Tcam Entries Used"; + } + } + + container tcam-details { + config false; + status deprecated; + description + "ASIC TCAM Memory Statistics"; + list tcam-detail { + key "asic-no name"; + description + "FED ASIC TCAM Utilization"; + uses tcam-ios-xe-oper:tcam-oper-key; + uses tcam-ios-xe-oper:tcam-utils; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-events.yang new file mode 100644 index 000000000..103e5ae05 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-events.yang @@ -0,0 +1,137 @@ +module Cisco-IOS-XE-tech-support-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tech-support-events"; + prefix tech-support-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef tech-support-status { + type enumeration { + enum in-progress { + value 0; + description + "The tech-support generation is in progress."; + } + enum success { + value 1; + description + "The tech-support file/archive has been successfully generated."; + } + enum fail { + value 2; + description + "The tech-support generation has failed."; + } + } + description + "States to represent status of tech-support generation"; + } + + typedef tech-support-error-types { + type enumeration { + enum error-ok { + value 0; + description + "The tech-support RPC did not hit any error."; + } + enum no-space { + value 1; + description + "Insufficient amount of space in the drive where tech-support file/archive was to be generated. + Ensure there is at least 5 percent space available in the drive mention in file path."; + } + enum drive-invalid { + value 2; + description + "No valid drive on the device."; + } + enum archive-gen-fail { + value 3; + description + "There was an error while generating tech-support archive."; + } + enum file-gen-fail { + value 4; + description + "There was an error while generating tech-support file."; + } + enum operation-not-supported { + value 5; + description + "An unsupported operation was attempted while generating the tech-support + file/archive."; + } + enum system-fail { + value 6; + description + "There was an internal issue with the system such as low + memory, a particular operation failing etc."; + } + enum unable-to-process-request { + value 7; + description + "The tech-support call-backs to generate the file/archive, was not executed."; + } + enum platform-not-supported { + value 8; + description + "The tech-support RPC is not supported on this platform"; + } + } + description + "Various errors that could occur if debug bundle generate failed"; + } + + grouping tech-support-notif-fields { + description + "Information about the execution, which will be sent by the debug bundle generation process"; + leaf file-name { + type string; + description + "File name of the tech-support archive/file"; + } + leaf status { + type tech-support-ios-xe-events:tech-support-status; + description + "Status of debug-bundle/tech-support generation"; + } + leaf error-code { + type tech-support-ios-xe-events:tech-support-error-types; + description + "If there is any error, the corresponding error code will be returned to the user. + If there is no error, the default error code of 'no-error' is returned to the user."; + } + } + + notification tech-support-event { + description + "Notification for tech-support archive and file actions"; + uses tech-support-ios-xe-events:tech-support-notif-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-rpc.yang new file mode 100644 index 000000000..39c7d7139 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tech-support-rpc.yang @@ -0,0 +1,130 @@ +module Cisco-IOS-XE-tech-support-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tech-support-rpc"; + prefix tech-support-ios-xe-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef file-info-list { + type enumeration { + enum default { + value 0; + description + "This is the default option for tech-support file, + which will generate a file containing all system + information for technical support"; + } + } + description + "Options for tech-support file."; + } + + grouping archive-options { + description + "Options for tech-support archive generation. Tech-support + archive is an archive of the tech-support file and system + report."; + leaf archive { + type boolean; + default "true"; + description + "Tech-support archive generate option. + This is the only option and if this option is marked as 'true', + tech-support archive will be generated. + The tech-support file included in the archive will be equivalent + to the output generated by 'show tech-support'."; + } + } + + grouping file-options { + description + "Choose one of these options, only if the tech-support file is needed. + Tech-support file refers to the output generated by 'show tech-support' + and the options associated with it."; + choice info-type-choice { + mandatory true; + description + "Options for technical support"; + case default { + leaf default-option { + type boolean; + default "true"; + description + "This is option will gather all tech-support information, except for + protocol-specific tech-support information. Selecting this option + will generate tech-support file which contains data collected by + the basic version of show-tech support CLI - 'show tech-support'."; + } + } + } + } + + grouping tech-support-response { + description + "Response to tech-support actions"; + leaf file-name { + type string { + pattern '(flash:|bootflash:|crashinfo:|harddisk:)[A-Za-z_0-9]*'; + } + description + "File name of the tech-support archive/file that will be generated. If + the file-name is empty, it indicates that there was failure in the + operation, possibly an internal error or another operation was being + processed. In such cases, the reason for failure will also be + attached to the response message. The arrival of response does not + indicate that the operation is complete because the tech-support + operation takes a huge amount of time to complete and notifications + related to the execution can be consumed by subscribing to the tech-support + event notification model which will contain the same file-name found in this + response message."; + } + } + + rpc tech-support-archive { + description + "RPC message for tech-support archive generation"; + input { + uses tech-support-ios-xe-rpc:archive-options; + } + output { + uses tech-support-ios-xe-rpc:tech-support-response; + } + } + + rpc tech-support-file { + description + "RPC message for tech-support file generation"; + input { + uses tech-support-ios-xe-rpc:file-options; + } + output { + uses tech-support-ios-xe-rpc:tech-support-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-template.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-template.yang new file mode 100644 index 000000000..c660162af --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-template.yang @@ -0,0 +1,1669 @@ +module Cisco-IOS-XE-template { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/ios-xe/template"; + prefix ios-template; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + import Cisco-IOS-XE-l2vpn { + prefix ios-l2vpn; + } + import Cisco-IOS-XE-sisf { + prefix ios-sisf; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Template Yang Model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added support for uint32 values for reauthentication timer under template"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-07-01 { + description + "- Added DHCP guard to interface templates"; + cisco-semver:module-version "3.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-03-01 { + description + "- Added leaf tag under vlan container inside switchport"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "- Added container trunk inside switchport and leaf tag under vlan container inside switchport + - Added cts-enforcement support under template"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Adding monitor leaf inside template/access-session container + - Moved the device-tracking and raguard related yang code to Cisco-IOS-XE-sisf yang file"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Various major fixes in Template type Pseudowire + - Added template mode switchport private-vlan host-association cli + - Adding mandatory true/must statement for template type pseudowire"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Added support for ip access-group and ipv6 traffic-filter + - Added policy container under segment-routing traffic-eng + - Added module to support 'cts manual'"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "Added device-tracking and ra guard template"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Added new template"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added template type pseudowire support + - Added support for access-session control-direction and host-mode clis inside template"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-29 { + description + "Added template type pseudowire support"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-08-20 { + description + "Added some model for template"; + } + revision 2017-11-06 { + description + "Make some option switch platform dependent"; + } + revision 2017-02-13 { + description + "Initial Revision"; + } + + grouping vlanlist-grouping { + container vlan { + description + "Vlan list for which this policy applies"; + leaf add { + description + "add VLANs to the current list"; + type string; + } + leaf except { + description + "all VLANs except the following"; + type string; + } + leaf remove { + description + "remove VLANs from the current list"; + type string; + } + leaf vlan-range { + description + "VLAN IDs of the VLANs for which this policy applies"; + type string; + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf none { + description + "no VLANs"; + type empty; + } + } + } + + grouping template-grouping { + container dot1x { + description + "Interface Config Commands for IEEE 802.1X"; + leaf pae { + description + "Set 802.1x interface pae type"; + type enumeration { + enum authenticator; + enum both; + enum supplicant; + } + } + leaf max-reauth-req { + description + "Max No. of Reauthentication Attempts"; + type uint8 { + range "1..10"; + } + default "2"; + } + leaf max-req { + description + "Max No. of Retries"; + type uint8 { + range "1..10"; + } + default "2"; + } + container timeout { + description + "Various Timeouts"; + leaf quiet-period { + description + "QuietPeriod in Seconds"; + type uint16 { + range "1..65535"; + } + default "60"; + } + leaf ratelimit-period { + description + "Ratelimit Period in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf server-timeout { + description + "Timeout for Radius Retries"; + type uint16 { + range "1..65535"; + } + } + leaf supp-timeout { + description + "Timeout for supplicant reply"; + type uint16 { + range "1..65535"; + } + default "30"; + } + leaf tx-period { + description + "Timeout for supplicant retries"; + type uint16 { + range "1..65535"; + } + default "30"; + } + } + } + container service-policy { + description + "Configure CPL Service Policy"; + container input { + description + "Assign policy-map to the input of an interface"; + leaf policy-map-name { + description + "policy-map name"; + type string; + } + } + container output { + description + "Assign policy-map to the output of an interface"; + leaf policy-map-name { + description + "policy-map name"; + type string; + } + } + container type { + description + "Configure CPL Service Policy"; + container control { + description + "Apply a control policy to the interface"; + leaf subscriber { + description + "Apply a subscriber control policy to the interface"; + must "(/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()]/ios-policy:type = 'control' or .='BUILTIN_AUTOCONF_POLICY')" { + error-message "policy map should be of same type and should exist"; + } + type string; + } + } + } + } + container source { + description + "Get config from another source"; + leaf template { + description + "Get config from a template"; + type string { + length "1..max"; + } + } + } + container switchport { + description + "Set switching mode characteristics"; + if-feature "ios-features:switching-platform"; + container mode { + description + "Set trunking mode of the interface"; + leaf trunk { + description + "Set trunking mode to TRUNK unconditionally"; + type empty; + } + leaf access { + description + "Set trunking mode to ACCESS unconditionally"; + type empty; + } + } + leaf nonegotiate { + description + "Device will not engage in negotiation protocol on this interface"; + type empty; + } + container block { + description + "Disable forwarding of unknown uni/multi cast addresses"; + leaf unicast { + description + "Block unknown unicast addresses"; + type empty; + } + } + container port-security { + description + "Security related command"; + presence "true"; + container aging { + description + "Port-security aging commands"; + leaf static { + description + "Enable aging for configured secure addresses"; + type empty; + } + leaf time { + description + "Port-security aging time"; + type uint16 { + range "1..1440"; + } + } + container type { + description + "Port-security aging type"; + presence "true"; + leaf inactivity { + description + "Aging based on inactivity time period"; + type empty; + } + } + } + container maximum { + description + "Max secure addresses"; + list range { + key "range"; + leaf range { + description + "Maximum addresses"; + type uint16 { + range "1..3072"; + } + } + container vlan { + description + "Max secure addresses per vlan"; + presence "true"; + leaf access { + description + "access vlan"; + type empty; + } + } + } + } + container violation { + description + "Security violation mode"; + leaf protect { + description + "Security violation protect mode"; + type empty; + } + leaf restrict { + description + "Security violation restrict mode"; + type empty; + } + leaf shutdown { + description + "Security violation shutdown mode"; + type empty; + } + } + } + container access { + description + "Set access mode characteristics of the interface"; + leaf vlan { + description + "VLAN ID of the VLAN when this port is in access mode"; + type uint16 { + range "1..4094"; + } + } + } + container voice { + description + "Voice appliance attributes"; + leaf vlan { + description + "Vlan for voice traffic"; + type uint16 { + range "1..4094"; + } + } + } + container private-vlan { + description + "Set the private VLAN configuration"; + container host-association { + description + "Set the private VLAN host association"; + leaf primary-range { + description + "Primary normal range VLAN ID of the private VLAN port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + leaf secondary-range { + description + "Secondary normal range VLAN ID of the private VLAN host port association"; + type uint16 { + range "2..1001 | 1006..4094"; + } + } + } + } + container trunk { + description + "Set trunking characteristics of the template"; + container allowed { + description + "Set allowed VLAN characteristics when interface is in trunking mode"; + container vlan { + description + "Set allowed VLANs when interface is in trunking mode"; + choice vlan-choice { + leaf vlans { + description + "VLAN IDs of the allowed VLANs when this port is in trunking mode"; + type union { + type uint16 { + range "1..4094"; + } + type string { + pattern '([0-9]+[,-]?)*'; + } + } + } + leaf add { + description + "add VLANs of the current list"; + type union { + type uint16 { + range "1..4094"; + } + type string { + pattern '([0-9]+[,-]?)*'; + } + } + } + leaf all { + description + "all VLANs"; + type empty; + } + leaf except { + description + "all VLANs except the following"; + type union { + type uint16 { + range "1..4094"; + } + type string { + pattern '([0-9]+[,-]?)*'; + } + } + } + leaf none { + description + "no VLANs"; + type empty; + } + leaf remove { + description + "remove VLANs from the current list"; + type union { + type uint16 { + range "1..4094"; + } + type string { + pattern '([0-9]+[,-]?)*'; + } + } + } + } + } + } + container native { + description + "Set trunking native characteristics when interface is in trunking mode"; + container vlan { + description + "Set trunking native characteristics when interface is in trunking mode VLAN ID"; + leaf tag { + description + "Set native VLAN tagging state"; + type boolean; + default "true"; + } + leaf vlan-id { + description + "VLAN ID of the native VLAN when this port is in trunking mode"; + type uint16 { + range "1..4094"; + } + } + } + } + } + } + container mab { + description + "MAC Authentication Bypass Interface Config Commands"; + presence "true"; + leaf eap { + description + "Use EAP authentication for MAC Auth Bypass"; + type empty; + } + } + container access-session { + description + "Access Session specific Interface Configuration Commands"; + leaf closed { + description + "Enable closed access on port (disabled by default, i.e. open access)"; + type empty; + } + leaf monitor { + description + "Apply template to monitor access sessions on the port"; + type boolean; + default "true"; + } + leaf port-control { + description + "Set the port-control value"; + type enumeration { + enum auto; + enum force-authorized; + enum force-unauthorized; + } + default "force-authorized"; + } + leaf control-direction { + description + "Set the control-direction on the interface"; + type enumeration { + enum both; + enum in; + } + default "both"; + } + leaf host-mode { + description + "Set the Host mode for authentication on this interface"; + type enumeration { + enum multi-auth; + enum multi-domain; + enum multi-host; + enum single-host; + } + default "multi-auth"; + } + container interface-template { + description + "Set the local interface-template sticky"; + container sticky { + description + "Interface templates set to sticky"; + presence "true"; + leaf timer { + description + "Sticky timer value"; + type uint16 { + range "1..65535"; + } + } + } + } + } + container authentication { + description + "Auth Manager Interface Configuration Commands"; + leaf periodic { + description + "Enable or Disable Reauthentication for this port"; + type empty; + } + container timer { + description + "Set authentication timer values"; + container reauthenticate { + description + "Time in seconds after which an automatic re-authentication should be initiated (default 1 hour)"; + choice value { + leaf server { + description + "Obtain re-authentication timeout value from the server"; + type empty; + } + leaf range { + description + "Enter a value between 1 and 1073741823"; + type uint32 { + range "1..1073741823"; + } + default "3600"; + } + } + } + } + } + container spanning-tree { + description + "Spanning Tree Subsystem"; + presence "true"; + container bpduguard { + description + "Don't accept BPDUs on this interface"; + leaf enable { + description + "Enable BPDU guard for this interface"; + type empty; + } + } + leaf service-policy { + description + "help"; + type empty; + } + container portfast { + description + "Portfast options for the interface"; + presence "true"; + leaf disable { + description + "Disable portfast for this interface"; + type empty; + } + leaf edge { + description + "Enable portfast edge on the interface"; + type empty; + } + leaf network { + description + "Enable portfast network on the interface"; + type empty; + } + } + } + container storm-control { + description + "storm configuration"; + if-feature "ios-features:switching-platform"; + container broadcast { + description + "Broadcast address storm control"; + container level { + description + "Set storm suppression level on this interface"; + container pps { + description + "Enter suppression level in packets per second"; + leaf threshold { + description + "Enter threshold"; + type string; + } + } + container bps { + description + "Enter suppression level in bits per second"; + leaf threshold { + description + "Enter threshold"; + type decimal64 { + fraction-digits 1; + range "0.0..10000000000.0"; + } + } + leaf b-unit { + type string; + } + } + leaf threshold { + description + "Enter threshold"; + type decimal64 { + fraction-digits 2; + range "0.00..100.00"; + } + } + } + } + container multicast { + description + "Multicast address storm control"; + container level { + description + "Set storm suppression level on this interface"; + container pps { + description + "Enter suppression level in packets per second"; + leaf threshold { + description + "Enter threshold"; + type string; + } + } + container bps { + description + "Enter suppression level in bits per second"; + leaf threshold { + description + "Enter threshold"; + type decimal64 { + fraction-digits 1; + range "0.0..10000000000.0"; + } + } + leaf b-unit { + type string; + } + } + leaf threshold { + description + "Enter threshold"; + type decimal64 { + fraction-digits 2; + range "0.00..100.00"; + } + } + } + } + container action { + description + "Action to take for storm-control"; + leaf shutdown { + description + "Shutdown this interface if a storm occurs"; + type empty; + } + leaf trap { + description + "Send SNMP trap if a storm occurs"; + type empty; + } + } + } + leaf load-interval { + description + "Load interval delay in seconds"; + type uint16 { + range "30..600"; + } + } + container ip { + description + "IP template config"; + container dhcp { + description + "DHCP template config"; + if-feature "ios-features:switching-platform"; + container snooping { + description + "DHCP Snooping"; + container limit { + description + "DHCP Snooping limit"; + leaf rate { + description + "DHCP snooping rate limit"; + type uint16 { + range "1..2048"; + } + } + } + leaf trust { + description + "DHCP Snooping trust config"; + type empty; + } + } + } + list access-group { + description + "Access control list for IP packets"; + key "direction"; + leaf direction { + description + "packet flow direction"; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + description + "Access control list name"; + type string; + } + } + } + container subscriber { + description + "Subscriber inactivity timeout value."; + container aging { + description + "Obtain inactivity timeout value from the server"; + choice timer-probe { + container inactivity-timer { + description + "Inactivity timeout value"; + leaf value { + description + "Enter a value between 1 and 65535 in seconds"; + type uint16 { + range "1..65535"; + } + } + leaf probe { + description + "ARP probe"; + type empty; + } + } + leaf probe { + description + "ARP probe"; + type empty; + } + } + } + } + container ipv6 { + description + "IPv6 interface config commands"; + container nd { + description + "IPv6 interface Neighbor Discovery subcommands"; + uses ios-sisf:config-ipv6-nd-raguard-grouping; + } + container dhcp { + description + "Configure IPv6 DHCP on interface"; + uses ios-sisf:config-ipv6-dhcp-guard-grouping; + } + list traffic-filter { + description + "Access control list for IPv6 packets"; + key "direction"; + leaf direction { + description + "packet flow direction"; + type enumeration { + enum in; + enum out; + } + } + leaf access-list { + description + "Access control list name"; + type string; + } + } + } + uses ios-sisf:config-device-tracking-grouping; + container cts { + container manual { + description + "Supply local configuration for CTS parameters"; + presence "true"; + container policy { + description + "CTS policy for manual mode"; + container static { + description + "Configure policy to be applied on the link"; + leaf sgt { + description + "Source Security Group Tag to apply to untagged or non-trusted + incoming traffic"; + type uint16 { + range "2..65519"; + } + } + leaf trusted { + description + "Trust the Source Group Tags (SGT) that the peer uses for + sending"; + must "(../../../propagate/sgt = 'true')" { + error-message + "CTS Link in Manual mode with 'no propagate sgt' + configured cannot be made trusted"; + } + type empty; + } + } + } + container propagate { + description + "CTS SGT Propagation configuration for manual mode"; + leaf sgt { + description + "CTS SGT Propagation configuration"; + type boolean; + default "true"; + } + } + } + container role-based { + description + "Role-based Access Control per-port config commands"; + leaf enforcement { + description + "Enable Role-based Access Control enforcement"; + type boolean; + } + } + } + } + + grouping config-template-sw-grouping { + container IP_CAMERA_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container LAP_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container AP_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container DMP_INTERFACE_TEMPLATE { + description + "built-in modified"; + presence "true"; + uses template-grouping; + } + container IP_PHONE_INTERFACE_TEMPLATE { + description + "built-in modified"; + presence "true"; + uses template-grouping; + } + container MSP_CAMERA_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container MSP_VC_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container PRINTER_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container ROUTER_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container SWITCH_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + container TP_INTERFACE_TEMPLATE { + description + "built-in modified"; + uses template-grouping; + } + } + + grouping template-error-disable-grouping { + leaf error-disable-interface { + type empty; + } + } + + grouping template-threshold-grouping-64k { + container threshold { + description + "threshold"; + container high { + description + "High Threshold"; + leaf high-range { + description + "Set the high threshold"; + type uint16 { + range "1..65535"; + } + } + leaf none { + description + "Disable high threshold"; + type empty; + } + } + leaf low { + description + "Set the low threshold"; + type uint16 { + range "0..65535"; + } + } + } + } + + grouping template-window-grouping-64k { + leaf window { + description + "Set window size in number of 10000 frames"; + type uint16 { + range "1..65535"; + } + } + } + + grouping template-window-grouping-1800 { + leaf window { + description + "Set window size in number of 10000 frames"; + type uint16 { + range "10..1800"; + } + } + } + + grouping config-interface-pseudowire-flow-label { + container static { + description + "Enable flow labels even if not signaled by remote peer"; + presence "true"; + leaf advertise { + description + "Send Flow Label Sub-TLV"; + type empty; + } + } + } + + grouping template-type-pseudowire-grouping { + leaf encapsulation { + description + "Data encapsulation method"; + type enumeration { + enum l2tpv3; + enum mpls; + enum udp; + } + } + container bandwidth { + description + "Set bandwidth informational parameter"; + when '../encapsulation'; + must 'bandwidth-value or (not(bandwidth-value) and not(persistent))' { + error-message "Please make sure to configure bandwidth-value"; + } + leaf bandwidth-value { + description + "Bandwidth in kilobits"; + type uint32 { + range "1..10000000"; + } + } + leaf persistent { + description + "Do not release bandwidth when pseudowire is down"; + type empty; + } + } + leaf control-word-config { + description + "Include control-word in pseudowire packets"; + when "../encapsulation = 'mpls'"; + type enumeration { + enum exclude; + enum include; + } + } + leaf control-word { + description + "Include control-word in pseudowire packets"; + status obsolete; + when "../encapsulation = 'mpls'"; + type empty; + } + container ip { + description + "Specify IP parameters"; + when "../encapsulation = 'udp' or ../encapsulation = 'l2tpv3'"; + container dfbit { + description + "DF bit options for tunnel"; + leaf set { + description + "Set the DF bit in the tunnel header"; + type empty; + } + } + container local { + description + "Specify local information"; + container interface { + description + "Source interface for pseudowire"; + uses ios-ifc:interface-grouping; + } + } + container pmtu { + description + "Enable Path MTU for tunnel"; + when "../../encapsulation = 'l2tpv3'"; + presence "true"; + leaf max { + description + "Maximum Path MTU for session"; + type uint16 { + range "68..65535"; + } + } + } + leaf protocol { + description + "Specific IP protocol number to use"; + when "../../encapsulation = 'l2tpv3'"; + type enumeration { + enum l2tp; + enum uti; + enum udp; + } + } + container tos { + description + "Specify ToS options for IP tunnel header"; + leaf reflect { + description + "Reflect IP payload ToS on tunnel"; + type empty; + } + leaf value { + description + "IP ToS value"; + type uint8; + } + } + leaf ttl { + description + "Specify TTL value for IP tunnel header"; + type uint8; + } + } + container load-balance { + description + "Loadbalancing for pseudowire"; + when "../encapsulation = 'mpls'"; + container flow { + description + "Enable flow based load balancing for pseudowire"; + presence "true"; + leaf ethernet { + description + "Ethernet pseudowire flow classification"; + type enumeration { + enum dst-mac; + enum src-dst-mac; + enum src-mac; + } + } + leaf ip { + description + "IP pseudowire flow classification"; + type enumeration { + enum dst-ip; + enum src-dst-ip; + enum src-ip; + } + } + } + container flow-label { + description + "Enable flow aware transport of pseudowire"; + choice flow-label-options { + case both-case { + container both { + description + "Enable FAT pseudowire in both directions"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + case receive-case { + container receive { + description + "Enable FAT pseudowire in the receive direction"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + case transmit-case { + container transmit { + description + "Enable FAT pseudowire in the transmit direction"; + presence "true"; + uses config-interface-pseudowire-flow-label; + } + } + } + } + } + container monitor { + description + "Active monitoring of xconnect peer"; + when "../encapsulation = 'mpls'"; + container peer { + description + "Active monitoring of xconnect peer"; + container bfd { + description + "BFD active monitoring for the xconnect peer"; + presence "true"; + container local { + description + "Specify local endpoint information to map to a BFD session"; + container interface { + description + "Source interface for pseudowire"; + uses ios-ifc:interface-grouping; + } + } + } + } + } + container preferred-path { + description + "Preferred path"; + when '../encapsulation'; + container interface { + description + "Output Interface"; + must 'Tunnel or Tunnel-tp or ((not(Tunnel) and not(disable-fallback)) or (not(Tunnel-tp) and not(disable-fallback)))' { + error-message "Please make sure to configure Tunnel or Tunnel-tp"; + } + choice Tunnel-Tunnel-tp { + case Tunnel-case { + leaf Tunnel { + description + "Tunnel interface"; + type uint64 { + range "0..2147483647"; + } + } + } + case Tunnel-tp-case { + leaf Tunnel-tp { + description + "MPLS Transport Profile interface"; + type uint16; + } + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container peer-container { + must 'peer or (not(peer) and not(disable-fallback))' { + error-message "Please make sure to configure peer "; + } + leaf peer { + description + "Peer Address"; + type union { + type string; + type inet:ipv4-address; + } + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container segment-routing { + description + "Segment-routing option"; + container traffic-eng { + description + "Segment-routing traffic engineering option"; + container attribute-set { + description + "Set MPLS traffic engineering attribute for auto-tunnel"; + must 'te-profile or (not(te-profile) and not(disable-fallback))' { + error-message "Please make sure to configure te-profile "; + } + leaf te-profile { + description + "MPLS traffic engineering profile name"; + type string; + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + container policy { + description + "Set SR traffic engineering policy"; + must 'name or (not(name) and not(disable-fallback))' { + error-message "Please make sure to configure policy name"; + } + leaf name { + description + "SR traffic engineering policy name"; + type string; + } + leaf disable-fallback { + description + "disable fall back to alternative route"; + type empty; + } + } + } + } + } + container signaling { + description + "Signaling options"; + when '../encapsulation'; + must 'protocol or (not(protocol) and not(l2tp-class-name))' { + error-message "Please make sure to configure te-profile "; + } + leaf protocol { + description + "Signaling protocol to use"; + type enumeration { + enum ldp; + enum none; + enum l2tpv3; + } + } + leaf l2tp-class-name { + description + "l2tp-class name"; + when "../protocol = 'l2tpv3'"; + type leafref { + path "/ios:native/ios:l2tp-class/ios:name"; + } + } + } + leaf sequencing { + description + "Sequencing options for pseudowire"; + when "../encapsulation = 'mpls' or ../encapsulation = 'l2tpv3'"; + type enumeration { + enum both; + enum receive; + enum resync; + enum transmit; + } + } + container status { + description + "Pseudowire status capabilities"; + presence "true"; + when '../encapsulation'; + container admin-down { + description + "Admin down of Attachment Circuit"; + when "../../encapsulation = 'l2tpv3'"; + leaf disconnect { + description + "Disconnect the session"; + type empty; + } + } + container control-plane { + description + "control plane status events"; + leaf route-watch { + description + "listen on the control plane to route-watch events"; + type empty; + } + } + leaf decoupled { + description + "Reflect standby status of the attachment circuit as up on the pseudowire"; + type empty; + } + container peer { + description + "peer status configuration"; + container topology { + description + "change status behaviour based on peer topology"; + leaf dual-homed { + description + "Our peer(s) are participating in a redundant solution with some form of redundancyprotocol running between the peer routers, Only one of the remote peers will advertise astatus of UP at a time. The other will advertise standby. Change our configuration so we can send a status of UP on both active and redundant pseudowires"; + type empty; + } + } + } + container redundancy { + description + "Xconnect redundancy configuration"; + leaf master { + description + "Put the xconnect redundancy group on this node in master mode"; + type empty; + } + } + container suppress { + description + "Suppress sending status message to the remote peer"; + when "../../encapsulation = 'mpls'"; + leaf standby { + description + "Suppress sending standby status message to the remote peer"; + type empty; + } + } + container protocol { + description + "Status protocol configuration"; + when "../../encapsulation = 'mpls' and ../../signaling/protocol = 'none'"; + container notification { + description + "Status notification protocol"; + leaf static { + description + "Static PW OAM protocol"; + type leafref { + path "/ios:native/ios:l2vpn/ios-l2vpn:pseudowire/ios-l2vpn:static-oam/ios-l2vpn:class/ios-l2vpn:pw-nm"; + } + } + } + } + } + container switching { + description + "Switching TLV on/off for pseudowire"; + when "../encapsulation = 'mpls'"; + leaf tlv { + description + "Switching TLV on/off for pseudowire"; + type empty; + } + } + leaf mtu { + description + "MTU size in bytes"; + when '../encapsulation'; + type uint32; + } + container vc { + description + "Virtual Circuit options"; + when "../encapsulation = 'mpls'"; + leaf type { + description + "Virtual Circuit type to use"; + type enumeration { + enum ethernet; + enum vlan; + } + } + } + } + + grouping config-template-grouping { + list template_details { + key "template_name"; + leaf template_name { + description + "Template name"; + type string; + } + container ethernet { + description + "Ethernet service"; + container oam { + description + "Operations, Administration and Maintenance"; + container link-monitor { + description + "Ethernet OAM Link Monitor"; + container frame { + description + "Errored frames in a period measured by time"; + uses template-threshold-grouping-64k; + } + leaf window { + description + "Set window size in multiple of 100 milliseconds (will be rounded off to second)"; + type uint16 { + range "10..600"; + } + } + container frame-period { + description + "Errored frames in a period measured by number of frames"; + uses template-threshold-grouping-64k; + uses template-window-grouping-64k; + } + container frame-seconds { + description + "Errored frame seconds in a period"; + container threshold { + description + "Errored frame-seconds threshold"; + container high { + description + "High Threshold"; + leaf high-range { + description + "Set the high errored frame-seconds threshold in number of seconds"; + type uint16 { + range "1..900"; + } + } + leaf none { + description + "Disable high threshold"; + type empty; + } + } + leaf low { + description + "Set the low errored frame-seconds threshold in number of seconds"; + type uint16 { + range "1..900"; + } + } + } + leaf window { + description + "Set window size in multiple of 100 milliseconds (will be rounded off to second)"; + type uint16 { + range "100..9000"; + } + } + } + container high-threshold { + description + "Additional high threshold configuration"; + container action { + description + "Specify an action when the high threshold is crossed"; + uses template-error-disable-grouping; + } + } + container receive-crc { + description + "Received frames with CRC errors in a period"; + uses template-threshold-grouping-64k; + uses template-window-grouping-1800; + } + container symbol-period { + description + "Errored symbols in a period"; + uses template-threshold-grouping-64k; + uses template-window-grouping-64k; + } + container transmit-crc { + description + "Transmitted frames with CRC errors in a period"; + uses template-threshold-grouping-64k; + uses template-window-grouping-1800; + } + } + container remote-failure { + description + "Ethernet OAM remote failure indication"; + container critical-event { + description + "Critical event"; + container action { + description + "Specify an action when a remote failure is detected"; + uses template-error-disable-grouping; + } + } + container dying-gasp { + description + "Dying gasp"; + container action { + description + "Specify an action when a remote failure is detected"; + presence "true"; + uses template-error-disable-grouping; + } + } + container link-fault { + description + "Link fault"; + container action { + description + "Specify an action when a remote failure is detected"; + presence "true"; + uses template-error-disable-grouping; + } + } + } + } + } + uses template-grouping; + } + uses config-template-sw-grouping { + if-feature "ios-features:switching-platform"; + } + container type { + description + "Type of the template"; + if-feature "ios-features:l2vpn"; + list pseudowire { + key "name"; + leaf name { + description + "Template customized interface pseudowire"; + type string; + } + uses template-type-pseudowire-grouping; + } + } + } + + augment "/ios:native/ios:template" { + uses config-template-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-teyes-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-teyes-oper.yang new file mode 100644 index 000000000..f06598090 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-teyes-oper.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XE-teyes-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-teyes-oper"; + prefix teyes-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for ThousandEyes (TE) operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping teyes-status { + description + "ThousandEyes (TE) status"; + leaf supported-regex { + type string; + description + "ThousandEyes (TE) regular expression - support versions 4.0.0 and onwards"; + } + leaf installed-version { + type string; + description + "ThousandEyes (TE) version currently installed"; + } + leaf version-supported { + type boolean; + description + "ThousandEyes (TE) version supported flag - indicates installed TE version compatibility with IOS-XE version"; + } + } + + container teyes-oper-data { + config false; + description + "ThousandEyes (TE) operational data"; + container teyes-status { + presence "teyes-status"; + description + "ThousandEyes (TE) status"; + uses teyes-xe-oper:teyes-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-events.yang new file mode 100644 index 000000000..f76c2c74a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-events.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XE-trace-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-trace-events"; + prefix trace-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for trace action notification for trace decoder events. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping trace-event-fields { + description + "Trace action progress events"; + leaf unique-id { + type uint32; + description + "The Unique ID (Identifier) is a number and represents the + decoder instance. Its is used to uniquely identify the + current trace action invoked via RPC and it is replayed + back in the progress notifications from decoder, to + correlate them back to the specific trace action operation."; + } + leaf percentage { + type uint8; + units "percent"; + description + "Percent of completion for trace action. + If the value is 0, the field is not applicable"; + } + } + + notification trace-status { + description + "Trace event status notification"; + uses trace-ios-xe-events:trace-event-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-rpc.yang new file mode 100644 index 000000000..523e40bda --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-trace-rpc.yang @@ -0,0 +1,832 @@ +module Cisco-IOS-XE-trace-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-trace-rpc"; + prefix trace-ios-xe-rpc; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef trace-drive-type { + type enumeration { + enum bootflash { + value 0; + description + "Use bootflash location"; + } + enum crashinfo { + value 1; + description + "Use crashinfo location"; + } + enum flash { + value 2; + description + "Use flash location"; + } + enum harddisk { + value 3; + description + "Use harddisk location"; + } + } + description + "Drive options"; + } + + typedef trace-debug-option { + type enumeration { + enum debug-level-none { + value 0; + description + "Do not set debug level, use default level"; + } + enum debug-level-error { + value 1; + description + "Sets debug level to error"; + } + enum debug-level-warning { + value 2; + description + "Sets debug level to warning"; + } + enum debug-level-notice { + value 3; + description + "Sets debug level to notice"; + } + enum debug-level-info { + value 4; + description + "Sets debug level to information"; + } + enum debug-level-debug { + value 5; + description + "Sets debug level to debug"; + } + enum debug-level-verbose { + value 6; + description + "Sets debug level to verbose"; + } + } + description + "Debug options to set log levels"; + } + + typedef trace-start-marker-type { + type enumeration { + enum trace-marker-start-none { + value 0; + description + "No start marker for logging"; + } + enum trace-marker-start { + value 1; + description + "Use start marker type for logging"; + } + enum trace-marker-start-last { + value 2; + description + "Use marker type start last in the list"; + } + } + description + "Start or start last marker options"; + } + + typedef trace-end-marker-type { + type enumeration { + enum trace-marker-end-none { + value 0; + description + "No end marker for logging"; + } + enum trace-marker-end { + value 1; + description + "Use end marker type for logging to end"; + } + enum trace-marker-end-last { + value 2; + description + "Use marker type end last in the list"; + } + } + description + "End or end last marker options"; + } + + typedef trace-start-interval-type { + type enumeration { + enum start-interval-none { + value 0; + description + "Start interval type none"; + } + enum start-interval-boot { + value 1; + description + "Start log interval from last uptime"; + } + enum start-interval-seconds { + value 2; + description + "Start log time interval in seconds"; + } + enum start-interval-minutes { + value 3; + description + "Start log time interval in minutes"; + } + enum start-interval-hours { + value 4; + description + "Start log time interval in hours"; + } + enum start-interval-days { + value 5; + description + "Start log time interval in days"; + } + enum start-interval-clear { + value 6; + description + "Clear logs and start logging"; + } + } + description + "Start time interval for logging options"; + } + + typedef trace-end-interval-type { + type enumeration { + enum end-interval-none { + value 0; + description + "End interval type none"; + } + enum end-interval-boot { + value 1; + description + "End log interval from last uptime"; + } + enum end-interval-seconds { + value 2; + description + "End log time interval in seconds"; + } + enum end-interval-minutes { + value 3; + description + "End log time interval in minutes"; + } + enum end-interval-hours { + value 4; + description + "End log time interval in hours"; + } + enum end-interval-days { + value 5; + description + "End log time interval in days"; + } + } + description + "End time interval options"; + } + + typedef trace-switch-type { + type enumeration { + enum switch-none { + value 0; + description + "Switch option - None"; + } + enum switch-active { + value 1; + description + "Switch role - Active"; + } + enum switch-standby { + value 2; + description + "Switch role - Standby"; + } + enum switch-number { + value 3; + description + "Specify switch number - 1 or 2"; + } + } + description + "Switch options can be active, standby or number"; + } + + typedef trace-consumer-type { + type enumeration { + enum trace-tac { + value 0; + description + "Log consumer type will be default"; + } + enum trace-internal { + value 1; + description + "Log consumer type internal, selects all logs. "; + } + } + description + "Filters log consumer type."; + } + + typedef trace-filter-type { + type enumeration { + enum type-none { + value 0; + description + "No filter applied on binary trace messages."; + } + enum type-mac-address { + value 1; + description + "Filter logs by using MAC address"; + } + enum type-interface { + value 2; + description + "Filter logs by using interface name"; + } + enum type-ipv4-address { + value 3; + description + "Filter logs by using IPv4 address"; + } + enum type-ipv6-address { + value 4; + description + "Filter logs by using IPv6 address"; + } + enum type-uuid { + value 5; + description + "Filter logs by using UUID string"; + } + enum type-string { + value 6; + description + "Filter logs by using specific string"; + } + } + description + "Filter logs by using different parameters"; + } + + typedef trace-profile-type { + type enumeration { + enum trace-profile-file { + value 0; + description + "Show logs for specific profile file. If the log file + is not generated, make sure the profile file is valid."; + } + enum trace-profile-predefined { + value 1; + description + "Show logs for pre-defined profile"; + } + } + description + "show logs for specific profile"; + } + + typedef trace-profile-name { + type enumeration { + enum all-profiles { + value 0; + description + "Show logs for specific profile number"; + } + enum hardware-diagnostic { + value 1; + description + "Shows logs specific to hardware diagnostic"; + } + enum netconf-yang { + value 2; + description + "Shows logs specific to net config"; + } + enum restconf { + value 3; + description + "Shows logs specific to rest config"; + } + enum sdwan { + value 4; + description + "Shows logs specific to sdwan"; + } + enum wireless { + value 5; + description + "Shows logs specific to wireless"; + } + } + description + "Show logs for pre defined profiles"; + } + + typedef trace-scope-type { + type enumeration { + enum process-scope { + value 0; + description + "Show logs for a process"; + } + enum profile-scope { + value 1; + description + "Show logs for a profile"; + } + } + description + "Option to show log scope"; + } + + grouping archive-all { + description + "Information for generating trace archive"; + leaf location { + type trace-ios-xe-rpc:trace-drive-type; + mandatory true; + description + "Location where archive gets generated"; + } + leaf file-name { + type string { + length "1..100"; + pattern '[A-Za-z0-9_@!-/]*'; + } + mandatory true; + description + "Name of the archive. When trace bundle is generated. + File name is limited to 100 characters"; + } + } + + grouping trace-archive { + description + "Trace operations options"; + container all { + description + "Generate trace archive"; + uses trace-ios-xe-rpc:archive-all; + } + } + + grouping trace-profile-scope { + description + "Options to specify profile type for logging"; + leaf profile-option { + type trace-ios-xe-rpc:trace-profile-type; + default "trace-profile-predefined"; + description + "Trace profile type"; + } + leaf profile-location { + when "../profile-option = 'trace-profile-file'"; + type trace-ios-xe-rpc:trace-drive-type; + default "bootflash"; + description + "Location of the profile file"; + } + leaf profile-file { + when "../profile-option = 'trace-profile-file'"; + type string { + length "1..100"; + pattern '[A-Za-z0-9_@!-/]*'; + } + default "none"; + description + "Name of the profile file. + File name is limited to 100 characters"; + } + leaf predefined-profile { + when "../profile-option = 'trace-profile-predefined'"; + type trace-ios-xe-rpc:trace-profile-name; + default "all-profiles"; + description + " Allows to select pre-defined profile name"; + } + } + + grouping out-file-info { + description + "File name where trace logging output will be redirected"; + leaf file-location { + type trace-ios-xe-rpc:trace-drive-type; + mandatory true; + description + "Location where file will be generated"; + } + leaf file-name { + type string { + length "1..100"; + pattern '[A-Za-z0-9_@!-/]*'; + } + mandatory true; + description + "Name of the file that will be generated. + A UTC date string will be appended to the file name and will be + the name of trace bundle. For example, when RPC is fired with + file name as 'trace-file' at 2021:01:01 01:01:01, + the name of trace bundle will be 'trace-file-20210101-010101.tar.gz'. + File name is limited to 100 characters"; + } + } + + grouping marker-option { + description + "Marker options to select logs"; + leaf start-marker-type { + type trace-ios-xe-rpc:trace-start-marker-type; + default "trace-marker-start-none"; + description + "Marker type start or start last to select logs"; + } + leaf end-marker-type { + type trace-ios-xe-rpc:trace-end-marker-type; + default "trace-marker-end-none"; + description + "Marker end start or end last to stop logging"; + } + leaf start-marker { + type string { + length "1..128"; + } + default "none"; + description + "Display logs when a specific marker is found in file set"; + } + leaf end-marker { + type string { + length "1..128"; + } + default "none"; + description + "Stop displaying logs when a specific marker + is found in file set"; + } + } + + grouping timestamp-option { + description + "Timestamp options to select logs"; + leaf start-timestamp { + type yang:date-and-time; + default "1970-01-01T00:00:00.000000Z"; + description + "Start time stamp for filtering log"; + } + leaf end-timestamp { + type yang:date-and-time; + default "1970-01-01T00:00:00.000000Z"; + description + "End time stamp for filtering log"; + } + } + + grouping interval-option { + description + "Interval options for filtering logs"; + leaf start-type { + type trace-ios-xe-rpc:trace-start-interval-type; + default "start-interval-none"; + description + "Type of start interval options"; + } + leaf start-interval { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + default "0"; + description + "Allows to fill value of start interval period"; + } + leaf end-type { + type trace-ios-xe-rpc:trace-end-interval-type; + default "end-interval-none"; + description + "Type of end interval options"; + } + leaf end-interval { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + default "0"; + description + "Allows to fill value of end interval period"; + } + } + + grouping switch-option { + description + "Options to select switch"; + leaf switch-id { + type trace-ios-xe-rpc:trace-switch-type; + default "switch-none"; + description + "Switch"; + } + leaf switch-num { + type uint32 { + range "1..2"; + } + default "1"; + description + "Set switch number 1 or 2 for logging"; + } + } + + grouping trace-filter-option { + description + "Filter options"; + choice filter-by-choice { + default "type-none"; + description + "Options for filtering logs. 'filter-by-choice' has 'type-none', + 'type-mac-address', 'type-ipv4-address' etc. options and the user + should select one of these options. Selecting more than one + option will result in RPC execution error (bad element error)."; + case type-none { + leaf filter-none { + type boolean; + must "current() = 'true'" { + error-message "'filter-none' must be 'true' when set"; + error-app-tag "must-violation"; + } + default "true"; + description + "Default option - no action needed by user. + [Optional]: 'filter-none' can be set to true by user, + though it is a default option. If the user intends to use any of the + 'filter-by-choice' options other than 'type-none', example - + type-mac-address, type-ipv4-address etc. 'filter-none' will be set + to default value and user need not modify this value."; + } + } + case type-mac-address { + leaf mac-address { + type yang:mac-address; + default "00:00:00:00:00:00"; + description + "MAC address filter. Make sure it + is in 'aa:aa:aa:aa:aa:aa' format"; + } + } + case type-interface { + leaf integer-value { + type string; + default "none"; + description + "Integer-based filter"; + } + } + case type-ipv4-address { + leaf ipv4-address { + type inet:ip-address; + default "0.0.0.0"; + description + "IPv4-based filter"; + } + } + case type-ipv6-address { + leaf ipv6-address { + type inet:ip-address; + default "::ff"; + description + "IPv6-based filter"; + } + } + case type-uuid { + leaf uuid-string { + type string; + default "none"; + description + "UUID based filter"; + } + } + case type-string { + leaf string-value { + type string; + default "none"; + description + "String based filter"; + } + } + } + } + + grouping trace-action-filter-option { + description + "Trace filter options"; + leaf metadata { + type boolean; + default "false"; + description + "Display meta data for every log message"; + } + leaf pcap-extract { + type boolean; + default "false"; + description + "Packet capture file to extract"; + } + leaf debug-level-id { + type trace-ios-xe-rpc:trace-debug-option; + default "debug-level-none"; + description + "Debug level for logging the logs"; + } + leaf consumer { + type trace-ios-xe-rpc:trace-consumer-type; + default "trace-tac"; + description + "Consumer type for logs"; + } + leaf tof-flag { + type boolean; + default "false"; + description + "Display trace on failure logs"; + } + container marker { + description + "Marker for displaying logs"; + uses trace-ios-xe-rpc:marker-option; + } + container interval { + description + "Interval for displaying logs"; + uses trace-ios-xe-rpc:interval-option; + } + container timestamp { + description + "Use time stamp for filtering log"; + uses trace-ios-xe-rpc:timestamp-option; + } + leaf module { + type string { + length "1..128"; + } + default "none"; + description + "Select logs for specific modules"; + } + container filter { + description + "Select logs using filter"; + uses trace-ios-xe-rpc:trace-filter-option; + } + container switch-info { + description + "Information about switch for logging"; + uses trace-ios-xe-rpc:switch-option; + } + } + + grouping trace-options { + description + "Options required for show logging"; + container file-info { + description + "Location and name of file"; + uses trace-ios-xe-rpc:out-file-info; + } + container trace-filter-options { + description + "Show logs of specific file"; + uses trace-ios-xe-rpc:trace-action-filter-option; + } + choice scope-type-by-choice { + mandatory true; + description + "Options for displaying logs"; + case process-scope { + leaf process { + type string { + length "1..128"; + } + mandatory true; + description + "Process name to show logs for specific process"; + } + } + case profile-scope { + container profile { + description + "Profile name: show logs of specific profile number"; + uses trace-ios-xe-rpc:trace-profile-scope; + } + } + } + } + + grouping trace-message { + description + "Generate logs"; + container trace-all-options { + description + "Options for generating logs"; + uses trace-ios-xe-rpc:trace-options; + } + } + + grouping trace-archive-response { + description + "Response to trace archive action request."; + leaf unique-id { + type uint32; + description + "The unique identifier is a number which is generated for + a successful trace archive rpc action."; + } + } + + grouping trace-message-response { + description + "Response to trace message action request."; + leaf unique-id { + type uint32; + description + "The unique identifier is a number which is generated for + a successful trace message rpc action and can be used to + track the progress of action via trace events."; + } + } + + rpc trace-archive { + description + "RPC for generating trace archive"; + input { + uses trace-ios-xe-rpc:trace-archive; + } + output { + uses trace-ios-xe-rpc:trace-archive-response; + } + } + + rpc trace-message { + description + "RPC for trace logging operations"; + input { + uses trace-ios-xe-rpc:trace-message; + } + output { + uses trace-ios-xe-rpc:trace-message-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-track.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-track.yang new file mode 100644 index 000000000..8fea0561d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-track.yang @@ -0,0 +1,1051 @@ +module Cisco-IOS-XE-track { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-track"; + prefix ios-track; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Object Tracking Yang Model. + Copyright (c) 2016, 2018-2021, 2023-24 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added description for nodes under track-timer-grouping, + track-grouping, track-resolution-grouping, tracked-object-v2 + - Modified track object range"; + cisco-semver:module-version "4.1.0"; + } + revision 2024-03-01 { + description + "- Enable default-state sub-command for endpoint-tracker"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-11-01 { + description + "- Added choice for tracker types"; + cisco-semver:module-version "3.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-11-01 { + description + "- Added track service SIG command"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "- Added a when statement in container interface"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "static route tracker support"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Obsolete some config"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added IPv6 resolution command in track"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-10-23 { + description + "Added redundancy command track inside application redundancy"; + } + revision 2018-09-07 { + description + "fix track ip option missing issue"; + } + revision 2018-08-10 { + description + "removed default-track-grouping container"; + } + revision 2018-08-07 { + description + "updated threshold and carrier-delay leaf"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping track-timer-grouping { + choice timer-val { + case time-sec { + leaf sec { + description + "Specify polling interval in seconds"; + type uint32 { + range "1..3000"; + } + } + } + case time-msec { + leaf msec { + description + "Specify polling interval in milliseconds"; + type uint32 { + range "500..5000"; + } + } + } + } + leaf seconds { + status obsolete; + type uint32 { + range "1..3000"; + } + } + leaf ms { + status obsolete; + description + "Specify polling interval in milliseconds"; + type uint32 { + range "500..5000"; + } + } + } + + grouping track-grouping { + container delay { + description + "Tracking delay"; + leaf down { + description + "Delay down change notification"; + type uint32 { + range "0..180"; + } + } + leaf up { + description + "Delay up change notification"; + type uint32 { + range "0..180"; + } + } + } + leaf carrier-delay { + description + "Report state change after interface carrier-delay timer"; + when '../interface/protocol'; + type empty; + } + container threshold { + description + "Threshold parameters"; + container metric { + description + "Scaled metric threshold"; + when '../../ip/route/metric or ../../ipv6/route/metric'; + leaf up { + description + "Up threshold"; + type uint32 { + range "0..254"; + } + } + leaf down { + description + "Down threshold"; + type uint32 { + range "2..255"; + } + } + } + container weight { + description + "Weight threshold"; + when "../../list/threshold = 'weight'"; + leaf up { + description + "Up threshold"; + type uint32 { + range "0..255"; + } + } + leaf down { + description + "Down threshold"; + type uint32 { + range "0..255"; + } + } + } + container percentage { + description + "Percentage threshold"; + when "../../list/threshold = 'percentage'"; + leaf up { + description + "Up threshold value in percentage"; + type uint32 { + range "0..100"; + } + } + leaf down { + description + "Down threshold value in percentage"; + type uint32 { + range "0..100"; + } + } + } + } + leaf default-state { + description + "default object state"; + when '../stub-object or ../ip/sla/reachability or ../ip/sla/state or ../ip/sla/number or ../endpoint-tracker'; + type enumeration { + enum down; + enum up; + } + } + list object { + description + "Add a tracked object to list"; + key "number"; + leaf number { + description + "Tracked object number"; + type uint32 { + range "1..32767"; + } + } + leaf not { + description + "Negate the state of object"; + when "../../list/boolean = 'or' or ../../list/boolean = 'and'"; + type empty; + } + leaf weight { + description + "Assign a weight to object"; + when "../../list/threshold = 'weight'"; + type uint32 { + range "1..255"; + } + } + } + container ip-wrapper { + container ipv6 { + description + "Tracking IPv6 object configuration"; + when '../../ipv6/route/address'; + leaf vrf { + description + "VPN Routing/Forwarding table name"; + type string; + } + } + container ip { + description + "Tracking IP object configuration"; + when '../../ip/route/address'; + leaf vrf { + description + "VPN Routing/Forwarding table name"; + type string; + } + } + } + } + + grouping track-grouping-deprecated { + container delay { + status deprecated; + description + "Deprecated - Tracking delay"; + leaf down { + status deprecated; + description + "Deprecated - Delay down change notification"; + type uint32 { + range "0..180"; + } + } + leaf up { + status deprecated; + description + "Deprecated - Delay up change notification"; + type uint32 { + range "0..180"; + } + } + } + leaf carrier-delay { + status deprecated; + description + "Deprecated - Report state change after interface carrier-delay timer"; + when '../interface/protocol'; + type empty; + } + container threshold { + status deprecated; + description + "Deprecated - Threshold parameters"; + container metric { + status deprecated; + description + "Deprecated - Scaled metric threshold"; + when '../../ip/route/metric-ip or ../../ipv6/route/metric-ipv6'; + leaf up { + status deprecated; + description + "Deprecated - Up threshold"; + type uint32 { + range "0..254"; + } + } + leaf down { + status deprecated; + description + "Deprecated - Down threshold"; + type uint32 { + range "2..255"; + } + } + } + container weight { + status deprecated; + description + "Deprecated - Weight threshold"; + when "../../list/threshold-config = 'weight'"; + leaf up { + status deprecated; + description + "Deprecated - Up threshold"; + type uint32 { + range "0..255"; + } + } + leaf down { + status deprecated; + description + "Deprecated - Down threshold"; + type uint32 { + range "0..255"; + } + } + } + container percentage { + status deprecated; + description + "Deprecated - Percentage threshold"; + when "../../list/threshold-config = 'percentage'"; + leaf up { + status deprecated; + description + "Deprecated - Up threshold value in percentage"; + type uint32 { + range "0..100"; + } + } + leaf down { + status deprecated; + description + "Deprecated - Down threshold value in percentage"; + type uint32 { + range "0..100"; + } + } + } + } + leaf default-state { + status deprecated; + description + "Deprecated - default object state"; + when '../stub-object or ../ip/sla/reachability-sla or ../ip/sla/state-sla or ../ip/sla/number or ../endpoint-tracker'; + type enumeration { + enum down; + enum up; + } + } + list object { + status deprecated; + description + "Deprecated - Add a tracked object to list"; + key "number"; + leaf number { + status deprecated; + type uint32 { + range "1..32767"; + } + } + leaf not { + status deprecated; + description + "Deprecated - Negate the state of object"; + when "../../list/boolean-config = 'or' or ../../list/boolean-config = 'and'"; + type empty; + } + leaf weight { + status deprecated; + description + "Deprecated - Assign a weight to object"; + when "../../list/threshold-config = 'weight'"; + type uint32 { + range "1..255"; + } + } + } + container ip-wrapper { + status deprecated; + container ipv6 { + status deprecated; + description + "Deprecated - Tracking IPv6 object configuration"; + when '../../ipv6/route/address'; + leaf vrf { + status deprecated; + description + "Deprecated - VPN Routing/Forwarding table name"; + type string; + } + } + container ip { + status deprecated; + description + "Deprecated - Tracking IP object configuration"; + when '../../ip/route/address'; + leaf vrf { + status deprecated; + description + "Deprecated - VPN Routing/Forwarding table name"; + type string; + } + } + } + } + + grouping track-resolution-grouping { + container route { + description + "Route metric resolution"; + leaf bgp { + description + "BGP route metric resolution"; + type uint32 { + range "1..16843008"; + } + } + leaf eigrp { + description + "EIGRP route metric resolution"; + type uint32 { + range "256..40000000"; + } + } + leaf isis { + description + "ISIS route metric resolution"; + type uint32 { + range "1..1000"; + } + } + leaf ospf { + description + "OSPF route metric resolution"; + type uint32 { + range "1..1562"; + } + } + leaf static { + description + "Static route metric resolution"; + type uint32 { + range "1..100000"; + } + } + } + } + + grouping config-track-grouping { + list tracked-object-v2 { + key "object-number"; + leaf object-number { + description + "Tracked object"; + type union { + type uint32 { + range "1..32767"; + } + type string; + } + } + choice track-type { + case endpoint-tracker-case { + leaf endpoint-tracker { + description + "SDWAN Tracker Object"; + type empty; + } + } + case interface-case { + container interface { + description + "Select an interface to track"; + when "../object-number != 'timer'"; + leaf name { + description + "Interface name"; + must "not (contains(current(), '.') and ../../carrier-delay)" { + error-message "Cannot track a sub-interface with carrier-delay"; + } + type string; + } + leaf protocol { + description + "Protocol"; + type enumeration { + enum ip; + enum ipv6; + enum line-protocol; + } + } + leaf routing { + description + "Track interface IPv6 routing capability"; + when "../protocol = 'ip' or ../protocol = 'ipv6'"; + type empty; + } + } + } + case ip-case { + container ip { + description + "IP protocol"; + container route { + description + "IP route"; + leaf address { + description + "Prefix and mask"; + type inet:ipv4-address; + } + leaf mask { + description + "IP prefix mask"; + type inet:ipv4-address; + } + choice option { + case reachability-case { + leaf reachability { + description + "Route reachability state"; + type empty; + } + } + case metric-case { + leaf metric { + description + "Route metric"; + type enumeration { + enum threshold; + } + } + } + } + } + container sla { + description + "IP Service Level Agreement"; + leaf number { + description + "Entry number"; + type uint32; + } + choice option { + case reachability-case { + leaf reachability { + description + "Reachability"; + type empty; + } + } + case state-case { + leaf state { + description + "Return code state"; + type empty; + } + } + } + } + } + } + case ipv6-case { + container ipv6 { + description + "IPv6 protocol"; + container route { + description + "IPv6 route"; + leaf address { + description + "IPv6 address and prefix"; + type ios-types:ipv6-prefix; + } + choice option { + case reachability-case { + leaf reachability { + description + "Route reachability state"; + type empty; + } + } + case metric-case { + leaf metric { + description + "Route metric"; + type enumeration { + enum threshold; + } + } + } + } + } + } + } + case list-case { + container list { + description + "Group objects in a list"; + choice option { + case boolean-case { + leaf boolean { + description + "List state based on a boolean calculation on objects"; + type enumeration { + enum and; + enum or; + } + } + } + case threshold-case { + leaf threshold { + description + "List state based on a threshold of UP and DOWN objects"; + type enumeration { + enum percentage; + enum weight; + } + } + } + } + } + } + case service-case { + leaf service { + description + "Select a service to track"; + type string; + } + } + case stub-object-case { + leaf stub-object { + description + "Stub tracking object"; + type empty; + } + } + } + uses track-grouping; + } + list tracked-object { + status deprecated; + key "object-number"; + leaf object-number { + status deprecated; + type union { + type uint32 { + range "1..32767"; + } + type string; + } + } + leaf endpoint-tracker { + status deprecated; + description + "Deprecated - SDWAN Tracker Object"; + type empty; + } + container interface { + status deprecated; + description + "Deprecated - Select an interface to track"; + when "../object-number != 'timer'"; + leaf name { + status deprecated; + must "not (contains(current(), '.') and ../../carrier-delay)" { + error-message "Cannot track a sub-interface with carrier-delay"; + } + type string; + } + leaf protocol { + status deprecated; + type enumeration { + enum ip; + enum ipv6; + enum line-protocol; + } + } + leaf routing { + status deprecated; + description + "Deprecated - Track interface IPv6 routing capability"; + when "../protocol = 'ip' or ../protocol = 'ipv6'"; + type empty; + } + } + container ip { + status deprecated; + description + "Deprecated - IP protocol"; + container route { + status deprecated; + leaf address { + status deprecated; + type inet:ipv4-address; + } + leaf mask { + status deprecated; + type inet:ipv4-address; + } + choice option { + case reachability-case { + leaf reachability-ip { + status deprecated; + description + "Deprecated - Route reachability state"; + type empty; + } + } + case metric-case { + leaf metric-ip { + status deprecated; + description + "Deprecated - Route metric"; + type enumeration { + enum threshold; + } + } + } + } + leaf reachability { + status obsolete; + description + "Route reachability state"; + type empty; + } + leaf metric { + status obsolete; + description + "Route metric"; + type enumeration { + enum threshold; + } + } + } + container sla { + status deprecated; + description + "Deprecated - IP Service Level Agreement"; + leaf number { + status deprecated; + description + "Deprecated - Entry number"; + type uint32; + } + choice option { + case reachability-case { + leaf reachability-sla { + status deprecated; + description + "Deprecated - Reachability"; + type empty; + } + } + case state-case { + leaf state-sla { + status deprecated; + description + "Deprecated - Return code state"; + type empty; + } + } + } + leaf reachability { + status obsolete; + description + "Reachability"; + type empty; + } + leaf state { + status obsolete; + description + "Return code state"; + type empty; + } + } + } + container ipv6 { + status deprecated; + description + "Deprecated - IPv6 protocol"; + container route { + status deprecated; + description + "Deprecated - IPv6 route"; + leaf address { + status deprecated; + type ios-types:ipv6-prefix; + } + choice option { + case reachability-case { + leaf reachability-ipv6 { + status deprecated; + description + "Deprecated - Route reachability state"; + type empty; + } + } + case metric-case { + leaf metric-ipv6 { + status deprecated; + description + "Deprecated - Route metric"; + type enumeration { + enum threshold; + } + } + } + } + leaf reachability { + status obsolete; + description + "Route reachability state"; + type empty; + } + leaf metric { + status obsolete; + description + "Route metric"; + type enumeration { + enum threshold; + } + } + } + } + container list { + status deprecated; + description + "Deprecated - Group objects in a list"; + choice option { + case boolean-case { + leaf boolean-config { + status deprecated; + description + "Deprecated - List state based on a boolean calculation on objects"; + type enumeration { + enum and; + enum or; + } + } + } + case threshold-case { + leaf threshold-config { + status deprecated; + description + "Deprecated - List state based on a threshold of UP and DOWN objects"; + type enumeration { + enum percentage; + enum weight; + } + } + } + } + leaf boolean { + status obsolete; + description + "List state based on a boolean calculation on objects"; + type enumeration { + enum and; + enum or; + } + } + leaf threshold { + status obsolete; + description + "List state based on a threshold of UP and DOWN objects"; + type enumeration { + enum percentage; + enum weight; + } + } + } + leaf service { + status deprecated; + description + "Deprecated - Select a service to track"; + type string; + } + leaf stub-object { + status deprecated; + description + "Deprecated - Stub tracking object"; + type empty; + } + uses track-grouping-deprecated; + } + container resolution { + description + "Tracking resolution parameters"; + container ip { + description + "IP protocol"; + uses track-resolution-grouping; + } + container ipv6 { + description + "IPv6 protocol"; + uses track-resolution-grouping; + } + } + container timer { + description + "Polling interval timers"; + container interface { + description + "Interface polling timer"; + uses track-timer-grouping; + } + container ip { + description + "IP protocol"; + container route { + description + "IP route polling timer"; + uses track-timer-grouping; + } + container sla { + description + "IP SLA polling timer"; + uses track-timer-grouping; + } + } + container ipv6 { + description + "IPv6 protocol"; + container route { + description + "IPv6 route polling timer"; + uses track-timer-grouping; + } + } + container list { + description + "Boolean list polling timer"; + uses track-timer-grouping; + } + container stub-object { + description + "EEM stub polling timer"; + uses track-timer-grouping; + } + } + } + + grouping config-application-red-group-track-options { + list track { + description + "RG group tracking"; + key "object-number"; + leaf object-number { + description + "Tracked object number"; + type leafref { + path "/ios:native/ios:track/ios-track:tracked-object-v2/ios-track:object-number"; + require-instance false; + } + } + choice decrement-shutdown { + case decrement-case { + leaf decrement { + description + "Decrement Value"; + type uint8 { + range "1..255"; + } + } + } + case shutdown-case { + leaf shutdown { + description + "Shutdown group"; + type empty; + } + } + case ha-wan-tracker-case { + leaf ha-wan-tracker { + description + "track WAN status for ha switchover"; + type empty; + } + } + case ha-dia-tracker-case { + leaf ha-dia-tracker { + description + "track DIA status for ha switchover"; + type empty; + } + } + } + } + } + + augment "/ios:native/ios:track" { + uses config-track-grouping; + } + + augment "/ios:native/ios:redundancy/ios:application/ios:redundancy/ios:group" { + uses config-application-red-group-track-options; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-monitor.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-monitor.yang new file mode 100644 index 000000000..daabe47b3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-monitor.yang @@ -0,0 +1,65 @@ +submodule Cisco-IOS-XE-transceiver-monitor { + yang-version 1.1; + belongs-to Cisco-IOS-XE-native { + prefix ios; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + description + "Cisco XE Native Location Yang Model. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "- Added transceiver deviation"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-transceiver-grouping { + container transceivers { + if-feature "ios-features:transceiver"; + description + "Select from transceiver configuration commands"; + container type { + description + "type keyword"; + container all { + container monitoring-enable { + leaf monitoring { + description + "Enable/disable monitoring"; + type empty; + } + } + container monitoring-interval { + container monitoring { + description + "Enable/disable monitoring"; + leaf interval { + description + "Set interval for monitoring"; + type uint16 { + range "300..3600"; + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-oper.yang new file mode 100644 index 000000000..4c5d70d14 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-transceiver-oper.yang @@ -0,0 +1,1171 @@ +module Cisco-IOS-XE-transceiver-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-transceiver-oper"; + prefix xcvr-ios-xe-oper; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring transceivers in a Network Element. + Copyright (c) 2017-2019, 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added more transceiver attributes"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-03-01 { + description + "Added interval in statistics values for calculating min/max/average over the period."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2020-03-01 { + description + "Update copyright"; + reference + "1.3.1"; + cisco-semver:module-version "1.3.1"; + } + revision 2019-11-01 { + description + "Added fault reason and time of last transceiver event"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-01-18 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef xcvr-sonet-code { + type enumeration { + enum oc-48-short-reach { + value 0; + } + enum oc-48-intermediate-reach { + value 1; + } + enum oc-48-long-reach { + value 2; + } + enum sonet-sr-compliant { + value 3; + } + enum sonet-lr-compliant { + value 4; + } + enum oc-192-short-reach { + value 5; + } + enum escon-smf-1310-laser { + value 6; + } + enum escon-mmf-1310-led { + value 7; + } + enum unknown { + value 8; + } + } + description + "SONET/SDH application code supported by the port"; + } + + typedef xcvr-otn-code { + type enumeration { + enum p1l1-2d1 { + value 0; + } + enum p1s1-2d2 { + value 1; + } + enum p1l1-2d2 { + value 2; + } + enum otn-undefined { + value 3; + } + } + description + "OTN application code supported by the port"; + } + + typedef xcvr-ext-identifier { + type enumeration { + enum ext-id-unknown { + value 0; + description + "External identifier unknown"; + } + enum ext-id-mod-def-1-compliant { + value 1; + description + "Compliance with mode definition 1"; + } + enum ext-id-mod-def-2-compliant { + value 2; + description + "Compliance with mode definition 2"; + } + enum ext-id-mod-def-3-compliant { + value 3; + description + "Compliance with mode definition 3"; + } + enum ext-id-defined-by-two-wire-interface { + value 4; + description + "SFP function is defined by two-wire interface ID only"; + } + enum ext-id-mod-def-5-compliant { + value 5; + description + "Compliance with mode definition 15"; + } + enum ext-id-mod-def-6-compliant { + value 6; + description + "Compliance with mode definition 6"; + } + enum ext-id-mod-def-7-compliant { + value 7; + description + "Compliance with mode definition 7"; + } + } + description + "External identifier"; + } + + typedef xcvr-ten-gig-comp-code { + type enumeration { + enum comp-unknown { + value 0; + description + "10 Gigabit comp code unknown"; + } + enum comp-40g-active-cable-xlppi { + value 1; + description + "40 Gigabit active cable"; + } + enum comp-40g-base-lr4 { + value 2; + description + "40 Gigabit base LR"; + } + enum comp-40g-base-sr4 { + value 4; + description + "40 Gigabit base SR"; + } + enum comp-40g-base-cr4 { + value 8; + description + "40 Gigabit base CR"; + } + enum comp-10g-base-sr { + value 16; + description + "10 Gigabit base SR"; + } + enum comp-10g-base-lr { + value 32; + description + "10 Gigabit base LR"; + } + enum comp-10g-base-lrm { + value 64; + description + "10 Gigabit base LR multi mode"; + } + enum comp-10g-base-er4 { + value 128; + description + "10 Gigabit base ER"; + } + } + description + "10 Gigabit or 40 Gigabit comp code supported by the port"; + } + + typedef xcvr-one-gig-comp-code { + type enumeration { + enum gecomp-unknown { + value 0; + description + "1 Gigabit comp code unknown"; + } + enum gecomp-1000-base-sx { + value 1; + description + "1000 base short wavelength"; + } + enum gecomp-1000-base-lx { + value 2; + description + "1000 base long wavelength"; + } + enum gecomp-1000-base-cx { + value 4; + description + "1000 base copper"; + } + enum gecomp-1000-base { + value 8; + description + "1000 base twisted pair"; + } + enum gecomp-100-base-lx { + value 16; + description + "100 base long wavelength"; + } + enum gecomp-100-base-fx { + value 32; + description + "100 base fiber"; + } + enum gecomp-base-bx10 { + value 64; + description + "Base bidirectional"; + } + enum gecomp-base-px { + value 128; + description + "Base pair"; + } + } + description + "1 Gigabit comp code supported by the port"; + } + + typedef xcvr-tech-value { + type enumeration { + enum tech-unknown { + value 0; + description + "Technology unknown"; + } + enum tech-unallocated { + value 1; + description + "Unallocated"; + } + enum tech-unallocated-2 { + value 2; + description + "Unallocated 2"; + } + enum tech-passive-cable { + value 4; + description + "Passive cable"; + } + enum tech-active-cable { + value 8; + description + "Active cable"; + } + enum tech-long-wave-laser { + value 16; + description + "Long wave laser"; + } + enum tech-short-wave-laser-with-fiber { + value 32; + description + "Shortwave laser with fiber"; + } + enum tech-short-wave-laswer-wo-fiber { + value 64; + description + "Shortwave laser without fiber"; + } + enum tech-electrical-intra-enclosure { + value 128; + description + "Electrical intra-enclosure"; + } + } + description + "Transceiver technology value"; + } + + typedef xcvr-media-value { + type enumeration { + enum media-unknown { + value 0; + description + "Media unknown"; + } + enum media-single-mode { + value 1; + description + "Single mode"; + } + enum media-reserved { + value 2; + description + "Media reserved value"; + } + enum media-multimode-50 { + value 4; + description + "Multi mode 50 micro meters"; + } + enum media-multimode-62 { + value 8; + description + "Multi mode 62 and half micro meters"; + } + enum media-video-coax { + value 16; + description + "Video coax"; + } + enum media-miniature-coax { + value 32; + description + "Miniature coax"; + } + enum media-shielded-twisted-pair { + value 64; + description + "Shielded twisted pair"; + } + enum media-twin-axial-pair { + value 128; + description + "Twin axial pair"; + } + } + description + "Transceiver media value"; + } + + typedef xcvr-speed-value { + type enumeration { + enum speed-unknown { + value 0; + description + "Speed unknown"; + } + enum speed-100-mbps { + value 1; + description + "100 Mbps"; + } + enum speed-reserved { + value 2; + description + "Speed reserved value"; + } + enum speed-200-mbps { + value 4; + description + "200 Mbps"; + } + enum speed-reserved-2 { + value 8; + description + "Speed reserved 2 value"; + } + enum speed-400-mbps { + value 16; + description + "400 Mbps"; + } + enum speed-1600-mbps { + value 32; + description + "1600 Mbps"; + } + enum speed-800-mbps { + value 64; + description + "800 Mbps"; + } + enum speed-1200-mbps { + value 128; + description + "1200 Mbps"; + } + } + description + "Transceiver speed value"; + } + + typedef xcvr-link-length-value { + type enumeration { + enum ll-unknown { + value 0; + description + "Link length unknown"; + } + enum ll-medium-distance { + value 8; + description + "Medium distance"; + } + enum ll-long-distance { + value 16; + description + "Long distance"; + } + enum ll-intermediate-distance { + value 32; + description + "Intermediate distance"; + } + enum ll-short-distance { + value 64; + description + "Short distance"; + } + enum ll-very-long-distance { + value 128; + description + "Very long distance"; + } + } + description + "Transceiver link length value"; + } + + typedef xcvr-encoding-value { + type enumeration { + enum enc-unknown { + value 0; + description + "Encoding unknown"; + } + enum enc-8b10b { + value 1; + description + "8 bit 10 bit"; + } + enum enc-4b5b { + value 2; + description + "4 bit 5 bit"; + } + enum enc-nrz { + value 3; + description + "Non return to zero"; + } + enum enc-manchester { + value 4; + description + "Manchester"; + } + enum enc-sonet-scrambled { + value 5; + description + "Sonet scrambled"; + } + enum enc-64b66b { + value 6; + description + "64 bit 66 bit"; + } + } + description + "Transceiver encoding"; + } + + typedef xcvr-rx-pwr-msmt { + type enumeration { + enum rx-power-unknown { + value 0; + description + "Rx power measurement unknown"; + } + enum rx-power-avg { + value 1; + description + "Average"; + } + enum rx-power-oma { + value 2; + description + "Optical modulation amplitude"; + } + } + description + "Transceiver rx power measurement"; + } + + typedef xcvr-addr-change { + type enumeration { + enum address-change-unknown { + value 0; + description + "Address change unknown"; + } + enum address-change-required { + value 1; + description + "Address change required"; + } + enum address-change-not-required { + value 2; + description + "Address change not required"; + } + } + description + "Transceiver address change"; + } + + typedef xcvr-link-status { + type enumeration { + enum link-not-applicable { + value 0; + description + "Link not applicable"; + } + enum link-no-fault { + value 1; + description + "Link no fault"; + } + enum link-near-end-fault { + value 2; + description + "Link near end fault"; + } + enum link-near-end-config-fail { + value 3; + description + "Link near end config fail"; + } + enum link-far-end-fault { + value 4; + description + "Link far end fault"; + } + enum link-far-end-config-fail { + value 5; + description + "Link far end config fail"; + } + enum link-far-end-disabled { + value 6; + description + "Link far end disabled"; + } + } + description + "Transceiver link status"; + } + + typedef xcvr-flowcontrol { + type enumeration { + enum flowcontrol-unknown { + value -1; + description + "Flow control unknown"; + } + enum flowcontrol-off { + value 0; + description + "Flow control off"; + } + enum flowcontrol-on { + value 1; + description + "Flow control on"; + } + enum flowcontrol-desired { + value 2; + description + "Flow control desired"; + } + enum flowcontrol-disagree { + value 3; + description + "Flow control disagree"; + } + } + description + "Transceiver flow control"; + } + + typedef idprom-duplex { + type enumeration { + enum duplex-unknown { + value -1; + description + "Duplex unknown"; + } + enum duplex-auto { + value 0; + description + "Duplex auto"; + } + enum duplex-half { + value 1; + description + "Duplex half"; + } + enum duplex-full { + value 2; + description + "Duplex full"; + } + enum duplex-full-auto { + value 3; + description + "duplex full auto"; + } + } + description + "Transceiver duplex info"; + } + + typedef xcvr-port-speed { + type enumeration { + enum port-speed-unknown { + value -1; + description + "Speed unknown"; + } + enum port-speed-auto { + value 0; + description + "Speed auto"; + } + enum port-speed-10-mbps { + value 1; + description + "Speed 10 Mbps"; + } + enum port-speed-100-mbps { + value 2; + description + "Speed 100 Mbps"; + } + enum port-speed-1-gbps { + value 3; + description + "Speed 1 Gbps"; + } + enum port-speed-10-gbps { + value 4; + description + "Speed 10 Gbps"; + } + enum port-speed-2500-mbps { + value 8; + description + "Speed 2500 Mbps"; + } + enum port-speed-5000-mbps { + value 9; + description + "Speed 5000 Mbps"; + } + enum port-speed-40-gbps { + value 10; + description + "Speed 40 Gbps"; + } + enum port-speed-25-gbps { + value 41; + description + "Speed 25 Gbps"; + } + enum port-speed-100-gbps { + value 42; + description + "Speed 100 Gbps"; + } + enum port-speed-400-gbps { + value 49; + description + "Speed 400 Gbps"; + } + enum port-speed-50-gbps { + value 50; + description + "Speed 50 Gbps"; + } + enum port-speed-200-gbps { + value 51; + description + "Speed 200 Gbps"; + } + } + description + "Transceiver port speed"; + } + + grouping idprom-bit-rate { + description + "Bit rate nominal, min and max on transceiver"; + leaf nominal { + type uint16; + units "Mbps"; + description + "Nominal bit rate in Mbps"; + } + leaf min { + type uint8; + units "percentage"; + description + "Minimum bit rate as percentage of nominal bit rate"; + } + leaf max { + type uint8; + units "percentage"; + description + "Maximum bit rate as percentage of nominal bit rate"; + } + } + + grouping add-info { + description + "Other info"; + leaf link-status { + type xcvr-ios-xe-oper:xcvr-link-status; + description + "Link status"; + } + leaf flow-control-rx { + type xcvr-ios-xe-oper:xcvr-flowcontrol; + description + "Flow control receive"; + } + leaf flow-control-tx { + type xcvr-ios-xe-oper:xcvr-flowcontrol; + description + "Flow control send"; + } + leaf admin-speed { + type xcvr-ios-xe-oper:xcvr-port-speed; + description + "Admin speed"; + } + leaf admin-duplex { + type xcvr-ios-xe-oper:idprom-duplex; + description + "Admin duplex"; + } + leaf oper-speed { + type xcvr-ios-xe-oper:xcvr-port-speed; + description + "Operational speed"; + } + leaf oper-duplex { + type xcvr-ios-xe-oper:idprom-duplex; + description + "Operational duplex"; + } + } + + grouping statistics-values { + description + "Statistics values for power and current"; + leaf instant { + type decimal64 { + fraction-digits 2; + } + description + "Instant value"; + } + leaf avg { + type decimal64 { + fraction-digits 2; + } + description + "Average value"; + } + leaf max { + type decimal64 { + fraction-digits 2; + } + description + "Maximum value"; + } + leaf min { + type decimal64 { + fraction-digits 2; + } + description + "Minimum value"; + } + leaf interval { + type uint32; + units "minutes"; + description + "The time interval over which the min/max/average statistics are computed by the system."; + } + } + + grouping fiber-length { + description + "Fiber length detail"; + leaf nine-micron-km { + type int16; + units "kilometers"; + description + "9 Micron single mode fiber length in kilometers, -1 for unsupported"; + } + leaf nine-micron { + type int16; + units "meters"; + description + "9 Micron singer mode fiber length in meters, -1 for unsupported"; + } + leaf fifty-micron { + type int16; + units "meters"; + description + "50 Micron multi mode optical module 2 fiber length in meters, -1 for unsupported"; + } + leaf sixty-two-micron { + type int16; + units "meters"; + description + "62.5 Micron multi mode optical module 1 fiber length in meters, -1 for unsupported"; + } + leaf copper { + type int16; + units "meters"; + description + "50 Micron multi mode optical module 4 fiber length in meters, -1 for unsupported"; + } + } + + grouping xcvr-physical-channel { + description + "List of physical channel for transceiver"; + leaf index { + type uint16; + description + "Index of the physical channel"; + } + leaf description { + type string; + description + "Text description for the client physical channel"; + } + leaf tx-laser { + type boolean; + description + "Enable (true) or disable (false) the transmit label for the channel"; + } + leaf target-output-power { + type decimal64 { + fraction-digits 2; + } + description + "Target output optical power level of the optical channel(dBm)"; + } + leaf output-frequency { + type uint64; + description + "The frequency in MHz of the individual physical channel"; + } + container output-power { + description + "The output optical power of a physical channel(dBm)"; + uses xcvr-ios-xe-oper:statistics-values; + } + container input-power { + description + "The input optical power of a physical channel(dBm)"; + uses xcvr-ios-xe-oper:statistics-values; + } + container laser-bias-current { + description + "The current applied by the system to the transmit laser to achieve the output power(mA)"; + uses xcvr-ios-xe-oper:statistics-values; + } + } + + grouping xcvr { + description + "Attributes of transceiver"; + leaf name { + type string; + description + "Port name"; + } + leaf enabled { + type boolean; + description + "Turns power on/off to the transceiver"; + } + leaf present { + type boolean; + description + "Transceiver is present on the port"; + } + leaf identifier { + type string; + description + "Indicates the type of optical transceiver used on this port"; + } + leaf connector { + type string; + description + "Connector type used on this port"; + } + leaf ethernet-pmd { + type string; + description + "Ethernet PMD (physical medium dependent sub layer) that the transceiver supports. The SFF/QSFP MSAs have registers for this and CFP MSA has similar."; + } + leaf vendor { + type string; + description + "Full name of transceiver vendor"; + } + leaf vendor-part { + type string; + description + "Transceiver vendor's part number"; + } + leaf vendor-rev { + type string; + description + "Transceiver vendor's revision number"; + } + leaf serial-no { + type string; + description + "Transceiver serial number"; + } + leaf fault-condition { + type boolean; + description + "Indicates if a fault condition exists in the transceiver"; + } + leaf date { + type string; + description + "Representation of the transceiver date"; + } + leaf sonet { + type xcvr-ios-xe-oper:xcvr-sonet-code; + description + "SONET/SDH application code supported by the port"; + } + leaf otn { + type xcvr-ios-xe-oper:xcvr-otn-code; + description + "OTN application code supported by the port"; + } + leaf internal-temp { + type decimal64 { + fraction-digits 2; + } + description + "Internally measured temperature in degrees Celsius"; + } + container output-power { + description + "The output optical power of overall transceiver(dBm)"; + uses xcvr-ios-xe-oper:statistics-values; + } + container input-power { + description + "The input optical power of overall transceiver(dBm)"; + uses xcvr-ios-xe-oper:statistics-values; + } + container laser-bias-current { + description + "The current applied by the system to the transmit laser to achieve the output power(mA)"; + uses xcvr-ios-xe-oper:statistics-values; + } + list xcvr-physical-channel { + key "index"; + description + "List of physical channel for transceiver"; + uses xcvr-ios-xe-oper:xcvr-physical-channel; + } + leaf fault-reason { + type ios-common-ios-xe-oper:port-err-reason; + description + "The error disable on the port is to inform the administrator + when there is a port problem or error. The port can go into + error disabled state where the traffic is not allowed in this port."; + } + leaf last-event-time { + type yang:date-and-time; + description + "Time of the last transceiver event. + Events include module insertion or removal or port error"; + } + leaf ext-id { + type xcvr-ios-xe-oper:xcvr-ext-identifier; + description + "Indicates the extended identifier info"; + } + leaf ten-gig-comp { + type xcvr-ios-xe-oper:xcvr-ten-gig-comp-code; + description + "Ten gig or forty gig comp code supported by the port"; + } + leaf ge-comp { + type xcvr-ios-xe-oper:xcvr-one-gig-comp-code; + description + "GE comp code supported by the port"; + } + leaf link-length { + type xcvr-ios-xe-oper:xcvr-link-length-value; + description + "Transceiver link length"; + } + leaf tech { + type xcvr-ios-xe-oper:xcvr-tech-value; + description + "Transceiver technology"; + } + leaf media { + type xcvr-ios-xe-oper:xcvr-media-value; + description + "Transceiver media"; + } + leaf speed { + type xcvr-ios-xe-oper:xcvr-speed-value; + description + "Transceiver speed"; + } + leaf enc { + type xcvr-ios-xe-oper:xcvr-encoding-value; + description + "Transceiver encoding"; + } + container bit-rate { + description + "Bit rate of transceiver"; + uses xcvr-ios-xe-oper:idprom-bit-rate; + } + container length { + description + "Fiber length"; + uses xcvr-ios-xe-oper:fiber-length; + } + leaf wavelength { + type decimal64 { + fraction-digits 2; + } + units "nanometers"; + description + "Wavelength in nano meters"; + } + leaf check-code-base { + type yang:hex-string; + description + "Check code base"; + } + leaf check-code-ext { + type yang:hex-string; + description + "Check code extension"; + } + leaf options { + type yang:hex-string; + description + "Transceiver options"; + } + leaf int-clbr { + type boolean; + description + "Internally calibrated"; + } + leaf ext-clbr { + type boolean; + description + "Externally calibrated"; + } + leaf rx-power { + type xcvr-ios-xe-oper:xcvr-rx-pwr-msmt; + description + "Rx power measurement"; + } + leaf address-change { + type xcvr-ios-xe-oper:xcvr-addr-change; + description + "Address change"; + } + container other-info { + description + "Other information"; + uses xcvr-ios-xe-oper:add-info; + } + leaf raw-data { + type yang:hex-string; + description + "Transceiver raw contents"; + } + } + + container transceiver-oper-data { + config false; + description + "Top-level container for transceiver operational data"; + list transceiver { + key "name"; + description + "List of transceiver instance, keyed by name"; + uses xcvr-ios-xe-oper:xcvr; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-trustsec-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-trustsec-oper.yang new file mode 100644 index 000000000..8ffabb326 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-trustsec-oper.yang @@ -0,0 +1,1085 @@ +module Cisco-IOS-XE-trustsec-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-trustsec-oper"; + prefix trustsec-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of Cisco Trustsec operational information on + Role based permissions, IP-SGT bindings and SXP connections. + Copyright (c) 2016-2017, 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2021-03-01 { + description + "- Fixed calculation and model description of speaker duration & + listener duration leaves in ctx-sxp-connection list + - Deprecated from-cfp SXP binding source value. + Added a new SXP binding source value from-sxp"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2020-11-01 { + description + "- Added CTS PAC operational data + - Added CTS Environment operational data"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-07-01 { + description + "Modified trustsec oper model to support CTS manual."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-11-01 { + description + "Added model for IPv6 CTS role based policy."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef cts-odm-binding-source { + type enumeration { + enum default { + value 0; + description + "Default Security Group Tag binding value in this device + for the given IP-Address"; + } + enum from-vlan { + value 1; + description + "Security Group Tag binding value in this device for the given + IP-Address is learned from a VLAN"; + } + enum from-cli { + value 2; + description + "Security Group Tag binding value in this device + for the given + IP-Address is configure from CLI (Command Line Interface)"; + } + enum from-l3if { + value 3; + description + "Security Group Tag binding value in this device + for the given IP-Address is learned from a L3 (Layer 3) interface"; + } + enum from-cfp { + value 4; + description + "This value has been deprecated. + Security Group Tag binding value in this device + for the given IP-Address is learned via SXP + binding exchange protocol"; + } + enum from-ip-arp { + value 5; + description + "Security Group Tag binding value in this + device for the given + IP-Address is learned via IP-ARP protocol"; + } + enum from-local { + value 6; + description + "Security Group Tag binding value in this device + for the given IP-Address is learned locally"; + } + enum from-sgt-caching { + value 7; + description + "Security Group Tag binding value in this device + for the given IP-Address is learned via Security Group Tag + caching from data path."; + } + enum from-cli-hi { + value 8; + description + "Security Group Tag binding value in this device + for the given IP-Address is configured from CLI-high priority."; + } + enum from-sxp { + value 9; + description + "Security Group Tag binding value in this device + for the given IP-Address is learned via SXP + binding exchange protocol"; + } + } + description + "Binding Source enumeration"; + } + + typedef sxp-con-state { + type enumeration { + enum state-off { + value 0; + description + "SXP Connection state is OFF"; + } + enum state-pending-on { + value 1; + description + "SXP Connection state is Pending-On"; + } + enum state-on { + value 2; + description + "SXP Connection state is ON"; + } + enum state-delete-hold-down { + value 3; + description + "SXP Connection state is Delete-Hold-Down"; + } + enum state-not-applicable { + value 4; + description + "SXP Connection state is Not-Applicable"; + } + } + description + "SXP Connection state"; + } + + typedef sxp-con-mode { + type enumeration { + enum con-mode-invalid { + value 0; + description + "SXP Connection mode is Invalid"; + } + enum con-mode-speaker { + value 1; + description + "SXP Connection mode is Speaker"; + } + enum con-mode-listener { + value 2; + description + "SXP Connection mode is Listener"; + } + enum con-mode-both { + value 3; + description + "SXP Connection mode is Both (Speaker and Listener)"; + } + } + description + "SXP Connection mode"; + } + + typedef cts-ndac-mode { + type enumeration { + enum cts-ndac-mode-invalid { + value 0; + description + "CTS Interface Connection mode is Invalid"; + } + enum cts-ndac-mode-manual { + value 1; + description + "CTS Interface Connection mode is MANUAL"; + } + } + description + "CTS Interface Connection mode"; + } + + typedef cts-manual-ifc-state { + type enumeration { + enum cts-manual-mode-init { + value 0; + description + "CTS IFC state is Init"; + } + enum cts-manual-mode-authenticating { + value 1; + description + "CTS IFC state is in authentication. + This is bypassed in MANUAL mode."; + } + enum cts-manual-mode-authorizing { + value 2; + description + "CTS IFC state is in authorization. + This is bypassed in MANUAL mode."; + } + enum cts-manual-mode-sap-ne { + value 3; + description + "CTS IFC state is in SAP negotiation"; + } + enum cts-manual-mode-open { + value 4; + description + "CTS IFC state is in OPEN state"; + } + enum cts-manual-mode-held { + value 5; + description + "CTS IFC state is in HELD state"; + } + enum cts-manual-mode-disconnecting { + value 6; + description + "CTS IFC state is in disconnecting state"; + } + enum cts-manual-mode-invalid { + value 7; + description + "CTS IFC state is invalid indicating + some error condition"; + } + enum cts-manual-mode-license-err { + value 8; + description + "CTS IFC state is in license error state + indicating that current license level does + not permit usage of CTS MANUAL"; + } + enum cts-manual-mode-ignore { + value 9; + description + "Ignore CTS IFC state value as the + interface is not configured with + CTS MANUAL"; + } + } + description + "CTS Manual IFC State Machine status"; + } + + typedef cts-manual-trust-status { + type enumeration { + enum cts-manual-trusted { + value 0; + description + "CTS MANUAL connection on the interface is trusted"; + } + enum cts-manual-untrusted { + value 1; + description + "CTS Interface connection on the interface is untrusted"; + } + enum cts-manual-trust-status-ignore { + value 2; + description + "Ignore the trust status as CTS MANUAL is not + configured on the interface"; + } + } + description + "CTS Interface trust status"; + } + + typedef cts-manual-sgt-propagate-status { + type enumeration { + enum cts-sgt-propagate-enabled { + value 0; + description + "Inline SGT propagation is enabled on the interface"; + } + enum cts-sgt-propagate-disabled { + value 1; + description + "Inline SGT propagation is not enabled on the interface"; + } + enum cts-sgt-propagate-ignore { + value 2; + description + "Ignore the SGT propagation status as CTS + MANUAL is not configured on the interface"; + } + } + description + "CTS Interface SGT propagation status"; + } + + typedef cts-sap-status { + type enumeration { + enum cts-sap-unknown { + value 0; + description + "SAP negotiation is unknown indicating some error condition"; + } + enum cts-sap-in-progress { + value 1; + description + "SAP negotiation is in progress"; + } + enum cts-sap-success { + value 2; + description + "SAP negotiation is successful"; + } + enum cts-sap-failed { + value 3; + description + "SAP negotiation failed on the interface"; + } + enum cts-sap-license-err { + value 4; + description + "Current license level does not support SAP"; + } + enum cts-sap-not-applicable { + value 5; + description + "SAP status is not applicable on this interface"; + } + enum cts-sap-status-ignore { + value 6; + description + "SAP status is not applicable on this interface"; + } + } + description + "CTS SAP negotiation status"; + } + + typedef cts-env-data-status-s { + type enumeration { + enum env-download-in-progress { + value 0; + description + "Environment data downloads is in progress"; + } + enum env-download-success { + value 1; + description + "Environment data downloads complete"; + } + enum env-download-failed { + value 2; + description + "Environment data downloads failed"; + } + enum env-download-incomplete { + value 3; + description + "Partial environment data received from Identity Services Engine"; + } + enum env-download-response-timeout { + value 4; + description + "Time elapsed to receive response from Identity Services Engine"; + } + enum env-data-cleared { + value 5; + description + "Environment data cleared from the device"; + } + enum env-download-started { + value 6; + description + "Environment data downloads started"; + } + } + description + "Cisco TrustSec environment data downloads status"; + } + + typedef cts-transport-type { + type enumeration { + enum cts-radius-server { + value 0; + description + "Environment data uses Radius as transport protocol"; + } + enum cts-policy-server { + value 1; + description + "Environment data uses HTTPS as transport protocol"; + } + } + description + "Cisco TrustSec Environment data server transport protocol"; + } + + typedef cts-eap-pac-type { + type enumeration { + enum pac-type-tunnel { + value 0; + description + "PAC type Tunnel"; + } + enum pac-type-machine-authen { + value 1; + description + "PAC type machine authentication"; + } + enum pac-type-user-author { + value 2; + description + "PAC type User Authorization"; + } + enum pac-type-posture { + value 3; + description + "PAC type Posture"; + } + enum pac-type-cisco-trustsec { + value 4; + description + "PAC type Cisco Trustsec"; + } + enum pac-type-unknown { + value 5; + description + "PAC type UnKnown"; + } + } + description + "Extensible Authentication Protocol - Flexible Authentication via Secure Tunneling defines, various PAC types"; + } + + grouping cts-ip-sgt-map-key { + description + "IP-Address information to find corresponding CTS Security Group Tag binding"; + leaf ip { + type inet:ip-prefix; + description + "IP-Prefix information to find its corresponding + Secure Group Tag. Only IPv4 prefix information is + supported currently to get the Security Group Tag + binding in this device"; + } + leaf vrf-name { + type string; + description + "VRF-Name to find the Security Group Tag for the + corresponding IP-Address in + this VRF instance. Only default VRF is supported + currently which is indicated by (empty string)"; + } + } + + grouping cts-ip-sgt-map { + description + "Trustsec Security Group Tag binding information"; + leaf sgt { + type int32; + description + "Security Group Tag value corresponding to the + given IP-Address"; + } + leaf source { + type trustsec-ios-xe-oper:cts-odm-binding-source; + description + "Source information via which the Security + Group Tag binding was learned in this device"; + } + } + + grouping cts-role-based-policy-key { + description + "Source Security Group Tag and Destination Security + Group Tag information to find the list of Security + Group Access Control List that are currently + applied between two security groups in the device"; + leaf src-sgt { + type int32; + description + "Source Security Group Tag number. + This value must be in the inclusive range of -1 to 65519"; + } + leaf dst-sgt { + type int32; + description + "Destination Security Tag number. + This value must be in the inclusive range of -1 to 65519"; + } + } + + grouping cts-role-based-policy { + description + "Trustsec Role based permissions between a Source + Security Group and the Destination Security Group"; + leaf sgacl-name { + type string; + description + "List of Security Group Access Control List names + separated by semi-colon(;)"; + } + leaf num-of-sgacl { + type uint32; + description + "Number of Security Group Access Control Lists that + are currently applied between + the Source Security Group and the Destination + Security Group. This should match + the number of Security Group Access Control List + names in sgacl-name"; + } + leaf monitor-mode { + type boolean; + description + "Indicates the monitor mode status between the Source + Security Group and Destination + Security Group is currently enabled or disabled. + This will be TRUE if monitor + mode is enabled and FALSE if it is disabled"; + } + leaf policy-life-time { + type uint64; + description + "Duration of the Role based permissions that are + applied between a Source Security Group + and a Destination Security Group. The duration + is represented in seconds"; + } + leaf last-updated-time { + type yang:date-and-time; + description + "Indicates the time when the Role based permissions + between a Source Security Group and a Destination + Security Group was modified or updated last. The + value will be represented as date and time + corresponding to the local time zone of the + Identify Services Engine when the Role based + permissions was modified or updated last"; + } + leaf total-deny-count { + type uint64; + description + "Total number of packets that have been denied by + the Role based permissions + between a Source Security Group and a Destination + Security Group. This corresponds to + total packets denied in both hardware and software + forwarding paths of the device"; + } + leaf total-permit-count { + type uint64; + description + "Total number of packets that have been permitted + by the Role based permissions + between a Source Security Group and a Destination + Security Group. This corresponds to + total packets allowed in both hardware and software + forwarding paths of the device"; + } + leaf software-deny-count { + type uint64; + description + "Number of packets that have been denied in the + software forwarding path of the device + by the Role based permissions between a Source + Security Group and a Destination + Security Group"; + } + leaf software-permit-count { + type uint64; + description + "Number of packets that have been permitted in the + software forwarding path of the device + by the Role based permissions between a Source + Security Group and a Destination Security Group"; + } + leaf hardware-deny-count { + type uint64; + description + "Number of packets that have been denied in the + hardware forwarding path of the device by + the Role based permissions between a Source + Security Group and a Destination Security Group"; + } + leaf hardware-permit-count { + type uint64; + description + "Number of packets that have been permitted in the + hardware forwarding path of the device + by the Role based permissions between a Source + Security Group and a Destination Security Group."; + } + leaf software-monitor-count { + type uint64; + description + "Number of packets that have been monitored in the + software forwarding path of the device + by the Role based permissions between a Source + Security Group and a Destination Security Group"; + } + leaf hardware-monitor-count { + type uint64; + description + "Number of packets that have been monitored in the + hardware forwarding path of the device + by the Role based permissions between a Source + Security Group and a Destination Security Group"; + } + } + + grouping cts-sxp-con-key { + description + "The peer IP-Address of a CTS SXP connection and + vrf-name of the VRF instance + in this device to which this IP-Address is configured. + This information is used + to get additional details of the SXP connection"; + leaf peer-ip { + type inet:ip-address; + description + "IP-Address information of the peer of an SXP + connection in this device. Only IPv4 + address is currently supported."; + } + leaf vrf-name { + type string; + description + "vrf-name string of the VRF instance in this device, + to which the peer of an SXP connection + belongs to. Only default VRF is supported currently + which is indicated by empty string"; + } + } + + grouping cts-sxp-con { + description + "SXP connection information"; + leaf source-ip { + type inet:ip-address; + description + "Source IP-Address of the SXP connection in this + device for the given peer IP-Address."; + } + leaf speaker-state { + type trustsec-ios-xe-oper:sxp-con-state; + description + "SXP speaker state information of the SXP + connection in this device. This information is + valid only if the local mode of the SXP + connection in this device is Speaker"; + } + leaf speaker-duration { + type uint64; + units "seconds"; + description + "Duration since last state change of the SXP connection. + This information is valid only if the local mode of the + SXP connection is Speaker"; + } + leaf listener-state { + type trustsec-ios-xe-oper:sxp-con-state; + description + "SXP listener state information of the SXP + connection in this device. This information is + valid only if the local mode of the SXP + connection in the device is Listener"; + } + leaf listener-duration { + type uint64; + units "seconds"; + description + "Duration since last state change of the SXP connection. + This information is valid only if the local mode of the + SXP connection is Listener"; + } + leaf local-mode { + type trustsec-ios-xe-oper:sxp-con-mode; + description + "SXP connection mode of this device for the SXP + connection with the given peer"; + } + } + + grouping cts-manual-record { + description + "CTS Manual connection information"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf mode { + type trustsec-ios-xe-oper:cts-ndac-mode; + description + "Indicates the configured mode of CTS on the interface."; + } + leaf ifc-state { + type trustsec-ios-xe-oper:cts-manual-ifc-state; + description + "State of the IFC state machine that controls the + interface when CTS manual is configured."; + } + leaf trusted { + type trustsec-ios-xe-oper:cts-manual-trust-status; + description + "Indicates whether incoming inline SGT on this interface + can be trusted and used for further classification."; + } + leaf sgt-propagate { + type trustsec-ios-xe-oper:cts-manual-sgt-propagate-status; + description + "Status of SGT propagation on the interface. SGT is + inserted inline for further propagation only if this is enabled."; + } + leaf sap-status { + type trustsec-ios-xe-oper:cts-sap-status; + description + "The status of SAP negotiation on the given interface"; + } + leaf peer-sgt { + type uint16; + description + "Statically configured peer SGT value that is used + to classify the incoming traffic on the interface"; + } + } + + grouping cts-pac-data { + description + "Cisco TrustSec PAC detailed information"; + leaf pac-type { + type trustsec-ios-xe-oper:cts-eap-pac-type; + description + "Extensible Authentication Protocol - Flexible Authentication via Secure Tunneling defines, various PAC types"; + } + leaf authority-id { + type string; + description + "TrustSec device authenticate with policy server where policy server ID is considered as authority ID "; + } + leaf initiator-id { + type string; + description + "Device ID is referred as an initiator identity, requests a PAC key from the policy server"; + } + leaf authority-id-info { + type string; + description + "Authority ID info contains name of the policy server"; + } + leaf pac-life-time { + type yang:date-and-time; + description + "PAC keys are associated with life time"; + } + leaf pac-refresh-time { + type yang:date-and-time; + description + "The time at which device initiates PAC provisioning and update the database with new set of keys"; + } + leaf pac-opaque { + type string; + description + "PAC-Opaque field is unique for each device, these opaque keys are generated by policy server"; + } + } + + grouping cts-pac-record { + description + "The PAC is a unique shared credential used to mutually authenticate client and server. These are encrypted keys"; + list pac { + description + "Protected Access Credentials, is associated with a specific initiator ID and a server authority ID"; + uses trustsec-ios-xe-oper:cts-pac-data; + } + } + + grouping cts-radius-server { + description + "Radius server detailed information"; + leaf ip-addr { + type inet:ip-address; + description + "IPv4 address of Radius server"; + } + leaf port-num { + type uint16; + description + "Port number of Radius server"; + } + leaf is-alive { + type boolean; + description + "Boolean indicating whether the radius server is alive"; + } + leaf auto-test { + type boolean; + description + "Indicates whether radius server automated test functionality is enabled"; + } + leaf keywrap { + type boolean; + description + "Indicates whether radius server key wrap functionality is enabled"; + } + leaf idle-time { + type uint32; + units "minutes"; + description + "Identity Services Engine Connection remain up though its idle till idle time expires"; + } + leaf dead-time { + type uint32; + units "seconds"; + description + "Ignore an unresponsive server till dead time expires"; + } + } + + grouping cts-radius-servers { + description + "List of Radius servers"; + list radius-server { + description + "Radius server detailed information"; + uses trustsec-ios-xe-oper:cts-radius-server; + } + } + + grouping cts-policy-server { + description + "Policy server detailed information"; + leaf server-name { + type string; + description + "Policy server name received from Identity Services Engine"; + } + leaf domain-name { + type string; + description + "Policy server FQDN domain name received from Identity Services Engine"; + } + leaf port-num { + type uint16; + description + "Port number of policy server"; + } + leaf-list ipv4-address { + type inet:ipv4-address; + ordered-by user; + description + "List of IPv4 addresses received from Identity Services Engine for this server"; + } + leaf-list ipv6-address { + type inet:ipv6-address; + ordered-by user; + description + "List of IPv6 addresses received from Identity Services Engine for this server"; + } + } + + grouping cts-http-servers { + description + "List of policy servers"; + list policy-server { + description + "Policy server detailed information"; + uses trustsec-ios-xe-oper:cts-policy-server; + } + } + + grouping cts-env-data { + description + "Cisco TrustSec environment data received from Identity Services Engine(ISE)"; + leaf status { + type trustsec-ios-xe-oper:cts-env-data-status-s; + description + "Environment data download status"; + } + leaf device-sgt { + type uint16; + description + "Source Group Tag assigned to the device"; + } + leaf total-num-servers { + type uint8; + description + "Number of policy servers information received from Identity Services Engine (ISE)"; + } + leaf life-time { + type uint32; + units "seconds"; + description + "Duration of time the environment data is valid. Measured in seconds since the last environment data update"; + } + leaf last-updated-time { + type yang:date-and-time; + description + "Time of the last successful receipt of environment data from Identity Services Engine"; + } + leaf next-refresh-time { + type yang:date-and-time; + description + "Time of the next environment data refresh"; + } + choice transport-type-choice { + description + "Transport protocol used for Identity Services Engine communication either Radius or HTTPS"; + case cts-radius-server { + container radius-servers { + description + "List of Radius servers received from Identity Services Engine"; + uses trustsec-ios-xe-oper:cts-radius-servers; + } + } + case cts-policy-server { + container policy-servers { + description + "List of policy servers received from Identity Services Engine"; + uses trustsec-ios-xe-oper:cts-http-servers; + } + } + } + } + + container trustsec-state { + config false; + description + "This is top level container for Cisco Trusted Security + solution operational data. + It can have Security Group Tag binding information for + the given IP-Address, Role based permissions between a + Source Security Group Tag and a Destination Security + Group, SXP Connection information for a given peer + IP-Address in this device"; + container cts-rolebased-sgtmaps { + description + "Security Group Tag value corresponding to an IP-Address + in the given VRF instance in this device"; + list cts-rolebased-sgtmap { + key "ip vrf-name"; + description + "Security Group Tag is assigned for an IP-Address + based on the user permissions and authorization + level as configured by the network administrator + in Identity Service Engine server or in the device locally"; + uses trustsec-ios-xe-oper:cts-ip-sgt-map-key; + uses trustsec-ios-xe-oper:cts-ip-sgt-map; + } + } + container cts-rolebased-policies { + description + "Role based permissions between a Source Security Group + and a Destination Security Group are configured by the + administrator in the Identity Services Engine or in the Device"; + list cts-rolebased-policy { + key "src-sgt dst-sgt"; + description + "Role based permissions between a Source Security Group + and a Destination Security Group can be retrieved from + the device using a Security Group Tag and Destination + Group Tag value"; + uses trustsec-ios-xe-oper:cts-role-based-policy-key; + uses trustsec-ios-xe-oper:cts-role-based-policy; + } + } + list cts-rolebased-ipv6-policy { + key "src-sgt dst-sgt"; + description + "Role based permissions ifor ipv6 between a Source Security Group + and a Destination Security Group can be retrieved from + the device using a Security Group Tag and Destination + Group Tag value"; + uses trustsec-ios-xe-oper:cts-role-based-policy-key; + uses trustsec-ios-xe-oper:cts-role-based-policy; + } + container cts-sxp-connections { + description + "Trustsec SXP connection is used between Cisco devices + to propagate Security Group Tags from one device to + another device. One of the device will be in Speaker + mode or Listener mode or both the devices can be in + both the connection modes"; + list cts-sxp-connection { + key "peer-ip vrf-name"; + description + "Trustsec SXP connection information from a device + can be retrieved with the SXP connection peer IP + address. Only IPv4 address as Peer IP and default + VRF instance in device is supported currently"; + uses trustsec-ios-xe-oper:cts-sxp-con-key; + uses trustsec-ios-xe-oper:cts-sxp-con; + } + } + list cts-manual-con { + key "if-name"; + description + "A TrustSec link between two devices can be configured + manually to propagate the Scalable Group Tag (SGT) inline. + MACSec can also be enabled on the link using SAP and a static SGT + assignment is also possible to classify the incoming traffic. The + link can be either configured as trusted or untrusted. There is no + authentication in this mode. The status of CTS manual connection + between two devices can be retrieved with the interface name."; + uses trustsec-ios-xe-oper:cts-manual-record; + } + container cts-pac { + presence "cts-pac"; + description + "Cisco Trustsec PAC is a unique shared credential + used to mutually authenticate the client and server. It is associated + with a specific IID and AID"; + uses trustsec-ios-xe-oper:cts-pac-record; + } + container cts-env-data { + presence "cts-env-data"; + description + "A TrustSec environment data is used for Trustsec + functionality. A security group information table that maps + SGTs to security group names, server list and device sgt is + downloaded from the Identity Services Engine with the + environment data."; + uses trustsec-ios-xe-oper:cts-env-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-oper.yang new file mode 100644 index 000000000..1bba6584f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-oper.yang @@ -0,0 +1,397 @@ +module Cisco-IOS-XE-tunnel-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tunnel-oper"; + prefix ios-tunnel-oper; + + import Cisco-IOS-XE-event-history-types { + prefix event-history-types; + } + import Cisco-IOS-XE-tunnel-types { + prefix tunnel-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Tunnel domains and interfaces. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-07-01 { + description + "Deprecated EoGRE specific content. It is now moved to Cisco-IOS-XE-eogre-tunnel-oper namespace"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-tunnel-domain { + description + "Tunnel domain"; + container cfg { + description + "Domain Configuration"; + uses tunnel-types:tunnel-domain-common; + } + leaf active-tunnel-name { + type string; + description + "Active tunnel name"; + } + container history { + description + "Event history"; + uses event-history-types:event-history; + } + } + + grouping tunnel-intf-key { + description + "Interface key pair"; + leaf name { + type string; + description + "Interface key name"; + } + leaf type { + type tunnel-types:tunnel-domain-mode; + description + "Interface key type"; + } + } + + grouping st-tunnel-interface { + description + "List of tunnel interfaces"; + leaf gateway-address { + type inet:ip-address; + description + "Gateway IP address"; + } + leaf admin-status { + type tunnel-types:tunnel-intf-status; + description + "Administrative status"; + } + leaf status { + type tunnel-types:tunnel-intf-status; + description + "Tunnel operational status"; + } + leaf up-timestamp { + type yang:date-and-time; + description + "Last time this gateway went up"; + } + leaf mtu { + type uint32; + description + "Maximum transmission unit"; + } + container stats { + description + "Tunnel Statistics"; + uses tunnel-types:tunnel-stats; + } + leaf source-interface { + type string; + description + "Source Interface"; + } + leaf source-address { + type inet:ip-address; + description + "Source IP Address"; + } + container history { + description + "Event history for this gateway"; + uses event-history-types:event-history; + } + leaf intf-type { + type tunnel-types:tunnel-intf-mode; + description + "Tunnel interface type"; + } + } + + grouping tunnel-intf-stats { + description + "Tunnel interface statistics"; + leaf in-octets { + type uint64; + description + "The total number of octets received on the interface, + including framing characters."; + } + leaf in-unicast-pkts { + type uint64; + description + "The total number of unicast packets received on the + interface."; + } + leaf in-broadcast-pkts { + type uint64; + description + "The total number of broadcast packets received on the + interface."; + } + leaf in-multicast-pkts { + type uint64; + description + "The total number of multicast packets received on the + interface."; + } + leaf in-discards { + type uint64; + description + "The number of inbound packets that were chosen to be + discarded even though no errors."; + } + leaf in-errors { + type uint64; + description + "The number of inbound packets that contained errors + preventing them from being deliverable to a higher-layer + protocol."; + } + leaf out-octets { + type uint64; + description + "The total number of octets transmitted out of the + interface."; + } + leaf out-unicast-pkts { + type uint64; + description + "The total number of unicast packets that higher-level + protocols requested be transmitted."; + } + leaf out-broadcast-pkts { + type uint64; + description + "The total number of broadcast packets that higher-level + protocols requested be transmitted."; + } + leaf out-multicast-pkts { + type uint64; + description + "The total number of broadcast packets that higher-level + protocols requested be transmitted."; + } + leaf out-discards { + type uint64; + description + "The number of outbound packets that were chosen to be + discarded even though no errors had been detected to + prevent their being transmitted."; + } + leaf out-errors { + type uint64; + description + "The number of outbound packets that could not be + transmitted because of errors."; + } + leaf rx-pps { + type uint64; + description + "The receive packet per second rate on this interface"; + } + leaf rx-kbps { + type uint64; + description + "The receive kilobits per second rate on this interface"; + } + leaf tx-pps { + type uint64; + description + "The transmit packet per second rate on this interface"; + } + leaf tx-kbps { + type uint64; + description + "The transmit kilobits per second rate on this interface"; + } + } + + grouping tunnel-common-interface { + description + "List of tunnel common interfaces"; + leaf name { + type string; + description + "The name of the Tunnel interface."; + } + leaf mode { + type tunnel-types:tunnel-intf-mode; + description + "The mode of the Tunnel interface."; + } + leaf intf-ipv4 { + type inet:ipv4-address; + description + "IPv4 address configured on interface."; + } + leaf-list intf-ipv6 { + type inet:ipv6-address; + ordered-by user; + description + "A list of the IPv6 addresses associated with the interface. + This contains all the IPv6 addresses, including the link local + addresses, assigned to the interface"; + } + leaf intf-vrf { + type string; + description + "VRF to which this interface belongs to. If the + interface is not in a VRF then it is 'Global'."; + } + leaf transport-vrf { + type string; + description + "Transport VRF. If this + is not mentioned, then it is 'Global'"; + } + leaf admin-status { + type tunnel-types:tunnel-intf-status; + description + "Administrative status"; + } + leaf status { + type tunnel-types:tunnel-intf-status; + description + "Tunnel interface operational status"; + } + leaf src-if { + type string; + description + "Source Interface"; + } + leaf src-addr { + type inet:ip-address; + description + "Tunnel Source IP Address"; + } + leaf dst-addr { + type inet:ip-address; + description + "Tunnel Destination IP Address"; + } + leaf src-port { + type uint16; + description + "Tunnel Source Port"; + } + leaf dst-port { + type uint16; + description + "Tunnel Destination Port"; + } + leaf tunnel-key { + type uint32; + description + "Tunnel security or selector key"; + } + leaf mtu { + type uint32; + description + "Maximum transmission unit"; + } + leaf ip-mtu { + type uint32; + description + "IP Maximum transmission unit"; + } + leaf transport-mtu { + type uint32; + description + "Tunnel transport maximum transmission unit"; + } + leaf tx-bandwidth { + type uint32; + units "kbps"; + description + "Tunnel transmit bandwidth"; + } + leaf rx-bandwidth { + type uint32; + units "kbps"; + description + "Tunnel receive bandwidth"; + } + container stats { + description + "Tunnel interface Statistics"; + uses ios-tunnel-oper:tunnel-intf-stats; + } + } + + container tunnel-oper-data { + config false; + description + "Top-level container for tunnel operational data"; + list tunnel-domain { + key "name type"; + status deprecated; + description + "List of tunnel domains, keyed by domain name and type"; + uses tunnel-types:tunnel-domain-index; + uses ios-tunnel-oper:st-tunnel-domain; + } + list tunnel-intf { + key "name type"; + status deprecated; + description + "List of tunnel interfaces"; + uses ios-tunnel-oper:tunnel-intf-key; + uses ios-tunnel-oper:st-tunnel-interface; + } + list tunnel-if { + key "name"; + description + "List of tunnel interfaces"; + uses ios-tunnel-oper:tunnel-common-interface; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-types.yang new file mode 100644 index 000000000..9538b213f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel-types.yang @@ -0,0 +1,489 @@ +module Cisco-IOS-XE-tunnel-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tunnel-types"; + prefix tunnel-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for tunnel types. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "IPSEC IPV4 Dual Overlay"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef tunnel-domain-mode { + type enumeration { + enum uninitialized-tunnel-domain-mode { + value 0; + description + "Uninitialized tunnel domain mode"; + } + enum tunnel-domain-mode-eogre { + value 1; + description + "GRE over point to point IPV4/IPV6 domain"; + } + enum tunnel-domain-mode-pmipv6 { + value 2; + description + "Proxy Mobile IPV6 domain"; + } + enum tunnel-domain-mode-gtpv2 { + value 3; + description + "GPRS Tunneling Protocol Version 2 domain"; + } + } + description + "Represents the tunnel domain mode"; + } + + typedef tunnel-intf-mode { + type enumeration { + enum uninitialized-tunnel-mode { + value 0; + description + "Uninitialized tunnel mode"; + } + enum tunnel-mode-gre-ip { + value 1; + description + "GRE over point to point IPV4 tunnel mode"; + } + enum tunnel-mode-mgre-ip { + value 2; + description + "GRE over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-mgre-ipv6 { + value 3; + description + "GRE over multipoint IPv6 tunnel mode"; + } + enum tunnel-mode-nos-ip { + value 4; + description + "NOS over IPv4 tunnel mode"; + } + enum tunnel-mode-ip-ip { + value 5; + description + "IP over point to point IPv4 tunnel mode"; + } + enum tunnel-mode-dvmrp-ip { + value 6; + description + "DVMRP over IPv4 tunnel mode"; + } + enum tunnel-mode-eon-ip { + value 7; + description + "EON over IPv4 tunnel mode"; + } + enum tunnel-mode-cayman-udp { + value 8; + description + "CAYMAN over UDP over IPv4 tunnel mode"; + } + enum tunnel-mode-aurp-udp { + value 9; + description + "AURP over UDP over IPv4 tunnel mode"; + } + enum tunnel-mode-iptalk-udp { + value 10; + description + "IPTALK over UDP over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-tagswitching { + value 11; + description + "mpls transport tunnel mode"; + } + enum tunnel-mode-ip-ip-dcap-any { + value 12; + description + "IPv4 over point to point IPv4 tunnel mode (receive only)"; + } + enum tunnel-mode-gre-ipmcast { + value 13; + description + "GRE over IPv4 multicast tunnel mode (deprecated)"; + } + enum tunnel-mode-cdma { + value 14; + description + "GRE over IPV4 tunnel mode used by the CDMA client"; + } + enum tunnel-mode-ipv6-ip { + value 15; + description + "IPv6 over point to point IPv4 tunnel mode"; + } + enum tunnel-mode-ipv6-auto-tunnel { + value 16; + description + "IPv6 over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-ipv6-6to4 { + value 17; + description + "IPv6 over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-ipv6-6rd { + value 18; + description + "IPv6 over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-ipv6-isatap { + value 19; + description + "IPv6 over multipoint IPv4 tunnel mode"; + } + enum tunnel-mode-ipv6 { + value 20; + description + "IPv6 over point to point IPv6 tunnel mode"; + } + enum tunnel-mode-gre-ipv6 { + value 21; + description + "GRE over point to point IPv6 tunnel mode"; + } + enum tunnel-mode-pim-embd-enc-ipv6 { + value 22; + description + "PIM register encapsulation over multipoint IPv6 tunnel mode"; + } + enum tunnel-mode-pim-enc-ipv6 { + value 23; + description + "PIM register encapsulation over point to point IPv6 tunnel mode"; + } + enum tunnnel-mode-pim-dec-ipv6 { + value 24; + description + "PIM register decapsulation over point to point IPv6 tunnel mode"; + } + enum tunnel-mode-pim-enc-ipv4 { + value 25; + description + "PIM register encapsulation over point to point IPv4 tunnel mode"; + } + enum tunnel-mode-pim-dec-ipv4 { + value 26; + description + "PIM register decapsulation over point to point IPv4 tunnel mode"; + } + enum tunnel-mode-rbscp-ip { + value 27; + description + "RBSCP over point to point IPv4 tunnel mode"; + } + enum tunnel-mode-mip-udp { + value 28; + description + "UDP over point to point IPV4 tunnel mode used by ip mobile client"; + } + enum tunnel-mode-ipsec-ip { + value 29; + description + "Encapsulating Security Protocol (ESP) over point 2 point IPv4 used by the ipsec client"; + } + enum tunnel-mode-ipsec-ipv6 { + value 30; + description + "Encapsulating Security Protocol (ESP) over point 2 point IPv6 used by the ipsec client"; + } + enum tunnel-mode-gtp-ipv4 { + value 31; + description + "GPRS Tunnelling Protocol (GTP) IPV4 used by the GTP module"; + } + enum tunnel-mode-ether-gre-ipv4 { + value 32; + description + "Ethernet Over GRE IPV4"; + } + enum tunnel-mode-ether-gre-ipv6 { + value 33; + description + "Ethernet Over GRE IPV6"; + } + enum tunnel-mode-udp-ip { + value 34; + description + "UDP Over IPV4"; + } + enum tunnel-mode-udp-ipv6 { + value 35; + description + "UDP Over IPV6"; + } + enum tunnel-mode-mudp-ip { + value 36; + description + "UDP Over multipoint IPV4"; + } + enum tunnel-mode-mudp-ipv6 { + value 37; + description + "UDP Over multipoint IPV6"; + } + enum tunnel-mode-vxlan-gpe-ip { + value 38; + description + "VXLAN_GPE Over IPV4"; + } + enum tunnel-mode-mvxlan-gpe-ip { + value 39; + description + "MVXLAN-GPE Over IPV4"; + } + enum tunnel-mode-vxlan-gpe-ipv6 { + value 40; + description + "VXLAN_GPE Over IPV6"; + } + enum tunnel-mode-mvxlan-gpe-ipv6 { + value 41; + description + "MVXLAN-GPE Over IPV6"; + } + enum tunnel-mode-vxlan-mac-ip { + value 42; + description + "VXLAN_Over IPV4"; + } + enum tunnel-mode-vxlan-mac-ipv6 { + value 43; + description + "VXLAN_Over IPV6"; + } + enum tunnel-mode-ether-l2tpv3-ipv6 { + value 44; + description + "L2TPv3 over point to point IPv6 tunnel mode"; + } + enum tunnel-mode-sdwan { + value 45; + description + "SDWAN Overlay tunnel mode"; + } + enum tunnel-mode-mvxlan-mac-ip { + value 46; + description + "VXLAN Over IPV4 tunnel mode"; + } + enum tunnel-mode-mvxlan-mac-ipv6 { + value 47; + description + "VXLAN Over IPV6 tunnel mode"; + } + enum tunnel-mode-p2p-ethernet-gre-ip { + value 48; + description + "Ethernet Over GRE IPV4 tunnel mode"; + } + enum tunnel-mode-p2p-ethernet-gre-ipv6 { + value 49; + description + "Ethernet Over GRE IPV6 tunnel mode"; + } + enum tunnel-mode-ipsec-ipv4-dualoverlay { + value 50; + description + "IPSEC IPV4 Dual Overlay"; + } + } + description + "Represents the tunnel interface mode"; + } + + typedef tunnel-redundancy-model { + type enumeration { + enum tunnel-nonrevertive-redundancy { + value 0; + description + "Nonrevertive redundancy"; + } + enum tunnel-revertive-redundancy { + value 1; + description + "Revertive redundancy"; + } + } + description + "Represents the tunnel redundancy models"; + } + + typedef tunnel-intf-status { + type enumeration { + enum tunnel-down { + value 0; + description + "Tunnel not operative"; + } + enum tunnel-up { + value 1; + description + "Tunnel operative"; + } + } + description + "Represents the tunnel status"; + } + + grouping tunnel-domain-index { + description + "Tunnel domain database entry key"; + leaf name { + type string; + description + "Domain Name"; + } + leaf type { + type tunnel-types:tunnel-domain-mode; + description + "Tunnel Type"; + } + } + + grouping tunnel-stats { + description + "Tunnel Statistics"; + leaf flap-count { + type uint32; + description + "Tunnel flap (up/down) count"; + } + leaf total-rx-bytes { + type uint64; + description + "Total received bytes"; + } + leaf total-tx-bytes { + type uint64; + description + "Total transmitted bytes"; + } + leaf total-rx-pkts { + type uint64; + description + "Total received packets"; + } + leaf total-tx-pkts { + type uint64; + description + "Total transmitted packets"; + } + leaf client-count { + type uint32; + description + "Number of clients in this tunnel"; + } + leaf up-time { + type uint32; + description + "How long this tunnel has been up"; + } + leaf keepalive-tx { + type uint64; + description + "Number of transmitted keepalives in last window"; + } + leaf keepalive-rx { + type uint64; + description + "Number of received keepalives in last window"; + } + leaf keepalive-windows { + type uint32; + description + "Keepalive windows"; + } + leaf keepalive-dropped { + type uint32; + description + "Number of dropped keepalives in last window"; + } + leaf total-keepalive-tx { + type uint64; + description + "Number of transmitted keepalives"; + } + leaf total-keepalive-rx { + type uint64; + description + "Number of received keepalives"; + } + } + + grouping tunnel-domain-common { + description + "Tunnel domain common data"; + leaf primary-tunnel-name { + type string; + description + "Primary tunnel"; + } + leaf secondary-tunnel-name { + type string; + description + "Secondary tunnel"; + } + leaf redundancy-model { + type tunnel-types:tunnel-redundancy-model; + description + "Redundancy model"; + } + leaf enable { + type boolean; + description + "Whether it is enabled"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel.yang new file mode 100644 index 000000000..1727245a3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-tunnel.yang @@ -0,0 +1,1361 @@ +module Cisco-IOS-XE-tunnel { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-tunnel"; + prefix ios-tun; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-mpls { + prefix ios-mpls; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Tunnel Interfaces Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added dependency as per IOS behaviour in service-policy + - Moved tailf alternative name to annotation file for tunnel mode ipsec and sub options"; + cisco-semver:module-version "3.0.1"; + } + revision 2024-03-01 { + description + "- Change nodes deprecated in 17.6 or before to obsolete + - Updated ipsec container to fix tunnel mode ipsec command + - Updated tunnel metadata to support Security Group Tag (SGT)"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-03-01 { + description + "- added dual-overlay support for tunnel mode"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-11-01 { + description + "- Added tunnel metadata command + - Ipsec v4 and v6 overlay support"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "- Initial revision for 17.4.1"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added host option for tunnel destination"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "- Added route-via config"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Tunnel VRF model condition added + - Enabled default values for tunnel parameters + - Corrected various issues with the tunnel mode + - Added Tunnel submode l2tpv3 under ethernet mode"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-09 { + description + "added support for EoGRE P2P interfaces"; + } + revision 2018-08-12 { + description + "added must constraint on tunnel source on interface Dialer"; + } + revision 2018-03-06 { + description + "validate ip unnumbered and tunnel source are the same for tunnel mode sdwan"; + } + revision 2017-08-28 { + description + "Extend modeling for multicast"; + } + revision 2017-07-11 { + description + "add tailf dependency extension to order tunnel mode before tunnel key"; + } + revision 2017-04-28 { + description + "inet:ipv6-prefix changed to ios-types:ipv6-prefix"; + } + revision 2017-02-23 { + description + "This revision adds support for MPLS-TE tunnel interface mode"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping tunnel-mode-ip-ipv6-opt-grouping { + choice tunmode-choice { + leaf ip { + description + "over IP"; + type empty; + } + leaf ipv6 { + description + "over IPv6"; + type empty; + } + container multipoint { + description + "mode Multipoint"; + presence "true"; + leaf ipv6 { + description + "over IPv6 (multipoint)"; + type empty; + } + } + } + } + + grouping config-interface-tunnel-grouping { + container nhrp { + description + "NHRP Interface commands"; + container event-publisher { + description + "Enable NHRP smart spoke feature"; + leaf max-event-timeout { + description + "Number of seconds"; + type uint8 { + range "1..22"; + } + } + } + leaf group { + description + "group name string"; + type string; + } + container map { + description + "Map group name to QoS service policy"; + container group { + description + "NHRP group mapping"; + list nhrp-name { + key "nhrp-name"; + leaf nhrp-name { + description + "NHRP group name"; + type string; + } + container service-policy { + description + "QoS service-policy"; + leaf output { + description + "QoS policy-map name"; + type string; + } + } + } + } + } + leaf route-watch { + description + "Enable NHRP route watch"; + type boolean; + } + } + container tunnel { + description + "protocol-over-protocol tunneling"; + container tun-6rd { + when '../ios-tun:mode/ios-tun:ipv6ip-config/ios-tun:auto-6rd'; + description + "set tunnel 6rd parameters"; + leaf br { + description + "Border Relay parameters"; + type inet:ipv4-address; + } + container ipv4 { + description + "Common IPv4 transport source parameters"; + leaf prefix-len { + description + "Common IPv4 transport source prefix length"; + type uint8 { + range "0..31"; + } + } + leaf suffix-len { + description + "Common IPv4 transport source suffix length"; + type uint8 { + range "0..31"; + } + } + } + leaf prefix { + description + "Provider selected common IPv6 prefix"; + type ios-types:ipv6-prefix; + } + leaf reverse-map-check-config { + description + "Enable source IP address and port verification"; + type boolean; + default "true"; + } + leaf reverse-map-check { + description + "Enable source IP address and port verification (OBSOLETE) + Please use reverse-map-check-config node"; + status obsolete; + type empty; + } + } + leaf src-mac-address { + description + "Mac address"; + when '../ios-tun:mode/ios-tun:ethernet-config'; + type ios-types:cisco-mac-address-type; + } + container bandwidth { + description + "Set tunnel bandwidth informational parameter"; + leaf receive { + description + "Receive bandwidth"; + type uint32 { + range "1..10000000"; + } + default "8000"; + } + leaf transmit { + description + "Transmit bandwidth"; + type uint32 { + range "1..10000000"; + } + default "8000"; + } + } + leaf checksum { + description + "enable end to end checksumming of packets"; + type empty; + } + leaf source { + description + "source of tunnel packets"; + must "starts-with(., 'Dialer') and (number(substring-after(., 'Dialer')) = /ios:native/ios:interface/ios:Dialer/ios:name) or not (starts-with(., 'Dialer'))" { + error-message "To use a Dialer interface, the Dialer interface has to be configured 1st, vice versa for delete"; + } + type string; + } + container destination-config { + description + "destination of tunnel"; + choice dest-choice { + leaf ipv4 { + description + "ip address or host name"; + must "not (../../ios-tun:mode/ios-tun:gre-config/ios-tun:multipoint) + and not (../../ios-tun:mode/ios-tun:ipv6ip-config/ios-tun:auto-6rd) + and not (../../ios-tun:mode/ios-tun:ipv6ip-config/ios-tun:auto-6to4) + and not (../../ios-tun:mode/ios-tun:ipv6ip-config/ios-tun:auto-isatap)" { + error-message "tunnel destination and this mode cannot be configured together."; + } + type inet:ipv4-address; + } + leaf ipv6 { + description + "IPv6 address"; + type inet:ipv6-address; + } + leaf dynamic { + description + "destination dynamic"; + type empty; + } + leaf host { + description + "host name"; + type string; + } + } + } + container destination { + description + "destination of tunnel (OBSOLETE) + Please use destination-config node"; + status obsolete; + leaf ipaddress-or-host { + status obsolete; + type inet:host; + } + container list { + description + "List of Tunnel destinations (OBSOLETE)"; + status obsolete; + container mpls { + description + "MPLS destination list (OBSOLETE)"; + status obsolete; + container traffic-eng { + description + "MPLS Traffic Engineering destination list (OBSOLETE)"; + status obsolete; + leaf name { + description + "Specify a destination list by name (OBSOLETE)"; + status obsolete; + type string; + } + } + } + } + } + container dst-port { + description + "tunnel destination port"; + when '../ios-tun:mode/ios-tun:udp-config'; + choice dst-port-choice { + case port-num-case { + leaf port-num { + type uint16 { + range "0..65535"; + } + } + } + case dynamic-case { + leaf dynamic { + description + "Set Destination Port Dynamically"; + type empty; + } + } + } + } + container endpoint { + description + "Set endpoint parameter"; + container service-policy { + description + "Set service-policy"; + leaf output { + description + "apply QoS service policy in the output direction"; + must '(/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name = current()])' { + error-message "Warning: This control policy-map does not exist"; + } + type string; + } + } + } + leaf entropy { + description + "Compute hash (entropy) on payload and propagate to tunnel header"; + must "((../ios-tun:mode/ios-tun:gre-config) + or (../ios-tun:mode/ios-tun:ethernet-config/ios-tun:gre/ios-tun:ipv4) + or (../ios-tun:mode/ios-tun:ethernet-config/ios-tun:gre/ios-tun:ipv6))" { + error-message "Tunnel entropy and this tunnel mode are not allowed."; + } + type empty; + } + container fixup { + description + "fixup on tunnel interface"; + leaf nat { + description + "enable post nat fixup "; + type empty; + } + } + container flow { + description + "flow options"; + leaf egress-records { + description + "enable egress flow records "; + type empty; + } + } + leaf key { + description + "security or selector key"; + type uint64 { + range "0..4294967295"; + } + } + container mode { + description + "tunnel encapsulation method"; + choice mode-choice { + leaf aurp { + description + "AURP TunnelTalk AppleTalk encapsulation"; + type empty; + } + leaf cayman { + description + "Cayman TunnelTalk AppleTalk encapsulation"; + type empty; + } + leaf dvmrp { + description + "DVMRP multicast tunnel"; + type empty; + } + leaf eon { + description + "EON compatible CLNS tunnel"; + type empty; + } + leaf iptalk { + description + "Apple IPTalk encapsulation"; + type empty; + } + leaf nos { + description + "IP over IP encapsulation (KA9Q/NOS compatible)"; + type empty; + } + leaf rbscp { + description + "RBSCP in IP tunnel"; + type empty; + } + leaf tag-switching { + description + "IP over Tag Switching encapsulation"; + type empty; + } + container ipsec { + description + "IPSec tunnel encapsulation"; + choice ipsec-mode { + case ipv4-mode-case { + container ipv4-mode { + description + "over IPv4"; + presence "true"; + leaf v6-overlay { + type empty; + } + } + } + case ipv6-mode-case { + container ipv6-mode { + description + "over IPv6"; + presence "true"; + leaf v4-overlay { + type empty; + } + } + } + case dual-overlay-mode-case { + leaf dual-overlay-mode { + description + "over dual-overlay"; + type empty; + } + } + } + container ipv4 { + status deprecated; + description + "over IPv4"; + presence "true"; + leaf v6-overlay { + type empty; + } + } + container ipv6 { + status deprecated; + description + "over IPv6"; + presence "true"; + leaf v4-overlay { + type empty; + } + } + leaf dual-overlay { + status deprecated; + description + "over dual-overlay"; + type empty; + } + } + container mpls { + description + "MPLS encapsulations"; + container traffic-eng { + description + "Traffic engineering tunnels"; + presence "true"; + leaf multilsp { + description + "Multiple LSP mode"; + type empty; + } + leaf point-to-multipoint { + description + "point-to-multipoint tunnel mode"; + type empty; + } + } + } + container ethernet-config { + description + "Ethernet over gre"; + choice eth-mode-choice { + container gre { + description + "Ethernet over GRE"; + choice address-family-choice { + container ipv4 { + description + "over ipv4"; + presence "true"; + leaf p2p { + description + "point-to-point over ipv4"; + type empty; + } + } + container ipv6 { + description + "over ipv6"; + presence "true"; + leaf p2p { + description + "point-to-point over ipv6"; + type empty; + } + } + } + } + container l2tpv3 { + description + "Use L2TPv3 encapsulation"; + leaf manual { + description + "Manually configure L2TP parameters"; + type empty; + } + } + } + } + container ethernet { + description + "Ethernet over gre (OBSOLETE) + Please use ethernet-config node"; + status obsolete; + container gre { + description + "Ethernet over gre (OBSOLETE) + Please use gre node under ethernet-config node"; + status obsolete; + container ipv4 { + description + "Ethernet over GRE ipv4 (OBSOLETE) + Please use ipv4 node under /ethernet-config/gre node"; + status obsolete; + presence "true"; + leaf p2p { + must 'count(/ios:native/ios:interface/ios:Tunnel/tunnel/mode/ethernet/gre/ipv4/p2p) + count (/ios:native/ios:interface/ios:Tunnel/tunnel/mode/ethernet/gre/ipv6/p2p) <= 10' { + error-message "Too many EoGRE P2P interfaces"; + } + description + "point-to-point over ipv4 (OBSOLETE) + Please use p2p node under /ethernet-config/gre/ipv4 node"; + status obsolete; + type empty; + } + } + container ipv6 { + description + "Ethernet over GRE ipv6 (OBSOLETE) + Please use ipv6 node under /ethernet-config/gre node"; + presence "true"; + status obsolete; + leaf p2p { + must 'count(/ios:native/ios:interface/ios:Tunnel/tunnel/mode/ethernet/gre/ipv4/p2p) + count (/ios:native/ios:interface/ios:Tunnel/tunnel/mode/ethernet/gre/ipv6/p2p) <= 10' { + error-message "Too many EoGRE P2P interfaces"; + } + description + "point-to-point over ipv6 (OBSOLETE) + Please use p2p node under /ethernet-config/gre/ipv6 node"; + status obsolete; + type empty; + } + } + } + } + container ipip { + description + "IP over IP encapsulation"; + presence "true"; + leaf decapsulate-any { + description + "Incoming traffic only"; + type empty; + } + } + leaf ipv6 { + description + "Generic packet tunneling in IPv6"; + type empty; + } + container ipv6ip-config { + description + "IPv6 over IP encapsulation"; + presence "true"; + choice ipv6ip-choice { + leaf auto-6rd { + description + "IPv6 automatic tunnelling using 6rd"; + type empty; + } + leaf auto-6to4 { + description + "IPv6 automatic tunnelling using 6to4"; + type empty; + } + leaf auto-isatap { + description + "IPv6 automatic tunnelling using ISATAP"; + type empty; + } + } + } + container ipv6ip { + description + "IPv6 over IP encapsulation (OBSOLETE) + Please use ipv6ip-config node"; + status obsolete; + presence "true"; + leaf auto-6rd { + description + "IPv6 automatic tunnelling using 6rd"; + type empty; + } + leaf auto-6to4 { + description + "IPv6 automatic tunnelling using 6to4"; + type empty; + } + leaf isatap { + description + "IPv6 automatic tunnelling using ISATAP"; + type empty; + } + } + container gre-config { + description + "generic route encapsulation protocol"; + choice tunmode-choice { + leaf ip { + description + "over IP"; + type boolean; + default "true"; + } + leaf ipv6 { + description + "over IPv6"; + type empty; + } + container multipoint { + description + "mode Multipoint"; + presence "true"; + leaf ipv6 { + description + "over IPv6 (multipoint)"; + type empty; + } + } + } + } + container gre { + description + "generic route encapsulation protocol (OBSOLETE) + Please use gre-config node"; + status obsolete; + leaf ip { + description + "over IP"; + type empty; + } + leaf ipv6 { + description + "over IPv6"; + type empty; + } + container multipoint { + description + "over IPv4 (multipoint)"; + presence "true"; + leaf ipv6 { + description + "over IPv6"; + type empty; + } + } + } + container udp-config { + description + "UDP encapsulation protocol"; + uses tunnel-mode-ip-ipv6-opt-grouping; + } + leaf udp { + description + "UDP encapsulation protocol (OBSOLETE) + Please use udp-config node"; + status obsolete; + type enumeration { + enum ip; + enum multipoint; + } + } + container vxlan { + description + "VXLAN encapsulation"; + choice tunmode-choice { + container ipv4 { + description + "over ip"; + choice tun-ip-vxlan-choice { + leaf default-mac { + description + "default mac"; + type empty; + } + container src-mac { + description + "Source Mac address"; + leaf source-mac { + description + "Source Mac address"; + type ios-types:cisco-mac-address-type; + } + leaf dst-mac { + description + "Destination Mac address"; + must '../ios-tun:source-mac' { + error-message "Delete src-mac and dest-mac together"; + } + type ios-types:cisco-mac-address-type; + } + } + } + } + container ipv6 { + description + "over IPv6"; + choice tun-ip-vxlan-choice { + leaf default-mac { + description + "default mac"; + type empty; + } + container src-mac { + description + "Source Mac address"; + leaf source-mac { + description + "Source Mac address"; + type ios-types:cisco-mac-address-type; + } + leaf dst-mac { + description + "Destination Mac address"; + type ios-types:cisco-mac-address-type; + } + } + } + } + container multipoint { + choice tunmode-mul-choice { + leaf ip { + description + "over IPv4 (multipoint)"; + type empty; + } + leaf ipv6 { + description + "over IPv6 (multipoint)"; + type empty; + } + } + } + } + } + container vxlan-gpe { + description + "VXLAN gpe encapsulation"; + choice tunmode-choice { + leaf ipv4 { + description + "over ip"; + type empty; + } + leaf ipv6 { + description + "over IPv6"; + type empty; + } + container multipoint { + choice tunmode-mul-choice { + leaf ip { + description + "over IPv4 (multipoint)"; + type empty; + } + leaf ipv6 { + description + "over IPv6 (multipoint)"; + type empty; + } + } + } + } + } + leaf sdwan { + if-feature "ios-features:sdwan"; + description + "SDWAN"; + must '../../source = /ios:native/ios:interface/ios:Tunnel/ios:ip/ios:unnumbered' { + error-message "ip unnumbered and tunnel source are not same for tunnel mode sdwan"; + } + type empty; + } + } + } + container network-id { + description + "Set network-id"; + leaf id { + description + "Set network-id"; + must '../ios-tun:nexthop' { + error-message "Delete network-id and nexthop together"; + } + type uint16 { + range "1..65535"; + } + } + leaf nexthop { + description + "nexthop"; + must '../ios-tun:id' { + error-message "Delete nexthop and network-id value together"; + } + type inet:ipv4-address; + } + leaf weight { + description + "weight"; + must '../ios-tun:nexthop' { + error-message "Delete weight with the network-id deletion"; + } + type uint16 { + range "1..65535"; + } + } + leaf qos { + description + "QoS profile"; + must '../ios-tun:nexthop' { + error-message "Delete QoS profile first with the network-id deletion"; + } + type string; + } + } + container path-mtu-discovery { + description + "Enable Path MTU Discovery on tunnel"; + presence "true"; + leaf age-timer { + description + "Set PMTUD aging timer"; + type union { + type uint8 { + range "10..30"; + } + type enumeration { + enum infinite; + } + } + } + leaf min-mtu { + description + "Min pmtud mtu allowed"; + type uint16 { + range "92..65535"; + } + } + } + container protection { + description + "Enable tunnel protection"; + } + leaf tsp-hop { + description + "Define a TSP hop"; + type empty; + } + container mpls { + uses ios-mpls:config-tunnel-mpls-grouping; + } + container raw-packet-interface-config { + description + "physical interface for all packets entering into be tunneled and for all packets entering the tunnel to exit"; + uses ios-ifc:interface-grouping; + } + leaf raw-packet-interface { + description + "physical interface for all packets entering into be tunneled and for all packets entering the tunnel to exit (OBSOLETE) + Please use raw-packet-interface-config node"; + status obsolete; + type string; + } + leaf rrr { + description + "RRR configuration"; + type string; + } + container rbscp { + description + "Set tunnel RBSCP parameters"; + leaf ack-split { + description + "ACK splitting"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint8 { + range "1..32"; + } + } + leaf delay { + description + "enable delay"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type empty; + } + leaf drop-scale { + description + "Drop scale"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint8 { + range "1..255"; + } + } + leaf fuzz { + description + "Fuzz factor"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint8 { + range "1..255"; + } + } + leaf init-tsn { + description + "Initial TSN"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint32 { + range "1..16777215"; + } + } + leaf input-drop { + description + "max tunnel queue size (number of bw*delay)"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint8 { + range "1..10"; + } + } + leaf long-drop { + description + "Drop non-transmitted packets w/excessive delay"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type empty; + } + leaf order { + description + "release packets in order"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type empty; + } + leaf report { + description + "enable SCTP report chunk"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type empty; + } + leaf scaling { + description + "ACK split scaling"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type empty; + } + leaf window-stuff { + description + "Window stuffing"; + must '../../ios-tun:mode/ios-tun:rbscp' { + error-message "Only valid in tunnel rbscp mode"; + } + type uint8 { + range "1..20"; + } + } + } + leaf snooping { + description + "Snooping on tunnel"; + when '../ios-tun:mode/ios-tun:ethernet-config'; + type enumeration { + enum enable; + } + } + container src-port { + description + "tunnel source port"; + when '../ios-tun:mode/ios-tun:udp-config'; + choice src-port-choice { + case port-num-case { + leaf port-num { + type uint16 { + range "0..65535"; + } + } + } + case dynamic-case { + leaf dynamic { + description + "Set Source Port Dynamically"; + type empty; + } + } + } + } + leaf tos { + description + "set type of service byte"; + type uint8 { + range "0..255"; + } + } + container metadata { + description + "metadata sharing options"; + leaf src_vpn { + description + "enable metadata sharing src-vpn"; + type empty; + } + leaf sgt { + description + "This leaf node acts as a toggle for enabling or disabling + metadata sharing for security group tags"; + type empty; + } + } + leaf ttl { + description + "set time to live"; + type uint8 { + range "1..255"; + } + default "255"; + } + container udlr-config { + description + "associate tunnel with unidirectional interface"; + leaf address-resolution { + description + "Enable ARP and NHRP over a UDLR Tunnel"; + must '(../ios-tun:send-only)' { + error-message "UDL Tunnel ARP is for transmit-only tunnel interfaces"; + } + type empty; + } + choice udlr-choice { + container receive-only { + description + "Tunnel is receive-only capable"; + uses ios-ifc:interface-grouping; + } + container send-only { + description + "Tunnel is send-only capable"; + uses ios-ifc:interface-grouping; + } + } + } + container udlr { + description + "associate tunnel with unidirectional interface (OBSOLETE) + Please use udlr-config node"; + status obsolete; + leaf address-resolution { + description + "Enable ARP and NHRP over a UDLR Tunnel"; + type empty; + } + leaf receive-only { + description + "Tunnel is receive-only capable"; + type string; + } + leaf send-only { + description + "Tunnel is send-only capable"; + type string; + } + } + container vxlan { + description + "Tunnel vxlan network"; + when '../ios-tun:mode/ios-tun:vxlan'; + leaf vni { + description + "Tunnel vxlan network identifier"; + type uint32 { + range "1..16777215"; + } + } + container src-port-range { + description + "Tunnel vxlan source port range"; + leaf source-port-range { + description + "Tunnel vxlan source port number start"; + type uint16 { + range "1..65535"; + } + } + leaf source-port-end { + description + "Tunnel vxlan source port number end"; + type uint16 { + range "1..65535"; + } + } + } + } + container vlan { + description + "Set vlan-id for ethernet over gre mode"; + when '../ios-tun:mode/ios-tun:ethernet-config'; + leaf id1 { + type uint16 { + range "1..4094"; + } + } + leaf hyphen { + type empty; + } + leaf id2 { + type uint16 { + range "1..4094"; + } + } + } + container vrf-config { + description + "set tunnel vrf membership"; + leaf multiplexing { + description + "multiple vrf's multiplexing"; + type empty; + must 'not (../vrf-common/vrf)' { + error-message "common vrf configured already. Remove it and then try again"; + } + must 'not (../vrf-egress/vrf) and not (../vrf-ingress/vrf)' { + error-message "egress-only ingress-only vrf configured already. Remove it and then try again"; + } + } + container vrf-common { + description + "vrf common config"; + leaf vrf { + type string; + must "/ios:native/ios:vrf/ios:definition[ios:name=current()] + or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF is not configured"; + } + must 'not (../../vrf-egress/vrf) and not (../../vrf-ingress/vrf)' { + error-message "egress-only ingress-only vrf configured already. Remove it and then try again"; + } + must 'not (../../multiplexing)' { + error-message "vrf multiplexing configured already. Remove it and then try again"; + } + } + } + container vrf-egress { + description + "egress-only"; + leaf vrf { + type string; + must 'not (../../vrf-common/vrf) and not (../../vrf-ingress/vrf=current())' { + error-message "ingress-only and egress-only vrf should not be same"; + } + must 'not (../../multiplexing)' { + error-message "vrf multiplexing configured already. Remove it and then try again"; + } + must "/ios:native/ios:vrf/ios:definition[ios:name=current()] + or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF is not configured"; + } + } + leaf egress-only { + type empty; + } + } + container vrf-ingress { + description + "ingress-only"; + leaf vrf { + type string; + must 'not (../../vrf-common/vrf) and not (../../vrf-egress/vrf=current())' { + error-message "ingress-only and egress-only vrf should not be same"; + } + must 'not (../../multiplexing)' { + error-message "vrf multiplexing configured already. Remove it and then try again"; + } + must "/ios:native/ios:vrf/ios:definition[ios:name=current()] + or /ios:native/ios:ip/ios:vrf[ios:name=current()]" { + error-message "VRF is not configured"; + } + } + leaf ingress-only { + type empty; + } + } + } + container route-via { + description + "Select subset of routes for tunnel transport"; + leaf interface { + description + "Routing interface for tunnel packets"; + must "starts-with(., 'Dialer') and (number(substring-after(., 'Dialer')) = /ios:native/ios:interface/ios:Dialer/ios:name) or not (starts-with(., 'Dialer'))" { + error-message "To use a Dialer interface, the Dialer interface has to be configured 1st, vice versa for delete"; + } + type string; + } + choice route-via-choice { + case preferred-case { + leaf preferred { + description + "Preferred route, if not available, use any route"; + type empty; + } + } + case mandatory-case { + leaf mandatory { + description + "Mandatory route, if not available, drop traffic"; + type empty; + } + } + } + } + leaf vrf { + description + "set tunnel vrf membership (OBSOLETE) + Please use vrf-config node"; + status obsolete; + type string; + } + leaf mpls-ip-only { + description + "Copy DF bit from MPLS header to outer GRE"; + must '../ios-tun:path-mtu-discovery' { + error-message "tunnel path-mtu-discovery needs to be configured before configuring mpls-ip-only, vice-versa for delete"; + } + type empty; + } + } + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-tunnel-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-tunnel-grouping { + if-feature "ios-features:virtual-template"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-types.yang new file mode 100644 index 000000000..b6969ac52 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-types.yang @@ -0,0 +1,1759 @@ +module Cisco-IOS-XE-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-types"; + prefix ios-types; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Common Type Definitions + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Add voice port number type + - Add punt-cause-type"; + cisco-semver:module-version "1.9.0"; + } + revision 2023-07-01 { + description + "- Add Bundle interface type"; + cisco-semver:module-version "1.8.0"; + } + revision 2023-03-01 { + description + "- added new data type for community name string + - Updated the regular expression for community name"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-11-01 { + description + "- Added ip-address-both type"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-07-01 { + description + "- Added cos-type"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-03-01 { + description + "- Initial revision for 17.5.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "- Added large-community-number-type"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + " + - Added new typedef for link local address"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added slot-bay-type for voice-card + - Added mcast-std-acl-type for multicast + - Add BD-VIF in interface type enum"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-06-24 { + description + "Added TCP-UDP port type"; + } + revision 2018-05-22 { + description + "Change range-string pattern to single quotes"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-10-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-10-05 { + description + "Add a new type range-string"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-06-09 { + description + "Add a new type ipv4-address-slash-prefix-len"; + } + revision 2017-06-05 { + description + "Update the ipv4 cisco-route-distinguisher type 1 pattern to + conform to YANG 1.1"; + reference + "RFC 7950: The YANG 1.1 Data Modeling Language"; + } + revision 2017-04-05 { + description + "Add value statements to udp and tcp ace port number enumerations"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef access-list-type { + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..2699"; + } + } + } + + typedef access-list-standard-id-type-non-default { + type union { + type access-list-type; + type string; + } + } + + typedef access-list-standard-id-type { + type union { + type default-access-list-standard-id-type; + type string; + } + } + + typedef access-list-in-out-type { + type enumeration { + enum in; + enum out; + } + } + + typedef acl-udp-port-type { + type union { + type uint16; + type enumeration { + enum biff { + value 512; + } + enum bootpc { + value 68; + } + enum bootps { + value 67; + } + enum discard { + value 9; + } + enum dnsix { + value 195; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum isakmp { + value 500; + } + enum mobile-ip { + value 434; + } + enum nameserver { + value 42; + } + enum netbios-dgm { + value 138; + } + enum netbios-ns { + value 137; + } + enum netbios-ss { + value 139; + } + enum non500-isakmp { + value 4500; + } + enum ntp { + value 123; + } + enum pim-auto-rp { + value 496; + } + enum rip { + value 520; + } + enum ripv6 { + value 521; + } + enum snmp { + value 161; + } + enum snmptrap { + value 162; + } + enum sunrpc { + value 111; + } + enum syslog { + value 514; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum tftp { + value 69; + } + enum time { + value 37; + } + enum who { + value 513; + } + enum xdmcp { + value 177; + } + } + } + } + + typedef acl-tcp-port-type { + type union { + type uint16; + type enumeration { + enum bgp { + value 179; + } + enum chargen { + value 19; + } + enum cmd { + value 514; + } + enum daytime { + value 13; + } + enum discard { + value 9; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum exec { + value 512; + } + enum finger { + value 79; + } + enum ftp { + value 21; + } + enum ftp-data { + value 20; + } + enum gopher { + value 70; + } + enum hostname { + value 101; + } + enum ident { + value 113; + } + enum irc { + value 194; + } + enum klogin { + value 543; + } + enum kshell { + value 544; + } + enum login { + value 513; + } + enum lpd { + value 515; + } + enum msrpc { + value 135; + } + enum nntp { + value 119; + } + enum onep-plain { + value 15001; + } + enum onep-tls { + value 15002; + } + enum pim-auto-rp { + value 496; + } + enum pop2 { + value 109; + } + enum pop3 { + value 110; + } + enum smtp { + value 25; + } + enum sunrpc { + value 111; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum telnet { + value 23; + } + enum time { + value 37; + } + enum uucp { + value 540; + } + enum whois { + value 43; + } + enum www { + value 80; + } + } + } + } + + typedef acl-tcp-udp-port-type { + type union { + type uint16; + type enumeration { + enum discard { + value 9; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum pim-auto-rp { + value 496; + } + enum sunrpc { + value 111; + } + enum syslog { + value 514; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + } + } + } + + typedef udp-port-type { + type union { + type uint16 { + range "0..6|8|10..36|38..41|43..48|50..52|54..66|70..110|112..122|124..136|140..160|163..176|178..194|196..433|435..495|497..499|501..511|515|516|518|519|522..4499|4501..65535"; + } + type enumeration { + enum biff { + value 512; + } + enum bootpc { + value 68; + } + enum bootps { + value 67; + } + enum discard { + value 9; + } + enum dnsix { + value 195; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum isakmp { + value 500; + } + enum mobile-ip { + value 434; + } + enum nameserver { + value 42; + } + enum netbios-dgm { + value 138; + } + enum netbios-ns { + value 137; + } + enum netbios-ss { + value 139; + } + enum non500-isakmp { + value 4500; + } + enum ntp { + value 123; + } + enum pim-auto-rp { + value 496; + } + enum rip { + value 520; + } + enum ripv6 { + value 521; + } + enum snmp { + value 161; + } + enum snmptrap { + value 162; + } + enum sunrpc { + value 111; + } + enum syslog { + value 514; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum tftp { + value 69; + } + enum time { + value 37; + } + enum who { + value 513; + } + enum xdmcp { + value 177; + } + } + } + } + + typedef tcp-port-type { + type union { + type uint16 { + range "0..6|8|10..12|14..18|22|24|26..36|38..42|44..48|50..52|54..69|71..78|81..100|102..108|112|114..118|120..134|136..178|180..193|195..495|497..511|516|518..539|540..542|545..15000|15003..65535"; + } + type enumeration { + enum bgp { + value 179; + } + enum chargen { + value 19; + } + enum cmd { + value 514; + } + enum daytime { + value 13; + } + enum discard { + value 9; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum exec { + value 512; + } + enum finger { + value 79; + } + enum ftp { + value 21; + } + enum ftp-data { + value 20; + } + enum gopher { + value 70; + } + enum hostname { + value 101; + } + enum ident { + value 113; + } + enum irc { + value 194; + } + enum klogin { + value 543; + } + enum kshell { + value 544; + } + enum login { + value 513; + } + enum lpd { + value 515; + } + enum msrpc { + value 135; + } + enum nntp { + value 119; + } + enum onep-plain { + value 15001; + } + enum onep-tls { + value 15002; + } + enum pim-auto-rp { + value 496; + } + enum pop2 { + value 109; + } + enum pop3 { + value 110; + } + enum smtp { + value 25; + } + enum sunrpc { + value 111; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum telnet { + value 23; + } + enum time { + value 37; + } + enum uucp { + value 540; + } + enum whois { + value 43; + } + enum www { + value 80; + } + } + } + } + + typedef default-access-list-standard-id-type { + type union { + type uint8 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + } + } + + typedef redist-ospf-external-type { + type enumeration { + enum 1; + enum 2; + } + } + + typedef bgp-as-number-type { + type union { + type uint32 { + range "1..4294967295"; + } + type string; + } + } + + typedef cos_value-type { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum cos; + enum dscp; + enum exp; + enum precedence; + } + } + } + + typedef cos-type { + type uint8 { + range "0..7"; + } + } + + typedef exp-type { + type uint8 { + range "0..7"; + } + } + + typedef dscp-type { + type union { + type uint8 { + range "0..63"; + } + type enumeration { + enum af11 { + value 10; + } + enum af12 { + value 12; + } + enum af13 { + value 14; + } + enum af21 { + value 18; + } + enum af22 { + value 20; + } + enum af23 { + value 22; + } + enum af31 { + value 26; + } + enum af32 { + value 28; + } + enum af33 { + value 30; + } + enum af41 { + value 34; + } + enum af42 { + value 36; + } + enum af43 { + value 38; + } + enum cs1 { + value 8; + } + enum cs2 { + value 16; + } + enum cs3 { + value 24; + } + enum cs4 { + value 32; + } + enum cs5 { + value 40; + } + enum cs6 { + value 48; + } + enum cs7 { + value 56; + } + enum default { + value 0; + } + enum dscp; + enum ef { + value 46; + } + enum precedence; + } + } + } + + typedef dscp-type-new { + type union { + type uint8 { + range "1..7|9|11|13|15|17|19|21|23|25|27|29|31|33|35|37|39|41..45|47|49..55|57..63"; + } + type enumeration { + enum af11 { + value 10; + } + enum af12 { + value 12; + } + enum af13 { + value 14; + } + enum af21 { + value 18; + } + enum af22 { + value 20; + } + enum af23 { + value 22; + } + enum af31 { + value 26; + } + enum af32 { + value 28; + } + enum af33 { + value 30; + } + enum af41 { + value 34; + } + enum af42 { + value 36; + } + enum af43 { + value 38; + } + enum cs1 { + value 8; + } + enum cs2 { + value 16; + } + enum cs3 { + value 24; + } + enum cs4 { + value 32; + } + enum cs5 { + value 40; + } + enum cs6 { + value 48; + } + enum cs7 { + value 56; + } + enum default { + value 0; + } + enum ef { + value 46; + } + } + } + } + + typedef exp-acl-type { + type union { + type uint16 { + range "1..199 | 1300..2699"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef exp_value-type { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum cos; + enum dscp; + enum exp; + enum precedence; + } + } + } + + typedef ext-acl-type { + type union { + type uint16 { + range "100..199"; + } + type uint16 { + range "2000..2699"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef hhmm-type { + type string { + pattern '([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?'; + } + } + + typedef hhmmss-type { + type string { + pattern '([0-1]?[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9])'; + } + } + + typedef asn-ip-type { + type string { + pattern '(([0-9]+\.[0-9]+)|([0-9]+)|((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))):[0-9]+'; + } + } + + typedef host-type { + type union { + type inet:ip-address; + type inet:domain-name; + } + } + + typedef interface-type { + type enumeration { + enum BDI; + enum FastEthernet; + enum GigabitEthernet; + enum Loopback; + enum Port-channel; + enum Serial; + enum TenGigabitEthernet; + enum Vlan; + enum FiveGigabitEthernet; + enum TwentyFiveGigE; + enum TwoGigabitEthernet; + enum AppGigabitEthernet; + enum BD-VIF; + enum Bundle; + } + } + + typedef interface-name { + type union { + type uint16; + type uint32; + type string; + } + } + + typedef ip-host { + type union { + type inet:ip-address; + type inet:domain-name; + } + } + + typedef ipv4-host { + type union { + type inet:ipv4-address; + type inet:domain-name; + } + description + "The host type represents either an IPv4 address or a DNS + domain name."; + } + + typedef ipv6-host { + type union { + type inet:ipv6-address; + type inet:domain-name; + } + description + "The host type represents either an IPv6 address or a DNS + domain name."; + } + + typedef mobility-type { + type union { + type uint8; + type enumeration { + enum bind-acknowledgement; + enum bind-error; + enum bind-refresh; + enum bind-update; + enum cot; + enum coti; + enum hot; + enum hoti; + } + } + } + + typedef prec_value-type { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum cos; + enum dscp; + enum exp; + enum precedence; + } + } + } + + typedef precedence-type { + type union { + type uint8 { + range "0..7"; + } + type enumeration { + enum critical; + enum flash; + enum flash-override; + enum immediate; + enum internet; + enum network; + enum priority; + enum routine; + } + } + } + + typedef std-acl-type { + type union { + type uint16 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef percentage { + type uint8 { + range "0..100"; + } + } + + typedef limit-dc-non-dc-type { + type union { + type uint32 { + range "1 .. 255"; + } + type enumeration { + enum disable; + } + } + } + + typedef ospf-area-type { + type union { + type uint32 { + range "0 .. 4294967295"; + } + type inet:ipv4-address; + } + } + + typedef ospf-metric-type { + type uint32 { + range "1 .. 2"; + } + } + + typedef qos_value-type { + type union { + type uint8 { + range "0..99"; + } + type enumeration { + enum cos; + enum dscp; + enum exp; + enum precedence; + } + } + } + + typedef weekday-type { + type enumeration { + enum Mon; + enum Tue; + enum Wed; + enum Thu; + enum Fri; + enum Sat; + enum Sun; + } + } + + typedef isis-distribute-list-type { + type uint16 { + range "100..199"; + } + } + + typedef bgp-distribute-list-type { + type union { + type uint16 { + range "100..199"; + } + type uint16 { + range "2000..2699"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef bgp-distribute-list-type2 { + type union { + type uint16 { + range "1..199"; + } + type uint16 { + range "1300..2699"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef bgp_ipv4_af_type { + type enumeration { + enum unicast; + enum multicast; + enum mdt; + enum tunnel; + enum labeled-unicast; + enum flowspec; + enum mvpn; + enum sr-policy; + } + } + + typedef bgp_ipv6_af_type { + type enumeration { + enum unicast; + enum multicast; + enum mdt; + enum flowspec; + enum mvpn; + } + } + + typedef storm-control-threshold-type { + type string { + pattern '[0-9]+.?[0-9]*[k|m|g]?'; + } + } + + typedef community-number-type { + type union { + type uint32 { + range "1..4294967295"; + } + type string { + pattern '(\d+:\d+)'; + } + } + } + + typedef community-name-string { + type string { + pattern '(([a-zA-Z0-9]*)(([^0-9]+)([a-zA-Z0-9]*))+)'; + } + } + + typedef community-well-known-type { + type enumeration { + enum gshut; + enum internet; + enum local-AS; + enum no-advertise; + enum no-export; + } + } + + typedef large-community-number-type { + type string { + pattern '(\d+:\d+:\d+)'; + } + } + + typedef community-well-known-add-type { + type enumeration { + enum gshut; + enum internet; + enum local-AS; + enum no-advertise; + enum no-export; + enum additive; + } + } + + typedef cisco-mac-address-type { + type string { + pattern '[0-9a-fA-F]+\.[0-9a-fA-F]+\.[0-9a-fA-F]+'; + } + } + + typedef month-type { + type enumeration { + enum Jan; + enum Feb; + enum Mar; + enum Apr; + enum May; + enum Jun; + enum Jul; + enum Aug; + enum Sep; + enum Oct; + enum Nov; + enum Dec; + } + } + + typedef ipv6-prefix { + type string { + pattern '((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'; + pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)'; + } + } + + typedef cisco-route-distinguisher { + type union { + type string { + pattern '(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|[1-9]?[1-9]?[0-9][0-9]|[0-9]):(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|[0-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])'; + } + type string { + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):(65[0-5][0-3][0-5]|[1-5][1-5][0-9][0-9][0-9]|[1-9]?[1-9]?[0-9][0-9]|[0-9])'; + } + type string { + pattern '(4[0-2][0-9][0-4][0-9][0-6][0-7][0-2][0-9][0-5]|[0-3][0-9]{9}|[1-9][0-9]{1,8}|[1-9]):(65[0-5][0-3][0-5]|[1-5]{2}[0-9]{3}|[1-9]{0,2}[0-9][0-9]|[0-9])'; + } + } + } + + typedef range-string { + type string { + pattern '((\d+(-\d+)?)(,(\d+(-\d+)?))*)'; + } + } + + typedef ipv4-address-slash-prefix-len { + type string { + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'; + } + } + + typedef mcast-std-acl-type { + type union { + type uint8 { + range "1..99"; + } + type string { + pattern '[a-zA-Z].*'; + } + } + } + + typedef slot-bay-type { + type string { + pattern '[0-9]+/[0-9]+'; + } + } + + typedef ipv6-link-local-interface-address { + type string { + pattern '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?'; + } + } + + typedef ip-address-both { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + description + "An IPv4 or IPv6 address with no prefix specified."; + } + + typedef voice-port-num-type { + description + "Voice port number"; + type string { + pattern '[0-9]+/[0-9]+/[0-9]+'; + } + } + + typedef punt-cause-type { + type enumeration { + enum mpls-frag-req { + value 1; + } + enum ipv4-options { + value 2; + } + enum unknown-encap { + value 3; + } + enum ppp-control { + value 4; + } + enum clns-control { + value 5; + } + enum hdlc-keepalive { + value 6; + } + enum arp { + value 7; + } + enum reserve-arp { + value 8; + } + enum lmi-control { + value 9; + } + enum incomplete-adj { + value 10; + } + enum for-us-data { + value 11; + } + enum mcast-dcs { + value 12; + } + enum mcast-ipv4-options { + value 13; + } + enum skip-path { + value 14; + } + enum mpls-ttl { + value 15; + } + enum mpls-res-label { + value 16; + } + enum ipv6-badhop { + value 17; + } + enum ipv6-hopopts { + value 18; + } + enum mcast-send-internal-copy { + value 19; + } + enum ipwrite { + value 20; + } + enum diag { + value 21; + } + enum fw-ipwrite { + value 22; + } + enum mcast-igmp-nonroutable { + value 23; + } + enum glean-adj { + value 24; + } + enum mcast-pim-signaling { + value 25; + } + enum generate-icmp { + value 26; + } + enum ess-control { + value 27; + } + enum ess-switch-back { + value 28; + } + enum icmp-cfg-punt { + value 29; + } + enum for-us-internal-data { + value 30; + } + enum punt-adj { + value 31; + } + enum sbc-rtp { + value 32; + } + enum pw-vccv { + value 33; + } + enum ipwrite-keep-gpm { + value 34; + } + enum slow-protocol { + value 35; + } + enum oam-loopback { + value 36; + } + enum unused { + value 37; + } + enum spa-ipc { + value 38; + } + enum punt-replicate { + value 39; + } + enum pppoe-control { + value 40; + } + enum pppoe-session { + value 41; + } + enum l2tp-control { + value 42; + } + enum ipsub-control { + value 43; + } + enum l2tp-session { + value 44; + } + enum bfd-control { + value 45; + } + enum mcast-rpf-signaling { + value 46; + } + enum mvpn-pim-signalling { + value 47; + } + enum loopback-to-rp { + value 48; + } + enum sbc-reply { + value 49; + } + enum ipv6-pkts { + value 50; + } + enum dmvpn-redir-pkt { + value 51; + } + enum pfr-mp-cache { + value 52; + } + enum pfr-tt-cache { + value 53; + } + enum pfr-tt-appl-cache { + value 54; + } + enum for-us-ctrl { + value 55; + } + enum for-us-internal-ctrl { + value 56; + } + enum vtcp-ipwrite { + value 57; + } + enum layer2-bd-data { + value 58; + } + enum stile-ipwrite { + value 59; + } + enum subnet-bcast { + value 60; + } + enum ecfm-pkt { + value 61; + } + enum ecfm-notify { + value 62; + } + enum lisp-lsb-notify { + value 63; + } + enum service-engine { + value 64; + } + enum layer2-bd-ctrl { + value 65; + } + enum layer2-bd-msg { + value 66; + } + enum mfr-lip-control { + value 67; + } + enum mmon-record { + value 68; + } + enum otv-cntrl-pkt { + value 69; + } + enum otv-arp-pkt { + value 70; + } + enum rep-control { + value 71; + } + enum ip-mtu { + value 72; + } + enum l2-bpdu { + value 73; + } + enum acl-log { + value 74; + } + enum epc { + value 75; + } + enum lisp-dynamic-eid { + value 76; + } + enum l2cp { + value 77; + } + enum waas { + value 78; + } + enum dhcp-snoop { + value 79; + } + enum mma-record { + value 80; + } + enum dmvpnv6-redir-req { + value 81; + } + enum ecfm-from-core { + value 82; + } + enum ecfm-punt-fwd { + value 83; + } + enum ptp { + value 84; + } + enum isdn-channel { + value 85; + } + enum svc-ctlr-scg { + value 86; + } + enum fhs-source-guard { + value 87; + } + enum fhs-data-glean { + value 88; + } + enum sbc-dsp { + value 89; + } + enum serial-traffic { + value 90; + } + enum sslvpn { + value 91; + } + enum deny-acl { + value 92; + } + enum cent-smp { + value 93; + } + enum appnav-vpath { + value 94; + } + enum automatic-hw { + value 95; + } + enum layer2-ctrl { + value 96; + } + enum lfts-transport { + value 97; + } + enum vlan-autosense { + value 98; + } + enum ztp { + value 99; + } + enum cable-arp-filter { + value 100; + } + enum cable-l3-mobility { + value 101; + } + enum sv-match-unknown { + value 102; + } + enum cable-pre-reg { + value 103; + } + enum mpls-receive-adj { + value 104; + } + enum mka { + value 105; + } + enum icmp-unreachable { + value 106; + } + enum cable-dhcp { + value 107; + } + enum snooping { + value 108; + } + enum proto-snoop { + value 109; + } + enum ppp-intf-ip-addr { + value 110; + } + enum embedded-cause { + value 111; + } + enum qos-cac { + value 112; + } + enum active-identity { + value 113; + } + enum bgp-tun-pkt { + value 114; + } + enum lisp-gsmr-ena { + value 115; + } + enum async-term-serv { + value 116; + } + enum mma-packet { + value 117; + } + enum cbl-dhcpv6-solicit { + value 118; + } + enum cbl-dhcpv6-req { + value 119; + } + enum sbc-rtp-fwd { + value 120; + } + enum path-manager { + value 121; + } + enum l2-lisp-vxlan { + value 122; + } + enum dialer-list { + value 123; + } + enum dialer-update-time { + value 124; + } + enum cable-rphy-ctrl { + value 125; + } + enum openflow-sdn { + value 126; + } + enum path-manager-ttl { + value 127; + } + enum l3-ptp-message { + value 128; + } + enum wls_dot11_pkt { + value 129; + } + enum wls_capwap_pkt { + value 130; + } + enum wls_mobility_pkt { + value 131; + } + enum wls_sisf_pkt { + value 132; + } + enum cbl-dhcpv6-sub { + value 133; + } + enum cbl-dhcpv4-sub { + value 134; + } + enum cbl-dhcpv4-disc-req { + value 135; + } + enum x25-control-pkt { + value 136; + } + enum x25-data-pkt { + value 137; + } + enum NAT { + value 138; + } + enum dns-snoop { + value 139; + } + enum efp-dot1x { + value 140; + } + enum dmvpn-gal-check { + value 141; + } + enum cbl-ipsec-for-us { + value 142; + } + enum epbr { + value 143; + } + enum pmip-ctrl { + value 144; + } + enum cbl-ipsec-lifetime { + value 145; + } + enum cbl-ipsec-prng { + value 146; + } + enum mcast-udlr { + value 147; + } + enum l2bd-sisf-ctrl { + value 148; + } + enum Metanoia-L2-MGMT { + value 149; + } + enum sr-twamp-probe { + value 150; + } + enum wpan-linkinfo { + value 151; + } + enum wpan-punt-dot1x { + value 152; + } + enum wpan-mpl-enabled { + value 153; + } + enum wpan-l2 { + value 154; + } + enum wpan-ns { + value 155; + } + enum bfd-l2-control { + value 156; + } + enum cable-snmp { + value 157; + } + enum ext-icmp { + value 158; + } + enum profinet { + value 159; + } + enum wls_sisf_arp_v6nd_pkt { + value 160; + } + enum nbar { + value 161; + } + enum aaa { + value 162; + } + enum wls_ap_https { + value 163; + } + enum lfts-perfmon { + value 164; + } + enum ie_mrp { + value 165; + } + enum cable-pma-mer-pkt { + value 166; + } + enum cable-pnm-mer-pkt { + value 167; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-oper.yang new file mode 100644 index 000000000..a5429e21e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-oper.yang @@ -0,0 +1,160 @@ +module Cisco-IOS-XE-ucse-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ucse-oper"; + prefix ucse-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for UCSE (Unified Computing System E-Series) operational data. + Copyright (c) 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.0.1"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-01-08 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ucse-command-stats { + description + "UCSE (Unified Computing System E-Series) command statistics"; + leaf shutdown-count { + type uint64; + description + "Number of times shutdown command executed"; + } + leaf status-count { + type uint64; + description + "Number of times status command executed"; + } + leaf server-raid-password-reset-count { + type uint64; + description + "Number of times server RAID (Redundant Array of Independent Disks) password-reset command executed"; + } + leaf server-bios-password-reset-count { + type uint64; + description + "Number of times server BIOS password-reset command executed"; + } + leaf server-reload-count { + type uint64; + description + "Number of times server reload command executed"; + } + leaf server-reset-count { + type uint64; + description + "Number of times server reset command executed"; + } + leaf server-start-count { + type uint64; + description + "Number of times server restart command executed"; + } + leaf server-stop-count { + type uint64; + description + "Number of times server stop command executed"; + } + leaf imc-password-reset-count { + type uint64; + description + "Number of times IMC (Integrated Management Controller) password-reset command executed"; + } + leaf imc-vlan-count { + type uint64; + description + "Number of times IMC (Integrated Management Controller) VLAN command executed"; + } + leaf imc-access-port-count { + type uint64; + description + "Number of times IMC (Integrated Management Controller) access-port command executed"; + } + leaf imc-ip-count { + type uint64; + description + "Number of times IMC (Integrated Management Controller) IP command executed"; + } + leaf stats-start-time { + type yang:date-and-time; + description + "Start time of statistics collection"; + } + } + + grouping ucse-stats { + description + "UCSE (Unified Computing System E-Series) statistics"; + container command-stats { + description + "UCSE (Unified Computing System E-Series) command statistics"; + uses ucse-ios-xe-oper:ucse-command-stats; + } + } + + grouping ucse-slot-info-key { + description + "Key information"; + leaf slot-num { + type uint32; + description + "Slot number"; + } + leaf subslot-num { + type uint32; + description + "Sub Slot number"; + } + } + + container ucse-oper-data { + config false; + description + "UCSE (Unified Computing System E-Series) operational data"; + list ucse-stats { + key "slot-num subslot-num"; + description + "UCSE (Unified Computing System E-Series) statistics"; + uses ucse-ios-xe-oper:ucse-slot-info-key; + uses ucse-ios-xe-oper:ucse-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-rpc.yang new file mode 100644 index 000000000..2471dad99 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse-rpc.yang @@ -0,0 +1,140 @@ +module Cisco-IOS-XE-ucse-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ucse-rpc"; + prefix ios-xe-ucse-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED UCSE (Unified Computing System E-Series) RPC YANG module for IOS + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-10 { + description + "Initial revision for NED UCSE (Unified Computing System E-Series) RPC YANG module for IOS"; + } + + rpc ucse { + description + "UCSE (Unified Computing System E-Series) commands"; + input { + leaf subslot { + description + "UCSE (Unified Computing System E-Series) subslot"; + type string { + pattern '[0-2]/[0-3]'; + } + mandatory true; + } + choice command-choice { + mandatory true; + case imc-case { + container imc { + description + "IMC (Integrated Management Controller) command"; + leaf password-reset { + description + "Reset the password for IMC (Integrated Management Controller)"; + type empty; + } + } + } + case server-case { + container server { + description + "Server commands"; + choice server-command-choice { + case server-cmos-password-reset { + leaf cmos-reset { + description + "Reset the CMOS password for the server"; + type empty; + } + } + case server-password-reset { + container password-reset { + description + "Reset the password for the server"; + leaf BIOS { + description + "Reset the BIOS password for the server"; + type empty; + } + } + } + case server-reload { + leaf reload { + description + "Reload the server"; + type empty; + } + } + case server-reset { + leaf reset { + description + "Reset the server"; + type empty; + } + } + case server-start { + leaf start { + description + "Start the server"; + type empty; + } + } + case server-stop { + leaf stop { + description + "Stop the server"; + type empty; + } + } + } + } + } + case shutdown-case { + leaf shutdown { + description + "Shutdown the UCSE (Unified Computing System E-Series) module"; + type empty; + } + } + case statistics-case { + container statistics { + description + "Statistics command"; + leaf clear { + description + "Clear the statistics"; + type empty; + } + } + } + } + } + output { + uses ios-xe-rpc:cisco-xe-rpc-output; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse.yang new file mode 100644 index 000000000..89239b255 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-ucse.yang @@ -0,0 +1,254 @@ +module Cisco-IOS-XE-ucse { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-ucse"; + prefix ios-ucse; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native UCS-E Yang model. + Copyright (c) 2018-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-01 { + description + "- Added support for 'no ucse subslot x/y'"; + cisco-semver:module-version "1.1.1"; + } + revision 2019-11-01 { + description + "- Removed mandatory statements"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - UCSE support - initial revision"; + cisco-semver:module-version "1.0.0"; + } + + grouping ucse-imc-grouping { + container access-port { + description + "UCSE server access port configuration"; + choice access-port-choice { + case dedicated-mgmt-port { + leaf dedicated { + description + "Dedicated Management Port"; + type empty; + } + } + case shared-lom-port { + container shared-lom { + description + "Shared LOM"; + choice port-choice { + leaf ge1 { + description + "GE1"; + type empty; + } + leaf ge2 { + description + "GE2"; + type empty; + } + leaf ge3 { + description + "GE3"; + type empty; + } + leaf te2 { + description + "TE2"; + type empty; + } + leaf te3 { + description + "TE3"; + type empty; + } + leaf te4 { + description + "TE4"; + type empty; + } + leaf te1 { + description + "TE1"; + type empty; + } + leaf console { + description + "Console"; + type empty; + } + container failover { + description + "Failover"; + container failover-ge-case { + description + "Failover"; + leaf ge2 { + description + "GE2"; + mandatory true; + type empty; + } + leaf ge3 { + description + "GE3"; + type empty; + } + } + container failover-te-case { + description + "Failover"; + leaf te2 { + description + "TE2"; + mandatory true; + type empty; + } + leaf te3 { + description + "TE3"; + type empty; + } + } + } + } + } + } + } + } + container ip { + description + "Interface Internet Protocol"; + choice ip-static-vs-dhcp-choice { + container static-case { + leaf address { + description + "IP address"; + type inet:ipv4-address; + mandatory true; + } + leaf mask { + description + "IP subnet mask"; + type inet:ipv4-address; + mandatory true; + } + leaf default-gateway { + description + "Default gateway"; + type inet:ipv4-address; + } + } + container dhcp-case { + leaf dhcp { + description + "IP dhcp"; + type empty; + } + } + } + } + container vlan { + description + "VLAN ID with optional vlan-priority"; + leaf vlan-id { + description + "VLAN ID"; + type uint16 { + range "2..4095"; + } + } + leaf priority { + description + "VLAN priority"; + type uint8 { + range "0..7"; + } + } + } + } + + grouping ucse-platform-grouping { + list switchport { + description + "UCSE switchport configuration"; + key "port-number"; + leaf port-number { + description + "Port number <0-1>"; + type uint8 { + range "0..1"; + } + } + leaf svi { + description + "SVI switch-virtual-interface"; + mandatory true; + type empty; + } + } + } + + grouping config-ucse-grouping { + container ucse { + description + "UCSE configuration"; + list subslot { + description + "Subslot information"; + key "subslot-name"; + leaf subslot-name { + description + "<0-2>/<0-3>;;Enter card slot/subslot number"; + type string; + } + container imc { + description + "UCSE BMC configuration"; + uses ucse-imc-grouping; + } + container platform { + description + "UCSE Platform configuration"; + uses ucse-platform-grouping; + } + } + } + } + + augment "/ios:native" { + uses config-ucse-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-events.yang new file mode 100644 index 000000000..17d280f62 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-events.yang @@ -0,0 +1,140 @@ +module Cisco-IOS-XE-udld-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-udld-events"; + prefix udld-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Unidirectional link detection event notification. + Copyright (c) 2023 by Cisco Systems, INC. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef udld-link-state { + type enumeration { + enum udld-state-unknown { + value 0; + description + "Unknown link state"; + } + enum udld-state-unidir-link { + value 1; + description + "Unidirectional Link"; + } + enum udld-state-nbr-mismatch { + value 2; + description + "Unidirectional link detection protocol neighbor mismatch"; + } + enum udld-state-tx-rx-loop { + value 3; + description + "Unidirectional link detection protocol transmit/receive loop"; + } + enum udld-state-aggr-mod-fail-err-dis { + value 4; + description + "Aggressive mode failure. Port will be error disabled."; + } + enum udld-state-aggr-mod-fail-no-err-dis { + value 5; + description + "Aggressive mode failure but port will not be error disabled, it is still in connected state."; + } + } + description + "Get the link state of the port"; + } + + typedef udld-event-type { + type enumeration { + enum udld-port-unknown-event { + value 0; + description + "Unknown event type."; + } + enum udld-port-dis { + value 1; + description + "Port is disabled"; + } + enum udld-port-fail { + value 2; + description + "Port is failed and cannot send unidirectional link detection packets to other devices."; + } + enum udld-port-alrt-fail { + value 3; + description + "Port is configured for alert mode only."; + } + } + description + "Unidirectional event type"; + } + + grouping udld-interface-event { + description + "Event details when unidirectional link is detected."; + leaf if-name { + type string; + description + "Interface of the device where event has occurred."; + } + leaf neighbor-id { + type string; + description + "Neighbor id connected to the device."; + } + leaf port-blocked { + type boolean; + description + "Port is blocked or not."; + } + leaf neighbor-port { + type string; + description + "Neighbor port connected to the device."; + } + leaf state { + type udld-ios-xe-events:udld-link-state; + description + "Link state of the connected neighbors."; + } + leaf event-type { + type udld-ios-xe-events:udld-event-type; + description + "Event type of unidirectional link detection protocol."; + } + } + + notification udld-intf-event { + description + "Unidirectional link detection event notification."; + uses udld-ios-xe-events:udld-interface-event; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-oper.yang new file mode 100644 index 000000000..5cde10204 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld-oper.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-udld-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-udld-oper"; + prefix udld-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for monitoring of unidirectional neighbors. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef e-udld-neighbor-state { + type enumeration { + enum udld-nbr-state-unidir { + value 0; + description + "Link is broken and the state of the link is unidirectional."; + } + enum udld-nbr-state-bidir { + value 1; + description + "Link is active and bidirectional. + Connected devices are allowed to send packets specific to unidirectional link detection."; + } + enum udld-nbr-state-tx-rx-loop { + value 2; + description + "Neighbor state is Transmit-Receive-Loop."; + } + enum udld-nbr-state-mismatch { + value 3; + description + "Neighbor state is in Mismatched state."; + } + enum udld-nbr-state-nbr-ech-empty { + value 4; + description + "Neighbor state is described as Neighbor Echo Empty."; + } + enum udld-nbr-state-unknown { + value 5; + description + "Neighbor state is Unknown."; + } + } + description + "Unidirectional link neighbor states"; + } + + grouping neighbor-info { + description + "Connected neighbor information."; + leaf device-name { + type string; + description + "Device name of the connected neighbor."; + } + leaf device-id { + type uint32; + description + "Device identify of the connected neighbor."; + } + leaf port-id { + type string; + description + "Port identify of the connected neighbor."; + } + leaf nbr-state { + type udld-ios-xe-oper:e-udld-neighbor-state; + description + "Current state of the neighbor"; + } + } + + grouping udld-info { + description + "Unidirectional link information"; + leaf if-name { + type string; + description + "Interface name to find the connected neighbor's information."; + } + container nbr-info { + description + "Neighbor information."; + uses udld-ios-xe-oper:neighbor-info; + } + } + + container udld-oper-data { + config false; + description + "Neighbor information associated with the device's port."; + list udld-info { + key "if-name"; + description + "Neighbor parameters along with port of parent device."; + uses udld-ios-xe-oper:udld-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-udld.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld.yang new file mode 100644 index 000000000..cab02fc40 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-udld.yang @@ -0,0 +1,225 @@ +module Cisco-IOS-XE-udld { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-udld"; + prefix ios-udld; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native UniDirectional Link Detection (UDLD) Yang Model. + Copyright (c) 2016-2017, 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Deprecated port container of config-interface-udld-grouping + - Deprecated udld recovery container and added new containers to support udld recovery and interval clis"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "Added leaf node to enable udld alert on interface"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "This revision has changes for new 100GE interface addition"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-udld-grouping { + container udld { + description + "UDLD port level configuration that overwrites the global UDLD configuration"; + leaf port-level { + description + "The different choices of the UDLD port level configuration"; + type enumeration { + enum aggress-alert; + enum aggressive; + enum alert; + enum disable; + enum enable; + } + } + container port { + description + "Enable UDLD protocol on this interface despite global UDLD setting - Deprecated in 17.15.1"; + status deprecated; + presence "true"; + choice port-choice { + leaf aggressive { + status deprecated; + description + "Enable UDLD protocol in aggressive mode on this interface despite global UDLD setting - Deprecated in 17.15.1"; + type empty; + } + leaf disable { + status deprecated; + description + "Disable UDLD protocol on this interface despite global UDLD setting - Deprecated in 17.15.1"; + type empty; + } + leaf alert { + status deprecated; + description + "Enable UDLD protocol in alert mode on this interface - Deprecated in 17.15.1"; + type empty; + } + } + } + } + } + + grouping config-udld-grouping { + leaf aggressive { + description + "Enable UDLD protocol in aggressive mode on fiber ports exceptwhere locally configured"; + type empty; + } + leaf enable { + description + "Enable UDLD protocol on fiber ports except where locally configured"; + type empty; + } + container message { + description + "Set UDLD message parameters"; + leaf time { + description + "Set UDLD message time period"; + type uint8 { + range "1..90"; + } + } + } + container recovery-enable { + leaf recovery { + description + "Enable udld recovery"; + type empty; + } + } + container recovery-param { + container recovery { + description + "Enable timer to recover from udld error disable state"; + leaf interval { + description + "timer-interval(sec)"; + type uint32 { + range "30..86400"; + } + } + } + } + container recovery { + status deprecated; + description + "Enable timer to recover from udld error disable state"; + presence "true"; + leaf interval { + status deprecated; + description + "timer-interval(sec)"; + type uint32 { + range "30..86400"; + } + } + } + } + + augment "/ios:native/ios:udld" { + uses config-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-udld-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-udld-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-uidp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-uidp-oper.yang new file mode 100644 index 000000000..46fb3a294 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-uidp-oper.yang @@ -0,0 +1,99 @@ +module Cisco-IOS-XE-uidp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-uidp-oper"; + prefix uidp-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring the Identity Policy feature. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping uidp-user { + description + "Identity Policy User to IP"; + leaf id { + type uint32; + description + "Identity Policy User ID"; + } + leaf username { + type string; + description + "Identity Policy User-IP binding username"; + } + leaf-list addresses { + type inet:ip-address; + ordered-by user; + description + "Identity Policy addresses associated with user"; + } + } + + grouping uidp-user-group { + description + "Identity Policy User-Group"; + leaf id { + type uint32; + description + "Identity Policy User-Group ID"; + } + leaf usergroup-name { + type string; + description + "Identity Policy User-Group name"; + } + } + + container uidp-oper-data { + config false; + description + "Identity Policy operational data"; + list uidp-user { + key "username"; + description + "Identity Policy User to IP binding table"; + uses uidp-ios-xe-oper:uidp-user; + } + list uidp-user-group { + key "usergroup-name"; + description + "Identity Policy User-Group binding table"; + uses uidp-ios-xe-oper:uidp-user-group; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper-dp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper-dp.yang new file mode 100644 index 000000000..16e4d913a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper-dp.yang @@ -0,0 +1,159 @@ +module Cisco-IOS-XE-umbrella-oper-dp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-umbrella-oper-dp"; + prefix ios-xe-umbrella-oper-dp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Umbrella Operational Yang model for DP. + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-08-23 { + description + "Update umbrella data-plane stats for matching-flow-found"; + } + revision 2018-07-27 { + description + "Update umbrella data-plane stats"; + } + revision 2018-05-10 { + description + "Initial revision"; + } + + container umbrella-oper-dp { + container stats { + config false; + leaf redirect-pkts { + type uint64; + } + leaf local-domain-bypass-pkts { + type uint64; + } + leaf parser-unknown-pkts { + type uint64; + } + leaf parser-errors { + type uint64; + } + leaf flow-create-requests { + type uint64; + } + leaf matching-flow-found { + type uint64; + } + leaf flow-create-failures { + type uint64; + } + leaf flow-lookup-requests { + type uint64; + } + leaf flow-lookup-failures { + type uint64; + } + leaf flow-detach-requests { + type uint64; + } + leaf flow-detach-failures { + type uint64; + } + leaf flow-ageout-count { + type uint64; + } + leaf flow-update-requests { + type uint64; + } + leaf flow-update-failures { + type uint64; + } + leaf dnscrypt-enc-sent { + type uint64; + } + leaf dnscrypt-dec-rcvd { + type uint64; + } + leaf dnscrypt-clear-sent { + type uint64; + } + leaf dnscrypt-clear-rcvd { + type uint64; + } + leaf dnscrypt-errors { + type uint64; + } + } + } + + typedef umbrella-netconf-notification-severity { + type enumeration { + enum critical { + value 0; + } + enum major { + value 1; + } + enum minor { + value 2; + } + } + } + + notification umbrella-anycast-server-switch { + leaf severity-level { + type umbrella-netconf-notification-severity; + } + leaf host-name { + type string; + } + leaf system-ip { + type inet:ip-address; + } + leaf reason { + type string; + } + } + + notification umbrella-max-cft-flows { + leaf severity-level { + type umbrella-netconf-notification-severity; + } + leaf host-name { + type string; + } + leaf system-ip { + type inet:ip-address; + } + leaf reason { + type string; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper.yang new file mode 100644 index 000000000..ca6edacb4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-oper.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-umbrella-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-umbrella-oper"; + prefix umbrella-ios-xe-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains collection of YANG + definitions for Umbrella operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-04-19 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping umbrella-dev-reg-data { + description + "Umbrella Device Registration Data"; + leaf name { + type string; + description + "Name of the device"; + } + leaf status { + type string; + description + "Registration status"; + } + leaf tag { + type string; + description + "Device Tag"; + } + leaf device-id { + type string; + description + "Device Identifier"; + } + leaf description { + type string; + description + "Device Registration Description"; + } + } + + grouping umbrella-overview { + description + "Overview of Umbrella"; + leaf registrations-completed { + type uint16; + description + "Number of registrations completed"; + } + leaf registrations-requested { + type uint16; + description + "Number of registrations requested"; + } + leaf dnscrypt { + type boolean; + description + "State of DNSCrypt"; + } + leaf last-success-attempt { + type yang:date-and-time; + description + "Last successful attempt for DNSCrypt"; + } + } + + container umbrella-ios-oper-data { + config false; + description + "Operational data of Umbrella"; + list umbrella-dev-reg-data { + key "name"; + description + "Umbrella Device Registration Data"; + uses umbrella-ios-xe-oper:umbrella-dev-reg-data; + } + container umbrella-overview { + presence "umbrella-overview"; + description + "Overview of Umbrella"; + uses umbrella-ios-xe-oper:umbrella-overview; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-rpc.yang new file mode 100644 index 000000000..fd853baf5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella-rpc.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XE-umbrella-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-umbrella-rpc"; + prefix ios-xe-umbrella-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Umbrella RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "Updated augment"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-22 { + description + "Move feature-choices into cases"; + } + revision 2018-12-06 { + description + "created for NED RPC modularisation"; + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice/ios-xe-rpc:platform-case/ios-xe-rpc:platform/ios-xe-rpc:platform-choice/ios-xe-rpc:hardware-case/ios-xe-rpc:hardware/ios-xe-rpc:qfp/ios-xe-rpc:active/ios-xe-rpc:feature/ios-xe-rpc:feature-choice" { + case umbrella-case { + container umbrella { + description + "Clear QFP Umbrella"; + container datapath { + description + "Clear Umbrella datapath"; + leaf stats { + description + "Clear Umbrella datapath stats"; + type empty; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella.yang new file mode 100644 index 000000000..74a303317 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-umbrella.yang @@ -0,0 +1,421 @@ +module Cisco-IOS-XE-umbrella { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-umbrella"; + prefix ios-umbrella; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Umbrella Yang model. + Copyright (c) 2017-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support to use umbrella v2 APIs"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-11-01 { + description + "- Obsolete interface augment"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-07-01 { + description + "- Added local-resolver support in global parameter-map + - Added local-domain support in non-global parameter-map + - Removed local-resolver support in global parameter-map + - Removed local-domain support in non-global parameter-map"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-03-01 { + description + "- Added constraints to resolver + - Added default to udp-timeout"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "- Added non-global parameter-map type umbrella"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Adding api-key, secret and org id CLI under parameter-map umbrella"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-25 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-12-06 { + description + "Change non-strict-leafref's to leafref's for threat-defense features"; + } + revision 2018-11-11 { + description + "Show default values under parameter-map construct"; + } + revision 2018-11-06 { + description + "Remove instances of max string length of 128/256/512"; + } + revision 2018-10-12 { + description + "interface config of umbrella with dca"; + } + revision 2018-06-26 { + description + "Changed match-local-domain to match-local-domain-to-bypass"; + } + revision 2018-05-18 { + description + "Add support for sdwan platforms"; + } + revision 2018-05-14 { + description + "Limit string lengths for threat-defense features"; + } + revision 2018-02-22 { + description + "Add threat-defense support for Ethernet interfaces"; + } + revision 2018-02-06 { + description + "Refactor parameter-map"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added Two GE Interface"; + } + revision 2017-08-30 { + description + "Initial revision"; + } + + grouping config-umbrella-grouping { + container umbrella { + description + "Umbrella mode"; + container global { + description + "umbrella global parameter-map"; + presence "true"; + leaf token { + description + "Config umbrella token"; + type string { + length "1..64"; + } + } + leaf local-domain { + description + "Local domain processing"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:regex/ios-policy:name"; + } + } + leaf dnscrypt { + description + "Enable DNSCrypt"; + type boolean; + default "true"; + } + leaf public-key { + description + "DNSCrypt provider public key"; + type string { + length "1..80"; + } + } + leaf udp-timeout { + description + "Config timeout value for UDP sessions"; + type uint8 { + range "1..30"; + } + default "5"; + } + container resolver { + description + "Anycast address"; + list ipv4 { + description + "IPv4 anycast address"; + key "address"; + leaf address { + type inet:ipv4-address; + } + must "not(/ios:native/ios:parameter-map/ios:type/ios-umbrella:umbrella/ios-umbrella:global/ios-umbrella:resolver/ios-umbrella:ipv4[ios-umbrella:address='208.67.222.222'] or + /ios:native/ios:parameter-map/ios:type/ios-umbrella:umbrella/ios-umbrella:global/ios-umbrella:resolver/ios-umbrella:ipv4[ios-umbrella:address='208.67.220.220'])" { + error-message "Config not allowed for default umbrella resolver addresses 208.67.222.222 and 208.67.220.220"; + } + } + list ipv6 { + description + "IPv6 anycast address"; + key "address"; + leaf address { + type inet:ipv6-address; + } + must "not(/ios:native/ios:parameter-map/ios:type/ios-umbrella:umbrella/ios-umbrella:global/ios-umbrella:resolver/ios-umbrella:ipv6[ios-umbrella:address='2620:119:53::53'] or + /ios:native/ios:parameter-map/ios:type/ios-umbrella:umbrella/ios-umbrella:global/ios-umbrella:resolver/ios-umbrella:ipv6[ios-umbrella:address='2620:119:35::35'])" { + error-message "Config not allowed for default umbrella resolver addresses 2620:119:53::53 and 2620:119:35::35"; + } + } + } + leaf orgid { + description + "Config umbrella org id"; + type uint32 { + range "1..2147483647"; + } + } + leaf api-key { + description + "Config umbrella api-key"; + type string { + length "1..64"; + } + } + container secret { + description + "Secret"; + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf secret-key { + type string; + } + } + leaf registration-vrf { + if-feature "ios-features:sdwan"; + description + "Exit VRF for Umbrella Registrations"; + must '/ios:native/ios:ip/ios:vrf[ios:name = current()] or /ios:native/ios:vrf/ios:definition[ios:name = current()]' { + error-message "Please create vrf first, and delete vrf last"; + } + type string { + length "1..32"; + } + } + list vrf { + description + "Umbrella per-VRF Config Parameters"; + key "name"; + leaf name { + description + "VRF name"; + must '/ios:native/ios:ip/ios:vrf[ios:name = current()] or /ios:native/ios:vrf/ios:definition[ios:name = current()]' { + error-message "Please create vrf first, and delete vrf last"; + } + type string { + length "1..32"; + } + } + leaf dns-resolver { + description + "Config DNS resolver"; + type union { + type inet:ipv4-address; + type enumeration { + enum umbrella; + } + } + } + leaf match-local-domain-to-bypass { + description + "Match local domain list (if configured) and bypass from redirection"; + type boolean; + default "true"; + } + } + leaf use-v2-api { + description + "Use umbrella v2 APIs"; + type boolean; + default "true"; + } + } + list non-global-parameter-map { + description + "non-global parameter-map name"; + key "name"; + leaf name { + description + "parameter-map name maximum 32 chars"; + must '/ios:native/ios:parameter-map/ios:type/ios-umbrella:umbrella/ios-umbrella:global' { + error-message "Global Umbrella parameter-map must be created first and deleted last"; + } + type string { + length "1..32"; + } + } + } + } + } + + grouping config-interface-umbrella-grouping { + container umbrella { + description + "Umbrella interface commands"; + leaf out { + description + "Umbrella Out direction"; + type empty; + } + container in { + description + "Umbrella In direction"; + choice tag_or_dca { + leaf tag { + description + "Umbrella interface tag"; + type string { + length "1..49"; + } + } + container direct-cloud-access { + description + "Umbrella direct cloud access"; + leaf policy { + description + "Umbrella policy map name"; + must "/ios:native/ios:policy/ios-policy:policy-map[ios-policy:name=current()] or .='default'" { + error-message "user-defined policy or default policy must be configured"; + } + type string { + length "1..512"; + } + } + leaf tag { + description + "Umbrella interface tag"; + type string { + length "1..49"; + } + } + } + } + } + } + } + + augment "/ios:native/ios:parameter-map/ios:type" { + uses config-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + status obsolete; + uses config-interface-umbrella-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-umbrella-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-umbrella-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig-oper.yang new file mode 100644 index 000000000..a71fd2530 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig-oper.yang @@ -0,0 +1,283 @@ +module Cisco-IOS-XE-uplink-autoconfig-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-uplink-autoconfig-oper"; + prefix uplink-autoconfig-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for uplink auto config operational data. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef uac-addr-type { + type enumeration { + enum uac-addr-none { + value 0; + description + "None address type"; + } + enum uac-ipv4-addr { + value 1; + description + "IPv4 address type"; + } + enum uac-ipv6-addr { + value 2; + description + "IPv6 address type"; + } + } + description + "Uplink IP address type"; + } + + typedef uplink-score { + type enumeration { + enum uac-score-bad { + value 0; + description + "Lowest score"; + } + enum uac-score-nw-ua { + value 1; + description + "Existing configuration, that is not known to be working or faced error previously"; + } + enum uac-score-ddhcp { + value 2; + description + "Discovered vlan with a DHCP offered IP address and known to be working"; + } + enum uac-score-cdhcp { + value 3; + description + "Configured vlan with a DHCP offered IP address and known to be working"; + } + enum uac-score-cstatic { + value 4; + description + "Configured vlan with a static IP address and known to be working"; + } + enum uac-score-pdhcp { + value 5; + description + "User preferred and configured vlan with a DHCP offered IP address that is known to be working"; + } + enum uac-score-pstatic { + value 6; + description + "User preferred and configured vlan with static IP address that is known to be working"; + } + enum uac-score-lk { + value 7; + description + "Vlan that is known to be working before reload"; + } + enum uac-score-if-lk { + value 8; + description + "User preferred and configured vlan when another pre-reboot, working, uplink present"; + } + } + description + "Uplink score of interface, based on configuration and the status of probes"; + } + + grouping uplink-if-key { + description + "Key for uplink interface table which uniquely identifies uplink interface for IPV4 and IPV6"; + leaf ipaddr-type { + type uplink-autoconfig-ios-xe-oper:uac-addr-type; + description + "Address type for uplink interface. It can be IPV4/IPV6"; + } + } + + grouping uplink-ipv4-if { + description + "Uplink Interface IPV4 data"; + leaf if-name { + type string; + description + "Interface name for IPV4 uplink interface"; + } + leaf vlan-id { + type uint16; + description + "Vlan id for IPV4 uplink interface"; + } + leaf uac-addr { + type inet:ip-address; + description + "IPV4 address of uplink interface"; + } + leaf subnet { + type inet:ip-address; + description + "Subnet mask for IPV4 uplink interface"; + } + leaf uac-gw { + type inet:ip-address; + description + "Gateway IP address for IPV4 uplink interface"; + } + leaf gw-mac { + type yang:mac-address; + description + "Gateway MAC of IPV4 uplink"; + } + leaf uac-score { + type uplink-autoconfig-ios-xe-oper:uplink-score; + description + "Score of IPV4 uplink interface"; + } + leaf is-feature-created { + type boolean; + description + "The IPV4 interface is created by device feature or by user"; + } + leaf port-name { + type string; + description + "Port name for IPV4 uplink interface"; + } + } + + grouping uplink-ipv6-if { + description + "Uplink Interface IPV6 data"; + leaf if-name { + type string; + description + "Interface name for IPV6 uplink interface"; + } + leaf vlan-id { + type uint16; + description + "Vlan ID chosen for IPV6 uplink interface"; + } + leaf-list uac-addr { + type inet:ip-prefix; + max-elements 16; + ordered-by user; + description + "List of IPV6 addresses of uplink interface"; + } + leaf-list uac-gw { + type inet:ipv6-address; + max-elements 16; + ordered-by user; + description + "Gateway IP address for IPV6 uplink interface"; + } + leaf gw-mac { + type yang:mac-address; + description + "Gateway MAC of IPV6 uplink"; + } + leaf uac-score { + type uplink-autoconfig-ios-xe-oper:uplink-score; + description + "Score of IPV6 uplink interface"; + } + leaf is-feature-created { + type boolean; + description + "The IPV6 interface is created by device feature or by user"; + } + leaf port-name { + type string; + description + "Port name for IPV6 uplink interface"; + } + } + + grouping uplink-if { + description + "Uplink interface details"; + container uplink-ipv4 { + description + "Uplink IPV4 interface details"; + uses uplink-autoconfig-ios-xe-oper:uplink-ipv4-if; + } + container uplink-ipv6 { + description + "Uplink IPV6 interface details"; + uses uplink-autoconfig-ios-xe-oper:uplink-ipv6-if; + } + } + + grouping uplink-sr-key { + description + "Uplink static route details"; + leaf dst-addr { + type inet:ip-address; + description + "Destination address configured for uplink static route"; + } + leaf dst-mask { + type inet:ip-address; + description + "Destination mask configured for uplink static route"; + } + leaf vlan-id { + type uint16; + description + "Vlan interface for uplink static route"; + } + leaf nh-addr { + type inet:ip-address; + description + "Next hop address for uplink static route"; + } + } + + container uplink-autoconfig-oper-data { + config false; + description + "This model provides details of selected IPV4/IPV6 uplink interface and static route created by the uplink auto config feature"; + list uplink-if { + key "ipaddr-type"; + description + "Uplink interface details for IPV4/IPV6"; + uses uplink-autoconfig-ios-xe-oper:uplink-if; + uses uplink-autoconfig-ios-xe-oper:uplink-if-key; + } + list uplink-sr { + key "dst-addr dst-mask vlan-id nh-addr"; + description + "Static route details for uplink interface"; + uses uplink-autoconfig-ios-xe-oper:uplink-sr-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig.yang new file mode 100644 index 000000000..3e12a42bc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-uplink-autoconfig.yang @@ -0,0 +1,73 @@ +module Cisco-IOS-XE-uplink-autoconfig { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-uplink-autoconfig"; + prefix ios-uac; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Uplink auto config YANG model. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Initial revision for uplink-auto config"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-uplink-autoconfig-grouping { + container uplink { + leaf autoconfig { + description + "Enable uplink auto config"; + type empty; + } + container ipv4 { + description + "Uplink IPv4 interface"; + when '../autoconfig'; + uses uplink-autoconfig-interface-vlan-grouping; + } + container ipv6 { + description + "Uplink IPv6 interface"; + when '../autoconfig'; + uses uplink-autoconfig-interface-vlan-grouping; + } + } + } + + grouping uplink-autoconfig-interface-vlan-grouping { + container interface { + description + "uplink interface"; + leaf vlan { + description + "VLAN ID for uplink interface"; + type uint16 { + range "1..4094"; + } + default "1"; + } + } + } + + augment "/ios:native" { + uses config-uplink-autoconfig-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-actions-rpc.yang new file mode 100644 index 000000000..341f66c10 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-actions-rpc.yang @@ -0,0 +1,92 @@ +module Cisco-IOS-XE-utd-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd-actions-rpc"; + prefix utd-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Unified Threat Defense (UTD) RPC. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping utd-custom-signature-profile-type { + description + "Custom-signature profile related grouping"; + leaf profile-name { + type string { + length "1..127"; + } + mandatory true; + description + "Custom-signature profile name"; + } + leaf filename { + type string { + length "1..127"; + } + description + "Custom-signature file name"; + } + } + + grouping utd-custom-signature-file-type { + description + "Custom-signature file related grouping"; + leaf filename { + type string { + length "1..127"; + } + mandatory true; + description + "Custom-signature file name"; + } + } + + rpc utd-custom-signature-apply { + description + "Custom-signature apply action RPC."; + input { + uses utd-actions-rpc:utd-custom-signature-profile-type; + } + } + + rpc utd-custom-signature-load { + description + "Custom-signature load action RPC."; + input { + uses utd-actions-rpc:utd-custom-signature-profile-type; + } + } + + rpc utd-custom-signature-validate { + description + "Custom-signature validate action RPC."; + input { + uses utd-actions-rpc:utd-custom-signature-file-type; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-common-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-common-oper.yang new file mode 100644 index 000000000..7f2ba92ef --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-common-oper.yang @@ -0,0 +1,154 @@ +module Cisco-IOS-XE-utd-common-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd-common-oper"; + prefix utd-common-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + common for all UTD operational data. + Copyright (c) 2018-2019, 2022-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Moved UTD connectivity types from UTD operational model to a common UTD model"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-04-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef utd-con-state { + type enumeration { + enum utd-con-unknown { + value 0; + description + "UTD Connectivity status unknown"; + } + enum utd-con-down { + value 1; + description + "UTD Connectivity status down"; + } + enum utd-con-up { + value 2; + description + "UTD Connectivity status up"; + } + } + description + "UTD Connectivity status"; + } + + typedef utd-con-reason { + type enumeration { + enum utd-con-unknown-err { + value 0; + description + "Unknown error occurred while running connectivity status"; + } + enum utd-con-none { + value 1; + description + "Connectivity test ran successfully without an error"; + } + enum utd-con-connection-err { + value 2; + description + "Connection error occurred while running connectivity status"; + } + enum utd-con-http-err { + value 3; + description + "HTTP error occurred while running connectivity status"; + } + enum utd-con-proxy-err { + value 4; + description + "Proxy error occurred while running connectivity status"; + } + enum utd-con-ssl-err { + value 5; + description + "SSL error occurred while running connectivity status"; + } + enum utd-con-timeout-err { + value 6; + description + "Timeout error occurred while running connectivity status"; + } + } + description + "Reason for UTD Connectivity status to go down"; + } + + typedef utd-update-status-val { + type enumeration { + enum utd-update-status-unknown { + value 0; + description + "Unified Threat Defense (UTD) update status is unknown"; + } + enum utd-update-status-success { + value 1; + description + "Unified Threat Defense (UTD) update successful"; + } + enum utd-update-status-failure { + value 2; + description + "Unified Threat Defense (UTD) update failed"; + } + enum utd-update-status-no-update { + value 3; + description + "Unified Threat Defense (UTD) update attempted but not required"; + } + } + description + "Unified Threat Defense (UTD) update status"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-events.yang new file mode 100644 index 000000000..202f44d72 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-events.yang @@ -0,0 +1,110 @@ +module Cisco-IOS-XE-utd-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd-events"; + prefix utd-ios-xe-events; + + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import Cisco-IOS-XE-utd-common-oper { + prefix utd-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG Definitions + for UTD event notification. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef utd-connectivity-type-val { + type enumeration { + enum utd-conn-type-none { + value 0; + description + "Unified Threat Defense (UTD) connectivity type is none"; + } + enum utd-conn-type-urlf { + value 1; + description + "Unified Threat Defense (UTD) connectivity type is URL-Filtering"; + } + } + description + "Unified Threat Defense (UTD) connectivity type"; + } + + grouping utd-connectivity { + description + "Unified Threat Defense (UTD) connectivity"; + leaf severity { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf type { + type utd-ios-xe-events:utd-connectivity-type-val; + description + "connectivity type"; + } + leaf timestamp { + type yang:date-and-time; + description + "connectivity timestamp"; + } + leaf status { + type utd-common-ios-xe-oper:utd-con-state; + description + "connectivity status"; + } + leaf reason { + type utd-common-ios-xe-oper:utd-con-reason; + description + "connectivity down reason"; + } + } + + notification utd-con { + description + "Unified Threat Defense (UTD) connectivity notification"; + uses utd-ios-xe-events:utd-connectivity; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-oper.yang new file mode 100644 index 000000000..a1708f2dd --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-oper.yang @@ -0,0 +1,626 @@ +module Cisco-IOS-XE-utd-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd-oper"; + prefix utd-ios-xe-oper; + + import Cisco-IOS-XE-utd-common-oper { + prefix utd-common-ios-xe-oper; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring Unified Threat Defense (UTD). + Copyright (c) 2018-2020, 2022-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Moved UTD connectivity types from UTD operational model to common UTD model"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2021-03-01 { + description + "Added Unified Threat Defense (UTD) connectivity status"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2019-11-01 { + description + "Added Unified Threat Defense (UTD) Routing Table + and UTD Domain Name System (DNS) Configurations"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-11-05 { + description + "- Add UTD file reputation/analysis status + - Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-06-18 { + description + "Add UTD version status"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-04-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef utd-oper-status-val { + type enumeration { + enum utd-oper-status-unknown { + value 0; + description + "Unified Threat Defense (UTD) operational status is unknown - Unable to determine status"; + } + enum utd-oper-status-green { + value 1; + description + "Unified Threat Defense (UTD) operational status is green - Working as expected"; + } + enum utd-oper-status-yellow { + value 2; + description + "Unified Threat Defense (UTD) operational status is yellow - Minor problem"; + } + enum utd-oper-status-red { + value 3; + description + "Unified Threat Defense (UTD) operational status is red - Major problem"; + } + enum utd-oper-status-down { + value 4; + description + "Unified Threat Defense (UTD) operational status is down - Communication has been lost"; + } + } + description + "Unified Threat Defense (UTD) operational status"; + } + + typedef utd-file-reputation-status-states { + type enumeration { + enum utd-file-repu-stat-process-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection beaker process down"; + } + enum utd-file-repu-stat-process-up { + value 1; + description + "UTD Integration Advanced Malware Protection beaker process up"; + } + enum utd-file-repu-stat-process-down { + value 2; + description + "UTD Integration Advanced Malware Protection beaker process down"; + } + enum utd-file-repu-stat-amp-module-load-fail { + value 3; + description + "UTD Integration Advanced Malware Protection beaker AMP module load fail"; + } + enum utd-file-repu-stat-connected { + value 4; + description + "UTD Integration Advanced Malware Protection beaker connected"; + } + enum utd-file-repu-stat-not-connected { + value 5; + description + "UTD Integration Advanced Malware Protection beaker not connected"; + } + } + description + "UTD Integration Advanced Malware Protection AMP status"; + } + + typedef utd-file-analysis-states { + type enumeration { + enum tg-client-stat-unknown { + value 0; + description + "UTD Integration Advanced Malware Protection TG health status client unknown"; + } + enum tg-client-stat-down { + value 1; + description + "UTD Integration Advanced Malware Protection TG health status client down"; + } + enum tg-client-stat-up { + value 2; + description + "UTD Integration Advanced Malware Protection TG health status client up"; + } + enum api-key-stat-not-present { + value 3; + description + "UTD Integration Advanced Malware Protection TG health status apikey not present"; + } + enum api-key-stat-invalid { + value 4; + description + "UTD Integration Advanced Malware Protection TG health status apikey invalid"; + } + enum file-upload-stat-limit-reached { + value 5; + description + "UTD Integration Advanced Malware Protection TG health status file upload limit reached"; + } + } + description + "UTD Integration Advanced Malware Protection TG health status"; + } + + typedef utd-route-flag { + type bits { + bit utd-route-flag-route-up { + position 0; + description + "Route is up"; + } + bit utd-route-flag-target-is-host { + position 1; + description + "Target is a host"; + } + bit utd-route-flag-gateway-used { + position 2; + description + "Route uses gateway"; + } + bit utd-route-flag-route-reinstated { + position 3; + description + "Reinstate route for dynamic routing"; + } + bit utd-route-flag-dynamic-install { + position 4; + description + "Route dynamically installed by daemon or redirect"; + } + bit utd-route-flag-modified { + position 5; + description + "Route modified from routing daemon or redirect"; + } + bit utd-route-flag-installed-by-address-configuration { + position 6; + description + "Route installed by address configuration"; + } + bit utd-route-flag-cache-entry { + position 7; + description + "Route is a cached entry"; + } + bit utd-route-flag-route-rejected { + position 8; + description + "Route Rejected"; + } + } + description + "UTD route's flag description"; + } + + grouping utd-update-status { + description + "Unified Threat Defense (UTD) update status"; + leaf version { + type string; + description + "Version"; + } + leaf last-update-time { + type yang:date-and-time; + description + "Time of last attempted update"; + } + leaf last-update-status { + type utd-common-ios-xe-oper:utd-update-status-val; + description + "Status of last attempted update"; + } + leaf last-update-reason { + type string; + description + "Reason for last attempted update failure"; + } + leaf last-successful-update-time { + type yang:date-and-time; + description + "Time of last successful update"; + } + } + + grouping utd-ips-update-status { + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) update status"; + container ips-update-status { + description + "Intrusion Prevention System (IPS) update status"; + uses utd-ios-xe-oper:utd-update-status; + } + } + + grouping utd-urlf-update-status { + description + "Unified Threat Defense (UTD) URL-Filtering (URLF) update status"; + container urlf-update-status { + description + "URL-Filtering (URLF) update status"; + uses utd-ios-xe-oper:utd-update-status; + } + } + + grouping utd-engine-instance-status { + description + "Unified Threat Defense (UTD) engine instance status"; + leaf id { + type uint32; + description + "Engine instance ID"; + } + leaf running { + type boolean; + description + "Engine instance running"; + } + leaf status { + type utd-ios-xe-oper:utd-oper-status-val; + description + "Engine instance status"; + } + leaf reason { + type string; + description + "Engine instance status reason"; + } + } + + grouping utd-engine-status { + description + "Unified Threat Defense (UTD) engine status"; + leaf version { + type string; + description + "Engine version"; + } + leaf profile { + type string; + description + "Profile"; + } + leaf status { + type utd-ios-xe-oper:utd-oper-status-val; + description + "Overall status"; + } + leaf reason { + type string; + description + "Overall status reason"; + } + leaf memory-usage { + type decimal64 { + fraction-digits 2; + } + units "percent"; + description + "Percentage of memory used"; + } + leaf memory-status { + type utd-ios-xe-oper:utd-oper-status-val; + description + "Status of memory usage"; + } + list utd-engine-instance-status { + key "id"; + description + "Status of engine instances"; + uses utd-ios-xe-oper:utd-engine-instance-status; + } + } + + grouping utd-version-status { + description + "Unified Threat Defense (UTD) version status"; + leaf recommended-version { + type string; + description + "Unified Threat Defense (UTD) version recommended to run"; + } + leaf supported-regex { + type string; + description + "Unified Threat Defense (UTD) version regular expression- describes version support"; + } + leaf installed-version { + type string; + description + "Unified Threat Defense (UTD) version currently installed"; + } + leaf supported { + type boolean; + description + "Unified Threat Defense (UTD) supported flag - indicates if the installed UTD version is compatible with the supported version"; + } + } + + grouping utd-file-reputation-status { + description + "UTD Integration Advanced Malware Protection beaker general status"; + leaf version { + type string; + description + "UTD Integration Advanced Malware Protection beaker version"; + } + leaf status { + type utd-ios-xe-oper:utd-file-reputation-status-states; + description + "UTD Integration Advanced Malware Protection beaker status"; + } + leaf message { + type string; + description + "UTD Integration Advanced Malware Protection beaker status messages"; + } + } + + grouping utd-file-analysis-status { + description + "UTD Integration Advanced Malware Protection TG status"; + leaf status { + type utd-ios-xe-oper:utd-file-analysis-states; + description + "UTD Integration Advanced Malware Protection TG status health status"; + } + leaf backoff-interval { + type uint64; + description + "UTD Integration Advanced Malware Protection TG status number of seconds for backoff"; + } + leaf message { + type string; + description + "UTD Integration Advanced Malware Protection TG status messages"; + } + } + + grouping utd-route { + description + "Unified Threat Defense (UTD) Routing Table's individual routes"; + leaf id { + type uint32; + description + "ID to distinguish the routes"; + } + leaf destination { + type inet:ip-address; + description + "The destination address or destination host"; + } + leaf gateway { + type inet:ip-address; + description + "The gateway address"; + } + leaf genmask { + type inet:ip-address; + description + "The netmask for the destination net, + 255.255.255.255 for a host destination + and 0.0.0.0 for the default route"; + } + leaf flags { + type utd-ios-xe-oper:utd-route-flag; + description + "The route's flags"; + } + leaf metric { + type int16; + description + "The 'distance' to the target (usually counted in hops) + It is not used by recent kernels, but may be needed by routing daemons"; + } + leaf use { + type int16; + description + "Count of lookups for the route. In our case, it is route cache misses"; + } + leaf ref { + type int16; + description + "Number of references to the route"; + } + leaf interface { + type string; + description + "Interface to which packets for this route will be sent"; + } + } + + grouping utd-dns { + description + "Domain Name System (DNS) Configuration of Unified Threat Defense (UTD) Container"; + leaf domain { + type string; + description + "Local domain name"; + } + leaf-list name-server { + type inet:ip-address; + max-elements 32; + ordered-by user; + description + "Name servers in Domain Name System (DNS) configurations"; + } + } + + grouping utd-con-feat { + description + "Unified Threat Defense (UTD) connectivity feature"; + leaf status { + type utd-common-ios-xe-oper:utd-con-state; + description + "UTD connectivity status"; + } + leaf attempt-once { + type empty; + description + "This field indicates if the connectivity status has been attempted at least once"; + } + leaf last-attempt-time { + when 'boolean(../attempt-once)'; + type yang:date-and-time; + description + "Timestamp of last UTD connectivity attempt"; + } + leaf up-once { + type empty; + description + "This field indicates if the connectivity status has been up at least once"; + } + leaf last-up-time { + when 'boolean(../up-once)'; + type yang:date-and-time; + description + "Timestamp of last successful UTD connectivity attempt"; + } + leaf down-once { + type empty; + description + "This field indicates if the connectivity status has been down at least once"; + } + leaf last-down-time { + when 'boolean(../down-once)'; + type yang:date-and-time; + description + "Timestamp of last failed UTD connectivity attempt"; + } + leaf last-down-reason { + when 'boolean(../down-once)'; + type utd-common-ios-xe-oper:utd-con-reason; + description + "Last known reason for the UTD connectivity status to go down"; + } + } + + grouping utd-urlf-con { + description + "Unified Threat Defense (UTD) connectivity to URL-Filtering Server"; + container con-status { + description + "UTD connectivity status to URL-Filtering server"; + uses utd-ios-xe-oper:utd-con-feat; + } + } + + container utd-oper-data { + config false; + description + "Unified Threat Defense (UTD) operational data"; + container utd-engine-status { + presence "utd-engine-status"; + description + "Unified Threat Defense (UTD) engine status"; + uses utd-ios-xe-oper:utd-engine-status; + } + container utd-ips-update-status { + presence "utd-ips-update-status"; + description + "Unified Threat Defense (UTD) Intrusion Prevention System (IPS) update status"; + uses utd-ios-xe-oper:utd-ips-update-status; + } + container utd-urlf-update-status { + presence "utd-urlf-update-status"; + description + "Unified Threat Defense (UTD) URL-Filtering (URLF) update status"; + uses utd-ios-xe-oper:utd-urlf-update-status; + } + container utd-version-status { + presence "utd-version-status"; + description + "Unified Threat Defense (UTD) version status"; + uses utd-ios-xe-oper:utd-version-status; + } + container utd-file-reputation-status { + presence "utd-file-reputation-status"; + description + "UTD Integration Advanced Malware Protection beaker status"; + uses utd-ios-xe-oper:utd-file-reputation-status; + } + container utd-file-analysis-status { + presence "utd-file-analysis-status"; + description + "UTD Integration Advanced Malware Protection TG status"; + uses utd-ios-xe-oper:utd-file-analysis-status; + } + list utd-route { + key "id"; + description + "UTD Routing Table"; + uses utd-ios-xe-oper:utd-route; + } + container utd-dns { + presence "utd-dns"; + description + "UTD Domain Name System (DNS) Configuration"; + uses utd-ios-xe-oper:utd-dns; + } + container utd-urlf-con { + presence "utd-urlf-con"; + description + "UTD container connectivity status"; + uses utd-ios-xe-oper:utd-urlf-con; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-rpc.yang new file mode 100644 index 000000000..3c0902e48 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd-rpc.yang @@ -0,0 +1,415 @@ +module Cisco-IOS-XE-utd-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd-rpc"; + prefix ios-xe-utd-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED UTD RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Updated augment"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Created for NED RPC modularisation"; + cisco-semver:module-version "1.0.0"; + } + + grouping utd-username-password-grouping { + leaf username { + description + "Provide the username for authentication"; + mandatory true; + type string; + } + leaf password { + description + "Provide the password for authentication"; + mandatory true; + type string; + } + } + + rpc utd { + description + "Unified Threat Defense commands"; + input { + choice feature { + case feature-threat { + container threat-inspection { + description + "IPS/IDS related commands"; + container signature { + description + "Provide actions to be taken for signatures"; + choice method { + container saved-drop-node-name { + leaf update { + description + "Update the IPS/IDS signature rules"; + mandatory true; + type empty; + } + } + container manual-drop-node-name { + container update { + description + "Update the IPS/IDS signature rules"; + choice type { + container file { + description + "Perform an update of the signature package using a local file"; + leaf filename-drop-node-name { + mandatory true; + type string; + } + } + container server { + description + "Provide config options for the signature update server"; + choice type { + container cisco { + description + "Use Cisco site to provide updates"; + uses utd-username-password-grouping; + } + container url { + description + "Enter the complete URL for the path to the update server"; + choice url-uname-passwd { + container credentials-drop-node-name { + leaf url-drop-node-name { + mandatory true; + type string; + } + uses utd-username-password-grouping; + } + container no-credentials-drop-node-name { + leaf url-drop-node-name { + mandatory true; + type string; + } + } + } + } + } + } + } + } + } + } + } + } + } + case feature-webfltr { + container web-filter { + description + "Web-filter related commands"; + container database { + description + "Provide actions to be taken for the web-filter database"; + leaf update { + description + "Update the web-filter database"; + mandatory true; + type empty; + } + } + } + } + case feature-file-inspection { + container file-inspection { + description + "UTD file inspection commands"; + container analysis { + description + "UTD file analysis related commands"; + leaf apikey { + description + "Provide UTD file analysis apikey"; + mandatory true; + type string { + length "1..128"; + } + } + } + } + } + } + } + output { + uses ios-xe-rpc:cisco-xe-rpc-output; + } + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice" { + case utd-case { + container utd { + description + "Clear Unified Threat Defense information"; + container engine { + description + "Clear information about the UTD engine"; + container standard { + description + "Clear information about the standard engine"; + choice utd-eng-std-choice { + container logging { + description + "Clear logging information/logs from the container"; + leaf events { + description + "Clear engine logging events from the container"; + type empty; + } + } + container statistics { + description + "Clear the engine statistics from the container"; + choice stats-choice { + container daq { + description + "Clear statistics for DAQ from the container"; + choice daq-choice { + case all { + leaf all-drop-node-name { + type empty; + } + } + case vrf { + container vrf { + description + "Specify VRF for the stats"; + choice vrf-choice { + case global { + leaf global { + description + "Global VRF"; + type empty; + } + } + case name { + leaf name { + description + "VRF name"; + type string { + length "1..32"; + } + } + } + } + } + } + } + } + container url-filtering { + description + "Clear statistics for url filtering from the container"; + choice url-filtering-choice { + case all { + leaf all-drop-node-name { + type empty; + } + } + case vrf { + container vrf { + description + "Specify VRF for the stats"; + choice vrf-choice { + case global { + leaf global { + description + "Global VRF"; + type empty; + } + } + case name { + leaf name { + description + "VRF name"; + type string { + length "1..32"; + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice/ios-xe-rpc:platform-case/ios-xe-rpc:platform/ios-xe-rpc:platform-choice/ios-xe-rpc:hardware-case/ios-xe-rpc:hardware/ios-xe-rpc:qfp/ios-xe-rpc:active/ios-xe-rpc:feature/ios-xe-rpc:feature-choice" { + case utd-case { + container utd { + description + "Clear QFP UTD"; + container stats { + description + "Clear UTD statistics"; + choice stats-choice { + case all { + leaf all-drop-node-name { + type empty; + } + } + case default { + container default { + description + "Default Context"; + leaf context { + description + "Default Context"; + type empty; + } + } + } + case divert { + leaf divert { + description + "Clear AppNav Redirect Statistics"; + type empty; + } + } + case drop { + leaf drop { + description + "Clear Drop Statistics"; + type empty; + } + } + case general { + leaf general { + description + "Clear General Statistics"; + type empty; + } + } + case sn { + leaf sn { + description + "Clear AppNav Service Node Statistics"; + type empty; + } + } + case summary { + leaf summary { + description + "Clear Summary Statistics"; + type empty; + } + } + case tls-decrypt { + leaf tls-decrypt { + description + "Clear TLS Decryption Statistics"; + type empty; + } + } + case channel { + container channel { + description + "Clear channel specific stats"; + choice chnl-choice { + case threat-defense { + leaf threat-defense { + description + "Clear UTD Dataplane Threat-Defense Channel Stats"; + type empty; + } + } + case service { + leaf service { + description + "Clear UTD Dataplane Service Channel Stats"; + type empty; + } + } + } + } + } + case policy { + leaf policy { + description + "Clear UTD Dataplane Policy Statistics"; + type empty; + } + } + case vrf { + container vrf { + description + "Clear VRF Statistics"; + choice vrf-choice { + case default-context { + container default { + description + "Default Context"; + leaf context { + description + "Default Context"; + type empty; + } + } + } + case global { + leaf global { + description + "Global domain"; + type empty; + } + } + case id { + leaf id { + description + "Clear VRF statistics by id"; + type uint16 { + range "0..4096"; + } + } + } + case name { + leaf name { + description + "Clear VRF statistics by name"; + type string { + length "1..32"; + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-utd.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd.yang new file mode 100644 index 000000000..defe87d54 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-utd.yang @@ -0,0 +1,1770 @@ +module Cisco-IOS-XE-utd { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-utd"; + prefix ios-utd; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Unified Threat Defense (UTD) Yang model. + Copyright (c) 2016-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Added new options for utd-category-type"; + cisco-semver:module-version "1.7.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added custom-signature rules + - Added source-interface for logging host"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-07-01 { + description + "- Added TCP normalizer disable feature"; + cisco-semver:module-version "1.5.0"; + } + revision 2021-11-01 { + description + "- Added URL-Filtering option to decrypt TLS to inject the blocked page"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-07-01 { + description + "- Added UTD Unified policy support + - Added parameter-map for unified policy + - Added annotation to only accept full 'no utd enable' on interface + - Added delete dependencies for unified policy mode and parameter-map"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-03-01 { + description + "- Replaced deprecated diff-dependency annotations"; + cisco-semver:module-version "1.2.1"; + } + revision 2020-11-01 { + description + "- Added port-scan support + - Flow logging configuration + - Refactor UTD multi-tenancy for unified policy + - Obsolete interface augment"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "-Fixed AMP ordering dependencies"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Add log level SSL decryption support + - Add alert level SSL decryption support + - Add global SSL decryption support + - Add encryption type to apikey + - Add skip-decrypt-threshold reputation support"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2019-01-07 { + description + "Add support for BD-VIF interface"; + } + revision 2018-12-18 { + description + "Refactored file-inspection options"; + } + revision 2018-12-11 { + description + "Added apikey to utd global file-analysis cfg"; + } + revision 2018-12-07 { + description + "Fix incorrect block page text string length"; + } + revision 2018-12-06 { + description + "Change non-strict-leafref's to leafref's for threat-defense features"; + } + revision 2018-11-21 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-14 { + description + "Add file types for file analysis in UTD multi-tenancy"; + } + revision 2018-11-06 { + description + "Removed instances of max string length of 128/256/512"; + } + revision 2018-10-17 { + description + "Add logging statistics options under utd engine standard threat-inspection"; + } + revision 2018-10-04 { + description + "Added AMP CLIs in the UTD multi-tenancy grouping"; + } + revision 2018-09-10 { + description + "Support quotes in block page text entries"; + } + revision 2018-08-01 { + description + "Fix unable to move VRF between policies in a single transaction"; + } + revision 2018-07-12 { + description + "Set default logging levels for IPS and URLF"; + } + revision 2018-07-11 { + description + "fixed must constraints for default vrf 'global'"; + } + revision 2018-06-28 { + description + "Added must constraints for deleting vrf"; + } + revision 2018-05-22 { + description + "Add support for cloud-lookup CLI"; + } + revision 2018-05-14 { + description + "Limit string lengths for threat-defense features"; + } + revision 2018-04-24 { + description + "Add 'all-interfaces' and 'fail close' to multi-tenancy policy"; + } + revision 2018-04-23 { + description + "Add generator id key to multi-tenancy whitelist"; + } + revision 2018-03-22 { + description + "Add generator id key to single-tenancy whitelist"; + } + revision 2018-02-22 { + description + "Add threat-defense support for Ethernet interfaces"; + } + revision 2018-02-06 { + description + "Refactor parameter-map"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Add 2GE interface"; + } + revision 2017-09-19 { + description + "Add UTD multi-tenancy support"; + } + revision 2017-08-30 { + description + "Move utd interface support"; + } + revision 2017-08-26 { + description + "Update model to match CLI's in 16.05.01"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef utd-category-type { + type enumeration { + enum abortion; + enum abused-drugs; + enum adult-and-pornography; + enum alcohol-and-tobacco; + enum auctions; + enum bot-nets; + enum business-and-economy; + enum cdns; + enum cheating; + enum computer-and-internet-info; + enum computer-and-internet-security; + enum confirmed-spam-sources; + enum cult-and-occult; + enum dating; + enum dead-sites; + enum dynamic-content; + enum educational-institutions; + enum entertainment-and-arts; + enum fashion-and-beauty; + enum financial-services; + enum gambling; + enum games; + enum government; + enum gross; + enum hacking; + enum hate-and-racism; + enum health-and-medicine; + enum home; + enum hunting-and-fishing; + enum illegal; + enum image-and-video-search; + enum individual-stock-advice-and-tools; + enum internet-communications; + enum internet-portals; + enum job-search; + enum keyloggers-and-monitoring; + enum kids; + enum legal; + enum local-information; + enum malware-sites; + enum marijuana; + enum military; + enum motor-vehicles; + enum music; + enum news-and-media; + enum nudity; + enum online-greeting-cards; + enum online-personal-storage; + enum open-http-proxies; + enum p2p; + enum parked-sites; + enum pay-to-surf; + enum personal-sites-and-blogs; + enum philosophy-and-political-advocacy; + enum phishing-and-other-frauds; + enum private-ip-addresses; + enum proxy-avoid-and-anonymizers; + enum questionable; + enum real-estate; + enum recreation-and-hobbies; + enum reference-and-research; + enum religion; + enum search-engines; + enum sex-education; + enum shareware-and-freeware; + enum shopping; + enum social-network; + enum society; + enum spam-urls; + enum sports; + enum spyware-and-adware; + enum streaming-media; + enum swimsuits-and-intimate-apparel; + enum training-and-tools; + enum translation; + enum travel; + enum uncategorized; + enum unconfirmed-spam-sources; + enum violence; + enum weapons; + enum web-advertisements; + enum web-based-email; + enum web-hosting; + enum unused-food-and-dining; + enum unused-reputation; + enum self-harm; + enum dns-over-https; + enum low-thc-cannabis-products; + enum generative-ai; + } + } + + typedef utd-log-level-type { + type enumeration { + enum detailed; + enum error; + enum info; + } + } + + grouping utd-parameter-map-regex-grouping { + container parameter-map { + description + "Enter the parameter-map information for the regex"; + leaf regex { + description + "Provide the regex parameter-map name"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:regex/ios-policy:name"; + } + } + } + } + + typedef utd-reputation-type { + type enumeration { + enum high-risk; + enum low-risk; + enum moderate-risk; + enum suspicious; + enum trustworthy; + } + } + + typedef utd-alert-type { + type enumeration { + enum all; + enum blacklist; + enum categories-reputation; + enum whitelist; + } + } + + typedef utd-ssl-alert-type { + type enumeration { + enum all; + enum blacklist; + enum graylist; + enum whitelist; + enum categories; + enum reputation; + } + } + + typedef utd-flow-logging-type { + type enumeration { + enum threat-inspection; + enum web-filter; + enum file-inspection; + enum tls-decryption; + } + } + + grouping utd-domain-filter-grouping { + container domain { + description + "UTD Domain based web-filtering submode"; + list profile { + description + "Provide the profile ID"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + leaf alert { + description + "Provide the logging alert level"; + type enumeration { + enum all; + enum blacklist; + enum whitelist; + } + } + container blacklist { + description + "Choose the blacklist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + container redirect-server { + description + "Provide the IP address for the redirect server for blocked domains"; + choice id-choice { + leaf external { + description + "Provide data about the external redirect server"; + type inet:ipv4-address; + } + leaf local-block-server { + description + "Use the local block server as the redirect server"; + type leafref { + path "../../../../block/local-server/profile/id"; + } + } + } + } + container whitelist { + description + "Choose the whitelist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + } + } + } + + grouping utd-category-list-grouping { + list category { + key "name"; + leaf name { + type utd-category-type; + } + } + } + + grouping utd-web-filter-grouping { + container web-filter { + description + "UTD web-filter profile configuration"; + container block { + description + "UTD block profile information"; + container local-server { + description + "UTD local block server configuration profile"; + list profile { + description + "Provide the profile ID"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + container block-page-interface { + description + "Provide the interface to be used for the block server"; + leaf Loopback { + description + "Loopback interface"; + type leafref { + path "/ios:native/ios:interface/ios:Loopback/ios:name"; + } + } + } + container content { + description + "Provide the content to be served from the server"; + choice content-choice { + leaf text { + description + "Provide the text to be printed in the web page served"; + type string { + length "1..240"; + } + } + leaf file { + description + "Provide the HTML file to be served"; + type string { + length "1..128"; + } + } + } + } + leaf http-ports { + description + "Provide the HTTP ports to be used"; + type string { + length "1..100"; + } + } + } + } + container page { + description + "UTD inline block page response profile"; + list profile { + description + "Provide the profile ID"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + choice page-choice { + leaf file { + description + "Specify the file name to be used for the block page"; + type string { + length "1..128"; + } + } + leaf redirect-url { + description + "Specify the URL to be used for redirection"; + type string { + length "1..128"; + } + } + leaf text { + description + "Specify the text to be used to be sent back"; + type string { + length "1..240"; + } + } + } + } + } + } + list sourcedb { + description + "UTD Web filtering source DB configuration submode"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + container logging { + description + "Provide source DB logging information"; + leaf level { + description + "Provide the logging level"; + type enumeration { + enum debug; + enum error; + enum info; + enum trace; + enum warning; + } + default "error"; + } + } + } + container url { + description + "UTD URL based web-filtering submode"; + list profile { + description + "Provide the profile ID"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + leaf-list alert { + description + "Provide the logging alert level"; + type utd-alert-type; + } + container blacklist { + description + "Choose the blacklist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + container categories { + description + "Choose from a list of categories"; + container allow { + description + "Choose the list of categories to be allowed"; + presence "true"; + uses utd-category-list-grouping; + } + container block { + description + "Choose the list of categories to be blocked"; + presence "true"; + uses utd-category-list-grouping; + } + } + container block { + description + "Provide information on the block page/server to be used"; + leaf local-server { + description + "Provide the local block server profile ID"; + type leafref { + path "../../../../block/local-server/profile/id"; + } + } + leaf page-profile { + description + "Provide the ID of the block page profile to be used"; + type leafref { + path "../../../../block/page/profile/id"; + } + } + } + container log { + description + "Choose the URL filtering preprocessor debug log options"; + leaf level { + description + "Choose the URL filtering preprocessor log level"; + type utd-log-level-type; + default "error"; + } + } + container reputation { + description + "Choose the reputation range for the URLs to be blocked"; + presence "true"; + leaf block-threshold { + description + "Block the URLs with reputation at or above the specified level"; + type utd-reputation-type; + } + } + container sourcedb { + description + "Choose source DB related configuration"; + container fail { + description + "Choose the fail option to apply when the source DB is down"; + leaf close { + description + "Drop all URL filtering traffic on source DB failure"; + type empty; + } + } + } + container whitelist { + description + "Choose the whitelist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + leaf tls-decrypt-inject-block { + description + "Decrypt TLS (when able) for the purpose of injecting HTTP blocked content"; + type boolean; + default "true"; + } + } + } + } + } + + grouping hour-minute-grouping { + leaf hours { + type uint8 { + range "0..23"; + } + } + leaf minutes { + type uint8 { + range "0..59"; + } + } + } + + grouping username-password-grouping { + leaf username { + description + "Provide the username for authentication"; + type string { + length "1..64"; + } + } + leaf password { + description + "Provide the password for authentication"; + type string { + length "1..64"; + } + } + } + + grouping utd-engine-standard-grouping { + container logging { + description + "Provide config options for logging the alerts"; + list host { + description + "Log the alerts to a host"; + key "name"; + leaf name { + type string { + length "1..45"; + } + } + leaf source-interface { + description + "Interface to source UTD syslogs from"; + must '/ios:native/ios:interface/*[concat(local-name(.), ios:name) = current()]'; + type string; + } + } + leaf syslog { + description + "Log the alerts to IOS syslogs"; + type empty; + } + } + container threat-inspection { + description + "IPS (or IDS) specific config commands"; + presence "true"; + container signature { + description + "Provide config options for the signatures"; + container update { + description + "Provide config options for the signature updates"; + container occur-at { + description + "Specify update occurence by calendar time"; + choice occur-at-choice { + leaf daily { + description + "Option for daily update"; + type empty; + } + leaf monthly { + description + "Option for monthly update"; + type string { + length "1..128"; + } + } + leaf weekly { + description + "Option for weekly update"; + type string { + length "1..128"; + } + } + } + uses hour-minute-grouping; + } + container server { + description + "Provide config options for the signature update server"; + container cisco { + description + "Use Cisco site to provide updates"; + uses username-password-grouping; + } + container url { + description + "Enter the complete URL for the path to the update server"; + choice url-uname-passwd { + case all-case { + container all { + leaf name { + type string { + length "1..128"; + } + } + uses username-password-grouping; + } + } + case name-only { + leaf name { + type string { + length "1..128"; + } + } + } + } + } + } + } + } + } + container web-filter { + description + "UTD engine standard web-filtering configuration"; + presence "true"; + leaf cloud-lookup { + description + "Cloud Lookup for web filtering"; + type boolean; + default "true"; + } + leaf sourcedb { + description + "Choose the source DB profile to use for web filtering"; + type leafref { + path "../../../../web-filter/sourcedb/id"; + } + } + } + } + + grouping utd-engine-threat-inspection-grouping { + leaf threat { + description + "Provide the threat detection/protection option (default=detection)"; + type enumeration { + enum detection; + enum protection; + } + } + leaf policy { + description + "Provide the policy option (default=balanced)"; + type enumeration { + enum balanced; + enum connectivity; + enum security; + } + } + container logging { + description + "Provide logging level for the alerts for IPS/IDS"; + leaf level { + description + "Provide the log level"; + type enumeration { + enum emerg; + enum alert; + enum crit; + enum err; + enum warning; + enum notice; + enum info; + enum debug; + } + default "err"; + } + } + container port-scan { + description + "Provide the port-scan option"; + presence "true"; + container sense { + description + "Provide the sense level for port-scan"; + leaf level { + description + "Provide the sense level"; + type enumeration { + enum low; + enum medium; + enum high; + } + default "low"; + } + } + } + } + + grouping utd-threat-inspection-whitelist { + list generator { + description + "Provide generator for the whitelist"; + key "id"; + leaf id { + description + "Provide the generator ID to be whitelisted"; + type uint32 { + range "0..4294967295"; + } + } + list signature { + description + "Provide signature for the whitelist"; + key "id"; + leaf id { + description + "Provide the signature ID to be whitelisted"; + type uint32 { + range "0..4294967295"; + } + } + leaf comment { + description + "Provide a comment for the whitelist"; + type string { + length "1..128"; + } + } + } + } + } + + grouping utd-threat-inspection-custom-signature-grouping { + leaf file { + description + "Provide file for the custom-signature"; + type string { + length "8..128"; + pattern '(((bootflash:)|(flash:)|(harddisk:)).*)'; + } + } + } + + grouping utd-threat-inspection-grouping { + container threat-inspection { + description + "UTD Threat Inspection (IPS/IDS) config modes"; + container whitelist { + description + "UTD whitelist config submode"; + list profile { + description + "UTD whitelist profile"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + uses utd-threat-inspection-whitelist; + } + } + container custom-signature { + description + "UTD custom-signature config submode"; + list profile { + description + "UTD custom-signature profile"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + uses utd-threat-inspection-custom-signature-grouping; + } + } + list profile { + description + "UTD Threat Inspection profile"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + uses utd-engine-threat-inspection-grouping; + container whitelist { + description + "Associate a whitelist profile with this profile"; + leaf profile { + description + "UTD whitelist profile"; + type leafref { + path "../../../whitelist/profile/name"; + } + } + } + container custom-signature { + description + "Associate a custom-signature profile with this profile"; + leaf profile { + description + "UTD custom-signature profile"; + type leafref { + path "../../../custom-signature/profile/name"; + } + } + } + } + } + } + + grouping config-threat-inspection-normalizer-grouping { + container normalizer { + description + "Provide config options for normalizer"; + presence "true"; + container tcp { + description + "Provide config options for TCP normalizer"; + presence "true"; + choice tcp-choice { + default "tcp-all-case"; + case tcp-all-case { + leaf all { + description + "Disable TCP normalizer all options"; + type boolean; + default "true"; + } + } + case tcp-options-case { + leaf block { + description + "Disable TCP normalizer block option"; + type boolean; + default "true"; + } + } + } + } + } + } + + grouping utd-global-config-grouping { + container utd { + description + "UTD engine standard settings"; + container global { + description + "UTD engine standard global settings"; + presence "true"; + uses utd-engine-standard-grouping { + augment "threat-inspection" { + uses config-threat-inspection-normalizer-grouping; + } + } + container file-reputation { + description + "UTD file reputation global configuration"; + presence "true"; + leaf cloud-server { + description + "Provide file reputation cloud server configuration"; + type string { + length "1..128"; + } + } + leaf est-server { + description + "Provide file reputation est server configuration"; + type string { + length "1..128"; + } + } + leaf query-interval { + description + "Set the query interval"; + type uint32 { + range "1..86400"; + } + } + } + container file-analysis { + description + "UTD file analysis configuration"; + presence "true"; + leaf cloud-server { + description + "Provide file analysis cloud server configuration"; + type string { + length "1..128"; + } + } + container apikey { + description + "Provide file analysis apikey configuration"; + leaf type { + type enumeration { + enum 0 { + description + "Unencrypted APIkey"; + } + } + } + leaf key { + type string { + length "1..128"; + } + } + } + } + container flow-logging { + description + "Provide the UTD flow logging level"; + choice flow-logging-choice { + case all-case { + leaf all { + type empty; + } + } + case list-case { + leaf-list list { + type utd-flow-logging-type; + } + } + } + } + } + } + } + + grouping utd-file-analysis-profile-grouping { + container file-analysis { + description + "UTD file analysis configuration"; + list profile { + description + "UTD file analysis profile configuration"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + container file-types { + description + "Add the file types to be sent for analysis"; + presence "true"; + list file-type { + key "name"; + leaf name { + type enumeration { + enum pdf; + enum ms-exe; + enum new-office; + enum rtf; + enum mdb; + enum mscab; + enum msole2; + enum wri; + enum xlw; + enum flv; + enum swf; + } + } + } + } + container alert { + description + "File analysis alert level configuration"; + leaf level { + description + "Specify alert level configuration"; + type enumeration { + enum critical; + enum warning; + enum info; + } + } + } + } + } + } + + grouping utd-file-reputation-profile-grouping { + container file-reputation { + description + "UTD file reputation configuration"; + list profile { + description + "UTD file reputation profile configuration"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + container alert { + description + "File reputation alert level configuration"; + leaf level { + description + "Specify alert level configuration"; + type enumeration { + enum critical; + enum warning; + enum info; + } + } + } + } + } + } + + grouping utd-file-inspection-profile-grouping { + container file-inspection { + description + "UTD file inspection configuration"; + list profile { + description + "UTD file inspection profile configuration"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + container analysis { + description + "Enable and configure file analysis for this profile"; + presence "true"; + leaf profile { + description + "Select the profile to use for file analysis"; + type leafref { + path "../../../../file-analysis/profile/name"; + } + } + } + container reputation { + description + "Enable and configure file reputation for this profile"; + presence "true"; + leaf profile { + description + "Select the profile to use for file reputation"; + type leafref { + path "../../../../file-reputation/profile/name"; + } + } + } + } + } + } + + grouping utd-tls-decryption-profile-grouping { + container tls-decryption { + description + "UTD tls-decryption profile configuration"; + list profile { + description + "UTD tls-decryption profile configuration"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + leaf-list alert { + description + "Provide the logging alert level"; + type utd-ssl-alert-type; + } + container blacklist { + description + "Choose the blacklist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + container categories { + description + "Choose from a list of categories"; + container decrypt { + description + "Choose the list of categories to be decrypted"; + presence "true"; + uses utd-category-list-grouping; + } + container never-decrypt { + description + "Choose the list of categories to never be decrypted"; + presence "true"; + uses utd-category-list-grouping; + } + container skip-decrypt { + description + "Choose the list of categories to skip being decrypted"; + presence "true"; + uses utd-category-list-grouping; + } + } + container graylist { + description + "Choose the graylist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + container log { + description + "Choose the tls-decryption preprocessor debug log options"; + leaf level { + description + "Choose the tls-decryption preprocessor log level"; + type utd-log-level-type; + default "error"; + } + } + container reputation { + description + "Choose the reputation range for the URLs to be decrypted"; + presence "true"; + leaf decrypt-threshold { + description + "Decrypt URLs with reputation at or below the specified level"; + type utd-reputation-type; + } + leaf skip-decrypt-threshold { + description + "Skip decrypting URLs with reputation at or above the specified level"; + type utd-reputation-type; + } + } + container sourcedb { + description + "Choose source DB related configuration"; + container fail { + description + "Choose the fail option to apply when the source DB is down"; + leaf decrypt { + description + "Decrypt all tls-decryption traffic on source DB failure"; + type empty; + } + } + } + container whitelist { + description + "Choose the whitelist parameter-map"; + presence "true"; + uses utd-parameter-map-regex-grouping; + } + } + } + } + + grouping utd-policy-profile-common-grouping { + container fail { + description + "Enter the UTD engine fail mode operation"; + leaf close { + description + "Drop all IPS/IDS traffic on UTD engine failure"; + type empty; + } + } + container file-inspection { + description + "Associate file-inspection profile with this policy"; + leaf profile { + description + "Associate file-inspection profile with this policy"; + type leafref { + path "../../../file-inspection/profile/name"; + } + } + } + container tls-decryption { + description + "Associate tls-decryption profile with this policy"; + leaf profile { + description + "Associate tls-decryption profile with this policy"; + type leafref { + path "../../../tls-decryption/profile/name"; + } + } + leaf action { + description + "TLS decryption action to be taken for the sessions"; + when '(/ios:native/ios-utd:utd-unified-policy/ios-utd:utd/ios-utd:engine/ios-utd:standard/ios-utd:unified-policy)'; + type enumeration { + enum decrypt; + enum never-decrypt; + enum skip-decrypt; + } + } + } + container threat-inspection { + description + "Associate threat-inspection profile with this policy"; + leaf profile { + description + "Associate threat-inspection profile with this policy"; + type leafref { + path "../../../threat-inspection/profile/name"; + } + } + } + container web-filter { + description + "Associate web filter profile with this policy"; + container url { + description + "Associate web filter profile with this policy"; + leaf profile { + description + "Associate web filter profile with this policy"; + type leafref { + path "../../../../web-filter/url/profile/id"; + } + } + } + } + } + + grouping utd-mt-policy-grouping { + list policy { + description + "Multi-tenancy utd policy"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + leaf all-interfaces { + description + "Enable intrusion inspection on all supported interfaces for this set of VRFs"; + type empty; + } + list vrf { + description + "Associate a VRF with this policy"; + key "name"; + leaf name { + must "/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()] or .='global'" { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + } + uses utd-policy-profile-common-grouping; + } + } + + grouping config-utd-mt-grouping { + container utd-mt { + container utd { + description + "Global Unified Threat Defense"; + leaf multi-tenancy { + description + "Enable UTD multi-tenancy mode"; + type empty; + } + container engine { + description + "UTD engine"; + container standard { + description + "UTD engine standard"; + container multi-tenancy { + description + "Enable UTD multi-tenancy mode"; + presence "true"; + uses utd-web-filter-grouping; + uses utd-threat-inspection-grouping; + uses utd-global-config-grouping; + uses utd-file-analysis-profile-grouping; + uses utd-file-reputation-profile-grouping; + uses utd-file-inspection-profile-grouping; + uses utd-tls-decryption-profile-grouping; + uses utd-mt-policy-grouping; + } + } + } + } + } + } + + grouping utd-unified-policy-profile-grouping { + list policy { + description + "Unified policy utd policy"; + key "name"; + leaf name { + type string { + length "1..128"; + } + } + uses utd-policy-profile-common-grouping; + } + } + + grouping config-utd-unified-policy-grouping { + container utd-unified-policy { + container utd { + description + "Global Unified Threat Defense"; + container engine { + description + "UTD engine"; + container standard { + description + "UTD engine standard"; + container unified-policy { + description + "Enable UTD unified-policy mode"; + presence "true"; + uses utd-web-filter-grouping; + uses utd-threat-inspection-grouping; + uses utd-global-config-grouping; + uses utd-file-analysis-profile-grouping; + uses utd-file-reputation-profile-grouping; + uses utd-file-inspection-profile-grouping; + uses utd-tls-decryption-profile-grouping; + uses utd-unified-policy-profile-grouping; + } + } + } + } + } + } + + grouping config-utd-st-grouping { + container utd-st { + container utd { + description + "Global Unified Threat Defense Engine"; + uses utd-web-filter-grouping { + augment "web-filter" { + uses utd-domain-filter-grouping; + } + } + container engine { + description + "UTD engine"; + container advanced { + description + "UTD engine advanced"; + presence "true"; + container threat { + description + "Provide threat detection"; + leaf detection { + description + "Provide threat detection"; + type empty; + } + } + } + container standard { + description + "UTD engine standard"; + presence "true"; + uses utd-engine-standard-grouping { + augment "threat-inspection" { + uses utd-engine-threat-inspection-grouping { + augment "logging" { + container statistics { + description + "Provide logging statistics options"; + leaf enable { + description + "Enable logging statistics"; + type empty; + } + } + } + } + leaf whitelist { + description + "Enable whitelisting under the utd engine"; + type empty; + } + } + augment "web-filter" { + leaf domain-profile { + description + "Choose the domain profile to use for web filtering"; + type leafref { + path "../../../../web-filter/domain/profile/id"; + } + } + leaf url-profile { + description + "Choose the url profile to use for web filtering"; + type leafref { + path "../../../../web-filter/url/profile/id"; + } + } + } + } + } + } + container threat-inspection { + description + "UTD Threat Inspection (IPS/IDS) config modes"; + container whitelist { + description + "UTD whitelist config submode"; + presence "true"; + uses utd-threat-inspection-whitelist; + } + } + } + } + } + + grouping config-utd-grouping { + container utd { + description + "Global Unified Threat Defense"; + presence "true"; + leaf all-interfaces { + description + "Enable intrusion inspection on all supported interfaces"; + type empty; + } + container redirect { + description + "Specify the interface connected to the UTD"; + container interface { + description + "Specify the interface connected to UTD"; + choice redirect-choice { + leaf BDI { + description + "Bridge-Domain interface"; + type leafref { + path "/ios:native/ios:interface/ios:BDI/ios:name"; + } + } + leaf VirtualPortGroup { + description + "Virtual Port Group"; + type leafref { + path "/ios:native/ios:interface/ios:VirtualPortGroup/ios:name"; + } + } + leaf BD-VIF { + description + "Bridge-Domain Virtual IP interface"; + type leafref { + path "/ios:native/ios:interface/ios:BD-VIF/ios:name"; + } + } + } + } + } + container engine { + description + "Select UTD engine mode to run"; + presence "true"; + leaf mode { + type enumeration { + enum standard; + enum advanced; + } + } + container fail { + description + "Enter the UTD engine fail mode operation"; + leaf close { + description + "Drop all IPS/IDS traffic on UTD engine failure"; + type empty; + } + } + } + } + } + + grouping config-interface-utd-grouping { + container utd { + description + "UTD support on this interface"; + leaf enable { + description + "Enable threat defense on this interface"; + type empty; + } + } + } + + grouping config-utd-parameter-map-grouping { + container utd-policy { + description + "Attach UTD Policy"; + leaf policy-name { + description + "UTD Policy name"; + type leafref { + path "/ios:native/ios-utd:utd-unified-policy/ios-utd:utd/ios-utd:engine/ios-utd:standard/ios-utd:unified-policy/ios-utd:policy/ios-utd:name"; + } + } + } + } + + augment "/ios:native" { + uses config-utd-grouping; + uses config-utd-st-grouping; + uses config-utd-mt-grouping; + uses config-utd-unified-policy-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + status obsolete; + uses config-interface-utd-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-utd-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect" { + uses config-utd-parameter-map-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-global" { + uses config-utd-parameter-map-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-events.yang new file mode 100644 index 000000000..14e773aee --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-events.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XE-verify-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-verify-events"; + prefix verify-ios-xe-events; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains collection of YANG definitions + for checksum verification and computation status event + notifications. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef verify-status { + type enumeration { + enum verify-success { + value 0; + description + "Checksum verification success"; + } + enum verify-failed { + value 1; + description + "Checksum verification failed"; + } + } + description + "Checksum verification and computation status "; + } + + typedef verify-err-type { + type enumeration { + enum verify-event-err-no-mem { + value 0; + description + "No Memory at back end"; + } + enum verify-event-err-invalid-file-input { + value 1; + description + "Invalid File Input"; + } + enum verify-event-err-invalid-filesystem { + value 2; + description + "Invalid Filesystem"; + } + enum verify-event-err-not-computible { + value 3; + description + "Hash can't be computed for given file"; + } + enum verify-event-err-hash-mismatch { + value 4; + description + "Calculated hash do not match expected hash"; + } + enum verify-event-no-err { + value 5; + description + "No Error"; + } + } + description + "Checksum verification and computation status "; + } + + grouping verify-notif-header { + description + "Checksum verification notification header"; + leaf err-type { + type verify-ios-xe-events:verify-err-type; + description + "The Error type for rpc request"; + } + leaf uuid { + type string; + description + "The UUID (universally unique identifier) is a string and it + is mapped with the UUID of input rpc request"; + } + } + + grouping verify-event-fields { + description + "Checksum verification event fields"; + leaf status { + type verify-ios-xe-events:verify-status; + description + "Checksum verification status"; + } + leaf computed-hash { + type string; + description + "Computed hash value, it can based on MD5 or SHA512"; + } + } + + notification verify-event { + description + "Checksum verification and computation notification"; + uses verify-ios-xe-events:verify-notif-header; + uses verify-ios-xe-events:verify-event-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-rpc.yang new file mode 100644 index 000000000..95eb69c05 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-verify-rpc.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-verify-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-verify-rpc"; + prefix verify-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Verify RPC. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef verify-action-hash-method { + type enumeration { + enum verify-action-md5 { + value 0; + description + "MD5 Hash calculation algorithm"; + } + enum verify-action-sha512 { + value 1; + description + "SHA512 Hash calculation algorithm"; + } + } + description + "Express algorithm of checksum"; + } + + grouping verify-action-file-details { + description + "Top level global type"; + leaf file-path { + type string { + length "1..500" { + error-message "Invalid string length"; + error-app-tag "Invalid-string-length"; + reference + "Test string length"; + } + pattern '(crashinfo(-[1-9])?:|flash(-[1-9])?:|bootflash:|cns:|crashinfo:|ftp:|tftp:|http:|https:|nvram:|scp:|rcp:|sftp:|system:|tar:|tmpsys:|webui:|stby-(flash|crashinfo|nvram|rcsf):)[-A-Za-z_.0-9/]*[-A-Za-z_0-9]' { + error-message "Invalid filename"; + error-app-tag "Invalid-filename"; + reference + "Test file system type or name"; + } + } + mandatory true; + description + "the file path"; + } + leaf hash-algo { + type verify-rpc:verify-action-hash-method; + mandatory true; + description + "hashing algorithm to be used"; + } + leaf hash { + type string { + length "1..128" { + error-message "Invalid string length"; + error-app-tag "Invalid-string-length"; + reference + "Test string length"; + } + } + description + "hash to compare with"; + } + } + + grouping verify-response { + description + "Response to action request."; + leaf uuid { + type string; + description + "The UUID is unique identifier generated per request. This is used + in combination with event model, where event notification provide request specific UUID in it. + This is useful in matching a request with event notification."; + } + } + + rpc verify { + description + "This RPC is to be used for calculating checksum of a given file. + Also one can provide previously calculated hash and match against the given file."; + input { + uses verify-rpc:verify-action-file-details; + } + output { + uses verify-rpc:verify-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan-oper.yang new file mode 100644 index 000000000..c111e3e4d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan-oper.yang @@ -0,0 +1,149 @@ +module Cisco-IOS-XE-vlan-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vlan-oper"; + prefix vlan-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + monitoring vlans in a Network Element. + Copyright (c) 2016-2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-04-09 { + description + "vlan interfaces container added under vlan members"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef vlan-status-type { + type enumeration { + enum active { + value 0; + } + enum suspend { + value 1; + } + } + description + "Operational state of the VLAN"; + } + + grouping vlan-members-interface { + description + "Assigned ports to the given VLAN"; + leaf interface { + type string; + description + "Assigned interface to the vlan"; + } + leaf subinterface { + type uint32; + description + "Assigned subinterface to the vlan"; + } + } + + grouping interfaces { + description + "Assigned ports to this VLAN"; + leaf interface { + type string; + description + "Assigned interface"; + } + leaf subinterface { + type uint32; + description + "Assigned subinterface"; + } + } + + grouping vlan-members { + description + "List of VLAN information"; + leaf id { + type uint16; + description + "VLAN id"; + } + leaf name { + type string; + description + "VLAN name"; + } + leaf status { + type vlan-ios-xe-oper:vlan-status-type; + description + "VLAN status"; + } + list ports { + description + "Assigned ports"; + uses vlan-ios-xe-oper:interfaces; + } + list vlan-interfaces { + key "interface"; + description + "List of interfaces for a given VLAN"; + uses vlan-ios-xe-oper:vlan-members-interface; + } + } + + container vlans { + config false; + description + "Information about VLANs"; + list vlan { + key "id"; + description + "List of VLANs, keyed by id"; + uses vlan-ios-xe-oper:vlan-members; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan.yang new file mode 100644 index 000000000..6cb303b63 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vlan.yang @@ -0,0 +1,995 @@ +module Cisco-IOS-XE-vlan { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vlan"; + prefix ios-vlan; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-l2vpn { + prefix ios-l2vpn; + } + import Cisco-IOS-XE-vtp { + prefix ios-vtp; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + import Cisco-IOS-XE-device-tracking { + prefix ios-dt; + } + import Cisco-IOS-XE-nd { + prefix ios-nd; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Virtual LANs (VLAN) Yang Model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- added must constraint for non-empty vlan-lists to vlan group + - Change the description of vlan-lists and vlan-list id + - Update must constraint for sisf features to allow 'default' policy + - added must constraint to vlan id + - removed must constraint from vlan id"; + cisco-semver:module-version "8.0.0"; + } + revision 2024-03-01 { + description + "- obsolete the deprecated vlan-list"; + cisco-semver:module-version "7.0.0"; + } + revision 2023-07-01 { + description + "- Added support for routing-proxy and dad-proxy + - Added evi-member new container to support new evpn-instance CLI"; + cisco-semver:module-version "6.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added if-feature statement to disable IPv6 DHCP Guard commands on platforms where this feature is not supported"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-07-01 { + description + "- Add limitation to forbid vlan 1 to configure name + - Add dependency between vlan name and vlan id"; + cisco-semver:module-version "4.1.0"; + } + revision 2022-03-01 { + description + "- Added protected leaf for member vni + - Added if-features around the raguard to selective enable/disable"; + cisco-semver:module-version "4.0.0"; + } + revision 2021-11-01 { + description + "- Added configuration-entry list to vlan so that vlan-id accepts a range string + - Deprecated configuration list"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-03-01 { + description + "- Added the missing commands to fill the gap between CLI and Yang for SISF"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "- Added status obsolete for the 'container lldp' node under vlan-list"; + cisco-semver:module-version "3.0.1"; + } + revision 2020-03-01 { + description + "- added some tailf for deprecated leafs + - VACL access-map list key changes with 'name' and 'value'"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added 'member access-vfi' to 'vlan configuration' + - Added support for 'ipv6 nd raguard' under 'vlan configuration *' + - Support for service policy in VLAN and fixed VLAN filter as range-list + - Add support for device-tracking"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-10-27 { + description + "Remove type string for vlan id"; + } + revision 2018-04-23 { + description + "Delete the extra call to interface-common-grouping"; + } + revision 2018-03-13 { + description + "Add support for Evpn"; + } + revision 2017-10-02 { + description + "Add support for 'ipv6 nd suppress' and 'vlan group *'"; + } + revision 2017-05-31 { + description + "Add vtp-version and vlan name dependency, and service-routing dependency support"; + } + revision 2017-04-13 { + description + "Add service-routing/redistribute support"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-vlan-grouping { + container private-vlan { + if-feature "ios-features:private-vlan"; + description + "Configure private VLAN SVI interface settings"; + leaf mapping { + description + "Set the private VLAN SVI interface mapping"; + type string; + } + } + container service-routing { + description + "Service Routing in Interface Mode"; + container mdns-sd { + description + "Service-Routing mdns-sd configuration in interface mode"; + presence "true"; + list service-policy { + description + "Configure CPL Service Policy"; + key "dir"; + leaf dir { + description + "Bound Filtering Interface"; + type enumeration { + enum IN; + enum OUT; + } + } + leaf name { + description + "service policy Name in Interface"; + type string; + } + } + container redistribute { + description + "Redistribution of services"; + leaf mdns-sd { + description + "Redistribution of services"; + type empty; + } + leaf withdraw-only { + description + "Enable redistribution only for service withdraw"; + type empty; + } + } + } + } + container glbp { + description + "Gateway Load Balancing Protocol interface commands"; + list range { + key "range"; + leaf range { + description + "Group number"; + type uint16 { + range "0..1023"; + } + } + container forwarder { + description + "Forwarder configuration"; + container preempt { + description + "Overthrow lower priority active forwarders"; + presence "true"; + container delay { + description + "Wait before preempting"; + leaf minimum { + description + "Number of seconds for minimum delay"; + type uint16 { + range "0..3600"; + } + } + } + } + } + container ip { + description + "Enable group and set virtual IP address"; + presence "true"; + list ipv4 { + key "ipv4"; + leaf ipv4 { + description + "Virtual IP address"; + type inet:ipv4-address; + } + } + } + container preempt { + description + "Overthrow lower priority designated routers"; + presence "true"; + container delay { + description + "Wait before preempting"; + leaf minimum { + description + "Number of seconds for minimum delay"; + type uint16 { + range "0..3600"; + } + } + } + } + leaf priority { + description + "Priority value"; + type uint8 { + range "1..255"; + } + } + container weighting { + description + "Gateway weighting and tracking"; + list value { + description + "Weighting maximum value"; + key "value"; + leaf value { + type int8; + } + leaf upper { + type int8; + } + leaf lower { + type int8; + } + } + container track { + description + "Interface tracking"; + list range { + key "range"; + leaf range { + description + "Tracked object"; + type uint16 { + range "1..1000"; + } + } + leaf decrement { + description + "Decrement value"; + type uint8 { + range "1..255"; + } + } + } + } + } + container timers { + description + "Adjust GLBP timers"; + container msec { + description + "Specify hello interval in milliseconds"; + list range { + key "range"; + leaf range { + description + "Hello interval in milliseconds"; + type uint16 { + range "50..60000"; + } + } + leaf range0 { + description + "Hold time in seconds"; + type uint8 { + range "1..180"; + } + } + } + } + } + leaf name { + description + "Redundancy name"; + type string; + } + } + } + } + + grouping config-vlan-grouping { + list access-map { + description + "Create vlan access-map or enter vlan access-map command mode"; + key "name value"; + leaf name { + description + "Vlan access map tag"; + type string; + } + leaf value { + description + "Sequence to insert to/delete from existing vlan access-map entry"; + type uint16 { + range "0..65535"; + } + } + container match { + description + "Match values."; + container ipv6 { + description + "IPv6 based match"; + leaf-list address { + description + "Match IPv6 address to access control."; + ordered-by user; + type string; + } + } + container ip { + description + "IP based match"; + leaf-list address { + type string; + } + } + } + leaf action { + description + "Take the action"; + type enumeration { + enum drop; + enum forward; + } + default "forward"; + } + } + list configuration-entry { + description + "vlan feature configuration mode"; + key "vlan-id"; + leaf vlan-id { + description + "VLAN ID List Eg. 1-10,15"; + type string { + pattern '(((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])(\-(409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))?)(,((409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9])(\-(409[0-4]|40[0-8][0-9]|[1-3][0-9]{3}|[1-9][0-9]{1,2}|[1-9]))?))*)'; + } + } + container ip { + description + "ip root chain"; + container flow { + description + "vlan NetFlow configuration commands"; + list monitor { + description + "Apply a Flow Monitor"; + key "flow-monitor"; + leaf flow-monitor { + description + "User defined"; + type string; + } + leaf input { + type empty; + } + leaf output { + type empty; + } + } + } + } + container device-tracking { + description + "Configure device-tracking on the VLAN"; + presence "Attach default device-tracking policy on vlan"; + leaf attach-policy { + description + "Apply a policy for feature device-tracking"; + type string; + must "/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word = current()] or .='default'" { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + } + container ipv6 { + description + "ipv6 root chain"; + container nd { + description + "IPv6 nd configuration commands"; + container suppress { + description + "Configure ND suppress on the vlan"; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature ND suppress"; + type string; + } + } + container raguard { + if-feature "ios-features:raguard"; + description + "Configure ipv6 raguard on the vlan"; + leaf raguard { + type empty; + } + leaf attach-policy { + description + "Apply a policy for feature ipv6 raguard"; + type string; + must "/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()] or .='default'" { + error-message "Global ipv6 nd raguard policy, must be created first and deleted last"; + } + } + } + leaf routing-proxy { + if-feature "ios-features:routing-proxy"; + description + "Configure Routing Proxy on the interface"; + type empty; + } + leaf dad-proxy { + if-feature "ios-features:dad-proxy"; + description + "Configure DAD proxy on the interface"; + type empty; + } + } + container dhcp { + description + "IPv6 dhcp configuration commands"; + container guard { + if-feature "ios-features:dhcp-guard"; + description + "Configure IPv6 DHCP guard on the vlan"; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature DHCP Guard"; + type string; + } + } + } + container destination-guard { + description + "Configure destination guard on the vlan"; + presence "true"; + leaf attach-policy { + description + "Apply a policy for feature Destination Guard"; + type string; + } + } + } + container member { + container evi-member { + if-feature "ios-features:l2vpn"; + description + "Ethernet Virtual Private Network (EVPN) instance member"; + container evpn-instance { + description + "Ethernet Virtual Private Network (EVPN) instance"; + presence "true"; + choice evi-type-choice { + case auto-evi-case { + container auto-evi-config { + description + "Auto EVPN instance member"; + leaf profile { + description + "The profile which auto EVPN instance member created from"; + must '/ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:l2-profile/ios-l2vpn:evpn/ios-l2vpn:profile/ios-l2vpn:profile-name-list[ios-l2vpn:name = current()]' { + error-message "EVPN L2 Profile does not exist"; + } + type string; + } + leaf protected { + description + "Enable local peer to peer blocking"; + when "(not(../profile) and /ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:l2-profile/ios-l2vpn:evpn/ios-l2vpn:profile/ios-l2vpn:default/ios-l2vpn:encapsulation = 'vxlan')or ((../profile) and /ios:native/ios:l2vpn/ios-l2vpn:evpn_cont/ios-l2vpn:l2-profile/ios-l2vpn:evpn/ios-l2vpn:profile/ios-l2vpn:profile-name-list[ios-l2vpn:name = current()/../profile]/ios-l2vpn:encapsulation = 'vxlan')"; + type empty; + } + } + } + case manual-evi-case { + container manual-evi-config { + description + "Manual EVPN instance member"; + leaf evi { + description + "EVPN instance number"; + type uint16 { + range "1..65535"; + } + } + leaf vni { + description + "VxLAN VNI value"; + must '../evi' { + error-message "Member evi must be specifed before specifying vni value"; + } + type uint32 { + range "4096..16777215"; + } + } + leaf protected { + description + "Enable local peer to peer blocking"; + must '../vni' { + error-message "The protected option is only available for Vxlan encapsulation when VNI value is specified"; + } + type empty; + } + } + } + } + } + } + container evpn-instance { + status deprecated; + description + "Ethernet Virtual Private Network (EVPN)"; + leaf evpn-instance { + status deprecated; + type uint16 { + range "1..65535"; + } + } + leaf vni { + status deprecated; + description + "VxLAN VNI value"; + type uint32 { + range "4096..16777215"; + } + } + leaf protected { + status deprecated; + description + "Enable local peer to peer blocking"; + type empty; + } + } + leaf vni { + description + "VxLAN VNI value"; + type uint32 { + range "4096..16777215"; + } + } + leaf access-vfi { + description + "Enter VFI name"; + type string; + } + } + } + list configuration { + status deprecated; + description + "vlan feature configuration mode (DEPRECATED, use configuration-entry)"; + key "vlan-id"; + leaf vlan-id { + status deprecated; + description + "VLAN ID List Eg. 1-10,15"; + type uint16 { + range "1..4094"; + } + } + container ip { + description + "ip root chain"; + container flow { + description + "vlan NetFlow configuration commands"; + list monitor { + status deprecated; + description + "Apply a Flow Monitor"; + key "flow-monitor"; + leaf flow-monitor { + status deprecated; + description + "User defined"; + type string; + } + leaf input { + status deprecated; + type empty; + } + leaf output { + status deprecated; + type empty; + } + } + } + } + container device-tracking { + status deprecated; + description + "Configure device-tracking on the VLAN"; + presence "Attach default device-tracking policy on vlan"; + leaf attach-policy { + status deprecated; + description + "Apply a policy for feature device-tracking"; + type string; + must '/ios:native/ios:device-tracking/ios-dt:policy[ios-dt:word = current()]' { + error-message "Create policy first, then attach policy; Detach policy first then remove policy"; + } + } + } + container ipv6 { + description + "ipv6 root chain"; + container nd { + description + "IPv6 nd configuration commands"; + container suppress { + status deprecated; + description + "Configure ND suppress on the vlan"; + presence "true"; + leaf attach-policy { + status deprecated; + description + "Apply a policy for feature ND suppress"; + type string; + } + } + container raguard { + if-feature "ios-features:raguard"; + description + "Configure ipv6 raguard on the vlan"; + leaf raguard { + status deprecated; + type empty; + } + leaf attach-policy { + status deprecated; + description + "Apply a policy for feature ipv6 raguard"; + must '/ios:native/ios:ipv6/ios:nd/ios-nd:raguard/ios-nd:policy[ios-nd:raguard-policy-name=current()]' { + error-message "Global ipv6 nd raguard policy, must be created first and deleted last"; + } + type string; + } + } + } + container dhcp { + description + "IPv6 dhcp configuration commands"; + container guard { + if-feature "ios-features:dhcp-guard"; + status deprecated; + description + "Configure IPv6 DHCP guard on the vlan"; + presence "true"; + leaf attach-policy { + status deprecated; + description + "Apply a policy for feature DHCP Guard"; + type string; + } + } + } + container destination-guard { + status deprecated; + description + "Configure destination guard on the vlan"; + presence "true"; + leaf attach-policy { + status deprecated; + description + "Apply a policy for feature Destination Guard"; + type string; + } + } + } + container member { + container evpn-instance { + status deprecated; + description + "Ethernet Virtual Private Network (EVPN)"; + leaf evpn-instance { + status deprecated; + type uint16 { + range "1..65535"; + } + } + leaf vni { + status deprecated; + description + "VxLAN VNI value"; + type uint32 { + range "4096..16777215"; + } + } + } + leaf vni { + status deprecated; + description + "VxLAN VNI value"; + type uint32 { + range "4096..16777215"; + } + } + leaf access-vfi { + status deprecated; + description + "Enter VFI name"; + type string; + } + } + } + list filter { + description + "Apply a VLAN Map"; + key "word"; + leaf word { + type string; + } + leaf-list vlan-lists { + description + "VLANs to apply filter to"; + type uint16 { + range "1..4094"; + } + } + leaf vlan-list { + status obsolete; + description + "VLANs to apply filter to (OBSOLETE)"; + type union { + type uint16 { + range "1..4094"; + } + type string; + } + } + } + container accounting { + description + "VLAN accounting configuration"; + presence "true"; + leaf input { + description + "Input accounting"; + type empty; + } + leaf output { + description + "Output accounting"; + type empty; + } + } + container internal { + description + "internal VLAN"; + container allocation { + description + "internal VLAN allocation"; + leaf policy { + type enumeration { + enum ascending; + enum descending; + } + } + } + } + container dot1q { + description + "dot1q parameters"; + container tag { + description + "tag parameters"; + leaf native { + description + "tag native vlan"; + type empty; + } + } + } + container access-log { + description + "Configure VACL logging"; + leaf maxflow { + description + "Set vacl logging maximum flow number"; + type uint16 { + range "0..2048"; + } + } + leaf ratelimit { + description + "Set vacl logging rate limiter"; + type uint16 { + range "10..5000"; + } + } + leaf threshold { + description + "Set vacl log-update threshold"; + type uint32 { + range "0..2147483647"; + } + } + } + list group { + description + "Create a vlan group"; + key "name"; + must 'vlan-lists/.' { + error-message "A VLAN group must have at least one VLAN in the VLAN list"; + } + leaf name { + description + "Group name starts with alphabet"; + type string; + } + leaf-list vlan-lists { + description + "VLANs in the vlan group"; + type uint16 { + range "1..4094"; + } + } + list vlan-list { + status obsolete; + description + "List of vlans in this group (OBSOLETE)"; + key "vlan-id"; + leaf vlan-id { + status obsolete; + description + "a single VLAN id (allowed value range 1-4094)or Comma-separated VLAN id range.e.g. 99 or 1-30 or 1-20,30,40-50 (OBSOLETE)"; + type union { + type uint16 { + range "1..4094"; + } + type ios-types:range-string; + } + } + } + } + list vlan-list { + key "id"; + leaf id { + description + "VLAN ID"; + type uint16 { + range "1..4094"; + } + } + leaf remote-span { + description + "Configure as Remote SPAN VLAN"; + type empty; + } + container private-vlan { + if-feature "ios-features:private-vlan"; + description + "Configure a private VLAN"; + leaf primary { + description + "Configure the VLAN as a primary private VLAN"; + type empty; + } + leaf association { + description + "Configure association between private VLANs"; + type string; + } + leaf community { + description + "Configure the VLAN as a community private VLAN"; + type empty; + } + leaf isolated { + description + "Configure the VLAN as an isolated private VLAN"; + type empty; + } + } + leaf name { + description + "Ascii name of the VLAN"; + type string { + length "1..128"; + } + must '((/ios:native/ios:vtp/ios-vtp:version = 3 and string-length(.) <= 128) or (/ios:native/ios:vtp/ios-vtp:version <= 2 and string-length(.) <= 32)) and (not (../id = 1)) and (count(/ios:native/ios:vlan/ios-vlan:vlan-list[ios-vlan:name = current()])<=1)' { + error-message "You must disable VTPv1 and VTPv2 or switch to VTPv3 before configuring a VLAN name longer than 32 characters or default VLAN 1 may not have its name changed or different VLANs have an identical name"; + } + } + leaf state { + description + "Operational state of the VLAN"; + type enumeration { + enum active; + enum suspend; + } + } + container lldp { + status obsolete; + leaf run { + status obsolete; + type empty; + } + } + leaf uni-vlan { + description + "Configure a UNI VLAN"; + type enumeration { + enum community; + enum isolated; + } + } + leaf shutdown { + description + "Shutdown VLAN switching"; + type empty; + } + } + } + + augment "/ios:native/ios:vlan" { + uses config-vlan-grouping; + uses ios-dt:config-vlan-device-tracking-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-vlan-grouping { + if-feature "ios-features:vlan"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-class.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-class.yang new file mode 100644 index 000000000..37cace1bb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-class.yang @@ -0,0 +1,2295 @@ +submodule Cisco-IOS-XE-voice-class { + yang-version 1.1; + belongs-to Cisco-IOS-XE-voice { + prefix ios-voice; + } + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import ietf-inet-types { + prefix inet; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Voice Class Tenant Yang model. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added analog-dn and override-hostname + - Added TLS 1.3 cipher under voice class tls cipher"; + cisco-semver:module-version "3.5.0"; + } + revision 2024-03-01 { + description + "Converted absolute xpath to relative xpath"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added voice class tls-cipher + - Added tls-cipher to tls-profile + - Added max-forwards, xfer, permit, disable-early-media, g729-annexb, conn-reuse, + random-contact, handle-replaces, host-registrar, nat, srtp, reason-header, + notify, retry, timers, error-code-override to voice class tenant"; + cisco-semver:module-version "3.3.0"; + } + revision 2022-07-01 { + description + "- Added voice class sip-options-keepalive"; + cisco-semver:module-version "3.2.0"; + } + revision 2022-03-01 { + description + "- Added listen-port, tls-profile config under voice class tenant"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-11-01 { + description + "- Added srtp crypto support under voice class tenant + - Added outbound-proxy, redirection, audio forced, block, + call-route, contact-passing, localhost, refer to passing + to voice class tenant + - Added registrar to tenant + - Added voice class sip-profiles and sip-copylist + - Added voice class media, voice class sip-hdr-passthrulist and + voice class sip-event-list config. + - Added voice class uri, voice class e164-pattern-map and + voice class server-group + - Added privacy, privacy-policy, rel1xx, requri-passing, + update-callerid, url passing to voice class tenant + - Added anat to voice class tenant + - Added address-hiding, emergency, silent-discard, asserted-id, + midcall-signaling, remote-party-id, redirection, + set pstn-cause, set sip-status, sip-register configurations + - Added option ping, refresh, early media update block under voice + class tenant"; + cisco-semver:module-version "3.0.0"; + } + revision 2021-03-01 { + description + "- Added voice class server-group and sip-options-keepalive"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "- Added voice class tenant"; + cisco-semver:module-version "1.0.0"; + } + + typedef config-digit-pattern { + type string { + length "1..32"; + pattern '((((\^)?([0-9,#*A-F.?+%()-]|(\\\*)))*T?)($)?)' { + error-message + "Incorrect format for number macro pattern, + regular expression must be of the form ^((\\+)?([0-9,#*A-F.]|(\\\\\\*))+)$"; + } + } + } + + typedef address-pattern { + type string { + length "1..128"; + pattern '(dns:.*)|(ipv4:[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)|(ipv6:\[([0-9A-Fa-f.:])+\](:[0-9]+)?)' { + error-message + "Ill-formed SIP address. Valid formats are: + ipv4:[0-255].[0-255].[0-255].[0-255], + ipv4:[0-255].[0-255].[0-255].[0-255]:[0-65535], + ipv6:[X:X:X:X::X], + ipv6:[X:X:X:X::X]:[0-65535], + dns:host.domain"; + } + } + } + + typedef generic-uri-pattern { + type string { + length "1..32"; + pattern '(((\[)[(\^)0-9,a-z,A-Z#*.?+%()-]*(\])|[(\^)0-9,a-z,A-Z#*.?+%()-]*)*T?($)?)' { + error-message "Incorrect regular expression format. Expected format must be of the form ^([][0-9A-Za-z\\|\\/()*+^$&?#--.])*$"; + } + } + } + + typedef config-e164-pattern { + type string { + pattern '(((\[)[(\^)0-9,A-F#*.?+%()-]*(\])|[(\^)0-9,A-F#*.?+%()-]*)*T?($)?)' { + error-message "Incorrect format for E.164 Number: regular expression must be of the form ^[][^0-9,A-F#*.?+%()-]*T?($)?$"; + } + } + } + + typedef sip-method-type { + type enumeration { + enum ACK; + enum BYE; + enum CANCEL; + enum COMET; + enum INFO; + enum INVITE; + enum NOTIFY; + enum OPTIONS; + enum PRACK; + enum PUBLISH; + enum REFER; + enum REGISTER; + enum REINVITE; + enum SUBSCRIBE; + enum UPDATE; + } + } + + typedef sip-response-type { + type enumeration { + enum 100; + enum 180; + enum 181; + enum 183; + enum 200; + enum 202; + enum 300; + enum 301; + enum 302; + enum 305; + enum 380; + enum 400; + enum 401; + enum 402; + enum 403; + enum 404; + enum 405; + enum 406; + enum 407; + enum 408; + enum 409; + enum 410; + enum 412; + enum 413; + enum 414; + enum 415; + enum 416; + enum 417; + enum 420; + enum 421; + enum 422; + enum 423; + enum 480; + enum 481; + enum 482; + enum 483; + enum 484; + enum 485; + enum 486; + enum 487; + enum 488; + enum 489; + enum 491; + enum 493; + enum 500; + enum 501; + enum 502; + enum 503; + enum 504; + enum 505; + enum 513; + enum 580; + enum 600; + enum 603; + enum 604; + enum 606; + enum ANY; + } + } + + typedef sip-header-type { + type enumeration { + enum Accept-Contact; + enum Accept-Encoding; + enum Accept-Header; + enum Accept-Language; + enum Accept-Resource-Priority; + enum Alert-Info; + enum Allow-Events; + enum Allow-Header; + enum Also; + enum Authorization; + enum CC-Diversion; + enum CC-Redirect; + enum CSeq; + enum Call-ID; + enum Call-Info; + enum Cisco-Gcid; + enum Cisco-Guid; + enum Contact; + enum Content-Disposition; + enum Content-Encoding; + enum Content-Id; + enum Content-Length; + enum Content-Type; + enum Date; + enum Diversion; + enum Event; + enum Expires; + enum From; + enum History-Info; + enum Location; + enum MIME-Version; + enum Max-Forwards; + enum Min-Expires; + enum Min-SE; + enum Orig-dial-plan; + enum P-Asserted-Identity; + enum P-Preferred-Identity; + enum P-RTP-Stat; + enum Privacy; + enum Proxy-Authenticate; + enum Proxy-Authorization; + enum Proxy-Require; + enum Rack; + enum Reason; + enum Record-Route; + enum Refer-To; + enum Referred-By; + enum Reject-Contact; + enum Remote-Party-ID; + enum Replaces; + enum Request-Disposition; + enum Requested-By; + enum Require; + enum Resource-Priority; + enum Retry-After; + enum Route; + enum Rseq; + enum SIP-ETag; + enum SIP-If-Match; + enum SIP-Req-URI; + enum SIP-StatusLine; + enum Server; + enum Session-Expires; + enum Session-Header; + enum Session-ID; + enum Subscription-State; + enum Supported; + enum Term-dial-plan; + enum Timestamp; + enum To; + enum Unsupported; + enum User-Agent; + enum Via; + enum WWW-Authenticate; + enum Warning; + } + } + + typedef sdp-header-type { + type enumeration { + enum Attribute; + enum Audio-Attribute; + enum Audio-Bandwidth-Info; + enum Audio-Connection-Info; + enum Audio-Encryption-Key; + enum Audio-Media; + enum Audio-Session-Info; + enum Bandwidth-Key; + enum Connection-Info; + enum Email-Address; + enum Encrypt-Key; + enum Phone-Number; + enum Repeat-Times; + enum Session-Info; + enum Session-Name; + enum Session-Owner; + enum Time-Adjust-Keyr; + enum Time-Header; + enum Url-Descriptor; + enum Version; + enum Video-Attribute; + enum Video-Bandwidth-Info; + enum Video-Connection-Info; + enum Video-Encryption-Key; + enum Video-Media; + enum Video-Session-Info; + } + } + + typedef registrar-ip-address { + type string { + length "1..128"; + pattern '(dns:.*)|(ipv4:[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)|(ipv6:\[([0-9A-Fa-f.:])+\](:[0-9]+)?)' { + error-message + "Ill-formed registrar Server address. Valid formats are: + + ipv4:[0-255].[0-255].[0-255].[0-255], + + ipv4:[0-255].[0-255].[0-255].[0-255]:[0-65535], + + ipv6:[X:X:X:X::X], + + ipv6:[X:X:X:X::X]:[0-65535], + + dns:host.domain"; + } + } + } + + grouping config-voice-class-tls-cipher-grouping { + list tls-cipher { + description + "Configure set of TLS cipher suites in preferred order"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class srtp-crypto tag"; + type uint16 { + range "1..10000"; + } + } + list cipher { + description + "TLS cipher-suite"; + unique "type"; + key "preference"; + leaf preference { + description + "Set the preference order for the cipher-suite (1 = Highest)"; + type uint8 { + range "1..13"; + } + } + leaf type { + type enumeration { + enum DHE_RSA_AES128_GCM_SHA256; + enum DHE_RSA_AES256_GCM_SHA384; + enum DHE_RSA_WITH_AES_128_CBC_SHA; + enum DHE_RSA_WITH_AES_256_CBC_SHA; + enum ECDHE_ECDSA_AES128_GCM_SHA256; + enum ECDHE_ECDSA_AES256_GCM_SHA384; + enum ECDHE_RSA_AES128_GCM_SHA256; + enum ECDHE_RSA_AES256_GCM_SHA384; + enum RSA_WITH_AES_128_CBC_SHA; + enum RSA_WITH_AES_256_CBC_SHA; + enum AES128_GCM_SHA256; + enum AES256_GCM_SHA384; + enum CHACHA20_POLY1305_SHA256; + } + } + } + } + } + + grouping config-registrar-grouping { + container registrar { + description + "SIP Registrar config"; + container multiple-registrars { + list index { + description + "Registrar Index Value for configuring multiple registrars"; + max-elements 6; + key "id"; + leaf id { + description + "Specify the rule tag"; + must "not(../../../dhcp-config/dhcp) and not(../../../primary-registrar/registrar-config) and + not(../../../secondary-registrar/registrar-config)" { + error-message "Registrar currently in use; deconfig it 1st"; + } + type uint8 { + range "1..6"; + } + } + leaf registrar-config { + type registrar-ip-address; + } + uses config-registrar-options-grouping { + refine "secondary"; + } + } + } + container primary-registrar { + leaf registrar-config { + must 'not(../../dhcp-config/dhcp) and not(../../multiple-registrars/index/registrar-config)' { + error-message "Registrar currently in use; deconfig it 1st"; + } + type registrar-ip-address; + } + uses config-registrar-options-grouping { + refine "secondary"; + } + } + container secondary-registrar { + leaf registrar-config { + must 'not(../../dhcp-config/dhcp) and not(../../multiple-registrars/index/registrar-config)' { + error-message "Registrar currently in use; deconfig it 1st"; + } + type registrar-ip-address; + } + uses config-registrar-options-grouping; + } + container dhcp-config { + leaf dhcp { + description + "Registrar Server address provision via DHCP"; + must "not(../../multiple-registrars/index/registrar-config) and + not(../../primary-registrar/registrar-config) and + not(../../secondary-registrar/registrar-config)" { + error-message "Registrar currently in use; deconfig it 1st"; + } + type empty; + } + uses config-registrar-options-grouping { + refine "secondary"; + } + } + } + } + + grouping config-registrar-options-grouping { + leaf expires { + description + "Default registration expires time"; + type uint16 { + range "60..65535"; + } + default "3600"; + } + leaf auth-realm { + description + "Realm for preloaded authorization"; + type string { + length "1..128"; + } + } + leaf refresh-ratio { + description + "Default registration refresh ratio"; + type uint8 { + range "1..100"; + } + } + leaf random-contact { + description + "Random String Contact Header"; + type empty; + } + leaf scheme { + description + "URL scheme - sips or sip"; + type enumeration { + enum sip; + enum sips; + } + default "sip"; + } + leaf tcp { + description + "Use TCP as Transport Layer Protocol (default: UDP)"; + type empty; + } + leaf tls { + description + "Use TLS encryption over TCP Transport Layer Protocol"; + when '../tcp'; + type empty; + } + leaf secondary { + description + "Set if this is Secondary Registrar Server address"; + type empty; + } + } + + grouping sip-response-method-grouping { + container method { + description + "Map response to requests"; + leaf method { + type sip-method-type; + } + uses request-response-grouping; + } + } + + grouping sip-response-choice-grouping { + container response { + description + "sip response"; + leaf sip-responses { + type sip-response-type; + } + uses response-method-choice-grouping; + } + } + + grouping sip-request-choice-grouping { + container request { + description + "sip request"; + leaf sip-requests { + type union { + type sip-method-type; + type enumeration { + enum ANY { + value 15; + } + } + } + } + uses request-response-grouping; + } + } + + grouping copy-header-grouping { + container COPY { + description + "Copy a header"; + leaf pattern { + description + "Match pattern"; + type string; + } + leaf variable { + description + "Copy variable "; + type string { + pattern '([u|U]+[0-9][0-9])' { + error-message "Invalid variable name, valid values are "; + } + } + } + } + } + + grouping header-choice-grouping { + choice header-choice { + case add-case { + leaf ADD { + when "(../header != 'To') and + (../header != 'From') and + (../header != 'CSeq') and + (../header != 'Call-ID') and + (../header != 'Max-Forwards') and + (../header != 'Via') and + (../header != 'SIP-Req-URI') and + (../header != 'SIP-StatusLine') and + (../header != 'Audio-Media') and + (../header != 'Session-Name') and + (../header != 'Session-Owner') and + (../header != 'Time-Header') and + (../header != 'Version') and + (../header != 'Video-Media')"; + description + "addition of the header"; + type string; + } + } + case modify-case { + container MODIFY { + description + "Modification of a header"; + leaf pattern { + description + "Match pattern"; + type string; + } + leaf replace-pattern { + description + "Replace pattern"; + type string; + } + } + } + case remove-case { + leaf REMOVE { + when "(../header != 'To') and + (../header != 'From') and + (../header != 'CSeq') and + (../header != 'Call-ID') and + (../header != 'Max-Forwards') and + (../header != 'Via') and + (../header != 'SIP-Req-URI') and + (../header != 'SIP-StatusLine') and + (../header != 'Audio-Media') and + (../header != 'Session-Name') and + (../header != 'Session-Owner') and + (../header != 'Time-Header') and + (../header != 'Version') and + (../header != 'Video-Media')"; + description + "Removal of a header"; + type empty; + } + } + case copy-case { + uses copy-header-grouping; + } + } + } + + grouping peer-header-grouping { + container peer-header { + description + "Header to be copied from peer leg"; + choice peer-header-choice { + case sdp-case { + container sdp { + description + "SDP Line to be copied from peer leg"; + leaf mline-index { + description + "Media line index to copy from (use 0 for session level)"; + type uint32 { + range "0..6"; + } + } + uses copy-header-grouping; + } + } + case sip-case { + container sip { + description + "SIP Header to be copied from peer leg"; + choice peer-header-sip-choice { + case SIPReqURI-case { + container SIP-Req-URI { + description + "SIP Request URI to be copied from peer leg"; + uses copy-header-grouping; + } + } + case SIPStatusLine-case { + container SIP-StatusLine { + description + "SIP Status-Line to be copied from peer leg"; + uses copy-header-grouping; + } + } + case header-name-case { + container header-name-copy { + leaf header { + description + "Header name from which the values needs to be copied"; + type string; + } + uses copy-header-grouping; + } + } + } + } + } + } + } + } + + grouping sip-header-grouping { + container sip-header { + description + "SIP header"; + leaf header { + type union { + type sip-header-type; + type string; + } + } + uses header-choice-grouping; + } + } + + grouping sdp-header-grouping { + container sdp-header { + description + "SDP header"; + choice sdp-header-choice { + leaf header { + type sdp-header-type; + } + container mline-index { + description + "M-Line index for SDP Line"; + leaf index { + description + "M-Line index for SDP Line"; + type uint8 { + range "0..6"; + } + } + leaf substring { + description + "Beginning substring of SDP Line without quotes"; + type string; + } + } + } + uses header-choice-grouping; + } + } + + grouping request-response-grouping { + choice request-response-choice { + case peer-header-choice { + uses peer-header-grouping; + } + case sdp-header-choice { + uses sdp-header-grouping; + } + case sip-header-choice { + uses sip-header-grouping; + } + } + } + + grouping response-method-choice-grouping { + choice response-method-choice { + case method-case { + uses sip-response-method-grouping; + } + case peer-header-case { + uses peer-header-grouping; + } + case sdp-header-case { + uses sdp-header-grouping; + } + case sip-header-case { + uses sip-header-grouping; + } + } + } + + grouping config-listen-port-grouping { + container listen-port { + description + "Change UDP/TCP/TLS SIP listen port (have bind configured under + this tenant for the config to take effect)"; + leaf non-secure { + description + "Change UDP/TCP SIP listen port (have bind configured under + this tenant for the config to take effect)"; + type uint16 { + range "5000..5500"; + } + } + leaf secure { + description + "Change TLS SIP listen port (have bind configured under + this tenant for the config to take effect)"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping config-sip-copylist-header-grouping { + container sip-header { + leaf SIP-Req-URI { + description + "SIP Request URI to be sent to peer leg"; + type empty; + } + leaf SIP-StatusLine { + description + "SIP Status-Line to be sent to peer leg"; + type empty; + } + leaf-list header { + description + "Header name of header to be sent to peer leg"; + max-elements 64; + type string { + length "1..32"; + } + } + } + } + + grouping config-sip-profiles-grouping { + container sip-profiles { + leaf inbound { + description + "Turn on inbound SIP profiles feature"; + type empty; + } + container outbound-id { + leaf id { + description + "The sip profiles tag number to be linked as global"; + type leafref { + path "../../../../../ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + } + container sip-profiles-inbound { + leaf id { + description + "The sip profiles tag number to be linked as global"; + type leafref { + path "../../../../../ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + leaf inbound { + description + "Turn on inbound SIP profiles feature"; + type empty; + } + } + } + } + + grouping config-sip-profiles-tenant-grouping { + container sip-profiles { + description + "SIP Profiles global config"; + leaf id { + description + "The sip profiles tag number to be linked as global"; + type leafref { + path "../../../../ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + leaf inbound { + description + "Set this as inbound SIP Profile"; + type empty; + } + } + } + + grouping config-source-interface-grouping { + container source-interface { + description + "Specify interface for source address of SIP packets"; + container source-interface-std { + when '/ios:native/sip-ua'; + uses ios-ifc:interface-grouping; + } + leaf source-interface-string { + when 'not (/ios:native/sip-ua)'; + type string; + } + } + } + + grouping config-session-transport-grouping { + container transport { + description + "SIP session transport config"; + choice transport-choice { + leaf udp { + description + "Transport Layer Protocol - UDP"; + type empty; + } + container tcp { + description + "Transport Layer Protocol - TCP"; + presence "true"; + leaf tls { + description + "Transport Layer Protocol - TLS over TCP"; + type empty; + } + } + } + } + } + + grouping config-sip-bind-grouping { + container bind { + description + "SIP bind command"; + container control { + description + "bind only SIP control packets"; + uses config-source-interface-grouping; + } + container media { + description + "bind only SIP media packets"; + uses config-source-interface-grouping; + } + } + } + + grouping config-sip-localhost-grouping { + leaf localhost { + description + "Specify the DNS name for the localhost"; + type string { + length "1..128"; + pattern '(dns:.*)' { + error-message + "Ill-formed local host address. Valid formats are: + dns:host.domain or dns:domain"; + } + } + } + } + + grouping block-sdp-grouping { + leaf sdp { + description + "Block the response upon SDP presence/absence"; + type enumeration { + enum absent { + description + "Block the response if SDP is absent"; + } + enum present { + description + "Block the response if SDP is present"; + } + } + } + } + + grouping config-sdp-block-grouping { + container block { + description + "Block 18X responses to Invite"; + container one-eighty { + description + "Block 180 response to Invite"; + presence "true"; + uses block-sdp-grouping; + } + container one-eighty-one { + description + "Block 181 response to Invite"; + presence "true"; + uses block-sdp-grouping; + } + container one-eighty-three { + description + "Block 183 response to Invite"; + presence "true"; + uses block-sdp-grouping; + } + } + } + + grouping config-outbound-proxy-grouping { + container outbound-proxy { + description + "Configure an Outbound Proxy Server"; + choice outbound-proxy-choice { + case address-choice { + leaf address { + description + "Specify Outbound Proxy Address"; + type address-pattern; + } + } + case dhcp-choice { + leaf dhcp { + description + "Provision SIP outbound proxy using DHCP"; + type empty; + } + } + } + } + } + + grouping config-audio-forced-grouping { + container audio { + description + "Configure audio options"; + leaf forced { + description + "Allow only audio/fax, drop all other"; + type empty; + } + } + } + + grouping config-call-route-grouping { + container call-route { + description + "Configure call routing options"; + leaf dest-route-string { + description + "Route based on dest-route-string"; + type empty; + } + leaf history-info { + description + "Route based on History-Info"; + type empty; + } + leaf p-called-party-id { + description + "Route based on P-Called-Party-ID"; + type empty; + } + leaf url { + description + "Route based on URL"; + type empty; + } + } + } + + grouping pass-thru-grouping { + container pass-thru { + description + "SIP pass-through global config"; + container content { + description + "SIP content pass-through config"; + container sdp { + description + "Pass-through sdp content"; + presence "true"; + leaf mode { + description + "Set Pass-through sdp mode"; + type enumeration { + enum non-rtp { + description + "Set Pass-through sdp mode to non-rtp"; + } + } + } + } + leaf custom-sdp { + description + "Pass-through Custom SDP using SIP Profiles"; + type empty; + } + leaf unsupp { + description + "Pass-through all unsupported content"; + type empty; + } + } + container headers { + description + "SIP header pass-through config"; + choice headers-choice { + case sip-hdr-passthrulist-tag-case { + leaf sip-hdr-passthrulist-tag { + description + "The sip-hdr-passthrulist tag number to be linked as global"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-hdr-passthrulist/ios-voice:sip-hdr-passthrulist-tag"; + } + } + } + case unsupp-case { + leaf unsupp { + description + "Pass-through all unsupported headers"; + type empty; + } + } + } + } + container subscribe-notify-events { + description + "Subscribe/Notify event passthrough config"; + choice subscribe-notify-events-choice { + case sip-event-list-tag-case { + leaf sip-event-list-tag { + description + "The sip-event-list tag number to be linked as global"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-event-list/ios-voice:id"; + } + } + } + case sip-event-list-all-case { + leaf all { + description + "Pass-through all subscribe/notify events"; + type empty; + } + } + } + } + } + } + + grouping early-media-update-grouping { + container early-media { + description + "Configure method to handle early-media Update Request"; + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + container update { + description + "Early-Media options for SIP Update request"; + container block { + description + "Consume SIP Update request with SDP in early-dialog"; + presence "true"; + leaf re-negotiate { + description + "Enables end-to-end re-negotiation."; + type empty; + } + } + } + } + } + + grouping options-ping-grouping { + container options-ping { + description + "Send OPTION pings to remote end"; + presence "true"; + leaf interval { + description + "Intervals OPTIONS transactions are sent (in seconds)"; + type uint16 { + range "60..1200"; + } + } + } + } + + grouping config-voice-url-grouping { + container url { + description + "Url configuration for request-line url in outgoing INVITE"; + choice url-type { + case url-type-sip { + leaf sip { + description + "SIP URL in outgoing request uri"; + type empty; + } + } + case url-type-sips { + leaf sips { + description + "SECURE SIP (sips) URL in outgoing request uri"; + type empty; + } + } + case url-type-tel { + container tel { + description + "TEL URL in outgoing request uri"; + presence "true"; + leaf phone-context { + description + "Append phone-context to tel url"; + type empty; + } + } + } + } + } + } + + grouping config-voice-relxx-grouping { + container rel1xx { + description + "Type of reliable provisional response support"; + choice rel1xx-type { + default "rel1xx-supported"; + case rel1xx-disable { + leaf disable { + description + "Disables reliable-provisional responses"; + type empty; + } + } + case rel1xx-require { + leaf require { + description + "Requires reliable-provisional responses"; + type string { + length "1..50"; + } + } + } + case rel1xx-supported { + leaf supported { + description + "Supports reliable-provisional responses"; + type string { + length "1..50"; + } + } + } + } + } + } + + grouping config-voice-privacy-policy-grouping { + container privacy-policy { + description + "Set privacy behavior for outgoing SIP messages"; + leaf passthru { + description + "Pass through privacy values received from peer leg"; + type empty; + } + leaf send-always { + description + "Privacy header is always sent"; + type empty; + } + container strip { + description + "Strip the following header received from peer leg"; + leaf diversion { + description + "Strip diversion header(s) received from peer leg"; + type empty; + } + leaf history-info { + description + "Strip history-info header(s) received from peer leg"; + type empty; + } + } + } + } + + grouping config-voice-privacy-grouping { + container privacy { + description + "Configure SIP UA privacy settings"; + choice privacy-choice { + case others-case { + leaf privacy-type { + description + "Select the level of privacy"; + type enumeration { + enum header { + description + "Privacy at header level"; + } + enum history { + description + "Privacy for history-info header"; + } + enum id { + description + "Privacy at identity level"; + } + enum session { + description + "Privacy at session level"; + } + enum user { + description + "Privacy at user level"; + } + } + } + uses privacy-options-grouping; + } + case pstn-case { + leaf pstn { + description + "Use default pstn rules for privacy"; + type empty; + } + } + } + } + } + + grouping privacy-options-grouping { + container privacy-options { + description + "Configure SIP UA privacy settings"; + leaf critical { + description + "Privacy at critical level"; + type empty; + } + leaf header { + description + "Privacy at header level"; + when "../../privacy-type != 'header'"; + type empty; + } + leaf history { + description + "Privacy for history-info header"; + when "../../privacy-type != 'history'"; + type empty; + } + leaf id { + description + "Privacy at identity level"; + when "../../privacy-type != 'id'"; + type empty; + } + leaf session { + description + "Privacy at session level"; + when "../../privacy-type != 'session'"; + type empty; + } + leaf user { + description + "Privacy at user level"; + when "../../privacy-type != 'user'"; + type empty; + } + } + } + + grouping config-voice-class-tenant-grouping { + list tenant { + description + "Tenant group"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class tenant tag"; + type uint16 { + range "1..10000"; + } + } + uses config-connection-reuse-grouping; + uses config-early-offer-grouping { + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + } + leaf header-passing { + description + "SIP Headers need to be passed to Applications"; + type empty; + } + leaf error-passthru { + description + "SIP error response pass-thru functionality"; + type empty; + } + uses pass-thru-grouping; + uses config-sip-bind-grouping; + container session { + description + "SIP Voice Protocol session config"; + uses config-session-transport-grouping; + } + leaf sip-server { + description + "Configure a SIP Server Interface"; + type address-pattern; + } + uses config-sip-localhost-grouping; + uses config-outbound-proxy-grouping; + uses config-audio-forced-grouping; + uses config-sdp-block-grouping; + uses config-call-route-grouping; + uses config-sip-profiles-tenant-grouping; + leaf copy-list { + description + "Configure list of entities to be sent to peer leg"; + type leafref { + path "../../../ios-voice:class/ios-voice:sip-copylist/ios-voice:id"; + } + } + leaf redirection { + description + "Enable call redirection (3XX) handling"; + type empty; + } + leaf contact-passing { + description + "302 contact needs to be passed through for CFWD"; + type empty; + } + leaf referto-passing { + description + "Refer-To needs to be passed through for transfer"; + type empty; + } + leaf srtp-crypto { + description + "Configure the voice class srtp-crypto tag"; + type leafref { + path "../../../class/srtp-crypto/id"; + } + } + uses config-registrar-grouping; + leaf remote-party-id { + description + "Enable Remote-Party-ID support in SIP User Agent calls"; + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + type boolean; + } + uses config-asserted-id-grouping; + uses config-midcall-signaling-grouping { + refine "midcall-signaling/passthru" { + presence "true"; + } + } + uses config-asymmetric-grouping; + uses config-voice-privacy-grouping; + uses config-voice-privacy-policy-grouping; + uses config-voice-relxx-grouping; + uses config-voice-url-grouping; + leaf requri-passing { + description + "Request URI needs to be passed through"; + type empty; + } + leaf update-callerid { + description + "Enable sending updates for callerid"; + type empty; + } + leaf anat { + description + "allow alternative network address types IPv4 and IPv6"; + type boolean; + default "false"; + } + leaf tls-profile { + description + "Specify the tls-profile tag number"; + type uint16 { + range "1..10000"; + } + } + leaf random-contact { + description + "Use Random Contact for outgoing calls, if available"; + type empty; + } + uses options-ping-grouping; + uses early-media-update-grouping; + uses config-listen-port-grouping; + leaf override-hostname { + description + "Override registrar hostname with resolved IP address in SIP message headers"; + type boolean; + default "false"; + } + container analog-dn { + description + "On-Prem SIP Line analog DN configuration"; + leaf dn { + description + "A string representing the directory number to register"; + type string { + pattern '[0-9A-F]{4,32}'; + } + } + leaf dial-peer-tag { + description + "POTS dial peer tag"; + type uint32 { + range "1..1073741823"; + } + } + } + } + } + + grouping config-voice-class-dpg-grouping { + list dpg { + description + "dial-peer group"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class dialpeer group tag"; + type uint16 { + range "1..10000"; + } + } + list dial-peer { + description + "Add a dialpeer to the group"; + max-elements 1073741823; + key "id"; + leaf id { + description + "Voice dial-peer tag"; + type leafref { + path "../../../../../../ios:native/ios-voice:dial-peer/ios-voice:voice/ios-voice:dialpeertag"; + } + } + leaf preference { + description + "Preference order of this dialpeer in a group"; + type uint8 { + range "0..10"; + } + default "0"; + } + } + leaf shutdown { + description + "Put dial-peer group to inactive state"; + type empty; + } + } + } + + grouping config-voice-class-stun-usage-grouping { + list stun-usage { + description + "Set stun-usage global parameters"; + key "id"; + max-elements 10000; + leaf id { + description + "Voice class dialpeer group tag"; + type uint16 { + range "1..10000"; + } + } + container stun { + description + "Stun parameters"; + container usage { + description + "usage parameters"; + container firewall-traversal { + description + "name of Class of Restriction"; + leaf flowdata { + description + "use flowdata"; + type empty; + } + } + container ice { + description + "Enable ICE"; + leaf lite { + description + "Configure ICE in Ice-Lite Mode"; + type empty; + } + } + } + } + } + } + + grouping config-voice-class-srtp-crypto-grouping { + list srtp-crypto { + description + "Configure set of SRTP cipher suites in preferred order"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class srtp-crypto tag"; + type uint16 { + range "1..10000"; + } + } + list crypto { + description + "Configure preferred SRTP cipher-suite"; + unique "type"; + key "id"; + leaf id { + description + "Set the preference order for the cipher-suite (1 = Highest)"; + type uint8 { + range "1..4"; + } + } + leaf type { + type enumeration { + enum AEAD_AES_128_GCM; + enum AEAD_AES_256_GCM; + enum AES_CM_128_HMAC_SHA1_32; + enum AES_CM_128_HMAC_SHA1_80; + } + } + } + } + } + + grouping config-voice-class-server-group-grouping { + list server-group { + description + "IP Server Group"; + must '(count(ipv4-address/ipv4/address) + count(ipv4-address/ipv4-addr-port/ipv4/address) + count(ipv6-address/ipv6/address) + count(ipv6-address/ipv6-addr-port/ipv6/address)) < 6' { + error-message "Maximum 5 addresses allowed"; + } + max-elements 10000; + key "id"; + leaf id { + description + "Voice class server group tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Description of a dialpeer group"; + type string { + length "1..80"; + } + } + leaf shutdown { + description + "Put server group to inactive state"; + type boolean; + default "false"; + } + container hunt-scheme { + description + "List of IP targets hunt method"; + leaf round-robin { + description + "Servers are sorted in round robin"; + type empty; + } + } + list huntstop { + description + "Stop hunting for particular response codes"; + max-elements 1000; + key "id"; + leaf id { + description + "Huntstop Identifier tag"; + type uint16 { + range "1..1000"; + } + } + container resp-code { + description + "SIP Response codes"; + leaf resp-code-start-range { + description + "Response code value"; + type uint16 { + range "400..599"; + } + } + leaf to { + description + "Configure SIP Response code range"; + type empty; + } + leaf resp-code-end-range { + must '../resp-code-start-range <= . ' { + error-message "Invalid SIP response code range configured for hunt-stop"; + } + type uint16 { + range "400..599"; + } + } + } + } + container ipv4-address { + list ipv4 { + key "address"; + leaf address { + description + "set the Call Manager configuration download TFTP server address/name"; + type inet:ipv4-address; + } + leaf preference { + description + "Preference order of this server in a group"; + type uint8 { + range "0..5"; + } + } + } + container ipv4-addr-port { + list ipv4 { + key "address port"; + leaf address { + description + "set the Call Manager configuration download TFTP server address/name"; + type inet:ipv4-address; + } + leaf port { + description + "IP Address Port"; + type uint16 { + range "1..65535"; + } + } + leaf preference { + description + "Preference order of this server in a group"; + type uint8 { + range "0..5"; + } + } + } + } + } + container ipv6-address { + list ipv6 { + key "address"; + leaf address { + description + "set the Call Manager configuration download TFTP server address/name"; + type inet:ipv6-address; + } + leaf preference { + description + "Preference order of this server in a group"; + type uint8 { + range "0..5"; + } + } + } + container ipv6-addr-port { + list ipv6 { + key "address port"; + leaf address { + description + "set the Call Manager configuration download TFTP server address/name"; + type inet:ipv6-address; + } + leaf port { + description + "IP Address Port"; + type uint16 { + range "1..65535"; + } + } + leaf preference { + description + "Preference order of this server in a group"; + type uint8 { + range "0..5"; + } + } + } + } + } + } + } + + grouping config-voice-class-e164-pattern-map-grouping { + list e164-pattern-map { + description + "e164 pattern map"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class e164-pattern-map tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "e164 pattern map specific description"; + type string { + length "1..80"; + } + } + list e164 { + description + "Set E164 pattern for the map"; + max-elements 100; + key "WORD"; + leaf WORD { + description + "Add an E164 into the map"; + must 'not (../../url) ' { + error-message "need to remove existing url on map"; + } + type config-e164-pattern; + } + } + leaf url { + description + "Set the URL of the file for the map"; + must 'not (../e164) ' { + error-message "need to remove existing e164 on map"; + } + type string { + pattern '(((bootflash:)|(flash:)|(nvram:)|(webui:)).*)' { + error-message "Invalid URL, not added to map"; + } + } + } + } + } + + grouping config-sip-options-keepalive-interval-grouping { + leaf down-interval { + description + "OPTIONS keepalive timer interval for DOWN endpoint"; + type uint16 { + range "5..1200"; + } + default "30"; + } + leaf up-interval { + description + "OPTIONS keepalive timer interval for UP endpoint"; + type uint16 { + range "5..1200"; + } + default "60"; + } + leaf retry { + description + "Retry count for OPTIONS keepalive retransmission"; + type uint8 { + range "1..10"; + } + default "5"; + } + } + + grouping config-voice-class-sip-options-keepalive-grouping { + list sip-options-keepalive { + description + "SIP Options Keepalive Profile setup"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class sip-options-keepalive tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Description of a options-keepalive profile"; + type string { + length "1..80"; + } + } + leaf shutdown { + description + "Put sip-options-keepalive to inactive state"; + type boolean; + default "false"; + } + uses config-sip-options-keepalive-interval-grouping; + leaf sip-profiles { + description + "Voice Class SIP Profiles"; + type leafref { + path "../../../ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + uses config-session-transport-grouping; + } + } + + grouping config-voice-class-media-grouping { + list media { + description + "Media settings for voip calls"; + max-elements 10000; + key "media-tag"; + leaf media-tag { + description + "Voice class media tag"; + type uint16 { + range "1..10000"; + } + } + container media { + description + "Media setting for voip calls in this voice class"; + leaf anti-trombone { + description + "Media Anti-trombone functionality"; + type empty; + } + leaf forking { + description + "Enable media forking"; + type empty; + } + leaf monitor-video { + description + "Enable video quality monitoring"; + type empty; + } + leaf stats-disconnect { + description + "Defer BYE for last call stats at disconnect"; + type empty; + } + leaf flow-through-or-around { + description + "choice of flow case gateway"; + type enumeration { + enum flow-through { + description + "The media is to flow through the gateway"; + } + enum flow-around { + description + "The media is to flow around the gateway"; + } + } + default "flow-through"; + } + } + } + } + + grouping config-voice-class-sip-profiles-grouping { + list sip-profiles { + description + "Voice Class SIP Profiles"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class sip profiles tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Description of a sip-profile"; + type string; + } + list rule { + description + "Specify the rule"; + max-elements 1073741823; + key "id"; + leaf id { + description + "Specify the rule tag"; + type uint64 { + range "1..1073741823"; + } + } + container rule-response-request { + choice rule-choice { + case response-case { + uses sip-response-choice-grouping; + } + case request-case { + uses sip-request-choice-grouping; + } + } + } + } + } + } + + grouping config-voice-class-uri-grouping { + container uri { + description + "Voice URI class configuration commands"; + list uri { + max-elements 10000; + key "uritag"; + leaf uritag { + description + "Voice URI Class tag"; + type string { + length "1..32"; + pattern '([0-9,A-Z,a-z]*T?)'; + } + } + leaf type { + description + "sip: URI class"; + when "../uritag != 'sip'"; + type enumeration { + enum sip; + enum tel; + } + } + leaf-list host { + description + "Match the Host portion of the URI"; + when "../type = 'sip'"; + must 'not (../pattern)' { + error-message "Please remove Pattern before proceeding"; + } + max-elements 10; + type address-pattern; + } + leaf pattern { + description + "Match the entire URI"; + when "../type = 'sip' or ../type = 'tel'"; + must 'not ((../host) or (../user-id) or (../phone/context))' { + error-message "Please remove the other patterns before proceeding"; + } + type string { + length "1..128"; + pattern '(((\[)[(\^)0-9,a-z,A-Z#*.@:;~!?+%()-]*(\])|[(\^)0-9,a-z,A-Z#*.@;:~!?+%()-]*)*T?($)?)'; + } + } + leaf user-id { + description + "Match the User ID portion of the URI"; + when "../type = 'sip'"; + must 'not (../pattern) ' { + error-message "Please remove pattern before proceeding"; + } + type generic-uri-pattern; + } + container phone { + description + "Match the phone number portion of the URI"; + when "../type = 'sip' or ../type = 'tel'"; + leaf context { + description + "Match the phone-context attribute of the URI"; + must 'not (../../pattern) ' { + error-message "Please remove pattern before proceeding"; + } + type generic-uri-pattern; + } + leaf number { + description + "Match the phone-number attribute of the URI"; + when "../../type = 'tel'"; + must 'not (../../pattern) ' { + error-message "Please remove pattern before proceeding"; + } + type generic-uri-pattern; + } + } + } + container sip { + description + "Configure SIP URI class properties"; + container preference { + description + "Assign preference to the match patterns"; + choice preference { + case host-option { + container host { + description + "Host pattern match length"; + presence "true"; + leaf user-id { + description + "User-ID pattern match length"; + type empty; + } + } + } + case user-id-option { + container user-id { + description + "User ID pattern match length"; + presence "true"; + leaf host { + description + "Host pattern match length"; + type empty; + } + } + } + } + } + } + } + } + + grouping config-asserted-id-grouping { + container asserted-id { + description + "Configure SIP UA privacy identity settings"; + choice asserted-id-choice { + case pai-case { + leaf pai { + description + "Use privacy asserted identity"; + type empty; + } + } + case ppi-case { + leaf ppi { + description + "Use privacy preferred identity"; + type empty; + } + } + } + } + } + + grouping config-midcall-signaling-grouping { + container midcall-signaling { + description + "Configure method to handle midcall signaling"; + leaf block { + description + "Block all SIP messages in midcall"; + must 'not(../passthru/media-change)' { + error-message "Remove 'midcall-signaling passthru media-change' before configuring 'midcall-signaling block'."; + } + type empty; + } + container passthru { + description + "Passthrough SIP messages from one IP leg to another IP leg"; + leaf media-change { + description + "Only passthrough SIP messages which involve media-change"; + must 'not(../../block)' { + error-message "Remove 'midcall-signaling block' before configuring 'midcall-signaling passthru media-change'."; + } + type empty; + } + } + leaf preserve-codec { + description + "preserve initial negotiated codec i.e. midcall codec change denial"; + type empty; + } + } + } + + grouping config-voice-class-sip-hdr-passthrulist-grouping { + list sip-hdr-passthrulist { + description + "Configure list of headers to be passed thru"; + max-elements 10000; + key "sip-hdr-passthrulist-tag"; + leaf sip-hdr-passthrulist-tag { + description + "Voice class sip-hdr-passthrulist tag"; + type uint16 { + range "1..10000"; + } + } + leaf-list passthru-hdr { + description + "Add hdr in the list of hdrs to be passed thru"; + max-elements 25; + type string { + length "1..128"; + } + } + leaf passthru-hdr-unsupp { + description + "Enable the pass-thru of all unsupported headers"; + type empty; + } + } + } + + grouping config-early-offer-grouping { + container early-offer { + description + "Configure sending Early-Offer"; + container forced { + description + "Forcefully Send Early-Offer"; + presence "true"; + container re-negotiate { + description + "Enables end-to-end re-negotiation for variable quality codecs"; + presence "true"; + leaf always { + description + "Enables end-to-end re-negotiation for all codecs"; + type empty; + } + } + } + } + } + + grouping config-connection-reuse-grouping { + container connection-reuse { + description + "Use listener port for sending requests over UDP"; + presence "true"; + leaf via-port { + description + "Send responses to port present in Via header"; + type empty; + } + } + } + + grouping config-asymmetric-grouping { + container asymmetric { + description + "Configure global SIP asymmetric payload support"; + container payload { + description + "Type of asymmetric payload support"; + choice payload-case { + case dtmf-case { + leaf dtmf { + description + "Asymmetric Support for dtmf payloads only"; + type empty; + } + } + case dynamic-codecs-case { + leaf dynamic-codecs { + description + "Asymmetric Support for dynamic codec payloads only"; + type empty; + } + } + case full-case { + leaf full { + description + "Asymmetric Support for dynamic codec and dtmf payloads"; + type empty; + } + } + } + } + } + } + + grouping config-voice-class-sip-event-list-grouping { + list sip-event-list { + description + "Configure list of events to be passed thru"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class sip-event-list tag"; + type uint16 { + range "1..10000"; + } + } + leaf-list event { + description + "Add event in the list of events to be passed thru"; + max-elements 25; + type string { + length "1..128"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-dspfarm.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-dspfarm.yang new file mode 100644 index 000000000..615c08a00 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-dspfarm.yang @@ -0,0 +1,601 @@ +submodule Cisco-IOS-XE-voice-dspfarm { + yang-version 1.1; + belongs-to Cisco-IOS-XE-voice { + prefix ios-voice; + } + + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-interface-common { + prefix ios-ifc; + } + import Cisco-IOS-XE-crypto { + prefix ios-crypto; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Voice DSPFarm Yang model. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added SCCP Telephony Control Application security tls-version + - Added dspfarm profile [conference | mtp] security tls-version + - Added dspfarm profile [conference | mtp] security trustpoint"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-03-01 { + description + "- Added when condition in opus codec under dspfarm profile"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-11-01 { + description + "- Added opus codec under dspfarm profile"; + cisco-semver:module-version "1.0.0"; + } + revision 2021-03-01 { + description + "- Added sccp ip precedence CLI + - Added sccp bind CLI + - Added keepalive [retries | timeout] CLIs"; + } + revision 2020-11-01 { + description + "- Initial revision for 17.4.1"; + } + revision 2020-07-01 { + description + "Initial version"; + } + + typedef tls-version-enum { + type enumeration { + enum v1.0 { + description + "Enable TLS Version 1.0"; + } + enum v1.1 { + description + "Enable TLS Version 1.1"; + } + enum v1.2 { + description + "Enable TLS Version 1.2"; + } + enum v1.3 { + description + "Enable TLS Version 1.3"; + } + } + } + + grouping config-dspfarm-profile-grouping { + container dspfarm { + description + "dspfarm profile creation CLI"; + list profile { + description + "dspfarm profile creation CLI"; + key "id"; + leaf id { + description + "dspfarm profile ID"; + type uint16 { + range "1..65535"; + } + } + leaf type { + description + "Configure the profile types"; + type enumeration { + enum conference; + enum mtp; + enum transcode; + } + mandatory true; + } + leaf security { + when "../type = 'mtp' or ../type = 'conference'"; + description + "Enable security for the dspfarm service"; + type empty; + } + leaf universal { + when "../type = 'transcode'"; + description + "Configure the transcode universal profile type"; + type empty; + } + leaf tls-version { + when '../security'; + description + "tls version to use with this profile"; + type tls-version-enum; + } + leaf trustpoint { + when '../security'; + description + "trustpoint label to use with this profile"; + must '/ios:native/ios:crypto/ios-crypto:pki/ios-crypto:trustpoint[ios-crypto:id=current()]' { + error-message "CA trustpoint must be created first"; + } + type string; + } + container codec { + description + "Add the codec capability of this profile"; + leaf g711ulaw { + description + "Add the codec g711ulaw"; + type empty; + } + leaf g711alaw { + description + "Add the codec g711alaw"; + type empty; + } + leaf g722-64 { + description + "Add the codec g722-64"; + type empty; + } + leaf g729abr8 { + description + "Add the codec g729abr8"; + type empty; + } + leaf g729ar8 { + description + "Add the codec g729ar8"; + type empty; + } + leaf g729br8 { + description + "Add the codec g729br8"; + type empty; + } + leaf g729r8 { + description + "Add the codec g729r8"; + type empty; + } + leaf ilbc { + description + "Add the codec ilbc"; + type empty; + } + leaf opus { + when "../../type = 'transcode'"; + description + "Add the codec opus"; + type empty; + } + leaf isac { + when "../../type = 'transcode' or ../../type = 'mtp'"; + description + "Add the codec isac"; + type empty; + } + leaf pass-through { + when "../../type = 'transcode' or ../../type = 'mtp'"; + description + "Add the codec pass-through"; + type empty; + } + } + container associate { + description + "To associate an application to this profile"; + leaf application { + description + "Configure the application to associate"; + type enumeration { + enum sccp; + enum cube; + } + } + } + leaf plc { + when "../type = 'conference'"; + description + "Enable/Disable packet loss concealment"; + type boolean; + default "true"; + } + leaf acoustic-shock-protection { + when "../associate/application = 'cube' and ../type = 'transcode'"; + description + "Enable the acoustic shock protection for transcode profiles"; + type boolean; + default "false"; + } + leaf noise-reduction { + when "../associate/application = 'cube' and ../type = 'transcode'"; + description + "Enable the noise reduction for transcode profiles"; + type boolean; + default "false"; + } + leaf call-progress-analysis { + when "../associate/application = 'cube' and ../type = 'transcode'"; + description + "Enable the call progress analysis for transcode profiles"; + type boolean; + default "false"; + } + leaf rsvp { + description + "Enable the reservation protocol for transcode profiles"; + type boolean; + default "false"; + } + leaf cng-fax-detect { + when "../type = 'transcode'"; + description + "Configure support cng fax detect feature"; + type boolean; + default "false"; + } + container maximum { + description + "Configure the maximum number for this profile"; + container sessions { + description + "Configure the maximum sessions of this profile"; + leaf max-sessions { + when "../../../type = 'transcode' or ../../../type = 'conference'"; + description + "Configure the maximum sessions of transcode or conference profile"; + type uint32 { + range "1..4000"; + } + } + container max-mtp-sessions { + when "../../../type = 'mtp'"; + description + "Configure the maximum session of mtp profile"; + leaf hardware { + description + "Configure the maximum hardware MTP sessions of this profile"; + type uint32 { + range "1..4000"; + } + } + leaf software { + description + "Configure the maximum software MTP sessions of this profile"; + type uint32 { + range "1..6000"; + } + } + } + } + leaf conference-participants { + when "../../type = 'conference'"; + description + "Configure the maximum number of conferee per conference session"; + type enumeration { + enum 8; + enum 16; + enum 32; + } + default "8"; + } + } + container conference-join { + when "../type = 'conference'"; + description + "Configure tone for joining a conference"; + leaf custom-cptone { + description + "Configure the cp tone for conference join"; + type string; + } + } + container conference-leave { + when "../type = 'conference'"; + description + "Configure tone for leaving a conference"; + leaf custom-cptone { + description + "Configure the cp tone for conference leave"; + type string; + } + } + container dtmf { + when "../type = 'transcode'"; + leaf suppress { + description + "To suppress the DTMF packets for transcode profiles"; + type boolean; + default "false"; + } + } + leaf shutdown { + description + "Shutdown or bring up the profile"; + type boolean; + default "true"; + } + } + } + } + + grouping config-sccp-grouping { + container sccp-config { + container sccp { + description + "Configure sccp protocol related parameters"; + container ip { + description + "Specify the IP related parameters values"; + leaf precedence { + description + "Specify the IP precedence parameter value"; + type uint8 { + range "1..7"; + } + default "5"; + } + } + leaf local { + description + "Specify the local gateway related parameters values"; + type string; + } + container sccp-ccm-list { + list ccm { + description + "Configure a CCM into the sccp ccm list"; + key "host"; + leaf host { + description + "CCM IP address or domain name"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type inet:domain-name; + } + } + leaf identifier { + description + "Set this CCM's identifier"; + type uint16 { + range "1..65535"; + } + } + leaf version { + description + "Set the CCM's version"; + type enumeration { + enum 3.0; + enum 3.1; + enum 3.2; + enum 3.3; + enum 4.0; + enum 4.1; + enum 5.0.1; + enum 6.0; + enum 7.0+; + } + } + } + } + container sccp-ccm-group-list { + container ccm { + list group { + key "id"; + leaf id { + description + "Set a sccp ccm group with an ID number ID"; + type uint16 { + range "1..65535"; + } + } + leaf description { + description + "The description of this ccm group"; + type string; + } + container bind { + description + "Bind the specific interface to the CCM group"; + container interface { + description + "Select the interface to bind"; + uses ios-ifc:interface-grouping; + } + } + container keepalive { + description + "Specify SCCP keepalive message related parameter values"; + leaf retries { + description + "Set the keepalive message retries parameter value"; + type uint8 { + range "1..32"; + } + default "3"; + } + leaf timeout { + description + "Set the keepalive message timeout parameter value"; + type uint8 { + range "0..180"; + } + default "30"; + } + } + container associate { + list ccm { + description + "Associate a CCM to this CCM group"; + key "id"; + leaf id { + description + "The CCM identifier to be associated"; + type uint16 { + range "1..65535"; + } + } + leaf priority { + description + "Set the CCM's priority in this CCM group"; + type uint16 { + range "1..65535"; + } + } + } + list profile { + description + "Associate a profile to this CCM group"; + key "id"; + leaf id { + description + "Set the profile ID to be associated with this CCM group"; + type leafref { + path "../../../../../../../../ios-voice:dspfarm/ios-voice:profile/ios-voice:id"; + } + } + leaf register { + description + "Configure the name of this profile to be registered"; + type string { + length "6..15"; + } + } + } + } + container switchover { + description + "Specify the Switchover related parameters values"; + container method { + description + "Configure switchover method related parameter"; + choice switchover-choice { + leaf graceful { + description + "Select the graceful switchover method"; + type empty; + } + leaf immediate { + description + "Select the immediate switchover method"; + type empty; + } + default "graceful"; + } + } + } + container switchback { + description + "Specify the Switchback related parameters values"; + leaf interval { + description + "Configure the switchback interval timer"; + type uint16 { + range "1..3600"; + } + } + container method { + description + "Configure the switchback method related parameter"; + choice switchback-choice { + leaf graceful { + description + "Select the graceful switchback method"; + type empty; + } + leaf immediate { + description + "Select the immediate switchback method"; + type empty; + } + container guard { + description + "Select the graceful with guard switchback method"; + presence "true"; + leaf timeout { + description + "Specify the timeout value for the selected switchback method"; + type uint32 { + range "60..172800"; + } + default "7200"; + } + } + container uptime { + description + "Select the uptime-delay switchback method"; + presence "true"; + leaf timeout { + description + "Select the timeout value in seconds"; + type uint32 { + range "60..172800"; + } + } + } + default "guard"; + } + } + } + } + } + } + } + } + leaf sccp { + description + "To enable/disable sccp protocol"; + type empty; + } + } + + grouping config-stcapp-grouping { + leaf stcapp { + description + "Start SCCP Telephony Control Application"; + type empty; + } + container stcapp-config { + container stcapp { + container security { + description + "Enable security and specify security parameters for stcapp"; + leaf tls-version { + description + "tls version to use with this profile"; + type tls-version-enum; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-oper.yang new file mode 100644 index 000000000..5f8039fd5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-oper.yang @@ -0,0 +1,2049 @@ +module Cisco-IOS-XE-voice-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-voice-oper"; + prefix voice-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for voice operational data. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2020-11-01 { + description + "- Added new enums for session type and application association."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2020-07-01 { + description + "- Added support for OPUS codec"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-27 { + description + "- Added show DSPFarm Profiles. + - Added DSPfarm and SCCP connections. + - Added voice register phone details for SRST mode. + - Added VOIP calls summary and per-call-leg details"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "- Added show sccp ccm group details. + - Added active calls summary and per-call details. + - Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "- display SIP line voice port, device name, registration state, device type and directory number + - Cleaned up spelling errors in descriptions. + - Display SIP line feature access codes"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-07-17 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dsp-port-type { + type enumeration { + enum dsp-port-type-digital { + value 0; + description + "Digital port"; + } + enum dsp-port-type-analog { + value 1; + description + "Analog port"; + } + } + description + "Type of the voice recording source port"; + } + + typedef reg-state-type { + type enumeration { + enum reg-state-unregistered { + value 0; + description + "Unregistered registration state"; + } + enum reg-state-registered { + value 1; + description + "Registered registration state"; + } + } + description + "Line device registration state type"; + } + + typedef device-type { + type enumeration { + enum alg-encrypted { + value 0; + description + "Encrypted analog device"; + } + enum alg-authenticated { + value 1; + description + "Authenticated analog device"; + } + enum alg-regular { + value 2; + description + "Regular analog device"; + } + } + description + "Line device device type"; + } + + typedef vad-configuration { + type enumeration { + enum vad-none { + value 0; + description + "Voice Activity Detection is not used"; + } + enum vad-enable { + value 1; + description + "Voice Activity Detection enabled"; + } + enum vad-disable { + value 2; + description + "Voice Activity Detection disabled"; + } + } + description + "Enumeration for Voice Activity Detection configuration"; + } + + typedef voip-codec-type { + type enumeration { + enum voip-codec-none { + value 0; + description + "No VOIP codec is used"; + } + enum voip-codec-g729r8 { + value 1; + description + "VOIP codec type g729r8"; + } + enum voip-codec-g729ar8 { + value 2; + description + "VOIP codec type g729ar8"; + } + enum voip-codec-g726r16 { + value 3; + description + "VOIP codec type g726r16"; + } + enum voip-codec-g726r24 { + value 4; + description + "VOIP codec type g726r24"; + } + enum voip-codec-g726r32 { + value 5; + description + "VOIP codec type g726r32"; + } + enum voip-codec-g711ulaw { + value 6; + description + "VOIP codec type g711ulaw"; + } + enum voip-codec-g711alaw { + value 7; + description + "VOIP codec type g711alaw"; + } + enum voip-codec-g728 { + value 8; + description + "VOIP codec type g728"; + } + enum voip-codec-g723r63 { + value 9; + description + "VOIP codec type g723r63"; + } + enum voip-codec-g723r53 { + value 10; + description + "VOIP codec type g723r53"; + } + enum voip-codec-gsm { + value 11; + description + "VOIP codec type gsm"; + } + enum voip-codec-gsmefr { + value 12; + description + "VOIP codec type gsmefr"; + } + enum voip-codec-g729br8 { + value 13; + description + "VOIP codec type g729br8"; + } + enum voip-codec-g729abr8 { + value 14; + description + "VOIP codec type g729abr8"; + } + enum voip-codec-g729ar63 { + value 15; + description + "VOIP codec type g723ar63"; + } + enum voip-codec-g729ar53 { + value 16; + description + "VOIP codec type g723ar53"; + } + enum voip-codec-g729ietf { + value 17; + description + "VOIP codec type g729r8"; + } + enum voip-codec-t38 { + value 18; + description + "VOIP codec type t38"; + } + enum voip-codec-clearchannel { + value 19; + description + "VOIP codec type clear channel"; + } + enum voip-codec-vofr-telogy-fax { + value 20; + description + "VOIP codec type vofr Cisco Fax"; + } + enum voip-codec-llcc { + value 21; + description + "VOIP codec type llcc"; + } + enum voip-codec-g726r40 { + value 22; + description + "VOIP codec type g726r40"; + } + enum voip-codec-transparent { + value 23; + description + "VOIP codec type transparent"; + } + enum voip-codec-modem-relay { + value 24; + description + "VOIP codec type modem relay"; + } + enum voip-codec-cisco-fax { + value 25; + description + "VOIP codec type Cisco FAX"; + } + enum voip-codec-t120 { + value 26; + description + "VOIP codec type t120"; + } + enum voip-codec-video { + value 27; + description + "VOIP codec type Video"; + } + enum voip-codec-video-h261 { + value 28; + description + "VOIP codec type Video h261"; + } + enum voip-codec-video-h263 { + value 29; + description + "VOIP codec type Video h263"; + } + enum voip-codec-video-h263-plus { + value 30; + description + "VOIP codec type Video h263+"; + } + enum voip-codec-video-h264 { + value 31; + description + "VOIP codec type Video h264"; + } + enum voip-codec-pass-through { + value 32; + description + "VOIP codec type pass through"; + } + enum voip-codec-gsmamr-nb { + value 33; + description + "VOIP codec type gsmamrnb"; + } + enum voip-codec-ilbc { + value 34; + description + "VOIP codec type ilbc"; + } + enum voip-codec-g722-124 { + value 35; + description + "VOIP codec type g722124"; + } + enum voip-codec-g722-132 { + value 36; + description + "VOIP codec type g722132"; + } + enum voip-codec-video-vieo { + value 37; + description + "VOIP codec type video wide band"; + } + enum voip-codec-g722-64 { + value 38; + description + "VOIP codec type g72264"; + } + enum voip-codec-g722-56 { + value 39; + description + "VOIP codec type g72256"; + } + enum voip-codec-g722-48 { + value 40; + description + "VOIP codec type g72248"; + } + enum voip-codec-video-mpeg4 { + value 41; + description + "VOIP codec type Video mpeg4"; + } + enum voip-codec-g7231r { + value 42; + description + "VOIP codec type g723"; + } + enum voip-codec-g7231ar { + value 43; + description + "VOIP codec type g723ar"; + } + enum voip-codec-aacld { + value 44; + description + "VOIP codec type aacld"; + } + enum voip-codec-isac { + value 45; + description + "VOIP codec type isac"; + } + enum voip-codec-no-audio { + value 46; + description + "VOIP codec type no audio"; + } + enum voip-codec-syn-video-1mbps { + value 47; + description + "VOIP codec type Video 1 MBPS"; + } + enum voip-codec-syn-video-2mbps { + value 48; + description + "VOIP codec type Video 2 MBPS"; + } + enum voip-codec-syn-video-4mbps { + value 49; + description + "VOIP codec type Video 4 MBPS"; + } + enum voip-codec-amr-wb { + value 50; + description + "VOIP codec type amrwb"; + } + enum voip-codec-h224 { + value 51; + description + "VOIP codec type h224"; + } + enum voip-codec-mp4-alatm { + value 52; + description + "VOIP codec type mp4alatm"; + } + enum voip-codec-max { + value 53; + description + "It is not used, it is end of non fax codec"; + } + enum voip-codec-fax-voice { + value 54; + description + "VOIP codec type Fax Voice"; + } + enum voip-codec-fax-rate-2400 { + value 55; + description + "VOIP codec type Fax rate 2400"; + } + enum voip-codec-fax-rate-4800 { + value 56; + description + "VOIP codec type Fax rate 4800"; + } + enum voip-codec-fax-rate-7200 { + value 57; + description + "VOIP codec type Fax rate 7200"; + } + enum voip-codec-fax-rate-9600 { + value 58; + description + "VOIP codec type Fax rate 9600"; + } + enum voip-codec-fax-rate-12000 { + value 59; + description + "VOIP codec type Fax rate 12000"; + } + enum voip-codec-fax-rate-14400 { + value 60; + description + "VOIP codec type Fax rate 14400"; + } + enum voip-codec-fax-rate-33600 { + value 61; + description + "VOIP codec type Fax rate 33600"; + } + enum voip-codec-fax-rate-none { + value 62; + description + "VOIP codec type Fax rate none"; + } + enum voip-codec-fax-rate-system { + value 63; + description + "VOIP codec type Fax rate system"; + } + enum voip-codec-opus { + value 64; + description + "VOIP codec type opus"; + } + } + description + "Enumeration for VOIP codec type"; + } + + typedef dsp-type-enum { + type enumeration { + enum dsp-type-none { + value 0; + description + "DSP type none"; + } + enum dsp-type-dm8147 { + value 1; + description + "DSP type dm8147"; + } + enum dsp-type-sp2700 { + value 2; + description + "DSP type sp2700"; + } + enum dsp-type-tilegx { + value 3; + description + "DSP type tilegx"; + } + enum dsp-type-sp2600 { + value 4; + description + "DSP type sp2600"; + } + } + description + "Enumeration for DSP types"; + } + + typedef swo-method { + type enumeration { + enum switchover-invalid { + value 0; + description + "Invalid method"; + } + enum switchover-immediate { + value 1; + description + "Immediately switch over"; + } + enum switchover-graceful { + value 2; + description + "Gracefully switch over"; + } + } + description + "Call Manager group switch over methods"; + } + + typedef swb-method { + type enumeration { + enum switchback-invalid { + value 0; + description + "Invalid method"; + } + enum switchback-immediate { + value 1; + description + "Immediately switch back"; + } + enum switchback-graceful { + value 2; + description + "Gracefully switch back"; + } + enum switchback-scheduled { + value 3; + description + "Scheduled switch back"; + } + enum switchback-uptime-delay { + value 4; + description + "Up-time delayed switch back"; + } + enum switchback-graceful-guard { + value 5; + description + "Graceful with guard switch back"; + } + } + description + "Call Manager group switch back methods"; + } + + typedef sccp-conn-mode { + type enumeration { + enum invalid { + value 0; + description + "Invalid Mode"; + } + enum inactive { + value 1; + description + "Inactive Mode"; + } + enum recvonly { + value 2; + description + "Receive Only Mode"; + } + enum sendonly { + value 3; + description + "Send Only Mode"; + } + enum sendrecv { + value 4; + description + "Send and Receive Mode"; + } + } + description + "SCCP Connection Mode"; + } + + typedef sccp-sess-type { + type enumeration { + enum none { + value 0; + description + "No SCCP Session"; + } + enum mtp-service { + value 1; + description + "MTP Session"; + } + enum transcoding { + value 2; + description + "Transcoding Session"; + } + enum conferencing { + value 3; + description + "Conferencing Session"; + } + enum alg-phone { + value 4; + description + "ALG Phone"; + } + enum bri-phone { + value 5; + description + "BRI Phone"; + } + enum virtual-phone { + value 6; + description + "Virtual Phone"; + } + enum dp-mtp-service { + value 7; + description + "DP MTP Session"; + } + enum video-conferencing { + value 8; + description + "Video Conferencing Session"; + } + enum video-transcoding { + value 9; + description + "Video Transcoding Session"; + } + enum mtp { + value 10; + description + "MTP Session"; + } + } + description + "SCCP session type"; + } + + typedef dtmf-method-type { + type enumeration { + enum dtmf-relay-none { + value 0; + description + "No DTMF Relay"; + } + enum dtmf-passthru { + value 1; + description + "DTMF Passthrough"; + } + enum dtmf-report { + value 2; + description + "DTMF Report"; + } + enum dtmf-passthru-report { + value 3; + description + "DTMF Passthrough and Report"; + } + enum dtmf-rfc-2833 { + value 4; + description + "DTMF RFC 2833"; + } + enum dtmf-inband { + value 5; + description + "DTMF Inband"; + } + enum dtmf-unknown { + value 6; + description + "DTMF Unknown"; + } + } + description + "DTMF Method Configuration"; + } + + typedef dsp-status-type { + type enumeration { + enum dsp-down { + value 0; + description + "DSP Down"; + } + enum dsp-up { + value 1; + description + "DSP Up"; + } + } + description + "DSP Status"; + } + + typedef chnl-status-type { + type enumeration { + enum chnl-free { + value 0; + description + "DSP channel is free"; + } + enum chnl-used { + value 1; + description + "DSP channel is in use"; + } + } + description + "DSP Channel Status"; + } + + typedef dsp-service-type { + type enumeration { + enum xcode { + value 0; + description + "DSP Transcoding Service"; + } + enum conf { + value 1; + description + "DSP Conferencing Service"; + } + enum hw-mtp { + value 2; + description + "Hardware MTP Service"; + } + enum secure-xcode { + value 3; + description + "Secure Transcoding Service"; + } + enum secure-conf { + value 4; + description + "Secure Conferencing Service"; + } + enum secure-hw-mtp { + value 5; + description + "Secure Hardware MTP Service"; + } + enum dspfarm-unknown { + value 6; + description + "Unknown DSP Service"; + } + } + description + "DSP Service Type"; + } + + typedef srvc-id { + type enumeration { + enum profile-none { + value 0; + description + "Service None"; + } + enum profile-invalid { + value 1; + description + "Invalid Service"; + } + enum profile-mtp { + value 2; + description + "MTP Service"; + } + enum profile-transcode { + value 3; + description + "Xcode Service"; + } + enum profile-conference { + value 4; + description + "Conference Service "; + } + } + description + "DSPFarm Service ID"; + } + + typedef app-id { + type enumeration { + enum app-id-none { + value 0; + description + "Application None"; + } + enum app-id-sccp { + value 1; + description + "SCCP Application"; + } + enum app-id-cube { + value 2; + description + "CUBE Application"; + } + } + description + "DSPFarm Application"; + } + + typedef app-assoc { + type enumeration { + enum app-assoc-none { + value 0; + description + "Status None"; + } + enum app-assoc-unknown { + value 1; + description + "Status - Invalid"; + } + enum app-assoc-done { + value 2; + description + "Status - Associated"; + } + enum app-assoc-active-in-prog { + value 3; + description + "Status - Association in Progress"; + } + enum app-assoc-down-in-prog { + value 4; + description + "Status - DisAssociation in Progress"; + } + enum app-assoc-not-down { + value 5; + description + "Status - Not Associated"; + } + enum app-assoc-not-done { + value 6; + description + "Status - Application Not Associated"; + } + } + description + "DSPFarm Profile Registration Status"; + } + + typedef secure-mode { + type enumeration { + enum srvc-mode-non-secure { + value 0; + description + "DSPFarm Non Secure Mode"; + } + enum srvc-mode-secure { + value 1; + description + "DSPFarm Secure Mode"; + } + } + description + "DSPFarm Profile Service Mode"; + } + + typedef prof-oper-state { + type enumeration { + enum prof-oper-state-none { + value 0; + description + "Profile Operation Status None"; + } + enum prof-oper-state-unknown { + value 1; + description + "Profile Operation Status Invalid "; + } + enum prof-oper-state-down { + value 2; + description + "Profile Operation Status Down"; + } + enum prof-oper-state-down-in-progress { + value 3; + description + "Down in Progress"; + } + enum prof-oper-state-active { + value 4; + description + "Active"; + } + enum prof-oper-state-active-in-prog { + value 5; + description + "Active in Progress"; + } + enum prof-oper-state-rsc-alloc { + value 6; + description + "Resource Allocated"; + } + } + description + "DSPFarm Profile Operational State"; + } + + typedef rscprv-id { + type enumeration { + enum rsc-prov-none { + value 0; + description + "Resource Provider None"; + } + enum rsc-prov-flex-dsprm { + value 1; + description + "Flex DSPRM"; + } + } + description + "DSPFarm Resource Provider"; + } + + typedef prof-admin-state { + type enumeration { + enum prof-admin-state-down { + value 0; + description + "DSPFarm Profile Admin State Down"; + } + enum prof-admin-state-up { + value 1; + description + "DSPFarm Profile Admin State UP"; + } + } + description + "DSPFarm Profile Admin State"; + } + + typedef rscprv-state { + type enumeration { + enum rsc-group-state-none { + value 0; + description + "Resource Status None"; + } + enum rsc-group-state-down-pend { + value 1; + description + "Resource Status Down Pending"; + } + enum rsc-group-state-down { + value 2; + description + "Resource Status Down"; + } + enum rsc-group-state-up-pend { + value 3; + description + "Resource Status Up Pending"; + } + enum rsc-group-state-up { + value 4; + description + "Resource Status Up"; + } + enum rsc-group-state-new-rsc { + value 5; + description + "Resource Status New"; + } + } + description + "DSPFarm Resource Provider Status"; + } + + typedef voice-call-type-enum { + type enumeration { + enum unknown-call-leg-type { + value 0; + description + "Call leg type unknown"; + } + enum voip-call-leg { + value 1; + description + "VOIP call leg"; + } + enum telephony-call-leg { + value 2; + description + "Telephony call leg"; + } + } + description + "Enumeration for voice call leg type"; + } + + typedef voice-call-direction-enum { + type enumeration { + enum unknown-leg { + value 0; + description + "Call leg direction unknown"; + } + enum outgoing-leg { + value 1; + description + "Originating or the outgoing leg"; + } + enum incoming-leg { + value 2; + description + "Answering or the incoming leg"; + } + } + description + "Enumeration for incoming or outgoing leg indication"; + } + + typedef voice-call-state-enum { + type enumeration { + enum unknown-state { + value 0; + description + "Call leg state unknown"; + } + enum connecting-state { + value 1; + description + "Call leg in connecting state"; + } + enum connected-state { + value 2; + description + "Call leg in connected state"; + } + enum active-state { + value 3; + description + "Call leg in active state"; + } + } + description + "Enumeration for the call state"; + } + + grouping voice-recording-port { + description + "Voice recording port status"; + leaf port-dptag { + type uint32; + description + "Dial peer tag of the voice recording source port"; + } + leaf pa-bay { + type uint32; + description + "Bay number of the voice recording source port"; + } + leaf port-type { + type voice-ios-xe-oper:dsp-port-type; + description + "Type of the voice recording source port"; + } + leaf port-id { + type string; + description + "The name of the voice recording source port"; + } + leaf server-dptag { + type uint32; + description + "Dial peer tag of the voice recording destination server"; + } + } + + grouping voice-recording-license { + description + "Voice recording license status"; + leaf configured { + type uint32; + description + "Configured number of voice recording licenses"; + } + leaf allocated { + type uint32; + description + "Number of licenses allocated by license server"; + } + leaf max-support-call { + type uint32; + description + "Maximum number of calls licensed for recording"; + } + leaf call-use-license { + type uint32; + description + "Number of current calls licensed for recording"; + } + } + + grouping profile-pvdm-entry { + description + "Entry of each PVDM utilization"; + leaf pvdm-id { + type string; + description + "PVDM ID in format slot/bay"; + } + leaf pvdm-utlz { + type uint32; + description + "PVDM credit usage percentage for this profile"; + } + } + + grouping dspfarm-utlz-profile { + description + "DSP Farm profile credit utilization status"; + leaf profile-id { + type uint32; + description + "ID number of the profile"; + } + leaf type { + type string; + description + "Type of the profile"; + } + leaf profile-utlz { + type uint32; + description + "Profile credit usage percentage"; + } + list profile-pvdm-entry { + key "pvdm-id"; + description + "A list of PVDM credit utilization of this profile"; + uses voice-ios-xe-oper:profile-pvdm-entry; + } + } + + grouping dsp-utlz-detail-entry { + description + "Entry of detailed dsp utilization status"; + leaf dsp-id { + type string; + description + "DSP ID in format slot/bay/dsp ID"; + } + leaf dsp-alloc-ratio { + type uint32; + description + "Profile credit allocation percentage with regards to the DSP"; + } + leaf dsp-channel-utlz { + type uint32; + description + "Channel utilization for transcoding"; + } + leaf dsp-credit-utlz { + type uint32; + description + "Credit utilization for transcoding"; + } + leaf dsp-session-utlz { + type uint32; + description + "Session utilization for conferencing"; + } + } + + grouping dspfarm-utlz-detail { + description + "DSP Farm profile utilization detail status"; + leaf profile-id { + type uint32; + description + "ID number of the profile"; + } + leaf type { + type string; + description + "Type of the profile"; + } + leaf profile-utlz { + type uint32; + description + "Profile credit usage percentage"; + } + list dsp-utlz-detail-entry { + key "dsp-id"; + description + "A list of dsp utilization detail entries"; + uses voice-ios-xe-oper:dsp-utlz-detail-entry; + } + } + + grouping voice-port-num { + description + "voice port number"; + leaf slot { + type uint32; + description + "slot number"; + } + leaf subslot { + type uint32; + description + "sub slot number"; + } + leaf port { + type uint32; + description + "port number"; + } + } + + grouping dsapp-line-dev-entry { + description + "DSAPP line device entry"; + leaf key-id { + type string; + description + "Key to the entry"; + } + container port-id { + description + "DSAPP line device voice port ID"; + uses voice-ios-xe-oper:voice-port-num; + } + leaf dev-name { + type string; + description + "DSAPP line device name"; + } + leaf reg-state { + type voice-ios-xe-oper:reg-state-type; + description + "DSAPP line device registration state"; + } + leaf dev-type { + type voice-ios-xe-oper:device-type; + description + "DSAPP line device type"; + } + leaf dir-num { + type string; + description + "DSAPP line device directory number"; + } + } + + grouping dsapp-line-dev-sum { + description + "DSAPP line device summary"; + leaf total-dev { + type uint32; + description + "DSAPP line device total entries"; + } + list dsapp-line-dev-entry { + key "key-id"; + description + "A list of DSAPP line device entries"; + uses voice-ios-xe-oper:dsapp-line-dev-entry; + } + } + + grouping dsapp-line-fac { + description + "DSAPP line feature access codes"; + leaf prefix { + type string; + description + "DSAPP line feature access code prefix"; + } + leaf call-forward-all { + type string; + description + "DSAPP line call forward all feature access code"; + } + leaf call-forward-cancel { + type string; + description + "DSAPP line cancel call forward feature access code"; + } + leaf pickup-local { + type string; + description + "DSAPP line call pickup local feature access code"; + } + leaf pickup-group { + type string; + description + "DSAPP line call pickup group feature access code"; + } + leaf pickup-direct { + type string; + description + "DSAPP line call pickup direct feature access code"; + } + leaf cancel-call-waiting { + type string; + description + "DSAPP line cancel call waiting feature access code"; + } + leaf last-redial { + type string; + description + "DSAPP line last number redial feature access code"; + } + } + + grouping active-voice-call-entry { + description + "Active voice Call entry"; + leaf key-id { + type string; + description + "Key to the entry"; + } + leaf call-id { + type uint64; + description + "Active call ID"; + } + leaf voice-port-id { + type string; + description + "Voice port ID"; + } + leaf codec-type { + type voice-ios-xe-oper:voip-codec-type; + description + "VOIP codec type in use"; + } + leaf vad { + type voice-ios-xe-oper:vad-configuration; + description + "Voice Activity detection configuration"; + } + leaf dsp-id { + type string; + description + "DSP ID"; + } + leaf dsp-type { + type voice-ios-xe-oper:dsp-type-enum; + description + "DSP type"; + } + leaf dsp-version { + type string; + description + "DSP version"; + } + leaf dsp-abort-packet-cnt { + type uint32; + description + "DSP aborted packet count"; + } + leaf dsp-tx-packet-cnt { + type uint32; + description + "DSP transmit packet count"; + } + leaf dsp-rx-packet-cnt { + type uint32; + description + "DSP receive packet count"; + } + } + + grouping active-voice-call-sum { + description + "Active Voice Call Summary"; + leaf total-entry { + type uint32; + description + "Total active voice call entries"; + } + list active-voice-call-entry { + key "key-id"; + description + "A list of active voice call entries"; + uses voice-ios-xe-oper:active-voice-call-entry; + } + } + + grouping asso-ccm-entry { + description + " Details of this associated Cisco Call Manager"; + leaf ccm-id { + type uint32; + description + "Identifier of this associated Cisco Call Manager"; + } + leaf ccm-priority { + type uint32; + description + "Priority of this associated Cisco Call Manager"; + } + } + + grouping asso-profile-entry { + description + "Details of this associated profile"; + leaf profile-id { + type uint32; + description + "Identifier of this associated profile"; + } + leaf reg-name { + type string; + description + "Registration name of this associated profile"; + } + } + + grouping sccp-ccm-group { + description + "Skinny Call Control Protocol Call Manager group detail settings"; + leaf ccm-group-id { + type uint32; + description + "Skinny Call Control Protocol Call Manager group identifier"; + } + leaf description { + type string; + description + "Description of this Cisco Call Manager group"; + } + leaf bound-intf { + type string; + description + "Interface which is bound to this Call Manager group"; + } + leaf ipv6-address { + type inet:ip-address; + description + "IPv6 address of the bound interface"; + } + leaf ipv4-address { + type inet:ip-address; + description + "IPv4 address of the bound interface"; + } + leaf registration-retries { + type uint32; + description + "Number of attempts to register onto a Cisco Call Manager"; + } + leaf registration-timeout { + type uint32; + units "seconds"; + description + "Time it takes to timeout a registration attempt"; + } + leaf keepalive-retries { + type uint32; + description + "Number of attempts for keepalive to receive ACK"; + } + leaf keepalive-timeout { + type uint32; + units "seconds"; + description + "Time it takes for keepalive to timeout"; + } + leaf connect-retries { + type uint32; + description + "Number of retries to connect to a Cisco Call Manager"; + } + leaf connect-interval { + type uint32; + units "seconds"; + description + "Time interval between Call Manager connect attempts"; + } + leaf switchover-method { + type voice-ios-xe-oper:swo-method; + description + "Method used when switching over to secondary Cisco Call Manager"; + } + leaf switchback-method { + type voice-ios-xe-oper:swb-method; + description + "Method used when switching back to primary Cisco Call Manager"; + } + leaf switchback-interval { + type uint32; + description + "Time interval for Call Manager switchback polling"; + } + leaf switchback-timeout { + type uint32; + units "seconds"; + description + "Timeout value when switching back to primary Cisco Call Manager"; + } + leaf signaling-dscp { + type uint8; + description + "Value of the signaling DSCP"; + } + leaf audio-dscp { + type uint8; + description + "Value of the audio DSCP"; + } + list asso-ccm-entry { + key "ccm-id"; + description + "List of associated Cisco Call Managers"; + uses voice-ios-xe-oper:asso-ccm-entry; + } + list asso-profile-entry { + key "profile-id"; + description + "List of associated profiles"; + uses voice-ios-xe-oper:asso-profile-entry; + } + } + + grouping sccp-connection { + description + "SCCP Connection"; + leaf conn-id { + type uint32; + description + "SCCP connection ID"; + } + leaf sess-id { + type uint32; + description + "SCCP session ID"; + } + leaf stype { + type voice-ios-xe-oper:sccp-sess-type; + description + "SCCP session type"; + } + leaf mode { + type voice-ios-xe-oper:sccp-conn-mode; + description + "SCCP connection mode"; + } + leaf codec { + type voice-ios-xe-oper:voip-codec-type; + description + "SCCP connection codec"; + } + leaf rmt-ipaddr { + type inet:ip-address; + description + "SCCP connection remote IP address"; + } + leaf rmt-port { + type uint16; + description + "SCCP connection remote port"; + } + leaf src-port { + type uint16; + description + "SCCP connection source port"; + } + leaf dtmf-method { + type voice-ios-xe-oper:dtmf-method-type; + description + "SCCP connection DTMF method"; + } + } + + grouping dspfarm-dsp { + description + "DSPFARM DSP resource information"; + leaf bridge-id { + type uint32; + description + "Bridge ID"; + } + leaf dsp-slot { + type string; + description + "DSP slot"; + } + leaf dsp-num { + type uint32; + description + "DSP number"; + } + leaf dsp-version { + type string; + description + "DSP Version"; + } + leaf dsp-status { + type voice-ios-xe-oper:dsp-status-type; + description + "DSP status"; + } + leaf chnl-id { + type uint32; + description + "DSP channel ID"; + } + leaf chnl-status { + type voice-ios-xe-oper:chnl-status-type; + description + "DSP channel status"; + } + leaf service-type { + type voice-ios-xe-oper:dsp-service-type; + description + "DSP service type"; + } + leaf rsc-id { + type uint32; + description + "DSP resource ID"; + } + leaf pkts-txed { + type uint32; + description + "DSP transmitted packets"; + } + leaf pkts-rxed { + type uint32; + description + "DSP received packets"; + } + } + + grouping dspfp-codec-entry { + description + " Details of DSPFarm Profile Codecs"; + leaf codec-idx { + type uint32; + description + "Index to the codec entry list"; + } + leaf codec-type { + type voice-ios-xe-oper:voip-codec-type; + description + "VOIP codec type entry"; + } + leaf max-pkt-period { + type uint32; + description + "Max. packetization period for the codec"; + } + } + + grouping dspfp { + description + "DSPFarm Profile Information "; + leaf profile-id { + type uint32; + description + "DSPFarm Profile ID"; + } + leaf service-id { + type voice-ios-xe-oper:srvc-id; + description + "DSPFarm Service ID"; + } + leaf resource-id { + type uint32; + description + "DSPFarm Resource ID"; + } + leaf secure-mode { + type voice-ios-xe-oper:secure-mode; + description + "DSPFarm Profile Service Mode"; + } + leaf prof-admin-state { + type voice-ios-xe-oper:prof-admin-state; + description + "DSPFarm Profile Admin State"; + } + leaf prof-oper-state { + type voice-ios-xe-oper:prof-oper-state; + description + "DSPFarm Profile Operation State"; + } + leaf app-id { + type voice-ios-xe-oper:app-id; + description + "DSPFarm Profile Application ID"; + } + leaf app-assoc-status { + type voice-ios-xe-oper:app-assoc; + description + "DSPFarm Application Registration Status"; + } + leaf rsc-provider { + type voice-ios-xe-oper:rscprv-id; + description + "DSPFarm Profile Resource Provider"; + } + leaf rsc-status { + type voice-ios-xe-oper:rscprv-state; + description + "DSPFarm Profile Resource Status"; + } + leaf total-rsc-cfg-count { + type uint32; + description + "DSPFarm Profile Resource Configured Count"; + } + leaf total-rsc-avail-count { + type uint32; + description + "DSPFarm Profile Resource Available Count"; + } + leaf total-rsc-oos-count { + type uint32; + description + "DSPFarm Profile Resource Out of Service Count"; + } + leaf total-rsc-active-count { + type uint32; + description + "DSPFarm Profile Resource Active Count"; + } + leaf total-codec-count { + type uint32; + description + "DSPFarm Profile Total Codec Count"; + } + list dspfp-codec-entry { + key "codec-idx"; + description + "List of associated codecs for the profile"; + uses voice-ios-xe-oper:dspfp-codec-entry; + } + } + + grouping voice-reg-line-info { + description + "Voice register line information"; + leaf dialpeer-tag { + type uint32; + description + "Dial-peer tag"; + } + leaf address { + type inet:ip-address; + description + "IP address of phone"; + } + leaf dir-number { + type string; + description + "Directory number"; + } + } + + grouping voice-reg-phone-info { + description + "Status of phones fallen back to SRST"; + leaf pool-tag { + type uint32; + description + "Pool tag"; + } + leaf id-network { + type inet:ip-address; + description + "ID network"; + } + leaf reg-state { + type voice-ios-xe-oper:reg-state-type; + description + "State of phone registration"; + } + list voice-reg-line-info { + key "dialpeer-tag"; + description + "Phone line information"; + uses voice-ios-xe-oper:voice-reg-line-info; + } + } + + grouping active-voip-call-key { + description + "Active VOIP call leg key parameters"; + leaf call-index { + type uint32; + description + "Index of the call leg"; + } + leaf call-setuptime { + type yang:date-and-time; + description + "Call leg setup time"; + } + } + + grouping active-voip-call-details { + description + "Active VOIP call leg details"; + leaf call-id { + type uint32; + description + "Unique ID of the call leg"; + } + leaf call-type { + type voice-ios-xe-oper:voice-call-type-enum; + description + "Call leg type"; + } + leaf bridge-id { + type uint32; + description + "Unique ID for call"; + } + leaf peer-id { + type int32; + description + "Dial-peer ID"; + } + leaf direction { + type voice-ios-xe-oper:voice-call-direction-enum; + description + "Incoming leg or Outgoing leg"; + } + leaf directory-number { + type string; + description + "Directory Number (DN) of this call leg"; + } + leaf call-state { + type voice-ios-xe-oper:voice-call-state-enum; + description + "State of this call leg"; + } + leaf call-duration { + type uint32; + units "milliseconds"; + description + "Call duration"; + } + leaf transmit-packets { + type uint32; + description + "Number of packets transmitted"; + } + leaf transmit-bytes { + type uint32; + description + "Number of bytes transmitted"; + } + leaf receive-packets { + type uint32; + description + "Number of packets received"; + } + leaf receive-bytes { + type uint32; + description + "Number of bytes received"; + } + leaf remote-ip-address { + type inet:ip-address; + description + "Call leg remote IP address"; + } + leaf remote-media-port { + type uint16; + description + "Call leg remote media port"; + } + leaf codec { + type voice-ios-xe-oper:voip-codec-type; + description + "VOIP codec negotiated on the leg"; + } + } + + grouping active-voip-call-summary { + description + "Total active VOIP call summary"; + leaf telephony-call-legs { + type uint32; + description + "Total number of telephony call legs"; + } + leaf sip-call-legs { + type uint32; + description + "Total number of SIP call legs"; + } + leaf total-call-legs { + type uint32; + description + "Total number of SIP and telephony legs"; + } + list active-voip-call-details { + key "call-index call-setuptime"; + description + "A list of active VOIP call leg details"; + uses voice-ios-xe-oper:active-voip-call-key; + uses voice-ios-xe-oper:active-voip-call-details; + } + } + + container voice-oper-data { + config false; + description + "Voice operational data"; + list dspfarm-dsp { + key "bridge-id"; + description + "DSPFARM DSP details"; + uses voice-ios-xe-oper:dspfarm-dsp; + } + list sccp-connection { + key "conn-id"; + description + "SCCP Connection details"; + uses voice-ios-xe-oper:sccp-connection; + } + list voice-recording-port { + key "port-dptag"; + description + "Voice recording port status"; + uses voice-ios-xe-oper:voice-recording-port; + } + container voice-recording-license { + presence "voice-recording-license"; + description + "Voice recording license status"; + uses voice-ios-xe-oper:voice-recording-license; + } + list dspfarm-utlz-profile { + key "profile-id"; + description + "DSP Farm profile utilization status"; + uses voice-ios-xe-oper:dspfarm-utlz-profile; + } + list dspfarm-utlz-detail { + key "profile-id"; + description + "DSP Farm detailed utilization status"; + uses voice-ios-xe-oper:dspfarm-utlz-detail; + } + container dsapp-line-dev-sum { + presence "dsapp-line-dev-sum"; + description + "DSAPP line device summary"; + uses voice-ios-xe-oper:dsapp-line-dev-sum; + } + container dsapp-line-fac { + presence "dsapp-line-fac"; + description + "DSAPP line feature access codes"; + uses voice-ios-xe-oper:dsapp-line-fac; + } + container active-voice-call-sum { + presence "active-voice-call-sum"; + description + "Active voice call summary"; + uses voice-ios-xe-oper:active-voice-call-sum; + } + container active-voip-call-summary { + presence "active-voip-call-summary"; + description + "Active VOIP call details"; + uses voice-ios-xe-oper:active-voip-call-summary; + } + list sccp-ccm-group { + key "ccm-group-id"; + description + "Skinny Call Control Protocol Call Manager group detail settings"; + uses voice-ios-xe-oper:sccp-ccm-group; + } + list dspfp { + key "profile-id"; + description + "DSPFarm Profile Details"; + uses voice-ios-xe-oper:dspfp; + } + list voice-reg-phone-info { + key "pool-tag"; + description + "Status of phones fallen back to SRST"; + uses voice-ios-xe-oper:voice-reg-phone-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-port.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-port.yang new file mode 100644 index 000000000..e4aabff35 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-port.yang @@ -0,0 +1,1001 @@ +module Cisco-IOS-XE-voice-port { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-voice-port"; + prefix ios-voice-port; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Voice Port Yang model. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added MWI and timeouts interdigit"; + cisco-semver:module-version "1.5.0"; + } + revision 2024-03-01 { + description + "- Added support for monitor pcm-tracer"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-03-01 { + description + "- add caller ID CLIs + - change leaf block to be type empty"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-07-01 { + description + "- add default value to delay-connect + - change trunk-group string length to 1..64 + - add a when statement in impedance container to block PRI voice port"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + cisco-semver:module-version "1.0.0"; + } + + typedef caller-id-start-end-type { + type enumeration { + enum #; + enum *; + enum A; + enum B; + enum C; + enum D; + } + } + + grouping config-monitor-pcm-tracer-grouping { + leaf pcm-tracer { + description + "PCM tracer"; + type empty; + } + container pcm-tracer-config { + container pcm-tracer { + description + "PCM tracer"; + when '../../pcm-tracer'; + leaf capture-destination { + description + "File location and name of the capture"; + type string; + } + leaf capture-duration { + description + "Capture duration in minutes"; + type uint8 { + range "1..10"; + } + } + leaf delayed-start { + description + "Start capture after specified time"; + type uint32 { + range "1..2147483"; + } + } + list profile { + description + "Create PCM capture profiles"; + max-elements 10; + key "id"; + leaf id { + description + "DS0 dump profile number"; + type uint8 { + range "1..10"; + } + } + container capture-tdm { + description + "Configure the T1/E1/BRI/analog port/timeslot under a profile for ds0 dump"; + choice port-type-choice { + case T1-port-case { + container T1-config { + description + "T1 controller"; + leaf T1 { + description + "T1 controller port number"; + type ios-types:voice-port-num-type; + } + leaf ds0 { + description + "DS0 to be traced"; + type uint8 { + range "1..24"; + } + } + } + } + case E1-port-case { + container E1-config { + description + "E1 controller"; + leaf E1 { + description + "E1 controller port number"; + type ios-types:voice-port-num-type; + } + leaf ds0 { + description + "DS0 to be traced"; + type uint8 { + range "1..31"; + } + } + } + } + case analog-port-case { + leaf analog-voice-port { + description + "Analog voice port to be traced"; + type ios-types:voice-port-num-type; + } + } + } + } + } + } + } + } + + grouping config-voice-port-grouping { + list voice-port { + description + "Voice port configuration"; + key "id"; + leaf id { + type string; + } + leaf description { + description + "Description of what this port is connected to"; + type string { + pattern '.*'; + length "1..64"; + } + } + container signal { + description + "Configure signaling parameters for the voice port"; + choice signal-choice { + leaf groundStart { + description + "Ground Start signaling type"; + type empty; + } + container loopStart-config { + choice loopStart-choice { + default "loopStart"; + container loopStart-conf { + container loopStart { + description + "Loop Start live feed signaling type"; + leaf live-feed { + description + "Live Feed option"; + type empty; + } + } + } + leaf loopStart { + description + "Loop Start signaling type"; + type boolean; + default "true"; + } + } + } + container did { + description + "Direct Inward Dialing signaling type"; + leaf did-type { + type enumeration { + enum delay-dial; + enum immediate; + enum wink-start; + } + } + } + } + } + leaf compand-type { + description + "The quantization and coding type for this voice port"; + type enumeration { + enum a-law; + enum u-law; + } + } + container busyout { + description + "Configure busyout trigger event and procedure"; + choice busyout-choice { + leaf forced { + description + "Force the voice port in busyout"; + type empty; + } + leaf graceful { + description + "Put the voice port in graceful busyout mode"; + type empty; + } + } + } + container caller-id { + description + "Configure port caller id parameters"; + leaf enable { + description + "Enable caller id on this port"; + type empty; + } + leaf block { + description + "Block the caller id of the calls made from this port"; + when '../enable'; + type empty; + } + container format { + description + "Change caller id format"; + when '../enable'; + leaf e911 { + description + "Enhanced 911 format"; + type empty; + } + } + container mode { + description + "Custom caller ID mode if different from CP tone"; + when '../enable'; + choice mode-choice { + case BT-case { + leaf BT { + description + "FSK with DTAS used by British Telecom"; + type empty; + } + } + case FSK-case { + leaf FSK { + description + "FSK Before or During ring"; + type empty; + } + } + case DTMF-case { + container DTMF { + description + "DTMF digits with start and end digit code"; + presence "true"; + leaf start { + description + "DTMF start code"; + type caller-id-start-end-type; + } + leaf end { + description + "DTMF end code"; + type caller-id-start-end-type; + } + } + } + } + } + container alerting { + description + "Define caller id alerting method"; + when '../enable'; + choice alerting-choice { + case line-reversal-dsp-case { + leaf line-reversal { + description + "Line reversal alerting"; + when "../../mode/BT or ../../mode/DTMF or ../../mode/FSK or + ../../../cptone = 'FR' or ../../../cptone = 'DE' or + ../../../cptone = 'NO' or ../../../cptone = 'IT' or + ../../../cptone = 'ES' or ../../../cptone = 'ZA' or + ../../../cptone = 'TR' or ../../../cptone = 'GB' or + ../../../cptone = 'AT' or ../../../cptone = 'CN' or + ../../../cptone = 'HU' or ../../../cptone = 'KR' or + ../../../cptone = 'BR' or ../../../cptone = 'SE' or + ../../../cptone = 'DK' or ../../../cptone = 'IS' or + ../../../cptone = 'NL' or ../../../cptone = 'BE' or + ../../../cptone = 'IN' or ../../../cptone = 'SA'"; + type empty; + } + leaf dsp-pre-allocate { + description + "Configure DSP pre-allocation"; + type empty; + } + } + case pre-ring-case { + leaf pre-ring { + description + "Short ring pulse alerting"; + when "../../mode/BT or ../../mode/DTMF or ../../mode/FSK or + ../../../cptone = 'FR' or ../../../cptone = 'DE' or + ../../../cptone = 'NO' or ../../../cptone = 'IT' or + ../../../cptone = 'ES' or ../../../cptone = 'ZA' or + ../../../cptone = 'TR' or ../../../cptone = 'GB' or + ../../../cptone = 'AT' or ../../../cptone = 'CN' or + ../../../cptone = 'HU' or ../../../cptone = 'KR' or + ../../../cptone = 'BR' or ../../../cptone = 'SE' or + ../../../cptone = 'DK' or ../../../cptone = 'IS' or + ../../../cptone = 'NL' or ../../../cptone = 'BE' or + ../../../cptone = 'IN' or ../../../cptone = 'SA'"; + type empty; + } + } + case ring-case { + leaf ring { + description + "Number of ring on cycles"; + type uint8 { + range "1..4"; + } + default "1"; + } + } + } + } + } + container connection { + description + "Specify Connection Parameters"; + choice conn-choice { + case tie-line-case { + leaf tie-line { + description + "A tie line"; + type string { + length "1..32"; + } + } + } + case trunk-case { + container trunk { + description + "A Straight Tie Line"; + leaf trunk-num { + description + "Connection trunk calling number"; + type string { + length "1..32"; + } + } + choice additional-choice { + leaf answer-mode { + description + "Slave mode trunking"; + type empty; + } + leaf retry-timer { + description + "Timer value for retry connection"; + type uint8 { + range "0..5"; + } + } + } + } + } + case plar-case { + container plar { + description + "Private Line Auto Ring down"; + choice plar-choice { + leaf plar-num { + type string { + length "1..32"; + } + } + container opx { + description + "Off-Premises eXtension option"; + choice opx-choice { + case immediate-case { + leaf immediate { + description + "Ring the destination immediately"; + type string { + length "1..32"; + } + } + } + case opx-num-only-case { + leaf opx-num-only { + description + "Off-Premises eXtension number"; + type string { + length "1..32"; + } + } + } + case opx-cut-through-case { + leaf opx-num { + description + "Off-Premises eXtension number"; + type string { + length "1..32"; + } + } + leaf cut-through-wait { + description + "Cut through audio after off hook to Central Office on inbound calls"; + type uint16 { + range "150..750"; + } + } + } + } + } + } + } + } + } + } + leaf cptone { + description + "Configure voice call progress tone locale"; + type enumeration { + enum AR; + enum AU; + enum AT; + enum BE; + enum BR; + enum CA; + enum CL; + enum CN; + enum CO; + enum C1; + enum C2; + enum CY; + enum CZ; + enum DK; + enum EG; + enum FI; + enum FR; + enum DE; + enum GH; + enum GR; + enum HK; + enum HU; + enum IS; + enum IN; + enum ID; + enum IE; + enum IL; + enum IT; + enum JP; + enum JO; + enum KE; + enum KR; + enum KW; + enum LB; + enum LU; + enum MY; + enum MT; + enum MX; + enum NP; + enum NL; + enum NZ; + enum NG; + enum NO; + enum OM; + enum PK; + enum PA; + enum PE; + enum PH; + enum PL; + enum PT; + enum RU; + enum SA; + enum SG; + enum SK; + enum SI; + enum ZA; + enum ES; + enum SE; + enum CH; + enum TW; + enum TH; + enum TR; + enum AE; + enum GB; + enum US; + enum VE; + enum ZW; + } + default "US"; + } + container impedance { + when "not (contains(../id, ':'))"; + description + "Specify the terminating impedance of the interface"; + leaf imp-type { + type enumeration { + enum 600c; + enum 600r; + enum 900c; + enum 900r; + enum complex1; + enum complex2; + enum complex3; + enum complex4; + enum complex5; + enum complex6; + } + default "600r"; + } + } + container battery-reversal-config { + choice battery-reversal-choice { + default "battery-reversal"; + container battery-reversal-conf { + container battery-reversal { + description + "Enable battery-reversal detection"; + leaf answer { + description + "Enable answer supervision"; + type empty; + } + leaf detection-delay { + description + "Battery Reversal Detection Delay"; + type uint16 { + range "0..800"; + } + default "0"; + } + } + } + leaf battery-reversal { + type boolean; + default "true"; + } + } + } + leaf dial-type { + description + "Configure digit forward tone type"; + type enumeration { + enum dtmf; + enum mf; + enum pulse; + } + default "dtmf"; + } + container echo-cancel { + description + "Echo-cancellation option"; + leaf enable { + description + "Echo Cancel Enable"; + type boolean; + default "true"; + } + } + container input { + description + "Configure input gain for voice"; + leaf gain { + description + "Configure gain in db for voice input"; + type int8 { + range "-6..14"; + } + default "0"; + } + } + leaf loop-length { + description + "Configure loop length"; + type enumeration { + enum long; + enum short; + } + default "short"; + } + container output { + description + "Configure output attenuation for voice"; + leaf attenuation { + description + "Amount of attenuation inserted at transmit side of the interface"; + type int8 { + range "-6..14"; + } + } + } + leaf pre-dial-delay { + description + "Pre-dial Delay"; + type uint8 { + range "0..10"; + } + default "1"; + } + leaf pulse-digit-detection { + description + "Enable/Disable pulse digit detection"; + type boolean; + default "true"; + } + container trunk-group { + description + "Configure interface to be in a trunk group"; + leaf trunk-group-label { + description + "Trunk group label"; + type string { + length "1..64"; + } + } + leaf trunk-group-preference { + description + "trunk group preference value"; + type uint8 { + range "1..64"; + } + } + } + leaf ren { + description + "Ringer Equivalence Number"; + type uint8 { + range "1..5"; + } + default "1"; + } + container ring { + description + "Ringing parameters"; + leaf frequency { + description + "The ring frequency to be used in this voice port"; + type enumeration { + enum 20; + enum 25; + enum 30; + enum 50; + } + default "25"; + } + leaf dc-offset { + description + "Ringing DC-offset values"; + when "../../loop-length = 'long'"; + type enumeration { + enum 10-volts; + enum 20-volts; + enum 24-volts; + enum 30-volts; + enum 35-volts; + } + } + } + container idle-detection { + description + "Idle code detection for digital voice"; + leaf code { + description + "Idle code to detect"; + type string { + pattern '0[xX][0-9a-fA-F]{1,2}'; + } + } + leaf duration { + description + "Idle duration range in seconds, default 6 seconds"; + type uint8 { + range "1..7"; + } + default "6"; + } + } + container secondary { + description + "Secondary call service"; + leaf dialtone { + description + "Secondary dial tone option"; + type empty; + } + } + container station-id { + description + "Configure station ID"; + leaf name { + description + "A string describing station name"; + type string { + pattern '.*'; + length "1..50"; + } + } + leaf number { + description + "A full E.164 telephone number"; + type string { + length "1..24"; + } + } + } + container supervisory { + description + "Configure disconnect supervision options"; + leaf custom-cptone { + description + "Configure custom call progress tones for call supervision"; + type string { + length "1..20"; + } + } + container disconnect { + description + "Configure supervisory disconnect signal"; + choice disconnect-type { + leaf anytone { + description + "All call progressing tones will be detected"; + type empty; + } + leaf dualtone { + description + "Specify dual tone will be detected"; + type enumeration { + enum mid-call; + enum pre-connect; + } + } + leaf signal { + description + "Configure supervisory disconnect signal"; + type empty; + } + } + } + leaf dualtone-detect-params { + description + "Configure dual tone detection parameters for call supervision"; + type uint32 { + range "1..10000"; + } + } + } + container timing { + description + "Configure voice timing parameters"; + leaf delay-connect { + description + "Delay TDM hair pin connection to avoid race condition"; + type uint8 { + range "0..200"; + } + default "20"; + } + container hookflash-in { + description + "Hook flash input duration in milliseconds"; + leaf max-value { + description + "Maximum time"; + type uint16 { + range "50..1550"; + } + default "1000"; + } + leaf min-value { + description + "Minimum time"; + type uint16 { + range "0..400"; + } + default "150"; + } + } + leaf guard-out { + description + "A time window after call disconnect, no outgoing cal is allowed"; + type uint16 { + range "300..3000"; + } + default "2000"; + } + leaf hookflash-out { + description + "Hook flash output duration in milliseconds"; + type uint16 { + range "50..1550"; + } + default "400"; + } + leaf pulse-inter-digit { + description + "Pulse dialing inter-digit timing in milliseconds"; + type uint16 { + range "100..1000"; + } + default "750"; + } + leaf sup-disconnect { + description + "Minimum timing for supervisory disconnect"; + type uint16 { + range "50..1500"; + } + default "350"; + } + leaf answer-winkwidth { + description + "Min time delay between start of incoming seizure and wink in msecs, DID only"; + type uint16 { + range "110..290"; + } + default "210"; + } + leaf clear-wait { + description + "Time of inactive seizure signal to declare call cleared in msecs. DID only"; + type uint16 { + range "200..2000"; + } + default "400"; + } + leaf dialout-delay { + description + "Delay before sending out digit or cut-thru. DID only"; + type uint16 { + range "50..5000"; + } + } + leaf delay-duration { + description + "Max delay signal duration for delay dial signalling in msecs. DID only"; + type uint16 { + range "100..5000"; + } + default "2000"; + } + leaf delay-start { + description + "Timing of generation of delay start sig from detect incoming seizure. DID only"; + type uint16 { + range "20..2000"; + } + default "300"; + } + container dial-pulse { + description + "Dial pulse. DID only"; + leaf min-delay { + description + "Minimum delay"; + type uint16 { + range "0 | 140..5000"; + } + default "140"; + } + } + leaf wait-wink { + description + "Max time to wait for wink signal after sending outgoing seizure. DID only"; + type uint16 { + range "100..6500"; + } + default "550"; + } + leaf wink-duration { + description + "Wink duration for wink start signalling in msecs. DID only"; + type uint16 { + range "50..3000"; + } + default "200"; + } + leaf wink-wait { + description + "Time to wait before sending wink signal after detecting incoming seizure. DID only"; + type uint16 { + range "100..6500"; + } + default "200"; + } + } + container translation-profile { + description + "Translation profile"; + leaf incoming { + description + "Translation Profile for incoming call leg"; + type string { + length "1..31"; + } + } + leaf outgoing { + description + "Translation Profile for outgoing call leg"; + type string { + length "1..31"; + } + } + } + leaf vad { + description + "Voice Activity Detection"; + type boolean; + default "true"; + } + leaf shutdown { + description + "Take voice-port offline"; + type boolean; + default "false"; + } + container timeouts { + description + "Voice timeout parameters"; + leaf interdigit { + description + "Interdigit Timeout duration in seconds"; + type uint8 { + range "0..120"; + } + default "10"; + } + } + leaf mwi { + description + "Enable MWI on this port"; + type boolean; + default "false"; + } + } + } + + augment "/ios:native/ios:monitor" { + uses config-monitor-pcm-tracer-grouping; + } + + augment "/ios:native" { + uses config-voice-port-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-register.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-register.yang new file mode 100644 index 000000000..dd190b640 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-register.yang @@ -0,0 +1,471 @@ +submodule Cisco-IOS-XE-voice-register { + yang-version 1.1; + belongs-to Cisco-IOS-XE-voice { + prefix ios-voice; + } + + import Cisco-IOS-XE-native { + prefix ios; + } + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Voice Register Yang model. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added transport-tcp-tls to call manager fallback"; + cisco-semver:module-version "3.5.0"; + } + revision 2024-03-01 { + description + "Converted absolute xpath to relative xpath"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added security-policy to voice register global + - Added translation-profile to voice register pool + - Added voice-class srtp-crypto to voice register pool"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "- Modified the model to conform to yang 1.1 standard"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Modified noan leaf to handle the no form properly + - Added cor incoming/outgoing under voice register pool"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-07-01 { + description + "- Added dependency of pool configuration on global and max-pool configurations + - Adding tailf flag to the global container to avoid removing its configuration before pool list + - Increasing the range for configuring max-pool to 2500"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Removed statement mandatory for leaves"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added call-forward All, Busy, Mailbox and noan + - Added statement mandatory for leaves"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + + typedef config-voice-register-corlist-tag { + type union { + type uint8 { + range "1..20"; + } + type enumeration { + enum default; + } + } + } + + typedef config-e164-number { + type string { + length "1..32"; + pattern '((((\^)(\+))?([0-9,#*A-F])*T?)($)?)' { + error-message + "Incorrect format for E.164 Number: regular expression + must be of the form (((\\^)(\\+))?([0-9,#*A-F])*T?)($)?"; + } + } + } + + grouping config-voice-register-pool-cor { + leaf name { + description + "cor list name"; + type leafref { + path "../../../../../../../ios:native/ios-voice:dial-peer/ios-voice:cor/ios-voice:list/id"; + } + } + leaf lowerbound { + description + "cor list matched number or lower bound number"; + when "../id != 'default'"; + type config-e164-number; + } + leaf hyphen { + description + "number range"; + when '../lowerbound'; + type enumeration { + enum -; + } + } + leaf upperbound { + description + "cor list matched number or lower bound number"; + when '../hyphen'; + type config-e164-number; + } + } + + grouping config-voice-register-grouping { + container register { + description + "voice register commands"; + container global { + description + "Define global commands"; + presence "true"; + leaf max-dn { + description + "Maximum directory numbers supported"; + type uint32 { + range "1..3500"; + } + } + leaf max-pool { + description + "Maximum pools to support"; + type uint16 { + range "1..2500"; + } + } + container system { + description + "Define system message"; + leaf message { + description + "Define system message"; + type string { + length "1..32"; + } + } + } + container security-policy { + description + "Configure SIP registration security policy"; + leaf secure { + description + "Only SIP TLS registration allowed"; + type boolean; + default "false"; + } + } + } + list pool { + description + "voice-register-pool tag"; + when '../global and ../global/max-pool'; + key "pool-tag"; + leaf pool-tag { + description + "voice register pool commands"; + must '. <= ../../global/max-pool' { + error-message "pool-tag cannot exceed max-pool value set under voice register global"; + } + type uint16 { + range "1..2500"; + } + } + container id { + description + "define phone or device id"; + container network { + description + "define phone or device network address"; + choice ipaddress { + case ipv4 { + container ipv4address { + leaf address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf mask { + description + "IPv4 Address Mask"; + type inet:ipv4-address; + } + } + } + case ipv6 { + leaf ippv6 { + description + "IPv6 network and mask"; + type ios-types:ipv6-prefix; + } + } + } + } + } + container call-forward { + description + "Define E.164 telephone number for call forward"; + container b2bua { + description + "Define call forward for B2BUA (back-to-back user agent)"; + leaf all { + description + "forward all calls"; + type string { + pattern '([0-9,A-F#*.?+%()-]*T?)' { + error-message "Incorrect format for E.164 Number: regular expression must be of the form [0-9,A-F#*.?+%()-]*T?"; + } + } + } + leaf busy { + description + "forward call on busy"; + type string { + pattern '([0-9,A-F#*.?+%()-]*T?)' { + error-message "Incorrect format for E.164 Number: regular expression must be of the form [0-9,A-F#*.?+%()-]*T?"; + } + } + } + leaf mailbox { + description + "mailbox number"; + type string { + pattern '([0-9,A-F#*.?+%()-]*T?)' { + error-message "Incorrect format for E.164 Number: regular expression must be of the form [0-9,A-F#*.?+%()-]*T?"; + } + } + } + container noan-config { + leaf noan { + description + "forward call on no-answer"; + type string { + pattern '([0-9,A-F#*.?+%()-]*T?)' { + error-message "Incorrect format for E.164 Number: regular expression must be of the form [0-9,A-F#*.?+%()-]*T?"; + } + } + } + leaf timeout { + description + "Ringing no answer timeout duration"; + type uint32 { + range "3..60000"; + } + } + } + } + } + container voice-class { + description + "Set voice class parameters"; + leaf codec { + description + "Set Global Codec parameters"; + type leafref { + path "../../../../ios-voice:class/ios-voice:codec/codec-tag"; + } + } + leaf srtp-crypto { + description + "Associates an SRTP cipher list with this pool"; + type leafref { + path "../../../../ios-voice:class/ios-voice:srtp-crypto/ios-voice:id"; + } + } + } + container dtmf-relay { + description + "Transport DTMF digits across IP link"; + leaf rtp-nte { + description + "RTP Named Telephone Event RFC 2833"; + type empty; + } + leaf sip-kpml { + description + "DTMF Relay via KPML messages"; + type empty; + } + leaf sip-notify { + description + "DTMF Relay via SIP NOTIFY messages"; + type empty; + } + } + container cor { + description + "Class of Restriction on dial-peer for this dn"; + list incoming { + description + "incoming class of restriction list"; + key "id"; + leaf id { + description + "corlist tag"; + type config-voice-register-corlist-tag; + } + uses config-voice-register-pool-cor; + } + list outgoing { + description + "outgoing class of restriction list"; + key "id"; + leaf id { + description + "cor list tag"; + type config-voice-register-corlist-tag; + } + uses config-voice-register-pool-cor; + } + } + container translation-profile { + description + "Translation profile"; + leaf incoming { + description + "Translation Profile for incoming call leg"; + type leafref { + path "../../../../ios-voice:translation-profile/ios-voice:id"; + } + } + leaf outgoing { + description + "Translation Profile for outgoing call leg"; + type leafref { + path "../../../../ios-voice:translation-profile/ios-voice:id"; + } + } + } + } + } + } + + grouping config-voice-moh-file-location-grouping { + leaf filename { + description + "Example: bootflash:MOH filename"; + type string { + pattern '(((bootflash:)|(flash:)|(nvram:)|(webui:)).*)'; + } + } + } + + grouping config-voice-call-manager-fallback-grouping { + container call-manager-fallback { + description + "SRST for Cisco Call Manager fallback"; + presence "true"; + container moh { + description + "Define music-on-hold filename"; + container g729 { + description + "File for G.729/G.729A"; + uses config-voice-moh-file-location-grouping; + } + uses config-voice-moh-file-location-grouping; + } + choice tls-choice { + description + "TLS options"; + default "transport-tcp-tls-case"; + case transport-tcp-tls-case { + description + "Default TLS option"; + leaf transport-tcp-tls { + description + "Default TLS over TCP for SCCP User Agent"; + type empty; + } + } + case transport-tcp-tls-version-case { + description + "Various TLS version options"; + container transport-tcp-tls-version { + container transport-tcp-tls { + description + "Various TLS version over TCP for SCCP User Agent"; + choice tlsver-choice { + description + "TLS Version options"; + case tlsv1.0-case { + description + "TLS Version 1.0 option"; + leaf v1.0 { + description + "TLS Version 1.0"; + type empty; + } + } + case tlsv1.1-case { + description + "TLS Version 1.1 option"; + leaf v1.1 { + description + "TLS Version 1.1"; + type empty; + } + } + case tlsv1.2-case { + description + "TLS Version 1.2 option"; + container v1.2 { + description + "TLS Version 1.2"; + presence "true"; + leaf sha2 { + description + "SHA2 ciphers config"; + type empty; + } + } + } + case tlsv1.3-case { + description + "TLS Version 1.3 option"; + container v1.3 { + description + "TLS Version 1.3"; + presence "true"; + leaf sha2 { + description + "SHA2 ciphers config"; + type empty; + } + } + } + } + } + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-rpc.yang new file mode 100644 index 000000000..8a3387fcc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice-rpc.yang @@ -0,0 +1,79 @@ +module Cisco-IOS-XE-voice-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-voice-rpc"; + prefix voice-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Voice RPC. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Adding SGW sync start support."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-voice-register-webex-sgw { + type enumeration { + enum sync-done { + value 2; + description + "Data sync completed in Webex-SGW mode"; + } + enum sync-start { + value 3; + description + "Start data sync in Webex-SGW mode"; + } + } + description + "Webex SGW grouping"; + } + + grouping voice-register { + description + "Voice register grouping"; + leaf webex-sgw { + type voice-rpc:enm-voice-register-webex-sgw; + mandatory true; + description + "Voice register webex survivability gateway mode"; + } + } + + rpc voice-register { + description + "Voice register RPC to indicate Webex-SGW data sync completion event"; + input { + uses voice-rpc:voice-register; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-voice.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice.yang new file mode 100644 index 000000000..4747def6f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-voice.yang @@ -0,0 +1,5937 @@ +module Cisco-IOS-XE-voice { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-voice"; + prefix ios-voice; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + include Cisco-IOS-XE-voice-register; + include Cisco-IOS-XE-sip-ua; + include Cisco-IOS-XE-voice-class; + include Cisco-IOS-XE-voice-dspfarm; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Voice Yang model. + Copyright (c) 2016, 2018-2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added voice-mail,callback and call-control mode for dsapp line + - Added hunt-group and forward-to-voicemail under dsapp line feature access-code + - Added service under dial-peer voice + - Added GCM cipher to media profile stream-service + - Added secure-ciphersuite to http client + - Added media-keepalive option to nat + - Marked options-keepalive leaf profile as obsolete"; + cisco-semver:module-version "8.0.0"; + } + revision 2024-03-01 { + description + "- Added config-stcapp-grouping on the voice"; + cisco-semver:module-version "7.3.0"; + } + revision 2023-07-01 { + description + "- Fix Circular dependency in session under dial-peer"; + cisco-semver:module-version "7.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added voice class tls-cipher + - Added tls-cipher to tls-profile + - Added credentials configuration + - Added package auth config to application + - Added voice class codec g729br8 and gsmamr-nb + - Added voice class video codec h261 and mpeg4 + - Added gw-accounting file + - Added stun in voice service voip"; + cisco-semver:module-version "7.1.0"; + } + revision 2022-07-01 { + description + "- Added sip options-keepalive under dial-peer"; + cisco-semver:module-version "7.0.0"; + } + revision 2022-03-01 { + description + "- Added clid CLI to voice service pots + - Added cn-san validation for client, bidirectional certificates and + cn-san hostname list under tls-profile"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-11-01 { + description + "- Added dpg,stun usage,srtp crypto support under voice class + - Added outbound-proxy, audio forced, block, call-route + contact-passing, localhost, refer to passing + to voice service voip - sip + - Added conn-reuse, min-se,voice iec and voice cause-code config-support + - Added rtp-port,voice statistics,gateway support + - Added uc wsapi, uc secure wsapi and http client CLIs + - Added application services support + - Added voice class sip-profiles and sip-copylist + - Added privacy, privacy-policy, requri-passing, + update-callerid, url passing under voice service voip - sip + - Added Opus, mp4a-latm, aacld, H263, H263+, + H264 codec to voice class codec config + - Added voice class sip-profiles and sip-copylist + - Added voice class media, voice class sip-hdr-passthrulist and + voice class sip-event-list config. + - Added translation-profile CLI under trunk group x + - Added registrar to sip-ua + - Added support for voice class uri and e164-pattern-map + for voice dial-peer + - Added codecs - g723, g726, g728, clear-channel and isac + - Added progress_ind, ip qos dscp, max-conn to dial-peer + - Added anat to voice service voip and dial-peer + - Added authentication and credentials to voice class tenant + - Added address-hiding, emergency, silent-discard, asserted-id, + midcall-signaling, remote-party-id, g729-annexb, redirection, + set pstn-cause, set sip-status, host-registrar, sip-register configurations + - Added sip-profiles, privacy, privacy-policy to dial-peer + - Added provider xsvc and xcdr in uc wsapi, xsvc in uc secure wsapi + - Added early media update block,rtcp, media, session under + voice service voip + - Added early media update block, answer-address and rtp payloads + under dial-peer + - Added error code override to voice service voip and dial-peer + - Added call threshold, spike, treatment at global level + - Added media profile configuration + - Added media class configuration + - Added media class configuration to dial-peer + - Added global media profile, media class configurations + - Added media-class configurations to dial-peer"; + cisco-semver:module-version "6.0.0"; + } + revision 2021-07-01 { + description + "- Modified noan leaf to handle the no form properly in + Cisco-IOS-XE-voice-register yang file + - Editing error-message for leaf destination-pattern + - Added corlist config support for voice dial-peers + - Added num-exp and vad config support"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-03-01 { + description + "- Added down and up options to hunt-scheme + - Added voice class server-group and voice class sip-options-keepalive + - Added header-passing and rel1xx under voice service voip - sip + - Changed dial-peer pattern and incoming called pattern"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-11-01 { + description + "- Added support for voip trace + - Removed mins option from mode border-element license periodicity CLI + - Changed the range of hours from 1..23 to 8..23"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "- Updated fax and modem configuration + - Updated sip bind command under dial-peer and global + - Added voice class tenant + - Added voice service voip related clis + - Updated voice service voip configurations + - Separate DSPFarm into a new module + - Added dependency of pool configuration on global and max-pool configurations in Cisco-IOS-XE-voice-register yang file + - Added dial-peer voip restriction for both bind and pass-thru + - Marked the leaves ls-redundancy , hs-redundancy and version as Obsolete + - Removing the CLI dependency of allow-connection sip to sip for media bulk-stats under voice service voip"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "- Added global voice configuration + - Added trunk group configuration + - Added the DSPFarm services + - Added SCCP configuration"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Added trunk group config + - Added statement mandatory for leaves Cisco-IOS-XE-voice-register yang file"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Added voice class codec + - Added voice service voip commands + - Added the ip address trusted list option + - Added dsapp line feature access code command + - Added voice register mode for SRST + - Added the dial-peer voice voip CLIs"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-10-23 { + description + "Added redundancy-group command in voice service voip command"; + } + revision 2018-09-20 { + description + "Add SIP LINE CLI support"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + typedef dscp-type { + type union { + type uint8 { + range "0..63"; + } + type enumeration { + enum af11; + enum af12; + enum af13; + enum af21; + enum af22; + enum af23; + enum af31; + enum af32; + enum af33; + enum af41; + enum af42; + enum af43; + enum cs1; + enum cs2; + enum cs3; + enum cs4; + enum cs5; + enum cs6; + enum cs7; + enum default; + enum ef; + } + } + } + + typedef prog-ind-enable-value { + type enumeration { + enum 1; + enum 2; + enum 8; + } + } + + typedef voice-cadence-type { + type uint16 { + range "50..10000"; + } + } + + typedef config-application-service-name { + type enumeration { + enum ipsla-responder; + enum RECAPP; + enum CALLIndSs_SErviCe; + enum RetrProxy; + enum DSPREC; + enum session; + enum clid_authen_npw; + enum app-b-acd-aa; + enum clid_authen_collect; + enum app-b-acd; + enum clid_col_npw_3; + enum clid_authen; + enum clid_col_npw_npw; + enum TOLLFRAUD_APP; + enum clid_authen_col_npw; + enum ipsla-testcall; + enum AFW_THIRD_PARTY_CC; + enum CTAPP; + enum fax_hop_on; + enum dsapp; + } + } + + typedef config-dialpeer-service-name { + description + "Dial peer service type"; + type enumeration { + enum ipsla-responder; + enum RECAPP; + enum CALLIndSs_SErviCe; + enum RetrProxy; + enum DSPREC; + enum session; + enum clid_authen_npw; + enum app-b-acd-aa; + enum clid_authen_collect; + enum app-b-acd; + enum clid_col_npw_3; + enum clid_authen; + enum clid_col_npw_npw; + enum TOLLFRAUD_APP; + enum clid_authen_col_npw; + enum ipsla-testcall; + enum AFW_THIRD_PARTY_CC; + enum CTAPP; + enum fax_hop_on; + enum dsapp; + enum Default; + enum DEFAULT.C.OLD; + enum "VOIP HA SESSION APP"; + } + } + + typedef catlife-keepalive-options-type { + type enumeration { + enum 30; + enum 70; + enum 150; + enum 310; + enum 630; + enum 1270; + enum 2550; + } + } + + typedef config-answer-address { + type string { + pattern '(((\[)[(\^)0-9,A-F#*.?+%()-]*(\])|[(\^)0-9,A-F#*.?+%()-]*)*T?(\\$)?)' { + error-message + "Incorrect format for Answer Address regular expression pattern, + regular expression must be of the form ^[][^0-9,A-F#*.?+%()-]*T?(\\$)?$"; + } + } + } + + typedef config-bitrate { + type uint32 { + range "16000..128000"; + } + } + + grouping media-nr-parameter-grouping { + leaf intensity { + description + "noise reduction intensity"; + type uint8 { + range "0..6"; + } + default "2"; + } + leaf noisefloor { + description + "min active threshold dB level"; + type int8 { + range "-58..-20"; + } + default "-48"; + } + } + + grouping config-media-mode-grouping { + container mode { + choice mode-choice { + case auto-case { + leaf auto { + description + "Preset ASP sensitivity mode 0. Good tradeoff between ASP speed and false trigger rejection"; + type empty; + } + } + case expert-case { + container expert { + description + "Control of individual ASP sensitivity parameters, recommended for EXPERT debug use only."; + presence "true"; + leaf holdover { + description + "ASP gate holdover time in ms"; + type uint16 { + range "1..5000"; + } + } + leaf min-freq { + description + "for exempting low frequencies such as call progress tones"; + type uint16 { + range "1..3999"; + } + } + leaf min-power { + description + "minimum power"; + type uint16 { + range "1..2000"; + } + } + container peak-detect { + description + "set peak-to-total power ratio"; + leaf num { + description + "numerator of 'peak-tone-energy to total-signal-energy ratio' detection threshold. Recommended value is 6"; + type uint8 { + range "1..100"; + } + } + leaf denom { + description + "denominator of 'peak-tone-energy to total-signal-energy ratio' detection threshold. Recommended value is 10"; + type uint8 { + range "1..100"; + } + } + } + container ramp-step { + description + "set ASP trigger ramp step size"; + leaf negative-step { + description + "Decrement stepsize applied to ramp when detect criteria==false"; + type uint8 { + range "1..100"; + } + } + leaf positive-step { + description + "Positive increment for detect criteria==true"; + type uint8 { + range "1..100"; + } + } + } + leaf ramp-threshold { + description + "set ASP trigger threshold"; + type uint16 { + range "1..2000"; + } + } + container vb-data-priority { + description + "allow fax/modem signals to pass through ASP"; + leaf hertz { + description + "2100 Hz tones will be exempted from ASP suppression"; + type empty; + } + } + leaf watch-freq { + description + "user list of frequencies for extra suppression"; + type string; + } + leaf watch-window { + description + "for watch freq window"; + type uint8 { + range "1..100"; + } + } + } + } + case fast-case { + leaf fast { + description + "Preset ASP sensitivity mode 2. Faster detection speed, but higher chance of false triggers"; + type empty; + } + } + case slow-case { + leaf slow { + description + "Preset ASP sensitivity mode 1. Slower detection speed for reduced chance of false triggers"; + type empty; + } + } + } + } + } + + grouping config-media-grouping { + container media { + description + "Media Commands"; + list class { + description + "media class"; + max-elements 10000; + key "id"; + leaf id { + description + "Media class tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + container asp { + description + "acoustic shock protection"; + choice media-class-asp-choice { + case asp-profile-case { + leaf profile { + description + "select media profile ASP"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:asp-nr/ios-voice:id"; + } + } + } + case asp-parameter-case { + container parameter { + description + "enter submode to configure parameter"; + presence "true"; + uses config-media-mode-grouping { + refine "mode/mode-choice/expert-case/expert"; + } + } + } + } + } + container nr { + description + "noise reduction"; + choice media-class-nr { + case nr-profile-case { + leaf profile { + description + "media profile nr tag"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:asp-nr/ios-voice:id"; + } + } + } + case nr-parameter-case { + container parameter { + description + "enter submode to configure parameter"; + presence "true"; + uses media-nr-parameter-grouping; + } + } + } + } + container police { + description + "police specific details"; + leaf profile { + description + "select media profile police"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:police/ios-voice:id"; + } + } + } + container recorder { + description + "recorder specific details"; + choice media-class-recorder { + container parameter { + description + "enter submode to configure parameter"; + presence "true"; + leaf-list media-recording { + max-elements 5; + ordered-by user; + type uint32 { + range "1..1073741823"; + } + } + } + container parameter-siprec-mode { + container parameter { + description + "Enter submode to configure parameter"; + presence "true"; + container siprec { + description + "INVITE is sent to recording server with application/rs-metadata SDP"; + presence "true"; + leaf-list media-recording { + description + "Set voice class recording parameters"; + max-elements 5; + ordered-by user; + type uint32 { + range "1..1073741823"; + } + } + } + } + } + container profile { + description + "select media profile recorder"; + leaf tag { + description + "media profile recorder tag"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:recorder/ios-voice:id"; + } + } + leaf siprec { + description + "INVITE is sent to recording server with application/rs-metadata SDP"; + type empty; + } + } + } + } + container stream-service { + description + "stream service specific details"; + leaf profile { + description + "select media profile stream-service"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:stream-service/ios-voice:id"; + } + } + } + container video { + description + "video specific details"; + leaf profile { + description + "select media profile video"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:profile/ios-voice:video/ios-voice:id"; + } + } + } + } + container profile { + description + "media profile"; + list asp-nr { + description + "acoustic shock protection and noise reduction"; + max-elements 10000; + key "id"; + leaf id { + description + "Media profile tag"; + type uint16 { + range "1..10000"; + } + } + leaf asp-nr { + mandatory true; + type enumeration { + enum asp; + enum nr; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + uses config-media-mode-grouping { + when "asp-nr = 'asp'"; + refine "mode/mode-choice/expert-case/expert"; + } + uses media-nr-parameter-grouping { + when "asp-nr = 'nr'"; + } + } + list police { + description + "policing profile"; + max-elements 10000; + key "id"; + leaf id { + description + "Media profile tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + container overhead { + description + "overhead percentage above negotiated BW"; + leaf audio { + description + "Audio overhead percentage"; + type uint16 { + range "0..50"; + } + } + leaf video { + description + "Video overhead percentage"; + type uint16 { + range "0..50"; + } + } + } + container violation { + description + "Number of violations before taking configured action"; + leaf count { + description + "Number of violations"; + type uint32 { + range "0..200000"; + } + } + leaf action { + description + "Action taken after a violation is detected"; + type enumeration { + enum disconnect; + enum drop; + enum ignore; + } + } + leaf no-syslog { + description + "Block syslog generation"; + type empty; + } + } + } + list recorder { + description + "recorder profile"; + max-elements 10000; + key "id"; + leaf id { + description + "Media profile tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + container media-type { + description + "Type of Recording"; + leaf audio { + description + "Audio only forking"; + type empty; + } + } + container proxy { + description + "Media recording proxy"; + container policy { + description + "Proxy policy"; + leaf mandatory { + description + "Set proxy policy mandatory recorder tag"; + type uint32 { + range "1..1073741823"; + } + } + } + } + container media-recording { + description + "Set voice class recording parameters"; + choice recording-choice { + case non-proxy-case { + leaf-list recording-tags { + description + "Dial-peer tag to be matched on forked leg(max of 5 dial-peer tags)"; + max-elements 5; + ordered-by user; + type uint32 { + range "1..1073741823"; + } + } + } + case proxy-case { + container proxy { + description + "Set recording mode to proxy"; + must '(count(secure/securetags) + count(nonsecuretags)) <= 5' { + error-message "A maximum of 5 secure and non-secure dial-peer tags may be configured."; + } + leaf-list nonsecuretags { + description + "Dial-peer tags to be matched for non-secure forks (max of 5 including secure forks)"; + max-elements 5; + ordered-by user; + type uint32 { + range "1..1073741823"; + } + } + container secure { + description + "Set secure proxy mode"; + leaf-list securetags { + description + "Dial-peer tags to be matched for secure forks (max of 5 including non-secure forks)"; + max-elements 5; + ordered-by user; + type uint32 { + range "1..1073741823"; + } + } + } + } + } + } + } + } + list stream-service { + description + "stream service profile"; + max-elements 10000; + key "id"; + leaf id { + description + "Media profile tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + container connection { + description + "stream service connection"; + leaf calls-threshold { + description + "number of calls per connection"; + type uint8 { + range "1..20"; + } + } + leaf idle-timeout { + description + "idle timeout in minutes"; + type uint8 { + range "1..60"; + } + } + } + container proxy { + description + "Websocket Proxy Server"; + choice stream-service-proxy { + container host { + description + "WebSocket proxy server hostname"; + leaf host-name { + description + "Specify hostname for proxy server"; + type string; + } + leaf port { + description + "WebSocket proxy server port"; + type uint16 { + range "0..65535"; + } + } + } + container ipv4 { + description + "WebSocket proxy server IPV4 address"; + leaf address { + description + "Specify hostname for proxy server"; + type inet:ipv4-address; + } + leaf port { + description + "WebSocket proxy server port"; + type uint16 { + range "0..65535"; + } + } + } + } + } + container secure-ciphersuite { + description + "Secure encryption ciphersuite"; + leaf aes-128-cbc-sha { + description + "Encryption type tls_with_aes_128_cbc_sha ciphersuite"; + type empty; + } + leaf dhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_cbc_sha2 ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2 ciphersuite"; + type empty; + } + leaf rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2 ciphersuite"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_ecdsa_with_aes_gcm_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_rsa_with_aes_gcm_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + } + leaf source-ip { + description + "Local source IP address of the WebSocket connection"; + type inet:ipv4-address; + } + } + list video { + description + "video profile"; + max-elements 10000; + key "id"; + leaf id { + description + "Media profile tag"; + type uint16 { + range "1..10000"; + } + } + leaf description { + description + "Media profile specific description"; + type string { + length "1..64"; + } + } + leaf h264-packetization-mode { + description + "Offer only configured h264 packetization mode(0/1/2)"; + type uint8 { + range "0..2"; + } + } + leaf monitor-ref-frames { + description + "Monitor Reference Frames/intra-frames"; + type empty; + } + container ref-frame-req { + description + "Set intra-frame request parameters"; + presence "true"; + leaf sip-info { + description + "intra-frame request using SIP Info message"; + type empty; + } + container rtcp { + description + "intra-frame request using RTCP"; + presence "true"; + leaf retransmit-interval { + description + "retransmit interval (in msec)"; + type uint16 { + range "20..150"; + } + default "50"; + units "miliseconds"; + } + leaf retransmit-count { + description + "retransmit count"; + type uint8 { + range "0..5"; + } + default "0"; + } + } + } + } + } + } + } + + grouping progress-ind-options-grouping { + choice progress-ind-choice { + default "disable-case"; + case disable-case { + leaf disable { + description + "Disable Progress Indicator for PROG/CONN/CALLPROC"; + type empty; + } + } + case enable-case { + leaf enable { + description + "Enable Progress Indicator for PROG/CONN/CALLPROC"; + type prog-ind-enable-value; + } + } + case strip-case { + container strip { + description + "Strip ANY Progress Indicator for ALERT"; + presence "true"; + leaf-list value { + description + "Value for PI (can only be 1, 2 or 8)"; + type prog-ind-enable-value; + } + } + } + } + } + + grouping progress-ind-enable-disable-grouping { + choice progress-ind-choice { + default "disable-case"; + case disable-case { + leaf disable { + description + "Disable Progress Indicator for PROG/CONN/CALLPROC"; + type empty; + } + } + case enable-case { + leaf enable { + description + "Enable Progress Indicator for PROG/CONN/CALLPROC"; + type prog-ind-enable-value; + } + } + } + } + + grouping config-voice-translation-profile-grouping { + container translation-profile { + description + "Translation profile"; + leaf incoming { + description + "Translation Profile for incoming call leg"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:translation-profile/ios-voice:id"; + } + } + leaf outgoing { + description + "Translation Profile for outgoing call leg"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:translation-profile/ios-voice:id"; + } + } + } + } + + grouping config-tls-sni-grouping { + leaf description { + description + "Define the description of input options"; + type string { + length "1..80"; + } + } + leaf trustpoint { + description + "Define the trustpoint name"; + type string { + length "1..142"; + } + } + leaf client-vtp { + description + "Set Client Verification Trustpoint"; + type string { + length "1..142"; + } + } + container cn-san { + description + "Certificate CN/SAN options"; + container validate { + description + "Enable CN/SAN validation for certificate"; + choice certificate-choice { + case case-server { + leaf server-config { + description + "Enable CN/SAN validation for server certificate"; + type empty; + } + } + case case-client { + leaf client { + description + "Enable CN/SAN validation for client certificate"; + type empty; + } + } + case case-bidirectional { + leaf bidirectional { + description + "Enable CN/SAN validation for both client and server certificate"; + type empty; + } + } + } + leaf server { + status deprecated; + description + "Enable CN/SAN validation for server certificate (DEPRECATED)"; + type empty; + } + } + list tag { + description + "Specify the tag of CN/SAN hostname/pattern list entry"; + max-elements 10; + key "id"; + leaf id { + type uint8 { + range "1..10"; + } + } + leaf cn-san-name { + description + "Specify the CN/SAN hostname/pattern, valid values are a FQDN or *."; + type string { + length "3..128"; + pattern '((\*\.)?[A-Za-z0-9-]{1,63}\.)+[A-Za-z0-9-]{1,63}' { + error-message "Valid values are a FQDN or \"*.\""; + } + } + } + } + } + container cipher { + description + "Cipher Settings"; + choice cipher-choice { + case ecdsa-cipher { + container ecdsa-cipher { + description + "Use ECDSA Ciphers"; + presence "true"; + leaf curve-size { + description + "Size of Elliptic Curve to use."; + type enumeration { + enum 384; + } + } + } + } + case strict-cipher { + leaf strict-cipher { + description + "Use only ciphers use by SIP standards"; + type empty; + } + } + case tls-cipher { + leaf cipher-id { + description + "Specify tls-cipher list tag"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:tls-cipher/ios-voice:id"; + } + } + } + } + } + container sni { + description + "TLS Server Name Indication Extension"; + leaf send { + description + "Include SNI extension in outbound TLS connections"; + type empty; + } + } + } + + grouping config-srtp-options-grouping { + choice srtp-choice { + case fallback-case { + leaf fallback { + description + "Allow Secure calls fallback to non secure"; + type empty; + } + } + case pass-through-case { + leaf pass-thru { + description + "Allow transparent passthru of unsupported crypto suites"; + type empty; + } + } + } + } + + typedef config-codec-type { + type enumeration { + enum g711alaw { + description + "G.711 A Law 64000 bps (for E1)"; + } + enum g711ulaw { + description + "G.711 u Law 64000 bps (for T1)"; + } + } + } + + grouping config-pass-through-grouping { + leaf pass-through { + description + "Use an audio codec for fax transport"; + type config-codec-type; + } + } + + grouping config-fax-protocol-grouping { + choice protocol-choice { + case none-case { + leaf none { + description + "Disable fax transport"; + type empty; + } + } + case pass-through-case { + uses config-pass-through-grouping; + } + case t38-case { + container t38 { + description + "Use T.38 protocol"; + presence "true"; + leaf nse { + description + "Use Cisco NSEs to signal T.38 mode switch"; + type empty; + } + leaf force { + description + "Unconditionally use Cisco NSEs to signal T.38 mode switch"; + when '../nse'; + type empty; + } + leaf version { + description + "T.38 fax version"; + type enumeration { + enum 0; + enum 3; + } + default "0"; + } + container redundancy-config { + leaf ls-redundancy { + description + "t38 low speed redundancy"; + type uint8 { + range "0..5"; + } + default "0"; + } + leaf hs-redundancy { + description + "t38 high speed redundancy"; + when '../ls-redundancy'; + type uint8 { + range "0..2"; + } + default "0"; + } + } + container fallback { + description + "fax transport to use if T.38 unsupported on far end"; + choice protocol-choice { + case none-case { + leaf none { + description + "No fallback"; + type empty; + } + } + case pass-through-case { + uses config-pass-through-grouping; + } + } + } + } + } + } + } + + grouping config-modem-grouping { + choice modem-choice { + case passthrough-case { + container passthrough { + description + "Pass modem traffic via clear channel"; + container nse { + description + "Use Named Signaling Events (NSE)"; + choice nse-choice { + case codec-case { + leaf codec { + description + "Codec selections for upspeed"; + type config-codec-type; + } + } + case payload-type-case { + container payload-type-conifg { + leaf payload-type { + description + "Payload type value"; + type uint8 { + range "98..117"; + } + default "100"; + } + leaf codec { + description + "Codec selections for upspeed"; + type config-codec-type; + } + } + } + } + } + } + } + case relay-case { + container relay { + description + "Relay modem traffic between the gateways"; + choice relay-choice { + case gateway-xid-case { + container gateway-xid { + description + "Do XID negotiation between gateways"; + presence "true"; + } + } + case nse-case { + container nse { + description + "Use Named Signaling Events (NSE)"; + choice nse-choice { + case codec-case { + container codec-gw-controller { + leaf codec { + description + "Codec selections for upspeed"; + type config-codec-type; + } + leaf gw-controlled { + description + "GW Controlled MR"; + type empty; + } + } + } + case payload-type-case { + container payload-type-config { + leaf payload-type { + description + "Payload type value"; + type uint8 { + range "98..117"; + } + default "100"; + } + leaf codec { + description + "Codec selections for upspeed"; + type config-codec-type; + } + leaf gw-controlled { + description + "GW Controlled MR"; + type empty; + } + } + } + } + } + } + case sprt-case { + container sprt { + description + "Configure SPRT (Simple packet relay transport)"; + leaf retries { + description + "Maximum retries for an SPRT packet"; + type uint32 { + range "6..30"; + } + } + } + } + case sse-case { + container sse { + description + "SSE negotiation parameters for modem relay (Applicable only to SIP)"; + leaf v150mer { + description + "Enable V 150.1 MER (Applicable only to SIP)"; + type empty; + } + } + } + } + } + } + } + } + + grouping config-port-range-grouping { + container port-range { + description + "Port range"; + leaf min-port { + description + "Minimum port number"; + must '. mod 2 = 0' { + error-message "Minimum port value must be even"; + } + type uint16 { + range "8000..48198"; + } + } + leaf max-port { + description + "Maximum port number"; + must '. mod 2 = 0' { + error-message "Maximum port value must be even"; + } + must '../min-port <= .' { + error-message "Maximum port must be greater than or equal to minimum port"; + } + type uint16 { + range "8000..48198"; + } + } + } + } + + grouping config-extended-min-max-range-grouping { + leaf min-port { + description + "Start media address extended port"; + type uint16 { + range "5500..65498"; + } + } + leaf max-port { + description + "Stop media address extended port"; + must '../min-port <= .' { + error-message "Starting port is greater than ending port"; + } + type uint16 { + range "5500..65498"; + } + } + } + + grouping config-extended-port-range-grouping { + container port-range-extended { + container port-range { + description + "Media address port range"; + presence "true"; + list port { + max-elements 10; + key "min-port max-port"; + uses config-extended-min-max-range-grouping; + } + } + } + } + + grouping config-uc-wsapi-remote-url { + list remote-url { + key "url-index"; + unique "url-string"; + leaf url-index { + type uint16 { + range "1..8"; + } + } + leaf url-string { + type string; + } + } + leaf shutdown { + description + "shutdown"; + type boolean; + default "false"; + } + } + + grouping config-voice-grouping { + container voice { + description + "Global voice configuration"; + leaf vrf { + description + "Voice VRF"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string { + length "1..32"; + } + } + container hpi { + description + "Host port interface"; + container capture { + description + "HPI control message capture"; + leaf buffer { + description + "HPI control message capture buffer size"; + type int32 { + range "880..60000000"; + } + } + leaf destination { + description + "HPI control message capture data file destination"; + type string { + pattern '.*'; + length "1..1023"; + } + } + } + } + container iec { + description + "Configure Internal Error Code behavior"; + leaf syslog { + description + "Enable syslog reporting"; + type empty; + } + } + leaf cause-code { + description + "Sets the internal Q850 cause code mapping"; + type empty; + } + container pcm { + description + "PCM Capture"; + container capture { + description + "PCM control message capture"; + leaf buffer { + description + "configure PCM capture buffer number"; + type int32 { + range "0..200000"; + } + default "0"; + } + leaf destination { + description + "configure destination target for PCM capture data file"; + type string { + pattern '.*'; + length "1..1023"; + } + } + leaf on-demand-trigger { + description + "configure PCM capture user trigger on-demand"; + type empty; + } + container user-trigger-string { + description + "configure PCM user trigger string"; + leaf trigger-start-string { + description + "configure user trigger start string up to 16 characters"; + type string { + pattern '[0-9#\*]{1,16}'; + } + } + leaf trigger-stop-string { + description + "configure user trigger stop string up to 16 characters"; + type string { + pattern '[0-9#\*]{1,16}'; + } + } + leaf stream { + description + "PCM stream bitmap in hex"; + type string { + pattern '[1-9A-F][0-9A-F]{0,6}'; + } + } + leaf duration { + description + "PCM capture duration in second"; + type uint8 { + range "0..255"; + } + } + } + } + } + list translation-rule { + description + "Translation Rule configuration commands"; + key "id"; + leaf id { + type uint32 { + range "1..1073741823"; + } + } + list rule { + description + "Translation rule"; + key "id"; + leaf id { + description + "Translation rule number"; + type uint8 { + range "1..100"; + } + } + choice rule-choice { + leaf reject { + description + "Call block rule"; + type string { + pattern '.*'; + length "1..66"; + } + } + leaf matching-replacement-pattern { + description + "Matching and replacement pattern, i.e., /xxx/ /xxx/"; + type string { + pattern '.*'; + length "1..133"; + } + } + } + } + } + list translation-profile { + description + "Translation profile configuration commands"; + key "id"; + leaf id { + type string { + length "1..31"; + } + } + container translate { + description + "Specify numbers that should be translated"; + leaf called { + description + "Translation rule for the called-number"; + type leafref { + path "../../../translation-rule/id"; + } + } + leaf calling { + description + "Translation rule for the calling-number"; + type leafref { + path "../../../translation-rule/id"; + } + } + } + } + container class { + description + "Control parameters class"; + uses config-voice-class-tenant-grouping; + uses config-voice-class-server-group-grouping; + uses config-voice-class-e164-pattern-map-grouping; + uses config-voice-class-sip-options-keepalive-grouping; + uses config-voice-class-uri-grouping; + uses config-voice-class-dpg-grouping; + uses config-voice-class-stun-usage-grouping; + uses config-voice-class-srtp-crypto-grouping; + uses config-voice-class-sip-profiles-grouping; + uses config-voice-class-tls-cipher-grouping; + list custom-cptone { + description + "Configuration of customized Call Progress Tones"; + key "id"; + leaf id { + type string { + length "1..20"; + } + } + list dualtone { + description + "Configure call progress dual tones"; + key "id"; + leaf id { + type enumeration { + enum busy; + enum conference; + enum disconnect; + enum number-unobtainable; + enum out-of-service; + enum reorder; + enum ringback; + } + } + leaf-list frequency { + description + "Configure dual tone frequencies"; + max-elements 2; + type uint16 { + range "300..3600"; + } + } + container cadence { + description + "Configure dual tone cadences"; + leaf first-on-cadence { + description + "First On cadence"; + type voice-cadence-type; + } + leaf first-off-cadence { + description + "First Off cadence"; + type voice-cadence-type; + } + leaf second-on-cadence { + description + "Second On cadence"; + type voice-cadence-type; + } + leaf second-off-cadence { + description + "First Off cadence"; + type voice-cadence-type; + } + leaf third-on-cadence { + description + "Third On cadence"; + type voice-cadence-type; + } + leaf third-off-cadence { + description + "Third Off cadence"; + type voice-cadence-type; + } + leaf fourth-on-cadence { + description + "Fourth On cadence"; + type voice-cadence-type; + } + leaf fourth-off-cadence { + description + "Fourth Off cadence"; + type voice-cadence-type; + } + } + } + } + list dualtone-detect-params { + description + "Dual tone detection parameters"; + key "id"; + leaf id { + description + "Voice class dual tone detect parameter tag"; + type uint32 { + range "1..10000"; + } + } + leaf cadence-variation { + description + "Cadence variation allowed"; + type uint8 { + range "0..200"; + } + default "10"; + } + leaf freq-max-delay { + description + "Timing difference between two frequencies"; + type uint8 { + range "10..100"; + } + default "10"; + } + leaf freq-max-deviation { + description + "Maximum frequency deviation allowed for each frequency"; + type uint8 { + range "10..125"; + } + default "10"; + } + leaf freq-max-power { + description + "Absolute value of upper limit for tone power per frequency"; + type uint8 { + range "0..20"; + } + default "10"; + } + leaf freq-min-power { + description + "Absolute value of lower limit for tone power per frequency"; + type uint8 { + range "10..35"; + } + default "30"; + } + leaf freq-power-twist { + description + "The difference between the power of two frequencies"; + type uint8 { + range "0..15"; + } + default "6"; + } + } + list codec { + description + "Set codec global parameters"; + max-elements 10000; + key "codec-tag"; + leaf codec-tag { + description + "Voice class codec tag"; + type uint16 { + range "1..10000"; + } + } + container codec { + description + "Set class codec parameters"; + list preference { + description + "Set priority order for using this codec"; + max-elements 24; + key "preference-tag"; + unique "codec-type"; + leaf preference-tag { + description + "Priority order (1 = Highest)"; + type uint8 { + range "1..24"; + } + } + leaf codec-type { + type enumeration { + enum g711ulaw; + enum g711alaw; + enum g729r8; + enum ilbc; + enum g722-64; + enum aacld; + enum mp4a-latm; + enum opus; + enum g723ar53; + enum g723ar63; + enum g723r53; + enum g723r63; + enum g726r16; + enum g726r24; + enum g726r32; + enum g728; + enum clear-channel; + enum isac; + enum g729br8; + enum gsmamr-nb; + } + } + leaf bytes { + description + "Specify number of voice data bytes per frame"; + when "../codec-type = 'g711alaw' or ../codec-type = 'g711ulaw' or ../codec-type = 'g722-64' or ../codec-type = 'clear-channel'"; + type enumeration { + enum 80; + enum 160; + enum 240; + } + default "160"; + } + leaf profile { + description + "Specify the profile tag configured in global codec profile"; + when "../codec-type = 'opus' or ../codec-type = 'mp4a-latm' or ../codec-type = 'aacld'"; + type uint32 { + range "1..1000000"; + } + } + container fmtp-select-one { + description + "Offer only one format of multi-format codec (first by default"; + when "../codec-type = 'mp4a-latm'"; + presence "true"; + choice rate { + case bitrate-case { + leaf bitrate { + description + "Exact match of bitrate value in FMTP paramater"; + type config-bitrate; + } + } + case max-bitrate-case { + leaf max-bitrate { + description + "Max bitrate allowed"; + type config-bitrate; + } + } + } + } + container g729r8-conf { + when "../codec-type = 'g729r8' or ../codec-type = 'g728' or ../codec-type = 'g729br8'"; + leaf bytes { + description + "Specify number of voice data bytes per frame"; + type enumeration { + enum 10; + enum 20; + enum 30; + enum 40; + enum 50; + enum 60; + enum 70; + enum 80; + enum 90; + enum 100; + enum 110; + enum 120; + enum 130; + enum 140; + enum 150; + enum 160; + enum 170; + enum 180; + enum 190; + enum 200; + enum 210; + enum 220; + enum 230; + enum 240; + } + } + } + container mode { + description + "Specify mode value (independent or adaptive)"; + when "../codec-type = 'isac'"; + leaf value { + type enumeration { + enum adaptive; + enum independent; + } + } + container bit-rate { + description + "Set target bit rate (10 to 32kbps)"; + leaf value { + type uint16 { + range "10000..32000"; + } + default "32000"; + } + } + container framesize { + description + "Set framesize (30ms or 60ms)"; + leaf value { + type enumeration { + enum 30 { + description + "Framesize 30ms"; + } + enum 60 { + description + "Framesize 60ms"; + } + } + default "30"; + } + } + leaf fixed { + description + "Force fixed framesize (for adaptive mode only)"; + when "../value = 'adaptive'"; + type empty; + } + } + container g723-g726-conf { + when "../codec-type = 'g723ar53' or ../codec-type = 'g723r53' or ../codec-type = 'g726r16'"; + leaf bytes { + description + "Specify number of voice data bytes per frame"; + type enumeration { + enum 20; + enum 40; + enum 60; + enum 80; + enum 100; + enum 120; + enum 140; + enum 160; + enum 180; + enum 200; + enum 220; + enum 240; + } + } + } + container g723-conf { + when "../codec-type = 'g723ar63' or ../codec-type = 'g723r63'"; + leaf bytes { + description + "Specify number of voice data bytes per frame"; + type enumeration { + enum 24; + enum 48; + enum 72; + enum 96; + enum 120; + enum 144; + enum 168; + enum 192; + enum 216; + enum 240; + } + } + } + container g726r24-conf { + when "../codec-type = 'g726r24'"; + leaf bytes { + description + "Specify number of voice data bytes per frame"; + type enumeration { + enum 30; + enum 60; + enum 90; + enum 120; + enum 150; + enum 180; + enum 210; + enum 240; + } + } + } + container g726r32-conf { + when "../codec-type = 'g726r32'"; + leaf bytes { + description + "Specify number of voice data bytes per frame"; + type enumeration { + enum 40; + enum 80; + enum 120; + enum 160; + enum 200; + enum 240; + } + } + } + container ilbc-conf { + when "../codec-type = 'ilbc'"; + container mode { + description + "Specify the value of the mode"; + choice mode-choice { + case twenty-case { + container twenty { + leaf bytes { + description + "Specify number of voice data bytes"; + type enumeration { + enum 38; + enum 76; + enum 114; + enum 152; + enum 190; + enum 228; + } + } + } + } + case thirty-case { + container thirty { + leaf bytes { + description + "Specify number of voice data bytes"; + type enumeration { + enum 50; + enum 100; + enum 150; + enum 200; + } + } + } + } + } + } + } + container gsmamr-nb-conf { + when "(../codec-type = 'gsmamr-nb') and + (/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip)"; + container encap { + description + "RTP encapsulation type to be used"; + leaf rfc3267 { + description + "RTP encapsulation mentioned in RFC3267(default)"; + type empty; + } + } + container frame-format-conf { + when '../encap/rfc3267'; + leaf frame-format { + description + "Specify the frame format"; + type enumeration { + enum bandwidth-efficient; + enum octet-aligned; + } + } + leaf compute-crc { + when "../frame-format = 'octet-aligned'"; + type enumeration { + enum crc; + enum no-crc; + } + } + } + container modes-conf { + leaf modes { + description + "Specify the supported modes"; + type int8 { + range "0..7"; + } + } + } + container packetization-period-conf { + leaf packetization-period { + description + "Specify the packetization period"; + type enumeration { + enum 20; + } + default "20"; + } + } + } + } + } + container video { + description + "Video setup for voice class"; + list codec { + description + "Video codec setup"; + key "codec-type"; + leaf codec-type { + type enumeration { + enum h263; + enum h263+; + enum h264; + enum h261; + enum mpeg4; + } + } + leaf profile { + description + "Specify the profile tag configured in global codec profile"; + when "../codec-type = 'h263' or ../codec-type = 'h263+' or ../codec-type = 'h264'"; + type uint32 { + range "1..1000000"; + } + } + } + } + } + uses config-voice-class-media-grouping; + uses config-voice-class-sip-hdr-passthrulist-grouping; + uses config-voice-class-sip-event-list-grouping; + list tls-profile { + description + "Associate a tls-profile"; + key "id"; + leaf id { + type uint16 { + range "1..10000"; + } + } + uses config-tls-sni-grouping; + } + list sip-copylist { + description + "Configure list of entities to be sent to peer leg"; + max-elements 10000; + key "id"; + leaf id { + description + "Voice class sip-copylist tag"; + type uint32 { + range "1..10000"; + } + } + uses config-sip-copylist-header-grouping; + } + } + list service { + description + "Global packet telephony service commands"; + key "type"; + leaf type { + type enumeration { + enum pots; + enum saf; + enum voatm; + enum vofr; + enum voip; + } + } + container clid-pots { + when "../type = 'pots'"; + container clid { + description + "Global setting for caller ID dtmf codes"; + leaf dtmf-codes { + description + "3 chars [0-9A-D*#] for start, redirect, end codes"; + type string { + pattern '[0-9A-D\*#]{3}' { + error-message "3 input chars must be in [0-9A-D*#]"; + } + } + } + } + } + container stun { + description + "STUN configuration commands"; + when "../type = 'voip'"; + presence "true"; + container stun { + description + "Stun parameters"; + container flowdata { + description + "FlowData parameters"; + container agent-id-config { + leaf agent-id { + description + "Set Authorization Agent Id"; + type uint8; + } + leaf boot-count { + description + "Set boot count"; + type uint16; + default "0"; + } + } + container shared-secret-enc { + description + "Set Shared-secret Key"; + leaf encryption { + must '../password-string'; + type enumeration { + enum 0 { + description + "Specifies an UNENCRYPTED shared secret key"; + } + enum 6 { + description + "Specifies an ENCRYPTED shared secret key"; + } + enum 7 { + description + "Specifies an ENCRYPTED shared secret key"; + } + } + } + leaf password-string { + must '../encryption'; + type string { + length "12..162"; + } + } + } + container shared-secret { + status deprecated; + description + "Set Shared-secret Key (DEPRECATED)"; + choice shared-secret-choice { + status deprecated; + case zero-case { + status deprecated; + leaf zero { + status deprecated; + description + "Specifies an UNENCRYPTED shared secret key (DEPRECATED)"; + type string { + length "12..80"; + } + } + } + case six-case { + status deprecated; + leaf six { + status deprecated; + description + "Specifies an ENCRYPTED shared secret key (DEPRECATED)"; + type string { + length "26..162"; + } + } + } + } + } + container catlife-config { + leaf catlife { + description + "Set how often a new CAT token is generated(default value 1270 = (21 min 10 sec))"; + type catlife-keepalive-options-type; + default "1270"; + } + leaf keepalive { + description + "Set how often keepalives are sent (default 30 sec)"; + must '. <= ../catlife' { + error-message "keepalive should be less than or equal to catlife"; + } + type catlife-keepalive-options-type; + default "30"; + } + } + } + leaf transaction-timer { + description + "Set STUN Transaction Timer"; + type uint16 { + range "10..50"; + } + default "10"; + } + } + } + container clid { + description + "Caller ID option"; + when "../type = 'voip'"; + leaf network-provided { + description + "Set screen ind in oct3a to network-provided for SIP calls"; + type empty; + } + container strip { + description + "Remove calling party name and number when PI restricted for SIP"; + container pi-restrict { + description + "Remove calling party name and number when PI restricted for SIP"; + leaf all { + description + "Remove calling party name and number when PI restricted for SIP"; + type empty; + } + } + } + container substitute { + description + "Sub calling num for missing display name for SIP if PI allows"; + leaf name { + description + "Sub calling num for missing display name for SIP if PI allows"; + type empty; + } + } + } + leaf dtmf-interworking { + description + "Dtmf Interworking"; + when "../type = 'voip'"; + type enumeration { + enum rtp-nte { + description + "Digit-begin and digit-end events of RTP NTE packets are sent separately"; + } + enum standard { + description + "RFC compliance RTP NTE packets"; + } + } + } + leaf gcid { + description + "Enable Global Call Identification for voip"; + when "../type = 'voip'"; + type empty; + } + container notify { + description + "send facility indication to application"; + when "../type = 'voip'"; + container redirect { + description + "send redirect notification to application for handling"; + leaf ip2ip { + description + "send redirect notification to application for ip-to-ip calls"; + type boolean; + default "true"; + } + leaf ip2pots { + description + "send redirect notification to application for ip-to-pots calls"; + type empty; + } + } + } + container redirect { + description + "voip call redirect"; + when "../type = 'voip'"; + leaf ip2ip { + description + "Redirect IP-to-IP calls"; + type empty; + } + } + container rtp-media-loop { + description + "Global setting for rtp media loop count"; + when "../type = 'voip'"; + leaf count { + description + "specify the max count"; + type uint8 { + range "6..21"; + } + } + } + container rtp-ssrc { + description + "Global setting to handle multiple RTP SSRC's"; + when "../type = 'voip'"; + leaf multiplex { + description + "RTCP multiplexing with RTP"; + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + type empty; + } + } + container srtp { + description + "Allow Secure calls"; + when "../type = 'voip'"; + presence "true"; + uses config-srtp-options-grouping; + } + leaf shutdown { + description + "Stop VoIP services gracefully without dropping active calls"; + when "../type = 'voip'"; + type boolean; + default "false"; + } + container media-recording { + description + "Media recording commands"; + when "../type = 'pots'"; + leaf licenses { + description + "Allocate media recording licenses"; + type uint16 { + range "1..500"; + } + } + } + container allow-connections { + description + "Allow call connection types"; + when "../type = 'voip'"; + container sip { + description + "from-type sip"; + container to { + description + "to"; + leaf sip { + description + "to-type sip"; + type empty; + } + } + } + } + container media { + description + "Global media setting for voip calls"; + leaf bulk-stats { + description + "Retrieve bulk statistics is enabled"; + type empty; + } + leaf statistics { + description + "Media statistics is enabled"; + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + type empty; + } + leaf disable-detailed-stats { + description + "Disable detailed stats collection about the calls present"; + type empty; + } + } + container media-address { + description + "Voice Media IP Address Range"; + when "../type = 'voip'"; + container range { + description + "Address range"; + must 'count(./ipv4) + count(./ipv6) <= 10' { + error-message "Exceeds maximum number of allowed address ranges"; + } + list ipv4 { + key "start-ipv4-address end-ipv4-address"; + leaf start-ipv4-address { + description + "Enter start ip address"; + type inet:ipv4-address; + } + leaf end-ipv4-address { + description + "Enter end ip address"; + type inet:ipv4-address; + } + uses config-port-range-grouping { + refine "port-range"; + } + uses config-extended-port-range-grouping; + } + list ipv6 { + key "start-ipv6-address end-ipv6-address"; + leaf start-ipv6-address { + description + "Start IPv6 address"; + type inet:ipv6-address; + } + leaf end-ipv6-address { + description + "End IPv6 address"; + type inet:ipv6-address; + } + uses config-port-range-grouping { + refine "port-range"; + } + uses config-extended-port-range-grouping; + } + } + list voice-vrf { + description + "voice vrf id"; + max-elements 100; + key "vrfname"; + leaf vrfname { + description + "WORD;;VRF name"; + must '/ios:native/ios:vrf/ios:definition[ios:name=current()] or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "VRF must be created 1st, deleted last"; + } + type string; + } + uses config-port-range-grouping { + refine "port-range"; + } + uses config-extended-port-range-grouping; + } + } + container rtp-port { + description + "Global setting for rtp port range"; + when "../type = 'voip'"; + container range { + description + "Port range"; + uses config-port-range-grouping { + refine "port-range"; + } + container extended { + description + "extended ports"; + uses config-extended-min-max-range-grouping { + refine "min-port" { + must '. mod 2 = 0' { + error-message "min_port value must be even"; + } + } + refine "max-port" { + must '. mod 2 = 0' { + error-message "max_port value must be even"; + } + } + } + } + } + } + leaf cpa { + description + "Enable Call Progress Analysis for voip calls"; + when "../type = 'voip'"; + type boolean; + default "true"; + } + container cpa-config { + when "../cpa = 'true' and ../type = 'voip'"; + container cpa { + description + "Enable Call Progress Analysis for voip calls"; + container threshold { + description + "Configure cpa thresholds"; + leaf active-signal { + description + "Active signal threshold related to measured noise floor level"; + type enumeration { + enum 9db; + enum 12db; + enum 15db; + enum 18db; + enum 21db; + } + default "15db"; + } + container noise-level { + description + "Noise floor level limits"; + leaf max { + description + "Maximum noise floor level"; + type enumeration { + enum -45dBm0; + enum -50dBm0; + enum -55dBm0; + enum -60dBm0; + } + default "-50dBm0"; + } + leaf min { + description + "Minimum noise floor level"; + type enumeration { + enum -55dBm0; + enum -60dBm0; + enum -65dBm0; + enum -70dBm0; + } + default "-60dBm0"; + } + } + container term-tone { + description + "Answering machine terminating tone thresholds"; + leaf min-duration { + description + "Minimum answering machine terminating tone duration in ms"; + type uint16 { + range "80..2000"; + } + units "miliseconds"; + default "80"; + } + leaf min-freq { + description + "Minimum answering machine terminating tone duration in Hz"; + type uint16 { + range "300..2000"; + } + units "hertz"; + default "300"; + } + } + } + container timing { + description + "Configure cpa timing parameters"; + leaf live-person { + description + "Longest typical greeting time if call is answered by live human"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "2500"; + } + leaf noise-period { + description + "Amount of time to estimate the noise floor level"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "100"; + } + leaf silent { + description + "Amount of silent after valid speech to declare a live voice"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "375"; + } + leaf term-tone { + description + "Amount of time to wait for answering machine terminating tone"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "15000"; + } + leaf timeout { + description + "Timeout when no active signal present"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "3000"; + } + leaf valid-speech { + description + "Active speech duration"; + type uint16 { + range "1..60000"; + } + units "miliseconds"; + default "112"; + } + } + } + } + leaf callmonitor { + description + "Call Monitoring"; + when "../type = 'voip'"; + type empty; + } + container supplementary-service { + description + "Config supplementary service features"; + when "../type = 'voip'"; + container sip { + description + "sip supplementary service"; + leaf handle-replaces { + description + "Handle INVITE with REPLACES header (SIP-SIP only)"; + type empty; + } + leaf moved-temporarily { + description + "enable/disable sip moved-temporarily"; + type empty; + } + leaf refer { + description + "enable/disable sip refer"; + type empty; + } + } + leaf media-renegotiate { + description + "Enable/disable Media Renegotiation"; + type empty; + } + } + container sip { + description + "SIP configuration commands"; + when "../type = 'voip'"; + presence "true"; + uses config-sip-localhost-grouping; + uses config-outbound-proxy-grouping; + uses config-audio-forced-grouping; + uses config-sdp-block-grouping; + uses config-call-route-grouping; + leaf contact-passing { + description + "302 contact needs to be passed through for CFWD"; + type empty; + } + leaf referto-passing { + description + "Refer-To needs to be passed through for transfer"; + type empty; + } + container registrar { + description + "SIP Registrar config"; + container server { + description + "Enable Local SIP Registrar"; + container expires { + description + "Registration Expires time"; + presence "true"; + must './min <= ./max' { + error-message "Max must be greater than min"; + } + leaf max { + description + "Default registration max expires time"; + type uint32 { + range "120..86400"; + } + default "3600"; + } + leaf min { + description + "Default registration min expires time"; + type uint16 { + range "60..3600"; + } + default "60"; + } + } + } + } + container call { + description + "Global setting to start/stop processing SIP Calls"; + container service { + description + "SIP service configuration"; + container stop { + description + "Stop SIP service - Active calls not affected"; + presence "true"; + leaf forced { + description + "Forced shutdown of SIP service - Active calls will be torn down"; + type empty; + } + } + } + } + container min-se { + description + "Min value allowed for SIP Session Timer refresh interval"; + leaf min-se { + description + "Min value of Session Expires Header (in seconds)"; + type uint32 { + range "90..86400"; + } + } + leaf session-expires { + description + "Value of Session Expires Header (in seconds)"; + must '../min-se <= .' { + error-message "session-expires value must be greater than or equal to min-se value"; + } + type uint32 { + range "90..86400"; + } + } + } + container silent-discard { + description + "Configure silent-discard"; + leaf untrusted { + description + "Silently Discard the untrusted Request"; + type empty; + } + } + uses config-asserted-id-grouping; + uses config-midcall-signaling-grouping { + refine "midcall-signaling/passthru" { + presence "true"; + } + } + uses config-early-offer-grouping { + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + } + uses config-asymmetric-grouping; + container g729 { + description + "G729 codec interoperability settings"; + leaf annexb-all { + description + "g729b representing g729a and g729b to interop with CCM"; + type empty; + } + } + container session { + description + "SIP Voice Protocol session config"; + leaf refresh { + description + "Enable SIP session timer"; + type empty; + } + uses config-session-transport-grouping; + } + uses config-sip-bind-grouping; + uses pass-thru-grouping; + leaf header-passing { + description + "SIP Headers need to be passed to Applications"; + type empty; + } + leaf error-passthru { + description + "SIP error response pass-thru functionality"; + type empty; + } + uses config-voice-privacy-grouping; + uses config-voice-privacy-policy-grouping; + uses config-voice-relxx-grouping; + uses config-voice-url-grouping; + leaf requri-passing { + description + "Request URI needs to be passed through"; + type empty; + } + leaf update-callerid { + description + "Enable sending updates for callerid"; + type empty; + } + uses config-sip-profiles-grouping; + leaf anat { + description + "Allow alternative network address types IPv4 and IPv6"; + type boolean; + default "false"; + } + uses config-error-code-override-grouping; + uses options-ping-grouping; + uses early-media-update-grouping; + uses config-conn-reuse-srtp-nat-grouping; + } + container ip { + description + "Voice service voip ip setup"; + when "../type = 'voip'"; + container address { + description + "Voice service voip ip address setup"; + container trusted { + description + "ip address trusted (toll fraud prevention) setup"; + leaf authenticate { + description + "ip address trusted (toll fraud prevention) authenticate control flag"; + type empty; + } + leaf call-block { + description + "ip address trusted (toll fraud prevention) call-block"; + type empty; + } + container list { + description + "ip address trusted (toll fraud prevention) list setup"; + must 'count(./ipv4/address) + count(./ipv6/address) <= 100' { + error-message "Trusted list entries has exceeded the maximum"; + } + list ipv4 { + description + "ip address trusted (toll fraud prevention) list entry"; + max-elements 100; + key "address"; + leaf address { + description + "IPv4 Address"; + type inet:ipv4-address; + } + leaf mask { + description + "IPv4 Address Mask"; + type union { + type ipv4-mask-pattern; + type string { + pattern '/([0-9]|[1-2][0-9]|3[0-2])'; + } + } + } + } + list ipv6 { + description + "ipv6 address trusted (toll fraud prevention) list entry"; + max-elements 100; + key "address"; + leaf address { + description + "IPv6 Prefix"; + type ios-types:ipv6-prefix; + } + } + } + } + } + } + container fax-relay { + description + "Global fax relay commands"; + when "../type = 'voip'"; + leaf ans-disable { + description + "Allow Ans-am tones to be disabled for SG3 machines to operate at G3 speeds using fax relay"; + type empty; + } + leaf ans-treatment { + description + "Enable Modem and Fax Answer Tone Treatment"; + type empty; + } + leaf sg3-to-g3 { + description + "Allow SG3 Fax machines to operate at G3 speeds using fax relay"; + type empty; + } + } + container fax { + description + "Global fax commands"; + leaf protocol { + description + "The system-wide fax protocol type"; + type enumeration { + enum cisco; + enum none; + enum pass-through; + enum t38; + } + } + leaf fallback { + description + "fax transport to use if T.38 unsupported on far end"; + when "../protocol = 't38'"; + type enumeration { + enum cisco; + enum none; + enum pass-through; + } + } + leaf codec { + when "../protocol = 'pass-through' or ../fallback = 'pass-through'"; + type enumeration { + enum g711alaw; + enum g711ulaw; + } + } + leaf ls-redundancy { + status obsolete; + description + "t38 low speed redundancy"; + when "../protocol = 't38'"; + type uint8 { + range "0..5"; + } + } + leaf hs-redundancy { + status obsolete; + description + "t38 high speed redundancy"; + when "../protocol = 't38'"; + type uint8 { + range "0..2"; + } + } + leaf version { + status obsolete; + description + "t38 fax version"; + when "../protocol = 't38'"; + type enumeration { + enum 0; + enum 3; + } + } + } + container modem { + description + "Global modem commands"; + when "../type = 'voip'"; + uses config-modem-grouping; + } + leaf redundancy-group { + description + "Associate redundancy-group with voice HA"; + type uint8 { + range "1..2"; + } + } + container mode { + description + "Global mode setting for voip calls"; + when "../type = 'voip'"; + choice mode-choice { + case border-element-case { + container border-element { + description + "Mode setting for Border-Element"; + presence "true"; + container license { + description + "License setting for Border-Element is deprecated"; + container periodicity { + description + "Licence periodicity setting for Border-Element"; + choice periodicity-choice { + case mins-case { + leaf mins { + status obsolete; + description + "Periodicity interval in mins"; + type uint8 { + range "1..59"; + } + } + } + case hours-case { + leaf hours { + description + "Periodicity interval in hours"; + type uint8 { + range "8..23"; + } + } + } + case days-case { + leaf days { + description + "Periodicity interval in days"; + type uint8 { + range "1..30"; + } + } + } + } + } + } + } + } + } + } + container trace { + description + "Voip Trace configuration"; + when "../type = 'voip'"; + presence "true"; + leaf shutdown { + description + "Shut Voip Trace debugging"; + type boolean; + default "false"; + } + container memory-limit { + description + "Set limit based on memory used"; + choice memory-limit-choice { + default "case-platform"; + case case-platform { + leaf platform { + description + "Use 10 percent of available memory"; + type boolean; + default "true"; + must ". = 'true'" { + error-message "Configuring FALSE not allowed"; + } + } + } + case case-value { + leaf memory-limit-value { + description + "Specify maximum memory limit"; + type uint16 { + range "10..1000"; + } + must '. mod 10 = 0' { + error-message "Range should be from 10 to 1000, in multiples of 10"; + } + units "Megabytes"; + } + } + } + } + } + leaf address-hiding { + description + "Address hiding (SIP-SIP)"; + type empty; + } + leaf emergency { + description + "List of Emergency Numbers"; + type string { + pattern '[0-9 ]*' { + error-message "List of numbers separated by ' ' SPACE"; + } + } + } + container rtcp { + when "../type = 'voip'"; + description + "Configure RTCP report generation"; + leaf all-pass-through { + description + "Pass through all the rtcp in datapath"; + type empty; + } + leaf keepalive { + description + "Generate RTCP keepalive report"; + type empty; + } + } + } + container statistics { + description + "Voice Statistics"; + container type { + description + "Voice statistics aggregation type"; + leaf iec { + description + "Internal Error Code"; + type empty; + } + } + container time-range { + description + "Time range to collect statistics"; + leaf since-reset { + description + "Since-reset aggregation"; + type empty; + } + } + } + uses config-voice-register-grouping; + } + } + + grouping config-voice-card-grouping { + list voice-card-sb { + description + "Configure a specific voice-card"; + key "sb"; + leaf sb { + type ios-types:slot-bay-type; + } + leaf local-bypass { + description + "Enable TDM hair pin"; + type boolean; + default "true"; + } + container dsp { + description + "To configure DSP service dspfarm"; + container services { + description + "To configure dsp services on this voice-card"; + leaf dspfarm { + description + "To enable dspfarm service on this voice-card"; + type empty; + } + } + } + } + list voice-card { + status obsolete; + description + "Configure a specific voice-card (OBSOLETE)"; + key "id"; + leaf id { + status obsolete; + type ios-types:slot-bay-type; + } + leaf slot { + status obsolete; + type uint8 { + range "0..2"; + } + } + } + } + + grouping config-dtmf-relay-grouping { + container dtmf-relay { + description + "Transport digits across IP link. Enter relay options in order of preference."; + leaf rtp-nte { + description + "RTP Named Telephone Event RFC 2833"; + type empty; + } + leaf digit-drop { + description + "RTP Named Telephone Event RFC 2833"; + when '../rtp-nte'; + type empty; + } + leaf sip-info { + description + "Relay via SIP INFO messages"; + type empty; + } + leaf sip-kpml { + description + "Relay over SIP SUBSCRIBE/NOTIFY"; + type empty; + } + leaf sip-notify { + description + "Relay via SIP NOTIFY messages"; + type empty; + } + } + } + + grouping config-dial-peer-grouping { + container dial-peer { + description + "Dial Map (Peer) configuration commands"; + list voice { + description + "Voice type"; + key "dialpeertag"; + leaf dialpeertag { + description + "Voice dial-peer tag"; + type uint32 { + range "1..1073741823" { + error-message "Input dial-peer tag is out of range. It should be in range of 1..1073741823"; + } + } + } + leaf type { + description + "Dial peer type"; + type enumeration { + enum pots; + enum voip; + } + } + leaf description { + description + "Dial peer specific description"; + when "../type = 'pots' or ../type = 'voip'"; + type string { + pattern '.*'; + length "1..64"; + } + } + container srtp { + description + "Allow Secure calls"; + when "../type = 'voip'"; + presence "true"; + uses config-srtp-options-grouping; + } + leaf destination-pattern { + description + "A full E.164 telephone number prefix"; + when "../type = 'pots' or ../type = 'voip'"; + type config-e164-pattern; + } + leaf direct-inward-dial { + when "../type = 'pots'"; + description + "Use Called Number as final call destination"; + type empty; + } + container forward-digits { + description + "Configure the destination digits forward of this dial-peer"; + when "../type = 'pots'"; + choice fwd-digit-choice { + leaf num-digits { + description + "Number of right-justified dial digits to be forwarded"; + type uint8 { + range "0..32"; + } + } + leaf all { + description + "Forward all destination digits"; + type empty; + } + container extra { + description + "Extra dial digits to be forwarded"; + presence "true"; + leaf inband { + description + "Digits to be forwarded inband"; + type empty; + } + } + } + } + container incoming { + description + "Incoming called number"; + when "../type = 'pots' or ../type = 'voip'"; + leaf called-number { + description + "An incoming called number pattern"; + type config-e164-pattern; + } + container called { + description + "Configure incoming called e164 map pattern"; + leaf e164-pattern-map { + description + "Configure voice class to match destination e164-pattern-map"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:e164-pattern-map/ios-voice:id"; + } + } + } + container calling { + description + "Configure incoming calling e164 map pattern"; + leaf e164-pattern-map { + description + "Configure voice class to match destination e164-pattern-map"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:e164-pattern-map/ios-voice:id"; + } + } + } + container uri { + description + "Incoming URI class"; + when "../../type = 'voip' and ../../session[protocol='sipv2']"; + leaf from { + description + "Match incoming To header"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf request { + description + "Match incoming Request-URI"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf to { + description + "Match incoming From header"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf via { + description + "Match incoming topmost Via header"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + } + } + container fax-rate-config { + leaf fax-rate { + description + "The fax rate to be attempted in getting to this peer"; + type enumeration { + enum 12000; + enum 14400; + enum 2400; + enum 4800; + enum 7200; + enum 9600; + enum disable; + enum voice; + } + default "voice"; + } + leaf bytes { + when '../fax-rate'; + description + "Bytes of fax data per frame"; + type uint32 { + range "0 | 10..255"; + } + default "0"; + } + } + container fax-relay { + description + "fax-relay options"; + leaf ans-disable { + when "../../type = 'voip'"; + description + "Allow Ans-am tones to be disabled for SG3 machines to operate at G3 speeds using fax relay"; + type empty; + } + leaf ans-treatment { + when "../../type = 'voip'"; + description + "Enable Modem and Fax Answer Tone Treatment"; + type empty; + } + container sg3-to-g3 { + description + "Allow SG3 Fax machines to operate at G3 speeds using fax relay"; + presence "true"; + leaf system { + when "../../../type = 'voip'"; + description + "Use the system configuration for fax relay sg3-to-g3"; + type empty; + } + } + container ecm { + when "../../type = 'voip'"; + description + "ECM mode options for FAX Relay"; + leaf disable { + description + "Disables ECM mode for FAX Relay"; + type empty; + } + } + } + container fax { + description + "Configure fax"; + when "../type = 'voip'"; + container protocol { + description + "The fax protocol to be attempted in getting to this peer"; + uses config-fax-protocol-grouping; + } + } + container modem { + description + "Modem commands through this peer"; + when "../type = 'voip'"; + uses config-modem-grouping; + } + container media-recording { + description + "Media recording commands"; + when "../type = 'pots'"; + leaf dialpeertag { + description + "Recording server dial peer"; + type uint32 { + range "1..1073741823"; + } + } + } + container pcm-dump { + description + "Enable PCM capture stream for this dial-peer"; + container caplog { + description + "Enable PCM capture log"; + leaf pcm-stream-bit-map { + description + "PCM stream index in hex"; + type string { + pattern '[1-9A-F][0-9A-F]{0,6}'; + } + } + leaf capture-time { + description + "PCM capture interval"; + type uint8 { + range "0..255"; + } + default "255"; + } + } + } + leaf port { + description + "Voice port associated with this peer"; + when "../type = 'pots'"; + type string; + } + leaf prefix { + description + "The pattern to be appended before the dial num"; + when "../type = 'pots'"; + type string { + length "1..32"; + } + } + leaf shutdown { + description + "Change the Admin State of this peer to down"; + when "../type = 'pots' or ../type = 'voip'"; + type boolean; + default "false"; + } + uses config-voice-translation-profile-grouping; + container voice-class { + description + "Set Dial-peer voice class control parameters"; + container sip { + description + "Set SIP parameters"; + container extension { + description + "Configure SIP extension"; + leaf voip_ext { + when "../../../../type = 'voip'"; + type enumeration { + enum system; + enum cucm; + enum gw-ana; + } + default "system"; + } + leaf pots_ext { + when "../../../../type = 'pots'"; + type enumeration { + enum system; + enum gw-ana; + } + default "system"; + } + } + uses config-sip-bind-grouping { + when "../../type = 'voip'"; + } + container options-keepalive { + description + "send out-of-dialogue OPTIONS PING to configured proxy/session-target"; + when "../../../type = 'voip'"; + choice keepalive-options { + case interval-config { + uses config-sip-options-keepalive-interval-grouping; + } + case profile-config { + leaf profile-config { + description + "Consolidate Options Keepalive profile setup"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-options-keepalive/ios-voice:id"; + } + } + } + } + leaf profile { + status obsolete; + description + "Consolidate Options Keepalive profile setup (OBSOLETE)"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-options-keepalive/ios-voice:id"; + } + } + } + uses pass-thru-grouping { + when "../../type = 'voip'"; + } + leaf tenant { + description + "Set SIP-Tenant parameters"; + when "../../../type = 'voip'"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:tenant/ios-voice:id"; + } + } + uses config-voice-privacy-grouping; + uses config-voice-privacy-policy-grouping; + uses config-asserted-id-grouping { + when "../../type = 'voip'"; + } + uses config-midcall-signaling-grouping { + when "../../type = 'voip'"; + } + uses config-asymmetric-grouping { + when "../../type = 'voip'"; + } + uses config-voice-relxx-grouping { + when "../../type = 'voip'"; + } + uses config-early-offer-grouping { + when "/ios:native/voice/service[type='voip']/allow-connections/sip/to/sip"; + } + uses config-voice-url-grouping; + leaf requri-passing { + description + "Request URI needs to be passed through"; + type empty; + } + leaf anat { + description + "Allow alternative network address types IPv4 and IPv6"; + when "../../../type = 'voip'"; + type boolean; + default "false"; + } + uses config-error-code-override-grouping { + when "../../type = 'voip'"; + } + container profiles { + container outbound-id { + leaf id { + description + "The sip profiles tag number to be linked as global"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + } + container sip-profiles-inbound { + leaf id { + description + "The sip profiles tag number to be linked as global"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:sip-profiles/ios-voice:id"; + } + } + leaf inbound { + description + "Turn on inbound SIP profiles feature"; + type empty; + } + } + } + uses early-media-update-grouping { + when "../../type = 'voip'"; + } + uses config-conn-reuse-srtp-nat-grouping { + when "../../type = 'voip'"; + } + } + container codec { + description + "Set Global Codec parameters"; + when "../../type = 'voip'"; + leaf codectag { + type leafref { + path "../../../../../voice/class/codec/codec-tag"; + } + } + leaf offer-all { + description + "Offer All the codec configured in this voice-class codec"; + when '../codectag > 0'; + type empty; + } + } + leaf stun-usage { + description + "Set stun usage tag"; + when "../../type = 'voip'"; + type leafref { + path "/ios:native/voice/class/stun-usage/id"; + } + } + leaf media { + description + "Set media parameters for call"; + when "../../type = 'voip'"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:media/ios-voice:media-tag"; + } + } + } + container session { + description + "The session [ target | protocol | transport ] for this peer"; + uses config-session-transport-grouping { + when "../type = 'voip'"; + } + leaf protocol { + description + "The session protocol to be used in getting to this peer"; + type enumeration { + enum cisco { + description + "Ciso Session Protocol"; + } + enum sipv2 { + description + "IETF Session Initiation Protocol"; + } + enum multicast { + description + "Multicast Session Protocol(voice conferencing)"; + } + } + default "cisco"; + } + leaf server-group { + description + "Configure voice class server-group"; + when "../../session[protocol='sipv2']"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:server-group/ios-voice:id"; + } + } + container target { + description + "The session target for this peer"; + when "../../session[protocol='sipv2']"; + choice target-choice { + case address-choice { + leaf address { + description + "WORD A string specifying the session target"; + type string { + pattern '(loopback:rtp)|(dns:.*)|(sip-server)|(sip-uri)|(ipv4:[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)|(ipv6:\[([0-9A-Fa-f.:])+\](:[0-9]+)?)' { + error-message "Must be of the form (loopback:rtp)|(dns:.*)|(sip-server)|(sip-uri)|(ipv4:[0-9]+.[0-9]+.[0-9]+.[0-9]+(:[0-9]+)?) | ((ipv6:[([0-9A-Fa-f.:])+](:[0-9]+)?))"; + } + } + } + } + case dhcp-choice { + leaf dhcp { + description + "Provision session target using DHCP"; + type empty; + } + } + case registrar-choice { + leaf registrar { + description + "Provision session target using Registration"; + type empty; + } + } + } + } + } + leaf huntstop { + description + "Stop hunting on Dial-Peers"; + when "../type = 'pots' or ../type = 'voip'"; + type boolean; + default "false"; + } + leaf preference { + description + "Configure the preference order of this dial-peer"; + type uint16 { + range "0..10" { + error-message "Input Number is out of range. Should be 1..10"; + } + } + } + uses config-dtmf-relay-grouping { + when "type = 'voip' and session[protocol='sipv2']"; + } + list trunkgroup { + description + "trunk groups associated with this peer"; + key "id"; + leaf id { + description + "Trunk group ID"; + type string { + length "1..64"; + } + } + leaf trunk-group-preference { + description + "trunk group preference value"; + type uint8 { + range "1..64"; + } + } + } + container signaling { + description + "Signaling payload handling"; + when "../type = 'voip'"; + leaf forward { + description + "signaling payload forwarding"; + type enumeration { + enum conditional { + description + "Conditional forwarding of signaling payload"; + } + enum none { + description + "No forwarding of signaling payload"; + } + enum rawmsg { + description + "rawmsg except GTD is permitted to be forwarded"; + } + enum unconditional { + description + "Unconditional forwarding of signaling payload"; + } + } + } + } + container corlist { + description + "set the Class of Restriction lists"; + leaf incoming { + description + "set the incoming Class of Restriction lists"; + type leafref { + path "/ios:native/ios-voice:dial-peer/ios-voice:cor/ios-voice:list/id"; + } + } + leaf outgoing { + description + "set the outgoing Class of Restriction lists"; + type leafref { + path "/ios:native/ios-voice:dial-peer/ios-voice:cor/ios-voice:list/id"; + } + } + } + leaf vad { + description + "Use vad as necessary option"; + when "../type = 'voip'"; + type boolean; + default "true"; + } + container vad-config { + when "../vad = 'true' and ../type = 'voip'"; + container vad { + description + "Use vad as necessary option"; + leaf aggressive { + description + "Aggressive vad"; + type empty; + } + } + } + container destination { + description + "Outbound dial-peer match config"; + leaf dpg { + description + "Configure voice class dpg"; + type leafref { + path "/ios:native/voice/class/dpg/id"; + } + } + container calling { + description + "Match destination calling number"; + leaf e164-pattern-map { + description + "Configure voice class to match destination e164-pattern-map"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:e164-pattern-map/ios-voice:id"; + } + } + } + leaf e164-pattern-map { + description + "Configure voice class to match destination e164-pattern-map"; + when "../../type = 'voip'"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:e164-pattern-map/ios-voice:id"; + } + } + leaf uri { + description + "Configure voice class to match destination URI"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf uri-diversion { + description + "voice class uri to match sip diversion header"; + when "../../type = 'voip' and ../../session[protocol='sipv2']"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf uri-from { + description + "voice class uri to match sip from header"; + when "../../type = 'voip' and ../../session[protocol='sipv2']"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf uri-to { + description + "voice class uri to match sip to header"; + when "../../type = 'voip' and ../../session[protocol='sipv2']"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + leaf uri-via { + description + "voice class uri to match sip via header"; + when "../../type = 'voip' and ../../session[protocol='sipv2']"; + type leafref { + path "/ios:native/ios-voice:voice/ios-voice:class/ios-voice:uri/ios-voice:uri/ios-voice:uritag"; + } + } + } + container sip-register-container { + when "../type = 'pots'"; + choice sip-register-case { + default "sip-register-case"; + case sip-register-case { + leaf sip-register { + description + "Enable SIP registrations - enabled by default"; + type boolean; + default "true"; + } + } + case reg-sync-case { + container reg-sync-container { + leaf sip-register { + description + "Enable SIP registrations - enabled by default"; + type empty; + } + leaf-list reg-sync { + description + "Registration Sync - send REGISTER when registrar up"; + max-elements 6; + type uint32 { + range "1..1073741823"; + } + } + } + } + } + } + container rtp { + description + "RTP config"; + when "../type = 'voip'"; + container payload-type { + description + "Payload type value"; + leaf cisco-codec-aacld { + description + "Cisco codec AACLD"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "112"; + } + leaf cisco-codec-ilbc { + description + "Cisco codec iLBC"; + must "not (../cisco-codec-aacld=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "116"; + } + leaf cisco-codec-isac { + description + "Cisco codec ISAC"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-aacld=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "124"; + } + leaf cisco-codec-mp4a-latm { + description + "Cisco codec MP4A-LATM"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-aacld=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "111"; + } + leaf cisco-codec-video-h263-plus { + description + "RTP video codec H263+ payload type"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-aacld=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "118"; + } + leaf cisco-codec-video-h264 { + description + "RTP video codec H264 payload type"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-aacld=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "119"; + } + leaf nse { + description + "Named Signaling Event"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../cisco-codec-aacld=current()) and + not (../nte=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "100"; + } + leaf opus { + description + "Cisco codec OPUS"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../nte=current()) and + not (../cisco-codec-aacld=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "114"; + } + leaf nte { + description + "Named Telephone Event"; + must "not (../cisco-codec-ilbc=current()) and + not (../cisco-codec-isac=current()) and + not (../cisco-codec-mp4a-latm=current()) and + not (../cisco-codec-video-h263-plus=current()) and + not (../cisco-codec-video-h264=current()) and + not (../nse=current()) and + not (../cisco-codec-aacld=current()) and + not (../opus=current())" { + error-message "value is already in use"; + } + type uint32 { + range "96..127"; + } + default "101"; + } + } + } + container ip { + description + "Set ip packet options"; + when "../type = 'voip'"; + container qos { + description + "Set ip QoS Parameters"; + container dscp-media { + leaf dscp { + description + "Specify ip DSCP"; + type dscp-type; + } + leaf media { + description + "Apply DSCP to media payload packets"; + type empty; + } + } + container dscp-signaling { + leaf dscp { + description + "Specify ip DSCP"; + type dscp-type; + } + leaf signaling { + description + "Apply DSCP to signaling packets"; + type empty; + } + } + container dscp-video { + description + "Specify ip DSCP"; + leaf dscp { + description + "Specify ip DSCP"; + type dscp-type; + } + container video { + description + "Apply DSCP to video packets"; + leaf rsvp-none { + description + "Use this DSCP value if RSVP is not configured"; + type empty; + } + } + } + } + } + container max-conn { + description + "Sets the maximum connections per peer, negation sets to unlimited"; + leaf range { + description + "Maximum connections, negation sets to unlimited"; + type uint64 { + range "1..2147483647"; + } + } + leaf exempt-local-media { + description + "max-conn value will not be updated for local media calls"; + type empty; + } + } + container progress_ind { + description + "Progress Indicator"; + when '../destination-pattern'; + container alert { + description + "Set/Strip Progress Indicator for ALERT"; + uses progress-ind-options-grouping; + } + container callproc { + description + "Set/Strip Progress Indicator for CALLPROC"; + uses progress-ind-options-grouping; + } + container connect { + description + "Set Progress Indicator for CONNECT"; + uses progress-ind-enable-disable-grouping; + } + container progress { + description + "Set Progress Indicator for PROGRESS"; + uses progress-ind-enable-disable-grouping; + } + container disconnect { + description + "Set Progress Indicator for DISCONNECT."; + leaf disable { + description + "Disable Progress Indicator for DISCONNECT"; + type empty; + } + leaf enable { + description + "Enable Progress Indicator for DISCONNECT"; + type enumeration { + enum 8; + } + } + } + container setup { + description + "Set Progress Indicator for SETUP"; + leaf disable { + description + "Disable Progress Indicator for PROG/CONN/CALLPROC"; + type empty; + } + leaf enable { + description + "Enable Progress Indicator for PROG/CONN/CALLPROC"; + type enumeration { + enum 0; + enum 1; + enum 3; + } + } + } + } + container codec { + description + "The codec rate to be attempted in getting to this peer"; + when "../type = 'voip'"; + leaf transparent { + description + "Uses the endpoint codec"; + type empty; + } + } + leaf answer-address { + description + "The Call Destination Number"; + when "../type = 'pots' or ../type = 'voip'"; + type config-answer-address; + } + leaf media-class { + description + "Set Dial-peer media class"; + type leafref { + path "/ios:native/ios-voice:media/ios-voice:class/ios-voice:id"; + } + } + leaf service { + description + "The selected Dial peer service"; + type config-dialpeer-service-name; + } + } + container cor { + description + "Class of Restriction"; + container custom { + description + "Define custom Class of Restriction"; + leaf-list name { + description + "name of Class of Restriction"; + max-elements 64; + type string { + length "1..32"; + } + } + } + list list { + description + "Define List of Class of Restriction"; + max-elements 64; + key "id"; + leaf id { + description + "name of Class of Restriction list"; + type string { + length "1..32"; + pattern '([0-9,A-Z,a-z-]*T?)' { + error-message + "Incorrect format for dial-peer cor list + regular expression must be of the form [0-9,A-Z,a-z-]*T?"; + } + } + } + leaf-list member { + description + "member in COR list"; + max-elements 64; + type leafref { + path "/ios:native/ios-voice:dial-peer/ios-voice:cor/ios-voice:custom/ios-voice:name"; + } + } + } + } + } + } + + grouping config-num-exp-grouping { + list num-exp { + description + "Dial Map Number Expansion configuration commands"; + max-elements 128; + key "id"; + leaf id { + description + "Dialed Digit Pattern - A Regular Expression String"; + type config-digit-pattern; + } + leaf dialled-pattern { + description + "Substitution Pattern to Translate Dialed Pattern to E.164"; + type config-digit-pattern; + } + } + } + + grouping config-dsapp-line-grouping { + container dsapp { + description + "Configure Device Service Application"; + leaf line { + description + "Configure DSAPP Line"; + type empty; + } + container dsappline { + container line { + description + "Configure DSAPP Line"; + container feature { + description + "Specify the format of each call feature code"; + container access-code { + description + "Specify the format of feature access code"; + presence "true"; + leaf prefix { + description + "Select feature access code prefix string"; + type string { + pattern '[\*#]{1,5}'; + } + default "**"; + } + container call { + description + "Select call forward feature"; + container forward { + description + "Select call forward all feature"; + leaf all { + description + "Select call forward all feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "1"; + } + leaf cancel { + description + "Select call forward cancel feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "2"; + } + } + } + container pickup { + description + "Select call pickup feature code"; + leaf local { + description + "Select pickup local group feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "5"; + } + leaf group { + description + "Select pickup different group feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "7"; + } + leaf direct { + description + "Select pickup extension feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "6"; + } + } + leaf cancel-call-waiting { + description + "Select cancel call waiting feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "9"; + } + leaf last-redial { + description + "Select last redial feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "3"; + } + container hunt-group { + description + "Hunt-group login-logout toggle"; + leaf login-logout { + description + "Hunt-group login-logout toggle"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "8"; + } + } + leaf forward-to-voicemail { + description + "Forward to voicemail feature code"; + type string { + pattern '[0-9\*#]{1,4}'; + } + default "4"; + } + } + container callback { + description + "Callback parameters"; + presence "true"; + leaf activation-key { + description + "Callback activation key sequence"; + type string { + pattern '[*#][0-9\*#]{1,4}'; + } + default "#1"; + } + leaf ringing-timeout { + description + "Callback ringing timeout in seconds"; + type uint8 { + range "5..60"; + } + default "30"; + } + } + leaf voice-mail { + description + "Voicemail feature code"; + type string { + pattern '[0-9]{1,11}'; + } + } + } + container call-control { + description + "Dsappline call control mode"; + container mode { + description + "Dsappline call control mode"; + container feature { + description + "Call control feature mode"; + presence "true"; + leaf conference { + description + "Code for conference"; + type string { + pattern '[*#][0-9\*#]{1,3}'; + } + default "#5"; + } + leaf toggle-between-two-calls { + description + "Code for toggle between two calls"; + type string { + pattern '[*#][0-9\*#]{1,3}'; + } + default "#4"; + } + leaf transfer { + description + "Code for transfer"; + type string { + pattern '[*#][0-9\*#]{1,3}'; + } + default "#1"; + } + } + } + } + } + } + } + } + + grouping config-ccm-manager-grouping { + container ccm-manager { + description + "Call Manager"; + container sipana { + description + "Enable Call Manager Application SIP Line Side mode"; + container auto-config { + description + "SIP line side auto configuration"; + container local { + description + "Specify local interface to use for SIP analog device registration"; + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type leafref { + path "/ios:native/ios:interface/ios:GigabitEthernet/ios:name"; + } + } + } + } + } + container config { + description + "XML download configuration"; + leaf server { + description + "set the Call Manager configuration download TFTP server address/name"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + type inet:domain-name; + } + } + } + } + } + + grouping config-trunk-group-grouping { + container trunk { + description + "Global trunk configuration"; + list group { + description + "Specify a trunk group"; + key "id"; + leaf id { + description + "Trunk group label"; + type string { + length "1..64"; + } + } + container hunt-scheme { + description + "The hunt scheme in trunk group"; + presence "true"; + leaf hunt-method { + description + "hunt scheme method"; + type enumeration { + enum least-idle; + enum least-used; + enum longest-idle; + enum random; + enum round-robin; + enum sequential; + } + } + leaf precedence-type { + when "../hunt-method != 'random'"; + description + "hunt time slot order"; + type enumeration { + enum both; + enum even; + enum odd; + } + } + leaf select-order { + description + "Time slot selection order"; + when "../precedence-type and not(../hunt-method = 'least-idle' or + ../hunt-method = 'longest-idle')"; + type enumeration { + enum down; + enum up; + } + } + } + leaf max-retry { + description + "Maximum number of outgoing call attempts"; + type uint8 { + range "1..5"; + } + } + list max-calls { + description + "Maximum number of calls allowed"; + key "call-type direction"; + leaf call-type { + description + "Call type"; + type enumeration { + enum any; + enum data; + enum voice; + } + } + leaf direction { + description + "Specify direction of calls"; + type enumeration { + enum in; + enum out; + } + } + leaf num-call { + description + "Specify number of calls allowed"; + type uint16 { + range "0..1000"; + } + } + } + uses config-voice-translation-profile-grouping; + } + } + } + + grouping config-gateway-grouping { + container gateway { + description + "Gateway"; + presence "true"; + container media-inactivity-criteria { + description + "Define voice media inactivity detection method"; + choice media-detection-method { + case media-all { + container all { + description + "Both RTP and RTCP for silence detection"; + presence "true"; + leaf receive { + description + "Only for the packets received"; + type empty; + } + } + } + case media-rtcp { + leaf rtcp { + description + "Use RTCP for silence detection"; + type empty; + } + } + case media-rtp { + container rtp { + description + "Use RTP stream for silence detection, this is default"; + presence "true"; + leaf receive { + description + "Only for the packets received"; + type empty; + } + } + } + case media-rtplib { + leaf rtplib { + description + "Use RTP ( comfort noise = activity) for silence detection"; + type empty; + } + } + } + } + container timer { + description + "Gateway-wide timers"; + choice media-type { + case inactive { + container media-inactive { + description + "(dsp based) configure media inactivity timer- available for h323/sip only at this time"; + leaf media-trans-interval { + description + "multiples of RTCP report transmission interval. Value of 5 Recommended"; + type uint16 { + range "4..1000"; + } + } + } + } + case rtcp { + container receive-rtcp { + description + "(non-dsp based) configure media inactivity timer- available for h323/sip only at this time"; + leaf rtcp-trans-interval { + description + "multiples of RTCP report transmission interval. Value of 5 Recommended"; + type uint16 { + range "4..1000"; + } + } + } + } + } + container receive-rtp { + description + "configure absolute RTP receive timer in seconds"; + leaf rtp-timer-interval { + description + "RTP timer in seconds. Value of 1200 Recommended"; + type uint32 { + range "180..86400"; + } + } + } + } + } + } + + grouping config-application-grouping { + container application { + description + "Define application"; + list service { + description + "Configure standalone application"; + key "service-name"; + leaf service-name { + description + "Name of the service/package"; + type config-application-service-name; + } + list param { + description + "Application parameter (current paramspace implied)"; + key "param-name"; + leaf param-name { + description + "Parameter name"; + type string; + } + leaf param-value { + description + "Value for the parameter"; + type string; + } + } + } + list package { + description + "Configure linkable package"; + key "package-name"; + leaf package-name { + description + "Name of the service/package"; + type enumeration { + enum auth; + } + } + uses config-package-auth-param-grouping; + } + container global { + description + "Configure global application settings"; + container service { + description + "Global services configuration"; + leaf alternate { + description + "Define alternate service to use if configured service is unavailable"; + type config-application-service-name; + } + leaf default { + description + "Define default service for use when none configured via dial-peer"; + type config-application-service-name; + } + } + } + } + } + + grouping config-wsapi-secureWsapi-grouping { + container message-exchange { + description + "message exchange"; + leaf max-failures { + description + "max failures"; + type uint8 { + range "1..100"; + } + default "1"; + } + } + leaf response-timeout { + description + "response timeout for outbound solicit and notify"; + type uint16 { + range "1..300"; + } + } + leaf source-address { + description + "source address in IP address or hostname"; + type string; + } + container probing { + description + "probing"; + leaf max-failures { + description + "max-failures"; + type uint8 { + range "1..5"; + } + default "3"; + } + container interval { + description + "interval"; + leaf keepalive { + description + "interval during probing keepalive state"; + type uint8 { + range "1..255"; + } + default "120"; + } + leaf negative { + description + "interval during probing negative state"; + type uint8 { + range "1..20"; + } + default "5"; + } + } + } + } + + grouping config-uc-grouping { + container uc { + description + "Unified Communication"; + container wsapi { + must 'not(../secure-wsapi)' { + error-message "Error: remove existing wsapi secure mode configuration first"; + } + presence "true"; + uses config-wsapi-secureWsapi-grouping; + container provider { + description + "Provider"; + container xcc { + description + "wsapi xcc"; + presence "true"; + leaf remote-url { + description + "A string URL"; + type string; + } + leaf shutdown { + description + "shutdown"; + type boolean; + default "false"; + } + } + container xmf { + description + "wsapi xmf"; + presence "true"; + list remote-url { + key "url-index"; + unique "url-string"; + leaf url-index { + type uint16 { + range "1..32"; + } + } + leaf url-string { + type string; + } + } + leaf shutdown { + description + "shutdown"; + type boolean; + default "false"; + } + } + container xcdr { + description + "wsapi xcdr"; + presence "true"; + uses config-uc-wsapi-remote-url; + } + container xsvc { + description + "wsapi xsvc"; + presence "true"; + uses config-uc-wsapi-remote-url; + } + } + } + container secure-wsapi { + must 'not(../wsapi)' { + error-message "Error: Remove existing wsapi non-secure mode configuration first"; + } + presence "true"; + uses config-wsapi-secureWsapi-grouping; + container provider { + description + "Provider"; + container xcc { + description + "wsapi xcc"; + presence "true"; + leaf remote-url { + description + "A string URL"; + type string { + pattern 'https://([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)/(\S+)' { + error-message "invalid url: expected https://[:][/]"; + } + } + } + leaf shutdown { + description + "shutdown"; + type boolean; + default "false"; + } + } + container xsvc { + description + "wsapi xsvc"; + presence "true"; + container remote-url { + leaf url-index { + type enumeration { + enum 1; + } + } + leaf url-string { + description + "A string URL"; + when "../url-index = '1'"; + type string { + pattern 'https://([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(:[0-9]+)?)/(\S+)' { + error-message "invalid url: expected https://[:][/]"; + } + } + } + } + leaf shutdown { + description + "shutdown"; + type boolean; + default "false"; + } + } + } + } + } + } + + grouping config-http-grouping { + container http { + description + "HTTP Config"; + container client { + description + "HTTP Client Config"; + container connection { + description + "Configure HTTP Client connection"; + container idle { + description + "Configure connection idle time allowed"; + leaf timeout { + description + "A connection will be closed if it is left idle for this long"; + type uint32 { + range "1..600"; + } + default "5"; + } + } + leaf persistent { + description + "Enable HTTP persistent connections"; + type empty; + } + leaf timeout { + description + "How long HTTP Client waits for a server connection to establish before giving up"; + type uint16 { + range "1..60"; + } + } + } + container secure-ciphersuite { + description + "Secure encryption ciphersuite"; + leaf null-md5 { + description + "Encryption type tls_rsa_with_null_md5 (TLS 1.0) ciphersuite"; + type empty; + } + leaf rc4-128-md5 { + description + "Encryption type tls_rsa_with_rc4_128_sha (TLS 1.0) ciphersuite"; + type empty; + } + leaf rc4-128-sha { + description + "Encryption type tls_rsa_with_aes_cbc_128_sha (TLS 1.0) ciphersuite"; + type empty; + } + leaf des-cbc-sha { + description + "Encryption type tls_rsa_with_des_cbc_sha (TLS 1.0) ciphersuite"; + type empty; + } + leaf aes-128-cbc-sha { + description + "Encryption type tls_rsa_with_aes_128_cbc_sha + (TLS 1.2 & below) ciphersuite"; + type empty; + } + leaf dhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_cbc_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + leaf ecdhe-ecdsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_ecdsa_with_aes_gcm_sha2 + (TLS 1.2) ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-cbc-sha2 { + description + "Encryption type tls_ecdhe_rsa_with_aes_cbc_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + leaf ecdhe-rsa-aes-gcm-sha2 { + description + "Encryption type tls_ecdhe_rsa_with_aes_gcm_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + leaf rsa-aes-cbc-sha2 { + description + "Encryption type tls_rsa_with_aes_cbc_sha2 (TLS 1.2) ciphersuite"; + type empty; + } + leaf tls13-aes128-gcm-sha256 { + description + "Encryption type tls13_aes128_gcm_sha256 (TLS 1.3) ciphersuite"; + type empty; + } + leaf tls13-aes256-gcm-sha384 { + description + "Encryption type tls13_aes256_gcm_sha384 (TLS 1.3) ciphersuite"; + type empty; + } + leaf tls13-chacha20-poly1305-sha256 { + description + "Encryption type tls13_chacha20_poly1305_sha256 (TLS 1.3) ciphersuite"; + type empty; + } + } + } + } + } + + grouping config-codec-profile-grouping { + container codec { + description + "Global codec profile commands"; + list profile { + description + "Codec profile configuration"; + max-elements 1000000; + key "id"; + leaf id { + description + "Profile tag for the Codec"; + type uint32 { + range "1..1000000"; + } + } + leaf codec-type { + description + "Specify the codec for this profile"; + type enumeration { + enum aacld; + enum h263; + enum h263+; + enum h264; + enum mp4a-latm; + enum opus; + } + } + container clock-rate { + description + "Set clock rate for codec"; + when "../codec-type != 'opus'"; + leaf range { + type uint32 { + range "0..1000000"; + } + default "0"; + } + } + container fmtp { + description + "Set fmtp string for this codec"; + leaf fmtp-string { + description + "Format: fmtp: =;=..."; + type string; + } + } + } + } + } + + grouping config-call-threshold-grouping { + container low { + description + "the low threshold"; + leaf low-percentage { + description + "low threshold in %"; + type uint8 { + range "1..100"; + } + } + container high { + description + "the high threshold"; + leaf high-percentage { + description + "high threshold in %"; + must '../../low-percentage <= .' { + error-message "Wrong input: low > high , please reenter:"; + } + type uint8 { + range "1..100"; + } + } + leaf busyout { + description + "busyout the voice interfaces if out-of-resource"; + type empty; + } + leaf treatment { + description + "apply out-of-resource to call treatment"; + type empty; + } + } + } + } + + grouping config-call-parameters-grouping { + container call { + description + "Configure Call parameters"; + container threshold { + description + "Configure the threshold for used resources"; + container global { + description + "the global resources of this gateway"; + container cpu-5sec { + description + "the CPU utilization in the last 5 seconds"; + uses config-call-threshold-grouping; + } + container cpu-avg { + description + "the average CPU utilization"; + uses config-call-threshold-grouping; + } + container io-mem { + description + "the IO memory utilization"; + uses config-call-threshold-grouping; + } + container proc-mem { + description + "the Processor memory utilization"; + uses config-call-threshold-grouping; + } + container total-calls { + description + "the total number of calls"; + uses config-call-threshold-grouping; + } + container total-mem { + description + "the total memory utilization"; + uses config-call-threshold-grouping; + } + } + container poll-interval { + description + "the poll interval for some resources"; + leaf cpu-avg { + description + "the CPU average interval"; + type uint16 { + range "10..300"; + } + } + leaf memory { + description + "the memory average polling interval"; + type uint8 { + range "1..60"; + } + } + } + } + container spike { + description + "Configure the threshold for call spiking"; + leaf incoming-call { + description + "Incoming call numbers for spiking threshold"; + type uint32 { + range "1..2147483647"; + } + } + container steps { + description + "number of steps for spiking sliding window"; + leaf num-steps { + description + "number of steps"; + type uint8 { + range "3..10"; + } + } + leaf size { + description + "step size in millisecond"; + type uint8 { + range "100..250"; + } + } + } + } + container treatment { + description + "Configure the treatment"; + container action { + description + "Action to take when call treatment is triggered"; + leaf hairpin { + description + "Hairpin"; + type empty; + } + leaf playmsg { + description + "play the selected message"; + type string; + } + leaf reject { + description + "Disconnect the call and pass down cause code"; + type empty; + } + } + container cause-code { + description + "Select the cause code for disconnection"; + leaf busy { + description + "Insert cause code indicating the GW is busy (17)"; + type empty; + } + leaf no-QoS { + description + "Insert cause code indicating the GW can't provide QOS (49)"; + type empty; + } + leaf no-resource { + description + "Insert cause code indicating the GW has no resource (47)"; + type empty; + } + } + container isdn-reject { + description + "Select the ISDN reject cause-code"; + leaf cause-code { + description + "ISDN cause code for rejection"; + type uint8 { + range "34..47"; + } + } + } + leaf on { + description + "toggle deny on/off"; + type empty; + } + } + } + } + + grouping config-failure-grouping { + leaf failure { + description + "Call failure"; + type uint16 { + range "400..699"; + } + } + } + + grouping config-error-code-override-grouping { + container error-code-override { + description + "Configure sip error code"; + container cac-bandwidth { + description + "Status code to be sent for max-bandwidth CAC"; + uses config-failure-grouping; + } + container call { + description + "Configure call parameters"; + container spike { + description + "Status code to be sent for call spiking"; + uses config-failure-grouping; + } + } + container cpu { + description + "Status code to be sent for all cpu threshold"; + uses config-failure-grouping; + } + container max-conn { + description + "Status code to be sent for max-conn threshold"; + uses config-failure-grouping; + } + container mem { + description + "Status code to be sent for all memory threshold"; + uses config-failure-grouping; + } + container options-keepalive { + description + "Status code to be sent for options keepalive"; + uses config-failure-grouping; + } + container sip-shutdown { + description + "Status code to be sent for all SIP Shutdown"; + uses config-failure-grouping; + } + container total-calls { + description + "Status code to be sent for total call threshold"; + uses config-failure-grouping; + } + } + } + + grouping config-credentials-grouping { + container credentials { + description + "credentials service"; + presence "true"; + leaf trustpoint { + description + "define trustpoint for credentials service user"; + type string { + length "1..142"; + } + } + container ip { + description + "Define IP address and port for credentials service"; + leaf source-address { + description + "Define IP address and port for credentials service"; + type inet:ipv4-address; + } + leaf port { + description + "Define tcp port for credentials service"; + type uint16 { + range "2000..9999"; + } + default "2445"; + } + } + } + } + + grouping config-package-auth-param-grouping { + container param { + description + "Configure param name"; + leaf passwd-prompt { + description + "Announcement URL to request password"; + type string; + } + leaf passwd { + description + "Predefined passwd for authorization"; + type string; + } + leaf user-prompt { + description + "Announcement URL to request account"; + type string; + } + leaf term-digit { + description + "Digit for terminating Account/Password digit collection"; + type string; + default "#"; + } + leaf abort-digit { + description + "Digit for aborting Account/Password digit collection"; + type string; + default "*"; + } + leaf max-retries { + description + "Attempts to reenter Account/Password"; + type uint16; + default "0"; + } + leaf max-digits { + description + "MAX collect digits in Account/Password"; + type uint16; + default "32"; + } + list param-name { + description + "param list"; + key "name"; + leaf name { + description + "Parameter name"; + type string; + } + leaf value { + description + "value"; + type string; + } + } + } + } + + grouping config-conn-reuse-srtp-nat-grouping { + leaf conn-reuse { + description + "reuse the sip registration tcp connection for the end-point behind a Firewall"; + type empty; + } + container srtp { + description + "Allow SIP related SRTP options"; + container negotiate { + description + "SRTP negotiate options"; + leaf cisco { + description + "allow RTP answer to SRTP offer"; + type empty; + } + } + } + container nat-config { + description + "Global SIP nat"; + choice nat-choice { + description + "Nat choices"; + case force-on-case { + description + "Force-on option"; + leaf force-on { + description + "All remote subscribers behind NAT device"; + type empty; + } + } + case auto-case { + description + "Auto option"; + leaf auto { + description + "Subscriber as auto detect in a remote subnet behind a NAT"; + type empty; + } + } + case media-keepalive-case { + description + "Media-keepalive option"; + container media-keepalive { + description + "Media keepalive messages to peer subscribers outside NAT"; + presence "true"; + leaf interval { + description + "Keepalive interval"; + type uint8 { + range "1..50"; + } + units "seconds"; + default "10"; + } + } + } + } + } + leaf nat { + status deprecated; + description + "SIP nat global config (DEPRECATED)"; + type enumeration { + enum force-on { + description + "Assume all remote subscribers are behind NAT device"; + } + enum auto { + description + "auto-detect subscriber in a remote subnet is located behind a NAT"; + } + } + } + } + + grouping gw-accounting-primary-secondary-grouping { + choice file-transfer-choice { + case ftp-case { + container ftp { + description + "ftp mode of file transfer"; + leaf ftp-server { + type string; + } + leaf username { + description + "Username string"; + type string; + } + container password { + leaf encryption { + type enumeration { + enum 0; + enum 6; + enum 7; + } + } + leaf password-string { + type string { + length "4..80"; + } + } + } + } + } + case sftp-case { + container sftp { + description + "ftp mode of file transfer"; + leaf sftp-server { + type string; + } + leaf username { + description + "Username string"; + type string; + } + container password { + leaf encryption { + type enumeration { + enum 0; + enum 6; + } + } + leaf password-string { + type string { + length "4..80"; + } + } + } + } + } + case ifs-case { + leaf ifs { + description + "Local file system, i.e.,flash/ mem slot device name such as flash: slot0:"; + type string; + } + } + } + } + + grouping config-gw-accounting-grouping { + container gw-accounting { + description + "Enable voip gateway accounting."; + container file { + description + "Enable voip file accounting."; + presence "true"; + container acct-template { + description + "Select accounting template"; + choice template-choice { + case config-name { + leaf template-name { + description + "Accounting template name"; + type string; + } + } + case define-name { + leaf callhistory-detail { + description + "To send all voice attributes for accounting."; + type empty; + } + } + } + } + leaf cdr-format { + description + "CDR format for file mode of accounting"; + type enumeration { + enum compact; + enum detailed; + } + } + container maximum { + description + "Specify maximum value of file accounting parameters"; + leaf buffer-size { + description + "Specify account buffer size"; + type uint8 { + range "6..40"; + } + default "20"; + } + leaf cdrflush-timer { + description + "Specify file mode accounting file cdr flush timer in minutes"; + type uint16 { + range "1..1435"; + } + default "60"; + } + leaf fileclose-timer { + description + "Specify file mode accounting file closing timer in minutes"; + type uint16 { + range "60..1440"; + } + default "1440"; + } + leaf filesize { + description + "Specify cdr file size"; + type uint16 { + range "10..10000"; + } + } + leaf retry-count { + description + "Specify dump file account retry count"; + type uint8 { + range "1..5"; + } + } + } + container primary { + description + "Primary file storage url"; + uses gw-accounting-primary-secondary-grouping; + } + container secondary { + description + "Secondary file storage url"; + uses gw-accounting-primary-secondary-grouping; + } + } + } + } + + augment "/ios:native" { + uses config-sip-ua-grouping; + uses config-voice-grouping; + uses config-voice-call-manager-fallback-grouping; + uses config-voice-card-grouping; + uses config-dial-peer-grouping; + uses config-dspfarm-profile-grouping; + uses config-sccp-grouping; + uses config-dsapp-line-grouping; + uses config-ccm-manager-grouping; + uses config-trunk-group-grouping; + uses config-num-exp-grouping; + uses config-gateway-grouping; + uses config-application-grouping; + uses config-uc-grouping; + uses config-http-grouping; + uses config-codec-profile-grouping; + uses config-call-parameters-grouping; + uses config-media-grouping; + uses config-credentials-grouping; + uses config-gw-accounting-grouping; + uses config-stcapp-grouping; + } + + augment "/ios:native/sip-ua" { + uses config-registrar-grouping; + uses config-connection-reuse-grouping; + } + + augment "/ios:native/voice/class/tenant" { + uses config-authentication; + uses config-credentials; + uses config-error-code-override-grouping; + uses config-conn-reuse-srtp-nat-grouping; + uses config-sip-ua-common-grouping; + container retry { + description + "Change default retries for each SIP Method"; + uses config-sip-retry-timers-grouping; + } + container timers { + description + "SIP Signaling Timers Configuration"; + uses config-sip-signaling-timers-grouping; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vpdn.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vpdn.yang new file mode 100644 index 000000000..6e9a43205 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vpdn.yang @@ -0,0 +1,75 @@ +module Cisco-IOS-XE-vpdn { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vpdn"; + prefix ios-vpdn; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Virtual Private Dialup Network (VPDN) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-vpdn-grouping { + container vpdn { + description + "Virtual Private Dialup Network"; + leaf authen-before-forward { + description + "Authenticate a user locally before tunnelling"; + type empty; + } + leaf enable { + description + "Enable VPDN"; + type empty; + } + leaf-list search-order { + ordered-by user; + description + "Configure the order to search different VPDN tunnel types"; + type enumeration { + enum dnis; + enum domain; + enum multihop-hostname; + } + } + } + } + + augment "/ios:native" { + uses config-vpdn-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrf-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrf-oper.yang new file mode 100644 index 000000000..9846559a2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrf-oper.yang @@ -0,0 +1,119 @@ +module Cisco-IOS-XE-vrf-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrf-oper"; + prefix vrf-ios-xe-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for IOS-XE VRF operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-09-10 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef vrf-af { + type enumeration { + enum ipv4-unicast { + value 0; + description + "Address family ipv4 unicast"; + } + enum ipv6-unicast { + value 1; + description + "Address family ipv6 unicast"; + } + enum ipv4-multicast { + value 2; + description + "Address family ipv4 multicast"; + } + enum ipv6-multicast { + value 3; + description + "Address family ipv6 multicast"; + } + } + description + "VRF address family types"; + } + + grouping vrf-af-entry { + description + "VRF address family operational data"; + leaf address-family { + type vrf-ios-xe-oper:vrf-af; + description + "Address family enabled on this VRF"; + } + } + + grouping vrf-entry { + description + "VRF entry to store operational data"; + leaf vrf-name { + type string; + description + "Unique name of this VRF"; + } + leaf-list interface { + type string; + ordered-by user; + description + "List of interfaces using this VRF"; + } + list address-family-entry { + description + "List of address family data for this VRF"; + uses vrf-ios-xe-oper:vrf-af-entry; + } + } + + container vrf-oper-data { + config false; + description + "VRF operational data"; + list vrf-entry { + key "vrf-name"; + description + "VRF entries"; + uses vrf-ios-xe-oper:vrf-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-deviation.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-deviation.yang new file mode 100644 index 000000000..45075d480 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-deviation.yang @@ -0,0 +1,44 @@ +module Cisco-IOS-XE-vrrp-deviation { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrrp-deviation"; + prefix vrrp-d; + + import Cisco-IOS-XE-native { + prefix ios; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems"; + description + "Cisco XE Native Deviation YANG module for IOS + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Removing default value in vrrp leaf"; + cisco-semver:module-version "1.0.0"; + } + + deviation "/ios:native/ios:fhrp/ios:version/ios:vrrp" { + deviate delete { + default "v2"; + } + } + + deviation "/ios:native/ios:fhrp/ios:version/ios:vrrp" { + deviate replace { + type enumeration { + enum v3; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-events.yang new file mode 100644 index 000000000..55c9b9248 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-events.yang @@ -0,0 +1,100 @@ +module Cisco-IOS-XE-vrrp-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrrp-events"; + prefix vrrp-ios-xe-events; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-ios-common-oper { + prefix ios-common-ios-xe-oper; + } + import Cisco-IOS-XE-vrrp-types { + prefix vrrp-ios-xe-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for VRRP BFD State change Notification. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping vrrp-bfd-state-update-data { + description + "VRRP BFD state change Notification"; + leaf severity { + type ios-common-ios-xe-oper:notification-severity; + description + "Event severity"; + } + leaf host-name { + type string; + description + "Host name"; + } + leaf system-ip { + type inet:ip-address; + description + "System IP address"; + } + leaf group-id { + type uint16; + description + "VRRP Group ID"; + } + leaf addr-type { + type common-types-ios-xe:addr-type; + description + "Address family of VRRP group"; + } + leaf if-name { + type string; + description + "Name for the interface where VRRP group is hosted"; + } + leaf bfd-state { + type vrrp-ios-xe-types:vrrp-bfd-state-type; + description + "VRRP BFD state"; + } + } + + notification vrrp-bfd-state-update { + description + "VRRP BFD state change Notification"; + uses vrrp-ios-xe-events:vrrp-bfd-state-update-data; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-oper.yang new file mode 100644 index 000000000..87920fd85 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-oper.yang @@ -0,0 +1,437 @@ +module Cisco-IOS-XE-vrrp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrrp-oper"; + prefix vrrp-ios-xe-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-vrrp-types { + prefix vrrp-ios-xe-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for VRRP operational data. + Copyright (c) 2017-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2021-11-01 { + description + "Added VRRP group state change reasons."; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "Added VRRP Protocol state information with BFD + Session state information."; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-05-10 { + description + "New leaf for secondary addresses"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-12-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef proto-version { + type enumeration { + enum vrrp-v3 { + value 1; + } + } + description + "VRRP protocol version"; + } + + typedef master-reason { + type enumeration { + enum reason-not-master { + value 0; + description + "Router is not in master state"; + } + enum reason-priority { + value 1; + description + "Won the Master election due to higher priority"; + } + enum reason-preempt { + value 2; + description + "Preempted a lower priority Master router"; + } + enum reason-master-no-response { + value 3; + description + "Master router stopped responding"; + } + } + description + "Indicates why this router became master of the VRRP group"; + } + + typedef state-change-reason { + type enumeration { + enum cr-init { + value 0; + description + "VRRP Group is in init state"; + } + enum cr-not-master { + value 1; + description + "VRRP group is not in master state"; + } + enum cr-priority { + value 2; + description + "Elected master due to higher priority"; + } + enum cr-preempt { + value 3; + description + "Preempted by a higher priority router"; + } + enum cr-master-no-response { + value 4; + description + "VRRP master stopped responding"; + } + enum cr-track-up { + value 5; + description + "Track Up reverted to configured priority"; + } + enum cr-track-down { + value 6; + description + "Track Down decrements the priority"; + } + enum cr-down { + value 7; + description + "VRRP group is in DOWN state"; + } + } + description + "Indicates the reason for VRRP group state change"; + } + + typedef vrrp-proto-state { + type enumeration { + enum proto-state-init { + value 1; + description + "Indicates that the virtual router group is waiting for a startup event"; + } + enum proto-state-backup { + value 2; + description + "Indicates that the virtual router is monitoring the availability of a master"; + } + enum proto-state-master { + value 3; + description + "Indicates that the virtual router is forwarding packets for IP addresses that are associated with this router"; + } + enum proto-state-recover { + value 4; + description + "Indicates that the virtual router is under recovery"; + } + } + description + "VRRP group state"; + } + + typedef omp-state-updown { + type enumeration { + enum omp-up { + value 0; + description + "Indicates OMP track is up"; + } + enum omp-down { + value 1; + description + "Indicates OMP track is down"; + } + } + description + "Indicates the state of the Overlay Management Protocol tracking"; + } + + typedef track-state { + type enumeration { + enum vrrp-track-state-resolved { + value 0; + description + "Track is resolved"; + } + enum vrrp-track-state-unresolved { + value 1; + description + "Track is unresolved"; + } + } + description + "Indicates whether the track is resolved"; + } + + grouping vrrp-tracking-object { + description + "VRRP tracking object state"; + leaf track-name { + type string; + description + "Name of the tracking object"; + } + leaf track-obj-state { + type vrrp-ios-xe-oper:track-state; + description + "State of the tracking object"; + } + } + + grouping vrrp-group-state { + description + "VRRP group state"; + leaf version { + type vrrp-ios-xe-oper:proto-version; + description + "VRRP version"; + } + leaf virtual-ip { + type inet:ip-address; + description + "Primary Virtual IP address for the VRRP group"; + } + leaf if-name { + type string; + description + "Name for the interface on which VRRP group is hosted"; + } + leaf vrrp-state { + type vrrp-ios-xe-oper:vrrp-proto-state; + description + "VRRP group state"; + } + leaf virtual-mac { + type yang:mac-address; + description + "Virtual MAC address for the VRRP group"; + } + leaf master-ip { + type inet:ip-address; + description + "IP address of the Master router for the VRRP group"; + } + leaf is-owner { + type boolean; + description + "Whether the router owns the VRRP Primary virtual IP address. When Interface IP address and VRRP Primary virtual IP address are the same for this router, its priority is bumped up to 255"; + } + leaf priority { + type uint32; + description + "Specifies the priority value used for VRRP master election process. Valid values are 0 to 255. 0 is used by a current master router to gracefully retire from the vrrp group. 255 indicates the master router also owns the VRRP virtual IP address"; + } + leaf advertisement-timer { + type uint32; + description + "Time interval between hello packets sent by the master router in milliseconds"; + } + leaf master-down-timer { + type uint32; + description + "Time after which a backup router declares the current master to be down in milliseconds"; + } + leaf skew-time { + type uint32; + description + "Time to skew Master Down Interval in milliseconds"; + } + leaf preempt { + type boolean; + description + "Controls whether a higher priority virtual router will preempt a lower priority master"; + } + leaf master-transitions { + type uint32; + description + "Number of master transitions that have happened in the VRRP group"; + } + leaf new-master-reason { + type vrrp-ios-xe-oper:master-reason; + description + "Indicates the reason for VRRP group state change"; + } + leaf last-state-change-time { + type yang:date-and-time; + description + "Time when state of the VRRP group last changed"; + } + leaf adv-interval-errors { + type uint32; + description + "Total number of VRRP packets that arrived with advertisement interval different to the configured value"; + } + leaf ip-ttl-errors { + type uint32; + description + "Total number of VRRP packets received by the virtual router with IPv4 TTL (for VRRP over IPv4) or IPv6 Hop Limit (for VRRP over IPv6) not equal to 255"; + } + leaf rcvd-pri-zero-pak { + type uint32; + description + "Total number of VRRP packets received with priority 0"; + } + leaf sent-pri-zero-pak { + type uint32; + description + "Total number of VRRP packets sent with priority 0"; + } + leaf rcvd-invalid-type-pak { + type uint32; + description + "Total number of VRRP packets received with invalid Type field"; + } + leaf addr-list-errors { + type uint32; + description + "Total number of VRRP packets received with address not matching the address list locally configured on the router"; + } + leaf pak-len-errors { + type uint32; + description + "Total number of VRRP packets received with length less that VRRP header length"; + } + leaf discontinuity-time { + type yang:date-and-time; + description + "Indicates the last time when a discontinuity happened in gathering statistics"; + } + leaf advertisement-sent { + type uint32; + description + "Total number of VRRP packets sent"; + } + leaf advertisement-rcvd { + type uint32; + description + "Total number of VRRP packets received"; + } + list track-list { + description + "Status of list of tracking objects in the group"; + uses vrrp-ios-xe-oper:vrrp-tracking-object; + } + leaf omp-state { + type vrrp-ios-xe-oper:omp-state-updown; + description + "Indicates the state of the Overlay Management protocol tracking"; + } + leaf-list secondary-vip-addresses { + type inet:ip-address; + ordered-by user; + description + "Contains the list of secondary address configured on the group"; + } + leaf bfd-enabled { + type boolean; + description + "BFD peer is enabled for the group"; + } + leaf bfd-state { + type vrrp-ios-xe-types:vrrp-bfd-state-type; + description + "BFD session state for the configured peer IP"; + } + leaf state-change-reason { + type vrrp-ios-xe-oper:state-change-reason; + description + "Indicates why the state of the VRRP group has changed"; + } + } + + grouping vrrp-key { + description + "VRRP key"; + leaf if-number { + type uint32; + description + "IfIndex for the interface on which VRRP group is hosted"; + } + leaf group-id { + type uint32; + description + "VRRP group number"; + } + leaf addr-type { + type common-types-ios-xe:addr-type; + description + "Address family of VRRP group. IPv4 or IPv6 are the two valid values"; + } + } + + container vrrp-oper-data { + config false; + description + "VRRP operational data"; + list vrrp-oper-state { + key "if-number group-id addr-type"; + description + "VRRP operational state"; + uses vrrp-ios-xe-oper:vrrp-key; + uses vrrp-ios-xe-oper:vrrp-group-state; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-types.yang new file mode 100644 index 000000000..77d9f3047 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp-types.yang @@ -0,0 +1,69 @@ +module Cisco-IOS-XE-vrrp-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrrp-types"; + prefix vrrp-ios-xe-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of common YANG definitions + for VRRP BFD operational data. + Copyright (c) 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef vrrp-bfd-state-type { + type enumeration { + enum bfd-none { + value 0; + description + "No BFD session is present."; + } + enum bfd-inactive { + value 1; + description + "VRRP BFD State is Inactive"; + } + enum bfd-down { + value 2; + description + "VRRP BFD State is Down"; + } + enum bfd-up { + value 3; + description + "VRRP BFD State is Up"; + } + } + description + "VRRP BFD State "; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp.yang new file mode 100644 index 000000000..efe3d10e5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vrrp.yang @@ -0,0 +1,612 @@ +module Cisco-IOS-XE-vrrp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vrrp"; + prefix ios-vrrp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + import Cisco-IOS-XE-features { + prefix ios-features; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native VRRP Yang model. + Copyright (c) 2017-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Increased Track id range to 1..32767"; + cisco-semver:module-version "1.7.0"; + } + revision 2024-03-01 { + description + "- CLI configuration for VRRP on TwentyFiveGigE interfaces"; + cisco-semver:module-version "1.6.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-03-01 { + description + "- Fixed indentation in the file"; + cisco-semver:module-version "1.4.1"; + } + revision 2021-11-01 { + description + "- Added container for tloc-change + - Added tailf:cli-delete-when-empty in list secondary of container address + - Deprecated preempt and preempt-config and added a new container"; + cisco-semver:module-version "1.4.0"; + } + revision 2021-07-01 { + description + "- Moved vrrp-group when condition to annotation file + - CLI configuration for VRRP on 2 Gigabit Ethernet interface + - Added container for tloc-change + - CLI configuration for VRRP enabled on Port-Channel sub-interface"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "- Added container for bfd peer"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + "Removed presence from some containers"; + cisco-semver:module-version "1.0.1"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2018-08-15 { + description + "Revise the model for vrrp ip primary/secondary in vrrp-group-v2"; + } + revision 2018-08-07 { + description + "Remove tailf:cli-incomplete-no in list vrrp-group-v2"; + } + revision 2018-07-27 { + description + "Modify container preempt for both version"; + } + revision 2018-06-28 { + description + "Add support for VRRP version 2"; + } + revision 2018-05-30 { + description + "Add cli-delete-when-empty for track omp"; + } + revision 2018-05-16 { + description + "Support match-address and preempt with no form of the command only + included in the CLI show output when explicitly disabled"; + } + revision 2018-05-09 { + description + "Remove tailf:cli-show-no from match-address and preempt"; + } + revision 2018-04-11 { + description + "Add mandatory true for track interface choice action."; + } + revision 2018-02-15 { + description + "Add primary leaf for IPv4 VRRP group address."; + } + revision 2018-01-02 { + description + "Initial version"; + } + + grouping config-interface-vrrp-grouping { + container vrrp { + description + "Configure VRRP"; + list vrrp-group { + key "group-id"; + leaf group-id { + description + "VRRP group number"; + type uint8 { + range "1..255"; + } + } + container address-family { + description + "Address family of the group"; + container ipv4 { + description + "IPv4 Address family"; + presence "Enable IPv4 address-family for this VRRP group"; + uses config-ipv4-address-grouping; + uses config-common-vrrp-grouping; + } + container ipv6 { + description + "IPv6 Address family"; + presence "Enable IPv6 address-family for this VRRP group"; + uses config-ipv6-address-grouping; + uses config-common-vrrp-grouping; + } + } + } + list vrrp-group-v2 { + description + "vrrp version 2"; + when "/ios:native/ios:fhrp/ios:version/ios:vrrp = 'v2'"; + key "group-id"; + leaf group-id { + description + "VRRP group number"; + type uint8 { + range "1..255"; + } + } + container authentication { + leaf text { + description + "authentication string"; + type string { + length "1..8"; + } + } + } + leaf description { + description + "Up to 80 characters describing this group"; + type string; + } + container ip { + container primary { + leaf address { + type inet:ipv4-address; + } + } + list secondary { + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IPv4 address a secondary address"; + mandatory true; + type empty; + } + } + } + leaf name { + description + "Unique VRRS identifier (max 48 characters)"; + type string; + } + container preempt-config { + leaf preempt { + description + "Enable preemption of lower priority Master"; + type boolean; + default "true"; + } + } + container preempt { + description + "Enable preemption of lower priority Master"; + container delay { + description + "Set time delay before preempting"; + leaf minimum { + description + "Seconds to delay"; + type uint16 { + range "0..3600"; + } + units "seconds"; + } + } + } + leaf priority { + description + "Priority level"; + type uint8 { + range "1..254"; + } + default "100"; + } + leaf shutdown { + type empty; + } + container timers { + container advertise { + choice interval-setting { + description + "Specify the advertise time interval."; + case second { + leaf interval { + type uint8 { + range "1..255"; + } + } + } + case milisecond { + leaf msec { + description + "Advertisement interval in milliseconds"; + type uint16 { + range "50..999"; + } + } + } + } + } + leaf learn { + type empty; + } + } + container track { + list event { + key "object-id"; + leaf object-id { + type uint16 { + range "1..1000"; + } + } + leaf decrement { + description + "Decrement value"; + type uint8 { + range "1..255"; + } + } + } + } + } + container delay { + when "/ios:native/ios:fhrp/ios:version/ios:vrrp = 'v2'"; + leaf reload { + description + "Seconds to delay after reload"; + type uint16 { + range "0..10000"; + } + } + leaf minimum { + description + "Seconds to delay after interface up"; + type uint16 { + range "0..10000"; + } + } + } + } + } + + grouping config-ipv4-address-grouping { + leaf vrrpv2 { + description + "Set VRRPv2 compatibility mode"; + type empty; + } + container address { + description + "Set the IPv4 address of VRRP group"; + container primary { + leaf address { + type inet:ipv4-address; + } + leaf primary { + description + "IPv4 primary address"; + type empty; + } + } + list secondary { + key "address"; + leaf address { + type inet:ipv4-address; + } + leaf secondary { + description + "Make this IPv4 address a secondary address"; + mandatory true; + type empty; + } + } + } + container bfd { + description + "Configure HSRP BFD peer"; + container peer { + leaf address { + type inet:ipv4-address; + } + } + } + } + + grouping config-ipv6-address-grouping { + container address { + description + "Set the IPv6 address of VRRP group"; + container primary { + leaf ipv6-link-local { + description + "IPv6 link-local address"; + type inet:ipv6-address; + } + leaf primary { + description + "IPv6 primary address"; + type empty; + } + } + list ipv6-prefix { + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + } + } + } + container bfd { + description + "Configure HSRP BFD peer"; + container peer { + choice address-setting { + description + "Specify the IPv6 address."; + case link-local { + leaf ipv6-address { + type inet:ipv6-address; + } + } + case prefix { + leaf ipv6-prefix { + type ios-types:ipv6-prefix; + } + } + } + } + } + } + + grouping config-common-vrrp-grouping { + leaf description { + description + "Group description"; + type string { + length "1..80"; + } + } + leaf match-address { + description + "Match addresses in advertisement packet"; + type boolean; + } + container preempt-new { + description + "Enable preemption of lower priority Master"; + choice preempt-choice { + default "preempt"; + leaf preempt { + type boolean; + default "true"; + } + container preempt-delay { + container preempt { + description + "Enable preemption of lower priority Master"; + container delay { + description + "Set time delay before preempting"; + leaf minimum { + description + "Seconds to delay"; + type uint16 { + range "0..3600"; + } + } + } + } + } + } + } + container preempt-config { + status deprecated; + leaf preempt { + status deprecated; + description + "Enable preemption of lower priority Master"; + type boolean; + default "true"; + } + } + container preempt { + status deprecated; + description + "Enable preemption of lower priority Master"; + container delay { + status deprecated; + description + "Set time delay before preempting"; + leaf minimum { + status deprecated; + description + "Seconds to delay"; + type uint16 { + range "0..3600"; + } + units "seconds"; + } + } + } + leaf priority { + description + "Priority level"; + type uint8 { + range "1..254"; + } + default "100"; + } + leaf shutdown { + description + "Shutdown the group"; + type empty; + } + container timers { + description + "Set the VRRP timers"; + leaf advertise { + description + "Advertisement interval in milliseconds"; + type uint16 { + range "100..40950"; + } + units "milliseconds"; + } + } + container track { + list event { + key "object-id"; + leaf object-id { + description + "Specify the tracked object-id"; + type union { + type uint16 { + range "1..32767"; + } + type enumeration { + enum omp; + } + } + } + choice action { + description + "Specify the taken action."; + mandatory true; + case priority { + leaf decrement { + description + "Specify the decrement value from current priority"; + type uint8 { + range "1..255"; + } + } + } + case other { + leaf shutdown { + description + "Shutdown the group"; + type empty; + } + } + } + } + } + container tloc-change { + if-feature "ios-features:vrrp-tloc"; + description + "Change TLOC based on VRRP state"; + leaf increase-preference { + description + "Increase the TLOC preference on VRRP primary"; + type uint32 { + range "1..4294967295"; + } + } + } + container vrrs { + description + "VRRS related commands"; + leaf leader { + description + "Name of VRRS Tag for which this group is the leader"; + type string; + } + } + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-vrrp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-vrrp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vservice.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vservice.yang new file mode 100644 index 000000000..201cfe304 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vservice.yang @@ -0,0 +1,226 @@ +module Cisco-IOS-XE-vservice { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vservice"; + prefix ios-vservice; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Virtual Service Yang model. + Copyright (c) 2016-2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-07-05 { + description + "support fot ip shared host-interface under GigabitEthernet"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-vservice-grouping { + container ip { + description + "ip configured virtual service"; + container shared { + description + "Ip shared host-interface"; + container host-interface { + description + "Ip shared host-interface"; + leaf FastEthernet { + description + "FastEthernet IEEE 802.3"; + type string; + } + leaf TenGigabitEthernet { + description + "Ten Gigabit Ethernet"; + type string; + } + leaf GigabitEthernet { + description + "GigabitEthernet IEEE 802.3z"; + type string; + } + leaf FiveGigabitEthernet { + description + "Five Gigabit Ethernet"; + type string; + } + leaf AppGigabitEthernet { + description + "App-hosting Gigabit Ethernet"; + type string; + } + leaf TwentyFiveGigE { + description + "Twenty Five Gigabit Ethernet"; + type string; + } + leaf TwoGigabitEthernet { + description + "Two Gigabit Ethernet"; + type string; + } + leaf Loopback { + description + "Loopback interface"; + type uint64 { + range "0..2147483647"; + } + } + leaf Vlan { + description + "Vlan interface number"; + type uint16 { + range "1..4094"; + } + } + } + } + } + leaf activate { + description + "Activate configured virtual service"; + type empty; + } + leaf profile { + type string; + } + container vnic { + description + "Guest vnic configuration"; + container gateway { + description + "Gateway interface to connect to the guest vnic"; + list VirtualPortGroup { + description + "Virtual Port Group"; + key "number"; + leaf number { + type uint16 { + range "0..31"; + } + } + container guest { + description + "Configure guest vnic address"; + choice ip-address { + case ipv4-case { + container ip { + description + "Guest vnic IP address"; + leaf address { + description + "Set the IP address of virtual interface on guest"; + type inet:ipv4-address; + } + } + } + case ipv6-case { + container ipv6 { + description + "Guest vnic IPv6 address"; + leaf address { + description + "Set the IPv6 address of virtual interface on guest"; + type inet:ipv6-address; + } + } + } + } + } + } + } + container management { + description + "Gateway interface to connect to the guest vnic"; + leaf GigabitEthernet0 { + description + "Management Ethernet Interface"; + type empty; + } + container guest { + description + "Configure guest vnic address"; + choice ip-address { + case ipv4-case { + container ip { + description + "Guest vnic IP address"; + leaf address { + description + "Set the IP address of virtual interface on guest"; + type inet:ipv4-address; + } + } + } + case ipv6-case { + container ipv6 { + description + "Guest vnic IPv6 address"; + leaf address { + description + "Set the IPv6 address of virtual interface on guest"; + type inet:ipv6-address; + } + } + } + } + } + } + } + } + + augment "/ios:native/ios:virtual-service" { + uses config-vservice-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vstack.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vstack.yang new file mode 100644 index 000000000..2bc87f651 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vstack.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XE-vstack { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vstack"; + prefix ios-vstack; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Cisco Smart Install (VSTACK) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-vstack-grouping { + container vstack { + description + "Configure vstack parameters and enable or disable SmartInstall"; + leaf director { + description + "Configure director's IP address"; + type inet:ipv4-address; + } + } + } + + augment "/ios:native" { + uses config-vstack-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vtp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vtp.yang new file mode 100644 index 000000000..5ed96cd02 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vtp.yang @@ -0,0 +1,190 @@ +module Cisco-IOS-XE-vtp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vtp"; + prefix ios-vtp; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native VLAN Trunk Protocol (VTP) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Defined dependency between vlan and vtp models; + -Added vtp server primary command + -Added dependency for all vtp modes"; + cisco-semver:module-version "1.4.0"; + } + revision 2024-03-01 { + description + "-Deprecated vtp pruning and added vtp pruning-config"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-11-01 { + description + "-Update vtp default version"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-11-07 { + description + "Cleanup spelling errors in description statements"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping device-modes { + leaf mst { + description + "Set the mode for MST VTP instance"; + type empty; + } + leaf unknown { + description + "Set the mode for unknown VTP instances"; + type empty; + } + leaf vlan { + description + "Set the mode for VLAN VTP instance"; + type empty; + } + } + + grouping config-vtp-grouping { + leaf file { + description + "Configure IFS filesystem file where VTP configuration is stored."; + type string; + } + container interface { + description + "Configure Interface as the preferred source for the VTP IP updater address"; + leaf interface-name { + description + "The name of the interface providing the VTP updater ID for this device"; + type string; + } + leaf only { + description + "Use only this interface's IP address as the VTP IP updater address"; + type empty; + } + } + container password { + description + "Set the password for the VTP administrative domain"; + leaf password { + description + "The ascii password for the VTP administrative domain"; + type string; + } + leaf hidden { + description + "Set the VTP password hidden option"; + type empty; + } + leaf secret { + description + "Specify the vtp password in encrypted form"; + type empty; + } + } + leaf pruning-config { + description + "Set the administrative domain to permit pruning"; + type boolean; + default "false"; + } + leaf pruning { + status deprecated; + description + "Set the administrative domain to permit pruning"; + type empty; + } + leaf version { + description + "Set the administrative domain to VTP version"; + type uint8 { + range "1..3"; + } + default "1"; + } + leaf domain { + description + "Set the name of the VTP administrative domain."; + type string; + } + container mode { + description + "Configure VTP device mode"; + container client { + description + "Set the device to client mode"; + presence "true"; + uses device-modes; + } + container off { + description + "Set the device to off mode"; + presence "true"; + uses device-modes; + } + container server { + description + "Set the device to server mode"; + presence "true"; + uses device-modes; + } + container transparent { + description + "Set the device to transparent mode"; + presence "true"; + uses device-modes; + } + } + container server { + description + "Make the system as the primary server"; + leaf primary { + description + "Do not check for conflicting devices"; + type empty; + } + } + } + + augment "/ios:native/ios:vtp" { + uses config-vtp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-vxlan.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-vxlan.yang new file mode 100644 index 000000000..0fe457078 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-vxlan.yang @@ -0,0 +1,519 @@ +module Cisco-IOS-XE-vxlan { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-vxlan"; + prefix ios-vxlan; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Virtual Extensible Local Area Network (VXLAN) Yang Model. + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-11-01 { + description + "- Add default-mac-source in vxlan route profile"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-03-01 { + description + "Add vxlan static route support"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-02-25 { + description + "Initial revision"; + } + + typedef vxlan-source-port-hash-type { + type enumeration { + enum 3-tuple { + description + "UDP source port hash with 3 tuples"; + } + enum 3-tuple-for-fragments { + description + "UDP source port hash with 3 tuples for fragments and 5 tuples for non-fragments"; + } + } + } + + typedef vxlan-tunnel-mode-type { + type enumeration { + enum vxlan-default-mac { + description + "Configure vxlan default mac mode for VxLAN route profile"; + } + enum vxlan-gpe { + description + "Configure vxlan gpe mode for VxLAN route profile"; + } + } + } + + grouping vxlan-source-port-range-grouping { + container range { + leaf start { + description + "Source port range start"; + type uint16 { + range "1..65535"; + } + } + leaf end { + description + "Source port range end"; + type uint16 { + range "1..65535"; + } + } + } + } + + grouping vxlan-route-profile-grouping { + description + "Configure VxLAN route profile for static route"; + leaf dscp { + description + "Configure dscp for VxLAN route profile"; + type uint8 { + range "0..63"; + } + default "0"; + } + leaf dst-port { + description + "Configure dst port for VxLAN route profile"; + type uint16 { + range "1..65535"; + } + default "4789"; + } + leaf persistent { + description + "Configure persistent for VxLAN route profile"; + type empty; + } + container tunnel { + description + "Configure per tunnel parameters for VxLAN route profile"; + leaf mode { + description + "Configure encapsulate mode for VxLAN route profile"; + type vxlan-tunnel-mode-type; + } + leaf mtu { + description + "Configure mtu for VxLAN route profile"; + type uint16 { + range "64..9216"; + } + default "1450"; + } + container source { + description + "Configure source for VxLAN route profile"; + container interface { + description + "Configure source interface for VxLAN route profile"; + leaf Loopback { + description + "Loopback interface"; + type leafref { + path "/ios:native/ios:interface/ios:Loopback/ios:name"; + } + } + } + } + leaf source-port-hash { + description + "Configure source port hash tuples for VxLAN route profile"; + type vxlan-source-port-hash-type; + } + container source-port-range { + description + "Configure source port range for VxLAN route profile"; + uses vxlan-source-port-range-grouping; + } + } + container vxlan-reserved-word-1 { + description + "Configure reserved word 1 for VxLAN route profile"; + leaf hex-string { + description + "Vxlan reserved word 1 with two bytes in hex value, range [0, 65535]"; + type string { + pattern '([0-9a-fA-F]{1,4})'; + } + } + } + container vxlan-reserved-word-2 { + description + "Configure reserved word 2 for VxLAN route profile"; + leaf hex-string { + description + "Vxlan reserved word 2 with one byte in hex value, range [0, 255]"; + type string { + pattern '([0-9a-fA-F]{1,2})'; + } + } + } + leaf default-mac-source { + description + "Configure default mac source for VxLAN route profile"; + type ios-types:cisco-mac-address-type; + } + } + + grouping vxlan-sr-option-persistent-grouping { + leaf persistent { + description + "Configure persistent for VxLAN static route, save in startup"; + type empty; + } + } + + grouping vxlan-static-route-options-grouping { + container vxlan-sr-option { + leaf persistent { + description + "Configure persistent for VxLAN static route, save in startup"; + type empty; + } + container symmetric { + uses vxlan-sr-option-persistent-grouping; + } + } + } + + grouping vxlan-static-route-profile-grouping { + list route-profile { + description + "Configure route profile for VxLAN static route prefix"; + key "name"; + leaf name { + type string; + } + uses vxlan-static-route-options-grouping; + } + } + + grouping vxlan-static-route-dst-mac-grouping { + list dst-mac-list { + key "dst-mac"; + leaf dst-mac { + description + "Configure inner dst mac for VxLAN static route prefix"; + type ios-types:cisco-mac-address-type; + } + uses vxlan-static-route-profile-grouping; + } + uses vxlan-static-route-profile-grouping; + } + + grouping vxlan-static-route-nh-grouping { + list nh-list { + description + "global vrf next-hop address for this route"; + key "nh-address"; + leaf nh-address { + description + "A.B.C.D or X:X:X:X::X"; + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + uses vxlan-static-route-dst-mac-grouping; + } + } + + grouping vxlan-static-route-vni-grouping { + list vni-list { + key "vni"; + leaf vni { + description + "Configure vni for VxLAN static route prefix"; + type uint32 { + range "1..16777215"; + } + } + uses vxlan-static-route-nh-grouping; + } + } + + grouping vxlan-static-route-entry-grouping { + list vxlan-static-route-prefix { + description + "The address and prefix length"; + key "prefix"; + leaf prefix { + description + "A.B.C.D/nn or X:X:X:X::X/<0-128> or A.B.C.D"; + type union { + type ios-types:ipv4-address-slash-prefix-len; + type ios-types:ipv6-prefix; + type inet:ipv4-address; + } + } + container vxlan-static-route-vni { + list ipv4-addr-mask { + key "mask"; + leaf mask { + description + "A.B.C.D IP prefix mask"; + type inet:ipv4-address; + } + uses vxlan-static-route-vni-grouping; + } + uses vxlan-static-route-vni-grouping; + } + } + } + + grouping vxlan-static-route-grouping { + list vrf { + key "name"; + leaf name { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "Please create vrf first, and delete the last"; + } + type string; + } + uses vxlan-static-route-entry-grouping; + } + } + + grouping vxlan-static-route-police-rate-grouping { + leaf rate { + description + "Configure police rate for VNI ranges"; + type uint64 { + range "8000..67000000000"; + } + } + } + + grouping vxlan-static-route-police-vni-grouping { + choice vni-choice { + case vni-single { + leaf rate { + description + "Configure police rate for VNI ranges"; + type uint64 { + range "8000..67000000000"; + } + } + } + case vni-range { + container vni-range { + leaf vni-range-end { + description + "VNI end number for vni range"; + type uint32 { + range "1..16777215"; + } + } + uses vxlan-static-route-police-rate-grouping; + } + } + } + } + + grouping vxlan-static-route-policy-out-vrf-grouping { + container police { + description + "Configure vxlan static route policy per vrf police"; + container match { + description + "Configure vxlan static route policy per vrf match criteria"; + container any { + description + "Configure vxlan static route policy per vrf match any"; + list vni-range-list { + description + "Specify at most 5 vni ranges one line, i.e. 1 , 2 , 3 , 5 - 10, 100 - 200"; + key "vni"; + leaf vni { + description + "Specify single vni number or vni start number"; + type uint32 { + range "1..16777215"; + } + } + uses vxlan-static-route-police-vni-grouping; + } + } + } + } + } + + grouping vxlan-static-route-policy-out-grouping { + list vrf { + key "name"; + leaf name { + must '(/ios:native/ios:vrf/ios:definition[ios:name=current()] and /ios:native/ios:vrf/ios:definition[ios:name=current()]/ios:address-family/ios:ipv4) or /ios:native/ios:ip/ios:vrf[ios:name=current()]' { + error-message "Please create vrf first, and delete the last"; + } + type string; + } + uses vxlan-static-route-policy-out-vrf-grouping; + } + } + + grouping config-vxlan-grouping { + container udp { + leaf port { + description + "VxLAN dataplane UDP destination port for global"; + type uint16 { + range "1024..65535"; + } + } + } + leaf dummy-l2-tunnel-udp-port { + description + "UDP destination port for vxlan dummy l2 tunnel (default is 4789)"; + type uint16 { + range "1024..65535"; + } + } + leaf gpe-tunnel-udp-port { + description + "UDP destination port for vxlan gpe tunnel (default is 4790)"; + type uint16 { + range "1024..65535"; + } + } + list route-profile { + description + "Configure VxLAN route profile for static route"; + key "name"; + leaf name { + type string; + } + uses vxlan-route-profile-grouping; + } + container source-port-hash { + description + "UDP source port hash"; + leaf dummy-l2-tunnel { + description + "UDP source port hash for vxlan dummy-l2 tunnel"; + type vxlan-source-port-hash-type; + } + leaf gpe-tunnel { + description + "UDP source port hash for vxlan gpe tunnel"; + type vxlan-source-port-hash-type; + } + } + container source-port-range { + description + "UDP source port range for vxlan/vxlan-gpe/vxlan-dummy-l2"; + container dummy-l2-tunnel-udp { + description + "UDP source port range for vxlan dummy l2 tunnel"; + uses vxlan-source-port-range-grouping; + } + container gpe-tunnel-udp { + description + "UDP source port range for vxlan gpe tunnel"; + uses vxlan-source-port-range-grouping; + } + container udp { + description + "UDP source port range for vxlan"; + uses vxlan-source-port-range-grouping; + } + } + container static-route { + description + "Configure VxLAN static route"; + container accounting-policing { + description + "Configure VxLAN static route accounting policing bind option"; + container bind { + description + "Configure VxLAN static route accounting policing bind"; + leaf p2p-tunnel { + description + "Configure VxLAN static route accounting policing bind with p2p-tunnel"; + type empty; + } + } + } + container auto-tunnel { + description + "Configure VxLAN static route auto-tunnel"; + container range { + description + "Configure VxLAN static route auto-tunnel range"; + leaf start { + description + "Auto tunnel range start"; + type uint32 { + range "1..2147483647"; + } + } + leaf end { + description + "Auto tunnel range end"; + type uint32 { + range "1..2147483647"; + } + } + } + } + container policy { + description + "Configure VxLAN static route policy"; + container output { + description + "Configure VxLAN static route output policy"; + uses vxlan-static-route-policy-out-grouping; + } + } + container route-list { + uses vxlan-static-route-grouping; + } + } + } + + augment "/ios:native/ios:vxlan" { + uses config-vxlan-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wccp.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wccp.yang new file mode 100644 index 000000000..881d7cf2f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wccp.yang @@ -0,0 +1,351 @@ +module Cisco-IOS-XE-wccp { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wccp"; + prefix ios-wccp; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Web Cache Communication Protocol (WCCP) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-03-01 { + description + "Added leaf outbound-acl-check and variable-timers, list overlay-vrf"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-11-14 { + description + "Added 2, 5, 25, 40, 100GE interfaces"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping ip-wccp-group-address-grouping { + leaf group-address { + description + "Set the multicast group"; + type inet:ipv4-address; + } + leaf group-list { + description + "Set the access-list used to permit group membership"; + type ios-types:exp-acl-type; + } + leaf mode { + description + "Set the service mode"; + type enumeration { + enum closed; + enum open; + } + } + container password { + description + "Set the authentication password"; + leaf encryption { + type enumeration { + enum 0; + enum 7; + } + } + leaf clear-key { + type string { + length "1..18"; + } + } + } + leaf redirect-list { + description + "Set the access-list used to permit redirection"; + type ios-types:exp-acl-type; + } + leaf snmp-disabled { + description + "Disable SNMP for WCCP GRE Tunnel"; + type empty; + } + } + + grouping ip-wccp-grouping { + list wccp-list { + key "id"; + leaf id { + type uint8 { + range "0..254"; + } + } + leaf service-list { + description + "Set the service-list used to set group properties"; + type string; + } + uses ip-wccp-group-address-grouping; + } + leaf source-interface { + description + "Set source interface for Router ID"; + type string; + } + container web-cache { + description + "Standard web caching service"; + presence "true"; + uses ip-wccp-group-address-grouping; + } + } + + grouping config-ip-wccp-grouping { + container wccp { + description + "Web-Cache Coordination Protocol IPv4 Commands"; + uses ip-wccp-grouping; + container check { + description + "Enable a WCCP check"; + container acl { + description + "Enable acl check"; + leaf outbound { + description + "Enable acl check on original outbound interface"; + type empty; + } + } + container services { + description + "Enable services check"; + leaf all { + description + "Enable all services check for redirection"; + type empty; + } + } + } + leaf variable-timers { + description + "Enable support for variable timers"; + default "true"; + type boolean; + } + list overlay-vrf { + description + "Overlay VRF name"; + key "name"; + leaf name { + type string; + } + uses ip-wccp-grouping; + } + list vrf { + description + "Configure WCCP for a VRF"; + key "name"; + leaf name { + type string; + } + list overlay-vrf { + description + "Overlay VRF name"; + key "name"; + leaf name { + type string; + } + uses ip-wccp-grouping; + } + uses ip-wccp-grouping; + } + } + } + + grouping interface-ip-wccp-group-listen-grouping { + leaf group-listen { + description + "Listen for multicasted WCCP protocol packets"; + type empty; + } + container redirect { + description + "Set packet redirection options for the service"; + leaf in { + description + "Redirect to a Cache Engine appropriate inbound packets"; + type empty; + } + leaf out { + description + "Redirect to a Cache Engine appropriate outbound packets"; + type empty; + } + } + } + + grouping interface-ip-wccp-grouping { + list wccp-list { + key "id"; + leaf id { + type uint8 { + range "0..254"; + } + } + uses interface-ip-wccp-group-listen-grouping; + } + container web-cache { + description + "Standard web caching service"; + uses interface-ip-wccp-group-listen-grouping; + } + } + + grouping config-interface-ip-wccp-grouping { + container wccp { + description + "WCCP IPv4 interface commands"; + uses interface-ip-wccp-grouping; + container redirect { + description + "Set packet redirection options"; + container exclude { + description + "Exclude packets from redirection"; + leaf in { + description + "Exclude inbound packets from outbound redirection"; + type empty; + } + } + } + list overlay-vrf { + description + "Configure WCCP for a overlay VRF"; + key "name"; + leaf name { + type string; + } + uses interface-ip-wccp-grouping; + } + list vrf { + description + "Configure WCCP for a VRF"; + key "name"; + leaf name { + type string; + } + list overlay-vrf { + description + "Configure WCCP for a overlay VRF"; + key "name"; + leaf name { + type string; + } + uses interface-ip-wccp-grouping; + } + uses interface-ip-wccp-grouping; + } + } + } + + augment "/ios:native/ios:ip" { + uses config-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft/ios:ip" { + uses config-interface-ip-wccp-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright/ios:ip" { + uses config-interface-ip-wccp-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-webauth-banner-internal.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-webauth-banner-internal.yang new file mode 100644 index 000000000..64c576750 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-webauth-banner-internal.yang @@ -0,0 +1,61 @@ +module Cisco-IOS-XE-webauth-banner-internal { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-webauth-banner-internal"; + prefix ios-webauth-banner-internal; + + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "NED YANG module for IOS-XE. + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Initial revision + - Added support for banner text/title for named webauth parameter-map + - Removed length restriction of banner title"; + cisco-semver:module-version "1.0.0"; + } + + grouping config-internal-webauth-banner-grouping { + leaf webauth-internal-banner-text { + description + "Banner message"; + type string; + } + leaf webauth-internal-banner-title { + description + "Banner message"; + type string; + } + } + + augment "/ios:native/ios:parameter-map/ios:type/ios-policy:webauth-global/ios-policy:webauth/ios-policy:global/ios-policy:banner-conf" { + uses config-internal-webauth-banner-grouping; + } + + augment "/ios:native/ios:parameter-map/ios:type/ios-policy:webauth/ios-policy:banner" { + uses config-internal-webauth-banner-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cfg-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cfg-rpc.yang new file mode 100644 index 000000000..404c8a2ee --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cfg-rpc.yang @@ -0,0 +1,2445 @@ +module Cisco-IOS-XE-wireless-access-point-cfg-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-access-point-cfg-rpc"; + prefix wireless-access-point-cfg-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2019-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added ranging support for group of APs"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2024-03-01 { + description + "- Added a range constraint for floor parameter in set-ap-floor RPC"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-11-01 { + description + "- Added AP ranging band"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2023-07-01 { + description + "- Added RPC to configure AP coordinate, floor and ranging + - Added must constraint on leaf slot-id within container set-ap-slot-admin-state"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2023-03-01 { + description + "- Modified mandatory leafs Sniffer IP address and Sniffer Channel in dual-band-role to non-mandatory + - Added range constraint for LED brightness level + - Added change in band range to support 6 GHz + - Added range constraint for leaf vlan-id + - Deprecated configuring new channel using 802.11h channel announcement + - Added range constraint for leaf external-antenna-gain + - Added must condition to antenna selection set RPC to avoid invalid combination of band and slot-id values + - Deprecated RPC set-rad-slot-phy-ht-chan + - Deprecated RPC set-ap-cleanair + - Added range constraint for BSS color mode RPC + - Added constraint to set auto RF RPC to avoid invalid combination of band and slot-id + - Added must constraint to set dual radio mode RPC + - Modified band as optional input for FRA revert RPC"; + reference + "4.5.0"; + cisco-semver:module-version "4.5.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added RPC to configure BSS color mode + - Added RPC to configure channel mode + - Added RPC to configure dot11n antenna selection + - Added RPC to configure channel width + - Added RPC for FRA configuration to configure XOR TX RX radios."; + reference + "4.4.0"; + cisco-semver:module-version "4.4.0"; + } + revision 2022-07-01 { + description + "- Added RPC for dual band channel configuration + - Added RPC for dual radio mode configuration + - Added RPC for BSS color mode configuration + - Added rpc set-ap-band-cleanair to enable cleanair in access point + - Added RPC for channel configuration and to configure new channel using 802.11h channel announcement. + - Added RPC for AP reset and mDNS AP config + - Added rpc set-ap-indoor-enable to configure AP indoor mode + - Added RPC for AP VLAN tagging configuration"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2022-03-01 { + description + "- Added RPC to configure dual-band radio role + - Added RPC to configure AP sensor admin state + - Modified band and channel range of dual-band-role"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2021-11-01 { + description + "Added AP LED flash configuration"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-07-01 { + description + "- Modified slot and band range on applicable paths + - Added option to configure either name or IP address in rpc set-ap-controller"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2021-03-01 { + description + "- Changed the pattern for AP name, location and country code. + - Added AP LAN port configuration"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "- Added rpc set-ap-controller to configure controller information in access point + - Added rpc set-ap-cleanair to enable cleanair in access point + - Added rpc set-ap-slot-phy-ht-customize to configure auto channel selection in access point + - Added rpc set-ap-slot-phy-ht-chan to configure static channel + - Added rpc set-ap-mode to configure AP mode. + - Added must constraint for antenna-band-mode + - Added range restrictions on leafs slot-id and band on all applicable paths."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ap-identifier { + type enumeration { + enum ap-identifier-name { + value 0; + description + "Alternative AP name"; + } + enum ap-identifier-mac-address { + value 1; + description + "Alternative MAC address"; + } + } + description + "Access point identifier"; + } + + grouping set-ap-vlan-tag { + description + "Configures VLAN tagging for non-bridge AP"; + leaf vlan-id { + type uint32 { + range "0..4094"; + } + mandatory true; + description + "Configure VLAN-ID"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for VLAN tagging"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for VLAN tagging"; + } + } + } + } + + grouping set-ap-vlan-tag-all { + description + "Configure VLAN tagging for all non-bridge APs"; + leaf vlan-id { + type uint32 { + range "0..4094"; + } + mandatory true; + description + "Configure VLAN ID. VLAN ID 0 will disable VLAN tagging for all non-bridge APs"; + } + } + + grouping set-ap-monitor-mode-chnl-optimize { + description + "Channel scanning optimization for AP"; + leaf mode { + type wireless-enum-types:lomm-mode-type; + mandatory true; + description + "Select AP mode (none, tracking mode, WIPS mode, all)"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for channel scanning optimization"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for channel scanning optimization"; + } + } + } + } + + grouping set-ap-mode { + description + "Configures AP mode"; + leaf clear-mode { + type boolean; + description + "Restores AP to site tag mode"; + } + leaf mode { + type wireless-types:enm-ewlc-spam-ap-modes; + must "(../clear-mode = 'false')" { + error-message "disable clear mode while configuring mode."; + error-app-tag "must-violation"; + } + must "(../mode != 'mode-sensor')" { + error-message "Sensor mode not supported"; + error-app-tag "must-violation"; + } + description + "Specifies mode of AP"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure AP mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure AP mode"; + } + } + } + } + + grouping set-lrad-led-state { + description + "Configure LED state for Cisco AP"; + leaf ledstate { + type boolean; + mandatory true; + description + "Led state of AP can be enabled (true) or disabled (false)"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure LED state"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure LED state"; + } + } + } + } + + grouping set-lrad-led-flash { + description + "AP LED flash configuration"; + leaf flash-sec { + when "../config-type = 'set-led-flash-duration'"; + type uint16 { + range "0 .. 3600"; + } + units "seconds"; + mandatory true; + description + "LED flashing duration"; + } + leaf led-flash-state { + when "../config-type = 'set-led-flash-state'"; + type boolean; + mandatory true; + description + "LED flash can be enabled (true) or disabled (false)"; + } + leaf config-type { + type wireless-enum-types:enm-led-flash-config-type; + mandatory true; + description + "LED flash parameter to configure"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure LED flash"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure LED flash"; + } + } + } + } + + grouping set-ap-location { + description + "Configure AP location"; + leaf location { + type string { + length "1..256"; + pattern '[ -~]+'; + } + mandatory true; + description + "AP location (example sector A or room A)"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for location change"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for location change"; + } + } + } + } + + grouping set-ap-name { + description + "Configure a new AP name"; + leaf name { + type string { + length "1..32"; + pattern '[!-~]+'; + } + mandatory true; + description + "New AP name"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Existing name of AP to be renamed"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to be renamed"; + } + } + } + } + + grouping set-ap-antenna-band-mode { + description + "Configure antenna band mode"; + leaf band-val { + type wireless-enum-types:ant-band-mode; + must "../band-val != 'ant-band-mode-unknown'" { + error-message "ant-band-mode-unknown is not permitted"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Band value can be single or dual"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the antenna band mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the antenna band mode"; + } + } + } + } + + grouping set-ap-country { + description + "Configure the country of operation"; + leaf country-string { + type string { + length "1..4"; + pattern '[ -~]+'; + } + mandatory true; + description + "Country code for country of operation (i.e. US for United States)"; + } + choice alternative-choice { + mandatory true; + description + "Alternative AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for configuring country of operation"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for configuring country of operation"; + } + } + } + } + + grouping set-11-hphy-ofdm-chan { + description + "Configures new channel using 802.11h channel announcement"; + leaf chan { + type uint32 { + range "0..233"; + } + mandatory true; + description + "Channel number + 1 - 173: Dual band + 1 - 14: 2.4 GHz + 36 - 173: 5 Ghz + 1 - 233 : 6 Ghz"; + } + leaf slot-id { + type uint8 { + range "1..3"; + } + mandatory true; + description + "Slot ID of AP to configure new channel "; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure channel number"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure channel number"; + } + } + } + } + + grouping set-ap-slot-ext-antenna-gain { + description + "Configures the external antenna gain of AP"; + leaf external-antenna-gain { + type uint8 { + range "0..40"; + } + units "dBm"; + mandatory true; + description + "External antenna gain value in multiple of .5 decibel isotropic units (i.e. An integer value 4 means 4 x 0.5 = 2 decibel isotropic units of gain)"; + } + leaf slot-id { + type uint8 { + range "0..3"; + } + mandatory true; + description + "Slot ID of AP to configure the external antenna gain. Valid value range is 0-3"; + } + leaf band { + when '(current()/../slot-id = 3)'; + type wireless-enum-types:enm-radio-band; + default "band-6-ghz"; + description + "Radio frequency band to configure external antenna gain. + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 Ghz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the external antenna gain"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the external antenna gain"; + } + } + } + } + + grouping set-rad-slot-phy-ht-chan { + description + "Configures Radio channel"; + leaf chan { + type uint8 { + range "0..233"; + } + mandatory true; + description + "Channel number + 1 - 173: Dual band + 1 - 14: 2.4 GHz + 36 - 173: 5 Ghz + 1 - 233 : 6 Ghz"; + } + leaf slot-id { + type uint8 { + range "0..3"; + } + mandatory true; + description + "Slot ID of AP to configure channel number"; + } + leaf band { + type uint32 { + range "1..4"; + } + mandatory true; + description + "Band of AP to configure channel number + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure channel number"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure channel number"; + } + } + } + } + + grouping set-ap-slot-phy-ht-chan { + description + "Configures static channel on a radio interface of AP"; + leaf chan { + type uint8; + mandatory true; + description + "Specifies channel number"; + } + leaf slot-id { + type uint8 { + range "0..2"; + } + mandatory true; + description + "Specifies slot id of a radio band"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + must "current() != 'band-dualband-radio'" { + error-message "Dual band is not supported for this action"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Specifies radio band information of access point"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure static channel"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mac address of AP to configure static channel"; + } + } + } + } + + grouping set-ap-slot-phy-ht-customize { + description + "Enables auto channel selection for a radio band of access point"; + leaf slot-id { + type uint8 { + range "0 .. 3"; + } + must "((../band = 'band-2-dot-4-ghz' and current() != '1' and current() != '2' and current() != '3') or (../band != 'band-2-dot-4-ghz')) and + ((../band = 'band-5-ghz' and current() != '0' and current() != '3') or (../band != 'band-5-ghz')) and + ((../band = 'band-dualband-radio' and current() != '1' and current() != '3') or (../band != 'band-dualband-radio')) and + ((../band = 'band-6-ghz' and current() != '0' and current() != '1') or (../band != 'band-6-ghz'))" { + error-message "Invalid combination of band and slot-id"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Specifies slot id of a radio band"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + must "current() != 'band-dualband-radio'" { + error-message "Dual band is not supported for this action"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Specifies radio band information of access point"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure auto channel selection"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure auto selection"; + } + } + } + } + + grouping set-ap-cleanair { + description + "Configures clean air functionality on radio band of access point"; + leaf mode { + type boolean; + mandatory true; + description + "Enables/Disables clear air functionality"; + } + leaf slot-id { + type uint8 { + range "0..2"; + } + mandatory true; + description + "Specifies slot id of a radio band"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure clean air"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure clean air"; + } + } + } + } + + grouping set-rad-slot-dual-radio-mode { + description + "Configures the 802.11a dual-radio mode"; + leaf mode { + type uint8 { + range "0..2"; + } + must "((../dual-radio-mode-op = '1' and current() != '1' and current() != '2') or + (../dual-radio-mode-op != '1') )" { + error-message "Dual radio mode can be enabled/disabled only when dual radio mode of operation is selected as manual"; + error-app-tag "must-violation"; + } + mandatory true; + description + "DUAL RADIO MODE status + 0 - None + 1 - Enable + 2 - Disable"; + } + leaf dual-radio-mode-op { + type uint8 { + range "0..2"; + } + mandatory true; + description + "DUAL RADIO MODE operation + 0 - None + 1 - Auto + 2 - Manual"; + } + leaf slot-id { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Slot ID of AP to configure the 802.11 Dual radio mode"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure Dual radio mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure Dual radio mode"; + } + } + } + } + + grouping set-slot-chan-width-label { + description + "Configure channel width"; + leaf chan-width { + type wireless-enum-types:chan-width; + mandatory true; + description + "channel width"; + } + leaf slot-id { + type uint8; + mandatory true; + description + "Slot ID of AP to configure the 802.11 channel width"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + mandatory true; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure channel width"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure channel width"; + } + } + } + } + + grouping set-ap-band-cleanair { + description + "Configures clean air functionality on radio band of access point"; + leaf mode { + type boolean; + mandatory true; + description + "Enables/Disables clear air functionality"; + } + leaf band { + type uint32 { + range "1..3"; + } + mandatory true; + description + "Band of AP to configure clean air + 1 - 2.4 GHz + 2 - 5 Ghz + 3 - 6 Ghz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure clean air"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure clean air"; + } + } + } + } + + grouping dual-band-role { + description + "Configure the radio role"; + leaf slot-id { + type uint8 { + range "0..3"; + } + mandatory true; + description + "Slot ID of AP to configure the 802.11 radio current band."; + } + leaf band { + type uint32 { + range "1..3"; + } + mandatory true; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band"; + } + leaf mode { + type uint32 { + range "1..4"; + } + must '../sub-mode = 2' { + error-message "Mode change is only allowed when sub-mode is Manual"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Mode of an AP radio slot + 1 - Local + 2 - Monitor + 4 - Sniffer"; + } + leaf sub-mode { + type uint32 { + range "0..2"; + } + mandatory true; + description + "Sub Mode of an AP radio slot + 0 - None + 1 - Auto + 2 - Manual"; + } + leaf chan { + type uint8 { + range "1..165"; + } + must '../mode = 4' { + error-message "Channel is only allowed when mode is Sniffer"; + error-app-tag "must-violation"; + } + must "((../band = 2 and ../chan >= 36 and ../chan <= 165) or + (../band = 1 and ../chan >= 1 and ../chan <= 14) or (../band = 3 and ../chan >= 1 and ../chan <= 165))" { + error-message "Band and Channel combination is invalid"; + error-app-tag "must-violation"; + } + description + "Channel to be sniffed + 1 - 165: Dual band + 1 - 14: 5 GHz + 36 - 165: 2.4 Ghz"; + } + leaf ip-addr { + type inet:ip-address; + must '../mode = 4' { + error-message "IP address is only allowed when mode is Sniffer"; + error-app-tag "must-violation"; + } + description + "Sniffer Server IP"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the radio role"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the radio role"; + } + } + } + } + + grouping fra-revert-data { + description + "Configure XOR TX RX radios"; + leaf fra-revert-auto-only { + type boolean; + mandatory true; + description + "TRUE : Revert only XOR radios currently in automatic band selection. + FALSE : Revert all XOR radios"; + } + leaf fra-revert-mode { + type boolean; + mandatory true; + description + "TRUE: Put XOR radios in automatic band selection. + FALSE: Put XOR radios in static 2.4GHz/5GHz/6GHz band"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + } + + grouping set-rad-slot-he-bss-color { + description + "Configures BSS color"; + leaf bss-color { + type uint8 { + range "0..63"; + } + mandatory true; + description + "BSS color"; + } + leaf radiotype-check { + type uint8 { + range "0..2"; + } + mandatory true; + description + "Radio type check + 0 - no radiotype check + 1 - non dual-band + 2 - dual-band"; + } + leaf slot-id { + type uint8 { + range "1..2"; + } + mandatory true; + description + "Slot ID of AP to configure BSS color"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure BSS color"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure BSS color"; + } + } + } + } + + grouping set-rad-slot-bss-col-mode { + description + "Configure BSS color mode"; + leaf mode { + type uint8 { + range "1 .. 2"; + } + mandatory true; + description + "BSS color mode + 1: auto + 2: static"; + } + leaf radiotype-check { + type wireless-enum-types:enm-radiotype-check; + mandatory true; + description + " Indicates whether it is dual band radio or dedicated band radio + 0 : no radiotype check + 1 : non dual-band + 2 : dual-band"; + } + leaf slot-id { + type uint8 { + range "0 .. 3"; + } + mandatory true; + description + "Slot ID of AP to configure BSS color mode"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure BSS color mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure BSS color mode"; + } + } + } + } + + grouping spam-rad-slot-ant-sel-set { + description + "Configure 802.11n antenna selection"; + leaf ant-id { + type uint8; + mandatory true; + description + " Antenna port selection + 1 : Antenna port A + 2 : Antenna port B + 3 : Antenna port C + 4 : Antenna port D + 5 : Antenna port E + 6 : Antenna port F + 7 : Antenna port G + 8 : Antenna port H"; + } + leaf enable { + type boolean; + mandatory true; + description + "Enable or disable antenna"; + } + leaf slot-id { + type uint8 { + range "0..3"; + } + must "(../band = 'band-dualband-radio' and current() != '1' and current() != '3' ) or (../band != 'band-dualband-radio')" { + error-message "Slot-id 1 and 3 are not valid for dual band"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Slot ID of AP configure 802.11n antenna selection"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + mandatory true; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure 802.11n antenna selection"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure 802.11n antenna selection"; + } + } + } + } + + grouping set-rad-slot-db-chan-mode { + description + "Configure channel mode"; + leaf slot-id { + type wireless-enum-types:slot-id-type; + must "(../band = 'radio-80211abgn' and current() != 'slot-1' and current() != 'slot-3' ) or (../band != 'radio-80211abgn')" { + error-message "Slot-id 1 and 3 are not valid for dual band"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Slot ID of AP to configure the 802.11 Dual band"; + } + leaf band { + type wireless-enum-types:enm-radio-type; + must "current() = 'radio-80211abgn'" { + error-message "This RPC is valid only for dual band radio"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Current band of AP"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure channel mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure channel mode"; + } + } + } + } + + grouping set-rad-slot-db-chan-number { + description + "Configure dual band channel"; + leaf slot-id { + type wireless-enum-types:slot-id-type; + mandatory true; + description + "Slot ID of AP to configure the 802.11 Dual band"; + } + leaf chan { + type uint32 { + range "1..233"; + } + mandatory true; + description + "Channel to be configured + 1 - 173: Dual band + 1 - 14: 2.4 GHz + 36 - 173: 5 Ghz + 1 - 233 : 6 Ghz"; + } + leaf band { + type uint32 { + range "1..4"; + } + mandatory true; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure channel number"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure channel number"; + } + } + } + } + + grouping dual-band-radio-band { + description + "Configures the 802.11 dual-band radio's current band i.e 2.4GHz/5GHz"; + leaf slot-id { + type uint8 { + range "0..2"; + } + mandatory true; + description + "Slot ID of AP to configure the 802.11 dual-band radio's current band. Valid value range is 0-2"; + } + leaf band { + type uint32 { + range "1..3"; + } + mandatory true; + description + "Current band of AP + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band"; + } + leaf toband { + type uint32 { + range "1..2"; + } + mandatory true; + description + "New band to switch AP to from current band + 1 - 2.4 GHz + 2 - 5 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the 802.11 dual-band radio's current band"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the 802.11 dual-band radio's current band"; + } + } + } + } + + grouping lan-port-config-enable { + description + "AP LAN port configuration"; + leaf port-id { + type wireless-enum-types:enm-lan-port-id; + mandatory true; + description + "LAN port identification number"; + } + leaf mode { + when "../port-config-type = 'set-port-mode'"; + type boolean; + mandatory true; + description + "LAN port can be enabled (true) or disabled (false)"; + } + leaf poe-enabled { + when "../port-config-type = 'set-poe-state'"; + type boolean; + mandatory true; + description + "PoE of the LAN port can be enabled (true) or disabled (false)"; + } + leaf power-level-id { + when "../port-config-type = 'set-power-level'"; + type uint8 { + range "1..4"; + } + mandatory true; + description + "Power level of the LAN port"; + } + leaf port-config-type { + type wireless-enum-types:enm-lan-port-config; + mandatory true; + description + "Port parameter to configure"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure AP LAN port"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure AP LAN port"; + } + } + } + } + + grouping set-ap-indoor-enable { + description + "Configure indoor or outdoor mode of AP"; + leaf enable { + type uint32; + mandatory true; + description + "Indoor mode of an AP can be enabled(true) or disabled(false)"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the indoor or outdoor mode of AP"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the indoor or outdoor mode of AP"; + } + } + } + } + + grouping set-ap-controller { + description + "Configures controller information in AP"; + leaf mode { + type wireless-enum-types:enm-controller-name-status; + must "(current() = 'controller-name-disable') or (string-length(../controller-name) > 0) or (string-length(../ipaddr) > 0)" { + error-message "Either controller-name or ipaddr need to be configured"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Configures/clears controller information in AP"; + } + leaf controller-name { + type string { + length "1..31"; + pattern '[a-zA-Z0-9_\-]*'; + } + description + "Specifies controller name"; + } + leaf index { + type wireless-enum-types:enm-controller-index; + mandatory true; + description + "Specifies primary/secondary/tertiary configuration"; + } + leaf ipaddr { + type inet:ip-address; + description + "Specifies IP address of controller"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure controller information "; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure controller information "; + } + } + } + } + + grouping set-ap-site-reset { + description + "Reset all APs in a site"; + leaf site-tag-name { + type string; + mandatory true; + description + "Site tag on which all APs need to reboot"; + } + } + + grouping set-ap-led-brightness-level { + description + "Configure the LED brightness level"; + leaf led-brightness-level { + type uint8 { + range "1..8"; + } + mandatory true; + description + "LED brightness level (1..8)"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the led brightness level"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the led brightness level"; + } + } + } + } + + grouping set-ap-slot-tx-power-level { + description + "Modify transmit power level of an AP slot (band)"; + leaf tx-power-level { + type uint8 { + range "1 .. 8"; + } + units "dBm"; + mandatory true; + description + "Transmit power level (1..8)"; + } + leaf slot-id { + type uint8 { + range "0..3"; + } + mandatory true; + description + "Slot ID of AP to configure transmit power level. Valid value range is 0-3."; + } + leaf band { + type uint32 { + range "1..4"; + } + mandatory true; + description + "Band of AP to configure transmit power level + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for configuring transmit power level"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for configuring transmit power level"; + } + } + } + } + + grouping set-ap-slot-antenna-mode { + description + "Configures the antenna mode of the AP"; + leaf antenna-mode { + type wireless-enum-types:enm-antenna-mode; + mandatory true; + description + "Supported antenna mode"; + } + leaf slot-id { + type uint8 { + range "0..2"; + } + mandatory true; + description + "Slot ID of AP to configure the antenna mode. Valid value range is 0-2"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure the antenna mode"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure the antenna mode"; + } + } + } + } + + grouping set-ap-admin-state { + description + "Disable/Enable AP admin state"; + leaf mode { + type wireless-enum-types:enm-admin-status; + mandatory true; + description + "Mode for AP admin state"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for changing AP admin state"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for changing AP admin state"; + } + } + } + } + + grouping set-ap-slot-admin-state { + description + "Configure admin state of AP slot"; + leaf mode { + type wireless-enum-types:enm-admin-status; + mandatory true; + description + "Mode of AP to configure admin state"; + } + leaf slot-id { + type uint8 { + range "0..3"; + } + must '(../band=1 and ../slot-id=0) or (../band=2 and (../slot-id=1 or ../slot-id=2)) or (../band=3 and (../slot-id=0 or ../slot-id=2)) or (../band=4 and (../slot-id=2 or ../slot-id=3))' { + error-message "Invalid slot ID selected for the band"; + error-app-tag "must-violation"; + } + mandatory true; + description + "AP slot ID to configure admin state + Allowed slot ID for bands are + 1 - slot ID 0 + 2 - slot ID 1 and slot ID 2 + 3 - slot ID 0 and slot ID 2 + 4 - slot ID 2 and slot ID 3"; + } + leaf band { + type uint32 { + range "1..4"; + } + mandatory true; + description + "Radio frequency band of AP to configure admin state. + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 GHz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure admin state"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure admin state"; + } + } + } + } + + grouping set-ap-slot-tx-power-customize { + description + "Enables auto RF on a slot"; + leaf mode { + type wireless-types:w-config-type; + mandatory true; + description + "Select mode as CONFIG AUTO to configure transmit power of AP"; + } + leaf slot-id { + type uint8 { + range "0 .. 3"; + } + must "((../band = '1' and current() != '1' and current() != '2' and current() != '3') or (../band != '1')) and + ((../band = '2' and current() != '0' and current() != '3') or (../band != '2')) and + ((../band = '3' and current() != '1' and current() != '3') or (../band != '3')) and + ((../band = '4' and current() != '0' and current() != '1') or (../band != '4'))" { + error-message "Invalid combination of band and slot-id"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Slot ID of AP radio on which to configure transmit power. Valid value range is 0-3."; + } + leaf band { + type uint32 { + range "1 .. 4"; + } + mandatory true; + description + "Radio frequency band to configure transmit power on. + 1 - 2.4 GHz + 2 - 5 GHz + 3 - Dual band + 4 - 6 Ghz"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of AP to configure transmit power of AP"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to configure transmit power of AP"; + } + } + } + } + + grouping mdns-ap-config { + description + "Add or delete vlan from mDNS AP"; + leaf mdns-ap-cli-mode { + type wireless-enum-types:mdns-ap-cli-mode; + mandatory true; + description + "Select add or delete operation"; + } + leaf vlan { + type uint16; + description + "VLAN ID to be added/deleted"; + } + choice alternative-choice { + mandatory true; + description + "Choice between AP name or AP radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of the mDNS AP on which to enable/disable VLAN"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Radio MAC address of the AP on which to enable/disable VLAN"; + } + } + } + } + + grouping set-ap-sensor-cfg { + description + "AP sensor configuration"; + leaf sensor-type { + type wireless-enum-types:enm-ap-sensor-type; + mandatory true; + description + "Type of the AP sensor"; + } + leaf admin-state { + type wireless-enum-types:enm-ap-sensor-state; + mandatory true; + description + "AP sensor administrative state"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-ranging { + description + "Configures ranging of the AP"; + leaf site-tag-name { + type string; + mandatory true; + description + "Send ranging information to all AP's under site-tag"; + } + leaf all-aps { + type boolean; + mandatory true; + description + "Send ranging information to all AP's"; + } + leaf ranging-mode { + type wireless-enum-types:enm-ranging-mode; + mandatory true; + description + "Set ranging mode of all AP's"; + } + leaf ranging-band { + type wireless-enum-types:enm-ranging-band; + must "../ranging-mode = 'ranging-disruptive'" { + error-message "Ranging band filtering is only supported for disruptive ranging"; + error-app-tag "must-violation"; + } + default "ranging-all-bands"; + description + "Set ranging band of all AP's"; + } + leaf ranging-method { + type wireless-enum-types:enm-ranging-method; + description + "Set ranging method of all APs"; + } + } + + grouping set-ap-coordinates { + description + "Configures AP coordinate"; + leaf latitude { + type string; + mandatory true; + description + "Configure latitude of AP"; + } + leaf longitude { + type string; + mandatory true; + description + "Configure longitude of AP"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for configuring AP coordinate"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for configuring AP coordinate"; + } + } + } + } + + grouping set-ap-floor { + description + "Configures floor of the AP"; + leaf floor { + type int32 { + range "-511 .. 511"; + } + mandatory true; + description + "Configure floor id"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Name of the AP for configuring floor"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP for configuring floor"; + } + } + } + } + + grouping set-ap-group-ranging { + description + "AP group ranging"; + leaf ranging-group-name { + type string; + mandatory true; + description + "Ranging group name"; + } + leaf-list mac-addr { + type yang:mac-address; + ordered-by user; + description + "AP's radio MAC address"; + } + leaf ranging-mode { + type wireless-enum-types:enm-ranging-mode; + mandatory true; + description + "Set ranging mode"; + } + leaf ranging-band { + type wireless-enum-types:enm-ranging-band; + must "../ranging-mode = 'ranging-disruptive'" { + error-message "Ranging band filtering is only supported for disruptive ranging"; + error-app-tag "must-violation"; + } + default "ranging-all-bands"; + description + "Set ranging band"; + } + leaf ranging-method { + type wireless-enum-types:enm-ranging-method; + description + "Set ranging method"; + } + } + + rpc set-ap-vlan-tag { + description + "Configure VLAN tagging for non-bridge AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-vlan-tag; + } + } + + rpc set-ap-vlan-tag-all { + description + "Configure VLAN tagging for all non-bridge APs"; + input { + uses wireless-access-point-cfg-rpc:set-ap-vlan-tag-all; + } + } + + rpc set-ap-monitor-mode-chnl-optimize { + description + "Configure channel scanning optimization for AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-monitor-mode-chnl-optimize; + } + } + + rpc set-ap-mode { + description + "Configures AP mode"; + input { + uses wireless-access-point-cfg-rpc:set-ap-mode; + } + } + + rpc set-lrad-led-state { + description + "Set LED-state for Cisco AP"; + input { + uses wireless-access-point-cfg-rpc:set-lrad-led-state; + } + } + + rpc set-lrad-led-flash { + description + "AP LED flash configuration"; + input { + uses wireless-access-point-cfg-rpc:set-lrad-led-flash; + } + } + + rpc set-ap-location { + description + "Configure AP location"; + input { + uses wireless-access-point-cfg-rpc:set-ap-location; + } + } + + rpc set-ap-name { + description + "Configure AP name"; + input { + uses wireless-access-point-cfg-rpc:set-ap-name; + } + } + + rpc set-ap-antenna-band-mode { + description + "Configure antenna band mode"; + input { + uses wireless-access-point-cfg-rpc:set-ap-antenna-band-mode; + } + } + + rpc set-ap-country { + description + "Configure the country of operation"; + input { + uses wireless-access-point-cfg-rpc:set-ap-country; + } + } + + rpc set-11-hphy-ofdm-chan { + status deprecated; + description + "New channel using 802.11h channel announcement"; + input { + uses wireless-access-point-cfg-rpc:set-11-hphy-ofdm-chan; + } + } + + rpc set-ap-slot-ext-antenna-gain { + description + "Configures the external antenna gain of AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-ext-antenna-gain; + } + } + + rpc set-rad-slot-phy-ht-chan { + status deprecated; + description + "Channel configuration"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-phy-ht-chan; + } + } + + rpc set-ap-slot-phy-ht-chan { + description + "Configures static channel on a radio interface of access point"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-phy-ht-chan; + } + } + + rpc set-ap-slot-phy-ht-customize { + description + "Enables auto channel selection for a radio band of AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-phy-ht-customize; + } + } + + rpc set-ap-cleanair { + status deprecated; + description + "Configures clean air functionality on radio band of access point"; + input { + uses wireless-access-point-cfg-rpc:set-ap-cleanair; + } + } + + rpc set-rad-slot-dual-radio-mode { + description + "Dual radio mode configuration"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-dual-radio-mode; + } + } + + rpc set-slot-chan-width-label { + description + "Configures channel width"; + input { + uses wireless-access-point-cfg-rpc:set-slot-chan-width-label; + } + } + + rpc set-ap-band-cleanair { + description + "Configures clean air functionality on radio band of access point"; + input { + uses wireless-access-point-cfg-rpc:set-ap-band-cleanair; + } + } + + rpc dual-band-role { + description + "Configures the radio role of AP"; + input { + uses wireless-access-point-cfg-rpc:dual-band-role; + } + } + + rpc fra-revert-data { + description + "FRA configuration"; + input { + uses wireless-access-point-cfg-rpc:fra-revert-data; + } + } + + rpc set-rad-slot-he-bss-color { + description + "BSS color configuration"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-he-bss-color; + } + } + + rpc set-rad-slot-bss-col-mode { + description + "Configures BSS color mode"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-bss-col-mode; + } + } + + rpc spam-rad-slot-ant-sel-set { + description + "Configure 802.11n antenna selection"; + input { + uses wireless-access-point-cfg-rpc:spam-rad-slot-ant-sel-set; + } + } + + rpc set-rad-slot-db-chan-mode { + description + "Configures channel mode"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-db-chan-mode; + } + } + + rpc set-rad-slot-db-chan-number { + description + "Dual band configuration"; + input { + uses wireless-access-point-cfg-rpc:set-rad-slot-db-chan-number; + } + } + + rpc dual-band-radio-band { + description + "Configures the 802.11 dual-band radio's current band i.e 2.4GHz/5GHz"; + input { + uses wireless-access-point-cfg-rpc:dual-band-radio-band; + } + } + + rpc lan-port-config-enable { + description + "AP LAN port configuration"; + input { + uses wireless-access-point-cfg-rpc:lan-port-config-enable; + } + } + + rpc set-ap-indoor-enable { + description + "Configure indoor or outdoor mode of AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-indoor-enable; + } + } + + rpc set-ap-controller { + description + "Configures controller information in access point"; + input { + uses wireless-access-point-cfg-rpc:set-ap-controller; + } + } + + rpc set-ap-site-reset { + description + "Reset all APs in a site"; + input { + uses wireless-access-point-cfg-rpc:set-ap-site-reset; + } + } + + rpc set-ap-led-brightness-level { + description + "Configure the led brightness level"; + input { + uses wireless-access-point-cfg-rpc:set-ap-led-brightness-level; + } + } + + rpc set-ap-slot-tx-power-level { + description + "Modify slot transmit power level"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-tx-power-level; + } + } + + rpc set-ap-slot-antenna-mode { + description + "Configures the 802.11a antenna mode"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-antenna-mode; + } + } + + rpc set-ap-admin-state { + description + "Enable/Disable AP admin state"; + input { + uses wireless-access-point-cfg-rpc:set-ap-admin-state; + } + } + + rpc set-ap-slot-admin-state { + description + "Configure slot admin state"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-admin-state; + } + } + + rpc set-ap-slot-tx-power-customize { + description + "Enable auto RF on a slot"; + input { + uses wireless-access-point-cfg-rpc:set-ap-slot-tx-power-customize; + } + } + + rpc mdns-ap-config { + description + "Add or delete vlan from mDNS AP"; + input { + uses wireless-access-point-cfg-rpc:mdns-ap-config; + } + } + + rpc set-ap-sensor-cfg { + description + "AP sensor configuration"; + input { + uses wireless-access-point-cfg-rpc:set-ap-sensor-cfg; + } + } + + rpc set-ap-ranging { + description + "Configure AP ranging"; + input { + uses wireless-access-point-cfg-rpc:set-ap-ranging; + } + } + + rpc set-ap-coordinates { + description + "Configure coordinate of the AP"; + input { + uses wireless-access-point-cfg-rpc:set-ap-coordinates; + } + } + + rpc set-ap-floor { + description + "Configure AP floor"; + input { + uses wireless-access-point-cfg-rpc:set-ap-floor; + } + } + + rpc set-ap-group-ranging { + description + "AP group ranging"; + input { + uses wireless-access-point-cfg-rpc:set-ap-group-ranging; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cmd-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cmd-rpc.yang new file mode 100644 index 000000000..b7ee38f2c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-cmd-rpc.yang @@ -0,0 +1,2078 @@ +module Cisco-IOS-XE-wireless-access-point-cmd-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-access-point-cmd-rpc"; + prefix wireless-access-point-cmd-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2019-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "-Added optional leaf for AP radio reset RPC"; + reference + "2.11.0"; + cisco-semver:module-version "2.11.0"; + } + revision 2024-03-01 { + description + "- Added RPC for ap support bundle + - Added RPC to clear AP upgrade reports from controller"; + reference + "2.10.0"; + cisco-semver:module-version "2.10.0"; + } + revision 2023-11-01 { + description + "- Added AP sensor interval RPC + - Added geolocation gnss data interval RPC + - Added RPC to update AP geolocation derived by auto-locate algorithm + - Updated minimum height uncertainty from 0 to 1 + - Updated RRM channel parameter configuration RPC"; + reference + "2.9.0"; + cisco-semver:module-version "2.9.0"; + } + revision 2023-07-01 { + description + "- Added spectral recording request RPC + - Added AP neighborhood based load-balancing RPC"; + reference + "2.8.0"; + cisco-semver:module-version "2.8.0"; + } + revision 2023-03-01 { + description + "- Added RPC for moving AP to different controller + - Marked ap-image-swap enable leaf deprecated + - Marked reboot-check leaf deprecated + - Added Open RRM support for AFC + - Marked reboot-check leaf optional input"; + reference + "2.7.0"; + cisco-semver:module-version "2.7.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for AP geolocation RPC"; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-07-01 { + description + "- Modified channels for 6 Ghz Open RRM + - Added RPC support for AP Meraki conversion + - Slot 3 support for Open RRM RPC + - Added RPC support for AP features + - Added RPC support for AP TFTP downgrade and AP reset features + - Added support for AP Upgrade RPC"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2021-03-01 { + description + "- Added support for on-demand Office Extended AP link test + - Modified the description of clear personal SSID"; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2020-11-01 { + description + " - Added Open RRM Tx Power set RPC + - Added Open RRM Channel change set RPC + - Added RPC support for AP image predownload and abort + - Added RPC support for clear AP CAPWAP session"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2020-07-01 { + description + "- Added AP clear predownload statistics exec command"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-03-01 { + description + "- Added AP reset and other exec command support."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Add mandatory constraints for mandatory inputs"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ap-identifier { + type enumeration { + enum ap-identifier-name { + value 0; + description + "AP name"; + } + enum ap-identifier-mac-address { + value 1; + description + "AP MAC address"; + } + } + description + "Access point identifier"; + } + + grouping set-rad-predownload-all { + description + "AP Image Predownload for all"; + leaf uuid { + type string; + mandatory true; + description + "UUID for AP Image Predownload"; + } + } + + grouping convert-ap-to-meraki { + description + "AP conversion from CAPWAP to Meraki mode"; + leaf force-convert { + type boolean; + mandatory true; + description + "Force convert ignoring pre validation failures"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-tags { + description + "Write tags to AP"; + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping ap-capwap-reset { + description + "AP capwap session reset"; + choice alternative-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ap-reset { + description + "AP reset data"; + leaf reset-ap { + type boolean; + default "true"; + description + "AP radio reset of an AP can be reset(true) or no reset(false)"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ap-image-predownload-abort { + description + "AP Image Predownload abort"; + leaf uuid { + type string; + mandatory true; + description + "UUID for AP Image Predownload abort"; + } + } + + grouping image-site-filter-add { + description + "Add a new site to site filters for AP Upgrade"; + leaf image-name { + type string; + mandatory true; + description + "Install file name"; + } + leaf site-name { + type string; + mandatory true; + description + "Site name"; + } + } + + grouping image-site-filter-remove { + description + "Remove a site from AP upgrade site filters"; + leaf image-name { + type string; + mandatory true; + description + "Install file name"; + } + leaf site-name { + type string; + mandatory true; + description + "Site name"; + } + } + + grouping image-site-filter-clear { + description + "Clear the site filters and apply selected operation on all remaining sites. If no operation has been performed, only existing site filters are deleted."; + leaf image-name { + type string; + mandatory true; + description + "Install file name"; + } + leaf uuid { + type string; + mandatory true; + description + "Netconf UUID for clearing AP image site filters"; + } + } + + grouping image-site-filter-apply { + description + "Apply the selected upgrade operation on all newly added sites"; + leaf image-name { + type string; + mandatory true; + description + "Install file name"; + } + leaf uuid { + type string; + mandatory true; + description + "Netconf UUID for applying upgrade for newly added sites"; + } + } + + grouping image-site-filter-remove-all { + description + "Remove all sites from AP upgrade site filters. This will only work for N+1 upgrade/move"; + leaf image-name { + type string; + mandatory true; + description + "Install file name"; + } + } + + grouping ap-move-destination { + description + "Move APs to a destination controller using rolling AP upgrade"; + leaf uuid { + type string; + mandatory true; + description + "Netconf UUID for AP image move to destination"; + } + leaf controller-name { + type string; + mandatory true; + description + "Destination controller hostname"; + } + leaf controller-ip { + type inet:ip-address; + mandatory true; + description + "Destination controller IP address"; + } + leaf report-name { + type string; + description + "Optionally specify an existing upgrade report name from a previous upgrade to get the list of APs"; + } + } + + grouping ap-upgrade-destination { + description + "Start N+1 AP image upgrade to destination"; + leaf uuid { + type string; + mandatory true; + description + "Netconf UUID for AP image upgrade to destination"; + } + leaf controller-name { + type string; + mandatory true; + description + "Destination controller hostname"; + } + leaf controller-ip { + type inet:ip-address; + mandatory true; + description + "Destination controller IP address"; + } + leaf reset { + type boolean; + description + "Reload the controller after upgrade operation is complete"; + } + leaf fallback { + type boolean; + description + "Move the APs back to source controller after the source controller reloads with new image"; + } + leaf secondary-wlc-name { + type string; + description + "Optionally configure secondary controller on the APs"; + } + leaf secondary-wlc-ip { + type inet:ip-address; + description + "Secondary controller IP address"; + } + leaf tertiary-wlc-name { + type string; + description + "Optionally configure tertiary controller on the APs"; + } + leaf tertiary-wlc-ip { + type inet:ip-address; + description + "Tertiary controller IP address"; + } + } + + grouping clear-ap-personal-ssid { + description + "Clear local configuration of Office Extended AP"; + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name to clear local configuration of Office Extended AP"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address to clear configuration of Office Extended AP"; + } + } + } + } + + grouping set-ap-reset-button { + description + "Set AP reset button state"; + leaf reset-button-state { + type boolean; + mandatory true; + description + "Reset button state"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping set-ap-tftp-downgrade { + description + "Set AP TFTP downgrade"; + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "IP address"; + } + leaf file-name { + type string; + mandatory true; + description + "File name"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-static-ip-enable { + description + "Set static IP address for AP"; + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Enter static IP address"; + } + leaf net-mask { + type inet:ip-address; + description + "Enter subnet mask (i.e 255.255.255.0)"; + } + leaf prefix { + type uint32; + description + "Enter network prefix according to subnet mask (i.e 24)"; + } + leaf gateway { + type inet:ip-address; + mandatory true; + description + "Enter static IP Gateway"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name to enable static IP configuration"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to enable static IP configuration"; + } + } + } + } + + grouping rad-static-ip-domain-set { + description + "Static IP domain configuration"; + leaf domain { + type string; + mandatory true; + description + "Domain name"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-static-ip-namesrvr { + description + "AP static IP name server configuration"; + leaf nameserver { + type inet:ip-address; + mandatory true; + description + "Name server IP address"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping get-rad-crash-data-file { + description + "Starts the transfer of AP and radio crash data file from AP to controller"; + leaf opcode { + type wireless-types:ap-rad-crash-data-file; + mandatory true; + description + "Type of AP and radio crash data file"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping network-diagnostics { + description + "Initiate Office Extended AP link test"; + choice alternative-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping set-ap-static-ip-disable { + description + "Unset Cisco AP static IP address configuration"; + choice alternative-choice { + mandatory true; + description + "Choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name to disable static IP configuration"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to disable static IP configuration"; + } + } + } + } + + grouping set-ap-predownload { + description + "Instruct the AP to start image predownload"; + choice alternative-choice { + mandatory true; + description + "Choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name to perform predownload"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to perform predownload"; + } + } + } + } + + grouping swap-ap-image { + description + "Instruct the AP to swap the image"; + leaf enable { + type boolean; + mandatory true; + status deprecated; + description + "When enabled, it is an instruction to AP to swap the current image with the backup image"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name to swap the current image with the backup image"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of AP to swap the current image with the backup image"; + } + } + } + } + + grouping clear-ap-upgrade-report { + description + "Clear AP upgrade report from controller"; + leaf report-name { + type string; + description + "Optionally specify an upgrade report name"; + } + } + + grouping clear-ap-config { + description + "Clear AP config"; + leaf operation-type { + type wireless-types:ap-clear-config-op-type; + mandatory true; + description + "Clear config operation type"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ap-spectral-recording { + description + "Send AP spectral recording event"; + leaf event-type { + type wireless-enum-types:sr-request-type; + must "current() != 'request-undefined'" { + error-message "Undefined-request is not supported for this action"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Event-type to be triggered"; + } + leaf band { + type wireless-enum-types:sr-band; + description + "Band filter for the event to be triggered"; + } + leaf device-type { + type wireless-enum-types:enm-device-type; + description + "Device-type filter for the event to be triggered"; + } + leaf channel { + type uint16 { + range "1..233"; + } + description + "Channel filter for the event to be triggered"; + } + leaf frequency { + type uint32 { + range "2401..7125"; + } + description + "Frequency filter for the event to be triggered"; + } + leaf severity { + type uint8 { + range "1..100"; + } + description + "Severity filter for the event to be triggered"; + } + leaf number-of-captures { + type uint16 { + range "1..20"; + } + description + "Number of captures for the event to be triggered"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name for the event to be triggered"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address of the AP for which the event to be triggered"; + } + } + } + } + + grouping set-ap-usb { + description + "Enable/Disable AP USB option"; + leaf ap-usb-enable { + type boolean; + mandatory true; + description + "Enable/Disable AP USB option"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-usb-override { + description + "Set AP USB override option"; + leaf ap-usb-override { + type boolean; + mandatory true; + description + "Override state"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-role-ap { + description + "Set AP role"; + leaf role { + type wireless-types:ap-role; + mandatory true; + description + "AP role to be set"; + } + leaf rebootcheck { + type boolean; + status deprecated; + description + "Checks for the action if it is coming either from prime or from the CLI"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-ap-keepalive-state { + description + "AP keepalive configuration"; + leaf enable { + type boolean; + mandatory true; + description + "Enable/Disable"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-open-rrm-tx-power-auto { + description + "Configure Open RRM TX Power Parameters"; + leaf slot-id { + type uint8; + mandatory true; + description + "Slot ID for the Radio to which TX Power has to be applied"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + mandatory true; + description + "Band ID, 2.4GHz or 5 GHz of the Radio Slot, to which Tx Parameters to be changed"; + } + leaf tx-power { + type int8; + units "dBm"; + description + "Transmit Power in dBm specific to the Radio slot"; + } + leaf power-change-reason { + type wireless-types:tx-power-change-reason; + mandatory true; + description + "Tx Power Change reason"; + } + leaf rrm-6ghz-lpi-max { + type int8 { + range "-128..127"; + } + description + "This is a recommendation from TPC to notify that Required Tx power is more than max possible in LPI mode"; + } + choice ap-identifier-choice { + mandatory true; + description + "Alternative choice between AP name and Radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name that holds this radio which TX Power parameters to be changed "; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Radio MAC address of AP to which TX Power parameters to be changed"; + } + } + } + } + + grouping set-open-rrm-channel-auto { + description + "Configure Open RRM Channel Parameters"; + leaf slot-id { + type uint8 { + range "0..3"; + } + mandatory true; + description + "Slot ID for the Radio to which channel change has to be applied"; + } + leaf band { + type wireless-enum-types:enm-radio-band; + mandatory true; + description + "Band ID, 2.4GHz, 5 GHz or 6 Ghz of the Radio Slot, to which channel has to be changed"; + } + leaf primary-chan { + type uint8 { + range "0..233"; + } + mandatory true; + description + "channel number to be applied"; + } + leaf extension-chan { + type uint8 { + range "0..233"; + } + mandatory true; + description + "Extension channel number when the channel width is greater than 20MHz channel"; + } + leaf curr-cost-metric { + type int8 { + range "-128..127"; + } + mandatory true; + description + "DCA cost metric for the current channel"; + } + leaf new-cost-metric { + type int8 { + range "-128..127"; + } + mandatory true; + description + "DCA cost metric for the new channel"; + } + leaf secondary-chan-1 { + type uint8 { + range "0..233"; + } + mandatory true; + description + "Extended 40MHz third channel when the channel width is greater than 40MHz channel"; + } + leaf secondary-chan-2 { + type uint8; + mandatory true; + description + "Extended 40MHz fourth channel when the channel width is greater than 40MHz channel"; + } + leaf chan-width { + type wireless-enum-types:rrm-chan-width; + mandatory true; + description + "Channel width number 20 for 20MHz, 40 for 40MHz, 80 for 80MHz, 160 for 160 MHz and 188 for 80 plus 80MHz"; + } + leaf second-best-chan { + type uint8 { + range "0..233"; + } + mandatory true; + description + "Second best channel number as recommended by DCA"; + } + leaf second-best-width { + type wireless-enum-types:rrm-chan-width; + mandatory true; + description + "Second best channel width number 20 for 20MHz, 40 for 40MHz, 80 for 80MHz, 160 for 160 MHz and 188 for 80 plus 80MHz"; + } + leaf second-best-metric { + type int8 { + range "-128..127"; + } + mandatory true; + description + "DCA Cost metric for the second best channel"; + } + leaf is-redundant { + type boolean; + mandatory true; + description + "is Radio redundant"; + } + leaf rrf-metric { + type uint8 { + range "0..100"; + } + mandatory true; + description + "Radios's coverage overlap rate(%) by FRA, 0 to 100"; + } + leaf rrf-contributing { + type boolean; + mandatory true; + description + "Radio is contributing to redundant radio"; + } + leaf dca-chan-width { + type wireless-enum-types:rrm-chan-width; + mandatory true; + description + "Configured RRM DCA Channel width number 20 for 20MHz, 40 for 40MHz, 80 for 80MHz, 160 for 160 MHz and 188 for 80 plus 80MHz"; + } + leaf slave-chan { + type uint16 { + range "0..233"; + } + mandatory true; + description + "The current channel of the slave radio"; + } + leaf slave-metric { + type int8 { + range "-128..127"; + } + mandatory true; + description + "DCA cost metric of the slave channel"; + } + leaf best-channel-lpi { + type uint16 { + range "0..233"; + } + description + "Channel number to be applied to Low Power Indoor"; + } + leaf best-width-lpi { + type wireless-enum-types:rrm-chan-width; + description + "Channel width number for Low Power Indoor"; + } + leaf best-rssi-metric-lpi { + type int8 { + range "-128..127"; + } + description + "DCA Cost metric for the second best channel to Low Power Indoor"; + } + leaf second-best-channel-lpi { + type uint16 { + range "0..233"; + } + description + "Second Best channel number to be applied to Low Power Indoor"; + } + leaf second-best-width-lpi { + type wireless-enum-types:rrm-chan-width; + description + "Second best channel width number for Low Power Indoor"; + } + leaf second-rssi-metric-lpi { + type int8 { + range "-128..127"; + } + description + "Second Best DCA Cost metric for the second best channel to Low Power Indoor"; + } + leaf best-channel-sp { + type uint16 { + range "0..233"; + } + description + "Channel number to be applied to Standard Power Mode"; + } + leaf best-width-sp { + type wireless-enum-types:rrm-chan-width; + description + "Channel width number for Standard Power Mode"; + } + leaf best-rssi-metric-sp { + type int8 { + range "-128..127"; + } + description + "DCA Cost metric for the second best channel to Standard Power Mode"; + } + leaf second-best-channel-sp { + type uint16 { + range "0..233"; + } + description + "Second Best channel number to be applied to Standard Power Mode"; + } + leaf second-best-width-sp { + type wireless-enum-types:rrm-chan-width; + description + "Second best channel width number for Standard Power Mode"; + } + leaf second-rssi-metric-sp { + type int8 { + range "-128..127"; + } + description + "Second Best DCA Cost metric for the second best channel to Standard Power Mode"; + } + leaf rlp-sp-pwrmode-switch { + type boolean; + description + "This is a recommendation to do power mode switch from LPI mode to SP mode"; + } + leaf sp-chan-low-pwr { + type boolean; + description + "6 GHz Radio operating in LPI mode as SP channel allowed txpower is not more than max txpower in LPI mode"; + } + choice ap-identifier-choice { + mandatory true; + description + "Alternative choice between AP name and Radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name that holds this radio to which channel parameters to be changed "; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Radio MAC address of AP to which channel parameters to be changed"; + } + } + } + } + + grouping set-lrad-geolocation-height { + description + "Set AP geolocation height and uncertainty"; + leaf height { + type int16 { + range "-100 .. 1000"; + } + units "meters"; + mandatory true; + description + "AP geolocation height"; + } + leaf height-uncertainty { + type uint16 { + range "1 .. 100"; + } + units "meters"; + mandatory true; + description + "AP geolocation height uncertainty"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping clear-lrad-geolocation-height { + description + "Clear AP geolocation height and uncertainty"; + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-lrad-geolocation-gnss { + description + "Set AP GNSS configuration"; + leaf cable-len { + type uint16 { + range "1 .. 100"; + } + units "meters"; + mandatory true; + description + "AP GNSS external antenna cable length"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-gnss-interval { + description + "Set AP GNSS configuration"; + leaf report-interval { + type uint16 { + range "0..300"; + } + units "seconds"; + must '(../report-interval = 0 or (../report-interval <= 300 and ../report-interval >= 5))' { + error-message "GNSS raw data interval should be between 5 and 300"; + error-app-tag "must-violation"; + } + mandatory true; + description + "AP GNSS raw data collection interval"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice between AP name and MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping ap-sensor-interval { + description + "AP sensor interval for a site tag or all APs"; + leaf site-tag-name { + type string; + description + "Site tag name. If not specified, applied to all APs"; + } + leaf sensor-type { + type wireless-enum-types:enm-ap-sensor-type; + mandatory true; + description + "Sensor type - Air pressure only supported"; + } + leaf duration { + type uint32 { + range "1..1440"; + } + description + "Duration, in minutes, for collecting sensor data"; + } + } + + grouping ap-move { + description + "Parameters for moving an AP to a different access controller"; + leaf destination-name { + type string; + mandatory true; + description + "Destination controller hostname"; + } + leaf destination-ip { + type inet:ip-address; + mandatory true; + description + "Destination controller IP address"; + } + leaf client-steering { + type boolean; + mandatory true; + description + "Enable client steering for 11v capable clients using BSS transition management frames"; + } + leaf client-deauth { + type boolean; + mandatory true; + description + "De-authenticate the clients connected to the AP before AP goes down"; + } + leaf tx-power-reduction { + type boolean; + mandatory true; + description + "Reduce radio transmission power for this AP before AP is moved"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping location-data-ellipse { + description + "AP location coordinates in elliptical representation"; + leaf major-axis { + type uint16; + units "meters"; + description + "Major axis of the ellipse"; + } + leaf minor-axis { + type uint16; + units "meters"; + description + "Minor axis of the ellipse"; + } + leaf uncertainty { + type uint32; + units "meters"; + description + "Location uncertainty"; + } + leaf orientation { + type string { + pattern '[-+]?([0-9]+([.][0-9]*)?|[.][0-9]+)([eE][-+]?[0-9]+)?'; + } + units "degree"; + description + "Orientation of the ellipse measured clockwise from True North"; + } + } + + grouping ap-location-update { + description + "Update AP's location"; + leaf mac { + type yang:mac-address; + mandatory true; + description + "AP MAC address"; + } + leaf src { + type wireless-enum-types:enm-ap-geolocation-location-source; + must "(. = 'ap-geoloc-src-autoloc') or (. = 'ap-geoloc-src-autoloc-afc')"; + mandatory true; + description + "Source of this location"; + } + leaf op-type { + type wireless-enum-types:op-type; + mandatory true; + description + "Type of operation"; + } + leaf location-type { + type wireless-enum-types:enm-geo-loc-info-type; + must "(. = 'ap-geoloc-info-ellipse' and ../ellipse) or (. = 'ap-geoloc-info-point')"; + mandatory true; + description + "Type of location"; + } + container point { + description + "AP location coordinates"; + uses wireless-types:coordinates-string; + } + container ellipse { + description + "AP geolocation in ellipse format"; + uses wireless-access-point-cmd-rpc:location-data-ellipse; + } + } + + grouping ap-support-bundle { + description + "AP support bundle request"; + leaf dest-ip { + type inet:ip-address; + mandatory true; + description + "Destination server's IP address"; + } + leaf dest-username { + type string; + mandatory true; + description + "Destination server's user name"; + } + leaf dest-password { + type string; + mandatory true; + description + "Destination server's password"; + } + leaf dest-path { + type string; + mandatory true; + description + "File path in destination server, where the support bundle need to be stored"; + } + leaf mode { + type wireless-enum-types:support-bundle-transfer-mode; + mandatory true; + description + "File transfer mode, TFTP or SCP"; + } + choice alternative-choice { + mandatory true; + description + "AP name or AP radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + rpc set-rad-predownload-all { + description + "AP Image Predownload for all"; + input { + uses wireless-access-point-cmd-rpc:set-rad-predownload-all; + } + } + + rpc convert-ap-to-meraki { + description + "AP conversion from CAPWAP to Meraki mode"; + input { + uses wireless-access-point-cmd-rpc:convert-ap-to-meraki; + } + } + + rpc set-ap-tags { + description + "Write existing tags config to the AP"; + input { + uses wireless-access-point-cmd-rpc:set-ap-tags; + } + } + + rpc set-rad-capwap-reset { + description + "Instruct the AP to reset the CAPWAP session"; + input { + uses wireless-access-point-cmd-rpc:ap-capwap-reset; + } + } + + rpc ap-reset { + description + "AP reset"; + input { + uses wireless-access-point-cmd-rpc:ap-reset; + } + } + + rpc ap-image-upgrade-dry-run { + description + "Run the AP image upgrade algorithm in dry-run mode"; + } + + rpc ap-image-predownload-abort { + description + "AP Image Predownload abort"; + input { + uses wireless-access-point-cmd-rpc:ap-image-predownload-abort; + } + } + + rpc image-site-filter-add { + description + "Add a new site to site filters for AP Upgrade"; + input { + uses wireless-access-point-cmd-rpc:image-site-filter-add; + } + } + + rpc image-site-filter-remove { + description + "Remove a site from AP upgrade site filters"; + input { + uses wireless-access-point-cmd-rpc:image-site-filter-remove; + } + } + + rpc image-site-filter-clear { + description + "Clear the site filters and apply selected operation on all remaining sites. If no operation has been performed, only existing site filters are deleted."; + input { + uses wireless-access-point-cmd-rpc:image-site-filter-clear; + } + } + + rpc image-site-filter-apply { + description + "Apply the selected upgrade operation on all newly added sites"; + input { + uses wireless-access-point-cmd-rpc:image-site-filter-apply; + } + } + + rpc image-site-filter-remove-all { + description + "Remove all sites from AP upgrade site filters. This will only work for N+1 upgrade/move"; + input { + uses wireless-access-point-cmd-rpc:image-site-filter-remove-all; + } + } + + rpc ap-move-destination { + description + "Move APs to a destination controller using rolling AP upgrade"; + input { + uses wireless-access-point-cmd-rpc:ap-move-destination; + } + } + + rpc ap-upgrade-destination { + description + "Start N+1 AP image upgrade to destination controller. Instruct all the APs to swap their image and join the given controller after reboot"; + input { + uses wireless-access-point-cmd-rpc:ap-upgrade-destination; + } + } + + rpc clear-ap-personal-ssid { + description + "Clear local configuration of Office Extended AP"; + input { + uses wireless-access-point-cmd-rpc:clear-ap-personal-ssid; + } + } + + rpc set-ap-reset-button { + description + "Set AP reset button state"; + input { + uses wireless-access-point-cmd-rpc:set-ap-reset-button; + } + } + + rpc set-ap-tftp-downgrade { + description + "Set AP TFTP downgrade"; + input { + uses wireless-access-point-cmd-rpc:set-ap-tftp-downgrade; + } + } + + rpc set-ap-static-ip-enable { + description + "Configure static IP address for AP"; + input { + uses wireless-access-point-cmd-rpc:set-ap-static-ip-enable; + } + } + + rpc rad-static-ip-domain-set { + description + "Set static IP domain name"; + input { + uses wireless-access-point-cmd-rpc:rad-static-ip-domain-set; + } + } + + rpc set-ap-static-ip-namesrvr { + description + "Set static ip Name Server"; + input { + uses wireless-access-point-cmd-rpc:set-ap-static-ip-namesrvr; + } + } + + rpc get-rad-crash-data-file { + description + "Starts the transfer of AP and radio crash data file from AP to controller"; + input { + uses wireless-access-point-cmd-rpc:get-rad-crash-data-file; + } + } + + rpc network-diagnostics { + description + "Initiate Office Extended AP link test"; + input { + uses wireless-access-point-cmd-rpc:network-diagnostics; + } + } + + rpc set-ap-static-ip-disable { + description + "Unset Cisco AP static IP address configuration"; + input { + uses wireless-access-point-cmd-rpc:set-ap-static-ip-disable; + } + } + + rpc set-ap-predownload { + description + "Instruct the AP to start image predownload"; + input { + uses wireless-access-point-cmd-rpc:set-ap-predownload; + } + } + + rpc swap-ap-image { + description + "Instruct the AP to swap the image"; + input { + uses wireless-access-point-cmd-rpc:swap-ap-image; + } + } + + rpc clear-ap-upgrade-report-name { + description + "Clear all AP upgrade reports from controller. If only one report needs to be deleted, the name can be specified."; + input { + uses wireless-access-point-cmd-rpc:clear-ap-upgrade-report; + } + } + + rpc clear-ap-config { + description + "Clear AP config"; + input { + uses wireless-access-point-cmd-rpc:clear-ap-config; + } + } + + rpc ap-spectral-recording { + description + "Send AP spectral recording event"; + input { + uses wireless-access-point-cmd-rpc:ap-spectral-recording; + } + } + + rpc set-ap-usb { + description + "AP USB data"; + input { + uses wireless-access-point-cmd-rpc:set-ap-usb; + } + } + + rpc set-ap-usb-override { + description + "Set AP USB override"; + input { + uses wireless-access-point-cmd-rpc:set-ap-usb-override; + } + } + + rpc clear-ap-predownload-statistics { + description + "Clear the AP predownload statistics"; + } + + rpc clear-ap-meraki-stats { + description + "Clear AP Meraki conversion statistics"; + } + + rpc ap-nbr-loadbalance-start { + description + "Start RF based AP neighborhood load-balancing algorithm"; + } + + rpc ap-nbr-loadbalance-apply { + description + "Apply RF based AP neighborhood load-balancing algorithm. It will re-balance the APs across WNCD instances"; + } + + rpc ap-nbr-loadbalance-clear { + description + "Clear RF based AP neighborhood load-balancing algorithm data"; + } + + rpc set-role-ap { + description + "Set AP role"; + input { + uses wireless-access-point-cmd-rpc:set-role-ap; + } + } + + rpc set-ap-keepalive-state { + description + "Set AP keepalive state"; + input { + uses wireless-access-point-cmd-rpc:set-ap-keepalive-state; + } + } + + rpc set-open-rrm-tx-power-auto { + description + "Configure Open RRM Tx Power Parameters for AP Radio"; + input { + uses wireless-access-point-cmd-rpc:set-open-rrm-tx-power-auto; + } + } + + rpc set-open-rrm-channel-auto { + description + "Configure Open RRM Channel Parameters for AP Radio"; + input { + uses wireless-access-point-cmd-rpc:set-open-rrm-channel-auto; + } + } + + rpc ap-image-upgrade-abort { + description + "Abort the current AP upgrade algorithm"; + } + + rpc set-lrad-geolocation-height { + description + "Set AP height"; + input { + uses wireless-access-point-cmd-rpc:set-lrad-geolocation-height; + } + } + + rpc clear-lrad-geolocation-height { + description + "Clear AP height"; + input { + uses wireless-access-point-cmd-rpc:clear-lrad-geolocation-height; + } + } + + rpc set-lrad-geolocation-gnss { + description + "Set AP GNSS parameters"; + input { + uses wireless-access-point-cmd-rpc:set-lrad-geolocation-gnss; + } + } + + rpc set-gnss-interval { + description + "Set AP GNSS raw data interval"; + input { + uses wireless-access-point-cmd-rpc:set-gnss-interval; + } + } + + rpc ap-sensor-interval { + description + "Sampling interval for sensor data collection, per site or all APs"; + input { + uses wireless-access-point-cmd-rpc:ap-sensor-interval; + } + } + + rpc ap-move { + description + "Move an AP to a different access controller"; + input { + uses wireless-access-point-cmd-rpc:ap-move; + } + } + + rpc ap-location-update { + description + "Update AP's geolocation for more accurate location"; + input { + uses wireless-access-point-cmd-rpc:ap-location-update; + } + } + + rpc ap-support-bundle { + description + "AP support bundle request"; + input { + uses wireless-access-point-cmd-rpc:ap-support-bundle; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-oper.yang new file mode 100644 index 000000000..718d0ccde --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-access-point-oper.yang @@ -0,0 +1,9867 @@ +module Cisco-IOS-XE-wireless-access-point-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-access-point-oper"; + prefix wireless-access-point-oper; + + import Cisco-IOS-XE-event-history-types { + prefix event-history-types; + } + import Cisco-IOS-XE-wireless-ap-types { + prefix ap-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-rrm-types { + prefix wireless-rrm-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for access point operational data. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added AP Multi Link capability + - Added radio capabilities, MLD MAC, preamble puncturing and multi-link operation status + - Added GNSS antenna serial number + - Added radio band to Radio Neighbor table + - Added multi link BSSID statistics + - Added multi link radio statistics + - Added AP capability for client FTM and dot11az"; + reference + "8.1.0"; + cisco-semver:module-version "8.1.0"; + } + revision 2024-03-01 { + description + "- Adding proxy username and password for AP + - Added sniffer operational data for AP radio + - Added Accelerometer sensor information"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2023-11-01 { + description + "- Added AP indoor default mode + - Added new leaf packet-expiration-time + - Added Meraki monitor capability and connect status + - Added AP uplink interface statistics + - Added AP image and file system status"; + reference + "7.9.0"; + cisco-semver:module-version "7.9.0"; + } + revision 2023-07-01 { + description + "- Added AP Power policy enum to handle the case when power policy is not applied due to clients + - Added power profile type operational data + - Added AP kernel coredump configuration + - Changed description of ewlc-wncd-stats to specify it is only valid for EWC on AP platforms + - Added AP spectral-capture operational data + - Added RF based AP neighborhood algorithm output information and stats + - Added ranging mode + - Added AP regulatory domain information + - Added GNSS antenna product id + - Added Zero wait DFS statistics"; + reference + "7.8.0"; + cisco-semver:module-version "7.8.0"; + } + revision 2023-03-01 { + description + "- Added AP transmit data retransmit interval + - Added Radio-Authority IDs + - Added AP 6GHz power mode information + - Added AP WLAN stats and AP mode data + - Added ICAP sniffer capable flag + - Added RAP ethernet daisy-chain support + - Added AP upgrade client de-auth and tx-power reduction field + - Added two new leaf for AP image download start and download end timestamps and deprecated old leaf for download start and download end timestamp + - Added when condition to current operating channel and frequency string attributes to check for AP radio mode + - Added when condition to radio oper data to check for radio type + - Added when constraint to radio subband"; + reference + "7.7.0"; + cisco-semver:module-version "7.7.0"; + } + revision 2022-11-01 { + description + "- Added coverage overlap factor for Open RRM FRA features + - Added AP power-save mode and power policy entry skipped enum + - Added AP client tracing information + - Update yang-version to 1.1 + - Added country specific regulatory information for all bands as regulatory domain, supported channels, DCA channels and DFS channels + - Added information as ^ indicating ROW domain support + - Added AP priming profile details + - Deprecated DART connection status boolean and replaced with a tri-state enum + - Added AP pressure sensor support + - Added AP pressure sensor capability flag + - Added AP GNSS support + - Added wireless management trustpoint data + - Added AP image download statistics + - Added DHCP ipv4 pool data + - Added USB external module data + - Added supported country specific regulatory information for all bands"; + reference + "7.6.0"; + cisco-semver:module-version "7.6.0"; + } + revision 2022-07-01 { + description + "- Added number of slots in use in AP + - Added AP Meraki data and conversion information + - Added Zero wait DFS capability data + - Added MDNS rule group method + - Added 802.11ax capabilities for XOR 5/6 GHz radio + - Added new configuration for AP upgrade + - Added support for AAA Location information attributes + - Added serial console under device management configuration + - Added antenna labels 7 and 8 + - Added led flash expiry time + - Added TX power level indices for AP radios + - Added LSC expiry time + - Added configured channel list. + - Added data pertaining to hyperlocation, resolved tags, and other miscellaneous fields + - Added supported antenna modes 5, 6, 7 and 8"; + reference + "7.5.0"; + cisco-semver:module-version "7.5.0"; + } + revision 2022-03-01 { + description + "- Added multi domain dot11n capabilities and station configuration data + - Added sniffer configuration parameters + - Added additional 802.11ax capability data + - Added additional AP Ethernet interface information + - Added PMK Propagation sender and receiver AP MAC + - Added a counter for the number of radios in sniffer role + - Added AP sensor support + - Added AP power profile information, associated calendar profile and AP de-rating capability flag + - Added a limit for the maximum number of clients allowed on an AP + - Added flag for AP Zero wait Dynamic Frequency Selection (DFS) capability + - Added WTP extension module information + - Added AP convert to Meraki capability flag"; + reference + "7.4.0"; + cisco-semver:module-version "7.4.0"; + } + revision 2021-11-01 { + description + "- Added support for AP OOB (out-of-band) image download + - Added action for high memory or high CPU usage of the AP + - Added radio reset count flag + - Added radio statistics monitor data + - Added AP certificate issuer common name + - Added mesh parameters for serial backhaul + - Added CDP cache related fields + - Added IoT Radio firmware information + - Added Spatial Reuse Group (SRG) capability for Overlapping Basic Service Set Packet Detect (OBSS PD) + - Added PMK distribution capability and AP role + - Added per radio maximum client limit + - Added additional radio oper stats"; + reference + "7.3.0"; + cisco-semver:module-version "7.3.0"; + } + revision 2021-07-01 { + description + "- Added support NTP AP authentication and status + - Added support for image direct download under AP capability + - Added support for AP timezone + - Added flag for AID managing capability of the AP + - Updated SIA parameters for Marlin 4 antenna + - Added 6 GHz radio type enum + - Added 802.11ax transmitted BSSID + - Added antenna configuration parameters + - Added DTLS LSC fallback state of AP + - Added per AP CAPWAP packet counters + - Added supported channels and transmit power for AP radio + - Added antenna label parameter"; + reference + "7.2.0"; + cisco-semver:module-version "7.2.0"; + } + revision 2021-03-01 { + description + "- Added support for LLDP neighbor + - Added support for AP stats + - Added neighbor discovery capability and mode for AP + - Added support for on-demand Office Extended AP link test + - Added QoS client values + - Added support for staggered AP upgrade stats + - Added AP LSC status, AP cert expiry time and DTLS certificate policy information + - Added flags ant-1-2-3-no-config and dual-radio-enable under AP capability + - Added static address details for AP and deprecated ip addr"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2020-11-01 { + description + "- Added support for antenna monitoring configuration + - Added 802.11ax OBSS PD radio capability + - Added support for AP disconnect reason + - Added AP image file information for installed images + - Added RPC support for ap image predownload and abort + - Added USB data and obsolete status for is-ext-module-enabled under CAPWAP data + - Added RX/TX radio operational stats + - Added support for per AP SSID operational information + - Deprecated Rogue RLDP capability + - Added Channel availability check status"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2020-07-01 { + description + "- Added MDNS group ID + - Added mesh daisy chain STP redundancy support + - Added support for AP image predownload information + - Added support for monitoring gRPC channel from AP to Cisco-DNA + - Added MDNS rule name + - Added external module capability flag to indicate whether AP has support for an external module + - Updated description for rlan-port-id leaf node + - Added support bundle file transfer information + - Added support for AP Audit Report + - Added support for AP temperature + - Added support for AP 6300 with two antennas + - Added support for AP click OS feature set + - Added support for Controller image predownload information + - Added support for AP Single Band Antenna Mode + - Added support for AP system info including CPU type and memory type + - Added support for noise floor and FCS error count + - Added Traffic Distribution Statistics Capability and Dual DFS Statistics Capability to AP capability flag + - Added antenna-gain + - Added new states for GRPC connection from AP to Cisco DNA + - Added BSS channel utilisation and control stats + - Added EWC predownload state + - Added USB or PSE supported flag under AP capability"; + reference + "6.5.0"; + cisco-semver:module-version "6.5.0"; + } + revision 2020-03-01 { + description + "- Added download image size percentage and ETA + - Added window size for CAPWAP multiwindow + - Added image name for CAPWAP WTP data + - Added support for RADIUS counters + - Added support for persistent SSID broadcast + - Added support for AP proxy + - Added IPv6 static address details for APs + - Added two new flags for AP capability ap-min-two-antennas-to-be-enabled and ap-antennas-5-6-7-not-configurable"; + reference + "6.4.0"; + cisco-semver:module-version "6.4.0"; + } + revision 2019-11-01 { + description + "- Added AP AWIPS Capability + - Added AP power type + - Added UDP-Lite operational information + - Added multi-lan-port-capable flag under AP capability + - Added AP LAN operational information + - Added support for IOX application hosting on APs + - Added support for Auxiliary Client Interface on APs + - Added radio enable time for AP + - Added 802.11ax BSS color configuration and capability + - Added strict-wired-uplink-capable flag under AP capability + - Added dual radio mode and FRA capable parameters + - Added AP LED flash state and duration timer + - Added highest throughput supported by radio"; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2019-08-26 { + description + "- Added radio enable time for AP + - Added flag definition for MCS rates + - Added antenna-band-mode-capable flag under AP capability + - Added SIA parameters for AP radio"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2019-06-18 { + description + "- Added NTP server information to be used by AP + - Added Various statistics counter for SSID + - Added ap-mac-ssid-info to keep the list of clients MAC address for each SSID + - Updated description for leaf node ht-enable + - Added rrm-channel-change-reason + - Added monitor mode optimization information + - Added semantic version + - Added slot-antenna-type + - Added AP filter name"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-02-24 { + description + "- Renamed QoS enum type + - Removal of unused leaves from QoS enum + - Added new enum for cac state type + - Removal of unused leaves from qos client data + - Added description of AP capabilities + - Added new leaf AP stationing type to identify AP type + indoor or outdoor + - Added secondary 80 channel of 80+80 channel width + - Added me-internal-ap + - Removal of unused leaves + - Added fallback wait status in AP upgrade status + - Added fallback type in AP upgrade report + - Added new enum for AP upgrade fallback type + - Added current-band-id for radio-oper-stats + - Cleaned up spelling errors in descriptions + - Removed CAC counters from Radio statistics information + - Added rrm-channel-change-reason + - Removal of unused leaves + - Added upgrade failure type in AP upgrade report + - Added new enum for AP upgrade failure reason + - Added lists for AP software related information + - Updated description for leaf nodes leg-tx-bf-enabled, current-band-id and he-stbc-mode + - Added leaf node current-active-band + - Removed redundant leaves under capwap-data + - Categorized attributes into AP static and dynamic information, + clubbed the various version of the AP together and changed few + of the leaf descriptions to make them more appropriate/precise + - Added wtp-serial-num for capwap-data + - Added additional AirTime Fairness Statistics + - Added sensor-mode-capable and only-local-mode-capable flags under AP capability + - Removal of less important leaf nodes from AP and Radio operational data + - Removed radio-uptime from radio-oper-stats"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2018-06-28 { + description + "- Add AP name for which bandwidth is allocated, number of active TSPEC and SIP calls + - Remove voice client from qos client data + - Add SIP active and rejected call counters + - Add SIP call-control metrics"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-04-02 { + description + "Replaced an existing attribute lookup_neigh_mac with + neighbor_ap_name"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Enum value change"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enum-ap-state { + type enumeration { + enum ap-down { + value 1; + description + "AP state is Down"; + } + enum ap-up { + value 2; + description + "AP state is Up"; + } + enum unregistered { + value 3; + description + "AP state is un-registered"; + } + enum registered { + value 4; + description + "AP state is Registered"; + } + enum downloading { + value 5; + description + "AP state is Image Download"; + } + } + description + "Operational state of AP"; + } + + typedef enum-ap-stationing-type { + type enumeration { + enum indoor-ap { + value 0; + description + "AP stationing type INDOOR"; + } + enum outdoor-ap { + value 1; + description + "AP stationing type OUTDOOR"; + } + } + description + "AP stationing type, indoor or outdoor"; + } + + typedef enm-cert-type { + type enumeration { + enum wireless-cert-mic { + value 1; + description + "Cert type: Manufacturer Installed Certificate"; + } + enum wireless-cert-ssc { + value 2; + description + "Cert type: Self Signed Certificate"; + } + enum wireless-cert-lsc { + value 3; + description + "Cert type: Locally Significant Certificate"; + } + } + description + "enumeration to define certificate types with which + AP can join"; + } + + typedef enm-vlan-state { + type enumeration { + enum vlan-tagging-disabled { + value 0; + description + "VLAN tagging disabled"; + } + enum vlan-tagging-enabled { + value 1; + description + "VLAN tagging enabled"; + } + enum vlan-tagging-failover { + value 2; + description + "VLAN tagging failover"; + } + } + description + "AP VLAN tagging state"; + } + + typedef enum-ap-dna-grpc-status-code { + type enumeration { + enum cisco-dna-grpc-status-unknown { + value 0; + description + "gRPC status is unknown"; + } + enum cisco-dna-grpc-status-up { + value 1; + description + "gRPC status is up"; + } + enum cisco-dna-grpc-status-down-disabled { + value 2; + description + "gRPC status is down because disabled"; + } + enum cisco-dna-grpc-status-down-wrong-token { + value 3; + description + "gRPC status is down because of wrong token"; + } + enum cisco-dna-grpc-status-down-wrong-certificate { + value 4; + description + "gRPC status is down because of wrong certificate"; + } + enum cisco-dna-grpc-status-down-server-unreachable { + value 5; + description + "gRPC status is down because of server unreachable"; + } + enum cisco-dna-grpc-status-down-service-down { + value 6; + description + "gRPC status is down because of service being down"; + } + enum cisco-dna-grpc-status-down-unknown-error { + value 7; + description + "gRPC status is down because of unknown error"; + } + } + description + "enumeration to define the possible states of the gRPC connection from AP to Cisco-DNA"; + } + + typedef enum-ap-temp-heater-status { + type enumeration { + enum heater1-off-heater2-off { + value 0; + description + "Both heater 1 and heater 2 are off"; + } + enum heater1-on-heater2-off { + value 4; + description + "Heater 1 is on and heater 2 is off"; + } + enum heater1-off-heater2-on { + value 8; + description + "Heater 1 is off and heater 2 is on"; + } + enum heater1-on-heater2-on { + value 12; + description + "Both heater 1 and heater 2 are on"; + } + } + description + "Enumeration to define possible states of AP heater status"; + } + + typedef enum-ap-temp-status { + type enumeration { + enum normal { + value 1; + description + "AP temperature status is normal"; + } + enum abnormal { + value 3; + description + "AP temperature status is abnormal"; + } + } + description + "Enumeration to define possible states of AP temperature status"; + } + + typedef ewlc-ntp-server-status { + type enumeration { + enum ntp-server-notconfig { + value 0; + description + "There is no configuration for NTP"; + } + enum ntp-server-nostatus { + value 1; + description + "There is no status currently for NTP"; + } + enum ntp-server-unreachable { + value 2; + description + "The NTP server is unreachable"; + } + enum ntp-server-sync { + value 3; + description + "The NTP server is in sync with device"; + } + enum ntp-server-notsync { + value 4; + description + "The device is not in sync with the NTP server"; + } + enum ntp-server-waitsync { + value 5; + description + "The NTP server is waiting for sync with device"; + } + enum ntp-server-authfailed { + value 6; + description + "The NTP server authentication failed"; + } + enum ntp-server-notsuitable { + value 7; + description + "The NTP server is not suitable"; + } + } + description + "enumeration to define the NTP server status"; + } + + typedef enm-ap-priming-source { + type enumeration { + enum ap-priming-source-none { + value 0; + description + "Unknown AP priming profile source"; + } + enum ap-priming-source-ap-mac { + value 1; + description + "AP priming profile configured under AP MAC"; + } + enum ap-priming-source-ap-filter { + value 2; + description + "AP priming profile configured under AP filter"; + } + } + description + "AP priming profile source"; + } + + typedef ap-misconfig { + type enumeration { + enum apmgr-no-misconfig { + value 0; + description + "No misconfiguration"; + } + enum country-misconfig { + value 1; + description + "AP country misconfiguration"; + } + enum world-wide-mode { + value 2; + description + "AP is in world wide mode"; + } + } + description + "AP misconfiguration reasons"; + } + + typedef reg-domain-resoultion-method { + type enumeration { + enum invalid-method { + value 0; + description + "Invalid method"; + } + enum gps { + value 1; + description + "GPS location"; + } + enum proximity { + value 2; + description + "Proximity"; + } + enum regulatory-file { + value 3; + description + "Regulatory domain file"; + } + enum ip-address { + value 4; + description + "IP address"; + } + } + description + "AP Regulatory domain resolution method"; + } + + typedef oeap-link-test-state { + type enumeration { + enum never-started { + value 0; + description + "Link test was never started"; + } + enum running { + value 1; + description + "Link test is running"; + } + enum success { + value 2; + description + "Link test is terminated with success"; + } + enum failure { + value 3; + description + "Link test is terminated with failure"; + } + } + description + "State of the Office Extended AP link test"; + } + + typedef ap-sys-alarm-status { + type enumeration { + enum alarm-inactive { + value 0; + description + "Alarm inactive"; + } + enum alarm-active-soaking { + value 1; + description + "Alarm active soaking"; + } + enum alarm-active { + value 2; + description + "Alarm active"; + } + enum alarm-inactive-soaking { + value 3; + description + "Alarm inactive soaking"; + } + } + description + "enumeration to define the AP system stats alarm status"; + } + + typedef ap-sys-alarm-type { + type enumeration { + enum alarm-cpu { + value 0; + description + "Alarm CPU"; + } + enum alarm-memory { + value 1; + description + "Alarm memory"; + } + } + description + "enumeration to define the AP system stats alarm type"; + } + + typedef meraki-pre-conv-status { + type enumeration { + enum mk-cv-validation-success { + value 0; + description + "Validation success"; + } + enum mk-cv-err-miscfg-country { + value 1; + description + "Country-code misconfigured"; + } + enum mk-cv-err-no-reg-domain { + value 2; + description + "Regulatory domain not set"; + } + enum mk-cv-err-ap-disjoined { + value 3; + description + "AP is not responsive and disjoined"; + } + enum mk-cv-err-no-ap-ack { + value 4; + description + "No acknowledgement from AP"; + } + enum mk-cv-err-set-ap-env { + value 5; + description + "Set Meraki environment failure at AP"; + } + enum mk-cv-err-internal { + value 6; + description + "Internal error"; + } + enum mk-cv-err-unknown { + value 7; + description + "Unknown failure"; + } + } + description + "Meraki mode pre conversion status"; + } + + typedef ap-meraki-connect-status { + type enumeration { + enum am-status-unknown { + value 0; + description + "Status unknown"; + } + enum am-status-reg-success { + value 1; + description + "Registration successful for Meraki connect"; + } + enum am-status-reg-failed { + value 2; + description + "Registration failed for Meraki connect"; + } + enum am-status-not-reg { + value 3; + description + "AP not yet registered for Meraki connect"; + } + enum am-status-disabled { + value 4; + description + "Meraki connect is disabled"; + } + enum am-status-unsupported { + value 5; + description + "Meraki monitoring not supported on AP"; + } + } + description + "AP Meraki connect status"; + } + + typedef enum-ap-image-type { + type enumeration { + enum undefined-image { + value 0; + description + "Undefined image on AP"; + } + enum primary-image { + value 1; + description + "AP primary image"; + } + enum backup-image { + value 2; + description + "AP backup image"; + } + } + description + "AP image type"; + } + + typedef enum-ap-file-status { + type enumeration { + enum good { + value 0; + description + "File is not corrupted"; + } + enum corrupted { + value 1; + description + "File is corrupted"; + } + } + description + "AP file Status"; + } + + typedef enum-ap-partition { + type enumeration { + enum part1 { + value 0; + description + "Image is stored on partition 1"; + } + enum part2 { + value 1; + description + "Image is stored on partition 2"; + } + } + description + "AP partition"; + } + + typedef ap-ppe-status { + type enumeration { + enum ap-pwr-pol-entry-success { + value 0; + description + "Power policy entry is successfully applied"; + } + enum ap-pwr-pol-entry-na { + value 1; + description + "Power policy entry is not applicable"; + } + enum ap-pwr-pol-entry-not-eval { + value 2; + description + "Power policy entry is not evaluated"; + } + enum ap-pwr-pol-entry-fixed-pol { + value 3; + description + "Power policy entry has fixed power policy applied"; + } + enum ap-pwr-pol-entry-unknown { + value 4; + description + "Power policy entry status unknown"; + } + enum ap-pwr-pol-entry-skipped { + value 5; + description + "Power policy entry is skipped"; + } + enum ap-pwr-pol-not-applied { + value 6; + description + "Power policy entry is not applied due to clients"; + } + } + description + "Power policy entry status of AP"; + } + + typedef ap-power-status { + type enumeration { + enum ap-pwr-pol-success { + value 0; + description + "Power policy is successfully applied"; + } + enum ap-pwr-pol-less-derating { + value 1; + description + "Power policy de-rating is insufficient"; + } + enum ap-pwr-pol-fixed { + value 2; + description + "AP applied a fixed policy as power policy is absent"; + } + enum ap-pwr-pol-unknown { + value 3; + description + "Power policy status unknown"; + } + } + description + "Power policy status of AP"; + } + + typedef ap-debug-bundle-event-type { + type enumeration { + enum debug-bundle-client { + value 0; + description + "Client debug bundle"; + } + enum debug-bundle-spectral { + value 1; + description + "Spectral debug bundle"; + } + } + description + "Event type for AP debug bundle"; + } + + typedef ap-spectral-capture-event { + type enumeration { + enum unknown-event { + value 0; + description + "Spectral-capture event unknown"; + } + enum start-request { + value 1; + description + "Spectral-capture event start-request"; + } + enum start-request-timeout { + value 2; + description + "Spectral-capture event start request timed-out"; + } + enum start-response-failed { + value 3; + description + "Spectral-capture event start response failed"; + } + enum stop-request { + value 4; + description + "Spectral-capture event stop request"; + } + enum stop-request-timeout { + value 5; + description + "Spectral-capture event stop request timed-out"; + } + enum stop-response-failed { + value 6; + description + "Spectral-capture event stop response failed"; + } + enum stop-response-success { + value 7; + description + "Spectral-capture event stop response success"; + } + enum abort-request { + value 8; + description + "Spectral-capture event abort request"; + } + enum capture-response-in-progress { + value 9; + description + "Spectral-capture event capture response in-progress"; + } + enum capture-response-failed { + value 10; + description + "Spectral-capture event capture response failed"; + } + enum capture-response-success { + value 11; + description + "Spectral-capture event capture response success"; + } + enum jwt-token-request-timeout { + value 12; + description + "Spectral-capture event JWT request timed-out"; + } + enum upload-request { + value 13; + description + "Spectral-capture event upload request"; + } + enum upload-request-timeout { + value 14; + description + "Spectral-capture event upload request timed-out"; + } + enum upload-response-failed { + value 15; + description + "Spectral-capture event upload response failed"; + } + enum upload-response-in-progress { + value 16; + description + "Spectral-capture event upload response in-progress"; + } + enum upload-response-success { + value 17; + description + "Spectral-capture event upload response success"; + } + } + description + "Spectral-capture event"; + } + + typedef ap-spectral-capture-state { + type enumeration { + enum state-unknown { + value 0; + description + "Spectral-capture state unknown"; + } + enum state-init { + value 1; + description + "Spectral-capture state initial"; + } + enum state-starting { + value 2; + description + "Spectral-capture state starting"; + } + enum state-stopping { + value 3; + description + "Spectral-capture state stopping"; + } + enum state-stopped { + value 4; + description + "Spectral-capture state stopped"; + } + enum state-capture-in-progress { + value 5; + description + "Spectral-capture state capture-in-progress"; + } + enum state-uploading { + value 6; + description + "Spectral-capture state up-loading"; + } + enum state-upload-in-progress { + value 7; + description + "Spectral-capture state upload-in-progress"; + } + } + description + "Spectral-capture state"; + } + + typedef enum-radio-admin-state { + type enumeration { + enum enabled { + value 1; + description + "Radio Admin State is Enabled"; + } + enum disabled { + value 2; + description + "Radio Admin State is Disabled"; + } + } + description + "Radio Admin state"; + } + + typedef enum-radio-oper-state { + type enumeration { + enum radio-up { + value 0; + description + "Radio Operational State Enabled"; + } + enum radio-down { + value 1; + description + "Radio Operational State Disabled"; + } + } + description + "Radio Operational state"; + } + + typedef radio-sniff-dis-rson-code { + type enumeration { + enum sniffer-reason-none { + value 0; + description + "Sniffer enabled"; + } + enum dual-5ghz-radio-disabled { + value 1; + description + "Sniffer disabled, dual 5GHz disabled"; + } + enum ap-mode-non-client-serv { + value 2; + description + "Sniffer disabled, AP not in client serving mode"; + } + enum reg-domain-mismatch { + value 3; + description + "Sniffer disabled, regulatory domain mismatch"; + } + enum dual-5ghz-radios-up { + value 4; + description + "Sniffer disabled, dual 5GHz radios UP"; + } + enum ranging-mode-disruptive { + value 5; + description + "Sniffer disabled, ranging mode disruptive in progress"; + } + } + description + "Sniffer disable reason code for the AP radio"; + } + + typedef enm-antenna-label { + type enumeration { + enum ap-ant-invalid { + value 0; + description + "Invalid antenna label"; + } + enum ap-ant-a { + value 1; + description + "Antenna label A"; + } + enum ap-ant-b { + value 2; + description + "Antenna label B"; + } + enum ap-ant-c { + value 3; + description + "Antenna label C"; + } + enum ap-ant-d { + value 4; + description + "Antenna label D"; + } + enum ap-ant-e { + value 5; + description + "Antenna label E"; + } + enum ap-ant-f { + value 6; + description + "Antenna label F"; + } + enum ap-ant-g { + value 7; + description + "Antenna label G"; + } + enum ap-ant-h { + value 8; + description + "Antenna label H"; + } + enum ap-ant-1 { + value 9; + description + "Antenna label 1"; + } + enum ap-ant-2 { + value 10; + description + "Antenna label 2"; + } + enum ap-ant-3 { + value 11; + description + "Antenna label 3"; + } + enum ap-ant-4 { + value 12; + description + "Antenna label 4"; + } + enum ap-ant-5 { + value 13; + description + "Antenna label 5"; + } + enum ap-ant-6 { + value 14; + description + "Antenna label 6"; + } + enum ap-ant-7 { + value 15; + description + "Antenna label 7"; + } + enum ap-ant-8 { + value 16; + description + "Antenna label 8"; + } + } + description + "Enumeration defining antenna labels"; + } + + typedef enm-radio-op-stats-type { + type enumeration { + enum radio-stats-multi-link { + value 0; + description + "Multi link type radio"; + } + } + description + "Radio statistics type"; + } + + typedef enm-ssid-counter-type { + type enumeration { + enum ssid-counter-multi-link { + value 0; + description + "Multi link type"; + } + } + description + "Enumeration defining SSID counter type"; + } + + typedef ewlc-rlan-poe-state { + type enumeration { + enum poe-disabled { + value 0; + description + "PoE is disabled"; + } + enum poe-enabled { + value 1; + description + "PoE is enabled"; + } + enum poe-not-applicable { + value 2; + description + "PoE is not applicable on AP LAN port"; + } + } + description + "PoE state of AP LAN port"; + } + + typedef enm-apphost-state { + type enumeration { + enum apphost-disabled { + value 0; + description + "Application hosting is disabled"; + } + enum apphost-enabled { + value 1; + description + "Application hosting is enabled"; + } + enum apphost-libvrt-failure { + value 2; + description + "Application hosting failure because of Virtualization Library"; + } + enum apphost-caf-failure { + value 3; + description + "Application hosting failure because of Cisco Application hosting Framework"; + } + } + description + "enumeration to define the possible states of the application hosting of the AP"; + } + + typedef enum-trustpoint-fips-suitability { + type enumeration { + enum fips-na { + value 0; + description + "FIPS not applicable"; + } + enum fips-suitable { + value 1; + description + "FIPS suitable"; + } + enum fips-not-suitable { + value 2; + description + "FIPS not suitable"; + } + } + description + "FIPS suitability"; + } + + typedef ap-img-site-status { + type enumeration { + enum ap-img-site-map-false { + value 0; + description + "Operation not started"; + } + enum ap-img-site-ongoing { + value 1; + description + "Operation ongoing"; + } + enum ap-img-site-map-true { + value 2; + description + "Operation completed"; + } + } + description + "Install operation status of site in AP upgrade"; + } + + typedef flag-ap-capability { + type bits { + bit bridge-mode-capable { + position 0; + description + "Ap capability for bridge mode"; + } + bit mesh-daisy-chaining-capable { + position 1; + description + "AP capability for daisy chaining mode"; + } + bit cap-three-spatial-streams-capable { + position 2; + description + "AP capability for spatial streams mode"; + } + bit antenna-selection-restricted-capable { + position 3; + description + "AP capability for antenna selection mode"; + } + bit avc-cnf-capable { + position 4; + description + "AP capability for avc fnf mode"; + } + bit rxsop-threshold-capable { + position 5; + description + "AP capability for rxsop threshold mode"; + } + bit fabric-capability { + position 6; + description + "AP capability for fabric mode"; + } + bit rogue-rldp-capable { + position 7; + status deprecated; + description + "AP capability for rogue rldp mode"; + } + bit barbados-external-antenna-sku-capable { + position 8; + description + "Barbados AP capability for external antenna mode"; + } + bit barbados-internal-antenna-sku-capable { + position 9; + description + "Barbados AP capability for internal antenna mode"; + } + bit barbados-location-antenna-sku-capable { + position 10; + description + "Barbados AP capability for location antenna mode"; + } + bit remote-lan-capable { + position 11; + description + "AP capability for remote lan mode"; + } + bit dot11ac-160mhz-channel-width-capable { + position 12; + description + "AP capability for dot11 channel width mode"; + } + bit location-optimized-monitor-mode-capable { + position 13; + description + "AP capability for optimized monitor mode"; + } + bit avc-fnf-fabric-capable { + position 14; + description + "AP capability for avc fabric mode"; + } + bit telent-capable { + position 15; + description + "AP capability for telnet mode"; + } + bit ap-packet-capture-capable { + position 16; + description + "AP capability for packet capture mode"; + } + bit ap-cts-capable { + position 17; + description + "AP capability for cts mode"; + } + bit ap-qca-spectrum-intelligence-capable { + position 18; + description + "AP capability for spectrum intelligence mode"; + } + bit fips-capable { + position 19; + description + "AP capability for fips mode"; + } + bit is-dot1x-port-auth-capable { + position 20; + description + "AP capability for dot1x port authentication mode"; + } + bit ap-tracing-capable { + position 21; + description + "AP capability for tracing enable from Controller"; + } + bit ap-wpa3-capable { + position 22; + description + "AP capability for WPA3 authentication"; + } + bit is-lag-capable { + position 23; + description + "AP capability for lag mode"; + } + bit ap-eta-capable { + position 24; + description + "AP capability for Encrypted Traffic Analytics"; + } + bit is-li-capable { + position 25; + description + "AP capability for LI"; + } + bit office-extend-capable { + position 26; + description + "AP capability for office extend mode"; + } + bit eth2-rlan-capable { + position 27; + description + "AP capability for Ethernet2 as RLAN port, when LAG is disabled"; + } + bit nbn-capable { + position 28; + description + "AP capability for NBN features"; + } + bit ap-mewlc-capable { + position 29; + description + "AP capability for AP MEWLC features"; + } + bit sniffer-mode-capable { + position 30; + description + "AP capability for sniffer mode"; + } + bit icap-full-packet-trace-capable { + position 31; + description + "AP capability for icap full packet trace"; + } + bit icap-partial-capable { + position 32; + description + "AP capability for icap partial packet trace"; + } + bit icap-anomaly-detection-capable { + position 33; + description + "AP capability for icap anomaly detection"; + } + bit icp-statistics-capable { + position 34; + description + "AP capability for icap statistics"; + } + bit icap-rf-spectrum-capable { + position 35; + description + "AP capability for icap RF spectrum"; + } + bit icap-feature-capable { + position 36; + description + "AP capability for icap features"; + } + bit sensor-mode-capable { + position 37; + description + "AP capability for sensor mode"; + } + bit only-local-mode-capable { + position 38; + description + "AP capability for only local mode"; + } + bit antenna-band-mode-capable { + position 39; + description + "AP capability for antenna band mode"; + } + bit sia-capable { + position 40; + description + "AP capability for Self Identifying Antenna"; + } + bit ap-awips-capable { + position 41; + description + "AP capability for AWIPS"; + } + bit multi-lan-port-poe-capable { + position 42; + description + "AP capability for multiple PoE ports support"; + } + bit iox-hardware-capable { + position 43; + description + "AP hardware capability for IOX feature"; + } + bit auxiliary-client-interface-capable { + position 44; + description + "AP Auxiliary Client Interface capability"; + } + bit strict-wired-uplink-capable { + position 45; + description + "AP capability for strict wired uplink"; + } + bit ap-min-two-antennas-to-be-enabled { + position 46; + description + "AP capability for minimum of two Antennas to be enabled"; + } + bit ap-antennas-5-6-7-not-configurable { + position 47; + description + "AP capability for Antenna ID 5, 6, 7 not configurable"; + } + bit ap-indoor-mode-capable { + position 48; + description + "AP capability for Indoor Mode"; + } + bit ext-module-capable { + position 49; + description + "AP capability for for external module support"; + } + bit ap-heaters-capable { + position 50; + description + "AP capability for heater support"; + } + bit ap-6300-with-two-antenna-capable { + position 51; + description + "AP capability for 6300 AP with two Antennas"; + } + bit click-os-feature-set { + position 52; + description + "AP capability for click OS feature set support"; + } + bit single-band-antenna-mode { + position 53; + description + "AP capability for single band antenna mode"; + } + bit mesh-daisychain-stp-redundancy-capable { + position 54; + description + "AP capability for daisy chain STP redundancy support"; + } + bit td-stats { + position 55; + description + "AP capability for traffic distribution stats support"; + } + bit dual-dfs-stats { + position 56; + description + "AP capability for dual dfs stats support"; + } + bit usb-or-pse-capable { + position 57; + description + "AP capability for either USB or PSE supported"; + } + bit ant-1-2-3-no-config { + position 58; + description + "AP capability for Antenna IDs 1(A),2(B),3(C) not configurable"; + } + bit dual-radio-enable { + position 59; + description + "AP capability for enabling dual-radio in the absence of external antenna"; + } + bit image-direct-download { + position 60; + description + "AP capability for efficient direct download URI"; + } + bit aid-manage-capable { + position 61; + description + "AP capability for Managing AID"; + } + bit oob-img-dwnld-capable { + position 62; + description + "AP capability for OOB(out-of-band, outside CAPWAP control path) image download"; + } + bit mesh-serial-bhaul-capable { + position 63; + description + "AP capability for Mesh Serial backhaul"; + } + bit ap-pmk-push-capable { + position 64; + description + "AP capability for PMK distribution"; + } + bit ap-sensor-air-qlty-capable { + position 65; + description + "AP capability for air-quality environmental sensor hardware support"; + } + bit ap-sensor-temp-capable { + position 66; + description + "AP capability for temperature environmental sensor hardware support"; + } + bit ap-power-derate-capable { + position 67; + description + "AP capability for power profile de-rated support"; + } + bit ap-meraki-capable { + position 68; + description + "AP capability for Meraki conversion"; + } + bit zero-wait-dfs-capable { + position 69; + description + "AP capability for zero wait DFS"; + } + bit ap-sensor-press-capable { + position 70; + description + "AP capability for pressure sensor hardware support"; + } + bit ap-geoloc-capable { + position 71; + description + "AP capability for geolocation hardware support"; + } + bit icap-sniffer-capable { + position 72; + description + "AP capability for icap-driven sniffer"; + } + bit ap-mesh-rap-eth-daisy-chain { + position 73; + description + "AP capability for rap ethernet daisy-chain support"; + } + bit ftm-responder-mode-capable { + position 74; + description + "AP capability for Fine Timing Measurement responder mode support"; + } + bit ftm-initiator-mode-capable { + position 75; + description + "AP capability for Fine Timing Measurement initiator support"; + } + bit uwb-responder-mode-capable { + position 76; + description + "AP capability for Ultra-Wideband responder mode support"; + } + bit uwb-initiator-mode-capable { + position 77; + description + "AP capability for Ultra-Wideband initiator support"; + } + bit ap-outdoor-mode-capable { + position 78; + description + "AP capability for Outdoor Mode"; + } + bit ap-sensor-accelerator-capable { + position 79; + description + "AP capability for accelerometer environmental sensor hardware support"; + } + bit ap-mlo-capable { + position 80; + description + "AP capability for multi-link operation"; + } + bit cipher-support-gcmp256 { + position 81; + description + "AP capability for GCMP256 Cipher"; + } + bit ap-single-pid-capable { + position 82; + description + "AP single PID capability"; + } + } + description + "AP Capabilities"; + } + + typedef flag-ap-capability-ext { + type bits { + bit ap-client-ftm-capable { + position 0; + description + "AP capability for client FTM(Fine Time Measurement)"; + } + bit ap-dot11az-capable { + position 1; + description + "AP capability for dot11az"; + } + } + description + "AP Capabilities"; + } + + typedef lldp-device-capability { + type bits { + bit lldp-device-other-capable { + position 0; + description + "LLDP device other capable"; + } + bit lldp-device-repeater-capable { + position 1; + description + "LLDP device repeater capable"; + } + bit lldp-device-bridge-capable { + position 2; + description + "LLDP device bridge capable"; + } + bit lldp-device-wlan-ap-capable { + position 3; + description + "LLDP device WLAN AP capable"; + } + bit lldp-device-router-capable { + position 4; + description + "LLDP device router capable"; + } + bit lldp-device-telephone-capable { + position 5; + description + "LLDP device telephone capable"; + } + bit lldp-device-docsis-capable { + position 6; + description + "LLDP device DOCSIS cable capable"; + } + bit lldp-device-station-capable { + position 7; + description + "LLDP device station capable"; + } + } + description + "LLDP neighbor device capabilities"; + } + + typedef flag-dot11n-mcs-rates { + type bits { + bit dot11n-mcs-rate-zero { + position 0; + description + "802.11n MCS Rate Index 0"; + } + bit dot11n-mcs-rate-one { + position 1; + description + "802.11n MCS Rate Index 1"; + } + bit dot11n-mcs-rate-two { + position 2; + description + "802.11n MCS Rate Index 2"; + } + bit dot11n-mcs-rate-three { + position 3; + description + "802.11n MCS Rate Index 3"; + } + bit dot11n-mcs-rate-four { + position 4; + description + "802.11n MCS Rate Index 4"; + } + bit dot11n-mcs-rate-five { + position 5; + description + "802.11n MCS Rate Index 5"; + } + bit dot11n-mcs-rate-six { + position 6; + description + "802.11n MCS Rate Index 6"; + } + bit dot11n-mcs-rate-seven { + position 7; + description + "802.11n MCS Rate Index 7"; + } + bit dot11n-mcs-rate-eight { + position 8; + description + "802.11n MCS Rate Index 8"; + } + bit dot11n-mcs-rate-nine { + position 9; + description + "802.11n MCS Rate Index 9"; + } + bit dot11n-mcs-rate-ten { + position 10; + description + "802.11n MCS Rate Index 10"; + } + bit dot11n-mcs-rate-eleven { + position 11; + description + "802.11n MCS Rate Index 11"; + } + bit dot11n-mcs-rate-twelve { + position 12; + description + "802.11n MCS Rate Index 12"; + } + bit dot11n-mcs-rate-thirteen { + position 13; + description + "802.11n MCS Rate Index 13"; + } + bit dot11n-mcs-rate-fourteen { + position 14; + description + "802.11n MCS Rate Index 14"; + } + bit dot11n-mcs-rate-fifteen { + position 15; + description + "802.11n MCS Rate Index 15"; + } + bit dot11n-mcs-rate-sixteen { + position 16; + description + "802.11n MCS Rate Index 16"; + } + bit dot11n-mcs-rate-seventeen { + position 17; + description + "802.11n MCS Rate Index 17"; + } + bit dot11n-mcs-rate-eighteen { + position 18; + description + "802.11n MCS Rate Index 18"; + } + bit dot11n-mcs-rate-nineteen { + position 19; + description + "802.11n MCS Rate Index 19"; + } + bit dot11n-mcs-rate-twenty { + position 20; + description + "802.11n MCS Rate Index 20"; + } + bit dot11n-mcs-rate-twenty-one { + position 21; + description + "802.11n MCS Rate Index 21"; + } + bit dot11n-mcs-rate-twenty-two { + position 22; + description + "802.11n MCS Rate Index 22"; + } + bit dot11n-mcs-rate-twenty-three { + position 23; + description + "802.11n MCS Rate Index 23"; + } + bit dot11n-mcs-rate-twenty-four { + position 24; + description + "802.11n MCS Rate Index 24"; + } + bit dot11n-mcs-rate-twenty-five { + position 25; + description + "802.11n MCS Rate Index 25"; + } + bit dot11n-mcs-rate-twenty-six { + position 26; + description + "802.11n MCS Rate Index 26"; + } + bit dot11n-mcs-rate-twenty-seven { + position 27; + description + "802.11n MCS Rate Index 27"; + } + bit dot11n-mcs-rate-twenty-eight { + position 28; + description + "802.11n MCS Rate Index 28"; + } + bit dot11n-mcs-rate-twenty-nine { + position 29; + description + "802.11n MCS Rate Index 29"; + } + bit dot11n-mcs-rate-thirty { + position 30; + description + "802.11n MCS Rate Index 30"; + } + bit dot11n-mcs-rate-thirty-one { + position 31; + description + "802.11n MCS Rate Index 31"; + } + } + description + "802.11n MCS Rates"; + } + + typedef flag-ant-bitmap { + type bits { + bit ap-ant-mode-1x1 { + position 0; + description + "Antenna mode 1 x 1"; + } + bit ap-ant-mode-2x2 { + position 1; + description + "Antenna mode 2 x 2"; + } + bit ap-ant-mode-3x3 { + position 2; + description + "Antenna mode 3 x 3"; + } + bit ap-ant-mode-4x4 { + position 3; + description + "Antenna mode 4 x 4"; + } + bit ap-ant-mode-5x5 { + position 4; + description + "Antenna mode 5 x 5"; + } + bit ap-ant-mode-6x6 { + position 5; + description + "Antenna mode 6 x 6"; + } + bit ap-ant-mode-7x7 { + position 6; + description + "Antenna mode 7 x 7"; + } + bit ap-ant-mode-8x8 { + position 7; + description + "Antenna mode 8 x 8"; + } + } + description + "Antenna bitmap"; + } + + typedef flag-radio-capabilities { + type bits { + bit width-320mhz-capable { + position 0; + description + "Radio capability for 320 MHz channel width"; + } + bit preamble-puncture-capable { + position 1; + description + "Radio capability for preamble puncturing"; + } + bit dual-5ghz-band-lock-capable { + position 2; + description + "Radio capability for Dual 5GHz band locked mode"; + } + } + description + "AP radio Capabilities"; + } + + grouping ap-gnss-info { + description + "AP GNSS information"; + leaf ant-type { + type wireless-enum-types:enm-ap-geolocation-gnss-ant-type; + description + "AP GNSS antenna type"; + } + leaf ant-cable-length { + type uint16; + units "meters"; + description + "AP GNSS external antenna cable length"; + } + leaf antenna-product-id { + type string; + description + "AP global navigation satellite system antenna product id"; + } + leaf antenna-sn { + type string; + description + "AP global navigation satellite system antenna serial number"; + } + } + + grouping st-ap-sys-info { + description + "AP System information"; + leaf mem-type { + type string; + description + "AP memory type"; + } + leaf cpu-type { + type string; + description + "AP CPU type"; + } + leaf mem-size { + type uint32; + description + "AP memory size"; + } + } + + grouping reboot-statistics { + description + "AP reboot Statistics"; + leaf reboot-reason { + type wireless-types:spam-ap-reboot-reason; + description + "Reason for last AP reboot"; + } + leaf reboot-type { + type wireless-types:spam-ap-reboot-types; + description + "AP specified last reboot type"; + } + } + + grouping st-disconnect-detail { + description + "AP disconnect detail"; + leaf disconnect-reason { + type wireless-types:spam-ap-disconnect-reason; + description + "AP specified last disconnect reason"; + } + } + + grouping wtp-board-data { + description + "AP Board details"; + leaf wtp-serial-num { + type string; + description + "AP serial number"; + } + leaf wtp-enet-mac { + type yang:mac-address; + description + "AP Ethernet MAC address"; + } + container ap-sys-info { + description + "AP system info"; + uses wireless-access-point-oper:st-ap-sys-info; + } + } + + grouping st-ap-ip-data { + description + "IP address of AP"; + leaf ap-prefix { + type uint32; + description + "Prefix length of the IPv6 Address of the AP."; + } + leaf mtu { + type uint32; + description + "Maximum transmission unit size for the client"; + } + leaf is-static-ap-ipaddr { + type boolean; + description + "Value of True implies + AP is using static IP Address, value of False + implies AP is using DHCP IP"; + } + leaf domain-name { + type string; + description + "AP domain name"; + } + leaf ap-ip-addr { + type inet:ipv4-address; + description + "Static IPv4 Address configuration for the AP."; + } + leaf ap-ipv6-addr { + type inet:ipv6-address; + description + "Static IPv6 Address configuration for the AP."; + } + leaf ap-ip-netmask { + type inet:ipv4-address; + description + "Netmask of the IPv4 address of the AP."; + } + leaf ap-ip-gateway { + type inet:ipv4-address; + description + "Gateway for the IPv4 Address of the AP."; + } + leaf ap-ipv6-gateway { + type inet:ipv6-address; + description + "Gateway for the IPv6 Address of the AP."; + } + leaf ap-name-server { + type inet:ip-address; + description + "AP name server IP address"; + } + leaf ap-name-server-type { + type wireless-types:enm-ip-address-type; + description + "Type of the IP address of the name server"; + } + leaf ap-ipv6-method { + type wireless-types:enum-ap-ipv6-addr-method; + description + "Method used by AP to join over IPv6."; + } + leaf is-v6-static-addr { + type empty; + description + "Static IPv6 address configured on the AP"; + } + leaf static-ip { + type inet:ip-address; + description + "Static IP address of the AP"; + } + leaf static-gw-ip { + type inet:ip-address; + description + "Gateway for the static IP address of the AP"; + } + leaf static-netmask { + type inet:ip-address; + description + "Netmask of the static IP address of the AP"; + } + leaf static-prefix { + type uint32; + description + "AP prefix length of the static IPv6 address"; + } + } + + grouping ap-link-audit-data { + description + "Link audit data"; + leaf linkaudit-flag { + type ap-types:enm-link-latency-type; + description + "Link auditing configuration for the AP"; + } + leaf linkaudit-delay-time { + type uint32; + description + "Link latency recorded for this AP"; + } + leaf linkaudit-max-time { + type uint32; + description + "Maximum link latency recorded for the AP"; + } + leaf linkaudit-min-time { + type uint32; + description + "Minimum link latency recorded for the AP"; + } + leaf linkaudit-rcv-time { + type uint32; + description + "Time of last latency heartbeat from AP"; + } + } + + grouping ap-link-audit-oeap-data { + description + "On-demand Office Extended AP link test data"; + leaf last-run { + type yang:date-and-time; + description + "Timestamp of the last link test run"; + } + leaf state { + type wireless-access-point-oper:oeap-link-test-state; + description + "State of the link test"; + } + leaf dtls-upload { + type decimal64 { + fraction-digits 2; + } + units "Mbps"; + description + "Upload speed for the DTLS link"; + } + leaf latency { + type uint32; + units "ms"; + description + "Latency of the DTLS link"; + } + leaf jitter { + type uint32; + units "ms"; + description + "Jitter of the DTLS link"; + } + } + + grouping ap-tcp-mss-data { + description + "Configured TCP MSS value for client"; + leaf tcp-adjust-mss-state { + type boolean; + description + "TCP MSS adjust configuration status for the AP"; + } + leaf tcp-adjust-mss-size { + type uint16; + description + "TCP Maximum Segment Size for the AP. + Permissible value are between 536 and 1363. + This will also enable the TCP MSS flag for this AP + Value of 0 will disable the TCP MSS flag for this AP"; + } + } + + grouping ap-universal-provision-data { + description + "Universal AP Data"; + leaf is-universal { + type boolean; + description + "Value of True implies AP is Universal AP. + A value of False implies AP is not universal AP"; + } + leaf universal-prime-status { + type string; + description + "Priming method of the Universal AP"; + } + } + + grouping ap-pow-data { + description + "AP power related information"; + leaf power-injector-sel { + type wireless-enum-types:power-injector-selection; + description + "Specify power level"; + } + leaf power-injector-macaddr { + type yang:mac-address; + description + "Mac address of the switch port + that has a power injector and is valid only when + 'power_injector_sel' is in 'installed' mode. + If set to 00:00:00:00:00:00, AP will detect the MAC address + of the current switch port that has a power injector"; + } + leaf pre-std-switch-enabled { + type boolean; + description + "Pre-standard state of the AP, enabled or disabled. + Value of 'true' denotes Pre-Standard state is Enabled, + Value of 'false' denotes Pre-Standard state is Disabled"; + } + leaf power-injector-enabled { + type boolean; + description + "Power injector state, Enabled or Disabled. + Value of 'true' denotes power injector state is Enabled, + Value of 'false' denotes power injector state is Disabled"; + } + leaf power-type { + type wireless-enum-types:power-type; + description + "AP power type"; + } + leaf power-mode { + type wireless-enum-types:power-mode-type; + description + "This notification is generated whenever an AP detects low + power from ethernet"; + } + } + + grouping ap-sys-stats-alarm { + description + "AP system stats alarm"; + leaf alarm-status { + type wireless-access-point-oper:ap-sys-alarm-status; + description + "The alarm status"; + } + leaf raise-ticks { + type yang:date-and-time; + description + "When the alarm was last raised"; + } + leaf clear-ticks { + type yang:date-and-time; + description + "When the alarm was cleared"; + } + leaf last-send-ticks { + type yang:date-and-time; + description + "When a trap related to this alarm was sent"; + } + leaf type { + type wireless-access-point-oper:ap-sys-alarm-type; + description + "Type of the alarm"; + } + } + + grouping uplink-if-rates { + description + "AP uplink interface rates"; + leaf if-name { + type string; + description + "Interface name"; + } + leaf if-upstream-rate { + type uint32; + units "mega bits per seconds"; + description + "AP uplink upstream rate"; + } + leaf if-downstream-rate { + type uint32; + units "mega bits per seconds"; + description + "AP uplink downstream rate"; + } + } + + grouping ap-sys-uplink-if { + description + "Structure for AP uplink interface rates"; + list intf { + description + "AP uplink interface rates"; + uses wireless-access-point-oper:uplink-if-rates; + } + } + + grouping ap-sys-stats-data { + description + "AP system stats for CPU and memory usage"; + leaf cpu-usage { + type uint8; + units "percentage"; + description + "AP CPU usage"; + } + leaf memory-usage { + type uint8; + units "percentage"; + description + "AP memory usage"; + } + leaf avg-cpu-usage { + type uint8; + units "percentage"; + description + "Average CPU usage"; + } + leaf avg-memory-usage { + type uint8; + units "percentage"; + description + "Average memory usage"; + } + leaf window-size { + type uint16; + description + "Current window size of stats"; + } + leaf last-ts { + type yang:date-and-time; + description + "Last received stats time"; + } + container memory { + description + "Alarm memory"; + uses wireless-access-point-oper:ap-sys-stats-alarm; + } + container cpu { + description + "Alarm CPU"; + uses wireless-access-point-oper:ap-sys-stats-alarm; + } + container uplink-if { + description + "Uplink interface information"; + uses wireless-access-point-oper:ap-sys-uplink-if; + } + } + + grouping ap-ntp-sync-status-data { + description + "AP NTP synchronization status"; + leaf enabled { + type boolean; + description + "True when NTP is enabled"; + } + leaf ip-addr { + type inet:ip-address; + description + "The NTP IP address"; + } + leaf stratum { + type uint8; + description + "The stratum of the NTP server"; + } + leaf status { + type wireless-access-point-oper:ewlc-ntp-server-status; + description + "The status of NTP synchronization"; + } + leaf sec-since-last-sync { + type uint32; + units "seconds"; + description + "Seconds elapsed since last AP synchronization with NTP server, at last update from AP"; + } + leaf sync-offset { + type int32; + units "milliseconds"; + description + "The offset with NTP server during last synchronization"; + } + leaf rx-ts { + type yang:date-and-time; + description + "The time the controller received the last NTP update from the AP"; + } + } + + grouping ap-prime-data { + description + "AP priming related information"; + leaf primary-controller-name { + type string; + description + "Name of the primary controller configured for the AP"; + } + leaf secondary-controller-name { + type string; + description + "Name of the secondary controller configured for the AP"; + } + leaf primary-controller-ip-addr { + type inet:ip-address; + description + "IP address of the primary controller configured + for the AP"; + } + leaf secondary-controller-ip-addr { + type inet:ip-address; + description + "IP address of the secondary controller configured + for AP"; + } + leaf tertiary-controller-name { + type string; + description + "Name of the tertiary controller configured for the + AP"; + } + leaf tertiary-controller-ip-addr { + type inet:ip-address; + description + "IP address of the tertiary controller configured + for AP"; + } + leaf ap-fallback-ip { + type inet:ip-address; + description + "The fallback address: AP will join over this address when it can't join over static-ip."; + } + leaf fallback-enabled { + type boolean; + description + "Value of true implies AP fallback is enabled"; + } + } + + grouping ap-mgmt-data { + description + "AP management information"; + leaf is-telnet-enabled { + type boolean; + description + "Value of 'true' indicates telnet session + can be established to the AP"; + } + leaf is-ssh-enabled { + type boolean; + description + "Value of 'true' indicates SSH session + can be established to the AP"; + } + leaf is-console-enabled { + type boolean; + description + "Serial console of the AP is enabled"; + } + } + + grouping ap-aux-client-interface-data { + description + "Auxiliary Client Interface data"; + leaf is-enabled { + type boolean; + description + "This indicates whether Auxiliary Client Interface is + enabled on the Access Point"; + } + leaf vlan-id { + when "(../is-enabled = 'true')"; + type uint16; + description + "VLAN ID of the Auxiliary Client Interface."; + } + leaf ip-addr { + when "(../is-enabled = 'true')"; + type inet:ip-address; + description + "IP address of the Auxiliary Client Interface."; + } + leaf ip-netmask { + when "(../is-enabled = 'true')"; + type inet:ipv4-address; + description + "Netmask of the Auxiliary Client Interface."; + } + } + + grouping ap-dna-data { + description + "Cisco-DNA related data"; + leaf grpc-status { + type wireless-access-point-oper:enum-ap-dna-grpc-status-code; + description + "This indicates the status of the gRPC channel from the + Access Point to Cisco-DNA."; + } + leaf packets-tx-attempts { + type uint64; + description + "Number of packets transmissions attempts on the gRPC channel."; + } + leaf packets-tx-failures { + type uint64; + description + "Number of packets transmissions failures on the gRPC channel."; + } + leaf packets-rx { + type uint64; + description + "Number of packets received on the gRPC channel."; + } + leaf packets-rx-failures { + type uint64; + description + "Number of received packets failures on the gRPC channel."; + } + } + + grouping ap-gas-rate-limit-cfg-data { + description + "Cisco AP Generic Advertisement Services (GAS) rate configuration details"; + leaf is-gas-rate-limit-enabled { + type boolean; + description + "GAS rate limit enabled status"; + } + leaf num-req-per-interval { + type uint8; + description + "Number of GAS request per interval "; + } + leaf interval-msec { + type uint16; + description + "GAS rate limit interval"; + } + } + + grouping ap-ntp-server-info-cfg-data { + description + "NTP server information on Access Point configuration"; + leaf ntp-server-address { + type inet:ip-address; + description + "Specifies the NTP server address to be used by the Access Point"; + } + leaf trust-key { + type string; + description + "The trust key to use in NTP authentication"; + } + leaf key-id { + type uint32; + description + "An integer key id that identifies the NTP authentication key "; + } + leaf key-type { + type ap-types:enm-ap-ntp-key-type; + description + "The type of the key digest: md5 or sha1"; + } + leaf key-format { + type ap-types:enm-ap-ntp-key-format; + description + "The format of the key digest: ascii or hex"; + } + leaf trust-key-type { + type wireless-enum-types:crypt-type; + description + "The encryption to use when storing the trust key locally"; + } + } + + grouping ap-persistent-ssid-data { + description + "Persistent SSID broadcast operation information"; + leaf is-persistent-ssid-enabled { + type boolean; + description + "True if persistent SSID broadcast is enabled on AP"; + } + } + + grouping ap-retransmit-data { + description + "AP retransmission related parameters"; + leaf count { + type uint8; + description + "Total number of times config data is retransmitted"; + } + leaf interval { + type uint8; + units "seconds"; + description + "Interval at which config data is retransmitted"; + } + } + + grouping st-infrastructure-mfp { + description + "Cisco AP Management Frame Protection configuration details"; + leaf mfp-validation { + type boolean; + description + "Management Frame Validation status"; + } + leaf mfp-protection { + type boolean; + description + "Management frame protection status"; + } + } + + grouping st-ap-stats-timer { + description + "Cisco AP stats related timer"; + leaf stat-tmr { + type uint32; + description + "Cisco AP statistics reporting period"; + } + } + + grouping st-ap-syslog-info { + description + "Cisco AP system logging information"; + leaf log-host-ipaddr { + type inet:ip-address; + description + "Cisco AP system logging host IP address"; + } + leaf log-trap-level { + type wireless-types:syslog-trap-level; + description + "Logging trap severity level"; + } + leaf log-tls-mode { + type boolean; + description + "Cisco AP secured logging TLS mode"; + } + leaf log-facility-level { + type ap-types:syslog-facility-value; + description + "Cisco AP syslog facility level"; + } + } + + grouping ap-timer-data { + description + "Cisco access point timer data"; + container stats-timer { + description + "Cisco AP statistics report timer data"; + uses wireless-access-point-oper:st-ap-stats-timer; + } + } + + grouping st-ap-login-credentials { + description + "Cisco AP login credentials"; + leaf dot1x-eap-type { + type ap-types:enm-ap-dot1x-eap-type; + description + "802.1X Extensible Authentication Protocol (EAP) type"; + } + leaf user-name { + type string; + description + "Cisco AP login username"; + } + leaf dot1x-username { + type string; + description + "Cisco AP 802.1X username"; + } + } + + grouping st-ap-vlan { + description + "AP VLAN tag details"; + leaf vlan-tag-state { + type wireless-access-point-oper:enm-vlan-state; + description + "AP VLAN tagging state"; + } + leaf vlan-tag-id { + type uint16; + description + "VLAN ID for the AP"; + } + } + + grouping support-bundle-info { + description + "Support bundle file transfer information"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf ap-name { + type string; + description + "AP Name"; + } + leaf last-filename { + when "(../status = 'supp-bundle-copied')"; + type string; + description + "Support bundle file name"; + } + leaf last-server-ip { + when "(../status != 'supp-bundle-none')"; + type inet:ip-address; + description + "Destination server IP address"; + } + leaf last-file-path { + when "(../status != 'supp-bundle-none')"; + type string; + description + "Destination file path"; + } + leaf last-mode { + when "(../status != 'supp-bundle-none')"; + type wireless-enum-types:support-bundle-transfer-mode; + description + "Support bundle file transfer mode"; + } + leaf last-success-transfer-time { + when "(../status = 'supp-bundle-copied')"; + type yang:date-and-time; + description + "Support bundle file transfer time"; + } + leaf status { + type wireless-enum-types:support-bundle-status; + description + "Support bundle file transfer status"; + } + leaf failure-reason { + when "(../status = 'supp-bundle-copy-failed')"; + type string; + description + "Support bundle file transfer failure reason"; + } + } + + grouping st-ap-security-oper-data { + description + "LSC provisioning details"; + leaf fips-enabled { + type boolean; + description + "Cisco AP FIPS enabled status"; + } + leaf wlancc-enabled { + type boolean; + description + "Cisco AP CC enabled status"; + } + leaf cert-type { + type wireless-access-point-oper:enm-cert-type; + description + "Enum values denoting AP Certificate Type. + 1 : manufactureinstalled : Manufacture Installed Certificate type (MIC). + 2 : selfsigned : Self Signed Certificate type (SSC). + 3 : localsignificance : Local Significance"; + } + leaf lsc-ap-auth-type { + type ap-types:enm-lsc-ap-auth-state-type; + description + "AP LSC authentication state"; + } + leaf ap-cert-policy { + type wireless-types:enm-ap-cert-policy; + description + "Certificate policy used during AP join"; + } + leaf ap-cert-expiry-time { + type yang:date-and-time; + description + "AP certificate expiry time"; + } + leaf ap-cert-issuer-cn { + type string; + description + "AP certificate issuer common name"; + } + } + + grouping st-ap-oper-data { + description + "AP operational data"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC Address of the AP Radio"; + } + leaf radio-id { + type uint32; + description + "AP radio identifier"; + } + leaf ap-antenna-band-mode { + type wireless-enum-types:ant-band-mode; + description + "Antenna band mode. For + AP, in which this variable is not relevant, + value of 'Not Applicable' will be returned. + In the dual band mode, only two dual band antennas are used, + connected to ports 1 and 2. In this case, both bands share these antennas."; + } + leaf link-encryption-enabled { + type boolean; + description + "True if encryption between + controller and AP is enabled. Encryption + can only be enabled if ESM card in controller is plugged in. + Otherwise false."; + } + leaf ap-remote-debug-mode { + type boolean; + description + "Remote debugging status for the AP"; + } + container ap-ip-data { + description + "AP IP address configuration"; + uses wireless-access-point-oper:st-ap-ip-data; + } + container ap-prime-info { + description + "Controller configuration for the AP"; + uses wireless-access-point-oper:ap-prime-data; + } + container ap-mgmt { + description + "AP management data"; + uses wireless-access-point-oper:ap-mgmt-data; + } + container ap-login-credentials { + description + "Login credentials configured on an AP"; + uses wireless-access-point-oper:st-ap-login-credentials; + } + container ap-pow { + description + "AP power related data"; + uses wireless-access-point-oper:ap-pow-data; + } + container ap-sys-stats { + description + "AP system statistics"; + uses wireless-access-point-oper:ap-sys-stats-data; + } + container ipv4-tcp-mss { + description + "Configured IPv4 TCP MSS value for client"; + uses wireless-access-point-oper:ap-tcp-mss-data; + } + container ipv6-tcp-mss { + description + "Configured IPv6 TCP MSS value for client"; + uses wireless-access-point-oper:ap-tcp-mss-data; + } + container link-audit { + description + "Link audit data"; + uses wireless-access-point-oper:ap-link-audit-data; + } + container timer { + description + "Cisco access point timer data"; + uses wireless-access-point-oper:ap-timer-data; + } + container retransmit { + description + "AP retransmission parameters"; + uses wireless-access-point-oper:ap-retransmit-data; + } + container syslog { + description + "Cisco AP System Logging"; + uses wireless-access-point-oper:st-ap-syslog-info; + } + container infrastructure-mfp { + description + "Cisco AP Management Frame Protection"; + uses wireless-access-point-oper:st-infrastructure-mfp; + } + container persistent-ssid { + description + "Persistent SSID broadcast operation information"; + uses wireless-access-point-oper:ap-persistent-ssid-data; + } + container ap-gas-rate-limit-cfg { + description + "Cisco AP Generic Advertisement Services (GAS) rate configuration"; + uses wireless-access-point-oper:ap-gas-rate-limit-cfg-data; + } + container ap-ntp-server-info-cfg { + description + "NTP server information to be used by AP"; + uses wireless-access-point-oper:ap-ntp-server-info-cfg-data; + } + leaf ap-udplite-info { + type wireless-enum-types:ipv6-capwap-checksum-type; + description + "UDP-Lite operational information. enum values denoting + 0 UDP-Lite checksum not yet configured + 1 UDP-Lite checksum for IPv6 CAPWAP data packets + 2 checksum for IPv6 CAPWAP data packets"; + } + container accounting { + description + "Accounting info to be sent to radius server"; + uses ap-types:st-accounting; + } + container aux-client-interface-data { + description + "Auxiliary Client Interface data"; + uses wireless-access-point-oper:ap-aux-client-interface-data; + } + container ap-dna-data { + description + "Cisco-DNA related data"; + uses wireless-access-point-oper:ap-dna-data; + } + leaf ap-indoor-mode { + type boolean; + description + "Identifier for indoor AP mode"; + } + leaf is-local-net { + type boolean; + description + "Identifier for local access in OEAP AP"; + } + container oeap-audit { + description + "On-demand Office Extended AP link test data"; + uses wireless-access-point-oper:ap-link-audit-oeap-data; + } + leaf prov-ssid { + type boolean; + description + "Enable/Disable Provisional SSID on Office Extended AP"; + } + container ap-ntp-sync-status { + description + "AP NTP synchronization status"; + uses wireless-access-point-oper:ap-ntp-sync-status-data; + } + container ap-tz-config { + description + "AP timezone configuration"; + uses ap-types:st-ap-timezone-cfg-data; + } + leaf ap-pmk-propagation-status { + type boolean; + description + "AP PMK push propagation status"; + } + leaf ap-role { + type wireless-enum-types:enum-ap-pmk-propagation-role; + description + "AP role in PMK push"; + } + leaf pmk-bs-receiver-addr { + type yang:mac-address; + description + "PMK bulk sync receiver AP MAC address"; + } + leaf pmk-bs-sender-addr { + type yang:mac-address; + description + "PMK bulk sync sender AP MAC address"; + } + leaf power-profile { + type string; + description + "Power profile applied to the AP"; + } + leaf pwr-cal-profile { + type string; + description + "Calendar profile associated to power profile"; + } + leaf max-clients-allowed { + type uint16; + description + "Maximum clients allowed on an AP"; + } + leaf power-save-mode { + type empty; + description + "AP in power-save mode"; + } + leaf priming-profile-src { + type wireless-access-point-oper:enm-ap-priming-source; + description + "AP priming profile configuration source"; + } + leaf priming-profile { + type string; + description + "Applied AP priming profile name"; + } + leaf priming-filter { + type string; + description + "AP priming filter name"; + } + leaf ap-priming-override { + type boolean; + description + "AP priming configuration override flag status under applied AP filter"; + } + container kernel-coredump { + description + "Kernel coredump configuration"; + uses ap-types:st-kernel-coredump-cfg; + } + leaf ranging-mode { + type wireless-enum-types:enm-ranging-mode; + description + "Ranging mode - normal or accurate"; + } + leaf pwr-prof-type { + type string; + description + "Power profile type"; + } + leaf ap-outdoor-mode { + type boolean; + description + "Identifier for outdoor AP mode"; + } + } + + grouping wtp-descriptor-data { + description + "Structure stores the details about the WTP"; + leaf radio-slots-in-use { + type uint8; + description + "Number of slots in use"; + } + leaf encryption-capabilities { + type boolean; + description + "Encryption capabilities of the AP"; + } + } + + grouping board-data-opt { + description + "AP Board details"; + leaf join-priority { + type uint8; + description + "AP join priority"; + } + } + + grouping wtp-policy-tag-info { + description + "AP tag relation information"; + leaf policy-tag-name { + type string; + description + "policy tag associated with AP"; + } + } + + grouping wtp-site-tag-info { + description + "Site tag associated with the AP"; + leaf site-tag-name { + type string; + description + "AP site tag name"; + } + leaf ap-profile { + type string; + description + "AP join profile name"; + } + leaf flex-profile { + type string; + description + "AP flex profile name"; + } + } + + grouping wtp-rf-tag-info { + description + "RF tag information for the AP"; + leaf rf-tag-name { + type string; + description + "RF tag name associated with the AP"; + } + } + + grouping st-resolved-tags-data { + description + "Resolved AP tag details"; + leaf resolved-policy-tag { + type string; + description + "Policy tag name"; + } + leaf resolved-site-tag { + type string; + description + "Site tag name"; + } + leaf resolved-rf-tag { + type string; + description + "RF tag name"; + } + } + + grouping ap-filter-info { + description + "AP filter information"; + leaf filter-name { + type string; + description + "AP filter name"; + } + } + + grouping wtp-tags-data { + description + "WTP tag associations"; + leaf tag-source { + type ap-types:enm-ap-tag-source; + description + "Tag source"; + } + leaf is-ap-misconfigured { + type boolean; + description + "Flag for misconfigured access points"; + } + container resolved-tag-info { + description + "Resolved Tag details for an AP"; + uses wireless-access-point-oper:st-resolved-tags-data; + } + container policy-tag-info { + description + "Policy tag information for the AP"; + uses wireless-access-point-oper:wtp-policy-tag-info; + } + container site-tag { + description + "Site tag information for the AP"; + uses wireless-access-point-oper:wtp-site-tag-info; + } + container rf-tag { + description + "RF tag information for the AP"; + uses wireless-access-point-oper:wtp-rf-tag-info; + } + container filter-info { + description + "AP filter information"; + uses wireless-access-point-oper:ap-filter-info; + } + leaf is-dtls-lsc-fbk-ap { + type boolean; + description + "LSC fallback status for the AP"; + } + leaf ap-misconfig { + type wireless-access-point-oper:ap-misconfig; + description + "AP misconfiguration reason"; + } + } + + grouping hyperlocation-ap-data { + description + "AP Hyperlocation details"; + leaf hyperlocation-method { + type wireless-types:enm-hyperlocation-method; + description + "AP hyperlocation method"; + } + leaf cmx-ip { + type inet:ip-address; + description + "Connected Mobile Experiences (CMX) IP address"; + } + } + + grouping xm-info { + description + "WTP extension module information"; + leaf numeric-id { + type uint16; + description + "Numeric ID of extension module"; + } + leaf max-power { + type uint32; + units "dBm"; + description + "WTP extension module maximum power"; + } + leaf serial-number-string { + type string; + description + "WTP extension module serial number"; + } + leaf product-id-string { + type string; + description + "WTP extension module product ID string"; + } + leaf module-type { + type string; + description + "Module type"; + } + leaf module-description { + type string; + description + "WTP extension module description"; + } + } + + grouping wtp-xm-info { + description + "WTP extension module information"; + leaf is-module-present { + type boolean; + description + "True if an external module is present or not"; + } + leaf enable { + when "(../is-module-present = 'true')"; + type boolean; + description + "Module operational state"; + } + container xm { + description + "WTP extension module information"; + uses wireless-access-point-oper:xm-info; + } + } + + grouping st-sliding-window { + description + "CAPWAP multiwindow configuration"; + leaf multi-window-support { + type boolean; + description + "True if CAPWAP multiwindow is enabled on AP"; + } + leaf window-size { + type uint16; + description + "Window size for CAPWAP multiwindow transport"; + } + } + + grouping st-external-module-data { + description + "External module info used by AP"; + container xm-data { + description + "External module data"; + uses wireless-access-point-oper:wtp-xm-info; + } + container usb-data { + description + "USB module data"; + uses wireless-access-point-oper:wtp-xm-info; + } + leaf usb-override { + type boolean; + description + "USB overridden status. + Value of 'true' indicates USB module operational state can be changed only using AP level configuration. + Value of 'false' indicates USB module operational state can be changed only using USB configuration under ap-cfg-profile."; + } + leaf is-ext-module-enabled { + type boolean; + status obsolete; + description + "External module state"; + } + } + + grouping ap-dhcp-server-data { + description + "DHCP server details for an AP"; + leaf is-dhcp-server-enabled { + type boolean; + description + "DHCP server status"; + } + } + + grouping st-aaa-location-attributes { + description + "AP AAA Location attribute identifiers"; + leaf civic-id { + type string; + description + "Civic profile identifier for AAA Location information"; + } + leaf geo-id { + type string; + description + "Geo profile identifier for AAA Location information"; + } + leaf oper-id { + type string; + description + "Operator identifier for AAA Location information"; + } + } + + grouping st-ap-location { + description + "AP location information"; + leaf floor { + type uint32; + description + "Floor of the AP"; + } + leaf location { + type string; + description + "User assigned location of the AP"; + } + container aaa-location { + description + "AAA Location attributes of the AP"; + uses wireless-access-point-oper:st-aaa-location-attributes; + } + leaf floor-id { + type int32; + description + "Floor id of the AP"; + } + leaf ranging-capability { + type uint16; + description + "Ranging capability of the AP"; + } + } + + grouping st-ap-services { + description + "Services used by AP"; + leaf monitor-mode-opt-type { + type wireless-enum-types:lomm-mode-type; + description + "Monitor mode optimization type on the AP + all - All optimization is enabled + tracking - Tracking is optimized + wips - WIPS optimization is enabled + none - No optimization is enabled"; + } + container ap-dhcp-server { + description + "DHCP server details for an AP"; + uses wireless-access-point-oper:ap-dhcp-server-data; + } + leaf tot-sniffer-radio { + type uint8; + description + "Total number of radios on which sniffer role is enabled"; + } + } + + grouping st-wtp-version { + description + "AP software version information"; + container backup-sw-version { + description + "Backup software version of the AP"; + uses wireless-types:version-info; + } + container mini-ios-version { + description + "Cisco AP mini IOS version details"; + uses wireless-types:version-info; + } + container sw-ver { + description + "Software version of the AP"; + uses wireless-types:version-info; + } + container boot-ver { + description + "Cisco AP boot version details"; + uses wireless-types:version-info; + } + leaf sw-version { + type string; + description + "Cisco AP software version details"; + } + } + + grouping st-ap-models { + description + "AP device model information"; + leaf model { + type string; + description + "Stores the model string of the AP"; + } + } + + grouping st-static-info { + description + "AP device static information"; + container board-data { + description + "AP Board Data"; + uses wireless-access-point-oper:wtp-board-data; + } + container board-data-opt { + description + "AP Additional Board data option"; + uses wireless-access-point-oper:board-data-opt; + } + container descriptor-data { + description + "AP FW,HW information"; + uses wireless-access-point-oper:wtp-descriptor-data; + } + container ap-prov { + description + "AP universal provision"; + uses wireless-access-point-oper:ap-universal-provision-data; + } + container ap-models { + description + "AP device model"; + uses wireless-access-point-oper:st-ap-models; + } + leaf num-ports { + type uint8; + description + "Number of ports on AP"; + } + leaf num-slots { + type uint8; + description + "Number of slots present in the access point"; + } + leaf wtp-model-type { + type uint8; + description + "AP model type"; + } + leaf ap-capability { + type wireless-access-point-oper:flag-ap-capability; + description + "AP capabilities"; + } + leaf is-mm-opt { + type boolean; + description + "AP monitor mode optimization support"; + } + leaf ap-image-name { + type string; + description + "AP Software image name"; + } + leaf ap-capability-ext { + type wireless-access-point-oper:flag-ap-capability-ext; + description + "AP capabilities"; + } + } + + grouping st-ap-crash-data { + description + "AP crash data"; + leaf ap-crash-file { + type string; + description + "AP crash file"; + } + leaf ap-radio-2g-crash-file { + type string; + description + "AP 2 GHz radio crash file"; + } + leaf ap-radio-5g-crash-file { + type string; + description + "AP 5 GHz radio crash file"; + } + leaf ap-radio-6g-crash-file { + type string; + description + "AP 6 GHz radio crash file"; + } + leaf ap-rad-5g-slot2-crash-file { + type string; + description + "AP 5 GHz radio slot 2 crash file"; + } + } + + grouping st-temperature-info { + description + "AP temperature related information"; + leaf degree { + type int8; + units "Celsius"; + description + "AP temperature"; + } + leaf temp-status { + type wireless-access-point-oper:enum-ap-temp-status; + description + "AP temperature status"; + } + leaf heater-status { + type wireless-access-point-oper:enum-ap-temp-heater-status; + description + "AP heater status"; + } + } + + grouping st-dynamic-info { + description + "AP device dynamic information"; + container ap-crash-data { + description + "AP crash data"; + uses wireless-access-point-oper:st-ap-crash-data; + } + leaf led-state-enabled { + type boolean; + description + "True if LED state of AP is enabled."; + } + leaf reset-button-state { + type boolean; + description + "True if AP Reset button state is enabled"; + } + leaf led-flash-enabled { + type boolean; + description + "True if LED Flash state of AP is enabled."; + } + leaf flash-sec { + type uint16; + units "seconds"; + description + "LED Flash timer duration for AP."; + } + container temp-info { + description + "AP temperature info"; + uses wireless-access-point-oper:st-temperature-info; + } + leaf led-flash-expiry { + type yang:date-and-time; + description + "Led Flash Expiry Date and Time"; + } + } + + grouping st-ap-device-info { + description + "AP device specific information"; + container static-info { + description + "AP device static information"; + uses wireless-access-point-oper:st-static-info; + } + container dynamic-info { + description + "AP device dynamic information"; + uses wireless-access-point-oper:st-dynamic-info; + } + container wtp-version { + description + "AP software version"; + uses wireless-access-point-oper:st-wtp-version; + } + } + + grouping st-ap-state { + description + "The AP state"; + leaf ap-admin-state { + type wireless-enum-types:admin-state; + description + "The AP admin state"; + } + leaf ap-operation-state { + type wireless-access-point-oper:enum-ap-state; + description + "The AP operation state"; + } + } + + grouping st-ap-fabric-data { + description + "AP fabric related attributes"; + leaf is-fabric-ap { + type boolean; + description + "True if AP is fabric AP"; + } + } + + grouping st-ap-6ghz-data { + description + "AP 6GHz related attributes"; + leaf std-pwr-mode-allowed { + type empty; + description + "AP is allowed to operate in 6GHz standard power mode"; + } + } + + grouping st-ap-mode-data { + description + "AP modes related information"; + leaf home-ap-enabled { + type boolean; + description + "Flag for office extend feature"; + } + leaf clear-mode { + type boolean; + description + "Clear AP mode to site tag AP mode"; + } + leaf ap-sub-mode { + type ap-types:ap-sub-mode-type; + description + "value of 'true' indicates this AP is a WIPS AP. + value of 'false' indicates this AP is not a WIPS AP. + This applies only when the AP is either in Local or in Monitor mode"; + } + leaf wtp-mode { + type wireless-types:enm-ewlc-spam-ap-modes; + description + "Mode of the AP to which the Mobile Station is associated."; + } + container ap-fabric-data { + description + "AP fabric related attributes"; + uses wireless-access-point-oper:st-ap-fabric-data; + } + container ap-6ghz-data { + description + "AP 6GHz related attributes"; + uses wireless-access-point-oper:st-ap-6ghz-data; + } + } + + grouping st-ap-times { + description + "AP time related information"; + leaf boot-time { + type yang:date-and-time; + description + "Last AP reboot Date and Time"; + } + leaf join-time { + type yang:date-and-time; + description + "Date and Time at which AP joined"; + } + leaf join-time-taken { + type uint32; + units "seconds"; + description + "The amount of time taken by AP to join the wireless controller"; + } + } + + grouping st-proxy-info { + description + "HTTP proxy configuration provisioned to this AP"; + leaf hostname { + type string; + description + "HTTP proxy hostname"; + } + leaf port { + type uint16; + description + "HTTP proxy port"; + } + leaf no-proxy-list { + type string; + description + "List of URLs to be excluded from proxying"; + } + leaf username { + type string; + description + "AP proxy username"; + } + leaf password-type { + type wireless-enum-types:crypt-type; + description + "Password type for AP proxy"; + } + leaf password { + type string; + description + "Password for AP proxy"; + } + } + + grouping st-local-dhcp-pool { + description + "DHCP pool"; + leaf network { + type inet:ipv4-address; + description + "DHCP pool start address"; + } + leaf lease-time { + type uint16 { + range "0 .. 365"; + } + units "days"; + description + "Total lease time in days"; + } + leaf netmask { + type inet:ipv4-address; + description + "Subnet mask address"; + } + } + + grouping st-antenna-monitoring { + description + "Operation antenna monitoring configuration sent to the AP"; + leaf support { + type empty; + description + "Support of the antenna monitoring feature by the AP"; + } + leaf enabled { + when 'boolean(../support)'; + type empty; + description + "Antenna monitoring enabled on the AP"; + } + leaf rssi-fail-threshold { + when 'boolean(../support) and boolean(../enabled)'; + type uint8; + units "dB"; + description + "RSSI Failure Threshold for antenna monitoring on the AP"; + } + leaf weak-rssi { + when 'boolean(../support) and boolean(../enabled)'; + type int16; + units "dBm"; + description + "Weak RSSI for antenna monitoring on the AP"; + } + leaf detection-time { + when 'boolean(../support) and boolean(../enabled)'; + type uint8; + units "minutes"; + description + "Detection time for antenna monitoring on the AP"; + } + } + + grouping st-ap-stats-mon-cfg { + description + "Ap statistics configuration"; + leaf enable { + type empty; + description + "AP stats collection and processing enabled"; + } + leaf sample-intvl { + when 'boolean(../enable)'; + type uint16; + units "seconds"; + description + "Sampling interval"; + } + leaf stats-intvl { + when 'boolean(../enable)'; + type uint16; + units "seconds"; + description + "Statistics interval"; + } + leaf alarm-hold-time { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16; + units "seconds"; + description + "Alarm hold time"; + } + leaf trap-retx-time { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16; + units "seconds"; + description + "Alarm trap retransmission time"; + } + leaf alarms-enable { + when 'boolean(../enable)'; + type empty; + description + "AP stats alarms enabled"; + } + leaf cpu-threshold { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16; + units "percentage"; + description + "CPU threshold"; + } + leaf mem-threshold { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16; + units "percentage"; + description + "Memory threshold"; + } + leaf action-ap-reload { + type boolean; + description + "AP reload action on high CPU or high memory usage"; + } + } + + grouping st-ap-lsc-status { + description + "AP LSC information"; + leaf is-dtls-lsc-enabled { + type boolean; + description + "LSC enable status for CAPWAP DTLS handshake"; + } + leaf dtls-lsc-issuer-hash { + when "((../is-dtls-lsc-enabled = 'true') or (../is-dtls-lsc-fallback = 'true'))"; + type string; + description + "Issuer certificate hash of LSC used for CAPWAP DTLS"; + } + leaf is-dot1x-lsc-enabled { + type boolean; + description + "LSC enable status for dot1x port authentication"; + } + leaf dot1x-lsc-issuer-hash { + when "(../is-dot1x-lsc-enabled = 'true')"; + type string; + description + "Issuer certificate hash of LSC used for dot1x port authentication"; + } + leaf is-dtls-lsc-fallback { + type boolean; + description + "AP fallback state to default certificate instead of LSC"; + } + leaf dtls-lsc-cert-expiry-time { + when "((../is-dtls-lsc-enabled = 'true') or (../is-dtls-lsc-fallback = 'true'))"; + type yang:date-and-time; + description + "Certificate expiry time of LSC used for CAPWAP DTLS"; + } + leaf dot1x-lsc-cert-expiry-time { + when "(../is-dot1x-lsc-enabled = 'true')"; + type yang:date-and-time; + description + "Certificate expiry time of LSC used for dot1x port authentication"; + } + } + + grouping st-channel-list { + description + "Channel list"; + leaf-list channel { + type uint8; + ordered-by user; + description + "Channels"; + } + } + + grouping st-zerowt-dfs-data { + description + "Zero wait DFS parameters"; + container reserve-channel { + description + "Reserved channel data"; + uses wireless-types:st-cac-channel-params; + } + container dfs-chan-incl-list { + description + "DFS inclusion channel list"; + uses wireless-access-point-oper:st-channel-list; + } + container dfs-chan-excl-list { + description + "DFS exclusion channel list"; + uses wireless-access-point-oper:st-channel-list; + } + leaf type { + type wireless-enum-types:cac-domain-type; + description + "CAC domain"; + } + } + + grouping wtp-meraki-info { + description + "AP Meraki information"; + leaf mac { + type yang:mac-address; + description + "MAC address of the Meraki AP"; + } + leaf serial-num { + type string; + description + "Serial number of the Meraki AP"; + } + } + + grouping wtp-meraki-conv-result { + description + "Meraki mode conversion result of an AP"; + leaf is-meraki-conv-atmptd { + type boolean; + description + "Meraki conversion attempted or not"; + } + leaf conv-result { + when "(../is-meraki-conv-atmptd = 'true')"; + type wireless-access-point-oper:meraki-pre-conv-status; + description + "Conversion result"; + } + leaf conv-timestamp { + when "(../is-meraki-conv-atmptd = 'true')"; + type yang:date-and-time; + description + "Timestamp of last conversion attempt"; + } + } + + grouping st-ap-file-status { + description + "AP image and file system operational data"; + leaf part-status { + type wireless-access-point-oper:enum-ap-file-status; + description + "Status of downloaded image"; + } + leaf file-sys-status { + type wireless-access-point-oper:enum-ap-file-status; + description + "AP Filesystem status"; + } + leaf iox-status { + type wireless-access-point-oper:enum-ap-file-status; + description + "AP IOX status"; + } + leaf img-type { + type wireless-access-point-oper:enum-ap-image-type; + description + "Primary or Backup AP image"; + } + leaf part-type { + type wireless-access-point-oper:enum-ap-partition; + description + "Partition where AP image is stored"; + } + } + + grouping st-ap-image-status { + description + "Status of image on AP"; + list file-system { + description + "Integrity of file system on AP"; + uses wireless-access-point-oper:st-ap-file-status; + } + leaf image-status-time { + type yang:date-and-time; + description + "Timestamp of last AP image integrity message"; + } + leaf loaded-alter-image { + type empty; + description + "True if AP is loaded with alternative image"; + } + } + + grouping capwap-wtp-data { + description + "Base AP operational data"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of AP radio interface"; + } + leaf ip-addr { + type string; + status deprecated; + description + "IP of the AP. + The leaf is deprecated. Use wtp-ip instead."; + } + leaf name { + type string; + description + "AP Name"; + } + container device-detail { + description + "AP device related information"; + uses wireless-access-point-oper:st-ap-device-info; + } + leaf ap-lag-enabled { + type boolean; + description + "AP lag status, TRUE indicates the LAG support is enabled, FALSE indicates the LAG support is disabled."; + } + container ap-location { + description + "AP Location info"; + uses wireless-access-point-oper:st-ap-location; + } + container ap-services { + description + "AP services info"; + uses wireless-access-point-oper:st-ap-services; + } + container tag-info { + description + "AP tag info"; + uses wireless-access-point-oper:wtp-tags-data; + } + container tunnel { + description + "Captures the rogue parameters"; + uses ap-types:st-tunnel; + } + container external-module-data { + description + "AP external module data info"; + uses wireless-access-point-oper:st-external-module-data; + } + leaf ipv6-joined { + type uint8; + description + "True if the AP has joined in IPv6 mode"; + } + container ap-state { + description + "AP state"; + uses wireless-access-point-oper:st-ap-state; + } + container ap-mode-data { + description + "AP mode related data"; + uses wireless-access-point-oper:st-ap-mode-data; + } + container ap-time-info { + description + "AP time related information"; + uses wireless-access-point-oper:st-ap-times; + } + leaf country-code { + type string; + description + "Country Code configured for the AP"; + } + container ap-security-data { + description + "AP LSC data"; + uses wireless-access-point-oper:st-ap-security-oper-data; + } + leaf num-radio-slots { + type uint8; + description + "Number of radio slots used for the AP"; + } + leaf dart-is-connected { + type boolean; + status deprecated; + description + "Xor Dart connector status."; + } + leaf is-master { + type boolean; + description + "True if the AP is configured as MASTER AP during efficient image download"; + } + container sliding-window { + description + "CAPWAP multiwindow transport info"; + uses wireless-access-point-oper:st-sliding-window; + } + container ap-vlan { + description + "AP VLAN tagging details"; + uses wireless-access-point-oper:st-ap-vlan; + } + container hyperlocation-data { + description + "AP Hyperlocation details"; + uses wireless-access-point-oper:hyperlocation-ap-data; + } + leaf cdp-enable { + type boolean; + description + "True if CDP is enabled or not on the AP"; + } + leaf ap-stationing-type { + type wireless-access-point-oper:enum-ap-stationing-type; + description + "Indoor or Outdoor AP"; + } + container reboot-stats { + description + "AP reboot statistics"; + uses wireless-access-point-oper:reboot-statistics; + } + container proxy-info { + description + "Proxy configuration provisioned to AP"; + uses wireless-access-point-oper:st-proxy-info; + } + leaf grpc-enabled { + type boolean; + description + "GRPC server status"; + } + leaf image-size-eta { + type yang:timeticks; + description + "The estimated amount of time left for the current image download to complete."; + } + leaf image-size-start-time { + type yang:date-and-time; + description + "The time the current download started."; + } + leaf image-size-percentage { + type uint32; + description + "The percentage of the current image download completed."; + } + leaf mdns-group-id { + type uint32; + description + "MDNS group ID to which AP belongs"; + } + leaf mdns-rule-name { + type string; + description + "MDNS rule name to which AP belongs"; + } + leaf ap-keepalive-state { + type boolean; + description + "Unencrypted Data Keep Alive status"; + } + leaf local-dhcp { + type boolean; + description + "Local DHCP Server enabled status"; + } + container ipv4-pool { + description + "DHCP ipv4 pool"; + uses wireless-access-point-oper:st-local-dhcp-pool; + } + leaf wlc-image-size-eta { + type yang:timeticks; + description + "The estimated amount of time left for the current controller image download to complete."; + } + leaf wlc-image-size-start-time { + type yang:date-and-time; + description + "The time the current controller image download started."; + } + leaf wlc-image-size-percentage { + type uint32; + description + "The percentage of the current controller image download completed."; + } + container disconnect-detail { + description + "AP disconnect detail"; + uses wireless-access-point-oper:st-disconnect-detail; + } + container antenna-monitor { + description + "AP antenna monitoring current configuration"; + uses wireless-access-point-oper:st-antenna-monitoring; + } + leaf wtp-ip { + type inet:ip-address; + description + "IP address of the AP"; + } + container stats-monitor { + description + "AP statistics monitoring"; + uses wireless-access-point-oper:st-ap-stats-mon-cfg; + } + leaf lsc-status-pld-supported { + type empty; + description + "AP platform support for sending LSC-status payload to WLC"; + } + container ap-lsc-status { + when 'boolean(../lsc-status-pld-supported)'; + description + "AP LSC status information"; + uses wireless-access-point-oper:st-ap-lsc-status; + } + container radio-stats-monitor { + description + "AP radio statistics monitoring"; + uses ap-types:ap-radio-mon-cfg; + } + leaf oob-img-dwld-method { + type wireless-enum-types:ewlc-ap-image-oob-method; + description + "Image download OOB method type"; + } + container zero-wt-dfs { + description + "Zero wait DFS information of the AP"; + uses wireless-access-point-oper:st-zerowt-dfs-data; + } + leaf max-clients-supported { + type uint16; + description + "Maximum number of clients an AP can support"; + } + container meraki-info { + when "(../meraki-capable = 'true')"; + description + "AP Meraki information"; + uses wireless-access-point-oper:wtp-meraki-info; + } + container meraki-conv-data { + when "(../meraki-capable = 'true')"; + description + "AP Meraki conversion data"; + uses wireless-access-point-oper:wtp-meraki-conv-result; + } + leaf meraki-capable { + type boolean; + description + "AP Meraki capability"; + } + leaf mdns-group-method { + type wireless-enum-types:enm-group-method; + description + "MDNS rule group method"; + } + container gnss-info { + description + "AP GNSS information"; + uses wireless-access-point-oper:ap-gnss-info; + } + leaf dart-con-status { + type wireless-types:enm-dart-con-status; + description + "Xor Dart connector status."; + } + leaf ap-afc-pre-notification { + type boolean; + description + "AFC license availability on AP"; + } + leaf-list radio-authority-ids { + type string; + ordered-by user; + description + "Radio-Authority IDs"; + } + leaf kernel-coredump-count { + type uint16; + description + "Kernel coredump count on AP"; + } + leaf reg-domain { + type string; + description + "AP regulatory domain"; + } + leaf meraki-monitor-capable { + type boolean; + description + "True if AP is Meraki monitoring capable"; + } + leaf meraki-connect-status { + type wireless-access-point-oper:ap-meraki-connect-status; + description + "AP Meraki connect status"; + } + leaf err-detail { + when "(../meraki-connect-status = 'am-status-reg-failed')"; + type string; + description + "AP Meraki connect status error"; + } + container ap-image-status { + description + "AP image status"; + uses wireless-access-point-oper:st-ap-image-status; + } + leaf reg-domain-resolution { + type wireless-access-point-oper:reg-domain-resoultion-method; + description + "AP regulatory domain resolution method"; + } + } + + grouping meraki-stats-key { + description + "Meraki statistics key"; + leaf conv-timestamp { + type yang:date-and-time; + description + "AP Meraki conversion timestamp"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + } + + grouping wtp-meraki-info-ext { + description + "AP Meraki extended information"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf model { + type string; + description + "AP model"; + } + leaf wtp-serial-num { + type string; + description + "AP serial number"; + } + } + + grouping ap-ethernet-intf-id { + description + "AP Ethernet interface info"; + leaf wtp-mac { + type yang:mac-address; + description + "AP Ethernet interface MAC Address"; + } + leaf if-index { + type uint16; + description + "AP Ethernet interface index"; + } + } + + grouping ap-ethernet-intf-info { + description + "AP Ethernet interface statistics"; + leaf if-name { + type string; + description + "Ethernet interface Name"; + } + leaf rx-pkts { + type uint32; + description + "Number of packets received from Mobile Station"; + } + leaf tx-pkts { + type uint32; + description + "Number of packets sent to Mobile Station"; + } + leaf oper-status { + type wireless-enum-types:oper-state; + description + "Operational state of the Ethernet interface on the AP"; + } + leaf rx-ucast-pkts { + type uint32; + description + "Total number of unicast packets + received on the interface"; + } + leaf rx-non-ucast-pkts { + type uint32; + description + "Total number of non-unicast packets + received on the interface"; + } + leaf tx-ucast-pkts { + type uint32; + description + "Total number of unicast packets + transmitted from the interface"; + } + leaf tx-non-ucast-pkts { + type uint32; + description + "Total number of non-unicast packets transmitted from the interface"; + } + leaf duplex { + type uint32; + description + "Interface's duplex mode"; + } + leaf link-speed { + type uint32; + units "Mbps"; + description + "Speed of the interface in units of 1,000,000 bits per second"; + } + leaf rx-total-bytes { + type uint32; + description + "Total number of bytes in the error-free packets + received on the interface"; + } + leaf tx-total-bytes { + type uint32; + description + "Total number of bytes in the error-free packets + transmitted from the interface"; + } + leaf input-crc { + type uint32; + description + "Total number of packets received with CRC error on the interface"; + } + leaf input-aborts { + type uint32; + description + "Total number of packets aborted while receiving on the interface"; + } + leaf input-errors { + type uint32; + description + "Sum of all errors in the packets while receiving on the interface"; + } + leaf input-frames { + type uint32; + description + "Total number of packet received incorrectly having a CRC + error and a non-integer number of octets on the interface."; + } + leaf input-overrun { + type uint32; + description + "Number of times the receiver + hardware was incapable of handing received data to a + hardware buffer because the input rate exceeded the + receiver's capability to handle the data."; + } + leaf input-drops { + type uint32; + description + "Total number of packets dropped + while receiving on the interface"; + } + leaf input-resource { + type uint32; + description + "Total number of resource errors in packets received on the interface."; + } + leaf unknown-protocol { + type uint32; + description + "Total number of packet discarded on + the interface due to unknown protocol"; + } + leaf runts { + type uint32; + description + "Number of packets that + are discarded because they are smaller than the + medium's minimum packet size"; + } + leaf giants { + type uint32; + description + "Number of packets that are discarded + because they exceed the medium's maximum packet size."; + } + leaf throttle { + type uint32; + description + "Total number of times the interface advised a sending NIC that it was + overwhelmed by packets being sent and to slow the pace of delivery."; + } + leaf resets { + type uint32; + description + "Number of times that an interface has been completely reset."; + } + leaf output-collision { + type uint32; + description + "Total number of packets retransmitted due to an Ethernet collision."; + } + leaf output-no-buffer { + type uint32; + description + "Total number of packets discarded because there was no buffer space."; + } + leaf output-resource { + type uint32; + description + "Total number of resource errors in packets transmitted from the interface."; + } + leaf output-underrun { + type uint32; + description + "Number of times the transmitter has been running + faster than the router can handle."; + } + leaf output-errors { + type uint32; + description + "Sum of all errors that prevented + the final transmission of packets out of the interface."; + } + leaf output-total-drops { + type uint32; + description + "Total number of packets dropped while transmitting + from the interface"; + } + } + + grouping ap-name-mac-map { + description + "Mapping between AP name and base radio MAC"; + leaf wtp-name { + type string; + description + "AP Name"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf eth-mac { + type yang:mac-address; + description + "AP ethernet MAC address"; + } + } + + grouping ethernet-mac-wtp-mac-map { + description + "Mapping between AP ethernet name and base radio MAC"; + leaf ethernet-mac { + type yang:mac-address; + description + "The Ethernet MAC of AP"; + } + leaf wtp-mac { + type yang:mac-address; + description + "The Radio MAC of AP"; + } + } + + grouping st-radius-counters { + description + "A collection of RADIUS related state objects"; + leaf retried-access-requests { + type uint64; + description + "The count of access request messages that were retried"; + } + leaf access-accepts { + type uint64; + description + "The count of access accept messages sent by the RADIUS server"; + } + leaf access-rejects { + type uint64; + description + "The count of access reject messages sent by the RADIUS server"; + } + leaf timeout-access-requests { + type uint64; + description + "The number of times an access request message timed out without any response from the RADIUS server"; + } + } + + grouping ewlc-cdp-cache-data-key { + description + "Compound key of the table with device id as one of the attributes"; + leaf mac-addr { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf cdp-cache-device-id { + type string; + description + "The Device-ID string as reported in the CDP message"; + } + } + + grouping cdp-cache-data-index-key { + description + "Compound key of the table with device index as one of the attributes"; + leaf wtp-mac-addr { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf device-index { + type uint32; + description + "A unique value for each device from which CDP messages are being received"; + } + } + + grouping cdp-cache-neighbour-ip-addr { + description + "List of IP address."; + leaf-list ip-address-value { + type inet:ip-address; + max-elements 9; + ordered-by user; + description + "IP address value"; + } + } + + grouping cdp-cache-data-op { + description + "An entry of the CDP cache data table"; + leaf ap-name { + type string; + description + "AP Name"; + } + leaf last-updated-time { + type yang:date-and-time; + description + "Last updated time"; + } + leaf version { + type uint8; + description + "Cisco Discovery Protocol version"; + } + leaf cdp-cache-if-index { + type int32; + description + "CDP cache interface index"; + } + leaf cdp-cache-version { + type string; + description + "CDP cache version"; + } + leaf cdp-cache-device-port { + type string; + description + "Device outgoing port"; + } + leaf cdp-cache-local-port { + type string; + description + "Device interface port"; + } + leaf cdp-cache-platform { + type string; + description + "CDP cache platform"; + } + leaf cdp-capabilities-string { + type string; + description + "CDP cache capabilities"; + } + leaf cdp-cache-ap-address { + type inet:ip-address; + description + "An indication of the type of address contained + in the corresponding instance of + clcCdpApCacheAddress for the AP"; + } + leaf cdp-addr-count { + type uint8; + description + "Neighbor IP count"; + } + leaf cdp-cache-ip-address-value { + type inet:ip-address; + description + "Entry address(es)"; + } + container ip-address { + description + "All network-layer addresses(IPv4 and IPv6) of the device's + SNMP-agent as reported in the most recent CDP message."; + uses wireless-access-point-oper:cdp-cache-neighbour-ip-addr; + } + leaf cdp-cache-duplex { + type wireless-enum-types:cdp-cache-duplex; + description + "CDP cache duplex type"; + } + leaf cdp-cache-interface-speed { + type uint32; + units "Mbps"; + description + "CDP cache interface speed"; + } + leaf packet-expiration-time { + type yang:date-and-time; + description + "Packet expire time"; + } + } + + grouping lldp-neigh-data-key { + description + "LLDP neighbor data table key"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf neigh-mac { + type yang:mac-address; + description + "MAC address of the LLDP neighbor device"; + } + } + + grouping lldp-neigh-data-op { + description + "An entry of the LLDP neighbor data table"; + leaf port-id { + type string; + description + "Port name or ID of the LLDP neighbor sending LLDP PDUs"; + } + leaf local-port { + type string; + description + "AP interface sending/receiving LLDP PDUs"; + } + leaf system-name { + type string; + description + "LLDP neighbor name"; + } + leaf port-description { + type string; + description + "Port description of LLDP neighbor sending LLDP PDUs"; + } + leaf capabilities { + type wireless-access-point-oper:lldp-device-capability; + description + "LLDP device capabilities"; + } + leaf mgmt-addr { + type inet:ip-address; + description + "Management IPv4 address of LLDP neighbor"; + } + leaf mgmt-ipv6-addr { + type inet:ip-address; + description + "Management IPv6 address of LLDP neighbor"; + } + } + + grouping st-ap-mac-ssid-info { + description + "AP MAC and SSID informations"; + list ssid-clients-list-data { + key "client-mac-address"; + description + "List of Client MAC address which use this SSID"; + uses wireless-access-point-oper:st-ssid-clients-list-data; + } + } + + grouping st-ssid-clients-list-data { + description + "Clients MAC address"; + leaf client-mac-address { + type yang:mac-address; + description + "Client MAC address"; + } + } + + grouping ap-ppe-info { + description + "Power policy entry info"; + leaf seq-number { + type uint32; + description + "Interface sequence number"; + } + leaf ppe-result { + type wireless-access-point-oper:ap-ppe-status; + description + "Power policy entry status"; + } + choice intf-choice { + description + "Interface type"; + case ap-pp-intf-unset { + leaf intf-unset { + type empty; + description + "Interface is not configured"; + } + } + case ap-pp-intf-eth { + container ethernet { + description + "Ethernet interface"; + uses wireless-types:ap-pp-intf-ethernet; + } + } + case ap-pp-intf-radio { + container radio { + description + "Radio interface"; + uses wireless-types:ap-pp-intf-radio; + } + } + case ap-pp-intf-usb { + container usb { + description + "USB interface"; + uses wireless-types:ap-pp-intf-usb; + } + } + } + } + + grouping ap-power-info { + description + "AP power policy info"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf status { + type wireless-access-point-oper:ap-power-status; + description + "Power policy status of AP"; + } + list ppe-info { + key "seq-number"; + description + "Power policy entries info"; + uses wireless-access-point-oper:ap-ppe-info; + } + } + + grouping ap-radio-wlan-key { + description + "AP radio WLAN key"; + leaf wtp-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf slot-id { + type uint8; + description + "AP slot identifier"; + } + leaf wlan-id { + type uint32; + description + "AP WLAN identifier"; + } + } + + grouping wtp-slot-wlan-stats { + description + "AP slot and WLAN stats"; + leaf bssid-mac { + type yang:mac-address; + description + "AP BSSID MAC address"; + } + leaf ssid { + type string; + description + "AP SSID name"; + } + leaf bytes-rx { + type uint64; + description + "Total number of bytes received"; + } + leaf bytes-tx { + type uint64; + description + "Total number of bytes transfered"; + } + leaf pkts-rx { + type uint64; + description + "Total number of packets received"; + } + leaf pkts-tx { + type uint64; + description + "Total number of packets transfered"; + } + leaf data-retries { + type uint64; + description + "Total number of data retries"; + } + } + + grouping ap-debug-bundle-key { + description + "Key for AP debug bundle"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf event { + type wireless-access-point-oper:ap-debug-bundle-event-type; + description + "Event type for the AP debug bundle"; + } + } + + grouping ap-spectral-debug-bundle { + description + "AP spectral debug bundle"; + leaf ap-name { + type string; + description + "Name of the AP"; + } + leaf last-event { + type wireless-access-point-oper:ap-spectral-capture-event; + description + "AP spectral-capture last-event"; + } + leaf current-state { + type wireless-access-point-oper:ap-spectral-capture-state; + description + "AP spectral-capture current-state"; + } + leaf requested-captures { + type uint16; + description + "Number of requested captures"; + } + leaf received-captures { + type uint16; + description + "Number of received captures"; + } + leaf filename { + type string; + description + "File-name for the capture file"; + } + leaf last-timestamp { + type yang:date-and-time; + description + "Last time when spectral-capture data was updated"; + } + } + + grouping ap-client-debug-bundle { + description + "Client debug bundle"; + leaf wtp-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + } + + grouping ap-debug-bundle { + description + "AP debug bundle"; + choice debug-event-choice { + description + "Debug bundle event choice"; + case debug-bundle-client { + container ap-client-bundle { + description + "AP client debug bundle"; + uses wireless-access-point-oper:ap-client-debug-bundle; + } + } + case debug-bundle-spectral { + container ap-spectral-bundle { + description + "AP spectral debug bundle"; + uses wireless-access-point-oper:ap-spectral-debug-bundle; + } + } + } + } + + grouping st-mewlc-ap-oper-data { + description + "Embedded Wireless Controller operational data"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC Address of the AP Radio"; + } + leaf primary-image-version { + type string; + description + "Primary image software version"; + } + leaf backup-image-version { + type string; + description + "Backup image software version"; + } + } + + grouping st-ap-capwap-pkt-info { + description + "AP CAPWAP packet counters"; + leaf wtp-mac { + type yang:mac-address; + description + "AP radio interface MAC Address"; + } + leaf cntrl-pkts { + type uint64; + description + "Number of control packets received from AP"; + } + leaf data-keep-alive-pkts { + type uint64; + description + "Number of data Keep-alive packets received from AP"; + } + leaf capwap-error-pkts { + type uint64; + description + "Number of capwap error packets received from AP"; + } + leaf rfid-pkts { + type uint64; + description + "Number of RFID packets received from AP"; + } + leaf dot1x-eap-pkts { + type uint64; + description + "Number of dot1x EAP packets received from AP"; + } + leaf dot1x-mgmt-pkts { + type uint64; + description + "Number of dot1x management packets received from AP"; + } + leaf dot1x-key-type-pkts { + type uint64; + description + "Number of dot1x key type packets received from AP"; + } + leaf arp-pkts { + type uint64; + description + "Number of ARP packets received from AP"; + } + leaf ip-pkts { + type uint64; + description + "Number of IP packets received from AP"; + } + leaf iapp-pkts { + type uint64; + description + "Number of IAPP packets received from AP"; + } + leaf dhcp-pkts { + type uint64; + description + "Number of DHCP packets received from AP"; + } + leaf rrm-pkts { + type uint64; + description + "Number of RRM packets received from AP"; + } + leaf ipv6-pkts { + type uint64; + description + "Number of IPV6 packets received from AP"; + } + leaf dot1x-ctrl-pkts { + type uint64; + description + "Number of dot1x control packets received from AP"; + } + } + + grouping st-capwap-discovery-pkt-info { + description + "AP discovery packet counters"; + leaf wtp-mac { + type yang:mac-address; + description + "AP radio interface MAC Address"; + } + leaf discovery-pkts { + type uint64; + description + "Number of discovery packets received from AP"; + } + leaf discovery-err-pkts { + type uint64; + description + "Number of discovery error packets received from AP"; + } + } + + grouping wmm-cac-stats { + description + "WMM TSPEC call statistics"; + leaf calls-in-progress { + type uint16; + description + "Total number of voice calls in progress"; + } + leaf roam-calls-in-progress { + type uint16; + description + "Total number of roaming voice calls in progress"; + } + leaf calls-accepted { + type uint16; + description + "Total number of calls accepted since AP joined"; + } + leaf roam-calls-accepted { + type uint16; + description + "Total number of roam calls accepted since AP joined"; + } + leaf calls-rejected { + type uint16; + description + "Total number of calls rejected since AP joined"; + } + leaf roam-calls-rejected { + type uint16; + description + "Total number of roam calls rejected since AP joined"; + } + leaf calls-rejected-insuff-bw { + type uint16; + description + "Total number of calls rejected due to insufficient bandwidth"; + } + leaf calls-rejected-qos { + type uint16; + description + "Total number of calls rejected due to wlan QoS settings"; + } + leaf calls-rejected-phy-rate { + type uint16; + description + "Total number of calls rejected due to un-acceptable PHY rate"; + } + leaf calls-rejected-invalid-tspec { + type uint16; + description + "Total number of calls rejected due to invalid TSPEC parameters"; + } + leaf exp-bw-reqs-received { + type uint16; + description + "Total number of exp bw requests received since AP join"; + } + leaf exp-bw-reqs-accepted { + type uint16; + description + "Total number of exp bw request calls admitted as + expbwreqs since AP joined"; + } + } + + grouping sip-cac-stats { + description + "SIP CAC statistics"; + leaf sip-calls-in-progress { + type uint16; + description + "Total number of calls in progress"; + } + leaf sip-roam-calls-in-progress { + type uint16; + description + "Total number of roam calls in progress"; + } + leaf sip-calls-accepted { + type uint16; + description + "Total number of calls accepted since AP join"; + } + leaf sip-roam-calls-accepted { + type uint16; + description + "Total number of roam calls accepted since AP join"; + } + leaf sip-preferred-calls-received { + type uint16; + description + "Total number of Preferred calls received"; + } + leaf sip-preferred-calls-accepted { + type uint16; + description + "Total number of Preferred calls accepted"; + } + leaf sip-preferred-calls-ongoing { + type uint16; + description + "Total number of ongoing preferred calls"; + } + leaf sip-calls-rejected-insuf-bw { + type uint16; + description + "Total number of calls rejected insufficient bandwidth"; + } + leaf sip-roam-calls-rejected-insuf-bw { + type uint16; + description + "Total number of roam calls rejected insufficient bandwidth"; + } + } + + grouping qos-ap-radio-key { + description + "Composite key structure for AP Radio record in DB"; + leaf radio-slot-id { + type uint8; + description + "Slot id for radio"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP mac address"; + } + } + + grouping aaa-qos-params { + description + "AAA QoS parameters sent to the AP"; + leaf aaa-avgdtus { + type uint32; + units "kbps"; + description + "AAA override value for average data rate-upstream"; + } + leaf aaa-avgrtdtus { + type uint32; + units "kbps"; + description + "AAA override value for average real data rate-upstream"; + } + leaf aaa-bstdtus { + type uint32; + units "kbps"; + description + "AAA override value for burst data rate-upstream"; + } + leaf aaa-bstrtdtus { + type uint32; + units "kbps"; + description + "AAA override value for burst real time data rate-upstream"; + } + leaf aaa-avgdtds { + type uint32; + units "kbps"; + description + "AAA override value for average data rate-downstream"; + } + leaf aaa-avgrtdtds { + type uint32; + units "kbps"; + description + "AAA override value for average real data rate-downstream"; + } + leaf aaa-bstdtds { + type uint32; + units "kbps"; + description + "AAA override value for burst data rate-downstream"; + } + leaf aaa-bstrtdtds { + type uint32; + units "kbps"; + description + "AAA override value for burst real time data rate-downstream"; + } + } + + grouping qos-client-data { + description + "QoS client data"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + container aaa-qos-params { + description + "AAA QoS parameters"; + uses wireless-access-point-oper:aaa-qos-params; + } + } + + grouping qos-ap-radio-data { + description + "QoS AP Radio data in DB"; + leaf wmm-voice-bw-allocated { + type uint32; + units "percentage"; + description + "Voice Bandwidth allocated for Calls"; + } + leaf wmm-max-voice-bandwidth { + type uint32; + units "percentage"; + description + "Max RF bandwidth for Calls"; + } + leaf wmm-bw-in-use { + type uint32; + units "percentage"; + description + "Bandwidth is used in Voice Call (% of config bandwidth)"; + } + container wmm-cac-stats { + description + "CAC stats data for this Radio on AP"; + uses wireless-access-point-oper:wmm-cac-stats; + } + leaf lbcac-measure { + type boolean; + description + "load-based CAC setting measure"; + } + leaf wmm-voice-roam-bw-in-use { + type uint32; + units "percentage"; + description + "Bandwidth is used in Voice roam Call (% of config bandwidth)"; + } + leaf sip-preferred-calls-mtu-used { + type uint32; + units "percentage"; + description + "Total bandwidth is used for SIP preferred Call (% of config bandwidth)"; + } + leaf cumulative-call-count { + type uint32; + description + "completed sip call count"; + } + leaf cumulative-seconds-used { + type uint32; + units "seconds"; + description + "call duration for completed sip calls"; + } + container sip-cac-stats { + description + "SIP CAC statistics"; + uses wireless-access-point-oper:sip-cac-stats; + } + leaf total-active-calls { + type uint16; + description + "Total active calls include both TSpec and SIP calls"; + } + leaf total-rejected-calls { + type uint16; + description + "Total Rejected calls include both TSpec and SIP calls"; + } + } + + grouping qos-client-voice-statistics { + description + "QoS Client Voice Statistics"; + leaf total-num-of-tspec-rcvd { + type uint32; + description + "Total Number of TSPEC requests received"; + } + leaf new-tspec-from-assoc-req { + type uint32; + description + "Number of New TSPEC received from Assoc Request"; + } + leaf tspec-renewal-from-assoc-req { + type uint32; + description + "Number of TSPEC renewal received from Assoc Request"; + } + leaf new-tspec-as-add-ts { + type uint32; + description + "Number of new Add TS requests received"; + } + leaf tspec-renewal-from-add-ts { + type uint32; + description + "Number of Add TS renewal requests received"; + } + leaf tspec-process-failed-get-rec { + type uint32; + description + "Number of DB failures while processing TSPEC"; + } + leaf total-sip-invite-on-caller { + type uint32; + description + "Total number of SIP Invite received on Caller"; + } + leaf total-sip-invite-on-callee { + type uint32; + description + "Total number of SIP Invite received on Callee"; + } + leaf total-num-of-call-report { + type uint32; + description + "Total number of call-report received"; + } + leaf total-sip-failure-trap-send { + type uint32; + description + "Total number of SIP failure trap send"; + } + leaf num-of-calls-accepted { + type uint32; + description + "Total Number of calls accepted"; + } + leaf num-of-calls-rejected-insuf-bw { + type uint32; + description + "Number of calls rejected due to Insufficient BW"; + } + leaf num-of-calls-rejected-qos { + type uint32; + description + "Number of calls rejected due to QoS policy"; + } + leaf num-of-calls-rejected-phy-rate { + type uint32; + description + "Number of calls rejected due to PHY rate"; + } + leaf num-of-calls-rej-invalid-tspec { + type uint32; + description + "Number of calls rejected due to Invalid TSPEC"; + } + leaf num-of-roam-calls-accepted { + type uint32; + description + "Total Number of roam calls accepted"; + } + leaf num-of-roam-calls-rejected { + type uint32; + description + "Total Number of roam calls rejected"; + } + leaf num-of-active-sip-calls { + type uint32; + description + "Total Number of active SIP calls"; + } + leaf num-of-active-tspec-calls { + type uint32; + description + "Total Number of active TSPEC calls"; + } + } + + grouping qos-global-statistics { + description + "QoS Global Statistics"; + container qos-client-voice-stats { + description + "QoS Client Voice related Statistics"; + uses wireless-access-point-oper:qos-client-voice-statistics; + } + } + + grouping radio-band-sniff-params { + description + "Sniffer parameters for the radio band"; + leaf chan-width { + type wireless-enum-types:chan-width; + description + "Channel width supported"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio band"; + } + leaf-list channels { + type uint8; + ordered-by user; + description + "channel list supported"; + } + } + + grouping ewlc-sniff-radio-data { + description + "Sniffer operational parameters for the AP radio"; + leaf sniffer-capable { + type empty; + description + "Sniffer capability for the AP radio"; + } + leaf sniff-reason-code { + type wireless-access-point-oper:radio-sniff-dis-rson-code; + description + "Sniffer disabled reason code"; + } + list sniffer-band-params { + description + "Sniffer parameters per band supported by AP radio"; + uses wireless-access-point-oper:radio-band-sniff-params; + } + } + + grouping ewlc-dual-radio-mode-config-data { + description + "Dual radio configuration and capability for AP radio"; + leaf dual-radio-mode { + type wireless-enum-types:enum-dual-radio-mode; + description + "Dual radio mode for AP radio"; + } + leaf dual-radio-capable { + type wireless-enum-types:enum-dual-radio-capable; + description + "AP radio is dual radio capable"; + } + leaf dual-radio-mode-op { + type wireless-enum-types:enum-radio-mode-op; + description + "Dual radio mode operation for AP radio"; + } + } + + grouping ewlc-radio-station-cfg-data { + description + "Configurations related to wireless stations"; + leaf station-cfg-config-type { + type wireless-types:w-config-type; + description + "Configurations type. Either Auto or customized"; + } + leaf medium-occupancy-limit { + type uint16; + description + "Maximum amount of time coordinator may control the + usage of the wireless medium"; + } + leaf cfp-period { + type uint8; + description + "Contention free period"; + } + leaf cfp-max-duration { + type uint16; + description + "Contention free period max duration"; + } + leaf bssid { + type yang:mac-address; + description + "Bssid of the radio"; + } + leaf beacon-period { + type uint16; + description + "Beacon time period"; + } + leaf country-string { + type string; + description + "AP Country Code"; + } + } + + grouping ewlc-radio-mac-oper-cfg-data { + description + "Radio mac operational config data"; + leaf mac-operation-config-type { + type wireless-types:w-config-type; + description + "Radio mac operational config type"; + } + leaf rts-threshold { + type uint16; + description + "Request to send threshold"; + } + leaf short-retry-limit { + type uint8; + description + "Short retry limit"; + } + leaf long-retry-limit { + type uint8; + description + "Long retry limit"; + } + leaf frag-threshold { + type uint16; + description + "Fragmentation threshold"; + } + leaf max-tx-life-time { + type uint32; + description + "Transmit life time"; + } + leaf max-rx-life-time { + type uint32; + description + "Receive life time"; + } + } + + grouping ewlc-phy-tx-power-cfg-data { + description + "Configured tx-power for AP radio"; + leaf phy-tx-power-config-type { + type wireless-types:w-config-type; + description + "Type of Tx power configuration, Auto or Static"; + } + leaf current-tx-power-level { + type uint16; + description + "Tx Power level in the range from 1 to 8, 1 being the highest"; + } + } + + grouping ewlc-phy-tx-power-level-cfg-data { + description + "Configured Tx power in dBm"; + leaf num-supp-power-levels { + type uint8; + description + "Number of supported transmit power levels of the AP radio"; + } + leaf tx-power-level-1 { + type int16; + units "dBm"; + description + "TX power level value at index 1 for the AP radio. This is also the default power level. It is same as the maximum power level available on an AP interface."; + } + leaf tx-power-level-2 { + type int16; + units "dBm"; + description + "TX power level value at index 2 for the AP radio. It is 1/2 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-3 { + type int16; + units "dBm"; + description + "TX power level value at index 3 for the AP radio. It is 1/4 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-4 { + type int16; + units "dBm"; + description + "TX power level value at index 4 for the AP radio. It is 1/8 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-5 { + type int16; + units "dBm"; + description + "TX power level value at index 5 for the AP radio. It is 1/16 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-6 { + type int16; + units "dBm"; + description + "TX power level value at index 6 for the AP radio. It is 1/32 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-7 { + type int16; + units "dBm"; + description + "TX power level value at index 7 for the AP radio. It is 1/64 of the maximum power level available on an AP interface."; + } + leaf tx-power-level-8 { + type int16; + units "dBm"; + description + "TX power level value at index 8 for the AP radio. It is 1/128 of the maximum power level available on an AP interface."; + } + leaf curr-tx-power-in-dbm { + type int16; + units "dBm"; + description + "Transmit Power for the AP radio in dBm"; + } + } + + grouping ewlc-multi-domain-cap-data { + description + "Multi domain capability data"; + leaf first-chan-num { + type uint16; + description + "First channel number in multi domain"; + } + leaf num-channels { + type uint16; + description + "Number of channels in multi domain"; + } + leaf max-tx-power-level { + type uint16; + description + "Maximum transmit power level supported"; + } + } + + grouping ewlc-phy-ht-cfg-data { + description + "802.11n configuration"; + leaf ht-enable { + type uint8; + description + "802.11n configuration for the AP radio. It has a value representing the bit flag of MCS rates enabled on the AP radio"; + } + leaf phy-ht-cfg-config-type { + type wireless-types:w-config-type; + description + "Type of Channel configuration, Auto or Static"; + } + leaf curr-freq { + when "((../../../radio-mode != 'radio-mode-monitor') and (../../../radio-mode != 'radio-mode-sniffer') and (../../../radio-mode != 'radio-mode-invalid'))"; + type uint16; + description + "Current operating frequency(Channel) on the AP radio"; + } + leaf chan-width { + type uint8; + description + "Channel width of the AP radio"; + } + leaf ext-chan { + type uint8; + description + "Current extended channel. Valid if the channel width is more than 20 Mhz"; + } + leaf vht-enable { + type boolean; + description + "802.11ac configuration for the AP radio. + True - 802.11ac is enabled. + False - 802.11ac is disabled."; + } + leaf leg-tx-bf-enabled { + type uint8; + description + "Legacy Tx beamforming enabled"; + } + leaf rrm-channel-change-reason { + type wireless-enum-types:rrm-channel-change-reason; + description + "Reason for Channel change by RRM"; + } + leaf freq-string { + when "((../../../radio-mode != 'radio-mode-monitor') and (../../../radio-mode != 'radio-mode-sniffer'))"; + type string; + description + "channel or a comma separated list of channels in case of higher bandwidth"; + } + } + + grouping ewlc-phy-ht-cap-data { + description + "802.11n capabilities"; + leaf vht-capable { + type boolean; + description + "True if AP radio is 802.11ac capable"; + } + leaf ht-capable { + type boolean; + description + "True if AP radio is 802.11n capable"; + } + } + + grouping ewlc-phy-he-cap-data { + description + "802.11ax Capability data for AP radio"; + leaf he-enabled { + type boolean; + description + "AP radio is 802.11ax enabled"; + } + leaf he-capable { + type boolean; + description + "AP radio is 802.11ax capable"; + } + leaf he-single-user-beamformer { + type uint8; + description + "Operation mode as Single User beamforming in HE mode"; + } + leaf he-multi-user-beamformer { + type uint8; + description + "Operation mode as Multi User beamforming in HE mode"; + } + leaf he-stbc-mode { + type uint8; + description + "True - STBC TX-RX mode enabled. + False - STBC TX-RX mode disabled."; + } + leaf he-ampdu-tid-bitmap { + type uint8; + description + "Number of traffic identifiers of QoS Data frames + that HE Station can aggregate in a multi traffic + identifier in A-MPDU"; + } + leaf he-cap-tx-rx-mcs-nss { + type uint16; + description + "Number of TX RX spatial streams supported for HE AP"; + } + } + + grouping ewlc-phy-eht-cap-data { + description + "802.11be capability data for AP radio"; + leaf eht-enable { + type boolean; + description + "AP radio is 802.11be enabled"; + } + leaf eht-capable { + type boolean; + description + "802.11be capability of AP radio"; + } + leaf subf-capable { + type boolean; + description + "Operation mode as single user beamforming in 802.11be mode"; + } + leaf mubf-80mhz-cap { + type boolean; + description + "Operation mode as multi user beamforming in 80 MHz 802.11be mode"; + } + leaf mubf-160mhz-cap { + type boolean; + description + "Operation mode as multi user beamforming in 160 MHz 802.11be mode"; + } + leaf mubf-320mhz-cap { + type boolean; + description + "Operation mode as multi user beamforming in 320 MHz 802.11be mode"; + } + } + + grouping cfg-entity-phy-eht-cap { + description + "802.11be capability information"; + container data { + description + "802.11be capability information"; + uses wireless-access-point-oper:ewlc-phy-eht-cap-data; + } + } + + grouping ewlc-antenna-cfg-data { + description + "Information related to Antenna configuration"; + leaf diversity-selection { + type wireless-enum-types:enm-antenna-selection; + description + "Diversity selection type, values connectorA, connectorB or enabled. + Not applicable to 802.11a radio band"; + } + leaf antenna-mode { + type wireless-enum-types:enm-antenna-mode; + description + "Antenna Mode. For 802.11a this attribute will always be omni. + Not applicable to 802.11b radio band"; + } + leaf num-of-antennas { + type uint8; + description + "Number of Antennas present on this AP radio"; + } + } + + grouping chan-pwr-map { + description + "Channel information"; + leaf chan { + type uint8; + description + "Channel number"; + } + } + + grouping chan-pwr-map-list { + description + "Supported channel information for the AP radio"; + list chan-pwr { + max-elements 64; + description + "Supported channels of the AP radio"; + uses wireless-access-point-oper:chan-pwr-map; + } + } + + grouping ewlc-chan-pwr-info-data { + description + "Antenna parameters for AP radio"; + leaf antenna-gain { + type uint8; + units "dBi"; + description + "Antenna gain for the AP radio, in units of two"; + } + leaf int-antenna-gain { + type uint8; + units "dBi"; + description + "Internal Antenna gain for the AP radio, in units of two"; + } + leaf ext-antenna-gain { + type uint8; + units "dBi"; + description + "External Antenna gain for the AP radio, in units of two"; + } + container chan-pwr-list { + description + "The list of supported channels for the AP radio"; + uses wireless-access-point-oper:chan-pwr-map-list; + } + } + + grouping cfg-entity-radio-station-cfg { + description + "Configurations related to wireless stations"; + container cfg-data { + description + "Configuration data"; + uses wireless-access-point-oper:ewlc-radio-station-cfg-data; + } + } + + grouping cfg-entity-radio-mac-oper-cfg { + description + "Radio mac operational config data"; + container cfg-data { + description + "Configuration data"; + uses wireless-access-point-oper:ewlc-radio-mac-oper-cfg-data; + } + } + + grouping cfg-entity-phy-tx-power-cfg { + description + "Tx-power configured on the radio"; + container cfg-data { + description + "Phy Tx Power Configuration"; + uses wireless-access-point-oper:ewlc-phy-tx-power-cfg-data; + } + } + + grouping cfg-entity-phy-tx-power-level-cfg { + description + "Configured tx power level on the AP radio"; + container cfg-data { + description + "Tx power level Configuration"; + uses wireless-access-point-oper:ewlc-phy-tx-power-level-cfg-data; + } + } + + grouping cfg-entity-multi-domain-cap { + description + "Multi domain capability data"; + container cfg-data { + description + "Configuration Data"; + uses wireless-access-point-oper:ewlc-multi-domain-cap-data; + } + } + + grouping cfg-entity-phy-ht-cfg { + description + "802.11n configuration of the AP radio"; + container cfg-data { + description + "802.11n Configuration"; + uses wireless-access-point-oper:ewlc-phy-ht-cfg-data; + } + } + + grouping cfg-entity-phy-he-cap { + description + "802.11ax Capability information"; + container data { + description + "802.11ax Capability information"; + uses wireless-access-point-oper:ewlc-phy-he-cap-data; + } + } + + grouping cfg-entity-phy-ht-cap { + description + "802.11n capabilities of the AP radio"; + container data { + description + "802.11n Capabilities"; + uses wireless-access-point-oper:ewlc-phy-ht-cap-data; + } + } + + grouping cfg-entity-antenna-cfg { + description + "Configuration related to Antenna"; + container cfg-data { + description + "Antenna Configuration"; + uses wireless-access-point-oper:ewlc-antenna-cfg-data; + } + } + + grouping entity-channel-power-info { + description + "Antenna gain information for AP radio"; + container data { + description + "Antenna gain values for AP radio"; + uses wireless-access-point-oper:ewlc-chan-pwr-info-data; + } + } + + grouping st-sia-params { + description + "Self Identifying Antenna Parameters for the AP radio band"; + leaf is-rptnc-present { + type boolean; + description + "SIA RP-TNC is present for the AP radio. + True - SIA RP-TNC is present. + False - SIA RP-TNC is not present."; + } + leaf is-dart-present { + type boolean; + description + "SIA DART is present for the AP radio. + True - SIA DART is present. + False - SIA DART is not present."; + } + leaf antenna-if-type { + type wireless-enum-types:enm-antenna-if-type; + description + "Antenna type connected to the SIA capable AP"; + } + leaf antenna-gain { + type uint8; + units "dBi"; + description + "External antenna gain for the antenna connected to the SIA capable AP radio"; + } + leaf marlin4-present { + type boolean; + description + "Marlin 4 antenna connected to AP DART interface"; + } + leaf dm-serv-type { + type wireless-enum-types:enm-radio-service-type; + description + "Dual-mode radio serving type supported"; + } + } + + grouping ewlc-radio-band-info { + description + "Information of the AP radio band"; + leaf band-id { + type uint8; + description + "Band identifier of the radio interface"; + } + leaf reg-domain-code { + type uint16; + description + "AP radio regulatory domain code "; + } + leaf regulatory-domain { + type string; + description + "Regulatory Domain code for Radio band"; + } + container mac-oper-cfg { + description + "Radio mac operational config data"; + uses wireless-access-point-oper:cfg-entity-radio-mac-oper-cfg; + } + container phy-tx-pwr-cfg { + description + "Configured radio Tx-power in dBm"; + uses wireless-access-point-oper:cfg-entity-phy-tx-power-cfg; + } + container phy-tx-pwr-lvl-cfg { + description + "Tx-power level configured on the radio"; + uses wireless-access-point-oper:cfg-entity-phy-tx-power-level-cfg; + } + container antenna-cfg { + description + "Antenna configuration"; + uses wireless-access-point-oper:cfg-entity-antenna-cfg; + } + leaf dot11ac-channel-width-cap { + type uint8; + description + "Channel width"; + } + leaf secondary-80-channel { + type uint16; + description + "Secondary 80 channel of 80+80 channel width"; + } + container sia-params { + description + "Self Identifying Antenna parameters of the AP radio band"; + uses wireless-access-point-oper:st-sia-params; + } + } + + grouping st-sniffer-cfg { + description + "Configuration related sniffer mode"; + leaf sniffer-enabled { + type boolean; + description + "Boolean value which indicates if the radio is in sniffer role"; + } + leaf server-ip { + type inet:ip-address; + description + "Configured IP address of the sniffer server"; + } + } + + grouping st-bss-color-config { + description + "802.11ax BSS Color configuration and capability data for AP radio"; + leaf bss-color-capable { + type boolean; + description + "AP radio is 802.11ax BSS Color capable"; + } + leaf bss-color { + type uint8 { + range "0 .. 63"; + } + description + "Configured 802.11ax BSS Color, 0 meaning disabled"; + } + leaf bss-color-config-type { + type wireless-types:w-config-type; + description + "Type of 802.11ax BSS Color configuration"; + } + } + + grouping ap-radio-stats-data { + description + "AP radio statistics information"; + leaf stuck-ts { + type yang:date-and-time; + description + "First timestamp at which the radio being stuck is observed"; + } + leaf last-ts { + type yang:date-and-time; + description + "Last timestamp at which the radio being stuck was observed"; + } + leaf num-radio-stuck-reset { + type uint32; + description + "Number of radio resets done due to radio stuck"; + } + } + + grouping st-ant-labels { + description + "Antenna labels"; + leaf-list label { + type wireless-access-point-oper:enm-antenna-label; + ordered-by user; + description + "List of antenna labels"; + } + } + + grouping st-pre-cac-stats { + description + "Zero wait DFS pre-CAC statistics"; + leaf request-sent { + type uint32; + description + "Number of requests sent"; + } + leaf response-received { + type uint32; + description + "Number of responses received"; + } + leaf failure { + type uint32; + description + "Number of failures"; + } + leaf request-timeout { + type uint32; + description + "Number of request timeouts"; + } + } + + grouping st-pre-cac-bypass-stats { + description + "Zero wait DFS pre-CAC bypass statistics"; + leaf width-160mhz-assignment { + type uint32; + description + "Number of times channel width set to 160 MHz"; + } + leaf width-upgraded { + type uint32; + description + "Number of times channel width upgraded"; + } + leaf channel-space-violation { + type uint32; + description + "Number of times channel space 100 MHz violation"; + } + leaf channel-misalignment { + type uint32; + description + "Number of times channel misalignment"; + } + leaf cac-in-progress { + type uint32; + description + "Number of times channel CAC in progress"; + } + leaf rsvd-channel-unavailable { + type uint32; + description + "Number of times reserved channel unavailable on radar detection"; + } + leaf rsvd-chnl-space-violation { + type uint32; + description + "Number of times reserved channel violates channel spacing 100 MHz on radar detection"; + } + } + + grouping st-zwdfs-stats { + description + "Zero wait DFS statistics"; + container pre-cac-stats { + description + "Zero wait DFS pre-CAC statistics"; + uses wireless-access-point-oper:st-pre-cac-stats; + } + container pre-cac-bypass-stats { + description + "Zero wait DFS pre-CAC bypass statistics"; + uses wireless-access-point-oper:st-pre-cac-bypass-stats; + } + } + + grouping ewlc-radio-operation-config { + description + "Radio operational configuration"; + leaf slot-id { + when "../radio-type != 'radio-remote-lan'"; + type uint8; + description + "Radio slot identifier"; + } + leaf radio-type { + type wireless-enum-types:enm-radio-type; + description + "Type of the radio. Possible values are: + radio-80211bg - 802.11bg radio + radio-80211a - 802.11a radio + radio-80211abgn - Dual band radio + radio-remote-lan - Remote LAN + radio-80211-6ghz - 802.11 6 GHz radio"; + } + leaf admin-state { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:enum-radio-admin-state; + description + "Admin state of the radio interface"; + } + leaf oper-state { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:enum-radio-oper-state; + description + "Operational state of the radio interface. Even though the admin state is enabled there are various reasons for which the operational state of the radio can be down"; + } + leaf radio-mode { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:enm-ewlc-ap-radio-modes; + description + "Current radio mode. Possible values are: + radio-mode-invalid - Invalid mode + radio-mode-local - Local mode + radio-mode-monitor - Monitor mode + radio-mode-flex-connect - Remote mode + radio-mode-rogue-detector - Rogue detector + radio-mode-sniffer - Sniffer mode + radio-mode-bridge - Bridge mode + radio-mode-se-connect - Spectrum mode + radio-mode-hybrid-flexconnect - Hybrid mode + radio-mode-remote-bridge - Remote Bridge + radio-mode-sensor - Sensor mode"; + } + leaf radio-sub-mode { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:radio-sub-mode; + description + "Radio mode selection process, possible values are: + radio-sub-mode-none - None + radio-sub-mode-auto - radio mode is selected automatically + radio-sub-mode-manual - Manual, radio mode is selected manually"; + } + leaf radio-subtype { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:ap-radio-subtype; + description + "Radio sub type indicating the radios capabilities, possible values are: + ap-radio-subtype-main - Main + ap-radio-subtype-rx-only - Rx-only, radio can only receive + ap-radio-subtype-slave-ac - Slave AC + ap-radio-subtype-rem-lan - Remote lan + ap-radio-subtype-tx-rx - Radio can both receive and transmit"; + } + leaf radio-subband { + when "(../radio-type = 'radio-80211a')"; + type wireless-enum-types:slot-radio-sub-band; + description + "Radio sub band, Valid only if the radio is in 5 GHz band"; + } + leaf current-band-id { + when "../radio-type != 'radio-remote-lan'"; + type uint8; + description + "Represents radio's current operating band identifier. + Possible values are: + 0 - current operational band is 2.4GHz + 1 - current operational band is 5GHz"; + } + leaf current-active-band { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio's current operating band, Possible values are: + dot11-2-dot-4-ghz-band - Current operational band is 2.4GHz + dot11-5-ghz-band - Current operational band is 5GHz"; + } + leaf xor-radio-mode { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:enum-xor-radio-mode; + description + "Dual band(XOR) radio mode possible values are: + xor-radio-mode-local - Client serving + xor-radio-mode-monitor - Monitor mode + xor-radio-mode-sensor - sensor mode"; + } + container station-cfg { + when "../radio-type != 'radio-remote-lan'"; + description + "Configurations related to wireless stations"; + uses wireless-access-point-oper:cfg-entity-radio-station-cfg; + } + container multi-domain-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "Configuration related to multiple domain capabilities"; + uses wireless-access-point-oper:cfg-entity-multi-domain-cap; + } + container phy-ht-cfg { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11n Configuration"; + uses wireless-access-point-oper:cfg-entity-phy-ht-cfg; + } + container phy-ht-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11n Capabilities"; + uses wireless-access-point-oper:cfg-entity-phy-ht-cap; + } + container xor-phy-ht-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11n capabilities for a dual-band radio"; + uses wireless-access-point-oper:cfg-entity-phy-ht-cap; + } + container phy-he-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11ax Capabilities for radio"; + uses wireless-access-point-oper:cfg-entity-phy-he-cap; + } + leaf radio-he-capable { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "Dot11ax support"; + } + container chan-pwr-info { + when "../radio-type != 'radio-remote-lan'"; + description + "Mapping between all channels and allowed power levels on that channel"; + uses wireless-access-point-oper:entity-channel-power-info; + } + container sniffer-cfg { + when "../radio-type != 'radio-remote-lan'"; + description + "Contains configuration related to sniffer mode or sniffer role"; + uses wireless-access-point-oper:st-sniffer-cfg; + } + leaf antenna-pid { + when "../radio-type != 'radio-remote-lan'"; + type string; + description + "Radio Antenna PID"; + } + list radio-band-info { + when "../radio-type != 'radio-remote-lan'"; + key "band-id"; + description + "Radio Band Information"; + uses wireless-access-point-oper:ewlc-radio-band-info; + } + list vap-oper-config { + when "../radio-type != 'radio-remote-lan'"; + key "ap-vap-id"; + description + "AP SSID Operational information"; + uses wireless-access-point-oper:ewlc-vap-operational-config; + } + leaf reg-domain-check-status { + when "../radio-type != 'radio-remote-lan'"; + type wireless-enum-types:reg-domain-status; + description + "regulatory-domain-check-status-not-set - Regulatory Domain check has failed. + regulatory-domain-check-status-set - Regulatory Domain check has passed."; + } + leaf antenna-gain { + when "../radio-type != 'radio-remote-lan'"; + type uint8; + units "0.5 dBi"; + description + "Antenna gain for the AP radio"; + } + leaf slot-antenna-type { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:radio-slot-antenna-type; + description + "Radio slot Antenna type"; + } + leaf radio-enable-time { + when "(../oper-state = 'radio-up' and ../radio-type != 'radio-remote-lan')"; + type yang:date-and-time; + description + "Radio slot up time for AP"; + } + leaf dot11n-mcs-rates { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:flag-dot11n-mcs-rates; + description + "802.11n MCS Rates"; + } + container dual-radio-mode-cfg { + when "../radio-type != 'radio-remote-lan'"; + description + "Dual radio mode operation and capability"; + uses wireless-access-point-oper:ewlc-dual-radio-mode-config-data; + } + leaf radio-fra-capable { + when "../radio-type != 'radio-remote-lan'"; + type wireless-enum-types:enum-radio-fra-capable; + description + "FRA capability"; + } + container bss-color-cfg { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11ax BSS Color radio configuration and capability"; + uses wireless-access-point-oper:st-bss-color-config; + } + leaf highest-throughput-proto { + when "../radio-type != 'radio-remote-lan'"; + type wireless-enum-types:enm-radio-dot11-proto-supported; + description + "Highest throughput supported by radio as per 802.11 protocols"; + } + leaf cac-active { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "This leaf indicates whether channel availability check is in progress"; + } + leaf obss-pd-capable { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "AP radio is 802.11ax OBSS PD capable"; + } + leaf ndp-cap { + when "../radio-type != 'radio-remote-lan'"; + type wireless-enum-types:ndp-capability; + description + "AP neighbor discovery mode capability"; + } + leaf ndp-on-channel { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "True if AP neighbor discovery mode is on channel, + False if AP neighbor discovery mode is off channel"; + } + leaf beam-selection { + when "../radio-type != 'radio-remote-lan'"; + type wireless-enum-types:enm-beam-selection-mode; + description + "Beam selection mode for the AP slot"; + } + leaf num-ant-enabled { + when "../radio-type != 'radio-remote-lan'"; + type uint8; + description + "Number of antennas enabled for the AP slot"; + } + leaf cur-ant-bitmap { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:flag-ant-bitmap; + description + "Current antenna bitmap for the AP slot"; + } + leaf supp-ant-bitmap { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:flag-ant-bitmap; + description + "Supported antenna bitmap for the AP slot"; + } + leaf supp-160mhz-ant-bitmap { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:flag-ant-bitmap; + description + "Supported antenna bitmap for 160 MHz bandwidth for the AP slot"; + } + container alloc-ant-labels { + when "../radio-type != 'radio-remote-lan'"; + description + "Allocated antenna labels for the AP slot"; + uses wireless-access-point-oper:st-ant-labels; + } + leaf dot11ax-transmit-bssid { + when "(../radio-type = 'radio-80211-6ghz')"; + type yang:mac-address; + description + "Transmitted BSSID of the radio"; + } + leaf mesh-backhaul { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "State of the Mesh backhaul on this radio"; + } + leaf mesh-designated-downlink { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "State of the designated downlink on this radio"; + } + leaf max-client-allowed { + when "../radio-type != 'radio-remote-lan'"; + type uint16; + description + "Maximum number of clients allowed per radio"; + } + leaf obss-pd-srg-capable { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "AP radio is 802.11ax OBSS PD SRG capable"; + } + container xor-phy-he-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11ax Capabilities for XOR 5/6 ghz radio"; + uses wireless-access-point-oper:cfg-entity-phy-he-cap; + } + leaf coverage-overlap-factor { + when "../radio-type != 'radio-remote-lan'"; + type uint8; + units "percentage"; + description + "- Added coverage overlap factor for Open RRM FRA features"; + } + leaf ap-6ghz-pwr-mode { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:ap-6ghz-pwr-mode; + description + "Current power mode for 6 GHz radio"; + } + leaf ap-6ghz-pwr-mode-cap { + when "../radio-type != 'radio-remote-lan'"; + type wireless-types:ap-6ghz-pwr-mode-cap; + description + "Power mode capabilities for 6 GHz radio"; + } + leaf afc-license-needed { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "AFC license needed or not"; + } + leaf push-afc-resp-done { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "AFC license pushed to AP's driver"; + } + leaf afc-below-txmin { + when "../radio-type != 'radio-remote-lan'"; + type boolean; + description + "Maximum Tx power allowed by AFC is below the configured minimum Tx power"; + } + container sniff-data { + when "../radio-type != 'radio-remote-lan'"; + description + "Sniffer operation data"; + uses wireless-access-point-oper:ewlc-sniff-radio-data; + } + container phy-eht-cap { + when "../radio-type != 'radio-remote-lan'"; + description + "802.11be capabilities for radio"; + uses wireless-access-point-oper:cfg-entity-phy-eht-cap; + } + leaf puncture-bitmap { + when "../radio-type != 'radio-remote-lan'"; + type uint32; + description + "802.11be preamble puncturing bitmap"; + } + leaf radio-capabilities { + when "../radio-type != 'radio-remote-lan'"; + type wireless-access-point-oper:flag-radio-capabilities; + description + "AP radio capabilities"; + } + } + + grouping st-radio-reset-cause-key { + description + "Radio reset cause key"; + leaf ap-mac { + type yang:mac-address; + description + "Mac address of AP"; + } + leaf radio-id { + type uint8; + description + "AP radio identifier"; + } + leaf cause { + type wireless-types:radio-reset-cause; + description + "Radio reset cause"; + } + leaf detail-cause { + type wireless-types:radio-reset-detail-cause; + description + "Detailed cause of radio reset"; + } + } + + grouping st-radio-reset-cause-count { + description + "Structure of radio reset cause count"; + leaf count { + type uint32; + description + "Radio reset cause count"; + } + } + + grouping st-radio-failure-cause-key { + description + "Radio failure cause key"; + leaf ap-mac { + type yang:mac-address; + description + "Mac address of AP"; + } + leaf radio-id { + type uint8; + description + "AP radio identifier"; + } + leaf cause { + type wireless-types:radio-reset-cause; + description + "Radio reset cause"; + } + leaf detail-cause { + type wireless-types:radio-failure-detail-cause; + description + "Detailed cause of radio failure"; + } + } + + grouping st-radio-failure-cause-count { + description + "Structure of radio failure cause count"; + leaf count { + type uint32; + description + "Radio failure cause count"; + } + } + + grouping st-mac-slot-id-comp-key { + description + "MAC address and slot id key"; + leaf ap-mac { + type yang:mac-address; + description + "Mac address of AP"; + } + leaf slot-id { + type uint8; + description + "Radio slot identifier"; + } + } + + grouping ewlc-radio-op-stats-by-type { + description + "Radio statistics by type"; + leaf stats-type { + type wireless-access-point-oper:enm-radio-op-stats-type; + description + "Radio operational stats type"; + } + leaf tx-fragment-count { + type uint32; + description + "Transmission fragment count"; + } + leaf multicast-tx-frame-cnt { + type uint32; + description + "Number of multicast 802.11 MSDUs successfully transmitted by the radio"; + } + leaf failed-count { + type uint32; + description + "Number of times radio failed to transmit 802.11 frame with maximum retries"; + } + leaf retry-count { + type uint32; + description + "Number of times an MSDU is successfully transmitted after one or more retries"; + } + leaf multiple-retry-count { + type uint32; + description + "Number of times an MSDU is successfully transmitted after more than one retry"; + } + leaf frame-duplicate-count { + type uint32; + description + "Number of times a frame was received and the Sequence Control field indicates it was a duplicate"; + } + leaf rts-success-count { + type uint32; + description + "Number of CTS frames received in response to an RTS frame"; + } + leaf rts-failure-count { + type uint32; + description + "Number of CTS frames not received in response to an RTS frame"; + } + leaf ack-failure-count { + type uint32; + description + "Number of ACK frames not received when expected"; + } + leaf rx-fragment-count { + type uint32; + description + "Number of unicast 802.11 MPDUs received by the radio"; + } + leaf multicast-rx-frame-cnt { + type uint32; + description + "Number of multicast 802.11 MSDUs successfully transmitted by the radio"; + } + leaf fcs-error-count { + type uint32; + description + "Number of 802.11 frames received with frame check sequence error"; + } + leaf tx-frame-count { + type uint32; + description + "Number of 802.11 MSDUs successfully transmitted by the radio"; + } + leaf wep-undecryptable-count { + type uint32; + description + "Number of frames discarded because they could not be decrypted by the radio"; + } + leaf rx-error-frame-count { + type uint32; + description + "Total number of frames received with error"; + } + leaf mac-mic-err-frame-count { + type uint32; + description + "Total Number of frames received with MIC error"; + } + leaf mac-decry-err-frame-count { + type uint32; + description + "Total Number of frames received with decrypt error"; + } + leaf rx-mgmt-frame-count { + type uint32; + description + "Number of 802.11 management frames received by the radio"; + } + leaf rx-ctrl-frame-count { + type uint32; + description + "Number of 802.11 control frames received by the radio"; + } + leaf rx-data-frame-count { + type uint32; + description + "Number of 802.11 data frames received by the radio"; + } + leaf tx-mgmt-frame-count { + type uint32; + description + "Number of 802.11 management packets transmitted from radio"; + } + leaf tx-ctrl-frame-count { + type uint32; + description + "Number of 802.11 control packets transmitted from radio"; + } + leaf tx-data-frame-count { + type uint32; + description + "Number of 802.11 data frames transmitted from radio"; + } + leaf rx-data-pkt-count { + type uint32; + description + "Number of 802.11 data packets received and processed by the radio"; + } + leaf tx-data-pkt-count { + type uint32; + description + "Number of 802.11 data packets transmitted from radio"; + } + leaf noise-floor { + type int8; + units "dBm"; + description + "Noise Floor, as measured by this radio"; + } + } + + grouping radio-statistics { + description + "Radio statistics information"; + leaf aid-user-list { + type uint16; + description + "Number of users associated with this radio"; + } + leaf tx-fragment-count { + type uint32; + description + "Number of unicast 802.11 MPDU successfully transmitted by the radio"; + } + leaf multicast-tx-frame-cnt { + type uint32; + description + "Number of multicast 802.11 MSDU successfully transmitted by the radio"; + } + leaf failed-count { + type uint32; + description + "Number of times radio failed to transmit 802.11 frame with maximum retries"; + } + leaf retry-count { + type uint32; + description + "Number of times an MSDU is successfully transmitted after one or more retries"; + } + leaf multiple-retry-count { + type uint32; + description + "Number of times an MSDU is successfully transmitted after more than one retry"; + } + leaf frame-duplicate-count { + type uint32; + description + "Number of times a frame was received and the Sequence Control field indicates it was a duplicate"; + } + leaf rts-success-count { + type uint32; + description + "Number of CTS frames received in response to an RTS frame"; + } + leaf rts-failure-count { + type uint32; + description + "Number of CTS frames not received in response to an RTS frame"; + } + leaf ack-failure-count { + type uint32; + description + "Number of ACK frames not received when expected"; + } + leaf rx-fragment-count { + type uint32; + description + "Number of unicast 802.11 MPDU received by the radio"; + } + leaf multicast-rx-frame-cnt { + type uint32; + description + "Number of multicast 802.11 MSDU successfully transmitted by the radio"; + } + leaf fcs-error-count { + type uint32; + description + "Number of 802.11 frames received with frame check sequence error"; + } + leaf tx-frame-count { + type uint32; + description + "Number of 802.11 MSDU successfully transmitted by the radio"; + } + leaf wep-undecryptable-count { + type uint32; + description + "Number of frames discarded because they could not be decrypted by the radio"; + } + leaf rx-error-frame-count { + type uint32; + description + "Total number of frames received with error"; + } + leaf mac-mic-err-frame-count { + type uint32; + description + "Total Number of frames received with MIC error"; + } + leaf rx-mgmt-frame-count { + type uint32; + description + "Number of 802.11 management frames received by the radio"; + } + leaf rx-ctrl-frame-count { + type uint32; + description + "Number of 802.11 control frames received by the radio"; + } + leaf rx-data-frame-count { + type uint32; + description + "Number of 802.11 data frames received by the radio"; + } + leaf tx-mgmt-frame-count { + type uint32; + description + "Number of 802.11 management packets transmitted from radio"; + } + leaf tx-ctrl-frame-count { + type uint32; + description + "Number of 802.11 control packets transmitted from radio"; + } + leaf tx-data-frame-count { + type uint32; + description + "Number of 802.11 data frames transmitted from radio"; + } + leaf rx-data-pkt-count { + type uint32; + description + "Number of 802.11 data packets received and processed by the radio"; + } + leaf tx-data-pkt-count { + type uint32; + description + "Number of 802.11 data packets transmitted from radio"; + } + leaf noise-floor { + type int8; + description + "Noise Floor, as measured by this radio"; + } + container ap-radio-stats { + description + "AP radio statistics data"; + uses wireless-access-point-oper:ap-radio-stats-data; + } + leaf mac-decry-err-frame-count { + type uint32; + description + "Total Number of frames received with MIC error"; + } + list radio-stats-list { + description + "Radio statistics list"; + uses wireless-access-point-oper:ewlc-radio-op-stats-by-type; + } + } + + grouping ewlc-vap-operational-config { + description + "WLAN information"; + leaf wlan-id { + type uint32; + description + "Configured Global WLAN ID"; + } + leaf ap-vap-id { + type uint16; + description + "Access Point WLAN ID"; + } + leaf bssid-mac { + type yang:mac-address; + description + "BSSID MAC address"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP Radio MAC Address"; + } + leaf wlan-profile-name { + type string; + description + "WLAN profile name"; + } + leaf ssid { + type string; + description + "WLAN SSID name"; + } + leaf mlo-state { + type wireless-types:enm-ewlc-dot11-mlo-state; + description + "Multi-link operation status of this VAP"; + } + leaf mld-mac { + when "(../mlo-state = 'ewlc-dot11-mlo-enabled')"; + type yang:mac-address; + description + "MLD MAC address"; + } + } + + grouping st-ap-radio-neighbor-data { + description + "The MAC address, or BSSID, of a neighbor, and their corresponding RSSI."; + leaf ssid { + type string; + description + "Neighboring BSSID."; + } + leaf rssi { + type int8; + units "dBm"; + description + "The RSSI of this neighboring BSSID."; + } + leaf channel { + type uint16; + description + "The channel of this neighboring BSSID. This is to utilize 802.11ac nomenclature. For example, 40MHz channel 36-40 represented as channel 38. primary-channel used to identify the primary 20MHz channel of the neighbor."; + } + leaf primary-channel { + type uint16; + description + "The primary 20MHz channel, if the neighbor is operating on bonded channel."; + } + leaf last-update-rcvd { + type yang:date-and-time; + description + "Time when last update received for the bssid."; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio band"; + } + } + + grouping capwap-wtp-predownload-data { + description + "AP predownload detailed information"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC Address of the AP Radio"; + } + container predownload-version { + description + "Predownload image version to be used by the AP"; + uses wireless-types:version-info; + } + leaf max-retry { + type uint8; + description + "Maximum number of predownload retries by the AP"; + } + leaf delay-time { + type uint16; + description + "Next retry time for predownload operation by the AP"; + } + leaf pred-status { + type wireless-types:enm-predownload-status; + description + "Predownload status of the AP"; + } + leaf ewc-retries { + type uint16; + description + "Number of image predownload retries by the AP"; + } + } + + grouping st-predownload-stats { + description + "Statistics related to AP image predownload operation"; + leaf num-initiated { + type uint32; + description + "Number of APs having initiated predownload"; + } + leaf num-in-progress { + type uint32; + description + "Number of APs with predownload in progress"; + } + leaf num-complete { + type uint32; + description + "Number of APs with predownload completed"; + } + leaf num-unsupported { + type uint32; + description + "Number of joined APs not supporting predownload"; + } + leaf num-failed { + type uint32; + description + "Number of APs having failed predownload"; + } + leaf is-predownload-in-progress { + type boolean; + description + "True if predownload is currently in progress"; + } + leaf num-total { + type uint32; + description + "Total Number of APs that support image predownload"; + } + } + + grouping st-ewlc-wncd-stats { + description + "AP image download and predownload statistics for EWC on AP platforms"; + container predownload-stats { + description + "Statistics related to AP image predownload operation"; + uses wireless-access-point-oper:st-predownload-stats; + } + leaf downloads-in-progress { + type uint32; + description + "Number of AP image downloads in progress"; + } + leaf downloads-complete { + type uint32; + description + "Number of completed AP image downloads"; + } + container wlc-predownload-stats { + description + "Statistics related to controller image predownload operation"; + uses wireless-access-point-oper:st-predownload-stats; + } + } + + grouping ewlc-mewlc-predownload-rec { + description + "Embedded Wireless Controller predownload data"; + leaf pred-state { + type wireless-types:enm-predwnld-status-ewc; + description + "Embedded Wireless Controller predownload state"; + } + leaf me-capable-ap-count { + type uint32; + description + "Total number of Embedded Wireless Controller capable APs"; + } + leaf controller-predownload-version { + type string; + description + "Embedded Wireless Controller predownload version"; + } + } + + grouping st-wtp-img-dwnld-stats { + description + "AP image download statistics"; + leaf wtp-mac { + type yang:mac-address; + description + "AP MAC"; + } + leaf wtp-name { + type string; + description + "AP name"; + } + leaf download-start-time { + type yang:timeticks; + status deprecated; + description + "Image download start time"; + } + leaf download-end-time { + type yang:timeticks; + status deprecated; + description + "Image download end time"; + } + leaf img-dwnld-tries { + type uint16; + description + "Image download tries"; + } + leaf last-dwnld-time { + type uint32; + description + "Last image download time"; + } + leaf last-dwnld-image-size { + type uint32; + description + "Image size of last downloaded image"; + } + leaf last-dwnld-is-aborted { + type boolean; + description + "Last image downloaded was aborted or not"; + } + leaf last-dwnld-is-predwnld { + type boolean; + description + "Last image was pre downloaded or not"; + } + leaf oob-img-dwld-method { + type wireless-enum-types:ewlc-ap-image-oob-method; + description + "Image download method"; + } + leaf downl-start-time { + type yang:date-and-time; + description + "Image download start time"; + } + leaf downl-end-time { + type yang:date-and-time; + description + "Image download end time"; + } + } + + grouping ap-trace-site-client-info { + description + "Client trace list for particular site"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + } + + grouping ap-trace-ap-client-info { + description + "Client trace list for particular AP"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + } + + grouping ap-client-trace-site-tag-info { + description + "Client trace information for a particular site tag"; + leaf site-tag-name { + type string; + description + "Site tag name for client tracing"; + } + leaf all-clients-tracing { + type boolean; + description + "Client tracing enabled for all clients"; + } + list ap-trace-site-client-list { + key "client-mac"; + description + "Client tracing list for site"; + uses wireless-access-point-oper:ap-trace-site-client-info; + } + } + + grouping ap-client-trace-ap-info { + description + "Client trace information for a particular AP"; + leaf ap-name { + type string; + description + "AP name for client tracing"; + } + leaf all-clients-tracing { + type boolean; + description + "Client tracing enabled for all clients"; + } + list ap-trace-ap-client-list { + key "client-mac"; + description + "Client tracing list for AP"; + uses wireless-access-point-oper:ap-trace-ap-client-info; + } + } + + grouping st-data-distribution { + description + "AMPDU data distribution"; + leaf bytes-0-64 { + type uint64; + description + "Number of AMPDU with size between 0 to 64 bytes"; + } + leaf bytes-65-128 { + type uint64; + description + "Number of AMPDU with size between 65 to 128 bytes"; + } + leaf bytes-129-256 { + type uint64; + description + "Number of AMPDU with size between 129 to 256 bytes"; + } + leaf bytes-257-512 { + type uint64; + description + "Number of AMPDU with size between 257 to 512 bytes"; + } + leaf bytes-513-1024 { + type uint64; + description + "Number of AMPDU with size between 513 to 1024 bytes"; + } + leaf bytes-1025-2048 { + type uint64; + description + "Number of AMPDU with size between 1025 to 2048 bytes"; + } + leaf bytes-2049-4096 { + type uint64; + description + "Number of AMPDU with size between 2049 to 4096 bytes"; + } + leaf bytes-4097-8192 { + type uint64; + description + "Number of AMPDU with size between 4097 to 8192 bytes"; + } + leaf bytes-8193-16384 { + type uint64; + description + "Number of AMPDU with size between 8193 to 16384 bytes"; + } + leaf bytes-16385-32768 { + type uint64; + description + "Number of AMPDU with size between 16385 to 32768 bytes"; + } + leaf bytes-32769-65536 { + type uint64; + description + "Number of AMPDU with size between 32769 to 65536 bytes"; + } + leaf bytes-65537-131072 { + type uint64; + description + "Number of AMPDU with size between 65537 to 131072 bytes"; + } + leaf bytes-131073-262144 { + type uint64; + description + "Number of AMPDU with size between 131073 to 262144 bytes"; + } + leaf bytes-262145-524288 { + type uint64; + description + "Number of AMPDU with size between 262145 to 524288 bytes"; + } + leaf bytes-524289-1048576 { + type uint64; + description + "Number of AMPDU with size between 524289 to 1048576 bytes"; + } + } + + grouping st-mcs-traffic-stats { + description + "MCS index list"; + leaf mcs0 { + type uint64; + description + "MCS index 0"; + } + leaf mcs1 { + type uint64; + description + "MCS index 1"; + } + leaf mcs2 { + type uint64; + description + "MCS index 2"; + } + leaf mcs3 { + type uint64; + description + "MCS index 3"; + } + leaf mcs4 { + type uint64; + description + "MCS index 4"; + } + leaf mcs5 { + type uint64; + description + "MCS index 5"; + } + leaf mcs6 { + type uint64; + description + "MCS index 6"; + } + leaf mcs7 { + type uint64; + description + "MCS index 7"; + } + leaf mcs8 { + type uint64; + description + "MCS index 8"; + } + leaf mcs9 { + type uint64; + description + "MCS index 9"; + } + } + + grouping st-data-wmm { + description + "QoS Data frames, per WMM AC"; + leaf video { + type uint64; + description + "Data frames marked as Access Category Video"; + } + leaf voice { + type uint64; + description + "Data frames marked as Access Category Voice"; + } + leaf background { + type uint64; + description + "Data frames marked as Access Category background"; + } + leaf best-effort { + type uint64; + description + "Data frames marked as Access Category best effort"; + } + } + + grouping st-ssid-counter-by-type { + description + "SSID counter for different types"; + leaf stats-type { + type wireless-access-point-oper:enm-ssid-counter-type; + description + "stats type"; + } + leaf tx-mgmt { + type uint64; + description + "Transmission management count"; + } + leaf rx-mgmt { + type uint64; + description + "Received management count"; + } + leaf tx-bytes-data { + type uint64; + units "bytes"; + description + "Total number of bytes of data frames transmitted"; + } + container tx-data-dist { + description + "The distribution of Data frame sizes in bytes of successfully received AMPDU"; + uses wireless-access-point-oper:st-data-distribution; + } + container tx-data-wmm { + description + "Transmitted QoS Data frames, per WMM AC."; + uses wireless-access-point-oper:st-data-wmm; + } + leaf tx-retries { + type uint64; + description + "Number of frames transmitted with Retry bit set."; + } + leaf tx-retries-data { + type uint64; + description + "Number of data frames transmitted with Retry bit set"; + } + leaf tx-retries-subframes { + type uint64; + description + "Aggregated MPDUs which had individual sub-frames that fail and require retransmission"; + } + container tx-mcs { + description + "Transmitted Data frames, per MCS Index"; + uses wireless-access-point-oper:st-mcs-traffic-stats; + } + leaf rx-bytes-data { + type uint64; + units "bytes"; + description + "Total number of bytes of data frames transmitted"; + } + container rx-data-dist { + description + "The distribution of Data frame sizes in bytes of successfully received AMPDU"; + uses wireless-access-point-oper:st-data-distribution; + } + container rx-data-wmm { + description + "Received 802.11 Data frames, per WMM Access Category."; + uses wireless-access-point-oper:st-data-wmm; + } + container rx-mcs { + description + "Received Data frames, per MCS Index"; + uses wireless-access-point-oper:st-mcs-traffic-stats; + } + leaf num-assoc-clients { + type uint16; + description + "Number of clients associated to this BSS"; + } + leaf noise-floor { + type uint8; + units "dBm"; + description + "Noise floor information of the radio."; + } + leaf tx-ctrl { + type uint64; + description + "Transmitted 802.11 Control frames"; + } + leaf rx-ctrl { + type uint64; + description + "Received 802.11 Control frames"; + } + leaf bss-chan-util { + type uint8; + units "percentage"; + description + "Total 802.11 channel utilization in this BSS. The total channel utilization should include all time periods the AP spent actively receiving and transmitting 802.11 frames in this BSS"; + } + } + + grouping st-ssid-counter { + description + "List of ssid counters"; + leaf bssid-mac { + type yang:mac-address; + description + "Mac address of the bssid"; + } + leaf vap-id { + type uint16; + description + "VAP id of the WLAN for the access point"; + } + leaf tx-mgmt { + type uint64; + description + "Number of 802.11 Management frames transmitted"; + } + leaf rx-mgmt { + type uint64; + description + "Number of 802.11 Management frames received"; + } + leaf tx-bytes-data { + type uint64; + units "bytes"; + description + "Total number of bytes of data frames transmitted"; + } + container tx-data-dist { + description + "The distribution of Data frame sizes in bytes of successfully received AMPDU"; + uses wireless-access-point-oper:st-data-distribution; + } + container tx-data-wmm { + description + "Transmitted QoS Data frames, per WMM AC."; + uses wireless-access-point-oper:st-data-wmm; + } + leaf tx-retries { + type uint64; + description + "Number of frames transmitted with Retry bit set."; + } + leaf tx-retries-data { + type uint64; + description + "Number of data frames transmitted with Retry bit set"; + } + leaf tx-retries-subframes { + type uint64; + description + "Aggregated MPDUs which had individual sub-frames that fail and require retransmission"; + } + container tx-mcs { + description + "Transmitted Data frames, per MCS Index"; + uses wireless-access-point-oper:st-mcs-traffic-stats; + } + leaf rx-bytes-data { + type uint64; + units "bytes"; + description + "Total number of bytes of data frames transmitted"; + } + container rx-data-dist { + description + "The distribution of Data frame sizes in bytes of successfully received AMPDU"; + uses wireless-access-point-oper:st-data-distribution; + } + container rx-data-wmm { + description + "Received 802.11 Data frames, per WMM Access Category."; + uses wireless-access-point-oper:st-data-wmm; + } + container rx-mcs { + description + "Received Data frames, per MCS Index"; + uses wireless-access-point-oper:st-mcs-traffic-stats; + } + leaf num-assoc-clients { + type uint16; + description + "Number of clients associated to this BSS"; + } + leaf noise-floor { + type uint8; + description + "Noise floor information of the radio."; + } + leaf tx-ctrl { + type uint64; + description + "Transmitted 802.11 Control frames"; + } + leaf rx-ctrl { + type uint64; + description + "Received 802.11 Control frames"; + } + leaf bss-chan-util { + type uint8; + units "percentage"; + description + "Total 802.11 channel utilization in this BSS. The total channel utilization should include all time periods the AP spent actively receiving and transmitting 802.11 frames in this BSS"; + } + leaf radio-band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Represents radio's current operating band identifier"; + } + list ssid-counter-list { + description + "SSID counter list"; + uses wireless-access-point-oper:st-ssid-counter-by-type; + } + } + + grouping ewlc-rlan-key { + description + "MAC address and port id key"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC Address of the AP Radio"; + } + leaf rlan-port-id { + type uint8; + description + "LAN port-id value of AP. The port-id can be between 1 to 4 for LAN ports or port-id 128 is for external module of AP"; + } + } + + grouping ewlc-rlan-oper-config-entry { + description + "AP LAN port operational data"; + leaf rlan-oper-state { + type boolean; + description + "Status of the LAN port"; + } + leaf rlan-port-status { + type boolean; + description + "Remote LAN status of the LAN port"; + } + leaf rlan-vlan-valid { + type boolean; + description + "LAN port valid or not"; + } + leaf rlan-vlan-id { + type uint32; + description + "VLAN id of the LAN port"; + } + leaf rlan-poe-state { + type wireless-access-point-oper:ewlc-rlan-poe-state; + description + "PoE state of the LAN port"; + } + leaf power-level-id { + type uint8; + description + "Power level of the LAN port"; + } + } + + grouping st-iot-device-comp-key { + description + "IoT device identifier"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf device-mac { + type yang:phys-address; + description + "IoT device MAC address"; + } + } + + grouping st-iot-device { + description + "IoT device operational data"; + leaf name { + type string; + description + "IoT device name"; + } + leaf type { + type string; + description + "IoT device type. For example: light bulb."; + } + leaf protocol { + type string; + description + "IoT device protocol. For example: ZigBee."; + } + leaf connection-state { + type string; + description + "State of the connection between the AP and the IoT device"; + } + leaf battery-level { + type int8 { + range "-1 .. 100"; + } + description + "IoT device battery level"; + } + } + + grouping st-iot-firmware { + description + "IoT radio firmware data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf if-name { + type string; + description + "AP IoT radio interface name"; + } + leaf is-default { + type empty; + description + "IoT radio firmware is default"; + } + leaf version { + type string; + description + "IoT radio firmware version"; + } + leaf vendor-name { + type string; + description + "IoT radio firmware vendor name"; + } + leaf type { + type wireless-enum-types:iot-radio-firmware-type; + description + "IoT radio firmware type"; + } + leaf desc { + type string; + description + "IoT radio firmware description"; + } + } + + grouping st-iox-ap { + description + "AP IOx application hosting operational data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf apphost-state { + type wireless-access-point-oper:enm-apphost-state; + description + "State of the application hosting reported by the AP"; + } + leaf caf-token { + type string; + description + "Cisco Application hosting Framework token"; + } + leaf caf-port { + type uint16; + description + "Cisco Application hosting Framework port number"; + } + } + + grouping st-ap-radio-audit-info { + description + "Radio audit info are in sync with WLC configuration"; + leaf channel-sync { + type empty; + description + "Radio channel status"; + } + leaf bandwidth-sync { + type empty; + description + "Radio bandwidth is in sync with WLC configuration"; + } + leaf tx-power-sync { + type empty; + description + "Radio transmit power is in sync with WLC configuration"; + } + leaf admin-state-sync { + type empty; + description + "Radio admin state is in sync with WLC configuration"; + } + leaf oper-state-sync { + type empty; + description + "Radio operational state is in sync with WLC configuration"; + } + leaf radio-role-sync { + type empty; + description + "Radio role is in sync with WLC configuration"; + } + leaf radio-role-oper-sync { + type empty; + description + "Radio role operation is in sync with WLC configuration"; + } + } + + grouping st-ap-wlan-audit-info { + description + "WLAN audit info are in sync with WLC configuration"; + leaf vlan-id-sync { + type empty; + description + "WLAN vlan is in sync with WLC configuration"; + } + leaf state-sync { + type empty; + description + "WLAN state is in sync with WLC configuration"; + } + leaf ssid-sync { + type empty; + description + "WLAN ssid is in sync with WLC configuration"; + } + leaf auth-type-sync { + type empty; + description + "WLAN authentication type is in sync with WLC configuration"; + } + leaf other-flags-sync { + type empty; + description + "WLAN other flags is in sync with WLC configuration"; + } + } + + grouping st-ap-audit-summary-info { + description + "AP audit info are in sync with WLC configuration"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of AP radio interface"; + } + leaf radio-audit-sync { + type empty; + description + "AP radio audit stats are in sync with WLC configuration"; + } + leaf wlan-audit-sync { + type empty; + description + "AP Wlan audit stats are in sync with WLC configuration"; + } + leaf ipv4-acl-sync { + type empty; + description + "AP IPv4 ACL stat is in sync with WLC configuration"; + } + leaf ipv6-acl-sync { + type empty; + description + "AP IPV6 ACL stat is in sync with WLC configuration"; + } + leaf last-report-time { + type yang:date-and-time; + description + "Last audit report received time"; + } + } + + grouping trustpoint-cert-info { + description + "Wireless management trustpoint data"; + leaf trustpoint-name { + type string; + description + "Trustpoint name"; + } + leaf is-cert-available { + type boolean; + description + "Is certificate available"; + } + leaf is-privkey-available { + type boolean; + description + "Is private key available"; + } + leaf cert-hash { + type string; + description + "Certificate hash"; + } + leaf cert-type { + type wireless-types:enum-trustpoint-cert-type; + description + "Certificate type"; + } + leaf fips-suitability { + type wireless-access-point-oper:enum-trustpoint-fips-suitability; + description + "FIPS Suitability"; + } + } + + grouping st-trustpoint-cert-info { + description + "Certificate information"; + container trustpoint { + description + "Trustpoint"; + uses wireless-access-point-oper:trustpoint-cert-info; + } + } + + grouping st-ap-sensor-status-key { + description + "Compound key of AP sensor status table"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf sensor-type { + type wireless-enum-types:enm-ap-sensor-type; + description + "AP sensor type"; + } + } + + grouping st-ap-sensor-status { + description + "AP sensor operational status"; + leaf config-state { + type wireless-enum-types:enm-ap-sensor-state; + description + "Sensor configuration state"; + } + leaf admin-state { + type wireless-enum-types:enm-ap-sensor-state; + description + "Sensor administrative state"; + } + leaf oper-state { + type wireless-enum-types:enm-ap-sensor-oper-state; + description + "Sensor operational state"; + } + leaf interval { + type uint32; + units "seconds"; + description + "Sensor data sampling interval"; + } + } + + grouping st-ap-air-quality { + description + "AP air-quality sensor data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf last-update { + type yang:date-and-time; + description + "Timestamp of last update received from AP"; + } + leaf rmox-0 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-1 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-2 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-3 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-4 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-5 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-6 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-7 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-8 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-9 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-10 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-11 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf rmox-12 { + type decimal64 { + fraction-digits 2; + } + units "ohm"; + description + "Raw metal-oxide resistance"; + } + leaf iaq { + type decimal64 { + fraction-digits 2; + } + description + "Indoor air quality index"; + } + leaf etoh { + type decimal64 { + fraction-digits 2; + } + units "ppm"; + description + "Ethanol alcohol concentration"; + } + leaf tvoc { + type decimal64 { + fraction-digits 2; + } + units "mg/m^3"; + description + "Total volatile organic components"; + } + } + + grouping st-ap-temperature { + description + "AP temperature sensor data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf last-update { + type yang:date-and-time; + description + "Timestamp of last update received from AP"; + } + leaf temp { + type decimal64 { + fraction-digits 2; + } + units "celsius"; + description + "Temperature value"; + } + leaf humidity { + type decimal64 { + fraction-digits 2; + } + units "%"; + description + "Relative humidity value"; + } + } + + grouping st-ap-pressure { + description + "AP pressure sensor data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf last-update { + type yang:date-and-time; + description + "Timestamp of last update received from AP"; + } + leaf pressure { + type decimal64 { + fraction-digits 2; + } + units "Pa"; + description + "Pressure value"; + } + } + + grouping st-ap-accelerometer { + description + "AP accelerometer sensor data"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf last-update { + type yang:date-and-time; + description + "Timestamp of last update received from AP"; + } + leaf x-coord { + type int16 { + range "-180 .. 180"; + } + units "degree"; + description + "AP sensor accelerometer X coordinate value"; + } + leaf y-coord { + type int16 { + range "-180 .. 180"; + } + units "degree"; + description + "AP sensor accelerometer Y coordinate value"; + } + leaf z-coord { + type int16 { + range "-180 .. 180"; + } + units "degree"; + description + "AP sensor accelerometer Z coordinate value"; + } + leaf tilt-angle { + type int16 { + range "-180 .. 180"; + } + units "degree"; + description + "AP sensor accelerometer tilt angle in degrees"; + } + } + + grouping ap-neighborhood-index-key { + description + "AP neighborhood identifier key information"; + leaf neighborhood-id { + type uint32; + description + "Neighborhood group index of the AP"; + } + leaf ap-mac { + type yang:mac-address; + description + "Ethernet MAC address of the AP"; + } + } + + grouping ap-neighborhood-rg-key { + description + "AP neighborhood resource group information"; + leaf resource-group-id { + type int8; + description + "Resource group id"; + } + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + } + + grouping ap-neighborhood-data { + description + "AP neighborhood data"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf area-id { + type int32; + description + "Neighborhood area index of the AP"; + } + } + + grouping ap-neighborhood-global-details { + description + "AP neighborhood global stats per neighborhood area"; + leaf neighborhood-id { + type uint32; + description + "Neighborhood group index of the AP"; + } + leaf area-id { + type uint32; + description + "Neighborhood area index of the AP"; + } + leaf num-of-aps { + type uint32; + description + "Number of APs in a neighborhood area"; + } + } + + grouping ap-nh-resource-group { + description + "AP neighborhood resource group details"; + leaf resource-grp-id { + type uint8; + description + "Resource group id"; + } + leaf resource-grp-name { + type string; + description + "Resource group name"; + } + } + + grouping ap-nh-area-details { + description + "AP neighborhood area details"; + container rg { + description + "Resource group id and name"; + uses wireless-access-point-oper:ap-nh-resource-group; + } + container ap-nh { + description + "AP neighborhood area stats"; + uses wireless-access-point-oper:ap-neighborhood-global-details; + } + } + + grouping ap-neighborhood-global-data { + description + "AP neighborhood global data stats"; + leaf algorithm-running { + type boolean; + description + "Status of neighborhood algorithm"; + } + leaf algorithm-itr-count { + type uint32; + description + "Total AP neighborhood algorithm iteration count"; + } + leaf ideal-capacity-per-rg { + type uint32; + description + "Ideal capacity of APs per resource group"; + } + leaf num-of-neighborhood { + type uint32; + description + "Total number of calculated neighborhood"; + } + list nh { + description + "AP stats of each neighborhood area"; + uses wireless-access-point-oper:ap-nh-area-details; + } + } + + grouping ap-mac-iter-key { + description + "Staggered AP upgrade iteration information of upgraded AP "; + leaf iter-number { + type uint8; + description + "Iteration number"; + } + leaf radio-mac { + type yang:mac-address; + description + "Radio MAC address of AP"; + } + } + + grouping stgrd-upg-upgd-ap { + description + "Staggered AP upgrade upgraded AP data"; + leaf ap-mac { + type yang:mac-address; + description + "Radio MAC address of AP"; + } + leaf eth-mac { + type yang:mac-address; + description + "Ethernet MAC address of the AP"; + } + leaf wtp-name { + type string; + description + "Name of the AP"; + } + leaf site-tag { + type string; + description + "Site tag of the AP"; + } + leaf status { + type wireless-types:ap-upgd-status; + description + "Status of the AP"; + } + leaf iteration { + type uint8; + description + "Iteration number of the AP"; + } + } + + grouping stgrd-upg-rmng-ap { + description + "Staggered AP upgrade remaining AP data"; + leaf ap-mac { + type yang:mac-address; + description + "Radio MAC address of AP"; + } + leaf eth-mac { + type yang:mac-address; + description + "Ethernet MAC address of the AP"; + } + leaf wtp-name { + type string; + description + "Name of the AP"; + } + leaf site-tag { + type string; + description + "Site tag of the AP"; + } + } + + grouping stgrd-upg-msng-ap { + description + "Staggered AP upgrade missing AP data"; + leaf ap-mac { + type yang:mac-address; + description + "Radio MAC of missing AP"; + } + } + + grouping stgrd-upg-iter { + description + "Staggered AP upgrade iteration data"; + leaf iter-num { + type uint8; + description + "Iteration number"; + } + leaf number-of-aps { + type uint32; + description + "Number of APs in this iteration"; + } + leaf number-of-aps-rebooted { + type uint32; + description + "Number of APs reloaded"; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of iteration"; + } + leaf end-time { + type yang:date-and-time; + description + "End time of the iteration"; + } + } + + grouping stgrd-upg-site-list { + description + "List of sites included in staggered AP upgrade"; + leaf site-name { + type string; + description + "Site tag"; + } + } + + grouping stgrd-upg-last-list { + description + "Staggered AP upgrade last iteration data"; + leaf ap-mac { + type yang:mac-address; + description + "Radio MAC address of AP"; + } + leaf eth-mac { + type yang:mac-address; + description + "Ethernet MAC address of the AP"; + } + leaf wtp-name { + type string; + description + "Name of the AP"; + } + leaf reason { + type wireless-types:ap-upg-support; + description + "Reason for AP to be included in last list"; + } + leaf status { + type wireless-types:ap-upgd-status; + description + "AP status"; + } + } + + grouping stgrd-upg-report { + description + "Staggered AP upgrade report information"; + leaf cap-percentage { + type uint8; + description + "Percentage of the APs that will be reloaded in each iteration"; + } + leaf progress-percentage { + type uint8; + description + "Algorithm completion in percentage in each iteration"; + } + leaf total-aps { + type uint16; + description + "Total number of APs"; + } + leaf is-filter-based { + type boolean; + description + "Site tag based filter"; + } + leaf upgraded-ap-count { + type uint32; + description + "Total number of APs upgraded"; + } + leaf current-ap-count { + type uint32; + description + "Total number of APs being upgraded in this iteration"; + } + leaf remaining-ap-count { + type uint32; + description + "Total number of APs remaining"; + } + leaf report-name { + type string; + description + "Name of the upgrade report"; + } + leaf source-name { + type string; + description + "Source controller name"; + } + leaf destination-name { + type string; + description + "Destination controller name"; + } + leaf move-report-name { + type string; + description + "Name of the old report, used to move APs from controller"; + } + leaf cached-report-name { + type string; + description + "Cached upgrade report name"; + } + leaf type { + type wireless-types:enum-ap-upgrade-type; + description + "Type of staggered AP upgrade"; + } + leaf status { + type wireless-types:ap-upg-status; + description + "Status of staggered AP upgrade"; + } + leaf mode { + type wireless-types:ap-upg-mode; + description + "Mode of staggered AP upgrade"; + } + leaf fallback-type { + type wireless-types:ap-upg-fallback-type; + description + "Staggered AP upgrade fallback type"; + } + leaf upgrade-failure-type { + type wireless-types:ap-upg-failure-reason; + description + "Staggered AP upgrade failure reason"; + } + container from-version { + description + "Current version of the APs"; + uses wireless-types:version-info; + } + container to-version { + description + "New version of the APs"; + uses wireless-types:version-info; + } + leaf source-ip { + type inet:ip-address; + description + "Source IP address of AP"; + } + leaf destination-ip { + type inet:ip-address; + description + "Destination IP address of the AP"; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of the algorithm"; + } + leaf predicted-end-time { + type yang:date-and-time; + description + "Predicted end time of the algorithm"; + } + leaf end-time { + type yang:date-and-time; + description + "Actual end time of the algorithm"; + } + list stgrd-upgd-ap { + key "iter-number radio-mac"; + unique "ap-mac"; + description + "List of APs that are upgraded to the new version"; + uses wireless-access-point-oper:stgrd-upg-upgd-ap { + refine "ap-mac" { + mandatory true; + } + } + uses wireless-access-point-oper:ap-mac-iter-key; + } + list stgrd-upg-current-ap { + key "ap-mac"; + description + "List of APs that are handled in the current iteration"; + uses wireless-access-point-oper:stgrd-upg-upgd-ap; + } + list stgrd-upg-remaining-ap { + key "ap-mac"; + description + "List of APs that are remaining for upgrade"; + uses wireless-access-point-oper:stgrd-upg-rmng-ap; + } + list stgrd-upg-missing-ap { + key "ap-mac"; + description + "List of APs that went missing after reboot"; + uses wireless-access-point-oper:stgrd-upg-msng-ap; + } + list stgrd-upg-iteration { + key "iter-num"; + description + "List of iterations in this algorithm Run"; + uses wireless-access-point-oper:stgrd-upg-iter; + } + list ap-upgrade-site-list { + key "site-name"; + description + "List of sites considered for upgrade site list"; + uses wireless-access-point-oper:stgrd-upg-site-list; + } + list ap-staggered-upg-last-list { + key "ap-mac"; + description + "List of APs upgraded in last iteration"; + uses wireless-access-point-oper:stgrd-upg-last-list; + } + container events { + description + "list of events"; + uses event-history-types:event-history; + } + leaf oper-type { + type wireless-types:ap-upg-operation-type; + description + "Staggered AP upgrade operation type"; + } + leaf site-filter-uuid { + type string; + description + "Site-filter table UUID associated with this upgrade report"; + } + leaf client-steering { + type boolean; + description + "Client steering enabled for this upgrade"; + } + leaf iteration-expiry { + type uint8; + units "minutes"; + description + "Maximum time allowed per iteration for APs to join back"; + } + leaf accounting-percent { + type uint8; + units "percentage"; + description + "Minimum percent of APs that should join before next iteration is scheduled"; + } + leaf accounting-action { + type wireless-types:enum-ap-upgrade-accounting-action; + description + "Action to be taken if less than specified percent of APs have joined back"; + } + leaf secondary-wlc-set { + type boolean; + description + "Secondary controller configuration available for N+1 upgrades"; + } + leaf secondary-wlc-name { + type string; + description + "Secondary controller hostname"; + } + leaf secondary-wlc-ip { + type inet:ip-address; + description + "Secondary controller IP address"; + } + leaf tertiary-wlc-set { + type boolean; + description + "Tertiary controller configuration available for N+1 upgrades"; + } + leaf tertiary-wlc-name { + type string; + description + "Tertiary controller hostname"; + } + leaf tertiary-wlc-ip { + type inet:ip-address; + description + "Tertiary controller IP address"; + } + leaf client-deauth { + type boolean; + description + "De-authenticate clients connected to the AP before the AP goes for an upgrade"; + } + leaf tx-power-reduction { + type boolean; + description + "Reduce radio transmission power of the AP when it is selected for upgrade"; + } + } + + grouping st-country-oper { + description + "Regulatory domain country details"; + leaf country-code { + type string; + description + "Country code string"; + } + leaf country-string { + type string; + description + "Actual country name string"; + } + leaf reg-domain-str-80211bg { + type string; + description + "802.11bg regulatory domain string, ^ indicates ROW domain"; + } + leaf reg-domain-str-80211a { + type string; + description + "802.11a regulatory domain string, ^ indicates ROW domain"; + } + leaf country-supported { + type boolean; + description + "True if country is supported for the AP."; + } + leaf channels-string-11bg { + type string; + description + "802.11bg supported channels string"; + } + leaf channels-string-11a { + type string; + description + "802.11a supported channels string"; + } + leaf channels-11bg { + type string; + description + "802.11bg supported channels"; + } + leaf channels-11a { + type string; + description + "802.11a supported channels"; + } + leaf dca-channels-11bg { + type string; + description + "802.11bg supported DCA channels"; + } + leaf dca-channels-11a { + type string; + description + "802.11a supported DCA channels"; + } + leaf radar-channels-11a { + type string; + description + "802.11a supported RADAR channels"; + } + leaf reg-dom-6ghz { + type string; + description + "6Ghz regulatory domain string, ^ indicates ROW domain"; + } + leaf chan-info-6ghz { + type string; + description + "6Ghz supported channels string"; + } + } + + grouping st-reg-domain-code { + description + "Regulatory domain supported country details"; + leaf-list reg-domain-code { + type string; + max-elements 2; + ordered-by user; + description + "802.11 regulatory domain, ^ indicates ROW domain"; + } + } + + grouping st-supp-country-oper { + description + "Supported country regulatory domain details"; + leaf country-code { + type string; + description + "Country code"; + } + leaf country-string { + type string; + description + "Country name"; + } + leaf country-code-iso { + type string; + description + "Country ISO name"; + } + container reg-dom-24ghz { + description + "802.11bg regulatory domain, where ^ indicates ROW domain. + First element indicates indoor regulatory domain and + second indicates outdoor regulatory domain"; + uses wireless-access-point-oper:st-reg-domain-code; + } + container reg-dom-5ghz { + description + "802.11a regulatory domain, ^ indicates ROW domain + First element indicates indoor regulatory domain and + second indicates outdoor regulatory domain"; + uses wireless-access-point-oper:st-reg-domain-code; + } + container reg-dom-6ghz { + description + "6GHz regulatory domain, ^ indicates ROW domain + First element indicates indoor regulatory domain and + second indicates outdoor regulatory domain"; + uses wireless-access-point-oper:st-reg-domain-code; + } + container chan-list-24ghz { + description + "802.11bg supported channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-5ghz { + description + "802.11a supported channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-6ghz { + description + "6GHz supported channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-dca-24ghz { + description + "802.11bg supported DCA channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-dca-5ghz { + description + "802.11a supported DCA channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-dca-6ghz { + description + "6GHz supported DCA channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container chan-list-psc-6ghz { + description + "6GHz PSC channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + } + + grouping site-img-mapping { + description + "AP upgrade site to image mapping"; + leaf image-name { + type string; + description + "Image name"; + } + leaf site-name { + type string; + description + "Site tag name"; + } + } + + grouping site-img-mapping-status { + description + "AP upgrade install operation status"; + leaf committed { + type wireless-access-point-oper:ap-img-site-status; + description + "Install operation is commit"; + } + leaf activated { + type wireless-access-point-oper:ap-img-site-status; + description + "Install operation is activate"; + } + leaf prepared { + type wireless-access-point-oper:ap-img-site-status; + description + "Install operation is predownload"; + } + leaf operation-type { + type wireless-types:enum-ap-upgrade-type; + description + "Operation type"; + } + leaf nplusone-oper-status { + type wireless-access-point-oper:ap-img-site-status; + description + "N+1 operation status"; + } + leaf oper-uuid { + type string; + description + "Unique identifier for this set of site-filter operations"; + } + leaf image-any { + type boolean; + description + "Allow any image for site-filter operations"; + } + } + + grouping ap-image-data { + description + "AP image information"; + leaf image-name { + type string; + description + "AP image name"; + } + leaf image-location { + type string; + description + "AP image location"; + } + leaf image-version { + type string; + description + "AP image version"; + } + leaf is-new { + type boolean; + description + "Enabled for new image added during install operation"; + } + leaf file-size { + type uint64; + description + "AP image file size"; + } + leaf-list ap-model-list { + type string; + ordered-by user; + description + "Supported AP models for AP image"; + } + } + + grouping st-ap-image-loc { + description + "AP image location structure"; + leaf index { + type uint8; + description + "AP image index"; + } + leaf image-file { + type string; + description + "AP image file name"; + } + list image-data { + max-elements 32; + description + "AP image information"; + uses wireless-access-point-oper:ap-image-data; + } + } + + container access-point-oper-data { + config false; + description + "Root container of access point oper"; + list ap-radio-audit-info { + key "wtp-mac radio-slot-id"; + description + "AP radio audit info"; + uses wireless-types:radio-slot-key; + uses wireless-access-point-oper:st-ap-radio-audit-info; + } + list ap-wlan-audit-info { + key "wtp-mac slot-id wlan-id"; + description + "AP wlan audit info"; + uses wireless-types:radio-wlanid-key; + uses wireless-access-point-oper:st-ap-wlan-audit-info; + } + list ap-audit-summary-info { + key "wtp-mac"; + description + "AP audit summary info"; + uses wireless-access-point-oper:st-ap-audit-summary-info; + } + list ap-mac-ssid-info { + key "ap-mac wlan-id"; + description + "AP MAC and SSID informations"; + uses wireless-access-point-oper:st-ap-mac-ssid-info; + uses wireless-types:ap-mac-ssid; + } + list ssid-counters { + key "wtp-mac slot-id wlan-id"; + description + "Rx/Tx and data-rates information of SSID's broadcasting in AP"; + uses wireless-access-point-oper:st-ssid-counter; + uses wireless-types:radio-wlanid-key; + } + list radius-counters { + key "wtp-mac server-group-name server-ip"; + description + "RADIUS related state information"; + uses wireless-access-point-oper:st-radius-counters; + uses wireless-types:ap-radius-server-key; + } + list ap-radio-neighbor { + key "ap-mac slot-id bssid"; + description + "AP radio neighbor information."; + uses wireless-types:radio-slot-bssid-key; + uses wireless-access-point-oper:st-ap-radio-neighbor-data; + } + list radio-oper-data { + key "wtp-mac radio-slot-id"; + description + "Radio operational data corresponding + to a radio of the 802.11 LWAPP AP"; + uses wireless-types:radio-slot-key; + uses wireless-access-point-oper:ewlc-radio-operation-config; + } + list radio-reset-stats { + key "ap-mac radio-id cause detail-cause"; + description + "Radio reset stats"; + uses wireless-access-point-oper:st-radio-reset-cause-key; + uses wireless-access-point-oper:st-radio-reset-cause-count; + } + list radio-failure-stats { + key "ap-mac radio-id cause detail-cause"; + description + "Radio failure stats"; + uses wireless-access-point-oper:st-radio-failure-cause-key; + uses wireless-access-point-oper:st-radio-failure-cause-count; + } + list qos-client-data { + key "client-mac"; + description + "QoS client data"; + uses wireless-access-point-oper:qos-client-data; + } + list capwap-data { + key "wtp-mac"; + description + "Captures the information about the 802.11 LWAPP AP that has joined the controller"; + uses wireless-access-point-oper:capwap-wtp-data; + } + list meraki-stats { + key "conv-timestamp wtp-mac"; + description + "AP Meraki conversion statistics"; + uses wireless-access-point-oper:wtp-meraki-info-ext; + uses wireless-access-point-oper:wtp-meraki-info; + uses wireless-access-point-oper:meraki-stats-key; + } + list ap-name-mac-map { + key "wtp-name"; + description + "Mapping between AP name and radio MAC of AP"; + uses wireless-access-point-oper:ap-name-mac-map; + } + list wtp-slot-wlan-stats { + key "wtp-mac slot-id wlan-id"; + description + "AP slot and WLAN stats"; + uses wireless-access-point-oper:ap-radio-wlan-key; + uses wireless-access-point-oper:wtp-slot-wlan-stats; + } + list ap-client-dbg-bundle { + key "wtp-mac event"; + description + "AP debug bundle"; + uses wireless-access-point-oper:ap-debug-bundle-key; + uses wireless-access-point-oper:ap-debug-bundle; + } + list ethernet-mac-wtp-mac-map { + key "ethernet-mac"; + description + "Mapping between AP ethernet MAC and base radio MAC"; + uses wireless-access-point-oper:ethernet-mac-wtp-mac-map; + } + list radio-oper-stats { + key "ap-mac slot-id"; + description + "Operational statistics for a particular radio"; + uses wireless-access-point-oper:st-mac-slot-id-comp-key; + uses wireless-access-point-oper:radio-statistics; + } + list radio-zwdfs-stats { + key "ap-mac slot-id"; + description + "Zero wait DFS statistics for a particular radio"; + uses wireless-access-point-oper:st-mac-slot-id-comp-key; + uses wireless-access-point-oper:st-zwdfs-stats; + } + list ethernet-if-stats { + key "wtp-mac if-index"; + description + "Ethernet interface statistics"; + uses wireless-access-point-oper:ap-ethernet-intf-info; + uses wireless-access-point-oper:ap-ethernet-intf-id; + } + container ewlc-wncd-stats { + presence "ewlc-wncd-stats"; + description + "AP image download and predownload statistics for EWC on AP platforms"; + uses wireless-access-point-oper:st-ewlc-wncd-stats; + } + list predownload-data { + key "wtp-mac"; + description + "AP predownload detailed information"; + uses wireless-access-point-oper:capwap-wtp-predownload-data; + } + list iot-devices { + key "ap-mac device-mac"; + description + "IoT device operational data"; + uses wireless-access-point-oper:st-iot-device; + uses wireless-access-point-oper:st-iot-device-comp-key; + } + list iot-firmware { + key "ap-mac"; + description + "IoT radio firmware operational data"; + uses wireless-access-point-oper:st-iot-firmware; + } + list ap-iox-oper-data { + key "ap-mac"; + description + "IOx application hosting operational data reported by the AP"; + uses wireless-access-point-oper:st-iox-ap; + } + list qos-radio-data { + key "radio-slot-id ap-mac"; + description + "This object specify a table for QoS AP Radio data records in DB"; + uses wireless-access-point-oper:qos-ap-radio-data; + uses wireless-access-point-oper:qos-ap-radio-key; + } + container qos-global-stats { + presence "qos-global-stats"; + description + "This object specify a table for QoS Global statistics data in DB"; + uses wireless-access-point-oper:qos-global-statistics; + } + list oper-data { + key "wtp-mac"; + description + "Operational data corresponding to an + 802.11 LWAPP AP"; + uses wireless-access-point-oper:st-ap-oper-data; + } + list rlan-oper { + key "wtp-mac rlan-port-id"; + description + "LAN information of the AP"; + uses wireless-access-point-oper:ewlc-rlan-oper-config-entry; + uses wireless-access-point-oper:ewlc-rlan-key; + } + list wtp-img-dwnld-stats { + key "wtp-mac"; + description + "AP image download statistics"; + uses wireless-access-point-oper:st-wtp-img-dwnld-stats; + } + container ewlc-mewlc-predownload-rec { + presence "ewlc-mewlc-predownload-rec"; + description + "Embedded Wireless Controller predownload data"; + uses wireless-access-point-oper:ewlc-mewlc-predownload-rec; + } + list ap-pwr-info { + key "wtp-mac"; + description + "AP power policy info"; + uses wireless-access-point-oper:ap-power-info; + } + list cdp-cache-data { + key "mac-addr cdp-cache-device-id"; + description + "contains the cached neighbor information obtained via receiving CDP messages on APs. Entries are added when a CDP advertisement is received from a neighboring device. Entries get deleted when CDP is disabled on the interface or globally"; + uses wireless-access-point-oper:cdp-cache-data-op; + uses wireless-access-point-oper:ewlc-cdp-cache-data-key; + uses wireless-access-point-oper:cdp-cache-data-index-key; + } + list lldp-neigh { + key "wtp-mac neigh-mac"; + description + "contains the cached neighbor information obtained via receiving LLDP messages on APs. Entries are added when a LLDP advertisement is received from a neighboring device. Entries get deleted when TTL is set to zero in LLDP payload"; + uses wireless-access-point-oper:lldp-neigh-data-op; + uses wireless-access-point-oper:lldp-neigh-data-key; + } + container tp-cert-info { + presence "tp-cert-info"; + description + "Trustpoint Certificate information"; + uses wireless-access-point-oper:st-trustpoint-cert-info; + } + list support-bundle-info { + key "ap-mac"; + description + "Support bundle file transfer information"; + uses wireless-access-point-oper:support-bundle-info; + } + list mewlc-ap-data { + key "wtp-mac"; + description + "Embedded Wireless Controller operational data"; + uses wireless-access-point-oper:st-mewlc-ap-oper-data; + } + list disc-data { + key "wtp-mac"; + description + "Discovery packet counters"; + uses wireless-access-point-oper:st-capwap-discovery-pkt-info; + } + list capwap-pkts { + key "wtp-mac"; + description + "CAPWAP packet counters"; + uses wireless-access-point-oper:st-ap-capwap-pkt-info; + } + list country-oper { + key "country-code"; + description + "Regulatory Domain country details"; + uses wireless-access-point-oper:st-country-oper; + } + list supp-country-oper { + key "country-code"; + description + "Supported Regulatory Domain country details"; + uses wireless-access-point-oper:st-supp-country-oper; + } + list ap-client-trace-info { + key "site-tag-name"; + description + "Client trace information for a particular site"; + uses wireless-access-point-oper:ap-client-trace-site-tag-info; + } + list ap-client-trace-ap-info { + key "ap-name"; + description + "Client trace information for a particular AP"; + uses wireless-access-point-oper:ap-client-trace-ap-info; + } + list ap-neighborhood-data { + key "ap-mac"; + description + "Captures the information about the RRM based AP clustering and load-balancing"; + uses wireless-access-point-oper:ap-neighborhood-data; + uses wireless-access-point-oper:ap-neighborhood-index-key; + uses wireless-access-point-oper:ap-neighborhood-rg-key; + } + container ap-nh-global-data { + presence "ap-nh-global-data"; + description + "Captures the information about the RRM based AP clustering algorithm stats"; + uses wireless-access-point-oper:ap-neighborhood-global-data; + } + list stgrd-upg-report { + key "report-name"; + unique "start-time"; + description + "Staggered AP upgrade report"; + uses wireless-access-point-oper:stgrd-upg-report { + refine "start-time" { + mandatory true; + } + } + } + list site-ap-image-map { + key "image-name site-name"; + description + "Site tag and image mapping information"; + uses wireless-access-point-oper:site-img-mapping-status; + uses wireless-access-point-oper:site-img-mapping; + } + list ap-image-prepare-location { + key "index"; + description + "AP image for prepare location"; + uses wireless-access-point-oper:st-ap-image-loc; + } + list ap-image-active-location { + key "index"; + description + "AP image for active location"; + uses wireless-access-point-oper:st-ap-image-loc; + } + list ap-sensor-status { + key "ap-mac sensor-type"; + description + "AP sensor operational status"; + uses wireless-access-point-oper:st-ap-sensor-status-key; + uses wireless-access-point-oper:st-ap-sensor-status; + } + list ap-air-quality { + key "ap-mac"; + description + "AP air-quality sensor data"; + uses wireless-access-point-oper:st-ap-air-quality; + } + list ap-temp { + key "ap-mac"; + description + "AP temperature sensor data"; + uses wireless-access-point-oper:st-ap-temperature; + } + list ap-press { + key "ap-mac"; + description + "AP pressure sensor data"; + uses wireless-access-point-oper:st-ap-pressure; + } + list ap-accelmtr { + key "ap-mac"; + description + "AP accelerometer sensor data"; + uses wireless-access-point-oper:st-ap-accelerometer; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-actions-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-actions-rpc.yang new file mode 100644 index 000000000..aee0ca6a0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-actions-rpc.yang @@ -0,0 +1,104 @@ +module Cisco-IOS-XE-wireless-actions-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-actions-rpc"; + prefix wireless-actions-rpc; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + conditional debug for wireless. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-wireless-debug-condition { + type enumeration { + enum ip-address { + value 0; + description + "Debug based on IP address"; + } + enum mac-address { + value 1; + description + "Debug based on MAC address"; + } + } + description + "Choice of wireless debug condition"; + } + + grouping wireless-cond-debug { + description + "Conditional debugging for wireless feature"; + leaf delete { + type empty; + description + "Delete debug condition"; + } + choice condition-choice { + mandatory true; + description + "Select condition"; + case ip-address { + leaf ip { + type inet:ip-address; + mandatory true; + description + "Debug based on IP address"; + } + } + case mac-address { + leaf mac { + type yang:mac-address; + mandatory true; + description + "Debug based on MAC address"; + } + } + } + } + + rpc wireless-cond-debug { + description + "Conditional debugging for wireless"; + input { + uses wireless-actions-rpc:wireless-cond-debug; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-cloud-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-cloud-oper.yang new file mode 100644 index 000000000..8b453875a --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-cloud-oper.yang @@ -0,0 +1,140 @@ +module Cisco-IOS-XE-wireless-afc-cloud-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-afc-cloud-oper"; + prefix wireless-afc-cloud-oper; + + import Cisco-IOS-XE-wireless-afc-types { + prefix wireless-afc-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing AFC cloud stats + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-afc-msg-info { + description + "AFC message information"; + leaf request-id { + type uint64; + description + "Request ID"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf msg-timestamp { + type yang:date-and-time; + description + "Timestamp"; + } + } + + grouping st-afc-cloud-stats { + description + "AFC statistics"; + leaf num-afc-ap { + type uint32; + description + "Number of APs requiring AFC service"; + } + leaf afc-msg-sent { + type uint64; + description + "Messages sent to AFC"; + } + leaf afc-msg-rcvd { + type uint64; + description + "Successful messages received from AFC"; + } + leaf afc-msg-err { + type uint64; + description + "Errored AFC messages"; + } + leaf afc-msg-pending { + type uint32; + description + "Pending AFC messages"; + } + container last-msg-sent { + description + "Last inquired channel message sent"; + uses wireless-afc-cloud-oper:st-afc-msg-info; + } + container last-msg-rcvd { + description + "Last inquired channel message received"; + uses wireless-afc-cloud-oper:st-afc-msg-info; + } + leaf min-msg-rtt { + type uint64; + units "milliseconds"; + description + "Minimum response time"; + } + leaf max-msg-rtt { + type uint64; + units "milliseconds"; + description + "Maximum response time"; + } + leaf avg-rtt { + type uint64; + units "milliseconds"; + description + "Average response time"; + } + container healthcheck { + description + "AFC cloud health check"; + uses wireless-afc-types:afc-healthcheck; + } + leaf num-6ghz-ap { + type uint32; + description + "Number of APs with 6GHz radio"; + } + } + + container afc-cloud-oper-data { + config false; + description + "AFC Cloud Operational Data Model"; + container afc-cloud-stats { + presence "afc-cloud-stats"; + description + "AFC cloud statistics"; + uses wireless-afc-cloud-oper:st-afc-cloud-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-oper.yang new file mode 100644 index 000000000..f367c9452 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-oper.yang @@ -0,0 +1,118 @@ +module Cisco-IOS-XE-wireless-afc-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-afc-oper"; + prefix wireless-afc-oper; + + import Cisco-IOS-XE-wireless-afc-types { + prefix wireless-afc-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing AFC + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added slot to AFC AP response"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping afc-ap-req { + description + "AFC request information"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + container req-data { + description + "AFC request data"; + uses wireless-afc-types:afc-request-data; + } + leaf request-status { + type wireless-enum-types:afc-request-status; + description + "AFC request status"; + } + leaf request-status-ts { + type yang:date-and-time; + description + "AFC request status timestamp"; + } + leaf req-id-sent { + type uint64; + description + "AFC request ID sent to AFC Service"; + } + } + + grouping afc-ap-resp { + description + "AFC response information"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + container resp-data { + description + "AFC response data"; + uses wireless-afc-types:afc-response-data; + } + leaf slot { + type uint8; + description + "AFC enabled slot identifier"; + } + } + + container afc-oper-data { + config false; + description + "AFC Operational Data Model"; + list ewlc-afc-ap-req { + key "ap-mac"; + description + "AFC request"; + uses wireless-afc-oper:afc-ap-req; + } + list ewlc-afc-ap-resp { + key "ap-mac"; + description + "AFC response"; + uses wireless-afc-oper:afc-ap-resp; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-types.yang new file mode 100644 index 000000000..e27584389 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-afc-types.yang @@ -0,0 +1,493 @@ +module Cisco-IOS-XE-wireless-afc-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-afc-types"; + prefix wireless-afc-types; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing AFC + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for new operating class"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping afc-point { + description + "AFC device location is represented as a point"; + leaf longitude { + type decimal64 { + fraction-digits 2; + } + description + "AFC device location longitude"; + } + leaf latitude { + type decimal64 { + fraction-digits 2; + } + description + "AFC device location latitude"; + } + } + + grouping afc-ellipse { + description + "Device ellipse location"; + container center { + description + "Device ellipse center"; + uses wireless-afc-types:afc-point; + } + leaf major-axis { + type uint16; + description + "Device ellipse major axis"; + } + leaf minor-axis { + type uint16; + description + "Device ellipse minor axis"; + } + leaf orientation { + type decimal64 { + fraction-digits 2; + } + description + "Device ellipse orientation"; + } + } + + grouping afc-linear-polygon { + description + "Device linear polygon location"; + list points { + description + "Device linear polygon points"; + uses wireless-afc-types:afc-point; + } + } + + grouping afc-elevation { + description + "Device elevation"; + leaf height { + type int16; + units "meters"; + description + "Device elevation height"; + } + leaf height-type { + type wireless-enum-types:afc-height-type; + description + "Device elevation height type"; + } + leaf uncertainty { + type uint16; + units "meters"; + description + "Device elevation uncertainty"; + } + } + + grouping afc-location { + description + "AFC device location"; + leaf loc-type { + type wireless-enum-types:afc-location-type; + description + "AFC device location type"; + } + container ellipse { + description + "AFC device location ellipse"; + uses wireless-afc-types:afc-ellipse; + } + container linear-pol { + description + "AFC device location linear polygon"; + uses wireless-afc-types:afc-linear-polygon; + } + container elevation { + description + "Device elevation"; + uses wireless-afc-types:afc-elevation; + } + leaf deployment { + type wireless-enum-types:afc-deployment-type; + description + "AFC device deployment type"; + } + leaf area-of-uncertainty { + when "../loc-type='afc-loc-ellipse'"; + type uint32; + units "square meters"; + description + "AP geolocation area of uncertainty"; + } + } + + grouping afc-cert-id { + description + "Device certification ID"; + leaf id { + type string; + description + "AFC certification ID"; + } + leaf ruleset-id { + type string; + description + "AFC ruleset ID"; + } + } + + grouping afc-device-descriptor { + description + "AFC device descriptor"; + leaf serial-number { + type string; + description + "Device serial number"; + } + list cert-id { + description + "AFC certification IDs"; + uses wireless-afc-types:afc-cert-id; + } + } + + grouping afc-band-req { + description + "AFC band request"; + leaf global-oper-class { + type uint16; + description + "AFC request band global operating class"; + } + leaf-list channel-cfi { + type uint16; + ordered-by user; + description + "AFC band channels"; + } + leaf enabled { + type boolean; + description + "AFC band is requested"; + } + } + + grouping afc-request-data { + description + "AFC request data"; + container device { + description + "Device information"; + uses wireless-afc-types:afc-device-descriptor; + } + container location { + description + "AFC request location information"; + uses wireless-afc-types:afc-location; + } + container band20 { + description + "AFC request information for 20 Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + container band40 { + description + "AFC request information for 40 Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + container band80 { + description + "AFC request information for 80 Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + container band160 { + description + "AFC request information for 160 Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + container band80plus { + description + "AFC request information for 80+ Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + leaf min-desired-power { + type decimal64 { + fraction-digits 2; + } + description + "AFC minimal desired power"; + } + container band320 { + description + "AFC request information for 320 Mhz channels"; + uses wireless-afc-types:afc-band-req; + } + } + + grouping afc-resp-code { + description + "AFC response code data"; + leaf code { + type int16; + description + "AFC response code"; + } + leaf description { + type string; + description + "AFC response description"; + } + leaf supplemental-info { + type string; + description + "AFC response additional information"; + } + } + + grouping afc-chan-resp { + description + "AFC response channel"; + leaf avail-channel-cfi { + type uint16; + description + "AFC response available channel"; + } + leaf max-eirp { + type decimal64 { + fraction-digits 2; + } + description + "AFC response channel maximal effective isotropic radiated power"; + } + } + + grouping afc-band-resp { + description + "AFC response band"; + leaf global-oper-class { + type uint16; + description + "AFC response band global operating class"; + } + list channels { + description + "AFC response band channels"; + uses wireless-afc-types:afc-chan-resp; + } + } + + grouping afc-response-data { + description + "AFC response data"; + leaf request-id { + type uint64; + description + "AFC request ID"; + } + leaf ruleset-id { + type string; + description + "AFC response ruleset ID"; + } + container resp-code { + description + "AFC response code"; + uses wireless-afc-types:afc-resp-code; + } + container band20 { + description + "AFC response information for 20 Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + container band40 { + description + "AFC response information for 40 Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + container band80 { + description + "AFC response information for 80 Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + container band160 { + description + "AFC response information for 160 Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + container band80plus { + description + "AFC response information for 80+ Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + leaf expire-time { + type yang:date-and-time; + description + "AFC response expiration time"; + } + leaf resp-rcvd-timestamp { + type yang:date-and-time; + description + "AFC response received timestamp"; + } + container band320 { + description + "AFC response information for 320 Mhz channels"; + uses wireless-afc-types:afc-band-resp; + } + } + + grouping afc-httpcon-error { + description + "AFC health check HTTP error codes"; + leaf http-error-code { + type uint32; + description + "HTTP error code"; + } + leaf httpcon-error-code { + type uint32; + description + "HTTP connection error"; + } + } + + grouping afc-hc-error-status { + description + "AFC health check error status"; + choice hc-error-choice { + description + "Type of health check error"; + case afc-hc-err-http-con { + container httpcon-error { + description + "HTTP connection error codes"; + uses wireless-afc-types:afc-httpcon-error; + } + } + case afc-hc-err-prov { + leaf fw-status { + type wireless-enum-types:afc-provider-status; + description + "AFC provider status"; + } + } + case afc-hc-err-token { + leaf no-valid-token { + type boolean; + description + "Device does not have a valid token to communicate with cloud services"; + } + } + case afc-hc-err-otp { + leaf not-otp-upgraded { + type boolean; + description + "Device is not OTP upgraded"; + } + } + case afc-hc-err-onboard { + leaf device-not-onboarded { + type boolean; + description + "Device is not on boarded"; + } + } + case afc-hc-err-unknown { + leaf error-unknown { + type boolean; + description + "Error status is unknown"; + } + } + } + } + + grouping afc-healthcheck { + description + "AFC health check status"; + leaf hc-timestamp { + type yang:date-and-time; + description + "Cloud health check timestamp"; + } + leaf query-in-progress { + type boolean; + description + "Cloud health check query in progress"; + } + leaf country-not-supported { + type boolean; + description + "Country not supported by AFC, cloud health check not applicable"; + } + leaf num-hc-down { + type uint32; + description + "Number of times cloud health check failed"; + } + choice cloud-status-choice { + description + "Type of health check status"; + case afc-cloud-error { + container hc-error-status { + description + "AFC cloud health check error"; + uses wireless-afc-types:afc-hc-error-status; + } + } + case afc-cloud-ok { + leaf cloud-hc-ok { + type boolean; + description + "AFC cloud health check status OK"; + } + } + case afc-cloud-unknown { + leaf cloud-hc-unknown { + type boolean; + description + "AFC cloud health check status is unknown"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-cfg.yang new file mode 100644 index 000000000..ac0340270 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-cfg.yang @@ -0,0 +1,464 @@ +module Cisco-IOS-XE-wireless-ap-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ap-cfg"; + prefix wireless-ap-cfg; + + import Cisco-IOS-XE-wireless-ap-types { + prefix wireless-ap-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing AP configurations. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added constraints for filter and rule priority."; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added AP priming filter and AP MAC configuration."; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2022-07-01 { + description + "- Added AAA Location attributes support"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2021-03-01 { + description + "-Add ASCII 32-126 and leading/trailing spaces restriction for AP location name"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2020-07-01 { + description + "- Updated site-tag description"; + reference + "5.0.1"; + cisco-semver:module-version "5.0.1"; + } + revision 2019-06-25 { + description + "- Deprecating filter priority, replacing filter priority with + rule priority with range [0-1023]. + - Added semantic version. + - Fix constraint for tag source priority."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-10-29 { + description + "- Removing default empty strings from filter-name and tag-info + - Cleaned up spelling errors in descriptions."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-05-10 { + description + "- Added new range constraints in grouping st-tag-source-priority-config + - Added new length constraints in grouping st-tag-list-config + - Added location-entries"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-03-08 { + description + "Add AP filter priority list"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ap-tag { + description + "Configuration of ap tag"; + leaf ap-mac { + type yang:mac-address; + description + "mac address of Access point"; + } + leaf policy-tag { + type string; + default "default-policy-tag"; + description + "Configuration of policy tag"; + } + leaf site-tag { + type string; + default "default-site-tag"; + description + "Site Tag configuration for an AP. + APs with same named Site Tag form a site. + Cisco recommendations for number of APs in a site vary by platform and deployment model. + Please follow these recommendation for your platform and deployment model"; + } + leaf rf-tag { + type string; + default "default-rf-tag"; + description + "Configuration of rf tag"; + } + leaf priming-profile { + type string; + description + "Configuration of AP priming profile"; + } + } + + grouping st-tag-source-priority-config { + description + "Priority for tag source"; + leaf priority { + type uint8 { + range "0 .. 4"; + } + description + "Priority for tag source"; + } + leaf tag-src { + type wireless-ap-types:enm-ap-tag-source; + must "(../tag-src != 'tag-source-static' and ../tag-src != 'tag-source-default') or + (../tag-src = 'tag-source-static' and ../priority = 0) or + (../tag-src = 'tag-source-default' and ../priority = 4)" { + error-message "Static and Default tag sources must have priorities 0 and 4 respectively"; + error-app-tag "must-violation"; + } + description + "tag source"; + } + } + + grouping st-tag-list-config { + description + "ap tag list"; + leaf policy-tag { + type string { + length "0..32"; + } + description + "policy tag"; + } + leaf site-tag { + type string { + length "0..32"; + } + description + "site tag"; + } + leaf rf-tag { + type string { + length "0..32"; + } + description + "rf tag"; + } + } + + grouping ap-filter-priority-config { + description + "Priority for AP filter"; + leaf priority { + type uint8 { + range "0 .. 127"; + } + must "(../filter-name != '')" { + error-message "Priority cannot be assigned to filter with no name"; + error-app-tag "must-violation"; + } + description + "Priority of filter"; + } + leaf filter-name { + type string; + must "../../../ap-filter-configs/ap-filter-config[filter-name = current()]/filter-string != ''" { + error-message "Priority cannot be assigned to filter with no regular expression"; + error-app-tag "must-violation"; + } + description + "Name of the filter."; + } + } + + grouping st-ap-rule-priority-config { + description + "Priority for AP filter rule"; + leaf priority { + type uint32; + must '(../priority < 1024)' { + error-message "Priority of AP filter rule must be in range of 0..1023"; + error-app-tag "must-violation"; + } + must "(../filter-name != '')" { + error-message "Priority cannot be assigned to filter with no name"; + error-app-tag "must-violation"; + } + description + "Priority of filter rule"; + } + leaf filter-name { + type string; + must "../../../ap-filter-configs/ap-filter-config[filter-name = current()]/filter-string != ''" { + error-message "Priority cannot be assigned to filter with no regular expression"; + error-app-tag "must-violation"; + } + description + "Name of the filter rule"; + } + } + + grouping st-ap-filter-config { + description + "ap filter structure"; + leaf filter-name { + type string; + description + "filter name"; + } + leaf filter-string { + type string; + description + "regular expression string"; + } + leaf filter-priority { + type uint8; + description + "filter priority"; + } + container apply-tag-list { + description + "applying tag list"; + uses wireless-ap-cfg:st-tag-list-config; + } + leaf filter-type { + type wireless-ap-types:enm-ap-filter-type; + description + "AP filter type"; + } + leaf priming-profile { + type string; + default ""; + description + "Applied AP priming profile name"; + } + } + + grouping associated-aps { + description + "Structure have location configuration information."; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address."; + } + } + + grouping st-location-tags { + description + "AP location's tag information"; + leaf policy-tag { + type string { + length "0..32"; + } + default "default-policy-tag"; + description + "Policy tag for AP location"; + } + leaf site-tag { + type string { + length "0..32"; + } + default "default-site-tag"; + description + "Site tag for AP location"; + } + leaf rf-tag { + type string { + length "0..32"; + } + default "default-rf-tag"; + description + "RF tag for AP location"; + } + } + + grouping st-location-attributes { + description + "AAA Location attribute identifiers"; + leaf civic-id { + type string { + length "0..215"; + } + default ""; + description + "Civic profile identifier for AAA Location information"; + } + leaf geo-id { + type string { + length "0..215"; + } + default ""; + description + "Geo profile identifier for AAA Location information"; + } + leaf oper-id { + type string { + length "0..215"; + } + default ""; + description + "Operator identifier for AAA Location information"; + } + } + + grouping location-config { + description + "Structure having location configuration information for AP"; + leaf location-name { + type string { + length "1..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Name of the AP location"; + } + leaf description { + type string { + length "1..32"; + } + description + "Description for location of AP"; + } + container tag-info { + description + "Tag information for AP location"; + uses wireless-ap-cfg:st-location-tags; + } + container associated-aps { + description + "Container of associated APs"; + list associated-ap { + key "ap-mac"; + description + "Associated AP information"; + uses wireless-ap-cfg:associated-aps; + } + } + container location-attributes { + description + "Location Attribute information for APs"; + uses wireless-ap-cfg:st-location-attributes; + } + } + + container ap-cfg-data { + description + "AP tag configuration"; + container location-entries { + description + "Structure has location configuration information."; + list location-entry { + key "location-name"; + description + "Structure has location configuration information."; + uses wireless-ap-cfg:location-config; + } + } + container tag-source-priority-configs { + description + "Priority for tag source"; + list tag-source-priority-config { + key "priority"; + description + "Priority for tag source"; + uses wireless-ap-cfg:st-tag-source-priority-config; + } + } + container ap-filter-configs { + description + "ap filter"; + list ap-filter-config { + key "filter-name"; + description + "ap filter"; + uses wireless-ap-cfg:st-ap-filter-config; + } + } + container ap-filter-priority-cfg-entries { + status obsolete; + description + "Priority for AP filter"; + list ap-filter-priority-cfg-entry { + key "priority"; + description + "Priority for AP filter"; + uses wireless-ap-cfg:ap-filter-priority-config; + } + } + container ap-rule-priority-cfg-entries { + description + "Priority for AP filter rule"; + list ap-rule-priority-cfg-entry { + key "priority"; + description + "Priority for AP filter rule"; + uses wireless-ap-cfg:st-ap-rule-priority-config; + } + } + container ap-tags { + description + "Configuration of AP tags"; + list ap-tag { + key "ap-mac"; + description + "List of AP tags"; + uses wireless-ap-cfg:ap-tag; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-global-oper.yang new file mode 100644 index 000000000..10d81198e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-global-oper.yang @@ -0,0 +1,1259 @@ +module Cisco-IOS-XE-wireless-ap-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ap-global-oper"; + prefix wireless-ap-global-oper; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains access point operational data aggregated across wireless processes. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Added layer 3 access client statistics"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "- Added DTLS statistics + - Added ap location statistics + - Added AP history data + - Added AP join count data + - Added AP join count statistics + - Added ap join and discovery stats"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added AP statistics"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-07-01 { + description + "- Added AP join statistics"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef last-failure-phase { + type enumeration { + enum ap-con-failure-unknown { + value 0; + description + "Unknown failure"; + } + enum ap-con-failure-discovery { + value 1; + description + "Failed during discovery phase"; + } + enum ap-con-failure-dtls { + value 2; + description + "Failed during DTLS phase"; + } + enum ap-con-failure-join { + value 3; + description + "Failed during join phase"; + } + enum ap-con-failure-config { + value 4; + description + "Failed during config phase"; + } + enum ap-con-failure-imgdwnld { + value 5; + description + "Failed during image download phase"; + } + enum ap-con-failure-run { + value 6; + description + "Failed during run state"; + } + } + description + "Last failure phase of AP connection"; + } + + typedef ap-discovery-failure-reason { + type enumeration { + enum disc-fail-none { + value 0; + description + "AP discovery failure none"; + } + enum disc-fail-req-dec-board-data { + value 1; + description + "Failure decoding board data"; + } + enum disc-fail-req-dec-rad-info { + value 2; + description + "Failure decoding radio info"; + } + enum disc-fail-req-dec-wtp-dscrptr { + value 3; + description + "Failure decoding descriptor"; + } + enum disc-fail-req-max-conc-wtp-dwnlds { + value 4; + description + "Max concurrent downloads reached"; + } + enum disc-fail-req-high-prity-max-apjoin { + value 5; + description + "Higher priority AP joined after AP max limit"; + } + enum disc-fail-req-max-wtp-joined { + value 6; + description + "Max AP limit reached"; + } + enum disc-fail-req-max-conc-wtp-joins { + value 7; + description + "Max concurrent joins reached"; + } + enum disc-fail-resp-enc-dscrptr { + value 8; + description + "Failure encoding descriptor"; + } + enum disc-fail-resp-enc-acname { + value 9; + description + "Failure encoding controller name"; + } + enum disc-fail-resp-enc-ipv4-addr { + value 10; + description + "Failure encoding IPv4 address"; + } + enum disc-fail-resp-enc-ipv6-addr { + value 11; + description + "Failure encoding IPv6 address"; + } + enum disc-fail-resp-enc-mwar-payld { + value 12; + description + "Failure encoding mwar type payload"; + } + enum disc-fail-resp-enc-wtp-rad-info { + value 13; + description + "Failure encoding radio info"; + } + enum disc-fail-resp-send-fail { + value 14; + description + "Failure sending response"; + } + enum disc-fail-req-non-wireless-mgmt-intf { + value 15; + description + "Non-wireless management interface"; + } + enum disc-fail-req-un-reg-license-mgr { + value 16; + description + "Controller not registered with license manager"; + } + } + description + "Enumeration AP discovery failure reason"; + } + + typedef enm-ap-join-failure-reason { + type enumeration { + enum jf-none { + value 0; + description + "Default reason code"; + } + enum jf-reqrej-swver { + value 1; + description + "Failed to decode software version"; + } + enum jf-reqrej-hwver { + value 2; + description + "Failed to decode hardware version"; + } + enum jf-reqrej-bootver { + value 3; + description + "Failed to decode boot version"; + } + enum jf-reqrej-wtpdescrptr { + value 4; + description + "Failed to decode WTP descriptor"; + } + enum jf-reqrej-unsupportedwtp { + value 5; + description + "Unsupported AP"; + } + enum jf-reqrej-notfabric { + value 6; + description + "AP is not fabric capable"; + } + enum jf-reqrej-modelnum { + value 7; + description + "Failed to decode model number"; + } + enum jf-reqrej-serialnum { + value 8; + description + "Failed to decode serial number"; + } + enum jf-reqrej-boardid { + value 9; + description + "Failed to decode board ID"; + } + enum jf-reqrej-boardrev { + value 10; + description + "Failed to decode board revision"; + } + enum jf-reqrej-basemacaddr { + value 11; + description + "Failed to decode base MAC address"; + } + enum jf-reqrej-locationdata { + value 12; + description + "Failed to decode location data"; + } + enum jf-reqrej-wtpname { + value 13; + description + "Failed to decode AP name"; + } + enum jf-reqrej-wtpipv4addr { + value 14; + description + "Failed to decode IPv4 address"; + } + enum jf-reqrej-boarddataopt { + value 15; + description + "Failed to decode board data options"; + } + enum jf-reqrej-invalid-radio { + value 16; + description + "Invalid radio slot ID"; + } + enum jf-reqrej-maxmsgsize { + value 17; + description + "Failed to decode maximum message size"; + } + enum jf-reqrej-sessionid { + value 18; + description + "Failed to decode session ID"; + } + enum jf-resp-wtpradioinfo { + value 19; + description + "Failed to encode radio information"; + } + enum jf-resp-maxmsglen { + value 20; + description + "Failed to encode maximum message length"; + } + enum jf-resp-acdscrptr { + value 21; + description + "Failed to encode descriptor"; + } + enum jf-resp-acname { + value 22; + description + "Failed to encode AC name"; + } + enum jf-resp-cntrlipv4addr { + value 23; + description + "Failed to encode capwap control ipv4 address"; + } + enum jf-resp-mwartypepayload { + value 24; + description + "Failed to encode mwar type payload"; + } + enum jf-resp-authtokenpayload { + value 25; + description + "Failed to encode auth token payload"; + } + enum jf-resp-dudplite { + value 26; + description + "Failed to encode UDP lite config payload"; + } + enum jf-delete-progress { + value 27; + description + "AP delete in progress"; + } + enum jf-resp-respsendf { + value 28; + description + "Failed to send response"; + } + enum jf-ap-auth-pending { + value 29; + description + "AP auth pending"; + } + enum jf-reqrej-capwapcapab { + value 30; + description + "Failed to decode CAPWAP capabilities"; + } + enum jf-dtls-alert-from-peer { + value 31; + description + "DTLS close alert from peer"; + } + enum jf-internal-error { + value 32; + description + "Internal error"; + } + enum jf-idb-creation-failed { + value 33; + description + "Capwap IDB creation failed"; + } + enum jf-resp-cntrlipv6addr { + value 34; + description + "Failed to encode capwap control ipv6 address"; + } + enum jf-resp-efficientimagedownload { + value 35; + description + "Failed to encode efficient image download"; + } + enum jf-maxrexmitreached { + value 36; + description + "Maximum retransmissions to AP limit reached"; + } + enum jf-heartbeattimer { + value 37; + description + "Heart beat timer expired"; + } + enum jf-hwfailure { + value 38; + description + "Nack received"; + } + enum jf-ap-auth-failure { + value 39; + description + "AP Auth Failure"; + } + enum jf-invalid-mtu { + value 40; + description + "Invalid path MTU"; + } + enum jf-dtls-version { + value 41; + description + "Unexpected DTLS version"; + } + } + description + "Reason for cisco AP join failure"; + } + + typedef enm-ap-config-failure-reason { + type enumeration { + enum cf-none { + value 0; + description + "Default failure reason"; + } + enum cf-reqrej-unknown-ap { + value 1; + description + "Unknown ap"; + } + enum cf-reqrej-reg-domain-check { + value 2; + description + "Regulatory domain check failed"; + } + enum cf-req-rej-capwap-data { + value 3; + description + "Capwap data failed"; + } + enum cf-reqrej-inval-reg-domain { + value 4; + description + "Invalid regulatory domain"; + } + enum cf-resp-build-fail { + value 5; + description + "Response build failed"; + } + enum cf-resp-send-fail { + value 6; + description + "Response send failed"; + } + enum cf-dtls-close-alert { + value 7; + description + "DTLS close alert from the peer"; + } + enum cf-internal-error { + value 8; + description + "Internal Error"; + } + enum cf-process-fail { + value 9; + description + "Config Status process failure"; + } + enum cf-max-rexmit { + value 10; + description + "Max Retransmission to AP"; + } + enum cf-heartbeat-timer { + value 11; + description + "Heart beat timer expiry"; + } + enum cf-hw-fail { + value 12; + description + "NACK received"; + } + enum cf-echo-req-fail { + value 13; + description + "Echo request process failure"; + } + } + description + "AP configuration failure reason code"; + } + + typedef enm-dtls-handshake-failure-reason { + type enumeration { + enum dtls-hs-success { + value 0; + description + "No failure"; + } + enum dtls-hs-err { + value 1; + description + "Handshake error"; + } + enum dtls-hs-cert-auth { + value 2; + description + "Certificate authorization failed"; + } + enum dtls-hs-aaa-auth { + value 3; + description + "AAA authorization failed"; + } + enum dtls-hs-timer-exp { + value 4; + description + "DTLS Timer expired"; + } + enum dtls-hs-peer-alert { + value 5; + description + "DTLS handshake alert from peer"; + } + enum dtls-hs-server-shut { + value 6; + description + "DTLS handshake server shutdown"; + } + enum dtls-hs-config-not-done { + value 7; + description + "DTLS certificate chain not available"; + } + enum dtls-hs-unsupp-protocol { + value 8; + description + "Unsupported DTLS protocol"; + } + enum dtls-hs-no-shared-cipher { + value 9; + description + "No shared ciphersuite"; + } + } + description + "AP DTLS handshake failure reason code"; + } + + grouping st-ap-discovery-info { + description + "AP discovery stats"; + leaf wtp-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf ethernet-mac { + type yang:mac-address; + description + "AP ethernet MAC address"; + } + leaf ap-ip-address { + type inet:ip-address; + description + "AP IP address"; + } + leaf num-discovery-req-recvd { + type uint16; + description + "Total number of discovery request received"; + } + leaf num-succ-disc-resp-sent { + type uint16; + description + "Total number of successful discovery response sent"; + } + leaf num-err-disc-req { + type uint16; + description + "Total number of errored discovery requests"; + } + leaf last-disc-failure-type { + type wireless-ap-global-oper:ap-discovery-failure-reason; + description + "Last discovery failure type"; + } + leaf last-success-disc-time { + type yang:date-and-time; + description + "Last successful discovery attempt time"; + } + leaf last-failed-disc-time { + type yang:date-and-time; + description + "Last failed discovery attempt time"; + } + } + + grouping st-ap-join-info { + description + "AP join data"; + leaf ap-ip-addr { + type string; + description + "IP address of the AP"; + } + leaf ap-ethernet-mac { + type yang:mac-address; + description + "AP ethernet MAC address"; + } + leaf ap-name { + type string; + description + "Name of the AP"; + } + leaf is-joined { + type boolean; + description + "AP join status"; + } + leaf num-join-req-recvd { + type uint16; + description + "Total number of join requests received"; + } + leaf num-config-req-recvd { + type uint16; + description + "Total number of configuration requests received"; + } + leaf last-join-failure-type { + type wireless-ap-global-oper:enm-ap-join-failure-reason; + description + "Last AP join failure reason"; + } + leaf last-config-failure-type { + type wireless-ap-global-oper:enm-ap-config-failure-reason; + description + "Last AP config failure reason"; + } + leaf last-error-type { + type wireless-ap-global-oper:last-failure-phase; + description + "Last failure phase of AP connection"; + } + leaf last-error-time { + type yang:date-and-time; + description + "Time at which the last join error occurred"; + } + leaf last-msg-decr-fail-reason { + type string; + description + "Reason for last message decryption failure"; + } + leaf num-succ-join-resp-sent { + type uint16; + description + "Total number of successful join response sent"; + } + leaf num-unsucc-join-req-procn { + type uint16; + description + "Total number of unsuccessful join request processed"; + } + leaf num-succ-conf-resp-sent { + type uint16; + description + "Total number of successful configure response sent"; + } + leaf num-unsucc-conf-req-procn { + type uint16; + description + "Total number of unsuccessful config request processed"; + } + leaf last-succ-join-atmpt-time { + type yang:date-and-time; + description + "Last successful join attempt time"; + } + leaf last-fail-join-atmpt-time { + type yang:date-and-time; + description + "Last join failure time"; + } + leaf last-succ-conf-atmpt-time { + type yang:date-and-time; + description + "Last successful config attempt time"; + } + leaf last-fail-conf-atmpt-time { + type yang:date-and-time; + description + "Last failed config attempt time"; + } + } + + grouping st-dtls-sess-info-list { + description + "DTLS phase statistics"; + leaf mac-addr { + type yang:mac-address; + description + "AP MAC address"; + } + leaf data-dtls-setup-req { + type uint32; + description + "DTLS session requests received"; + } + leaf data-dtls-success { + type uint32; + description + "Established DTLS session"; + } + leaf data-dtls-failure { + type uint32; + description + "Unsuccessful DTLS session"; + } + leaf ctrl-dtls-setup-req { + type uint32; + description + "DTLS session requests received"; + } + leaf ctrl-dtls-success { + type uint32; + description + "Established Dtls session"; + } + leaf ctrl-dtls-failure { + type uint32; + description + "Unsuccessful Dtls session"; + } + leaf data-dtls-failure-type { + type wireless-ap-global-oper:enm-dtls-handshake-failure-reason; + description + "Reason for last unsuccessful DTLS session"; + } + leaf ctrl-dtls-failure-type { + type wireless-ap-global-oper:enm-dtls-handshake-failure-reason; + description + "Reason for last unsuccessful DTLS session"; + } + leaf ctrl-dtls-decrypt-err { + type uint32; + description + "SSL decrypt errors"; + } + leaf ctrl-dtls-anti-replay-err { + type uint32; + description + "SSL anti replay errors"; + } + leaf data-dtls-decrypt-err { + type uint32; + description + "SSL decrypt errors"; + } + leaf data-dtls-anti-replay-err { + type uint32; + description + "SSL anti replay errors"; + } + leaf data-dtls-failure-time { + type yang:date-and-time; + description + "Last unsuccessful data dtls session time"; + } + leaf data-dtls-success-time { + type yang:date-and-time; + description + "Last successful data dtls session time"; + } + leaf ctrl-dtls-failure-time { + type yang:date-and-time; + description + "Last unsuccessful control dtls session time"; + } + leaf ctrl-dtls-success-time { + type yang:date-and-time; + description + "Last successful control dtls session time"; + } + } + + grouping st-radio-stats { + description + "AP radio stats"; + leaf total-radios { + type uint32; + description + "Total number of radios"; + } + leaf radios-up { + type uint32; + description + "Total number of radios up"; + } + leaf radios-down { + type uint32; + description + "Total number of radios down"; + } + } + + grouping ewlc-ap-statistics { + description + "AP radio statistics"; + container stats-80211-a-rad { + description + "802.11 5 GHz radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211-bg-rad { + description + "802.11 2.4 GHz radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211-xor-rad { + description + "802.11 dual band radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211-rx-only-rad { + description + "802.11 RX radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211-all-rad { + description + "All radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211bg-clnt-srvg { + description + "802.11 2.4 GHz client serving radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211a-clnt-srvg { + description + "802.11 5 GHz client serving radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-rad-mon-mode { + description + "Monitor radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + leaf stats-misconfigured-aps { + type uint32; + description + "Total number of misconfigured APs"; + } + container stats-80211-6ghz-radios { + description + "802.11 6 GHz radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211-6ghz-clnt-srvg { + description + "802.11 6 GHz client serving radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container dual-band-rad-mon-mode { + description + "802.11 dual band monitor radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211bg-rad-mon-mode { + description + "802.11 2.4 GHz monitor radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container stats-80211a-rad-mon-mode { + description + "802.11 5 GHz monitor radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container rad-mon-mode-80211-6ghz { + description + "802.11 6 GHz monitor radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + leaf stats-dtls-lsc-fbk-aps { + type uint32; + description + "Total number of DTLS LSC fallback APs"; + } + leaf total-high-cpu-reload { + type uint32; + description + "Total number of AP reloads due to high CPU"; + } + leaf total-high-mem-reload { + type uint32; + description + "Total number of AP reloads due to high memory"; + } + leaf total-radio-stuck-reset { + type uint32; + description + "Total number of radio stuck resets"; + } + container dual-band-rad-snfr-mode { + description + "802.11 dual band sniffer radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container radio-snfr-mode-80211bg { + description + "802.11 2.4 GHz sniffer radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container radio-snfr-mode-80211a { + description + "802.11 5 GHz sniffer radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container radio-snfr-mode-80211-6ghz { + description + "802.11 6 GHz sniffer radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container radio-snfr-mode { + description + "All sniffer radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + container total-80211-xor-5-6ghz-rad { + description + "802.11 dual band 5/6 GHz radio stats"; + uses wireless-ap-global-oper:st-radio-stats; + } + } + + grouping predownload-stats { + description + "AP image predownload statistics"; + leaf num-initiated { + type uint32; + description + "Total number of AP predownload initiated"; + } + leaf num-in-progress { + type uint32; + description + "Total number of AP predownload in-progress"; + } + leaf num-complete { + type uint32; + description + "Total number of AP predownload completed"; + } + leaf num-unsupported { + type uint32; + description + "Total number of AP predownload not supported"; + } + leaf num-failed { + type uint32; + description + "Total number of AP predownload failed"; + } + leaf is-predownload-in-progress { + type boolean; + description + "Status of AP image predownload"; + } + leaf num-total { + type uint32; + description + "Total number of AP connected"; + } + } + + grouping global-ap-stats { + description + "AP aggregated statistics"; + container predownload-stats { + description + "AP predownload statistics"; + uses wireless-ap-global-oper:predownload-stats; + } + leaf downloads-in-progress { + type uint32; + description + "Total number of APs download in-progress"; + } + leaf downloads-complete { + type uint32; + description + "Total number of APs download completed"; + } + container wlc-predownload-stats { + description + "Wireless controller predownload statistics"; + uses wireless-ap-global-oper:predownload-stats; + } + } + + grouping wlan-client-stats { + description + "WLAN client stats"; + leaf wlan-id { + type uint16; + description + "WLAN identifier"; + } + leaf wlan-profile-name { + type string; + description + "WLAN profile name"; + } + leaf data-usage { + type uint64; + description + "Data usage"; + } + leaf total-random-mac-clients { + type uint32; + description + "Total random MAC clients"; + } + leaf client-curr-state-l2auth { + type uint32; + description + "Total number of clients in L2-authenticating state"; + } + leaf client-curr-state-mobility { + type uint32; + description + "Total number of clients in mobility state"; + } + leaf client-curr-state-iplearn { + type uint32; + description + "Total number of clients in iplearn state"; + } + leaf curr-state-webauth-pending { + type uint32; + description + "Total number of clients in webauth pending state"; + } + leaf client-curr-state-run { + type uint32; + description + "Total number of clients in run state"; + } + leaf total-l3-access-clients { + type uint32; + description + "Total Layer 3 access clients"; + } + } + + grouping st-emltd-ap-stats-info { + description + "AP join statistics"; + container ap-join-info { + description + "AP join information"; + uses wireless-ap-global-oper:st-ap-join-info; + } + container ap-discovery-info { + description + "AP discovery information"; + uses wireless-ap-global-oper:st-ap-discovery-info; + } + container dtls-sess-info { + description + "Data and Control DTLS phase statistics"; + uses wireless-ap-global-oper:st-dtls-sess-info-list; + } + leaf ap-disconnect-reason { + type string; + description + "Last disconnect reason of AP"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP radio MAC address"; + } + leaf reboot-reason { + type wireless-types:spam-ap-reboot-reason; + description + "Reboot reason from AP"; + } + leaf disconnect-reason { + type wireless-types:spam-ap-disconnect-reason; + description + "Disconnect reason from AP"; + } + } + + grouping st-ap-join-count-data { + description + "AP join count stats"; + leaf joined-aps-count { + type uint32; + description + "Number of APs joined on wireless LAN controller"; + } + } + + grouping ewlc-ap-state { + description + "AP state data"; + leaf is-ap-joined { + type boolean; + description + "AP joined or not"; + } + leaf timestamp { + type yang:date-and-time; + description + "AP Joined or first disjoined timestamp"; + } + leaf last-disconnect-timestamp { + type yang:date-and-time; + description + "Last disconnect timestamp"; + } + leaf disconnects { + type uint32; + description + "Number of times AP disconnected"; + } + leaf ap-disconnect-reason-str { + type string; + description + "AP disconnect string"; + } + } + + grouping st-emltd-all-aps-history { + description + "AP history data"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf ethernet-mac { + type yang:mac-address; + description + "Ethernet MAC address"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP WTP mac"; + } + list ewlc-ap-state-ptr { + description + "AP state"; + uses wireless-ap-global-oper:ewlc-ap-state; + } + } + + grouping st-emltd-ap-location-stats { + description + "AP location stats"; + leaf location { + type string; + description + "AP location name"; + } + leaf clients-joined { + type uint64; + description + "Number of clients joined"; + } + leaf clients-on-11a { + type uint64; + description + "Number of clients joined on 11a"; + } + leaf clients-on-11b { + type uint64; + description + "Number of clients joined on 11b"; + } + leaf aps-joined { + type uint64; + description + "Number of APs joined"; + } + } + + container ap-global-oper-data { + config false; + description + "Root container for AP operational data aggregated across wireless processes"; + list ap-history { + key "ethernet-mac"; + description + "AP history data"; + uses wireless-ap-global-oper:st-emltd-all-aps-history; + } + container ewlc-ap-stats { + presence "ewlc-ap-stats"; + description + "AP radio statistics"; + uses wireless-ap-global-oper:ewlc-ap-statistics; + } + container ap-img-predownload-stats { + presence "ap-img-predownload-stats"; + description + "AP image predownload stats"; + uses wireless-ap-global-oper:global-ap-stats; + } + list ap-location-stats { + key "location"; + description + "AP location statistics"; + uses wireless-ap-global-oper:st-emltd-ap-location-stats; + } + list ap-join-stats { + key "wtp-mac"; + description + "AP join statistics"; + uses wireless-ap-global-oper:st-emltd-ap-stats-info; + } + list wlan-client-stats { + key "wlan-id"; + unique "wlan-profile-name"; + description + "WLAN client stats"; + uses wireless-ap-global-oper:wlan-client-stats { + refine "wlan-profile-name" { + mandatory true; + } + } + } + container emltd-join-count-stat { + presence "emltd-join-count-stat"; + description + "AP join count statistics"; + uses wireless-ap-global-oper:st-ap-join-count-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-types.yang new file mode 100644 index 000000000..d5c118579 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ap-types.yang @@ -0,0 +1,2484 @@ +module Cisco-IOS-XE-wireless-ap-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ap-types"; + prefix wireless-ap-types; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-general-cfg { + prefix wireless-general-cfg; + } + import Cisco-IOS-XE-wireless-power-cfg { + prefix wireless-power-cfg; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless ap data types. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added Ultra Wide Band configuration + - Added a range constraint for primed join timeout + - Updated the dot1x password length limit"; + reference + "11.0.0"; + cisco-semver:module-version "11.0.0"; + } + revision 2024-03-01 { + description + "- Added support for CAPWAP message aggregation + - Added support for kernel coredump type configuration + - Added support for Accelerometer sensor + - Added range for rogue detection transient time + - Updated default value for FTM burst size + - Changed the allowed range for FTM burst size + - Updated default value for FTM + - Added constraint for kernel coredump limit"; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2023-11-01 { + description + "- Updated the description for core-dump tftp-server-address configuration + - Added support for AP deployment config + - Added configuration for network spectrum interface ports"; + reference + "9.3.0"; + cisco-semver:module-version "9.3.0"; + } + revision 2023-07-01 { + description + "- Added support for kernal coredump configuration + - Added support for location related configuration + - Added ICAP anomaly detection report per type, per client throttle and aggregate + - Removed constraints for AP profile password leaf + - Rogue PMF-Denial Containment"; + reference + "9.2.0"; + cisco-semver:module-version "9.2.0"; + } + revision 2023-03-01 { + description + "- Added support for additional country codes"; + reference + "9.1.0"; + cisco-semver:module-version "9.1.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added AP filter type enumeration + - Added AP pressure sensor configuration + - Added support for additional country codes + - Modified validations for power profile"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2022-07-01 { + description + "- Added serial console under device management configuration"; + reference + "8.1.0"; + cisco-semver:module-version "8.1.0"; + } + revision 2022-03-01 { + description + "- Changed usb module default value + - Added support for BLE scan state configuration + - Added power profile under AP profile configuration + - Added a limit for the maximum number of clients allowed on an AP + - Added a constraint for power profile name configuration"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-11-01 { + description + "- Added AP radio statistics monitoring + - Added AP reload action on high CPU or high memory usage"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2021-07-01 { + description + "- Added support for country configuration + - Added support NTP AP authentication + - Added AP management password constraints + - Added support for AP timezone + - Added ICAP aggregate full packet trace configuration + - Added must constraints for country configuration"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2021-03-01 { + description + "- Added support for AP stats + - Added support for Office Extended AP configuration + - Added support for DTLS cipher suite priority configuration"; + reference + "6.5.0"; + cisco-semver:module-version "6.5.0"; + } + revision 2020-11-01 { + description + "- Added Forensic type + - Added support for antenna monitoring configuration + - Increased range of anomaly detection report individual threshold + - Added support for Personal SSID"; + reference + "6.4.0"; + cisco-semver:module-version "6.4.0"; + } + revision 2020-07-01 { + description + "- Added support for traffic distribution stats configuration + - Added AP DHCP fallback option"; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2020-03-01 { + description + "- Added CAPWAP window size for multiwindow support"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2019-11-01 { + description + "- Added Accounting server Method List name + - Added UDP-Lite type to tunnel configuration + - Added support for IOX app hosting on APs + - Added support for Auxiliary Client Interface on APs + - Added AP LED flash config mode and duration timer"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-09-20 { + description + "- Added obsolete status for Lawful Interception"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-05-01 { + description + "- Added Hotspot 2.0 GAS request limiting leaves + - Added NTP server information to be used by AP + - Added ICAP Anomaly-detection reporting parameters + - Added ICAP client statistic filter parameters + - Added client RSSI stats config parameters + - Added TLS mode config parameter for secure syslog + - Added Hotspot 2.0 QoS Map action frame enable + - Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-03-13 { + description + "- Added yang constraints for AP user management and dot1x credentials + - Added AP dot1x password and management secret + - Add DHCP server configuration + - Added password for user management + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Removal of unused enums + - Removal of unused container related to static domain name server configuration + - Removal of unused container related to IPv6 TCP MSS configuration + - Removal of unused container related to crash data radio configuration + - Removal of unused container related to ethernet port configuration + - Removal of unused container related to qing configuration + - Capitalized acronyms in model descriptions + - Removed ICAP Anomaly-detection dot1x-timeout leaf + - Removed CAPWAP window size configuration"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-06-15 { + description + "AIRsense feature renamed to Intelligent Capture"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Leaf name changes"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-link-latency-type { + type enumeration { + enum link-auditing-disable { + value 0; + description + "option for link auditing disable"; + } + enum link-auditing-enable { + value 1; + description + "option for link auditing enable"; + } + enum link-auditing-data { + value 2; + description + "option for link auditing data"; + } + enum link-auditing-reset { + value 4; + description + "option for link auditing reset"; + } + } + description + "enumeration for capturing the link auditing configurations"; + } + + typedef enm-ap-tag-source { + type enumeration { + enum tag-source-none { + value 0; + description + "This value specifies that the tag + source is empty"; + } + enum tag-source-static { + value 1; + description + "This value specifies that the tags for AP + are configured at controller"; + } + enum tag-source-filter { + value 2; + description + "This value specifies that the tag for AP + are configured at controller by filter engine"; + } + enum tag-source-ap-pnp { + value 3; + description + "This value specifies that the tags for AP + are coming from AP with help of PNP server"; + } + enum tag-source-default { + value 4; + description + "This value specifies that the tags for AP + configured to be default"; + } + enum tag-source-location { + value 5; + description + "This value specifies that the tag for AP + are configured at controller under location"; + } + } + description + "Enumeration to store the tag source for the AP tags"; + } + + typedef syslog-facility-value { + type enumeration { + enum facility-kern { + value 0; + description + "Syslog value of type FACILITY_KERN"; + } + enum facility-user { + value 1; + description + "Syslog value of type FACILITY_USER"; + } + enum facility-mail { + value 2; + description + "Syslog value of type FACILITY_MAIL"; + } + enum facility-daemon { + value 3; + description + "Syslog value of type FACILITY_DAEMON"; + } + enum facility-auth { + value 4; + description + "Syslog value of type FACILITY_AUTH"; + } + enum facility-syslog { + value 5; + description + "Syslog value of type FACILITY_SYSLOG"; + } + enum facility-lpr { + value 6; + description + "Syslog value of type FACILITY_LPR"; + } + enum facility-news { + value 7; + description + "Syslog value of type FACILITY_NEWS"; + } + enum facility-uucp { + value 8; + description + "Syslog value of type FACILITY_UUCP"; + } + enum facility-sys9 { + value 9; + description + "Syslog value of type FACILITY_SYS9"; + } + enum facility-sys10 { + value 10; + description + "Syslog value of type FACILITY_SYS10"; + } + enum facility-sys11 { + value 11; + description + "Syslog value of type FACILITY_SYS11"; + } + enum facility-sys12 { + value 12; + description + "Syslog value of type FACILITY_SYS12"; + } + enum facility-sys13 { + value 13; + description + "Syslog value of type FACILITY_SYS13"; + } + enum facility-sys14 { + value 14; + description + "Syslog value of type FACILITY_SYS14"; + } + enum facility-cron { + value 15; + description + "Syslog value of type FACILITY_CRON"; + } + enum facility-local0 { + value 16; + description + "Syslog value of type FACILITY_LOCAL0"; + } + enum facility-local1 { + value 17; + description + "Syslog value of type FACILITY_LOCAL1"; + } + enum facility-local2 { + value 18; + description + "Syslog value of type FACILITY_LOCAL2"; + } + enum facility-local3 { + value 19; + description + "Syslog value of type FACILITY_LOCAL3"; + } + enum facility-local4 { + value 20; + description + "Syslog value of type FACILITY_LOCAL4"; + } + enum facility-local5 { + value 21; + description + "Syslog value of type FACILITY_LOCAL5"; + } + enum facility-local6 { + value 22; + description + "Syslog value of type FACILITY_LOCAL6"; + } + enum facility-local7 { + value 23; + description + "Syslog value of type FACILITY_LOCAL7"; + } + } + description + "enumeration for capturing the syslog facility options"; + } + + typedef enm-ap-filter-type { + type enumeration { + enum ap-filter-type-tag { + value 0; + description + "AP filter type tag"; + } + enum ap-filter-type-priming { + value 1; + description + "AP filter type priming"; + } + } + description + "enumeration to define the AP filter type"; + } + + typedef ap-sub-mode-type { + type enumeration { + enum ap-sub-mode-none { + value 0; + description + "AP sub mode None"; + } + enum wips-mode { + value 1; + description + "AP sub mode AWIPS"; + } + enum non-local-network { + value 2; + description + "Option to disable personal SSID"; + } + enum local-network { + value 3; + description + "Option to enable personal SSID"; + } + enum forensic-awips-mode { + value 4; + description + "AP sub mode Forensic AWIPS"; + } + } + description + "enumeration to denote the submode of the AP"; + } + + typedef power-injector-sel-type { + type enumeration { + enum pwrinj-unknown { + value 0; + description + "Unknown"; + } + enum pwrinj-installed { + value 1; + description + "Installed"; + } + enum pwrinj-override { + value 2; + description + "Override"; + } + } + description + "enumeration to denote the power injector selection for the AP"; + } + + typedef timezone-payload-mode { + type enumeration { + enum ap-tz-not-configured { + value 0; + description + "Undefined timezone config"; + } + enum ap-tz-controller-tz { + value 1; + description + "Use controller timezone"; + } + enum ap-tz-utc-offset { + value 2; + description + "Use provided UTC offset as timezone"; + } + } + description + "AP timezone mode"; + } + + typedef enm-ap-aux-client-interface-mode { + type enumeration { + enum ap-auxiliary-client-interface-unknown { + value 0; + description + "Unknown mode for the interface"; + } + enum ap-auxiliary-client-interface-static { + value 1; + description + "Static mode for the interface"; + } + enum ap-auxiliary-client-interface-dhcp { + value 2; + description + "DHCP mode for the interface"; + } + } + description + "Enumeration for the Application Hosting Interface on the AP"; + } + + typedef enm-ap-ntp-key-type { + type enumeration { + enum ap-ntp-key-type-md5 { + value 1; + description + "NTP key type md5"; + } + enum ap-ntp-key-type-sha1 { + value 2; + description + "NTP key type sha1"; + } + } + description + "enumeration to define the ntp key types"; + } + + typedef enm-ap-ntp-key-format { + type enumeration { + enum ap-ntp-key-format-ascii { + value 0; + description + "NTP key format ascii"; + } + enum ap-ntp-key-format-hex { + value 1; + description + "NTP key format hex"; + } + } + description + "enumeration to define the ntp key formats"; + } + + typedef enm-ap-dot1x-eap-type { + type enumeration { + enum dot1x-eap-none { + value 0; + description + "option to denote the authentication EAP-NONE"; + } + enum dot1x-eap-tls { + value 13; + description + "option to denote the authentication EAP-TLS"; + } + enum dot1x-eap-peap { + value 25; + description + "option to denote the authentication EAP-PEAP"; + } + enum dot1x-eap-fast { + value 43; + description + "option to denote the authentication EAP-FAST"; + } + } + description + "enumeration to denote the authentication EAP type"; + } + + typedef enm-lsc-ap-auth-state-type { + type enumeration { + enum lsc-ap-auth-none { + value 0; + description + "option to denote the LSC AP auth for none"; + } + enum lsc-ap-auth-capwap-dtls { + value 1; + description + "option to denote the LSC AP auth for capwap dtls"; + } + enum lsc-ap-auth-dot1x-port-auth { + value 2; + description + "option to denote the LSC AP auth for dot1x port auth"; + } + enum lsc-ap-auth-both { + value 3; + description + "option to denote the LSC AP auth for both"; + } + } + description + "enumeration to denote the LSC AP auth state type"; + } + + typedef enm-ap-led-flash-mode { + type enumeration { + enum led-flash-mode-disable { + value 0; + description + "Option to disable LED flash blinking"; + } + enum led-flash-mode-indefinite { + value 1; + description + "Option for indefinite LED flash blinking"; + } + enum led-flash-mode-duration { + value 2; + description + "Option for LED flash blink for particular duration"; + } + } + description + "Enumeration for capturing the LED flash configurations"; + } + + grouping st-capwap-timer-cfg { + description + "capwap timer configurations"; + leaf heart-beat-timeout { + type uint8 { + range "1 .. 30"; + } + default "30"; + description + "This object represents the Heartbeattimeout for the AP discovery"; + } + leaf discovery-timeout { + type uint8 { + range "1 .. 10"; + } + default "10"; + description + "This object represents the timeout for the AP discovery"; + } + leaf fast-heart-beat-timeout { + type uint8 { + range "0 .. 10"; + } + default "0"; + description + "This object represents the timeout value for the heart beat timer."; + } + leaf primary-discovery-timeout { + type uint16 { + range "30 .. 3000"; + } + default "120"; + description + "This object represents the timeout for the primary AP discovery"; + } + leaf primed-join-timeout { + type uint16 { + range "0 .. 43200"; + } + must '(current()=0) or (current()>=120 and current()<=43200)' { + error-message "CAPWAP primed join timeout must be either 0(disable) or between 120 and 43200"; + error-app-tag "must-violation"; + } + default "0"; + description + "This object represents the primed timeout for the AP discovery"; + } + } + + grouping st-capwap-retransmit-timer-cfg { + description + "capwap retransmit timer configuration"; + leaf count { + type uint8 { + range "3 .. 8"; + } + default "5"; + description + "retransmit timer count"; + } + leaf interval { + type uint8 { + range "2 .. 5"; + } + default "3"; + description + "retransmit timer interval"; + } + } + + grouping st-ap-capwap-aggregation-cfg { + description + "CAPWAP message aggregation configuration"; + leaf capwap-aggregation { + type boolean; + default "false"; + description + "CAPWAP message aggregation Enable/Disable"; + } + } + + grouping st-backup-controllers-cfg { + description + "backup controller configurations"; + leaf fallback-enabled { + type boolean; + default "true"; + description + "Backup Controllers fallback enabled"; + } + leaf primary-controller-name { + type string; + default ""; + description + "the AP's primary controller name"; + } + leaf secondary-controller-name { + type string; + default ""; + description + "the AP's secondary controller name"; + } + leaf primary-controller-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "the AP's primary controller ip address"; + } + leaf secondary-controller-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "the AP's secondary controller ip address"; + } + } + + grouping st-tcp-mss-cfg { + description + "ipv4 TCP MSS configurations"; + leaf adjust-mss { + type boolean; + default "true"; + description + "adjust mss"; + } + leaf tcp-adjust-mss { + type uint16 { + range "536 .. 1363"; + } + default "1250"; + description + "This object represents the Global AP TCP MSS value"; + } + } + + grouping st-device-mgmt-cfg { + description + "device management configurations"; + leaf telnet { + type boolean; + default "false"; + description + "This object specifies whether Telnet session can be established to the AP"; + } + leaf ssh { + type boolean; + default "false"; + description + "This object specifies whether SSH session can be established to the AP"; + } + leaf serial-console { + type boolean; + default "true"; + description + "This object specifies whether serial console to the AP can be accessed"; + } + } + + grouping st-user-mgmt-cfg { + description + "AP user management configuration"; + leaf username { + type string { + length "0..32"; + } + must '(((string-length(current()) != 0) and (string-length(../password) != 0) and (string-length(../secret) != 0)) or ((string-length(current()) = 0) and (string-length(../password) = 0) and (string-length(../secret) = 0)))' { + error-message "Partial configuration of AP user management username, password and secret is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "AP user management username"; + } + leaf password { + type string; + default ""; + description + "AP user management password. Following criteria should be met if wireless password policy is configured. + - Default passwords (cisco, Cisco, C!sco, ci$co, ..) are not allowed. + - Reverse default passwords are not allowed. + - At least one lower case letter is mandatory. + - At least one upper case letter is mandatory. + - At least one digit is mandatory. + - Special characters are allowed, but not mandatory. + - More than two sequential chars or digits (e.g., abc, 123) are not allowed. + - More than two repeated chars or digits (e.g., 111, aaa) are not allowed. + - Minimum password length is 8. + Restriction: AP management password of cleartext type must contain ASCII characters only. This rule is not implemented using constraints."; + } + leaf password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "AP user management password type should be either clear text or aes encryption type only"; + error-app-tag "must-violation"; + } + default "clear"; + description + "AP user management password type"; + } + leaf secret { + type string; + must "((../secret-type != 'clear') or (string-length(current()) <= 120))" { + error-message "AP user management secret length should not exceed 120, when the AP user management secret type is clear text"; + error-app-tag "must-violation"; + } + default ""; + description + "AP user management secret"; + } + leaf secret-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "AP user management secret type should be either clear text or aes encryption type only"; + error-app-tag "must-violation"; + } + default "clear"; + description + "AP user management secret type"; + } + } + + grouping st-lawful-interception-cfg { + status obsolete; + description + "Lawful Interception configurations per AP profile"; + leaf enable { + type boolean; + default "false"; + description + "This object specifies whether Lawful Interception is enabled or not"; + } + leaf timer-interval { + type uint16 { + range "60 .. 600"; + } + default "60"; + description + "This object represents the timer interval in seconds for periodic Lawful Interception updates"; + } + } + + grouping st-apphost-cfg { + description + "IOX application hosting related configuration"; + leaf enable { + type boolean; + default "false"; + description + "Enable IOX application hosting"; + } + } + + grouping st-ble-cfg { + description + "BLE configuration"; + leaf scan-state { + type boolean; + default "false"; + description + "Set the BLE scan state"; + } + } + + grouping st-aux-client-interface-cfg { + description + "Auxiliary Client Interface related configuration"; + leaf vlan-id { + type uint16 { + range "0 .. 4094"; + } + default "0"; + description + "VLAN to which the Auxiliary Client traffic is assigned"; + } + } + + grouping st-qosmap-cfg { + description + "QoS Map configuration"; + leaf ap-trusts-upstream-dscp { + type boolean; + default "true"; + description + "AP uses upstream DSCP instead of 802.11e UP to mark outer CAPWAP header MAC CoS and IP DSCP"; + } + leaf qosmap-action-frame { + type boolean; + default "true"; + description + "802.11 QoS Map action frame is sent when QoS Map DSCP to UP mapping changes"; + } + } + + grouping st-gas-rate-limit-cfg { + description + "GAS request rate limit configuration"; + leaf enable { + type boolean; + default "false"; + description + "This object specifies whether GAS rate limit on the AP is enabled or not"; + } + leaf num-req-per-interval { + type uint8 { + range "1 .. 100"; + } + description + "Maximum number of GAS requests allowed per AP slot in a given interval"; + } + leaf interval-msec { + type uint16 { + range "100 .. 10000"; + } + description + "Interval in milliseconds to define GAS request rate limit"; + } + } + + grouping st-ext-module-cfg { + description + "AP external module configurations"; + leaf enable { + type boolean; + default "false"; + description + "This object specifies whether AP External Module is enabled or not"; + } + } + + grouping st-ntp-server-info-cfg { + description + "NTP server configuration"; + leaf ntp-address { + type inet:ip-address; + default "0.0.0.0"; + description + "NTP server IP address"; + } + leaf trust-key { + type string; + default ""; + description + "The trust key to use in NTP authentication"; + } + leaf trust-key-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "The encryption to use when storing the trust key locally"; + } + leaf key-id { + type uint32 { + range "1 .. 65535"; + } + default "1"; + description + "An integer key id that identifies the NTP authentication key"; + } + leaf key-type { + type wireless-ap-types:enm-ap-ntp-key-type; + default "ap-ntp-key-type-md5"; + description + "The key digest type"; + } + leaf key-format { + type wireless-ap-types:enm-ap-ntp-key-format; + default "ap-ntp-key-format-ascii"; + description + "The key digest format"; + } + } + + grouping st-persistent-ssid-broadcast-cfg { + description + "persistent SSID broadcast configurations"; + leaf enable { + type boolean; + default "false"; + description + "This object specifies whether Persistent SSID Broadcast is enabled or not"; + } + } + + grouping st-dhcp-server-cfg { + description + "DHCP server configuration"; + leaf enable { + type boolean; + default "false"; + description + "DHCP server is enabled or not"; + } + } + + grouping st-poe-cfg { + description + "power over ethernet configuration"; + leaf pre-standard8023af-switch-flag { + type boolean; + default "false"; + description + "PreStandard 802.3af Switch"; + } + leaf power-injector-state { + type boolean; + default "false"; + description + "Power Injector State"; + } + leaf power-injector-selection { + type wireless-ap-types:power-injector-sel-type; + default "pwrinj-unknown"; + description + "power injector selection"; + } + leaf injector-switch-mac { + type yang:mac-address; + default "00:00:00:00:00:00"; + description + "mac address of the power injector switch"; + } + } + + grouping st-coredump-cfg { + description + "coredump related configuration"; + leaf coredump-flag { + type wireless-enum-types:memory-core-dump-flag; + default "tftp-coredump-disable"; + description + "coredump flag indicate if coredump is enabled and whether its compress or uncompress"; + } + leaf tftp-server-address { + type inet:ip-address; + default "0.0.0.0"; + description + "tftp server address to be used to move the core dump (not applicable for kernel core-dump)"; + } + leaf corefile-name { + type string; + default "default"; + description + "core file name"; + } + } + + grouping st-kernel-coredump-cfg { + description + "kernel coredump related configuration"; + leaf kernel-coredump-limit { + type uint16 { + range "0 .. 5"; + } + must '(current()>0 and current()<=5)' { + error-message "Kernel coredump limit value must be between 1 and 5"; + error-app-tag "must-violation"; + } + default "5"; + description + "Represents the number of kernel core-dumps"; + } + leaf kernel-coredump-type { + type wireless-enum-types:enm-kernel-coredump-type; + default "kernel-coredump-type-disabled"; + description + "Represents the type of kernel coredump"; + } + } + + grouping st-ap-deployment-mode-cfg { + description + "AP dual mode deployment configuration"; + leaf ap-deployment-mode { + type wireless-enum-types:ap-deployment-mode-type; + default "ap-mode-default"; + description + "AP deployment mode"; + } + } + + grouping ap-prof-power-profile-cfg { + description + "Power profile configuration in AP profile"; + leaf power-profile-name { + type string { + length "0..128" { + error-message "Power profile name should not be greater than 128 characters"; + error-app-tag "must-violation"; + } + pattern '([!-~]([ -~]*[!-~])?)?' { + error-message "Power profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "pattern-violation"; + } + } + must '((string-length(current()) = 0) or (/wireless-power-cfg:power-cfg-data/wireless-power-cfg:ap-power-profiles/wireless-power-cfg:ap-power-profile[wireless-power-cfg:profile-name = current()]))' { + error-message "A power profile with the same name as configured under the AP profile must exist"; + error-app-tag "must-violation"; + } + description + "Power profile name"; + } + } + + grouping st-ap-nsi-ports-cfg { + description + "AP network spectrum interface ports configuration"; + leaf nsi-ports-state { + type boolean; + default "false"; + description + "AP network spectrum interface ports state"; + } + } + + grouping st-tunnel { + description + "tunnel configurations"; + leaf preferred-mode { + type wireless-enum-types:preferred-mode-type; + default "preferred-mode-unconfig"; + description + "Represents the CAPWAP prefer-mode"; + } + leaf udp-lite { + type wireless-enum-types:ipv6-capwap-checksum-type; + default "udplite-checksum-disabled"; + description + "Represents IPv6 CAPWAP data checksum type"; + } + } + + grouping st-login-credentials-cfg { + description + "Authentication credentials"; + leaf dot1x-username { + type string { + length "0..32"; + } + must '(((string-length(current()) != 0) and (string-length(../dot1x-password) != 0)) or ((string-length(current()) = 0) and (string-length(../dot1x-password) = 0)))' { + error-message "Partial configuration of AP dot1x username and password is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "AP dot1x authentication username"; + } + leaf dot1x-password { + type string; + must "((../dot1x-password-type != 'clear') or (string-length(current()) <= 31))" { + error-message "AP dot1x password length should not exceed 31, when the AP dot1x password type is clear text"; + error-app-tag "must-violation"; + } + default ""; + description + "AP dot1x authentication password"; + } + leaf dot1x-password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "AP dot1x password type should be either clear text or aes encryption type only"; + error-app-tag "must-violation"; + } + default "clear"; + description + "AP dot1x authentication password type"; + } + } + + grouping st-dot1x-eap-auth-info { + description + "Dot1x EAP auth info"; + leaf dot1x-eap-type { + type wireless-ap-types:enm-ap-dot1x-eap-type; + default "dot1x-eap-fast"; + description + "Dot1x EAP auth type"; + } + } + + grouping st-lsc-ap-auth-type-info { + description + "Dot1x LSC AP auth info"; + leaf lsc-ap-auth-type { + type wireless-ap-types:enm-lsc-ap-auth-state-type; + default "lsc-ap-auth-capwap-dtls"; + description + "LSC AP auth type"; + } + } + + grouping st-capwap-lag-info { + description + "lag configurations"; + leaf ap-lag-enabled { + type boolean; + default "false"; + description + "boolean to indicate whether ap lag enabled is used"; + } + } + + grouping st-syslog-facility-cfg { + description + "syslog facility related configurations"; + leaf facility-value { + type wireless-ap-types:syslog-facility-value; + default "facility-kern"; + description + "facility value"; + } + leaf log-level { + type wireless-types:syslog-trap-level; + default "syslog-level-information"; + description + "log level"; + } + leaf host { + type inet:ip-address; + default "255.255.255.255"; + description + "host name"; + } + leaf tls-mode { + type boolean; + description + "TLS mode for secure syslog"; + } + } + + grouping st-mode { + description + "Defines the type of AP mode"; + leaf ap-sub-mode { + type wireless-ap-types:ap-sub-mode-type; + description + "Defines the AP sub mode"; + } + leaf fast-channel { + type uint32; + description + "Fast channel mode"; + } + } + + grouping st-rogue-params { + description + "rogue configuration parameters"; + leaf profile-name { + type string; + description + "rogue profile name"; + } + leaf rogue-detection-monitor-mode-report-interval { + type uint32 { + range "10 .. 300"; + } + default "10"; + description + "time interval at which monitor mode report for AP rogue detection is generated"; + } + leaf ap-rogue-detection-min-rssi { + type int32 { + range "-128 .. -70"; + } + default "-90"; + description + "minmum RSSI for AP rogue detection"; + } + leaf ap-rogue-detection-transient-interval { + type uint32 { + range "0|120..1800"; + } + default "0"; + description + "transient interval for AP rogue detection"; + } + leaf rogue-containment-flexconnect { + type boolean; + default "false"; + description + "rogue Containment in flexconnect"; + } + leaf rogue-containment-autorate { + type boolean; + default "false"; + description + "rogue Containment autorate"; + } + leaf ap-rogue-detection { + type boolean; + default "true"; + description + "rogue AP detection"; + } + leaf pmf-denial { + type boolean; + default "false"; + description + "Rogue AP 802.11w PMF-Denial containment"; + } + leaf pmf-deauth { + type boolean; + must "(../pmf-denial = 'false') or (../pmf-deauth = 'true')" { + error-message "If pmf-denial is enabled then pmf-deauth must be enabled"; + error-app-tag "must-violation"; + } + default "true"; + description + "Rogue AP 802.11w PMF-Denial containment type - Deauthentication"; + } + } + + grouping st-hyperlocation { + description + "hyperloaction related configurations"; + leaf hyperlocation-enable { + type boolean; + default "false"; + description + "enable hyperlocation"; + } + leaf pak-rssi-threshold-detection { + type int32 { + range "-100 .. -50"; + } + default "-100"; + description + "pak rssi threshold detection"; + } + leaf pak-rssi-threshold-trigger { + type uint8 { + range "1 .. 100"; + } + must '../pak-rssi-threshold-reset < ../pak-rssi-threshold-trigger' { + error-message "pak-rssi-threshold-trigger must be greater than pak-rssi-threshold-reset"; + error-app-tag "must-violation"; + } + default "10"; + description + "pak rssi threshold trigger"; + } + leaf pak-rssi-threshold-reset { + type uint8 { + range "0 .. 99"; + } + default "8"; + description + "pak rssi threshold reset"; + } + } + + grouping st-tftp-downgrade { + description + "tftp downgrade configuration"; + leaf tftp-downgrade-ip-address { + type inet:ip-address; + default "0.0.0.0"; + description + "tftp downgrade ip address"; + } + leaf tftp-downgrade-filename { + type string; + default ""; + description + "tftp downgrade file name"; + } + } + + grouping st-traffic-limit-cfg { + description + "configuration related to traffic limit"; + leaf max1x-session-limit-per-ap { + type uint8; + default "0"; + description + "maximum dot1x session limits allowed per AP"; + } + } + + grouping st-mesh-cfg { + description + "Specifies the mesh config for the AP"; + leaf mesh-profile-name { + type string; + default "default-mesh-profile"; + description + "Specifies the mesh profile name for the AP"; + } + } + + grouping st-report-interval { + description + "Report interval at which the AP sends client stats to Controller"; + leaf radio-24ghz { + type uint8 { + range "5 .. 90"; + } + default "90"; + description + "Report Interval at which AP sends Client Stats + for all the clients connected to 24ghz radio in seconds"; + } + leaf radio-5ghz { + type uint8 { + range "5 .. 90"; + } + default "90"; + description + "Report Interval at which AP sends Client Stats + for all the clients connected to 5ghz radio in seconds"; + } + } + + grouping st-icap { + description + "Configuration of ICap subscriptions"; + leaf full-trace-enabled { + type boolean; + default "false"; + description + "Full packet trace subscription enabled"; + } + leaf partial-trace-enabled { + type boolean; + default "false"; + description + "Partial packet trace subscription enabled"; + } + leaf partial-trace-proto-all { + type boolean; + default "false"; + description + "Collect partial packet traces for all protocols"; + } + leaf partial-trace-proto-mgmt-all { + type boolean; + default "false"; + description + "Collect partial packet traces for all management protocols"; + } + leaf partial-trace-proto-mgmt-assoc { + type boolean; + default "false"; + description + "Collect partial packet traces for association management protocols"; + } + leaf partial-trace-proto-mgmt-auth { + type boolean; + default "false"; + description + "Collect partial packet traces for authentication management protocols"; + } + leaf partial-trace-proto-mgmt-probe { + type boolean; + default "false"; + description + "Collect partial packet traces for probing management protocols"; + } + leaf partial-trace-proto-data-all { + type boolean; + default "false"; + description + "Collect partial packet traces for all data protocols"; + } + leaf partial-trace-proto-data-arp { + type boolean; + default "false"; + description + "Collect partial packet traces for the ARP protocol"; + } + leaf partial-trace-proto-data-dhcp { + type boolean; + default "false"; + description + "Collect partial packet traces for the DHCP protocol"; + } + leaf partial-trace-proto-data-dhcpv6 { + type boolean; + default "false"; + description + "Collect partial packet traces for the DHCPv6 protocol"; + } + leaf partial-trace-proto-data-dns { + type boolean; + default "false"; + description + "Collect partial packet traces for the DNS protocol"; + } + leaf partial-trace-proto-data-eap { + type boolean; + default "false"; + description + "Collect partial packet traces for the EAP protocol"; + } + leaf partial-trace-proto-data-icmp { + type boolean; + default "false"; + description + "Collect partial packet traces for the ICMP protocol"; + } + leaf partial-trace-proto-data-icmpv6 { + type boolean; + default "false"; + description + "Collect partial packet traces for the ICMPv6 protocol"; + } + leaf partial-trace-proto-cisco-all { + type boolean; + default "false"; + description + "Collect partial packet traces for all Cisco proprietary protocol"; + } + leaf partial-trace-proto-cisco-ndp { + type boolean; + default "false"; + description + "Collect partial packet traces for the NDP protocol"; + } + leaf anomaly-det-enabled { + type boolean; + default "false"; + description + "Anomaly detection subscription enabled"; + } + leaf anomaly-det-trigger-trace-ap { + type boolean; + default "false"; + description + "Trigger AP packet trace on anomaly detection"; + } + leaf anomaly-det-dhcp-timeout { + type uint8 { + range "1 .. 120"; + } + default "5"; + description + "DHCP timeout for anomaly detection"; + } + leaf client-stats-enabled { + type boolean; + default "false"; + description + "Client statistics subscription enabled"; + } + leaf client-stats-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for client statistics collection, in seconds"; + } + leaf ap-stats-system-enabled { + type boolean; + default "false"; + description + "AP system statistics subscription enabled"; + } + leaf ap-stats-system-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP system statistics collection, in seconds"; + } + leaf ap-stats-memory-enabled { + type boolean; + default "false"; + description + "AP memory statistics subscription enabled"; + } + leaf ap-stats-memory-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP memory statistics collection, in seconds"; + } + leaf ap-stats-interface-enabled { + type boolean; + default "false"; + description + "AP interface statistics subscription enabled"; + } + leaf ap-stats-interface-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP interface statistics collection, in seconds"; + } + leaf ap-stats-routing-enabled { + type boolean; + default "false"; + description + "AP routing statistics subscription enabled"; + } + leaf ap-stats-routing-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP routing statistics collection, in seconds"; + } + leaf ap-stats-radio-enabled { + type boolean; + default "false"; + description + "AP radio statistics subscription enabled"; + } + leaf ap-stats-radio-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP radio statistics collection, in seconds"; + } + leaf ap-stats-wlan-enabled { + type boolean; + default "false"; + description + "AP WLAN statistics subscription enabled"; + } + leaf ap-stats-wlan-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP WLAN statistics collection, in seconds"; + } + leaf ap-stats-dns-enabled { + type boolean; + default "false"; + description + "AP DNS statistics subscription enabled"; + } + leaf ap-stats-dns-freq { + type uint16 { + range "30 .. 3600"; + } + default "30"; + description + "Frequency for AP DNS statistics collection, in seconds"; + } + leaf rf-spectrum-enabled { + type boolean; + default "false"; + description + "Radiofrequency spectrum subscription enabled"; + } + leaf rf-spectrum-slot0-enabled { + type boolean; + default "false"; + description + "Radio slot 0 used for radiofrequency spectrum measurements"; + } + leaf rf-spectrum-slot1-enabled { + type boolean; + default "false"; + description + "Radio slot 1 used for radiofrequency spectrum measurements"; + } + leaf rf-spectrum-slot2-enabled { + type boolean; + default "false"; + description + "Radio slot 2 used for radiofrequency spectrum measurements"; + } + leaf adr-individual-enable { + type boolean; + default "true"; + description + "Anomaly detection report individual enabled"; + } + leaf adr-individual-throttle { + type uint32 { + range "0 .. 500"; + } + default "5"; + description + "Number of events per 5 minutes for anomaly detection individual reports"; + } + leaf adr-summary-enable { + type boolean; + default "false"; + description + "Anomaly detection report summary enabled"; + } + leaf adr-summary-frequency { + type uint32 { + range "3 .. 60"; + } + units "minutes"; + default "5"; + description + "Frequency for anomaly detection summary reports"; + } + leaf client-filter-stats-freq { + type uint32 { + range "5 .. 3600"; + } + units "seconds"; + default "5"; + description + "Frequency for filtered client statistics collection"; + } + leaf client-filter-stats-enabled { + type boolean; + default "false"; + description + "Client statistics subscription enabled for filtered clients"; + } + leaf aggr-trace { + type boolean; + default "false"; + description + "Aggregate full packet trace enabled"; + } + leaf rf-spectrum-slot3-enabled { + type boolean; + default "false"; + description + "Radio slot 3 used for radiofrequency spectrum measurements"; + } + leaf adr-individual-pt-throttle { + type uint32 { + range "0 .. 100"; + } + default "5"; + description + "Number of events per type per 5 minutes for anomaly detection individual reports"; + } + leaf adr-individual-pc-throttle { + type uint32 { + range "0 .. 50"; + } + default "5"; + description + "Number of events per client per 5 minutes for anomaly detection individual reports"; + } + leaf adr-individual-aggr-enable { + type boolean; + default "false"; + description + "Anomaly detection report individual aggregation enabled"; + } + } + + grouping st-client-rssi-cfg { + description + "Client RSSI statistics related configuration"; + leaf client-rssi-stats { + type boolean; + default "true"; + description + "Represents Client RSSI statistics reporting status + Possible values are: + True - Client RSSI statistics reporting from AP is enabled + False - Client RSSI statistics reporting from AP is disabled"; + } + leaf client-rssi-stats-interval { + type uint16 { + range "30 .. 300"; + } + units "seconds"; + default "30"; + description + "Reporting interval for the Client RSSI statistics from AP to WLC"; + } + } + + grouping st-usb-module-cfg { + description + "AP USB status Structure"; + leaf enable { + type boolean; + default "false"; + description + "Boolean to represent if USB is enabled/disabled"; + } + } + + grouping st-stats-timer { + description + "APs stats timer information"; + leaf stats-timer { + type uint16 { + range "0 .. 65535"; + } + default "180"; + description + "APs stats timer"; + } + } + + grouping st-led-state { + description + "LED state for the AP"; + leaf led-state { + type boolean; + default "true"; + description + "True if LED state is enabled otherwise disabled."; + } + } + + grouping st-led-flash { + description + "LED flash state for the AP"; + leaf flash-sec { + type uint16 { + range "0 .. 3600"; + } + units "seconds"; + default "0"; + description + "LED flash timer duration for AP."; + } + leaf led-flash-mode { + type wireless-ap-types:enm-ap-led-flash-mode; + default "led-flash-mode-indefinite"; + description + "LED flash mode configuration: Indefinite, disable or for a particular duration"; + } + } + + grouping st-link-latency { + description + "Link auditing options for AP"; + leaf link-latency-flag { + type wireless-ap-types:enm-link-latency-type; + default "link-auditing-disable"; + description + "Specifies the different link auditing options"; + } + } + + grouping st-accounting { + description + "Accounting info"; + leaf method-list { + type string; + description + "Method list name"; + } + } + + grouping st-oeap { + description + "Configuration on AP in Office Extended mode"; + leaf oeap-data-encr { + type boolean; + default "true"; + description + "Enable/Disable Data Encryption on Office Extended AP"; + } + leaf oeap-rogue-detect { + type boolean; + default "false"; + description + "Enable/Disable Rogue Detection on Office Extended AP"; + } + leaf is-local-net { + type boolean; + default "true"; + description + "Enable/Disable Local Access on Office Extended AP"; + } + leaf prov-ssid { + type boolean; + default "true"; + description + "Enable/Disable Provisional SSID on Office Extended AP"; + } + } + + grouping st-jumbo-mtu { + description + "Jumbo mtu configuration for the AP"; + leaf jumbo-mtu { + type boolean; + description + "True if jumbo mtu is enabled for the AP"; + } + } + + grouping st-cdp { + description + "CDP configuration for AP"; + leaf cdp-enable { + type boolean; + default "true"; + description + "True if CDP enabled for the AP"; + } + } + + grouping st-capwap-window { + description + "CAPWAP queue configuration for multiwindow support"; + leaf window-size { + type uint8 { + range "1 .. 50"; + } + default "1"; + description + "CAPWAP window size for request packets in multiwindow queue"; + } + } + + grouping st-dhcp-fallback { + description + "AP DHCP fallback configurations"; + leaf dhcp-fallback { + type boolean; + default "true"; + description + "Represents AP fallback to DHCP, if AP fails to join via static IP address"; + } + } + + grouping st-traffic-distribution-stats { + description + "Client traffic distribution stats configurations"; + leaf status { + type boolean; + default "true"; + description + "Enable/Disable client traffic distribution stats"; + } + leaf interval { + type uint16 { + range "30 .. 3600"; + } + units "seconds"; + default "300"; + description + "Interval at which AP will send the statistics"; + } + } + + grouping ap-stats-mon-cfg { + description + "Ap statistics configuration"; + leaf enable { + type boolean; + default "false"; + description + "AP stats collection and processing enabled"; + } + leaf sample-intvl { + when 'boolean(../enable)'; + type uint16 { + range "2 .. 900"; + } + units "seconds"; + default "30"; + description + "Sampling interval"; + } + leaf stats-intvl { + when 'boolean(../enable)'; + type uint16 { + range "120 .. 900"; + } + units "seconds"; + default "300"; + description + "Statistics interval"; + } + leaf alarm-hold-time { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16 { + range "0 .. 3600"; + } + units "seconds"; + default "6"; + description + "Alarm hold time"; + } + leaf trap-retx-time { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16 { + range "0 .. 65535"; + } + units "seconds"; + default "0"; + description + "Alarm trap retransmission time"; + } + leaf alarms-enable { + when 'boolean(../enable)'; + type empty; + description + "AP stats alarms enabled"; + } + leaf cpu-threshold { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "0"; + description + "CPU threshold"; + } + leaf mem-threshold { + when 'boolean(../enable) and boolean(../alarms-enable)'; + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "0"; + description + "Memory threshold"; + } + leaf action-ap-reload { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "AP reload action is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable AP reload on high CPU or high memory usage"; + } + } + + grouping ap-radio-mon-cfg { + description + "AP radio statistics monitoring"; + leaf enable { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "AP radio statistics monitoring is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "AP radio stats collection and processing enabled"; + } + leaf sample-intvl { + when 'boolean(../enable)'; + type uint16 { + range "720 .. 3600"; + } + units "seconds"; + default "720"; + description + "Sampling interval of radio statistics"; + } + leaf alarms-enable { + when 'boolean(../enable)'; + type empty; + description + "AP radio statistics alarms enabled"; + } + leaf radio-reset { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "Radio reset is not supported when radio is stuck on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable AP radio reset on radio stuck"; + } + } + + grouping st-antenna-mon-cfg { + description + "Antenna monitoring configurations per AP profile"; + leaf enabled { + type boolean; + default "false"; + description + "Status of antenna monitoring configuration. + Possible values are: + True - Antenna monitoring is enabled. + False - Antenna monitoring is disabled."; + } + leaf rssi-fail-threshold { + type uint8 { + range "10 .. 90"; + } + units "dB"; + default "40"; + description + "RSSI failure threshold value for antenna monitoring"; + } + leaf weak-rssi { + type int16 { + range "-90 .. -10"; + } + units "dBm"; + default "-60"; + description + "Weak RSSI value for antenna monitoring"; + } + leaf detection-time { + type uint8 { + range "9 .. 180"; + } + units "minutes"; + default "12"; + description + "Detection time for antenna monitoring"; + } + } + + grouping st-ap-dtls-config { + description + "AP DTLS related configuration"; + leaf ctrl-pref { + type boolean; + default "true"; + description + "Give preference to cipher suites defined in controller"; + } + } + + grouping st-ap-timezone-cfg-data { + description + "AP Timezone config"; + leaf tz-enabled { + type boolean; + default "false"; + description + "AP timezone is set in controller"; + } + leaf offset-hour { + type int8 { + range "-12 .. 14"; + } + units "hours"; + default "0"; + description + "Offset hour for timezone"; + } + leaf offset-min { + type int8 { + range "0 .. 59"; + } + units "minutes"; + default "0"; + description + "Offset minute for timezone"; + } + leaf mode { + type wireless-ap-types:timezone-payload-mode; + default "ap-tz-not-configured"; + description + "Payload mode of timezone"; + } + } + + grouping st-ap-prof-country-cfg { + description + "Country code configuration"; + leaf country-code { + type wireless-enum-types:country-code; + must "(../country-code = 'ae' or + ../country-code = 'af' or + ../country-code = 'al' or + ../country-code = 'ao' or + ../country-code = 'ar' or + ../country-code = 'at' or + ../country-code = 'au' or + ../country-code = 'ba' or + ../country-code = 'bb' or + ../country-code = 'bd' or + ../country-code = 'be' or + ../country-code = 'bg' or + ../country-code = 'bh' or + ../country-code = 'bi' or + ../country-code = 'bm' or + ../country-code = 'bn' or + ../country-code = 'bo' or + ../country-code = 'br' or + ../country-code = 'bt' or + ../country-code = 'bw' or + ../country-code = 'by' or + ../country-code = 'ca' or + ../country-code = 'cd' or + ../country-code = 'ch' or + ../country-code = 'ci' or + ../country-code = 'cl' or + ../country-code = 'cm' or + ../country-code = 'cn' or + ../country-code = 'co' or + ../country-code = 'cr' or + ../country-code = 'cu' or + ../country-code = 'cy' or + ../country-code = 'cz' or + ../country-code = 'de' or + ../country-code = 'dk' or + ../country-code = 'do' or + ../country-code = 'dz' or + ../country-code = 'ec' or + ../country-code = 'ee' or + ../country-code = 'eg' or + ../country-code = 'el' or + ../country-code = 'es' or + ../country-code = 'et' or + ../country-code = 'fi' or + ../country-code = 'fj' or + ../country-code = 'fr' or + ../country-code = 'ga' or + ../country-code = 'gb' or + ../country-code = 'ge' or + ../country-code = 'gh' or + ../country-code = 'gi' or + ../country-code = 'gr' or + ../country-code = 'gt' or + ../country-code = 'hk' or + ../country-code = 'hn' or + ../country-code = 'hr' or + ../country-code = 'hu' or + ../country-code = 'id' or + ../country-code = 'ie' or + ../country-code = 'il' or + ../country-code = 'in' or + ../country-code = 'io' or + ../country-code = 'iq' or + ../country-code = 'is' or + ../country-code = 'it' or + ../country-code = 'jm' or + ../country-code = 'jo' or + ../country-code = 'j2' or + ../country-code = 'j4' or + ../country-code = 'ke' or + ../country-code = 'kh' or + ../country-code = 'kn' or + ../country-code = 'kw' or + ../country-code = 'kz' or + ../country-code = 'la' or + ../country-code = 'lb' or + ../country-code = 'li' or + ../country-code = 'lk' or + ../country-code = 'lt' or + ../country-code = 'lu' or + ../country-code = 'lv' or + ../country-code = 'ly' or + ../country-code = 'ma' or + ../country-code = 'mc' or + ../country-code = 'md' or + ../country-code = 'me' or + ../country-code = 'mk' or + ../country-code = 'mm' or + ../country-code = 'mn' or + ../country-code = 'mo' or + ../country-code = 'mt' or + ../country-code = 'mu' or + ../country-code = 'mx' or + ../country-code = 'my' or + ../country-code = 'na' or + ../country-code = 'ng' or + ../country-code = 'ni' or + ../country-code = 'nl' or + ../country-code = 'no' or + ../country-code = 'np' or + ../country-code = 'nz' or + ../country-code = 'om' or + ../country-code = 'pa' or + ../country-code = 'pe' or + ../country-code = 'ph' or + ../country-code = 'pk' or + ../country-code = 'pl' or + ../country-code = 'pr' or + ../country-code = 'pt' or + ../country-code = 'py' or + ../country-code = 'qa' or + ../country-code = 'ro' or + ../country-code = 'rs' or + ../country-code = 'ru' or + ../country-code = 'sa' or + ../country-code = 'sd' or + ../country-code = 'se' or + ../country-code = 'sg' or + ../country-code = 'si' or + ../country-code = 'sk' or + ../country-code = 'sm' or + ../country-code = 'th' or + ../country-code = 'ti' or + ../country-code = 'tn' or + ../country-code = 'tr' or + ../country-code = 'tw' or + ../country-code = 'tz' or + ../country-code = 'ua' or + ../country-code = 'ug' or + ../country-code = 'us' or + ../country-code = 'uy' or + ../country-code = 'uz' or + ../country-code = 'va' or + ../country-code = 've' or + ../country-code = 'vn' or + ../country-code = 'xk' or + ../country-code = 'ye' or + ../country-code = 'za' or + ../country-code = 'zm' or + ../country-code = 'zw' or + ../country-code = 'unconfigured')" { + error-message "Unsupported country"; + error-app-tag "must-violation"; + } + default "unconfigured"; + description + "AP country code"; + } + } + + grouping st-ap-max-clients-cfg { + description + "Maximum client limit per AP"; + leaf max-cfg-clients { + type uint16 { + range "0 .. 1200"; + } + default "0"; + description + "Maximum clients per AP configuration"; + } + } + + grouping st-ap-press-sens-cfg { + description + "AP pressure sensor configuration parameters"; + leaf press-sens-config-state { + type wireless-enum-types:enm-ap-press-sensor-state; + default "press-sensor-auto"; + description + "AP pressure sensor configuration state"; + } + } + + grouping st-ap-cfg-profile-loc { + description + "location related configuration"; + leaf ftm-enabled { + type boolean; + default "true"; + description + "Fine Timing Measurement Enable/Disable"; + } + leaf ftm-init-burst-size { + type uint32 { + range "2 .. 31"; + } + default "16"; + description + "Fine Timing Measurement initiator burst size"; + } + leaf ftm-init-burst-duration { + type wireless-enum-types:enm-loc-ftm-burst-duration; + default "32ms"; + description + "Fine Timing Measurement initiator burst duration"; + } + leaf uwb-enabled { + type boolean; + default "true"; + description + "Ultra Wide Band Enable/Disable"; + } + leaf uwb-init-burst-size { + type uint32 { + range "10 .. 100"; + } + default "32"; + description + "Ultra Wide Band initiator burst size"; + } + leaf uwb-init-burst-duration { + type uint16 { + range "5 .. 30"; + } + default "10"; + description + "Ultra Wide Band initiator burst duration"; + } + } + + grouping st-ap-acc-sensor-cfg { + description + "Accelerometer sensor configuration"; + leaf accel-sens-cfg-state { + type boolean; + default "true"; + description + "Accelerometer sensor Enable/Disable"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-apf-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-apf-cfg.yang new file mode 100644 index 000000000..9d17654da --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-apf-cfg.yang @@ -0,0 +1,783 @@ +module Cisco-IOS-XE-wireless-apf-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-apf-cfg"; + prefix wireless-apf-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-general-cfg { + prefix wireless-general-cfg; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing global dot11 parameters + Copyright (c) 2016-2021, 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "- Marked tri-radio-mode leaf deprecated"; + reference + "10.1.0"; + cisco-semver:module-version "10.1.0"; + } + revision 2023-07-01 { + description + "- Added AP neighborhood calendar profile configuration + - Added AP neighborhood load-balance configuration"; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2023-03-01 { + description + "- Obsolete BLE streaming configuration + - Fixed HTTPS custom port constraint"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1 + - Added HTTPS custom port for file transfer"; + reference + "8.4.0"; + cisco-semver:module-version "8.4.0"; + } + revision 2022-07-01 { + description + "- Added 5/6GHz FRA configuration + - Added 5/6GHz FRA Freeze configuration"; + reference + "8.3.0"; + cisco-semver:module-version "8.3.0"; + } + revision 2022-03-01 { + description + "- Added support for BLE streaming configuration + - Added AP image upgrade HTTPS configuration"; + reference + "8.2.0"; + cisco-semver:module-version "8.2.0"; + } + revision 2021-07-01 { + description + "- Added default wireless password policy configuration + - Added configuration for AP tags persistence + - Added configuration for 6Ghz client steering + - Added configuration for Secure RRM"; + reference + "8.1.0"; + cisco-semver:module-version "8.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for RF network name + - Added method list for MAC and serial number authorization"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2020-11-01 { + description + "- Modified the range for leaf nodes balancing-window and xor-roam-min-client-count + - Added priming controller configuration + - Added configuration for FRA Freeze"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2020-07-01 { + description + "- Added configuration for AP audit reporting + - Added configuration for calling id used in AP authorization + - Added configuration for client roaming across different policy profiles"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2020-03-01 { + description + "- Added tri-radio-mode + - Support to enable detailed client syslogs"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-06-02 { + description + "- Updated constraint for xor-roam-probe-suppress-op-mode configuration. + - Add locally-administered-mac. + - Added semantic version + - Update the default values as per WLC configuration best practice"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-03-18 { + description + "- Add led-brightness-level + - Cleaned up spelling errors in descriptions. + - Default configuration for FRA is changed from Disable to Enable. + - Cleaned up unused variables, renamed few appropriately. + - Updated name for leaf nodes from SIP prefered call data + - Restrict values for fra-service-priority"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-08-13 { + description + "- Add FRA sensor support + - name changed for blacklist flags + - Default value of country code changed + - SIP prefered call configuration added"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-05-25 { + description + "AP auth support with serial number and Client Onboarding Event"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-ap-upgrade-method-https { + description + "AP image upgrade method configuration"; + leaf enable-https { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "AP efficient image upgrade HTTPS method is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable/Disable HTTPS"; + } + } + + grouping st-ewlc-ap-neighborhood-cfg { + description + "AP neighborhood based load-balancing configuration"; + leaf calendar-profile { + type string; + description + "Calendar profile configuration to trigger AP neighborhood based load-balancing"; + } + leaf ap-loadbalance-method-rf { + type boolean; + description + "Enable/Disable RF based AP load-balancing"; + } + } + + grouping st-apf { + description + "container for apf attributes"; + leaf dot11-country-code { + type string; + default "00"; + description + "This field configures the country of operation"; + } + leaf system-mgmt-via-wireless { + type boolean; + default "false"; + description + "This field enables management access from wireless clients"; + } + leaf enable-client-onboarding-event { + type boolean; + default "false"; + description + "Enable Client Onboarding Event"; + } + leaf network-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + default "default"; + description + "This field sets RF-Network name"; + } + leaf blacklist-dot1x-timeout { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) if repeated 802.1x Authentication Timeout occurs with a client."; + } + leaf blacklist-dot1x-auth { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) if repeated 802.1x Authentication Failures occurs with a client."; + } + leaf blacklist-dot11-assoc { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) if repeated 802.11 Association Failures occurs with a client."; + } + leaf blacklist-ip-theft { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) if it appears to be reusing an IP Address.(Possible IP Theft)"; + } + leaf blacklist-web-auth { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) if repeated Web Authentication Failures occurs with a client."; + } + leaf blacklist-failed-qos-policy { + type boolean; + default "true"; + description + "This flag specifies if client should be excluded (blacklisted) due to failed qos policy"; + } + leaf probe-limit { + type uint16 { + range "1 .. 100"; + } + default "2"; + description + "This value indicates probe request limit"; + } + leaf probe-interval { + type uint16 { + range "100 .. 64000"; + } + default "500"; + description + "This value indicates probe request interval"; + } + leaf max-user-logins { + type uint32 { + range "0 .. 8"; + } + default "0"; + description + "This attribute specifies the maximum number of concurrent logins that the switch will allow for a single user. A value 0 implies that there is no restriction on the number of concurrent logins with a single username."; + } + leaf web-auth-max-retries { + type uint8 { + range "0 .. 20"; + } + default "3"; + description + "Value specifies Maximum number of WebAuth request retries"; + } + leaf dot1x-eapol-key-max-retries { + type uint8 { + range "0 .. 4"; + } + default "2"; + description + "Value specifies Maximum number of EAPOL key retries"; + } + leaf dot1x-eapol-key-timeout { + type uint32 { + range "200 .. 5000"; + } + default "1000"; + description + "value specify EAPOL key retransmission timeout in milliseconds"; + } + leaf dot1x-eap-id-request-retries { + type uint8 { + range "1 .. 20"; + } + default "2"; + description + "Value specify maximum number of EAP ID request retransmissions"; + } + leaf dot1x-eap-id-request-timeout { + type uint8 { + range "1 .. 120"; + } + default "30"; + description + "Value specify EAP ID request-timeout value in seconds"; + } + leaf dot1x-eap-request-max-retries { + type uint8 { + range "0 .. 20"; + } + default "2"; + description + "Maximum number of EAP request retransmissions"; + } + leaf dot1x-eap-request-timeout { + type uint8 { + range "1 .. 120"; + } + default "30"; + description + "EAP request retransmission timeout value in seconds"; + } + leaf dot1x-eap-broadcast-interval { + type uint32 { + range "120 .. 86400"; + } + default "3600"; + description + "EAP-broadcast key renew interval time in seconds"; + } + leaf probe-filter { + type boolean; + default "true"; + description + "Configure filtering of probe requests from AP"; + } + leaf assisted-roam-floor-bias { + type uint16 { + range "5 .. 25"; + } + default "15"; + description + "Configures RSSI bias default for same floor APs"; + } + leaf assisted-roam-max-denial { + type uint16 { + range "1 .. 10"; + } + default "5"; + description + "Configures maximum number of times for association denial"; + } + leaf assisted-roam-min-prediction { + type uint16 { + range "2 .. 6"; + } + default "3"; + description + "Configures minimum number of optimized APs for assisted-roaming prediction to work"; + } + container sip-pref-call-data-entry { + description + "SIP preferred call database"; + list sip-pref-call-data { + key "call-index"; + description + "SIP preferred call data"; + uses wireless-apf-cfg:sip-preferred-call-data; + } + } + leaf spam-authorize-aps-mac { + type boolean; + default "false"; + description + "Configures an AP authorization policy with mac"; + } + leaf spam-authorize-aps-serial-num { + type boolean; + default "false"; + description + "Configures an AP authorization policy with serial number"; + } + leaf spam-authorize-aps-method-list { + type string { + length "0..32"; + } + default "default"; + description + "Configures an AP authorization policy with specified method list"; + } + leaf dot1x-login-count-check { + type boolean; + description + "Configure to ignore the same username count reaching max in the EAP identity response"; + } + leaf dedicated-to-xor-rssi-threshold { + type int8 { + range "-128 .. 0"; + } + default "-55"; + description + "Configures macro to micro transition RSSI"; + } + leaf xor-to-dedicated-rssi-threshold { + type int8 { + range "-128 .. 0"; + } + default "-65"; + description + "Configures micro-macro client load balancing window"; + } + leaf xor-roam-min-client-count { + type uint16 { + range "0 .. 200"; + } + default "3"; + description + "Configures macro-micro minimum client count for transition"; + } + leaf balancing-window { + type uint16 { + range "0 .. 200"; + } + default "3"; + description + "Configures micro-macro client load balancing window"; + } + leaf xor-probe-suppress-hysteresis { + type int8 { + range "-6 .. -3"; + } + default "-6"; + description + "Configures probe cycles to be suppressed[ RSSI in dBm]"; + } + leaf xor-roam-probe-suppress-op-mode { + type wireless-enum-types:enm-apf-xor-roam-probe-suppression; + must "(../xor-roam-probe-suppress-op-mode = 'apf-xor-suppress-opmode-disabled' or + ../xor-roam-probe-suppress-op-mode = 'apf-xor-suppress-opmode-probe-suppress' or + ../xor-roam-probe-suppress-op-mode = 'apf-xor-suppress-opmode-authprobe-suppress')" { + error-message + "micro-Macro probe suppression mode must be one of the following: + 1. apf-xor-suppress-opmode-disabled + 2. apf-xor-suppress-opmode-probe-suppress + 3. apf-xor-suppress-opmode-authprobe-suppress"; + error-app-tag "must-violation"; + } + default "apf-xor-suppress-opmode-disabled"; + description + "Configures micro-Macro probe suppression arguments"; + } + leaf xor-probe-suppress-aggression { + type uint8 { + range "0 .. 255"; + } + default "3"; + description + "Configures probe cycles to be suppressed [Number of cycles]"; + } + leaf fra-state { + type boolean; + default "false"; + description + "Enable/Disable Fra on all Cisco APs"; + } + leaf fra-interval { + type uint32 { + range "1 .. 24"; + } + default "1"; + description + "Configure Fra Interval in hours"; + } + leaf fra-sensitivity { + type wireless-types:enm-fra-sensitivity; + default "fra-sensitivity-medium"; + description + "Configure FRA Coverage Overlap Sensitivity"; + } + leaf fra-service-priority { + type wireless-types:enm-fra-service-priority; + must "((current() = 'fra-service-priority-coverage') or + (current() = 'fra-service-priority-service-assurance'))" { + error-message "FRA service priority should be either coverage or service assurance"; + error-app-tag "must-violation"; + } + default "fra-service-priority-coverage"; + description + "Configure FRA Service Priority"; + } + leaf fra-sensor-threshold { + type wireless-types:enm-fra-sensor-coverage-profile; + default "fra-sensor-coverage-client-priority"; + description + "Configure FRA Sensor Threshold"; + } + leaf led-brightness-level { + type uint8 { + range "1 .. 8"; + } + default "1"; + description + "Configure AP LED brightness level. + On modifying the global configuration, + All AP's supporting LED brightness will be configured with + global configured value. + Represents following values. + 1 - 8 LED brightness level."; + } + leaf locally-administered-mac { + type boolean; + default "false"; + description + "Enable the reporting of the probes + from clients using locally administered + MAC address"; + } + leaf tri-radio-mode { + type boolean; + default "false"; + status deprecated; + description + "Tri radio mode configuration: + False - tri-radio mode is disabled + True - tri-radio mode is enabled + Tri radio mode is deprecated. Refer to release notes and Documentation for more details"; + } + leaf enable-client-syslog-detailed { + type boolean; + default "false"; + description + "Enable Client Detailed syslogs"; + } + leaf spam-authorize-aps-calling-id { + type boolean; + description + "Configures an AP authorization policy using the calling id"; + } + leaf ap-audit-report { + type boolean; + default "false"; + description + "AP audit report configuration: + False - AP audit reporting disabled + True - AP audit reporting enabled"; + } + leaf ap-audit-report-interval { + type uint16; + units "minutes"; + must "((current() >= 10) and + (current() <= 43200))" { + error-message "AP Audit report interval range should be within 10-43200"; + error-app-tag "must-violation"; + } + default "1440"; + description + "AP audit reporting interval"; + } + leaf vlan-persistent { + type boolean; + default "false"; + description + "Enable client roaming across different policy profiles"; + } + leaf is-priming-ctrlr { + type boolean; + description + "Enable/disable this controller as priming controller"; + } + leaf fra-freeze { + type boolean; + default "false"; + description + "Enable/Disable FRA Freeze on all Cisco APs"; + } + leaf mac-mlist { + type string { + length "0..32"; + } + default ""; + description + "Method list for AP MAC authorization"; + } + leaf serial-no-mlist { + type string { + length "0..32"; + } + default ""; + description + "Method list for AP serial number authorization"; + } + leaf pwd-pol-def { + type boolean; + default "false"; + description + "Enable/disable default wireless password policy"; + } + leaf client-steering-cnt { + type uint8 { + range "0 .. 200"; + } + default "3"; + description + "Minimum number of clients for 6Ghz client steering"; + } + leaf client-steering-win-size { + type uint8 { + range "0 .. 200"; + } + default "3"; + description + "Minimum 2.4/5Ghz to 6Ghz client count difference to steer client"; + } + leaf client-steering-util-thres { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + default "20"; + description + "Maximum 2.4/5Ghz to 6Ghz channel utilization difference to steer client"; + } + leaf client-steering-rssi-24 { + type int8 { + range "-70 .. -20"; + } + units "dBm"; + default "-60"; + description + "Minimum 2.4Ghz received RSSI threshold to steer client"; + } + leaf client-steering-rssi-5 { + type int8 { + range "-75 .. -20"; + } + units "dBm"; + default "-65"; + description + "Minimum 5Ghz received RSSI threshold to steer client"; + } + leaf tag-persist-enabled { + type boolean; + default "false"; + description + "Enable persistent AP tags"; + } + leaf secure-rrm { + type boolean; + default "false"; + description + "Enable/Disable Secure RRM"; + } + container upgrade-method-https { + description + "HTTPS configuration for AP image upgrade"; + uses wireless-apf-cfg:st-ap-upgrade-method-https; + } + leaf ble-streaming { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "BLE streaming feature is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + status obsolete; + description + "Enable/Disable BLE streaming configuration"; + } + leaf fra-56ghz-state { + type boolean; + default "false"; + description + "Enable/Disable FRA on all Cisco APs for XOR 5/6GHz"; + } + leaf fra-56ghz-interval { + type uint32 { + range "1 .. 24"; + } + units "hour"; + default "1"; + description + "Configure 5/6GHz FRA interval"; + } + leaf fra-56ghz-freeze { + type boolean; + default "false"; + description + "Enable/Disable 5/6GHz FRA Freeze on all APs"; + } + leaf https-custom-port { + type uint16; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false')" { + error-message "https custom port is not supported on EWC platform"; + error-app-tag "must-violation"; + } + must "((current() != '443'))" { + error-message "Custom port config can't use default values"; + error-app-tag "must-violation"; + } + default "8443"; + description + "Custom port configuration for https file transfer"; + } + container ap-neighborhood { + description + "AP neighborhood based load-balancing algorithm configuration"; + uses wireless-apf-cfg:st-ewlc-ap-neighborhood-cfg; + } + } + + grouping sip-preferred-call-data { + description + "SIP Preferred call database"; + leaf call-index { + type uint8 { + range "1 .. 6"; + } + description + "Index in database for preferred call number"; + } + leaf sip-preferred-call-id { + type string { + length "0..28"; + } + default ""; + description + "SIP preferred call number"; + } + } + + container apf-cfg-data { + description + "AP functionality configuration data"; + container apf { + presence "apf"; + description + "AP functionality configuration"; + uses wireless-apf-cfg:st-apf { + refine "ap-neighborhood/calendar-profile" { + default ""; + } + refine "ap-neighborhood/ap-loadbalance-method-rf" { + default "false"; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-awips-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-awips-oper.yang new file mode 100644 index 000000000..a33a18918 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-awips-oper.yang @@ -0,0 +1,597 @@ +module Cisco-IOS-XE-wireless-awips-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-awips-oper"; + prefix wireless-oper-awips; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AWIPS (Adaptive Wireless Intrusion Prevention + Service) operational data. + Copyright (c) 2019-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added AWIPS stats and file download status"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2020-11-01 { + description + "- Added Forensic and file download status + - AWIPS WLC Alarm table. + - Added new file download error codes"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ap-awips-context-id { + type enumeration { + enum ap-awips-reserved { + value 0; + description + "Reserved context ID"; + } + enum ap-awips-src-dst { + value 1; + description + "Src/Dst MAC context"; + } + enum ap-awips-dot11-hdr { + value 2; + description + "802.11 hdr context"; + } + enum ap-awips-radio-slot { + value 3; + description + "Radio slot context"; + } + } + description + "Enum for AWIPS Device context. + This would indicate the type + of device context in the alarm. The + device context can be empty, or have + src/dst MAC information or have 802.11 + header information"; + } + + typedef ap-awips-status { + type enumeration { + enum ap-awips-config-not-enabled { + value 0; + description + "Feature config is not enabled"; + } + enum ap-awips-not-capable { + value 1; + description + "AP does not have feature capability"; + } + enum ap-awips-enabled { + value 2; + description + "Feature enabled on AP"; + } + enum ap-awips-failed { + value 3; + description + "Feature enable failed on AP"; + } + } + description + "Enum for AWIPS Status"; + } + + typedef awips-wlc-alarm-type { + type enumeration { + enum awips-wlc-alarm-krack { + value 0; + description + "Key-reinstallation attack"; + } + } + description + "AWIPS WLC Alarm Types"; + } + + typedef awips-file-dwld-status { + type enumeration { + enum awips-not-initiated { + value 0; + description + "File download not initiated"; + } + enum awips-file-success { + value 1; + description + "File download successful"; + } + enum awips-file-failure { + value 2; + description + "File download failed"; + } + enum awips-dwnld-in-progress { + value 3; + description + "File download in progress"; + } + enum awips-jwt-token-invalid { + value 4; + description + "JWT token is invalid"; + } + enum awips-jwt-token-failed { + value 5; + description + "JWT token enrollment failed"; + } + enum awips-jwt-token-success { + value 6; + description + "JWT token enrollment successful "; + } + enum awips-jwt-token-error { + value 7; + description + "JWT token internal error"; + } + enum awips-cert-error { + value 8; + description + "certificate related error"; + } + enum awips-file-error { + value 9; + description + "File download error"; + } + enum awips-file-error-hash { + value 10; + description + "File download failed for invalid SHA hash"; + } + enum awips-file-error-connection { + value 11; + description + "File download failed for HTTP connection issue"; + } + enum awips-file-error-cert-chain { + value 12; + description + "File download failed for cert chain validation"; + } + enum awips-file-error-not-found { + value 13; + description + "File not found during HTTP download"; + } + enum awips-version-mismatch { + value 14; + description + "Incompatible DNAC version"; + } + enum awips-forbidden-error { + value 15; + description + "Requested resource is forbidden"; + } + } + description + "Enum for AWIPS File download status."; + } + + grouping st-device-context { + description + "Device context. This context + is optional and can contain either SRC/DST + MAC address or 802.11 header"; + leaf context-id { + type wireless-oper-awips:ap-awips-context-id; + description + "Context Identifier"; + } + leaf context-string { + type binary; + description + "Device context information"; + } + } + + grouping st-awips-per-ap-alarm { + description + "AWIPS alarm operation data"; + leaf version { + type uint32; + description + "Signature version information"; + } + leaf signature-id { + type uint32; + description + "Signature Identifier"; + } + leaf alarm-string { + type string; + description + "Alarm description"; + } + container dev-context { + description + "Device context"; + uses wireless-oper-awips:st-device-context; + } + } + + grouping awips-alarm-key { + description + "Key for AWIPS alarm data"; + leaf alarm-timestamp { + type yang:date-and-time; + description + "Alarm timestamp"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP MAC Address"; + } + leaf alarm-id { + type uint32; + description + "Alarm Identifier"; + } + leaf client-mac-addr { + type yang:mac-address; + description + "Client MAC address"; + } + leaf msg-indx { + type uint32; + description + "Alarm message index"; + } + } + + grouping st-awips-per-ap-info { + description + "AWIPS Status and per AP alarm stats counter"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf awips-status { + type wireless-oper-awips:ap-awips-status; + description + "AWIPS status"; + } + leaf alarm-count { + type uint64; + description + "Alarm counter"; + } + leaf forensic-capture-status { + type wireless-oper-awips:ap-awips-status; + description + "AWIPS Forensic capture status"; + } + } + + grouping st-awips-glob-stats { + description + "AWIPS global statistics"; + leaf timeout-in-seconds { + type uint32; + description + "Stats timeout interval in seconds"; + } + leaf curr-hour-timestamp { + type yang:date-and-time; + description + "Timestamp of current hour"; + } + leaf last-clear-timestamp { + type yang:date-and-time; + description + "Timestamp of last clear"; + } + leaf curr-hour-alarm-count { + type uint32; + description + "Number of alarms in current hour"; + } + leaf-list every-hourly-count { + type uint32; + max-elements 24; + ordered-by user; + description + "Number of alarms in every hour"; + } + leaf older-than-day-count { + type uint64; + description + "Number of alarms older than 24 hours"; + } + leaf syslog-to { + type uint32; + units "seconds"; + description + "Syslog timeout interval"; + } + } + + grouping st-awips-per-signature-stats { + description + "AWIPS statistics per signature"; + leaf signature-id { + type uint32; + description + "Signature ID"; + } + leaf signature-string { + type string; + description + "Signature description"; + } + leaf alarm-counter { + type uint64; + description + "Number of alarms"; + } + } + + grouping st-awips-wlc-alarm-krack { + description + "WPA2 Key Reinstallation Attack Alarm details"; + leaf bssid { + type yang:mac-address; + description + "Attacked BSSID"; + } + leaf client-mac { + type yang:mac-address; + description + "Attacked client MAC"; + } + } + + grouping st-awips-wlc-alarm { + description + "AWIPS WLC alarm operation data"; + leaf alarm-timestamp { + type yang:date-and-time; + description + "Alarm time stamp"; + } + choice alarm-type-choice { + description + "Alarm Type"; + case awips-wlc-alarm-krack { + container alarm-krack { + description + "WPA2 Key Reinstallation Attack Alarm"; + uses wireless-oper-awips:st-awips-wlc-alarm-krack; + } + } + } + } + + grouping awips-wlc-alarm-key { + description + "Key for AWIPS WLC alarm data"; + leaf monotonic-timestamp { + type yang:timeticks; + description + "Alarm timestamp"; + } + leaf wlc-alarm-index { + type uint32; + description + "WLC Alarm index"; + } + } + + grouping st-awips-ap-dwld-status { + description + "AWIPS per AP file download status"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf dwld-status { + type wireless-oper-awips:awips-file-dwld-status; + description + "File download status"; + } + leaf file-version { + type uint32; + description + "File version at AP"; + } + leaf file-hash { + type binary; + description + "File content hash value"; + } + } + + grouping st-awips-dwld-status { + description + "AWIPS file download status"; + leaf last-success-timestamp { + type yang:date-and-time; + description + "Last File download success timestamp"; + } + leaf last-failed-timestamp { + type yang:date-and-time; + description + "Last File download failure timestamp"; + } + leaf num-of-failure-attempts { + type uint32; + description + "Number of times File download failed"; + } + leaf last-failure-reason { + type uint32; + description + "Last failure reason"; + } + leaf wlc-version { + type string; + description + "WLC version information"; + } + leaf max-file-ver { + type uint32; + description + "Maximum supported file version information"; + } + leaf latest-file-version { + type uint32; + description + "File version information"; + } + leaf download-status { + type wireless-oper-awips:awips-file-dwld-status; + description + "File download status"; + } + leaf file-hash { + type binary; + description + "File content hash value"; + } + } + + grouping st-awips-dwld-status-wncd { + description + "AWIPS internal bookkeeping of file download status"; + leaf wlc-version { + type string; + description + "File version at WLC"; + } + leaf latest-file-version { + type uint32; + description + "File version of the latest download"; + } + leaf download-status { + type boolean; + description + "File download status"; + } + leaf file-directory { + type string; + description + "File directory"; + } + leaf file-name { + type string; + description + "File name"; + } + leaf file-hash { + type binary; + description + "File hash value"; + } + } + + container awips-oper-data { + config false; + description + "AWIPS operational data"; + list awips-alarm { + key "alarm-timestamp ap-mac alarm-id client-mac-addr msg-indx"; + description + "List of AWIPS alarms"; + uses wireless-oper-awips:st-awips-per-ap-alarm; + uses wireless-oper-awips:awips-alarm-key; + } + list awips-wlc-alarm { + key "monotonic-timestamp wlc-alarm-index"; + description + "List of AWIPS WLC alarms"; + uses wireless-oper-awips:st-awips-wlc-alarm; + uses wireless-oper-awips:awips-wlc-alarm-key; + } + list awips-per-ap-info { + key "ap-mac"; + description + "Per AP AWIPS information"; + uses wireless-oper-awips:st-awips-per-ap-info; + } + list awips-per-sign-stats { + key "signature-id"; + description + "AWIPS statistics per signature"; + uses wireless-oper-awips:st-awips-per-signature-stats; + } + container awips-glob-stats { + presence "awips-glob-stats"; + description + "AWIPS global statistics"; + uses wireless-oper-awips:st-awips-glob-stats; + } + container awips-dwld-status { + presence "awips-dwld-status"; + description + "AWIPS File download status"; + uses wireless-oper-awips:st-awips-dwld-status; + } + list awips-ap-dwld-status { + key "ap-mac"; + description + "Per AP AWIPS File download status"; + uses wireless-oper-awips:st-awips-ap-dwld-status; + } + container awips-dwld-status-wncd { + presence "awips-dwld-status-wncd"; + description + "AWIPS internal bookkeeping of file download status"; + uses wireless-oper-awips:st-awips-dwld-status-wncd; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-ltx-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-ltx-oper.yang new file mode 100644 index 000000000..9a26705e1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-ltx-oper.yang @@ -0,0 +1,948 @@ +module Cisco-IOS-XE-wireless-ble-ltx-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ble-ltx-oper"; + prefix wireless-ble-ltx-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless Bluetooth Low Energy (BLE) LTX operational data. + Copyright (c) 2019-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Obsolete BLE streaming state, BLE streaming operational data"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-07-01 { + description + "- Added BLE hybrid mode capability"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-03-01 { + description + "- Added BLE telemetry streaming state + - Added BLE telemetry streaming operational data + - Added BLE telemetry streaming record counter"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Modified the description for iBeacon and viBeacon transmit power + - Added IOT capability for 802.15 radio capabilities"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ble-ltx-report { + description + "Status of the AP BLE report"; + leaf last-report-time { + when "../valid = 'true'"; + type yang:date-and-time; + description + "Timestamp of the last AP report received"; + } + leaf valid { + type boolean; + description + "Indicates whether data is valid"; + } + } + + grouping ble-ltx-scan-counters { + description + "AP BLE scan counters"; + leaf total { + when "../report/valid = 'true'"; + type uint32; + description + "Total scan records"; + } + leaf dna-ltx { + when "../report/valid = 'true'"; + type uint32; + description + "Total DNA LTX records"; + } + leaf system-tlm { + when "../report/valid = 'true'"; + type uint32; + description + "Total system telemetry records"; + } + leaf event-tlm { + when "../report/valid = 'true'"; + type uint32; + description + "Total event telemetry records"; + } + leaf regular-tlm { + when "../report/valid = 'true'"; + type uint32; + description + "Total regular telemetry records"; + } + leaf emergency { + when "../report/valid = 'true'"; + type uint32; + description + "Total emergency records"; + } + leaf event-emergency { + when "../report/valid = 'true'"; + type uint32; + description + "Total event emergency records"; + } + leaf other { + when "../report/valid = 'true'"; + type uint32; + description + "Other records received by AP"; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-scan-config-feedback { + description + "AP BLE scan configuration command feedback"; + leaf interval-sec-status { + type uint8; + description + "Reported status of AP BLE scan cycle time"; + } + leaf state-status { + type uint8; + description + "Reported status of AP BLE scan enable flag"; + } + leaf max-value-status { + type uint8; + description + "Reported status of AP BLE max number of scans"; + } + leaf window-msec-status { + type uint8; + description + "Reported status of AP BLE scan time during each cycle"; + } + leaf filter-status { + type uint8; + description + "Reported status of AP BLE flag to enable or disable MAC based scan filtering"; + } + } + + grouping ble-ltx-scan-config { + description + "AP BLE scan configuration"; + leaf interval-sec { + when "../report/valid = 'true'"; + type uint32; + units "seconds"; + description + "AP BLE scan cycle time in seconds"; + } + leaf state { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-scan-state; + description + "AP BLE scan enable flag"; + } + leaf max-value { + when "../report/valid = 'true'"; + type uint8; + description + "AP BLE max number of scan performed in the scan cycle"; + } + leaf window-msec { + when "../report/valid = 'true'"; + type uint16; + units "milliseconds"; + description + "AP BLE scan time during each cycle in milliseconds"; + } + leaf filter { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-scan-filter; + description + "AP BLE flag to enable or disable MAC based scan filtering"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-scan-config-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-host-data { + description + "AP BLE host data"; + leaf device-name { + when "../report/valid = 'true'"; + type string; + description + "AP BLE device name"; + } + leaf ble-mac { + when "../report/valid = 'true'"; + type yang:mac-address; + description + "BLE over the Air MAC address"; + } + leaf api-version { + when "../report/valid = 'true'"; + type uint16; + description + "AP BLE API version"; + } + leaf fw-version { + when "../report/valid = 'true'"; + type binary; + description + "AP BLE Device/major/minor/revision"; + } + leaf advertise-count { + when "../report/valid = 'true'"; + type uint32; + description + "Total number of broadcasts since powered on"; + } + leaf uptime-dsec { + when "../report/valid = 'true'"; + type uint32; + units "deciseconds"; + description + "Time since chip was last powered on in deciseconds"; + } + leaf active-profile { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-profile; + description + "AP BLE active chirping profile"; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-feature-mode { + description + "AP BLE feature mode"; + leaf feature { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-iot-feature; + description + "Type of BLE feature"; + } + leaf mode { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-mode; + description + "Mode of the BLE device"; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-ibeacon-feedback { + description + "AP BLE iBeacon profile config command feedback"; + leaf uuid-status { + type uint8; + description + "Reported status of iBeacon UUID"; + } + leaf major-status { + type uint8; + description + "Reported status of iBeacon type (major)"; + } + leaf minor-status { + type uint8; + description + "Reported status of iBeacon subtype (minor)"; + } + leaf tx-power-status { + type uint8; + description + "Reported status of transmit power"; + } + leaf frequency-msec-status { + type uint8; + description + "Reported status of iBeacon frequency"; + } + leaf adv-tx-power-status { + type uint8; + description + "Reported status of advertised transmit power"; + } + } + + grouping ble-ltx-ibeacon { + description + "AP BLE iBeacon chirping profile"; + leaf uuid { + when "../report/valid = 'true'"; + type string; + description + "iBeacon UUID"; + } + leaf major { + when "../report/valid = 'true'"; + type uint16; + description + "Type of the iBeacon (major)"; + } + leaf minor { + when "../report/valid = 'true'"; + type uint16; + description + "Subtype of the iBeacon (minor)"; + } + leaf tx-power { + when "../report/valid = 'true'"; + type uint8; + units "dBm"; + description + "iBeacon transmit power level"; + } + leaf frequency-msec { + when "../report/valid = 'true'"; + type uint16; + units "milliseconds"; + description + "iBeacon chirping frequency in milliseconds"; + } + leaf adv-tx-power { + when "../report/valid = 'true'"; + type uint8; + units "dBm"; + description + "iBeacon advertised transmit power in dBm"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-ibeacon-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-eddystone-url-feedback { + description + "AP BLE chirping Eddystone URL profile command feedback"; + leaf url-status { + type uint8; + description + "Reported status of Eddystone URL"; + } + } + + grouping ble-ltx-eddystone-url { + description + "AP BLE chirping Eddystone URL profile"; + leaf url { + when "../report/valid = 'true'"; + type string; + description + "Eddystone URL"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-eddystone-url-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-eddystone-uid-feedback { + description + "AP BLE chirping Eddystone UID profile command feedback"; + leaf namespace-status { + type uint8; + description + "Reported status of Eddystone namespace"; + } + leaf instance-id-status { + type uint8; + description + "Reported status of Eddystone instance id"; + } + } + + grouping ble-ltx-eddystone-uid { + description + "AP BLE chirping Eddystone UID profile"; + leaf namespace { + when "../report/valid = 'true'"; + type string; + description + "Eddystone namespace"; + } + leaf instance-id { + when "../report/valid = 'true'"; + type string; + description + "Eddystone instance id"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-eddystone-uid-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-device-status { + description + "AP BLE device status"; + leaf device { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-device; + description + "Type of BLE device"; + } + leaf state { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-device-state; + description + "State of BLE device"; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-streaming { + description + "AP BLE telemetry streaming"; + leaf state { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-stream-state; + description + "State of the BLE telemetry streaming"; + } + container report { + description + "BLE telemetry streaming report"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + leaf count { + type uint64; + description + "BLE telemetry streaming record counter"; + } + } + + grouping ble-ltx-admin-feedback { + description + "AP BLE administrative command feedback"; + leaf state-status { + type uint8; + description + "Reported status of overall BLE hardware module"; + } + } + + grouping ble-ltx-admin { + description + "AP BLE administrative setting"; + leaf state { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-admin-state; + description + "State of the overall BLE hardware module"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-admin-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-vibeacon-common-feedback { + description + "AP BLE viBeacon config command feedback"; + leaf interval-msec-status { + type uint8; + description + "Reported status of viBeacon chirping interval"; + } + } + + grouping ble-ltx-vibeacon-common { + description + "Common configuration of all AP BLE viBeacon chirping profiles"; + leaf interval-msec { + when "../report/valid = 'true'"; + type uint16; + units "milliseconds"; + description + "viBeacon chirping interval"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-vibeacon-common-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-vibeacon-feedback { + description + "AP BLE viBeacon profile config command feedback"; + leaf beacon-id-status { + type uint8; + description + "Reported status of viBeacon ID"; + } + leaf uuid-status { + type uint8; + description + "Reported status of viBeacon UUID"; + } + leaf tx-power-status { + type uint8; + description + "Reported status of transmit power"; + } + leaf major-status { + type uint8; + description + "Reported status of viBeacon type (major)"; + } + leaf minor-status { + type uint8; + description + "Reported status of viBeacon subtype (minor)"; + } + leaf status-status { + type uint8; + description + "Reported status of viBeacon status"; + } + leaf adv-tx-power-status { + type uint8; + description + "Reported status of viBeacon advertised transmit power"; + } + } + + grouping ble-ltx-vibeacon { + description + "AP BLE viBeacon chirping profile"; + leaf beacon-id { + when "../report/valid = 'true'"; + type uint16; + description + "viBeacon ID"; + } + leaf uuid { + when "../report/valid = 'true'"; + type string; + description + "viBeacon UUID"; + } + leaf tx-power { + when "../report/valid = 'true'"; + type uint8; + units "dBm"; + description + "viBeacon transmit power level"; + } + leaf major { + when "../report/valid = 'true'"; + type uint16; + description + "Type of the viBeacon (major)"; + } + leaf minor { + when "../report/valid = 'true'"; + type uint16; + description + "Subtype of the viBeacon (minor)"; + } + leaf adv-tx-power { + when "../report/valid = 'true'"; + type uint8; + units "dBm"; + description + "viBeacon advertised transmit power in dBm"; + } + leaf status { + when "../report/valid = 'true'"; + type wireless-enum-types:ble-ltx-vibeacon-status; + description + "viBeacon status"; + } + container feedback { + when "../report/valid = 'true'"; + description + "Feedback of the last config command"; + uses wireless-ble-ltx-oper:ble-ltx-vibeacon-feedback; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-vibeacons { + description + "AP BLE viBeacon configuration, that represents multiple viBeacons"; + container common { + when "../report/valid = 'true'"; + description + "Common configuration for all viBeacons chirping profiles"; + uses wireless-ble-ltx-oper:ble-ltx-vibeacon-common; + } + list vibeacons { + when "../report/valid = 'true'"; + description + "BLE viBeacons chirping profiles"; + uses wireless-ble-ltx-oper:ble-ltx-vibeacon; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + } + + grouping ble-ltx-capability { + description + "AP BLE capabilities"; + leaf ble { + when "../report/valid = 'true'"; + type boolean; + description + "BLE capability"; + } + leaf zigbee { + when "../report/valid = 'true'"; + type boolean; + description + "Zigbee capability"; + } + leaf thread { + when "../report/valid = 'true'"; + type boolean; + description + "Thread capability"; + } + leaf usb { + when "../report/valid = 'true'"; + type boolean; + description + "USB capability"; + } + container report { + description + "Status of the last report from AP BLE"; + uses wireless-ble-ltx-oper:ble-ltx-report; + } + leaf iot { + when "../report/valid = 'true'"; + type boolean; + description + "IOT capability"; + } + leaf ble-hybrid-mode { + when "../report/valid = 'true'"; + type boolean; + description + "BLE hybrid mode capability"; + } + } + + grouping ble-ltx-ap { + description + "BLE LTX data for each AP"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + container admin { + description + "AP administrative state"; + uses wireless-ble-ltx-oper:ble-ltx-admin; + } + container scan-config { + description + "AP BLE scan configuration"; + uses wireless-ble-ltx-oper:ble-ltx-scan-config; + } + container profile-ibeacon { + description + "AP BLE iBeacon chirping profile"; + uses wireless-ble-ltx-oper:ble-ltx-ibeacon; + } + container profile-eddy-url { + description + "AP BLE Eddystone URL chirping profile"; + uses wireless-ble-ltx-oper:ble-ltx-eddystone-url; + } + container profile-eddy-uid { + description + "AP BLE Eddystone UID chirping profile"; + uses wireless-ble-ltx-oper:ble-ltx-eddystone-uid; + } + container profile-vibeacons { + description + "AP BLE viBeacons chirping profiles"; + uses wireless-ble-ltx-oper:ble-ltx-vibeacons; + } + container scan-counters { + description + "AP BLE scan counters"; + uses wireless-ble-ltx-oper:ble-ltx-scan-counters; + } + container host-data { + description + "AP BLE host data"; + uses wireless-ble-ltx-oper:ble-ltx-host-data; + } + container feature-mode { + description + "AP BLE LTX feature mode"; + uses wireless-ble-ltx-oper:ble-ltx-feature-mode; + } + container device-status { + description + "AP BLE interface status"; + uses wireless-ble-ltx-oper:ble-ltx-device-status; + } + container capability { + description + "AP BLE capability"; + uses wireless-ble-ltx-oper:ble-ltx-capability; + } + container streaming { + status obsolete; + description + "AP BLE telemetry streaming state"; + uses wireless-ble-ltx-oper:ble-ltx-streaming; + } + } + + grouping ble-ltx-ap-antenna-key { + description + "BLE LTX AP antenna key for each AP"; + leaf ap-mac { + type yang:mac-address; + description + "BLE LTX AP MAC address"; + } + leaf ble-slot-id { + type uint8; + description + "BLE LTX AP BLE antenna slot id"; + } + leaf ble-antenna-id { + type uint8; + description + "BLE LTX AP BLE antenna id"; + } + } + + grouping ble-ltx-ap-antenna-data { + description + "BLE LTX AP antenna data for BLE antenna"; + leaf is-ble-antenna-present { + type boolean; + description + "AP has BLE antenna present"; + } + leaf ble-antenna-pid { + type string; + description + "AP BLE antenna PID"; + } + leaf ble-antenna-gain { + type uint8; + description + "AP BLE antenna gain"; + } + leaf ble-antenna-type { + type wireless-enum-types:ble-ltx-module-type; + description + "AP BLE antenna type"; + } + leaf ble-antenna-mode { + type wireless-enum-types:ble-ltx-antenna-mode; + description + "AP BLE antenna mode"; + } + leaf ble-antenna-diversity { + type wireless-enum-types:ble-ltx-antenna-diversity-status; + description + "AP BLE antenna diversity status"; + } + leaf ble-antenna-options { + type wireless-enum-types:ble-ltx-module-type; + description + "AP BLE antenna options"; + } + } + + grouping ble-ltx-ap-streaming-key { + description + "Key for BLE telemetry streaming"; + leaf ble-mac { + type yang:mac-address; + description + "MAC address of the BLE tag reported in streaming data"; + } + leaf ap-mac { + type yang:mac-address; + description + "MAC address of the AP reporting streaming data"; + } + } + + grouping ble-ltx-ap-streaming-data { + description + "Data for BLE telemetry streaming"; + leaf event-type { + type wireless-enum-types:enm-ble-ltx-scan-event-type; + description + "Event type reported in BLE streaming data"; + } + leaf addr-type { + type wireless-enum-types:enm-ble-ltx-scan-addr-type; + description + "Address type reported in BLE streaming data"; + } + leaf rssi-value { + type int8; + units "dBm"; + description + "RSSI value reported in BLE streaming data"; + } + leaf-list adv-data { + type uint8; + max-elements 255; + ordered-by user; + description + "Advertisement data reported in BLE streaming data"; + } + } + + container ble-ltx-oper-data { + config false; + description + "BLE LTX operational data"; + list ble-ltx-ap-antenna { + key "ap-mac ble-slot-id ble-antenna-id"; + description + "BLE LTX AP Antenna Information"; + uses wireless-ble-ltx-oper:ble-ltx-ap-antenna-data; + uses wireless-ble-ltx-oper:ble-ltx-ap-antenna-key; + } + list ble-ltx-ap-streaming { + key "ble-mac ap-mac"; + status obsolete; + description + "BLE LTX AP Streaming Information"; + uses wireless-ble-ltx-oper:ble-ltx-ap-streaming-data; + uses wireless-ble-ltx-oper:ble-ltx-ap-streaming-key; + } + list ble-ltx-ap { + key "ap-mac"; + description + "BLE LTX AP data"; + uses wireless-ble-ltx-oper:ble-ltx-ap; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-cmd-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-cmd-rpc.yang new file mode 100644 index 000000000..df03db71e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-cmd-rpc.yang @@ -0,0 +1,515 @@ +module Cisco-IOS-XE-wireless-ble-mgmt-cmd-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ble-mgmt-cmd-rpc"; + prefix wireless-ble-mgmt-cmd-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-11-01 { + description + "- Added range for iBeacon & vibeacon frequency, transmit power and advertised transmit power"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ap-identifier { + type enumeration { + enum ap-identifier-name { + value 0; + description + "AP name"; + } + enum ap-identifier-mac-address { + value 1; + description + "AP MAC address"; + } + } + description + "Access point identifier"; + } + + grouping ble-scan-req { + description + "Command to configure BLE scan role"; + leaf interval-sec { + type uint32; + units "seconds"; + mandatory true; + description + "Scan interval"; + } + leaf window-msec { + type uint16; + units "milliseconds"; + description + "Scan window"; + } + leaf max-value { + type uint8; + description + "Scan max value"; + } + leaf filter { + type wireless-enum-types:ble-ltx-scan-filter; + description + "Scan filter"; + } + leaf state { + type wireless-enum-types:ble-ltx-scan-state; + mandatory true; + description + "Scan state"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-sync-req { + description + "Command to send a BLE sync request"; + leaf ble-mac { + type yang:mac-address; + mandatory true; + description + "BLE MAC address"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-ibeacon-req { + description + "Command to configure BLE beacon of type iBeacon"; + leaf uuid { + type string { + pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; + } + mandatory true; + description + "UUID to be chirped by the beacon of type iBeacon"; + } + leaf major { + type uint16; + mandatory true; + description + "Major value to be chirped by the beacon of type iBeacon"; + } + leaf minor { + type uint16; + mandatory true; + description + "Minor value to be chirped by the beacon of type iBeacon"; + } + leaf tx-power { + type uint8 { + range "0..12"; + } + mandatory true; + description + "Power to chirp with for the beacon of type iBeacon"; + } + leaf frequency-msec { + type uint16 { + range "100..1000"; + } + units "milliseconds"; + mandatory true; + description + "Frequency to chirp with for the beacon of type iBeacon"; + } + leaf adv-tx-power { + type uint8 { + range "1..127"; + } + units "dbm"; + mandatory true; + description + "Power to advertise when chirping beacon of type iBeacon"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-eddy-uid-req { + description + "Command to configure BLE Eddystone UID beacon"; + leaf instance-id { + type string { + pattern '[0-9a-fA-F]{12}'; + } + mandatory true; + description + "Instance ID to be chirped by the Eddystone UID beacon"; + } + leaf namespace { + type string { + pattern '[0-9a-fA-F]{20}'; + } + mandatory true; + description + "Namespace to be chirped by the Eddystone UID beacon"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-eddy-url-req { + description + "Command to configure BLE Eddystone URL beacon"; + leaf url { + type string; + mandatory true; + description + "URL to be chirped by the Eddystone URL beacon"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-mgt-admin-req { + description + "Command to enable or disable BLE functionality"; + leaf state { + type wireless-enum-types:ble-ltx-admin-state; + mandatory true; + description + "BLE admin flag"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-vibeacon-req { + description + "Command to configure BLE beacon of type viBeacon"; + leaf beacon-id { + type uint8; + mandatory true; + description + "Id of the viBeacon being configured"; + } + leaf status { + type wireless-enum-types:ble-ltx-vibeacon-status; + mandatory true; + description + "Status of the viBeacon being configured"; + } + leaf uuid { + type string { + pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'; + } + mandatory true; + description + "UUID to be chirped by the beacon of type viBeacon"; + } + leaf major { + type uint16; + mandatory true; + description + "Type (major value) to be chirped by the beacon of type viBeacon"; + } + leaf minor { + type uint16; + mandatory true; + description + "Subtype (minor value) to be chirped by the beacon of type viBeacon"; + } + leaf tx-power { + type uint8 { + range "0..12"; + } + mandatory true; + description + "Power to chirp with for the beacon of type viBeacon"; + } + leaf interval-msec { + type uint16 { + range "100..1000"; + } + units "milliseconds"; + mandatory true; + description + "Interval to chirp with for the beacon of type viBeacon"; + } + leaf adv-tx-power { + type uint8 { + range "1..127"; + } + units "dbm"; + mandatory true; + description + "Power to advertise when chirping beacon of type viBeacon"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + grouping ble-no-adv-profile-req { + description + "RPC to configure BLE no advertisement profile"; + leaf state { + type wireless-enum-types:ble-no-adv-profile-state; + mandatory true; + description + "No advertisement profile state"; + } + choice ap-identifier-choice { + mandatory true; + description + "AP identifier"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + } + } + + rpc ble-sync-req { + description + "Command to send a BLE sync request"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-sync-req; + } + } + + rpc ble-scan-req { + description + "Command to configure BLE scan role"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-scan-req; + } + } + + rpc ble-ibeacon-req { + description + "Command to configure BLE beacon of type iBeacon"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-ibeacon-req; + } + } + + rpc ble-eddy-uid-req { + description + "Command to configure BLE Eddystone UID beacon"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-eddy-uid-req; + } + } + + rpc ble-eddy-url-req { + description + "Command to configure BLE Eddystone URL beacon"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-eddy-url-req; + } + } + + rpc ble-mgt-admin-req { + description + "Command to enable or disable BLE functionality"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-mgt-admin-req; + } + } + + rpc ble-vibeacon-req { + description + "Command to configure BLE beacon of type viBeacon"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-vibeacon-req; + } + } + + rpc ble-no-adv-profile-req { + description + "RPC to configure BLE no advertisement profile"; + input { + uses wireless-ble-mgmt-cmd-rpc:ble-no-adv-profile-req; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-oper.yang new file mode 100644 index 000000000..5ef776dcf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-ble-mgmt-oper.yang @@ -0,0 +1,244 @@ +module Cisco-IOS-XE-wireless-ble-mgmt-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-ble-mgmt-oper"; + prefix wireless-ble-mgmt-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless Bluetooth Low Energy (BLE) management operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-23 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ble-mgmt-reason { + type enumeration { + enum ble-mgmt-reason-none { + value 0; + description + "Not Applicable"; + } + enum ble-mgmt-reason-unknown { + value 1; + description + "Reason unknown"; + } + enum ble-mgmt-reason-disabled { + value 2; + description + "BLE Administrative state disabled"; + } + enum ble-mgmt-reason-no-next-hop { + value 3; + description + "NextHop to CMX not resolved"; + } + } + description + "Enumeration of reasons for operational state down"; + } + + typedef ble-mgmt-state { + type enumeration { + enum ble-mgmt-state-unknown { + value 0; + description + "Unknown state"; + } + enum ble-mgmt-state-init { + value 1; + description + "Initializing state"; + } + enum ble-mgmt-state-open { + value 2; + description + "Open state"; + } + enum ble-mgmt-state-close { + value 3; + description + "Closed state"; + } + } + description + "Enumeration of all the supported BLE management states"; + } + + typedef ble-mgmt-interface { + type enumeration { + enum ble-mgmt-interface-msm1 { + value 0; + description + "Integrated interface"; + } + enum ble-mgmt-interface-s1 { + value 1; + description + "Integrated interface"; + } + enum ble-mgmt-interface-hs0 { + value 2; + description + "Integrated interface"; + } + enum ble-mgmt-interface-usb0 { + value 3; + description + "USB dongle"; + } + enum ble-mgmt-interface-xrusb0 { + value 4; + description + "Integrated interface"; + } + enum ble-mgmt-interface-h0 { + value 5; + description + "Integrated interface"; + } + enum ble-mgmt-interface-unknown { + value 6; + description + "Unknown interface"; + } + } + description + "Enumeration of all the supported BLE interfaces"; + } + + grouping ble-mgmt-cmx { + description + "BLE management data for each CMX"; + leaf cmx-id { + type uint64; + description + "CMX Identifier"; + } + leaf oper-state { + type boolean; + description + "Operational state"; + } + leaf reason-down { + when "(../oper-state = 'false')"; + type wireless-ble-mgmt-oper:ble-mgmt-reason; + description + "Reason for BLE operational state down"; + } + leaf admin-state { + type boolean; + description + "Administrative state"; + } + leaf cmx-resolved { + type boolean; + description + "Whether CMX is reachable"; + } + leaf scan-interval { + type uint32; + units "seconds"; + description + "BLE scan interval"; + } + leaf ble-source-mac { + when "(../oper-state = 'true')"; + type yang:mac-address; + description + "Source MAC used for BLE traffic from AP"; + } + } + + grouping ble-mgmt-ap { + description + "BLE management data for each AP"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf is-new { + type boolean; + description + "The AP just joined the controller (other fields are invalid)"; + } + leaf cmx-id { + type uint64; + description + "ID of CMX controlling the AP"; + } + leaf ble-interface { + type wireless-ble-mgmt-oper:ble-mgmt-interface; + description + "AP BLE interface"; + } + leaf radio-state { + type wireless-ble-mgmt-oper:ble-mgmt-state; + description + "AP BLE radio state"; + } + leaf oper-state { + type boolean; + description + "AP BLE Operational state"; + } + } + + container ble-mgmt-oper-data { + config false; + description + "BLE Management operational data"; + list ble-mgmt-ap { + key "ap-mac"; + description + "BLE Management AP data"; + uses wireless-ble-mgmt-oper:ble-mgmt-ap; + } + list ble-mgmt-cmx { + key "cmx-id"; + description + "BLE Management CMX data"; + uses wireless-ble-mgmt-oper:ble-mgmt-cmx; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cisco-spaces-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cisco-spaces-oper.yang new file mode 100644 index 000000000..a7306ee02 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cisco-spaces-oper.yang @@ -0,0 +1,194 @@ +module Cisco-IOS-XE-wireless-cisco-spaces-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-cisco-spaces-oper"; + prefix wireless-cisco-spaces-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Cisco wireless controller and spaces. + Copyright (c) 2023-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef spaces-onb-ws-state { + type enumeration { + enum enm-spaces-ws-not-connected { + value 0; + description + "Web-socket connection not UP"; + } + enum enm-spaces-ws-connected { + value 1; + description + "Web-socket connection is UP"; + } + enum enm-spaces-ws-in-progress { + value 2; + description + "Web-socket connection is in progress"; + } + enum enm-spaces-ws-disconnecting { + value 3; + description + "Web-socket connection is disconnecting"; + } + } + description + "Cisco spaces onboarding web-socket connection state"; + } + + typedef spaces-onb-ws-dis-reason { + type enumeration { + enum enm-spaces-dis-unknown { + value 0; + description + "Connection error unknown"; + } + enum enm-spaces-dis-dns-res-fail { + value 1; + description + "Connection error DNS resolution failed"; + } + enum enm-spaces-dis-unauthorized { + value 2; + description + "Connection error unauthorized from server"; + } + enum enm-spaces-dis-server-cert-ver-fail { + value 3; + description + "Connection error server certificate verification failed"; + } + enum enm-spaces-dis-network-error { + value 4; + description + "Connection error network unreachable"; + } + enum enm-spaces-dis-heartbeat-ack-miss { + value 5; + description + "Disconnect heartbeat ACK miss from server"; + } + enum enm-spaces-dis-user-triggered { + value 6; + description + "Disconnect triggered by the user"; + } + } + description + "Cisco spaces onboarding web-socket last disconnect reason"; + } + + grouping st-spaces-onb-ws-con-stats { + description + "Cisco spaces onboarding web-socket connection statistics"; + leaf total-con-attempts { + type uint64; + description + "Total number of connection attempts"; + } + leaf con-attempts-success { + type uint64; + description + "Total number of attempts that succeeded"; + } + leaf con-attempts-failure { + type uint64; + description + "Total number of attempts that failed"; + } + leaf total-discon { + type uint64; + description + "Total number of disconnections"; + } + } + + grouping st-spaces-onb-ws-tenant-detail { + description + "Cisco spaces onboarding web-socket tenant details"; + leaf tenant-id { + type string; + description + "Tenant Identifier"; + } + leaf tenant-name { + type string; + description + "Tenant Name"; + } + } + + grouping spaces-connection-detail { + description + "Cisco wireless controller to spaces connection details"; + leaf spaces-health-url { + type string; + description + "Cisco spaces health check URL"; + } + leaf con-state { + type wireless-cisco-spaces-oper:spaces-onb-ws-state; + description + "Cisco spaces onboarding web-socket connection state"; + } + leaf last-conn-err { + type wireless-cisco-spaces-oper:spaces-onb-ws-dis-reason; + description + "Cisco spaces onboarding web-socket last connection error"; + } + leaf conn-estb-time { + type yang:date-and-time; + description + "Absolute time at which the onboarding web-socket connected"; + } + container stats { + description + "Cisco spaces onboarding web-socket connection statistics"; + uses wireless-cisco-spaces-oper:st-spaces-onb-ws-con-stats; + } + container tenant { + description + "Cisco spaces onboarding web-socket tenant details"; + uses wireless-cisco-spaces-oper:st-spaces-onb-ws-tenant-detail; + } + } + + container cisco-spaces-oper-data { + config false; + description + "Cisco spaces operational data"; + container spaces-connection-detail { + presence "spaces-connection-detail"; + description + "Statistics and connection details to Cisco spaces"; + uses wireless-cisco-spaces-oper:spaces-connection-detail; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-global-oper.yang new file mode 100644 index 000000000..2561485ba --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-global-oper.yang @@ -0,0 +1,1432 @@ +module Cisco-IOS-XE-wireless-client-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-client-global-oper"; + prefix wireless-client-global-oper; + + import Cisco-IOS-XE-common-types { + prefix common-types-ios-xe; + } + import Cisco-IOS-XE-wireless-client-types { + prefix wireless-client-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains client operational data aggregated across wireless processes. + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added SAE-EXT-KEY accepted successful authentications count"; + reference + "1.7.0"; + cisco-semver:module-version "1.7.0"; + } + revision 2024-03-01 { + description + "- Added client list details per AP"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2023-11-01 { + description + "- Added total layer 3 access client counts + - Added information for WLAN-VRF mappings"; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2023-03-01 { + description + "- Deprecated most-ms-entries, total-ms-entries, total-ipv4-ms-entries and cur-wgb-entries leaves + - Deprecating the number of sleeping clients from webauth stats + - Deprecated container identity PSK tagged clients, since this data is present in client oper yang model"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added device classification and its statistics"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-03-01 { + description + "- Added clients 802.11 statistics + - Added statistics information for client latency, web authentication session management, wlan sort, AP sort and Identity PSK tag clients"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2021-11-01 { + description + "- Added statistics information for clients 802.1x, + clients exclusion and wireless trace statistics"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping client-statistics { + description + "Client statistics"; + container co-client-del-reason { + description + "Client delete reason statistics"; + uses wireless-client-types:co-delete-reason; + } + } + + grouping st-client-assoc-stats { + description + "Clients association statistics"; + leaf total-attempt { + type uint32; + description + "Total association attempts"; + } + leaf total-fail { + type uint32; + description + "Total association failures"; + } + leaf total-resp-accept { + type uint32; + description + "Total association response accepts"; + } + leaf total-resp-reject { + type uint32; + description + "Total association response rejects"; + } + leaf total-resp-error { + type uint32; + description + "Total association response errors"; + } + } + + grouping st-client-dms-stats { + description + "Client DMS statistics"; + leaf action-frame-req { + type uint32; + description + "Total DMS requests received in action frame"; + } + leaf action-frame-resp { + type uint32; + description + "Total DMS responses sent in action frame"; + } + leaf reassoc-req { + type uint32; + description + "Total DMS requests received in Re-assoc Request"; + } + } + + grouping st-client-roaming-stats { + description + "Client roaming attempt statistics"; + leaf total-roam { + type uint32; + description + "Total roam attempts"; + } + leaf cckm-roam { + type uint32; + description + "Total CCKM roam attempts"; + } + leaf dot11r-roam { + type uint32; + description + "Total 802.11r roam attempts"; + } + leaf dot11i-fast-roam { + type uint32; + description + "Total 802.11i fast roam attempts"; + } + leaf dot11i-slow-roam { + type uint32; + description + "Total 802.11i slow roam attempts"; + } + leaf roam-fail { + type uint32; + description + "Total roam failures in 802.11"; + } + leaf ap-auth-roams { + type uint32; + description + "Total Flexconnect AP authentication roaming attempts"; + } + leaf ap-auth-dot11i-fast-roam { + type uint32; + description + "Total number of 802.11i fast roam attempts at AP authentication"; + } + leaf ap-auth-dot11i-slow-roam { + type uint32; + description + "Total number of 802.11i slow roam attempts at AP authentication"; + } + leaf flex-11r-roam { + type uint32; + description + "Total 802.11r Flex roaming attempts"; + } + leaf dot11r-slow-roam { + type uint32; + description + "Total 802.11r slow roaming attempts"; + } + leaf pmkr0-name-mismatch { + type uint32; + description + "Total 802.11r pairwise master key R0 name mismatch"; + } + leaf pmkr1-name-mismatch { + type uint32; + description + "Total 802.11r pairwise master key R1 name mismatch"; + } + } + + grouping st-load-balance-stats { + description + "Load balance statistics"; + leaf total-denied { + type uint32; + description + "Load balancing total denied counts"; + } + leaf total-denied-sent { + type uint32; + description + "Load balancing total denial sent (messages)"; + } + leaf total-ex-max-denial { + type uint32; + description + "Load balancing exceeded denial maximum limit counts"; + } + leaf cand-5g { + type uint32; + description + "APs that are not 5GHz candidates for service set transition"; + } + leaf cand-24g { + type uint32; + description + "APs that are not 2.4GHz candidates for service set transition"; + } + } + + grouping st-client-dot11r-ft-stats { + description + "Clients 802.11r FT statistics"; + leaf total-auth-req-rx { + type uint32; + description + "Total 802.11r FT authentication requests received"; + } + leaf total-auth-resp-success { + type uint32; + description + "Total 802.11r FT authentication response success"; + } + leaf total-auth-resp-fail { + type uint32; + description + "Total 802.11r FT authentication response failures"; + } + leaf total-action-req-rx { + type uint32; + description + "Total 802.11r FT action requests received"; + } + leaf total-action-resp-success { + type uint32; + description + "Total 802.11r FT action response success"; + } + leaf total-action-resp-fail { + type uint32; + description + "Total 802.11r FT action response failures"; + } + } + + grouping st-wpa3-sae-stats { + description + "WPA3 SAE statistics"; + leaf attempts { + type uint32; + description + "Total WPA3 SAE attempts"; + } + leaf protocol-incomplete { + type uint32; + description + "Total WPA3 SAE incomplete protocol failures"; + } + leaf commit-rx { + type uint32; + description + "Total WPA3 SAE commit messages received"; + } + leaf commit-rejected { + type uint32; + description + "Total WPA3 SAE commit messages rejected"; + } + leaf commit-unsupported-group { + type uint32; + description + "Total WPA3 SAE commit unsupported group rejections"; + } + leaf commit-sent { + type uint32; + description + "Total WPA3 SAE commit messages sent"; + } + leaf confirm-rx { + type uint32; + description + "Total WPA3 SAE confirm messages received"; + } + leaf confirm-rejected { + type uint32; + description + "Total WPA3 SAE confirm messages rejected"; + } + leaf confirm-field-mismatch { + type uint32; + description + "Total WPA3 SAE message confirm field mismatch"; + } + leaf confirm-msg-invalid-length { + type uint32; + description + "Total WPA3 SAE confirm message invalid length"; + } + leaf confirm-sent { + type uint32; + description + "Total WPA3 SAE confirm messages sent"; + } + leaf open-sessions { + type uint32; + description + "Total WPA3 SAE open sessions"; + } + leaf accepted { + type uint32; + description + "Total WPA3 SAE successful authentications"; + } + leaf h2e-commit-rx { + type uint32; + description + "Total WPA3 SAE Hash to Element commit received"; + } + leaf hnp-commit-rx { + type uint32; + description + "Total WPA3 SAE Hunting and Pecking commit received"; + } + leaf h2e-commit-pwe-mismatch { + type uint32; + description + "Total password element method mismatch for SAE Hash to Element commit received"; + } + leaf hnp-commit-pwe-mismatch { + type uint32; + description + "Total password element method mismatch for SAE Hunting And Pecking commit received"; + } + leaf ext-key-accepted { + type uint32; + description + "Total WPA3 SAE-EXT-KEY AKM (24) or FT-SAE-EXT-KEY AKM (25) + successful authentications"; + } + } + + grouping st-client-dot11-statistics { + description + "Clients 802.11 statistics"; + container client-assoc-stats { + description + "Client association statistics"; + uses wireless-client-global-oper:st-client-assoc-stats; + } + container client-dms-stats { + description + "Client DMS statistics"; + uses wireless-client-global-oper:st-client-dms-stats; + } + container client-roaming-stats { + description + "Client roaming attempt statistics"; + uses wireless-client-global-oper:st-client-roaming-stats; + } + container load-balance-stats { + description + "Load balance statistics"; + uses wireless-client-global-oper:st-load-balance-stats; + } + leaf other-roam-attempts { + type uint32; + description + "Total other roam type attempts"; + } + leaf aid-allocation-fail { + type uint32; + description + "Total AID allocation failures"; + } + leaf aid-free-fail { + type uint32; + description + "Total AID free failures"; + } + container client-dot11r-ft-stats { + description + "Clients 802.11r FT statistics"; + uses wireless-client-global-oper:st-client-dot11r-ft-stats; + } + leaf num-clients-on-24ghz-radio { + type uint32; + description + "Total number of clients on 2.4Ghz"; + } + leaf num-clients-on-5ghz-radio { + type uint32; + description + "Total number of clients on 5Ghz"; + } + container wpa3-sae-stats { + description + "WPA3 SAE statistics"; + uses wireless-client-global-oper:st-wpa3-sae-stats; + } + leaf mdid-mismatch { + type uint32; + description + "Total 802.11r mobility domain identifier mismatch"; + } + leaf wifi-direct-assoc-fail { + type uint32; + description + "Total WiFi direct association rejects"; + } + leaf wifi-direct-assoc-success { + type uint32; + description + "Total WiFi direct association success"; + } + leaf num-6ghz-clients { + type uint32; + description + "Total number of clients in 6GHz"; + } + } + + grouping st-client-state-stats-data { + description + "Statistics of number of clients in each state"; + leaf avg-client-state-duration { + type uint64; + description + "Average duration in the state"; + } + leaf total-sessions { + type uint64; + description + "Total number of sessions in the state"; + } + } + + grouping st-client-state-stats { + description + "All states client statistics"; + list client-state-stats-value { + max-elements 14; + description + "All states client statistics"; + uses wireless-client-global-oper:st-client-state-stats-data; + } + } + + grouping client-avg-run-state-latency { + description + "Average run state latency statistics"; + leaf run-state { + type uint32; + description + "Average run state latency"; + } + leaf run-state-sans-user-delay { + type uint32; + description + "Average run state latency without user delay"; + } + } + + grouping client-latency-stats { + description + "Client run state latency statistics"; + container client-states-stats { + description + "Client states statistics"; + uses wireless-client-global-oper:st-client-state-stats; + } + container avg-run-state-latency { + description + "Average run state latency statistics"; + uses wireless-client-global-oper:client-avg-run-state-latency; + } + } + + grouping client-live-stats { + description + "Statistics of clients/mobile stations current state"; + leaf auth-state-clients { + type uint32; + description + "Number of clients in authenticating state"; + } + leaf mobility-state-clients { + type uint32; + description + "Number of clients in mobility state"; + } + leaf iplearn-state-clients { + type uint32; + description + "Number of clients in IP learn state"; + } + leaf webauth-state-clients { + type uint32; + description + "Number of clients in web authenticating state"; + } + leaf run-state-clients { + type uint32; + description + "Number of clients in run state"; + } + leaf delete-state-clients { + type uint32; + description + "Number of clients in deletion state"; + } + leaf random-mac-clients { + type uint32; + description + "Number of clients using random MAC address"; + } + leaf l3-access-clients { + type uint32; + description + "Number of Layer 3 access clients"; + } + } + + grouping ewlc-client-session-stats { + description + "Client session statistics"; + leaf most-ms-entries { + type uint32; + status deprecated; + description + "Most clients entries"; + } + leaf cur-ms-entries { + type uint32; + description + "Current clients entries"; + } + leaf total-ms-entries { + type uint32; + status deprecated; + description + "Total clients entries"; + } + leaf total-ipv4-ms-entries { + type uint32; + status deprecated; + description + "Total ipv4 clients entries"; + } + leaf cur-wgb-entries { + type uint32; + status deprecated; + description + "Current WGB entries"; + } + leaf cur-foreign-entries { + type uint32; + description + "Foreign clients entries"; + } + leaf cur-anchor-entries { + type uint32; + description + "Anchor clients entries"; + } + leaf cur-local-entries { + type uint32; + description + "Local clients entries"; + } + leaf cur-idle-state-entries { + type uint32; + description + "Idle state clients entries"; + } + } + + grouping ewlc-client-global-stats-op { + description + "Client global statistics"; + container session-stats { + description + "Session statistics"; + uses wireless-client-global-oper:ewlc-client-session-stats; + } + } + + grouping rssi-sample { + description + "Received signal indicator stats"; + leaf rssi-value-a { + type int8; + description + "RSSI value a"; + } + leaf rssi-value-b { + type int8; + description + "RSSI value b"; + } + } + + grouping sm-dot1x-global-stats { + description + "Session manager 802.1x global statistics"; + leaf eapol-rx { + type uint32; + description + "Total EAPoL frames received"; + } + leaf eapol-rx-start { + type uint32; + description + "Total EAPoL Start frames received"; + } + leaf eapol-rx-logoff { + type uint32; + description + "Total EAPoL Logoff frames received"; + } + leaf eapol-rx-resp { + type uint32; + description + "Total EAPoL Response frames received"; + } + leaf eapol-rx-resp-id { + type uint32; + description + "Total EAPoL Response identifier frames received"; + } + leaf eapol-rx-req { + type uint32; + description + "Total EAPoL Request frames received"; + } + leaf eapol-rx-invalid { + type uint32; + description + "Total Invalid EAPoL frames received"; + } + leaf eapol-rx-len-error { + type uint32; + description + "Total EAPoL frames with length error received"; + } + leaf eapol-tx { + type uint32; + description + "Total EAPoL frames transmitted"; + } + leaf eapol-tx-start { + type uint32; + description + "Total EAPoL Start frames transmitted"; + } + leaf eapol-tx-logoff { + type uint32; + description + "Total EAPoL Logoff frames transmitted"; + } + leaf eapol-tx-resp { + type uint32; + description + "Total EAPoL Response frames transmitted"; + } + leaf eapol-tx-req { + type uint32; + description + "Total EAPoL Request frames transmitted"; + } + leaf eapol-retx-req { + type uint32; + description + "Total EAPoL Request frames re-transmitted"; + } + leaf eapol-retx-req-fail { + type uint32; + description + "Total EAPoL Request frames re-transmitted failed"; + } + leaf eapol-tx-req-id { + type uint32; + description + "Total EAPoL Request identifier frames transmitted"; + } + leaf eapol-retx-req-id { + type uint32; + description + "Total EAPoL Request identifier frames re-transmitted"; + } + leaf eapol-retx-req-id-fail { + type uint32; + description + "Total EAPoL Request identifier frames re-transmitted fail"; + } + } + + grouping http-new-req-stats { + description + "HTTP new request statistics"; + leaf new-req-no-session-error { + type uint32; + description + "HTTP socket new request no session error"; + } + leaf new-req-ctx-exists-error { + type uint32; + description + "HTTP socket new request context exist error"; + } + } + + grouping st-ssl-stats { + description + "SSL event statistics"; + leaf event-read-block-count { + type uint32; + description + "SSL socket event read block count"; + } + leaf event-write-block-count { + type uint32; + description + "SSL socket event write block count"; + } + leaf event-ok-count { + type uint32; + description + "SSL socket event OK count"; + } + } + + grouping st-sm-webauth-http-stats { + description + "Web-authentication HTTP statistics"; + leaf http-request-count { + type uint32; + description + "HTTP request count"; + } + leaf read-event-count { + type uint32; + description + "Socket read event count"; + } + leaf read-complete-count { + type uint32; + description + "Socket read complete count"; + } + leaf write-event-count { + type uint32; + description + "Socket write event count"; + } + leaf write-complete-count { + type uint32; + description + "Socket write complete count"; + } + leaf aaa-message-count { + type uint32; + description + "AAA message count"; + } + container ssl-event-stats { + description + "SSL event statistics"; + uses wireless-client-global-oper:st-ssl-stats; + } + container http-new-req-stats { + description + "HTTP new request statistics"; + uses wireless-client-global-oper:http-new-req-stats; + } + leaf num-of-socket-opened { + type uint32; + description + "Number of sockets opened"; + } + leaf num-of-socket-closed { + type uint32; + description + "Number of sockets closed"; + } + } + + grouping sm-webauth-duration-stats { + description + "Web-authentication duration statistics"; + leaf total { + type uint32; + description + "Total duration in seconds"; + } + leaf max { + type uint32; + description + "Maximum duration in seconds"; + } + leaf min { + type uint32; + description + "Minimum duration in seconds"; + } + leaf samples { + type uint32; + description + "Sample count"; + } + } + + grouping st-sm-webauth-backpressure-counters { + description + "Web authentication backpressure queue counters"; + leaf ssl-handshake-pending { + type uint32; + description + "Pending SSL handshake count"; + } + leaf https-new-request-pending { + type uint32; + description + "Pending HTTPS requests"; + } + leaf aaa-reply-pending { + type uint32; + description + "Pending AAA replies"; + } + } + + grouping st-sm-webauth-stats { + description + "Web-authentication statistics"; + container http-stats { + description + "HTTP statistics"; + uses wireless-client-global-oper:st-sm-webauth-http-stats; + } + container iom-reading { + description + "IOM socket reading statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + container method-reading { + description + "Method reading statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + container iom-writing { + description + "IOM socket writing statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + container method-writing { + description + "Method writing statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + container iom-aaa { + description + "IOM AAA response statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + container method-aaa { + description + "Method AAA response statistics"; + uses wireless-client-global-oper:sm-webauth-duration-stats; + } + leaf num-of-sleeping-clients { + type uint32; + status deprecated; + description + "Number of sleeping clients"; + } + leaf session-count { + type uint32; + description + "Session count"; + } + leaf half-open-count { + type uint32; + description + "Half open socket count"; + } + container backpressure-counters { + description + "Web authentication backpressure counters"; + uses wireless-client-global-oper:st-sm-webauth-backpressure-counters; + } + } + + grouping st-tof { + description + "Wireless trace statistics"; + leaf-list tof-tag { + type uint64; + ordered-by user; + description + "Wireless trace on failure statistics"; + } + } + + grouping st-client-exclusion-stats { + description + "Clients exclusion statistics"; + leaf excluded-clients { + type uint32; + description + "Total excluded clients"; + } + leaf disabled-clients { + type uint32; + description + "Total disabled clients"; + } + } + + grouping sm-device-list-node { + description + "Device stats"; + leaf device-type { + type string; + description + "Type of device"; + } + leaf device-count { + type uint32; + description + "Number of devices"; + } + } + + grouping sm-device-count-list { + description + "Devices statistics"; + list sm-device-list { + description + "List of devices and their statistics"; + uses wireless-client-global-oper:sm-device-list-node; + } + } + + grouping ap-emltd-by-list { + description + "AP details"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf wtp-name { + type string; + description + "AP name"; + } + leaf num-client { + type uint32; + description + "Number of client joined on AP"; + } + leaf data-usage { + type uint64; + description + "Data usage"; + } + leaf through-put { + type uint64; + description + "Throughput"; + } + leaf ap-admin-state { + type boolean; + description + "AP administrative state"; + } + } + + grouping ap-emltd { + description + "List of AP and joined clients informations"; + list ap-list { + description + "Lists of AP"; + uses wireless-client-global-oper:ap-emltd-by-list; + } + } + + grouping sort-emltd-ap { + description + "APs in sorted order"; + leaf mapping { + type wireless-types:enm-ap-sort; + description + "Method to sort the AP list"; + } + container sort-ap { + description + "APs in sorted order"; + uses wireless-client-global-oper:ap-emltd; + } + } + + grouping wlan-emltd-by-list { + description + "Lists of WLAN and clients informations"; + leaf wlan-id { + type uint16; + description + "WLAN identifier"; + } + leaf wlan-profile-name { + type string; + description + "WLAN profile name"; + } + leaf num-client { + type uint32; + description + "Number of client on WLAN"; + } + leaf data-usage { + type uint64; + description + "Data usage"; + } + } + + grouping wlan-emltd { + description + "List of WLAN in sorted order"; + list wlan-list { + description + "List of WLAN in sorted order"; + uses wireless-client-global-oper:wlan-emltd-by-list; + } + } + + grouping sort-emltd-wlan { + description + "List of WLAN in sorted order"; + leaf mapping { + type wireless-types:enm-wlan-sort; + description + "Method to sort the WLAN list"; + } + container sort-wlan { + description + "Lists of WLAN in sorted order"; + uses wireless-client-global-oper:wlan-emltd; + } + } + + grouping st-nearby-ap { + description + "Near by AP statistics"; + leaf ap-name { + type string; + description + "AP name"; + } + list rssi-samples { + max-elements 4; + description + "RSSI of APs"; + uses wireless-client-global-oper:rssi-sample; + } + } + + grouping st-nearby-aps { + description + "Near by AP statistics"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + list nearby-ap { + max-elements 6; + description + "List of near by AP"; + uses wireless-client-global-oper:st-nearby-ap; + } + } + + grouping emltd-ipsk-tag-data { + description + "Identity PSK tagged clients details"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf ap-name { + type string; + description + "AP name"; + } + leaf wlan-id { + type uint16; + description + "WLAN identifier"; + } + leaf slot { + type uint16; + description + "AP slot identifier"; + } + } + + grouping emltd-ipsk-tag-clients { + description + "Identity PSK tag clients details"; + list ipsk-client { + description + "List of Identity PSK tag client"; + uses wireless-client-global-oper:emltd-ipsk-tag-data; + } + } + + grouping emltd-ipsk-clients { + description + "List of Identity PSK tag client"; + leaf ipsk-tag-str { + type string; + description + "Identity PSK tag"; + } + container clients { + description + "Identity PSK tag clients"; + uses wireless-client-global-oper:emltd-ipsk-tag-clients; + } + } + + grouping st-wlan-vrf-map-detail { + description + "WLAN Details"; + leaf policy-profile-name { + type string; + description + "Policy Profile Name"; + } + leaf vlan-id { + type uint16; + description + "VLAN ID"; + } + leaf ni-name { + type string; + description + "Network instance name. If the Network instance type is net-inst-default, then name is not meaningful"; + } + leaf ni-type { + type common-types-ios-xe:net-inst-type; + description + "Network instance type. Differentiates between the default routing instance and VRFs"; + } + } + + grouping st-wlan-vrf-map-info { + description + "List of WLAN-VRF mapping information"; + leaf wlan-id { + type uint16; + description + "WLAN ID"; + } + leaf profile-name { + type string; + description + "WLAN Profile Name"; + } + list wlan-vrf-maps { + description + "List of VRFs mapped to this WLAN"; + uses wireless-client-global-oper:st-wlan-vrf-map-detail; + } + } + + grouping wtp-mac-client-mac-key { + description + "AP MAC and client MAC key"; + leaf wtp-mac { + type yang:mac-address; + description + "AP MAC"; + } + leaf client-mac { + type yang:mac-address; + description + "Client MAC"; + } + } + + grouping st-emltd-client-list-per-ap { + description + "Details of client"; + leaf wlan-id { + type uint32; + description + "Wlan Id to which the client is associated"; + } + leaf vap-ssid { + type string; + description + "SSID to which the client is associated"; + } + leaf ms-assoc-time { + type yang:date-and-time; + description + "Absolute time at which the client associated"; + } + leaf current-channel { + type uint8; + description + "Channel number on which the client associated"; + } + leaf width { + type wireless-client-types:ewlc-dot11-width; + units "MHz"; + description + "Channel width on which the client associated"; + } + leaf vlan-id { + type uint16; + description + "VLAN assigned to the client"; + } + leaf model-number { + type string; + description + "Model number of the client device"; + } + leaf ip-address { + type inet:ip-address; + description + "IP Address of the client"; + } + leaf bytes-tx { + type uint64; + units "bytes"; + description + "Bytes transmitted by the client"; + } + leaf bytes-rx { + type uint64; + units "bytes"; + description + "Bytes received by the client"; + } + leaf most-recent-snr { + type uint8; + units "dB"; + description + "Recent SNR of the client"; + } + leaf active { + type empty; + description + "Active state of client"; + } + } + + container client-global-oper-data { + config false; + description + "Root container for client operational data aggregated across wireless processes"; + list wlan-vrf-map-info { + key "wlan-id"; + unique "profile-name"; + description + "WLAN-VRF mapping information"; + uses wireless-client-global-oper:st-wlan-vrf-map-info { + refine "profile-name" { + mandatory true; + } + } + } + list client-list-details-per-ap { + key "wtp-mac client-mac"; + description + "Client list details per AP"; + uses wireless-client-global-oper:wtp-mac-client-mac-key; + uses wireless-client-global-oper:st-emltd-client-list-per-ap; + } + list nearby-aps { + key "client-mac"; + description + "Near by APs"; + uses wireless-client-global-oper:st-nearby-aps; + } + container client-live-stats { + presence "client-live-stats"; + description + "Snapshot of statistics of current state of wireless clients"; + uses wireless-client-global-oper:client-live-stats; + } + container client-global-stats-data { + presence "client-global-stats-data"; + description + "Client global statistics data"; + uses wireless-client-global-oper:ewlc-client-global-stats-op; + } + container client-stats { + presence "client-stats"; + description + "Summary of client statistics"; + uses wireless-client-global-oper:client-statistics; + } + container client-dot11-stats { + presence "client-dot11-stats"; + description + "Clients 802.11 statistics"; + uses wireless-client-global-oper:st-client-dot11-statistics; + } + container client-latency-stats { + presence "client-latency-stats"; + description + "Client run state latency statistics"; + uses wireless-client-global-oper:client-latency-stats; + } + container sm-webauth-stats { + presence "sm-webauth-stats"; + description + "Web-authentication HTTP statistics"; + uses wireless-client-global-oper:st-sm-webauth-stats; + } + container dot1x-global-stats { + presence "dot1x-global-stats"; + description + "Dot1x global statistics"; + uses wireless-client-global-oper:sm-dot1x-global-stats; + } + container client-exclusion-stats { + presence "client-exclusion-stats"; + description + "Client exclusion statistics"; + uses wireless-client-global-oper:st-client-exclusion-stats; + } + container sm-device-count { + presence "sm-device-count"; + description + "Types of devices and their statistics"; + uses wireless-client-global-oper:sm-device-count-list; + } + list sort-ap { + key "mapping"; + description + "List of AP in sorted order"; + uses wireless-client-global-oper:sort-emltd-ap; + } + list sort-wlan { + key "mapping"; + description + "List of WLAN in sorted order"; + uses wireless-client-global-oper:sort-emltd-wlan; + } + container tof-stats { + presence "tof-stats"; + description + "Wireless trace statistics"; + uses wireless-client-global-oper:st-tof; + } + list ipsk-tag-client { + key "ipsk-tag-str"; + status deprecated; + description + "Identity PSK tagged clients"; + uses wireless-client-global-oper:emltd-ipsk-clients; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-oper.yang new file mode 100644 index 000000000..f150f2037 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-oper.yang @@ -0,0 +1,2988 @@ +module Cisco-IOS-XE-wireless-client-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-client-oper"; + prefix wireless-client-oper; + + import Cisco-IOS-XE-wireless-client-types { + prefix wireless-client-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-mobility-types { + prefix wireless-mobility-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless client operational data. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added SAE-EXT-KEY AKM 24 / FT-SAE-EXT-KEY AKM 25 types + - Added client statistics per link for WiFi-7 client + - Added beacon protection status + - Added Multi-link Assoc type stats in client mobility history + - Added counter to maintain links dropped due to downsizing to max links supported + - Added Enhanced multilink radio operation mode capability information per client + - Simultaneous transmit and receive capability information for a multi-link client"; + reference + "7.14.0"; + cisco-semver:module-version "7.14.0"; + } + revision 2023-11-01 { + description + "- Added Layer 3 access enabled status"; + reference + "7.13.0"; + cisco-semver:module-version "7.13.0"; + } + revision 2023-07-01 { + description + "- Added per-client tx total dropped packets counter + - Added client vrf name + - Added client vrf exclude reason"; + reference + "7.12.0"; + cisco-semver:module-version "7.12.0"; + } + revision 2023-03-01 { + description + "- Added client dot11 statistics + - Added ND rate-limiting + - Marked exclusion-time and wlan-id leaf deprecated"; + reference + "7.11.0"; + cisco-semver:module-version "7.11.0"; + } + revision 2022-11-01 { + description + "- Added client recovery and client exclusion stats + - Update yang-version to 1.1"; + reference + "7.10.0"; + cisco-semver:module-version "7.10.0"; + } + revision 2022-07-01 { + description + "- Added FT-SAE support"; + reference + "7.9.0"; + cisco-semver:module-version "7.9.0"; + } + revision 2022-03-01 { + description + "- Added additional client dot11 oper data"; + reference + "7.8.0"; + cisco-semver:module-version "7.8.0"; + } + revision 2021-11-01 { + description + "- Added SAE Password Element support + - Added client receive group counter + - Added SAE and OWE authentication ID numbers"; + reference + "7.7.0"; + cisco-semver:module-version "7.7.0"; + } + revision 2021-07-01 { + description + "- Added description for link-local bridge VLAN and enablement + - Updated description of AP slot ID with invalid slot ID information + - Added 6Ghz capability for client + - Added enum for 6 GHz radio type and protocol type"; + reference + "7.6.0"; + cisco-semver:module-version "7.6.0"; + } + revision 2021-03-01 { + description + "- Added Group Management Cipher and Group Cipher info + - Updated description string from Identity PSK P2P tag to PSK P2P tag + - Removed device OS and vendor source constraints"; + reference + "7.5.0"; + cisco-semver:module-version "7.5.0"; + } + revision 2020-11-01 { + description + "- Updated description of client statistics parameters to display from network device perspective + - Added WIFI to cellular steering info for client"; + reference + "7.4.0"; + cisco-semver:module-version "7.4.0"; + } + revision 2020-07-01 { + description + "- Added cellular info for client + - Added WiFi direct client support + - Added terms and conditions, subscription remediation and WNM deauthentication reason URL for Hotspot 2.0 release 3 + - Added VLAN information for client + - Updated description string from User Private Network to User Defined (Private) Network"; + reference + "7.3.0"; + cisco-semver:module-version "7.3.0"; + } + revision 2020-03-01 { + description + " - Added EoGRE central forwarding + - Added central NAT status for client + - Added 802.11k Radio Measurement Enabled Capabilities of Client + - Added 802.11k Radio Measurement for Beacon Report Request (Client Scan Report) parameters + - Added parameter to indicate whether or not client's MAC address is locally administered"; + reference + "7.2.0"; + cisco-semver:module-version "7.2.0"; + } + revision 2019-11-01 { + description + " - Added User Private Network status for client + - Added L3 VLAN Override status for client + - Added User Private identity for client + - Added Device Classifier Client Operational Data + - Added AP local client state + - Added Identity PSK Tag for Client + - Added Country Name to Device Classifier Client- + Operational Data, an additional protocol for Device- + Classification + - Added Method in Client Operational Data"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2019-07-26 { + description + "- Added Hotspot 2.0 client data + - Added when constraint to wlan-id + - Added MBO client non-oper/non-preferred channel info + - Added additional information for wired clients + - Added run latency and dot11 roam type in mobility history + - Added additional information for supported channels, + host name and operating system name of the clients + - Added tx-retries and username + - Added semantic version + - Added Method in Client Operational Data"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-01-01 { + description + " - EoGRE related information and join time for client + - Add Guest Lan Client attribute + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Addition of mobility discovery throttles under CAC statistics + - Added a counter that indicates move count of foreign client + - Adding EoGRE related fields and containers + - Removed unnecessary enums from exclusion auth method + - Renamed mobility interface client stats container + - Added client mobility history data + - Removed mobility interface events stats + - Changing description of the fields + - Modified 802.11k neighbor list related information + - Added association time field"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2018-11-24 { + description + "- Remove leaf client-active + - Add Units for mm-complete-timestamp + - Remove binary encoded buffers + - Add HE capable client flag + - Add MMIF internal error statistics + - Hiding SANET and some of client oper fields"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-03-22 { + description + "Addition of location-info node. Enum value changes"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-21 { + description + "Removal of location-info node"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-09-25 { + description + "Properly indicated leaf-list ordering"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dot11i-auth-key-mgmt-type { + type enumeration { + enum akm-unknown { + value 0; + description + "The client's AKM type is Unknown"; + } + enum 8021x { + value 1; + description + "The client's AKM type is IEEE 802.1X"; + } + enum psk { + value 2; + description + "The client's AKM type is PSK"; + } + enum ft-8021x { + value 3; + description + "The client's AKM type is Fast Transition (FT)-802.1x"; + } + enum ft-psk { + value 4; + description + "The client's AKM type is Fast Transition (FT)-PSK"; + } + enum 8021x-sha256 { + value 5; + description + "The client's AKM type is IEEE 802.1X with SHA256 key derivation"; + } + enum psk-sha256 { + value 6; + description + "The client's AKM type is PSK SHA256 key derivation"; + } + enum sae { + value 8; + description + "The client's AKM type is Simultaneous Authentication of Equals (SAE)"; + } + enum ft-sae { + value 9; + description + "The client's AKM type is Fast Transition (FT)-SAE"; + } + enum suiteb-1x { + value 11; + description + "The client's AKM type is SUITEB-1X"; + } + enum suiteb192-1x { + value 12; + description + "The client's AKM type is SUITEB192-1X"; + } + enum owe { + value 18; + description + "The client's AKM type is OWE"; + } + enum ft-psk-sha384 { + value 19; + description + "The client's AKM type is Fast Transition (FT) Pre-Shared Key (PSK) + with SHA384 key derivation"; + } + enum psk-sha384 { + value 20; + description + "The client's AKM type is Pre-Shared Key (PSK) with SHA384 key + derivation"; + } + enum pasn { + value 21; + description + "The client's AKM type is Pre-Association Security Negotiation (PASN)"; + } + enum ft-8021x-sha384-unrestricted { + value 22; + description + "The client's AKM type is Fast Transition (FT) 802.1x with SHA384 + key derivation and unrestricted cipher usage"; + } + enum 8021x-sha384 { + value 23; + description + "The client's AKM type is 802.1x with SHA384 key derivation"; + } + enum sae-ext-key { + value 24; + description + "The client's AKM type is Simultaneous Authentication of Equals (SAE) with + extended key length (SAE-EXT-KEY)"; + } + enum ft-sae-ext-key { + value 25; + description + "The client's AKM type is Fast Transition (FT) - Simultaneous Authentication + of Equals (SAE) with extended key length (FT-SAE-EXT-KEY)"; + } + } + description + "List of Authentication Key Management (AKM) type(s) for the client"; + } + + typedef dot11-assoc-mode { + type enumeration { + enum ewlc-assoc-mode-unknown { + value 1; + description + "security mode unknown"; + } + enum ewlc-assoc-mode-wep { + value 2; + description + "Security mode WEP"; + } + enum ewlc-assoc-mode-wpa { + value 3; + description + "Security mode WPA"; + } + enum ewlc-assoc-mode-wpa2 { + value 4; + description + "Security mode WPA2"; + } + } + description + "Security modes for the client association"; + } + + typedef encrypt-policy { + type enumeration { + enum encryp-policy-wep104 { + value 0; + description + "The Encryption policy type for the client is WEP (104 bits)"; + } + enum encryp-policy-none { + value 1; + description + "There is no Encryption policy type for the client"; + } + enum encryp-policy-wep40 { + value 2; + description + "The Encryption policy type for the client is WEP (40 bits)"; + } + enum encryp-policy-wep128 { + value 3; + description + "The Encryption policy type for the client is WEP (128 bits)"; + } + enum encryp-policy-aes-ccm128 { + value 4; + description + "The Encryption policy type for the client is AES-CCMP (128 bits)"; + } + enum encryp-policy-tkip-mic { + value 5; + description + "The Encryption policy type for the client is TKIP-MIC"; + } + enum encryp-policy-cisco-tkip-wep40 { + value 6; + description + "The Encryption policy type for the client is CKIP-WEP (40 bits)"; + } + enum encryp-policy-cisco-tkip-wep104 { + value 7; + description + "The Encryption policy type for the client is CKIP-WEP (104 bits)"; + } + enum encryp-policy-cisco-tkip-wep128 { + value 8; + description + "The Encryption policy type for the client is CKIP-WEP (128 bits)"; + } + enum encryp-policy-ckip-kp-40 { + value 9; + description + "The Encryption policy type for the client is CKIP-KeyPermutation (40 bits)"; + } + enum encryp-policy-ckip-kp-104 { + value 10; + description + "The Encryption policy type for the client is CKIP-KeyPermutation (104 bits)"; + } + enum encryp-policy-ckip-mmh-40 { + value 11; + description + "The Encryption policy type for the client is CKIP-MMH (40 bits)"; + } + enum encryp-policy-ckip-mmh-104 { + value 12; + description + "The Encryption policy type for the client is CKIP-MMH (104 bits)"; + } + enum encryp-policy-ckip-kp-mmh-40 { + value 13; + description + "The Encryption policy type for the client is CKIP-KeyPermutation with MMH (40 bits)"; + } + enum encryp-policy-ckip-kp-mmh-104 { + value 14; + description + "The Encryption policy type for the client is CKIP-KeyPermutation with MMH (104 bits)"; + } + enum encryp-policy-wapi-sms4 { + value 15; + description + "The Encryption policy type for the client is WAPI"; + } + enum encryp-policy-aes-gcmp128 { + value 20; + description + "The Encryption policy type for the client is GCMP128"; + } + enum encryp-policy-aes-gcmp256 { + value 21; + description + "The Encryption policy type for the client is GCMP256"; + } + enum encryp-policy-aes-ccmp256 { + value 22; + description + "The Encryption policy type for the client is CCMP256"; + } + } + description + "List of encryption policy types for the client send in add mobile."; + } + + typedef cellular-network-type { + type enumeration { + enum cellular-unknown { + value 0; + description + "Client's cellular network type is unknown"; + } + enum cellular-2g { + value 1; + description + "Client's cellular network type is GPRS, EDGE, or CDMA"; + } + enum cellular-3g { + value 2; + description + "Client's cellular network type is UMTS, EVDO, HSDPA, or HSUPA"; + } + enum cellular-4g { + value 3; + description + "Client's cellular network type is LTE"; + } + enum cellular-5g { + value 4; + description + "Client's cellular network type is 5G"; + } + } + description + "This data type indicates the client's cellular network type"; + } + + typedef cellular-signal-scale { + type enumeration { + enum cellular-signal-none { + value 0; + description + "Client's cellular signal strength is unknown"; + } + enum cellular-signal-poor { + value 1; + description + "Client's cellular signal strength is poor"; + } + enum cellular-signal-moderate { + value 2; + description + "Client's cellular signal strength is moderate"; + } + enum cellular-signal-good { + value 3; + description + "Client's cellular signal strength is good"; + } + enum cellular-signal-great { + value 4; + description + "Client's cellular signal strength is great"; + } + enum cellular-signal-excellent { + value 5; + description + "Client's cellular signal strength is excellent"; + } + } + description + "This data type indicates the client's cellular signal strength"; + } + + typedef dot11-sae-pwe { + type enumeration { + enum sae-pwe-mode-none { + value 0; + description + "SAE Password Element mode unknown"; + } + enum sae-hunting-and-pecking { + value 1; + description + "SAE Password Element Hunting and Pecking"; + } + enum sae-hash-to-element { + value 2; + description + "SAE Password Element Hash to Element"; + } + } + description + "This data type indicates sae password element mode for client"; + } + + typedef emlr-mode-type { + type enumeration { + enum emlr-mode-unknown { + value 0; + description + "Enhanced multilink radio operation mode unknown"; + } + enum emlsr-capable { + value 1; + description + "Enhanced multilink single-radio operation mode"; + } + enum emlmr-capable { + value 2; + description + "Enhanced multilink multiple-radio operation mode"; + } + } + description + "This data type indicates Enhanced multilink radio operation mode for client"; + } + + typedef client-authentication-type { + type enumeration { + enum client-authentication-type-local { + value 0; + description + "The client is Locally authenticated"; + } + enum client-authentication-type-central { + value 1; + description + "The client is Centrally authenticated"; + } + enum client-is-non-hreap { + value 2; + description + "AP to which the client is connected is in local mode. Authentication type is supported only when the AP is Flex-Connect Mode"; + } + } + description + "This data type indicates whether the client is centrally (on Controller) or locally (on AP) authenticated"; + } + + typedef client-switching-mode { + type enumeration { + enum client-switching-mode-unknown { + value 0; + description + "The switching mode of the client traffic is unknown"; + } + enum local { + value 1; + description + "The client traffic is locally switched from the AP"; + } + enum central { + value 2; + description + "The client traffic is centrally switched from Wireless LAN Controller"; + } + } + description + "This data type indicates whether the data from the client is centrally (on Controller) or locally (on AP) switched"; + } + + typedef authentication-method-id { + type enumeration { + enum no-method-id { + value 0; + description + "No Authentication method"; + } + enum dot1x-auth-id { + value 1; + description + "IEEE 802.1X Authentication method"; + } + enum mab-id { + value 2; + description + "MAC Authentication method"; + } + enum web-auth-id { + value 3; + description + "Web Authentication method"; + } + enum static-method-id { + value 4; + description + "Static method"; + } + enum eou { + value 5; + description + "EAP Over UDP method"; + } + enum dot1x-supp-id { + value 6; + description + "IEEE 802.1X Supplicant method"; + } + enum sae-id { + value 7; + description + "WPA3 SAE Authentication method"; + } + enum owe-id { + value 8; + description + "WPA3 OWE Authentication method"; + } + enum ftsae-id { + value 9; + description + "WPA3 FT-SAE Authentication method"; + } + } + description + "Authentication method"; + } + + typedef dc-db-attr-type-e { + type enumeration { + enum proto-none { + value 0; + description + "Protocol Not Assigned"; + } + enum proto-oui { + value 1; + description + "Protocol OUI"; + } + enum proto-cdp { + value 2; + description + "Protocol CDP"; + } + enum proto-lldp { + value 3; + description + "Protocol LLDP"; + } + enum proto-dhcp { + value 4; + description + "Protocol DHCP"; + } + enum proto-mdns { + value 5; + description + "Protocol MDNS"; + } + enum proto-http { + value 6; + description + "Protocol HTTP"; + } + enum proto-sip { + value 7; + description + "Protocol SIP"; + } + enum proto-h323 { + value 8; + description + "Protocol H323"; + } + enum proto-snmp { + value 9; + description + "Protocol SNMP"; + } + enum proto-nmap { + value 10; + description + "Protocol Network Mapper"; + } + enum proto-dot11-device-analytics { + value 11; + description + "802.11 Association Frames for Vendor Mobile Clients"; + } + } + description + "Device Classifier Protocol Source"; + } + + typedef dc-power-type-e { + type enumeration { + enum power-none { + value 0; + description + "Power Type Not Assigned"; + } + enum ac-powered { + value 1; + description + "Power Type AC"; + } + enum dc-powered { + value 2; + description + "Power Type DC"; + } + } + description + "Device Classifier Power Type"; + } + + typedef client-recovery-failure-reason { + type enumeration { + enum shadow-record-root-not-present { + value 0; + description + "Client recovery failed due to shadow record root not present"; + } + enum shadow-record-not-present { + value 1; + description + "Client recovery failed due to shadow record not present"; + } + enum partial-del-heap-create { + value 2; + description + "Client recovery failed due to partial delete during heap recreate"; + } + enum invalid-bssid-heap-create { + value 3; + description + "Client recovery failed due to invalid bssid during heap recreate"; + } + enum poisoned-client-heap-create { + value 4; + description + "Client recovery failed due to poisoned client entry during heap recreate"; + } + enum shadow-default-heap-create { + value 5; + description + "Client recovery failed due to shadow record is in default state during heap recreate"; + } + enum zero-aid-heap-create { + value 6; + description + "Client recovery failed due to zero association identifier during heap recreate"; + } + enum invalid-bssid-force-purge { + value 7; + description + "Client recovery failed due to invalid BSSID during force purge"; + } + enum partial-del-force-purge { + value 8; + description + "Client recovery failed due to partial delete during force purge"; + } + enum partial-del-ap-recovery-fail { + value 9; + description + "Client recovery failed due to partial delete due to AP recovery failure"; + } + enum ap-slotid-mismatch-dot11-rec { + value 10; + description + "Client recovery failed due to AP slot identifier mismatch with 802.11 record"; + } + enum aid-mismatch-dot11-rec { + value 11; + description + "Client recovery failed due to association identifier mismatch with 802.11 record"; + } + enum bssid-mac-mismatch-dot11-rec { + value 12; + description + "Client recovery failed due to BSSID mac mismatch with 802.11 record"; + } + enum partial-del-mmif-del { + value 13; + description + "Client recovery failed due to partial delete due to mobility interface delete"; + } + enum partial-del-post-restart { + value 14; + description + "Client recovery failed due to partial delete post restart"; + } + enum poisoned-client-reconcilation { + value 15; + description + "Client recovery failed due to poisoned client during re-conciliation"; + } + enum partial-del-reconcilation { + value 16; + description + "Client recovery failed due to partial delete during re-conciliation"; + } + enum wgb-aid-msmtch-recnlatn { + value 17; + description + "Client recovery failed due to WGB association identifier mismatch during re-conciliation"; + } + enum bssid-msmtch-shadow-rec-recncltn { + value 18; + description + "Client recovery failed due to BSSID mismatch with shadow record"; + } + enum aid-msmtch-shadow-rec-recncltn { + value 19; + description + "Client recovery failed due to association identifier mismatch with shadow record"; + } + enum aid-slotid-msmtch-shdw-rec-recncltn { + value 20; + description + "Client recovery failed due to association identifier slot identifier mismatch with shadow record"; + } + enum rcrt-flr-lib-heap-create { + value 21; + description + "Client recovery failed due to recreate failed in library during heap recreate"; + } + enum client-force-purge { + value 22; + description + "Client recovery failed due to force purge"; + } + enum client-shadow-purge { + value 23; + description + "Client recovery failed due to purge during shadow entry purge"; + } + enum rcrt-flr-mmif-lib-heap-create { + value 24; + description + "Client recovery failed due to recreate failed in mobility interface during heap recreate"; + } + enum rcrt-flr-co-lib-heap-create { + value 25; + description + "Client recovery failed due to recreate failed in client component during heap recreate"; + } + enum rcrt-flr-sanet-lib-heap-create { + value 26; + description + "Client recovery failed due to recreate failed in authentication component during heap recreate"; + } + enum rcrt-flr-authmgr-lib-heap-create { + value 27; + description + "Client recovery failed due to recreate failed in authentication manager during heap recreate"; + } + enum rcrt-flr-dot1x-lib-heap-create { + value 28; + description + "Client recovery failed due to recreate failed in 802.1x during heap recreate"; + } + enum rcrt-flr-mab-lib-heap-create { + value 29; + description + "Client recovery failed due to recreate failed in MAB during heap recreate"; + } + enum rcrt-flr-sanet-acntg-lib-heap-create { + value 30; + description + "Client recovery failed due to recreate failed in authentication component accounting during heap recreate"; + } + enum rcrt-flr-sisf-lib-heap-create { + value 31; + description + "Client recovery failed due to recreate failed in SISF during heap recreate"; + } + enum rcrt-flr-webauth-lib-heap-create { + value 32; + description + "Client recovery failed due to recreate failed in webauth during heap recreate"; + } + enum rcrt-flr-lisp-lib-heap-create { + value 33; + description + "Client recovery failed due to recreate failed in lisp during heap recreate"; + } + enum rcrt-flr-ipv6-lib-heap-create { + value 34; + description + "Client recovery failed due to recreate failed in IPv6 during heap recreate"; + } + enum rcrt-flr-qos-lib-heap-create { + value 35; + description + "Client recovery failed due to recreate failed in QoS during heap recreate"; + } + enum rcrt-flr-mcast-lib-heap-create { + value 36; + description + "Client recovery failed due to recreation failure with multicast during heap recreate"; + } + enum rcrt-flr-unknown-lib-heap-create { + value 37; + description + "Client recovery failed due to recreation failure in unknown module during heap recreate"; + } + enum rcrt-flr-dot1x-supp-lib-heap-create { + value 38; + description + "Client recovery failed due to recreation failure with 802.1x during heap create"; + } + } + description + "Client recovery failure reason"; + } + + typedef exclude-reason { + type enumeration { + enum client-excl-config { + value 0; + description + "Statically excluded clients"; + } + enum client-excl-assoc-fail { + value 1; + description + "Client excluded due to 802.11 association failure"; + } + enum client-excl-dot11-auth-fail { + value 2; + description + "Client excluded due to 802.11 authentication failure"; + } + enum client-excl-dot1x-timeout { + value 3; + description + "Client excluded due to 802.1x authentication timeout"; + } + enum client-excl-dot1x-auth-fail { + value 4; + description + "Client excluded due to 802.1x authentication credential failure"; + } + enum client-excl-web-auth-fail { + value 5; + description + "Client excluded due to web authentication failure"; + } + enum client-excl-policy-bind-fail { + value 6; + description + "Client excluded due to policy bind fail"; + } + enum client-excl-ip-theft { + value 7; + description + "Client excluded due to IP address theft"; + } + enum client-excl-mac-theft { + value 8; + description + "Client excluded due to MAC address theft"; + } + enum client-excl-mac-and-ip-theft { + value 9; + description + "Client excluded due to MAC and IP address theft"; + } + enum client-excl-qos-policy-fail { + value 10; + description + "Client excluded due to QoS policy failure"; + } + enum client-excl-qos-policy-ap-send-fail { + value 11; + description + "Client excluded due to QoS policy failure sent to AP"; + } + enum client-excl-qos-policy-ap-bind-fail { + value 12; + description + "Client excluded due to QoS policy bind on AP failure"; + } + enum client-excl-qos-pol-ap-unbind-fail { + value 13; + description + "Client excluded due to QoS policy unbind on AP failure"; + } + enum client-excl-static-ip-anchor-fail { + value 14; + description + "Client excluded due to static IP anchor failure"; + } + enum client-excl-vlan-fail { + value 15; + description + "Client excluded due to VLAN failure"; + } + enum client-excl-acl-fail { + value 16; + description + "Client excluded due to ACL failure"; + } + enum client-excl-punt-acl-fail { + value 17; + description + "Client excluded due to redirect ACL failure"; + } + enum client-excl-accounting-fail { + value 18; + description + "Client excluded due to accounting failure"; + } + enum client-excl-cts-fail { + value 19; + description + "Client excluded due to CTS failure"; + } + enum client-excl-fqdn-no-def-fail { + value 20; + description + "Client excluded due to no FQDN filter definition"; + } + enum client-excl-fqdn-postauth-mstch-fail { + value 21; + description + "Client excluded due to post authentication FQDN filter mismatch"; + } + enum client-excl-fqdn-preauth-mstch-fail { + value 22; + description + "Client excluded due to pre authentication FQDN filter mismatch"; + } + enum client-excl-fqdn-zero-gid-fail { + value 23; + description + "Client excluded due to zero group ID for FQDN filter"; + } + enum client-excl-misc-fail { + value 24; + description + "Client excluded due to policy parameter mismatch"; + } + enum client-excl-reauth-failure { + value 25; + description + "Client excluded due to re authentication failure"; + } + enum client-excl-wrong-psk { + value 26; + description + "Client excluded due to wrong PSK"; + } + enum client-excl-policy-failure { + value 27; + description + "Client excluded due to policy failure"; + } + enum client-excl-excluded-by-peer { + value 28; + description + "Client excluded due to excluded by mobility peer"; + } + enum client-excl-sae-auth-failure { + value 29; + description + "Client excluded due to SAE authentication failure"; + } + enum client-excl-policy-template-fail { + value 30; + description + "Client excluded due to service template failure"; + } + enum client-excl-wlan-id-mismatch { + value 31; + description + "Client excluded due to WLAN ID attribute mismatch"; + } + enum client-excl-supplicant-name-fail { + value 32; + description + "Client excluded due to supplicant name failure"; + } + enum client-excl-user-name-fail { + value 33; + description + "Client excluded due to user name failure"; + } + enum client-excl-service-set-id-fail { + value 34; + description + "Client excluded due to service set identifier failure"; + } + enum client-excl-anchor-vlan-id-fail { + value 35; + description + "Client excluded due to anchor identifier failure"; + } + enum client-excl-psk-fail { + value 36; + description + "Client excluded due to PSK failure"; + } + enum client-excl-psk-mode-fail { + value 37; + description + "Client excluded due to PSK mode failure"; + } + enum client-excl-interim-interval-fail { + value 38; + description + "Client excluded due to interim interval failure"; + } + enum client-excl-linkloc-bridge-vlan-fail { + value 39; + description + "Client excluded due to link local bridging VLAN failure"; + } + enum client-excl-excess-arp-rate { + value 40; + description + "Client excluded due to excess ARP activity"; + } + enum client-excl-excess-ndp-rate { + value 41; + description + "Client excluded due to excess ND activity"; + } + enum client-excl-vrf-vlan-mismatch { + value 42; + description + "Client excluded due to VRF mismatch"; + } + } + description + "Client exclusion reasons"; + } + + typedef exclusion-client-auth-method-id { + type enumeration { + enum excl-client-auth-no-method-id { + value 0; + description + "No specified method"; + } + enum excl-client-auth-dot1x-method-id { + value 1; + description + "802.1x authentication"; + } + enum excl-client-auth-mab-method-id { + value 2; + description + "MAC authentication bypass"; + } + enum excl-client-auth-webauth-method-id { + value 3; + description + "WEB authentication"; + } + enum excl-client-auth-static-method-id { + value 4; + description + "Static authentication"; + } + } + description + "Client authentication method type"; + } + + typedef upn-status { + type bits { + bit upn-enable { + position 0; + description + "User Defined (Private) Network enable bit."; + } + bit upn-unicast-drop-enable { + position 1; + description + "User Defined (Private) Network Drop Unicast bit."; + } + } + description + "User Defined (Private) Network enable status flags for the client."; + } + + typedef protocol-map { + type bits { + bit protocol-map-oui { + position 0; + description + "OUI Based Classification Bit"; + } + bit protocol-map-cdp { + position 1; + description + "CDP Based Classification Bit"; + } + bit protocol-map-lldp { + position 2; + description + "LLDP Based Classification Bit"; + } + bit protocol-map-dhcp { + position 3; + description + "DHCP Based Classification Bit"; + } + bit protocol-map-mdns { + position 4; + description + "MDNS Based Classification Bit"; + } + bit protocol-map-http { + position 5; + description + "HTTP Based Classification Bit"; + } + bit protocol-map-sip { + position 6; + description + "SIP Based Classification Bit"; + } + bit protocol-map-h323 { + position 7; + description + "H323 Based Classification Bit"; + } + bit protocol-map-snmp { + position 8; + description + "SNMP Based Classification Bit"; + } + bit protocol-map-nmap { + position 9; + description + "Network Mapper Based Classification Bit"; + } + bit protocol-map-dot11-device-analytics { + position 10; + description + "802.11 Association Frames Based Classification Bit for different Vendors"; + } + } + description + "Flags for Protocols used for Client Classification"; + } + + grouping ms-wifi { + description + "WiFi security details of the client"; + leaf wpa-version { + type wireless-client-types:dot11-eap-wpa-version; + description + "WPA version of the client"; + } + leaf cipher-suite { + type wireless-client-types:dot11i-cipher-suite; + description + "IEEE 802.11i Cipher Suite type"; + } + leaf auth-key-mgmt { + type wireless-client-oper:dot11i-auth-key-mgmt-type; + description + "IEEE 802.11i Authentication Key Management information"; + } + leaf group-mgmt-cipher-suite { + type wireless-client-types:dot11i-cipher-suite; + description + "IEEE 802.11i Group Management Cipher Suite"; + } + leaf group-cipher-suite { + type wireless-client-types:dot11i-cipher-suite; + description + "IEEE 802.11i Group Cipher Suite"; + } + leaf pwe-mode { + type wireless-client-oper:dot11-sae-pwe; + description + "SAE Password Element Mode"; + } + leaf beacon-protection-enabled { + type empty; + description + "Beacon Protection Status"; + } + } + + grouping ms-supported-channels { + description + "List of supported channels"; + leaf-list supported-channels-list { + type uint8; + max-elements 50; + ordered-by user; + description + "List of supported channels"; + } + } + + grouping dot11k-rm-beacon-meas-req-oper { + description + "802.11k Radio Measurement for Beacon Report Request (Client Scan Report)"; + leaf period { + type uint32; + units "seconds"; + description + "Period/interval to request measurements in seconds."; + } + leaf repeat-num { + when 'not(boolean(../repeat-forever))'; + type uint32; + description + "Number of times left to repeat requests."; + } + leaf repeat-forever { + type empty; + description + "Present if continually repeating requests for measurements (until cleared)."; + } + leaf all-cisco-operating-classes { + type empty; + description + "Present if requesting beacon measurements for all Cisco network channels in set of six + operating classes: {81, 82, 115, 118, 121, 124}. False if requesting a single + operating-class."; + } + leaf operating-class { + when 'not(boolean(../all-cisco-operating-classes))'; + type uint8; + description + "Specific operating class to request beacon measurements from. Only used if + all-cisco-operating-classes is False. Validated operating classes are: + 81, 82, 115, 118, 121, 124."; + } + leaf channel-num { + type uint8; + description + "Specific channel number to request beacon measurements for. A channel number + of 0 indicates requesting for beacon measurements on all channels in the + requested operating class."; + } + leaf meas-mode { + type wireless-enum-types:dot11k-rm-beacon-measurement-scan-report-measurement-modes; + description + "Measurement mode to control how requested beacon measurements are measured. + (0) Passive - Passively measure beacons without probing. + (1) Active - Actively measure beacons with probing. + (2) Table - Report stored beacon measurements already received."; + } + leaf current-bssid { + type boolean; + description + "True if BSSID/AP to request beacon measurements for will always be the BSSID of + the AP the client is associated to."; + } + leaf bssid { + type yang:mac-address; + description + "BSSID/AP to request beacon measurements for. The wildcard BSSID is used to request + beacon measurements for all neighboring BSSs/APs."; + } + leaf current-ssid { + type boolean; + description + "True if SSID/WLAN to request beacon measurements for will always be the SSID of + the WLAN the client is associated to."; + } + leaf ssid { + type string; + description + "SSID name to request beacon measurements for. An empty (zero-length) + SSID string is used to request beacon measurements for all WLAN/SSIDs, + even from rogue networks/APs."; + } + leaf default-rand-interval { + type boolean; + description + "True if the maximum start delay (randomization interval) for the client to start beacon + measurements is set to the default of passive/active = 128 msec, table = 0 msec."; + } + leaf rand-interval { + type uint32; + units "milliseconds"; + description + "Randomization Interval: Maximum measurement start delay for the client to randomly + start the beacon measurement in msec."; + } + leaf default-meas-duration { + type boolean; + description + "True if the measurement duration for the client to measure beacons is set to the default + of passive = 112 msec, active = 112 msec, table = 0 msec."; + } + leaf meas-duration { + type uint32; + units "milliseconds"; + description + "Measurement Duration: Maximum measurement duration for client to measure beacons in msec."; + } + leaf dialog-token { + type uint8; + description + "Dialog token used in the last request, beginning from 1 and wrapping at 255."; + } + leaf last-req-trigger { + type wireless-enum-types:dot11k-rm-beacon-measurement-scan-report-triggers; + description + "Action which triggered the last request to be sent."; + } + leaf last-req-time { + type yang:date-and-time; + description + "Timestamp of when last request was sent."; + } + leaf next-req-time { + type yang:date-and-time; + description + "Timestamp of when next request will be sent."; + } + leaf last-report-time { + type yang:date-and-time; + description + "Timestamp of when the last beacon scan report was received."; + } + } + + grouping dot11-wfd-client-cap { + description + "WiFi direct client capabilities"; + leaf wifi-direct-capable { + type boolean; + description + "Whether client is WiFi direct capable"; + } + leaf is-wlan-infra-managed { + when "../wifi-direct-capable = 'true'"; + type boolean; + description + "Whether client is capable of being managed by the WLAN "; + } + leaf is-concurrent-oper-capable { + when "../wifi-direct-capable = 'true'"; + type boolean; + description + "Whether client supports concurrent operation with WLAN"; + } + leaf is-providing-xconnect { + when "../wifi-direct-capable = 'true'"; + type boolean; + description + "Whether client is hosting a P2P Group that provides cross connection"; + } + } + + grouping ewlc-eogre-client { + description + "EoGRE Client information"; + leaf is-eogre { + type boolean; + description + "Whether this is an EoGRE client"; + } + leaf previous-match-reason { + type wireless-enum-types:eogre-client-match-reason; + description + "Previous output of the match process of client to EoGRE client"; + } + leaf match-reason { + type wireless-enum-types:eogre-client-match-reason; + description + "Output of the match process of client to EoGRE client"; + } + leaf is-aaa-data { + type boolean; + description + "Is AAA override received for this client"; + } + leaf realm { + type string; + description + "Client's realm matching EoGRE rule"; + } + leaf vlan { + type uint16 { + range "1 .. 4094"; + } + description + "Vlan tagging for EoGRE client traffic"; + } + leaf domain { + type string; + description + "EoGRE domain"; + } + leaf primary-gw { + type inet:ip-address; + description + "IP address of the primary gateway"; + } + leaf secondary-gw { + type inet:ip-address; + description + "IP address of the secondary gateway"; + } + leaf plumbed-gw { + type string; + description + "Tunnel Gateway Name programmed to carry client traffic"; + } + leaf tunnel-ifid { + type uint32; + description + "Tunnel Gateway datapath index"; + } + leaf is-central-fwd { + type boolean; + description + "Client is centrally forwarded"; + } + } + + grouping client-dot11k-neighbor-list { + description + "802.11k neighbor list"; + leaf-list dot11k-neighbor { + type yang:mac-address; + max-elements 9; + ordered-by user; + description + "Neighbor Radio Identifier"; + } + } + + grouping hotspot20-data { + description + "Mobile station Hotspot 2.0 information"; + leaf is-hs20 { + type boolean; + description + "is Hotspot 2.0 data received for this client"; + } + leaf version { + type wireless-enum-types:enm-hs20-supported-version; + description + "Supported Hotspot release version"; + } + leaf consortium-oi { + type string; + description + "Roaming consortium membership OI"; + } + leaf pps-mo-id { + type uint16; + description + "Per provider subscription"; + } + leaf swt-timer { + type uint16; + description + "Session Warning Timer value"; + } + leaf swt-timestamp { + type yang:date-and-time; + description + "SWT timestamp"; + } + leaf terms-conditions-url { + type string; + description + "Terms and conditions URL"; + } + leaf subscription-remediation-url { + type string; + description + "Subscription remediation URL"; + } + leaf deauth-reason-url { + type string; + description + "WNM deauthentication reason URL"; + } + } + + grouping st-ap-local-client-state { + description + "State for locally authenticated/associated client"; + leaf-list acl-names { + type string; + max-elements 25; + ordered-by user; + description + "Client's ACL list"; + } + leaf-list client-state-servers { + type yang:mac-address; + max-elements 10; + ordered-by user; + description + "List of client's state backup servers"; + } + } + + grouping cellular-information { + description + "Client's cellular information"; + leaf capable { + type boolean; + description + "Indicates whether client is cellular capable"; + } + leaf network-type { + type wireless-client-oper:cellular-network-type; + description + "Cellular network type"; + } + leaf signal-scale { + type wireless-client-oper:cellular-signal-scale; + description + "Cellular signal strength(none,poor,moderate,good,great,excellent)"; + } + leaf cell-id { + type uint16; + description + "Cellular cell identifier"; + } + } + + grouping link-info-min { + description + "Multi link information of the client"; + leaf sta-mac { + type yang:mac-address; + description + "STA or Link MAC address of the client"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio band of the link"; + } + leaf stats-index { + type uint8; + status deprecated; + description + "Statistics index of the link"; + } + } + + grouping link-info { + description + "Multi link information of the client"; + leaf sta-mac { + type yang:mac-address; + description + "STA or Link MAC address of the client"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio band of the link"; + } + leaf bss-mac-addr { + type yang:mac-address; + description + "BSS MAC or AP MAC address of the link"; + } + leaf slot-id { + type uint8; + description + "Slot ID of the link"; + } + leaf radio-type { + type wireless-client-types:ms-radio-type; + description + "Radio type of the link"; + } + leaf stats-index { + type uint8; + status deprecated; + description + "Statistics index of the link"; + } + } + + grouping ewlc-client-dot11-oper-data { + description + "IEEE 802.11 operational data of the client"; + leaf ms-mac-address { + type yang:mac-address; + description + "Mac Address of the Client"; + } + leaf dot11-state { + type wireless-client-types:dot11-state; + description + "DOT11 status for Client"; + } + leaf ms-bssid { + type yang:mac-address; + description + "Basic Service Set Identifier to which the Mobile station is connected. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + leaf ap-mac-address { + type yang:mac-address; + description + "MAC Address of the Access Point to which the client has joined. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + leaf current-channel { + type uint8; + description + "Current Channel on which the wireless client is communicating with Access Point in the wireless LAN."; + } + leaf ms-wlan-id { + type uint32; + description + "Wireless LAN ID to which the client is connected in the wireless network."; + } + leaf vap-ssid { + when "(../ewlc-ms-phy-type!='client-802-3')"; + type string; + description + "Service Set Identifier (SSID) of the Wireless LAN to which the client is connected."; + } + leaf policy-profile { + type string; + description + "Policy profile applied on the Wireless LAN to which the wireless client is connected"; + } + leaf ms-ap-slot-id { + type uint8; + description + "Slot ID of the access point radio on which the wireless client is connected, slot 255 represents invalid slot ID."; + } + leaf radio-type { + type wireless-client-types:ms-radio-type; + description + "Type of the Radio of the AP to which the client is associated"; + } + leaf ms-association-id { + type uint16; + description + "Association ID of the mobile station"; + } + leaf ms-auth-alg-num { + type wireless-client-types:auth-algo; + description + "Authentication algorithm"; + } + leaf ms-reason-code { + type wireless-client-types:reason-code; + description + "Updated when the mobile station sends an unsolicited deauthentication or disassociation frame"; + } + leaf ms-assoc-time { + type yang:date-and-time; + description + "The time at which the association request is received from the mobile station to wireless LAN."; + } + leaf is-11g-client { + type boolean; + description + "Flag indicating whether the client is connected through IEEE 802.11g protocol"; + } + leaf ms-supported-rates-str { + type string; + description + "Supported radio rates by mobile station"; + } + container ms-wifi { + description + "WiFi security of Mobile Station used during the association."; + uses wireless-client-oper:ms-wifi; + } + leaf ms-wme-enabled { + type boolean; + description + "Indicator whether Wireless Multimedia Extensions is enabled, or not"; + } + leaf dot11w-enabled { + type boolean; + description + "Flag indicator for IEEE 802.11w feature is enabled"; + } + container dot11k-neighbor-list { + description + "802.11k neighbor list"; + uses wireless-client-oper:client-dot11k-neighbor-list; + } + leaf ewlc-ms-phy-type { + type wireless-client-types:ms-phy-radio-type; + description + "Radio PHY type to which the wireless mobile station is connected"; + } + leaf encryption-type { + type wireless-client-oper:encrypt-policy; + description + "Encryption policy used by the client while communicating with Access Point."; + } + leaf security-mode { + type wireless-client-oper:dot11-assoc-mode; + description + "Security mode for the client association"; + } + leaf client-wep-policy-type { + type wireless-client-types:client-wep-policy-type; + description + "Client Wired Equivalent Privacy (WEP) policy type"; + } + leaf bss-trans-capable { + type boolean; + description + "Indicator whether the client is IEEE 802.11v capable"; + } + leaf ms-apple-capable { + type boolean; + description + "Indicator whether client has Fastlane Support"; + } + leaf wlan-profile { + type string; + description + "Profile applied on the Wireless/Remote/Guest LAN to which the client is connected"; + } + leaf dms-capable { + type boolean; + description + "Indicator if client is Directed Multicast Service (DMS) Capable"; + } + container eogre-client { + description + "EoGRE Client information"; + uses wireless-client-oper:ewlc-eogre-client; + } + container ms-hs20-data { + description + "Hotspot client info"; + uses wireless-client-oper:hotspot20-data; + } + leaf qosmap-capable { + type boolean; + description + "QoS Map Capability"; + } + leaf-list non-oper-chan { + type uint8; + max-elements 64; + ordered-by user; + description + "List of client's non-operable channels"; + } + leaf-list non-prefer-chan { + type uint8; + max-elements 64; + ordered-by user; + description + "List of client's non-prefer channels"; + } + container ms-supported-channels-list { + description + "List of supported channels"; + uses wireless-client-oper:ms-supported-channels; + } + container ap-local-client-state { + description + "AP local client state"; + uses wireless-client-oper:st-ap-local-client-state; + } + leaf rm-capabilities { + type wireless-types:flag-dot11k-rm-capabilities; + description + "802.11k Radio Measurement Enabled Capabilities"; + } + container dot11k-rm-beacon-meas-req-parameters { + description + "802.11k Radio Measurement for Beacon Report Request (Client Scan Report)"; + uses wireless-client-oper:dot11k-rm-beacon-meas-req-oper; + } + container cellular-info { + description + "Contains client's cellular information"; + uses wireless-client-oper:cellular-information; + } + container wifi-direct-client-capabilities { + description + "WiFi direct (P2P) client capabilities"; + uses wireless-client-oper:dot11-wfd-client-cap; + } + leaf wtc-support { + type boolean; + description + "Client's WIFI to cellular steering support"; + } + leaf abr-support { + type boolean; + description + "Client's aggregate beacon request support"; + } + leaf wtc-resp { + type boolean; + description + "Indicates whether client send WIFI to cellular response in BSS transition response"; + } + leaf wtc-resp-code { + type uint8; + description + "Client's WIFI to cellular response code"; + } + leaf dot11-6ghz-cap { + type boolean; + description + "Indicates whether this client is 6Ghz capable"; + } + leaf link-local-enable { + type boolean; + description + "Indicates whether the link-local bridging feature is enabled for this client"; + } + leaf link-local-vlan-id { + when "../link-local-enable = 'true' and /client-oper-data/mobility-oper-data[ms-mac-addr = current()/../ms-mac-address]/mm-client-role != 'mm-client-role-anchor'"; + type uint16; + description + "The link-local bridge VLAN for this client"; + } + leaf eht-capable { + type boolean; + description + "Extreme High Throughput capable client"; + } + leaf multi-link-client { + type boolean; + description + "The client has multiple links"; + } + list multilink-info { + max-elements 8; + description + "Multi link information of the client"; + uses wireless-client-oper:link-info; + } + list known-link-info { + max-elements 8; + description + "Known Multi link information of the client"; + uses wireless-client-oper:link-info-min; + } + leaf emlr-mode { + type wireless-client-oper:emlr-mode-type; + description + "Enhanced multilink radio operation mode supported by the client"; + } + leaf str-capable { + type boolean; + description + "Simultaneous transmit and receive capable in multi link operation"; + } + } + + grouping mmif-client-mobility-history-entry { + description + "Client association and mobility history data"; + leaf instance-id { + type uint32; + description + "Wireless management process instance to which client has associated"; + } + leaf ms-ap-slot-id { + type uint32; + description + "Wireless access point slot ID to which client has connected, slot 255 represents invalid slot ID."; + } + leaf ms-assoc-time { + type yang:date-and-time; + description + "Client association timestamp"; + } + leaf role { + type wireless-mobility-types:mm-client-role; + description + "Client mobility role"; + } + leaf bssid { + type yang:mac-address; + description + "BSSID to which client has associated"; + } + leaf ap-name { + type string; + description + "Name of wireless access point to which client has associated"; + } + leaf run-latency { + type uint32; + units "milli-seconds"; + description + "Time taken by client to reach 'RUN' state"; + } + leaf dot11-roam-type { + type wireless-mobility-types:dot11-client-roam-type; + description + "Dot11 roam type"; + } + leaf is-mlo-assoc { + type wireless-mobility-types:mm-assoc-type; + description + "Multilink Association type"; + } + } + + grouping mmif-client-mobility-history { + description + "List of client's association and mobility history entries"; + list entry { + description + "Client association and mobility history entry"; + uses wireless-client-oper:mmif-client-mobility-history-entry; + } + } + + grouping mmif-client-history { + description + "Client association and mobility history"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + container mobility-history { + description + "Client association and mobility history of client"; + uses wireless-client-oper:mmif-client-mobility-history; + } + } + + grouping mmif-client-stats { + description + "Mobility Interface client statistics"; + leaf client-mac { + type yang:mac-address; + description + "MAC Address of the wireless client. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + container mblty-stats { + description + "Mobility Interface mobility event statistics"; + uses wireless-mobility-types:mmif-mobility-stats; + } + list ipc-stats { + max-elements 255; + description + "Inter-process messaging statistics for mobility control CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + } + + grouping ewlc-mafsm-oper-data { + description + "Client mobility data"; + leaf ms-mac-addr { + type yang:mac-address; + description + "MAC address of wireless mobile station"; + } + leaf mm-client-role { + type wireless-mobility-types:mm-client-role; + description + "Mobility role of wireless mobile stations on Wireless LAN Controller"; + } + leaf mm-client-roam-type { + type wireless-mobility-types:mm-client-roam-type; + description + "Roam type indicates Layer 2 or Layer 3 mobility roam by client"; + } + leaf mm-instance { + type uint32; + description + "Move count of client indicating number of inter-controller roams performed by client"; + } + leaf mm-complete-timestamp { + type yang:date-and-time; + description + "Timestamp at which mobility discovery was completed for client"; + } + leaf mm-remote-tunnel-ip { + type inet:ip-address; + description + "Primary IP address of mobility peer for an anchor or foreign client"; + } + leaf mm-remote-tunnel-sec-ip { + type inet:ip-address; + description + "Secondary IP address of mobility peer for an anchor or foreign client"; + } + leaf mm-remote-platform-id { + type uint8; + description + "Platform ID of mobility peer for an anchor or foreign client"; + } + leaf mm-remote-tunnel-id { + type uint32; + description + "Mobility peer tunnel identifier for an anchor or foreign client"; + } + leaf mm-anchor-ip { + type inet:ip-address; + description + "Anchor wireless LAN controller's address for a foreign client"; + } + } + + grouping ewlc-client-wlan-policy { + description + "Client WLAN policy"; + leaf current-switching-mode { + type wireless-client-oper:client-switching-mode; + description + "Client traffic can be switched locally from Access Point or Centrally from the Wireless LAN Controller. Current switching mode indicates the type of switched used for the client traffic"; + } + leaf wlan-switching-mode { + type wireless-client-oper:client-switching-mode; + description + "All clients joined the Wireless LAN will have the same traffic switching mode. Wlan switching mode, which is initialized based on the WLAN properties"; + } + leaf central-authentication { + type wireless-client-oper:client-authentication-type; + description + "Indicator of whether the client is centrally through Wireless LAN Controller or locally through Access Point authenticated. NA for clients connected to Local Mode Access Points"; + } + leaf central-dhcp { + type boolean; + description + "Indicator of whether the client is centrally through Wireless LAN Controller or locally through Access Point gets IP address using DHCP."; + } + leaf central-assoc-enable { + type boolean; + description + "Indicator of whether the client is centrally through Wireless LAN Controller or locally through Access Point gets Associated to the Wireless LAN."; + } + leaf vlan-central-switching { + type boolean; + description + "Client traffic can be switched locally from Access Point or Centrally from the Wireless LAN Controller. Vlan based switching mode indicates the client traffic is switched based on the vlan using central switching mode."; + } + leaf is-fabric-client { + type boolean; + description + "Indicator of whether the client is associated to Wireless WLAN broadcasted by Access Point in the Fabric Network."; + } + leaf is-guest-fabric-client { + type boolean; + description + "Indicator of whether the client is associated to Guest Wireless WLAN broadcasted by Access Point in the Fabric Network."; + } + leaf upn-bit-flag { + type wireless-client-oper:upn-status; + description + "Indicator of User Defined (Private) Network enabled status for the client."; + } + } + + grouping guest-lan-data { + description + "Client Information specific to Wired Guest clients"; + leaf wired-vlan { + type uint16; + description + "In wired guest scenario on Foreign controller: the VLAN the client joins and is learned"; + } + leaf phy-ifid { + type uint32; + description + "In wired guest scenario on Foreign controller: the physical interface ID the clients joins"; + } + leaf idle-time-seconds { + type uint32; + units "seconds"; + description + "For guest-lan clients on foreign controller, the idle time of the client, measured in seconds"; + } + } + + grouping ipsk-p2p-tag { + description + "PSK P2P tag"; + leaf-list ipsk-tag-value { + type uint8; + max-elements 8; + ordered-by user; + description + "PSK P2P tag value which is computed based on the wlan profile name and PSK passphrase"; + } + } + + grouping ewlc-client-common-oper-data { + description + "Client Common Operational Data"; + leaf client-mac { + type yang:mac-address; + description + "MAC Address of the wireless mobile station. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + leaf ap-name { + type string; + description + "The Access Point name to which the client is connected in the Wireless Network"; + } + leaf ms-ap-slot-id { + type uint8; + description + "The radio slot on the access point to which the client is connected in the wireless network, slot 255 represents invalid slot ID."; + } + leaf ms-radio-type { + type wireless-client-types:ms-phy-radio-type; + description + "The Wireless Radio type of the client using which it has connected to the Access Point in the Wireless Network"; + } + leaf wlan-id { + when "(../client-type!='client-802-3-guest-lan') and (../client-type!='dot11-client-rlan')"; + type uint32; + description + "Wireless LAN Id indicates the unique Wireless LAN to which the client is connected"; + } + leaf client-type { + type wireless-client-types:ms-client-type; + description + "Client traffic can be switched locally from Access Point in HREAP mode or Centrally from the Wireless LAN Controller in the Local mode. Client Type indicates the wireless network type to which the client is connected based on the traffic switching type."; + } + leaf co-state { + type wireless-client-types:client-co-state; + description + "The state of the client indicates the last phase of the association the client has been able to complete successfully."; + } + leaf aaa-override-passphrase { + type boolean; + description + "AAA override passphrase enabled"; + } + leaf is-tvi-enabled { + type boolean; + description + "The Encrypted Traffic Analytics can be enabled on Wireless LANs. This flag indicates the enablement of the Encrypted Traffic Analytics for the client."; + } + container wlan-policy { + description + "Wireless LAN policy inherited by the wireless client after joining to the Wireless LAN."; + uses wireless-client-oper:ewlc-client-wlan-policy; + } + leaf username { + type string; + description + "Username of the client"; + } + container guest-lan-client-info { + description + "Guest LAN Client information"; + uses wireless-client-oper:guest-lan-data; + } + leaf method-id { + type wireless-client-oper:authentication-method-id; + description + "Method Identifier"; + } + leaf l3-vlan-override-received { + type boolean; + description + "Client received a VLAN Override after L3 authentication"; + } + container ipsk-tag { + description + "PSK tag of the Client"; + uses wireless-client-oper:ipsk-p2p-tag; + } + leaf upn-id { + type uint32; + description + "User Defined (Private) Network Identity"; + } + leaf is-central-nat { + type empty; + description + "Is central NAT enabled for this Client"; + } + leaf is-locally-administered-mac { + type boolean; + description + "Is client's MAC address locally administered"; + } + leaf idle-timeout { + type uint32; + units "seconds"; + description + "Client idle state timeout: Amount of time before idle clients get deleted"; + } + leaf idle-timestamp { + type yang:date-and-time; + description + "Timestamp of when client moved to idle state"; + } + leaf client-duid { + type string; + description + "Client device user identity"; + } + leaf l3-access-enabled { + type boolean; + description + "Client Layer 3 access enabled"; + } + leaf vrf-name { + type string; + description + "VRF Name"; + } + leaf multi-link-client { + type boolean; + description + "Multi Link client"; + } + } + + grouping ewlc-client-stats-oper-data { + description + "Client Statistical Operational data"; + leaf ms-mac-address { + type yang:mac-address; + description + "MAC Address of the wireless mobile station. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + leaf bytes-rx { + type uint64; + description + "The number of bytes of wireless data traffic received from the Mobile station on a particular Wireless LAN."; + } + leaf bytes-tx { + type uint64; + description + "The number of bytes of wireless data traffic transmitted to the Mobile station on a particular Wireless LAN."; + } + leaf policy-errs { + type uint64; + description + "Mobile station policy errors"; + } + leaf pkts-rx { + type uint64; + description + "The number of packets of wireless data traffic received from the Mobile station on a particular Wireless LAN."; + } + leaf pkts-tx { + type uint64; + description + "The number of packets of wireless data traffic transmitted to the Mobile station on a particular Wireless LAN."; + } + leaf data-retries { + type uint64; + description + "The number of retries a wireless mobile station has executed for the wireless data traffic on a particular Wireless LAN."; + } + leaf rts-retries { + type uint64; + description + "Number of frames received with the retry bit set"; + } + leaf duplicate-rcv { + type uint64; + description + "Number of duplicate frames received"; + } + leaf decrypt-failed { + type uint64; + description + "Number of decrypt failed packets"; + } + leaf mic-mismatch { + type uint64; + description + "The number of packets from wireless mobile station for which Message Integrity Check (MIC) mismatch occured on a particular Wireless LAN."; + } + leaf mic-missing { + type uint64; + description + "The number of packets from wireless mobile station for which Message Integrity Check (MIC) missing occured on a particular Wireless LAN."; + } + leaf most-recent-rssi { + type int8; + description + "RSSI is the relative received signal strength in a wireless environment, is an indication of the power level being received by the receive radio after the antenna and possible cable loss. Last updated Radio Signal Strength indicator is recorded."; + } + leaf most-recent-snr { + type uint8; + description + "Signal-to-noise ratio (abbreviated SNR or S/N) is a measure used in science and engineering that compares the level of a desired signal to the level of background noise. Last updated Signal To Noise Ratio is recorded."; + } + leaf tx-excessive-retries { + type uint64; + description + "Mobile station excessive retries"; + } + leaf tx-retries { + type uint64; + description + "Number of frames transmitted with the Retry bit set"; + } + leaf power-save-state { + type uint8; + description + "Power save state"; + } + leaf current-rate { + type string; + units "Mbps"; + description + "Current Rate"; + } + leaf speed { + type uint32; + description + "Latest speed of the connected client."; + } + leaf spatial-stream { + type uint32; + description + "Number of Spatial Streams supported by the client."; + } + leaf client-active { + type boolean; + description + "Identification for client status as active"; + } + leaf glan-stats-update-timestamp { + type yang:date-and-time; + description + "For guest-lan clients, time when statistics were last updated"; + } + leaf glan-idle-update-timestamp { + type yang:date-and-time; + description + "For guest-lan clients, time when idle time was last updated"; + } + leaf rx-group-counter { + type uint64; + description + "The total count of broadcast and multicast frames sent by the client"; + } + leaf tx-total-drops { + type uint64; + description + "Number of packets which failed to be transmitted to the client for any reason"; + } + leaf last-stats-update { + type yang:timeticks; + description + "Last updated time of client statistics"; + } + } + + grouping ewlc-ml-client-stats-oper-data { + description + "Multi-link client statistical operational data"; + leaf mlo-mac-addr { + type yang:mac-address; + description + "Multi-link MAC address of the wireless mobile station. MAC addresses are used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi and Bluetooth."; + } + leaf last-stats-update { + type yang:timeticks; + description + "Last updated time of client statistics"; + } + leaf multi-link-client { + type boolean; + description + "Multi-link capable client"; + } + list link-level-stats { + max-elements 5; + description + "Client statistical operational data per Link"; + uses wireless-client-oper:ewlc-client-stats-oper-data; + } + leaf total-links-dropped { + type uint32; + description + "No. of links dropped due to downsizing to max links supported"; + } + } + + grouping client-wsa-info { + description + "Client wireless service assurance information"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf device-hostname { + type string; + description + "Device hostname"; + } + leaf device-os { + type string; + description + "Device operating system"; + } + } + + grouping dc-client-info { + description + "Device Classification info of client"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf device-type { + type string; + description + "Client Device Classification"; + } + leaf protocol-map { + type wireless-client-oper:protocol-map; + description + "A Map of Protocols used for Device Classification"; + } + leaf confidence-level { + type uint32; + description + "Confidence Level of classification"; + } + leaf classified-time { + type yang:date-and-time; + description + "Time of Classification"; + } + leaf day-zero-dc { + type string; + description + "MAC based Device Classification"; + } + leaf sw-version { + when "(../sw-version-src != 'proto-none') and (../sw-version-src != 'proto-dot11-device-analytics')"; + type string; + description + "Software Version of the Client"; + } + leaf sw-version-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's software version info"; + } + leaf device-os { + when "(../device-os-src != 'proto-none')"; + type string; + description + "Device Operating System"; + } + leaf device-sub-version { + when "(../device-os-src != 'proto-none')"; + type string; + description + "Device Sub-Version"; + } + leaf device-os-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's operating system info"; + } + leaf device-name { + type string; + description + "Name of the Device"; + } + leaf device-vendor { + when "(../device-vendor-src != 'proto-none')"; + type string; + description + "Device Vendor"; + } + leaf device-vendor-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's vendor info"; + } + leaf sales-code { + when "(../sales-code-src != 'proto-none') and (../sales-code-src != 'proto-dot11-device-analytics')"; + type string; + description + "Sales Code for Devices"; + } + leaf sales-code-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's sales code info"; + } + leaf device { + when "(../device-src != 'proto-none') and (../device-src != 'proto-dot11-device-analytics')"; + type string; + description + "Form of the Device"; + } + leaf device-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's form info"; + } + leaf country-name { + when "(../country-name-src != 'proto-none') and (../country-name-src != 'proto-dot11-device-analytics')"; + type string; + description + "Country of the Device"; + } + leaf country-name-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network Protocol used as a source of device's country name info"; + } + leaf model-name { + when "(../model-name-src != 'proto-none')"; + type string; + description + "Model name of the device"; + } + leaf model-name-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device model name info"; + } + leaf power-type { + when "(../power-type-src != 'proto-none')"; + type wireless-client-oper:dc-power-type-e; + description + "Power type of the device"; + } + leaf power-type-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device power type info"; + } + leaf hw-model { + when "(../hw-model-src != 'proto-none')"; + type string; + description + "Hardware model of the device"; + } + leaf hw-model-src { + type wireless-client-oper:dc-db-attr-type-e; + description + "Network protocol used as a source of device hardware model info"; + } + } + + grouping epm-svc-block { + description + "Policy Service block"; + leaf mac { + type yang:mac-address; + description + "MAC address of the client"; + } + leaf res-vlan-id { + type uint32; + description + "VLAN ID associated with client"; + } + leaf res-vlan-name { + type string; + description + "VLAN name associated with client"; + } + } + + grouping sisf-db-ip-key { + description + "IP address information of client."; + leaf zone-id { + type uint32; + description + "Zone identifier"; + } + leaf ip-addr { + type inet:ip-address; + description + "IP address of client"; + } + } + + grouping sisf-db-mac-ip-binding { + description + "MAC address to IP binding"; + container ip-key { + description + "IP address"; + uses wireless-client-oper:sisf-db-ip-key; + } + } + + grouping sisf-db-mac-entry { + description + "MAC address to IP binding"; + leaf mac-addr { + type yang:mac-address; + description + "MAC address"; + } + container ipv4-binding { + description + "IPv4 binding"; + uses wireless-client-oper:sisf-db-mac-ip-binding; + } + list ipv6-binding { + max-elements 8; + description + "IPv6 binding"; + uses wireless-client-oper:sisf-db-mac-ip-binding; + } + } + + grouping client-recovery-info { + description + "Client recovery informations"; + leaf client-mac { + type yang:mac-address; + description + "Recovered client MAC address"; + } + leaf recovery-failure { + type wireless-client-oper:client-recovery-failure-reason; + description + "Recovery failure reason"; + } + } + + grouping st-client-exclusion-data { + description + "Client exclusion information"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf exclusion-time { + type yang:date-and-time; + status deprecated; + description + "Client exclusion time"; + } + leaf exclude-reason { + type wireless-client-oper:exclude-reason; + description + "Client exclusion reason"; + } + leaf authentication-method { + type wireless-client-oper:exclusion-client-auth-method-id; + description + "Client authentication method"; + } + leaf ms-radio-type { + type wireless-client-types:ms-phy-radio-type; + description + "Radio type used to join AP"; + } + leaf ms-username { + type string; + description + "Client username"; + } + leaf ap-mac-addr { + type yang:mac-address; + description + "AP MAC address"; + } + leaf ap-name { + type string; + description + "AP name"; + } + leaf ap-slot-id { + type uint8; + description + "AP slot identifier"; + } + leaf wlan-id { + type uint32; + status deprecated; + description + "WLAN identifier"; + } + leaf configured-lan-id { + type uint32; + description + "Configured LAN identifier"; + } + leaf wlan-ssid { + type string; + description + "WLAN name"; + } + leaf vlan-id { + type uint32; + description + "VLAN identifier"; + } + leaf ip-addr { + type inet:ip-address; + description + "Client IP address"; + } + leaf client-type { + type wireless-client-types:ms-client-type; + description + "Client type"; + } + } + + container client-oper-data { + config false; + description + "Root container of wireless client operational parameters"; + list common-oper-data { + key "client-mac"; + description + "List containing common operational data of the client"; + uses wireless-client-oper:ewlc-client-common-oper-data; + } + list dot11-oper-data { + key "ms-mac-address"; + description + "Container for capturing the 802.11 operational data of the client"; + uses wireless-client-oper:ewlc-client-dot11-oper-data; + } + list mobility-oper-data { + key "ms-mac-addr"; + description + "Container for capturing mobility operational data of client"; + uses wireless-client-oper:ewlc-mafsm-oper-data; + } + list mm-if-client-stats { + key "client-mac"; + description + "Container for capturing client Mobility Interface stats"; + uses wireless-client-oper:mmif-client-stats; + } + list mm-if-client-history { + key "client-mac"; + description + "Container for capturing client mobility history"; + uses wireless-client-oper:mmif-client-history; + } + list traffic-stats { + key "ms-mac-address"; + description + "Container for capturing the client traffic statistics info"; + uses wireless-client-oper:ewlc-client-stats-oper-data; + } + list ml-traffic-stats { + key "mlo-mac-addr"; + description + "Container for capturing the multi-link client traffic statistics info"; + uses wireless-client-oper:ewlc-ml-client-stats-oper-data; + } + list policy-data { + key "mac"; + description + "Container for capturing the Client VLAN info"; + uses wireless-client-oper:epm-svc-block; + } + list exclusion-data { + key "client-mac"; + description + "Client exclusion informations"; + uses wireless-client-oper:st-client-exclusion-data; + } + list client-wsa-info { + key "client-mac"; + description + "Wireless service assurance info for client"; + uses wireless-client-oper:client-wsa-info; + } + list sisf-db-mac { + key "mac-addr"; + description + "List containing IPv4 binding and multiple IPv6 bindings info"; + uses wireless-client-oper:sisf-db-mac-entry; + } + list client-recovery-stats { + key "client-mac"; + description + "Client recovery stats"; + uses wireless-client-oper:client-recovery-info; + } + list dc-info { + key "client-mac"; + description + "Device Classifier Client Operational Data"; + uses wireless-client-oper:dc-client-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-rpc.yang new file mode 100644 index 000000000..8917480e2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-rpc.yang @@ -0,0 +1,209 @@ +module Cisco-IOS-XE-wireless-client-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-client-rpc"; + prefix wireless-client-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for wireless client features. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added RPC for client deauthentication and clear pmk cache"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-03-01 { + description + "- Zone-id support for clear device-tracking command"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef client-identifier-type { + type enumeration { + enum client-identifier-mac-address { + value 0; + description + "Client MAC address"; + } + enum client-identifier-ip-address { + value 1; + description + "Client IP address"; + } + enum client-identifier-username { + value 2; + description + "Client Username"; + } + } + description + "Client identification type"; + } + + grouping apf-ms-delete-all { + description + "Delete wireless client based on client MAC or IP address or username"; + leaf zone-id { + type int32; + default "0"; + description + "Binding entry zone-id"; + } + choice alternative-choice { + mandatory true; + description + "Alternative choice"; + case client-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "MAC address"; + } + } + case client-identifier-ip-address { + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "IP address"; + } + } + case client-identifier-username { + leaf user-name { + type string; + mandatory true; + description + "Username"; + } + } + } + } + + grouping clear-sisf-binding-state { + description + "Delete client binding entry based on client MAC and entry state"; + leaf entry-mac-address { + type yang:mac-address; + mandatory true; + description + "Wireless Client MAC address"; + } + leaf binding-state { + type wireless-enum-types:enm-sisf-binding-state; + mandatory true; + description + "Client binding state"; + } + } + + grouping clear-sisf-binding-ip { + description + "Delete client binding entry based on client MAC and IP address"; + leaf entry-mac-address { + type yang:mac-address; + mandatory true; + description + "Wireless Client MAC address"; + } + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Binding entry IP address"; + } + leaf zone-id { + type uint32; + default "0"; + description + "Binding entry zone-id"; + } + } + + grouping clear-pmk-cache { + description + "Clear client pmk cache"; + leaf address { + type yang:mac-address; + mandatory true; + description + "Wireless Client MAC address"; + } + } + + rpc apf-ms-delete-all { + description + "Delete wireless client based on client MAC or IP address or username"; + input { + uses wireless-client-rpc:apf-ms-delete-all; + } + } + + rpc clear-sisf-binding-state { + description + "Delete client binding entry based on client MAC and entry state"; + input { + uses wireless-client-rpc:clear-sisf-binding-state; + } + } + + rpc clear-sisf-binding-ip { + description + "Delete client binding entry based on client MAC and IP address"; + input { + uses wireless-client-rpc:clear-sisf-binding-ip; + } + } + + rpc clear-pmk-cache { + description + "Clear client pmk cache"; + input { + uses wireless-client-rpc:clear-pmk-cache; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-types.yang new file mode 100644 index 000000000..9920813f1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-client-types.yang @@ -0,0 +1,2667 @@ +module Cisco-IOS-XE-wireless-client-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-client-types"; + prefix wireless-client-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless client data types. + Copyright (c) 2016-2019, 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added new protocol for multilink client + - Added new channel width for 320 Mhz;"; + reference + "4.12.0"; + cisco-semver:module-version "4.12.0"; + } + revision 2024-03-01 { + description + "- Added new enum for channel width"; + reference + "4.11.0"; + cisco-semver:module-version "4.11.0"; + } + revision 2023-11-01 { + description + "- Added new client delete reason for Policy profile Layer 3 config mismatch + - Added new client delete reason for Layer 3 inter controller roam"; + reference + "4.10.0"; + cisco-semver:module-version "4.10.0"; + } + revision 2023-07-01 { + description + "- Added new client delete reason for VRF VLAN mismatch + - Added new client delete reason for data path encode failed"; + reference + "4.9.0"; + cisco-semver:module-version "4.9.0"; + } + revision 2023-03-01 { + description + "- Added new client delete reason for excessive ND activity"; + reference + "4.8.0"; + cisco-semver:module-version "4.8.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added new client delete reason for 802.11 unspecified QOS reason"; + reference + "4.7.0"; + cisco-semver:module-version "4.7.0"; + } + revision 2022-07-01 { + description + "- Added new client delete reason for excessive arp activity"; + reference + "4.6.0"; + cisco-semver:module-version "4.6.0"; + } + revision 2022-03-01 { + description + "- Added support for stats of delete reasons related to the maximum clients limit + - Added new client delete reason for device PMK timeout in client delete reason stats"; + reference + "4.5.0"; + cisco-semver:module-version "4.5.0"; + } + revision 2021-07-01 { + description + "- Added Station/Device manufacturers enum + - Added enum for 6 GHz radio type and protocol type + - Added support for client delete reason stats"; + reference + "4.4.0"; + cisco-semver:module-version "4.4.0"; + } + revision 2021-03-01 { + description + "- Added RSN Cipher GMAC-256 enum"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2020-03-01 { + description + " - Added OSEN enum values in dot11 EAP WPA version."; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2019-05-01 { + description + "- Added enum value SAE for authentication algorithm. + - Added semantic version"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-12-17 { + description + "- Insertion of an enumeration for wired guest + - Cleaned up spelling errors in descriptions + - Removed explicit MAX from CO state enum"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-08-08 { + description + "- Add 11ax client physical type enumeration + - Add WPA3 support"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-03-22 { + description + "Insertion of an enumeration"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef client-co-state { + type enumeration { + enum client-status-idle { + value 0; + description + "Represents the client in idle state"; + } + enum client-status-associating { + value 1; + description + "Used to indicate that the client is trying to associate"; + } + enum client-status-associated { + value 2; + description + "Used to indicate that the client has associated to the Access point"; + } + enum client-status-authenticating { + value 3; + description + "Used to indicate that the client is in the the process of authenticating"; + } + enum client-status-authenticated { + value 4; + description + "Used to indicate that the client has been Authenticated"; + } + enum client-status-mobility-discovery { + value 5; + description + "Used to indicate that the client is in mobility discovery state"; + } + enum client-status-mobility-complete { + value 6; + description + "Used to indicate that the client is in mobility complete state"; + } + enum client-status-ip-learning { + value 7; + description + "Used to indicate that the client is in the state of learning the IP"; + } + enum client-status-ip-learn-complete { + value 8; + description + "Used to indicate that the client has completed the IP learn process"; + } + enum client-status-webauth-required { + value 9; + description + "Used to indicate that the client web authentication is pending"; + } + enum client-status-static-ip-anchor-discovery { + value 10; + description + "Used to indicate that the client is in static ip anchor discovery state"; + } + enum client-status-run { + value 11; + description + "Used to indicate that the client has moved to run state"; + } + enum client-status-delete-in-progress { + value 12; + description + "Used to indicate that the client delete is in progress"; + } + enum client-status-deleted { + value 13; + description + "Used to indicate that the client has been deleted"; + } + } + description + "represents the client orchestrator state"; + } + + typedef ms-radio-type { + type enumeration { + enum dot11-radio-type-none { + value 0; + description + "Used to indicate that the radio is not of type BG or A"; + } + enum dot11-radio-type-bg { + value 1; + description + "Used to indicate that the radio is of type BG"; + } + enum dot11-radio-type-a { + value 2; + description + "Used to indicate that the radio is of type A"; + } + enum dot11-radio-type-6ghz { + value 16; + description + "Used to indicate that the radio is of type 6 GHz Band"; + } + } + description + "Used to indicate whether the radio type is BG or A"; + } + + typedef ms-phy-radio-type { + type enumeration { + enum client-unknown-prot { + value 0; + description + "The client protocol is unknown"; + } + enum client-dot11b { + value 1; + description + "The client is using 802.11b standard to connect to the access point (AP)"; + } + enum client-dot11g { + value 2; + description + "The client is using 802.11g standard to connect to the access point (AP)"; + } + enum client-dot11a { + value 3; + description + "The client is using 802.11a standard to connect to the access point (AP)"; + } + enum client-dot11n-24-ghz-prot { + value 4; + description + "The client is using 802.11n standard with 2.4 GHz frequency to connect to the access point (AP)"; + } + enum client-dot11n-5-ghz-prot { + value 5; + description + "The client is using 802.11n standard with 5 GHz frequency to connect to the access point (AP)"; + } + enum client-dot11ac { + value 6; + description + "The client is using dot11ac standard to connect to the access point (AP)."; + } + enum client-phy-type-notappl { + value 7; + description + "Radio type is not applicable to WGB wired client"; + } + enum client-ethernet { + value 8; + description + "Radio type is not applicable to rlan client"; + } + enum client-dot11ax-5ghz-prot { + value 9; + description + "The client is using dot11ax standard on 5 GHz radio to connect to the access point (AP)"; + } + enum client-dot11ax-24ghz-prot { + value 10; + description + "The client is using dot11ax standard on 2.4 GHz radio to connect to the access point (AP)"; + } + enum client-802-3 { + value 11; + description + "The client is a wired guest client, protocol 802.3"; + } + enum client-dot11ax-6ghz-prot { + value 12; + description + "The client is using dot11ax standard on 6 GHz radio to connect to the access point (AP)"; + } + enum client-dot11be-5ghz-prot { + value 13; + description + "The client is using 802.11(be) standard on 5 GHz radio to connect to the Access Point"; + } + enum client-dot11be-24ghz-prot { + value 14; + description + "The client is using 802.11(be) standard on 2.4 GHz radio to connect to the Access Point"; + } + enum client-dot11be-6ghz-prot { + value 15; + description + "The client is using 802.11(be) standard on 6 GHz radio to connect to the Access Point"; + } + } + description + "The 802.11 protocol type of the client"; + } + + typedef ms-type { + type enumeration { + enum ms-type-local { + value 0; + description + "Mobile station type is local"; + } + enum ms-type-anchor { + value 1; + description + "Mobile station type is Anchor"; + } + enum ms-type-flex-central-auth { + value 2; + description + "Mobile station is centrally authenticated in flex mode"; + } + enum ms-type-flex-local-auth { + value 3; + description + "Mobile station is locally authenticated in flex mode"; + } + enum ms-type-guest { + value 4; + description + "Mobile station type is guest"; + } + } + description + "Mobile station entry type"; + } + + typedef ms-client-type { + type enumeration { + enum dot11-client-normal { + value 0; + description + "wireless client"; + } + enum dot11-client-wgb { + value 1; + description + "workgroup bridge"; + } + enum dot11-client-wired { + value 2; + description + "wired client"; + } + enum dot11-client-rlan { + value 3; + description + "rlan client"; + } + enum client-802-3-guest-lan { + value 4; + description + "Wired Guest client connected through 802.3 protocol"; + } + } + description + "client type"; + } + + typedef dot11-eap-wpa-version { + type enumeration { + enum dot1x-wpa-version { + value 0; + description + "The WPA version of the client is 802.1x"; + } + enum wpa1 { + value 1; + description + "The WPA version of the client is WPA1"; + } + enum wpa2 { + value 2; + description + "The WPA version of the client is WPA2"; + } + enum wpa-version-wpa2-v3 { + value 3; + description + "The WPA version of the client is WPA wVFF"; + } + enum wpa-version-not-def { + value 4; + description + "The WPA version of the client is Not Defined"; + } + enum wpa-version-wpa3 { + value 5; + description + "The WPA version of the client is WPA3"; + } + enum wpa-osen { + value 6; + description + "The WPA client encryption type is OSEN"; + } + enum wpa-osen-within-rsn { + value 7; + description + "The WPA client encryption type is OSEN within RSN"; + } + } + description + "Enumeration for the WPA versions that can be used in a client connection"; + } + + typedef ewlc-dot11-width { + type enumeration { + enum channel-width-20-mhz { + value 0; + description + "Channel width 20MHz"; + } + enum channel-width-40-mhz { + value 1; + description + "Channel width 40MHz"; + } + enum channel-width-80-mhz { + value 2; + description + "Channel width 80MHz"; + } + enum channel-width-160-mhz { + value 3; + description + "Channel width 160MHz"; + } + enum channel-width-80-80-mhz { + value 4; + description + "Two channels of 80 + 80 MHz"; + } + enum channel-width-320-mhz { + value 5; + description + "Channel width 320 MHz"; + } + } + description + "Channel width"; + } + + typedef client-wep-policy-type { + type enumeration { + enum client-policy-type-none { + value 0; + description + "The client's WEP State is None"; + } + enum client-policy-type-static-wep { + value 1; + description + "The client's WEP State is Static WEP"; + } + enum client-policy-type-dynamic-wep { + value 2; + description + "The client's WEP State is Dynamic WEP"; + } + } + description + "This data type tells us about the WEP state of the client"; + } + + typedef dot11-state { + type enumeration { + enum idle { + value 0; + description + "The current client state is Idle"; + } + enum associating { + value 1; + description + "The current client state is Associating"; + } + enum associated { + value 2; + description + "The current client state is Associated"; + } + enum deleting { + value 3; + description + "The current client state is Deleting"; + } + enum deleted { + value 4; + description + "The current client state is Deleted"; + } + } + description + "Enumeration for the client current status"; + } + + typedef auth-algo { + type enumeration { + enum open-system { + value 0; + description + "The client joined through Open Authentication"; + } + enum shared-key { + value 1; + description + "The client joined through Shared WEP Authentication"; + } + enum open-and-eap { + value 128; + description + "The client joined through Open and EAP Authentication"; + } + enum auth-algo-none { + value 129; + description + "The authentication algorithm is NA"; + } + enum simultaneous-authentication-of-equals { + value 130; + description + "The client joined through Simultaneous Authentication Of Equals"; + } + } + description + "Enumeration for the authentication algorithms used by the client"; + } + + typedef dot11i-cipher-suite { + type enumeration { + enum rsn-cipher-suite-use-group { + value 0; + description + "The Cipher suite used by the client is the same as group cipher"; + } + enum wep-40-bits { + value 1; + description + "The Cipher suite used by the client is WEP (40 bits)"; + } + enum tkip-mic { + value 2; + description + "The Cipher Suite used by the client is TKIP"; + } + enum reserved { + value 3; + description + "The Cipher suite used by the client is Reserved"; + } + enum ccmp-aes { + value 4; + description + "The Cipher suite used by the client is CCMP"; + } + enum wep-104-bits { + value 5; + description + "The Cipher suite used by the client is WEP (104 bits)"; + } + enum bip { + value 6; + description + "The Cipher suite used by the client is BIP"; + } + enum traffic-not-allowed { + value 7; + description + "Traffic not allowed on cipher suite used by client"; + } + enum gcmp128 { + value 8; + description + "The Cipher suite used by the client is GCMP128"; + } + enum gcmp256 { + value 9; + description + "The Cipher suite used by the client is GCMP256"; + } + enum ccmp256 { + value 10; + description + "The Cipher suite used by the client is CCMP256"; + } + enum wep-128-bits { + value 127; + description + "The Cipher suite used by the client is WEP (128 bits)"; + } + enum rsn-cipher-suite-invalid { + value 255; + description + "The Cipher suite used by the client is Invalid"; + } + enum gmac256 { + value 12; + description + "The Cipher suite used by the client is GMAC-256"; + } + } + description + "Enumeration for the 802.11i encryption protocols that can be employed by the client"; + } + + typedef reason-code { + type enumeration { + enum reason-none { + value 0; + description + "The reason for disassocdeauth is None"; + } + enum reason-unspecified { + value 1; + description + "The reason for disassocdeauth is Unspecified"; + } + enum reason-prev-auth-not-valid { + value 2; + description + "The reason for disassocdeauth was invalid previous authentication"; + } + enum reason-deauth-leaving { + value 3; + description + "The reason for disassocdeauth was a deauthentication received"; + } + enum reason-disassoc-due-to-inactivity { + value 4; + description + "The reason for disassocdeauth was disassociation due to inactivity"; + } + enum reason-disassoc-ap-busy { + value 5; + description + "The reason for disassocdeauth was disassociation because AP is busy"; + } + enum reason-class2-frame-from-nonauth-sta { + value 6; + description + "The reason for disassocdeauth was a Class 2 Frame received from Non Authenticated AP"; + } + enum reason-class2-frame-from-nonassoc-sta { + value 7; + description + "The reason for disassocdeauth was a Class 2 Frame received from Non Associated AP"; + } + enum reason-disassoc-sta-has-left { + value 8; + description + "The reason for disassocdeauth was the AP left the controller"; + } + enum reason-sta-req-assoc-without-auth { + value 9; + description + "The reason for disassocdeauth was the AP requested association without authentication"; + } + enum reason-invalid-ie { + value 13; + description + "The reason for disassocdeauth was invalid Information Element"; + } + enum reason-micheal-failure { + value 14; + description + "The reason for disassocdeauth was a Micheal failure"; + } + enum reason-4-way-handshake-timeout { + value 15; + description + "The reason for disassocdeauth was a 4 way Handshake Timeout"; + } + enum reason-group-key-update-timeout { + value 16; + description + "The reason for disassocdeauth was a Group key update Timeout"; + } + enum reason-invalid-rsn-ie { + value 17; + description + "The reason for disassocdeauth was invalid RSN Information Element"; + } + enum reason-group-cipher-invalid { + value 18; + description + "The reason for disassocdeauth was invalid Group cipher"; + } + enum reason-unicast-cipher-invalid { + value 19; + description + "The reason for disassocdeauth was invalid Unicast Cipher"; + } + enum reason-akmp-invalid { + value 20; + description + "The reason for disassocdeauth was invalid AKMP"; + } + enum reason-unsupported-rsn-version { + value 21; + description + "The reason for disassocdeauth was unsupported RSN version"; + } + enum reason-invalid-rsn-ie-capabilities { + value 22; + description + "The reason for disassocdeauth was invalid RSN information element capabilities"; + } + enum reason-8021-x-auth-failed { + value 23; + description + "The reason for disassocdeauth was a 802.1x authentication failure"; + } + enum reason-cipher-suite-rejected { + value 24; + description + "The reason for disassocdeauth was the Cipher suite was rejected"; + } + enum reason-unspec-qos-related-reason { + value 32; + description + "The reason for disassocdeauth was an unspecified QOS related failure"; + } + enum reason-insufficient-bandwidth { + value 33; + description + "The reason for disassocdeauth was insufficient bandwidth"; + } + enum reason-poor-channel-conditions { + value 34; + description + "The reason for disassocdeauth was the channel conditions were poor"; + } + enum reason-sta-violating-txop { + value 35; + description + "The reason for disassocdeauth was the AP violated TXOP (Transmission Opportunity)"; + } + enum reason-voice-sta-reanchoring { + value 36; + description + "The reason for disassocdeauth was voice AP reanchoring"; + } + enum reason-probing-sta-in-loc-calib { + value 37; + description + "The reason for disassocdeauth was a Probing AP in LOC Calibration"; + } + enum reason-guest-anchor-down { + value 98; + description + "The reason for disassocdeauth was Guest Anchor being down"; + } + enum reason-missing-reason-code { + value 99; + description + "The reason for disassocdeauth is NA"; + } + enum reason-client-access-to-quarantine { + value 100; + description + "The reason for disassocdeauth was the client accessed Quarantine"; + } + enum reason-max-associated-clients-reached { + value 101; + description + "The reason for disassocdeauth was exceeding the limit of maximum associated clients"; + } + enum reason-max-clients-reached-on-ap { + value 102; + description + "The reason for disassocdeauth was exceeding the limit of maximum clients on the AP"; + } + enum reason-webauth-reqd-timeout { + value 103; + description + "The reason for disassocdeauth was a Webauth required timeout"; + } + enum reason-webauth-async-timeout { + value 104; + description + "The reason for disassocdeauth was a Webauth asynchronous timeout"; + } + enum reason-max-clients-reached-on-ap-radio { + value 105; + description + "The reason for disassocdeauth was exceeding the limit of maximum clients on the AP radio"; + } + enum reason-max-clients-reached-on-ap-wlan { + value 106; + description + "The reason for disassocdeauth was exceeding the limit of maximum clients on the AP WLAN"; + } + enum reason-max-clients-reached-on-ap-radio-wlan { + value 107; + description + "The reason for disassocdeauth was exceeding the limit of maximum clients on the AP Radio WLAN"; + } + enum reason-sta-no-ip { + value 108; + description + "The reason for disassocdeauth was that the AP had no IP"; + } + enum reason-ccx-qos-unspecified-failure { + value 200; + description + "The reason for disassocdeauth was a CCX QOS unspecified failure"; + } + enum reason-ccx-qos-policy { + value 201; + description + "The reason for disassocdeauth was CCX QOS policy failure"; + } + enum reason-ccx-insufficient-bandwidth { + value 202; + description + "The reason for disassocdeauth was CCX insufficient bandwidth"; + } + enum reason-ccx-invalid-qos-parameter { + value 203; + description + "The reason for disassocdeauth was CCX QOS parameters being invalid"; + } + enum reason-tunnel-eogre-roam-fail { + value 204; + description + "The reason for disassocdeauth was a Tunnel EOGRE roam failure"; + } + enum reason-sta-roam-without-auth { + value 205; + description + "The reason for disassocdeauth was the AP roamed without authentication"; + } + enum reason-authz-fail { + value 250; + description + "The reason for disassocdeauth was the authorization failed"; + } + enum reason-logout { + value 251; + description + "The reason for disassocdeauth was the user has logged out"; + } + enum reason-admin-reset { + value 252; + description + "The reason for disassocdeauth was an Admin reset"; + } + enum reason-anchor-close { + value 253; + description + "The reason for disassocdeauth was an Anchor close"; + } + enum reason-common-enum-end { + value 300; + description + "The reason for disassocdeauth was a Common Enumeration end"; + } + } + description + "Enumeration for the Reason Codes for disassociation deauthentication as defined by 802.11 standards"; + } + + typedef ip-binding-learn-type { + type enumeration { + enum ip-learn-type-unknown { + value 0; + description + "The method used to learn the IP Address is unknown"; + } + enum ip-learn-type-dhcp { + value 1; + description + "The method used to learn the IP Address is DHCP"; + } + enum ip-learn-type-arp { + value 2; + description + "The method used to learn the IP Address is ARP"; + } + enum ip-learn-type-ip-snooping { + value 3; + description + "The method used to learn the IP Address is IP Snooping"; + } + enum ip-learn-type-roaming { + value 4; + description + "The method used to learn the IP Address is Roaming"; + } + enum ip-learn-type-ip-theft { + value 5; + description + "The method used to learn the IP Address is IP Theft"; + } + enum ip-learn-type-static { + value 6; + description + "The method used to learn the IP Address is Static"; + } + enum ipv6-learn-type-unknown { + value 7; + description + "The method used to learn the IPv6 Address is Unknown"; + } + enum ipv6-learn-type-ndp { + value 8; + description + "The method used to learn the IPv6 Address is NDP"; + } + enum ipv6-learn-type-dhcp { + value 9; + description + "The method used to learn the IPv6 Address is DHCP"; + } + enum ipv6-learn-type-packet { + value 10; + description + "The method used to learn the IPv6 Address is Packet"; + } + enum ipv6-learn-type-local { + value 11; + description + "The method used to learn the IPv6 Address is Local"; + } + enum ipv6-learn-type-static { + value 12; + description + "The method used to learn the IPv6 Address is Static"; + } + } + description + "This data type enumerates the various methods used for learning the IP of the client"; + } + + typedef sta-type { + type enumeration { + enum sta-unknown { + value 0; + description + "The STA/device type is Unknown"; + } + enum sta-apple { + value 1; + description + "The STA/device type is Apple"; + } + enum sta-samsung { + value 2; + description + "The STA/device type is Samsung"; + } + enum sta-intel { + value 3; + description + "The STA/device type is Intel"; + } + } + description + "This data type enumerates the various Station/Device manufacturers"; + } + + grouping co-delete-reason { + description + "Client delete reasons"; + leaf invalid-operation { + type uint32; + description + "Invalid delete reason"; + } + leaf internal-generic-err { + type uint32; + description + "Default delete reason"; + } + leaf deauth-or-disassoc-req { + type uint32; + description + "Deauthentication or disassociation request received from client"; + } + leaf auth-fail { + type uint32; + description + "Authentication or authorization failure"; + } + leaf webauth-fail { + type uint32; + description + "Web authentication failure"; + } + leaf ap-delete { + type uint32; + description + "AP initiated client delete"; + } + leaf bssid-down { + type uint32; + description + "BSSID down"; + } + leaf capwap-down { + type uint32; + description + "AP down"; + } + leaf connect-timeout { + type uint32; + description + "Client connection timeout"; + } + leaf mab-fail { + type uint32; + description + "MAC authentication by-pass failed"; + } + leaf datapath-fail { + type uint32; + description + "Failure during data path plumbing"; + } + leaf wlan-change { + type uint32; + description + "WLAN change"; + } + leaf vlan-change { + type uint32; + description + "VLAN change"; + } + leaf admin-reset { + type uint32; + description + "Admin reset due to manual deauthentication"; + } + leaf qos-fail { + type uint32; + description + "QoS failure"; + } + leaf key-exchange-timeout { + type uint32; + description + "Key exchange process timeout"; + } + leaf group-key-update { + type uint32; + description + "Group key update timeout"; + } + leaf max-sa-queries { + type uint32; + description + "Maximum secure association queries reached"; + } + leaf restart-purge { + type uint32; + description + "Delete due to system restart"; + } + leaf client-block-list { + type uint32; + description + "Default client block listed"; + } + leaf inter-instance-roam-succ { + type uint32; + description + "Inter instance roam success"; + } + leaf intra-instance-roam-fail { + type uint32; + description + "Intra instance roam failure"; + } + leaf mobility-roam-succ { + type uint32; + description + "Inter controller roam success"; + } + leaf mobility-roam-fail { + type uint32; + description + "Inter controller roam failure"; + } + leaf client-session-timeout { + type uint32; + description + "Client session timeout"; + } + leaf client-idle-timeout { + type uint32; + description + "Client idle timeout"; + } + leaf user-req { + type uint32; + description + "User requested client delete"; + } + leaf nas-err { + type uint32; + description + "Network access server identifier error"; + } + leaf aaa-service-unavailable { + type uint32; + description + "AAA Service unavailable"; + } + leaf mobility-bssid-down { + type uint32; + description + "Mobility BSSID down"; + } + leaf mobility-tunnel-down { + type uint32; + description + "Mobility tunnel down"; + } + leaf dot11v-smart-roam-fail { + type uint32; + description + "802.11v smart roam failed"; + } + leaf dot11v-timer-timeout { + type uint32; + description + "802.11v disassociation imminent timeout"; + } + leaf dot11v-assoc-fail { + type uint32; + description + "802.11v association failed"; + } + leaf ft-auth-response-fail { + type uint32; + description + "Fast transition authentication response failure"; + } + leaf sae-auth-fail { + type uint32; + description + "Simultaneous authentication of equals failure"; + } + leaf dot11-unspecified-fail { + type uint32; + description + "802.11 unspecified failure"; + } + leaf dot11-fail-ignore-req { + type uint32; + description + "802.11 failure due to ignore request"; + } + leaf dot11-ccx-qos-add-ts-no-bw { + type uint32; + description + "802.11 failure due to addition of CCX QoS traffic stream with no bandwidth"; + } + leaf dot11-caps-unsupported { + type uint32; + description + "802.11 capabilities not supported"; + } + leaf dot11-assoc-deny-unspec { + type uint32; + description + "802.11 association denied due to unspecified reason"; + } + leaf dot11-max-client { + type uint32; + description + "Maximum stations limit reached on AP"; + } + leaf dot11-denied-rates { + type uint32; + description + "802.11 denied data rates"; + } + leaf dot11-poor-channel { + type uint32; + description + "Poor channel conditions"; + } + leaf dot11-invalid-qos-param { + type uint32; + description + "Invalid 802.11 QoS parameter"; + } + leaf dot11-invalid-ie { + type uint32; + description + "Invalid 802.11 information element"; + } + leaf dot11-group-cipher-invalid { + type uint32; + description + "802.11 group cipher invalid"; + } + leaf dot11-ucast-cipher-invalid { + type uint32; + description + "802.11 unicast cipher invalid"; + } + leaf dot11-akmp-invalid { + type uint32; + description + "802.11 authentication key management protocol invalid"; + } + leaf dot11-rsn-ver-no-supported { + type uint32; + description + "802.11 unsupported robust secure network version"; + } + leaf dot11-invalid-rsn-ie { + type uint32; + description + "802.11 invalid robust secure network information element "; + } + leaf dot11-cipher-suite-reject { + type uint32; + description + "802.11 cipher suite rejected"; + } + leaf dot11-deny-ht-capab { + type uint32; + description + "802.11 denied high throughput capabilities"; + } + leaf dot11-invalid-ft-frame { + type uint32; + description + "Invalid 802.11 fast transition action frame count"; + } + leaf dot11-invalid-pmkid { + type uint32; + description + "Invalid 802.11 pairwise master key identifier"; + } + leaf dot11-invalid-mdie { + type uint32; + description + "Invalid 802.11 mobility domain information element"; + } + leaf dot11-invalid-ftie { + type uint32; + description + "Invalid 802.11 fast transition information element"; + } + leaf dot11-ccx-qos-policy { + type uint32; + description + "802.11 CCX QoS policy failure"; + } + leaf dot11-bandwidth-fail { + type uint32; + description + "802.11 CCX insufficient bandwidth failure"; + } + leaf dot11-ccx-invalidqos-param { + type uint32; + description + "802.11 CCX invalid QoS parameter"; + } + leaf dot11-ccx-non-opt-choice { + type uint32; + description + "802.11 CCX non optimal association choice"; + } + leaf wired-iapp-disassoc { + type uint32; + description + "Wired client deleted due to disassociation from AP"; + } + leaf wired-wgb-change { + type uint32; + description + "Wired client deleted due to WGB change"; + } + leaf wired-vlan-change { + type uint32; + description + "Wired client deleted due to VLAN change"; + } + leaf wired-wgb-delete { + type uint32; + description + "Wired client deleted as WGB is removed"; + } + leaf avc-reanchoring { + type uint32; + description + "Application visibility and control reanchoring"; + } + leaf wgb-client-direct-assoc { + type uint32; + description + "WGB client direct association"; + } + leaf ap-upgrade { + type uint32; + description + "Client deleted due to AP upgrade"; + } + leaf client-dhcp-fail { + type uint32; + description + "Client DHCP failure"; + } + leaf eap-timeout-fail { + type uint32; + description + "EAP timeout failure from client"; + } + leaf client-8021x-fail { + type uint32; + description + "802.1x failure from client"; + } + leaf client-device-idle-timeout { + type uint32; + description + "Client device idle state timeout"; + } + leaf captive-portal-sec-fail { + type uint32; + description + "Captive portal security failure from client"; + } + leaf client-decrypt-fail { + type uint32; + description + "Decryption failure from client"; + } + leaf client-intf-disable { + type uint32; + description + "Client interface disabled"; + } + leaf client-disassociated { + type uint32; + description + "User triggered disassociation from client"; + } + leaf client-misc-reason { + type uint32; + description + "Miscellaneous reason from client"; + } + leaf client-unknown-reason { + type uint32; + description + "Unknown reason from client"; + } + leaf client-peer-triggered { + type uint32; + description + "Client peer triggered"; + } + leaf client-beacon-loss { + type uint32; + description + "Beacon loss at client"; + } + leaf client-eap-id-timeout { + type uint32; + description + "EAP identifier timeout from client"; + } + leaf client-dot1x-timeout { + type uint32; + description + "802.1x timeout from client"; + } + leaf recv-eap-key-invalid-frame { + type uint32; + description + "Invalid frame during key management"; + } + leaf recv-eap-key-install-bit { + type uint32; + description + "Install bit received during key management"; + } + leaf recv-eap-key-err-bit { + type uint32; + description + "Error bit during key management"; + } + leaf recv-eap-key-ack-bit { + type uint32; + description + "Acknowledgement bit during key management"; + } + leaf recv-eap-key-invalid-key { + type uint32; + description + "Invalid key during key management"; + } + leaf recv-eap-key-secure-bit { + type uint32; + description + "Secure bit during key management"; + } + leaf recv-eap-key-desc-ver { + type uint32; + description + "Key description version during key management"; + } + leaf recv-eapkey-wr-replay-cnt { + type uint32; + description + "Wrong replay counter received during key management"; + } + leaf recv-eap-key-no-mic-bit { + type uint32; + description + "MIC bit not set during key management"; + } + leaf recv-eap-key-mic-validate { + type uint32; + description + "MIC validation failed during key management"; + } + leaf recv-eap-key-ptk-compute { + type uint32; + description + "Pairwise transient key computation failure during key management"; + } + leaf client-credential-fail { + type uint32; + description + "Client credential failure"; + } + leaf lost-carrier { + type uint32; + description + "Client lost carrier"; + } + leaf reauth-fail { + type uint32; + description + "Client reauthentication failure"; + } + leaf port-admin-disable { + type uint32; + description + "Port admin disabled"; + } + leaf supplicant-restart { + type uint32; + description + "Supplicant restarted"; + } + leaf ip-down-no-ip { + type uint32; + description + "Client IP is invalid and IP is down"; + } + leaf anchor-throttled { + type uint32; + description + "Anchor controller is throttled"; + } + leaf anchor-no-memory { + type uint32; + description + "Anchor controller has no memory"; + } + leaf anchor-invalid-mbssid { + type uint32; + description + "Client on anchor controller used invalid mobility BSSID"; + } + leaf anchor-create-req-fail { + type uint32; + description + "Client create request failed on anchor"; + } + leaf db-populate-fail { + type uint32; + description + "Failure during database populate"; + } + leaf dangling-cleanup-timer { + type uint32; + description + "Client cleanup after dangling timer expiry"; + } + leaf exclude-static-config { + type uint32; + description + "Client excluded based on static configuration"; + } + leaf exclude-assoc-fail { + type uint32; + description + "Client excluded due to association failure"; + } + leaf exclude-dot11-auth-fail { + type uint32; + description + "Client excluded due to 802.11 authentication failure"; + } + leaf exclude-dot1x-timeout { + type uint32; + description + "Client excluded due to 802.1x authentication timeout"; + } + leaf exclude-dot1x-auth-fail { + type uint32; + description + "Client excluded due to 802.1x authentication failure"; + } + leaf exclude-web-auth-fail { + type uint32; + description + "Client excluded due to web authentication failure"; + } + leaf exclude-policy-bind-fail { + type uint32; + description + "Client excluded due to policy bind failure"; + } + leaf exclude-ip-theft { + type uint32; + description + "Client excluded due to IP theft"; + } + leaf exclude-mac-theft { + type uint32; + description + "Client excluded due to MAC theft"; + } + leaf exclude-mac-and-ip-theft { + type uint32; + description + "Client excluded due to MAC and IP theft"; + } + leaf exclude-qos-policy-fail { + type uint32; + description + "Client excluded due to failure in QoS policy"; + } + leaf exclude-qospol-apsend-fail { + type uint32; + description + "Client excluded due to failure in sending QoS policy to AP"; + } + leaf exclude-qospol-bind-fail { + type uint32; + description + "Client excluded due to failure in binding QoS policy to AP"; + } + leaf exclude-qospol-unbind-fail { + type uint32; + description + "Client excluded due to failure in un-bind QoS policy to AP"; + } + leaf exclude-sta-ip-anchor-fail { + type uint32; + description + "Client excluded due to static IP failure at anchor"; + } + leaf exclude-vlan-fail { + type uint32; + description + "Client excluded due to VLAN failure"; + } + leaf exclude-acl-fail { + type uint32; + description + "Client excluded due to access control list failure"; + } + leaf exclude-punt-acl-fail { + type uint32; + description + "Client excluded due to punt access control list failure"; + } + leaf exclude-accounting-fail { + type uint32; + description + "Client excluded due to accounting failure"; + } + leaf exclude-cts-fail { + type uint32; + description + "Client excluded due to Cisco TrustSec failure"; + } + leaf exclude-fqdn-no-def-fail { + type uint32; + description + "Client excluded due to missing of FQDN access control list definition"; + } + leaf exclude-fqdn-poauth-fail { + type uint32; + description + "Client excluded due to mismatch in FQDN access control list configuration for post authentication"; + } + leaf exclude-fqdn-preauth-fail { + type uint32; + description + "Client excluded due to mismatch in FQDN access control list configuration for pre authentication"; + } + leaf exclude-fqdnzero-gid-fail { + type uint32; + description + "Client excluded due to FQDN zero group identifier fail"; + } + leaf exclude-misc-fail { + type uint32; + description + "Client excluded due to miscellaneous reason"; + } + leaf exclude-reauth-fail { + type uint32; + description + "Client excluded due to reauthentication failure"; + } + leaf exclude-wrong-psk { + type uint32; + description + "Client excluded due to wrong PSK"; + } + leaf exclude-policy-fail { + type uint32; + description + "Client excluded due to policy failure"; + } + leaf ap-idle-timeout { + type uint32; + description + "AP initiated delete due to client idle timeout"; + } + leaf ap-client-acl-mismatch { + type uint32; + description + "AP initiated delete due to access control list mismatch"; + } + leaf ap-auth-stop { + type uint32; + description + "AP stopped authentication"; + } + leaf ap-assoc-expired-at-ap { + type uint32; + description + "Association expired at AP"; + } + leaf fourway-handshake-fail { + type uint32; + description + "Four-way handshake failed at AP"; + } + leaf ap-dhcp-timeout { + type uint32; + description + "AP initiated delete due to DHCP timeout"; + } + leaf ap-reassoc-timeout { + type uint32; + description + "AP initiated delete due to reassociation timeout"; + } + leaf ap-sa-query-timeout { + type uint32; + description + "AP initiated delete due to security association query timeout"; + } + leaf ap-intra-ap-roam { + type uint32; + description + "Intra access point roam"; + } + leaf ap-channel-switch-at-ap { + type uint32; + description + "AP initiated delete due to channel switch at access point"; + } + leaf ap-del-bad-aid { + type uint32; + description + "AP initiated delete due to invalid association identifier"; + } + leaf ap-del-req { + type uint32; + description + "AP initiated request to delete client"; + } + leaf ap-del-intf-reset { + type uint32; + description + "AP initiated delete due to interface reset"; + } + leaf ap-del-all-on-slot { + type uint32; + description + "AP initiated delete for all clients on radio slot"; + } + leaf ap-del-link-change-reaper { + type uint32; + description + "AP initiated delete as link to client has changed and uplink can be reaper"; + } + leaf ap-del-slot-disable { + type uint32; + description + "AP initiated client delete as radio slot is disabled"; + } + leaf ap-del-mic-fail { + type uint32; + description + "Message integrity check failure at access point"; + } + leaf ap-del-vlan-del { + type uint32; + description + "AP initiated delete due to VLAN delete at access point"; + } + leaf ap-del-channel-change { + type uint32; + description + "AP initiated delete due to channel change at access point"; + } + leaf ap-del-stop-reassoc { + type uint32; + description + "AP initiated delete due to reassociation stop"; + } + leaf ap-del-pak-max-retry { + type uint32; + description + "AP initiated delete due to maximum packet retry"; + } + leaf ap-del-tx-deauth { + type uint32; + description + "AP initiated delete due to transmission of deauthentication frame"; + } + leaf ap-sensor-sta-timeout { + type uint32; + description + "AP initiated client delete due to sensor station timeout"; + } + leaf ap-del-age-timeout { + type uint32; + description + "AP initiated delete due to age timeout"; + } + leaf ap-del-tx-fail-thold { + type uint32; + description + "AP initiated delete due to transmission failure threshold"; + } + leaf ap-uplink-recv-timeout { + type uint32; + description + "AP initiated delete due to uplink receive timeout"; + } + leaf ap-snsrscan-nxtradio { + type uint32; + description + "AP initiated delete due to sensor scan next radio"; + } + leaf ap-snsrscan-otherbssid { + type uint32; + description + "AP initiated delete due to sensor scan with another BSSID"; + } + leaf aaa-server-unavailable { + type uint32; + description + "AAA server unavailable"; + } + leaf aaa-not-ready { + type uint32; + description + "AAA not ready"; + } + leaf no-dot1x-auth-config { + type uint32; + description + "802.1x authentication configuration not available"; + } + leaf abort-recv { + type uint32; + description + "Client deleted due to abort received"; + } + leaf assoc-connect-timeout { + type uint32; + description + "Association connect timeout"; + } + leaf macauth-connect-timeout { + type uint32; + description + "MAC authentication connect timeout"; + } + leaf l2auth-connect-timeout { + type uint32; + description + "L2 authentication connect timeout"; + } + leaf webauth-connect-timeout { + type uint32; + description + "Web authentication connect timeout"; + } + leaf mobility-connect-timeout { + type uint32; + description + "Mobility connect timeout"; + } + leaf static-anchor-timeout { + type uint32; + description + "Static IP anchor connection timeout"; + } + leaf sm-session-connect-timeout { + type uint32; + description + "State machine session connection timeout"; + } + leaf iplearn-connect-timeout { + type uint32; + description + "Client deleted due to timeout during IP learn"; + } + leaf datapath-ifid-exists { + type uint32; + description + "Another client exists with same interface identifier"; + } + leaf radio-down { + type uint32; + description + "Radio down"; + } + leaf fabric-reject { + type uint32; + description + "Rejected due to fabric configuration"; + } + leaf guest-lan-invalid-mbssid { + type uint32; + description + "Invalid mobility BSSID in guest LAN"; + } + leaf guest-lan-no-memory { + type uint32; + description + "No memory on guest LAN controller"; + } + leaf guest-lan-create-req-fail { + type uint32; + description + "Guest LAN create request fail"; + } + leaf tunnel-eogre-reset { + type uint32; + description + "Tunnel ethernet over GRE reset"; + } + leaf tunnel-eogre-join-fail { + type uint32; + description + "Tunnel ethernet over GRE join failure"; + } + leaf tun-eogre-reconcile { + type uint32; + description + "Tunnel ethernet over GRE reconciliation"; + } + leaf wired-idle-timeout { + type uint32; + description + "Wired client delete due to idle timeout"; + } + leaf ip-update-timeout { + type uint32; + description + "IP update timeout"; + } + leaf remote-mobility-delete { + type uint32; + description + "Remote mobility delete"; + } + leaf sae-auth-in-assoced-st { + type uint32; + description + "Simultaneous authentication of equals authentication in association state"; + } + leaf nack-ifid-mismatch { + type uint32; + description + "NACK interface identifier mismatch"; + } + leaf tunnnel-eogre-invalid-vlan { + type uint32; + description + "Tunnel ethernet over GRE invalid VLAN"; + } + leaf tunnnel-eogre-empty-domain { + type uint32; + description + "Tunnel ethernet over GRE empty domain"; + } + leaf tunnel-eogre-inv-domain { + type uint32; + description + "Tunnel ethernet over GRE invalid domain"; + } + leaf tunnel-eogre-domain-shut { + type uint32; + description + "Tunnel ethernet over GRE domain shut"; + } + leaf tunnel-eogre-invalid-gway { + type uint32; + description + "Tunnel ethernet over GRE invalid gateway"; + } + leaf tunnel-eogre-gway-down { + type uint32; + description + "Tunnel ethernet over GRE gateway down"; + } + leaf tunnel-eogreflex-no-actgw { + type uint32; + description + "Tunnel ethernet over GRE flex no active gateway"; + } + leaf tunnel-eogre-rule-match { + type uint32; + description + "Tunnel ethernet over GRE rule match"; + } + leaf tunnel-eogre-aaa-override { + type uint32; + description + "Tunnel ethernet over GRE AAA override"; + } + leaf tunnel-eogre-mspayload { + type uint32; + description + "Tunnel ethernet over GRE ms-payload"; + } + leaf tunnel-eogre-handoff-err { + type uint32; + description + "Tunnel ethernet over GRE handoff error"; + } + leaf invalid-pmk-len { + type uint32; + description + "Invalid pairwise master key length"; + } + leaf l3-vlan-oride-conn-timeout { + type uint32; + description + "Web authentication VLAN override connection timeout"; + } + leaf user-trigger-unspecified { + type uint32; + description + "User triggered unspecified"; + } + leaf usr-trigger-pwrof-wifiof { + type uint32; + description + "User triggered power down turns Wi-Fi off"; + } + leaf connect-to-other-ssid { + type uint32; + description + "User triggered connection to another SSID"; + } + leaf usr-trigger-remove-ssid { + type uint32; + description + "User triggered to remove SSID"; + } + leaf usr-trigger-airplane-mode { + type uint32; + description + "User triggered airplane mode"; + } + leaf l2connection-unspecify { + type uint32; + description + "L2 connection unspecified"; + } + leaf l2connection-assoc { + type uint32; + description + "L2 connection association"; + } + leaf fourway-handshake-unspec { + type uint32; + description + "Unspecified four-way handshake"; + } + leaf eap-key-m1-fail { + type uint32; + description + "EAP key message-1 failure"; + } + leaf eap-key-m3-fail { + type uint32; + description + "EAP key message-3 failure"; + } + leaf eapkey-m3-m4-xchng-timeout { + type uint32; + description + "EAP key Message-3 message-4 key exchange timeout"; + } + leaf dhcp-fail-unspecified { + type uint32; + description + "Client deleted due to unspecified DHCP failure"; + } + leaf dhcp-fail-timeout { + type uint32; + description + "Client deleted due to DHCP timeout fail"; + } + leaf dhcp-fail-timeout-roam { + type uint32; + description + "Client deleted due to DHCP timeout failure after roaming"; + } + leaf dhcp-fail-lease-expired { + type uint32; + description + "Client deleted due to DHCP lease expired failure"; + } + leaf dhcp-fail-nak-in-renew { + type uint32; + description + "Client deleted due to DHCP negative acknowledgment during renew"; + } + leaf dhcpfail-ren-lease-ip { + type uint32; + description + "Client deleted due to DHCP renew lease wrong IP failure"; + } + leaf dhcp-fail-int-err { + type uint32; + description + "Client deleted due to DHCP internal error"; + } + leaf eap-fail-unspecified { + type uint32; + description + "EAP unspecified failure"; + } + leaf eap-fail-code-fail { + type uint32; + description + "EAP code failure"; + } + leaf eap-fail-infonot-enter { + type uint32; + description + "EAP failed as information not entered"; + } + leaf eap-fail-mschap-err { + type uint32; + description + "EAP fail due MS CHAP error"; + } + leaf eap-fail-sim-auth-fail { + type uint32; + description + "EAP-SIM authentication failure"; + } + leaf eap-fail-timeout { + type uint32; + description + "EAP failure due to timeout"; + } + leaf eap-fail-tls-cert-err { + type uint32; + description + "EAP failure due to TLS certificate error"; + } + leaf no-internet-unspecified { + type uint32; + description + "Client deleted due to no internet, unspecified issue"; + } + leaf no-internet-dns { + type uint32; + description + "Client deleted due to no internet, DNS issue"; + } + leaf no-internet-arp { + type uint32; + description + "Client deleted due to ARP error"; + } + leaf exclude-pol-template-fail { + type uint32; + description + "Exclusion policy template fail"; + } + leaf ap-del-auth-expired { + type uint32; + description + "AP initiated delete due to authentication expiry"; + } + leaf ap-del-disassoc { + type uint32; + description + "AP initiated delete due to disassociation"; + } + leaf ap-del-tx-disassoc { + type uint32; + description + "AP initiated delete due to transmission disassociation"; + } + leaf fastroam-mobility-fail { + type uint32; + description + "Fast roam mobility failure"; + } + leaf policy-profile-deny { + type uint32; + description + "Roam across policy profile deny"; + } + leaf dot11-aid-alloc-req { + type uint32; + description + "802.11 association identifier allocation conflict request"; + } + leaf zone-change { + type uint32; + description + "Client deleted due to IP zone change"; + } + leaf wlan-id-attr-mismatch { + type uint32; + description + "WLAN-ID mismatch in access accept failures"; + } + leaf epsk-aaa-unknown-err { + type uint32; + description + "Easy PSK AAA unknown error"; + } + leaf epsk-unspec-err { + type uint32; + description + "Easy PSK unspecified error"; + } + leaf epsk-psk-mismatch { + type uint32; + description + "PSK mismatch error with easy PSK"; + } + leaf easy-psk-radius-busy { + type uint32; + description + "Easy PSK radius busy error"; + } + leaf easy-psk-limit-reached { + type uint32; + description + "Easy PSK limit reached error"; + } + leaf easy-psk-bad-8021x-frame { + type uint32; + description + "Easy PSK bad 802.1X frame error"; + } + leaf epsk-missing-param { + type uint32; + description + "Easy PSK missing parameter error"; + } + leaf exclude-supp-name-fail { + type uint32; + description + "Client exclusion due to supplicant name failure"; + } + leaf exclude-user-name-fail { + type uint32; + description + "Client exclusion due to user name failure"; + } + leaf exclude-service-setid-fail { + type uint32; + description + "Client exclusion due to SSID failure"; + } + leaf exclude-anch-vlanid-fail { + type uint32; + description + "Client exclusion due to anchor VLAN ID failure"; + } + leaf exclude-psk-fail { + type uint32; + description + "Client exclusion due to PSK failure"; + } + leaf exclude-psk-mode-fail { + type uint32; + description + "Client exclusion due to PSK mode failure"; + } + leaf exclude-int-interval-fail { + type uint32; + description + "Client exclusion due to interim interval failure"; + } + leaf random-mac { + type uint32; + description + "Access denied due to locally administered MAC address"; + } + leaf ap-iplearn-timeout { + type uint32; + description + "AP initiated client delete due to AP IP learn timeout"; + } + leaf ap-flexgroup-change { + type uint32; + description + "AP initiated client delete due to flex group change"; + } + leaf ap-eapol-logoff { + type uint32; + description + "AP initiated client delete due to EAPOL log off"; + } + leaf ap-eap-req-timeout { + type uint32; + description + "AP initiated client delete due to EAP request timeout"; + } + leaf ap-fourway-handshake-fail { + type uint32; + description + "AP initiated delete due four way handshake failure"; + } + leaf ap-mic-validation { + type uint32; + description + "AP initiated delete due message integrity check failure"; + } + leaf ap-wrong-replay-counter { + type uint32; + description + "AP initiated delete due wrong replay counter"; + } + leaf ap-tunnel-down { + type uint32; + description + "AP initiated delete due to AP tunnel being down"; + } + leaf inter-ap-roam { + type uint32; + description + "AP initiated delete due to inter AP roam failure"; + } + leaf ap-unknown-client { + type uint32; + description + "AP initiated delete due to unknown client"; + } + leaf ap-reauth-timeout { + type uint32; + description + "AP initiated delete due to reauthentication timeout"; + } + leaf ap-cont-idle-timeout { + type uint32; + description + "AP initiated delete due to continuous idle timeout"; + } + leaf ap-rldp-cleanup { + type uint32; + description + "AP initiated delete due to RLDP cleanup"; + } + leaf ap-intra-switch-roam { + type uint32; + description + "AP initiated delete due to intra-switch roam"; + } + leaf ap-pem-cleanup { + type uint32; + description + "AP initiated delete due to PEM cleanup"; + } + leaf ap-rlan-central-switch { + type uint32; + description + "AP initiated delete due to RLAN central switch"; + } + leaf ap-rlan-dp-add-fail { + type uint32; + description + "AP initiated delete due to RLAN data path add failure"; + } + leaf ap-rlan-delete { + type uint32; + description + "AP initiated delete due to RLAN Delete"; + } + leaf ap-rlan-inactive-timeout { + type uint32; + description + "AP initiated delete due to RLAN inactive timeout"; + } + leaf ap-rlan-mab-fail { + type uint32; + description + "AP initiated delete due to RLAN MAB failure"; + } + leaf ap-no-memory { + type uint32; + description + "AP initiated client delete as the memory is exhausted on AP side"; + } + leaf ap-bssid-mismatch { + type uint32; + description + "AP initiated delete as client state machine has BSSID mismatch"; + } + leaf ap-delete-no-acl { + type uint32; + description + "AP initiated delete as client state machine has no ACL found"; + } + leaf ap-del-no-parent-wgb { + type uint32; + description + "AP initiated delete as client state machine has no parent WGB"; + } + leaf ap-key-plumb-fail { + type uint32; + description + "AP initiated delete as client state machine has key plumb failure"; + } + leaf ap-mesh-keyplumb-fail { + type uint32; + description + "AP initiated delete as client state machine has mesh key plumb failure"; + } + leaf ap-datapath-add-fail { + type uint32; + description + "AP initiated delete as client state machine has adding data path failure"; + } + leaf ap-auth-resp-reject { + type uint32; + description + "AP initiated delete as client state machine authentication response got rejected"; + } + leaf ap-auth-resp-send-fail { + type uint32; + description + "AP initiated delete due to client state machine authentication response send failure"; + } + leaf ap-assoc-resp-send-fail { + type uint32; + description + "AP initiated delete due to client state machine association response send failure"; + } + leaf ap-assoc-resp-fail-stat { + type uint32; + description + "AP initiated delete due to client state machine association response failure with status"; + } + leaf ap-webauth-timer-exp { + type uint32; + description + "AP initiated delete due to client state machine webauth timer expired"; + } + leaf ap-dot1x-timer-exp { + type uint32; + description + "AP initiated delete due to client state machine has 802.1x timer expired"; + } + leaf ap-deauth-disassoc-fail { + type uint32; + description + "AP initiated delete due to client state machine has deauthentication and disassociation send failure"; + } + leaf ap-dvr-evt-class3-recv { + type uint32; + description + "Driver initiated delete due to class three event received on AP"; + } + leaf ap-dvr-evt-psp-unauth { + type uint32; + description + "Driver initiated delete due to power sleep event when not authenticated on AP"; + } + leaf ap-dvr-evt-ioctl-err { + type uint32; + description + "Driver initiated delete due to input output control event error at AP"; + } + leaf ap-flex-ft-fail { + type uint32; + description + "AP initiated delete due to flex fast transition failure"; + } + leaf ap-dvr-add-fail { + type uint32; + description + "Driver initiated delete due to client state machine add failure at AP"; + } + leaf ap-dvr-client-not-found { + type uint32; + description + "Driver initiated delete as client not found on AP"; + } + leaf ap-dvr-mgmtpkt-alloc-fail { + type uint32; + description + "Driver initiated delete due to management packet allocation failure at AP"; + } + leaf ap-dvr-invalid-cipher { + type uint32; + description + "Driver initiated delete due to invalid cipher on AP"; + } + leaf ap-dvr-invalid-aid { + type uint32; + description + "Driver initiated delete due to invalid association identifier on AP"; + } + leaf ap-dvr-invalid-key { + type uint32; + description + "Driver initiated delete due to invalid key at AP"; + } + leaf ap-dvr-fw-key-set-fail { + type uint32; + description + "Driver initiated delete due to firmware set key failure at AP"; + } + leaf ap-dvr-invalid-htvht-rates { + type uint32; + description + "Driver initiated delete due to invalid high throughput and very high throughput rates on AP"; + } + leaf ap-dvr-invalid-leg-rates { + type uint32; + description + "Driver initiated delete due to invalid legacy rates on AP"; + } + leaf ap-dvr-no-olap-leg-rates { + type uint32; + description + "Driver initiated delete due to no overlapping legacy rates at AP"; + } + leaf ap-dvr-max-vht-streams { + type uint32; + description + "Driver initiated delete due to maximum very high throughput streams at AP"; + } + leaf ap-driver-aid-inuse { + type uint32; + description + "Driver initiated delete due to association identifier in use at AP"; + } + leaf ap-dvr-assoc-too-many { + type uint32; + description + "Driver initiated delete due to too many association requests at AP"; + } + leaf ap-dvr-cipher-attach-fail { + type uint32; + description + "Driver initiated delete due to cipher attach failure at AP"; + } + leaf ap-dvr-algo-mismatch { + type uint32; + description + "Driver initiated delete due to algorithm mismatch on AP"; + } + leaf ap-dvr-invalid-keylen { + type uint32; + description + "Driver initiated delete due to invalid key length at AP"; + } + leaf ap-dvr-invalid-key-index { + type uint32; + description + "Driver initiated delete due to invalid key index at AP"; + } + leaf ap-dvr-assoc-scb-noauth { + type uint32; + description + "Driver initiated delete due to rejected association due to authentication failure at AP"; + } + leaf ap-dvr-stadb-init-fail { + type uint32; + description + "Driver initiated delete due to client addition to internal records failure at AP"; + } + leaf ap-dvr-add-entry-fail { + type uint32; + description + "Driver initiated delete due to client association entry failure at AP"; + } + leaf ap-dvr-add-ent-fw-fail { + type uint32; + description + "Driver initiated delete due to addition of client entry in firmware failure at AP"; + } + leaf ap-reason-internal-fail { + type uint32; + description + "Driver related internal failure at AP"; + } + leaf link-localbridge-vlan-fail { + type uint32; + description + "Client exclusion due to link-local VLAN failure"; + } + leaf max-sta-on-ap { + type uint32; + description + "Maximum number of clients reached per AP"; + } + leaf max-sta-on-vap { + type uint32; + description + "Maximum number of clients reached per AP per WLAN"; + } + leaf max-sta-on-bssid { + type uint32; + description + "Maximum number of clients reached per AP radio per WLAN"; + } + leaf max-sta-on-radio { + type uint32; + description + "Maximum number of clients reached per AP radio"; + } + leaf ap-max-sta-on-ap { + type uint32; + description + "AP initiated delete due to maximum number of clients per AP limit reached"; + } + leaf ap-max-sta-on-bssid { + type uint32; + description + "AP initiated delete due to maximum number of clients per AP radio per WLAN limit reached"; + } + leaf ap-max-sta-on-radio { + type uint32; + description + "AP initiated delete due to maximum number of clients per AP radio limit reached"; + } + leaf sta-triggered-pmk-timeout { + type uint32; + description + "STA triggered delete due to the PMK timeout occurred on the client device"; + } + leaf excess-arp-rate { + type uint32; + description + "Client exclusion due to excess ARP activity"; + } + leaf dot11-unspec-qos-reason { + type uint32; + description + "802.11 unspecified QOS reason"; + } + leaf excess-ndp-rate { + type uint32; + description + "Client exclusion due to excess ND activity"; + } + leaf vrf-vlan-mismatch { + type uint32; + description + "VRF VLAN mismatch failures"; + } + leaf dpath-encode-failed { + type uint32; + description + "Data path encode failed due to vlan zero"; + } + leaf l3-policy-profile-deny { + type uint32; + description + "Layer 3 access roam across policy profile deny"; + } + leaf l3-inter-controller-deny { + type uint32; + description + "Layer 3 access roam across controllers deny"; + } + leaf exceeded-max-mlo-links { + type uint32; + status deprecated; + description + "Exceeded supported max link for 802.11be client"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-cfg.yang new file mode 100644 index 000000000..b39358742 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-cfg.yang @@ -0,0 +1,181 @@ +module Cisco-IOS-XE-wireless-cts-sxp-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-cts-sxp-cfg"; + prefix wireless-cts-sxp-cfg; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing CTS SXP configuration + Copyright (c) 2017-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for CTS-SXP profile name"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-04-09 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping cts-sxp-profile-conn { + description + "This contains SXP connection information"; + leaf peer-ip-address { + type inet:ip-address; + description + "Peer ip address for SXP connection"; + } + leaf connection-mode { + type wireless-types:enm-cts-sxp-conn-mode; + description + "SXP connection mode "; + } + leaf password-type { + type wireless-types:enm-cts-sxp-password-type; + description + "Describes SXP connection password type"; + } + } + + grouping cts-sxp-config-profile { + description + "This contains all attributes for CTS SXP configuration"; + leaf sxp-profile-name { + type string { + length "0..31"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "CTS SXP profile name"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable CTS SXP configuration"; + } + leaf default-password { + type string { + length "0..80"; + } + default ""; + description + "Describes CTS SXP default password"; + } + leaf listener-minimum-holdtime { + type uint32 { + range "1 .. 65534"; + } + default "90"; + description + "Describes CTS SXP listener hold time min"; + } + leaf listener-maximum-holdtime { + type uint32 { + range "1 .. 65534"; + } + default "120"; + description + "Describes CTS SXP listener hold time max"; + } + leaf speaker-holdtime { + type uint32 { + range "1 .. 65534"; + } + default "120"; + description + "Describes CTS SXP speaker hold time"; + } + leaf reconcile-period { + type uint32 { + range "0 .. 64000"; + } + default "120"; + description + "This contains CTS SXP reconcile period"; + } + leaf retry-period { + type uint32 { + range "0 .. 64000"; + } + default "120"; + description + "Describes CTS SXP retry period"; + } + container sxp-connections { + description + "This contains SXP connection information"; + list sxp-connection-config { + key "peer-ip-address"; + max-elements 5; + description + "This contains SXP connections information"; + uses wireless-cts-sxp-cfg:cts-sxp-profile-conn; + } + } + } + + container cts-sxp-cfg-data { + description + "This contains CTS SXP configuration"; + container cts-sxp-configuration { + description + "This contains CTS SXP configuration"; + list cts-sxp-config { + key "sxp-profile-name"; + description + "This contains CTS SXP configuration"; + uses wireless-cts-sxp-cfg:cts-sxp-config-profile; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-oper.yang new file mode 100644 index 000000000..28299bf42 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-cts-sxp-oper.yang @@ -0,0 +1,137 @@ +module Cisco-IOS-XE-wireless-cts-sxp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-cts-sxp-oper"; + prefix wireless-oper-cts-sxp; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for AP SXP operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-08-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping cts-ap-sxp-conn-status-key { + description + "Key element structure for AP SXP connection"; + leaf wtp-mac { + type yang:mac-address; + description + "SXP connection status for a specific AP MAC"; + } + leaf peer-ip { + type inet:ip-address; + description + "SXP Connection peer IP"; + } + leaf conn-mode { + type uint8; + description + "SXP Connection mode like SPEAKER, LISTENER + or BOTH. + A value of '1' indicates connection in 'Speaker'. + A value of '2' indicates connection in 'Listener'. + A value of '3' indicates connection in 'Bi-directional'."; + } + } + + grouping cts-ap-sxp-conn-status { + description + "Non-key elements in the SXP operational data"; + leaf src-ip { + type inet:ip-address; + description + "SXP Connection source IP"; + } + leaf nego-version { + type uint8; + description + "SXP Version running on the device + A value of '1' indicates connection in 'SXP 1.0'. + A value of '2' indicates connection in 'SXP 2.0'. + A value of '3' indicates connection in 'SXP 3.0'. + A value of '4' indicates connection in 'SXP 4.0'."; + } + leaf conn-status { + type uint8; + description + "SXP connection status like ON, OFF or PENDING_ON + A value of '0' indicates connection in 'off' state. + A value of '1' indicates connection in 'pending on' state. + A value of '2' indicates connection in 'on' state. + A value of '3' indicates connection in 'delete hold down' state. + Otherwise it indicates connection in off state."; + } + leaf password-type { + type wireless-types:enm-cts-sxp-password-type; + description + "SXP Connection password type like default password + or None"; + } + } + + container cts-sxp-oper-data { + config false; + description + "AP SXP operational data"; + list flex-mode-ap-sxp-connection-status { + key "wtp-mac peer-ip conn-mode"; + description + "AP SXP connections operational state"; + uses wireless-oper-cts-sxp:cts-ap-sxp-conn-status-key; + uses wireless-oper-cts-sxp:cts-ap-sxp-conn-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot11-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot11-cfg.yang new file mode 100644 index 000000000..c786e7e3f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot11-cfg.yang @@ -0,0 +1,1692 @@ +module Cisco-IOS-XE-wireless-dot11-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-dot11-cfg"; + prefix wireless-dot11-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing configurations related to various 802.11 protocols. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Obsolete channel switch configuration + - Added 802.11be configuration"; + reference + "11.0.0"; + cisco-semver:module-version "11.0.0"; + } + revision 2023-11-01 { + description + "- removed the must constraint for event driven rrm on 6Ghz band"; + reference + "10.2.0"; + cisco-semver:module-version "10.2.0"; + } + revision 2023-03-01 { + description + "- Added support for additional country codes"; + reference + "10.1.0"; + cisco-semver:module-version "10.1.0"; + } + revision 2022-11-01 { + description + "- Added a constraint to prevent event driven rrm from being enabled on 6 GHz band + - Added a deprecated status to AQ report enable as it is controlled by admin state + - Added support for additional country codes + - Update yang-version to 1.1"; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2022-07-01 { + description + "- Removed the support for country code j2 for Japan"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-11-01 { + description + "- Modified the default value for Target Wake-up Time and Target Wake-up Time broadcast"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-07-01 { + description + "- Added a constraint to prevent 802.11ax from being disabled on 6 GHz band"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2020-11-01 { + description + "- Added configuration to enable/disable client load-based EDCA."; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2020-07-01 { + description + "- Added RSSI threshold configuration for WiFi to Cellular steering. + - Added Country code configuration."; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2019-11-01 { + description + "- Added 802.11ax BSS color configuration + - Added Target Wake-up Time support for 802.11ax."; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-06-18 { + description + "- Enable 802.11ax feature by default. + - Added semantic version. + - Fixed must constraint for frame-burst leaf. + - Removed must constraint for frame-burst leaf. + - Added when clause for frame-burst leaf. + - Update the default values as per WLC configuration best practice"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-02-21 { + description + "- Adding new enum type for dot11 band + - Client Switch enable and mode Default and Type changed + - Support for 802.11ax configuration + - Support for dot11ax mcs index configuration + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Modified description of the leaves + - Multicast related leaves name change + - Modified description and names of the leaves + - Adding new enum for 11ac MCS Data rate index + - Changing type for leaf node smart-dfs + - Updated name for QoS CAC voice leaf nodes + - Updated frame-burst for 802.11n configuration"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-06-13 { + description + "- Change TX MCS rate config for dot11ac + - Remove SIP codec support + - Add range constraints to integer."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-01 { + description + "Defaults changed"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping dot11-cfg { + description + "802.11 default config"; + leaf fragmentation-threshold { + type uint16 { + range "256 .. 2346"; + } + default "2346"; + description + "Current maximum size, in octets, of the MPDU that may be delivered to the PHY. + An MSDU shall be broken into fragments if its size exceeds the value of this attribute after adding MAC headers and trailers. An MSDU or MPDU shall be fragmented when the resulting frame has individual address in the Address1 field, and the length of the frame is larger than this threshold. The default value for this attribute shall be the lesser of 2346 or the aMPDUMaxLength of the attached PHY and shall never exceed the lesser of 2346 or the aMPDUMaxLength of the attached PHY. The value of this attribute shall never be less than 256."; + } + leaf default-tx-power-level { + type uint16 { + range "1 .. 5"; + } + default "1"; + description + "current-tx-power-level N currently being used to transmit data. Some PHYs also use this value to determine the receiver sensitivity requirements for CCA."; + } + } + + grouping dot11-80211-capability-config { + description + "APF dot11 capability configuration"; + leaf apf-beacon-interval { + type uint16 { + range "20 .. 1000"; + } + default "100"; + description + "Number of time unit that a AP Radio shall use for scheduling Beacon transmissions. This value is transmitted in Beacon and Probe Response frames."; + } + } + + grouping dot11-ht-config { + description + "802.11n related configuration"; + leaf dot11n-enabled { + type boolean; + default "true"; + description + "Enables the controller to manage 802.11n networks. + True - 802.11n network is enabled. + False - 802.11n network is disabled."; + } + leaf dot11n-rifs-tx-status { + type boolean; + default "true"; + description + "Support for RIFS on this band. + True - RIFS is enabled for this band. + False - RIFS is disabled for this band."; + } + leaf dot11n-short-guard-enabled { + type boolean; + default "true"; + description + "Support for 802.11n guard interval on this band. + True - Guard interval is enabled for this band. + False - Guard interval is disabled for this band."; + } + } + + grouping dot11-dot11ac-config { + description + "802.11ac feature related configuration"; + leaf vht-enable { + type boolean; + default "true"; + description + "Enables controller to manage 802.11ac networks. + True - 802.11ac network is enabled. + False - 802.11ac network is disabled."; + } + } + + grouping dot11-eht-config { + description + "802.11be related configuration"; + leaf eht-enable { + type boolean; + default "false"; + description + "Enables the controller to manage 802.11be networks. + True - 802.11be network is enabled. + False - 802.11be network is disabled."; + } + } + + grouping st-dot11-dot11ax-cfg-config { + description + "802.11ax protocol related configuration"; + leaf he-enable { + type boolean; + must "((../../band != 'dot11-6-ghz-band') or (../../dot11ax-cfg/he-enable = 'true'))" { + error-message "802.11ax should not be disabled for 6 GHz band"; + error-app-tag "must-violation"; + } + default "true"; + description + "Configuration to enable 802.11ax support"; + } + leaf he-dynamic-frag { + type boolean; + default "true"; + description + "Configuration to enable 802.11ax Dynamic Fragmentation support"; + } + leaf he-mbssid-cap { + type boolean; + default "true"; + description + "Configuration to enable 802.11ax multiple bssid support"; + } + leaf he-twt-enable { + type boolean; + default "false"; + description + "Configures 802.11ax target wake-up time. + True - Target Wake-up Time is enabled. + False - Target Wake-up Time is disabled."; + } + leaf he-twt-broadcast-enable { + type boolean; + default "false"; + description + "Configures 802.11ax target wake-up time broadcast. + True - Target Wake-up Time broadcast is enabled. + False - Target Wake-up Time broadcast is disabled."; + } + leaf he-bss-color { + type boolean; + default "false"; + description + "Configuration to enable 802.11ax BSS color support"; + } + } + + grouping dot11h-config { + description + "802.11n feature related configuration"; + leaf channel-switch-enable { + type boolean; + default "true"; + status obsolete; + description + "Enables or disables channel switch. When disabling Channel Switch no need to pass mode and count"; + } + leaf channel-switch-mode { + type wireless-enum-types:enm-channel-switch-mode; + default "chan-switch-mode-loud"; + description + "Channel Switch Mode indicates any restriction on transmission until a channel switch. + channel-switch-mode-loud - Does not impose any requirement on the receiving STA. + channel-switch-mode-quiet - STA in a BSS to which the frame containing the element is addressed shall transmit no further frames with in the BSS until the scheduled channel switch."; + } + leaf power-constraint { + type uint8 { + range "0 .. 30"; + } + default "0"; + description + "Local maximum transmit power for a channel is defined as maximum transmit power level specified for the channel in the Country element minus the local power constraint specified for the channel in the Power Constraint element. The power constraint is coded as an unsigned integer in units of decibels. To disable power constraint set Power Constraint to 0."; + } + leaf smart-dfs { + type boolean; + default "true"; + description + "Non occupancy time for Radar interference channel. + True - Smart DFS is enabled. + False - Smart DFS is disabled."; + } + } + + grouping dot11-80211-qos-pm-config { + description + "Radio policy related configuration"; + leaf qos-pm-name { + type string; + default "unknown"; + description + "Radio policy name"; + } + leaf def-11gn { + type uint32 { + range "15000 .. 200000000"; + } + default "200000000"; + description + "2.4 Ghz radio policy rate"; + } + leaf def-11an { + type uint32 { + range "15000 .. 400000000"; + } + default "400000000"; + description + "5 Ghz 11n radio policy rate"; + } + leaf def-11ac { + type uint32 { + range "15000 .. 1000000000"; + } + default "1000000000"; + description + "11ac radio policy rate"; + } + } + + grouping st-80211be-mcs-key { + description + "802.11be MCS rates related configuration."; + leaf spatial-stream { + type uint8 { + range "1 .. 4"; + } + description + "Spatial stream index for MCS data rate settings on the 802.11be radio."; + } + leaf index { + type wireless-enum-types:dot11be-mcs-index; + description + "802.11be MCS rates. Key value is the spatial stream value. + Possible values: + dot11be-mcs-index-9 = MCS Data rate index 9 for 802.11be + dot11be-mcs-index-11 = MCS Data rate index 11 for 802.11be + dot11be-mcs-index-13 = MCS Data rate index 13 for 802.11be + dot11be-mcs-index-14 = MCS Data rate index 14 for 802.11be + dot11be-mcs-index-15 = MCS Data rate index 15 for 802.11be"; + } + } + + grouping st-apf80211ax-mcs-key { + description + "802.11ax MCS rates related configuration."; + leaf spatial-stream { + type uint8 { + range "1 .. 8"; + } + description + "Spatial stream index for MCS data rate settings on the 802.11ax band."; + } + leaf index { + type wireless-enum-types:mcs-index; + description + "802.11ax MCS rates. Key value is the spatial stream value. + Possible values: + dot11ax-mcs-idx7 = MCS Data rate index 7 for dot11ax + dot11ax-mcs-idx9 = MCS Data rate index 9 for dot11ax + dot11ax-mcs-idx11 = MCS Data rate index 11 for dot11ax"; + } + } + + grouping mcs-key-80211ac { + description + "802.11ac MCS rates related configuration."; + leaf spatial-stream { + type uint8 { + range "1 .. 4"; + } + description + "Spatial stream number related to MCS data rate settings on the 802.11ac band."; + } + leaf index { + type wireless-enum-types:dot11ac-mcs-rate-index; + description + "802.11ac MCS rates. Key value is the spatial stream value. + Possible values: + enm-dot11ac-mcs-idx-8 = MCS Data rate index 8 + enm-dot11ac-mcs-idx-9 = MCS Data rate index 9."; + } + } + + grouping st-80211be-mcs { + description + "802.11be MCS rate related configuration."; + leaf be-mcs-tx-enable { + type boolean; + default "true"; + description + "Enable configured MCS data rate. + True - MCS data rate is enabled. + False - MCS data rate is disabled."; + } + } + + grouping st-apf80211ax-mcs { + description + "802.11ax MCS rate related configuration."; + leaf apf-80211ax-mcs-tx-enable { + type boolean; + default "true"; + description + "80211ax MCS transit data rate. + True - MCS data rate is enabled. + False - MCS data rate is disabled."; + } + } + + grouping ac-mcs-80211 { + description + "MCS rates related configuration"; + leaf apf-80211ac-mcs-tx-enable { + type boolean; + default "true"; + description + "802.11ac MCS data rate. + True - MCS support is enabled. + False - MCS support is disabled."; + } + } + + grouping ampdu-80211n { + description + "802.11n MSDU related configuration"; + leaf index { + type uint8 { + range "0 .. 7"; + } + description + "Key to the 802.11n amsdu configuration table."; + } + leaf apf-80211n-ampdu-tx-priority { + type wireless-enum-types:apf-80211n-ampdu; + default "apf-80211n-ampdu-invalid"; + description + "802.11n-2.4 Ghz transmit A-MPDU. + Possible values: + apf-80211n-ampdu-disable - Transmit A-MPDU is disabled + apf-80211n-ampdu-enable - Transmit A-MPDU is enabled + apf-80211n-ampdu-invalid - Transmit A-MPDU is invalid"; + } + } + + grouping ampdu-tx-scheduler { + description + "802.11n MSDU scheduler related configuration"; + leaf scheduler-enabled { + type boolean; + default "true"; + description + "802.11n AMPDU scheduler is enabled. + True - Scheduler is enabled. + False - Scheduler is disabled"; + } + leaf rt-timeout { + type uint32 { + range "1 .. 1000"; + } + default "10"; + description + "A-MPDU transmit aggregation scheduler realtime traffic timeout in msec"; + } + leaf frame-burst { + when "(../../band = 'dot11-5-ghz-band')"; + type wireless-enum-types:frame-burst-mode; + default "frame-burst-automatic"; + description + "Optimal settings for bursting of 802.11n A-MPDUs. + Possible values: + frame-burst-automatic - Burst setting is automatic + frame-burst-enabled - Burst setting is enabled + frame-burst-disabled - Burst setting is disabled"; + } + } + + grouping amsdu-11n { + description + "802.11n A-MSDU feature related configuration"; + leaf index { + type uint8 { + range "0 .. 7"; + } + description + "Spatial stream index. This is also the key to the A-mpdu configuration table"; + } + leaf apf-80211n-amsdu-tx-priority { + type wireless-enum-types:apf-80211n-amsdu; + default "apf-80211n-amsdu-invalid"; + description + "802.11n A-MSDU transmit priority + Possible values: + apf-80211n-amsdu-disable - Transmit priority is disabled + apf-80211n-amsdu-enable - Transmit priority is enabled + apf-80211n-amsdu-invalid - Transmit priority is invalid"; + } + } + + grouping dot11 { + description + "802.11 related features"; + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Band to which the configuration belong to. + dot11-2-dot-4ghz-band - Current operating band 2.4Ghz. + dot11-5-ghz-band - Current operating band 5Ghz."; + } + leaf voice-adm-ctrl-support { + type boolean; + default "false"; + description + "Admission control on voice access category. + True - Voice traffic flowing through the 802.11a interfaces in the controller is enabled. + False - Voice traffic flowing through the 802.11a interfaces in the controller is disabled."; + } + leaf video-adm-ctrl-support { + type boolean; + default "false"; + description + "Admission control on video access category. + True - Video traffic flowing through the 802.11a interfaces in the controller is enabled. + False - Video traffic flowing through the 802.11a interfaces in the controller is disabled."; + } + leaf sip-cac-voice-sample-size { + type uint8 { + range "10 .. 80"; + } + default "20"; + description + "Voice sample size in milliseconds for SIP CAC configuration of the dot11 band for the APs associated with this controller."; + } + leaf sip-cac-config-bandwidth { + type uint8 { + range "8 .. 64"; + } + default "64"; + description + "Bandwidth in kbps for SIP CAC configuration of the dot11 band for the APs associated with this controller."; + } + leaf apf-network-state { + type boolean; + default "true"; + description + "802.11 Network Admin Status."; + } + leaf apf-dot11g-supported { + type boolean; + default "true"; + description + "802.11g protocol support also on the 802.11b network. Enabling 802.11g allows additional data rates: 6, 9, 12, 18, 24, 36, 48, 54 Mbps."; + } + leaf cac-voice-max-bandwidth { + type uint8 { + range "5 .. 85"; + } + default "75"; + description + "Maximum bandwidth allocated to 802.11e clients. + It is expressed as percentage of the total bandwidth of 802.11b network. The value of this attribute can vary from 0 to 100."; + } + leaf apf-dtpc { + type boolean; + default "true"; + description + "Enables the DTPC support on all 802.11b/g radios. + DTPC or Dynamic Transmit Power Control support means that the radio's transmit power will be advertised in the beacons and probe responses."; + } + leaf cac-video-max-bandwidth { + type uint8 { + range "5 .. 85"; + } + default "5"; + description + "Maximum bandwidth that can be allocated by controller for video traffic when admission control is enabled for 802.11a interfaces in the controller. When set to 0, all available bandwidth in 802.11a interfaces can be allocated to video traffic."; + } + leaf cac-voice-roam-bandwidth { + type uint8 { + range "0 .. 25"; + } + default "6"; + description + "Bandwidth relative to the maximum allocated bandwidth indicated by cac-voice-max-bandwidth, that can be allocated to roaming clients for voice traffic, when admission control is enabled for 802.11a interfaces in the controller."; + } + leaf cac-video-roam-bandwidth { + type uint8 { + range "0 .. 25"; + } + default "0"; + description + "Bandwidth relative to the maximum allocated bandwidth indicated by cac-video-max-bandwidth, that can be allocated to roaming clients for video traffic, when admission control is enabled for 802.11a interfaces in the controller."; + } + leaf tsm-enable { + type boolean; + default "false"; + description + "802.11a traffic stream metrics support. + True - Associated APs send the controller statistical data on traffic observed on their 802.11a interfaces in every 90 seconds. + False - APs stop sending statistical data on the 802.11a interfaces to the controller."; + } + leaf exp-bandwidth-req-enable { + type boolean; + default "false"; + description + "Expedited BW request support. + True - APs advertise the expedited BW support in their beacons and association responses. + False - APs do not advertise the expedited BW support in their beacons and association responses."; + } + leaf cac-voice-loadbased { + type boolean; + default "true"; + description + "The parameters that can be modified, when admission control is enabled. loadBased - controller will reserve and manage max-bandwidth and roaming-bandwidth based on the load on the WLAN. static - controller will reserve and manage max-bandwidth (cac-voice-max-bandwidth) and roaming-bandwidth (cac-voice-roam-bandwidth) as per user configured values. When ACM is disabled, admission control will not be enforced. This may delay voice traffic depending on the traffic on the WLAN."; + } + leaf cac-tspec-inactivity-timeout { + type boolean; + default "true"; + description + "TSPEC inactivity timeout processing mode"; + } + leaf cac-stream-size { + type uint32 { + range "84000 .. 92100"; + } + default "84000"; + description + "Max data rate of the stream acceptable, between 84000 and 92100 range"; + } + leaf cac-max-streams { + type uint8 { + range "1 .. 5"; + } + default "2"; + description + "Max number of streams per TSPEC"; + } + leaf beamforming { + type wireless-enum-types:nw-leg-beam-form; + default "nw-leg-bf-disable"; + description + "Status of legacy beam forming in this AP, applicable only for 11n supported APs. + Possible values: + nw-leg-bf-disable - Legacy beam forming is disabled for this AP + nw-leg-bf-enable - Legacy beam forming is enabled for this AP + nw-leg-bf-na - Legacy beam forming is not applicable for this AP"; + } + leaf world-mode-ie { + type boolean; + default "true"; + description + "World mode IE needs to be passed as bart of beacon"; + } + leaf cac-voice-sip { + type boolean; + default "false"; + description + "SIP CAC is enabled."; + } + leaf apf-dot11b-short-preamble { + type boolean; + default "true"; + description + "802.11b Short Preamble."; + } + leaf tx-power-control-threshold { + type int8 { + range "-80 .. -50"; + } + default "-70"; + description + "Global AP Transmit Power Threshold value. The permissible range is -80 dbm to -50 dbm"; + } + leaf channel-aware-tpc { + type boolean; + default "false"; + description + "TPC algorithm is channel aware"; + } + container apf-dot11-default-cfg { + description + "802.11 default configuration"; + uses wireless-dot11-cfg:dot11-cfg; + } + container apf-dot11-capability { + description + "802.11 capabilities supported by the controller related configuration"; + uses wireless-dot11-cfg:dot11-80211-capability-config; + } + container ht-cfg { + description + "802.11n related configuration"; + uses wireless-dot11-cfg:dot11-ht-config; + } + container dot11ac-cfg { + description + "802.11ac related configuration"; + uses wireless-dot11-cfg:dot11-dot11ac-config; + } + container dot11ax-cfg { + description + "802.11ax feature related configuration"; + uses wireless-dot11-cfg:st-dot11-dot11ax-cfg-config; + } + container dot11h-cfg { + description + "802.11h related configuration"; + uses wireless-dot11-cfg:dot11h-config; + } + container dot11-qos-pm { + description + "Radio policy related configuration"; + uses wireless-dot11-cfg:dot11-80211-qos-pm-config; + } + leaf ate-oper-mode { + type wireless-enum-types:apf-ate-mode; + default "apf-atf-mode-disable"; + description + "Sets the mode represented by radio type of ATF supported APs joined in the controller. Read operation may differ if config is overridden. + Possible values: + apf-atf-mode-disable - Oper mode is set to disabled + apf-atf-mode-ssid - Oper mode is set to SSID + apf-atf-mode-monitor - Oper mode is set to Monitor"; + } + leaf ate-stealing { + type wireless-enum-types:apf-ate-stealing-policy; + default "apf-atf-stealing-policy-disable"; + description + "Sets the mode represented by band of ATF supported APs joined in the controller. Read operation may differ if config is overridden. + Possible values are: + apf-atf-stealing-policy-disable - Stealing mode is set to disabled + apf-atf-stealing-policy-enable - Stealing mode is set to enabled"; + } + leaf g-edca { + type wireless-enum-types:edca-profile; + default "edca-wmm"; + description + "EDCA profile to be used in EDCA Parameter set element."; + } + leaf medium-occupancy-limit { + type uint32; + default "100"; + description + "Maximum amount of time, in TU, that a point coordinator may control the usage of the wireless medium without relinquishing control for long enough to allow at least one instance of DCF access to the medium. The default value of this attribute shall be 100, and the maximum value shall be 1000."; + } + leaf ed-threshold { + type int32; + default "-50"; + description + "Current Energy Detect Threshold being used by the DSSS PHY"; + } + leaf cfp-period { + type uint32; + default "4"; + description + "Number of DTIM intervals between the start of CFPs. It is modified by MLME-START.request primitive."; + } + leaf cfp-max-duration { + type uint32; + default "60"; + description + "Maximum duration of the CFP in TU that may be generated by the PCF. It is modified by MLME-START.request primitive."; + } + leaf rts-threshold { + type uint32; + default "2347"; + description + "Number of octets in an MPDU, below which an RTS/CTS handshake shall not be performed. + An RTS/CTS handshake shall be performed at the beginning of any frame exchange sequence where the MPDU is of type Data or Management, the MPDU has an individual address in the Address1 field, and the length of the MPDU is greater than this threshold. (For additional details, refer to Table 21 in 9.7.) Setting this attribute to be larger than the maximum MSDU size shall have the effect of turning off the RTS/CTS handshake for frames of Data or Management type transmitted by this STA. Setting this attribute to zero shall have the effect of turning on the RTS/CTS handshake for all frames of Data or Management type transmitted by this STA. The default value of this attribute shall be 2347."; + } + leaf cf-pollable { + type boolean; + default "false"; + description + "Contention Free Poll with data frame. + True - STA is able to respond to a CF-Poll with a data frame within a SIFS time. + False - STA is not able to respond to a CF-Poll with a data frame within a SIFS time."; + } + leaf cf-poll-request { + type boolean; + default "false"; + description + "Contention Free Poll request. + True - CF-Poll is enabled. + False - CF-Poll is disabled."; + } + leaf dtim-period { + type uint32; + default "1"; + description + "Number of beacon intervals that shall elapse between transmission of Beacons frames containing a TIM element whose DTIM Count field is 0. This value is transmitted in the DTIM Period field of Beacon frames."; + } + leaf max-tx-power-level { + type uint32; + default "1"; + description + "Maximum transmit power, in dBm, allowed in the subband for the associated domain country string. The default value of this attribute shall be zero."; + } + leaf short-retry-limit { + type uint32; + default "7"; + description + "Maximum number of transmission attempts of a frame, the length of which is less than or equal to bsnGlobalDot11RTSThreshold, that shall be made before a failure condition is indicated. The default value of this attribute shall be 7."; + } + leaf long-retry-limit { + type uint32; + default "4"; + description + "Maximum number of transmission attempts of a frame, the length of which is greater than bsnGlobalDot11RTSThreshold, that shall be made before a failure condition is indicated. The default value of this attribute shall be 4."; + } + leaf max-tx-msdu-lifetime { + type uint32; + default "512"; + description + "MaxTransmitMSDULifetime shall be the elapsed time in TU, after the initial transmission of an MSDU, after which further attempts to transmit the MSDU shall be terminated. The default value of this attribute shall be 512."; + } + leaf max-rx-lifetime { + type uint32; + default "512"; + description + "MaxReceiveLifetime shall be the elapsed time in TU, after the initial reception of a fragmented MMPDU or MSDU, after which further attempts to reassemble the MMPDU or MSDU shall be terminated. The default value shall be 512."; + } + leaf channel-agility { + type boolean; + default "false"; + description + "PHY channel agility + True - PHY channel agility is enabled. + False - PHY channel agility is disabled."; + } + container ampdu-entries { + description + "802.11n A-MPDU related configuration"; + list ampdu-entry { + key "index"; + description + "List of configuration related to 802.11n A-MPDU"; + uses wireless-dot11-cfg:ampdu-80211n; + } + } + container ampdu-tx-scheduler { + presence "ampdu-tx-scheduler"; + description + "List of configuration related to 802.11n A-MPDU transmit scheduler"; + uses wireless-dot11-cfg:ampdu-tx-scheduler; + } + container amsdu-entries { + description + "802.11n A-MSDU related configuration"; + list amsdu-entry { + key "index"; + description + "List of configuration related to 802.11n A-MSDU"; + uses wireless-dot11-cfg:amsdu-11n; + } + } + container media-stream-band-info-cfg { + presence "mediaStreamBandInfo"; + description + "Media stream band information"; + uses wireless-dot11-cfg:media-stream-band-info; + } + container spectrum-cfg { + presence "spectrum-cfg"; + description + "Clean-Air related configuration"; + uses wireless-dot11-cfg:spectrum-cfg; + } + container dot11ax-mcs-entries { + description + "802.11ax MCS related configuration"; + list dot11ax-mcs-entry { + key "spatial-stream index"; + description + "802.11ax MCS entry related configuration"; + uses wireless-dot11-cfg:st-apf80211ax-mcs-key; + uses wireless-dot11-cfg:st-apf80211ax-mcs; + } + } + leaf cac-max-calls { + type uint32; + description + "cac max calls"; + } + leaf cell-handoff-rssi-thold { + type int8; + units "dBm"; + must '(../cell-handoff-rssi-thold <= -80 and ../cell-handoff-rssi-thold >= -90)' { + error-message "Invalid input value"; + error-app-tag "must-violation"; + } + default "-85"; + description + "RSSI threshold value to trigger WiFi to Cellular steering"; + } + leaf edca-client-load-based { + type boolean; + default "true"; + description + "Client load-based EDCA on this band. + True - Client load-based EDCA is enabled. + False - Client load-based EDCA is disabled."; + } + container dot11be-cfg { + description + "802.11be configuration"; + uses wireless-dot11-cfg:dot11-eht-config; + } + container dot11be-mcs-entries { + description + "802.11be MCS related configuration"; + list dot11be-mcs-entry { + key "spatial-stream index"; + description + "802.11be MCS entry related configuration"; + uses wireless-dot11-cfg:st-80211be-mcs-key; + uses wireless-dot11-cfg:st-80211be-mcs; + } + } + } + + grouping spectrum-cfg { + description + "Clean Air related configuration. This node cannot be configured"; + leaf spectrum-admin-state-set { + type boolean; + default "true"; + description + "Clean Air (CA) on this band. + True - CA is enabled. + False - CA is disabled."; + } + leaf si-admin-state-set { + type boolean; + default "false"; + description + "Spectrum Intelligence (SI) on this band. + True - SI is enabled. + False - SI is disabled."; + } + leaf dev-report-state-set { + type boolean; + default "true"; + description + "Device reporting state on this band. + True - Device Reporting state is enabled. + False - Device Reporting state is disabled."; + } + leaf aq-polling-period { + type uint8; + default "15"; + description + "Air Quality polling interval."; + } + leaf id-report-enable { + type boolean; + default "false"; + description + "IDR Reporting is on this band. + True - IDR is enabled. + False - IDR is disabled."; + } + leaf id-report-period { + type uint8; + default "90"; + description + "Interferer reporting period, this is fixed at 90 seconds"; + } + leaf aq-report-enable { + type boolean; + default "false"; + status deprecated; + description + "Air Quality Reporting on this band. + True - Air Quality Reporting is enabled. + False - Air Quality Reporting is disabled."; + } + leaf aq-alarm-mode { + type boolean; + default "false"; + description + "Air Quality notification on this band. + True - AQ notification is enabled. + False - AQ notification is disabled."; + } + leaf aq-alarm-threshold { + type uint8 { + range "1 .. 100"; + } + default "10"; + description + "Threshold value for the trap."; + } + leaf dev-alarm-mode { + type boolean; + default "false"; + description + "IDR notification on this band. + True - IDR notification is enabled. + False - IDR notification is disabled."; + } + leaf rrm-ed-enable { + type boolean; + default "false"; + description + "Event driven RRM on this band. + True - Event driven RRM is enabled. + False - Event driven RRM is disabled."; + } + leaf rrm-ed-threshold-level { + type wireless-enum-types:rrm-ed-threshold-level; + default "rrm-cleanair-event-low"; + description + "Event driven RRM threshold level. + 'low' - low level event driven RRM threshold value + 'medium' - medium level event driven RRM threshold value + 'high' - high level event driven RRM threshold value + 'custom' - user specified value of even driven RRM threshold"; + } + leaf rrm-ed-custom-threshold-value { + type uint32 { + range "1 .. 99"; + } + default "1"; + description + "Event driven RRM Custom threshold value. This object only takes effect when the value of rrm-ed-threshold-level is 'custom'."; + } + leaf rrm-ed-rogue-enable { + type boolean; + default "false"; + description + "Event driven RRM rogue contribution on this band. + True - Rogue contribution is enabled. + False - Rogue contribution is disabled."; + } + leaf rrm-ed-rogue { + type uint8 { + range "1 .. 99"; + } + default "80"; + description + "Event driven RRM rogue contribution duty cycle threshold value."; + } + leaf idrv-period { + type uint8; + default "20"; + description + "Interferer report period is fixed at 90 seconds"; + } + leaf aq-alarm2-control { + type boolean; + default "false"; + description + "Config air quality alarm on exceeding unclassified category severity"; + } + leaf aq-alarm2-threshold { + type uint8 { + range "1 .. 100"; + } + default "35"; + description + "Config air quality alarm threshold for unclassified category severity, range 1(low) - 100(high)"; + } + leaf cleanair-dev-all-mode { + type boolean; + default "true"; + description + "Detection of all given interferer types on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf rrm-pd-propagation { + type boolean; + default "false"; + description + "Persistent Device Propagation to neighboring access points on this band. + True - Persistent Device Propagation is enabled. + False - Persistent Device Propagation is disabled."; + } + leaf cleanair-device-bt-link-mode { + type boolean; + default "true"; + description + "Detection of bluetooth link device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-bt-link-mode { + type boolean; + default "false"; + description + "Alarm for reporting bluetooth link on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-mw-oven-mode { + type boolean; + default "true"; + description + "Detection of microwave oven interferer device types on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-mw-oven-mode { + type boolean; + default "false"; + description + "Alarm for reporting microwave oven on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-dev802fh-mode { + type boolean; + default "true"; + description + "Detection of frequency hopping 802.11 complaint device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf dev802fh-mode { + type boolean; + default "false"; + description + "Alarm for reporting frequency hopping 802.11 complaint on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-bt-discovery-mode { + type boolean; + default "true"; + description + "Detection of bluetooth device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-bt-discovery-mode { + type boolean; + default "false"; + description + "Alarm for reporting bluetooth on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-tddtx-mode { + type boolean; + default "true"; + description + "Detection of time division duplex transmitter device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-tddtx-mode { + type boolean; + default "false"; + description + "Alarm for reporting time division duplex transmitter on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-jammer-mode { + type boolean; + default "true"; + description + "Detection of jammer device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-jammer-mode { + type boolean; + default "false"; + description + "Alarm for reporting jammer on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-conttx-mode { + type boolean; + default "true"; + description + "Detection of continuous transmitter device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-conttx-mode { + type boolean; + default "false"; + description + "Alarm for reporting continuous transmitter on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-dect-like-mode { + type boolean; + default "true"; + description + "Detection of DECT like device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-dect-like-mode { + type boolean; + default "false"; + description + "Alarm for reporting DECT like on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-video-mode { + type boolean; + default "true"; + description + "Detection of video camera device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-video-mode { + type boolean; + default "false"; + description + "Alarm for reporting video camera on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-zig-bee-mode { + type boolean; + default "true"; + description + "Detection of zigbee device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-zig-bee-mode { + type boolean; + default "false"; + description + "Alarm for reporting zigbee on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-inv-mode { + type boolean; + default "true"; + description + "Detection of spectrally inverted wifi signal device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-inv-mode { + type boolean; + default "false"; + description + "Alarm for reporting spectrally inverted wifi signal on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-nonstd-mode { + type boolean; + default "true"; + description + "Detection of device using non standard wifi channels on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-nonstd-mode { + type boolean; + default "false"; + description + "Alarm for reporting device using non standard wifi channels"; + } + leaf cleanair-device-superag-mode { + type boolean; + default "true"; + description + "Detection of superAG device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-superag-mode { + type boolean; + default "false"; + description + "Alarm for reporting superAG on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-canopy-mode { + type boolean; + default "true"; + description + "Detection of canopy device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-canopy-mode { + type boolean; + default "false"; + description + "Alarm for reporting canopy on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-xbox-mode { + type boolean; + default "true"; + description + "Detection of xbox device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-xbox-mode { + type boolean; + default "false"; + description + "Alarm for reporting xbox on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-wimax-mobile-mode { + type boolean; + default "true"; + description + "Detection of wimax mobile device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-wimax-mobile-mode { + type boolean; + default "false"; + description + "Alarm for reporting wimax mobile on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-wimax-fixed-mode { + type boolean; + default "true"; + description + "Detection of wimax fixed device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-wimax-fixed-mode { + type boolean; + default "false"; + description + "Alarm for reporting wimax fixed on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf cleanair-device-ble-beacon-mode { + type boolean; + default "false"; + description + "Detection of BLE beacon device on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf device-ble-beacon-mode { + type boolean; + default "false"; + description + "Alarm for reporting ble beacon on CleanAIR capable access points on this band. + True - CleanAIR capable access points is enabled. + False - CleanAIR capable access points is disabled."; + } + leaf si-device-fhss-mode { + type boolean; + default "true"; + description + "Detection of FHSS device on SI capable access points on this band. + True - SI capable access points is enabled. + False - SI capable access points is disabled."; + } + leaf device-fhss-mode { + type boolean; + default "false"; + description + "Alarm for reporting FHSS on SI capable access points on this band. + True - SI capable access points is enabled. + False - SI capable access points is disabled."; + } + } + + grouping media-stream-band-info { + description + "Media stream band info related configuration."; + leaf multicast-direct { + type boolean; + default "false"; + description + "Decision flag to allow multicast direct stream on radio."; + } + leaf multicast-direct-adm-best-effort { + type boolean; + default "false"; + description + "Admit a media stream in best effort queue."; + } + leaf video-redirect { + type boolean; + default "false"; + description + "A unicast or multicast only video stream can be redirected to best effort."; + } + leaf cac-mmedia-max-bw { + type uint32 { + range "5 .. 85"; + } + default "85"; + description + "Maximum allowed bandwidth for media traffic."; + } + leaf cac-mstream-mdirect-min-client-rate { + type wireless-enum-types:dot11-min-phy-rate; + default "six"; + description + "Minimum client rate for multicast direct streams."; + } + leaf cac-mstream-mdirect-max-retry-percent { + type uint32 { + range "0 .. 100"; + } + default "80"; + description + "Maximum retry percent for multicast direct streams."; + } + leaf mdirect-max-stream-per-radio { + type uint32 { + range "0 .. 20"; + } + default "0"; + description + "Maximum number of allowed streams per radio for a 802.11 band."; + } + leaf mdirect-max-stream-per-client { + type uint32 { + range "0 .. 15"; + } + default "0"; + description + "Maximum number of allowed streams per client for a 802.11 band."; + } + } + + grouping st-configured-country { + description + "country code configuration"; + leaf country-code { + type wireless-enum-types:country-code; + must "(../country-code = 'ae' or + ../country-code = 'af' or + ../country-code = 'al' or + ../country-code = 'ao' or + ../country-code = 'ar' or + ../country-code = 'at' or + ../country-code = 'au' or + ../country-code = 'ba' or + ../country-code = 'bb' or + ../country-code = 'bd' or + ../country-code = 'be' or + ../country-code = 'bg' or + ../country-code = 'bh' or + ../country-code = 'bi' or + ../country-code = 'bm' or + ../country-code = 'bn' or + ../country-code = 'bo' or + ../country-code = 'br' or + ../country-code = 'bt' or + ../country-code = 'by' or + ../country-code = 'bw' or + ../country-code = 'ca' or + ../country-code = 'cd' or + ../country-code = 'ch' or + ../country-code = 'ci' or + ../country-code = 'cl' or + ../country-code = 'cm' or + ../country-code = 'cn' or + ../country-code = 'co' or + ../country-code = 'cr' or + ../country-code = 'cu' or + ../country-code = 'cy' or + ../country-code = 'cz' or + ../country-code = 'de' or + ../country-code = 'dk' or + ../country-code = 'do' or + ../country-code = 'dz' or + ../country-code = 'ec' or + ../country-code = 'ee' or + ../country-code = 'eg' or + ../country-code = 'el' or + ../country-code = 'es' or + ../country-code = 'et' or + ../country-code = 'fi' or + ../country-code = 'fj' or + ../country-code = 'fr' or + ../country-code = 'ga' or + ../country-code = 'gb' or + ../country-code = 'ge' or + ../country-code = 'gh' or + ../country-code = 'gi' or + ../country-code = 'gr' or + ../country-code = 'gt' or + ../country-code = 'hk' or + ../country-code = 'hn' or + ../country-code = 'hr' or + ../country-code = 'hu' or + ../country-code = 'id' or + ../country-code = 'ie' or + ../country-code = 'il' or + ../country-code = 'in' or + ../country-code = 'io' or + ../country-code = 'iq' or + ../country-code = 'is' or + ../country-code = 'it' or + ../country-code = 'jm' or + ../country-code = 'jo' or + ../country-code = 'j4' or + ../country-code = 'ke' or + ../country-code = 'kh' or + ../country-code = 'kn' or + ../country-code = 'kw' or + ../country-code = 'kz' or + ../country-code = 'la' or + ../country-code = 'lb' or + ../country-code = 'li' or + ../country-code = 'lk' or + ../country-code = 'lt' or + ../country-code = 'lu' or + ../country-code = 'lv' or + ../country-code = 'ly' or + ../country-code = 'ma' or + ../country-code = 'mc' or + ../country-code = 'md' or + ../country-code = 'me' or + ../country-code = 'mk' or + ../country-code = 'mm' or + ../country-code = 'mn' or + ../country-code = 'mo' or + ../country-code = 'mt' or + ../country-code = 'mu' or + ../country-code = 'mx' or + ../country-code = 'my' or + ../country-code = 'na' or + ../country-code = 'ng' or + ../country-code = 'ni' or + ../country-code = 'nl' or + ../country-code = 'no' or + ../country-code = 'np' or + ../country-code = 'nz' or + ../country-code = 'om' or + ../country-code = 'pa' or + ../country-code = 'pe' or + ../country-code = 'ph' or + ../country-code = 'pk' or + ../country-code = 'pl' or + ../country-code = 'pr' or + ../country-code = 'pt' or + ../country-code = 'py' or + ../country-code = 'qa' or + ../country-code = 'ro' or + ../country-code = 'rs' or + ../country-code = 'ru' or + ../country-code = 'sa' or + ../country-code = 'sd' or + ../country-code = 'se' or + ../country-code = 'sg' or + ../country-code = 'si' or + ../country-code = 'sk' or + ../country-code = 'sm' or + ../country-code = 'th' or + ../country-code = 'ti' or + ../country-code = 'tn' or + ../country-code = 'tr' or + ../country-code = 'tw' or + ../country-code = 'tz' or + ../country-code = 'ua' or + ../country-code = 'ug' or + ../country-code = 'us' or + ../country-code = 'uy' or + ../country-code = 'uz' or + ../country-code = 'va' or + ../country-code = 've' or + ../country-code = 'vn' or + ../country-code = 'xk' or + ../country-code = 'ye' or + ../country-code = 'zm' or + ../country-code = 'zw' or + ../country-code = 'za')" { + error-message "Unsupported Country. Please configure supported country."; + error-app-tag "must-violation"; + } + description + "country code"; + } + } + + container dot11-cfg-data { + description + "802.11 feature related configuration"; + container configured-countries { + description + "Country code configuration"; + list configured-country { + key "country-code"; + description + "List of configured country codes"; + uses wireless-dot11-cfg:st-configured-country; + } + } + container dot11ac-mcs-entries { + description + "802.11ac MCS rates related configuration."; + list dot11ac-mcs-entry { + key "spatial-stream index"; + description + "802.11ac MCS rates related configuration"; + uses wireless-dot11-cfg:mcs-key-80211ac; + uses wireless-dot11-cfg:ac-mcs-80211; + } + } + container dot11-entries { + description + "802.11 protocol related configuration"; + list dot11-entry { + key "band"; + description + "List of configuration related to 802.11 protocol"; + uses wireless-dot11-cfg:dot11; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot15-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot15-cfg.yang new file mode 100644 index 000000000..c5cd68a11 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-dot15-cfg.yang @@ -0,0 +1,63 @@ +module Cisco-IOS-XE-wireless-dot15-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-dot15-cfg"; + prefix wireless-dot15-cfg; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing 802.15 global configurations + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping dot15-global-config { + description + "Global 802.15 radio configuration"; + leaf global-radio-shut { + type boolean; + default "true"; + description + "Global 802.15 radio switch"; + } + } + + container dot15-cfg-data { + description + "yang model for 802.15 config"; + container dot15-global-config { + presence "dot15-global-config"; + description + "802.15 global configuration"; + uses wireless-dot15-cfg:dot15-global-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-enum-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-enum-types.yang new file mode 100644 index 000000000..da6ee4ee2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-enum-types.yang @@ -0,0 +1,7517 @@ +module Cisco-IOS-XE-wireless-enum-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-enum-types"; + prefix wireless-enum-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless common enum types. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added enumeration for AFC related types + - Added enumeration for 320 mhz channel width support + - Added enumeration for 802.11be MCS rate index + - Added enumeration for 10000 mbps ethernet port and updated ethernet port speed descriptions + - Removed 320 mhz from RF DCA channel width enumeration + - Updated enumeration for highest throughput supported + - Added enumeration for Geolocation AFC bulk height"; + reference + "4.4.0"; + cisco-semver:module-version "4.4.0"; + } + revision 2024-03-01 { + description + "- Added enum for kernel coredump type + - Added enumeration for Accelerometer sensor + - Added enumeration value for AFC request Radio Authority ID lookup in progress"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2023-11-01 { + description + "- Added enumeration for ethernet POE-out state + - Added enum for AP deployment mode + - Added enumeration for EDCA low latency + - Added enumeration for AFC health check + - Added enums for AP geolocation height derived from auto-locate"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2023-07-01 { + description + "- Added enumeration for location FTM burst duration + - Added enumeration for AP ranging mode and AP location mode + - Added enumeration for AFC related types + - Modified enum for AP location mode + - Obsolete Express Wi-Fi NAC + - Added enumeration for device-type, band-type and request-type for spectral recording"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2023-03-01 { + description + "- Added new enum for country codes + - Added enumeration for FRA action + - Added enumeration for geolocation derivation source + - Obsolete enumeration for BLE streaming state + - Added directional mode to the antenna mode enumeration"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2022-11-01 { + description + "- Added enumeration for spatial stream + - Update yang-version to 1.1 + - Added enumeration for AP geolocation height type and AP pressure sensor state + - Added enumeration for AP GNSS antenna type + - Added enumeration for AP geolocation type and source + - Added enumeration for radio type check + - Deprecate Express Wi-Fi NAC"; + reference + "3.11.0"; + cisco-semver:module-version "3.11.0"; + } + revision 2022-07-01 { + description + "- Added enumeration for group method + - Added enumeration for guard interval + - Added enumeration for XOR radio type 5GHz and 6GHz + - Added enumeration for AAA location namespace Id + - Added enumeration for mDNS AP VLAN related operations"; + reference + "3.10.0"; + cisco-semver:module-version "3.10.0"; + } + revision 2022-03-01 { + description + "- Added PMK propagation information from AP to AP + - Added enumeration for AP sensor type + - Added enumeration for BLE streaming state + - Added enumerations for power profile configuration + - Added support for authentication fallback for RLAN clients + - Added enumeration for BLE event type and address type + - Added enumeration for AP CAC status and domain types + - Updated enumeration for BLE event type and address type"; + reference + "3.9.0"; + cisco-semver:module-version "3.9.0"; + } + revision 2021-11-01 { + description + "- Added enumeration for Password Element + - Added enumeration for IOT radio firmware type + - Added enumeration for PMK distribution + - Added enumeration for OOB (out-of-band) image method + - Added enumeration for 802.11ax 6GHz specific feature + - Added enumeration for AP LED flash configuration type"; + reference + "3.8.0"; + cisco-semver:module-version "3.8.0"; + } + revision 2021-07-01 { + description + "- Added enumeration for 6 GHz radio band + - Added new enum for country codes + - Added enumeration for AP antenna interface type + - Added enumeration for radio service type + - Added an enumeration for antenna beam selection"; + reference + "3.7.0"; + cisco-semver:module-version "3.7.0"; + } + revision 2021-03-01 { + description + "- Added enums for neighbor discovery mode and capability for AP + - Added enum for LAN port configuration"; + reference + "3.6.0"; + cisco-semver:module-version "3.6.0"; + } + revision 2020-11-01 { + description + " - Added enum for open rrm remote leader reset reason + - Deprecated Rogue RLDP enumerations"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2020-07-01 { + description + "- Added BLE LTX feature + - Added enum for rule action type + - Added enum for rule application + - Added enums for support bundle transfer status and mode + - Added enums for country codes + - Added enums for controller name config in access point + - Added enum for for the case of not allowing cross-connect providing WiFi direct clients + - Added enum for BLE device SIM interface for virtual AP"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2020-03-01 { + description + "- Added enum for controller index + - Added enum indicating number of 802.11k Beacon Radio Measurement Requests to send + - Added enum for 802.11k Beacon Radio Measurement Modes for Client Scan Reports + - Added enum indicating trigger which sent a 802.11k Beacon Radio Measurement Request"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-11-01 { + description + "- Added enum for NAC type + - Added a new enum for P2P blocking action + - Added enum for IPv6 CAPWAP data UDP-Lite checksum + - Modified NAC type description + - Added dual radio mode and FRA capable parameters + - Added enum for IPv6 Neighbour Discovery(ND) proxy state + - Added enum for highest throughput supported by radio"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2019-05-01 { + description + "- Added enums for timer profile action + - Added enums for mfp + - Added enums for 802.11u + - Changed enum for Hotspot 2.0 to give correct version names + - Added semantic version"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2019-02-19 { + description + "- Added new enum for Channel switch mode + - Change EoGRE enum + - Added support for Flex recovery (FT) EoGRE matching enum + - Added support for secondary 80 channel for 80+80 MHz Channel width + - Added enum for dot11ax MCS rate index + - Cleaned up spelling errors in descriptions + - Changed eogre-client-match-v2 to a clearer eogre-client-match-reason + - Added new enum for NDP data type + - Added enum for RRM channel change type + - New enum showing if a wired vlan is associated to Guest-LAN profile + - Added enum for DCA threshold and Data rate threshold of Optimized Roaming + - Added new enum for Radio's neighbor channel width"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-05-18 { + description + "Removed enumerations for sip codec support"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-03-22 { + description + "Add enum for multicast support"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef apf-vap-p2p-blocking-action { + type enumeration { + enum p2p-blocking-action-none { + value 0; + description + "Peer to peer blocking action None"; + } + enum p2p-blocking-action-fwdup { + value 1; + description + "Peer to peer blocking action Forward Upstream"; + } + enum p2p-blocking-action-drop { + value 2; + description + "Peer to peer blocking action Drop"; + } + enum p2p-blocking-action-allow-private-group { + value 3; + description + "Peer to peer blocking action Allow Private Group"; + } + } + description + "Enables point to point communication - Not supported in EWLC"; + } + + typedef ap-pp-intf-radio-id { + type enumeration { + enum ap-pp-intf-radio-24-ghz { + value 0; + description + "2.4 GHz Radio"; + } + enum ap-pp-intf-radio-5-ghz { + value 1; + description + "5 GHz Radio"; + } + enum ap-pp-intf-radio-sec-5-ghz { + value 2; + description + "Secondary 5 GHz Radio"; + } + enum ap-pp-intf-radio-6-ghz { + value 3; + description + "6 GHz Radio"; + } + } + description + "Radio ID"; + } + + typedef ap-pp-intf-radio-param { + type enumeration { + enum ap-pp-intf-radio-state { + value 0; + description + "Radio state"; + } + enum ap-pp-intf-radio-ss { + value 1; + description + "Radio spatial-stream"; + } + } + description + "Radio parameter"; + } + + typedef ap-pp-radio-ss { + type enumeration { + enum radio-spatial-stream-1 { + value 0; + description + "Spatial stream 1 x 1"; + } + enum radio-spatial-stream-2 { + value 1; + description + "Spatial stream 2 x 2"; + } + enum radio-spatial-stream-3 { + value 2; + description + "Spatial stream 3 x 3"; + } + enum radio-spatial-stream-4 { + value 3; + description + "Spatial stream 4 x 4"; + } + enum radio-spatial-stream-8 { + value 4; + description + "Spatial stream 8 x 8"; + } + } + description + "Radio spatial stream"; + } + + typedef ap-pp-intf-ethernet-param { + type enumeration { + enum ap-pp-intf-eth-state { + value 0; + description + "Ethernet state"; + } + enum ap-pp-intf-eth-speed { + value 1; + description + "Ethernet speed"; + } + enum ap-pp-intf-poe-out-state { + value 2; + description + "Ethernet Power over Ethernet out state"; + } + } + description + "Ethernet parameter"; + } + + typedef ap-pp-intf-ethernet-id { + type enumeration { + enum ap-pp-intf-gb-eth-0 { + value 0; + description + "Gigabit Ethernet 0"; + } + enum ap-pp-intf-gb-eth-1 { + value 1; + description + "Gigabit Ethernet 1"; + } + enum ap-pp-intf-lan-port-1 { + value 2; + description + "LAN port 1"; + } + enum ap-pp-intf-lan-port-2 { + value 3; + description + "LAN port 2"; + } + enum ap-pp-intf-lan-port-3 { + value 4; + description + "LAN port 3"; + } + } + description + "Ethernet ID"; + } + + typedef ap-pp-intf-ethernet-speed { + type enumeration { + enum eth-speed-100-mbps { + value 0; + description + "Ethernet speed 100 Mbps"; + } + enum eth-speed-1000-mbps { + value 1; + description + "Ethernet speed 1000 Mbps"; + } + enum eth-speed-2500-mbps { + value 2; + description + "Ethernet speed 2500 Mbps"; + } + enum eth-speed-5000-mbps { + value 3; + description + "Ethernet speed 5000 Mbps"; + } + } + description + "Ethernet speed"; + } + + typedef ap-pp-intf-usb-id { + type enumeration { + enum ap-pp-intf-usb-0 { + value 0; + description + "USB port 0"; + } + } + description + "USB ID"; + } + + typedef ap-pp-intf-usb-param { + type enumeration { + enum ap-pp-intf-usb-state { + value 0; + description + "USB state"; + } + } + description + "USB parameter"; + } + + typedef ap-pp-intf { + type enumeration { + enum ap-pp-intf-unset { + value 0; + description + "Interface unconfigured"; + } + enum ap-pp-intf-eth { + value 1; + description + "Ethernet interface"; + } + enum ap-pp-intf-radio { + value 2; + description + "Radio interface"; + } + enum ap-pp-intf-usb { + value 3; + description + "USB interface"; + } + } + description + "Interface type"; + } + + typedef ap-pp-state { + type enumeration { + enum ap-pp-state-down { + value 0; + description + "Interface state is down"; + } + } + description + "Interface state"; + } + + typedef dot11ac-mcs-rate-index { + type enumeration { + enum enm-dot11ac-mcs-idx-8 { + value 8; + description + "MCS data rate for index 8"; + } + enum enm-dot11ac-mcs-idx-9 { + value 9; + description + "MCS data rate for index 9"; + } + } + description + "Enum for Dot11ac MCS Data rate index"; + } + + typedef rrm-chan-width { + type enumeration { + enum rrm-channel-width-20-mhz { + value 20; + description + "Channel width 20 MHz"; + } + enum rrm-channel-width-40-mhz { + value 40; + description + "Channel width 40 MHz"; + } + enum rrm-channel-width-80-mhz { + value 80; + description + "Channel width 80 MHz"; + } + enum rrm-channel-width-160-mhz { + value 160; + description + "Channel width 160 MHz"; + } + enum rrm-channel-width-80-80-mhz { + value 188; + description + "Channel width 188 MHz"; + } + enum rrm-channel-width-320-mhz { + value 320; + description + "Channel width 320 MHz"; + } + } + description + "RRM channel width"; + } + + typedef radio-neighbor-chan-width { + type enumeration { + enum radio-neighbor-chan-width-20-mhz { + value 0; + description + "Channel width 20 MHz"; + } + enum radio-neighbor-chan-width-40-mhz-above { + value 1; + description + "Channel width 40 MHz Above"; + } + enum radio-neighbor-chan-width-40-mhz-below { + value 2; + description + "Channel width 40 MHz Below"; + } + enum radio-neighbor-chan-width-80-mhz { + value 6; + description + "Channel width 80 MHz"; + } + enum radio-neighbor-chan-width-160-mhz { + value 7; + description + "Channel width 160 MHz"; + } + enum radio-neighbor-chan-width-8080-mhz { + value 8; + description + "Channel width 80+80 MHz"; + } + enum radio-neighbor-chan-width-320-mhz { + value 9; + description + "Channel width 320 MHz"; + } + } + description + "channel width of neighbor radio"; + } + + typedef apf-ms-data-upsd-bronze { + type enumeration { + enum bk1 { + value 0; + description + "Background data -1"; + } + enum bk2 { + value 1; + description + "Background data -2"; + } + enum bk3 { + value 2; + description + "Background data -3"; + } + enum bk4 { + value 3; + description + "Background data -4"; + } + } + description + "Enum type for data upsd bronze"; + } + + typedef apf-ms-data-upsd-silver { + type enumeration { + enum be1 { + value 0; + description + "Best effort data -1"; + } + enum be2 { + value 1; + description + "Best effort data -2"; + } + enum be3 { + value 2; + description + "Best effort data -3"; + } + enum be4 { + value 3; + description + "Best effort data -4"; + } + } + description + "Enum type for data upsd silver"; + } + + typedef apf-ms-data-upsd-gold { + type enumeration { + enum vi1 { + value 0; + description + "Video data -1"; + } + enum vi2 { + value 1; + description + "Video data -2"; + } + enum vi3 { + value 2; + description + "Video data -3"; + } + enum vi4 { + value 3; + description + "Video data -4"; + } + } + description + "Enum type for data upsd gold"; + } + + typedef apf-ms-data-upsd-platinum { + type enumeration { + enum vo1 { + value 0; + description + "Voice data -1"; + } + enum vo2 { + value 1; + description + "Voice data -2"; + } + enum vo3 { + value 2; + description + "Voice data -3"; + } + enum vo4 { + value 3; + description + "Voice data -4"; + } + } + description + "Enum type for data upsd platinum"; + } + + typedef enm-mcast-client-status { + type enumeration { + enum mc-only { + value 0; + description + "MC only"; + } + enum mc2uc-pending { + value 1; + description + "MC-UC pending"; + } + enum mc2uc-allowed { + value 2; + description + "MC-UC allowed"; + } + enum mc2uc-deny { + value 3; + description + "MC-UC deny"; + } + enum re-rrc-deny { + value 4; + description + "Re RRC deny"; + } + enum re-rrc-demote { + value 5; + description + "Re RRC demote"; + } + enum mc2uc-deny-no-blacklist { + value 6; + description + "MC-UC deny no blacklist"; + } + } + description + "Multicast client status"; + } + + typedef media-stream-qos { + type enumeration { + enum mstream-besteffort { + value 0; + description + "best effort"; + } + enum mstream-background { + value 1; + description + "background"; + } + enum mstream-video { + value 4; + description + "This object specifies the Video QoS Over the Air"; + } + enum mstream-voice { + value 6; + description + "This object specifies the Voice QoS Over the Air"; + } + } + description + "Specifies the type of media stream used"; + } + + typedef enm-radio-type { + type enumeration { + enum radio-invalid { + value 0; + description + "Radio invalid"; + } + enum radio-80211bg { + value 1; + description + "Radio 80211bg"; + } + enum radio-80211a { + value 2; + description + "Radio 80211a"; + } + enum radio-80211abgn { + value 3; + description + "Radio 80211abgn"; + } + enum radio-uwb { + value 4; + description + "Radio UWB"; + } + enum radio-remote-lan { + value 8; + description + "Radio remote LAN"; + } + enum radio-80211-6ghz { + value 16; + description + "Radio 80211 6 GHz"; + } + enum radio-80211-xor-5-6ghz { + value 18; + description + "Radio 80211 XOR 5/6 GHz"; + } + } + description + "Radio type"; + } + + typedef enm-radiotype-check { + type enumeration { + enum radiotype-none { + value 0; + description + "Radio type none"; + } + enum radiotype-static { + value 1; + description + "Radio non dual band"; + } + enum radiotype-dual-band { + value 2; + description + "Radio dual band"; + } + } + description + "Radio type check"; + } + + typedef media-stream-decision-status { + type enumeration { + enum rrc-decision-denied { + value 1; + description + "RRC decision denied"; + } + enum rrc-decision-admit { + value 2; + description + "RRC decision admit"; + } + enum rrc-decision-bad-client-denied { + value 3; + description + "RRC decision bad client denied"; + } + enum rrc-decision-bad-client-demote { + value 4; + description + "RRC decision bad client demote"; + } + } + description + "Media-stream decision status"; + } + + typedef rogue-class-type { + type enumeration { + enum rogue-classtype-unknown { + value 0; + description + "Pending"; + } + enum rogue-classtype-friendly { + value 1; + description + "This object specifies a known and acknowledged rogue AP"; + } + enum rogue-classtype-malicious { + value 2; + description + "This object specifies an unknown AP that matches user defined malicious rule"; + } + enum rogue-classtype-unclassified { + value 3; + description + "This object specifies an unknown AP that did not match any classification rule"; + } + enum rogue-classtype-custom { + value 4; + description + "Custom"; + } + enum rogue-classtype-invalid { + value 5; + description + "Custom"; + } + } + description + "represents the categorization of the identified rogues"; + } + + typedef rogue-security-level { + type enumeration { + enum rogue-security-level-low { + value 0; + description + "This object specifies the security level is low"; + } + enum rogue-security-level-high { + value 1; + description + "This object specifies the security level is High"; + } + enum rogue-security-level-critical { + value 2; + description + "This object specifies the security level is critical"; + } + enum rogue-security-level-custom { + value 3; + description + "This object specifies the user can configure rogue detection parameters"; + } + } + description + "This object specifies the specifies the rogue detection security level"; + } + + typedef rldp-config-mode { + type enumeration { + enum rldp-cfg-mode-disable { + value 0; + description + "This object specifies that RLDP is disabled"; + } + enum rldp-cfg-mode-enable { + value 1; + description + "This object specifies that RLDP is enabled on all APs"; + } + enum rldp-cfg-mode-enable-monitor-only { + value 2; + description + "This object specifies that RLDP is enabled on monitor APs only"; + } + } + status deprecated; + description + "This object specifies the specifies the rogue detection security level"; + } + + typedef rogue-state { + type enumeration { + enum rogue-state-init { + value 0; + description + "rogue state Init"; + } + enum rogue-state-pending { + value 1; + description + "Pending"; + } + enum rogue-state-alert { + value 2; + description + "This object specifies the Alert state means Rogue AP can be a potential threat"; + } + enum rogue-state-lrad { + value 3; + description + "rouge state Lrad"; + } + enum rogue-state-trusted { + value 4; + description + "This object specifies the Known state means its just internal + AP which is not on the same Switch"; + } + enum rogue-state-acknowledged { + value 5; + description + "This object specifies the Acknowledge state means an external AP whose + existence is acceptable and not a threat "; + } + enum rogue-state-contained { + value 6; + description + "This object specifies the Contained means containment is initiated and ongoing"; + } + enum rogue-state-threat { + value 7; + description + "This object specifies the the state when the rogue is found + on wired network"; + } + enum rogue-state-contained-pending { + value 8; + description + "This object specifies the will appear in known rogue list"; + } + enum rogue-state-deleted { + value 9; + description + "Delete"; + } + enum rogue-state-invalid { + value 10; + description + "Invalid"; + } + } + description + "This object specifies the This attribute is used to specify the state in which the Rogue AP is"; + } + + typedef rrm-control-mode { + type enumeration { + enum rrm-automatic { + value 0; + description + "This object specifies the Enables auto-RF"; + } + enum rrm-run-once { + value 1; + description + "This object specifies the Enables one-time auto-RF"; + } + enum rrm-static { + value 2; + description + "This object specifies the Disables 802.11b RF grouping selection"; + } + enum rrm-leader { + value 3; + description + "This object specifies the Sets the 802.11b RF group selection to leader mode"; + } + enum rrm-restart { + value 4; + description + "RESTART"; + } + } + description + "This object specifies the indicates the mode for the RRM algorithm + for the band"; + } + + typedef preferred-mode-type { + type enumeration { + enum preferred-mode-unconfig { + value 0; + description + "option to denote the capwap preferred mode is not configured"; + } + enum preferred-mode-ipv4 { + value 1; + description + "option to denote the capwap preferred mode is IPV4"; + } + enum preferred-mode-ipv6 { + value 2; + description + "option to denote the capwap preferred mode is IPV6"; + } + } + description + "enum to denote the capwap preferred mode type"; + } + + typedef ipv6-capwap-checksum-type { + type enumeration { + enum udplite-checksum-unconfigured { + value 0; + description + "UDP-Lite checksum not yet configured"; + } + enum udplite-checksum-enabled { + value 1; + description + "UDP-Lite checksum for IPv6 CAPWAP data packets"; + } + enum udplite-checksum-disabled { + value 2; + description + "UDP checksum for IPv6 CAPWAP data packets"; + } + } + description + "Enumeration denoting IPv6 CAPWAP data checksum type"; + } + + typedef rad-cert-type { + type enumeration { + enum ap-cert-mic { + value 1; + description + "This object specifies the Manufacture Installed Certificate"; + } + enum ap-cert-ssc { + value 2; + description + "This object specifies the Self Signed Certificate type"; + } + enum ap-cert-lsc { + value 3; + description + "This object specifies the Local Significance"; + } + } + description + "This object specifies the Enum values denoting AP Certificate Type"; + } + + typedef apf-rogue-rule-rule-match-op { + type enumeration { + enum rule-match-none { + value 0; + description + "This object specifies the Requires no conditions to be met for + the rule to be matched"; + } + enum rule-match-all { + value 1; + description + "This object specifies the Requires all conditions to be met for + the rule to be matched"; + } + enum rule-match-any { + value 2; + description + "This object specifies the Requires any one condition to be met for the rule to be matched"; + } + enum rule-match-max { + value 3; + description + "Placeholder for the maximum number of rules that can match for the particular AP/client"; + } + } + description + "specifies the type of rule matching that needs to be done"; + } + + typedef apf-vap-80211-encryption { + type enumeration { + enum apf-vap-80211-encryp-wep104 { + value 0; + description + "104-bit WEP"; + } + enum apf-vap-80211-encryp-wep40 { + value 1; + description + "40-bit WEP"; + } + } + description + "This object specifies the Type of Static WEP Encryption"; + } + + typedef apf-vap-8021x-encryption { + type enumeration { + enum apf-vap-8021x-encryp-wep104 { + value 0; + description + "104-bit WEP"; + } + enum apf-vap-8021x-encryp-none { + value 1; + description + "8021x Encryption None"; + } + enum apf-vap-8021x-encryp-wep40 { + value 2; + description + "40-bit WEP"; + } + } + description + "This object specifies the Type of 802.1X Encryption. This applies if + bsnDot11Ess8021xSecurity is in enabled state"; + } + + typedef apf-vap-80211-authentication { + type enumeration { + enum apf-vap-80211-auth-open { + value 0; + description + "This object specifies the Open system authentication"; + } + enum apf-vap-80211-auth-shared-key { + value 1; + description + "This object specifies the Shared key authentication"; + } + enum apf-vap-80211-auth-wpa-8021x { + value 2; + description + "This object specifies the Wi-Fi Protected Access key authentication"; + } + enum apf-vap-80211-auth-wpa-psk { + value 3; + description + "Protected System (WPA-PSK)"; + } + enum apf-vap-80211-auth-cckm-8021x { + value 4; + description + "Protected System (CCKM+802.1X)"; + } + enum apf-auth-alg-cisco-leap { + value 128; + description + "Protected System (Cisco LEAP)"; + } + } + description + "This object specifies the Type of 802.11 system authentication"; + } + + typedef apf-vap-lan-sub-type { + type enumeration { + enum apf-vap-wireless-lan { + value 1; + description + "specifies the sub-type of the LAN created."; + } + enum apf-vap-guest-lan { + value 2; + description + "Lan subtype is guest"; + } + enum apf-vap-remote-lan { + value 3; + description + "Lan subtype is remote lan"; + } + } + description + "This object specifies the specifies the sub-type of the LAN created"; + } + + typedef apf-vap-radio-policies { + type enumeration { + enum apf-vap-radio-all { + value 0; + description + "This object specifies the Configures the WLAN on all Radio bands"; + } + enum apf-vap-radio-80211b-only { + value 1; + description + "This object specifies the Configures the WLAN on 802.11b only"; + } + enum apf-vap-radio-80211a-only { + value 2; + description + "This object specifies the Configures the WLAN on 802.11a only"; + } + enum apf-vap-radio-80211g-only { + value 3; + description + "This object specifies the Configures the WLAN on 802.11g only"; + } + enum apf-vap-radio-80211bg-only { + value 4; + description + "This object specifies the Configures the WLAN on 802.11b and 802.11g only"; + } + enum apf-vap-radio-80211ag-only { + value 5; + description + "This object specifies the Configures the WLAN on 802.11a and 802.11g only"; + } + enum apf-vap-radio-80211-ab-only { + value 6; + description + "This object specifies the Configures the WLAN on 802.11a and 802.11b only"; + } + enum apf-vap-radio-none { + value 7; + description + "This object specifies the Configures the Wlan to None"; + } + enum apf-vap-80211b-simulated-remote-lan { + value 8; + description + "This object specifies the Configures the WLAN on simulated remote lan"; + } + } + description + "represents the radio policy in the wlan"; + } + + typedef apf-vap-wme-policies { + type enumeration { + enum apf-vap-wme-disabled { + value 0; + description + "This object specifies the disable WMM on the WLAN"; + } + enum apf-vap-wme-allowed { + value 1; + description + "This object specifies the Allows WMM on the WLAN"; + } + enum apf-vap-wme-required { + value 2; + description + "This object specifies the Requires WMM enabled clients on the WLAN"; + } + enum apf-vap-wme-invalid { + value 3; + description + "This object specifies the WME is invalid clients on the WLAN"; + } + } + description + "This object specifies the When enabled, WME Policy is applied on the packets"; + } + + typedef apf-vap-pmf-policies { + type enumeration { + enum apf-vap-pmf-disabled { + value 0; + description + "This object specifies the Configures PMF as disabled"; + } + enum apf-vap-pmf-optional { + value 1; + description + "This object specifies the Configures PMF as optional"; + } + enum apf-vap-pmf-required { + value 2; + description + "This object specifies the Configures PMF as mandatory"; + } + } + description + "This object specifies the specifies the 802.11w PFM configuration for a + particular WLAN"; + } + + typedef apf-vap-auto-qos-profile { + type enumeration { + enum apf-vap-auto-qos-disabled { + value 0; + description + "unknown"; + } + enum apf-vap-auto-qos-enterprise { + value 1; + description + "This object specifies the Enable AutoQos Wireless Enterprise Policy"; + } + enum apf-vap-auto-qos-voice { + value 2; + description + "This object specifies the Enabling Auto QoS Voice will enable call-snooping and voice acm"; + } + enum apf-vap-auto-qos-guest { + value 3; + description + "This object specifies the Enable AutoQoS Wireless Guest Policy"; + } + } + description + "Enumeration specifies the group of auto QoS profile"; + } + + typedef apf-vap-wifi-direct-policies { + type enumeration { + enum apf-vap-wifidirect-disable { + value 0; + description + " WFD is completely disabled"; + } + enum apf-vap-wifidirect-allowed { + value 1; + description + "This object specifies the Allow all the wifi direct clients + to associate unconditionally"; + } + enum apf-vap-wifidirect-not-allowed { + value 2; + description + "This object specifies the Disallow wifi direct clients + with concurrency enabled to associate with WLAN"; + } + enum apf-vap-wifidirect-invalid { + value 3; + description + "Invalid wifi direct policy"; + } + enum apf-vap-wifidirect-not-allowed-xc { + value 4; + description + "This object specifies the Disallow wifi direct clients + that provide cross-connect capability to associate"; + } + } + description + "This object specifies the is used to allow/disallow wi-fi + direct clients to/from joining the infrastructure + network"; + } + + typedef mm-secure-cipher-list { + type enumeration { + enum mm-secure-cipher-disable { + value 0; + description + "This object specifies the A value of 'disable' implies that controllers will continue + to use default ciphers for Mobility tunnel"; + } + enum mm-secure-cipher-aes256-sha { + value 1; + description + "This object specifies the A value of 'aes256sha1' implies that controllers will use + AES256_SHA cipher for Mobility tunnel"; + } + enum mm-secure-cipher-aes256-sha256 { + value 2; + description + "This object specifies the A value of 'aes256sha2' implies that controllers will use + AES256_SHA256 cipher for Mobility tunnel"; + } + } + description + "This object specifies the This object is used to configure secure ciphers, AES256+SHA + or AES256+SHA2 for Mobility tunnel"; + } + + typedef mfp-event { + type enumeration { + enum mfp-event-invalid-mic { + value 0; + description + "Invalid MIC"; + } + enum mfp-event-invalid-seq { + value 1; + description + "Invalid Sequence"; + } + enum mfp-event-no-mic { + value 2; + description + "No MIC"; + } + enum mfp-event-unexpected-mic { + value 3; + description + "Unexpected MIC"; + } + } + description + "MFP event types"; + } + + typedef apf-80211-qos-mode { + type enumeration { + enum apf-80211-qos-mode-default-wmm { + value 1; + description + "This object specifies the Enable WMM default parameters for 802.11b"; + } + enum apf-80211-qos-mode-spectralink { + value 2; + description + "This object specifies the Enable SpectraLink Voice Priority parameters for 802.11b"; + } + enum apf-80211-qos-mode-optimized-voice { + value 3; + description + "This object specifies the Enable non-spectralink voice-optimized parameters for 802.11b"; + } + enum apf-80211-qos-mode-optimized-voice-video { + value 4; + description + "This object specifies the Enable combined video-voice-optimized parameters for 802.11b"; + } + enum apf-80211-qos-mode-custom-voice { + value 5; + description + "This object specifies the Enable Custom Voice parameters for 802.11b"; + } + enum apf-80211-qos-mode-custom { + value 6; + description + "custom"; + } + enum apf-80211-qos-mode-invalid { + value 7; + description + "Invalid"; + } + } + description + "This object specifies the This object specifies the EDCA profile to be used + in EDCA Parameter set element"; + } + + typedef radio-type { + type enumeration { + enum dot11-invalid-value { + value 0; + description + "Invalid"; + } + enum dot11-2-dot-4-ghz { + value 1; + description + "2.4 GHz"; + } + enum dot11-5-ghz { + value 2; + description + "5 GHz"; + } + enum dot11-dualband-radio { + value 3; + description + "Dual Band"; + } + enum dot11-4-dot-9-ghz { + value 4; + description + "4.9 GHz"; + } + enum dot11-5-dot-8-ghz { + value 5; + description + "5.8 GHz"; + } + enum dot11-6-ghz { + value 6; + description + "6 GHz"; + } + enum dot11-dualband-radio-5-6ghz { + value 7; + description + "Dual Band 5/6GHz"; + } + } + description + "This object specifies the this represents various radio band type"; + } + + typedef enm-device-type { + type enumeration { + enum dev-unknown { + value 0; + description + "Unknown device-type"; + } + enum dev-id-bluetooth-link { + value 1; + description + "Device-type bluetooth"; + } + enum dev-id-microwave-oven { + value 8; + description + "Device-type microwave-oven"; + } + enum dev-id-802-11-fh { + value 10; + description + "Device-type which support 802.11 frequency hopping"; + } + enum dev-id-tdd { + value 18; + description + "Device-type Time Division Duplex (TDD) transmitter"; + } + enum dev-id-jammer { + value 19; + description + "Device-type jammer"; + } + enum dev-id-continuous-tx { + value 25; + description + "Device-type which has generic continuous waveform"; + } + enum dev-id-dectlike-phone { + value 26; + description + "Device type Digital Enhanced Cordless Communication (DECT) like phone"; + } + enum dev-id-video-camera { + value 27; + description + "Device-type video-camera"; + } + enum dev-id-802-15-4 { + value 28; + description + "Device-type which support 802.15.4 like ZigBee, HART, etc"; + } + enum dev-id-unclassified { + value 29; + description + "Unclassified device-type"; + } + } + description + "Enum for cleanair device-type"; + } + + typedef sr-request-type { + type enumeration { + enum request-undefined { + value 0; + description + "Undefined request"; + } + enum request-start { + value 1; + description + "Start-request"; + } + enum request-stop { + value 2; + description + "Stop-request"; + } + enum request-abort { + value 3; + description + "Abort-request"; + } + } + description + "Enum for spectral recording request-type"; + } + + typedef sr-band { + type enumeration { + enum sr-band-all { + value 0; + description + "All-band"; + } + enum sr-band-2-dot-4-ghz { + value 1; + description + "2.4 GHz band"; + } + enum sr-band-5-ghz { + value 2; + description + "5 GHz band"; + } + enum sr-band-6-ghz { + value 3; + description + "6 GHz band"; + } + } + description + "Enum for band for spectral recording request"; + } + + typedef enm-radio-band { + type enumeration { + enum band-2-dot-4-ghz { + value 1; + description + "Radio band - 2.4 GHz"; + } + enum band-5-ghz { + value 2; + description + "Radio band - 5 GHz"; + } + enum band-dualband-radio { + value 3; + description + "Radio band - dual band"; + } + enum band-6-ghz { + value 4; + description + "Radio band - 6 GHz"; + } + enum band-dualband-radio-5-6ghz { + value 5; + description + "Radio band - dual band 5-6 GHz"; + } + } + description + "Enumeration for 802.11 radio band"; + } + + typedef slot-id-type { + type enumeration { + enum slot-0 { + value 0; + description + "slot 0"; + } + enum slot-1 { + value 1; + description + "slot 1"; + } + enum slot-2 { + value 2; + description + "slot 2"; + } + enum slot-3 { + value 3; + description + "slot 3"; + } + } + description + "This object specifies the This subtype represents a various + Slot Id type of an AP"; + } + + typedef half-life-time { + type enumeration { + enum half-life-time-0 { + value 0; + description + "This object specifies the A value of 0 indicates that + timeout is disabled"; + } + enum half-life-time-1 { + value 1; + description + "slot 1"; + } + enum half-life-time-2 { + value 2; + description + "slot 2"; + } + enum half-life-time-5 { + value 5; + description + "slot 5"; + } + enum half-life-time-10 { + value 10; + description + "half time is 10"; + } + enum half-life-time-20 { + value 20; + description + "half time is 20"; + } + enum half-life-time-30 { + value 30; + description + "half time is 30"; + } + enum half-life-time-60 { + value 60; + description + "half time is 60"; + } + enum half-life-time-90 { + value 90; + description + "half time is 90"; + } + enum half-life-time-120 { + value 120; + description + "half time is 120"; + } + enum half-life-time-180 { + value 180; + description + "half time is 180"; + } + enum half-life-time-300 { + value 300; + description + "half time is 300"; + } + } + description + "This object specifies the This object specifies the half-life timeout + for the client"; + } + + typedef ap-eth-port-speed { + type enumeration { + enum ap-ethernet-port-speed-auto { + value 0; + description + "Ethernet port speed which is auto adjustable"; + } + enum ap-ethernet-port-speed-10-mbps { + value 1; + description + "Ethernet port speed of 10 MBps"; + } + enum ap-ethernet-port-speed-100-mbps { + value 2; + description + "Ethernet port speed of 100 MBps"; + } + enum ap-ethernet-port-speed-1000-mbps { + value 3; + description + "Ethernet port speed of 1000 MBps"; + } + enum ap-ethernet-port-speed-2500-mbps { + value 4; + description + "Ethernet port speed of 2500 MBps"; + } + enum ap-ethernet-port-speed-5000-mbps { + value 5; + description + "Ethernet port speed of 5000 MBps"; + } + enum ap-ethernet-port-speed-invalid { + value 6; + description + "Ethernet port speed is invalid"; + } + enum ap-ethernet-port-speed-10000-mbps { + value 7; + description + "Ethernet port speed of 5000 MBps"; + } + } + description + "This object specifies the this subtype represents ethernet port speed"; + } + + typedef ap-eth-port-duplex { + type enumeration { + enum ap-ethernet-port-duplex-auto { + value 0; + description + "ethernet port duplex Auto"; + } + enum ap-ethernet-port-duplex-half { + value 1; + description + "ethernet port duplex Half"; + } + enum ap-ethernet-port-duplex-full { + value 2; + description + "ethernet port duplex Full"; + } + } + description + "enumeration for mode of the ethernet port"; + } + + typedef memory-core-dump-flag { + type enumeration { + enum tftp-coredump-uncompress { + value 0; + description + "This object specifies the Do not compress the core dump file"; + } + enum tftp-coredump-compress { + value 1; + description + "This object specifies the Compress the core dump file"; + } + enum tftp-coredump-disable { + value 2; + description + "This object specifies the disable the core dump file"; + } + } + description + "enumeration listing the treatment to the coredump generated at the AP"; + } + + typedef rate-state { + type enumeration { + enum apf-tx-rate-unsupported { + value 0; + description + "This object specifies the Disables a rate"; + } + enum apf-tx-rate-supported { + value 1; + description + "This object specifies the Configures a rate to supported"; + } + enum apf-tx-rate-basic { + value 2; + description + "This object specifies the Configures a rate to mandatory"; + } + enum apf-tx-rate-not-applicable { + value 3; + description + "Not applicable"; + } + } + description + "enumeration listing the type of Tx rate supported"; + } + + typedef apf-80211n-amsdu { + type enumeration { + enum apf-80211n-amsdu-disable { + value 0; + description + " 80211N AMSDU is disabled"; + } + enum apf-80211n-amsdu-enable { + value 1; + description + "80211N AMSDU is enabled"; + } + enum apf-80211n-amsdu-invalid { + value 2; + description + "80211N AMSDU is invalid"; + } + } + description + "Specifies the 80211n aggregation msd unit"; + } + + typedef apf-80211n-ampdu { + type enumeration { + enum apf-80211n-ampdu-disable { + value 0; + description + "80211N AMPDU is disabled"; + } + enum apf-80211n-ampdu-enabled { + value 1; + description + "80211N AMPDU enabled"; + } + enum apf-80211n-ampdu-invalid { + value 2; + description + "80211N AMPDU is invalid"; + } + } + description + "80211n AMPDU is present"; + } + + typedef ndp-type { + type enumeration { + enum ndp-type-transparent { + value 0; + description + "NDP type is Transparent"; + } + enum ndp-type-protected { + value 1; + description + "NDP type is Protected"; + } + } + description + "Enum for NDP type"; + } + + typedef rrm-group-member { + type enumeration { + enum group-member-noaction { + value 0; + description + "No-operation on the Rrm group member"; + } + enum group-member-add { + value 1; + description + "Operation representing Rrm group member to be added"; + } + enum group-member-delete { + value 2; + description + "Operation representing Rrm group member to be deleted"; + } + } + description + "enumeration listing the operation on the RRM group member"; + } + + typedef datarate { + type enumeration { + enum optroam-rate-1-m { + value 1; + description + "1 Mbps data rate threshold"; + } + enum optroam-rate-2-m { + value 2; + description + "2 Mbps data rate threshold"; + } + enum optroam-rate-5-5-m { + value 5; + description + "5 Mbps data rate threshold"; + } + enum optroam-rate-6-m { + value 6; + description + "6 Mbps data rate threshold"; + } + enum optroam-rate-9-m { + value 9; + description + "9 Mbps data rate threshold"; + } + enum optroam-rate-11-m { + value 11; + description + "11 Mbps data rate threshold"; + } + enum optroam-rate-12-m { + value 12; + description + "12 Mbps data rate threshold"; + } + enum optroam-rate-18-m { + value 18; + description + "18 Mbps data rate threshold"; + } + enum optroam-rate-24-m { + value 24; + description + "24 Mbps data rate threshold"; + } + enum optroam-rate-36-m { + value 36; + description + "36 Mbps data rate threshold"; + } + enum optroam-rate-48-m { + value 48; + description + "48 Mbps data rate threshold"; + } + enum optroam-rate-54-m { + value 54; + description + "54 Mbps data rate threshold"; + } + enum optroam-rate-0 { + value 0; + description + "0 Mbps data rate threshold"; + } + } + description + "Enum for data rate threshold of 802.11 Optimized Roaming"; + } + + typedef dca-threshold { + type enumeration { + enum dca-threshold-low { + value 0; + description + "Low DCA sensitivity level"; + } + enum dca-threshold-medium { + value 1; + description + "Medium DCA sensitivity level"; + } + enum dca-threshold-high { + value 2; + description + "High DCA sensitivity level"; + } + } + description + "Enum for DCA sensitivity levels"; + } + + typedef apf-location-algorithm-type { + type enumeration { + enum loc-alg-simple { + value 1; + description + "This object specifies the A faster algorithm with smaller + CPU overhead but less accuracy"; + } + enum loc-alg-average { + value 2; + description + "This object specifies the A more accurate algorithm but with more CPU overhead"; + } + } + description + "This object specifies the this represents algorithm type + and CPU overhead"; + } + + typedef ant-band-mode { + type enumeration { + enum ant-band-mode-unknown { + value 1; + description + "antenna mode unknown"; + } + enum ant-band-mode-single { + value 2; + description + "This object specifies the antenna is operating in single band"; + } + enum ant-band-mode-dual { + value 3; + description + "This object specifies the antenna is operating in dual band"; + } + } + description + "This object specifies the This object specifies the mode of Antenna band"; + } + + typedef power-injector-state { + type enumeration { + enum pwrinj-state-disable { + value 0; + description + "Disable one radio for ither to receive full power"; + } + enum pwrinj-state-specify-mac { + value 1; + description + "Specify the mac address of the connected switch port used as power injector"; + } + enum pwrinj-state-override-mac { + value 66; + description + "Override the mac address of the connected switch port used as power injector"; + } + enum pwrinj-state-unsupported { + value 68; + description + "Power injector state is not supported for the particular AP"; + } + } + description + "List all the types of power injector modes/options"; + } + + typedef power-injector-selection { + type enumeration { + enum pwrinj-selection-unknown { + value 1; + description + "mode of the power injector selection is unknown"; + } + enum pwrinj-selection-installed { + value 2; + description + "This object specifies the configure the MAC address of the + switch port that has a Power Injector"; + } + enum pwrinj-selection-override { + value 3; + description + "This object specifies the override the safety checks and assume + a Power Injector is always installed."; + } + } + description + "This object specifies the This object specifies the Power Injector selection + value of the AP"; + } + + typedef apf-qos-def-pm-create-status { + type enumeration { + enum qos-def-pm-status-none { + value 0; + description + "QOS def PM status none"; + } + enum qos-def-pm-status-created { + value 1; + description + "QOS def PM status created"; + } + enum qos-def-pm-status-valid-pending { + value 2; + description + "QOS def PM status valid pending"; + } + enum qos-def-pm-status-valid-requested { + value 3; + description + "QOS def PM status valid requested"; + } + enum qos-def-pm-status-valid-failed { + value 4; + description + "QOS def PM status valid failed"; + } + enum qos-def-pm-status-valid-success { + value 5; + description + "QOS def PM status valid success"; + } + enum qos-def-pm-status-install-requested { + value 6; + description + "QOS def PM status install requested"; + } + enum qos-def-pm-status-install-failed { + value 7; + description + "QOS def PM status install failed"; + } + enum qos-def-pm-status-install-success { + value 8; + description + "QOS def PM status install success"; + } + enum qos-def-pm-status-max { + value 9; + description + "QOS def PM status max"; + } + } + description + "QOS def PM create status"; + } + + typedef work-day { + type enumeration { + enum monday { + value 1; + description + "Configures Monday as the day for rldp scheduling"; + } + enum tuesday { + value 2; + description + "Configures Tuesday as the day for rldp scheduling"; + } + enum wednesday { + value 3; + description + "Configures Wednesday as the day for rldp scheduling"; + } + enum thursday { + value 4; + description + "Configures Thursday as the day for rldp scheduling"; + } + enum friday { + value 5; + description + "Configures Friday as the day for rldp scheduling"; + } + enum saturday { + value 6; + description + "Configures Saturday as the day for rldp scheduling"; + } + enum sunday { + value 7; + description + "Configures Sunday as the day for rldp scheduling"; + } + } + status deprecated; + description + "Lists all the days when rldp can be scheduled"; + } + + typedef crypt-type { + type enumeration { + enum clear { + value 0; + description + "This is to indicate the string encryption type is clear"; + } + enum sha { + value 4; + description + "This is to indicate the string encryption of type SHA"; + } + enum md5 { + value 5; + description + "This is to indicate the string encryption of type MD5"; + } + enum ike-aes { + value 6; + description + "This is to indicate the string encryption of type IKE-AES"; + } + enum type7 { + value 7; + description + "This is to indicate the string encryption of type-7"; + } + enum aes { + value 8; + description + "This is to indicate the string encryption of type AES"; + } + enum clear-to-sha { + value 40; + description + "This is to indicate the string encryption of type Clear to SHA"; + } + enum clear-to-md5 { + value 50; + description + "This is to indicate the string encryption of type clear to MD5"; + } + enum clear-to-ike-aes { + value 60; + description + "This is to indicate the string encryption of type clear to IKE-AES"; + } + enum clear-to-type7 { + value 70; + description + "This is to indicate the string encryption of type clear to type-7"; + } + enum clear-to-aes { + value 80; + description + "This is to indicate the string encryption of type clear to AES"; + } + } + description + "This object specifies the This is to indicate the string encryption type"; + } + + typedef lomm-mode-type { + type enumeration { + enum mode-type-all { + value 1; + description + "This object specifies the All optimization is enabled"; + } + enum tracking { + value 2; + description + "This object specifies the Tracking is optimized"; + } + enum wips { + value 3; + description + "This object specifies the WIPS optimization is enabled"; + } + enum mode-type-none { + value 4; + description + "Default"; + } + } + description + "This object specifies the This object represents the monitor mode optimization + on this device"; + } + + typedef dot11-min-phy-rate { + type enumeration { + enum one { + value 1; + description + "Phy rate is 1000"; + } + enum two { + value 2; + description + "Phy rate is 2000"; + } + enum five-point-five { + value 5; + description + "Phy rate is 5500"; + } + enum six { + value 6; + description + "Phy rate is 6000"; + } + enum nine { + value 9; + description + "Phy rate is 9000"; + } + enum eleven { + value 11; + description + "Phy rate is 11000"; + } + enum twelve { + value 12; + description + "Phy rate is 1200"; + } + enum eighteen { + value 18; + description + "Phy rate is 18000"; + } + enum twenty-four { + value 24; + description + "Phy rate is 24000"; + } + enum thirty-six { + value 36; + description + "Phy rate is 36000"; + } + enum forty-eight { + value 48; + description + "Phy rate is 48000"; + } + enum fifty-four { + value 54; + description + "Phy rate is 54000"; + } + enum sixty-five { + value 65; + description + "Phy rate is 65000"; + } + enum seventy-two-point-two { + value 72; + description + "Phy rate is 72200"; + } + enum one-thirty { + value 130; + description + "Phy rate is 13000"; + } + enum one-thirty-five { + value 135; + description + "Phy rate is 13500"; + } + enum one-forty-four-point-four { + value 144; + description + "Phy rate is 144400"; + } + enum one-fifty { + value 150; + description + "Phy rate is 150000"; + } + enum two-seventy { + value 270; + description + "Phy rate is 270000"; + } + enum three-hundred { + value 300; + description + "Phy rate is 300000"; + } + } + description + "This object specifies the This object specifies the minimum physical rate + that should be enabled by a client to successfully join a media + stream"; + } + + typedef power-mode-type { + type enumeration { + enum dot11-default-low-pwr { + value 0; + description + "This object specifies the The AP is drawing default power from + Ethernet"; + } + enum dot11-set-low-pwr { + value 1; + description + "This object specifies the The AP is drawing low power from + Ethernet"; + } + enum dot11-set-15-4-pwr { + value 2; + description + "This object specifies the The AP is drawing 15.4 watts from + Ethernet"; + } + enum dot11-set-16-8-pwr { + value 3; + description + "This object specifies the The AP is drawing 16.8 watts from + Ethernet"; + } + enum dot11-set-high-pwr { + value 4; + description + "This object specifies the The AP is drawing high power from + Ethernet"; + } + enum dot11-default-high-pwr { + value 5; + description + "Power mode type is high"; + } + enum dot11-set-no-pwr { + value 6; + description + "This object specifies the The AP is drawing no power from ethernet"; + } + enum dot11-set-25-5-pwr { + value 7; + description + "This object specifies the The AP is drawing 25.5 watts from + Ethernet"; + } + enum unknown-pwr { + value 255; + description + "unknown power mode type"; + } + } + description + "This object specifies the This object represents the power status of the AP"; + } + + typedef power-type { + type enumeration { + enum pwr-src-brick-old { + value 0; + description + "AP uses a local brick style power supply"; + } + enum pwr-src-brick-new { + value 1; + description + "AP uses a local new brick style power supply"; + } + enum pwr-src-inj { + value 2; + description + "uses power injector for power supply"; + } + enum pwr-src-poe-lgcy { + value 3; + description + "AP uses legacy POE mechanism"; + } + enum pwr-src-poe-plus { + value 4; + description + "AP uses advanced POE mechanism"; + } + enum pwr-src-unknown { + value 255; + description + "AP's power source is known"; + } + } + description + "lists all the supported power mode types"; + } + + typedef controller-index { + type enumeration { + enum controller-index-primary { + value 0; + description + "Primary controller index"; + } + enum controller-index-secondary { + value 1; + description + "Secondary controller index"; + } + enum controller-index-tertiary { + value 2; + description + "Tertiary controller index"; + } + enum controller-index-max { + value 3; + description + "Maximum controller index"; + } + } + description + "Controller index"; + } + + typedef enm-controller-index { + type enumeration { + enum index-primary { + value 0; + description + "Controller will be the primary controller for an AP"; + } + enum index-secondary { + value 1; + description + "Controller will be the secondary controller for an AP"; + } + enum index-tertiary { + value 2; + description + "Controller will be the tertiary controller for an AP"; + } + } + description + "Enumeration specifying controller index for an AP"; + } + + typedef rrm-ed-threshold-level { + type enumeration { + enum rrm-cleanair-event-low { + value 1; + description + "This object specifies the low level event driven RRM threshold value"; + } + enum rrm-cleanair-event-medium { + value 2; + description + "This object specifies the medium level event driven RRM threshold value"; + } + enum rrm-cleanair-event-high { + value 3; + description + "This object specifies the high level event driven RRM threshold value"; + } + enum rrm-cleanair-event-custom { + value 4; + description + "This object specifies the user specified value of even driven RRM threshold"; + } + } + description + "This object specifies the This object represents the event driven + RRM threshold level"; + } + + typedef apf-vap-key-type { + type enumeration { + enum key-ascii { + value 0; + description + "Represents that the PSK key is specified in ascii"; + } + enum key-hex { + value 1; + description + "Represents that the PSK key specified in hex"; + } + enum key-invalid { + value 2; + description + "Represents that the PSK key format type is invalid"; + } + } + description + "List all the types of key specified for PSK"; + } + + typedef spam-ap-modes { + type enumeration { + enum spam-ap-mode-local { + value 0; + description + "This object specifies the wireless local mode"; + } + enum spam-ap-mode-monitor { + value 1; + description + " wireless monitor mode "; + } + enum spam-ap-mode-remote { + value 2; + description + "This object specifies the wireless remote mode"; + } + enum spam-ap-mode-rogue-detector { + value 3; + description + "This object specifies the wireless rogue detector mode"; + } + enum spam-ap-mode-sniffer { + value 4; + description + "This object specifies the wireless sniffer mode"; + } + enum spam-ap-mode-bridge { + value 5; + description + "This object specifies the wireless mode bride"; + } + enum spam-ap-mode-seconnect { + value 6; + description + "This object specifies the Spectrum Expert Only Connect mode"; + } + enum spam-ap-mode-hybrid-remote { + value 7; + description + "This object specifies the Hybrid Remode Edge AP (H-REAP) mode"; + } + enum spam-ap-mode-sensor { + value 8; + description + "Sensor"; + } + enum spam-ap-mode-remote-bridge { + value 9; + description + "Not supported - Is used for mesh"; + } + } + description + "This object specifies the Monitor Only Mode Setting"; + } + + typedef rrm-dca-chan-width { + type enumeration { + enum rrm-dca-chan-width-20-mhz { + value 0; + description + "Channel RF Width 20 MZ"; + } + enum rrm-dca-chan-width-40-mhz { + value 1; + description + "Channel RF Width 40 MZ"; + } + enum rrm-dca-chan-width-80-mhz { + value 2; + description + "Channel RF Width 80 MZ"; + } + enum rrm-dca-chan-width-best { + value 3; + description + "Channel RF Width best"; + } + } + description + "This object specifies the this object specifies how the system performs DCA + channel width selection"; + } + + typedef dca-chan-width { + type enumeration { + enum dca-chan-width-20-mhz { + value 0; + description + "20 Mhz"; + } + enum dca-chan-width-40-mhz { + value 1; + description + "40 Mhz"; + } + enum dca-chan-width-80-mhz { + value 2; + description + "80 Mhz"; + } + enum dca-chan-width-best { + value 3; + description + "best chan width"; + } + enum dca-chan-width-160-mhz { + value 4; + description + "160 Mhz"; + } + enum dca-chan-width-8080-mhz { + value 5; + description + "8080 Mhz"; + } + enum dca-chan-width-320-mhz { + value 6; + description + "320 Mhz"; + } + } + description + "enumeration describing channel width"; + } + + typedef rrm-dca-chan-width-cap { + type enumeration { + enum rrm-dca-chan-width-cap-20-mhz { + value 0; + description + "This object specifies the Chan Width 20 Mhz"; + } + enum rrm-dca-chan-width-cap-40-mhz { + value 1; + description + "This object specifies the Chan Width 40 Mhz"; + } + enum rrm-dca-chan-width-cap-80-mhz { + value 2; + description + "This object specifies the Chan Width 80 Mhz"; + } + enum rrm-dca-chan-width-cap-best { + value 3; + description + "This object specifies the Chan Width best"; + } + enum rrm-dca-chan-width-cap-160-mhz { + value 4; + description + "This object specifies the Chan Width 160"; + } + enum rrm-dca-chan-width-cap-max { + value 5; + description + "This object specifies the Chan Width max"; + } + } + description + "This object specifies the config 802.11a dynamic channel + assignment algorithm parameters"; + } + + typedef dca-chan-width-cap { + type enumeration { + enum dca-chan-width-cap-20-mhz { + value 0; + description + "20 MHz"; + } + enum dca-chan-width-cap-40-mhz { + value 1; + description + "40 MHz"; + } + enum dca-chan-width-cap-80-mhz { + value 2; + description + "80 MHz"; + } + enum dca-chan-width-cap-best { + value 3; + description + "best chan width"; + } + enum dca-chan-width-cap-160-mhz { + value 4; + description + "160 Mhz"; + } + enum dca-chan-width-cap-max { + value 5; + description + "MAX ALLOWED"; + } + } + description + "enumeration describing channel width"; + } + + typedef rf-rrm-dca-chan-width { + type enumeration { + enum rf-rrm-dca-chan-width-20-mhz { + value 0; + description + "This object specifies the 20 MHz channel width supported by this radio"; + } + enum rf-rrm-dca-chan-width-40-mhz { + value 1; + description + "This object specifies the 40 MHz channel width supported by this radio"; + } + enum rf-rrm-dca-chan-width-80-mhz { + value 2; + description + "This object specifies the 80 MHz channel width supported by this radio"; + } + enum rf-rrm-dca-chan-width-best { + value 3; + description + "This object specifies the Dynamic channel width(160 MHz, 80 MHz, 40 MHz or 20 MHz) + supported by this radio"; + } + } + description + "This object specifies the This object specifies how the system performs DCA + channel width selection for the RFProfile"; + } + + typedef rf-dca-chan-width { + type enumeration { + enum rf-dca-chan-width-20-mhz { + value 0; + description + "20 MHz"; + } + enum rf-dca-chan-width-40-mhz { + value 1; + description + "40 MHz"; + } + enum rf-dca-chan-width-80-mhz { + value 2; + description + "80 MHz"; + } + enum rf-dca-chan-width-best { + value 3; + description + "best chan width"; + } + enum rf-dca-chan-width-160-mhz { + value 4; + description + "160 MHz"; + } + enum rf-dca-chan-width-8080-mhz { + value 5; + description + "80+80 MHz"; + } + } + description + "enumeration describing channel width"; + } + + typedef dot11ax-6ghz-feature { + type enumeration { + enum he-6ghz-none { + value 0; + description + "802.11ax Unsolicited Broadcast Probe Response and FILS Discovery are disabled"; + } + enum he-6ghz-ubpr { + value 1; + description + "802.11ax Unsolicited Broadcast Probe Response"; + } + enum he-6ghz-fils-discovery { + value 2; + description + "802.11ax FILS discovery"; + } + } + description + "Enumeration for 802.11ax 6GHz specific feature"; + } + + typedef chan-width { + type enumeration { + enum chan-width-20mhz { + value 1; + description + "20MHz channel width"; + } + enum chan-width-40mhz { + value 2; + description + "40MHz channel width"; + } + enum chan-width-80mhz { + value 3; + description + "80MHz channel width"; + } + enum chan-width-160mhz { + value 4; + description + "160MHz channel width"; + } + enum chan-width-8080mhz { + value 5; + description + "80+80MHz channel width"; + } + enum chan-width-320mhz { + value 6; + description + "Channel width 320 MHz"; + } + } + description + "Enumeration for channel width"; + } + + typedef channel-monitor-mode { + type enumeration { + enum rrm-channels-country { + value 1; + description + "This object specifies the Monitor channels used in configured country code"; + } + enum rrm-channels-all { + value 2; + description + "This object specifies the Monitor all channels"; + } + enum rrm-channels-dca { + value 3; + description + "This object specifies the Monitor channels used by dynamic channel assignment"; + } + } + description + "This object specifies the Sets the noise/interference/rogue monitoring channel-list"; + } + + typedef nw-leg-beam-form { + type enumeration { + enum nw-leg-bf-disable { + value 0; + description + "This object specifies the Disable 802.11b tx beamforming - 2.4 GHz"; + } + enum nw-leg-bf-enable { + value 1; + description + "This object specifies the Enable 802.11b tx beamforming - 2.4 GHz"; + } + enum nw-leg-bf-na { + value 2; + description + "This object specifies the beamforming is not applicable"; + } + } + description + "Enables/disables beam forming on 11g"; + } + + typedef admin-state { + type enumeration { + enum adminstate-enabled { + value 1; + description + "This object specifies the A value of 'true' enables the Admin State"; + } + enum adminstate-disabled { + value 2; + description + "This object specifies the A value of 'false' disables the Admin State"; + } + } + description + "This object specifies the This object specifies the Admin State of the AP"; + } + + typedef ap-role { + type enumeration { + enum role-normal { + value 0; + description + "Normal"; + } + enum role-root { + value 1; + description + "Root AP"; + } + enum role-mesh { + value 2; + description + "Mesh AP"; + } + } + description + "Lists all the roles of AP for the case of mesh"; + } + + typedef cdp-cache-duplex { + type enumeration { + enum cdp-cache-duplex-unknown { + value 1; + description + "This object specifies the The value unknown(1) indicates no duplex + mode field (TLV) was reported in the most recent CDP + message or the neighboring device is not connected to the + AP though ethernet interface"; + } + enum cdp-cache-duplex-full { + value 2; + description + "CDP cache duplex Full"; + } + enum cdp-cache-duplex-half { + value 3; + description + "CDP cache duplex Half"; + } + } + description + "This object specifies the this object denotes the duplex mode of the + Ethernet interface between the AP and it's + neighboring CDP device, as reported in the most recent + CDP message"; + } + + typedef console-login-status { + type enumeration { + enum login-status-success { + value 1; + description + "Success"; + } + enum login-status-failure { + value 2; + description + "Failure"; + } + enum login-status-logoff { + value 3; + description + "Logoff"; + } + enum login-status-timeout { + value 4; + description + "Timeout"; + } + } + description + "Lists the result of operation to dump logs on the AP console"; + } + + typedef enm-antenna-selection { + type enumeration { + enum antenna-side-a { + value 0; + description + "Antenna side A"; + } + enum antenna-side-b { + value 1; + description + "Antenna side B"; + } + enum antenna-diversity-enabled { + value 255; + description + "Antenna Diversity enabled"; + } + } + description + "Enum for Antenna Selection"; + } + + typedef slot-radio-sub-band { + type enumeration { + enum radio-sub-band-all { + value 1; + description + "All(SLOT_RADIO_SUB_BAND_ALL)"; + } + enum 4-dot-9-ghz { + value 2; + description + "4.9 GHz"; + } + enum 5-dot-2-ghz { + value 3; + description + "5.2 GHz"; + } + enum 5-dot-4-ghz { + value 4; + description + "5.4 GHz"; + } + enum 5-dot-8-ghz { + value 5; + description + "5.8 GHz"; + } + } + description + "This object specifies the This object indicates the sub band on which + this radio operates"; + } + + typedef oper-state { + type enumeration { + enum oper-state-up { + value 1; + description + "oper state is UP"; + } + enum oper-state-down { + value 2; + description + "oper state is DOWN"; + } + enum oper-state-na { + value 3; + description + "Not available"; + } + } + description + "This object specifies the This object represents the operational state + of the physical Ethernet interface on the AP"; + } + + typedef enm-antenna-mode { + type enumeration { + enum antenna-mode-sector-a { + value 1; + description + "Antenna mode sector A"; + } + enum antenna-mode-sector-b { + value 2; + description + "Antenna mode sector B"; + } + enum antenna-mode-omni { + value 3; + description + "Antenna mode omni"; + } + enum antenna-mode-mimo { + value 4; + description + "Antenna mode mimo"; + } + enum antenna-mode-directional { + value 5; + description + "Antenna mode directional"; + } + } + description + "Enum for Antenna Mode"; + } + + typedef frame-burst-mode { + type enumeration { + enum frame-burst-automatic { + value 0; + description + "This object specifies the Use optimal settings for bursting of 802.11ac A-MPDUs"; + } + enum frame-burst-enabled { + value 1; + description + "Enabled"; + } + enum frame-burst-disabled { + value 2; + description + "Disabled"; + } + } + description + "This object specifies the Configure 802.11ac Frame Burst"; + } + + typedef enm-lan-port-id { + type enumeration { + enum port-id-1 { + value 1; + description + "Port ID 1"; + } + enum port-id-2 { + value 2; + description + "Port ID 2"; + } + enum port-id-3 { + value 3; + description + "Port ID 3"; + } + enum port-id-4 { + value 4; + description + "Port ID 4"; + } + } + description + "Enumeration for AP LAN port ID"; + } + + typedef rx-sen-sop-threshold-level { + type enumeration { + enum rrm-rxsensop-threshold-auto { + value 0; + description + "rrm rx sensitivity threshold is auto"; + } + enum rrm-rxsensop-threshold-low { + value 1; + description + "low (-80 dbm)"; + } + enum rrm-rxsensop-threshold-medium { + value 2; + description + "medium (-78 dbm)"; + } + enum rrm-rxsensop-threshold-high { + value 3; + description + "high (-76 dbm)"; + } + } + description + "rx sensitivity threshold level"; + } + + typedef apf-ate-mode { + type enumeration { + enum apf-atf-mode-disable { + value 0; + description + "Disable"; + } + enum apf-atf-mode-ssid { + value 1; + description + "This object specifies the Configure airtime-fairness in enforce-policy mode"; + } + enum apf-atf-mode-monitor { + value 2; + description + "This object specifies the Monitor Mode represented by cLApDot11IfType + of ATF supported APs joined in the controller"; + } + } + description + "This object specifies the This object is used to set the airtime-fairness mode"; + } + + typedef apf-ate-stealing-policy { + type enumeration { + enum apf-atf-stealing-policy-disable { + value 0; + description + "This object specifies the Disable airtime-fairness optimization"; + } + enum apf-atf-stealing-policy-enable { + value 1; + description + "This object specifies the Enable airtime-fairness optimization"; + } + } + description + "This object specifies the This object is used to configure the Optimization Policy + represented by cLApDot11IfType of ATF supported APs, joined + in the controller"; + } + + typedef edca-profile { + type enumeration { + enum edca-wmm { + value 1; + description + "default-wmm"; + } + enum edca-spectralink-voice-priority { + value 2; + description + "This object specifies the Enable SpectraLink Voice Priority parameters for 802.11b"; + } + enum edca-voice-optimized { + value 3; + description + "This object specifies the Enable non-spectralink voice-optimized parameters for 802.11b"; + } + enum edca-video-voice-optimized { + value 4; + description + "This object specifies the Enable combined video-voice-optimized parameters for 802.11b"; + } + enum edca-custom-voice { + value 5; + description + "This object specifies the Enable Custom Voice parameters for 802.11b"; + } + enum edca-custom { + value 6; + description + "custom"; + } + enum edca-fastlane { + value 7; + description + "This object specifies the Enable Fastlane parameters for 802.11b"; + } + enum edca-invalid { + value 8; + description + "Specifies the Enhanced Distribution is invalid"; + } + enum edca-iot-low-latency { + value 9; + description + "Specifies the Enhanced Distribution is for low latency"; + } + } + description + "This object specifies the Configure 802.11b EDCA + (Enhanced Distributed Channel Access) parameters"; + } + + typedef autoqos-profile { + type enumeration { + enum autoqos-disabled { + value 0; + description + "This object specifies the Disable of AutoQos Wireless Enterprise Policy"; + } + enum autoqos-enterprise { + value 1; + description + "This object specifies the Enable AutoQos Wireless Enterprise Policy"; + } + enum autoqos-voice { + value 2; + description + "This object specifies the Enabling Auto QoS Voice will enable call-snooping"; + } + enum autoqos-guest { + value 3; + description + "This object specifies the Enable AutoQos Wireless Guest Policy"; + } + enum autoqos-fastlane { + value 4; + description + "This object specifies the Enable AutoQos Wireless Fastlane Policy"; + } + } + description + "Enumeration Specifies the group of Auto qos profile"; + } + + typedef eap-method-type { + type enumeration { + enum eap-type-none { + value 0; + description + "EAP-None"; + } + enum eap-type-md5 { + value 4; + description + "EAP-MD5"; + } + enum eap-type-eap-tls { + value 13; + description + "EAP-TLS"; + } + enum eap-type-leap { + value 17; + description + "EAP-LEAP"; + } + enum eap-type-sim { + value 18; + description + "EAP-SIM"; + } + enum eap-type-ttls { + value 21; + description + "EAP-TTLS"; + } + enum eap-type-aka { + value 23; + description + "EAP-AKA"; + } + enum eap-type-peap { + value 25; + description + "EAP-PEAP"; + } + enum eap-type-speke { + value 41; + description + "SPEKE"; + } + enum eap-type-eap-fast { + value 43; + description + "EAP-FAST"; + } + } + description + "Lists all supported EAP types in the device"; + } + + typedef enm-apf-xor-roam-probe-suppression { + type enumeration { + enum apf-xor-suppress-opmode-disabled { + value 0; + description + "Disabled"; + } + enum apf-xor-suppress-opmode-probe-suppress { + value 1; + description + "This object specifies the Enables mode to suppress only probes"; + } + enum apf-xor-suppress-opmode-authprobe-suppress { + value 2; + description + "This object specifies the Enables mode to suppress probes and single auth"; + } + enum apf-xor-suppress-opmode-invalid { + value 3; + description + "Invalid"; + } + } + description + "This object specifies the Configures micro-Macro probe suppression arguments"; + } + + typedef rogue-rldp-result { + type enumeration { + enum rogue-rldp-none { + value 0; + description + "Unknown rldp result"; + } + enum rogue-rldp-no-rogue { + value 1; + description + "This object specifies the Rogue not found in DB"; + } + enum rogue-rldp-managed-ap { + value 2; + description + "This object specifies the Trying to run RLDP on a managed AP"; + } + enum rogue-rldp-friendly { + value 3; + description + "This object specifies the Trying to run RLDP on a friendly rogue"; + } + enum rogue-rldp-no-ap { + value 4; + description + "This object specifies the No AP found to run RLDP"; + } + enum rogue-rldp-ap-in-use { + value 5; + description + "This object specifies the The selected AP is already in use for another RLDP"; + } + enum rogue-rldp-already-in-progress { + value 6; + description + "This object specifies the RLDP is already in progress on this rogue"; + } + enum rogue-rldp-encr-enabled { + value 7; + description + "This object specifies the Rogue is using an encrypted SSID"; + } + enum rogue-rldp-no-ssid { + value 8; + description + "This object specifies the The SSID of the rogue is hidden"; + } + enum rogue-rldp-ssid-too-long { + value 9; + description + "This object specifies the The SSID name of the rogue is too long"; + } + enum rogue-rldp-state-changed-auto { + value 10; + description + "This object specifies the Rogue state changed because of autocontainment"; + } + enum rogue-rldp-auth-timeout { + value 11; + description + "This object specifies the Auth failed"; + } + enum rogue-rldp-assoc-timeout { + value 12; + description + "This object specifies the association timeout"; + } + enum rogue-rldp-dhcp-timeout { + value 13; + description + "This object specifies the DHCP failed"; + } + enum rogue-rldp-not-connected { + value 14; + description + "This object specifies the Special case for UDP timeout"; + } + enum rogue-rldp-connected { + value 15; + description + "This object specifies the the rogue AP is connected to our network"; + } + enum rogue-rldp-error { + value 16; + description + "This object specifies the the generic error occured"; + } + } + status deprecated; + description + "Lists all possible results of the rldp operation"; + } + + typedef enm-rogue-priority { + type enumeration { + enum rogue-priority-highest { + value 1; + description + "Highest priority of Rogue AP storage"; + } + enum rogue-priority-high { + value 2; + description + "High priority of Rogue AP storage"; + } + enum rogue-priority-medium { + value 3; + description + "Medium priority of Rogue AP storage"; + } + enum rogue-priority-low { + value 4; + description + "Low priority of Rogue AP storage"; + } + } + description + "Rogue AP Storage Priority"; + } + + typedef ft-dot11r-mode { + type enumeration { + enum dot11r-disabled { + value 0; + description + "FT mode is 11r disabled"; + } + enum dot11r-enabled { + value 1; + description + "FT mode is 11r enabled"; + } + enum dot11r-adaptive-enabled { + value 2; + description + "This object specifies the Configures Fast Transition Adaptive support"; + } + } + description + "This object specifies the This object specifies the 802.11r Fast Transition Mode"; + } + + typedef ap-misconfig-state { + type enumeration { + enum not-misconfigured { + value 0; + description + "Profile-tag is not misconfigured"; + } + enum misconfigured { + value 1; + description + "Profile-tag is misconfigured"; + } + } + description + "Enum for profile-tag misconfigure state"; + } + + typedef ap-tag-register-state { + type enumeration { + enum ap-tag-reg-not-done { + value 0; + description + "AP tag registration is not done"; + } + enum ap-tag-reg-done { + value 1; + description + "AP tag registration is done"; + } + } + description + "Enum for ap tag registration"; + } + + typedef enm-export-anchor-priority-type { + type enumeration { + enum export-anchor-primary { + value 1; + description + "export anchor primary"; + } + enum export-anchor-secondary { + value 2; + description + "export anchor secondary"; + } + enum export-anchor-tertiary { + value 3; + description + "export anchor tertiary"; + } + } + description + "Enum for export anchor priority"; + } + + typedef ewlc-guest-lan-has-wired-vlan { + type enumeration { + enum ewlc-guest-lan-without-wired-vlan { + value 1; + description + "Value indicating Guest Anchor"; + } + enum ewlc-guest-lan-with-wired-vlan { + value 2; + description + "Value indicating Guest Foreign"; + } + } + description + "Enum for Wired Guest controller parameter has_wired_vlan"; + } + + typedef client-type { + type enumeration { + enum tspec-client { + value 1; + description + "TSPEC voice client type"; + } + enum sip-client { + value 2; + description + "SIP voice client"; + } + } + description + "Enum for voice client type"; + } + + typedef eogre-client-match-reason { + type enumeration { + enum match-pending-classify { + value 0; + description + "client pending classification"; + } + enum match-simple-client { + value 1; + description + "simple client"; + } + enum match-eogre-client-rule { + value 2; + description + "EoGRE client matching profile"; + } + enum match-eogre-client-aaa-override { + value 3; + description + "EoGRE client with aaa data"; + } + enum match-eogre-client-handoff { + value 4; + description + "EoGRE client mobility handoff"; + } + enum match-eogre-client-ft-info { + value 5; + description + "EoGRE client standalone AP recover"; + } + enum match-error { + value 6; + description + "client classification error"; + } + } + description + "Enum for matching client type to eogre"; + } + + typedef enm-hs20-supported-version { + type enumeration { + enum hs20-r1 { + value 0; + description + "Hotspot 2.0 Release 1"; + } + enum hs20-r2 { + value 1; + description + "Hotspot 2.0 Release 2"; + } + enum hs20-r3 { + value 2; + description + "Hotspot 2.0 Release 3"; + } + } + description + "Enum for hotspot release version"; + } + + typedef mcs-index { + type enumeration { + enum he-mcs-index-7 { + value 7; + description + "Config MCS data rate for index 7"; + } + enum he-mcs-index-9 { + value 9; + description + "Config MCS data rate for index 9"; + } + enum he-mcs-index-11 { + value 11; + description + "Config MCS data rate for index 11"; + } + } + description + "Enum for Dot11ax MCS Data rate index"; + } + + typedef dot11be-mcs-index { + type enumeration { + enum dot11be-mcs-index-9 { + value 9; + description + "802.11be MCS data rate for index 9"; + } + enum dot11be-mcs-index-11 { + value 11; + description + "802.11be MCS data rate for index 11"; + } + enum dot11be-mcs-index-13 { + value 13; + description + "802.11be MCS data rate for index 13"; + } + enum dot11be-mcs-index-14 { + value 14; + description + "802.11be MCS data rate for index 14"; + } + enum dot11be-mcs-index-15 { + value 15; + description + "802.11be MCS data rate for index 15"; + } + } + description + "Enum for 802.11be MCS data rate index"; + } + + typedef enm-wlan-mdns-sd-cfg { + type enumeration { + enum mdns-sd-bridging { + value 0; + description + "Option for enabling MDNS bridging on WLAN"; + } + enum mdns-sd-drop { + value 1; + description + "Option for dropping MDNS packets on WLAN"; + } + enum mdns-sd-gateway { + value 2; + description + "Option for enabling MDNS gateway on WLAN"; + } + } + description + "enum for MDNS mode configuration"; + } + + typedef enm-channel-switch-mode { + type enumeration { + enum chan-switch-mode-loud { + value 0; + description + "Channel switch mode loud"; + } + enum chan-switch-mode-quiet { + value 1; + description + "Channel switch mode quiet"; + } + } + description + "Enum for channel switch mode"; + } + + typedef rrm-channel-change-reason { + type enumeration { + enum chan-change-local { + value 0; + description + "RRM channel change reason is local"; + } + enum chan-change-auto { + value 1; + description + "RRM channel change reason is auto"; + } + enum chan-change-auto-default { + value 2; + description + "RRM channel change reason is auto default"; + } + enum chan-change-static { + value 3; + description + "RRM channel change reason is static"; + } + enum chan-change-static-default { + value 4; + description + "RRM channel change reason is static default"; + } + enum chan-change-radar { + value 5; + description + "RRM channel change reason is radar"; + } + enum chan-change-radar-clear { + value 6; + description + "RRM channel change reason is radar clear"; + } + enum chan-change-edrrm { + value 7; + description + "RRM channel change reason is Event-driven RRM"; + } + enum chan-change-rldp { + value 8; + status deprecated; + description + "RRM channel change reason is RLDP"; + } + enum chan-change-intf { + value 9; + description + "RRM channel change reason is Interference"; + } + enum chan-change-unknown { + value 10; + description + "RRM channel change reason is unknown"; + } + enum chan-change-mini-dca { + value 11; + description + "RRM channel change reason is mini DCA run"; + } + enum chan-change-lpi-sp-switch { + value 12; + description + "RRM channel change reason is 6GHz power mode switch from low power indoor to standard power"; + } + enum chan-change-sp-lpi-switch { + value 13; + description + "RRM channel change reason is 6GHz power mode switch from standard power to low power indoor"; + } + enum chan-change-band-change { + value 14; + description + "RRM channel change reason is band change"; + } + enum chan-change-afc-renew { + value 15; + description + "RRM channel change reason is 6GHz new AFC response"; + } + } + description + "RRM channel change reason"; + } + + typedef enm-multicast-data-rate { + type enumeration { + enum mcast-data-rate-default { + value 0; + description + "Multicast data rate default"; + } + enum mcast-data-rate-6m { + value 6; + description + "Multicast data rate 6M"; + } + enum mcast-data-rate-9m { + value 9; + description + "Multicast data rate 9M"; + } + enum mcast-data-rate-12m { + value 12; + description + "Multicast data rate 12M"; + } + enum mcast-data-rate-18m { + value 18; + description + "Multicast data rate 18M"; + } + enum mcast-data-rate-24m { + value 24; + description + "Multicast data rate 24M"; + } + enum mcast-data-rate-36m { + value 36; + description + "Multicast data rate 36M"; + } + enum mcast-data-rate-48m { + value 48; + description + "Multicast data rate 48M"; + } + enum mcast-data-rate-54m { + value 54; + description + "Multicast data rate 54M"; + } + } + description + "Enum for Multicast data rate"; + } + + typedef calendar-recurrence { + type enumeration { + enum daily-recurrence { + value 0; + description + "Daily recurrence"; + } + enum weekly-recurrence { + value 1; + description + "Calendar of weekly recurrence"; + } + enum monthly-recurrence { + value 2; + description + "Calender of monthly recurrence"; + } + } + description + "Calendar profile recurrence"; + } + + typedef reg-domain-status { + type enumeration { + enum regulatory-domain-check-status-not-set { + value 0; + description + "Regulatory Domain check status is Set"; + } + enum regulatory-domain-check-status-set { + value 1; + description + "Regulatory Domain check status is Not Set"; + } + } + description + "Regulatory domain check status"; + } + + typedef enum-dual-radio-capable { + type enumeration { + enum radio-service-default { + value 0; + description + "AP radio service not dual radio capable"; + } + enum radio-service-dual-mode { + value 1; + description + "AP radio service dual mode"; + } + } + description + "Dual radio capability of AP radio"; + } + + typedef enum-radio-mode-op { + type enumeration { + enum dual-radio-mode-op-none { + value 0; + description + "AP radio dual radio mode operation is not applicable as it is not dual radio capable"; + } + enum dual-radio-mode-op-auto { + value 1; + description + "AP radio dual radio mode operation auto"; + } + enum dual-radio-mode-op-manual { + value 2; + description + "AP radio dual radio mode operation manual"; + } + } + description + "Dual radio mode operation of AP radio"; + } + + typedef enum-dual-radio-mode { + type enumeration { + enum dual-radio-mode-none { + value 0; + description + "AP radio dual radio mode is not applicable as it is not dual radio capable"; + } + enum dual-radio-mode-enabled { + value 1; + description + "AP radio dual radio mode enabled"; + } + enum dual-radio-mode-disabled { + value 2; + description + "AP radio dual radio mode disabled"; + } + } + description + "Dual radio mode of AP radio"; + } + + typedef enum-radio-fra-capable { + type enumeration { + enum radio-fra-capable-default { + value 0; + description + "AP radio not FRA capable"; + } + enum radio-fra-capable { + value 1; + description + "AP radio FRA capable"; + } + } + description + "FRA capability of AP radio"; + } + + typedef timer-profile-action { + type enumeration { + enum timer-action-invalid { + value 0; + description + "Timer action invalid"; + } + enum timer-action-wlan-enable { + value 1; + description + "Timer action wlan enable"; + } + enum timer-action-deny-client { + value 2; + description + "Timer action deny client"; + } + } + description + "timer profile actions"; + } + + typedef ipv6-proxy { + type enumeration { + enum no-proxy { + value 0; + description + "Specifies IPv6 Neighbor Discovery(ND) proxy configuration as disabled"; + } + enum dad-proxy { + value 1; + description + "Specifies IPv6 Neighbor Discovery(ND) proxy state as DAD proxy"; + } + enum full-proxy { + value 2; + description + "Specifies IPv6 Neighbor Discovery(ND) proxy state as full proxy"; + } + } + description + "Enum to denote IPv6 Neighbor Discovery(ND) proxy configuration type"; + } + + typedef mdns-ap-cli-mode { + type enumeration { + enum mdns-ap-default-vlan { + value 0; + description + "Default value"; + } + enum mdns-ap-enable-vlan { + value 1; + description + "Enable VLAN"; + } + enum mdns-ap-disable-vlan { + value 2; + description + "Disable VLAN"; + } + enum mdns-ap-add-vlan { + value 3; + description + "Add VLAN"; + } + enum mdns-ap-delete-vlan { + value 4; + description + "Delete VLAN"; + } + } + description + "Operation selection for VLAN on mDNS access points"; + } + + typedef nac-type { + type enumeration { + enum nac-support-radius { + value 0; + description + "Radius NAC"; + } + enum nac-support-xwf { + value 1; + status obsolete; + description + "Express Wi-Fi NAC"; + } + } + description + "NAC type"; + } + + typedef enm-admin-status { + type enumeration { + enum admin-state-enabled { + value 1; + description + "Set admin state"; + } + enum admin-state-disabled { + value 2; + description + "Disable admin state"; + } + } + description + "Admin status"; + } + + typedef enm-lan-port-config { + type enumeration { + enum set-port-mode { + value 0; + description + "Port status"; + } + enum set-poe-state { + value 1; + description + "PoE status for port"; + } + enum set-power-level { + value 2; + description + "Power level for port"; + } + } + description + "Enumeration for AP LAN port configuration"; + } + + typedef enm-led-flash-config-type { + type enumeration { + enum set-led-flash-state { + value 0; + description + "LED flash status"; + } + enum set-led-flash-duration { + value 1; + description + "LED flash duration"; + } + } + description + "Enumeration for LED flash configuration"; + } + + typedef ble-ltx-admin-state { + type enumeration { + enum ble-admin-state-off { + value 0; + description + "BLE Management admin state is off"; + } + enum ble-admin-state-on { + value 1; + description + "BLE Management admin state is on"; + } + } + description + "This object specifies the administrative status selected for BLE Management"; + } + + typedef ble-ltx-stream-state { + type enumeration { + enum ble-stream-state-off { + value 0; + description + "BLE telemetry streaming state is off"; + } + enum ble-stream-state-on { + value 1; + description + "BLE telemetry streaming state is on"; + } + } + status obsolete; + description + "BLE telemetry streaming state"; + } + + typedef ble-ltx-vibeacon-status { + type enumeration { + enum ble-vibeacon-status-off { + value 0; + description + "The viBeacon profile status is off"; + } + enum ble-vibeacon-status-on { + value 1; + description + "The viBeacon profile status is on"; + } + } + description + "This object specifies the viBeacon profile status"; + } + + typedef ble-ltx-scan-state { + type enumeration { + enum ble-scan-state-off { + value 0; + description + "BLE Management scan status is off"; + } + enum ble-scan-state-on { + value 1; + description + "BLE Management scan status is on"; + } + } + description + "This object specifies the scan status selected for BLE Management"; + } + + typedef ble-ltx-scan-filter { + type enumeration { + enum ble-scan-filter-off { + value 0; + description + "BLE Management scan filter is off"; + } + enum ble-scan-filter-on { + value 1; + description + "BLE Management scan filter is on"; + } + } + description + "This object specifies the scan mode selected for BLE Management"; + } + + typedef ble-ltx-iot-feature { + type enumeration { + enum ble-iot-feature-ble { + value 0; + description + "The BLE feature is active"; + } + enum ble-iot-feature-zigbee { + value 1; + description + "The Zigbee feature is active"; + } + enum ble-iot-feature-other { + value 2; + description + "The Other feature is active"; + } + } + description + "This object specifies the dot15 feature mode"; + } + + typedef ble-ltx-mode { + type enumeration { + enum ble-mode-native { + value 0; + description + "The native BLE mode is active"; + } + enum ble-mode-iox { + value 1; + description + "The IOx BLE mode is active"; + } + } + description + "This object specifies the BLE mode"; + } + + typedef ble-no-adv-profile-state { + type enumeration { + enum ble-no-adv-profile-disable { + value 0; + description + "No advertisement profile is disabled"; + } + enum ble-no-adv-profile-enable { + value 1; + description + "No advertisement profile is enabled"; + } + } + description + "Specifies the no advertisement profile for BLE management"; + } + + typedef ble-ltx-device { + type enumeration { + enum ble-ltx-device-msm1 { + value 0; + description + "Integrated interface"; + } + enum ble-ltx-device-s1 { + value 1; + description + "Integrated interface"; + } + enum ble-ltx-device-hs0 { + value 2; + description + "Integrated interface"; + } + enum ble-ltx-device-usb0 { + value 3; + description + "USB dongle"; + } + enum ble-ltx-device-xrusb0 { + value 4; + description + "Integrated interface"; + } + enum ble-ltx-device-h0 { + value 5; + description + "Integrated interface"; + } + enum ble-ltx-device-sim-if { + value 6; + description + "Integrated interface"; + } + enum ble-ltx-device-unknown { + value 7; + description + "Unknown interface"; + } + } + description + "Enumeration of all the supported BLE devices"; + } + + typedef ble-ltx-device-state { + type enumeration { + enum ble-dev-state-invalid { + value 0; + description + "The BLE device is in invalid state"; + } + enum ble-dev-state-init { + value 1; + description + "The BLE device is in init state"; + } + enum ble-dev-state-open { + value 2; + description + "The BLE device is in open state"; + } + enum ble-dev-state-close { + value 3; + description + "The BLE device is in closed state"; + } + enum ble-dev-state-delayed-open { + value 4; + description + "The BLE device is in delayed open state"; + } + enum ble-dev-state-oir { + value 5; + description + "The BLE device is in Online Insertion and Removal state"; + } + enum ble-dev-state-reset { + value 6; + description + "The BLE device is in reset state"; + } + enum ble-dev-state-unsupported { + value 7; + description + "The BLE device is in unsupported state"; + } + enum ble-dev-state-zigbee { + value 8; + description + "The BLE device is in Zigbee state"; + } + enum ble-dev-state-iox-ble { + value 9; + description + "The BLE device is in IOx BLE state"; + } + } + description + "This object specifies the state of BLE device of AP"; + } + + typedef ble-ltx-profile { + type enumeration { + enum ble-profile-ibeacon { + value 0; + description + "The active chirping profile is iBeacon"; + } + enum ble-profile-eddy-uid { + value 1; + description + "The active chirping profile is Eddystone UID"; + } + enum ble-profile-eddy-url { + value 2; + description + "The active chirping profile is Eddystone URL"; + } + enum ble-profile-location { + value 3; + description + "The active chirping profile is Location"; + } + enum ble-profile-custom { + value 4; + description + "The active chirping profile is Custom"; + } + enum ble-profile-not-set { + value 5; + description + "The active chirping profile is not set"; + } + } + description + "This object specifies the active chirping profile of BLE"; + } + + typedef ble-ltx-module-type { + type enumeration { + enum ble-module-unsupported { + value 0; + description + "Unsupported BLE module"; + } + enum ble-module-internal { + value 1; + description + "Internal BLE module"; + } + enum ble-module-external { + value 2; + description + "External BLE module"; + } + } + description + "This object specifies the BLE module type"; + } + + typedef ble-ltx-antenna-mode { + type enumeration { + enum ble-antenna-mode-not-applicable { + value 0; + description + "BLE antenna mode not applicable"; + } + enum ble-antenna-mode-omni { + value 1; + description + "Antenna mode is omni directional"; + } + } + description + "This object specifies the BLE antenna mode"; + } + + typedef ble-ltx-antenna-diversity-status { + type enumeration { + enum ble-diversity-not-applicable { + value 0; + description + "BLE antenna diversity status not applicable"; + } + enum ble-diversity-enabled { + value 1; + description + "BLE antenna diversity status enabled"; + } + } + description + "This object specifies the BLE antenna diversity status"; + } + + typedef enm-ble-ltx-scan-event-type { + type enumeration { + enum ble-event-adv-ind { + value 0; + description + "BLE event type is connect-able undirected advertisement"; + } + enum ble-event-adv-direct-ind { + value 1; + description + "BLE event type is connect-able directed advertisement"; + } + enum ble-event-adv-scan-ind { + value 2; + description + "BLE event type is scan-able undirected advertisement"; + } + enum ble-event-adv-nonconn-ind { + value 3; + description + "BLE event type is non connect-able undirected advertisement"; + } + enum ble-event-adv-scan-rsp { + value 4; + description + "BLE event type is scan response type advertisement"; + } + enum ble-event-adv-unknown { + value 255; + description + "BLE event type is unknown"; + } + } + description + "This object specifies the BLE scan event type"; + } + + typedef enm-ble-ltx-scan-addr-type { + type enumeration { + enum ble-addr-public { + value 0; + description + "BLE address type is public address"; + } + enum ble-addr-random { + value 1; + description + "BLE address type is random address"; + } + enum ble-addr-public-id { + value 2; + description + "BLE address type is public identity address"; + } + enum ble-addr-random-id { + value 3; + description + "BLE address type is random identity address"; + } + enum ble-addr-random-nr { + value 254; + description + "BLE address type is random non-resolvable address"; + } + enum ble-addr-unknown { + value 255; + description + "BLE address type is unknown address"; + } + } + description + "This object specifies the BLE scan address type"; + } + + typedef iot-radio-firmware-type { + type enumeration { + enum iot-radio-fw-ble { + value 0; + description + "IoT radio firmware type is BLE"; + } + enum iot-radio-fw-zigbee { + value 1; + description + "IoT radio firmware type is Zigbee"; + } + enum iot-radio-fw-thread { + value 2; + description + "IoT radio firmware type is Thread"; + } + enum iot-radio-fw-proprietary { + value 3; + description + "IoT radio firmware type is Proprietary"; + } + } + description + "This object specifies the IoT radio firmware type"; + } + + typedef enm-radio-dot11-proto-supported { + type enumeration { + enum protocol-80211a { + value 0; + description + "Highest throughput supported by radio is as per 802.11a"; + } + enum protocol-80211bg { + value 1; + description + "Highest throughput supported by radio is as per 802.11bg"; + } + enum protocol-80211n { + value 2; + description + "Highest throughput supported by radio is as per 802.11n"; + } + enum protocol-80211ac { + value 3; + description + "Highest throughput supported by radio is as per 802.11ac"; + } + enum protocol-80211ax { + value 4; + description + "Highest throughput supported by radio is as per 802.11ax"; + } + enum protocol-80211be { + value 5; + description + "Highest throughput supported by radio is as per 802.11be"; + } + } + description + "Highest throughput supported by radio as per 802.11 protocols"; + } + + typedef dot11k-rm-beacon-measurement-scan-report-number-requests { + type enumeration { + enum request-once { + value 0; + description + "One Time Request for 802.11k RM Beacon Measurement in Client Scan Report"; + } + enum request-periodic { + value 1; + description + "Periodic Request for 802.11k RM Beacon Measurement in Client Scan Report"; + } + } + description + "Number of 802.11k RM Beacon Measurement Requests for Client Scan Reports"; + } + + typedef dot11k-rm-beacon-measurement-scan-report-measurement-modes { + type enumeration { + enum mode-passive { + value 0; + description + "Passive Measurement Mode for 802.11k RM Beacon Measurement in Client Scan Report"; + } + enum mode-active { + value 1; + description + "Active Measurement Mode for 802.11k RM Beacon Measurement in Client Scan Report"; + } + enum mode-table { + value 2; + description + "Table Measurement Mode for 802.11k RM Beacon Measurement in Client Scan Report"; + } + } + description + "Measurement Modes for 802.11k RM Beacon Measurement Requests for Client Scan Reports"; + } + + typedef dot11k-rm-beacon-measurement-scan-report-triggers { + type enumeration { + enum trigger-assoc { + value 0; + description + "802.11k RM Beacon Measurement Request for Client Scan Report triggered automatically by client association"; + } + enum trigger-roam { + value 1; + description + "802.11k RM Beacon Measurement Request for Client Scan Report triggered automatically by client roam"; + } + enum trigger-on-demand { + value 2; + description + "802.11k RM Beacon Measurement Request for Client Scan Report triggered on-demand by EXEC CLI"; + } + } + description + "Triggers to send 802.11k RM Beacon Measurement Requests for Client Scan Reports"; + } + + typedef app-type { + type enumeration { + enum app-mdns { + value 0; + description + "MDNS application"; + } + } + description + "Applications that support rule configurations"; + } + + typedef rule-action { + type enumeration { + enum rule-action-unconfigured { + value 0; + description + "Action unconfigured"; + } + enum rule-action-mdns-grouping { + value 1; + description + "Group APs for MDNS application"; + } + } + description + "Supported rule actions"; + } + + typedef support-bundle-status { + type enumeration { + enum supp-bundle-none { + value 0; + description + "Support bundle file transfer not initialised"; + } + enum supp-bundle-copy-init { + value 1; + description + "Support bundle file transfer initialised"; + } + enum supp-bundle-copy-failed { + value 2; + description + "Support bundle file transfer failed"; + } + enum supp-bundle-copied { + value 3; + description + "Support bundle file transfer successful"; + } + } + description + "Status of support bundle file transfer"; + } + + typedef enm-controller-name-status { + type enumeration { + enum controller-name-enable { + value 1; + description + "Configures controller name in access point"; + } + enum controller-name-disable { + value 2; + description + "Clears controller name from access point"; + } + } + description + "Controller name status in access point"; + } + + typedef support-bundle-transfer-mode { + type enumeration { + enum bundle-transfer-mode-tftp { + value 0; + description + "Support bundle file transfer mode is TFTP"; + } + enum bundle-transfer-mode-scp { + value 1; + description + "Support bundle file transfer mode is SCP"; + } + } + description + "Support bundle file transfer mode"; + } + + typedef ndp-capability { + type enumeration { + enum ndp-off-channel-capable { + value 0; + description + "Neighbor discovery packets are transmitted off channel"; + } + enum ndp-on-channel-capable { + value 1; + description + "Neighbor discovery packets are transmitted on serving channel"; + } + enum ndp-on-off-channel-capable { + value 2; + description + "AP has the capability of transmitting neighbor discovery + packets on both on channel and off channel"; + } + } + description + "AP neighbor discovery mode capability"; + } + + typedef enm-ndp-mode { + type enumeration { + enum ndp-mode-auto { + value 0; + description + "AP neighbor discovery operation type is auto"; + } + enum ndp-mode-off-channel { + value 1; + description + "AP neighbor discovery is on off channel"; + } + } + description + "Enum to represent the AP neighbor discovery operation type"; + } + + typedef enm-guard-interval-ext { + type enumeration { + enum guard-interval-800ns { + value 0; + description + "guard interval for 800 nano seconds"; + } + enum guard-interval-400ns { + value 1; + description + "guard interval for 400 nano seconds"; + } + enum guard-interval-1600ns { + value 2; + description + "guard interval for 1600 nano seconds"; + } + enum guard-interval-3200ns { + value 3; + description + "guard interval for 3200 nano seconds"; + } + enum guard-interval-none { + value 255; + description + "guard interval for none"; + } + } + description + "Enumeration for guard interval "; + } + + typedef enm-antenna-if-type { + type enumeration { + enum antenna-none { + value 0; + description + "No external SIA antenna is connected to the SIA capable AP"; + } + enum antenna-rptnc { + value 1; + description + "SIA RP-TNC antenna is present for the AP radio"; + } + enum antenna-n { + value 2; + description + "SIA N-Type antenna is present for the AP radio"; + } + enum antenna-dart { + value 3; + description + "SIA DART antenna is present for the AP radio"; + } + } + description + "AP antenna interface type"; + } + + typedef enm-radio-service-type { + type enumeration { + enum radio-service-type-single { + value 0; + description + "Dual-mode radio is not configurable. 802.11a radio has service type default"; + } + enum radio-service-type-dual { + value 1; + description + "Dual-mode radio can be configured for 802.11a radio"; + } + } + description + "AP radio service type"; + } + + typedef country-code { + type enumeration { + enum ad { + value 0; + description + "Country code for Andorra"; + } + enum ae { + value 1; + description + "Country code for United Arab Emirates"; + } + enum af { + value 2; + description + "Country code for Afghanistan"; + } + enum ag { + value 3; + description + "Country code for Antigua and Barbuda"; + } + enum ai { + value 4; + description + "Country code for Anguilla"; + } + enum al { + value 5; + description + "Country code for Albania"; + } + enum am { + value 6; + description + "Country code for Armenia"; + } + enum ao { + value 7; + description + "Country code for Angola"; + } + enum aq { + value 8; + description + "Country code for Antarctica"; + } + enum ar { + value 9; + description + "Country code for Argentina"; + } + enum as { + value 10; + description + "Country code for American Samoa"; + } + enum at { + value 11; + description + "Country code for Austria"; + } + enum au { + value 12; + description + "Country code for Australia"; + } + enum aw { + value 13; + description + "Country code for Aruba"; + } + enum ax { + value 14; + description + "Country code for Aland Islands"; + } + enum az { + value 15; + description + "Country code for Azerbaijan"; + } + enum ba { + value 16; + description + "Country code for Bosnia"; + } + enum bb { + value 17; + description + "Country code for Barbados"; + } + enum bd { + value 18; + description + "Country code for Bangladesh"; + } + enum be { + value 19; + description + "Country code for Belgium"; + } + enum bf { + value 20; + description + "Country code for Burkina Faso"; + } + enum bg { + value 21; + description + "Country code for Bulgaria"; + } + enum bh { + value 22; + description + "Country code for Bahrain"; + } + enum bi { + value 23; + description + "Country code for Burundi"; + } + enum bj { + value 24; + description + "Country code for Benin"; + } + enum bl { + value 25; + description + "Country code for Saint Barthelemy "; + } + enum bm { + value 26; + description + "Country code for Bermuda"; + } + enum bn { + value 27; + description + "Country code for Brunei"; + } + enum bo { + value 28; + description + "Country code for Bolivia"; + } + enum bq { + value 29; + description + "Country code for Bonaire"; + } + enum br { + value 30; + description + "Country code for Brazil"; + } + enum bs { + value 31; + description + "Country code Bahamas"; + } + enum bt { + value 32; + description + "Country code Bhutan"; + } + enum bv { + value 33; + description + "Country code for Bouvet Island"; + } + enum bw { + value 34; + description + "Country code for Botswana"; + } + enum by { + value 35; + description + "Country code for Belarus"; + } + enum bz { + value 36; + description + "Country code for Belize"; + } + enum ca { + value 37; + description + "Country code for Canada"; + } + enum cc { + value 38; + description + "Country code for Cocos (Keeling) Islands"; + } + enum cd { + value 39; + description + "Country code for Congo"; + } + enum cf { + value 40; + description + "Country code for Central African Republic"; + } + enum cg { + value 41; + description + "Country code for Congo"; + } + enum ch { + value 42; + description + "Country code for Switzerland"; + } + enum ci { + value 43; + description + "Country code for Cote de Ivoire"; + } + enum ck { + value 44; + description + "Country code for Cook Islands"; + } + enum cl { + value 45; + description + "Country code for Chile"; + } + enum cm { + value 46; + description + "Country code for Cameroon"; + } + enum cn { + value 47; + description + "Country code for China"; + } + enum co { + value 48; + description + "Country code for Colombia"; + } + enum cr { + value 49; + description + "Country code for Costa Rica"; + } + enum cu { + value 50; + description + "Country code for Cuba"; + } + enum cv { + value 51; + description + "Country code for Cabo Verde"; + } + enum cw { + value 52; + description + "Country code for Curacao"; + } + enum cx { + value 53; + description + "Country code for Christmas Island"; + } + enum cy { + value 54; + description + "Country code for Cyprus"; + } + enum cz { + value 55; + description + "Country code for Czechia"; + } + enum de { + value 56; + description + "Country code for Germany"; + } + enum dj { + value 57; + description + "Country code for Djibouti"; + } + enum dk { + value 58; + description + "Country code for Denmark"; + } + enum dm { + value 59; + description + "Country code for Dominica"; + } + enum do { + value 60; + description + "Country code Dominican Republic"; + } + enum dz { + value 61; + description + "Country code for Algeria"; + } + enum ec { + value 62; + description + "Country code for Ecuador"; + } + enum ee { + value 63; + description + "Country code for Estonia"; + } + enum eg { + value 64; + description + "Country code for Egypt"; + } + enum eh { + value 65; + description + "Country code for Western Sahara"; + } + enum el { + value 66; + description + "Country code for El Salvador"; + } + enum er { + value 67; + description + "Country code for Eritrea"; + } + enum es { + value 68; + description + "Country code for Spain"; + } + enum et { + value 69; + description + "Country code for Ethiopia"; + } + enum fi { + value 70; + description + "Country code for Finland"; + } + enum fj { + value 71; + description + "Country code for Fiji"; + } + enum fk { + value 72; + description + "Country code for Falkland Islands"; + } + enum fm { + value 73; + description + "Country code for Micronesia"; + } + enum fo { + value 74; + description + "Country code for Faroe Islands"; + } + enum fr { + value 75; + description + "Country code for France"; + } + enum ga { + value 76; + description + "Country code for Gabon"; + } + enum gb { + value 77; + description + "Country code for United Kingdom of Great Britain and Northern Ireland"; + } + enum gd { + value 78; + description + "Country code for Grenada"; + } + enum ge { + value 79; + description + "Country code for Georgia"; + } + enum gf { + value 80; + description + "Country code for French Guiana"; + } + enum gg { + value 81; + description + "Country code for Guernsey"; + } + enum gh { + value 82; + description + "Country code for Ghana"; + } + enum gi { + value 83; + description + "Country code for Gibraltar"; + } + enum gl { + value 84; + description + "Country code for Greenland"; + } + enum gm { + value 85; + description + "Country code for Gambia"; + } + enum gn { + value 86; + description + "Country code for Guinea"; + } + enum gp { + value 87; + description + "Country code for Guadeloupe"; + } + enum gq { + value 88; + description + "Country code for Equatorial Guinea"; + } + enum gr { + value 89; + description + "Country code for Greece"; + } + enum gs { + value 90; + description + "Country code for South Georgia and the South Sandwich Islands"; + } + enum gt { + value 91; + description + "Country code for Guatemala"; + } + enum gu { + value 92; + description + "Country code for Guam"; + } + enum gw { + value 93; + description + "Country code for Guinea-Bissau"; + } + enum gy { + value 94; + description + "Country code for Guyana"; + } + enum hk { + value 95; + description + "Country code for Hong Kong"; + } + enum hm { + value 96; + description + "Country code for Heard Island and McDonald Islands"; + } + enum hn { + value 97; + description + "Country code for Honduras"; + } + enum hr { + value 98; + description + "Country code for Croatia"; + } + enum ht { + value 99; + description + "Country code for Haiti"; + } + enum hu { + value 100; + description + "Country code for Hungary"; + } + enum id { + value 101; + description + "Country code for Indonesia"; + } + enum ie { + value 102; + description + "Country code for Ireland"; + } + enum il { + value 103; + description + "Country code for Israel"; + } + enum im { + value 104; + description + "Country code for Isle of Man"; + } + enum in { + value 105; + description + "Country code for India"; + } + enum io { + value 106; + description + "Country code for British Indian Ocean Territory"; + } + enum iq { + value 107; + description + "Country code for Iraq"; + } + enum ir { + value 108; + description + "Country code for Iran"; + } + enum is { + value 109; + description + "Country code for Iceland"; + } + enum it { + value 110; + description + "Country code for Italy"; + } + enum je { + value 111; + description + "Country code for Jersey"; + } + enum jm { + value 112; + description + "Country code for Jamaica"; + } + enum jo { + value 113; + description + "Country code for Jordan"; + } + enum jp { + value 114; + description + "Country code for Japan"; + } + enum j2 { + value 115; + description + "Country code for Japan 2(P) "; + } + enum j3 { + value 116; + description + "Country code for Japan 3(U) "; + } + enum j4 { + value 117; + description + "Country code for Japan 4(Q) "; + } + enum ke { + value 118; + description + "Country code for Kenya"; + } + enum kg { + value 119; + description + "Country code for Kyrgyzstan"; + } + enum kh { + value 120; + description + "Country code for Cambodia"; + } + enum ki { + value 121; + description + "Country code for Kiribati"; + } + enum km { + value 122; + description + "Country code for Comoros"; + } + enum kn { + value 123; + description + "Country code for Saint Kitts and Nevis"; + } + enum kp { + value 124; + description + "Country code for Democratic People's Republic of Korea"; + } + enum kr { + value 125; + description + "Country code for Republic of Korea"; + } + enum kw { + value 126; + description + "Country code for Kuwait"; + } + enum ky { + value 127; + description + "Country code for Cayman Islands"; + } + enum kz { + value 128; + description + "Country code for Kazakhstan"; + } + enum la { + value 129; + description + "Country code for Lao People's Democratic Republic"; + } + enum lb { + value 130; + description + "Country code for Lebanon"; + } + enum lc { + value 131; + description + "Country code for Saint Lucia"; + } + enum li { + value 132; + description + "Country code for Liechtenstein"; + } + enum lk { + value 133; + description + "Country code for Sri Lanka"; + } + enum lr { + value 134; + description + "Country code for Liberia"; + } + enum ls { + value 135; + description + "Country code for Lesotho"; + } + enum lt { + value 136; + description + "Country code for Lithuania"; + } + enum lu { + value 137; + description + "Country code for Luxembourg"; + } + enum lv { + value 138; + description + "Country code for Latvia"; + } + enum ly { + value 139; + description + "Country code for Libya"; + } + enum ma { + value 140; + description + "Country code for Morocco"; + } + enum mc { + value 141; + description + "Country code for Monaco"; + } + enum md { + value 142; + description + "Country code for Republic of Moldova"; + } + enum me { + value 143; + description + "Country code for Montenegro"; + } + enum mf { + value 144; + description + "Country code for Saint Martin (French part)"; + } + enum mg { + value 145; + description + "Country code for Madagascar"; + } + enum mh { + value 146; + description + "Country code for Marshall Islands"; + } + enum mk { + value 147; + description + "Country code for North Macedonia"; + } + enum ml { + value 148; + description + "Country code for Mali"; + } + enum mm { + value 149; + description + "Country code for Myanmar"; + } + enum mn { + value 150; + description + "Country code for Mongolia"; + } + enum mo { + value 151; + description + "Country code for Macao"; + } + enum mp { + value 152; + description + "Country code for Northern Mariana Islands"; + } + enum mq { + value 153; + description + "Country code for Martinique"; + } + enum mr { + value 154; + description + "Country code for Mauritania"; + } + enum ms { + value 155; + description + "Country code for Montserrat"; + } + enum mt { + value 156; + description + "Country code for Malta"; + } + enum mu { + value 157; + description + "Country code for Mauritius"; + } + enum mv { + value 158; + description + "Country code for Maldives"; + } + enum mw { + value 159; + description + "Country code for Malawi"; + } + enum mx { + value 160; + description + "Country code for Mexico"; + } + enum my { + value 161; + description + "Country code for Malaysia"; + } + enum mz { + value 162; + description + "Country code for Mozambique"; + } + enum na { + value 163; + description + "Country code for Namibia"; + } + enum nc { + value 164; + description + "Country code for New Caledonia"; + } + enum ne { + value 165; + description + "Country code for Niger"; + } + enum nf { + value 166; + description + "Country code for Norfolk Island"; + } + enum ng { + value 167; + description + "Country code for Nigeria"; + } + enum ni { + value 168; + description + "Country code for Nicaragua"; + } + enum nl { + value 169; + description + "Country code for Netherlands"; + } + enum no { + value 170; + description + "Country code for Norway"; + } + enum np { + value 171; + description + "Country code for Nepal"; + } + enum nr { + value 172; + description + "Country code for Nauru"; + } + enum nu { + value 173; + description + "Country code for Niue"; + } + enum nz { + value 174; + description + "Country code for New Zealand"; + } + enum om { + value 175; + description + "Country code for Oman"; + } + enum pa { + value 176; + description + "Country code for Panama"; + } + enum pe { + value 177; + description + "Country code for Peru"; + } + enum pf { + value 178; + description + "Country code for French Polynesia"; + } + enum pg { + value 179; + description + "Country code for Papua New Guinea"; + } + enum ph { + value 180; + description + "Country code for Philippines"; + } + enum pk { + value 181; + description + "Country code for Pakistan"; + } + enum pl { + value 182; + description + "Country code for Poland"; + } + enum pm { + value 183; + description + "Country code for Saint Pierre and Miquelon"; + } + enum pn { + value 184; + description + "Country code for Pitcairn"; + } + enum pr { + value 185; + description + "Country code for Puerto Rico"; + } + enum ps { + value 186; + description + "Country code State of Palestine"; + } + enum pt { + value 187; + description + "Country code for Portugal"; + } + enum pw { + value 188; + description + "Country code for Palau"; + } + enum py { + value 189; + description + "Country code for Paraguay"; + } + enum qa { + value 190; + description + "Country code for Qatar"; + } + enum re { + value 191; + description + "Country code for Reunion"; + } + enum ro { + value 192; + description + "Country code for Romania"; + } + enum rs { + value 193; + description + "Country code for Serbia"; + } + enum ru { + value 194; + description + "Country code for Russian Federation"; + } + enum rw { + value 195; + description + "Country code for Rwanda"; + } + enum sa { + value 196; + description + "Country code for Saudi Arabia"; + } + enum sb { + value 197; + description + "Country code for Solomon Islands"; + } + enum sc { + value 198; + description + "Country code for Seychelles"; + } + enum sd { + value 199; + description + "Country code for Sudan"; + } + enum se { + value 200; + description + "Country code for Sweden"; + } + enum sg { + value 201; + description + "Country code for Singapore"; + } + enum sh { + value 202; + description + "Country code for Saint Helena, Ascension and Tristan da Cunha"; + } + enum si { + value 203; + description + "Country code for Slovenia"; + } + enum sj { + value 204; + description + "Country code for Svalbard and Jan Mayen"; + } + enum sk { + value 205; + description + "Country code for Slovakia"; + } + enum sl { + value 206; + description + "Country code for Sierra Leone"; + } + enum sm { + value 207; + description + "Country code for San Marino"; + } + enum sn { + value 208; + description + "Country code for Senegal"; + } + enum so { + value 209; + description + "Country code for Somalia"; + } + enum sr { + value 210; + description + "Country code for Suriname"; + } + enum ss { + value 211; + description + "Country code for South Sudan"; + } + enum st { + value 212; + description + "Country code for Sao Tome and Principe"; + } + enum sv { + value 213; + description + "Country code for El Salvador"; + } + enum sx { + value 214; + description + "Country code for Sint Maarten (Dutch part)"; + } + enum sy { + value 215; + description + "Country code for Syrian Arab Republic"; + } + enum sz { + value 216; + description + "Country code for Eswatini"; + } + enum tc { + value 217; + description + "Country code for Turks and Caicos Islands"; + } + enum td { + value 218; + description + "Country code for Chad"; + } + enum tf { + value 219; + description + "Country code for French Southern Territories"; + } + enum tg { + value 220; + description + "Country code for Togo"; + } + enum th { + value 221; + description + "Country code for Thailand"; + } + enum ti { + value 222; + description + "Country code for Trinidad"; + } + enum tj { + value 223; + description + "Country code for Tajikistan"; + } + enum tk { + value 224; + description + "Country code for Tokelau"; + } + enum tl { + value 225; + description + "Country code for Timor Leste"; + } + enum tm { + value 226; + description + "Country code for Turkmenistan"; + } + enum tn { + value 227; + description + "Country code for Tunisia"; + } + enum to { + value 228; + description + "Country code for Tonga"; + } + enum tr { + value 229; + description + "Country code for Turkey"; + } + enum tt { + value 230; + description + "Country code for Trinidad and Tobago"; + } + enum tv { + value 231; + description + "Country code for Tuvalu"; + } + enum tw { + value 232; + description + "Country code for Taiwan, Province of China"; + } + enum tz { + value 233; + description + "Country code for Tanzania, United Republic of"; + } + enum ua { + value 234; + description + "Country code for Ukraine"; + } + enum ug { + value 235; + description + "Country code for Uganda"; + } + enum um { + value 236; + description + "Country code for United States Minor Outlying Islands"; + } + enum us { + value 237; + description + "Country code for United States of America"; + } + enum uy { + value 238; + description + "Country code for Uruguay"; + } + enum uz { + value 239; + description + "Country code for Uzbekistan"; + } + enum va { + value 240; + description + "Country code for Holy See"; + } + enum vc { + value 241; + description + "Country code for Saint Vincent and the Grenadines"; + } + enum ve { + value 242; + description + "Country code for Venezuela (Bolivarian Republic of)"; + } + enum vg { + value 243; + description + "Country code for Virgin Islands (British)"; + } + enum vi { + value 244; + description + "Country code for Virgin Islands (U.S.)"; + } + enum vn { + value 245; + description + "Country code for Viet Nam"; + } + enum vu { + value 246; + description + "Country code for Vanuatu"; + } + enum wf { + value 247; + description + "Country code for Wallis and Futuna"; + } + enum ws { + value 248; + description + "Country code for Samoa"; + } + enum ye { + value 249; + description + "Country code for Yemen"; + } + enum yt { + value 250; + description + "Country code for Mayotte"; + } + enum za { + value 251; + description + "Country code for South Africa"; + } + enum zm { + value 252; + description + "Country code for Zambia"; + } + enum zw { + value 253; + description + "Country code for Zimbabwe"; + } + enum unconfigured { + value 254; + description + "Country code not configured"; + } + enum xk { + value 255; + description + "Country code for Kosovo"; + } + } + description + "Country code"; + } + + typedef enm-beam-selection-mode { + type enumeration { + enum beam-select-no-config { + value 0; + description + "Beam selection is not configured for AP radio"; + } + enum beam-select-wide { + value 1; + description + "Wide beam antenna selection for AP radio"; + } + enum beam-select-narrow { + value 2; + description + "Narrow beam antenna selection for AP radio"; + } + enum beam-select-narrow-10 { + value 3; + description + "Narrow beam antenna selection with a tilt of 10 degrees from centre"; + } + enum beam-select-narrow-20 { + value 4; + description + "Narrow beam antenna selection with a tilt of 20 degrees from centre"; + } + } + description + "Beam selection mode for AP radio"; + } + + typedef enm-reset-reason { + type enumeration { + enum reset-user { + value 0; + description + "Remote leader reset initiated by user"; + } + enum reset-auto { + value 1; + description + "Remote leader reset initiated by system"; + } + } + description + "Enumeration specifying remote leader reset reason"; + } + + typedef sae-pwe-mode-type { + type enumeration { + enum hunting-and-pecking-only { + value 0; + description + "Hunting And Pecking Only"; + } + enum hash-to-element-only { + value 1; + description + "Hash To Element Only"; + } + enum both-h2e-hnp { + value 2; + description + "Both Hash to element, Hunting and pecking support"; + } + } + description + "Enumeration for SAE Password Element support type"; + } + + typedef enum-ap-pmk-propagation-role { + type enumeration { + enum pmk-dist-none { + value 0; + description + "No role in PMK cache sharing"; + } + enum pmk-dist-receiver { + value 1; + description + "PMK bulk sync Receiver"; + } + enum pmk-dist-sender { + value 2; + description + "PMK Bulk sync sender"; + } + enum pmk-dist-bulk-sync-done { + value 3; + description + "Ready to sync PMK cache"; + } + } + description + "Enumeration for role of AP in PMK propagation"; + } + + typedef enum-ap-pmk-propagation-method { + type enumeration { + enum pmk-dist-wlc-to-ap { + value 0; + description + "propagate PMK from controller to AP"; + } + enum pmk-dist-ap-to-ap { + value 1; + description + "propagate PMK from controller some APs which further propagate to other AP"; + } + enum pmk-dist-dcds { + value 2; + description + "propagate PMK from AP to AP"; + } + } + description + "Enumeration for the way PMK propagation is done"; + } + + typedef ewlc-ap-image-oob-method { + type enumeration { + enum ap-img-oob-none { + value 0; + description + "OOB method type none"; + } + enum ap-img-oob-ftp { + value 1; + description + "OOB method type FTP"; + } + enum ap-img-oob-scp { + value 2; + description + "OOB method type SCP"; + } + enum ap-img-oob-https { + value 3; + description + "OOB method type HTTPS"; + } + enum ap-img-oob-capwap { + value 4; + description + "Image method type CAPWAP"; + } + } + description + "Enumeration for AP image download OOB(out-of-band, outside CAPWAP control path) method configuration"; + } + + typedef enm-ap-geolocation-gnss-ant-type { + type enumeration { + enum ap-gnss-ant-unknown { + value 0; + description + "Unknown AP GNSS antenna type"; + } + enum ap-gnss-ant-int { + value 1; + description + "Internal AP GNSS antenna"; + } + enum ap-gnss-ant-ext { + value 2; + description + "External AP GNSS antenna"; + } + } + description + "AP GNSS antenna types"; + } + + typedef enm-ap-geolocation-height-type { + type enumeration { + enum ap-height-unknown { + value 0; + description + "Unknown height type"; + } + enum ap-height-agl { + value 1; + description + "Above Ground Level height type"; + } + enum ap-height-msl { + value 2; + description + "Mean Sea Level height type"; + } + } + description + "enumeration to define the AP geolocation height types"; + } + + typedef enm-geo-loc-info-type { + type enumeration { + enum ap-geoloc-info-unknown { + value 0; + description + "Geolocation info type is unknown"; + } + enum ap-geoloc-info-point { + value 1; + description + "Geolocation info is represented as a point"; + } + enum ap-geoloc-info-ellipse { + value 2; + description + "Geolocation info is represented as an ellipse"; + } + enum ap-geoloc-info-lin-poly { + value 3; + description + "Geolocation info is represented as linear polygon"; + } + enum ap-geoloc-info-rad-poly { + value 4; + description + "Geolocation info is represented as radial polygon"; + } + } + description + "AP geolocation type"; + } + + typedef enm-ap-geolocation-height-source { + type enumeration { + enum ap-elev-src-unknown { + value 0; + description + "AP elevation source is unknown"; + } + enum ap-elev-src-manual { + value 1; + description + "AP elevation is manually set"; + } + enum ap-elev-src-derived { + value 2; + description + "AP elevation is derived from pressure information or other APs"; + } + enum ap-elev-src-gnss { + value 3; + description + "AP elevation is coming from GNSS"; + } + enum ap-elev-src-auto-locate { + value 4; + description + "AP elevation derived using auto-locate algorithms"; + } + } + description + "AP geolocation elevation source"; + } + + typedef enm-ap-geolocation-location-source { + type enumeration { + enum ap-geoloc-src-unknown { + value 0; + description + "Geolocation source is unknown"; + } + enum ap-geoloc-src-derived { + value 1; + description + "Geolocation is derived from other APs"; + } + enum ap-geoloc-src-gnss { + value 2; + description + "Geolocation source is GNSS"; + } + enum ap-geoloc-src-manual { + value 3; + description + "Geolocation source is manual"; + } + enum ap-geoloc-src-autoloc { + value 4; + description + "Geolocation source is auto-location algorithm, non-AFC compliant"; + } + enum ap-geoloc-src-autoloc-afc { + value 5; + description + "Geolocation source is auto-location algorithm, AFC compliant"; + } + } + description + "AP geolocation source"; + } + + typedef afc-location-type { + type enumeration { + enum afc-loc-unknown { + value 0; + description + "AP AFC location type is unknown"; + } + enum afc-loc-ellipse { + value 1; + description + "AP AFC location type is ellipse"; + } + enum afc-loc-linear-polyg-in-progress { + value 2; + description + "AP AFC location type is linear polygon (in progress)"; + } + enum afc-loc-linear-polyg { + value 3; + description + "AP AFC location type is linear polygon"; + } + enum afc-loc-radial-polyg { + value 4; + description + "AP AFC location type is radial polygon"; + } + } + description + "Enumeration for AP AFC location type"; + } + + typedef afc-deployment-type { + type enumeration { + enum afc-depl-unknown { + value 0; + description + "AP AFC deployment type is unknown"; + } + enum afc-depl-indoor { + value 1; + description + "AP AFC deployment type is indoor"; + } + enum afc-depl-outdoor { + value 2; + description + "AP AFC deployment type is outdoor"; + } + } + description + "Enumeration for AP AFC deployment type"; + } + + typedef afc-height-type { + type enumeration { + enum afc-height-unknown { + value 0; + description + "AP AFC height type is unknown"; + } + enum afc-height-agl { + value 1; + description + "AP AFC height type is above ground level"; + } + enum afc-height-amsl { + value 2; + description + "AP AFC height type is above mean sea level"; + } + } + description + "Enumeration for AP AFC height type"; + } + + typedef enm-geo-bulk-height-type { + type enumeration { + enum geo-afc-height-unknown { + value 0; + description + "AP AFC height type is unknown"; + } + enum geo-afc-height-agl { + value 1; + description + "AP AFC height type is above ground level"; + } + } + description + "Enumeration for AP geolocation bulk height type"; + } + + typedef afc-request-status { + type enumeration { + enum afc-req-no-geolocation { + value 0; + description + "Waiting for geolocation information"; + } + enum afc-req-geolocation-in-progress { + value 1; + description + "Geolocation information configuration is in progress"; + } + enum afc-req-geolocation-known { + value 2; + description + "Geolocation information is configured"; + } + enum afc-req-queued { + value 3; + description + "Request queued"; + } + enum afc-req-sent { + value 4; + description + "Request sent"; + } + enum afc-req-resp-received { + value 5; + description + "Response received"; + } + enum afc-req-missing-response { + value 6; + description + "Response missing"; + } + enum afc-req-invalid-response { + value 7; + description + "Invalid response"; + } + enum afc-req-httpcon-ssl-error { + value 8; + description + "HTTP SSL error"; + } + enum afc-req-httpcon-no-connection { + value 9; + description + "No connection"; + } + enum afc-req-httpcon-timeout { + value 10; + description + "Connection timeout"; + } + enum afc-req-httpcon-aborted { + value 11; + description + "Connection aborted"; + } + enum afc-req-httpcon-send-failed { + value 12; + description + "Send failed"; + } + enum afc-req-httpcon-unknown-error { + value 13; + description + "Unknown error"; + } + enum afc-req-db-error { + value 14; + description + "Internal DB error"; + } + enum afc-req-encode-error { + value 15; + description + "Encoding error"; + } + enum afc-req-schedule-error { + value 16; + description + "Scheduling error"; + } + enum afc-req-hc-not-ok { + value 17; + description + "Health check indicates cloud connectivity error"; + } + enum afc-req-dev-not-otp-upgraded { + value 18; + description + "Device not OTP upgraded"; + } + enum afc-req-get-auth-id-in-progress { + value 19; + description + "Getting Authority Id from the cloud"; + } + } + description + "Enumeration for AP AFC request status"; + } + + typedef afc-hc-error { + type enumeration { + enum afc-hc-err-unknown { + value 0; + description + "AFC health check error unknown"; + } + enum afc-hc-err-http-con { + value 1; + description + "AFC cloud HTTP connection error"; + } + enum afc-hc-err-prov { + value 2; + description + "AFC provider error"; + } + enum afc-hc-err-token { + value 3; + description + "AFC client does not have a valid token"; + } + enum afc-hc-err-otp { + value 4; + description + "AFC client is not OTP upgraded"; + } + enum afc-hc-err-onboard { + value 5; + description + "AFC client is not on boarded"; + } + } + description + "Enumeration for AFC health check error"; + } + + typedef afc-provider-status { + type enumeration { + enum afc-prov-unknown { + value 0; + description + "AFC provider status is unknown"; + } + enum afc-prov-ok { + value 1; + description + "AFC provider is operational"; + } + enum afc-prov-degraded { + value 2; + description + "AFC provider service is degraded"; + } + enum afc-prov-no-service { + value 3; + description + "AFC provider is out of service"; + } + } + description + "Enumeration for AFC provider status"; + } + + typedef afc-cloud-status { + type enumeration { + enum afc-cloud-unknown { + value 0; + description + "AFC cloud status is unknown"; + } + enum afc-cloud-ok { + value 1; + description + "AFC cloud status is operational"; + } + enum afc-cloud-error { + value 2; + description + "AFC cloud status error"; + } + } + description + "Enumeration for AFC cloud status"; + } + + typedef enm-ap-geolocation-derived-source { + type enumeration { + enum derived-geoloc-src-unknown { + value 0; + description + "Derived geolocation source is unknown"; + } + enum derived-geoloc-src-ap { + value 1; + description + "Derived geolocation source is AP"; + } + enum derived-geoloc-src-controller { + value 2; + description + "Derived geolocation source is controller"; + } + } + description + "Derived geolocation source"; + } + + typedef cac-status-type { + type enumeration { + enum cac-status-none { + value 0; + description + "CAC status is not applicable, channel is not yet reserved"; + } + enum cac-not-required { + value 1; + description + "CAC is not required, channel is non DFS"; + } + enum cac-status-not-done { + value 2; + description + "CAC is not yet done"; + } + enum cac-in-progress { + value 3; + description + "CAC is in progress"; + } + enum cac-complete { + value 4; + description + "CAC is done"; + } + } + description + "CAC status of the reserved channel"; + } + + typedef cac-domain-type { + type enumeration { + enum cac-domain-none { + value 0; + description + "AP CAC domain is not applicable"; + } + enum cac-domain-fcc { + value 1; + description + "AP CAC domain is FCC"; + } + enum cac-domain-etsi { + value 2; + description + "AP CAC domain is ETSI"; + } + } + description + "AP CAC regulatory domain"; + } + + typedef enm-rlan-fallback-type { + type enumeration { + enum rlan-auth-fback-none { + value 0; + description + "No RLAN fallback authentication type"; + } + enum rlan-auth-fback-dot1x { + value 1; + description + "RLAN 802.1X authentication fallback on MAC filter failure"; + } + enum rlan-auth-fback-macfilter { + value 2; + description + "RLAN MAC filter authentication fallback on 802.1X failure"; + } + } + description + "Enumeration for RLAN fallback authentication type"; + } + + typedef enm-ap-sensor-type { + type enumeration { + enum ap-sensor-air-quality { + value 0; + description + "Air-quality environmental sensor"; + } + enum ap-sensor-temp { + value 1; + description + "Temperature environmental sensor"; + } + enum ap-sensor-pressure { + value 2; + description + "Pressure environmental sensor"; + } + enum ap-sensor-accelerometer { + value 3; + description + "Magnetometer environmental sensor"; + } + } + description + "Enumeration for AP sensor types"; + } + + typedef enm-ap-sensor-state { + type enumeration { + enum sensor-disabled { + value 0; + description + "AP sensor state is disabled"; + } + enum sensor-enabled { + value 1; + description + "AP sensor state is enabled"; + } + } + description + "Enumeration for AP sensor state"; + } + + typedef enm-ap-press-sensor-state { + type enumeration { + enum press-sensor-auto { + value 0; + description + "AP pressure sensor state is automatic"; + } + enum press-sensor-disabled { + value 1; + description + "AP pressure sensor state is disabled"; + } + enum press-sensor-enabled { + value 2; + description + "AP pressure sensor state is enabled"; + } + } + description + "Enumeration for AP pressure sensor state"; + } + + typedef enm-ap-sensor-oper-state { + type enumeration { + enum sensor-oper-state-down { + value 0; + description + "AP sensor operational state is DOWN"; + } + enum sensor-oper-state-up { + value 1; + description + "AP sensor operational state is UP"; + } + } + description + "Enumeration for AP sensor operational state"; + } + + typedef enm-group-method { + type enumeration { + enum mdns-grp-ap-name { + value 0; + description + "Grouping based on AP name"; + } + enum mdns-grp-ap-loc { + value 1; + description + "Grouping based on AP location"; + } + } + description + "Enumeration for rule group method"; + } + + typedef enm-location-namespace-id { + type enumeration { + enum loc-ns-id-tadig { + value 0; + description + "AAA location namespace id for TADIG"; + } + enum loc-ns-id-realm { + value 1; + description + "AAA location namespace id for REALM"; + } + enum loc-ns-id-e212 { + value 2; + description + "AAA location namespace id for E212"; + } + enum loc-ns-id-icc { + value 3; + description + "AAA location namespace id for ICC"; + } + } + description + "Enumeration for AAA location namespace Id"; + } + + typedef enm-sisf-binding-state { + type enumeration { + enum sisf-bt-state-creating { + value 0; + description + "Creating state"; + } + enum sisf-bt-state-tentative { + value 1; + description + "Tentative state"; + } + enum sisf-bt-state-incomplete { + value 2; + description + "Incomplete state"; + } + enum sisf-bt-state-verify { + value 3; + description + "Verify state"; + } + enum sisf-bt-state-reachable { + value 4; + description + "Reachable state"; + } + enum sisf-bt-state-stale { + value 5; + description + "Stale state"; + } + enum bt-sisf-bt-state-down { + value 6; + description + "Down state"; + } + enum sisf-bt-state-unknown { + value 7; + description + "Unknown state"; + } + enum sisf-bt-state-none { + value 8; + description + "None state"; + } + } + description + "Client binding state for SISF"; + } + + typedef enm-ranging-mode { + type enumeration { + enum ranging-none { + value 0; + description + "No ranging"; + } + enum ranging-non-disruptive { + value 1; + description + "Non Disruptive AP ranging mode"; + } + enum ranging-disruptive { + value 2; + description + "Disruptive AP ranging mode"; + } + } + description + "enumeration to denote the AP ranging mode"; + } + + typedef enm-ranging-band { + type enumeration { + enum ranging-all-bands { + value 0; + description + "AP ranging using all radio bands"; + } + enum ranging-5-ghz-band { + value 1; + description + "AP ranging using all 5 GHz radio band"; + } + enum ranging-6-ghz-band { + value 2; + description + "AP ranging using all 6 GHz radio band"; + } + } + description + "Enumeration for AP ranging band type"; + } + + typedef enm-ranging-method { + type enumeration { + enum ranging-method-all { + value 0; + description + "Ranging method all"; + } + enum ranging-method-ftm { + value 1; + description + "AP Ranging method FTM"; + } + enum ranging-method-uwb { + value 2; + description + "AP ranging method UWB"; + } + } + description + "enumeration to denote the AP ranging protocol"; + } + + typedef enm-ap-location-mode { + type enumeration { + enum none { + value 0; + description + "AP location mode none"; + } + enum manual { + value 1; + description + "AP location mode manual"; + } + enum computed { + value 2; + description + "AP location mode computed"; + } + enum gnss-inbuilt { + value 3; + description + "AP location mode inbuilt Global Navigation Satellite System"; + } + enum gypsum { + value 4; + description + "AP location mode GYPSUM"; + } + } + description + "enumeration to denote the AP location mode"; + } + + typedef enm-fra-action-type { + type enumeration { + enum fra-action-default { + value 0; + description + "Dual band radios operate in 2.4GHz/5GHz/Monitor"; + } + enum fra-action-monitor { + value 1; + description + "Dual band radios operate in 2.4GHz/Monitor"; + } + } + description + "FRA Action type"; + } + + typedef enm-loc-ftm-burst-duration { + type enumeration { + enum 250us { + value 2; + description + "250 microseconds"; + } + enum 500us { + value 3; + description + "500 microseconds"; + } + enum 1ms { + value 4; + description + "1 milliseconds"; + } + enum 2ms { + value 5; + description + "2 milliseconds"; + } + enum 4ms { + value 6; + description + "4 milliseconds"; + } + enum 8ms { + value 7; + description + "8 milliseconds"; + } + enum 16ms { + value 8; + description + "16 milliseconds"; + } + enum 32ms { + value 9; + description + "32 milliseconds"; + } + enum 64ms { + value 10; + description + "64 milliseconds"; + } + enum 128ms { + value 11; + description + "128 milliseconds"; + } + enum any { + value 15; + description + "Any other duration"; + } + } + description + "Fine Timing Measurement initiator burst duration"; + } + + typedef ap-deployment-mode-type { + type enumeration { + enum ap-mode-default { + value 0; + description + "Convert AP to its default mode,Dual mode capable APs will reboot if current operating mode + is not default mode"; + } + enum ap-mode-indoor { + value 1; + description + "Convert dual mode AP to indoor mode,Dual mode capable APs will reboot if current operating + mode is not indoor mode"; + } + enum ap-mode-outdoor { + value 2; + description + "Convert dual mode AP to outdoor mode,Dual mode capable APs will reboot if current + operating mode is not outdoor mode"; + } + } + description + "AP deployment mode"; + } + + typedef op-type { + type enumeration { + enum create { + value 0; + description + "Create new entry for location"; + } + enum update { + value 1; + description + "Update existing location"; + } + enum delete { + value 2; + description + "Delete existing location"; + } + } + description + "AP geolocation operation"; + } + + typedef enm-kernel-coredump-type { + type enumeration { + enum kernel-coredump-type-disabled { + value 0; + description + "Disable kernel coredump"; + } + enum kernel-coredump-type-full { + value 1; + description + "Full kernel coredump"; + } + enum kernel-coredump-type-mini { + value 2; + description + "Mini kernel coredump"; + } + } + description + "Kernel coredump type"; + } + + typedef block-ack-window-size { + type enumeration { + enum block-ack-window-size-1 { + value 0; + description + "Block ack window size 1"; + } + enum block-ack-window-size-64 { + value 1; + description + "Block ack window size 64"; + } + enum block-ack-window-size-128 { + value 2; + description + "Block ack window size 128"; + } + enum block-ack-window-size-256 { + value 3; + description + "Block ack window size 256"; + } + enum block-ack-window-size-512 { + value 4; + description + "Block ack window size 512"; + } + enum block-ack-window-size-1024 { + value 5; + description + "Block ack window size 1024"; + } + } + description + "Enumeration for Block ack window size"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-events-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-events-oper.yang new file mode 100644 index 000000000..b1a17c209 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-events-oper.yang @@ -0,0 +1,643 @@ +module Cisco-IOS-XE-wireless-events-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-events-oper"; + prefix wireless-event-oper; + + import Cisco-IOS-XE-wireless-mobility-types { + prefix wireless-mobility-types; + } + import Cisco-IOS-XE-wsa-types { + prefix wsa-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless operations events generated from the Cisco Wireless + controller. These models may produce high volume of data. + Copyright (c) 2018-2022 by Cisco Systems, Inc. + All rights reserved"; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2022-07-01 { + description + "- Added new ap upgrade asynchronous notification event."; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-07-01 { + description + "- Added Band ID for 6GHz channels to Rogue WSA. + - Added new threshold warning manager event."; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Added dot1x flag in rogue potential honeypot event. + - Remove unused empty container wireless-events"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-03-01 { + description + "- Added beacon DS information in impersonation event. + - Added new rogue WSA event. + - Added client mac in rogue WSA event."; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-01 { + description + "- Added rogue WSA events. + - Added semantic version"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-05 { + description + "Addition of fabric parameters to wsa client event."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-06-11 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef rogue-event-type { + type enumeration { + enum rogue-potential-honeypot-detected { + value 0; + description + "Potential honeypot detected event"; + } + enum rogue-potential-honeypot-cleared { + value 1; + description + "Potential honeypot cleared event"; + } + enum rogue-ap-impersonation-detected { + value 2; + description + "AP impersonation detected event"; + } + enum rogue-mfp-containment-detected { + value 3; + description + "PMF containment attempt detected event"; + } + } + description + "Rogue event type"; + } + + typedef threshold-warning-event-type { + type enumeration { + enum wireless-clients-threshold-reached { + value 0; + description + "Wireless clients reached the threshold."; + } + } + description + "Threshold warning event type."; + } + + typedef ap-upgrade-state { + type enumeration { + enum ap-ev-pred-start { + value 0; + description + "AP image predownload started"; + } + enum ap-ev-pred-in-progress { + value 1; + description + "AP image predownload in progress"; + } + enum ap-ev-pred-failed { + value 2; + description + "AP image predownload failed"; + } + enum ap-ev-pred-abort { + value 3; + description + "AP image predownload aborted"; + } + enum ap-ev-pred-complete { + value 4; + description + "AP image predownload complete"; + } + enum ap-ev-up-start { + value 5; + description + "Staggered AP upgrade process started"; + } + enum ap-ev-up-in-progress { + value 6; + description + "Staggered AP upgrade process is in progress"; + } + enum ap-ev-up-failed { + value 7; + description + "Staggered AP upgrade process failed"; + } + enum ap-ev-up-abort { + value 8; + description + "Staggered AP upgrade process was aborted"; + } + enum ap-ev-up-interrupted { + value 9; + description + "Staggered AP upgrade process was interrupted due to an SSO. The process should continue in some time."; + } + enum ap-ev-up-continued { + value 10; + description + "Staggered AP upgrade process restarted after the SSO."; + } + enum ap-ev-up-paused { + value 11; + description + "Staggered AP upgrade process is paused because the destination controller is no longer reachable."; + } + enum ap-ev-up-resumed { + value 12; + description + "Staggered AP upgrade is resumed after the destination controller is back up."; + } + enum ap-ev-up-stopped { + value 13; + description + "Staggered AP upgrade process was stopped as per configuration."; + } + enum ap-ev-up-complete { + value 14; + description + "Staggered AP upgrade process is complete"; + } + } + description + "AP upgrade event type"; + } + + grouping rogue-potential-honeypot { + description + "Potential honeypot event"; + leaf ssid { + type string; + description + "SSID name"; + } + leaf channel { + type uint32; + description + "Channel number"; + } + leaf is-dot1x { + type boolean; + description + "Indicates whether honeypot AP uses 802.1x authentication."; + } + leaf band-id { + type uint8; + description + "Radio Band ID"; + } + } + + grouping rogue-ap-impersonation { + description + "AP impersonation event"; + leaf impersonating-src-mac { + type yang:mac-address; + description + "Impersonating source MAC address"; + } + leaf is-beacon-ds { + type boolean; + description + "Impersonation attack is also a beacon DS attack"; + } + leaf channel { + type uint8; + description + "Channel where beacon DS attack is performed"; + } + leaf band-id { + type uint8; + description + "Radio Band ID"; + } + } + + grouping rogue-pmf-info { + description + "Info about rogue with PMF enabled"; + leaf is-client { + type boolean; + description + "Indicates whether rogue is client or AP."; + } + leaf pmf-client-mac { + when "(../is-client = 'true')"; + type yang:mac-address; + description + "MAC address of PMF client"; + } + } + + grouping ap-lrad { + description + "AP LRAD information"; + leaf name { + type string; + description + "AP name"; + } + leaf mac-address { + type yang:mac-address; + description + "AP MAC address"; + } + leaf slot-id { + type uint32; + description + "Slot ID"; + } + } + + grouping rogue-event { + description + "Rogue WSA event"; + container reporting-ap { + description + "AP reporting the event"; + uses wireless-event-oper:ap-lrad; + } + leaf rogue-mac-address { + type yang:mac-address; + description + "MAC of the rogue AP"; + } + choice event-type-choice { + description + "Type of event"; + case rogue-potential-honeypot-detected { + container potential-honeypot-detected { + description + "Potential honeypot detected event"; + uses wireless-event-oper:rogue-potential-honeypot; + } + } + case rogue-potential-honeypot-cleared { + container potential-honeypot-cleared { + description + "Potential honeypot cleared event"; + uses wireless-event-oper:rogue-potential-honeypot; + } + } + case rogue-ap-impersonation-detected { + container ap-impersonation-detected { + description + "AP impersonation detected event"; + uses wireless-event-oper:rogue-ap-impersonation; + } + } + case rogue-mfp-containment-detected { + container pmf-info-detected { + description + "PMF containment info (MAC address of Rogue client with PMF enabled)"; + uses wireless-event-oper:rogue-pmf-info; + } + } + } + } + + grouping st-threshold-warning-event { + description + "Threshold warning event."; + leaf event-type { + type wireless-event-oper:threshold-warning-event-type; + description + "Type of threshold warning event."; + } + leaf entry-count { + type uint32; + description + "Entry count at the moment the threshold has been reached."; + } + leaf configured-threshold { + type uint8; + units "percentage"; + description + "Value of the configured threshold."; + } + leaf threshold-reached-clear { + type boolean; + description + "Flag indicating whether threshold edge is positive or negative"; + } + leaf timestamp { + type yang:date-and-time; + description + "Timestamp when the event occurred."; + } + } + + grouping st-dhcp-ip-addr { + description + "List of DHCP server IP addresses"; + leaf server-ip { + type inet:ip-address; + description + "Server IP address"; + } + } + + grouping wsa-client-eventq-db-elem { + description + "Wireless client lifecycle events data model"; + leaf client-mac { + type yang:mac-address; + description + "Wireless Client's MAC Address"; + } + leaf wtp-mac { + type yang:mac-address; + description + "AP mac client is associated to"; + } + leaf state-transition-timestamp { + type yang:date-and-time; + description + "Timestamp indicating when a client transitioned into the present lifecycle event. Time elapsed since 00:00:00 UTC, Thursday, 1 January 1970"; + } + leaf audit-session-id { + type string; + description + "Audit session id of the session"; + } + leaf ssid { + type string; + description + "SSID client is associated to"; + } + leaf client-event { + type wsa-types:wsa-client-events; + description + "Wireless client event type, indicating the phase a client is in its lifecycle"; + } + leaf client-event-result { + type wsa-types:wsa-client-event-result; + description + "Wireless client event status, indicating a failure or success in client lifecycle"; + } + leaf vlan-id { + type uint32; + description + "Wireless Client layer 2 vlan id"; + } + leaf client-vnid { + type uint32; + description + "Fabric client's Virtual Network ID. This information is valid only if client is a fabric client"; + } + leaf client-sgt { + type uint16; + description + "Fabric client's group tag. This information is valid only if client is a fabric client"; + } + leaf rssi { + type int8; + description + "Last updated Radio Signal Strength indicator, of a Wireless Client"; + } + leaf snr { + type uint8; + description + "Last updated Signal strength to noise ratio, of a Wireless Client"; + } + leaf ms-ap-slot-id { + type uint8; + description + "AP slot client is associated to"; + } + leaf mm-client-role { + type wireless-mobility-types:mm-client-role; + description + "Wireless Client's mobility role"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "Wireless Client's IPv4 address"; + } + leaf-list ipv6 { + type inet:ipv6-address; + max-elements 8; + ordered-by user; + description + "Wireless Client's IPv6 list of addresses"; + } + list dhcp-server-ip-addr { + description + "DHCP server IP the Wireless client has communicated with"; + uses wireless-event-oper:st-dhcp-ip-addr; + } + leaf aaa-server { + type inet:ip-address; + description + "AAA server IP the Wireless client has communicated with"; + } + leaf is-fabric-client { + type boolean; + description + "Indicates whether the client is a fabric client or not"; + } + } + + grouping wsa-client-eventq-db-elem-3p { + description + "Wireless client lifecycle third-party events data model enumeration"; + leaf client-event-reason { + type wsa-types:wsa-client-event-reason-3p; + description + "Wireless client event reason third-party, indicating what is happening with a client in its current lifecycle event"; + } + leaf client-event-reason-addon { + type wsa-types:wsa-client-event-reason-addon-3p; + description + "Wireless client event reason addon third-party, provides more information about the client_event_reason"; + } + } + + grouping ap-predownload-elem { + description + "Elements of AP predownload event asynchronous notifications"; + leaf upgrade-state { + type wireless-event-oper:ap-upgrade-state; + description + "State of the predownload event"; + } + leaf total-num-of-aps { + type uint32; + description + "Total number of APs selected for predownload"; + } + leaf num-of-aps-predownloaded { + type uint32; + description + "Number of APs which have completed predownload"; + } + leaf percentage-predownloaded { + type uint8; + units "percentage"; + description + "Percentage completion of predownload procedure"; + } + } + + grouping ap-upgrade-elem { + description + "Elements of Detailed AP upgrade event asynchronous notifications"; + leaf upgrade-state { + type wireless-event-oper:ap-upgrade-state; + description + "AP upgrade State"; + } + leaf uuid { + type string; + description + "Netconf UUID of the request"; + } + leaf percentage-completed { + type uint8; + units "percentage"; + description + "Staggered AP upgrade progress percentage"; + } + leaf num-of-aps-upgraded { + type uint32; + description + "Number of APs upgraded so far"; + } + leaf aps-selected-for-upgd { + type uint32; + description + "Number of APs selected for upgrade process"; + } + leaf num-of-iterations { + type uint8; + description + "Predicted total number of iterations required"; + } + leaf current-iteration { + type int8; + description + "Current iteration number of the upgrade"; + } + leaf from-version { + type string; + description + "AP image version before upgrade process"; + } + leaf to-version { + type string; + description + "AP image version after upgrade process"; + } + leaf start-time { + type yang:date-and-time; + description + "Staggered AP upgrade process start time"; + } + leaf expected-end-time { + type yang:date-and-time; + description + "Expected time of completion of upgrade"; + } + } + + notification wsa-client-event { + description + "Wireless client operational events. Provides an event for each significant activity in the Wireless clients life cycle. It may generate high volume of data, depending on scale"; + uses wireless-event-oper:wsa-client-eventq-db-elem; + uses wireless-event-oper:wsa-client-eventq-db-elem-3p; + } + + notification rogue-events { + description + "Rogue WSA events. Provides an event for each significant activity of + rogue. It may generate high volume of data, depending on scale"; + uses wireless-event-oper:rogue-event; + } + + notification threshold-warning-event { + description + "Threshold warning manager events. Provides an event when the configured + threshold is crossed."; + uses wireless-event-oper:st-threshold-warning-event; + } + + notification ap-predownload-event { + description + "AP predownload Events. Provides summary of AP predownload events whenever + predownload task is being performed."; + uses wireless-event-oper:ap-predownload-elem; + } + + notification ap-upgrade-event { + description + "Staggered AP upgrade events. Provides details of AP events whenever + upgrade task is being performed."; + uses wireless-event-oper:ap-upgrade-elem; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fabric-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fabric-cfg.yang new file mode 100644 index 000000000..6439eed94 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fabric-cfg.yang @@ -0,0 +1,414 @@ +module Cisco-IOS-XE-wireless-fabric-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-fabric-cfg"; + prefix wireless-fabric-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing fabric mode configuration. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Add fabric control plane ip and fabric name network ip check"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2023-03-01 { + description + "Add fabric control plane description length check"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Add fabric control plane authentication key length check"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for fabric profile name, + - Support 32 character length for control plane and fabric profile name"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "Add constraints to allow only ASCII 32-126 in fabric profile name, fabric name and control plane name"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-12-15 { + description + "Modifying ordering of elements in fabric VNID config"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-03-08 { + description + "Add constraints to fabric profile and control plane"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-fabric-profile-encap-type { + type enumeration { + enum dont-use { + value 0; + description + "Not a Valid Type"; + } + enum fabric-encap-type-vxlan { + value 1; + description + "VXLAN Encapsulation Type for Fabric data path"; + } + } + description + "Enumeration of Encapsulation Types for Fabric Data Path"; + } + + grouping fabric { + description + "Fabric Profile details"; + leaf fabric-profile-name { + type string { + length "0..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Fabric Profile name"; + } + leaf description { + type string; + default ""; + description + "Fabric profile description"; + } + leaf encap-type { + type wireless-fabric-cfg:enm-fabric-profile-encap-type; + default "fabric-encap-type-vxlan"; + description + "Encapsulation type used in this profile"; + } + leaf sgt-tag { + type uint16 { + range "2 .. 65519"; + } + description + "Group tag associated with the fabric profile"; + } + leaf client-l2-vnid { + type uint32 { + range "0 .. 16777215"; + } + default "0"; + description + "Client Virtual Network ID"; + } + } + + grouping fabric-name-vnid { + description + "Fabric Name Identifier"; + leaf name { + type string { + length "0..32"; + pattern '[ -~]+'; + } + description + "Fabric name for AP Join and VNID override"; + } + leaf l2-vnid { + type uint32 { + range "0 .. 16777215"; + } + description + "VNID for Client subnet"; + } + leaf l3-vnid { + type uint32 { + range "0 .. 16777215"; + } + default "0"; + description + "VNID for AP Subnet"; + } + leaf netmask { + type inet:ip-address; + default "0.0.0.0"; + description + "Network mask of AP subnet"; + } + leaf network-ip { + type inet:ip-address; + must "../network-ip != '0.0.0.0'" { + error-message "Null IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "(../network-ip != '255.255.255.0') and (../network-ip != '255.255.0.0') and (../network-ip != '255.0.0.0')" { + error-message "Invalid IPv4 AP address provided"; + error-app-tag "must-violation"; + } + must "../network-ip != '255.255.255.255'" { + error-message "Broadcast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(../network-ip, '127.'))" { + error-message "Loopback IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(../network-ip, '224.')) and not(starts-with(../network-ip, '225.')) and not(starts-with(../network-ip, '226.')) and not(starts-with(../network-ip, '227.')) and not(starts-with(../network-ip, '228.')) and not(starts-with(../network-ip, '229.')) and not(starts-with(../network-ip, '230.')) and not(starts-with(../network-ip, '231.')) and not(starts-with(../network-ip, '232.')) and not(starts-with(../network-ip, '233.')) and not(starts-with(../network-ip, '234.')) and not(starts-with(../network-ip, '235.')) and not(starts-with(../network-ip, '236.')) and not(starts-with(../network-ip, '237.')) and not(starts-with(../network-ip, '238.')) and not(starts-with(../network-ip, '239.'))" { + error-message "Multicast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "../network-ip != '0::0'" { + error-message "Null IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "../network-ip != 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'" { + error-message "Subnet mask IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "../network-ip != '0::1'" { + error-message "Loopback IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../network-ip, 1, 4), 'fe80'))" { + error-message "Link-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../network-ip, 1, 4), 'fec0'))" { + error-message "Site-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../network-ip, 1, 4), 'ff00'))" { + error-message "Multicast IPv6 address is invalid"; + error-app-tag "must-violation"; + } + description + "IP address of AP Subnet"; + } + leaf control-plane-name { + type string { + pattern '[ -~]+'; + } + description + "Fabric Control Plane name"; + } + } + + grouping fabric-control-plane { + description + "Fabric Control Plane information"; + leaf control-plane-ip { + type inet:ip-address; + must "../control-plane-ip != '0.0.0.0'" { + error-message "Null IPv4 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "(../control-plane-ip != '255.255.255.0') and (../control-plane-ip != '255.255.0.0') and (../control-plane-ip != '255.0.0.0')" { + error-message "Invalid IPv4 control plane address provided"; + error-app-tag "must-violation"; + } + must "../control-plane-ip != '255.255.255.255'" { + error-message "Broadcast IPv4 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "not(starts-with(../control-plane-ip, '127.'))" { + error-message "Loopback IPv4 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "not(starts-with(../control-plane-ip, '224.')) and not(starts-with(../control-plane-ip, '225.')) and not(starts-with(../control-plane-ip, '226.')) and not(starts-with(../control-plane-ip, '227.')) and not(starts-with(../control-plane-ip, '228.')) and not(starts-with(../control-plane-ip, '229.')) and not(starts-with(../control-plane-ip, '230.')) and not(starts-with(../control-plane-ip, '231.')) and not(starts-with(../control-plane-ip, '232.')) and not(starts-with(../control-plane-ip, '233.')) and not(starts-with(../control-plane-ip, '234.')) and not(starts-with(../control-plane-ip, '235.')) and not(starts-with(../control-plane-ip, '236.')) and not(starts-with(../control-plane-ip, '237.')) and not(starts-with(../control-plane-ip, '238.')) and not(starts-with(../control-plane-ip, '239.'))" { + error-message "Multicast IPv4 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "../control-plane-ip != '0::0'" { + error-message "Null IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "../control-plane-ip != 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'" { + error-message "Subnet mask IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "../control-plane-ip != '0::1'" { + error-message "Loopback IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../control-plane-ip, 1, 4), 'fe80'))" { + error-message "Link-local IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../control-plane-ip, 1, 4), 'fec0'))" { + error-message "Site-local IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../control-plane-ip, 1, 4), 'ff00'))" { + error-message "Multicast IPv6 address is invalid for control plane address"; + error-app-tag "must-violation"; + } + description + "IP address of the Control Plane"; + } + leaf psk-key { + type string; + must "((../psk-key-type = 'clear') and (string-length(../psk-key) >= 1) and (string-length(../psk-key) <= 64)) or ((../psk-key-type != 'clear') and (string-length(../psk-key) <= 227))" { + error-message "ASCII PSK must be in the range of 1-64 characters and non-ASCII PSK must not exceed 227 characters"; + error-app-tag "must-violation"; + } + default ""; + description + "PSK associated with the Control Plane entity"; + } + leaf psk-key-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "PSK type for the Control Plane"; + } + } + + grouping fabric-control-plane-name { + description + "Fabric Control Plane Name Configuration"; + leaf control-plane-name { + type string { + length "0..32"; + pattern '[ -~]+'; + } + description + "Fabric Control plane name"; + } + leaf description { + type string; + must '(string-length(../description) <= 64)' { + error-message "Description should not exceed 64 characters"; + error-app-tag "must-violation"; + } + description + "Fabric Control plane description"; + } + container fabric-control-plane-ip-configs { + description + "Fabric Control Plane Configuration"; + list fabric-control-plane-ip-config { + key "control-plane-ip"; + max-elements 2; + description + "List of Fabric Control Plane Configuration objects"; + uses wireless-fabric-cfg:fabric-control-plane; + } + } + } + + grouping fabric-cfg { + description + "Global Fabric Configuration"; + leaf fabric-enabled { + type boolean; + default "false"; + description + "Global Fabric Enable"; + } + container fabric-name-vnid-entries { + description + "Global VNID Name Configuration"; + list fabric-name-vnid-entry { + key "name"; + unique "l2-vnid"; + description + "Global VNID Name Configuration"; + uses wireless-fabric-cfg:fabric-name-vnid { + refine "l2-vnid" { + mandatory true; + } + } + } + } + } + + container fabric-cfg-data { + description + "SDA Wireless Configuration Data"; + container fabric-profiles { + description + "Fabric Profiles"; + list fabric-profile { + key "fabric-profile-name"; + max-elements 1024; + description + "List of Fabric Profiles"; + uses wireless-fabric-cfg:fabric; + } + } + container fabric { + presence "fabric"; + description + "Fabric Specific configuration"; + uses wireless-fabric-cfg:fabric-cfg; + } + container fabric-controlplane-names { + description + "Fabric Control Plane Name configuration"; + list fabric-controlplane-name { + key "control-plane-name"; + max-elements 16; + description + "List of Fabric Control Plane Name configuration objects"; + uses wireless-fabric-cfg:fabric-control-plane-name; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-flex-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-flex-cfg.yang new file mode 100644 index 000000000..d6ffd2b02 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-flex-cfg.yang @@ -0,0 +1,766 @@ +module Cisco-IOS-XE-wireless-flex-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-flex-cfg"; + prefix wireless-flex-cfg; + + import Cisco-IOS-XE-wireless-apf-cfg { + prefix wireless-apf-cfg; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing flex configurations + Copyright (c) 2016-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Deprecate proxy config under flex profile"; + reference + "9.3.0"; + cisco-semver:module-version "9.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "9.2.0"; + cisco-semver:module-version "9.2.0"; + } + revision 2021-11-01 { + description + " Added ability to choose PMK distribution method"; + reference + "9.1.0"; + cisco-semver:module-version "9.1.0"; + } + revision 2021-07-01 { + description + "- Added flex local auth password constraints"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for flex profile name"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2020-11-01 { + description + "- Added DHCP broadcast configuration under flex profile"; + reference + "7.2.0"; + cisco-semver:module-version "7.2.0"; + } + revision 2020-07-01 { + description + "- Added mDNS flex profile name configuration + - Added ingress and egress ACL for vlan-acl mapping under flex profile + - Added IP overlap configuration + - Deprecated acl-name under client VLAN (use acl-name-in/acl-name-out) + - Added ACL constraints (vlan-acl mappings under flex profile)"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2020-03-01 { + description + "- Added a constraint on leaf vlan-id + - Added validation to disallow IPv4/IPv6 default ACLs"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-11-01 { + description + "- Added Radius server group name for accounting + - Added umbrella-profile under flex profile + - Marked VLAN-ACLs obsolete"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-02-12 { + description + "Removed Unsupported multicast overridden-interface from flex profile"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2019-02-11 { + description + "- Removed unused RLAN related leaves + - Changed range constraint and default value of native-vlan-id + - Restrict password type options available for local user under FLEX profile + - Semantical and default value cleanup and + moved RLAN configuration related entries to new config model + - Change type of boolean leafs of security parameters to empty + - Leaf rename: is-punt to is-cwa."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-06-05 { + description + "- Add constraints + - Password encryption type configuration"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-03-08 { + description + "Add remote LAN configuration"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-ip-overlap { + description + "Configuration of IP overlap support for site"; + leaf flex-overlap-ip-enable { + type boolean; + default "false"; + description + "Enable IP overlap support for site"; + } + } + + grouping vlan-acl-list { + description + "Configuration of vlan-acl mappings for REAPs"; + leaf vlan-id { + type uint32; + description + "VLAN ID to be mapped to the ACL for the REAP group"; + } + leaf ingress-acl-name { + type string; + default ""; + description + "Name of the ingress Access Control List for the vlan-acl mapping"; + } + leaf egress-acl-name { + type string; + default ""; + description + "Name of the egress Access Control List for the vlan-acl mapping"; + } + } + + grouping local-auth-user-list { + description + "Local authenticated user list"; + leaf user-name { + type string; + description + "User name for this group, used for authenticating a client associated to an AP within the group"; + } + leaf password { + type string; + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not((contains(current(), 'cisco')) or (contains(current(), 'c!sco')) or + (contains(current(), 'ci$co')) or (contains(current(), 'c1$co')) or + (contains(current(), 'c1sco')) or (contains(current(), 'c!$co')) or + (contains(current(), 'Cisco')) or (contains(current(), 'C!sco')) or + (contains(current(), 'Ci$co')) or (contains(current(), 'C1$co')) or + (contains(current(), 'C1sco')) or (contains(current(), 'C!$co')) or + (contains(current(), 'CISCO')) or (contains(current(), 'C1SCO')) or + (contains(current(), 'C!SCO')) or (contains(current(), 'C!$CO')) or + (contains(current(), 'CISC0')) or (contains(current(), 'cisc0')) or + (contains(current(), 'Cisc0')) or (contains(current(), 'c!$c0')) or + (contains(current(), 'C!$c0')) or (contains(current(), 'C1$c0')) or + (contains(current(), 'c1$c0')) or (contains(current(), 'C1sc0')) or + (contains(current(), 'c1sc0')) or (contains(current(), 'ciscO')) or + (contains(current(), 'CiscO')) or (contains(current(), 'c1scO')) or + (contains(current(), 'c!scO')) or (contains(current(), 'c1$cO')) or + (contains(current(), 'C1scO')) or (contains(current(), 'c!$cO')) or + (contains(current(), 'ci$cO')) or (contains(current(), 'C!scO')))))" { + error-message "Flex local auth password should not contain default password e.g., cisco, Cisco, c!sco, ci$co, c!sco"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not( + (contains(current(), 'ocsic')) or (contains(current(), 'ocs!c')) or + (contains(current(), 'oc$ic')) or (contains(current(), 'oc$1c')) or + (contains(current(), 'ocs1c')) or (contains(current(), 'oc$!c')) or + (contains(current(), 'ocsiC')) or (contains(current(), 'ocs!C')) or + (contains(current(), 'oc$iC')) or (contains(current(), 'oc$1C')) or + (contains(current(), 'ocs1C')) or (contains(current(), 'oc$!C')) or + (contains(current(), 'OCSIC')) or (contains(current(), 'OCS1C')) or + (contains(current(), 'OCS!C')) or (contains(current(), 'OC$!C')) or + (contains(current(), '0CSIC')) or (contains(current(), '0csic')) or + (contains(current(), '0csiC')) or (contains(current(), '0c$!c')) or + (contains(current(), '0c$!C')) or (contains(current(), '0c$1C')) or + (contains(current(), '0c$1c')) or (contains(current(), '0cs1C')) or + (contains(current(), '0cs1c')) or (contains(current(), 'Ocs1c')) or + (contains(current(), 'Oc$1C')) or (contains(current(), 'Ocsic')) or + (contains(current(), 'Ocs!c')) or (contains(current(), 'Oc$iC')) or + (contains(current(), 'OcsiC')) or (contains(current(), 'Oc$!C')))))" { + error-message "Flex local auth password should not contain reverse default password e.g., ocsic, oc$ic"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (contains(current(), 'a')) or (contains(current(), 'b')) or + (contains(current(), 'c')) or (contains(current(), 'd')) or + (contains(current(), 'e')) or (contains(current(), 'f')) or + (contains(current(), 'g')) or (contains(current(), 'h')) or + (contains(current(), 'i')) or (contains(current(), 'j')) or + (contains(current(), 'k')) or (contains(current(), 'l')) or + (contains(current(), 'm')) or (contains(current(), 'n')) or + (contains(current(), 'o')) or (contains(current(), 'p')) or + (contains(current(), 'q')) or (contains(current(), 'r')) or + (contains(current(), 's')) or (contains(current(), 't')) or + (contains(current(), 'u')) or (contains(current(), 'v')) or + (contains(current(), 'w')) or (contains(current(), 'x')) or + (contains(current(), 'y')) or (contains(current(), 'z')))" { + error-message "Flex local auth password must contain at least one lower case letter"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (contains(current(), 'A')) or (contains(current(), 'B')) or + (contains(current(), 'C')) or (contains(current(), 'D')) or + (contains(current(), 'E')) or (contains(current(), 'F')) or + (contains(current(), 'G')) or (contains(current(), 'H')) or + (contains(current(), 'I')) or (contains(current(), 'J')) or + (contains(current(), 'K')) or (contains(current(), 'L')) or + (contains(current(), 'M')) or (contains(current(), 'N')) or + (contains(current(), 'O')) or (contains(current(), 'P')) or + (contains(current(), 'Q')) or (contains(current(), 'R')) or + (contains(current(), 'S')) or (contains(current(), 'T')) or + (contains(current(), 'U')) or (contains(current(), 'V')) or + (contains(current(), 'W')) or (contains(current(), 'X')) or + (contains(current(), 'Y')) or (contains(current(), 'Z')))" { + error-message "Flex local auth password must contain at least one upper case letter"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (contains(current(), '0')) or (contains(current(), '1')) or + (contains(current(), '2')) or (contains(current(), '3')) or + (contains(current(), '4')) or (contains(current(), '5')) or + (contains(current(), '6')) or (contains(current(), '7')) or + (contains(current(), '8')) or (contains(current(), '9')))" { + error-message "Flex local auth password must contain at least one digit"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not( + (contains(current(), 'aaa')) or (contains(current(), 'AAA')) or + (contains(current(), 'bbb')) or (contains(current(), 'BBB')) or + (contains(current(), 'ccc')) or (contains(current(), 'CCC')) or + (contains(current(), 'ddd')) or (contains(current(), 'DDD')) or + (contains(current(), 'eee')) or (contains(current(), 'EEE')) or + (contains(current(), 'fff')) or (contains(current(), 'FFF')) or + (contains(current(), 'ggg')) or (contains(current(), 'GGG')) or + (contains(current(), 'hhh')) or (contains(current(), 'HHH')) or + (contains(current(), 'iii')) or (contains(current(), 'III')) or + (contains(current(), 'jjj')) or (contains(current(), 'JJJ')) or + (contains(current(), 'kkk')) or (contains(current(), 'KKK')) or + (contains(current(), 'lll')) or (contains(current(), 'LLL')) or + (contains(current(), 'mmm')) or (contains(current(), 'MMM')) or + (contains(current(), 'nnn')) or (contains(current(), 'NNN')) or + (contains(current(), 'ooo')) or (contains(current(), 'OOO')) or + (contains(current(), 'ppp')) or (contains(current(), 'PPP')) or + (contains(current(), 'qqq')) or (contains(current(), 'QQQ')) or + (contains(current(), 'rrr')) or (contains(current(), 'RRR')) or + (contains(current(), 'sss')) or (contains(current(), 'SSS')) or + (contains(current(), 'ttt')) or (contains(current(), 'TTT')) or + (contains(current(), 'uuu')) or (contains(current(), 'UUU')) or + (contains(current(), 'vvv')) or (contains(current(), 'VVV')) or + (contains(current(), 'www')) or (contains(current(), 'WWW')) or + (contains(current(), 'xxx')) or (contains(current(), 'XXX')) or + (contains(current(), 'yyy')) or (contains(current(), 'YYY')) or + (contains(current(), 'zzz')) or (contains(current(), 'ZZZ')))))" { + error-message "Flex local auth password should not contain more than two repetitions of characters"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not((contains(current(), 'abc')) or (contains(current(), 'ABC')) or + (contains(current(), 'bcd')) or (contains(current(), 'BCD')) or + (contains(current(), 'cde')) or (contains(current(), 'CDE')) or + (contains(current(), 'def')) or (contains(current(), 'DEF')) or + (contains(current(), 'efg')) or (contains(current(), 'EFG')) or + (contains(current(), 'fgh')) or (contains(current(), 'FGH')) or + (contains(current(), 'ghi')) or (contains(current(), 'GHI')) or + (contains(current(), 'hij')) or (contains(current(), 'HIJ')) or + (contains(current(), 'ijk')) or (contains(current(), 'IJK')) or + (contains(current(), 'jkl')) or (contains(current(), 'JKL')) or + (contains(current(), 'klm')) or (contains(current(), 'KLM')) or + (contains(current(), 'lmn')) or (contains(current(), 'LMN')) or + (contains(current(), 'mno')) or (contains(current(), 'MNO')) or + (contains(current(), 'nop')) or (contains(current(), 'NOP')) or + (contains(current(), 'opq')) or (contains(current(), 'OPQ')) or + (contains(current(), 'pqr')) or (contains(current(), 'PQR')) or + (contains(current(), 'qrs')) or (contains(current(), 'QRS')) or + (contains(current(), 'rst')) or (contains(current(), 'RST')) or + (contains(current(), 'stu')) or (contains(current(), 'STU')) or + (contains(current(), 'tuv')) or (contains(current(), 'TUV')) or + (contains(current(), 'uvw')) or (contains(current(), 'UVW')) or + (contains(current(), 'vwx')) or (contains(current(), 'VWX')) or + (contains(current(), 'wxy')) or (contains(current(), 'WXY')) or + (contains(current(), 'xyz')) or (contains(current(), 'XYZ')))))" { + error-message "Flex local auth password should not contain sequential characters"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not((contains(current(), '000')) or (contains(current(), '111')) or + (contains(current(), '222')) or (contains(current(), '333')) or + (contains(current(), '444')) or (contains(current(), '555')) or + (contains(current(), '666')) or (contains(current(), '777')) or + (contains(current(), '888')) or (contains(current(), '999')))))" { + error-message "Flex local auth password should not contain more than two repetitions of digits"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (not((contains(current(), '012')) or (contains(current(), '123')) or + (contains(current(), '234')) or (contains(current(), '345')) or + (contains(current(), '456')) or (contains(current(), '567')) or + (contains(current(), '678')) or (contains(current(), '789')))))" { + error-message "Flex local auth password should not contain sequential digits"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or + (/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:pwd-pol-def = 'false') or + (string-length(current()) >= 8))" { + error-message "Flex local auth password length should not be less than 8, when the flex local auth password type is clear text and wireless default password policy is enabled"; + error-app-tag "must-violation"; + } + must "((../password-type != 'clear') or (string-length(current()) <= 120))" { + error-message "Flex local auth password length should not exceed 120 chars, when the flex local auth password type is clear text"; + error-app-tag "must-violation"; + } + default ""; + description + "Password for the given username, to be used for authenticating a client associated to an AP within the group. Following criteria should be met if wireless password policy is configured. + - Default passwords (cisco, Cisco, C!sco, ci$co, ..) are not allowed. + - Reverse default passwords are not allowed. + - At least one lower case letter is mandatory. + - At least one upper case letter is mandatory. + - At least one digit is mandatory. + - Special characters are allowed, but not mandatory. + - More than two sequential chars or digits (e.g., abc, 123) are not allowed. + - More than two repeated chars or digits (e.g., 111, aaa) are not allowed. + - Minimum password length is 8. + Restriction: Flex local auth password of cleartext type must contain ASCII characters only. This rule is not implemented using constraints."; + } + leaf password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "Password type should be either clear text or AES encryption"; + error-app-tag "must-violation"; + } + default "clear"; + description + "Password encryption type for authentication by AP"; + } + } + + grouping policy-acl-list { + description + "Configuration of webpolicy Access Control List(ACL) mappings for REAP groups"; + leaf acl-name { + type string; + must "../acl-name != 'preauth_v4'" { + error-message "Default ACL preauth_v4 is not allowed"; + error-app-tag "must-violation"; + } + must "../acl-name != 'preauth_v6'" { + error-message "Default ACL preauth_v6 is not allowed"; + error-app-tag "must-violation"; + } + description + "Name of the webpolicy Access Control List(ACL) to be mapped to the REAP group"; + } + leaf is-cwa { + type boolean; + default "false"; + description + "Enable or Disable central webauth for this ACL."; + } + leaf urlfilterlist-name { + type string; + description + "Mapping of IPv4/IPv6 ACL name to url filter list this ACL."; + } + } + + grouping if-name-vlan-id-list { + description + "VLAN Name- ACL mappings to be configured for the REAP"; + leaf interface-name { + type string; + description + "VLAN name for the vlan-acl mapping."; + } + leaf vlan-id { + when "(../interface-name != '')"; + type uint32 { + range "1 .. 4096"; + } + default "1"; + description + "VLAN ID to be mapped to the ACL for the Access Point identified by VLAN name."; + } + leaf acl-name { + type string; + default ""; + status deprecated; + description + "Name of bidirectional Access Control List (ACL) for the VLAN-ACL mapping"; + } + leaf acl-name-in { + type string { + length "0..32"; + } + must 'string-length(current()) = 0 or string-length(../acl-name) = 0' { + error-message "Only one ACL per direction can be configured"; + error-app-tag "must-violation"; + } + must "current() != 'in' and current() != 'out'" { + error-message "Illegal ACL name. Keywords in and out are not allowed"; + error-app-tag "must-violation"; + } + description + "Name of ingress Access Control List (ACL) for the VLAN-ACL mapping"; + } + leaf acl-name-out { + type string { + length "0..32"; + } + must 'string-length(current()) = 0 or string-length(../acl-name) = 0' { + error-message "Only one ACL per direction can be configured"; + error-app-tag "must-violation"; + } + must "current() != 'in' and current() != 'out'" { + error-message "Illegal ACL name. Keywords in and out are not allowed"; + error-app-tag "must-violation"; + } + description + "Name of egress Access Control List(ACL) for the VLAN-ACL mapping"; + } + } + + grouping st-security-params { + description + "Flex policy security parameters"; + leaf is-peap { + type empty; + description + "Enable or Disable Protected Extensible Authentication Protocol(PEAP)"; + } + leaf is-leap { + type empty; + description + "Enable or Disable Lightweight Extensible Authentication Protocol(LEAP)"; + } + leaf is-eap { + type empty; + description + "Enable or Disable Extensible Authentication Protocol(EAP)"; + } + leaf is-tls { + type empty; + description + "Enable or Disable Transport Layer Security(TLS)"; + } + } + + grouping st-umbrella-profile-list { + description + "Configuration of umbrella profile under flex mode"; + leaf umbrella-name { + type string; + description + "Umbrella profile name"; + } + } + + grouping flex-policy-config { + description + "Encompasses the flex profile attributes"; + leaf policy-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Name of the flex profile"; + } + leaf description { + type string; + description + "Description for the flex profile"; + } + leaf eap-fast-profile-name { + type string; + description + "EAP fast profile used for local auth"; + } + leaf radius-server-group-name { + type string; + description + "Radius server group name for authentication"; + } + leaf fallback-radio-shut { + type boolean; + default "false"; + description + "Whether Fallback Radio Shut feature is enabled for the flexconnect Access Points connected to the Wireless LAN Controller"; + } + leaf arp-caching { + type boolean; + default "true"; + description + "Whether ARP cache feature is enabled for the flexconnect Access Points connected to the Wireless LAN Controller"; + } + leaf cts-inline-tagging { + type boolean; + default "false"; + description + "Whether CTS inline tagging feature is enabled for the flexconnect Access Points connected to the Wireless LAN Controller"; + } + leaf cts-rolebased-enforce { + type boolean; + default "false"; + description + "Whether CTS rolebased enforcement feature is enabled for flexconnect Access Points connected to the Wireless LAN Controller"; + } + leaf cts-profile-name { + type string; + default "default-sxp-profile"; + description + "CTS SXP profile name"; + } + leaf join-min-latency { + type boolean; + default "false"; + description + "REAP AP should join controller with smallest latency"; + } + leaf radius-enable { + type boolean; + default "true"; + description + "Enable or Disable RADIUS"; + } + leaf vlan-enable { + type boolean; + default "true"; + description + "Availability of Native VLAN configured on this REAP"; + } + leaf is-home-ap-enable { + type boolean; + default "false"; + description + "APs connected to this profile/group are used as Home APs"; + } + leaf is-radio-backhaul { + type boolean; + default "false"; + description + "Enable or Disable WLAN on backhaul radio"; + } + leaf is-resilient-mode { + type boolean; + default "false"; + description + "Enable or Disable Standalone mode support on a REAP AP."; + } + leaf efficient-ap-upgrade-enable { + type boolean; + default "true"; + description + "Efficient AP image upgrade is enabled"; + } + leaf http-proxy-ip { + type inet:ip-address; + default "0.0.0.0"; + status deprecated; + description + "HTTP proxy Ip address"; + } + container security { + description + "Flex policy security parameters"; + uses wireless-flex-cfg:st-security-params; + } + leaf native-vlan-id { + type uint32 { + range "1 .. 4094"; + } + default "1"; + description + "Native VLAN ID for the particular AP"; + } + leaf slave-max-retry-count { + type uint32; + default "0"; + description + "Maximum retries the slave has to undertake to start the download from the master in the HREAP group"; + } + leaf http-proxy-port { + type uint16 { + range "0 .. 65535"; + } + default "0"; + status deprecated; + description + "HTTP proxy port"; + } + container vlan-acls { + status obsolete; + description + "VLAN ACLs"; + list vlan-acl { + key "vlan-id"; + description + "List of VLAN ACLs"; + uses wireless-flex-cfg:vlan-acl-list; + } + } + container policy-acls { + description + "Policy ACLs"; + list policy-acl { + key "acl-name"; + description + "List of Policy ACLs"; + uses wireless-flex-cfg:policy-acl-list; + } + } + container local-auth-users { + description + "Local auth users"; + list local-auth-user { + key "user-name"; + description + "List of Local auth users"; + uses wireless-flex-cfg:local-auth-user-list; + } + } + container if-name-vlan-ids { + description + "Interface name VLAN IDs"; + list if-name-vlan-id { + key "interface-name"; + description + "Interface name VLAN ID list"; + uses wireless-flex-cfg:if-name-vlan-id-list; + } + } + leaf acct-radius-server-group-name { + type string { + length "1..32"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "Radius server group name for accounting"; + } + leaf is-local-roaming-enable { + type boolean; + default "false"; + description + "Enable or Disable distributed client data caching on AP for local roaming."; + } + container umbrella-profiles { + description + "Umbrella Profiles"; + list umbrella-profile { + key "umbrella-name"; + description + "List of umbrella profiles"; + uses wireless-flex-cfg:st-umbrella-profile-list; + } + } + leaf mdns-profile-name { + type string; + description + "mDNS flex profile name"; + } + container ip-overlap-cfg { + description + "IP overlap configuration"; + uses wireless-flex-cfg:st-ip-overlap; + } + leaf dhcp-bcast { + type boolean; + default "false"; + description + "DHCP broadcast for locally switched clients"; + } + leaf pmk-dist-method { + type wireless-enum-types:enum-ap-pmk-propagation-method; + description + "PMK distribution with APs"; + } + } + + container flex-cfg-data { + description + "Yang model for configuring site"; + container flex-policy-entries { + description + "Flex policy profile configuration"; + list flex-policy-entry { + key "policy-name"; + description + "Flex profile name mapped to the site tag"; + uses wireless-flex-cfg:flex-policy-config; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fqdn-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fqdn-cfg.yang new file mode 100644 index 000000000..0645da09f --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-fqdn-cfg.yang @@ -0,0 +1,199 @@ +module Cisco-IOS-XE-wireless-fqdn-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-fqdn-cfg"; + prefix wireless-fqdn-ios-cfg; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing fqdn configurations + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2021-03-01 { + description + "- Add special characters restriction for URL filter name"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2019-11-01 { + description + "Added enhanced FQDN ACL configuration support"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-08-20 { + description + "Data type changed for redirect-server ipv4 and redirect-server ipv6"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-01-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-fqdn-urllist { + description + "This structure stores the domain names for the corresponding url-filter list"; + leaf fqdn-url { + type string; + description + "Each entry represents a url domain name configured in the given url-filter list"; + } + } + + grouping st-fqdn-cfg { + description + "This structure stores the details for the url-filter list"; + leaf url-list-name { + type string { + pattern "[^#'%?+ ]+"; + } + description + "This is the name for url-filter name which will contain the url domain names"; + } + leaf action { + type wireless-types:ewlc-url-rule-type; + default "urllist-bl"; + description + "This is Action on the url-filter list which is boolean, may have blacklist or whitelist"; + } + leaf ipv4-redirect-server { + type inet:ipv4-address; + description + "This is the IPv4 address redirect server to redirect the user if trying to access any unauthorized domain"; + } + leaf ipv6-redirect-server { + type inet:ipv6-address; + description + "This is the IPv6 address redirect server to redirect the user if trying to access any unauthorized domain"; + } + leaf filter-type { + type wireless-types:ewlc-url-filter-type; + default "pre-auth-url-type"; + description + "This is the filter type for the given url-filter list which dictates if it has to be used as have post auth or pre auth filter"; + } + container fqdn-urllists { + description + "This object encompasses the url domain names configurations"; + list fqdn-urllist { + key "fqdn-url"; + description + "This object encompasses the url domain name configurations"; + uses wireless-fqdn-ios-cfg:st-fqdn-urllist; + } + } + } + + grouping st-fqdn-urllist-enhanced { + description + "Fully Qualified Domain Name and action applied in the wireless network"; + leaf fqdn-url { + type string; + description + "Fully Qualified Domain Name for which deny/permit action is applied in the wireless network"; + } + leaf action { + type wireless-types:ewlc-url-rule-type; + description + "Permit or Deny action that is applied for Fully Qualified Domain Name in the wireless network"; + } + leaf preference { + type uint16; + description + "Preference indicates the order of Fully Qualified Domain Names in the ACL list applied in the wireless network"; + } + } + + grouping st-fqdn-cfg-enhanced { + description + "Fully Qualified Domain Name ACL applied in wireless network"; + leaf url-list-name { + type string; + description + "Identifier name for the Fully Qualified Domain Name ACL that is applied in the wireless network"; + } + container fqdn-enhanced-urls { + description + "Fully Qualified Domain Names and actions applied in the wireless network"; + list fqdn-enhanced-url { + key "fqdn-url"; + unique "preference"; + description + "Fully Qualified Domain Name and action applied in the wireless network"; + uses wireless-fqdn-ios-cfg:st-fqdn-urllist-enhanced { + refine "preference" { + mandatory true; + } + } + } + } + } + + container fqdn-cfg-data { + description + "Top container for fqdn url-filter list config"; + container fqdn-configs { + description + "This object encompasses the url-filter lists configurations"; + list fqdn-config { + key "url-list-name"; + description + "This object encompasses the url-filter list configurations"; + uses wireless-fqdn-ios-cfg:st-fqdn-cfg; + } + } + container fqdn-enhanced-configs { + description + "Fully Qualified Domain Name ACLs applied in the wireless network"; + list fqdn-enhanced-config { + key "url-list-name"; + description + "Fully Qualified Domain Name ACL applied in the wireless network"; + uses wireless-fqdn-ios-cfg:st-fqdn-cfg-enhanced; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-cfg.yang new file mode 100644 index 000000000..2e2340067 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-cfg.yang @@ -0,0 +1,1192 @@ +module Cisco-IOS-XE-wireless-general-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-general-cfg"; + prefix wireless-general-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing misc WLC configurations + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added obsolete status for Cisco AP DNA token"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2023-07-01 { + description + "- Added AP location calendar-profile configuration + -Replaced calendar profile with boolean for ap geolocation global configuration"; + reference + "8.6.0"; + cisco-semver:module-version "8.6.0"; + } + revision 2023-03-01 { + description + "- Forwarding unknown NS and NA packets to wireless network + - Added AP upgrade client de-auth and TX power reduction configuration"; + reference + "8.5.0"; + cisco-semver:module-version "8.5.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "8.4.0"; + cisco-semver:module-version "8.4.0"; + } + revision 2022-07-01 { + description + "Added AP upgrade accounting and client-steering configuration"; + reference + "8.3.0"; + cisco-semver:module-version "8.3.0"; + } + revision 2021-11-01 { + description + "- Allow Cisco-DNA token and iCAP port configuration to coexist"; + reference + "8.2.0"; + cisco-semver:module-version "8.2.0"; + } + revision 2021-07-01 { + description + "- Added support for threshold warning + - Added option to enable wireless multicast link-local packets forwarding in downstream direction + - Added Adaptive WIPS syslog configuration + - Added EWC image download configuration"; + reference + "8.1.0"; + cisco-semver:module-version "8.1.0"; + } + revision 2021-03-01 { + description + "- Added support for AP certificate policy configurations + - Added support for DTLS ciphersuite priority + - Deprecated old DTLS ciphersuite configuration + - Relaxed must-constraint for feature-usage and EWC platform"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2020-11-01 { + description + "- Added AWIPS file download config + - Added support for Wireless Feature Usage monitoring configuration + - Allow network-assurance and Cisco-DNA GRPC to coexist + - Modified the error message for Cisco-DNA GRPC and ICAP Port Configuration"; + reference + "7.2.0"; + cisco-semver:module-version "7.2.0"; + } + revision 2020-07-01 { + description + "- Added Cisco-DNA gRPC token + - Added client IPv6 config parameters + - Added config validation for DTLS version and cipher-suite configurations + - Modified the error message for Cisco-DNA GRPC and WSA configurations + - Added config validation for Cisco-DNA GRPC and ICAP Port Configuration"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2020-03-01 { + description + "- Added support for client event config from AP + - Added support for management certificate and authorization configuration + - Added config validation for Cisco-DNA gRPC token and WSA enable + - Remove presence statement for wsa-config and ap-dna-global-config"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-11-01 { + description + "- Changed Mobility Express references to Embedded Wireless Controller. + - Added port for server port configuration + - Added support for IOx app hosting on APs + - Added support for Cisco DNA token configuration"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-09-20 { + description + "- Added obsolete status for Lawful Interception"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-09-05 { + description + "- Add support for Embedded Wireless Controller configuration. + - Default for public-ip-discovery changed to false. + - Added semantic version"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2019-02-08 { + description + "- Remove unused leaf test-ip-address from sim-l3-interface-cache-data + - Cleaned up spelling errors in descriptions. + - Added VRF to download DNAC certificate + - Add mobility discovery threshold under CAC config + - Add remove-presence annotation to NA certificate configuration + - Added constraints for WSA dataplane statistics + - Multicast related leaves name change + - Restrict password type options available for na server certificate + download + - Add MFP config container + - Corrected DTLS default configuration"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-08-16 { + description + "- Rename mcast/bcast to multicast/broadcast + - Add support for Lawful Interception. + - Rename icap-port to airsense-port"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-03-22 { + description + "Add container for AP upgrade"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping dtls-config { + description + "DTLS AP join configurations"; + leaf dtls-version { + type wireless-types:enm-dtls-version; + default "dtls-all"; + description + "DTLS version used for AP join"; + } + leaf dtls-ciphersuite { + type wireless-types:enm-ciphersuite; + default "tls-null-with-null-null"; + status deprecated; + description + "Configure DTLS ciphersuite"; + } + } + + grouping na-server-cert { + description + "Credentials of the tesseract server"; + leaf protocol { + type wireless-types:download-protocol; + default "protocol-none"; + description + "Protocol to be used for tesseract server"; + } + leaf server-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "Server IP of the tesseract server"; + } + leaf path { + type string; + default ""; + description + "Path where certificate is placed"; + } + leaf filename { + type string; + default ""; + description + "Filename of the certificate"; + } + leaf encrypted { + type boolean; + default "false"; + description + "Flag to enable or disable encryption"; + } + leaf username { + type string; + description + "Username to be used for tesseract server"; + } + leaf password { + type string; + default ""; + description + "Password to be used for tesseract server"; + } + leaf password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "Password type should be either clear text or AES encrypted"; + error-app-tag "must-violation"; + } + default "clear"; + description + "Password encrypted or in clear"; + } + leaf vrf { + type string { + length "0..32"; + } + description + "VRF name instance"; + } + } + + grouping wsa-config { + description + "WSA configuration"; + leaf enable { + type boolean; + default "false"; + description + "Flag to enable or disable WSA"; + } + leaf url { + type string; + default ""; + description + "URL for the WSA server"; + } + leaf token { + type string; + default ""; + description + "ID-token for the WSA server"; + } + leaf enable-dataplane-statistics { + type boolean; + default "false"; + description + "Flag to enable dataplane statistics"; + } + leaf interval-dataplane-statistics { + type uint16; + must "(../enable-dataplane-statistics = 'true' and ../interval-dataplane-statistics != 0) or (../enable-dataplane-statistics = 'false')" { + error-message "Dataplane statistics interval must be non-zero when dataplane statistics collection is enabled"; + error-app-tag "must-violation"; + } + default "0"; + description + "Interval for dataplane statistics collection"; + } + leaf icap-port { + type uint16; + default "0"; + description + "ICap port number"; + } + } + + grouping wsa-ap-client-event-cfg { + description + "Client event config from AP"; + leaf frequency { + type uint32; + must '(../frequency >= 5 and ../frequency <= 90)' { + error-message "Frequency must be in range of 5..90 seconds"; + error-app-tag "must-violation"; + } + default "30"; + description + "Frequency in seconds, at which events from AP are to be sent to WLC"; + } + } + + grouping ap-dna-global-config { + description + "Cisco DNA global configuration for access points"; + leaf token { + type string; + default ""; + status obsolete; + description + "This leaf is obsolete. Use clear-token leaf to set the Cisco DNA token"; + } + leaf token-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "Token encryption type should be either clear text or AES encryption"; + error-app-tag "must-violation"; + } + default "clear"; + status obsolete; + description + "This leaf is obsolete. Cisco DNA token type can be clear only"; + } + leaf clear-token { + type string; + default ""; + description + "Cisco DNA token"; + } + } + + grouping li-host-addr { + description + "Lawful-interception host configurations"; + leaf li-host-ip-address { + type inet:ip-address; + must "(../li-host-ip-address != '255.255.255.0') and (../li-host-ip-address != '255.255.0.0') and (../li-host-ip-address != '255.0.0.0')" { + error-message "Invalid IPv4 host address provided"; + error-app-tag "must-violation"; + } + must "../li-host-ip-address != '255.255.255.255'" { + error-message "Broadcast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(../li-host-ip-address, '127.'))" { + error-message "Loopback IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(../li-host-ip-address, '224.')) and not(starts-with(../li-host-ip-address, '225.')) and not(starts-with(../li-host-ip-address, '226.')) and not(starts-with(../li-host-ip-address, '227.')) and not(starts-with(../li-host-ip-address, '228.')) and not(starts-with(../li-host-ip-address, '229.')) and not(starts-with(../li-host-ip-address, '230.')) and not(starts-with(../li-host-ip-address, '231.')) and not(starts-with(../li-host-ip-address, '232.')) and not(starts-with(../li-host-ip-address, '233.')) and not(starts-with(../li-host-ip-address, '234.')) and not(starts-with(../li-host-ip-address, '235.')) and not(starts-with(../li-host-ip-address, '236.')) and not(starts-with(../li-host-ip-address, '237.')) and not(starts-with(../li-host-ip-address, '238.')) and not(starts-with(../li-host-ip-address, '239.'))" { + error-message "Multicast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../li-host-ip-address, 1, 4), 'fe80'))" { + error-message "Link-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../li-host-ip-address, 1, 4), 'fec0'))" { + error-message "Site-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(../li-host-ip-address, 1, 4), 'ff00'))" { + error-message "Multicast IPv6 address is invalid"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Lawful-interception server IP address"; + } + } + + grouping broadcast-vlan-config { + description + "Wireless Broadcast related configuration"; + leaf vlan-id { + type uint32 { + range "1 .. 4094"; + } + description + "Wireless Broadcast vlan Id"; + } + } + + grouping multicast-non-ip-vlan-config { + description + "Wireless non-IP multicast related configuration"; + leaf vlan-id { + type uint32 { + range "1 .. 4094"; + } + description + "Non-IP multicast vlan Id"; + } + } + + grouping ipv6-cfg { + description + "Wireless client IPv6 configurations"; + leaf na-fwd { + type boolean; + default "false"; + description + "Enable forwarding of unknown Neighbour Advertisement packets to wireless network"; + } + leaf disable-client-ipv6 { + type boolean; + default "false"; + description + "Disable IPv6 traffic for incoming wireless clients"; + } + leaf ns-fwd { + type boolean; + default "false"; + description + "Enable forwarding of unknown Neighbour Solicitation packets to wireless network"; + } + } + + grouping multicast-config { + description + "Broadcast/Multicast related configuration"; + leaf multicast-over-multicast-ipv4-addr { + type inet:ipv4-address; + default "0.0.0.0"; + description + "IPv4 Multicast group address for CAPWAP used by APs"; + } + leaf multicast-over-multicast-ipv6-addr { + type inet:ipv6-address; + default "0:0:0:0:0:0:0:0"; + description + "IPv6 Multicast group address for CAPWAP used by APs"; + } + leaf is-mcast-enabled { + type boolean; + default "false"; + description + "Multicast enable/disable"; + } + leaf is-non-ip-multicast-enabled { + type boolean; + default "false"; + description + "Non-ip multicast enable/disable"; + } + leaf is-mdns-enabled { + type boolean; + description + "Flag to enable or disable mdns"; + } + leaf multicast-mode { + type boolean; + default "false"; + description + "V4 Multicast over multicast enabled"; + } + leaf multicast-v6-mode { + type boolean; + default "false"; + description + "V6 Multicast over multicast enabled"; + } + leaf is-broadcast-enabled { + type boolean; + default "false"; + description + "Broadcast enable/disable"; + } + leaf linklocal-enabled { + type boolean; + default "true"; + description + "Link-local multicast frame forwarding enable/disable"; + } + } + + grouping exclusionlist-file-record { + description + "exclusive list record"; + leaf mac-addr { + type yang:mac-address; + description + "Mac address of the controller"; + } + leaf description { + type string; + default ""; + description + "Reason for exclusion"; + } + } + + grouping sim-l3-interface-cache-data { + description + "Object stores the wireless management interface details"; + leaf interface-name { + type string; + default ""; + description + "Wireless management interface name"; + } + leaf nat-ip-address { + type inet:ip-address; + default "0.0.0.0"; + description + "NAT IP Address"; + } + leaf nat-enable { + type boolean; + default "false"; + description + "NAT IP Address is enabled or disabled"; + } + leaf private-ip-discovery { + type boolean; + default "true"; + description + "Discovery Response from Private IP is enabled or disabled"; + } + leaf public-ip-discovery { + type boolean; + default "false"; + description + "Discovery Response from Public IP is enabled or disabled"; + } + } + + grouping capwap-global-lag-info { + description + "Object stores the lag info details"; + leaf enabled { + type boolean; + default "false"; + description + "Global lag status"; + } + } + + grouping st-global-mfp-cfg { + description + "MFP config related data"; + leaf global-mfp-state { + type boolean; + default "false"; + description + "Global MFP enabled status"; + } + leaf ap-impersonation-detection { + type boolean; + default "false"; + description + "AP impersonation detection status"; + } + leaf mfp-key-refresh-interval { + type uint8 { + range "1 .. 24"; + } + default "24"; + description + "Key refresh interval, in hours"; + } + } + + grouping cac-config { + description + "CAC Resources"; + leaf iplearnq-high-threshold { + type uint32 { + range "1000 .. 1600"; + } + default "1300"; + description + "High Threshold Value for IplearnQ"; + } + leaf aaa-high-threshold { + type uint32 { + range "300 .. 700"; + } + default "500"; + description + "High Threshold Value for AAA Outstanding request queue"; + } + leaf ipc-high-threshold { + type uint32 { + range "80 .. 95"; + } + must '../ipc-low-threshold < ../ipc-high-threshold' { + error-message "ipc-high-threshold must be greater than ipc-low-threshold"; + error-app-tag "must-violation"; + } + default "85"; + description + "High Threshold Value for IPC resources"; + } + leaf ipc-low-threshold { + type uint32 { + range "70 .. 80"; + } + default "75"; + description + "Low Threshold Value for IPC resources"; + } + leaf cpu-high-threshold { + type uint32 { + range "85 .. 95"; + } + default "90"; + description + "High Threshold Value for cpu resource"; + } + leaf mobility-discovery-threshold-high { + type uint32 { + range "80 .. 3000"; + } + default "400"; + description + "High Threshold Value for for allowed clients in mobility discovery"; + } + } + + grouping st-ap-policy-allow-mic-ap { + description + "Allow MIC AP policy"; + leaf allow-policy { + type boolean; + default "false"; + description + "Allow MIC AP policy status"; + } + leaf tp-name { + type string; + must " not((current() = 'CISCO_IDEVID_SUDI') or (current() = 'CISCO_IDEVID_SUDI_LEGACY')) " { + error-message "Default Cisco SUDI trustpoint name is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "Trustpoint name of WLC certificate chain used for MIC AP join"; + } + } + + grouping wlc-management-data { + description + "WLC global management config"; + leaf pki-trustpoint-name { + type string; + default ""; + description + "Wireless management trustpoint name"; + } + leaf ssc-auth-token { + type string; + default ""; + description + "SSC authorization token"; + } + leaf ssc-auth-token-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "SSC authorization token encryption type"; + } + container ssc-trust-hash-list { + description + "Trusted SSC fingerprint list"; + list ssc-trust-hash { + key "ssc-fingerprint"; + description + "Trusted SSC fingerprint"; + uses wireless-general-cfg:ssc-trust-hash; + } + } + container allow-mic-ap { + description + "Allow MIC AP policy configurations"; + uses wireless-general-cfg:st-ap-policy-allow-mic-ap; + } + } + + grouping ssc-trust-hash { + description + "Trusted SSC fingerprint"; + leaf ssc-fingerprint { + type string; + description + "Trusted SSC SHA1 fingerprint"; + } + } + + grouping st-ap-cert-policy-by-mac { + description + "AP certificate policy by APs MAC"; + leaf eth-mac { + type yang:mac-address; + description + "AP ethernet MAC"; + } + leaf policy-type { + type wireless-types:enm-ap-cert-policy; + description + "Policy type"; + } + } + + grouping st-ap-cert-policy-by-sn { + description + "AP certificate policy by APs serial number"; + leaf ta-serial-num { + type string { + length "11"; + pattern '[A-Z0-9]+'; + } + description + "AP top assembly serial number"; + } + leaf policy-type { + type wireless-types:enm-ap-cert-policy; + description + "Policy type by serial number"; + } + } + + grouping st-ap-upgrade-config { + description + "Staggered AP Upgrade Configurations"; + leaf percentage { + type wireless-types:enum-ewlc-ap-upgrade-config; + default "ap-staggered-upgrade-percent-15"; + description + "Percentage AP per iteration"; + } + leaf accounting-action { + type wireless-types:enum-ap-upgrade-accounting-action; + default "ap-upg-acc-action-none"; + description + "Select action to be taken when APs are missing during accounting"; + } + leaf accounting-percent { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + default "90"; + description + "Percent of APs that must join back during accounting"; + } + leaf client-steering { + type boolean; + default "true"; + description + "Forcefully steer clients away from AP when it is going for an upgrade"; + } + leaf iteration-expiry { + type uint8 { + range "9 .. 60"; + } + units "minutes"; + default "9"; + description + "Set the maximum time allowed per iteration for the APs to join back. After this expiry, specified accounting action will be taken"; + } + leaf client-deauth { + type boolean; + default "true"; + description + "De-authenticate clients connected to the AP going for an upgrade before AP reloads"; + } + leaf tx-power-reduction { + type boolean; + default "true"; + description + "Reduce radio transmission power of the AP when it is selected for upgrade"; + } + } + + grouping mewlc-config { + description + "Embedded Wireless Controller Configuration"; + leaf mewlc-platform { + type boolean; + default "false"; + description + "Embedded Wireless Controller Platform"; + } + leaf mewlc-vrrp-vrid { + when "(../mewlc-platform = 'true')"; + type uint8 { + range "1 .. 255"; + } + default "1"; + description + "Embedded Wireless Controller VRRP Virtual Router Identifier"; + } + leaf preferred-master-name { + when "(../mewlc-platform = 'true')"; + type string; + default ""; + description + "Preferred Master AP Name"; + } + leaf p-img-dwnld { + when "(../mewlc-platform = 'true')"; + type boolean; + default "false"; + description + "Download AP image in parallel on Image Master APs from external image server"; + } + } + + grouping feature-usage-config { + description + "Wireless feature usage configuration"; + leaf enable { + type boolean; + must "(current() = 'false') or (../../mewlc-config/mewlc-platform = 'false')" { + error-message "Wireless feature usage is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable wireless feature usage monitoring"; + } + } + + grouping st-awips-file-dwnld { + description + "Adaptive WIPS signature file download attributes"; + leaf url { + type string { + pattern "https://[\\]A-Za-z0-9!%&()+,\\-./:=^?@\\[']+"; + } + description + "URL information"; + } + leaf wlc-version { + type string; + description + "WLC version information"; + } + leaf max-file-ver { + type uint32; + description + "Maximum supported file version information"; + } + leaf file-version { + type uint32; + description + "File version information"; + } + leaf trustpoint { + type string; + description + "Trustpoint to be used"; + } + leaf file-sha256 { + type string; + description + "File SHA-256 hash value"; + } + } + + grouping st-awips-syslog-cfg { + description + "Adaptive WIPS syslog throttle attributes"; + leaf syslog-timeout { + type uint32 { + range "30 .. 600"; + } + units "seconds"; + default "60"; + description + "Throttle interval in seconds"; + } + } + + grouping st-geolocation-cfg { + description + "Wireless geolocation configuration"; + leaf enable-derivation { + type boolean; + must "(current() = 'false') or (../../mewlc-config/mewlc-platform = 'false')" { + error-message "Geolocation derivation not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "true"; + description + "Enable wireless geolocation derivation"; + } + } + + grouping dtls-ciphersuite-priority { + description + "DTLS cipher suite priority configuration"; + leaf priority { + type uint16 { + range "0 .. 6"; + } + description + "DTLS ciphersuite priority"; + } + leaf csuite { + type wireless-types:enm-ciphersuite; + must " (/general-cfg-data/fips-cfg/dtls-version != 'dtls-10' or ( ../csuite != 'tls-dhe-rsa-aes256-cbc-sha' and ../csuite != 'tls-dhe-rsa-aes256-cbc-sha256' and ../csuite != 'tls-ecdhe-ecdsa-aes128-gcm-sha256' and ../csuite != 'tls-ecdhe-ecdsa-aes256-gcm-sha384' and ../csuite != 'tls-ecdhe-rsa-aes128-gcm-sha256' and (../csuite = 'tls-rsa-aes128-cbc-sha' or ../csuite = 'tls-dhe-rsa-aes128-cbc-sha')))" { + error-message "Cipher suite is not compatible with DTLS version 1.0"; + error-app-tag "must-violation"; + } + must "../csuite != 'tls-null-with-null-null'" { + error-message "Invalid cipher suite"; + error-app-tag "must-violation"; + } + must "../csuite != 'tls-rsa-aes256-gcm-sha384'" { + error-message "Cipher suite is not yet supported"; + error-app-tag "must-violation"; + } + default "tls-null-with-null-null"; + description + "Configure DTLS ciphersuite"; + } + } + + grouping st-threshold-warn-cfg { + description + "Threshold warnings configuration"; + leaf threshold-warning { + type boolean; + default "true"; + description + "Enable or disable the threshold warning functionality"; + } + leaf clients-threshold { + type uint8 { + range "50 .. 100"; + } + units "percent"; + default "75"; + description + "Configure clients threshold"; + } + leaf warning-period { + type uint8 { + range "1 .. 60"; + } + units "minutes"; + default "5"; + description + "Configure warning check periodicity "; + } + } + + grouping st-ap-loc-ranging-cfg { + description + "Geolocation derivation global configuration"; + leaf derive-geolocation { + type boolean; + default "false"; + description + "Enable/disable geolocation derivation"; + } + } + + container general-cfg-data { + description + "General wireless configuration"; + container mewlc-config { + presence "mewlc-config"; + description + "Embedded Wireless Controller Configuration"; + uses wireless-general-cfg:mewlc-config; + } + container cac-config { + presence "cacconfig"; + description + "CAC Resources values configuration"; + uses wireless-general-cfg:cac-config; + } + container mfp { + presence "mfp"; + description + "MFP config"; + uses wireless-general-cfg:st-global-mfp-cfg; + } + container fips-cfg { + presence "fips-cfg"; + description + "DTLS for AP join configurations"; + uses wireless-general-cfg:dtls-config; + } + container awips-file-dwnld { + presence "awips-file-dwnld"; + description + "Adaptive WIPS signature file download configuration"; + uses wireless-general-cfg:st-awips-file-dwnld; + } + container awips-syslog-cfg { + presence "awips-syslog-cfg"; + description + "Adaptive WIPS syslog throttle interval configuration"; + uses wireless-general-cfg:st-awips-syslog-cfg; + } + container exclusion-list-file-records { + description + "Exclusion list records"; + list exclusion-list-file-record { + key "mac-addr"; + description + "exclusion list record"; + uses wireless-general-cfg:exclusionlist-file-record; + } + } + container wsa-config { + description + "WSA configuration"; + uses wireless-general-cfg:wsa-config; + } + container na-server-cert { + description + "tesseract server details"; + uses wireless-general-cfg:na-server-cert; + } + container wsa-ap-client-event { + presence "wsa-ap-client-event"; + description + "Client event config parameters for AP"; + uses wireless-general-cfg:wsa-ap-client-event-cfg; + } + container ap-dna-global-config { + description + "Cisco DNA global configuration for access points"; + uses wireless-general-cfg:ap-dna-global-config; + } + container ipv6-cfg { + description + "Wireless client IPv6 configurations"; + uses wireless-general-cfg:ipv6-cfg; + } + container sim-l3-interface-cache-data { + presence "simL3InterfaceCacheData-t"; + description + "wireless management interface data"; + uses wireless-general-cfg:sim-l3-interface-cache-data; + } + container wlc-management-data { + presence "mgmtData-t"; + description + "WLC management certificate and authorization configuration"; + uses wireless-general-cfg:wlc-management-data; + } + container ap-cert-policy-by-macs { + description + "AP certificate policy by MAC"; + list ap-cert-policy-by-mac { + key "eth-mac"; + description + "AP certificate policy by APs MAC"; + uses wireless-general-cfg:st-ap-cert-policy-by-mac; + } + } + container ap-cert-policy-by-sns { + description + "AP certificate policy by serial number"; + list ap-cert-policy-by-sn { + key "ta-serial-num"; + description + "AP certificate policy by APs serial number"; + uses wireless-general-cfg:st-ap-cert-policy-by-sn; + } + } + container laginfo { + presence "laginfo"; + description + "AP lag info"; + uses wireless-general-cfg:capwap-global-lag-info; + } + container multicast-config { + presence "bcastCfg"; + description + "Broadcast/Multicast config"; + uses wireless-general-cfg:multicast-config; + } + container multicast-non-ip-config { + description + "Non-IP Multicast configuration"; + list multicast-non-ip-vlan-config { + key "vlan-id"; + description + "Non-IP Multicast vlan configuration"; + uses wireless-general-cfg:multicast-non-ip-vlan-config; + } + } + container broadcast-config { + description + "Wireless Broadcast configuration"; + list broadcast-vlan-config { + key "vlan-id"; + description + "Wireless Broadcast vlan configuration"; + uses wireless-general-cfg:broadcast-vlan-config; + } + } + container ap-upgrade-config { + description + "AP Upgrade Configurations"; + uses wireless-general-cfg:st-ap-upgrade-config; + } + container li-global-config { + presence "li-global-config"; + status obsolete; + description + "LI server IP address configuration"; + uses wireless-general-cfg:li-host-addr; + } + container feature-usage-cfg { + presence "feature-usage-cfg"; + description + "Wireless feature usage monitoring configuration"; + uses wireless-general-cfg:feature-usage-config; + } + container ap-dtls-ciphersuites { + description + "DTLS cipher suite priority configuration"; + list ap-dtls-ciphersuite { + key "priority"; + description + "DTLS cipher suite priority order"; + uses wireless-general-cfg:dtls-ciphersuite-priority; + } + } + container threshold-warn-cfg { + presence "threshold-warn-cfg"; + description + "Threshold warnings configuration"; + uses wireless-general-cfg:st-threshold-warn-cfg; + } + container ap-loc-ranging-cfg { + presence "ap-loc-ranging-cfg"; + description + "Location calendar profile configuration"; + uses wireless-general-cfg:st-ap-loc-ranging-cfg; + } + container geolocation-cfg { + presence "geolocation-cfg"; + description + "Wireless geolocation configuration"; + uses wireless-general-cfg:st-geolocation-cfg; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-oper.yang new file mode 100644 index 000000000..a79192c02 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-general-oper.yang @@ -0,0 +1,276 @@ +module Cisco-IOS-XE-wireless-general-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-general-oper"; + prefix wireless-general-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for general operational data. + Copyright (c) 2017, 2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "- Add MFP stats container. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-09-04 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mfp-event-frames { + type bits { + bit mfp-frame-assoc-req { + position 0; + description + "Association request frame"; + } + bit mfp-frame-assoc-resp { + position 1; + description + "Association response frame"; + } + bit mfp-frame-reassoc-req { + position 2; + description + "Reassociation request frame"; + } + bit mfp-frame-reassoc-resp { + position 3; + description + "Reassociation response frame"; + } + bit mfp-frame-probe-req { + position 4; + description + "Probe request frame"; + } + bit mfp-frame-probe-resp { + position 5; + description + "Probe response frame"; + } + bit mfp-frame-reserved1 { + position 6; + description + "Reserved"; + } + bit mfp-frame-reserved2 { + position 7; + description + "Reserved"; + } + bit mfp-frame-beacon { + position 8; + description + "Beacon frame"; + } + bit mfp-frame-atim { + position 9; + description + "ATIM frame"; + } + bit mfp-frame-disassoc { + position 10; + description + "Disassociation frame"; + } + bit mfp-frame-auth { + position 11; + description + "Authentication frame"; + } + bit mfp-frame-deauth { + position 12; + description + "Deauthentication frame"; + } + bit mfp-frame-action { + position 13; + description + "Action frame"; + } + bit mfp-frame-aes-notify { + position 14; + description + "AES notify frame"; + } + } + description + "MFP event frame types"; + } + + grouping st-mfp-event { + description + "MFP event"; + leaf count { + type uint32; + description + "Number of occurrences of this event"; + } + leaf event { + type wireless-enum-types:mfp-event; + description + "Event name"; + } + leaf frames { + type wireless-general-oper:mfp-event-frames; + description + "List of frames seen with this event"; + } + } + + grouping st-mfp-stats { + description + "MFP stats data"; + leaf bssid { + type yang:mac-address; + description + "BSSID detected as anomalous"; + } + leaf wtp-mac { + type yang:mac-address; + description + "Last AP's mac which detected the anomaly"; + } + leaf last-src-mac-addr { + type yang:mac-address; + description + "Last source mac address"; + } + leaf ap-name { + type string; + description + "AP name"; + } + leaf slot-id { + type wireless-enum-types:slot-id-type; + description + "Slot number"; + } + leaf radio-type { + type wireless-enum-types:enm-radio-type; + description + "Radio type"; + } + leaf last-report-time { + type uint32; + description + "Last report time, seconds from system boot"; + } + list event { + max-elements 4; + description + "Event info"; + uses wireless-general-oper:st-mfp-event; + } + } + + grouping st-wlmgmt-ipv6 { + description + "Controller management interface IPv6 information"; + leaf addr { + type inet:ip-prefix; + description + "Controller management interface IPv6 prefix"; + } + } + + grouping st-wlmgmt-intf { + description + "Controller management interface information"; + leaf intf-name { + type string; + description + "Controller management interface name"; + } + leaf intf-type { + type string; + description + "Controller management interface type"; + } + leaf intf-id { + type uint32; + description + "Controller management interface id"; + } + leaf mgmt-ip { + type inet:ipv4-address; + description + "Controller management IPv4 address"; + } + leaf net-mask { + type inet:ipv4-address; + description + "Controller management interface netmask"; + } + leaf mgmt-mac { + type yang:mac-address; + description + "Controller management interface MAC"; + } + list interface-ipv6-list { + key "addr"; + description + "Controller management interface IPv6 information"; + uses wireless-general-oper:st-wlmgmt-ipv6; + } + } + + container general-oper-data { + config false; + description + "Controller general operational data"; + container mgmt-intf-data { + presence "mgmt-intf-data"; + description + "Controller wireless interface data"; + uses wireless-general-oper:st-wlmgmt-intf; + } + list mfp-stats { + key "bssid"; + description + "MFP stats"; + uses wireless-general-oper:st-mfp-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-oper.yang new file mode 100644 index 000000000..3d9f648c8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-oper.yang @@ -0,0 +1,55 @@ +module Cisco-IOS-XE-wireless-geolocation-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-geolocation-oper"; + prefix wireless-geolocation-oper; + + import Cisco-IOS-XE-wireless-geolocation-types { + prefix wireless-geolocation-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing geolocation information + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + container geolocation-oper-data { + config false; + description + "Wireless geolocation operational data model"; + list ap-geo-loc-data { + key "ap-mac"; + description + "AP geolocation data"; + uses wireless-geolocation-types:ap-geo-loc-data; + } + container ap-geo-loc-stats { + presence "ap-geo-loc-stats"; + description + "AP geolocation statistics"; + uses wireless-geolocation-types:ap-geo-loc-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-types.yang new file mode 100644 index 000000000..92be00dec --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-geolocation-types.yang @@ -0,0 +1,298 @@ +module Cisco-IOS-XE-wireless-geolocation-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-geolocation-types"; + prefix wireless-geolocation-types; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless AP geolocation data types. + Copyright (c) 2022-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add support for LLDP geolocation derivation"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2023-07-01 { + description + "- Added geolocation derivation data + - Added last run timestamp of the geolocation derivation algorithm"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef derivation-techniques-flag { + type bits { + bit derivation-technique-ndp { + position 0; + description + "Geolocation derivation based on NDP"; + } + bit derivation-technique-cdp { + position 1; + description + "Geolocation derivation based on CDP"; + } + bit derivation-technique-lldp { + position 2; + description + "Geolocation derivation based on LLDP"; + } + } + description + "List of techniques used for deriving geolocation"; + } + + grouping geo-loc-point { + description + "Wireless AP geolocation point"; + leaf longitude { + type decimal64 { + fraction-digits 6; + } + units "degree"; + description + "Geolocation longitude in WGS 84 format"; + } + leaf latitude { + type decimal64 { + fraction-digits 6; + } + units "degree"; + description + "Geolocation latitude in WGS 84 format"; + } + } + + grouping geo-loc-elevation-data { + description + "Wireless AP elevation data"; + leaf uncertainty { + type uint16; + units "meters"; + description + "Elevation uncertainty"; + } + leaf height { + type int16; + units "meters"; + description + "AP height"; + } + leaf source { + type wireless-enum-types:enm-ap-geolocation-height-source; + description + "Elevation source"; + } + } + + grouping geo-loc-elevation { + description + "Wireless AP elevation information"; + leaf last-rcvd-timestamp { + type yang:date-and-time; + description + "Last received height timestamp"; + } + choice geo-loc-height-type-choice { + description + "Type of elevation"; + case ap-height-agl { + container agl-data { + description + "Above Ground Level elevation information"; + uses wireless-geolocation-types:geo-loc-elevation-data; + } + } + case ap-height-msl { + container msl-data { + description + "Mean Sea Level elevation information"; + uses wireless-geolocation-types:geo-loc-elevation-data; + } + } + case ap-height-unknown { + leaf invalid { + type boolean; + description + "Invalid elevation information"; + } + } + } + } + + grouping geo-loc-ellipse { + description + "Wireless AP geolocation ellipse representation"; + container center { + description + "Center of the ellipse"; + uses wireless-geolocation-types:geo-loc-point; + } + leaf major-axis { + type uint16; + units "meters"; + description + "Major axis of the ellipse"; + } + leaf minor-axis { + type uint16; + units "meters"; + description + "Minor axis of the ellipse"; + } + leaf orientation { + type decimal64 { + fraction-digits 2; + } + units "degree"; + description + "Orientation of the ellipse measured clockwise from True North"; + } + } + + grouping geo-loc-info { + description + "Wireless AP geolocation information"; + leaf source { + type wireless-enum-types:enm-ap-geolocation-location-source; + description + "AP geolocation source"; + } + leaf area-of-uncertainty { + type uint32; + units "square meters"; + description + "AP geolocation area of uncertainty"; + } + leaf hdop { + type decimal64 { + fraction-digits 2; + } + description + "AP geolocation GPS Horizontal Dilution of Precision"; + } + leaf last-rcvd-timestamp { + type yang:date-and-time; + description + "Last received GPS coordinate timestamp"; + } + leaf anchor-ap { + type yang:mac-address; + description + "MAC address of anchor AP"; + } + leaf source-derived-geoloc { + type wireless-enum-types:enm-ap-geolocation-derived-source; + description + "Source of derived geolocation"; + } + leaf derivation-techniques { + type wireless-geolocation-types:derivation-techniques-flag; + description + "Techniques used for deriving geolocation"; + } + leaf derivation-distance { + type uint16; + units "meters"; + description + "Distance to Anchor AP"; + } + choice geo-loc-info-type-choice { + description + "AP geolocation type"; + case ap-geoloc-info-ellipse { + container ellipse { + description + "AP geolocation in ellipse format"; + uses wireless-geolocation-types:geo-loc-ellipse; + } + } + case ap-geoloc-info-unknown { + leaf invalid { + type boolean; + description + "AP invalid geolocation"; + } + } + } + } + + grouping ap-geo-loc-data { + description + "Wireless AP geolocation data"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + container loc { + description + "AP geolocation information"; + uses wireless-geolocation-types:geo-loc-info; + } + container elevation { + description + "AP elevation information"; + uses wireless-geolocation-types:geo-loc-elevation; + } + } + + grouping ap-geo-loc-stats { + description + "Wireless AP geolocation statistics"; + leaf num-ap-gnss { + type uint32; + description + "Number of APs with GNSS module"; + } + leaf num-ap-man-height { + type uint32; + description + "Number of APs with manual elevation configuration"; + } + leaf num-ap-derived { + type uint32; + description + "Number of APs with derived geolocation information"; + } + leaf last-derivation-timestamp { + type yang:date-and-time; + description + "Last run timestamp of the geolocation derivation algorithm"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hotspot-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hotspot-cfg.yang new file mode 100644 index 000000000..3072a42a7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hotspot-cfg.yang @@ -0,0 +1,1964 @@ +module Cisco-IOS-XE-wireless-hotspot-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-hotspot-cfg"; + prefix wireless-hotspot-cfg; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing WiFi Alliance Hotspot 2.0 and 802.11u configuration + Copyright (c) 2019-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2021-03-01 { + description + "- Added support for AAA operator name attribute"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2020-11-01 { + description + "- Added Hotspot flag to append AP MAC to URL in venue entry"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Added hierarchy for Hotspot 2.0 release 3. + - Added hierarchy for inner authentication method. + - Added obsolete status for inner EAP authentication parameter hierarchy."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-04-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enum-hotspot-venue-group-type { + type enumeration { + enum hs-unspecified-unspecified { + value 0; + description + "Unspecified venue type"; + } + enum hs-assembly-unspecified { + value 256; + description + "Assembly unspecified venue type"; + } + enum hs-assembly-arena { + value 257; + description + "Assembly arena venue type"; + } + enum hs-assembly-stadium { + value 258; + description + "Assembly stadium venue type"; + } + enum hs-assembly-terminal { + value 259; + description + "Assembly passenger terminal venue type"; + } + enum hs-assembly-amphitheater { + value 260; + description + "Assembly amphitheater venue type"; + } + enum hs-assembly-amusement-park { + value 261; + description + "Assembly amusement park venue type"; + } + enum hs-assembly-place-of-worship { + value 262; + description + "Assembly worship place venue type"; + } + enum hs-assembly-convention-center { + value 263; + description + "Assembly convention center venue type"; + } + enum hs-assembly-library { + value 264; + description + "Assembly library venue type"; + } + enum hs-assembly-museum { + value 265; + description + "Assembly museum venue type"; + } + enum hs-assembly-restaurant { + value 266; + description + "Assembly restaurant venue type"; + } + enum hs-assembly-theater { + value 267; + description + "Assembly theater venue type"; + } + enum hs-assembly-bar { + value 268; + description + "Assembly bar venue type"; + } + enum hs-assembly-coffee-shop { + value 269; + description + "Assembly coffee shop venue type"; + } + enum hs-assembly-zoo { + value 270; + description + "Assembly zoo aquarium venue type"; + } + enum hs-assembly-emergency-center { + value 271; + description + "Assembly emergency coordination center venue type"; + } + enum hs-business-unspecified { + value 512; + description + "Business unspecified venue type"; + } + enum hs-business-doctor { + value 513; + description + "Business doctor or dentist venue type"; + } + enum hs-business-bank { + value 514; + description + "Business bank venue type"; + } + enum hs-business-fire-station { + value 515; + description + "Business fire station venue type"; + } + enum hs-business-police-station { + value 516; + description + "Business police station venue type"; + } + enum hs-business-post-office { + value 518; + description + "Business post office venue type"; + } + enum hs-business-prof-office { + value 519; + description + "Business professional office venue type"; + } + enum hs-business-rd-facility { + value 520; + description + "Business rd facility venue type"; + } + enum hs-business-attorney { + value 521; + description + "Business attorney office venue type"; + } + enum hs-educational-unspecified { + value 768; + description + "Educational unspecified educational venue type"; + } + enum hs-educational-primary-school { + value 769; + description + "Educational school primary venue type"; + } + enum hs-educational-sec-school { + value 770; + description + "Educational school secondary venue type"; + } + enum hs-educational-university { + value 771; + description + "Educational university venue type"; + } + enum hs-industrial-unspecified { + value 1024; + description + "Industrial unspecified venue type"; + } + enum hs-industrial-factory { + value 1025; + description + "Industrial factory venue type"; + } + enum hs-institutional-unspecified { + value 1280; + description + "Institutional unspecified venue type"; + } + enum hs-institutional-hospital { + value 1281; + description + "Institutional hospital venue type"; + } + enum hs-institutional-long-term-care { + value 1282; + description + "Institutional long term care facility venue type"; + } + enum hs-institutional-drug-center { + value 1283; + description + "Institutional alcohol and drug rehab center venue type"; + } + enum hs-institutional-group-home { + value 1284; + description + "Institutional group home venue type"; + } + enum hs-institutional-jail { + value 1285; + description + "Institutional jail venue type"; + } + enum hs-mercantile-unspecified { + value 1536; + description + "Mercantile unspecified venue type"; + } + enum hs-mercantile-retail-store { + value 1537; + description + "Mercantile retail store venue type"; + } + enum hs-mercantile-grocery-market { + value 1538; + description + "Mercantile grocery market venue type"; + } + enum hs-mercantile-auto-station { + value 1539; + description + "Mercantile automotive service station venue type"; + } + enum hs-mercantile-shopping-mall { + value 1540; + description + "Mercantile shopping mall venue type"; + } + enum hs-mercantile-gas-station { + value 1541; + description + "Mercantile gas station venue type"; + } + enum hs-residential-unspecified { + value 1792; + description + "Residential unspecified venue type"; + } + enum hs-residential-private { + value 1793; + description + "Residential private residence venue type"; + } + enum hs-residential-hotel { + value 1794; + description + "Residential hotel venue type"; + } + enum hs-residential-dormitory { + value 1795; + description + "Residential dormitory venue type"; + } + enum hs-residential-boarding-house { + value 1796; + description + "Residential boarding house venue type"; + } + enum hs-storage-unspecified { + value 2048; + description + "Storage unspecified venue type"; + } + enum hs-utility-unspecified { + value 2304; + description + "Utility unspecified venue type"; + } + enum hs-vehicular-unspecified { + value 2560; + description + "Vehicular unspecified venue type"; + } + enum hs-vehicular-automobile-truck { + value 2561; + description + "Vehicular automobile truck venue type"; + } + enum hs-vehicular-airplane { + value 2562; + description + "Vehicular airplane venue type"; + } + enum hs-vehicular-bus { + value 2563; + description + "Vehicular bus venue type"; + } + enum hs-vehicular-ferry { + value 2564; + description + "Vehicular ferry venue type"; + } + enum hs-vehicular-boat { + value 2565; + description + "Vehicular boat venue type"; + } + enum hs-vehicular-train { + value 2566; + description + "Vehicular train venue type"; + } + enum hs-vehicular-motorbike { + value 2567; + description + "Vehicular motorbike venue type"; + } + enum hs-outdoor-unspecified { + value 2816; + description + "Outdoor unspecified venue type"; + } + enum hs-outdoor-muni-mesh { + value 2817; + description + "Outdoor muni mesh network venue type"; + } + enum hs-outdoor-city-park { + value 2818; + description + "Outdoor city park venue type"; + } + enum hs-outdoor-rest-area { + value 2819; + description + "Outdoor rest area venue type"; + } + enum hs-outdoor-traffic-control { + value 2820; + description + "Outdoor traffic control venue type"; + } + enum hs-outdoor-bus-stop { + value 2821; + description + "Outdoor bus stop venue type"; + } + enum hs-outdoor-kiosk { + value 2822; + description + "Outdoor kiosk venue type"; + } + } + description + "Venue type advertised in 802.11u WLAN beacon"; + } + + typedef enum-hotspot-network-type { + type enumeration { + enum hs-private-network { + value 0; + description + "Private network type"; + } + enum hs-guest-private-network { + value 1; + description + "Private guest network type"; + } + enum hs-chargeable-public-network { + value 2; + description + "Chargeable public network type"; + } + enum hs-free-public-network { + value 3; + description + "Free public network type"; + } + enum hs-personal-device-network { + value 4; + description + "Personal device network type"; + } + enum hs-emergency-network { + value 5; + description + "Emergency network type"; + } + enum hs-test-network { + value 14; + description + "Test network type"; + } + enum hs-wildcard-network { + value 15; + description + "Wild-card network type"; + } + } + description + "Type of network advertised in the 802.11u WLAN beacon"; + } + + typedef enum-hotspot-network-access { + type enumeration { + enum hs-internet-access-forbidden { + value 0; + description + "Internet access disabled"; + } + enum hs-internet-access-allowed { + value 1; + description + "Internet access allowed"; + } + } + description + "Ability to access internet in the 802.11u WLAN beacon"; + } + + typedef enum-hotspot-network-authentication-type { + type enumeration { + enum hs-terms-and-conditions { + value 0; + description + "Terms and Conditions to accept"; + } + enum hs-online-enrollment { + value 1; + description + "Online enrollment"; + } + enum hs-http-https-redirect { + value 2; + description + "HTTP/HTTPS redirection"; + } + enum hs-dns-redirect { + value 3; + description + "DNS Redirection"; + } + } + description + "Type of network authentication"; + } + + typedef enum-hotspot-ipv6-addr-type { + type enumeration { + enum hs-ipv6-addr-not-available { + value 0; + description + "IPv6 address type not available"; + } + enum hs-ipv6-addr-available { + value 1; + description + "IPv6 address type available"; + } + enum hs-ipv6-addr-not-known { + value 2; + description + "IPv6 address type availability not known"; + } + } + description + "Type of IPv6 address"; + } + + typedef enum-hotspot-ipv4-addr-type { + type enumeration { + enum hs-ipv4-addr-not-available { + value 0; + description + "IPv4 address type not available"; + } + enum hs-ipv4-addr-public { + value 1; + description + "Public IPv4 address available"; + } + enum hs-ipv4-addr-port-restricted { + value 2; + description + "Port-restricted IPv4 address available"; + } + enum hs-ipv4-addr-1-nated-private { + value 3; + description + "Single NATed private IPv4 address available"; + } + enum hs-ipv4-addr-2-nated-private { + value 4; + description + "Double NATed private IPv4 address available"; + } + enum hs-ipv4-addr-port-restr-1-nated { + value 5; + description + "Port-restricted IPv4 address and single NATed IPv4 address available"; + } + enum hs-ipv4-addr-port-restr-2-nated { + value 6; + description + "Port-restricted IPv4 address and double NATed IPv4 address available"; + } + enum hs-ipv4-addr-not-known { + value 7; + description + "IPv4 address type availability not known"; + } + } + description + "Type of IPv4 address"; + } + + typedef enum-hotspot-eap-method-type { + type enumeration { + enum hs-eap-reserved { + value 0; + description + "EAP reserved type"; + } + enum hs-eap-tls { + value 13; + description + "EAP TLS method type"; + } + enum hs-eap-leap { + value 17; + description + "EAP LEAP method type"; + } + enum hs-eap-sim { + value 18; + description + "EAP SIM method type"; + } + enum hs-eap-ttls { + value 21; + description + "EAP TTLS method type"; + } + enum hs-eap-aka { + value 23; + description + "EAP AKA method type"; + } + enum hs-eap-peap { + value 25; + description + "EAP PEAP method type"; + } + enum hs-eap-fast { + value 43; + description + "EAP FAST method type"; + } + } + description + "Type of Hotspot NAI Realm EAP Method"; + } + + typedef enum-hotspot-authentication-type { + type enumeration { + enum hs-non-eap-pap { + value 0; + description + "Non EAP PAP"; + } + enum hs-non-eap-chap { + value 1; + description + "Non EAP CHAP"; + } + enum hs-non-eap-mschap { + value 2; + description + "Non EAP MSCHAP"; + } + enum hs-non-eap-mschap-v2 { + value 3; + description + "Non EAP MSCHAP-v2"; + } + enum hs-inner-eap-tls { + value 4; + description + "EAP TLS"; + } + enum hs-inner-eap-leap { + value 5; + description + "EAP LEAP"; + } + enum hs-inner-eap-sim { + value 6; + description + "EAP SIM"; + } + enum hs-inner-eap-ttls { + value 7; + description + "EAP TTLS"; + } + enum hs-inner-eap-aka { + value 8; + description + "EAP AKA"; + } + enum hs-inner-eap-peap { + value 9; + description + "EAP PEAP"; + } + enum hs-inner-eap-fast { + value 10; + description + "EAP FAST"; + } + enum hs-cred-sim { + value 11; + description + "SIM credential"; + } + enum hs-cred-usim { + value 12; + description + "USIM credential"; + } + enum hs-cred-nfc { + value 13; + description + "NFC credential"; + } + enum hs-cred-hw-token { + value 14; + description + "Hardware token credential"; + } + enum hs-cred-softoken { + value 15; + description + "Softoken credential"; + } + enum hs-cred-certificate { + value 16; + description + "Certificate credential"; + } + enum hs-cred-user-password { + value 17; + description + "Username and password credential"; + } + enum hs-cred-none { + value 18; + description + "No credentials"; + } + enum hs-tunn-eap-cred-sim { + value 19; + description + "SIM tunneled EAP credential"; + } + enum hs-tunn-eap-cred-usim { + value 20; + description + "USIM tunneled EAP credential"; + } + enum hs-tunn-eap-cred-nfc { + value 21; + description + "NFC tunneled EAP credential"; + } + enum hs-tunn-eap-cred-hw-token { + value 22; + description + "Hardware token tunneled EAP credential"; + } + enum hs-tunn-eap-cred-softoken { + value 23; + description + "Softoken tunneled EAP credential"; + } + enum hs-tunn-eap-cred-certificate { + value 24; + description + "Certificate tunneled EAP credential"; + } + enum hs-tunn-eap-cred-user-pass { + value 25; + description + "Username and password tunneled EAP credential"; + } + enum hs-tunn-eap-cred-anonymous { + value 26; + description + "Anonymous tunneled EAP credential"; + } + } + description + "Authentication Type"; + } + + typedef enum-hotspot-authentication-param-type { + type enumeration { + enum hs-inner-auth-non-eap { + value 2; + description + "Non-EAP Inner Authentication"; + } + enum hs-inner-auth-eap { + value 3; + description + "Inner Authentication"; + } + enum hs-credential { + value 5; + description + "Credential Authentication"; + } + enum hs-tunneled-eap-credential { + value 6; + description + "Tunneled-Credential Authentication"; + } + } + description + "Type of EAP method authentication parameter"; + } + + typedef enum-hotspot-non-eap-inner-auth-type { + type enumeration { + enum hs-non-eap-reserved { + value 0; + description + "Reserved non EAP method"; + } + enum hs-pap { + value 1; + description + "Non EAP PAP"; + } + enum hs-chap { + value 2; + description + "Non EAP CHAP"; + } + enum hs-mschap { + value 3; + description + "Non EAP MSCHAP"; + } + enum hs-mschap-v2 { + value 4; + description + "Non EAP MSCHAP-V2"; + } + } + description + "Non-EAP Inner Authentication Type"; + } + + typedef enum-hotspot-credential-type { + type enumeration { + enum hs-credential-reserved { + value 0; + description + "Reserved credential"; + } + enum hs-credential-sim { + value 1; + description + "Credential SIM"; + } + enum hs-credential-usim { + value 2; + description + "Credential USIM"; + } + enum hs-credential-nfc { + value 3; + description + "Credential NFC"; + } + enum hs-credential-hw-token { + value 4; + description + "Credential Hardware Token"; + } + enum hs-credential-softoken { + value 5; + description + "Credential Softoken"; + } + enum hs-credential-certificate { + value 6; + description + "Credential Certificate"; + } + enum hs-credential-username-passwd { + value 7; + description + "Credential Username/Password"; + } + enum hs-credential-none { + value 8; + description + "Credential None"; + } + } + description + "Credential Authentication Type"; + } + + typedef enum-hotspot-tunneled-eap-credential-type { + type enumeration { + enum hs-tunnel-reserved { + value 0; + description + "Reserved Tunneled credential"; + } + enum hs-tunnel-sim { + value 1; + description + "Tunneled credential SIM"; + } + enum hs-tunnel-usim { + value 2; + description + "Tunneled credential USIM"; + } + enum hs-tunnel-nfc { + value 3; + description + "Tunneled credential NFC"; + } + enum hs-tunnel-hw-token { + value 4; + description + "Tunneled credential hardware token"; + } + enum hs-tunnel-softoken { + value 5; + description + "Tunneled credential softoken"; + } + enum hs-tunnel-certificate { + value 6; + description + "Tunneled credential certificate"; + } + enum hs-tunnel-username-password { + value 7; + description + "Credential username/password"; + } + enum hs-tunnel-anonymous { + value 9; + description + "Tunneled credential anonymous"; + } + } + description + "Tunneled Credential Authentication Type"; + } + + typedef enum-hotspot-link-status { + type enumeration { + enum hs-not-configured { + value 0; + description + "WAN link status is not configured"; + } + enum hs-up { + value 1; + description + "WAN link is UP"; + } + enum hs-down { + value 2; + description + "WAN link is DOWN"; + } + enum hs-test-state { + value 3; + description + "WAN link in test state"; + } + } + description + "Status of WAN link"; + } + + typedef enum-osu-method-type { + type enumeration { + enum hs-oma-dm { + value 0; + description + "OMA DM method"; + } + enum hs-soap-xml-spp { + value 1; + description + "SOAP/XML SPP method"; + } + enum hs-none { + value 255; + description + "No method configured"; + } + } + description + "OSU Method Type"; + } + + typedef enum-hotspot-connection-status-type { + type enumeration { + enum hs-closed { + value 0; + description + "Connection is CLOSED"; + } + enum hs-open { + value 1; + description + "Connection is OPEN"; + } + enum hs-unknown { + value 2; + description + "Connection is UNKNOWN"; + } + } + description + "Status of connection"; + } + + typedef enum-hotspot-advice-charge-type { + type enumeration { + enum hs-charge-time-based { + value 0; + description + "Advice of charge is time based"; + } + enum hs-charge-data-volume-based { + value 1; + description + "Advice of charge is data volume based"; + } + enum hs-charge-time-data-volume-based { + value 2; + description + "Advice of charge is time and data volume based"; + } + enum hs-charge-unlimited { + value 3; + description + "Advice of charge is unlimited"; + } + } + description + "Advice charge type"; + } + + grouping st-hotspot-venue-name { + description + "Hotspot 2.0 venue name configuration"; + leaf language { + type string { + length "2|3"; + pattern '[a-z]*'; + } + description + "Language code (2 or 3 characters) of this venue name"; + } + leaf name { + type string { + length "1..220"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "Name of the venue in the language specified by the 'language' attribute. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard."; + } + leaf url { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "URL of the venue (optional)"; + } + leaf add-ap-mac { + type empty; + description + "Append AP MAC to URL (optional)"; + } + } + + grouping st-hotspot-roaming-element { + description + "802.11u roaming configuration (Operator Identifiers)"; + leaf is-beacon { + type boolean; + description + "Indicates whether this roaming entry is included in the WLAN beacon (Maximum 3)"; + } + leaf roaming-element { + type string { + length "6|10"; + pattern '[0-9a-fA-F]*'; + } + description + "Hex-encoded (byte-string) roaming OI value"; + } + } + + grouping st-hotspot-network-auth-type { + description + "802.11u network authentication configuration returned to the wireless clients"; + leaf type { + type wireless-hotspot-cfg:enum-hotspot-network-authentication-type; + description + "Type of the network authentication"; + } + leaf url { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + must "string-length(current()) = 0 or ../type = 'hs-terms-and-conditions' or ../type = 'hs-http-https-redirect'" { + error-message "URL is only allowed for Terms & Conditions or HTTP/HTTPS redirection authentication type"; + error-app-tag "must-violation"; + } + description + "URL for Terms & Conditions or HTTP/HTTPS redirection authentication types"; + } + } + + grouping st-hotspot-domain-name { + description + "802.11u domain name configuration"; + leaf name { + type string { + length "1..220"; + pattern '[a-z0-9.-]+'; + } + description + "Name of the domain"; + } + leaf aaa-operator-name { + type boolean; + default "false"; + description + "Use this domain name as AAA operator name attribute"; + } + } + + grouping st-hotspot-osu-friendly-name { + description + "Hotspot 2.0 OSU friendly name configuration"; + leaf language { + type string { + length "2..3"; + pattern '[a-z]*'; + } + description + "Language of the OSU friendly name and service description if provided"; + } + leaf name { + type string { + length "1..220"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "OSU friendly name in the given language. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard."; + } + leaf description { + type string { + length "1..220"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "OSU service description in the given language. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard."; + } + } + + grouping st-hotspot-osu-method { + description + "Hotspot 2.0 OSU methods configuration"; + leaf primary-method-type { + type wireless-hotspot-cfg:enum-osu-method-type; + default "hs-none"; + description + "Primary method to use for this OSU"; + } + leaf secondary-method-type { + type wireless-hotspot-cfg:enum-osu-method-type; + must "../primary-method-type != 'hs-none' or ../secondary-method-type = 'hs-none'" { + error-message "OSU primary method needs to be configured if secondary method is set"; + error-app-tag "must-violation"; + } + default "hs-none"; + description + "Secondary method to use for this OSU"; + } + } + + grouping st-hotspot-osu-icon { + description + "Hotspot 2.0 OSU icon configuration"; + leaf filename { + type string { + length "1..100"; + pattern '[A-Za-z0-9.\-_]+'; + } + must "(../filename != '.') and (../filename != '..')" { + error-message "Icon filename shall not be '.' nor '..'"; + error-app-tag "must-violation"; + } + description + "Icon filename"; + } + } + + grouping st-hotspot-osu-provider { + description + "Hotspot 2.0 online sign-up (OSU) provider configuration"; + container osu-methods { + description + "OSU methods supported by this OSU provider"; + uses wireless-hotspot-cfg:st-hotspot-osu-method; + } + leaf osu-provider-name { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "OSU provider name"; + } + leaf osu-server-uri { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "OSU Server URI"; + } + leaf osu-nai { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "OSU NAI"; + } + container osu-friendly-names { + description + "Friendly names and service descriptions of this OSU provider"; + list osu-friendly-name { + key "language"; + max-elements 32; + description + "Friendly name and service description in one language of this OSU provider"; + uses wireless-hotspot-cfg:st-hotspot-osu-friendly-name; + } + } + container osu-icons { + description + "Icons of this OSU provider"; + list osu-icon { + key "filename"; + max-elements 32; + description + "Settings of one OSU icon"; + uses wireless-hotspot-cfg:st-hotspot-osu-icon; + } + } + } + + grouping st-hotspot-icon { + description + "Hotspot 2.0 icon configuration"; + leaf width { + type uint16; + units "pixels"; + mandatory true; + description + "Icon width (in pixels)"; + } + leaf height { + type uint16; + units "pixels"; + mandatory true; + description + "Icon height (in pixels)"; + } + leaf filename { + type string { + length "1..100"; + pattern '[A-Za-z0-9.\-_]+'; + } + must "(../filename != '.') and (../filename != '..')" { + error-message "Icon filename shall not be '.' nor '..'"; + error-app-tag "must-violation"; + } + description + "Icon filename"; + } + leaf path { + type string; + must "(../path = 'bootflash') or (../path = 'flash')" { + error-message "Icon file shall be in flash or bootflash only"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Icon file path (flash/bootflash)"; + } + leaf language { + type string { + length "2|3"; + pattern '[a-z]*'; + } + mandatory true; + description + "Language code (2 or 3 characters) of this icon file"; + } + leaf icon-type { + type string { + length "1..80"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "Icon type"; + } + } + + grouping st-hotspot-operator-friendly-name { + description + "Hotspot 2.0 Operator friendly name configuration"; + leaf language { + type string { + length "2|3"; + pattern '[a-z]*'; + } + description + "Language code (2 or 3 characters) of this operator name"; + } + leaf name { + type string { + length "1..220"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + mandatory true; + description + "Name of the operator in the language specified by the 'language' attribute. Non ASCII characters need to be encoded using Character Reference as specified in the XML 1.0 standard."; + } + } + + grouping st-hotspot-charge-plan-cost-info { + description + "Advice of charge plan information"; + leaf language { + type string { + length "2..3"; + pattern '[a-z]*'; + } + description + "Language code of the cost information"; + } + leaf currency { + type string { + length "3"; + pattern '[A-Z]*'; + } + description + "Currency code"; + } + } + + grouping st-hotspot-charge-plan-info { + description + "Advice of charge information tuple"; + leaf filename { + type string { + length "1..100"; + pattern '[A-Za-z0-9.\-_]+'; + } + must "(../filename != '.') and (../filename != '..')" { + error-message "Charge plan information filename shall not be '.' nor '..'"; + error-app-tag "must-violation"; + } + description + "Filename of the XML description for charge plan information"; + } + leaf path { + type string; + must "(../path = 'bootflash') or (../path = 'flash')" { + error-message "Charge plan information file shall be in flash or bootflash only"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Path where charge plan information file is stored (bootflash or flash)"; + } + } + + grouping st-hotspot-charge-nai-realm { + description + "NAI realm information for advice of charge"; + leaf nai-realm { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "NAI realm name for advice of charge"; + } + } + + grouping st-hotspot-advice-charge { + description + "Advice of charge configuration"; + leaf charge-type { + type wireless-hotspot-cfg:enum-hotspot-advice-charge-type; + description + "Advice of charge type"; + } + container nai-realms { + description + "NAI realm information for advice of charge"; + list charge-nai-realm { + key "nai-realm"; + max-elements 32; + description + "Settings of NAI realm information for advice of charge"; + uses wireless-hotspot-cfg:st-hotspot-charge-nai-realm; + } + } + container plan-informations { + description + "Advice of charge plan information"; + list plan-information { + key "language currency"; + max-elements 32; + description + "Settings of advice of charge plan"; + uses wireless-hotspot-cfg:st-hotspot-charge-plan-info; + uses wireless-hotspot-cfg:st-hotspot-charge-plan-cost-info; + } + } + } + + grouping st-hotspot-operating-class { + description + "Hotspot 2.0 Operating Class Identifier configuration"; + leaf class-id { + type uint8 { + range "1 .. 254"; + } + description + "ID number of this operating class"; + } + } + + grouping st-hotspot-mcc-mnc { + description + "802.11u 3GPP Mobile Country Code and Mobile Network Code configuration"; + leaf mcc { + type string { + length "3"; + pattern '[0-9]*'; + } + description + "Mobile Country Code"; + } + leaf mnc { + type string { + length "2|3"; + pattern '[0-9]*'; + } + description + "Mobile Network Code"; + } + } + + grouping st-hotspot-wan-metrics { + description + "Hotspot 2.0 WAN metrics configuration"; + leaf downlink-speed { + type uint32; + units "kbps"; + description + "Downlink speed of WAN connection"; + } + leaf uplink-speed { + type uint32; + units "kbps"; + description + "Uplink speed of WAN connection"; + } + leaf downlink-load { + type uint8; + description + "Downlink load (scaled linearly with 255 representing 100%)"; + } + leaf uplink-load { + type uint8; + description + "Uplink load (scaled linearly with 255 representing 100%)"; + } + leaf load-measurement-duration { + type uint16; + units "tenths of a second"; + description + "Duration over which the Downlink Load and Uplink Load have been measured"; + } + leaf link-status { + type wireless-hotspot-cfg:enum-hotspot-link-status; + default "hs-not-configured"; + description + "Status of WAN link"; + } + leaf full-capacity-link { + type boolean; + description + "Set if WAN link is currently operating at its maximum capacity"; + } + } + + grouping st-hotspot-protocol-port { + description + "Hotspot 2.0 connection capability protocol/port tuple configuration"; + leaf port-number { + type uint16; + description + "Port number"; + } + leaf ip-protocol { + type uint8; + description + "IP protocol number"; + } + } + + grouping st-hotspot-connection-capability { + description + "Hotspot 2.0 connection capability configuration"; + leaf status { + type wireless-hotspot-cfg:enum-hotspot-connection-status-type; + default "hs-closed"; + description + "Connection status"; + } + } + + grouping st-hotspot-beacon-params { + description + "Configuration of the Hotspot 2.0 and 802.11u beacon settings advertised in a WLAN"; + leaf internet-enabled { + type wireless-hotspot-cfg:enum-hotspot-network-access; + default "hs-internet-access-forbidden"; + description + "Indicates to 802.11u and Hotspot 2.0 wireless clients if they can get Internet access on this Hotspot 2.0 WLAN"; + } + leaf network-type { + type wireless-hotspot-cfg:enum-hotspot-network-type; + default "hs-private-network"; + description + "Type of network advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon"; + } + leaf group-type { + type wireless-hotspot-cfg:enum-hotspot-venue-group-type; + default "hs-unspecified-unspecified"; + description + "Venue group and type information advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon"; + } + leaf hessid { + type yang:mac-address; + description + "Homogenous extended service set advertised to Hotspot 2.0 and 802.11u wireless clients in the WLAN beacon"; + } + leaf anqp-domain-id { + when 'boolean(../anqp-domain-id-present)'; + type uint16; + description + "Hotspot 2.0 ANQP Domain ID to advertise in the beacon and probe requests"; + } + leaf anqp-domain-id-present { + type empty; + description + "When this element is set, the domain ID from anqp-domain-id is advertised in the Hotspot 2.0 beacon and probe requests"; + } + } + + grouping st-anqp-server-settings { + description + "802.11u GAS-related configuration"; + leaf gas-request-timeout { + type uint16 { + range "100 .. 10000"; + } + default "1000"; + description + "Timeout of a fragmented GAS/ANQP reply"; + } + leaf fragmentation-threshold { + type uint16 { + range "16 .. 1462"; + } + default "1462"; + description + "Fragmentation threshold for ANQP replies"; + } + } + + grouping st-hotspot-nai-realm { + description + "802.11u NAI Realm configuration"; + leaf nai-realm { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "NAI realm"; + } + container eap-methods { + description + "EAP methods returned by this NAI Realm"; + list eap-method { + key "eap-method"; + max-elements 255; + description + "Settings of one EAP method"; + uses wireless-hotspot-cfg:st-hotspot-eap-method; + } + } + } + + grouping st-hotspot-eap-method { + description + "802.11u NAI Realm EAP method configuration"; + leaf eap-method { + type wireless-hotspot-cfg:enum-hotspot-eap-method-type; + must "../eap-method != 'hs-eap-reserved'" { + error-message "Reserved EAP method not permitted"; + error-app-tag "must-violation"; + } + description + "NAI Realm EAP method"; + } + container auth-params { + status obsolete; + description + "Authentication parameters returned by an EAP method"; + list auth-param { + key "eap-auth-type-key"; + max-elements 255; + status obsolete; + description + "Settings of one EAP authentication parameter"; + uses wireless-hotspot-cfg:st-hotspot-eap-auth-param; + } + } + container auth-types { + description + "Authentication types returned by an EAP method"; + list auth-type { + key "eap-auth-type-key"; + max-elements 255; + description + "Settings of one EAP authentication type"; + uses wireless-hotspot-cfg:st-hotspot-eap-auth-type; + } + } + } + + grouping st-hotspot-eap-auth-param { + description + "802.11u EAP Authentication Parameter Type configuration"; + leaf eap-auth-type-key { + type wireless-hotspot-cfg:enum-hotspot-authentication-param-type; + description + "EAP Authentication Parameter Type Key"; + } + leaf non-eap-inner-value { + when "(../eap-auth-type-key = 'hs-inner-auth-non-eap')"; + type wireless-hotspot-cfg:enum-hotspot-non-eap-inner-auth-type; + must "../non-eap-inner-value != 'hs-non-eap-reserved'" { + error-message "Reserved non EAP inner authentication value not permitted"; + error-app-tag "must-violation"; + } + default "hs-non-eap-reserved"; + description + "Non-EAP Inner Authentication value"; + } + leaf inner-eap-method-value { + when "(../eap-auth-type-key = 'hs-inner-auth-eap')"; + type wireless-hotspot-cfg:enum-hotspot-eap-method-type; + must "../inner-eap-method-value != 'hs-eap-reserved'" { + error-message "Reserved inner authentication EAP value not permitted"; + error-app-tag "must-violation"; + } + default "hs-eap-reserved"; + description + "Inner Authentication EAP value"; + } + leaf credential-value { + when "(../eap-auth-type-key = 'hs-credential')"; + type wireless-hotspot-cfg:enum-hotspot-credential-type; + must "../credential-value != 'hs-credential-reserved'" { + error-message "Reserved credential value not permitted"; + error-app-tag "must-violation"; + } + default "hs-credential-reserved"; + description + "Authentication Credential value"; + } + leaf tunnel-value { + when "(../eap-auth-type-key = 'hs-tunneled-eap-credential')"; + type wireless-hotspot-cfg:enum-hotspot-tunneled-eap-credential-type; + must "../tunnel-value != 'hs-tunnel-reserved'" { + error-message "Reserved tunneled EAP credential value not permitted"; + error-app-tag "must-violation"; + } + default "hs-tunnel-reserved"; + description + "Tunneled EAP Credential value"; + } + } + + grouping st-hotspot-eap-auth-type { + description + "802.11u EAP Authentication Type configuration"; + leaf eap-auth-type-key { + type wireless-hotspot-cfg:enum-hotspot-authentication-type; + description + "EAP Authentication Type Key"; + } + } + + grouping st-hotspot-string-timestamp { + description + "Terms and conditions timestamp"; + leaf date { + type string { + pattern '([1-9][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])'; + } + description + "Date of terms and conditions timestamp"; + } + leaf time { + type string { + pattern '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + description + "Time of terms and conditions timestamp in UTC"; + } + } + + grouping st-hotspot-anqp-server { + description + "Hotspot 2.0 ANQP server configuration"; + leaf server-name { + type string { + length "1..220"; + pattern "[\\]A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "Name of the ANQP server configuration"; + } + leaf description { + type string { + length "0..220"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']*"; + } + default ""; + description + "Description of the ANQP server configuration"; + } + container server-settings { + description + "General settings of this ANQP server"; + uses wireless-hotspot-cfg:st-anqp-server-settings; + } + container beacon-params { + description + "Hotspot beacon related settings of this ANQP server"; + uses wireless-hotspot-cfg:st-hotspot-beacon-params; + } + leaf ipv4-type { + type wireless-hotspot-cfg:enum-hotspot-ipv4-addr-type; + default "hs-ipv4-addr-not-known"; + description + "Available IPv4 address type settings of this ANQP server"; + } + leaf ipv6-type { + type wireless-hotspot-cfg:enum-hotspot-ipv6-addr-type; + default "hs-ipv6-addr-not-known"; + description + "Available IPv6 address type settings of this ANQP server"; + } + container wan-metrics { + description + "WAN metrics of this ANQP server"; + uses wireless-hotspot-cfg:st-hotspot-wan-metrics; + } + leaf osu-ssid { + type string { + length "1..32"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "Hotspot 2.0 SSID to use for online sign-up (OSU)"; + } + container roaming-elements { + description + "Roaming OIs defined for this ANQP server"; + list roaming-element { + key "roaming-element"; + max-elements 258; + description + "Settings of one roaming OI"; + uses wireless-hotspot-cfg:st-hotspot-roaming-element; + } + } + container network-auth-types { + description + "Authentication types required on this network, returned to the wireless clients"; + list network-auth-type { + key "type"; + max-elements 4; + description + "Type of one authentication"; + uses wireless-hotspot-cfg:st-hotspot-network-auth-type; + } + } + container domain-names { + description + "Domain names returned by this ANQP Server"; + list domain-name { + key "name"; + max-elements 32; + description + "Available domain name"; + uses wireless-hotspot-cfg:st-hotspot-domain-name; + } + } + container venue-names { + description + "Venue names & translations returned by this ANQP Server"; + list venue-name { + key "language"; + max-elements 32; + description + "Settings of one venue name translation"; + uses wireless-hotspot-cfg:st-hotspot-venue-name; + } + } + container nai-realms { + description + "NAI Realms returned by this ANQP Server"; + list nai-realm { + key "nai-realm"; + max-elements 32; + description + "Available NAI Realm"; + uses wireless-hotspot-cfg:st-hotspot-nai-realm; + } + } + container hotspot-3gpp-cellular-networks { + description + "3GPP Cellular Networks returned by this ANQP Server"; + list hotspot-3gpp-cellular-network { + key "mcc mnc"; + max-elements 32; + description + "3GPP Cellular Network"; + uses wireless-hotspot-cfg:st-hotspot-mcc-mnc; + } + } + container operator-friendly-names { + description + "Operator names & translations returned by this ANQP Server"; + list operator-friendly-name { + key "language"; + max-elements 32; + description + "Settings of one operator name translation"; + uses wireless-hotspot-cfg:st-hotspot-operator-friendly-name; + } + } + container operating-classes { + description + "Operating Class Identifiers returned by this ANQP Server"; + list operating-class { + key "class-id"; + max-elements 32; + description + "Settings of one operating class identifier"; + uses wireless-hotspot-cfg:st-hotspot-operating-class; + } + } + container osu-providers { + description + "OSU providers returned by this ANQP Server"; + list osu-provider { + key "osu-provider-name"; + max-elements 32; + description + "Available OSU provider"; + uses wireless-hotspot-cfg:st-hotspot-osu-provider; + } + } + container connection-capabilities { + description + "Connection capabilities returned by this ANQP Server"; + list connection-capability { + key "port-number ip-protocol"; + max-elements 255; + description + "Settings of one connection capability"; + uses wireless-hotspot-cfg:st-hotspot-connection-capability; + uses wireless-hotspot-cfg:st-hotspot-protocol-port; + } + } + container terms-conditions-timestamp { + description + "Terms and conditions timestamp"; + uses wireless-hotspot-cfg:st-hotspot-string-timestamp; + } + leaf terms-conditions-filename { + type string { + length "1..100"; + pattern '[A-Za-z0-9.\-_]+'; + } + must "(../terms-conditions-filename != '.') and (../terms-conditions-filename != '..')" { + error-message "Terms and conditions filename shall not be '.' nor '..'"; + error-app-tag "must-violation"; + } + description + "Terms and conditions filename"; + } + leaf terms-conditions-urlfilter { + type string { + length "1..32"; + pattern "[^#'%?+ ]+"; + } + description + "Terms and conditions URL filter name"; + } + container advice-charges { + description + "Advice of charge types"; + list advice-charge { + key "charge-type"; + max-elements 32; + description + "Settings of one advice charge"; + uses wireless-hotspot-cfg:st-hotspot-advice-charge; + } + } + } + + grouping st-hotspot-global-config { + description + "Configuration of global Hotspot 2.0 settings"; + leaf max-gas-req-per-sec { + type uint16 { + range "1 .. 2500"; + } + default "2500"; + description + "Maximum number of GAS/ANQP requests to process per seconds. Further requests will be dropped"; + } + } + + container hotspot-cfg-data { + description + "Configuration for the WiFi Alliance Hotspot 2.0 (Passpoint) capabilities of the wireless controller, including configuration for 802.11u"; + container hotspot-anqp-server-configs { + description + "Configuration of all the different ANQP Servers available on the wireless controller"; + list hotspot-anqp-server-config { + key "server-name"; + description + "Configuration of a given ANQP Server"; + uses wireless-hotspot-cfg:st-hotspot-anqp-server; + } + } + container hotspot-icons { + description + "Configuration for all the Hotspot icons available on the wireless controller"; + list hotspot-icon { + key "filename"; + max-elements 255; + description + "Configuration of a given Hotspot icon"; + uses wireless-hotspot-cfg:st-hotspot-icon; + } + } + container hotspot-global-config { + presence "hotspot-global-config"; + description + "Configuration of the global settings for the Hotspot 2.0 feature"; + uses wireless-hotspot-cfg:st-hotspot-global-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hyperlocation-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hyperlocation-oper.yang new file mode 100644 index 000000000..97441e78d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-hyperlocation-oper.yang @@ -0,0 +1,112 @@ +module Cisco-IOS-XE-wireless-hyperlocation-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-hyperlocation-oper"; + prefix wireless-hyperlocation-oper; + + import Cisco-IOS-XE-wireless-ap-types { + prefix ap-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless Hyperlocation operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added NTP server to hyperlocation profile"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-07-09 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ewlc-hyperlocation-profile { + description + "Hyperlocation AP profile data"; + leaf name { + type string; + description + "AP profile name"; + } + container hyperlocation-data { + description + "Cisco AP hyperlocation details"; + uses ap-types:st-hyperlocation; + } + leaf ntp-server { + type inet:ip-address; + description + "Configured hyperlocation NTP server"; + } + leaf status { + type boolean; + description + "Operational status"; + } + leaf reason-down { + type wireless-types:enm-hyperlocation-reason; + description + "Reason for operational status being down"; + } + leaf oper-ntp-server { + type inet:ip-address; + description + "Operational NTP server"; + } + } + + container hyperlocation-oper-data { + config false; + description + "Hyperlocation operational data"; + list ewlc-hyperlocation-profile { + key "name"; + description + "Hyperlocation AP profile data"; + uses wireless-hyperlocation-oper:ewlc-hyperlocation-profile; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-lisp-agent-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-lisp-agent-oper.yang new file mode 100644 index 000000000..98c9af4d5 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-lisp-agent-oper.yang @@ -0,0 +1,560 @@ +module Cisco-IOS-XE-wireless-lisp-agent-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-lisp-agent-oper"; + prefix wireless-lisp-agent-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Wireless Fabric Control Plane oper data + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2019-01-24 { + description + "-Cleaned up spelling errors in descriptions + -Renaming LISP agent client history and WLC capabilities containers "; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Base type change from uint32 to uint64"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-11-12 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-lisp-agent-ap-data { + description + "Fabric AP's oper data"; + leaf wtp-mac { + type yang:mac-address; + description + "Fabric AP's ethernet MAC address"; + } + leaf wtp-ip { + type inet:ip-address; + description + "Fabric AP's IP address"; + } + leaf wtp-xtr-ip { + type inet:ip-address; + description + "AP's Fabric Edge IP address"; + } + leaf wtp-vnid { + type uint32; + description + "AP's Virtual Network ID"; + } + leaf wtp-radio-mac { + type yang:mac-address; + description + "AP's radio MAC address"; + } + leaf cp-name { + type string; + description + "Fabric Control Plane name"; + } + } + + grouping st-lisp-agent-client-data { + description + "Fabric client's oper data"; + leaf client-mac { + type yang:mac-address; + description + "Fabric client's MAC address"; + } + leaf client-ap-mac { + type yang:mac-address; + description + "Fabric client's AP MAC address"; + } + leaf client-ap-ip { + type inet:ip-address; + description + "Fabric Client's AP IP address"; + } + leaf client-xtr-ip { + type inet:ip-address; + description + "Client's Fabric Edge IP address"; + } + leaf client-assoc-time { + type uint64; + description + "Fabric client's association time"; + } + leaf client-ap-vnid { + type uint32; + description + "Fabric Client's AP Virtual Network IP"; + } + leaf client-vnid { + type uint32; + description + "Fabric client's Virtual Network ID"; + } + leaf client-sgt { + type uint16; + description + "Fabric client's group tag"; + } + leaf cp-name { + type string; + description + "Fabric Control Plane name"; + } + } + + grouping st-lisp-agent-ms-msg-stats { + description + "Fabric Control Plane Message statistics"; + leaf map-server-ip { + type inet:ip-address; + description + "Control plane IP address"; + } + leaf map-request-msg-count { + type yang:counter64; + description + "Map request message count"; + } + leaf map-reply-ack-msg-count { + type yang:counter64; + description + "Map reply acknowledgement message count"; + } + leaf map-reply-nack-msg-count { + type yang:counter64; + description + "Negative Map reply message count"; + } + leaf map-register-add-msg-count { + type yang:counter64; + description + "Map register client add message count"; + } + leaf map-register-delete-msg-count { + type yang:counter64; + description + "Map register client delete message count"; + } + leaf map-register-ack-msg-count { + type yang:counter64; + description + "Map register acknowledgement message count"; + } + leaf map-register-add-reject-msg-count { + type yang:counter64; + description + "Map register client add reject message count"; + } + leaf map-register-delete-reject-msg-count { + type yang:counter64; + description + "Map register client delete reject message count"; + } + leaf map-register-refresh-msg-count { + type yang:counter64; + description + "Map register refresh message count"; + } + leaf map-wlc-notify-msg-count { + type yang:counter64; + description + "Map WLC notify message count"; + } + leaf map-error-notify-msg-count { + type yang:counter64; + description + "Map error notification message count"; + } + leaf map-request-msg-send-failure-count { + type yang:counter64; + description + "Map request message send failure count"; + } + leaf map-register-msg-send-failure-count { + type yang:counter64; + description + "Map register message send failure count"; + } + leaf map-register-ack-msg-parse-failure-count { + type yang:counter64; + description + "Map registration acknowledgement message parse failure count"; + } + leaf map-register-reject-msg-parse-failure-count { + type yang:counter64; + description + "Map register reject message parse failure count"; + } + leaf map-register-refresh-msg-parse-failure-count { + type yang:counter64; + description + "Map register refresh message parse failure count"; + } + leaf map-reply-msg-parse-failure-count { + type yang:counter64; + description + "Map reply message parse failure count"; + } + leaf map-server-tcp-create-fail-count { + type yang:counter64; + description + "TCP create failure count"; + } + leaf map-server-tcp-read-fail-count { + type yang:counter64; + description + "TCP read failure count"; + } + leaf map-server-tcp-msg-parse-fail-count { + type yang:counter64; + description + "TCP message parse failure count"; + } + leaf map-server-tcp-write-fail-count { + type yang:counter64; + description + "TCP write failure count"; + } + leaf map-server-udp-create-fail-count { + type yang:counter64; + description + "UDP create failure count"; + } + leaf map-server-udp-read-fail-count { + type yang:counter64; + description + "UDP read failure count"; + } + leaf map-server-udp-msg-parse-fail-count { + type yang:counter64; + description + "UDP message parse failure count"; + } + leaf map-server-udp-write-fail-count { + type yang:counter64; + description + "UDP write failure count"; + } + leaf map-server-status { + type boolean; + description + "Control Plane connection status"; + } + } + + grouping st-lisp-agent-client-history-entry { + description + "Fabric Client history data"; + leaf wtp-mac { + type yang:mac-address; + description + "Fabric Client's AP MAC address"; + } + leaf client-xtr-ip { + type inet:ip-address; + description + "Client's Fabric Edge IP address"; + } + leaf ms-ip { + type inet:ip-address; + description + "Control plane IP address"; + } + leaf client-assoc-time { + type uint64; + description + "Fabric Client's association time"; + } + leaf data-entry-time { + type uint64; + description + "Fabric client info update time"; + } + leaf client-vnid { + type uint32; + description + "Fabric client's Virtual Network ID"; + } + leaf lisp-msg-type { + type uint32; + description + "Fabric Control plane message type"; + } + leaf client-sgt { + type uint16; + description + "Fabric client's Group tag"; + } + } + + grouping st-lisp-agent-client-history-list { + description + "Fabric client history list"; + list entry { + description + "Fabric client history entry"; + uses wireless-lisp-agent-oper:st-lisp-agent-client-history-entry; + } + } + + grouping st-lisp-agent-client-history { + description + "Fabric client history"; + leaf client-mac { + type yang:mac-address; + description + "Fabric client MAC address"; + } + container assoc-history { + description + "Fabric client association history"; + uses wireless-lisp-agent-oper:st-lisp-agent-client-history-list; + } + } + + grouping st-lisp-agent-memory-stats { + description + "Wireless fabric memory statistics"; + leaf malloc-psk-buf { + type yang:counter64; + description + "Malloc count of psk buffer"; + } + leaf free-psk-buf { + type yang:counter64; + description + "Free count of psk buffer"; + } + leaf malloc-map-reg-msg { + type yang:counter64; + description + "Malloc count of map register message"; + } + leaf free-map-reg-msg { + type yang:counter64; + description + "Free count of map register message"; + } + leaf malloc-map-req-msg { + type yang:counter64; + description + "Malloc count of map request message"; + } + leaf free-map-req-msg { + type yang:counter64; + description + "Free count of map request message"; + } + leaf malloc-lisp-ha-node { + type yang:counter64; + description + "Malloc count of lisp HA node"; + } + leaf free-lisp-ha-node { + type yang:counter64; + description + "Free count of lisp HA node"; + } + leaf malloc-map-server-ctxt { + type yang:counter64; + description + "Malloc count of control plane context"; + } + leaf free-map-server-ctxt { + type yang:counter64; + description + "Free count of control plane context"; + } + } + + grouping st-lisp-agent-ms-memory-stats { + description + "Wireless Fabric Control Plane memory statistics"; + leaf map-server-address { + type inet:ip-address; + description + "Control Plane IP address"; + } + leaf malloc-tcp-flow-control-msg-queue { + type yang:counter64; + description + "Malloc count of TCP flow control message queue"; + } + leaf free-tcp-flow-control-msg-queue { + type yang:counter64; + description + "Free count of TCP flow control message queue"; + } + leaf malloc-tcp-incomplete-msg-buffer { + type yang:counter64; + description + "Malloc count of TCP incomplete message buffer"; + } + leaf free-tcp-incomplete-msg-buffer { + type yang:counter64; + description + "Free count of TCP incomplete message buffer"; + } + leaf malloc-tcp-receive-buff { + type yang:counter64; + description + "Malloc count of TCP receive buffer"; + } + leaf free-tcp-receive-buff { + type yang:counter64; + description + "Free count of TCP receive buffer"; + } + leaf malloc-udp-receive-buff { + type yang:counter64; + description + "Malloc count of UDP receive buffer"; + } + leaf free-udp-receive-buff { + type yang:counter64; + description + "Free count of UDP receive buffer"; + } + } + + grouping st-lisp-wlc-capabilities { + description + "Wireless Fabric WLC Capabilities"; + leaf fabric-capable { + type boolean; + description + "WLC Fabric capable"; + } + } + + grouping st-lisp-ap-capabilities { + description + "Wireless Fabric AP Capabilities"; + leaf ap-type { + type uint32; + description + "AP Type"; + } + leaf fabric-capable { + type boolean; + description + "AP Fabric capable"; + } + } + + container lisp-agent-oper-data { + config false; + description + "Lisp Agent operational data"; + container lisp-agent-memory-stats { + presence "lisp-agent-memory-stats"; + description + "Lisp Agent Memory Statistics"; + uses wireless-lisp-agent-oper:st-lisp-agent-memory-stats; + } + list lisp-agent-map-server-memory-stats { + key "map-server-address"; + description + "Control PLane memory statistics"; + uses wireless-lisp-agent-oper:st-lisp-agent-ms-memory-stats; + } + list lisp-agent-ap-data { + key "wtp-radio-mac"; + unique "wtp-ip"; + description + "Fabric AP data"; + uses wireless-lisp-agent-oper:st-lisp-agent-ap-data { + refine "wtp-ip" { + mandatory true; + } + } + } + list lisp-agent-client-data { + key "client-mac"; + description + "Fabric client data"; + uses wireless-lisp-agent-oper:st-lisp-agent-client-data; + } + list lisp-agent-client-history { + key "client-mac"; + description + "Fabric client history"; + uses wireless-lisp-agent-oper:st-lisp-agent-client-history; + } + list lisp-agent-ms-msg-stats-data { + key "map-server-ip"; + description + "Control Plane message data statistics"; + uses wireless-lisp-agent-oper:st-lisp-agent-ms-msg-stats; + } + container lisp-wlc-capabilities { + presence "lisp-wlc-capabilities"; + description + "Wireless Fabric WLC Capabilities"; + uses wireless-lisp-agent-oper:st-lisp-wlc-capabilities; + } + list lisp-ap-capabilities { + key "ap-type"; + description + "Wireless Fabric AP Capabilities"; + uses wireless-lisp-agent-oper:st-lisp-ap-capabilities; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-cfg.yang new file mode 100644 index 000000000..8efac2d82 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-cfg.yang @@ -0,0 +1,283 @@ +module Cisco-IOS-XE-wireless-location-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-location-cfg"; + prefix wireless-location-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing location configurations + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2022-07-01 { + description + "Added Operator parameters for AAA Location"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2019-03-12 { + description + "convert location presence container into a non-presence container"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-31 { + description + "CMX cloud support"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping location { + description + "Configuring the timeouts for calibration and notification"; + leaf location-algorithm { + type wireless-enum-types:apf-location-algorithm-type; + default "loc-alg-average"; + description + "The algorithm used to average RSSI and SNR values, a balance of accuracy and CPU"; + } + leaf location-notify-client-threshold { + type uint32 { + range "0 .. 10"; + } + default "0"; + description + "NMSP notification threshold for clients"; + } + leaf location-rssi-client-threshold { + type wireless-enum-types:half-life-time; + default "half-life-time-0"; + description + "NMSP notification threshold for clients"; + } + leaf location-rssi-cal-client-threshold { + type wireless-enum-types:half-life-time; + default "half-life-time-0"; + description + "Half life for calibrating clients"; + } + leaf location-rssi-rogue-ap-threshold { + type wireless-enum-types:half-life-time; + default "half-life-time-0"; + description + "Half life for Rogue APs"; + } + leaf location-expiry-client-threshold { + type uint32 { + range "5 .. 3600"; + } + default "15"; + description + "Timeout for RSSI values"; + } + leaf location-expiry-cal-client-threshold { + type uint32 { + range "1 .. 3600"; + } + default "5"; + description + "Timeout for calibrating clients"; + } + } + + grouping operator-location { + description + "AAA Location Operator parameters"; + leaf loc-oper-id { + type string { + length "0..215"; + } + description + "AAA Location Operator ID"; + } + leaf loc-oper-name { + type string { + length "0..250"; + } + default ""; + description + "AAA Location Operator Name"; + } + leaf loc-ns-id { + type wireless-enum-types:enm-location-namespace-id; + default "loc-ns-id-realm"; + description + "AAA Location Namespace ID"; + } + } + + grouping st-nmsp-cloud-params { + description + "Configuring the parameters for CMX cloud"; + leaf enable { + type boolean; + default "false"; + description + "Enable NMSP CMX cloud services"; + } + leaf server-url { + type string; + default ""; + description + "Server URL for CMX cloud services"; + } + leaf proxy-hostname { + type string; + default ""; + description + "Hostname for the proxy"; + } + leaf proxy-port { + type uint16 { + range "1 .. 65535"; + } + default "1"; + description + "Port to use for the proxy"; + } + leaf auth-token { + type string; + default ""; + description + "Authentication token for the CMX cloud services"; + } + } + + grouping nmsp-config { + description + "NMSP notification parameters"; + leaf enable { + type boolean; + default "false"; + description + "Enable NMSP server"; + } + leaf is-secure { + type boolean; + default "false"; + description + "Enable strong ciphers for NMSP server"; + } + leaf rssi-measurement-notify-interval { + type uint32 { + range "1 .. 180"; + } + default "2"; + description + "RSSI measurement notify interval"; + } + leaf client-notify-interval { + type uint32 { + range "1 .. 180"; + } + default "2"; + description + "Measurement interval for clients in seconds"; + } + leaf rogue-client-notify-interval { + type uint32 { + range "1 .. 180"; + } + default "2"; + description + "Measurement interval for rogue clients"; + } + leaf rogue-ap-notify-interval { + type uint32 { + range "1 .. 180"; + } + default "2"; + description + "Measurement interval for rogue APs"; + } + leaf spectrum-notify-interval { + type uint32 { + range "1 .. 180"; + } + default "2"; + description + "Measurement interval for spectrum interferers"; + } + container cloud-params { + description + "Configuring the parameters for CMX cloud"; + uses wireless-location-cfg:st-nmsp-cloud-params; + } + } + + container location-cfg-data { + description + "yang model for location config"; + container operator-locations { + description + "AAA Location Operators"; + list operator-location { + key "loc-oper-id"; + description + "Configuration parameters for AAA Location Operators"; + uses wireless-location-cfg:operator-location; + } + } + container nmsp-config { + presence "nmsp-config"; + description + "NMSP notification parameters"; + uses wireless-location-cfg:nmsp-config; + } + container location { + description + "location config parameters"; + uses wireless-location-cfg:location; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-oper.yang new file mode 100644 index 000000000..56d1c0ff8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-location-oper.yang @@ -0,0 +1,169 @@ +module Cisco-IOS-XE-wireless-location-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-location-oper"; + prefix wireless-location-oper; + + import Cisco-IOS-XE-wireless-rrm-types { + prefix wireless-rrm-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for accessing location data for clients. This module produces a large amount + of data. The update rate will be high for this data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "- Increased the maximum number of slots from 3 to 4 for AP radio measurement"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-07-25 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef source-type { + type enumeration { + enum location-rssi-source-none { + value 0; + description + "RSSI information source unset. This means that the + data for this slot is unset"; + } + enum location-rssi-source-probe { + value 1; + description + "RSSI information coming from client probe request frames"; + } + enum location-rssi-source-plm { + value 2; + description + "RSSI information coming through CCX"; + } + } + description + "Enumeration for probe RSSI source type."; + } + + grouping rssi-sample { + description + "RSSI values per antenna and the timestamp of the last update"; + leaf rssi-value-a { + type int8; + description + "RSSI value of antenna A"; + } + leaf rssi-value-b { + type int8; + description + "RSSI value of antenna B"; + } + leaf rssi-timestamp { + type yang:date-and-time; + description + "Last updated time for the RSSI"; + } + } + + grouping client-lrad-key { + description + "Indicates which AP has heard from a specific client"; + leaf client-mac-addr { + type yang:mac-address; + description + "Wireless client MAC address"; + } + leaf lrad-addr { + type yang:mac-address; + description + "AP MAC address which heard the client"; + } + } + + grouping radio-measurement { + description + "RSSI measurements and information for an AP radio slot"; + leaf band { + type wireless-rrm-types:enm-rrm-phy-type; + description + "Radio band type"; + } + leaf type { + type wireless-location-oper:source-type; + description + "Source of the radio measurement"; + } + container sample { + description + "RSSI samples for antennas A and B"; + uses wireless-location-oper:rssi-sample; + } + leaf snr { + type int8; + description + "Signal over noise ratio"; + } + } + + grouping ap-radio-measurement { + description + "RSSI measurements and information for a specific AP for all radio slots"; + list radio-measurements { + max-elements 4; + description + "List of radio measurement per AP slot"; + uses wireless-location-oper:radio-measurement; + } + } + + container location-oper-data { + config false; + description + "yang model for location operational"; + list location-rssi-measurements { + key "client-mac-addr lrad-addr"; + description + "Radio measurements for a specific AP hearing from a specific client"; + uses wireless-location-oper:client-lrad-key; + uses wireless-location-oper:ap-radio-measurement; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mcast-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mcast-oper.yang new file mode 100644 index 000000000..8d735b42e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mcast-oper.yang @@ -0,0 +1,722 @@ +module Cisco-IOS-XE-wireless-mcast-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mcast-oper"; + prefix wireless-mcast-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for wireless multicast operational data. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-12-10 { + description + "- Removal of unused leaves and container + - Cleaned up spelling errors in descriptions. + - Cleaned renaming"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-08-15 { + description + "- Add Fabric multicast operational yang + - Change Multicast over Multicast to ipv4 and ipv6 specific"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2018-01-29 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mcast-client-entry { + description + "Multicast client entries"; + leaf vlan { + type uint16; + description + "Client's vlan for Multicast"; + } + leaf mgid { + type uint16; + description + "Mgid for Multicast group"; + } + leaf group { + type inet:ip-address; + description + "Multicast group IP address"; + } + leaf client-status { + type wireless-enum-types:enm-mcast-client-status; + description + "Client status of Multicast group"; + } + leaf qos { + type wireless-enum-types:media-stream-qos; + description + "QOS value for Multicast group"; + } + leaf used { + type boolean; + description + "Multicast client entry is in use or not"; + } + } + + grouping ewlc-multicast-oper-data { + description + "Multicast operational data"; + leaf ms-mac-address { + type yang:mac-address; + description + "Client MAC address"; + } + leaf num-entries { + type uint8; + description + "Number of currently filled entries"; + } + list entry { + max-elements 16; + description + "Multicast client entry"; + uses wireless-mcast-oper:mcast-client-entry; + } + leaf client-ipv6 { + type inet:ipv6-address; + description + "Multicast client IPv6 address"; + } + leaf capwap-iif-id { + type uint64; + description + "Client capwap IIF ID"; + } + leaf client-ip { + type inet:ipv4-address; + description + "Client IPv4 address"; + } + } + + grouping mcast-mgid-client-entry { + description + "multicast MGID client entry"; + leaf client-mac-addr { + type yang:mac-address; + description + "client MAC address"; + } + leaf client-ip-addr { + type inet:ip-address; + description + "Client IPv4 address"; + } + leaf client-status { + type wireless-enum-types:enm-mcast-client-status; + description + "Client's multicast status"; + } + } + + grouping mcast-mgid-entry { + description + "Multicast MGID entries"; + leaf mgid { + type uint16; + description + "MGID for Multicast group"; + } + leaf vlan { + type uint16; + description + "VLAN used for MGID"; + } + leaf mc-only-num-clients { + type uint32; + description + "Number of MC-only clients for MGID"; + } + leaf mc2uc-num-clients { + type uint32; + description + "Number of MC-UC clients for MGID"; + } + leaf mc2uc-num-deny-clients { + type uint32; + description + "Number of MC-UC deny clients for MGID"; + } + leaf mc2uc-num-pending-clients { + type uint32; + description + "Number of MC-UC pending client for MGID"; + } + leaf group { + type inet:ip-address; + description + "Multicast group IP address"; + } + list mcast-mgid-client-list { + key "client-mac-addr"; + description + "Multicast MGID client list"; + uses wireless-mcast-oper:mcast-mgid-client-entry; + } + } + + grouping mcast-flex-client-grp-info { + description + "Multicast flex client group information"; + leaf mcast-ip { + type inet:ip-address; + description + "Multicast group IP"; + } + leaf stream-name { + type string; + description + "Stream name associated with multicast group"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP MAC on which Multicast group is reported"; + } + leaf is-direct { + type boolean; + description + "Stream is Multicast-Direct or Multicast"; + } + } + + grouping mcast-flex-client-info { + description + "Multicast flex client information"; + leaf client-mac { + type yang:mac-address; + description + "Multicast flex client MAC address"; + } + leaf vlan-id { + type uint16; + description + "Multicast client's VLAN"; + } + list flex-mcast-client-group { + key "mcast-ip"; + description + "Flex multicast client group"; + uses wireless-mcast-oper:mcast-flex-client-grp-info; + } + } + + grouping mcast-fabric-client-grp-info { + description + "Multicast fabric client group information"; + leaf mcast-ip { + type inet:ip-address; + description + "Multicast IP"; + } + leaf stream-name { + type string; + description + "Stream name"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP MAC on which Multicast group is reported"; + } + leaf is-direct { + type boolean; + description + "Stream is Multicast-Direct or Multicast"; + } + } + + grouping mcast-fabric-client-info { + description + "Multicast fabric client information"; + leaf client-mac { + type yang:mac-address; + description + "Multicast fabric client MAC address"; + } + leaf vlan-id { + type uint16; + description + "Multicast client's VLAN"; + } + list fabric-mcast-client-group { + key "mcast-ip"; + description + "Fabric multicast client group"; + uses wireless-mcast-oper:mcast-fabric-client-grp-info; + } + } + + grouping vlan-l2-mgid-op { + description + "vlan L2 MGID"; + leaf vlan-index { + type uint32; + description + "Multicast VLAN index"; + } + leaf is-nonip-multicast-enabled { + type boolean; + description + "Is non IP multicast enabled"; + } + leaf is-broadcast-enable { + type boolean; + description + "Is broadcast enabled"; + } + } + + grouping st-rrc-history-client-record-data-op { + description + "RRC history client record data"; + leaf user-time-stamp { + type yang:date-and-time; + description + "RRC history client user timestamp"; + } + leaf client-mac { + type yang:mac-address; + description + "RRC history client MAC address"; + } + leaf qos { + type uint16; + description + "QOS for the streaming"; + } + leaf decision { + type wireless-enum-types:media-stream-decision-status; + description + "RRC history Video-streaming decision"; + } + leaf reason-code { + type uint32; + description + "RRC decision's reason code"; + } + leaf ap-mac { + type yang:mac-address; + description + "AP's MAC address to which client was connected"; + } + leaf vap-id { + type uint16; + description + "Client's VAP ID"; + } + leaf slot-id { + type uint32; + description + "AP's Slot ID to which client was connected"; + } + leaf cac-enabled { + type uint32; + description + "RRC CAC is enabled or not"; + } + leaf stream-name { + type string; + description + "Stream name associated with multicast group"; + } + leaf dst-ip-address { + type inet:ip-address; + description + "Multicast group destination IP address"; + } + leaf cfg-stream-bw { + type uint32; + units "Kbps"; + description + "Configured max video bandwidth for the new stream"; + } + leaf current-rate { + type uint32; + units "Mbps"; + description + "Current data rate of the client requesting stream"; + } + leaf video-pkt-size { + type uint32; + units "byte"; + description + "Packet size for the new video stream"; + } + leaf curr-video-util { + type uint32; + description + "Current video utilization of AP radio"; + } + leaf curr-voice-util { + type uint32; + description + "Current voice utilization of AP radio"; + } + leaf curr-channel-util { + type uint32; + description + "Current channel utilization of AP radio"; + } + leaf curr-queue-util { + type uint32; + description + "Current queue utilization of AP radio"; + } + leaf curr-video-pps { + type uint32; + description + "Current video rate in packets per second of AP radio"; + } + leaf video-delay-hist-severe { + type uint32; + description + "Number of video packets with severe delay"; + } + leaf video-pkt-loss-discard { + type uint32; + description + "Video packet loss discarded by AP"; + } + leaf video-pkt-loss-fail { + type uint32; + description + "Video packet loss fail"; + } + leaf num-video-streams { + type uint32; + description + "Number of video streams"; + } + } + + grouping st-mstream-client-entry-key { + description + "Media-stream client entries"; + leaf stream-name-str { + type string; + description + "Name of the Media-stream"; + } + leaf group-ip { + type inet:ip-address; + description + "Multicast group IP address for this stream"; + } + leaf cl-mac { + type yang:mac-address; + description + "Media-stream client MAC address"; + } + } + + grouping st-rrc-sr-radio-record-key { + description + "RRC stream radio record"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC on which Multicast group is reported"; + } + leaf slot-id { + type uint32; + description + "Radio Slot ID"; + } + } + + grouping st-groups { + description + "Groups"; + leaf dest-ip { + type inet:ip-address; + description + "Multicast Group IP address"; + } + leaf no-of-streams { + type uint16; + description + "Number of streams for group"; + } + } + + grouping st-rrc-sr-radio-record { + description + "RRC stream radio record"; + leaf radio-type { + type uint32; + description + "Radio type of the stream"; + } + leaf duplicated-band-width { + type uint32; + description + "Duplicated bandwidth on this radio"; + } + leaf last-re-rrc { + type yang:date-and-time; + description + "Last Re-RRC timestamp for stream"; + } + leaf number-of-admitted { + type uint16; + description + "Number of admitted streams"; + } + list rrc-groups-in-radio { + key "dest-ip"; + description + "RRC stream groups in radio"; + uses wireless-mcast-oper:st-groups; + } + } + + grouping st-rrc-stream-record-key { + description + "RRC stream records"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf dest-ip { + type inet:ip-address; + description + "Multicast group destination IP address"; + } + } + + grouping st-rrc-stream-record-time { + description + "RRC stream record time"; + leaf last-updated { + type yang:date-and-time; + description + "Stream last updated by RRC"; + } + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf dest-ip { + type inet:ip-address; + description + "Multicast group destination IP address"; + } + } + + grouping st-rrc-stream-record { + description + "RRC stream record"; + leaf vap-id { + type uint32; + description + "VAP ID associated with stream"; + } + leaf vlan { + type uint32; + description + "VLAN ID associated with stream"; + } + leaf wlan-id { + type uint32; + description + "Client's WLAN ID associated with this stream"; + } + leaf mgid { + type uint16; + description + "MGID assigned to stream"; + } + leaf priority { + type uint16 { + range "1 .. 8"; + } + description + "Stream's priority"; + } + leaf rerrc-enable { + type boolean; + description + "Is Re-RRC enable on this stream"; + } + leaf rerrc-drop { + type boolean; + description + "Re-RRC drop decision in case of violation of constraints"; + } + leaf decision { + type wireless-enum-types:media-stream-decision-status; + description + "RRC decision for stream"; + } + leaf qos { + type wireless-enum-types:media-stream-qos; + description + "Stream's QOS"; + } + leaf kbps-bandwidth { + type uint32 { + range "1 .. 35000"; + } + units "Kbps"; + description + "Kbps bandwidth of stream"; + } + leaf radio { + type wireless-enum-types:enm-radio-type; + description + "Radio on which Multicast group is reported"; + } + leaf stream-name { + type string; + description + "Name of the stream"; + } + leaf ap-name { + type string; + description + "AP name on which Multicast group is reported"; + } + leaf start-time { + type yang:date-and-time; + description + "Stream start time"; + } + leaf last-updated { + type yang:date-and-time; + description + "Latest timestamp when Stream is updated by RRC"; + } + container rrc-radio-record { + description + "RRC stream radio record"; + uses wireless-mcast-oper:st-rrc-sr-radio-record-key; + } + } + + container mcast-oper-data { + config false; + description + "Wireless multicast operational data"; + list rrc-history-client-record-data { + key "user-time-stamp"; + description + "RRC history client record data"; + uses wireless-mcast-oper:st-rrc-history-client-record-data-op; + } + list rrc-sr-radio-record { + key "ap-mac slot-id"; + description + "RRC stream radio record"; + uses wireless-mcast-oper:st-rrc-sr-radio-record-key; + uses wireless-mcast-oper:st-rrc-sr-radio-record; + } + list rrc-stream-record { + key "stream-name-str group-ip cl-mac"; + description + "RRC stream record"; + uses wireless-mcast-oper:st-rrc-stream-record; + uses wireless-mcast-oper:st-mstream-client-entry-key; + uses wireless-mcast-oper:st-rrc-stream-record-key; + } + list rrc-stream-admit-record { + key "last-updated client-mac dest-ip"; + description + "RRC stream admit record"; + uses wireless-mcast-oper:st-rrc-stream-record-time; + } + list rrc-stream-deny-record { + key "last-updated client-mac dest-ip"; + description + "RRC stream deny record"; + uses wireless-mcast-oper:st-rrc-stream-record-time; + } + list flex-mediastream-client-summary { + key "client-mac"; + description + "FLEX media-stream client data"; + uses wireless-mcast-oper:mcast-flex-client-info; + } + list fabric-media-stream-client-summary { + key "client-mac"; + description + "Fabric media-stream client summary"; + uses wireless-mcast-oper:mcast-fabric-client-info; + } + list mcast-mgid-info { + key "mgid"; + description + "Multicast MGID information"; + uses wireless-mcast-oper:mcast-mgid-entry; + } + list vlan-l2-mgid-op { + key "vlan-index"; + description + "VLAN L2 MGID"; + uses wireless-mcast-oper:vlan-l2-mgid-op; + } + list multicast-oper-data { + key "ms-mac-address"; + description + "Multicast Operational data"; + uses wireless-mcast-oper:ewlc-multicast-oper-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mdns-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mdns-oper.yang new file mode 100644 index 000000000..cb75f4634 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mdns-oper.yang @@ -0,0 +1,308 @@ +module Cisco-IOS-XE-wireless-mdns-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mdns-oper"; + prefix mdns-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for MDNS gateway operational data. This operational + data consists of consolidated MDNS packet statistics + and per WLAN MDNS packet statistics. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2019-11-01 { + description + "Added MDNS statistics per GLAN."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "- Added MDNS statistics per RLAN. + - Added attributes for MDNS query type statistics. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-09-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mdns-stats-epoch { + description + "MDNS statistics reset timestamp"; + leaf last-clear-time { + type yang:date-and-time; + description + "MDNS statistics reset timestamp"; + } + } + + grouping st-mdns-packet-stats { + description + "MDNS packet statistics"; + leaf pak-sent { + type yang:counter64; + description + "Total number of MDNS packets sent"; + } + leaf pak-sent-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS packets sent"; + } + leaf pak-sent-advt-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS advertisement packets sent"; + } + leaf pak-sent-query-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS query packets sent"; + } + leaf pak-sent-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS packets sent"; + } + leaf pak-sent-advt-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS advertisement packets sent"; + } + leaf pak-sent-query-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS query packets sent"; + } + leaf pak-sent-mcast { + type yang:counter64; + description + "Total number of MDNS multicast packets sent"; + } + leaf pak-sent-mcast-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS multicast packets sent"; + } + leaf pak-sent-mcast-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS multicast packets sent"; + } + leaf pak-received { + type yang:counter64; + description + "Total number of MDNS packets received"; + } + leaf pak-received-advt { + type yang:counter64; + description + "Total number of MDNS advertisement packets received"; + } + leaf pak-received-query { + type yang:counter64; + description + "Total number of MDNS query packets received"; + } + leaf pak-received-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS packets received"; + } + leaf pak-received-advt-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS advertisement packets received"; + } + leaf pak-received-query-v4 { + type yang:counter64; + description + "Total number of IPv4 MDNS query packets received"; + } + leaf pak-received-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS packets received"; + } + leaf pak-received-advt-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS advertisement packets received"; + } + leaf pak-received-query-v6 { + type yang:counter64; + description + "Total number of IPv6 MDNS query packets received"; + } + leaf pak-dropped { + type yang:counter64; + description + "Total number of MDNS packets dropped"; + } + leaf ptr-query { + type yang:counter64; + description + "Total number of PTR queries"; + } + leaf srv-query { + type yang:counter64; + description + "Total number of SRV queries"; + } + leaf a-query { + type yang:counter64; + description + "Total number of IPV4 queries"; + } + leaf aaaa-query { + type yang:counter64; + description + "Total number of IPV6 queries"; + } + leaf txt-query { + type yang:counter64; + description + "Total number of TEXT queries"; + } + leaf any-query { + type yang:counter64; + description + "Total number of ANY queries"; + } + leaf other-query { + type yang:counter64; + description + "Total number of OTHER queries"; + } + } + + grouping st-mdns-wlan-stats { + description + "MDNS statistics per WLAN"; + leaf wlan-id { + type uint32 { + range "0 .. 4096"; + } + description + "WLAN identifier"; + } + container stats-wlan { + description + "MDNS statistics for WLAN"; + uses mdns-oper:st-mdns-packet-stats; + } + } + + grouping st-mdns-rlan-stats { + description + "MDNS statistics per RLAN"; + leaf rlan-id { + type uint32 { + range "1 .. 128"; + } + description + "RLAN identifier"; + } + container stats-rlan { + description + "MDNS statistics for RLAN"; + uses mdns-oper:st-mdns-packet-stats; + } + } + + grouping st-mdns-glan-stats { + description + "MDNS statistics per GLAN"; + leaf glan-id { + type uint32 { + range "1 .. 5"; + } + description + "GLAN identifier"; + } + container stats-glan { + description + "MDNS statistics for GLAN"; + uses mdns-oper:st-mdns-packet-stats; + } + } + + grouping st-mdns-global-stats { + description + "Global MDNS statistics"; + container stats-global { + description + "Global MDNS statistics"; + uses mdns-oper:st-mdns-packet-stats; + } + } + + container mdns-oper-data { + config false; + description + "MDNS gateway operational data"; + container mdns-global-stats { + presence "mdns-global-stats"; + description + "MDNS global statistics"; + uses mdns-oper:st-mdns-global-stats; + uses mdns-oper:mdns-stats-epoch; + } + list mdns-wlan-stats { + key "wlan-id"; + description + "MDNS statistics per WLAN"; + uses mdns-oper:st-mdns-wlan-stats; + uses mdns-oper:mdns-stats-epoch; + } + list mdns-rlan-stats { + key "rlan-id"; + description + "MDNS statistics per RLAN"; + uses mdns-oper:st-mdns-rlan-stats; + uses mdns-oper:mdns-stats-epoch; + } + list mdns-glan-stats { + key "glan-id"; + description + "MDNS statistics per GLAN"; + uses mdns-oper:st-mdns-glan-stats; + uses mdns-oper:mdns-stats-epoch; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-cfg.yang new file mode 100644 index 000000000..aeb55022d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-cfg.yang @@ -0,0 +1,665 @@ +module Cisco-IOS-XE-wireless-mesh-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mesh-cfg"; + prefix wireless-mesh-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Wireless Mesh Configuration + Copyright (c) 2017-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added size limit to Mesh profile name"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2024-03-01 { + description + "- Added RAP ethernet daisy-chain support + - Modified fast teardown configurations with validation"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added feature to keep wireless connection between MAP and RAP even when wired backhaul is available. + - Added MAP fast ancestor find feature for mesh."; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2022-07-01 { + description + "- Added mesh backhaul RRM config for RF ASIC integrated APs."; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2021-11-01 { + description + "- Added fast teardown feature for mesh to enable faster forced client roaming upon loss of RAP uplink connectivity + - Added mesh backhaul least congested scan parameters. + - Added config parameter to use UNII-2 channels."; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2021-07-01 { + description + "- Added a new enumeration for mesh dot11ax backhaul rate + - Added range restrictions on leafs psk key and description."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for mesh profile name and bridge group name"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2020-07-01 { + description + "Added Daisy chain STP redundancy."; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-05-01 { + description + "- Remove certain leafs from st-mesh-config + - Remove certain leafs from st-mesh-profile + - Remove grouping st-mesh-data-rate"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-10-06 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-mesh-config { + description + "This contains all attributes for mesh global config"; + leaf assoc-count-alarm-thresh { + type uint32 { + range "1 .. 30"; + } + default "10"; + description + "Threshold value for cumulative Association Count at parent mesh AP for generating Mesh Alarm"; + } + leaf high-snr-alarm-thresh { + type uint32 { + range "31 .. 100"; + } + default "60"; + description + "Threshold value for higher SNR on backhaul link of a child mesh AP for generating Mesh Alarm"; + } + leaf low-snr-alarm-thresh { + type uint32 { + range "1 .. 30"; + } + default "12"; + description + "Threshold value for lower SNR on backhaul link of a child mesh AP for generating Mesh Alarm"; + } + leaf max-map-children-alarm-thresh { + type uint32 { + range "1 .. 50"; + } + default "10"; + description + "Threshold value for number of children MAPs on a parent MAAP for generating Mesh Alarm"; + } + leaf max-rap-children-alarm-thresh { + type uint32 { + range "1 .. 50"; + } + default "20"; + description + "Threshold value for number of children MAPs on a parent RAP for generating Mesh Alarm"; + } + leaf max-hop-alarm-thresh { + type uint32 { + range "1 .. 16"; + } + default "4"; + description + "Threshold value for number of hops from the MAP node to the RAP node for generating Mesh Alarm"; + } + leaf parent-change-count-alarm-thresh { + type uint32 { + range "1 .. 30"; + } + default "3"; + description + "Threshold value for the number of times a child Mesh node changes its parent for generating Mesh Alarm"; + } + leaf bhaul-rrm-enabled { + type boolean; + default "false"; + description + "This value indicates if RRM should be enabled or not in the backhaul radio of a root Mesh AP, which does not have any child Mesh APs"; + } + leaf bhaul-bdomain-chan-used { + type boolean; + default "false"; + description + "This value indicates whether UNII B domain channels are enabled or not in the backhaul radio of Mesh Access Points"; + } + leaf cac-enabled { + type boolean; + default "false"; + description + "This value indicates whether Call Admission Control is enabled or not for the Mesh Access Points"; + } + leaf psk-prov-mode { + type boolean; + default "false"; + description + "This value indicates whether PSK provisioning is enabled or not for the Mesh AP"; + } + leaf default-psk { + type boolean; + default "false"; + description + "Whether default psk is enabled or not for the Mesh AP"; + } + leaf psk-inuse-index { + type uint8 { + range "1 .. 5"; + } + default "1"; + description + "This value indicates the PSK in-use key index"; + } + leaf rap-channel-sync-enabled { + type boolean; + default "false"; + description + "This value indicates whether syncing of Mesh root AP channels across mobility group is enabled or not for Mesh"; + } + leaf eth-bridging-bpdu-allowed { + type boolean; + default "false"; + description + "This value indicates whether we should allow BPDU packets on the Mesh network when Ethernet bridging is enabled"; + } + leaf public-safety-enabled { + type boolean; + default "false"; + description + "This value indicates whether public safety band is enabled or not"; + } + leaf auto-dca-rf-asic-aps { + type boolean; + default "false"; + description + "This value indicates if RRM DCA should be always enabled on the backhaul radio of a RF ASIC integrated mesh root AP"; + } + } + + grouping st-mesh-data-rate { + description + "This value indicates the Mesh backhaul data rate"; + leaf type { + type wireless-types:mesh-bhaul-data-rate-type; + default "mesh-bhaul-rate-auto"; + description + "This value indicates the backhaul date rate type(auto, 802.11abg, 802.11n, 802.11ac)"; + } + leaf rate { + type wireless-types:mesh-dot11abg-data-rate; + default "data-rate-auto"; + description + "This value indicates enum value for Mesh backhaul 802.11 tx rate in kbps"; + } + leaf dot11n-mcs-index { + type uint8 { + range "0 .. 31"; + } + default "0"; + description + "This value indicates Mesh backhaul tx rate 802.11n mcs index"; + } + leaf dot11ac-mcs-index { + type uint8 { + range "0 .. 9"; + } + default "0"; + description + "This value indicates Mesh backhaul tx rate 802.11ac mcs index"; + } + leaf spatial-stream { + type uint8 { + range "1 .. 4"; + } + default "1"; + description + "This value indicates Mesh backhaul tx rate 802.11ac spatial stream"; + } + leaf dot11ax-mcs-index { + type uint8 { + range "0 .. 11"; + } + default "0"; + description + "This value indicates Mesh backhaul tx rate 802.11ax mcs index"; + } + leaf dot11ax-spatial-stream-bg { + type uint8 { + range "1 .. 4"; + } + default "1"; + description + "This value indicates Mesh backhaul tx rate 802.11bg spatial stream"; + } + leaf dot11ax-spatial-stream-a { + type uint8 { + range "1 .. 8"; + } + default "1"; + description + "This value indicates Mesh backhaul tx rate 802.11a spatial stream"; + } + } + + grouping st-mesh-fast-teardown { + description + "Parameters for fast teardown of mesh tree upon loss of RAP ethernet uplink connectivity"; + leaf enabled { + type boolean; + default "false"; + description + "Enable/disable fast teardown"; + } + leaf interval { + type uint8 { + range "1 .. 10"; + } + units "seconds"; + must '(current() >= 1) and (current() <= 10) and (number(../retries) * number(current()) <= 10)' { + error-message "Fast teardown interval value must be between 1 and 10 and (interval x retries) should not exceed 10"; + error-app-tag "must-violation"; + } + default "1"; + description + "Retry interval"; + } + leaf retries { + type uint8 { + range "1 .. 10"; + } + must '(current() >= 1) and (current() <= 10) and (number(../interval) * number(current()) <= 10)' { + error-message "Fast teardown retries value must be between 1 and 10 and (interval x retries) should not exceed 10"; + error-app-tag "must-violation"; + } + default "4"; + description + "Number of retries until gateway is considered unreachable"; + } + leaf latency-threshold { + type uint16 { + range "1 .. 500"; + } + units "milliseconds"; + default "10"; + description + "Ping latency threshold"; + } + leaf latency-excd-threshold { + type uint8 { + range "1 .. 30"; + } + units "seconds"; + must '(current() >= ../interval) and (current() <= 30)' { + error-message "Fast teardown latency exceeded threshold must be between configured fast teardown interval and 30"; + error-app-tag "must-violation"; + } + default "8"; + description + "Interval in which at least one ping must succeed in less than threshold time"; + } + leaf uplink-recovery-interval { + type uint32 { + range "1 .. 3600"; + } + units "seconds"; + must '(current() >= ../interval) and (current() <= 3600)' { + error-message "Fast teardown latency exceeded threshold must be between configured fast teardown interval and 3600"; + error-app-tag "must-violation"; + } + default "60"; + description + "Time during which RAP uplink has to be stable to accept child connections"; + } + leaf keep-wireless-connection { + type boolean; + default "false"; + description + "Allow AP to keep its wireless connection with the parent without switching to wired channel"; + } + } + + grouping st-mesh-lc-scan { + description + "Parameters for mesh backhaul least congested channel scan on RAP"; + leaf enabled { + type boolean; + default "false"; + description + "Enable/disable least congested channel scan"; + } + leaf unii3-bias { + type boolean; + default "false"; + description + "Add a 20% bias towards UNII-3 channels over other channels"; + } + leaf channel-width { + type uint8; + units "MHz"; + must '(../channel-width = 20) or (../channel-width = 40) or (../channel-width = 80)' { + error-message "Allowed channel width: 20/40/80"; + error-app-tag "must-violation"; + } + default "20"; + description + "Desired backhaul channel width"; + } + leaf use-unii2 { + type boolean; + default "false"; + description + "Consider the channels in UNII-2 band in least congested channel scan"; + } + } + + grouping st-mesh-profile { + description + "This value indicates the description of the Mesh profile"; + leaf profile-name { + type string { + length "0..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "This value indicates the name of Mesh profile"; + } + leaf description { + type string; + default ""; + description + "This value indicates the name of the Mesh profile description"; + } + leaf amsdu-enabled { + type boolean; + default "true"; + description + "This value indicates whether A-MSDU is enabled or not on the backhaul radio of Mesh AP"; + } + leaf bg-scan-enabled { + type boolean; + default "false"; + description + "This value indicates whether background scanning is enabled or not on the backhaul radio of Mesh AP"; + } + leaf ccn-mode { + type boolean; + default "false"; + description + "This value indicates whether a parent Mesh AP should send Channel change notification for children mesh APs"; + } + leaf bhaul-client-access { + type boolean; + default "false"; + description + "This value indicates whether Client Access is enabled or not on the Backhaul Radio of the Mesh AP"; + } + leaf eth-vlan-transparent { + type boolean; + default "true"; + description + "This value indicates whether Ethernet bridging on Mesh APs should use vlan configuration or not"; + } + leaf full-sector-dfs { + type boolean; + default "true"; + description + "This value indicates whether full sector DFS feature is enabled or not on the Mesh network"; + } + leaf ids-state-enabled { + type boolean; + default "false"; + description + "This value indicates whether Mesh AP should send the IDS, rogue reports to WLC"; + } + leaf multicast-mode { + type wireless-types:mesh-multicast-mode; + default "mesh-multicast-mode-inout"; + description + "This value indicates the multicast mode over mesh network for Ethernet bridged multicast traffic"; + } + leaf range { + type uint32 { + range "150 .. 132000"; + } + default "12000"; + description + "This value indicates the maximum range between outdoor root and mesh Access Points"; + } + leaf security-mode { + type wireless-types:mesh-security-mode; + default "mesh-security-mode-eap"; + description + "This value indicates the security method used for Mesh Access Points"; + } + leaf conv-method { + type wireless-types:mesh-convergence-method; + default "mesh-convergence-standard"; + description + "This value indicates Convergence method used in the Mesh Access Points"; + } + leaf lsc-only-auth { + type boolean; + default "false"; + description + "This value indicates whether LSC Authentication is enabled or not for the Mesh AP"; + } + leaf bridgegroupname { + type string { + pattern '()|[!-~]([ -~]*[!-~])?'; + } + default ""; + description + "This value indicates if strict matching of bridge group name is enabled for Mesh Access Points for parent selection"; + } + leaf bgn-strict-match-enabled { + type boolean; + default "false"; + description + "This value indicates whether Ethernet bridging is enabled or not for Mesh Access Points"; + } + leaf eth-bridging-enabled { + type boolean; + default "false"; + description + "This value indicates whether Ethernet bridging is enabled or not for Mesh Access Points"; + } + leaf battery-state-enabled { + type boolean; + default "true"; + description + "This value indicates whether external battery state is enabled or not for the Mesh Access Point"; + } + leaf authorization-method { + type string; + default ""; + description + "AAA method for the mesh access point authorization"; + } + leaf authentication-method { + type string; + default ""; + description + "AAA method for the mesh access point authentication"; + } + container bhaul-tx-rate-dot11bg { + description + "Mesh backhaul tx rate for 2.4ghz radio backhaul"; + uses wireless-mesh-cfg:st-mesh-data-rate; + } + container bhaul-tx-rate-dot11a { + description + "Mesh backhaul tx rate for 5ghz radio backhaul"; + uses wireless-mesh-cfg:st-mesh-data-rate; + } + leaf daisychain-stp-redundancy { + type boolean; + default "false"; + description + "This value indicates whether Daisy Chain STP Redundancy on Mesh APs is enabled or not"; + } + container lc-scan { + description + "Enable mesh backhaul least congested channel scan"; + uses wireless-mesh-cfg:st-mesh-lc-scan; + } + container fast-teardown { + description + "Enable fast teardown of RAP ethernet uplink"; + uses wireless-mesh-cfg:st-mesh-fast-teardown; + } + leaf map-fast-ancestor-find { + type boolean; + default "false"; + description + "This value indicates whether MAP fast ancestor find is enabled or not on the backhaul radio of Mesh AP"; + } + leaf rap-eth-daisychain { + type boolean; + default "false"; + description + "This value indicates whether RAP ethernet daisy-chain is enabled or not for Mesh RAP"; + } + } + + grouping st-mesh-psk { + description + "This contains all attributes for mesh psk config"; + leaf index { + type uint8 { + range "1 .. 5"; + } + description + "This value indicates the key index"; + } + leaf psk-key { + type string { + length "0 | 3..32"; + } + default ""; + description + "This values indicates the psk key"; + } + leaf psk-key-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "This values indicates the type of the key"; + } + leaf description { + type string { + length "0..64"; + } + default ""; + description + "This value indicates the description of the psk key"; + } + } + + container mesh-cfg-data { + description + "This contains all attributes for mesh config"; + container mesh { + presence "mesh"; + description + "This contains all attributes for mesh global config"; + uses wireless-mesh-cfg:st-mesh-config; + } + container mesh-profiles { + description + "Mesh profiles configuration"; + list mesh-profile { + key "profile-name"; + description + "This contains all attributes for mesh profile config"; + uses wireless-mesh-cfg:st-mesh-profile; + } + } + container mesh-psks { + description + "Mesh psk config"; + list mesh-psk { + key "index"; + description + "This contains all attributes for the mesh psk config"; + uses wireless-mesh-cfg:st-mesh-psk; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-global-oper.yang new file mode 100644 index 000000000..e1db3ffae --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-global-oper.yang @@ -0,0 +1,358 @@ +module Cisco-IOS-XE-wireless-mesh-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mesh-global-oper"; + prefix wireless-mesh-global-oper; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains mesh operational data aggregated across wireless processes. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-mesh-global-stats { + description + "Statistics of mesh AP's joined to the controller"; + leaf num-of-bridge-aps { + type uint32; + description + "Number of bridge mode AP's"; + } + leaf num-of-maps { + type uint32; + description + "Number of mesh AP's"; + } + leaf num-of-raps { + type uint32; + description + "Number of root AP's"; + } + leaf num-of-flex-bridge-aps { + type uint32; + description + "Number of flex bridge mode AP's"; + } + leaf num-of-flex-bridge-maps { + type uint32; + description + "Number of flex mesh AP's"; + } + leaf num-of-flex-bridge-raps { + type uint32; + description + "Number of flex root AP's"; + } + } + + grouping st-emltd-mesh-ap-info { + description + "Mesh AP tree info"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf ap-role { + type wireless-types:ap-role; + description + "Mesh AP role"; + } + leaf bridge-group-name { + type string; + description + "Bridge group name configured on this Access Point"; + } + leaf pref-parent-ap-name { + type string; + description + "Mesh AP parent"; + } + leaf depth { + type uint8; + description + "Depth of mesh AP in the mesh tree"; + } + leaf link-snr { + type uint8; + units "dB"; + description + "Calculated SNR of the link"; + } + leaf curr-freq { + type uint16; + description + "Current operating channel on the AP radio"; + } + leaf chan-util { + type uint16; + units "percentage"; + description + "Channel utilization"; + } + leaf clients-count { + type uint16; + description + "Total number of clients connected to the mesh AP"; + } + leaf not-in-this-wlc { + type boolean; + description + "Indicates mesh AP connected to other controller"; + } + leaf parent-info-not-avail { + type boolean; + description + "Indicates mesh AP connected to other controller"; + } + } + + grouping st-emltd-mesh-ap-tree-data { + description + "Mesh tree info"; + leaf mesh-ap-count { + type uint32; + description + "Number of Bridge AP's"; + } + leaf rap-count { + type uint32; + description + "Number of root AP's"; + } + leaf map-count { + type uint32; + description + "Number of mesh AP's"; + } + list mesh-ap-list { + description + "List of Mesh AP's with path info"; + uses wireless-mesh-global-oper:st-emltd-mesh-ap-info; + } + } + + grouping st-emltd-mesh-path-info { + description + "Path info of a mesh AP"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf ap-role { + type wireless-types:ap-role; + description + "Mesh AP role"; + } + leaf depth { + type uint8; + description + "Depth of mesh AP in the mesh tree"; + } + leaf link-snr { + type uint8; + units "dB"; + description + "Calculated SNR of the link"; + } + leaf curr-freq { + type uint16; + description + "Current operating channel on the AP radio"; + } + leaf rate { + type string; + units "Mbps"; + description + "Mesh backhaul date rate"; + } + leaf flags { + type uint32; + description + "Indicates mesh node status"; + } + leaf state { + type string; + description + "State of the mesh AP"; + } + leaf not-in-this-wlc { + type boolean; + description + "Indicates mesh AP connected to other controller"; + } + } + + grouping st-emltd-mesh-ap-path-info { + description + "List of mesh AP's path info"; + leaf wtp-name { + type string; + description + "AP name"; + } + list mesh-ap-list { + description + "Mesh AP's with path info"; + uses wireless-mesh-global-oper:st-emltd-mesh-path-info; + } + } + + grouping st-emltd-mesh-cac-info { + description + "Call admission control information of the mesh AP"; + leaf ap-name { + type string; + description + "AP name"; + } + leaf depth { + type uint8; + description + "Depth of mesh AP in the mesh tree"; + } + leaf radio-type-slot-id-0 { + type uint8; + description + "Radio slot-0"; + } + leaf radio-type-slot-id-1 { + type uint8; + description + "Radio slot-1"; + } + leaf access-call-bw-24ghz { + type uint16; + units "MHz"; + description + "Access call bandwidth at 24 ghz"; + } + leaf access-call-bw-5ghz { + type uint16; + units "MHz"; + description + "Access call bandwidth at 5 ghz"; + } + leaf voice-bw-allocated-24ghz { + type uint32; + units "MHz"; + description + "Voice bandwidth being allocated for 24 ghz radio"; + } + leaf voice-bw-allocated-5ghz { + type uint32; + units "MHz"; + description + "Voice bandwidth being allocated for 5 ghz radio"; + } + leaf mesh-call-in-progress-5ghz { + type uint16; + description + "Number of access and mesh calls in progress on radio 5 ghz"; + } + leaf mesh-call-rejected-24ghz { + type uint16; + description + "Number of mesh calls rejected on radio 24 ghz"; + } + leaf mesh-call-rejected-5ghz { + type uint16; + description + "Number of mesh calls rejected on radio 5 ghz"; + } + leaf total-active-calls-24ghz { + type uint16; + description + "Number of active calls on radio 24 ghz"; + } + leaf total-active-calls-5ghz { + type uint16; + description + "Number of active calls on radio 5 ghz"; + } + leaf call-in-progress-24ghz { + type uint16; + description + "Number of access and mesh calls in progress on radio 24 ghz"; + } + } + + grouping st-emltd-mesh-ap-cac-info { + description + "List mesh AP's Call admission control information"; + leaf wtp-name { + type string; + description + "AP name"; + } + list cac-info-list { + description + "Mesh AP's with cac info"; + uses wireless-mesh-global-oper:st-emltd-mesh-cac-info; + } + } + + container mesh-global-oper-data { + config false; + description + "Root container for mesh operational data aggregated across wireless processes"; + container mesh-global-stats { + presence "mesh-global-stats"; + description + "Summary of mesh AP statistics"; + uses wireless-mesh-global-oper:st-mesh-global-stats; + } + list mesh-ap-cac-info { + key "wtp-name"; + description + "Summary of mesh voice call statistics"; + uses wireless-mesh-global-oper:st-emltd-mesh-ap-cac-info; + } + list mesh-ap-path-info { + key "wtp-name"; + description + "Mesh AP path from root AP to mesh AP"; + uses wireless-mesh-global-oper:st-emltd-mesh-ap-path-info; + } + list mesh-ap-tree-data { + key "sector-number wtp-mac"; + description + "Mesh AP tree view"; + uses wireless-types:ewlc-mesh-sector-root-key; + uses wireless-mesh-global-oper:st-emltd-mesh-ap-tree-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-oper.yang new file mode 100644 index 000000000..9b4867081 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-oper.yang @@ -0,0 +1,2270 @@ +module Cisco-IOS-XE-wireless-mesh-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mesh-oper"; + prefix wireless-mesh-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Wireless Mesh Operational Data + Copyright (c) 2016-2020, 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added DCA mesh sub-tree description + - Updated DCA status description"; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2023-07-01 { + description + "Added mesh roam history"; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2023-03-01 { + description + "- Added mesh backhaul primary ethernet port + - Added RAP ethernet daisy chain + - Added RAP ethernet daisy chain super root + - The leaf psk-key-timestamp has been deprecated because it reflects the psk key provisioned timestamp. It actually indicates the description of the provisioned PSK key"; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2022-07-01 { + description + "- Added a new DCA status, when the algorithm is run too early. + - Added DCA changed channel on mesh backhaul. + - Added DCA status information on mesh backhaul. + - Added more DCA status information on mesh backhaul."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2020-07-01 { + description + "Added Daisy chain STP redundancy."; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2019-11-01 { + description + "- Deprecated started-at as it reflects real time clock. Added new leaf start-time to reflect time of the day"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-12-10 { + description + "- Update descriptions + - Added neigh-status in st-mesh-adj-minfo + - Added the grouping flag-neigh-status + - Remove eth-status in st-mesh-cable-modem + - Remove eth-speed in st-mesh-cable-modem + - Remove node-status from st-mesh-adj-minfo + - Remove bh-rate in st-mesh-adj-minfo + - Remove previous-role, parent-ap-mac-addr, depth and bhaul-mask leafs from st-mesh-ap-oper-data + - Remove the following groupings and data nodes that reference them + - st-mesh-astools + - st-mesh-cm-ds-rx-freq + - st-mesh-cm-us-tx-freq + - st-mesh-cm-us-tx-pow + - st-mesh-cm-us-cton-ratio + - st-mesh-hop-list + - st-mesh-dist-vector + - st-mesh-dist-vector-arr + - st-mesh-smooth-snr + - Remove leafs sys-time, east-velocity, north-velocity, up-velocity from st-mesh-gps-info + - Remove leafs flags, worst-dist-vector, antenna, num-routes, vectors, smooth-snrs, hopcount-version, update-flag from grouping st-mesh-adj-minfo + - Remove leafs next-channel, next-antenna, dlink-antenna, dlink-chan, current-antenna, next-neighbor from st-mesh-adj-modinfo + - Remove adj-ancestor-list and adj-list-len from st-mesh-ap-node-neigh-info + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Added Neighbour AP's base radio MAC address in Mesh adjacent information."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-05-01 { + description + "- Change type of bhaul-tx-rate in st-mesh-ap-oper-data from uint32 to mesh-dot11abg-data-rate + - Added new data to st-mesh-ap-oper-data + - Change type of data-rate in mesh-link-test-config from uint16 to mesh-linktest-rate + - Added data-rate-index to mesh-link-test-config"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-09-25 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-mesh-dca-status { + type enumeration { + enum mesh-dca-not-running { + value 0; + description + "DCA not running"; + } + enum mesh-dca-running { + value 1; + description + "DCA run in progress"; + } + } + description + "enumeration for DCA run status"; + } + + typedef enm-mesh-dca-reason { + type enumeration { + enum mesh-dca-none { + value 0; + description + "DCA not run"; + } + enum mesh-dca-exec-cli { + value 1; + description + "DCA run triggered by exec CLI"; + } + enum mesh-dca-auto { + value 2; + description + "DCA run triggered by auto-dca config"; + } + enum mesh-dca-no-child { + value 3; + description + "DCA run triggered for RAP with no child"; + } + } + description + "enumeration for DCA run trigger"; + } + + typedef enm-mesh-dca-result { + type enumeration { + enum mesh-dca-channel-invalid { + value 0; + description + "DCA status yet to be updated"; + } + enum mesh-dca-channel-changed { + value 1; + description + "DCA run completed and channel change is proposed"; + } + enum mesh-dca-channel-not-changed { + value 2; + description + "DCA run completed, channel change not proposed"; + } + enum mesh-dca-manual-channel-change { + value 3; + description + "DCA run terminated by a manual channel change"; + } + enum mesh-dca-terminated-timeout { + value 4; + description + "DCA run terminated by timeout"; + } + enum mesh-dca-channel-not-allowed { + value 5; + description + "DCA run completed, not enough measurements to change channel"; + } + } + description + "enumeration for DCA run status and outcome"; + } + + typedef enm-mesh-dca-chan-change-status { + type enumeration { + enum mesh-dca-channel-change-na { + value 0; + description + "Channel change not applicable"; + } + enum mesh-dca-channel-change-in-prog { + value 1; + description + "Awaiting channel change result"; + } + enum mesh-dca-channel-change-succeeded { + value 2; + description + "Mesh backhaul Channel changed"; + } + enum mesh-dca-channel-change-failed { + value 3; + description + "Mesh backhaul channel not changed"; + } + } + description + "enumeration for channel change status"; + } + + typedef flag-neigh-status { + type bits { + bit mesh-ae-updated { + position 0; + description + "Received an update for this adjacent node"; + } + bit mesh-ae-parent { + position 1; + description + "Neighbor mesh node is a parent mesh node of this mesh node"; + } + bit mesh-ae-tent-parent { + position 2; + description + "Node is the tentative parent"; + } + bit mesh-ae-neigh { + position 3; + description + "Its a neighbor mesh node. It can be on same or different mesh-sector"; + } + bit mesh-ae-black { + position 4; + description + "Node is blacklisted"; + } + bit mesh-ae-hash { + position 5; + description + "Whether node is on the hash table or not"; + } + bit mesh-ae-alloc { + position 6; + description + "Whether the node is allocated"; + } + bit mesh-ae-permsnr { + position 7; + description + "Management set the SNR variable"; + } + bit mesh-ae-child { + position 8; + description + "Neighbor mesh node is child of this mesh node"; + } + bit mesh-ae-needupdate { + position 9; + description + "Need an update to be considered again"; + } + bit mesh-ae-trigger { + position 10; + description + "Send trigger to parent"; + } + bit mesh-ae-beacon { + position 11; + description + "Neighbor mesh node found by passive scanning"; + } + bit mesh-ae-default { + position 12; + description + "Neighbor mesh node connected using a mismatched bridge group name"; + } + } + description + "Mesh neighbor status"; + } + + grouping st-mesh-node-pkt-queue-stats { + description + "Packet stats for different queues in AP radio"; + leaf peak-length { + type uint16; + description + "Peak number of packets waiting in the queue"; + } + leaf average-len { + type uint16; + description + "Average number of packets waiting in the queue"; + } + leaf overflows { + type uint16; + description + "Total number of packets dropped due to queue overflow"; + } + } + + grouping st-mesh-node-pkt-queue-stats-key { + description + "Key for packet queue stats table"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf q-type { + type wireless-types:mesh-node-pkt-queue-type; + description + "Queue type on the AP radio"; + } + } + + grouping st-mesh-node-data-rate-stats { + description + "Statistics information about a mesh node for different data rates"; + leaf tx-success { + type uint32; + description + "Total number of packets successfully transmitted at a given data rate"; + } + leaf tx-attempts { + type uint32; + description + "Total number of transmitted attempts at a given data rate"; + } + } + + grouping st-mesh-node-data-rate-stats-key { + description + "Key for data rate statistics table"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf neigh-ap-mac { + type yang:mac-address; + description + "Radio MAC address of neighbor Access Point"; + } + leaf data-rate-index { + type uint32; + description + "Supported data rates of the mesh access point"; + } + } + + grouping st-mesh-ap-security-stats-parent { + description + "Security stats at the parent Mesh Access Point"; + leaf unknown-assoc-req { + type uint32; + description + "Total number of unknown association requests received by this node, as a parent mesh node from a child mesh node"; + } + leaf invalid-assoc-req { + type uint32; + description + "Total number of invalid association requests received by this node, as a parent mesh node from a child mesh node"; + } + leaf unknown-tgr-auth-req { + type uint32; + description + "Total number of unknown TGR Auth requests received by this node, as a parent mesh node from a child mesh node"; + } + leaf invalid-tgr-auth-req { + type uint32; + description + "Total number of invalid TGR Auth requests received by this node, as a parent mesh node from a child mesh node"; + } + leaf unknown-tgr-reassoc-req { + type uint32; + description + "Total number of unknown TGR re-association requests received by this node, as a parent mesh node from a child mesh node"; + } + leaf invalid-tgr-reassoc-req { + type uint32; + description + "Total number of invalid TGR re-association requests received by this node, as a parent mesh node from a child mesh node"; + } + } + + grouping st-mesh-ap-security-stats-child { + description + "Security stats at the Child Mesh Access Point"; + leaf assoc-failure { + type uint32; + description + "Total number of association requests sent by a child mesh node to a parent mesh node, that resulted in a failure"; + } + leaf assoc-timeout { + type uint32; + description + "Total number of association requests sent by a child mesh node to a parent mesh node, that timed out"; + } + leaf assoc-success { + type uint32; + description + "Total number of association requests sent by a child mesh node to a parent mesh node, that completed"; + } + leaf auth-failure { + type uint32; + description + "Total number of authentication requests sent by a child mesh node to a parent mesh node, that resulted in a failure"; + } + leaf auth-timeout { + type uint32; + description + "Total number of authentication requests sent by a child mesh node to a parent mesh node, that timed out"; + } + leaf auth-success { + type uint32; + description + "Total number of authentication requests sent by a child mesh node to a parent mesh node, that completed"; + } + leaf tgr-auth-failure { + type uint32; + description + "Total number of TGR authentication requests sent by a child mesh node to a parent mesh node, that resulted in a failure"; + } + leaf tgr-auth-timeout { + type uint32; + description + "Total number of TGR authentication requests sent by a child mesh node to a parent mesh node, that timed out"; + } + leaf tgr-auth-success { + type uint32; + description + "Total number of TGR authentication requests sent by a child mesh node to a parent mesh node, that completed"; + } + leaf tgr-reassoc-failure { + type uint32; + description + "Total number of TGR re-association requests sent by a child mesh node to a parent mesh node, that resulted in a failure"; + } + leaf tgr-reassoc-timeout { + type uint32; + description + "Total number of TGR re-association requests sent by a child mesh node to a parent mesh node, that timed out"; + } + leaf tgr-reassoc-success { + type uint32; + description + "Total number of TGR re-association requests sent by a child mesh node to a parent mesh node, that completed"; + } + } + + grouping st-mesh-ap-security-stats { + description + "Security stats at Mesh Access Point"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf tx-pkts-total { + type uint32; + description + "Total number of packets transmitted by this mesh node during security negotiation"; + } + leaf rx-pkts-total { + type uint32; + description + "Total number of packets received by this mesh node during security negotiation"; + } + leaf rx-pkts-error { + type uint32; + description + "Total number of packets received with error by this mesh node during security negotiation"; + } + container stats-parent { + description + "Security stats at the parent Mesh Access Point"; + uses wireless-mesh-oper:st-mesh-ap-security-stats-parent; + } + container stats-child { + description + "Security stats at the Child Mesh Access Point"; + uses wireless-mesh-oper:st-mesh-ap-security-stats-child; + } + } + + grouping st-mesh-ap-oper-data { + description + "Operational data for a Mesh Access Point"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf bhaul-slot-id { + type uint8; + description + "Backhaul Radio slot identifier used by this Access Point"; + } + leaf bhaul-rate-mcs-ss { + type uint8; + description + "Mesh Backhaul 802.11ac MCS spatial stream"; + } + leaf active-trunk-native-vlan { + type uint16; + description + "Trunk native VLAN of Mesh Access Point connected through wire"; + } + leaf configured-role { + type wireless-types:ap-role; + description + "Configured AP role for this Mesh Access Point"; + } + leaf bhaul-radio-mode { + type wireless-types:mesh-bhaul-mode; + description + "Backhaul Radio mode (11a, 11b, 11g) on this Access Point"; + } + leaf ap-mode { + type wireless-types:enm-ewlc-spam-ap-modes; + description + "AP mode for this Mesh Access Point"; + } + leaf ap-role { + type wireless-types:ap-role; + description + "AP role for this Mesh Access Point"; + } + leaf bhaul-radio-type { + type wireless-types:mesh-bhaul-radio-type; + description + "Mesh Backhaul Radio type(802.11a, 802.11bg) on this Access Point"; + } + leaf bhaul-data-rate-type { + type wireless-types:mesh-bhaul-data-rate-type; + description + "Mesh Backhaul data rate type(auto, 802.11a, 802.11bg, 11n mcs, 11ac) on this Access Point"; + } + leaf bhaul-tx-rate { + type wireless-types:mesh-dot11abg-data-rate; + description + "Data rate used in the Backhaul Radio interface of this Access Point"; + } + leaf bhaul-rate-mcs-index { + type uint32; + description + "Mesh Backhaul MCS data rate index"; + } + leaf neigh-child-cnt { + type uint32; + description + "Number of child mesh neighbours for an Access Point"; + } + leaf ap-specific-bhaul-tx-rate { + type boolean; + description + "Backhaul data rate is AP specific for this Access Point"; + } + leaf trunk-vlan-enabled { + type boolean; + description + "Whether VLAN trunking is enabled or disabled for the Root Mesh Access point"; + } + leaf bhaul-child-presence { + type boolean; + description + "If there are any child Mesh Access points present for this Mesh AP"; + } + leaf bhaul-over-ethernet { + type boolean; + description + "Whether this Mesh Access point is connected to the Controller over Ethernet interface"; + } + leaf bgn-strict-match { + type boolean; + description + "Whether Strict match of bridge group name is enabled or disabled for this Mesh Access Point"; + } + leaf use-default-bgn { + type boolean; + description + "Whether default bridge group name can be used to find a parent Mesh Access Point by this AP"; + } + leaf daisy-chain-mode { + type boolean; + description + "Whether daisy chain mode is enabled or disabled in this Mesh Access Point"; + } + leaf rap-strict-daisy-chain-mode { + type boolean; + description + "Whether strict daisy chain mode is enabled or disabled in this Mesh Access Point"; + } + leaf block-child-enabled { + type boolean; + description + "Whether child Mesh Access points are blocked to join to this Mesh Access Point"; + } + leaf ethernet-bridging-enabled { + type boolean; + description + "Whether Ethernet bridging is enabled or disabled in this Mesh Access Point"; + } + leaf preferred-parent { + type yang:mac-address; + description + "Preferred parent AP MAC Address configured on this Access Point"; + } + leaf parent-ap-awpp-addr { + type yang:mac-address; + description + "AWPP Identity at the parent Mesh Access Point"; + } + leaf bridge-group-name { + type string; + description + "Bridge group name configured on this Access Point"; + } + leaf psk-key-timestamp { + type string; + status deprecated; + description + "Time at which this PSK key was configured"; + } + leaf mesh-profile-configured { + type string; + description + "Configured Mesh profile name for the Access Point"; + } + leaf mesh-profile-inuse { + type string; + description + "Mesh profile name used by the Access Point"; + } + leaf daisychain-stp-redundancy { + type boolean; + description + "This value indicates whether daisy chain STP redundancy is enabled or not for the Mesh Access Point"; + } + leaf bhaul-primary-eth-port { + type uint8; + description + "This value indicated mesh backhaul primary ethernet port"; + } + leaf rap-eth-daisychain { + type boolean; + description + "This value indicates whether RAP ethernet daisy chain is enabled or not for Mesh"; + } + leaf rap-daisychain-super-root { + type boolean; + description + "This value indicates whether RAP ethernet daisy chain super root is enabled or not for the Mesh Access Point"; + } + } + + grouping st-mesh-gps-info { + description + "GPS related information for the Mesh Access point"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf location-flags { + type uint8; + description + "Whether the access point has the GPS module installed or not"; + } + leaf latitude { + type uint32; + description + "Latitude information in the GPS data received"; + } + leaf longitude { + type uint32; + description + "Longitude information in the GPS data received"; + } + leaf altitude { + type uint32; + description + "Altitude information in the GPS data received"; + } + } + + grouping st-mesh-cable-modem { + description + "Cable Modem related information for the Mesh Access point"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of the Mesh Access Point"; + } + leaf cm-mac-address { + type yang:mac-address; + description + "Cable modem MAC address"; + } + leaf ap-mac-address { + type yang:mac-address; + description + "Cable modem AP MAC address"; + } + leaf ap-cm-int-mac-address { + type yang:mac-address; + description + "Mesh AP cable modem interface MAC Address"; + } + leaf mask-bit { + type uint32; + description + "Value of cable modem mask bit"; + } + leaf cm-sw-version { + type string; + description + "Cable modem software version"; + } + leaf cm-status { + type string; + description + "Docsis registration status for the cable modem interface of mesh AP"; + } + leaf cm-serial-number { + type string; + description + "Cable modem serial number"; + } + } + + grouping st-mesh-node-neigh-key { + description + "Key for mesh node neighbor table"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of the Access Point"; + } + leaf neigh-ap-mac { + type yang:mac-address; + description + "MAC address of neighbor mesh Access Point"; + } + } + + grouping st-mesh-adj-minfo { + description + "Neighbor AP related information"; + leaf channel { + type uint8; + description + "Channel of the neighbor Access Point"; + } + leaf potl-parent-timeouts-left { + type uint8; + description + "Remaining number of potential parent timeout"; + } + leaf timeouts-left-for-child { + type uint8; + description + "Remaining number of timeouts for the child"; + } + leaf snr { + type uint8; + description + "SNR value for the Mesh Access Point"; + } + leaf snr-up { + type uint8; + description + "SNR of the link to the AP"; + } + leaf snr-down { + type uint8; + description + "SNR of the link from the AP"; + } + leaf link-snr { + type uint8; + description + "Calculated SNR of the link"; + } + leaf slot-id { + type uint8; + description + "Radio slot id of neighbor AP"; + } + leaf chan-width { + type uint8; + description + "Channel width used by the neighbor AP"; + } + leaf blacklist-timeouts-left { + type uint16; + description + "Remaining number of blacklist timeouts"; + } + leaf neigh-type { + type wireless-types:enm-mesh-node-neigh-type; + description + "Neighbor Mesh AP's role"; + } + leaf neigh-state { + type wireless-types:enm-mesh-node-neigh-state; + description + "Neighbor Mesh AP's neighbor info update state"; + } + leaf rate { + type uint32; + description + "Current rate of the Neighbor AP"; + } + leaf adjusted-ease { + type uint32; + description + "Hops adjusted ease value"; + } + leaf unadjusted-ease { + type uint32; + description + "Ease to the root AP through this AP"; + } + leaf rap-ease { + type uint32; + description + "Unadjusted ease received in last hello message"; + } + leaf tx-pkts-parent { + type uint32; + description + "Total number of packets transmitted to this node as a parent AP"; + } + leaf rx-pkts-parent { + type uint32; + description + "Total number of packets received from this node as a parent AP"; + } + leaf poor-snr { + type uint32; + description + "Number of packets received with poor SNR"; + } + leaf neigh-status { + type wireless-mesh-oper:flag-neigh-status; + description + "Neighbor status"; + } + leaf neigh-mac-addr { + type yang:mac-address; + description + "MAC address of the Neighbor AP"; + } + leaf neigh-base-mac-addr { + type yang:mac-address; + description + "Base radio MAC address of the Neighbor AP"; + } + leaf ap-identity { + type yang:mac-address; + description + "Identity of the mesh Access Point"; + } + leaf neigh-ap-name { + type string; + description + "Neighbor AP name"; + } + leaf bridge-group-name { + type string; + description + "Bridge group name of the neighbor AP"; + } + leaf last-update { + type yang:date-and-time; + description + "Time at which the last hello is received from this neighbor"; + } + leaf parent-change-time { + type yang:date-and-time; + description + "Time at which this AP became parent"; + } + } + + grouping st-mesh-neigh-per-stats { + description + "Mesh AP PER statistics"; + leaf tx-pkts-total { + type uint32; + description + "Total packets transmitted"; + } + leaf tx-pkts-success { + type uint32; + description + "Total packets transmitted successfully"; + } + leaf retry-pkts-total { + type uint32; + description + "Total packets retried"; + } + leaf rts-attempts { + type uint32; + description + "Number of RTS attempts"; + } + leaf rts-success { + type uint32; + description + "Number of successful RTS"; + } + } + + grouping st-mesh-node-dr-stats { + description + "Mesh AP data rate stats"; + leaf last-update { + type uint8; + description + "When the neighbor table was last updated"; + } + leaf rts-attempts { + type uint32; + description + "Number of RTS attempts"; + } + leaf rts-success { + type uint32; + description + "Number of successful RTS"; + } + } + + grouping st-mesh-node-neigh-info { + description + "Mesh AP neighbor related information"; + container mesh-neighs { + description + "Mesh AP neighbor details"; + uses wireless-mesh-oper:st-mesh-adj-minfo; + } + container neigh-per-stats { + description + "Mesh AP PER statistics"; + uses wireless-mesh-oper:st-mesh-neigh-per-stats; + } + } + + grouping st-mesh-adj-modinfo { + description + "Adjacency information for the mesh Access Point"; + leaf rap { + type uint8; + description + "Whether this is a root mode Mesh AP"; + } + leaf current-sector-hops { + type uint8; + description + "Number of hops from RAP to this mesh AP in the sector"; + } + leaf neigh-state { + type wireless-types:mesh-adj-state; + description + "Type of Neighbor Access Point"; + } + leaf malformed-neigh-pkts { + type uint32; + description + "Total number of packets received from Neighbor AP which could not be decoded"; + } + leaf poor-neigh-snr { + type uint32; + description + "Total number of packets received from Neighbor AP which has SNR value below threshold"; + } + leaf blacklist-pkts { + type uint32; + description + "Total number of packets received from excluded Neighbor APs"; + } + leaf insufficient-memory { + type uint32; + description + "Number of packets dropped due to insufficient memory"; + } + leaf rx-neigh-req { + type uint32; + description + "Total number of neighbor requests received from Neighbor APs"; + } + leaf rx-neigh-resp { + type uint32; + description + "Total number of neighbor responses received from Neighbor APs"; + } + leaf tx-neigh-req { + type uint32; + description + "Total number of neighbor requests sent to Neighbor APs"; + } + leaf tx-neigh-resp { + type uint32; + description + "Total number of neighbor responses sent to Neighbor APs"; + } + leaf authentication-failures { + type uint32; + description + "Total number of Authentication failures with Neighbor APs"; + } + leaf parent-changes { + type uint32; + description + "Total number of times this mesh node has changed its parent"; + } + leaf neigh-timeout { + type uint32; + description + "Number of Neighbor timeouts"; + } + leaf rx-neigh-update { + type uint32; + description + "Number of Neighbor updates received"; + } + leaf tx-neigh-update { + type uint32; + description + "Number of Neighbor updates transmitted"; + } + leaf current-best-neigh { + type uint32; + description + "Number of best neighbor APs"; + } + } + + grouping st-mesh-ap-node-neigh-info { + description + "Adjacency and Ancestor information for the mesh Access Point"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of the Mesh Access Point"; + } + container adj-modinfo { + description + "Adjacency information for the mesh Access Point"; + uses wireless-mesh-oper:st-mesh-adj-modinfo; + } + container dr-stats { + description + "Mesh AP data rate stats"; + uses wireless-mesh-oper:st-mesh-node-dr-stats; + } + } + + grouping st-mesh-node-battery { + description + "Battery related information for this mesh Access Point"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of Mesh Access Point"; + } + leaf input-voltage { + type uint16; + units "volt"; + description + "AC voltage across the input terminals of the battery in outdoor mesh Access Point"; + } + leaf output-voltage { + type uint16; + units "volt"; + description + "Voltage across the output terminals of the battery in outdoor Mesh Access Point"; + } + leaf output-power { + type uint16; + units "watt"; + description + "Output power of the battery in outdoor Mesh Access Point"; + } + leaf internal-voltage { + type uint16; + units "volt"; + description + "Internal voltage of the battery in outdoor Mesh Access Point"; + } + leaf temperature { + type uint16; + units "celsius"; + description + "Temperature in celsius of the battery in outdoor mesh Access Point"; + } + leaf current { + type uint16; + units "ampere"; + description + "Current in the Battery of outdoor Mesh Access Point"; + } + leaf charge { + type uint16; + units "percentage"; + description + "Charging status in percentage for the Battery in outdoor Mesh Access Point"; + } + leaf alarms { + type wireless-types:mesh-node-battery-alarm; + description + "Notification status for Battery related Alarms in outdoor Mesh Access Point"; + } + leaf sw-version { + type string; + description + "Software version for the Battery in outdoor Mesh Access Point"; + } + leaf serial-number { + type string; + description + "Serial number of the Battery in outdoor Mesh Access Point"; + } + } + + grouping st-mesh-eth-intf-stats { + description + "Statistics for the Mesh AP Ethernet interface"; + leaf rx-ucast-pkts { + type uint32; + description + "Total number of unicast packets received on the Mesh AP Ethernet interface"; + } + leaf rx-n-ucast-pkts { + type uint32; + description + "Total number of Non-unicast packets received on the Mesh AP Ethernet interface"; + } + leaf tx-ucast-pkts { + type uint32; + description + "Total number of unicast packets transmitted on the Mesh AP Ethernet interface"; + } + leaf tx-n-ucast-pkts { + type uint32; + description + "Total number of Non-unicast packets transmitted on the Mesh AP Ethernet interface"; + } + } + + grouping st-mesh-trunk-vlan-list { + description + "Allowed VLANs list when in trunk mode for the Mesh Access Point"; + leaf-list buffer { + type uint16; + max-elements 32; + ordered-by user; + description + "Holds the list of allowed VLANs"; + } + } + + grouping st-mesh-eth-intf-vlan { + description + "VLAN configurations for Mesh AP Ethernet interface"; + leaf mode { + type wireless-types:ethernet-port-type; + description + "Ethernet interface mode as whether Trunk or Access"; + } + leaf vlan-id { + type uint16; + description + "VLAN identifier for the Ethernet interface of Mesh Access Point"; + } + leaf trunk-vlan-list-count { + type uint16; + description + "Total number of allowed VLANs for the Ethernet interface of Mesh Access Point"; + } + container trunk-vlan-list { + description + "Allowed VLANs list when in trunk mode for the Mesh Access Point"; + uses wireless-mesh-oper:st-mesh-trunk-vlan-list; + } + } + + grouping st-mesh-eth-intf-vlan-config { + description + "VLAN configurations for Mesh AP Ethernet interfaces"; + container current-config { + description + "Current VLAN configurations for Mesh AP Ethernet interface"; + uses wireless-mesh-oper:st-mesh-eth-intf-vlan; + } + container stored-config { + description + "Stored VLAN configurations for Mesh AP Ethernet interface"; + uses wireless-mesh-oper:st-mesh-eth-intf-vlan; + } + } + + grouping st-mesh-eth-info { + description + "Information related to the status of Mesh AP Ethernet interfaces"; + leaf intf-name { + type string; + description + "Name of the Mesh AP Ethernet Interface"; + } + leaf port-number { + type uint8; + description + "Ethernet interface port number of the Mesh AP"; + } + leaf speed { + type uint8; + description + "Speed for the Mesh AP Ethernet interface"; + } + leaf duplex { + type uint8; + description + "Duplex for the Mesh AP Ethernet interface"; + } + leaf status { + type boolean; + description + "Status of Mesh AP Ethernet interface"; + } + container eth-stats { + description + "Statistics for the Mesh AP Ethernet interface"; + uses wireless-mesh-oper:st-mesh-eth-intf-stats; + } + container eth-vlan-config { + description + "VLAN configurations for Mesh AP Ethernet interface"; + uses wireless-mesh-oper:st-mesh-eth-intf-vlan-config; + } + } + + grouping st-mesh-eth-info-arr { + description + "List of Mesh AP Ethernet interfaces with their status information"; + list buffer { + max-elements 5; + description + "Holds the list of AP Ethernet interfaces with their status information"; + uses wireless-mesh-oper:st-mesh-eth-info; + } + } + + grouping st-mesh-node-env-info { + description + "Mesh AP Ethernet interface related information"; + leaf number-of-ports { + type uint32; + description + "Number of Ethernet ports on the mesh AP"; + } + leaf bhaul-intf-name { + type string; + description + "Backhaul interface name for the Mesh AP"; + } + container eth-if-status { + description + "Status of Mesh AP Ethernet interfaces"; + uses wireless-mesh-oper:st-mesh-eth-info-arr; + } + } + + grouping st-mesh-temperature { + description + "Temperature related information of Mesh AP "; + leaf status { + type uint32; + description + "Status of Mesh AP "; + } + leaf degree { + type uint32; + units "celsius"; + description + "Degree in celsius of Mesh AP "; + } + leaf heater-status { + type uint32; + description + "Heater status of the Mesh AP"; + } + leaf temp-state { + type uint32; + description + "Temperature state of the Mesh AP"; + } + leaf temp-fahrenheit { + type uint32; + units "fahrenheit"; + description + "Temperature info of a Mesh AP in fahrenheit"; + } + } + + grouping st-mesh-peripheral-info { + description + "Peripheral device information for this mesh Access Point"; + container temperature { + description + "Temperature information of the mesh AP"; + uses wireless-mesh-oper:st-mesh-temperature; + } + leaf cm-installed { + type boolean; + description + "Whether cable modem is applicable for this Mesh AP"; + } + leaf fiber-sfp-installed { + type boolean; + description + "Whether Fiber SFP is applicable for this mesh AP"; + } + leaf poe-out-status { + type boolean; + description + "POE out status for this mesh AP"; + } + leaf orientation { + type uint8; + description + "Orientation for this mesh AP"; + } + } + + grouping st-mesh-node-component-info { + description + "Information related to peripheral components for Mesh Access Point"; + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of the Access Point"; + } + container env-info { + description + "Mesh AP Ethernet interface related information"; + uses wireless-mesh-oper:st-mesh-node-env-info; + } + container battery-state { + description + "Battery related information for this mesh Access Point"; + uses wireless-mesh-oper:st-mesh-node-battery; + } + container peripheral-info { + description + "Peripheral device information for this mesh Access Point"; + uses wireless-mesh-oper:st-mesh-peripheral-info; + } + } + + grouping st-bgn-channel-comp-key { + description + "Key for subset channel list table"; + leaf bgn { + type string; + description + "Bridge group name for the access point in the mesh network"; + } + leaf channel { + type uint8; + description + "Channel number in subset channel list"; + } + } + + grouping st-subset-channel-list { + description + "Information related to subset channel list for a mesh network"; + leaf rap-local-count { + type uint8; + description + "Number of Root Access Points using the bridge group name and channel"; + } + } + + grouping mesh-linktest-snr-profile { + description + "Mesh Linktest SNR Profile"; + leaf-list buffer-snr { + type uint32; + max-elements 21; + ordered-by user; + description + "List of SNR values during the linktest"; + } + } + + grouping mesh-link-test-nf-profile { + description + "Represents Mesh Linktest NF Profile"; + leaf-list buffer-nf { + type uint32; + max-elements 21; + ordered-by user; + description + "List of NF values during the linktest"; + } + } + + grouping mesh-link-test-rssi-profile { + description + "Represents Mesh Linktest RSSI Profile"; + leaf-list buffer-rssi { + type uint32; + max-elements 21; + ordered-by user; + description + "List of RSSI values"; + } + } + + grouping mesh-link-test-result { + description + "Results of Mesh Linktest"; + leaf elapsed-time { + type uint32; + description + "Time elapsed for the Mesh Linktest"; + } + leaf last-rx-rate { + type uint32; + description + "RX rate received in the last response"; + } + leaf link-test-buffer-allocation-error { + type uint32; + description + "Number of RX buffer allocation error"; + } + leaf link-test-queue-full-error { + type uint32; + description + "Number of RX queue full error"; + } + leaf total-tx-pkts { + type uint32; + description + "Total number of packets transmitted"; + } + leaf total-rx-pkts { + type uint32; + description + "Total number of packets received"; + } + leaf good-rx-pkts { + type uint32; + description + "Total number of good packets received"; + } + leaf duplicate-rx-pkts { + type uint32; + description + "Total number of duplicate packets received"; + } + leaf short-rx-pkts { + type uint32; + description + "Total number of linktest packets which were shorter than expected"; + } + leaf big-rx-pkts { + type uint32; + description + "Total number of packets which were bigger than expected"; + } + leaf rx-pkts-physical-errors { + type uint32; + description + "Total number of packets received with error at physical layer"; + } + leaf rx-pkts-crc-errors { + type uint32; + description + "Total number of packets with CRC error"; + } + leaf rx-pkts-seq-errors { + type uint32; + description + "Total number of packets received with out of order sequence number"; + } + leaf rx-pkts-unknown-errors { + type uint32; + description + "Total number of packets received with unknown error"; + } + leaf rx-pkts-prev-seq { + type uint32; + description + "Sequence number of the last packet received"; + } + leaf rx-pkts-lost { + type uint32; + description + "Total number of packets lost during linktest"; + } + leaf rx-pkts-average-snr { + type int32; + description + "Average SNR(signal to noise) during linktest"; + } + leaf rx-pkts-highest-snr { + type int32; + description + "Highest SNR(signal to noise) during linktest"; + } + leaf rx-pkts-lowest-snr { + type int32; + description + "Lowest SNR(signal to noise) during linktest"; + } + leaf rx-pkts-average-nf { + type int32; + description + "Average NF(noise floor) during linktest"; + } + leaf rx-pkts-highest-nf { + type int32; + description + "Highest NF(noise floor) during linktest"; + } + leaf rx-pkts-lowest-nf { + type int32; + description + "Lowest NF(noise floor) during linktest"; + } + leaf rx-pkts-average-rssi { + type int32; + description + "Average RSSI during linktest"; + } + leaf rx-pkts-highest-rssi { + type int32; + description + "Highest RSSI during linktest"; + } + leaf rx-pkts-lowest-rssi { + type int32; + description + "Lowest RSSI during linktest"; + } + leaf last-elapsed-timestamp { + type yang:date-and-time; + description + "Time elapsed after the last response"; + } + leaf last-rx-timestamp { + type yang:date-and-time; + description + "Time at which the last packet was received"; + } + container snr-profile { + description + "Mesh Linktest SNR Profile"; + uses wireless-mesh-oper:mesh-linktest-snr-profile; + } + container nf-profile { + description + "Mesh Linktest NF Profile"; + uses wireless-mesh-oper:mesh-link-test-nf-profile; + } + container rssi-profile { + description + "Mesh Linktest RSSI Profile"; + uses wireless-mesh-oper:mesh-link-test-rssi-profile; + } + } + + grouping mesh-link-test-mac-endpoints { + description + "MAC address of APs participating in linktest"; + leaf source-mac { + type yang:mac-address; + description + "MAC address of the source AP"; + } + leaf destination-mac { + type yang:mac-address; + description + "MAC address of the destination AP"; + } + } + + grouping mesh-link-test-config { + description + "Mesh linktest configuration parameters"; + leaf data-rate { + type wireless-types:mesh-linktest-rate; + description + "Data rate in Mbps which will is supported by both APs"; + } + leaf data-rate-index { + type wireless-types:mesh-linktest-rate-idx; + description + "Data rate index used for linktest traffic"; + } + leaf status { + type wireless-types:mesh-linktest-cfg-status; + description + "Current status of the linktest"; + } + leaf packet-size { + type uint16; + description + "Size of the packets in bytes"; + } + leaf duration { + type uint16; + description + "Time interval for the linktest in seconds"; + } + leaf pkts-per-sec { + type uint32; + description + "Number of packets per seconds to be transmitted"; + } + } + + grouping mesh-link-test { + description + "Mesh Linktest parameters"; + leaf linktest-id { + type uint32; + description + "Mesh linktest ID"; + } + leaf record-in-use { + type boolean; + description + "Whether the linktest is in progress"; + } + leaf started-at { + type yang:date-and-time; + status deprecated; + description + "Time at which linktest started. Going forward, start-time should be used as started-at reflects the real time clock but not the current time of the day whereas start-time reflects current time of the day"; + } + container config { + description + "Mesh linktest config parameters"; + uses wireless-mesh-oper:mesh-link-test-config; + } + container results { + description + "Mesh linktest results parameters"; + uses wireless-mesh-oper:mesh-link-test-result; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of the link test"; + } + } + + grouping st-mesh-wmm-data { + description + "Details of WIFI multimedia data information"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf radio-type { + type wireless-enum-types:enm-radio-type; + description + "Radio type"; + } + leaf direction { + type uint8; + description + "Data traffic direction"; + } + leaf nominal-msdu-size { + type uint16; + description + "Nominal MAC service data unit size"; + } + leaf bw-allocated { + type uint16; + description + "Bandwidth allocated for the client"; + } + leaf mean-data-rate { + type uint32; + description + "Average data rate of the radio"; + } + } + + grouping st-mesh-ap-node-cac-info { + description + "Call admission control information of the mesh AP"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address common to the dot11 interface of the AP"; + } + leaf bw-in-use-24ghz { + type uint16; + description + "Maximum bandwidth being utilised for 24 ghz radio"; + } + leaf bw-in-use-5ghz { + type uint16; + description + "Maximum bandwidth being utilised for 5 ghz radio"; + } + leaf mesh-call-in-progress-24ghz { + type uint16; + description + "Number of access and mesh calls in progress on radio 24 ghz"; + } + leaf mesh-call-in-progress-5ghz { + type uint16; + description + "Number of access and mesh calls in progress on radio 5 ghz"; + } + leaf mesh-call-rejected { + type uint16; + description + "Number of mesh calls rejected on backhaul radio"; + } + leaf voice-bw-allocated-24ghz { + type uint32; + description + "Voice bandwidth being allocated for 24 ghz radio"; + } + leaf voice-bw-allocated-5ghz { + type uint32; + description + "Voice bandwidth being allocated for 5 ghz radio"; + } + list mesh-wmm-data { + key "client-mac"; + description + "WIFI multimedia data information"; + uses wireless-mesh-oper:st-mesh-wmm-data; + } + } + + grouping st-noise-data { + description + "Noise measurements used in DCA run"; + leaf chan { + type uint8; + description + "Channel for which noise is reported"; + } + leaf noise { + type int8; + units "dBm"; + description + "Noise floor value for the channel"; + } + leaf bias { + type uint8; + description + "Bias used for interferers"; + } + } + + grouping st-load { + description + "Radio load measurement used in DCA run"; + leaf rx-util { + type uint16; + units "percentage"; + description + "Percentage receive utilization"; + } + leaf tx-util { + type uint16; + units "percentage"; + description + "Percentage transmit utilization"; + } + leaf cca-util { + type uint16; + units "percentage"; + description + "Percentage value of clear channel assessment"; + } + leaf stations { + type uint32; + description + "Attached clients"; + } + } + + grouping st-foreign-data { + description + "Foreign interference measurement used in DCA run"; + leaf chan { + type uint8; + description + "Channel identifier"; + } + leaf util { + type uint16; + units "percentage"; + description + "Received channel-utilization percentage due to Noise"; + } + leaf power { + type int8; + units "dBm"; + description + "Channel tx-power"; + } + leaf rogue20-count { + type uint8; + description + "Rogues on 20MHz"; + } + leaf rogue40-primary-count { + type uint8; + description + "Rogues on 40MHz"; + } + leaf rogue80-primary-count { + type uint8; + description + "Rogues on 80MHz"; + } + } + + grouping st-radar-data { + description + "Radar status on channel, considered in DCA run"; + leaf chan { + type uint8; + description + "Channel identifier"; + } + leaf radar-detected { + type empty; + description + "Radar detection status on channel"; + } + } + + grouping st-mstype { + description + "Wireless clients statistics, attached to radio"; + leaf num11ac-clients { + type uint32; + description + "802.11ac clients attached to radio"; + } + leaf num11n-clients { + type uint32; + description + "802.11n clients attached to radio"; + } + leaf num11a-clients { + type uint32; + description + " 802.11a clients attached to radio"; + } + leaf num-voice-clients { + type uint32; + description + "Clients attached to radio, transmitting/receiving voice traffic"; + } + leaf num-video-clients { + type uint32; + description + "Clients attached to radio, transmitting/receiving video traffic"; + } + leaf num11ac160-clients { + type uint32; + description + "802.11ac 160MHz clients"; + } + leaf num-clients-total { + type uint32; + description + "Total clients attached to radio"; + } + } + + grouping st-neighbor { + description + "Neighbors reported by radio"; + leaf neighbor-mac { + type yang:mac-address; + description + "Neighbor radio reported"; + } + leaf slot { + type uint8; + description + "Neighbor radio slot id"; + } + leaf grp-leader-ip { + type inet:ip-address; + description + "Group leader ip address"; + } + leaf rssi { + type int8; + units "dBm"; + description + "Signal strength of the neighbor"; + } + } + + grouping st-dca-input-data { + description + "Input parameters considered in last DCA execution"; + list noise-data { + max-elements 64; + description + "Noise measurements used in DCA run"; + uses wireless-mesh-oper:st-noise-data; + } + container load-data { + description + "Radio load measurement used in DCA run"; + uses wireless-mesh-oper:st-load; + } + list foreign-data { + max-elements 64; + description + "Foreign interference measurement used in DCA run"; + uses wireless-mesh-oper:st-foreign-data; + } + list radar-data { + max-elements 64; + description + "Radar status per channel considered in DCA run"; + uses wireless-mesh-oper:st-radar-data; + } + container client-data { + description + "Wireless client stats on radio considered in DCA run"; + uses wireless-mesh-oper:st-mstype; + } + list neighbor-data { + max-elements 24; + description + "Neighbors reported by radio, considered in DCA run"; + uses wireless-mesh-oper:st-neighbor; + } + } + + grouping st-dca-result { + description + "Last DCA execution outcome parameters"; + leaf result-ts { + type yang:date-and-time; + description + "Timestamp last DCA execution finished"; + } + leaf best-chan { + type uint8; + description + "Best channel as per DCA"; + } + leaf best-chan-width { + type uint8; + description + "Best channel width as per DCA"; + } + leaf next-best-chan { + type uint8; + description + "Second best channel as per DCA"; + } + leaf next-best-chan-width { + type uint8; + description + "Second best channel as per DC "; + } + } + + grouping st-dca-status { + description + "Last DCA execution status on radio"; + leaf start-ts { + type yang:date-and-time; + description + "DCA execution start timestamp"; + } + leaf bh-channel { + type uint8; + description + "Mesh backhaul radio channel"; + } + leaf width { + type uint8; + units "MHz"; + description + "Mesh backhaul radio channel width"; + } + container result-info { + description + "Last DCA execution outcome information"; + uses wireless-mesh-oper:st-dca-result; + } + leaf dca-result { + type wireless-mesh-oper:enm-mesh-dca-result; + description + "Last DCA execution result"; + } + leaf chan-change-status { + type wireless-mesh-oper:enm-mesh-dca-chan-change-status; + description + "Channel change status, if proposed by DCA"; + } + leaf radio-ap-name { + type string; + description + "AP name"; + } + leaf dca-status { + type wireless-mesh-oper:enm-mesh-dca-status; + description + "DCA status, Not applicable for auto DCA"; + } + leaf dca-reason { + type wireless-mesh-oper:enm-mesh-dca-reason; + description + "Event that triggered DCA run"; + } + leaf mesh-sub-tree-descr { + type string; + description + "Mesh sub-tree where DCA is running"; + } + } + + grouping st-mesh-roam-entry { + description + "Entry in the list of mesh roams for the AP"; + leaf timestamp { + type yang:date-and-time; + description + "Timestamp of the roam"; + } + leaf parent-wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the parent AP"; + } + leaf parent-eth-mac { + type yang:mac-address; + description + "Ethernet MAC address of the parent AP"; + } + leaf parent-ap-name { + type string; + description + "Name of the parent AP"; + } + leaf reason { + type string; + description + "Reason for roam"; + } + leaf lisp-rloc { + type inet:ip-address; + description + "RLOC of the AP (valid only for SDA/Fabric scenarios)"; + } + leaf lisp-parent-rloc { + type inet:ip-address; + description + "RLOC of the parent AP (valid only for SDA/Fabric scenarios)"; + } + leaf lisp-rap-rloc { + type inet:ip-address; + description + "RLOC of the RAP (valid only for SDA/Fabric scenarios)"; + } + } + + grouping st-mesh-roam { + description + "Mesh roaming history for the AP"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + leaf is-fabric { + type empty; + description + "Whether the AP is in fabric mode or not"; + } + list entry { + description + "List of roams for the AP"; + uses wireless-mesh-oper:st-mesh-roam-entry; + } + } + + container mesh-oper-data { + config false; + description + "Mesh operational data"; + list mesh-q-stats { + key "wtp-mac q-type"; + description + "Mesh Access point packet queue statistics"; + uses wireless-mesh-oper:st-mesh-node-pkt-queue-stats-key; + uses wireless-mesh-oper:st-mesh-node-pkt-queue-stats; + } + list mesh-dr-stats { + key "wtp-mac neigh-ap-mac data-rate-index"; + description + "Mesh Access point data rate statistics"; + uses wireless-mesh-oper:st-mesh-node-data-rate-stats-key; + uses wireless-mesh-oper:st-mesh-node-data-rate-stats; + } + list mesh-sec-stats { + key "wtp-mac"; + description + "Mesh Access point security statistics"; + uses wireless-mesh-oper:st-mesh-ap-security-stats; + } + list mesh-oper-data { + key "wtp-mac"; + description + "Mesh Access point operational data"; + uses wireless-mesh-oper:st-mesh-ap-oper-data; + } + list mesh-gps-info { + key "wtp-mac"; + description + "GPS related information for the Mesh Access point"; + uses wireless-mesh-oper:st-mesh-gps-info; + } + list mesh-ap-node-cac-info { + key "wtp-mac"; + description + "Mesh call admission control related information"; + uses wireless-mesh-oper:st-mesh-ap-node-cac-info; + } + list mesh-rrm-dca-status { + key "wtp-mac radio-slot-id"; + description + "DCA execution status on Mesh backhaul"; + uses wireless-types:radio-slot-key; + uses wireless-mesh-oper:st-dca-status; + uses wireless-mesh-oper:st-dca-input-data; + } + list mesh-roam { + key "wtp-mac"; + description + "Mesh roaming history for the AP"; + uses wireless-mesh-oper:st-mesh-roam; + } + list mesh-rrm-dca-changed { + key "wtp-mac radio-slot-id"; + description + "DCA last changed channel on Mesh backhaul"; + uses wireless-types:radio-slot-key; + uses wireless-mesh-oper:st-dca-status; + uses wireless-mesh-oper:st-dca-input-data; + } + list mesh-cm { + key "wtp-mac"; + description + "Cable Modem related information for the Mesh Access point"; + uses wireless-mesh-oper:st-mesh-cable-modem; + } + list mesh-neigh { + key "wtp-mac neigh-ap-mac"; + description + "Mesh AP neighbor related information"; + uses wireless-mesh-oper:st-mesh-node-neigh-key; + uses wireless-mesh-oper:st-mesh-node-neigh-info; + } + list mesh-ap-neigh { + key "wtp-mac"; + description + "Adjacency and Ancestor information for the mesh Access Point"; + uses wireless-mesh-oper:st-mesh-ap-node-neigh-info; + } + list mesh-subset-channel-list { + key "bgn channel"; + description + "Subset channel list table"; + uses wireless-mesh-oper:st-bgn-channel-comp-key; + uses wireless-mesh-oper:st-subset-channel-list; + } + list mesh-comp-info { + key "wtp-mac"; + description + "Information related to peripheral components for Mesh Access Point"; + uses wireless-mesh-oper:st-mesh-node-component-info; + } + list mesh-linktest-parameters { + key "linktest-id"; + description + "Mesh linktest related information"; + uses wireless-mesh-oper:mesh-link-test; + uses wireless-mesh-oper:mesh-link-test-mac-endpoints; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-rpc.yang new file mode 100644 index 000000000..ac2937ac1 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mesh-rpc.yang @@ -0,0 +1,941 @@ +module Cisco-IOS-XE-wireless-mesh-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mesh-rpc"; + prefix wireless-mesh-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of definitions for + Wireless Mesh Remote Procedure Calls. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Removed Mesh Fabric optimize trigger and query"; + reference + "2.2.1"; + cisco-semver:module-version "2.2.1"; + } + revision 2023-03-01 { + description + "- Added mesh backhaul primary ethernet port trigger RPC + - Added RAP ethernet daisy chain super root + - Made leaf bhaul-slot-id non mandatory + - Added constraint on data rate input of set mesh backhaul transmit rate RPC"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2022-07-01 { + description + "- Added mesh backhaul RRM DCA trigger RPC."; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef ap-identifier-type { + type enumeration { + enum ap-identifier-name { + value 0; + description + "AP name"; + } + enum ap-identifier-mac-address { + value 1; + description + "AP MAC address"; + } + } + description + "Access point identification type"; + } + + grouping set-rap-eth-daisychain-super-root { + description + "Configure RAP ethernet daisy chain super root on a bridge mode AP"; + leaf super-root { + type boolean; + mandatory true; + description + "Provision/un-provision super root"; + } + choice alternative-choice { + mandatory true; + description + "Identify Mesh AP by AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping rrm-80211a-channel-update-mesh-bgn { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP in bridge group on 5GHz band"; + leaf bgn-name { + type string; + mandatory true; + description + "Bridge Group name"; + } + } + + grouping rrm-80211b-channel-update-mesh-bgn { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP in bridge group on 2.4GHz band"; + leaf bgn-name { + type string; + mandatory true; + description + "Bridge Group name"; + } + } + + grouping exec-linktest-ap { + description + "Execute a link test between 2 bridge mode APs"; + leaf dst-ap-mac { + type yang:mac-address; + mandatory true; + description + "Radio MAC address of the destination AP"; + } + leaf pkt-per-sec { + type uint32 { + range "1..25000"; + } + units "pps"; + mandatory true; + description + "Packet rate"; + } + leaf pkt-size { + type uint32 { + range "1..1500"; + } + units "bytes"; + mandatory true; + description + "Size of packets for link test"; + } + leaf duration { + type uint32 { + range "10..300"; + } + units "seconds"; + mandatory true; + description + "Total link test duration"; + } + leaf data-rate-idx { + type wireless-types:mesh-linktest-rate-idx; + mandatory true; + description + "Dot11a/b/g data rate index"; + } + choice alternative-choice { + mandatory true; + description + "Identify Source AP by AP name or radio MAC"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Source AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Source AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-security-psk-provisioning-delete { + description + "Delete the provisioned PSK key on a bridge mode AP"; + choice alternative-choice { + mandatory true; + description + "Identify AP by AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP Radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-preferred-parent-ap { + description + "Configure the preferred parent of a bridge mode AP"; + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "Radio MAC address of the preferred parent"; + } + leaf enable { + type boolean; + mandatory true; + description + "Provision/un-provision the preferred parent"; + } + choice alternative-choice { + mandatory true; + description + "Identify the Mesh AP using AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-daisy-chain-mode { + description + "Configure daisy chain mode on a bridge mode AP"; + leaf daisy-chain-mode { + type boolean; + mandatory true; + description + "Enable/disable daisy chaining"; + } + choice alternative-choice { + mandatory true; + description + "Identify Mesh AP by AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-daisy-chain-strict-rap { + description + "Configure strict daisy chain mode on a bridge mode AP"; + leaf daisy-chain-strict-rap { + type boolean; + mandatory true; + description + "Provision/un-provision strict daisy chain mode"; + } + choice alternative-choice { + mandatory true; + description + "Identify Mesh AP by AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-block-child { + description + "Configure block child mode on a bridge mode AP"; + leaf block-child-state { + type boolean; + mandatory true; + description + "Enable/Disable block child mode"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-bhaul-radio { + description + "Configure backhaul radio slot of a bridge mode AP. This is only applicable to root access points connected over ethernet"; + leaf bhaul-slot-id { + type uint32 { + range "0..3"; + } + description + "Backhaul radio slot ID"; + } + leaf bhaul-radio-band { + type wireless-enum-types:enm-radio-band; + must "(current() = 'band-2-dot-4-ghz') or (current() = 'band-5-ghz')" { + error-message "Invalid radio band selected"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Backhaul radio band"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-bhaul-tx-rate { + description + "Configure backhaul transmission rate parameters for bridge mode AP"; + leaf bhaul-rate-mcs-index { + when "(../data-rate = 'mesh-bhaul-rate-type-dot11n') or (../data-rate = 'mesh-bhaul-rate-type-dot11ac') or (../data-rate = 'mesh-bhaul-rate-type-dot11ax')"; + type uint32 { + range "0..31"; + } + must "((current() >= 0) and (current() <= 9) and (../data-rate = 'mesh-bhaul-rate-type-dot11ac')) or ((current() >= 0) and (current() <= 11) and (../data-rate = 'mesh-bhaul-rate-type-dot11ax')) or (../data-rate = 'mesh-bhaul-rate-type-dot11n')" { + error-message "MCS index value is invalid for selected data rate type"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Backhaul transmission MCS rate index"; + } + leaf spatial-stream { + when "(../data-rate = 'mesh-bhaul-rate-type-dot11ac') or (../data-rate = 'mesh-bhaul-rate-type-dot11ax')"; + type uint32 { + range "1..8"; + } + must "((current() >= 1) and (current() <= 4) and (../data-rate = 'mesh-bhaul-rate-type-dot11ac')) or (../data-rate = 'mesh-bhaul-rate-type-dot11ax')" { + error-message "Spatial stream value is invalid for selected data rate type"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Mesh backhaul 802.11ac spatial stream"; + } + leaf data-rate { + type wireless-types:mesh-bhaul-data-rate-type; + must "(current() = 'mesh-bhaul-rate-type-dot11abg' and ../bhaul-tx-rate-type != 'data-rate-auto') or (current() != 'mesh-bhaul-rate-type-dot11abg')" { + error-message "Data rate cannot be AUTO when rate type is selected as 802.11abg"; + error-app-tag "must-violation"; + } + mandatory true; + description + "802.11 data rate. Set to AUTO or manually select 802.11abg/n/ac"; + } + leaf bhaul-tx-rate-type { + when "../data-rate = 'mesh-bhaul-rate-type-dot11abg'"; + type wireless-types:mesh-dot11abg-data-rate; + mandatory true; + description + "Valid 802.11a/b/g data rate"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping rrm-80211b-ap-rrm-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for RAP on 2.4GHz band"; + choice alternative-choice { + mandatory true; + description + "Identify the Mesh AP using AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping rrm-80211a-ap-rrm-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for RAP on 5GHz band"; + choice alternative-choice { + mandatory true; + description + "Identify the Mesh AP using AP name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "Mesh AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "Mesh AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-trunking-vlan { + description + "Configure the trunk native VLAN for primary port of a wired bridge mode AP"; + leaf vlan-id { + type uint16 { + range "1..4094"; + } + mandatory true; + description + "VLAN ID to be configured on primary port"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-trunking { + description + "Enable the default trunk native VLAN or reset native VLAN for primary port on a wired bridge mode AP"; + leaf flag { + type boolean; + mandatory true; + description + "Enable/Disable VLAN trunking"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-ethernet-access-vlan { + description + "Configure access VLAN mode and ID on a bridge mode AP"; + leaf flag { + type boolean; + mandatory true; + description + "Enable/Disable access mode for an ethernet port"; + } + leaf port-num { + type uint32 { + range "0..3"; + } + mandatory true; + description + "Ethernet port number to be configured"; + } + leaf vlan-id { + type uint16 { + range "0..4094"; + } + mandatory true; + description + "Set VLAN ID of access port. 0 is the default VLAN"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-bh-primary-ethernet-port { + description + "Configure primary ethernet port of a bridge mode AP"; + leaf port-num { + type uint8 { + range "0..1"; + } + mandatory true; + description + "Primary ethernet port number"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-ethernet-trunk-native-vlan { + description + "Configure trunk mode and native VLAN ID for a bridge mode AP"; + leaf flag { + type boolean; + mandatory true; + description + "Enable/Disable trunk mode for an ethernet port"; + } + leaf port-num { + type uint32 { + range "0..3"; + } + mandatory true; + description + "Ethernet port number to be configured"; + } + leaf vlan-id { + type uint16 { + range "1..4094"; + } + mandatory true; + description + "Set native VLAN ID of trunking port"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + grouping set-rad-mesh-ethernet-trunk-allowed-vlan { + description + "Configure allowed vlan on trunk port of a bridge mode AP"; + leaf flag { + type boolean; + mandatory true; + description + "Add/remove allowed VLAN to/from trunk port"; + } + leaf port-num { + type uint32 { + range "0..3"; + } + mandatory true; + description + "Ethernet port number of trunk port"; + } + leaf vlan-id { + type uint16 { + range "0..4094"; + } + mandatory true; + description + "Set allowed VLAN ID of trunk port. 0 is the default VLAN"; + } + choice alternative-choice { + mandatory true; + description + "Identify AP by name or radio MAC address"; + case ap-identifier-name { + leaf ap-name { + type string; + mandatory true; + description + "AP name"; + } + } + case ap-identifier-mac-address { + leaf mac-addr { + type yang:mac-address; + mandatory true; + description + "AP radio MAC address"; + } + } + } + } + + rpc set-rap-eth-daisychain-super-root { + description + "Configure ethernet daisy chain super root on a mesh AP"; + input { + uses wireless-mesh-rpc:set-rap-eth-daisychain-super-root; + } + } + + rpc rrm-80211a-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP on 5GHz band"; + } + + rpc rrm-80211b-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP on 2.4GHz band"; + } + + rpc rrm-80211a-channel-update-mesh-bgn { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP in bridge group on 5GHz band"; + input { + uses wireless-mesh-rpc:rrm-80211a-channel-update-mesh-bgn; + } + } + + rpc rrm-80211b-channel-update-mesh-bgn { + description + "Trigger RRM DCA run for Mesh backhaul for all RAP in bridge group on 2.4GHz band"; + input { + uses wireless-mesh-rpc:rrm-80211b-channel-update-mesh-bgn; + } + } + + rpc exec-linktest-ap { + description + "Perform link test between 2 bridge mode APs"; + input { + uses wireless-mesh-rpc:exec-linktest-ap; + } + } + + rpc set-rad-mesh-security-psk-provisioning-delete { + description + "Delete the provisioned PSK key on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-security-psk-provisioning-delete; + } + } + + rpc set-rad-mesh-preferred-parent-ap { + description + "Configure the preferred parent of a mesh AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-preferred-parent-ap; + } + } + + rpc set-rad-mesh-daisy-chain-mode { + description + "Configure daisy chain mode on a mesh AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-daisy-chain-mode; + } + } + + rpc set-rad-mesh-daisy-chain-strict-rap { + description + "Configure strict daisy chain on a mesh AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-daisy-chain-strict-rap; + } + } + + rpc set-rad-mesh-block-child { + description + "Configure block child mode on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-block-child; + } + } + + rpc set-rad-mesh-bhaul-radio { + description + "Configure the backhaul radio of a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-bhaul-radio; + } + } + + rpc set-rad-mesh-bhaul-tx-rate { + description + "Configure the backhaul transmission parameters of a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-bhaul-tx-rate; + } + } + + rpc rrm-80211b-ap-rrm-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for RAP on 2.4GHz band"; + input { + uses wireless-mesh-rpc:rrm-80211b-ap-rrm-channel-update-mesh; + } + } + + rpc rrm-80211a-ap-rrm-channel-update-mesh { + description + "Trigger RRM DCA run for Mesh backhaul for RAP on 5GHz band"; + input { + uses wireless-mesh-rpc:rrm-80211a-ap-rrm-channel-update-mesh; + } + } + + rpc set-rad-mesh-trunking-vlan { + description + "Configure the trunk VLAN port on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-trunking-vlan; + } + } + + rpc set-rad-mesh-trunking { + description + "Configure VLAN trunking on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-trunking; + } + } + + rpc set-rad-mesh-ethernet-access-vlan { + description + "Configure access VLAN on a bridge mode AP ethernet port"; + input { + uses wireless-mesh-rpc:set-rad-mesh-ethernet-access-vlan; + } + } + + rpc set-rad-mesh-bh-primary-ethernet-port { + description + "Configure backhaul primary ethernet port of a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-bh-primary-ethernet-port; + } + } + + rpc set-rad-mesh-ethernet-trunk-native-vlan { + description + "Configure native VLAN for a trunk ethernet port on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-ethernet-trunk-native-vlan; + } + } + + rpc set-rad-mesh-ethernet-trunk-allowed-vlan { + description + "Configure allowed VLAN for a trunk ethernet port on a bridge mode AP"; + input { + uses wireless-mesh-rpc:set-rad-mesh-ethernet-trunk-allowed-vlan; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-cfg.yang new file mode 100644 index 000000000..3b36c0416 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-cfg.yang @@ -0,0 +1,369 @@ +module Cisco-IOS-XE-wireless-mobility-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mobility-cfg"; + prefix wireless-mobility-cfg; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing mobility configurations + Copyright (c) 2016-2019, 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Corrected mobility group name length constraints + - Corrected multicast IPv6 address constraints"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2021-03-01 { + description + "Configuration support for mobility DTLS high cipher"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-11-01 { + description + "- Added checks for peer IP and NAT IP addresses. + - Added constraint for remote group multicast addresses."; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2018-12-15 { + description + " - Cleaned up spelling errors in descriptions. + - Added boolean config parameters to indicate multicast support."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-09-06 { + description + "- Renamed mobility and hidden configurations + - removed Mobility mode config + - Added units for mm-hb-delay"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-01 { + description + "Add mobility peer configuration"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mmgroupinfo { + description + "Mobility group config information"; + leaf group-name { + type string { + length "1..31"; + } + must '../group-name != ../../../mobility-config/local-group' { + error-message "Group name is conflicting with local group name"; + error-app-tag "must-violation"; + } + must "(../mcast-addr-enabled != 'false') or (../mcast-addrv6-enabled != 'false')" { + error-message "Multicast address must be specified for remote mobility group"; + error-app-tag "must-violation"; + } + description + "Group name for remote mobility group"; + } + leaf mcast-addr-enabled { + type boolean; + default "false"; + description + "Enable IPv4 multicast support for mobility group"; + } + leaf multicast-address { + type inet:ipv4-address; + must "(../mcast-addr-enabled = 'false') or (../multicast-address != ../../../mobility-config/local-multicast-address)" { + error-message "Non-local mobility group IPv4 multicast address conflicts with local group multicast address"; + error-app-tag "must-violation"; + } + must "(../mcast-addr-enabled = 'false') or + starts-with(../multicast-address, '224.') or starts-with(../multicast-address, '225.') or + starts-with(../multicast-address, '226.') or starts-with(../multicast-address, '227.') or + starts-with(../multicast-address, '228.') or starts-with(../multicast-address, '229.') or + starts-with(../multicast-address, '230.') or starts-with(../multicast-address, '231.') or + starts-with(../multicast-address, '232.') or starts-with(../multicast-address, '233.') or + starts-with(../multicast-address, '234.') or starts-with(../multicast-address, '235.') or + starts-with(../multicast-address, '236.') or starts-with(../multicast-address, '237.') or + starts-with(../multicast-address, '238.') or starts-with(../multicast-address, '239.')" { + error-message "Invalid IPv4 multicast address"; + error-app-tag "must-violation"; + } + must "(../mcast-addr-enabled = 'false') or + (count(../../../mobility-groups/mobility-group/multicast-address[current()=.]) = 1)" { + error-message "Non-local mobility group IPv4 multicast address conflicts with another group's multicast address"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Mobility multicast ipv4 address for remote group"; + } + leaf mcast-addrv6-enabled { + type boolean; + default "false"; + description + "Enable IPv6 multicast support for mobility group"; + } + leaf multicast-addressv6 { + type inet:ipv6-address; + must "(../mcast-addrv6-enabled = 'false') or (../multicast-addressv6 != ../../../mobility-config/local-ipv6-multicast-address)" { + error-message "Non-local mobility group IPv6 multicast address conflicts with local group multicast address"; + error-app-tag "must-violation"; + } + must "(../mcast-addrv6-enabled = 'false') or (contains(substring(../multicast-addressv6, 1, 4), 'ff00'))" { + error-message "Invalid IPv6 multicast address"; + error-app-tag "must-violation"; + } + must "(../mcast-addrv6-enabled = 'false') or + (count(../../../mobility-groups/mobility-group/multicast-addressv6[current()=.]) = 1)" { + error-message "Non-local mobility group IPv6 multicast address conflicts with another group's multicast address"; + error-app-tag "must-violation"; + } + default "0:0:0:0:0:0:0:0"; + description + "Mobility multicast ipv6 address for remote group"; + } + } + + grouping mmpeer { + description + "Mobility Peer Config"; + leaf mac-addr { + type yang:mac-address; + description + "Mobility peer MAC address"; + } + leaf ip-address { + type inet:ip-address; + must "(../nat-ip = current()) or + (count(../../../mobility-peers/mobility-peer[nat-ip = current()]) < 1)" { + error-message "A peer cannot have the private IP that is configured as the public IP of another peer"; + error-app-tag "must-violation"; + } + description + "Peer IP Address"; + } + leaf group-name { + type string { + length "1..31"; + } + mandatory true; + description + "Peer group name"; + } + leaf nat-ip { + type inet:ip-address; + must "(count(../../../mobility-peers/mobility-peer[nat-ip = current()]) = 1) or + (current() = '0.0.0.0')" { + error-message "Different mobility peers cannot have the same public IP address (with the exception of 0.0.0.0)"; + error-app-tag "must-violation"; + } + must "(../ip-address = current()) or + (count(../../../mobility-peers/mobility-peer[ip-address = current()]) < 1)" { + error-message "A peer cannot have the public IP that is configured as the private IP of another peer"; + error-app-tag "must-violation"; + } + must "(contains(../ip-address, ':') and contains(current(), ':')) or + (not(contains(../ip-address, ':') or contains(current(), ':')))" { + error-message "Peer's public and private addresses have to be of the same type"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Peer Public IP"; + } + leaf data-link-encryption { + type boolean; + default "false"; + description + "Peer data link encryption status"; + } + leaf ssc-hash { + type string; + default ""; + description + "Peer SSC HASH"; + } + } + + grouping mmcfg { + description + "Mobility Configuration"; + leaf local-group { + type string { + length "1..31"; + } + default "default"; + description + "Local Mobility group name"; + } + leaf local-mcast-addr-enabled { + type boolean; + default "false"; + description + "Enable IPv4 multicast support for local mobility group"; + } + leaf local-multicast-address { + type inet:ipv4-address; + must "(../local-mcast-addr-enabled != 'true') or + starts-with(../local-multicast-address, '224.') or starts-with(../local-multicast-address, '225.') or + starts-with(../local-multicast-address, '226.') or starts-with(../local-multicast-address, '227.') or + starts-with(../local-multicast-address, '228.') or starts-with(../local-multicast-address, '229.') or + starts-with(../local-multicast-address, '230.') or starts-with(../local-multicast-address, '231.') or + starts-with(../local-multicast-address, '232.') or starts-with(../local-multicast-address, '233.') or + starts-with(../local-multicast-address, '234.') or starts-with(../local-multicast-address, '235.') or + starts-with(../local-multicast-address, '236.') or starts-with(../local-multicast-address, '237.') or + starts-with(../local-multicast-address, '238.') or starts-with(../local-multicast-address, '239.')" { + error-message "Invalid IPv4 multicast address"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Local mobility Multicast IPv4 address"; + } + leaf local-ipv6-mcast-addr-enabled { + type boolean; + default "false"; + description + "Enable IPv6 multicast support for local mobility group"; + } + leaf local-ipv6-multicast-address { + type inet:ipv6-address; + must "(../local-ipv6-mcast-addr-enabled != 'true') or contains(substring(../local-ipv6-multicast-address, 1, 2), 'ff')" { + error-message "Invalid IPv6 multicast address"; + error-app-tag "must-violation"; + } + default "0::0"; + description + "Local mobility Multicast IPv6 address"; + } + leaf mobility-keepalive-interval { + type uint16 { + range "1 .. 30"; + } + units "seconds"; + default "10"; + description + "Mobility Keep Alive interval"; + } + leaf mobility-keepalive-count { + type uint16 { + range "3 .. 20"; + } + default "3"; + description + "Mobility Keep Alive count"; + } + leaf mobility-dscp { + type uint8 { + range "0 .. 63"; + } + default "48"; + description + "mobility dcsp value"; + } + leaf mac-address { + type yang:mac-address; + default "00:00:00:00:00:00"; + description + "Mobility local Mac Address"; + } + container mobility-peers { + description + "Mobility Peers configuration"; + list mobility-peer { + key "mac-addr"; + unique "ip-address"; + max-elements 72; + description + "List of Mobility Peers"; + uses wireless-mobility-cfg:mmpeer; + } + } + leaf mm-dtls-high-cipher { + type boolean; + default "false"; + description + "Enable/Disable DTLS high cipher for mobility"; + } + } + + container mobility-cfg-data { + description + "Yang model for wireless mobility config"; + container mobility-config { + description + "Mobility configuration database"; + uses wireless-mobility-cfg:mmcfg; + } + container mobility-groups { + description + "Mobility Groups configuration"; + list mobility-group { + key "group-name"; + description + "List of Mobility Groups"; + uses wireless-mobility-cfg:mmgroupinfo; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-oper.yang new file mode 100644 index 000000000..f5174eef0 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-oper.yang @@ -0,0 +1,827 @@ +module Cisco-IOS-XE-wireless-mobility-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mobility-oper"; + prefix wireless-mobility-oper; + + import Cisco-IOS-XE-ntp-oper { + prefix ntp-ios-xe-oper; + } + import Cisco-IOS-XE-wireless-mobility-types { + prefix wireless-mobility-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless mobility operational data. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Added number of sleeping client in mobility stats"; + reference + "6.4.0"; + cisco-semver:module-version "6.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2021-03-01 { + description + "- Added mobility global operational data + - Added DTLS tunnel type and cipher suite parameters"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2020-11-01 { + description + "Added mobility peer data link encryption status"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-11-01 { + description + "- Added a constraint for client association time in mobility client data. + - Added mobility domain information."; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-02-25 { + description + "- Removed sclient username and password as it is sensitive data + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Removed few mobility attributes + - Removed private fields of mobility peer + - Removed mobility management event stats"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-09-06 { + description + "- Added Units to leaves carrying timestamps + - Added roam and delete handoff statistics in mobility event statistics + - Added roam and handoff stats in mobility peer stats"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Table renames"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef mobility-ap-list-source-type { + type enumeration { + enum self { + value 0; + description + "AP entry connected locally"; + } + enum mobility-group { + value 1; + description + "AP entry from other controllers in mobility group"; + } + } + description + "AP entries connected locally or from the other + controllers in the mobility group"; + } + + grouping mmif-global-msg-stats { + description + "Mobility Interface global message statistics"; + list ipc-stats { + max-elements 255; + description + "Inter-process messaging statistics for mobility control CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + } + + grouping mmif-global-stats { + description + "Mobility Interface global event statistics"; + container mblty-stats { + description + "Mobility Interface event statistics"; + uses wireless-mobility-types:mmif-mobility-stats; + } + container mblty-domain-info { + description + "Mobility domain information for local mobility group"; + uses wireless-mobility-types:mobility-domain-info; + } + } + + grouping mm-dtls-stats { + description + "Global mobility DTLS statistics"; + list event-stats { + max-elements 2; + description + "DTLS event statistics for mobility control and data tunnels"; + uses wireless-mobility-types:mm-dtls-event-stats; + } + list msg-stats { + max-elements 2; + description + "DTLS message statistics for mobility control and data tunnels"; + uses wireless-mobility-types:mm-dtls-msg-stats; + } + } + + grouping mm-global-msg-stats { + description + "Global mobility message statistics"; + list ipc-stats { + max-elements 255; + description + "Inter-process messaging statistics for mobility control CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + list dgram-stats { + max-elements 255; + description + "Inter-controller messaging statistics for mobility control tunnel CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + list dgram-data-stats { + max-elements 255; + description + "Inter-controller messaging statistics for mobility data tunnel CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + } + + grouping mm-global-stats { + description + "Mobility global statistics"; + container mm-mblty-stats { + description + "Mobility management event statistics"; + uses wireless-mobility-types:mm-mobility-stats; + } + leaf num-of-sleeping-clients { + type uint32; + description + "Number of sleeping clients"; + } + } + + grouping mm-client-stats { + description + "Mobility and message statistics for client"; + leaf client-mac { + type yang:mac-address; + description + "Ethernet MAC of client"; + } + container mm-mblty-stats { + description + "Mobility statistics for client"; + uses wireless-mobility-types:mm-mobility-stats; + } + list ipc-stats { + max-elements 255; + description + "Inter-process messaging statistics for mobility control CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + list dgram-stats { + max-elements 255; + description + "Inter-controller messaging statistics for mobility control tunnel CAPWAP messages"; + uses wireless-mobility-types:mm-msg-stats; + } + } + + grouping mobility-client-params { + description + "Mobility client parameters"; + leaf client-mac { + type yang:mac-address; + description + "Client MAC address"; + } + leaf client-ifid { + type uint32; + description + "Client IFID"; + } + leaf owner-instance { + type uint8; + description + "Owner instance for mobility client"; + } + leaf assoc-time-stamp { + when '(count(/ntp-ios-xe-oper:ntp-oper-data/ntp-ios-xe-oper:ntp-status-info/ntp-ios-xe-oper:ntp-associations) > 0)'; + type yang:date-and-time; + units "seconds"; + description + "Client association time"; + } + leaf mobility-state { + type wireless-mobility-types:mm-mobility-state; + description + "Mobility state"; + } + leaf client-role { + type wireless-mobility-types:mm-client-role; + description + "Client role"; + } + leaf client-type { + type wireless-mobility-types:mm-client-type; + description + "Client type"; + } + leaf client-mode { + type wireless-mobility-types:mm-client-mode; + description + "Mobility client mode"; + } + leaf client-roam-type { + type wireless-mobility-types:mm-client-roam-type; + description + "Mobility client roam type"; + } + leaf peer-ip { + type inet:ip-address; + description + "Mobility peer IP for an anchor or foreign client"; + } + leaf entry-last-update-time { + type yang:date-and-time; + units "seconds"; + description + "Client mobility discovery complete timestamp"; + } + leaf client-create-time { + type yang:date-and-time; + units "seconds"; + description + "Mobility client create timestamp"; + } + leaf wlan-profile { + type string; + description + "Mobility client wlan profile name"; + } + } + + grouping mm-global-data { + description + "Mobility global data"; + leaf mm-mac-addr { + type yang:mac-address; + description + "MAC address being used by mobility module"; + } + } + + grouping keepalive-state { + description + "Keepalive status for peer and link"; + leaf peer-responses-in-interval { + type uint8; + description + "Responses for peer (in interval)"; + } + leaf intervals-without-response { + type uint8; + description + "Keepalive intervals elapsed without receiving response from mobility peer"; + } + leaf peer-status { + type boolean; + description + "Keepalive status of peer"; + } + leaf link-status { + type boolean; + description + "Keepalive status of link"; + } + leaf packet-failure-cnt { + type uint32; + description + "Packet failure counter"; + } + leaf flaps-cnt { + type uint32; + description + "Link flap counter"; + } + leaf last-flap-timestamp { + type yang:date-and-time; + units "seconds"; + description + "Last flap timestamp"; + } + } + + grouping mobility-dtls-info { + description + "Mobility DTLS information"; + leaf connection-status { + type wireless-mobility-types:mm-dtls-status; + description + "Mobility DTLS status of connection"; + } + leaf cipher-suite { + type wireless-types:enm-ciphersuite; + description + "DTLS cipher suite"; + } + leaf tunnel-type { + type wireless-mobility-types:mm-msg-dgram-type; + description + "Mobility control or data tunnel type information"; + } + } + + grouping policy-id { + description + "Policy Id for anchor management"; + leaf id { + type uint32; + description + "ID for the policy of the anchor"; + } + } + + grouping mm-node-stats { + description + "Mobility Node Statistics"; + leaf l2-roam-cnt { + type uint32; + description + "Mobility l2 roam count"; + } + leaf l3-roam-cnt { + type uint32; + description + "Mobility l3 roam count"; + } + leaf handoff-recvd-ok { + type uint32; + description + "Successful handoffs received from peer"; + } + leaf handoff-recvd-grp-mismatch { + type uint32; + description + "Handoffs with group mismatch status received from peer"; + } + leaf handoff-recvd-ms-unknown { + type uint32; + description + "Handoffs with unknown client status received from peer"; + } + leaf handoff-recvd-ms-blacklist { + type uint32; + description + "Handoffs with blacklisted client status received from peer"; + } + leaf handoff-recvd-ms-ssid { + type uint32; + description + "Handoffs with SSID mismatch received from peer"; + } + leaf handoff-recvd-deny { + type uint32; + description + "Handoff denies received from peer"; + } + leaf handoff-sent-ok { + type uint32; + description + "Successful handoffs sent to peer"; + } + leaf handoff-sent-grp-mismatch { + type uint32; + description + "Handoffs with group mismatch status sent to peer"; + } + leaf handoff-sent-ms-unknown { + type uint32; + description + "Handoffs with unknown client status sent to peer"; + } + leaf handoff-sent-ms-blacklist { + type uint32; + description + "Handoffs with blacklist client status sent to peer"; + } + leaf handoff-sent-ms-ssid { + type uint32; + description + "Handoffs with SSID mismatch status sent to peer"; + } + leaf handoff-sent-deny { + type uint32; + description + "Handoff denies sent to peer"; + } + } + + grouping mobility-node-list-entry { + description + "Entry for mobility node list"; + leaf node-ip { + type inet:ip-address; + description + "Mobility node IP"; + } + leaf nat-ip { + type inet:ip-address; + description + "Mobility node NAT IP"; + } + leaf node-mac-addr { + type yang:mac-address; + description + "Mobility node MAC Address"; + } + leaf ulink-status { + type wireless-mobility-types:unified-link-status; + description + "Mobility node link status"; + } + leaf tunnel-ifid { + type uint32; + description + "Mobility node tunnel IFID"; + } + leaf group-name { + type string; + description + "Mobility node group name"; + } + leaf num-clients { + type uint32; + description + "Total number of clients at mobility node"; + } + leaf tunnel-plumbed { + type boolean; + description + "Tunnel plumbing status for mobility node"; + } + leaf pmtu { + type uint32; + units "bytes"; + description + "PMTU for mobility node"; + } + list peer-capability { + max-elements 2; + description + "Architecture, DTLS and tunnel capability of peer for mobility node"; + uses wireless-mobility-types:capability; + } + container ctrl-state { + description + "Control keepalive state for mobility node"; + uses wireless-mobility-oper:keepalive-state; + } + container data-state { + description + "Data keepalive state for mobility node"; + uses wireless-mobility-oper:keepalive-state; + } + leaf dtls-session-id { + type uint64; + description + "Control tunnel DTLS session id"; + } + leaf data-dtls-session-id { + type uint64; + description + "Data tunnel DTLS session id"; + } + list dtls-info { + max-elements 2; + description + "DTLS information for mobility node"; + uses wireless-mobility-oper:mobility-dtls-info; + } + leaf is-anchor { + type boolean; + description + "Indicates whether or not mobility node is anchor"; + } + leaf is-anchor-full { + type boolean; + description + "Indicates whether or not anchor mobility node is full"; + } + leaf num-exported-clients { + type uint32; + description + "Number of clients anchored to mobility node"; + } + leaf num-imported-clients { + type uint32; + description + "Number of anchored clients from mobility node"; + } + list policy-ids { + description + "Policy IDs"; + uses wireless-mobility-oper:policy-id; + } + container node-stats { + description + "Statistics for mobility node"; + uses wireless-mobility-oper:mm-node-stats; + } + leaf dl-encrypt { + type boolean; + description + "Data link encryption status for mobility node"; + } + } + + grouping wlan-info-entry { + description + "Wlan info"; + leaf wlan-profile { + type string; + description + "Name of the wlan profile"; + } + leaf curr-clients-count { + type uint32; + description + "Number of clients connected to the wlan"; + } + } + + grouping mm-sclient { + description + "Mobility sclient"; + leaf client-mac { + type yang:mac-address; + description + "Mobility sclient MAC address"; + } + leaf vap-ssid { + type string; + description + "VAP SSID for mobility sclient"; + } + leaf sclient-timestamp { + type yang:date-and-time; + units "seconds"; + description + "Mobility sclient timestamp"; + } + } + + grouping mesh-ap-channel-list-peer { + description + "Represents a list of mobility members from which bridge group name and channel is learnt"; + leaf node-ip { + type inet:ip-address; + description + "Represents IP Address of the mobility member from which bridge group name and channel is learnt"; + } + } + + grouping mesh-ap-channel-list { + description + "Represent list of bridge group name and channel learnt from mobility members"; + leaf local-wncd-info { + type uint32; + description + "Represents the information about WNCD instance from which bridge group name and channel is learnt"; + } + list mm-ap-channel-list-peer-ip { + key "node-ip"; + description + "Represents Ip Address of the member controller frm which bridge group name and channel information is learnt"; + uses wireless-mobility-oper:mesh-ap-channel-list-peer; + } + } + + grouping mesh-ap-channel-peer-list-info { + description + "Represents if the Ip Address bridge group name Channel entry information"; + leaf stale { + type uint8; + description + "Represents if the Ip address bridge group name channel entry is stale"; + } + } + + grouping mobility-ap-list-entry { + description + "Each entry in this table provides information about AP + that is reported by this MC or its peer MC or its MA."; + leaf mac-addr { + type yang:mac-address; + description + "Reported AP's mac address."; + } + leaf name { + type string; + description + "Reported AP's name"; + } + leaf controller-ip { + type inet:ip-address; + description + "Reporting device's IP address"; + } + leaf source { + type wireless-mobility-oper:mobility-ap-list-source-type; + description + "Reporting device's IP address type"; + } + } + + grouping mobility-ap-list-peer-entry { + description + "Each entry in this table provides information on total + number of APs that is reported by this MC or its peer + MC or its MA"; + leaf peer-ip { + type inet:ip-address; + description + "Reporting device's IP address"; + } + leaf ap-count { + type uint32; + description + "Total number of APs reported by this device: this + MC, or its peer MC or its MA"; + } + leaf source { + type wireless-mobility-oper:mobility-ap-list-source-type; + description + "Reporting device's IP address type"; + } + } + + container mobility-oper-data { + config false; + description + "Yang model for wireless mobility oper"; + container mm-if-global-stats { + presence "mm-if-global-stats"; + description + "Container for global mobility interface event statistics"; + uses wireless-mobility-oper:mmif-global-stats; + } + container mm-if-global-msg-stats { + presence "mm-if-global-msg-stats"; + description + "Container for global mobility interface message statistics"; + uses wireless-mobility-oper:mmif-global-msg-stats; + } + container mobility-global-stats { + presence "mobility-global-stats"; + description + "Container for global mobility statistics"; + uses wireless-mobility-oper:mm-global-stats; + } + container mm-global-data { + presence "mm-global-data"; + description + "Container for global mobility data"; + uses wireless-mobility-oper:mm-global-data; + } + container mobility-global-msg-stats { + presence "mobility-global-msg-stats"; + description + "Container for global mobility message statistics"; + uses wireless-mobility-oper:mm-global-msg-stats; + } + list mobility-client-data { + key "client-mac"; + description + "Each entry in this table provides information about + one 802.11 LWAPP Mobility Clients on this MC"; + uses wireless-mobility-oper:mobility-client-params; + } + list ap-cache { + key "mac-addr"; + description + "Each entry in this table provides information about + AP that is reported by this MC or its peer MC or its + MA"; + uses wireless-mobility-oper:mobility-ap-list-entry; + } + list ap-peer-list { + key "peer-ip"; + description + "Each entry in this table provides information on + total number of APs that is reported by this MC or + its peer MC or its MA"; + uses wireless-mobility-oper:mobility-ap-list-peer-entry; + } + list mobility-client-stats { + key "client-mac"; + description + "Container for client mobility event and message statistics"; + uses wireless-mobility-oper:mm-client-stats; + } + list mobility-node-data { + key "node-ip"; + description + "Container for mobility node data"; + uses wireless-mobility-oper:mobility-node-list-entry; + } + list wlan-client-limit { + key "wlan-profile"; + description + "Container for WLAN client limit data"; + uses wireless-mobility-oper:wlan-info-entry; + } + list sleeping-client-stats { + key "client-mac"; + description + "Mobility sclient"; + uses wireless-mobility-oper:mm-sclient; + } + list mm-ap-channel-list { + key "bgn channel"; + description + "Container for mobility subset channel data for mesh APs"; + uses wireless-types:bgn-channel-key; + uses wireless-mobility-oper:mesh-ap-channel-list; + } + list mm-ap-channel-peer-list { + key "node-ip bgn channel"; + description + "Container for mobility subset channel data for mesh APs learnt from mobility peers"; + uses wireless-types:ipaddr-bgn-channel-key; + uses wireless-mobility-oper:mesh-ap-channel-peer-list-info; + } + container mobility-global-dtls-stats { + presence "mobility-global-dtls-stats"; + description + "Container for global mobility DTLS statistics"; + uses wireless-mobility-oper:mm-dtls-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-types.yang new file mode 100644 index 000000000..ecc240246 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mobility-types.yang @@ -0,0 +1,1288 @@ +module Cisco-IOS-XE-wireless-mobility-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mobility-types"; + prefix wireless-mobility-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless mobility data types. + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added Multilink Association Type enum"; + reference + "2.7.0"; + cisco-semver:module-version "2.7.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.6.0"; + cisco-semver:module-version "2.6.0"; + } + revision 2022-03-01 { + description + "- Added mesh AP PMK delete"; + reference + "2.5.0"; + cisco-semver:module-version "2.5.0"; + } + revision 2019-11-01 { + description + "- Added handoff deny L3 VLAN override stats. + - Added counter for handoffs received with an unknown peer address. + - Added mobility domain information."; + reference + "2.4.0"; + cisco-semver:module-version "2.4.0"; + } + revision 2019-05-01 { + description + "- Added message names in mobility message stats + - Added dot11 roam type in mobility history + - Added semantic version"; + reference + "2.3.0"; + cisco-semver:module-version "2.3.0"; + } + revision 2019-01-14 { + description + "- Cleaned up spelling errors in descriptions + - Added mobility capability, DTLS events and message statistics + - Added mobility management event stats + - Added mobility interface event stats"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2018-04-03 { + description + "Add DTLS and keepalive role negotiation"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef dot11-client-roam-type { + type enumeration { + enum dot11-roam-type-none { + value 0; + description + "Client dot11 roam type none"; + } + enum dot11-roam-type-slow-11i { + value 1; + description + "Client dot11 roam type 802.11i slow"; + } + enum dot11-roam-type-fast-okc { + value 2; + description + "Client dot11 roam type 802.11i opportunistic key caching"; + } + enum dot11-roam-type-cckm { + value 3; + description + "Client dot11 roam type CCKM"; + } + enum dot11-roam-type-fast-11r { + value 4; + description + "Client dot11 roam type 802.11r"; + } + } + description + "Dot11 roam type"; + } + + typedef mm-msg-dgram-type { + type enumeration { + enum mm-msg-ctrl { + value 0; + description + "Mobility control tunnel"; + } + enum mm-msg-data { + value 1; + description + "Mobility control tunnel"; + } + } + description + "Mobility tunnel type"; + } + + typedef mm-mobility-msg-type { + type enumeration { + enum keepalive-data { + value 0; + description + "Mobility data tunnel keepalive"; + } + enum mobile-announce { + value 1; + description + "Mobile announce"; + } + enum mobile-announce-nak { + value 2; + description + "Mobile announce nak"; + } + enum static-ip-mobile-announce { + value 3; + description + "Static IP mobile announce"; + } + enum static-ip-mobile-response { + value 4; + description + "Static IP mobile announce response"; + } + enum handoff { + value 5; + description + "Mobile handoff"; + } + enum handoff-end { + value 6; + description + "Handoff end"; + } + enum handoff-end-ack { + value 7; + description + "Handoff end ack"; + } + enum anchor-req { + value 8; + description + "Anchor request"; + } + enum anchor-grant { + value 9; + description + "Anchor grant"; + } + enum anchor-xfer { + value 10; + description + "Anchor transfer"; + } + enum anchor-xfer-ack { + value 11; + description + "Anchor transfer ack"; + } + enum export-anchor-req { + value 12; + description + "Export anchor request"; + } + enum export-anchor-rsp { + value 13; + description + "Export anchor response"; + } + enum aaa-handoff { + value 14; + description + "AAA handoff"; + } + enum aaa-handoff-ack { + value 15; + description + "AAA handoff ack"; + } + enum ipv4-address-update { + value 16; + description + "IPv4 address update"; + } + enum ipv4-address-update-ack { + value 17; + description + "IPv4 address update ack"; + } + enum ipv6-nd-pkt { + value 18; + description + "IPv6 neighbor discovery packet"; + } + enum ipv6-address-update { + value 19; + description + "IPv6 address update"; + } + enum ipv6-address-update-ack { + value 20; + description + "IPv6 address update ack"; + } + enum client-add { + value 21; + description + "Client add"; + } + enum client-delete { + value 22; + description + "Client delete"; + } + enum keepalive-ctrl-req { + value 23; + description + "Mobility control tunnel keepalive request"; + } + enum keepalive-ctrl-rsp { + value 24; + description + "Mobility control tunnel keepalive response"; + } + enum mfp-key-request { + value 25; + description + "Management frame protection key request"; + } + enum mfp-key-update { + value 26; + description + "Management frame protection key update"; + } + enum mfp-key-ack { + value 27; + description + "Management frame protection key ack"; + } + enum mfp-key-delete { + value 28; + description + "Management frame protection key delete"; + } + enum aplist-update { + value 29; + description + "AP list update"; + } + enum client-device-profile-info { + value 30; + description + "Client device profile info"; + } + enum pmk-update { + value 31; + description + "PMK update"; + } + enum pmk-delete { + value 32; + description + "PMK delete"; + } + enum pmk-11r-nonce-update { + value 33; + description + "PMK 802.11r pre-auth update"; + } + enum device-cache-update { + value 34; + description + "Device cache update"; + } + enum ha-sso-announce { + value 35; + description + "HA SSO announce"; + } + enum ha-sso-announce-rsp { + value 36; + description + "HA SSO announce response"; + } + enum mesh-roam-req { + value 37; + description + "Mesh roam request"; + } + enum mesh-roam-rsp { + value 38; + description + "Mesh roam response"; + } + enum mesh-ap-pmk-key-time-update { + value 39; + description + "Mesh AP PMK key time update"; + } + enum mesh-ap-pmk-key-time-update-ack { + value 40; + description + "Mesh AP PMK key time update ack"; + } + enum mesh-ap-channel-list { + value 41; + description + "Mesh AP channel list"; + } + enum mesh-ap-channel-list-ack { + value 42; + description + "Mesh AP channel list ack"; + } + enum ap-upgrade { + value 43; + description + "AP upgrade"; + } + enum mesh-ap-pmk-delete { + value 44; + description + "Mesh AP PMK delete"; + } + } + description + "Mobility message types"; + } + + typedef mm-client-roam-type { + type enumeration { + enum mm-roam-type-none { + value 0; + description + "Mobility roam type none (not L2, L3, L3 requested + or L3 forced"; + } + enum mm-roam-type-l2 { + value 1; + description + "L2 roam because of VLAN match"; + } + enum mm-roam-type-l3 { + value 2; + description + "L3 roam because of VLAN difference"; + } + enum mm-roam-type-l3-requested { + value 3; + description + "L3 roam because of L2 anchoring"; + } + enum mm-roam-type-l3-forced { + value 4; + description + "L3 roam because of platform difference"; + } + } + description + "Mobility client roaming type"; + } + + typedef mm-mobility-state { + type enumeration { + enum mm-mobility-incomplete { + value 0; + description + "Incomplete mobility"; + } + enum mm-mobility-complete { + value 1; + description + "Mobility completed"; + } + } + description + "Mobility state"; + } + + typedef mm-client-role { + type enumeration { + enum mm-client-role-unassoc { + value 0; + description + "Unassociated mobile client"; + } + enum mm-client-role-local { + value 1; + description + "Local mobile client"; + } + enum mm-client-role-anchor { + value 2; + description + "Anchor mobile client"; + } + enum mm-client-role-foreign { + value 3; + description + "Foreign mobile client"; + } + enum mm-client-role-export-anchor { + value 4; + description + "Export anchor mobile client"; + } + enum mm-client-role-export-foreign { + value 5; + description + "Export foreign mobile client"; + } + enum mm-client-role-handoff { + value 6; + description + "Handoff mobile client"; + } + } + description + "Role of mobility client"; + } + + typedef mm-client-type { + type enumeration { + enum mm-client-type-wireless { + value 0; + description + "Wireless mobile client"; + } + enum mm-client-type-wireless-export { + value 1; + description + "Wireless export mobile client"; + } + enum mm-client-type-wgb { + value 2; + description + "WGB mobile client"; + } + enum mm-client-type-wgb-export { + value 3; + description + "WGB export mobile client"; + } + enum mm-client-type-wgb-wired { + value 4; + description + "WGB wired mobile client"; + } + enum mm-client-type-wgb-wired-export { + value 5; + description + "WGB wired export mobile client"; + } + enum mm-client-type-wired-export { + value 6; + description + "Wired export mobility client"; + } + } + description + "Mobility client type"; + } + + typedef mm-client-mode { + type enumeration { + enum mm-client-mode-local { + value 0; + description + "Local mobility client"; + } + enum mm-client-mode-flex-local-sw { + value 1; + description + "Flex, locally switched mobility client"; + } + enum mm-client-mode-flex-central-sw { + value 2; + description + "Flex, centrally switched mobility client"; + } + enum mm-client-mode-fabric { + value 3; + description + "Fabric mobility client"; + } + } + description + "Mode of mobility client"; + } + + typedef unified-link-status { + type enumeration { + enum status-unknown { + value 0; + description + "Unknown status for mobility tunnel"; + } + enum data-path-down { + value 1; + description + "Data path is down for mobility tunnel"; + } + enum ctrl-path-down { + value 2; + description + "Control path is down for mobility tunnel"; + } + enum ctrl-data-path-down { + value 3; + description + "Control and data path is down for mobility tunnel"; + } + enum up { + value 4; + description + "mobility tunnel is UP"; + } + } + description + "Combined mobility tunnel state"; + } + + typedef arch-capability { + type enumeration { + enum mm-arch-unknown { + value 0; + description + "Unknown mobility architectural"; + } + enum mm-arch-new { + value 1; + description + "New mobility architecture"; + } + enum mm-arch-old { + value 2; + description + "Old mobility architecture"; + } + enum mm-arch-ewlc { + value 3; + description + "EWLC mobility architecture"; + } + } + description + "Mobility architectural capability"; + } + + typedef dtls-capability { + type enumeration { + enum mm-dtls-capability-unknown { + value 0; + description + "DTLS capability unknown for mobile client"; + } + enum mm-dtls-capability-unsupported { + value 1; + description + "DTLS capability not supported for mobile client"; + } + enum mm-dtls-capability-supported { + value 2; + description + "DTLS capability supported for client"; + } + enum mm-dtls-capability-any { + value 3; + description + "*DTLS capability "; + } + } + description + "DTLS capability of moblie client"; + } + + typedef tunnel-capability { + type enumeration { + enum mm-unknown-tunnel { + value 0; + description + "Tunnel capability unknown for mobility client"; + } + enum mm-eoip-tunnel { + value 1; + description + "Mobility client has EOIP tunnel capability"; + } + enum mm-capwap-tunnel { + value 2; + description + "Mobility client has CAPWAP tunnel capability"; + } + enum mm-both-tunnel { + value 3; + description + "Mobility client has both EOIP and CAPWAP tunnel + capability"; + } + } + description + "Tunnel capability for mobility client"; + } + + typedef mm-dtls-status { + type enumeration { + enum mm-dtls-disabled { + value 0; + description + "DTLS connection is disabled for mobility client"; + } + enum mm-dtls-init { + value 1; + description + "DTLS connection is initialised for mobility + connection"; + } + enum mm-dtls-in-handshake { + value 2; + description + "DTLS connection is in handshake state for mobility + client"; + } + enum mm-dtls-in-cert-verify { + value 3; + description + "DTLS connection is in certificate verification + state for mobility client"; + } + enum mm-dtls-sess-established { + value 4; + description + "DTLS connection is in session established state + for mobility client"; + } + enum mm-dtls-in-key-plumbing { + value 5; + description + "DTLS connection is in key plumbing state for + mobility client"; + } + enum mm-dtls-key-plumbed { + value 6; + description + "DTLS connection has plumbed the key for mobility + client"; + } + } + description + "DTLS connection status for mobility client"; + } + + typedef mm-assoc-type { + type enumeration { + enum mm-non-mlo-assoc { + value 0; + description + "Mobility Association type is Non Multilink Client"; + } + enum mm-mlo-assoc { + value 1; + description + "Mobility Association type is Multilink Client"; + } + } + description + "Mobility Association type for mobility client"; + } + + grouping capability { + description + "Architecture, DTLS and Tunnel capability for mobility"; + leaf arch { + type wireless-mobility-types:arch-capability; + description + "Architecture capability for mobility"; + } + leaf dtls { + type wireless-mobility-types:dtls-capability; + description + "DTLS capability for mobility"; + } + leaf tunnel { + type wireless-mobility-types:tunnel-capability; + description + "Tunnel capability for mobility"; + } + } + + grouping mm-msg-stats { + description + "Message statistics for mobility client"; + leaf type { + type uint32; + description + "CAPWAP messages type for mobility client"; + } + leaf allocs { + type uint32; + description + "Number of CAPWAP messages allocated for mobility + client"; + } + leaf frees { + type uint32; + description + "Number of CAPWAP messages freed for mobility client"; + } + leaf tx { + type uint32; + description + "Number of CAPWAP messages transmitted for mobility + client"; + } + leaf rx { + type uint32; + description + "Number of CAPWAP messages received for mobility + client"; + } + leaf forwarded { + type uint32; + description + "Number of CAPWAP messages forwarded for mobility + client"; + } + leaf tx-errors { + type uint32; + description + "Number of CAPWAP message transmit errors for + mobility client"; + } + leaf rx-errors { + type uint32; + description + "Number of CAPWAP message receive errors for mobility + client"; + } + leaf tx-retries { + type uint32; + description + "Number of retries for CAPWAP message transmit error + for mobility client"; + } + leaf drops { + type uint32; + description + "Number of dropped CAPWAP messages for mobility + client"; + } + leaf built { + type uint32; + description + "Number of CAPWAP messages built fot mobility client"; + } + leaf processed { + type uint32; + description + "Number of processed CAPWAP messages for mobility + client"; + } + leaf mm-msg-type { + type wireless-mobility-types:mm-mobility-msg-type; + description + "CAPWAP mobility message type"; + } + } + + grouping mm-dtls-event-stats { + description + "DTLS event statistics for mobility tunnels"; + leaf connect-start { + type uint32; + description + "Connections attempted"; + } + leaf connect-established { + type uint32; + description + "Connections established"; + } + leaf close { + type uint32; + description + "Connections closed"; + } + leaf key-plumb-start { + type uint32; + description + "Data plane key plumb requests"; + } + leaf key-plumb-acked { + type uint32; + description + "Data plane key plumb acknowledgements"; + } + leaf tunnel-type { + type wireless-mobility-types:mm-msg-dgram-type; + description + "CAPWAP mobility tunnel type"; + } + } + + grouping mm-dtls-msg-stats { + description + "DTLS message statistics for mobility tunnels"; + leaf handshake-msg-tx { + type uint32; + description + "Handshake messages sent"; + } + leaf handshake-msg-rx { + type uint32; + description + "Handshake messages received"; + } + leaf encrypted-msg-tx { + type uint32; + description + "Encrypted messages sent"; + } + leaf encrypted-msg-rx { + type uint32; + description + "Encrypted messages received"; + } + leaf tunnel-type { + type wireless-mobility-types:mm-msg-dgram-type; + description + "CAPWAP mobility tunnel type"; + } + } + + grouping mm-mobility-stats { + description + "Mobility event statistics"; + leaf event-data-allocs { + type uint32; + description + "Total number of event data allocations in mobility management state machine"; + } + leaf event-data-frees { + type uint32; + description + "Total number of event data frees in mobility management state machine"; + } + leaf fsm-set-allocs { + type uint32; + description + "Total number of mobility management state machine instance allocations"; + } + leaf fsm-set-frees { + type uint32; + description + "Total number of mobility management state machine instance frees"; + } + leaf timer-allocs { + type uint32; + description + "Total number of timer allocations in mobility management state machine"; + } + leaf timer-frees { + type uint32; + description + "Total number of timer freed in mobility management state machine"; + } + leaf timer-starts { + type uint32; + description + "Total number of timers started in mobility management state machine"; + } + leaf timer-stops { + type uint32; + description + "Total number of timers stopped in mobility management state machine"; + } + leaf mcfsm-invalid-events { + type uint32; + description + "Total number of invalid events in mobility management state machine"; + } + leaf mcfsm-internal-error { + type uint32; + description + "Total number of errors in mobility management state machine"; + } + leaf joined-as-local { + type uint32; + description + "Total number of clients joined as local on wireless LAN controller"; + } + leaf joined-as-foreign { + type uint32; + description + "Total number of clients joined as foreign on wireless LAN controller"; + } + leaf joined-as-export-foreign { + type uint32; + description + "Total number of clients joined as export foreign on wireless LAN controller"; + } + leaf joined-as-export-anchor { + type uint32; + description + "Total number of clients joined as export anchor on wireless LAN controller"; + } + leaf local-to-anchor { + type uint32; + description + "Total number of clients whose role changed from local to anchor"; + } + leaf anchor-to-local { + type uint32; + description + "Total number of clients whose role changed from anchor to local"; + } + leaf local-delete { + type uint32; + description + "Total number of client deletions that were triggered locally within wireless LAN controller"; + } + leaf remote-delete { + type uint32; + description + "Total number of client deletions that were triggered by mobility peer controller"; + } + leaf mcfsm-delete-internal-error { + type uint32; + description + "Total number of clients deleted due to errors in mobility management state machine"; + } + leaf mcfsm-roam-internal-error { + type uint32; + description + "Total number of clients deleted due to errors in mobility management state machine during roam"; + } + leaf l2-roam-count { + type uint32; + description + "Total number of L2 roams on wireless LAN controller"; + } + leaf l3-roam-count { + type uint32; + description + "Total number of L3 roam on wireless LAN controller"; + } + leaf flex-client-roaming-count { + type uint32; + description + "Total number of inter process roams by flex mode clients within wireless LAN controller"; + } + leaf inter-wncd-roam-count { + type uint32; + description + "Total number of inter process roams within wireless LAN controller"; + } + leaf exp-anc-req-sent { + type uint32; + description + "Number of export anchor requests sent"; + } + leaf exp-anc-req-received { + type uint32; + description + "Number of export anchor requests received"; + } + leaf exp-anc-resp-ok-sent { + type uint32; + description + "Number of export anchor response OK sent"; + } + leaf exp-anc-resp-generic-deny-sent { + type uint32; + description + "Number of export anchor response generic deny sent"; + } + leaf exp-anc-resp-client-blacklisted-sent { + type uint32; + description + "Number of export anchor response deny sent due to client blacklisted"; + } + leaf exp-anc-resp-limit-reached-sent { + type uint32; + description + "Number of export anchor response deny sent due to client limit reached"; + } + leaf exp-anc-resp-profile-mismatch-sent { + type uint32; + description + "Number of export anchor response deny sent due to profile mismatch"; + } + leaf exp-anc-resp-ok-received { + type uint32; + description + "Number of export anchor response OK received"; + } + leaf exp-anc-resp-generic-deny-received { + type uint32; + description + "Number of export anchor response generic deny received"; + } + leaf exp-anc-resp-client-blacklisted-received { + type uint32; + description + "Number of export anchor response deny received due to client blacklisted"; + } + leaf exp-anc-resp-limit-reached-received { + type uint32; + description + "Number of export anchor response deny received due to client limit reached"; + } + leaf exp-anc-resp-profile-mismatch-received { + type uint32; + description + "Number of export anchor response deny received due to profile mismatch"; + } + leaf exp-anc-resp-unknown-received { + type uint32; + description + "Number of export anchor response deny with unknown reasons"; + } + leaf handoff-sent-ms-blacklist { + type uint32; + description + "Total number of handoff status blacklisted client sent"; + } + leaf handoff-received-ms-blacklist { + type uint32; + description + "Total number of handoff status blacklisted client received"; + } + } + + grouping mmif-mobility-stats { + description + "Mobility Interface statistics"; + leaf event-data-allocs { + type uint32; + description + "Total number of mobility interface event data allocations"; + } + leaf event-data-frees { + type uint32; + description + "Total number of mobility interface event data frees"; + } + leaf mmif-fsm-invalid-events { + type uint32; + description + "Total number of invalid events received by mobility interface"; + } + leaf mmif-schedule-errors { + type uint32; + description + "Total number of mobility interface event scheduling errors"; + } + leaf mmif-fsm-failure { + type uint32; + description + "Total number of mobility interface event processing failure"; + } + leaf mmif-ipc-failure { + type uint32; + description + "Total number of mobility interface event processing errors due to IPC messaging failure"; + } + leaf mmif-db-failure { + type uint32; + description + "Total number of mobility interface event processing errors due to database operation failure"; + } + leaf mmif-invalid-params-failure { + type uint32; + description + "Total number of mobility interface event processing errors due to invalid mobility message parameters"; + } + leaf mmif-mm-msg-decode-failure { + type uint32; + description + "Total number of mobility interface event processing errors due to mobility message decode failure"; + } + leaf mmif-unknown-failure { + type uint32; + description + "Total number of mobility interface event processing errors"; + } + leaf mmif-client-handoff-failure { + type uint32; + description + "Total number of client handoff failures for mobile stations on wireless LAN controller"; + } + leaf mmif-client-handoff-success { + type uint32; + description + "Total number of client handoff successes for mobile stations on wireless LAN controller"; + } + leaf mmif-anchor-deny { + type uint32; + description + "Total number of client deletions due to denials by anchor wireless LAN controller"; + } + leaf mmif-remote-delete { + type uint32; + description + "Total number of client deletions triggered by peer wireless LAN controller"; + } + leaf mmif-tunnel-down-delete { + type uint32; + description + "Total number of client deletions due to mobility tunnels going down"; + } + leaf mmif-mbssid-down-event { + type uint32; + description + "Total number of client deletions due to mobility BSSIDs going down"; + } + leaf intra-wncd-roam-count { + type uint32; + description + "Total number of intra-process roams within wireless LAN controller"; + } + leaf remote-inter-ctrlr-roams { + type uint32; + description + "Total number of inter-controller roams performed on peer controllers by anchored clients"; + } + leaf remote-webauth-pend-roams { + type uint32; + description + "Total number of inter-controller performed by clients in webauth pending state"; + } + leaf anchor-request-sent { + type uint32; + description + "Total number of anchor requests sent for mobile stations on wireless LAN controller"; + } + leaf anchor-request-grant-received { + type uint32; + description + "Total number of anchor request grants received for mobile stations on wireless LAN controller"; + } + leaf anchor-request-deny-received { + type uint32; + description + "Total number of anchor request denies received for mobile stations on wireless LAN controller"; + } + leaf anchor-request-received { + type uint32; + description + "Total number of anchor requests received for mobile stations on wireless LAN controller"; + } + leaf anchor-request-grant-sent { + type uint32; + description + "Total number of anchor request grants sent for mobile stations on wireless LAN controller"; + } + leaf anchor-request-deny-sent { + type uint32; + description + "Total number of anchor request denies sent for mobile stations on wireless LAN controller"; + } + leaf handoff-received-ok { + type uint32; + description + "Total number of handoff status success received for mobile stations on wireless LAN controller"; + } + leaf handoff-received-grp-mismatch { + type uint32; + description + "Total number of handoff status group mismatches received for mobile stations on wireless LAN controller"; + } + leaf handoff-received-ms-unknown { + type uint32; + description + "Total number of handoff status unknown client received for mobile stations on wireless LAN controller"; + } + leaf handoff-received-ms-ssid { + type uint32; + description + "Total number of handoff status client SSID received for mobile stations on wireless LAN controller"; + } + leaf handoff-received-deny { + type uint32; + description + "Total number of handoff status deny received for mobile stations on wireless LAN controller"; + } + leaf handoff-sent-ok { + type uint32; + description + "Total number of handoff status OK sent for mobile stations on wireless LAN controller"; + } + leaf handoff-sent-grp-mismatch { + type uint32; + description + "Total number of handoff status group mismatches sent for mobile stations on wireless LAN controller"; + } + leaf handoff-sent-ms-unknown { + type uint32; + description + "Total number of handoff status unknown client sent for mobile stations on wireless LAN controller"; + } + leaf handoff-sent-ms-ssid { + type uint32; + description + "Total number of handoff status client SSID sent for mobile stations on wireless LAN controller"; + } + leaf handoff-sent-deny { + type uint32; + description + "Total number of handoff status deny sent for mobile stations on wireless LAN controller"; + } + leaf handoff-received-l3-vlan-override { + type uint32; + description + "Total number of handoff deny L3 VLAN override received for mobile stations on wireless LAN controller"; + } + leaf handoff-received-unknown-peer { + type uint32; + description + "Total number of handoffs received with an unknown wireless LAN controller address"; + } + leaf handoff-sent-l3-vlan-override { + type uint32; + description + "Total number of handoff status deny L3 VLAN override sent for mobile stations on wireless LAN controller"; + } + } + + grouping mobility-domain-info { + description + "Mobility domain information"; + leaf mobility-domain-id { + type uint16; + description + "Mobility domain identifier"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mstream-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mstream-cfg.yang new file mode 100644 index 000000000..b3c1b42f8 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-mstream-cfg.yang @@ -0,0 +1,250 @@ +module Cisco-IOS-XE-wireless-mstream-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-mstream-cfg"; + prefix wireless-mstream-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing multicast configurations + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added pattern constraints"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for stream name"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2019-03-03 { + description + "- Multicast related leaves name change + - Updated descriptions + - Removed currently unused rrc-type leaf"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mstreamgrp { + description + "Multicast group"; + leaf group-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Multicast stream group name"; + } + leaf start-ip-addr { + type inet:ip-address; + must "starts-with(../start-ip-addr, '224.') or starts-with(../start-ip-addr, '225.') or + starts-with(../start-ip-addr, '226.') or starts-with(../start-ip-addr, '227.') or + starts-with(../start-ip-addr, '228.') or starts-with(../start-ip-addr, '229.') or + starts-with(../start-ip-addr, '230.') or starts-with(../start-ip-addr, '231.') or + starts-with(../start-ip-addr, '232.') or starts-with(../start-ip-addr, '233.') or + starts-with(../start-ip-addr, '234.') or starts-with(../start-ip-addr, '235.') or + starts-with(../start-ip-addr, '236.') or starts-with(../start-ip-addr, '237.') or + starts-with(../start-ip-addr, '238.') or starts-with(../start-ip-addr, '239.') or + contains(substring(../start-ip-addr, 1, 4), 'ff00')" { + error-message "Multicast address is invalid"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Multicast stream group start IP address"; + } + leaf end-ip-addr { + type inet:ip-address; + must "starts-with(../end-ip-addr, '224.') or starts-with(../end-ip-addr, '225.') or + starts-with(../end-ip-addr, '226.') or starts-with(../end-ip-addr, '227.') or + starts-with(../end-ip-addr, '228.') or starts-with(../end-ip-addr, '229.') or + starts-with(../end-ip-addr, '230.') or starts-with(../end-ip-addr, '231.') or + starts-with(../end-ip-addr, '232.') or starts-with(../end-ip-addr, '233.') or + starts-with(../end-ip-addr, '234.') or starts-with(../end-ip-addr, '235.') or + starts-with(../end-ip-addr, '236.') or starts-with(../end-ip-addr, '237.') or + starts-with(../end-ip-addr, '238.') or starts-with(../end-ip-addr, '239.') or + contains(substring(../end-ip-addr, 1, 4), 'ff00')" { + error-message "Multicast address is invalid"; + error-app-tag "must-violation"; + } + default "0.0.0.0"; + description + "Multicast stream group end IP address"; + } + leaf pak-size { + type uint16 { + range "100 .. 1500"; + } + default "1200"; + description + "Expected packet size for the stream"; + } + leaf bandwidth { + type uint16 { + range "1 .. 35000"; + } + default "1000"; + description + "Expected bandwidth for the stream"; + } + leaf is-admitted { + type boolean; + default "true"; + description + "Admit the Multicast stream or deny"; + } + leaf is-periodical { + type boolean; + default "false"; + description + "Multicast RRC is periodical or initial"; + } + leaf qos { + type wireless-enum-types:media-stream-qos; + default "mstream-video"; + description + "Multicast stream QOS value"; + } + leaf priority { + type uint16 { + range "1 .. 8"; + } + default "4"; + description + "Multicast stream priority"; + } + leaf rrc-violation { + type uint16 { + range "1 .. 2"; + } + default "2"; + description + "Decision to drop or fall-back to best-effort in case of RRC violation"; + } + } + + grouping mstreamglob { + description + "Multicast stream global"; + leaf multicast-direct-state { + type boolean; + default "false"; + description + "Multicast direct state"; + } + leaf url { + type string { + pattern '[A-Za-z0-9@.:/?=%,&-]*'; + } + default ""; + description + "Media stream session description protocol (SDP) URL"; + } + leaf email { + type string { + pattern '[A-Za-z0-9@._-]*'; + } + default ""; + description + "Media stream SDP email ID"; + } + leaf phone { + type string { + pattern '([0-9]+(-[0-9]+)*)?'; + } + default ""; + description + "Media stream SDP phone number"; + } + leaf note { + type string; + default ""; + description + "Media stream SDP Note to client when stream is denied"; + } + leaf msg-state { + type boolean; + default "false"; + description + "Media stream SDP message state"; + } + } + + container mstream-cfg-data { + description + "multicast Cisco_IOS_XE_wireless_mstream_cfg"; + container mstream-groups { + description + "Multicast stream groups"; + list mstream-group { + key "group-name"; + description + "List of multicast stream groups"; + uses wireless-mstream-cfg:mstreamgrp; + } + } + container mstream-glob { + presence "mstreamglob"; + description + "Multicast stream global"; + uses wireless-mstream-cfg:mstreamglob; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-nmsp-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-nmsp-oper.yang new file mode 100644 index 000000000..14a7ca48d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-nmsp-oper.yang @@ -0,0 +1,600 @@ +module Cisco-IOS-XE-wireless-nmsp-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-nmsp-oper"; + prefix wireless-nmsp-oper; + + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless nmsp operational data. + Copyright (c) 2016-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-09-19 { + description + "- Change type of boolean leafs in nmsp-services to empty + - Remove rssi-ms-associated-only from nmsp-services"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-04-13 { + description + "Added support for CMX AP filtering"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-31 { + description + "CMX cloud support"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-nmsp-transport-type { + type enumeration { + enum default-class-type2 { + value 0; + description + "TLS transport protocol"; + } + enum manual-changed-class-type1 { + value 1; + description + "HTTPS transport protocol"; + } + } + description + "Enumeration of all the supported transport protocols"; + } + + typedef enm-nmsp-cloud-connectivity-type { + type enumeration { + enum nmsp-connectivity-down { + value 0; + description + "It represents the connectivity status DOWN"; + } + enum nmsp-connectivity-https { + value 1; + description + "It represents the status UP for the HTTPS connection"; + } + } + description + "Enumeration of all the combinations of connectivity and status"; + } + + grouping nmsp-services { + description + "NMSP capabilities of the wireless controller, or service subscriptions established by CMX"; + leaf mask { + type uint64; + description + "NMSP subservice bitmask: combination of all the subservices"; + } + leaf rssi-ms { + type empty; + description + "RSSI Mobile Station capability"; + } + leaf rssi-rfid { + type empty; + description + "RSSI RFID Tag capability"; + } + leaf rssi-rogue { + type empty; + description + "RSSI Rogue capability"; + } + leaf rssi-interferer { + type empty; + description + "RSSI Interferer capability"; + } + leaf rssi-hs { + type empty; + description + "RSSI Handover Client capability"; + } + leaf rssi-ms-associated-only { + type empty; + description + "RSSI Associated Mobile Station only capability"; + } + leaf spectrum-interferer { + type empty; + description + "Spectrum Interferer capability"; + } + leaf spectrum-air-quality { + type empty; + description + "Spectrum Air Quality capability"; + } + leaf spectrum-aggregate-interferer { + type empty; + description + "Spectrum Aggregate Interferer capability"; + } + leaf info-ms { + type empty; + description + "Information Mobile Station capability"; + } + leaf info-rfid { + type empty; + description + "Information RFID Tag capability"; + } + leaf info-rogue { + type empty; + description + "Information Rogue capability"; + } + leaf info-hs { + type empty; + description + "Information Handover Client capability"; + } + leaf stats-ms { + type empty; + description + "Statistics Mobile Station capability"; + } + leaf stats-rfid { + type empty; + description + "Statistics RFID Tag capability"; + } + leaf stats-rogue { + type empty; + description + "Statistics Rogue capability"; + } + leaf attach { + type empty; + description + "Mobile Station Attachment capability"; + } + leaf location { + type empty; + description + "Location Service capability"; + } + leaf fmchs { + type empty; + description + "Handover Service capability"; + } + leaf ap-monitor { + type empty; + description + "AP Monitor Service capability"; + } + leaf wips { + type empty; + description + "Wireless Intrusion Detection System capability"; + } + leaf on-demand { + type empty; + description + "On-Demand Service capability"; + } + leaf ap-info { + type empty; + description + "AP Info Service capability"; + } + } + + grouping nmsp-client-registration-info { + description + "Registration data for EWLC applications acting as NMSP clients"; + leaf client-id { + type uint32; + description + "NMSP client identifier"; + } + container services { + description + "NMSP capabilities provided by EWLC application (NMSP client)"; + uses wireless-nmsp-oper:nmsp-services; + } + } + + grouping nmsp-cmx-message-counter { + description + "Counter for message exchanged between NMSPd and CMX"; + leaf counter { + type uint64; + description + "Amount of messages sent or received"; + } + leaf msg-id { + type uint16; + description + "NMSP protocol message identifier"; + } + } + + grouping nmsp-cmx-connection-stats { + description + "Statistics of connection from CMX to NMSP daemon"; + list tx-msg-counter { + description + "Counters for all the messages transmitted from NMSPd to CMX"; + uses wireless-nmsp-oper:nmsp-cmx-message-counter; + } + list rx-msg-counter { + description + "Counters for all the messages received by NMSPd from CMX"; + uses wireless-nmsp-oper:nmsp-cmx-message-counter; + } + leaf unsupported-msg-count { + type uint64; + description + "Number of unsupported messages received by NMSP daemon from CMX"; + } + leaf tx-data-frames { + type uint64; + description + "Number of data frames transferred from NMSP daemon to CMX"; + } + leaf rx-data-frames { + type uint64; + description + "Number of data frames received by NMSP daemon from CMX"; + } + leaf connections { + type uint64; + description + "Amount of successful connections"; + } + leaf disconnections { + type uint64; + description + "Amount of disconnections"; + } + } + + grouping nmsp-cmx-information { + description + "CMX connection information"; + leaf peer-ip { + type inet:ip-address; + description + "IP address of the CMX"; + } + leaf connection-id { + type uint64; + description + "Internal connection ID of the CMX"; + } + leaf active { + type boolean; + description + "Flag indicating whether CMX connection is active"; + } + container con-stats { + description + "Statistics of messages sent/received"; + uses wireless-nmsp-oper:nmsp-cmx-connection-stats; + } + container subscriptions { + description + "Service subscriptions established by given CMX"; + uses wireless-nmsp-oper:nmsp-services; + } + leaf transport { + type wireless-nmsp-oper:enm-nmsp-transport-type; + description + "The transport used for this CMX connection"; + } + } + + grouping nmsp-statistics-ssl { + description + "Statistics of the SSL connection between CMX and NMSP daemon"; + leaf verify-count { + type uint64; + description + "Total amount of SSL certificate verifications"; + } + leaf verify-fail { + type uint64; + description + "Amount of SSL certificate verification failures"; + } + leaf verify-success { + type uint64; + description + "Amount of successful certificate verification attempts"; + } + leaf connection-created { + type uint64; + description + "Amount of CMX to NMSPd connections created"; + } + leaf connection-closed { + type uint64; + description + "Amount of CMX to NMSPd connections closed"; + } + leaf accept-attempts { + type uint64; + description + "Total amount of connection accept attempts"; + } + leaf accept-fail { + type uint64; + description + "Failures in accepting incoming connections"; + } + leaf accept-reject { + type uint64; + description + "Amount of incoming connections rejected during acceptance phase"; + } + leaf accept-success { + type uint64; + description + "Amount of accepted incoming connections"; + } + leaf accept-register-fail { + type uint64; + description + "Amount of failed registrations"; + } + } + + grouping nmsp-statistics-aaa { + description + "NMSP statistics for AUthentication, AUthorization and Accounting (AAA)"; + leaf aaa-request { + type uint64; + description + "Total amount of AAA requests"; + } + leaf aaa-send-fail { + type uint64; + description + "Amount of requests, that were failed to transmit to AAA module"; + } + leaf aaa-send-success { + type uint64; + description + "Amount of requests successfully transmitted to AAA module"; + } + leaf aaa-response { + type uint64; + description + "Amount of responses received from AAA module"; + } + leaf aaa-validation-total { + type uint64; + description + "Amount of received responses from AAA that are subject of further validation"; + } + leaf aaa-validation-fail { + type uint64; + description + "Responses from AAA to validate error"; + } + leaf aaa-validation-success { + type uint64; + description + "Amount of received responses from AAA, that were successfully validated"; + } + } + + grouping nmsp-statistics-srv { + description + "NMSP daemon statistics"; + leaf srv-restarts { + type uint64; + description + "Number of NMSP daemon restarts"; + } + } + + grouping nmsp-statistics { + description + "Global NMSP service statistics"; + container ssl-stats { + description + "NMSP SSL statistics"; + uses wireless-nmsp-oper:nmsp-statistics-ssl; + } + container aaa-stats { + description + "NMSP AAA statistics"; + uses wireless-nmsp-oper:nmsp-statistics-aaa; + } + container srv-stats { + description + "NMSP daemon statistics"; + uses wireless-nmsp-oper:nmsp-statistics-srv; + } + } + + grouping nmsp-cmx-cloud-stats { + description + "Statistics of connection from CMX to NMSP daemon via cloud services"; + leaf tx-dataframes { + type uint32; + description + "Number of data frames sent"; + } + leaf rx-dataframes { + type uint32; + description + "Number of data frames received"; + } + leaf tx-heartbeat-req { + type uint32; + description + "Number of HTTP heartbeats sent"; + } + leaf heartbeat-timeout { + type uint32; + description + "Number of heartbeat timeouts"; + } + leaf rx-subscriber-req { + type uint32; + description + "Number of requests from subscriber"; + } + leaf tx-databytes { + type uint32; + description + "Number of bytes sent"; + } + leaf rx-databytes { + type uint32; + description + "Number of bytes received"; + } + leaf tx-heartbeat-fail { + type uint32; + description + "Count of failures sending heartbeat"; + } + leaf rx-data-fail { + type uint32; + description + "Number of failures receiving data"; + } + leaf tx-data-fail { + type uint32; + description + "Number of failures sending data"; + } + } + + grouping nmsp-cmx-cloud-status { + description + "Statistics for CMX cloud"; + leaf ip-address { + type inet:ip-address; + description + "IP Address which CMX cloud server is resolved"; + } + leaf connectivity { + type wireless-nmsp-oper:enm-nmsp-cloud-connectivity-type; + description + "Enum representing the status UP/DOWN of the HTTP connection to the cloud services"; + } + leaf service-up { + type boolean; + description + "True if NMSP connectivity towards CMX cloud is UP"; + } + leaf last-request-status { + type string; + description + "String representing the last request status"; + } + leaf heartbeat-status-ok { + type boolean; + description + "True if last heartbeat was succesful"; + } + } + + grouping nmsp-cmx-cloud-info { + description + "Information about the CMX cloud services"; + container cloud-status { + description + "Status of the cloud connection"; + uses wireless-nmsp-oper:nmsp-cmx-cloud-status; + } + container cloud-stats { + description + "Statistics of the cloud connection"; + uses wireless-nmsp-oper:nmsp-cmx-cloud-stats; + } + } + + container nmsp-oper-data { + config false; + description + "Network Mobility Services Protocol"; + list client-registration { + key "client-id"; + description + "Table of controller applications providing certain NMSP services (also known as NMSP clients)"; + uses wireless-nmsp-oper:nmsp-client-registration-info; + } + list cmx-connection { + key "peer-ip"; + description + "CMX connection table"; + uses wireless-nmsp-oper:nmsp-cmx-information; + } + container cmx-cloud-info { + presence "nmsp-cmx-cloud-info-tbl"; + description + "Table of information describing NMSP services over HTTPS transport"; + uses wireless-nmsp-oper:nmsp-cmx-cloud-info; + } + container statistics { + presence "nmsp-statistics-tbl"; + description + "NMSP statistics table"; + uses wireless-nmsp-oper:nmsp-statistics; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-power-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-power-cfg.yang new file mode 100644 index 000000000..abf1eedc2 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-power-cfg.yang @@ -0,0 +1,158 @@ +module Cisco-IOS-XE-wireless-power-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-power-cfg"; + prefix wireless-power-cfg; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless power policy configuration data. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Updated the maximum association limit for the power profile"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Updated the max-elements for power profile entry list"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ap-ppe-list { + description + "Power policy entry list"; + leaf seq-number { + type uint32; + description + "Interface sequence number"; + } + choice intf-choice { + default "ap-pp-intf-unset"; + description + "Interface type"; + case ap-pp-intf-unset { + leaf intf-unset { + type boolean; + default "true"; + description + "Interface is not configured"; + } + } + case ap-pp-intf-eth { + container ethernet { + description + "Configure ethernet interface"; + uses wireless-types:ap-pp-intf-ethernet; + } + } + case ap-pp-intf-radio { + container radio { + description + "Configure radio interface"; + uses wireless-types:ap-pp-intf-radio; + } + } + case ap-pp-intf-usb { + container usb { + description + "Configure USB interface"; + uses wireless-types:ap-pp-intf-usb; + } + } + } + } + + grouping ap-power-profile { + description + "Power policy configuration"; + leaf profile-name { + type string { + length "1..128" { + error-message "Power profile-name should not be greater than 128 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?'; + pattern '[!-~]([ -~]*[!-~])?' { + error-message "Power profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "pattern-violation"; + } + } + description + "Power profile name"; + } + leaf description { + type string { + length "0..128"; + } + description + "Description for power profile"; + } + container ap-ppes { + description + "Power profile entry lists"; + list ap-ppe { + key "seq-number"; + max-elements 64; + description + "Power profile entry list"; + uses wireless-power-cfg:ap-ppe-list; + } + } + leaf ap-pp-client-threshold { + type uint16 { + range "1..32"; + } + default "1"; + description + "Configure the client threshold up to which the AP can stay on power save mode"; + } + } + + container power-cfg-data { + description + "Power policy configuration data"; + container ap-power-profiles { + description + "Power policy configuration for APs"; + list ap-power-profile { + key "profile-name"; + description + "Power policy configuration for AP"; + uses wireless-power-cfg:ap-power-profile; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-radio-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-radio-cfg.yang new file mode 100644 index 000000000..222f9e8fb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-radio-cfg.yang @@ -0,0 +1,415 @@ +module Cisco-IOS-XE-wireless-radio-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-radio-cfg"; + prefix wireless-radio-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing radio configuration + Copyright (c) 2019-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-07-01 { + description + "- Added DTIM period configuration for radio profile"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2021-11-01 { + description + "- Added mesh backhaul and designated downlink config for radio profile"; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2021-07-01 { + description + "- Added radio profile and antenna beam steering mode + - Added antenna count for radio profile"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "Added a new leaf transmit-power and obsolete the leaf transmit-power-level"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-03-01 { + description + "Added length constraint for AP hostname in AP specific configuration"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-11-01 { + description + "Added roaming domain into ap specific configuration"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-01-16 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-ap-spec-config { + description + "AP specific configuration"; + leaf ap-eth-mac-addr { + type yang:mac-address; + description + "AP ethernet mac address"; + } + leaf ap-host-name { + type string { + length "1..28"; + } + mandatory true; + description + "AP host name"; + } + leaf enable-bssid-stats { + type boolean; + default "false"; + description + "Enable/Disable the receiving bssid stats from AP"; + } + leaf primary-controller-name { + type string; + description + "Primary controller name"; + } + leaf primary-controller-ip-addr { + type inet:ipv4-address; + description + "Primary controller IP address"; + } + leaf primary-controller-v6-ip-addr { + type inet:ipv6-address; + description + "Primary controller v6 IP address"; + } + leaf secondary-controller-name { + type string; + description + "Secondary controller name"; + } + leaf secondary-controller-ip-addr { + type inet:ipv4-address; + description + "Secondary controller IP address"; + } + leaf secondary-controller-v6-ip-addr { + type inet:ipv6-address; + description + "Secondary controller v6 IP address"; + } + leaf tertiary-controller-name { + type string; + description + "Tertiary controller name"; + } + leaf tertiary-controller-ip-addr { + type inet:ipv4-address; + description + "Tertiary controller IP address"; + } + leaf tertiary-controller-v6-ip-addr { + type inet:ipv6-address; + description + "Tertiary controller v6 IP address"; + } + leaf roaming-domain { + type string; + description + "Roaming domain for the AP"; + } + } + + grouping st-ap-specific-config { + description + "Container for radio configuration pertaining to an access point"; + leaf ap-ethernet-mac-addr { + type yang:mac-address; + description + "Radio MAC address of the AP"; + } + container ap-specific-slot-configs { + description + "List of Access-point specific slot configurations"; + list ap-specific-slot-config { + key "slot-id"; + description + "Access-point specific slot configurations"; + uses wireless-radio-cfg:st-ap-specific-slot-config; + } + } + } + + grouping st-radio-params-24ghz { + description + "Radio parameters specific to 24 ghz radio"; + leaf admin-state { + type boolean; + default "true"; + description + "Enable/disable the radio"; + } + leaf transmit-power-level { + type uint8; + units "dBm"; + default "1"; + status obsolete; + description + "This leaf is obsolete. Use transmit-power leaf to set transmit power of the radio"; + } + leaf channel { + type uint8; + default "1"; + description + "Operating channel"; + } + leaf channel-width { + type uint8; + default "20"; + description + "Operating channel-width"; + } + leaf dca { + type boolean; + default "true"; + description + "Enable/disable dynamic channel allocation"; + } + leaf dtp { + type boolean; + default "true"; + description + "Enable/disable dynamic transmit power"; + } + leaf antenna-gain { + type uint8; + units "dBi"; + default "0"; + description + "Antenna gain applied to this Radio"; + } + leaf transmit-power { + type int8; + units "dBm"; + default "1"; + description + "Transmit power of the radio"; + } + } + + grouping st-radio-params-5ghz { + description + "Radio parameters specific to 5GHz radio"; + leaf admin-state { + type boolean; + default "true"; + description + "Radio admin state"; + } + leaf transmit-power-level { + type uint8; + units "dBm"; + default "1"; + status obsolete; + description + "This leaf is obsolete. Use transmit-power leaf to set transmit power of the radio"; + } + leaf channel { + type uint8; + default "36"; + description + "Operating channel"; + } + leaf channel-width { + type uint8; + default "20"; + description + "Operating channel-width"; + } + leaf dca { + type boolean; + default "true"; + description + "Enable/disable dynamic channel allocation"; + } + leaf dtp { + type boolean; + default "true"; + description + "Enable/disable dynamic transmit power"; + } + leaf antenna-gain { + type uint8; + units "dBm"; + default "0"; + description + "Antenna gain applied to this Radio"; + } + leaf transmit-power { + type int8; + units "dBm"; + default "1"; + description + "Transmit power of the radio"; + } + } + + grouping st-ap-specific-slot-config { + description + "Container holding the access point specific radio parameters"; + leaf slot-id { + type uint8; + description + "Slot identifier for the radio"; + } + leaf radio-band { + type wireless-types:enm-radio-frequency; + description + "Radio band at which the radio is operating"; + } + container radio-params-24ghz { + description + "Radio parameter specific to 24 ghz radio"; + uses wireless-radio-cfg:st-radio-params-24ghz; + } + container radio-params-5ghz { + description + "Radio parameter specific to 5GHz radio"; + uses wireless-radio-cfg:st-radio-params-5ghz; + } + } + + grouping st-radio-profile { + description + "Container holding the radio profile parameters for the AP"; + leaf name { + type string { + length "1..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Name of the radio profile"; + } + leaf desc { + type string { + length "0..64"; + } + description + "Description for the radio profile"; + } + leaf beam-steer-mode { + type wireless-enum-types:enm-beam-selection-mode; + description + "Beam steering mode for the AP slot"; + } + leaf num-ant-enabled { + type uint8 { + range "0 .. 8"; + } + description + "Number of antennas to be enabled for the AP slot"; + } + leaf mesh-backhaul { + type boolean; + default "true"; + description + "Enable mesh backhaul on this radio. Uplink will be attempted and if successful, downlink will be activated unless designated downlink exist"; + } + leaf mesh-designated-downlink { + type boolean; + default "false"; + description + "Use this radio as a designated mesh downlink backhaul. Uplink radio will not be used as downlink in presence of designated downlink"; + } + leaf dtim-period { + type uint8; + default "1"; + description + "DTIM interval for 6GHz radio"; + } + } + + container radio-cfg-data { + description + "Top level container for AP specific radio configuration"; + container ap-specific-configs { + description + "List of Access-point specific configurations"; + list ap-specific-config { + key "ap-ethernet-mac-addr"; + description + "Access-point specific configurations"; + uses wireless-radio-cfg:st-ap-specific-config; + } + } + container ap-spec-configs { + description + "List of Access-point specific radio configurations"; + list ap-spec-config { + key "ap-eth-mac-addr"; + description + "Access-point specific radio configurations"; + uses wireless-radio-cfg:st-ap-spec-config; + } + } + container radio-profiles { + description + "List of radio profiles for access point"; + list radio-profile { + key "name"; + max-elements 6000; + description + "Radio profile for access point"; + uses wireless-radio-cfg:st-radio-profile; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rf-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rf-cfg.yang new file mode 100644 index 000000000..c1cfebc16 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rf-cfg.yang @@ -0,0 +1,1956 @@ +module Cisco-IOS-XE-wireless-rf-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rf-cfg"; + prefix wireless-rf-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing RF(Radio-Frequency) profile configurations + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for packet retries + - Added preamble puncturing and 802.11be configurations"; + reference + "9.6.0"; + cisco-semver:module-version "9.6.0"; + } + revision 2023-11-01 { + description + "- Added support for 6GHz power mode enablement + - Add block ACK window size of aggregate MAC protocol data unit"; + reference + "9.5.0"; + cisco-semver:module-version "9.5.0"; + } + revision 2023-03-01 { + description + "- Added FRA action"; + reference + "9.4.0"; + cisco-semver:module-version "9.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "9.3.0"; + cisco-semver:module-version "9.3.0"; + } + revision 2022-07-01 { + description + "- Added Zero wait DFS configuration for RF profile + - Updated the range for maximum number of clients per radio + - Added guard interval configuration for RF profile + - Added 6GHz specific client aware FRA thresholds"; + reference + "9.2.0"; + cisco-semver:module-version "9.2.0"; + } + revision 2022-03-01 { + description + "- Modified all 6GHz must constraints"; + reference + "9.1.0"; + cisco-semver:module-version "9.1.0"; + } + revision 2021-11-01 { + description + "- Added Spatial Reuse Group (SRG) Overlapping Basic Service Set Packet Detect (OBSS-PD) configurations + - Updated the range for maximum number of clients per radio + - Deprecated FILS and Unsolicited Broadcast Probe Response and added as a part of 802.11ax 6GHz specific feature + - Updated the range for Unsolicited Broadcast Probe Response Interval + - Added must constraint to prevent High Speed Roam (HSR) mode and client aware FRA configuration for 6 GHz RF profile + - Modified the default value for Target Wake-up Time and Target Wake-up Time broadcast"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-07-01 { + description + "- Added Multi BSSID profile and 802.11ax parameters for RF profile + - Added radio profile configuration + - Added preferred scanning channel bias for 6 GHz DCA + - Added must constraint to prevent 802.11n MCS data rate configuration for 6 GHz RF profile"; + reference + "8.1.0"; + cisco-semver:module-version "8.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for RF tag and profile name and ATF-policy name + - Added Neighbor Discovery mode for AP + - Added a default value for Rx-SOP custom threshold"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2020-11-01 { + description + "- Added 802.11ax OBSS PD configurations + - Added must constraints for tx-power-min, tx-power-max, client-select-threshold, client-reset-threshold"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2020-07-01 { + description + "- Adding must constraints for data rate to mandate one rate as basic"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-06-26 { + description + "- Creation of RF Profile will not need 32 mcs entries are created. + - Added semantic version + - Update the default values as per WLC configuration best practice. + - Changed default value of client-network-preference to 'default'."; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-02-19 { + description + "- Renaming radio type to band and removing the band variable in st_rfprofile_default + - Cleaned up spelling errors in descriptions + - fixed the name for load_balancing and trap_threshhold attributes + - Removed leaf node radioType from L2 roam RF Parameters + - Removed leaf node dot11n from RF Profile + - Add client-aware-fra, client-select-threshold, client-reset-threshold + - Removal of layer 2 roaming RF parameter leaves."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-05-03 { + description + "Receiver Start of Packet (RX-SOP) configuration to support custom values (-60 to -85 dbm)"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-02-11 { + description + "Process Air Time Fairness(ATF) mesh stats from Access-Point(AP)"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping rf-80211-nmcs { + description + "This container has all the configuration related to Modulation and Coding Scheme (MCS) data rates"; + leaf rf-index { + type uint8 { + range "0 .. 31"; + } + must "../../../band != 'dot11-6-ghz-band'" { + error-message "802.11n MCS data rate configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + description + "Identifies the Modulation and Coding Scheme (MCS) data rate for a particular RF(Radio-Frequency) profile."; + } + leaf rf-80211n-mcs-enable { + type boolean; + must "../../../band != 'dot11-6-ghz-band'" { + error-message "802.11n MCS data rate configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + default "true"; + description + "Enable or disable the data rate. When this object is set to 'true' the Modulation and Coding Scheme (MCS) support is enabled. + When this object is set to 'false' the MCS support is disabled"; + } + } + + grouping rf-dca-allowed-chans { + description + " Configure list of all the allowed channels for the parent Radio-Frequency(rf)-profile"; + leaf channel { + type uint32; + description + "Configure the channel number in allowed channel list"; + } + } + + grouping st-rf-dca-removed-chans { + description + "Configure the list of removed channels for the parent Radio-Frequency(rf)-profile"; + leaf channel { + type uint32; + description + "Configure the channel number in removed channel list"; + } + } + + grouping rfprofile { + description + "This object indicates all the configurations related to Radio-Frequency(rf)-profile"; + leaf name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Configure the name of the Radio-Frequency(rf)-profile"; + } + leaf description { + type string; + description + "Configure the brief description of each Radio-Frequency(rf)-profile"; + } + leaf tx-power-min { + type int8 { + range "-10 .. 30"; + } + units "dBm"; + must '../tx-power-min <= ../tx-power-max' { + error-message "tx-power-min must be less than or equal to tx-power-max"; + error-app-tag "must-violation"; + } + default "-10"; + description + "Lower limit of transmit power in dBm. For an 802.11 network, + the system will only accept this configuration if the Transmit Power Control(TPC) is in Auto or Run Once mode"; + } + leaf tx-power-max { + type int8 { + range "-10 .. 30"; + } + units "dBm"; + must '../tx-power-min <= ../tx-power-max' { + error-message "tx-power-max must be greater than or equal to tx-power-min"; + error-app-tag "must-violation"; + } + default "30"; + description + "Upper limit of transmit power in dBm. For an 802.11 network, + the system will only accept this configuration if the Transmit Power Control(TPC) is in Auto or Run Once mode"; + } + leaf tx-power-v1-threshold { + type int16 { + range "-80 .. -50"; + } + units "dBm"; + default "-70"; + description + "Configure the transmit power control version 1 threshold for the radio resource management algorithm in dBm."; + } + leaf tx-power-v2-threshold { + type int16 { + range "-80 .. -50"; + } + units "dBm"; + default "-67"; + description + "Configure the transmit power control version 2 threshold for the radio resource management algorithm in dBm."; + } + leaf status { + type boolean; + default "false"; + description + "Configure the Radio-Frequency(rf)-profile operational state. + The value false indicates that the Radio-Frequency(rf)-profile is inactive, the value of true indicate the Radio-Frequency(rf)-profile is active"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Configure the radio type for this profile."; + } + leaf data-rate-1m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configuration for 1 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-2m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configuration for 2 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-5-5m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configuration for 5.5 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-11m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configuration for 11 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-6m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configuration for 6 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-9m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configuration for 9 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-12m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configuration for 12 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-18m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configuration for 18 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-24m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configuration for 24 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-36m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configuration for 36 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-48m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configuration for 48 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-54m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configuration for 54 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf coverage-data-packet-rssi-threshold { + type int16 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + description + "Configure Received Signal Strength Indicator(RSSI) threshold value for data packets in dBm."; + } + leaf min-num-clients { + type int32 { + range "1 .. 200"; + } + default "3"; + description + "Configure client minimum exception level."; + } + leaf coverage-voice-packet-rssi-threshold { + type int16 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + description + "Configure Received Signal Strength Indicator(RSSI) threshold value for voice packets in dBm."; + } + leaf exception-level { + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "25"; + description + "Configure the coverage exception level in percentage of total clients to actual failed clients."; + } + leaf band-select-client-rssi { + type int16 { + range "-90 .. -20"; + } + units "dBm"; + default "-80"; + description + "Configure minimum mobile station Received Signal Strength Indicator(RSSI) threshold in dBm. + Mobile stations having RSSI below this value will not be recorded in the suppressed table. + This configuration filters out far away mobile stations with weaker signal strength. This will limit the number of mobile stations on the table to a reasonable amount."; + } + leaf band-select-client-mid-rssi { + type int16 { + range "-90 .. -20"; + } + units "dBm"; + default "-80"; + description + "Configure medium mobile station Received Signal Strength Indicator(RSSI) threshold in dBm. Mobile station between this value and cldband_select_client_rssi will be recorded in suppressed table but will not be denied. The mobile station having RSSI stronger this value will be recorded and denied."; + } + leaf band-select-cycle-count { + type uint16 { + range "1 .. 10"; + } + default "2"; + description + "Configure maximum number of cycles not responding."; + } + leaf band-select-cycle-threshold { + type uint16 { + range "1 .. 1000"; + } + units "milliseconds"; + default "200"; + description + "Configure cycle threshold for band select in milliseconds."; + } + leaf band-select-age-out-dual-band { + type uint16 { + range "10 .. 300"; + } + units "seconds"; + default "60"; + description + "Configure expire of dual band in secs."; + } + leaf band-select-age-out-suppression { + type uint16 { + range "10 .. 200"; + } + units "seconds"; + default "20"; + description + "Configure expire of suppression in secs."; + } + leaf band-select-probe-response { + type boolean; + default "false"; + description + "Configure Access-Point(AP)'s probe response with clients to verify whether client can associate on both 2.4 GHz and 5 Ghz spectrum. + When set to true, AP suppresses probe response to new clients for all Service Set Identifier(SSID)'s that are not being Band Select disabled."; + } + leaf dca-contribution-interference { + type boolean; + default "true"; + description + "Configure Dynamic Channel Assignment (DCA) for Radio-Frequency(RF)-Profiles."; + } + leaf rf-dca-chan-width { + type wireless-enum-types:rf-dca-chan-width; + default "rf-dca-chan-width-best"; + description + "Specify the system Dynamic Channel Assignment (DCA) channel width selection for the Radio-Frequency(RF)-Profile + Possible values: + rf-dca-chan-width-20-mhz = Channel width will be set to 20 Mhz + rf-dca-chan-width-40-mhz = Channel width will be set to 40 Mhz + rf-dca-chan-width-80-mhz = Channel width will be set to 80 Mhz + rf-dca-chan-width-best = Best channel width will be selected by Dynamic Channel Assignment (DCA) algorithm + rf-dca-chan-width-160-mhz = Channel width will be set to 160 Mhz"; + } + leaf load-balancing-window { + type uint32 { + range "0 .. 20"; + } + default "5"; + description + "Configure number of clients associated between Access-Point(AP)'s."; + } + leaf load-balancing-denial-count { + type uint32 { + range "1 .. 10"; + } + default "3"; + description + "Configure number of clients denial with respect to Access-Point(AP)."; + } + leaf trap-threshold-clients { + type uint32 { + range "1 .. 200"; + } + default "12"; + description + "Configure threshold number of clients per Access-Point(AP) radio to trigger a trap. + The trap ciscoLwappApClientThresholdNotify will be triggered once the count of clients on the AP radio reaches this limit. + A value of zero indicates that the trap is disabled."; + } + leaf trap-threshold-interference { + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "10"; + description + "Configure interference threshold in (%) traps are generated when interference exceeds this value ."; + } + leaf trap-threshold-noise { + type int32 { + range "-127 .. 0"; + } + units "dBm"; + default "-70"; + description + "Configure threshold number of noise threshold between -127 and 0 dBm."; + } + leaf trap-threshold-utilization { + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "80"; + description + "Configure threshold of bandwidth (%) being utilized by an access-point. Traps are sent when this value is exceeded"; + } + leaf max-radio-clients { + type uint16 { + range "0 .. 500"; + } + default "200"; + description + "Configure maximum number of radio clients per Access-Point(AP) in high density environment."; + } + leaf multicast-data-rate { + type wireless-enum-types:enm-multicast-data-rate; + default "mcast-data-rate-default"; + description + "Configure minimum data rate at which multicast clients can associate to Access-Point(AP). A value 0 indicates that AP will automatically adjust data rates."; + } + leaf rx-sen-sop-threshold { + type wireless-types:rx-sen-sop-threshold-level; + units "dBm"; + default "rrm-ewlc-rxsensop-threshold-auto"; + description + "Configure the Receiver Start of Packet(RX-SOP) sensitivity threshold"; + } + leaf rx-sen-sop-custom { + type int16 { + range "-85 .. -60"; + } + units "dBm"; + default "-85"; + description + "Rx SOP custom values configured between -85 dBm (default) and -60 dBm. This configured value takes effect only when rx sop threshold is set to custom"; + } + leaf client-network-preference { + type wireless-types:enm-client-network-preference; + default "default"; + description + "Configure the client network preference. Possible values are: + 1. connectivity - Radio-Resource-Management(RRM) Algorithm has a preference on connectivity of the clients. + 2. throughput - Radio-Resource-Management(RRM) Algorithm has a preference on high throughput of the clients. + 3. default - Radio-Resource-Management(RRM) Algorithm has no preference on the clients."; + } + leaf hsr-mode { + type boolean; + must "((current() = 'false') or (../band != 'dot11-6-ghz-band'))" { + error-message "High-speed roam(HSR) configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + default "false"; + description + "Configure High-speed roam(HSR) mode for Radio-Frequency(RF) profile."; + } + leaf hsr-neighbor-timeout { + type uint16 { + range "5 .. 60"; + } + units "seconds"; + must "((current() = 5) or (../band != 'dot11-6-ghz-band'))" { + error-message "hsr-neighbor-timeout configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + default "5"; + description + "Configure timeout interval of neighbors that will be configured for Radio-Frequency(RF) profile. Neighbor timeout factor will be five times the neighbor interval"; + } + leaf opt-roam-rssi-treshold { + type int16 { + range "-127 .. 0"; + } + units "dBm"; + default "-127"; + description + "Configure the minimum Received Signal Strength Indicator(RSSI) threshold for optimized roaming to occur. Possible values are in the range -127 dbm to 0 dbm"; + } + leaf opt-roam-rssi-check-enable { + type boolean; + default "false"; + description + "Indicates if Received Signal Strength Indicator(RSSI) threshold is enabled before optimized roaming is enabled"; + } + leaf atf-oper-mode { + type wireless-enum-types:apf-ate-mode; + default "apf-atf-mode-disable"; + description + "Configure air time fairness operating mode. + Possible values: + apf-atf-mode-disable = Disable the Air Time Fairness. + apf-atf-mode-ssid = Configure airtime-fairness in enforce-policy mode. + apf-atf-mode-monitor = Monitor Mode represented by cLApDot11IfType of ATF supported APs joined in the controller"; + } + leaf atf-optimization { + type wireless-enum-types:apf-ate-stealing-policy; + default "apf-atf-stealing-policy-disable"; + description + "Configure air time fairness Optimization Policy represented by cLApDot11IfType of ATF supported APs. + Possible values: + apf-atf-stealing-policy-disable = Disable airtime-fairness optimization + apf-atf-stealing-policy-enable = Enable airtime-fairness optimization"; + } + leaf bridge-client-access { + type boolean; + default "false"; + description + "Airtime Allocation Mode under Radio-Frequency(rf)-profile. Value = True, indicates Airtime Allocation feature is enabled and Value = False, indicates Airtime Allocation feature is disabled."; + } + leaf airtime-allocation { + type uint8 { + range "5 .. 90"; + } + units "percentage"; + default "5"; + description + "Configure airtime allocation weight percentage"; + } + leaf client-aware-fra { + type boolean; + must "((current() = 'false') or (../band != 'dot11-6-ghz-band'))" { + error-message "client aware FRA configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + default "false"; + description + "Client aware FRA allows the Dual band to operate on 5 Ghz or monitor mode depending on the load on the dedicated 5 Ghz radio"; + } + leaf client-select-threshold { + type uint8 { + range "0 .. 100"; + } + must "((current() = 50) or (../band != 'dot11-6-ghz-band'))" { + error-message "client-select-threshold configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + must '../client-reset-threshold < ../client-select-threshold' { + error-message "client-select-threshold must be greater than client-reset-threshold"; + error-app-tag "must-violation"; + } + default "50"; + description + "Client aware FRA utilization threshold value for moving Dual band radio from monitor mode to to Client Serving"; + } + leaf client-reset-threshold { + type uint8 { + range "0 .. 100"; + } + must "((current() = 5) or (../band != 'dot11-6-ghz-band'))" { + error-message "client-reset-threshold configuration is not applicable for 6 GHz band"; + error-app-tag "must-violation"; + } + must '../client-reset-threshold < ../client-select-threshold' { + error-message "client-reset-threshold must be less than client-select-threshold"; + error-app-tag "must-violation"; + } + default "5"; + description + "Client aware FRA utilization threshold value for moving Dual band radio from Client Serving mode to Monitor mode"; + } + container rf-mcs-entries { + description + "Configurations related to named Radio-Frequency(rf)-profile"; + list rf-mcs-entry { + key "rf-index"; + description + "A list of configurations related to named Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rf-80211-nmcs; + } + } + container rf-dca-allowed-channels { + description + "Configurations related to allowed Dynamic Channel Assignment (DCA) channels in a named Radio-Frequency(rf)-profile"; + list rf-dca-allowed-channel { + key "channel"; + description + "List of configurations related to allowed Dynamic Channel Assignment (DCA) channels in a named Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rf-dca-allowed-chans; + } + } + container rfdca-removed-channels { + description + "Configurations related to removed Dynamic Channel Assignment (DCA) channels in a named Radio-Frequency(rf)-profile"; + list rfdca-removed-channel { + key "channel"; + description + "A list of configurations related to removed Dynamic Channel Assignment (DCA) channels in a named Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:st-rf-dca-removed-chans; + } + } + leaf he-obss-pd-enable { + type boolean; + default "false"; + description + "Enable/Disable 802.11ax OBSS PD spatial reuse"; + } + leaf he-non-srg-obss-pd-max { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + default "-62"; + description + "Non-SRG OBSS PD maximum threshold in dBm"; + } + leaf ndp-mode { + type wireless-enum-types:enm-ndp-mode; + default "ndp-mode-auto"; + description + "Neighbor discovery protocol operating mode configuration. + Possible values are: + auto - AP does neighbor discovery either on serving channel or + off channel based on its NDP capability + off-channel - AP does neighbor discovery on off channel"; + } + leaf he-bcast-probe-resp { + type boolean; + default "false"; + status deprecated; + description + "802.11ax broadcast probe response"; + } + leaf he-bcast-probe-resp-intvl { + type uint16 { + range "5 .. 25"; + } + units "seconds"; + default "20"; + description + "802.11ax broadcast probe response interval"; + } + leaf he-fils-disc { + type boolean; + default "false"; + status deprecated; + description + "802.11ax FILS discovery"; + } + leaf mbssid-prof-name { + type string; + default "default-multi-bssid-profile"; + description + "802.11ax Multi BSSID profile name"; + } + leaf psc-bias { + type boolean; + default "false"; + description + "Enable or disable preferred scanning channel bias for 6 GHz DCA"; + } + leaf he-srg-obss-pd-enable { + type boolean; + default "false"; + description + "Enable/Disable 802.11ax SRG OBSS PD spatial reuse"; + } + leaf he-srg-obss-pd-min { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + must '../he-srg-obss-pd-min <= ../he-srg-obss-pd-max' { + error-message "SRG OBSS PD minimum must be less than or equal to SRG OBSS PD maximum"; + error-app-tag "must-violation"; + } + default "-82"; + description + "SRG OBSS PD minimum threshold in dBm"; + } + leaf he-srg-obss-pd-max { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + must '../he-srg-obss-pd-min <= ../he-srg-obss-pd-max' { + error-message "SRG OBSS PD maximum must be greater than or equal to SRG OBSS PD minimum"; + error-app-tag "must-violation"; + } + default "-62"; + description + "SRG OBSS PD maximum threshold in dBm"; + } + leaf dot11ax-6ghz-feature { + type wireless-enum-types:dot11ax-6ghz-feature; + default "he-6ghz-none"; + description + "802.11ax 6GHz specific feature"; + } + leaf zerowt-dfs { + type boolean; + must "(../band = 'dot11-5-ghz-band' or + ../zerowt-dfs = 'false')" { + error-message "Zero wait DFS feature is applicable only for 5 GHz band"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable/Disable 802.11a Zero wait DFS feature"; + } + leaf guard-interval-ext { + type wireless-enum-types:enm-guard-interval-ext; + default "guard-interval-none"; + description + "Set guard interval for rf profile"; + } + leaf client-reset-thresh-6ghz { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + default "5"; + description + "Client aware FRA utilization threshold value for moving dual band radio from 6GHz to 5GHz"; + } + leaf client-count-reset-6ghz { + type uint8 { + range "1 .. 10"; + } + default "1"; + description + "Client aware FRA client count value for moving dual band radio from 6GHz to 5GHz"; + } + leaf channel-width-min { + type wireless-types:dca-ewlc-chan-width-cap; + default "dca-ewlc-chan-width-cap-20-mhz"; + description + "Minimum Channel Width Allowed for Dynamic Bandwidth Selection. Possible values are 20,40,80 and Maximum allowed"; + } + leaf channel-width-max { + type wireless-types:dca-ewlc-chan-width-cap; + default "dca-ewlc-chan-width-cap-max"; + description + "Maximum Channel Width Allowed for Dynamic Bandwidth Selection. Possible values are 20,40,80 and Maximum allowed"; + } + leaf std-pwr-mode-allowed { + type boolean; + default "false"; + description + "Allow AP to operate in 6GHz standard power mode"; + } + leaf fra-action { + type wireless-enum-types:enm-fra-action-type; + default "fra-action-default"; + description + "FRA action for dual band radio"; + } + leaf ampdu-window-size { + type uint16 { + range "1 .. 255"; + } + default "255"; + description + "Window size for aggregate MAC protocol data unit"; + } + leaf preamble-puncture { + type boolean; + default "false"; + description + "802.11be preamble puncturing"; + } + leaf management-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for management frame retries"; + } + leaf aggregate-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for aggregate frame retries"; + } + leaf non-aggregate-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for non-aggregate frame retries"; + } + } + + grouping rf-80211-nmcs-default { + description + "This object contains all the configuration related to nmcs data rates for default Radio-Frequency(rf)-profile."; + leaf rf-index { + type uint8 { + range "0 .. 31"; + } + description + "uniquely identifies the Modulation and Coding Scheme(MCS) data rate for a particular Radio-Frequency(rf)-profile."; + } + leaf mcs-data-rate { + type uint16; + units "Mbps"; + description + "Modulation and Coding Scheme(MCS) Data rate in Mbps."; + } + leaf rf-80211n-mcs-enable { + type boolean; + default "true"; + description + "Enable or disable the data rate. When this object is set to 'true' the Modulation and Coding Scheme(MCS) support is enabled. When this object is set to 'false' the MCS support is disabled.."; + } + } + + grouping rf-dca-allowed-chans-default { + description + "Configure list of all the allowed channels for the default Radio-Frequency(rf)-profile"; + leaf channel { + type uint32; + description + "Configure the channel number in allowed channel list"; + } + } + + grouping rf-dca-removed-chans-default { + description + "Configure list of all the removed channels for the default Radio-Frequency(rf)-profile"; + leaf channel { + type uint32; + description + "Configure the channel number in allowed channel list"; + } + } + + grouping rfprofile-default { + description + "This object indicates all the configurations related to default Radio-Frequency(rf)-profile"; + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Configure the type of the radio. Possible values are either 802.11b or 802.11a."; + } + leaf name { + type string; + description + "Configure the name of the default Radio-Frequency(rf)-profile"; + } + leaf description { + type string; + description + "Configure the brief description of default Radio-Frequency(rf)-profile"; + } + leaf tx-power-min { + type int8 { + range "-10 .. 30"; + } + units "dBm"; + must '../tx-power-min <= ../tx-power-max' { + error-message "tx-power-min must be less than or equal to tx-power-max"; + error-app-tag "must-violation"; + } + default "-10"; + description + "Lower limit of transmit power in dBm. For an 802.11 network, the system will only accept this configuration if the TPC is in Auto or Run Once mode"; + } + leaf tx-power-max { + type int8 { + range "-10 .. 30"; + } + units "dBm"; + must '../tx-power-min <= ../tx-power-max' { + error-message "tx-power-max must be greater than or equal to tx-power-min"; + error-app-tag "must-violation"; + } + default "30"; + description + "Upper limit of transmit power in dBm. For an 802.11 network, the system will only accept this configuration if the TPC is in Auto or Run Once mode"; + } + leaf tx-power-v1-threshold { + type int16 { + range "-80 .. -50"; + } + units "dBm"; + default "-70"; + description + "Configure transmit power control version 1 threshold for the radio resource management algorithm."; + } + leaf tx-power-v2-threshold { + type int16 { + range "-80 .. -50"; + } + units "dBm"; + default "-67"; + description + "Configure transmit power control version 2 threshold for the radio resource management algorithm."; + } + leaf status { + type boolean; + default "true"; + description + "Configure the Radio-Frequency(rf)-profile operational state. The value false indicates that the Radio-Frequency(rf)-profile is inactive, the value of true indicate the Radio-Frequency(rf)-profile is active"; + } + leaf data-rate-1m { + type wireless-enum-types:rate-state; + must "(../band != 'dot11-2-dot-4-ghz-band' or + ../data-rate-1m = 'apf-tx-rate-basic' or + ../data-rate-2m = 'apf-tx-rate-basic' or + ../data-rate-5-5m = 'apf-tx-rate-basic' or + ../data-rate-11m = 'apf-tx-rate-basic' or + ../data-rate-6m = 'apf-tx-rate-basic' or + ../data-rate-9m = 'apf-tx-rate-basic' or + ../data-rate-12m = 'apf-tx-rate-basic' or + ../data-rate-18m = 'apf-tx-rate-basic' or + ../data-rate-24m = 'apf-tx-rate-basic' or + ../data-rate-36m = 'apf-tx-rate-basic' or + ../data-rate-48m = 'apf-tx-rate-basic' or + ../data-rate-54m = 'apf-tx-rate-basic')" { + error-message "Atleast one data rate should be configured as basic for 2.4GHz rf profile"; + error-app-tag "must-violation"; + } + must "(../band != 'dot11-5-ghz-band' or + ../data-rate-6m = 'apf-tx-rate-basic' or + ../data-rate-9m = 'apf-tx-rate-basic' or + ../data-rate-12m = 'apf-tx-rate-basic' or + ../data-rate-18m = 'apf-tx-rate-basic' or + ../data-rate-24m = 'apf-tx-rate-basic' or + ../data-rate-36m = 'apf-tx-rate-basic' or + ../data-rate-48m = 'apf-tx-rate-basic' or + ../data-rate-54m = 'apf-tx-rate-basic')" { + error-message "Atleast one data rate should be configured as basic for 5GHz rf profile"; + error-app-tag "must-violation"; + } + default "apf-tx-rate-basic"; + description + "Configure the 1 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-2m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configure the 2 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-5-5m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configure the 5.5 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-11m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-basic"; + description + "Configure the 11 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-6m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configure the 6 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-9m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configure the 9 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-12m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configure the 12 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-18m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configure the 18 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-24m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-not-applicable"; + description + "Configure the 24 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-36m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configure the 36 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-48m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configure the 48 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf data-rate-54m { + type wireless-enum-types:rate-state; + default "apf-tx-rate-supported"; + description + "Configure the 54 Mbps data rate. + Possible values: + apf-tx-rate-unsupported -> Mark this rate as unsupported + apf-tx-rate-supported -> Mark this rate as supported + apf-tx-rate-basic -> Mark this rate as basic + apf-tx-rate-not-applicable -> Mark this rate as not applicable"; + } + leaf coverage-data-packet-rssi-threshold { + type int16 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + description + "Configure Received Signal Strength Indicator(RSSI) threshold value for data packets."; + } + leaf min-num-clients { + type int32 { + range "1 .. 200"; + } + default "3"; + description + "Configure client minimum exception level."; + } + leaf coverage-voice-packet-rssi-threshold { + type int16 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + description + "Configure the Received Signal Strength Indicator(RSSI) threshold value for voice packets."; + } + leaf exception-level { + type uint16 { + range "0 .. 100"; + } + units "dBm"; + default "25"; + description + "Configure coverage exception level."; + } + leaf band-select-client-rssi { + type int16 { + range "-90 .. -20"; + } + units "dBm"; + default "-80"; + description + "Configure the minimum mobile station Received Signal Strength Indicator(RSSI) threshold. Mobile stations having RSSI below this value will not be recorded in the suppressed table. This configuration filters out far away mobile stations with weaker signal strength. This will limit the number of mobile stations on the table to a reasonable amount."; + } + leaf band-select-client-mid-rssi { + type int16 { + range "-90 .. -20"; + } + units "dBm"; + default "-80"; + description + "Configure the medium mobile station Received Signal Strength Indicator(RSSI) threshold. Mobile station between this value and cldband_select_client_rssi will be recorded in suppressed table but will not be denied. The mobile station having RSSI stronger this value will be recorded and denied."; + } + leaf band-select-cycle-count { + type uint16 { + range "1 .. 10"; + } + default "2"; + description + "Configure maximum number of cycles not responding."; + } + leaf band-select-cycle-threshold { + type uint16 { + range "1 .. 1000"; + } + units "milliseconds"; + default "200"; + description + "Configure cycle threshold for band select."; + } + leaf band-select-age-out-dual-band { + type uint16 { + range "10 .. 300"; + } + units "seconds"; + default "60"; + description + "Configure expiry time of dual band."; + } + leaf band-select-age-out-suppression { + type uint16 { + range "10 .. 200"; + } + units "seconds"; + default "20"; + description + "Configure expiry time of suppression."; + } + leaf band-select-probe-response { + type boolean; + default "false"; + description + "Configure Access-Point(AP)'s probe response with clients to verify whether client can associate on both 2.4 GHz and 5 Ghz spectrum. When set to true, AP suppresses probe response to new clients for all Service Set Identifier(SSID)'s that are not being Band Select disabled."; + } + leaf dca-contribution-interference { + type boolean; + default "true"; + description + "Configure the Dynamic Channel Assignment (DCA) for RF Profiles."; + } + leaf rf-dca-chan-width { + type wireless-enum-types:rf-dca-chan-width; + default "rf-dca-chan-width-best"; + description + "Configure the system performs Dynamic Channel Assignment (DCA) channel width selection for the Radio-Frequency(RF) profile + Possible values: + rf-dca-chan-width-20-mhz = Channel width will be set to 20 Mhz + rf-dca-chan-width-40-mhz = Channel width will be set to 40 Mhz + rf-dca-chan-width-80-mhz = Channel width will be set to 80 Mhz + rf-dca-chan-width-best = Best channel width will be selected by Dynamic Channel Assignment (DCA) algorithm + rf-dca-chan-width-160-mhz = Channel width will be set to 160 Mhz"; + } + leaf load-balancing-window { + type uint32 { + range "0 .. 20"; + } + default "5"; + description + "Configure number of clients associated between Access-Point(AP)s."; + } + leaf load-balancing-denial-count { + type uint32 { + range "1 .. 10"; + } + default "3"; + description + "Configure number of clients denial with respect to Access-Point(AP)."; + } + leaf trap-threshold-clients { + type uint32 { + range "1 .. 200"; + } + default "12"; + description + "Configure threshold number of clients per Access-Point(AP) radio to trigger a trap. The trap ciscoLwappApClientThresholdNotify will be triggered once the count of clients on the AP radio reaches this limit. A value of zero indicates that the trap is disabled."; + } + leaf trap-threshold-interference { + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "10"; + description + "Configure the interference threshold in (%) traps are generated when interference exceeds this value ."; + } + leaf trap-threshold-noise { + type int32 { + range "-127 .. 0"; + } + units "dBm"; + default "-70"; + description + "Configure threshold number of noise threshold between -127 and 0 dBm."; + } + leaf trap-threshold-utilization { + type uint16 { + range "0 .. 100"; + } + units "percentage"; + default "80"; + description + "Configure threshold of bandwidth (%) being utilized by an access-point. Traps are sent when this value is exceeded"; + } + leaf max-radio-clients { + type uint16 { + range "0 .. 500"; + } + default "200"; + description + "Configure maximum number of radio clients per Access-Point(AP) in high density environment."; + } + leaf multicast-data-rate { + type wireless-enum-types:enm-multicast-data-rate; + default "mcast-data-rate-default"; + description + "Configure minimum data rate at which multicast clients can associate to Access-Point(AP). A value 0 indicates that AP will automatically adjust data rates."; + } + leaf rx-sen-sop-threshold { + type wireless-types:rx-sen-sop-threshold-level; + units "dBm"; + default "rrm-ewlc-rxsensop-threshold-auto"; + description + "Configure the Receiver Start of Packet (RX-SOP) sensitivity threshold"; + } + leaf rx-sen-sop-custom { + type int16 { + range "-85 .. -60"; + } + units "dBm"; + default "-85"; + description + "Rx SOP custom values configured between -85 dBm (default) and -60 dBm. This configured value takes effect only when rx sop threshold is set to custom"; + } + leaf client-network-preference { + type wireless-types:enm-client-network-preference; + default "default"; + description + "Configure the client network preference. Possible values are: + 1. connectivity - Radio-Resource-Management(RRM) Algorithm has a preference on connectivity of the clients. + 2. throughput - Radio-Resource-Management(RRM) Algorithm has a preference on high throughput of the clients. + 3. default - Radio-Resource-Management(RRM) Algorithm has no preference on the clients."; + } + leaf hsr-mode { + type boolean; + default "false"; + description + "Configure High-speed roam(HSR) mode for Radio-Frequency(RF) is enabled or not."; + } + leaf hsr-neighbor-timeout { + type uint16 { + range "5 .. 60"; + } + default "5"; + description + "Configure the timeout interval of neighbors that will be configured for Radio-Frequency(RF) profile. Neighbor timeout factor will be five times the neighbor interval"; + } + leaf opt-roam-rssi-treshold { + type int16 { + range "-127 .. 0"; + } + units "dBm"; + default "-127"; + description + "Configure the minimum Received Signal Strength Indicator(RSSI) threshold for optimized roaming to occur. Possible values are in the range -127 dbm to 0 dbm"; + } + leaf opt-roam-rssi-check-enable { + type boolean; + default "false"; + description + "Configure if Received Signal Strength Indicator(RSSI) threshold is enabled before optimized roaming is enabled"; + } + leaf atf-oper-mode { + type wireless-enum-types:apf-ate-mode; + description + "Configure air time fairness operating mode + Possible values: + apf-atf-mode-disable = Disable the Air Time Fairness. + apf-atf-mode-ssid = Configure airtime-fairness in enforce-policy mode. + apf-atf-mode-monitor = Monitor Mode represented by cLApDot11IfType of ATF supported APs joined in the controller"; + } + leaf atf-optimization { + type wireless-enum-types:apf-ate-stealing-policy; + description + "Configure air time fairness optimization Policy represented by cLApDot11IfType of ATF supported APs. + Possible values: + apf-atf-stealing-policy-disable = Disable airtime-fairness optimization + apf-atf-stealing-policy-enable = Enable airtime-fairness optimization"; + } + leaf bridge-client-access { + type boolean; + default "false"; + description + "Airtime Allocation mode under default Radio-Frequency(rf)-profile. Value = True, + indicates Airtime Allocation feature is enabled and Value = False , indicates Airtime Allocation feature is disabled."; + } + leaf airtime-allocation { + type uint8 { + range "5 .. 90"; + } + units "percentage"; + default "5"; + description + "Configure airtime allocation weight percentage"; + } + leaf client-aware-fra { + type boolean; + default "false"; + description + "Client Aware FRA allows the Dual band to operate on 5 Ghz or monitor mode depending on the load on the dedicated 5 Ghz radio"; + } + leaf client-select-threshold { + type uint8 { + range "0 .. 100"; + } + must '../client-reset-threshold < ../client-select-threshold' { + error-message "client-select-threshold must be greater than client-reset-threshold"; + error-app-tag "must-violation"; + } + default "50"; + description + "Client aware FRA utilization threshold value for moving Dual band radio from monitor mode to to Client Serving"; + } + leaf client-reset-threshold { + type uint8 { + range "0 .. 100"; + } + must '../client-reset-threshold < ../client-select-threshold' { + error-message "client-reset-threshold must be less than client-select-threshold"; + error-app-tag "must-violation"; + } + default "5"; + description + "Client aware FRA utilization threshold value for moving Dual band radio from Client Serving mode to Monitor mode"; + } + container rf-mcs-default-entries { + description + "Configurations related to default Radio-Frequency(rf)-profile"; + list rf-mcs-default-entry { + key "rf-index"; + description + "A list of configurations related to default Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rf-80211-nmcs-default; + } + } + container rf-dca-allowed-channels-default-entries { + description + "Configurations related to allowed Dynamic Channel Assignment (DCA) channels in default Radio-Frequency(rf)-profile"; + list rf-dca-allowed-channel-default-entry { + key "channel"; + description + "A list of configurations related to allowed Dynamic Channel Assignment (DCA) channels in default Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rf-dca-allowed-chans-default; + } + } + container rf-dca-removed-channels-default-entries { + description + "Configurations related to removed Dynamic Channel Assignment (DCA) channels in default Radio-Frequency(rf)-profile"; + list rf-dca-removed-channels-default-entry { + key "channel"; + description + "A list of configurations related to removed Dynamic Channel Assignment (DCA) channels in default Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rf-dca-removed-chans-default; + } + } + leaf he-obss-pd-enable { + type boolean; + default "false"; + description + "Enable/Disable 802.11ax OBSS PD spatial reuse"; + } + leaf he-non-srg-obss-pd-max { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + default "-62"; + description + "Non-SRG OBSS PD maximum threshold in dBm"; + } + leaf ndp-mode { + type wireless-enum-types:enm-ndp-mode; + default "ndp-mode-auto"; + description + "Neighbor discovery protocol operating mode configuration. + Possible values are: + auto - AP does neighbor discovery either on serving channel or + off channel based on its NDP capability + off-channel - AP does neighbor discovery on off channel"; + } + leaf he-srg-obss-pd-enable { + type boolean; + default "false"; + description + "Enable/Disable 802.11ax SRG OBSS PD spatial reuse"; + } + leaf he-srg-obss-pd-min { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + must '../he-srg-obss-pd-min <= ../he-srg-obss-pd-max' { + error-message "SRG OBSS PD minimum must be less than or equal to SRG OBSS PD maximum"; + error-app-tag "must-violation"; + } + default "-82"; + description + "SRG OBSS PD minimum threshold in dBm"; + } + leaf he-srg-obss-pd-max { + type int8 { + range "-82 .. -62"; + } + units "dBm"; + must '../he-srg-obss-pd-min <= ../he-srg-obss-pd-max' { + error-message "SRG OBSS PD maximum must be greater than or equal to SRG OBSS PD minimum"; + error-app-tag "must-violation"; + } + default "-62"; + description + "SRG OBSS PD maximum threshold in dBm"; + } + leaf dot11ax-6ghz-feature { + type wireless-enum-types:dot11ax-6ghz-feature; + default "he-6ghz-none"; + description + "802.11ax 6GHz specific feature"; + } + leaf zerowt-dfs { + type boolean; + must "(../band = 'dot11-5-ghz-band' or + ../zerowt-dfs = 'false')" { + error-message "Zero wait DFS feature is applicable only for 5 GHz band"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable/Disable 802.11a Zero wait DFS feature"; + } + leaf guard-interval-ext { + type wireless-enum-types:enm-guard-interval-ext; + default "guard-interval-none"; + description + "Set guard interval for rf profile"; + } + leaf client-reset-thresh-6ghz { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + default "5"; + description + "Client aware FRA utilization threshold value for moving dual band radio from 6GHz to 5GHz"; + } + leaf client-count-reset-6ghz { + type uint8 { + range "1 .. 10"; + } + default "1"; + description + "Client aware FRA client count value for moving dual band radio from 6GHz to 5GHz"; + } + leaf std-pwr-mode-allowed { + type boolean; + default "false"; + description + "Allow AP to operate in 6GHz standard power mode"; + } + leaf fra-action { + type wireless-enum-types:enm-fra-action-type; + default "fra-action-default"; + description + "FRA action for dual band radio"; + } + leaf ampdu-window-size { + type uint16 { + range "1 .. 255"; + } + default "255"; + description + "Window size for aggregate MAC protocol data unit"; + } + leaf management-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for management frame retries"; + } + leaf aggregate-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for aggregate frame retries"; + } + leaf non-aggregate-retries { + type int16 { + range "-1 .. 255"; + } + default "-1"; + description + "Radio parameters for non-aggregate frame retries"; + } + } + + grouping st-atf-policy { + description + "Configurations of Air Time Fairness policy."; + leaf atfpolicy-name { + type string { + length "0..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Configure profile name assigned to the Air Time Fairness policy. The name assigned to an ATF policy has to be unique across all the ATF policies on the controller"; + } + leaf policy-id { + type uint32 { + range "0 .. 511"; + } + description + "uniquely configure the one instance of an ATF policy id on the controller"; + } + leaf policy-weight { + type uint8 { + range "5 .. 100"; + } + default "10"; + description + "Configure policy weight assigned to the ATF policy"; + } + leaf client-sharing { + type boolean; + default "false"; + description + "Configure the client fair sharing is enabled or disabled for an ATF policy present"; + } + } + + grouping st-rf-tag-radio-profile { + description + "Configure the slot specific radio profiles mapped in the (RF) Radio-Frequency tag"; + leaf radio-profile-name { + type string; + default "default-radio-profile"; + description + "Name of the radio profile"; + } + } + + grouping rf-tag { + description + "Contains configurations related to rf tag."; + leaf tag-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Configure the rf tag name"; + } + leaf description { + type string; + default ""; + description + "Configure the brief description about the rf tag."; + } + leaf dot11a-rf-profile-name { + type string; + default "default_rf_5gh"; + description + "Configure the 802.11a Radio-Frequency(rf)-profile that is associated with this rf tag"; + } + leaf dot11b-rf-profile-name { + type string; + default "default_rf_24gh"; + description + "Configure the 802.11b Radio-Frequency(rf)-profile that is associated with this rf tag"; + } + leaf dot11-6ghz-rf-prof-name { + type string; + default "default-rf-profile-6ghz"; + description + "802.11 6GHz Radio-Frequency(rf)-profile that is associated with this RF tag"; + } + container rf-tag-radio-profiles { + description + "Radio profile configuration related to the RF tag"; + list rf-tag-radio-profile { + key "slot-id band-id"; + description + "Slot specific radio profile configuration related to the RF tag"; + uses wireless-types:st-slot-band-key; + uses wireless-rf-cfg:st-rf-tag-radio-profile; + } + } + } + + grouping multi-bssid-profile { + description + "802.11ax Multi BSSID profile configuration"; + leaf profile-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Name of the 802.11ax Multi BSSID profile"; + } + leaf description { + type string; + default ""; + description + "Brief description of 802.11ax Multi BSSID profile"; + } + leaf he-ofdma-downlink { + type boolean; + default "true"; + description + "802.11ax OFDMA downlink"; + } + leaf he-ofdma-uplink { + type boolean; + default "true"; + description + "802.11ax OFDMA uplink"; + } + leaf he-mumimo-downlink { + type boolean; + default "true"; + description + "802.11ax MU-MIMO downlink"; + } + leaf he-mumimo-uplink { + type boolean; + default "true"; + description + "802.11ax MU-MIMO uplink"; + } + leaf he-twt { + type boolean; + default "false"; + description + "802.11ax Target Wake-up time"; + } + leaf he-twt-broadcast { + type boolean; + default "false"; + description + "802.11ax Target Wake-up time broadcast"; + } + leaf eht-ofdma-downlink { + type boolean; + default "true"; + description + "802.11be OFDMA downlink"; + } + leaf eht-ofdma-uplink { + type boolean; + default "true"; + description + "802.11be OFDMA uplink"; + } + leaf eht-mumimo-downlink { + type boolean; + default "false"; + description + "802.11be MU-MIMO downlink"; + } + leaf eht-mumimo-uplink { + type boolean; + default "false"; + description + "802.11be MU-MIMO uplink"; + } + leaf eht-ofdma-multi-ru { + type boolean; + default "false"; + description + "802.11be OFDMA multiple resource unit"; + } + } + + container rf-cfg-data { + description + "This Model contains all the Radio-Frequency(rf)-profile related configurations"; + container multi-bssid-profiles { + description + "Multi BSSID profile configuration"; + list multi-bssid-profile { + key "profile-name"; + description + "Multi BSSID profile"; + uses wireless-rf-cfg:multi-bssid-profile; + } + } + container atf-policies { + description + "Air Time Fairness Policies"; + list atf-policy { + key "policy-id"; + unique "atfpolicy-name"; + description + "A list of Air Time Fairness Policy objects"; + uses wireless-rf-cfg:st-atf-policy { + refine "atfpolicy-name" { + mandatory true; + } + } + } + } + container rf-tags { + description + "Configuration related to named rf-tag"; + list rf-tag { + key "tag-name"; + description + "A list of configurations related to named rf-tag"; + uses wireless-rf-cfg:rf-tag; + } + } + container rf-profiles { + description + "Configurations related to named Radio-Frequency(rf)-profile"; + list rf-profile { + key "name"; + description + "A list of configurations related to named Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rfprofile; + } + } + container rf-profile-default-entries { + description + "Configurations related to default Radio-Frequency(rf)-profile"; + list rf-profile-default-entry { + key "band"; + unique "name"; + description + "Configurations of default Radio-Frequency(rf)-profile"; + uses wireless-rf-cfg:rfprofile-default { + refine "name" { + mandatory true; + } + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-cfg.yang new file mode 100644 index 000000000..40193825e --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-cfg.yang @@ -0,0 +1,151 @@ +module Cisco-IOS-XE-wireless-rfid-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rfid-cfg"; + prefix wireless-rfid-cfg; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG + definitions for configuration of rfid. + Copyright (c) 2017-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-03-31 { + description + "add a must clause in the rfid config variable"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Change in defaults"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-10-11 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-rfid-config { + description + "This typedef has all the RFID + config related attributes."; + leaf rfid-enable-bluesoft { + type boolean; + default "true"; + description + "Rfid enable bluesoft represents whether bluesoft tag supported or not. + If enable state then bluesoft tag is supported and if disable state then bluesoft + tag not supported"; + } + leaf rfid-timeout { + type uint16 { + range "60 .. 7200"; + } + default "1200"; + description + "Rfid timeout represents the timeout value to cleanup stale rfid entries."; + } + leaf rfid-enable-cisco { + type boolean; + default "true"; + description + "Rfid enable Cisco represents whether Cisco tag rfid supported or not. + If enable state then Cisco tag is supported and if disable state then Cisco + tag not supported"; + } + leaf rfid-rssi-expiry { + type uint16 { + range "5 .. 300"; + } + default "5"; + description + "Rfid rssi expiry time represents to cleanup rfid rssi when rssi value expires."; + } + leaf rfid-rssi-halflife { + type uint32 { + range "0 .. 300"; + } + must '(../rfid-rssi-halflife = 0) or (../rfid-rssi-halflife = 1) or (../rfid-rssi-halflife = 2) or (../rfid-rssi-halflife = 5) or (../rfid-rssi-halflife = 10) or (../rfid-rssi-halflife = 20) or (../rfid-rssi-halflife = 30) or (../rfid-rssi-halflife = 60) or (../rfid-rssi-halflife = 90) or (../rfid-rssi-halflife = 120) or (../rfid-rssi-halflife = 180) or (../rfid-rssi-halflife = 300) ' { + error-message "Invalid input value"; + error-app-tag "must-violation"; + } + default "0"; + description + "Rfid rssi halflife represents half life when averaging + two RSSI readings for RFID tags, + timeout value zero indicates that timeout is disabled."; + } + leaf rfid-notify-threshold { + type uint32 { + range "1 .. 10"; + } + default "5"; + description + "Rfid notify threshold indicates LOCP notification + threshold for RSSI measurements."; + } + } + + container rfid-cfg-data { + description + "This subtype is used for setting + notify threshold timer"; + container rfid { + presence "rfid"; + description + "This is the typedef which holds all the + rfid config attributes."; + uses wireless-rfid-cfg:st-rfid-config; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-global-oper.yang new file mode 100644 index 000000000..edc359b60 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-global-oper.yang @@ -0,0 +1,409 @@ +module Cisco-IOS-XE-wireless-rfid-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rfid-global-oper"; + prefix wireless-rfid-global-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains RFID operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added Ekahau and Cadi Scientific RFID vendor type"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-07-01 { + description + "Added RFID data"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-rfid-cisco-vendor-type { + type enumeration { + enum rfid-type-g2 { + value 0; + description + "Type of G2 vendor."; + } + enum rfid-type-aeroscout { + value 1; + description + "Type of aero scout vendor."; + } + enum rfid-type-unknown { + value 2; + description + "Unknown vendor."; + } + enum rfid-type-ekahau { + value 3; + description + "Type of vendor Ekahau"; + } + enum rfid-type-cadi-scientific { + value 4; + description + "Type of vendor Cadi Scientific"; + } + } + description + "This enum has a list of the cisco tag supported RFID + vendor types such as G2, Aero scout. "; + } + + typedef enm-rfid-data-type { + type enumeration { + enum bluesoft-rfid-data { + value 0; + description + "Type of bluesoft RFID tag."; + } + enum cisco-rfid-data { + value 1; + description + "Type of cisco RFID tag."; + } + } + description + "This enum has all the RFID + tags supported types."; + } + + grouping st-apf-seq-control { + description + "Sequence and fragmentation number."; + leaf seq-num { + type uint16; + description + "Sequence number of RFID tag packet."; + } + leaf frag-num { + type uint16; + description + "Fragmentation number of RFID tag packet."; + } + } + + grouping st-rfid-cisco-cont-hdr { + description + "CTX content header contains attributes of ctx header of RFID"; + leaf ccx-version { + type uint8; + description + "CCX version of RFID"; + } + leaf tx-power { + type int8; + description + "Tx power of RFID"; + } + leaf channel { + type uint8; + description + "Channel id of RFID"; + } + leaf reg-class { + type uint8; + description + "Regulatory class of RFID"; + } + leaf burst-len { + type uint8; + description + "Burst length of RFID"; + } + } + + grouping st-bluesoft-rfid-data { + description + "Data of bluesoft rfid tag."; + leaf last-seq-num { + type uint8; + description + "Last sequence number of RFID tag."; + } + leaf tag-type { + type uint8; + description + "Type of bluesoft RFID tag."; + } + } + + grouping st-ccx-payload-list { + description + "CCX payload contains ccx payload data of RFID"; + leaf-list data { + type uint8; + max-elements 500; + ordered-by user; + description + "Data contains one byte of ccx payload data."; + } + } + + grouping st-cisco-rfid-data { + description + "Data of cisco RFID tag"; + container rfid-cisco-hdr { + description + "Cisco tag header."; + uses wireless-rfid-global-oper:st-rfid-cisco-cont-hdr; + } + container seq-control { + description + "Sequence control number of RFID tag."; + uses wireless-rfid-global-oper:st-apf-seq-control; + } + leaf payload-len { + type uint16; + description + "Payload length of RFID packet."; + } + container ccx-payload { + description + "CCX payload length of RFID packet."; + uses wireless-rfid-global-oper:st-ccx-payload-list; + } + leaf cisco-vendor-type { + type wireless-rfid-global-oper:enm-rfid-cisco-vendor-type; + description + "Name of RFID vendor."; + } + } + + grouping st-vendor-spec-data { + description + "vendor specific data of rfid packet."; + choice type-choice { + description + "Type of rfid tag supported."; + case bluesoft-rfid-data { + container bluesoft { + description + "Update of bluesoft RFID information."; + uses wireless-rfid-global-oper:st-bluesoft-rfid-data; + } + } + case cisco-rfid-data { + container cisco { + description + "Cisco RFID tag information."; + uses wireless-rfid-global-oper:st-cisco-rfid-data; + } + } + } + } + + grouping st-emltd-rfid-ap-data { + description + "ap entry list is list of ap data, max count of list is 16."; + leaf rssi-value { + type int8; + description + "RSSI parameters of RFID."; + } + leaf channel { + type uint16; + description + "RFID channel"; + } + leaf slot-id { + type uint8; + description + "AP slot id"; + } + leaf ap-name { + type string; + description + "Value of AP name."; + } + leaf last-update-rcvd { + type yang:date-and-time; + description + "Last update received"; + } + leaf wtp-mode { + type wireless-types:enm-ewlc-spam-ap-modes; + description + "ap_mac_addr represents ap mac address of AP."; + } + } + + grouping st-emltd-rfid-data { + description + "rfid data represents rfid parameters."; + leaf rfid-mac-addr { + type yang:mac-address; + description + "RFID device mac address"; + } + leaf rfid-type { + type wireless-rfid-global-oper:enm-rfid-data-type; + description + "Type of rfid tag."; + } + leaf rfid-auto-interval { + type uint16; + description + "RFID packet interval."; + } + leaf rfid-bytes-rx { + type uint32; + description + "Number of bytes received in RFID packet."; + } + leaf rfid-packets-rx { + type uint32; + description + "Number of RFID packets received"; + } + leaf rfid-last-heard-second { + type yang:date-and-time; + description + "Time stamp of last RFID packet received."; + } + container rfid-vendor { + description + "Vendor type of RFID received."; + uses wireless-rfid-global-oper:st-vendor-spec-data; + } + list ap-data { + description + "AP information of RFID packet received."; + uses wireless-rfid-global-oper:st-emltd-rfid-ap-data; + } + } + + grouping st-rfid-count-data { + description + "This object contains RFID count data"; + leaf total-rfid-count { + type uint32; + description + "This is the total number of unique RFID found in the RFID radio entry data"; + } + } + + grouping rfid-radio-key { + description + "RFID radio entry"; + leaf rfid-mac-addr { + type yang:mac-address; + description + "RFID MAC address"; + } + leaf ap-mac-addr { + type yang:mac-address; + description + "AP MAC address"; + } + leaf slot { + type uint8 { + range "0..3"; + } + description + "Slot ID"; + } + } + + grouping st-rfid-radio-entries { + description + "RFID radio entry data"; + leaf ap-name { + type string; + description + "AP Name"; + } + leaf rssi-last-heard { + type yang:date-and-time; + description + "Time at which RFID was last heard by controller"; + } + leaf rssi-value { + type int8; + units "dBm"; + description + "RSSI value of the RFID tag when last heard by controller"; + } + leaf snr-value { + type int8; + units "dBm"; + description + "SNR signal to noise ratio value of RFID tag"; + } + leaf radio-int-type { + type wireless-enum-types:enm-radio-type; + description + "Radio type of the detecting AP that detected RFID"; + } + } + + container rfid-global-oper-data { + config false; + description + "RFID operational data"; + container rfid-total-count { + presence "rfid-total-count"; + description + "Total number of unique RFID entries"; + uses wireless-rfid-global-oper:st-rfid-count-data; + } + list rfid-data-detail { + key "rfid-mac-addr"; + description + "RFID data detail"; + uses wireless-rfid-global-oper:st-emltd-rfid-data; + } + list rfid-radio-data { + key "rfid-mac-addr ap-mac-addr slot"; + description + "Operational data of known RFID tags"; + uses wireless-rfid-global-oper:rfid-radio-key; + uses wireless-rfid-global-oper:st-rfid-radio-entries; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-oper.yang new file mode 100644 index 000000000..11d56bd05 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rfid-oper.yang @@ -0,0 +1,456 @@ +module Cisco-IOS-XE-wireless-rfid-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rfid-oper"; + prefix wireless-rfid-ios-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Wireless rfid Operational Data + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Added Ekahau and Cadi Scientific RFID vendor type"; + reference + "3.5.0"; + cisco-semver:module-version "3.5.0"; + } + revision 2023-03-01 { + description + "Added support for searching the AP list for low RSSI AP."; + reference + "3.4.0"; + cisco-semver:module-version "3.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.3.0"; + cisco-semver:module-version "3.3.0"; + } + revision 2020-11-01 { + description + "Added new RFID vendor type enum."; + reference + "3.2.0"; + cisco-semver:module-version "3.2.0"; + } + revision 2019-05-01 { + description + "- Removed data, renamed various leafs and changed types. + - Added semantic version"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-12-14 { + description + "- Removal of unused leaves + - Cleaned up spelling errors in descriptions."; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "Changes done in ptl code for time format"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-12-22 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-rfid-cisco-vendor-type { + type enumeration { + enum rfid-type-g2 { + value 0; + description + "This enum value represents type of G2 vendor."; + } + enum rfid-type-aeroscout { + value 1; + description + "This enum value represents type of aero scout vendor."; + } + enum rfid-type-unknown { + value 2; + description + "This enum value represents unknown vendor."; + } + enum rfid-type-ekahau { + value 3; + description + "Type of vendor Ekahau"; + } + enum rfid-type-cadi-scientific { + value 4; + description + "Type of vendor Cadi Scientific"; + } + } + description + "This enum has a list of the cisco tag supported RFID + vendor types such as G2, Aero scout. "; + } + + typedef enm-rfid-data-type { + type enumeration { + enum bluesoft-rfid-data { + value 0; + description + "This enum value represents type of bluesoft rfid tag."; + } + enum cisco-rfid-data { + value 1; + description + "This enum value represents type of cisco rfid tag."; + } + } + description + "This enum has all the RFID + tags supported types."; + } + + grouping st-apf-seq-control { + description + "sequence control represents sequence and fragmentation number."; + leaf seq-num { + type uint16; + description + "seq_num represents sequence number of rfid tag packet."; + } + leaf frag-num { + type uint16; + description + "frag_num represents fragmentation number of rfid tag packet."; + } + } + + grouping st-rfid-cisco-cont-hdr { + description + "CTX content header contains attributes of ctx header of rfid."; + leaf ccx-version { + type uint8; + description + "ccx_version represents ccx version of rfid."; + } + leaf tx-power { + type int8; + description + "tx_power represents tx power of rfid."; + } + leaf channel { + type uint8; + description + "channel represents channel id of rfid."; + } + leaf reg-class { + type uint8; + description + "reg_class represents reg_class of rfid."; + } + leaf burst-len { + type uint8; + description + "burst_len represents burst length of rfid."; + } + } + + grouping st-bluesoft-rfid-data { + description + "Bluesoft rfid data represents data of bluesoft rfid tag."; + leaf last-seq-num { + type uint8; + description + "last_seq_num represents last sequence number of rfid tag."; + } + leaf tag-type { + type uint8; + description + "tag_type represents type of bluesoft rfid tag."; + } + } + + grouping st-ccx-payload-list { + description + "ccx payload contains ccx payload data of rfid."; + leaf-list data { + type uint8; + max-elements 500; + ordered-by user; + description + "Data contains one byte of ccx payload data."; + } + } + + grouping st-cisco-rfid-data { + description + "cisco rfid data represents data of cisco rfid tag."; + container rfid-cisco-hdr { + description + "cisco header represents cisco tag header."; + uses wireless-rfid-ios-oper:st-rfid-cisco-cont-hdr; + } + container seq-control { + description + "sequence control represents sequence control number of rfid tag."; + uses wireless-rfid-ios-oper:st-apf-seq-control; + } + leaf payload-len { + type uint16; + description + "payload_len represents payload length of rfid packet."; + } + container ccx-payload { + description + "ccx_payload represents ccx payload length of rfid packet."; + uses wireless-rfid-ios-oper:st-ccx-payload-list; + } + leaf cisco-vendor-type { + type wireless-rfid-ios-oper:enm-rfid-cisco-vendor-type; + description + "RFID vendor type represents name of RFID vendor."; + } + } + + grouping st-vendor-spec-data { + description + "vendor specific data of rfid packet."; + choice type-choice { + description + "type choice represents type of rfid tag supported."; + case bluesoft-rfid-data { + container bluesoft { + description + "bluesoft represents update of bluesoft rfid information."; + uses wireless-rfid-ios-oper:st-bluesoft-rfid-data; + } + } + case cisco-rfid-data { + container cisco { + description + "cisco represents cisco rfid tag information."; + uses wireless-rfid-ios-oper:st-cisco-rfid-data; + } + } + } + } + + grouping st-rfid-avg-rssi { + description + "rfid average rssi represents AP rssi information."; + leaf num { + type int16; + description + "num represents rssi num."; + } + leaf denom { + type uint16; + description + "denom represents rssi denom."; + } + leaf value { + type int8; + description + "value represents value of rssi."; + } + leaf last-sent { + type int8; + description + "last_sent represents last sent rssi."; + } + } + + grouping st-rfid-avg-snr { + description + "rfid average snr represents snr of AP."; + leaf num { + type int16; + description + "num of snr."; + } + leaf denom { + type uint16; + description + "denom of snr."; + } + leaf value { + type int8; + description + "value of snr."; + } + } + + grouping rfid-ap-entry-list { + description + "ap entry list is list of ap data, max count of list is 16."; + container rssi { + description + "rssi represents rssi parameters of rfid."; + uses wireless-rfid-ios-oper:st-rfid-avg-rssi; + } + leaf slot { + type uint8; + description + "slot represents AP slot."; + } + leaf band { + type uint8; + description + "band represents radio band of AP."; + } + container snr { + description + "snr represents value of snr."; + uses wireless-rfid-ios-oper:st-rfid-avg-snr; + } + leaf time-stamp { + type yang:date-and-time; + description + "time stamp represents time stamp of rfid packet received by the AP."; + } + leaf expired { + type boolean; + description + "expired represents stale node in the list, true if time stamp time expired."; + } + leaf ap-mac-addr { + type yang:mac-address; + description + "ap_mac_addr represents ap mac address of AP."; + } + } + + grouping st-rfid-ap-highest-rssi { + description + "ap highest rssi represents stores mac address of highest AP address."; + leaf ap-mac-addr { + type yang:mac-address; + description + "ap mac address represents ap mac address of highest rssi AP."; + } + container rssi { + description + "rssi represents rssi value of highest rssi AP."; + uses wireless-rfid-ios-oper:st-rfid-avg-rssi; + } + } + + grouping st-rfid-ap-lowest-rssi { + description + "Details of the AP that reported the lowest RSSI."; + leaf ap-mac-addr { + type yang:mac-address; + description + "MAC address of the lowest RSSI AP."; + } + container rssi { + description + "Lowest reported RSSI among all APs"; + uses wireless-rfid-ios-oper:st-rfid-avg-rssi; + } + } + + grouping st-rfid-data { + description + "rfid data represents rfid parameters."; + leaf rfid-mac-addr { + type yang:mac-address; + description + "rfid mac address represents mac address of the rfid device."; + } + leaf rfid-type { + type wireless-rfid-ios-oper:enm-rfid-data-type; + description + "rfid type represents type of rfid tag."; + } + leaf rfid-auto-interval { + type uint16; + description + "rfid auto interval represents rfid packet interval."; + } + leaf rfid-bytes-rx { + type uint32; + description + "rfid bytes rx represents number of bytes received in rfid packet."; + } + leaf rfid-packets-rx { + type uint32; + description + "rfid packets rx represents number of rfid packets received for same rfid."; + } + leaf rfid-last-heard-second { + type yang:date-and-time; + description + "last heard represents time stamp of last rfid packet received."; + } + container rfid-vendor { + description + "rfid vendor represents vendor type of rfid received like cisco tag or bluesoft."; + uses wireless-rfid-ios-oper:st-vendor-spec-data; + } + container ap-high-rssi { + description + "ap high rssi represents parameters of highest rssi AP"; + uses wireless-rfid-ios-oper:st-rfid-ap-highest-rssi; + } + list ap-data { + description + "ap data represents ap information of rfid packet received."; + uses wireless-rfid-ios-oper:rfid-ap-entry-list; + } + leaf tx-power { + type int8; + description + "tx_power represents tx power of AP which send rfid packet."; + } + leaf timer-handle { + type uint64; + description + "timer_handle represents timer handle of the record."; + } + container ap-list-lowest-rssi { + description + "Parameters of the lowest RSSI AP"; + uses wireless-rfid-ios-oper:st-rfid-ap-lowest-rssi; + } + } + + container rfid-oper-data { + config false; + description + "wireless rfid oper data contains all rfid operational data information"; + list rfid-data { + key "rfid-mac-addr"; + description + "rfid data represents parameter of rfid packet."; + uses wireless-rfid-ios-oper:st-rfid-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rlan-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rlan-cfg.yang new file mode 100644 index 000000000..0c9358920 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rlan-cfg.yang @@ -0,0 +1,690 @@ +module Cisco-IOS-XE-wireless-rlan-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rlan-cfg"; + prefix wireless-rlan-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing RLAN configuration + Copyright (c) 2020, 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Added Layer 3 forwarding support"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2023-03-01 { + description + "- Added ND rate limiting configuration"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1 + - Added ARP rate limiting configuration + - Added constraints on Voice and Data VLANs configuration in RLAN policy profile"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2022-03-01 { + description + "- Added support for authentication fallback for RLAN clients + - Added support for dot1x EAP timer configuration for RLAN clients"; + reference + "2.2.0"; + cisco-semver:module-version "2.2.0"; + } + revision 2021-11-01 { + description + "- Added fabric profile name in RLAN policy profile"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for remote lan name and remote lan policy name"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + " - Updated description string from User Private Network to User Defined (Private) Network"; + reference + "1.2.1"; + cisco-semver:module-version "1.2.1"; + } + revision 2019-11-01 { + description + "- Added User Private Network configuration. + - Added User Private Network configuration for unicast + - Added power-level-id config on Remote LAN policy profile"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "- Added MDNS mode config on RLAN Profile and MDNS service policy on RLAN Policy. + - Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-01-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-split-tunnel { + description + "Configuration of Split tunnel"; + leaf split-tunnel-enabled { + type boolean; + description + "Enable or Disable split tunnel"; + } + leaf acl-name { + type string { + length "0..31" { + error-message "Invalid string length for ACL name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + } + description + "ACL in split tunnel"; + } + leaf split-tunnel-override { + type boolean; + description + "Split tunnel override"; + } + leaf split-tunnel-gateway { + type inet:ip-address; + description + "Gateway for split tunnel"; + } + leaf split-tunnel-netmask { + type inet:ip-address; + description + "Netmask for split tunnel"; + } + } + + grouping st-multi-domain-vlans { + description + "Configure voice and data VLAN's"; + leaf voice-vlan-id { + type uint16; + must '(../voice-vlan-id >= 0 and ../voice-vlan-id <= 4094)' { + error-message "Voice VLAN ID must be in range of 0..4094"; + error-app-tag "must-violation"; + } + description + "Configure Voice VLAN ID in range of 0..4094"; + } + leaf data-vlan-id { + type uint16; + must '(../data-vlan-id >= 0 and ../data-vlan-id <= 4094)' { + error-message "Data VLAN ID must be in range of 0..4094"; + error-app-tag "must-violation"; + } + description + "Configure Data VLAN ID in range of 0..4094"; + } + } + + grouping st-flow-monitor { + description + "Flexible Netflow configuration"; + leaf flow-monitor-ingress-name { + type string { + length "1..32" { + error-message "Invalid string length for Wireless flow monitor ingress names:Valid string has be 1 to 32 characters"; + error-app-tag "must-violation"; + } + } + must "../../central-switching = 'true' and ../ingress-enable = 'true' " { + error-message "RLAN switching policy central-switching and ingress-enable should be enabled when using flow monitors"; + error-app-tag "must-violation"; + } + description + "Enable flow monitor on ingress traffic"; + } + leaf flow-monitor-egress-name { + type string { + length "1..32" { + error-message "Invalid string length for Wireless flow monitor egress names:Valid string has be 1 to 32 characters"; + error-app-tag "must-violation"; + } + } + must "../../central-switching = 'true' and ../egress-enable = 'true' " { + error-message "RLAN switching policy central-switching and egress-enable should be enabled when using flow monitors"; + error-app-tag "must-violation"; + } + description + "Enable flow monitor on egress traffic"; + } + leaf ingress-enable { + type boolean; + must "../../central-switching = 'true' and (string-length(../flow-monitor-ingress-name) > 0)" { + error-message "RLAN switching policy central-switching should be enabled and ingress-name must be entered when using flow monitors"; + error-app-tag "must-violation"; + } + description + "Enable/Disable flow monitor on ingress traffic"; + } + leaf egress-enable { + type boolean; + must "../../central-switching = 'true' and (string-length(../flow-monitor-egress-name) > 0)" { + error-message "RLAN switching policy central-switching should be enabled and egress-name must be entered when using flow monitors"; + error-app-tag "must-violation"; + } + description + "Enable/Disable flow monitor on egress traffic"; + } + } + + grouping blacklist-params { + description + "Set client blacklisting listing on RLAN"; + leaf is-blacklist-enabled { + type boolean; + default "true"; + description + "Enable/Disable blacklisting"; + } + leaf blacklist-timeout { + type uint32 { + range "0 .. 2147483647"; + } + default "60"; + description + "Set time the client will be excluded"; + } + } + + grouping upn-config { + description + "User Defined (Private) Network related configuration"; + leaf is-upn-restrict-enable { + type boolean; + default "false"; + description + "User Defined (Private) Network status"; + } + leaf upn-unicast-disable { + type boolean; + default "false"; + description + "User Defined (Private) Network Unicast disable status"; + } + } + + grouping rlan-policy-profile-arprate { + description + "Per client arp rate limiting configuration"; + leaf rate-none { + type boolean; + default "false"; + description + "Enable or disable the client arp rate limiting"; + } + leaf rate-pps { + type uint16 { + range "15 .. 1500"; + } + default "100"; + description + "Set the arp packet rate allowed"; + } + leaf burst-interval { + type uint8 { + range "3 .. 255"; + } + default "5"; + description + "Set the burst count for the client to be excluded"; + } + } + + grouping rlan-policy-profile-ndprate { + description + "Per client ND rate limiting configuration"; + leaf rate-none { + type boolean; + default "false"; + description + "Enable or disable the client ND rate limiting"; + } + leaf rate-pps { + type uint16 { + range "15 .. 1500"; + } + default "100"; + description + "Set the ND packet rate allowed"; + } + leaf burst-interval { + type uint8 { + range "3 .. 255"; + } + default "5"; + description + "Set the burst count for the client to be excluded"; + } + } + + grouping st-rlan-policy-profile-config { + description + "Remote LAN policy profile"; + leaf profile-name { + type string { + length "1..32" { + error-message "Invalid string length for Remote LAN Policy Profile name:Valid string has be 1 to 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Remote LAN Policy Profile Name"; + } + leaf status { + type boolean; + default "false"; + description + "Remote LAN Policy Profile status"; + } + leaf description { + type string; + description + "Remote LAN Policy Profile Description"; + } + leaf ipv4-acl { + type string { + length "0..31" { + error-message "Invalid string length for IPv4 ACL name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + } + description + "Name of IPv4 ACL"; + } + leaf ipv6-acl { + type string { + length "0..31" { + error-message "Invalid string length for IPv6 ACL name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + } + description + "Configure the name of IPv6 ACL"; + } + leaf aaa-override { + type boolean; + default "false"; + description + "Enable or Disable AAA override for the global RLAN parameters."; + } + leaf aaa-policy-name { + type string; + default "default-aaa-policy"; + description + "AAA policy name."; + } + leaf central-switching { + type boolean; + default "true"; + description + "Enable or Disable central switching"; + } + leaf central-dhcp { + type boolean; + description + "Enable or Disable central DHCP"; + } + leaf interface-name { + type string; + default "1"; + description + "Name of the VLAN name for the vlan-acl mapping."; + } + leaf poe { + type boolean; + description + "Enable or Disable poe"; + } + leaf host-mode { + type wireless-types:enm-host-mode; + default "single-host-mode"; + description + "Configure the host mode for the remote LAN"; + } + container host-mode-vlans { + description + "Change the host mode VLAN for the remote LAN"; + uses wireless-rlan-cfg:st-multi-domain-vlans; + } + leaf violation-mode { + type wireless-types:enm-violation-mode; + description + "Violation mode for the remote LAN."; + } + container blacklist { + description + "Configure the blacklist for the remote LAN"; + uses wireless-rlan-cfg:blacklist-params; + } + leaf pre-auth { + type boolean; + description + "Enable or Disable pre_auth"; + } + leaf session-timeout { + type uint32 { + range "0 .. 86400"; + } + default "28800"; + description + "Configure the session timeout for the remote LAN"; + } + container flow-monitor-ipv4 { + description + "Configure the flow monitor IPv4 for the remote LAN"; + uses wireless-rlan-cfg:st-flow-monitor; + } + container flow-monitor-ipv6 { + description + "Configure the flow monitor IPv6 for the remote LAN"; + uses wireless-rlan-cfg:st-flow-monitor; + } + container split-tunnel-param { + description + "Configure the split tunnel for the remote LAN"; + uses wireless-rlan-cfg:st-split-tunnel; + } + leaf dhcp-server { + type inet:ipv4-address; + description + "Configure DHCP parameters for Remote-LAN"; + } + leaf is-dhcp-enabled { + type boolean; + default "false"; + description + "Configure DHCP enabled for Remote-LAN"; + } + leaf accounting-list { + type string; + description + "Configure the accounting list for IEEE 802.1x"; + } + leaf mdns-policy-name { + type string; + default "default-mdns-service-policy"; + description + "The Name of MDNS service policy"; + } + container upn { + description + "Configure User Defined (Private) Network policies"; + uses wireless-rlan-cfg:upn-config; + } + leaf power-level-id { + type uint8 { + range "1 .. 4"; + } + default "4"; + description + "Power level for the AP PoE port"; + } + leaf fabric-profile-name { + type string; + description + "Fabric profile name"; + } + container arprate-params { + description + "ARP rate limiting configuration on RLAN policy profile"; + uses wireless-rlan-cfg:rlan-policy-profile-arprate; + } + container ndp-rate-params { + description + "ND rate limiting configuration on RLAN policy profile"; + uses wireless-rlan-cfg:rlan-policy-profile-ndprate; + } + leaf dhcp-server-vrf-name { + type string; + default ""; + description + "Configure DHCP server VRF name for Remote-LAN"; + } + } + + grouping st-rlan-web-pre-auth-acl { + description + "Configuration of RLAN Web ACL"; + leaf ipv4-acl { + type string { + length "0..31" { + error-message "Invalid string length for IPv4 ACL name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + } + description + "Configure IPv4 RLAN Web ACL"; + } + leaf ipv6-acl { + type string { + length "0..31" { + error-message "Invalid string length for IPv6 ACL name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + } + description + "Configure IPv6 RLAN Web ACL"; + } + } + + grouping st-rlan-config { + description + "Configure remote LAN profile"; + leaf rlan-id { + type uint32 { + range "1 .. 128"; + } + description + "Remote LAN Profile Id"; + } + leaf profile-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Remote LAN Profile Name"; + } + leaf mac-filtering { + type string; + description + "Mac filtering on remote LAN"; + } + leaf auth-list { + type string; + description + "Configure auth list on remote LAN"; + } + leaf security-8021x-dot1x { + type boolean; + description + "Configures 802.1X"; + } + leaf auth-list-dot1x { + type string; + description + "Configures security web auth"; + } + leaf security-web-auth { + type boolean; + description + "Configures security web auth"; + } + leaf local-auth-eap-profile-name { + type string; + description + "Configure the EAP profile on a Remote-LAN"; + } + leaf local-eap-auth-enabled { + type boolean; + description + "Enable/Disable the EAP profile on a Remote-LAN"; + } + leaf web-auth-parameter-map { + type string; + description + "Configure parameter map on a Remote-LAN"; + } + leaf max-associated-clients { + type uint32; + default "0"; + description + "Configure maximum client connections per Remote-LAN"; + } + leaf status { + type boolean; + default "false"; + description + "Remote LAN Profile status"; + } + container web-pre-auth-acl { + description + "Configure Web ACL for Remote-LAN"; + uses wireless-rlan-cfg:st-rlan-web-pre-auth-acl; + } + leaf mdns-sd-mode { + type wireless-enum-types:enm-wlan-mdns-sd-cfg; + default "mdns-sd-bridging"; + description + "MDNS mode on remote LAN"; + } + leaf rlan-fallback-type { + type wireless-enum-types:enm-rlan-fallback-type; + default "rlan-auth-fback-none"; + description + "RLAN fallback authentication type"; + } + leaf dot1x-eapid-retries-set { + type boolean; + default "false"; + description + "Enable/Disable EAP identity request retry setting"; + } + leaf dot1x-eapid-req-retries { + type uint8 { + range "1 .. 20"; + } + must "(../dot1x-eapid-retries-set = 'true')" { + error-message "dot1x-eapid-retries-set must be set to true to enable this setting"; + error-app-tag "must-violation"; + } + description + "Maximum number of EAP identity request retransmissions"; + } + leaf dot1x-eapid-req-timeout { + type uint8 { + range "1 .. 120"; + } + units "seconds"; + description + "Timeout for EAP identity requests"; + } + leaf dot1x-eap-retries-set { + type boolean; + default "false"; + description + "Enable/Disable EAP request retry setting"; + } + leaf dot1x-eap-req-max-retries { + type uint8 { + range "0 .. 20"; + } + must "(../dot1x-eap-retries-set = 'true')" { + error-message "dot1x-eap-retries-set must be set to true to enable this setting"; + error-app-tag "must-violation"; + } + description + "Maximum number of EAP request retransmissions"; + } + leaf dot1x-eap-req-timeout { + type uint8 { + range "1 .. 120"; + } + units "seconds"; + description + "Timeout for EAP request retransmission"; + } + } + + container rlan-cfg-data { + description + "RLAN profile configurations"; + container rlan-configs { + description + "RLAN profile configuration"; + list rlan-config { + key "rlan-id"; + unique "profile-name"; + description + "RLAN profile"; + uses wireless-rlan-cfg:st-rlan-config { + refine "profile-name" { + mandatory true; + } + } + } + } + container rlan-policy-profile-configs { + description + "RLAN policy profile configuration"; + list rlan-policy-profile-config { + key "profile-name"; + description + "RLAN policy profile"; + uses wireless-rlan-cfg:st-rlan-policy-profile-config; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-cfg.yang new file mode 100644 index 000000000..fd7fcb112 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-cfg.yang @@ -0,0 +1,707 @@ +module Cisco-IOS-XE-wireless-rogue-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rogue-cfg"; + prefix wireless-rogue-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-rogue-types { + prefix wireless-rogue-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing rogue configurations + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Change default RSSI threshold for Rogue AP and Rogue Client change notifications"; + reference + "6.6.0"; + cisco-semver:module-version "6.6.0"; + } + revision 2023-11-01 { + description + "Increase the maximum number of rogue manual config classifications"; + reference + "6.5.0"; + cisco-semver:module-version "6.5.0"; + } + revision 2023-07-01 { + description + "Rogue rule channel width condition."; + reference + "6.4.0"; + cisco-semver:module-version "6.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2022-07-01 { + description + "- Added config for rogue scale quotas and priorities."; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2020-11-01 { + description + "- New rogue rule conditions for WPA3. + - Added support for syslog notification configuration. + - Removed restriction on number of conditions per rogue rule. + - Deprecated Rogue RLDP config model."; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2020-07-01 { + description + "- Restricted rule name to alphanumeric characters."; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-05-01 { + description + "- Fixed some spelling errors in error messages. + - Added support for Rogue WSA events. + - Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-01-24 { + description + "- New constraint in Cisco-IOS-XE-wireless-rogue-cfg forcing major + version bump. + - Cleaned up spelling errors in descriptions. + - rogue-global container marked as non-presence."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-05-18 { + description + "Added validation"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-01 { + description + "Insert containers around lists"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping rogue-global { + description + "Configuration of rogue global parameters"; + leaf rogue-rldp { + type wireless-enum-types:rldp-config-mode; + must "(../rogue-rldp = 'rldp-cfg-mode-disable') or (../rogue-rldp-schedule-set = 'false' and ../rogue-rldp != 'rldp-cfg-mode-disable')" { + error-message "RLDP scheduling and RLDP cannot be enabled at the same time"; + error-app-tag "must-violation"; + } + default "rldp-cfg-mode-disable"; + status deprecated; + description + "Configure Rogue Location Discovery Protocol"; + } + leaf rogue-rldp-auto-contain { + type boolean; + default "false"; + status deprecated; + description + "Set rldp, alarm and auto-contain if rogue is detected"; + } + leaf rogue-rldp-schedule-set { + type boolean; + default "false"; + status deprecated; + description + "Configure rldp scheduling"; + } + leaf rogue-rldp-retry-count { + type uint8 { + range "1 .. 5"; + } + default "1"; + status deprecated; + description + "Number of rldp retry times per rogue AP"; + } + leaf rogue-auto-contain-my-ssid { + type boolean; + default "false"; + description + "Auto-contain upon detecting rogue advertising our SSID"; + } + leaf rogue-auto-contain-ad-hoc { + type boolean; + default "false"; + description + "Enable automatically containing adhoc rogue"; + } + leaf rogue-auto-contain-valid-mobile-on-untrusted-ap { + type boolean; + default "false"; + description + "Auto-contain upon detecting valid clients using rogue APs"; + } + leaf rogue-validate-mobiles-against-radius { + type boolean; + must "(../rogue-validate-mobiles-against-radius = 'false') or (../rogue-validate-mobiles-against-radius != ../rogue-validate-mobiles-against-mse)" { + error-message "Rogue validation against MSE and rogue validation against radius cannot be enabled at the same time"; + error-app-tag "must-violation"; + } + default "false"; + description + "Set use of AAA/local database to detect valid mac addresses"; + } + leaf rogue-validate-mobiles-against-mse { + type boolean; + default "false"; + description + "Set use of MSE to detect valid mac addresses"; + } + leaf rogue-validate-aps-against-radius { + type boolean; + default "false"; + description + "Set use of AAA/local database to detect valid AP mac addresses"; + } + leaf adhoc-rogue-reporting { + type boolean; + default "true"; + description + "Enable detecting and reporting adhoc rogue (IBSS)"; + } + leaf ap-auth-enabled { + type boolean; + default "false"; + description + "Flag to indicate whether auth is enabled"; + } + leaf rogue-auto-contain-level-monitor-ap { + type boolean; + default "false"; + description + "Configure auto contain for monitor ap mode"; + } + leaf security-level { + type wireless-enum-types:rogue-security-level; + default "rogue-security-level-custom"; + description + "Configure security level"; + } + leaf ap-auth-alarm-th { + type uint8 { + range "1 .. 255"; + } + default "1"; + description + "Configure AP auth alarm threshold"; + } + leaf rogue-cleanup-timer { + type uint32 { + range "240 .. 3600"; + } + default "1200"; + description + "The number of seconds before rogue entries are flushed"; + } + leaf rogue-init-timer { + type uint32; + default "180"; + description + "rogue init timer"; + } + leaf rogue-auto-contain-level { + type uint32 { + range "1 .. 4"; + } + default "1"; + description + "Configure auto contain level"; + } + leaf rogue-polling-interval { + type uint32 { + range "60 .. 86400"; + } + default "3600"; + description + "Configures Rogue AP AAA validation interval in seconds"; + } + leaf rogue-detection-client-num-threshold { + type uint32 { + range "0 .. 256"; + } + default "0"; + description + "Rogue client per a rogue AP SNMP trap threshold"; + } + leaf notify-rogue-ap-threshold { + type uint32 { + range "0 .. 10"; + } + default "5"; + description + "Configure rogue AP RSSI deviation threshold for notification"; + } + leaf notify-rogue-client-threshold { + type uint32 { + range "0 .. 10"; + } + default "5"; + description + "Configure rogue Client RSSI deviation threshold for notification"; + } + leaf notify-rogue-ap-min-rssi { + type int32 { + range "-128 .. -70"; + } + default "-128"; + description + "Configure rogue AP minimum RSSI threshold for notification"; + } + leaf notify-rogue-client-min-rssi { + type int32 { + range "-128 .. -70"; + } + default "-128"; + description + "Configure rogue Client minimum RSSI threshold for notification"; + } + leaf rogue-wsa-events-enabled { + type boolean; + default "false"; + description + "Enable/Disable Rogue WSA events"; + } + leaf rogue-syslog-enabled { + type boolean; + default "false"; + description + "Enable/Disable Rogue events notifications through syslog"; + } + leaf scale-friendly-quota { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + must '(../scale-friendly-quota + ../scale-malicious-quota + ../scale-unclassified-quota + ../scale-custom-quota) <= 100' { + error-message "Sum of all rogue classification quotas must not exceed 100%"; + error-app-tag "must-violation"; + } + default "0"; + description + "Percentage of total scale reserved for friendly rogue APs"; + } + leaf scale-malicious-quota { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + must '(../scale-friendly-quota + ../scale-malicious-quota + ../scale-unclassified-quota + ../scale-custom-quota) <= 100' { + error-message "Sum of all rogue classification quotas must not exceed 100%"; + error-app-tag "must-violation"; + } + default "0"; + description + "% of total scale reserved for malicious rogue APs"; + } + leaf scale-unclassified-quota { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + must '(../scale-friendly-quota + ../scale-malicious-quota + ../scale-unclassified-quota + ../scale-custom-quota) <= 100' { + error-message "Sum of all rogue classification quotas must not exceed 100%"; + error-app-tag "must-violation"; + } + default "0"; + description + "% of total scale reserved for unclassified rogue APs"; + } + leaf scale-custom-quota { + type uint8 { + range "0 .. 100"; + } + units "percentage"; + must '(../scale-friendly-quota + ../scale-malicious-quota + ../scale-unclassified-quota + ../scale-custom-quota) <= 100' { + error-message "Sum of all rogue classification quotas must not exceed 100%"; + error-app-tag "must-violation"; + } + default "0"; + description + "% of total scale reserved for custom rogue APs"; + } + leaf scale-mode-hybrid { + type boolean; + default "false"; + description + "Unused quota reserved for higher priority rogue APs can be used by rogue APs of lower priority when space available"; + } + leaf rogue-friendly-priority { + type wireless-enum-types:enm-rogue-priority; + must '../rogue-friendly-priority != ../rogue-malicious-priority and ../rogue-friendly-priority != ../rogue-unclass-priority and ../rogue-friendly-priority != ../rogue-custom-priority' { + error-message "Rogue classification priorities must be unique"; + error-app-tag "must-violation"; + } + default "rogue-priority-low"; + description + "Rogue Friendly Priority"; + } + leaf rogue-malicious-priority { + type wireless-enum-types:enm-rogue-priority; + must '../rogue-malicious-priority != ../rogue-friendly-priority and ../rogue-malicious-priority != ../rogue-unclass-priority and ../rogue-malicious-priority != ../rogue-custom-priority' { + error-message "Rogue classification priorities must be unique"; + error-app-tag "must-violation"; + } + default "rogue-priority-highest"; + description + "Rogue Malicious Priority"; + } + leaf rogue-unclass-priority { + type wireless-enum-types:enm-rogue-priority; + must '../rogue-unclass-priority != ../rogue-friendly-priority and ../rogue-unclass-priority != ../rogue-malicious-priority and ../rogue-unclass-priority != ../rogue-custom-priority' { + error-message "Rogue classification priorities must be unique"; + error-app-tag "must-violation"; + } + default "rogue-priority-medium"; + description + "Rogue Unclassified Priority"; + } + leaf rogue-custom-priority { + type wireless-enum-types:enm-rogue-priority; + must '../rogue-custom-priority != ../rogue-friendly-priority and ../rogue-custom-priority != ../rogue-malicious-priority and ../rogue-custom-priority != ../rogue-unclass-priority' { + error-message "Rogue classification priorities must be unique"; + error-app-tag "must-violation"; + } + default "rogue-priority-high"; + description + "Rogue Custom Priority"; + } + leaf mld-link-records { + type boolean; + description + "Enable DNAC backwards-compatible rogue AP/rogue client records for rogue MLD AP / MLD client"; + } + } + + grouping rogue-ap-cfg { + description + "Configuration of rogue access point"; + leaf rogue-address { + type yang:mac-address; + description + "MAC address of the ad-hoc rogue access point"; + } + leaf adhoc { + type boolean; + description + "adhoc"; + } + leaf rogue-class-type { + type wireless-enum-types:rogue-class-type; + must "../rogue-class-type != 'rogue-classtype-invalid' and ../rogue-class-type != 'rogue-classtype-unknown' and ../rogue-class-type != 'rogue-classtype-custom'" { + error-message "Rogue classtype cannot be custom, invalid or unknown"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Rogue classification"; + } + leaf rogue-mode { + type wireless-enum-types:rogue-state; + must "(../rogue-class-type != 'rogue-classtype-friendly') or (../rogue-mode = 'rogue-state-trusted' or ../rogue-mode = 'rogue-state-acknowledged')" { + error-message "Friendly rogue AP state must be trusted or acknowledged"; + error-app-tag "must-violation"; + } + must "(../rogue-class-type != 'rogue-classtype-malicious') or (../rogue-mode = 'rogue-state-contained' or ../rogue-mode = 'rogue-state-alert')" { + error-message "Malicious rogue AP state must be contained or alert"; + error-app-tag "must-violation"; + } + must "(../rogue-class-type != 'rogue-classtype-unclassified') or (../rogue-mode = 'rogue-state-contained' or ../rogue-mode = 'rogue-state-alert')" { + error-message "Unclassified rogue AP state must be contained or alert"; + error-app-tag "must-violation"; + } + must "../rogue-mode != 'rogue-state-init' and ../rogue-mode != 'rogue-state-pending' and ../rogue-mode != 'rogue-state-lrad' and ../rogue-mode != 'rogue-state-threat' and ../rogue-mode != 'rogue-state-contained-pending' and ../rogue-mode != 'rogue-state-deleted' and ../rogue-mode != 'rogue-state-invalid'" { + error-message "Invalid rogue state"; + error-app-tag "must-violation"; + } + default "rogue-state-init"; + description + "Rogue classification state"; + } + leaf containment-level { + type uint32 { + range "0 .. 4"; + } + must "(../rogue-mode = 'rogue-state-contained') or (../containment-level = 0)" { + error-message "Containment level can be set only for contained APs"; + error-app-tag "must-violation"; + } + must "(../rogue-mode != 'rogue-state-contained') or (../containment-level >= 1 and ../containment-level <= 4)" { + error-message "When rogue AP state is contained, containment level should be greater than 0"; + error-app-tag "must-violation"; + } + default "0"; + description + "Containment level"; + } + } + + grouping rogue-client-cfg { + description + "Configuration of rogue client"; + leaf rogue-client-address { + type yang:mac-address; + description + "MAC address of the rogue access point"; + } + leaf rogue-mode { + type wireless-enum-types:rogue-state; + must "../rogue-mode = 'rogue-state-contained'" { + error-message "Rogue client state can only be set to contained"; + error-app-tag "must-violation"; + } + default "rogue-state-init"; + description + "Rogue client state"; + } + leaf containment-level { + type uint32 { + range "0 .. 4"; + } + must "(../rogue-mode = 'rogue-state-contained') or (../containment-level = 0)" { + error-message "Containment level can be set only for contained clients"; + error-app-tag "must-violation"; + } + must "(../rogue-mode != 'rogue-state-contained') or (../containment-level >= 1 and ../containment-level <= 4)" { + error-message "When rogue client state is contained, containment level shold be greater than 0"; + error-app-tag "must-violation"; + } + default "0"; + description + "Containment level"; + } + } + + grouping rogue-ignore-data { + description + "Configuration of ignore rogue data"; + leaf rogue-ignore-address { + type yang:mac-address; + description + "Configuration of ignore rogue address"; + } + } + + grouping rldp-day-sched { + description + "Configuration of day rldp schedule"; + leaf day { + type wireless-enum-types:work-day; + description + "Configuration of day in rldp schedule"; + } + leaf start-time { + type string { + pattern '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + default "00:00:00"; + description + "Configure the start time for rldp schedule for the day [HH:MM:SS]"; + } + leaf end-time { + type string { + pattern '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + default "00:00:00"; + description + "Configure the end time for rldp schedule for the day [HH:MM:SS]"; + } + } + + grouping rule-data { + description + "Configuration of rule data"; + leaf rule-name { + type string { + length "0..32"; + pattern '[-A-Za-z_.0-9]+'; + } + must "../rule-name != 'all'" { + error-message "all is not allowed as rule name"; + error-app-tag "must-violation"; + } + description + "Name of rogue rule"; + } + container rule-cfg { + description + "Configuration of rule cfg"; + uses wireless-rogue-types:st-rule-data-cfg; + } + container cond-lists { + description + "List of conditions of a Rogue rule"; + list cond-list { + key "cond-name"; + description + "Condition of a Rogue rule"; + uses wireless-rogue-cfg:rule-condition; + } + } + } + + grouping rule-condition { + description + "Configuration of rule condition"; + leaf cond-name { + type string; + must "../cond-name = 'client-count' or ../cond-name = 'ssid' or ../cond-name = 'wildcard-ssid' or ../cond-name = 'rssi' or ../cond-name = 'duration' or ../cond-name = 'managed-ssid' or ../cond-name = 'no-encryption' or ../cond-name = 'any-encryption' or ../cond-name = 'wpa-encryption' or ../cond-name = 'wpa2-encryption' or ../cond-name = 'wpa3-sae-encryption' or ../cond-name = 'wpa3-owe-encryption' or ../cond-name = 'chan-width'" { + error-message "Condition can be client-count/ssid/wildcard-ssid/rssi/duration/managed-ssid/no-encryption/any-encryption/wpa-encryption/wpa2-encryption/wpa3-sae-encryption/wpa3-owe-encryption/chan-width"; + error-app-tag "must-violation"; + } + description + "Configure name of condition"; + } + container cond-cfg { + description + "Configuration of condition"; + uses wireless-rogue-types:st-rule-condition-cfg; + } + container ssid-lists { + description + "Configuration of ssid list"; + list ssid-list { + key "ssid"; + max-elements 25; + description + "List of ssid configurations"; + uses wireless-rogue-cfg:rule-ssid-list; + } + } + } + + grouping rule-ssid-list { + description + "Configuration of ssid rule list"; + leaf ssid { + type string { + length "0..32"; + } + must "../ssid != 'all'" { + error-message "all is not allowed as SSID name"; + error-app-tag "must-violation"; + } + description + "Configuration of ssid in rule list"; + } + } + + container rogue-cfg-data { + description + "Configuration of rogue data"; + container rogue-global { + description + "Configuration of rogue global"; + uses wireless-rogue-cfg:rogue-global; + } + container rldp-schedules { + status deprecated; + description + "Configuration of rldp schedule"; + list rldp-schedule { + key "day"; + description + "List of rldp schedule configurations"; + uses wireless-rogue-cfg:rldp-day-sched; + } + } + container rogue-ap-cfgs { + description + "Configuration of ap rogue cfg"; + list rogue-ap-cfg { + key "rogue-address"; + description + "List of ap rogue cfg"; + uses wireless-rogue-cfg:rogue-ap-cfg; + } + } + container rogue-client-cfgs { + description + "Configuration of client rogue cfg"; + list rogue-client-cfg { + key "rogue-client-address"; + description + "List of client rogue configurations"; + uses wireless-rogue-cfg:rogue-client-cfg; + } + } + container rogue-ignore-data-entries { + description + "Configuration of ignore rogue data"; + list rogue-ignore-data-entry { + key "rogue-ignore-address"; + description + "List of ignore rogue data configurations"; + uses wireless-rogue-cfg:rogue-ignore-data; + } + } + container rule-data-entries { + description + "Configuration of rule data"; + list rule-data-entry { + key "rule-name"; + unique "rule-cfg/priority-num"; + max-elements 64; + description + "List of rule data configurations"; + uses wireless-rogue-cfg:rule-data; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-oper.yang new file mode 100644 index 000000000..f3cb28304 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-oper.yang @@ -0,0 +1,2412 @@ +module Cisco-IOS-XE-wireless-rogue-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rogue-oper"; + prefix wireless-rogue-oper; + + import Cisco-IOS-XE-event-history-types { + prefix event-history-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless rogue operational data. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Support for WIFI 7 rogue AP and rogue client handling"; + reference + "5.12.0"; + cisco-semver:module-version "5.12.0"; + } + revision 2023-11-01 { + description + "- enabled a new containment strategy"; + reference + "5.11.0"; + cisco-semver:module-version "5.11.0"; + } + revision 2023-07-01 { + description + "- Rogue PMF-Denial Containment. + - Additional error code for PMF-Denial containment."; + reference + "5.10.0"; + cisco-semver:module-version "5.10.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "5.9.0"; + cisco-semver:module-version "5.9.0"; + } + revision 2022-07-01 { + description + "- Added Rogue AP per-band channel width to the global rogue AP table. + - Added rogue scale quota and priority statistics."; + reference + "5.8.0"; + cisco-semver:module-version "5.8.0"; + } + revision 2021-11-01 { + description + "- Added Rogue AP properties: rogue wrong channel."; + reference + "5.7.0"; + cisco-semver:module-version "5.7.0"; + } + revision 2021-07-01 { + description + "- Maximum-RSSI LRAD data for channel, encryption and WPA support. + - Added statistics counter of dropped false-positive rogue reports."; + reference + "5.6.0"; + cisco-semver:module-version "5.6.0"; + } + revision 2021-03-01 { + description + "Removal of: parent-rogue-data-rogue-address-key, parent-rogue-client-data-rogue-client-address-key, parent-containment-lrad-key."; + reference + "5.5.0"; + cisco-semver:module-version "5.5.0"; + } + revision 2020-11-01 { + description + "- Added representation for Rogue Beacon DS Attack. + - Added when statement to hide BSSID in containment parameters when containment does not involve clients or adhoc devices. + - Deprecated Rogue RLDP operational model."; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2020-03-01 { + description + "- Added statistics for AP channel change events. + - Added Protected Management Frames (PMF) flag. + - Added statistics for Beacon DS attack events. + - Added impersonation flag. + - Added new statistics."; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2019-08-13 { + description + "- Added last heard SSID."; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2019-05-01 { + description + "- Added statistics for Rogue WSA events. + - Renamed statistics for Rogue WSA events. + - Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-01-10 { + description + "- Removal of unused leaves + - Cleaned up spelling errors in descriptions. + - Cleanup of the data model + - Removed internal only leaves"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-08-16 { + description + "- Update rogue client IP address types. + - Statistics for mobilityd interaction. + - Reformat descriptions."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-05-18 { + description + "Statistics for dropped updates for scale."; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-03-22 { + description + "Add support for Prime initiated Auto Containment. + Move event grouping out from module"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-rogue-class-type-change { + type enumeration { + enum default-class-type { + value 0; + description + "Default Classification Type Change"; + } + enum manual-changed-class-type { + value 1; + description + "Manual Classification Type Change"; + } + enum auto-changed-class-type { + value 2; + description + "Automatic Classification Type Change"; + } + enum rogue-rule-changed-class-type { + value 3; + description + "Rule-based Classification Type Change"; + } + enum awips-changed-class-type { + value 4; + description + "AWIPS Classification Type Change"; + } + enum aaa-changed-class-type { + value 5; + description + "AAA Classification Type Change"; + } + } + description + "Classification type change reason"; + } + + typedef enm-rogue-state-type-change { + type enumeration { + enum default-state-type { + value 0; + description + "Default State Type Change"; + } + enum manual-changed-state-type { + value 1; + description + "Manual State Type Change"; + } + enum auto-changed-state-type { + value 2; + description + "Automatic State Type Change"; + } + enum rogue-rule-changed-state-type { + value 3; + description + "Rule-Based State Type Change"; + } + enum awips-changed-state-type { + value 4; + description + "AWIPS State Type Change"; + } + enum aaa-changed-state-type { + value 5; + description + "AAA State Type Change"; + } + } + description + "State type change reason"; + } + + typedef enm-rogue-radio-type { + type enumeration { + enum 802-11-bg-radio-type { + value 1; + description + "802.11bg"; + } + enum 802-11a-radio-type { + value 2; + description + "802.11a"; + } + enum 802-11-abgn-radio-type { + value 3; + description + "802.11abgn"; + } + enum 802-11ac-radio-type { + value 4; + description + "802.11ac"; + } + enum 802-11-n-5g-radio-type { + value 5; + description + "802.11n 5 Ghz"; + } + enum 802-11-n-24g-radio-type { + value 6; + description + "802.11n 2.4 Ghz"; + } + enum 802-11g-radio-type { + value 7; + description + "802.11g"; + } + enum 802-11ax-24g-radio-type { + value 8; + description + "802.11ax 2.4GHz"; + } + enum 802-11ax-5g-radio-type { + value 9; + description + "802.11ax 5GHz"; + } + enum 802-11ax-6g-radio-type { + value 10; + description + "802.11ax 6GHz"; + } + enum 802-11be-radio-type { + value 11; + description + "802.11be"; + } + } + description + "Radio Type"; + } + + typedef enm-rogue-containment-type { + type enumeration { + enum invalid { + value 0; + description + "Invalid Containment Type"; + } + enum deauth-bcast { + value 1; + description + "Deauthentication Broadcast Containment"; + } + enum cfp { + value 2; + description + "CFP Containment"; + } + enum client-deauth { + value 3; + description + "Client Deauthentication Containment"; + } + enum adhoc-deauth { + value 4; + description + "AdHoc Deauthentication Containment"; + } + enum clear-all { + value 5; + description + "Clear all Existing Containment"; + } + enum rogue-ap-pmf-deauth { + value 6; + description + "Deauthentication PMF Containment"; + } + } + description + "Rogue Containment Type"; + } + + typedef enm-rogue-validation-result { + type enumeration { + enum rogue-val-none { + value 0; + description + "Not Evaluated/Not Containing"; + } + enum rogue-contain-success { + value 1; + description + "Success."; + } + enum skipped-not-monitor-ap { + value 2; + description + "Skipped: Not Monitor-AP."; + } + enum failure-no-managed-ap-info-in-cache { + value 3; + description + "Failure: No Managed AP info in cache."; + } + enum failure-no-radio-type-info { + value 4; + description + "Failure: No Radio Type info"; + } + enum failure-no-radio-oper-info { + value 5; + description + "Failure: No Radio Oper info"; + } + enum skipped-radio-is-down { + value 6; + description + "Skipped: Radio is Down"; + } + enum failure-no-country-string { + value 7; + description + "Failure: No Country String"; + } + enum skipped-invalid-channel-for-country { + value 8; + description + "Skipped: Invalid Channel for Country"; + } + enum failure-no-radar-mode-info { + value 9; + description + "Failure: No Radar mode info"; + } + enum skipped-dfs-channel { + value 10; + description + "Skipped: DFS Channel"; + } + enum failure-generic-db-error { + value 11; + description + "Failure: Generic DB Error"; + } + enum failure-error-sending-containment-message { + value 12; + description + "Failure: Error sending Containment message"; + } + enum skipped-max-scale-containment-reached-on { + value 13; + description + "Skipped: Max Scale Containment reached on AP"; + } + enum waiting-for-post-sso-cleanup-to-complete { + value 14; + description + "Waiting for post-SSO Cleanup to complete"; + } + enum failure-ap-in-wrong-mode { + value 15; + description + "Failure: AP in wrong mode"; + } + enum rogue-val-encr-enabled { + value 16; + description + "Encryption is enabled"; + } + enum rogue-val-ssid-too-long { + value 17; + description + "SSID is too long"; + } + enum rogue-val-hidden-ssid { + value 18; + description + "SSID is hidden"; + } + enum rogue-val-ap-in-use { + value 19; + description + "AP is in use"; + } + enum rogue-val-rldp-in-progress { + value 20; + status deprecated; + description + "RLDP is in progress"; + } + enum rogue-val-mfp-required { + value 21; + description + "802.11w Protected Management Frames (PMF) is required"; + } + enum rogue-val-no-tx-radio-on-band { + value 22; + description + "The AP has not TX-enabled radio on this band"; + } + enum rogue-val-mfp-required-not-on-chan { + value 23; + description + "Rogue AP requires PMF-denial containment but is not on client-serving channel"; + } + enum rogue-val-mfp-required-ap-disable { + value 24; + description + "Rogue AP requires PMF-denial containment which is disabled on the Managed AP"; + } + enum rogue-val-mfp-required-no-ds-channel { + value 25; + description + "Rogue AP requires PMF-denial containment but No Beacon-DS IE channel information found"; + } + enum rogue-val-mfp-required-monitor-mode { + value 26; + description + "Rogue AP requires PMF-denial containment but this is a radio or AP in monitor mode"; + } + } + description + "Validation result"; + } + + typedef enm-rogue-mfp { + type enumeration { + enum rogue-mfp-required { + value 0; + description + "802.11w PMF is required"; + } + enum rogue-mfp-capable { + value 1; + description + "802.11w PMF capability exists, but it is not required"; + } + enum rogue-mfp-none { + value 2; + description + "802.11w PMF capability does not exist and is not required"; + } + } + description + "Status of 802.11w Protected Management Frames (PMF)"; + } + + typedef enm-rogue-override-src { + type enumeration { + enum rogue-override-none { + value 0; + description + "no override of classification or containment"; + } + enum rogue-override-config-ap { + value 1; + description + "override by rogue AP configuration"; + } + enum rogue-override-config-client { + value 2; + description + "override by rogue client configuration"; + } + enum rogue-override-snmp { + value 3; + description + "override by rogue AP SNMP setting"; + } + } + description + "Classification and/or containment override reason"; + } + + typedef enm-rogue-mld-rec-type { + type enumeration { + enum rogue-mld-rec-none { + value 0; + description + "A non-MLD rogue AP/rogue client record"; + } + enum rogue-mld-rec { + value 1; + description + "A MLD rogue AP/rogue client record"; + } + enum rogue-mld-lik-rec { + value 2; + description + "A MLD-Link rogue AP/rogue client record"; + } + } + description + "Rogue AP/rogue Client MLD record type"; + } + + typedef enm-lrad-impersonation { + type enumeration { + enum rogue-impersonation-none { + value 0; + description + "No impersonation detected by this LRAD"; + } + enum rogue-impersonation-direct-detection { + value 1; + description + "A managed AP reported a rogue AP BSSID or MLD-Link MAC that belongs to the pool of the reporting managed AP"; + } + enum rogue-impersonation-auth-fail-count { + value 2; + description + "A managed AP reported a rogue AP which fails the check of Authentication IE or Cisco PMF MIC"; + } + } + description + "Rogue AP Impersonation type detected by LRAD"; + } + + typedef rogue-wpa-support-flag { + type bits { + bit wpa-support-wpa { + position 0; + description + "WiFi Protected Access"; + } + bit wpa-support-wpa2 { + position 1; + description + "WiFi Protected Access 2"; + } + bit wpa-support-ft { + position 2; + description + "WiFi Fast Transition"; + } + bit wpa-support-security-dot1x { + position 3; + description + "802.1X authentication"; + } + bit wpa-support-psk { + position 4; + description + "WiFi WPA Pre-Shared Key"; + } + bit wpa-support-security-owe { + position 5; + description + "WiFi Protected Access 3 Opportunistic Wireless Encryption"; + } + bit wpa-support-security-sae { + position 6; + description + "WiFi Protected Access 3 Simultaneous Authentication of Equals"; + } + bit wpa-support-security-suite-b { + position 7; + description + "WiFi Protected Access Suite B"; + } + bit wpa-support-security-suite-b-192 { + position 8; + description + "WiFi Protected Access Suite B 192"; + } + bit wpa-support-security-ex-key { + position 9; + description + "WiFi Protected Access Ext Key"; + } + } + description + "WPA and Security Support of the Rogue AP"; + } + + typedef rogue-encrypted-flag { + type bits { + bit rogue-encrypted-wep-mode { + position 0; + description + "Rogue AP supports WiFi Wired Equivalent Privacy"; + } + } + description + "Encrypted flag of Rogue AP report"; + } + + typedef rogue-properties-flag { + type bits { + bit beacon-wrong-channel { + position 0; + description + "Impersonator Rogue AP transmits on wrong channel"; + } + } + description + "Rogue properties"; + } + + grouping st-rogue-ap-remote-override { + description + "Containment override manipulated remotely via a manageability interface"; + leaf remote-override-class-type { + type wireless-enum-types:rogue-class-type; + description + "Remote Override Classification Type"; + } + leaf remote-override-mode { + type wireless-enum-types:rogue-state; + description + "Remote Override Mode"; + } + leaf remote-override-containment-level { + type uint32; + description + "Remote Override Containment level"; + } + } + + grouping st-rogue-lrad-key { + description + "Local Radio Key"; + leaf lrad-mac-addr { + type yang:mac-address; + description + "MAC Address of AP Interface that Detected the Rogue."; + } + leaf slot-id { + type uint8; + description + "The slot ID of the AP Interface that detected the Rogue."; + } + } + + grouping st-rogue-data-per-band { + description + "Per-band data for the BSSID-reuse case"; + leaf chan-width { + type uint16; + description + "Rogue AP Channel Width"; + } + leaf actual-containment { + type uint32; + description + "Actual containment in this band"; + } + leaf mld-link-mac { + type yang:mac-address; + description + "Multi-Link Device link address"; + } + } + + grouping st-rogue-data { + description + "Rogue AP data"; + leaf rogue-address { + type yang:mac-address; + description + "MAC Address of a rogue AP."; + } + leaf rogue-class-type { + type wireless-enum-types:rogue-class-type; + description + "This object specifies the type of a rogue AP. + friendly - existing known, acknowledged, and trusted APs + malicious - unknown AP that could be a threat. + unclassified - an unknown or rogue AP is identified + but it does not belong to Friendly or + Malicious rogue types. + custom - AP that matches user defined custom rules."; + } + leaf rogue-mode { + type wireless-enum-types:rogue-state; + description + "This objects specifies the state in which the rogue AP is. + pending - a read-only value indicates that rogue AP + is under classification process + alert - rogue AP that can be a potential threat. + Trap will be sent out to trap recipients. + detectedLrad - a read-only value indicates that a LRAD + that got detected as rogue. + known - a read-only value indicates that an internal + AP which is not on the same switch. + acknowledge - a read-only value indicates that an external + AP whose existence is acceptable and not a + threat (probably from vendor other than cisco). + contained - containment is initiated and ongoing. + threat - rogue AP is found on wired network. + containedPending - a read-only value indicates that no AP + resources are available for containment. + knownContained - a read-only value - no longer used. + trustedMissing - rogue AP is friendly but there is no slot + for friendly AP. + initializing - a read-only value indicates that rogue + AP is being initialized. + For a friendly rogue AP, only two states are valid: + 'known' and 'acknowledge'. + 'known', 'knownContained' and 'trustedMissing' + can appear in known rogue list. + Known rogues can be pre-provisioned and known rogues + state can be changed to 'alert'."; + } + leaf rogue-containment-level { + type uint32; + description + "Containment Level"; + } + leaf actual-containment { + type uint32; + description + "Number of Containing APs."; + } + leaf manual-contained { + type boolean; + description + "Manually Contained"; + } + leaf class-override-src { + type wireless-rogue-oper:enm-rogue-override-src; + description + "Source of the classification/containment override"; + } + leaf containment-type { + type wireless-rogue-oper:enm-rogue-containment-type; + description + "This object represents the containment mode applied to this rogue AP + if it is in 'contained' state. + A value of '0' indicates invalid containment mode. + A value of '1' indicates deauthentication broadcast used for containment. + A value of '2' indicates CFP containment. + A value of '3' indicates client containment. + A value of '4' indicates adhoc containment. + A value of '5' indicates max value i.e invalid. + A value of '99' indicates unknown containment type."; + } + leaf contained { + type boolean; + description + "Contained"; + } + leaf severity-score { + type uint32; + description + "This object specifies the custom classification + severity score of the rules. + This object is applicable when cLRuleRogueType is configured as 'custom'."; + } + leaf class-type-custom-name { + type string; + description + "custom rule"; + } + leaf rogue-first-timestamp { + type yang:date-and-time; + description + "Time Stamp when this Rogue was First Detected."; + } + leaf rogue-last-timestamp { + type yang:date-and-time; + description + "Time Stamp when this Rogue was Last Detected."; + } + leaf rogue-is-on-my-network { + type boolean; + description + "This attribute specifies if the Rogue is on Wired Network or not."; + } + leaf ad-hoc { + type boolean; + description + "This attribute specifies if the Rogue is of ad-hoc type or is an AP."; + } + leaf ad-hoc-bssid { + type yang:mac-address; + description + "BSSID for Ad-Hoc Rogue"; + } + leaf rogue-rule-name { + type string; + description + "Rule Name"; + } + leaf rogue-radio-type-last-seen { + type wireless-rogue-oper:enm-rogue-radio-type; + description + "Last Seen Radio Type"; + } + leaf rldp-retries { + type uint32; + status deprecated; + description + "RLDP attempts"; + } + leaf rogue-class-type-change { + type wireless-rogue-oper:enm-rogue-class-type-change; + description + "Classification Type Change"; + } + leaf rogue-state-change { + type wireless-rogue-oper:enm-rogue-state-type-change; + description + "State Type Change"; + } + leaf rogue-if-num { + type uint32; + description + "Interface Number"; + } + leaf managed-ap { + type boolean; + description + "There is a managed AP locally or via AP list with the same MAC"; + } + leaf autocontain-adhoc-trap { + type boolean; + description + "Trap for AdHoc Auto-Containment has been sent"; + } + leaf autocontain-trap { + type boolean; + description + "Trap for Auto-Containment has been sent"; + } + leaf potential-honeypot-trap { + type boolean; + description + "Trap for Potential Honeypot has been sent"; + } + container history { + description + "Event History"; + uses event-history-types:event-history; + } + container rldp-history { + status deprecated; + description + "RLDP Event History"; + uses event-history-types:event-history; + } + leaf rldp-last-result { + type wireless-enum-types:rogue-rldp-result; + status deprecated; + description + "RLDP Last Result"; + } + leaf rldp-in-progress { + type boolean; + status deprecated; + description + "RLDP in progress"; + } + leaf max-detected-rssi { + type int8; + description + "This is the max RSSI value of all the detecting APs, + which have detected this rogue."; + } + leaf ssid-max-rssi { + type string; + description + "This is the SSID of the rogue detected by Access Point, + which has max RSSI value of all the detecting APs of this rogue."; + } + leaf ap-name-max-rssi { + type string; + description + "AP name of the detecting AP which received max RSSI"; + } + leaf detecting-radio-type-802-11bg { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-802-11a { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-802-11abgn { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-80211ac { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-80211n-5g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-80211n-24g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf detecting-radio-type-80211g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by dot11bg radio or dot11a radio or both."; + } + leaf lrad-mac-max-rssi { + type yang:mac-address; + description + "MAC Address of of detecting AP which received max RSSI"; + } + leaf rogue-radio-type-max-rssi { + type wireless-rogue-oper:enm-rogue-radio-type; + description + "The radio type of detecting AP which received max RSSI value."; + } + leaf last-channel { + type uint32; + description + "This is the channel number of the last detecting APs, + which has detected this rogue."; + } + leaf-list radio-type-count { + type uint8; + ordered-by user; + description + "Specifies the number of radio type count"; + } + container last-heard-lrad-key { + description + "Last Local Radio Key"; + uses wireless-rogue-oper:st-rogue-lrad-key; + } + leaf n-lrads { + type uint32; + description + "Total number of APs that detected this rogue."; + } + list rogue-lrad { + key "lrad-mac-addr slot-id"; + description + "Local Radio that detected this rogue"; + uses wireless-rogue-oper:st-rogue-lrad; + uses wireless-rogue-oper:st-rogue-lrad-key; + } + leaf n-clients { + type uint32; + description + "Total number of Clients detected on this rogue."; + } + list rogue-client { + key "rogue-client-address"; + description + "Rogue Client Address"; + uses wireless-rogue-oper:st-rogue-client; + } + container remote-override { + description + "Remote containment override"; + uses wireless-rogue-oper:st-rogue-ap-remote-override; + } + leaf last-heard-ssid { + type string; + description + "Last detected SSID advertised by Rogue station."; + } + leaf mfp-required { + type boolean; + description + "This rogue requires 802.11w PMF."; + } + leaf is-impersonation { + type empty; + description + "This rogue in an impersonator."; + } + leaf beacon-ds-attack { + type empty; + description + "This rogue performs Beacon DS DoS attack."; + } + leaf d-radio-type-802-11ax24g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by 802.11ax 2.4GHz."; + } + leaf d-radio-type-802-11ax5g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by 802.11ax 5GHz."; + } + leaf d-radio-type-802-11ax6g { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by 802.11ax 6GHz."; + } + leaf channel-max-rssi { + type uint8; + description + "Channel reported by the maximum RSSI LRAD"; + } + leaf wpa-support-max-rssi { + type wireless-rogue-oper:rogue-wpa-support-flag; + description + "WPA encryption reported by the maximum RSSI LRAD"; + } + leaf encrypted-max-rssi { + type wireless-rogue-oper:rogue-encrypted-flag; + description + "Encryption reported by the maximum RSSI LRAD"; + } + leaf snr-max-rssi { + type int8; + description + "Signal-to-noise ratio of the maximum RSSI LRAD"; + } + leaf properties { + type wireless-rogue-oper:rogue-properties-flag; + description + "Rogue AP properties."; + } + container band-data-2dot4g { + description + "Rogue AP 2.4GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-data-per-band; + } + container band-data-5g { + description + "Rogue AP 5GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-data-per-band; + } + container band-data-6g { + description + "Rogue AP 6GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-data-per-band; + } + leaf mld-record { + type wireless-rogue-oper:enm-rogue-mld-rec-type; + description + "Multi-Link Device Record"; + } + leaf mld-mac { + type yang:mac-address; + description + "Multi-Link Device MLD MAC"; + } + leaf d-radio-type-802-11be { + type empty; + description + "Radio type of detecting APs. If the radio type is + detected by 802.11be"; + } + leaf band-max-rssi { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio Band reported by the maximum RSSI LRAD"; + } + } + + grouping st-rogue-signal { + description + "Signal Level"; + leaf val { + type int8; + description + "Value"; + } + leaf num { + type int16; + description + "Numerator"; + } + leaf den { + type int16; + description + "Denominator"; + } + } + + grouping st-rogue-lrad { + description + "Local Radio"; + leaf ssid { + type string; + description + "This object represents the SSID Advertised by Rogue Station."; + } + leaf hidden-ssid { + type boolean; + description + "This object represents the hidden ssid indication on this detecting AP."; + } + leaf name { + type string; + description + "This object represents the name of + Detecting AP Interface that detected the Rogue."; + } + container rssi { + description + "This object represents the Rogue RSSI as seen by Detecting AP Interface."; + uses wireless-rogue-oper:st-rogue-signal; + } + container snr { + description + "This object represents the SNR seen by Detecting AP Interface from Rogue"; + uses wireless-rogue-oper:st-rogue-signal; + } + leaf short-preamble { + type uint8; + description + "This object represents the Preamble on this detecting AP."; + } + leaf channel { + type uint32; + description + "This object represents the advertised Channel Number + of the Detecting AP Interface picked up from the Rogue."; + } + leaf-list channels { + type uint32; + ordered-by user; + description + "Advertised channels"; + } + leaf encrypted { + type uint32; + description + "This object represents the encryption mode on this detecting AP."; + } + leaf wpa-support { + type uint32; + description + "This object represents the WPA mode on this detecting AP."; + } + leaf dot11-phy-support { + type uint32; + description + "Rogue Radio Type"; + } + leaf last-heard { + type yang:date-and-time; + description + "This object represents the no. of seconds ago when + this Rogue was last heard by this AP."; + } + leaf chan-width { + type uint16; + description + "Channel Width"; + } + leaf chan-width-label { + type uint16; + description + "This object represents the represents the channel width of the detecting AP. + Each enumeration represents which part of the band the detecting AP is configured"; + } + leaf ext-chan { + type uint32; + description + "Extension Channel"; + } + leaf band-id { + type uint8; + description + "Band Identifier"; + } + leaf num-slots { + type uint32; + description + "Number of slots in this AP"; + } + leaf report-radio-type { + type uint32; + description + "Reported Radio Type"; + } + leaf contain-result { + type wireless-rogue-oper:enm-rogue-validation-result; + description + "Last containment result"; + } + leaf contain-slot-id { + type wireless-enum-types:slot-id-type; + description + "Slot performing containment "; + } + leaf contain-radio-type { + type uint32; + description + "Radio type for containment"; + } + leaf radio-type { + type wireless-rogue-oper:enm-rogue-radio-type; + description + "This object represents the Detecting + AP Interface type that detected the Rogue."; + } + leaf containment-type { + type wireless-rogue-oper:enm-rogue-containment-type; + description + "This object represents the containment mode used by the AP + if the rogue is in 'contained' state. + A value of '0' indicates invalid containment mode. + A value of '1' indicates deauthentication broadcast used for containment. + A value of '2' indicates CFP containment. + A value of '3' indicates client containment. + A value of '4' indicates adhoc containment. + A value of '5' indicates max value i.e invalid. + A value of '99' indicates unknown containment type."; + } + leaf containment-channel-count { + type uint8; + description + "This object represents the number of channels used for rogue containment."; + } + leaf rogue-containment-chans { + type string; + description + "This object represents the comma separated string + of channels used for rogue containment."; + } + leaf auth-fail-count { + type uint8; + description + "Authentication Failure Count"; + } + leaf mfp-status { + type wireless-rogue-oper:enm-rogue-mfp; + description + "802.11w Protected Management Frames (PMF) status."; + } + leaf channel-from-ds { + type boolean; + description + "Channel information is detected from DS Parameter Set."; + } + leaf phy-ap-slot { + type uint8; + description + "Manageability AP slot of the reporting LRAD"; + } + leaf mld-link-mac { + type yang:mac-address; + description + "Multi-Link Device link address"; + } + leaf lrad-impersonation { + type wireless-rogue-oper:enm-lrad-impersonation; + description + "Rogue AP impersonation indicated by this LRAD"; + } + } + + grouping st-rogue-client { + description + "Rogue Client connected to a Rogue AP"; + leaf rogue-client-address { + type yang:mac-address; + description + "MAC Address of the Rogue Client."; + } + } + + grouping st-rogue-client-data-per-band { + description + "Per-band data for a rogue client"; + leaf n-lrads { + type uint16; + description + "Number of radios detecting this rogue client on this band"; + } + leaf actual-containment { + type uint32; + description + "Number of radios containing this rogue client on this band"; + } + leaf mld-link-mac { + type yang:mac-address; + description + "Multi-Link Device link address"; + } + } + + grouping st-rogue-client-data { + description + "Rogue Client"; + leaf rogue-client-address { + type yang:mac-address; + description + "Mac Address of Rogue Station"; + } + leaf rogue-client-bssid { + type yang:mac-address; + description + "Rogue BSSID"; + } + leaf rogue-client-gateway { + type yang:mac-address; + description + "This object represents the MAC Address of the rogue AP Client gateway."; + } + leaf rogue-client-state { + type wireless-enum-types:rogue-state; + description + "This attribute is use to specify the state in which + the Rogue AP is. User can set the Rogue Client in + alert,known or acknowledge state. + Alert state means Rogue Client can be a potential + threat. Trap will be sent out to trap recipients. + Known state means its just internal Client which is + not on the same Switch. + Acknowledge state means an external Client whose + existence is acceptable and not a threat + (probably some other company's AP). + Contained means containment is initiated and + ongoing"; + } + leaf rogue-client-containment-level { + type uint32; + description + "If the state of the rogue is contained, this specifies + the level of containment. Higher the level, more the + number of detecting APs that are used to contain it. + The value must be between 1 to 4 for 'contained' + state."; + } + leaf actual-containment { + type uint32; + description + "Number of Containing APs"; + } + leaf containment-type { + type wireless-rogue-oper:enm-rogue-containment-type; + description + "This object represents the containment mode applied to this rogue client + if it is in 'contained' state. + A value of '0' indicates invalid containment mode. + A value of '1' indicates deauthentication broadcast used for containment. + A value of '2' indicates CFP containment. + A value of '3' indicates client containment. + A value of '4' indicates adhoc containment. + A value of '5' indicates max value i.e invalid. + A value of '99' indicates unknown containment type."; + } + leaf rogue-client-if-num { + type uint32; + description + "Rouge Client interface number"; + } + leaf rogue-client-ipv4-addr { + type inet:ipv4-address; + description + "Rogue Client IPv4 address."; + } + leaf rogue-client-ipv6-addr { + type inet:ipv6-address; + description + "Rogue Client IPv6 address."; + } + leaf manual-contained { + type boolean; + description + "Manually Contained"; + } + leaf contained { + type boolean; + description + "Contained"; + } + leaf aaa-check { + type boolean; + description + "AAA Validation Status of this rogue client"; + } + leaf cmx-check { + type boolean; + description + "CMX Validation Status of this rogue client"; + } + leaf rogue-client-first-timestamp { + type yang:date-and-time; + description + "Time Stamp when this Rogue was First Detected."; + } + leaf rogue-client-last-timestamp { + type yang:date-and-time; + description + "Time Stamp when this Rogue was Last Detected."; + } + leaf n-lrads { + type uint32; + description + "Total number of Airespace APs that detected this rogue."; + } + container last-heard-lrad-key { + description + "Last Local Radio Key"; + uses wireless-rogue-oper:st-rogue-lrad-key; + } + container history { + description + "Event history for this rogue client"; + uses event-history-types:event-history; + } + leaf parent-rogue-data-address { + type yang:mac-address; + description + "Mac Address of the rogue AP address this client is connected to"; + } + list rogue-client-lrad { + key "lrad-mac-addr slot-id"; + description + "Local Radio that detected this rogue"; + uses wireless-rogue-oper:st-rogue-client-lrad; + uses wireless-rogue-oper:st-rogue-lrad-key; + } + container band-data-2dot4g { + description + "Rogue AP 2.4GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-client-data-per-band; + } + container band-data-5g { + description + "Rogue AP 5GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-client-data-per-band; + } + container band-data-6g { + description + "Rogue AP 6GHz band-specific data"; + uses wireless-rogue-oper:st-rogue-client-data-per-band; + } + leaf mld-record { + type wireless-rogue-oper:enm-rogue-mld-rec-type; + description + "Multi-Link Device Record"; + } + leaf mld-mac { + type yang:mac-address; + description + "Multi-Link Device MLD MAC"; + } + leaf rogue-ap-mld-mac { + type yang:mac-address; + description + "Multi-Link Device MAC of Rogue AP of Rogue Client"; + } + } + + grouping st-rogue-client-lrad { + description + "Local Radio that detected this rogue"; + leaf last-heard { + type yang:date-and-time; + description + "No of seconds ago when this Rogue was last heard by this AP."; + } + leaf name { + type string; + description + "Name of Airespace AP Interface that detected the Rogue."; + } + container rssi { + description + "RSSI seen by Airespace AP Interface from the Rogue"; + uses wireless-rogue-oper:st-rogue-signal; + } + container snr { + description + "SNR seen by Airespace AP Interface from Rogue"; + uses wireless-rogue-oper:st-rogue-signal; + } + leaf channel { + type uint32; + description + "The advertised Channel Number of that the + Airespace AP Interface picked up from the Rogue."; + } + leaf band-id { + type uint8; + description + "Band Identifier"; + } + leaf num-slots { + type uint32; + description + "Number of slots in this AP"; + } + leaf contain-slot-id { + type wireless-enum-types:slot-id-type; + description + "Slot performing containment "; + } + leaf contain-radio-type { + type uint32; + description + "Radio type for containment"; + } + leaf contain-result { + type wireless-rogue-oper:enm-rogue-validation-result; + description + "Last containment result."; + } + leaf phy-ap-slot { + type uint8; + description + "Manageability AP slot of the reporting LRAD"; + } + leaf mld-link-mac { + type yang:mac-address; + description + "MLD-Link Device MAC of MLD Rogue Client"; + } + leaf rogue-ap-mld-link-mac { + type yang:mac-address; + description + "MLD-Link Device MAC of Rogue AP this MLD Rogue Client is associated with"; + } + } + + grouping st-rogue-containment-params { + description + "Parameters of ongoing containments"; + leaf rogue-mac-address { + type yang:mac-address; + description + "Mac Address of the Rogue"; + } + leaf bssid { + when "(../containment-type='client-deauth') or (../containment-type='adhoc-deauth')"; + type yang:mac-address; + description + "BSSID of the rogue"; + } + leaf containment-type { + type wireless-rogue-oper:enm-rogue-containment-type; + description + "Containment Mode"; + } + leaf-list chans { + type uint8; + ordered-by user; + description + "Containment Channels"; + } + leaf detecting-slot-id { + type wireless-enum-types:slot-id-type; + description + "The slot that detected the Rogue"; + } + leaf band-id { + type uint8; + description + "Band for this containment"; + } + leaf mld-link { + type boolean; + description + "BSSID and Rogue MAC fields are MLD-Link MAC addresses"; + } + } + + grouping st-rogue-containment-lrad { + description + "Local Radio performing containment"; + leaf n-contained { + type uint32; + description + "Number of active containments on this Local Radio"; + } + list params { + key "rogue-mac-address"; + description + "Containment Parameters"; + uses wireless-rogue-oper:st-rogue-containment-params; + } + } + + grouping st-rogue-stats { + description + "Rogue Feature Statistics"; + leaf restart-count { + type uint32; + description + "Number of process restarts"; + } + leaf pending-count { + type uint32; + description + "Number of rogue AP in pending state."; + } + leaf lrad-count { + type uint32; + description + "Number of rogue AP in LRAD state."; + } + leaf on-my-network-count { + type uint32; + description + "Number of rogue AP in my network."; + } + leaf adhoc-count { + type uint32; + description + "Number of ad-hoc rogue APs."; + } + leaf unknown-count { + type uint32; + description + "Number of unknown rogue APs."; + } + leaf unclassified-count { + type uint32; + description + "Number of unclassified rogue APs."; + } + leaf malicious-count { + type uint32; + description + "Number of malicious rogue APs."; + } + leaf friendly-count { + type uint32; + description + "Number of friendly rogue APs."; + } + leaf custom-count { + type uint32; + description + "Number of custom rogue APs."; + } + leaf not-adhoc-count { + type uint32; + description + "Number of rogue APs (not adhoc)"; + } + leaf total-count { + type uint32; + description + "Number of rogue APs in total"; + } + leaf contained-count { + type uint32; + description + "Number of contained rogue APs"; + } + leaf contained-client-count { + type uint32; + description + "Number of contained rogue clients"; + } + leaf contained-pending-count { + type uint32; + description + "Number of containment-pending rogue APs"; + } + leaf contained-pending-client-count { + type uint32; + description + "Number of containment-pending rogue clients"; + } + leaf total-client-count { + type uint32; + description + "Number of rogue clients in total."; + } + leaf max-count { + type uint32; + description + "Number of rogue APs that system can support."; + } + leaf max-client-count { + type uint32; + description + "Number of rogue clients that system can support."; + } + leaf report-count { + type uint64; + description + "Number of IAPP AP reports received."; + } + leaf client-report-count { + type uint64; + description + "Number of IAPP Client reports received."; + } + leaf rate-report-count { + type uint32; + description + "Number of IAPP AP reports received in last minute."; + } + leaf rate-client-report-count { + type uint32; + description + "Number of IAPP Client reports received in last minute."; + } + leaf iapp-ap-pkt { + type uint64; + description + "Number of IAPP AP packets received"; + } + leaf iapp-client-pkt { + type uint64; + description + "Number of IAPP Client packets received"; + } + leaf rate-iapp-ap-pkt { + type uint32; + description + "Number of IAPP AP packets received in last minute"; + } + leaf rate-iapp-client-pkt { + type uint32; + description + "Number of IAPP Client packets received in last minute"; + } + leaf rldp-count { + type uint64; + status deprecated; + description + "Number of RLDP procedure started."; + } + leaf aaa-msg-rx-count { + type uint64; + description + "Number of AAA messages received"; + } + leaf aaa-msg-tx-count { + type uint64; + description + "Number of AAA messages sent"; + } + leaf snmp-traps-tx-count { + type uint64; + description + "Number of SNMP traps sent"; + } + leaf lrad-off-count { + type uint64; + description + "Number of LRAD off events."; + } + leaf ap-create-count { + type uint64; + description + "Number of AP create events."; + } + leaf ap-delete-count { + type uint64; + description + "Number of AP delete events."; + } + leaf ap-radio-up-count { + type uint64; + description + "Number of AP Radio Up events."; + } + leaf ap-radio-down-count { + type uint64; + description + "Number of AP Radio Down events."; + } + leaf ap-name-change-count { + type uint32; + description + "Number of AP Name Change events."; + } + leaf wncd-ipc-tx-count { + type uint64; + description + "Number of IPCs to WNCDs sent."; + } + leaf wncd-ipc-rx-count { + type uint64; + description + "Number of IPCs from WNCDs received."; + } + leaf wncmgr-ipc-rx-count { + type uint64; + description + "Number of IPCs from WNCMGR received."; + } + leaf ios-ipc-tx-count { + type uint64; + description + "Number of IPCs to IOS sent."; + } + leaf ios-ipc-rx-count { + type uint64; + description + "Number of IPCs from IOS received."; + } + leaf nmspd-ipc-tx-count { + type uint64; + description + "Number of IPCs to NMSPD sent."; + } + leaf nmspd-ipc-rx-count { + type uint64; + description + "Number of IPCs from NMSPD received."; + } + leaf contain-msg-count { + type uint64; + description + "Number of Containment msgs sent to APs."; + } + leaf fsm-errors { + type uint32; + description + "Number of FSM errors"; + } + leaf trap-errors { + type uint32; + description + "Number of TRAP errors."; + } + container enq-count { + description + "Number of object enqueues."; + uses event-history-types:dynamic-counter; + } + leaf similar-ap-report-count { + type uint64; + description + "Number of very-similar AP reports."; + } + leaf similar-client-report-count { + type uint64; + description + "Number of very-similar client reports"; + } + container snmp-traps-per-type { + description + "per-trap-type counter"; + uses event-history-types:dynamic-counter; + } + leaf iapp-report-messages-load-shedded { + type uint32; + description + "Number of IAPP report messages not processed due to rx IPC too-high occupancy."; + } + leaf managed-client-message-count { + type uint32; + description + "Number of client join/leave messages."; + } + leaf managed-client-join-count { + type uint32; + description + "number of client join events."; + } + leaf managed-client-leave-count { + type uint32; + description + "Number of client leaving the run state events."; + } + leaf managed-rogue-client-count { + type uint32; + description + "Number of managed clients matching rogue clients."; + } + container proc-time { + description + "per-processing-type average processing time"; + uses event-history-types:dynamic-counter; + } + container global-history { + description + "Global Event History"; + uses event-history-types:event-history; + } + leaf tbl-apf-vap-cache-reload-count { + type uint32; + description + "Count of APF VAP SSID cache reloads."; + } + leaf new-lrad-count { + type uint64; + description + "Number of times a new LRAD has been added"; + } + leaf lrad-purge-count { + type uint64; + description + "Number of LRAD purge events"; + } + leaf rssi-change-count { + type uint64; + description + "Number of RSSI change events"; + } + leaf final-state-change-count { + type uint64; + description + "Number of times the final state has changed"; + } + leaf contain-level-change-count { + type uint64; + description + "Number of times the containment level has changed"; + } + leaf class-change-count { + type uint64; + description + "Number of Classification Type changes"; + } + leaf adhoc-change-count { + type uint64; + description + "Number of times adhoc status changed"; + } + leaf on-my-network-change-count { + type uint64; + description + "Number of times on-my-network status changed"; + } + leaf n-clients-changed-count { + type uint64; + description + "Number of times the client-number has changed"; + } + leaf client-new-lrad-count { + type uint64; + description + "Number of times a new client LRAD has been added"; + } + leaf client-lrad-purge-count { + type uint64; + description + "Number of client LRAD purge events"; + } + leaf client-rssi-change-count { + type uint64; + description + "Number of client RSSI change events"; + } + leaf client-final-state-change-count { + type uint64; + description + "Number of times the final client state has changed"; + } + leaf client-contain-level-change-count { + type uint64; + description + "Number of times the client containment level has changed"; + } + leaf client-channel-change-count { + type uint64; + description + "Number of channel change events"; + } + leaf client-ip-change-count { + type uint64; + description + "Number of IP-change events"; + } + leaf client-roam-count { + type uint64; + description + "Number of rogue-client-roam events"; + } + leaf rogue-ap-reports-dropped-scale { + type uint64; + description + "Number of rogue AP reports dropped due to max. scale reached"; + } + leaf rogue-client-reports-dropped-scale { + type uint64; + description + "Number of rogue client reports dropped due to max. scale reached"; + } + leaf rogue-client-reports-dropped-no-parent { + type uint64; + description + "Number of rogue client reports dropped due to missing parent rogue AP"; + } + leaf rogue-enabled { + type boolean; + description + "Rogue socket on port 5247 is enabled"; + } + leaf mm-ipc-rx-count { + type uint64; + description + "Number of IPCs from Mobilityd received."; + } + leaf rogue-wsa-events-triggered-counter { + type uint64; + description + "Number of Rogue WSA events triggered"; + } + leaf rogue-wsa-events-enqueued-counter { + type uint64; + description + "Number of Rogue WSA events enqueued"; + } + container rogue-wsa-events-triggered-per-type { + description + "Number of Rogue WSA events triggered per-type"; + uses event-history-types:dynamic-counter; + } + container rogue-wsa-events-enqueued-per-type { + description + "Number of Rogue WSA events enqueued per-type"; + uses event-history-types:dynamic-counter; + } + leaf bssid-ipc-count { + type uint64; + description + "Number of BSSID cache update events."; + } + leaf ap-channel-change-count { + type uint64; + description + "Number of AP channel change events."; + } + leaf beacon-ds-attack-count { + type uint64; + description + "Number of Beacon DS attacks detected."; + } + leaf internal-count { + type uint32; + description + "Number of rogue APs in internal state."; + } + leaf external-count { + type uint32; + description + "Number of rogue APs in external state."; + } + leaf alert-count { + type uint32; + description + "Number of rogue APs in alert state."; + } + leaf threat-count { + type uint32; + description + "Number of rogue APs in threat state."; + } + leaf rogue-ap-report-false-drop { + type uint64; + description + "Number of rogue AP reports dropped because they might be falsely reported neighbor APs."; + } + leaf adhoc-unknown-count { + type uint32; + description + "Number of unknown ad-hoc rogue APs"; + } + leaf adhoc-unclassified-count { + type uint32; + description + "Number of unclassified ad-hoc rogue APs"; + } + leaf adhoc-malicious-count { + type uint32; + description + "Number of malicious ad-hoc rogue APs"; + } + leaf adhoc-friendly-count { + type uint32; + description + "Number of friendly ad-hoc rogue APs"; + } + leaf adhoc-custom-count { + type uint32; + description + "Number of custom ad-hoc rogue APs"; + } + leaf malicious-init-count { + type uint32; + description + "Number of malicious rogue APs in init state"; + } + leaf custom-init-count { + type uint32; + description + "Number of custom rogue APs in init state"; + } + leaf unclassified-init-count { + type uint32; + description + "Number of unclassified rogue APs in init state"; + } + leaf friendly-init-count { + type uint32; + description + "Number of friendly rogue APs in init state"; + } + leaf unknown-init-count { + type uint32; + description + "Number of unknown rogue APs in init state"; + } + leaf init-count { + type uint32; + description + "Total number of rogue APs in init state"; + } + leaf post-init-count { + type uint32; + description + "Total number of rogue APs in post init state"; + } + leaf max-init-count { + type uint32; + description + "Maximum number of rogue APs in init state"; + } + leaf total-malicious-count { + type uint32; + description + "Total number of malicious classification rogues"; + } + leaf total-custom-count { + type uint32; + description + "Total number of custom classification rogues"; + } + leaf total-unclassified-count { + type uint32; + description + "Total number of unclassified classification rogues"; + } + leaf total-friendly-count { + type uint32; + description + "Total number of friendly classification rogues"; + } + leaf total-unknown-count { + type uint32; + description + "Total number of unknown classification rogues"; + } + leaf rogue-ap-mld-link-count { + type uint32; + description + "Total number of Rogue AP backward compatible MLD-Link records"; + } + leaf rogue-client-mld-link-cnt { + type uint32; + description + "Total number of Rogue Client backward compatible MLD-Link records"; + } + leaf ap-drop-mld-mismatch { + type uint64; + description + "Total number of rogue AP reports dropped due to MLD / Non-MLD type mismatch"; + } + leaf client-drop-mld-mismatch { + type uint64; + description + "Total number of rogue AP reports dropped due to MLD / Non-MLD type mismatch"; + } + } + + grouping st-rogue-link2mld { + description + "Multi-Link Device Rogue AP - mapping of link address to MLD address"; + leaf link { + type yang:mac-address; + description + "Link Address of Multi-Link Device Rogue AP"; + } + leaf mld { + type yang:mac-address; + description + "Multi-Link Device address of Rogue AP"; + } + } + + grouping st-rogue-client-link2mld { + description + "Multi-Link Device Rogue client - mapping of link address to MLD address"; + leaf link { + type yang:mac-address; + description + "Link Address of Multi-Link Device Rogue client"; + } + leaf mld { + type yang:mac-address; + description + "Multi-Link Device address of Rogue client"; + } + } + + grouping st-rldp-stats { + description + "Rogue Location Discovery Protocol feature statistics"; + leaf num-in-progress { + type uint32; + description + "Total number of in-progress Rogue Location Discovery Protocol requests"; + } + leaf num-rldp-started { + type uint32; + description + "Total number of Rogue Location Discovery Protocol requests"; + } + leaf auth-timeout { + type uint32; + description + "Authentication timeout"; + } + leaf assoc-timeout { + type uint32; + description + "Association timeout"; + } + leaf dhcp-timeout { + type uint32; + description + "DHCP/ARP timeout"; + } + leaf not-connected { + type uint32; + description + "Not connected"; + } + leaf connected { + type uint32; + description + "Connected"; + } + leaf rldp-socket-enabled { + type boolean; + description + "Rogue Location Discovery Protocol socket on port 6352 is enabled"; + } + } + + grouping st-rldp-ap { + description + "Access Point that is performing RLDP"; + leaf ap-mac { + type yang:mac-address; + description + "Manage AP mac address that is doing RLDP"; + } + leaf slot-id { + type wireless-enum-types:slot-id-type; + description + "Slot ID of the managed AP"; + } + leaf rogue-ap-mac { + type yang:mac-address; + description + "Rogue mac address against which RLDP is executed"; + } + leaf rogue-channel { + type uint32; + description + "Channel used to run RLDP"; + } + leaf rogue-chan-width-label { + type uint16; + description + "Rogue channel width label"; + } + } + + container rogue-oper-data { + config false; + description + "Rogue Operational Data Model"; + container rogue-stats { + presence "rogue-stats"; + description + "Rogue Feature Statistics"; + uses wireless-rogue-oper:st-rogue-stats; + } + list rogue-link2mld { + key "link"; + description + "Rogue AP link address to Multi-Link Device Address map"; + uses wireless-rogue-oper:st-rogue-link2mld; + } + list rogue-client-link2mld { + key "link"; + description + "Rogue client link address to Multi-Link Device Address map"; + uses wireless-rogue-oper:st-rogue-client-link2mld; + } + list rogue-data { + key "rogue-address"; + description + "Rogue Access Point"; + uses wireless-rogue-oper:st-rogue-data; + } + list rogue-client-data { + key "rogue-client-address"; + description + "Rogue Client"; + uses wireless-rogue-oper:st-rogue-client-data; + } + list rogue-containment-lrad { + key "lrad-mac-addr slot-id"; + description + "Local Radio Performing Containment"; + uses wireless-rogue-oper:st-rogue-containment-lrad; + uses wireless-rogue-oper:st-rogue-lrad-key; + } + list rldp-ap { + key "ap-mac"; + status deprecated; + description + "AP performing RLDP"; + uses wireless-rogue-oper:st-rldp-ap; + } + container rldp-stats { + presence "rldp-stats"; + status deprecated; + description + "RLDP Feature Statistics"; + uses wireless-rogue-oper:st-rldp-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-types.yang new file mode 100644 index 000000000..e0be8f68c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rogue-types.yang @@ -0,0 +1,343 @@ +module Cisco-IOS-XE-wireless-rogue-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rogue-types"; + prefix wireless-rogue-types; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless rogue data types. + Copyright (c) 2016-2020, 2022-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add support for 320 MHz channel width condition in rogue rules"; + reference + "5.5.0"; + cisco-semver:module-version "5.5.0"; + } + revision 2023-07-01 { + description + "- Rogue rule channel width condition + - Rogue client-count must clause replaced with when clause"; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2020-11-01 { + description + "- New rogue rule conditions for WPA3 and must-constraints for rule condition name matching condition flags. + - The maximum value of the duration condition of rogue rule changed to 24 hours."; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2019-05-01 { + description + "- New configuration for notification upon rule match + - Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2018-10-29 { + description + "- validation for class type custom + - Cleaned up spelling errors in descriptions."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-05-18 { + description + "Added validation"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Add encryption indicator and new defaults"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-rogue-chan-width { + type enumeration { + enum channel-width-invalid { + value 0; + description + "Channel Width Invalid"; + } + enum channel-width-20mhz { + value 1; + description + "Channel Width 20 MHz"; + } + enum channel-width-40mhz { + value 2; + description + "Channel Width 40 MHz"; + } + enum channel-width-80mhz { + value 3; + description + "Channel Width 80 MHz"; + } + enum channel-width-160mhz { + value 4; + description + "Channel Width 160 MHz"; + } + enum channel-width-320 { + value 5; + description + "Channel Width 320"; + } + } + description + "Rogue Rule Condition Channel Width"; + } + + grouping st-rule-data-cfg { + description + "Rogue rule types for Config"; + leaf class-type { + type wireless-enum-types:rogue-class-type; + must "(../enable = 'false') or (../class-type = 'rogue-classtype-friendly' and (../state = 'rogue-state-trusted' or ../state = 'rogue-state-alert' or ../state = 'rogue-state-acknowledged')) or (../class-type = 'rogue-classtype-malicious' and (../state = 'rogue-state-contained' or ../state = 'rogue-state-alert')) or (../class-type = 'rogue-classtype-custom' and (../state = 'rogue-state-contained' or ../state = 'rogue-state-alert')) or (../class-type = 'rogue-classtype-unclassified' and ../state = 'rogue-state-deleted')" { + error-message "Please define a valid class/state classification"; + error-app-tag "must-violation"; + } + default "rogue-classtype-unclassified"; + description + "Classification type"; + } + leaf state { + type wireless-enum-types:rogue-state; + description + "Rogue state"; + } + leaf severity-score { + when "(../class-type = 'rogue-classtype-custom')"; + type uint32 { + range "1 .. 100"; + } + description + "Severity score"; + } + leaf class-type-custom-name { + when "(../class-type = 'rogue-classtype-custom')"; + type string; + description + "Custom name of the classification"; + } + leaf match-op { + type wireless-enum-types:apf-rogue-rule-rule-match-op; + must "../match-op = 'rule-match-any' or ../match-op = 'rule-match-all'" { + error-message "Match operation can be ALL or ANY"; + error-app-tag "must-violation"; + } + default "rule-match-any"; + description + "Match operation"; + } + leaf priority-num { + type int32 { + range "1 .. 512"; + } + mandatory true; + description + "priority number for the rogue rule"; + } + leaf enable { + type boolean; + default "false"; + description + "Enable the rule"; + } + leaf notify { + type boolean; + default "true"; + description + "Notification on rule match"; + } + } + + grouping st-rule-condition-cfg { + description + "Rogue rule for conditional config"; + leaf rssi { + type int32 { + range "-128 .. 0"; + } + must "(../../cond-name != 'rssi' and ../rssi = 0) or (../../cond-name = 'rssi')" { + error-message "The condition name must reflect the condition flags. It must be 'rssi' if rssi condition is set"; + error-app-tag "must-violation"; + } + description + "Receiving signal strength indicator"; + } + leaf client-count { + when "(../../cond-name = 'client-count')"; + type uint32 { + range "1 .. 10"; + } + description + "Number of client present"; + } + leaf no-encryption { + type boolean; + must "((../../cond-name = 'no-encryption') and (../no-encryption = 'true')) or ((../../cond-name != 'no-encryption') and (../no-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'no-encryption' if no-encryption condition is set"; + error-app-tag "must-violation"; + } + default "false"; + description + "no encryption"; + } + leaf managed-ssid { + type boolean; + must "((../../cond-name = 'managed-ssid') and (../managed-ssid = 'true')) or ((../../cond-name != 'managed-ssid') and (../managed-ssid != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'managed-ssid' if managed-ssid condition is set"; + error-app-tag "must-violation"; + } + default "false"; + description + "Status of managed ssid"; + } + leaf duration { + type uint32 { + range "0 .. 86400"; + } + must "(../../cond-name != 'duration' and ../duration = 0) or (../../cond-name = 'duration')" { + error-message "The condition name must reflect the condition flags. It must be 'duration' if duration condition is set"; + error-app-tag "must-violation"; + } + description + "Rogue AP detected for more than the specified duration time"; + } + leaf any-encryption { + type boolean; + must "((../../cond-name = 'any-encryption') and (../any-encryption = 'true')) or ((../../cond-name != 'any-encryption') and (../any-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'any-encryption' if any-encryption condition is set"; + error-app-tag "must-violation"; + } + description + "any type of encryption"; + } + leaf wpa-encryption { + type boolean; + must "((../../cond-name = 'wpa-encryption') and (../wpa-encryption = 'true')) or ((../../cond-name != 'wpa-encryption') and (../wpa-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'wpa-encryption' if wpa-encryption condition is set"; + error-app-tag "must-violation"; + } + description + "WPA encryption"; + } + leaf wpa2-encryption { + type boolean; + must "((../../cond-name = 'wpa2-encryption') and (../wpa2-encryption = 'true')) or ((../../cond-name != 'wpa2-encryption') and (../wpa2-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'wpa2-encryption' if wpa2-encryption condition is set"; + error-app-tag "must-violation"; + } + description + "WPA2 encryption"; + } + leaf wpa3-sae-encryption { + type boolean; + must "((../../cond-name = 'wpa3-sae-encryption') and (../wpa3-sae-encryption = 'true')) or ((../../cond-name != 'wpa3-sae-encryption') and (../wpa3-sae-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'wpa3-sae-encryption' if wpa3-sae-encryption condition is set"; + error-app-tag "must-violation"; + } + description + "WPA3 SAE encryption"; + } + leaf wpa3-owe-encryption { + type boolean; + must "((../../cond-name = 'wpa3-owe-encryption') and (../wpa3-owe-encryption = 'true')) or ((../../cond-name != 'wpa3-owe-encryption') and (../wpa3-owe-encryption != 'true'))" { + error-message "The condition name must reflect the condition flags. It must be 'wpa3-owe-encryption' if wpa3-owe-encryption condition is set"; + error-app-tag "must-violation"; + } + description + "WPA3 OWE encryption"; + } + leaf chan-width { + type wireless-rogue-types:enm-rogue-chan-width; + must "( + (../band != 'dot11-2-dot-4-ghz-band' or ../chan-width = 'channel-width-20mhz' or ../chan-width = 'channel-width-40mhz') and + (../band != 'dot11-5-ghz-band' or ../chan-width != 'channel-width-320') and + (../../cond-name = 'chan-width' or ../chan-width = 'channel-width-invalid') + )" { + error-message "chan-width for 2.4GHz band must less or equal 40MHz. chan-width for 5GHz must be less or equal 160MHz"; + error-app-tag "must-violation"; + } + default "channel-width-invalid"; + description + "Rogue AP channel width"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + must "(../../cond-name != 'chan-width' and ../band = 'dot11-invalid-band') or (../../cond-name = 'chan-width' and ../band != 'dot11-invalid-band')" { + error-message "The condition name must reflect the condition flags. If condition name is 'chan-width' then band must be set to a different value than dot11-invalid-band."; + error-app-tag "must-violation"; + } + default "dot11-invalid-band"; + description + "Rogue AP radio band"; + } + } + + grouping st-rule-data-op { + description + "Rogue rule types for oper data"; + leaf hit-cnt { + type uint32; + description + "Number of rule hit"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-cfg.yang new file mode 100644 index 000000000..12458e864 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-cfg.yang @@ -0,0 +1,790 @@ +module Cisco-IOS-XE-wireless-rrm-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-cfg"; + prefix wireless-rrm-cfg; + + import Cisco-IOS-XE-wireless-apf-cfg { + prefix wireless-apf-cfg; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing rrm configurations + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Updated description of leaf channel width, + - Updated constraint for leaf DCA long interval"; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2024-03-01 { + description + "Added leaf for optimised roaming hysteresis"; + reference + "9.2.0"; + cisco-semver:module-version "9.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1 + - Added config knob to disable aggressive DCA run on WLC startup"; + reference + "9.1.0"; + cisco-semver:module-version "9.1.0"; + } + revision 2021-11-01 { + description + "- Added constraint for DCA long interval"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-07-01 { + description + "- Added constraints in DCA mode, Tx power mode and DCA min metric RSSI configuration for 6 GHz band"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2021-03-01 { + description + "Deprecated DCA channel width configuration, + use channel width present in Cisco-IOS-XE-wireless-rf-cfg model"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2020-07-01 { + description + "Added obsolete status to unused leaf nodes in CHD feature and moved to Cisco-IOS-XE-wireless-rf-cfg model"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-11-01 { + description + "Added bss-color-mode for selecting between automatic and static BSS coloring"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2019-06-02 { + description + "- Updated constraint for dca-mode, txpower-mode and grouping-mode. + - Added semantic version + - Update the default values as per WLC configuration best practice"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-01-02 { + description + "- Leaf addition and removal of unwanted leaf nodes. Updating band enum type + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Updated descriptions with the units and enum strings wherever required + - Converted data types of few leaves and fixed revision + - Modified description of leaves dca-thresh and data-rate-thresh."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-08-09 { + description + "Added range set and must constraints for Radio band"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-21 { + description + "Leaf removal"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping rrm-rrm-config { + description + "General configurations for RRM"; + leaf dca-mode { + type wireless-enum-types:rrm-control-mode; + must "(../dca-mode = 'rrm-automatic' or + (../dca-mode = 'rrm-run-once' and ../../band != 'dot11-6-ghz-band') or + ../dca-mode = 'rrm-static')" { + error-message + "Dynamic channel assignement mode must be one of the following : + 1. rrm-automatic (allowed for 2.4/5/6 GHz radio band) + 2. rrm-run-once (allowed for 2.4/5 GHz radio band) + 3. rrm-static (allowed for 2.4/5/6 GHz radio band)"; + error-app-tag "must-violation"; + } + default "rrm-automatic"; + description + "Dynamic channel assignment(DCA) has three modes. When the mode is auto, the channel assignment will be periodically updated for all Access Points that permit this operation. When the DCA is run once, channel assignments are updated based on the UPDATE_CMD received from the management. When the DCA is static, no dynamic channel assignments occurs and value are set to their global default. Default is auto. + Possible values are: + rrm-automatic = Automatic Channel selection + rrm-run-once = Channel selection is done only once + rrm-static = Static channel selection"; + } + leaf dca-update-interval-sec { + type uint32; + units "seconds"; + default "600"; + description + "When Channel dynamic algorithm is running, this interval (in seconds) specifies how often Channel assignment updates are attempted on an Access Point. NOTE: hysteresis is built into the algorithms so we will not have unproductive changes occuring. Default value is 600 seconds"; + } + leaf dca-contribution-noise { + type boolean; + default "true"; + description + "State of noise on the controller. + True - detection is enabled + False - detection is disabled"; + } + leaf dca-contribution-interference { + type boolean; + default "true"; + description + "State of interference on the controller. + True - detection is enabled + False - detection is disabled."; + } + leaf dca-contribution-load { + type boolean; + default "false"; + description + "State of load on the controller. + True - detection is enabled + False - detection is disabled."; + } + leaf dca-contribution-device { + type boolean; + default "false"; + description + "State of device detection on the controller. + True - detection is enabled + False - detection is disabled."; + } + leaf txpower-mode { + type wireless-enum-types:rrm-control-mode; + must "(../txpower-mode = 'rrm-automatic' or + (../txpower-mode = 'rrm-run-once' and ../../band != 'dot11-6-ghz-band') or + ../txpower-mode = 'rrm-static')" { + error-message + "Transmit power mode must be one of the following : + 1. rrm-automatic (allowed for 2.4/5/6 GHz radio band) + 2. rrm-run-once (allowed for 2.4/5 GHz radio band) + 3. rrm-static (allowed for 2.4/5/6 GHz radio band)"; + error-app-tag "must-violation"; + } + default "rrm-automatic"; + description + "Dynamic transmit power (DTP) has three modes. When the mode is auto, the transmit power of each Access Point will be periodically updated for all Access Points that permit this operation. When the DTP is run once,transmit power update will occur based on the UPDATE_CMD received from the management. When the DTP is static, no dynamic transmit power updates occur and their global defaults are used. Default is auto. + Possible values are: + rrm-automatic = Automatic power selection + rrm-run-once = Power selection is done only once + rrm-static = Static power selection"; + } + leaf monitor-channel-mode { + type wireless-enum-types:channel-monitor-mode; + default "rrm-channels-country"; + description + "Channels on which the switch monitors noise, interference and rogues. + Possible values: + rrm-channels-country = Monitoring on channels that are supported by the country of operation, + rrm-channels-all = Monitoring on all channels, + rrm-channels-dca = Monitoring on those channels that are used by automatic channel assignment"; + } + leaf monitor-rssi-normalization { + type boolean; + default "true"; + description + "802.11 configured RRM Neighbor Discovery RSSI Normalization"; + } + leaf channel-monitor-status { + type boolean; + default "true"; + description + "Neighbor monitoring mode. + True - monitoring is disabled + False - monitoring is enabled"; + } + leaf monitor-load-interval { + type uint32 { + range "60 .. 3600"; + } + units "seconds"; + default "60"; + description + "Interval(in seconds) specifying how often we get new load measurements at each Access Point. Default is 300 seconds"; + } + leaf monitor-coverage-interval { + type uint32 { + range "60 .. 3600"; + } + units "seconds"; + default "180"; + description + "Interval(in seconds) specifying how often we get new coverage measurements at each Access Point. Default is 300 seconds"; + } + leaf sys-log-load { + type boolean; + default "false"; + description + "Logging mode for load profile. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-noise { + type boolean; + default "false"; + description + "Logging mode for noise profile. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-foreign { + type boolean; + default "false"; + description + "Logging mode for foreign profile. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-tx-power { + type boolean; + default "false"; + description + "Logging mode for transmit power change. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-coverage { + type boolean; + default "false"; + description + "Logging mode for coverage profile. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-performance { + type boolean; + default "false"; + description + "Logging mode for performance profile. + True - logging is enabled + False - monitoring is disabled"; + } + leaf sys-log-channel { + type boolean; + default "false"; + description + "Logging mode for dynamic channel change. + True - logging is enabled + False - monitoring is disabled"; + } + leaf ndp-type-data { + type wireless-enum-types:ndp-type; + default "ndp-type-transparent"; + description + "Mode of NDP. + Possible values: + transparent = NDP mode is transparent + protected = NDP mode is protected"; + } + leaf roaming-en { + type boolean; + default "false"; + description + "Optimized roaming mode. + True - optimized roaming is enabled + False - optimized roaming is disabled"; + } + leaf data-rate-threshold { + type wireless-enum-types:datarate; + units "dBm"; + default "optroam-rate-0"; + description + "This attribute indicates configured data rate threshold for 802.11 Optimized Roaming + optroam-rate-1-m = Data rate threshold will be set to 1 Mbps. + optroam-rate-2-m = Data rate threshold will be set to 2 Mbps. + optroam-rate-5-5-m = Data rate threshold will be set to 5 Mbps. + optroam-rate-6-m = Data rate threshold will be set to 6 Mbps. + optroam-rate-9-m = Data rate threshold will be set to 9 Mbps. + optroam-rate-11-m = Data rate threshold will be set to 11 Mbps. + optroam-rate-12-m = Data rate threshold will be set to 12 Mbps. + optroam-rate-18-m = Data rate threshold will be set to 18 Mbps. + optroam-rate-24-m = Data rate threshold will be set to 24 Mbps. + optroam-rate-36-m = Data rate threshold will be set to 36 Mbps. + optroam-rate-48-m = Data rate threshold will be set to 48 Mbps. + optroam-rate-54-m = Data rate threshold will be set to 54 Mbps. + optroam-rate-0 = Data rate threshold will be set to 0 Mbps."; + } + leaf roaming-hysteresis { + type int32 { + range "0..10"; + } + units "dBm"; + default "6"; + description + "Hysteresis for optimized roaming. Recommended range is 3 dBm to 6 dBm."; + } + leaf rrm-meas-req-state { + type boolean; + default "false"; + description + "Support of 802.11 CCX Client Location Measurements"; + } + leaf rrm-meas-req-interval { + type uint32 { + range "10 .. 32400"; + } + units "seconds"; + default "60"; + description + "802.11 CCX Client Location Measurements interval"; + } + leaf dca-long-interval { + type uint8; + units "hours"; + must '(/wireless-apf-cfg:apf-cfg-data/wireless-apf-cfg:apf/wireless-apf-cfg:fra-interval >= current())' { + error-message "DCA interval must be less than FRA interval"; + error-app-tag "must-violation"; + } + default "0"; + description + "DCA interval value in hours. Possible values are 1,2,3,4,6,8,12 and 24 hours, 0 = 10 minutes (default)."; + } + leaf dca-anchor-hour { + type uint8 { + range "0 .. 23"; + } + default "0"; + description + "Anchor time for DCA, hour of the day. Valid value should be in the range 0-23"; + } + leaf dca-threshold { + type wireless-enum-types:dca-threshold; + default "dca-threshold-medium"; + description + "Dynamic Channel Assignment sensitivity level to change in the environment + dca-threshold-low = Low DCA sensitivity level. + dca-threshold-medium = Medium DCA sensitivity level. + dca-threshold-high = High DCA sensitivity level"; + } + leaf coverage-global-enable { + type boolean; + default "true"; + description + "State of CHD (Coverage Hole Detection) on the controller. + True - detection is enabled + False - detection is disabled"; + } + leaf coverage-data-failed-packet-count { + type uint8 { + range "1 .. 255"; + } + default "50"; + description + "Minimum threshold on the Data packet count required to trigger the CHD algorithm on the controller."; + } + leaf coverage-data-failed-packet-percentage { + type uint8 { + range "1 .. 100"; + } + default "50"; + description + "Threshold on the percent of Data packets dropped, that is required to trigger the CHD algorithm on the controller."; + } + leaf coverage-data-packet-rssi-threshold { + type int8 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + status obsolete; + description + "RSSI threshold value for Data packets, + that is required to trigger the CHD algorithm on the controller. + Use coverage-data-packet-rssi-threshold, present in container rf-profile-default-entries, + part of Cisco-IOS-XE-wireless-rf-cfg model"; + } + leaf coverage-voice-failed-packet-count { + type uint8 { + range "1 .. 255"; + } + default "100"; + description + "Minimum threshold on the Voice packet count required to trigger the CHD algorithm on the controller."; + } + leaf coverage-voice-failed-packet-percentage { + type uint8 { + range "1 .. 100"; + } + default "50"; + description + "Threshold on the percent of Voice packets dropped, that is required to trigger the CHD algorithm on the controller."; + } + leaf coverage-voice-packet-rssi-threshold { + type int8 { + range "-90 .. -60"; + } + units "dBm"; + default "-80"; + status obsolete; + description + "RSSI threshold value for Voice packets, + that is required to trigger the CHD algorithm on the controller. + Use coverage-voice-packet-rssi-threshold, present in container rf-profile-default-entries, + part of Cisco-IOS-XE-wireless-rf-cfg model"; + } + leaf dca-chan-width { + type wireless-enum-types:dca-chan-width; + default "dca-chan-width-best"; + status deprecated; + description + "DCA channel width selection. + Possible values: + dca-chan-width-20mhz = Channel width will be set to 20Mhz + dca-chan-width-40mhz = Channel width will be set to 40Mhz + dca-chan-width-80mhz = Channel width will be set to 80Mhz + dca-chan-width-best = Best channel width will be selected by DCA algorithm + dca-chan-width-160mhz = Channel width will be set to 160Mhz + Use rf-dca-chan-width, present in container rf-profile-default-entries, + part of Cisco-IOS-XE-wireless-rf-cfg model"; + } + leaf reporting-interval { + type uint32 { + range "60 .. 3600"; + } + units "seconds"; + default "180"; + description + "Interval(in seconds) between each measurements report."; + } + leaf notification-tx-power-enable { + type boolean; + default "false"; + description + "Transmission power change notification mode. + True - notification is enabled + False - notification is disabled"; + } + leaf notification-min-tx-power-threshold { + type uint32 { + range "3 .. 30"; + } + units "dBm"; + default "6"; + description + "Minimum threshold that the TPC will assign to each radio"; + } + leaf notification-max-tx-power-threshold { + type uint32 { + range "3 .. 30"; + } + units "dBm"; + default "6"; + description + "Maximum threshold that the TPC will assign to each radio"; + } + leaf notification-channel-enable { + type boolean; + default "false"; + description + "Channel change notification mode. + True - notification will be sent + False - notification will not be sent"; + } + leaf notification-channel-threshold { + type uint32 { + range "1 .. 1000"; + } + default "1"; + description + "Number of channel changes after which the channel change notification is sent out."; + } + leaf dpc-min-tx-power-limit { + type int32 { + range "-10 .. 30"; + } + units "dBm"; + default "-10"; + description + "Lower limit of transmit power in dBm. The value should be less than equal to value of tx-power-max."; + } + leaf dpc-max-tx-power-limit { + type int32 { + range "-10 .. 30"; + } + units "dBm"; + default "30"; + description + "Upper limit of transmit power in dBm. The value should be greater than equal to value of tx-power-min."; + } + leaf dca-min-metric-rssi { + type int32 { + range "-100 .. -60"; + } + units "dBm"; + must "(../../band != 'dot11-6-ghz-band')" { + error-message "Not configurable on 6 Ghz radio band "; + error-app-tag "must-violation"; + } + default "-95"; + description + "Minimum RSSI energy metric required for DCA to change the channel"; + } + leaf chan-width-cap { + type wireless-types:dca-ewlc-chan-width-cap; + default "dca-ewlc-chan-width-cap-40-mhz"; + description + "Max Best Channel Width Allowed for Dynamic Bandwidth Selection. Possible values are 20,40,80 and 160 MHZ"; + } + leaf measurement-interval { + type uint32 { + range "60 .. 3600"; + } + units "seconds"; + default "180"; + description + "Interval (in seconds) specifying how often we get new signal strength, noise and interference measurements at each Access Point."; + } + leaf neighbor-timeout-factor { + type uint8 { + range "5 .. 60"; + } + units "seconds"; + default "20"; + description + "Factor specifying how long a neighbor expires if not receiving its neighbor packets."; + } + leaf bss-color-mode { + type wireless-enum-types:rrm-control-mode; + must "((../bss-color-mode = 'rrm-automatic' and ../dca-mode = 'rrm-automatic') or + ../bss-color-mode = 'rrm-static')" { + error-message + "BSS color mode must be one of the following: + 1. rrm-automatic, for which dynamic channel assignment (DCA) mode must also be rrm-automatic + 2. rrm-static"; + error-app-tag "must-violation"; + } + default "rrm-automatic"; + description + "BSS Color Optimization (BCO) has two modes. When the mode is auto, the BSS color will be periodically updated for all Access Points that permit this operation. When the BCO is static, no dynamic BSS color selections occur and BSS color must be manually configured."; + } + leaf dca-aggr-startup { + type boolean; + default "true"; + description + "Aggressive DCA algorithm is run on WLC startup when enabled"; + } + } + + grouping rrm-defaultlradcfg-config { + description + "Default configuration related to radios"; + leaf bytes-per-sec { + type uint32 { + range "1000 .. 10000000"; + } + units "bytes per sec"; + default "1000000"; + description + "802.11A throughput threshold between 1000 and 1000000"; + } + leaf exception-level { + type uint16 { + range "0 .. 100"; + } + default "25"; + status obsolete; + description + "Minimum percentage of clients in the coverage hole region of the AP, + required to trigger a coverage hole exception. + Use exception-level, present in container rf-profile-default-entries, + part of Cisco-IOS-XE-wireless-rf-cfg model"; + } + leaf min-num-clients { + type int32 { + range "1 .. 200"; + } + default "3"; + status obsolete; + description + "Minimum number of clients required to trigger coverage hole. + Use min-num-clients, present in container rf-profile-default-entries, + part of Cisco-IOS-XE-wireless-rf-cfg model"; + } + leaf automatic-cfg { + type uint8; + default "1"; + description + "Performance profile Mode. + True - Performance profile is enabled + False - Performance profile is disabled"; + } + } + + grouping rrm-cfg { + description + "All the configurations related to radio resource management"; + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Key to the st_rrm table, indicates the band of the configurations."; + } + container rrm { + description + "All the basic rrm algorithms configurations."; + uses wireless-rrm-cfg:rrm-rrm-config; + } + container default-radio-cfg { + description + "All the radio related configuration"; + uses wireless-rrm-cfg:rrm-defaultlradcfg-config; + } + container rrm-static-member-add-delete-entries { + description + "Static member configuration"; + list rrm-static-member-add-delete-entry { + key "ip"; + description + "A list of static member configurations"; + uses wireless-rrm-cfg:rrm-staticmember-add-delete; + } + } + } + + grouping rrm-staticmember-add-delete { + description + "Details about the static member configured"; + leaf ip { + type inet:ip-address; + description + "IP address of the static member configured"; + } + leaf name { + type string; + description + "Name of the static member configured"; + } + } + + grouping rrm-mgr-rrm-config { + description + "All the rrm grouping algorithm related configuration"; + leaf grouping-mode { + type wireless-enum-types:rrm-control-mode; + must "(../grouping-mode = 'rrm-automatic' or + ../grouping-mode = 'rrm-static' or + ../grouping-mode = 'rrm-leader')" { + error-message + "RF grouping mode must be one of the following: + 1. rrm-automatic + 2. rrm-static + 3. rrm-leader"; + error-app-tag "must-violation"; + } + default "rrm-automatic"; + description + "RF grouping has three modes. When RF grouping is set to AUTO the controller can be either in Auto leader or Auto member and when the mode is set to static the controller can be either in static member or static leader. + Possible values: + rrm-automatic = RF leader selected automatically + rrm-static = RF leader selection is stopped + rrm-leader = RF leader selection is static, and set this controller as group leader"; + } + leaf grouping-update-interval-sec { + type uint32; + units "seconds"; + default "600"; + description + "The period used by the grouping algorithm. The grouping algorithm runs when the group contents changes and automatic grouping is enabled. The system administrator can start grouping on demand."; + } + } + + grouping rrm-mgr { + description + "RRM Manager configuration"; + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Key to the st_rrm_mgr table ,indicates the band of the configurations. + Possible values: + ewlc-dot11-2-dot-4-ghz-band = 802.11bg + ewlc-dot11-5-ghz-band = 802.11a"; + } + container rrm { + description + "RRM Grouping Attributes"; + uses wireless-rrm-cfg:rrm-mgr-rrm-config; + } + } + + container rrm-cfg-data { + description + "This yang file contains all the fields related rrm feature"; + container rrms { + description + "RRM configuration"; + list rrm { + key "band"; + description + "All the rrm grouping algorithm related configurations"; + uses wireless-rrm-cfg:rrm-cfg; + } + } + container rrm-mgr-cfg-entries { + description + "Configuration related to RRM Algorithms"; + list rrm-mgr-cfg-entry { + key "band"; + description + "A list of entries related to RRM Algorithms"; + uses wireless-rrm-cfg:rrm-mgr; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-emul-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-emul-oper.yang new file mode 100644 index 000000000..b1f24297c --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-emul-oper.yang @@ -0,0 +1,116 @@ +module Cisco-IOS-XE-wireless-rrm-emul-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-emul-oper"; + prefix wireless-rrm-emul-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains RFID operational data. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "The rrm-fra-stats container is deprecated"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-rrm-fra-statistics { + description + "RRM flexible radio statistics"; + leaf dual-band-monitor-to-24ghz { + type uint32; + description + "Dual-band radio transition from monitor to 2.4GHz"; + } + leaf dual-band-monitor-to-5ghz { + type uint32; + description + "Dual-band radio transition from monitor to 5GHz"; + } + leaf dual-band-24ghz-to-5ghz { + type uint32; + description + "Dual-band radio transition from 2.4GHz to 5GHz"; + } + leaf dual-band-24ghz-to-monitor { + type uint32; + description + "Dual-band radio transition from 2.4GHz to monitor"; + } + leaf dual-band-5ghz-to-24ghz { + type uint32; + description + "Dual-band radio transition from 5GHz to 2.4GHz"; + } + leaf dual-band-5ghz-to-monitor { + type uint32; + description + "Dual-band radio transition from 5GHz to monitor"; + } + leaf sec-radio-monitor-to-5ghz { + type uint32; + description + "Secondary radio transition from monitor to 5GHz"; + } + leaf sec-radio-5ghz-to-monitor { + type uint32; + description + "Secondary radio transition from 5GHz to monitor"; + } + leaf dual-band-6ghz-to-5ghz { + type uint32; + description + "Dual-band radio transition from 6GHz to 5GHz"; + } + leaf dual-band-5ghz-to-6ghz { + type uint32; + description + "Dual-band radio transition from 5GHz to 6GHz"; + } + } + + container rrm-emul-oper-data { + config false; + status deprecated; + description + "RRM operational data"; + container rrm-fra-stats { + presence "rrm-fra-stats"; + description + "RRM flexible radio statistics"; + uses wireless-rrm-emul-oper:st-rrm-fra-statistics; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-global-oper.yang new file mode 100644 index 000000000..966607b15 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-global-oper.yang @@ -0,0 +1,502 @@ +module Cisco-IOS-XE-wireless-rrm-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-global-oper"; + prefix wireless-rrm-global-oper; + + import Cisco-IOS-XE-wireless-rrm-types { + prefix wireless-rrm-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains rrm operational data. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "- Added coverage information + - Added SNR information + - Added RSSI information"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2023-03-01 { + description + "Added FRA statistics informations"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added channel energy levels + - Added RRM client data + - Added spectrum AQ worst data + - Added scan radio type enums"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-scan-radio-type { + type enumeration { + enum radio-type-legacy { + value 0; + description + "Scan radio type legacy."; + } + enum radio-type-rhl { + value 1; + description + "Scan radio type AUX RHL"; + } + enum radio-type-pine { + value 2; + description + "Scan radio type AUX pine."; + } + } + description + "Scan radio type"; + } + + grouping st-rrm-client-data { + description + "RRM client operational data"; + leaf phy-type { + type wireless-rrm-types:enm-rrm-phy-type; + description + "Radio type"; + } + leaf last-chd-run { + type yang:date-and-time; + description + "Timestamp at which CHD algorithm was last run"; + } + leaf disassociations { + type uint32; + description + "Number of dissociations by client"; + } + leaf rejections { + type uint32; + description + "Number of rejections by client"; + } + } + + grouping st-rrm-one-shot-counters-data { + description + "Transmit power and channel update count"; + leaf phy-type { + type wireless-rrm-types:enm-rrm-phy-type; + description + "Radio type"; + } + leaf power-counter { + type uint32; + description + "Transmit power update count"; + } + } + + grouping st-rrm-channel-params-data { + description + "RRM channel parameter data"; + leaf phy-type { + type wireless-rrm-types:enm-rrm-phy-type; + description + "Radio type"; + } + leaf min-dwell { + type uint32; + units "seconds"; + description + "Minimum channel dwell time"; + } + leaf avg-dwell { + type uint32; + units "seconds"; + description + "Average channel dwell time"; + } + leaf max-dwell { + type uint32; + units "seconds"; + description + "Maximum channel dwell time"; + } + leaf min-rssi { + type int8; + units "dBm"; + description + "Minimum channel energy level"; + } + leaf max-rssi { + type int8; + units "dBm"; + description + "Maximum channel energy level"; + } + leaf avg-rssi { + type int8; + units "dBm"; + description + "Average channel energy level"; + } + leaf channel-counter { + type uint32; + description + "Channel Update Count"; + } + } + + grouping snr-info-data { + description + "Information related to client signal to noise ratios"; + leaf snr { + type int8; + description + "Client signal to noise ratio"; + } + leaf num-clients { + type int32; + description + "Number of clients per SNR"; + } + } + + grouping rssi-info-data { + description + "Information related to client signal strengths"; + leaf rssi { + type int8; + description + "Received signal strength from the client"; + } + leaf num-clients { + type int32; + description + "Number of clients per RSSI"; + } + } + + grouping st-coverage-info-data { + description + "Coverage information"; + leaf failed-client-count { + type uint32; + description + "Number of failed clients"; + } + list snr-info { + max-elements 10; + description + "Client signal to noise ratio"; + uses wireless-rrm-global-oper:snr-info-data; + } + list rssi-info { + max-elements 7; + description + "Received signal strength from the client"; + uses wireless-rrm-global-oper:rssi-info-data; + } + } + + grouping st-spectrum-aq-worst { + description + "Air quality index operational data"; + leaf band-id { + type uint8; + description + "Band ID"; + } + leaf detecting-ap-name { + type string; + description + "AP name"; + } + leaf channel-num { + type uint8; + description + "Channel number"; + } + leaf min-aqi { + type uint8; + description + "Min air quality index"; + } + leaf aqi { + type uint8; + description + "Air quality index"; + } + leaf total-intf-device-count { + type uint8; + description + "Interference device count"; + } + leaf wtp-ca-si-capable { + type wireless-rrm-types:enm-ca-si-capable; + description + "AP SI capable or not"; + } + leaf scan-radio-type { + type wireless-rrm-global-oper:enm-scan-radio-type; + description + "Scan radio type"; + } + } + + grouping st-rrm-fra-statistics { + description + "RRM flexible radio statistics"; + leaf dual-band-monitor-to-24ghz { + type uint32; + description + "Dual-band radio transition from monitor to 2.4GHz"; + } + leaf dual-band-monitor-to-5ghz { + type uint32; + description + "Dual-band radio transition from monitor to 5GHz"; + } + leaf dual-band-24ghz-to-5ghz { + type uint32; + description + "Dual-band radio transition from 2.4GHz to 5GHz"; + } + leaf dual-band-24ghz-to-monitor { + type uint32; + description + "Dual-band radio transition from 2.4GHz to monitor"; + } + leaf dual-band-5ghz-to-24ghz { + type uint32; + description + "Dual-band radio transition from 5GHz to 2.4GHz"; + } + leaf dual-band-5ghz-to-monitor { + type uint32; + description + "Dual-band radio transition from 5GHz to monitor"; + } + leaf sec-radio-monitor-to-5ghz { + type uint32; + description + "Secondary radio transition from monitor to 5GHz"; + } + leaf sec-radio-5ghz-to-monitor { + type uint32; + description + "Secondary radio transition from 5GHz to monitor"; + } + leaf dual-band-6ghz-to-5ghz { + type uint32; + description + "Dual-band radio transition from 6GHz to 5GHz"; + } + leaf dual-band-5ghz-to-6ghz { + type uint32; + description + "Dual-band radio transition from 5GHz to 6GHz"; + } + } + + grouping ewlc-emulated-radio-config { + description + "Radio oper data"; + leaf ap-mac { + type yang:mac-address; + description + "MAC address"; + } + leaf slot-id { + type uint8; + description + "Timestamp at which CHD algorithm was last run"; + } + leaf name { + type string; + description + "WTP name"; + } + leaf spectrum-capable { + type empty; + description + "AP is cleanair capable or not"; + } + leaf num-slots { + type uint8; + description + "Number of slots"; + } + leaf mesh-radio-role { + type wireless-types:ap-role; + description + "Radio Role"; + } + leaf ap-up-time { + type yang:date-and-time; + description + "AP up time"; + } + leaf capwap-up-time { + type yang:date-and-time; + description + "CAPWAP uptime"; + } + leaf is-sia-rptnc-present { + type empty; + description + "Antenna present or not"; + } + leaf is-sia-dart-present { + type empty; + description + "Antenna type present or not"; + } + leaf sia-marlin4-present { + type empty; + description + "Antenna type present or not"; + } + } + + grouping st-spectrum-band-data { + description + "AP spectrum config for band"; + leaf band-id { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Band of AP for configuration"; + } + leaf spectrum-admin-state { + type boolean; + description + "Spectrum admin state"; + } + } + + grouping st-spectrum-ap-band-config { + description + "AP spectrum band config"; + leaf ap-mac { + type yang:mac-address; + description + "MAC address of the AP"; + } + list spectrum-band-config { + description + "Spectrum band config"; + uses wireless-rrm-global-oper:st-spectrum-band-data; + } + } + + container rrm-global-oper-data { + config false; + description + "RRM operational data"; + list rrm-one-shot-counters { + key "phy-type"; + description + "Transmit power and channel update count"; + uses wireless-rrm-global-oper:st-rrm-one-shot-counters-data; + } + list rrm-channel-params { + key "phy-type"; + description + "RRM channel parameter data"; + uses wireless-rrm-global-oper:st-rrm-channel-params-data; + } + list spectrum-aq-worst-table { + key "band-id"; + description + "Air quality index data"; + uses wireless-rrm-global-oper:st-spectrum-aq-worst; + } + list radio-oper-data-24g { + key "wtp-mac radio-slot-id"; + description + "2.4 ghz radio oper data"; + uses wireless-rrm-global-oper:ewlc-emulated-radio-config; + uses wireless-types:radio-slot-key; + } + list radio-oper-data-5g { + key "wtp-mac radio-slot-id"; + description + "5 ghz radio oper data"; + uses wireless-rrm-global-oper:ewlc-emulated-radio-config; + uses wireless-types:radio-slot-key; + } + list radio-oper-data-6ghz { + key "wtp-mac radio-slot-id"; + description + "6 ghz radio oper data"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-global-oper:ewlc-emulated-radio-config; + } + list spectrum-band-config-data { + key "ap-mac"; + description + "AP spectrum config"; + uses wireless-rrm-global-oper:st-spectrum-ap-band-config; + } + list radio-oper-data-dualband { + key "wtp-mac radio-slot-id"; + description + "Dual band radio oper data"; + uses wireless-rrm-global-oper:ewlc-emulated-radio-config; + uses wireless-types:radio-slot-key; + } + list rrm-client-data { + key "phy-type"; + description + "RRM client data"; + uses wireless-rrm-global-oper:st-rrm-client-data; + } + container rrm-fra-stats { + presence "rrm-fra-stats"; + description + "RRM flexible radio statistics"; + uses wireless-rrm-global-oper:st-rrm-fra-statistics; + } + list rrm-coverage { + key "wtp-mac radio-slot-id"; + description + "Coverage information"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-global-oper:st-coverage-info-data; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-oper.yang new file mode 100644 index 000000000..32de2da7d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-oper.yang @@ -0,0 +1,1256 @@ +module Cisco-IOS-XE-wireless-rrm-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-oper"; + prefix wireless-rrm-oper; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-rrm-types { + prefix wireless-rrm-types; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless rrm operational data. + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Added new leaf last-channel-changed-time"; + reference + "5.11.0"; + cisco-semver:module-version "5.11.0"; + } + revision 2023-07-01 { + description + "- Added non wifi interference to RRM load data + - Added foreign AP interference utilization"; + reference + "5.10.0"; + cisco-semver:module-version "5.10.0"; + } + revision 2023-03-01 { + description + "- Added regulatory domain countries information + - Added when constraint to best channel + - Removed constraint on best channel attribute of DCA statistics"; + reference + "5.9.0"; + cisco-semver:module-version "5.9.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added yang support for air quality report operational data + - Added rogue histogram data + - Added noise and interference information"; + reference + "5.8.0"; + cisco-semver:module-version "5.8.0"; + } + revision 2022-07-01 { + description + "- Added channel change count,current and previous channel energy in DCA statistics. + - Added cluster identifier for interferer device under spectrum device data + - Added rrm oper data + - Added DCA and DPC oper data."; + reference + "5.7.0"; + cisco-semver:module-version "5.7.0"; + } + revision 2022-03-01 { + description + "- Added last run time of RF grouping and secondary IP address of RF group leader under RRM manager oper data"; + reference + "5.6.0"; + cisco-semver:module-version "5.6.0"; + } + revision 2021-11-01 { + description + "- Added recommended best channel in DCA stats + - Added recommended Tx power level + - Added recommended RTS threshold level + - Added recommended fragmentation threshold level + - Added number of clients under radio load measurement"; + reference + "5.5.0"; + cisco-semver:module-version "5.5.0"; + } + revision 2021-07-01 { + description + "- Added RF grouping DTLS state enum + - Added RF group member DTLS connection status"; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2020-11-01 { + description + "- Added yang support for rrm-group-remote-member"; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2019-11-01 { + description + "- Added yang support for persistent device avoidance operational data. + - Added when constraint to utilization and power in spectrum device data"; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2019-04-16 { + description + "- Added leaf nodes from rrm-load-attr. + - Added semantic version"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-02-19 { + description + "- Added leaf node neighbor-radio-mac to st-rad-neighbor-attr. + - Added leaf node neighbor-radio-slot-id to st-rad-neighbor-attr. + - Renamed the leaf node ap-name to neighbor-ap-name + - Renamed the leaf node ip to group-leader-ip + - Renamed the node neighbor-attr to neighbor-radio-info + - Renamed the node mon-neighbor-attr to mon-neighbor-radio-info + - Modified description for leaf nodes of neighbor-attr-info + - Changed the type of chan-width to rf-dca-chan-width + - Removal of less important leaf nodes from RRM operational data + - Changed the type of chan-width to radio-neighbor-chan-width"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2019-01-02 { + description + "- Removing the leaf node from init-neighbor-msg-flag + - Changing enum type for phy-type in st-rrm-mgr-main + - Cleaned up spelling errors in descriptions + - Removing unused enum values from RRM group state and Antenna pattern enums + - Add leaf node ap-name to st-rad-neighbor-attr. + - Removed Radio Role Flexibility (RRF) related leaf nodes + - Removed the leaf node init-neighbor-msg-flag."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-05-01 { + description + "- Add sensor-covered to st-rad-neighbor-attr + - Add st-rrm-load-attr + - Add st-rrm-measurement-data + - Add leafs rrf-is-contributing, rrf-sensor-metric, sensor-coverage-factor to st-rrm-radio-data + - Add leaf member-secondary-ip to st-rrm-mgr-grp-member + - Add leaf member-secondary-ip to st-mapping-rrm-grp-member + - Add leafs my-group-secondary-ip, cntrlr-secondary-ip-addr, fra-sensor-coverage to st-rrm-group-ctrl + - Add leaf mgmt-secondary-ip to st-rrm-mgr-main + - Add list radio-measurement to rrm-oper-data"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2018-03-22 { + description + "List key changes"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-cleanair-oper-state { + type enumeration { + enum rrm-spectrum-down { + value 0; + description + "Clean air is not operational"; + } + enum rrm-spectrum-up { + value 1; + description + "Clean air is operational"; + } + } + description + "Clean-air(Spectrum) operational state"; + } + + typedef enm-scan-radio-type { + type enumeration { + enum cleanair-legacy { + value 0; + description + "Cleanair legacy version, uses legacy scanning radio"; + } + enum cleanair { + value 1; + description + "Cleanair version with auxiliary scanning radio"; + } + enum cleanair-pro { + value 2; + description + "Cleanair Pro version with auxiliary scanning radio"; + } + } + description + "Represents Cleanair version based on underlying Scan Radio Type"; + } + + typedef enm-is-static-member { + type enumeration { + enum rrm-auto-member-config { + value 0; + description + "RF group member is selected through auto selection mechanism"; + } + enum rrm-static-member-config { + value 1; + description + "RF group member is selected through Static configuration"; + } + } + description + "RF group member type - auto or static"; + } + + typedef enm-rrm-grouping-role-db { + type enumeration { + enum rrm-group-off { + value 0; + description + "RF Grouping is Disabled"; + } + enum rrm-group-static-leader { + value 1; + description + "Leader of static RF Group"; + } + enum rrm-group-static-member { + value 2; + description + "Member in static RF Group."; + } + enum rrm-group-auto-leader { + value 3; + description + "Leader of automatic RF Group"; + } + enum rrm-group-auto-member { + value 4; + description + "Member in automatic RF Group"; + } + enum rrm-group-remote-member { + value 5; + description + "Member in Open RRM group"; + } + } + description + "RF grouping role. The controller can be either group + member or group leader while being in automatic or + static grouping for a particular band. + If grouping is off , the value of the group role + would be 'none'."; + } + + typedef enm-rrm-group-state { + type enumeration { + enum rrm-undefined { + value 0; + description + "RRM manager is in undefined state"; + } + enum rrm-reset { + value 1; + description + "RRM manager is in Reset state"; + } + enum rrm-ha-standby { + value 2; + description + "RRM manager is in High Availability standby state"; + } + enum rrm-leader-idle { + value 3; + description + "RRM manager is in Idle state"; + } + enum rrm-leader-prep { + value 4; + description + "RRM manager is in preparation state"; + } + enum rrm-leader-comp { + value 5; + description + "RRM manager is in computation state"; + } + enum rrm-join-wait { + value 6; + description + "RRM manager is waiting for the leader to join the group"; + } + enum rrm-groupie { + value 7; + description + "RRM manager is in group member state"; + } + enum rrm-leader-assign { + value 8; + description + "RRM manager is in Leader selection state"; + } + enum rrm-remote-member { + value 9; + description + "RRM manager is in Remote Member state"; + } + enum rrm-dtls-connect { + value 10; + description + "RRM manager is in DTLS connecting state"; + } + enum rrm-dtls-connect-auto { + value 11; + description + "RRM manager is in DTLS connecting state for automatic RF group"; + } + } + description + "RF grouping state"; + } + + grouping st-rad-neighbor-attr { + description + "RRM neighbor radio attributes"; + leaf neighbor-radio-mac { + type yang:mac-address; + description + "Neighbor radio MAC address"; + } + leaf neighbor-radio-slot-id { + type uint8; + description + "Neighbor AP radio slot identifier"; + } + leaf rssi { + type int8; + units "dBm"; + description + "Received Signal Strength of Neighbor radio"; + } + leaf snr { + type int8; + units "dB"; + description + "Signal to Noise Ratio of Neighbor radio"; + } + leaf channel { + type uint8; + description + "Operating channel of Neighbor radio"; + } + leaf power { + type uint8; + units "dBm"; + description + "Tx-power of Neighbor radio"; + } + leaf group-leader-ip { + type inet:ip-address; + description + "IP Address of the Radio Resource Management (RRM) group leader"; + } + leaf chan-width { + type wireless-enum-types:radio-neighbor-chan-width; + description + "Channel width of neighbor radio"; + } + leaf sensor-covered { + type boolean; + description + "Neighbor covered by sensor"; + } + } + + grouping st-rad-neighbor-list-data { + description + "Information about the list of radio neighbors"; + container neighbor-radio-info { + description + "Neighbor radio information"; + uses wireless-rrm-oper:st-rad-neighbor-attr; + } + } + + grouping st-rad-neighbor-list { + description + "List of neighbor radios and their properties"; + list neighbor-radio-list { + description + "Information about the list of neighbor radios"; + uses wireless-rrm-oper:st-rad-neighbor-list-data; + } + } + + grouping st-rad-neighbor-data { + description + "Neighbor radio information for both Monitor and Client Serving radio information"; + container neighbor-radio-info { + description + "List of Client Serving neighbor radio"; + uses wireless-rrm-oper:st-rad-neighbor-list; + } + } + + grouping st-rrm-radio-radar-info { + description + "Radar information for a given radio and channel"; + leaf channel-number { + type uint32; + description + "Channel number on which radar was detected"; + } + leaf radar-detected-timestamp { + type yang:date-and-time; + description + "Time when radar was last detected on this radio channel"; + } + } + + grouping st-rrm-radio-radar-info-list { + description + "Information related to Radar"; + list radar-info { + max-elements 64; + description + "Radar information for a given radio"; + uses wireless-rrm-oper:st-rrm-radio-radar-info; + } + } + + grouping st-rrm-radio-radar-attr { + description + "Radar information for a given radio channel"; + container radar-info { + description + "Radar information"; + uses wireless-rrm-oper:st-rrm-radio-radar-info-list; + } + leaf last-radar-on-radio { + type yang:date-and-time; + description + "Timestamp of last radar detected on radio (DFS hit)"; + } + } + + grouping st-rrm-foreign-data { + description + "Information related to foreign interference"; + leaf chan { + type uint8; + description + "Channel number"; + } + leaf power { + type int8; + units "dBm"; + description + "Foreign AP interference"; + } + leaf rogue-20-count { + type uint8; + description + "Rogue count in 20MHz bandwidth"; + } + leaf rogue-40-primary-count { + type uint8; + description + "Rogue count in 40MHz bandwidth"; + } + leaf rogue-80-primary-count { + type uint8; + description + "Rogue count in 80MHz bandwidth"; + } + leaf chan-util { + type uint16; + units "percentage"; + description + "Foreign AP interference utilization"; + } + } + + grouping st-rrm-foreign { + description + "Information related to rogues"; + list foreign-data { + max-elements 64; + description + "Gives information on number of rogues present in 20,40,80 MHz width"; + uses wireless-rrm-oper:st-rrm-foreign-data; + } + } + + grouping st-rrm-foreign-attr { + description + "Information related to foreign interference"; + container foreign { + description + "Foreign interference measurements"; + uses wireless-rrm-oper:st-rrm-foreign; + } + } + + grouping st-rrm-load-attr { + description + "Load information related to a radio"; + leaf rx-util-percentage { + type uint16; + units "percentage"; + description + "Percentage RX utilization"; + } + leaf tx-util-percentage { + type uint16; + units "percentage"; + description + "Percentage TX utilization"; + } + leaf cca-util-percentage { + type uint16; + units "percentage"; + description + "Percentage value of Clear Channel Assessment"; + } + leaf stations { + type uint32; + description + "Number of clients"; + } + leaf rx-noise-channel-utilization { + type uint16; + units "percentage"; + description + "Received channel-utilization percentage due to Noise"; + } + leaf non-wifi-inter { + type uint16; + units "percentage"; + description + "Non-wifi interference"; + } + } + + grouping st-rrm-noise-data { + description + "Information related to Noise"; + leaf chan { + type uint8; + description + "Operating channel"; + } + leaf noise { + type int8; + units "dBm"; + description + "Interference due to Non-wifi devices"; + } + } + + grouping st-rrm-noise { + description + "Noise"; + list noise-data { + max-elements 64; + description + "Noise information"; + uses wireless-rrm-oper:st-rrm-noise-data; + } + } + + grouping st-rrm-noise-attr { + description + "Information related to Noise"; + container noise { + description + "Noise measurements"; + uses wireless-rrm-oper:st-rrm-noise; + } + } + + grouping st-rrm-measurement-data { + description + "RRM Measurement information for the radio"; + container foreign { + description + "Foreign interference measurements related to a radio"; + uses wireless-rrm-oper:st-rrm-foreign-attr; + } + container noise { + description + "Noise measurements related to a radio"; + uses wireless-rrm-oper:st-rrm-noise-attr; + } + container load { + description + "Load information related to a radio"; + uses wireless-rrm-oper:st-rrm-load-attr; + } + } + + grouping st-rrm-radio-dca-stats { + description + "DCA statistics"; + leaf best-chan { + type uint8; + description + "Recommended best channel.This is not valid when radio mode is monitor or sniffer"; + } + leaf current-chan-energy { + type int8; + units "dBm"; + description + "Current channel average energy"; + } + leaf last-chan-energy { + type int8; + units "dBm"; + description + "Previous channel average energy"; + } + leaf chan-changes { + type uint32; + description + "Channel change count"; + } + leaf last-channel-changed-time { + type yang:date-and-time; + description + "Last channel change time"; + } + } + + grouping st-rrm-radio-data { + description + "Radio parameters which would be modified when RRM is active"; + leaf best-tx-pwr-level { + type uint16; + description + "Recommended Tx power level"; + } + leaf best-rts-thresh { + type uint16; + description + "Recommended RTS threshold level"; + } + leaf best-frag-thresh { + type uint16; + description + "Recommended fragmentation threshold level"; + } + leaf load-prof-passed { + type boolean; + description + "Boolean value to represent if load profile passed"; + } + leaf coverage-profile-passed { + type boolean; + description + "Boolean value to represent if coverage profile passed"; + } + leaf interference-profile-passed { + type boolean; + description + "Boolean value to represent if interference profile passed"; + } + leaf noise-profile-passed { + type boolean; + description + "Boolean value to represent if noise profile passed"; + } + container dca-stats { + description + "DCA statistics of the radio"; + uses wireless-rrm-oper:st-rrm-radio-dca-stats; + } + leaf coverage-overlap-factor { + type string; + units "percentage"; + description + "Coverage overlap factor"; + } + leaf sensor-coverage-factor { + type string; + units "percentage"; + description + "Sensor coverage factor"; + } + } + + grouping st-rrm-rad-slot-data { + description + "Radio slot data"; + container radio-data { + description + "Radio performance profile check information"; + uses wireless-rrm-oper:st-rrm-radio-data; + } + } + + grouping st-spectrum-config { + description + "Clean air configuration for AP radio"; + leaf spectrum-intelligence-enable { + type boolean; + description + "True if cleanair is enabled"; + } + leaf spectrum-wtp-ca-si-capable { + type wireless-rrm-types:enm-ca-si-capable; + description + "True if the Access point is CA/SI capable"; + } + leaf spectrum-operation-state { + type wireless-rrm-oper:enm-cleanair-oper-state; + description + "Cleanair operation state"; + } + leaf spectrum-admin-state { + type boolean; + description + "Cleanair admin state"; + } + leaf spectrum-capable { + type boolean; + description + "True if the Access point is cleanair capable"; + } + leaf rapid-update-enable { + type boolean; + description + "When enabled air quality reports are sent to controller every 30 seconds"; + } + leaf sensord-operational-status { + type int32; + description + "State of the cleanair sensors on the access point"; + } + leaf scan-radio-type { + type wireless-rrm-oper:enm-scan-radio-type; + description + "Cleanair scan radio type"; + } + } + + grouping st-rrm-spectrum { + description + "RRM spectrum information"; + container config { + description + "Spectrum configuration"; + uses wireless-rrm-oper:st-spectrum-config; + } + } + + grouping st-per-radio-spectrum-idr-data { + description + "Persistent device avoidance information"; + leaf detecting-ap-mac { + type yang:mac-address; + description + "MAC address of the AP which has detected the persistent device"; + } + leaf affected-channel-list { + type string; + description + "Channels in which persistent device operate"; + } + leaf util { + when "(../is-persistent = 'true')"; + type uint16; + units "percentage"; + description + "Interference duty cycle of device, represented in percentage"; + } + leaf power { + when "(../is-persistent = 'true')"; + type int8; + units "dBm"; + description + "RSSI of the persistent device"; + } + leaf is-persistent { + type boolean; + description + "True if interferer is persistent device."; + } + leaf class-type-enum { + type wireless-rrm-types:enm-cleanair-class-type; + description + "Class type of the persistent device"; + } + } + + grouping st-spectrum-device-record { + description + "Persistent device avoidance device information"; + leaf device-id { + type yang:mac-address; + description + "Pseudo MAC address of the persistent device"; + } + leaf cluster-id { + type yang:mac-address; + description + "Cluster identifier for the interferer device"; + } + leaf last-updated-time { + type yang:date-and-time; + description + "Timestamp when the interferer device was last active"; + } + container idr-data { + description + "Interference device record per device"; + uses wireless-rrm-oper:st-per-radio-spectrum-idr-data; + } + } + + grouping st-per-channel-spectrum-aq-data { + description + "Air Quality info for channel"; + leaf channel-num { + type uint8; + description + "Channel number"; + } + leaf min-aqi { + type uint8; + description + "Minimum air quality index"; + } + leaf aqi { + type uint8; + description + "Air quality index"; + } + leaf total-intf-device-count { + type uint8; + description + "Interference device count"; + } + leaf spectrum-timestamp { + type yang:date-and-time; + description + "Timestamp for last update"; + } + } + + grouping st-per-radio-spectrum-aq { + description + "Air Quality report data"; + leaf channel-count { + type uint8; + description + "Channel count"; + } + list per-channel-aq-list { + max-elements 64; + description + "Air Quality data per channel"; + uses wireless-rrm-oper:st-per-channel-spectrum-aq-data; + } + } + + grouping st-spectrum-aq { + description + "Air Quality information"; + leaf reporting-ap-name { + type string; + description + "AP name"; + } + container per-radio-aq-data { + description + "Air Quality data"; + uses wireless-rrm-oper:st-per-radio-spectrum-aq; + } + leaf wtp-ca-si-capable { + type wireless-rrm-types:enm-ca-si-capable; + description + "AP is CA or SI type"; + } + leaf scan-radio-type { + type wireless-rrm-oper:enm-scan-radio-type; + description + "Scan radio type"; + } + } + + grouping st-rrm-mgr-grp-member { + description + "RF group member information"; + leaf member-ip { + type inet:ip-address; + description + "RF group member IP address"; + } + leaf member-secondary-ip { + type inet:ip-address; + description + "RF-Group member secondary IP address"; + } + leaf max-radio-cnt { + type uint16; + description + "Maximum number of radios a member can handle"; + } + leaf curr-radio-cnt { + type uint16; + description + "Number of radios currently associated to the member"; + } + leaf name { + type string; + description + "RF-Group member name"; + } + leaf dtls-conn-status { + type wireless-rrm-types:enm-rrm-dtls-status; + description + "RF group member DTLS connection status"; + } + } + + grouping st-rrm-dca-ctrl { + description + "Various values related to the RF grouping algorithm"; + leaf dca-last-run { + type yang:date-and-time; + description + "Time stamp at which DCA last ran"; + } + } + + grouping st-rrm-dpc-ctrl { + description + "Various values related to the RF grouping algorithm"; + leaf dpc-last-run { + type yang:date-and-time; + description + "Time stamp at which DPC last ran"; + } + leaf run-time { + type uint32; + units "seconds"; + description + "Time it took to run the algorithm"; + } + } + + grouping st-rrm-group-ctrl { + description + "Various values related to the RF grouping algorithm"; + leaf current-state { + type wireless-rrm-oper:enm-rrm-group-state; + description + "RF grouping state"; + } + leaf last-run { + type yang:date-and-time; + description + "Time stamp of last run RF grouping algorithm"; + } + container dca { + description + "DCA data"; + uses wireless-rrm-oper:st-rrm-dca-ctrl; + } + container txpower { + description + "DPC data"; + uses wireless-rrm-oper:st-rrm-dpc-ctrl; + } + leaf current-grouping-mode { + type wireless-rrm-types:enm-rrm-ctrl-mode; + description + "RF grouping mode"; + } + leaf join-protocol-ver { + type uint16; + description + "join protocol version"; + } + leaf current-grouping-role { + type wireless-rrm-oper:enm-rrm-grouping-role-db; + description + "RF grouping role"; + } + leaf cntrlr-name { + type string; + description + "RF group leader name"; + } + leaf cntrlr-ip-addr { + type inet:ipv4-address; + description + "RF group leader IP address"; + } + leaf cntrlr-secondary-ip-addr { + type inet:ipv6-address; + description + "RF group leader secondary IP address"; + } + leaf is-static-member { + type wireless-rrm-oper:enm-is-static-member; + description + "RF group member type. 0 for auto and 1 for static"; + } + container dpc-config { + description + "Data related to transmit power assignment like transmit power update interval,assignment mode,threshold"; + uses wireless-rrm-types:st-rrm-dpc-config; + } + leaf fra-sensor-coverage { + type uint8; + description + "FRA global sensor coverage"; + } + leaf protocol-ver { + type uint16; + description + "protocol version"; + } + leaf hdr-ver { + type uint8; + description + "Header version"; + } + } + + grouping st-rrm-static-grp-member { + description + "Statically configured RF group members"; + leaf cntrlr-name { + type string; + description + "RF group member name"; + } + leaf cntrlr-ip-addr { + type inet:ip-address; + description + "RF group member ip address"; + } + leaf has-joined { + type boolean; + description + "True if the member has joined this RF Group. + This field is significant only if the current group is a static RF Group. + In all other cases a value of 'true' would be shown"; + } + leaf nack-reason { + type wireless-types:enm-rrm-grp-member-nack-reason; + description + "Reason why a RF group member could not join the Group. + This is relevant only if the corresponding instance for 'has_joined' is 'false'"; + } + leaf max-radio-num { + type uint16; + description + "Maximum number of radios supported for a given RF group"; + } + leaf last-join-cmd-ts { + type yang:date-and-time; + description + "Date and Time when the static member joined the controller"; + } + leaf dtls-conn-status { + type wireless-rrm-types:enm-rrm-dtls-status; + description + "RF group member DTLS connection status"; + } + } + + grouping st-rrm-mgr-oper-data { + description + "RRM manager operational data"; + leaf dca-thresh-val { + type uint8; + units "dBm"; + description + "DCA sensitivity level"; + } + container default-dca-channels { + description + "Default DCA Channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + container default-non-dca-channels { + description + "Default non DCA Channels"; + uses wireless-rrm-types:st-rrm-channels-list; + } + leaf fra-oper-state { + type boolean; + description + "FRA operational state"; + } + } + + grouping st-rrm-mgr-main { + description + "RRM manager operational information"; + leaf phy-type { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "Radio band type (802.11bg/802.11a)"; + } + container grp { + description + "RF grouping configuration and operational data"; + uses wireless-rrm-oper:st-rrm-group-ctrl; + } + container oper-data { + description + "RRM manager operational data"; + uses wireless-rrm-oper:st-rrm-mgr-oper-data; + } + leaf rf-name { + type string; + description + "RF name"; + } + list rrm-mgr-static-grp-member { + key "cntrlr-ip-addr"; + description + "List of statically configured RF group members"; + uses wireless-rrm-oper:st-rrm-static-grp-member; + } + list rrm-mgr-grp-member { + key "member-ip"; + description + "List of auto RF group members"; + uses wireless-rrm-oper:st-rrm-mgr-grp-member; + } + } + + grouping st-reg-domain-oper { + description + "Regulatory domain information"; + leaf country-list { + type string; + description + "Name of countries"; + } + } + + container rrm-oper-data { + config false; + description + "Radio Resource Management Operational Data"; + list ap-auto-rf-dot11-data { + key "wtp-mac radio-slot-id"; + description + "Information related to radio RF parameters"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-oper:st-rad-neighbor-data; + } + list ap-dot11-radar-data { + key "wtp-mac radio-slot-id"; + description + "Information related to radio radar channels and events"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-oper:st-rrm-radio-radar-attr; + } + list ap-dot11-spectrum-data { + key "wtp-mac radio-slot-id"; + description + "Information related to radio spectrum parameters"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-oper:st-rrm-spectrum; + } + list rrm-measurement { + key "wtp-mac radio-slot-id"; + description + "Information related to radio measurements"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-oper:st-rrm-measurement-data; + } + list radio-slot { + key "wtp-mac radio-slot-id"; + description + "Radio slot information"; + uses wireless-types:radio-slot-key; + uses wireless-rrm-oper:st-rrm-rad-slot-data; + } + list main-data { + key "phy-type"; + description + "Information related to RRM Manager"; + uses wireless-rrm-oper:st-rrm-mgr-main; + } + list spectrum-device-table { + key "device-id"; + description + "Information related to persistent device"; + uses wireless-rrm-oper:st-spectrum-device-record; + } + list spectrum-aq-table { + key "wtp-mac band"; + description + "Information related to air quality for band"; + uses wireless-rrm-oper:st-spectrum-aq; + uses wireless-types:radio-band-key; + } + container reg-domain-oper { + presence "reg-domain-oper"; + description + "Regulatory domain information"; + uses wireless-rrm-oper:st-reg-domain-oper; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-rpc.yang new file mode 100644 index 000000000..da3ac07fc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-rpc.yang @@ -0,0 +1,199 @@ +module Cisco-IOS-XE-wireless-rrm-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-rpc"; + prefix rrm-rpc; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + Wireless Radio Resource Manager Remote Control Procedures. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "Added constraint to RRM DCA and grouping restart RPC to allow only valid radio types"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added RPC for RRM grouping and RRM DCA restart configuration + - Added optional enable 6ghz flag to Remote Leader set and Reset Open RRM RPC"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping rrm-80211-dca-restart { + description + "DCA restart"; + leaf band { + type wireless-enum-types:radio-type; + must "(current() = 'dot11-2-dot-4-ghz' or current() = 'dot11-5-ghz' or current() = 'dot11-6-ghz')" { + error-message "Allowed values of radio type are 2.4Ghz 5Ghz and 6Ghz"; + error-app-tag "must-violation"; + } + mandatory true; + description + "RRM DCA algorithm restart"; + } + } + + grouping rrm-80211-grouping-restart { + description + "Grouping restart"; + leaf band { + type wireless-enum-types:radio-type; + must "(current() = 'dot11-2-dot-4-ghz' or current() = 'dot11-5-ghz' or current() = 'dot11-6-ghz')" { + error-message "Allowed values of radio type are 2.4Ghz 5Ghz and 6Ghz"; + error-app-tag "must-violation"; + } + mandatory true; + description + "RRM grouping algorithm restart"; + } + } + + grouping rrm-rldr-reset { + description + "Remote Leader Reset"; + leaf reason { + type wireless-enum-types:enm-reset-reason; + mandatory true; + description + "Remote Leader disconnect reason"; + } + leaf enable-6ghz { + type boolean; + default "false"; + description + "Flag to set remote leader for 6ghz"; + } + } + + grouping rrm-rldr-heartbeat { + description + "Remote Leader heartbeat"; + leaf timer { + type uint32 { + range "1..86400"; + } + units "seconds"; + mandatory true; + description + "Remote Leader heartbeat timer"; + } + } + + grouping rrm-rldr-set { + description + "Remote Leader Set"; + leaf ip-addr { + type inet:ip-address; + mandatory true; + description + "Remote Leader IP Address"; + } + leaf leader-name { + type string { + length "1..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + mandatory true; + description + "Remote Leader Name"; + } + leaf rf-network-name { + type string { + length "1..20"; + pattern '[!-~]([ -~]*[!-~])?'; + } + mandatory true; + description + "RF Network Name"; + } + leaf enable-6ghz { + type boolean; + default "false"; + description + "Flag to set remote leader for 6ghz"; + } + } + + rpc rrm-80211-dca-restart { + description + "RRM DCA algorithm restart"; + input { + uses rrm-rpc:rrm-80211-dca-restart; + } + } + + rpc rrm-80211-grouping-restart { + description + "RRM grouping algorithm restart"; + input { + uses rrm-rpc:rrm-80211-grouping-restart; + } + } + + rpc rrm-rldr-reset { + description + "Remote Leader Reset Remote Control Procedure resets the rrm group state from remote-member-state to its pre remote-member-state immediately, as opposed to the heartbeat timer which resets after the timer expires."; + input { + uses rrm-rpc:rrm-rldr-reset; + } + } + + rpc rrm-rldr-heartbeat { + description + "Remote Leader Heart Beat Remote Control Procedure sets the heart beat timer to the device. Until this timer expires the device will continue in remote member state. Any new timer value will replace the old timer. If there is no new heartbeat timer value before this timer expires, device will reset to original pre rrm-remote-group state."; + input { + uses rrm-rpc:rrm-rldr-heartbeat; + } + } + + rpc rrm-rldr-set { + description + "Remote Leader Set Remote Control Procedure"; + input { + uses rrm-rpc:rrm-rldr-set; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-types.yang new file mode 100644 index 000000000..bfaa1b6df --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rrm-types.yang @@ -0,0 +1,453 @@ +module Cisco-IOS-XE-wireless-rrm-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rrm-types"; + prefix wireless-rrm-types; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless rrm data types. + Copyright (c) 2016-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "4.4.0"; + cisco-semver:module-version "4.4.0"; + } + revision 2021-07-01 { + description + "- Added 6 GHz radio band enum for 802.11 interface type + - Added DTLS connection status for RF group member"; + reference + "4.3.0"; + cisco-semver:module-version "4.3.0"; + } + revision 2019-11-01 { + description + "Added class type enum for cleanair device class-type."; + reference + "4.2.0"; + cisco-semver:module-version "4.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "4.1.0"; + cisco-semver:module-version "4.1.0"; + } + revision 2018-11-15 { + description + "- Removed rrm channel list static array + - Cleaned up spelling errors in descriptions."; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-06-18 { + description + "Remove of grouping. List of Channel Numbers"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-rrm-phy-type { + type enumeration { + enum rrm-phy-80211b { + value 1; + description + "Represents the 802.11b/g interface type for this entry."; + } + enum rrm-phy-80211a { + value 2; + description + "Represents the 802.11a/c interface type for this entry."; + } + enum rrm-phy-80211xor { + value 3; + description + "Represents the 802.11abgn interface type for this entry."; + } + enum rrm-phy-80211-6ghz { + value 4; + description + "802.11 6 GHz band interface type."; + } + } + description + "This object uniquely represents the 802.11 interface type for this entry."; + } + + typedef enm-rrm-ctrl-mode { + type enumeration { + enum rrm-automatic-mode { + value 0; + description + "Represents group mode as Auto selection mode"; + } + enum rrm-run-once-mode { + value 1; + description + "Represents group mode as Run once selection mode"; + } + enum rrm-static-mode { + value 2; + description + "Represents group mode as Static selection mode"; + } + enum rrm-leader-mode { + value 3; + description + "Represents group mode as rf static leader"; + } + enum rrm-restart-mode { + value 4; + description + "Represents group mode as restart"; + } + } + description + "This object represents current rf group mode"; + } + + typedef enm-ca-si-capable { + type enumeration { + enum spectrum-mode-ca { + value 1; + description + "Represents the Access point is CA type for this entry."; + } + enum spectrum-mode-si { + value 2; + description + "Represents the Access point is SI type for this entry."; + } + enum spectrum-mode-invalid { + value 3; + description + "Represents the Access point is CA type for this entry."; + } + } + description + "This object uniquely represents the 802.11 interface type for this entry."; + } + + typedef enm-cleanair-class-type { + type enumeration { + enum pmac-dev-unknown { + value 0; + description + "Cleanair device class type unknown"; + } + enum pmac-dev-id-bt { + value 1; + description + "Cleanair device class type bluetooth pico-net"; + } + enum pmac-dev-id-mwave { + value 8; + description + "Cleanair device class type microwaves"; + } + enum pmac-dev-id-fh { + value 10; + description + "Cleanair device class type 802.11 - frequency hopping version"; + } + enum pmac-dev-id-bti { + value 17; + description + "Cleanair device class type bluetooth inquiry and paging"; + } + enum pmac-dev-id-gtdd { + value 18; + description + "Cleanair device class type generic periodic fixed frequency"; + } + enum pmac-dev-id-jam { + value 19; + description + "Cleanair device class type jammer"; + } + enum pmac-dev-id-wform { + value 25; + description + "Cleanair device class type generic continuous"; + } + enum pmac-dev-id-dect { + value 26; + description + "Cleanair device class type DECT like phone networks"; + } + enum pmac-dev-id-video { + value 27; + description + "Cleanair device class type video (sub-case of generic continuous class type)"; + } + enum pmac-dev-id-zigbee { + value 28; + description + "Cleanair device class type 802.15.4 e.g. ZigBee, HART, etc."; + } + enum pmac-dev-id-wifi-norm { + value 29; + description + "Cleanair device class type standard 802.11 a/b/g/n/j"; + } + enum pmac-dev-id-wifi-iq { + value 30; + description + "Cleanair device class type spectrally inverted 802.11"; + } + enum pmac-dev-id-wifi-chan { + value 31; + description + "Cleanair device class type 802.11 on non standard channels"; + } + enum pmac-dev-id-wifi-sup-g { + value 32; + description + "Cleanair device class type Super G variant of WiFi"; + } + enum pmac-dev-id-radar { + value 33; + description + "Cleanair device class type radar"; + } + enum pmac-dev-id-canopy { + value 34; + description + "Cleanair device class type Motorola canopy"; + } + enum pmac-dev-id-xbox { + value 35; + description + "Cleanair device class type XBOX wireless controller"; + } + enum pmac-dev-id-wmxm { + value 36; + description + "Cleanair device class type 802.16 e mobile WiMAX"; + } + enum pmac-dev-id-wmxf { + value 37; + description + "Cleanair device class type 802.16 d fixed WiMAX"; + } + enum pmac-dev-id-exalt { + value 38; + description + "Cleanair device class type Exalt Bridge"; + } + enum pmac-dev-id-ibeacon { + value 41; + description + "Cleanair device class type iBeacon"; + } + enum pmac-dev-id-max { + value 42; + description + "Cleanair device class type maximum value"; + } + enum pmac-dev-id-aci { + value 254; + description + "Cleanair device class type Wi-Fi adjacent channel interference"; + } + enum pmac-dev-id-undef { + value 255; + description + "Cleanair device undefined class type"; + } + } + description + "Cleanair device class type"; + } + + typedef enm-rrm-dtls-status { + type enumeration { + enum rrm-dtls-invalid { + value 0; + description + "Invalid DTLS state."; + } + enum rrm-dtls-disabled { + value 1; + description + "DTLS connection is disabled for RF group member."; + } + enum rrm-dtls-init { + value 2; + description + "DTLS connection initiated for RF group member."; + } + enum rrm-dtls-in-handshake { + value 3; + description + "DTLS connection is in handshake phase for RF group member."; + } + enum rrm-dtls-in-cert-verify { + value 4; + description + "DTLS connection is in certificate verification state for RF group member."; + } + enum rrm-dtls-sess-established { + value 5; + description + "DTLS connection is in session established state for RF group member."; + } + enum rrm-dtls-in-key-plumbing { + value 6; + description + "DTLS connection is in key plumbing state for RF group member."; + } + enum rrm-dtls-key-plumbed { + value 7; + description + "DTLS connection has plumbed the key for RF group member."; + } + } + description + "DTLS connection status for RF group member."; + } + + grouping st-member-id { + description + "This object represents the rf group member identifier"; + leaf-list byte-var { + type uint8; + max-elements 6; + ordered-by user; + description + "This value contains the ip address of member in the first four bytes and the last two bytes contains the maximum number of Radios handled by the rf group leader"; + } + } + + grouping st-group-id { + description + "This object represents the rf group identifier"; + leaf wlc-mac { + type yang:mac-address; + description + "This value contains the rf group leader's ip address in the first four bytes and the last two bytes contains the maximum number of Radios handled by the rf group leader"; + } + leaf cnt { + type uint16; + description + "This value contains a random counter that is created every time the rf group initializes"; + } + } + + grouping st-rrm-msg-seq { + description + "Field is used in rrm message retry mechanism"; + leaf seq-num { + type uint32; + description + "Indicates rrm message sequence number"; + } + leaf duplicate { + type uint32; + description + "Indicates if the message received is duplicate of previously received message"; + } + } + + grouping st-rrm-channels-list { + description + "List of Channel Numbers"; + leaf-list channel { + type uint16; + max-elements 64; + ordered-by user; + description + "Channel Number"; + } + } + + grouping st-rrm-common-ctrl-confg { + description + "This object represents rrm common control config for various algorithms"; + leaf mode { + type wireless-rrm-types:enm-rrm-ctrl-mode; + description + "Represents algorithms current mode"; + } + leaf update-counter { + type uint32; + description + "Indicates the number of times the corresponding algorithm has run"; + } + leaf update-interval-sec { + type uint32; + description + "Time interval before which the algorithm was run"; + } + leaf contribution { + type uint8; + description + "Contributing factors to the algorithm"; + } + } + + grouping st-rrm-dpc-config { + description + "Represents rrm tpc algorithm related configuration"; + container rf { + description + "Contains general configuration that is applicable to all the algorithms"; + uses wireless-rrm-types:st-rrm-common-ctrl-confg; + } + leaf dpc-min-tx-power-limit { + type int8; + description + "Minimum tx power that the tpc algorithm can assign to any radio"; + } + leaf dpc-max-tx-power-limit { + type int8; + description + "Maximum tx power that the tpc algorithm can assign to any radio"; + } + leaf tx-power-control-threshold { + type int8; + description + "Indicates tx power threshold for tpc algorithm"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-cfg.yang new file mode 100644 index 000000000..42b1707eb --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-cfg.yang @@ -0,0 +1,179 @@ +module Cisco-IOS-XE-wireless-rule-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rule-cfg"; + prefix wireless-rule-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for rule configuration for wireless application based on regular expression match. + Copyright (c) 2020-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Update validations for group method"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added new group method"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-mdns-grouping { + description + "Rule action MDNS grouping"; + leaf group-method { + type wireless-enum-types:enm-group-method; + must "(../group-method = 'mdns-grp-ap-name') or (../group-method != 'mdns-grp-ap-name' and string-length(../../rule-regex) > 0)" { + error-message "Regular expression is needed when group method is non-default"; + error-app-tag "must-violation"; + } + default "mdns-grp-ap-name"; + description + "MDNS grouping method"; + } + } + + grouping rule-defn { + description + "Rule parameters"; + leaf rule-priority { + type uint32 { + range "0 .. 4096"; + } + description + "Rule priority"; + } + leaf rule-name { + type string { + length "0..32"; + pattern '[A-Za-z0-9\-_.]*'; + } + description + "Rule name"; + } + leaf rule-regex { + type string { + length "0..128"; + } + description + "Regex string for rule"; + } + container rule-action-mdns-grouping { + description + "Rule action extended MDNS grouping"; + uses wireless-rule-cfg:st-mdns-grouping; + } + choice rule-action-choice { + default "rule-action-unconfigured"; + description + "Supported action per application"; + case rule-action-unconfigured { + leaf rule-action-set { + type empty; + description + "Action is unconfigured"; + } + } + case rule-action-mdns-grouping { + leaf id { + type uint32 { + range "0 .. 4096"; + } + must '(../id = 0) or (../id >= 1 and string-length(../rule-regex) > 0)' { + error-message "Group id configuration requires non-empty regular expression"; + error-app-tag "must-violation"; + } + default "0"; + description + "MDNS ID"; + } + leaf group-name { + type string { + length "0..128"; + } + must '(string-length(../group-name) = 0) or (string-length(../group-name) > 0 and string-length(../rule-regex) > 0)' { + error-message "Group name configuration requires non-empty regular expression"; + error-app-tag "must-violation"; + } + default ""; + description + "MDNS group name"; + } + } + } + } + + grouping app-rule { + description + "Rules for application"; + leaf app { + type wireless-enum-types:app-type; + description + "Application name"; + } + container rule-defns { + description + "Container of rule definitions"; + list rule-defn { + key "rule-name"; + unique "rule-priority"; + description + "List of rule definitions"; + uses wireless-rule-cfg:rule-defn; + } + } + } + + container rule-cfg-data { + description + "Rule configuration data"; + container app-rules { + description + "Container of application rules"; + list app-rule { + key "app"; + description + "List of application rules"; + uses wireless-rule-cfg:app-rule; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-mdns-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-mdns-oper.yang new file mode 100644 index 000000000..e3ed0c8b9 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-rule-mdns-oper.yang @@ -0,0 +1,135 @@ +module Cisco-IOS-XE-wireless-rule-mdns-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-rule-mdns-oper"; + prefix wireless-rule-mdns-oper; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for rule MDNS operational data. + Copyright (c) 2017, 2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2020-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping mdns-id-info { + description + "MDNS ID information"; + leaf mdns-id { + type uint32; + description + "MDNS ID"; + } + leaf group-name { + type string; + description + "Group name for APs"; + } + list mdns-id-associated-ap { + key "ap-mac"; + description + "Associated APs for a particular MDNS ID"; + uses wireless-rule-mdns-oper:mdns-id-associated-ap; + } + } + + grouping mdns-id-associated-ap { + description + "Associated APs for a particular MDNS ID"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf ap-name { + type string; + description + "AP name"; + } + } + + grouping rule-associated-ap { + description + "Associated APs for a particular rule"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf ap-name { + type string; + description + "AP name"; + } + } + + grouping rule-info { + description + "Rule information"; + leaf rule-name { + type string; + description + "Rule name"; + } + leaf rule-priority { + type uint32; + description + "Rule priority"; + } + list rule-associated-ap { + key "ap-mac"; + description + "Associated APs for a particular rule"; + uses wireless-rule-mdns-oper:rule-associated-ap; + } + } + + container rule-mdns-oper-data { + config false; + description + "Rule MDNS operational data"; + list mdns-id-info { + key "mdns-id"; + description + "MDNS ID information"; + uses wireless-rule-mdns-oper:mdns-id-info; + } + list rule-info { + key "rule-name"; + description + "Rule information"; + uses wireless-rule-mdns-oper:rule-info; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sdavc-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sdavc-oper.yang new file mode 100644 index 000000000..6a88c11bc --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sdavc-oper.yang @@ -0,0 +1,100 @@ +module Cisco-IOS-XE-wireless-sdavc-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-sdavc-oper"; + prefix wireless-oper-sdavc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for Software Defined-Application Visibility Control (SD-AVC) + operational data. + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef sdavc-file-dwld-status { + type enumeration { + enum sdavc-dwld-not-initiated { + value 0; + description + "File download not initiated"; + } + enum sdavc-dwld-file-success { + value 1; + description + "File download successful"; + } + enum sdavc-dwld-file-failure { + value 2; + description + "File download failed"; + } + } + description + "Enum for SD-AVC File download status."; + } + + grouping st-sdavc-ap-dwld-status { + description + "SD-AVC per AP latest file download status"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf dwld-status { + type wireless-oper-sdavc:sdavc-file-dwld-status; + description + "File download status"; + } + leaf filename { + type string; + description + "Name of downloaded file"; + } + } + + container sdavc-oper-data { + config false; + description + "SD-AVC operational data"; + list sdavc-ap-dwld-status { + key "ap-mac"; + description + "Per AP SD-AVC File download status"; + uses wireless-oper-sdavc:st-sdavc-ap-dwld-status; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-security-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-security-cfg.yang new file mode 100644 index 000000000..d3815e3e4 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-security-cfg.yang @@ -0,0 +1,172 @@ +module Cisco-IOS-XE-wireless-security-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-security-cfg"; + prefix wireless-security-cfg; + + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing AP Security configuration. + Copyright (c) 2016-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-07-01 { + description + "- Added obsolete status to 256 bit signature configuration under AP LSC provisioning"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-02-10 { + description + "- Grouped enumerations related to LSC provisioning together + - Updated 0 to 255 as a valid range for 'join-attempt' configuration"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2017-12-07 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping lsc-prov-list { + description + "AP LSC Provision list"; + leaf ap-mac { + type yang:mac-address; + description + "AP Ethernet Mac address to which LSC Certificates will be provisioned"; + } + } + + grouping st-lsc-provision { + description + "AP LSC provisioning configuration"; + leaf status { + type wireless-types:lsc-prov-status; + default "lsc-prov-disable"; + description + "Setting this to true will make APs to start LSC provisioning. Setting this to false will make APs to fallback to MIC/SSC"; + } + leaf key-size { + type wireless-types:enum-ewlc-lsc-key-size; + default "lsc-keysize-2048"; + description + "Size of the keys: Can only be 1024 or 2048"; + } + leaf join-attempt { + type uint32 { + range "0 .. 255"; + } + default "4"; + description + "Join attempts before AP fallbacks to MIC from LSC."; + } + leaf country { + type string; + default ""; + description + "Country name that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf state { + type string; + default ""; + description + "State name that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf city { + type string; + description + "City name that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf domain { + type string; + default ""; + description + "Domain name that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf org { + type string; + default ""; + description + "Organisation name that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf email-addr { + type string; + default ""; + description + "Email address that will be sent as a part of Certificate Signing Request from the AP"; + } + leaf sig-256 { + type boolean; + default "false"; + status obsolete; + description + "Enable/Disable 256 bit signature"; + } + leaf lsc-tp-name { + type string; + description + "Trustpoint corresponding to the CA server through which certificates will be provided to AP and WLC for LSC provisioning"; + } + } + + container lsc-cfg-data { + description + "Wireless security configurations"; + container lsc-prov { + presence "lsc-prov"; + description + "LSC Provisioning configurations for Access points"; + uses wireless-security-cfg:st-lsc-provision; + } + container lsc-provision-entries { + description + "AP LSC provision list configuration"; + list lsc-provision-entry { + key "ap-mac"; + description + "This object encompasses the AP LSC provisioning list"; + uses wireless-security-cfg:lsc-prov-list; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sisf-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sisf-global-oper.yang new file mode 100644 index 000000000..ac045ea74 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-sisf-global-oper.yang @@ -0,0 +1,232 @@ +module Cisco-IOS-XE-wireless-sisf-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-sisf-global-oper"; + prefix wireless-sisf-global-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains SISF global operational data aggregated across wireless processes. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping sisf-dhcpv4-stats { + description + "DHCP Statistics"; + leaf ip-addr { + type inet:ipv4-address; + description + "DHCP Server IP"; + } + leaf discover-count { + type uint64; + description + "DHCP Discover count"; + } + leaf bootp-forward-count { + type uint64; + description + "DHCP BOOTP forward count"; + } + leaf bootp-reply-count { + type uint64; + description + "DHCP BOOTP reply count"; + } + leaf offer-count { + type uint64; + description + "DHCP Offer count"; + } + leaf request-count { + type uint64; + description + "DHCP Request count"; + } + leaf ack-count { + type uint64; + description + "DHCP Ack count"; + } + leaf nak-count { + type uint64; + description + "DHCP Nak count"; + } + leaf decline-count { + type uint64; + description + "DHCP Decline count"; + } + leaf release-count { + type uint64; + description + "DHCP Release count"; + } + leaf inform-count { + type uint64; + description + "DHCP Inform count"; + } + leaf tx-drop-count { + type uint64; + description + "Failed Tx count of DHCP Packet to DHCP Server"; + } + leaf last-rx-time { + type yang:date-and-time; + description + "Last Rx Time from DHCP Server"; + } + leaf last-tx-time { + type yang:date-and-time; + description + "Last Tx to DHCP Server"; + } + leaf min-disc-offer-latency { + type uint64; + units "milliseconds"; + description + "Minimum DHCP discover-offer latency"; + } + leaf max-disc-offer-latency { + type uint64; + units "milliseconds"; + description + "Maximum DHCP discover-offer latency"; + } + leaf min-req-ack-latency { + type uint64; + units "milliseconds"; + description + "Minimum DHCP request-ack latency"; + } + leaf max-req-ack-latency { + type uint64; + units "milliseconds"; + description + "Maximum DHCP request-ack latency"; + } + leaf min-disc-ack-latency { + type uint64; + units "milliseconds"; + description + "Minimum DHCP discover-ack latency"; + } + leaf max-disc-ack-latency { + type uint64; + units "milliseconds"; + description + "Maximum DHCP discover-ack latency"; + } + leaf avg-disc-offer-latency { + type uint64; + units "milliseconds"; + description + "Average DHCP discover-offer latency"; + } + leaf avg-req-ack-latency { + type uint64; + units "milliseconds"; + description + "Average DHCP request-ack latency"; + } + leaf avg-disc-ack-latency { + type uint64; + units "milliseconds"; + description + "Average DHCP discover-ack latency"; + } + leaf total-disc-offer-latency { + type uint64; + units "milliseconds"; + description + "Cumulative DHCP discover-offer latency"; + } + leaf total-req-ack-latency { + type uint64; + units "milliseconds"; + description + "Cumulative DHCP request-ack latency"; + } + leaf total-disc-ack-latency { + type uint64; + units "milliseconds"; + description + "Cumulative DHCP discover-ack latency"; + } + leaf total-disc-offer-count { + type uint64; + description + "Cumulative DHCP discover-offer count"; + } + leaf total-req-ack-count { + type uint64; + description + "Cumulative DHCP request-ack count"; + } + leaf total-disc-ack-count { + type uint64; + description + "Cumulative DHCP discover-ack count"; + } + leaf total-req-nak-latency { + type uint64; + units "milliseconds"; + description + "Cumulative DHCP request-nak latency"; + } + leaf total-req-nak-count { + type uint64; + description + "Cumulative DHCP request-nak count"; + } + } + + container sisf-global-oper-data { + config false; + description + "Root container for SISF global operational data aggregated across wireless processes"; + list sisf-dhcpv4-statistics { + key "ip-addr"; + description + "Snapshot of statistics of DHCPv4"; + uses wireless-sisf-global-oper:sisf-dhcpv4-stats; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-site-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-site-cfg.yang new file mode 100644 index 000000000..a05e06164 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-site-cfg.yang @@ -0,0 +1,1464 @@ +module Cisco-IOS-XE-wireless-site-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-site-cfg"; + prefix wireless-site-cfg; + + import Cisco-IOS-XE-wireless-ap-types { + prefix wireless-ap-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-general-cfg { + prefix wireless-general-cfg; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import Cisco-IOS-XE-wireless-wlan-cfg { + prefix wireless-wlan-cfg; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing site configurations + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added support for height, height uncertainty and height type for priming profile"; + reference + "14.0.0"; + cisco-semver:module-version "14.0.0"; + } + revision 2024-03-01 { + description + "- Added support for CAPWAP message aggregation + - Added support for Accelerometer sensor"; + reference + "13.0.0"; + cisco-semver:module-version "13.0.0"; + } + revision 2023-11-01 { + description + "- Added support for AP deployment mode config + - Added support to configure network spectrum interface ports + - Updated BSSID neighbor stats frequency default value and configuration range"; + reference + "12.0.0"; + cisco-semver:module-version "12.0.0"; + } + revision 2023-07-01 { + description + "- Added support for kernel coredump configuration + - Added support for ap location configuration + - Flex profile name in site is allowed when it's flex site"; + reference + "11.1.0"; + cisco-semver:module-version "11.1.0"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Added support for telemetry exclusion configuration + - Added AP priming profile configuration + - Added support for AP pressure sensor configuration + - Added site load configuration"; + reference + "11.0.0"; + cisco-semver:module-version "11.0.0"; + } + revision 2022-03-01 { + description + "- Added support for BLE configuration + - Added AP sensor configuration + - Added AP power profile and calendar profile configuration under AP profile + - Added a limit for the maximum number of clients allowed on an AP"; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2021-11-01 { + description + "- Added radio statistics monitor configuration"; + reference + "9.1.0"; + cisco-semver:module-version "9.1.0"; + } + revision 2021-07-01 { + description + "- Added AP user management password constraints + - Added support to enable AP DHCP broadcast in fabric configuration + - Added option to configure IPv4 multicast group for AP in fabric configuration + - Added option to configure country in AP profile"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2021-03-01 { + description + "- Add ASCII 32-126 and leading/trailing spaces restriction for AP profile name and site tag name + - Added support for AP stats + - Added support for Office Extended AP configuration + - Added support DTLS cipher suite server preference AP configuration"; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2020-11-01 { + description + "- Added AWIPS Forensic configuration + - Added support for antenna monitoring configuration"; + reference + "7.4.0"; + cisco-semver:module-version "7.4.0"; + } + revision 2020-07-01 { + description + "- Added support for traffic distribution stats configuration + - Added AP DHCP fallback option + - Added obsolete status for LED flash configuration"; + reference + "7.3.0"; + cisco-semver:module-version "7.3.0"; + } + revision 2020-03-01 { + description + "- Deprecated old IOS BLE model + - CAPWAP window size configuration + - Added fabric config support for AP ARP caching + - Added support for AP proxy"; + reference + "7.2.0"; + cisco-semver:module-version "7.2.0"; + } + revision 2019-11-01 { + description + "- Added configuration to enable AWIPS + - Added Accounting information + - Added support for IOX application hosting on APs + - Added support for Auxiliary Client Interface on APs + - Added support for BSSID stats configuration + - Add public-ip-discovery and private-ip-discovery + flag under AP config profile + - Added AP LED flash mode and duration timer configuration + - Added support for BSSID neighbor stats configuration"; + reference + "7.1.0"; + cisco-semver:module-version "7.1.0"; + } + revision 2019-09-20 { + description + "- Added obsolete status for Lawful Interception"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-05-01 { + description + "- Removal of unused container related to Remote LAN port entry. + - Add GAS rate limiting setting for Hotspot 2.0 + - Add NTP server information to be used by AP + - Added client RSSI stats configuration + - Add constraint check to image download profile name + - Added semantic version + - Added obsolete status for NTP server attribute"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-03-13 { + description + "- Removed master AP list config under site tag config + - Add DHCP server configuration + - Removal of unused leaves + - Cleaned up spelling errors in descriptions + - Removal of unused leaves related to AP config profile + - Removal of unused container related to Remote LAN port entry + - Cleaned up descriptions + - Making sure configured structure and structure send on protocol + are aligned for AP profile + - Restrict password type options available for local user + under AP capture profile + - Removed CAPWAP window size configuration from AP join profile."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-06-15 { + description + "AIRsense feature renamed to Intelligent Capture"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-21 { + description + "Leaf removal and default changes"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping site-tag-config { + description + "This structure stores the site tag configurations for an AP"; + leaf site-tag-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Each entry represents a conceptual row in cLSiteTagConfigTable and corresponds to an Site Tag in a Elastic Wireless Controller."; + } + leaf description { + type string; + default ""; + description + "Description of the Site Tag"; + } + leaf flex-profile { + when "../is-local-site = 'false'"; + type string; + default "default-flex-profile"; + description + "The flex profile which is part of the Site tag"; + } + leaf ap-join-profile { + type string; + default "default-ap-profile"; + description + "The Ap Join profile which is part of the Site tag"; + } + leaf is-local-site { + type boolean; + default "true"; + description + "This parameter is set to enable local site"; + } + leaf fabric-control-plane-name { + type string; + description + "Fabric Control Plane Name"; + } + leaf image-download-profile-name { + type string; + must "(../image-download-profile-name = 'default')" { + error-message "image download profile name should be default"; + error-app-tag "must-violation"; + } + default "default"; + description + "Image Download Profile Name"; + } + leaf arp-caching { + type boolean; + default "true"; + description + "Enable or disable AP ARP caching"; + } + leaf dhcp-bcast { + type boolean; + default "false"; + description + "Enable or disable fabric AP DHCP broadcast"; + } + leaf fabric-mcast-ipv4-addr { + type inet:ipv4-address; + must "(../fabric-mcast-ipv4-addr = '0.0.0.0') or + starts-with(../fabric-mcast-ipv4-addr, '224.') or starts-with(../fabric-mcast-ipv4-addr, '225.') or + starts-with(../fabric-mcast-ipv4-addr, '226.') or starts-with(../fabric-mcast-ipv4-addr, '227.') or + starts-with(../fabric-mcast-ipv4-addr, '228.') or starts-with(../fabric-mcast-ipv4-addr, '229.') or + starts-with(../fabric-mcast-ipv4-addr, '230.') or starts-with(../fabric-mcast-ipv4-addr, '231.') or + starts-with(../fabric-mcast-ipv4-addr, '232.') or starts-with(../fabric-mcast-ipv4-addr, '233.') or + starts-with(../fabric-mcast-ipv4-addr, '234.') or starts-with(../fabric-mcast-ipv4-addr, '235.') or + starts-with(../fabric-mcast-ipv4-addr, '236.') or starts-with(../fabric-mcast-ipv4-addr, '237.') or + starts-with(../fabric-mcast-ipv4-addr, '238.') or starts-with(../fabric-mcast-ipv4-addr, '239.')" { + error-message "Fabric multicast group IPv4 address must be in range 224.0.0.0-239.255.255.255 or 0.0.0.0"; + error-app-tag "must-violation"; + } + default "232.255.255.1"; + description + "Fabric multicast group IPv4 address"; + } + leaf load { + type uint16 { + range "0 .. 1000"; + } + default "0"; + description + "Estimate of the relative load contributed by the site. AP count can be used as an approximation."; + } + } + + grouping halo-ble { + description + "BLE global configuration.It lists the ibeacon's identification number and attenuation value which is common to HALO enabled AP's that have joined the controller."; + leaf beacon-id { + type uint8 { + range "0 .. 4"; + } + description + "BLE ibeacon ID for which global BLE configurations to be applied."; + } + leaf txpower { + type uint8 { + range "0 .. 52"; + } + default "0"; + description + "TX power of particular ibeacon for HALO enabled APs that have joined the controller.The TX power is based on size of proximity zone needed."; + } + leaf enabled { + type boolean; + default "false"; + description + "The status of the BLE beacons. enable(1) - enable the BLE beacon disable(2) - disable the BLE beacon."; + } + leaf uuid { + type string; + default "00000000-0000-0000-0000-000000000000"; + description + "The UUID (universally unique identifier) which is a 128-bit value"; + } + } + + grouping st-icap-full-trace-client { + description + "Stores the client MAC address used in the ICap full packet trace subscription client filter"; + leaf addr { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping st-icap-partial-trace-client { + description + "Stores the client MAC address used in the ICap partial packet trace subscription client filter"; + leaf addr { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping st-icap-anomaly-det-client { + description + "Stores the client MAC address used in the ICap anomaly detection subscription client filter"; + leaf addr { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping st-icap-client-stats-client { + description + "Stores the client MAC address used in the ICap client statistics subscription client filter"; + leaf addr { + type yang:mac-address; + description + "MAC address"; + } + } + + grouping st-icap-client-exclude-cfg { + description + "WLAN profile for which telemetry data to be filtered out"; + leaf wlan-profile { + type string; + description + "WLAN profile"; + } + } + + grouping st-qosmap-dscp-to-up { + description + "QoS Map DSCP to User Priority mapping"; + leaf dscp-low { + type uint8 { + range "0 .. 63"; + } + default "0"; + description + "DSCP range lower boundary"; + } + leaf dscp-high { + type uint8 { + range "0 .. 63"; + } + default "0"; + description + "DSCP range upper boundary"; + } + leaf up { + type uint8 { + range "0 .. 7"; + } + description + "User Priority"; + } + leaf up-to-dscp { + type uint8 { + range "0 .. 63"; + } + default "0"; + description + "AP upstream traffic User Priority to DSCP mapping"; + } + } + + grouping st-qosmap-dscp-to-up-exception { + description + "QoS Map DSCP to User Priority mapping exception"; + leaf dscp { + type uint8 { + range "0 .. 63"; + } + description + "DSCP to be mapped to User Priority"; + } + leaf up { + type uint8 { + range "0 .. 7"; + } + default "0"; + description + "User Priority"; + } + } + + grouping st-ap-profile-calendar-cfg { + description + "Calendar profile configuration for AP profile"; + leaf prof-name { + type string { + length "1..32" { + error-message "Calendar profile name should not be greater than 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?' { + error-message "Calendar profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "pattern-violation"; + } + } + must '(/wireless-wlan-cfg:wlan-cfg-data/wireless-wlan-cfg:calendar-profile-configs/wireless-wlan-cfg:calendar-profile-config[wireless-wlan-cfg:profile-name = current()])' { + error-message "A calendar profile with the same name as configured under the AP profile must exist"; + error-app-tag "must-violation"; + } + description + "Calendar profile name"; + } + container cal-ap-prof-pp-cfg { + description + "Power profile configuration"; + uses wireless-ap-types:ap-prof-power-profile-cfg; + } + } + + grouping ap-cfg-profile { + description + "The ap join profile configurations"; + leaf profile-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "The ap configuration profile name"; + } + leaf description { + type string; + default ""; + description + "Description for the ap configuration profile"; + } + leaf ble-beacon-interval { + type uint8 { + range "1 .. 10"; + } + default "1"; + description + "The BLE beacon interval for the AP"; + } + leaf ble-beacon-advpwr { + type uint8 { + range "40 .. 100"; + } + default "59"; + description + "The BLE beacon power"; + } + leaf data-encryption-flag { + type boolean; + description + "The data encryption status of AP"; + } + leaf ap-packet-capture-profile { + type string; + default ""; + description + "Profile name for packet capture"; + } + leaf ap-trace-profile { + type string; + default ""; + description + "AP trace profile name applied on the AP"; + } + container stats-timer { + description + "This object specifies the stats timer for the AP"; + uses wireless-ap-types:st-stats-timer; + } + container led-state { + description + "The LED state of all the access points should be enabled or disabled."; + uses wireless-ap-types:st-led-state; + } + container link-latency { + description + "The link auditing options"; + uses wireless-ap-types:st-link-latency; + } + container jumbo-mtu { + description + "True if jumbo mtu is enabled for the AP"; + uses wireless-ap-types:st-jumbo-mtu; + } + container ap-mode { + description + "Mode of operation of the AP"; + uses wireless-ap-types:st-mode; + } + container poe { + description + "Power over ethernet configurations"; + uses wireless-ap-types:st-poe-cfg; + } + container device-mgmt { + description + "Device management related configurations"; + uses wireless-ap-types:st-device-mgmt-cfg; + } + container user-mgmt { + description + "User management related configuration"; + uses wireless-ap-types:st-user-mgmt-cfg; + } + container tcp-mss { + description + "IPV4 tcp mss related configurations"; + uses wireless-ap-types:st-tcp-mss-cfg; + } + container tunnel { + description + "The global capwap prefer-mode"; + uses wireless-ap-types:st-tunnel; + } + container capwap-timer { + description + "CAPWAP timer related configurations"; + uses wireless-ap-types:st-capwap-timer-cfg; + } + container retransmit-timer { + description + "The retransmit timer"; + uses wireless-ap-types:st-capwap-retransmit-timer-cfg; + } + container login-credentials { + description + "The Global AP 802.1x Supplicant Authentication login credentials"; + uses wireless-ap-types:st-login-credentials-cfg; + } + container dot1x-eap-type-info { + description + "Global AP 802.1x EAP type info"; + uses wireless-ap-types:st-dot1x-eap-auth-info; + } + container lsc-ap-auth-type-info { + description + "Global AP 802.1x LSC AP auth type info"; + uses wireless-ap-types:st-lsc-ap-auth-type-info; + } + container coredump { + description + "AP core dump related configurations"; + uses wireless-ap-types:st-coredump-cfg; + } + container syslog { + description + "AP sys log related configurations"; + uses wireless-ap-types:st-syslog-facility-cfg; + } + container backup-controllers { + must "not((string-length(primary-controller-name) = 0) and (primary-controller-ip != '0.0.0.0')) " { + error-message "Primary Controller IP can not be configured without Primary controller name"; + error-app-tag "must-violation"; + } + must "not((string-length(secondary-controller-name) = 0) and (secondary-controller-ip != '0.0.0.0')) " { + error-message "Secondary Controller IP can not be configured without Secondary controller name"; + error-app-tag "must-violation"; + } + description + "Backup controller configuration for the AP"; + uses wireless-ap-types:st-backup-controllers-cfg; + } + container hyperlocation { + description + "Hyperlocation configuration for the AP"; + uses wireless-ap-types:st-hyperlocation; + } + container rogue-detection { + description + "Rogue detection related parameters"; + uses wireless-ap-types:st-rogue-params; + } + container lag-info { + description + "The AP-lag status of all the access points in the profile whether enabled or disabled."; + uses wireless-ap-types:st-capwap-lag-info; + } + container tftp-down-grade { + description + "Tftp downgrade related configurations"; + uses wireless-ap-types:st-tftp-downgrade; + } + container traffic-limit { + description + "The maximum dot1x session limit for the AP"; + uses wireless-ap-types:st-traffic-limit-cfg; + } + container cdp { + description + "True, if cdp is enabled for the AP"; + uses wireless-ap-types:st-cdp; + } + leaf ntp-server { + type inet:ip-address; + default "0.0.0.0"; + status obsolete; + description + "NTP server IP address"; + } + container capwap-window { + description + "CAPWAP transport window size for the AP"; + uses wireless-ap-types:st-capwap-window; + } + container mesh { + description + "Mesh related config the AP"; + uses wireless-ap-types:st-mesh-cfg; + } + container reporting-interval { + description + "Interval at which AP should send client stats"; + uses wireless-ap-types:st-report-interval; + } + container ext-module { + description + "AP External Module related configurations"; + uses wireless-ap-types:st-ext-module-cfg; + } + container icap { + description + "Configuration of ICap subscriptions"; + uses wireless-ap-types:st-icap; + } + container lawful-interception { + status obsolete; + description + "Lawful Interception related configurations"; + uses wireless-ap-types:st-lawful-interception-cfg; + } + container persistent-ssid-broadcast { + description + "True if persistent SSID broadcast is enabled on the AP"; + uses wireless-ap-types:st-persistent-ssid-broadcast-cfg; + } + container dhcp-server { + description + "DHCP server related configuration"; + uses wireless-ap-types:st-dhcp-server-cfg; + } + container usb-module-status { + description + "Status of USB configuration if disabled/enabled"; + uses wireless-ap-types:st-usb-module-cfg; + } + container halo-ble-entries { + status deprecated; + description + "Encompasses the halo ble configurations"; + list halo-ble-entry { + key "beacon-id"; + description + "Encompasses the halo ble configurations"; + uses wireless-site-cfg:halo-ble; + } + } + container icap-full-packet-trace-client-mac-address-entries { + description + "Selects the clients for which to collect traces, by client MAC address."; + list icap-full-packet-trace-client-mac-address-entry { + key "addr"; + description + "Specifies the client MAC address."; + uses wireless-site-cfg:st-icap-full-trace-client; + } + } + container icap-partial-packet-trace-client-mac-address-entries { + description + "Selects the clients for which to collect traces, by client MAC address."; + list icap-partial-packet-trace-client-mac-address-entry { + key "addr"; + description + "The client MAC address."; + uses wireless-site-cfg:st-icap-partial-trace-client; + } + } + container icap-anomaly-detection-client-mac-address-entries { + description + "Selects the clients for which to collect traces, by client MAC address."; + list icap-anomaly-detection-client-mac-address-entry { + key "addr"; + description + "The client MAC address."; + uses wireless-site-cfg:st-icap-anomaly-det-client; + } + } + container icap-client-statistics-client-mac-address-entries { + description + "Selects the clients for which to collect statistics, by client MAC address."; + list icap-client-statistics-client-mac-address-entry { + key "addr"; + description + "The client MAC address."; + uses wireless-site-cfg:st-icap-client-stats-client; + } + } + container gas-rate-limit { + description + "Contains GAS rate limiting related configurations"; + uses wireless-ap-types:st-gas-rate-limit-cfg; + } + container qosmap { + description + "QoS Map configuration"; + uses wireless-ap-types:st-qosmap-cfg; + } + container qosmap-dscp-to-ups { + description + "QoS Map - DSCP tp UP (User Priority) mapping ranges"; + list qosmap-dscp-to-up { + key "up"; + description + "QoS Map - DSCP tp UP (User Priority) mapping range"; + uses wireless-site-cfg:st-qosmap-dscp-to-up; + } + } + container qosmap-dscp-to-up-exceptions { + description + "QoS Map - DSCP tp UP (User Priority) mapping exceptions"; + list qosmap-dscp-to-up-exception { + key "dscp"; + description + "QoS Map - DSCP tp UP (User Priority) mapping exception"; + uses wireless-site-cfg:st-qosmap-dscp-to-up-exception; + } + } + container client-rssi { + description + "Configuration of Client RSSI statistics reporting"; + uses wireless-ap-types:st-client-rssi-cfg; + } + container ntp-server-info { + must "(ntp-address != '255.255.255.0') and (ntp-address != '255.255.0.0') and (ntp-address != '255.0.0.0')" { + error-message "Invalid IPv4 host address provided"; + error-app-tag "must-violation"; + } + must "ntp-address != '255.255.255.255'" { + error-message "Broadcast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(ntp-address, '127.'))" { + error-message "Loopback IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(starts-with(ntp-address, '224.')) and not(starts-with(ntp-address, '225.')) and not(starts-with(ntp-address, '226.')) and not(starts-with(ntp-address, '227.')) and not(starts-with(ntp-address, '228.')) and not(starts-with(ntp-address, '229.')) and not(starts-with(ntp-address, '230.')) and not(starts-with(ntp-address, '231.')) and not(starts-with(ntp-address, '232.')) and not(starts-with(ntp-address, '233.')) and not(starts-with(ntp-address, '234.')) and not(starts-with(ntp-address, '235.')) and not(starts-with(ntp-address, '236.')) and not(starts-with(ntp-address, '237.')) and not(starts-with(ntp-address, '238.')) and not(starts-with(ntp-address, '239.'))" { + error-message "Multicast IPv4 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(ntp-address, 1, 4), 'fe80'))" { + error-message "Link-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + must "not(contains(substring(ntp-address, 1, 4), 'fec0'))" { + error-message "Site-local IPv6 address is invalid"; + error-app-tag "must-violation"; + } + description + "NTP server information to be used by AP"; + uses wireless-ap-types:st-ntp-server-info-cfg; + } + leaf awips-enabled { + type boolean; + default "false"; + description + "Flag to enable AWIPS"; + } + container accounting { + description + "AP Accounting information"; + uses wireless-ap-types:st-accounting; + } + container apphost { + description + "Configuration of IOX application hosting"; + uses wireless-ap-types:st-apphost-cfg; + } + container aux-client-interface { + description + "Configuration of Auxiliary Client Interface"; + uses wireless-ap-types:st-aux-client-interface-cfg; + } + container proxy { + description + "Proxy configuration provisioned to AP"; + uses wireless-types:st-ap-proxy-cfg; + } + leaf grpc-enable { + type boolean; + default "false"; + description + "Enable GRPC server on AP"; + } + leaf bssid-enable-stats { + type boolean; + default "false"; + description + "Flag to enable BSSID stats on AP"; + } + leaf bssid-stats-frequency { + type uint32 { + range "1 .. 180"; + } + units "seconds"; + default "30"; + description + "Time frequency on AP to send BSSID stats"; + } + leaf private-ip-discovery { + type boolean; + default "true"; + description + "Discovery Response from private IP is enabled or disabled"; + } + leaf public-ip-discovery { + type boolean; + default "true"; + description + "Discovery Response from public IP is enabled or disabled"; + } + container led-flash { + status obsolete; + description + "LED flash mode and timer configuration of all the access points"; + uses wireless-ap-types:st-led-flash; + } + leaf bssid-neighbor-stats-enable { + type boolean; + default "false"; + description + "Flag to enable BSSID neighbor statistics on AP"; + } + leaf bssid-neighbor-stats-frequency { + type uint32 { + range "30 .. 600"; + } + units "seconds"; + default "180"; + description + "Time interval between consecutive BSSID neighbor stats update send by the AP.The permissible range is updated from 1..180 to 30..600 and default value is updated from 30 to 180 to prevent high CPU utilization due to processing of + multiple BSSID neighbor reports per sec"; + } + container traffic-distribution { + description + "Traffic Distribution Statistics Configuration"; + uses wireless-ap-types:st-traffic-distribution-stats; + } + container dhcp-fallback { + description + "Allow AP to fallback to DHCP if it can not join controller via Static IP"; + uses wireless-ap-types:st-dhcp-fallback; + } + container oeap { + description + "Office Extended AP configuration"; + uses wireless-ap-types:st-oeap; + } + leaf awips-forensic-enabled { + type boolean; + must "(../awips-forensic-enabled = 'false') or ((../awips-forensic-enabled = 'true') and (../awips-enabled = 'true'))" { + error-message "Forensic capture cannot be enabled without AWIPS"; + error-app-tag "must-violation"; + } + default "false"; + description + "Flag to enable AWIPS forensic"; + } + container antenna-monitor { + description + "Per AP profile antenna monitoring configuration"; + uses wireless-ap-types:st-antenna-mon-cfg; + } + container stats-monitor { + description + "Per AP profile ap stats configuration"; + uses wireless-ap-types:ap-stats-mon-cfg; + } + container ap-dtls-config { + description + "Per AP profile AP DTLS configuration"; + uses wireless-ap-types:st-ap-dtls-config; + } + container ap-country { + description + "Per AP profile AP country configuration"; + uses wireless-ap-types:st-ap-prof-country-cfg; + } + container ap-tz-config { + description + "AP timezone configuration"; + uses wireless-ap-types:st-ap-timezone-cfg-data; + } + container radio-stats-monitor { + description + "Per AP profile AP radio statistics monitoring configuration"; + uses wireless-ap-types:ap-radio-mon-cfg; + } + container ap-sensor-cfgs { + description + "Configure AP sensor attributes, by sensor type"; + list ap-sensor-cfg { + key "sensor-type"; + description + "Specifies AP sensor configuration"; + uses wireless-site-cfg:st-ap-sensor-cfg; + } + } + container ble { + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (../ble/scan-state = 'false')" { + error-message "BLE feature is not supported on EWC platform"; + error-app-tag "must-violation"; + } + description + "Per AP profile BLE configuration"; + uses wireless-ap-types:st-ble-cfg; + } + container ap-prof-pp-cfg { + description + "Power profile configuration per AP profile"; + uses wireless-ap-types:ap-prof-power-profile-cfg; + } + container client-limit { + description + "Maximum client limit per AP configuration"; + uses wireless-ap-types:st-ap-max-clients-cfg; + } + container calendar-cfgs { + description + "Calendar profiles configuration for AP profile"; + list calendar-cfg { + key "prof-name"; + max-elements 5; + description + "Calendar profile entry for AP profile"; + uses wireless-site-cfg:st-ap-profile-calendar-cfg; + } + } + container press-sens-config { + description + "Configure AP pressure sensor"; + uses wireless-ap-types:st-ap-press-sens-cfg; + } + container icap-client-exclude-cfgs { + description + "Selects the WLAN profile for which telemetry data to be filtered out"; + list icap-client-exclude-cfg { + key "wlan-profile"; + description + "The WLAN profile"; + uses wireless-site-cfg:st-icap-client-exclude-cfg; + } + } + container ap-location { + description + "location related configuration"; + uses wireless-ap-types:st-ap-cfg-profile-loc; + } + container kernel-coredump { + description + "AP kernel core dump related configurations"; + uses wireless-ap-types:st-kernel-coredump-cfg; + } + container deployment-mode { + description + "AP dual mode deployment mode"; + uses wireless-ap-types:st-ap-deployment-mode-cfg; + } + container nsi-ports-cfg { + description + "AP network spectrum interface ports related configurations"; + uses wireless-ap-types:st-ap-nsi-ports-cfg; + } + container aggregation { + description + "CAPWAP message aggregation configuration on controller"; + uses wireless-ap-types:st-ap-capwap-aggregation-cfg; + } + container accel-sensor { + description + "Accelerometer sensor configuration on controller"; + uses wireless-ap-types:st-ap-acc-sensor-cfg; + } + } + + grouping ap-packet-capture-profile { + description + "The packet capture profile configurations of an AP"; + leaf profile-name { + type string; + description + "The profile name of the packet capture profile"; + } + leaf description { + type string; + description + "Description of the packet capture profile"; + } + leaf buffer-size { + type uint16 { + range "1024 .. 4096"; + } + default "2048"; + description + "The size of the buffer Access Point should use to copy the captured packets for client and dump it to the FTP server. Default value is 2048 kilobytes"; + } + leaf duration { + type uint16 { + range "1 .. 60"; + } + default "10"; + description + "Duration for which the Access Point should capture packets for specified client. Default value is 10"; + } + leaf truncate-len { + type uint16 { + range "0 .. 1500"; + } + default "0"; + description + "Length of the packet after truncation while capturing packets on the Access Point. Default value is 0 which indicates captured packet should contain the full payload length"; + } + leaf ftp-server-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "The IP Address of the FTP server. Access Point will dump the captured packets to a file in this ftp server"; + } + leaf ftp-path { + type string; + default ""; + description + "The directory path in the ftp server for storing the file which contains the captured packets in the Access Point."; + } + leaf ftp-username { + type string; + default ""; + description + "The username to login into the ftp server in order to transfer the captured packets from the Access Point."; + } + leaf ftp-password { + type string; + default ""; + description + "The password to login into the ftp server in order to transfer the captured packets from the Access Point."; + } + leaf ftp-password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "Password type should be either clear text or AES encryption"; + error-app-tag "must-violation"; + } + default "clear"; + description + "This object specifies the password type to login into the ftp server in order to transfer the captured packets from the Access Point."; + } + leaf classifier-control { + type boolean; + default "true"; + description + "The filters for 802.11 control packets, while capturing packets on the Access Point. A value of 'true' indicates 802.11 control packets should be captured. A value of 'false' indicates 802.11 control packets should not be captured. Default value is true"; + } + leaf classifier-management { + type boolean; + default "true"; + description + "The filters for 802.11 Management packets, while capturing packets on the Access Point. A value of 'true' indicates 802.11 Management packets should be captured. A value of 'false' indicates 802.11 Management packets should not be captured. Default value is true"; + } + leaf classifier-data { + type boolean; + default "false"; + description + "The filters for 802.11 Data packets, while capturing packets on the Access Point. A value of 'true' indicates 802.11 Data packets should be captured. A value of 'false' indicates 802.11 Data packets should not be captured. Default value is false"; + } + leaf classifier-dot1x { + type boolean; + default "false"; + description + "The filters for 802.11 Dot1x packets, while capturing packets on the Access Point. A value of 'true' indicates 802.11 Dot1x packets should be captured. A value of 'false' indicates 802.11 Dot1x packets should not be captured. Default value is false"; + } + leaf classifier-arp { + type boolean; + default "false"; + description + "The filters for ARP packets while capturing packets on the Access Point. A value of 'true' indicates ARP packets should be captured. A value of 'false' indicates ARP packets should not be captured.Default value is false"; + } + leaf classifier-iapp { + type boolean; + default "false"; + description + "The filters for 802.11 IAPP packets, while capturing packets on the Access Point. A value of 'true' indicates IAPP packets should be captured. A value of 'false' indicates IAPP packets should not be captured. Default value is false"; + } + leaf classifier-ip { + type boolean; + default "false"; + description + "The filters for IP packets, while capturing packets on the Access Point. A value of ' true' indicates IP packets should be captured. A value of false' indicates IP packets should not be captured. Default value is false"; + } + leaf classifier-tcp { + type boolean; + default "false"; + description + "The filters for TCP packets while capturing packets on the Access Point. Value of 'true' indicates IP packets should be captured. Value of 'false' indicates IP packets should not be captured. Default value is false"; + } + leaf classifier-tcp-port { + type uint16 { + range "0 .. 65535"; + } + default "0"; + description + "The filters for TCP packets, while capturing packets on the Access Point Value of 'true' indicates IP packets should be captured. Value of 'false' indicates IP packets should not be captured. Default value is false"; + } + leaf classifier-udp { + type boolean; + default "false"; + description + "The filters for TCP packets, while capturing packets on the Access Point. Value of 'true' indicates IP packets should be captured. Value of 'false' indicates IP packets should not be captured. Default value is fals"; + } + leaf classifier-udp-port { + type uint16 { + range "0 .. 65535"; + } + default "0"; + description + "The filter value port number for UDP packets, while capturing packets on the Access Point. Default value is 0 which indicates all UDP packets should be captured"; + } + leaf classifier-broadcast { + type boolean; + default "false"; + description + "The filters for 802.11 Broadcast packets, while capturing packets on the Access Point. A value of 'true' indicates Broadcast packets should be captured.A value of 'false' indicates Broadcast packets should not be captured. Default value is false"; + } + leaf classifier-multicast { + type boolean; + default "false"; + description + "The filters for 802.11 Multicast packets, while capturing packets on the Access Point. A value of 'true' indicates Multicast packets should be captured. A value of 'false' indicates Multicast packets should not be captured. Default value is false"; + } + } + + grouping ap-priming-profile { + description + "AP priming profile configuration"; + leaf profile-name { + type string { + length "1..32" { + error-message "Priming profile name should not be greater than 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?' { + error-message "Priming profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "pattern-violation"; + } + } + description + "Priming profile name of the AP"; + } + leaf description { + type string; + default ""; + description + "Description of the AP priming profile"; + } + leaf override-existing-priming { + type boolean; + default "false"; + description + "Override current AP priming with priming profile"; + } + leaf primary-wlc-name { + type string; + default ""; + description + "Primary WLC name configuration of the AP"; + } + leaf primary-wlc-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "Primary WLC IP configuration of the AP"; + } + leaf secondary-wlc-name { + type string; + default ""; + description + "Secondary WLC name configuration of the AP"; + } + leaf secondary-wlc-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "Secondary WLC IP configuration of the AP"; + } + leaf tertiary-wlc-name { + type string; + default ""; + description + "Tertiary WLC name configuration of the AP"; + } + leaf tertiary-wlc-ip { + type inet:ip-address; + default "0.0.0.0"; + description + "Tertiary WLC IP configuration of the AP"; + } + leaf height { + type int16 { + range "-100 .. 1000"; + } + units "meters"; + default "0"; + description + "AP AGL (Above Ground Level) height in meters in range -100..1000"; + } + leaf height-uncertainty { + type uint16 { + range "1 .. 100"; + } + units "meters"; + default "1"; + description + "AP height uncertainty in meters in range 1..100"; + } + leaf height-type { + type wireless-enum-types:enm-geo-bulk-height-type; + must "((../height-type = 'geo-afc-height-agl') or + (../height-type = 'geo-afc-height-unknown' and ../height = 0 and ../height-uncertainty = 1))" { + error-message + "AP height type must be Above Ground Level (AGL) or + when it is unknown, default height must be 0 and default height uncertainty must be 1"; + error-app-tag "must-violation"; + } + default "geo-afc-height-unknown"; + description + "AP geolocation height type"; + } + } + + grouping ap-trace-profile { + description + "Trace profile configuration of the AP"; + leaf profile-name { + type string; + description + "Trace profile name of the AP"; + } + leaf description { + type string; + description + "Description of the AP trace profile"; + } + leaf ap-trace-client-console-log { + type boolean; + default "false"; + description + "Flag to enable console logs at the AP"; + } + leaf ap-trace-client-filter-arp { + type boolean; + default "false"; + description + "Trace filter to enable client's ARP packets tracing at the AP"; + } + leaf ap-trace-client-filter-assoc { + type boolean; + default "false"; + description + "Trace filter to enable client's association packets tracing at the AP"; + } + leaf ap-trace-client-filter-auth { + type boolean; + default "false"; + description + "Trace filter to enable client's authentication packets at the AP"; + } + leaf ap-trace-client-filter-dhcp { + type boolean; + default "false"; + description + "Trace filter to enable client's DHCP packets tracing at the AP"; + } + leaf ap-trace-client-filter-eap { + type boolean; + default "false"; + description + "Trace filter to enable client's EAP packets tracing at the AP"; + } + leaf ap-trace-client-filter-icmp { + type boolean; + default "false"; + description + "Trace filter to enable client's ICMP packets tracing at the AP"; + } + leaf ap-trace-client-filter-ndp { + type boolean; + default "false"; + description + "Trace filter to enable client's NDP packets tracing at the AP"; + } + leaf ap-trace-client-filter-probe { + type boolean; + default "false"; + description + "Trace filter to enable client's probe packets tracing at the AP"; + } + } + + grouping st-ap-sensor-cfg { + description + "AP sensor configuration"; + leaf sensor-type { + type wireless-enum-types:enm-ap-sensor-type; + description + "Type of the sensor"; + } + leaf config-state { + type wireless-enum-types:enm-ap-sensor-state; + default "sensor-disabled"; + description + "Sensor config state"; + } + leaf interval { + type uint32 { + range "5 .. 3600"; + } + units "seconds"; + default "5"; + description + "Sensor data collection sampling interval"; + } + } + + container site-cfg-data { + description + "Yang model for site related config"; + container ap-cfg-profiles { + description + "Encompasses the ap config profile"; + list ap-cfg-profile { + key "profile-name"; + description + "List of AP config profiles"; + uses wireless-site-cfg:ap-cfg-profile; + } + } + container ap-packet-capture-profiles { + description + "AP packet capture profile configuration"; + list ap-packet-capture-profile { + key "profile-name"; + description + "List of AP packet capture profiles"; + uses wireless-site-cfg:ap-packet-capture-profile; + } + } + container ap-trace-profiles { + description + "AP trace profile configuration"; + list ap-trace-profile { + key "profile-name"; + description + "List of AP trace capture profiles"; + uses wireless-site-cfg:ap-trace-profile; + } + } + container ap-priming-profiles { + description + "AP priming profile configuration"; + list ap-priming-profile { + key "profile-name"; + description + "List of AP priming profiles"; + uses wireless-site-cfg:ap-priming-profile; + } + } + container site-tag-configs { + description + "Site tag configuration"; + list site-tag-config { + key "site-tag-name"; + description + "List of site tag configurations"; + uses wireless-site-cfg:site-tag-config; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tech-support-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tech-support-rpc.yang new file mode 100644 index 000000000..02ac31df7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tech-support-rpc.yang @@ -0,0 +1,125 @@ +module Cisco-IOS-XE-wireless-tech-support-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-tech-support-rpc"; + prefix wireless-tech-support-actions-rpc; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This YANG model has options to retrieve show tech-support wireless command output + into a text file and option to retrieve system reports along with output of command + 'show tech-support wireless', into a tar file + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef wireless-file-info-list { + type enumeration { + enum wireless { + value 0; + description + "This option is to retrieve output of command 'show tech-support wireless' into a file"; + } + } + description + "Options for tech-support file."; + } + + grouping wireless-archive-options { + description + "Options for tech-support wireless archive generation. Tech-support + archive is an archive of the 'show tech-support wireless' file and system + report"; + leaf archive { + type boolean; + default "true"; + description + "Tech-support wireless archive generate option + if this option is marked as 'true' tech-support wireless archive will be generated + The tech support wireless file included in the archive will be equivalent + to the output of command 'show tech-support wireless'"; + } + } + + grouping wireless-file-options { + description + "This option is to retrieve output of command 'show tech-support wireless'"; + choice info-type-choice { + mandatory true; + description + "Options for technical support"; + case wireless { + leaf wireless-info { + type boolean; + default "true"; + description + "This option will collect output of 'show tech-support wireless' command into a file"; + } + } + } + } + + grouping tech-support-wireless-response { + description + "Response to tech-support wireless actions"; + leaf file-name { + type string { + pattern '(flash:|bootflash:|crashinfo:|harddisk:)[A-Za-z_0-9]*'; + } + description + "File name of the tech-support wireless archive/file that will be generated. If + the file-name is empty, it indicates that there was failure in the + operation, possibly an internal error or another operation was being + processed. In such cases, the reason for failure will also be + attached to the response message. The arrival of response does not + indicate that the operation is complete because the tech-support wireless + operation takes a huge amount of time to complete and notifications + related to the execution can be consumed by subscribing to the tech-support + event notification model which will contain the same file-name found in this + response message."; + } + } + + rpc tech-support-wireless-archive { + description + "RPC message for tech-support wireless archive generation"; + input { + uses wireless-tech-support-actions-rpc:wireless-archive-options; + } + output { + uses wireless-tech-support-actions-rpc:tech-support-wireless-response; + } + } + + rpc tech-support-wireless-file { + description + "RPC message for tech-support wireless file generation"; + input { + uses wireless-tech-support-actions-rpc:wireless-file-options; + } + output { + uses wireless-tech-support-actions-rpc:tech-support-wireless-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-cfg.yang new file mode 100644 index 000000000..9e6578c0d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-cfg.yang @@ -0,0 +1,260 @@ +module Cisco-IOS-XE-wireless-tunnel-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-tunnel-cfg"; + prefix wireless-tunnel-cfg; + + import Cisco-IOS-XE-tunnel-types { + prefix tunnel-types; + } + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-tunnel-types { + prefix wireless-tunnel-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless tunnel configurational data. + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "3.1.0"; + cisco-semver:module-version "3.1.0"; + } + revision 2020-11-01 { + description + "- Add ASCII 32-126 restriction for tunnel profile name"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2020-07-01 { + description + "Add EoGRE AAA Proxy ports"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-05-23 { + description + "- Added constraint for primary and secondary gateway in a domain + - Added semantic version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-01-23 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping st-tunnel-rule { + description + "Wireless tunnel rule"; + leaf priority { + type uint32 { + range "1 .. 100"; + } + description + "Rule priority"; + } + container cfg { + description + "Rule configuration"; + uses wireless-tunnel-types:st-tunnel-rule-base; + } + } + + grouping st-tunnel-profile { + description + "Wireless tunnel profile"; + leaf name { + type string { + length "1..128" { + error-message "Tunnel profile name has to be 1 to 128 characters."; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "Wireless tunnel profile's name"; + } + container cfg { + description + "Wireless tunnel profile's configuration"; + uses wireless-tunnel-types:st-tunnel-profile-base; + } + leaf opt82-circuit-id { + type string; + description + "DHCP option 82 circuit-id"; + } + leaf opt82-remote-id { + type string; + description + "DHCP option 82 remote-id"; + } + container rules { + description + "List of rules for the profile"; + list rule { + must '(count(../rule) <= 16)' { + error-message "There cannot exist more than 16 rules for a tunnel profile"; + error-app-tag "must-violation"; + } + key "priority"; + description + "Matching rule"; + uses wireless-tunnel-cfg:st-tunnel-rule; + } + } + } + + grouping eogre-global-cfg { + description + "Global configuration for EoGRE"; + leaf heartbeat-interval { + type uint32 { + range "60 .. 600"; + } + default "60"; + description + "Heartbeat interval for keepalive to gateway"; + } + leaf heartbeat-max-skip-count { + type uint32 { + range "3 .. 10"; + } + default "3"; + description + "Heartbeat max skip count for keepalive to gateway"; + } + leaf interface-name { + type string; + description + "EoGRE interface name"; + } + } + + grouping eogre-tunnel-aaa-proxy-key { + description + "AAA tunnel proxy parameters for EoGRE"; + leaf interface-name { + type string { + length "1..128"; + } + description + "AAA proxy interface name"; + } + leaf aaa-key { + type string { + length "1..128"; + } + mandatory true; + description + "AAA key"; + } + leaf aaa-key-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "AAA key type"; + } + leaf auth-port { + type uint16; + default "1645"; + description + "AAA Authentication/Authorization port"; + } + leaf acct-port { + type uint16; + default "1646"; + description + "AAA Accounting port"; + } + } + + container wireless-tunnel-cfg { + description + "Configuration of wireless tunnels"; + container tunnel-profiles { + description + "Configuration of wireless tunnel profiles"; + list tunnel-profile { + must '(count(../tunnel-profile) <= 4096)' { + error-message "There cannot exist more than 4096 tunnel profiles"; + error-app-tag "must-violation"; + } + key "name"; + description + "List of wireless tunnel profile configurations"; + uses wireless-tunnel-cfg:st-tunnel-profile; + } + } + container tunnel-domain-cfgs { + description + "EoGRE tunnel domain configuration"; + list tunnel-domain-cfg { + must "((../tunnel-domain-cfg/primary-tunnel-name != + ../tunnel-domain-cfg/secondary-tunnel-name) or + (../tunnel-domain-cfg/primary-tunnel-name = '') or + (../tunnel-domain-cfg/secondary-tunnel-name = '') + )" { + error-message "Cannot set same tunnel gateway for both primary and secondary"; + error-app-tag "must-violation"; + } + must '(count(../tunnel-domain-cfg) <= 10)' { + error-message "There cannot exist more than 10 tunnel domains"; + error-app-tag "must-violation"; + } + key "name type"; + description + "EoGRE tunnel domain configuration"; + uses tunnel-types:tunnel-domain-index; + uses tunnel-types:tunnel-domain-common; + } + } + container eogre-global-cfg { + description + "Generic parameters for EoGRE"; + uses wireless-tunnel-cfg:eogre-global-cfg; + } + container eogre-tunnel-aaa-proxy-keys { + description + "List of AAA tunnel proxy parameters for EoGRE"; + list eogre-tunnel-aaa-proxy-key { + must "(aaa-key-type = 'clear' or aaa-key-type = 'aes')" { + error-message "AAA key type is required to be 'clear' or 'aes'"; + error-app-tag "must-violation"; + } + key "interface-name"; + description + "AAA tunnel proxy parameters for EoGRE"; + uses wireless-tunnel-cfg:eogre-tunnel-aaa-proxy-key; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-oper.yang new file mode 100644 index 000000000..7a8cf3c0b --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-oper.yang @@ -0,0 +1,159 @@ +module Cisco-IOS-XE-wireless-tunnel-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-tunnel-oper"; + prefix tunnel-oper-data; + + import Cisco-IOS-XE-tunnel-types { + prefix tunnel-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing Tunnel Operational data in Wireless deployments + Copyright (c) 2022-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping ewlc-tunnel-key { + description + "Tunnel key"; + leaf ap { + type yang:mac-address; + description + "AP MAC address"; + } + leaf name { + type string; + description + "Tunnel Gateway name"; + } + } + + grouping tunnel-ap-domain-key { + description + "Tunnel Domain AP key"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf domain-name { + type string; + description + "Domain name"; + } + } + + grouping st-tunnel-ap-domain-data { + description + "Tunnel Domain AP data"; + leaf active-gateway { + type string; + description + "Active Gateway"; + } + } + + grouping st-tunnel-gw-data { + description + "Tunnel Gateway data"; + leaf gw-name { + type string; + description + "Gateway name"; + } + leaf gateway-address { + type inet:ip-address; + description + "Gateway IP address"; + } + leaf type { + type tunnel-types:tunnel-domain-mode; + description + "Tunnel mode"; + } + leaf intf-type { + type tunnel-types:tunnel-intf-mode; + description + "Tunnel interface type"; + } + leaf status { + type tunnel-types:tunnel-intf-status; + description + "Tunnel interface status"; + } + leaf admin-status { + type tunnel-types:tunnel-intf-status; + description + "Tunnel interface admin status"; + } + leaf mtu { + type uint32; + units "bytes"; + description + "MTU of the interface"; + } + container stats { + description + "Tunnel statistics"; + uses tunnel-types:tunnel-stats; + } + leaf source-interface { + type string; + description + "Tunnel source interface"; + } + leaf source-address { + type inet:ip-address; + description + "Tunnel source interface IP address"; + } + } + + container tunnel-oper-data { + config false; + description + "Tunnel oper"; + list tunnel-ap-gw-data { + key "ap name"; + description + "Tunnel Gateway representation on AP"; + uses tunnel-oper-data:ewlc-tunnel-key; + uses tunnel-oper-data:st-tunnel-gw-data; + } + list tunnel-domain-ap-data { + key "ap-mac domain-name"; + description + "Tunnel Domain representation on AP"; + uses tunnel-oper-data:st-tunnel-ap-domain-data; + uses tunnel-oper-data:tunnel-ap-domain-key; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-types.yang new file mode 100644 index 000000000..f224a6fc7 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-tunnel-types.yang @@ -0,0 +1,170 @@ +module Cisco-IOS-XE-wireless-tunnel-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-tunnel-types"; + prefix wireless-tunnel-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing tunnel configurations + Copyright (c) 2018-2020, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "2.1.0"; + cisco-semver:module-version "2.1.0"; + } + revision 2020-11-01 { + description + "Add ASCII 32-126 restriction for tunnel rule and domain name"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2020-07-01 { + description + "Add EoGRE DHCP opt82 format"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2020-03-01 { + description + "Added central forwarding"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-01 { + description + "Added semantic version"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef tunnel-dhcp-opt82-mac-format { + type enumeration { + enum raw { + value 0; + description + "Raw mac format "; + } + enum colon-delimited { + value 1; + description + "Colon delimited mac format "; + } + } + description + "Option82 mac format"; + } + + grouping st-tunnel-profile-base { + description + "Configuration of wireless tunnel profile"; + leaf status { + type boolean; + default "false"; + description + "Whether tunnel profile is enabled"; + } + leaf aaa-override { + type boolean; + default "false"; + description + "Whether AAA override is enabled"; + } + leaf aaa-proxy { + type boolean; + default "false"; + description + "Whether AAA proxy is enabled"; + } + leaf aaa-accounting-proxy { + type boolean; + description + "Whether AAA accounting proxy is enabled"; + } + leaf opt82-enable { + type boolean; + description + "Whether DHCP-opt82 is enabled"; + } + leaf opt82-ascii { + type boolean; + description + "Whether DHCP Option 82 format is ASCII. Binary if false"; + } + leaf opt82-delimiter { + type string { + length "0 .. 1"; + } + description + "DHCP-opt82 Delimiter character"; + } + leaf central-fwd { + type boolean; + description + "Whether Central forwarding is enabled"; + } + leaf mac-format { + type wireless-tunnel-types:tunnel-dhcp-opt82-mac-format; + default "raw"; + description + "Option82 mac format"; + } + } + + grouping st-tunnel-rule-base { + description + "Configuration of wireless tunnel rule"; + leaf realm { + type string { + length "0..128"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "The rule realm to match with"; + } + leaf vlan-id { + type uint32 { + range "1 .. 4094"; + } + description + "The rule VLAN"; + } + leaf domain-name { + type string { + length "0..128"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "The rule's destination domain name"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-types.yang new file mode 100644 index 000000000..bf9f05709 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-types.yang @@ -0,0 +1,5196 @@ +module Cisco-IOS-XE-wireless-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-types"; + prefix wireless-types; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wireless common data types. + Copyright (c) 2016-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added enumeration for 320 mhz channel width support + - Added enumeration for 802.11 multi-link operation state"; + reference + "6.6.0"; + cisco-semver:module-version "6.6.0"; + } + revision 2024-03-01 { + description + "-Adding proxy username and password for AP."; + reference + "6.5.0"; + cisco-semver:module-version "6.5.0"; + } + revision 2023-11-01 { + description + "Added ethernet POE-out state field for power profile."; + reference + "6.4.0"; + cisco-semver:module-version "6.4.0"; + } + revision 2023-07-01 { + description + "Added enumeration for 802.11 invalid radio band."; + reference + "6.3.0"; + cisco-semver:module-version "6.3.0"; + } + revision 2023-03-01 { + description + "Added AP 6GHz power mode information"; + reference + "6.2.0"; + cisco-semver:module-version "6.2.0"; + } + revision 2022-11-01 { + description + "- Added spatial stream and related constraints for radio under power profile + - Added AP DART connection status enum + - Update yang-version to 1.1 + - Added trustpoint certificate types"; + reference + "6.1.0"; + cisco-semver:module-version "6.1.0"; + } + revision 2022-07-01 { + description + "- Added enumerations for staggered AP upgrade accounting actions + - Added an enum for AP radio crash data + - Modified enum definition for mesh link test data rate idx 25 and 295 + - Added new FRA band switch reason + - Modified enum for AP disconnect reason"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2022-03-01 { + description + "- Added key for mesh AP tree + - Added sniffer radio role + - Added power profile information + - Added reserved CAC channel information + - Modified constraint for ethernet speed parameter + - Added a new enum for AP and WLAN sorting"; + reference + "5.9.0"; + cisco-semver:module-version "5.9.0"; + } + revision 2021-11-01 { + description + "- Added a new enum for AP disconnect event + - Added custom string option for NAS-ID"; + reference + "5.8.0"; + cisco-semver:module-version "5.8.0"; + } + revision 2021-07-01 { + description + "- Added a new enumeration for mesh dot11ax backhaul rate + - Added 6 GHz band and flag for Rf profile misconfiguration + - Added a new enum for tag misconfiguration + - Added 802.11 protocol enablement for 2.4GHz band + - Added radio slot and band information"; + reference + "5.7.0"; + cisco-semver:module-version "5.7.0"; + } + revision 2021-03-01 { + description + "- Added enumerations for staggered AP upgrade procedure status, failure reason and mode of operation + - Added AP certificate policy enumeration + - Changed terminology black list to exclusion list + - Extended DTLS cipher enumeration to include new cipher type"; + reference + "5.6.0"; + cisco-semver:module-version "5.6.0"; + } + revision 2020-11-01 { + description + "- AP disconnect reason enumeration added + - Added new sensitivity levels for Flexible Radio Assignment"; + reference + "5.5.0"; + cisco-semver:module-version "5.5.0"; + } + revision 2020-07-01 { + description + "- Added new AP reboot reason enumerations + - Updated description for sensor mode + - Added new elliptical curve cipher suite enumeration + - Updated descriptions for DTLS version and cipher-suite configurations + - Added EWC predownload status enumerations"; + reference + "5.4.0"; + cisco-semver:module-version "5.4.0"; + } + revision 2020-03-01 { + description + "- Added flags indicating 802.11k Radio Measurement Enabled Capabilities of a client + - Added a new composite key for RADIUS counters data. + - Added support for AP proxy"; + reference + "5.3.0"; + cisco-semver:module-version "5.3.0"; + } + revision 2019-11-01 { + description + "- Updated enum for dot11 radio subtype"; + reference + "5.2.0"; + cisco-semver:module-version "5.2.0"; + } + revision 2019-09-05 { + description + "- Added a new enum for radio frequency and few key definitions. + - Added semantic version. + - Added a new enum for clear AP config operation type. + - Added new enum radio-slot-antenna-type"; + reference + "5.1.0"; + cisco-semver:module-version "5.1.0"; + } + revision 2019-03-18 { + description + "- Added new enum for mesh link test config status. + - Removed enum mesh-adj-state-max. + - Removed enum mesh-node-pkt-queue-invalid. + - Removed enum enm_mesh_ap_neigh_type. + - Adding new enum for dot11 radio band type. + - Cleaned up spelling errors in descriptions. + - Adding new enum for dot11 radio subtype. + - Updated enum type for band. + - Adding new enum for dot11 radio band type. + - Adding new enum for Radio Role Flexibility (RRF) Redundancy, Metric and Silent + - Add enm-band-switch-reason + - Add ap-staggered-upgrade-one-shot to enum-ewlc-ap-upgrade-config. + - Added enumeration to describe max channel width cap when channel width is set to best + - Cleaned enum initialization + - Added new enum for AP misconfigured tag + - Removed FQDN URL action max enum and added none + - Removed hard coded values for enum-ewlc-ap-upgrade-config + - Removed enum pre-download-max-states + - Updated enm-fra-sensor-coverage-profile enum"; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-05-01 { + description + "Enumeration enum-ewlc-lsc-key-size value changes to support 2048-4096 RSA key range"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-22 { + description + "Enumeration value changes"; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef w-config-type { + type enumeration { + enum config-auto { + value 1; + description + "Configuration type is Auto"; + } + enum customized { + value 2; + description + "Configuration type is Static"; + } + } + description + "Possible values for configuration type"; + } + + typedef ewlc-url-crud { + type enumeration { + enum fqdn-url-none { + value 0; + description + "No URL filter list"; + } + enum fqdn-url-add { + value 1; + description + "Add new URL to the url filter list"; + } + enum fqdn-url-no-change { + value 2; + description + "There is no change for this given URL in the urlfilter list"; + } + enum fqdn-url-delete { + value 3; + description + "Delete the given URL in the urlfilter list "; + } + } + description + "This action type helps to identify if any particular URL in the URL list has to be created, deleted or has not changed in this update action"; + } + + typedef ewlc-url-rule-type { + type enumeration { + enum urllist-bl { + value 1; + description + "url filter list type exclusion list"; + } + enum urllist-wl { + value 2; + description + "url filter list type allowed list"; + } + } + description + "This is the filter type for the given url-filter list which dictates if it has to be used as have exclusion list or allowed list"; + } + + typedef ewlc-url-filter-type { + type enumeration { + enum pre-auth-url-type { + value 1; + description + "pre authentication url filter type"; + } + enum post-auth-url-type { + value 2; + description + "post authentication url filter type"; + } + } + description + "This is the filter type for the given url-filter list which dictates if it has to be used as have post auth or pre auth filter"; + } + + typedef enm-dtls-version { + type enumeration { + enum dtls-10 { + value 0; + description + "DTLS-1.0"; + } + enum dtls-12 { + value 1; + description + "DTLS-1.2"; + } + enum dtls-all { + value 2; + description + "Configure default DTLS version settings"; + } + } + description + "enumeration for DTLS versions"; + } + + typedef enm-ciphersuite { + type enumeration { + enum tls-null-with-null-null { + value 0; + description + "Configure default cipher-suite(s)"; + } + enum tls-rsa-aes128-cbc-sha { + value 1; + description + "TLS_RSA_AES128_CBC_SHA cipher suite"; + } + enum tls-dhe-rsa-aes128-cbc-sha { + value 2; + description + "TLS_DHE_RSA_AES128_CBC_SHA cipher suite"; + } + enum tls-dhe-rsa-aes256-cbc-sha { + value 3; + description + "TLS_DHE_RSA_AES256_CBC_SHA cipher suite"; + } + enum tls-dhe-rsa-aes256-cbc-sha256 { + value 4; + description + "TLS_DHE_RSA_AES256_CBC_SHA256 cipher suite"; + } + enum tls-ecdhe-ecdsa-aes128-gcm-sha256 { + value 5; + description + "TLS_ECDHE_ECDSA_AES128_GCM_SHA256 cipher suite"; + } + enum tls-ecdhe-ecdsa-aes256-gcm-sha384 { + value 6; + description + "TLS_ECDHE_ECDSA_AES256_GCM_SHA384 cipher suite"; + } + enum tls-ecdhe-rsa-aes128-gcm-sha256 { + value 7; + description + "TLS_ECDHE_RSA_AES128_GCM_SHA256 cipher suite"; + } + enum tls-rsa-aes256-gcm-sha384 { + value 8; + description + "TLS_RSA_AES256_GCM_SHA384 cipher suite"; + } + } + description + "enumeration for DTLS versions"; + } + + typedef enum-xor-radio-mode { + type enumeration { + enum xor-radio-mode-local { + value 1; + description + "Xor radio mode manual client serving"; + } + enum xor-radio-mode-monitor { + value 2; + description + "Xor radio mode manual monitor"; + } + enum xor-radio-mode-sensor { + value 3; + description + "Xor radio mode manual sensor"; + } + enum xor-radio-mode-sniffer { + value 4; + description + "Xor radio mode manual sniffer"; + } + } + description + "Enumeration for XOR Radio mode"; + } + + typedef enm-ewlc-spam-ap-modes { + type enumeration { + enum local-mode { + value 0; + description + "Local"; + } + enum mode-monitor { + value 1; + description + "Monitor"; + } + enum mode-flex-connect { + value 2; + description + "FlexConnect"; + } + enum mode-rogue-detector { + value 3; + description + "Rogue Detector"; + } + enum mode-sniffer { + value 4; + description + "Sniffer"; + } + enum mode-bridge { + value 5; + description + "Bridge"; + } + enum mode-se-connect { + value 6; + description + "SE-Connect"; + } + enum mode-remote-bridge { + value 7; + description + "Remote Bridge"; + } + enum mode-hybrid-flexconnect { + value 8; + description + "FlexConnect"; + } + enum mode-sensor { + value 9; + description + "Sensor mode is not supported"; + } + } + description + "Enumeration for spam AP mode"; + } + + typedef enm-ewlc-ap-radio-modes { + type enumeration { + enum radio-mode-invalid { + value 0; + description + "Radio mode Invalid"; + } + enum radio-mode-local { + value 1; + description + "Radio mode Local"; + } + enum radio-mode-monitor { + value 2; + description + "Radio mode Monitor"; + } + enum radio-mode-flex-connect { + value 3; + description + "Radio mode FlexConnect"; + } + enum radio-mode-rogue-detector { + value 4; + description + "Radio mode Rogue Detector"; + } + enum radio-mode-sniffer { + value 5; + description + "Radio mode Sniffer"; + } + enum radio-mode-bridge { + value 6; + description + "Radio mode Bridge"; + } + enum radio-mode-se-connect { + value 7; + description + "Radio mode SE-Connect"; + } + enum radio-mode-remote-bridge { + value 8; + description + "Radio mode Remote Bridge"; + } + enum radio-mode-hybrid-flexconnect { + value 9; + description + "Radio mode FlexConnect"; + } + enum radio-mode-sensor { + value 10; + description + "Radio mode Sensor"; + } + } + description + "Enumeration for AP radio mode"; + } + + typedef ap-radio-subtype { + type enumeration { + enum ap-radio-subtype-main { + value 0; + description + "Dot11 radio subtype main"; + } + enum ap-radio-subtype-rx-only { + value 1; + description + "Dot11 radio subtype Rx only"; + } + enum ap-radio-subtype-slave-ac { + value 2; + description + "Dot11 radio subtype slave AC"; + } + enum ap-radio-subtype-rem-lan { + value 3; + description + "Dot11 radio subtype remote lan"; + } + enum ap-radio-subtype-tx-rx { + value 4; + description + "Dot11 radio subtype Tx Rx"; + } + enum ap-radio-subtype-slave { + value 5; + description + "Dot11 radio subtype Slave"; + } + } + description + "Enum for dot11 radio subtype"; + } + + typedef ap-6ghz-pwr-mode { + type enumeration { + enum ap-6ghz-pwr-mode-invalid { + value 0; + description + "AP 6GHz radio power mode invalid"; + } + enum ap-6ghz-pwr-mode-lpi { + value 1; + description + "AP 6GHz radio power mode low power indoor"; + } + enum ap-6ghz-pwr-mode-sp { + value 2; + description + "AP 6GHz radio power mode standard power"; + } + } + description + "AP radio is in low power or standard power mode"; + } + + typedef enm-ip-address-type { + type enumeration { + enum unknown { + value 0; + description + "IP address type unknown"; + } + enum ipv4 { + value 1; + description + "IP address type version 4"; + } + enum ipv6 { + value 2; + description + "IP address type version 6"; + } + enum ipv4z { + value 3; + description + "IP address type version 4z"; + } + enum ipv6z { + value 4; + description + "IP address type version 6z"; + } + } + description + "Enumeration for IP address type"; + } + + typedef enum-ap-ipv6-addr-method { + type enumeration { + enum unknown-method { + value 0; + description + "Method used by AP to join over IPv6 is unknown"; + } + enum static { + value 1; + description + "Method used by AP to join over IPv6 is Static"; + } + enum dhcpv6 { + value 2; + description + "Method used by AP to join over IPv6 is DHCPv6"; + } + enum slaac { + value 3; + description + "Method used by AP to join over IPv6 is SLAAC"; + } + } + description + "Enum for IPv6 address assignment method"; + } + + typedef enm-hyperlocation-reason { + type enumeration { + enum hyperlocation-reason-none { + value 0; + description + "No reason"; + } + enum hyperlocation-reason-unknown { + value 1; + description + "Unknown reason"; + } + enum hyperlocation-reason-disabled { + value 2; + description + "Hyperlocation administratively disabled"; + } + enum hyperlocation-reason-ntp { + value 3; + description + "No NTP server"; + } + enum hyperlocation-reason-nmsp { + value 4; + description + "No active NMSP connection"; + } + enum hyperlocation-reason-no-nexthop { + value 5; + description + "No nexthop"; + } + } + description + "Enumeration of all down reasons for operational status on an AP profile"; + } + + typedef ap-misconfig-tags { + type enumeration { + enum ap-tag-configured { + value 0; + description + "Ap tags configured successfully"; + } + enum ap-policy-tag-misconfigured { + value 1; + description + "Ap Policy-tag is misconfigured"; + } + enum ap-site-tag-misconfigured { + value 2; + description + "Ap Site-tag is misconfigured"; + } + enum ap-rf-tag-misconfigured { + value 3; + description + "Ap Rf-tag is misconfigured"; + } + enum ap-profile-tag-misconfigured { + value 4; + description + "Ap Profile-tag is misconfigured"; + } + enum ap-flex-profile-misconfigured { + value 5; + description + "Ap Flex-profile is misconfigured"; + } + enum ap-rf-profile-24ghz-misconfigured { + value 6; + description + "Ap Rf-profile-24ghz is misconfigured"; + } + enum ap-rf-profile-5ghz-misconfigured { + value 7; + description + "Ap Rf-profile-5ghz is misconfigured"; + } + enum ap-rf-profile-6ghz-misconfigured { + value 8; + description + "Ap 6 GHz RF profile is misconfigured"; + } + enum ap-profile-country-misconfigured { + value 9; + description + "AP profile is misconfigured due to country misconfiguration"; + } + } + description + "Enum for AP misconfigure tag"; + } + + typedef enm-hyperlocation-method { + type enumeration { + enum hyperlocation-method-unknown { + value 0; + description + "Unknown hyperlocation method"; + } + enum hyperlocation-method-wsm { + value 1; + description + "Hyperlocation method - WSM"; + } + enum hyperlocation-method-halo { + value 2; + description + "HYPERLOCATION METHOD WSM2"; + } + enum hyperlocation-method-halo-antenna { + value 3; + description + "HYPERLOCATION METHOD WSM2+Ant"; + } + enum hyperlocation-method-local { + value 4; + description + "HYPERLOCATION METHOD Local"; + } + enum hyperlocation-method-none { + value 5; + description + "HYPERLOCATION METHOD None"; + } + } + description + "Enumeration for hyperlocation methods"; + } + + typedef enm-hyperlocation-ap-tlv-received { + type enumeration { + enum hyperlocation-ap-tlv-invalid { + value 0; + description + "Invalid hyperlocation AP TLV state"; + } + enum hyperlocation-ap-tlv-received { + value 1; + description + "Hyperlocation AP TLV received from AP"; + } + enum hyperlocation-ap-tlv-not-received { + value 2; + description + "Hyperlocation AP TLV not received from AP"; + } + } + description + "Enumeration for hyperlocation AP TLV received state"; + } + + typedef download-protocol { + type enumeration { + enum protocol-none { + value 0; + description + "unknown protocol"; + } + enum protocol-ftp { + value 1; + description + "protocol is ftp"; + } + enum protocol-sftp { + value 2; + description + "protocol is sftp"; + } + enum protocol-tftp { + value 3; + description + "protocol is tftp"; + } + enum protocol-http { + value 4; + description + "protocol is http"; + } + enum protocol-scp { + value 5; + description + "protocol is scp"; + } + } + description + "enumeration for download protocol"; + } + + typedef enm-ap-sort { + type enumeration { + enum ap-top-by-clients { + value 1; + description + "Sort by number of clients in descending order"; + } + enum ap-bottom-by-clients { + value 2; + description + "Sort by number of clients in ascending order"; + } + enum ap-top-by-data-usage { + value 3; + description + "Sort by data usage in descending order"; + } + enum ap-bottom-by-data-usage { + value 4; + description + "Sort by data usage in ascending order"; + } + enum ap-top-by-through-put { + value 5; + description + "Sort by throughput in descending order"; + } + enum ap-bottom-by-through-put { + value 6; + description + "Sort by throughput in descending order"; + } + } + description + "AP sorting methods"; + } + + typedef enm-wlan-sort { + type enumeration { + enum wlan-top-by-clients { + value 1; + description + "Sort by number of clients in descending order"; + } + enum wlan-bottom-by-clients { + value 2; + description + "Sort by number of clients in ascending order"; + } + enum wlan-top-by-data-usage { + value 3; + description + "Sort by data usage in descending order"; + } + enum wlan-bottom-by-data-usage { + value 4; + description + "Sort by data usage in ascending order"; + } + } + description + "WLAN sorting methods"; + } + + typedef enm-shut-down-reason { + type enumeration { + enum reason-shutdown-global-shut { + value 0; + description + "radio shut down reason - globally shut"; + } + enum reason-shutdown-profile-shut { + value 1; + description + "radio shut down reason - RF profile shut"; + } + enum reason-shutdown-global-and-profile-shut { + value 2; + description + "radio shut down reason - profile is shut, so is radio at a global level"; + } + enum reason-shutdown-up { + value 3; + description + "radio shut down reason - AP is shut down"; + } + } + description + "ap shutdown reason"; + } + + typedef syslog-trap-level { + type enumeration { + enum syslog-level-emergency { + value 0; + description + "emergency"; + } + enum syslog-level-alert { + value 1; + description + "alert"; + } + enum syslog-level-critical { + value 2; + description + "critical"; + } + enum syslog-level-errors { + value 3; + description + "errors"; + } + enum syslog-level-warning { + value 4; + description + "warning"; + } + enum syslog-level-notification { + value 5; + description + "notification"; + } + enum syslog-level-information { + value 6; + description + "information"; + } + enum syslog-level-debug { + value 7; + description + "debug"; + } + } + description + "syslog level for the syslog messages sent from AP to syslog server"; + } + + typedef enm-predownload-status { + type enumeration { + enum pre-dwnld-none { + value 0; + description + "pre download status is None"; + } + enum pre-dwnld-initiated { + value 1; + description + "Initiated"; + } + enum pre-dwnld-in-progress { + value 2; + description + "Pre-downloading"; + } + enum pre-dwnld-complete { + value 3; + description + "Complete"; + } + enum pre-dwnld-unsupported { + value 4; + description + "Not supported"; + } + enum pre-dwnld-failed { + value 5; + description + "Failed"; + } + } + description + "enumeration for AP pre-download command status"; + } + + typedef enm-predwnld-status-ewc { + type enumeration { + enum ewc-predwnld-none { + value 0; + description + "EWC predownload none"; + } + enum ewc-ctrl-dwnld-init { + value 1; + description + "EWC controller download initiated"; + } + enum ewc-ctrl-dwnld-inprog { + value 2; + description + "EWC controller download in progress"; + } + enum ewc-ctrl-dwnld-complete { + value 3; + description + "EWC controller download complete"; + } + enum ewc-ctrl-dwnld-failed { + value 4; + description + "EWC controller download failed"; + } + enum ewc-ap-predwnld-init { + value 5; + description + "EWC AP predownload initiated"; + } + enum ewc-ap-predwnld-inprog { + value 6; + description + "EWC AP predownload in progress"; + } + enum ewc-ap-predwnld-complete { + value 7; + description + "EWC AP predownload complete"; + } + enum ewc-ap-predwnld-unsupp { + value 8; + description + "EWC AP predownload unsupported"; + } + enum ewc-ap-predwnld-failed { + value 9; + description + "EWC AP predownload failed"; + } + enum ewc-ctrl-predwnld-inprog { + value 10; + description + "EWC controller predownload in progress"; + } + enum ewc-ctrl-predwnld-complete { + value 11; + description + "EWC controller predownload complete"; + } + enum ewc-ctrl-predwnld-failed { + value 12; + description + "EWC controller predownload failed"; + } + enum ewc-activated { + value 13; + description + "EWC predownload activated"; + } + enum ewc-act-failed { + value 14; + description + "EWC predownload activation failed"; + } + } + description + "enumeration for EWC AP pre-download command status"; + } + + typedef enm-ap-end-events { + type enumeration { + enum ev-default { + value 0; + description + "Default state of the event loop"; + } + enum ev-no-event { + value 1; + description + "NO_EVENT"; + } + enum ev-capwap-api-reset { + value 2; + description + "Reset by API"; + } + enum ev-dtls-hwsession-failure { + value 3; + description + "DTLS session failure"; + } + enum ev-reset-resp-msg { + value 4; + description + "Reset response msg"; + } + enum ev-dtls-sess-closed { + value 5; + description + "DTLS session closed"; + } + enum ev-heartbeat-timer-expiry { + value 6; + description + "Heartbeat timer expiry"; + } + enum ev-req-tx-fail { + value 7; + description + "Message timer expiry"; + } + enum ev-image-download-status { + value 8; + description + "Image download status"; + } + enum ev-internal-error { + value 9; + description + "event loop internal error"; + } + enum ev-high-memory { + value 10; + description + "Event high AP memory consumption"; + } + enum ev-high-cpu { + value 11; + description + "Event high AP CPU consumption"; + } + } + description + "Enums specifies the group of AP end events"; + } + + typedef enm-ap-end-transition-states { + type enumeration { + enum default-value { + value 0; + description + "DEFAULT Value"; + } + enum init-phase { + value 1; + description + "INIT Phase"; + } + enum join-wait { + value 2; + description + "JOIN_WAIT"; + } + enum join-process { + value 3; + description + "Join Process"; + } + enum join-auth-wait { + value 4; + description + "JOIN_AUTH_WAIT"; + } + enum joined { + value 5; + description + "JOINED"; + } + enum config-phase1 { + value 6; + description + "CONFIG_PHASE1"; + } + enum image-download { + value 7; + description + "IMAGE_DOWNLOAD"; + } + enum change-state-req-processed { + value 8; + description + "CHANGE_STATE_REQ_PROCESSED"; + } + enum data-sess-wait { + value 9; + description + "DATA_SESS_WAIT"; + } + enum run { + value 10; + description + "RUN STATE"; + } + enum reset { + value 11; + description + "RESET"; + } + enum config-status-process { + value 12; + description + "CONFIG_STATUS_PROCESS"; + } + } + description + "enumeration for AP end transition states"; + } + + typedef spam-ap-reboot-reason { + type enumeration { + enum ap-reboot-reason-none { + value 0; + description + "unknown reason for AP reboot"; + } + enum ap-reboot-reason-11-g-mode { + value 1; + description + "Reason for AP disconnect - Mode changed to 11g"; + } + enum ap-reboot-reason-ip-addr-set { + value 2; + description + "Reason for AP disconnect - IP addressed set for AP"; + } + enum ap-reboot-reason-ip-addr-reset { + value 3; + description + "Reason for AP reboot/disconnect - AP IP address is reset"; + } + enum ap-reboot-reason-reboot-cmd { + value 4; + description + "Reason for AP reboot/disconnect - AP reboot command specified"; + } + enum ap-reboot-reason-dhcp-fallback { + value 5; + description + "Reason for AP reboot/disconnect - AP could not fallback to dhcp"; + } + enum ap-reboot-reason-discovery { + value 6; + description + "Reason for AP reboot/disconnect - AP could not send discovery"; + } + enum ap-reboot-reason-join-resp { + value 7; + description + "Reason for AP reboot/disconnect - AP did not receive join response"; + } + enum ap-reboot-reason-deny-join { + value 8; + description + "Reason for AP reboot/disconnect - Join denied by the controller"; + } + enum ap-reboot-reason-config-resp { + value 9; + description + "Reason for AP reboot/disconnect - Configuration response denied"; + } + enum ap-reboot-reason-config-mwar { + value 10; + description + "Reason for AP reboot/disconnect - found configured or master mwar"; + } + enum ap-reboot-reason-img-upgrade { + value 11; + description + "Reason for AP reboot/disconnect - AP Image upgraded"; + } + enum ap-reboot-reason-img-opcode { + value 12; + description + "Reason for AP reboot/disconnect - invalid image data opcode in the Image message from the WLC"; + } + enum ap-reboot-reason-img-chksum { + value 13; + description + "Reason for AP reboot/disconnect - invalid image MD5 checksum in the image msg from wlc"; + } + enum ap-reboot-reason-img-data { + value 14; + description + "Reason for AP reboot/disconnect - image data msg timeout"; + } + enum ap-reboot-reason-cfgfile { + value 15; + description + "Reason for AP reboot/disconnect - invalid config file"; + } + enum ap-reboot-reason-img-error { + value 16; + description + "Reason for AP reboot/disconnect - image download process error"; + } + enum ap-reboot-reason-ap-reboot-cmd { + value 17; + description + "Reason for AP reboot disconnect- reboot cmd from AP console"; + } + enum ap-reboot-reason-rap-ota-map { + value 18; + description + "Reason for AP reboot/disconnect - RAP is connected over the air"; + } + enum ap-reboot-reason-power-low { + value 19; + description + "Reason for AP reboot/disconnect - Low power"; + } + enum ap-reboot-reason-power-high { + value 20; + description + "Reason for AP reboot/disconnect - Too high power"; + } + enum ap-reboot-reason-power-loss { + value 21; + description + "Reason for AP reboot/disconnect - power loss"; + } + enum ap-reboot-reason-power-chg { + value 22; + description + "Reason for AP reboot/disconnect - Change of power level"; + } + enum ap-reboot-reason-comp-fail { + value 23; + description + "Reason for AP reboot/disconnect - hardware component failure"; + } + enum ap-reboot-reason-watchdog { + value 24; + description + "Reason for AP reboot/disconnect- HW watchdog timer reboot"; + } + enum ap-reboot-reason-lsc-enabled { + value 25; + description + "Reason for AP reboot/disconnect - LSC enabled"; + } + enum ap-reboot-reason-lsc-disabled { + value 26; + description + "Reason for AP reboot/disconnect - LSC disabled"; + } + enum ap-reboot-reason-lsc-provision-timeout { + value 27; + description + "Reason for AP reboot/disconnect - LSC Provisioning Timeout"; + } + enum ap-reboot-reason-lsc-max-prov-retry { + value 28; + description + "Reason for AP reboot/disconnect - max provision req retries"; + } + enum ap-reboot-reason-lsc-load-failure { + value 29; + description + "Reason for AP reboot/disconnect - LSC load failure"; + } + enum ap-reboot-reason-lsc-join-failure { + value 30; + description + "Reason for AP reboot/disconnect - LSC Join Failure"; + } + enum ap-reboot-reason-capwap-timer-failure { + value 31; + description + "Reason for AP reboot/disconnect - Capwap timer failure"; + } + enum ap-reboot-reason-fail-disc-with-dhcp-ip { + value 32; + description + "Reason for AP reboot/disconnect - Failed to discover WLC after maximum attempt"; + } + enum ap-reboot-reason-vlan-tag-failover { + value 33; + description + "Reason for AP reboot/disconnect - Failed to discover WLC using vlan tag config, fallback to untagged"; + } + enum ap-reboot-reason-vlan-tag-retry { + value 34; + description + "Reason for AP reboot/disconnect - Failed to discover WLC using failover to untagged, retry tagged"; + } + enum ap-reboot-reason-ipv6-addr-set { + value 35; + description + "Reason for AP reboot/disconnect - set static ipv6 address"; + } + enum ap-reboot-reason-mode-change { + value 36; + description + "Reason for AP reboot/disconnect- reboot AP as AP mode changed"; + } + enum ap-reboot-reason-ap-type-changed-to-capwap { + value 37; + description + "Reason for AP reboot/disconnect - reboot AP as AP type is changed from ME to CAPWAP"; + } + enum ap-reboot-reason-ap-type-changed-to-me { + value 38; + description + "Reason for AP reboot/disconnect - reboot AP as AP type is changed from CAPWAP to Embedded Wireless Controller"; + } + enum ap-reboot-reason-erase-cfg-cmd { + value 39; + description + "Reason for AP reboot/disconnect - Config command erased"; + } + enum ap-reboot-reason-oeap-mode-cfg-upload { + value 40; + description + "Reason for AP reboot/disconnect - OEAP Mode Configuration Upload"; + } + enum ap-reboot-reason-lag-cfg { + value 41; + description + "Reason for AP reboot/disconnect - LAG Configuration Change"; + } + enum ap-reboot-reason-fips-mode-change { + value 42; + description + "Reason for AP reboot/disconnect - Change in FIPS or CC Mode"; + } + enum ap-reboot-reason-diminished-pwr-change { + value 43; + description + "Reason for AP reboot/disconnect - Change in Diminished Power"; + } + enum ap-reboot-reason-slub-debug { + value 44; + description + "Reason for AP reboot/disconnect - Slub debug"; + } + enum ap-reboot-reason-lsc-mode-capwap { + value 45; + description + "Reason for AP reboot - LSC for CAPWAP"; + } + enum ap-reboot-reason-lsc-mode-dot1x { + value 46; + description + "Reason for AP reboot - LSC for 802.1x"; + } + enum ap-reboot-reason-lsc-mode-all { + value 47; + description + "Reason for AP reboot - LSC for all"; + } + enum ap-reboot-reason-ap-type-changed-to-cloud { + value 48; + description + "Reason for AP reboot - AP type changed to cloud"; + } + enum ap-reboot-reason-dtls-init-failure { + value 49; + description + "Reason for AP reboot - DTLS init failure"; + } + enum ap-reboot-reason-pnp-no-capwap-backoff { + value 50; + description + "Reason for AP reboot - In no CAPWAP backoff mode for more than 24 hours"; + } + enum ap-reboot-reason-day0-config-failure { + value 51; + description + "Reason for AP reboot - Day 0 config failure"; + } + enum ap-reboot-reason-day1-config-failure { + value 52; + description + "Reason for AP reboot - Day 1 config failure"; + } + enum ap-reboot-reason-pnp-triggered-reload { + value 53; + description + "Reason for AP reboot - Triggered by PnP server"; + } + enum ap-reboot-reason-tri-radio-support { + value 54; + description + "Reason for AP reboot - Tri-radio support change"; + } + enum ap-reboot-reason-indoor-deployment { + value 55; + description + "Reason for AP reboot - Indoor Deployment"; + } + enum ap-reboot-reason-ap-type-changed-from-wgb-to-capwap { + value 56; + description + "Reason for AP reboot - AP type changed from WGB to CAPWAP"; + } + enum ap-reboot-reason-ap-type-changed-from-cloud-to-capwap { + value 57; + description + "Reason for AP reboot - AP type changed from cloud to CAPWAP"; + } + enum ap-reboot-reason-ap-type-changed-to-wgb { + value 58; + description + "Reason for AP reboot - AP type changed from CAPWAP to WGB"; + } + } + description + "enumeration for reboot reason"; + } + + typedef spam-ap-reboot-types { + type enumeration { + enum ap-reboot-link-failure { + value 0; + description + "ap reboot reason - link failure"; + } + enum ap-reboot-spam-initiated { + value 1; + description + "ap reboot reason - initiated by code"; + } + enum ap-reboot-crash { + value 2; + description + "ap reboot reason - AP crashed"; + } + } + description + "Various reasons for AP reboot"; + } + + typedef spam-ap-disconnect-reason { + type enumeration { + enum unkown { + value 0; + description + "Unknown reason for disconnect "; + } + enum wtp-post-join-timer-expired { + value 1; + description + "Join timer expired"; + } + enum wtp-wait-dtls-timer-expired { + value 2; + description + "Dtls time expired"; + } + enum wtp-join-response-decode-failed { + value 3; + description + "Decode failed for join response"; + } + enum wtp-img-data-resp-decode-failed { + value 4; + description + "Decode failed for image data response"; + } + enum wtp-config-status-decode-failed { + value 5; + description + "Decode failed for config status"; + } + enum wtp-change-state-report-send-failed { + value 6; + description + "Failed to send state change report"; + } + enum wtp-udi-info-send-failed { + value 7; + description + "UDI info send failed"; + } + enum wtp-data-dtls-init-failed { + value 8; + description + "Failed to initiate Data DTLS handshake"; + } + enum wtp-heartbeat-timer-start-failed { + value 9; + description + "Failed to start heart beat timer"; + } + enum wtp-echo-timer-start-failed { + value 10; + description + "Failed to start periodic echo timer"; + } + enum wtp-max-retransmission-reached { + value 11; + description + "Max retransmit counter reached"; + } + enum wtp-found-master-mwar { + value 12; + description + "Found master controller"; + } + enum wtp-found-configured-primary-mwar { + value 13; + description + "Found primary WLC"; + } + enum wtp-found-configured-secondary-mwar { + value 14; + description + "Found secondary WLC"; + } + enum wtp-found-configured-tertiary-mwar { + value 15; + description + "Found tertiary WLC"; + } + enum wtp-ip-addr-set-to-static { + value 16; + description + "Static IP address set"; + } + enum wtp-ip-addr-reset { + value 17; + description + "IP address reset"; + } + enum wtp-image-error { + value 18; + description + "AP image error"; + } + enum wtp-capwap-sm-restart { + value 19; + description + "CAPWAP state machine restart"; + } + enum wtp-controller-initiated-reason { + value 20; + description + "WLC initiated"; + } + enum wtp-dtls-session-est-fail { + value 21; + description + "Dtls session establishment failed"; + } + enum wtp-wait-dtls-no-join-response { + value 22; + description + "Join response not received"; + } + enum wtp-img-resp-error-image-rejected { + value 23; + description + "WLC rejected image"; + } + enum wtp-img-resp-err-db-entry-fetch-fail { + value 24; + description + "Image response error. Failed to get database entry"; + } + enum wtp-img-req-err-db-entry-fetch-fail { + value 25; + description + "Image request error. Failed to get database entry"; + } + enum wtp-img-req-err-decode-fail { + value 26; + description + "Unknown reason for AP reboot"; + } + enum wtp-img-req-err-img-data-resp-fail { + value 27; + description + "Failed to send Image data response"; + } + enum wtp-img-req-err-predownload-fail { + value 28; + description + "Image predownload failed"; + } + enum wtp-img-req-err-activate-fail { + value 29; + description + "Image activate fail"; + } + enum wtp-reboot-mode-change-11g { + value 30; + description + "Reboot due to mode change 11G"; + } + enum wtp-reboot-mode-change-wgb { + value 31; + description + "Reboot due to mode change WGB"; + } + enum wtp-reboot-mode-change-me { + value 32; + description + "Reboot due to mode change ME"; + } + enum wtp-reboot-mode-change-cloud { + value 33; + description + "Reboot due to mode change cloud"; + } + enum wtp-reboot-mode-change-capwap { + value 34; + description + "Reboot due to mode change CAPWAP"; + } + enum wtp-reboot-image-upgrade { + value 35; + description + "Image upgrade"; + } + enum wtp-reboot-user-cmd { + value 36; + description + "Reboot due to user command"; + } + enum wtp-reboot-erase-cfg-cmd { + value 37; + description + "Reboot due to erase config command"; + } + enum wtp-reboot-dimished-pwr-change { + value 38; + description + "Reboot due to diminished power change"; + } + enum wtp-capwap-cli-restart { + value 39; + description + "User command CAPWAP restart"; + } + enum wtp-reboot-mode-change-site-survey { + value 40; + description + "Reboot due to mode change site survey"; + } + } + description + "Enumeration for AP disconnect reason"; + } + + typedef enm-client-network-preference { + type enumeration { + enum connectivity { + value 0; + description + "connectivity"; + } + enum throughput { + value 1; + description + "throughput"; + } + enum default { + value 2; + description + "default"; + } + } + description + "Enums specifies the group of client network preferences"; + } + + typedef radio-sub-mode { + type enumeration { + enum radio-sub-mode-none { + value 0; + description + "Radio sub mode None"; + } + enum radio-sub-mode-auto { + value 1; + description + "Radio sub mode Auto"; + } + enum ap-radio-sub-mode-manual { + value 2; + description + "Radio sub mode Manual"; + } + } + description + "Enum for radio sub mode"; + } + + typedef enm-fra-sensitivity { + type enumeration { + enum fra-sensitivity-high { + value 1; + description + "high (90%)"; + } + enum fra-sensitivity-medium { + value 2; + description + "medium (95%)"; + } + enum fra-sensitivity-low { + value 3; + description + "low (100%)"; + } + enum fra-sensitivity-higher { + value 4; + description + "higher (85%)"; + } + enum fra-sensitivity-even-higher { + value 5; + description + "even higher (80%)"; + } + enum fra-sensitivity-super-high { + value 6; + description + "super high (50%)"; + } + } + description + "Enums specifies the group of Flexible radio Sensitivity"; + } + + typedef enm-fra-service-priority { + type enumeration { + enum fra-service-priority-coverage { + value 0; + description + "Configures FRA Service Priority to Coverage"; + } + enum fra-service-priority-client-aware { + value 1; + description + "Configures FRA Service Priority to Client Aware"; + } + enum fra-service-priority-service-assurance { + value 2; + description + "Configures FRA Service Priority to Service Assurance"; + } + } + description + "Enums specifies service priority for XOR radio used by FRA algorithm"; + } + + typedef enm-fra-sensor-coverage-profile { + type enumeration { + enum fra-sensor-coverage-client-priority { + value 0; + description + "FRA sensor coverage client priority"; + } + enum fra-sensor-coverage-client-preferred { + value 1; + description + "FRA sensor coverage client preferred"; + } + enum fra-sensor-coverage-balanced { + value 2; + description + "FRA sensor coverage balanced"; + } + enum fra-sensor-coverage-sensor-preferred { + value 3; + description + "FRA sensor coverage sensor priority"; + } + enum fra-sensor-coverage-sensor-priority { + value 4; + description + "FRA sensor coverage sensor preferred"; + } + } + description + "Enums specifies sensor coverage for FRA based selection"; + } + + typedef enm-band-switch-reason { + type enumeration { + enum band-switch-reason-none { + value 0; + description + "Band switch has not happened"; + } + enum band-switch-reason-chd { + value 1; + description + "Band Switch due to CHD"; + } + enum band-switch-reason-hyperlocation { + value 2; + description + "Band Switch due to Hyperlocation"; + } + enum band-switch-reason-revert { + value 3; + description + "Band Switch due to Band Revert"; + } + enum band-switch-reason-fra { + value 4; + description + "Band Switch due to FRA"; + } + enum band-switch-reason-manul { + value 5; + description + "Band Switch due to Manual band change"; + } + enum band-switch-reason-sensor { + value 6; + description + "Band Switch due to Sensor"; + } + enum band-switch-reason-client-aware-fra { + value 7; + description + "Band Switch due to Client Aware FRA"; + } + enum band-switch-reason-network-assurance-fra { + value 8; + description + "Band Switch due to Network Assurance FRA"; + } + enum band-switch-reason-fra-5-6ghz { + value 9; + description + "Band switch due to FRA 5/6GHz"; + } + } + description + "Set of reasons for Dual band radio band switch"; + } + + typedef ap-role { + type enumeration { + enum ap-role-root { + value 1; + description + "ap role is root AP"; + } + enum ap-role-mesh { + value 2; + description + "ap role is mesh ap"; + } + } + description + "Enumeration for Role of AP in case of bridge mode AP"; + } + + typedef mesh-security-mode { + type enumeration { + enum mesh-security-mode-eap { + value 0; + description + "wireless mesh security mode eap"; + } + enum mesh-security-mode-psk { + value 1; + description + "wireless mesh security mode psk"; + } + } + description + "wireless mesh security mode"; + } + + typedef mesh-bhaul-radio-type { + type enumeration { + enum mesh-bhaul-radio-unknown { + value 0; + description + "Indicates 802.11 interface type of mesh downlink backhaul is unknown"; + } + enum mesh-bhaul-radio-24ghz { + value 1; + description + "Indicates 802.11bg radio interface is used as mesh downlink backhaul"; + } + enum mesh-bhaul-radio-5ghz { + value 2; + description + "Indicates 802.11a radio interface is used as mesh downlink backhaul"; + } + } + description + "Represents 802.11 Radio type of the mesh downlink backhaul"; + } + + typedef mesh-bhaul-data-rate-type { + type enumeration { + enum mesh-bhaul-rate-auto { + value 0; + description + "Indicates auto data rate is used for mesh backhaul traffic"; + } + enum mesh-bhaul-rate-type-dot11abg { + value 1; + description + "Indicates 802.11abg rate is used for mesh backhaul traffic"; + } + enum mesh-bhaul-rate-type-dot11n { + value 2; + description + "Indicates 802.11n mcs rate is used for mesh backhaul traffic"; + } + enum mesh-bhaul-rate-type-dot11ac { + value 3; + description + "Indicates 802.11ac mcs rate is used for mesh backhaul traffic"; + } + enum mesh-bhaul-rate-type-dot11ax { + value 4; + description + "Indicates 802.11ax mcs rate is used for mesh backhaul traffic"; + } + } + description + "Represents transmit data rate type used for mesh backhaul traffic"; + } + + typedef mesh-dot11abg-data-rate { + type enumeration { + enum data-rate-auto { + value 0; + description + "Indicates data rate used for mesh backhaul traffic is auto"; + } + enum data-rate-1mbps { + value 1; + description + "Indicates data rate used for mesh backhaul traffic is 1 Mbps"; + } + enum data-rate-2abpsm { + value 2; + description + "Indicates data rate used for mesh backhaul traffic is 2 Mbps"; + } + enum data-rate-5dot5mbps { + value 3; + description + "Indicates data rate used for mesh backhaul traffic is 5.5 Mbps"; + } + enum data-rate-11mbps { + value 4; + description + "Indicates data rate used for mesh backhaul traffic is 11 Mbps"; + } + enum data-rate-6mbps { + value 5; + description + "Indicates data rate used for mesh backhaul traffic is 6 Mbps"; + } + enum data-rate-9mbps { + value 6; + description + "Indicates data rate used for mesh backhaul traffic is 9 Mbps"; + } + enum data-rate-12mbps { + value 7; + description + "Indicates data rate used for mesh backhaul traffic is 12 Mbps"; + } + enum data-rate-18mbps { + value 8; + description + "Indicates data rate used for mesh backhaul traffic is 18 Mbps"; + } + enum data-rate-24mbps { + value 9; + description + "Indicates data rate used for mesh backhaul traffic is 24 Mbps"; + } + enum data-rate-36mbps { + value 10; + description + "Indicates data rate used for mesh backhaul traffic is 36 Mbps"; + } + enum data-rate-48mbps { + value 11; + description + "Indicates data rate used for mesh backhaul traffic is 48 Mbps"; + } + enum data-rate-54mbps { + value 12; + description + "Indicates data rate used for mesh backhaul traffic is 54 Mbps"; + } + } + description + "Represents 802.11abg transmit data rate value for mesh backhaul traffic"; + } + + typedef mesh-multicast-mode { + type enumeration { + enum mesh-multicast-mode-regular { + value 0; + description + "wireless mesh multicast mode regular"; + } + enum mesh-multicast-mode-in { + value 1; + description + "wireless mesh multicast mode in"; + } + enum mesh-multicast-mode-inout { + value 2; + description + "wireless mesh multicast mode inout"; + } + } + description + "wireless mesh multicast mode"; + } + + typedef mesh-convergence-method { + type enumeration { + enum mesh-convergence-standard { + value 0; + description + "wireless mesh convergence method standard"; + } + enum mesh-convergence-fast { + value 1; + description + "wireless mesh convergence method fast"; + } + enum mesh-convergence-veryfast { + value 2; + description + "wireless mesh convergence method very fast"; + } + enum mesh-convergence-noise-tolerant-fast { + value 3; + description + "wireless mesh convergence method noise tolerant fast"; + } + } + description + "wireless mesh convergence method"; + } + + typedef mesh-adj-state { + type enumeration { + enum mesh-adj-state-uninit { + value 0; + description + "adjacency state uninitialized"; + } + enum mesh-adj-state-scan { + value 1; + description + "adjacency state scan"; + } + enum mesh-adj-state-preseek { + value 2; + description + "adjacency state pre-seek"; + } + enum mesh-adj-state-seek { + value 3; + description + "adjacency state seek"; + } + enum mesh-adj-state-sync { + value 4; + description + "adjacency state sync"; + } + enum mesh-adj-state-maint { + value 5; + description + "adjacency state maintenance"; + } + } + description + "Mesh adjacency state"; + } + + typedef mesh-bhaul-mode { + type enumeration { + enum mesh-bhaul-mode-select-default { + value 0; + description + "Represents 802.11 interface type of the backhaul link"; + } + enum mesh-bhaul-mode-select-11a { + value 1; + description + "802.11a radio is used as backhaul link"; + } + enum mesh-bhaul-mode-select-11b { + value 4; + description + "802.11b radio is used as backhaul link"; + } + enum mesh-bhaul-mode-select-11g { + value 8; + description + "802.11g radio is used as backhaul link"; + } + } + description + "Represents 802.11 interface type of the backhaul link"; + } + + typedef mesh-node-pkt-queue-type { + type enumeration { + enum mesh-node-pkt-queue-silver { + value 0; + description + "queue for Best Effort packets"; + } + enum mesh-node-pkt-queue-gold { + value 1; + description + "queue for Video Application"; + } + enum mesh-node-pkt-queue-platinum { + value 2; + description + "queue for Voice Application"; + } + enum mesh-node-pkt-queue-bronze { + value 3; + description + "queue for Background"; + } + enum mesh-node-pkt-queue-mgmt { + value 4; + description + "queue for management frames"; + } + } + description + "Represents different type of priority queues in a mesh node"; + } + + typedef ethernet-port-type { + type enumeration { + enum port-type-normal { + value 0; + description + "Port type is normal"; + } + enum port-type-access { + value 1; + description + "Port type is access"; + } + enum port-type-trunk { + value 2; + description + "Port type is trunk"; + } + } + description + "Port type for the ethernet interface of the AP"; + } + + typedef mesh-node-battery-alarm { + type enumeration { + enum mesh-node-battery-overload { + value 256; + description + "Alarm for battery overload"; + } + enum mesh-node-battery-acfail { + value 512; + description + "Alarm for battery AC Fail"; + } + enum mesh-node-battery-low { + value 1024; + description + "Alarm for low battery"; + } + enum mesh-node-battery-replace { + value 2048; + description + "Alarm for replacing battery"; + } + enum mesh-node-battery-unknown { + value 4096; + description + "Undefined battery alarm"; + } + enum mesh-node-battery-missing { + value 8192; + description + "Alarm for missing battery"; + } + } + description + "Represents different alarms for external battery of Mesh Access Point"; + } + + typedef enm-atf-client-state { + type enumeration { + enum atf-client-state-none { + value 0; + description + "Client usage by a client on its associated AP radio is unknown"; + } + enum atf-client-state-low-usage { + value 1; + description + "Client usage by a client on its associated AP radio is low"; + } + enum atf-client-state-reg-usage { + value 2; + description + "Client usage by a client on its associated AP radio is regular"; + } + enum atf-client-state-over-usage { + value 3; + description + "Client usage by a client on its associated AP radio is high"; + } + } + description + "Client usage by a client on its associated AP radio"; + } + + typedef enm-atf-mesh-node-role { + type enumeration { + enum atf-mesh-node-role-parent { + value 1; + description + "AirTime Fairness mesh node role is parent"; + } + enum atf-mesh-node-role-child { + value 2; + description + "AirTime Fairness mesh node role is child"; + } + } + description + "AirTime Fairness mesh node role"; + } + + typedef enm-atf-mesh-link { + type enumeration { + enum atf-mesh-link-universal-client-access { + value 1; + description + "AirTime Fairness mesh link is universal client access"; + } + enum atf-mesh-link-backhaul-access-only { + value 2; + description + "AirTime Fairness mesh link is backhaul access only"; + } + enum atf-mesh-link-client-access-only { + value 3; + description + "AirTime Fairness mesh link is client access only"; + } + } + description + "AirTime Fairness mesh link"; + } + + typedef mesh-linktest-rate { + type enumeration { + enum ewlc-mesh-linktest-rate-1m { + value 1; + description + "Indicates data rate used for mesh linktest is 1 Mbps"; + } + enum ewlc-mesh-linktest-rate-2m { + value 2; + description + "Indicates data rate used for mesh linktest is 2 Mbps"; + } + enum ewlc-mesh-linktest-rate-5m { + value 5; + description + "Indicates data rate used for mesh linktest is 5.5 Mbps"; + } + enum ewlc-mesh-linktest-rate-6m { + value 6; + description + "Indicates data rate used for mesh linktest is 6 Mbps"; + } + enum ewlc-mesh-linktest-rate-9m { + value 9; + description + "Indicates data rate used for mesh linktest is 9 Mbps"; + } + enum ewlc-mesh-linktest-rate-11m { + value 11; + description + "Indicates data rate used for mesh linktest is 11 Mbps"; + } + enum ewlc-mesh-linktest-rate-12m { + value 12; + description + "Indicates data rate used for mesh linktest is 12 Mbps"; + } + enum ewlc-mesh-linktest-rate-18m { + value 18; + description + "Indicates data rate used for mesh linktest is 18 Mbps"; + } + enum ewlc-mesh-linktest-rate-24m { + value 24; + description + "Indicates data rate used for mesh linktest is 24 Mbps"; + } + enum ewlc-mesh-linktest-rate-36m { + value 36; + description + "Indicates data rate used for mesh linktest is 36 Mbps"; + } + enum ewlc-mesh-linktest-rate-48m { + value 48; + description + "Indicates data rate used for mesh linktest is 48 Mbps"; + } + enum ewlc-mesh-linktest-rate-54m { + value 54; + description + "Indicates data rate used for mesh linktest is 54 Mbps"; + } + enum ewlc-mesh-linktest-rate-108m { + value 108; + description + "Indicates data rate used for mesh linktest is 108 Mbps"; + } + enum ewlc-mesh-linktest-rate-mcs0 { + value 256; + description + "Indicates data rate used for mesh linktest is mcs0"; + } + enum ewlc-mesh-linktest-rate-mcs1 { + value 257; + description + "Indicates data rate used for mesh linktest is mcs1"; + } + enum ewlc-mesh-linktest-rate-mcs2 { + value 258; + description + "Indicates data rate used for mesh linktest is mcs2"; + } + enum ewlc-mesh-linktest-rate-mcs3 { + value 259; + description + "Indicates data rate used for mesh linktest is mcs3"; + } + enum ewlc-mesh-linktest-rate-mcs4 { + value 260; + description + "Indicates data rate used for mesh linktest is mcs4"; + } + enum ewlc-mesh-linktest-rate-mcs5 { + value 261; + description + "Indicates data rate used for mesh linktest is mcs5"; + } + enum ewlc-mesh-linktest-rate-mcs6 { + value 262; + description + "Indicates data rate used for mesh linktest is mcs6"; + } + enum ewlc-mesh-linktest-rate-mcs7 { + value 263; + description + "Indicates data rate used for mesh linktest is mcs7"; + } + enum ewlc-mesh-linktest-rate-mcs8 { + value 264; + description + "Indicates data rate used for mesh linktest is mcs8"; + } + enum ewlc-mesh-linktest-rate-mcs9 { + value 265; + description + "Indicates data rate used for mesh linktest is mcs9"; + } + enum ewlc-mesh-linktest-rate-mcs10 { + value 266; + description + "Indicates data rate used for mesh linktest is mcs10"; + } + enum ewlc-mesh-linktest-rate-mcs11 { + value 267; + description + "Indicates data rate used for mesh linktest is mcs11"; + } + enum ewlc-mesh-linktest-rate-mcs12 { + value 268; + description + "Indicates data rate used for mesh linktest is mcs12"; + } + enum ewlc-mesh-linktest-rate-mcs13 { + value 269; + description + "Indicates data rate used for mesh linktest is mcs13"; + } + enum ewlc-mesh-linktest-rate-mcs14 { + value 270; + description + "Indicates data rate used for mesh linktest is mcs14"; + } + enum ewlc-mesh-linktest-rate-mcs15 { + value 271; + description + "Indicates data rate used for mesh linktest is mcs15"; + } + } + description + "Represents transmit data rate value for mesh link test"; + } + + typedef mesh-linktest-cfg-status { + type enumeration { + enum mesh-linktest-start { + value 0; + description + "Mesh link test starts"; + } + enum mesh-linktest-free { + value 1; + description + "Mesh link test is free"; + } + enum mesh-linktest-get-results { + value 2; + description + "Mesh link test collects result"; + } + enum mesh-linktest-get-results-sampled { + value 3; + description + "Mesh link test samples result"; + } + enum mesh-linktest-invalid-destination { + value 4; + description + "Mesh link test destination is invalid "; + } + enum mesh-linktest-starting { + value 5; + description + "Mesh link test is starting"; + } + enum mesh-linktest-in-progress { + value 6; + description + "Mesh link test in progress"; + } + enum mesh-linktest-complete { + value 7; + description + "Mesh link test completes"; + } + enum mesh-linktest-failed { + value 8; + description + "Mesh link test fails"; + } + } + description + "Enum for mesh link test config status"; + } + + typedef mesh-linktest-rate-idx { + type enumeration { + enum ewlc-mesh-linktest-rate-idx-1 { + value 1; + description + "Indicates data rate index used for mesh linktest is 1(1 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-2 { + value 2; + description + "Indicates data rate index used for mesh linktest is 2 (2 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-3 { + value 3; + description + "Indicates data rate index used for mesh linktest is 3 (5.5 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-4 { + value 4; + description + "Indicates data rate index used for mesh linktest is 4 (6 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-5 { + value 5; + description + "Indicates data rate index used for mesh linktest is 5 (9 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-6 { + value 6; + description + "Indicates data rate index used for mesh linktest is 6 (11 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-7 { + value 7; + description + "Indicates data rate index used for mesh linktest is 7 (12 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-8 { + value 8; + description + "Indicates data rate index used for mesh linktest is 8 (18 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-9 { + value 9; + description + "Indicates data rate index used for mesh linktest is 9 (24 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-10 { + value 10; + description + "Indicates data rate index used for mesh linktest is 10 (36 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-11 { + value 11; + description + "Indicates data rate index used for mesh linktest is 11 (48 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-12 { + value 12; + description + "Indicates data rate index used for mesh linktest is 12 (54 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-13 { + value 13; + description + "Indicates data rate index used for mesh linktest is 13 (108 Mbps)"; + } + enum ewlc-mesh-linktest-rate-idx-14 { + value 14; + description + "Indicates data rate index used for mesh linktest is 14 (mcs0)"; + } + enum ewlc-mesh-linktest-rate-idx-15 { + value 15; + description + "Indicates data rate index used for mesh linktest is 15 (mcs1)"; + } + enum ewlc-mesh-linktest-rate-idx-16 { + value 16; + description + "Indicates data rate index used for mesh linktest is 16 (mcs2)"; + } + enum ewlc-mesh-linktest-rate-idx-17 { + value 17; + description + "Indicates data rate index used for mesh linktest is 17 (mcs3)"; + } + enum ewlc-mesh-linktest-rate-idx-18 { + value 18; + description + "Indicates data rate index used for mesh linktest is 18 (mcs4)"; + } + enum ewlc-mesh-linktest-rate-idx-19 { + value 19; + description + "Indicates data rate index used for mesh linktest is 19 (mcs5)"; + } + enum ewlc-mesh-linktest-rate-idx-20 { + value 20; + description + "Indicates data rate index used for mesh linktest is 20 (mcs6)"; + } + enum ewlc-mesh-linktest-rate-idx-21 { + value 21; + description + "Indicates data rate index used for mesh linktest is 21 (mcs7)"; + } + enum ewlc-mesh-linktest-rate-idx-22 { + value 22; + description + "Indicates data rate index used for mesh linktest is 22 (mcs8)"; + } + enum ewlc-mesh-linktest-rate-idx-23 { + value 23; + description + "Indicates data rate index used for mesh linktest is 23 (mcs9)"; + } + enum ewlc-mesh-linktest-rate-idx-24 { + value 24; + description + "Indicates data rate index used for mesh linktest is 24 (mcs10)"; + } + enum ewlc-mesh-linktest-rate-idx-25 { + value 25; + description + "Indicates data rate index used for mesh linktest is 25 (mcs11)"; + } + enum ewlc-mesh-linktest-rate-idx-26 { + value 26; + description + "Indicates data rate index used for mesh linktest is 26 (mcs12)"; + } + enum ewlc-mesh-linktest-rate-idx-27 { + value 27; + description + "Indicates data rate index used for mesh linktest is 27 (mcs13)"; + } + enum ewlc-mesh-linktest-rate-idx-28 { + value 28; + description + "Indicates data rate index used for mesh linktest is 28 (mcs14)"; + } + enum ewlc-mesh-linktest-rate-idx-29 { + value 29; + description + "Indicates data rate index used for mesh linktest is 29 (mcs15)"; + } + } + description + "Represents transmit data rate index value for mesh link test"; + } + + typedef enm-nas-id-options { + type enumeration { + enum nas-id-not-configured { + value 0; + description + "NAS-ID not configured"; + } + enum nas-id-sys-name { + value 1; + description + "NAS-ID configured for system name"; + } + enum nas-id-sys-ip { + value 2; + description + "NAS-ID configured for system IP"; + } + enum nas-id-sys-mac { + value 3; + description + "NAS-ID configured for system MAC"; + } + enum nas-id-ap-ip { + value 4; + description + "NAS-ID configured for AP IP"; + } + enum nas-id-ap-name { + value 5; + description + "NAS-ID configured for AP name"; + } + enum nas-id-ap-mac { + value 6; + description + "NAS-ID configured for AP MAC"; + } + enum nas-id-ap-eth-mac { + value 7; + description + "NAS-ID configured of AP ethernet MAC"; + } + enum nas-id-ap-policy-tag { + value 8; + description + "NAS-ID configured for AP policy-tag"; + } + enum nas-id-ap-site-tag { + value 9; + description + "NAS-ID configured for AP site-tag"; + } + enum nas-id-ssid { + value 10; + description + "NAS-ID configured for bssid"; + } + enum nas-id-ap-location { + value 11; + description + "NAS-ID configured for AP location"; + } + enum nas-id-custom-string { + value 12; + description + "Custom string for NAS-ID"; + } + } + description + "Enumeration for NAS-ID options"; + } + + typedef enm-radio-frequency { + type enumeration { + enum radio-24-ghz { + value 0; + description + "Radio frequency is 2.4GHz"; + } + enum radio-5-ghz { + value 1; + description + "Radio frequency is 5GHz"; + } + } + description + "Enum to represent the radio frequency"; + } + + typedef enum-trustpoint-cert-type { + type enumeration { + enum trustpoint-unknown { + value 0; + description + "Unknown"; + } + enum trustpoint-mic { + value 1; + description + "Manufacturer installed certificate"; + } + enum trustpoint-ssc { + value 2; + description + "Self signed certificate"; + } + enum trustpoint-lsc { + value 3; + description + "Locally signed certificate"; + } + } + description + "Trustpoint certificate type"; + } + + typedef enum-ewlc-lsc-key-size { + type enumeration { + enum lsc-keysize-2048 { + value 0; + description + "CSR key size is 2048"; + } + enum lsc-keysize-3072 { + value 1; + description + "CSR key size is 3072"; + } + enum lsc-keysize-4096 { + value 2; + description + "CSR key size is 4096"; + } + } + description + "Size of the key with which AP generates a certificate signing request for LSC"; + } + + typedef lsc-prov-status { + type enumeration { + enum lsc-prov-disable { + value 0; + description + "Disable AP LSC provisioning for all APs"; + } + enum lsc-prov-enable-all { + value 1; + description + "Enable LSC provisioning for all joined APs"; + } + enum lsc-prov-enable-provision-list { + value 2; + description + "Enable LSC provisioning for all APs in the LSC Provision list"; + } + } + description + "LSC Provisioning status that indicates if the provisioning is Disabled/Enabled for all/Enabled to a provision list"; + } + + typedef enm-ap-cert-policy { + type enumeration { + enum ap-cert-policy-default { + value 0; + description + "Default certificate policy"; + } + enum ap-cert-policy-mic { + value 1; + description + "MIC certificate policy"; + } + } + description + "Certificate policy used during AP join"; + } + + typedef enm-host-mode { + type enumeration { + enum single-host-mode { + value 0; + description + "Rlan single host mode"; + } + enum multi-host-mode { + value 1; + description + "Rlan multi host mode"; + } + enum multi-domain-mode { + value 2; + description + "Rlan multi domain mode"; + } + } + description + "Enumeration for rlan host mode"; + } + + typedef enm-violation-mode { + type enumeration { + enum violation-mode-replace { + value 0; + description + "Rlan replace violation mode"; + } + enum violation-mode-shutdown { + value 1; + description + "Rlan shutdown violation mode"; + } + enum violation-mode-protect { + value 2; + description + "Rlan protect violation mode"; + } + } + description + "Enumeration for rlan violation mode"; + } + + typedef enm-cts-sxp-conn-mode { + type enumeration { + enum cts-sxp-connection-mode-speaker { + value 1; + description + "Cts sxp config connection mode"; + } + enum cts-sxp-connection-mode-listener { + value 2; + description + "Cts sxp config connection mode"; + } + enum cts-sxp-connection-mode-both { + value 3; + description + "Cts sxp config connection mode"; + } + } + description + "Enumeration for cts sxp configuration"; + } + + typedef enm-cts-sxp-password-type { + type enumeration { + enum cts-sxp-connection-password-none { + value 0; + description + "Cts sxp config connection password none"; + } + enum cts-sxp-connection-password-default { + value 2; + description + "Cts sxp config connection password default "; + } + } + description + "Enumeration for cts sxp configuration"; + } + + typedef enum-ewlc-ap-upgrade-config { + type enumeration { + enum ap-staggered-upgrade-percent-5 { + value 0; + description + "AP_UPGRADE 5% AP per iteration"; + } + enum ap-staggered-upgrade-percent-15 { + value 1; + description + "AP_UPGRADE 15% AP per iteration"; + } + enum ap-staggered-upgrade-percent-25 { + value 2; + description + "AP_UPGRADE 25% AP per iteration"; + } + enum ap-staggered-upgrade-one-shot { + value 3; + description + "AP upgrade in one shot"; + } + } + description + "Staggered AP Upgrade"; + } + + typedef enum-ap-upgrade-accounting-action { + type enumeration { + enum ap-upg-acc-action-none { + value 0; + description + "No action should be taken and continue the upgrade"; + } + enum ap-upg-acc-action-stop { + value 1; + description + "Stop the AP upgrade"; + } + } + description + "AP upgrade action to be taken when less than specified percent of APs have joined back during accounting"; + } + + typedef enum-ap-upgrade-type { + type enumeration { + enum ap-upgrade-type-test { + value 0; + description + "Test AP upgrade"; + } + enum ap-upgrade-type-production { + value 1; + description + "Production AP upgrade"; + } + enum ap-upgrade-type-forced { + value 2; + description + "Forced AP upgrade"; + } + enum ap-upgrade-type-production-destination { + value 3; + description + "Production AP upgrade with destination name and ip"; + } + enum ap-upgrade-type-move { + value 4; + description + "This AP upgrade type just moves APs instead of upgrading APs"; + } + enum ap-upgrade-type-move-report { + value 5; + description + "This AP upgrade type just moves APs based on existing report"; + } + } + description + "Type of the AP upgrade"; + } + + typedef ap-upg-status { + type enumeration { + enum ap-upg-in-prgrs { + value 0; + description + "AP upgrade procedure in progress"; + } + enum ap-upg-cmpltd { + value 1; + description + "AP upgrade procedure completed"; + } + enum ap-upg-abrtd { + value 2; + description + "AP upgrade procedure aborted"; + } + enum ap-upg-psd { + value 3; + description + "AP upgrade procedure paused"; + } + enum ap-upg-fb-wt { + value 4; + description + "AP upgrade has completed upgrading APs and moving them to mobility peer and waiting for controller to reboot with new image"; + } + enum ap-upg-intrptd { + value 5; + description + "AP upgrade procedure interrupted"; + } + enum ap-upg-stopped { + value 6; + description + "AP upgrade procedure was stopped"; + } + } + description + "Status of AP upgrade procedure"; + } + + typedef ap-upgd-status { + type enumeration { + enum ap-upgd-st-na { + value 0; + description + "AP status not available"; + } + enum ap-upgd-rld { + value 1; + description + "AP reloaded"; + } + enum ap-upgd-jnd-bk { + value 2; + description + "AP joined the same controller"; + } + enum ap-upgd-jnd-mbr { + value 3; + description + "AP joined a member controller after reboot"; + } + enum ap-upgd-msng { + value 4; + description + "AP is missing after reboot"; + } + enum ap-upgd-nt-impctd { + value 5; + description + "AP is not impacted by the upgrade"; + } + } + description + "AP upgrade procedure AP status"; + } + + typedef ap-upg-mode { + type enumeration { + enum ap-upg-md-na { + value 0; + description + "AP upgrade mode not available"; + } + enum ap-upg-md-src { + value 1; + description + "AP upgrade report is generated on the source controller"; + } + enum ap-upg-md-dst { + value 2; + description + "AP upgrade report is generated on the destination controller"; + } + } + description + "AP upgrade procedure mode"; + } + + typedef ap-upg-support { + type enumeration { + enum ap-upg-sup-ap { + value 0; + description + "AP is supported"; + } + enum ap-upg-sup-incr-bk-img { + value 1; + description + "AP is not supported due to incorrect backup image"; + } + enum ap-upg-sup-md-nt-sup { + value 2; + description + "Mesh APs are not supported"; + } + enum ap-upg-sup-actv-me { + value 3; + description + "EWC internal AP"; + } + } + description + "AP upgrade procedure AP selection reason"; + } + + typedef ap-upg-operation-type { + type enumeration { + enum ap-upg-opr-na { + value 0; + description + "AP upgrade operation not available"; + } + enum ap-upg-opr-aply { + value 1; + description + "AP upgrade operation site-filter applied"; + } + enum ap-upg-opr-clr { + value 2; + description + "AP upgrade operation site-filter cleared"; + } + enum ap-upg-opr-instl { + value 3; + description + "AP upgrade operation image installation"; + } + enum ap-upg-opr-img { + value 4; + description + "AP upgrade operation image upgrade CLI"; + } + } + description + "AP upgrade operation type"; + } + + typedef ap-upg-fallback-type { + type enumeration { + enum ap-upg-fb-na { + value 0; + description + "AP upgrade fallback type not applicable"; + } + enum ap-upg-fb-only { + value 1; + description + "AP upgrade fallback type fallback only"; + } + enum ap-upg-fb-rst { + value 2; + description + "AP upgrade fallback type reset only"; + } + enum ap-upg-fb-rst-fb { + value 3; + description + "AP upgrade fallback type reset followed by fallback"; + } + } + description + "AP upgrade fallback type"; + } + + typedef ap-upg-failure-reason { + type enumeration { + enum ap-upg-fl-na { + value 0; + description + "AP upgrade failure none"; + } + enum ap-upg-fl-dst-nt-rsp { + value 1; + description + "AP upgrade failure destination controller not responding"; + } + enum ap-upg-fl-dst-nt-rdy { + value 2; + description + "AP upgrade failure destination controller not ready"; + } + enum ap-upg-fl-mblty-tnl-dwn { + value 3; + description + "AP upgrade failure mobility tunnel down"; + } + enum ap-upg-fl-init-to { + value 4; + description + "AP upgrade failure fallback init timeout"; + } + enum ap-upg-acc-ap-missing { + value 5; + description + "AP upgrade process stopped as APs are missing from destination controller"; + } + enum ap-upg-acc-iter-ap-miss { + value 6; + description + "AP upgrade process stopped as specified percent of APs did not join back this iteration"; + } + enum ap-upg-rsn-paused { + value 7; + description + "AP upgrade process is paused because mobility peer is not reachable"; + } + enum ap-upg-rsn-interrupted { + value 8; + description + "AP upgrade process is interrupted due to SSO"; + } + enum ap-upg-fl-user-forced { + value 9; + description + "AP upgrade process is forcibly aborted"; + } + } + description + "AP upgrade failure reason"; + } + + typedef enm-ewlc-dot11-radio-band { + type enumeration { + enum dot11-2-dot-4-ghz-band { + value 1; + description + "Dot11 2.4 GHz radio band"; + } + enum dot11-5-ghz-band { + value 2; + description + "Dot11 5 GHz radio band"; + } + enum dot11-6-ghz-band { + value 3; + description + "Dot11 6 GHz radio band"; + } + enum dot11-invalid-band { + value 0; + description + "Dot11 invalid radio band"; + } + } + description + "ENUM for dot11 radio band type"; + } + + typedef rx-sen-sop-threshold-level { + type enumeration { + enum rrm-ewlc-rxsensop-threshold-auto { + value 0; + description + "rrm ewlc rx sensitivity threshold is auto"; + } + enum rrm-ewlc-rxsensop-threshold-low { + value 1; + description + "rrm ewlc rx sensitivity threshold is low"; + } + enum rrm-ewlc-rxsensop-threshold-medium { + value 2; + description + "rrm ewlc rx sensitivity threshold is medium"; + } + enum rrm-ewlc-rxsensop-threshold-high { + value 3; + description + "rrm ewlc rx sensitivity threshold is high"; + } + enum rrm-ewlc-rxsensop-threshold-custom { + value 4; + description + "rrm ewlc rx sensitivity threshold is custom"; + } + } + description + "rx sensitivity threshold level"; + } + + typedef enm-mesh-node-neigh-state { + type enumeration { + enum enm-mesh-node-neigh-state-updated { + value 0; + description + "Neighbor Mesh AP's state updated"; + } + enum enm-mesh-node-neigh-state-needupdate { + value 1; + description + "Neighbor Mesh AP's state needs update"; + } + enum enm-mesh-node-neigh-state-default { + value 2; + description + "Neighbor Mesh AP's state default"; + } + } + description + "Enumeration for neighbor Mesh AP's neighbor info update state"; + } + + typedef enm-mesh-node-neigh-type { + type enumeration { + enum enm-mesh-node-neigh-type-parent { + value 0; + description + "Neighbor Mesh AP's role parent"; + } + enum enm-mesh-node-neigh-type-tentparent { + value 1; + description + "Neighbor Mesh AP's role tentative parent"; + } + enum enm-mesh-node-neigh-type-neigh { + value 2; + description + "Neighbor Mesh AP's role neighbor"; + } + enum enm-mesh-node-neigh-type-black { + value 3; + description + "Neighbor Mesh AP's are in excluded role"; + } + enum enm-mesh-node-neigh-type-child { + value 4; + description + "Neighbor Mesh AP's role child"; + } + } + description + "Neighbor Mesh AP's role"; + } + + typedef rrf-silent { + type enumeration { + enum rrf-not-silent { + value 0; + description + "RRF radio mode set to client serving"; + } + enum rrf-silent { + value 1; + description + "RRF radio mode set to Monitor"; + } + enum rrf-silent-invalid { + value 199; + description + "Invalid RRF Silent State"; + } + } + description + "Radio Role Flexibility(RRF) Silent state"; + } + + typedef rrf-redundant { + type enumeration { + enum rrf-not-redundant { + value 0; + description + "RRF radio is not redundant"; + } + enum rrf-redundant { + value 1; + description + "RRF radio is marked as redundant"; + } + enum rrf-redundancy-invalid { + value 199; + description + "Invalid RRF Redundancy state"; + } + } + description + "Radio Role Flexibility(RRF) Redundancy state"; + } + + typedef rrf-metric { + type enumeration { + enum rrf-metric-invalid { + value 199; + description + "Invalid RRF Metric"; + } + enum rrf-metric-no-update { + value 200; + description + "RRF Metric indicating the Radio need not be updated for optimization"; + } + enum rrf-metric-radio-disabled { + value 249; + description + "RRF Metric indicating optimization is disabled for this Radio"; + } + } + description + "Radio Role Flexibility(RRF) metric"; + } + + typedef dca-ewlc-chan-width-cap { + type enumeration { + enum dca-ewlc-chan-width-cap-max { + value 0; + description + "MAX ALLOWED"; + } + enum dca-ewlc-chan-width-cap-20-mhz { + value 1; + description + "20 MHz"; + } + enum dca-ewlc-chan-width-cap-40-mhz { + value 2; + description + "40 MHz"; + } + enum dca-ewlc-chan-width-cap-80-mhz { + value 3; + description + "80 MHz"; + } + enum dca-ewlc-chan-width-cap-160-mhz { + value 4; + description + "160 MHz"; + } + enum dca-ewlc-chan-width-cap-320-mhz { + value 5; + description + "320 MHz"; + } + } + description + "enumeration describing channel width"; + } + + typedef tx-power-change-reason { + type enumeration { + enum rrm-txpower-auto { + value 0; + description + "Tx Power Auto"; + } + enum rrm-txpower-auto-default { + value 1; + description + "Tx Power Auto Default"; + } + enum rrm-txpower-auto-max { + value 2; + description + "Tx Power Auto Max"; + } + enum rrm-txpower-static { + value 3; + description + "Tx Power Auto Static"; + } + enum rrm-txpower-chd { + value 4; + description + "Tx Power CHD"; + } + enum rrm-txpower-hd { + value 5; + description + "Tx Power HD"; + } + enum rrm-txpower-unknown { + value 6; + description + "Tx Power unknown"; + } + enum rrm-txpower-6ghz-afc-mini-dca { + value 7; + description + "Tx Power 6GHz AFC local DCA"; + } + enum rrm-txpower-6ghz-afc-validation { + value 8; + description + "Tx Power 6GHz AFC validation"; + } + } + description + "Enum for tx power change"; + } + + typedef radio-reset-detail-cause { + type enumeration { + enum radio-unknown { + value 0; + description + "Unknown reason"; + } + enum radio-monitor-mode { + value 1; + description + "Radio going in or out of monitor mode"; + } + enum radio-promiscous-monitor-mode { + value 2; + description + "Radio going in or out of promiscuous monitor mode"; + } + enum radio-debug { + value 3; + description + "Radio debug tracing turned on/off"; + } + enum radio-pci { + value 4; + description + "PCI bus reset"; + } + enum radio-spl-antenna { + value 5; + description + "Radio started in special mode for directional antenna alignment"; + } + enum radio-dfs-non-root { + value 6; + description + "DFS reset for non-root radio"; + } + enum radio-dfs-no-chan { + value 7; + description + "DFS reset due to no channels available"; + } + enum radio-dfs-no-chan-change { + value 8; + description + "DFS channel change"; + } + enum radio-dfs-wait { + value 9; + description + "DFS reset waiting for available channel"; + } + enum radio-intf { + value 10; + description + "Interface reset"; + } + enum radio-ap-sw-reload { + value 11; + description + "Reset prior to AP software reload"; + } + enum radio-ap-ip-change { + value 12; + description + "AP IP address change"; + } + enum radio-ap-prior-reflash { + value 13; + description + "Reset prior to re-flashing the radio"; + } + enum radio-cck-tx { + value 14; + description + "CCK transmit on dual antennas enable or disable"; + } + enum radio-world-ie { + value 15; + description + "Enable or disable world mode IE"; + } + enum radio-stop-fcc { + value 16; + description + "Stop FCC compliance testing mode"; + } + enum radio-start-fcc { + value 17; + description + "Start FCC compliance testing mode"; + } + enum radio-start-carrier-busy { + value 18; + description + "Carrier busy test via the CLI"; + } + enum radio-incorrect-param { + value 19; + description + "Incorrect radio affecting parameters"; + } + enum radio-fcc-intf-reset { + value 20; + description + "FCC test mode interface reset"; + } + enum radio-config-change { + value 21; + description + "Configuration change"; + } + enum radio-clear-mesh { + value 22; + description + "Clear mesh backhaul"; + } + enum radio-set-mesh-listen { + value 23; + description + "Set as mesh listener"; + } + enum radio-tx-complete { + value 24; + description + "Reset on transmit completion"; + } + enum radio-defer-mcast-complete { + value 25; + description + "Reset on completion of deferred multicast packets"; + } + enum radio-intf-enabled { + value 26; + description + "Radio interface enabled"; + } + enum radio-intf-shutdown { + value 27; + description + "Radio interface shutdown"; + } + enum radio-ap-sw-intf-down { + value 28; + description + "AP software interface going down"; + } + enum radio-ether-link-down { + value 29; + description + "AP ethernet link going down"; + } + enum radio-ap-sw-intf-up { + value 30; + description + "AP software interface coming up"; + } + enum radio-uplink-down { + value 31; + description + "Uplink client going away"; + } + enum radio-uplink-up { + value 32; + description + "Uplink client coming up"; + } + enum radio-radio-config-change { + value 33; + description + "Radio configuration change"; + } + enum radio-extn-support { + value 34; + description + "Symbol phone extension support enabled or disabled"; + } + enum radio-universal-mesh { + value 35; + description + "Universal access (Mesh) disabled"; + } + enum radio-start-rogue-discovery { + value 36; + description + "rogue location discovery protocol start"; + } + enum radio-stop-rogue-discovery { + value 37; + description + "Rogue location discovery protocol stop"; + } + enum radio-test-dfs { + value 38; + description + "Reset due to test DFS command"; + } + enum radio-host-change { + value 39; + description + "Hostname change after association"; + } + enum radio-cmd-routine { + value 40; + description + "Radio interface reset from command routines"; + } + enum radio-cdp-low-power { + value 41; + description + "Inline CDP low power mode holddown"; + } + enum radio-no-report { + value 42; + description + "No reset to be reported while updating radio state on controller"; + } + enum radio-not-used { + value 43; + description + "Not used"; + } + enum radio-set-promiscous { + value 44; + description + "Reset while setting promiscuous mode serving channel"; + } + enum radio-set-offchannel-completed { + value 45; + description + "Off channel in prog is completed while radio waits to be stopped"; + } + enum radio-client-deauth-complete { + value 46; + description + "Deauthentication client completed"; + } + enum radio-radio-reset { + value 47; + description + "Radio Reset"; + } + enum radio-phy-up { + value 48; + description + "State change of PHY mode to up"; + } + enum radio-phy-down { + value 49; + description + "State change of PHY mode to down"; + } + enum radio-ht-up { + value 50; + description + "State change of HT parameter to up"; + } + enum radio-ht-down { + value 51; + description + "State change of HT parameter to down"; + } + enum radio-vht-up { + value 52; + description + "State change of very high throughput parameter to up"; + } + enum radio-vht-down { + value 53; + description + "State change of very high throughput parameter to down"; + } + enum radio-txrx-up { + value 54; + description + "State change of TX RX chain to up"; + } + enum radio-txrx-down { + value 55; + description + "State change of TX RX chain to down"; + } + enum radio-intf-up-channel { + value 56; + description + "Interface up for channel change"; + } + enum radio-intf-down-channel { + value 57; + description + "Interface down for channel change"; + } + enum radio-dfs-up { + value 58; + description + "State change of DFS channel to up"; + } + enum radio-dfs-down { + value 59; + description + "State change of DFS channel to down"; + } + enum radio-auto-bridge-init { + value 60; + description + "Autonomous bridge initialization"; + } + enum radio-auto-bridge-nonroot { + value 61; + description + "Autonomous bridge mode changed to non root"; + } + enum radio-auto-bridge-root { + value 62; + description + "Autonomous bridge mode changed to root"; + } + enum radio-dart-ant-barbados { + value 63; + description + "DART antenna connector detected"; + } + enum radio-dart-ant-barbados-absent { + value 64; + description + "Absence of DART antenna connector"; + } + enum radio-he-up { + value 65; + description + "State change of HE parameter to up"; + } + enum radio-he-down { + value 66; + description + "State change of HE parameter to down"; + } + enum radio-hw-mode-chg { + value 67; + description + "Hardware mode change"; + } + enum radio-dwn-pwr-pol { + value 68; + description + "Radio down due to power policy configuration"; + } + enum radio-empty-channel-list { + value 69; + description + "Radio down due to empty supported channel list for the operating band"; + } + enum radio-rc-dwn-invld-regd { + value 70; + description + "Radio down due to invalid regulatory domain"; + } + enum radio-rc-dwn-6-ghz-afc-resp-expire { + value 71; + description + "Radio down due to 6GHz AFC response expiration"; + } + enum radio-rc-6-ghz-afc-plumb-fail { + value 72; + description + "Radio down due to 6GHz AFC plumb fail"; + } + } + description + "Radio reset detail cause"; + } + + typedef radio-reset-cause { + type enumeration { + enum radio-cause-normal { + value 0; + description + "Radio reset"; + } + enum radio-cause-radio-failure { + value 1; + description + "Radio failure"; + } + enum radio-cause-software { + value 2; + description + "Radio down due to software"; + } + enum radio-cause-poe { + value 3; + description + "Radio down due to POE"; + } + } + description + "Radio reset cause"; + } + + typedef radio-failure-detail-cause { + type enumeration { + enum radio-fc-unknown { + value 0; + description + "Unknown reason"; + } + enum radio-flash { + value 1; + description + "No Response to dot11 flash"; + } + enum radio-reset { + value 2; + description + "No response to interface reset request"; + } + enum radio-start { + value 3; + description + "Failed to start"; + } + enum radio-client-free { + value 4; + description + "Failed to remove not serviced client"; + } + enum radio-tx-state { + value 5; + description + "Unexpected status code after complete packet transmission"; + } + enum radio-tx-stopped { + value 6; + description + "Transmitted packets not reported as successful in 60 seconds"; + } + enum radio-tx-stuck { + value 7; + description + "Tx stuck"; + } + enum radio-tx-ring-addr { + value 8; + description + "Transmitted packet addressed with invalid internal memory address"; + } + enum radio-tx-active-q { + value 9; + description + "Attempt to remove transmit packet from empty queue"; + } + enum radio-tx-inprog { + value 10; + description + "Attempt by driver to free the packet which radio is using"; + } + enum radio-tx-ref-cnt { + value 11; + description + "Attempt to release memory for a completed transmission twice"; + } + enum radio-tx-amsdu-state { + value 12; + description + "Indeterminate status of AMSDU packet"; + } + enum radio-ba-lost { + value 13; + description + "802.11n Block Ack packet assembled for non existing client"; + } + enum radio-cmd-timeout { + value 14; + description + "No response of the command from AP to Radio in 12 seconds"; + } + enum radio-cmd-failed { + value 15; + description + "Failed to execute command from AP reported by Radio"; + } + enum radio-cmd-busy { + value 16; + description + "Incomplete command from AP to the Radio"; + } + enum radio-bap-err { + value 17; + description + "PCMCIA timeout while accessing radio register"; + } + enum radio-load-timeout { + value 18; + description + "AP timed out while loading radio's firmware"; + } + enum radio-load-fail { + value 19; + description + "Radio firmware not accepted by the radio"; + } + enum radio-rx-ptr { + value 20; + description + "Received packet pointing to invalid memory"; + } + enum radio-bus-reset { + value 21; + description + "Unexpected radio reset in 4-radio system"; + } + enum radio-get-code { + value 22; + description + "Firmware image is missing or corrupted"; + } + enum radio-tx-jammed { + value 23; + description + "Resetting only the hardware transmitter was unsuccessful"; + } + enum radio-client-stuck { + value 24; + description + "Client packets stuck in radio for more than 60 sec"; + } + enum radio-spectrum { + value 25; + description + "Spectrum firmware, from clean air module, requires a radio reset"; + } + enum radio-rx-ring-addr { + value 26; + description + "Problem in the radio packet receive buffer"; + } + enum radio-ndp-stuck { + value 27; + description + "NDP packets stuck in radio"; + } + enum radio-freq-cmd-to { + value 28; + description + "Frequent command timeouts in the radio"; + } + enum radio-tx-done { + value 29; + description + "Bad Tx done (or) bad off channel done"; + } + enum radio-rx-inprog-ptr { + value 30; + description + "Bad receive in progress pointer when received a packet from radio"; + } + enum radio-bad-txe-ptr { + value 31; + description + "Bad Tx pointer"; + } + enum radio-rx-ring-index { + value 32; + description + "Bad Rx ring index"; + } + enum radio-tx-stuck-462 { + value 33; + description + "Radio failure due to marvell chipset"; + } + enum radio-iface-bus-down { + value 34; + description + "Radio interface bus down"; + } + enum radio-tx-cmpl-pak { + value 35; + description + "Wrong freeing of Tx completed packet"; + } + enum radio-pak-poison { + value 36; + description + "Not Used"; + } + enum radio-eu-stuck-738 { + value 37; + description + "Encryption engine stuck specific to 8864 radio chipset"; + } + enum radio-beacon-stuck { + value 38; + description + "Beacons not transmitted for last 10 minutes"; + } + enum radio-bad-dtx-in-q { + value 39; + description + "Bad packet in transmit queue"; + } + enum radio-infinite-loop { + value 40; + description + "Infinite loop detected with Tx re-queue client"; + } + enum radio-prefetch { + value 41; + description + "DMA engine locked"; + } + enum radio-offc-stuck { + value 42; + description + "Off channel request stuck in dot11 driver"; + } + enum radio-txrdy-ring-requeue { + value 43; + description + "Transmit block has been freed"; + } + enum radio-fc-no-report { + value 44; + description + "Radio failure due to unknown reason"; + } + enum radio-rx-overrun-stuck { + value 45; + description + "Rx overrun stuck"; + } + enum radio-offq-stuck { + value 46; + description + "Off channel queue stuck in driver"; + } + enum radio-callback-overrun { + value 47; + description + "Radio callback full"; + } + enum radio-phy-tx-error { + value 48; + description + "Packet transmission error in Phy"; + } + enum radio-continuous-tcq-stuck { + value 49; + description + "Radio firmware tagged command queueing is stuck continuously"; + } + enum radio-intermittent-tcq-stuck { + value 50; + description + "Radio firmware tagged command queueing is stuck intermittently"; + } + enum radio-max-scb-leak { + value 51; + description + "Maximum SCB leak"; + } + enum radio-dfs-block-quiet { + value 52; + description + "DFS block quiet reset radio"; + } + enum radio-phy-cal-timeout { + value 53; + description + "PHY CAL timeout"; + } + enum radio-fatal-error { + value 54; + description + "Radio fatal error"; + } + enum radio-soft-lockup { + value 55; + description + "Soft lock up in Driver detected, reset the radio"; + } + } + description + "Radio failure detail cause"; + } + + typedef enm-rrm-grp-member-nack-reason { + type enumeration { + enum rrm-member-nack-invalid { + value 0; + description + "RRM Member NACK Invalid"; + } + enum rrm-member-nack-grp-size-exceeded { + value 1; + description + "RRM Member NACK Group Size Exceeded"; + } + enum rrm-member-nack-inv-grp-order { + value 2; + description + "RRM Member NACK Invalid Group Order"; + } + enum rrm-member-nack-unmatch-grp-id { + value 3; + description + "RRM Member NACK Non-Matching Group ID"; + } + enum rrm-member-nack-unexpected-err { + value 4; + description + "RRM Member NACK Unexpected Error"; + } + enum rrm-member-nack-weak-signal-strength { + value 5; + description + "RRM Member NACK Weak Signal Strength"; + } + enum rrm-member-nack-join-pending { + value 6; + description + "RRM Member NACK Join Pending"; + } + enum rrm-member-nack-not-a-manager { + value 7; + description + "RRM Member NACK not a Manager"; + } + enum rrm-member-nack-grping-delayed { + value 8; + description + "RRM Member NACK Grouping Delayed"; + } + enum rrm-member-nack-grping-disabled { + value 9; + description + "RRM Member NACK Grouping Disabled"; + } + enum rrm-member-nack-invalid-version { + value 10; + description + "RRM Member NACK Invalid Protocol Version"; + } + enum rrm-member-nack-country-code-mismatch { + value 11; + description + "RRM Member NACK Country Code Mismatch"; + } + enum rrm-member-nack-invalid-hierarchy { + value 12; + description + "RRM Member NACK Invalid Hierarchy"; + } + enum rrm-member-nack-already-static-leader { + value 13; + description + "RRM Member NACK Already Static Leader"; + } + enum rrm-member-nack-member-of-another-grp { + value 14; + description + "RRM Member NACK Member of Another Group"; + } + enum rrm-member-nack-unconfigured-static-member { + value 15; + description + "RRM Member NACK Unconfigured Static Member"; + } + enum rrm-member-nack-ctrlr-name-ip-mismatch { + value 16; + description + "RRM Member NACK Controller Name and IP Mismatch"; + } + enum rrm-member-nack-unexpected-memory-err { + value 17; + description + "RRM Member NACK Unexpected Memory Error"; + } + enum rrm-member-nack-rf-domain-mismatch { + value 18; + description + "RRM Member NACK RF Domain Mismatch"; + } + enum rrm-member-nack-split-for-invalid-state-req { + value 19; + description + "RRM Member NACK Split for Invalid State Request"; + } + enum rrm-member-nack-split-transit-static-from-auto { + value 20; + description + "RRM Member NACK Transition to Static From Auto"; + } + enum rrm-member-nack-split-on-user-acton { + value 21; + description + "RRM Member NACK Split due to User Action"; + } + } + description + "RRM group member NACK reason"; + } + + typedef radio-slot-antenna-type { + type enumeration { + enum internal-antenna { + value 1; + description + "Internal Antenna"; + } + enum external-antenna { + value 2; + description + "External Antenna"; + } + enum circular-antenna { + value 3; + description + "Circular Antenna"; + } + } + description + "Enum for radio slot Antenna type"; + } + + typedef ap-clear-config-op-type { + type enumeration { + enum ap-clear-config { + value 0; + description + "Clear config on AP"; + } + enum ap-clear-config-keep-static-ip { + value 1; + description + "Clear config on AP but retain static IP address"; + } + } + description + "Enum to represent AP clear config operation type"; + } + + typedef enm-dart-con-status { + type enumeration { + enum dart-not-cnctd { + value 0; + description + "DART not connected"; + } + enum dart-cnctd { + value 1; + description + "DART connected"; + } + enum dart-na { + value 2; + description + "DART connection not applicable"; + } + } + description + "DART connection status"; + } + + typedef enm-apfvap-dot11bg-policy { + type enumeration { + enum dot11-bg-only { + value 0; + description + "Enable 802.11b and 802.11g protocol"; + } + enum dot11-g-only { + value 1; + description + "Enable 802.11g protocol"; + } + } + description + "802.11 protocols in 2.4 GHz band"; + } + + typedef ap-rad-crash-data-file { + type enumeration { + enum ap-crash-data { + value 1; + description + "AP radio crash data"; + } + enum ap-radio-core-dump-slot-0 { + value 3; + description + "AP radio core dump for slot 0"; + } + enum ap-radio-core-dump-slot-1 { + value 4; + description + "AP radio core dump for slot 1"; + } + enum ap-radio-core-dump-slot-2 { + value 9; + description + "AP radio core dump for slot 2"; + } + enum ap-radio-core-dump-slot-3 { + value 10; + description + "AP radio core dump for slot 3"; + } + } + description + "Types of AP and radio crash data files"; + } + + typedef enm-ewlc-dot11-mlo-state { + type enumeration { + enum ewlc-dot11-mlo-disabled { + value 0; + description + "802.11 multi-link operation state disabled"; + } + enum ewlc-dot11-mlo-enabled { + value 1; + description + "802.11 multi-link operation state enabled"; + } + enum ewlc-dot11-mlo-not-capable { + value 2; + description + "802.11 multi-link operation state not capable"; + } + } + description + "Enum for 802.11 multi-link operation state"; + } + + typedef ap-6ghz-pwr-mode-cap { + type bits { + bit ap-6ghz-lp-mode-cap { + position 0; + description + "AP 6GHz radio low power mode capable"; + } + bit ap-6ghz-sp-mode-cap { + position 1; + description + "AP 6GHz radio standard power mode capable"; + } + } + description + "Ewlc AP 6GHz radio mode capabilities"; + } + + typedef flag-dot11k-rm-capabilities { + type bits { + bit link-measurement { + position 0; + description + "Link Measurement capability enabled"; + } + bit neighbor-report { + position 1; + description + "Neighbor Report capability enabled"; + } + bit parallel-meas { + position 2; + description + "Parallel Measurements capability enabled"; + } + bit repeated-meas { + position 3; + description + "Repeated Measurements capability enabled"; + } + bit meas-mode-passive { + position 4; + description + "Beacon Measurement Mode Passive capability enabled"; + } + bit meas-mode-active { + position 5; + description + "Beacon Measurement Mode Active capability enabled"; + } + bit meas-mode-table { + position 6; + description + "Beacon Measurement Mode Table capability enabled"; + } + bit meas-report-cond { + position 7; + description + "Beacon Measurement Mode Reporting Conditions capability enabled"; + } + bit frame-measurement { + position 8; + description + "Frame Measurement capability enabled"; + } + bit channel-load-meas { + position 9; + description + "Channel Load Measurement capability enabled"; + } + bit noise-histogram-meas { + position 10; + description + "Noise Histogram Measurement capability enabled"; + } + bit statistics-meas { + position 11; + description + "Statistics Measurement capability enabled"; + } + bit lci-meas { + position 12; + description + "LCI Measurement capability enabled"; + } + bit lci-azimuth { + position 13; + description + "LCI Azimuth capability enabled"; + } + bit tx-stream-meas { + position 14; + description + "Transmit Stream / Category Measurement capability enabled"; + } + bit trig-tx-stream-meas { + position 15; + description + "Triggered Transmit Stream / Category Measurement capability enabled"; + } + bit ap-channel-report { + position 16; + description + "AP Channel Report capability enabled"; + } + bit rm-mib { + position 17; + description + "RM MIB capability enabled"; + } + bit oper-max-meas-b0 { + position 18; + description + "Operating Channel Max Measurement Duration bit 0"; + } + bit oper-max-meas-b1 { + position 19; + description + "Operating Channel Max Measurement Duration bit 1"; + } + bit oper-max-meas-b2 { + position 20; + description + "Operating Channel Max Measurement Duration bit 2"; + } + bit non-oper-max-meas-b0 { + position 21; + description + "Non-operating Channel Max Measurement Duration bit 0"; + } + bit non-oper-max-meas-b1 { + position 22; + description + "Non-operating Channel Max Measurement Duration bit 1"; + } + bit non-oper-max-meas-b2 { + position 23; + description + "Non-operating Channel Max Measurement Duration bit 2"; + } + bit meas-pilot-bit-0 { + position 24; + description + "Measurement Pilot capability bit 0"; + } + bit meas-pilot-bit-1 { + position 25; + description + "Measurement Pilot capability bit 1"; + } + bit meas-pilot-bit-2 { + position 26; + description + "Measurement Pilot capability bit 2"; + } + bit meas-pilot-trans-info { + position 27; + description + "Measurement Pilot Transmission Info capability enabled"; + } + bit neigh-tsf-offset { + position 28; + description + "Neighbor Report TSF Offset capability enabled"; + } + bit rcpi-meas { + position 29; + description + "Received Channel Power Indicator Measurement capability enabled"; + } + bit rsni-meas { + position 30; + description + "Received Signal to Noise Indicator Measurement capability enabled"; + } + bit bss-avg-access-delay { + position 31; + description + "BSS Average Access Delay capability enabled"; + } + bit bss-avail-adm-cap { + position 32; + description + "BSS Available Admission Capacity capability enabled"; + } + bit antenna-info { + position 33; + description + "Antenna Info capability enabled"; + } + bit ftm-range-report { + position 34; + description + "Fine Timing Measurement Range Report capability enabled"; + } + bit civic-location-meas { + position 35; + description + "Civic Location Measurement capability enabled"; + } + } + description + "802.11k Radio Measurement Enabled Capabilities"; + } + + grouping radio-slot-key { + description + "Radio slot information"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio mac address of the AP"; + } + leaf radio-slot-id { + type uint8; + description + "radio slot info"; + } + } + + grouping radio-wlanid-key { + description + "Composite key of wtp-mac, slot-id and wlan-id."; + leaf wtp-mac { + type yang:mac-address; + description + "AP Radio MAC address"; + } + leaf slot-id { + type uint8; + description + "Radio slot identifier"; + } + leaf wlan-id { + type uint8; + description + "WLAN identifier"; + } + } + + grouping ap-radius-server-key { + description + "Composite key of wtp-mac, server-group-name and server-ip."; + leaf wtp-mac { + type yang:mac-address; + description + "AP Radio MAC address"; + } + leaf server-group-name { + type string; + description + "RADIUS server group name"; + } + leaf server-ip { + type inet:ip-address; + description + "RADIUS server IP"; + } + } + + grouping radio-slot-bssid-key { + description + "AP MAC, radio slot and bssid information"; + leaf ap-mac { + type yang:mac-address; + description + "AP radio mac address"; + } + leaf slot-id { + type uint32; + description + "Radio slot identifier"; + } + leaf bssid { + type yang:mac-address; + description + "BSSID of the radio"; + } + } + + grouping version-info { + description + "constitutes of the version info of the AP"; + leaf version { + type uint8; + description + "version number of the AP"; + } + leaf release { + type uint8; + description + "release number of the AP"; + } + leaf maint { + type uint8; + description + "maintainance version of the AP"; + } + leaf build { + type uint8; + description + "build version of the AP"; + } + } + + grouping ipaddr-bgn-channel-key { + description + "Represents list of Ip Address bridge group name and channel records learnt from mobility members"; + leaf node-ip { + type inet:ip-address; + description + "Represents IP Address of the mobility member from which the bridge group name and channel is learnt"; + } + leaf bgn { + type string; + description + "Represents Bridge group name for the access point in the mesh network"; + } + leaf channel { + type uint8; + description + "Represents the channel number in subset channel list"; + } + } + + grouping bgn-channel-key { + description + "Bridge group name and channel key"; + leaf bgn { + type string; + description + "Represents the bridge group name for the access point in the mesh network"; + } + leaf channel { + type uint8; + description + "Represents the channel number in subset channel list"; + } + } + + grouping ap-mac-ssid { + description + "AP MAC and SSID information"; + leaf ap-mac { + type yang:mac-address; + description + "AP MAC address"; + } + leaf wlan-id { + type uint32; + description + "WLAN identifier"; + } + } + + grouping ap-pp-intf-radio { + description + "Radio interface information"; + leaf radio-id { + type wireless-enum-types:ap-pp-intf-radio-id; + description + "Radio identifier"; + } + choice radio-param-type-choice { + description + "Radio parameter"; + case ap-pp-intf-radio-state { + leaf state { + type wireless-enum-types:ap-pp-state; + description + "Radio state"; + } + } + case ap-pp-intf-radio-ss { + leaf spatial-stream { + type wireless-enum-types:ap-pp-radio-ss; + must "(../radio-id != 'ap-pp-intf-radio-24-ghz') or (current() = 'radio-spatial-stream-1') or (current() = 'radio-spatial-stream-2') or (current() = 'radio-spatial-stream-3') or (current() = 'radio-spatial-stream-4')" { + error-message "Spatial stream not applicable on 2.4 GHz. Allowed spatial streams are 1x1, 2x2, 3x3 and 4x4."; + error-app-tag "must-violation"; + } + must "(../radio-id != 'ap-pp-intf-radio-6-ghz') or (current() = 'radio-spatial-stream-1') or (current() = 'radio-spatial-stream-2') or (current() = 'radio-spatial-stream-3') or (current() = 'radio-spatial-stream-4')" { + error-message "Spatial stream not applicable on 6 GHz. Allowed spatial streams are 1x1, 2x2, 3x3 and 4x4."; + error-app-tag "must-violation"; + } + description + "Spatial stream for radio"; + } + } + } + } + + grouping ap-pp-intf-ethernet { + description + "Ethernet interface information"; + leaf eth-id { + type wireless-enum-types:ap-pp-intf-ethernet-id; + description + "Ethernet identifier"; + } + choice eth-param-type-choice { + description + "Ethernet parameter"; + case ap-pp-intf-eth-state { + leaf state { + when "(../eth-id = 'ap-pp-intf-lan-port-1') or (../eth-id = 'ap-pp-intf-lan-port-2') or (../eth-id = 'ap-pp-intf-lan-port-3')"; + type wireless-enum-types:ap-pp-state; + description + "Ethernet state"; + } + } + case ap-pp-intf-eth-speed { + leaf eth-speed { + when "(../eth-id = 'ap-pp-intf-gb-eth-0') or (../eth-id = 'ap-pp-intf-gb-eth-1')"; + type wireless-enum-types:ap-pp-intf-ethernet-speed; + units "Mbps"; + description + "Ethernet speed"; + } + } + case ap-pp-intf-poe-out-state { + leaf poe-out-state { + when "(../eth-id = 'ap-pp-intf-lan-port-1') or (../eth-id = 'ap-pp-intf-lan-port-2') or (../eth-id = 'ap-pp-intf-lan-port-3')"; + type wireless-enum-types:ap-pp-state; + description + "Ethernet Power over Ethernet out state"; + } + } + } + } + + grouping ap-pp-intf-usb { + description + "USB interface information"; + leaf usb-id { + type wireless-enum-types:ap-pp-intf-usb-id; + description + "USB identifier"; + } + choice usb-param-type-choice { + description + "USB parameter"; + case ap-pp-intf-usb-state { + leaf state { + type wireless-enum-types:ap-pp-state; + description + "USB state"; + } + } + } + } + + grouping radio-wlan-key { + description + "AirTime Fairness WLAN statistics key information"; + leaf radio-mac { + type yang:mac-address; + description + "Radio mac address of the AP"; + } + leaf radio-slot-id { + type uint8; + description + "Radio slot ID"; + } + leaf wlan-profile-name { + type string; + description + "WLAN profile name"; + } + } + + grouping radio-client-key { + description + "AirTime Fairness client statistics key information"; + leaf radio-mac { + type yang:mac-address; + description + "Radio mac address of the AP"; + } + leaf radio-slot-id { + type uint8; + description + "Radio slot ID"; + } + leaf wlan-profile-name { + type string; + description + "WLAN profile name"; + } + leaf client-mac { + type yang:mac-address; + description + "Client mac address"; + } + } + + grouping radio-neigh-key { + description + "AirTime Fairness mesh statistics key information"; + leaf radio-mac { + type yang:mac-address; + description + "Radio mac address of the AP"; + } + leaf radio-slot-id { + type uint8; + description + "Radio slot ID"; + } + leaf neigh-mac { + type yang:mac-address; + description + "Mac address of the neighbour AP"; + } + } + + grouping ewlc-mesh-sector-root-key { + description + "Key for mesh ap tree"; + leaf sector-number { + type uint32; + description + "Sector number"; + } + leaf wtp-mac { + type yang:mac-address; + description + "MAC address of the mesh AP"; + } + } + + grouping radio-band-key { + description + "Radio band information"; + leaf wtp-mac { + type yang:mac-address; + description + "Radio mac address of the AP"; + } + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + description + "band info"; + } + } + + grouping st-slot-band-key { + description + "Radio slot and band information"; + leaf slot-id { + type wireless-enum-types:slot-id-type; + description + "Slot ID of the AP"; + } + leaf band-id { + type wireless-enum-types:enm-radio-band; + description + "Band ID of the AP radio"; + } + } + + grouping st-ap-proxy-cfg { + description + "HTTP proxy configuration provisioned to this AP"; + leaf hostname { + type string; + description + "HTTP proxy hostname"; + } + leaf port { + type uint16 { + range "0 .. 65535"; + } + description + "HTTP proxy port"; + } + leaf no-proxy-list { + type string; + description + "List of URLs to be excluded from proxying"; + } + leaf username { + type string { + length "0..64"; + } + description + "AP proxy username"; + } + leaf password-type { + type wireless-enum-types:crypt-type; + must "((current() = 'clear') or (current() = 'aes'))" { + error-message "Proxy password type should be either clear text or AES encryption"; + error-app-tag "must-violation"; + } + description + "Password type for AP proxy"; + } + leaf password { + type string; + must "((../password-type != 'clear') or (string-length(current()) <= 64))" { + error-message "AP proxy password length should not exceed 64 chars, when the ap proxy password type is clear text"; + error-app-tag "must-violation"; + } + description + "Password for AP proxy"; + } + } + + grouping st-apf-vap-802-11bg { + description + "Broadcast WLAN on specific protocol on 2.4ghz"; + leaf bg-policy { + type wireless-types:enm-apfvap-dot11bg-policy; + default "dot11-bg-only"; + description + "Broadcast WLAN on 11g or 11bg"; + } + } + + grouping st-cac-channel-params { + description + "Reserved CAC channel information"; + leaf channel { + type uint8; + description + "Channel reserved for CAC"; + } + leaf channel-width { + type wireless-enum-types:chan-width; + description + "Channel width reserved for CAC"; + } + leaf state { + type wireless-enum-types:cac-status-type; + description + "CAC status of the reserved channel"; + } + } + + grouping coordinates-string { + description + "AP geolocation coordinates"; + leaf longitude { + type string { + pattern '[-+]?([0-9]+([.][0-9]*)?|[.][0-9]+)([eE][-+]?[0-9]+)?'; + } + units "degree"; + description + "Geolocation longitude in WGS 84 format"; + } + leaf latitude { + type string { + pattern '[-+]?([0-9]+([.][0-9]*)?|[.][0-9]+)([eE][-+]?[0-9]+)?'; + } + units "degree"; + description + "Geolocation latitude in WGS 84 format"; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-cfg.yang new file mode 100644 index 000000000..4636cd26d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-cfg.yang @@ -0,0 +1,3588 @@ +module Cisco-IOS-XE-wireless-wlan-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-wlan-cfg"; + prefix wireless-wlan-cfg; + + import Cisco-IOS-XE-wireless-enum-types { + prefix wireless-enum-types; + } + import Cisco-IOS-XE-wireless-general-cfg { + prefix wireless-general-cfg; + } + import Cisco-IOS-XE-wireless-types { + prefix wireless-types; + } + import ietf-inet-types { + prefix inet; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Model for managing wlan configurations + Copyright (c) 2016-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Update the must constraint of FT and FT adaptive supported auth key management + - Added must constraint for AES cipher and supported auth key management + - Added must constraint for suiteb auth key managements + - Added SAE-EXT-KEY AKM (24) / FT-SAE-EXT-KEY AKM (25) support with must constraints + - Added 802.11be profile parameters + - Added OFDMA, MU-MIMO configurations in 802.11be profile + - Added length constraints for policy profile name and SSID name + - Added constraint to assert PSK length corresponding to PSK key type and to validate WEP key and WEP key index if WEP is enabled + - Added beacon protection configuration + - Added a constraint for multicast buffer tuning + - Added constraint for override nat pat and max allowed clients + - Modified the PSK key type must constraints + - Added constraint to have GCMP256 cipher as must when SuiteB-192 auth key management is enabled + - Modified the Transition mode WLAN ID must constraint"; + reference + "17.0.0"; + cisco-semver:module-version "17.0.0"; + } + revision 2024-03-01 { + description + "- Added default value for MDNS mode in Guest LAN config"; + reference + "16.2.0"; + cisco-semver:module-version "16.2.0"; + } + revision 2023-11-01 { + description + "- Added must constraint to support vlan central switching only when aaa override is enabled. + - Added Layer 3 access support + - Added support for client location"; + reference + "16.1.0"; + cisco-semver:module-version "16.1.0"; + } + revision 2023-07-01 { + description + "- Added must constraint for VLAN Central Switching + - Added Layer 3 forwarding support + - Relaxed must constrain for broadcasting WLAN on 6ghz band"; + reference + "16.0.0"; + cisco-semver:module-version "16.0.0"; + } + revision 2023-03-01 { + description + "- Added ND rate limiting configuration"; + reference + "15.1.0"; + cisco-semver:module-version "15.1.0"; + } + revision 2022-11-01 { + description + "- Increased AVC flow monitor limit to 5 to enable monitoring more protocols like DNS. + - Update yang-version to 1.1. + - Added support for dot11 tlv accounting configuration + - Added constraints on wlan-status to prevent WPA2 configuration without any AKM + - Corrected previously added check to prevent WPA2 configuration without any AKM + - Added SuiteB ciphers to be allowed on WPA2 configuration without any AKM"; + reference + "15.0.0"; + cisco-semver:module-version "15.0.0"; + } + revision 2022-07-01 { + description + "- Increased maximum allowed clients per radio per WLAN to 500. + - Added FT-SAE support. + - Added configuration to enable/disable interim accounting messages. + - Added support for latency measurements announcements for WLAN + - Deprecated CCKM support"; + reference + "14.1.0"; + cisco-semver:module-version "14.1.0"; + } + revision 2022-03-01 { + description + "- Added constraints to disallow changing NAS-ID option when custom string is set + - Added ARP rate limiting configuration. + - Modified WPA3 check to allow CCKM in WPA2+WPA3 mixed mode WLAN. + - Allow SAE Password Element Both with 6GHz radio policy."; + reference + "14.0.0"; + cisco-semver:module-version "14.0.0"; + } + revision 2021-11-01 { + description + "- Removed constraints for IP NBAR protocol discovery with central switching. + - Added Password Element support for WLAN. + - Added transition disable support. + - Added constraints to ensure WPA3 is enabled to configure transition disable support. + - Added custom string option for NAS-ID. + - Deleted Webauth on Mac-filter Failure constraints. + - Increased maximum allowed clients per AP per WLAN to 1200 and per radio per WLAN to 400. + - Updated constraints to disallow Dot1x-SHA1 AKM in WPA3 only WLAN. + - Added constraints to ensure 6 GHz radio policy is enabled for SAE Hash to Element only. + - Added NAC type validation for NAC configuration. + - Modified the default value for Target Wake-up Time and Target Wake-up Time broadcast"; + reference + "13.0.0"; + cisco-semver:module-version "13.0.0"; + } + revision 2021-07-01 { + description + "- Added Link-Local bridging policy profile configuration and constraints. + - Added PC analytics support. + - Added AAA override VLAN fallback configuration in policy profile. + - Added support for WLAN broadcast on band and slot. + - Added 6Ghz client steering support for WLAN. + - Added obsolete state for radio policy under WLAN + - Added constraints that TKIP or AES Cipher to be enabled for WPA1 configuration. + - Added constraints to disallow CCKM and PSK to be active at the same time."; + reference + "12.0.0"; + cisco-semver:module-version "12.0.0"; + } + revision 2021-03-01 { + description + "- Added support for Locally Administered Address handling. + - Added support for per WLAN 802.11ax config + - Added Webauth on Mac-filter Failure validation rules. + - Add ASCII 32-126 and leading/trailing spaces restriction for calender, guest lan and WLAN profile name, policy tag name and policy profile + - Added SSID restriction in description + - Added Easy-PSK configuration for a WLAN and constraints. + - Updated constraints for AKM PSK leaf. + - Updated constraints for mPSK leaf. + - Removed constraints that enforced WPA2 to be enabled for GTK randomization. + - Added constraint to prevent native profiling configuration in FlexConnect in Local Authentication, Local Switching mode. + - Added constraint to disallow FT-Enabled/FT-Adaptive without WPA2/WPA3. + - Added constraints for AKM interworking with WPA2/WPA3. + - Added constraint to disallow configuring PMF on WPA1 only wlan without WPA2. + - Added obsolete status for central association in FlexConnect profile + - Removed constraints that enforced central association to be disabled in Flexconnect profile for EWC. + - Removed constraint to disallow FT-Enabled/FT-Adaptive without WPA2/WPA3. + - Removed constraint for AKM interworking with WPA2/WPA3. + - Removed constraint to disallow configuring PMF on WPA1 only wlan without WPA2"; + reference + "11.0.0"; + cisco-semver:module-version "11.0.0"; + } + revision 2020-11-01 { + description + "- Added support for Advanced Scheduling Requests handling for a WLAN + - Support for Authentication and Accounting attribute list per WLAN. + - Removed constraints that prevented simultaneous OSEN and WPA2 AES configuration. + - Added a constraint to prevent WIFI to Cellular steering configuration without MBO. + - Prevent configuration of central DHCP and central switching in EWC platform. + - Prevent configuration of central association in EWC platform. + - Added ip-mac binding support for the policy profile. + - Removed constraints that enforced WPA2 to be enabled for GTK randomization. + - Changed SAE retransmission timeout default to 400 milliseconds."; + reference + "10.0.0"; + cisco-semver:module-version "10.0.0"; + } + revision 2020-07-01 { + description + "- Extended range constraints for remote LAN port-id leaf. + - Added WIFI to Cellular config for a WLAN. + - Updated Yang constraints for MBO leaf to allow PMF optional on WPA2 enabled WLAN. + - Added WiFi direct policy configuration. + - Updated description string from User Private Network to User Defined (Private) Network. + - Added a configuration option to ignore RSN IE Validation. + - Removed gtk-randomization validation from OSEN and added OSEN encryption vlan configuration. + - Removed constraints that prevented simultaneous Hotspot and Guest access configuration"; + reference + "9.0.0"; + cisco-semver:module-version "9.0.0"; + } + revision 2020-03-01 { + description + "- Modified description for PSK. + - Modified WPA3 SuiteB constraints to disallow CCMP256. + - Modified WPA3 config constraints to disallow FT-Dot1x with SAE or FT-Dot1x/FT-PSK with OWE. + - Added 802.11k Radio Measurement for Beacon Request (Client Scan Report) configurations. + - Added 802.11v BSS Transition request dual neighbor list config on a WLAN. + - Added validation to disallow IPv4/IPv6 default ACLs. + - Added constraints to disallow FT-Enabled/FT-Adaptive with SuiteB ciphers. + - Removed OSEN validation if auth list is not defined."; + reference + "8.0.0"; + cisco-semver:module-version "8.0.0"; + } + revision 2019-11-01 { + description + "- Added umbrella flex parameter configuration. + - Added MDNS mode config on GLAN Profile. + - Added User Private Network configuration. + - Added User Private Network configuration for unicast. + - Modified AVC constraints to allow IPv6 flow monitors in flex and fabric modes. + - Added NAC type support. + - Added ND, DAD, ARP proxy options in policy profile. + - Added configuration under device analytics to share + Cisco device data with client. + - Removed mandatory constraint from calendar-profile-config end-time. + - Added QOS enhanced basic service set, Opportunistic key caching and + Multicast-Filter. + - Added configuration for device analytics support. + - Changed the ND and DAD proxy option to enum type"; + reference + "7.0.0"; + cisco-semver:module-version "7.0.0"; + } + revision 2019-06-13 { + description + "- Changed the schedule wlan daily profile name to calendar profile. + - Added schedule wlan daily profile config in wlan-config. + - Added constraints to mutually exclude Hotspot 2.0 property and anchor in wlan-policy. + - Added ipv4/ipv6 ingress/egress flow monitor lists. + - Added Hotspot 2.0 property in wlan-policy + - Added GTK randomization option in wlan-profile + - Added Guest-LAN config in wlan-policy + - Added leaves for Target Wake-up Time support on wlan-profile. + - Added Guest-LAN config in wlan-policy + - Added MBO config in WLAN + - Added OSEN option in wlan-profile. + - Changed the content of some Guest-LAN related error messages. + - Added Constraints for WEP Key Type. + - Added OSEN validation if auth-list is not defined. + - Added constraints on transition-mode-wlan-id. + - Increased AVC flow monitor limit to 2 to enable Application Performance Monitoring. + - Added constraints on wlan-status to prevent partial WPA3 configuration. + - Added constraints on pmf-options for WPA2/WPA3 WLAN. + - Changed constraint to allow guest anchor configuration when no ANQP server configured. + - Added semantic version. + - Added constraints on AKM in WPA3 only WLAN. + - Changed conditional web redirect to obsolete. + - Added OSEN validation if dot1x is not defined. + - Update the default values as per WLC configuration best practice"; + reference + "6.0.0"; + cisco-semver:module-version "6.0.0"; + } + revision 2019-03-15 { + description + "- Update wlan-profile: add new data, change default values and add new constraints + - Added Guest-LAN config and constraints + - Cleaned up spelling errors in descriptions + - Cleaned up descriptions by adding relevant information + - Mandatory constraint added for policy-profile-name in wlan-policy + - Role replaced with new has-wired-vlan parameter in Guest-LAN validations + - Multicast related leaves name change + - Removed diag channel state variable and CCX related variables + - Unused attributes removed and renamed few attributes appropriately + - Removed dot1x-enabled leaf + - Update wlan-profile: mac-filtering is changed to mac-filtering-list + - Update wlan-profile: authorization-override-list-name is changed to mac-override-authorization-list."; + reference + "5.0.0"; + cisco-semver:module-version "5.0.0"; + } + revision 2018-07-04 { + description + "- Added constraints for call-snoop + - CTS CLI support"; + reference + "4.0.0"; + cisco-semver:module-version "4.0.0"; + } + revision 2018-03-09 { + description + "Seperate ATF policy from WLAN policy. + Move accounting-list from wlan to policy profile."; + reference + "3.0.0"; + cisco-semver:module-version "3.0.0"; + } + revision 2018-01-24 { + description + "The first generally available version"; + reference + "2.0.0"; + cisco-semver:module-version "2.0.0"; + } + revision 2017-05-05 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping wlan-data-config-file { + description + "Contains global wlan configuration parameters"; + leaf broadcast-ssid { + type boolean; + default "true"; + description + "broadcast SSID on a WLAN"; + } + leaf ccx-aironet-ie { + type boolean; + default "false"; + description + "This object indicates the support for the Cisco Compatible Extensions Aironet information element on this WLAN."; + } + leaf p2p-block-action { + type wireless-enum-types:apf-vap-p2p-blocking-action; + default "p2p-blocking-action-none"; + description + "Represents the name of the ACL applied to this WLAN. If it is required to remove the ACL"; + } + leaf ssid { + type string { + length "0..32"; + } + default ""; + description + "Represents the SSID assigned to this WLAN. The access points will broadcast this SSID on this WLAN. SSID is restricted to non control characters."; + } + leaf dot11a-dtim { + type uint8 { + range "1 .. 255"; + } + default "1"; + description + "Represents DTIM configuration per WLAN for each 802.11 network."; + } + leaf dot11b-dtim { + type uint8 { + range "1 .. 255"; + } + default "1"; + description + "Represents DTIM configuration per WLAN for each 802.11 network."; + } + leaf chd { + type boolean; + default "true"; + description + "Indicates whether Coverage Hole Detection (CHD) is enabled on the controller. A value of 'true' indicates CHD is on and a value of 'false' indicates CHD is turned off for this WLAN."; + } + leaf wlan-status { + type boolean; + must "(../wlan-status = 'false') or (../../ft-mode = 'dot11r-disabled') or ((../../auth-key-mgmt-dot1x = 'true') or (../../auth-key-mgmt-psk = 'true') + or (../../auth-key-mgmt-psk-sha256 = 'true') or (../../auth-key-mgmt-dot1x-sha256 = 'true') + or (../../auth-key-mgmt-ft-psk = 'true') or (../../auth-key-mgmt-ft-dot1x = 'true') + or (../../auth-key-mgmt-sae = 'true') or (../../auth-key-mgmt-ft-sae = 'true') + or (../../akm-sae-ext-key = 'true') or (../../akm-ft-sae-ext-key = 'true'))" { + error-message "FT or FT-Adaptive can only be configured along with 802.1x, PSK, or SAE AKMs."; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa2-enabled = 'false') or ((../../auth-key-mgmt-dot1x = 'true') or (../../auth-key-mgmt-psk = 'true') + or (../../auth-key-mgmt-psk-sha256 = 'true') or (../../auth-key-mgmt-dot1x-sha256 = 'true') or (../../auth-key-mgmt-cckm = 'true') + or (../../auth-key-mgmt-ft-psk = 'true') or (../../auth-key-mgmt-ft-dot1x = 'true') or (../../auth-key-mgmt-suite-b = 'true') + or (../../auth-key-mgmt-suite-b-192 = 'true'))" { + error-message "WPA2 WLAN cannot be enabled without any AKM."; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa2-enabled = 'false') or (../../wpa2-aes = 'false') + or ((../../auth-key-mgmt-dot1x = 'true') or (../../auth-key-mgmt-psk = 'true') or + (../../auth-key-mgmt-psk-sha256 = 'true') or (../../auth-key-mgmt-dot1x-sha256 = 'true') or + (../../auth-key-mgmt-cckm = 'true') or (../../auth-key-mgmt-ft-psk = 'true') or + (../../auth-key-mgmt-ft-dot1x = 'true') or (../../auth-key-mgmt-sae = 'true') or + (../../auth-key-mgmt-ft-sae = 'true') or (../../akm-owe = 'true') or + (../../akm-sae-ext-key = 'true') or (../../akm-ft-sae-ext-key = 'true'))" { + error-message "AES cipher should be configured with supported AKM."; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa2-enabled = 'false') or (../../wpa2-aes = 'true') + or ((../../auth-key-mgmt-dot1x = 'false') and (../../auth-key-mgmt-psk = 'false') and + (../../auth-key-mgmt-psk-sha256 = 'false') and (../../auth-key-mgmt-dot1x-sha256 = 'false') and + (../../auth-key-mgmt-cckm = 'false') and (../../auth-key-mgmt-ft-psk = 'false') and + (../../auth-key-mgmt-ft-dot1x = 'false') and (../../auth-key-mgmt-sae = 'false') and + (../../auth-key-mgmt-ft-sae = 'false'))" { + error-message "AKM configured needs the AES cipher to be enabled"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') + or (../../wpa3-enabled = 'false') + or ( (../../auth-key-mgmt-suite-b = 'true') + and (../../rsn-cipher-suite-gcmp128 = 'true') ) + or ( (../../auth-key-mgmt-suite-b-192 = 'true') + and ( (../../rsn-cipher-suite-gcmp256 = 'true') + or (../../rsn-cipher-suite-ccmp256 = 'true') ) ) + or ( (../../wpa2-aes = 'true') + and ( (../../auth-key-mgmt-dot1x-sha256 = 'true') + or (../../auth-key-mgmt-ft-dot1x = 'true') + or (../../auth-key-mgmt-sae = 'true') + or (../../auth-key-mgmt-ft-sae = 'true') + or (../../akm-owe = 'true') ) ) + or ( ( (../../rsn-cipher-suite-gcmp256 = 'true') + or (../../wpa2-aes = 'true') ) + and ( (../../akm-sae-ext-key = 'true') + or (../../akm-ft-sae-ext-key = 'true') + or (../../akm-owe = 'true') ) )" { + error-message "Valid WPA3 Security Config: 1. SuiteB + GCMP128, 2. SuiteB-192 + CCMP256/GCMP256, 3. Dot1x-SHA256/FT-Dot1x/SAE/FT-SAE + AES, 4. SAE-EXT-KEY/FT-SAE-EXT-KEY/OWE + AES/GCMP256"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') + or (../../wpa3-enabled = 'false') + or (../../wpa2-enabled = 'true') + or ( (../../auth-key-mgmt-sae = 'false') + and (../../akm-sae-ext-key = 'false') ) + or (../../ft-mode = 'dot11r-disabled') + or ( (../../ft-mode = 'dot11r-enabled') + and ( (../../auth-key-mgmt-ft-sae = 'true') + or (../../akm-ft-sae-ext-key = 'true') ) )" { + error-message "FT adaptive is not allowed with SAE/SAE-EXT-KEY AKM in WPA3 only WLAN"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa3-enabled = 'false') or (../../akm-owe = 'false') or (../../ft-mode = 'dot11r-disabled')" { + error-message "FT must be disabled in OWE WLAN"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa3-enabled = 'false') or (../../wpa2-enabled = 'true') or (../../auth-key-mgmt-dot1x = 'false')" { + error-message "Dot1x AKM is not allowed in WPA3 only WLAN"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') + or (../../wpa3-enabled = 'true') + or ( (../../auth-key-mgmt-sae = 'false') + and (../../auth-key-mgmt-ft-sae = 'false') + and (../../akm-sae-ext-key = 'false') + and (../../akm-ft-sae-ext-key = 'false') + and (../../akm-owe = 'false') )" { + error-message "WPA3 must be enabled if SAE/FT-SAE/SAE-EXT-KEY/FT-SAE-EXT-KEY/OWE AKM is configured"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa3-enabled = 'false') or (../../pmf-options = 'apf-vap-pmf-required') or ((../../wpa2-enabled = 'true') and (../../pmf-options = 'apf-vap-pmf-optional'))" { + error-message "Valid pmf-options values are: 1. apf-vap-pmf-required in WPA3 WLAN, 2. either apf-vap-pmf-optional or apf-vap-pmf-required in WPA2+WPA3 WLAN"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') or (../../wpa3-enabled = 'false') or (../../wpa2-enabled = 'true') or ((../../auth-key-mgmt-psk = 'false') and (../../auth-key-mgmt-psk-sha256 = 'false') and (../../auth-key-mgmt-ft-psk = 'false'))" { + error-message "AKM auth-key-mgmt-psk, auth-key-mgmt-psk-sha256 and auth-key-mgmt-ft-psk must be set to false in WPA3 only WLAN"; + error-app-tag "must-violation"; + } + must "(../wlan-status = 'false') + or (../../wpa3-enabled = 'false') + or (../../wpa2-enabled = 'false') + or ( (../../auth-key-mgmt-sae = 'false') + and (../../auth-key-mgmt-ft-sae = 'false') ) + or (../../auth-key-mgmt-psk = 'true') + or (../../auth-key-mgmt-psk-sha256 = 'true') + or (../../auth-key-mgmt-ft-psk = 'true')" { + error-message "SAE/FT-SAE AKM with WPA2 and WPA3 enabled requires PSK/FT-PSK/PSK-SHA256 AKM"; + error-app-tag "must-violation"; + } + default "false"; + description + "Administrative Status of ESS(WLAN). By disabling an ESS the corresponding SSID is no longer broadcasted in AP beacons."; + } + } + + grouping st-apf-vap-802-11ax { + description + "802.11ax WLAN Configuration"; + leaf he-ofdma-downlink { + type boolean; + default "true"; + description + "802.11ax OFDMA downlink configuration"; + } + leaf he-ofdma-uplink { + type boolean; + default "true"; + description + "802.11ax OFDMA uplink configuration"; + } + leaf he-mumimo-downlink { + type boolean; + default "true"; + description + "802.11ax MU-MIMO downlink configuration"; + } + leaf he-mumimo-uplink { + type boolean; + default "true"; + description + "802.11ax MU-MIMO uplink configuration"; + } + leaf he-bss-color-enable { + type boolean; + default "true"; + description + "802.11ax BSS color configuration"; + } + leaf he-bss-partial-color-enable { + type boolean; + default "true"; + description + "802.11ax partial BSS color configuration"; + } + leaf he-bss-color { + type uint8 { + range "0 .. 255"; + } + default "0"; + description + "802.11ax BSS color value configuration"; + } + leaf he-twt-enable { + type boolean; + default "false"; + description + "802.11ax target wake-up time. + True - Target Wake-up Time is Enabled. + False - Target Wake-up Time is Disabled."; + } + leaf he-twt-broadcast-support { + type boolean; + default "false"; + description + "802.11ax target wake-up time broadcast support. + True - Target Wake-up Time broadcast support is Enabled. + False - Target Wake-up Time broadcast support is Disabled."; + } + leaf he-dot11-ax { + type boolean; + default "true"; + description + "Enable/Disable 802.11ax IE"; + } + } + + grouping st-mpsk-keys { + description + "MPSK Key parameters"; + leaf priority { + type uint8 { + range "0 .. 4"; + } + description + "MPSK priority"; + } + leaf mpsk-key { + type string; + default ""; + description + "MPSK key"; + } + leaf mpsk-key-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "MPSK key Type"; + } + leaf mpsk-key-format { + type wireless-enum-types:apf-vap-key-type; + must "(../mpsk-key-format = 'key-hex' and string-length(../mpsk-key) = 64) or (../mpsk-key-format = 'key-ascii' and string-length(../mpsk-key) < 64)" { + error-message "Hex keys must be 64 characters. ASCII keys must be less than 64 characters"; + error-app-tag "must-violation"; + } + description + "MPSK key format"; + } + } + + grouping bss-802-11v { + description + "IEEE 802.11v Parameters"; + leaf dot11v-dms { + type boolean; + default "true"; + description + "Configure DMS processing per WLAN"; + } + leaf dot11v-bss-max-idle { + type boolean; + default "true"; + description + "Configure BSS max idle processing per WLAN"; + } + leaf dot11v-bss-max-idle-protected { + type boolean; + default "false"; + description + "Configure protected mode for BSS max idle processing per WLAN"; + } + leaf dot11v-tfs { + type boolean; + default "false"; + description + "Configure tfs processing per WLAN"; + } + leaf dot11v-bss-transition { + type boolean; + default "true"; + description + "Configure BSS transition per WLAN"; + } + leaf dot11v-wnm-sleep-mode { + type boolean; + default "false"; + description + "Configure wnm sleep mode per WLAN"; + } + leaf dot11v-disassoc-imminent { + type boolean; + default "false"; + description + "Configure BSS transition disassociation Imminent per WLAN"; + } + leaf dot11v-disassoc-timer { + type uint16 { + range "0 .. 3000"; + } + default "200"; + description + "Configure BSS transition disassociation imminent timer per WLAN"; + } + leaf dot11v-disassoc-timer-opt-roam { + type uint16 { + range "0 .. 40"; + } + default "40"; + description + "Configure BSS transition disassociation imminent optimized-roaming timer per WLAN"; + } + leaf dot11v-dual-list { + type boolean; + default "false"; + description + "This leaf determines whether the dual band neighbor list is enabled in 802.11v BSS transition for the WLAN."; + } + } + + grouping st-et-analytics { + description + "Provides Encrypted Traffic Analytics feature details"; + leaf is-tvi-enabled { + type boolean; + default "false"; + description + "This flag enables/disables Encrypted Traffic Analytics feature on this WLAN"; + } + } + + grouping st-apf-vap-device-analytics { + description + "Device Analytics support"; + leaf da-export { + type boolean; + default "false"; + description + "Enable or disable sharing Cisco device data with client"; + } + leaf da-support { + type boolean; + default "true"; + description + "Enable or disable device analytics support"; + } + leaf da-pc-support { + type boolean; + default "true"; + description + "Enable or disable PC analytics support"; + } + } + + grouping st-apf-laa-params { + description + "Locally Administered Address configuration settings"; + leaf laa-client-denial { + type boolean; + default "false"; + description + "Deny client joining with Locally Administered Address(random MAC address)"; + } + } + + grouping st-apf-vap-dot11k-rm-beacon-meas-req { + description + "802.11k Radio Measurement for Beacon Report Request (Client Scan Report)"; + leaf on-assoc { + type boolean; + default "false"; + description + "Send Beacon Measurement Request (Client Scan Report) on client association"; + } + leaf on-roam { + type boolean; + default "false"; + description + "Send Beacon Measurement Request (Client Scan Report) on client roam"; + } + } + + grouping st-apf-vap-sched-cfg { + description + "Radio scheduler configuration for a WLAN"; + leaf asr-enable { + type boolean; + default "true"; + description + "Enable/Disable Advanced Scheduling Requests Handling on a WLAN"; + } + } + + grouping st-wlan-radio-policy { + description + "Broadcast WLAN on band and slot(s)"; + leaf band { + type wireless-types:enm-ewlc-dot11-radio-band; + must "(../band != 'dot11-6-ghz-band') or (../../../wpa3-enabled = 'true' and ../../../vap-dot11ax-cfg/he-dot11-ax = 'true' and (((count(../../../wlan-radio-policies/wlan-radio-policy) <=1) and ../../../wpa2-enabled = 'false' and ../../../pmf-options = 'apf-vap-pmf-required') or (count(../../../wlan-radio-policies/wlan-radio-policy) >1)))" { + error-message "WPA2 should to be disabled while WPA3, PMF and dot11ax should be enabled to broadcast WLAN exclusively on 6GHz band. WPA2 can be enabled when broadcasting on other band(s)"; + error-app-tag "must-violation"; + } + must "(../band != 'dot11-6-ghz-band') or ((../../../auth-key-mgmt-sae != 'true') and (../../../auth-key-mgmt-ft-sae != 'true')) or ((../../../auth-key-mgmt-sae = 'true' or ../../../auth-key-mgmt-ft-sae = 'true') and (../../../sae-pwe-mode = 'hash-to-element-only' or ../../../sae-pwe-mode = 'both-h2e-hnp'))" { + error-message "6 GHz is not allowed when SAE PWE mode is Hunting and Pecking only."; + error-app-tag "must-violation"; + } + description + "Broadcast WLAN on band"; + } + leaf slot0 { + when "../band = 'dot11-5-ghz-band'"; + type boolean; + default "false"; + description + "Broadcast WLAN on slot-0"; + } + leaf slot1 { + when "../band = 'dot11-5-ghz-band'"; + type boolean; + default "false"; + description + "Broadcast WLAN on slot-1"; + } + leaf slot2 { + when "../band = 'dot11-5-ghz-band'"; + type boolean; + default "false"; + description + "Broadcast WLAN on slot-2"; + } + } + + grouping st-dot11be-profile { + description + "dot11be profile parameters"; + leaf profile-name { + type string { + length "0..31" { + error-message "Invalid string length for dot11be profile name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?' { + error-message "dot11be profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "must-violation"; + } + } + description + "dot11be profile name"; + } + leaf description { + type string { + length "0..64" { + error-message "Invalid string length for dot11be profile description:Valid string has be 0 to 64 characters"; + error-app-tag "must-violation"; + } + } + description + "dot11be profile description"; + } + leaf eht-ofdma-downlink { + type boolean; + default "true"; + description + "802.11be OFDMA downlink"; + } + leaf eht-ofdma-uplink { + type boolean; + default "true"; + description + "802.11be OFDMA uplink"; + } + leaf eht-mumimo-downlink { + type boolean; + default "false"; + description + "802.11be MU-MIMO downlink"; + } + leaf eht-mumimo-uplink { + type boolean; + default "false"; + description + "802.11be MU-MIMO uplink"; + } + leaf eht-ofdma-multi-ru { + type boolean; + default "false"; + description + "802.11be OFDMA multiple resource unit"; + } + } + + grouping wlan-profile { + description + "Contains apfvap config parameters"; + leaf wlan-id { + type uint32 { + range "1 .. 4096"; + } + description + "wlan ID"; + } + leaf profile-name { + type string { + length "0..32"; + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "profile-name"; + } + leaf description { + type string; + description + "Description for the WLAN profile"; + } + leaf security-wpa { + type boolean; + default "true"; + description + "Configures WPA/WPA2 Support for a WLAN"; + } + leaf wep-enabled { + type boolean; + default "false"; + description + "Configures static WEP keys on a WLAN"; + } + leaf webauth-enabled { + type boolean; + default "false"; + description + "Configures Web authentication"; + } + leaf cond-web-redirect { + type boolean; + default "false"; + status obsolete; + description + "Set Conditional Web Redirect on a WLAN"; + } + leaf splash-web-redirect { + type boolean; + default "false"; + description + "Set Splash-Page Web Redirect"; + } + leaf dot11-auth-type { + type wireless-enum-types:apf-vap-80211-authentication; + default "apf-vap-80211-auth-open"; + description + "Configures 802.11 authentication"; + } + leaf wep-key-index { + type uint8 { + range "1 .. 4"; + } + must "(../wep-enabled = 'false' or ../wep-key-index)" { + error-message "WEP key index must be specified if WEP is enabled"; + error-app-tag "must-violation"; + } + description + "This index is for informing Mobile Station which key it should use for Static WEP Authentication"; + } + leaf wep-key-size { + type wireless-enum-types:apf-vap-80211-encryption; + default "apf-vap-80211-encryp-wep104"; + description + "Static WEP Encryption key size. Length of key specified in default Key depends on this attribute"; + } + leaf wep-key { + type string; + must "(../wep-enabled = 'false' or string-length(../wep-key) > 0 )" { + error-message "WEP key must not be empty if WEP is enabled"; + error-app-tag "must-violation"; + } + default ""; + description + "Static WEP Key"; + } + leaf wep-key-type { + type wireless-enum-types:crypt-type; + must "(../wep-key-type = 'clear' or + ../wep-key-type = 'aes')" { + error-message "Default WEP Key type can be only 'clear' or 'aes'"; + error-app-tag "must-violation"; + } + default "clear"; + description + "Wep key Encryption type"; + } + leaf wep-key-format { + type wireless-enum-types:apf-vap-key-type; + default "key-hex"; + description + "The format of the wep key"; + } + leaf wpa1-enabled { + type boolean; + must "(../wpa1-enabled = 'false') or ((../wpa1-tkip = 'true') or (../wpa1-aes = 'true'))" { + error-message "Either TKIP or AES ciphers must be enabled with WPA1 config"; + error-app-tag "must-violation"; + } + default "false"; + description + "Configures WPA1 support"; + } + leaf wpa1-tkip { + type boolean; + default "false"; + description + "WPA1/TKIP Cipher support"; + } + leaf wpa1-aes { + type boolean; + default "false"; + description + "AES Cipher support WPA1"; + } + leaf auth-key-mgmt-psk { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') or (../auth-key-mgmt-psk = 'false') or ((../auth-key-mgmt-psk = 'true') and ((string-length(../psk) > 0) or (../easy-psk = 'true') or ((../mpsk-enable = 'true') and (count(../mpsk-keys/mpsk-key) > 0))))" { + error-message "AKM PSK can be enabled only when PSK key is set or Easy-PSK is enabled or mPSK is enabled and at least one mPSK key is configured"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') or (../auth-key-mgmt-psk = 'false') or (../auth-key-mgmt-psk = 'true') and ((string-length(../psk) > 0) or (../auth-key-mgmt-cckm = 'false'))" { + error-message "CCKM and PSK must not be active at the same time"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management PSK"; + } + leaf psk-key-type { + type wireless-enum-types:apf-vap-key-type; + must "(../auth-key-mgmt-psk = 'false') or (../easy-psk = 'true') or ((../psk-key-type = 'key-hex') and string-length(../psk) = 64) or ((../psk-key-type = 'key-ascii') and (string-length(../psk) < 64) and (string-length(../psk) > 7))" { + error-message "Hex keys must be 64 characters. ASCII keys must be 8 to 63 characters"; + error-app-tag "must-violation"; + } + default "key-ascii"; + description + "Authentication pre-shared key type ascii/hex"; + } + leaf wpa2-enabled { + type boolean; + default "true"; + description + "Configures WPA2 support"; + } + leaf wpa2-aes { + type boolean; + default "true"; + description + "WPA2/CCMP128 support"; + } + leaf rsn-cipher-suite-gcmp128 { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') + or (../rsn-cipher-suite-gcmp128 = 'false') + or (../auth-key-mgmt-suite-b = 'true')" { + error-message "GCMP128 cipher can only be enabled with SuiteB AKM"; + error-app-tag "must-violation"; + } + default "false"; + description + "WPA2/GCMP128 support"; + } + leaf rsn-cipher-suite-gcmp256 { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') + or (../rsn-cipher-suite-gcmp256 = 'false') + or (../auth-key-mgmt-suite-b = 'true') + or (../auth-key-mgmt-suite-b-192 = 'true') + or (../akm-owe = 'true') + or (../akm-sae-ext-key = 'true') + or (../akm-ft-sae-ext-key = 'true')" { + error-message "GCMP256 cipher can only be enabled with SuiteB-192/OWE/SAE-EXT-KEY/FT-SAE-EXT-KEY AKMs"; + error-app-tag "must-violation"; + } + default "false"; + description + "WPA2/GCMP256 support"; + } + leaf rsn-cipher-suite-ccmp256 { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') + or (../rsn-cipher-suite-ccmp256 = 'false') + or (../auth-key-mgmt-suite-b-192 = 'true')" { + error-message "CCMP256 cipher can only be enabled with SuiteB-192 AKM"; + error-app-tag "must-violation"; + } + default "false"; + description + "WPA2/CCMP256 support"; + } + leaf auth-key-mgmt-dot1x { + type boolean; + default "true"; + description + "Authentication key management type 802.1x"; + } + leaf auth-key-mgmt-cckm { + type boolean; + default "false"; + status deprecated; + description + "Authentication key management type CCKM. + CCKM authentication key management will be deprecated soon. Refer to release notes and Documentation for more details and migration options."; + } + leaf auth-key-mgmt-ft-dot1x { + type boolean; + default "false"; + description + "Authentication key management type 802.11r dot1x"; + } + leaf auth-key-mgmt-ft-psk { + type boolean; + default "false"; + description + "Authentication key management type 802.11r PSK"; + } + leaf auth-key-mgmt-dot1x-sha256 { + type boolean; + default "false"; + description + "Authentication key management type 802.1x SHA256"; + } + leaf auth-key-mgmt-psk-sha256 { + type boolean; + default "false"; + description + "Authentication key management type PSK SHA256"; + } + leaf psk { + type string; + default ""; + description + "Authentication pre-shared key. For hexadecimal key format, PSK length must be + exactly 64 characters and for ASCII key format, PSK length must be in the range of 8 and 63"; + } + leaf psk-type { + type wireless-enum-types:crypt-type; + default "clear"; + description + "Pre-shared key encryption type"; + } + leaf mac-filtering-list { + type string; + default ""; + description + "Set MAC filtering support on WLAN"; + } + leaf mac-override-authorization-list { + type string; + default ""; + description + "Set override MAC filtering support on WLAN"; + } + leaf webauth-ipv4-preauth-acl { + type string; + must "../webauth-ipv4-preauth-acl != 'preauth_v4'" { + error-message "Default ACL preauth_v4 is not allowed"; + error-app-tag "must-violation"; + } + must "../webauth-ipv4-preauth-acl != 'preauth_v6'" { + error-message "Default ACL preauth_v6 is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "Name of IPv4 pre authentication ACL for the WLAN"; + } + leaf webauth-ipv6-preauth-acl { + type string; + must "../webauth-ipv6-preauth-acl != 'preauth_v6'" { + error-message "Default ACL preauth_v6 is not allowed"; + error-app-tag "must-violation"; + } + must "../webauth-ipv6-preauth-acl != 'preauth_v4'" { + error-message "Default ACL preauth_v4 is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "Name of IPv6 pre authentication ACL for the WLAN"; + } + leaf radio-policy { + type wireless-enum-types:apf-vap-radio-policies; + must "(../radio-policy = 'apf-vap-radio-all' or + ../radio-policy = 'apf-vap-radio-80211a-only' or + ../radio-policy = 'apf-vap-radio-80211ag-only' or + ../radio-policy = 'apf-vap-radio-80211bg-only' or + ../radio-policy = 'apf-vap-radio-80211g-only')" { + error-message + "Radio policy must be one of the following: + 1. apf-vap-radio-all + 2. apf-vap-radio-80211a-only + 3. apf-vap-radio-80211ag-only + 4. apf-vap-radio-80211bg-only + 5. apf-vap-radio-80211g-only"; + error-app-tag "must-violation"; + } + default "apf-vap-radio-all"; + status obsolete; + description + "Configures the Radio Policy"; + } + leaf qos-wmm-status { + type wireless-enum-types:apf-vap-wme-policies; + default "apf-vap-wme-allowed"; + description + "Configures WMM (WME)"; + } + leaf wifi-direct-client { + type wireless-enum-types:apf-vap-wifi-direct-policies; + must "../wifi-direct-client != 'apf-vap-wifidirect-invalid'" { + error-message "Invalid WiFi direct policy value not permitted"; + error-app-tag "must-violation"; + } + default "apf-vap-wifidirect-disable"; + description + "Configure WiFi Direct related policy on WLAN"; + } + leaf ft-over-ds { + type boolean; + default "false"; + description + "Configures Fast Transition over the DS"; + } + leaf ft-reassoc-timeout { + type uint32 { + range "1 .. 100"; + } + default "20"; + description + "Enter the Reassociation timeout in seconds"; + } + leaf ft-mode { + type wireless-enum-types:ft-dot11r-mode; + default "dot11r-adaptive-enabled"; + description + "Configures Fast Transition Adaptive support"; + } + leaf pmf-options { + type wireless-enum-types:apf-vap-pmf-policies; + default "apf-vap-pmf-disabled"; + description + "Configures PMF as optional/required"; + } + leaf pmf-assoc-comeback-timeout { + type uint32 { + range "1 .. 20"; + } + default "1"; + description + "Enter the Association Comeback Time in seconds"; + } + leaf pmf-sa-query-retry-timeout { + type uint32 { + range "100 .. 500"; + } + default "200"; + description + "Configures SA Query Retry TimeOut"; + } + leaf local-eap-profile-name { + type string; + default ""; + description + "Configure the EAP profile on a WLAN"; + } + leaf local-eap-enable { + type boolean; + default "false"; + description + "EAP Profile on a WLAN is set or not"; + } + leaf band-steering-allowed { + type boolean; + default "false"; + description + "Allow/Disallow Band Select on a WLAN"; + } + leaf load-balance { + type boolean; + default "false"; + description + "Allow/Disallow Load Balance on a WLAN"; + } + leaf universal-ap-admin { + type boolean; + default "false"; + description + "Allows universal admin mode to be enabled on a 802.1X/WPA/WPA2 secured WLAN."; + } + leaf mu-mimo { + type boolean; + default "true"; + description + "Configures 802.11ac MU-MIMO on a WLAN"; + } + leaf multicast-mc-direct { + type boolean; + default "false"; + description + "Configures multicast direct for WLAN"; + } + leaf defer-time { + type uint16 { + range "0 .. 60000"; + } + default "100"; + description + "Configures scan defer time"; + } + leaf defer-priority0 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 0"; + } + leaf defer-priority1 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 1"; + } + leaf defer-priority2 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 2"; + } + leaf defer-priority3 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 3"; + } + leaf defer-priority4 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 4"; + } + leaf defer-priority5 { + type boolean; + default "true"; + description + "Configures priority markings for packets - Enable priority 5"; + } + leaf defer-priority6 { + type boolean; + default "true"; + description + "Configures priority markings for packets - Enable priority 6"; + } + leaf defer-priority7 { + type boolean; + default "false"; + description + "Configures priority markings for packets - Enable priority 7"; + } + leaf authentication-list { + type string; + default ""; + description + "Enter the Authentication list name"; + } + leaf authorization-list { + type string; + default ""; + description + "Enter the Authorization list name"; + } + leaf max-clients-allowed { + type uint32; + must '(current() <= 32000)' { + error-message "The maximum number of allowed clients (for WLAN) is 32000"; + error-app-tag "must-violation"; + } + default "0"; + description + "Configure maximum client connections per WLAN"; + } + leaf max-clients-per-ap-per-wlan { + type uint32 { + range "0 .. 1200"; + } + default "0"; + description + "Configure maximum client connections per AP per WLAN"; + } + leaf max-clients-per-radio-per-wlan { + type uint32 { + range "0 .. 500"; + } + default "200"; + description + "Configure maximum client connections per AP Radio per WLAN"; + } + leaf static-ip-tunneling { + type boolean; + default "false"; + description + "Configures static IP client tunnelling support on a WLAN."; + } + leaf webauth-on-mac-auth-failure { + type boolean; + default "false"; + description + "Enables Web authentication on MAC filter failure."; + } + leaf web-authc-list { + type string; + default ""; + description + "Enter the Authentication list name"; + } + leaf web-authz-list { + type string; + default ""; + description + "Enter the Authorization list name"; + } + leaf web-auth-parameter-map { + type string; + default ""; + description + "Enter the parameter-map name"; + } + leaf ip-source-guard-enabled { + type boolean; + default "false"; + description + "Configures MAC verification"; + } + leaf uapsd-compliant { + type boolean; + default "false"; + description + "Configure WMM UAPSD Compliant Client support for Wlan"; + } + leaf re-anchor-roam-clients { + type boolean; + default "false"; + description + "Configure Re-Anchor Policy for Roaming Voice Clients"; + } + leaf wlan-11k-assisted-roaming { + type boolean; + default "false"; + description + "Indicates whether 11k Assisted Roaming Prediction Optimization is enabled on the controller for this WLAN."; + } + leaf wlan-11k-dual-band-neigh-list { + type boolean; + default "false"; + description + "Indicates whether 11k Neighbor List Dual Band is enabled on the controller for this WLAN."; + } + leaf wlan-11k-neigh-list { + type boolean; + default "true"; + description + "Indicates whether 11k Neighbor List is enabled on the controller for this WLAN."; + } + leaf multicast-buffer-value { + type uint8 { + range "30 .. 60"; + } + must "(../multicast-buffer-enable='true') or not(current()>=30 and current()<=60)" { + error-message "Multicast buffer should be enabled"; + error-app-tag "must-violation"; + } + description + "Configure Multicast Buffer Tuning for 802.11a radio for the WLAN"; + } + leaf multicast-buffer-enable { + type boolean; + default "false"; + description + "Configure Multicast Buffer Tuning mode for 802.11a radio for the WLAN"; + } + container apf-vap-id-data { + description + "WLAN configuration for VAP"; + uses wireless-wlan-cfg:wlan-data-config-file; + } + leaf cckm-tsf-tolerance { + type uint16 { + range "1000 .. 5000"; + } + default "1000"; + description + "CCKM timestamp tolerance"; + } + container apf-vap-802-11v-data { + description + "802.11v configuration for VAP"; + uses wireless-wlan-cfg:bss-802-11v; + } + container vap-dot11ax-cfg { + description + "802.11ax configuration for VAP"; + uses wireless-wlan-cfg:st-apf-vap-802-11ax; + } + leaf mpsk-enable { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') or (../mpsk-enable = 'false') or (../mpsk-enable = 'true' and ../auth-key-mgmt-psk = 'true')" { + error-message "AKM PSK needs to be enabled to enable MPSK"; + error-app-tag "must-violation"; + } + must "(../mpsk-enable = 'false') or (../mpsk-enable = 'true' and ../wpa3-enabled = 'false')" { + error-message "WPA3 and MPSK cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "MPSK enabled"; + } + container mpsk-keys { + description + "MPSK keys"; + list mpsk-key { + key "priority"; + description + "MPSK keys"; + uses wireless-wlan-cfg:st-mpsk-keys; + } + } + leaf mdns-sd-mode { + type wireless-enum-types:enm-wlan-mdns-sd-cfg; + default "mdns-sd-bridging"; + description + "MDNS operational mode on WLAN"; + } + leaf mbo { + type boolean; + must "(../mbo = 'false') or (../security-wpa = 'false') or (../wpa2-enabled = 'false') or (../pmf-options = 'apf-vap-pmf-required') or (../pmf-options = 'apf-vap-pmf-optional')" { + error-message "PMF must be set to mandatory or optional for MBO on a WPA2 enabled wlan"; + error-app-tag "must-violation"; + } + default "false"; + description + "MBO support"; + } + leaf gtk-randomize { + type boolean; + must "(../gtk-randomize = 'false') or (../gtk-randomize = 'true' and ../wpa3-enabled = 'false')" { + error-message "WPA3 and randomized GTK cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "Randomized GTK enabled for hole-196 mitigation"; + } + leaf osen { + type boolean; + must "( ( (../wpa1-enabled = 'false') and + (../auth-key-mgmt-cckm = 'false') and + (../wep-enabled = 'false') and + (../dot11-auth-type != 'apf-vap-80211-auth-shared-key') + ) or + (../osen = 'false') + )" { + error-message "WEP/WPA1/CCKM and OSEN cannot be all active at the same time"; + error-app-tag "must-violation"; + } + must "( (../wpa1-aes = 'false') or + (../osen = 'false') )" { + error-message "WPA1 cipher suite AES and OSEN cannot be active at the same time"; + error-app-tag "must-violation"; + } + must "( (../wpa3-enabled = 'false') or + (../osen = 'false') )" { + error-message "WPA3 and OSEN cannot be active at the same time"; + error-app-tag "must-violation"; + } + must "( (../ft-mode = 'dot11r-disabled') or + (../osen = 'false') )" { + error-message "FT and OSEN cannot be active at the same time"; + error-app-tag "must-violation"; + } + must "( (../auth-key-mgmt-dot1x = 'true') or + (../osen = 'false') )" { + error-message "DOT1X AKM needs to be defined for OSEN"; + error-app-tag "must-violation"; + } + must "( (../auth-key-mgmt-dot1x-sha256 = 'false') or + (../osen = 'false') )" { + error-message "DOT1X SHA256 AKM and OSEN cannot be active at the same time"; + error-app-tag "must-violation"; + } + default "false"; + description + "Configures OSEN support"; + } + leaf wpa3-enabled { + type boolean; + must "(../wpa3-enabled = 'false') or ((../wep-enabled = 'false') and (../wpa1-enabled= 'false') and ((../auth-key-mgmt-cckm = 'false') or ((../auth-key-mgmt-cckm = 'true') and (../wpa2-enabled = 'true'))))" { + error-message "WEP/WPA1/CCKM and WPA3 should not be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "Configures WPA3 support"; + } + leaf auth-key-mgmt-sae { + type boolean; + must "(../auth-key-mgmt-sae = 'false') or ((../auth-key-mgmt-sae = 'true') and (string-length(../psk) > 0))" { + error-message "PSK passphrase must be configured when SAE is configured"; + error-app-tag "must-violation"; + } + must "(../auth-key-mgmt-sae = 'false') or ((../auth-key-mgmt-sae = 'true') and (../wep-enabled = 'false') and (../wpa1-tkip = 'false') and (../wpa1-aes = 'false') and (../auth-key-mgmt-dot1x = 'false') and (../auth-key-mgmt-dot1x-sha256 = 'false') and (../auth-key-mgmt-ft-dot1x = 'false') and (../auth-key-mgmt-cckm = 'false') + and (../auth-key-mgmt-suite-b = 'false') and (../auth-key-mgmt-suite-b-192 = 'false'))" { + error-message "WEP/TKIP/WPA1-AES/802.1x/CCKM/SuiteB/SuiteB-192 and SAE cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type SAE"; + } + leaf sae-anti-clog-threshold { + type uint16 { + range "0 .. 3000"; + } + default "1500"; + description + "SAE anti-clogging threshold"; + } + leaf sae-retx-timeout-msec { + type uint16 { + range "1 .. 10000"; + } + default "400"; + description + "SAE retransmission timeout"; + } + leaf sae-max-retries { + type uint8 { + range "1 .. 10"; + } + default "5"; + description + "SAE max number of retransmissions"; + } + leaf akm-owe { + type boolean; + must "(../akm-owe = 'false') + or ( (../auth-key-mgmt-sae = 'false') + and (../auth-key-mgmt-ft-sae = 'false') + and (../akm-sae-ext-key = 'false') + and (../akm-ft-sae-ext-key = 'false') )" { + error-message "SAE/FT-SAE/SAE-EXT-KEY/FT-SAE-EXT-KEY and OWE cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../akm-owe = 'false') or ((../akm-owe = 'true') and (../wep-enabled = 'false') and (../wpa1-tkip = 'false') and (../wpa1-aes = 'false') and (../auth-key-mgmt-psk = 'false') and (../auth-key-mgmt-psk-sha256 = 'false') and (../auth-key-mgmt-ft-psk = 'false') and (../auth-key-mgmt-dot1x = 'false') and (../auth-key-mgmt-dot1x-sha256 = 'false') and (../auth-key-mgmt-ft-dot1x = 'false') and (../auth-key-mgmt-cckm = 'false'))" { + error-message "WEP/TKIP/WPA1-AES/PSK/802.1x/CCKM and OWE cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../akm-owe = 'false') or ((../akm-owe = 'true') and (../wpa2-enabled = 'false'))" { + error-message "WPA2 and OWE cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../akm-owe = 'false') + or (../wpa2-aes = 'true') + or (../rsn-cipher-suite-gcmp256 = 'true')" { + error-message "OWE AKM requires AES/GCMP256 cipher to be enabled"; + error-app-tag "must-violation"; + } + default "false"; + description + "OWE support"; + } + leaf transition-mode-wlan-id { + type uint16 { + range "0 .. 4096"; + } + must '(../transition-mode-wlan-id != ../wlan-id)' { + error-message "Transition mode WLAN ID must be different from WLAN ID"; + error-app-tag "must-violation"; + } + must "(../transition-mode-wlan-id = 0) or + ( (../wep-enabled = 'false') and + (../auth-key-mgmt-psk = 'false') and + (../auth-key-mgmt-dot1x = 'false') and + (../auth-key-mgmt-cckm = 'false') and + (../auth-key-mgmt-ft-dot1x = 'false') and + (../auth-key-mgmt-ft-psk = 'false') and + (../auth-key-mgmt-dot1x-sha256 = 'false') and + (../auth-key-mgmt-psk-sha256 = 'false') and + (../auth-key-mgmt-suite-b = 'false') and + (../auth-key-mgmt-suite-b-192 = 'false') and + (../auth-key-mgmt-sae = 'false') and + (../auth-key-mgmt-ft-sae = 'false') and + (../akm-sae-ext-key = 'false') and + (../akm-ft-sae-ext-key = 'false') )" { + error-message "Transition mode WLAN ID cannot be set in non OWE/Open WLAN"; + error-app-tag "must-violation"; + } + default "0"; + description + "OWE transition mode WLAN ID"; + } + container device-analytics { + description + "Device Analytics support"; + uses wireless-wlan-cfg:st-apf-vap-device-analytics; + } + leaf okc { + type boolean; + default "true"; + description + "Enable/disable opportunistic key caching"; + } + container dot11k-rm-beacon-meas-req { + description + "802.11k Radio Measurement for Beacon Request (Client Scan Report) info"; + uses wireless-wlan-cfg:st-apf-vap-dot11k-rm-beacon-meas-req; + } + leaf wifi-to-cellular { + type boolean; + must "(../wifi-to-cellular = 'false') or (../mbo = 'true')" { + error-message "MBO must be enabled for WIFI to Cellular steering"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable/disable WIFI to Cellular steering on a WLAN"; + } + leaf ignore-rsn-ie-len { + type boolean; + default "false"; + description + "Enable/disable RSN IE Validation"; + } + container sched-cfg { + description + "Radio scheduler configuration for a WLAN"; + uses wireless-wlan-cfg:st-apf-vap-sched-cfg; + } + leaf easy-psk { + type boolean; + must "(../easy-psk = 'false') or (../easy-psk = 'true' and ../auth-key-mgmt-cckm = 'false')" { + error-message "Easy-PSK is not allowed with AKM CCKM"; + error-app-tag "must-violation"; + } + must "(../easy-psk = 'false') or (../easy-psk = 'true' and ../wpa3-enabled = 'false')" { + error-message "WPA3 and Easy-PSK cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../easy-psk = 'false') or (../easy-psk = 'true' and ../mpsk-enable = 'false')" { + error-message "mPSK and Easy-PSK cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../easy-psk = 'false') or (../easy-psk = 'true' and string-length(../psk) = 0)" { + error-message "Easy-PSK and PSK key cannot be set simultaneously"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') or (../easy-psk = 'false') or (../easy-psk = 'true' and string-length(../mac-filtering-list) > 0)" { + error-message "MAC filtering is required with Easy-PSK"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') or (../easy-psk = 'false') or (../easy-psk = 'true' and ../auth-key-mgmt-psk = 'true')" { + error-message "AKM PSK needs to be configured to enable Easy-PSK"; + error-app-tag "must-violation"; + } + default "false"; + description + "Easy-PSK enabled"; + } + container laa-params { + description + "Locally Administered Address configuration for a WLAN"; + uses wireless-wlan-cfg:st-apf-laa-params; + } + container wlan-radio-policies { + description + "WLAN radio policy"; + list wlan-radio-policy { + key "band"; + description + "WLAN radio policy"; + uses wireless-wlan-cfg:st-wlan-radio-policy; + } + } + leaf client-steering { + type boolean; + default "false"; + description + "Enable/disable 6Ghz client steering on a WLAN"; + } + container vap-dot11bg-cfg { + description + "WLAN broadcast on specific protocol on 2.4ghz band"; + uses wireless-types:st-apf-vap-802-11bg; + } + leaf sae-pwe-mode { + type wireless-enum-types:sae-pwe-mode-type; + must "(../auth-key-mgmt-sae = 'true') or (../auth-key-mgmt-ft-sae = 'true') or (../akm-sae-ext-key = 'true') or (../akm-ft-sae-ext-key = 'true') or (../sae-pwe-mode = 'both-h2e-hnp')" { + error-message "SAE/FT-SAE/SAE-EXT-KEY/FT-SAE-EXT-KEY must be enabled for H2E or HNP PWE mode"; + error-app-tag "must-violation"; + } + default "both-h2e-hnp"; + description + "SAE Password Element Mode"; + } + leaf transition-disable { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') or (../wpa3-enabled = 'true') or (../transition-disable = 'false')" { + error-message "WPA3 must be enabled to configure transition disable feature"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable transition disable support to prevent WPA3 downgrade to WPA2"; + } + leaf latency-ma { + type boolean; + default "false"; + description + "Enable/Disable latency measurements announcements on a WLAN"; + } + leaf auth-key-mgmt-ft-sae { + type boolean; + must "(../auth-key-mgmt-ft-sae = 'false') or (string-length(../psk) > 0)" { + error-message "PSK passphrase must be configured when FT-SAE is configured"; + error-app-tag "must-violation"; + } + must "(../auth-key-mgmt-ft-sae = 'false') or ((../wep-enabled = 'false') and (../wpa1-tkip = 'false') and (../wpa1-aes = 'false') and (../auth-key-mgmt-dot1x = 'false') and (../auth-key-mgmt-dot1x-sha256 = 'false') and (../auth-key-mgmt-ft-dot1x = 'false') and (../auth-key-mgmt-cckm = 'false') and (../auth-key-mgmt-suite-b-192 = 'false') and (../auth-key-mgmt-suite-b = 'false'))" { + error-message "WEP/TKIP/WPA1-AES/802.1x/CCKM/SuiteB/SuiteB-192 and FT-SAE cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../auth-key-mgmt-ft-sae = 'false') or (../ft-mode = 'dot11r-enabled')" { + error-message "FT-SAE requires FT enabled"; + error-app-tag "must-violation"; + } + must "(../auth-key-mgmt-ft-sae = 'false') or ((../auth-key-mgmt-suite-b-192 = 'false') and (../auth-key-mgmt-suite-b = 'false'))" { + error-message "FT-SAE is not allowed with SUITE-B cipher"; + error-app-tag "must-violation"; + } + must "(../auth-key-mgmt-ft-sae = 'false') or (../auth-key-mgmt-ft-dot1x = 'false')" { + error-message "FT-SAE and FT-Dot1x cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type FT-SAE"; + } + leaf fine-time-meas-responder { + type boolean; + default "false"; + description + "Enable/Disable Fine Time Measurement(FTM) responder"; + } + leaf advertise-ap-location { + type boolean; + must "(../fine-time-meas-responder = 'true' and .= 'true') or (.='false')" { + error-app-tag "must-violation"; + description + "Enable Fine Time Measurement(FTM) responder to enable advertise ap location"; + } + default "false"; + description + "Advertise AP location for client LCI"; + } + leaf auth-key-mgmt-suite-b { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') + or (../auth-key-mgmt-suite-b = 'false') + or (../rsn-cipher-suite-gcmp128 = 'true')" { + error-message "SuiteB AKM requires GCMP128 cipher to be enabled"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../auth-key-mgmt-suite-b = 'false') + or ( (../auth-key-mgmt-psk = 'false') + and (../auth-key-mgmt-ft-psk = 'false') + and (../auth-key-mgmt-psk-sha256 = 'false') + and (../auth-key-mgmt-sae = 'false') + and (../auth-key-mgmt-ft-sae = 'false') + and (../akm-sae-ext-key = 'false') + and (../akm-ft-sae-ext-key = 'false') )" { + error-message "SuiteB and PSK/SAE/SAE-EXT-KEY AKMs cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type SuiteB"; + } + leaf auth-key-mgmt-suite-b-192 { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') + or (../auth-key-mgmt-suite-b-192 = 'false') + or (../rsn-cipher-suite-gcmp256 = 'true') + or (../rsn-cipher-suite-ccmp256 = 'true')" { + error-message "SuiteB-192 AKM requires CCMP256/GCMP256 cipher to be enabled"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../auth-key-mgmt-suite-b-192 = 'false') + or ( (../auth-key-mgmt-psk = 'false') + and (../auth-key-mgmt-ft-psk = 'false') + and (../auth-key-mgmt-psk-sha256 = 'false') + and (../auth-key-mgmt-sae = 'false') + and (../auth-key-mgmt-ft-sae = 'false') + and (../akm-sae-ext-key = 'false') + and (../akm-ft-sae-ext-key = 'false') )" { + error-message "SuiteB-192 and PSK/SAE/SAE-EXT-KEY AKMs cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../auth-key-mgmt-suite-b-192 = 'false') + or (../rsn-cipher-suite-gcmp256 = 'true') + or (../rsn-cipher-suite-ccmp256 = 'false')" { + error-message "CCMP256 cipher is not valid without GCMP256 cipher for Suite-B-192"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type SuiteB-192"; + } + leaf dot11be-profile-name { + type string { + length "0..31" { + error-message "Invalid string length for 802.11be profile name:Valid string has be 0 to 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?' { + error-message "dot11be profile name must use ASCII 32-126 characters and must not contain leading or trailing spaces"; + error-app-tag "must-violation"; + } + } + default "default-dot11be-profile"; + description + "Configure 802.11be profile for this wlan"; + } + leaf akm-sae-ext-key { + type boolean; + must "(../akm-sae-ext-key = 'false') or (string-length(../psk) > 0)" { + error-message "PSK passphrase must be configured when SAE-EXT-KEY AKM is configured"; + error-app-tag "must-violation"; + } + must "(../akm-sae-ext-key = 'false') + or ( (../akm-sae-ext-key = 'true') + and (../wep-enabled = 'false') + and (../wpa1-tkip = 'false') + and (../wpa1-aes = 'false') + and (../auth-key-mgmt-dot1x = 'false') + and (../auth-key-mgmt-dot1x-sha256 = 'false') + and (../auth-key-mgmt-ft-dot1x = 'false') + and (../auth-key-mgmt-cckm = 'false') )" { + error-message "WEP/TKIP/WPA1-AES/802.1x/CCKM and SAE-EXT-KEY AKM cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../wpa3-enabled = 'false') + or (../wpa2-enabled = 'false') + or (../akm-sae-ext-key = 'false') + or (../auth-key-mgmt-psk = 'true') + or (../auth-key-mgmt-psk-sha256 = 'true') + or (../auth-key-mgmt-ft-psk = 'true')" { + error-message "SAE-EXT-KEY AKM with WPA2 and WPA3 enabled requires PSK/FT-PSK/PSK-SHA256 AKM"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../akm-sae-ext-key = 'false') + or (../sae-pwe-mode != 'hunting-and-pecking-only')" { + error-message "SAE-EXT-KEY requires H2E-only or Both-H2E-HNP PWE mode to be configured"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../akm-sae-ext-key = 'false') + or (../wpa2-aes = 'true') + or (../rsn-cipher-suite-gcmp256 = 'true')" { + error-message "SAE-EXT-KEY AKM requires AES/GCMP256 cipher to be enabled"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type SAE-EXT-KEY (24)"; + } + leaf akm-ft-sae-ext-key { + type boolean; + must "(../akm-ft-sae-ext-key = 'false') or (string-length(../psk) > 0)" { + error-message "PSK passphrase must be configured when FT-SAE-EXT-KEY is configured"; + error-app-tag "must-violation"; + } + must "(../akm-ft-sae-ext-key = 'false') + or ( (../wep-enabled = 'false') + and (../wpa1-tkip = 'false') + and (../wpa1-aes = 'false') + and (../auth-key-mgmt-dot1x = 'false') + and (../auth-key-mgmt-dot1x-sha256 = 'false') + and (../auth-key-mgmt-ft-dot1x = 'false') + and (../auth-key-mgmt-cckm = 'false') )" { + error-message "WEP/TKIP/WPA1-AES/802.1x/CCKM and FT-SAE-EXT-KEY cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../akm-ft-sae-ext-key = 'false') or (../ft-mode = 'dot11r-enabled')" { + error-message "FT-SAE-EXT-KEY requires FT enabled"; + error-app-tag "must-violation"; + } + must "(../akm-ft-sae-ext-key = 'false') or (../auth-key-mgmt-ft-dot1x = 'false')" { + error-message "FT-SAE-EXT-KEY and FT-Dot1x cannot be enabled simultaneously"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../wpa3-enabled = 'false') + or (../wpa2-enabled = 'false') + or (../akm-ft-sae-ext-key = 'false') + or (../auth-key-mgmt-psk = 'true') + or (../auth-key-mgmt-psk-sha256 = 'true') + or (../auth-key-mgmt-ft-psk = 'true')" { + error-message "FT-SAE-EXT-KEY AKM with WPA2 and WPA3 enabled requires PSK/FT-PSK/PSK-SHA256 AKM"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../akm-ft-sae-ext-key = 'false') + or (../sae-pwe-mode != 'hunting-and-pecking-only')" { + error-message "FT-SAE-EXT-KEY requires H2E-only or Both-H2E-HNP PWE mode to be configured"; + error-app-tag "must-violation"; + } + must "(../apf-vap-id-data/wlan-status = 'false') + or (../akm-ft-sae-ext-key = 'false') + or (../wpa2-aes = 'true') + or (../rsn-cipher-suite-gcmp256 = 'true')" { + error-message "FT-SAE-EXT-KEY AKM requires AES/GCMP256 cipher to be enabled"; + error-app-tag "must-violation"; + } + default "false"; + description + "Authentication key management type FT-SAE-EXT-KEY (25)"; + } + leaf beacon-protection-enabled { + type boolean; + must "(../apf-vap-id-data/wlan-status = 'false') or (../beacon-protection-enabled = 'false') or ((../wpa3-enabled = 'true') and (../pmf-options = 'apf-vap-pmf-required'))" { + error-message "PMF must be configured as required together with WPA3 configured to enable beacon protection"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable beacon protection"; + } + } + + grouping st-guest-lan-config { + description + "Configure Guest-LAN profile"; + leaf guest-lan-id { + type uint32 { + range "1 .. 5"; + } + description + "Guest-LAN Profile ID"; + } + leaf profile-name { + type string { + length "1..32" { + error-message "Invalid Guest-LAN profile-name: has to be between 1 and 32 characters"; + error-app-tag "must-violation"; + } + pattern '[!-~]([ -~]*[!-~])?'; + } + must '(count(../../../wlan-cfg-entries/wlan-cfg-entry[profile-name = current()]) = 0)' { + error-message "Invalid profile-name: Cannot use WLAN profile-name in a guest-lan-map"; + error-app-tag "must-violation"; + } + must '(count(../../../policy-list-entries/policy-list-entry/wlan-policies/wlan-policy[wlan-profile-name = current()]) = 0)' { + error-message "Invalid Guest-LAN profile-name: Provided profile name already used under policy tag"; + error-app-tag "must-violation"; + } + must '(count(../../../policy-list-entries/policy-list-entry/tag-child-rlan-policy-configs/tag-child-rlan-policy-config[rlan-profile-name = current()]) = 0)' { + error-message "Invalid Guest-LAN profile-name: Provided profile name already used under policy tag"; + error-app-tag "must-violation"; + } + description + "Guest-LAN Profile Name"; + } + leaf has-wired-vlan { + type wireless-enum-types:ewlc-guest-lan-has-wired-vlan; + must "(current() = 'ewlc-guest-lan-without-wired-vlan') or (current() = 'ewlc-guest-lan-with-wired-vlan')" { + error-message "Guest-LAN parameter ewlc-guest-lan-has-wired-vlan must be configured explicitly"; + error-app-tag "must-violation"; + } + mandatory true; + description + "Specifies whether a wired-vlan number is configured for the Guest-LAN. The wired-vlan number must be configured on the Guest Foreign controller; it must not be configured on the Guest Anchor controller."; + } + leaf wired-vlan { + type uint32 { + range "0 .. 4094"; + } + must "((../has-wired-vlan = 'ewlc-guest-lan-without-wired-vlan') and (current() = 0)) or ((../has-wired-vlan = 'ewlc-guest-lan-with-wired-vlan') and (current() >= 1))" { + error-message "Invalid wired-vlan: the VLAN number must be in range [1, 4094] for Guest Foreign, and 0 or omitted for Guest Anchor"; + error-app-tag "must-violation"; + } + must "(../has-wired-vlan = 'ewlc-guest-lan-without-wired-vlan') or ((current() != 1) and (current() != 1002) and (current() != 1003) and (current() != 1004) and (current() != 1005))" { + error-message "Invalid wired-vlan: This VLAN number is reserved"; + error-app-tag "must-violation"; + } + must "(../has-wired-vlan = 'ewlc-guest-lan-without-wired-vlan') or (count(../../../guest-lan-configs/guest-lan-config[wired-vlan = current()]) <= 1)" { + error-message "Invalid wired-vlan: The same VLAN number cannot be associated with multiple Guest-LANs"; + error-app-tag "must-violation"; + } + default "0"; + description + "Configures wired-vlan for Guest-LAN on Guest Foreign controller"; + } + leaf security-web-auth { + type boolean; + default "true"; + description + "Configures security web auth"; + } + leaf auth-list { + type string; + description + "Configures authentication list on Guest-LAN"; + } + leaf authz-list { + type string; + description + "Configures authorization list on Guest-LAN"; + } + leaf web-auth-parameter-map { + type string; + description + "Configures parameter map on Guest-LAN"; + } + leaf max-associated-clients { + type uint32 { + range "1 .. 2000"; + } + default "2000"; + description + "Configures maximum client connections per Guest-LAN"; + } + leaf status { + type boolean; + default "false"; + description + "Specifies whether the Guest-LAN is shutdown or active"; + } + leaf mdns-sd-mode { + type wireless-enum-types:enm-wlan-mdns-sd-cfg; + default "mdns-sd-bridging"; + description + "MDNS mode on Guest-LAN"; + } + } + + grouping st-guest-lan-policy-map { + description + "Mapping between guest lan profile and policy profile"; + leaf guest-lan-profile-name { + type string { + length "1..32" { + error-message "Invalid Guest-LAN profile-name: has to be between 1 and 32 characters"; + error-app-tag "must-violation"; + } + } + must '(count(../../../../../wlan-cfg-entries/wlan-cfg-entry[profile-name = current()]) = 0)' { + error-message "Invalid Guest-LAN profile-name: Cannot use WLAN profile-name in a guest-lan-map"; + error-app-tag "must-violation"; + } + must '(count(../../../../../policy-list-entries/policy-list-entry/wlan-policies/wlan-policy[wlan-profile-name = current()]) = 0)' { + error-message "Invalid Guest-LAN profile-name: Provided profile name already used under policy tag"; + error-app-tag "must-violation"; + } + must '(count(../../../../../policy-list-entries/policy-list-entry/tag-child-rlan-policy-configs/tag-child-rlan-policy-config[rlan-profile-name = current()]) = 0)' { + error-message "Invalid Guest-LAN profile-name: Provided profile name already used under policy tag"; + error-app-tag "must-violation"; + } + must '(count(../../../guest-lan-policy-maps/guest-lan-policy-map[guest-lan-profile-name]) <= 5)' { + error-message "Exceeding the limit of 5 mappings under one guest-lan map"; + error-app-tag "must-violation"; + } + description + "Profile-name of the Wired Guest-LAN config "; + } + leaf policy-profile-name { + type string; + mandatory true; + description + "Name of the Guest-LAN policy config"; + } + } + + grouping st-guest-lan-map { + description + "Contains guest lan map details"; + leaf map-name { + type string; + must '(count(../../../guest-lan-maps/guest-lan-map[map-name]) <= 1)' { + error-message "Invalid Guest-LAN map: There cannot exist multiple GLAN maps"; + error-app-tag "must-violation"; + } + description + "This object uniquely identifies the guest lan map"; + } + container guest-lan-policy-maps { + description + "Wired Guest-LAN map configuration"; + list guest-lan-policy-map { + key "guest-lan-profile-name"; + description + "Configure guest lan profile and policy profile in guest lan map"; + uses wireless-wlan-cfg:st-guest-lan-policy-map; + } + } + } + + grouping policy-tag { + description + "Contain policy tag details"; + leaf tag-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + must "(count(../wlan-policies/wlan-policy) + + count(../tag-child-rlan-policy-configs/tag-child-rlan-policy-config)) <= 16" { + error-message "Cumulative number of RLANs and WLANs associated with a policy tag cannot exceed 16"; + error-app-tag "must-violation"; + } + description + "This object uniquely identifies the policy tag"; + } + leaf description { + type string; + default ""; + description + "description for the policy tag"; + } + container wlan-policies { + description + "WLAN policy configuration"; + list wlan-policy { + key "wlan-profile-name"; + description + "WLAN profile and policy profile name configuration"; + uses wireless-wlan-cfg:policy-profile; + } + } + container tag-child-rlan-policy-configs { + description + "RLAN policy configuration"; + list tag-child-rlan-policy-config { + key "port-id"; + description + "Configure remote lan profile and policy profile for policy tag"; + uses wireless-wlan-cfg:st-tag-child-rlan-policy-config; + } + } + } + + grouping policy-profile { + description + "Contains policy profile details"; + leaf wlan-profile-name { + type string; + description + "Name of the WLAN profile"; + } + leaf policy-profile-name { + type string { + length "1..32"; + } + mandatory true; + description + "Name of the policy profile"; + } + } + + grouping st-user-qos-service-policy { + description + "Specifies information of ingress and egress service-policy names"; + leaf ingress-service-name { + type string { + length "0..80"; + } + default ""; + description + "This object specifies the ingress service-policy name. It can be system generated policy name or user-defined policy name."; + } + leaf egress-service-name { + type string { + length "0..80"; + } + default ""; + description + "This object specifies the egress service-policy name. It can be system generated policy name or user-defined policy name."; + } + } + + grouping st-user-autoqos-mode { + description + "This object specifies the user the status of Auto QoS"; + leaf mode { + type wireless-enum-types:autoqos-profile; + default "autoqos-disabled"; + description + "This object specifies the user to enable or disable Auto QoS mode in wireless policy profile."; + } + } + + grouping st-wlan-mobility-settings-policy { + description + "This is structure to specifies wlan mobility settings."; + leaf anchor { + type boolean; + default "false"; + description + "This objects specifies that wlan mapped to the policy is an anchor wlan"; + } + } + + grouping st-wlan-local-profiling-policy { + description + "This is structure to specifies wlan local profiling policy."; + leaf device-classification { + type boolean; + default "false"; + description + "This object specifies to enable or disable client device classification.A value of 'true' indicates native profiling is enabled.A value of 'false' indicates native profiling is disabled."; + } + leaf subscriber-policy-name { + type string; + must "not((../../wlan-switching-policy/central-switching = 'false') + and (../../wlan-switching-policy/central-authentication = 'false') and (string-length() > 0))" { + error-message "no central switching, no central authentication and subscriber-policy-name cannot coexist"; + error-app-tag "must-violation"; + } + default ""; + description + "This object uniquely identifies a native profiling classification policy configured on the Wireless LAN Controller."; + } + leaf radius-profiling { + type boolean; + default "false"; + description + "Radius profiling"; + } + leaf http-tlv-caching { + type boolean; + default "false"; + description + "HTTP TLV caching"; + } + leaf dhcp-tlv-caching { + type boolean; + default "false"; + description + "DHCP TLV caching"; + } + leaf dot11-tlv-acct { + type boolean; + default "false"; + description + "DOT11 TLV accounting"; + } + } + + grouping wlan-timeout-settings-policy { + description + "Contains timeout related details for wlan"; + leaf session-timeout { + type uint32 { + range "0 .. 86400"; + } + default "28800"; + description + "Configures client Session timeout"; + } + leaf idle-timeout { + type uint32 { + range "15 .. 100000"; + } + default "300"; + description + "The duration of idle timeout in seconds"; + } + leaf idle-threshold { + type uint32; + default "0"; + description + "Configures the idle threshold"; + } + } + + grouping st-wlan-guest-lan-policy { + description + "Guest LAN policy"; + leaf enable-session-timeout { + type boolean; + default "false"; + description + "Enable session timeout"; + } + } + + grouping wlan-data-acl-policy { + description + "Contains wlan ACL config details"; + leaf ipv4-acl { + type string; + must "../ipv4-acl != 'preauth_v4'" { + error-message "Default ACL preauth_v4 is not allowed"; + error-app-tag "must-violation"; + } + must "../ipv4-acl != 'preauth_v6'" { + error-message "Default ACL preauth_v6 is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "Name of IPV4 ACL"; + } + leaf ipv6-acl { + type string; + must "../ipv6-acl != 'preauth_v6'" { + error-message "Default ACL preauth_v6 is not allowed"; + error-app-tag "must-violation"; + } + must "../ipv6-acl != 'preauth_v4'" { + error-message "Default ACL preauth_v4 is not allowed"; + error-app-tag "must-violation"; + } + default ""; + description + "Configure the name of IPV6 ACL"; + } + leaf layer2-acl { + type string; + default ""; + description + "Configure the name of layer2 ACL"; + } + leaf pre-auth-urlfilter-list { + type string; + description + "Configure the name of pre-auth URL filter list"; + } + leaf post-auth-urlfilter-list { + type string; + description + "Configure the name of post-auth URL filter list"; + } + } + + grouping cts-policy { + description + "Configuration of CTS policy"; + leaf sgacl-enforcement { + type boolean; + default "false"; + description + "Configuration to enable SGACL enforcement of cts policies on the device"; + } + } + + grouping st-wlan-aaa-policy { + description + "This is structure to specifies wlan aaa policy."; + leaf aaa-override { + type boolean; + default "false"; + description + "This flag is set when aaa override is enabled"; + } + leaf nac { + type boolean; + must "(../nac = 'true' and ../nac-type = 'nac-support-radius') or (../nac = 'true' and ../nac-type = 'nac-support-xwf') or (../nac ='false')" { + error-message "NAC type must be provided when NAC is enabled."; + error-app-tag "must-violation"; + } + default "false"; + description + "This flag is set when NAC is enabled"; + } + leaf aaa-policy-name { + type string; + default "default-aaa-policy"; + description + "This is the name of the aaa policy name."; + } + leaf nac-type { + type wireless-enum-types:nac-type; + description + "Type of Network Authentication Control (NAC) supported"; + } + leaf vlan-fallback { + type boolean; + must "(../aaa-override = 'true' and .= 'true') or (.='false')" { + error-message "AAA override cannot be in disabled state when VLAN fallback is enabled."; + error-app-tag "must-violation"; + } + default "false"; + description + "This flag allows fallback to policy profile VLAN when override VLAN is not available"; + } + } + + grouping st-wlan-wgb-policy { + description + "WGB Policy"; + leaf broadcast-tagging { + type boolean; + default "false"; + description + "WGB Broadcast tagging"; + } + leaf wgb-vlan { + type boolean; + default "false"; + description + "Client Vlan Support"; + } + } + + grouping wlan-flex-policy { + description + "Configuration of flex policy"; + leaf split-mac-acl { + type string; + default ""; + description + "Configuration of split mac acl"; + } + leaf vlan-central-switching { + type boolean; + must "(../../aaa-policy-params/aaa-override = 'true') or (current() = 'false')" { + error-message "VLAN based Central Switching is not supported when AAA Override is disabled."; + error-app-tag "must-violation"; + } + default "false"; + description + "Configuration of vlan central switching"; + } + } + + grouping st-wlan-static-ip-mobility { + description + "Configuration of static IP mobility"; + leaf is-static-ip-mobility { + type boolean; + default "false"; + description + "Configuration of static IP mobility"; + } + } + + grouping wlan-switching-policy { + description + "Contains wlan switching policy details"; + leaf central-switching { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false') or + (../../status = 'false')" { + error-message "Central switching mode is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "true"; + description + "Enable/disable central switching"; + } + leaf central-authentication { + type boolean; + default "true"; + description + "Enable/disable central authentication"; + } + leaf central-dhcp { + type boolean; + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false') or + (../../status = 'false')" { + error-message "Central DHCP mode is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "true"; + description + "Central dhcp for locally switched clients"; + } + leaf override-nat-pat { + type boolean; + must "(../override-nat-pat = 'false') or not( ((../../dhcp-params/is-dhcp-enabled = 'false') and (../override-nat-pat = 'true')) or ((../central-switching = 'true') and (../override-nat-pat = 'true')) or ((../central-dhcp = 'false') and (../override-nat-pat = 'true')) )" { + error-message "Local switching, Central dhcp and DHCP required must be enabled before enabling Flex Nat Pat"; + error-app-tag "must-violation"; + } + default "false"; + description + "This object specifies whether Network Address Translation (NAT) and Port Address Translation (PAT) are enabled on this WLAN"; + } + leaf central-assoc-enable { + type boolean; + default "true"; + status obsolete; + description + "This object indicates the behavior of the REAP when handling the (re-)association management frames from associated to it through the WLAN policy identified"; + } + } + + grouping st-umbrella-params { + description + "Umbrella parameters for a wlan"; + leaf param-map-name { + type string; + default ""; + description + "Umbrella's open dns parameter map name"; + } + } + + grouping st-umbrella-flex-params { + description + "Umbrella flex parameters for a wlan"; + leaf dhcp-dns-option-enable { + type boolean; + default "true"; + description + "DHCP DNS Option enabled"; + } + leaf mode-force { + type boolean; + default "false"; + description + "Umbrella redirect forced"; + } + } + + grouping st-mdns-sd-service-policy { + description + "MDNS service-policy for the policy profile"; + leaf policy-name { + type string { + length "1..64" { + error-message "Invalid string length for MDNS service policy:Valid string has be 1 to 64 characters"; + error-app-tag "must-violation"; + } + } + default "default-mdns-service-policy"; + description + "MDNS service policy name"; + } + } + + grouping dhcp-params { + description + "This table include the DHCP parameters for a wlan"; + leaf is-dhcp-enabled { + type boolean; + default "false"; + description + "DHCP required for all clients on this WLAN"; + } + leaf dhcp-server-address { + type inet:ipv4-address; + default "0.0.0.0"; + description + "Configures the WLAN's IPv4 DHCP Server"; + } + leaf dhcp-opt82-enable { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 state"; + } + leaf dhcp-opt82-ascii { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 Ascii option"; + } + leaf dhcp-opt82-rid { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 Rid option"; + } + leaf apmac { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Ap mac option"; + } + leaf ssid { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format SSID option"; + } + leaf ap-ethmac { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Ap ethmac option"; + } + leaf apname { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Ap name option"; + } + leaf policy-tag { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Policy tag option"; + } + leaf ap-location { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Ap location option"; + } + leaf vlan-id { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 format Vlan_id option"; + } + leaf dhcp-option-none { + type boolean; + description + "No dhcp options are set"; + } + leaf dhcp-opt82-vrf { + type boolean; + default "false"; + description + "This object represents the DHCP Option82 VRF sub option"; + } + leaf dhcp-server-vrf-name { + type string; + default ""; + description + "Configures the WLAN's IPv4 DHCP Server's VRF name"; + } + } + + grouping blacklist-params { + description + "Set client blacklisting listing on WLAN"; + leaf is-blacklist-enabled { + type boolean; + default "true"; + description + "This is the flag that can enable or disable the client blacklisting feature for a WLAN."; + } + leaf blacklist-timeout { + type uint32 { + range "0 .. 2147483647"; + } + default "60"; + description + "Set time the client will be excluded"; + } + } + + grouping st-atf-policy-map { + description + "This object encompasses the parameters for guest mobility manager database export "; + leaf band-id { + type uint8 { + range "0 .. 1"; + } + description + "Band ID of the ATF Policy"; + } + leaf atf-policy-name { + type string { + length "0..31"; + } + default "default-atf-policy"; + description + "Air Time Fairness policy name"; + } + } + + grouping upn-config { + description + "User Defined (Private) Network related configuration"; + leaf is-upn-restrict-enable { + type boolean; + default "false"; + description + "User Defined (Private) Network status"; + } + leaf upn-unicast-disable { + type boolean; + default "false"; + description + "User Defined (Private) Network Unicast disable status"; + } + } + + grouping proxy-cfg { + description + "Proxy related configuration"; + leaf ipv6-proxy { + type wireless-enum-types:ipv6-proxy; + default "no-proxy"; + description + "Enable IPv6 Neighbor discovery(ND) proxy features."; + } + leaf arp-proxy { + type boolean; + default "false"; + description + "Enable or disable Address Resolution Protocol (ARP) proxy feature."; + } + } + + grouping arp-rate-cfg { + description + "Per client arp rate limiting configuration"; + leaf rate-none { + type boolean; + default "false"; + description + "Enable or disable the client arp rate limiting"; + } + leaf rate-pps { + type uint16 { + range "15 .. 1500"; + } + default "100"; + description + "Set the arp packet rate allowed"; + } + leaf burst-interval { + type uint8 { + range "3 .. 255"; + } + default "5"; + description + "Set time for the client to be excluded"; + } + } + + grouping ndp-rate-cfg { + description + "Per client ND rate limiting configuration"; + leaf rate-none { + type boolean; + default "false"; + description + "Enable or disable the client ND rate limiting"; + } + leaf rate-pps { + type uint16 { + range "15 .. 1500"; + } + default "100"; + description + "Set the ND packet rate allowed"; + } + leaf burst-interval { + type uint8 { + range "3 .. 255"; + } + default "5"; + description + "Set time for the client to be excluded"; + } + } + + grouping st-policy-profile-calendar-config { + description + "Timer profile entry configured under policy profile"; + leaf calendar-profile-name { + type string; + description + "Timer profile name configured under policy profile"; + } + leaf wlan-enable { + type wireless-enum-types:timer-profile-action; + description + "Action to enable policy profile based on calender profile"; + } + leaf client-session-disable { + type wireless-enum-types:timer-profile-action; + default "timer-action-invalid"; + description + "Action to disable client session based on calender profile"; + } + } + + grouping st-wlan-l3-access-policy { + description + "Layer 3 access configuration settings"; + leaf l3-access-enabled { + type boolean; + must "../../wlan-switching-policy/central-switching = 'true' or current() = 'false'" { + error-message "WLAN switching policy central-switching should be enabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "../../wlan-mobility/anchor = 'false' or current() = 'false'" { + error-message "WLAN mobility policy anchor should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "count(../../guest-mm-db-export-entries/guest-mm-db-export-entry) = 0 or current() = 'false'" { + error-message "WLAN mobility anchor IP should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "string-length(../../tunnel-profile-name) = 0 or current() = 'false'" { + error-message "Tunnel profile should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "../../static-ip-mobility/is-static-ip-mobility = 'false' or current() = 'false'" { + error-message "Static IP Mobility should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "string-length(../../reanchor-classmap-name) = 0 or current() = 'false'" { + error-message "AVC Reanchor class map should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + must "string-length(../../fabric-profile-name) = 0 or current() = 'false'" { + error-message "Fabric profile should be disabled when Layer-3 access is enabled."; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable/Disable Layer 3 access in wireless policy profile."; + } + } + + grouping st-wlan-policies { + description + "This is structure to specifies wlan policies information."; + leaf policy-profile-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + description + "This object specifies one instance of a WLAN policy on the controller."; + } + leaf description { + type string; + default ""; + description + "This object specifies the description associated to this WLAN policy.This can be any user defined string"; + } + leaf status { + type boolean; + default "false"; + description + "This object specifies whether the policy profile is shutdown or active"; + } + leaf passive-client { + type boolean; + default "false"; + description + "This object specifies whether passive-client support is enabled or not on a policy"; + } + leaf interface-name { + type string; + default "1"; + description + "This object represents the interface attached to the wireless lan."; + } + leaf mcast-vlan-id { + type uint32 { + range "1 .. 4094"; + } + description + "Multicast Vlan Id attached to the wireless lan."; + } + container wlan-switching-policy { + description + "This is structure to specifies wlan switching policy"; + uses wireless-wlan-cfg:wlan-switching-policy; + } + container wlan-flex-policy { + description + "This structure specifies wlan flex policies"; + uses wireless-wlan-cfg:wlan-flex-policy; + } + container static-ip-mobility { + description + "This structure specifies whether static ip mobility support is enabled or disabled."; + uses wireless-wlan-cfg:st-wlan-static-ip-mobility; + } + container wlan-acl { + description + "This structure specifies ipv4 and ipv6 and layer2 acl name mapped to the policies."; + uses wireless-wlan-cfg:wlan-data-acl-policy; + } + container wlan-timeout { + description + "This structure encompases of timeout related details for the wlan policy profile. "; + uses wireless-wlan-cfg:wlan-timeout-settings-policy; + } + container wlan-local-profiling { + description + "This encompasses of wlan local policy profile details."; + uses wireless-wlan-cfg:st-wlan-local-profiling-policy; + } + container wlan-mobility { + description + "This encompasses of wlan mobility related configuration for the policy profile. "; + uses wireless-wlan-cfg:st-wlan-mobility-settings-policy; + } + leaf nbar-protocol-discovery { + type boolean; + default "false"; + description + "This object allows the user to enable or disable NBAR Protocol Discovery for a wlan. A value of 'true' indicates NBAR protocol discovery is active, a 'false' value indicates NBAR protocol discovery is disabled"; + } + leaf reanchor-classmap-name { + type string; + must "../wlan-switching-policy/central-switching = 'true' or string-length() = 0" { + error-message "WLAN switching policy central-switching should be enabled when using selective reanchoring feature"; + error-app-tag "must-violation"; + } + must "(count(../avc-ipv4-fm-ingress-entries/avc-ipv4-fm-ingress-entry) + + count(../avc-ipv4-fm-egress-entries/avc-ipv4-fm-egress-entry) + + count(../avc-ipv6-fm-ingress-entries/avc-ipv6-fm-ingress-entry) + + count(../avc-ipv6-fm-egress-entries/avc-ipv6-fm-egress-entry)) > 0 or string-length() = 0" { + error-message "At least one flow monitor should be enabled when using selective reanchoring feature"; + error-app-tag "must-violation"; + } + must "string-length() = 0 or current() = 'AVC-Reanchor-Class'" { + error-message "The value of classmap used for selective reanchoring feature must be either empty (disabled) or 'AVC-Reanchor-Class'"; + error-app-tag "must-violation"; + } + default ""; + description + "This object specifies the classmap containing protocols to decide on selective reanchoring"; + } + container per-ssid-qos { + description + "This object keeps ingress and egress service names."; + uses wireless-wlan-cfg:st-user-qos-service-policy; + } + container per-client-qos { + description + "This object specifies the per client ingress and egress service names"; + uses wireless-wlan-cfg:st-user-qos-service-policy; + } + container autoqos-mode { + description + "Specifies the mode of autoqos."; + uses wireless-wlan-cfg:st-user-autoqos-mode; + } + container dhcp-params { + description + "Keeps various information of Dhcp such as is_dhcp_enabled,dhcp_server_address etc."; + uses wireless-wlan-cfg:dhcp-params; + } + container mdns-service-policy { + description + "MDNS service policy."; + uses wireless-wlan-cfg:st-mdns-sd-service-policy; + } + container cts-policy { + description + "This structure specifies CTS policy for the wireless profile."; + uses wireless-wlan-cfg:cts-policy; + } + leaf inline-tagging { + type boolean; + default "false"; + description + "Configuration to enable inline tagging for client"; + } + leaf sgt { + type uint16 { + range "2 .. 65519"; + } + description + "Configuration of default SGT value"; + } + container umbrella-params { + description + "Configuration of umbrella policy"; + uses wireless-wlan-cfg:st-umbrella-params; + } + container blacklist-params { + description + "This object keeps information for client blacklisting feature for a WLAN."; + uses wireless-wlan-cfg:blacklist-params; + } + container aaa-policy-params { + description + "This object specifies various attributes of WLAN policy. such as policy profile name etc."; + uses wireless-wlan-cfg:st-wlan-aaa-policy; + } + container et-analytics-params { + description + "This object specifies whether encryption enabled or disabled."; + uses wireless-wlan-cfg:st-et-analytics; + } + container wgb-policy-params { + description + "WGB Policy Parameters"; + uses wireless-wlan-cfg:st-wlan-wgb-policy; + } + leaf fabric-profile-name { + type string; + default ""; + description + "Specifies the fabric profile name configured on the policy profile."; + } + leaf accounting-list { + type string; + default ""; + description + "Specifies the accounting list configured on the policy profile."; + } + leaf client-count { + type uint32 { + range "0 .. 200"; + } + description + "Maximum client that can join the wlan mapped to policy profile."; + } + container atf-policy-map-entries { + description + "ATF Policy Mapping configuration"; + list atf-policy-map-entry { + key "band-id"; + description + "ATF Policies associated to policy profile"; + uses wireless-wlan-cfg:st-atf-policy-map; + } + } + container guest-mm-db-export-entries { + description + "Guest mm DB configuration"; + list guest-mm-db-export-entry { + key "ip"; + description + "Guest mm DB associated to policy profile"; + uses wireless-wlan-cfg:st-guest-mm-db-export; + } + } + leaf call-snoop { + type boolean; + must "(../call-snoop = 'true' and ../per-ssid-qos/ingress-service-name = 'platinum-up' and ../per-ssid-qos/egress-service-name = 'platinum') or (../call-snoop = 'false' and (../per-ssid-qos/ingress-service-name = 'platinum-up' and ../per-ssid-qos/egress-service-name = 'platinum')) or (../call-snoop = 'false' and (../per-ssid-qos/ingress-service-name != 'platinum-up' or ../per-ssid-qos/egress-service-name != 'platinum'))" { + error-message "SSID policies should be configured with Platinum when Call Snoop is enabled"; + error-app-tag "must-violation"; + } + default "false"; + description + "Enable or Disable call snoop for the wlan mapped to policy profile."; + } + leaf sip-cac-send-dis-assoc { + type boolean; + default "false"; + description + "Enable or Disable SIP CAC send disassociate."; + } + leaf sip-cac-send-486-busy { + type boolean; + default "false"; + description + "Enable or Disable SIP CAC send 486 busy."; + } + leaf tunnel-profile-name { + type string { + length "0..128"; + } + default ""; + description + "Tunnel profile name"; + } + container avc-ipv4-fm-ingress-entries { + description + "AVC Ingress IPv4 flow monitor configuration"; + list avc-ipv4-fm-ingress-entry { + must '(count(../avc-ipv4-fm-ingress-entry) <= 4)' { + error-message "There cannot exist more than 4 IPv4 ingress flow monitors"; + error-app-tag "must-violation"; + } + key "name"; + description + "IPv4 ingress flow monitor associated to policy profile"; + uses wireless-wlan-cfg:st-avc-flow-monitor; + } + } + container avc-ipv4-fm-egress-entries { + description + "AVC Egress IPv4 flow monitor configuration"; + list avc-ipv4-fm-egress-entry { + must '(count(../avc-ipv4-fm-egress-entry) <= 4)' { + error-message "There cannot exist more than 4 IPv4 egress flow monitors"; + error-app-tag "must-violation"; + } + key "name"; + description + "IPv4 egress flow monitor associated to policy profile"; + uses wireless-wlan-cfg:st-avc-flow-monitor; + } + } + container avc-ipv6-fm-ingress-entries { + description + "AVC Ingress IPv6 flow monitor configuration"; + list avc-ipv6-fm-ingress-entry { + must '(count(../avc-ipv6-fm-ingress-entry) <= 4)' { + error-message "There cannot exist more than 4 IPv6 ingress flow monitors"; + error-app-tag "must-violation"; + } + key "name"; + description + "IPv6 ingress flow monitor associated to policy profile"; + uses wireless-wlan-cfg:st-avc-flow-monitor; + } + } + container avc-ipv6-fm-egress-entries { + description + "AVC Egress IPv6 flow monitor configuration"; + list avc-ipv6-fm-egress-entry { + must '(count(../avc-ipv6-fm-egress-entry) <= 4)' { + error-message "There cannot exist more than 4 IPv6 egress flow monitors"; + error-app-tag "must-violation"; + } + key "name"; + description + "IPv6 egress flow monitor associated to policy profile"; + uses wireless-wlan-cfg:st-avc-flow-monitor; + } + } + leaf hotspot-anqp-server { + type string { + length "0..200"; + } + default ""; + description + "Name of the Hotspot 2.0 ANQP Server settings"; + } + container guest-lan { + description + "Guest LAN policy details."; + uses wireless-wlan-cfg:st-wlan-guest-lan-policy; + } + container policy-profile-calendar-configs { + description + "Calendar profile configuration"; + list policy-profile-calendar-config { + key "calendar-profile-name"; + description + "Calendar profile associated to policy profile"; + uses wireless-wlan-cfg:st-policy-profile-calendar-config; + } + } + container upn { + description + "User Defined (Private) Network policies"; + uses wireless-wlan-cfg:upn-config; + } + container proxy { + description + "Proxy related configuration on policies"; + uses wireless-wlan-cfg:proxy-cfg; + } + container umbrella-flex-params { + description + "Configuration of umbrella policy for flex mode"; + uses wireless-wlan-cfg:st-umbrella-flex-params; + } + leaf multicast-filter { + type boolean; + default "false"; + description + "Drop all downstream Multicast packets"; + } + leaf qbss-load { + type boolean; + default "true"; + description + "Advertisement of the QOS enhanced basic service set load Information Element(IE)."; + } + leaf encryption-vlan-osen { + type string { + length "0..8"; + pattern '[vV]lan([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-3][0-9][0-9][0-9]|40[0-8][0-9]|409[0-4])|([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-3][0-9][0-9][0-9]|40[0-8][0-9]|409[0-4])?'; + } + default ""; + description + "Vlan name or vlan id of clients connecting to OSEN wlan."; + } + leaf ip-mac-binding { + type boolean; + default "true"; + description + "Control over support for ip-mac binding creation"; + } + leaf link-local-bridging { + type boolean; + must "../wlan-switching-policy/central-switching = 'true' or current() = 'false'" { + error-message "WLAN switching policy central-switching should be enabled when link-local bridging is enabled."; + error-app-tag "must-violation"; + } + must "../wlan-mobility/anchor = 'false' or current() = 'false'" { + error-message "WLAN mobility policy anchor should be disabled when link-local bridging is enabled."; + error-app-tag "must-violation"; + } + must "count(../guest-mm-db-export-entries/guest-mm-db-export-entry) = 0 or current() = 'false'" { + error-message "WLAN link-local bridging is not allowed with mobility anchor"; + error-app-tag "must-violation"; + } + must "(/wireless-general-cfg:general-cfg-data/wireless-general-cfg:mewlc-config/wireless-general-cfg:mewlc-platform = 'false') or + (current() = 'false')" { + error-message "Link-local bridging is not supported on EWC platform"; + error-app-tag "must-violation"; + } + default "false"; + description + "This object specifies whether link-local bridging is enabled"; + } + container arprate-params { + description + "ARP rate limiting configuration on policies"; + uses wireless-wlan-cfg:arp-rate-cfg; + } + leaf accounting-interim { + type boolean; + default "true"; + description + "Enables interim accounting messages"; + } + container ndp-rate-params { + description + "ND rate limiting configuration on policies"; + uses wireless-wlan-cfg:ndp-rate-cfg; + } + container l3-access { + description + "Layer 3 Access configuration on policies"; + uses wireless-wlan-cfg:st-wlan-l3-access-policy; + } + } + + grouping st-guest-mm-db-export { + description + "This object encompasses the parameters for guest mobility manager database export "; + leaf ip { + type inet:ip-address; + description + "IP address of the mobility anchor"; + } + leaf anchor-priority { + type wireless-enum-types:enm-export-anchor-priority-type; + default "export-anchor-tertiary"; + description + "Priority of the mobility anchor"; + } + } + + grouping st-avc-flow-monitor { + description + "Flow monitors (ipv4/ipv6) attached to wireless policy profile in the ingress/egress direction"; + leaf name { + type string { + length "0..32"; + pattern '[0-9a-zA-Z_-]+'; + } + description + "Flow monitor name"; + } + } + + grouping st-nas-id-aaa-config { + description + "These are the different NAS-ID options"; + leaf option1 { + type wireless-types:enm-nas-id-options; + must ". = 'nas-id-custom-string' or string-length(../custom-string-option1) = 0" { + error-message "A nas-id option other than nas-id-custom-string is not valid with custom-string-option"; + error-app-tag "must-violation"; + } + default "nas-id-sys-name"; + description + "Radius NAS-ID option1"; + } + leaf option2 { + type wireless-types:enm-nas-id-options; + must ". = 'nas-id-custom-string' or string-length(../custom-string-option2) = 0" { + error-message "A nas-id option other than nas-id-custom-string is not valid with custom-string-option"; + error-app-tag "must-violation"; + } + default "nas-id-not-configured"; + description + "Radius NAS-ID option2"; + } + leaf option3 { + type wireless-types:enm-nas-id-options; + must ". = 'nas-id-custom-string' or string-length(../custom-string-option3) = 0" { + error-message "A nas-id option other than nas-id-custom-string is not valid with custom-string-option"; + error-app-tag "must-violation"; + } + default "nas-id-not-configured"; + description + "Radius NAS-ID option3"; + } + leaf custom-string-option1 { + type string { + length "0..224"; + } + default ""; + description + "Custom string for NAS-ID option1"; + } + leaf custom-string-option2 { + type string { + length "0..224"; + } + default ""; + description + "Custom string for NAS-ID option2"; + } + leaf custom-string-option3 { + type string { + length "0..224"; + } + default ""; + description + "Custom string for NAS-ID option3"; + } + } + + grouping st-wireless-aaa-policy-config { + description + "This is the Wireless AAA policy configuration"; + leaf policy-name { + type string; + description + "This is the policy name"; + } + container nas-id { + description + "Different NAS-ID options"; + uses wireless-wlan-cfg:st-nas-id-aaa-config; + } + leaf aaa-realm { + type boolean; + description + "Indicates if AAA-REALM is enabled/disabled"; + } + leaf accounting-list { + type string; + description + "Accounting attribute list per WLAN."; + } + leaf authentication-list { + type string; + description + "Authentication attribute list per WLAN."; + } + } + + grouping st-tag-child-rlan-policy-config { + description + "RLAN policy Child table structure"; + leaf port-id { + type uint16; + must '(((current() >= 1) and (current() <= 4)) or (current() = 128))' { + error-message "Remote LAN port-id leaf can be set to values: 1, 2, 3, 4 and 128 only"; + error-app-tag "must-violation"; + } + description + "RLAN port-id value of AP. The port-id can be between 1 to 4 for LAN ports or port-id 128 is for external module of AP"; + } + leaf rlan-profile-name { + type string; + description + "This is the name of the RLAN config "; + } + leaf rlan-policy-profile-name { + type string; + description + "This is the name of the RLAN policy config "; + } + } + + grouping st-calendar-weekly-config { + description + "Configuration of weekly schedule"; + leaf day { + type wireless-enum-types:work-day; + mandatory true; + description + "Configuration of enable scheduling on this day"; + } + } + + grouping st-calendar-monthly-config { + description + "Configuration of monthly schedule"; + leaf date { + type uint8 { + range "1 .. 31"; + } + mandatory true; + description + "Configuration to enable scheduling on this date"; + } + } + + grouping st-calendar-profile-config { + description + "Configuration of SSID daily schedule"; + leaf profile-name { + type string { + pattern '[!-~]([ -~]*[!-~])?'; + } + mandatory true; + description + "Name of the Schedule-SSID-Daily profile"; + } + leaf start-time { + type string { + pattern '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + mandatory true; + description + "Configuration for start time for the day [HH:MM:SS]"; + } + leaf end-time { + type string { + pattern '([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]'; + } + description + "Configuration for end time for the day [HH:MM:SS]"; + } + leaf recurrence { + type wireless-enum-types:calendar-recurrence; + mandatory true; + description + "Calendar recurrence configuration"; + } + container calendar-weekly-configs { + description + "List of weekdays under Calendar profile"; + list calendar-weekly-config { + key "day"; + description + "List of days of the week"; + uses wireless-wlan-cfg:st-calendar-weekly-config; + } + } + container calendar-monthly-configs { + description + "List of dates under calendar profile"; + list calendar-monthly-config { + key "date"; + description + "List of dates"; + uses wireless-wlan-cfg:st-calendar-monthly-config; + } + } + } + + container wlan-cfg-data { + description + "This yang file includes the configuration of wlan parameter and policies"; + container calendar-profile-configs { + description + "Calendar profile configuration"; + list calendar-profile-config { + key "profile-name"; + description + "Calendar profile"; + uses wireless-wlan-cfg:st-calendar-profile-config; + } + } + container wlan-cfg-entries { + description + "WLAN config parameters"; + list wlan-cfg-entry { + key "profile-name"; + unique "wlan-id"; + description + "List of WLAN config parameters"; + uses wireless-wlan-cfg:wlan-profile { + refine "wlan-id" { + mandatory true; + } + } + } + } + container wlan-policies { + description + "WLAN policy configuration"; + list wlan-policy { + key "policy-profile-name"; + description + "List of WLAN policy configurations"; + uses wireless-wlan-cfg:st-wlan-policies; + } + } + container policy-list-entries { + description + "Policy list configuration"; + list policy-list-entry { + key "tag-name"; + description + "This object specifies the policy tag name and + also hosts the mapping between a Wlan and policy profile"; + uses wireless-wlan-cfg:policy-tag; + } + } + container wireless-aaa-policy-configs { + description + "Wireless AAA policy Configurations"; + list wireless-aaa-policy-config { + key "policy-name"; + description + "The wireless AAA policy configurations"; + uses wireless-wlan-cfg:st-wireless-aaa-policy-config; + } + } + container guest-lan-configs { + description + "Guest-LAN profile configuration"; + list guest-lan-config { + key "profile-name"; + unique "guest-lan-id"; + description + "Specifies the Guest-LAN profile"; + uses wireless-wlan-cfg:st-guest-lan-config { + refine "guest-lan-id" { + mandatory true; + } + } + } + } + container guest-lan-maps { + description + "Guest-LAN map configuration"; + list guest-lan-map { + key "map-name"; + description + "Specifies the Guest-LAN map"; + uses wireless-wlan-cfg:st-guest-lan-map; + } + } + container dot11be-profiles { + description + "profile"; + list dot11be-profile { + key "profile-name"; + description + "profile"; + uses wireless-wlan-cfg:st-dot11be-profile; + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-global-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-global-oper.yang new file mode 100644 index 000000000..36e07a601 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wireless-wlan-global-oper.yang @@ -0,0 +1,74 @@ +module Cisco-IOS-XE-wireless-wlan-global-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wireless-wlan-global-oper"; + prefix wireless-wlan-global-oper; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains operational WLAN data aggregated across wireless processes. + Copyright (c) 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Marked per-wlan-max-client-syslog leaf deprecated"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping wlan-info-entry { + description + "WLAN statistics"; + leaf wlan-profile { + type string; + description + "WLAN profile name"; + } + leaf curr-clients-count { + type uint32; + description + "Number of active clients for this WLAN"; + } + leaf per-wlan-max-client-syslog { + type boolean; + status deprecated; + description + "Syslog message enabled when maximum clients are reached on WLAN"; + } + } + + container wlan-global-oper-data { + config false; + description + "Root container for WLAN operational data aggregated across wireless processes"; + list wlan-info { + key "wlan-profile"; + description + "WLAN client statistics"; + uses wireless-wlan-global-oper:wlan-info-entry; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wpan-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wpan-oper.yang new file mode 100644 index 000000000..3df586702 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wpan-oper.yang @@ -0,0 +1,1355 @@ +module Cisco-IOS-XE-wpan-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wpan-oper"; + prefix wpan-ios-xe-oper; + + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for WPAN (Wireless Personal Area Network) + operational data. WPAN implements Field Area + Network support based on the IEEE 802.15.4 standard + including support for RPL (IPv6 Routing Protocol for + Low-Power and Lossy Networks described in RFC 6550). + Copyright (c) 2021-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-03-01 { + description + "- Added LFN, LFN Beacon to WPAN h/w info. + - Added LGTKs to mesh security info. + - Added LGTK & supplicant role to mesh security sessions."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-07-01 { + description + "- Added time synchronization information. + - Added HA (High Availability) information."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2022-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef wpan-module-type { + type enumeration { + enum wpan-module-invalid { + value 0; + description + "The WPAN module is unknown/invalid."; + } + enum wpan-module-irmh-900 { + value 1; + description + "IP67 rated WPAN module operating in the + 900 MHz band"; + } + } + description + "Type of WPAN module"; + } + + typedef wpan-service-state { + type enumeration { + enum wpan-state-invalid { + value 0; + description + "The WPAN module is in an invalid state"; + } + enum wpan-state-no-mod { + value 1; + description + "No WPAN module detected"; + } + enum wpan-state-not-running { + value 2; + description + "The WPAN module is not running. The module will + be in this state when it has been stopped + (powered off)."; + } + enum wpan-state-starting { + value 3; + description + "The WPAN module is in the process of starting + and is expected to be fully operational within + 10-15 seconds"; + } + enum wpan-state-running { + value 4; + description + "The WPAN module is fully operational."; + } + } + description + "Service state of the WPAN (Wireless Personal Area + Network) module"; + } + + typedef wpan-ha-state { + type enumeration { + enum wpan-ha-mode-disabled { + value 0; + description + "WPAN HA is disabled"; + } + enum wpan-ha-mode-active { + value 1; + description + "WPAN HA is running and host is active"; + } + enum wpan-ha-mode-standby { + value 2; + description + "WPAN HA is running and host is standby"; + } + } + description + "HA (high availability) state of the WPAN (Wireless Personal Area + Network) module"; + } + + typedef wpan-ha-cfg { + type enumeration { + enum wpan-ha-mode-cfg-invalid { + value 0; + description + "WPAN HA configuration is invalid"; + } + enum wpan-ha-mode-cfg-automatic { + value 1; + description + "WPAN HA configuration is set to automatic"; + } + enum wpan-ha-mode-cfg-manual { + value 2; + description + "WPAN HA configuration is set to manual"; + } + } + description + "HA (high availability) configuration of the WPAN (Wireless Personal Area + Network) module"; + } + + typedef wpan-pulse-src { + type enumeration { + enum wpan-pulse-src-invalid { + value 0; + description + "Invalid pulse source"; + } + enum wpan-pulse-src-sw { + value 1; + description + "The pulse is generated by software control of the signal"; + } + enum wpan-pulse-src-pps { + value 2; + description + "The pulse is provided by the GNSS receiver's pulse per second signal"; + } + } + description + "The source of the timing pulse used for synchronization"; + } + + typedef meshsec-state { + type enumeration { + enum meshsec-sess-init { + value 0; + description + "Initialized but has not been authenticated"; + } + enum meshsec-sess-auth { + value 1; + description + "Authenticated but does not have keys"; + } + enum meshsec-sess-enc-enabled { + value 2; + description + "Completed key exchange and has keys"; + } + enum meshsec-sess-handshake { + value 3; + description + "Key exchange handshake in progress"; + } + enum meshsec-sess-key-update { + value 4; + description + "Key update in progress"; + } + enum meshsec-sess-invalid { + value 5; + description + "Invalid state"; + } + } + description + "State of mesh security session"; + } + + typedef meshsec-supp-role { + type enumeration { + enum meshsec-supp-role-fan10 { + value 0; + description + "FAN 1.0 Legacy Node"; + } + enum meshsec-supp-role-ffn { + value 1; + description + "Full Function Node"; + } + enum meshsec-supp-role-lfn { + value 2; + description + "Limited Function Node"; + } + enum meshsec-supp-role-max { + value 3; + description + "Invalid supplicant role"; + } + } + description + "Supplicant role"; + } + + grouping wpan-hw-info { + description + "WPAN hardware information and configuration of + layer 1 and layer 2 parameters"; + leaf if-name { + type string; + description + "The interface name"; + } + leaf module-type { + type wpan-ios-xe-oper:wpan-module-type; + description + "Module Type"; + } + leaf state { + type wpan-ios-xe-oper:wpan-service-state; + description + "Service state of the WPAN module"; + } + leaf fw-ver { + type string; + description + "firmware version"; + } + leaf pan-id { + type uint16; + description + "PAN (Personal Area Network) identifier"; + } + leaf wisun { + type empty; + description + "Wi-SUN mode is enabled"; + } + leaf band-id { + type uint8; + description + "Radio-Frequency Band identifier"; + } + leaf ssid { + type string; + description + "SSID (Network Name)"; + } + leaf eui64 { + type string; + description + "64-bit MAC address of the interface"; + } + leaf txpower { + type int8; + units "dBm"; + description + "Transmit Power (dBm)"; + } + leaf-list phy-mode { + type uint8; + max-elements 8; + ordered-by user; + description + "RF PHY Mode"; + } + leaf channel { + type uint8; + description + "Channel Number"; + } + leaf dwell-window { + type uint32; + units "milliseconds"; + description + "Dwell Window"; + } + leaf dwell-max { + type uint32; + units "milliseconds"; + description + "Dwell Maximum"; + } + leaf disc-imin { + type uint32; + units "seconds"; + description + "Discovery trickle timer Imin parameter + (used for PAN Advertisements)"; + } + leaf disc-imax { + type uint32; + units "seconds"; + description + "Discovery trickle timer Imax parameter + (used for PAN Advertisements)"; + } + leaf disc-k { + type uint32; + description + "Discovery trickle timer suppression constant + (used for PAN Advertisements)"; + } + leaf security-enabled { + type boolean; + description + "Security is enabled. This includes 802.1x EAP-TLS + for mutual authentication, 802.11i for key exchange + and 802.15.4 MAC layer encryption and integrity."; + } + leaf admin-up { + type boolean; + description + "Indicates that the WPAN module is enabled"; + } + leaf beacon-ver { + type uint32; + description + "Beacon version"; + } + leaf beacon-ver-inc-time { + type uint32; + units "seconds"; + description + "Beacon version increment time"; + } + leaf ucast-dwell-interval { + when 'boolean(../wisun)'; + type uint32; + units "milliseconds"; + description + "Unicast dwell interval"; + } + leaf bcast-dwell-interval { + when 'boolean(../wisun)'; + type uint32; + units "milliseconds"; + description + "Broadcast dwell interval"; + } + leaf bcast-interval { + when 'boolean(../wisun)'; + type uint32; + units "milliseconds"; + description + "Broadcast interval"; + } + leaf edfe-enabled { + when 'boolean(../wisun)'; + type boolean; + description + "EDFE mode is enabled"; + } + leaf lfn { + type empty; + description + "Limited Function Node support is enabled"; + } + leaf lfn-bver { + when 'boolean(../lfn)'; + type uint32; + description + "Limited Function Node Beacon Version"; + } + } + + grouping wpan-conf { + description + "WPAN configuration (parameters related to layer 3 + and above functionality)"; + leaf if-name { + type string; + description + "The interface name"; + } + leaf outage-server { + type inet:ip-address; + description + "Outage server address where Power Outage Notifications and + Power Restoration Notifications are forwarded to"; + } + leaf dtls-relay { + type inet:ip-address; + description + "DTLS relay address (used during certificate enrollment)"; + } + leaf-list mcast-group { + type inet:ip-address; + max-elements 3; + ordered-by user; + description + "Unicast-Prefix-based IPv6 Multicast Address + (RFC 3306) enabled on the interface"; + } + leaf-list mcast-port { + type uint16; + max-elements 16; + ordered-by user; + description + "UDP port allowed for multicast traffic"; + } + leaf peer-to-peer { + type boolean; + description + "Forward packets from mesh endpoints which have + other mesh endpoints as destination"; + } + } + + grouping wpan-ha-info { + description + "WPAN HA (High Availability) config + and session information"; + leaf if-name { + type string; + description + "HA feature configured WPAN interface name"; + } + leaf state { + type wpan-ios-xe-oper:wpan-ha-state; + description + "HA detail state of the WPAN interface. + State can be one of wpan-ha-mode-disabled, + wpan-ha-mode-active, or wpan-ha-mode-standby"; + } + leaf peer-ip { + when "../state != 'wpan-ha-mode-disabled'"; + type inet:ip-address; + description + "IP address used to connect the peer side + WPAN interface to enable HA feature"; + } + leaf session-id { + when "../state != 'wpan-ha-mode-disabled'"; + type uint32; + description + "Session number used to connect the peer side + WPAN interface to enable HA feature"; + } + leaf port-number { + when "../state != 'wpan-ha-mode-disabled'"; + type uint16; + description + "Port number used to connect the peer side + WPAN interface to enable HA feature"; + } + leaf ctrl-if-name { + when "../state != 'wpan-ha-mode-disabled'"; + type string; + description + "HSRP state tracking interface's name"; + } + leaf standby-group { + when "../state != 'wpan-ha-mode-disabled'"; + type uint32; + description + "HSRP protocol group monitoring the WPAN interface"; + } + leaf cfg-src { + when "../state != 'wpan-ha-mode-disabled'"; + type wpan-ios-xe-oper:wpan-ha-cfg; + description + "HA feature configuration mode. + In automatic mode (wpan-ha-mode-cfg-automatic), + HA state is decided by HSRP. + In manual mode (wpan-ha-mode-cfg-manual), + HA state is designated by IOT Field Network Director"; + } + } + + grouping wpan-rpl-config-info { + description + "WPAN RPL (IPv6 Routing Protocol for Low-Power and + Lossy Networks: RFC 6550) configuration information"; + leaf if-name { + type string; + description + "The interface name"; + } + leaf dodag-id { + type inet:ip-address; + description + "RPL DODAG Identifier (this is always set to the + first IPv6 address of the WPAN interface)"; + } + leaf dodag-lifetime { + type uint8; + units "minutes"; + description + "RPL DODAG lifetime"; + } + leaf dio-imin { + type uint8; + description + "RPL DIO trickle timer Imin parameter exponent"; + } + leaf dio-imax { + type uint8; + description + "RPL DIO trickle timer Imax parameter (number of doublings)"; + } + leaf rpl-ver { + type uint8; + units "minutes"; + description + "RPL version increment time"; + } + leaf ver-incr-time { + type uint16; + units "minutes"; + description + "RPL version increment time"; + } + leaf route-poisoning { + type empty; + description + "RPL route poisoning is enabled"; + } + leaf pon-instance { + type empty; + description + "RPL PON (Power Outage Notification) + instance is enabled"; + } + leaf pon-dio-imin { + when 'boolean(../pon-instance)'; + type uint8; + description + "RPL PON instance DIO trickle timer Imin parameter exponent"; + } + leaf pon-dio-imax { + when 'boolean(../pon-instance)'; + type uint8; + description + "RPL PON instance DIO trickle timer Imax parameter + (number of doublings)"; + } + leaf dodag-version { + type uint8; + description + "RPL DODAG version"; + } + leaf route-auto-poisoning { + type empty; + description + "RPL route auto poisoning is enabled"; + } + leaf rpl-opt-metric-container { + type boolean; + description + "RPL option metric container is enabled"; + } + leaf cisco-option { + type uint8; + description + "Controls usage of the cisco option in DAO messages"; + } + } + + grouping wpan-time-pulse { + description + "Information about pulse-based time synchronization for the WPAN module"; + leaf src { + type wpan-ios-xe-oper:wpan-pulse-src; + description + "The source of the timing pulse (software-generated or GNSS)"; + } + leaf last-trigger { + type yang:date-and-time; + description + "The last time a timing pulse was triggered"; + } + leaf last-recv { + type yang:date-and-time; + description + "The last time a timing pulse was received by the WPAN module"; + } + leaf num-triggered { + type uint32; + description + "Total number of timing pulses triggered"; + } + leaf num-received { + type uint32; + description + "Total number of timing pulses received by the WPAN module"; + } + leaf num-sync { + type uint32; + description + "Number of timing pulses used for synchronization"; + } + } + + grouping wpan-time-stats { + description + "Information about time synchronization for the WPAN module"; + leaf if-name { + type string; + description + "The interface name"; + } + leaf pulse-enabled { + type boolean; + description + "Pulse-based time synchronization is enabled"; + } + container pulse { + when "../pulse-enabled = 'true'"; + description + "Pulse-based time synchronization information"; + uses wpan-ios-xe-oper:wpan-time-pulse; + } + } + + grouping wpan-ipv6-key { + description + "Key for the WPAN tables based on IPv6 address"; + leaf if-name { + type string; + description + "The Interface name."; + } + leaf ip { + type inet:ip-address; + description + "The IPv6 address of the node."; + } + } + + grouping wpan-rpl { + description + "WPAN RPL (IPv6 Routing Protocol for Low-Power and + Lossy Networks: RFC 6550) entry general information."; + leaf num-parents { + type uint8; + description + "Number of parents"; + } + leaf external { + type uint8; + description + "Whether the route is external"; + } + leaf last-heard { + type yang:date-and-time; + description + "Last time a RPL DAO was received from the node"; + } + leaf-list mcast-group { + type inet:ip-address; + max-elements 8; + ordered-by user; + description + "Multicast group joined by the node"; + } + leaf-list mcast-domain { + type inet:ip-address; + max-elements 8; + ordered-by user; + description + "MPL domain joined by the node"; + } + leaf has-cisco-info { + type empty; + description + "Cisco info present. This is a Cisco-specific + option in the DAO messages to provide additional + information about the node. Availability depends + on configuration and support from the nodes"; + } + leaf eui64 { + when 'boolean(../has-cisco-info)'; + type string; + description + "The node's 64-bit MAC address"; + } + leaf rank { + when 'boolean(../has-cisco-info)'; + type uint16; + description + "The node's RPL rank"; + } + leaf version { + when 'boolean(../has-cisco-info)'; + type uint8; + description + "The node's RPL version"; + } + } + + grouping wpan-rpl-parent-key { + description + "Key for the WPAN RPL table"; + leaf if-name { + type string; + description + "The Interface name."; + } + leaf ip { + type inet:ip-address; + description + "The IPv6 address of the node."; + } + leaf parent-ip { + type inet:ip-address; + description + "The IPv6 address of the node's parent."; + } + } + + grouping wpan-rpl-parent { + description + "Parent-specific information for each node in the + RPL table"; + leaf reachable { + type boolean; + description + "The node can be reached via this parent"; + } + leaf priority { + type uint8; + description + "Priority of this parent (lower number means higher + priority)"; + } + leaf hops { + when '(../priority = 1) or boolean(../has-cisco-info)'; + type uint8; + description + "Number of hops to the root via this parent"; + } + leaf has-cisco-info { + type empty; + description + "Cisco info present. This is a Cisco-specific + option in the DAO messages to provide additional + information about the node. Availability depends + on configuration and support from the nodes"; + } + leaf eui64 { + when 'boolean(../has-cisco-info)'; + type string; + description + "The parent's 64-bit MAC address"; + } + leaf etx-path { + when 'boolean(../has-cisco-info)'; + type uint16; + description + "Path cost for expected transmission count metric"; + } + leaf etx-link { + when 'boolean(../has-cisco-info)'; + type uint16; + description + "Link cost for expected transmission count metric"; + } + leaf rssi-reverse { + when 'boolean(../has-cisco-info)'; + type int8; + units "dBm"; + description + "Received signal strength indicator based on packets + received by the node from the parent"; + } + leaf rssi-forward { + when 'boolean(../has-cisco-info)'; + type int8; + units "dBm"; + description + "Received signal strength indicator based on packets + received by the parent from the node"; + } + leaf lqi-reverse { + when 'boolean(../has-cisco-info)'; + type uint8; + description + "Link quality index based on packets + received by the node from the parent"; + } + leaf lqi-forward { + when 'boolean(../has-cisco-info)'; + type uint8; + description + "Link quality index based on packets + received by the parent from the node"; + } + } + + grouping wpan-mpl-seed-info { + description + "MPL seed-specific information"; + leaf id { + type inet:ip-address; + description + "Seed identifier for MPL messages forwarded by + the border router. This is an IPv6 address, and is + normally set to the first unicast IPv6 address of + the WPAN interface"; + } + leaf seq-hb { + type uint8; + description + "MPL sequence high bound"; + } + leaf seq-lb { + type uint8; + description + "MPL sequence low bound"; + } + leaf min-seq { + type uint8; + description + "MPL sequence minimum value"; + } + leaf num-msgs { + type uint8; + description + "Number of messages in the MPL buffer"; + } + } + + grouping wpan-mpl { + description + "WPAN MPL (Multicast Protocol for Low-Power and Lossy Networks: RFC 7731) + information for each enabled MPL domain. The key is the IPv6 address of + the MPL domain"; + leaf data-imin { + type uint32; + units "milliseconds"; + description + "MPL trickle timer Imin parameter"; + } + leaf data-imax { + type uint32; + units "milliseconds"; + description + "MPL trickle timer Imax parameter"; + } + leaf expire { + type uint8; + description + "MPL trickle timer expiration parameter + (number of messages)"; + } + list seed { + max-elements 5; + description + "MPL seed-specific information"; + uses wpan-ios-xe-oper:wpan-mpl-seed-info; + } + } + + grouping wpan-eui64-key { + description + "Key for the WPAN tables based on MAC address"; + leaf if-name { + type string; + description + "The Interface name."; + } + leaf eui64 { + type string; + description + "The node's 64-bit MAC address"; + } + } + + grouping wpan-nbr { + description + "Neighbor entry for the WPAN interface"; + leaf first-heard { + type yang:date-and-time; + description + "First time that a neighbor solicit message was received + by the WPAN module from the node"; + } + leaf last-heard { + type yang:date-and-time; + description + "Last time that a neighbor solicit message was received + by the WPAN module from the node"; + } + leaf rssi-reverse { + type int8; + units "dBm"; + description + "Received signal strength indicator based on packets + received by the WPAN module from the node"; + } + leaf rssi-forward { + type int8; + units "dBm"; + description + "Received signal strength indicator based on packets + received by the node from the WPAN module"; + } + leaf lqi-reverse { + type uint8; + description + "Link quality index based on packets + received by the WPAN module from the node"; + } + leaf lqi-forward { + type uint8; + description + "Link quality index based on packets + received by the node from the WPAN module"; + } + leaf phy-mode-reverse { + type uint8; + description + "Link quality index based on packets + received by the WPAN module from the node"; + } + leaf phy-mode-forward { + type uint8; + description + "Link quality index based on packets + received by the node from the WPAN module"; + } + leaf ipv6-reg { + type empty; + description + "The WPAN module has received a neighbor solicit with + an address registration option from the node. + This means that the node's address is considered on-link + and IPv6 packets can be sent to it directly."; + } + leaf ip { + when 'boolean(../ipv6-reg)'; + type inet:ip-address; + description + "The IPv6 address of the node."; + } + leaf ip-expiry { + when 'boolean(../ipv6-reg)'; + type yang:date-and-time; + description + "Expiry time of the IPv6 registration if not refreshed."; + } + } + + grouping wpan-pon { + description + "Power Outage Notification entry"; + leaf outage-reported { + type yang:date-and-time; + description + "The time when the outage occurred as reported by the node"; + } + leaf first-received { + type yang:date-and-time; + description + "The first time this power outage notification (for this node) + was received. This is used to track performance of the outage + notification protocols and for troubleshooting"; + } + leaf last-received { + type yang:date-and-time; + description + "The last time this power outage notification (for this node) + was received. This is used to track performance of the outage + notification protocols and for troubleshooting"; + } + } + + grouping wpan-prn { + description + "Power Restoration Notification entry"; + leaf outage-reported { + type yang:date-and-time; + description + "The time when the outage corresponding to this restoration + occurred as reported by the node"; + } + leaf restoration-reported { + type yang:date-and-time; + description + "The time when the restoration occurred as reported by the node"; + } + leaf first-received { + type yang:date-and-time; + description + "The first time this power restoration notification (for this node) + was received. This is used to track performance of the restoration + notification protocols and for troubleshooting"; + } + leaf last-received { + type yang:date-and-time; + description + "The last time this power restoration notification (for this node) + was received. This is used to track performance of the restoration + notification protocols and for troubleshooting"; + } + } + + grouping wpan-eap { + description + "Table used to keep track of EAP (Extensible Authentication Protocol) information"; + leaf last-heard { + type yang:date-and-time; + description + "Last time an EAP packet was received from the supplicant"; + } + leaf relayed { + type empty; + description + "The last EAP packet for this supplicant was relayed via another node"; + } + leaf relay-ip-addr { + when 'boolean(../relayed)'; + type inet:ip-address; + description + "IPv6 address of the node that relayed the last EAP packet from this supplicant"; + } + } + + grouping wpan-dtls-relay { + description + "DTLS relay information (used when nodes perform certificate enrollment)"; + leaf start-time { + type yang:date-and-time; + description + "The start of the current session"; + } + leaf num-rx { + type uint32; + description + "Number of packets received in the current session"; + } + leaf num-tx { + type uint32; + description + "Number of packets transmitted in the current session"; + } + } + + grouping meshsec-gtk { + description + "Global Transient Key"; + leaf key-id { + type uint8; + description + "Key identifier"; + } + leaf expiry { + type yang:date-and-time; + description + "Key expiry time"; + } + } + + grouping meshsec-info { + description + "Mesh security information about WPAN interface"; + leaf if-name { + type string; + description + "The interface name"; + } + leaf sess-total { + type uint32; + description + "Total number of sessions"; + } + leaf sess-with-keys { + type uint32; + description + "Number of sessions with keys"; + } + leaf max-active-auth { + type uint32; + description + "Maximum active authentications"; + } + leaf cur-active-auth { + type uint32; + description + "Current active authentications"; + } + leaf queued-auth { + type uint32; + description + "Queued authentications"; + } + leaf max-active-ke { + type uint32; + description + "Maximum active key exchanges"; + } + leaf cur-ke { + type uint32; + description + "Current key exchanges"; + } + leaf queued-ke { + type uint32; + description + "Queued key exchanges"; + } + leaf dot1x-cleanup { + type boolean; + description + "Dot1x cleanup enabled on interface. When enabled, dot1x sessions will be automatically removed when no longer needed."; + } + leaf pmk-lifetime { + type uint32; + units "seconds"; + description + "Lifetime of Pairwise Master Key"; + } + leaf ptk-lifetime { + type uint32; + units "seconds"; + description + "Lifetime of Pairwise Temporal key"; + } + leaf gtk-lifetime { + type uint32; + units "seconds"; + description + "Lifetime of Group Transient Key"; + } + list gtk { + max-elements 4; + description + "Information about currently installed Group Transient Keys"; + uses wpan-ios-xe-oper:meshsec-gtk; + } + leaf cur-key-id { + type uint8; + description + "The ID of the current key"; + } + list lgtk { + max-elements 3; + description + "Information about currently installed LFN Group Transient Keys"; + uses wpan-ios-xe-oper:meshsec-gtk; + } + } + + grouping meshsec-sess { + description + "Information about mesh security session for a supplicant"; + leaf state { + type wpan-ios-xe-oper:meshsec-state; + description + "State of the session"; + } + leaf has-pmk { + type empty; + description + "The supplicant has a Pairwise Master Key"; + } + leaf pmk-expiry { + when 'boolean(../has-pmk)'; + type yang:date-and-time; + description + "Expiry time of the Pairwise Master Key"; + } + leaf has-ptk { + type empty; + description + "The supplicant has a Pairwise Temporal Key"; + } + leaf ptk-expiry { + when 'boolean(../has-ptk)'; + type yang:date-and-time; + description + "Expiry of the Pairwise Temporal Key"; + } + leaf-list gtk { + type uint8; + max-elements 4; + ordered-by user; + description + "Key IDs for each Group Transient Key that the supplicant has"; + } + leaf role { + type wpan-ios-xe-oper:meshsec-supp-role; + description + "Indicates the supplicant role"; + } + leaf-list lgtk { + type uint8; + max-elements 3; + ordered-by user; + description + "Key IDs for each LFN Group Transient Key that the supplicant has"; + } + } + + container wpan-oper-data { + config false; + description + "This is a top level container for WPAN information"; + list wpan-hw-info { + key "if-name"; + description + "WPAN hardware information"; + uses wpan-ios-xe-oper:wpan-hw-info; + } + list wpan-conf { + key "if-name"; + description + "WPAN configuration"; + uses wpan-ios-xe-oper:wpan-conf; + } + list wpan-ha-info { + key "if-name"; + description + "WPAN HA information"; + uses wpan-ios-xe-oper:wpan-ha-info; + } + list wpan-rpl-config-info { + key "if-name"; + description + "RPL Configuration Information"; + uses wpan-ios-xe-oper:wpan-rpl-config-info; + } + list wpan-time-stats { + key "if-name"; + description + "Information about time synchronization for the WPAN module"; + uses wpan-ios-xe-oper:wpan-time-stats; + } + list wpan-rpl { + key "if-name ip"; + description + "Contains RPL (RFC 6550) routing entries maintained + by the RPL root. This table contains general information + for each node."; + uses wpan-ios-xe-oper:wpan-ipv6-key; + uses wpan-ios-xe-oper:wpan-rpl; + } + list wpan-rpl-parent { + key "if-name ip parent-ip"; + description + "Contains the parent information for each node in + the RPL table."; + uses wpan-ios-xe-oper:wpan-rpl-parent-key; + uses wpan-ios-xe-oper:wpan-rpl-parent; + } + list wpan-mpl { + key "if-name ip"; + description + "WPAN MPL (RFC 7731) information"; + uses wpan-ios-xe-oper:wpan-ipv6-key; + uses wpan-ios-xe-oper:wpan-mpl; + } + list wpan-nbr { + key "if-name eui64"; + description + "Neighbor entry for the WPAN interface"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:wpan-nbr; + } + list wpan-pon { + key "if-name eui64"; + description + "Power Outage Notification entry"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:wpan-pon; + } + list wpan-prn { + key "if-name eui64"; + description + "Power Restoration Notification entry"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:wpan-prn; + } + list wpan-eap { + key "if-name eui64"; + description + "Table used to keep track of EAP (Extensible Authentication Protocol) information"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:wpan-eap; + } + list wpan-dtls-relay { + key "if-name eui64"; + description + "DTLS relay information (used when nodes perform certificate enrollment)"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:wpan-dtls-relay; + } + list meshsec-info { + key "if-name"; + description + "Mesh security information about WPAN interface"; + uses wpan-ios-xe-oper:meshsec-info; + } + list meshsec-sess { + key "if-name eui64"; + description + "Information about mesh security session for a supplicant"; + uses wpan-ios-xe-oper:wpan-eui64-key; + uses wpan-ios-xe-oper:meshsec-sess; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wsa-types.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wsa-types.yang new file mode 100644 index 000000000..9cc1f9ff3 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wsa-types.yang @@ -0,0 +1,672 @@ +module Cisco-IOS-XE-wsa-types { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wsa-types"; + prefix wsa-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for wsa data types. + Copyright (c) 2018-2019, 2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2019-05-21 { + description + "- Added semantic version + - Added new event to WSA client events enumeration"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2018-10-29 { + description + "Cleaned up spelling errors in descriptions."; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2018-10-08 { + description + "Addition of event reason enumeration values"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-06-11 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef wsa-client-event-result { + type enumeration { + enum wsa-cl-event-success { + value 0; + description + "WSA client event success"; + } + enum wsa-cl-event-failure { + value 1; + description + "WSA client event failure"; + } + } + description + "Enumeration for wsa client event result"; + } + + typedef wsa-client-events { + type enumeration { + enum wsa-cl-event-invalid { + value 0; + description + "WSA client event type invalid"; + } + enum wsa-cl-event-idle { + value 1; + description + "WSA client event type idle. Represents the client has transitioned into idle state"; + } + enum wsa-cl-event-associating { + value 2; + description + "WSA client event type associating. Used to indicate that the client is trying to associate"; + } + enum wsa-cl-event-associated { + value 3; + description + "WSA client event type associated. Used to indicate that the client has associated to the Access point"; + } + enum wsa-cl-event-authenticating { + value 4; + description + "WSA client event type authenticating. Used to indicate that the client is in the the process of authenticating"; + } + enum wsa-cl-event-authenticated { + value 5; + description + "WSA client event type authenticated. Used to indicate that the client has been Authenticated"; + } + enum wsa-cl-event-mobility-discovery { + value 6; + description + "WSA client event type mobility discovery. Used to indicate that the client is in mobility discovery phase"; + } + enum wsa-cl-event-mobility-complete { + value 7; + description + "WSA client event type mobility complete. Used to indicate that the client is in mobility complete phase"; + } + enum wsa-cl-event-ip-learning { + value 8; + description + "WSA client event type ip learning. Used to indicate that the client is in the process of learning the IP"; + } + enum wsa-cl-event-ip-learn-complete { + value 9; + description + "WSA client event type ip learn complete. Used to indicate that the client has completed the IP learn process"; + } + enum wsa-cl-event-webauth-required { + value 10; + description + "WSA client event type web authentication required. Used to indicate that the client web authentication is pending"; + } + enum wsa-cl-event-webauth-complete { + value 11; + description + "WSA client event type web authentication complete. Used to indicate that the client has completed web authentication"; + } + enum wsa-cl-event-dpath-plumb-in-progress { + value 12; + description + "WSA client event type data path plumb in progress. Used indicate that the data path is being programmed for the client"; + } + enum wsa-cl-event-dpath-plumb-complete { + value 13; + description + "WSA client event type data path plumb complete. Used indicate that the data path programming for the client has completed"; + } + enum wsa-cl-event-run { + value 14; + description + "WSA client event type run. Used to indicate that the client has moved to run state"; + } + enum wsa-cl-event-delete-in-progress { + value 15; + description + "WSA client event type delete in progress. Used to indicate that the client delete is in progress"; + } + enum wsa-cl-event-deleted { + value 16; + description + "WSA client event type deleted. Used to indicate that the client has been deleted"; + } + enum wsa-cl-event-blacklisted { + value 17; + description + "WSA client event type blacklisted. Used to indicate that the client has been blacklisted"; + } + enum wsa-cl-event-client-analytics { + value 18; + description + "WSA client event type client analytics. Used to indicate actions triggered from client during its life cycle"; + } + } + description + "Enumeration for wsa client event type"; + } + + typedef wsa-client-event-reason-3p { + type enumeration { + enum wsa-cl-evt-reason-none { + value 0; + description + "WSA client event reason none"; + } + enum wsa-cl-evt-reason-co-client-connect-timeout { + value 1; + description + "WSA client event reason client connect timed out"; + } + enum wsa-cl-evt-reason-authif-authen-result { + value 2; + description + "WSA client event reason when authentication result is available"; + } + enum wsa-cl-evt-reason-exclusion-assoc-fail { + value 3; + description + "WSA client event reason when association failed for exclusion"; + } + enum wsa-cl-evt-reason-dot11-reassoc-no-assoc { + value 4; + description + "WSA client event reason dot11 reassociation found without preexisting association"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-decline { + value 5; + description + "WSA client event reason iplearn dhcp offer was declined"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-nack { + value 6; + description + "WSA client event reason iplearn dhcp nack by DHCP server"; + } + enum wsa-cl-evt-reason-exclusion-dot11-auth-fail { + value 7; + description + "WSA client event reason exclusion dot11 authentication fail"; + } + enum wsa-cl-evt-reason-exclude-dot11-auth-fail { + value 8; + description + "WSA client event reason exclude dot11 authentication fail"; + } + enum wsa-cl-evt-reason-dot11-denied-rates { + value 9; + description + "WSA client event reason when provided dot11 rates are denied"; + } + enum wsa-cl-evt-reason-dot11-not-supported-auth-alg { + value 10; + description + "WSA client event reason dot11 authentication algorithm is not supported"; + } + enum wsa-cl-evt-reason-exclude-ip-theft { + value 11; + description + "WSA client event reason excluded because of ip theft"; + } + enum wsa-cl-evt-reason-exclusion-ip-theft { + value 12; + description + "WSA client event reason exclusion because of ip theft"; + } + enum wsa-cl-evt-reason-dot11-cipher-suite-rejected { + value 13; + description + "WSA client event reason dot11 cipher suite rejected"; + } + enum wsa-cl-evt-reason-session-timeout { + value 14; + description + "WSA client event reason session timeout - occurs only for openauth and MAB (mac-filter) security"; + } + enum wsa-cl-evt-reason-idle-timeout { + value 15; + description + "WSA client event reason idle timeout - client was idle for too long"; + } + enum wsa-cl-evt-reason-connect-timeout { + value 16; + description + "WSA client event reason connect timeout - client took too long to connect"; + } + enum wsa-cl-evt-reason-dot11-assoc-denied-unspec { + value 17; + description + "WSA client event reason dot11 association denied unspecified"; + } + enum wsa-cl-evt-reason-dot11-poor-channel-conditions { + value 18; + description + "WSA client event reason dot11 poor channel conditions"; + } + enum wsa-cl-evt-reason-exclusion-vlan-fail { + value 19; + description + "WSA client event reason exclusion vlan fail"; + } + enum wsa-cl-evt-reason-exclude-vlan-fail { + value 20; + description + "WSA client event reason exclude vlan fail"; + } + enum wsa-cl-evt-reason-dot11-ccx-non-optimal-association-choice { + value 21; + description + "WSA client event reason dot11 ccx non optimal association choice"; + } + enum wsa-cl-evt-reason-dot11-invalid-rsn-ie-capabilities { + value 22; + description + "WSA client event reason dot11 invalid rsn ie capabilities"; + } + enum wsa-cl-evt-reason-group-key-update-timeout { + value 23; + description + "WSA client event reason group key update timeout"; + } + enum wsa-cl-evt-reason-exclusion-web-auth-fail { + value 24; + description + "WSA client event reason exclusion web authentication fail"; + } + enum wsa-cl-evt-reason-exclude-web-auth-fail { + value 25; + description + "WSA client event reason exclude web authentication fail"; + } + enum wsa-cl-evt-reason-key-xchng-timeout { + value 26; + description + "WSA client event reason key xchng timeout"; + } + enum wsa-cl-evt-reason-deauth-or-disassoc-req { + value 27; + description + "WSA client event reason deauthentication or disassociation request"; + } + enum wsa-cl-evt-reason-client-user-triggered-disassoc { + value 28; + description + "WSA client event reason client user triggered disassociation"; + } + enum wsa-cl-evt-reason-client-eap-id-timeout { + value 29; + description + "WSA client event reason client eap id timeout"; + } + enum wsa-cl-evt-reason-mab-failed { + value 30; + description + "WSA client event reason mab failed"; + } + enum wsa-cl-evt-reason-key-mgmt-invalid-key { + value 31; + description + "WSA client event reason key management invalid key"; + } + enum wsa-cl-evt-reason-key-mgmt-key-desc-ver { + value 32; + description + "WSA client event reason key management key description ver"; + } + enum wsa-cl-evt-reason-key-mgmt-mic-validation { + value 33; + description + "WSA client event reason key management mic validation"; + } + enum wsa-cl-evt-reason-key-mgmt-invalid-frame { + value 34; + description + "WSA client event reason key management invalid frame"; + } + enum wsa-cl-evt-reason-key-mgmt-no-mic-bit { + value 35; + description + "WSA client event reason key management no mic bit"; + } + enum wsa-cl-evt-reason-wlan-change { + value 36; + description + "WSA client event reason wlan change"; + } + enum wsa-cl-evt-reason-client-dot1x-timeout { + value 37; + description + "WSA client event reason client dot1x timeout"; + } + enum wsa-cl-evt-reason-exclude-dot1x-timeout { + value 38; + description + "WSA client event reason exclude dot1x timeout"; + } + enum wsa-cl-evt-reason-exclusion-dot1x-timeout { + value 39; + description + "WSA client event reason exclusion dot1x timeout"; + } + enum wsa-cl-evt-reason-exclusion-dot1x-auth-fail { + value 40; + description + "WSA client event reason exclusion dot1x authentication fail"; + } + enum wsa-cl-evt-reason-exclude-dot1x-auth-fail { + value 41; + description + "WSA client event reason exclude dot1x authentication fail"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-discovery { + value 42; + description + "WSA client event reason iplearn dhcp discovery"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-offer { + value 43; + description + "WSA client event reason iplearn dhcp offer"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-request { + value 44; + description + "WSA client event reason iplearn dhcp request"; + } + enum wsa-cl-evt-reason-iplearn-dhcp-ack { + value 45; + description + "WSA client event reason iplearn dhcp ack"; + } + enum wsa-cl-evt-reason-iplearn-rcv-client-ip { + value 46; + description + "WSA client event reason iplearn rcv client ip"; + } + enum wsa-cl-evt-reason-dot11-invalid-mdie { + value 47; + description + "WSA client event reason dot11 invalid mdie"; + } + enum wsa-cl-evt-reason-dot11-invalid-pmkid { + value 48; + description + "WSA client event reason dot11 invalid Pair Wise Master Key ID"; + } + enum wsa-cl-evt-reason-dot11-invalid-ftie { + value 49; + description + "WSA client event reason dot11 invalid Fast Transition dot11 IE"; + } + enum wsa-cl-evt-reason-inter-ctrl-roam-success { + value 50; + description + "WSA client event reason inter controller roam success"; + } + enum wsa-cl-evt-reason-intra-ctrl-roam-success { + value 51; + description + "WSA client event reason intra controller roam success"; + } + enum wsa-cl-evt-reason-intra-ctrl-roam-failure { + value 52; + description + "WSA client event reason intra controller roam failure"; + } + enum wsa-cl-evt-reason-ap-delete-mn { + value 53; + description + "WSA client event reason ap deleting mobile"; + } + enum wsa-cl-evt-reason-dot11-challenge-fail { + value 54; + description + "WSA client event reason dot11 challenge fail"; + } + enum wsa-cl-evt-reason-key-mgmt-wrong-replay-counter { + value 55; + description + "WSA client event reason key management wrong replay counter"; + } + enum wsa-cl-evt-reason-missing-context { + value 56; + description + "WSA client event reason missing context"; + } + enum wsa-cl-evt-reason-dot11-max-sta { + value 57; + description + "WSA client event reason dot11 maximum wireless client reached"; + } + enum wsa-cl-evt-reason-dot11-invalid-ftie-mic { + value 58; + description + "WSA client event reason dot11 invalid FT IE message integrity check"; + } + enum wsa-cl-evt-reason-co-macauth-result { + value 59; + description + "WSA client event reason mac authentication result is being provided"; + } + enum wsa-cl-evt-reason-co-macauth-reqd { + value 60; + description + "WSA client event reason mac authentication requested"; + } + enum wsa-cl-evt-reason-eap-key-retry-timeout { + value 61; + description + "WSA client event reason eap key retry timeout"; + } + enum wsa-cl-evt-reason-exclusion-policy-failure { + value 62; + description + "WSA client event reason exclusion policy failure"; + } + enum wsa-cl-evt-reason-exclude-policy-failure { + value 63; + description + "WSA client event reason exclude policy failure"; + } + enum wsa-cl-evt-reason-exclude-policy-bind-fail { + value 64; + description + "WSA client event reason exclude policy bind fail"; + } + enum wsa-cl-evt-reason-exclusion-policy-bind-fail { + value 65; + description + "WSA client event reason exclusion policy bind fail"; + } + enum wsa-cl-evt-reason-abort-received { + value 66; + description + "WSA client event reason internal transaction abort"; + } + enum wsa-cl-evt-reason-radio-down { + value 67; + description + "WSA client event reason AP radio down"; + } + enum wsa-cl-evt-reason-assoc-connect-timeout { + value 68; + description + "WSA client event reason association timed out"; + } + enum wsa-cl-evt-reason-macauth-connect-timeout { + value 69; + description + "WSA client event reason macauth timed out"; + } + enum wsa-cl-evt-reason-l2auth-connect-timeout { + value 70; + description + "WSA client event reason l2 authentication timed out"; + } + enum wsa-cl-evt-reason-l3auth-connect-timeout { + value 71; + description + "WSA client event reason l3 authentication timed out"; + } + enum wsa-cl-evt-reason-mobility-connect-timeout { + value 72; + description + "WSA client event reason mobility timed out"; + } + enum wsa-cl-evt-reason-static-ip-anchor-connect-timeout { + value 73; + description + "WSA client event reason static IP anchor discovery timed out"; + } + enum wsa-cl-evt-reason-session-connect-timeout { + value 74; + description + "WSA client event reason wireless session timed out"; + } + enum wsa-cl-evt-reason-iplearn-connect-timeout { + value 75; + description + "WSA client event reason iplearn timed out"; + } + } + description + "Enumeration for wsa client event reason"; + } + + typedef wsa-client-event-reason-addon-3p { + type enumeration { + enum wsa-cl-evt-reason-addon-none { + value 0; + description + "WSA client event reason addon none"; + } + enum wsa-cl-evt-reason-addon-iplearn-dhcp-discovery-timeout { + value 1; + description + "WSA client event reason addon iplearn dhcp discovery timeout"; + } + enum wsa-cl-evt-reason-addon-iplearn-dhcp-request-timeout { + value 2; + description + "WSA client event reason addon iplearn dhcp request timeout"; + } + enum wsa-cl-evt-reason-addon-iplearn-dhcp-offer-timeout { + value 3; + description + "WSA client event reason addon iplearn dhcp offer timeout"; + } + enum wsa-cl-evt-reason-addon-sm-auth-event-fail-authc { + value 4; + description + "WSA client event reason addon authentication event fail authc"; + } + enum wsa-cl-evt-reason-addon-sm-auth-event-fail-timeout { + value 5; + description + "WSA client event reason addon authentication event fail timeout"; + } + enum wsa-cl-evt-reason-addon-sm-auth-event-fail-aaa-server { + value 6; + description + "WSA client event reason addon authentication event fail aaa server"; + } + enum wsa-cl-evt-reason-addon-sm-auth-event-fail-no-resp { + value 7; + description + "WSA client event reason addon authentication event fail no response"; + } + enum wsa-cl-evt-reason-addon-client-acl-mismatch { + value 8; + description + "WSA client event reason addon client acl mismatch"; + } + enum wsa-cl-evt-reason-addon-exclusion-max-mac-auth-failures { + value 9; + description + "WSA client event reason addon exclusion max mac authentication failures"; + } + enum wsa-cl-evt-reason-addon-exclusion-max-invalid-assoc-attempts { + value 10; + description + "WSA client event reason addon exclusion max invalid assoc attempts"; + } + enum wsa-cl-evt-reason-addon-mob-timeout { + value 11; + description + "WSA client event reason addon mobility timeout"; + } + enum wsa-cl-evt-reason-addon-mob-client-handoff-success { + value 12; + description + "WSA client event reason addon mobility client handoff success"; + } + enum wsa-cl-evt-reason-addon-mob-client-handoff-failure { + value 13; + description + "WSA client event reason addon mobility client handoff failure"; + } + enum wsa-cl-evt-reason-addon-intra-ap-roam { + value 14; + description + "WSA client event reason addon intra ap roam"; + } + enum wsa-cl-evt-reason-addon-idle-timeout { + value 15; + description + "WSA client event reason addon idle timeout"; + } + enum wsa-cl-evt-reason-addon-sa-query-timeout { + value 16; + description + "WSA client event reason addon sa query timeout"; + } + enum wsa-cl-evt-reason-addon-reassoc-timeout { + value 17; + description + "WSA client event reason addon reassoc timeout"; + } + enum wsa-cl-evt-reason-addon-dhcp-timeout { + value 18; + description + "WSA client event reason addon dhcp timeout"; + } + } + description + "Enumeration for wsa client event reason addon"; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-wsma.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-wsma.yang new file mode 100644 index 000000000..18e5067cf --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-wsma.yang @@ -0,0 +1,105 @@ +module Cisco-IOS-XE-wsma { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-wsma"; + prefix ios-wsma; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Web Services Management Agent (WSMA) Yang model. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-wsma-grouping { + container agent { + description + "Configure WSMA agents"; + container exec { + description + "Start WSMA exec agent"; + leaf-list profile { + type string; + } + } + container config { + description + "Start WSMA config agent"; + leaf-list profile { + type string; + } + } + container filesys { + description + "Start WSMA file system agent"; + leaf-list profile { + type string; + } + } + container notify { + description + "Start WSMA notify agent"; + leaf-list profile { + type string; + } + } + } + container profile { + description + "Configure WSMA profile"; + list listener { + description + "Configure a listener profile"; + key "name"; + leaf name { + type string; + } + leaf transport { + description + "The transport to use"; + type enumeration { + enum http; + enum https; + enum ssh; + enum tls; + } + } + } + } + } + + augment "/ios:native/ios:wsma" { + uses config-wsma-grouping; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-events.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-events.yang new file mode 100644 index 000000000..a99fc498d --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-events.yang @@ -0,0 +1,213 @@ +module Cisco-IOS-XE-xcopy-events { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-xcopy-events"; + prefix xcopy-ios-xe-events; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions + for express copy status notification for copy events. + Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef xcopy-progress-status { + type enumeration { + enum xcopy-init { + value 0; + description + "Express copy initialization"; + } + enum xcopy-start { + value 1; + description + "Express copy start"; + } + enum xcopy-inprogress { + value 2; + description + "Express copy in progress"; + } + enum xcopy-success { + value 3; + description + "Express copy success"; + } + enum xcopy-failed { + value 4; + description + "Copy failed"; + } + } + description + "Express copy status"; + } + + typedef xcopy-errcode { + type enumeration { + enum xcopy-no-error { + value 0; + description + "Express copy in progress or success"; + } + enum xcopy-invalid-format { + value 1; + description + "Express copy input format not valid"; + } + enum xcopy-invalid-input { + value 2; + description + "Express copy invalid input"; + } + enum xcopy-host-not-reachable { + value 3; + description + "Express copy could not reach host"; + } + enum xcopy-utility-failed { + value 4; + description + "Express copy utility failed"; + } + enum xcopy-timeout-error { + value 5; + description + "Express copy timed out"; + } + enum xcopy-unknown-error { + value 6; + description + "Express copy unknown error"; + } + } + description + "Express copy error code"; + } + + grouping id-common-notification-header { + description + "Express copy notification header"; + leaf uuid { + type string; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the copy action invoked via RPC + and it is replayed back in the copy progress notifications to correlate + them back to the original express copy operation."; + } + } + + grouping xcopy-event-fields { + description + "Express copy status"; + leaf status { + type xcopy-ios-xe-events:xcopy-progress-status; + description + "Express copy status"; + } + leaf percentage { + type uint8; + units "percent"; + description + "Percent of completion for in-progress express copy. + If the value is 0, the field is not applicable"; + } + leaf download-speed { + type uint16; + units "MBps"; + description + "Express copy speed"; + } + leaf expected-duration { + type uint16; + units "seconds"; + description + "Express copy expected duration "; + } + leaf time-left { + type uint16; + units "seconds"; + description + "Express copy time left"; + } + leaf time-spent { + type uint16; + units "seconds"; + description + "Express copy time spent"; + } + leaf filesize { + type uint16; + units "megabytes"; + description + "Express copy file size"; + } + leaf downloaded-size { + type uint16; + units "megabytes"; + description + "Express copy so far"; + } + leaf start-time { + type yang:date-and-time; + description + "Start time of the express copy"; + } + leaf event-time { + type yang:date-and-time; + description + "Event post time of the express copy progress"; + } + leaf errcode { + type xcopy-ios-xe-events:xcopy-errcode; + description + "Error code of express copy failure"; + } + leaf errstr { + type string; + description + "Error string of express copy failure"; + } + } + + notification xcopy-status { + description + "Express copy status notification"; + uses xcopy-ios-xe-events:id-common-notification-header; + uses xcopy-ios-xe-events:xcopy-event-fields; + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-rpc.yang new file mode 100644 index 000000000..4a71f9c64 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-xcopy-rpc.yang @@ -0,0 +1,172 @@ +module Cisco-IOS-XE-xcopy-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-xcopy-rpc"; + prefix xcopy-ios-xe-rpc; + + import ietf-yang-types { + prefix yang; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Copyright (c) 2020-2022 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Added optional leafs start and end time + for scheduled upgrade support in controller mode. + - Extended source-path length"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-03-01 { + description + "- Added HTTP,FTP and timeout support."; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-03-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping xcopy { + description + "Express copy using HTTPS or HTTP or SCP or FTP to copy files from or to device. + This uses the management interface or forwarding interface in global VRF."; + leaf uuid { + type string; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID. + UUID is used to uniquely identify the express copy action invoked via RPC + and it is replayed back in the copy progress notifications to correlate + them back to the original express copy operation."; + } + leaf source-path { + type string { + length "0..4096"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "Source path: + for download to device: scp://user:password@ipv4 address:/path/to/file + or https://ipv4 address/path/to/file + or http://ipv4 address/path/to/file + or ftp://user:password@ipv4 address:/path/to/file + from upload from device: /path/to/file in bootflash"; + } + leaf destination-path { + type string { + length "0..512"; + pattern "[\\] A-Za-z0-9!\"#%&()*+,\\-./:;<=>^?@\\\\$_`{|}\\[']+"; + } + description + "Destination path: + for download to device: /path/to/file in bootflash + for upload to device: scp://user:password@ipv4 address:/path/to/file"; + } + leaf username { + type string; + description + "Username to be used for remote device"; + } + leaf password { + type string; + description + "Password to be used for remote device"; + } + leaf vrf { + type string { + length "0..32"; + } + description + "VRF name instance to reach remote device. + For management or global VRF leave this field blank other wise + specify the IOS configured VRF name."; + } + leaf trustpoint { + type string { + length "0..40"; + } + description + "Trust point of remote device configured in IOS. + This is used to get the public key and provided to copy so that + copy is more secured."; + } + leaf timeout { + type uint32; + units "minutes"; + description + "Timeout period guarding express copy operation. + If operation not completed, download will be aborted after this time."; + } + leaf scheduled-start { + type yang:date-and-time; + must 'current() and (../scheduled-end)' { + error-message "Scheduled start time must be specified along with scheduled end time."; + error-app-tag "must-violation"; + } + description + "Scheduled download start time"; + } + leaf scheduled-end { + type yang:date-and-time; + must 'current() and (../scheduled-start)' { + error-message "Scheduled end time must be specified along with scheduled start time."; + error-app-tag "must-violation"; + } + description + "Scheduled download end time"; + } + } + + grouping xcopy-response { + description + "Response to action request."; + leaf uuid { + type string; + description + "The UUID (universally unique identifier) is a string and is a textual + representation of a UUID."; + } + } + + rpc xcopy { + description + "Express copy action command"; + input { + uses xcopy-ios-xe-rpc:xcopy; + } + output { + uses xcopy-ios-xe-rpc:xcopy-response; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-cfg.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-cfg.yang new file mode 100644 index 000000000..b53c43acd --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-cfg.yang @@ -0,0 +1,469 @@ +module Cisco-IOS-XE-yang-interfaces-cfg { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-yang-interfaces-cfg"; + prefix yang-interfaces-cfg; + + import Cisco-IOS-XE-dmi-common-types { + prefix dmi-common-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Configuration for YANG model-based interfaces. + Copyright (c) 2018-2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Added features config including atomic config for YANG Interfaces + - Added config knob to control handling of deprecated Yang model elements + - Added accounting configuration for YANG interfaces"; + reference + "1.6.0"; + cisco-semver:module-version "1.6.0"; + } + revision 2023-03-01 { + description + "- Added NETCONF SSH server configuration for YANG Interfaces."; + reference + "1.5.0"; + cisco-semver:module-version "1.5.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.4.0"; + cisco-semver:module-version "1.4.0"; + } + revision 2022-03-01 { + description + "- Added AAA configuration for YANG Interfaces."; + reference + "1.3.0"; + cisco-semver:module-version "1.3.0"; + } + revision 2021-07-01 { + description + "- Added netconf SSH local VRF configuration + - Allow usage of special characters in netconf ACL name"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-05-21 { + description + "- Add semantic version + - Add SNMP to NETCONF/YANG configuration"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2018-11-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + grouping dmi-ssh-hostkey-algorithms { + description + "Host key public key algorithms."; + leaf rsa-sha2-256 { + type boolean; + default "true"; + description + "RSA-SHA2-256 Public key based authentication."; + } + leaf rsa-sha2-512 { + type boolean; + default "true"; + description + "RSA-SHA2-512 Public key based authentication."; + } + leaf ssh-rsa { + type boolean; + default "true"; + description + "RSA-SHA1 Public key based authentication."; + } + } + + grouping dmi-ssh-cipher-algorithms { + description + "Encryption algorithms."; + leaf aes128-ctr { + type boolean; + default "true"; + description + "AES with 128-bit key in CTR mode."; + } + leaf aes192-ctr { + type boolean; + default "true"; + description + "AES with 192-bit key in CTR mode."; + } + leaf aes256-ctr { + type boolean; + default "true"; + description + "AES with 256-bit key in CTR mode."; + } + leaf aes128-cbc { + type boolean; + default "true"; + description + "AES with 128-bit key in CBC mode."; + } + leaf aes256-cbc { + type boolean; + default "true"; + description + "AES with 256-bit key in CBC mode."; + } + } + + grouping dmi-ssh-mac-algorithms { + description + "Message authentication code algorithms."; + leaf hmac-sha2-256 { + type boolean; + default "true"; + description + "HMAC-SHA2-256."; + } + leaf hmac-sha2-512 { + type boolean; + default "true"; + description + "HMAC-SHA2-512."; + } + leaf hmac-sha1 { + type boolean; + default "true"; + description + "HMAC-SHA1."; + } + } + + grouping dmi-ssh-kex-algorithms { + description + "Key exchange algorithms."; + leaf dh-group14-sha1 { + type boolean; + default "true"; + description + "DH-GROUP-14-SHA1 key exchange algorithm."; + } + leaf dh-group14-sha256 { + type boolean; + default "true"; + description + "DH-GROUP-14-SHA256 key exchange algorithm."; + } + leaf ecdh-sha2-nistp256 { + type boolean; + default "true"; + description + "Elliptic Curve DH-SHA2-P256 key exchange algorithm."; + } + leaf ecdh-sha2-nistp384 { + type boolean; + default "true"; + description + "Elliptic Curve DH-SHA2-P384 key exchange algorithm."; + } + leaf ecdh-sha2-nistp521 { + type boolean; + default "true"; + description + "Elliptic Curve DH-SHA2-P521 key exchange algorithm."; + } + leaf dh-group16-sha512 { + type boolean; + default "true"; + description + "DH-GROUP-16-SHA512 key exchange algorithm."; + } + } + + grouping dmi-ssh-server { + description + "SSH server algorithm."; + container kex-alg { + description + "Key exchange algorithms for NETCONF SSH server."; + uses yang-interfaces-cfg:dmi-ssh-kex-algorithms; + } + container macs { + description + "Message authentication code algorithms for NETCONF SSH server."; + uses yang-interfaces-cfg:dmi-ssh-mac-algorithms; + } + container ciphers { + description + "Encryption algorithms for NETCONF SSH server."; + uses yang-interfaces-cfg:dmi-ssh-cipher-algorithms; + } + container hostkey-alg { + description + "Host key algorithms for NETCONF SSH server."; + uses yang-interfaces-cfg:dmi-ssh-hostkey-algorithms; + } + } + + grouping dmi-authentication { + description + "AAA authentication method list for YANG Interfaces."; + leaf login-method-list { + type string { + length "1..128"; + } + default "default"; + description + "Method list name."; + } + } + + grouping dmi-authorization { + description + "AAA authorization method list for YANG Interfaces."; + leaf exec-method-list { + type string { + length "1..128"; + } + default "default"; + description + "Method list name."; + } + } + + grouping dmi-accounting { + description + "AAA accounting for YANG interfaces"; + leaf enabled { + type boolean; + default "true"; + description + "Flag indicating whether AAA accounting for model interfaces is enabled"; + } + } + + grouping dmi-aaa { + description + "AAA service for YANG Interfaces."; + container authn { + description + "AAA authentication service for YANG Interfaces."; + uses yang-interfaces-cfg:dmi-authentication; + } + container authz { + description + "AAA authorization service for YANG Interfaces."; + uses yang-interfaces-cfg:dmi-authorization; + } + container acct { + description + "AAA accounting service for YANG Interfaces."; + uses yang-interfaces-cfg:dmi-accounting; + } + } + + grouping dmi-yang-feature { + description + "Configuration details for YANG related features"; + leaf atomic-config { + type boolean; + default "false"; + description + "Enables or disables non-service interrupting configuration validation"; + } + } + + grouping dmi-acl-nbi-type { + description + "Configure an access-list for the selected service"; + leaf ipv4-acl-name { + type string { + length "1..32"; + } + description + "Validate access using an IPv4 access-list"; + } + leaf ipv6-acl-name { + type string { + length "1..32"; + } + description + "Validate access using an IPv6 access-list"; + } + } + + grouping dmi-acl { + description + "Service ACLs for YANG Interfaces"; + container netconf-yang-ssh { + description + "NETCONF-YANG SSH service"; + uses yang-interfaces-cfg:dmi-acl-nbi-type; + } + container restconf { + description + "RESTCONF service"; + uses yang-interfaces-cfg:dmi-acl-nbi-type; + } + } + + grouping dmi-snmp-trap { + description + "SNMP trap to NETCONF translation"; + leaf trap-oid { + type string { + pattern '(([0-1](\.[1-3]?[0-9]))|(2\.(0|([1-9]\d*))))(\.(0|([1-9]\d*)))*'; + pattern '\d*(\.\d*){1,127}'; + } + description + "The OID for this trap"; + } + leaf description { + type string; + default ""; + description + "A description for this trap"; + } + leaf forward { + type boolean; + default "true"; + description + "Enables or disables forwarding for this trap"; + } + } + + grouping dmi-general { + description + "Configuration applicable to all YANG model-based interfaces"; + leaf snmp-global-forwarding { + type boolean; + default "true"; + description + "Enables or disables forwarding for all SNMP traps"; + } + list snmp-trap { + key "trap-oid"; + description + "List of SNMP traps considered for automatic translation to NETCONF + notifications"; + uses yang-interfaces-cfg:dmi-snmp-trap; + } + leaf snmp-community { + type string; + default "private"; + description + "The community string for communication with the SNMP agent"; + } + leaf disable-deprecated { + type boolean; + description + "Flag controlling behavior of deprecated model elements. + When the flag is turned off deprecated model elements are not functional"; + } + } + + grouping dmi-ssh-local-vrf { + description + "Configuration details of NETCONF access on local host in a specific VRF"; + leaf vrf-name { + type dmi-common-types:enm-local-vrf-name; + description + "The name of the given VRF"; + } + leaf vrf-enable { + type boolean; + default "false"; + description + "Determines whether NETCONF access for local host in a given VRF + is enabled"; + } + leaf vrf-port { + type uint32 { + range "1 .. 65535"; + } + default "830"; + description + "Determines the port number to be open in a given VRF on local host + for NETCONF access"; + } + } + + container yang-interfaces-cfg-data { + description + "Configuration for YANG model-based interfaces"; + container acl { + description + "Optionally configure an access-list to validate access + to the device"; + uses yang-interfaces-cfg:dmi-acl; + } + container aaa { + presence "aaa"; + description + "Configuration of AAA service for YANG Interfaces."; + uses yang-interfaces-cfg:dmi-aaa; + } + container ssh-server { + must "not((../ssh-server/kex-alg/dh-group14-sha1 = 'false') and (../ssh-server/kex-alg/dh-group14-sha256 = 'false') and (../ssh-server/kex-alg/ecdh-sha2-nistp256 = 'false') and (../ssh-server/kex-alg/ecdh-sha2-nistp384 = 'false') and (../ssh-server/kex-alg/ecdh-sha2-nistp521 = 'false') and (../ssh-server/kex-alg/dh-group16-sha512 = 'false'))" { + error-message "At least one KEX algorithm must be enabled"; + error-app-tag "must-violation"; + } + must "not((../ssh-server/macs/hmac-sha2-256 = 'false') and (../ssh-server/macs/hmac-sha2-512 = 'false') and (../ssh-server/macs/hmac-sha1 = 'false'))" { + error-message "At least one MAC algorithm must be enabled"; + error-app-tag "must-violation"; + } + must "not((../ssh-server/ciphers/aes128-ctr = 'false') and (../ssh-server/ciphers/aes192-ctr = 'false') and (../ssh-server/ciphers/aes256-ctr = 'false') and (../ssh-server/ciphers/aes128-cbc = 'false') and (../ssh-server/ciphers/aes256-cbc = 'false'))" { + error-message "At least one cipher algorithm must be enabled"; + error-app-tag "must-violation"; + } + must "not((../ssh-server/hostkey-alg/rsa-sha2-256 = 'false') and (../ssh-server/hostkey-alg/rsa-sha2-512 = 'false'))" { + error-message "Either rsa-sha2-256 or rsa-sha2-512 hostkey algorithm must be enabled"; + error-app-tag "must-violation"; + } + presence "ssh-server"; + description + "Configuration of NETCONF SSH server."; + uses yang-interfaces-cfg:dmi-ssh-server; + } + container general { + description + "Configuration applicable to all YANG model-based interfaces"; + uses yang-interfaces-cfg:dmi-general; + } + list local-vrf { + key "vrf-name"; + description + "Configuration of NETCONF access on local host in a specific VRF"; + uses yang-interfaces-cfg:dmi-ssh-local-vrf; + } + container dmi-yang-feature { + presence "dmi-yang-feature"; + description + "Configuration details for YANG related features"; + uses yang-interfaces-cfg:dmi-yang-feature; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-oper.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-oper.yang new file mode 100644 index 000000000..c908cdb73 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-yang-interfaces-oper.yang @@ -0,0 +1,235 @@ +module Cisco-IOS-XE-yang-interfaces-oper { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-yang-interfaces-oper"; + prefix yang-interfaces-oper; + + import Cisco-IOS-XE-dmi-common-types { + prefix dmi-common-types; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Operational data for YANG model-based interfaces. + Copyright (c) 2021-2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2023-07-01 { + description + "Oper model support for NETCONF SSH algorithms"; + reference + "1.2.0"; + cisco-semver:module-version "1.2.0"; + } + revision 2022-11-01 { + description + "Update yang-version to 1.1"; + reference + "1.1.0"; + cisco-semver:module-version "1.1.0"; + } + revision 2021-07-01 { + description + "Initial revision"; + reference + "1.0.0"; + cisco-semver:module-version "1.0.0"; + } + + typedef enm-local-vrf-state { + type enumeration { + enum down { + value 0; + description + "Indicates the system is not listening for NETCONF connections on + local host in the current VRF."; + } + enum up { + value 1; + description + "Indicates the system is ready to accept NETCONF connections on + local host in the current VRF."; + } + } + description + "List of states of the NETCONF server with respect to connections on + local host in the current VRF."; + } + + grouping dmi-ssh-local-vrf-oper { + description + "Operational data for NETCONF access on local host in a specific VRF."; + leaf vrf-name { + type dmi-common-types:enm-local-vrf-name; + description + "Name of the VRF."; + } + leaf state { + type yang-interfaces-oper:enm-local-vrf-state; + description + "State of NETCONF server with respect to connections on local host + is the current VRF."; + } + } + + grouping dmi-ssh-hostkey-algorithms-oper { + description + "Host key public key algorithms."; + leaf rsa-sha2-256 { + type boolean; + description + "RSA-SHA2-256 Public key based authentication."; + } + leaf rsa-sha2-512 { + type boolean; + description + "RSA-SHA2-512 Public key based authentication."; + } + leaf ssh-rsa { + type boolean; + description + "RSA-SHA1 Public key based authentication."; + } + } + + grouping dmi-ssh-cipher-algorithms-oper { + description + "Encryption algorithms."; + leaf aes128-ctr { + type boolean; + description + "AES with 128-bit key in CTR mode."; + } + leaf aes192-ctr { + type boolean; + description + "AES with 192-bit key in CTR mode."; + } + leaf aes256-ctr { + type boolean; + description + "AES with 256-bit key in CTR mode."; + } + leaf aes128-cbc { + type boolean; + description + "AES with 128-bit key in CBC mode."; + } + leaf aes256-cbc { + type boolean; + description + "AES with 256-bit key in CBC mode."; + } + } + + grouping dmi-ssh-mac-algorithms-oper { + description + "Message authentication code algorithms."; + leaf hmac-sha2-256 { + type boolean; + description + "HMAC-SHA2-256."; + } + leaf hmac-sha2-512 { + type boolean; + description + "HMAC-SHA2-512."; + } + leaf hmac-sha1 { + type boolean; + description + "HMAC-SHA1."; + } + } + + grouping dmi-ssh-kex-algorithms-oper { + description + "Key exchange algorithms."; + leaf dh-group14-sha1 { + type boolean; + description + "DH-GROUP-14-SHA1 key exchange algorithm."; + } + leaf dh-group14-sha256 { + type boolean; + description + "DH-GROUP-14-SHA256 key exchange algorithm."; + } + leaf ecdh-sha2-nistp256 { + type boolean; + description + "Elliptic Curve DH-SHA2-P256 key exchange algorithm."; + } + leaf ecdh-sha2-nistp384 { + type boolean; + description + "Elliptic Curve DH-SHA2-P384 key exchange algorithm."; + } + leaf ecdh-sha2-nistp521 { + type boolean; + description + "Elliptic Curve DH-SHA2-P521 key exchange algorithm."; + } + leaf dh-group16-sha512 { + type boolean; + description + "DH-GROUP-16-SHA512 key exchange algorithm."; + } + } + + grouping dmi-ssh-server-oper { + description + "SSH server algorithm."; + container kex-alg { + description + "Key exchange algorithms for NETCONF SSH server."; + uses yang-interfaces-oper:dmi-ssh-kex-algorithms-oper; + } + container macs { + description + "Message authentication code algorithms for NETCONF SSH server."; + uses yang-interfaces-oper:dmi-ssh-mac-algorithms-oper; + } + container ciphers { + description + "Encryption algorithms for NETCONF SSH server."; + uses yang-interfaces-oper:dmi-ssh-cipher-algorithms-oper; + } + container hostkey-alg { + description + "Host key algorithms for NETCONF SSH server."; + uses yang-interfaces-oper:dmi-ssh-hostkey-algorithms-oper; + } + } + + container yang-interfaces-oper-data { + config false; + description + "Configuration for YANG model-based interfaces."; + list local-vrf { + key "vrf-name"; + description + "Operational data for NETCONF access on local host in a specific VRF."; + uses yang-interfaces-oper:dmi-ssh-local-vrf-oper; + } + container ssh-server { + presence "ssh-server"; + description + "Operational data for NETCONF SSH server."; + uses yang-interfaces-oper:dmi-ssh-server-oper; + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-zone-rpc.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-zone-rpc.yang new file mode 100644 index 000000000..eb32e1e21 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-zone-rpc.yang @@ -0,0 +1,66 @@ +module Cisco-IOS-XE-zone-rpc { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-zone-rpc"; + prefix ios-xe-zone-rpc; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-rpc { + prefix ios-xe-rpc; + } + + organization + "Cisco Systems"; + contact + ""; + description + "NED Zone RPC YANG module for IOS + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-11-01 { + description + "- Update yang-version to 1.1"; + cisco-semver:module-version "2.1.0"; + } + revision 2019-11-01 { + description + "- Updated augment"; + cisco-semver:module-version "2.0.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Created for NED RPC modularisation"; + cisco-semver:module-version "1.0.0"; + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice" { + case zone-pair-case { + container zone-pair { + description + "Clear zone-pair"; + leaf counter { + description + "Zone-pair counters"; + type empty; + } + } + } + } + + augment "/ios-xe-rpc:clear/ios-xe-rpc:input/ios-xe-rpc:clear-choice/ios-xe-rpc:platform-case/ios-xe-rpc:platform/ios-xe-rpc:platform-choice/ios-xe-rpc:hardware-case/ios-xe-rpc:hardware/ios-xe-rpc:qfp/ios-xe-rpc:active/ios-xe-rpc:feature/ios-xe-rpc:feature-choice" { + case firewall-case { + container firewall { + description + "Clear QFP Firewall"; + leaf drop { + description + "Clear firewall drop counters"; + type empty; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/Cisco-IOS-XE-zone.yang b/vendor/cisco/xe/17151/Cisco-IOS-XE-zone.yang new file mode 100644 index 000000000..6244a8054 --- /dev/null +++ b/vendor/cisco/xe/17151/Cisco-IOS-XE-zone.yang @@ -0,0 +1,382 @@ +module Cisco-IOS-XE-zone { + yang-version 1.1; + namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-zone"; + prefix ios-zone; + + import cisco-semver { + prefix cisco-semver; + } + import Cisco-IOS-XE-native { + prefix ios; + } + import Cisco-IOS-XE-policy { + prefix ios-policy; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "Cisco XE Native Zone Interfaces Yang model. + Copyright (c) 2016-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add zone-member configuration support for Cellular + - Add zone-member configuration support for Dialer + - Add zone-member configuration support for LISP-subinterface"; + cisco-semver:module-version "1.5.0"; + } + revision 2024-03-01 { + description + "- Add zone-member configuration support for Port-channel + - Add zone-member configuration support for Port-channel-subinterface"; + cisco-semver:module-version "1.4.0"; + } + revision 2023-07-01 { + description + "- Enforce zone-member delete before create"; + cisco-semver:module-version "1.3.1"; + } + revision 2022-11-01 { + description + "- Update yang-version to 1.1 + - Add zone-member configuration support for Service-Engine"; + cisco-semver:module-version "1.3.0"; + } + revision 2022-07-01 { + description + "- Trigger zone-pair removal before access-list removal"; + cisco-semver:module-version "1.2.1"; + } + revision 2020-11-01 { + description + "- Obsolete interface augment"; + cisco-semver:module-version "1.2.0"; + } + revision 2019-11-01 { + description + " + - Enabled zone config under UCSE interface"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Enable configuring zone for BDI and BD-VIF interface"; + cisco-semver:module-version "1.0.0"; + } + revision 2019-01-22 { + description + "Added leaf for App-hosting Gigabit Ethernet interface"; + } + revision 2019-01-07 { + description + "Enable configuring zone for BDI and BD-VIF interface"; + } + revision 2018-12-06 { + description + "Change non-strict-leafref's to leafref's for threat-defense features"; + } + revision 2018-11-16 { + description + "Cleanup spelling errors in description statements"; + } + revision 2018-11-06 { + description + "Remove instances of max string length of 128/256/512"; + } + revision 2018-10-17 { + description + "Enable configuring zone for VirtualPortGroup interface"; + } + revision 2018-09-25 { + description + "Fix unable to move VPN between zones in a single transaction"; + } + revision 2018-09-10 { + description + "Make zone-pair backward compatible"; + } + revision 2018-09-02 { + description + "Add annotation to remove service-policy before modifying its value"; + } + revision 2018-08-24 { + description + "Require source and destination zone to always be entered"; + } + revision 2018-06-12 { + description + "Further restrict zone and zone-pair string lengths"; + } + revision 2018-05-14 { + description + "Limit string lengths for threat-defense features"; + } + revision 2018-04-28 { + description + "Add leaf-refs to other models to fix dependencies"; + } + revision 2018-02-22 { + description + "Add threat-defense support for Ethernet interfaces"; + } + revision 2018-02-09 { + description + "Add ZBFW VPN config"; + } + revision 2017-11-27 { + description + "Added Change 25GE name"; + } + revision 2017-09-15 { + description + "This revision has changes for new 2gig interface addition"; + } + revision 2017-08-16 { + description + "This revision has changes for new 5gig and 25gig interfaces addition"; + } + revision 2017-02-07 { + description + "Initial revision"; + } + + grouping config-interface-zone-member-grouping { + container zone-member { + description + "Apply zone name"; + leaf security { + description + "Security zone"; + type leafref { + path "/ios:native/ios:zone/ios-zone:security/ios-zone:id"; + } + } + } + } + + grouping config-zone-grouping { + list security { + description + "Security zone"; + key "id"; + leaf id { + type string { + length "1..64"; + } + } + leaf description { + description + "Zone description"; + type string { + length "1..200"; + } + } + leaf protection { + description + "config sync cookie protection against sync flood"; + type leafref { + path "/ios:native/ios:parameter-map/ios:type/ios-policy:inspect-zone/ios-policy:name"; + } + } + list vpn { + description + "config vpn and zone binding list"; + key "id"; + leaf id { + description + "VPN Number"; + type uint32; + } + } + } + } + + grouping config-zone-pair-grouping { + description + "Zone pair command"; + list security { + description + "Zone-pair name"; + key "id"; + leaf id { + type string { + length "1..128"; + } + } + leaf source { + description + "Source zone"; + mandatory true; + type string { + length "1..64"; + } + } + leaf destination { + description + "Destination zone"; + mandatory true; + type string { + length "1..64"; + } + } + leaf description { + description + "Zone description"; + type string { + length "1..200"; + } + } + container service-policy { + description + "Configure Zone Pair Service Policy"; + container type { + description + "Service Policy type"; + leaf inspect { + description + "Configure Zone Pair Service Policy type inspect"; + type leafref { + path "/ios:native/ios:policy/ios-policy:policy-map/ios-policy:name"; + } + } + } + } + } + } + + augment "/ios:native/ios:zone" { + uses config-zone-grouping; + } + + augment "/ios:native/ios:zone-pair" { + uses config-zone-pair-grouping; + } + + augment "/ios:native/ios:interface/ios:Ethernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:FastEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:GigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:TenGigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:FiveGigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:AppGigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigabitEthernet" { + status obsolete; + uses config-interface-zone-member-grouping { + status obsolete; + } + } + + augment "/ios:native/ios:interface/ios:TwentyFiveGigE" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:FortyGigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:HundredGigE" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:TwoGigabitEthernet" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Loopback" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Tunnel" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Virtual-Template" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Vlan" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:vasileft" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:vasiright" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:VirtualPortGroup" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:BDI" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:BD-VIF" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:ucse" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Service-Engine" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Port-channel-subinterface/ios:Port-channel" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Cellular" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:Dialer" { + uses config-interface-zone-member-grouping; + } + + augment "/ios:native/ios:interface/ios:LISP-subinterface/ios:LISP" { + uses config-interface-zone-member-grouping; + } +} diff --git a/vendor/cisco/xe/17151/MIBS/ATM-FORUM-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/ATM-FORUM-TC-MIB.yang new file mode 100644 index 000000000..7fb9a8efd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ATM-FORUM-TC-MIB.yang @@ -0,0 +1,252 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ATM-FORUM-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ATM-FORUM-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ATM-FORUM-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB"; + prefix ATM-FORUM-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + typedef TruthValue { + type enumeration { + enum "true" { + value "1"; + } + enum "false" { + value "2"; + } + } + description + "Boolean values use this data type from RFC-1903"; + } + + typedef ClnpAddress { + type binary { + length "1..21"; + } + description + "CLNP address values use this data type from RFC-1238"; + } + + typedef AtmServiceCategory { + type enumeration { + enum "other" { + value "1"; + } + enum "cbr" { + value "2"; + } + enum "rtVbr" { + value "3"; + } + enum "nrtVbr" { + value "4"; + } + enum "abr" { + value "5"; + } + enum "ubr" { + value "6"; + } + } + description + "ATM Service Categories use this data type"; + } + + typedef AtmAddress { + type binary { + length "8|20"; + } + description + "ATM End-System Addresses"; + } + + typedef NetPrefix { + type binary { + length "8|13"; + } + description + "ATM End-System Addresses"; + } + + smiv2:alias "atmForum" { + smiv2:oid "1.3.6.1.4.1.353"; + } + + smiv2:alias "atmForumAdmin" { + smiv2:oid "1.3.6.1.4.1.353.1"; + } + + smiv2:alias "atmfTransmissionTypes" { + smiv2:oid "1.3.6.1.4.1.353.1.2"; + } + + smiv2:alias "atmfUnknownType" { + smiv2:oid "1.3.6.1.4.1.353.1.2.1"; + } + + smiv2:alias "atmfSonetSTS3c" { + smiv2:oid "1.3.6.1.4.1.353.1.2.2"; + } + + smiv2:alias "atmfDs3" { + smiv2:oid "1.3.6.1.4.1.353.1.2.3"; + } + + smiv2:alias "atmf4B5B" { + smiv2:oid "1.3.6.1.4.1.353.1.2.4"; + } + + smiv2:alias "atmf8B10B" { + smiv2:oid "1.3.6.1.4.1.353.1.2.5"; + } + + smiv2:alias "atmfSonetSTS12c" { + smiv2:oid "1.3.6.1.4.1.353.1.2.6"; + } + + smiv2:alias "atmfE3" { + smiv2:oid "1.3.6.1.4.1.353.1.2.7"; + } + + smiv2:alias "atmfT1" { + smiv2:oid "1.3.6.1.4.1.353.1.2.8"; + } + + smiv2:alias "atmfE1" { + smiv2:oid "1.3.6.1.4.1.353.1.2.9"; + } + + smiv2:alias "atmfMediaTypes" { + smiv2:oid "1.3.6.1.4.1.353.1.3"; + } + + smiv2:alias "atmfMediaUnknownType" { + smiv2:oid "1.3.6.1.4.1.353.1.3.1"; + } + + smiv2:alias "atmfMediaCoaxCable" { + smiv2:oid "1.3.6.1.4.1.353.1.3.2"; + } + + smiv2:alias "atmfMediaSingleMode" { + smiv2:oid "1.3.6.1.4.1.353.1.3.3"; + } + + smiv2:alias "atmfMediaMultiMode" { + smiv2:oid "1.3.6.1.4.1.353.1.3.4"; + } + + smiv2:alias "atmfMediaStp" { + smiv2:oid "1.3.6.1.4.1.353.1.3.5"; + } + + smiv2:alias "atmfMediaUtp" { + smiv2:oid "1.3.6.1.4.1.353.1.3.6"; + } + + smiv2:alias "atmfTrafficDescrTypes" { + smiv2:oid "1.3.6.1.4.1.353.1.4"; + } + + smiv2:alias "atmfNoDescriptor" { + smiv2:oid "1.3.6.1.4.1.353.1.4.1"; + } + + smiv2:alias "atmfPeakRate" { + smiv2:oid "1.3.6.1.4.1.353.1.4.2"; + } + + smiv2:alias "atmfNoClpNoScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.3"; + } + + smiv2:alias "atmfClpNoTaggingNoScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.4"; + } + + smiv2:alias "atmfClpTaggingNoScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.5"; + } + + smiv2:alias "atmfNoClpScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.6"; + } + + smiv2:alias "atmfClpNoTaggingScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.7"; + } + + smiv2:alias "atmfClpTaggingScr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.8"; + } + + smiv2:alias "atmfClpNoTaggingMcr" { + smiv2:oid "1.3.6.1.4.1.353.1.4.9"; + } + + smiv2:alias "atmfSrvcRegTypes" { + smiv2:oid "1.3.6.1.4.1.353.1.5"; + } + + smiv2:alias "atmForumUni" { + smiv2:oid "1.3.6.1.4.1.353.2"; + } + + smiv2:alias "atmfPhysicalGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.1"; + } + + smiv2:alias "atmfAtmLayerGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.2"; + } + + smiv2:alias "atmfAtmStatsGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.3"; + } + + smiv2:alias "atmfVpcGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.4"; + } + + smiv2:alias "atmfVccGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.5"; + } + + smiv2:alias "atmfAddressGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.6"; + } + + smiv2:alias "atmfNetPrefixGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.7"; + } + + smiv2:alias "atmfSrvcRegistryGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.8"; + } + + smiv2:alias "atmfVpcAbrGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.9"; + } + + smiv2:alias "atmfVccAbrGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.10"; + } + + smiv2:alias "atmfAddressRegistrationAdminGroup" { + smiv2:oid "1.3.6.1.4.1.353.2.11"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ATM-MIB.yang b/vendor/cisco/xe/17151/MIBS/ATM-MIB.yang new file mode 100644 index 000000000..e8941a4e6 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ATM-MIB.yang @@ -0,0 +1,1948 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ATM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ATM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ATM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB"; + prefix ATM-MIB; + + import ATM-TC-MIB { + prefix "atm-tc"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF AToM MIB Working Group"; + + contact + " Kaj Tesink + Postal: Bellcore + 331 Newman Springs Road + Red Bank, NJ 07701 + Tel: 732-758-5254 + Fax: 732-758-2269 + E-mail: kaj@bellcore.com"; + + description + "This is the MIB Module for ATM and AAL5-related + objects for managing ATM interfaces, ATM virtual + links, ATM cross-connects, AAL5 entities, and + and AAL5 connections."; + + revision 1998-10-19 { + description + "The initial revision of this module was published + as RFC 1695. Key revisions include: + o Textual Conventions and OBJECT IDENTITIES have + been moved to a separate MIB module. + o Applicability of objects to PVCs, SVCs and Soft + PVCs has been clarified. + o DEFVAL clauses have been added. + o The relationship of ifIndex values with different + layers and sublayers related to ATM has been + clarified. + o atmTrafficQosClass has been deprecated + and replaced with atmServiceCategory. + o atmInterfaceCurrentMaxVpiBits and + atmInterfaceCurrentMaxVciBits have been added with + a description on their relationship with other + objects. + o atmInterfaceAddressType and atmInterfaceAdminAddress + have been deprecated and replaced by + atmInterfaceSubscrAddress. + o atmInterfaceTCAlarmState has been clarified. + o atmTrafficDescrParamIndexNext has been introduced + in order to provide a manager a free + atmTrafficDescrParamIndex value. + o The atmTrafficFrameDiscard capability has been added. + o A connection topology type (atmVpl/VclCastType) and + a call control type (atmVpl/VclConnKind) have been + added. + o aal2 has been added to atmVccAalType."; + } + + revision 1994-06-07 { + description + "The RFC1695 version of this MIB module."; + } + + + container ATM-MIB { + config false; + + container atmMIBObjects { + smiv2:oid "1.3.6.1.2.1.37.1"; + + leaf atmVpCrossConnectIndexNext { + type int32 { + range "0..2147483647"; + } + description + "This object contains an appropriate value to + be used for atmVpCrossConnectIndex when creating + entries in the atmVpCrossConnectTable. The value + 0 indicates that no unassigned entries are + available. To obtain the atmVpCrossConnectIndex + value for a new entry, the manager issues a + management protocol retrieval operation to obtain + the current value of this object. After each + retrieval, the agent should modify the value to + the next unassigned index. + After a manager retrieves a value the agent will + determine through its local policy when this index + value will be made available for reuse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.8"; + } + + leaf atmVcCrossConnectIndexNext { + type int32 { + range "0..2147483647"; + } + description + "This object contains an appropriate value to + be used for atmVcCrossConnectIndex when creating + entries in the atmVcCrossConnectTable. The value + 0 indicates that no unassigned entries are + available. To obtain the atmVcCrossConnectIndex + value for a new entry, the manager issues a + management protocol retrieval operation to obtain + the current value of this object. After each + retrieval, the agent should modify the value to + the next unassigned index. + After a manager retrieves a value the agent will + determine through its local policy when this index + value will be made available for reuse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.10"; + } + + leaf atmTrafficDescrParamIndexNext { + type int32 { + range "0..2147483647"; + } + description + "This object contains an appropriate value to + be used for atmTrafficDescrParamIndex when + creating entries in the + atmTrafficDescrParamTable. + The value 0 indicates that no unassigned + entries are available. To obtain the + atmTrafficDescrParamIndex value for a new + entry, the manager issues a management + protocol retrieval operation to obtain the + current value of this object. After each + retrieval, the agent should modify the value + to the next unassigned index. + After a manager retrieves a value the agent will + determine through its local policy when this index + value will be made available for reuse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.13"; + } + } + + container atmInterfaceConfTable { + description + "This table contains ATM local interface + configuration parameters, one entry per ATM + interface port."; + smiv2:oid "1.3.6.1.2.1.37.1.2"; + + list atmInterfaceConfEntry { + key "ifIndex"; + description + "This list contains ATM interface configuration + parameters and state variables and is indexed + by ifIndex values of ATM interfaces."; + smiv2:oid "1.3.6.1.2.1.37.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmInterfaceMaxVpcs { + type int32 { + range "0..4096"; + } + description + "The maximum number of VPCs (PVPCs and SVPCs) + supported at this ATM interface. At the ATM UNI, + the maximum number of VPCs (PVPCs and SVPCs) + ranges from 0 to 256 only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.1"; + } + + leaf atmInterfaceMaxVccs { + type int32 { + range "0..65536"; + } + description + "The maximum number of VCCs (PVCCs and SVCCs) + supported at this ATM interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.2"; + } + + leaf atmInterfaceConfVpcs { + type int32 { + range "0..4096"; + } + description + "The number of VPCs (PVPC, Soft PVPC and SVPC) + currently in use at this ATM interface. It includes + the number of PVPCs and Soft PVPCs that are configured + at the interface, plus the number of SVPCs + that are currently established at the + interface. + + At the ATM UNI, the configured number of + VPCs (PVPCs and SVPCs) can range from + 0 to 256 only."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.3"; + } + + leaf atmInterfaceConfVccs { + type int32 { + range "0..65536"; + } + description + "The number of VCCs (PVCC, Soft PVCC and SVCC) + currently in use at this ATM interface. It includes + the number of PVCCs and Soft PVCCs that are configured + at the interface, plus the number of SVCCs + that are currently established at the + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.4"; + } + + leaf atmInterfaceMaxActiveVpiBits { + type int32 { + range "0..12"; + } + description + "The maximum number of active VPI bits + configured for use at the ATM interface. + At the ATM UNI, the maximum number of active + VPI bits configured for use ranges from + 0 to 8 only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.5"; + } + + leaf atmInterfaceMaxActiveVciBits { + type int32 { + range "0..16"; + } + description + "The maximum number of active VCI bits + configured for use at this ATM interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.6"; + } + + leaf atmInterfaceIlmiVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value of the VCC supporting + the ILMI at this ATM interface. If the values of + atmInterfaceIlmiVpi and atmInterfaceIlmiVci are + both equal to zero then the ILMI is not + supported at this ATM interface."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.7"; + } + + leaf atmInterfaceIlmiVci { + type atm-tc:AtmVcIdentifier; + description + "The VCI value of the VCC supporting + the ILMI at this ATM interface. If the values of + atmInterfaceIlmiVpi and atmInterfaceIlmiVci are + both equal to zero then the ILMI is not + supported at this ATM interface."; + smiv2:defval "16"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.8"; + } + + leaf atmInterfaceAddressType { + type enumeration { + enum "private" { + value "1"; + } + enum "nsapE164" { + value "2"; + } + enum "nativeE164" { + value "3"; + } + enum "other" { + value "4"; + } + } + status deprecated; + description + "The type of primary ATM address configured + for use at this ATM interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.9"; + } + + leaf atmInterfaceAdminAddress { + type atm-tc:AtmAddr; + status deprecated; + description + "The primary address assigned for administrative purposes, + for example, an address associated with the + service provider side of a public network UNI + (thus, the value of this address corresponds + with the value of ifPhysAddress at the host side). + If this interface has no assigned administrative + address, or when the address used for + administrative purposes is the same as that used + for ifPhysAddress, then this is an octet string of + zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.10"; + } + + leaf atmInterfaceMyNeighborIpAddress { + type inet:ipv4-address; + description + "The IP address of the neighbor system connected to + the far end of this interface, to which a Network + Management Station can send SNMP messages, as IP + datagrams sent to UDP port 161, in order to access + network management information concerning the + operation of that system. Note that the value + of this object may be obtained in different ways, + e.g., by manual configuration, or through ILMI + interaction with the neighbor system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.11"; + } + + leaf atmInterfaceMyNeighborIfName { + type snmpv2-tc:DisplayString; + description + "The textual name of the interface on the neighbor + system on the far end of this interface, and to + which this interface connects. If the neighbor + system is manageable through SNMP and supports + the object ifName, the value of this object must + be identical with that of ifName for the ifEntry + of the lowest level physical interface + for this port. If this interface does not have a + textual name, the value of this object is a zero + length string. Note that the value of this object + may be obtained in different ways, e.g., by manual + configuration, or through ILMI interaction with + the neighbor system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.12"; + } + + leaf atmInterfaceCurrentMaxVpiBits { + type int32 { + range "0..12"; + } + description + "The maximum number of VPI Bits that may + currently be used at this ATM interface. + The value is the minimum of + atmInterfaceMaxActiveVpiBits, and the + atmInterfaceMaxActiveVpiBits of the interface's + UNI/NNI peer. + + If the interface does not negotiate with + its peer to determine the number of VPI Bits + that can be used on the interface, then the + value of this object must equal + atmInterfaceMaxActiveVpiBits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.13"; + } + + leaf atmInterfaceCurrentMaxVciBits { + type int32 { + range "0..16"; + } + description + "The maximum number of VCI Bits that may + currently be used at this ATM interface. + The value is the minimum of + atmInterfaceMaxActiveVciBits, and the + atmInterfaceMaxActiveVciBits of the interface's + UNI/NNI peer. + + If the interface does not negotiate with + its peer to determine the number of VCI Bits + that can be used on the interface, then the + value of this object must equal + atmInterfaceMaxActiveVciBits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.14"; + } + + leaf atmInterfaceSubscrAddress { + type atm-tc:AtmAddr; + description + "The identifier assigned by a service provider + to the network side of a public network UNI. + If this interface has no assigned service provider + address, or for other interfaces this is an octet string + of zero length."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.2.1.15"; + } + } + } + + container atmInterfaceDs3PlcpTable { + description + "This table contains ATM interface DS3 PLCP + parameters and state variables, one entry per + ATM interface port."; + smiv2:oid "1.3.6.1.2.1.37.1.3"; + + list atmInterfaceDs3PlcpEntry { + key "ifIndex"; + description + "This list contains DS3 PLCP parameters and + state variables at the ATM interface and is + indexed by the ifIndex value of the ATM interface."; + smiv2:oid "1.3.6.1.2.1.37.1.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmInterfaceDs3PlcpSEFSs { + type yang:counter32; + description + "The number of DS3 PLCP Severely Errored Framing + Seconds (SEFS). Each SEFS represents a + one-second interval which contains + one or more SEF events."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.3.1.1"; + } + + leaf atmInterfaceDs3PlcpAlarmState { + type enumeration { + enum "noAlarm" { + value "1"; + } + enum "receivedFarEndAlarm" { + value "2"; + } + enum "incomingLOF" { + value "3"; + } + } + description + "This variable indicates if there is an + alarm present for the DS3 PLCP. The value + receivedFarEndAlarm means that the DS3 PLCP + has received an incoming Yellow + Signal, the value incomingLOF means that + the DS3 PLCP has declared a loss of frame (LOF) + failure condition, and the value noAlarm + means that there are no alarms present. + Transition from the failure to the no alarm state + occurs when no defects (e.g., LOF) are received + for more than 10 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.3.1.2"; + } + + leaf atmInterfaceDs3PlcpUASs { + type yang:counter32; + description + "The counter associated with the number of + Unavailable Seconds encountered by the PLCP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.3.1.3"; + } + } + } + + container atmInterfaceTCTable { + description + "This table contains ATM interface TC + Sublayer parameters and state variables, + one entry per ATM interface port."; + smiv2:oid "1.3.6.1.2.1.37.1.4"; + + list atmInterfaceTCEntry { + key "ifIndex"; + description + "This list contains TC Sublayer parameters + and state variables at the ATM interface and is + indexed by the ifIndex value of the ATM interface."; + smiv2:oid "1.3.6.1.2.1.37.1.4.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmInterfaceOCDEvents { + type yang:counter32; + description + "The number of times the Out of Cell + Delineation (OCD) events occur. If seven + consecutive ATM cells have Header Error + Control (HEC) violations, an OCD event occurs. + A high number of OCD events may indicate a + problem with the TC Sublayer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.4.1.1"; + } + + leaf atmInterfaceTCAlarmState { + type enumeration { + enum "noAlarm" { + value "1"; + } + enum "lcdFailure" { + value "2"; + } + } + description + "This variable indicates if there is an + alarm present for the TC Sublayer. The value + lcdFailure(2) indicates that the TC Sublayer + is currently in the Loss of Cell Delineation + (LCD) defect maintenance state. The value + noAlarm(1) indicates that the TC Sublayer + is currently not in the LCD defect + maintenance state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.4.1.2"; + } + } + } + + container atmTrafficDescrParamTable { + description + "This table contains information on ATM traffic + descriptor type and the associated parameters."; + smiv2:oid "1.3.6.1.2.1.37.1.5"; + + list atmTrafficDescrParamEntry { + key "atmTrafficDescrParamIndex"; + description + "This list contains ATM traffic descriptor + type and the associated parameters."; + smiv2:oid "1.3.6.1.2.1.37.1.5.1"; + + leaf atmTrafficDescrParamIndex { + type atm-tc:AtmTrafficDescrParamIndex { + range "1..2147483647"; + } + description + "This object is used by the virtual link + table (i.e., VPL or VCL table) + to identify the row of this table. + When creating a new row in the table + the value of this index may be obtained + by retrieving the value of + atmTrafficDescrParamIndexNext."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.1"; + } + + leaf atmTrafficDescrType { + type yang:object-identifier-128; + description + "The value of this object identifies the type + of ATM traffic descriptor. + The type may indicate no traffic descriptor or + traffic descriptor with one or more parameters. + These parameters are specified as a parameter + vector, in the corresponding instances of the + objects: + atmTrafficDescrParam1 + atmTrafficDescrParam2 + atmTrafficDescrParam3 + atmTrafficDescrParam4 + atmTrafficDescrParam5."; + smiv2:defval "atmNoClpNoScr"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.2"; + } + + leaf atmTrafficDescrParam1 { + type int32; + description + "The first parameter of the ATM traffic descriptor + used according to the value of + atmTrafficDescrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.3"; + } + + leaf atmTrafficDescrParam2 { + type int32; + description + "The second parameter of the ATM traffic descriptor + used according to the value of + atmTrafficDescrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.4"; + } + + leaf atmTrafficDescrParam3 { + type int32; + description + "The third parameter of the ATM traffic descriptor + used according to the value of + atmTrafficDescrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.5"; + } + + leaf atmTrafficDescrParam4 { + type int32; + description + "The fourth parameter of the ATM traffic descriptor + used according to the value of + atmTrafficDescrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.6"; + } + + leaf atmTrafficDescrParam5 { + type int32; + description + "The fifth parameter of the ATM traffic descriptor + used according to the value of + atmTrafficDescrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.7"; + } + + leaf atmTrafficQoSClass { + type int32 { + range "0..255"; + } + status deprecated; + description + "The value of this object identifies the QoS Class. + Four Service classes have been + specified in the ATM Forum UNI Specification: + Service Class A: Constant bit rate video and + Circuit emulation + Service Class B: Variable bit rate video/audio + Service Class C: Connection-oriented data + Service Class D: Connectionless data + Four QoS classes numbered 1, 2, 3, and 4 have + been specified with the aim to support service + classes A, B, C, and D respectively. + An unspecified QoS Class numbered `0' is used + for best effort traffic."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.8"; + } + + leaf atmTrafficDescrRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create + a new row or modify or delete an + existing row in this table."; + smiv2:defval "active"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.9"; + } + + leaf atmServiceCategory { + type atm-tc:AtmServiceCategory; + description + "The ATM service category."; + smiv2:defval "ubr"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.10"; + } + + leaf atmTrafficFrameDiscard { + type boolean; + description + "If set to 'true', this object indicates that the network + is requested to treat data for this connection, in the + given direction, as frames (e.g. AAL5 CPCS_PDU's) rather + than as individual cells. While the precise + implementation is network-specific, this treatment may + for example involve discarding entire frames during + congestion, rather than a few cells from many frames."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.5.1.11"; + } + } + } + + container atmVplTable { + description + "The Virtual Path Link (VPL) table. A + bi-directional VPL is modeled as one entry + in this table. This table can be used for + PVCs, SVCs and Soft PVCs. + Entries are not present in this table for + the VPIs used by entries in the atmVclTable."; + smiv2:oid "1.3.6.1.2.1.37.1.6"; + + list atmVplEntry { + key "ifIndex atmVplVpi"; + description + "An entry in the VPL table. This entry is + used to model a bi-directional VPL. + To create a VPL at an ATM interface, + either of the following procedures are used: + + Negotiated VPL establishment + + (1) The management application creates + a VPL entry in the atmVplTable + by setting atmVplRowStatus to createAndWait(5). + This may fail for the following reasons: + - The selected VPI value is unavailable, + - The selected VPI value is in use. + Otherwise, the agent creates a row and + reserves the VPI value on that port. + + (2) The manager selects an existing row(s) in the + atmTrafficDescrParamTable, + thereby, selecting a set of self-consistent + ATM traffic parameters and the service category + for receive and transmit directions of the VPL. + + (2a) If no suitable row(s) in the + atmTrafficDescrParamTable exists, + the manager must create a new row(s) + in that table. + + (2b) The manager characterizes the VPL's traffic + parameters through setting the + atmVplReceiveTrafficDescrIndex and the + atmVplTransmitTrafficDescrIndex values + in the VPL table, which point to the rows + containing desired ATM traffic parameter values + in the atmTrafficDescrParamTable. The agent + will check the availability of resources and + may refuse the request. + If the transmit and receive service categories + are inconsistent, the agent should refuse the + request. + + (3) The manager activates the VPL by setting the + the atmVplRowStatus to active(1). + If this set is successful, the agent has + reserved the resources to satisfy the requested + traffic parameter values and the service category + for that VPL. + + (4) If the VPL terminates a VPC in the ATM host + or switch, the manager turns on the + atmVplAdminStatus to up(1) to turn the VPL + traffic flow on. Otherwise, the + atmVpCrossConnectTable must be used + to cross-connect the VPL to another VPL(s) + in an ATM switch or network. + + One-Shot VPL Establishment + + A VPL may also be established in one step by a + set-request with all necessary VPL parameter + values and atmVplRowStatus set to createAndGo(4). + + In contrast to the negotiated VPL establishment + which allows for detailed error checking + (i.e., set errors are explicitly linked to + particular resource acquisition failures), + the one-shot VPL establishment + performs the setup on one operation but + does not have the advantage of step-wise + error checking. + + VPL Retirement + + A VPL is released by setting atmVplRowStatus to + destroy(6), and the agent may release all + associated resources."; + smiv2:oid "1.3.6.1.2.1.37.1.6.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVplVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value of the VPL."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.1"; + } + + leaf atmVplAdminStatus { + type atm-tc:AtmVorXAdminStatus; + description + "This object is instanciated only for a VPL + which terminates a VPC (i.e., one which is + NOT cross-connected to other VPLs). + Its value specifies the desired + administrative state of the VPL."; + smiv2:defval "down"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.2"; + } + + leaf atmVplOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The current operational status of the VPL."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.3"; + } + + leaf atmVplLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this + VPL entered its current operational state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.4"; + } + + leaf atmVplReceiveTrafficDescrIndex { + type atm-tc:AtmTrafficDescrParamIndex; + description + "The value of this object identifies the row + in the atmTrafficDescrParamTable which + applies to the receive direction of the VPL."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.5"; + } + + leaf atmVplTransmitTrafficDescrIndex { + type atm-tc:AtmTrafficDescrParamIndex; + description + "The value of this object identifies the row + in the atmTrafficDescrParamTable which + applies to the transmit direction of the VPL."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.6"; + } + + leaf atmVplCrossConnectIdentifier { + type int32 { + range "0..2147483647"; + } + description + "This object is instantiated only for a VPL + which is cross-connected to other VPLs + that belong to the same VPC. All such + associated VPLs have the same value of this + object, and all their cross-connections are + identified either by entries that are indexed + by the same value of atmVpCrossConnectIndex in + the atmVpCrossConnectTable of this MIB module or by + the same value of the cross-connect index in + the cross-connect table for SVCs and Soft PVCs + (defined in a separate MIB module). + At no time should entries in these respective + cross-connect tables exist simultaneously + with the same cross-connect index value. + The value of this object is initialized by the + agent after the associated entries in the + atmVpCrossConnectTable have been created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.7"; + } + + leaf atmVplRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create, delete + or modify a row in this table. + To create a new VCL, this object is + initially set to 'createAndWait' or + 'createAndGo'. This object should not be + set to 'active' unless the following columnar + objects have been set to their desired value + in this row: + atmVplReceiveTrafficDescrIndex and + atmVplTransmitTrafficDescrIndex. + The DESCRIPTION of atmVplEntry provides + further guidance to row treatment in this table."; + smiv2:defval "createAndWait"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.8"; + } + + leaf atmVplCastType { + type atm-tc:AtmConnCastType; + description + "The connection topology type."; + smiv2:defval "p2p"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.9"; + } + + leaf atmVplConnKind { + type atm-tc:AtmConnKind; + description + "The use of call control."; + smiv2:defval "pvc"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.6.1.10"; + } + } + } + + container atmVclTable { + description + "The Virtual Channel Link (VCL) table. A + bi-directional VCL is modeled as one entry + in this table. This table can be used for + PVCs, SVCs and Soft PVCs."; + smiv2:oid "1.3.6.1.2.1.37.1.7"; + + list atmVclEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "An entry in the VCL table. This entry is + used to model a bi-directional VCL. + To create a VCL at an ATM interface, + either of the following procedures are used: + + Negotiated VCL establishment + + (1) The management application creates + a VCL entry in the atmVclTable + by setting atmVclRowStatus to createAndWait(5). + This may fail for the following reasons: + - The selected VPI/VCI values are unavailable, + - The selected VPI/VCI values are in use. + Otherwise, the agent creates a row and + reserves the VPI/VCI values on that port. + + (2) The manager selects an existing row(s) in the + atmTrafficDescrParamTable, + thereby, selecting a set of self-consistent + ATM traffic parameters and the service category + for receive and transmit directions of the VCL. + + + (2a) If no suitable row(s) in the + atmTrafficDescrParamTable exists, + the manager must create a new row(s) + in that table. + + (2b) The manager characterizes the VCL's traffic + parameters through setting the + atmVclReceiveTrafficDescrIndex and the + atmVclTransmitTrafficDescrIndex values + in the VCL table, which point to the rows + containing desired ATM traffic parameter values + in the atmTrafficDescrParamTable. The agent + will check the availability of resources and + may refuse the request. + If the transmit and receive service categories + are inconsistent, the agent should refuse the + request. + + (3) The manager activates the VCL by setting the + the atmVclRowStatus to active(1) (for + requirements on this activation see the + description of atmVclRowStatus). + If this set is successful, the agent has + reserved the resources to satisfy the requested + traffic parameter values and the service category + for that VCL. + (4) If the VCL terminates a VCC in the ATM host + or switch, the manager turns on the + atmVclAdminStatus to up(1) to turn the VCL + traffic flow on. Otherwise, the + atmVcCrossConnectTable must be used + to cross-connect the VCL to another VCL(s) + in an ATM switch or network. + + One-Shot VCL Establishment + + A VCL may also be established in one step by a + set-request with all necessary VCL parameter + values and atmVclRowStatus set to createAndGo(4). + + In contrast to the negotiated VCL establishment + which allows for detailed error checking + (i.e., set errors are explicitly linked to + particular resource acquisition failures), + the one-shot VCL establishment + performs the setup on one operation but + does not have the advantage of step-wise + error checking. + + VCL Retirement + + A VCL is released by setting atmVclRowStatus to + destroy(6), and the agent may release all + associated resources."; + smiv2:oid "1.3.6.1.2.1.37.1.7.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value of the VCL."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.1"; + } + + leaf atmVclVci { + type atm-tc:AtmVcIdentifier; + description + "The VCI value of the VCL."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.2"; + } + + leaf atmVclAdminStatus { + type atm-tc:AtmVorXAdminStatus; + description + "This object is instanciated only for a VCL which + terminates a VCC (i.e., one which is NOT + cross-connected to other VCLs). Its value + specifies the desired administrative state of + the VCL."; + smiv2:defval "down"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.3"; + } + + leaf atmVclOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The current operational status of the VCL."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.4"; + } + + leaf atmVclLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this VCL + entered its current operational state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.5"; + } + + leaf atmVclReceiveTrafficDescrIndex { + type atm-tc:AtmTrafficDescrParamIndex; + description + "The value of this object identifies the row + in the ATM Traffic Descriptor Table which + applies to the receive direction of this VCL."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.6"; + } + + leaf atmVclTransmitTrafficDescrIndex { + type atm-tc:AtmTrafficDescrParamIndex; + description + "The value of this object identifies the row + of the ATM Traffic Descriptor Table which applies + to the transmit direction of this VCL."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.7"; + } + + leaf atmVccAalType { + type enumeration { + enum "aal1" { + value "1"; + } + enum "aal34" { + value "2"; + } + enum "aal5" { + value "3"; + } + enum "other" { + value "4"; + } + enum "unknown" { + value "5"; + } + enum "aal2" { + value "6"; + } + } + description + "An instance of this object only exists when the + local VCL end-point is also the VCC end-point, + and AAL is in use. + The type of AAL used on this VCC. + The AAL type includes AAL1, AAL2, AAL3/4, + and AAL5. The other(4) may be user-defined + AAL type. The unknown type indicates that + the AAL type cannot be determined."; + smiv2:defval "aal5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.8"; + } + + leaf atmVccAal5CpcsTransmitSduSize { + type int32 { + range "1..65535"; + } + description + "An instance of this object only exists when the + local VCL end-point is also the VCC end-point, + and AAL5 is in use. + The maximum AAL5 CPCS SDU size in octets that is + supported on the transmit direction of this VCC."; + smiv2:defval "9188"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.9"; + } + + leaf atmVccAal5CpcsReceiveSduSize { + type int32 { + range "1..65535"; + } + description + "An instance of this object only exists when the + local VCL end-point is also the VCC end-point, + and AAL5 is in use. + The maximum AAL5 CPCS SDU size in octets that is + supported on the receive direction of this VCC."; + smiv2:defval "9188"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.10"; + } + + leaf atmVccAal5EncapsType { + type enumeration { + enum "vcMultiplexRoutedProtocol" { + value "1"; + } + enum "vcMultiplexBridgedProtocol8023" { + value "2"; + } + enum "vcMultiplexBridgedProtocol8025" { + value "3"; + } + enum "vcMultiplexBridgedProtocol8026" { + value "4"; + } + enum "vcMultiplexLANemulation8023" { + value "5"; + } + enum "vcMultiplexLANemulation8025" { + value "6"; + } + enum "llcEncapsulation" { + value "7"; + } + enum "multiprotocolFrameRelaySscs" { + value "8"; + } + enum "other" { + value "9"; + } + enum "unknown" { + value "10"; + } + } + description + "An instance of this object only exists when the + local VCL end-point is also the VCC end-point, + and AAL5 is in use. + The type of data encapsulation used over + the AAL5 SSCS layer. The definitions reference + RFC 1483 Multiprotocol Encapsulation + over ATM AAL5 and to the ATM Forum + LAN Emulation specification."; + smiv2:defval "llcEncapsulation"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.11"; + } + + leaf atmVclCrossConnectIdentifier { + type int32 { + range "0..2147483647"; + } + description + "This object is instantiated only for a VCL + which is cross-connected to other VCLs + that belong to the same VCC. All such + associated VCLs have the same value of this + object, and all their cross-connections are + identified either by entries that are indexed + by the same value of atmVcCrossConnectIndex in + the atmVcCrossConnectTable of this MIB module or by + the same value of the cross-connect index in + the cross-connect table for SVCs and Soft PVCs + (defined in a separate MIB module). + + At no time should entries in these respective + cross-connect tables exist simultaneously + with the same cross-connect index value. + The value of this object is initialized by the + agent after the associated entries in the + atmVcCrossConnectTable have been created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.12"; + } + + leaf atmVclRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create, delete or + modify a row in this table. To create + a new VCL, this object is initially set + to 'createAndWait' or 'createAndGo'. + This object should not be + set to 'active' unless the following columnar + objects have been set to their desired value + in this row: + atmVclReceiveTrafficDescrIndex, + atmVclTransmitTrafficDescrIndex. + In addition, if the local VCL end-point + is also the VCC end-point: + atmVccAalType. + In addition, for AAL5 connections only: + atmVccAal5CpcsTransmitSduSize, + atmVccAal5CpcsReceiveSduSize, and + atmVccAal5EncapsType. (The existence + of these objects imply the AAL connection type.). + The DESCRIPTION of atmVclEntry provides + further guidance to row treatment in this table."; + smiv2:defval "createAndWait"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.13"; + } + + leaf atmVclCastType { + type atm-tc:AtmConnCastType; + description + "The connection topology type."; + smiv2:defval "p2p"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.14"; + } + + leaf atmVclConnKind { + type atm-tc:AtmConnKind; + description + "The use of call control."; + smiv2:defval "pvc"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.7.1.15"; + } + } + } + + container atmVpCrossConnectTable { + description + "The ATM VP Cross Connect table for PVCs. + An entry in this table models two + cross-connected VPLs. + Each VPL must have its atmConnKind set + to pvc(1)."; + smiv2:oid "1.3.6.1.2.1.37.1.9"; + + list atmVpCrossConnectEntry { + key "atmVpCrossConnectIndex atmVpCrossConnectLowIfIndex atmVpCrossConnectLowVpi atmVpCrossConnectHighIfIndex atmVpCrossConnectHighVpi"; + description + "An entry in the ATM VP Cross Connect table. + This entry is used to model a bi-directional + ATM VP cross-connect which cross-connects + two VPLs. + + Step-wise Procedures to set up a VP Cross-connect + + Once the entries in the atmVplTable are created, + the following procedures are used + to cross-connect the VPLs together. + + (1) The manager obtains a unique + atmVpCrossConnectIndex by reading the + atmVpCrossConnectIndexNext object. + + (2) Next, the manager creates a set of one + or more rows in the ATM VP Cross Connect + Table, one for each cross-connection between + two VPLs. Each row is indexed by the ATM + interface port numbers and VPI values of the + two ends of that cross-connection. + This set of rows specifies the topology of the + VPC cross-connect and is identified by a single + value of atmVpCrossConnectIndex. + + Negotiated VP Cross-Connect Establishment + + (2a) The manager creates a row in this table by + setting atmVpCrossConnectRowStatus to + createAndWait(5). The agent checks the + requested topology and the mutual sanity of + the ATM traffic parameters and + service categories, i.e., the row creation + fails if: + - the requested topology is incompatible with + associated values of atmVplCastType, + - the requested topology is not supported + by the agent, + - the traffic/service category parameter values + associated with the requested row are + incompatible with those of already existing + rows for this VP cross-connect. + [For example, for setting up + a point-to-point VP cross-connect, the + ATM traffic parameters in the receive direction + of a VPL at the low end of the cross-connect + must equal to the traffic parameters in the + transmit direction of the other VPL at the + high end of the cross-connect, + otherwise, the row creation fails.] + The agent also checks for internal errors + in building the cross-connect. + + The atmVpCrossConnectIndex values in the + corresponding atmVplTable rows are filled + in by the agent at this point. + + (2b) The manager promotes the row in the + atmVpCrossConnectTable by setting + atmVpCrossConnectRowStatus to active(1). If + this set is successful, the agent has reserved + the resources specified by the ATM traffic + parameter and Service category values + for each direction of the VP cross-connect + in an ATM switch or network. + + (3) The manager sets the + atmVpCrossConnectAdminStatus to up(1) in all + rows of this VP cross-connect to turn the + traffic flow on. + + + One-Shot VP Cross-Connect Establishment + + A VP cross-connect may also be established in + one step by a set-request with all necessary + parameter values and atmVpCrossConnectRowStatus + set to createAndGo(4). + + In contrast to the negotiated VP cross-connect + establishment which allows for detailed error + checking (i.e., set errors are explicitly linked + to particular resource acquisition failures), + the one-shot VP cross-connect establishment + performs the setup on one operation but does not + have the advantage of step-wise error checking. + + VP Cross-Connect Retirement + + A VP cross-connect identified by a particular + value of atmVpCrossConnectIndex is released by: + + (1) Setting atmVpCrossConnectRowStatus of all + rows identified by this value of + atmVpCrossConnectIndex to destroy(6). + The agent may release all + associated resources, and the + atmVpCrossConnectIndex values in the + corresponding atmVplTable row are removed. + Note that a situation when only a subset of + the associated rows are deleted corresponds + to a VP topology change. + + (2) After deletion of the appropriate + atmVpCrossConnectEntries, the manager may + set atmVplRowStatus to destroy(6) the + associated VPLs. The agent releases + the resources and removes the associated + rows in the atmVplTable. + + VP Cross-connect Reconfiguration + + At the discretion of the agent, a VP + cross-connect may be reconfigured by + adding and/or deleting leafs to/from + the VP topology as per the VP cross-connect + establishment/retirement procedures. + Reconfiguration of traffic/service category parameter + values requires release of the VP cross-connect + before those parameter values may by changed + for individual VPLs."; + smiv2:oid "1.3.6.1.2.1.37.1.9.1"; + + leaf atmVpCrossConnectIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique value to identify this VP cross-connect. + For each VPL associated with this cross-connect, + the agent reports this cross-connect index value + in the atmVplCrossConnectIdentifier attribute of + the corresponding atmVplTable entries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.1"; + } + + leaf atmVpCrossConnectLowIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the ATM interface for + this VP cross-connect. The term low implies + that this ATM interface has the numerically lower + ifIndex value than the other ATM interface + identified in the same atmVpCrossConnectEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.2"; + } + + leaf atmVpCrossConnectLowVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value at the ATM interface + associated with the VP cross-connect that is + identified by atmVpCrossConnectLowIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.3"; + } + + leaf atmVpCrossConnectHighIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the ATM interface for + this VP cross-connect. The term high implies that + this ATM interface has the numerically higher + ifIndex value than the other ATM interface + identified in the same atmVpCrossConnectEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.4"; + } + + leaf atmVpCrossConnectHighVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value at the ATM interface + associated with the VP cross-connect that is + identified by atmVpCrossConnectHighIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.5"; + } + + leaf atmVpCrossConnectAdminStatus { + type atm-tc:AtmVorXAdminStatus; + description + "The desired administrative status of this + bi-directional VP cross-connect."; + smiv2:defval "down"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.6"; + } + + leaf atmVpCrossConnectL2HOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The operational status of the VP cross-connect + in one direction; (i.e., from the low to + high direction)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.7"; + } + + leaf atmVpCrossConnectH2LOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The operational status of the VP cross-connect + in one direction; (i.e., from the high to + low direction)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.8"; + } + + leaf atmVpCrossConnectL2HLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this + VP cross-connect entered its current operational + state in the low to high direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.9"; + } + + leaf atmVpCrossConnectH2LLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this + VP cross-connect entered its current operational + in the high to low direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.10"; + } + + leaf atmVpCrossConnectRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry in the + atmVpCrossConnectTable. This object is used to + create a cross-connect for cross-connecting + VPLs which are created using the atmVplTable + or to change or delete an existing cross-connect. + This object must be initially set + to `createAndWait' or 'createAndGo'. + To turn on a VP cross-connect, + the atmVpCrossConnectAdminStatus + is set to `up'."; + smiv2:defval "createAndWait"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.9.1.11"; + } + } + } + + container atmVcCrossConnectTable { + description + "The ATM VC Cross Connect table for PVCs. + An entry in this table models two + cross-connected VCLs. + Each VCL must have its atmConnKind set + to pvc(1)."; + smiv2:oid "1.3.6.1.2.1.37.1.11"; + + list atmVcCrossConnectEntry { + key "atmVcCrossConnectIndex atmVcCrossConnectLowIfIndex atmVcCrossConnectLowVpi atmVcCrossConnectLowVci atmVcCrossConnectHighIfIndex atmVcCrossConnectHighVpi atmVcCrossConnectHighVci"; + description + "An entry in the ATM VC Cross Connect table. + This entry is used to model a bi-directional ATM + VC cross-connect cross-connecting two end points. + + Step-wise Procedures to set up a VC Cross-connect + + Once the entries in the atmVclTable are created, + the following procedures are used + to cross-connect the VCLs together to + form a VCC segment. + + (1) The manager obtains a unique + atmVcCrossConnectIndex by reading the + atmVcCrossConnectIndexNext object. + + (2) Next, the manager creates a set of one + or more rows in the ATM VC Cross Connect + Table, one for each cross-connection between + two VCLs. Each row is indexed by the ATM + interface port numbers and VPI/VCI values of + the two ends of that cross-connection. + This set of rows specifies the topology of the + VCC cross-connect and is identified by a single + value of atmVcCrossConnectIndex. + + Negotiated VC Cross-Connect Establishment + + (2a) The manager creates a row in this table by + setting atmVcCrossConnectRowStatus to + createAndWait(5). The agent checks the + requested topology and the mutual sanity of + the ATM traffic parameters and + service categories, i.e., the row creation + fails if: + - the requested topology is incompatible with + associated values of atmVclCastType, + - the requested topology is not supported + by the agent, + - the traffic/service category parameter values + associated with the requested row are + incompatible with those of already existing + rows for this VC cross-connect. + [For example, for setting up + a point-to-point VC cross-connect, the + ATM traffic parameters in the receive direction + of a VCL at the low end of the cross-connect + must equal to the traffic parameters in the + transmit direction of the other VCL at the + high end of the cross-connect, + otherwise, the row creation fails.] + The agent also checks for internal errors + in building the cross-connect. + + The atmVcCrossConnectIndex values in the + corresponding atmVclTable rows are filled + in by the agent at this point. + + (2b) The manager promotes the row in the + atmVcCrossConnectTable by setting + atmVcCrossConnectRowStatus to active(1). If + this set is successful, the agent has reserved + the resources specified by the ATM traffic + parameter and Service category values + for each direction of the VC cross-connect + in an ATM switch or network. + + (3) The manager sets the + atmVcCrossConnectAdminStatus to up(1) + in all rows of this VC cross-connect to + turn the traffic flow on. + + + One-Shot VC Cross-Connect Establishment + + A VC cross-connect may also be established in + one step by a set-request with all necessary + parameter values and atmVcCrossConnectRowStatus + set to createAndGo(4). + + In contrast to the negotiated VC cross-connect + establishment which allows for detailed error + checking i.e., set errors are explicitly linked to + particular resource acquisition failures), the + one-shot VC cross-connect establishment + performs the setup on one operation but does + not have the advantage of step-wise error + checking. + + VC Cross-Connect Retirement + + A VC cross-connect identified by a particular + value of atmVcCrossConnectIndex is released by: + + (1) Setting atmVcCrossConnectRowStatus of all rows + identified by this value of + atmVcCrossConnectIndex to destroy(6). + The agent may release all + associated resources, and the + atmVcCrossConnectIndex values in the + corresponding atmVclTable row are removed. + Note that a situation when only a subset of + the associated rows are deleted corresponds + to a VC topology change. + + (2) After deletion of the appropriate + atmVcCrossConnectEntries, the manager may + set atmVclRowStatus to destroy(6) the + associated VCLs. The agent releases + the resources and removes the associated + rows in the atmVclTable. + + VC Cross-Connect Reconfiguration + + At the discretion of the agent, a VC + cross-connect may be reconfigured by + adding and/or deleting leafs to/from + the VC topology as per the VC cross-connect + establishment/retirement procedures. + Reconfiguration of traffic/service category parameter + values requires release of the VC cross-connect + before those parameter values may by changed + for individual VCLs."; + smiv2:oid "1.3.6.1.2.1.37.1.11.1"; + + leaf atmVcCrossConnectIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique value to identify this VC cross-connect. + For each VCL associated with this cross-connect, + the agent reports this cross-connect index value + in the atmVclCrossConnectIdentifier attribute of + the corresponding atmVclTable entries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.1"; + } + + leaf atmVcCrossConnectLowIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the ATM interface for this + VC cross-connect. The term low implies + that this ATM interface has the numerically lower + ifIndex value than the other ATM interface + identified in the same atmVcCrossConnectEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.2"; + } + + leaf atmVcCrossConnectLowVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value at the ATM interface + associated with the VC cross-connect that is + identified by atmVcCrossConnectLowIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.3"; + } + + leaf atmVcCrossConnectLowVci { + type atm-tc:AtmVcIdentifier; + description + "The VCI value at the ATM interface + associated with this VC cross-connect that is + identified by atmVcCrossConnectLowIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.4"; + } + + leaf atmVcCrossConnectHighIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value for the ATM interface for + this VC cross-connect. The term high implies + that this ATM interface has the numerically higher + ifIndex value than the other ATM interface + identified in the same atmVcCrossConnectEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.5"; + } + + leaf atmVcCrossConnectHighVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value at the ATM interface + associated with the VC cross-connect that is + identified by atmVcCrossConnectHighIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.6"; + } + + leaf atmVcCrossConnectHighVci { + type atm-tc:AtmVcIdentifier; + description + "The VCI value at the ATM interface + associated with the VC cross-connect that is + identified by atmVcCrossConnectHighIfIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.7"; + } + + leaf atmVcCrossConnectAdminStatus { + type atm-tc:AtmVorXAdminStatus; + description + "The desired administrative status of this + bi-directional VC cross-connect."; + smiv2:defval "down"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.8"; + } + + leaf atmVcCrossConnectL2HOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The current operational status of the + VC cross-connect in one direction; (i.e., + from the low to high direction)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.9"; + } + + leaf atmVcCrossConnectH2LOperStatus { + type atm-tc:AtmVorXOperStatus; + description + "The current operational status of the + VC cross-connect in one direction; (i.e., + from the high to low direction)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.10"; + } + + leaf atmVcCrossConnectL2HLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this + VC cross-connect entered its current + operational state in low to high direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.11"; + } + + leaf atmVcCrossConnectH2LLastChange { + type atm-tc:AtmVorXLastChange; + description + "The value of sysUpTime at the time this + VC cross-connect entered its current + operational state in high to low direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.12"; + } + + leaf atmVcCrossConnectRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry in the + atmVcCrossConnectTable. This object is used to + create a new cross-connect for cross-connecting + VCLs which are created using the atmVclTable + or to change or delete existing cross-connect. + This object must be initially set to + `createAndWait' or 'createAndGo'. + To turn on a VC cross-connect, + the atmVcCrossConnectAdminStatus + is set to `up'."; + smiv2:defval "createAndWait"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.37.1.11.1.13"; + } + } + } + + container aal5VccTable { + description + "This table contains AAL5 VCC performance + parameters."; + smiv2:oid "1.3.6.1.2.1.37.1.12"; + + list aal5VccEntry { + key "ifIndex aal5VccVpi aal5VccVci"; + description + "This list contains the AAL5 VCC + performance parameters and is indexed + by ifIndex values of AAL5 interfaces + and the associated VPI/VCI values."; + smiv2:oid "1.3.6.1.2.1.37.1.12.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf aal5VccVpi { + type atm-tc:AtmVpIdentifier; + description + "The VPI value of the AAL5 VCC at the + interface identified by the ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.12.1.1"; + } + + leaf aal5VccVci { + type atm-tc:AtmVcIdentifier; + description + "The VCI value of the AAL5 VCC at the + interface identified by the ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.37.1.12.1.2"; + } + + leaf aal5VccCrcErrors { + type yang:counter32; + description + "The number of AAL5 CPCS PDUs received with + CRC-32 errors on this AAL5 VCC at the + interface associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.12.1.3"; + } + + leaf aal5VccSarTimeOuts { + type yang:counter32; + description + "The number of partially re-assembled AAL5 + CPCS PDUs which were discarded + on this AAL5 VCC at the interface associated + with an AAL5 entity because they + were not fully re-assembled within the + required time period. If the re-assembly + timer is not supported, then this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.12.1.4"; + } + + leaf aal5VccOverSizedSDUs { + type yang:counter32; + description + "The number of AAL5 CPCS PDUs discarded + on this AAL5 VCC at the interface + associated with an AAL5 entity because the + AAL5 SDUs were too large."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.37.1.12.1.5"; + } + } + } + } + + smiv2:alias "atmMIB" { + smiv2:oid "1.3.6.1.2.1.37"; + } + + smiv2:alias "atmMIBObjects" { + smiv2:oid "1.3.6.1.2.1.37.1"; + } + + smiv2:alias "atmMIBConformance" { + smiv2:oid "1.3.6.1.2.1.37.2"; + } + + smiv2:alias "atmMIBGroups" { + smiv2:oid "1.3.6.1.2.1.37.2.1"; + } + + smiv2:alias "atmMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.37.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ATM-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/ATM-TC-MIB.yang new file mode 100644 index 000000000..2ec18cc08 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ATM-TC-MIB.yang @@ -0,0 +1,1169 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ATM-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ATM-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ATM-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB"; + prefix ATM-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF AToMMIB Working Group"; + + contact + " Michael Noto + Postal: 3Com Corporation + 5400 Bayfront Plaza, M/S 3109 + Santa Clara, CA 95052 + USA + Tel: +1 408 326 2218 + E-mail: mike_noto@3com.com + + Ethan Mickey Spiegel + Postal: Cisco Systems + 170 W. Tasman Dr. + San Jose, CA 95134 + USA + Tel: +1 408 526 6408 + E-mail: mspiegel@cisco.com + + Kaj Tesink + Postal: Bellcore + 331 Newman Springs Road + Red Bank, NJ 07701 + USA + Tel: +1 732 758 5254 + Fax: +1 732 758 4177 + E-mail: kaj@bellcore.com"; + + description + "This MIB Module provides Textual Conventions + and OBJECT-IDENTITY Objects to be used by + ATM systems."; + + revision 1998-10-19 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef AtmAddr { + type string; + description + "An ATM address. The semantics are implied by + the length. The address types are: - no + address (0 octets) - E.164 (8 octets) - NSAP + (20 octets) In addition, when subaddresses + are used the AtmAddr may represent the + concatenation of address and subaddress. The + associated address types are: - E.164, E.164 + (16 octets) - E.164, NSAP (28 octets) - NSAP, + NSAP (40 octets) Address lengths other than + defined in this definition imply address + types defined elsewhere. Note: The E.164 + address is encoded in BCD format."; + smiv2:display-hint "1x"; + } + + typedef AtmConnCastType { + type enumeration { + enum "p2p" { + value "1"; + } + enum "p2mpRoot" { + value "2"; + } + enum "p2mpLeaf" { + value "3"; + } + } + description + "The type of topology of a connection (point- + to-point, point-to-multipoint). In the case + of point-to-multipoint, the orientation of + this VPL or VCL in the connection. + On a host: + - p2mpRoot indicates that the host + is the root of the p2mp connection. + - p2mpLeaf indicates that the host + is a leaf of the p2mp connection. + On a switch interface: + - p2mpRoot indicates that cells received + by the switching fabric from the interface + are from the root of the p2mp connection. + - p2mpLeaf indicates that cells transmitted + to the interface from the switching fabric + are to the leaf of the p2mp connection."; + } + + typedef AtmConnKind { + type enumeration { + enum "pvc" { + value "1"; + } + enum "svcIncoming" { + value "2"; + } + enum "svcOutgoing" { + value "3"; + } + enum "spvcInitiator" { + value "4"; + } + enum "spvcTarget" { + value "5"; + } + } + description + "The type of call control used for an ATM + connection at a particular interface. The use + is as follows: + pvc(1) + Virtual link of a PVC. Should not be + used for an PVC/SVC (i.e., Soft PVC) + crossconnect. + svcIncoming(2) + Virtual link established after a + received signaling request to setup + an SVC. + svcOutgoing(3) + Virtual link established after a + transmitted or forwarded signaling + request to setup an SVC. + spvcInitiator(4) + Virtual link at the PVC side of an + SVC/PVC crossconnect, where the + switch is the initiator of the Soft PVC + setup. + spvcTarget(5) + Virtual link at the PVC side of an + SVC/PVC crossconnect, where the + switch is the target of the Soft PVC + setup. + + For PVCs, a pvc virtual link is always cross- + connected to a pvc virtual link. + + For SVCs, an svcIncoming virtual link is always cross- + connected to an svcOutgoing virtual link. + + For Soft PVCs, an spvcInitiator is either cross-connected to + an svcOutgoing or an spvcTarget, and an spvcTarget is either + cross-connected to an svcIncoming or an spvcInitiator."; + } + + typedef AtmIlmiNetworkPrefix { + type binary { + length "8|13"; + } + description + "A network prefix used for ILMI address + registration. In the case of ATM endsystem + addresses (AESAs), the network prefix is the first + 13 octets of the address which includes the AFI, + IDI, and HO-DSP fields. In the case of native + E.164 addresses, the network prefix is the entire + E.164 address encoded in 8 octets, as if it were + an E.164 IDP in an ATM endsystem address + structure."; + reference + "ATM Forum, Integrated Local Management Interface + (ILMI) Specification, Version 4.0, + af-ilmi-0065.000, September 1996, Section 9 + ATM Forum, ATM User-Network Interface Signalling + Specification, Version 4.0 (UNI 4.0), + af-sig-0061.000, June 1996, Section 3"; + } + + typedef AtmInterfaceType { + type enumeration { + enum "other" { + value "1"; + } + enum "autoConfig" { + value "2"; + } + enum "ituDss2" { + value "3"; + } + enum "atmfUni3Dot0" { + value "4"; + } + enum "atmfUni3Dot1" { + value "5"; + } + enum "atmfUni4Dot0" { + value "6"; + } + enum "atmfIispUni3Dot0" { + value "7"; + } + enum "atmfIispUni3Dot1" { + value "8"; + } + enum "atmfIispUni4Dot0" { + value "9"; + } + enum "atmfPnni1Dot0" { + value "10"; + } + enum "atmfBici2Dot0" { + value "11"; + } + enum "atmfUniPvcOnly" { + value "12"; + } + enum "atmfNniPvcOnly" { + value "13"; + } + } + description + "The connection setup procedures used for the + identified interface. + + Other: Connection setup procedures other than + those listed below. + + Auto-configuration: + Indicates that the connection setup + procedures are to be determined dynamically, + or that determination has not yet been + completed. One such mechanism is via ATM + Forum ILMI auto-configuration procedures. + + ITU-T DSS2: + - ITU-T Recommendation Q.2931, Broadband + Integrated Service Digital Network (B-ISDN) + Digital Subscriber Signalling System No.2 + (DSS2) User-Network Interface (UNI) Layer 3 + Specification for Basic Call/Connection + Control (September 1994) + - ITU-T Draft Recommendation Q.2961, + B-ISDN DSS 2 Support of Additional Traffic + Parameters (May 1995) + + - ITU-T Draft Recommendation Q.2971, + B-ISDN DSS 2 User Network Interface Layer 3 + Specification for Point-to-multipoint + Call/connection Control (May 1995) + + ATM Forum UNI 3.0: + ATM Forum, ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, + (1994). + + ATM Forum UNI 3.1: + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + (November 1994). + + ATM Forum UNI Signalling 4.0: + ATM Forum, ATM User-Network Interface (UNI) + Signalling Specification Version 4.0, + af-sig-0061.000 (June 1996). + + ATM Forum IISP (based on UNI 3.0 or UNI 3.1) : + Interim Inter-switch Signaling Protocol + (IISP) Specification, Version 1.0, + af-pnni-0026.000, (December 1994). + + ATM Forum PNNI 1.0 : + ATM Forum, Private Network-Network Interface + Specification, Version 1.0, af-pnni-0055.000, + (March 1996). + + ATM Forum B-ICI: + ATM Forum, B-ICI Specification, Version 2.0, + af-bici-0013.002, (November 1995). + + ATM Forum UNI PVC Only: + An ATM Forum compliant UNI with the + signalling disabled. + ATM Forum NNI PVC Only: + An ATM Forum compliant NNI with the + signalling disabled."; + } + + typedef AtmServiceCategory { + type enumeration { + enum "other" { + value "1"; + } + enum "cbr" { + value "2"; + } + enum "rtVbr" { + value "3"; + } + enum "nrtVbr" { + value "4"; + } + enum "abr" { + value "5"; + } + enum "ubr" { + value "6"; + } + } + description + "The service category for a connection."; + reference + "ATM Forum Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + } + + typedef AtmSigDescrParamIndex { + type int32 { + range "0..2147483647"; + } + description + "The value of this object identifies a row in the + atmSigDescrParamTable. The value 0 signifies that + none of the signalling parameters defined in the + atmSigDescrParamTable are applicable."; + } + + typedef AtmTrafficDescrParamIndex { + type int32 { + range "0..2147483647"; + } + description + "The value of this object identifies a row in the + atmTrafficDescrParamTable. The value 0 signifies + that no row has been identified."; + } + + typedef AtmVcIdentifier { + type int32 { + range "0..65535"; + } + description + "The VCI value for a VCL. The maximum VCI value + cannot exceed the value allowable by + atmInterfaceMaxVciBits defined in ATM-MIB."; + } + + typedef AtmVpIdentifier { + type int32 { + range "0..4095"; + } + description + "The VPI value for a VPL or VCL. The value VPI=0 + is only allowed for a VCL. For ATM UNIs supporting + VPCs the VPI value ranges from 0 to 255. The VPI + value 0 is supported for ATM UNIs conforming to + the ATM Forum UNI 4.0 Annex 8 (Virtual UNIs) + specification. For ATM UNIs supporting VCCs the + VPI value ranges from 0 to 255. For ATM NNIs the + VPI value ranges from 0 to 4095. The maximum VPI + value cannot exceed the value allowable by + atmInterfaceMaxVpiBits defined in ATM-MIB."; + } + + typedef AtmVorXAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The value determines the desired administrative + status of a virtual link or cross-connect. The up + and down states indicate that the traffic flow is + enabled or disabled respectively on the virtual + link or cross-connect."; + } + + typedef AtmVorXLastChange { + type yang:timeticks; + description + "The value of MIB II's sysUpTime at the time a + virtual link or cross-connect entered its current + operational state. If the current state was + entered prior to the last re-initialization of the + agent then this object contains a zero value."; + } + + typedef AtmVorXOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "The value determines the operational status of a + virtual link or cross-connect. The up and down + states indicate that the traffic flow is enabled + or disabled respectively on the virtual link or + cross-connect. The unknown state indicates that + the state of it cannot be determined. The state + will be down or unknown if the supporting ATM + interface(s) is down or unknown respectively."; + } + + identity atmNoTrafficDescriptor { + base smiv2:object-identity; + status deprecated; + description + "This identifies the no ATM traffic + descriptor type. Parameters 1, 2, 3, 4, + and 5 are not used. This traffic descriptor + type can be used for best effort traffic."; + smiv2:oid "1.3.6.1.2.1.37.1.1.1"; + } + + identity atmNoClpNoScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for no CLP + and no Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: not used + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.2"; + } + + identity atmClpNoTaggingNoScr { + base smiv2:object-identity; + status deprecated; + description + "This traffic descriptor is for CLP without + tagging and no Sustained Cell Rate. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: peak cell rate in cells/second + for CLP=0 traffic + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + smiv2:oid "1.3.6.1.2.1.37.1.1.3"; + } + + identity atmClpTaggingNoScr { + base smiv2:object-identity; + status deprecated; + description + "This traffic descriptor is for CLP with + tagging and no Sustained Cell Rate. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: peak cell rate in cells/second + for CLP=0 traffic, excess + tagged as CLP=1 + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + smiv2:oid "1.3.6.1.2.1.37.1.1.4"; + } + + identity atmNoClpScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for no CLP + with Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.5"; + } + + identity atmClpNoTaggingScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for CLP with + Sustained Cell Rate and no tagging. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.6"; + } + + identity atmClpTaggingScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for CLP with + tagging and Sustained Cell Rate. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic, excess tagged as + CLP=1 + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.7"; + } + + identity atmClpNoTaggingMcr { + base smiv2:object-identity; + description + "This traffic descriptor type is for CLP with + Minimum Cell Rate and no tagging. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: minimum cell rate in cells/second + Parameter 4: unused + Parameter 5: unused."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.8"; + } + + identity atmClpTransparentNoScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for the CLP- + transparent model and no Sustained Cell Rate. + The use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the CBR.1 conformance + definition. + + Connections specifying this traffic descriptor + type will be rejected at UNI 3.0 or UNI 3.1 + interfaces. For a similar traffic descriptor + type that can be accepted at UNI 3.0 and + UNI 3.1 interfaces, see atmNoClpNoScr."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.9"; + } + + identity atmClpTransparentScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for the CLP- + transparent model with Sustained Cell Rate. + The use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.1 conformance + definition. + + Connections specifying this traffic descriptor + type will be rejected at UNI 3.0 or UNI 3.1 + interfaces. For a similar traffic descriptor + type that can be accepted at UNI 3.0 and + UNI 3.1 interfaces, see atmNoClpScr."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.10"; + } + + identity atmNoClpTaggingNoScr { + base smiv2:object-identity; + description + "This traffic descriptor type is for no CLP + with tagging and no Sustained Cell Rate. The + use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the UBR.2 conformance + definition ."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.11"; + } + + identity atmNoClpNoScrCdvt { + base smiv2:object-identity; + description + "This traffic descriptor type is for no CLP + and no Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + CBR connections following the UNI 3.0/3.1 + conformance definition for PCR CLP=0+1. + These CBR connections differ from CBR.1 + connections in that the CLR objective + applies only to the CLP=0 cell flow. + + This traffic descriptor type is also + applicable to connections following the UBR.1 + conformance definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.12"; + } + + identity atmNoClpScrCdvt { + base smiv2:object-identity; + description + "This traffic descriptor type is for no CLP + with Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable + to VBR connections following the UNI 3.0/3.1 + conformance definition for PCR CLP=0+1 and + SCR CLP=0+1. These VBR connections + differ from VBR.1 connections in that + the CLR objective applies only to the CLP=0 + cell flow."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.13"; + } + + identity atmClpNoTaggingScrCdvt { + base smiv2:object-identity; + description + "This traffic descriptor type is for CLP with + Sustained Cell Rate and no tagging. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.2 conformance + definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.14"; + } + + identity atmClpTaggingScrCdvt { + base smiv2:object-identity; + description + "This traffic descriptor type is for CLP with + tagging and Sustained Cell Rate. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic, excess tagged as + CLP=1 + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.3 conformance + definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.15"; + } + + smiv2:alias "atmTrafficDescriptorTypes" { + smiv2:oid "1.3.6.1.2.1.37.1.1"; + } + + smiv2:alias "atmNoTrafficDescriptor" { + status deprecated; + description + "This identifies the no ATM traffic + descriptor type. Parameters 1, 2, 3, 4, + and 5 are not used. This traffic descriptor + type can be used for best effort traffic."; + smiv2:oid "1.3.6.1.2.1.37.1.1.1"; + } + + smiv2:alias "atmNoClpNoScr" { + description + "This traffic descriptor type is for no CLP + and no Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: not used + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.2"; + } + + smiv2:alias "atmClpNoTaggingNoScr" { + status deprecated; + description + "This traffic descriptor is for CLP without + tagging and no Sustained Cell Rate. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: peak cell rate in cells/second + for CLP=0 traffic + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + smiv2:oid "1.3.6.1.2.1.37.1.1.3"; + } + + smiv2:alias "atmClpTaggingNoScr" { + status deprecated; + description + "This traffic descriptor is for CLP with + tagging and no Sustained Cell Rate. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: peak cell rate in cells/second + for CLP=0 traffic, excess + tagged as CLP=1 + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used."; + smiv2:oid "1.3.6.1.2.1.37.1.1.4"; + } + + smiv2:alias "atmNoClpScr" { + description + "This traffic descriptor type is for no CLP + with Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.5"; + } + + smiv2:alias "atmClpNoTaggingScr" { + description + "This traffic descriptor type is for CLP with + Sustained Cell Rate and no tagging. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.6"; + } + + smiv2:alias "atmClpTaggingScr" { + description + "This traffic descriptor type is for CLP with + tagging and Sustained Cell Rate. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic, excess tagged as + CLP=1 + Parameter 3: maximum burst size in cells + Parameter 4: not used + Parameter 5: not used."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.7"; + } + + smiv2:alias "atmClpNoTaggingMcr" { + description + "This traffic descriptor type is for CLP with + Minimum Cell Rate and no tagging. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: minimum cell rate in cells/second + Parameter 4: unused + Parameter 5: unused."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994."; + smiv2:oid "1.3.6.1.2.1.37.1.1.8"; + } + + smiv2:alias "atmClpTransparentNoScr" { + description + "This traffic descriptor type is for the CLP- + transparent model and no Sustained Cell Rate. + The use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the CBR.1 conformance + definition. + + Connections specifying this traffic descriptor + type will be rejected at UNI 3.0 or UNI 3.1 + interfaces. For a similar traffic descriptor + type that can be accepted at UNI 3.0 and + UNI 3.1 interfaces, see atmNoClpNoScr."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.9"; + } + + smiv2:alias "atmClpTransparentScr" { + description + "This traffic descriptor type is for the CLP- + transparent model with Sustained Cell Rate. + The use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.1 conformance + definition. + + Connections specifying this traffic descriptor + type will be rejected at UNI 3.0 or UNI 3.1 + interfaces. For a similar traffic descriptor + type that can be accepted at UNI 3.0 and + UNI 3.1 interfaces, see atmNoClpScr."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.10"; + } + + smiv2:alias "atmNoClpTaggingNoScr" { + description + "This traffic descriptor type is for no CLP + with tagging and no Sustained Cell Rate. The + use of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the UBR.2 conformance + definition ."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.11"; + } + + smiv2:alias "atmNoClpNoScrCdvt" { + description + "This traffic descriptor type is for no CLP + and no Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: CDVT in tenths of microseconds + Parameter 3: not used + Parameter 4: not used + Parameter 5: not used. + + This traffic descriptor type is applicable to + CBR connections following the UNI 3.0/3.1 + conformance definition for PCR CLP=0+1. + These CBR connections differ from CBR.1 + connections in that the CLR objective + applies only to the CLP=0 cell flow. + + This traffic descriptor type is also + applicable to connections following the UBR.1 + conformance definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.12"; + } + + smiv2:alias "atmNoClpScrCdvt" { + description + "This traffic descriptor type is for no CLP + with Sustained Cell Rate. The use of the + parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0+1 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable + to VBR connections following the UNI 3.0/3.1 + conformance definition for PCR CLP=0+1 and + SCR CLP=0+1. These VBR connections + differ from VBR.1 connections in that + the CLR objective applies only to the CLP=0 + cell flow."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.13"; + } + + smiv2:alias "atmClpNoTaggingScrCdvt" { + description + "This traffic descriptor type is for CLP with + Sustained Cell Rate and no tagging. The use + of the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.2 conformance + definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.14"; + } + + smiv2:alias "atmClpTaggingScrCdvt" { + description + "This traffic descriptor type is for CLP with + tagging and Sustained Cell Rate. The use of + the parameter vector for this type: + Parameter 1: peak cell rate in cells/second + for CLP=0+1 traffic + Parameter 2: sustainable cell rate in cells/second + for CLP=0 traffic, excess tagged as + CLP=1 + Parameter 3: maximum burst size in cells + Parameter 4: CDVT in tenths of microseconds + Parameter 5: not used. + + This traffic descriptor type is applicable to + connections following the VBR.3 conformance + definition."; + reference + "ATM Forum,ATM User-Network Interface, + Version 3.0 (UNI 3.0) Specification, 1994. + ATM Forum, ATM User-Network Interface, + Version 3.1 (UNI 3.1) Specification, + November 1994. + ATM Forum, Traffic Management Specification, + Version 4.0, af-tm-0056.000, June 1996."; + smiv2:oid "1.3.6.1.2.1.37.1.1.15"; + } + + smiv2:alias "atmTCMIB" { + smiv2:oid "1.3.6.1.2.1.37.3"; + } + + smiv2:alias "atmObjectIdentities" { + smiv2:oid "1.3.6.1.2.1.37.3.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/BGP4-MIB.yang b/vendor/cisco/xe/17151/MIBS/BGP4-MIB.yang new file mode 100644 index 000000000..8757f1f94 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/BGP4-MIB.yang @@ -0,0 +1,866 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/BGP4-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang BGP4-MIB + * + * Do not edit. Edit the source file instead! + */ + +module BGP4-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB"; + prefix BGP4-MIB; + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF BGP Working Group"; + + contact + " John Chu (Editor) + Postal: IBM Corp. + P.O.Box 218 + Yorktown Heights, NY 10598 + US + + Tel: +1 914 945 3156 + Fax: +1 914 945 2141 + E-mail: jychu@watson.ibm.com"; + + description + "The MIB module for BGP-4."; + + revision 1994-05-05 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container BGP4-MIB { + config false; + + container bgp { + smiv2:oid "1.3.6.1.2.1.15"; + + leaf bgpVersion { + type binary { + length "1..255"; + } + description + "Vector of supported BGP protocol version + numbers. Each peer negotiates the version + from this vector. Versions are identified + via the string of bits contained within this + object. The first octet contains bits 0 to + 7, the second octet contains bits 8 to 15, + and so on, with the most significant bit + referring to the lowest bit number in the + octet (e.g., the MSB of the first octet + refers to bit 0). If a bit, i, is present + and set, then the version (i+1) of the BGP + is supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.1"; + } + + leaf bgpLocalAs { + type int32 { + range "0..65535"; + } + description + "The local autonomous system number."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.2"; + } + + leaf bgpIdentifier { + type inet:ipv4-address; + description + "The BGP Identifier of local system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.4"; + } + } + + container bgpPeerTable { + description + "BGP peer table. This table contains, + one entry per BGP peer, information about + the connections with BGP peers."; + smiv2:oid "1.3.6.1.2.1.15.3"; + + list bgpPeerEntry { + key "bgpPeerRemoteAddr"; + description + "Entry containing information about the + connection with a BGP peer."; + smiv2:oid "1.3.6.1.2.1.15.3.1"; + + leaf bgpPeerIdentifier { + type inet:ipv4-address; + description + "The BGP Identifier of this entry's BGP + peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.1"; + } + + leaf bgpPeerState { + type enumeration { + enum "idle" { + value "1"; + } + enum "connect" { + value "2"; + } + enum "active" { + value "3"; + } + enum "opensent" { + value "4"; + } + enum "openconfirm" { + value "5"; + } + enum "established" { + value "6"; + } + } + description + "The BGP peer connection state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.2"; + } + + leaf bgpPeerAdminStatus { + type enumeration { + enum "stop" { + value "1"; + } + enum "start" { + value "2"; + } + } + description + "The desired state of the BGP connection. + A transition from 'stop' to 'start' will + cause the BGP Start Event to be generated. + A transition from 'start' to 'stop' will + cause the BGP Stop Event to be generated. + This parameter can be used to restart BGP + peer connections. Care should be used in + providing write access to this object + without adequate authentication."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.3"; + } + + leaf bgpPeerNegotiatedVersion { + type int32; + description + "The negotiated version of BGP running + between the two peers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.4"; + } + + leaf bgpPeerLocalAddr { + type inet:ipv4-address; + description + "The local IP address of this entry's BGP + connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.5"; + } + + leaf bgpPeerLocalPort { + type int32 { + range "0..65535"; + } + description + "The local port for the TCP connection + between the BGP peers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.6"; + } + + leaf bgpPeerRemoteAddr { + type inet:ipv4-address; + description + "The remote IP address of this entry's BGP + peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.7"; + } + + leaf bgpPeerRemotePort { + type int32 { + range "0..65535"; + } + description + "The remote port for the TCP connection + between the BGP peers. Note that the + objects bgpPeerLocalAddr, + bgpPeerLocalPort, bgpPeerRemoteAddr and + bgpPeerRemotePort provide the appropriate + reference to the standard MIB TCP + connection table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.8"; + } + + leaf bgpPeerRemoteAs { + type int32 { + range "0..65535"; + } + description + "The remote autonomous system number."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.9"; + } + + leaf bgpPeerInUpdates { + type yang:counter32; + description + "The number of BGP UPDATE messages + received on this connection. This object + should be initialized to zero (0) when the + connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.10"; + } + + leaf bgpPeerOutUpdates { + type yang:counter32; + description + "The number of BGP UPDATE messages + transmitted on this connection. This + object should be initialized to zero (0) + when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.11"; + } + + leaf bgpPeerInTotalMessages { + type yang:counter32; + description + "The total number of messages received + from the remote peer on this connection. + This object should be initialized to zero + when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.12"; + } + + leaf bgpPeerOutTotalMessages { + type yang:counter32; + description + "The total number of messages transmitted to + the remote peer on this connection. This + object should be initialized to zero when + the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.13"; + } + + leaf bgpPeerLastError { + type binary { + length "2"; + } + description + "The last error code and subcode seen by this + peer on this connection. If no error has + occurred, this field is zero. Otherwise, the + first byte of this two byte OCTET STRING + contains the error code, and the second byte + contains the subcode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.14"; + } + + leaf bgpPeerFsmEstablishedTransitions { + type yang:counter32; + description + "The total number of times the BGP FSM + transitioned into the established state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.15"; + } + + leaf bgpPeerFsmEstablishedTime { + type yang:gauge32; + description + "This timer indicates how long (in + seconds) this peer has been in the + Established state or how long + since this peer was last in the + Established state. It is set to zero when + a new peer is configured or the router is + booted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.16"; + } + + leaf bgpPeerConnectRetryInterval { + type int32 { + range "1..65535"; + } + description + "Time interval in seconds for the + ConnectRetry timer. The suggested value + for this timer is 120 seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.17"; + } + + leaf bgpPeerHoldTime { + type int32 { + range "0|3..65535"; + } + description + "Time interval in seconds for the Hold + Timer established with the peer. The + value of this object is calculated by this + BGP speaker by using the smaller of the + value in bgpPeerHoldTimeConfigured and the + Hold Time received in the OPEN message. + This value must be at lease three seconds + if it is not zero (0) in which case the + Hold Timer has not been established with + the peer, or, the value of + bgpPeerHoldTimeConfigured is zero (0)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.18"; + } + + leaf bgpPeerKeepAlive { + type int32 { + range "0..21845"; + } + description + "Time interval in seconds for the KeepAlive + timer established with the peer. The value + of this object is calculated by this BGP + speaker such that, when compared with + bgpPeerHoldTime, it has the same + proportion as what + bgpPeerKeepAliveConfigured has when + compared with bgpPeerHoldTimeConfigured. + If the value of this object is zero (0), + it indicates that the KeepAlive timer has + not been established with the peer, or, + the value of bgpPeerKeepAliveConfigured is + zero (0)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.19"; + } + + leaf bgpPeerHoldTimeConfigured { + type int32 { + range "0|3..65535"; + } + description + "Time interval in seconds for the Hold Time + configured for this BGP speaker with this + peer. This value is placed in an OPEN + message sent to this peer by this BGP + speaker, and is compared with the Hold + Time field in an OPEN message received + from the peer when determining the Hold + Time (bgpPeerHoldTime) with the peer. + This value must not be less than three + seconds if it is not zero (0) in which + case the Hold Time is NOT to be + established with the peer. The suggested + value for this timer is 90 seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.20"; + } + + leaf bgpPeerKeepAliveConfigured { + type int32 { + range "0..21845"; + } + description + "Time interval in seconds for the + KeepAlive timer configured for this BGP + speaker with this peer. The value of this + object will only determine the + KEEPALIVE messages' frequency relative to + the value specified in + bgpPeerHoldTimeConfigured; the actual + time interval for the KEEPALIVE messages + is indicated by bgpPeerKeepAlive. A + reasonable maximum value for this timer + would be configured to be one + third of that of + bgpPeerHoldTimeConfigured. + If the value of this object is zero (0), + no periodical KEEPALIVE messages are sent + to the peer after the BGP connection has + been established. The suggested value for + this timer is 30 seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.21"; + } + + leaf bgpPeerMinASOriginationInterval { + type int32 { + range "1..65535"; + } + description + "Time interval in seconds for the + MinASOriginationInterval timer. + The suggested value for this timer is 15 + seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.22"; + } + + leaf bgpPeerMinRouteAdvertisementInterval { + type int32 { + range "1..65535"; + } + description + "Time interval in seconds for the + MinRouteAdvertisementInterval timer. + The suggested value for this timer is 30 + seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.15.3.1.23"; + } + + leaf bgpPeerInUpdateElapsedTime { + type yang:gauge32; + description + "Elapsed time in seconds since the last BGP + UPDATE message was received from the peer. + Each time bgpPeerInUpdates is incremented, + the value of this object is set to zero + (0)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.3.1.24"; + } + } + } + + container bgpRcvdPathAttrTable { + status obsolete; + description + "The BGP Received Path Attribute Table + contains information about paths to + destination networks received from all + peers running BGP version 3 or less."; + smiv2:oid "1.3.6.1.2.1.15.5"; + + list bgpPathAttrEntry { + key "bgpPathAttrDestNetwork bgpPathAttrPeer"; + status obsolete; + description + "Information about a path to a network."; + smiv2:oid "1.3.6.1.2.1.15.5.1"; + + leaf bgpPathAttrPeer { + type inet:ipv4-address; + status obsolete; + description + "The IP address of the peer where the path + information was learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.1"; + } + + leaf bgpPathAttrDestNetwork { + type inet:ipv4-address; + status obsolete; + description + "The address of the destination network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.2"; + } + + leaf bgpPathAttrOrigin { + type enumeration { + enum "igp" { + value "1"; + } + enum "egp" { + value "2"; + } + enum "incomplete" { + value "3"; + } + } + status obsolete; + description + "The ultimate origin of the path information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.3"; + } + + leaf bgpPathAttrASPath { + type binary { + length "2..255"; + } + status obsolete; + description + "The set of ASs that must be traversed to + reach the network. This object is + probably best represented as SEQUENCE OF + INTEGER. For SMI compatibility, though, + it is represented as OCTET STRING. Each + AS is represented as a pair of octets + according to the following algorithm: + + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255;"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.4"; + } + + leaf bgpPathAttrNextHop { + type inet:ipv4-address; + status obsolete; + description + "The address of the border router that + should be used for the destination + network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.5"; + } + + leaf bgpPathAttrInterASMetric { + type int32; + status obsolete; + description + "The optional inter-AS metric. If this + attribute has not been provided for this + route, the value for this object is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.5.1.6"; + } + } + } + + container bgp4PathAttrTable { + description + "The BGP-4 Received Path Attribute Table + contains information about paths to + destination networks received from all + BGP4 peers."; + smiv2:oid "1.3.6.1.2.1.15.6"; + + list bgp4PathAttrEntry { + key "bgp4PathAttrIpAddrPrefix bgp4PathAttrIpAddrPrefixLen bgp4PathAttrPeer"; + description + "Information about a path to a network."; + smiv2:oid "1.3.6.1.2.1.15.6.1"; + + leaf bgp4PathAttrPeer { + type inet:ipv4-address; + description + "The IP address of the peer where the path + information was learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.1"; + } + + leaf bgp4PathAttrIpAddrPrefixLen { + type int32 { + range "0..32"; + } + description + "Length in bits of the IP address prefix + in the Network Layer Reachability + Information field."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.2"; + } + + leaf bgp4PathAttrIpAddrPrefix { + type inet:ipv4-address; + description + "An IP address prefix in the Network Layer + Reachability Information field. This object + is an IP address containing the prefix with + length specified by + bgp4PathAttrIpAddrPrefixLen. + Any bits beyond the length specified by + bgp4PathAttrIpAddrPrefixLen are zeroed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.3"; + } + + leaf bgp4PathAttrOrigin { + type enumeration { + enum "igp" { + value "1"; + } + enum "egp" { + value "2"; + } + enum "incomplete" { + value "3"; + } + } + description + "The ultimate origin of the path + information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.4"; + } + + leaf bgp4PathAttrASPathSegment { + type binary { + length "2..255"; + } + description + "The sequence of AS path segments. Each AS + path segment is represented by a triple + . + + The type is a 1-octet field which has two + possible values: + 1 AS_SET: unordered set of ASs a + route in the UPDATE + message has traversed + 2 AS_SEQUENCE: ordered set of ASs + a route in the UPDATE + message has traversed. + + The length is a 1-octet field containing the + number of ASs in the value field. + + The value field contains one or more AS + numbers, each AS is represented in the octet + string as a pair of octets according to the + following algorithm: + + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255;"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.5"; + } + + leaf bgp4PathAttrNextHop { + type inet:ipv4-address; + description + "The address of the border router that + should be used for the destination + network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.6"; + } + + leaf bgp4PathAttrMultiExitDisc { + type int32 { + range "-1..2147483647"; + } + description + "This metric is used to discriminate + between multiple exit points to an + adjacent autonomous system. A value of -1 + indicates the absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.7"; + } + + leaf bgp4PathAttrLocalPref { + type int32 { + range "-1..2147483647"; + } + description + "The originating BGP4 speaker's degree of + preference for an advertised route. A + value of -1 indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.8"; + } + + leaf bgp4PathAttrAtomicAggregate { + type enumeration { + enum "lessSpecificRrouteNotSelected" { + value "1"; + } + enum "lessSpecificRouteSelected" { + value "2"; + } + } + description + "Whether or not the local system has + selected a less specific route without + selecting a more specific route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.9"; + } + + leaf bgp4PathAttrAggregatorAS { + type int32 { + range "0..65535"; + } + description + "The AS number of the last BGP4 speaker that + performed route aggregation. A value of + zero (0) indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.10"; + } + + leaf bgp4PathAttrAggregatorAddr { + type inet:ipv4-address; + description + "The IP address of the last BGP4 speaker + that performed route aggregation. A value + of 0.0.0.0 indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.11"; + } + + leaf bgp4PathAttrCalcLocalPref { + type int32 { + range "-1..2147483647"; + } + description + "The degree of preference calculated by the + receiving BGP4 speaker for an advertised + route. A value of -1 indicates the + absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.12"; + } + + leaf bgp4PathAttrBest { + type enumeration { + enum "false" { + value "1"; + } + enum "true" { + value "2"; + } + } + description + "An indication of whether or not this route + was chosen as the best BGP4 route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.13"; + } + + leaf bgp4PathAttrUnknown { + type binary { + length "0..255"; + } + description + "One or more path attributes not understood + by this BGP4 speaker. Size zero (0) + indicates the absence of such + attribute(s). Octets beyond the maximum + size, if any, are not recorded by this + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.15.6.1.14"; + } + } + } + } + + notification bgpEstablished { + description + "The BGP Established event is generated when + the BGP FSM enters the ESTABLISHED state."; + smiv2:oid "1.3.6.1.2.1.15.7.1"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerLastError { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerLastError"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerState { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerState"; + } + } + } + } + + notification bgpBackwardTransition { + description + "The BGPBackwardTransition Event is generated + when the BGP FSM moves from a higher numbered + state to a lower numbered state."; + smiv2:oid "1.3.6.1.2.1.15.7.2"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerLastError { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerLastError"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerState { + type leafref { + path "/BGP4-MIB:BGP4-MIB/BGP4-MIB:bgpPeerTable/BGP4-MIB:bgpPeerEntry/BGP4-MIB:bgpPeerState"; + } + } + } + } + + smiv2:alias "bgp" { + smiv2:oid "1.3.6.1.2.1.15"; + } + + smiv2:alias "bgpTraps" { + smiv2:oid "1.3.6.1.2.1.15.7"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/BRIDGE-MIB.yang b/vendor/cisco/xe/17151/MIBS/BRIDGE-MIB.yang new file mode 100644 index 000000000..94bacee29 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/BRIDGE-MIB.yang @@ -0,0 +1,1134 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/BRIDGE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang BRIDGE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module BRIDGE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB"; + prefix BRIDGE-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Bridge MIB Working Group"; + + contact + "Email: bridge-mib@ietf.org + + K.C. Norseth (Editor) + L-3 Communications + Tel: +1 801-594-2809 + Email: kenyon.c.norseth@L-3com.com + Postal: 640 N. 2200 West. + Salt Lake City, Utah 84116-0850 + + Les Bell (Editor) + 3Com Europe Limited + Phone: +44 1442 438025 + Email: elbell@ntlworld.com + Postal: 3Com Centre, Boundary Way + Hemel Hempstead + Herts. HP2 7YU + UK + + Send comments to "; + + description + "The Bridge MIB module for managing devices that support + IEEE 802.1D. + + Copyright (C) The Internet Society (2005). This version of + this MIB module is part of RFC 4188; see the RFC itself for + full legal notices."; + + revision 2005-09-19 { + description + "Third revision, published as part of RFC 4188. + + The MIB module has been converted to SMIv2 format. + Conformance statements have been added and some + description and reference clauses have been updated. + + The object dot1dStpPortPathCost32 was added to + support IEEE 802.1t and the permissible values of + dot1dStpPriority and dot1dStpPortPriority have been + clarified for bridges supporting IEEE 802.1t or + IEEE 802.1w. + + The interpretation of dot1dStpTimeSinceTopologyChange + has been clarified for bridges supporting the Rapid + Spanning Tree Protocol (RSTP)."; + } + + revision 1993-07-31 { + description + "Second revision, published as part of RFC 1493."; + } + + revision 1991-12-31 { + description + "Initial revision, published as part of RFC 1286."; + } + + typedef BridgeId { + type binary { + length "8"; + } + description + "The Bridge-Identifier, as used in the Spanning Tree + Protocol, to uniquely identify a bridge. Its first two + octets (in network byte order) contain a priority value, + and its last 6 octets contain the MAC address used to + refer to a bridge in a unique fashion (typically, the + numerically smallest MAC address of all ports on the + bridge)."; + } + + typedef Timeout { + type int32; + description + "A Spanning Tree Protocol (STP) timer in units of 1/100 + seconds. Several objects in this MIB module represent + values of timers used by the Spanning Tree Protocol. + In this MIB, these timers have values in units of + hundredths of a second (i.e., 1/100 secs). + + These timers, when stored in a Spanning Tree Protocol's + BPDU, are in units of 1/256 seconds. Note, however, that + 802.1D-1998 specifies a settable granularity of no more + than one second for these timers. To avoid ambiguity, + a conversion algorithm is defined below for converting + between the different units, which ensures a timer's + value is not distorted by multiple conversions. + + To convert a Timeout value into a value in units of + 1/256 seconds, the following algorithm should be used: + + b = floor( (n * 256) / 100) + + where: + floor = quotient [ignore remainder] + n is the value in 1/100 second units + b is the value in 1/256 second units + + To convert the value from 1/256 second units back to + 1/100 seconds, the following algorithm should be used: + + n = ceiling( (b * 100) / 256) + + where: + ceiling = quotient [if remainder is 0], or + quotient + 1 [if remainder is nonzero] + n is the value in 1/100 second units + + b is the value in 1/256 second units + + Note: it is important that the arithmetic operations are + done in the order specified (i.e., multiply first, + divide second)."; + smiv2:display-hint "d"; + } + + + container BRIDGE-MIB { + config false; + + container dot1dBase { + smiv2:oid "1.3.6.1.2.1.17.1"; + + leaf dot1dBaseBridgeAddress { + type yang:mac-address; + description + "The MAC address used by this bridge when it must be + referred to in a unique fashion. It is recommended + that this be the numerically smallest MAC address of + all ports that belong to this bridge. However, it is only + + required to be unique. When concatenated with + dot1dStpPriority, a unique BridgeIdentifier is formed, + which is used in the Spanning Tree Protocol."; + reference + "IEEE 802.1D-1998: clauses 14.4.1.1.3 and 7.12.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.1"; + } + + leaf dot1dBaseNumPorts { + type int32; + units "ports"; + description + "The number of ports controlled by this bridging + entity."; + reference + "IEEE 802.1D-1998: clause 14.4.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.2"; + } + + leaf dot1dBaseType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "transparent-only" { + value "2"; + } + enum "sourceroute-only" { + value "3"; + } + enum "srt" { + value "4"; + } + } + description + "Indicates what type of bridging this bridge can + perform. If a bridge is actually performing a + certain type of bridging, this will be indicated by + entries in the port table for the given type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.3"; + } + } + + container dot1dStp { + smiv2:oid "1.3.6.1.2.1.17.2"; + + leaf dot1dStpProtocolSpecification { + type enumeration { + enum "unknown" { + value "1"; + } + enum "decLb100" { + value "2"; + } + enum "ieee8021d" { + value "3"; + } + } + description + "An indication of what version of the Spanning Tree + Protocol is being run. The value 'decLb100(2)' + indicates the DEC LANbridge 100 Spanning Tree protocol. + IEEE 802.1D implementations will return 'ieee8021d(3)'. + If future versions of the IEEE Spanning Tree Protocol + that are incompatible with the current version + are released a new value will be defined."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.1"; + } + + leaf dot1dStpPriority { + type int32 { + range "0..65535"; + } + description + "The value of the write-able portion of the Bridge ID + (i.e., the first two octets of the (8 octet long) Bridge + ID). The other (last) 6 octets of the Bridge ID are + given by the value of dot1dBaseBridgeAddress. + On bridges supporting IEEE 802.1t or IEEE 802.1w, + permissible values are 0-61440, in steps of 4096."; + reference + "IEEE 802.1D-1998 clause 8.10.2, Table 8-4, + IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.2"; + } + + leaf dot1dStpTimeSinceTopologyChange { + type yang:timeticks; + units "centi-seconds"; + description + "The time (in hundredths of a second) since the + last time a topology change was detected by the + bridge entity. + For RSTP, this reports the time since the tcWhile + timer for any port on this Bridge was nonzero."; + reference + "IEEE 802.1D-1998 clause 14.8.1.1., + IEEE 802.1w clause 14.8.1.1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.3"; + } + + leaf dot1dStpTopChanges { + type yang:counter32; + description + "The total number of topology changes detected by + this bridge since the management entity was last + reset or initialized."; + reference + "IEEE 802.1D-1998 clause 14.8.1.1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.4"; + } + + leaf dot1dStpDesignatedRoot { + type BRIDGE-MIB:BridgeId; + description + "The bridge identifier of the root of the spanning + tree, as determined by the Spanning Tree Protocol, + as executed by this node. This value is used as + the Root Identifier parameter in all Configuration + Bridge PDUs originated by this node."; + reference + "IEEE 802.1D-1998: clause 8.5.3.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.5"; + } + + leaf dot1dStpRootCost { + type int32; + description + "The cost of the path to the root as seen from + this bridge."; + reference + "IEEE 802.1D-1998: clause 8.5.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.6"; + } + + leaf dot1dStpRootPort { + type int32; + description + "The port number of the port that offers the lowest + cost path from this bridge to the root bridge."; + reference + "IEEE 802.1D-1998: clause 8.5.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.7"; + } + + leaf dot1dStpMaxAge { + type BRIDGE-MIB:Timeout; + units "centi-seconds"; + description + "The maximum age of Spanning Tree Protocol information + learned from the network on any port before it is + discarded, in units of hundredths of a second. This is + the actual value that this bridge is currently using."; + reference + "IEEE 802.1D-1998: clause 8.5.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.8"; + } + + leaf dot1dStpHelloTime { + type BRIDGE-MIB:Timeout; + units "centi-seconds"; + description + "The amount of time between the transmission of + Configuration bridge PDUs by this node on any port when + it is the root of the spanning tree, or trying to become + so, in units of hundredths of a second. This is the + actual value that this bridge is currently using."; + reference + "IEEE 802.1D-1998: clause 8.5.3.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.9"; + } + + leaf dot1dStpHoldTime { + type int32; + units "centi-seconds"; + description + "This time value determines the interval length + during which no more than two Configuration bridge + PDUs shall be transmitted by this node, in units + of hundredths of a second."; + reference + "IEEE 802.1D-1998: clause 8.5.3.14"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.10"; + } + + leaf dot1dStpForwardDelay { + type BRIDGE-MIB:Timeout; + units "centi-seconds"; + description + "This time value, measured in units of hundredths of a + second, controls how fast a port changes its spanning + state when moving towards the Forwarding state. The + value determines how long the port stays in each of the + Listening and Learning states, which precede the + Forwarding state. This value is also used when a + topology change has been detected and is underway, to + age all dynamic entries in the Forwarding Database. + [Note that this value is the one that this bridge is + currently using, in contrast to + dot1dStpBridgeForwardDelay, which is the value that this + bridge and all others would start using if/when this + bridge were to become the root.]"; + reference + "IEEE 802.1D-1998: clause 8.5.3.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.11"; + } + + leaf dot1dStpBridgeMaxAge { + type BRIDGE-MIB:Timeout { + range "600..4000"; + } + units "centi-seconds"; + description + "The value that all bridges use for MaxAge when this + bridge is acting as the root. Note that 802.1D-1998 + specifies that the range for this parameter is related + to the value of dot1dStpBridgeHelloTime. The + granularity of this timer is specified by 802.1D-1998 to + be 1 second. An agent may return a badValue error if a + set is attempted to a value that is not a whole number + of seconds."; + reference + "IEEE 802.1D-1998: clause 8.5.3.8"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.12"; + } + + leaf dot1dStpBridgeHelloTime { + type BRIDGE-MIB:Timeout { + range "100..1000"; + } + units "centi-seconds"; + description + "The value that all bridges use for HelloTime when this + bridge is acting as the root. The granularity of this + timer is specified by 802.1D-1998 to be 1 second. An + agent may return a badValue error if a set is attempted + + to a value that is not a whole number of seconds."; + reference + "IEEE 802.1D-1998: clause 8.5.3.9"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.13"; + } + + leaf dot1dStpBridgeForwardDelay { + type BRIDGE-MIB:Timeout { + range "400..3000"; + } + units "centi-seconds"; + description + "The value that all bridges use for ForwardDelay when + this bridge is acting as the root. Note that + 802.1D-1998 specifies that the range for this parameter + is related to the value of dot1dStpBridgeMaxAge. The + granularity of this timer is specified by 802.1D-1998 to + be 1 second. An agent may return a badValue error if a + set is attempted to a value that is not a whole number + of seconds."; + reference + "IEEE 802.1D-1998: clause 8.5.3.10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.14"; + } + } + + container dot1dTp { + smiv2:oid "1.3.6.1.2.1.17.4"; + + leaf dot1dTpLearnedEntryDiscards { + type yang:counter32; + description + "The total number of Forwarding Database entries that + have been or would have been learned, but have been + discarded due to a lack of storage space in the + Forwarding Database. If this counter is increasing, it + indicates that the Forwarding Database is regularly + becoming full (a condition that has unpleasant + performance effects on the subnetwork). If this counter + has a significant value but is not presently increasing, + it indicates that the problem has been occurring but is + not persistent."; + reference + "IEEE 802.1D-1998: clause 14.7.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.1"; + } + + leaf dot1dTpAgingTime { + type int32 { + range "10..1000000"; + } + units "seconds"; + description + "The timeout period in seconds for aging out + dynamically-learned forwarding information. + 802.1D-1998 recommends a default of 300 seconds."; + reference + "IEEE 802.1D-1998: clause 14.7.1.1.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.4.2"; + } + } + + container dot1dBasePortTable { + description + "A table that contains generic information about every + port that is associated with this bridge. Transparent, + source-route, and srt ports are included."; + smiv2:oid "1.3.6.1.2.1.17.1.4"; + + list dot1dBasePortEntry { + key "dot1dBasePort"; + description + "A list of information for each port of the bridge."; + reference + "IEEE 802.1D-1998: clause 14.4.2, 14.6.1"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1"; + + leaf dot1dBasePort { + type int32 { + range "1..65535"; + } + description + "The port number of the port for which this entry + contains bridge management information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1.1"; + } + + leaf dot1dBasePortIfIndex { + type if-mib:InterfaceIndex; + description + "The value of the instance of the ifIndex object, + defined in IF-MIB, for the interface corresponding + to this port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1.2"; + } + + leaf dot1dBasePortCircuit { + type yang:object-identifier-128; + description + "For a port that (potentially) has the same value of + dot1dBasePortIfIndex as another port on the same bridge. + This object contains the name of an object instance + unique to this port. For example, in the case where + multiple ports correspond one-to-one with multiple X.25 + virtual circuits, this value might identify an (e.g., + the first) object instance associated with the X.25 + virtual circuit corresponding to this port. + + For a port which has a unique value of + dot1dBasePortIfIndex, this object can have the value + { 0 0 }."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1.3"; + } + + leaf dot1dBasePortDelayExceededDiscards { + type yang:counter32; + description + "The number of frames discarded by this port due + to excessive transit delay through the bridge. It + is incremented by both transparent and source + route bridges."; + reference + "IEEE 802.1D-1998: clause 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1.4"; + } + + leaf dot1dBasePortMtuExceededDiscards { + type yang:counter32; + description + "The number of frames discarded by this port due + to an excessive size. It is incremented by both + transparent and source route bridges."; + reference + "IEEE 802.1D-1998: clause 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.1.4.1.5"; + } + } + } + + container dot1dStpPortTable { + description + "A table that contains port-specific information + for the Spanning Tree Protocol."; + smiv2:oid "1.3.6.1.2.1.17.2.15"; + + list dot1dStpPortEntry { + key "dot1dStpPort"; + description + "A list of information maintained by every port about + the Spanning Tree Protocol state for that port."; + smiv2:oid "1.3.6.1.2.1.17.2.15.1"; + + leaf dot1dStpPort { + type int32 { + range "1..65535"; + } + description + "The port number of the port for which this entry + contains Spanning Tree Protocol management information."; + reference + "IEEE 802.1D-1998: clause 14.8.2.1.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.1"; + } + + leaf dot1dStpPortPriority { + type int32 { + range "0..255"; + } + description + "The value of the priority field that is contained in + the first (in network byte order) octet of the (2 octet + long) Port ID. The other octet of the Port ID is given + by the value of dot1dStpPort. + On bridges supporting IEEE 802.1t or IEEE 802.1w, + permissible values are 0-240, in steps of 16."; + reference + "IEEE 802.1D-1998 clause 8.10.2, Table 8-4, + + IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.2"; + } + + leaf dot1dStpPortState { + type enumeration { + enum "disabled" { + value "1"; + } + enum "blocking" { + value "2"; + } + enum "listening" { + value "3"; + } + enum "learning" { + value "4"; + } + enum "forwarding" { + value "5"; + } + enum "broken" { + value "6"; + } + } + description + "The port's current state, as defined by application of + the Spanning Tree Protocol. This state controls what + action a port takes on reception of a frame. If the + bridge has detected a port that is malfunctioning, it + will place that port into the broken(6) state. For + ports that are disabled (see dot1dStpPortEnable), this + object will have a value of disabled(1)."; + reference + "IEEE 802.1D-1998: clause 8.5.5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.3"; + } + + leaf dot1dStpPortEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "The enabled/disabled status of the port."; + reference + "IEEE 802.1D-1998: clause 8.5.5.2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.4"; + } + + leaf dot1dStpPortPathCost { + type int32 { + range "1..65535"; + } + description + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1998 recommends that the default + value of this parameter be in inverse proportion to + + the speed of the attached LAN. + + New implementations should support dot1dStpPortPathCost32. + If the port path costs exceeds the maximum value of this + object then this object should report the maximum value, + namely 65535. Applications should try to read the + dot1dStpPortPathCost32 object if this object reports + the maximum value."; + reference + "IEEE 802.1D-1998: clause 8.5.5.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.5"; + } + + leaf dot1dStpPortDesignatedRoot { + type BRIDGE-MIB:BridgeId; + description + "The unique Bridge Identifier of the Bridge + recorded as the Root in the Configuration BPDUs + transmitted by the Designated Bridge for the + segment to which the port is attached."; + reference + "IEEE 802.1D-1998: clause 8.5.5.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.6"; + } + + leaf dot1dStpPortDesignatedCost { + type int32; + description + "The path cost of the Designated Port of the segment + connected to this port. This value is compared to the + Root Path Cost field in received bridge PDUs."; + reference + "IEEE 802.1D-1998: clause 8.5.5.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.7"; + } + + leaf dot1dStpPortDesignatedBridge { + type BRIDGE-MIB:BridgeId; + description + "The Bridge Identifier of the bridge that this + port considers to be the Designated Bridge for + this port's segment."; + reference + "IEEE 802.1D-1998: clause 8.5.5.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.8"; + } + + leaf dot1dStpPortDesignatedPort { + type binary { + length "2"; + } + description + "The Port Identifier of the port on the Designated + Bridge for this port's segment."; + reference + "IEEE 802.1D-1998: clause 8.5.5.7"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.9"; + } + + leaf dot1dStpPortForwardTransitions { + type yang:counter32; + description + "The number of times this port has transitioned + from the Learning state to the Forwarding state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.10"; + } + + leaf dot1dStpPortPathCost32 { + type int32 { + range "1..200000000"; + } + description + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1998 recommends that the default + value of this parameter be in inverse proportion to + the speed of the attached LAN. + + This object replaces dot1dStpPortPathCost to support + IEEE 802.1t."; + reference + "IEEE 802.1t clause 8.10.2, Table 8-5."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.2.15.1.11"; + } + } + } + + container dot1dTpFdbTable { + description + "A table that contains information about unicast + entries for which the bridge has forwarding and/or + filtering information. This information is used + by the transparent bridging function in + determining how to propagate a received frame."; + smiv2:oid "1.3.6.1.2.1.17.4.3"; + + list dot1dTpFdbEntry { + key "dot1dTpFdbAddress"; + description + "Information about a specific unicast MAC address + for which the bridge has some forwarding and/or + filtering information."; + smiv2:oid "1.3.6.1.2.1.17.4.3.1"; + + leaf dot1dTpFdbAddress { + type yang:mac-address; + description + "A unicast MAC address for which the bridge has + forwarding and/or filtering information."; + reference + "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.3.1.1"; + } + + leaf dot1dTpFdbPort { + type int32; + description + "Either the value '0', or the port number of the port on + which a frame having a source address equal to the value + of the corresponding instance of dot1dTpFdbAddress has + been seen. A value of '0' indicates that the port + number has not been learned, but that the bridge does + have some forwarding/filtering information about this + address (e.g., in the dot1dStaticTable). Implementors + are encouraged to assign the port value to this object + whenever it is learned, even for addresses for which the + corresponding value of dot1dTpFdbStatus is not + learned(3)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.3.1.2"; + } + + leaf dot1dTpFdbStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "learned" { + value "3"; + } + enum "self" { + value "4"; + } + enum "mgmt" { + value "5"; + } + } + description + "The status of this entry. The meanings of the + values are: + other(1) - none of the following. This would + include the case where some other MIB object + (not the corresponding instance of + dot1dTpFdbPort, nor an entry in the + dot1dStaticTable) is being used to determine if + and how frames addressed to the value of the + corresponding instance of dot1dTpFdbAddress are + being forwarded. + invalid(2) - this entry is no longer valid (e.g., + it was learned but has since aged out), but has + not yet been flushed from the table. + learned(3) - the value of the corresponding instance + of dot1dTpFdbPort was learned, and is being + used. + self(4) - the value of the corresponding instance of + dot1dTpFdbAddress represents one of the bridge's + addresses. The corresponding instance of + dot1dTpFdbPort indicates which of the bridge's + ports has this address. + mgmt(5) - the value of the corresponding instance of + dot1dTpFdbAddress is also the value of an + existing instance of dot1dStaticAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.3.1.3"; + } + } + } + + container dot1dTpPortTable { + description + "A table that contains information about every port that + is associated with this transparent bridge."; + smiv2:oid "1.3.6.1.2.1.17.4.4"; + + list dot1dTpPortEntry { + key "dot1dTpPort"; + description + "A list of information for each port of a transparent + bridge."; + smiv2:oid "1.3.6.1.2.1.17.4.4.1"; + + leaf dot1dTpPort { + type int32 { + range "1..65535"; + } + description + "The port number of the port for which this entry + contains Transparent bridging management information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.4.1.1"; + } + + leaf dot1dTpPortMaxInfo { + type int32; + units "bytes"; + description + "The maximum size of the INFO (non-MAC) field that + + this port will receive or transmit."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.4.1.2"; + } + + leaf dot1dTpPortInFrames { + type yang:counter32; + units "frames"; + description + "The number of frames that have been received by this + port from its segment. Note that a frame received on the + interface corresponding to this port is only counted by + this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames."; + reference + "IEEE 802.1D-1998: clause 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.4.1.3"; + } + + leaf dot1dTpPortOutFrames { + type yang:counter32; + units "frames"; + description + "The number of frames that have been transmitted by this + port to its segment. Note that a frame transmitted on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames."; + reference + "IEEE 802.1D-1998: clause 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.4.1.4"; + } + + leaf dot1dTpPortInDiscards { + type yang:counter32; + units "frames"; + description + "Count of received valid frames that were discarded + (i.e., filtered) by the Forwarding Process."; + reference + "IEEE 802.1D-1998: clause 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.4.1.5"; + } + } + } + + container dot1dStaticTable { + description + "A table containing filtering information configured + into the bridge by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific destination + addresses are allowed to be forwarded. The value of + zero in this table, as the port number from which frames + with a specific destination address are received, is + used to specify all ports for which there is no specific + entry in this table for that particular destination + address. Entries are valid for unicast and for + group/broadcast addresses."; + reference + "IEEE 802.1D-1998: clause 14.7.2"; + smiv2:oid "1.3.6.1.2.1.17.5.1"; + + list dot1dStaticEntry { + key "dot1dStaticAddress dot1dStaticReceivePort"; + description + "Filtering information configured into the bridge by + (local or network) management specifying the set of + ports to which frames received from a specific port and + containing a specific destination address are allowed to + be forwarded."; + reference + "IEEE 802.1D-1998: clause 14.7.2"; + smiv2:oid "1.3.6.1.2.1.17.5.1.1"; + + leaf dot1dStaticAddress { + type yang:mac-address; + description + "The destination MAC address in a frame to which this + entry's filtering information applies. This object can + take the value of a unicast address, a group address, or + the broadcast address."; + reference + "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.5.1.1.1"; + } + + leaf dot1dStaticReceivePort { + type int32 { + range "0..65535"; + } + description + "Either the value '0', or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + bridge for which there is no other applicable entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.5.1.1.2"; + } + + leaf dot1dStaticAllowedToGoTo { + type binary { + length "0..512"; + } + description + "The set of ports to which frames received from a + specific port and destined for a specific MAC address, + are allowed to be forwarded. Each octet within the + value of this object specifies a set of eight ports, + with the first octet specifying ports 1 through 8, the + second octet specifying ports 9 through 16, etc. Within + each octet, the most significant bit represents the + lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1', + then that port is included in the set of ports; the port + is not included if its bit has a value of '0'. (Note + that the setting of the bit corresponding to the port + from which a frame is received is irrelevant.) The + default value of this object is a string of ones of + appropriate length. + + The value of this object may exceed the required minimum + maximum message size of some SNMP transport (484 bytes, + in the case of SNMP over UDP, see RFC 3417, section 3.2). + SNMP engines on bridges supporting a large number of + ports must support appropriate maximum message sizes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.5.1.1.3"; + } + + leaf dot1dStaticStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "permanent" { + value "3"; + } + enum "deleteOnReset" { + value "4"; + } + enum "deleteOnTimeout" { + value "5"; + } + } + description + "This object indicates the status of this entry. + The default value is permanent(3). + other(1) - this entry is currently in use but the + conditions under which it will remain so are + different from each of the following values. + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use and + will remain so after the next reset of the + bridge. + deleteOnReset(4) - this entry is currently in use + and will remain so until the next reset of the + bridge. + deleteOnTimeout(5) - this entry is currently in use + and will remain so until it is aged out."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.5.1.1.4"; + } + } + } + } + + notification newRoot { + description + "The newRoot trap indicates that the sending agent has + become the new root of the Spanning Tree; the trap is + sent by a bridge soon after its election as the new + + root, e.g., upon expiration of the Topology Change Timer, + immediately subsequent to its election. Implementation + of this trap is optional."; + smiv2:oid "1.3.6.1.2.1.17.0.1"; + } + + notification topologyChange { + description + "A topologyChange trap is sent by a bridge when any of + its configured ports transitions from the Learning state + to the Forwarding state, or from the Forwarding state to + the Blocking state. The trap is not sent if a newRoot + trap is sent for the same transition. Implementation of + this trap is optional."; + smiv2:oid "1.3.6.1.2.1.17.0.2"; + } + + smiv2:alias "dot1dBridge" { + smiv2:oid "1.3.6.1.2.1.17"; + } + + smiv2:alias "dot1dNotifications" { + smiv2:oid "1.3.6.1.2.1.17.0"; + } + + smiv2:alias "dot1dBase" { + smiv2:oid "1.3.6.1.2.1.17.1"; + } + + smiv2:alias "dot1dStp" { + smiv2:oid "1.3.6.1.2.1.17.2"; + } + + smiv2:alias "dot1dSr" { + smiv2:oid "1.3.6.1.2.1.17.3"; + } + + smiv2:alias "dot1dTp" { + smiv2:oid "1.3.6.1.2.1.17.4"; + } + + smiv2:alias "dot1dStatic" { + smiv2:oid "1.3.6.1.2.1.17.5"; + } + + smiv2:alias "dot1dConformance" { + smiv2:oid "1.3.6.1.2.1.17.8"; + } + + smiv2:alias "dot1dGroups" { + smiv2:oid "1.3.6.1.2.1.17.8.1"; + } + + smiv2:alias "dot1dCompliances" { + smiv2:oid "1.3.6.1.2.1.17.8.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SERVER-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SERVER-MIB.yang new file mode 100644 index 000000000..909c94cd9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SERVER-MIB.yang @@ -0,0 +1,865 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-AAA-SERVER-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-AAA-SERVER-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-AAA-SERVER-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB"; + prefix CISCO-AAA-SERVER-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-aaa@cisco.com"; + + description + "The MIB module for monitoring communications and status + of AAA Server operation"; + + revision 2003-11-17 { + description + "Expanded the list of AAA protocols to include LDAP, + Kerberos, NTLM and SDI; defined textual convention + CiscoAAAProtocol to denote the type of AAA protocols."; + } + + revision 2002-03-28 { + description + "Imported Unsigned32 from SNMPv2-SMI instead of + CISCO-TC"; + } + + revision 2000-01-20 { + description + "Added objects to support AAA server configuration + casConfigTable + casProtocol + casIndex + casAddress + casAuthenPort + casAcctPort + casConfigRowStatus"; + } + + typedef CiscoAAAProtocol { + type enumeration { + enum "tacacsplus" { + value "1"; + } + enum "radius" { + value "2"; + } + enum "ldap" { + value "3"; + } + enum "kerberos" { + value "4"; + } + enum "ntlm" { + value "5"; + } + enum "sdi" { + value "6"; + } + enum "other" { + value "7"; + } + } + description + "Protocol used with this server. + tacacsplus(1) - TACACS+ + + radius(2) - RADIUS + + ldap(3) - Light Weight Directory Protocol + + kerberos(4) - Kerberos + + ntlm(5) - Authentication/Authorization using + NT Domain + + sdi(6) - Authentication/Authorization using + Secure ID + + other(7) - Other protocols"; + reference + " + RFC 2138 Remote Authentication Dial In User Service + (RADIUS) + RFC 2139 RADIUS Accounting + The TACACS+ Protocol Version 1.78, Internet Draft"; + } + + + container CISCO-AAA-SERVER-MIB { + config false; + + container casConfig { + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1"; + + leaf casServerStateChangeEnable { + type boolean; + description + "This variable controls the generation of + casServerStateChange notification. + + When this variable is true(1), generation of + casServerStateChange notifications is enabled. + When this variable is false(2), generation of + casServerStateChange notifications is disabled. + + The default value is false(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.1"; + } + } + + container casConfigTable { + description + "This table shows current configurations for each + AAA server, allows existing servers to be removed + and new ones to be created."; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2"; + + list casConfigEntry { + key "casProtocol casIndex"; + description + "An AAA server configuration identified by its protocol + and its index. + + An entry is created/removed when a server is defined + or undefined with IOS configuration commands via + CLI or by issuing appropriate sets to this table + using snmp. + + A management station wishing to create an entry should + first generate a random number to be used as the index + to this sparse table. The station should then create the + associated instance of the row status and row index objects. + It must also, either in the same or in successive PDUs, + create an instance of casAddress where casAddress is the + IP address of the server to be added. + + It should also modify the default values for casAuthenPort, + casAcctPort if the defaults are not appropriate. + + If casKey is a zero-length string or is not explicitly set, + then the global key will be used. Otherwise, this value + is used as the key for this server instance. + + Once the appropriate instance of all the configuration + objects have been created, either by an explicit SNMP set + request or by default, the row status should be set to + active(1) to initiate the request. + + After the AAA server is made active, the entry can not be + modified - the only allowed operation after this is to + destroy the entry by setting casConfigRowStatus to destroy(6). + + casPriority is automatically assigned once the entry is + made active and reflects the relative priority of the + defined server with respect to already configured servers. + Newly-created servers will be assigned the lowest priority. + To reassign server priorities to existing server entries, + it may be necessary to destroy and recreate entries in order + of priority. + + Entries in this table with casConfigRowStatus equal to + active(1) remain in the table until destroyed. + + Entries in this table with casConfigRowStatus equal to + values other than active(1) will be destroyed after timeout + (5 minutes). + + If a server address being created via SNMP exists already + in another active casConfigEntry, then a newly created row + can not be made active until the original row with the + with the same server address value is destroyed. + + Upon reload, casIndex values may be changed, but the + priorities that were saved before reload will be retained, + with lowest priority number corresponding to the higher + priority servers."; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1"; + + leaf casProtocol { + type CISCO-AAA-SERVER-MIB:CiscoAAAProtocol; + description + "The variable denotes the protocol used by the + managed device with the AAA server corresponding to + this entry in the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.1"; + } + + leaf casIndex { + type uint32 { + range "1..4294967295"; + } + description + "A management station wishing to initiate a new AAA server + configuration should use a random value for this object + when creating an instance of casConfigEntry. + + The RowStatus semantics of the casConfigRowStatus object + will prevent access conflicts. + + If the randomly chosen casIndex value for row creation + is already in use by an existing entry, snmp set to the + casIndex value will fail."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.2"; + } + + leaf casAddress { + type inet:ipv4-address; + description + "The IP address of the server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.3"; + } + + leaf casAuthenPort { + type int32 { + range "0..65535"; + } + description + "UDP/TCP port used for authentication in the configuration + + For TACACS+, this object should be explictly set. + + Default value is the IOS default for radius: 1645."; + smiv2:defval "1645"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.4"; + } + + leaf casAcctPort { + type int32 { + range "0..65535"; + } + description + "UDP/TCP port used for accounting service in the configuration + + For TACACS+, the value of casAcctPort is ignored. + casAuthenPort will be used instead. + + Default value is the IOS default for radius: 1646."; + smiv2:defval "1646"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.5"; + } + + leaf casKey { + type snmpv2-tc:DisplayString; + description + "The server key to be used with this server. + + Retrieving the value of this object via SNMP will + return an empty string for security reasons."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.6"; + } + + leaf casPriority { + type uint32 { + range "1..4294967295"; + } + description + "A number that indicates the priority of the server in + this entry. Lower numbers indicate higher priority."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.7"; + } + + leaf casConfigRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry. Once the entry status is + set to active, the associated entry cannot be modified + except destroyed by setting this object to destroy(6)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1.2.1.8"; + } + } + } + } + + smiv2:alias "casStatisticsTable" { + description + " + Table providing statistics for each server."; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1"; + } + + smiv2:alias "casStatisticsEntry" { + description + "Statistical information about a particular server. + + Objects in this table are read-only and appear + automatically whenever a row in the casConfigTable + is made active. + + Objects in this table disappear when casConfigRowStatus + for the corresponding casConfigEntry is set to the + destroy(6) state."; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1"; + } + + augment "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry" { + description + "Statistical information about a particular server. + + Objects in this table are read-only and appear + automatically whenever a row in the casConfigTable + is made active. + + Objects in this table disappear when casConfigRowStatus + for the corresponding casConfigEntry is set to the + destroy(6) state."; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1"; + + leaf casAuthenRequests { + type yang:counter32; + description + "The number of authentication requests sent to + this server since it is made active. + + Retransmissions due to request timeouts are + counted as distinct requests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.1"; + } + + leaf casAuthenRequestTimeouts { + type yang:counter32; + description + "The number of authentication requests which have + timed out since it is made active. + + A timeout results in a retransmission of the request + If the maximum number of attempts has been reached, + no further retransmissions will be attempted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.2"; + } + + leaf casAuthenUnexpectedResponses { + type yang:counter32; + description + "The number of unexpected authentication responses received + from this server since it is made active. + + An example is a delayed response to a request which had + already timed out."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.3"; + } + + leaf casAuthenServerErrorResponses { + type yang:counter32; + description + "The number of server ERROR authentication responses + received from this server since it is made active. + + These are responses indicating that the server itself + has identified an error with its authentication + operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.4"; + } + + leaf casAuthenIncorrectResponses { + type yang:counter32; + description + "The number of authentication responses which could not + be processed since it is made active. + + Reasons include inability to decrypt the response, + invalid fields, or the response is not valid based on + the request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.5"; + } + + leaf casAuthenResponseTime { + type snmpv2-tc:TimeInterval; + description + "Average response time for authentication requests sent + to this server, excluding timeouts, since system + re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.6"; + } + + leaf casAuthenTransactionSuccesses { + type yang:counter32; + description + "The number of authentication transactions with this + server which succeeded since it is made active. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction is successful if the server responds + with either an authentication pass or fail."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.7"; + } + + leaf casAuthenTransactionFailures { + type yang:counter32; + description + "The number of authentication transactions with this + server which failed since it is made active. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction failure occurs if maximum resends have + been met or the server aborts the transaction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.8"; + } + + leaf casAuthorRequests { + type yang:counter32; + description + "The number of authorization requests sent to + this server since it is made active. + + Retransmissions due to request timeouts are + counted as distinct requests. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.9"; + } + + leaf casAuthorRequestTimeouts { + type yang:counter32; + description + "The number of authorization requests which have + timed out since it is made active. + + A timeout results in a retransmission of the request + If the maximum number of attempts has been reached, + no further retransmissions will be attempted. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.10"; + } + + leaf casAuthorUnexpectedResponses { + type yang:counter32; + description + "The number of unexpected authorization responses received + from this server since it is made active. + + An example is a delayed response to a request which + had already timed out. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.11"; + } + + leaf casAuthorServerErrorResponses { + type yang:counter32; + description + "The number of server ERROR authorization responses + received from this server since it is made active. + + These are responses indicating that the server itself + has identified an error with its authorization + operation. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.12"; + } + + leaf casAuthorIncorrectResponses { + type yang:counter32; + description + "The number of authorization responses which could not + be processed since it is made active. + + Reasons include inability to decrypt the response, + invalid fields, or the response is not valid based on + the request. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.13"; + } + + leaf casAuthorResponseTime { + type snmpv2-tc:TimeInterval; + description + "Average response time for authorization requests sent + to this server, excluding timeouts, since system + re-initialization. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.14"; + } + + leaf casAuthorTransactionSuccesses { + type yang:counter32; + description + "The number of authorization transactions with this + server which succeeded since it is made active. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction is successful if the server responds + with either an authorization pass or fail. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.15"; + } + + leaf casAuthorTransactionFailures { + type yang:counter32; + description + "The number of authorization transactions with this + server which failed since it is made active. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction failure occurs if maximum resends have + been met or the server aborts the transaction. + + This object is not instantiated for protocols which do + not support a distinct authorization function."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.16"; + } + + leaf casAcctRequests { + type yang:counter32; + description + "The number of accounting requests sent to + this server since system re-initialization. + + Retransmissions due to request timeouts are + counted as distinct requests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.17"; + } + + leaf casAcctRequestTimeouts { + type yang:counter32; + description + "The number of accounting requests which have + timed out since system re-initialization. + + A timeout results in a retransmission of the request + If the maximum number of attempts has been reached, + no further retransmissions will be attempted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.18"; + } + + leaf casAcctUnexpectedResponses { + type yang:counter32; + description + "The number of unexpected accounting responses received + from this server since system re-initialization. + + An example is a delayed response to a request which had + already timed out."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.19"; + } + + leaf casAcctServerErrorResponses { + type yang:counter32; + description + "The number of server ERROR accounting responses received + from this server since system re-initialization. + + These are responses indicating that the server itself + has identified an error with its accounting + operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.20"; + } + + leaf casAcctIncorrectResponses { + type yang:counter32; + description + "The number of accounting responses which could not + be processed since system re-initialization. + + Reasons include inability to decrypt the response, + invalid fields, or the response is not valid based on + the request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.21"; + } + + leaf casAcctResponseTime { + type snmpv2-tc:TimeInterval; + description + "Average response time for accounting requests sent + to this server,, since system re-initialization + excluding timeouts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.22"; + } + + leaf casAcctTransactionSuccesses { + type yang:counter32; + description + "The number of accounting transactions with this + server which succeeded since system re-initialization. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction is successful if the server responds + with either an accounting pass or fail."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.23"; + } + + leaf casAcctTransactionFailures { + type yang:counter32; + description + "The number of accounting transactions with this + server which failed since system re-initialization. + + A transaction may include multiple request + retransmissions if timeouts occur. + + A transaction failure occurs if maximum resends have + been met or the server aborts the transaction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.24"; + } + + leaf casState { + type enumeration { + enum "up" { + value "1"; + } + enum "dead" { + value "2"; + } + } + description + "Current state of this server. + + up(1) - Server responding to requests + + dead(2) - Server failed to respond + + A server is marked dead if it does not respond after + maximum retransmissions. + + A server is marked up again either after a waiting + period or if some response is received from it. + + The initial value of casState is 'up(1)' at system + re-initialization. This will only transistion to 'dead(2)' + if an attempt to communicate fails."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.25"; + } + + leaf casCurrentStateDuration { + type snmpv2-tc:TimeInterval; + description + "This object provides the elapsed time the server has + been in its current state as shown in casState."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.26"; + } + + leaf casPreviousStateDuration { + type snmpv2-tc:TimeInterval; + description + "This object provides the elapsed time the server was + been in its previous state prior to the most recent + transistion of casState. + + This value is zero if the server has not changed state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.27"; + } + + leaf casTotalDeadTime { + type snmpv2-tc:TimeInterval; + description + "The total elapsed time this server's casState has + had the value 'dead(2)' since system re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.28"; + } + + leaf casDeadCount { + type yang:counter32; + description + "The number of times this server's casState has + transitioned to 'dead(2)' since system re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2.1.1.29"; + } + } + + notification casServerStateChange { + description + "An AAA server state change notification is generated + whenever casState changes value."; + smiv2:oid "1.3.6.1.4.1.9.10.56.2.0.1"; + + container object-1 { + + leaf casProtocol { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casProtocol"; + } + } + + leaf casIndex { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casIndex"; + } + } + + leaf casState { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casState"; + } + } + } + + container object-2 { + + leaf casProtocol { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casProtocol"; + } + } + + leaf casIndex { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casIndex"; + } + } + + leaf casPreviousStateDuration { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casPreviousStateDuration"; + } + } + } + + container object-3 { + + leaf casProtocol { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casProtocol"; + } + } + + leaf casIndex { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casIndex"; + } + } + + leaf casTotalDeadTime { + type leafref { + path "/CISCO-AAA-SERVER-MIB:CISCO-AAA-SERVER-MIB/CISCO-AAA-SERVER-MIB:casConfigTable/CISCO-AAA-SERVER-MIB:casConfigEntry/CISCO-AAA-SERVER-MIB:casTotalDeadTime"; + } + } + } + } + + smiv2:alias "ciscoAAAServerMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.56"; + } + + smiv2:alias "cAAAServerMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.56.1"; + } + + smiv2:alias "casConfig" { + smiv2:oid "1.3.6.1.4.1.9.10.56.1.1"; + } + + smiv2:alias "casStatistics" { + smiv2:oid "1.3.6.1.4.1.9.10.56.1.2"; + } + + smiv2:alias "cAAAServerMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.56.2"; + } + + smiv2:alias "cAAAServerMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.56.2.0"; + } + + smiv2:alias "cAAAServerMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.56.3"; + } + + smiv2:alias "casMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.56.3.1"; + } + + smiv2:alias "casMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.56.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SESSION-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SESSION-MIB.yang new file mode 100644 index 000000000..d4b3f81f2 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-AAA-SESSION-MIB.yang @@ -0,0 +1,352 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-AAA-SESSION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-AAA-SESSION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-AAA-SESSION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB"; + prefix CISCO-AAA-SESSION-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-aaa@cisco.com"; + + description + "This MIB module provides data for accounting sessions + based on Authentication, Authorization, Accounting + (AAA) protocols. + + + References: + RFC 2139 RADIUS Accounting + The TACACS+ Protocol Version 1.78, Internet Draft"; + + revision 2006-03-21 { + description + "Added the casnNasPort and casnVaiIfIndex objects to the + casnActiveTable."; + } + + revision 2002-04-11 { + description + "Imported Unsigned32 from SNMPv2-SMI instead of CISCO-TC"; + } + + revision 1999-11-16 { + description + "Initial version"; + } + + typedef CctCallId { + type uint32; + description + "Represents a Call Identifier. + The call identifier is used as an unique identifier for an + call within the system. + + A zero value indicates no call ID."; + } + + typedef CasnSessionId { + type uint32 { + range "1..4294967295"; + } + description + "Represents an Accounting Session Identifier. + The session identifier is used as an unique identifier for + a session within the system."; + } + + + container CISCO-AAA-SESSION-MIB { + config false; + + container casnActive { + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1"; + + leaf casnActiveTableEntries { + type yang:gauge32; + description + "Number of entries currently in casnActiveTable"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.1"; + } + + leaf casnActiveTableHighWaterMark { + type yang:gauge32; + description + "Maximum number of entries present in casnActiveTable + since last system re-initialization. + + This corresponds to the maximum value reported by + casnActiveTableEntries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.2"; + } + } + + container casnGeneral { + smiv2:oid "1.3.6.1.4.1.9.9.150.1.2"; + + leaf casnTotalSessions { + type yang:counter32; + description + "Total number of sessions since last system + re-initialization. + + This value includes all sessions currently in the + casnActiveTable and all previous sessions whether + terminated via casnDisconnect or via other + mechanisms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.2.1"; + } + + leaf casnDisconnectedSessions { + type yang:counter32; + description + "Total number of sessions which have been disconnected using + casnDisconnect since last system re-initialization. + + This value includes any sessions still in the + casnActiveTable with a casnDisconnect value of true(1) and + all previous sessions which terminated as a result of + setting casnDisconnect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.2.2"; + } + } + + container casnActiveTable { + description + "This table contains entries for active AAA accounting + sessions in the system."; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3"; + + list casnActiveEntry { + key "casnSessionId"; + description + "The information regarding a single accounting session. + + Entries are created when a new accounting session + is begun. + + Entries are removed when the accounting session + is ended. + + Initiating termination of a session with the object + casnDisconnect will cause removal of the entry when + the session completes termination."; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1"; + + leaf casnSessionId { + type CISCO-AAA-SESSION-MIB:CasnSessionId; + description + "This is the session identification used by the + accounting protocol. + + This value is unique to a session within the system, + even if multiple accounting protocols are in use. + + The value of this object corresponds to these + accounting protocol attributes. + RADIUS: attribute 44, Acct-Session-Id + TACACS+: attribute 'task_id'"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.1"; + } + + leaf casnUserId { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The User login ID or zero length string if unavailable. + + The value of this object corresponds to these + accounting protocol attributes. + RADIUS: attribute 1, User-Name + TACACS+: attribute 'user'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.2"; + } + + leaf casnIpAddr { + type inet:ipv4-address; + description + "The IP address of the session or 0.0.0.0 if not + applicable or unavailable. + + RADIUS: attribute 8, Framed-IP-Address + TACACS+: attribute 'addr'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.3"; + } + + leaf casnIdleTime { + type yang:gauge32; + units "seconds"; + description + "The elapsed time that this session has been idle. + + This is the time since the last user-level data has been + received or transmitted. Protocol level handshaking + associated with the call is considered to be idle for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.4"; + } + + leaf casnDisconnect { + type boolean; + description + "This object is used to terminate this session. + + Setting the value to true(1) will initiate termination + of this session. + + The entry will be removed once the session has completed + termination. + + Once this object has been set to true(1), the session + termination process can not be cancelled by setting the + value false(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.5"; + } + + leaf casnCallTrackerId { + type CISCO-AAA-SESSION-MIB:CctCallId; + description + "The value of this object is the entry index in the + CISCO-CALL-TRACKER-MIB cctActiveTable of the call + corresponding to this accounting session. + + Using the value of this object to query the + cctActiveTable will provide more detailed data regarding + the session represented by this casnActiveEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.6"; + } + + leaf casnNasPort { + type snmpv2-tc:RowPointer; + description + "The value of this object identifies a particular + conceptual row associated with the session identified by + casnSessionId. The conceptual row that this object points + to represents a port that is used to transport a session. + + If the port transporting the session cannot be determined, + the value of this object will be zeroDotZero. + + For example, suppose a session is established using an ATM + PVC. If the ifIndex of the ATM interface is 7, and the + VPI/VCI values of the PVC are 1, 100 respectively, then + the value of this object might be as follows: + + casnNasPort.15 = atmVclAdminStatus.7.1.100 + ^ ^ ^ ^ + | | | | + casnSessionId --+ | | | + ifIndex -------------------------+ | | + atmVclVpi ---------------------------+ | + atmVclVci ------------------------------+ + + where atmVclAdminStatus is the first accessible object + of the atmVclTable of the ATM-MIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.7"; + } + + leaf casnVaiIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The ifIndex of the Virtual Access Interface (VAI) + that is associated with the PPP session. + + This interface may not be represented in the IF-MIB in + which case the value of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1.3.1.8"; + } + } + } + } + + smiv2:alias "ciscoAAASessionMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.150"; + } + + smiv2:alias "casnMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.150.1"; + } + + smiv2:alias "casnActive" { + smiv2:oid "1.3.6.1.4.1.9.9.150.1.1"; + } + + smiv2:alias "casnGeneral" { + smiv2:oid "1.3.6.1.4.1.9.9.150.1.2"; + } + + smiv2:alias "casnMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.150.2"; + } + + smiv2:alias "casnMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.150.2.1"; + } + + smiv2:alias "casnMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.150.3"; + } + + smiv2:alias "casnMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.150.3.1"; + } + + smiv2:alias "casnMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.150.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-AAL5-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-AAL5-MIB.yang new file mode 100644 index 000000000..668619cc1 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-AAL5-MIB.yang @@ -0,0 +1,238 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-AAL5-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-AAL5-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-AAL5-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB"; + prefix CISCO-AAL5-MIB; + + import ATM-MIB { + prefix "atm-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-atm@cisco.com"; + + description + "Cisco Enterprise AAL5 MIB file that provide AAL5 + specific information that are either excluded by + RFC 1695 or specific to Cisco product."; + + revision 2003-09-22 { + description + "Added following objects in cAal5VccTable: + cAal5VccHCInPkts, + cAal5VccHCOutPkts, + cAal5VccHCInOctets, + cAal5VccHCOutOctets"; + } + + revision 2002-10-17 { + description + "Latest version of this MIB module with extended support + for vc drop stats."; + } + + revision 1996-11-15 { + description + "Initial version of this MIB module."; + } + + smiv2:alias "cAal5VccTable" { + description + "This table contains AAL5 VCC performance + parameters beyond that provided by aal5VccEntry + defined in RFC1695."; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1"; + } + + smiv2:alias "cAal5VccEntry" { + description + "This list contains the additional AAL5 VCC performance + parameters beyond that provided by aal5VccEntry defined + in RFC1695."; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:aal5VccTable/atm-mib:aal5VccEntry" { + description + "This list contains the additional AAL5 VCC performance + parameters beyond that provided by aal5VccEntry defined + in RFC1695."; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1"; + + leaf cAal5VccInPkts { + type yang:counter32; + units "packets"; + description + "The number of AAL5 CPCS PDUs received on this AAL5 VCC at the + interface associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.1"; + } + + leaf cAal5VccOutPkts { + type yang:counter32; + units "packets"; + description + "The number of AAL5 CPCS PDUs transmitted on this AAL5 VCC at + the interface associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.2"; + } + + leaf cAal5VccInOctets { + type yang:counter32; + units "octets"; + description + "The number of AAL5 CPCS PDU octets received on this AAL5 VCC + at the interface associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.3"; + } + + leaf cAal5VccOutOctets { + type yang:counter32; + units "octets"; + description + "The number of AAL5 CPCS PDU octets transmitted on this AAL5 + VCC at the interface associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.4"; + } + + leaf cAal5VccInDroppedPkts { + type yang:counter32; + units "packets"; + description + "The number of AAL5 CPCS PDUs dropped at the + receive side of this AAL5 VCC at the interface + associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.5"; + } + + leaf cAal5VccOutDroppedPkts { + type yang:counter32; + units "packets"; + description + "The number of AAL5 CPCS PDUs dropped at the transmit side + of this AAL5 VCC at the interface associated with an + AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.6"; + } + + leaf cAal5VccInDroppedOctets { + type yang:counter32; + units "octets"; + description + "The number of AAL5 CPCS PDU Octets dropped at the + receive side of this AAL5 VCC at the interface + associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.7"; + } + + leaf cAal5VccOutDroppedOctets { + type yang:counter32; + units "octets"; + description + "The number of AAL5 CPCS PDU Octets dropped at the + transmit side of this AAL5 VCC at the interface + associated with an AAL5 entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.8"; + } + + leaf cAal5VccHCInPkts { + type yang:counter64; + description + "This is 64bit (High Capacity) version of cAal5VccInPkts + counters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.9"; + } + + leaf cAal5VccHCOutPkts { + type yang:counter64; + description + "This is 64bit (High Capacity) version of cAal5VccOutPkts + counters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.10"; + } + + leaf cAal5VccHCInOctets { + type yang:counter64; + description + "This is 64bit (High Capacity) version of cAal5VccInOctets + counters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.11"; + } + + leaf cAal5VccHCOutOctets { + type yang:counter64; + description + "This is 64bit (High Capacity) version of cAal5VccOutOctets + counters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1.1.1.12"; + } + } + + smiv2:alias "ciscoAal5MIB" { + smiv2:oid "1.3.6.1.4.1.9.9.66"; + } + + smiv2:alias "ciscoAal5MIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.66.1"; + } + + smiv2:alias "cAal5Connections" { + smiv2:oid "1.3.6.1.4.1.9.9.66.1.1"; + } + + smiv2:alias "ciscoAal5MIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.66.3"; + } + + smiv2:alias "ciscoAal5MIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.66.3.1"; + } + + smiv2:alias "ciscoAal5MIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.66.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ATM-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-EXT-MIB.yang new file mode 100644 index 000000000..56fc80ce3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-EXT-MIB.yang @@ -0,0 +1,514 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ATM-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ATM-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ATM-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB"; + prefix CISCO-ATM-EXT-MIB; + + import ATM-MIB { + prefix "atm-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-atm@cisco.com"; + + description + "An extension to the Cisco ATM MIB module for managing + ATM implementations. + + Acronyms and terms used in the MIB module: + + AAL5 -- ATM adaptation layer 5. + AIS -- Alarm Indication Signal. + CC -- Continuity Check. + End-to-end -- End-to-end continuity checking. + Monitoring occurs on the entire VC + between two ATM end stations. + F5 OAM -- OAM information flow between + network elements (NEs) used within + virtual connections to report degraded + virtual channel performance. + OAM -- Operations, Administration + and Maintenance. + RDI -- Remote Detection Indication. + Segment -- Segment continuity checking. + Monitoring occurs on a VC segment + between a router and a first-hop + ATM switch. + VC -- Virtual Channel. + VCC -- Virtual Channel Connection. + VCL -- Virtual Channel Link."; + + revision 2003-01-06 { + description + "Added ciscoAtmVclExtOamTable for OAM configuration + and state information."; + } + + revision 1997-06-20 { + description + "Initial version of this MIB module."; + } + + typedef OamCCStatus { + type enumeration { + enum "ready" { + value "1"; + } + enum "waitActiveResponse" { + value "2"; + } + enum "waitActiveConfirm" { + value "3"; + } + enum "active" { + value "4"; + } + enum "waitDeactiveConfirm" { + value "5"; + } + } + description + "OAM Continuity check (CC) status. + ready(1) -- CC is not activated on VC. + waitActiveResponse(2) -- Waiting for active-response. + waitActiveConfirm(3) -- Waiting for active-confirm. + active(4) -- CC is activated on VC. + waitDeactiveConfirm(5) -- Waiting for deactivate + confirm."; + } + + typedef OamCCVcState { + type enumeration { + enum "verified" { + value "1"; + } + enum "aisrdi" { + value "2"; + } + enum "notManaged" { + value "3"; + } + } + description + "OAM Continuity check (CC) VC state. + verified(1) -- CC is successful. VC is up. + aisrdi(2) -- CC failed. VC is down. + notManaged(3) -- VC is not managed by CC."; + } + + smiv2:alias "cAal5VccExtTable" { + description + "This table contains AAL5 VCC performance + parameters beyond that provided by cAal5VccEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1"; + } + + smiv2:alias "cAal5VccExtEntry" { + description + "This list contains the additinal AAL5 VCC performance + parameters beyond that provided by cAal5VccEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:aal5VccTable/atm-mib:aal5VccEntry" { + description + "This list contains the additinal AAL5 VCC performance + parameters beyond that provided by cAal5VccEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1"; + + leaf cAal5VccExtCompEnabled { + type boolean; + description + "Boolean, if compression enabled for VCC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1.1"; + } + + leaf cAal5VccExtVoice { + type boolean; + description + "Boolean, TRUE if VCC is used to carry voice."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1.2"; + } + + leaf cAal5VccExtInF5OamCells { + type yang:counter32; + description + "Number of OAM F5 end to end loopback cells + received through the VCC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1.3"; + } + + leaf cAal5VccExtOutF5OamCells { + type yang:counter32; + description + "Number of OAM F5 end to end loopback cells sent + through the VCC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1.1.1.4"; + } + } + + smiv2:alias "catmxVclOamTable" { + description + "This table contains Virtual Channel Link (VCL) + Oam configuration and state information. + This table augments the atmVclTable."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1"; + } + + smiv2:alias "catmxVclOamEntry" { + description + "This list contains Virtual Channel Link (VCL) + configuration and state information beyond that + provided by atmVclEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry" { + description + "This list contains Virtual Channel Link (VCL) + configuration and state information beyond that + provided by atmVclEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1"; + + leaf catmxVclOamLoopbackFreq { + type uint32; + units "seconds"; + description + "Specifies OAM loopback frequency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.1"; + } + + leaf catmxVclOamRetryFreq { + type uint32; + units "seconds"; + description + "Specifies OAM retry polling frequency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.2"; + } + + leaf catmxVclOamUpRetryCount { + type uint32; + description + "Specifies OAM retry count before declaring a VC + is up."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.3"; + } + + leaf catmxVclOamDownRetryCount { + type uint32; + description + "Specifies OAM retry count before declaring a VC + is down."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.4"; + } + + leaf catmxVclOamEndCCActCount { + type uint32; + description + "Specifies OAM End-to-end Continuity check (CC) + Activation retry count."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.5"; + } + + leaf catmxVclOamEndCCDeActCount { + type uint32; + description + "Specifies OAM End-to-end Continuity check (CC) + Deactivation retry count."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.6"; + } + + leaf catmxVclOamEndCCRetryFreq { + type uint32; + units "seconds"; + description + "Specifies OAM End-to-end Continuity check (CC) + Activation/Deactivation retry frequency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.7"; + } + + leaf catmxVclOamSegCCActCount { + type uint32; + description + "Specifies OAM Segment Continuity check (CC) + Activation retry count."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.8"; + } + + leaf catmxVclOamSegCCDeActCount { + type uint32; + description + "Specifies OAM Segment Continuity check (CC) + Deactivation retry count."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.9"; + } + + leaf catmxVclOamSegCCRetryFreq { + type uint32; + units "seconds"; + description + "Specifies OAM Segment Continuity check (CC) + Activation/Deactivation retry frequency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.10"; + } + + leaf catmxVclOamManage { + type boolean; + description + "Specifies OAM Enable/Disable on the VC. + true(1) indicates that OAM is enabled on the VC. + false(2) indicates that OAM is disabled on the VC."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.11"; + } + + leaf catmxVclOamLoopBkStatus { + type enumeration { + enum "disabled" { + value "1"; + } + enum "sent" { + value "2"; + } + enum "received" { + value "3"; + } + enum "failed" { + value "4"; + } + } + description + "Indicates OAM loopback status of the VC. + disabled(1) -- No OAMs on this VC. + sent(2) -- OAM sent, waiting for echo. + received(3) -- OAM received from target. + failed(4) -- Last OAM did not return."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.12"; + } + + leaf catmxVclOamVcState { + type enumeration { + enum "downRetry" { + value "1"; + } + enum "verified" { + value "2"; + } + enum "notVerified" { + value "3"; + } + enum "upRetry" { + value "4"; + } + enum "aisRDI" { + value "5"; + } + enum "aisOut" { + value "6"; + } + enum "notManaged" { + value "7"; + } + } + description + "Indicates the state of VC OAM. + downRetry(1) -- Loopback failed. Retry sending + loopbacks with retry frequency. + VC is up. + verified(2) -- Loopback is successful. + notVerified(3) -- Not verified by loopback, + AIS/RDI conditions are cleared. + upRetry(4) -- Retry successive loopbacks. + VC is down. + aisRDI(5) -- Received AIS/RDI. Loopback are + not sent in this state. + aisOut(6) -- Sending AIS. Loopback and reply are + not sent in this state. + notManaged(7) -- VC is not managed by OAM."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.13"; + } + + leaf catmxVclOamEndCCStatus { + type CISCO-ATM-EXT-MIB:OamCCStatus; + description + "Indicates OAM End-to-end Continuity check (CC) + status."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.14"; + } + + leaf catmxVclOamSegCCStatus { + type CISCO-ATM-EXT-MIB:OamCCStatus; + description + "Indicates OAM Segment Continuity check (CC) status."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.15"; + } + + leaf catmxVclOamEndCCVcState { + type CISCO-ATM-EXT-MIB:OamCCVcState; + description + "Indicates OAM End-to-end Continuity check (CC) + VC state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.16"; + } + + leaf catmxVclOamSegCCVcState { + type CISCO-ATM-EXT-MIB:OamCCVcState; + description + "Indicates OAM Segment Continuity check (CC) VC + state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.17"; + } + + leaf catmxVclOamCellsReceived { + type yang:counter32; + units "cells"; + description + "Indicates the number of OAM cells received on + this VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.18"; + } + + leaf catmxVclOamCellsSent { + type yang:counter32; + units "cells"; + description + "Indicates the number of OAM cells sent on + this VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.19"; + } + + leaf catmxVclOamCellsDropped { + type yang:counter32; + units "cells"; + description + "Indicates the number of OAM cells dropped on + this VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.20"; + } + + leaf catmxVclOamInF5ais { + type yang:counter32; + units "cells"; + description + "Indicates the number of received OAM + F5 Alarm Indication Signal (AIS) cells from the VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.21"; + } + + leaf catmxVclOamOutF5ais { + type yang:counter32; + units "cells"; + description + "Indicates the number of transmitted OAM + F5 Alarm Indication Signal (AIS) cells to the VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.22"; + } + + leaf catmxVclOamInF5rdi { + type yang:counter32; + units "cells"; + description + "Indicates the number of received OAM + F5 Remote Detection Indication (RDI) cells from + the VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.23"; + } + + leaf catmxVclOamOutF5rdi { + type yang:counter32; + units "cells"; + description + "Indicates the number of transmitted OAM + F5 Remote Detection Indication (RDI) cells to the VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2.1.1.24"; + } + } + + smiv2:alias "ciscoAtmExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.88"; + } + + smiv2:alias "ciscoAtmExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.88.1"; + } + + smiv2:alias "cAal5VccExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.88.1.1"; + } + + smiv2:alias "catmxVcl" { + smiv2:oid "1.3.6.1.4.1.9.9.88.1.2"; + } + + smiv2:alias "ciscoAal5ExtMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.88.2"; + } + + smiv2:alias "ciscoAal5ExtMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.88.2.1"; + } + + smiv2:alias "ciscoAal5ExtMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.88.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ATM-PVCTRAP-EXTN-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-PVCTRAP-EXTN-MIB.yang new file mode 100644 index 000000000..b8b0495b4 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-PVCTRAP-EXTN-MIB.yang @@ -0,0 +1,2270 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ATM-PVCTRAP-EXTN-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ATM-PVCTRAP-EXTN-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ATM-PVCTRAP-EXTN-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB"; + prefix CISCO-ATM-PVCTRAP-EXTN-MIB; + + import ATM-MIB { + prefix "atm-mib"; + } + + import CISCO-IETF-ATM2-PVCTRAP-MIB { + prefix "cisco-ietf"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-atm@cisco.com"; + + description + "This MIB Module is a supplement to the + CISCO-IETF-ATM2-PVCTRAP-MIB."; + + revision 2003-01-20 { + description + "Initial version of this MIB module."; + } + + typedef CatmOAMRecoveryType { + type enumeration { + enum "catmLoopbackOAMRecover" { + value "1"; + } + enum "catmSegmentCCOAMRecover" { + value "2"; + } + enum "catmEndCCOAMRecover" { + value "4"; + } + enum "catmAISRDIOAMRecover" { + value "8"; + } + } + description + "Enums to indicate different types of OAM recoveries . + catmLoopbackOAMRecover - The object in query is Loopback OAM + type of recovery. + catmSegmentCCOAMRecover - The object in query is Segment CC + OAM type of recovery. + catmEndCCOAMRecover - The object in query is End-to-End + CC OAM type of recovery. + catmAISRDIOAMRecover - The object in query is AISRDI OAM + type of recovery."; + } + + typedef CatmOAMFailureType { + type enumeration { + enum "catmLoopbackOAMFailure" { + value "1"; + } + enum "catmSegmentCCOAMFailure" { + value "2"; + } + enum "catmEndCCOAMFailure" { + value "4"; + } + enum "catmAISRDIOAMFailure" { + value "8"; + } + } + description + "Enums to indicate different types of OAM recoveries . + catmLoopbackOAMFailure - The object in query is Loopback OAM + type of failure. + catmSegmentCCOAMFailure - The object in query is Segment CC + OAM type of failure. + catmEndCCOAMFailure - The object in query is End-to-End + CC OAM type of failure. + catmAISRDIOAMFailure - The object in query is AISRDI OAM + type of failure."; + } + + + container CISCO-ATM-PVCTRAP-EXTN-MIB { + config false; + + container catmCurStatChangePVclTable { + description + "A table indicating all VCLs for which there is an + active row in the atmVclTable having an atmVclConnKind + value of `pvc' and atmVclOperStatus to have changed in the + last corresponding PVC notification."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2"; + + list catmCurStatChangePVclEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "Each entry in the table represents a VCL for which + there is an active row in the atmVclTable having an + atmVclConnKind value of `pvc' and atmVclOperStatus + to have changed in the last corresponding PVC notification."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf catmPVclStatusTransition { + type yang:counter32; + description + "The number of state transitions that has happened + on this PVCL in the last corresponding notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.2"; + } + + leaf catmPVclStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state for the + first time in the last corresponding notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.3"; + } + + leaf catmPVclStatusChangeEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last corresponding notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.4"; + } + + leaf catmPVclSegCCStatusTransition { + type yang:counter32; + description + "The number of state transitions that has happened + on this PVCL in the last corresponding notification due + to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.5"; + } + + leaf catmPVclSegCCStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state for the + first time in the last corresponding notification due + to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.6"; + } + + leaf catmPVclSegCCStatusChangeEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last corresponding notification due + to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.7"; + } + + leaf catmPVclEndCCStatusTransition { + type yang:counter32; + description + "The number of state transitions that has happened + on this PVCL in the last corresponding notification due + to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.8"; + } + + leaf catmPVclEndCCStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state for the + first time in the last corresponding notification due + to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.9"; + } + + leaf catmPVclEndCCStatusChangeEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last corresponding notification due + to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.10"; + } + + leaf catmPVclAISRDIStatusTransition { + type yang:counter32; + description + "The number of state transitions that has happened + on this PVCL in the last corresponding notification due + to AIS RDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.11"; + } + + leaf catmPVclAISRDIStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state for the + first time in the last corresponding notification due + to AIS RDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.12"; + } + + leaf catmPVclAISRDIStatusChangeEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last corresponding notification due + to AIS RDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.13"; + } + + leaf catmPVclCurFailTime { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to DOWN + last time in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.14"; + } + + leaf catmPVclPrevRecoverTime { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to UP + last time in the previous corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.15"; + } + + leaf catmPVclFailureReason { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMFailureType; + description + "Type of OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.2.1.16"; + } + } + } + + container catmStatusChangePVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have changed in the same + direction in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3"; + + list catmStatusChangePVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to have + changed in the same direction in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type int32 { + range "0..65535"; + } + description + "Index to represent different ranges, the first range is + indexed by value 0, the second by 1 and so on..."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1.1"; + } + + leaf catmPVclLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus to have changed in the last + corresponding notification due to Loopback OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1.2"; + } + + leaf catmPVclHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmOperStatus to have changed in the last + corresponding notification due to Loopback OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1.3"; + } + + leaf catmPVclRangeStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which the first PVCL in the range + changed state in the last corresponding notification due + to Loopback OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1.4"; + } + + leaf catmPVclRangeStatusChangeEnd { + type yang:timestamp; + description + "The time stamp at which the last PVCL in the range + changed state in the last corresponding notification due + to Loopback OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.3.1.5"; + } + } + } + + container catmSegCCStatusChPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have changed due to segment CC + failure in the same direction in the last PVC + corresponding notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5"; + + list catmSegCCStatusChPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to have + changed due to segment CC failure in the same direction + in the last corresponding notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclSegCCLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus to have changed in the last + corresponding notification due to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5.1.1"; + } + + leaf catmPVclSegCCHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmOperStatus to have changed in the last + corresponding notification due to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5.1.2"; + } + + leaf catmPVclSegCCRangeStatusChStart { + type yang:timestamp; + description + "The time stamp at which the first PVCL in the range + changed state in the last corresponding notification due + to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5.1.3"; + } + + leaf catmPVclSegCCRangeStatusChEnd { + type yang:timestamp; + description + "The time stamp at which the last PVCL in the range + changed state in the last corresponding notification due + to Segment CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.5.1.4"; + } + } + } + + container catmEndCCStatusChPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have changed due to End CC failure + in the same direction in the last PVC notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6"; + + list catmEndCCStatusChPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to have + changed due to End CC failure in the same direction in the + last corresponding notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclEndCCLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus to have changed in the last + corresponding notification due to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6.1.1"; + } + + leaf catmPVclEndCCHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmOperStatus to have changed in the last + corresponding notification due to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6.1.2"; + } + + leaf catmPVclEndCCRangeStatusChStart { + type yang:timestamp; + description + "The time stamp at which the first PVCL in the range + changed state in the last corresponding notification due + to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6.1.3"; + } + + leaf catmPVclEndCCRangeStatusChEnd { + type yang:timestamp; + description + "The time stamp at which the last PVCL in the range + changed state in the last corresponding notification due + to End CC OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.6.1.4"; + } + } + } + + container catmAISRDIStatusChPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have changed due to AIS/RDI failure + in the same direction in the last corresponding PVC + notification."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7"; + + list catmAISRDIStatusChPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to have + changed due to AIS/RDI failure in the same direction in the + last corresponding notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclAISRDILowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus to have changed in the last + corresponding notification due to AISRDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7.1.1"; + } + + leaf catmPVclAISRDIHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmOperStatus to have changed in the last + corresponding notification due to AISRDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7.1.2"; + } + + leaf catmPVclAISRDIRangeStatusChStart { + type yang:timestamp; + description + "The time stamp at which the first PVCL in the range + changed state in the last corresponding notification due + to AISRDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7.1.3"; + } + + leaf catmPVclAISRDIRangeStatusChEnd { + type yang:timestamp; + description + "The time stamp at which the last PVCL in the range + changed state in the last corresponding notification due + to AISRDI OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.7.1.4"; + } + } + } + + container catmDownPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have detected as Down + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8"; + + list catmDownPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to + have detected as Down in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmDownPVclLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus has been detected as Down in the + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.1"; + } + + leaf catmDownPVclHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmVclOperStatus has been detected as Down in the + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.2"; + } + + leaf catmDownPVclRangeStart { + type yang:timestamp; + description + "The time stamp at which the first atmVclOperStatus + is detected as Down on any of the PVCLs in the range + in the corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.3"; + } + + leaf catmDownPVclRangeEnd { + type yang:timestamp; + description + "The time stamp at which the last atmVclOperStatus + is detected as Down on any of the PVCLs in the range + in the corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.4"; + } + + leaf catmPrevUpPVclRangeStart { + type yang:timestamp; + description + "The time stamp at which the first atmVclOperStatus + is detected as Up on any of the PVCLs in the range + in the previous catmIntfPvcUp2Trap notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.5"; + } + + leaf catmPrevUpPVclRangeEnd { + type yang:timestamp; + description + "The time stamp at which the last atmVclOperStatus + is detected as Up on any of the PVCLs in the range + in the previous catmIntfPvcUp2Trap notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.6"; + } + + leaf catmPVclRangeFailureReason { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMFailureType; + description + "Type of OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.8.1.7"; + } + } + } + + container catmCurStatusUpPVclTable { + description + "A table indicating all VCLs for which there is an + active row in the atmVclTable having an atmVclConnKind + value of `pvc' and atmVclOperStatus to have changed to UP + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9"; + + list catmCurStatusUpPVclEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "Each entry in the table represents a VCL for which + there is an active row in the atmVclTable having an + atmVclConnKind value of `pvc' and atmVclOperStatus + to have changed to UP in the last PVC notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf catmPVclStatusUpTransition { + type yang:gauge32; + description + "The number of Down to Up state transitions due to + OAM loopback recovery that has happened on this PVCL + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.1"; + } + + leaf catmPVclStatusUpStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to UP + for the first time due to OAM loopback recovery + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.2"; + } + + leaf catmPVclStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to UP + for the last time due to OAM loopback recovery + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.3"; + } + + leaf catmPVclSegCCStatusUpTransition { + type yang:gauge32; + description + "The number of Down to Up state transitions that has + happened on this PVCL in the last corresponding notification + due to Segment CC OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.4"; + } + + leaf catmPVclSegCCStatusUpStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to Up for + the first time in the last corresponding notification due + to Segment CC OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.5"; + } + + leaf catmPVclSegCCStatusUpEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last corresponding notification due to Segment CC + OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.6"; + } + + leaf catmPVclEndCCStatusUpTransition { + type yang:gauge32; + description + "The number of Down to UP state transitions that has + happened on this PVCL in the last notification + interval due to End CC OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.7"; + } + + leaf catmPVclEndCCStatusUpStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to Up + for the first time in the last corresponding notification + due to End CC OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.8"; + } + + leaf catmPVclEndCCStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to Up + for the last time in the last corresponding notification + due to End CC OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.9"; + } + + leaf catmPVclAISRDIStatusUpTransition { + type yang:gauge32; + description + "The number of Down to Up state transitions that + has happened on this PVCL in the last notification + interval due to AIS RDI OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.10"; + } + + leaf catmPVclAISRDIStatusUpStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to Up + for the first time in the last corresponding notification + due to AIS/RDI OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.11"; + } + + leaf catmPVclAISRDIStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to Up + for the last time in the last corresponding notification + due to AIS/RDI OAM recovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.12"; + } + + leaf catmPVclCurRecoverTime { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to UP + last time in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.13"; + } + + leaf catmPVclPrevFailTime { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state to DOWN + last time in the previous corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.14"; + } + + leaf catmPVclRecoveryReason { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMRecoveryType; + description + "Type of OAM Recovered"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.9.1.15"; + } + } + } + + container catmStatusUpPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and loopback OAM status to have detected as recovered + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10"; + + list catmStatusUpPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and loopback OAM status to + have detected as recovered in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclUpLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + Loopback OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10.1.1"; + } + + leaf catmPVclUpHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + Loopback OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10.1.2"; + } + + leaf catmPVclRangeStatusUpStart { + type yang:timestamp; + description + "The time stamp at which the first Loopback OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10.1.3"; + } + + leaf catmPVclRangeStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which the last Loopback OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.10.1.4"; + } + } + } + + container catmSegCCStatusUpPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and Segment CC OAM status to have detected as recovered + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11"; + + list catmSegCCStatusUpPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and Segment CC OAM status to + have detected as recovered in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclSegCCUpLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + Segment CC OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11.1.1"; + } + + leaf catmPVclSegCCUpHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + Segment CC OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11.1.2"; + } + + leaf catmPVclSegCCRangeStatusUpStart { + type yang:timestamp; + description + "The time stamp at which the first Segment CC OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11.1.3"; + } + + leaf catmPVclSegCCRangeStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which the last Segment CC OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.11.1.4"; + } + } + } + + container catmEndCCStatusUpPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and End-to-End CC OAM status to have detected as recovered + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12"; + + list catmEndCCStatusUpPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and End-to-End CC OAM status + to have detected as recovered in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclEndCCUpLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + End-to-End CC OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12.1.1"; + } + + leaf catmPVclEndCCUpHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + End-to-End CC OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12.1.2"; + } + + leaf catmPVclEndCCRangeStatusUpStart { + type yang:timestamp; + description + "The time stamp at which the first End-to-End CC OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12.1.3"; + } + + leaf catmPVclEndCCRangeStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which the last End-to-End CC OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.12.1.4"; + } + } + } + + container catmAISRDIStatusUpPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and AISRDI OAM status to have detected as recovered + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13"; + + list catmAISRDIStatusUpPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and AISRDI OAM status + to have detected as recovered in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmPVclAISRDIUpLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + AISRDI OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13.1.1"; + } + + leaf catmPVclAISRDIUpHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + AISRDI OAM recovery has been detected in the last + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13.1.2"; + } + + leaf catmPVclAISRDIRangeStatusUpStart { + type yang:timestamp; + description + "The time stamp at which the first AISRDI OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13.1.3"; + } + + leaf catmPVclAISRDIRangeStatusUpEnd { + type yang:timestamp; + description + "The time stamp at which the last AISRDI OAM recovery + is detected on any of the PVCLs in the range + in the last corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.13.1.4"; + } + } + } + + container catmUpPVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have detected as Up + in the last corresponding PVC notification ."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14"; + + list catmUpPVclRangeEntry { + key "ifIndex atmVclVpi catmStatusChangePVclRangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to + have detected as Up in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf catmStatusChangePVclRangeIndex { + type leafref { + path "/CISCO-ATM-PVCTRAP-EXTN-MIB:CISCO-ATM-PVCTRAP-EXTN-MIB/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeTable/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmStatusChangePVclRangeIndex"; + } + } + + leaf catmUpPVclLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVCLs for which the + atmVclOperStatus has been detected as Up in the + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.1"; + } + + leaf catmUpPVclHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVCLs for which the + atmVclOperStatus has been detected as Up in the + corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.2"; + } + + leaf catmUpPVclRangeStart { + type yang:timestamp; + description + "The time stamp at which the first atmVclOperStatus + is detected as Up on any of the PVCLs in the range + in the corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.3"; + } + + leaf catmUpPVclRangeEnd { + type yang:timestamp; + description + "The time stamp at which the last atmVclOperStatus + is detected as Up on any of the PVCLs in the range + in the corresponding notification ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.4"; + } + + leaf catmPrevDownPVclRangeStart { + type yang:timestamp; + description + "The time stamp at which the first atmVclOperStatus + is detected as Down on any of the PVCLs in the range + in the previous catmIntfPvcDownTrap notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.5"; + } + + leaf catmPrevDownPVclRangeEnd { + type yang:timestamp; + description + "The time stamp at which the last atmVclOperStatus + is detected as Down on any of the PVCLs in the range + in the previous catmIntfPvcDownTrap notification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.6"; + } + + leaf catmPVclRangeRecoveryReason { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMRecoveryType; + description + "Type of OAM Recovered"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.14.1.7"; + } + } + } + } + + smiv2:alias "catmInterfaceExt2Table" { + description + "This table contains ATM interface monitoring + information not defined in the + atmInterfaceConfTable from the ATM-MIB and + atmInterfaceExtTable CISCO-IETF-ATM2-PVCTRAP-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1"; + } + + smiv2:alias "catmInterfaceExt2Entry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1"; + + leaf catmIntfCurrentlyDownToUpPVcls { + type yang:gauge32; + description + "The current number PVCLs on this interface which + changed state to 'up' since the last + atmIntPvcUp2Trap was sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.1"; + } + + leaf catmIntfOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the OAM loopback failed condition but + the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.2"; + } + + leaf catmIntfCurrentOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + OAM loop back has failed but the status of each PVCL remain + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.3"; + } + + leaf catmIntfSegCCOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the Segment CC OAM failed condition + but the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.4"; + } + + leaf catmIntfCurSegCCOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + Segment CC OAM has failed but the status of each PVCL remain + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.5"; + } + + leaf catmIntfEndCCOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the End-to-End CC OAM failed condition + but the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.6"; + } + + leaf catmIntfCurEndCCOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + End-to-End CC OAM has failed but the status of each PVCL + remain in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.7"; + } + + leaf catmIntfAISRDIOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the AIS RDI OAM failed condition but + the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.8"; + } + + leaf catmIntfCurAISRDIOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + AIS RDI OAM has failed but the status of each PVCL remain + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.9"; + } + + leaf catmIntfAnyOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in any type of OAM failed condition but + the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.10"; + } + + leaf catmIntfCurAnyOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which + any of OAM has failed but the status of each PVCL remain + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.11"; + } + + leaf catmIntfTypeOfOAMFailure { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMFailureType; + description + "Type of OAM failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.12"; + } + + leaf catmIntfOAMRcovedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the OAM loopback recovered condition and + the status of each PVCL is in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.13"; + } + + leaf catmIntfCurrentOAMRcovingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + OAM loop back has recovered and the status of each PVCL is + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.14"; + } + + leaf catmIntfSegCCOAMRcovedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the Segment CC OAM recovered condition + and the status of each PVCL is in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.15"; + } + + leaf catmIntfCurSegCCOAMRcovingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + Segment CC OAM has recovered and the status of each PVCL is + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.16"; + } + + leaf catmIntfEndCCOAMRcovedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the End-to-End CC OAM recovered condition + and the status of each PVCL is in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.17"; + } + + leaf catmIntfCurEndCCOAMRcovingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + End-to-End CC OAM has recovered and the status of each PVCL + is in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.18"; + } + + leaf catmIntfAISRDIOAMRcovedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the AIS RDI OAM recovered condition and + the status of each PVCL is in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.19"; + } + + leaf catmIntfCurAISRDIOAMRcovingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + AIS RDI OAM has recovered and the status of each PVCL is + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.20"; + } + + leaf catmIntfAnyOAMRcovedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in any type of OAM recovered condition and + the status of each PVCL is in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.21"; + } + + leaf catmIntfCurAnyOAMRcovingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which + any of OAM has recovered and the status of each PVCL is + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.22"; + } + + leaf catmIntfTypeOfOAMRecover { + type CISCO-ATM-PVCTRAP-EXTN-MIB:CatmOAMRecoveryType; + description + "Type of OAM Recovered"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.97.1.1.1.23"; + } + } + + notification catmIntfPvcUpTrap { + status deprecated; + description + "A notification indicating that one or more + PVCLs on this interface has changed state back to 'up' + since the last catmIntfPvcUpTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurrentlyDownToUpPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurrentlyDownToUpPVcls"; + } + } + } + } + + notification catmIntfPvcOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has OAM loop back failed + since the last catmIntfPvcOAMFailuresTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.2"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurrentOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurrentOAMFailingPVcls"; + } + } + } + } + + notification catmIntfPvcSegCCOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has Segment CC OAM failure + since the last catmIntfPvcSegCCOAMFailureTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.3"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfSegCCOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfSegCCOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurSegCCOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurSegCCOAMFailingPVcls"; + } + } + } + } + + notification catmIntfPvcEndCCOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has End-to-End CC OAM failure + since the last catmIntfPvcEndCCOAMFailureTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.4"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfEndCCOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfEndCCOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurEndCCOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurEndCCOAMFailingPVcls"; + } + } + } + } + + notification catmIntfPvcAISRDIOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has AIS RDI OAM failure + since the last catmIntfPvcAISRDIOAMFailureTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.5"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfAISRDIOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfAISRDIOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurAISRDIOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurAISRDIOAMFailingPVcls"; + } + } + } + } + + notification catmIntfPvcAnyOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has one or more OAM failed + since the last catmIntfPvcAnyOAMFailureTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.6"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfAnyOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfAnyOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurAnyOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurAnyOAMFailingPVcls"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfTypeOfOAMFailure { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfTypeOfOAMFailure"; + } + } + } + } + + notification catmIntfPvcOAMRecoverTrap { + description + "A notification indicating that one or more + PVCLs on this interface has OAM loop back recovered + since the last catmIntfPvcOAMRecoversTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.7"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfOAMRcovedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfOAMRcovedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurrentOAMRcovingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurrentOAMRcovingPVcls"; + } + } + } + } + + notification catmIntfPvcSegCCOAMRecoverTrap { + description + "A notification indicating that one or more + PVCLs on this interface has Segment CC OAM recovery + since the last catmIntfPvcSegCCOAMRecoverTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.8"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfSegCCOAMRcovedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfSegCCOAMRcovedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurSegCCOAMRcovingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurSegCCOAMRcovingPVcls"; + } + } + } + } + + notification catmIntfPvcEndCCOAMRecoverTrap { + description + "A notification indicating that one or more + PVCLs on this interface has End-to-End CC OAM recovery + since the last catmIntfPvcEndCCOAMRecoverTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.9"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfEndCCOAMRcovedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfEndCCOAMRcovedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurEndCCOAMRcovingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurEndCCOAMRcovingPVcls"; + } + } + } + } + + notification catmIntfPvcAISRDIOAMRecoverTrap { + description + "A notification indicating that one or more + PVCLs on this interface has AIS RDI OAM recovery + since the last catmIntfPvcAISRDIOAMRecoverTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.10"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfAISRDIOAMRcovedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfAISRDIOAMRcovedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurAISRDIOAMRcovingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurAISRDIOAMRcovingPVcls"; + } + } + } + } + + notification catmIntfPvcAnyOAMRecoverTrap { + description + "A notification indicating that one or more + PVCLs on this interface has one or more OAM recovered + since the last catmIntfPvcAnyOAMRecoverTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.11"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfAnyOAMRcovedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfAnyOAMRcovedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurAnyOAMRcovingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurAnyOAMRcovingPVcls"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfTypeOfOAMRecover { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfTypeOfOAMRecover"; + } + } + } + } + + notification catmIntfPvcUp2Trap { + description + "A notification indicating that one or more + PVCLs on this interface has changed state back to 'up' + since the last catmIntfPvcUp2Trap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.12"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf catmIntfCurrentlyDownToUpPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-ATM-PVCTRAP-EXTN-MIB:catmIntfCurrentlyDownToUpPVcls"; + } + } + } + } + + notification catmIntfPvcDownTrap { + description + "A notification indicating that one or more + PVCLs on this interface has changed state back to 'down' + since the last catmIntfPvcDownTrap was sent."; + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0.13"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfPvcFailures { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/cisco-ietf:atmIntfPvcFailures"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfCurrentlyFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/cisco-ietf:atmIntfCurrentlyFailingPVcls"; + } + } + } + } + + smiv2:alias "ciscoAtmPvcTrapExtnMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.97"; + } + + smiv2:alias "ciscoAtmPvcTrapExtnMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.97.1"; + } + + smiv2:alias "cAtmPvcTrapExtnMIBNotifPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.97.2"; + } + + smiv2:alias "cAtmPvcTrapExtnMIBNotif" { + smiv2:oid "1.3.6.1.4.1.9.10.97.2.0"; + } + + smiv2:alias "ciscoAtmPvcTrapExtnMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.97.3"; + } + + smiv2:alias "ciscoAtmPvcTrapExtnMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.97.3.1"; + } + + smiv2:alias "ciscoAtmPvcTrapExtnMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.97.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ATM-QOS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-QOS-MIB.yang new file mode 100644 index 000000000..2e129de3f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ATM-QOS-MIB.yang @@ -0,0 +1,696 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ATM-QOS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ATM-QOS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ATM-QOS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB"; + prefix CISCO-ATM-QOS-MIB; + + import ATM-FORUM-TC-MIB { + prefix "atm-forum"; + } + + import ATM-MIB { + prefix "atm-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + SA + + Tel: +1 800 553-NETS + + Email: cs-atm@cisco.com"; + + description + "The MIB is created to provide ATM QoS information in + these areas: + + 1. Traffic shaping on a per-VC basis + 2. Traffic shaping on a per-VP basis + 3. Per-VC queuing/buffering + + Although the initial requirements of the MIB are + driven to support the GSR TAZ line card, + CISCO-ATM-QOS-MIB is designed as a generic MIB to + support ATM interfaces across all platforms. + + Here are the tables defined in this MIB: + ciscoAtmQosVccTable + - to provide information on traffic shaping on + a per-VC basis. + + ciscoAtmQosVpcTable + - to provide information on traffic shaping on + a per-VP basis. + + ciscoAtmQosVcQueuingTable + ciscoAtmQosVcQueuingClassTable + - to provide information on per-VC + queuing/buffering."; + + revision 2002-06-10 { + description + "Initial version of this MIB module."; + } + + typedef VcParamConfigLocation { + type enumeration { + enum "configDefault" { + value "1"; + } + enum "configVcDirect" { + value "2"; + } + enum "configVcClass" { + value "3"; + } + enum "configVcClassSubInterface" { + value "4"; + } + enum "configVcClassInterface" { + value "5"; + } + } + description + "The configuration source of a vc parameter: + 1 - Not configured - using default + 2 - Configured on vc directly + 3 - VC-class configured on vc + 4 - VC-class configured on sub-interface + 5 - VC-class configured on main-interface."; + } + + typedef VpState { + type enumeration { + enum "vpStateInactive" { + value "1"; + } + enum "vpStateActive" { + value "2"; + } + } + description + "States of virtual path: + 1 - Inactive + 2 - Active"; + } + + + container CISCO-ATM-QOS-MIB { + config false; + + container caqVccParamsTable { + description + "This table is defined to provide QoS information for + each active ATM VC existing on the interface."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1"; + + list caqVccParamsEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "This list contains the ATM QoS parameters provided by + ciscoAtmQosVccEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf caqVccParamsType { + type atm-forum:AtmServiceCategory; + description + "The service category of this virtual circuit connection."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.1"; + } + + leaf caqVccParamsPcrIn0 { + type uint32; + description + "Input Peak Cell Rate (PCR) in kbps with + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.2"; + } + + leaf caqVccParamsPcrIn01 { + type uint32; + description + "Number of OAM F5 end to end loopback cells sent through + the VCC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.3"; + } + + leaf caqVccParamsPcrOut0 { + type uint32; + description + "Output Peak Cell Rate (PCR) in kbps with + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.4"; + } + + leaf caqVccParamsPcrOut01 { + type uint32; + description + "Output Peak Cell Rate (PCR) in kbps with + Cell Loss Priority bit set to 1 (clp01)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.5"; + } + + leaf caqVccParamsScrIn0 { + type uint32; + description + "Input Sustained Cell Rate (SCR) in kbps + for connection with VBR type of QoS and + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.6"; + } + + leaf caqVccParamsScrIn01 { + type uint32; + description + "Input Sustained Cell Rate (SCR) in kbps + for connection with VBR type of QoS and + Cell Loss Priority bit set to 1 (clp01)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.7"; + } + + leaf caqVccParamsScrOut0 { + type uint32; + description + "Output Sustained Cell Rate (SCR) in kbps + for connection with VBR type of QoS and + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.8"; + } + + leaf caqVccParamsScrOut01 { + type uint32; + description + "Output Sustained Cell Rate (SCR) in kbps + for connection with VBR type of QoS and + Cell Loss Priority bit set to 1 (clp01)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.9"; + } + + leaf caqVccParamsBcsIn0 { + type uint32; + description + "Input Burst Cell Size (BCS) for connection + with VBR type of QoS and + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.10"; + } + + leaf caqVccParamsBcsIn01 { + type uint32; + description + "Input Burst Cell Size (BCS) for connection + with VBR type of QoS and + Cell Loss Priority bit set to 1 (clp01)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.11"; + } + + leaf caqVccParamsBcsOut0 { + type uint32; + description + "Output Burst Cell Size (BCS) for connection + with VBR type of QoS and + Cell Loss Priority bit set to 0 (clp0)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.12"; + } + + leaf caqVccParamsBcsOut01 { + type uint32; + description + "Output Burst Cell Size (BCS) for connection + with VBR type of QoS and + Cell Loss Priority bit set to 1 (clp01)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.13"; + } + + leaf caqVccParamsInheritLevel { + type CISCO-ATM-QOS-MIB:VcParamConfigLocation; + description + "The source of configuration for peak cell rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.14"; + } + + leaf caqVccParamsMcrIn { + type uint32; + description + "Input Minimum Cell Rate (MCR) in kbps for + connection with VBR-nrt or ABR type of QoS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.15"; + } + + leaf caqVccParamsMcrOut { + type uint32; + description + "Output Minimum Cell Rate (MCR) in kbps for + connection with VBR-nrt or ABR type of QoS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.16"; + } + + leaf caqVccParamsInvRdf { + type uint32; + description + "Inverse of rate decrease factor."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.17"; + } + + leaf caqVccParamsInvRif { + type uint32; + description + "Inverse of rate increase factor."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.18"; + } + + leaf caqVccParamsRfl { + type CISCO-ATM-QOS-MIB:VcParamConfigLocation; + description + "The source of configuration for rate factor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.19"; + } + + leaf caqVccParamsCdv { + type uint32; + description + "Cell delay variation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.20"; + } + + leaf caqVccParamsCdvt { + type uint32; + description + "Cell delay variation tolerance."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.21"; + } + + leaf caqVccParamsIcr { + type uint32; + description + "Initial cell rate."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.22"; + } + + leaf caqVccParamsTbe { + type uint32; + description + "Transient buffer exposure."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.23"; + } + + leaf caqVccParamsFrtt { + type uint32; + description + "Fixed round-trip time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.24"; + } + + leaf caqVccParamsNrm { + type uint32; + description + "Maximum number of tx cells for each forward rm cell."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.25"; + } + + leaf caqVccParamsInvTrm { + type uint32; + description + "Maximum time between forward rm cells."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.26"; + } + + leaf caqVccParamsInvCdf { + type uint32; + description + "Inverse of cutoff decrease factor."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.27"; + } + + leaf caqVccParamsAdtf { + type uint32; + description + "Allowed cell rate decrease time factor."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1.1.1.28"; + } + } + } + + container caqVpcParamsTable { + description + "This table is defined to provide QoS information for + each active ATM VP existing on the interface."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1"; + + list caqVpcParamsEntry { + key "ifIndex atmVplVpi"; + description + "This list contains the ATM QoS parameters provided by + ciscoAtmQosVpcEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVplVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVplTable/atm-mib:atmVplEntry/atm-mib:atmVplVpi"; + } + } + + leaf caqVpcParamsVpState { + type CISCO-ATM-QOS-MIB:VpState; + description + "VP state of the current permanent virtual path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.1"; + } + + leaf caqVpcParamsPeakRate { + type uint32; + description + "Maximum rate in kbps at which the associated + permanent virtual path can transmit data."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.2"; + } + + leaf caqVpcParamsCesRate { + type uint32; + description + "Maximum rate in kbps at which CES VCs can transmit + data with the associated permanent virtual path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.3"; + } + + leaf caqVpcParamsDataVcCount { + type int32 { + range "0..65535"; + } + description + "Number of data VCs currently associated with + the permanent virtual path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.4"; + } + + leaf caqVpcParamsCesVcCount { + type int32 { + range "0..65535"; + } + description + "Number of CES VCs currently associated with + the permanent virtual path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.5"; + } + + leaf caqVpcParamsVcdF4Seg { + type int32 { + range "0..65535"; + } + description + "Vcd for F4 OAM segment processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.6"; + } + + leaf caqVpcParamsVcdF4Ete { + type int32 { + range "0..65535"; + } + description + "Vcd for F4 OAM end to end processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.7"; + } + + leaf caqVpcParamsScr { + type uint32; + description + "Sustained cell rate associated with the PVP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.8"; + } + + leaf caqVpcParamsMbs { + type uint32; + description + "Maximum burst size associated with the PVP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.9"; + } + + leaf caqVpcParamsAvailBw { + type uint32; + description + "Bandwidth in Kbps currently currently available + on this PVP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2.1.1.10"; + } + } + } + + container caqQueuingParamsTable { + description + "This table provides queuing related information + for a VC existing on an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.1"; + + list caqQueuingParamsEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "This is defined as an entry in caqQueuingParamsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf caqQueuingParamsMeanQDepth { + type uint32; + description + "Mean Queue Depth associated with the vc. This value + is calculated based on the actual queue depth on the + interface and the exponential weighting constant."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.1.1.1"; + } + } + } + + container caqQueuingParamsClassTable { + description + "This table provides queuing information for all + queuing classes associating with a VC."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2"; + + list caqQueuingParamsClassEntry { + key "ifIndex atmVclVpi atmVclVci caqQueuingParamsClassIndex"; + description + "This is defined as an entry in ciscoAtmQosVcQueuingClassTable + to provide queuing information of a specific class."; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf caqQueuingParamsClassIndex { + type int32 { + range "0..8"; + } + description + "A class index, which associates with an IP precedence + (0 to 8), is defined to reference individual + caqQueuingParamsClassEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.1"; + } + + leaf caqQueuingParamsClassRandDrp { + type uint32; + description + "Number of packets dropped when Mean Queue + Length is between Minimum Threshold and + Maximum Threshold range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.2"; + } + + leaf caqQueuingParamsClassTailDrp { + type uint32; + description + "Number of packets dropped because the Mean + Queue Depth exceeds the Maximum Threshold value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.3"; + } + + leaf caqQueuingParamsClassMinThre { + type uint32; + description + "Minimum Threshold value in kbps."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.4"; + } + + leaf caqQueuingParamsClassMaxThre { + type uint32; + description + "Maximum Threshold value in kbps."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.5"; + } + + leaf caqQueuingParamsClassMrkProb { + type uint32; + description + "Mark probability denominator. This is the value used + in the calculation of a packet being dropped when + the average queue size is between the minimum + threshold and the maximum threshold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3.2.1.6"; + } + } + } + } + + smiv2:alias "ciscoAtmQosMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.279"; + } + + smiv2:alias "ciscoAtmQosMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.279.0"; + } + + smiv2:alias "ciscoAtmQosMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.279.1"; + } + + smiv2:alias "caqVccParams" { + smiv2:oid "1.3.6.1.4.1.9.9.279.1.1"; + } + + smiv2:alias "caqVpcParams" { + smiv2:oid "1.3.6.1.4.1.9.9.279.1.2"; + } + + smiv2:alias "caqQueuingParams" { + smiv2:oid "1.3.6.1.4.1.9.9.279.1.3"; + } + + smiv2:alias "ciscoAtmQosMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.279.2"; + } + + smiv2:alias "ciscoAtmQosMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.279.2.1"; + } + + smiv2:alias "ciscoAtmQosMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.279.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-BGP-POLICY-ACCOUNTING-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-BGP-POLICY-ACCOUNTING-MIB.yang new file mode 100644 index 000000000..26c29aa54 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-BGP-POLICY-ACCOUNTING-MIB.yang @@ -0,0 +1,168 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-BGP-POLICY-ACCOUNTING-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-BGP-POLICY-ACCOUNTING-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-BGP-POLICY-ACCOUNTING-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB"; + prefix CISCO-BGP-POLICY-ACCOUNTING-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "BGP policy based accounting information"; + + revision 2002-07-26 { + description + "Added egress, packet and octet, counters for the BGP + policy accounting feature."; + } + + revision 1999-12-17 { + description + "Initial version of this MIB module."; + } + + + container CISCO-BGP-POLICY-ACCOUNTING-MIB { + config false; + + container cbpAcctTable { + description + "The cbpAcctTable provides statistics about ingress and egress + traffic on an interface. This data could be used for purposes + like billing."; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1"; + + list cbpAcctEntry { + key "ifIndex cbpAcctTrafficIndex"; + description + "Each cbpAcctEntry provides statistics for traffic of interest + on an ingress and/or egress interfaces. The traffic of interest + may be used for purposes like billing, and is referred to from + here on in the MIB by the term 'traffic-type', which corresponds + to cbpAcctTrafficIndex. Traffic-types are configured by the user + on a per interface basis. + + The statistics include ingress packet counts, ingress octet + counts, egress packet counts and egress octet counts. Entries + are created when traffic-type is configured on an interface. + Entries are deleted automatically when the user + removes the corresponding traffic-type configuration from an + interface."; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cbpAcctTrafficIndex { + type int32 { + range "1..2147483647"; + } + description + "An integer value greater than 0, that uniquely identifies + a traffic-type. The traffic-type has no intrinsic meaning. + It just means the traffic coming into an interface can be + differentiated into different types. It is up to the user to + give meaning to and configure the various traffic-types on an + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1.1"; + } + + leaf cbpAcctInPacketCount { + type yang:counter64; + description + "The total number of packets received for a particular + traffic-type on an interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1.2"; + } + + leaf cbpAcctInOctetCount { + type yang:counter64; + description + "The total number of octets received for a particular + traffic-type on an interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1.3"; + } + + leaf cbpAcctOutPacketCount { + type yang:counter64; + description + "The total number of packets transmitted for a particular + traffic-type on an interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1.4"; + } + + leaf cbpAcctOutOctetCount { + type yang:counter64; + description + "The total number of octets transmitted for a particular + traffic-type on an interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.148.1.1.1.5"; + } + } + } + } + + smiv2:alias "ciscoBgpPolAcctMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.148"; + } + + smiv2:alias "ciscoBgpPolAcctMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.148.1"; + } + + smiv2:alias "ciscoBgpPolAcctMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.148.3"; + } + + smiv2:alias "ciscoBgpPolAcctMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.148.3.1"; + } + + smiv2:alias "ciscoBgpPolAcctMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.148.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-BGP4-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-BGP4-MIB.yang new file mode 100644 index 000000000..fd9210d1f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-BGP4-MIB.yang @@ -0,0 +1,2593 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-BGP4-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-BGP4-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-BGP4-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB"; + prefix CISCO-BGP4-MIB; + + import BGP4-MIB { + prefix "bgp4-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-iprouting-bgp@cisco.com"; + + description + "An extension to the IETF BGP4 MIB module defined in + RFC 1657. + + Following is the terminology associated with Border + Gateway Protocol(BGP). + + UPDATE message + UPDATE messages are used to transfer routing + information between BGP peers. An UPDATE message + is used to advertise a single feasible route to a + peer, or to withdraw multiple unfeasible routes + from service. + + Adj-RIBs-In + The Adj-RIBs-In store routing information that has + been learned from inbound UPDATE messages. Their + contents represent routes that are available as an + input to the Decision Process. + + Loc-RIB(BGP table) + The Loc-RIB contains the local routing information + that the BGP speaker has selected by applying its + local policies to the routing information contained + in its Adj-RIBs-In. + + Adj-RIBs-Out + The Adj-RIBs-Out store the information that the + local BGP speaker has selected for advertisement to + its peers. The routing information stored in the + Adj-RIBs-Out will be carried in the local BGP + speaker's UPDATE messages and advertised to its + peers. + + Path Attributes + A variable length sequence of path attributes is + present in every UPDATE. Each path attribute is a + triple of variable length. + + Network Layer Reachability Information(NLRI) + A variable length field present in UPDATE messages + which contains a list of Network Layer address + prefixes. + + Address Family Identifier(AFI) + Primary identifier to indicate the type of the + Network Layer Reachability Information(NLRI) being + carried. + + Subsequent Address Family Identifier(SAFI) + Secondary identifier to indicate the type of the + Network Layer Reachability Information(NLRI) being + carried."; + + revision 2010-09-30 { + description + "+Added cbgpNotifsEnable and cbgpLocalAs + +Modified CbgpNetworkAddress TC + +Added cbgpPeer2Table + +Added cbgpPeer2CapsTable + +Added cbgpPeer2AddrFamilyTable + +Added cbgpPeer2AddrFamilyPrefixTable + +Added notification cbgpPeer2EstablishedNotification + +Added notification cbgpPeer2BackwardTransNotification + +Added notification cbgpPeer2FsmStateChange + +Added notification cbgpPeer2BackwardTransition + +Added notification cbgpPeer2PrefixThresholdExceeded + +Added notification cbgpPeer2PrefixThresholdClear"; + } + + revision 2003-02-24 { + description + "+Added cbgpPeerCapsTable + +Added cbgpPeerAddrFamilyTable + +Added cbgpPeerAddrFamilyPrefixTable + +Added notification event cbgpBackwardTransition + +Added notification event cbgpPrefixThresholdExceeded + +Added notification event cbgpPrefixThresholdClear"; + } + + revision 2002-12-19 { + description + "+Added cbgpPeerPrefixTable + +Added notification event cbgpFsmStateChange"; + } + + revision 2001-08-13 { + description + "Initial version of the MIB module."; + } + + typedef CbgpSafi { + type enumeration { + enum "unicast" { + value "1"; + } + enum "multicast" { + value "2"; + } + enum "unicastAndMulticast" { + value "3"; + } + enum "vpn" { + value "128"; + } + } + description + "Subsequent Address Family Identifier(SAFI) is used + by BGP speaker to indicate the type of the the Network + Layer Reachability Information(NLRI) being carried. + RFC-2858 has defined the following values for SAFI. + 1 - Network Layer Reachability Information used for + unicast forwarding + 2 - Network Layer Reachability Information used for + multicast forwarding + 3 - Network Layer Reachability Information used for + both unicast and multicast forwarding. + SAFI values 128 through 255 are for private use."; + reference + "RFC-2858: Multiprotocol Extensions for BGP-4, + RFC-2547: BGP/MPLS VPNs"; + } + + typedef CbgpNetworkAddress { + type binary { + length "0..255"; + } + description + "Represents the Network Address prefix carried in the + BGP UPDATE messages. In the following table, column + 'Type' gives the kind of Network Layer address which + will be stored in the object of this type based on the + values of Address Family Identifier(AFI) and SAFI. + + AFI SAFI Type + + ipv4(1) unicast(1) IPv4 address + ipv4(1) multicast(2) IPv4 address + ipv4(1) vpn(128) VPN-IPv4 address + ipv6(2) unicast(1) IPv6 address + ipv6(2) multicast(2) IPv6 address + ipv6(2) vpn(128) VPN-IPv6 address + + A VPN-IPv4 address is a 12-byte quantity, beginning + with an 8-byte 'Route Distinguisher (RD)' and ending + with a 4-byte IPv4 address. + + A VPN-IPv6 address is a 24-byte quantity, beginning + with an 8-byte 'Route Distinguisher (RD)' and ending + with a 16-byte IPv6 address."; + reference + "RFC 2858, Multiprotocol Extensions for BGP-4. + RFC 2547, Section 4.1, BGP/MPLS VPNs."; + } + + + container CISCO-BGP4-MIB { + config false; + + container cbgpGlobal { + smiv2:oid "1.3.6.1.4.1.9.9.187.1.3"; + + leaf cbgpNotifsEnable { + type bits { + bit notifsEnable { + position "0"; + } + bit notifsPeer2Enable { + position "1"; + } + } + description + "Indicates whether the specific notifications are + enabled. + If notifsEnable(0) bit is set to 1, + then the notifications defined in + ciscoBgp4NotificationsGroup1 are enabled; + If notifsPeer2Enable(1) bit is set to 1, + then the notifications defined in + ciscoBgp4Peer2NotificationsGroup are enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.3.1"; + } + + leaf cbgpLocalAs { + type inet:as-number; + description + "The local autonomous system (AS) number."; + reference + "RFC 4271, Section 4.2, 'My Autonomous System'. + RFC 4893, BGP Support for Four-octet AS + Number Space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.3.2"; + } + } + + container cbgpRouteTable { + description + "This table contains information about routes to + destination networks from all BGP4 peers. Since + BGP4 can carry routes for multiple Network Layer + protocols, this table has the Address Family + Identifier(AFI) of the Network Layer protocol as the + first index. Further for a given AFI, routes carried + by BGP4 are distinguished based on Subsequent Address + Family Identifiers(SAFI). Hence that is used as the + second index. Conceptually there is a separate Loc-RIB + maintained by the BGP speaker for each combination of + AFI and SAFI supported by it."; + reference + "RFC-1771: A Border Gateway Protocol 4 (BGP-4), + RFC-2858: Multiprotocol Extensions for BGP-4, + RFC-2547: BGP/MPLS VPNs"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1"; + + list cbgpRouteEntry { + key "cbgpRouteAfi cbgpRouteSafi cbgpRoutePeerType cbgpRoutePeer cbgpRouteAddrPrefix cbgpRouteAddrPrefixLen"; + description + "Information about a path to a network received from + a peer."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1"; + + leaf cbgpRouteAfi { + type inet-address:InetAddressType; + description + "Represents Address Family Identifier(AFI) of the + Network Layer protocol associated with the route. + An implementation is only required to support IPv4 + unicast and VPNv4 (Value - 1) address families."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.1"; + } + + leaf cbgpRouteSafi { + type CISCO-BGP4-MIB:CbgpSafi; + description + "Represents Subsequent Address Family Identifier(SAFI) + of the route. It gives additional information about + the type of the route. An implementation is only + required to support IPv4 unicast(Value - 1) and VPNv4( + Value - 128) address families."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.2"; + } + + leaf cbgpRoutePeerType { + type inet-address:InetAddressType; + description + "Represents the type of Network Layer address stored + in cbgpRoutePeer. An implementation is only required + to support IPv4 address type(Value - 1)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.3"; + } + + leaf cbgpRoutePeer { + type inet-address:InetAddress; + description + "The Network Layer address of the peer where the route + information was learned. An implementation is only + required to support an IPv4 peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.4"; + } + + leaf cbgpRouteAddrPrefix { + type CISCO-BGP4-MIB:CbgpNetworkAddress; + description + "A Network Address prefix in the Network Layer + Reachability Information field of BGP UPDATE message. + This object is a Network Address containing the prefix + with length specified by cbgpRouteAddrPrefixLen. Any + bits beyond the length specified by + cbgpRouteAddrPrefixLen are zeroed."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.5"; + } + + leaf cbgpRouteAddrPrefixLen { + type uint32 { + range "0..2040"; + } + description + "Length in bits of the Network Address prefix in the + Network Layer Reachability Information field."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.6"; + } + + leaf cbgpRouteOrigin { + type enumeration { + enum "igp" { + value "1"; + } + enum "egp" { + value "2"; + } + enum "incomplete" { + value "3"; + } + } + description + "The ultimate origin of the route information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.7"; + } + + leaf cbgpRouteASPathSegment { + type binary { + length "0..255"; + } + description + "The sequence of AS path segments. Each AS + path segment is represented by a triple + . + + The type is a 1-octet field which has two + possible values: + 1 AS_SET: unordered set of ASs a route in the + UPDATE message has traversed + 2 AS_SEQUENCE: ordered set of ASs a route in the + UPDATE message has traversed. + + The length is a 1-octet field containing the + number of ASs in the value field. + + The value field contains one or more AS + numbers, each AS is represented in the octet + string as a pair of octets according to the + following algorithm: + + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255;"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.8"; + } + + leaf cbgpRouteNextHop { + type CISCO-BGP4-MIB:CbgpNetworkAddress; + description + "The Network Layer address of the border router + that should be used for the destination network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.9"; + } + + leaf cbgpRouteMedPresent { + type boolean; + description + "Indicates the presence/absence of MULTI_EXIT_DISC + attribute for the route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.10"; + } + + leaf cbgpRouteMultiExitDisc { + type uint32 { + range "0..4294967295"; + } + description + "This metric is used to discriminate between multiple + exit points to an adjacent autonomous system. The + value of this object is irrelevant if the value of + of cbgpRouteMedPresent is false(2)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.11"; + } + + leaf cbgpRouteLocalPrefPresent { + type boolean; + description + "Indicates the presence/absence of LOCAL_PREF + attribute for the route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.12"; + } + + leaf cbgpRouteLocalPref { + type uint32 { + range "0..4294967295"; + } + description + "The degree of preference calculated by the local BGP4 + speaker for the route. The value of this object is + irrelevant if the value of cbgpRouteLocalPrefPresent + is false(2)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.13"; + } + + leaf cbgpRouteAtomicAggregate { + type enumeration { + enum "lessSpecificRouteNotSelected" { + value "1"; + } + enum "lessSpecificRouteSelected" { + value "2"; + } + } + description + "Whether or not the local system has selected a less + specific route without selecting a more specific + route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.14"; + } + + leaf cbgpRouteAggregatorAS { + type uint32 { + range "0..65535"; + } + description + "The AS number of the last BGP4 speaker that performed + route aggregation. A value of zero (0) indicates the + absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.15"; + } + + leaf cbgpRouteAggregatorAddrType { + type inet-address:InetAddressType; + description + "Represents the type of Network Layer address stored + in cbgpRouteAggregatorAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.16"; + } + + leaf cbgpRouteAggregatorAddr { + type inet-address:InetAddress; + description + "The Network Layer address of the last BGP4 speaker + that performed route aggregation. A value of all zeros + indicates the absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.17"; + } + + leaf cbgpRouteBest { + type boolean; + description + "An indication of whether or not this route was chosen + as the best BGP4 route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.18"; + } + + leaf cbgpRouteUnknownAttr { + type binary { + length "0..255"; + } + description + "One or more path attributes not understood by this + BGP4 speaker. Size zero (0) indicates the absence of + such attribute(s). Octets beyond the maximum size, if + any, are not recorded by this object. + + Each path attribute is a triple of variable length. + Attribute Type is a two-octet field that consists of + the Attribute Flags octet followed by the Attribute + Type Code octet. If the Extended Length bit of the + Attribute Flags octet is set to 0, the third octet of + the Path Attribute contains the length of the + attribute data in octets. If the Extended Length bit + of the Attribute Flags octet is set to 1, then the + third and the fourth octets of the path attribute + contain the length of the attribute data in octets. + The remaining octets of the Path Attribute represent + the attribute value and are interpreted according to + the Attribute Flags and the Attribute Type Code."; + reference + "RFC-1771: A Border Gateway Protocol 4 (BGP-4), + section 4.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1.1.1.19"; + } + } + } + + container cbgpPeerCapsTable { + description + "This table contains the capabilities that are + supported by a peer. Capabilities of a peer are + received during BGP connection establishment. + Values corresponding to each received capability + are stored in this table. When a new capability + is received, this table is updated with a new + entry. When an existing capability is not received + during the latest connection establishment, the + corresponding entry is deleted from the table."; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + + RFC2818, Route Refresh Capability for BGP-4. + + RFC2858, Multiprotocol Extensions for BGP-4. + + draft-ietf-idr-restart-05.txt, Graceful Restart + Mechanism for BGP"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.2"; + + list cbgpPeerCapsEntry { + key "bgpPeerRemoteAddr cbgpPeerCapCode cbgpPeerCapIndex"; + description + "Each entry represents a capability received from a + peer with a particular code and an index. When a + capability is received multiple times with different + values during a BGP connection establishment, + corresponding entries are differentiated with indices."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.2.1"; + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerCapCode { + type enumeration { + enum "multiProtocol" { + value "1"; + } + enum "routeRefresh" { + value "2"; + } + enum "gracefulRestart" { + value "64"; + } + enum "routeRefreshOld" { + value "128"; + } + } + description + "The BGP Capability Advertisement Capability Code."; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + + RFC2818, Route Refresh Capability for BGP-4. + + RFC2858, Multiprotocol Extensions for BGP-4. + + draft-ietf-idr-restart-05.txt, Graceful Restart + Mechanism for BGP"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.2.1.1"; + } + + leaf cbgpPeerCapIndex { + type uint32 { + range "1..128"; + } + description + "Multiple instances of a given capability may be + sent by a BGP speaker. This variable is used + to index them."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.2.1.2"; + } + + leaf cbgpPeerCapValue { + type binary { + length "0..255"; + } + description + "The value of the announced capability. This + MIB object value is organized as given below, + Capability : Route Refresh Capability + Null string + Capability : Multiprotocol Extensions + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + Capability : Graceful Restart + +----------------------------------+ + | Restart Flags (4 bits) | + +----------------------------------+ + | Restart Time in seconds (12 bits)| + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + | Flags for Address Family (8 bits)| + +----------------------------------+ + | ... | + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + | Flags for Address Family (8 bits)| + +----------------------------------+"; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + + RFC2818, Route Refresh Capability for BGP-4. + + RFC2858, Multiprotocol Extensions for BGP-4. + + draft-ietf-idr-restart-05.txt, Graceful Restart + Mechanism for BGP"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.2.1.3"; + } + } + } + + container cbgpPeerAddrFamilyTable { + description + "This table contains information related to + address families supported by a peer. Supported + address families of a peer are known during BGP + connection establishment. When a new supported + address family is known, this table is updated + with a new entry. When an address family is not + supported any more, corresponding entry is deleted + from the table."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.3"; + + list cbgpPeerAddrFamilyEntry { + key "bgpPeerRemoteAddr cbgpPeerAddrFamilyAfi cbgpPeerAddrFamilySafi"; + description + "An entry is identified by an AFI/SAFI pair and + peer address. It contains names associated with + an address family."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.3.1"; + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type inet-address:InetAddressType; + description + "The AFI index of the entry. An implementation + is only required to support IPv4 unicast and + VPNv4 (Value - 1) address families."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.3.1.1"; + } + + leaf cbgpPeerAddrFamilySafi { + type CISCO-BGP4-MIB:CbgpSafi; + description + "The SAFI index of the entry. An implementation + is only required to support IPv4 unicast(Value + - 1) and VPNv4( Value - 128) address families."; + reference + "RFC-2858: Multiprotocol Extensions for BGP-4, + RFC-2547: BGP/MPLS VPNs"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.3.1.2"; + } + + leaf cbgpPeerAddrFamilyName { + type snmp-framework:SnmpAdminString; + description + "Implementation specific Address Family name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.3.1.3"; + } + } + } + + container cbgpPeerAddrFamilyPrefixTable { + description + "This table contains prefix related information + related to address families supported by a peer. + Supported address families of a peer are known + during BGP connection establishment. When a new + supported address family is known, this table + is updated with a new entry. When an address + family is not supported any more, corresponding + entry is deleted from the table."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4"; + + list cbgpPeerAddrFamilyPrefixEntry { + key "bgpPeerRemoteAddr cbgpPeerAddrFamilyAfi cbgpPeerAddrFamilySafi"; + description + "An entry is identified by an AFI/SAFI pair and + peer address. It contains information associated + with route prefixes belonging to an address family."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1"; + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilyAfi"; + } + } + + leaf cbgpPeerAddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilySafi"; + } + } + + leaf cbgpPeerAcceptedPrefixes { + type yang:counter32; + description + "Number of accepted route prefixes on this connection, + which belong to an address family."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.1"; + } + + leaf cbgpPeerDeniedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, which + belongs to an address family, received on this + connection is denied. It is initialized to zero when + the connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.2"; + } + + leaf cbgpPeerPrefixAdminLimit { + type uint32 { + range "1..4294967295"; + } + description + "Max number of route prefixes accepted for an address + family on this connection."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.3"; + } + + leaf cbgpPeerPrefixThreshold { + type uint32 { + range "1..100"; + } + description + "Prefix threshold value (%) for an address family + on this connection at which warning message stating + the prefix count is crossed the threshold or + corresponding SNMP notification is generated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.4"; + } + + leaf cbgpPeerPrefixClearThreshold { + type uint32 { + range "1..100"; + } + description + "Prefix threshold value (%) for an address family + on this connection at which SNMP clear notification + is generated if prefix threshold notification is + already generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.5"; + } + + leaf cbgpPeerAdvertisedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family is advertised + on this connection. It is initialized to zero when + the connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.6"; + } + + leaf cbgpPeerSuppressedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family is suppressed + from being sent on this connection. It is + initialized to zero when the connection is undergone + a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.7"; + } + + leaf cbgpPeerWithdrawnPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family, is withdrawn on + this connection. It is initialized to zero when the + connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.4.1.8"; + } + } + } + + container cbgpPeer2Table { + description + "BGP peer table. This table contains, + one entry per BGP peer, information about + the connections with BGP peers."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5"; + + list cbgpPeer2Entry { + key "cbgpPeer2Type cbgpPeer2RemoteAddr"; + description + "Entry containing information about the + connection with a BGP peer."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1"; + + leaf cbgpPeer2Type { + type inet-address:InetAddressType; + description + "Represents the type of Peer address stored + in cbgpPeer2Entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.1"; + } + + leaf cbgpPeer2RemoteAddr { + type inet-address:InetAddress; + description + "The remote IP address of this entry's BGP + peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.2"; + } + + leaf cbgpPeer2State { + type enumeration { + enum "idle" { + value "1"; + } + enum "connect" { + value "2"; + } + enum "active" { + value "3"; + } + enum "opensent" { + value "4"; + } + enum "openconfirm" { + value "5"; + } + enum "established" { + value "6"; + } + } + description + "The BGP peer connection state."; + reference + "RFC 4271, Section 8.2.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.3"; + } + + leaf cbgpPeer2AdminStatus { + type enumeration { + enum "stop" { + value "1"; + } + enum "start" { + value "2"; + } + } + description + "The desired state of the BGP connection. + A transition from 'stop' to 'start' will cause + the BGP Manual Start Event to be generated. + A transition from 'start' to 'stop' will cause + the BGP Manual Stop Event to be generated. + This parameter can be used to restart BGP peer + connections. Care should be used in providing + write access to this object without adequate + authentication."; + reference + "RFC 4271, Section 8.1.2."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.4"; + } + + leaf cbgpPeer2NegotiatedVersion { + type int32; + description + "The negotiated version of BGP running between + the two peers. + + This entry MUST be zero (0) unless the + cbgpPeer2State is in the openconfirm or the + established state. + + Note that legal values for this object are + between 0 and 255."; + reference + "RFC 4271, Section 4.2. + RFC 4271, Section 7."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.5"; + } + + leaf cbgpPeer2LocalAddr { + type inet-address:InetAddress; + description + "The local IP address of this entry's BGP + connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.6"; + } + + leaf cbgpPeer2LocalPort { + type inet:port-number; + description + "The local port for the TCP connection between + the BGP peers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.7"; + } + + leaf cbgpPeer2LocalAs { + type inet:as-number; + description + "The local AS number for this session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.8"; + } + + leaf cbgpPeer2LocalIdentifier { + type inet:ipv4-address; + description + "The BGP Identifier of this entry's BGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.9"; + } + + leaf cbgpPeer2RemotePort { + type inet:port-number; + description + "The remote port for the TCP connection + between the BGP peers. Note that the + objects cbgpPeer2LocalAddr, + cbgpPeer2LocalPort, cbgpPeer2RemoteAddr, and + cbgpPeer2RemotePort provide the appropriate + reference to the standard MIB TCP + connection table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.10"; + } + + leaf cbgpPeer2RemoteAs { + type inet:as-number; + description + "The remote autonomous system number received in + the BGP OPEN message."; + reference + "RFC 4271, Section 4.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.11"; + } + + leaf cbgpPeer2RemoteIdentifier { + type inet:ipv4-address; + description + "The BGP Identifier of this entry's BGP peer. + This entry MUST be 0.0.0.0 unless the + cbgpPeer2State is in the openconfirm or the + established state."; + reference + "RFC 4271, Section 4.2, 'BGP Identifier'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.12"; + } + + leaf cbgpPeer2InUpdates { + type yang:counter32; + description + "The number of BGP UPDATE messages + received on this connection."; + reference + "RFC 4271, Section 4.3."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.13"; + } + + leaf cbgpPeer2OutUpdates { + type yang:counter32; + description + "The number of BGP UPDATE messages + transmitted on this connection."; + reference + "RFC 4271, Section 4.3."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.14"; + } + + leaf cbgpPeer2InTotalMessages { + type yang:counter32; + description + "The total number of messages received + from the remote peer on this connection."; + reference + "RFC 4271, Section 4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.15"; + } + + leaf cbgpPeer2OutTotalMessages { + type yang:counter32; + description + "The total number of messages transmitted to + the remote peer on this connection."; + reference + "RFC 4271, Section 4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.16"; + } + + leaf cbgpPeer2LastError { + type binary { + length "2"; + } + description + "The last error code and subcode seen by this + peer on this connection. If no error has + occurred, this field is zero. Otherwise, the + first byte of this two byte OCTET STRING + contains the error code, and the second byte + contains the subcode."; + reference + "RFC 4271, Section 4.5."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.17"; + } + + leaf cbgpPeer2FsmEstablishedTransitions { + type yang:counter32; + description + "The total number of times the BGP FSM + transitioned into the established state + for this peer."; + reference + "RFC 4271, Section 8."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.18"; + } + + leaf cbgpPeer2FsmEstablishedTime { + type yang:gauge32; + units "seconds"; + description + "This timer indicates how long (in + seconds) this peer has been in the + established state or how long + since this peer was last in the + established state. It is set to zero when + a new peer is configured or when the router is + booted."; + reference + "RFC 4271, Section 8."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.19"; + } + + leaf cbgpPeer2ConnectRetryInterval { + type int32 { + range "1..65535"; + } + units "seconds"; + description + "Time interval (in seconds) for the + ConnectRetry timer. The suggested value + for this timer is 120 seconds."; + reference + "RFC 4271, Section 8.2.2. This is the value used + to initialize the 'ConnectRetryTimer'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.20"; + } + + leaf cbgpPeer2HoldTime { + type int32 { + range "0|3..65535"; + } + units "seconds"; + description + "Time interval (in seconds) for the Hold + Timer established with the peer. The + value of this object is calculated by this + BGP speaker, using the smaller of the + values in cbgpPeer2HoldTimeConfigured and the + Hold Time received in the OPEN message. + + This value must be at least three seconds + if it is not zero (0). + + If the Hold Timer has not been established + with the peer this object MUST have a value + of zero (0). + + If the cbgpPeer2HoldTimeConfigured object has + a value of (0), then this object MUST have a + value of (0)."; + reference + "RFC 4271, Section 4.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.21"; + } + + leaf cbgpPeer2KeepAlive { + type int32 { + range "0..21845"; + } + units "seconds"; + description + "Time interval (in seconds) for the KeepAlive + timer established with the peer. The value + of this object is calculated by this BGP + speaker such that, when compared with + cbgpPeer2HoldTime, it has the same proportion + that cbgpPeer2KeepAliveConfigured has, + compared with cbgpPeer2HoldTimeConfigured. + + If the KeepAlive timer has not been established + with the peer, this object MUST have a value + of zero (0). + + If the of cbgpPeer2KeepAliveConfigured object + has a value of (0), then this object MUST have + a value of (0)."; + reference + "RFC 4271, Section 4.4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.22"; + } + + leaf cbgpPeer2HoldTimeConfigured { + type int32 { + range "0|3..65535"; + } + units "seconds"; + description + "Time interval (in seconds) for the Hold Time + configured for this BGP speaker with this + peer. This value is placed in an OPEN + message sent to this peer by this BGP + speaker, and is compared with the Hold + Time field in an OPEN message received + from the peer when determining the Hold + Time (cbgpPeer2HoldTime) with the peer. + This value must not be less than three + seconds if it is not zero (0). If it is + zero (0), the Hold Time is NOT to be + established with the peer. The suggested + value for this timer is 90 seconds."; + reference + "RFC 4271, Section 4.2. + RFC 4271, Section 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.23"; + } + + leaf cbgpPeer2KeepAliveConfigured { + type int32 { + range "0..21845"; + } + units "seconds"; + description + "Time interval (in seconds) for the + KeepAlive timer configured for this BGP + speaker with this peer. The value of this + object will only determine the + KEEPALIVE messages' frequency relative to + the value specified in + cbgpPeer2HoldTimeConfigured; the actual + time interval for the KEEPALIVE messages is + indicated by cbgpPeer2KeepAlive. A + reasonable maximum value for this timer + would be one third of that of + cbgpPeer2HoldTimeConfigured. + If the value of this object is zero (0), + no periodical KEEPALIVE messages are sent + to the peer after the BGP connection has + been established. The suggested value for + this timer is 30 seconds."; + reference + "RFC 4271, Section 4.4. + RFC 4271, Section 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.24"; + } + + leaf cbgpPeer2MinASOriginationInterval { + type int32 { + range "1..65535"; + } + units "seconds"; + description + "Time interval (in seconds) for the + MinASOriginationInterval timer. + The suggested value for this timer is 15 + seconds."; + reference + "RFC 4271, Section 9.2.1.2. + RFC 4271, Section 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.25"; + } + + leaf cbgpPeer2MinRouteAdvertisementInterval { + type int32 { + range "1..65535"; + } + units "seconds"; + description + "Time interval (in seconds) for the + MinRouteAdvertisementInterval timer. + The suggested value for this timer is 30 + seconds for EBGP connections and 5 + seconds for IBGP connections."; + reference + "RFC 4271, Section 9.2.1.1. + RFC 4271, Section 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.26"; + } + + leaf cbgpPeer2InUpdateElapsedTime { + type yang:gauge32; + units "seconds"; + description + "Elapsed time (in seconds) since the last BGP + UPDATE message was received from the peer. + Each time cbgpPeer2InUpdates is incremented, + the value of this object is set to zero (0)."; + reference + "RFC 4271, Section 4.3. + RFC 4271, Section 8.2.2, Established state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.27"; + } + + leaf cbgpPeer2LastErrorTxt { + type snmp-framework:SnmpAdminString; + description + "Implementation specific error description for + bgpPeerLastErrorReceived."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.28"; + } + + leaf cbgpPeer2PrevState { + type enumeration { + enum "none" { + value "0"; + } + enum "idle" { + value "1"; + } + enum "connect" { + value "2"; + } + enum "active" { + value "3"; + } + enum "opensent" { + value "4"; + } + enum "openconfirm" { + value "5"; + } + enum "established" { + value "6"; + } + } + description + "The BGP peer connection previous state."; + reference + "RFC 1771, Section 8, A Border Gateway Protocol 4 + (BGP-4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.5.1.29"; + } + } + } + + container cbgpPeer2CapsTable { + description + "This table contains the capabilities that are + supported by a peer. Capabilities of a peer are + received during BGP connection establishment. + Values corresponding to each received capability + are stored in this table. When a new capability + is received, this table is updated with a new + entry. When an existing capability is not received + during the latest connection establishment, the + corresponding entry is deleted from the table."; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + RFC 2818, Route Refresh Capability for BGP-4. + RFC 2858, Multiprotocol Extensions for BGP-4. + RFC 4724, Graceful Restart Mechanism for BGP. + RFC 4893, BGP Support for Four-octet AS + Number Space. + draft-ietf-idr-add-paths-04.txt, Advertisement + of Multiple Paths in BGP."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.6"; + + list cbgpPeer2CapsEntry { + key "cbgpPeer2Type cbgpPeer2RemoteAddr cbgpPeer2CapCode cbgpPeer2CapIndex"; + description + "Each entry represents a capability received from a + peer with a particular code and an index. When a + capability is received multiple times with different + values during a BGP connection establishment, + corresponding entries are differentiated with indices."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.6.1"; + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2CapCode { + type enumeration { + enum "multiProtocol" { + value "1"; + } + enum "routeRefresh" { + value "2"; + } + enum "gracefulRestart" { + value "64"; + } + enum "fourByteAs" { + value "65"; + } + enum "addPath" { + value "69"; + } + enum "routeRefreshOld" { + value "128"; + } + } + description + "The BGP Capability Advertisement Capability Code."; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + RFC 2818, Route Refresh Capability for BGP-4. + RFC 2858, Multiprotocol Extensions for BGP-4. + RFC 4724, Graceful Restart Mechanism for BGP. + RFC 4893, BGP Support for Four-octet AS + Number Space. + draft-ietf-idr-add-paths-04.txt, Advertisement + of Multiple Paths in BGP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.6.1.1"; + } + + leaf cbgpPeer2CapIndex { + type uint32 { + range "1..128"; + } + description + "Multiple instances of a given capability may be + sent by a BGP speaker. This variable is used + to index them."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.6.1.2"; + } + + leaf cbgpPeer2CapValue { + type binary { + length "0..255"; + } + description + "The value of the announced capability. This + MIB object value is organized as given below, + Capability : Route Refresh Capability + 4-Byte AS Capability + Null string + Capability : Multiprotocol Extensions + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + Capability : Graceful Restart + +----------------------------------+ + | Restart Flags (4 bits) | + +----------------------------------+ + | Restart Time in seconds (12 bits)| + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + | Flags for Address Family (8 bits)| + +----------------------------------+ + | ... | + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + | Flags for Address Family (8 bits)| + +----------------------------------+ + Capability : Additional Paths + +----------------------------------+ + | AFI(16 bits) | + +----------------------------------+ + | SAFI (8 bits) | + +----------------------------------+ + | Send/Receive (8 bits) | + +----------------------------------+"; + reference + "RFC 2842, Capabilities Advertisement with + BGP-4. + RFC 2818, Route Refresh Capability for BGP-4. + RFC 2858, Multiprotocol Extensions for BGP-4. + RFC 4724, Graceful Restart Mechanism for BGP. + RFC 4893, BGP Support for Four-octet AS + Number Space. + draft-ietf-idr-add-paths-04.txt, Advertisement + of Multiple Paths in BGP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.6.1.3"; + } + } + } + + container cbgpPeer2AddrFamilyTable { + description + "This table contains information related to + address families supported by a peer. Supported + address families of a peer are known during BGP + connection establishment. When a new supported + address family is known, this table is updated + with a new entry. When an address family is not + supported any more, corresponding entry is deleted + from the table."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.7"; + + list cbgpPeer2AddrFamilyEntry { + key "cbgpPeer2Type cbgpPeer2RemoteAddr cbgpPeer2AddrFamilyAfi cbgpPeer2AddrFamilySafi"; + description + "An entry is identified by an AFI/SAFI pair and + peer address. It contains names associated with + an address family."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.7.1"; + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type inet-address:InetAddressType; + description + "The AFI index of the entry. An implementation + is only required to support IPv4 unicast and + VPNv4 (Value - 1) address families."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.7.1.1"; + } + + leaf cbgpPeer2AddrFamilySafi { + type CISCO-BGP4-MIB:CbgpSafi; + description + "The SAFI index of the entry. An implementation + is only required to support IPv4 unicast(Value + - 1) and VPNv4( Value - 128) address families."; + reference + "RFC 2858, Multiprotocol Extensions for BGP-4. + RFC 2547, BGP/MPLS VPNs."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.7.1.2"; + } + + leaf cbgpPeer2AddrFamilyName { + type snmp-framework:SnmpAdminString; + description + "Implementation specific Address Family name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.7.1.3"; + } + } + } + + container cbgpPeer2AddrFamilyPrefixTable { + description + "This table contains prefix related information + related to address families supported by a peer. + Supported address families of a peer are known + during BGP connection establishment. When a new + supported address family is known, this table + is updated with a new entry. When an address + family is not supported any more, corresponding + entry is deleted from the table."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8"; + + list cbgpPeer2AddrFamilyPrefixEntry { + key "cbgpPeer2Type cbgpPeer2RemoteAddr cbgpPeer2AddrFamilyAfi cbgpPeer2AddrFamilySafi"; + description + "An entry is identified by an AFI/SAFI pair and + peer address. It contains information associated + with route prefixes belonging to an address family."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1"; + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyAfi"; + } + } + + leaf cbgpPeer2AddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilySafi"; + } + } + + leaf cbgpPeer2AcceptedPrefixes { + type yang:counter32; + description + "Number of accepted route prefixes on this connection, + which belong to an address family."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.1"; + } + + leaf cbgpPeer2DeniedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, which + belongs to an address family, received on this + connection is denied. It is initialized to zero when + the connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.2"; + } + + leaf cbgpPeer2PrefixAdminLimit { + type uint32 { + range "1..4294967295"; + } + description + "Max number of route prefixes accepted for an address + family on this connection."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.3"; + } + + leaf cbgpPeer2PrefixThreshold { + type uint32 { + range "1..100"; + } + units "percent"; + description + "Prefix threshold value (%) for an address family + on this connection at which warning message stating + the prefix count is crossed the threshold or + corresponding SNMP notification is generated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.4"; + } + + leaf cbgpPeer2PrefixClearThreshold { + type uint32 { + range "1..100"; + } + units "percent"; + description + "Prefix threshold value (%) for an address family + on this connection at which SNMP clear notification + is generated if prefix threshold notification is + already generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.5"; + } + + leaf cbgpPeer2AdvertisedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family is advertised + on this connection. It is initialized to zero when + the connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.6"; + } + + leaf cbgpPeer2SuppressedPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family is suppressed + from being sent on this connection. It is + initialized to zero when the connection is undergone + a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.7"; + } + + leaf cbgpPeer2WithdrawnPrefixes { + type yang:gauge32; + description + "This counter is incremented when a route prefix, + which belongs to an address family, is withdrawn on + this connection. It is initialized to zero when the + connection is undergone a hard reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.8.1.8"; + } + } + } + } + + smiv2:alias "cbgpPeerTable" { + description + "BGP peer table. This table contains, + one entry per BGP peer, information about + the connections with BGP peers."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1"; + } + + smiv2:alias "cbgpPeerEntry" { + description + "Entry containing information about the + connection with a BGP peer."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1"; + } + + augment "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry" { + description + "Entry containing information about the + connection with a BGP peer."; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1"; + + leaf cbgpPeerPrefixAccepted { + type yang:counter32; + status deprecated; + description + "Number of Route prefixes received on this connnection, + which are accepted after applying filters. Possible + filters are route maps, prefix lists, distributed + lists, etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.1"; + } + + leaf cbgpPeerPrefixDenied { + type yang:counter32; + status deprecated; + description + "Counter which gets incremented when a route prefix + received on this connection is denied or when a route + prefix is denied during soft reset of this connection + if 'soft-reconfiguration' is on . This object is + initialized to zero when the peer is configured or + the router is rebooted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.2"; + } + + leaf cbgpPeerPrefixLimit { + type uint32 { + range "1..4294967295"; + } + status deprecated; + description + "Max number of route prefixes accepted on this + connection"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.3"; + } + + leaf cbgpPeerPrefixAdvertised { + type yang:counter32; + status deprecated; + description + "Counter which gets incremented when a route prefix + is advertised on this connection. This object is + initialized to zero when the peer is configured or + the router is rebooted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.4"; + } + + leaf cbgpPeerPrefixSuppressed { + type yang:counter32; + status deprecated; + description + "Counter which gets incremented when a route prefix + is suppressed from being sent on this connection. This + object is initialized to zero when the peer is + configured or the router is rebooted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.5"; + } + + leaf cbgpPeerPrefixWithdrawn { + type yang:counter32; + status deprecated; + description + "Counter which gets incremented when a route prefix + is withdrawn on this connection. This object is + initialized to zero when the peer is configured or + the router is rebooted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.6"; + } + + leaf cbgpPeerLastErrorTxt { + type snmp-framework:SnmpAdminString; + description + "Implementation specific error description for + bgpPeerLastErrorReceived."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.7"; + } + + leaf cbgpPeerPrevState { + type enumeration { + enum "none" { + value "0"; + } + enum "idle" { + value "1"; + } + enum "connect" { + value "2"; + } + enum "active" { + value "3"; + } + enum "opensent" { + value "4"; + } + enum "openconfirm" { + value "5"; + } + enum "established" { + value "6"; + } + } + description + "The BGP peer connection previous state."; + reference + "Section 8, RFC 1771, A Border Gateway Protocol 4 + (BGP-4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2.1.1.8"; + } + } + + notification cbgpFsmStateChange { + description + "The BGP cbgpFsmStateChange notification is generated + for every BGP FSM state change. The bgpPeerRemoteAddr + value is attached to the notification object ID."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.1"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerLastError { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerLastError"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerState { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerState"; + } + } + } + + container object-3 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerLastErrorTxt { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/CISCO-BGP4-MIB:cbgpPeerLastErrorTxt"; + } + } + } + + container object-4 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerPrevState { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/CISCO-BGP4-MIB:cbgpPeerPrevState"; + } + } + } + } + + notification cbgpBackwardTransition { + description + "The cbgpBackwardTransition Event is generated when the + BGP FSM moves from a higher numbered state to a lower + numbered state. The bgpPeerRemoteAddr value is attached + to the notification object ID."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.2"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerLastError { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerLastError"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf bgpPeerState { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerState"; + } + } + } + + container object-3 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerLastErrorTxt { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/CISCO-BGP4-MIB:cbgpPeerLastErrorTxt"; + } + } + } + + container object-4 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerPrevState { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/CISCO-BGP4-MIB:cbgpPeerPrevState"; + } + } + } + } + + notification cbgpPrefixThresholdExceeded { + description + "The cbgpPrefixThresholdExceeded notification is + generated when prefix count exceeds the configured + warning threshold on a session for an address + family. The bgpPeerRemoteAddr, cbgpPeerAddrFamilyAfi + and cbgpPeerAddrFamilySafi values are attached to the + notification object ID."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.3"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilyAfi"; + } + } + + leaf cbgpPeerAddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilySafi"; + } + } + + leaf cbgpPeerPrefixAdminLimit { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeerPrefixAdminLimit"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilyAfi"; + } + } + + leaf cbgpPeerAddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilySafi"; + } + } + + leaf cbgpPeerPrefixThreshold { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeerPrefixThreshold"; + } + } + } + } + + notification cbgpPrefixThresholdClear { + description + "The cbgpPrefixThresholdClear notification is + generated when prefix count drops below the configured + clear threshold on a session for an address family once + cbgpPrefixThresholdExceeded is generated. This won't + be generated if the peer session goes down after the + generation of cbgpPrefixThresholdExceeded. + The bgpPeerRemoteAddr, cbgpPeerAddrFamilyAfi and + cbgpPeerAddrFamilySafi values are attached to the + notification object ID."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.4"; + + container object-1 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilyAfi"; + } + } + + leaf cbgpPeerAddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilySafi"; + } + } + + leaf cbgpPeerPrefixAdminLimit { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeerPrefixAdminLimit"; + } + } + } + + container object-2 { + + leaf bgpPeerRemoteAddr { + type leafref { + path "/bgp4-mib:BGP4-MIB/bgp4-mib:bgpPeerTable/bgp4-mib:bgpPeerEntry/bgp4-mib:bgpPeerRemoteAddr"; + } + } + + leaf cbgpPeerAddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilyAfi"; + } + } + + leaf cbgpPeerAddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeerAddrFamilySafi"; + } + } + + leaf cbgpPeerPrefixClearThreshold { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeerAddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeerPrefixClearThreshold"; + } + } + } + } + + notification cbgpPeer2EstablishedNotification { + description + "The cbgpPeer2EstablishedNotification notification + is generated when the BGP FSM enters the established + state."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.5"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastError { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastError"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2State { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2State"; + } + } + } + } + + notification cbgpPeer2BackwardTransNotification { + description + "The cbgpPeer2BackwardTransNotification notification + is generated when the BGP FSM moves from a higher + numbered state to a lower numbered state."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.6"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastError { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastError"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2State { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2State"; + } + } + } + } + + notification cbgpPeer2FsmStateChange { + description + "The cbgpPeer2FsmStateChange notification is generated + for every BGP FSM state change."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.7"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastError { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastError"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2State { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2State"; + } + } + } + + container object-3 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastErrorTxt { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastErrorTxt"; + } + } + } + + container object-4 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2PrevState { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2PrevState"; + } + } + } + } + + notification cbgpPeer2BackwardTransition { + description + "The cbgpPeer2BackwardTransition notification is + generated when the BGP FSM moves from a higher numbered + state to a lower numbered state."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.8"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastError { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastError"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2State { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2State"; + } + } + } + + container object-3 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2LastErrorTxt { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2LastErrorTxt"; + } + } + } + + container object-4 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2PrevState { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2PrevState"; + } + } + } + } + + notification cbgpPeer2PrefixThresholdExceeded { + description + "The cbgpPeer2PrefixThresholdExceeded notification is + generated when prefix count exceeds the configured + warning threshold on a session for an address + family."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.9"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyAfi"; + } + } + + leaf cbgpPeer2AddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilySafi"; + } + } + + leaf cbgpPeer2PrefixAdminLimit { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeer2PrefixAdminLimit"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyAfi"; + } + } + + leaf cbgpPeer2AddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilySafi"; + } + } + + leaf cbgpPeer2PrefixThreshold { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeer2PrefixThreshold"; + } + } + } + } + + notification cbgpPeer2PrefixThresholdClear { + description + "The cbgpPeer2PrefixThresholdClear notification is + generated when prefix count drops below the configured + clear threshold on a session for an address family once + cbgpPeer2PrefixThresholdExceeded is generated. + This will not be generated if the peer session goes down + after the generation of cbgpPrefixThresholdExceeded."; + smiv2:oid "1.3.6.1.4.1.9.9.187.0.10"; + + container object-1 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyAfi"; + } + } + + leaf cbgpPeer2AddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilySafi"; + } + } + + leaf cbgpPeer2PrefixAdminLimit { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeer2PrefixAdminLimit"; + } + } + } + + container object-2 { + + leaf cbgpPeer2Type { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2Type"; + } + } + + leaf cbgpPeer2RemoteAddr { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2Table/CISCO-BGP4-MIB:cbgpPeer2Entry/CISCO-BGP4-MIB:cbgpPeer2RemoteAddr"; + } + } + + leaf cbgpPeer2AddrFamilyAfi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyAfi"; + } + } + + leaf cbgpPeer2AddrFamilySafi { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyEntry/CISCO-BGP4-MIB:cbgpPeer2AddrFamilySafi"; + } + } + + leaf cbgpPeer2PrefixClearThreshold { + type leafref { + path "/CISCO-BGP4-MIB:CISCO-BGP4-MIB/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixTable/CISCO-BGP4-MIB:cbgpPeer2AddrFamilyPrefixEntry/CISCO-BGP4-MIB:cbgpPeer2PrefixClearThreshold"; + } + } + } + } + + smiv2:alias "ciscoBgp4MIB" { + smiv2:oid "1.3.6.1.4.1.9.9.187"; + } + + smiv2:alias "ciscoBgp4NotifyPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.187.0"; + } + + smiv2:alias "ciscoBgp4MIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.187.1"; + } + + smiv2:alias "cbgpRoute" { + smiv2:oid "1.3.6.1.4.1.9.9.187.1.1"; + } + + smiv2:alias "cbgpPeer" { + smiv2:oid "1.3.6.1.4.1.9.9.187.1.2"; + } + + smiv2:alias "cbgpGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.187.1.3"; + } + + smiv2:alias "ciscoBgp4NotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.187.2"; + } + + smiv2:alias "ciscoBgp4MIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.187.3"; + } + + smiv2:alias "ciscoBgp4MIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.187.3.1"; + } + + smiv2:alias "ciscoBgp4MIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.187.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-BULK-FILE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-BULK-FILE-MIB.yang new file mode 100644 index 000000000..600b968e5 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-BULK-FILE-MIB.yang @@ -0,0 +1,812 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-BULK-FILE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-BULK-FILE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-BULK-FILE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB"; + prefix CISCO-BULK-FILE-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for creating and deleting bulk files of + SNMP data for file transfer."; + + revision 2002-06-10 { + description + "Added enum 'forcedCreate' for object 'cbfDefineFileNow' + for forced creation of configuration files."; + } + + revision 2002-05-15 { + description + "Added default values for all read-write objects in table to + simplify creation of table rows."; + } + + revision 2001-08-22 { + description + "Modified description of objects + cbfDefineObjectTableInstance and + cbfDefineObjectLastPolledInst in cbfDefineObjectTable + to accept/represent Full OIDs instead of partial OIDs."; + } + + revision 2001-08-01 { + description + "Enhanced the MIB for selective row transfer from + MIBS. Added a notification to indicate bulk file creation + or error(during creation of the file). + + Added object cbfDefineFileNotifyOnCompletion to + cbfDefineFileTable. + Added the objects cbfDefineObjectTableInstance, + cbfDefineObjectLastPolledInst and + cbfDefineObjectNumEntries to cbfDefineObjectTable. + Added cbfDefineFileCompletion notification."; + } + + revision 2001-06-26 { + description + "Added the following enumerations variantBERWithCksum(4) and + variantBinWithCksum(5) in cbfDefineFileFormat"; + } + + revision 1998-10-29 { + description + "Initial version of this MIB module."; + } + + + container CISCO-BULK-FILE-MIB { + config false; + + container cbfDefine { + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1"; + + leaf cbfDefineMaxFiles { + type uint32 { + range "0..4294967295"; + } + description + "The maximum number of file definitions this system + can hold in cbfDefineFileTable. A value of 0 indicates no + configured limit. + + This object may be read-only on some systems. + + Changing this number does not disturb existing entries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.1"; + } + + leaf cbfDefineFiles { + type yang:gauge32; + description + "The current number of file definitions in cbfDefineFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.2"; + } + + leaf cbfDefineHighFiles { + type yang:gauge32; + description + "The maximum value of cbfDefineFiles since system + initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.3"; + } + + leaf cbfDefineFilesRefused { + type yang:counter32; + description + "The number of attempts to create a file definition that + failed due to exceeding cbfDefineMaxFiles."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.4"; + } + + leaf cbfDefineMaxObjects { + type uint32 { + range "0..4294967295"; + } + description + "The maximum total number of object selections to go with + file definitions this system, that is, the total number + of objects this system can hold in cbfDefineObjectTable. A + value of 0 indicates no configured limit. + + This object may be read-only on some systems. + + Changing this number does not disturb existing entries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.5"; + } + + leaf cbfDefineObjects { + type yang:gauge32; + description + "The current number of object selections in + cbfDefineObjectTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.6"; + } + + leaf cbfDefineHighObjects { + type yang:gauge32; + description + "The maximum value of cbfDefineObjects since system + initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.7"; + } + + leaf cbfDefineObjectsRefused { + type yang:counter32; + description + "The number of attempts to create an object selection that + failed due to exceeding cbfDefineMaxObjects."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.8"; + } + } + + container cbfStatus { + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2"; + + leaf cbfStatusMaxFiles { + type uint32 { + range "0..4294967295"; + } + description + "The maximum number of file statuses this system + can hold in cbfStatusFileTable. A value of 0 indicates no + configured limit. + + This object may be read-only on some systems. + + Changing this number deletes the oldest finished entries until + the new limit is satisfied."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.1"; + } + + leaf cbfStatusFiles { + type yang:gauge32; + description + "The current number of file statuses in cbfStatusFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.2"; + } + + leaf cbfStatusHighFiles { + type yang:gauge32; + description + "The maximum value of cbfStatusFiles since system + initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.3"; + } + + leaf cbfStatusFilesBumped { + type yang:counter32; + description + "The number times the oldest entry was deleted due to exceeding + cbfStatusMaxFiles."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.4"; + } + } + + container cbfDefineFileTable { + description + "A table of bulk file definition and creation controls."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9"; + + list cbfDefineFileEntry { + key "cbfDefineFileIndex"; + description + "Information for creation of a bulk file. + + To creat a bulk file an application creates an entry in this + table and corresponding entries in cbfDefineObjectTable. + + When the entry in this table and the corresponding + entries in cbfDefineObjectTable are 'active' the + appliction uses cbfDefineFileNow to create the file + and a corresponding entry in cbfStatusFileTable. + + Deleting an entry in cbfDefineFileTable deletes all + corresponding entries in cbfDefineObjectTable and + cbfStatusFileTable. + + An entry may not be modified or deleted while its + cbfDefineFileNow has the value 'running'."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1"; + + leaf cbfDefineFileIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer to uniquely identify this entry. To + create an entry a management application should pick a + random number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.1"; + } + + leaf cbfDefineFileName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The file name which is to be created. + + Explicit device or path choices in the value of this object + override cbfDefineFileStorage."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.2"; + } + + leaf cbfDefineFileStorage { + type enumeration { + enum "ephemeral" { + value "1"; + } + enum "volatile" { + value "2"; + } + enum "permanent" { + value "3"; + } + } + description + "The type of file storage to use: + + ephemeral data exists in small amounts until read + volatile data exists in volatile memory + permanent data survives reboot + + An ephemeral file is suitable to be read only one time. + + Note that this value is taken as advisory and may be overridden + by explicit device or path choices in cbfDefineFile. + + A given system may support any or all of these."; + smiv2:defval "ephemeral"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.3"; + } + + leaf cbfDefineFileFormat { + type enumeration { + enum "standardBER" { + value "1"; + } + enum "bulkBinary" { + value "2"; + } + enum "bulkASCII" { + value "3"; + } + enum "variantBERWithCksum" { + value "4"; + } + enum "variantBinWithCksum" { + value "5"; + } + } + description + "The format of the data in the file: + + StandardBER standard SNMP ASN.1 BER + bulkBinary a binary format specified with this MIB + bulkASCII a human-readable form of bulkBinary + variantBERWithCksum ASN.1 BER encoding with checksum + variantBinWithCksum a binary format with checksum + + A given system may support any or all of these."; + smiv2:defval "bulkBinary"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.4"; + } + + leaf cbfDefineFileNow { + type enumeration { + enum "notActive" { + value "1"; + } + enum "ready" { + value "2"; + } + enum "create" { + value "3"; + } + enum "running" { + value "4"; + } + enum "forcedCreate" { + value "5"; + } + } + description + "The control to cause file creation. The only values that can + be set are 'create' and 'forcedCreate'. These can be set only + when the value is 'ready'. Setting it to 'create' begins a + file creation and creates a corresponding entry in + cbfStatusFileTable. The system may choose to use an already + existing copy of the file instead of creating a new one. This + may happen if there has been no configuration change on the + system and a request to recreate the file is received. + Setting this object to 'forcedCreate' forces the system to + create a new copy of the file. + + The value is 'notActve' as long as cbfDefineFileEntryStatus or + any corresponding cbfDefineObjectEntryStatus is not active. + + When cbfDefineFileEntryStatus becomes active and all + corresponding cbfDefineObjectEntryStatuses are active this + object automatically goes to 'ready'."; + smiv2:defval "notActive"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.5"; + } + + leaf cbfDefineFileEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation, modification, and deletion + of entries. For detailed rules see the DESCRIPTION for + cbfDefineFileEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.6"; + } + + leaf cbfDefineFileNotifyOnCompletion { + type boolean; + description + "This controls the cbfDefineFileCompletion notification. + + If true, cbfDefineFileCompletion notification + will be generated. It is the responsibility of the + management entity to ensure that the SNMP administrative + model is configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.9.1.7"; + } + } + } + + container cbfDefineObjectTable { + description + "A table of objects to go in bulk files."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10"; + + list cbfDefineObjectEntry { + key "cbfDefineFileIndex cbfDefineObjectIndex"; + description + "Information about one object for a particular file. + + An application uses cbfDefineObjectEntryStatus to create entries + in this table in correspondence with entries in + cbfDefineFileTable, which must be created first. + + Entries in this table may not be changed, created or deleted + while the corresponding value of cbfDefineFileNow is 'running'."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1"; + + leaf cbfDefineFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfDefineFileTable/CISCO-BULK-FILE-MIB:cbfDefineFileEntry/CISCO-BULK-FILE-MIB:cbfDefineFileIndex"; + } + } + + leaf cbfDefineObjectIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer to uniquely identify this entry. + + The numeric order of the entries controls the order of + the objects in the file."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.1"; + } + + leaf cbfDefineObjectClass { + type enumeration { + enum "object" { + value "1"; + } + enum "lexicalTable" { + value "2"; + } + enum "leastCpuTable" { + value "3"; + } + } + description + "The meaning of each object class is given below: + + object a single MIB object is retrieved. + + lexicalTable an entire table or partial table + is retrieved in lexical order of rows. + + leastCpuTable an entire table is retrieved with + lowest CPU utilization. + Lexical ordering of rows may not be + maintained and is dependent upon + individual MIB implementation."; + smiv2:defval "leastCpuTable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.2"; + } + + leaf cbfDefineObjectID { + type yang:object-identifier-128; + description + "The object identifier of a MIB object to be included in + the file. + + If cbfDefineObjectClass is 'object' this must be a full OID, + including all instance information. + + If cbfDefineObjectClass is 'lexicalTable' or 'leastCpuTable' + this must be the OID of the table-defining SEQUENCE OF + registration point."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.3"; + } + + leaf cbfDefineObjectEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation, modification, and deletion + of entries. For detailed rules see the DESCRIPTION for + cbfDefineObjectEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.4"; + } + + leaf cbfDefineObjectTableInstance { + type yang:object-identifier-128; + description + "If cbfDefineObjectClass is 'lexicalTable', then this object + represents the starting instance in the cbfDefineObjectID + table. The file created will have entries starting from + the lexicographically next instance of the OID represented + by this object. + + For Eg: + ------- + + Let us assume we are polling ifTable and we + have information till the second row(ifIndex.2). Now + we may be interested in 10 rows lexically following + the second row. + + So, we set cbfDefineObjectTableInstance as ifIndex.2 + and cbfDefineObjectNumEntries as 10. + + We will get information for the next 10 rows or + if there are less than 10 populated rows, we will + receive information till the end of the table is + reached. + + The default value for this object is zeroDotZero. + + If this object has the value of zeroDotZero and + cbfDefineObjectNumEntries has value 0, then the whole + table(represented by cbfDefineObjectID) is retrieved. + + If this object has the value of zeroDotZero, + cbfDefineObjectNumEntries has value n (>0) and there are + m(>0) entries in the table(represented by cbfDefineObjectID) + then the first n entries in the table are retrieved if n < m. + If n >= m, then the whole table is retrieved. + + When the value of cbfDefineObjectNumEntries is 0, + it means all the entries in the table(represented + by cbfDefineObjectID) which lexicographically follow + cbfDefineObjectTableInstance are retrieved. + + This object is irrelevent if cbfDefineObjectClass is not + 'lexicalTable'."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.5"; + } + + leaf cbfDefineObjectNumEntries { + type uint32 { + range "0..4294967295"; + } + description + "If cbfDefineObjectClass is 'lexicalTable', then this object + represents the maximum number of entries which will be + populated in the file starting from the lexicographically + next instance of the OID represented by + cbfDefineObjectTableInstance. + + This object is irrelevent if cbfDefineObjectClass is not + 'lexicalTable'. + + Refer to the description of cbfDefineObjectTableInstance for + examples and different scenarios relating to this object."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.6"; + } + + leaf cbfDefineObjectLastPolledInst { + type yang:object-identifier-128; + description + "This object represents the last polled instance in the + table. + + The value represented by this object will be relevent only + if the corresponding cbfStatusFileState is emptied(3) for + ephemeral files or ready(2) for volatile or permanent files. + + A value of zeroDotZero indicates an absence of last polled + object. + + An NMS can use the value of this object and populate the + cbfDefineObjectTableInstance to retrieve a contiguous set + of rows in a table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1.10.1.7"; + } + } + } + + container cbfStatusFileTable { + description + "A table of bulk file status."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5"; + + list cbfStatusFileEntry { + key "cbfDefineFileIndex cbfStatusFileIndex"; + description + "Status for a particular file. + + An entry exists in this table for each time cbfDefineFileNow + has been set to 'create' and the corresponding entry here + has not been explicitly deleted by the application or bumped + to make room for a new entry. + + Deleting an entry with cbfStatusFileState 'running' aborts + the file creation attempt. + + It is implementation and file-system specific whether deleting + the entry also deletes the file."; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5.1"; + + leaf cbfDefineFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfDefineFileTable/CISCO-BULK-FILE-MIB:cbfDefineFileEntry/CISCO-BULK-FILE-MIB:cbfDefineFileIndex"; + } + } + + leaf cbfStatusFileIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer to uniquely identify this file. + + The numeric order of the entries implies the creation + order of the files."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5.1.1"; + } + + leaf cbfStatusFileState { + type enumeration { + enum "running" { + value "1"; + } + enum "ready" { + value "2"; + } + enum "emptied" { + value "3"; + } + enum "noSpace" { + value "4"; + } + enum "badName" { + value "5"; + } + enum "writeErr" { + value "6"; + } + enum "noMem" { + value "7"; + } + enum "buffErr" { + value "8"; + } + enum "aborted" { + value "9"; + } + } + description + "The file state: + + running data is being written to the file + ready the file is ready to be read + emptied an ephemeral file was successfully consumed + noSpace no data due to insufficient file space + badName no data due to a name or path problem + writeErr no data due to fatal file write error + noMem no data due to insufficient dynamic memory + buffErr implementation buffer too small + aborted short terminated by operator command + + Only the 'ready' state implies that the file is available + for transfer. + + The disposition of files after an error is implementation + and file-syste specific."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5.1.2"; + } + + leaf cbfStatusFileCompletionTime { + type yang:timestamp; + description + "The value of sysUpTime when the creation attempt completed. + A value of 0 indicates not complete. For ephemeral files this + is the time when cbfStatusFileState goes to 'emptied'. For + others this is the time when the state leaves 'running'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5.1.3"; + } + + leaf cbfStatusFileEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows deletion of entries. For detailed rules + see the DESCRIPTION for cbfStatusFileEntry. + + This object may not be set to any value other than 'destroy'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2.5.1.4"; + } + } + } + } + + notification cbfDefineFileCompletion { + description + "A cbfDefineFileCompletion notification is sent on + the following conditions : + - completion of a file consumption operation in case of + ephemeral files. + - completion of file creation operation in case of + volatile or permanent files. + - any error during file creation."; + smiv2:oid "1.3.6.1.4.1.9.9.81.2.0.1"; + + container object-1 { + + leaf cbfDefineFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfDefineFileTable/CISCO-BULK-FILE-MIB:cbfDefineFileEntry/CISCO-BULK-FILE-MIB:cbfDefineFileIndex"; + } + } + + leaf cbfStatusFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfStatusFileTable/CISCO-BULK-FILE-MIB:cbfStatusFileEntry/CISCO-BULK-FILE-MIB:cbfStatusFileIndex"; + } + } + + leaf cbfStatusFileState { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfStatusFileTable/CISCO-BULK-FILE-MIB:cbfStatusFileEntry/CISCO-BULK-FILE-MIB:cbfStatusFileState"; + } + } + } + + container object-2 { + + leaf cbfDefineFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfDefineFileTable/CISCO-BULK-FILE-MIB:cbfDefineFileEntry/CISCO-BULK-FILE-MIB:cbfDefineFileIndex"; + } + } + + leaf cbfStatusFileIndex { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfStatusFileTable/CISCO-BULK-FILE-MIB:cbfStatusFileEntry/CISCO-BULK-FILE-MIB:cbfStatusFileIndex"; + } + } + + leaf cbfStatusFileCompletionTime { + type leafref { + path "/CISCO-BULK-FILE-MIB:CISCO-BULK-FILE-MIB/CISCO-BULK-FILE-MIB:cbfStatusFileTable/CISCO-BULK-FILE-MIB:cbfStatusFileEntry/CISCO-BULK-FILE-MIB:cbfStatusFileCompletionTime"; + } + } + } + } + + smiv2:alias "ciscoBulkFileMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.81"; + } + + smiv2:alias "ciscoBulkFileMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.81.1"; + } + + smiv2:alias "cbfDefine" { + smiv2:oid "1.3.6.1.4.1.9.9.81.1.1"; + } + + smiv2:alias "cbfStatus" { + smiv2:oid "1.3.6.1.4.1.9.9.81.1.2"; + } + + smiv2:alias "ciscoBulkFileMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.81.2"; + } + + smiv2:alias "ciscoBulkFileMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.81.2.0"; + } + + smiv2:alias "ciscoBulkFileMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.81.3"; + } + + smiv2:alias "ciscoBulkFileMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.81.3.1"; + } + + smiv2:alias "ciscoBulkFileMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.81.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-MIB.yang new file mode 100644 index 000000000..b1730b23c --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-MIB.yang @@ -0,0 +1,281 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CBP-TARGET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CBP-TARGET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CBP-TARGET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB"; + prefix CISCO-CBP-TARGET-MIB; + + import CISCO-CBP-TARGET-TC-MIB { + prefix "cisco-cbp"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-c3pl@cisco.com, cs-qos@cisco.com"; + + description + "This MIB module defines the managed objects for + representing targets which have class-based policy + mappings. A target can be any logical interface + to which a class-based policy is able to be associated."; + + revision 2006-05-24 { + description + "Initial version."; + } + + + container CISCO-CBP-TARGET-MIB { + config false; + + container ccbptTargetAttachCfg { + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1"; + + leaf ccbptPolicyIdNext { + type cisco-cbp:CcbptPolicyIdentifierOrZero; + description + "This object indicates the next available value of + ccbptPolicyId that can be used to create a new conceptual + row in the ccbptTargetTable. If no available identifier + exists, then this object will have the value '0'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.1"; + } + + leaf ccbptTargetTableLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the last + change to an entry in the ccbptTargetTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.3"; + } + } + + container ccbptTargetTable { + description + "This table describes the class-based policy attachments to + to specific targets."; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2"; + + list ccbptTargetEntry { + key "ccbptTargetType ccbptTargetId ccbptTargetDir ccbptPolicySourceType ccbptPolicyId"; + description + "Each entry describes a class-based policy attachment to a + particular target. + + The ccbptTargetType uniquely identifies the type of target + in the attachment. Additionally, the ccbptTargetId uniquely + identifies the target in attachment and is of the format + indicated by the ccbptTargetType. The ccbptTargetDir + identifies the direction, relative to the ccbptTargetId, + to which the policy is attached. The ccbptPolicySourceType + identifies the source-type of the policy attached. The + ccbptPolicyId uniquely identifies the policy within the scope + of ccbptTargetType, ccbptTargetId, ccbptTargetDir, and + ccbptPolicySourceType. + + A class-based policy attachment to a target can be created + through other network management interfaces (e.g., the local + console), in which case the SNMP entity will automatically + create an entry in this table. + + A class-based policy attachment to a target can be destroyed + through other network management interfaces, in which case + the SNMP entity will automatically destroy the corresponding + entry in this table. + + A class-based policy attachment to a target can be created, + destroyed, and modified through the SNMP using + ccbptTargetStatus using the semantics described by the + RowStatus Textual Convention. However, when creating a new + class-based policy attachment to a target, the value of + ccbptPolicyIdNext should be used to identify the new policy + within the scope of the target type, identifier, direction, + and policy-source type."; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1"; + + leaf ccbptTargetType { + type cisco-cbp:CcbptTargetType; + description + "The type of target for this class-based policy attachment. + This object identifies the format of the ccbptTargetId for + this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.1"; + } + + leaf ccbptTargetId { + type cisco-cbp:CcbptTargetId; + description + "The target identifier for this class-based policy attachment. + For decoding the ccbptTargetId refer to the ccbptTargetType + object and the CcbptTargetType description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.2"; + } + + leaf ccbptTargetDir { + type cisco-cbp:CcbptTargetDirection; + description + "The direction relative to the ccbptTargetId for this class + based policy attachment. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.3"; + } + + leaf ccbptPolicySourceType { + type cisco-cbp:CcbptPolicySourceType; + description + "The source-type of the class-based policy for this target. + The source-type refers to the source of the class-based + policy definition. The intent of this object is to allow + implementations to distinguish between different MIBs + defining policy-maps. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.4"; + } + + leaf ccbptPolicyId { + type cisco-cbp:CcbptPolicyIdentifier; + description + "Unique identifier of this class-based policy instance."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.5"; + } + + leaf ccbptTargetStatus { + type snmpv2-tc:RowStatus; + description + "The status of the policy attachment to this target. The + value for the corresponding instance of each of the + following objects must be valid before the attachment + can be activated: + -ccbptTargetStorageType + -ccbptPolicyMap + + Observe that no corresponding instance of any object in + this table can be modified when the value of this object is + 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.6"; + } + + leaf ccbptTargetStorageType { + type snmpv2-tc:StorageType; + description + "This object indicates how the device stores the data + contained by the conceptual row. + + If an instance of this object has the value 'permanent', + then this MIB definition does not require the SNMP entity + to allow the instance of any object in the corresponding + conceptual row to be writable through the SNMP."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.7"; + } + + leaf ccbptPolicyMap { + type snmpv2-tc:RowPointer; + description + "Refers to the first accessible object in the policy-map + definition table used to manage policy-map information + for policy-maps for the corresponding ccbptPolicySourceType. + + Specific MIB tables are not mentioned here as the intent of + this mapping is to allow for different implementations to + refer to their supported class-based policy definition table + without requiring support of a specific MIB module."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.8"; + } + + leaf ccbptPolicyInstance { + type snmpv2-tc:RowPointer; + description + "Refers to the first accessible object in the policy + instance table used to manage policy instance information + for policy-maps of this ccbptPolicySourceType. + + Specific MIB tables are not mentioned here as the intent of + this mapping is to allow for different implementations to + refer to their supported class-based policy definition table + without requiring support of a specific MIB module."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.9"; + } + + leaf ccbptPolicyAttachTime { + type yang:timestamp; + description + "The value of sysUpTime for the last time that the corresponding + ccbptTargetStatus instance transitioned to the 'active' state. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1.2.1.10"; + } + } + } + } + + smiv2:alias "ciscoCbpTargetMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.533"; + } + + smiv2:alias "ciscoCbpTargetMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.533.0"; + } + + smiv2:alias "ciscoCbpTargetMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.533.1"; + } + + smiv2:alias "ccbptTargetAttachCfg" { + smiv2:oid "1.3.6.1.4.1.9.9.533.1.1"; + } + + smiv2:alias "ciscoCbpTargetMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.533.2"; + } + + smiv2:alias "ciscoCbpTargetMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.533.2.1"; + } + + smiv2:alias "ciscoCbpTargetMIBMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.533.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-TC-MIB.yang new file mode 100644 index 000000000..a4fbeeabc --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TARGET-TC-MIB.yang @@ -0,0 +1,264 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CBP-TARGET-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CBP-TARGET-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CBP-TARGET-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB"; + prefix CISCO-CBP-TARGET-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-qos@cisco.com, cs-c3pl@cisco.com"; + + description + "This MIB module defines Textual Conventions for + representing targets which have class based policy + mappings. A target can be any logical interface + or entity to which a class based policy is able to be + associated."; + + revision 2006-03-24 { + description + "Initial version."; + } + + typedef CcbptTargetType { + type enumeration { + enum "genIf" { + value "1"; + } + enum "atmPvc" { + value "2"; + } + enum "frDlci" { + value "3"; + } + enum "entity" { + value "4"; + } + enum "fwZone" { + value "5"; + } + enum "fwZonePair" { + value "6"; + } + enum "aaaSession" { + value "7"; + } + } + description + "A Textual Convention that represents a type of target. + + genIf(1) A target of type interface defined by + CcbptTargetIdIf Textual Convention. + + atmPvc(2) A target of type ATM PVC defined + by the CcbptTargetIdAtmPvc Textual Convention. + + frDlci(3) A target of type Frame Relay DLCI + defined by the CcbptTargetIdFrDlci Textual + Convention. + + entity(4) A target of type entity defined by the + CcbptTargetIdEntity Textual Convention. This target + type is used to indicate the attachment of a Class + Based Policy to a physical entity. + + fwZone(5) A target of type Firewall Security Zone + defined by the CcbptTargetIdNameString + Textual Convention. + + fwZonePair(6) A target of type Firewall Security Zone + defined by the CcbptTargetIdNameString + Textual Convention. + + aaaSession(7) A target of type AAA Session define by the + CcbptTargetIdAaaSession Textual Convention."; + } + + typedef CcbptTargetDirection { + type enumeration { + enum "undirected" { + value "1"; + } + enum "input" { + value "2"; + } + enum "output" { + value "3"; + } + enum "inOut" { + value "4"; + } + } + description + "A Textual Convention that represents a direction for a target. + + undirected(1) Indicates that direction has no meaning + relative to the target. + + input(2) Refers to the input direction relative to the + target. + + output(3) Refers to the output direction relative to the + target. + + inOut(4) Refers to both the input and output directions + relative to the target."; + } + + typedef CcbptTargetId { + type binary { + length "0..64"; + } + description + "Denotes a generic target ID. + + A CcbptTargetId value is always interpreted within the + context of an CcbptTargetType value. Every usage of the + CcbptTargetId Textual Convention is required to specify the + CcbptTargetType object which provides the context. It is + suggested that the CcbptTargetType object is logically + registered before the object(s) which use the CcbptTargetId + Textual Convention if they appear in the same logical row. + + The value of an CcbptTargetId object must always be + consistent with the value of the associated CcbptTargetType + object. Attempts to set a CcbptTargetId object to a value + which is inconsistent with the associated targetType + must fail with an inconsistentValue error."; + } + + typedef CcbptTargetIdIf { + type string; + description + "Represents an interface target: + + octets contents encoding + 1-4 ifIndex network-byte order"; + smiv2:display-hint "4d"; + } + + typedef CcbptTargetIdAtmPvc { + type string; + description + "Represents an ATM PVC target: + + octets contents encoding + 1-4 ifIndex network-byte order + 5-6 atmVclVpi network-byte order + 7-8 atmVclVci network-byte order"; + smiv2:display-hint "4d:2d:2d"; + } + + typedef CcbptTargetIdFrDlci { + type string; + description + "Represents a Frame Relay DLCI target: + + octets contents encoding + 1-4 ifIndex network-byte order + 5-6 DlciNumber network-byte order"; + smiv2:display-hint "4d:2d"; + } + + typedef CcbptTargetIdEntity { + type string; + description + "Represents the entPhysicalIndex of the physical entity + target: + + octets contents encoding + 1-4 entPhysicalIndex network-byte order"; + smiv2:display-hint "4d"; + } + + typedef CcbptTargetIdNameString { + type binary { + length "0..64"; + } + description + "Represents a target identified by a name string. + This is the ASCII name identifying this target."; + } + + typedef CcbptTargetIdAaaSession { + type string; + description + "Represents a AAA Session target: + + octets contents encoding + 1-4 casnSessionId network-byte order"; + smiv2:display-hint "4d"; + } + + typedef CcbptPolicySourceType { + type enumeration { + enum "ciscoCbQos" { + value "1"; + } + enum "ciscoCbpBase" { + value "2"; + } + } + description + "This Textual Convention represents the types of sources of + policies. + + ciscoCbQos(1) Cisco Class Based QOS policy source. + The source of the policy is Cisco Class + Based QOS specific. + + ciscoCbpCommon(2) Cisco Common Class Based Policy type. + The source of the policy is Cisco Common + Class Based."; + } + + typedef CcbptPolicyIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "A type specific, arbitrary identifier uniquely given + to a policy-map attachment to a target."; + } + + typedef CcbptPolicyIdentifierOrZero { + type uint32 { + range "0..4294967295"; + } + description + "This refers to CcbptPolicyIdentifier values, as applies, + or 0. The behavior of the value of 0 should be described + in the description of objects using this type."; + } + + smiv2:alias "ciscoCbpTargetTCMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.511"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TC-MIB.yang new file mode 100644 index 000000000..bd1d799f1 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CBP-TC-MIB.yang @@ -0,0 +1,163 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CBP-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CBP-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CBP-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB"; + prefix CISCO-CBP-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines textual conventions used by the + CISCO-CBP-BASE-CFG-MIB, CISCO-CBP-BASE-MON-MIB, and any MIB + modules extending these MIB modules."; + + revision 2008-06-24 { + description + "The initial version of the MIB module."; + } + + typedef CbpElementName { + type string; + description + "A string-value that identifies an element used to specify + a class-based policy. The semantics of the string-value are + the same those specified by the SnmpAdminString textual + convention defined by the SNMP-FRAMEWORK-MIB [RFC3411]. + + Observe that the null string is reserved for cases when an + instance of an object needs to specify 'no element'."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "127a"; + } + + typedef CbpElementIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "A positive, non-zero integer-value that uniquely identifies + an element used to specify a class-based policy."; + } + + typedef CbpElementIdentifierOrZero { + type uint32 { + range "0..4294967295"; + } + description + "This textual convention serves as an extension of the + CbpElementIdentifier textual convention, which permits the value + '0'. The use of the value '0' is specific to an object, thus + requiring the descriptive text associated with the object to + describe the semantics of its use."; + } + + typedef CbpInstanceIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "A positive, non-zero integer-value that uniquely identifies + an instance of an element used to define a class-based policy."; + } + + typedef CbpInstanceIdentifierOrZero { + type uint32 { + range "0..4294967295"; + } + description + "This textual convention serves as an extension of the + CbpInstanceIdentifier textual convention, which permits the + value '0'. The use of the value '0' is specific to an object, + thus requiring the descriptive text associated with the object + to describe the semantics of its use."; + } + + typedef CbpExecutionPriority { + type uint32 { + range "1..4294967295"; + } + description + "An positive, integer-value denoting the relative priority of an + element, where '1' represents the highest priority and greater + values represent lower priorities. + + The priority assigned to an element determines the order in + which the system processes the elements relative to like + elements having the same parent, where the system processes + elements having a greater priority first. The system processes + sibling elements having the same priority in the order they were + created."; + } + + typedef CbpExecutionStrategy { + type enumeration { + enum "other" { + value "1"; + } + enum "doUntilSuccess" { + value "2"; + } + enum "doUntilFailure" { + value "3"; + } + enum "doAll" { + value "4"; + } + } + description + "An enumerated integer-value describing how to execute an + ordered set of actions: + + 'other' + The implementation of the MIB using this textual + convention does not recognize the specified execution + strategy. + + 'doUntilSuccess' + The system sequentially executes the actions in the + set until one succeeds. + + 'doUntilFailure' + The system sequentially executes the actions in the + set until one fails. + + 'doAll' + The system sequentially executes all actions in the set, + regardless of whether they succeed or fail."; + } + + smiv2:alias "ciscoCbpTcMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.662"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CDP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CDP-MIB.yang new file mode 100644 index 000000000..fe752364c --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CDP-MIB.yang @@ -0,0 +1,855 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-CDP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CDP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CDP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB"; + prefix CISCO-CDP-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import CISCO-VTP-MIB { + prefix "cisco-vtp"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco System Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 West Tasman Drive, + San Jose CA 95134-1706. + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for management of the Cisco Discovery + Protocol in Cisco devices."; + + revision 2005-03-21 { + description + "Added the following object: + cdpInterfaceName."; + } + + revision 2005-03-14 { + description + "Added cdpCtAddressTable which contains the following + objects: + cdpCtAddressIndex, + cdpCtAddressType, + cdpCtAddress."; + } + + revision 2001-11-23 { + description + "Added cdpInterfaceExtTable which contains the following + objects: + cdpInterfaceExtendedTrust, + cdpInterfaceCosForUntrustedPort."; + } + + revision 2001-04-23 { + description + "Added the following objects: + cdpGlobalDeviceIdFormatCpb, + cdpGlobalDeviceIdFormat."; + } + + revision 2000-11-22 { + description + "Added the following objects: + cdpCacheApplianceID, + cdpCacheVlanID, + cdpCachePowerConsumption, + cdpCacheMTU, + cdpCachePrimaryMgmtAddrType, + cdpCachePrimaryMgmtAddr, + cdpCacheSecondaryMgmtAddrType, + cdpCacheSecondaryMgmtAddr, + cdpCacheLastChange, + cdpCachePhysLocation, + cdpCacheSysName, + cdpCacheSysObjectID, + cdpGlobalLastChange"; + } + + revision 1998-12-10 { + description + "Added cdpGlobalDeviceId object."; + } + + revision 1998-09-16 { + description + "added these objects to cdpCacheTable: + cdpCacheVTPMgmtDomain, + cdpCacheNativeVLAN, + cdpCacheDuplex."; + } + + revision 1996-07-08 { + description + "Obsolete cdpInterfaceMessageInterval and newly + define cdpGlobal object."; + } + + revision 1995-08-15 { + description + "Specify a correct (non-negative) range for several + index objects."; + } + + revision 1995-07-27 { + description + "Correct range of cdpInterfaceMessageInterval."; + } + + revision 1995-01-25 { + description + "Move from ciscoExperiment to ciscoMgmt oid subtree."; + } + + + container CISCO-CDP-MIB { + config false; + + container cdpGlobal { + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3"; + + leaf cdpGlobalRun { + type boolean; + description + "An indication of whether the Cisco Discovery Protocol + is currently running. Entries in cdpCacheTable are + deleted when CDP is disabled."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.1"; + } + + leaf cdpGlobalMessageInterval { + type int32 { + range "5..254"; + } + units "seconds"; + description + "The interval at which CDP messages are to be generated. + The default value is 60 seconds."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.2"; + } + + leaf cdpGlobalHoldTime { + type int32 { + range "10..255"; + } + units "seconds"; + description + "The time for the receiving device holds CDP message. + The default value is 180 seconds."; + smiv2:defval "180"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.3"; + } + + leaf cdpGlobalDeviceId { + type snmpv2-tc:DisplayString; + description + "The device ID advertised by this device. The format of this + device id is characterized by the value of + cdpGlobalDeviceIdFormat object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.4"; + } + + leaf cdpGlobalLastChange { + type yang:timestamp; + description + "Indicates the time when the cache table was last changed. It + is the most recent time at which any row was last created, + modified or deleted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.5"; + } + + leaf cdpGlobalDeviceIdFormatCpb { + type bits { + bit serialNumber { + position "0"; + } + bit macAddress { + position "1"; + } + bit other { + position "2"; + } + } + description + "Indicate the Device-Id format capability of the device. + + serialNumber(0) indicates that the device supports using + serial number as the format for its DeviceId. + + macAddress(1) indicates that the device supports using + layer 2 MAC address as the format for its DeviceId. + + other(2) indicates that the device supports using its + platform specific format as the format for its DeviceId."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.6"; + } + + leaf cdpGlobalDeviceIdFormat { + type enumeration { + enum "serialNumber" { + value "1"; + } + enum "macAddress" { + value "2"; + } + enum "other" { + value "3"; + } + } + description + "An indication of the format of Device-Id contained in the + corresponding instance of cdpGlobalDeviceId. User can only + specify the formats that the device is capable of as + denoted in cdpGlobalDeviceIdFormatCpb object. + + serialNumber(1) indicates that the value of cdpGlobalDeviceId + object is in the form of an ASCII string contain the device + serial number. + + macAddress(2) indicates that the value of cdpGlobalDeviceId + object is in the form of Layer 2 MAC address. + + other(3) indicates that the value of cdpGlobalDeviceId object + is in the form of a platform specific ASCII string contain + info that identifies the device. For example: ASCII string + contains serialNumber appended/prepened with system name."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3.7"; + } + } + + container cdpInterfaceTable { + description + "The (conceptual) table containing the status of CDP on + the device's interfaces."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1"; + + list cdpInterfaceEntry { + key "cdpInterfaceIfIndex"; + description + "An entry (conceptual row) in the cdpInterfaceTable, + containing the status of CDP on an interface."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1"; + + leaf cdpInterfaceIfIndex { + type int32 { + range "0..2147483647"; + } + description + "The ifIndex value of the local interface. + + For 802.3 Repeaters on which the repeater ports do not + have ifIndex values assigned, this value is a unique + value for the port, and greater than any ifIndex value + supported by the repeater; in this case, the specific + port is indicated by corresponding values of + cdpInterfaceGroup and cdpInterfacePort, where these + values correspond to the group number and port number + values of RFC 1516."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.1"; + } + + leaf cdpInterfaceEnable { + type boolean; + description + "An indication of whether the Cisco Discovery Protocol + is currently running on this interface. This variable + has no effect when CDP is disabled (cdpGlobalRun = FALSE)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.2"; + } + + leaf cdpInterfaceMessageInterval { + type int32 { + range "0..254"; + } + units "seconds"; + status obsolete; + description + "The interval at which CDP messages are to be generated + on this interface. The default value is 60 seconds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.3"; + } + + leaf cdpInterfaceGroup { + type int32; + description + "This object is only relevant to interfaces which are + repeater ports on 802.3 repeaters. In this situation, + it indicates the RFC1516 group number of the repeater + port which corresponds to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.4"; + } + + leaf cdpInterfacePort { + type int32; + description + "This object is only relevant to interfaces which are + repeater ports on 802.3 repeaters. In this situation, + it indicates the RFC1516 port number of the repeater + port which corresponds to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.5"; + } + + leaf cdpInterfaceName { + type snmpv2-tc:DisplayString; + description + "The name of the local interface as advertised by + CDP in the Port-ID TLV"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.1.1.6"; + } + } + } + + container cdpInterfaceExtTable { + description + "This table contains the additional CDP configuration on + the device's interfaces."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.2"; + + list cdpInterfaceExtEntry { + key "ifIndex"; + description + "An entry in the cdpInterfaceExtTable contains the values + configured for Extented Trust TLV and COS (Class of Service) + for Untrusted Ports TLV on an interface which supports the + sending of these TLVs."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdpInterfaceExtendedTrust { + type enumeration { + enum "trusted" { + value "1"; + } + enum "noTrust" { + value "2"; + } + } + description + "Indicates the value to be sent by Extended Trust TLV. + + If trusted(1) is configured, the value of Extended Trust TLV + is one byte in length with its least significant bit equal to + 1 to indicate extended trust. All other bits are 0. + + If noTrust(2) is configured, the value of Extended Trust TLV + is one byte in length with its least significant bit equal to + 0 to indicate no extended trust. All other bits are 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.2.1.1"; + } + + leaf cdpInterfaceCosForUntrustedPort { + type uint32 { + range "0..7"; + } + description + "Indicates the value to be sent by COS for Untrusted Ports TLV."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1.2.1.2"; + } + } + } + + container cdpCacheTable { + description + "The (conceptual) table containing the cached + information obtained via receiving CDP messages."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1"; + + list cdpCacheEntry { + key "cdpCacheIfIndex cdpCacheDeviceIndex"; + description + "An entry (conceptual row) in the cdpCacheTable, + containing the information received via CDP on one + interface from one device. Entries appear when + a CDP advertisement is received from a neighbor + device. Entries disappear when CDP is disabled + on the interface, or globally."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1"; + + leaf cdpCacheIfIndex { + type int32 { + range "0..2147483647"; + } + description + "Normally, the ifIndex value of the local interface. + For 802.3 Repeaters for which the repeater ports do not + have ifIndex values assigned, this value is a unique + value for the port, and greater than any ifIndex value + supported by the repeater; the specific port number in + this case, is given by the corresponding value of + cdpInterfacePort."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.1"; + } + + leaf cdpCacheDeviceIndex { + type int32 { + range "0..2147483647"; + } + description + "A unique value for each device from which CDP messages + are being received."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.2"; + } + + leaf cdpCacheAddressType { + type cisco-tc:CiscoNetworkProtocol; + description + "An indication of the type of address contained in the + corresponding instance of cdpCacheAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.3"; + } + + leaf cdpCacheAddress { + type cisco-tc:CiscoNetworkAddress; + description + "The (first) network-layer address of the device + as reported in the Address TLV of the most recently received + CDP message. For example, if the corresponding instance of + cacheAddressType had the value 'ip(1)', then this object + would be an IPv4-address. If the neighbor device is + SNMP-manageable, it is supposed to generate its CDP messages + such that this address is one at which it will receive SNMP + messages. Use cdpCtAddressTable to extract the remaining + addresses from the Address TLV received most recently."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.4"; + } + + leaf cdpCacheVersion { + type snmpv2-tc:DisplayString; + description + "The Version string as reported in the most recent CDP + message. The zero-length string indicates no Version + field (TLV) was reported in the most recent CDP + message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.5"; + } + + leaf cdpCacheDeviceId { + type snmpv2-tc:DisplayString; + description + "The Device-ID string as reported in the most recent CDP + message. The zero-length string indicates no Device-ID + field (TLV) was reported in the most recent CDP + message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.6"; + } + + leaf cdpCacheDevicePort { + type snmpv2-tc:DisplayString; + description + "The Port-ID string as reported in the most recent CDP + message. This will typically be the value of the ifName + object (e.g., 'Ethernet0'). The zero-length string + indicates no Port-ID field (TLV) was reported in the + most recent CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.7"; + } + + leaf cdpCachePlatform { + type snmpv2-tc:DisplayString; + description + "The Device's Hardware Platform as reported in the most + recent CDP message. The zero-length string indicates + that no Platform field (TLV) was reported in the most + recent CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.8"; + } + + leaf cdpCacheCapabilities { + type binary { + length "0..4"; + } + description + "The Device's Functional Capabilities as reported in the + most recent CDP message. For latest set of specific + values, see the latest version of the CDP specification. + The zero-length string indicates no Capabilities field + (TLV) was reported in the most recent CDP message."; + reference + "Cisco Discovery Protocol Specification, 10/19/94."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.9"; + } + + leaf cdpCacheVTPMgmtDomain { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The VTP Management Domain for the remote device's interface, + as reported in the most recently received CDP message. + This object is not instantiated if no VTP Management Domain field + (TLV) was reported in the most recently received CDP message."; + reference + "managementDomainName in CISCO-VTP-MIB"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.10"; + } + + leaf cdpCacheNativeVLAN { + type cisco-vtp:VlanIndex; + description + "The remote device's interface's native VLAN, as reported in the + most recent CDP message. The value 0 indicates + no native VLAN field (TLV) was reported in the most + recent CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.11"; + } + + leaf cdpCacheDuplex { + type enumeration { + enum "unknown" { + value "1"; + } + enum "halfduplex" { + value "2"; + } + enum "fullduplex" { + value "3"; + } + } + description + "The remote device's interface's duplex mode, as reported in the + most recent CDP message. The value unknown(1) indicates + no duplex mode field (TLV) was reported in the most + recent CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.12"; + } + + leaf cdpCacheApplianceID { + type uint32 { + range "0..255"; + } + description + "The remote device's Appliance ID, as reported in the + most recent CDP message. This object is not instantiated if + no Appliance VLAN-ID field (TLV) was reported in the most + recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.13"; + } + + leaf cdpCacheVlanID { + type uint32 { + range "0..4095"; + } + description + "The remote device's VoIP VLAN ID, as reported in the + most recent CDP message. This object is not instantiated if + no Appliance VLAN-ID field (TLV) was reported in the most + recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.14"; + } + + leaf cdpCachePowerConsumption { + type uint32; + units "milliwatts"; + description + "The amount of power consumed by remote device, as reported + in the most recent CDP message. This object is not instantiated + if no Power Consumption field (TLV) was reported in the most + recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.15"; + } + + leaf cdpCacheMTU { + type uint32; + description + "Indicates the size of the largest datagram that can be + sent/received by remote device, as reported in the most recent + CDP message. This object is not instantiated if no MTU field + (TLV) was reported in the most recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.16"; + } + + leaf cdpCacheSysName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "Indicates the value of the remote device's sysName MIB object. + By convention, it is the device's fully qualified domain name. + This object is not instantiated if no sysName field (TLV) was + reported in the most recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.17"; + } + + leaf cdpCacheSysObjectID { + type yang:object-identifier-128; + description + "Indicates the value of the remote device's sysObjectID MIB + object. This object is not instantiated if no sysObjectID field + (TLV) was reported in the most recently received CDP message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.18"; + } + + leaf cdpCachePrimaryMgmtAddrType { + type cisco-tc:CiscoNetworkProtocol; + description + "An indication of the type of address contained in the + corresponding instance of cdpCachePrimaryMgmtAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.19"; + } + + leaf cdpCachePrimaryMgmtAddr { + type cisco-tc:CiscoNetworkAddress; + description + "This object indicates the (first) network layer + address at which the device will accept SNMP messages + as reported in the first address in the + Management-Address TLV of the most recently received + CDP message. If the corresponding instance of + cdpCachePrimaryMgmtAddrType has the value 'ip(1)', + then this object would be an IP-address. If the + remote device is not currently manageable via any + network protocol, then it reports the special value + of the IPv4 address 0.0.0.0, and that address is + recorded in this object. If the most recently received + CDP message did not contain the Management-Address + TLV, then this object is not instanstiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.20"; + } + + leaf cdpCacheSecondaryMgmtAddrType { + type cisco-tc:CiscoNetworkProtocol; + description + "An indication of the type of address contained in the + corresponding instance of cdpCacheSecondaryMgmtAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.21"; + } + + leaf cdpCacheSecondaryMgmtAddr { + type cisco-tc:CiscoNetworkAddress; + description + "This object indicates the alternate network layer + address at which the device will accept SNMP messages + as reported in the second address in the + Management-Address TLV of the most recently received + CDP message. If the corresponding instance of + cdpCacheSecondaryMgmtAddrType has the value 'ip(1)', + then this object would be an IP-address. If the + remote device reports the special value of the + IPv4 address 0.0.0.0, that address is recorded in + this object. If the most recently received CDP + message did not contain the Management-Address + TLV, or if that TLV contained only one address, then + this object is not instanstiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.22"; + } + + leaf cdpCachePhysLocation { + type snmpv2-tc:DisplayString; + description + "Indicates the physical location, as reported by the most recent + CDP message, of a connector which is on, or physically connected + to, the remote device's interface over which the CDP packet is + sent. This object is not instantiated if no Physical Location + field (TLV) was reported by the most recently received CDP + message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.23"; + } + + leaf cdpCacheLastChange { + type yang:timestamp; + description + "Indicates the time when this cache entry was last changed. + This object is initialised to the current time when the entry + gets created and updated to the current time whenever the value + of any (other) object instance in the corresponding row is + modified."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.1.1.24"; + } + } + } + + container cdpCtAddressTable { + description + "The (conceptual) table containing the list of + network-layer addresses of a neighbor interface, + as reported in the Address TLV of the most recently + received CDP message. The first address included in + the Address TLV is saved in cdpCacheAddress. This + table contains the remainder of the addresses in the + Address TLV."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.2"; + + list cdpCtAddressEntry { + key "cdpCacheIfIndex cdpCacheDeviceIndex cdpCtAddressIndex"; + description + "An entry (conceptual row) in the cdpCtAddressTable, + containing the information on one address received via CDP + on one interface from one device. Entries appear + when a CDP advertisement is received from a neighbor + device, with an Address TLV. Entries disappear when + CDP is disabled on the interface, or globally. An entry + or entries would also disappear if the most recently + received CDP packet contain fewer address entries in the + Address TLV, than are currently present in the CDP cache."; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.2.1"; + + leaf cdpCacheIfIndex { + type leafref { + path "/CISCO-CDP-MIB:CISCO-CDP-MIB/CISCO-CDP-MIB:cdpCacheTable/CISCO-CDP-MIB:cdpCacheEntry/CISCO-CDP-MIB:cdpCacheIfIndex"; + } + } + + leaf cdpCacheDeviceIndex { + type leafref { + path "/CISCO-CDP-MIB:CISCO-CDP-MIB/CISCO-CDP-MIB:cdpCacheTable/CISCO-CDP-MIB:cdpCacheEntry/CISCO-CDP-MIB:cdpCacheDeviceIndex"; + } + } + + leaf cdpCtAddressIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the address entry for a given + cdpCacheIfIndex,cdpCacheDeviceIndex pair. It + has the value N-1 for the N-th address in the + Address TLV"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.2.1.3"; + } + + leaf cdpCtAddressType { + type cisco-tc:CiscoNetworkProtocol; + description + "An indication of the type of address contained in the + corresponding instance of cdpCtAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.2.1.4"; + } + + leaf cdpCtAddress { + type cisco-tc:CiscoNetworkAddress; + description + "The N-th network-layer address of the device as reported + in the most recent CDP message's Address TLV, where N-1 is + given by the value of cdpCtAddressIndex. For example, if + the the corresponding instance of cdpCtAddressType had the + value 'ip(1)', then this object would be an IPv4-address. + NOTE - The 1st address received in the Address TLV is + available using cdpCacheAddress"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2.2.1.5"; + } + } + } + } + + smiv2:alias "ciscoCdpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.23"; + } + + smiv2:alias "ciscoCdpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.23.1"; + } + + smiv2:alias "cdpInterface" { + smiv2:oid "1.3.6.1.4.1.9.9.23.1.1"; + } + + smiv2:alias "cdpCache" { + smiv2:oid "1.3.6.1.4.1.9.9.23.1.2"; + } + + smiv2:alias "cdpGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.23.1.3"; + } + + smiv2:alias "ciscoCdpMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.23.2"; + } + + smiv2:alias "ciscoCdpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.23.2.1"; + } + + smiv2:alias "ciscoCdpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.23.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CEF-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CEF-MIB.yang new file mode 100644 index 000000000..2f446040f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CEF-MIB.yang @@ -0,0 +1,2728 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-CEF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CEF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CEF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB"; + prefix CISCO-CEF-MIB; + + import CISCO-CEF-TC { + prefix "cisco-cef"; + } + + import CISCO-TC { + prefix "cisco-tc"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import MPLS-VPN-MIB { + prefix "mpls-vpn"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco System, Inc."; + + contact + "Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-cef@cisco.com"; + + description + "Cisco Express Forwarding (CEF) describes a high speed + switching mechanism that a router uses to forward packets + from the inbound to the outbound interface. + + CEF uses two sets of data structures + or tables, which it stores in router memory: + + Forwarding information base (FIB) - Describes a database + of information used to make forwarding decisions. It is + conceptually similar to a routing table or route-cache, + although its implementation is different. + + Adjacency - Two nodes in the network are said to be + adjacent if they can reach each other via a single hop + across a link layer. + + CEF path is a valid route to reach to a destination + IP prefix. Multiple paths may exist out of a router to the + same destination prefix. CEF Load balancing capability + share the traffic to the destination IP prefix over all + the active paths. + + After obtaining the prefix in the CEF table with the + longest match, output forwarding follows the chain of + forwarding elements. + + Forwarding element (FE) may process the packet, forward + the packet, drop or punt the packet or it may also + pass the packet to the next forwarding element in the + chain for further processing. + + Forwarding Elements are of various types + but this MIB only represents the forwarding elements of + adjacency and label types. Hence a forwarding element + chain will be represented as a list of labels and + adjacency. The adjacency may point to a forwarding element + list again, if it is not the last forwarding element in this + chain. + + For the simplest IP forwarding case, the prefix entry will + point at an adjacency forwarding element. + The IP adjacency processing function will apply the output + features, add the encapsulation (performing any required + fixups), and may send the packet out. + + If loadbalancing is configured, the prefix entry will point + to lists of forwarding elements. One of these lists will be + selected to forward the packet. + + Each forwarding element list dictates which of a set of + possible packet transformations to apply on the way to + the same neighbour. + + The following diagram represents relationship + between three of the core tables in this MIB module. + + cefPrefixTable cefFESelectionTable + + +---------------+ points +--------------+ + | | | | a set +----> | | | | | + |---------------| of FE | |--------------| + | | | | Selection | | | | | | + |---------------| Entries | |--------------| + | | | |------------+ | |<----+ + |---------------| |--------------| | + | | +--------------| | | | | | + +---------------+ | +--------------+ | + | | + points to an | + adjacency entry | + | | + | cefAdjTable | + | +---------------+ may point | + +->| | | | to a set | + |---------------| of FE | + | | | | Selection | + |---------------| Entries | + | | | |----------------+ + |---------------| + | | + +---------------+ + + Some of the Cisco series routers (e.g. 7500 & 12000) + support distributed CEF (dCEF), in which the line cards + (LCs) make the packet forwarding decisions using locally + stored copies of the same Forwarding information base (FIB) + and adjacency tables as the Routing Processor (RP). + + Inter-Process Communication (IPC) is the protocol used + by routers that support distributed packet forwarding. + CEF updates are encoded as external Data Representation + (XDR) information elements inside IPC messages. + + This MIB reflects the distributed nature of CEF, e.g. CEF + has different instances running on the RP and the line cards. + + There may be instances of inconsistency between the + CEF forwarding databases(i.e between CEF forwarding + database on line cards and the CEF forwarding database + on the RP). CEF consistency checkers (CC) detects + this inconsistency. + + When two databases are compared by a consistency checker, + a set of records from the first (master) database is + looked up in the second (slave). + + There are two types of consistency checkers, + active and passive. Active consistency checkers + are invoked in response to some stimulus, i.e. + when a packet cannot be forwarded because the + prefix is not in the forwarding table or + in response to a Management Station request. + + Passive consistency checkers operate in the background, + scanning portions of the databases on a periodic basis. + + The full-scan checkers are active consistency checkers + which are invoked in response to a Management Station + Request. + + If 64-bit counter objects in this MIB are supported, + then their associated 32-bit counter objects + must also be supported. The 32-bit counters will + report the low 32-bits of the associated 64-bit + counter count (e.g., cefPrefixPkts will report the + least significant 32 bits of cefPrefixHCPkts). + The same rule should be applied for the 64-bit gauge + objects and their assocaited 32-bit gauge objects. + + If 64-bit counters in this MIB are not supported, + then an agent MUST NOT instantiate the corresponding + objects with an incorrect value; rather, it MUST + respond with the appropriate error/exception + condition (e.g., noSuchInstance or noSuchName). + + Counters related to CEF accounting (e.g., + cefPrefixPkts) MUST NOT be instantiated if the + corresponding accounting method has been disabled. + + This MIB allows configuration and monitoring of CEF + related objects."; + + revision 2006-01-30 { + description + "Initial version of this MIB module."; + } + + + container CISCO-CEF-MIB { + config false; + + container cefFIB { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1"; + + leaf cefLMPrefixSpinLock { + type snmpv2-tc:TestAndIncr; + description + "An advisory lock used to allow cooperating SNMP + Command Generator applications to coordinate their + use of the Set operation in creating Longest + Match Prefix Entries in cefLMPrefixTable. + + When creating a new longest prefix match entry, + the value of cefLMPrefixSpinLock should be retrieved. + The destination address should be determined to be + unique by the SNMP Command Generator application by + consulting the cefLMPrefixTable. Finally, the longest + prefix entry may be created (Set), including the + advisory lock. + + If another SNMP Command Generator application has + altered the longest prefix entry in the meantime, + then the spin lock's value will have changed, + and so this creation will fail because it will specify + the wrong value for the spin lock. + + Since this is an advisory lock, the use of this lock + is not enforced, but not using this lock may lead + to conflict with the another SNMP command responder + application which may also be acting on the + cefLMPrefixTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.3"; + } + } + + container cefCC { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7"; + + leaf entLastInconsistencyDetectTime { + type yang:timestamp; + description + "The value of sysUpTime at the time an + inconsistency is detecetd."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.4"; + } + + leaf cefInconsistencyReset { + type cisco-cef:CefCCAction; + description + "Setting the value of this object to ccActionStart(1) + will reset all the active consistency checkers. + + The Management station should poll the + cefInconsistencyResetStatus object to get the + state of inconsistency reset operation. + + This operation once started, cannot be aborted. + Hence, the value of this object cannot be set to + ccActionAbort(2). + + The value of this object can't be set to ccActionStart(1), + if the value of object cefInconsistencyResetStatus + is ccStatusRunning(2)."; + smiv2:defval "ccActionNone"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.5"; + } + + leaf cefInconsistencyResetStatus { + type cisco-cef:CefCCStatus; + description + "Indicates the status of the consistency reset + request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.6"; + } + } + + container cefNotifCntl { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9"; + + leaf cefResourceFailureNotifEnable { + type boolean; + description + "Indicates whether or not a notification should be + generated on the detection of CEF resource Failure."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9.1"; + } + + leaf cefPeerStateChangeNotifEnable { + type boolean; + description + "Indicates whether or not a notification should be + generated on the detection of CEF peer state change."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9.2"; + } + + leaf cefPeerFIBStateChangeNotifEnable { + type boolean; + description + "Indicates whether or not a notification should be + generated on the detection of CEF FIB peer state change."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9.3"; + } + + leaf cefNotifThrottlingInterval { + type int32 { + range "0..3600"; + } + units "seconds"; + description + "This object controls the generation of the + cefInconsistencyDetection notification. + + If this object has a value of zero, + then the throttle control is disabled. + + If this object has a non-zero value, then the agent + must not generate more than one + cefInconsistencyDetection 'notification-event' in the + indicated period, where a 'notification-event' is the + transmission of a single trap + or inform PDU to a list of notification destinations. + + If additional inconsistency is detected within the + throttling period, then notification-events + for these inconsistencies should be suppressed by the agent + until the current throttling period expires. At the end of a + throttling period, one notification-event should be generated + if any inconsistency was detected since the start of the + throttling period. In such a case, another throttling period + is started right away. + + An NMS should periodically poll cefInconsistencyRecordTable + to detect any missed cefInconsistencyDetection + notification-events, e.g., due to throttling or transmission + loss. + + If cefNotifThrottlingInterval notification generation + is enabled, the suggested default throttling period is + 60 seconds, but generation of the cefInconsistencyDetection + notification should be disabled by default. + + If the agent is capable of storing non-volatile + configuration, then the value of this object must be + restored after a re-initialization of the management + system. + + The actual transmission of notifications is controlled + via the MIB modules in RFC 3413."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9.4"; + } + + leaf cefInconsistencyNotifEnable { + type boolean; + description + "Indicates whether cefInconsistencyDetection notification + should be generated for this managed device."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9.5"; + } + } + + container cefFIBSummaryTable { + description + "This table contains the summary information + for the cefPrefixTable."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.1.1"; + + list cefFIBSummaryEntry { + key "entPhysicalIndex cefFIBIpVersion"; + description + "If CEF is enabled on the Managed device, + each entry contains the FIB summary related + attributes for the managed entity. + + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type cisco-cef:CefIpVersion; + description + "The version of IP forwarding."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.1.1.1.1"; + } + + leaf cefFIBSummaryFwdPrefixes { + type uint32; + description + "Total number of forwarding Prefixes + in FIB for the IP version specified + by cefFIBIpVersion object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.1.1.1.2"; + } + } + } + + container cefPrefixTable { + description + "A list of CEF forwarding prefixes."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2"; + + list cefPrefixEntry { + key "entPhysicalIndex cefPrefixType cefPrefixAddr cefPrefixLen"; + description + "If CEF is enabled on the Managed device, + each entry contains the forwarding + prefix attributes. + + CEF prefix based non-recursive stats are maintained + in internal and external buckets (depending upon the + value of cefIntNonrecursiveAccouting object in the + CefIntEntry). + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefPrefixType { + type inet-address:InetAddressType; + description + "The Network Prefix Type. + This object specifies the address type + used for cefPrefixAddr. + + Prefix entries are only valid for the address + type of ipv4(1) and ipv6(2)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.1"; + } + + leaf cefPrefixAddr { + type inet-address:InetAddress; + description + "The Network Prefix Address. + The type of this address is determined by + the value of the cefPrefixType object. + This object is a Prefix Address containing the + prefix with length specified by cefPrefixLen. + Any bits beyond the length specified by + cefPrefixLen are zeroed."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.2"; + } + + leaf cefPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "Length in bits of the FIB Address prefix."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.3"; + } + + leaf cefPrefixForwardingInfo { + type cisco-cef:CefOctetString; + description + "This object indicates the associated forwarding element + selection entries in cefFESelectionTable. + The value of this object is index value (cefFESelectionName) + of cefFESelectionTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.4"; + } + + leaf cefPrefixPkts { + type yang:counter32; + units "packets"; + description + "If CEF accounting is set to enable per prefix + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'perPrefix' + accounting), then this object represents the + number of packets switched to this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.5"; + } + + leaf cefPrefixHCPkts { + type yang:counter64; + units "packets"; + description + "If CEF accounting is set to enable per prefix + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'perPrefix' + accounting), then this object represents the + number of packets switched to this prefix. + + This object is a 64-bit version of + cefPrefixPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.6"; + } + + leaf cefPrefixBytes { + type yang:counter32; + units "bytes"; + description + "If CEF accounting is set to enable per prefix + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'perPrefix' + accounting), then this object represents the + number of bytes switched to this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.7"; + } + + leaf cefPrefixHCBytes { + type yang:counter64; + units "bytes"; + description + "If CEF accounting is set to enable per prefix + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'perPrefix' + accounting), then this object represents the + number of bytes switched to this prefix. + + This object is a 64-bit version of + cefPrefixBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.8"; + } + + leaf cefPrefixInternalNRPkts { + type yang:counter32; + units "packets"; + description + "If CEF accounting is set to enable non-recursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents the number + of non-recursive packets in the internal bucket + switched using this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.9"; + } + + leaf cefPrefixInternalNRHCPkts { + type yang:counter64; + units "packets"; + description + "If CEF accounting is set to enable non-recursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents the number + of non-recursive packets in the internal bucket + switched using this prefix. + + This object is a 64-bit version of + cefPrefixInternalNRPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.10"; + } + + leaf cefPrefixInternalNRBytes { + type yang:counter32; + units "bytes"; + description + "If CEF accounting is set to enable nonRecursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents + the number of non-recursive bytes in the internal + bucket switched using this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.11"; + } + + leaf cefPrefixInternalNRHCBytes { + type yang:counter64; + units "bytes"; + description + "If CEF accounting is set to enable nonRecursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents + the number of non-recursive bytes in the internal + bucket switched using this prefix. + + This object is a 64-bit version of + cefPrefixInternalNRBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.12"; + } + + leaf cefPrefixExternalNRPkts { + type yang:counter32; + units "packets"; + description + "If CEF accounting is set to enable non-recursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents the number + of non-recursive packets in the external bucket + switched using this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.13"; + } + + leaf cefPrefixExternalNRHCPkts { + type yang:counter64; + units "packets"; + description + "If CEF accounting is set to enable non-recursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents the number + of non-recursive packets in the external bucket + switched using this prefix. + + This object is a 64-bit version of + cefPrefixExternalNRPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.14"; + } + + leaf cefPrefixExternalNRBytes { + type yang:counter32; + units "bytes"; + description + "If CEF accounting is set to enable nonRecursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents + the number of non-recursive bytes in the external + bucket switched using this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.15"; + } + + leaf cefPrefixExternalNRHCBytes { + type yang:counter64; + units "bytes"; + description + "If CEF accounting is set to enable nonRecursive + accounting (value of cefCfgAccountingMap object in + the cefCfgEntry is set to enable 'nonRecursive' + accounting), then this object represents + the number of non-recursive bytes in the external + bucket switched using this prefix. + + This object is a 64-bit version of + cefPrefixExternalNRBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.2.1.16"; + } + } + } + + container cefLMPrefixTable { + description + "A table of Longest Match Prefix Query requests. + + Generator application should utilize the + cefLMPrefixSpinLock to try to avoid collisions. + See DESCRIPTION clause of cefLMPrefixSpinLock."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4"; + + list cefLMPrefixEntry { + key "entPhysicalIndex cefLMPrefixDestAddrType cefLMPrefixDestAddr"; + description + "If CEF is enabled on the managed device, then each + entry represents a longest Match Prefix request. + + A management station wishing to get the longest + Match prefix for a given destination address + should create the associate instance of the + row status. The row status should be set to + active(1) to initiate the request. Note that + this entire procedure may be initiated via a + single set request which specifies a row status + of createAndGo(4). + + Once the request completes, the management station + should retrieve the values of the objects of + interest, and should then delete the entry. In order + to prevent old entries from clogging the table, + entries will be aged out, but an entry will never be + deleted within 5 minutes of completion. + Entries are lost after an agent restart. + + I.e. to find out the longest prefix match for + destination address of A.B.C.D on entity whose + entityPhysicalIndex is 1, the Management station + will create an entry in cefLMPrefixTable with + cefLMPrefixRowStatus.1(entPhysicalIndex).1(ipv4).A.B.C.D + set to createAndGo(4). Management Station may query the + value of objects cefLMPrefix and cefLMPrefixLen + to find out the corresponding prefix entry from the + cefPrefixTable once the value of cefLMPrefixState + is set to matchFound(2). + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefLMPrefixDestAddrType { + type inet-address:InetAddressType; + description + "The Destination Address Type. + This object specifies the address type + used for cefLMPrefixDestAddr. + + Longest Match Prefix entries are only valid + for the address type of ipv4(1) and ipv6(2)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.1"; + } + + leaf cefLMPrefixDestAddr { + type inet-address:InetAddress; + description + "The Destination Address. + The type of this address is determined by + the value of the cefLMPrefixDestAddrType object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.2"; + } + + leaf cefLMPrefixState { + type cisco-cef:CefPrefixSearchState; + description + "Indicates the state of this prefix search request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.3"; + } + + leaf cefLMPrefixAddr { + type inet-address:InetAddress; + description + "The Network Prefix Address. Index to the cefPrefixTable. + The type of this address is determined by + the value of the cefLMPrefixDestAddrType object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.4"; + } + + leaf cefLMPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "The Network Prefix Length. Index to the cefPrefixTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.5"; + } + + leaf cefLMPrefixRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry. Once the entry + status is set to active(1), the associated entry + cannot be modified until the request completes + (cefLMPrefixState transitions to matchFound(2) + or noMatchFound(3)). + + Once the longest match request has been created + (i.e. the cefLMPrefixRowStatus has been made active), + the entry cannot be modified - the only operation + possible after this is to delete the row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.4.1.6"; + } + } + } + + container cefPathTable { + description + "CEF prefix path is a valid route to reach to a + destination IP prefix. Multiple paths may exist + out of a router to the same destination prefix. + This table specify lists of CEF paths."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5"; + + list cefPathEntry { + key "entPhysicalIndex cefPrefixType cefPrefixAddr cefPrefixLen cefPathId"; + description + "If CEF is enabled on the Managed device, + each entry contain a CEF prefix path. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefPrefixType { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPrefixTable/CISCO-CEF-MIB:cefPrefixEntry/CISCO-CEF-MIB:cefPrefixType"; + } + } + + leaf cefPrefixAddr { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPrefixTable/CISCO-CEF-MIB:cefPrefixEntry/CISCO-CEF-MIB:cefPrefixAddr"; + } + } + + leaf cefPrefixLen { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPrefixTable/CISCO-CEF-MIB:cefPrefixEntry/CISCO-CEF-MIB:cefPrefixLen"; + } + } + + leaf cefPathId { + type int32 { + range "1..2147483647"; + } + description + "The locally arbitrary, but unique identifier associated + with this prefix path entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1.1"; + } + + leaf cefPathType { + type cisco-cef:CefPathType; + description + "Type for this CEF Path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1.2"; + } + + leaf cefPathInterface { + type if-mib:InterfaceIndexOrZero; + description + "Interface associated with this CEF path. + + A value of zero for this object will indicate + that no interface is associated with this path + entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1.3"; + } + + leaf cefPathNextHopAddr { + type inet-address:InetAddress; + description + "Next hop address associated with this CEF path. + + The value of this object is only relevant + for attached next hop and recursive next hop + path types (when the object cefPathType is + set to attachedNexthop(4) or recursiveNexthop(5)). + and will be set to zero for other path types. + + The type of this address is determined by + the value of the cefPrefixType object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1.4"; + } + + leaf cefPathRecurseVrfName { + type mpls-vpn:MplsVpnId; + description + "The recursive vrf name associated with this path. + + The value of this object is only relevant + for recursive next hop path types (when the + object cefPathType is set to recursiveNexthop(5)), + and '0x00' will be returned for other path types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.5.1.5"; + } + } + } + + container cefAdjSummaryTable { + description + "This table contains the summary information + for the cefAdjTable."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1"; + + list cefAdjSummaryEntry { + key "entPhysicalIndex cefAdjSummaryLinkType"; + description + "If CEF is enabled on the Managed device, + each entry contains the CEF Adjacency + summary related attributes for the + Managed entity. A row exists for + each adjacency link type. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefAdjSummaryLinkType { + type cisco-cef:CefAdjLinkType; + description + "The link type of the adjacency."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1.1"; + } + + leaf cefAdjSummaryComplete { + type uint32; + description + "The total number of complete adjacencies. + + The total number of adjacencies which can be used + to switch traffic to a neighbour."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1.2"; + } + + leaf cefAdjSummaryIncomplete { + type uint32; + description + "The total number of incomplete adjacencies. + + The total number of adjacencies which cannot be + used to switch traffic in their current state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1.3"; + } + + leaf cefAdjSummaryFixup { + type uint32; + description + "The total number of adjacencies for which + the Layer 2 encapsulation string (header) may be + updated (fixed up) at packet switch time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1.4"; + } + + leaf cefAdjSummaryRedirect { + type uint32; + description + "The total number of adjacencies for which + ip redirect (or icmp redirection) is enabled. + The value of this object is only relevant for + ipv4 and ipv6 link type (when the index object + cefAdjSummaryLinkType value is ipv4(1) or ipv6(2)) + and will be set to zero for other link types."; + reference + "1. Internet Architecture Extensions for Shared Media, + RFC 1620, May 1994."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1.1.1.5"; + } + } + } + + container cefAdjTable { + description + "A list of CEF adjacencies."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2"; + + list cefAdjEntry { + key "entPhysicalIndex ifIndex cefAdjNextHopAddrType cefAdjNextHopAddr cefAdjConnId cefAdjSummaryLinkType"; + description + "If CEF is enabled on the Managed device, + each entry contains the adjacency + attributes. Adjacency entries may exist + for all the interfaces on which packets + can be switched out of the device. + The interface is instantiated by ifIndex. + Therefore, the interface index must have been + assigned, according to the applicable procedures, + before it can be meaningfully used. + Generally, this means that the interface must exist. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cefAdjSummaryLinkType { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefAdjSummaryTable/CISCO-CEF-MIB:cefAdjSummaryEntry/CISCO-CEF-MIB:cefAdjSummaryLinkType"; + } + } + + leaf cefAdjNextHopAddrType { + type inet-address:InetAddressType; + description + "Address type for the cefAdjNextHopAddr. + This object specifies the address type + used for cefAdjNextHopAddr. + + Adjacency entries are only valid for the + address type of ipv4(1) and ipv6(2)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.1"; + } + + leaf cefAdjNextHopAddr { + type inet-address:InetAddress; + description + "The next Hop address for this adjacency. + The type of this address is determined by + the value of the cefAdjNextHopAddrType object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.2"; + } + + leaf cefAdjConnId { + type uint32 { + range "0..4294967295"; + } + description + "In cases where cefLinkType, interface and the + next hop address are not able to uniquely define + an adjacency entry (e.g. ATM and Frame Relay + Bundles), this object is a unique identifier + to differentiate between these adjacency entries. + + In all the other cases the value of this + index object will be 0."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.3"; + } + + leaf cefAdjSource { + type cisco-cef:CefAdjacencySource; + description + "If the adjacency is created because some neighbour + discovery mechanism has discovered a neighbour + and all the information required to build a frame header to + encapsulate traffic to the neighbour is available + then the source of adjacency is set to the mechanism + by which the adjacency is learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.4"; + } + + leaf cefAdjEncap { + type cisco-cef:CefOctetString; + description + "The layer 2 encapsulation string to be used + for sending the packet out using this adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.5"; + } + + leaf cefAdjFixup { + type cisco-cef:CefOctetString; + description + "For the cases, where the encapsulation string + is decided at packet switch time, the adjacency + encapsulation string specified by object cefAdjEncap + require a fixup. I.e. for the adjacencies out of IP + Tunnels, the string prepended is an IP header which has + fields which can only be setup at packet switch time. + + The value of this object represent the kind of fixup + applied to the packet. + + If the encapsulation string doesn't require any fixup, + then the value of this object will be of zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.6"; + } + + leaf cefAdjMTU { + type uint32 { + range "0..65535"; + } + units "bytes"; + description + "The Layer 3 MTU which can be transmitted using + this adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.7"; + } + + leaf cefAdjForwardingInfo { + type cisco-cef:CefOctetString; + description + "This object selects a forwarding info entry + defined in the cefFESelectionTable. The + selected target is defined by an entry in the + cefFESelectionTable whose index value (cefFESelectionName) + is equal to this object. + + The value of this object will be of zero length if + this adjacency entry is the last forwarding + element in the forwarding path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.8"; + } + + leaf cefAdjPkts { + type yang:counter32; + units "packets"; + description + "Number of pkts transmitted using this adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.9"; + } + + leaf cefAdjHCPkts { + type yang:counter64; + units "packets"; + description + "Number of pkts transmitted using this adjacency. + This object is a 64-bit version of cefAdjPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.10"; + } + + leaf cefAdjBytes { + type yang:counter32; + units "bytes"; + description + "Number of bytes transmitted using this adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.11"; + } + + leaf cefAdjHCBytes { + type yang:counter64; + units "bytes"; + description + "Number of bytes transmitted using this adjacency. + This object is a 64-bit version of cefAdjBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.2.1.12"; + } + } + } + + container cefFESelectionTable { + description + "A list of forwarding element selection entries."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1"; + + list cefFESelectionEntry { + key "entPhysicalIndex cefFESelectionName cefFESelectionId"; + description + "If CEF is enabled on the Managed device, + each entry contain a CEF forwarding element + selection list. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFESelectionName { + type binary { + length "1..32"; + } + description + "The locally arbitrary, but unique identifier used + to select a set of forwarding element lists."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.1"; + } + + leaf cefFESelectionId { + type int32 { + range "1..2147483647"; + } + description + "Secondary index to identify a forwarding elements List + in this Table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.2"; + } + + leaf cefFESelectionSpecial { + type cisco-cef:CefForwardingElementSpecialType; + description + "Special processing for a destination + is indicated through the use of special + forwarding element. + + If the forwarding element list contains the + special forwarding element, then this object + represents the type of special forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.3"; + } + + leaf cefFESelectionLabels { + type cisco-cef:CefMplsLabelList; + description + "This object represent the MPLS Labels + associated with this forwarding Element List. + + The value of this object will be irrelevant and will + be set to zero length if the forwarding element list + doesn't contain a label forwarding element. A zero + length label list will indicate that there is no label + forwarding element associated with this selection entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.4"; + } + + leaf cefFESelectionAdjLinkType { + type cisco-cef:CefAdjLinkType; + description + "This object represent the link type for + the adjacency associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to unknown(5) if the forwarding element list + doesn't contain an adjacency forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.5"; + } + + leaf cefFESelectionAdjInterface { + type if-mib:InterfaceIndexOrZero; + description + "This object represent the interface for + the adjacency associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to zero if the forwarding element list doesn't + contain an adjacency forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.6"; + } + + leaf cefFESelectionAdjNextHopAddrType { + type inet-address:InetAddressType; + description + "This object represent the next hop address type for + the adjacency associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to unknown(0) if the forwarding element list + doesn't contain an adjacency forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.7"; + } + + leaf cefFESelectionAdjNextHopAddr { + type inet-address:InetAddress; + description + "This object represent the next hop address for + the adjacency associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to zero if the forwarding element list doesn't + contain an adjacency forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.8"; + } + + leaf cefFESelectionAdjConnId { + type uint32 { + range "0..4294967295"; + } + description + "This object represent the connection id for + the adjacency associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to zero if the forwarding element list doesn't + contain an adjacency forwarding element. + + In cases where cefFESelectionAdjLinkType, interface + and the next hop address are not able to uniquely + define an adjacency entry (e.g. ATM and Frame Relay + Bundles), this object is a unique identifier + to differentiate between these adjacency entries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.9"; + } + + leaf cefFESelectionVrfName { + type mpls-vpn:MplsVpnId; + description + "This object represent the Vrf name for + the lookup associated with this forwarding + Element List. + + The value of this object will be irrelevant and will + be set to a string containing the single octet + 0x00 if the forwarding element list + doesn't contain a lookup forwarding element."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.10"; + } + + leaf cefFESelectionWeight { + type uint32 { + range "0..4294967295"; + } + description + "This object represent the weighting for + load balancing between multiple Forwarding Element + Lists. The value of this object will be zero if + load balancing is associated with this selection + entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3.1.1.11"; + } + } + } + + container cefCfgTable { + description + "This table contains global config parameter + of CEF on the Managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1"; + + list cefCfgEntry { + key "entPhysicalIndex cefFIBIpVersion"; + description + "If the Managed device supports CEF, + each entry contains the CEF config + parameter for the managed entity. + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefCfgAdminState { + type cisco-cef:CefAdminStatus; + description + "The desired state of CEF."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.1"; + } + + leaf cefCfgOperState { + type cisco-cef:CefOperStatus; + description + "The current operational state of CEF. + + If the cefCfgAdminState is disabled(2), then + cefOperState will eventually go to the down(2) + state unless some error has occurred. + + If cefCfgAdminState is changed to enabled(1) then + cefCfgOperState should change to up(1) only if the + CEF entity is ready to forward the packets using + Cisco Express Forwarding (CEF) else it should remain + in the down(2) state. The up(1) state for this object + indicates that CEF entity is forwarding the packet + using Cisco Express Forwarding."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.2"; + } + + leaf cefCfgDistributionAdminState { + type cisco-cef:CefAdminStatus; + description + "The desired state of CEF distribution."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.3"; + } + + leaf cefCfgDistributionOperState { + type cisco-cef:CefOperStatus; + description + "The current operational state of CEF distribution. + + If the cefCfgDistributionAdminState is disabled(2), then + cefDistributionOperState will eventually go to the down(2) + state unless some error has occurred. + + If cefCfgDistributionAdminState is changed to enabled(1) + then cefCfgDistributionOperState should change to up(1) + only if the CEF entity is ready to forward the packets + using Distributed Cisco Express Forwarding (dCEF) else + it should remain in the down(2) state. The up(1) state + for this object indicates that CEF entity is forwarding + the packet using Distributed Cisco Express Forwarding."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.4"; + } + + leaf cefCfgAccountingMap { + type bits { + bit nonRecursive { + position "0"; + } + bit perPrefix { + position "1"; + } + bit prefixLength { + position "2"; + } + } + description + "This object represents a bitmap of network + accounting options. + + CEF network accounting is disabled by default. + + CEF network accounting can be enabled + by selecting one or more of the following + CEF accounting option for the value + of this object. + + nonRecursive(0): enables accounting through + nonrecursive prefixes. + + perPrefix(1): enables the collection of the numbers + of pkts and bytes express forwarded + to a destination (prefix) + + prefixLength(2): enables accounting through + prefixlength. + + Once the accounting is enabled, the corresponding stats + can be retrieved from the cefPrefixTable and + cefStatsPrefixLenTable. + "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.5"; + } + + leaf cefCfgLoadSharingAlgorithm { + type enumeration { + enum "none" { + value "1"; + } + enum "original" { + value "2"; + } + enum "tunnel" { + value "3"; + } + enum "universal" { + value "4"; + } + } + description + "Indicates the CEF Load balancing algorithm. + + Setting this object to none(1) will disable + the Load sharing for the specified entry. + + CEF load balancing can be enabled by setting + this object to one of following Algorithms: + + original(2) : This algorithm is based on a + source and destination hash + + tunnel(3) : This algorithm is used in + tunnels environments or in + environments where there are + only a few source + + universal(4) : This algorithm uses a source and + destination and ID hash + + If the value of this object is set to 'tunnel' + or 'universal', then the FIXED ID for these + algorithms may be specified by the managed + object cefLoadSharingID. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.6"; + } + + leaf cefCfgLoadSharingID { + type uint32 { + range "0..4294967295"; + } + description + "The Fixed ID associated with the managed object + cefCfgLoadSharingAlgorithm. The hash of this object + value may be used by the Load Sharing Algorithm. + + The value of this object is not relevant and will + be set to zero if the value of managed object + cefCfgLoadSharingAlgorithm is set to none(1) or original(2). + The default value of this object is calculated by + the device at the time of initialization."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.7"; + } + + leaf cefCfgTrafficStatsLoadInterval { + type uint32; + units "seconds"; + description + "The interval time over which the CEF traffic statistics + are collected."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.8"; + } + + leaf cefCfgTrafficStatsUpdateRate { + type uint32 { + range "0..65535"; + } + units "seconds"; + description + "The frequency with which the line card sends the + traffic load statistics to the Router Processor. + + Setting the value of this object to 0 will disable + the CEF traffic statistics collection."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.1.1.9"; + } + } + } + + container cefResourceTable { + description + "This table contains global resource + information of CEF on the Managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.2"; + + list cefResourceEntry { + key "entPhysicalIndex"; + description + "If the Managed device supports CEF, + each entry contains the CEF Resource + parameters for the managed entity. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefResourceMemoryUsed { + type yang:gauge32; + units "bytes"; + description + "Indicates the number of bytes from + the Processor Memory Pool that + are currently in use by CEF on the + managed entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.2.1.1"; + } + + leaf cefResourceFailureReason { + type cisco-cef:CefFailureReason; + description + "The CEF resource failure reason which may lead to CEF + being disabled on the managed entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4.2.1.2"; + } + } + } + + container cefIntTable { + description + "This Table contains interface specific + information of CEF on the Managed + device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5.1"; + + list cefIntEntry { + key "entPhysicalIndex cefFIBIpVersion ifIndex"; + description + "If CEF is enabled on the Managed device, + each entry contains the CEF attributes + associated with an interface. + The interface is instantiated by ifIndex. + Therefore, the interface index must have been + assigned, according to the applicable procedures, + before it can be meaningfully used. + Generally, this means that the interface must exist. + + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cefIntSwitchingState { + type enumeration { + enum "cefEnabled" { + value "1"; + } + enum "distCefEnabled" { + value "2"; + } + enum "cefDisabled" { + value "3"; + } + } + description + "The CEF switching State for the interface. + If CEF is enabled but distributed CEF(dCEF) is + disabled then CEF is in cefEnabled(1) state. + + If distributed CEF is enabled, then CEF is in + distCefEnabled(2) state. The cefDisabled(3) state + indicates that CEF is disabled. + + The CEF switching state is only applicable to the + received packet on the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5.1.1.1"; + } + + leaf cefIntLoadSharing { + type enumeration { + enum "perPacket" { + value "1"; + } + enum "perDestination" { + value "2"; + } + } + description + "The status of load sharing on the + interface. + + perPacket(1) : Router to send data packets + over successive equal-cost paths + without regard to individual hosts + or user sessions. + + perDestination(2) : Router to use multiple, equal-cost + paths to achieve load sharing + + Load sharing is enabled by default + for an interface when CEF is enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5.1.1.2"; + } + + leaf cefIntNonrecursiveAccouting { + type enumeration { + enum "internal" { + value "1"; + } + enum "external" { + value "2"; + } + } + description + "The CEF accounting mode for the interface. + CEF prefix based non-recursive accounting + on an interface can be configured to store + the stats for non-recursive prefixes in a internal + or external bucket. + + internal(1) : Count input traffic in the nonrecursive + internal bucket + + external(2) : Count input traffic in the nonrecursive + external bucket + + The value of this object will only be effective if + value of the object cefAccountingMap is set to enable + nonRecursive(1) accounting."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5.1.1.3"; + } + } + } + + container cefPeerTable { + description + "Entity acting as RP (Routing Processor) keeps + the CEF states for the line card entities and + communicates with the line card entities using + XDR. This Table contains the CEF information + related to peer entities on the managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.1"; + + list cefPeerEntry { + key "entPhysicalIndex entPeerPhysicalIndex"; + description + "If CEF is enabled on the Managed device, + each entry contains the CEF related attributes + associated with a CEF peer entity. + + entPhysicalIndex and entPeerPhysicalIndex are + also indexes for this table which represents + entities of 'module' entPhysicalClass which are + capable of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPeerPhysicalIndex { + type entity-mib:PhysicalIndex; + description + "The entity index for the CEF peer entity. + Only the entities of 'module' + entPhysicalClass are included here."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.1.1.1"; + } + + leaf cefPeerOperState { + type enumeration { + enum "peerDisabled" { + value "1"; + } + enum "peerUp" { + value "2"; + } + enum "peerHold" { + value "3"; + } + } + description + "The current CEF operational state of the CEF peer entity. + + Cef peer entity oper state will be peerDisabled(1) in + the following condition: + + : Cef Peer entity encounters fatal error i.e. resource + allocation failure, ipc failure etc + + : When a reload/delete request is received from the Cef + Peer Entity + + Once the peer entity is up and no fatal error is encountered, + then the value of this object will transits to the peerUp(3) + state. + + If the Cef Peer entity is in held stage, then the value + of this object will be peerHold(3). Cef peer entity can only + transit to peerDisabled(1) state from the peerHold(3) state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.1.1.2"; + } + + leaf cefPeerNumberOfResets { + type yang:counter32; + description + "Number of times the session with CEF peer entity + has been reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.1.1.3"; + } + } + } + + container cefPeerFIBTable { + description + "Entity acting as RP (Routing Processor) keep + the CEF FIB states for the line card entities and + communicate with the line card entities using + XDR. This Table contains the CEF FIB State + related to peer entities on the managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.2"; + + list cefPeerFIBEntry { + key "entPhysicalIndex entPeerPhysicalIndex cefFIBIpVersion"; + description + "If CEF is enabled on the Managed device, + each entry contains the CEF FIB State + associated a CEF peer entity. + + entPhysicalIndex and entPeerPhysicalIndex are + also indexes for this table which represents + entities of 'module' entPhysicalClass which are + capable of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPeerPhysicalIndex { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPeerTable/CISCO-CEF-MIB:cefPeerEntry/CISCO-CEF-MIB:entPeerPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefPeerFIBOperState { + type enumeration { + enum "peerFIBDown" { + value "1"; + } + enum "peerFIBUp" { + value "2"; + } + enum "peerFIBReloadRequest" { + value "3"; + } + enum "peerFIBReloading" { + value "4"; + } + enum "peerFIBSynced" { + value "5"; + } + } + description + "The current CEF FIB Operational State for the + CEF peer entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6.2.1.1"; + } + } + } + + container cefCCGlobalTable { + description + "This table contains CEF consistency checker + (CC) global parameters for the managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1"; + + list cefCCGlobalEntry { + key "cefFIBIpVersion"; + description + "If the managed device supports CEF, + each entry contains the global consistency + checker parameter for the managed device. + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1"; + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefCCGlobalAutoRepairEnabled { + type boolean; + description + "Once an inconsistency has been detected, + CEF has the ability to repair the problem. + This object indicates the status of auto-repair + function for the consistency checkers."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.1"; + } + + leaf cefCCGlobalAutoRepairDelay { + type uint32; + units "seconds"; + description + "Indiactes how long the consistency checker + waits to fix an inconsistency. + + The value of this object has no effect when the + value of object cefCCGlobalAutoRepairEnabled + is 'false'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.2"; + } + + leaf cefCCGlobalAutoRepairHoldDown { + type uint32; + units "seconds"; + description + "Indicates how long the consistency checker + waits to re-enable auto-repair after + auto-repair runs. + + The value of this object has no effect when the + value of object cefCCGlobalAutoRepairEnabled + is 'false'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.3"; + } + + leaf cefCCGlobalErrorMsgEnabled { + type boolean; + description + "Enables the consistency checker to generate + an error message when it detects an inconsistency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.4"; + } + + leaf cefCCGlobalFullScanAction { + type cisco-cef:CefCCAction; + description + "Setting the value of this object to ccActionStart(1) + will start the full scan consistency checkers. + + The Management station should poll the + cefCCGlobalFullScanStatus object to get the + state of full-scan operation. + + Once the full-scan operation completes (value + of cefCCGlobalFullScanStatus object is ccStatusDone(3)), + the Management station should retrieve the values of the + related stats object from the cefCCTypeTable. + + Setting the value of this object to ccActionAbort(2) will + abort the full-scan operation. + + The value of this object can't be set to ccActionStart(1), + if the value of object cefCCGlobalFullScanStatus + is ccStatusRunning(2). + + The value of this object will be set to cefActionNone(1) + when the full scan consistency checkers have never + been activated. + + A Management Station cannot set the value of + this object to cefActionNone(1)."; + smiv2:defval "ccActionNone"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.5"; + } + + leaf cefCCGlobalFullScanStatus { + type cisco-cef:CefCCStatus; + description + "Indicates the status of the full scan consistency + checker request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.1.1.6"; + } + } + } + + container cefCCTypeTable { + description + "This table contains CEF consistency + checker types specific parameters on the managed device. + + All detected inconsistency are signaled to the + Management Station via cefInconsistencyDetection + notification."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2"; + + list cefCCTypeEntry { + key "cefFIBIpVersion cefCCType"; + description + "If the managed device supports CEF, + each entry contains the consistency + checker statistics for a consistency + checker type. + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1"; + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefCCType { + type cisco-cef:CefCCType; + description + "Type of the consistency checker."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.1"; + } + + leaf cefCCEnabled { + type boolean; + description + "Enables the passive consistency checker. + Passive consistency checkers are disabled + by default. + + Full-scan consistency checkers are always enabled. + An attempt to set this object to 'false' for + an active consistency checker will result in + 'wrongValue' error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.2"; + } + + leaf cefCCCount { + type uint32; + description + "The maximum number of prefixes to check per scan. + + The default value for this object + depends upon the consistency checker type. + + The value of this object will be irrelevant + for some of the consistency checkers and + will be set to 0. + + A Management Station cannot set the value of + this object to 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.3"; + } + + leaf cefCCPeriod { + type uint32; + units "seconds"; + description + "The period between scans for the consistency + checker."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.4"; + } + + leaf cefCCQueriesSent { + type yang:counter32; + description + "Number of prefix consistency queries sent to CEF + forwarding databases by this consistency checker."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.5"; + } + + leaf cefCCQueriesIgnored { + type yang:counter32; + description + "Number of prefix consistency queries for which + the consistency checks were not performed by this + consistency checker. This may be because of some + internal error or resource failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.6"; + } + + leaf cefCCQueriesChecked { + type yang:counter32; + description + "Number of prefix consistency queries processed by this + consistency checker."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.7"; + } + + leaf cefCCQueriesIterated { + type yang:counter32; + description + "Number of prefix consistency queries iterated back to + the master database by this consistency checker."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.2.1.8"; + } + } + } + + container cefInconsistencyRecordTable { + description + "This table contains CEF inconsistency + records."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3"; + + list cefInconsistencyRecordEntry { + key "cefFIBIpVersion cefInconsistencyRecId"; + description + "If the managed device supports CEF, + each entry contains the inconsistency + record."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1"; + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefInconsistencyRecId { + type int32 { + range "1..2147483647"; + } + description + "The locally arbitrary, but unique identifier associated + with this inconsistency record entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.1"; + } + + leaf cefInconsistencyPrefixType { + type inet-address:InetAddressType; + description + "The network prefix type associated with this inconsistency + record."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.2"; + } + + leaf cefInconsistencyPrefixAddr { + type inet-address:InetAddress; + description + "The network prefix address associated with this + inconsistency record. + + The type of this address is determined by + the value of the cefInconsistencyPrefixType object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.3"; + } + + leaf cefInconsistencyPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "Length in bits of the inconsistency address prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.4"; + } + + leaf cefInconsistencyVrfName { + type mpls-vpn:MplsVpnId; + description + "Vrf name associated with this inconsistency record."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.5"; + } + + leaf cefInconsistencyCCType { + type cisco-cef:CefCCType; + description + "The type of consistency checker who generated this + inconsistency record."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.6"; + } + + leaf cefInconsistencyEntity { + type cisco-tc:EntPhysicalIndexOrZero; + description + "The entity for which this inconsistency record was + generated. The value of this object will be + irrelevant and will be set to 0 when the inconsisency + record is applicable for all the entities."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.7"; + } + + leaf cefInconsistencyReason { + type enumeration { + enum "missing" { + value "1"; + } + enum "checksumErr" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "The reason for generating this inconsistency record. + + missing(1): the prefix is missing + + checksumErr(2): checksum error was found + + unknown(3): reason is unknown"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7.3.1.8"; + } + } + } + + container cefStatsPrefixLenTable { + description + "This table specifies the CEF stats based + on the Prefix Length."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1"; + + list cefStatsPrefixLenEntry { + key "entPhysicalIndex cefFIBIpVersion cefStatsPrefixLen"; + description + "If CEF is enabled on the Managed device + and if CEF accounting is set to enable + prefix length based accounting (value of + cefCfgAccountingMap object in the + cefCfgEntry is set to enable 'prefixLength' + accounting), each entry contains the traffic + statistics for a prefix length. + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefStatsPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "Length in bits of the Destination IP prefix. + As 0.0.0.0/0 is a valid prefix, hence + 0 is a valid prefix length."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.1"; + } + + leaf cefStatsPrefixQueries { + type yang:counter32; + description + "Number of queries received in the FIB database + for the specified IP prefix length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.2"; + } + + leaf cefStatsPrefixHCQueries { + type yang:counter64; + description + "Number of queries received in the FIB database + for the specified IP prefix length. + This object is a 64-bit version of + cefStatsPrefixQueries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.3"; + } + + leaf cefStatsPrefixInserts { + type yang:counter32; + description + "Number of insert operations performed to the FIB + database for the specified IP prefix length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.4"; + } + + leaf cefStatsPrefixHCInserts { + type yang:counter64; + description + "Number of insert operations performed to the FIB + database for the specified IP prefix length. + This object is a 64-bit version of + cefStatsPrefixInsert."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.5"; + } + + leaf cefStatsPrefixDeletes { + type yang:counter32; + description + "Number of delete operations performed to the FIB + database for the specified IP prefix length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.6"; + } + + leaf cefStatsPrefixHCDeletes { + type yang:counter64; + description + "Number of delete operations performed to the FIB + database for the specified IP prefix length. + This object is a 64-bit version of + cefStatsPrefixDelete."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.7"; + } + + leaf cefStatsPrefixElements { + type yang:gauge32; + description + "Total number of elements in the FIB database for the + specified IP prefix length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.8"; + } + + leaf cefStatsPrefixHCElements { + type yang:gauge64; + description + "Total number of elements in the FIB database for the + specified IP prefix length. + This object is a 64-bit version of + cefStatsPrefixElements."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.1.1.9"; + } + } + } + + container cefSwitchingStatsTable { + description + "This table specifies the CEF switch stats."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2"; + + list cefSwitchingStatsEntry { + key "entPhysicalIndex cefFIBIpVersion cefSwitchingIndex"; + description + "If CEF is enabled on the Managed device, + each entry specifies the switching stats. + A row may exist for each IP version type + (v4 and v6) depending upon the IP version + supported on the device. + + entPhysicalIndex is also an index for this + table which represents entities of + 'module' entPhysicalClass which are capable + of running CEF."; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefSwitchingIndex { + type int32 { + range "1..2147483647"; + } + description + "The locally arbitrary, but unique identifier associated + with this switching stats entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.1"; + } + + leaf cefSwitchingPath { + type binary { + length "1..32"; + } + description + "Switch path where the feature was executed. + Available switch paths are platform-dependent. + Following are the examples of switching paths: + + RIB : switching with CEF assistance + + Low-end switching (LES) : CEF switch path + + PAS : CEF turbo switch path."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.2"; + } + + leaf cefSwitchingDrop { + type yang:counter32; + units "packets"; + description + "Number of packets dropped by CEF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.3"; + } + + leaf cefSwitchingHCDrop { + type yang:counter64; + units "packets"; + description + "Number of packets dropped by CEF. + This object is a 64-bit version of cefSwitchingDrop."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.4"; + } + + leaf cefSwitchingPunt { + type yang:counter32; + units "packets"; + description + "Number of packets that could not be switched + in the normal path and were punted to the + next-fastest switching vector."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.5"; + } + + leaf cefSwitchingHCPunt { + type yang:counter64; + units "packets"; + description + "Number of packets that could not be switched + in the normal path and were punted to the + next-fastest switching vector. + This object is a 64-bit version of cefSwitchingPunt."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.6"; + } + + leaf cefSwitchingPunt2Host { + type yang:counter32; + units "packets"; + description + "Number of packets that could not be switched + in the normal path and were punted to the host + (process switching path). + + For most of the switching paths, the value of + this object may be similar to cefSwitchingPunt."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.7"; + } + + leaf cefSwitchingHCPunt2Host { + type yang:counter64; + units "packets"; + description + "Number of packets that could not be switched + in the normal path and were punted to the host + (process switching path). + + For most of the switching paths, the value of + this object may be similar to cefSwitchingPunt. + This object is a 64-bit version of cefSwitchingPunt2Host."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8.2.1.8"; + } + } + } + } + + notification cefResourceFailure { + description + "A cefResourceFailure notification is generated when + CEF resource failure on the managed entity is + detected. The reason for this failure is indicated + by cefResourcefFailureReason."; + smiv2:oid "1.3.6.1.4.1.9.9.492.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefResourceFailureReason { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefResourceTable/CISCO-CEF-MIB:cefResourceEntry/CISCO-CEF-MIB:cefResourceFailureReason"; + } + } + } + } + + notification cefPeerStateChange { + description + "A cefPeerStateChange notification is generated if + change in cefPeerOperState is detected for the + peer entity."; + smiv2:oid "1.3.6.1.4.1.9.9.492.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPeerPhysicalIndex { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPeerTable/CISCO-CEF-MIB:cefPeerEntry/CISCO-CEF-MIB:entPeerPhysicalIndex"; + } + } + + leaf cefPeerOperState { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPeerTable/CISCO-CEF-MIB:cefPeerEntry/CISCO-CEF-MIB:cefPeerOperState"; + } + } + } + } + + notification cefPeerFIBStateChange { + description + "A cefPeerFIBStateChange notification is generated if + change in cefPeerFIBOperState is detected for the + peer entity."; + smiv2:oid "1.3.6.1.4.1.9.9.492.0.3"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPeerPhysicalIndex { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPeerTable/CISCO-CEF-MIB:cefPeerEntry/CISCO-CEF-MIB:entPeerPhysicalIndex"; + } + } + + leaf cefFIBIpVersion { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefFIBSummaryTable/CISCO-CEF-MIB:cefFIBSummaryEntry/CISCO-CEF-MIB:cefFIBIpVersion"; + } + } + + leaf cefPeerFIBOperState { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefPeerFIBTable/CISCO-CEF-MIB:cefPeerFIBEntry/CISCO-CEF-MIB:cefPeerFIBOperState"; + } + } + } + } + + notification cefInconsistencyDetection { + description + "A cefInconsistencyDetection notification is generated + when CEF consistency checkers detects an inconsistent + prefix in one of the CEF forwarding databases. + + Note that the generation of cefInconsistencyDetection + notifications is throttled by the agent, as specified + by the 'cefNotifThrottlingInterval' object."; + smiv2:oid "1.3.6.1.4.1.9.9.492.0.4"; + + container object-1 { + + leaf entLastInconsistencyDetectTime { + type leafref { + path "/CISCO-CEF-MIB:CISCO-CEF-MIB/CISCO-CEF-MIB:cefCC/CISCO-CEF-MIB:entLastInconsistencyDetectTime"; + } + } + } + } + + smiv2:alias "ciscoCefMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.492"; + } + + smiv2:alias "ciscoCefMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.492.0"; + } + + smiv2:alias "ciscoCefMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1"; + } + + smiv2:alias "cefFIB" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1"; + } + + smiv2:alias "cefFIBSummary" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.1.1"; + } + + smiv2:alias "cefAdj" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2"; + } + + smiv2:alias "cefAdjSummary" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.2.1"; + } + + smiv2:alias "cefFE" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.3"; + } + + smiv2:alias "cefGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.4"; + } + + smiv2:alias "cefInterface" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.5"; + } + + smiv2:alias "cefPeer" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.6"; + } + + smiv2:alias "cefCC" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.7"; + } + + smiv2:alias "cefStats" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.8"; + } + + smiv2:alias "cefNotifCntl" { + smiv2:oid "1.3.6.1.4.1.9.9.492.1.9"; + } + + smiv2:alias "ciscoCefMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.492.2"; + } + + smiv2:alias "cefMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.492.2.1"; + } + + smiv2:alias "cefMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.492.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CEF-TC.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CEF-TC.yang new file mode 100644 index 000000000..7fde8f1fd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CEF-TC.yang @@ -0,0 +1,610 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-CEF-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CEF-TC + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CEF-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC"; + prefix CISCO-CEF-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-cef@cisco.com"; + + description + "This MIB module defines Textual Conventions and + OBJECT-IDENTITIES for use in documents defining + management information base (MIBs) modules for + managing Cisco Express Forwarding (CEF)."; + + revision 2005-09-30 { + description + "Initial version of this MIB module."; + } + + typedef CefIpVersion { + type enumeration { + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + } + description + "The version of CEF IP forwarding."; + } + + typedef CefAdjLinkType { + type enumeration { + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + enum "mpls" { + value "3"; + } + enum "raw" { + value "4"; + } + enum "unknown" { + value "5"; + } + } + description + "Link type for the adjacency. The adjacency link type + identifies protocol stack on neighbour device which will + process packets fed through adjacency."; + } + + typedef CefAdjacencySource { + type bits { + bit atom { + position "0"; + } + bit linkRawAdj { + position "1"; + } + bit ipPseudowireAdj { + position "2"; + } + bit arp { + position "3"; + } + bit p2pAdj { + position "4"; + } + bit frMap { + position "5"; + } + bit atmPVC { + position "6"; + } + bit atmSVC { + position "7"; + } + bit atmTVC { + position "8"; + } + bit nbma { + position "9"; + } + bit mpoa { + position "10"; + } + bit atmBundle { + position "11"; + } + bit lec { + position "12"; + } + bit nhrp { + position "13"; + } + bit ipv6ND { + position "14"; + } + bit cmcc { + position "15"; + } + bit ipv6SixtoFourTunnel { + position "16"; + } + bit ipv6IsaTapTunnel { + position "17"; + } + bit ipv6AutoTunnel { + position "18"; + } + bit fibLc { + position "19"; + } + bit virtual { + position "20"; + } + bit multicast { + position "21"; + } + bit unknown { + position "22"; + } + } + description + "The mechanism by which the adjacency is learned. + As the mechanism of learning the adjacency can be + multiple (e.g. 'arp' and 'atmPVC'), hence the + value of this object represents the bit mask of + adjacency sources."; + } + + typedef CefPathType { + type enumeration { + enum "receive" { + value "1"; + } + enum "connectedPrefix" { + value "2"; + } + enum "attachedPrefix" { + value "3"; + } + enum "attachedHost" { + value "4"; + } + enum "attachedNexthop" { + value "5"; + } + enum "recursiveNexthop" { + value "6"; + } + enum "adjacencyPrefix" { + value "7"; + } + enum "specialPrefix" { + value "8"; + } + enum "unknown" { + value "9"; + } + } + description + "Type of the CEF Path. + receive(1) : path for the address + configured on any of the + interface in the device. + + connectedPrefix(2) : connected prefix path + + attachedPrefix(3) : attached prefix path + + attachedHost(4) : attached host path + + attachedNexthop(5) : attached next hop path + + recursiveNexthop(6) : recursive next hop path + + adjacencyPrefix(7) : adjacency prefix path + + specialPrefix(8) : special prefix path + + unknown(9): : unknown path + ."; + } + + typedef CefPrefixSearchState { + type enumeration { + enum "running" { + value "1"; + } + enum "matchFound" { + value "2"; + } + enum "noMatchFound" { + value "3"; + } + } + description + "The state of prefix search operation. + The description of each state is given below: + + running(1) : this state signifies that a prefix + search request is running. + + matchFound(2) : this state signifies that a prefix + search request is completed and a prefix + match has been found. + + noMatchFound(3) : this state signifies that a prefix + search request is completed and a prefix + match has not been found."; + } + + typedef CefForwardingElementSpecialType { + type enumeration { + enum "illegal" { + value "1"; + } + enum "punt" { + value "2"; + } + enum "drop" { + value "3"; + } + enum "discard" { + value "4"; + } + enum "null" { + value "5"; + } + enum "glean" { + value "6"; + } + enum "unresolved" { + value "7"; + } + enum "noRoute" { + value "8"; + } + enum "none" { + value "9"; + } + } + description + "Type of special forwarding element + + illegal(1) : illegal special forwarding element. + the packet will be dropped. + + punt(2) : the packet will be punted to the + next switching path + + drop(3) : not supported for Destination IP to next hop + interface and the packet will be dropped + + discard(4) : the packet is for Destination IP through + next hop interface and it will be discarded + + null(5) : the packet is for Destination IP to null0, + it will be dropped + + glean(6) : an attempt will be made to complete the + encapsulation string through address + resolution + + unResolved(7): unresolved forwarding element. + the packet will be dropped unconditionally. + + noRoute(8) : no route forwarding element. + This forwarding element will result + in rate limited punts to the next + switching path(to generate ICMP + no route message) + + none(9) : not a special forwarding element and + the value of this object should be + ignored "; + } + + typedef CefMplsLabelList { + type binary { + length "0..255"; + } + description + "This contains a list of MPLS Labels, + each separated by the ';' (semi-colon) character. + + MPLS Label values are in accordance with the + MplsLabel TEXTUAL-CONVENTION defined in the + MPLS-TC-MIB. + + The following is en example containing two MPLS labels: + + 4294;100 + + An empty string value for this object indicates + no MPLS Labels in this list. "; + } + + typedef CefAdminStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Admin status of CEF. The admin status of CEF + may differ from the oper status of CEF depending + upon the success of the admin operation."; + } + + typedef CefOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "Operational status of CEF."; + } + + typedef CefFailureReason { + type enumeration { + enum "none" { + value "1"; + } + enum "mallocFailure" { + value "2"; + } + enum "hwFailure" { + value "3"; + } + enum "keepaliveFailure" { + value "4"; + } + enum "noMsgBuffer" { + value "5"; + } + enum "invalidMsgSize" { + value "6"; + } + enum "internalError" { + value "7"; + } + } + description + "Reason of CEF Failure: + + none(1) : no failure + + mallocFailure(2) : memory allocation failed for CEF + + hwFailure(3) : hardware interface failure + for CEF + + keepaliveFailure(4) : keepalive was not received from + the CEF peer entity + + noMsgBuffer(5) : message buffers were exhausted + while preparing IPC message to be + sent to the CEF peer entity + + invalidMsgSize(6) : IPC message was received with + invalid size from the + CEF peer entity + + internalError(7) : Some other internal error was + detected for CEF"; + } + + typedef CefCCType { + type enumeration { + enum "lcDetect" { + value "1"; + } + enum "scanFibLcRp" { + value "2"; + } + enum "scanFibRpLc" { + value "3"; + } + enum "scanRibFib" { + value "4"; + } + enum "scanFibRib" { + value "5"; + } + enum "scanFibHwSw" { + value "6"; + } + enum "scanFibSwHw" { + value "7"; + } + enum "fullScanRibFib" { + value "8"; + } + enum "fullScanFibRib" { + value "9"; + } + enum "fullScanFibRpLc" { + value "10"; + } + enum "fullScanFibLcRp" { + value "11"; + } + enum "fullScanFibHwSw" { + value "12"; + } + enum "fullScanFibSwHw" { + value "13"; + } + } + description + "Type of the consistency checker. + + lcDetect : This is an active consistency checker + which is triggered when a packet cannot + be forwarded because the prefix is not + in the forwarding table. It Detects + missing prefixes on the linecard CEF + database by sending the missing prefixes + to the RP. + + scanFibLcRp : This is an passive consistency checker + which performs a passive scan check of + the table on the line card. + + This consistency checker operates on + the line card by examining the FIB table + for a configurable time period and sending + the next n prefixes to the RP. + + scanFibRpLc : This is an passive consistency checker + which performs a passive scan check of + RP by examining the FIB table for + a configurable period and + sending the next n prefixes to the + line card. + + scanRibFib : This is an passive consistency checker + which compares routing information base + (RIB) to the FIB table at a configurable + interval and provides the number of + entries missing from the FIB table. + + scanFibRib : This is an passive consistency checker + which compares FIB Tables to the + routing information base (RIB) + at a configurable interval and provides + the number of entries missing from the + FIB table. + + scanFibHwSw : This is an passive consistency checker + which compares FIB Tables in hardware + to the FIB Tables in RP. + + scanFibSwHw : This is an passive consistency checker + which compares FIB Tables in RP + to the FIB Tables in hardware. + + fullScanRibFib : This is an active consistency checker + which is triggered by Management Station + request. It compares the entire routing + information base (RIB) to the FIB table + and provide the number of entries missing + from the FIB Table. + + fullScanFibRib : This is an active consistency checker + which is triggered by Management Station + request. It compares the FIB table to the + routing information base (RIB) + and provide the number of entries missing + from the FIB Table. + + fullScanFibRpLc : This is an active consistency checker + which is triggered by Management Station + request. It compares the RP FIB Table + with FIB Table on each LC and report + inconsistencies. + + fullScanFibLcRp : This is an active consistency checker + which is triggered by Management Station + request. It compares the Fib Table on LC + with FIB table on RP and report + inconsistencies. + + fullScanFibHwSw : This is an active consistency checker + which is triggered by Management Station + request. It compares the Fib Table in + hardware with FIB table in RP and report + inconsistencies. + + fullScanFibSwHw : This is an active consistency checker + which is triggered by Management Station + request. It compares the Fib Table in RP + with FIB table in hardware and report + inconsistencies."; + } + + typedef CefCCAction { + type enumeration { + enum "ccActionStart" { + value "1"; + } + enum "ccActionAbort" { + value "2"; + } + enum "ccActionNone" { + value "3"; + } + } + description + "The action to be performed for the consistency + checkers. + + ccActionStart(1) : start the Consistency checker + operation. + + ccActionAbort(2) : abort the Consistency checker + operation. After aborting, the + active process must recover. + This can take some time, and + during this period, the scan + cannot be restarted. + + ccActionNone(3) : no operation is being performed + on consistency checkers."; + } + + typedef CefCCStatus { + type enumeration { + enum "ccStatusIdle" { + value "1"; + } + enum "ccStatusRunning" { + value "2"; + } + enum "ccStatusDone" { + value "3"; + } + } + description + "The status of consistency checker operation. + The description of each state is given below: + + ccStatusIdle(1) : this state signifies that + no consistency checker request + is being performed. + + ccStatusRunning(2) : this state signifies that + consistency checker request is + in progress. + + ccStatusDone(3) : this state signifies that + consistency checker request is + over. + "; + } + + typedef CefOctetString { + type string; + description + "Used instead of SnmpAdminString + from SNMP-FRAMEWORK-MIB. Does not + force DISPLAY-HINT 255t"; + smiv2:display-hint "255o"; + } + + smiv2:alias "ciscoCefTextualConventions" { + smiv2:oid "1.3.6.1.4.1.9.9.493"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-COPY-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-COPY-MIB.yang new file mode 100644 index 000000000..d38c65c74 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-COPY-MIB.yang @@ -0,0 +1,872 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CONFIG-COPY-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CONFIG-COPY-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CONFIG-COPY-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB"; + prefix CISCO-CONFIG-COPY-MIB; + + import CISCO-ST-TC { + prefix "cisco-st"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB facilitates writing of configuration files + of an SNMP Agent running Cisco's IOS in the + following ways: to and from the net, copying running + configurations to startup configurations and + vice-versa, and copying a configuration + (running or startup) to and from the local + IOS file system."; + + revision 2005-04-06 { + description + "Added new enumeration value fabricStartupConfig to + ConfigFileType textual convention. + Added new table ccCopyErrorTable. + Added new enumeration values: systemNotReady and + requestAborted to ConfigCopyFailCause."; + } + + revision 2004-03-17 { + description + "The object ccCopyServerAddress is deprecated since it + supports only IPv4 address. Two new objects are + defined ccCopyServerAddressType and + ccCopyServerAddressRev1."; + } + + revision 2002-12-17 { + description + "Added a new enumeration value + someConfigApplyFailed(7) to ConfigCopyFailCause TC."; + } + + revision 2002-05-30 { + description + "Added sftp protocol as an option for + ConfigCopyProtocol."; + } + + revision 2002-05-07 { + description + "Added scp protocol as an option for + ConfigCopyProtocol. + Added unsupportedProtocol(6) as an option for the + ConfigCopyFailCause TC."; + } + + revision 2002-03-28 { + description + "Imported Unsigned32 from SNMPv2-SMI instead of + CISCO-TC"; + } + + typedef ConfigCopyProtocol { + type enumeration { + enum "tftp" { + value "1"; + } + enum "ftp" { + value "2"; + } + enum "rcp" { + value "3"; + } + enum "scp" { + value "4"; + } + enum "sftp" { + value "5"; + } + } + description + "The protocol file transfer protocol that should be + used to copy the configuration file over the + network. If the config file transfer is to occur + locally on the SNMP agent, the method of transfer + is left up to the implementation, and is not + restricted to the protocols below. + + tftp: Transfer File Transfer Protocol + + ftp: File Transfer protocol + + rcp: Remote Copy Protocol + + scp: Secure Copy Protocol + + sftp: Secure File Transfer Protocol"; + } + + typedef ConfigCopyState { + type enumeration { + enum "waiting" { + value "1"; + } + enum "running" { + value "2"; + } + enum "successful" { + value "3"; + } + enum "failed" { + value "4"; + } + } + description + "The state of a TFTP config-copy operation. + The description of each state is given below: + + waiting: only one config-copy request can run + at any time. A newly activated + config-copy request is placed in this + state if another request has already + been activated. + + running: this state signifies that the + config-copy request is running. + + successful: the state when a config-copy request + is successfully completed. + + failed: the config-copy request was + unsuccessful."; + } + + typedef ConfigCopyFailCause { + type enumeration { + enum "unknown" { + value "1"; + } + enum "badFileName" { + value "2"; + } + enum "timeout" { + value "3"; + } + enum "noMem" { + value "4"; + } + enum "noConfig" { + value "5"; + } + enum "unsupportedProtocol" { + value "6"; + } + enum "someConfigApplyFailed" { + value "7"; + } + enum "systemNotReady" { + value "8"; + } + enum "requestAborted" { + value "9"; + } + } + description + "The reason a config-copy request failed. + + unknown: very descriptive. + + badFileName: check your file + name/path/permissions. + + timeout: the network may be overloaded, + or the remote file server may not + be responding. + + noMem: the Agent wasn't able to allocate + memory for the config-copy + operation. + + noConfig: the agent-config selected as the + source was non-existent. + + unsupportedProtocol: the protocol is not + supported by the agent. + + someConfigApplyFailed: applying of some of the + configuration commands + failed. + + systemNotReady: system is not ready to copy. + + requestAborted: config copy operation aborted."; + } + + typedef ConfigFileType { + type enumeration { + enum "networkFile" { + value "1"; + } + enum "iosFile" { + value "2"; + } + enum "startupConfig" { + value "3"; + } + enum "runningConfig" { + value "4"; + } + enum "terminal" { + value "5"; + } + enum "fabricStartupConfig" { + value "6"; + } + } + description + "The various types of files on which a config-copy + operation can be performed. + + networkFile: file on another network device, + e.g. a file-server on the + network. + + iosFile: a file on the local agent, other + than startup or running config. + + startupConfig: a startup config file. + + runningConfig: a running config file. + + terminal: a terminal (e.g. the console + window) on which the config is + to be displayed. + + fabricStartupConfig: a file type which can be + used for a destination file; + when a running-config is to + copied to a destination of + this type, the file is copied + to the startup config on all + devices in the fabric. Such + a fabric could, for example, + be a Fibre Channel fabric, + or even a MAC-based fabric."; + } + + + container CISCO-CONFIG-COPY-MIB { + config false; + + container ccCopyTable { + description + "A table of config-copy requests."; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1"; + + list ccCopyEntry { + key "ccCopyIndex"; + description + "A config-copy request. + + A management station wishing to create an entry + should first generate a random serial number to be + used as the index to this sparse table. The station + should then create the associated instance of the + row status and row index objects. It must also, + either in the same or in successive PDUs, create an + instance of ccCopySourceFileType and + ccCopyDestFileType. + + At least one of the file types defined in + ConfigFileType TC must be an agent-config file type + (i.e. 'startupConfig' or 'runningConfig'). + If one of the file types is a 'networkFile', a valid + ccCopyFileName and ccCopyServerAddressType and + ccCopyServerAddressRev1 or just ccCopyServerAddress + must be created as well. If ccCopyServerAddress is + created then ccCopyServerAddressRev1 will store the + same IP address and ccCopyServerAddressType will + take the value 'ipv4'. + + For a file type of 'iosFile', only + a valid ccCopyFileName needs to be created as an + extra parameter. + + It should also modify the default values for the + other configuration objects if the defaults are not + appropriate. + + Once the appropriate instance of all the + configuration objects have been created, either by + an explicit SNMP set request or by default, the row + status should be set to active to initiate the + request. Note that this entire procedure may be + initiated via a single set request which specifies + a row status of createAndGo as well as + specifies valid values for the non-defaulted + configuration objects. + + Once the config-copy request has been created + (i.e. the ccCopyEntryRowStatus has been made + active), the entry cannot be modified - the only + operation possible after this is to delete the row. + + Once the request completes, the management station + should retrieve the values of the status objects of + interest, and should then delete the entry. In + order to prevent old entries from clogging the + table, entries will be aged out, but an entry will + ever be deleted within 5 minutes of completing."; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1"; + + leaf ccCopyIndex { + type uint32 { + range "1..2147483647"; + } + description + "Object which specifies a unique entry in the + ccCopyTable. A management station wishing + to initiate a config-copy operation should use a + random value for this object when creating + or modifying an instance of a ccCopyEntry. + The RowStatus semantics of the ccCopyEntryRowStatus + object will prevent access conflicts."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.1"; + } + + leaf ccCopyProtocol { + type CISCO-CONFIG-COPY-MIB:ConfigCopyProtocol; + description + "The protocol to be used for any copy. + + If the copy operation occurs locally on the SNMP + agent (e.g. 'runningConfig' to 'startupConfig'), + this object may be ignored by the implementation."; + smiv2:defval "tftp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.2"; + } + + leaf ccCopySourceFileType { + type CISCO-CONFIG-COPY-MIB:ConfigFileType; + description + "Specifies the type of file to copy from. Either the + ccCopySourceFileType or the ccCopyDestFileType + (or both) must be of type 'runningConfig' or + 'startupConfig'. Also, the ccCopySourceFileType + must be different from the ccCopyDestFileType. + + If the ccCopySourceFileType has the value of + 'networkFile', the ccCopyServerAddress/ + ccCopyServerAddressRev1 and ccCopyServerAddressType + and ccCopyFileName must also be created, and 3 + objects together (ccCopySourceFileType, + ccCopyServerAddressRev1, ccCopyFileName) will + uniquely identify the source file. If + ccCopyServerAddress is created then + ccCopyServerAddressRev1 will store the + same IP address and ccCopyServerAddressType will + take the value 'ipv4'. + + If the ccCopySourceFileType is 'iosFile', the + ccCopyFileName must also be created, and the + 2 objects together (ccCopySourceFileType, + ccCopyFileName) will uniquely identify the source + file."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.3"; + } + + leaf ccCopyDestFileType { + type CISCO-CONFIG-COPY-MIB:ConfigFileType; + description + "specifies the type of file to copy to. Either the + ccCopySourceFileType or the ccCopyDestFileType + (or both) must be of type 'runningConfig' or + 'startupConfig'. Also, the ccCopySourceFileType + must be different from the ccCopyDestFileType. + + If the ccCopyDestFileType has the value of + 'networkFile', the + ccCopyServerAddress/ccCopyServerAddressType and + ccCopyServerAddressRev1 and ccCopyFileName must + also be created, and 3 objects together + (ccCopyDestFileType, ccCopyServerAddressRev1, + ccCopyFileName) will uniquely identify the + destination file. If ccCopyServerAddress is created + then ccCopyServerAddressRev1 will store the same IP + address and ccCopyServerAddressType will take the + value 'ipv4'. + + If the ccCopyDestFileType is 'iosFile', the + ccCopyFileName must also be created, and the 2 + objects together (ccCopyDestFileType, + ccCopyFileName) will uniquely identify the + destination file."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.4"; + } + + leaf ccCopyServerAddress { + type inet:ipv4-address; + status deprecated; + description + "The IP address of the TFTP server from (or to) + which to copy the configuration file. This object + must be created when either the + ccCopySourceFileType or ccCopyDestFileType has the + value 'networkFile'. + Values of 0.0.0.0 or FF.FF.FF.FF for + ccCopyServerAddress are not allowed. + + Since this object can just hold only IPv4 Transport + type, it is deprecated and replaced by + ccCopyServerAddressRev1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.5"; + } + + leaf ccCopyFileName { + type snmpv2-tc:DisplayString; + description + "The file name (including the path, if applicable) + of the file. This object must be created when either + the ccCopySourceFileType or ccCopyDestFileType has + the value 'networkFile' or 'iosFile'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.6"; + } + + leaf ccCopyUserName { + type snmpv2-tc:DisplayString { + length "1..40"; + } + description + "Remote username for copy via FTP, RCP, SFTP or + SCP protocol. + This object must be created when the ccCopyProtocol + is 'rcp', 'scp', 'ftp', or 'sftp'. + If the protocol is RCP, it will override the remote + username configured through the + rcmd remote-username + configuration command. + The remote username is sent as the server username + in an RCP command request sent by the system to a + remote RCP server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.7"; + } + + leaf ccCopyUserPassword { + type snmpv2-tc:DisplayString { + length "1..40"; + } + description + "Password used by FTP, SFTP or SCP for copying a + file to/from an FTP/SFTP/SCP server. This object + must be created when the ccCopyProtocol is FTP or + SCP. + Reading it returns a zero-length string for security + reasons."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.8"; + } + + leaf ccCopyNotificationOnCompletion { + type boolean; + description + "Specifies whether or not a ccCopyCompletion + notification should be issued on completion of the + TFTP transfer. If such a notification is desired, + it is the responsibility of the management entity to + ensure that the SNMP administrative model is + configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.9"; + } + + leaf ccCopyState { + type CISCO-CONFIG-COPY-MIB:ConfigCopyState; + description + "Specifies the state of this config-copy request. + This value of this object is instantiated only after + the row has been instantiated, i.e. after the + ccCopyEntryRowStatus has been made active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.10"; + } + + leaf ccCopyTimeStarted { + type yang:timestamp; + description + "Specifies the time the ccCopyState last + transitioned to 'running', or 0 if the state has + never transitioned to 'running'(e.g., stuck in + 'waiting' state). + + This object is instantiated only after the row has + been instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.11"; + } + + leaf ccCopyTimeCompleted { + type yang:timestamp; + description + "Specifies the time the ccCopyState last + transitioned from 'running' to 'successful' or + 'failed' states. This object is instantiated only + after the row has been instantiated. + Its value will remain 0 until the request has + completed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.12"; + } + + leaf ccCopyFailCause { + type CISCO-CONFIG-COPY-MIB:ConfigCopyFailCause; + description + "The reason why the config-copy operation failed. + This object is instantiated only when the + ccCopyState for this entry is in the + 'failed' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.13"; + } + + leaf ccCopyEntryRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry. Once the entry + status is set to active, the associated entry cannot + be modified until the request completes + (ccCopyState transitions to 'successful' + or 'failed' state)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.14"; + } + + leaf ccCopyServerAddressType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in ccCopyServerAddressRev1 object. + + This must be created when either the + ccCopySourceFileType or ccCopyDestFileType has the + value 'networkFile'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.15"; + } + + leaf ccCopyServerAddressRev1 { + type inet-address:InetAddress; + description + "The IP address of the TFTP server from (or to) + which to copy the configuration file. This object + must be created when either the + ccCopySourceFileType or ccCopyDestFileType has the + value 'networkFile'. + + All bits as 0s or 1s for ccCopyServerAddressRev1 are + not allowed. + + The format of this address depends on the value of + the ccCopyServerAddressType object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.1.1.16"; + } + } + } + + container ccCopyErrorTable { + description + "A table containing information about the failure + cause of the config copy operation. An entry is + created only when the value of ccCopyState changes + to 'failed' for a config copy operation. + + Not all combinations of ccCopySourceFileType and + ccCopyDestFileType need to be supported. For + example, an implementation may choose to support + only the following combination: + ccCopySourceFileType = 'runningConfig' + ccCopyDestFileType = 'fabricStartupConfig'. + + In the case where a fabric wide config copy + operation is being performed, for example by + selecting ccCopyDestFileType value to be + 'fabricStartupConfig', it is possible that the + fabric could have more than one device. In such + cases this table would have one entry for each + device in the fabric. In this case even if the + operation succeeded in one device and failed in + another, the operation as such has failed, so the + global state represented by ccCopyState 'failed', + but for the device on which it was success, + ccCopyErrorDescription would have the + distinguished value, 'success'. + + Once the config copy operation completes and if an + entry gets instantiated, the management station + should retrieve the values of the status objects of + interest. Once an entry in ccCopyTable is deleted + by management station, all the corresponding entries + with the same ccCopyIndex in this table are also + deleted. + + In order to prevent old entries from clogging the + table, entries age out at the same time as the + corresponding entry with same ccCopyIndex in + ccCopyTable ages out."; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2"; + + list ccCopyErrorEntry { + key "ccCopyIndex ccCopyErrorIndex"; + description + "An entry containing information about the + outcome at one destination of a failed config + copy operation."; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1"; + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyErrorIndex { + type uint32; + description + "A monotonically increasing integer for the sole + purpose of indexing entries in this table. + When a config copy operation has multiple + destinations, then this index value is used to + distinguish between those multiple destinations."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.1"; + } + + leaf ccCopyErrorDeviceIpAddressType { + type inet-address:InetAddressType; + description + "The type of Internet address for this destination + device on which config copy operation is performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.2"; + } + + leaf ccCopyErrorDeviceIpAddress { + type inet-address:InetAddress; + description + "The IP address of this destination device on which + config copy operation is performed. + The object value has to be consistent with the type + specified in ccCopyErrorDeviceIpAddressType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.3"; + } + + leaf ccCopyErrorDeviceWWN { + type cisco-st:FcNameIdOrZero; + description + "The World Wide Name (WWN) of this destination + device on which config copy operation is performed. + The value of this object is zero-length string if + WWN is unassigned or unknown. For example, devices + which do not support fibre channel would not + have WWN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.4"; + } + + leaf ccCopyErrorDescription { + type snmp-framework:SnmpAdminString; + description + "The error description for the error happened + for this destination of this config copy + operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1.2.1.5"; + } + } + } + } + + notification ccCopyCompletion { + description + "A ccCopyCompletion trap is sent at the completion + of a config-copy request. The ccCopyFailCause is not + instantiated, and hence not included in a trap, when + the ccCopyState is success."; + smiv2:oid "1.3.6.1.4.1.9.9.96.2.1.1"; + + container object-1 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyServerAddress { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyServerAddress"; + } + status deprecated; + } + } + + container object-2 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyFileName { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyFileName"; + } + } + } + + container object-3 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyState { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyState"; + } + } + } + + container object-4 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyTimeStarted { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyTimeStarted"; + } + } + } + + container object-5 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyTimeCompleted { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyTimeCompleted"; + } + } + } + + container object-6 { + + leaf ccCopyIndex { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyIndex"; + } + } + + leaf ccCopyFailCause { + type leafref { + path "/CISCO-CONFIG-COPY-MIB:CISCO-CONFIG-COPY-MIB/CISCO-CONFIG-COPY-MIB:ccCopyTable/CISCO-CONFIG-COPY-MIB:ccCopyEntry/CISCO-CONFIG-COPY-MIB:ccCopyFailCause"; + } + } + } + } + + smiv2:alias "ciscoConfigCopyMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.96"; + } + + smiv2:alias "ciscoConfigCopyMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.96.1"; + } + + smiv2:alias "ccCopy" { + smiv2:oid "1.3.6.1.4.1.9.9.96.1.1"; + } + + smiv2:alias "ciscoConfigCopyMIBTrapPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.96.2"; + } + + smiv2:alias "ccCopyMIBTraps" { + smiv2:oid "1.3.6.1.4.1.9.9.96.2.1"; + } + + smiv2:alias "ciscoConfigCopyMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.96.3"; + } + + smiv2:alias "ccCopyMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.96.3.1"; + } + + smiv2:alias "ccCopyMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.96.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-MAN-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-MAN-MIB.yang new file mode 100644 index 000000000..1289ee98a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CONFIG-MAN-MIB.yang @@ -0,0 +1,891 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CONFIG-MAN-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CONFIG-MAN-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CONFIG-MAN-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB"; + prefix CISCO-CONFIG-MAN-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "Configuration management MIB. + + The MIB represents a model of configuration data that + exists in various locations: + + running in use by the running system + terminal saved to whatever is attached as the terminal + local saved locally in NVRAM or flash + remote saved to some server on the network + + Although some of the system functions that relate here + can be used for general file storage and transfer, this + MIB intends to include only such operations as clearly + relate to configuration. Its primary emphasis is to + track changes and saves of the running configuration. + + As saved data moves further from startup use, such as + into different local flash files or onto the network, + tracking becomes difficult to impossible, so the MIB's + interest and functions are confined in that area. + + Information from ccmCLIHistoryCommandTable can be used + to track the exact configuration changes that took + place within a particular Configuration History + event. NMS' can use this information to update + the related components. + For example: + If commands related only to MPLS are entered + then the NMS need to update only the MPLS related + management information rather than updating + all of its management information. + Acronyms and terms: + + CLI Command Line Interface."; + + revision 2007-04-27 { + description + "Changes to definition of terminal as an output + location."; + } + + revision 2006-08-17 { + description + "Added a new group of objects to store the information + related to the Config Change Tracking ID (CTID) feature. + + CTID will provide a version number that is unique for + version-incrementing changes to the IOS + running-configuration. It will also provide information + about when CTID last changed. + + Added scalars: + * ccmCTID + * ccmCTIDLastChangeTime + * ccmCTIDWhoChanged + * ccmCTIDRolledOverNotifEnable + + Added Notification: + * ccmCTIDRolledOver + + Added Object Group: + * ciscoConfigManCTIDObjectGroup + + Added Notification Group: + * ciscoConfigManCTIDNotifyGroup + + Added Compliance: + ciscoConfigManMIBComplianceRev4"; + } + + revision 2004-06-18 { + description + "The Objects ccmHistoryEventCommandSourceAddress and + ccmHistoryEventServerAddress are deprecated since + they support only IPv4 address. These objects have + been replaced by two new objects + ccmHistoryEventCommandSourceAddrRev1 and + ccmHistoryEventServerAddrRev1. In addition to these + objects two more new objects are defined + ccmHistoryEventCommandSourceAddrType and + ccmHistoryEventServerAddrType"; + } + + revision 2002-06-07 { + description + "Added new enumerations networkFtp(8) and + networkScp(9) to HistoryEventMedium."; + } + + revision 2002-03-12 { + description + "Added ccmCLIHistoryCommandTable for + storing the CLI commands that took effect during + a configuration event. + + Added scalars ccmCLIHistoryMaxCmdEntries + ccmCLIHistoryCmdEntries and + ccmCLIHistoryCmdEntriesAllowed. + + Added ccmHistoryCLICmdEntriesBumped to + ccmHistoryEventTable to store the number of + corresponding bumped entries in the + ccmCLIHistoryCommandTable. + + Added the ccmCLIRunningConfigChanged notification. + Added ccmCLICfgRunConfNotifEnable to control the + ccmCLIRunningConfigChanged notification. + + Added notification group + ciscoConfigManHistNotifyGroup. + + Updated the MIB description to indicate the use of + the above additions."; + } + + revision 1995-11-28 { + description + "Initial version of this MIB module."; + } + + typedef HistoryEventMedium { + type enumeration { + enum "erase" { + value "1"; + } + enum "commandSource" { + value "2"; + } + enum "running" { + value "3"; + } + enum "startup" { + value "4"; + } + enum "local" { + value "5"; + } + enum "networkTftp" { + value "6"; + } + enum "networkRcp" { + value "7"; + } + enum "networkFtp" { + value "8"; + } + enum "networkScp" { + value "9"; + } + } + description + "The source or destination of a configuration change, + save, or copy. + + erase erasing destination (source only) + running live operational data + commandSource the command source itself + startup what the system will use next reboot + local local NVRAM or flash + networkTftp network host via Trivial File Transfer + networkRcp network host via Remote Copy + networkFtp network host via File transfer + networkScp network host via Secure Copy"; + } + + + container CISCO-CONFIG-MAN-MIB { + config false; + + container ccmHistory { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1"; + + leaf ccmHistoryRunningLastChanged { + type yang:timeticks; + description + "The value of sysUpTime when the running configuration + was last changed. + + If the value of ccmHistoryRunningLastChanged is + greater than ccmHistoryRunningLastSaved, the + configuration has been changed but not saved."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.1"; + } + + leaf ccmHistoryRunningLastSaved { + type yang:timeticks; + description + "The value of sysUpTime when the running configuration + was last saved (written). + + If the value of ccmHistoryRunningLastChanged is + greater than ccmHistoryRunningLastSaved, the + configuration has been changed but not saved. + + What constitutes a safe saving of the running + configuration is a management policy issue beyond the + scope of this MIB. For some installations, writing the + running configuration to a terminal may be a way of + capturing and saving it. Others may use local or + remote storage. Thus ANY write is considered saving + for the purposes of the MIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.2"; + } + + leaf ccmHistoryStartupLastChanged { + type yang:timeticks; + description + "The value of sysUpTime when the startup configuration + was last written to. In general this is the + default configuration used when cold starting the + system. It may have been changed by a save of the + running configuration or by a copy from elsewhere."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.3"; + } + + leaf ccmHistoryMaxEventEntries { + type int32 { + range "0..2147483647"; + } + description + "The maximum number of entries that can be held in + ccmHistoryEventTable. + + The recommended value for implementations is 10."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.4"; + } + + leaf ccmHistoryEventEntriesBumped { + type yang:counter32; + description + "The number of times the oldest entry in + ccmHistoryEventTable was deleted to make room + for a new entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.5"; + } + } + + container ccmCLIHistory { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2"; + + leaf ccmCLIHistoryMaxCmdEntries { + type uint32 { + range "0..4294967295"; + } + description + "The maximum number of entries that can be held in + ccmCLIHistoryCommandTable. + + The recommended value for implementations is 100. + + If the number of entries in ccmCLIHistoryCommandTable + exceeds the value of this object, old entries will be + bumped to make room for new entries. + + The ccmCLIHistoryCommandTable will not be populated + if the value of this object is 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.1"; + } + + leaf ccmCLIHistoryCmdEntries { + type yang:gauge32; + description + "The current number of entries in + ccmCLIHistoryCommandTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.2"; + } + + leaf ccmCLIHistoryCmdEntriesAllowed { + type uint32; + description + "This object indicates the upper limit on the + number of entries allowed in + ccmCLIHistoryCommandTable by the managed system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.3"; + } + } + + container ccmCLICfg { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.3"; + + leaf ccmCLICfgRunConfNotifEnable { + type boolean; + description + "This variable indicates whether the system produces + the ccmCLIRunningConfigChanged notification. A false + value will prevent notifications from being generated + by this system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.3.1"; + } + } + + container ccmCTIDObjects { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4"; + + leaf ccmCTID { + type cisco-tc:Unsigned64; + description + "This object indicates the Config Change Tracking ID which + uniquely represents version-incrementing changes to the IOS + running configuration."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4.1"; + } + + leaf ccmCTIDLastChangeTime { + type snmpv2-tc:DateAndTime; + description + "This object indicates the time when the Config Change Tracking + ID last changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4.2"; + } + + leaf ccmCTIDWhoChanged { + type snmp-framework:SnmpAdminString; + description + "This object indicates the user who last reset the Config Change + Tracking ID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4.3"; + } + + leaf ccmCTIDRolledOverNotifEnable { + type boolean; + description + "This variable indicates whether the system produces the + ccmCTIDRolledOver notification. A false value will prevent + notifications from being generated by this system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4.4"; + } + } + + container ccmHistoryEventTable { + description + "A table of configuration events on this router."; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6"; + + list ccmHistoryEventEntry { + key "ccmHistoryEventIndex"; + description + "Information about a configuration event on this + router."; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1"; + + leaf ccmHistoryEventIndex { + type int32 { + range "1..2147483647"; + } + description + "A monotonically increasing integer for the sole + purpose of indexing events. When it reaches the + maximum value, an extremely unlikely event, the agent + wraps the value back to 1 and may flush existing + entries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.1"; + } + + leaf ccmHistoryEventTime { + type yang:timeticks; + description + "The value of sysUpTime when the event occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.2"; + } + + leaf ccmHistoryEventCommandSource { + type enumeration { + enum "commandLine" { + value "1"; + } + enum "snmp" { + value "2"; + } + } + description + "The source of the command that instigated the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.3"; + } + + leaf ccmHistoryEventConfigSource { + type CISCO-CONFIG-MAN-MIB:HistoryEventMedium; + description + "The configuration data source for the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.4"; + } + + leaf ccmHistoryEventConfigDestination { + type CISCO-CONFIG-MAN-MIB:HistoryEventMedium; + description + "The configuration data destination for the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.5"; + } + + leaf ccmHistoryEventTerminalType { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "unknown" { + value "2"; + } + enum "console" { + value "3"; + } + enum "terminal" { + value "4"; + } + enum "virtual" { + value "5"; + } + enum "auxiliary" { + value "6"; + } + } + description + "If ccmHistoryEventCommandSource is 'commandLine', + the terminal type, otherwise 'notApplicable'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.6"; + } + + leaf ccmHistoryEventTerminalNumber { + type int32 { + range "-2147483648..2147483647"; + } + description + "If ccmHistoryEventCommandSource is 'commandLine', + the terminal number. The value is -1 if not available + or not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.7"; + } + + leaf ccmHistoryEventTerminalUser { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "If ccmHistoryEventCommandSource is 'commandLine', + the name of the logged in user. The length is zero if + not available or not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.8"; + } + + leaf ccmHistoryEventTerminalLocation { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "If ccmHistoryEventCommandSource is 'commandLine', + the hard-wired location of the terminal or the remote + host for an incoming connection. The length is zero + if not available or not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.9"; + } + + leaf ccmHistoryEventCommandSourceAddress { + type inet:ipv4-address; + status deprecated; + description + "If ccmHistoryEventTerminalType is 'virtual', the + internet address of the connected system. + + If ccmHistoryEventCommandSource is 'snmp', the internet + address of the requester. + + The value is 0.0.0.0 if not available or not + applicable. + + This object is deprecated by + ccmHistoryEventCommandSourceAddrRev1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.10"; + } + + leaf ccmHistoryEventVirtualHostName { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "If ccmHistoryEventTerminalType is 'virtual', the host + name of the connected system. The length is zero if + not available or not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.11"; + } + + leaf ccmHistoryEventServerAddress { + type inet:ipv4-address; + status deprecated; + description + "If ccmHistoryEventConfigSource or + ccmHistoryEventConfigDestination is 'networkTftp' or + 'networkRcp', the internet address of the storage file + server. The value is 0.0.0.0 if not applicable or not + available. + This object is deprecated by + ccmHistoryEventServerAddrRev1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.12"; + } + + leaf ccmHistoryEventFile { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "If ccmHistoryEventConfigSource or + ccmHistoryEventConfigDestination is 'networkTftp' or + 'networkRcp', the configuration file name at the + storage file server. The length is zero if not + available or not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.13"; + } + + leaf ccmHistoryEventRcpUser { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "If ccmHistoryEventConfigSource or + ccmHistoryEventConfigDestination is 'networkRcp', the + remote user name. The length is zero if not applicable + or not available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.14"; + } + + leaf ccmHistoryCLICmdEntriesBumped { + type yang:counter32; + description + "The number of times the oldest entry in + ccmCLIHistoryCommandTable with first index as + ccmHistoryEventIndex was deleted to make + room for a new entry. + + This object is applicable only if + ccmHistoryEventCommandSource has a value + of 'commandLine'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.15"; + } + + leaf ccmHistoryEventCommandSourceAddrType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in + ccmHistoryEventCommandSourceAddrRev1. + + The value will be zero if not available or not + applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.16"; + } + + leaf ccmHistoryEventCommandSourceAddrRev1 { + type inet-address:InetAddress; + description + "If ccmHistoryEventTerminalType is 'virtual', the + internet address of the connected system. + + If ccmHistoryEventCommandSource is 'snmp', the + internet address of the requester. + + The value of all bit's is zero if not available or + not applicable. + + The Format of this address depends on the value of the + ccmHistoryEventCommandSourceAddrType object. + + This object deprecates + ccmHistoryEventCommandSourceAddress"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.17"; + } + + leaf ccmHistoryEventServerAddrType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in ccmHistoryEventServerAddrRev1. + + The value will be zero if not available or not + aplicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.18"; + } + + leaf ccmHistoryEventServerAddrRev1 { + type inet-address:InetAddress; + description + "If ccmHistoryEventConfigSource or + ccmHistoryEventConfigDestination is 'networkTftp' or + 'networkRcp', the internet address of the storage file + server. + + The value of all bits is 0s if not applicable or not + available. + + The Format of this address depends on the value of the + ccmHistoryEventServerAddrType object. + + This object deprecates ccmHistoryEventServerAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1.6.1.19"; + } + } + } + + container ccmCLIHistoryCommandTable { + description + "A table of CLI commands that took effect during + configuration events."; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.4"; + + list ccmCLIHistoryCommandEntry { + key "ccmHistoryEventIndex ccmCLIHistoryCommandIndex"; + description + "Information about the CLI commands that took effect + during the configuration event pointed by + ccmCLIHistoryEventIndex. + + A set of rows in this table having the first + index as ccmHistoryEventIndex will store the + CLI commands entered during the corresponding + configuration event in ccmHistoryEventTable. + + An entry will be created in this table only if + the corresponding entry in ccmHistoryEventTable has + a value of 'commandLine' for + ccmHistoryEventCommandSource."; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.4.1"; + + leaf ccmHistoryEventIndex { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventIndex"; + } + } + + leaf ccmCLIHistoryCommandIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer for the + purpose of indexing CLI commands which took effect + during a configuration event."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.4.1.1"; + } + + leaf ccmCLIHistoryCommand { + type snmpv2-tc:DisplayString; + description + "The CLI command entered which took effect + during the configuration event pointed by + ccmHistoryEventIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2.4.1.2"; + } + } + } + } + + notification ciscoConfigManEvent { + description + "Notification of a configuration management event as + recorded in ccmHistoryEventTable."; + smiv2:oid "1.3.6.1.4.1.9.9.43.2.0.1"; + + container object-1 { + + leaf ccmHistoryEventIndex { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventIndex"; + } + } + + leaf ccmHistoryEventCommandSource { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventCommandSource"; + } + } + } + + container object-2 { + + leaf ccmHistoryEventIndex { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventIndex"; + } + } + + leaf ccmHistoryEventConfigSource { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventConfigSource"; + } + } + } + + container object-3 { + + leaf ccmHistoryEventIndex { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventIndex"; + } + } + + leaf ccmHistoryEventConfigDestination { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventConfigDestination"; + } + } + } + } + + notification ccmCLIRunningConfigChanged { + description + "This notification indicates that the running + configuration of the managed system has changed + from the CLI. + + If the managed system supports a separate + configuration mode(where the configuration commands + are entered under a configuration session which + affects the running configuration of the system), + then this notification is sent when the configuration + mode is exited. + During this configuration session there can be + one or more running configuration changes."; + smiv2:oid "1.3.6.1.4.1.9.9.43.2.0.2"; + + container object-1 { + + leaf ccmHistoryRunningLastChanged { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistory/CISCO-CONFIG-MAN-MIB:ccmHistoryRunningLastChanged"; + } + } + } + + container object-2 { + + leaf ccmHistoryEventIndex { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventIndex"; + } + } + + leaf ccmHistoryEventTerminalType { + type leafref { + path "/CISCO-CONFIG-MAN-MIB:CISCO-CONFIG-MAN-MIB/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTable/CISCO-CONFIG-MAN-MIB:ccmHistoryEventEntry/CISCO-CONFIG-MAN-MIB:ccmHistoryEventTerminalType"; + } + } + } + } + + notification ccmCTIDRolledOver { + description + "This notification indicates that the Config Change Tracking + ID has rolled over and will be reset."; + smiv2:oid "1.3.6.1.4.1.9.9.43.2.0.3"; + } + + smiv2:alias "ciscoConfigManMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.43"; + } + + smiv2:alias "ciscoConfigManMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.43.1"; + } + + smiv2:alias "ccmHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.1"; + } + + smiv2:alias "ccmCLIHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.2"; + } + + smiv2:alias "ccmCLICfg" { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.3"; + } + + smiv2:alias "ccmCTIDObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.43.1.4"; + } + + smiv2:alias "ciscoConfigManMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.43.2"; + } + + smiv2:alias "ciscoConfigManMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.43.2.0"; + } + + smiv2:alias "ciscoConfigManMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.43.3"; + } + + smiv2:alias "ciscoConfigManMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.43.3.1"; + } + + smiv2:alias "ciscoConfigManMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.43.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-CONTEXT-MAPPING-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-CONTEXT-MAPPING-MIB.yang new file mode 100644 index 000000000..cf7b85d53 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-CONTEXT-MAPPING-MIB.yang @@ -0,0 +1,533 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-CONTEXT-MAPPING-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-CONTEXT-MAPPING-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-CONTEXT-MAPPING-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB"; + prefix CISCO-CONTEXT-MAPPING-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "A single SNMP agent sometimes needs to support multiple + instances of the same MIB module, and does so through the + use of multiple SNMP contexts. This typically occurs because + the technology has evolved to have extra dimension(s), i.e., + one or more extra data and/or identifier values which are + different in the different contexts, but were not defined in + INDEX clause(s) of the original MIB module. In such cases, + network management applications need to know the specific + data/identifier values in each context, and this MIB module + provides mapping tables which contain that information. + + Within a network there can be multiple Virtual Private + Networks (VPNs) configured using Virtual Routing and + Forwarding Instances (VRFs). Within a VPN there can be + multiple topologies when Multi-topology Routing (MTR) is + used. Also, Interior Gateway Protocols (IGPs) can have + multiple protocol instances running on the device. + A network can have multiple broadcast domains configured + using Bridge Domain Identifiers. + + With MTR routing, VRFs, and Bridge domains, a router now + needs to support multiple instances of several existing + MIB modules, and this can be achieved if the router's SNMP + agent provides access to each instance of the same MIB module + via a different SNMP context (see Section 3.1.1 of RFC 3411). + For MTR routing, VRFs, and Bridge domains, a different SNMP + context is needed depending on one or more of the following: + the VRF, the topology-identifier, the routing protocol instance, + and the bridge domain identifier. + In other words, the router's management information can be + accessed through multiple SNMP contexts where each such + context represents a specific VRF, a specific + topology-identifier, a specific routing protocol instance + and/or a bridge domain identifier. This MIB module provides + a mapping of each such SNMP context to the corresponding VRF, + the corresponding topology, the corresponding routing protocol + instance, and the corresponding bridge domain identifier. + Some SNMP contexts are independent of VRFs, independent of + a topology, independent of a routing protocol instance, or + independent of a bridge domain and in such a case, the mapping + is to the zero length string. + + With the Cisco package licensing strategy, the features + available in the image are grouped into multiple packages + and each packages can be managed to operate at different + feature levels based on the available license. This MIB + module provides option to associate an SNMP context to a + feature package group. This will allow manageability of + license MIB objects specific to a feature package group. + + As technology evolves more we may need additional + identifiers to identify the context. Then we would need + to add those additional identifiers into the mapping."; + + revision 2008-11-22 { + description + "Added New Table cContextMappingLicenseGroupTable + to provide SNMP Context support for license package groups. + + Added cContextMappingLicenseGroupDataGroup in OBJECT-GROUP + Added cContextMappingMIBComplianceRev2 in MODULE-COMPLIANCE + + Updated the MIB description to indicate the use of + the above additions"; + } + + revision 2008-05-30 { + description + "Add cContextMappingBridgeInstanceTable. + + Added cContextMappingBridgeInstanceDataGroup. + Deprecated cContextMappingMIBComplianceRev1 and added + cContextMappingMIBComplianceRev2 compliance statement."; + } + + revision 2008-02-01 { + description + "Added New Table cContextMappingBridgeDomainTable + to provide SNMP context support to the Bridge Domain. + + Added cContextMappingBridgeDomainDataGroup in OBJECT-GROUP + Added cContextMappingMIBComplianceRev1 in MODULE-COMPLIANCE"; + } + + revision 2005-03-17 { + description + "Initial version of the MIB module."; + } + + + container CISCO-CONTEXT-MAPPING-MIB { + config false; + + container cContextMappingTable { + description + "This table contains information on which + cContextMappingVacmContextName is mapped to + which VRF, topology, and routing protocol instance. + + This table is indexed by SNMP VACM context. + + Configuring a row in this table for an SNMP context + does not require that the context be already defined, + i.e., a row can be created in this table for a context + before the corresponding row is created in RFC 3415's + vacmContextTable. + + To create a row in this table, a manager must set + cContextMappingRowStatus to either 'createAndGo' or + 'createAndWait'. + + To delete a row in this table, a manager must set + cContextMappingRowStatus to 'destroy'."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1"; + + list cContextMappingEntry { + key "cContextMappingVacmContextName"; + description + "Information relating to a single mapping of + cContextMappingVacmContextName to the corresponding VRF, + the corresponding topology, and the corresponding routing + protocol instance."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1"; + + leaf cContextMappingVacmContextName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The vacmContextName given to the SNMP context. + + This is a human readable name identifying a particular + SNMP VACM context at a particular SNMP entity. + The empty contextName (zero length) represents the + default context."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.1"; + } + + leaf cContextMappingVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The value of an instance of this object identifies + the name given to the VRF to which the SNMP context + is mapped to. + + This is typically a human-readable string. This is + the same ASCII string used in the router's console + interface to refer to this VRF. + + When the value of this object is the zero length + string it indicates that the SNMP context is independent + of any VRF."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.2"; + } + + leaf cContextMappingTopologyName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The value of an instance of this object identifies + the name given to the topology to which the SNMP + context is mapped to. + + This is typically a human-readable string. This is + the same ASCII string used in the router's console + interface to refer to this topology. + + When the value of this object is the zero length + string it indicates that the SNMP context is independent + of any topology."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.3"; + } + + leaf cContextMappingProtoInstName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The value of an instance of this object identifies + the name given to the protocol instance to which the + SNMP context is mapped to. + + This is typically a human-readable string. This is + the same ASCII string used in the router's console + interface to refer to this protocol instance. + + When the value of this object is the zero length + string it indicates that the SNMP context is independent + of any protocol instance."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.4"; + } + + leaf cContextMappingStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + + Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.5"; + } + + leaf cContextMappingRowStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, modification, or + deletion of a conceptual row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.1.1.6"; + } + } + } + + container cContextMappingBridgeDomainTable { + description + "This table contains information on which + cContextMappingVacmContextName is mapped to + which bridge domain. + + A Bridge Domain is one of the means by which it is possible + to define an Ethernet broadcast domain on a bridging device. + A network can have multiple broadcast domains configured. + This table helps the network management personnel to find + out the details of various broadcast domains configured + in the network. + + An entry need to exist in cContextMappingTable, to create + an entry in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.2"; + + list cContextMappingBridgeDomainEntry { + key "cContextMappingVacmContextName"; + description + "Information relating to a single mapping of + cContextMappingVacmContextName to the + corresponding bridge domain. + + To create a row in this table, a manager must set + cContextMappingBridgeDomainRowStatus to either + 'createAndGo' or 'createAndWait'. + + To delete a row in this table, a manager must set + cContextMappingBridgeDomainRowStatus to 'destroy'."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.2.1"; + + leaf cContextMappingVacmContextName { + type leafref { + path "/CISCO-CONTEXT-MAPPING-MIB:CISCO-CONTEXT-MAPPING-MIB/CISCO-CONTEXT-MAPPING-MIB:cContextMappingTable/CISCO-CONTEXT-MAPPING-MIB:cContextMappingEntry/CISCO-CONTEXT-MAPPING-MIB:cContextMappingVacmContextName"; + } + } + + leaf cContextMappingBridgeDomainIdentifier { + type cisco-tc:CiscoBridgeDomain; + description + "The value of an instance of this object identifies + the bridge domain to which the SNMP context is + mapped to."; + reference + "CISCO-BRIDGE-DOMAIN-MIB"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.2.1.1"; + } + + leaf cContextMappingBridgeDomainStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + + Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.2.1.2"; + } + + leaf cContextMappingBridgeDomainRowStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, modification, or + deletion of a conceptual row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.2.1.3"; + } + } + } + + container cContextMappingBridgeInstanceTable { + description + "This table contains information on mapping between + cContextMappingVacmContextName and bridge instance. + + Bridge instance is an instance of a physical or logical + bridge which has unique bridge-id. + + If an entry is deleted from cContextMappingTable, the + corresponding entry in this table will also get deleted. + + If an entry needs to be created in this table, the + corresponding entry must exist in cContextMappingTable."; + reference + "BRIDGE-MIB"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.3"; + + list cContextMappingBridgeInstanceEntry { + key "cContextMappingVacmContextName"; + description + "Information relating to a single mapping of + cContextMappingVacmContextName to the + corresponding bridge instance. + + To create a row in this table, a manager must set + cContextMappingBridgeInstRowStatus to either + 'createAndGo' or 'createAndWait'. + + To delete a row in this table, a manager must set + cContextMappingBridgeInstRowStatus to 'destroy'."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.3.1"; + + leaf cContextMappingVacmContextName { + type leafref { + path "/CISCO-CONTEXT-MAPPING-MIB:CISCO-CONTEXT-MAPPING-MIB/CISCO-CONTEXT-MAPPING-MIB:cContextMappingTable/CISCO-CONTEXT-MAPPING-MIB:cContextMappingEntry/CISCO-CONTEXT-MAPPING-MIB:cContextMappingVacmContextName"; + } + } + + leaf cContextMappingBridgeInstName { + type snmp-framework:SnmpAdminString; + description + "The object identifies the name given to bridge + instance to which the SNMP context is mapped to. + + Value of this object cannot be changed when the + RowStatus object in the same row is 'active'. + + This is typically a human-readable string. This is + the same ASCII string used in the router's console + interface to refer to this bridge instance. + + When the value of this object is a zero length + string, it indicates that the SNMP context is + independent of any bridge instances."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.3.1.1"; + } + + leaf cContextMappingBridgeInstStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + + Value of this object cannot be changed when the + RowStatus object in the same row is 'active'. + + Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.3.1.2"; + } + + leaf cContextMappingBridgeInstRowStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, modification, or + deletion of a conceptual row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.3.1.3"; + } + } + } + + container cContextMappingLicenseGroupTable { + description + "This table contains information on which + cContextMappingVacmContextName is mapped to + which License Group. + Group level licensing is used where each + Technology Package is enabled via a License."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.4"; + + list cContextMappingLicenseGroupEntry { + key "cContextMappingVacmContextName"; + description + "Information relating to a single mapping of + CContextMappingVacmContextName to the + corresponding License Group."; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.4.1"; + + leaf cContextMappingVacmContextName { + type leafref { + path "/CISCO-CONTEXT-MAPPING-MIB:CISCO-CONTEXT-MAPPING-MIB/CISCO-CONTEXT-MAPPING-MIB:cContextMappingTable/CISCO-CONTEXT-MAPPING-MIB:cContextMappingEntry/CISCO-CONTEXT-MAPPING-MIB:cContextMappingVacmContextName"; + } + } + + leaf cContextMappingLicenseGroupName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The value of an instance of this object identifies + the name given to the Group to which the SNMP context + is mapped. + + Feature sets from all groups will be combined to form + universal image. User can configure multiple groups as needed. + + For example: In Next generation ISRs will use + the universal image package level licensing model + for its licensing need. Each group has + the feature set needed for that specific technology. + Feature sets from different groups are combined to + form universal image and each feature set for a group + can be enabled using a valid license key. There will + be a base level ipbase package in which the router + boots with out any license key. + + The following are the different Technology Groups. + 1.crypto + 2.data + 3.ip + 4.legacy + 5.novpn-security + 6.security + 7.uc"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.4.1.1"; + } + + leaf cContextMappingLicenseGroupStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + + Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.4.1.2"; + } + + leaf cContextMappingLicenseGroupRowStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, modification, or + deletion of a conceptual row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.468.1.4.1.3"; + } + } + } + } + + smiv2:alias "ciscoContextMappingMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.468"; + } + + smiv2:alias "cContextMappingMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.468.1"; + } + + smiv2:alias "cContextMappingMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.468.2"; + } + + smiv2:alias "cContextMappingMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.468.2.1"; + } + + smiv2:alias "cContextMappingMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.468.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-DATA-COLLECTION-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-DATA-COLLECTION-MIB.yang new file mode 100644 index 000000000..095c47592 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-DATA-COLLECTION-MIB.yang @@ -0,0 +1,1848 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-DATA-COLLECTION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-DATA-COLLECTION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-DATA-COLLECTION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB"; + prefix CISCO-DATA-COLLECTION-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMP-TARGET-MIB { + prefix "snmp-target"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module allows a management application to + select a set of MIB object instances whose values need + to be collected on a periodic basis. The term 'data' in + the context of this MIB is used to generically refer to + the values of the selected set of object instances. + + Once the required setup is done, the MIB implementation + carries out the following periodic tasks: + - collects the required object values into local + file-like entities called VFiles (virtual files). + - transfers the VFiles to specified locations. + - carries out VFile management operations. + + Some of the key features of this MIB are: + a) Allows grouping of MIB objects into groups called + data groups. The constraint is that the MIB objects + grouped into a data group, need to have the same + semantic MIB index. So it is possible to group MIB + objects belonging to different MIB tables into a + single data group as long as the above constraint is + met. + For e.g. it is possible to group ifInOctets from + ifTable, ifHCInOctets from ifXTable, + dot3StatsExcessiveCollisions from dot3StatsTable + into a single data group. + + b) Allows the application to specify a set of instances + (of the MIB objects in a data group) whose values + need to be collected. + + c) The required data can be collected for each such + data group on a periodic basis into a virtual file + (VFile). A VFile is an abstraction of a file. + + d) The format of the contents of the VFile, can be + specified by the application. + + e) An application can also specify a collection period. + A collection period is an interval of time during + which data is collected into a VFile. After the + collection period ends, the VFile is frozen, and a + new VFile is created for storing data. The frozen + VFile is then transferred to a specified destination. + An application can choose to retain such frozen + VFiles on the device for a certain period of time, + called the retention period. + + Data Collection MIB vs Bulkfile MIB + *********************************** + The data collection MIB can pretty much do what the + CISCO-BULK-FILE-MIB (Bulkfile MIB) can do. The 'manual' + mode of the Data collection MIB is similar to the way + in which the Bulkfile MIB operates. + + However the data collection MIB is mainly targetted + for medium to high-end platforms which have sufficient + local storage (volatile or permanent) to store VFiles. + Locally storing VFiles, helps minimize loss of data + during temporary network outages. If the local store + is permament, then the collected data is also available + across agent restarts. + + The data collection MIB has more powerful data + selection features than the Bulkfile MIB. It allows + grouping of MIB objects from different tables into + data groups. It also incorporates a more flexible + instance selection mechanism, where the application + is not restricted to fetching an entire MIB table. + + Definitions: + ************ + Base objects: + ************* + MIB objects whose values an application needs to + collect. + + Data group: + *********** + A group of base objects. Can be of 2 types: 'object' + and 'table'. An 'object' type data group can consist + of only one fully instantiated base object. A 'table' + type data group can consist of more than one base + objects, each a columnar object in a conceptual + table. In addition a 'table' type data group can + specify the instances of the base objects whose + values need to be collected. In the context of this + MIB, collecting data for a data group means fetching + the values of the associated base object instances + and storing them into VFiles. + + Virtual File (VFile): + ********************* + A VFile is a file like entity used to collect data. + An agent might choose to implement a VFile as a + simple in-memory buffer, or it might choose to + use a file in it's filesystem. An application does + not really need to know the location of a VFile + - the MIB provides mechanisms to transfer the + VFile to application specified locations. However + if the implementation supports it, the application + can specify the location of the VFiles. + + Current VFile: + ************** + The VFile into which data is currently being + collected. + + Frozen VFile: + ************* + A VFile which is no longer used for collecting + data. Only frozen VFiles can be transferred to + specified destinations. + + Collection interval: + ******************** + A collection interval is associated with a VFile. + It is the interval of time over which a VFile + is used to collect data. + This interval of time can be specified by the + application. However there are conditions under + which a collection interval can be shorter than + the specified time. For e.g. a collection + interval is prematurely terminated when the + maximum size of a VFile is exceeded, or when + there is an error condition. + + Polling period: + *************** + A polling period is associated with a data + group. It determines the frequency at which + the base objects of a data group should + be fetched and stored into a VFile. + + Data collection operations: + ************************** + A generic term used to refer to operations + that are carried out while collecting data. + These include: + - Periodically creating new VFiles for + collecting data. + - Transferring frozen VFiles either + automatically or on demand. + - Fetching base object values and storing + them into current VFiles, either periodically + or on demand. + - Deleting frozen VFiles, either periodically + or on demand."; + + revision 2002-10-30 { + description + "Initial Version."; + } + + typedef CdcCollectionSubtree { + type yang:object-identifier-128; + description + "The subtree component of a (subtree, list) tuple. + The purpose of a tuple is to identify the columns + (base objects) in a 'table' type data group. + + The subtree specifies a single OBJECT IDENTIFIER value such + that each object in the set is named by the subtree value + appended with a single additional sub-identifier derived from + the list component of the tuple. + + A typical example would be the OBJECT IDENTIFER of the + fooEntry construct in a MIB table. + e.g. ifEntry."; + } + + typedef CdcCollectionList { + type binary { + length "0..16"; + } + description + "The list component of a (subtree, list) tuple. The purpose of + a tuple is to identify the base objects of a 'table' type + data group. + + The subtree specifies a single OBJECT IDENTIFIER value such + that each object in the set is named by the subtree value + appended with a single additional sub-identifier. The list + specifies a set of data items, where the presence of an item + in the list indicates that the item is selected as a column + of the 'table' type data group; the absence of an item + from the list indicates that the item is not selected as a + column of the 'table' type data group. + Each data item is represented by an integer which when + appended (as as additional sub-identifier) to the OBJECT + IDENTIFIER value of the subtree identified by the tuple, is + the name of an object defining that data item (its description + and its syntax). + + The list is specified as an OCTET STRING in which each data + item is represented by a single bit, where data items 1 + through 8 are represented by the bits in the first octet, + data items 9 through 16 by the bits in the second octet, + etc. In each octet, the lowest numbered data item is + represented by the most significant bit, and the highest + numbered data item by the least significant bit. A data + item is present in the list when its bit is set, and absent + when its bit is reset. If the length of an OCTET STRING + value is too short to represent one or more data items + defined in a subtree, then those data items are absent from + the set identified by the tuple of that subtree and that + OCTET STRING value."; + } + + typedef CdcRowInstanceId { + type yang:object-identifier-128; + description + "A fragment of a OBJECT IDENTIFIER (OID). It is used to + specify the instances of the base objects whose values + need to be fetched. To comply with the definition of an + OBJECT IDENTIFIER, the first two sub-ids of a + CdcRowInstanceId value is {0,0}. "; + } + + typedef CdcUrl { + type binary { + length "0..255"; + } + description + "Represents a string that contains a Uniformed Resource + Locator as defined in RFC 1738."; + } + + typedef CdcFileFormat { + type enumeration { + enum "cdcBulkASCII" { + value "1"; + } + enum "cdcBulkBinary" { + value "2"; + } + enum "cdcSchemaASCII" { + value "3"; + } + } + description + "The file formats supported are: + + cdcBulkASCII ASCII format similar to + the 'bulkASCII' format of the + CISCO-BULK-FILE-MIB. + + cdcBulkBinary Binary format similar to + the 'bulkBinary' format of the + CISCO-BULK-FILE-MIB. + + cdcSchemaASCII Again an ASCII format, but contains + parser friendly hints for parsing data + values. + + Format descriptions : + --------------------- + + The below description applies to cdcBulkASCII & cdcBulkBinary + and is extracted from CISCO-BULK-FILE-MIB. Some differences are + highlighted below: + + 1) Data for a single data group can be collected more than + once into the same VFile (due to periodic polling). Each + such instance of a data group, can be treated much like + different 'table' types in the CISCO-BULK-FILE-MIB. + + 2) Every object & table tag contains an additional sysUpTime + field. Similarly each row tag contains the value of the + sysUpTime when the data for that row was collected. + + The rest of the description is taken from the + CISCO-BULK-FILE-MIB. + The file contains two types of fields: tags and data. Tags + identify portions of the file and are discussed in detail + below. All other information is in data fields. + + Note: For efficiency and compactness data fields are not + tagged with a type. The interpreter of the data must thus + know or have access to appropriate MIB syntax descriptions to + understand the file. + + All data fields are positional relative to a tag and every + data field has a length prefix. All initial length prefixes + are one byte. For any data type the distinguished length + value 255 indicates that the data content is null, that is, + no data content value was available and there are no + additional bytes in the data field. + + INTEGER data fields include all data that maps to ASN.1 + INTEGER, regardless of length and whether signed or unsigned. + They have a length prefix value of zero to eight, followed by + that many bytes of data, high-order byte first. High order + bytes that are all zero are omitted, thus a length of zero + indicates a value of zero. For signed numbers, leading bytes + of all ones (hex FF) are omitted if the next remaining byte + has the high bit on. This implies that the file parser must + know the difference between signed and unsigned integers. + + OCTET STRING values have a length prefix value of zero to two + for a subsequent unsigned byte count for the number of bytes + in the OCTET STRING itself, which immediately follows the + byte count. The byte count can thus range from zero to 65,535. + + OBJECT IDENTIFIER values have a length of zero to 128, for + the number of sub-identifiers. Each subsequent + sub-identifier is encoded as an unsigned INTEGER of 0-4 bytes. + + The bulk binary file layout directly reflects the contents of + the cbfDefineFileObjectTable. It has tagged sections + corresponding to cbfDefineObjectClass with a few additional + tags for utility purposes. + A tag is one byte with one of the following values: + -2 row + -1 prefix + 0 reserved + 2 table + + The prefix tag changes the default OID prefix that is assumed + to precede all OIDs that are not MIB object data values. The + prefix tag may appear anywhere another tag could appear. A + prefix tag is followed by one OID data field. The default + prefix is 1.3.6.1. A file need not set the prefix to the + default value. Note that when changing the prefix, the + default portion must be included at the beginning of the new + prefix. Typically the prefix will change for each table or + group of scalar objects. + + A table tag is followed by one INTEGER data field whose value + is the number of columns in the table (including the + sysUpTime column), as implemented by the agent. This is + followed by an OID field containing the sysUpTime OID. This + is followed by one OID data field for each column. This is + the OID for the column minus the prefix and the instance + (typically one subidentifier). + + The OIDs are then followed by one row for each row in the + table. A row starts with a row tag, one OID data field + containing only the instance portion of the OIDs for the + objects in that row and one data field indicating the + sysUpTime when the row was sampled. + Following this is one data field of appropriate type for each + column. + + The bulk ASCII form mechanically translates bulk binary into + human-readable text. + + The indicator for a null value is '~'. + + An INTEGER becomes the integer value with a preceding '-' for + negative values and no leading zeros. + + An OCTET STRING becomes the byte values in hexadecimal, lower + case, two characters per byte (that is, with leading zeros), + no delimiters between bytes. + + An OBJECT IDENTIFIER becomes the usual dotted decimal form. + + A tag becomes the tag's name, spelled out fully in lower + case, followed by one blank and the data field(s) for the + tag, separated by spaces and ending with a carriage + return/line feed. All tags are at the beginning of a 'line' + that is terminated with a carriage return/line feed that + immediately precedes the next tag or the end of file."; + } + + typedef CdcFileXferStatus { + type enumeration { + enum "notStarted" { + value "1"; + } + enum "success" { + value "2"; + } + enum "aborted" { + value "3"; + } + enum "fileOpenFailRemote" { + value "4"; + } + enum "badDomainName" { + value "5"; + } + enum "unreachableIpAddress" { + value "6"; + } + enum "networkFailed" { + value "7"; + } + enum "fileWriteFailed" { + value "8"; + } + enum "authFailed" { + value "9"; + } + } + description + "The status of a file transfer. The different values are given + below: + + notStarted File transfer has not started. + success File transfer has successfully + completed. + aborted File transfer has been aborted. + fileOpenFailRemote Remote file could not be opened. + badDomainName Bad domain name given in the URL. + unreachableIpAddress IP address given in the URL could not + be reached. + networkFailure Transfer failed due to a network + failure. + fileWriteFailed A write on the remote file has + failed. + authFailed Authentication failed. For instance + incorrect password in CdcUrl incase + of FTP(File Transfer Protocol)."; + } + + + container CISCO-DATA-COLLECTION-MIB { + config false; + + container cdcVFile { + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1"; + + leaf cdcVFilePersistentStorage { + type boolean; + description + "This object's value reads 'true', if the agent + implementation of this MIB supports placement of VFiles in + application specified persistent storage locations. Otherwise + the value is 'false'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.1"; + } + + leaf cdcVFileMaxSizeHitsLimit { + type uint32 { + range "1..4294967295"; + } + description + "A global limit for the number of consecutive times the + maximum VFile size (cdcVFileMaxSize) is exceeded for a + given VFile. When this limit is exceeded the offending + cdcVFileEntry is moved to the error state (see + cdcVFileOperStatus)."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.2"; + } + } + + container cdcVFileTable { + description + "A table for setting up VFiles for collecting data."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3"; + + list cdcVFileEntry { + key "cdcVFileIndex"; + description + "An entry in the cdcVFileTable. Each entry contains + application specified configuration that is used to create + virtual files (VFile) and start data collection operations. + + A VFile is used to store data (values of base object + instances) as selected by entities called data groups. + A data group is defined in cdcDGTable. + + An entry in this table is said to be 'activated' when the + corresponding instances of cdcVFileRowStatus is 'active' AND + cdcVFileOperStatus is 'enabled'. The value of sysUpTime.0 when + the condition evaluates to 'true' is called the activation + time of the entry. The activation time for each entry is + maintained internally by the agent."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1"; + + leaf cdcVFileIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer for uniquely identifying this + entry. When creating a row, the application should pick a + random number. + + If the configuration in this entry is persisted across + system/agent restarts then the same value of cdcVFileIndex + must be assigned to this entry after the restart."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.1"; + } + + leaf cdcVFileName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The base-name of the VFiles (created by data collection + operations corresponding to this entry) into which data is to + be collected. + + When a VFile is created, it's full name is obtained by the + concatentation of a suffix to this value. The suffix will be + chosen by the agent such that the VFiles created for this + entry have unique names. For e.g. the suffix could be a + string representation of the date and time when the VFile was + created. + + If VFiles are to be placed in the agent's local filesystem + (provided the agent supports it) then this value should also + contain the absolute path of the location as a prefix to the + base name. + + An agent will respond with inconsistentValue to + a management set operation which attempts to modify the value + of this object to the same value as already held by another + instance of cdcVFileName, or wrongValue if the new value + is invalid for use as a file name on the local file + system (e.g., many file systems do not support white + space embedded in file names). + + This object's value may be modified at any time. However + the new name will be used only when the next VFile is + created for this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.2"; + } + + leaf cdcVFileDescription { + type snmp-framework:SnmpAdminString; + description + "A string that can be used for administrative purposes. + This object's value may be modified at any time."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.3"; + } + + leaf cdcVFileCommand { + type enumeration { + enum "idle" { + value "1"; + } + enum "swapToNewFile" { + value "2"; + } + enum "collectNow" { + value "3"; + } + } + description + "An object for controlling collection of data. + + 'idle' Indicates that no command is in progress. + + 'swapToNewFile' When written, the current VFile is frozen, + and a new VFile is created for collecting + data. + If the data collection mode is automatic + (see cdcVFileCollectMode), then the current + collection interval is stopped and a new + collection interval is started + (see cdcVFileCollectPeriod). + + 'collectNow' When written, base object values for + all associated data groups are fetched + and stored into the current VFile. This + value can only be written when the + collection mode is 'manual' (see + cdcVFileCollectMode)."; + smiv2:defval "idle"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.4"; + } + + leaf cdcVFileMaxSize { + type uint32 { + range "512..4294967295"; + } + units "bytes"; + description + "The maximum size of a VFile. + + The agent maintains an internal counter for each + cdcVFileEntry. This counter counts the number of consecutive + times the size of a VFile has exceeded the value of this + object. When the value of this counter exceeds the value of + cdcVFileMaxSizeHitsLimit, this entry is moved to the 'error' + state (see cdcVFileOperStatus). + However if the value of cdcVFileMaxSizeHitsLimit is not + exceeded, then the current VFile is frozen, and a new VFile + is created for data collection. + + If the data collection mode is automatic (see + cdcVFileCollectMode), then the current collection interval is + stopped and a new collection interval is started. + + This object's value may be modified at any time. The new + size limit MUST be checked against the size of the current + VFile at the time of modification, and appropriate action + taken."; + smiv2:defval "50000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.5"; + } + + leaf cdcVFileCurrentSize { + type uint32 { + range "0..4294967295"; + } + units "bytes"; + description + "The size of the current VFile."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.6"; + } + + leaf cdcVFileFormat { + type CISCO-DATA-COLLECTION-MIB:CdcFileFormat; + description + "The format in which data is stored into the current VFile. + + This object's value cannot be modified while the entry + is in the 'activated' state."; + smiv2:defval "cdcSchemaASCII"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.7"; + } + + leaf cdcVFileCollectMode { + type enumeration { + enum "auto" { + value "1"; + } + enum "manual" { + value "2"; + } + } + description + "Determines the mode of data collection. + + 'auto' Data is periodically fetched for all data + groups associated with this entry. This is + done at data group specific periodic intervals + (cdcDGPollPeriod). + The data thus collected, is formatted and + stored into the current VFile. + In addition at regular intervals (see + cdcVFileCollectPeriod) a new VFile + is created to store data, and the current + VFile is frozen and transferred. + + 'manual' Data for all data groups is fetched and + collected into the current VFile only when + cdcVFileCommand is set to 'collectNow'. + + This object's value cannot be modified while the entry + is in the 'activated' state."; + smiv2:defval "auto"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.8"; + } + + leaf cdcVFileCollectionPeriod { + type uint32 { + range "60..604800"; + } + units "seconds"; + description + "Specifies the period of a collection interval. The value + of this object is used only when the data collection mode is + automatic (see cdcVFileCollectMode). + + A periodic timer (one per entry) is started when this + entry is 'activated'. The time at which this entry is + 'activated' is called the 'activation time' for this entry, + and is internally maintained by the agent. + + When this periodic timer expires, the current VFile is + frozen and a new VFile is created for data collection. + Transfer is then initiated for the frozen VFile. + In addition, the internally maintained counter for counting + the number of consecutive times the size of a VFile has + exceeded the maximum limit, is reset to zero. (See + cdcVFileMaxSize) + + This object's value may be modified at any time, and the + new value takes effect immediately. i.e setting a new + value can cause the current collection interval to terminate + and a new collection interval to start."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.9"; + } + + leaf cdcVFileRetentionPeriod { + type uint32 { + range "60..86400"; + } + units "seconds"; + description + "The time for which a frozen VFile is retained by the + agent. When a VFile is frozen, a timer (one per frozen VFile) + is started to keep track of the retention period for the + VFile. Once this timer expires, the VFile is deleted. + Till the expiry of the retention period, information + about frozen VFiles is maintained in + cdcVFileMgmtTable. + + This object's value may be modified at any time, however + the new value will take effect only for new frozen VFiles."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.10"; + } + + leaf cdcVFileAdminStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "A control object to indicate the administratively desired + state of data collection for this entry. On setting the value + to 'disabled' data collection operations for this + entry are stopped, the current VFile is frozen and it's + transfer is initiated. + + Modifying the value of cdcVFileAdminStatus to 'disabled' does + not remove or change the current configuration as represented + by the active rows in this table."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.11"; + } + + leaf cdcVFileOperStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + enum "error" { + value "3"; + } + } + description + "A status object to indicate the operational state of + collection for this entry. + + When the value of cdcVFileAdminStatus is modified to be + 'enabled', the value of this object will change to 'enabled' + providing it is possible to begin collecting data. If at any + point of time data cannot be collected because of some error, + then the value of this object is changed to 'error' and all + collection operations stop, as if cdcVFileAdminStatus has + been set to 'disabled'. More information about the nature of + the error can be obtained by retrieving the value of + cdcVFileErrorCode. + + When the value of cdcVFileAdminStatus is modified to be + 'disabled', the value of this object will change to + 'disabled' and data collection operations are stopped for + this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.12"; + } + + leaf cdcVFileErrorCode { + type enumeration { + enum "noError" { + value "1"; + } + enum "otherError" { + value "2"; + } + enum "noSpace" { + value "3"; + } + enum "openError" { + value "4"; + } + enum "tooSmallMaxSize" { + value "5"; + } + enum "tooManyMaxSizeHits" { + value "6"; + } + enum "noResource" { + value "7"; + } + } + description + "A value indicating the type of error that has occurred during + data collection operations for this entry. + + noError The value is 'noError' when + the corresponding value of + cdcVFileOperStatus is not 'error'. + + otherError Any error other than one of the + following listed errors. + + noSpace There is no space left to write into + the current VFile. + + openError Could not open VFile for writing. One + possible reason could be the existence + of another file by the same name in + the agent's filesystem. + + tooSmallMaxSize Indicates that cdcVFileMaxSize is + too small for data collection. The + cdcVFileMaxSize configured for this + VFile is not sufficient even to hold + the data collected in one poll. + + tooManyMaxSizeHits Indicates that data collection + operations are stopped because + the value of cdcVFileMaxSizeHitsLimit + has been exceeded. + + noResource Some kind of resource was unavailable + while collecting data. For + e.g. unavailability of dynamic memory."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.13"; + } + + leaf cdcVFileCollectionErrorEnable { + type boolean; + description + "When set to 'true', cdcVFileCollectionError notification will + be sent out in the event of a data collection error."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.14"; + } + + leaf cdcVFileRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + A valid cdcVFileName is only mandatory object for setting + this object to 'active'. But collection of data in to active + vfile starts only on setting cdcVFileAdminStatus + to 'enabled'. + Setting this object to 'destroy' stops all data collection + operations for this entry, deletes all VFiles and removes + this entry from cdcVFileTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.3.1.15"; + } + } + } + + container cdcVFileMgmtTable { + description + "A table to manage frozen VFiles."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4"; + + list cdcVFileMgmtEntry { + key "cdcVFileIndex cdcVFileMgmtIndex"; + description + "An entry in cdcVFileMgmtTable. Each entry corresponds to a + frozen VFile. An entry is created in this table, whenever a + VFile is frozen. An entry is removed from this table whenever + a frozen VFile is deleted either because the retention period + elapsed or because it was adminstratively deleted. + + If the configuration specified in cdcVFileEntry is persisted + across system/agent restarts AND the VFiles created as a + result of that configuration are persisted across restarts, + then this table must be populated with entries corresponding + to those persisted VFiles. However any state related to an + entry, like time to live etc. need not be maintained + across restarts."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1"; + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcVFileMgmtIndex { + type uint32 { + range "1..4294967295"; + } + description + "This value is a running counter starting at 1, + generated by the agent so that the combination of + cdcVFileIndex and cdcVFileMgmtIndex uniquely + identifies a frozen VFile. The deleted file indicies + do not get reused. + + This object's value needs to be unique only across the + set of frozen VFiles corresponding to a cdcVFileEntry + (identified by cdcVFileIndex)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.1"; + } + + leaf cdcVFileMgmtName { + type snmpv2-tc:DisplayString; + description + "The full name of the VFile. If the VFile is stored as a file + in the agent's filesystem, then this value also contains the + absolute path of the file."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.2"; + } + + leaf cdcVFileMgmtTimestamp { + type snmpv2-tc:DateAndTime; + description + "The timestamp when this VFile was created, in the date-time + format."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.3"; + } + + leaf cdcVFileMgmtTimeToLive { + type uint32 { + range "60..86400"; + } + units "seconds"; + description + "The time left before this VFile is deleted (see + cdcVFileRetentionPeriod)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.4"; + } + + leaf cdcVFileMgmtCommand { + type enumeration { + enum "idle" { + value "1"; + } + enum "delete" { + value "2"; + } + enum "transfer" { + value "3"; + } + enum "abortTransfer" { + value "4"; + } + } + description + "A control to manage VFiles. + + idle This value can be only be read. It indicates + that no management action is currently being + performed on this VFile. + + delete This value is only written, and is used to + delete the frozen VFile. Writing this value + will cause this entry to be removed from this + table. + + transfer This value can be both read and written. + When read it means that the VFile is in the + process of being transferred. When written, it + initiates a transfer for the VFile. + + abortTransfer This value can only be written, and is used + to abort an ongoing transfer."; + smiv2:defval "idle"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.5"; + } + + leaf cdcVFileMgmtXferURL { + type CISCO-DATA-COLLECTION-MIB:CdcUrl; + description + "The complete URL of the destination to which this VFile will + be transferred in the next attempt. The URL also includes the + complete filename of the remote file that will be + created. When the default value of this object is + retained this VFile will be transferred to the URL + specified in cdcFileXferConfPriUrl or cdcFileXferConfSecUrl, + as the case may be. + + However an application can specify a different URL, in which + case the VFile will be transferred to this new URL the next + time transfer is initiated. + + This object's value may be modified at any time."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.6"; + } + + leaf cdcVFileMgmtLastXferStatus { + type CISCO-DATA-COLLECTION-MIB:CdcFileXferStatus; + description + "Indicates the status of the last completed transfer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.7"; + } + + leaf cdcVFileMgmtLastXferURL { + type CISCO-DATA-COLLECTION-MIB:CdcUrl; + description + "Indicates the URL of the destination to which the last + (completed) transfer was initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1.4.1.8"; + } + } + } + + container cdcDGTable { + description + "A table for specifying data groups."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1"; + + list cdcDGEntry { + key "cdcDGIndex"; + description + "An entry in this table. Each entry corresponds to a data + group. A data group is used to select data that needs to be + collected into VFiles. The selection is done by specifying + the base objects and their instances for which the values + need to be fetched. + + Data is collected only for those data groups, that have + the corresponding instance of cdcDGRowStatus set to + 'active'. + + In order for data to be collected, each data group has to + be associated with a cdcVFileEntry (see cdcDGVFileIndex). If + the data collection mode of the associated cdcVFileEntry is + automatic, then data is fetched and stored into the current + VFile of the associated cdcVFileEntry at periodic + intervals (cdcDGPollPeriod)."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1"; + + leaf cdcDGIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer used to uniquely identify this entry. + When creating an entry, a management application should pick a + random number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.1"; + } + + leaf cdcDGComment { + type snmp-framework:SnmpAdminString; + description + "A descriptive string. This object's value may be modified at + any time."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.2"; + } + + leaf cdcDGType { + type enumeration { + enum "object" { + value "1"; + } + enum "table" { + value "2"; + } + } + description + "Identifies the type of this data group. + object Data is a single MIB object. The fully + instantiated OID is specified in + cdcDGBaseObject. + + table Data is a logical table. The columns of + this table correspond to the base objects + specified in cdcDGBaseObjectTable, and the + rows correspond to the values of the instances + specified in cdcDGInstanceTable. + + This object's value cannot be modified while the value of + cdcDGRowStatus is 'active'."; + smiv2:defval "table"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.3"; + } + + leaf cdcDGVFileIndex { + type uint32 { + range "1..4294967295"; + } + description + "Corresponds to a value of cdcVFileIndex. + It is used to associate this data group with a + cdcVFileEntry. The values of the base objects for + this data group are stored into the current VFile of the + associated cdcVFileEntry. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.4"; + } + + leaf cdcDGTargetTag { + type snmp-target:SnmpTagValue; + description + "The tag for the target from which to obtain the data for + this data group. + + A length of 0 indicates the local system. In this case, + access to the objects of this data group is under + the security credentials of the requester that set + cdcDGRowStatus to 'active'. Those credentials are + the input parameters for isAccessAllowed from the + Architecture for Describing SNMP Management Frameworks. + + Otherwise a search is carried out for an entry in the + snmpTargetAddrTable whose snmpTargetAddrTagList contains the + tag specified by the value of this object. The security + credentials (snmpTargetParamsEntry) of the first entry that + satisfies the above criteria, are passed as input parameters + for isAccessAllowed. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.5"; + } + + leaf cdcDGContextName { + type snmp-framework:SnmpAdminString; + description + "The management context from which to obtain data for this + data group. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.6"; + } + + leaf cdcDGObject { + type snmpv2-tc:VariablePointer; + description + "The fully instantiated name of the MIB object whose value + needs to be fetched. This object's value is used only when + cdcDGType is of type 'object'. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.7"; + } + + leaf cdcDGObjectGrpIndex { + type uint32 { + range "1..4294967295"; + } + description + "Corresponds to a value of cdcDGBaseObjectGrpIndex, thus + identifying a set of entries in cdcDGBaseObjectTable, having + this value of cdcDGBaseObjectGrpIndex. This object's value is + used only when cdcDGType is of type 'table'. + + This set of entries in cdcDGBaseObjectTable in turn + identifies the set of base objects, that makes up the columns + of this 'table' type data group. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.8"; + } + + leaf cdcDGInstGrpIndex { + type uint32 { + range "0..4294967295"; + } + description + "Corresponds to a value of cdcDGInstanceGrpIndex, thus + identifying a set of entries in cdcDGInstanceTable, having + this value of cdcDGInstanceGrpIndex. This object's value is + used only when cdcDGType is of type 'table'. + + The set of entries in cdcDGInstanceTable, in turn identifies + the set of instances of the base objects, whose values need + to fetched. If the value is 0, then all instances of the base + objects will be fetched. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.9"; + } + + leaf cdcDGPollPeriod { + type uint32 { + range "1..86400"; + } + units "seconds"; + description + "Specifies the time intervals at which the data should be + fetched for this data group. + This object's value is used only when the collection + mode of the associated cdcVFileEntry is automatic (see + cdcVFileCollectMode). + + A periodic timer is started for this data group when + cdcDGRowStatus is set to 'active', provided the associated + cdcVFileEntry has already been 'activated', otherwise it is + started when the associated cdcVFileEntry is finally + activated. + + The time interval after which the first expiration of this + timer should occur, is calculated as follows: + + (value of sysUpTime.0) + + (value of cdcPollPeriod for this entry - + (value of sysUpTime.0 - VFile activation time for the + associated cdcVFileEntry) % cdcPollPeriod) + + Subsequent expirations of the periodic timer can occur as per + the value specified in cdcDGPollPeriod. This helps in + synchronizing periodic polling of the data groups with + respect to the VFile activation time. + + This object's value may be modified at any time, and the + change must take effect immediately. i.e. if the periodic + timer has been started, it's expiry time may need to be + re-adjusted."; + smiv2:defval "600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.10"; + } + + leaf cdcDGRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + This object cannot be set to 'active' until values have been + assigned to cdcDGVFileIndex & cdcDGColGrpIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.1.1.11"; + } + } + } + + container cdcDGBaseObjectTable { + description + "A table specifying the base objects of a 'table' type + data group."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2"; + + list cdcDGBaseObjectEntry { + key "cdcDGBaseObjectGrpIndex cdcDGBaseObjectIndex"; + description + "An individual entry in this table. Each entry is a + {subtree, list} tuple. Each tuple identifies a set of + base objects for the associated data group."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1"; + + leaf cdcDGBaseObjectGrpIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object's value when combined with the value of + cdcDGBaseObjectIndex uniquely identifies an entry in + this table. An application must use the same value (can + be randomly picked) for this object while creating a group of + entries that collectively identifies the set of base + objects for a data group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1.1"; + } + + leaf cdcDGBaseObjectIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object's value when combined with the value of + cdcDGBaseObjectGrpIndex uniquely identifies an entry in + this table. + + A managment application can assign incremental values + starting from one, when creating each entry in a group of + entries (as identified by the value of + cdcDGBaseObjectGrpIndex)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1.2"; + } + + leaf cdcDGBaseObjectSubtree { + type CISCO-DATA-COLLECTION-MIB:CdcCollectionSubtree; + description + "The subtree component of a {subtree, list} tuple. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1.3"; + } + + leaf cdcDGBaseObjectList { + type CISCO-DATA-COLLECTION-MIB:CdcCollectionList; + description + "The list component of a {subtree, list} tuple. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1.4"; + } + + leaf cdcDGBaseObjectRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + This object cannot be set to 'active' until values have been + assigned to cdcDGBaseObjectSubtree & cdcDGBaseObjectList."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.2.1.5"; + } + } + } + + container cdcDGInstanceTable { + description + "Identifies the instances of the base objects that need to + be fetched for a 'table' type data group. + + The agent is not responsible for verifying that the instances + specified for a data group do not overlap."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3"; + + list cdcDGInstanceEntry { + key "cdcDGInstanceGrpIndex cdcDGInstanceIndex"; + description + "An entry in this table. Each entry identifies one or more + instances of the base objects that need to be fetched. + An instance is represented by an OID fragment."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1"; + + leaf cdcDGInstanceGrpIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object's value when combined with the value of + cdcDGInstanceIndex uniquely identifies an entry in + this table. An application must use the same value (can + be randomly picked) for this object while creating a group of + entries that collectively identifies the set of instances for a + data group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.1"; + } + + leaf cdcDGInstanceIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object's value when combined with the value of + cdcDGInstanceGrpIndex uniquely identifies an entry in + this table. + + A managment application can assign incremental values + starting from one, when creating each entry within a group + of entries (as identified by the value of + cdcDGInstanceGrpIndex)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.2"; + } + + leaf cdcDGInstanceType { + type enumeration { + enum "individual" { + value "1"; + } + enum "range" { + value "2"; + } + enum "repititions" { + value "3"; + } + enum "subTree" { + value "4"; + } + enum "other" { + value "5"; + } + } + description + "Specifies the way in which the instances are to be used while + collecting data. + + + individual The value of cdcDGInstanceOid is + appended to each base object of the + associated data group, thus giving the exact + instance of the objects to be collected. + + range The value of cdcDGInstanceOid is + appended to each base object in the + associated data group, thus giving the + starting object instance of the range. + The value of cdcDGInstanceEndOid + is appended to to each base object in the + associated data group, thus giving the + last object instances of the range. + + repititions The value of cdcDGInstanceOid is + appended to each base object in the + associated data group, thus giving the + first object instance of the next 'n' + instances that need to be collected. + The value of 'n' is set in + cdcDGInstanceNumRepititions. + + subTree The value of cdcDGInstanceOid is + appended to each base object in the + associated data group, thus identifying the + OBJECT IDENTFIFIER sub-tree, whose leaf + instances need to be collected. + + other The value of cdcDGInstanceOtherPtr points to a + row (in another MIB table) that contains MIB + specific instance selection criteria. A MIB + defined for such purposes should describe + the selection criteria. + + This object's value cannot be modified while the value of + cdcDGInstanceStatus is 'active'."; + smiv2:defval "subTree"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.3"; + } + + leaf cdcDGInstanceOid { + type CISCO-DATA-COLLECTION-MIB:CdcRowInstanceId; + description + "Contains the OBJECT IDENTIFIER fragment that identifies the + instances of the base objects that need to be collected. + + If cdcDGInstanceType is 'individual' then this value + should be the OID fragment that, when appended to each base + MIB object gives the fully instantiated OID to be fetched. + + If cdcDGInstanceType is 'range' then this value + should be the OID fragment that, when appended to each base + MIB object gives the start of a range of object instances + that needs to be fetched. + + If cdcDGInstanceType is 'subTree' then this value + should be the OID fragment that, when appended to each base + MIB gives the sub-tree under which all leaf object instances + need to be fetched. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.4"; + } + + leaf cdcDGInstanceOidEnd { + type CISCO-DATA-COLLECTION-MIB:CdcRowInstanceId; + description + "Contains the OID fragment that, when appended to each base + object gives the end of the range of object instances that + needs to be fetched. + This value is used only when the value of cdcDGInstanceType + is of type 'range'. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.5"; + } + + leaf cdcDGInstanceNumRepititions { + type uint32; + description + "Specifies the number of lexicographically consecutive object + instances to fetch. + This value is used only when the value of cdcDGInstanceType + is of type 'repititions'. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.6"; + } + + leaf cdcDGInstanceOtherPtr { + type snmpv2-tc:RowPointer; + description + "Contains a pointer to a row in another MIB table that + contains MIB specific criteria for selecting instances. + This value is used only when the value of cdcDGInstanceType + is of type 'other'. + + This object's value may be modified at any time. The change + takes effect the next time data is fetched for this data + group."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.7"; + } + + leaf cdcDGInstanceRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2.3.1.8"; + } + } + } + + container cdcFileXferConfTable { + description + "A table for configuring file transfer operations."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1"; + + list cdcFileXferConfEntry { + key "cdcVFileIndex"; + description + "An individual entry in the cdcFileXferConfTable. Each entry + identifies a primary and an optional secondary destination. + + An entry is automatically created in this table, whenever an + entry is created in the cdcVFileTable. The application needs + to specify the URLs of the destination to which frozen VFiles + are transferred. + + When a VFile is frozen, transfer will be first initiated to + the primary destination, if the transfer fails, then transfer + is initiated to the secondary destination. If this too fails, + then the cycle is repeated again after a specified time + period (value of cdcFileXferConfRetryPeriod) elapses."; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1"; + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcFileXferConfPriUrl { + type CISCO-DATA-COLLECTION-MIB:CdcUrl; + description + "The URL which specifies the primary destination to which + the file has to be transferred. The URL should contain the + base-name of the remote file, the suffix will be carried over + from the name of the VFile being tranferred, and will be + automatically appended by the agent. + + This object's value may be modified at any time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.1"; + } + + leaf cdcFileXferConfSecUrl { + type CISCO-DATA-COLLECTION-MIB:CdcUrl; + description + "The URL which specifies the secondary destination to which + the file has to be transferred if the transfer to the + primary destination fails. Failure occurs when the file + cannot be transferred in it's entirety to the specified + destination for some reason. Some common reasons for such + failures are listed out in CdcFileXferStatus. + + The specified URL should contain the base-name of the remote + file, the suffix will be carried over from the name of the + VFile being tranferred, and will be automatically appended by + the agent. + + This object's value may be modified at any time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.2"; + } + + leaf cdcFileXferConfRetryPeriod { + type uint32 { + range "60..86400"; + } + units "seconds"; + description + "Specifies the time interval after which transfer has to be + retried. Transfer needs to be retried only if in a previous + attempt the file could not be successfully transferred to + either the primary destination or the secondary destination. + + This object's value may be modified at any time."; + smiv2:defval "300"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.3"; + } + + leaf cdcFileXferConfRetryCount { + type uint32 { + range "0..256"; + } + units "seconds"; + description + "Maximum number of times, transfer has to be retried. If the + retry count exceeds this value, then no further attempts will + be made. + + This object's value may be modified at any time."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.4"; + } + + leaf cdcFileXferConfSuccessEnable { + type boolean; + description + "When set to 'true', cdcFileXferComplete notification will + be sent out in the event of a successful file transfer."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.5"; + } + + leaf cdcFileXferConfFailureEnable { + type boolean; + description + "When set to 'true', cdcFileXferComplete notification will + be sent out in the event of a file transfer failure."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3.1.1.6"; + } + } + } + } + + notification cdcVFileCollectionError { + description + "Notification that data collection operations for a + cdcVFileEntry has encountered an error. + The cdcVFileEntry is identified by the instance portion of + cdcVFileName. The error code is available as the value of the + cdcVFileErrorCode variable."; + smiv2:oid "1.3.6.1.4.1.9.9.312.0.1"; + + container object-1 { + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcVFileName { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileName"; + } + } + } + + container object-2 { + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcVFileErrorCode { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileErrorCode"; + } + } + } + } + + notification cdcFileXferComplete { + description + "Notification that file transfer to the destination + specified by the cdcVFileMgmtLastXferURL variable, has + completed with the status specified by the + cdcVFileMgmtLastXferStatus variable."; + smiv2:oid "1.3.6.1.4.1.9.9.312.0.2"; + + container object-1 { + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcVFileMgmtIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtTable/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtIndex"; + } + } + + leaf cdcVFileMgmtLastXferStatus { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtTable/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtLastXferStatus"; + } + } + } + + container object-2 { + + leaf cdcVFileIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileTable/CISCO-DATA-COLLECTION-MIB:cdcVFileEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileIndex"; + } + } + + leaf cdcVFileMgmtIndex { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtTable/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtIndex"; + } + } + + leaf cdcVFileMgmtLastXferURL { + type leafref { + path "/CISCO-DATA-COLLECTION-MIB:CISCO-DATA-COLLECTION-MIB/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtTable/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtEntry/CISCO-DATA-COLLECTION-MIB:cdcVFileMgmtLastXferURL"; + } + } + } + } + + smiv2:alias "ciscoDataCollectionMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.312"; + } + + smiv2:alias "ciscoDataCollMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.312.0"; + } + + smiv2:alias "ciscoDataCollMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.312.1"; + } + + smiv2:alias "cdcVFile" { + smiv2:oid "1.3.6.1.4.1.9.9.312.1.1"; + } + + smiv2:alias "cdcDataGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.312.1.2"; + } + + smiv2:alias "cdcFileXfer" { + smiv2:oid "1.3.6.1.4.1.9.9.312.1.3"; + } + + smiv2:alias "ciscoDataCollMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.312.2"; + } + + smiv2:alias "ciscoDataCollMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.312.2.1"; + } + + smiv2:alias "ciscoDataCollMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.312.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-DIAL-CONTROL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-DIAL-CONTROL-MIB.yang new file mode 100644 index 000000000..b0cf21fed --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-DIAL-CONTROL-MIB.yang @@ -0,0 +1,617 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-DIAL-CONTROL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-DIAL-CONTROL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-DIAL-CONTROL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB"; + prefix CISCO-DIAL-CONTROL-MIB; + + import DIAL-CONTROL-MIB { + prefix "dial-control"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco systems, Inc."; + + contact + " Bibek Das + Postal: cisco Systems + 170 West Tasman Drive + San Jose, CA 95134 + U.S.A. + Phone: +1 408 526 5225 + E-mail: cs-isdn@cisco.com"; + + description + "The MIB module to describe call history information for + demand access and possibly other kinds of interfaces."; + + revision 2005-05-26 { + description + "Modified DESCRIPTION of cPeerSearchType object."; + } + + revision 2003-07-10 { + description + "1) Changed the SYNTAX of cCallHistoryLogicalIfIndex + to be InterfaceIndexOrZero instead of + InterfaceIndex. + 2) Modified the DESCRIPTION of + cCallHistoryLogicalIfIndex."; + } + + revision 2002-08-21 { + description + "1) Deprecated ciscoDialControlMibComplianceRev3 + 2) Added a new table cCallHistoryIecTable + 3) Added a new module-compliance + ciscoDialControlMibComplianceRev4 + 4) Added gatekeeper and externalGKTMPServer enum labels + to cCallHistoryReleaseSrc + 5) Added cCallHistoryIecGroup OBJECT-GROUP."; + } + + revision 2002-05-24 { + description + "1) Deprecated ciscoDialControlMibComplianceRev2 + 2) Added a new object subtree (OID) + cPeerGlobalConfiguration + 3) Added a new object cPeerSearchType + 4) Added a new object-group cPeerGlobalConfigurationGroup + 5) Added a new module-compliance + ciscoDialControlMibComplianceRev3."; + } + + revision 2002-02-20 { + description + "1) Deprecated cCallHistoryReleaseSource + 2) Deprecated cCallHistoryGroupRev1 + 3) Deprecated ciscoDialControlMibComplianceRev1 + 3) Added a new object cCallHistoryReleaseSrc + 4) Added a new object cCallHistoryGroupRev2 + 6) Added a new object ciscoDialControlMibComplianceRev2."; + } + + revision 2001-12-13 { + description + "Added a new object cCallHistoryReleaseSource in + CallHistory table."; + } + + revision 1998-01-16 { + description + "The initial version of the mib."; + } + + + container CISCO-DIAL-CONTROL-MIB { + config false; + + container cPeerGlobalConfiguration { + smiv2:oid "1.3.6.1.4.1.9.10.25.1.5"; + + leaf cPeerSearchType { + type enumeration { + enum "none" { + value "1"; + } + enum "datavoice" { + value "2"; + } + enum "voicedata" { + value "3"; + } + } + description + "Specifies the peer search preference based on the + type of peers in an universal/integrated port + platform. + + none - both voice and data peers are searched + in same preference. + datavoice - search data peers first. If no data peers + are found, the voice peers are searched. + voicedata - search voice peers first. If no voice peers + are found, the data peers are searched."; + smiv2:defval "datavoice"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.5.1"; + } + } + + container cCallHistoryTable { + description + "A table containing information about specific + calls to a specific destination."; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3"; + + list cCallHistoryEntry { + key "cCallHistoryIndex"; + description + "The information regarding a single Connection."; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1"; + + leaf cCallHistoryIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer for the sole purpose of + indexing call disconnection events. When it reaches the + maximum value, an extremely unlikely event, the agent wraps + the value back to 1 and may flush existing entries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.1"; + } + + leaf cCallHistorySetupTime { + type yang:timestamp; + description + "The value of sysUpTime when the call setup was started. + This will be useful for an NMS to sort the call history + entry with call setup time. Also, this object + can be useful in finding large delays between the time the + call was started and the time the call was connected. + For ISDN media, this will be the time when the setup + message was received from or sent to the network. + The value of this object is the same as callActiveSetupTime + in the callActiveTable"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.2"; + } + + leaf cCallHistoryPeerAddress { + type snmpv2-tc:DisplayString; + description + "The number this call was connected to. If the number is + not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.3"; + } + + leaf cCallHistoryPeerSubAddress { + type snmpv2-tc:DisplayString; + description + "The subaddress this call was connected to. If the subaddress + is undefined or not available, this will be a zero length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.4"; + } + + leaf cCallHistoryPeerId { + type int32 { + range "0..2147483647"; + } + description + "This is the Id value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.5"; + } + + leaf cCallHistoryPeerIfIndex { + type int32 { + range "0..2147483647"; + } + description + "This is the ifIndex value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.6"; + } + + leaf cCallHistoryLogicalIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This is the ifIndex value of the logical interface through + which this call was made. For ISDN media, this would be + the ifIndex of the B channel which was used for this call. + If the ifIndex value is unknown, the value of this object + will be zero. For an IP call, the value will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.7"; + } + + leaf cCallHistoryDisconnectCause { + type binary { + length "0..4"; + } + description + "The encoded network cause value associated with this call. + + The value of this object will depend on the interface type + as well as on the protocol and protocol version being + used on this interface. Some references for possible cause + values are given below."; + reference + "- Bellcore SR-NWT-001953, Generic Guidelines for + ISDN Terminal Equipment On Basic Access Interfaces, + chapter 5.2.5.8. + - Bellcore SR-NWT-002343, ISDN Primary Rate Interface + Generic Guidelines for Customer Premises Equipment, + chapter 8.2.5.8. + - ITU-T Q.931, Appendix I. + - ITU-T X.25, CAUSE and DIAGNOSTIC field values. + - German Telekom FTZ 1TR6, chapter 3.2.3.4.4.4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.8"; + } + + leaf cCallHistoryDisconnectText { + type snmpv2-tc:DisplayString; + description + "ASCII text describing the reason for call termination. + + This object exists because it would be impossible for + a management station to store all possible cause values + for all types of interfaces. It should be used only if + a management station is unable to decode the value of + dialCtlPeerStatsLastDisconnectCause."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.9"; + } + + leaf cCallHistoryConnectTime { + type yang:timestamp; + description + "The value of sysUpTime when the call was connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.10"; + } + + leaf cCallHistoryDisconnectTime { + type yang:timestamp; + description + "The value of sysUpTime when the call was disconnected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.11"; + } + + leaf cCallHistoryCallOrigin { + type enumeration { + enum "originate" { + value "1"; + } + enum "answer" { + value "2"; + } + enum "callback" { + value "3"; + } + } + description + "The call origin."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.12"; + } + + leaf cCallHistoryChargedUnits { + type dial-control:AbsoluteCounter32; + description + "The number of charged units for this connection. + For incoming calls or if charging information is + not supplied by the switch, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.13"; + } + + leaf cCallHistoryInfoType { + type enumeration { + enum "other" { + value "1"; + } + enum "speech" { + value "2"; + } + enum "unrestrictedDigital" { + value "3"; + } + enum "unrestrictedDigital56" { + value "4"; + } + enum "restrictedDigital" { + value "5"; + } + enum "audio31" { + value "6"; + } + enum "audio7" { + value "7"; + } + enum "video" { + value "8"; + } + enum "packetSwitched" { + value "9"; + } + enum "fax" { + value "10"; + } + } + description + "The information type for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.14"; + } + + leaf cCallHistoryTransmitPackets { + type dial-control:AbsoluteCounter32; + description + "The number of packets which were transmitted while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.15"; + } + + leaf cCallHistoryTransmitBytes { + type dial-control:AbsoluteCounter32; + description + "The number of bytes which were transmitted while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.16"; + } + + leaf cCallHistoryReceivePackets { + type dial-control:AbsoluteCounter32; + description + "The number of packets which were received while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.17"; + } + + leaf cCallHistoryReceiveBytes { + type dial-control:AbsoluteCounter32; + description + "The number of bytes which were received while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.18"; + } + + leaf cCallHistoryReleaseSource { + type enumeration { + enum "callingPartyInPstn" { + value "1"; + } + enum "callingPartyInVoip" { + value "2"; + } + enum "calledPartyInPstn" { + value "3"; + } + enum "calledPartyInVoip" { + value "4"; + } + enum "internalRelease" { + value "5"; + } + enum "internalCallControlApp" { + value "6"; + } + enum "consoleCommand" { + value "7"; + } + enum "externalRadiusServer" { + value "8"; + } + enum "externalNmsApp" { + value "9"; + } + enum "externalCallControlAgent" { + value "10"; + } + } + status deprecated; + description + "Originator of the call release."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.19"; + } + + leaf cCallHistoryReleaseSrc { + type enumeration { + enum "callingPartyInPstn" { + value "1"; + } + enum "callingPartyInVoip" { + value "2"; + } + enum "calledPartyInPstn" { + value "3"; + } + enum "calledPartyInVoip" { + value "4"; + } + enum "internalReleaseInPotsLeg" { + value "5"; + } + enum "internalReleaseInVoipLeg" { + value "6"; + } + enum "internalCallControlApp" { + value "7"; + } + enum "internalReleaseInVoipAAA" { + value "8"; + } + enum "consoleCommand" { + value "9"; + } + enum "externalRadiusServer" { + value "10"; + } + enum "externalNmsApp" { + value "11"; + } + enum "externalCallControlAgent" { + value "12"; + } + enum "gatekeeper" { + value "13"; + } + enum "externalGKTMPServer" { + value "14"; + } + } + description + "Originator of the call release. Indicates the source of + the call release as follows : + 1) callingPartyInPstn : Calling party in PSTN. + 2) callingPartyInVoip : Calling party in VoIP. + 3) calledPartyInPstn : Called party in PSTN. + 4) calledPartyInVoip : Called party in VoIP. + 5) internalReleaseInPotsLeg : Due to an internal error + in Telephony call leg. + 6) internalReleaseInVoipLeg : Due to an internal error + in VoIP call leg. + 7) internalCallControlApp : Due to an internal error + in Session Application or Tcl or VXML script originated + release. + 8) internalReleaseInVoipAAA : Due to an internal error + in VoIP AAA module. + 9) consoleCommand : Due to CLI or MML. + 10) externalRadiusServer : Call failed during authorization + , authentication or due to receipt of POD from the + RADIUS server. + 11) externalNmsApp : Due to SNMP request to clear + the call. + 12) externalCallControlAgent : External Call Control Agent + initiated clear. + 13) gatekeeper : Gatekeeper initiated clear due to receipt + of Admission Reject, Disengage Request message. + 14) externalGKTMPServer : External GKTMP server initiated + clear due to receipt of Admission Reject message from + the gatekeeper, triggered by RESPONSE.ARJ message from + the GKTMP server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.3.1.20"; + } + } + } + + container cCallHistoryIecTable { + description + "This table contains information about Internal Error + Code(s) (IEC) which caused the call to fail."; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.4"; + + list cCallHistoryIecEntry { + key "cCallHistoryIndex cCallHistoryIecIndex"; + description + "The IEC information regarding a single call."; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.4.1"; + + leaf cCallHistoryIndex { + type leafref { + path "/CISCO-DIAL-CONTROL-MIB:CISCO-DIAL-CONTROL-MIB/CISCO-DIAL-CONTROL-MIB:cCallHistoryTable/CISCO-DIAL-CONTROL-MIB:cCallHistoryEntry/CISCO-DIAL-CONTROL-MIB:cCallHistoryIndex"; + } + } + + leaf cCallHistoryIecIndex { + type uint32 { + range "1..1024"; + } + description + "This object is used to index one or more IECs in the + context of a single call. In most cases there will + only be one IEC when a call fails. However, it is + possible for the software processing the call to + generate multiple IECs before the call ultimately fails. + In that scenario, there will be multiple entries in + this table related to a single call (cCallHistoryIndex) + and this object will serve to uniquely identify each IEC."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.4.1.1"; + } + + leaf cCallHistoryIec { + type snmp-framework:SnmpAdminString; + description + "This object reflects the Internal Error Code. + The format is a string of dotted decimal numbers + composed of the following components: + + Version.Entity.Category.Subsystem.Errorcode.Diagnostic + + Each component is defined as follows: + Version : The version of IEC software. + Entity : The network entity that originated + the error. + Category : The category of the error (eg, software + error, hardware resource unavailable, ...) + Subsystem : The subsystem in which the error occurred. + Errorcode : A subsytem-specific error code. + Diagnostic : An implementation-specific diagnostic code."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4.4.1.2"; + } + } + } + } + + smiv2:alias "ciscoDialControlMib" { + smiv2:oid "1.3.6.1.4.1.9.10.25"; + } + + smiv2:alias "ciscoDialControlMibObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.25.1"; + } + + smiv2:alias "cCallHistory" { + smiv2:oid "1.3.6.1.4.1.9.10.25.1.4"; + } + + smiv2:alias "cPeerGlobalConfiguration" { + smiv2:oid "1.3.6.1.4.1.9.10.25.1.5"; + } + + smiv2:alias "ciscoDialControlMibConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.25.3"; + } + + smiv2:alias "ciscoDialControlMibCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.25.3.1"; + } + + smiv2:alias "ciscoDialControlMibGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.25.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-DOT3-OAM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-DOT3-OAM-MIB.yang new file mode 100644 index 000000000..e828f01f8 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-DOT3-OAM-MIB.yang @@ -0,0 +1,2147 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-DOT3-OAM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-DOT3-OAM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-DOT3-OAM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB"; + prefix CISCO-DOT3-OAM-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc"; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + Email: cs-ethermibs@cisco.com"; + + description + "The MIB module for managing the new Ethernet OAM features + introduced by the Ethernet in the First Mile task force (IEEE + 802.3ah). The functionality presented here is based on IEEE + 802.3ah [802.3ah], released in October, 2004. [802.3ah] was + prepared as an addendum to the standing version of IEEE 802.3 + [802.3-2002] at the time. Since then, [802.3ah] has been + merged into the base IEEE 802.3 specification in [802.3-2005]. + + In particular, this MIB focuses on the new OAM functions + introduced in Clause 57 of [802.3ah]. The OAM functionality + of Clause 57 is controlled by new management attributes + introduced in Clause 30 of [802.3ah]. The OAM functions are + not specific to any particular Ethernet physical layer, and + can be generically applied to any Ethernet interface of + [802.3-2002]. + + An Ethernet OAM protocol data unit is a valid Ethernet frame + with a destination MAC address equal to the reserved MAC + address for Slow Protocols (See 43B of [802.3ah]), a + lengthOrType field equal to the reserved type for Slow + Protocols, and a Slow Protocols subtype equal to that of the + subtype reserved for Ethernet OAM. OAMPDU is used throughout + this document as an abbreviation for Ethernet OAM protocol + data unit. + + The following reference is used throughout this MIB module: + + [802.3ah] refers to: + IEEE Std 802.3ah-2004: 'Draft amendment to - + Information technology - Telecommunications and + information exchange between systems - Local and + metropolitan are networks - Specific requirements - Part + 3: Carrier sense multiple access with collision detection + (CSMA/CD) access method and physical layer specifications + - Media Access Control Parameters, Physical Layers and + Management Parameters for subscriber access networks', + October 2004. + + [802.3-2002] refers to: + IEEE Std 802.3-2002: + 'Information technology - Telecommunications and + information exchange between systems - Local and + metropolitan are networks - Specific requirements - Part + 3: Carrier sense multiple access with collision detection + (CSMA/CD) access method and physical layer specifications + - Media Access Control Parameters, Physical Layers and + Management Parameters for subscriber access networks', + March 2002. + + [802.3-2005] refers to: + IEEE Std 802.3-2002: + 'Information technology - Telecommunications and + information exchange between systems - Local and + metropolitan are networks - Specific requirements - Part + 3: Carrier sense multiple access with collision detection + (CSMA/CD) access method and physical layer specifications + - Media Access Control Parameters, Physical Layers and + Management Parameters for subscriber access networks', + December 2005. + + [802-2001] refers to: + 'IEEE Standard for LAN/MAN (Local Area + Network/Metropolitan Area Network): Overview and + Architecture', IEEE 802, June 2001."; + + revision 2006-05-31 { + description + "Initial version."; + } + + typedef Cdot3Oui { + type binary { + length "3"; + } + description + "24-bit Organizationally Unique Identifier. Information on + OUIs can be found in IEEE 802-2001 [802-2001] Clause 9."; + } + + + container CISCO-DOT3-OAM-MIB { + config false; + + container cdot3OamTable { + description + "This table contains the primary controls and status for the + OAM capabilities of an Ethernet like interface. There will be + one row in this table for each Ethernet like interface in the + system that supports the OAM functions defined in [802.3ah]."; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1"; + + list cdot3OamEntry { + key "ifIndex"; + description + "An entry in the table, containing information on the Ethernet + OAM function for a single Ethernet like interface. Entries in + the table are created automatically for each interface + supporting Ethernet OAM. The status of the row entry can be + determined from cdot3OamOperStatus. + + A cdot3OamEntry is indexed in the cdot3OamTable by the ifIndex + object of the Interfaces MIB. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamAdminState { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabled" { + value "2"; + } + } + description + "This object is used to provision the default administrative + OAM mode for this interface. This object represents the + desired state of OAM for this interface. + + The cdot3OamAdminState always starts in the disabled(1) state + until an explicit management action or configuration + information retained by the system causes a transition to the + enabled(2) state. When enabled(2), Ethernet OAM will attempt + to operate over this interface. "; + reference + "[802.3ah], 30.3.6.1.2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.1"; + } + + leaf cdot3OamOperStatus { + type enumeration { + enum "disabled" { + value "1"; + } + enum "linkFault" { + value "2"; + } + enum "passiveWait" { + value "3"; + } + enum "activeSendLocal" { + value "4"; + } + enum "sendLocalAndRemote" { + value "5"; + } + enum "sendLocalAndRemoteOk" { + value "6"; + } + enum "oamPeeringLocallyRejected" { + value "7"; + } + enum "oamPeeringRemotelyRejected" { + value "8"; + } + enum "operational" { + value "9"; + } + enum "nonOperHalfDuplex" { + value "10"; + } + } + description + "At initialization and failure conditions, two OAM entities on + the same full-duplex Ethernet link begin a discovery phase to + determine what OAM capabilities may be used on that link. The + progress of this initialization is controlled by the OAM + sublayer. + + This value is always disabled(1) if OAM is disabled on this + interface via the cdot3OamAdminState. + + If the link has detected a fault and is transmitting OAMPDUs + with a link fault indication, the value is linkFault(2). Also, + if the interface is not operational (ifOperStatus is not + up(1)), linkFault(2) is returned. Note that the object + ifOperStatus may not be up(1) as a result of link failure or + administrative action (ifAdminState being down(2) or + testing(3)). + + The passiveWait(3) state is returned only by OAM entities in + passive mode (cdot3OamMode) and reflects the state in which the + OAM entity is waiting to see if the peer device is OAM + capable. The activeSendLocal(4) value is used by active mode + devices (cdot3OamMode) and reflects the OAM entity actively + trying to discover whether the peer has OAM capability but has + not yet made that determination. + + The state sendLocalAndRemote(5) reflects that the local OAM + entity has discovered the peer but has not yet accepted or + rejected the configuration of the peer. The local device can, + for whatever reason, decide that the peer device is + unacceptable and decline OAM peering. If the local OAM entity + rejects the peer OAM entity, the state becomes + oamPeeringLocallyRejected(7). If the OAM peering is allowed + by the local device, the state moves to + sendLocalAndRemoteOk(6). Note that both the + sendLocalAndRemote(5) and oamPeeringLocallyRejected(7) states + fall within the state SEND_LOCAL_REMOTE of the Discovery state + diagram [802.3ah, Figure 57-5], with the difference being + whether the local OAM client has actively rejected the peering + or has just not indicated any decision yet. Whether a peering + decision has been made is indicated via the local flags field + in the OAMPDU (reflected in the aOAMLocalFlagsField of + 30.3.6.1.10). + + If the remote OAM entity rejects the peering, the state + becomes oamPeeringRemotelyRejected(8). Note that both the + sendLocalAndRemoteOk(6) and oamPeeringRemotelyRejected(8) + states fall within the state SEND_LOCAL_REMOTE_OK of the + Discovery state diagram [802.3ah, Figure 57-5], with the + difference being whether the remote OAM client has rejected + the peering or has just not yet decided. This is indicated + via the remote flags field in the OAM PDU (reflected in the + aOAMRemoteFlagsField of 30.3.6.1.11). + + When the local OAM entity learns that both it and the remote + OAM entity have accepted the peering, the state moves to + operational(9) corresponding to the SEND_ANY state of the + Discovery state diagram [802.3ah, Figure 57-5]. + + Since Ethernet OAM functions are not designed to work + completely over half-duplex interfaces, the value + nonOperHalfDuplex(10) is returned whenever Ethernet OAM is + enabled (cdot3OamAdminState is enabled(1)) but the interface is + in half-duplex operation. "; + reference + "[802.3ah], 30.3.6.1.4, 30.3.6.1.10, 30.3.6.1.11"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.2"; + } + + leaf cdot3OamMode { + type enumeration { + enum "active" { + value "1"; + } + enum "passive" { + value "2"; + } + } + description + "This object configures the mode of OAM operation for this + Ethernet like interface. OAM on Ethernet interfaces may be in + 'active' mode or 'passive' mode. These two modes differ in + that active mode provides additional capabilities to initiate + monitoring activities with the remote OAM peer entity, while + passive mode generally waits for the peer to initiate OAM + actions with it. As an example, an active OAM entity can put + the remote OAM entity in a loopback state, where a passive OAM + entity cannot. + + The default value of cdot3OamMode is dependent on the type of + system on which this Ethernet like interface resides. The + default value should be 'active(1)' unless it is known that + this system should take on a subservient role to the other + device connected over this interface. + + Changing this value results in incrementing the configuration + revision field of locally generated OAMPDUs (30.3.6.1.12) and + potentially re-doing the OAM discovery process if the + cdot3OamOperStatus was already operational(9). "; + reference + "[802.3ah], 30.3.6.1.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.3"; + } + + leaf cdot3OamMaxOamPduSize { + type uint32 { + range "64..1518"; + } + units "octets"; + description + "The largest OAMPDU that the OAM entity supports. OAM + entities exchange maximum OAMPDU sizes and negotiate to use + the smaller of the two maximum OAMPDU sizes between the peers. + This value is determined by the local implementation. "; + reference + "[802.3ah], 30.3.6.1.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.4"; + } + + leaf cdot3OamConfigRevision { + type uint32 { + range "0..65535"; + } + description + "The configuration revision of the OAM entity as reflected in + the latest OAMPDU sent by the OAM entity. The config revision + is used by OAM entities to indicate configuration changes have + occurred which might require the peer OAM entity to + re-evaluate whether OAM peering is allowed. "; + reference + "[802.3ah], 30.3.6.1.12"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.5"; + } + + leaf cdot3OamFunctionsSupported { + type bits { + bit unidirectionalSupport { + position "0"; + } + bit loopbackSupport { + position "1"; + } + bit eventSupport { + position "2"; + } + bit variableSupport { + position "3"; + } + } + description + "The OAM functions supported on this Ethernet like interface. + OAM consists of separate functional sets beyond the basic + discovery process which is always required. These functional + groups can be supported independently by any implementation. + These values are communicated to the peer via the local + configuration field of Information OAMPDUs. + + Setting 'unidirectionalSupport(0)' indicates that the OAM + entity supports the transmission of OAMPDUs on links that are + operating in unidirectional mode (traffic flowing in one + direction only). Setting 'loopbackSupport(1)' indicates the + OAM entity can initiate and respond to loopback commands. + Setting 'eventSupport(2)' indicates the OAM entity can send + and receive Event Notification OAMPDUs. Setting + 'variableSupport(3)' indicates the OAM entity can send and + receive Variable Request and Response OAMPDUs. "; + reference + "[802.3ah], 30.3.6.1.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.1.1.6"; + } + } + } + + container cdot3OamPeerTable { + description + "This table contains information about the OAM peer for a + particular Ethernet like interface. OAM entities communicate + with a single OAM peer entity on Ethernet links on which OAM + is enabled and operating properly. There is one entry in this + table for each entry in the cdot3OamTable for which information + on the peer OAM entity is available. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2"; + + list cdot3OamPeerEntry { + key "ifIndex"; + description + "An entry in the table, containing information on the peer OAM + entity for a single Ethernet like interface. + + Note that there is at most one OAM peer for each Ethernet like + interface. Entries are automatically created when information + about the OAM peer entity becomes available, and automatically + deleted when the OAM peer entity is no longer in + communication. Peer information is not available when + cdot3OamOperStatus is disabled(1), linkFault(2), + passiveWait(3), activeSendLocal(4). or nonOperHalfDuplex(10)). "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamPeerMacAddress { + type yang:mac-address; + description + "The MAC address of the peer OAM entity. The MAC address is + derived from the most recently received OAMPDU."; + reference + "[802.3ah], 30.3.6.1.5."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.1"; + } + + leaf cdot3OamPeerVendorOui { + type CISCO-DOT3-OAM-MIB:Cdot3Oui; + description + "The OUI of the OAM peer as reflected in the latest + Information OAMPDU received with a Local Information TLV. The + OUI can be used to identify the vendor of the remote OAM + entity. This value is initialized to zero before any Local + Information TLV is received. "; + reference + "[802.3ah], 30.3.6.1.16."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.2"; + } + + leaf cdot3OamPeerVendorInfo { + type uint32; + description + "The Vendor Info of the OAM peer as reflected in the latest + Information OAMPDU received with a Local Information TLV. The + vendor information field is within the Local Information TLV, + and can be used to determine additional information about the + peer entity. The format of the vendor information is + unspecified within the 32-bit field. This value is + initialized to zero before any Local Information TLV is + received. "; + reference + "[802.3ah], 30.3.6.1.17."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.3"; + } + + leaf cdot3OamPeerMode { + type enumeration { + enum "active" { + value "1"; + } + enum "passive" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "The mode of the OAM peer as reflected in the latest + Information OAMPDU received with a Local Information TLV. The + mode of the peer can be determined from the Configuration + field in the Local Information TLV of the last Information + OAMPDU received from the peer. The value is unknown(3) + whenever no Local Information TLV has been received. The + values of active(1) and passive(2) are returned when a Local + Information TLV has been received indicating the peer is in + active or passive mode, respectively. "; + reference + "[802.3ah], 30.3.6.1.7."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.4"; + } + + leaf cdot3OamPeerMaxOamPduSize { + type uint32 { + range "0..1518"; + } + units "octets"; + description + "The maximum size of OAMPDU supported by the peer as reflected + in the latest Information OAMPDU received with a Local + Information TLV. Ethernet OAM on this interface must not use + OAMPDUs that exceed this size. The maximum OAMPDU size can be + determined from the PDU Configuration field of the Local + Information TLV of the last Information OAMPDU received from + the peer. A value of zero is returned if no Local Information + TLV has been received. Otherwise, the value of the OAM peer's + maximum OAMPDU size is returned in this value. + Note that the values 1..63 are invalid sizes for Ethernet + frames and should never appear. "; + reference + "[802.3ah], 30.3.6.1.9."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.5"; + } + + leaf cdot3OamPeerConfigRevision { + type uint32 { + range "0..65535"; + } + description + "The configuration revision of the OAM peer as reflected in + the latest OAMPDU. This attribute is changed by the peer + whenever it has a local configuration change for Ethernet OAM + this interface. The configuration revision can be determined + from the Revision field of the Local Information TLV of the + most recently received Information OAMPDU with a Local + Information TLV. A value of zero is returned if no Local + Information TLV has been received. "; + reference + "[802.3ah], 30.3.6.1.13."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.6"; + } + + leaf cdot3OamPeerFunctionsSupported { + type bits { + bit unidirectionalSupport { + position "0"; + } + bit loopbackSupport { + position "1"; + } + bit eventSupport { + position "2"; + } + bit variableSupport { + position "3"; + } + } + description + "The OAM functions supported on this Ethernet like interface. + OAM consists of separate functionality sets above the basic + discovery process. This value indicates the capabilities of + the peer OAM entity with respect to these functions. This + value is initialized so all bits are clear. + + If unidirectionalSupport(0) is set, then the peer OAM entity + supports sending OAM frames on Ethernet interfaces when the + receive path is known to be inoperable. If + loopbackSupport(1) is set, then the peer OAM entity can send + and receive OAM loopback commands. If eventSupport(2) is set, + then the peer OAM entity can send and receive event OAMPDUs to + signal various error conditions. If variableSupport(3) is set, + then the peer OAM entity can send and receive variable + requests to monitor attribute value as described in Clause 57 + of [802.3ah]. + + The capabilities of the OAM peer can be determined from the + configuration field of the Local Information TLV of the most + recently received Information OAMPDU with a Local Information + TLV. All zeros are returned if no Local Information TLV has + yet been received. "; + reference + "[802.3ah], REFERENCE 30.3.6.1.7."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.2.1.7"; + } + } + } + + container cdot3OamLoopbackTable { + description + "This table contains controls for the loopback state of the + local link as well as indicating the status of the loopback + function. There is one entry in this table for each entry in + cdot3OamTable that supports loopback functionality (where + cdot3OamFunctionsSupported includes the loopbackSupport bit + set). + + Loopback can be used to place the remote OAM entity in a state + where every received frame (except OAMPDUs) is echoed back + over the same interface on which they were received. In this + state, at the remote entity, 'normal' traffic is disabled as + only the looped back frames are transmitted on the interface. + Loopback is thus an intrusive operation that prohibits normal + data flow and should be used accordingly. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.3"; + + list cdot3OamLoopbackEntry { + key "ifIndex"; + description + "An entry in the table, containing information on the loopback + status for a single Ethernet like interface. Entries in the + table are automatically created whenever the local OAM entity + supports loopback capabilities. The loopback status on the + interface can be determined from the cdot3OamLoopbackStatus + object. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamLoopbackStatus { + type enumeration { + enum "noLoopback" { + value "1"; + } + enum "initiatingLoopback" { + value "2"; + } + enum "remoteLoopback" { + value "3"; + } + enum "terminatingLoopback" { + value "4"; + } + enum "localLoopback" { + value "5"; + } + enum "unknown" { + value "6"; + } + } + description + "The loopback status of the OAM entity. This status is + determined by a combination of the local parser and + multiplexer states, the remote parser and multiplexer states, + as well as by the actions of the local OAM client. When + operating in normal mode with no loopback in progress, the + status reads noLoopback(1). + + The values initiatingLooopback(2) and terminatingLoopback(4) + can be read or written. The other values can only be read - + they can never be written. Writing initiatingLoopback causes + the local OAM entity to start the loopback process with its + peer. This value can only be written when the status is + noLoopback(1). Writing the value initiatingLoopback(2) in any + other state has no effect. When in remoteLoopback(3), writing + terminatingLoopback(4) causes the local OAM entity to initiate + the termination of the loopback state. Writing + terminatingLoopack(4) in any other state has no effect. + If the OAM client initiates a looopback and has sent an + Loopback OAMPDU and is waiting for a response, where the local + parser and multiplexer states are DISCARD (see [802.3ah, + 57.2.11.1]), the status is 'initiatingLoopback'. In this + case, the local OAM entity has yet to receive any + acknowledgement that the remote OAM entity has received its + loopback command request. + + If the local OAM client knows that the remote OAM entity is in + loopback mode (via the remote state information as described + in [802.3ah, 57.2.11.1, 30.3.6.1.15]), the status is + remoteLoopback(3). If the local OAM client is in the process + of terminating the remote loopback [802.3ah, 57.2.11.3, + 30.3.6.1.14], with its local multiplexer and parser states in + DISCARD, the status is terminatingLoopback(4). If the remote + OAM client has put the local OAM entity in loopback mode as + indicated by its local parser state, the status is + localLoopback(5). + + The unknown(6) status indicates the parser and multiplexer + combination is unexpected. This status may be returned if the + OAM loopback is in a transition state but should not persist. + + The values of this attribute correspond to the following + values of the local and remote parser and multiplexer states. + + value LclPrsr LclMux RmtPrsr RmtMux + noLoopback FWD FWD FWD FWD + initLoopback DISCARD DISCARD FWD FWD + rmtLoopback DISCARD FWD LPBK DISCARD + tmtngLoopback DISCARD DISCARD LPBK DISCARD + lclLoopback LPBK DISCARD DISCARD FWD + unknown *** any other combination ***"; + reference + "[802.3ah], REFERENCE 57.2.11, 30.3.61.14, + 30.3.6.1.15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.3.1.1"; + } + + leaf cdot3OamLoopbackIgnoreRx { + type enumeration { + enum "ignore" { + value "1"; + } + enum "process" { + value "2"; + } + } + description + "Since OAM loopback is a disruptive operation (user traffic + does not pass), this attribute provides a mechanism to provide + controls over whether received OAM loopback commands are + processed or ignored. When the value is ignore(1), received + loopback commands are ignored. When the value is process(2), + OAM loopback commands are processed. The default value is to + ignore loopback commands (ignore(1)). "; + reference + "[802.3ah], REFERENCE 57.2.11, 30.3.61.14, + 30.3.6.1.15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.3.1.2"; + } + } + } + + container cdot3OamStatsTable { + description + "This table contains statistics for the OAM function on a + particular Ethernet like interface. There is an entry in the + table for every entry in the cdot3OamTable. + + The counters in this table are defined as 32-bit entries to + match the counter size as defined in [802.3ah]. Given the OAM + protocol is a slow protocol, the counters increment at a slow + rate. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4"; + + list cdot3OamStatsEntry { + key "ifIndex"; + description + "An entry in the table, containing statistics information on + the Ethernet OAM function for a single Ethernet like + interface. Entries are automatically created for every entry + in the cdot3OamTable. Counters are maintained across + transitions in cdot3OamOperStatus. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamInformationTx { + type yang:counter32; + units "frames"; + description + "A count of the number of Information OAMPDUs transmitted on + this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.20."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.1"; + } + + leaf cdot3OamInformationRx { + type yang:counter32; + units "frames"; + description + "A count of the number of Information OAMPDUs received on this + interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.21."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.2"; + } + + leaf cdot3OamUniqueEventNotificationTx { + type yang:counter32; + units "frames"; + description + "A count of the number of unique Event OAMPDUs transmitted on + this interface. Event notifications may be sent in duplicate + to increase the probability of successfully being received, + given the possibility that a frame may be lost in transit. + Duplicate Event Notification transmissions are counted by + cdot3OamDuplicateEventNotificationTx. + + A unique Event Notification OAMPDU is indicated as an Event + Notification OAMPDU with a Sequence Number field that is + distinct from the previously transmitted Event Notification + OAMPDU Sequence Number. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.22."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.3"; + } + + leaf cdot3OamUniqueEventNotificationRx { + type yang:counter32; + units "frames"; + description + "A count of the number of unique Event OAMPDUs received on + this interface. Event notification OAMPDUs may be sent in + duplicate to increase the probability of successfully being + received, given the possibility that a frame may be lost in + transit. Duplicate Event Notification receptions are counted + by cdot3OamDuplicateEventNotificationRx. + + A unique Event Notification OAMPDU is indicated as an Event + Notification OAMPDU with a Sequence Number field that is + distinct from the previously received Event Notification + OAMPDU Sequence Number. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.24."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.4"; + } + + leaf cdot3OamDuplicateEventNotificationTx { + type yang:counter32; + units "frames"; + description + "A count of the number of duplicate Event OAMPDUs transmitted + on this interface. Event notification OAMPDUs may be sent in + duplicate to increase the probability of successfully being + received, given the possibility that a frame may be lost in + transit. + + A duplicate Event Notification OAMPDU is indicated as an Event + Notification OAMPDU with a Sequence Number field that is + identical to the previously transmitted Event Notification + OAMPDU Sequence Number. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.23."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.5"; + } + + leaf cdot3OamDuplicateEventNotificationRx { + type yang:counter32; + units "frames"; + description + "A count of the number of duplicate Event OAMPDUs received on + this interface. Event notification OAMPDUs may be sent in + duplicate to increase the probability of successfully being + received, given the possibility that a frame may be lost in + transit. + + A duplicate Event Notification OAMPDU is indicated as an Event + Notification OAMPDU with a Sequence Number field that is + identical to the previously received Event Notification OAMPDU + Sequence Number. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.25."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.6"; + } + + leaf cdot3OamLoopbackControlTx { + type yang:counter32; + units "frames"; + description + "A count of the number of Loopback Control OAMPDUs transmitted + on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.26."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.7"; + } + + leaf cdot3OamLoopbackControlRx { + type yang:counter32; + units "frames"; + description + "A count of the number of Loopback Control OAMPDUs received + on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.27."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.8"; + } + + leaf cdot3OamVariableRequestTx { + type yang:counter32; + units "frames"; + description + "A count of the number of Variable Request OAMPDUs transmitted + on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.28."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.9"; + } + + leaf cdot3OamVariableRequestRx { + type yang:counter32; + units "frames"; + description + "A count of the number of Variable Request OAMPDUs received on + this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.29."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.10"; + } + + leaf cdot3OamVariableResponseTx { + type yang:counter32; + units "frames"; + description + "A count of the number of Variable Response OAMPDUs + transmitted on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.30."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.11"; + } + + leaf cdot3OamVariableResponseRx { + type yang:counter32; + units "frames"; + description + "A count of the number of Variable Response OAMPDUs received + on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.31."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.12"; + } + + leaf cdot3OamOrgSpecificTx { + type yang:counter32; + units "frames"; + description + "A count of the number of Organization Specific OAMPDUs + transmitted on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.32."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.13"; + } + + leaf cdot3OamOrgSpecificRx { + type yang:counter32; + units "frames"; + description + "A count of the number of Organization Specific OAMPDUs + received on this interface. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.33."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.14"; + } + + leaf cdot3OamUnsupportedCodesTx { + type yang:counter32; + units "frames"; + description + "A count of the number of OAMPDUs transmitted on this + interface with an unsupported op-code. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.18."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.15"; + } + + leaf cdot3OamUnsupportedCodesRx { + type yang:counter32; + units "frames"; + description + "A count of the number of OAMPDUs received on this interface + with an unsupported op-code. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.19."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.16"; + } + + leaf cdot3OamFramesLostDueToOam { + type yang:counter32; + units "frames"; + description + "A count of the number of frames that were dropped by the OAM + multiplexer. Since the OAM multiplexer has multiple inputs + and a single output, there may be cases where frames are + dropped due to transmit resource contention. This counter is + incremented whenever a frame is dropped by the OAM layer. + Note that any Ethernet frame, not just OAMPDUs, may be dropped + by the OAM layer. This can occur when an OAMPDU takes + precedence over a 'normal' frame resulting in the 'normal' + frame being dropped. + + When this counter is incremented, no other counters in this + MIB are incremented. + + Discontinuities of this counter can occur at re-initialization + of the management system, and at other times as indicated by + the value of the ifCounterDiscontinuityTime. "; + reference + "[802.3ah], 30.3.6.1.46."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.4.1.17"; + } + } + } + + container cdot3OamEventConfigTable { + description + "Ethernet OAM includes the ability to generate and receive + Event Notification OAMPDUs to indicate various link problems. + This table contains the mechanisms to enable Event + Notifications and configure the thresholds to generate the + standard Ethernet OAM events. There is one entry in the table + for every entry in cdot3OamTable that supports OAM events + (where cdot3OamFunctionsSupported includes the eventSupport + bit set). The values in the table are maintained across + changes to cdot3OamOperStatus. + + The standard threshold crossing events are: + - Errored Symbol Period Event. Generated when the number of + symbol errors exceeds a threshold within a given window + defined by a number of symbols (for example, 1,000 symbols + out of 1,000,000 had errors). + - Errored Frame Period Event. Generated when the number of + frame errors exceeds a threshold within a given window + defined by a number of frames (for example, 10 frames out + of 1000 had errors). + - Errored Frame Event. Generated when the number of frame + errors exceeds a threshold within a given window defined + by a period of time (for example, 10 frames in 1 second + had errors). + - Errored Frame Seconds Summary Event. Generated when the + number of errored frame seconds exceeds a threshold within + a given time period (for example, 10 errored frame seconds + within the last 100 seconds). An errored frame second is + defined as a 1 second interval which had >0 frame errors. + There are other events (dying gasp, critical events) that are + not threshold crossing events but which can be + enabled/disabled via this table. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5"; + + list cdot3OamEventConfigEntry { + key "ifIndex"; + description + "Entries are automatically created and deleted from this + table, and exist whenever the OAM entity supports Ethernet OAM + events (as indicated by the eventSupport bit in + cdot3OamFunctionsSuppported). Values in the table are + maintained across changes to the value of cdot3OamOperStatus. + + Event configuration controls when the local management entity + sends Event Notification OAMPDUs to its OAM peer, and when + certain event flags are set or cleared in OAMPDUs. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamErrSymPeriodWindowHi { + type uint32; + units "2^32 symbols"; + description + "The two objects cdot3OamErrSymPeriodWindowHi and + cdot3OamErrSymPeriodLo together form an unsigned 64-bit + integer representing the number of symbols over which this + threshold event is defined. This is defined as + + cdot3OamErrSymPeriodWindow = ((2^32)*cdot3OamErrSymPeriodWindowHi) + + cdot3OamErrSymPeriodWindowLo + + If cdot3OamErrSymPeriodThreshold symbol errors occur within a + window of cdot3OamErrSymPeriodWindow symbols, an Event + Notification OAMPDU should be generated with an Errored Symbol + Period Event TLV indicating the threshold has been crossed in + this window. + + The default value for cdot3OamErrSymPeriodWindow is the number + of symbols in one second for the underlying physical layer."; + reference + "[802.3ah], 30.3.6.1.34"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.1"; + } + + leaf cdot3OamErrSymPeriodWindowLo { + type uint32; + units "symbols"; + description + "The two objects cdot3OamErrSymPeriodWindowHi and + cdot3OamErrSymPeriodWindowLo together form an unsigned 64-bit + integer representing the number of symbols over which this + threshold event is defined. This is defined as + + cdot3OamErrSymPeriodWindow = ((2^32)*cdot3OamErrSymPeriodWindowHi) + + cdot3OamErrSymPeriodWindowLo + + If cdot3OamErrSymPeriodThreshold symbol errors occur within a + window of cdot3OamErrSymPeriodWindow symbols, an Event + Notification OAMPDU should be generated with an Errored Symbol + Period Event TLV indicating the threshold has been crossed in + this window. + + The default value for cdot3OamErrSymPeriodWindow is the number + of symbols in one second for the underlying physical layer. "; + reference + "[802.3ah], 30.3.6.1.34"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.2"; + } + + leaf cdot3OamErrSymPeriodThresholdHi { + type uint32; + units "2^32 symbols"; + description + "The two objects cdot3OamErrSymPeriodThresholdHi and + cdot3OamErrSymPeriodThresholdLo together form an unsigned + 64-bit integer representing the number of symbol errors that + must occur within a given window to cause this event. + + This is defined as + + cdot3OamErrSymPeriodThreshold = + ((2^32) * cdot3OamErrSymPeriodThresholdHi) + + cdot3OamErrSymPeriodThresholdLo + + If cdot3OamErrSymPeriodThreshold symbol errors occur within a + window of cdot3OamErrSymPeriodWindow symbols, an Event + Notification OAMPDU should be generated with an Errored Symbol + Period Event TLV indicating the threshold has been crossed in + this window. + + The default value for cdot3OamErrSymPeriodThreshold is one + symbol errors. If the threshold value is zero, then an Event + Notification OAMPDU is sent periodically (at the end of every + window). This can be used as an asynchronous notification to + the peer OAM entity of the statistics related to this + threshold crossing alarm. "; + reference + "[802.3ah], 30.3.6.1.34"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.3"; + } + + leaf cdot3OamErrSymPeriodThresholdLo { + type uint32; + units "symbols"; + description + "The two objects cdot3OamErrSymPeriodThresholdHi and + cdot3OamErrSymPeriodThresholdLo together form an unsigned + 64-bit integer representing the number of symbol errors that + must occur within a given window to cause this event. + + This is defined as + + cdot3OamErrSymPeriodThreshold = + ((2^32) * cdot3OamErrSymPeriodThresholdHi) + + cdot3OamErrSymPeriodThresholdLo + + If cdot3OamErrSymPeriodThreshold symbol errors occur within a + window of cdot3OamErrSymPeriodWindow symbols, an Event + Notification OAMPDU should be generated with an Errored Symbol + Period Event TLV indicating the threshold has been crossed in + this window. + + The default value for cdot3OamErrSymPeriodThreshold is one + symbol error. If the threshold value is zero, then an Event + Notification OAMPDU is sent periodically (at the end of every + window). This can be used as an asynchronous notification to + the peer OAM entity of the statistics related to this + threshold crossing alarm. "; + reference + "[802.3ah], 30.3.6.1.34"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.4"; + } + + leaf cdot3OamErrSymPeriodEvNotifEnable { + type boolean; + description + "If true, the OAM entity should send an Event Notification + OAMPDU when an Errored Symbol Period Event occurs. + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.5"; + } + + leaf cdot3OamErrFramePeriodWindow { + type uint32; + units "frames"; + description + "The number of frames over which the threshold is defined. + The default value of the window is the number of minimum size + Ethernet frames that can be received over the physical layer + in one second. + + If cdot3OamErrFramePeriodThreshold frame errors occur within a + window of cdot3OamErrFramePeriodWindow frames, an Event + Notification OAMPDU should be generated with an Errored Frame + Period Event TLV indicating the threshold has been crossed in + this window. "; + reference + "[802.3ah], 30.3.6.1.38"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.6"; + } + + leaf cdot3OamErrFramePeriodThreshold { + type uint32; + units "frames"; + description + "The number of frame errors that must occur for this event to + be triggered. The default value is one frame error. If the + threshold value is zero, then an Event Notification OAMPDU is + sent periodically (at the end of every window). This can be + used as an asynchronous notification to the peer OAM entity of + the statistics related to this threshold crossing alarm. + + If cdot3OamErrFramePeriodThreshold frame errors occur within a + window of cdot3OamErrFramePeriodWindow frames, an Event + Notification OAMPDU should be generated with an Errored Frame + Period Event TLV indicating the threshold has been crossed in + this window. "; + reference + "[802.3ah], 30.3.6.1.38"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.7"; + } + + leaf cdot3OamErrFramePeriodEvNotifEnable { + type boolean; + description + "If true, the OAM entity should send an Event Notification + OAMPDU when an Errored Frame Period Event occurs. + + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.8"; + } + + leaf cdot3OamErrFrameWindow { + type uint32; + units "tenths of a second"; + description + "The amount of time (in 100ms increments) over which the + threshold is defined. The default value is 10 (1 second). + + If cdot3OamErrFrameThreshold frame errors occur within a window + of cdot3OamErrFrameWindow seconds (measured in tenths of + seconds), an Event Notification OAMPDU should be generated + with an Errored Frame Event TLV indicating the threshold has + been crossed in this window. "; + reference + "[802.3ah], 30.3.6.1.36"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.9"; + } + + leaf cdot3OamErrFrameThreshold { + type uint32; + units "frames"; + description + "The number of frame errors that must occur for this event to + be triggered. The default value is one frame error. If the + threshold value is zero, then an Event Notification OAMPDU is + sent periodically (at the end of every window). This can be + used as an asynchronous notification to the peer OAM entity of + the statistics related to this threshold crossing alarm. + + If cdot3OamErrFrameThreshold frame errors occur within a window + of cdot3OamErrFrameWindow (in tenths of seconds), an Event + Notification OAMPDU should be generated with an Errored Frame + Event TLV indicating the threshold has been crossed in this + window. "; + reference + "[802.3ah], 30.3.6.1.36"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.10"; + } + + leaf cdot3OamErrFrameEvNotifEnable { + type boolean; + description + "If true, the OAM entity should send an Event Notification + OAMPDU when an Errored Frame Event occurs. + + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.11"; + } + + leaf cdot3OamErrFrameSecsSummaryWindow { + type int32 { + range "100..9000"; + } + units "tenths of a second"; + description + "The amount of time (in 100ms intervals) over which the + threshold is defined. The default value is 100 (10 seconds). + + If cdot3OamErrFrameSecsSummaryThreshold frame errors occur + within a window of cdot3OamErrFrameSecsSummaryWindow (in tenths + of seconds), an Event Notification OAMPDU should be generated + with an Errored Frame Seconds Summary Event TLV indicating the + threshold has been crossed in this window. "; + reference + "[802.3ah], 30.3.6.1.40"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.12"; + } + + leaf cdot3OamErrFrameSecsSummaryThreshold { + type int32 { + range "1..900"; + } + units "errored frame seconds"; + description + "The number of errored frame seconds that must occur for this + event to be triggered. The default value is one errored frame + second. If the threshold value is zero, then an Event + Notification OAMPDU is sent periodically (at the end of every + window). This can be used as an asynchronous notification to + the peer OAM entity of the statistics related to this + threshold crossing alarm. + + If cdot3OamErrFrameSecsSummaryThreshold frame errors occur + within a window of cdot3OamErrFrameSecsSummaryWindow (in tenths + of seconds), an Event Notification OAMPDU should be generated + with an Errored Frame Seconds Summary Event TLV indicating the + threshold has been crossed in this window. "; + reference + "[802.3ah], 30.3.6.1.40"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.13"; + } + + leaf cdot3OamErrFrameSecsEvNotifEnable { + type boolean; + description + "If true, the local OAM entity should send an Event + Notification OAMPDU when an Errored Frame Seconds Event + occurs. + + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.14"; + } + + leaf cdot3OamDyingGaspEnable { + type boolean; + description + "If true, the local OAM entity should attempt to indicate a + dying gasp via the OAMPDU flags field to its peer OAM entity + when a dying gasp event occurs. The exact definition of a + dying gasp event is implementation dependent. If the system + does not support dying gasp capability, setting this object + has no effect, and reading the object should always result in + 'false'. + + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.15"; + } + + leaf cdot3OamCriticalEventEnable { + type boolean; + description + "If true, the local OAM entity should attempt to indicate a + critical event via the OAMPDU flags to its peer OAM entity + when a critical event occurs. The exact definition of a + critical event is implementation dependent. If the system + does not support critical event capability, setting this + object has no effect, and reading the object should always + result in 'false'. + + By default, this object should have the value true for + Ethernet like interfaces that support OAM. If the OAM layer + does not support event notifications (as indicated via the + cdot3OamFunctionsSupported attribute), this value is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.5.1.16"; + } + } + } + + container cdot3OamEventLogTable { + description + "This table records a history of the events that have occurred + at the Ethernet OAM level. These events can include locally + detected events, which may result in locally generated + OAMPDUs, and remotely detected events, which are detected by + the OAM peer entity and signaled to the local entity via + Ethernet OAM. Ethernet OAM events can be signaled by Event + Notification OAMPDUs or by the flags field in any OAMPDU. + + This table contains both threshold crossing events and + non-threshold crossing events. The parameters for the + threshold window, threshold value, and actual value + (cdot3OamEventLogWindowXX, cdot3OamEventLogThresholdXX, + cdot3OamEventLogValue) are only applicable to threshold + crossing events, and are returned as all F's (2^32 - 1) for + non-threshold crossing events. + Entries in the table are automatically created when such + events are detected. The size of the table is implementation + dependent. When the table reaches its maximum size, older + entries are automatically deleted to make room for newer + entries. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6"; + + list cdot3OamEventLogEntry { + key "ifIndex cdot3OamEventLogIndex"; + description + "An entry in the cdot3OamEventLogTable. Entries are + automatically created whenever Ethernet OAM events occur at + the local OAM entity, and when Event Notification OAMPDUs are + received at the local OAM entity (indicating events have + occurred at the peer OAM entity). The size of the table is + implementation dependent, but when the table becomes full, + older events are automatically deleted to make room for newer + events. The table index cdot3OamEventLogIndex increments for + each new entry, and when the maximum value is reached the + value restarts at zero. "; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type uint32; + description + "An arbitrary integer for identifying individual events + within the event log. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.1"; + } + + leaf cdot3OamEventLogTimestamp { + type yang:timestamp; + description + "The value of sysUpTime at the time of the logged event. For + locally generated events, the time of the event can be + accurately retrieved from sysUpTime. For remotely generated + events, the time of the event is indicated by the reception of + the Event Notification OAMPDU indicating the event occurred on + the peer. A system may attempt to adjust the timestamp value + to more accurately reflect the time of the event at the peer + OAM entity by using other information, such as that found in + the timestamp found of the Event Notification TLVs, which + provides an indication of the relative time between events at + the peer entity. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.2"; + } + + leaf cdot3OamEventLogOui { + type CISCO-DOT3-OAM-MIB:Cdot3Oui; + description + "The OUI of the entity defining the object type. All IEEE + 802.3 defined events (as appearing in [802.3ah] except for the + Organizationally Unique Event TLVs) use the IEEE 802.3 OUI of + 0x0180C2. Organizations defining their own Event Notification + TLVs include their OUI in the Event Notification TLV which + gets reflected here. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.3"; + } + + leaf cdot3OamEventLogType { + type uint32; + description + "The type of event that generated this entry in the event log. + + When the OUI is the IEEE 802.3 OUI of 0x0180C2, the following + event types are defined: + erroredSymbolEvent(1), + erroredFramePeriodEvent (2), + erroredFrameEvent(3), + erroredFrameSecondsEvent(4), + linkFault(256), + dyingGaspEvent(257), + criticalLinkEvent(258) + The first four are considered threshold crossing events as + they are generated when a metric exceeds a given value within + a specified window. The other three are not threshold + crossing events. + + When the OUI is not 71874 (0x0180C2 in hex), then some other + organization has defined the event space. If event subtyping + is known to the implementation, it may be reflected here. + Otherwise, this value should return all Fs (2^32 - 1). "; + reference + "[802.3ah], 30.3.6.1.10 and 57.5.3."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.4"; + } + + leaf cdot3OamEventLogLocation { + type enumeration { + enum "local" { + value "1"; + } + enum "remote" { + value "2"; + } + } + description + "Whether this event occurred locally (local(1)), or was + received from the OAM peer via Ethernet OAM (remote(2))."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.5"; + } + + leaf cdot3OamEventLogWindowHi { + type uint32; + description + "If the event represents a threshold crossing event, the two + objects cdot3OamEventWindowHi and cdot3OamEventWindowLo form an + unsigned 64-bit integer yielding the window over which the + value was measured for the threshold crossing event (for + example, 5, when 11 occurrences happened in 5 seconds while + the threshold was 10). The two objects are combined as: + + cdot3OamEventLogWindow = ((2^32) * cdot3OamEventLogWindowHi) + + cdot3OamEventLogWindowLo + + + Otherwise, this value is returned as all F's (2^32 - 1) and + adds no useful information. "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.6"; + } + + leaf cdot3OamEventLogWindowLo { + type uint32; + description + "If the event represents a threshold crossing event, the two + objects cdot3OamEventWindowHi and cdot3OamEventWindowLo form an + unsigned 64-bit integer yielding the window over which the + value was measured for the threshold crossing event (for + example, 5, when 11 occurrences happened in 5 seconds while + the threshold was 10). The two objects are combined as: + + cdot3OamEventLogWindow = ((2^32) * cdot3OamEventLogWindowHi) + + cdot3OamEventLogWindowLo + + Otherwise, this value is returned as all F's (2^32 - 1) and + adds no useful information. "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.7"; + } + + leaf cdot3OamEventLogThresholdHi { + type uint32; + description + "If the event represents a threshold crossing event, the two + objects cdot3OamEventThresholdHi and cdot3OamEventThresholdLo + form an unsigned 64-bit integer yielding the value that was + crossed for the threshold crossing event (for example, 10, + when 11 occurrences happened in 5 seconds while the threshold + was 10). The two objects are combined as: + + cdot3OamEventLogThreshold = ((2^32) * cdot3OamEventLogThresholdHi) + + cdot3OamEventLogThresholdLo + + Otherwise, this value is returned as all F's (2^32 -1) and + adds no useful information. "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.8"; + } + + leaf cdot3OamEventLogThresholdLo { + type uint32; + description + "If the event represents a threshold crossing event, the two + objects cdot3OamEventThresholdHi and cdot3OamEventThresholdLo + form an unsigned 64-bit integer yielding the value that was + crossed for the threshold crossing event (for example, 10, + when 11 occurrences happened in 5 seconds while the threshold + was 10). The two objects are combined as: + + cdot3OamEventLogThreshold = ((2^32) * cdot3OamEventLogThresholdHi) + + cdot3OamEventLogThresholdLo + + Otherwise, this value is returned as all F's (2^32 - 1) and + adds no useful information. "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.9"; + } + + leaf cdot3OamEventLogValue { + type yang:gauge64; + description + "If the event represents a threshold crossing event, this + value indicates the value of the parameter within the given + window that generated this event (for example, 11, when 11 + occurrences happened in 5 seconds while the threshold was 10). + + Otherwise, this value is returned as all F's + (2^64 - 1) and adds no useful information. "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.10"; + } + + leaf cdot3OamEventLogRunningTotal { + type yang:gauge64; + description + "Each Event Notification TLV contains a running total of the + number of times an event has occurred, as well as the number + of times an Event Notification for the event has been + transmitted. For non-threshold crossing events, the number of + events (cdot3OamLogRunningTotal) and the number of resultant + Event Notifications (cdot3OamLogEventTotal) should be + identical. + + For threshold crossing events, since multiple occurrences may + be required to cross the threshold, these values are likely + different. This value represents the total number of times + this event has happened since the last reset (for example, + 3253, when 3253 symbol errors have occurred since the last + reset, which has resulted in 51 symbol error threshold + crossing events since the last reset). "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.11"; + } + + leaf cdot3OamEventLogEventTotal { + type uint32; + description + "Each Event Notification TLV contains a running total of the + number of times an event has occurred, as well as the number + of times an Event Notification for the event has been + transmitted. For non-threshold crossing events, the number of + events (cdot3OamLogRunningTotal) and the number of resultant + Event Notifications (cdot3OamLogEventTotal) should be + identical. + + For threshold crossing events, since multiple occurrences may + be required to cross the threshold, these values are likely + different. This value represents the total number of times + one or more of these occurrences have resulted in an Event + Notification (for example, 51 when 3253 symbol errors have + occurred since the last reset, which has resulted in 51 symbol + error threshold crossing events since the last reset). "; + reference + "[802.3ah], 30.3.6.1.37 and 57.5.3.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.136.1.6.1.12"; + } + } + } + } + + notification cdot3OamThresholdEvent { + description + "A cdot3OamThresholdEvent notification is sent when a local or + remote threshold crossing event is detected. A local + threshold crossing event is detected by the local entity, + while a remote threshold crossing event is detected by the + reception of an Ethernet OAM Event Notification OAMPDU + indicating a threshold event. + + This notification should not be sent more than once per + second. + + The OAM entity can be derived from extracting the ifIndex from + the variable bindings. The objects in the notification + correspond to the values in a row instance of in the + cdot3OamEventLogTable. + + The management entity should periodically check + cdot3OamEventLogTable to detect any missed events."; + smiv2:oid "1.3.6.1.4.1.9.10.136.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogTimestamp { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTimestamp"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogOui { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogOui"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogType { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogType"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogLocation { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogLocation"; + } + } + } + + container object-5 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogWindowHi { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogWindowHi"; + } + } + } + + container object-6 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogWindowLo { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogWindowLo"; + } + } + } + + container object-7 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogThresholdHi { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogThresholdHi"; + } + } + } + + container object-8 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogThresholdLo { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogThresholdLo"; + } + } + } + + container object-9 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogValue { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogValue"; + } + } + } + + container object-10 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogRunningTotal { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogRunningTotal"; + } + } + } + + container object-11 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogEventTotal { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEventTotal"; + } + } + } + } + + notification cdot3OamNonThresholdEvent { + description + "A cdot3OamNonThresholdEvent notification is sent when a local + or remote non-threshold crossing event is detected. A local + event is detected by the local entity, while a remote event is + detected by the reception of an Ethernet OAM Event + Notification OAMPDU indicating a non-threshold crossing event. + + This notification should not be sent more than once per + second. + + The OAM entity can be derived from extracting the ifIndex from + the variable bindings. The objects in the notification + correspond to the values in a row instance of the + cdot3OamEventLogTable. + + The management entity should periodically check + cdot3OamEventLogTable to detect any missed events."; + smiv2:oid "1.3.6.1.4.1.9.10.136.0.2"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogTimestamp { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTimestamp"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogOui { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogOui"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogType { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogType"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogLocation { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogLocation"; + } + } + } + + container object-5 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cdot3OamEventLogIndex { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogIndex"; + } + } + + leaf cdot3OamEventLogEventTotal { + type leafref { + path "/CISCO-DOT3-OAM-MIB:CISCO-DOT3-OAM-MIB/CISCO-DOT3-OAM-MIB:cdot3OamEventLogTable/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEntry/CISCO-DOT3-OAM-MIB:cdot3OamEventLogEventTotal"; + } + } + } + } + + smiv2:alias "cdot3OamMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.136"; + } + + smiv2:alias "cdot3OamNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.136.0"; + } + + smiv2:alias "cdot3OamObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.136.1"; + } + + smiv2:alias "cdot3OamConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.136.2"; + } + + smiv2:alias "cdot3OamGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.136.2.1"; + } + + smiv2:alias "cdot3OamCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.136.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-MIB.yang new file mode 100644 index 000000000..8d5039d70 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-MIB.yang @@ -0,0 +1,3256 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-DYNAMIC-TEMPLATE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-DYNAMIC-TEMPLATE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-DYNAMIC-TEMPLATE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB"; + prefix CISCO-DYNAMIC-TEMPLATE-MIB; + + import CISCO-CBP-TC-MIB { + prefix "cisco-cbp"; + } + + import CISCO-DYNAMIC-TEMPLATE-TC-MIB { + prefix "cisco-dynamic"; + } + + import CISCO-IP-URPF-MIB { + prefix "cisco-ip"; + } + + import CISCO-TC { + prefix "cisco-tc"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB defines objects that describe dynamic templates. A + dynamic template is a set of configuration attributes that a + system can dynamically apply to a target. + + The target of a dynamic template is the entity configured by the + system using the configuration attributes contained by a + template. At the time of this writing, an interface represents + the only valid target of a dynamic template. However, the + architecture does not prevent other target types, and hence, the + MIB definition generalizes the notion of a target to allow for + this. + + Generally, the system does not directly apply the attributes + contained by a dynamic template to an associated + target. The system might generate a derived configuration from + the set of dynamic templates associated with the target. A + derived configuration represents the union of the configuration + attributes contained by each associated dynamic template. In + the case of a conflict (i.e., more than one dynamic template + specifies the same configuration attribute), the system accepts + the configuration attribute from the dynamic template with the + highest precedence."; + + revision 2007-09-06 { + description + "The initial version of the MIB module."; + } + + + container CISCO-DYNAMIC-TEMPLATE-MIB { + config false; + + container cdtTemplateTable { + description + "This table lists the dynamic templates maintained by the + system, including those that have been locally-configured on the + system and those pushed to the system by external policy + servers."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1"; + + list cdtTemplateEntry { + key "cdtTemplateName"; + description + "An entry describes a dynamic template, which serves as a + container for configuration attributes. The configuration + attributes contained by a dynamic template depends on its type. + + The system automatically creates a corresponding entry when a + dynamic template has been created through another management + entity (e.g., the system's local console). Likewise, the system + automatically destroys a corresponding entry when a dynamic + template has been destroyed through another management entity. + + The system automatically creates a corresponding entry when an + external policy server pushes a user profile or a service + profile to the system. + + The system automatically creates a corresponding entry when it + generates a derived configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1"; + + leaf cdtTemplateName { + type cisco-dynamic:DynamicTemplateName; + description + "This object indicates a string-value that uniquely identifies + the dynamic template. + + If the corresponding instance of cdtTemplateSrc is not + 'local', then the system automatically generates the name + identifying the dynamic template."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.1"; + } + + leaf cdtTemplateStatus { + type snmpv2-tc:RowStatus; + description + "This object specifies the status of the dynamic template. The + following columns must be valid before activating a dynamic + template: + + - cdtTemplateStorage + - cdtTemplateType + + However, these objects specify a default value. Thus, it is + possible to use create-and-go semantics without setting any + additional columns. + + An implementation must allow the EMS/NMS to modify any column + when this column is 'active', including columns defined in + tables that have a one-to-one or sparse dependent relationship + on this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.2"; + } + + leaf cdtTemplateStorage { + type snmpv2-tc:StorageType; + description + "This object specifies what happens to the dynamic template + upon restart. + + If the corresponding instance of cdtTemplateSrc is not + 'local', then this column must be 'volatile'."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.3"; + } + + leaf cdtTemplateType { + type cisco-dynamic:DynamicTemplateType; + description + "This object indicates the types of dynamic template."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.4"; + } + + leaf cdtTemplateSrc { + type enumeration { + enum "other" { + value "1"; + } + enum "derived" { + value "2"; + } + enum "local" { + value "3"; + } + enum "aaaUserProfile" { + value "4"; + } + enum "aaaServiceProfile" { + value "5"; + } + } + description + "This object specifies the source of the dynamic template: + + 'other' + The implementation of the MIB module does not recognize the + source of the dynamic template. + + 'derived' + The system created the set of attributes from one or + more dynamic templates. + + 'local' + The dynamic template was locally configured through a + management entity, such as the local console or a SNMP + entity. + + 'aaaUserProfile' + The dynamic template originated from a user profile + pushed from an external policy server. + + 'aaaServiceProfile' + The dynamic template originated from a service profile + pushed from an external policy server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.5"; + } + + leaf cdtTemplateUsageCount { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the number of targets using a dynamic template"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.1.1.6"; + } + } + } + + container cdtTemplateTargetTable { + description + "This table contains a list of targets associated with + one or more dynamic templates."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2"; + + list cdtTemplateTargetEntry { + key "cdtTemplateTargetType cdtTemplateTargetId"; + description + "An entry describes a target associated with one or more + dynamic templates. + + The system automatically creates an entry when it associates a + dynamic template to a target. Likewise, the system + automatically destroys an entry when a target no longer has any + associated dynamic templates."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2.1"; + + leaf cdtTemplateTargetType { + type cisco-dynamic:DynamicTemplateTargetType; + description + "This object indicates the type of target."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2.1.1"; + } + + leaf cdtTemplateTargetId { + type cisco-dynamic:DynamicTemplateTargetId; + description + "This object uniquely identifies the target within the scope of + its type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2.1.2"; + } + + leaf cdtTemplateTargetStatus { + type snmpv2-tc:RowStatus; + description + "This object specifies the status of the dynamic template + target. The following columns must be valid before activating a + subscriber access profile: + + - cdtTemplateTargetStorage + + However, these objects specify a default value. Thus, it is + possible to use create-and-go semantics without setting any + additional columns. + + An implementation must allow the EMS/NMS to modify any column + when this column is 'active', including columns defined in + tables that have a one-to-one or sparse dependent relationship + on this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2.1.3"; + } + + leaf cdtTemplateTargetStorage { + type snmpv2-tc:StorageType; + description + "This object specifies what happens to the dynamic template + target upon restart."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.2.1.4"; + } + } + } + + container cdtTemplateAssociationTable { + description + "This table contains a list of templates associated with each + target. + + This table has an expansion dependent relationship on the + cdtTemplateTargetTable, containing zero or more rows for each + target."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.3"; + + list cdtTemplateAssociationEntry { + key "cdtTemplateTargetType cdtTemplateTargetId cdtTemplateAssociationName"; + description + "An entry indicates an association of a dynamic template with a + target. + + The system automatically creates an entry when it associates a + dynamic template to a target. + + The system also creates an entry when it derives the + configuration that it applies to a target. + + The system automatically destroys an entry under the following + circumstances: + + 1) The target indicated by the entry no longer exists. + + 2) The association between the target and the dynamic template + no longer exists."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.3.1"; + + leaf cdtTemplateTargetType { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetType"; + } + } + + leaf cdtTemplateTargetId { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTargetId"; + } + } + + leaf cdtTemplateAssociationName { + type cisco-dynamic:DynamicTemplateName; + description + "This object indicates the name of the template associated with + the target."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.3.1.1"; + } + + leaf cdtTemplateAssociationPrecedence { + type uint32 { + range "0..4294967295"; + } + description + "This object indicates the relative precedence of the + associated dynamic template. Lower values have higher + precedence than higher values."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.3.1.2"; + } + } + } + + container cdtTemplateUsageTable { + description + "This table contains a list of targets using each dynamic + template. + + This table has an expansion dependent relationship on the + cdtTemplateTable, containing zero or more rows for each + dynamic template."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.4"; + + list cdtTemplateUsageEntry { + key "cdtTemplateName cdtTemplateUsageTargetType cdtTemplateUsageTargetId"; + description + "An entry indicates a target using the dynamic template. + + The system automatically creates an entry when it associates a + dynamic template to a target. + + The system also creates an entry when it derives the + configuration that it applies to a target. + + The system automatically destroys an entry under the following + circumstances: + + 1) The target indicated by the entry no longer exists. + + 2) The association between the target and the dynamic template + no longer exists."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.4.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtTemplateUsageTargetType { + type cisco-dynamic:DynamicTemplateTargetType; + description + "This object indicates the type of target using the + dynamic template."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.4.1.1"; + } + + leaf cdtTemplateUsageTargetId { + type cisco-dynamic:DynamicTemplateTargetId; + description + "This object indicates the name of the target using the dynamic + template"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.4.1.2"; + } + } + } + + container cdtTemplateCommonTable { + description + "This table contains attributes relating to all dynamic + templates. Observe that the type of dynamic templates + containing these attributes may change with the addition of new + dynamic template types. + + This table has a sparse-dependent relationship on the + cdtTemplateTable, containing a row for each dynamic template + having a cdtTemplateType of one of the following values: + + 'derived' + 'ppp' + 'ethernet' + 'ipSubscriber' + 'service'"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5"; + + list cdtTemplateCommonEntry { + key "cdtTemplateName"; + description + "An entry containing attributes relating to any target. + + The system automatically creates an entry when the system or the + EMS/NMS creates a row in the cdtTemplateTable with a + cdtTemplateType of on the following values: + + 'derived' + 'ppp' + 'ethernet' + 'ipSubscriber' + 'service' + + Likewise, the system automatically destroys an entry when the + system or the EMS/NMS destroys the corresponding row in the + cdtTemplateTable."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtCommonValid { + type bits { + bit descr { + position "0"; + } + bit keepalive { + position "1"; + } + bit vrf { + position "2"; + } + bit addrPool { + position "3"; + } + bit ipv4AccessGroup { + position "4"; + } + bit ipv4Unreachables { + position "5"; + } + bit ipv6AccessGroup { + position "6"; + } + bit ipv6Unreachables { + position "7"; + } + bit srvSubControl { + position "8"; + } + bit srvRedirect { + position "9"; + } + bit srvAcct { + position "10"; + } + bit srvQos { + position "11"; + } + bit srvNetflow { + position "12"; + } + } + description + "This object specifies which attributes in the dynamic template + have been configured to valid values. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is not valid. If the bit is '1', then the value of the + corresponding column has been configured to a valid value. + + The following list specifies the mappings between bits and the + columns: + + 'descr' => cdtCommonDescr + 'keepaliveInt' => cdtCommonKeepaliveInt + 'keepaliveRetries' => cdtCommonKeepaliveRetries + 'vrf' => cdtCommonVrf + 'addrPool' => cdtCommonAddrPool + 'ipv4AccessGroup' => cdtCommonIpv4AccessGroup + 'ipv4Unreachables' => cdtCommonIpv4Unreachables + 'ipv6AccessGroup' => cdtCommonIpv6AccessGroup + 'ipv6Unreachables' => cdtCommonIpv6Unreachables + 'srvSubControl' => cdtCommonSrvSubControl + 'srvRedirect' => cdtCommonSrvRedirect + 'srvAcct' => cdtCommonSrvAcct + 'srvQos' => cdtCommonSrvQos + 'srvNetflow' => cdtCommonSrvNetflow"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.1"; + } + + leaf cdtCommonDescr { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies a human-readable description for the + dynamic template. + + This column is valid only if the 'descr' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.2"; + } + + leaf cdtCommonKeepaliveInt { + type uint32 { + range "1..4294967295"; + } + units "seconds"; + description + "This object specifies the interval that the system sends + keepalive messages to a target. + + This column is valid only if the 'keepaliveInterval' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.3"; + } + + leaf cdtCommonKeepaliveRetries { + type uint32 { + range "1..255"; + } + units "retries"; + description + "This object specifies the number of times the system will + resend a keepalive message without a response before it + transitions a target to an operationally down state. + + This column is valid only if the 'keepaliveRetries' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.4"; + } + + leaf cdtCommonVrf { + type cisco-tc:CiscoVrfName; + description + "This object specifies the name of the VRF with which a target + has an association. + + This column is valid only if the 'vrf' bit of the corresponding + instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.5"; + } + + leaf cdtCommonAddrPool { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the IP address pool the + system will use to assign an IP address to a peer of a target. + + This column is valid only if the 'addrPool' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.6"; + } + + leaf cdtCommonIpv4AccessGroup { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name (or number) of the IPv4 ACL + applied to a target. + + This column is valid only if the 'ipv4AccessGroup' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.7"; + } + + leaf cdtCommonIpv4Unreachables { + type boolean; + description + "This object specifies whether a target generates ICMPv4 + unreachable messages. + + This column is valid only if the 'ipv4Unreachables' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.8"; + } + + leaf cdtCommonIpv6AccessGroup { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name (or number) of the IPv4 ACL + applied to a target. + + This column is valid only if the 'ipv6AccessGroup' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.9"; + } + + leaf cdtCommonIpv6Unreachables { + type boolean; + description + "This object specifies whether a target generates ICMPv6 + unreachable messages. + + This column is valid only if the 'ipv6Unreachables' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.10"; + } + + leaf cdtCommonSrvSubControl { + type cisco-cbp:CbpElementName; + description + "This object specifies the name of the subscriber control + policy applied to a target. + + The system should assume that the cbpPolicyMapType (defined by + the CISCO-CBP-BASE-CFG-MIB) of the policy is + cbpPmtControlSubscriber (defined by the CISCO-CBP-TYPE-OID-MIB). + + This column is valid only if the 'srvSubControl' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.11"; + } + + leaf cdtCommonSrvRedirect { + type cisco-cbp:CbpElementName; + description + "This object specifies the name of the traffic redirect policy + applied to a target. + + The system should assume that the cbpPolicyMapType (defined by + the CISCO-CBP-BASE-CFG-MIB) of the policy is + cbpPmtTrafficRedirect (defined by the CISCO-CBP-TYPE-OID-MIB). + + This column is valid only if the 'srvRedirect' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.12"; + } + + leaf cdtCommonSrvAcct { + type cisco-cbp:CbpElementName; + description + "This object specifies the name of the traffic accounting policy + applied to a target. + + The system should assume that the cbpPolicyMapType (defined by + the CISCO-CBP-BASE-CFG-MIB) of the policy is + cbpPmtTrafficAccounting (defined by the CISCO-CBP-TYPE-OID-MIB). + + This column is valid only if the 'srvAcct' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.13"; + } + + leaf cdtCommonSrvQos { + type cisco-cbp:CbpElementName; + description + "This object specifies the name of the traffic QoS policy + applied to a target. + + The system should assume that the cbpPolicyMapType (defined by + the CISCO-CBP-BASE-CFG-MIB) of the policy is cbpPmtQos (defined + by the CISCO-CBP-TYPE-OID-MIB). + + This column is valid only if the 'srvQos' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.14"; + } + + leaf cdtCommonSrvNetflow { + type cisco-cbp:CbpElementName; + description + "This object specifies the name of the NetFlow policy applied to + a target. + + The system should assume that the cbpPolicyMapType (defined by + the CISCO-CBP-BASE-CFG-MIB) of the policy is + cbpPmtNetflow (defined by the CISCO-CBP-TYPE-OID-MIB). + + This column is valid only if the 'srvNetflow' bit of the + corresponding instance of cdtCommonValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1.5.1.15"; + } + } + } + + container cdtIfTemplateTable { + description + "This table contains attributes relating to interface + configuration. + + This table has a sparse-dependent relationship on the + cdtTemplateTable, containing a row for each dynamic template + having a cdtTemplateType of one of the following values: + + 'derived' + 'ppp' + 'ethernet' + 'ipSubscriber'"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1"; + + list cdtIfTemplateEntry { + key "cdtTemplateName"; + description + "An entry containing attributes relating to interface + configuration. + + The system automatically creates an entry when the system or the + EMS/NMS creates a row in the cdtTemplateTable with a + cdtTemplateType of one of the following values: + + 'derived' + 'ppp' + 'ethernet' + 'ipSubscriber' + + Likewise, the system automatically destroys an entry when the + system or the EMS/NMS destroys the corresponding row in the + cdtTemplateTable."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtIfValid { + type bits { + bit mtu { + position "0"; + } + bit cdpEnable { + position "1"; + } + bit flowMonitor { + position "2"; + } + bit ipv4Unnumbered { + position "3"; + } + bit ipv4SubEnable { + position "4"; + } + bit ipv4Mtu { + position "5"; + } + bit ipv4TcpMssAdjust { + position "6"; + } + bit ipv4VerifyUniRpf { + position "7"; + } + bit ipv4VerifyUniRpfAcl { + position "8"; + } + bit ipv4VerifyUniRpfOpts { + position "9"; + } + bit ipv6Enable { + position "10"; + } + bit ipv6SubEnable { + position "11"; + } + bit ipv6TcpMssAdjust { + position "12"; + } + bit ipv6VerifyUniRpf { + position "13"; + } + bit ipv6VerifyUniRpfAcl { + position "14"; + } + bit ipv6VerifyUniRpfOpts { + position "15"; + } + bit ipv6NdPrefix { + position "16"; + } + bit ipv6NdValidLife { + position "17"; + } + bit ipv6NdPreferredLife { + position "18"; + } + bit ipv6NdOpts { + position "19"; + } + bit ipv6NdDadAttempts { + position "20"; + } + bit ipv6NdNsInterval { + position "21"; + } + bit ipv6NdReachableTime { + position "22"; + } + bit ipv6NdRaIntervalMax { + position "23"; + } + bit ipv6NdRaIntervalMin { + position "24"; + } + bit ipv6NdRaLife { + position "25"; + } + bit ipv6NdRaRouterPreference { + position "26"; + } + } + description + "This object specifies which attributes in the dynamic template + have been configured to valid values. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is not valid. If the bit is '1', then the value of the + corresponding column has been configured to a valid value. + + The following list specifies the mappings between bits and the + columns: + + 'mtu' => cdtIfMtu + 'cdpEnable' => cdtIfCdpEnable + 'flowMonitor' => cdtIfFlowMonitor + 'ipv4Unnumbered' => cdtIfIpv4Unnumbered + 'ipv4SubEnable' => cdtIfIpv4SubEnable + 'ipv4Mtu' => cdtIfIpv4Mtu + 'ipv4TcpMssAdjust' => cdtIfIpv4TcpMssAdjust + 'ipv4VerifyUniRpf' => cdtIfIpv4VerifyUniRpf + 'ipv4VerifyUniRpfAcl' => cdtIfIpv4VerifyUniRpfAcl + 'ipv4VerifyUniRpfOpts' => cdtIfIpv4VerifyUniRpfOpts + 'ipv6Enable' => cdtIfIpv6Enable + 'ipv6SubEnable' => cdtIfIpv6SubEnable + 'ipv6TcpMssAdjust' => cdtIfIpv6TcpMssAdjust + 'ipv6VerifyUniRpf' => cdtIfIpv6VerifyUniRpf + 'ipv6VerifyUniRpfAcl' => cdtIfIpv6VerifyUniRpfAcl + 'ipv6VerifyUniRpfOpts' => cdtIfIpv6VerifyUniRpfOpts + 'ipv6NdPrefix' => cdtIfIpv6NdPrefix, + cdtIfIpv6NdPrefixLength + 'ipv6NdValidLife' => cdtIfIpv6NdValidLife + 'ipv6NdPreferredLife' => cdtIfIpv6NdPreferredLife + 'ipv6NdOpts' => cdtIfIpv6NdOpts + 'ipv6NdDadAttempts' => cdtIfIpv6NdDadAttempts + 'ipv6NdNsInterval' => cdtIfIpv6NdNsInterval + 'ipv6NdReacableTime' => cdtIfIpv6NdReacableTime + 'ipv6NdRaIntervalMax' => cdtIfIpv6NdRaIntervalUnits, + cdtIfIpv6NdRaIntervalMax + 'ipv6NdRaIntervalMin' => cdtIfIpv6NdRaIntervalMin + 'ipv6NdRaLife' => cdtIfIpv6NdRaLife + 'ipv6NdRouterPreference'' => cdtIfIpv6NdRouterPreference"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.1"; + } + + leaf cdtIfMtu { + type uint32 { + range "0|64..65535"; + } + units "octets"; + description + "This object specifies the Maximum Transfer Unit (MTU) size for + all packets sent on the target interface. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'mtu' bit of the corresponding + instance of cdtIfValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.2"; + } + + leaf cdtIfCdpEnable { + type boolean; + description + "This object specifies whether the target interface participates + in the Cisco Discovery Protocol (CDP). + + This column is valid only if the 'cdpEnable' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.3"; + } + + leaf cdtIfFlowMonitor { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the flow monitor associated + with the target interface. + + This column is valid only if the 'flowMonitor' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.4"; + } + + leaf cdtIfIpv4Unnumbered { + type if-mib:InterfaceIndexOrZero; + description + "This object specifies the interface of the source address that + the target interface uses when originating IPv4 packets. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is + not valid (e.g., immediately following the creation of an + instance of the object). + + This column is valid only if the 'ipv4Unnumbered' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.5"; + } + + leaf cdtIfIpv4SubEnable { + type boolean; + description + "This object specifies whether the target interface allows IPv4 + subscriber sessions. + + This column is valid only if the 'ipv4SubEnable' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.6"; + } + + leaf cdtIfIpv4Mtu { + type uint32 { + range "0|128..65535"; + } + units "octets"; + description + "This object specifies the Maximum Transfer Unit (MTU) size for + IPv4 packets sent on the target interface. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'ipv4Mtu' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.7"; + } + + leaf cdtIfIpv4TcpMssAdjust { + type uint32 { + range "0|500..1460"; + } + units "octets"; + description + "This object specifies the adjustment to the Maximum Segment + Size (MSS) of TCP SYN packets received by the target interface + contained in IPv4 datagrams. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'ipv4TcpMssAdjust' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.8"; + } + + leaf cdtIfIpv4VerifyUniRpf { + type cisco-ip:UnicastRpfType; + description + "This object specifies whether the type of unicast RPF the + system performs on IPv4 packets received by the target + interface. + + This column is valid only if the 'ipv4VerifyUniRpf' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.9"; + } + + leaf cdtIfIpv4VerifyUniRpfAcl { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name (or number) of the IPv4 ACL + used to determine whether the system should permit/deny packets + received by the target interface that fail unicast RPF + verification. + + This column is valid only if the 'ipv4VerifyUniRpfAcl' bit of + the corresponding instance of cdtIfValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.10"; + } + + leaf cdtIfIpv4VerifyUniRpfOpts { + type cisco-ip:UnicastRpfOptions; + description + "This object specifies the options that affect how the system + performs unicast RPF on IPv4 packets received by the target + interface. + + This column is valid only if the 'ipv4VerifyUniRpfOpts' bit of + the corresponding instance of cdtIfValid is '1'."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.11"; + } + + leaf cdtIfIpv6Enable { + type boolean; + description + "This object specifies whether the system processes IPv6 + packets received by the target interface. + + This column is valid only if the 'ipv6Enable' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.12"; + } + + leaf cdtIfIpv6SubEnable { + type boolean; + description + "This object specifies whether the target interface allows IPv6 + subscriber sessions. + + This column is valid only if the 'ipv6SubEnable' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.13"; + } + + leaf cdtIfIpv6TcpMssAdjust { + type uint32 { + range "0|500..1460"; + } + units "octets"; + description + "This object specifies the adjustment to the Maximum Segment + Size (MSS) of TCP SYN packets received by the target interface + contained in IPv6 datagrams. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'ipv6TcpMssAdjust' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.14"; + } + + leaf cdtIfIpv6VerifyUniRpf { + type cisco-ip:UnicastRpfType; + description + "This object specifies whether the type of unicast RPF the + system performs on IPv6 packets received by the target + interface. + + This column is valid only if the 'ipv6VerifyUniRpf' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.15"; + } + + leaf cdtIfIpv6VerifyUniRpfAcl { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name (or number) of the IPv6 ACL + used to determine whether the system should permit/deny packets + received by the target interface that fail unicast RPF + verification. + + This column is valid only if the 'ipv6VerifyUniRpfAcl' bit of + the corresponding instance of cdtIfValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.16"; + } + + leaf cdtIfIpv6VerifyUniRpfOpts { + type cisco-ip:UnicastRpfOptions; + description + "This object specifies the options that affect how the system + performs unicast RPF on IPv6 packets received by the target + interface. + + This column is valid only if the 'ipv6VerifyUniRpfOpts' bit of + the corresponding instance of cdtIfValid is '1'."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.17"; + } + + leaf cdtIfIpv6NdPrefix { + type inet-address:InetAddressIPv6; + description + "This object specifies the IPv6 network number included in + IPv6 router advertisements sent on the target interface. + + This column is valid only if the 'ipv6NdPrefix' bit of + the corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "'00000000000000000000000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.18"; + } + + leaf cdtIfIpv6NdPrefixLength { + type inet-address:InetAddressPrefixLength; + description + "This object specifies the length of the IPv6 prefix specified + by the corresponding instance of cdtIpv6NdPrefix. + + This column is valid only if the 'ipv6NdPrefix' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.19"; + } + + leaf cdtIfIpv6NdValidLife { + type uint32 { + range "1..4294967295"; + } + units "seconds"; + description + "This object specifies the interval that the system advertises + the IPv6 prefix (i.e., the corresponding instance of + cdtIfIpv6NdPrefix) as 'valid' for IPv6 router advertisements + sent on the target interface. + + This column is valid only if the 'ipv6NdValidLife' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "2592000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.20"; + } + + leaf cdtIfIpv6NdPreferredLife { + type uint32 { + range "1..4294967295"; + } + units "seconds"; + description + "This object specifies the interval that the system advertises + the IPv6 prefix (i.e., the corresponding instance of + cdtIfIpv6NdPrefix) as 'preferred' for IPv6 router advertisements + sent on the target interface. + + This column is valid only if the 'ipv6NdPreferredLife' bit of + the corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "604800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.21"; + } + + leaf cdtIfIpv6NdOpts { + type bits { + bit advertise { + position "0"; + } + bit onlink { + position "1"; + } + bit router { + position "2"; + } + bit autoConfig { + position "3"; + } + bit advertisementInterval { + position "4"; + } + bit managedConfigFlag { + position "5"; + } + bit otherConfigFlag { + position "6"; + } + bit framedIpv6Prefix { + position "7"; + } + bit raSuppress { + position "8"; + } + } + description + "This object specifies options that affect advertisements sent + on the target interface: + + 'advertise' + This option specifies that the system should advertise + the IPv6 prefix (i.e., the corresponding instance of + cdtIfIpv6NdPrefix). + + 'onlink' + This option specifies that the IPv6 prefix has been + assigned to a link. If set to '0', the system + advertises the IPv6 prefix as 'offlink'. + + 'router' + This option indicates that the router will send the full + router address and not set the 'R' bit in prefix + advertisements. + + 'autoConfig' + This option indicates to hosts on the local link that + the specified prefix supports IPv6 auto-configuration. + + 'advertisementInterval' + This option specifies the advertisement interval option + in router advertisements sent on the target interface. + + 'managedConfigFlag' + This option causes the system to set the 'managed + address configuration flag' in router advertisements + sent on the target interface. + + 'otherConfigFlag' + This option causes the system to set the 'other stateful + configuration' flag in router advertisements sent on the + target interface. + + 'frameIpv6Prefix' + This option causes the system to add the prefix in a + received RADIUS framed IPv6 prefix attribute to the + target interface's neighbor discovery prefix queue and + includes it in router advertisements sent on the target + interface. + + 'raSupress' + This option suppresses the transmission of router + advertisements on the target interface. + + This column is valid only if the 'ipv6NdOpts' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "{advertise, onlink, router, autoConfig}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.22"; + } + + leaf cdtIfIpv6NdDadAttempts { + type uint32 { + range "0..600"; + } + description + "This object specifies the number of consecutive neighbor + solitication messages the system sends on the target interface + while performing duplicate address detection on unicast IPv6 + addresses on the target interface. The value '0' disables + duplicate address detection on the target interface. + + This column is valid only if the 'ipv6NdDadAttempts' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.23"; + } + + leaf cdtIfIpv6NdNsInterval { + type uint32 { + range "1000..3600000"; + } + units "milliseconds"; + description + "This object specifies the interval between neighbor + solicitation retransmissions on the target interface. + + This column is valid only if the 'ipv6NdNsIntervals' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.24"; + } + + leaf cdtIfIpv6NdReachableTime { + type uint32 { + range "0..4294967295"; + } + units "milliseconds"; + description + "This object specifies the amount of time the system considers + a neighbor of the target interface reachable after a + reachability confirmation event has occurred. The value '0' + disables neighbor reachability detection on the target + interface. + + This column is valid only if the 'ipv6NdReachable' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.25"; + } + + leaf cdtIfIpv6NdRaIntervalUnits { + type enumeration { + enum "seconds" { + value "1"; + } + enum "milliseconds" { + value "2"; + } + } + description + "This object specifies the units of time for the corresponding + instances of cdtIfIpv6NdRaIntervalMin and + cdtIfIpv6NdRaIntervalMax. + + This column is valid only if the 'ipv6NdRaInterval' bit of the + corresponding instance of cdtIfValid is '1'."; + smiv2:defval "seconds"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.26"; + } + + leaf cdtIfIpv6NdRaIntervalMax { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the maximum interval between IPv6 router + advertisements sent on the target interface. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'ipv6NdRaInterval' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.27"; + } + + leaf cdtIfIpv6NdRaIntervalMin { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the minimum interval between IPv6 router + advertisements sent on the target interface. The value of this + column has the following restrictions: + + 1) This value cannot be less than 75% of the value specified + for cdtIfIpv6NdRaIntervalMax. + + 2) If the corresponding instance of cdtIfIpv6NdRaIntervalUnits + is 'seconds', then this value cannot be less than '3'. + + 3) If the corresponding instance of cdtIfIpv6NdRaIntervalUnits + is 'milliseconds', then this value cannot be less than '30'. + + If the target interface template does not specify this value, + then the system automatically assumes a minimum interval that is + 75% of the corresponding instance of cdtIfIpv6NdRaIntervalMax. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'ipv6NdRaInterval' bit of the + corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.28"; + } + + leaf cdtIfIpv6NdRaLife { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + description + "This object specifies the router lifetime value in IPv6 router + advertisements sent on the target interface. The value '0' + specifies that neighbors should not consider the router as a + default router."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.29"; + } + + leaf cdtIfIpv6NdRouterPreference { + type enumeration { + enum "high" { + value "1"; + } + enum "medium" { + value "2"; + } + enum "low" { + value "3"; + } + } + description + "This object specifies the Default Router Preference (DRP) for + the router on the target interface. + + This column is valid only if the 'ipv6NdRouterPreference' bit of + the corresponding instance of cdtIfValid is '1'."; + reference + "T. Narten, E. Nordmark, W. Simpson, H. Soliman, 'Neighbor + Discovery for IP version 6 (IPv6)', RFC-4861, September 2007."; + smiv2:defval "medium"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2.1.1.30"; + } + } + } + + container cdtPppTemplateTable { + description + "This table contains attributes relating to PPP connection + configuration. + + This table has a sparse-dependent relationship on the + cdtTemplateTable, containing a row for each dynamic template + having a cdtTemplateType of one of the following values: + + 'derived' + 'ppp'"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1"; + + list cdtPppTemplateEntry { + key "cdtTemplateName"; + description + "An entry containing attributes relating to PPP connection + configuration. + + The system automatically creates an entry when the system or the + EMS/NMS creates a row in the cdtTemplateTable with a + cdtTemplateType of one of the following values: + + 'derived' + 'ppp' + + Likewise, the system automatically destroys an entry when the + system or the EMS/NMS destroys the corresponding row in the + cdtTemplateTable."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtPppValid { + type bits { + bit valid { + position "0"; + } + bit accounting { + position "1"; + } + bit authentication { + position "2"; + } + bit autthenticationMethods { + position "3"; + } + bit authorization { + position "4"; + } + bit loopbackIgnore { + position "5"; + } + bit maxBadAuth { + position "6"; + } + bit maxConfigure { + position "7"; + } + bit maxFailure { + position "8"; + } + bit maxTerminate { + position "9"; + } + bit timeoutAuthentication { + position "10"; + } + bit timeoutRetry { + position "11"; + } + bit chapOpts { + position "12"; + } + bit chapHostname { + position "13"; + } + bit chapPassword { + position "14"; + } + bit msChapV1Opts { + position "15"; + } + bit msChapV1Hostname { + position "16"; + } + bit msChapV1Password { + position "17"; + } + bit msChapV2Opts { + position "18"; + } + bit msChapV2Hostname { + position "19"; + } + bit msChapV2Password { + position "20"; + } + bit papOpts { + position "21"; + } + bit papUsername { + position "22"; + } + bit papPassword { + position "23"; + } + bit eapOpts { + position "24"; + } + bit eapIdentity { + position "25"; + } + bit eapPassword { + position "26"; + } + bit ipcpAddrOption { + position "27"; + } + bit ipcpDnsOption { + position "28"; + } + bit ipcpDnsPrimary { + position "29"; + } + bit ipcpDnsSecondary { + position "30"; + } + bit ipcpWinsOption { + position "31"; + } + bit ipcpWinsPrimary { + position "32"; + } + bit ipcpWinsSecondary { + position "33"; + } + bit ipcpMaskOption { + position "34"; + } + bit ipcpMask { + position "35"; + } + bit peerDefIpAddrOpts { + position "36"; + } + bit peerDefIpAddrSrc { + position "37"; + } + bit peerDefIpAddr { + position "38"; + } + } + description + "This object specifies which attributes in the dynamic template + have been configured to valid values. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is not valid. If the bit is '1', then the value of the + corresponding column has been configured to a valid value. + + The following list specifies the mappings between bits and the + columns: + + accounting => cdtPppAccounting + authentication => cdtPppAuthentication + authenticationMethods => cdtPppAuthenticationMethods + authorization => cdtPppAuthorization + loopbackIgnore => cdtPppLoopbackIgnore + maxBadAuth => cdtPppMaxBadAuth + maxConfigure => cdtPppMaxConfigure + maxFailure => cdtPppMaxFailure + maxTerminate => cdtPppMaxTerminate + timeoutAuthentication => cdtPppTimeoutAuthentication + timeoutRetry => cdtPppTimeoutRetry + chapOpts => cdtPppChapOpts + chapHostname => cdtPppChapHostname + chapPassword => cdtPppChapPassword + msChapV1Opts => cdtPppMsChapV1Opts + msChapV1Hostname => cdtPppMsChapV1Hostname + msChapV1Password => cdtPppMsChapV1Password + msChapV2Opts => cdtPppMsChapV2Opts + msChapV2Hostname => cdtPppMsChapV2Hostname + msChapV2Password => cdtPppMsChapV2Password + papOpts => cdtPppPapOpts + papSentUsername => cdtPppPapUsername + papSentPassword => cdtPppPapPassword + eapOpts => cdtPppEapOpts + eapIdentity => cdtPppEapIdentity + eapPassword => cdtPppEapPassword + ipcpAddrOption => cdtPppIpcpAddrOption + ipcpDnsOption => cdtPppIpcpDnsOption + ipcpDnsPrimary => cdtPppIpcpDnsPrimary + ipcpDnsSecondary => cdtPppIpcpDnsSecondary + ipcpWinsOption => cdtPppIpcpWinsOption + ipcpWinsPrimary => cdtPppIpcpWinsPrimary + ipcpWinsSecondary => cdtPppIpcpWinsSecondary + ipcpMaskOption => cdtPppIpcpMaskOption + ipcpMask => cdtPppIpcpMask + peerDefIpAddrOpts => cdtPppPeerOpts + peerDefIpAddrSrc => cdtPppPeerDefIpAddrSrc + peerDefIpAddr => cdtPppPeerDefIpAddr"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.1"; + } + + leaf cdtPppAccounting { + type boolean; + description + "This object specifies whether the system applies accounting + services to the target PPP connection. + + This column is valid only if the 'accounting' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.2"; + } + + leaf cdtPppAuthentication { + type bits { + bit chap { + position "0"; + } + bit msChap { + position "1"; + } + bit msChapV2 { + position "2"; + } + bit pap { + position "3"; + } + bit eap { + position "4"; + } + bit optional { + position "5"; + } + bit callin { + position "6"; + } + bit oneTime { + position "7"; + } + } + description + "This object specifies authentication services applied to a + target PPP connection and other options affecting authentication + services: + + 'chap' + This option enables the Challenge Handshake Protocol (CHAP) + on a target PPP connection. + + 'msChap' + This option enables Microsoft's CHAP on a target PPP + connection. + + 'msChapV2' + This option enables version 2 of Microsoft's CHAP on a + target PPP connection. + + 'pap' + This option enables Password Authentication Protocol (PAP) + on a target PPP connection. + + 'eap' + This option enables Extensible Authentication Protocol (EAP) + on a target PPP connection. + + 'optional' + This option specifies that the system accepts the connection + even if the peer of a target PPP connection refuses to + accept the authentication methods the system has + requested. + + 'callin' + This option specifies that authentication should only happen + for incoming calls. + + 'oneTime' + This option specifies that the system accepts the username + and password in the username field of authentication + responses received on a target PPP connection. + + This column is valid only if the 'authentication' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.3"; + } + + leaf cdtPppAuthenticationMethods { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of a list of authentication + methods used on a target PPP connection. If the template does + not include this attribute, then the system uses the default + method list. + + This column is valid only if the 'authentication' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.4"; + } + + leaf cdtPppAuthorization { + type boolean; + description + "This object specifies whether the system applies authorization + services to a target PPP connection. + + This column is valid only if the 'authorization' bit of the + corresponding instance of cditPppValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.5"; + } + + leaf cdtPppLoopbackIgnore { + type boolean; + description + "This object specifies whether the system ignores loopback on + a target PPP connection. When the system ignores loopback, + loopback detection is disabled. + + This column is valid only if the 'loopbackIgnore' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.6"; + } + + leaf cdtPppMaxBadAuth { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the number of authentication failures + allowed by the system before a target PPP connection is reset. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This column is valid only if the 'maxBadAuth' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.7"; + } + + leaf cdtPppMaxConfigure { + type uint32 { + range "1..4294967295"; + } + description + "This object specifies the number of unacknowledged + Configure-Request messages a target PPP connection can send + before the system abandons LCP or NCP negotiations. + + This column is valid only if the 'maxConfigure' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.8"; + } + + leaf cdtPppMaxFailure { + type uint32 { + range "1..4294967295"; + } + description + "This object specifies the number of Configure-Nak messages a + target PPP connection can receive before the system abandons LCP + or NCP negotiations. + + This column is valid only if the 'maxFailure' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.9"; + } + + leaf cdtPppMaxTerminate { + type uint32 { + range "1..4294967295"; + } + description + "This object specifies the number of unacknowledged + Terminate-Request messages a target PPP connection can send + before the system abandons LCP or NCP negotiations. + + This column is valid only if the 'maxTerminate' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.10"; + } + + leaf cdtPppTimeoutAuthentication { + type uint32 { + range "1..255"; + } + units "seconds"; + description + "This objects specifies the maximum time the system will wait + for a response to an authentication request on a target PPP + connection. + + This column is valid only if the 'timeoutAuthentication' bit of + the corresponding instance of cdtPppValid is '1'."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.11"; + } + + leaf cdtPppTimeoutRetry { + type uint32 { + range "1..255"; + } + units "seconds"; + description + "This objects specifies the maximum time the system will wait + for a response to a PPP control packets on a target PPP + connection. + + This column is valid only if the 'timeoutRetry' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.12"; + } + + leaf cdtPppChapOpts { + type bits { + bit refuse { + position "0"; + } + bit callin { + position "1"; + } + bit wait { + position "2"; + } + bit encrypted { + position "3"; + } + } + description + "This object specifies how the system processes the CHAP on a + target PPP connection: + + 'refuse' + This option specifies that the system should refuse CHAP + requests from peers of a target PPP connection. + + 'callin' + This option specifies that the system should only refuse + CHAP requests for incoming calls on a target PPP + connection. This option is only relevant if the + 'refuse' option is set to '1'. + + 'wait' + This option delays CHAP authentication until after the + peer of a target PPP connection has authenticated itself + to the system. + + 'encrypted' + This option specifies that the value specified by the + corresponding instance of cdtPppChapPassword is already + encrypted. + + This column is valid only if the 'chapOpts' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'PPP Challenge Handshake Authentication Protocol + (CHAP)', RFC-1994, August 1996."; + smiv2:defval "{wait}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.13"; + } + + leaf cdtPppChapHostname { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the hostname sent in a CHAP response + on a target PPP connection. If the template does not include + this attribute, then the system uses its assigned hostname. + + This column is valid only if the 'chapHostname' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'PPP Challenge Handshake Authentication Protocol + (CHAP)', RFC-1994, August 1996."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.14"; + } + + leaf cdtPppChapPassword { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the password used to construct a CHAP + response on the target PPP connection. + + This column is valid only if the 'chapPassword' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "W. Simpson, 'PPP Challenge Handshake Authentication Protocol + (CHAP)', RFC-1994, August 1996."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.15"; + } + + leaf cdtPppMsChapV1Opts { + type bits { + bit refuse { + position "0"; + } + bit callin { + position "1"; + } + bit wait { + position "2"; + } + bit encrypted { + position "3"; + } + } + description + "This object specifies how the system processes version 1 of + Microsoft CHAP on a target PPP connection: + + 'refuse' + This option specifies that the system should refuse + Microsoft CHAP (v1) requests from peers of a target PPP + connection. + + 'callin' + This option specifies that the system should only refuse + Microsoft CHAP (v1) requests for incoming calls on a + target PPP connection. This option is only relevant if + the 'refuse' option is set to '1'. + + 'wait' + This option delays Microsoft CHAP (v1) authentication + until after the peer of a target PPP connection has + authenticated itself to the system. + + 'encrypted' + This option specifies that the value specified by the + corresponding instance of cdtPppMsChapV1Password is + already encrypted. + + This column is valid only if the 'msChapV1Opts' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, S. Cobb, 'Microsoft PPP CHAP Extensions', RFC-2433, + October 1998."; + smiv2:defval "{wait}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.16"; + } + + leaf cdtPppMsChapV1Hostname { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the hostname sent in a Microsoft CHAP + (v1) response on a target PPP connection. If the template does + not include this attribute, then the system uses its assigned + hostname. + + This column is valid only if the 'msChapV1Hostname' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, S. Cobb, 'Microsoft PPP CHAP Extensions', RFC-2433, + October 1998."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.17"; + } + + leaf cdtPppMsChapV1Password { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the password used to construct a + Microsoft CHAP (v1) response on a target PPP connection. + + This column is valid only if the 'msChapV1Password' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, S. Cobb, 'Microsoft PPP CHAP Extensions', RFC-2433, + October 1998."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.18"; + } + + leaf cdtPppMsChapV2Opts { + type bits { + bit refuse { + position "0"; + } + bit callin { + position "1"; + } + bit wait { + position "2"; + } + bit encrypted { + position "3"; + } + } + description + "This object specifies how the system processes version 2 of + Microsoft CHAP on a target PPP connection: + + 'refuse' + This option specifies that the system should refuse + Microsoft CHAP (v2) requests from peers of a target PPP + connection. + + 'callin' + This option specifies that the system should only refuse + Microsoft CHAP (v2) requests for incoming calls on a + target PPP connection. This option is only relevant if + the 'refuse' option is set to '1'. + + 'wait' + This option delays Microsoft CHAP (v2) authentication + until after the peer of a target PPP connection has + authenticated itself to the system. + + 'encrypted' + This option specifies that the value specified by the + corresponding instance of cdtPppMsChapV2Password is + already encrypted. + + This column is valid only if the 'msChapV2Opts' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, 'Microsoft PPP CHAP Extensions, Version 2', RFC-2759, + January 2000."; + smiv2:defval "{wait}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.19"; + } + + leaf cdtPppMsChapV2Hostname { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the hostname sent in a Microsoft CHAP + (v2) response on a target PPP connection. If the template does + not include this attribute, then the system uses its assigned + hostname. + + This column is valid only if the 'msChapV2Hostname' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, 'Microsoft PPP CHAP Extensions, Version 2', RFC-2759, + January 2000."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.20"; + } + + leaf cdtPppMsChapV2Password { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the password used to construct a + Microsoft CHAP (v2) response on a target PPP connection. + + This column is valid only if the 'msChapV2Password' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. Zorn, 'Microsoft PPP CHAP Extensions, Version 2', RFC-2759, + January 2000."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.21"; + } + + leaf cdtPppPapOpts { + type bits { + bit refuse { + position "0"; + } + bit encrypted { + position "1"; + } + } + description + "This object specifies how the system processes the PAP on a + target PPP connection: + + 'refuse' + This option specifies that the system should refuse PAP + requests from peers of a target PPP connection. + + 'encrypted' + This option specifies that the value specified by the + corresponding instance of cdtPppPapSentPassword is + already encrypted. + + This column is valid only if the 'papOpts' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Lloyd and W. Simpson, 'PPP Authentication Protocols', + RFC-1334, October 1992."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.22"; + } + + leaf cdtPppPapUsername { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the username sent in a PAP response on + a target PPP connection. + + This column is valid only if the 'papUsername' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Lloyd and W. Simpson, 'PPP Authentication Protocols', + RFC-1334, October 1992."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.23"; + } + + leaf cdtPppPapPassword { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the username used to construct a PAP + response on a target PPP connection. + + This column is valid only if the 'papPassword' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Lloyd and W. Simpson, 'PPP Authentication Protocols', + RFC-1334, October 1992."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.24"; + } + + leaf cdtPppEapOpts { + type bits { + bit refuse { + position "0"; + } + bit callin { + position "1"; + } + bit wait { + position "2"; + } + bit local { + position "3"; + } + } + description + "This object specifies how the system processes the EAP on a + target PPP connection: + + 'refuse' + This option specifies that the system should refuse EAP + requests from peers of a target PPP connection. + + 'callin' + This option specifies that the system should only refuse EAP + requests for incoming calls on a target PPP connection. + This option is only relevant if the 'refuse' option is + set to '1'. + + 'wait' + This option delays EAP authentication until after the + peer of a target PPP connection has authenticated itself + to the system. + + 'local' + This option specifies that the system should locally + authenticate the peer of a target PPP connection, + rather than acting as a proxy to an external AAA server. + + This column is valid only if the 'eapOpts' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, and H. + Levkowetz, 'Extensible Authentication Protocol (EAP)', + RFC-3748, June 2004."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.25"; + } + + leaf cdtPppEapIdentity { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the identity sent in an EAP response on + a target PPP connection. + + This column is valid only if the 'eapIdentity' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, and H. + Levkowetz, 'Extensible Authentication Protocol (EAP)', + RFC-3748, June 2004."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.26"; + } + + leaf cdtPppEapPassword { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the password used to construct an EAP + response on a target PPP connection. + + This column is valid only if the 'eapPassword' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, and H. + Levkowetz, 'Extensible Authentication Protocol (EAP)', + RFC-3748, June 2004."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.27"; + } + + leaf cdtPppIpcpAddrOption { + type enumeration { + enum "other" { + value "1"; + } + enum "accept" { + value "2"; + } + enum "required" { + value "3"; + } + enum "unique" { + value "4"; + } + } + description + "This object specifies the IPCP address option for a target PPP + connection: + + 'other' + The implementation of this MIB module does not recognize + the configured IPCP address option. + + 'accept' + The system accepts any non-zero IP address from the peer + of a target PPP connection. + + 'required' + The system disconnects the peer of a target PPP + connection if it could not negotiate an IP address. + + 'unique' + The system disconnects the peer of a target PPP + connection if the IP address is already in use. + + This column is valid only if the 'ipcpAddrOption' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.28"; + } + + leaf cdtPppIpcpDnsOption { + type enumeration { + enum "other" { + value "1"; + } + enum "accept" { + value "2"; + } + enum "request" { + value "3"; + } + enum "reject" { + value "4"; + } + } + description + "This object specifies the IPCP DNS option for the dynamic + interface: + + 'other' + The implementation of this MIB module does not recognize + the configured DNS option. + + 'accept' + The system accepts any non-zero DNS address form the + peer of a target PPP connection. + + 'request' + The system requests the DNS address from the peer of a + target PPP connection. + + 'reject' + The system rejects the DNS option from the peer of a + target PPP connection. + + This column is valid only if the 'ipcpDnsOption' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.29"; + } + + leaf cdtPppIpcpDnsPrimary { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address of the primary DNS server + offered to the peer of a target PPP connection. + + This column is valid only if the 'ipcpDnsPrimary' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.30"; + } + + leaf cdtPppIpcpDnsSecondary { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address of the secondary DNS + server offered to the peer of a target PPP connection. + + This column is valid only if the 'ipcpDnsSecondary' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.31"; + } + + leaf cdtPppIpcpWinsOption { + type enumeration { + enum "other" { + value "1"; + } + enum "accept" { + value "2"; + } + enum "request" { + value "3"; + } + enum "reject" { + value "4"; + } + } + description + "This object specifies the IPCP WINS option for a target PPP + connection: + + 'other' + The implementation of this MIB module does not recognize + the configured WINS option. + + 'accept' + The system accepts any non-zero WINS address from the + peer of a target PPP connection. + + 'request' + The system requests the WINS address from the peer of + a target PPP connection. + + 'reject' + The system rejects the WINS option from the peer of a + target PPP connection. + + This column is valid only if the 'ipcpWinsOption' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.32"; + } + + leaf cdtPppIpcpWinsPrimary { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address of the primary WINS server + offered to the peer of a target PPP connection. + + This column is valid only if the 'ipcpWinsPrimary' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.33"; + } + + leaf cdtPppIpcpWinsSecondary { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address of the secondary WINS + server offered to the peer of a target PPP connection. + + This column is valid only if the 'ipcpWinsSecondary' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.34"; + } + + leaf cdtPppIpcpMaskOption { + type enumeration { + enum "other" { + value "1"; + } + enum "request" { + value "2"; + } + enum "reject" { + value "3"; + } + } + description + "This object specifies the IPCP IP subnet mask option for a + target PPP connection: + + 'other' + The implementation of this MIB module does not recognize + the configured IP subnet mask option. + + 'request' + The system requests the IP subnet mask from the peer of + a target PPP connection. + + 'reject' + The system rejects the IP subnet mask option from the + peer of a target PPP connection. + + This column is valid only if the 'ipcpMaskOption' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.35"; + } + + leaf cdtPppIpcpMask { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address mask offered to the peer + of a target PPP connection. + + This column is valid only if the 'ipcpMask' bit of the + corresponding instance of cdtPppValid is '1'."; + reference + "G. McGregor, 'The PPP Internet Protocol Control Protocol + (IPCP)', RFC-1332, May 1992."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.36"; + } + + leaf cdtPppPeerDefIpAddrOpts { + type bits { + bit ipAddrForced { + position "0"; + } + bit matchAaaPools { + position "1"; + } + bit staticPool { + position "2"; + } + } + description + "This object specifies options that affect how the system + assigns an IP address to the peer of a target PPP connection: + + 'ipAddrForced' + This option forces the system to assign the next + available IP address in the pool to the peer of a + target PPP connection. When disabled, the peer may + negotiate a specific IP address or the system can assign + the peer its previously assigned IP address. + + 'matchAaaPools' + This option specifies that the names of the IP address + pools provided by an external AAA server must appear in + the corresponding list of IP address pool specified by + the cdtPppPeerIpAddrPoolTable. + + 'backupPools' + This option specifies that the corresponding names of + the IP address pools specified by the + cditPppPeerIpAddrPoolTable serve as backup pools to + those provided by an external AAA server. + + 'staticPools' + This option suppresses an attempt to load pools from an + external AAA server when the system encounters a missing + pool name. + + This column is valid only if the 'peerIpAddrOpts' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "{ipAddrForced}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.37"; + } + + leaf cdtPppPeerDefIpAddrSrc { + type enumeration { + enum "static" { + value "1"; + } + enum "pool" { + value "2"; + } + enum "dhcp" { + value "3"; + } + } + description + "This object specifies how the system assigns an IP address to + the peer of a target PPP connection: + + 'static' + The system assigns the IP address specified by the + corresponding instance of cdtPppPeerDefIpAddr. + + 'pool' + The system allocates the first available IP address from + the corresponding list of named pools contained by the + cdtPppPeerIpAddrPoolTable. + + 'dhcp' + The system acts as a DHCP proxy-client to obtain an IP + address. + + This column is valid only if the 'peerDefIpAddrSrc' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "pool"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.38"; + } + + leaf cdtPppPeerDefIpAddr { + type inet-address:InetAddressIPv4; + description + "This object specifies the IP address the system assigns to the + peer of a target PPP connection. + + This column is valid only if the 'peerDefIpAddr' bit of the + corresponding instance of cdtPppValid is '1'."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.1.1.39"; + } + } + } + + container cdtPppPeerIpAddrPoolTable { + description + "This table contains a prioritized list of named pools for each + PPP template. A list corresponding to a PPP template + specifies the pools the system searches in an attempt to + assign an IP address to the peer of a target PPP connection. + The system searches the pools in the order of their priority. + + This table has an expansion dependent relationship on the + cdtPppTemplateTable, containing zero or more rows for each PPP + template."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2"; + + list cdtPppPeerIpAddrPoolEntry { + key "cdtTemplateName cdtPppPeerIpAddrPoolPriority"; + description + "An entry specifies a named pool in a list of pools associated + with a PPP template. A PPP template can only have named + pools associated with it if it has a cdtPppPeerIpAddrSrc of + 'pool'. + + Any attempt to create an entry for a PPP template that does not + have a cdtPppPeerIpAddrSrc of 'pool' must result in a response + having an error-status of 'inconsistentValue'. + + The system automatically creates a corresponding entry when the + system associates a named pool with a PPP template through + another management entity (e.g., the system's local console). + + The system automatically destroys an entry under the following + circumstances: + + 1) The system or EMS/NMS destroys the corresponding row in the + cdtTemplateTable. + + 2) The system or EMS/NMS sets the corresponding instance of + cdtPppPeerIpAddrSrc with a value other than 'pool'."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtPppPeerIpAddrPoolPriority { + type uint32 { + range "1..4294967295"; + } + description + "This object indicates the relative priority of the named pool + in the list corresponding to a PPP template. The system + searches pools in the order of priority, where lower values + represent higher priority."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2.1.1"; + } + + leaf cdtPppPeerIpAddrPoolStatus { + type snmpv2-tc:RowStatus; + description + "This object specifies the status of the entry. The following + columns must be valid before activating a subscriber access + profile: + + - cdtPppPeerIpAddrPoolStorage + - cdtPppPeerIpAddrPoolName + + However, these objects specify a default value. Thus, it is + possible to use create-and-go semantics without setting any + additional columns. + + An implementation must not allow the EMS/NMS to create an entry + if the corresponding instance of cdtPppPeerIpAddrSrc is not + 'pool'. + + An implementation must allow the EMS/NMS to modify any column + when this column is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2.1.2"; + } + + leaf cdtPppPeerIpAddrPoolStorage { + type snmpv2-tc:StorageType; + description + "This object specifies what happens to the name pool entry upon + restart. + + If the corresponding instance of cdtTemplateSrc is not 'local', + then this column must be 'volatile'."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2.1.3"; + } + + leaf cdtPppPeerIpAddrPoolName { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the IP address pool + associated with the PPP template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3.2.1.4"; + } + } + } + + container cdtEthernetTemplateTable { + description + "This table contains attributes relating to dynamic interfaces + initiated on Ethernet virtual interfaces (e.g., EoMPLS) or + automatically created VLANs. + + This table has a sparse-dependent relationship on the + cdtTemplateTable, containing a row for each dynamic template + having a cdtTemplateType of one of the following values: + + 'derived' + 'ethernet'"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1"; + + list cdtEthernetTemplateEntry { + key "cdtTemplateName"; + description + "An entry containing attributes relating to dynamic interfaces + initiated on Ethernet virtual interfaces (e.g., EoMPLS) or + automatically created VLANs. + + The system automatically creates an entry when the system or the + EMS/NMS creates a row in the cdtTemplateTable with a + cdtTemplateType of one of the following values: + + 'derived' + 'ethernet' + + Likewise, the system automatically destroys an entry when the + system or the EMS/NMS destroys the corresponding row in the + cdtTemplateTable."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtEthernetValid { + type bits { + bit bridgeDomain { + position "0"; + } + bit pppoeEnable { + position "1"; + } + bit ipv4PointToPoint { + position "2"; + } + bit macAddr { + position "3"; + } + } + description + "This object specifies which attributes in the dynamic template + have been configured to valid values. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is not valid. If the bit is '1', then the value of the + corresponding column has been configured to a valid value. + + The following list specifies the mappings between bits and the + columns: + + bridgeDomain => cdtEthernetBridgeDomain + pppoeEnable => cdtEthernetPppoeEnable + ipv4PointToPoint => cdtEthernetIpv4PointToPoint + macAddr => cdtEthernetMacAddr"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1.1"; + } + + leaf cdtEthernetBridgeDomain { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the bridge domain..."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1.2"; + } + + leaf cdtEthernetPppoeEnable { + type boolean; + description + "This object specifies whether..."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1.3"; + } + + leaf cdtEthernetIpv4PointToPoint { + type boolean; + description + "This object specifies whether..."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1.4"; + } + + leaf cdtEthernetMacAddr { + type yang:mac-address; + description + "This object specifies the..."; + smiv2:defval "'000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4.1.1.5"; + } + } + } + + container cdtSrvTemplateTable { + description + "This table contains attributes relating to a service. + + This table has a sparse-dependent relationship on the + cdtTemplateTable, containing a row for each dynamic template + having a cdtTemplateType of one of the following values: + + 'derived' + 'service'"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1"; + + list cdtSrvTemplateEntry { + key "cdtTemplateName"; + description + "An entry containing attributes relating to a service. + + The system automatically creates entry when the system or the + EMS/NMS creates a row in the cdtTemplateTable with a + cdtTemplateType of one of the following values: + + 'derived' + 'service' + + Likewise, the system automatically destroys an entry when the + system or the EMS/NMS destroys the corresponding row in the + cdtTemplateTable."; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1"; + + leaf cdtTemplateName { + type leafref { + path "/CISCO-DYNAMIC-TEMPLATE-MIB:CISCO-DYNAMIC-TEMPLATE-MIB/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateTable/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateEntry/CISCO-DYNAMIC-TEMPLATE-MIB:cdtTemplateName"; + } + } + + leaf cdtSrvValid { + type bits { + bit networkSrv { + position "0"; + } + bit vpdnGroup { + position "1"; + } + bit sgSrvGroup { + position "2"; + } + bit sgSrvType { + position "3"; + } + bit multicast { + position "4"; + } + } + description + "This object specifies which attributes in the dynamic template + have been configured to valid values. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is not valid. If the bit is '1', then the value of the + corresponding column has been configured to a valid value. + + The following list specifies the mappings between bits and the + columns: + + networkSrv => cdtSrvNetworkSrv + vpdnGroup => cdtSrvVpdnGroup + sgSrvGroup => cdtSrvGroup + sgSrvType => cdtSrvSgSrvType + multicast => cdtSrvMulticast"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.1"; + } + + leaf cdtSrvNetworkSrv { + type enumeration { + enum "other" { + value "1"; + } + enum "none" { + value "2"; + } + enum "local" { + value "3"; + } + enum "vpdn" { + value "4"; + } + } + description + "This object specifies the type of network service provided by + the target service: + + 'other' + The implementation of this MIB module does not recognize + the configured network service. + + 'none' + The target subscriber service does not provide a network + service to subscribers sessions. + + 'local' + The target subscriber service provides local termination + for subscriber sessions. + + 'vpdn' + The target subscriber service provides a Virtual Private + Dialup Network service for subscriber sessions. + + This column is valid only if the 'networkSrv' bit of the + corresponding instance of cdtSrvValid is '1'."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.2"; + } + + leaf cdtSrvVpdnGroup { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the VPDN group used to + configure the network service. + + This column is valid only if the 'vpdnGroup' bit of the + corresponding instance of cdtSrvValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.3"; + } + + leaf cdtSrvSgSrvGroup { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the service group with which + the system associates subscriber sessions. A service group + specifies a set of services that may be active simultaneously + for a given subscriber session. Typically, a service group + contains a primary service and one or more secondary services. + + This column is valid only if the 'sgSrvGroup' bit of the + corresponding instance of cdtSrvValid is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.4"; + } + + leaf cdtSrvSgSrvType { + type enumeration { + enum "primary" { + value "1"; + } + enum "secondary" { + value "2"; + } + } + description + "This object specifies whether the target service specifies a + network-forwarding policy: + + 'primary' + The target service specifies a network-forwarding + policy. Primary services are mutually exclusive; that + is, only one primary service can be activated for any + given subscriber session. + + 'secondary' + The target service has a dependence on the primary + service in the group specified by the corresponding + instance of cdtSuBSrvSgSrvGroup. After the system + activates the primary service, it activates secondary + services. When the system deactivates the primary + service, then it deactivates all the secondary services + in the service group. + + This column is valid only if the 'sgSrvType' bit of the + corresponding instance of cdtSrvValid is '1'."; + smiv2:defval "secondary"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.5"; + } + + leaf cdtSrvMulticast { + type boolean; + description + "This objects specifies whether the system enables multicast + service for subscriber sessions of the target service. + + This column is valid only if the 'sgSrvMcastRoutingIf' bit of + the corresponding instance of cdtSrvValid is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6.1.1.6"; + } + } + } + } + + smiv2:alias "ciscoDynamicTemplateMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.784"; + } + + smiv2:alias "ciscoDynamicTemplateMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.784.0"; + } + + smiv2:alias "ciscoDynamicTemplateMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1"; + } + + smiv2:alias "cdtBase" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.1"; + } + + smiv2:alias "cdtCommonIf" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.2"; + } + + smiv2:alias "cdtPpp" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.3"; + } + + smiv2:alias "cdtEthernet" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.4"; + } + + smiv2:alias "cdtIpSubscriber" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.5"; + } + + smiv2:alias "cdtService" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.6"; + } + + smiv2:alias "cdtSubscriberGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.784.1.7"; + } + + smiv2:alias "ciscoDynamicTemplateMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.784.2"; + } + + smiv2:alias "ciscoDynamicTemplateMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.784.2.1"; + } + + smiv2:alias "ciscoDynamicTemplateMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.784.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-TC-MIB.yang new file mode 100644 index 000000000..e8fd138d9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-DYNAMIC-TEMPLATE-TC-MIB.yang @@ -0,0 +1,203 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-DYNAMIC-TEMPLATE-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-DYNAMIC-TEMPLATE-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-DYNAMIC-TEMPLATE-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB"; + prefix CISCO-DYNAMIC-TEMPLATE-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines textual conventions used by the + CISCO-DYNAMIC-TEMPLATE-MIB and MIB modules that use and expand + on dynamic templates."; + + revision 2012-01-27 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2007-09-06 { + description + "The initial version of the MIB module."; + } + + typedef DynamicTemplateName { + type binary { + length "1..64"; + } + description + "A string-value that identifies a dynamic template. The + semantics of the string-value are the same as those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB [RFC3411]."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management + Frameworks', RFC-3411, December 2002."; + } + + typedef DynamicTemplateType { + type enumeration { + enum "other" { + value "1"; + } + enum "derived" { + value "2"; + } + enum "ppp" { + value "3"; + } + enum "ethernet" { + value "4"; + } + enum "ipSubscriber" { + value "5"; + } + enum "service" { + value "6"; + } + } + description + "An enumerated integer-value describing the type of dynamic + template: + + 'other' + The implementation of the MIB module using this textual + convention does not recognize the type of dynamic template. + + 'derived' + A configuration resulting from the union of the attributes + contained by all the dynamic templates associated with a + target. The system generates a derived configuration, and + an EMS/NMS cannot directly modify it. An EMS/NMS can only + affect a derived configuration by modifying one or more of + the dynamic templates associated with the target. + + 'ppp' + A PPP template is a set of locally-configured attributes + relating to the configuration of a PPP interface. + + 'ethernet' + An Ethernet template is a set of locally-configured + attributes used by the system to configure dynamic + interfaces initiated on Ethernet virtual interfaces (e.g., + EoMPLS) or automatically created VLANs. + + 'ipSubscriber' + An IP subscriber template is a set of locally-configured + attributes used by the system to configure certain types of + IP and L2 subscriber sessions. + + 'service' + A service template is a set of locally-configured attributes + used by the system to configure subscriber sessions. These + attributes specifically relate to services, and the system + applies these attributes in response to subscriber session + life-cycle events."; + } + + typedef DynamicTemplateTargetType { + type enumeration { + enum "other" { + value "1"; + } + enum "interface" { + value "2"; + } + } + description + "An enumerated integer-value describing the type of target + associated with one or more dynamic templates: + + 'other' + The implementation of the MIB module using this textual + convention does not recognize the type of target. + + 'interface' + The target is a physical, logical, or virtual interface + represented by an ifEntry (defined by the IF-MIB). + + An implementation must ensure that DynamicTemplateTargetType + object and any associated DynamicTemplateTargetId objects are + consistent. An attempt to set a DynamicTemplateTargetType + object to a value inconsistent with the associated + DynamicTemplateTargetId object must result in a response with + an + error-status of 'inconsistentValue'."; + reference + "K. McCloghrie and F. Kastenholtz, 'The Interfaces Group + MIB', + RFC-2863, June 2000."; + } + + typedef DynamicTemplateTargetId { + type binary { + length "1..20"; + } + description + "An binary string-value in network byte order identifying a + target associated with one or more dynamic templates. + + An implementation must interpret a DynamicTemplateTargetId + value + within the context of a DynamicTemplateTargetType. Every usage + of the DynamicTemplateTargetId textual convention must have a + corresponding object specifying the DynamicTemplateType that + provides this context. It is most appropriate that a MIB + module + logical registers the DynamicTemplateType object before the use + of the DynamicTemplateTargetId textual convention within the + same logical row. + + The value of a DynamicTemplateTargetId object must always be + consistent with the value of the associated + DynamicTemplateTargetType object. An attempt to set a + DynamicTemplateTargetId object to a value inconsistent with the + with the associated DynamicTemplateTargetType object must + result + in a response with an error-status of 'inconsistentValue'. + + If the DynamicTemplateTargetType is 'interface', then the representation + of DynamicTemplateTargetId is as below + + octets contents encoding + 1-4 ifIndex network-byte order"; + reference + "K. McCloghrie and F. Kastenholtz, 'The Interfaces Group + MIB', + RFC-2863, June 2000."; + } + + smiv2:alias "ciscoDynamicTemplateTcMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.783"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-EIGRP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-EIGRP-MIB.yang new file mode 100644 index 000000000..ea30eefc2 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-EIGRP-MIB.yang @@ -0,0 +1,1252 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-EIGRP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-EIGRP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-EIGRP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB"; + prefix CISCO-EIGRP-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-eigrp@cisco.com"; + + description + "Enhanced Interior Gateway Protocol (EIGRP) is a Cisco + proprietary distance vector routing protocol. It is based on + the Diffusing Update Algorithm (DUAL), which is a method of + finding loop-free paths through a network. Directly + connected routers running EIGRP form neighbor adjacencies in + order to propagate best-path and alternate-path routing + information for configured and learned routes. + + The tables defined within the MIB are closely aligned with how + the router command-line interface for EIGRP displays + information on EIGRP configurations, i.e., the topology table + contains objects associated with the EIGRP topology commands, + and the peer table contains objects associated withe EIGRP + neighbor commands, etc. + + There are five main tables within this mib: + + EIGRP VPN table + Contains information regarding which virtual private + networks (VPN) are configured with EIGRP. + + EIGRP traffic statistics table + Contains counter & statistcs regarding specific types of + EIGRP packets sent and related collective information + per VPN and per autonomous system (AS). + + EIGRP topology table + Contains information regarding EIGRP routes received in + updates and originated locally. EIGRP sends and + receives routing updates from adjacent routers running + EIGRP with which it formed a peer relationship. + + EIGRP peer (neighbor) table + Contains information about neighbor EIGRP routers with + which peer adjacencies have been established. EIGRP + uses a Hello protocol to form neighbor relationships + with directly connected routers also running EIGRP. + + EIGRP interfaces table + Contains information and statistics on each of the + interfaces on the router over which EIGRP has been + configured to run."; + + revision 2004-11-16 { + description + "Initial version of the MIB module."; + } + + typedef EigrpUpTimeString { + type string; + description + "Specifies a timer value in days, hours, minutes, + and seconds in ASCII format. + + If the up time is less than 24 hours, the number + of days will not be reflected and the string will + be formatted like this: 'hh:mm:ss', reflecting + hours, minutes, and seconds. + + If the up time is greater than 24 hours, EIGRP is + less precise and the minutes and seconds are not + reflected. Instead only the days and hours are shown + and the string will be formatted like this: 'xxxdxxh'."; + smiv2:display-hint "8a"; + } + + typedef EigrpVersionString { + type string; + description + "Specifies an ASCII string representing the IOS major + and minor version followed by the EIGRP major and minor + version."; + smiv2:display-hint "1d.1d/1d.1d"; + } + + + container CISCO-EIGRP-MIB { + config false; + + container cEigrpVpnTable { + description + "This table contains information on those VPN's configured + to run EIGRP. The VPN creation on a router is independent + of the routing protocol to be used over it. A VPN is + given a name and has a dedicated routing table associated + with it. This routing table is identified internally + by a unique integer value."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.1.1"; + + list cEigrpVpnEntry { + key "cEigrpVpnId"; + description + "Information relating to a single VPN which is configured + to run EIGRP."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.1.1.1"; + + leaf cEigrpVpnId { + type uint32; + description + "The unique VPN identifier. This is a unique integer + relative to all other VPN's defined on the router. It + also identifies internally the routing table instance."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.1.1.1.1"; + } + + leaf cEigrpVpnName { + type snmp-framework:SnmpAdminString; + description + "The name given to the VPN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.1.1.1.2"; + } + } + } + + container cEigrpTraffStatsTable { + description + "Table of EIGRP traffic statistics and information + associated with all EIGRP autonomous systems."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1"; + + list cEigrpTraffStatsEntry { + key "cEigrpVpnId cEigrpAsNumber"; + description + "The set of statistics and information for a single EIGRP + Autonomous System."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1"; + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type uint32; + description + "The Autonomous System number which is unique integer + per VPN."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.1"; + } + + leaf cEigrpNbrCount { + type uint32; + description + "The total number of live EIGRP neighbors formed on all + interfaces whose IP addresses fall under networks configured + in the EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.2"; + } + + leaf cEigrpHellosSent { + type yang:counter32; + description + "The total number Hello packets that have been sent to all + EIGRP neighbors formed on all interfaces whose IP addresses + fall under networks configured for the EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.3"; + } + + leaf cEigrpHellosRcvd { + type yang:counter32; + description + "The total number Hello packets that have been received + from all EIGRP neighbors formed on all interfaces whose IP + addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.4"; + } + + leaf cEigrpUpdatesSent { + type yang:counter32; + description + "The total number routing update packets that have been + sent to all EIGRP neighbors formed on all interfaces whose + IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.5"; + } + + leaf cEigrpUpdatesRcvd { + type yang:counter32; + description + "The total number routing update packets that have been + received from all EIGRP neighbors formed on all interfaces + whose IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.6"; + } + + leaf cEigrpQueriesSent { + type yang:counter32; + description + "The total number alternate route query packets that have + been sent to all EIGRP neighbors formed on all interfaces + whose IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.7"; + } + + leaf cEigrpQueriesRcvd { + type yang:counter32; + description + "The total number alternate route query packets that + have been received from all EIGRP neighbors formed on + all interfaces whose IP addresses fall under networks + configured for the EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.8"; + } + + leaf cEigrpRepliesSent { + type yang:counter32; + description + "The total number query reply packets that have been sent + to all EIGRP neighbors formed on all interfaces whose IP + addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.9"; + } + + leaf cEigrpRepliesRcvd { + type yang:counter32; + description + "The total number query reply packets that have been + received from all EIGRP neighbors formed on all interfaces + whose IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.10"; + } + + leaf cEigrpAcksSent { + type yang:counter32; + description + "The total number packet acknowledgements that have been + sent to all EIGRP neighbors formed on all interfaces whose + IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.11"; + } + + leaf cEigrpAcksRcvd { + type yang:counter32; + description + "The total number packet acknowledgements that have been + received from all EIGRP neighbors formed on all interfaces + whose IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.12"; + } + + leaf cEigrpInputQHighMark { + type uint32; + description + "The highest number of EIGRP packets in the input queue + waiting to be processed internally addressed to this + AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.13"; + } + + leaf cEigrpInputQDrops { + type yang:counter32; + description + "The number of EIGRP packets dropped from the input + queue due to it being full within the AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.14"; + } + + leaf cEigrpSiaQueriesSent { + type yang:counter32; + description + "The total number of Stuck-In-Active (SIA) query packets + sent to all EIGRP neighbors formed on all interfaces whose + IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.15"; + } + + leaf cEigrpSiaQueriesRcvd { + type yang:counter32; + description + "The total number of Stuck-In-Active (SIA) query packets + received from all EIGRP neighbors formed on all interfaces + whose IP addresses fall under networks configured for the + EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.16"; + } + + leaf cEigrpAsRouterIdType { + type inet-address:InetAddressType; + description + "The format of the router-id configured or automatically + selected for the EIGRP AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.17"; + } + + leaf cEigrpAsRouterId { + type inet-address:InetAddress; + description + "The router-id configured or automatically selected for the + EIGRP AS. Each EIGRP routing process has a unique + router-id selected from each autonomous system configured. + The format is governed by object cEigrpAsRouterIdType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.18"; + } + + leaf cEigrpTopoRoutes { + type yang:counter32; + description + "The total number of EIGRP derived routes currently existing + in the topology table for the AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.19"; + } + + leaf cEigrpHeadSerial { + type yang:counter64; + description + "Routes in a topology table for an AS are assigned serial + numbers and are sequenced internally as they are inserted + and deleted. The serial number of the first route in + that internal sequence is called the head serial number. + Each AS has its own topology table, and its own serial + number space, each of which begins with the value 1. + A serial number of zero implies that there are no routes + in the topology."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.20"; + } + + leaf cEigrpNextSerial { + type yang:counter64; + description + "The serial number that would be assigned to the next new + or changed route in the topology table for the AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.21"; + } + + leaf cEigrpXmitPendReplies { + type uint32; + description + "When alternate route query packets are sent to adjacent + EIGRP peers in an AS, replies are expected. This object + is the total number of outstanding replies expected to + queries that have been sent to peers in the current AS. + It remains at zero most of the time until an EIGRP route + becomes active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.22"; + } + + leaf cEigrpXmitDummies { + type uint32; + description + "A dummy is a temporary internal entity used as a place + holder in the topology table for an AS. They are not + transmitted in routing updates. This is the total + number currently in existence associated with the AS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2.1.1.23"; + } + } + } + + container cEigrpTopoTable { + description + "The table of EIGRP routes and their associated + attributes for an Autonomous System (AS) configured + in a VPN is called a topology table. All route entries in + the topology table will be indexed by IP network type, + IP network number and network mask (prefix) size."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1"; + + list cEigrpTopoEntry { + key "cEigrpVpnId cEigrpAsNumber cEigrpDestNetType cEigrpDestNet cEigrpDestNetPrefixLen"; + description + "The entry for a single EIGRP topology table in the given + AS."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1"; + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpDestNetType { + type inet-address:InetAddressType; + description + "The format of the destination IP network number for + a single route in the topology table in the AS specified + in cEigrpDestNet."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.1"; + } + + leaf cEigrpDestNet { + type inet-address:InetAddress; + description + "The destination IP network number for a single route in + the topology table in the AS. The format is governed + by object cEigrpDestNetType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.2"; + } + + leaf cEigrpDestNetPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "The prefix length associated with the destination IP + network address for a single route in the topology + table in the AS. The format is governed by the object + cEigrpDestNetType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.4"; + } + + leaf cEigrpActive { + type boolean; + description + "A value of true(1) indicates the route to the + destination network has failed and an active (query) + search for an alternative path is in progress. A value + of false(2) indicates the route is stable (passive)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.5"; + } + + leaf cEigrpStuckInActive { + type boolean; + description + "A value of true(1) indicates that that this route which is + in active state (cEigrpActive = true(1)) has not received + any replies to queries for alternate paths, and a second + EIGRP route query, called a stuck-in-active query, has + now been sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.6"; + } + + leaf cEigrpDestSuccessors { + type uint32; + description + "A successor is the next routing hop for a path to the + destination IP network number for a single route in the + topology table in the AS. There can be several + potential successors if there are multiple paths to the + destination. This is the total number of successors for + a topology entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.7"; + } + + leaf cEigrpFdistance { + type uint32; + description + "The feasibility (best) distance is the minimum distance + from this router to the destination IP network in + this topology entry. The feasibility distance is + used in determining the best successor for a path to the + destination network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.8"; + } + + leaf cEigrpRouteOriginType { + type snmp-framework:SnmpAdminString; + description + "This is a text string describing the internal origin + of the EIGRP route represented by the topology entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.9"; + } + + leaf cEigrpRouteOriginAddrType { + type inet-address:InetAddressType; + description + "The format of the IP address defined as the origin of + this topology route entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.10"; + } + + leaf cEigrpRouteOriginAddr { + type inet-address:InetAddress; + description + "If the origin of the topology route entry is external + to this router, then this object is the IP address + of the router from which it originated. The format + is governed by object cEigrpRouteOriginAddrType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.11"; + } + + leaf cEigrpNextHopAddressType { + type inet-address:InetAddressType; + description + "The format of the next hop IP address for the route + represented by the topology entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.12"; + } + + leaf cEigrpNextHopAddress { + type inet-address:InetAddress; + description + "This is the next hop IP address for the route represented + by the topology entry. The next hop is where + network traffic will be routed to in order to reach + the destination network for this topology entry. The + format is governed by cEigrpNextHopAddressType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.13"; + } + + leaf cEigrpNextHopInterface { + type snmp-framework:SnmpAdminString; + description + "The interface through which the next hop IP address + is reached to send network traffic to the destination + network represented by the topology entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.14"; + } + + leaf cEigrpDistance { + type uint32; + description + "The computed distance to the destination network entry + from this router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.15"; + } + + leaf cEigrpReportDistance { + type uint32; + description + "The computed distance to the destination network in the + topology entry reported to this router by the originator + of this route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3.1.1.16"; + } + } + } + + container cEigrpPeerTable { + description + "The table of established EIGRP peers (neighbors) in the + selected autonomous system. Peers are indexed by their + unique internal handle id, as well as the AS number and + VPN id. The peer entry is removed from the table if + the peer is declared down."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1"; + + list cEigrpPeerEntry { + key "cEigrpVpnId cEigrpAsNumber cEigrpHandle"; + description + "Statistics and operational parameters for a single peer + in the AS."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1"; + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpHandle { + type uint32; + description + "The unique internal identifier for the peer in the AS. + This is a unique value among peer entries in a selected + table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.1"; + } + + leaf cEigrpPeerAddrType { + type inet-address:InetAddressType; + description + "The format of the remote source IP address used by the + peer to establish the EIGRP adjacency with this router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.2"; + } + + leaf cEigrpPeerAddr { + type inet-address:InetAddress; + description + "The source IP address used by the peer to establish the + EIGRP adjacency with this router. The format is + governed by object cEigrpPeerAddrType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.3"; + } + + leaf cEigrpPeerIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The ifIndex of the interface on this router through + which this peer can be reached."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.4"; + } + + leaf cEigrpHoldTime { + type uint32; + units "seconds"; + description + "The count-down timer indicating how much time must + pass without receiving a hello packet from this + EIGRP peer before this router declares the peer down. + A peer declared as down is removed from the table and + is no longer visible."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.5"; + } + + leaf cEigrpUpTime { + type CISCO-EIGRP-MIB:EigrpUpTimeString; + description + "The elapsed time since the EIGRP adjacency was first + established with the peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.6"; + } + + leaf cEigrpSrtt { + type uint32; + units "milliseconds"; + description + "The computed smooth round trip time for packets to and + from the peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.7"; + } + + leaf cEigrpRto { + type uint32; + units "milliseconds"; + description + "The computed retransmission timeout for the peer. + This value is computed over time as packets are sent to + the peer and acknowledgements are received from it, + and is the amount of time to wait before resending + a packet from the retransmission queue to the peer + when an expected acknowledgement has not been received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.8"; + } + + leaf cEigrpPktsEnqueued { + type uint32; + description + "The number of any EIGRP packets currently enqueued + waiting to be sent to this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.9"; + } + + leaf cEigrpLastSeq { + type uint32; + description + "All transmitted EIGRP packets have a sequence number + assigned. This is the sequence number of the last EIGRP + packet sent to this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.10"; + } + + leaf cEigrpVersion { + type CISCO-EIGRP-MIB:EigrpVersionString; + description + "The EIGRP version information reported by the remote + peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.11"; + } + + leaf cEigrpRetrans { + type yang:counter32; + description + "The cumulative number of retransmissions to this peer + during the period that the peer adjacency has remained + up."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.12"; + } + + leaf cEigrpRetries { + type uint32; + description + "The number of times the current unacknowledged packet + has been retried, i.e. resent to this peer to be + acknowledged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4.1.1.13"; + } + } + } + + container cEigrpInterfaceTable { + description + "The table of interfaces over which EIGRP is running, and + their associated statistics. This table is independent + of whether any peer adjacencies have been formed over + the interfaces or not. Interfaces running EIGRP are + determined by whether their assigned IP addresses fall + within configured EIGRP network statements."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1"; + + list cEigrpInterfaceEntry { + key "cEigrpVpnId cEigrpAsNumber ifIndex"; + description + "Information for a single interface running EIGRP in the + AS and VPN."; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1"; + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cEigrpPeerCount { + type yang:gauge32; + description + "The number of EIGRP adjacencies currently formed with + peers reached through this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.3"; + } + + leaf cEigrpXmitReliableQ { + type yang:gauge32; + description + "The number of EIGRP packets currently waiting in the + reliable transport (acknowledgement-required) + transmission queue to be sent to a peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.4"; + } + + leaf cEigrpXmitUnreliableQ { + type yang:gauge32; + description + "The number EIGRP of packets currently waiting in + the unreliable transport (no acknowledgement required) + transmission queue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.5"; + } + + leaf cEigrpMeanSrtt { + type uint32; + units "milliseconds"; + description + "The average of all the computed smooth round trip time + values for a packet to and from all peers established on + this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.6"; + } + + leaf cEigrpPacingReliable { + type uint32; + units "milliseconds"; + description + "The configured time interval between EIGRP packet + transmissions on the interface when the reliable transport + method is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.7"; + } + + leaf cEigrpPacingUnreliable { + type uint32; + units "milliseconds"; + description + "The configured time interval between EIGRP packet + transmissions on the interface when the unreliable + transport method is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.8"; + } + + leaf cEigrpMFlowTimer { + type uint32; + units "milliseconds"; + description + "The configured multicast flow control timer value for + this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.9"; + } + + leaf cEigrpPendingRoutes { + type yang:gauge32; + description + "The number of queued EIGRP routing updates awaiting + transmission on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.10"; + } + + leaf cEigrpHelloInterval { + type uint32; + units "seconds"; + description + "The configured time interval between Hello packet + transmissions for this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.11"; + } + + leaf cEigrpXmitNextSerial { + type yang:counter64; + description + "The serial number of the next EIGRP packet that is to + be queued for transmission on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.12"; + } + + leaf cEigrpUMcasts { + type yang:counter32; + description + "The total number of unreliable (no acknowledgement + required) EIGRP multicast packets sent on this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.13"; + } + + leaf cEigrpRMcasts { + type yang:counter32; + description + "The total number of reliable (acknowledgement required) + EIGRP multicast packets sent on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.14"; + } + + leaf cEigrpUUcasts { + type yang:counter32; + description + "The total number of unreliable (no acknowledgement + required) EIGRP unicast packets sent on this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.15"; + } + + leaf cEigrpRUcasts { + type yang:counter32; + description + "The total number of reliable (acknowledgement required) + unicast packets sent on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.16"; + } + + leaf cEigrpMcastExcepts { + type yang:counter32; + description + "The total number of EIGRP multicast exception + transmissions that have occurred on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.17"; + } + + leaf cEigrpCRpkts { + type yang:counter32; + description + "The total number EIGRP Conditional-Receive packets sent on + this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.18"; + } + + leaf cEigrpAcksSuppressed { + type yang:counter32; + description + "The total number of individual EIGRP acknowledgement + packets that have been suppressed and combined in + an already enqueued outbound reliable packet on this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.19"; + } + + leaf cEigrpRetransSent { + type yang:counter32; + description + "The total number EIGRP packet retransmissions sent on + the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.20"; + } + + leaf cEigrpOOSrvcd { + type yang:counter32; + description + "The total number of out-of-sequence EIGRP packets + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.21"; + } + + leaf cEigrpAuthMode { + type enumeration { + enum "none" { + value "1"; + } + enum "md5" { + value "2"; + } + } + description + "The EIGRP authentication mode of the interface. + none : no authentication enabled on the interface + md5 : MD5 authentication enabled on the interface"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.22"; + } + + leaf cEigrpAuthKeyChain { + type snmp-framework:SnmpAdminString; + description + "The name of the authentication key-chain configured + on this interface. The key-chain is a reference to + which set of secret keys are to be accessed in order + to determine which secret key string to use. The key + chain name is not the secret key string password and + can also be used in other routing protocols, such + as RIP and ISIS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5.1.1.23"; + } + } + } + } + + notification cEigrpAuthFailureEvent { + description + "This notification is sent when EIGRP MD5 authentication + is enabled on any interface and peer adjacencies are + formed, and any adjacencies go down as a result of an + authentication failure."; + smiv2:oid "1.3.6.1.4.1.9.9.449.0.1"; + + container object-1 { + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpHandle { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpHandle"; + } + } + + leaf cEigrpPeerAddrType { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpPeerAddrType"; + } + } + } + + container object-2 { + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpHandle { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpHandle"; + } + } + + leaf cEigrpPeerAddr { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpPeerAddr"; + } + } + } + } + + notification cEigrpRouteStuckInActive { + description + "This notification is sent when a route in the topology + table is stuck in an active state. During the query + phase for a new route to a destination network, a route + is described as being in the active state if when an + alternate path is actively being sought, no replies are + received to normal queries or stuck-in-active queries."; + smiv2:oid "1.3.6.1.4.1.9.9.449.0.2"; + + container object-1 { + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpHandle { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpHandle"; + } + } + + leaf cEigrpPeerAddrType { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpPeerAddrType"; + } + } + } + + container object-2 { + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpHandle { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpHandle"; + } + } + + leaf cEigrpPeerAddr { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpPeerTable/CISCO-EIGRP-MIB:cEigrpPeerEntry/CISCO-EIGRP-MIB:cEigrpPeerAddr"; + } + } + } + + container object-3 { + + leaf cEigrpVpnId { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpVpnTable/CISCO-EIGRP-MIB:cEigrpVpnEntry/CISCO-EIGRP-MIB:cEigrpVpnId"; + } + } + + leaf cEigrpAsNumber { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTraffStatsTable/CISCO-EIGRP-MIB:cEigrpTraffStatsEntry/CISCO-EIGRP-MIB:cEigrpAsNumber"; + } + } + + leaf cEigrpDestNetType { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTopoTable/CISCO-EIGRP-MIB:cEigrpTopoEntry/CISCO-EIGRP-MIB:cEigrpDestNetType"; + } + } + + leaf cEigrpDestNet { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTopoTable/CISCO-EIGRP-MIB:cEigrpTopoEntry/CISCO-EIGRP-MIB:cEigrpDestNet"; + } + } + + leaf cEigrpDestNetPrefixLen { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTopoTable/CISCO-EIGRP-MIB:cEigrpTopoEntry/CISCO-EIGRP-MIB:cEigrpDestNetPrefixLen"; + } + } + + leaf cEigrpStuckInActive { + type leafref { + path "/CISCO-EIGRP-MIB:CISCO-EIGRP-MIB/CISCO-EIGRP-MIB:cEigrpTopoTable/CISCO-EIGRP-MIB:cEigrpTopoEntry/CISCO-EIGRP-MIB:cEigrpStuckInActive"; + } + } + } + } + + smiv2:alias "ciscoEigrpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.449"; + } + + smiv2:alias "cEigrpMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.449.0"; + } + + smiv2:alias "cEigrpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1"; + } + + smiv2:alias "cEigrpVpnInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1.1"; + } + + smiv2:alias "cEigrpAsInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1.2"; + } + + smiv2:alias "cEigrpTopologyInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1.3"; + } + + smiv2:alias "cEigrpPeerInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1.4"; + } + + smiv2:alias "cEigrpInterfaceInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.449.1.5"; + } + + smiv2:alias "cEigrpMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.449.2"; + } + + smiv2:alias "cEigrpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.449.2.1"; + } + + smiv2:alias "cEigrpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.449.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-EMBEDDED-EVENT-MGR-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-EMBEDDED-EVENT-MGR-MIB.yang new file mode 100644 index 000000000..e87764d83 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-EMBEDDED-EVENT-MGR-MIB.yang @@ -0,0 +1,877 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-EMBEDDED-EVENT-MGR-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-EMBEDDED-EVENT-MGR-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-EMBEDDED-EVENT-MGR-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB"; + prefix CISCO-EMBEDDED-EVENT-MGR-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 USA + + Tel: +1 800 553-NETS + + E-mail: cs-embedded-event-manager@cisco.com"; + + description + "The MIB module to describe and store events generated + by the Cisco Embedded Event Manager. + + The Cisco Embedded Event Manager detects hardware and software + faults, and other events (such as OIRs) for the system. + It also enables users to configure fault recovery services + for system wide components. The Embedded Event Manager also + provides process reliability statistics. + + The Embedded Event Manager is a policy driven process through + which faults in the system are reported through a defined API. + The Embedded Event Manager policy engine receives notifications + when faults and other events occur. Embedded Event Manager + policies implement recovery based on the current state of the + system and the actions specified in the policy for a given + event. Recovery actions are triggered when the policy is + run. Developers write and customize Embedded Event Manager + policies to handle faults and events."; + + revision 2006-11-07 { + description + "Added eventType5 to eventType8."; + } + + revision 2003-04-16 { + description + "Initial version of this MIB."; + } + + typedef NotifySource { + type enumeration { + enum "server" { + value "1"; + } + enum "policy" { + value "2"; + } + } + description + "The notification source of the history entry. + server - Notification was sent by the Embedded Event + Manager server. + policy - Notification was sent from within an Embedded + Event Manager policy."; + } + + + container CISCO-EMBEDDED-EVENT-MGR-MIB { + config false; + + container ceemHistory { + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2"; + + leaf ceemHistoryMaxEventEntries { + type int32 { + range "0..50"; + } + description + "The maximum number of entries that can be held in + ceemHistoryEventTable."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.1"; + } + + leaf ceemHistoryLastEventEntry { + type uint32 { + range "1..4294967295"; + } + description + "Index of last entry created in ceemHistoryEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.2"; + } + } + + container ceemEventMapTable { + description + "A table containing information about ceemEventIndex + value mapping. Each conceptual row specifies a + unique mapping between a ceemEventIndex value, and a + Embedded Event Manager event type. Rows are added + dynamically as the Embedded Event Manager server learns + of new event types. This occurs when Embedded Event + Manager Event Detectors register with the Embedded + Event Manager server."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1.1"; + + list ceemEventMapEntry { + key "ceemEventIndex"; + description + "A mapping between an event type and an event description."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1.1.1"; + + leaf ceemEventIndex { + type uint32; + description + "This object uniquely identifies an event. Events + are not persisted across reloads."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1.1.1.1"; + } + + leaf ceemEventName { + type snmp-framework:SnmpAdminString { + length "1..128"; + } + description + "The name of the Embedded Event Manager event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1.1.1.2"; + } + + leaf ceemEventDescrText { + type snmp-framework:SnmpAdminString; + description + "This object specifies a human-readable + message describing information about the + Embedded Event Manager event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1.1.1.3"; + } + } + } + + container ceemHistoryEventTable { + description + "A table of Embedded Event Manager events generated by this + router. Conceptual row entries are dynamically added into + this table when Embedded Event Manager events occur. + + Entries are stored in FIFO order. When the maximum number + of entries has been reached in the table, the oldest entry + in the table is removed immediately. + + When a table is reduced to a smaller size N, the oldest + entries are immediately removed from the table leaving + a maximum of N entries."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3"; + + list ceemHistoryEventEntry { + key "ceemHistoryEventIndex"; + description + "Information about an Embedded Event Manager event which has + been generated by this router. It provides up to four event + types to support complex event specifications that are + triggered when multiple events are published within a certain + period of time."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1"; + + leaf ceemHistoryEventIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing non-zero integer uniquely + identifying a generated event. When it reaches the + maximum value, the agent wraps the value back to 1 + and may flush all existing entries in the event table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.1"; + } + + leaf ceemHistoryEventType1 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.2"; + } + + leaf ceemHistoryEventType2 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.3"; + } + + leaf ceemHistoryEventType3 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.4"; + } + + leaf ceemHistoryEventType4 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.5"; + } + + leaf ceemHistoryPolicyPath { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "The file path on the router where the Embedded Event Manager + policy that was triggered is stored. If the size of the + file path string is larger than 128, the end characters + will be truncated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.6"; + } + + leaf ceemHistoryPolicyName { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "The name of the Embedded Event Manager policy that was + triggered because of an Embedded Event Manager event. The + name must be a valid Embedded Event Manager policy name. + It must be in the form of a valid Posix filename."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.7"; + } + + leaf ceemHistoryPolicyExitStatus { + type int32 { + range "-2147483648..2147483647"; + } + description + "The exit status of the Embedded Event Manager policy + execution. This value corresponds to the Posix process + exit status."; + reference + "Posix 1003.1 Specification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.8"; + } + + leaf ceemHistoryPolicyIntData1 { + type int32 { + range "-2147483648..2147483647"; + } + description + "Arbitrary integer data that the Embedded Event Manager policy + can use. Use of this object is optional. If unused by + a policy, this object will not be instantiated for + that policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.9"; + } + + leaf ceemHistoryPolicyIntData2 { + type int32 { + range "-2147483648..2147483647"; + } + description + "Arbitrary integer data that the Embedded Event Manager policy + can use. Use of this object is optional. If unused by + a policy, this object will not be instantiated for + that policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.10"; + } + + leaf ceemHistoryPolicyStrData { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "Arbitrary string data the Embedded Event Manager policy can + use. Use of this object is optional. If unused by + a policy, this object will not be instantiated for + that policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.11"; + } + + leaf ceemHistoryNotifyType { + type CISCO-EMBEDDED-EVENT-MGR-MIB:NotifySource; + description + "The notification type that was sent from the Embedded Event + Manager. The valid values are server or policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.12"; + } + + leaf ceemHistoryEventType5 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.13"; + } + + leaf ceemHistoryEventType6 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.14"; + } + + leaf ceemHistoryEventType7 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.15"; + } + + leaf ceemHistoryEventType8 { + type uint32; + description + "The type of Embedded Event Manager event which was + detected. The value corresponds to an entry in the + ceemEventTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2.3.1.16"; + } + } + } + + container ceemRegisteredPolicyTable { + description + "A table of Embedded Event Manager policies registered on a system. + The number of entries depends on the configuration of the system. The + maximum number is implementation dependent."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1"; + + list ceemRegisteredPolicyEntry { + key "ceemRegisteredPolicyIndex"; + description + "An entry in the table of Embedded Event Manager policies that are + registered. It provides up to four event types to support complex + event specifications that are triggered when multiple events are + published within a certain period of time. A row in this table + cannot be created or deleted by SNMP operations on columns of the + table."; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1"; + + leaf ceemRegisteredPolicyIndex { + type uint32; + description + "A monotonically increasing non-zero integer uniquely + identifying a policy registration. When it reaches the + maximum value, the agent wraps the value back to 1 upon + receiving the next policy registration."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.1"; + } + + leaf ceemRegisteredPolicyName { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "The name of the Embedded Event Manager policy that was + registered. The name must be a valid Embedded Event + Manager policy name. It must be in the form of a valid + Posix filename."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.2"; + } + + leaf ceemRegisteredPolicyEventType1 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.3"; + } + + leaf ceemRegisteredPolicyEventType2 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.4"; + } + + leaf ceemRegisteredPolicyEventType3 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.5"; + } + + leaf ceemRegisteredPolicyEventType4 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.6"; + } + + leaf ceemRegisteredPolicyStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This status indicates whether the policy is enabled or disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.7"; + } + + leaf ceemRegisteredPolicyType { + type enumeration { + enum "user" { + value "1"; + } + enum "system" { + value "2"; + } + } + description + "This variable indicates whether this is a user or system policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.8"; + } + + leaf ceemRegisteredPolicyNotifFlag { + type boolean; + description + "This flag indicates if an SNMP notification will be sent when + policy is triggered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.9"; + } + + leaf ceemRegisteredPolicyRegTime { + type snmpv2-tc:DateAndTime; + description + "The time the policy was registered. It is stored as a + 32-bit count of seconds since 0000 UTC, 1 January, 1970."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.10"; + } + + leaf ceemRegisteredPolicyEnabledTime { + type snmpv2-tc:DateAndTime; + description + "The time the policy was last enabled. It is stored as a + 32-bit count of seconds since 0000 UTC, 1 January, 1970."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.11"; + } + + leaf ceemRegisteredPolicyRunTime { + type snmpv2-tc:DateAndTime; + description + "The last time the policy was run. It is stored as a + 32-bit count of seconds since 0000 UTC, 1 January, 1970."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.12"; + } + + leaf ceemRegisteredPolicyRunCount { + type yang:counter32; + description + "The number of times the policy has been run."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.13"; + } + + leaf ceemRegisteredPolicyEventType5 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.14"; + } + + leaf ceemRegisteredPolicyEventType6 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.15"; + } + + leaf ceemRegisteredPolicyEventType7 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.16"; + } + + leaf ceemRegisteredPolicyEventType8 { + type uint32; + description + "The type of Embedded Event Manager event which was registered + by the policy. The value corresponds to an entry in the + ceemEventMapTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3.1.1.17"; + } + } + } + } + + notification cEventMgrServerEvent { + description + "This notification is sent by the Embedded Event Manager + server after it has run a policy associated with the + event ceemHistoryEventType that was received."; + smiv2:oid "1.3.6.1.4.1.9.10.134.0.1"; + + container object-1 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType1 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType1"; + } + } + } + + container object-2 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType2 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType2"; + } + } + } + + container object-3 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType3 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType3"; + } + } + } + + container object-4 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType4 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType4"; + } + } + } + + container object-5 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyPath { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyPath"; + } + } + } + + container object-6 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyName { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyName"; + } + } + } + + container object-7 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyExitStatus { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyExitStatus"; + } + } + } + } + + notification cEventMgrPolicyEvent { + description + "This notification is configured to be sent from within + an Embedded Event Manager policy after an Embedded Event + Manager event ceemHistoryEventType has occurred. + If one or more of the objects ceemHistoryPolicyIntData1, + ceemHistoryPolicyIntData2, and ceemHistoryPolicyStrData are + not instantiated, then the varbind for the object(s) not + instantiated will contain the value 'noSuchInstance'."; + smiv2:oid "1.3.6.1.4.1.9.10.134.0.2"; + + container object-1 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType1 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType1"; + } + } + } + + container object-2 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType2 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType2"; + } + } + } + + container object-3 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType3 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType3"; + } + } + } + + container object-4 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryEventType4 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventType4"; + } + } + } + + container object-5 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyPath { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyPath"; + } + } + } + + container object-6 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyName { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyName"; + } + } + } + + container object-7 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyIntData1 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyIntData1"; + } + } + } + + container object-8 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyIntData2 { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyIntData2"; + } + } + } + + container object-9 { + + leaf ceemHistoryEventIndex { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventIndex"; + } + } + + leaf ceemHistoryPolicyStrData { + type leafref { + path "/CISCO-EMBEDDED-EVENT-MGR-MIB:CISCO-EMBEDDED-EVENT-MGR-MIB/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventTable/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryEventEntry/CISCO-EMBEDDED-EVENT-MGR-MIB:ceemHistoryPolicyStrData"; + } + } + } + } + + smiv2:alias "cEventMgrMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.134"; + } + + smiv2:alias "cEventMgrMIBNotif" { + smiv2:oid "1.3.6.1.4.1.9.10.134.0"; + } + + smiv2:alias "cEventMgrMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.134.1"; + } + + smiv2:alias "ceemEventMap" { + smiv2:oid "1.3.6.1.4.1.9.10.134.1.1"; + } + + smiv2:alias "ceemHistory" { + smiv2:oid "1.3.6.1.4.1.9.10.134.1.2"; + } + + smiv2:alias "ceemRegisteredPolicy" { + smiv2:oid "1.3.6.1.4.1.9.10.134.1.3"; + } + + smiv2:alias "cEventMgrConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.134.3"; + } + + smiv2:alias "cEventMgrCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.134.3.1"; + } + + smiv2:alias "cEventMgrGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.134.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENHANCED-MEMPOOL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENHANCED-MEMPOOL-MIB.yang new file mode 100644 index 000000000..052d77302 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENHANCED-MEMPOOL-MIB.yang @@ -0,0 +1,1121 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-ENHANCED-MEMPOOL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENHANCED-MEMPOOL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENHANCED-MEMPOOL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB"; + prefix CISCO-ENHANCED-MEMPOOL-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-memory@cisco.com"; + + description + "New MIB module for monitoring the memory pools + of all physical entities on a managed system."; + + revision 2008-12-05 { + description + "Added the following High Capacity and Overflow objects + in cempMemPoolTable. + cempMemPoolUsedOvrflw, cempMemPoolHCUsed, + cempMemPoolFreeOvrflw, cempMemPoolHCFree, + cempMemPoolLargestFreeOvrflw, cempMemPoolHCLargestFree, + cempMemPoolLowestFreeOvrflw, cempMemPoolHCLowestFree, + cempMemPoolUsedLowWaterMarkOvrflw, + cempMemPoolHCUsedLowWaterMark, + cempMemPoolSharedOvrflw, cempMemPoolHCShared. + Added couple of new groups cempMemPoolHCGroup and + cempMemPoolOvrflwGroup. + Added a new compliance cempMIBComplianceRev3 which deprecates + cempMIBComplianceRev2."; + } + + revision 2008-05-07 { + description + "Added a new object cempMemPoolShared in cempMemPoolTable. + Deprecated cempMemPoolGroup OBJECT-GROUP. + Added cempMemPoolGroupRev1 OBJECT-GROUP. + Deprecated cempMIBComplianceRev1 MODULE-COMPLIANCE. + Added cempMIBComplianceRev2 MODULE-COMPLIANCE."; + } + + revision 2003-02-24 { + description + "Revised version of this MIB,added Objects + to the existing cempMemPoolTable, added buffer pools. + Different types of memory buffer pools + may be present in a managed device. For example: + 1. Public buffers, these are standard pools of packets + of different sizes (eg: 104B, 600B, 1536B, 4520B, + 5024B, 18024B ...). + 2. Private [Interface] buffers (eg. ipc, channel ...). + 3. Header pool. + Pool of dynamic packet headers. Header buffers + have no associated data blocks or particles. + (Particles are a mechanism for representing a + data packet as a collection of discontigious + buffers.). + The new objects added are + cempMemPoolUsedLowWaterMark, cempMemPoolAllocHit, + cempMemPoolAllocMiss, cempMemPoolFreeHit, + cempMemPoolFreeMiss, cempMemBufferPoolTable + & cempMemBufferCachePoolTable."; + } + + revision 2001-06-05 { + description + "Initial version of this MIB."; + } + + typedef CempMemPoolIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique value, greater than zero, for each memory + pool in a particular physical entity. It is recommended + that values are assigned contiguously starting from 1 + such that the index will be unique within a particular + physical entity."; + } + + typedef CempMemPoolIndexOrNone { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of the + CempMemPoolIndex. The latter defines a value greater + than zero to identify a memory pool in a particular + physical entity. This extension permits the additional + value of zero. The value zero is object-specific and + must therefore be defined as part of the description + of any object which uses this syntax. Examples of the + usage of zero might include situations where memory + pool was unknown, or when none or all memory pools + need to be referenced."; + } + + typedef CempMemPoolTypes { + type enumeration { + enum "other" { + value "1"; + } + enum "processorMemory" { + value "2"; + } + enum "ioMemory" { + value "3"; + } + enum "pciMemory" { + value "4"; + } + enum "fastMemory" { + value "5"; + } + enum "multibusMemory" { + value "6"; + } + enum "interruptStackMemory" { + value "7"; + } + enum "processStackMemory" { + value "8"; + } + enum "localExceptionMemory" { + value "9"; + } + enum "virtualMemory" { + value "10"; + } + enum "reservedMemory" { + value "11"; + } + enum "imageMemory" { + value "12"; + } + enum "asicMemory" { + value "13"; + } + enum "posixMemory" { + value "14"; + } + } + description + "Represents the different types of memory pools that + may be present in a managed device. + Note that only the processor pool is required to be + supported by all devices. Support for other pool types + is dependent on the device being managed. + + processorMemory - + processor associated heap memory. + ioMemory - + shared memory for buffer data and + controller descriptor blocks. + pciMemory - + Peripheral Component Interconnect bus + memory which is visible to all devices on + the PCI buses in a platform. + fastMemory - + memory defined by the particular platform + for speed critical applications. + multibusMemory - + memory present on some platforms that + is used as a fallback pool. + interruptStackMemory - + memory for allocating interrupt stacks. + It is usually allocated from heap. + processStackMemory - + memory for allocating process stacks. + It is usually allocated from heap. + localExceptionMemory - + memory reserved for processing + a system core dump. + virtualMemory - + memory used to increase available RAM. + reservedMemory - + memory used for packet headers, + particle headers and particles. + imageMemory - + memory which corresponds to the image + file system. + asicMemory - + Application Specific Integrated Circuit + memory. + posixMemory - + Heap memory associated with posix style + processes in ion."; + } + + typedef CempMemBufferPoolIndex { + type uint32 { + range "0..4294967295"; + } + description + "A unique value, greater than zero, for each buffer + pool in the memory pool on a physical entity. It is + recommended that values are assigned contiguously + starting from 1 such that the index will be unique + within a physical entity. Note that the index does + not overlap among different memory pools."; + } + + + container CISCO-ENHANCED-MEMPOOL-MIB { + config false; + + container cempNotificationConfig { + smiv2:oid "1.3.6.1.4.1.9.9.221.1.2"; + + leaf cempMemBufferNotifyEnabled { + type boolean; + description + "This variable controls generation of the + cempMemBufferNotify. + + When this variable is 'true', generation of + cempMemBufferNotify is enabled. When this variable + is 'false', generation of cempMemBufferNotify + is disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.2.1"; + } + } + + container cempMemPoolTable { + description + "A table of memory pool monitoring entries for all + physical entities on a managed system."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1"; + + list cempMemPoolEntry { + key "entPhysicalIndex cempMemPoolIndex"; + description + "An entry in the memory pool monitoring table."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemPoolIndex { + type CISCO-ENHANCED-MEMPOOL-MIB:CempMemPoolIndex; + description + "Within each physical entity, the unique value + greater than zero, used to represent each memory pool. + It is recommended that values are assigned + contiguously starting from 1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.1"; + } + + leaf cempMemPoolType { + type CISCO-ENHANCED-MEMPOOL-MIB:CempMemPoolTypes; + description + "The type of memory pool for which this entry + contains information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.2"; + } + + leaf cempMemPoolName { + type snmp-framework:SnmpAdminString; + description + "A textual name assigned to the memory pool. This + object is suitable for output to a human operator, + and may also be used to distinguish among the various + pool types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.3"; + } + + leaf cempMemPoolPlatformMemory { + type snmpv2-tc:AutonomousType; + description + "An indication of the platform-specific memory + pool type. The associated instance of cempMemPoolType + is used to indicate the general type of memory pool. + + If no platform specific memory hardware type + identifier exists for this physical entity, or the + value is unknown by this agent, then the value { 0 0 } + is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.4"; + } + + leaf cempMemPoolAlternate { + type CISCO-ENHANCED-MEMPOOL-MIB:CempMemPoolIndexOrNone; + description + "Indicates whether or not this memory pool has an + alternate pool configured. Alternate pools are + used for fallback when the current pool runs out + of memory. + + If an instance of this object has a value of zero, + then this pool does not have an alternate. Otherwise + the value of this object is the same as the value of + cempMemPoolType of the alternate pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.5"; + } + + leaf cempMemPoolValid { + type boolean; + description + "Indicates whether or not cempMemPoolUsed, + cempMemPoolFree, cempMemPoolLargestFree and + cempMemPoolLowestFree in this entry contain accurate + data. If an instance of this object has the value + false (which in and of itself indicates an internal + error condition), the values of these objects + in the conceptual row may contain inaccurate + information (specifically, the reported values may be + less than the actual values)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.6"; + } + + leaf cempMemPoolUsed { + type yang:gauge32; + units "bytes"; + description + "Indicates the number of bytes from the memory pool + that are currently in use by applications on the + physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.7"; + } + + leaf cempMemPoolFree { + type yang:gauge32; + units "bytes"; + description + "Indicates the number of bytes from the memory pool + that are currently unused on the physical entity. + + Note that the sum of cempMemPoolUsed and cempMemPoolFree + is the total amount of memory in the pool"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.8"; + } + + leaf cempMemPoolLargestFree { + type yang:gauge32; + units "bytes"; + description + "Indicates the largest number of contiguous bytes + from the memory pool that are currently unused on + the physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.9"; + } + + leaf cempMemPoolLowestFree { + type yang:gauge32; + units "bytes"; + description + "The lowest amount of available memory in the memory pool + recorded at any time during the operation of the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.10"; + } + + leaf cempMemPoolUsedLowWaterMark { + type yang:gauge32; + description + "Indicates the lowest number of bytes from the memory pool + that have been used by applications on the physical entity + since sysUpTime.Similarly,the Used High + Watermark indicates the largest number of bytes from + the memory pool that have been used by applications on + the physical entity since sysUpTime.This can be + derived as follows: + Used High Watermark = cempMemPoolUsed + + cempMemPoolFree - cempMemPoolLowestFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.11"; + } + + leaf cempMemPoolAllocHit { + type yang:counter32; + description + "Indicates the number of successful allocations from + the memory pool"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.12"; + } + + leaf cempMemPoolAllocMiss { + type yang:counter32; + description + "Indicates the number of unsuccessful allocations from + the memory pool"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.13"; + } + + leaf cempMemPoolFreeHit { + type yang:counter32; + description + "Indicates the number of successful frees/ + deallocations from the memory pool"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.14"; + } + + leaf cempMemPoolFreeMiss { + type yang:counter32; + description + "Indicates the number of unsuccessful attempts + to free/deallocate memory from the memory pool. + For example, this could be due to ownership errors + where the application that did not assign the + memory is trying to free it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.15"; + } + + leaf cempMemPoolShared { + type yang:gauge32; + units "bytes"; + description + "Indicates the number of bytes from the memory pool + that are currently shared on the physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.16"; + } + + leaf cempMemPoolUsedOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of cempMemPoolUsed. + This object needs to be supported only if the used bytes in the + memory pool exceeds 32-bits, otherwise this object value would + be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.17"; + } + + leaf cempMemPoolHCUsed { + type yang:gauge64; + units "bytes"; + description + "Indicates the number of bytes from the memory pool + that are currently in use by applications on the + physical entity. This object is a 64-bit version of + cempMemPoolUsed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.18"; + } + + leaf cempMemPoolFreeOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of cempMemPoolFree. + This object needs to be supported only if the unused bytes in + the memory pool exceeds 32-bits, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.19"; + } + + leaf cempMemPoolHCFree { + type yang:gauge64; + units "bytes"; + description + "Indicates the number of bytes from the memory pool + that are currently unused on the physical entity. + This object is a 64-bit version of cempMemPoolFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.20"; + } + + leaf cempMemPoolLargestFreeOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of + cempMemPoolLargestFree. This object needs to + be supported only if the value of + cempMemPoolLargestFree exceeds 32-bits, otherwise + this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.21"; + } + + leaf cempMemPoolHCLargestFree { + type yang:gauge64; + units "bytes"; + description + "Indicates the largest number of contiguous bytes from the + memory pool that are currently unused on the physical entity. + This object is a 64-bit version of cempMemPoolLargestFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.22"; + } + + leaf cempMemPoolLowestFreeOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of + cempMemPoolLowestFree. This object needs to + be supported only if the value of + cempMemPoolLowestFree exceeds 32-bits, otherwise + this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.23"; + } + + leaf cempMemPoolHCLowestFree { + type yang:gauge64; + units "bytes"; + description + "The lowest amount of available memory in the memory pool + recorded at any time during the operation of the system. + This object is a 64-bit version of cempMemPoolLowestFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.24"; + } + + leaf cempMemPoolUsedLowWaterMarkOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of + cempMemPoolUsedLowWaterMark. This object + needs to be supported only if the value of + cempMemPoolUsedLowWaterMark exceeds 32-bits, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.25"; + } + + leaf cempMemPoolHCUsedLowWaterMark { + type yang:gauge64; + units "bytes"; + description + "Indicates the lowest number of bytes from the memory + pool that have been used by applications on the physical + entity since sysUpTime. This object is a 64-bit version + of cempMemPoolUsedLowWaterMark."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.26"; + } + + leaf cempMemPoolSharedOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bits of cempMemPoolShared. + This object needs to be supported only if the value of + cempMemPoolShared exceeds 32-bits, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.27"; + } + + leaf cempMemPoolHCShared { + type yang:gauge64; + units "bytes"; + description + "Indicates the number of bytes from the memory pool that are + currently shared on the physical entity. This object is a + 64-bit version of cempMemPoolShared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.1.1.28"; + } + } + } + + container cempMemBufferPoolTable { + description + "Entries in this table define entities (buffer pools + in this case) which are contained in an entity + (memory pool) defined by an entry from + cempMemPoolTable. + -- Basic Pool Architecture -- + 1)Pools are classified as being either Static or + Dynamic. Static pools make no attempt to increase + the number of buffers contained within them if the + number of free buffers (cempMemBufferFree) are less + than the number of minimum buffers (cempMemBufferMin). + With Dynamic pools, the pool attempts to meet the + demands of its users. + 2)Buffers in a pool are classified as being either + Permanent or Temporary. Permanent buffers, as their + name suggests, are always in the pool and are never + destroyed unless the number of permanent buffers + (cempMemBufferPermanent) is changed. Temporary + buffers are transient buffers that are created in + dynamic pools whenever the free count + (cempMemBufferFree) of buffers in the pool drops + below the minimum (cempMemBufferMin). + 3)Buffers pools are classified as either Public or + Private. Public pools are available for all users + to allocate buffers from. Private pools are + primarily used by interface drivers."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2"; + + list cempMemBufferPoolEntry { + key "entPhysicalIndex cempMemBufferPoolIndex"; + description + "This contains all the memory buffer pool + configurations object values. The + entPhysicalIndex identifies the entity on which + memory buffer pools are present."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemBufferPoolIndex { + type CISCO-ENHANCED-MEMPOOL-MIB:CempMemBufferPoolIndex; + description + "Within a physical entity, a unique value used + to represent each buffer pool."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.1"; + } + + leaf cempMemBufferMemPoolIndex { + type CISCO-ENHANCED-MEMPOOL-MIB:CempMemPoolIndexOrNone; + description + "This index corresponds to the memory pool (with + cemMemPoolIndex as index in cempMemPoolTable) + from which buffers are allocated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.2"; + } + + leaf cempMemBufferName { + type snmp-framework:SnmpAdminString; + description + "A textual name assigned to the buffer pool. This + object is suitable for output to a human operator, + and may also be used to distinguish among the various + buffer types. + For example: 'Small', 'Big', 'Serial0/1' etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.3"; + } + + leaf cempMemBufferDynamic { + type boolean; + description + "Boolean poolDynamic; if TRUE, the number of buffers + in the pool is adjusted (adding more packet buffers + or deleting excesses) dynamically by the background + process. If FALSE, the number of buffers in the pool + is never adjusted, even if it falls below the minimum, + or to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.4"; + } + + leaf cempMemBufferSize { + type uint32; + units "bytes"; + description + "Indicates the size of buffer element in number of bytes + on the physical entity."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.5"; + } + + leaf cempMemBufferMin { + type uint32; + description + "Indicates the minimum number of free buffers + allowed in the buffer pool or low-water mark (lwm). + For example of its usage : + If cempMemBufferFree < cempMemBufferMin & pool is + dynamic, then signal for growth of particular buffer + pool."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.6"; + } + + leaf cempMemBufferMax { + type uint32; + description + "Indicates the maximum number of free buffers + allowed in the buffer pool or high-water mark (hwm). + For example of its usage : + If cempMemBufferFree > cempMemBufferMax & pool is + dynamic, then signal for trim of particular buffer + pool."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.7"; + } + + leaf cempMemBufferPermanent { + type uint32; + description + "Indicates the total number of permanent buffers in the + pool on the physical entity."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.8"; + } + + leaf cempMemBufferTransient { + type uint32; + description + "Indicates the initial number of temporary buffers + in the pool on the physical entity. This object + instructs the system to create this many number of + temporary extra buffers, just after a system restart. + A change in this object will be effective only after + a system restart."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.9"; + } + + leaf cempMemBufferTotal { + type yang:gauge32; + description + "Indicates the total number of buffers + (include allocated and free buffers) in the + buffer pool on the physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.10"; + } + + leaf cempMemBufferFree { + type yang:gauge32; + description + "Indicates the current number of free buffers in + the buffer pool on the physical entity. + Note that the cempMemBufferFree is less than or equal + to cempMemBufferTotal."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.11"; + } + + leaf cempMemBufferHit { + type yang:counter32; + description + "Indicates the number of buffers successfully + allocated from the buffer pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.12"; + } + + leaf cempMemBufferMiss { + type yang:counter32; + description + "Indicates the number of times a buffer has been + requested, but no buffers were available in the + buffer pool, or when there were fewer than min + buffers(cempMemBufferMin) in the buffer pool. + Note : For interface pools, a miss is actually + a fall back to its corresponding public buffer pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.13"; + } + + leaf cempMemBufferFreeHit { + type yang:counter32; + description + "Indicates the number of successful frees/deallocations + from the buffer pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.14"; + } + + leaf cempMemBufferFreeMiss { + type yang:counter32; + description + "Indicates the number of unsuccessful attempts + to free/deallocate a buffer from the buffer pool. + For example, this could be due to ownership errors + where the application that did not assign the + buffer is trying to free it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.15"; + } + + leaf cempMemBufferPermChange { + type int32; + description + "This value is the difference of the desired number + of permanent buffer & total number of permanent + buffers present in the pool. A positive value of + this object tells the number of buffers needed & a + negative value of the object tells the extra number + of buffers in the pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.16"; + } + + leaf cempMemBufferPeak { + type yang:counter32; + description + "Indicates the peak number of buffers in pool on the + physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.17"; + } + + leaf cempMemBufferPeakTime { + type yang:timestamp; + description + "Indicates the time of most recent change in the peak + number of buffers (cempMemBufferPeak object) in the pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.18"; + } + + leaf cempMemBufferTrim { + type yang:counter32; + description + "The number of buffers that have been trimmed from the + pool when the number of free buffers + (cempMemBufferFree) exceeded the number of max + allowed buffers(cempMemBufferMax)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.19"; + } + + leaf cempMemBufferGrow { + type yang:counter32; + description + "The number of buffers that have been created in the + pool when the number of free buffers(cempMemBufferFree) + was less than minimum(cempMemBufferMix)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.20"; + } + + leaf cempMemBufferFailures { + type yang:counter32; + description + "The number of failures to grant a buffer to a + requester due to reasons other than insufficient + memory. For example, in systems where there are + different execution contexts, it may be too + expensive to create new buffers when running in + certain contexts. In those cases it may be + preferable to fail the request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.21"; + } + + leaf cempMemBufferNoStorage { + type yang:counter32; + description + "The number of times the system tried to create new + buffers, but could not due to insufficient free + memory in the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.2.1.22"; + } + } + } + + container cempMemBufferCachePoolTable { + description + "A table that lists the cache buffer pools + configured on a managed system. + 1)To provide a noticeable performance boost, + Cache Pool can be used. A Cache Pool is effectively + a lookaside list of free buffers that can be + accessed quickly. Cache Pool is tied to Buffer Pool. + 2)Cache pools can optionally have a threshold value + on the number of cache buffers used in a pool. This + can provide flow control management by having a + implementation specific approach such as invoking a + vector when pool cache rises above the optional + threshold set for it on creation."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3"; + + list cempMemBufferCachePoolEntry { + key "entPhysicalIndex cempMemBufferPoolIndex"; + description + "Each entry represents one of the cache buffer pools + available in the system and it contains the + parameters configured for it. + Note : cempMemBufferCachePoolTable has a sparse + dependency with cempMemBufferPoolTable (i.e all the + entires in cempMemBufferPoolTable need not have an + entry in cempMemBufferCachePoolTable."; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemBufferPoolIndex { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolIndex"; + } + } + + leaf cempMemBufferCacheSize { + type uint32; + description + "Indicates the number of buffers in the cache pool + on the physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.1"; + } + + leaf cempMemBufferCacheTotal { + type yang:gauge32; + description + "Indicates the maximum number of free buffers + allowed in the cache pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.2"; + } + + leaf cempMemBufferCacheUsed { + type yang:gauge32; + description + "Indicates the number of cache buffers from the + pool that are currently used on the physical entity. + Note that the cempMemBufferCacheUsed is less than or + equal to cempMemBufferCacheTotal."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.3"; + } + + leaf cempMemBufferCacheHit { + type yang:counter32; + description + "Indicates the number of buffers successfully + allocated from the cache pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.4"; + } + + leaf cempMemBufferCacheMiss { + type yang:counter32; + description + "Indicates the number of times a buffer has been + requested, but no buffers were available in the + cache pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.5"; + } + + leaf cempMemBufferCacheThreshold { + type yang:gauge32; + description + "Indicates the threshold limit for number of cache + buffers used(cempMemBufferCacheUsed)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.6"; + } + + leaf cempMemBufferCacheThresholdCount { + type yang:counter32; + description + "Indicates how many times the number of cache + buffers used(cempMemBufferCacheUsed) has crossed the + threshold value(cempMemBufferCacheThreshold)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1.3.1.7"; + } + } + } + } + + notification cempMemBufferNotify { + description + "Whenever cempMemBufferPeak object is updated in the + buffer pool, a cempMemBufferNotify notification + is sent. The sending of these notifications can be + enabled/disabled via the cempMemBufferNotifyEnabled object."; + smiv2:oid "1.3.6.1.4.1.9.9.221.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemBufferPoolIndex { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolIndex"; + } + } + + leaf cempMemBufferName { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemBufferPoolIndex { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolIndex"; + } + } + + leaf cempMemBufferPeak { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPeak"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cempMemBufferPoolIndex { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolIndex"; + } + } + + leaf cempMemBufferPeakTime { + type leafref { + path "/CISCO-ENHANCED-MEMPOOL-MIB:CISCO-ENHANCED-MEMPOOL-MIB/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolTable/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPoolEntry/CISCO-ENHANCED-MEMPOOL-MIB:cempMemBufferPeakTime"; + } + } + } + } + + smiv2:alias "ciscoEnhancedMemPoolMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.221"; + } + + smiv2:alias "cempMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.221.0"; + } + + smiv2:alias "cempMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.221.1"; + } + + smiv2:alias "cempMemPool" { + smiv2:oid "1.3.6.1.4.1.9.9.221.1.1"; + } + + smiv2:alias "cempNotificationConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.221.1.2"; + } + + smiv2:alias "cempMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.221.3"; + } + + smiv2:alias "cempMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.221.3.1"; + } + + smiv2:alias "cempMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.221.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-ALARM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-ALARM-MIB.yang new file mode 100644 index 000000000..4db5c92ab --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-ALARM-MIB.yang @@ -0,0 +1,900 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ENTITY-ALARM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-ALARM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-ALARM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB"; + prefix CISCO-ENTITY-ALARM-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-dslam@cisco.com"; + + description + "This MIB module defines the managed objects that support the + monitoring of alarms generated by physical entities contained + by the system, including chassis, slots, modules, ports, power + supplies, and fans. In order to monitor alarms generated by a + physical entity, it must be represented by a row in the + entPhysicalTable (see ENTITY-MIB)."; + + revision 1999-07-06 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef AlarmType { + type int32 { + range "0..255"; + } + description + "An arbitrary integer value that uniquely identifies an event + relative to a physical entity contained by a system."; + } + + typedef AlarmSeverity { + type enumeration { + enum "critical" { + value "1"; + } + enum "major" { + value "2"; + } + enum "minor" { + value "3"; + } + enum "info" { + value "4"; + } + } + description + "Each alarm type defined by a vendor type employed by the + system has an associated severity. Bellcore TR-NWT-000474 + defines these severities as follows: + + 'critical' An alarm used to indicate a severe, service- + affecting condition has occurred and that immediate + corrective action is imperative, regardless of the + time of day or day of the week. + + 'major' An alarm used for hardware or software conditions + that indicate a serious disruption of service or the + malfunctioning or failure of important hardware. + These troubles require the immediate attention and + response of a technician to restore or maintain + system capability. The urgency is less than in + critical situations because of a lesser immediate + or impending effect on service or system + performance. + + 'minor' An alarm used for troubles that do not have a + serious effect on service to customers or for + troubles in hardware that are not essential to + the operation of the system. + + 'info' An indication used to raise attention to a condition + that could possibly be an impending problem or to + notify the customer of an event that improves + operation."; + reference + "Bellcore Technical Reference TR-NWT-000474 Issue 4, December + 1993, OTGR Section 4. Network Maintenance: Alarm and Control - + Network Element."; + } + + typedef AlarmSeverityOrZero { + type int32 { + range "0..4"; + } + description + "A value of either '0' or a valid alarm severity."; + } + + typedef AlarmList { + type binary { + length "0..32"; + } + description + "For each unique type of physical entity (i.e., for each set + of physical entities sharing a unique entPhysicalVendorType + OID), there an exists unique alarm space. Observe that it + is not necessary that all the alarms within a space be defined. + + An OCTET STRING represents an alarm list, in which each + bit represents an alarm type. The bits in the first octet + represent alarm types identified by the integer values 1 + through 8, inclusive, The bits in the second octet represent + alarm types identified by the integer values 9 through 16, + inclusive, and so forth. The least significant bit of an + octet represents the alarm type identified by the lowest + integer value, and the most significant bit represents the + alarm type identified by the highest integer value. The + figure shown below illustrates the format of an alarm list. + + Octet 1 Octet 32 + + 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 + +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + | |...| | + +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + | | | | | | | | | | | | | | | | + | | | | | | | | | | | | | | | +- Alarm 248 + | | | | | | | | | | | | | | +--- Alarm 249 + | | | | | | | | | | | | | +----- Alarm 250 + | | | | | | | | | | | | +------- Alarm 251 + | | | | | | | | | | | +--------- Alarm 252 + | | | | | | | | | | +----------- Alarm 253 + | | | | | | | | | +------------- Alarm 254 + | | | | | | | | +--------------- Alarm 255 + | | | | | | | | : + | | | | | | | | : + | | | | | | | +--------------------- Alarm 0 + | | | | | | +----------------------- Alarm 1 + | | | | | +------------------------- Alarm 2 + | | | | +--------------------------- Alarm 3 + | | | +----------------------------- Alarm 4 + | | +------------------------------- Alarm 5 + | +--------------------------------- Alarm 6 + +----------------------------------- Alarm 7 + + An alarm list of length N, where N < 32, represents an alarm + list for which alarms N*8 through 255 have the value of '0'. + A special case is an alarm list having a length of '0', which + represents an alarm list of all zeros."; + } + + typedef AlarmFilterProfileType { + type uint32; + description + "An integer value that uniquely identifies an alarm filter + profile."; + } + + + container CISCO-ENTITY-ALARM-MIB { + config false; + + container ceAlarmMonitoring { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2"; + + leaf ceAlarmCriticalCount { + type yang:gauge32; + description + "The value of this object specifies the number of alarms + currently asserted with a severity of 'critical'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.1"; + } + + leaf ceAlarmMajorCount { + type yang:gauge32; + description + "The value of this object specifies the number of alarms + currently asserted with a severity of 'major'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.2"; + } + + leaf ceAlarmMinorCount { + type yang:gauge32; + description + "The value of this object specifies the number of alarms + currently asserted with a severity of 'minor'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.3"; + } + + leaf ceAlarmCutOff { + type boolean; + description + "If the management client writes a value of 'true' to this + object, the agent stops signalling all external audible alarms + under the control of the agent. Reading this object should + always result in a value of 'false'. + + Observe that alarm cutoff does not have an effect on monitoring, + history logging, generation of notifications, or syslog message + generation. It also does not prevent the agent from signalling + external audible alarms for alarms asserted after alarm-cutoff. + + This object emulates the 'alarm cut-off' mechanism typically + installed in a central office (e.g., a big red button). Observe + this object should neither affect external visual alarms under + the control of the agent, nor should it affect the current state + of alarms being asserted by the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.4"; + } + } + + container ceAlarmHistory { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3"; + + leaf ceAlarmHistTableSize { + type int32 { + range "0..500"; + } + description + "This object specifies the number of entries that the + ceAlarmHistTable can contain. When a physical entity + generates an unfiltered alarm, and the capacity of the + ceAlarmHistTable has reached the value specified by + this object, then the agent deletes the oldest entity in + order to accommodate the new entry. A value of '0' prevents + any history from being retained. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.1"; + } + + leaf ceAlarmHistLastIndex { + type uint32; + description + "This object specifies the value of the ceAlarmHistIndex + object corresponding to the last entry added to the table by the + agent. + + If the management client uses the notifications defined by this + module, then it can poll this object to determine whether it has + missed a notification sent by the agent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.2"; + } + } + + container ceAlarmFiltering { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4"; + + leaf ceAlarmNotifiesEnable { + type CISCO-ENTITY-ALARM-MIB:AlarmSeverityOrZero; + description + "This object specifies a severity threshold governing the + generation of ceAlarmAsserted and ceAlarmCleared + notifications. For example, if the value of this object is + set to 'major', then the agent generates these notifications + if and only if the severity of the alarm being indicated is + 'major' or 'critical'. The value of '0' disables the + generation of notifications. + + Observe that this setting overrides the value of the + ceAlarmFilterNotifiesEnabled object. + + This object affects notification generation only; that is, it + does not affect monitoring, history logging, and syslog message + generation."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.1"; + } + + leaf ceAlarmSyslogEnable { + type CISCO-ENTITY-ALARM-MIB:AlarmSeverityOrZero; + description + "This object specifies a severity threshold governing the + generation of syslog messages corresponding to alarms. For + example, if the value of this object is set to 'major', then + the agent generates these a syslog message if and only if the + severity of the alarm being indicated is 'major' or 'critical'. + The value of '0' disables the generation of syslog messages + corresponding to alarms. + + Observe that this setting overrides the value of the + ceAlarmFilterSyslogEnabled object. + + This object affects syslog message generation only; that is, it + does not have an effect on monitoring, history logging, and + generation of notifications."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.2"; + } + + leaf ceAlarmFilterProfileIndexNext { + type CISCO-ENTITY-ALARM-MIB:AlarmFilterProfileType; + description + "This object contains an appropriate value to be used + for ceAlarmFilterIndex when creating entries in the + ceAlarmFilterProfileTable. The value '0' indicates + that no unassigned entries are available. To obtain + a ceAlarmFilterIndex, the management client issues + a get request. The agent has the responsibility of + modifying the value of this object following each + successful get request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.3"; + } + } + + container ceAlarmDescrMapTable { + description + "For each type of entity (represented entPhysicalVendorType + OID), this table contains a mapping between a unique + ceAlarmDescrIndex and entPhysicalvendorType OID."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.1"; + + list ceAlarmDescrMapEntry { + key "ceAlarmDescrIndex"; + description + "A mapping between an alarm description and a vendor type."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.1.1"; + + leaf ceAlarmDescrIndex { + type uint32; + description + "This object uniquely identifies an alarm description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.1.1.1"; + } + + leaf ceAlarmDescrVendorType { + type snmpv2-tc:AutonomousType; + description + "This object specifies an object identifier (typically an + enterprise-specific OID) that uniquely identifies the vendor + type of those physical entities that this alarm description + applies to."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.1.1.2"; + } + } + } + + container ceAlarmDescrTable { + description + "This table contains a description for each alarm type + defined by each vendor type employed by the system. + Observe that this table is sparse in nature, as it is + rarely the case that a physical entity type needs to + define every alarm in its alarm space."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.2"; + + list ceAlarmDescrEntry { + key "ceAlarmDescrIndex ceAlarmDescrAlarmType"; + description + "A collection of attributes that describe an alarm type."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.2.1"; + + leaf ceAlarmDescrIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmDescrMapTable/CISCO-ENTITY-ALARM-MIB:ceAlarmDescrMapEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmDescrIndex"; + } + } + + leaf ceAlarmDescrAlarmType { + type CISCO-ENTITY-ALARM-MIB:AlarmType; + description + "This object specifies the alarm type being described."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.2.1.1"; + } + + leaf ceAlarmDescrSeverity { + type CISCO-ENTITY-ALARM-MIB:AlarmSeverityOrZero; + description + "This object specifies the severity associated with the + alarm type. + + An implementation may chose to not allow dynamic severity + assignment, in which case it would restrict access to this + object to be read-only. + + If an implementation allows dynamic severity assignment, then + a management client can revert to the default severity by + writing the value '0' to this object. + + There exists a class of systems that should implement dynamic + severity assignment. For example, consider a DSLAM (Digital + Subscriber Loop Access Multiplexor) designed for both the + central office and pedestal environments. A 'pedestal' is + typically a dark-green metal box mounted on a concrete or stone + foundation in which carrier-class companies house equipment. + The central office typically controls the temperature and + humidity of the environment, reducing reliance on a system's + fans. Thus, the customer probably has a desire to reduce the + severity of alarms indicating the failure of a fan. However, a + pedestal environment has a much greater reliance on a system's + fans. Thus, the customer probably has a desire to increase the + severity of alarms indicating the failure of a fan."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.2.1.2"; + } + + leaf ceAlarmDescrText { + type snmp-framework:SnmpAdminString; + description + "This object specifies a human-readable message describing + the alarm."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1.2.1.3"; + } + } + } + + container ceAlarmTable { + description + "This table specifies alarm control and status information + related to each physical entity contained by the system, + including the alarms currently being asserted by each physical + entity capable of generating alarms."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.5"; + + list ceAlarmEntry { + key "entPhysicalIndex"; + description + "Alarm control and status information related to the + corresponding physical entity, including a list of those + alarms currently being asserted by that physical entity."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.5.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceAlarmFilterProfile { + type CISCO-ENTITY-ALARM-MIB:AlarmFilterProfileType; + description + "This object specifies the alarm filter profile associated + with the corresponding physical entity. An alarm filter + profile controls which alarm types the agent will monitor + and signal for the corresponding physical entity. + + If the value of this object is '0', then the agent monitors + and signals all alarms associated with the corresponding + physical entity."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.5.1.1"; + } + + leaf ceAlarmSeverity { + type CISCO-ENTITY-ALARM-MIB:AlarmSeverityOrZero; + description + "This object specifies the highest severity alarm currently + being asserted by the corresponding physical entity. A value + of '0' indicates that there the corresponding physical entity + currently is not asserting any alarms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.5.1.2"; + } + + leaf ceAlarmList { + type CISCO-ENTITY-ALARM-MIB:AlarmList; + description + "This object specifies those alarms currently being asserted + by the corresponding physical entity. Note, an alarm indicates + a condition, not an event. An alarm has two states: + + 'asserted' Indicates that the condition described by the + alarm exists. + + 'cleared' Indicates that the condition described by the + alarm does not exist. + + For example, a slot in a chassis may define an alarm that + specifies whether the slot contains a module. At the time of + module insertion, the physical entity corresponding to the slot + asserts this alarm, and the alarm remains asserted until the + slot becomes empty. + + If an alarm is being asserted by the physical entity, then the + corresponding bit in the alarm list is set to a one. Observe + that if the physical entity is not currently asserting any + alarms, then the list will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2.5.1.3"; + } + } + } + + container ceAlarmHistTable { + description + "This table contains a history of ceAlarmIndicate and + ceAlarmClear traps generated by the agent."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3"; + + list ceAlarmHistEntry { + key "ceAlarmHistIndex"; + description + "The information conveyed by a ceAlarmIndicate or + ceAlarmClear trap."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1"; + + leaf ceAlarmHistIndex { + type uint32; + description + "An integer value uniquely identifying the entry in the table. + The value of this object starts at '1' and monotonically + increases for each alarm condition transition monitored by the + agent. If the value of this object is '4294967295', the agent + will reset it to '1' upon monitoring the next alarm condition + transition."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.1"; + } + + leaf ceAlarmHistType { + type enumeration { + enum "asserted" { + value "1"; + } + enum "cleared" { + value "2"; + } + } + description + "This object specifies whether the agent created the entry as + the result of an alarm being asserted or cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.2"; + } + + leaf ceAlarmHistEntPhysicalIndex { + type entity-mib:PhysicalIndex; + description + "This object specifies the physical entity that generated + the alarm."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.3"; + } + + leaf ceAlarmHistAlarmType { + type CISCO-ENTITY-ALARM-MIB:AlarmType; + description + "This object specifies the type of alarm generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.4"; + } + + leaf ceAlarmHistSeverity { + type CISCO-ENTITY-ALARM-MIB:AlarmSeverity; + description + "This object specifies the severity of the alarm generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.5"; + } + + leaf ceAlarmHistTimeStamp { + type yang:timestamp; + description + "This object specifies the value of the sysUpTime object at + the time the alarm was generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3.3.1.6"; + } + } + } + + container ceAlarmFilterProfileTable { + description + "This table contains a list of alarm filter profiles."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4"; + + list ceAlarmFilterProfileEntry { + key "ceAlarmFilterIndex"; + description + "When a physical entity asserts/clears an alarm AND the + ceAlarmFilterProfile object is not '0', the agent applies + the specified alarm filter profile in processing the alarm. + The agent uses the following procedure in processing the + transition of an alarm condition of a given type: + + 1) If the alarm list specified by the alarm filter profile's + ceAlarmFilterAlarmsEnabled object specifies that the alarm + type is disabled, then the agent performs no further + processing. + + 2) The agent creates an entry in the ceAlarmHistTable. + + 3) If the alarm list specified by the alarm filter profile's + ceAlarmFilterNotifiesEnabled object specifies that the alarm + type is enabled, then the agent generates the appropriate + notification. + + 4) If the alarm list specified by the alarm filter profile's + ceAlarmFilterSyslogEnabled object specifies that the alarm + type is enabled, then the agent generates the appropriate + syslog message."; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1"; + + leaf ceAlarmFilterIndex { + type CISCO-ENTITY-ALARM-MIB:AlarmFilterProfileType; + description + "This object uniquely identifies the alarm filter profile."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.1"; + } + + leaf ceAlarmFilterStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, modification, or + deletion of a conceptual row in this table. + + A management client can create a conceptual row in this + table by setting this object to 'createAndWait' or + 'createAndGo'. If a request to create a conceptual row + in this table fails, then the system is not capable of + supporting any more alarm filters. + + Before modifying a conceptual row in this table, the + management client must set this object to 'notInService'. + After modifying a conceptual row in this table, the + management client must set this object to 'active'. + This operation causes the modifications made to an + alarm filter profile to take effect. + + An implementation should not allow a conceptual row in + this table to be deleted if one or more physical entities + reference it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.2"; + } + + leaf ceAlarmFilterAlias { + type snmpv2-tc:DisplayString; + description + "This object specifies an arbitrary name associated with the + alarm filter profile by the management client, and provides + a non-volatile 'handle' for the alarm filter profile. + + On the first instantiation of an alarm filter profile, the + value of this object is a zero-length string. However, an + agent may choose to set the value to a locally unique default + value. + + If an implementation supports write access to this object, + then the agent is responsible for ensuring the retention + of any value written to this object until a management client + deletes it. The level of retention must span reboots and + reinitializations of the network management system, including + those that result in different assignments to the value of + the entPhysicalIndex associated with the physical entity."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.3"; + } + + leaf ceAlarmFilterAlarmsEnabled { + type CISCO-ENTITY-ALARM-MIB:AlarmList; + description + "This object specifies a list of alarms that are enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.4"; + } + + leaf ceAlarmFilterNotifiesEnabled { + type CISCO-ENTITY-ALARM-MIB:AlarmList; + description + "This object specifies a list of alarms for which notification + generation is enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.5"; + } + + leaf ceAlarmFilterSyslogEnabled { + type CISCO-ENTITY-ALARM-MIB:AlarmList; + description + "This object specifies a list of alarms for which syslog + message generation is enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4.4.1.6"; + } + } + } + } + + notification ceAlarmAsserted { + description + "The agent generates this trap when a physical entity + asserts an alarm."; + smiv2:oid "1.3.6.1.4.1.9.9.138.2.0.1"; + + container object-1 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistEntPhysicalIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntPhysicalIndex"; + } + } + } + + container object-2 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistAlarmType { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistAlarmType"; + } + } + } + + container object-3 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistSeverity { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistSeverity"; + } + } + } + + container object-4 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistTimeStamp { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTimeStamp"; + } + } + } + } + + notification ceAlarmCleared { + description + "The agent generates this trap when a physical entity + clears a previously asserted alarm."; + smiv2:oid "1.3.6.1.4.1.9.9.138.2.0.2"; + + container object-1 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistEntPhysicalIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntPhysicalIndex"; + } + } + } + + container object-2 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistAlarmType { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistAlarmType"; + } + } + } + + container object-3 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistSeverity { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistSeverity"; + } + } + } + + container object-4 { + + leaf ceAlarmHistIndex { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistIndex"; + } + } + + leaf ceAlarmHistTimeStamp { + type leafref { + path "/CISCO-ENTITY-ALARM-MIB:CISCO-ENTITY-ALARM-MIB/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTable/CISCO-ENTITY-ALARM-MIB:ceAlarmHistEntry/CISCO-ENTITY-ALARM-MIB:ceAlarmHistTimeStamp"; + } + } + } + } + + smiv2:alias "ciscoEntityAlarmMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.138"; + } + + smiv2:alias "ciscoEntityAlarmMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.138.1"; + } + + smiv2:alias "ceAlarmDescription" { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.1"; + } + + smiv2:alias "ceAlarmMonitoring" { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.2"; + } + + smiv2:alias "ceAlarmHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.3"; + } + + smiv2:alias "ceAlarmFiltering" { + smiv2:oid "1.3.6.1.4.1.9.9.138.1.4"; + } + + smiv2:alias "ciscoEntityAlarmMIBNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.138.2"; + } + + smiv2:alias "ciscoEntityAlarmMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.138.2.0"; + } + + smiv2:alias "ciscoEntityAlarmMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.138.3"; + } + + smiv2:alias "ciscoEntityAlarmMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.138.3.1"; + } + + smiv2:alias "ciscoEntityAlarmMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.138.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-EXT-MIB.yang new file mode 100644 index 000000000..684048131 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-EXT-MIB.yang @@ -0,0 +1,596 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ENTITY-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB"; + prefix CISCO-ENTITY-EXT-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB is an extension of the ENTITY-MIB + specified in RFC2737. + + This MIB module contains Cisco-defined extensions + to the entityPhysicalTable to represent information + related to entities of class module(entPhysicalClass + = 'module') which have a Processor. + + A processor module is defined as a physical entity + that has a CPU, RAM and NVRAM so that + it can independently + - load a bootable image + - save configuration. + This module is the entry point for external + applications like SNMP Manager, CLI, FTP etc. + + Line card is an interface card with at least a + Processor and RAM. This might be referred to as + Service Module in some cisco products. + + A configuration register is a 16 bit + software register. + The configuration register is mainly used to + check for instructions on where to find the Cisco + Operating System software. + Some other functions of configuration register are: + - To select a boot source and default boot filename. + - To enable or disable the Break function. + - To control broadcast addresses. + - To set the console terminal baud rate. + - To load operating software from Flash memory. + - To allow us to manually boot the system using the + boot command at the bootstrap program prompt. + + Booting is the process of initializing the + hardware and starting the Operating System."; + + revision 2008-11-24 { + description + "Added following new objects to ceExtPhysicalProcessorTable. + ceExtProcessorRamOverflow and ceExtHCProcessorRam + + Added following new groups to ciscoEntityExtMIBGroups. + ceExtPhyProcessorOverflowGroup and ceExtPhyProcessorHCGroup. + + Added a new compliance ciscoEntityExtMIBComplianceRev3 which + deprecates ciscoEntityExtMIBComplianceRev2."; + } + + revision 2004-07-06 { + description + "Added a new table object 'ceExtEntPhysicalTable' ."; + } + + revision 2004-03-03 { + description + "Importing Unsigned32 from SNMPv2-SMI, instead of CISCO-TC."; + } + + revision 2004-01-26 { + description + "Added new enum to ceExtEntityLEDType."; + } + + revision 2003-08-24 { + description + "Added ceExtEntityLEDTable. Added ceExtKickstartImageList to + ceExtConfigRegTable. + Added new group ciscoEntityExtLEDGroup. + Added group ceExtSysBootImageListGroupRev1."; + } + + revision 2001-05-17 { + description + "Corrected the description for the TC + ConfigRegisterValue."; + } + + revision 2001-04-05 { + description + "Initial version of this MIB module."; + } + + typedef ConfigRegisterValue { + type string; + description + "An Integer containing the value of config register. + + The definition of individual bits from right to left + when set are as follows: + + 00 to + 03 Boot Fields(Refer below for + explanation). + + 04 to + 05 Not Used. + + 06 Causes system software to ignore the + contents of NVRAM. + + 07 Enable the original equipment + manufacturer (OEM) bit. + + 08 The Break function is disabled. + + 09 Not used. + + 10 Broadcast based on 0.0.0.0 IP address. + + 11 to + 12 Defines the console baud rate as below: + Bits 11 & 12 unset: 9600 baud(default), + Bit 11 set & 12 unset: 4800 baud, + Bit 11 unset & 12 set: 1200 baud, + Bit 11 set & 12 set: 2400 baud + + 13 Boots default Flash software if + network boot fails. + + 14 IP broadcasts do not have network + numbers. + + 15 Enables diagnostic messages and ignores + the contents of NVRAM. + + + Meanings for different values of Boot Fields + (Bits 00 to 03) are explained below: + + Value(in hex) Description + ------------ ----------- + 00 On powerup or reload, the system + remains at the ROM monitor prompt + (rommon>), awaiting a user command + to boot the system manually by means + of the rommon boot command. + + 01 On powerup or reload, the system loads + the system image found in onboard + Flash memory. + + 02 to On powerup or reload, the system loads + 0F the system image specified by + ceExtSysBootImageList. + It tries to boot the + image in the order in which + the image names are entered in + ceExtSysBootImageList. If + it cannot boot any image in the + ceExtSysBootImageList, it + stays in ROM monitor mode."; + smiv2:display-hint "2x"; + } + + typedef BootImageList { + type binary { + length "0..255"; + } + description + "This contains a list of boot images, + each separated by the ';' (semi-colon) character. + The following provides a syntax for parsing a single + boot image list item. + + :[filename] | + + can be (but not limited to): + flash, bootflash, slot0, rom, C + The transfer protocol used in the + can be (but not limited to): + tftp, ftp, rcp, mop. + + The following is en example containing two boot image + names: + disk0:c7100-ik2s-mz;tftp://dirt/c7100-ik2s-mz + + If the filename is not specified, then the + first file on the will be used. + + If the last two characters in the returned value + are ';+' this indicates that additional boot image + items are configured on the device but can not + be returned because the maximum string size limitation + would be exceeded. + + For example: + disk0:image1;disk0:image2;+"; + } + + + container CISCO-ENTITY-EXT-MIB { + config false; + + container ceExtPhysicalProcessorTable { + description + "The ceExtPhysicalProcessorTable extends + the ENTITY-MIB entPhysicalTable for modules + (Non FRUs(Field Replacable Units) or FRUs)."; + reference + "RFC2737: Section 2.12.1"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1"; + + list ceExtPhysicalProcessorEntry { + key "entPhysicalIndex"; + description + "A ceExtPhysicalProcessorTable entry extends + a corresponding entPhysicalTable entry of class + module(entPhysicalClass = 'module'). + + A processor module or line card which + has a processor will have an entry in + this table. + + A processor module or line card having + multiple processors and is a SMP(Symmetric + multi processor) system will have only + one entry corresponding to all the processors + since the resources defined below are shared. + + A processor module or line card having + multiple processors and is not an SMP system + would register the processors as separate entities. + + Entries are created by the agent at the system power-up + or module insertion. + + Entries are removed when the module is reset or removed."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceExtProcessorRam { + type uint32; + units "bytes"; + description + "Total number of bytes of RAM available on the + Processor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1.1"; + } + + leaf ceExtNVRAMSize { + type uint32; + units "bytes"; + description + "Total number of bytes of NVRAM in the entity. + + A value of 0 for this object means the entity + does not support NVRAM or NVRAM information + is not available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1.2"; + } + + leaf ceExtNVRAMUsed { + type uint32; + units "bytes"; + description + "Number of bytes of NVRAM in use. This object + is irrelevant if ceExtNVRAMSize is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1.3"; + } + + leaf ceExtProcessorRamOverflow { + type uint32; + units "bytes"; + description + "This object represents the upper 32-bit of ceExtProcessorRam. + This object needs to be supported only if the available RAM + bytes exceeds 32-bit, otherwise this object value would be set + to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1.4"; + } + + leaf ceExtHCProcessorRam { + type cisco-tc:Unsigned64; + units "bytes"; + description + "This object represents the total number of bytes of RAM + available on the Processor. This object is a 64-bit version + of ceExtProcessorRam."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.1.1.5"; + } + } + } + + container ceExtConfigRegTable { + description + "The ceExtConfigRegTable extends + the ENTITY-MIB entPhysicalTable."; + reference + "RFC2737: Section 2.12.1"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2"; + + list ceExtConfigRegEntry { + key "entPhysicalIndex"; + description + "A ceExtConfigRegTable entry extends + a corresponding entPhysicalTable entry of class + module which has a configuration register. + + Entries are created by the agent at the system power-up + or module insertion. + + Entries are removed when the module is reset or + removed."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceExtConfigRegister { + type CISCO-ENTITY-EXT-MIB:ConfigRegisterValue; + description + "The value of configuration register with which + the processor module booted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2.1.1"; + } + + leaf ceExtConfigRegNext { + type CISCO-ENTITY-EXT-MIB:ConfigRegisterValue; + description + "The value of configuration register in the + processor module at next reboot. Just after + the reboot this has the same value as + ceExtConfigRegister."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2.1.2"; + } + + leaf ceExtSysBootImageList { + type CISCO-ENTITY-EXT-MIB:BootImageList; + description + "The list of system boot images which + can be used for booting."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2.1.3"; + } + + leaf ceExtKickstartImageList { + type CISCO-ENTITY-EXT-MIB:BootImageList; + description + "The list of system kickstart images which + can be used for booting."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.2.1.4"; + } + } + } + + container ceExtEntityLEDTable { + description + "A table containing information of LED on an entity."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.3"; + + list ceExtEntityLEDEntry { + key "entPhysicalIndex ceExtEntityLEDType"; + description + "An entry (conceptual row) in the ceExtEntityLEDTable, + containing information about an LED on an entity, identified by + entPhysicalIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceExtEntityLEDType { + type enumeration { + enum "status" { + value "1"; + } + enum "system" { + value "2"; + } + enum "active" { + value "3"; + } + enum "power" { + value "4"; + } + enum "battery" { + value "5"; + } + } + description + "The type of LED on this entity. + 'status' - indicates the entity status. + 'system' - indicates the overall system status. + 'active' - the redundancy status of a module, for e.g. + supervisor module. + 'power' - indicates sufficient power availability for all + modules. + 'battery'- indicates the battery status."; + reference + "Cisco MDS 9500 Series Hardware Installation Guide, + Product Overview."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.3.1.1"; + } + + leaf ceExtEntityLEDColor { + type enumeration { + enum "off" { + value "1"; + } + enum "green" { + value "2"; + } + enum "amber" { + value "3"; + } + enum "red" { + value "4"; + } + } + description + "The color of the LED."; + reference + "Cisco MDS 9500 Series Multilayer Switches, Product + Overview."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.3.1.2"; + } + } + } + } + + smiv2:alias "ceExtEntPhysicalTable" { + description + "This table contains additional information about + a particular physical entity. + This table augments the 'entPhysicalTable' of + the ENTITY-MIB."; + reference + "RFC2737: Section 2.12.1"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.4"; + } + + smiv2:alias "ceExtEntPhysicalEntry" { + description + "An entry (conceptual row) in the 'ceExtEntPhysicalTable', + containing additional information about a physical entity, + identified by 'entPhysicalIndex'."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.4.1"; + } + + augment "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry" { + description + "An entry (conceptual row) in the 'ceExtEntPhysicalTable', + containing additional information about a physical entity, + identified by 'entPhysicalIndex'."; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.4.1"; + + leaf ceEntPhysicalSecondSerialNum { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This object represents the vendor-specific second + serial number string for the physical entity. + The first serial number string of the physical + entity is represented in the value of corresponding + instance of the 'entPhysicalSerialNum' object. + + On the first instantiation of an physical entity, the value + of this object is the correct vendor-assigned second + serial number, if this information is available to the agent. + + If the second serial number is unknown or non-existent, then + the value of this object will be a zero-length string instead. + + Note that implementations which can correctly identify the + second serial numbers of all installed physical entities do + not need to provide write access to this object. + Agents which cannot provide non-volatile storage for the + second serial number strings are not required to implement + write access for this object. + + Not every physical component will have a serial number, or + even need one. Physical entities for which the associated + value of the entPhysicalIsFRU object is equal to 'false(2)' + (e.g., the repeater ports within a repeater module), do not + need their own unique serial number. An agent does not have + to provide write access for such entities, and may return a + zero-length string. + + If write access is implemented for an instance of + 'ceEntPhysicalSecondSerialNum', and a value is written into + the instance, the agent must retain the supplied value in the + 'ceEntPhysicalSecondSerialNum' instance associated with the + same physical entity for as long as that entity remains + instantiated. This includes instantiations across all re- + initializations/reboots of the network management system, + including those which result in a change of the physical + entity's entPhysicalIndex value."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.195.1.4.1.1"; + } + } + + smiv2:alias "ciscoEntityExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.195"; + } + + smiv2:alias "ciscoEntityExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.195.1"; + } + + smiv2:alias "ceExtMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.195.2"; + } + + smiv2:alias "ciscoEntityExtMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.195.2.0"; + } + + smiv2:alias "ciscoEntityExtMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.195.3"; + } + + smiv2:alias "ciscoEntityExtMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.195.3.1"; + } + + smiv2:alias "ciscoEntityExtMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.195.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-FRU-CONTROL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-FRU-CONTROL-MIB.yang new file mode 100644 index 000000000..b519ea7c8 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-FRU-CONTROL-MIB.yang @@ -0,0 +1,2427 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ENTITY-FRU-CONTROL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-FRU-CONTROL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-FRU-CONTROL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB"; + prefix CISCO-ENTITY-FRU-CONTROL-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 408 526 4000 + + E-mail: cs-snmp@cisco.com"; + + description + "The CISCO-ENTITY-FRU-CONTROL-MIB is used to monitor + and configure operational status of + Field Replaceable Units (FRUs) and other managable + physical entities of the system listed in the + Entity-MIB (RFC 2737) entPhysicalTable. + + FRUs include assemblies such as power supplies, fans, + processor modules, interface modules, etc."; + + revision 2013-08-19 { + description + "Added fwMismatchFound(25), fwDownloadSuccess(26) + and fwDownloadFailure(27) to the + Textual Convention ModuleOperType"; + } + + revision 2011-12-22 { + description + "Added new enumeration value mdr(24) to + ModuleOperType Textual Convention."; + } + + revision 2011-03-18 { + description + "Added FRUCoolingUnit Textual Convention. + Added psRedundantSingleInput(7) to Textual + Convention PowerRedundancyType. + + Added the following groups: + cefcFRUPowerRealTimeStatusGroup + cefcFRUPowerCapabilityGroup + cefcFRUCoolingUnitGroup + cefcFRUFanCoolingUnitGroup + + Deprecated cefcCoolingGroup and replaced with + cefcCoolingGroup2 and cefcFanCoolingGroup."; + } + + revision 2010-12-10 { + description + "Added cefcMIBModuleLocalSwitchingGroup."; + } + + revision 2008-10-08 { + description + "Added two new enumeration values + upgrading(22) and okButAuthFailed(23) to + ModuleOperType Textual Convention."; + } + + revision 2007-06-21 { + description + "* Added two new enumeration values : + psRedundant(5) and inPwrSrcRedundant(6) to + PowerRedundancyType Textual Convention."; + } + + revision 2007-03-14 { + description + "* Added cefcTotalDrawnInlineCurrent and + cefcMIBInLinePowerCurrentGroup. + * Added cefcPowerNonRedundantReason and + cefcMIBPowerRedundancyInfoGroup. + * Added cefcFanCoolingCapTable and + cefcFanCoolingCapGroup. + * Added cefcMIBPowerCompliance8."; + } + + revision 2006-06-23 { + description + "* Added new value 'onButInlinePowerFail(12)' to PowerOperType."; + } + + revision 2005-09-06 { + description + "* Added cefcPowerCapacityGroup, + cefcCoolingGroup and cefcConnectorRatingGroup. + * Added new enumerator 'powerCycle' to the TC + PowerAdminType. + * Added two new enumerators 'offCooling' + and 'offConnectorRating' to the TC PowerOperType. + * Added cefcMIBNotificationEnablesGroup2 + and cefcMgmtNotificationsGroup3."; + } + + revision 2004-12-09 { + description + "Removed the additional varbind 'entPhysicalDescr' added + in 'cefcFRUInserted' & 'cefcFRURemoved' notifications."; + } + + revision 2004-10-19 { + description + "* Added the enumeration 'syncInProgress' to + ModuleOperType Textual Convention. + Added an additional varbind 'entPhysicalDescr' in + 'cefcFRUInserted' & 'cefcFRURemoved' notifications."; + } + + revision 2003-11-24 { + description + "* Added the enumerations okButPowerOverWarning + and okButPowerOverCritical to ModuleOperType + Textual Convention."; + } + + revision 2003-10-27 { + description + "Added poweredDown,poweredUp, powerDenied,powerCycled + to ModuleOperType."; + } + + revision 2003-10-23 { + description + "* Added cefcModuleStateChangeReasonDescr and + cefcModuleUpTime in the cefcModuleTable. + * Added cefcIntelliModuleTable to provide the + IP address information for intelligent + modules."; + } + + revision 2003-07-22 { + description + "* Modified the description for cefcPowerRedudancyMode to + indicate that this object reflects the administrative + power supply redundancy mode. + * Added cefcPowerRedundancyOperMode to reflect the + operational status of the power supply redundancy mode. + * Deprecated cefcMaxDefaultInLinePower and added + cefcMaxDefaultHighInLinePower to replace it. + * Modified the DESCRIPTION for cefcFanTrayStatusTable + and cefcFanTrayStatusEntry to reflect the right + situation."; + } + + revision 2002-10-16 { + description + "Added: + * Added cefcFanTrayStatusChange notification + * Added cefcFanTrayStatusChange to + cefcMgmtNotificationsGroup2"; + } + + revision 2002-10-03 { + description + "Added: + * cefcFanTrayStatus table containing fan tray status + information. + * added cefcPhysical table containing status information + of the physical entity. + * added cefcUnrecognizedFRU notification. + * added cefcMIBFanTrayStatusGroup. + * added cefcMIBPhysicalGroup."; + } + + revision 2002-09-15 { + description + "Added: + * powerSupplyValue table containing information such + as, total and used inline and data power, for variable + power supplies. + + * added following object group + cefcMIBPowerFRUValueGroup"; + } + + revision 2002-07-12 { + description + "Added: + cefcModuleLastClearConfigTime + cefcModuleResetReasonDescription + cefcModuleGroupRev1 + Modified: + Added enumerations watchDogTimeoutReset, + resourceOverflowReset, missingTaskReset, + lowVoltageReset, controllerReset, systemReset, + switchoverReset, upgradeReset, downgradeReset, + cacheErrorReset, deviceDriverReset, + softwareExceptionReset, restoreConfigReset, + abortRevReset, burnBootReset, + standbyCdHealthierReset, nonNativeConfigClearReset, + and memoryProtectionErrorReset to + ModuleResetReasonType TC."; + } + + revision 2001-05-22 { + description + "Modified the description for cefcTotalAvailableCurrent. + Changed 'cefcPowerRedundancy' in the description to + 'cefcPowerRedundancyMode' + Also made the file conform to the 72 char line limit. + Imported NOTIFICATION-GROUP + Added cefcMgmtNotificationsGroup."; + } + + revision 2000-01-13 { + description + "Following changes are made in this revision + + * added following enumerations to ModuleOperType TC: + dormant, outOfServiceAdmin, outOfServiceEnvTemp + + * added outOfServiceAdmin to ModuleAdminType TC + + * added following notifications: + cefcMIBNotificationEnables + cefcMIBEnableStatusNotification + cefcPowerStatusChange + cefcFRUInserted + cefcFRURemoved + + * added following object groups: + cefcMIBInLinePowerControlGroup + cefcMIBNotificationEnablesGroup"; + } + + revision 1999-04-05 { + description + "Added module table containing the status information."; + } + + typedef PowerRedundancyType { + type enumeration { + enum "notsupported" { + value "1"; + } + enum "redundant" { + value "2"; + } + enum "combined" { + value "3"; + } + enum "nonRedundant" { + value "4"; + } + enum "psRedundant" { + value "5"; + } + enum "inPwrSrcRedundant" { + value "6"; + } + enum "psRedundantSingleInput" { + value "7"; + } + } + description + "power supply redundancy modes. valid values are: + + notsupported(1): Read-only operational state, indicates + that the requested administrative state (redundant(2), + combined(3), psRedundant(5), inPwrSrcRedundant(6) + or psRedundantSingleInput(7)) is not supported + by the system. + + redundant(2): A single power supply output can power + the entire system, although there are more than + one matched supply in the system. + + In the systems which support multiple level of + redundancy, such as input power redundancy, this + state indicates that redundancy is enabled on + all levels. + + combined(3): The combined output of the power supplies + are available to operate the system when there are + more than one matched power supply in the system. + + In the platforms which support multiple level of + redundancy, such as input redundancy, this state + indicates that no redundancy on all levels. + + nonRedundant(4): Read-only operational state, indicates + that there is only one power supply or there are + unmatched power supplies in the system. + + psRedundant(5): Only the power output redundancy + is enabled in the systems which support multiple + levels of redundancy. All other types of redundancy, + such as input power redundancy, are disabled. + + This value is only supported by the systems which + support multiple levels of redundancy. + + inPwrSrcRedundant(6): Only the input power redundancy + is enabled in the systems which support multiple + levels of redundancy. All other types of redundancy, + such as output power redundancy, are disabled. + + This value is only supported by the systems which + support input power redundancy. + + psRedundantSingleInput(7): Only the power redundancy with + single input is enabled in the systems which support + multiple levels of redundancy. All other types of + redundancy, such as output power redundancy, are disabled. + + This value is only supported by the systems which + support power redundancy with single input."; + } + + typedef PowerAdminType { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + enum "inlineAuto" { + value "3"; + } + enum "inlineOn" { + value "4"; + } + enum "powerCycle" { + value "5"; + } + } + description + "Administratively desired FRU power state types. valid values + are: + on(1): Turn FRU on. + off(2): Turn FRU off. + + The inline power means that the FRU itself won't cost any power, + but the external device connecting to the FRU will drain the + power from FRU. For example, the IP phone device. The FRU is a + port of a switch with voice ability and IP phone will cost power + from the port once it connects to the port. + + inlineAuto(3): Turn FRU inline power to auto mode. It means that + the FRU will try to detect whether the connecting device needs + power or not. If it needs power, the FRU will supply power. If + it doesn't, the FRU will treat the device as a regular network + device. + + inlineOn(4): Turn FRU inline power to on mode. It means that + once the device connects to the FRU, the FRU will always supply + power to the device no matter the device needs the power or not. + + powerCycle(5): Power cycle the FRU. This value may be specified + in a management protocol set operation, it will not be returned + in response to a management protocol retrieval operation."; + } + + typedef PowerOperType { + type enumeration { + enum "offEnvOther" { + value "1"; + } + enum "on" { + value "2"; + } + enum "offAdmin" { + value "3"; + } + enum "offDenied" { + value "4"; + } + enum "offEnvPower" { + value "5"; + } + enum "offEnvTemp" { + value "6"; + } + enum "offEnvFan" { + value "7"; + } + enum "failed" { + value "8"; + } + enum "onButFanFail" { + value "9"; + } + enum "offCooling" { + value "10"; + } + enum "offConnectorRating" { + value "11"; + } + enum "onButInlinePowerFail" { + value "12"; + } + } + description + "Operational FRU Status types. valid values are: + + offEnvOther(1) FRU is powered off because of a problem not + listed below. + + on(2): FRU is powered on. + + offAdmin(3): Administratively off. + + offDenied(4): FRU is powered off because available + system power is insufficient. + + offEnvPower(5): FRU is powered off because of power problem in + the FRU. for example, the FRU's power + translation (DC-DC converter) or distribution + failed. + + offEnvTemp(6): FRU is powered off because of temperature + problem. + + offEnvFan(7): FRU is powered off because of fan problems. + + failed(8): FRU is in failed state. + + onButFanFail(9): FRU is on, but fan has failed. + + offCooling(10): FRU is powered off because of the system's + insufficient cooling capacity. + + offConnectorRating(11): FRU is powered off because of the + system's connector rating exceeded. + + onButInlinePowerFail(12): The FRU on, but no inline power + is being delivered as the + data/inline power component of the + FRU has failed."; + } + + typedef FRUCurrentType { + type int32 { + range "-1000000000..1000000000"; + } + description + "a current measurement, on the system power supply + primary output, expressed in cefcPowerUnits. Range is + from negative 1 million to positive one million + amperes. + + A negative value expresses current used by the FRU. + A positive value expresses current supplied by the FRU."; + } + + typedef ModuleAdminType { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + enum "reset" { + value "3"; + } + enum "outOfServiceAdmin" { + value "4"; + } + } + description + "Administratively desired module states. Valid values are: + + enabled(1) module is operational. + disabled(2) module is not operational. + reset(3) module is reset. This value may be specified + in a management protocol set operation, it will + not be returned in response to a management + protocol retrieval operation. + outOfServiceAdmin(4) module is powered on but out of + service, set by CLI."; + } + + typedef ModuleOperType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "ok" { + value "2"; + } + enum "disabled" { + value "3"; + } + enum "okButDiagFailed" { + value "4"; + } + enum "boot" { + value "5"; + } + enum "selfTest" { + value "6"; + } + enum "failed" { + value "7"; + } + enum "missing" { + value "8"; + } + enum "mismatchWithParent" { + value "9"; + } + enum "mismatchConfig" { + value "10"; + } + enum "diagFailed" { + value "11"; + } + enum "dormant" { + value "12"; + } + enum "outOfServiceAdmin" { + value "13"; + } + enum "outOfServiceEnvTemp" { + value "14"; + } + enum "poweredDown" { + value "15"; + } + enum "poweredUp" { + value "16"; + } + enum "powerDenied" { + value "17"; + } + enum "powerCycled" { + value "18"; + } + enum "okButPowerOverWarning" { + value "19"; + } + enum "okButPowerOverCritical" { + value "20"; + } + enum "syncInProgress" { + value "21"; + } + enum "upgrading" { + value "22"; + } + enum "okButAuthFailed" { + value "23"; + } + enum "mdr" { + value "24"; + } + enum "fwMismatchFound" { + value "25"; + } + enum "fwDownloadSuccess" { + value "26"; + } + enum "fwDownloadFailure" { + value "27"; + } + } + description + "Operational module states. Valid values are : + + unknown(1) Module is not in one of other states + + normal operational states: + + ok(2) Module is operational. + + disabled(3) Module is administratively disabled. + + okButDiagFailed(4) Module is operational but there is some + diagnostic information available. + + transitional states: + + boot(5) Module is currently in the process of + bringing up image. After boot, it starts + its operational software and transitions + to the appropriate state. + + selfTest(6) Module is performing selfTest. + + + failure states: + + failed(7) Module has failed due to some condition + not stated above. + + missing(8) Module has been provisioned, but it is + missing + + mismatchWithParent(9) Module is not compatible with parent + entity. Module has not been provisioned + and wrong type of module is plugged in. + This state can be cleared by plugging + in the appropriate module. + + mismatchConfig(10) Module is not compatible with the + current + configuration. Module was correctly + provisioned earlier, however the module + was replaced by an incompatible module. + This state can be resolved by clearing + the configuration, or replacing with the + appropriate module. + + diagFailed(11) Module diagnostic test failed due to + some + hardware failure. + + dormant(12) Module is waiting for an external or + internal event to become operational. + + outOfServiceAdmin(13) module is administratively set to be + powered on but out of service. + + outOfServiceEnvTemp(14)Module is powered on but out of service, + due to environmental temperature problem. + An out-o-service module consumes less + power thus will cool down the board. + + poweredDown(15) Module is in powered down state. + + poweredUp(16) Module is in powered up state. + + powerDenied(17) System does not have enough power in + power budget to power on this module. + + powerCycled(18) Module is being power cycled. + + okButPowerOverWarning(19) Module is drawing more power than + allocated to this module. The module + is still operational but may go into + a failure state. This state may be + caused by misconfiguration of power + requirements (especially for inline + power). + + okButPowerOverCritical(20) Module is drawing more power + than this module is designed to + handle. The module is still + operational but may go into a + failure state and could potentially + take the system down. This state + may be caused by gross misconfi- + guration of power requirements + (especially for inline power). + + syncInProgress(21) Synchronization in progress. + In a high availability system there + will be 2 control modules, active and + standby. + This transitional state specifies the + synchronization of data between the + active and standby modules. + + upgrading(22) Module is upgrading. + + okButAuthFailed(23) Module is operational but did not pass + hardware integrity verification. + + mdr(24) Module is undergoing a Minimum + Disruptive Restart (MDR) upgrade. + + firmware download states: + + fwMismatchFound(25) Mistmatch found between current firmware + version and the firmware version in the + system image. + + fwDownloadSuccess(26) Module firmware download succeeded. + + fwDownloadFailure(27) Module firmware download failed."; + } + + typedef ModuleResetReasonType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "powerUp" { + value "2"; + } + enum "parityError" { + value "3"; + } + enum "clearConfigReset" { + value "4"; + } + enum "manualReset" { + value "5"; + } + enum "watchDogTimeoutReset" { + value "6"; + } + enum "resourceOverflowReset" { + value "7"; + } + enum "missingTaskReset" { + value "8"; + } + enum "lowVoltageReset" { + value "9"; + } + enum "controllerReset" { + value "10"; + } + enum "systemReset" { + value "11"; + } + enum "switchoverReset" { + value "12"; + } + enum "upgradeReset" { + value "13"; + } + enum "downgradeReset" { + value "14"; + } + enum "cacheErrorReset" { + value "15"; + } + enum "deviceDriverReset" { + value "16"; + } + enum "softwareExceptionReset" { + value "17"; + } + enum "restoreConfigReset" { + value "18"; + } + enum "abortRevReset" { + value "19"; + } + enum "burnBootReset" { + value "20"; + } + enum "standbyCdHealthierReset" { + value "21"; + } + enum "nonNativeConfigClearReset" { + value "22"; + } + enum "memoryProtectionErrorReset" { + value "23"; + } + } + description + "Describes the reason for the last module reset operation. + + unknown(1) source of the reset is not + identified + + powerUp(2) system power up operation + + parityError(3) parity error during system + bring up operation + + clearConfigReset(4) reset due to clear + configuration operation + + manualReset(5) reset due to administrative + request + + watchDogTimeoutReset(6) reset due to watchdog timeout + + resourceOverflowReset(7) reset due to resource overflow + + missingTaskReset(8) reset due to missing task + + lowVoltageReset(9) reset due to low voltage + + controllerReset(10) reset by controller + + systemReset(11) system reset + + switchoverReset(12) reset due to user initiated + graceful switchover + + upgradeReset(13) reset due to upgrade + + downgradeReset(14) reset due to downgrade + + cacheErrorReset(15) reset due to cache error + + deviceDriverReset(16) reset due to device driver + error + + softwareExceptionReset(17) reset due to software + exception + + restoreConfigReset(18) reset due to configuration + restoration + + abortRevReset(19) reset due to revision change + abort + + burnBootReset(20) reset due to boot image + change + + standbyCdHealthierReset(21) reset to switch to healthier + standby card + + nonNativeConfigClearReset(22) reset due clearing of + non-native configuration + + memoryProtectionErrorReset(23) reset due to memory protection + violation."; + } + + typedef FRUTimeSeconds { + type uint32; + description + "This is a non-negative integer which represents + the time in second between two epochs. + + Since time is not discrete, it is rounded up to + the nearest second. For example, if the elapsed + time is greater than zero and less or equal to + one second, then one second is returned, etc. + + When objects are defined which use this type, the + description of the object identifies both of the + reference epochs."; + } + + typedef FRUCoolingUnit { + type enumeration { + enum "cfm" { + value "1"; + } + enum "watts" { + value "2"; + } + } + description + "The unit for the cooling capacity and requirement. + + cfm(1) Cubic feet per minute + watts(2) Watts"; + } + + + container CISCO-ENTITY-FRU-CONTROL-MIB { + config false; + + container cefcFRUPower { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1"; + + leaf cefcMaxDefaultInLinePower { + type int32 { + range "0..12500"; + } + units "miliwatts"; + status deprecated; + description + "The system will provide power to the device connecting + to the FRU if the device needs power, like an IP Phone. + We call the providing power inline power. + + This MIB object controls the maximum default inline power + for the device connecting to the FRU in the system. If the + maximum default inline power of the device is greater than + the maximum value reportable by this object, then this + object should report its maximum reportable value (12500) + and cefcMaxDefaultHighInLinePower must be used to report + the actual maximum default inline power."; + smiv2:defval "12500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.3"; + } + + leaf cefcMaxDefaultHighInLinePower { + type uint32; + units "miliwatts"; + description + "The system will provide power to the device connecting + to the FRU if the device needs power, like an IP Phone. + We call the providing power inline power. + + This MIB object controls the maximum default inline power + for the device connecting to the FRU in the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.5"; + } + } + + container cefcMIBNotificationEnables { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.3"; + + leaf cefcMIBEnableStatusNotification { + type boolean; + description + "This variable indicates whether the system + produces the following notifications: + cefcModuleStatusChange, cefcPowerStatusChange, + cefcFRUInserted, cefcFRURemoved, + cefcUnrecognizedFRU and cefcFanTrayStatusChange. + + A false value will prevent these notifications + from being generated."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.3.1"; + } + + leaf cefcEnablePSOutputChangeNotif { + type boolean; + description + "This variable indicates whether the system + produces the cefcPowerSupplyOutputChange + notifications when the output capacity of + a power supply has changed. A false value + will prevent this notification to generated."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.3.2"; + } + } + + container cefcFRUPowerSupplyGroupTable { + description + "This table lists the redundancy mode and the + operational status of the power supply groups + in the system."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1"; + + list cefcFRUPowerSupplyGroupEntry { + key "entPhysicalIndex"; + description + "An cefcFRUPowerSupplyGroupTable entry lists the desired + redundancy mode, the units of the power outputs and the + available and drawn current for the power supply group. + + Entries are created by the agent when a power supply group + is added to the entPhysicalTable. Entries are deleted by + the agent at power supply group removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPowerRedundancyMode { + type CISCO-ENTITY-FRU-CONTROL-MIB:PowerRedundancyType; + description + "The administratively desired power supply redundancy + mode."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.1"; + } + + leaf cefcPowerUnits { + type snmpv2-tc:DisplayString; + description + "The units of primary supply to interpret + cefcTotalAvailableCurrent and cefcTotalDrawnCurrent + as power. + + For example, one 1000-watt power supply could + deliver 100 amperes at 10 volts DC. So the value + of cefcPowerUnits would be 'at 10 volts DC'. + + cefcPowerUnits is for display purposes only."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.2"; + } + + leaf cefcTotalAvailableCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Total current available for FRU usage."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.3"; + } + + leaf cefcTotalDrawnCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Total current drawn by powered-on FRUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.4"; + } + + leaf cefcPowerRedundancyOperMode { + type CISCO-ENTITY-FRU-CONTROL-MIB:PowerRedundancyType; + description + "The power supply redundancy operational mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.5"; + } + + leaf cefcPowerNonRedundantReason { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "unknown" { + value "2"; + } + enum "singleSupply" { + value "3"; + } + enum "mismatchedSupplies" { + value "4"; + } + enum "supplyError" { + value "5"; + } + } + description + "This object has the value of notApplicable(1) when + cefcPowerRedundancyOperMode of the instance does not + have the value of nonRedundant(4). + + The other values explain the reason why + cefcPowerRedundancyOperMode is nonRedundant(4), e.g. + + unknown(2) the reason is not identified. + + singleSupply(3) There is only one power supply + in the group. + + mismatchedSupplies(4) There are more than one power + supplies in the groups. However + they are mismatched and can not + work redundantly. + + supplyError(5) Some power supply or supplies + does or do not working properly."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.6"; + } + + leaf cefcTotalDrawnInlineCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Total inline current drawn for inline operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.1.1.7"; + } + } + } + + container cefcFRUPowerStatusTable { + description + "This table lists the power-related administrative status + and operational status of the manageable components + in the system."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2"; + + list cefcFRUPowerStatusEntry { + key "entPhysicalIndex"; + description + "An cefcFRUPowerStatusTable entry lists the desired + administrative status, the operational status of the + power manageable component, and the current required by + the component for operation. + + Entries are created by the agent at system power-up or + the insertion of the component. Entries are deleted by + the agent at the removal of the component. + + Only components with power control are listed in the + table."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFRUPowerAdminStatus { + type CISCO-ENTITY-FRU-CONTROL-MIB:PowerAdminType; + description + "Administratively desired FRU power state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1.1"; + } + + leaf cefcFRUPowerOperStatus { + type CISCO-ENTITY-FRU-CONTROL-MIB:PowerOperType; + description + "Operational FRU power state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1.2"; + } + + leaf cefcFRUCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Current supplied by the FRU (positive values) + or current required to operate the FRU (negative values)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1.3"; + } + + leaf cefcFRUPowerCapability { + type bits { + bit realTimeCurrent { + position "0"; + } + } + description + "This object indicates the set of supported power capabilities + of the FRU. + + realTimeCurrent(0) - + cefcFRURealTimeCurrent is supported by the FRU."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1.4"; + } + + leaf cefcFRURealTimeCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "This object indicates the realtime value of current supplied + by the FRU (positive values) or the realtime value of current + drawn by the FRU (negative values)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.2.1.5"; + } + } + } + + container cefcFRUPowerSupplyValueTable { + description + "This table lists the power capacity of a power FRU in the + system if it provides variable power. Power supplies usually + provide either system or inline power. They cannot be + controlled by software to dictate how they distribute power. + We can also have what are known as variable power supplies. + They can provide both system and inline power and can be + varied within hardware defined ranges for system and inline + limited by a total maximum combined output. They could be + configured by the user via CLI or SNMP or be controlled by + software internally. + This table supplements the information in the + cefcFRUPowerStatusTable for power supply FRUs. The + cefcFRUCurrent attribute in that table provides the overall + current the power supply FRU can provide while this table + gives us the individual contribution towards system and + inline power."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4"; + + list cefcFRUPowerSupplyValueEntry { + key "entPhysicalIndex"; + description + "An cefcFRUPowerSupplyValueTable entry lists the current + provided by the FRU for operation. + + Entries are created by the agent at system power-up or + FRU insertion. Entries are deleted by the agent at FRU + removal. + + Only power supply FRUs are listed in the table."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFRUTotalSystemCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Total current that could be supplied by the FRU (positive + values) for system operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4.1.1"; + } + + leaf cefcFRUDrawnSystemCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Amount of current drawn by the FRU's in the system towards + system operations from this FRU"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4.1.2"; + } + + leaf cefcFRUTotalInlineCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Total current supplied by the FRU (positive values) for + inline operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4.1.3"; + } + + leaf cefcFRUDrawnInlineCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "Amount of current that is being drawn from this FRU for inline + operation."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1.4.1.4"; + } + } + } + + container cefcModuleTable { + description + "A cefcModuleTable entry lists the operational and + administrative status information for ENTITY-MIB + entPhysicalTable entries for manageable components + of type PhysicalClass module(9)."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1"; + + list cefcModuleEntry { + key "entPhysicalIndex"; + description + "A cefcModuleStatusTable entry lists the operational and + administrative status information for ENTITY-MIB + entPhysicalTable entries for manageable components + of type PhysicalClass module(9). + + Entries are created by the agent at the system power-up or + module insertion. + + Entries are deleted by the agent upon module removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModuleAdminStatus { + type CISCO-ENTITY-FRU-CONTROL-MIB:ModuleAdminType; + description + "This object provides administrative control of the + module."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.1"; + } + + leaf cefcModuleOperStatus { + type CISCO-ENTITY-FRU-CONTROL-MIB:ModuleOperType; + description + "This object shows the module's operational state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.2"; + } + + leaf cefcModuleResetReason { + type CISCO-ENTITY-FRU-CONTROL-MIB:ModuleResetReasonType; + description + "This object identifies the reason for the last reset performed + on the module."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.3"; + } + + leaf cefcModuleStatusLastChangeTime { + type yang:timestamp; + description + "The value of sysUpTime at the time the cefcModuleOperStatus + is changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.4"; + } + + leaf cefcModuleLastClearConfigTime { + type yang:timestamp; + description + "The value of sysUpTime when the + configuration was most recently cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.5"; + } + + leaf cefcModuleResetReasonDescription { + type snmpv2-tc:DisplayString; + description + "A description qualifying the module reset reason + specified in cefcModuleResetReason. + + Examples: + command xyz + missing task + switch over + watchdog timeout + etc. + + cefcModuleResetReasonDescription is for display purposes only. + NMS applications must not parse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.6"; + } + + leaf cefcModuleStateChangeReasonDescr { + type snmpv2-tc:DisplayString; + description + "This object displays human-readable textual string which + describes the cause of the last state change of the + module. This object contains zero length string + if no meaningful reason could be provided. + + Examples: + 'Invalid software version' + 'Software download failed' + 'Software version mismatch' + 'Module is in standby state' + etc. + + This object is for display purposes only. + NMS applications must not parse this object + and take any decision based on its value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.7"; + } + + leaf cefcModuleUpTime { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUTimeSeconds; + description + "This object provides the up time for the module + since it was last re-initialized. + + This object is not persistent; if a module reset, + restart, power off, the up time starts from zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.1.1.8"; + } + } + } + + container cefcIntelliModuleTable { + description + "This table sparsely augments the + cefcModuleTable (i.e., every row in + this table corresponds to a row in + the cefcModuleTable but not necessarily + vice-versa). + + A cefcIntelliModuleTable entry lists the + information specific to intelligent + modules which cannot be provided by the + cefcModuleTable."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.2"; + + list cefcIntelliModuleEntry { + key "entPhysicalIndex"; + description + "A cefcIntelliModuleTable entry lists the + information specific to an intelligent + module which cannot be provided by + this module's corresponding instance in + the cefcModuleTable. Only an intelligent + module with Internet address configured has + its entry here. + + An entry of this table is created if an + intelligent module is detected by the + managed system and its management Internet + address is configured on the intelligent + module. + + An entry of this table is deleted if the + removal of Internet address configuration of + this module or the module itself."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcIntelliModuleIPAddrType { + type inet-address:InetAddressType; + description + "The type of Internet address by which the + intelligent module is reachable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.2.1.1"; + } + + leaf cefcIntelliModuleIPAddr { + type inet-address:InetAddress; + description + "The Internet address configured + for the intelligent module. + The type of this address is + determined by the value of the object + cefcIntelliModuleIPAddrType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.2.1.2"; + } + } + } + + container cefcModuleLocalSwitchingTable { + description + "This table sparsely augments the cefcModuleTable + (i.e., every row in this table corresponds to a row in + the cefcModuleTable but not necessarily vice-versa). + + A cefcModuleLocalSwitchingTable entry lists the + information specific to local switching capable + modules which cannot be provided by the + cefcModuleTable."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.3"; + + list cefcModuleLocalSwitchingEntry { + key "entPhysicalIndex"; + description + "A cefcModuleLocalSwitchingTable entry lists the + information specific to a local switching capable + module which cannot be provided by this module's + corresponding instance in the cefcModuleTable. + Only a module which is capable of local switching + has its entry here. + + An entry of this table is created if a module which + is capable of local switching is detected by the + managed system. + + An entry of this table is deleted if the + removal of this module."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModuleLocalSwitchingMode { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This object specifies the mode of local switching. + + enabled(1) - local switching is enabled. + disabled(2) - local switching is disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2.3.1.1"; + } + } + } + + container cefcFanTrayStatusTable { + description + "This table contains the operational status information + for all ENTITY-MIB entPhysicalTable entries which have + an entPhysicalClass of 'fan'; specifically, all + entPhysicalTable entries which represent either: one + physical fan, or a single physical 'fan tray' which is a + manufactured (inseparable in the field) combination of + multiple fans."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.4.1"; + + list cefcFanTrayStatusEntry { + key "entPhysicalIndex"; + description + "An cefcFanTrayStatusTable entry lists the operational + status information for the ENTITY-MIB entPhysicalTable + entry which is identified by the value of entPhysicalIndex. + The value of entPhysicalClass for the identified entry will + be 'fan', and the represented physical entity will be + either: one physical fan, or a single physical 'fan tray' + which is a manufactured (inseparable in the field) + combination of multiple fans. + + Entries are created by the agent at system power-up or + fan or fan tray insertion. Entries are deleted + by the agent at the fan or fan tray removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.4.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFanTrayOperStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "up" { + value "2"; + } + enum "down" { + value "3"; + } + enum "warning" { + value "4"; + } + } + description + "The operational state of the fan or fan tray. + unknown(1) - unknown. + up(2) - powered on. + down(3) - powered down. + warning(4) - partial failure, needs replacement + as soon as possible."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.4.1.1.1"; + } + } + } + + container cefcPhysicalTable { + description + "This table contains one row per physical entity."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.5.1"; + + list cefcPhysicalEntry { + key "entPhysicalIndex"; + description + "Information about a particular physical entity."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.5.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPhysicalStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "supported" { + value "2"; + } + enum "unsupported" { + value "3"; + } + enum "incompatible" { + value "4"; + } + } + description + "The status of this physical entity. + other(1) - the status is not any of the listed below. + supported(2) - this entity is supported. + unsupported(3) - this entity is unsupported. + incompatible(4) - this entity is incompatible. + It would be unsupported(3), if the ID read from Serial + EPROM is not supported. It would be incompatible(4), if + in the present configuration this FRU is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.5.1.1.1"; + } + } + } + + container cefcPowerSupplyInputTable { + description + "This table contains the power input information + for all the power supplies that have entPhysicalTable + entries with 'powerSupply' in the entPhysicalClass. + + The entries are created by the agent at the system + power-up or power supply insertion. + + Entries are deleted by the agent upon power supply + removal. + + The number of entries is determined by the number of + power supplies and number of power inputs on the power + supply."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.1"; + + list cefcPowerSupplyInputEntry { + key "entPhysicalIndex cefcPowerSupplyInputIndex"; + description + "An entry containing power input management information + applicable to a particular power supply and input."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPowerSupplyInputIndex { + type uint32; + description + "A unique value, greater than zero, for each input on + a power supply."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.1.1.1"; + } + + leaf cefcPowerSupplyInputType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "acLow" { + value "2"; + } + enum "acHigh" { + value "3"; + } + enum "dcLow" { + value "4"; + } + enum "dcHigh" { + value "5"; + } + } + description + "The type of an input power detected on the power + supply. + + unknown(1): No input power is detected. + + acLow(2): Lower rating AC input power is detected. + + acHigh(3): Higher rating AC input power is detected. + + dcLow(4): Lower rating DC input power is detected. + + dcHigh(5): Higher rating DC input power is detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.1.1.2"; + } + } + } + + container cefcPowerSupplyOutputTable { + description + "This table contains a list of possible output + mode for the power supplies, whose ENTITY-MIB + entPhysicalTable entries have an entPhysicalClass + of 'powerSupply'. It also indicate which mode + is the operational mode within the system."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.2"; + + list cefcPowerSupplyOutputEntry { + key "entPhysicalIndex cefcPSOutputModeIndex"; + description + "A cefcPowerSupplyOutputTable entry lists the + power output capacity and its operational status + for manageable components of type PhysicalClass + 'powerSupply'. + + Entries are created by the agent at the system + power-up or power supply insertion. + + Entries are deleted by the agent upon power supply + removal. + + The number of entries of a power supply is determined + by the power supply."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPSOutputModeIndex { + type uint32; + description + "A unique value, greater than zero, for each + possible output mode on a power supply."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.2.1.1"; + } + + leaf cefcPSOutputModeCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "The output capacity of the power supply."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.2.1.2"; + } + + leaf cefcPSOutputModeInOperation { + type boolean; + description + "A value of 'true' indicates that this mode is the + operational mode of the power supply output + capacity. + + A value of 'false' indicates that this mode is not + the operational mode of the power supply output + capacity. + + For a given power supply's entPhysicalIndex, + at most one instance of this object can have the + value of true(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6.2.1.3"; + } + } + } + + container cefcChassisCoolingTable { + description + "This table contains the cooling capacity + information of the chassis whose ENTITY-MIB + entPhysicalTable entries have an + entPhysicalClass of 'chassis'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.1"; + + list cefcChassisCoolingEntry { + key "entPhysicalIndex"; + description + "A cefcChassisCoolingEntry lists the maximum + cooling capacity that could be provided + for one slot on the manageable components of type + PhysicalClass 'chassis'. + + Entries are created by the agent if the corresponding + entry is created in ENTITY-MIB entPhysicalTable. + + Entries are deleted by the agent if the corresponding + entry is deleted in ENTITY-MIB entPhysicalTable."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcChassisPerSlotCoolingCap { + type uint32; + description + "The maximum cooling capacity that could be provided + for any slot in this chassis. + + The default unit of the cooling capacity is 'cfm', if + cefcChassisPerSlotCoolingUnit is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.1.1.1"; + } + + leaf cefcChassisPerSlotCoolingUnit { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCoolingUnit; + description + "The unit of the maximum cooling capacity for any slot + in this chassis."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.1.1.2"; + } + } + } + + container cefcFanCoolingTable { + description + "This table contains the cooling capacity + information of the fans whose ENTITY-MIB + entPhysicalTable entries have an + entPhysicalClass of 'fan'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.2"; + + list cefcFanCoolingEntry { + key "entPhysicalIndex"; + description + "A cefcFanCoolingEntry lists the cooling + capacity that is provided by the + manageable components of type PhysicalClass + 'fan'. + + Entries are created by the agent if the corresponding + entry is created in ENTITY-MIB entPhysicalTable. + + Entries are deleted by the agent if the corresponding + entry is deleted in ENTITY-MIB entPhysicalTable."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFanCoolingCapacity { + type uint32; + description + "The cooling capacity that is provided by this fan. + + The default unit of the fan cooling capacity is 'cfm', + if cefcFanCoolingCapacityUnit is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.2.1.1"; + } + + leaf cefcFanCoolingCapacityUnit { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCoolingUnit; + description + "The unit of the fan cooling capacity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.2.1.2"; + } + } + } + + container cefcModuleCoolingTable { + description + "This table contains the cooling requirement for + all the manageable components of type entPhysicalClass + 'module'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.3"; + + list cefcModuleCoolingEntry { + key "entPhysicalIndex"; + description + "A cefcModuleCoolingEntry lists the cooling + requirement for a manageable components of type + entPhysicalClass 'module'. + + Entries are created by the agent at the system + power-up or module insertion. + + Entries are deleted by the agent upon module + removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModuleCooling { + type uint32; + description + "The cooling requirement of the module and its daughter + cards. + + The default unit of the module cooling requirement is + 'cfm', if cefcModuleCoolingUnit is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.3.1.1"; + } + + leaf cefcModuleCoolingUnit { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCoolingUnit; + description + "The unit of the cooling requirement of the module and its + daughter cards."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.3.1.2"; + } + } + } + + container cefcFanCoolingCapTable { + description + "This table contains a list of the possible cooling + capacity modes and properties of the fans, whose + ENTITY-MIB entPhysicalTable entries have an + entPhysicalClass of 'fan'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4"; + + list cefcFanCoolingCapEntry { + key "entPhysicalIndex cefcFanCoolingCapIndex"; + description + "A cefcFanCoolingCapacityEntry lists the cooling + capacity mode of a manageable components of type + entPhysicalClass 'fan'. It also lists the corresponding + cooling capacity provided and the power consumed + by the fan on this mode. + + + Entries are created by the agent if the corresponding + entry is created in ENTITY-MIB entPhysicalTable. + + Entries are deleted by the agent if the corresponding + entry is deleted in ENTITY-MIB entPhysicalTable."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFanCoolingCapIndex { + type uint32 { + range "1..4095"; + } + description + "An arbitrary value that uniquely identifies a + cooling capacity mode for a fan."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1.1"; + } + + leaf cefcFanCoolingCapModeDescr { + type snmp-framework:SnmpAdminString; + description + "A textual description of the cooling capacity + mode of the fan."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1.2"; + } + + leaf cefcFanCoolingCapCapacity { + type uint32; + description + "The cooling capacity that could be provided + when the fan is operating in this mode. + + The default unit of the cooling capacity is 'cfm', + if cefcFanCoolingCapCapacityUnit is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1.3"; + } + + leaf cefcFanCoolingCapCurrent { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "The power consumption of the fan when operating in + in this mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1.4"; + } + + leaf cefcFanCoolingCapCapacityUnit { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCoolingUnit; + description + "The unit of the fan cooling capacity when operating + in this mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7.4.1.5"; + } + } + } + + container cefcConnectorRatingTable { + description + "This table contains the connector power + ratings of FRUs. + + Only components with power connector rating + management are listed in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.1"; + + list cefcConnectorRatingEntry { + key "entPhysicalIndex"; + description + "A cefcConnectorRatingEntry lists the + power connector rating information of a + component in the system. + + An entry or entries are created by the agent + when an physical entity with connector rating + management is added to the ENTITY-MIB + entPhysicalTable. An entry is deleted + by the agent at the entity removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcConnectorRating { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "The maximum power that the component's + connector can withdraw."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.1.1.1"; + } + } + } + + container cefcModulePowerConsumptionTable { + description + "This table contains the total power consumption + information for modules whose ENTITY-MIB + entPhysicalTable entries have an entPhysicalClass + of 'module'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.2"; + + list cefcModulePowerConsumptionEntry { + key "entPhysicalIndex"; + description + "A cefcModulePowerConsumptionEntry lists the total + power consumption of a manageable components of type + entPhysicalClass 'module'. + + Entries are created by the agent at the system + power-up or module insertion. + + Entries are deleted by the agent upon module + removal."; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModulePowerConsumption { + type CISCO-ENTITY-FRU-CONTROL-MIB:FRUCurrentType; + description + "The combined power consumption to operate the module + and its submodule(s) and inline-power device(s)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8.2.1.1"; + } + } + } + } + + notification cefcModuleStatusChange { + description + "This notification is generated when the value of + cefcModuleOperStatus changes. It can be utilized by + an NMS to update the status of the module it is + managing."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModuleOperStatus { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleOperStatus"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcModuleStatusLastChangeTime { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcModuleStatusLastChangeTime"; + } + } + } + } + + notification cefcPowerStatusChange { + description + "The cefcFRUPowerStatusChange notification indicates that + the power status of a FRU has changed. The varbind for this + notification indicates the entPhysicalIndex of the FRU, + and the new operational-status of the FRU."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFRUPowerOperStatus { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerStatusTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerStatusEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerOperStatus"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFRUPowerAdminStatus { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerStatusTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerStatusEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFRUPowerAdminStatus"; + } + } + } + } + + notification cefcFRUInserted { + description + "The cecfFRUInserted notification indicates that a FRU was + inserted. The varbind for this notification indicates the + entPhysicalIndex of the inserted FRU, and the entPhysicalIndex + of the FRU's container."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.3"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalContainedIn { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalContainedIn"; + } + } + } + } + + notification cefcFRURemoved { + description + "The cefcFRURemoved notification indicates that a FRU was + removed. The varbind for this notification indicates the + entPhysicalIndex of the removed FRU, and the entPhysicalIndex + of the FRU's container."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.4"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalContainedIn { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalContainedIn"; + } + } + } + } + + notification cefcUnrecognizedFRU { + description + "The cefcUnrecognizedFRU notification indicates that a FRU was + inserted whose product ID is not supported. The varbind for + this notification indicates the entPhysicalIndex of the + inserted FRU, the entPhysicalClass this FRU belongs to, the + entPhysicalVendorType of this FRU, the entPhysicalName + of the FRU, the entPhysicalModelName of the inserted FRU, and + the cefcPhysicalStatus telling the reason code for sending this + notification."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.5"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalClass { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalClass"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalVendorType { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalVendorType"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalName { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalName"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalModelName { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalModelName"; + } + } + } + + container object-5 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPhysicalStatus { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPhysicalTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPhysicalEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPhysicalStatus"; + } + } + } + } + + notification cefcFanTrayStatusChange { + description + "This notification is generated when the value of + cefcFanTrayOperStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.6"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcFanTrayOperStatus { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFanTrayStatusTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFanTrayStatusEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcFanTrayOperStatus"; + } + } + } + } + + notification cefcPowerSupplyOutputChange { + description + "The notification indicates that the power + supply's output capacity has changed. + + This notification is triggered whenever one instance + of the power supply's cefcPSOutputModeInOperation + has transitioned from 'false' to 'true'."; + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0.7"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalName { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhysicalModelName { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalModelName"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cefcPSOutputModeIndex { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPowerSupplyOutputTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPowerSupplyOutputEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPSOutputModeIndex"; + } + } + + leaf cefcPSOutputModeCurrent { + type leafref { + path "/CISCO-ENTITY-FRU-CONTROL-MIB:CISCO-ENTITY-FRU-CONTROL-MIB/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPowerSupplyOutputTable/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPowerSupplyOutputEntry/CISCO-ENTITY-FRU-CONTROL-MIB:cefcPSOutputModeCurrent"; + } + } + } + } + + smiv2:alias "ciscoEntityFRUControlMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.117"; + } + + smiv2:alias "cefcMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1"; + } + + smiv2:alias "cefcFRUPower" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.1"; + } + + smiv2:alias "cefcModule" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.2"; + } + + smiv2:alias "cefcMIBNotificationEnables" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.3"; + } + + smiv2:alias "cefcFRUFan" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.4"; + } + + smiv2:alias "cefcPhysical" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.5"; + } + + smiv2:alias "cefcPowerCapacity" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.6"; + } + + smiv2:alias "cefcCooling" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.7"; + } + + smiv2:alias "cefcConnector" { + smiv2:oid "1.3.6.1.4.1.9.9.117.1.8"; + } + + smiv2:alias "cefcFRUMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.117.2"; + } + + smiv2:alias "cefcMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.117.2.0"; + } + + smiv2:alias "cefcMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.117.3"; + } + + smiv2:alias "cefcMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.117.3.1"; + } + + smiv2:alias "cefcMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.117.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-QFP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-QFP-MIB.yang new file mode 100644 index 000000000..913a61d8f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-QFP-MIB.yang @@ -0,0 +1,1167 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-ENTITY-QFP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-QFP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-QFP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB"; + prefix CISCO-ENTITY-QFP-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + + Postal: 170 W Tasman Drive + + San Jose, CA 95134 + + USA + + + Tel: +1 800 553-NETS + + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines managed objects that facilitate the + management of Quantum Flow Processors (QFP), which are listed + in the ENTITY-MIB (RFC 4133) entPhysicalTable as an + entPhysicalClass of 'cpu'. + + The Quantum Flow Processors (QFP) technology is an architecture + family developed by Cisco, which has fully integrated and + programmable networking chip set that controls different + functions of a system such as packet forwarding. + + This module contains objects to monitor various QFP + statistics such as system, utilization, memory, etc. + + The utilization statistics can be used for future capacity + planning. The calculation of this statistics may vary by + devices which host QFPs, hence the user must refer to the + specific device document of interest for the exact method + of calculation. The utilization statistics have the following + terminology. + + o Input - Communication channel where packets arrive on the + QFP. + + o Output - Communication channel where packets leave the QFP. + + o Priority - A classification applied to packets indicating + they should be treated with greater urgency. + + o Non-Priority - A classification applied to packets indicating + they should be treated with lesser urgency. + + o Processing Load - The percentage of time over some interval + that the QFP has spent forwarding packets, + relative to the total time spent both + forwarding packets and being idle."; + + revision 2014-06-18 { + description + "Added the following objects to the MIB. + + ceqfpThroughputLicensedBW, ceqfpThroughputLevel, + ceqfpThroughputInterval, ceqfpThroughputThreshold, + ceqfpThroughputAvgRate to ceqfpThroughputTable. + + Added ceqfpThroughputNotifEnabled to ciscoEntityQfpNotif group. + + Added ceqfpThroughputNotif as a new notification to the MIB. + + Added a new MIB conform group, ceqfpThroughputGroup for the new + objects. + + Also modified the ciscoEntityQfpMIBComplianceRev2 to add the new + group ceqfpThroughputGroup."; + } + + revision 2012-06-06 { + description + "Added the following new objects to the + ceqfpMemoryResourceTable. + ceqfpMemoryResTotalOvrflw, ceqfpMemoryHCResTotal, + ceqfpMemoryResInUseOvrflw, ceqfpMemoryHCResInUse, + ceqfpMemoryResFreeOvrflw,ceqfpMemoryHCResFree, + ceqfpMemoryResLowFreeWatermarkOvrflw, + ceqfpMemoryHCResLowFreeWatermark. + + Added following new compliance groups. + ciscoEntityQfpMemoryResourceOvrflwGroup, + ciscoEntityQfpMemoryHCResourceGroup. + + Added new compliance ciscoEntityQfpMIBComplianceRev2 which + deprecates ciscoEntityQfpMIBComplianceRev1."; + } + + revision 2009-12-02 { + description + "Initial version of this MIB module."; + } + + typedef CiscoQfpPacketRate { + type yang:counter64; + description + "An estimate of throughput in units of packets per second. + + The CiscoQfpPacketRate type represents a non-negative integer, + which may increase or decrease, but shall never exceed a + maximum value, nor fall below a minimum value of Counter64. + The Counter64 syntax is used for encoding rules."; + smiv2:display-hint "d"; + } + + typedef CiscoQfpBitRate { + type yang:counter64; + description + "An estimate of throughput in units of bits per second. + + The CiscoQfpBitRate type represents a non-negative integer, + which may increase or decrease, but shall never exceed a + maximum value, nor fall below a minimum value of Counter64. + The Counter64 syntax is used for encoding rules."; + smiv2:display-hint "d"; + } + + typedef CiscoQfpTimeInterval { + type enumeration { + enum "fiveSeconds" { + value "1"; + } + enum "oneMinute" { + value "2"; + } + enum "fiveMinutes" { + value "3"; + } + enum "sixtyMinutes" { + value "4"; + } + } + description + "An enumerated integer-value describing the available interval + values for which the periodic statistics are to be collected. + + fiveSeconds (1) - Interval to collect last 5 seconds + statistics + oneMinute(2) - Interval to collect last 1 minute + statistics + fiveMinutes(3) - Interval to collect last 5 minutes + statistics + sixtyMinutes(4) - Interval to collect last 60 minutes + statistics"; + } + + typedef CiscoQfpMemoryResource { + type enumeration { + enum "dram" { + value "1"; + } + } + description + "An enumerated integer-value describing various memory resources + used by the QFP. + + dram (1) - Dynamic Random Access Memory (DRAM) memory resource"; + } + + + container CISCO-ENTITY-QFP-MIB { + config false; + + container ciscoEntityQfp { + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1"; + + leaf ceqfpFiveSecondUtilAlgo { + type enumeration { + enum "unknown" { + value "1"; + } + enum "fiveSecSample" { + value "2"; + } + } + description + "This objects represents the method used to calculate 5 Second + interval utilization data. The enumerated values are described + below. + + unknown (1) - The calculation method is unknown + fiveSecSample (2) - The value is calculated based on the last + 5 second sampling period of utilization + data."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.2"; + } + + leaf ceqfpOneMinuteUtilAlgo { + type enumeration { + enum "unknown" { + value "1"; + } + enum "fiveSecSMA" { + value "2"; + } + } + description + "This objects represents the method used to calculate 1 Minute + interval utilization data. The enumerated values are described + below. + + unknown (1) - The calculation method is unknown + fiveSecSMA (2) - The value is calculated using Simple Moving + Average of last 12 five seconds utilization + data."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.3"; + } + + leaf ceqfpFiveMinutesUtilAlgo { + type enumeration { + enum "unknown" { + value "1"; + } + enum "fiveSecSMA" { + value "2"; + } + } + description + "This objects represents the method used to calculate 5 Minutes + interval utilization data. The enumerated values are described + below. + + unknown (1) - The calculation method is unknown + fiveSecSMA (2) - The value is calculated using Simple Moving + Average of last 60 five seconds utilization + data."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.4"; + } + + leaf ceqfpSixtyMinutesUtilAlgo { + type enumeration { + enum "unknown" { + value "1"; + } + enum "fiveSecSMA" { + value "2"; + } + } + description + "This objects represents the method used to calculate 60 Minutes + interval utilization data. The enumerated values are described + below. + + unknown (1) - The calculation method is unknown + fiveSecSMA (1) - The value is calculated using Simple Moving + Average of last 720 five seconds utilization + data."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.5"; + } + } + + container ciscoEntityQfpNotif { + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2"; + + leaf ceqfpMemoryResThreshNotifEnabled { + type boolean; + description + "This object controls memory resource rising and falling + threshold notification. + + When this object contains a value 'true', then generation of + memory resource threshold notification is enabled. If this + object contains a value 'false', then generation of memory + resource threshold notification is disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2.1"; + } + + leaf ceqfpThroughputNotifEnabled { + type uint32 { + range "0..2"; + } + description + "This object controls throughput rate notification. + + When this object contains a value 'true', then generation of + ceqfpThroughputNotif is enabled. If this object contains a value + 'false', then generation of ceqfpThroughputNotif is disabled."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2.4"; + } + } + + container ceqfpSystemTable { + description + "This table maintains the QFP system information for each QFP + physical entity. + + An agent creates a conceptual row to this table corresponding + to a QFP physical entity upon detection of a physical entity + supporting the QFP system information. + + An agent destroys a conceptual row from this table + corresponding to a QFP physical entity upon removal + of the QFP host physical entity."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1"; + + list ceqfpSystemEntry { + key "entPhysicalIndex"; + description + "A conceptual row in the ceqfpSystemTable. There is an entry + in this table for each QFP entity, as defined by a value of + entPhysicalIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpSystemTrafficDirection { + type enumeration { + enum "none" { + value "1"; + } + enum "ingress" { + value "2"; + } + enum "egress" { + value "3"; + } + enum "both" { + value "4"; + } + } + description + "This object represents the traffic direction that this QFP is + assigned to process. The enumerated values are described below. + + none (1) - The QFP is not assigned to processes any traffic + yet + ingress (2) - The QFP processes inbound traffic + egress (3) - The QFP processes outbound traffic + both (4) - The QFP processes both inbound and outbound + traffic"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1.1.1"; + } + + leaf ceqfpSystemState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "reset" { + value "2"; + } + enum "init" { + value "3"; + } + enum "active" { + value "4"; + } + enum "activeSolo" { + value "5"; + } + enum "standby" { + value "6"; + } + enum "hotStandby" { + value "7"; + } + } + description + "This object represents the current QFP state. The enumerated + values are described below. + + unknown (1) - The state of the QFP is unknown + reset (2) - The QFP is reset + init (3) - The QFP is being initialized + active (4) - The QFP is active in a system with redundant + QFP + activeSolo (5) - The QFP is active and there is no redundant + QFP in the system + standby (6) - The QFP is standby in a redundant system. + hotStandby (7) - The QFP is standby and synchronized with + active, so that a switchover in this state + will preserve state of the active. Stateful + datapath features are synchronized between the + active QFP and standby QFP"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1.1.2"; + } + + leaf ceqfpNumberSystemLoads { + type yang:counter32; + description + "This object represents the number of times the QFP is loaded, + since the QFP host is up."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1.1.3"; + } + + leaf ceqfpSystemLastLoadTime { + type snmpv2-tc:DateAndTime; + description + "This object represents the QFP last load time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.1.1.4"; + } + } + } + + container ceqfpUtilizationTable { + description + "This table maintains the utilization statistics collected + by each QFP physical entity at various time interval such as + last 5 seconds, 1 minute, etc. + + An agent creates a conceptual row to this table corresponding + to a QFP physical entity for a time interval upon detection of + a physical entity supporting the utilization statistics for a + time interval. + + The agent destroys a conceptual row from this table + corresponding to a QFP physical entity for a time interval + upon removal of the QFP host physical entity or it does not + receive the utilization statistics update for a certain time + period. The time period to wait before deleting an entry from + this table would be the discretion of the supporting device."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6"; + + list ceqfpUtilizationEntry { + key "entPhysicalIndex ceqfpUtilTimeInterval"; + description + "A conceptual row in the ceqfpUtilizationTable. There is + an entry in this table for each QFP entity by a value of + entPhysicalIndex and the supported time interval by a value + of ceqfpUtilTimeInterval. + + The method of utilization data calculation for each interval + period can be identified through the respective interval + scalar objects. For example the utilizaiton data calculation + method for 'fiveSecond' interval can be identified by + ceqfpFiveSecondUtilAlgo."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpUtilTimeInterval { + type CISCO-ENTITY-QFP-MIB:CiscoQfpTimeInterval; + description + "This object identifies the time interval for which the + utilization statistics being collected. The interval + values can be 5 second, 1 minute, etc. as specified in + the CiscoQfpTimeInterval."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.1"; + } + + leaf ceqfpUtilInputPriorityPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP input channel priority packet + rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.2"; + } + + leaf ceqfpUtilInputPriorityBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP input channel priority bit rate + during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.3"; + } + + leaf ceqfpUtilInputNonPriorityPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP input channel non-priority + packet rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.4"; + } + + leaf ceqfpUtilInputNonPriorityBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP input channel non-priority + bit rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.5"; + } + + leaf ceqfpUtilInputTotalPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP input channel total packet rate + during this interval, which includes both priority and + non-priority input packet rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.6"; + } + + leaf ceqfpUtilInputTotalBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP input channel total bit rate + during this interval, which includes both priority and + non-priority input bit rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.7"; + } + + leaf ceqfpUtilOutputPriorityPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP output channel priority packet + rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.8"; + } + + leaf ceqfpUtilOutputPriorityBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP output channel priority bit + rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.9"; + } + + leaf ceqfpUtilOutputNonPriorityPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP output channel non-priority + packet rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.10"; + } + + leaf ceqfpUtilOutputNonPriorityBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP output channel non-priority + bit rate during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.11"; + } + + leaf ceqfpUtilOutputTotalPktRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpPacketRate; + units "packets per second"; + description + "This object represents the QFP output channel total packet rate + during this interval, which includes both priority and + non-priority output packet rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.12"; + } + + leaf ceqfpUtilOutputTotalBitRate { + type CISCO-ENTITY-QFP-MIB:CiscoQfpBitRate; + units "bits per second"; + description + "This object represents the QFP output channel total bit rate + during this interval, which includes both priority and + non-priority bit rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.13"; + } + + leaf ceqfpUtilProcessingLoad { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "This object represents the QFP processing load during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.6.1.14"; + } + } + } + + container ceqfpMemoryResourceTable { + description + "This table maintains the memory resources statistics for + each QFP physical entity. + + An agent creates a conceptual row to this table corresponding + to a QFP physical entity and its supported memory resource type + upon detection of a physical entity supporting the memory + resource statistics for a memory resource type. + + An agent destroys a conceptual row from this table + corresponding to a QFP physical entity and its supported + memory resource type upon removal of the QFP host physical + entity or it does not receive memory resource statistics + update for a certain time period. The time period to wait + before deleting an entry from this table would be the + discretion of the supporting device."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7"; + + list ceqfpMemoryResourceEntry { + key "entPhysicalIndex ceqfpMemoryResType"; + description + "A conceptual row in the ceqfpMemoryResourceTable. There + is an entry in this table for each QFP entity by a value + of entPhysicalIndex and the supported memory resource type + by a value of ceqfpMemoryResType."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpMemoryResType { + type CISCO-ENTITY-QFP-MIB:CiscoQfpMemoryResource; + description + "This object indicates the type of the memory resource used by + the QFP. This object is one of the indices to uniquely identify + the QFP memory resource type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.1"; + } + + leaf ceqfpMemoryResTotal { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents total memory available on this memory + resource."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.2"; + } + + leaf ceqfpMemoryResInUse { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the memory which is currently under use + on this memory resource."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.3"; + } + + leaf ceqfpMemoryResFree { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the memory which is currently free on + this memory resource."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.4"; + } + + leaf ceqfpMemoryResLowFreeWatermark { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents lowest free water mark on this memory + resource."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.5"; + } + + leaf ceqfpMemoryResRisingThreshold { + type uint32 { + range "0..100"; + } + units "percent"; + description + "This object represents the rising threshold value for this + memory resource. A value of zero means that the rising + threshold is not supported for this memory resource. + + The value of this object can not be set to lower than or + equal to ceqfpMemoryResFallingThreshold. + + A rising (ceqfpMemoryResRisingThreshNotif) notification + will be generated, whenever the memory resource usage + (ceqfpMemoryHCResInUse) is equal to or greater than this + value. + + After a rising notification is generated, another such + notification will not be generated until the + ceqfpMemoryResInUse falls below this value and reaches + the ceqfpMemoryResFallingThreshold."; + smiv2:defval "90"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.6"; + } + + leaf ceqfpMemoryResFallingThreshold { + type uint32 { + range "0..100"; + } + units "percent"; + description + "This object represents the falling threshold value for this + memory resource. A value of zero means that the falling + threshold is not supported for this memory resource. + + The value of this object can not be set to higher than or + equal to ceqfpMemoryResRisingThreshold. + + A falling (ceqfpMemoryResRisingThreshNotif) notification + will be generated, whenever the memory resource usage + (ceqfpMemoryHCResInUse) is equal to or lesser than this value. + + After a falling notification is generated, another + such notification will not be generated until the + ceqfpMemoryResInUse rises above this value and reaches + the ceqfpMemoryResRisingThreshold."; + smiv2:defval "85"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.7"; + } + + leaf ceqfpMemoryResTotalOvrflw { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the upper 32-bit of + ceqfpMemoryResTotal. + This object needs to be supported only when the value of + ceqfpMemoryResTotal exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.8"; + } + + leaf ceqfpMemoryHCResTotal { + type yang:gauge64; + units "kilo bytes"; + description + "This object is a 64-bit version of ceqfpMemoryResTotal."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.9"; + } + + leaf ceqfpMemoryResInUseOvrflw { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the upper 32-bit of + ceqfpMemoryResInUse. + This object needs to be supported only when the value of + ceqfpMemoryResInUse exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.10"; + } + + leaf ceqfpMemoryHCResInUse { + type yang:gauge64; + units "kilo bytes"; + description + "This object is a 64-bit version of ceqfpMemoryInRes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.11"; + } + + leaf ceqfpMemoryResFreeOvrflw { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the upper 32-bit of ceqfpMemoryResFree. + This object needs to be supported only when the value of + ceqfpMemoryResFree exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.12"; + } + + leaf ceqfpMemoryHCResFree { + type yang:gauge64; + units "kilo bytes"; + description + "This object is a 64-bit version of ceqfpMemoryResFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.13"; + } + + leaf ceqfpMemoryResLowFreeWatermarkOvrflw { + type yang:gauge32; + units "kilo bytes"; + description + "This object represents the upper 32-bit of + ceqfpMemoryResLowFreeWatermark. This object needs to be + supported only when the value of ceqfpMemoryResLowFreeWatermark + exceeds 32-bit, otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.14"; + } + + leaf ceqfpMemoryHCResLowFreeWatermark { + type yang:gauge64; + units "kilo bytes"; + description + "This object is a 64-bit version of + ceqfpMemoryResLowFreeWatermark."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.7.1.15"; + } + } + } + + container ceqfpThroughputTable { + description + "This table maintains the throughput information for each + QFP physical entity. + + An agent creates a conceptual row to this table + corresponding to a QFP physical entity upon detection of a + physical entity supporting the QFP throughput information. + + An agent destroys a conceptual row from this table + + corresponding to a QFP physical entity upon removal of the QFP + host physical entity."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8"; + + list ceqfpThroughputEntry { + key "entPhysicalIndex"; + description + "A conceptual row in the ceqfpThroughputTable. There is an entry + in this table for each QFP entity, as defined by a value of + entPhysicalIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpThroughputLicensedBW { + type yang:counter64; + units "bits per second"; + description + "This object represents the bandwidth for installed + throughput license."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1.1"; + } + + leaf ceqfpThroughputLevel { + type enumeration { + enum "normal" { + value "1"; + } + enum "warning" { + value "2"; + } + enum "exceed" { + value "3"; + } + } + description + "This object represents the current throughput level for + installed throughput license. + + normal (1) - Throughput usage is normal + warning (2) - Throughput usage has crossed the + configured threshold limit + exceed (3) - Throughput usage has exceeded the + total licensed bandwidth"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1.2"; + } + + leaf ceqfpThroughputInterval { + type int32 { + range "10..86400"; + } + units "seconds"; + description + "The object represents the configured time interval at which the + ceqfpThroughputLevel is checked."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1.3"; + } + + leaf ceqfpThroughputThreshold { + type int32 { + range "75..95"; + } + units "percent"; + description + "The object represents the configured throughput threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1.4"; + } + + leaf ceqfpThroughputAvgRate { + type yang:counter64; + units "bits per second"; + description + "The object represents the average throughput rate in the + interval ceqfpThroughputInterval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1.8.1.5"; + } + } + } + } + + notification ceqfpMemoryResRisingThreshNotif { + description + "A notification indicating that the QFP memory usage is rising + the threshold on this memory resource. + + This notification will be sent, whenever the QFP memory + usage (ceqfpMemoryResInUse) is equal to or above the + rising threshold (ceqfpMemoryResRisingThreshold). + + An agent may throttle the generation of consecutive + ceqfpMemoryResRisingThreshNotif notification so that + there is at least a five second (suggested default) + gap between notification of this type."; + smiv2:oid "1.3.6.1.4.1.9.9.715.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpMemoryResType { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceTable/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceEntry/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResType"; + } + } + + leaf ceqfpMemoryResInUse { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceTable/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceEntry/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResInUse"; + } + } + } + + container object-2 { + + leaf ceqfpMemoryResCurrentRisingThresh { + type uint32 { + range "1..100"; + } + units "percent"; + description + "This object represents the current rising threshold + value, which triggers the rising threshold notification + (ceqfpMemoryResRisingThreshNotif)."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2.2"; + } + } + } + + notification ceqfpMemoryResFallingThreshNotif { + description + "A notification indicating that the QFP memory usage is equal + to or below the falling threshold on this memory resource. + + This notification will be sent, whenever the QFP memory + usage (ceqfpMemoryResInUse) is equal to or below the + falling threshold (ceqfpMemoryResFallingThreshold). + + An agent may throttle the generation of consecutive + ceqfpMemoryResFallingThreshNotif notification so that + there is at least a five second (suggested default) + gap between notification of this type."; + smiv2:oid "1.3.6.1.4.1.9.9.715.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpMemoryResType { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceTable/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceEntry/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResType"; + } + } + + leaf ceqfpMemoryResInUse { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceTable/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResourceEntry/CISCO-ENTITY-QFP-MIB:ceqfpMemoryResInUse"; + } + } + } + + container object-2 { + + leaf ceqfpMemoryResCurrentFallingThresh { + type uint32; + units "percent"; + description + "This object represents the current falling threshold + value, which triggers the falling threshold notification + (ceqfpMemoryResFallingThreshNotif)."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2.3"; + } + } + } + + notification ceqfpThroughputNotif { + description + "A notification indicating that the average throughput rate for + the configured interval has exceeded the threshold or reached + maximum bandwidth allowed. + + This notification will be sent, whenever the ceqfpThroughputLevel + object has the value warning(2) or exceed(3). The condition for + trap generation will be checked in every + ceqfpThroughputInterval. + + ceqfpThroughputNotif with ceqfpThrougputLevel as warning(2) + indicates that average throughput rate has crossed the + configured threshold. + + ceqfpThroughputNotif with ceqfpThrougputLevel as exceed(3) + indicates that average throughput rate has reached maximum + licensed bandwidth."; + smiv2:oid "1.3.6.1.4.1.9.9.715.0.3"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpThroughputLicensedBW { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpThroughputTable/CISCO-ENTITY-QFP-MIB:ceqfpThroughputEntry/CISCO-ENTITY-QFP-MIB:ceqfpThroughputLicensedBW"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpThroughputLevel { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpThroughputTable/CISCO-ENTITY-QFP-MIB:ceqfpThroughputEntry/CISCO-ENTITY-QFP-MIB:ceqfpThroughputLevel"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf ceqfpThroughputAvgRate { + type leafref { + path "/CISCO-ENTITY-QFP-MIB:CISCO-ENTITY-QFP-MIB/CISCO-ENTITY-QFP-MIB:ceqfpThroughputTable/CISCO-ENTITY-QFP-MIB:ceqfpThroughputEntry/CISCO-ENTITY-QFP-MIB:ceqfpThroughputAvgRate"; + } + } + } + } + + smiv2:alias "ciscoEntityQfpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.715"; + } + + smiv2:alias "ciscoEntityQfpMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.715.0"; + } + + smiv2:alias "ciscoEntityQfpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.715.1"; + } + + smiv2:alias "ciscoEntityQfp" { + smiv2:oid "1.3.6.1.4.1.9.9.715.1.1"; + } + + smiv2:alias "ciscoEntityQfpNotif" { + smiv2:oid "1.3.6.1.4.1.9.9.715.1.2"; + } + + smiv2:alias "ciscoEntityQfpMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.715.2"; + } + + smiv2:alias "ciscoEntityQfpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.715.2.1"; + } + + smiv2:alias "ciscoEntityQfpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.715.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-SENSOR-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-SENSOR-MIB.yang new file mode 100644 index 000000000..94cb84e71 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-SENSOR-MIB.yang @@ -0,0 +1,881 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-ENTITY-SENSOR-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-SENSOR-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-SENSOR-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB"; + prefix CISCO-ENTITY-SENSOR-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 408 526 4000 + + E-mail: cs-snmp@cisco.com"; + + description + "The CISCO-ENTITY-SENSOR-MIB is used to monitor + the values of sensors in the Entity-MIB (RFC 2037) + entPhysicalTable."; + + revision 2015-01-15 { + description + "Corrected the definition of entSensorPrecision."; + } + + revision 2013-09-21 { + description + "Added entSensorThresholdRecoveryNotification to + entitySensorMIBNotifications. + Added entSensorThresholdSeverity as a varbind + object to entSensorThresholdNotification. + Added entitySensorNotificationGroup + and deprecated + entitySensorThresholdNotificationGroup. + Added entSensorThresholdNotification and + entSensorThresholdRecoveryNotification to + entitySensorNotificationGroup. + Added entitySensorMIBComplianceV05 and + deprecated entitySensorMIBComplianceV04."; + } + + revision 2007-11-12 { + description + "Added entitySensorNotifCtrlGlobalGroup."; + } + + revision 2006-01-01 { + description + "Add new object entSensorMeasuredEntity to + entSensorValueTable."; + } + + revision 2005-09-08 { + description + "Change the module descriptor name from entitySensorMIB + to ciscoEntitySensorMIB since ENTITY-SENSOR-MIB also + uses the same name and there is a conflict."; + } + + revision 2003-01-07 { + description + "[1] Add dBm(14) in SensorDataType."; + } + + revision 2002-10-16 { + description + "[1] Add critical(30) in CSensorThresholdSeverity. + [2] Change to MAX-ACCESS read-write for 3 objects. + [3] Add entitySensorMIBComplianceV02."; + } + + revision 2000-06-20 { + description + "Initial version of this MIB module."; + } + + typedef SensorDataType { + type enumeration { + enum "other" { + value "1"; + } + enum "unknown" { + value "2"; + } + enum "voltsAC" { + value "3"; + } + enum "voltsDC" { + value "4"; + } + enum "amperes" { + value "5"; + } + enum "watts" { + value "6"; + } + enum "hertz" { + value "7"; + } + enum "celsius" { + value "8"; + } + enum "percentRH" { + value "9"; + } + enum "rpm" { + value "10"; + } + enum "cmm" { + value "11"; + } + enum "truthvalue" { + value "12"; + } + enum "specialEnum" { + value "13"; + } + enum "dBm" { + value "14"; + } + } + description + "sensor measurement data types. valid values are: + other(1): a measure other than those listed below + unknown(2): unknown measurement, or + arbitrary, relative numbers + voltsAC(3): electric potential + voltsDC(4): electric potential + amperes(5): electric current + watts(6): power + hertz(7): frequency + celsius(8): temperature + percentRH(9): percent relative humidity + rpm(10): shaft revolutions per minute + cmm(11),: cubic meters per minute (airflow) + truthvalue(12): value takes { true(1), false(2) } + specialEnum(13): value takes user defined enumerated values + dBm(14): dB relative to 1mW of power"; + } + + typedef SensorDataScale { + type enumeration { + enum "yocto" { + value "1"; + } + enum "zepto" { + value "2"; + } + enum "atto" { + value "3"; + } + enum "femto" { + value "4"; + } + enum "pico" { + value "5"; + } + enum "nano" { + value "6"; + } + enum "micro" { + value "7"; + } + enum "milli" { + value "8"; + } + enum "units" { + value "9"; + } + enum "kilo" { + value "10"; + } + enum "mega" { + value "11"; + } + enum "giga" { + value "12"; + } + enum "tera" { + value "13"; + } + enum "exa" { + value "14"; + } + enum "peta" { + value "15"; + } + enum "zetta" { + value "16"; + } + enum "yotta" { + value "17"; + } + } + description + "International System of Units (SI) prefixes."; + } + + typedef SensorPrecision { + type int32 { + range "-8..9"; + } + description + "When in the range 1 to 9, SensorPrecision is the number + of decimal places in the fractional part of + a SensorValue fixed-point number. When in the range -8 to + -1, SensorPrecision is the number of accurate digits in + a SensorValue fixed-point number. + + SensorPrecision is 0 for non-fixed-point numbers. + + Agent implementors must choose a value for SensorPrecision + so that the precision and accuracy of a SensorValue is + correctly indicated. + + For example, a temperature sensor that can measure 0o to + 100o C in 0.1o increments, +/- 0.05o, would have a + SensorPrecision of 1, a SensorDataScale of units(0), and a + SensorValue ranging from 0 to 1000. + The SensorValue would be interpreted as (degrees C * 10). + + If that temperature sensor's precision were 0.1o but its + accuracy were only +/- 0.5o, then the SensorPrecision would + be 0. The SensorValue would be interpreted as degrees C. + + Another example: a fan rotation speed sensor that measures RPM + from 0 to 10,000 in 100 RPM increments, with an accuracy of + +50/-37 RPM, would have a SensorPrecision of -2, a + SensorDataScale of units(9), and a SensorValue ranging from 0 + to 10000. The 10s and 1s digits of SensorValue would always + be 0."; + } + + typedef SensorValue { + type int32 { + range "-1000000000..1073741823"; + } + description + "For sensors that measure voltsAC, voltsDC, + amperes, watts, hertz, celsius, cmm + this item is a fixed point number ranging from + -999,999,999 to +999,999,999. Use the value + -1000000000 to indicate underflow. Use the value + +1000000000 to indicate overflow. Use SensorPrecision + to indicate how many fractional digits the SensorValue + has. + + + For sensors that measure percentRH, this item + is a number ranging from 0 to 100. + + For sensors that measure rpm, this item + can take only nonnegative values, 0..999999999. + + For sensors of type truthvalue, this item + can take only two values: true(1), false(2). + + For sensors of type specialEnum, this item + can take any value in the range (-1000000000..1000000000), + but the meaning of each value is specific to the + sensor. + + For sensors of type other and unknown, + this item can take any value in the range + (-1000000000..1000000000), but the meaning of the values + are specific to the sensor. + + Use Entity-MIB entPhysicalTable.entPhysicalVendorType + to learn about the sensor type."; + } + + typedef SensorStatus { + type enumeration { + enum "ok" { + value "1"; + } + enum "unavailable" { + value "2"; + } + enum "nonoperational" { + value "3"; + } + } + description + "Indicates the operational status of the sensor. + + ok(1) means the agent can read the sensor + value. + + unavailable(2) means that the agent presently + can not report the sensor value. + + nonoperational(3) means that the agent believes + the sensor is broken. The sensor could have a + hard failure (disconnected wire), or a soft failure + such as out-of-range, jittery, or wildly fluctuating + readings."; + } + + typedef SensorValueUpdateRate { + type int32 { + range "0..999999999"; + } + description + "Indicates the interval in seconds between updates to the + sensor's value. + + The value zero indicates: + - the sensor value is updated on demand (when polled by the + agent for a get-request), + - or when the sensor value changes (event-driven), + - or the agent does not know the rate"; + } + + typedef SensorThresholdSeverity { + type enumeration { + enum "other" { + value "1"; + } + enum "minor" { + value "10"; + } + enum "major" { + value "20"; + } + enum "critical" { + value "30"; + } + } + description + "sensor threshold severity. Valid values are: + + other(1) : a severity other than those listed below. + minor(10) : Minor Problem threshold. + major(20) : Major Problem threshold. + critical(30): Critical problem threshold. A system might shut + down the sensor associated FRU automatically if + the sensor value reach the critical problem + threshold."; + } + + typedef SensorThresholdRelation { + type enumeration { + enum "lessThan" { + value "1"; + } + enum "lessOrEqual" { + value "2"; + } + enum "greaterThan" { + value "3"; + } + enum "greaterOrEqual" { + value "4"; + } + enum "equalTo" { + value "5"; + } + enum "notEqualTo" { + value "6"; + } + } + description + "sensor threshold relational operator types. valid values are: + + lessThan(1): if the sensor value is less than + the threshold value + lessOrEqual(2): if the sensor value is less than or equal to + the threshold value + greaterThan(3): if the sensor value is greater than + the threshold value + greaterOrEqual(4): if the sensor value is greater than or equal + to the threshold value + equalTo(5): if the sensor value is equal to + the threshold value + notEqualTo(6): if the sensor value is not equal to + the threshold value"; + } + + + container CISCO-ENTITY-SENSOR-MIB { + config false; + + container entSensorGlobalObjects { + smiv2:oid "1.3.6.1.4.1.9.9.91.1.3"; + + leaf entSensorThreshNotifGlobalEnable { + type boolean; + description + "This variable enables the generation of + entSensorThresholdNotification globally + on the device. If this object value is + 'false', then no entSensorThresholdNotification + will be generated on this device. If this object + value is 'true', then whether a + entSensorThresholdNotification for a threshold will + be generated or not depends on the instance value of + entSensorThresholdNotificationEnable for that + threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.3.1"; + } + } + + container entSensorValueTable { + description + "This table lists the type, scale, and present value + of a sensor listed in the Entity-MIB entPhysicalTable."; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1"; + + list entSensorValueEntry { + key "entPhysicalIndex"; + description + "An entSensorValueTable entry describes the + present reading of a sensor, the measurement units + and scale, and sensor operational status."; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorType { + type CISCO-ENTITY-SENSOR-MIB:SensorDataType; + description + "This variable indicates the type of data + reported by the entSensorValue. + + This variable is set by the agent at start-up + and the value does not change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.1"; + } + + leaf entSensorScale { + type CISCO-ENTITY-SENSOR-MIB:SensorDataScale; + description + "This variable indicates the exponent to apply + to sensor values reported by entSensorValue. + + This variable is set by the agent at start-up + and the value does not change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.2"; + } + + leaf entSensorPrecision { + type CISCO-ENTITY-SENSOR-MIB:SensorPrecision; + description + "This variable indicates the number of decimal + places of precision in fixed-point + sensor values reported by entSensorValue. + + This variable is set to 0 when entSensorType + is not a fixed-point type: e.g.'percentRH(9)', + 'rpm(10)', 'cmm(11)', or 'truthvalue(12)'. + + This variable is set by the agent at start-up + and the value does not change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.3"; + } + + leaf entSensorValue { + type CISCO-ENTITY-SENSOR-MIB:SensorValue; + description + "This variable reports the most recent measurement seen + by the sensor. + + To correctly display or interpret this variable's value, + you must also know entSensorType, entSensorScale, and + entSensorPrecision. + + However, you can compare entSensorValue with the threshold + values given in entSensorThresholdTable without any semantic + knowledge."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.4"; + } + + leaf entSensorStatus { + type CISCO-ENTITY-SENSOR-MIB:SensorStatus; + description + "This variable indicates the present operational status + of the sensor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.5"; + } + + leaf entSensorValueTimeStamp { + type yang:timestamp; + description + "This variable indicates the age of the value reported by + entSensorValue"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.6"; + } + + leaf entSensorValueUpdateRate { + type CISCO-ENTITY-SENSOR-MIB:SensorValueUpdateRate; + units "seconds"; + description + "This variable indicates the rate that the agent + updates entSensorValue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.7"; + } + + leaf entSensorMeasuredEntity { + type cisco-tc:EntPhysicalIndexOrZero; + description + "This object identifies the physical entity for which the + sensor is taking measurements. For example, for a sensor + measuring the voltage output of a power-supply, this object + would be the entPhysicalIndex of that power-supply; for a sensor + measuring the temperature inside one chassis of a multi-chassis + system, this object would be the enPhysicalIndex of that + chassis. + + This object has a value of zero when the physical entity + for which the sensor is taking measurements can not be + represented by any one row in the entPhysicalTable, or that + there is no such physical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1.1.1.8"; + } + } + } + + container entSensorThresholdTable { + description + "This table lists the threshold severity, relation, and + comparison value, for a sensor listed in the Entity-MIB + entPhysicalTable."; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1"; + + list entSensorThresholdEntry { + key "entPhysicalIndex entSensorThresholdIndex"; + description + "An entSensorThresholdTable entry describes the + thresholds for a sensor: the threshold severity, + the threshold value, the relation, and the + evaluation of the threshold. + + Only entities of type sensor(8) are listed in this table. + Only pre-configured thresholds are listed in this table. + + Users can create sensor-value monitoring instruments + in different ways, such as RMON alarms, Expression-MIB, etc. + + Entries are created by the agent at system startup and + FRU insertion. Entries are deleted by the agent at + FRU removal."; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorThresholdIndex { + type int32 { + range "1..99999999"; + } + description + "An index that uniquely identifies an entry + in the entSensorThresholdTable. This index + permits the same sensor to have several + different thresholds."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.1"; + } + + leaf entSensorThresholdSeverity { + type CISCO-ENTITY-SENSOR-MIB:SensorThresholdSeverity; + description + "This variable indicates the severity of this threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.2"; + } + + leaf entSensorThresholdRelation { + type CISCO-ENTITY-SENSOR-MIB:SensorThresholdRelation; + description + "This variable indicates the relation between sensor value + (entSensorValue) and threshold value (entSensorThresholdValue), + required to trigger the alarm. when evaluating the relation, + entSensorValue is on the left of entSensorThresholdRelation, + entSensorThresholdValue is on the right. + + in pseudo-code, the evaluation-alarm mechanism is: + + ... + if (entSensorStatus == ok) then + if (evaluate(entSensorValue, entSensorThresholdRelation, + entSensorThresholdValue)) + then + if (entSensorThresholdNotificationEnable == true)) + then + raise_alarm(sensor's entPhysicalIndex); + endif + endif + endif + ..."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.3"; + } + + leaf entSensorThresholdValue { + type CISCO-ENTITY-SENSOR-MIB:SensorValue; + description + "This variable indicates the value of the threshold. + + To correctly display or interpret this variable's value, + you must also know entSensorType, entSensorScale, and + entSensorPrecision. + + However, you can directly compare entSensorValue + with the threshold values given in entSensorThresholdTable + without any semantic knowledge."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.4"; + } + + leaf entSensorThresholdEvaluation { + type boolean; + description + "This variable indicates the result of the most + recent evaluation of the threshold. If the threshold + condition is true, entSensorThresholdEvaluation + is true(1). If the threshold condition is false, + entSensorThresholdEvaluation is false(2). + + Thresholds are evaluated at the rate indicated by + entSensorValueUpdateRate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.5"; + } + + leaf entSensorThresholdNotificationEnable { + type boolean; + description + "This variable controls generation of + entSensorThresholdNotification for this threshold. + + When this variable is 'true', generation of + entSensorThresholdNotification is enabled for this + threshold. When this variable is 'false', + generation of entSensorThresholdNotification is + disabled for this threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2.1.1.6"; + } + } + } + } + + notification entSensorThresholdNotification { + description + "The notification is generated when + the sensor value entSensorValue crosses + the threshold value entSensorThresholdValue and + the value of entSensorThreshNotifGlobalEnable is true. + + entSensorThresholdSeverity indicates the severity + of this threshold. + + The agent implementation guarantees prompt, timely + evaluation of threshold and generation of this + notification."; + smiv2:oid "1.3.6.1.4.1.9.9.91.2.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorThresholdIndex { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdIndex"; + } + } + + leaf entSensorThresholdValue { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdValue"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorValue { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorValueTable/CISCO-ENTITY-SENSOR-MIB:entSensorValueEntry/CISCO-ENTITY-SENSOR-MIB:entSensorValue"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorThresholdIndex { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdIndex"; + } + } + + leaf entSensorThresholdSeverity { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdSeverity"; + } + } + } + } + + notification entSensorThresholdRecoveryNotification { + description + "This notification is generated + as a recovery notification when + the sensor value entSensorValue goes below + the threshold value entSensorThresholdValue + once it has generated entSensorThresholdNotification. + The value of entSensorThreshNotifGlobalEnable needs + to be true. + + entSensorThresholdSeverity indicates the severity + of this threshold. + + The agent implementation guarantees prompt, timely + evaluation of threshold and generation of this + notification."; + smiv2:oid "1.3.6.1.4.1.9.9.91.2.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorValue { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorValueTable/CISCO-ENTITY-SENSOR-MIB:entSensorValueEntry/CISCO-ENTITY-SENSOR-MIB:entSensorValue"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorThresholdIndex { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdIndex"; + } + } + + leaf entSensorThresholdSeverity { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdSeverity"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entSensorThresholdIndex { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdIndex"; + } + } + + leaf entSensorThresholdValue { + type leafref { + path "/CISCO-ENTITY-SENSOR-MIB:CISCO-ENTITY-SENSOR-MIB/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdTable/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdEntry/CISCO-ENTITY-SENSOR-MIB:entSensorThresholdValue"; + } + } + } + } + + smiv2:alias "ciscoEntitySensorMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.91"; + } + + smiv2:alias "entitySensorMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.91.1"; + } + + smiv2:alias "entSensorValues" { + smiv2:oid "1.3.6.1.4.1.9.9.91.1.1"; + } + + smiv2:alias "entSensorThresholds" { + smiv2:oid "1.3.6.1.4.1.9.9.91.1.2"; + } + + smiv2:alias "entSensorGlobalObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.91.1.3"; + } + + smiv2:alias "entitySensorMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.91.2"; + } + + smiv2:alias "entitySensorMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.91.2.0"; + } + + smiv2:alias "entitySensorMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.91.3"; + } + + smiv2:alias "entitySensorMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.91.3.1"; + } + + smiv2:alias "entitySensorMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.91.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-VENDORTYPE-OID-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-VENDORTYPE-OID-MIB.yang new file mode 100644 index 000000000..a1e009aca --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENTITY-VENDORTYPE-OID-MIB.yang @@ -0,0 +1,26467 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ENTITY-VENDORTYPE-OID-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENTITY-VENDORTYPE-OID-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENTITY-VENDORTYPE-OID-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB"; + prefix CISCO-ENTITY-VENDORTYPE-OID-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This module defines the object identifiers that are + assigned to various components on cisco products, + which are used by the entPhysicalTable of the ENTITY-MIB + to uniquely identify the type of each physical entry."; + + revision 2014-12-09 { + description + "Added following OIDs: + cevChassisME6340ACA, cevChassisME6340DCA, + cevChassisME6340DCB, cevChassisCat296024TT, + cevChassisCat296048TT, cevContainerFabric13Slot, + cevPowerSupply6340PWRDC, cevPowerSupply6340PWRAC, + cevFanTrayUbr10012, cevPowerSupplyUbr10012AC, + cevPowerSupplyUbr10012DC, cevVwic2T1E1Ran, + cevModuleCat296024TT,cevModuleCat296048TT + cevCat6kMsfc2a, cevCat6kWs6340Sup, + cevCat6kWs6340LcA, cevCat6kWs6340LcB, + cevPortAdslAnnexA, cevPortAdslAnnexB"; + } + + revision 2005-04-28 { + description + "Added following OIDs: + cevUbrTccPlus"; + } + + revision 2005-04-18 { + description + "Added following OIDs: + cevChassisCat6kMsfc2a, cevChassisCe611K9 + cevContainer9513RearFanBay, cevNme16Es1GeNoPwr, + cevNmeX24Es1GeNoPwr, cevNmeXd24Es2StNoPwr, + cevNmeXd48Es2GeNoPwr, cevCpuCat6kMsfc2a, + cevGsrCsc12404B, cevGsrCsc12406B, + cevGsrCsc12410B, cevGsrCsc12416B, + cevONS1553010G4ChASp, cevONS1553010G4ChBSp, + cevONS1553010G4ChCSp, cevONS1553010G4ChDSp, + cevONS1553010G4ChESp, cevONS1553010G4ChFSp, + cevONS1553010G4ChGSp, cevONS1553010G4ChHSp, + cevONS1553010G4ChA, cevONS1553010G4ChB, + cevONS1553010G4ChC, cevONS1553010G4ChD, + cevONS1553010G4ChE, cevONS1553010G4ChF, + cevONS1553010G4ChG, cevONS1553010G4ChH, + cevONS1553010G32ChSp, cevONS1553010G32Ch, + cevSFPOc3smsr, cevSFPOc12smsr, cevSFPOc48mm."; + } + + revision 2002-04-05 { + description + "CANA Assignments."; + } + + revision 1997-08-05 { + description + "Miscellaneous updates."; + } + + smiv2:alias "ciscoEntityVendortypeOIDMIB" { + smiv2:oid "1.3.6.1.4.1.9.12.3"; + } + + smiv2:alias "cevMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1"; + } + + smiv2:alias "cevOther" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1"; + } + + smiv2:alias "cevOtherUnknownCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.1"; + } + + smiv2:alias "cevOtherMoH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.2"; + } + + smiv2:alias "cevNmeApaLink" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.3"; + } + + smiv2:alias "cevOtherSce8000Scm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.5"; + } + + smiv2:alias "cevOtherSce8000Sip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.6"; + } + + smiv2:alias "cevOtherCscLink" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.8"; + } + + smiv2:alias "cevOtherPHY" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.1.9"; + } + + smiv2:alias "cevUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.2"; + } + + smiv2:alias "cevChassis" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3"; + } + + smiv2:alias "cevChassisUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1"; + } + + smiv2:alias "cevChassis2000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.2"; + } + + smiv2:alias "cevChassis2500" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.3"; + } + + smiv2:alias "cevChassis2501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.4"; + } + + smiv2:alias "cevChassis2502" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.5"; + } + + smiv2:alias "cevChassis2503" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.6"; + } + + smiv2:alias "cevChassis2504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.7"; + } + + smiv2:alias "cevChassis2505" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.8"; + } + + smiv2:alias "cevChassis2506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.9"; + } + + smiv2:alias "cevChassis2507" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.10"; + } + + smiv2:alias "cevChassis2508" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.11"; + } + + smiv2:alias "cevChassis2509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.12"; + } + + smiv2:alias "cevChassis2510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.13"; + } + + smiv2:alias "cevChassis2511" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.14"; + } + + smiv2:alias "cevChassis2512" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.15"; + } + + smiv2:alias "cevChassis2513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.16"; + } + + smiv2:alias "cevChassis2514" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.17"; + } + + smiv2:alias "cevChassis2515" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.18"; + } + + smiv2:alias "cevChassis2516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.19"; + } + + smiv2:alias "cevChassis2517" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.20"; + } + + smiv2:alias "cevChassis2518" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.21"; + } + + smiv2:alias "cevChassis2519" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.22"; + } + + smiv2:alias "cevChassis2520" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.23"; + } + + smiv2:alias "cevChassis2521" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.24"; + } + + smiv2:alias "cevChassis2522" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.25"; + } + + smiv2:alias "cevChassis2523" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.26"; + } + + smiv2:alias "cevChassis2524" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.27"; + } + + smiv2:alias "cevChassis2525" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.28"; + } + + smiv2:alias "cevChassis3000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.29"; + } + + smiv2:alias "cevChassis3104" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.30"; + } + + smiv2:alias "cevChassis3204" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.31"; + } + + smiv2:alias "cevChassisIGS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.32"; + } + + smiv2:alias "cevChassis2501LANFRADFX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.33"; + } + + smiv2:alias "cevChassis2501FRADFX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.34"; + } + + smiv2:alias "cevChassis2502LANFRADFX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.35"; + } + + smiv2:alias "cevChassisWSX3011" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.36"; + } + + smiv2:alias "cevChassisAccessProEC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.37"; + } + + smiv2:alias "cevChassisAccessProRC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.38"; + } + + smiv2:alias "cevChassisWSX5301" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.39"; + } + + smiv2:alias "cevChassisAS2509RJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.40"; + } + + smiv2:alias "cevChassisAS2511RJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.41"; + } + + smiv2:alias "cevChassis3800" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.42"; + } + + smiv2:alias "cevChassis3620" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.43"; + } + + smiv2:alias "cevChassis3640" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.44"; + } + + smiv2:alias "cevChassis7204" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.45"; + } + + smiv2:alias "cevChassis7206" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.46"; + } + + smiv2:alias "cevChassisAS5300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.47"; + } + + smiv2:alias "cevChassisAs5800RS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.49"; + } + + smiv2:alias "cevChassisAs5800DS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.50"; + } + + smiv2:alias "cevChassis7202" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.51"; + } + + smiv2:alias "cevChassisRpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.52"; + } + + smiv2:alias "cevChassis1710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.53"; + } + + smiv2:alias "cevChassis1720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.54"; + } + + smiv2:alias "cevChassisCat8540Msr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.55"; + } + + smiv2:alias "cevChassisCat8540Csr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.56"; + } + + smiv2:alias "cevChassisUbr7246" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.57"; + } + + smiv2:alias "cevChassis7576" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.58"; + } + + smiv2:alias "cevChassis3660" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.59"; + } + + smiv2:alias "cevChassis1401" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.60"; + } + + smiv2:alias "cevChassis2613" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.61"; + } + + smiv2:alias "cevChassis2610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.62"; + } + + smiv2:alias "cevChassis2612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.63"; + } + + smiv2:alias "cevChassis2611" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.64"; + } + + smiv2:alias "cevChassis2620" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.65"; + } + + smiv2:alias "cevChassis2621" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.66"; + } + + smiv2:alias "cevChassisCat8510Csr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.67"; + } + + smiv2:alias "cevChassisUbr7223" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.68"; + } + + smiv2:alias "cevChassis6400Nrp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.69"; + } + + smiv2:alias "cevChassis801" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.70"; + } + + smiv2:alias "cevChassis802" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.71"; + } + + smiv2:alias "cevChassis803" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.72"; + } + + smiv2:alias "cevChassis804" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.73"; + } + + smiv2:alias "cevChassis7206Vxr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.74"; + } + + smiv2:alias "cevChassis7204Vxr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.75"; + } + + smiv2:alias "cevChassis1750" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.76"; + } + + smiv2:alias "cevChassisCat2924XLv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.77"; + } + + smiv2:alias "cevChassisCat2924CXLv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.78"; + } + + smiv2:alias "cevChassisCat2912XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.79"; + } + + smiv2:alias "cevChassisCat2924MXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.80"; + } + + smiv2:alias "cevChassisCat2912MfXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.81"; + } + + smiv2:alias "cevChassis1538M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.82"; + } + + smiv2:alias "cevChassis1548M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.83"; + } + + smiv2:alias "cevChassisFasthub100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.84"; + } + + smiv2:alias "cevChassisPIXFirewall" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.85"; + } + + smiv2:alias "cevChassisMGX8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.86"; + } + + smiv2:alias "cevChassisMGX8820" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.87"; + } + + smiv2:alias "cevChassisCat8510Msr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.88"; + } + + smiv2:alias "cevChassisCat8515Msr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.89"; + } + + smiv2:alias "cevChassisIGX8410" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.90"; + } + + smiv2:alias "cevChassisIGX8420" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.91"; + } + + smiv2:alias "cevChassisIGX8430" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.92"; + } + + smiv2:alias "cevChassisIGX8450" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.93"; + } + + smiv2:alias "cevChassisBPX8620" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.95"; + } + + smiv2:alias "cevChassisBPX8650" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.96"; + } + + smiv2:alias "cevChassisBPX8680" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.97"; + } + + smiv2:alias "cevChassisCacheEngine" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.98"; + } + + smiv2:alias "cevChassisCat6000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.99"; + } + + smiv2:alias "cevChassisMC3810" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.100"; + } + + smiv2:alias "cevChassisIGXSes" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.102"; + } + + smiv2:alias "cevChassisLocalDirector" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.103"; + } + + smiv2:alias "cevChassis805" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.104"; + } + + smiv2:alias "cevChassisCat3508GXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.105"; + } + + smiv2:alias "cevChassisCat3512XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.106"; + } + + smiv2:alias "cevChassisCat3524XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.107"; + } + + smiv2:alias "cevChassisCat2908XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.108"; + } + + smiv2:alias "cevChassisCat2916MXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.109"; + } + + smiv2:alias "cevChassis1417" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.111"; + } + + smiv2:alias "cevChassisOpticalRegenerator" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.112"; + } + + smiv2:alias "cevChassis6100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.113"; + } + + smiv2:alias "cevChassis6130" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.114"; + } + + smiv2:alias "cevChassis6260" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.115"; + } + + smiv2:alias "cevChassisCat2924XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.116"; + } + + smiv2:alias "cevChassisCat2924CXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.117"; + } + + smiv2:alias "cevChassisUbr924" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.118"; + } + + smiv2:alias "cevChassisWsX6302Msm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.119"; + } + + smiv2:alias "cevChassisCat5kRsfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.120"; + } + + smiv2:alias "cevChassis7120Quadt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.122"; + } + + smiv2:alias "cevChassis7120T3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.123"; + } + + smiv2:alias "cevChassis7120E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.124"; + } + + smiv2:alias "cevChassis7120At3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.125"; + } + + smiv2:alias "cevChassis7120Ae3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.126"; + } + + smiv2:alias "cevChassis7120Smi3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.127"; + } + + smiv2:alias "cevChassis7140Dualt3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.128"; + } + + smiv2:alias "cevChassis7140Duale3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.129"; + } + + smiv2:alias "cevChassis7140Dualat3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.130"; + } + + smiv2:alias "cevChassis7140Dualae3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.131"; + } + + smiv2:alias "cevChassis7140Dualmm3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.132"; + } + + smiv2:alias "cevChassis827QuadV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.133"; + } + + smiv2:alias "cevChassisUbr7246Vxr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.134"; + } + + smiv2:alias "cevChassis12016" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.136"; + } + + smiv2:alias "cevChassisAs5400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.137"; + } + + smiv2:alias "cevChassis7140Octt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.138"; + } + + smiv2:alias "cevChassis7140Dualfe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.139"; + } + + smiv2:alias "cevChassisCat3548XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.140"; + } + + smiv2:alias "cevChassisCat6006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.141"; + } + + smiv2:alias "cevChassisCat6009" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.142"; + } + + smiv2:alias "cevChassisCat6506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.143"; + } + + smiv2:alias "cevChassisCat6509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.144"; + } + + smiv2:alias "cevChassis827" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.145"; + } + + smiv2:alias "cevChassisAS5200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.146"; + } + + smiv2:alias "cevChassis12008" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.147"; + } + + smiv2:alias "cevChassis12012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.148"; + } + + smiv2:alias "cevChassisMc3810V3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.149"; + } + + smiv2:alias "cevChassis7507z" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.151"; + } + + smiv2:alias "cevChassis7513z" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.152"; + } + + smiv2:alias "cevChassis7507mx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.153"; + } + + smiv2:alias "cevChassis7513mx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.154"; + } + + smiv2:alias "cevChassisUbr912C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.155"; + } + + smiv2:alias "cevChassisUbr912S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.156"; + } + + smiv2:alias "cevChassisUbr914" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.157"; + } + + smiv2:alias "cevChassis6160" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.160"; + } + + smiv2:alias "cevChassisCat2948gL3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.161"; + } + + smiv2:alias "cevChassisCat4232L3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.164"; + } + + smiv2:alias "cevChassisOpticalRegeneratorDCPower" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.165"; + } + + smiv2:alias "cevChassisCVA122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.171"; + } + + smiv2:alias "cevChassisCVA124" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.172"; + } + + smiv2:alias "cevChassisAs5850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.173"; + } + + smiv2:alias "cevChassisMGX8240" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.176"; + } + + smiv2:alias "cevChassisAs5350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.178"; + } + + smiv2:alias "cevChassisMGX8950" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.181"; + } + + smiv2:alias "cevChassisUbr925" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.182"; + } + + smiv2:alias "cevChassisUbr10012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.183"; + } + + smiv2:alias "cevChassisCat4kGateway" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.184"; + } + + smiv2:alias "cevChassis120168r" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.185"; + } + + smiv2:alias "cevChassis2650" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.186"; + } + + smiv2:alias "cevChassis2651" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.187"; + } + + smiv2:alias "cevChassis826" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.189"; + } + + smiv2:alias "cevChassisCat295012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.190"; + } + + smiv2:alias "cevChassisCat295024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.191"; + } + + smiv2:alias "cevChassis1751" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.193"; + } + + smiv2:alias "cevChassis1730Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.194"; + } + + smiv2:alias "cevChassis1730Iad16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.195"; + } + + smiv2:alias "cevChassis626" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.196"; + } + + smiv2:alias "cevChassis627" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.197"; + } + + smiv2:alias "cevChassis633" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.198"; + } + + smiv2:alias "cevChassis673" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.199"; + } + + smiv2:alias "cevChassis675" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.200"; + } + + smiv2:alias "cevChassis675e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.201"; + } + + smiv2:alias "cevChassis676" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.202"; + } + + smiv2:alias "cevChassis677" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.203"; + } + + smiv2:alias "cevChassis678" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.204"; + } + + smiv2:alias "cevChassis3661Ac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.205"; + } + + smiv2:alias "cevChassis3661Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.206"; + } + + smiv2:alias "cevChassis3662Ac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.207"; + } + + smiv2:alias "cevChassis3662Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.208"; + } + + smiv2:alias "cevChassis3662AcCo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.209"; + } + + smiv2:alias "cevChassis3662DcCo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.210"; + } + + smiv2:alias "cevChassisUbr7111" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.211"; + } + + smiv2:alias "cevChassisUbr7114" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.213"; + } + + smiv2:alias "cevChassis12010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.215"; + } + + smiv2:alias "cevChassis8110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.216"; + } + + smiv2:alias "cevChassisSOHO77" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.220"; + } + + smiv2:alias "cevChassisSOHO76" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.221"; + } + + smiv2:alias "cevChassis7150Dualfe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.222"; + } + + smiv2:alias "cevChassis7150Octt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.223"; + } + + smiv2:alias "cevChassis7150Dualt3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.224"; + } + + smiv2:alias "cevChassisCat2950t24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.226"; + } + + smiv2:alias "cevChassisVPS1110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.227"; + } + + smiv2:alias "cevChassisContentEngine" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.228"; + } + + smiv2:alias "cevChassisIAD2420" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.229"; + } + + smiv2:alias "cevChassis677i" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.230"; + } + + smiv2:alias "cevChassis674" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.231"; + } + + smiv2:alias "cevChassisDPA7630" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.232"; + } + + smiv2:alias "cevChassisCat355024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.233"; + } + + smiv2:alias "cevChassisCat355048" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.234"; + } + + smiv2:alias "cevChassisCat355012T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.235"; + } + + smiv2:alias "cevChassisCVA122E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.238"; + } + + smiv2:alias "cevChassisCVA124E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.239"; + } + + smiv2:alias "cevChassisURM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.240"; + } + + smiv2:alias "cevChassisURM2FE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.241"; + } + + smiv2:alias "cevChassisURM2FE2V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.242"; + } + + smiv2:alias "cevChassisCAP340" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.245"; + } + + smiv2:alias "cevChassisDPA7610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.247"; + } + + smiv2:alias "cevChassis828" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.248"; + } + + smiv2:alias "cevChassisSOHO78" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.249"; + } + + smiv2:alias "cevChassis806" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.250"; + } + + smiv2:alias "cevChassis12416" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.251"; + } + + smiv2:alias "cevChassisCat2948gL3Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.252"; + } + + smiv2:alias "cevChassisCat4908gL3Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.253"; + } + + smiv2:alias "cevChassis12406" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.254"; + } + + smiv2:alias "cevChassisPIXFirewall506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.255"; + } + + smiv2:alias "cevChassisPIXFirewall515" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.256"; + } + + smiv2:alias "cevChassisPIXFirewall520" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.257"; + } + + smiv2:alias "cevChassisPIXFirewall525" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.258"; + } + + smiv2:alias "cevChassisPIXFirewall535" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.259"; + } + + smiv2:alias "cevChassis12410" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.260"; + } + + smiv2:alias "cevChassis811" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.261"; + } + + smiv2:alias "cevChassis813" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.262"; + } + + smiv2:alias "cevChassis10720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.263"; + } + + smiv2:alias "cevChassisMWR1900" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.264"; + } + + smiv2:alias "cevChassis4224" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.265"; + } + + smiv2:alias "cevChassisWSC6513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.266"; + } + + smiv2:alias "cevChassisCisco7603" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.267"; + } + + smiv2:alias "cevChassisCisco7606" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.268"; + } + + smiv2:alias "cevChassis7401ASR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.269"; + } + + smiv2:alias "cevChassis1105" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.271"; + } + + smiv2:alias "cevChassisONS15540ESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.272"; + } + + smiv2:alias "cevChassisCe507" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.275"; + } + + smiv2:alias "cevChassisCe560" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.276"; + } + + smiv2:alias "cevChassisCe590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.277"; + } + + smiv2:alias "cevChassisCe7320" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.278"; + } + + smiv2:alias "cevChassis2691" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.279"; + } + + smiv2:alias "cevChassis3725" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.280"; + } + + smiv2:alias "cevChassis1760" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.282"; + } + + smiv2:alias "cevChassisPIXFirewall501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.283"; + } + + smiv2:alias "cevChassis2610M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.284"; + } + + smiv2:alias "cevChassis2611M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.285"; + } + + smiv2:alias "cevChassis12404" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.289"; + } + + smiv2:alias "cevChassis9004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.290"; + } + + smiv2:alias "cevChassisCat295012G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.293"; + } + + smiv2:alias "cevChassisCat295024G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.294"; + } + + smiv2:alias "cevChassisCat295048G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.295"; + } + + smiv2:alias "cevChassisCat355012G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.297"; + } + + smiv2:alias "cevChassisCE507AV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.298"; + } + + smiv2:alias "cevChassisCE560AV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.299"; + } + + smiv2:alias "cevChassisIE2105" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.300"; + } + + smiv2:alias "cevChassis3745" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.301"; + } + + smiv2:alias "cevChassis10005" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.302"; + } + + smiv2:alias "cevChassis10008" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.303"; + } + + smiv2:alias "cevChassis7304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.304"; + } + + smiv2:alias "cevChassis7505" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.305"; + } + + smiv2:alias "cevChassis1721" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.310"; + } + + smiv2:alias "cevChassisCat4000Sup3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.311"; + } + + smiv2:alias "cevChassis827H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.312"; + } + + smiv2:alias "cevChassisSOHO77H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.313"; + } + + smiv2:alias "cevChassisCat4006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.314"; + } + + smiv2:alias "cevChassisCat355024Mmf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.315"; + } + + smiv2:alias "cevChassisWSC6503" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.316"; + } + + smiv2:alias "cevChassisPIXFirewall506E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.317"; + } + + smiv2:alias "cevChassisPIXFirewall515E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.318"; + } + + smiv2:alias "cevChassisCat355024Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.319"; + } + + smiv2:alias "cevChassisCe2636" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.320"; + } + + smiv2:alias "cevChassisCeDw2636" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.321"; + } + + smiv2:alias "cevChassis14MGX8830" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.323"; + } + + smiv2:alias "cevChassisONS15530NEBS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.325"; + } + + smiv2:alias "cevChassisONS15530ETSI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.326"; + } + + smiv2:alias "cevChassisSOHO71" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.327"; + } + + smiv2:alias "cevChassis6400UAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.328"; + } + + smiv2:alias "cevChassisRPMPR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.329"; + } + + smiv2:alias "cevChassis2610XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.330"; + } + + smiv2:alias "cevChassis2611XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.331"; + } + + smiv2:alias "cevChassis2620XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.332"; + } + + smiv2:alias "cevChassis2621XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.333"; + } + + smiv2:alias "cevChassis2650XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.334"; + } + + smiv2:alias "cevChassis2651XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.335"; + } + + smiv2:alias "cevChassisCat295024GDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.336"; + } + + smiv2:alias "cevChassisONS15540ESPx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.337"; + } + + smiv2:alias "cevChassisC7301" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.340"; + } + + smiv2:alias "cevChassis12816" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.341"; + } + + smiv2:alias "cevChassis12810" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.342"; + } + + smiv2:alias "cevChassisCat295024sx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.347"; + } + + smiv2:alias "cevChassisAs5400HPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.348"; + } + + smiv2:alias "cevChassisAs5350HPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.349"; + } + + smiv2:alias "cevChassisCat2955T12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.350"; + } + + smiv2:alias "cevChassisCat2955C12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.351"; + } + + smiv2:alias "cevChassis837" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.354"; + } + + smiv2:alias "cevChassisSOHO97" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.355"; + } + + smiv2:alias "cevChassis831" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.356"; + } + + smiv2:alias "cevChassisSOHO91" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.357"; + } + + smiv2:alias "cevChassis836" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.358"; + } + + smiv2:alias "cevChassisSOHO96" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.359"; + } + + smiv2:alias "cevChassisCat4507" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.360"; + } + + smiv2:alias "cevChassisCat4506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.361"; + } + + smiv2:alias "cevChassisCat4503" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.362"; + } + + smiv2:alias "cevChassis7507" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.363"; + } + + smiv2:alias "cevChassis7513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.364"; + } + + smiv2:alias "cevChassisAIRAP1100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.365"; + } + + smiv2:alias "cevChassisCat2955S12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.367"; + } + + smiv2:alias "cevChassisCisco7609" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.368"; + } + + smiv2:alias "cevChassisWSC65509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.369"; + } + + smiv2:alias "cevChassisCat375024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.370"; + } + + smiv2:alias "cevChassisCat375048" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.371"; + } + + smiv2:alias "cevChassisCat375024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.372"; + } + + smiv2:alias "cevChassisCat375024T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.373"; + } + + smiv2:alias "cevChassisMWR1941DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.374"; + } + + smiv2:alias "cevChassisDSC9506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.375"; + } + + smiv2:alias "cevChassisDSC9509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.376"; + } + + smiv2:alias "cevChassisDSC9513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.377"; + } + + smiv2:alias "cevChassisONS15201" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.378"; + } + + smiv2:alias "cevChassisONS15252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.379"; + } + + smiv2:alias "cevChassisMdsDSX9216" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.380"; + } + + smiv2:alias "cevChassisVG200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.381"; + } + + smiv2:alias "cevChassisAIRAP1210" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.382"; + } + + smiv2:alias "cevChassisCat375048PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.383"; + } + + smiv2:alias "cevChassisCat375024PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.384"; + } + + smiv2:alias "cevChassisCe510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.385"; + } + + smiv2:alias "cevChassisCe565" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.386"; + } + + smiv2:alias "cevChassisCe7305" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.387"; + } + + smiv2:alias "cevChassisCe7325" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.388"; + } + + smiv2:alias "cevChassisCe4630" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.389"; + } + + smiv2:alias "cevChassisCe4650" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.390"; + } + + smiv2:alias "cevChassisCat297024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.391"; + } + + smiv2:alias "cevChassisCisco7613" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.392"; + } + + smiv2:alias "cevChassisCat3750Ge12Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.394"; + } + + smiv2:alias "cevChassisCr4450" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.395"; + } + + smiv2:alias "cevChassisAIRBR1410" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.396"; + } + + smiv2:alias "cevChassisWSC6509neba" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.397"; + } + + smiv2:alias "cevChassisCat4510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.398"; + } + + smiv2:alias "cevChassisCisco1711" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.399"; + } + + smiv2:alias "cevChassisCisco1712" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.400"; + } + + smiv2:alias "cevChassisCisco1701" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.401"; + } + + smiv2:alias "cevChassis29408TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.402"; + } + + smiv2:alias "cevChassis29408TF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.403"; + } + + smiv2:alias "cevChassis3825" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.404"; + } + + smiv2:alias "cevChassis3845" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.405"; + } + + smiv2:alias "cevChassis2430Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.406"; + } + + smiv2:alias "cevChassis2431Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.407"; + } + + smiv2:alias "cevChassis2431Iad16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.408"; + } + + smiv2:alias "cevChassis2431Iad1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.409"; + } + + smiv2:alias "cevChassis2432Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.410"; + } + + smiv2:alias "cevChassisDSC9140K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.411"; + } + + smiv2:alias "cevChassisAirAp350IOS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.412"; + } + + smiv2:alias "cevChassis3220" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.413"; + } + + smiv2:alias "cevChassisDSC9120K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.414"; + } + + smiv2:alias "cevChassisCat295024LreSt997" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.415"; + } + + smiv2:alias "cevChassisCat6kSup720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.416"; + } + + smiv2:alias "cevChassisVG224" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.417"; + } + + smiv2:alias "cevChassisCat295048T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.418"; + } + + smiv2:alias "cevChassisCat295048SX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.419"; + } + + smiv2:alias "cevChassisCat297024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.420"; + } + + smiv2:alias "cevChassisCrs116Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.421"; + } + + smiv2:alias "cevChassisCrs116LineCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.422"; + } + + smiv2:alias "cevChassisCrs18LineCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.423"; + } + + smiv2:alias "cevChassisCat356048PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.424"; + } + + smiv2:alias "cevChassisCat356024PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.425"; + } + + smiv2:alias "cevChassisAIRBR1300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.426"; + } + + smiv2:alias "cevChassis12004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.427"; + } + + smiv2:alias "cevChassis12006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.428"; + } + + smiv2:alias "cevChassis851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.429"; + } + + smiv2:alias "cevChassis857" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.430"; + } + + smiv2:alias "cevChassis876" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.431"; + } + + smiv2:alias "cevChassis877" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.432"; + } + + smiv2:alias "cevChassis878" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.433"; + } + + smiv2:alias "cevChassis871" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.434"; + } + + smiv2:alias "cevChassisUmg9820" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.435"; + } + + smiv2:alias "cevChassis2811" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.436"; + } + + smiv2:alias "cevChassis2821" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.437"; + } + + smiv2:alias "cevChassis2851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.438"; + } + + smiv2:alias "cevChassisCat375024ME" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.439"; + } + + smiv2:alias "cevChassisMdsDSC9216AK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.442"; + } + + smiv2:alias "cevChassis3201WMIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.443"; + } + + smiv2:alias "cevChassisCat3750G16TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.444"; + } + + smiv2:alias "cevChassis1718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.445"; + } + + smiv2:alias "cevChassisIGESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.446"; + } + + smiv2:alias "cevChassisASA5510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.447"; + } + + smiv2:alias "cevChassisASA5520" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.448"; + } + + smiv2:alias "cevChassisASA5540" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.449"; + } + + smiv2:alias "cevChassis1841" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.450"; + } + + smiv2:alias "cevChassis2801" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.451"; + } + + smiv2:alias "cevChassisCe511K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.452"; + } + + smiv2:alias "cevChassisCe566K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.453"; + } + + smiv2:alias "cevChassisASA5560" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.454"; + } + + smiv2:alias "cevChassisMGX8880" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.455"; + } + + smiv2:alias "cevChassisCe7306K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.456"; + } + + smiv2:alias "cevChassisCe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.457"; + } + + smiv2:alias "cevChassisCat3750G24PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.458"; + } + + smiv2:alias "cevChassisCat3750G48PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.459"; + } + + smiv2:alias "cevChassisCat3750G48TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.460"; + } + + smiv2:alias "cevChassisCat297048TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.461"; + } + + smiv2:alias "cevChassisDSX9132K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.462"; + } + + smiv2:alias "cevChassisDSX9116K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.463"; + } + + smiv2:alias "cevChassisBMGX8830" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.464"; + } + + smiv2:alias "cevChassisBMGX8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.465"; + } + + smiv2:alias "cevChassisWsC4948" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.466"; + } + + smiv2:alias "cevChassisCe501K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.467"; + } + + smiv2:alias "cevChassisCat3560G24PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.468"; + } + + smiv2:alias "cevChassisCat3560G24TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.469"; + } + + smiv2:alias "cevChassisCat3560G48PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.470"; + } + + smiv2:alias "cevChassisCat3560G48TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.471"; + } + + smiv2:alias "cevChassisDSC9216iK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.472"; + } + + smiv2:alias "cevChassisAs5400XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.473"; + } + + smiv2:alias "cevChassisAs5350XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.474"; + } + + smiv2:alias "cevChassisAIRAP1130" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.475"; + } + + smiv2:alias "cevChassisCisco7604" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.476"; + } + + smiv2:alias "cevChassisWsC494810GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.477"; + } + + smiv2:alias "cevChassisCat3750G24TS1U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.478"; + } + + smiv2:alias "cevChassis371098HP001" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.480"; + } + + smiv2:alias "cevChassisSB101" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.481"; + } + + smiv2:alias "cevChassisSB106" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.482"; + } + + smiv2:alias "cevChassisSB107" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.483"; + } + + smiv2:alias "cevChassisCat356024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.484"; + } + + smiv2:alias "cevChassisCat356048TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.485"; + } + + smiv2:alias "cevChassisONS15310" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.486"; + } + + smiv2:alias "cevChassis1801" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.487"; + } + + smiv2:alias "cevChassis1802" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.488"; + } + + smiv2:alias "cevChassis1803" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.489"; + } + + smiv2:alias "cevChassis1811" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.490"; + } + + smiv2:alias "cevChassis1812" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.491"; + } + + smiv2:alias "cevWLSEChassis1130" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.492"; + } + + smiv2:alias "cevWLSEChassis1030" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.493"; + } + + smiv2:alias "cevChassisIDS4210" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.495"; + } + + smiv2:alias "cevChassisIDS4215" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.496"; + } + + smiv2:alias "cevChassisIDS4235" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.497"; + } + + smiv2:alias "cevChassisIDS4240" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.498"; + } + + smiv2:alias "cevChassisIDS4250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.499"; + } + + smiv2:alias "cevChassisIDS4250SX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.500"; + } + + smiv2:alias "cevChassisIDS4250XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.501"; + } + + smiv2:alias "cevChassisIDS4255" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.502"; + } + + smiv2:alias "cevChassisCat375024FS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.503"; + } + + smiv2:alias "cevChassisWSC6504E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.504"; + } + + smiv2:alias "cevChassisIGESMSFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.505"; + } + + smiv2:alias "cevChasisFe6326K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.506"; + } + + smiv2:alias "cevChassisFe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.508"; + } + + smiv2:alias "cevChassisFe511K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.509"; + } + + smiv2:alias "cevChassisSCEDispatcher" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.510"; + } + + smiv2:alias "cevChassisSCE2000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.511"; + } + + smiv2:alias "cevChassisSCE1000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.512"; + } + + smiv2:alias "cevChassisAIRAP1240" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.513"; + } + + smiv2:alias "cevChassisDSC902020K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.514"; + } + + smiv2:alias "cevChassisFe611K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.515"; + } + + smiv2:alias "cevChassisCat3750Ge12SfpDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.520"; + } + + smiv2:alias "cevChassisCat296024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.521"; + } + + smiv2:alias "cevChassisCat296048" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.522"; + } + + smiv2:alias "cevChassisCat2960G24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.523"; + } + + smiv2:alias "cevChassisCat2960G48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.524"; + } + + smiv2:alias "cevChassisCat6kMsfc2a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.529"; + } + + smiv2:alias "cevChassisCe611K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.530"; + } + + smiv2:alias "cevChassisME6340ACA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.531"; + } + + smiv2:alias "cevChassisME6340DCA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.532"; + } + + smiv2:alias "cevChassisME6340DCB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.533"; + } + + smiv2:alias "cevChassisCat296024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.534"; + } + + smiv2:alias "cevChassisCat296048TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.535"; + } + + smiv2:alias "cevChassisIGESMSFPT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.536"; + } + + smiv2:alias "cevChassisMec6524gs8s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.537"; + } + + smiv2:alias "cevChassisMec6524gt8s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.538"; + } + + smiv2:alias "cevChassisPaldron" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.541"; + } + + smiv2:alias "cevChassisIGESMT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.542"; + } + + smiv2:alias "cevChassisCatCE50024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.543"; + } + + smiv2:alias "cevChassisCatCE50024LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.544"; + } + + smiv2:alias "cevChassisCatCE50024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.545"; + } + + smiv2:alias "cevChassisCatCE50012TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.546"; + } + + smiv2:alias "cevChassis5750" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.547"; + } + + smiv2:alias "cevChassisMWR1941DCA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.548"; + } + + smiv2:alias "cevChassis815" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.549"; + } + + smiv2:alias "cevChassis240024TSA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.550"; + } + + smiv2:alias "cevChassis240024TSD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.551"; + } + + smiv2:alias "cevChassis340024TSA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.552"; + } + + smiv2:alias "cevChassis340024TSD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.553"; + } + + smiv2:alias "cevChassisFe2636" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.556"; + } + + smiv2:alias "cevChassisIDS4220" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.557"; + } + + smiv2:alias "cevChassisIDS4230" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.558"; + } + + smiv2:alias "cevChassisASA5505" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.560"; + } + + smiv2:alias "cevChassisWS3020HPQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.561"; + } + + smiv2:alias "cevChassisWS3030DEL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.562"; + } + + smiv2:alias "cevChassisWLSE1133" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.563"; + } + + smiv2:alias "cevChassisASA5550" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.564"; + } + + smiv2:alias "cevChassisWae612K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.565"; + } + + smiv2:alias "cevChassisAirap1250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.567"; + } + + smiv2:alias "cevChassisCe512K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.568"; + } + + smiv2:alias "cevChassisFe512K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.569"; + } + + smiv2:alias "cevChassisCe612K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.570"; + } + + smiv2:alias "cevChassisFe612K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.571"; + } + + smiv2:alias "cevChassisOe512K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.573"; + } + + smiv2:alias "cevChassisOe612K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.574"; + } + + smiv2:alias "cevChassisCat3750G24WS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.575"; + } + + smiv2:alias "cevChassisCrs14LineCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.576"; + } + + smiv2:alias "cevChassisMe3400g12CsA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.577"; + } + + smiv2:alias "cevChassisMe3400g12CsD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.578"; + } + + smiv2:alias "cevChassis877M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.579"; + } + + smiv2:alias "cevChassis1801M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.580"; + } + + smiv2:alias "cevChassisWsCbs3040Fsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.581"; + } + + smiv2:alias "cevChassisSpaIPSEC2g2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.582"; + } + + smiv2:alias "cevChassisOe511K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.583"; + } + + smiv2:alias "cevChassisOe611K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.584"; + } + + smiv2:alias "cevChassisOe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.585"; + } + + smiv2:alias "cevChassisMe492410GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.586"; + } + + smiv2:alias "cevChassisDSC9124" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.587"; + } + + smiv2:alias "cevChassisCat3750E48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.588"; + } + + smiv2:alias "cevChassisCat3750E24TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.589"; + } + + smiv2:alias "cevChassisCat3750E24PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.590"; + } + + smiv2:alias "cevChassisCat3750E48PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.591"; + } + + smiv2:alias "cevChassisCat3560E24TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.592"; + } + + smiv2:alias "cevChassisCat3560E48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.593"; + } + + smiv2:alias "cevChassisCat3560E24PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.594"; + } + + smiv2:alias "cevChassisCat3560E48PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.595"; + } + + smiv2:alias "cevChassisCat35608PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.596"; + } + + smiv2:alias "cevChassisCat29608TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.597"; + } + + smiv2:alias "cevChassisCat2960G8TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.598"; + } + + smiv2:alias "cevChassisCisco7606S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.599"; + } + + smiv2:alias "cevChassisCisco7609S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.600"; + } + + smiv2:alias "cevChassisDSIBMFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.601"; + } + + smiv2:alias "cevChassisIPSVirtual" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.602"; + } + + smiv2:alias "cevChassis3250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.603"; + } + + smiv2:alias "cevChassis3205WMIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.604"; + } + + smiv2:alias "cevChassisCisco5720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.605"; + } + + smiv2:alias "cevChassisMe3400g2csA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.607"; + } + + smiv2:alias "cevChassis7201" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.608"; + } + + smiv2:alias "cevChassisNmWae" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.609"; + } + + smiv2:alias "cevChassisACE4710K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.610"; + } + + smiv2:alias "cevChassisN7Kc7010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.612"; + } + + smiv2:alias "cevChassisUbr7225Vxr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.613"; + } + + smiv2:alias "cevChassisWSC6509ve" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.615"; + } + + smiv2:alias "cevChassisDSC9134" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.616"; + } + + smiv2:alias "cevChassisCisco7603S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.617"; + } + + smiv2:alias "cevChassis5740" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.620"; + } + + smiv2:alias "cevChassis867" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.623"; + } + + smiv2:alias "cevChassis881" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.624"; + } + + smiv2:alias "cevChassis881G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.625"; + } + + smiv2:alias "cevChassisIad881F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.626"; + } + + smiv2:alias "cevChassisIad881B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.627"; + } + + smiv2:alias "cevChassis881Srst" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.628"; + } + + smiv2:alias "cevChassis886" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.629"; + } + + smiv2:alias "cevChassis886G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.630"; + } + + smiv2:alias "cevChassisIad886F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.631"; + } + + smiv2:alias "cevChassisIad886B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.632"; + } + + smiv2:alias "cevChassis886Srst" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.633"; + } + + smiv2:alias "cevChassis887" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.634"; + } + + smiv2:alias "cevChassis887G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.635"; + } + + smiv2:alias "cevChassisIad887F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.636"; + } + + smiv2:alias "cevChassisIad887B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.637"; + } + + smiv2:alias "cevChassis887Srst" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.638"; + } + + smiv2:alias "cevChassis888G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.640"; + } + + smiv2:alias "cevChassisIad888F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.641"; + } + + smiv2:alias "cevChassisIad888B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.642"; + } + + smiv2:alias "cevChassis888Srst" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.643"; + } + + smiv2:alias "cevChassis891" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.644"; + } + + smiv2:alias "cevChassis892" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.645"; + } + + smiv2:alias "cevChassis885D3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.646"; + } + + smiv2:alias "cevChassisIad885FD3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.647"; + } + + smiv2:alias "cevChassis885EJ3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.648"; + } + + smiv2:alias "cevChassis7816H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.649"; + } + + smiv2:alias "cevChassisSce8000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.650"; + } + + smiv2:alias "cevChassisMdsDSC9222i" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.651"; + } + + smiv2:alias "cevChassis860Ap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.653"; + } + + smiv2:alias "cevChassis880Ap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.654"; + } + + smiv2:alias "cevChassis890Ap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.655"; + } + + smiv2:alias "cevChassis1900Ap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.656"; + } + + smiv2:alias "cevChassis340024FSA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.657"; + } + + smiv2:alias "cevChassisCat4503e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.658"; + } + + smiv2:alias "cevChassisCat4506e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.659"; + } + + smiv2:alias "cevChassisCat4507re" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.660"; + } + + smiv2:alias "cevChassisCat4510re" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.661"; + } + + smiv2:alias "cevChassisUc520s8U4FxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.662"; + } + + smiv2:alias "cevChassisUc520s8U4FxoWK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.663"; + } + + smiv2:alias "cevChassisUc520s8U2BriK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.664"; + } + + smiv2:alias "cevChassisUc520s8U2BriWK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.665"; + } + + smiv2:alias "cevChassisUc520s16U4FxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.666"; + } + + smiv2:alias "cevChassisUc520s16U4FxoWK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.667"; + } + + smiv2:alias "cevChassisUc520s16U2BriK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.668"; + } + + smiv2:alias "cevChassisUc520s16U2BriWK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.669"; + } + + smiv2:alias "cevChassisUc520m32U8FxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.670"; + } + + smiv2:alias "cevChassisUc520m32U8FxoW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.671"; + } + + smiv2:alias "cevChassisUc520m32U4BriK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.672"; + } + + smiv2:alias "cevChassisUc520m32U4BriW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.673"; + } + + smiv2:alias "cevChassisUc520m48U12FxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.674"; + } + + smiv2:alias "cevChassisUc520m48U12FxoW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.675"; + } + + smiv2:alias "cevChassisUc520m48U6BriK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.676"; + } + + smiv2:alias "cevChassisUc520m48U6BriW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.677"; + } + + smiv2:alias "cevChassisUc520m48U1T1E1FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.678"; + } + + smiv2:alias "cevChassisUc520m48U1T1E1BK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.679"; + } + + smiv2:alias "cevChassisCE5208PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.680"; + } + + smiv2:alias "cevChassis7828H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.681"; + } + + smiv2:alias "cevChassis7816I" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.682"; + } + + smiv2:alias "cevChassis7828I" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.683"; + } + + smiv2:alias "cevChassis1861Uc2BK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.684"; + } + + smiv2:alias "cevChassis1861Uc4FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.685"; + } + + smiv2:alias "cevChassis1861Srst2BK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.686"; + } + + smiv2:alias "cevChassis1861Srst4FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.687"; + } + + smiv2:alias "cevChassisOe7330K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.688"; + } + + smiv2:alias "cevChassisOe7350K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.689"; + } + + smiv2:alias "cevChassisCat296048TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.694"; + } + + smiv2:alias "cevChassisCat296024TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.695"; + } + + smiv2:alias "cevChassisCat296024S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.696"; + } + + smiv2:alias "cevChassisCat296024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.697"; + } + + smiv2:alias "cevChassisCat296024LT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.698"; + } + + smiv2:alias "cevChassisCat2960PD8TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.699"; + } + + smiv2:alias "cevChassisASR1002" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.700"; + } + + smiv2:alias "cevChassisASR1004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.701"; + } + + smiv2:alias "cevChassisASR1006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.702"; + } + + smiv2:alias "cevChassisWsC4900M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.703"; + } + + smiv2:alias "cevChassisASA5580" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.704"; + } + + smiv2:alias "cevChassisCatRfgw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.705"; + } + + smiv2:alias "cevChassisCE52024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.706"; + } + + smiv2:alias "cevChassisCE52024LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.707"; + } + + smiv2:alias "cevChassisCE52024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.708"; + } + + smiv2:alias "cevChassisCE520G24TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.709"; + } + + smiv2:alias "cevChassis1861Srst2BCueK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.710"; + } + + smiv2:alias "cevChassis1861Srst4FCueK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.711"; + } + + smiv2:alias "cevChassisVgd1t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.712"; + } + + smiv2:alias "cevChassisCat3560e12d" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.718"; + } + + smiv2:alias "cevChassisN5kC5020pBf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.719"; + } + + smiv2:alias "cevChassisN5kC5020pBd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.720"; + } + + smiv2:alias "cevChassisCat3560E12SD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.721"; + } + + smiv2:alias "cevChassisOe674" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.722"; + } + + smiv2:alias "cevChassisIE30004TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.723"; + } + + smiv2:alias "cevChassisIE30008TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.724"; + } + + smiv2:alias "cevChassisRAIE1783MS06" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.725"; + } + + smiv2:alias "cevChassisRAIE1783MS10T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.726"; + } + + smiv2:alias "cevChassis2435Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.727"; + } + + smiv2:alias "cevChassisVG204" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.728"; + } + + smiv2:alias "cevChassisVG202" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.729"; + } + + smiv2:alias "cevChassisCat291824TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.730"; + } + + smiv2:alias "cevChassisCat291824TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.731"; + } + + smiv2:alias "cevChassisCat291848TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.732"; + } + + smiv2:alias "cevChassisCat291848TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.733"; + } + + smiv2:alias "cevChassis1805" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.734"; + } + + smiv2:alias "cevChassisUc52024u4briK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.735"; + } + + smiv2:alias "cevChassisUc52024u8fxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.736"; + } + + smiv2:alias "cevChassisUc520s8u2briWJK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.737"; + } + + smiv2:alias "cevChassisUc520s16u2briWJK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.738"; + } + + smiv2:alias "cevChassisVSIntSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.739"; + } + + smiv2:alias "cevChassisVSSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.740"; + } + + smiv2:alias "cevChassisVSHydecoder" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.741"; + } + + smiv2:alias "cevChassisVSDecoder" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.742"; + } + + smiv2:alias "cevChassisVSEncoder1P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.743"; + } + + smiv2:alias "cevChassisCiscoMwr2941Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.745"; + } + + smiv2:alias "cevChassisOe574" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.746"; + } + + smiv2:alias "cevChassisOe474" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.747"; + } + + smiv2:alias "cevChassisOe274" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.748"; + } + + smiv2:alias "cevChassis7816c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.749"; + } + + smiv2:alias "cevChassisAp801agn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.750"; + } + + smiv2:alias "cevChassisAp801gn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.751"; + } + + smiv2:alias "cevChassisC1861WSrst4FCueK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.752"; + } + + smiv2:alias "cevChassisC1861WSrst2BCueK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.753"; + } + + smiv2:alias "cevChassisC1861WSrst4FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.754"; + } + + smiv2:alias "cevChassisC1861WSrst2BK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.755"; + } + + smiv2:alias "cevChassisC1861WUc4FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.756"; + } + + smiv2:alias "cevChassisC1861WUc2BK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.757"; + } + + smiv2:alias "cevChassisMe3400e24tsM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.758"; + } + + smiv2:alias "cevChassisMe3400eg12csM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.759"; + } + + smiv2:alias "cevChassisMe3400eg2csA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.760"; + } + + smiv2:alias "cevChassisCe674" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.761"; + } + + smiv2:alias "cevChassisCAM35" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.762"; + } + + smiv2:alias "cevChassisCe7341" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.763"; + } + + smiv2:alias "cevChassisCe7371" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.764"; + } + + smiv2:alias "cevChassisWsCbs3125gS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.768"; + } + + smiv2:alias "cevChassisWsC492810GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.770"; + } + + smiv2:alias "cevChassisCat296048TTS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.771"; + } + + smiv2:alias "cevChassisCat29608TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.772"; + } + + smiv2:alias "cevChassisSr520FE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.774"; + } + + smiv2:alias "cevChassisSr520ADSL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.775"; + } + + smiv2:alias "cevChassisSr520ADSLi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.776"; + } + + smiv2:alias "cevChassisN7Kc7018" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.777"; + } + + smiv2:alias "cevChassisCat356012PCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.778"; + } + + smiv2:alias "cevChassisCat296048PSTL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.779"; + } + + smiv2:alias "cevChassisASR9010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.780"; + } + + smiv2:alias "cevChassisASR9006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.781"; + } + + smiv2:alias "cevChassisASR14K4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.782"; + } + + smiv2:alias "cevChassisASR14K8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.783"; + } + + smiv2:alias "cevChassisCat3560v224tsD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.784"; + } + + smiv2:alias "cevChassisCat3560v224ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.785"; + } + + smiv2:alias "cevChassisCat3560v224ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.786"; + } + + smiv2:alias "cevChassisCat3750v224ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.787"; + } + + smiv2:alias "cevChassisCat3750v224ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.788"; + } + + smiv2:alias "cevChassisCat3560v248ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.789"; + } + + smiv2:alias "cevChassisCat3560v248ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.790"; + } + + smiv2:alias "cevChassisCat3750v248ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.791"; + } + + smiv2:alias "cevChassisCat3750v248ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.792"; + } + + smiv2:alias "cevChassisAirbr1430" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.793"; + } + + smiv2:alias "cevChassisNamApp2204rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.794"; + } + + smiv2:alias "cevChassisNamApp2220" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.795"; + } + + smiv2:alias "cevChassisAIRAP1141" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.796"; + } + + smiv2:alias "cevChassisAIRAP1142" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.797"; + } + + smiv2:alias "cevChassisN5kC5010pBf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.798"; + } + + smiv2:alias "cevChassisASR9010DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.799"; + } + + smiv2:alias "cevChassisASR9006DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.800"; + } + + smiv2:alias "cevChassis18xxx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.801"; + } + + smiv2:alias "cevChassisc887Vdsl2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.802"; + } + + smiv2:alias "cevChassisC1941" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.803"; + } + + smiv2:alias "cevChassisC2901" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.804"; + } + + smiv2:alias "cevChassisC2911" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.805"; + } + + smiv2:alias "cevChassisC2921" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.806"; + } + + smiv2:alias "cevChassisC2951" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.807"; + } + + smiv2:alias "cevChassisC3925" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.808"; + } + + smiv2:alias "cevChassisC3945" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.809"; + } + + smiv2:alias "cevChassisEsw52024pK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.810"; + } + + smiv2:alias "cevChassisEsw54024pK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.811"; + } + + smiv2:alias "cevChassisEsw52048pK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.812"; + } + + smiv2:alias "cevChassisEsw52024K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.813"; + } + + smiv2:alias "cevChassisEsw54024K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.814"; + } + + smiv2:alias "cevChassisEsw52048K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.815"; + } + + smiv2:alias "cevChassisEsw54048K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.816"; + } + + smiv2:alias "cevChassisNamApp2204sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.817"; + } + + smiv2:alias "cevChassisSR520T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.818"; + } + + smiv2:alias "cevChassisN2kC2148T1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.820"; + } + + smiv2:alias "cevChassisC1941W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.827"; + } + + smiv2:alias "cevChassisC888E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.828"; + } + + smiv2:alias "cevChassisC888EG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.829"; + } + + smiv2:alias "cevChassisIad888EF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.830"; + } + + smiv2:alias "cevChassisIad888EB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.831"; + } + + smiv2:alias "cevChassisC888ESRST" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.832"; + } + + smiv2:alias "cevChassis3845nv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.833"; + } + + smiv2:alias "cevChassis3825nv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.834"; + } + + smiv2:alias "cevChassisWSC235048TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.836"; + } + + smiv2:alias "cevChassis887M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.837"; + } + + smiv2:alias "cevChassisASR9010AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.838"; + } + + smiv2:alias "cevChassisASR9006AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.839"; + } + + smiv2:alias "cevChassisN1KV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.840"; + } + + smiv2:alias "cevChassisUCSN10S6100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.847"; + } + + smiv2:alias "cevChassisCDScde420" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.848"; + } + + smiv2:alias "cevChassisCDScde220" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.849"; + } + + smiv2:alias "cevChassisCDScde110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.850"; + } + + smiv2:alias "cevChassisCiscoCeVirtualBlade" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.851"; + } + + smiv2:alias "cevChassisASR1002F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.852"; + } + + smiv2:alias "cevChassisADE2120" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.853"; + } + + smiv2:alias "cevChassisAIRAP3501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.860"; + } + + smiv2:alias "cevChassisAIRAP3502" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.861"; + } + + smiv2:alias "cevChassisCDScde200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.862"; + } + + smiv2:alias "cevChassisCDScde100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.863"; + } + + smiv2:alias "cevChassisCDScde300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.864"; + } + + smiv2:alias "cevChassisCDScde400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.865"; + } + + smiv2:alias "cevChassisSps2004B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.869"; + } + + smiv2:alias "cevChassisSps204B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.870"; + } + + smiv2:alias "cevChassisAp541nAK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.874"; + } + + smiv2:alias "cevChassisAp541nEK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.875"; + } + + smiv2:alias "cevChassisAp541nNK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.876"; + } + + smiv2:alias "cevChassisSRP521" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.877"; + } + + smiv2:alias "cevChassisSRP526" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.878"; + } + + smiv2:alias "cevChassisSRP527" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.879"; + } + + smiv2:alias "cevChassisSRP541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.880"; + } + + smiv2:alias "cevChassisSRP546" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.881"; + } + + smiv2:alias "cevChassisSRP547" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.882"; + } + + smiv2:alias "cevChassisVS510FXO" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.883"; + } + + smiv2:alias "cevChassis887GVdsl2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.884"; + } + + smiv2:alias "cevChassis887SrstVdsl2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.885"; + } + + smiv2:alias "cevChassis59xx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.895"; + } + + smiv2:alias "cevChassisCat296024LCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.896"; + } + + smiv2:alias "cevChassisCat296024PCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.897"; + } + + smiv2:alias "cevChassisCat296048PSTS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.898"; + } + + smiv2:alias "cevChassisCiscoNMWAE900" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.900"; + } + + smiv2:alias "cevChassisCiscoNMWAE700" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.901"; + } + + smiv2:alias "cevChassis5940" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.902"; + } + + smiv2:alias "cevChassisN4KIBMEth" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.903"; + } + + smiv2:alias "cevChassisASR1001" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.904"; + } + + smiv2:alias "cevChassisASR1013" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.905"; + } + + smiv2:alias "cevChassisCDScde205" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.906"; + } + + smiv2:alias "cevChassisNexus1010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.907"; + } + + smiv2:alias "cevChassisRaie1783Rms06t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.908"; + } + + smiv2:alias "cevChassisRaie1783Rms10t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.909"; + } + + smiv2:alias "cevChassisMXE5600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.910"; + } + + smiv2:alias "cevChassisEsw5408pK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.911"; + } + + smiv2:alias "cevChassisEsw5208pK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.912"; + } + + smiv2:alias "cevChassisN2kC2232PP10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.913"; + } + + smiv2:alias "cevChassisN2kC2248TP1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.914"; + } + + smiv2:alias "cevChassisWsC4948e10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.915"; + } + + smiv2:alias "cevChassis1921k9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.928"; + } + + smiv2:alias "cevChassis1905k9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.929"; + } + + smiv2:alias "cevChassisN4KIBMCiscoEth" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.930"; + } + + smiv2:alias "cevChassisASA5585" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.931"; + } + + smiv2:alias "cevChassisN7Kc7009" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.932"; + } + + smiv2:alias "cevChassisMwr2941DcA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.933"; + } + + smiv2:alias "cevChassisOeNm302" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.937"; + } + + smiv2:alias "cevChassisOeNm502" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.938"; + } + + smiv2:alias "cevChassisOeNm522" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.939"; + } + + smiv2:alias "cevChassisOeSmSre700" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.940"; + } + + smiv2:alias "cevChassisOeSmSre900" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.941"; + } + + smiv2:alias "cevChassisCDScde2202s3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.944"; + } + + smiv2:alias "cevChassisWsC3750x24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.945"; + } + + smiv2:alias "cevChassisWsC3750x48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.946"; + } + + smiv2:alias "cevChassisWsC3750x24P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.947"; + } + + smiv2:alias "cevChassisWsC3750x48P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.948"; + } + + smiv2:alias "cevChassisWsC3560x24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.949"; + } + + smiv2:alias "cevChassisWsC3560x48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.950"; + } + + smiv2:alias "cevChassis1841Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.957"; + } + + smiv2:alias "cevChassis2801Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.958"; + } + + smiv2:alias "cevChassis2811Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.959"; + } + + smiv2:alias "cevChassis2821Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.960"; + } + + smiv2:alias "cevChassis3825Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.962"; + } + + smiv2:alias "cevChassis3845Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.963"; + } + + smiv2:alias "cevChassisAIRAP1262" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.966"; + } + + smiv2:alias "cevChassisAIRAP1261" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.967"; + } + + smiv2:alias "cevChassis892F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.968"; + } + + smiv2:alias "cevChassisMe3600x24fsM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.969"; + } + + smiv2:alias "cevChassisMe3600x24tsM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.970"; + } + + smiv2:alias "cevChassisMe3800x24fsM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.971"; + } + + smiv2:alias "cevChassisCGR2010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.972"; + } + + smiv2:alias "cevChassisWsC2960s48tsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.973"; + } + + smiv2:alias "cevChassisWsC2960s24tsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.974"; + } + + smiv2:alias "cevChassisWsC2960s48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.975"; + } + + smiv2:alias "cevChassisWsC2960s48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.976"; + } + + smiv2:alias "cevChassisWsC2960s48tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.977"; + } + + smiv2:alias "cevChassisWsC2960s24pdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.978"; + } + + smiv2:alias "cevChassisWsC2960s24tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.979"; + } + + smiv2:alias "cevChassisWsC2960s48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.980"; + } + + smiv2:alias "cevChassisWsC2960s48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.981"; + } + + smiv2:alias "cevChassisWsC2960s24psL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.982"; + } + + smiv2:alias "cevChassisWsC2960s48tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.983"; + } + + smiv2:alias "cevChassisWsC2960S24tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.984"; + } + + smiv2:alias "cevChassis1906Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.985"; + } + + smiv2:alias "cevChassisAIRAP1042" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.986"; + } + + smiv2:alias "cevChassisAIRAP1041" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.987"; + } + + smiv2:alias "cevChassis887Va" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.988"; + } + + smiv2:alias "cevChassis886Va" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.989"; + } + + smiv2:alias "cevChassis867Va" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.990"; + } + + smiv2:alias "cevChassis887VaM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.991"; + } + + smiv2:alias "cevChassisASR1001IDC2pOc3Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.992"; + } + + smiv2:alias "cevChassisASR1001IDC4pT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.993"; + } + + smiv2:alias "cevChassisASR1001IDC4pGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.994"; + } + + smiv2:alias "cevChassisASR1001IDC8pCT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.995"; + } + + smiv2:alias "cevChassisASR1001IDCHDD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.996"; + } + + smiv2:alias "cevChassisCat2960cPD8TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.997"; + } + + smiv2:alias "cevChassisCGS252024TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.998"; + } + + smiv2:alias "cevChassisCGS252016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.999"; + } + + smiv2:alias "cevChassisWsC236048TdS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1002"; + } + + smiv2:alias "cevChassisN2kC2232TT10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1003"; + } + + smiv2:alias "cevChassisN2kC2232TP10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1004"; + } + + smiv2:alias "cevChassisN2kC2248TT1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1005"; + } + + smiv2:alias "cevChassisN2kC2224TP1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1006"; + } + + smiv2:alias "cevChassisCDScde250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1007"; + } + + smiv2:alias "cevChassisN5kC5548p" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1008"; + } + + smiv2:alias "cevChassis881G2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1009"; + } + + smiv2:alias "cevChassisWsC3750v224fsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1010"; + } + + smiv2:alias "cevChassisOeVWaas" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1011"; + } + + smiv2:alias "cevChassisCrs16SB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1012"; + } + + smiv2:alias "cevChassisCat2960cG8TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1014"; + } + + smiv2:alias "cevChassisECDS1100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1017"; + } + + smiv2:alias "cevChassisECDS3100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1018"; + } + + smiv2:alias "cevChassisIE301016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1019"; + } + + smiv2:alias "cevChassisIE301024TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1020"; + } + + smiv2:alias "cevChassisWsC4948ef10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1023"; + } + + smiv2:alias "cevChassisWave284K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1024"; + } + + smiv2:alias "cevChassisWave584K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1025"; + } + + smiv2:alias "cevChassisWave684K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1026"; + } + + smiv2:alias "cevChassisWave7441K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1027"; + } + + smiv2:alias "cevChassisWave7471K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1028"; + } + + smiv2:alias "cevChassisWave7626K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1029"; + } + + smiv2:alias "cevChassisCat292848TCC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1032"; + } + + smiv2:alias "cevChassisCat292824TCC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1033"; + } + + smiv2:alias "cevChassisCat292824LTC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1034"; + } + + smiv2:alias "cevChassisGrwicDes2s8pc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1036"; + } + + smiv2:alias "cevChassisGrwicDes6s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1037"; + } + + smiv2:alias "cevChassisN5kC5596Up" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1038"; + } + + smiv2:alias "cevChassisC1861eUc2BriK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1039"; + } + + smiv2:alias "cevChassisC1861eUc4FxoK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1040"; + } + + smiv2:alias "cevChassisC1861eSrstFK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1041"; + } + + smiv2:alias "cevChassisC1861eSrstBK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1042"; + } + + smiv2:alias "cevChassisC1861eSrstCFK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1043"; + } + + smiv2:alias "cevChassisC1861eSrstCBK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1044"; + } + + smiv2:alias "cevChassis88XG2DSL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1045"; + } + + smiv2:alias "cevChassisN2kC2248TPE1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1046"; + } + + smiv2:alias "cevChassisWave8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1047"; + } + + smiv2:alias "cevChassisWave7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1048"; + } + + smiv2:alias "cevChassisWave7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1049"; + } + + smiv2:alias "cevChassisWave694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1050"; + } + + smiv2:alias "cevChassisWave594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1051"; + } + + smiv2:alias "cevChassisWave294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1052"; + } + + smiv2:alias "cevChassis5915" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1053"; + } + + smiv2:alias "cevChassis86xVAE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1055"; + } + + smiv2:alias "cevChassisAp802gn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1056"; + } + + smiv2:alias "cevChassisN2kB22HPP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1058"; + } + + smiv2:alias "cevChassisN2kC2248GVP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1059"; + } + + smiv2:alias "cevChassisN3kC3064PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1060"; + } + + smiv2:alias "cevChassisN2kC2232TM10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1061"; + } + + smiv2:alias "cevChassisUCSFI6248UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1062"; + } + + smiv2:alias "cevChassisUCSFI6296UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1063"; + } + + smiv2:alias "cevChassis2811ve" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1064"; + } + + smiv2:alias "cevChassis1841ve" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1065"; + } + + smiv2:alias "cevChassis2960c8tcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1066"; + } + + smiv2:alias "cevChassis2960c8tcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1067"; + } + + smiv2:alias "cevChassis2960c8pcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1068"; + } + + smiv2:alias "cevChassis2960c12pcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1069"; + } + + smiv2:alias "cevChassis3560cpd8ptS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1070"; + } + + smiv2:alias "cevChassis886Vag7K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1071"; + } + + smiv2:alias "cevChassis887VagSK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1072"; + } + + smiv2:alias "cevChassis887Vag7K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1073"; + } + + smiv2:alias "cevChassis887Vamg7K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1074"; + } + + smiv2:alias "cevChassis888Eg7K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1075"; + } + + smiv2:alias "cevChassis881GUK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1076"; + } + + smiv2:alias "cevChassis881GSK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1077"; + } + + smiv2:alias "cevChassis881GVK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1078"; + } + + smiv2:alias "cevChassis881GBK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1079"; + } + + smiv2:alias "cevChassis881G7K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1080"; + } + + smiv2:alias "cevChassis881G7AK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1081"; + } + + smiv2:alias "cevChassisN5kC5548UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1084"; + } + + smiv2:alias "cevChassis881W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1085"; + } + + smiv2:alias "cevChassis886VAW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1086"; + } + + smiv2:alias "cevChassis887VAMW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1087"; + } + + smiv2:alias "cevChassis887VAW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1088"; + } + + smiv2:alias "cevChassis819G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1089"; + } + + smiv2:alias "cevChassis819HG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1090"; + } + + smiv2:alias "cevChassisIAD886VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1091"; + } + + smiv2:alias "cevChassisIAD886VAJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1092"; + } + + smiv2:alias "cevChassisIAD887VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1093"; + } + + smiv2:alias "cevChassisIAD887VAM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1094"; + } + + smiv2:alias "cevChassisPCM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1095"; + } + + smiv2:alias "cevChassisDSavsm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1102"; + } + + smiv2:alias "cevChassisEcdsVB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1104"; + } + + smiv2:alias "cevChassisN3kC3064PQ10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1105"; + } + + smiv2:alias "cevChassisN3kC3048TP1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1106"; + } + + smiv2:alias "cevChassisN3kC3016Q40GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1107"; + } + + smiv2:alias "cevChassisASR903" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1118"; + } + + smiv2:alias "cevChassis3560c12pcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1121"; + } + + smiv2:alias "cevChassis3560c8pcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1122"; + } + + smiv2:alias "cevChassisCrs8SB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1123"; + } + + smiv2:alias "cevChassisRAIE1783BMS06S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1124"; + } + + smiv2:alias "cevChassisRAIE1783BMS06T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1125"; + } + + smiv2:alias "cevChassisRAIE1783BMS06SG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1126"; + } + + smiv2:alias "cevChassisRAIE1783BMS10C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1127"; + } + + smiv2:alias "cevChassisRAIE1783BMS06TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1128"; + } + + smiv2:alias "cevChassisRAIE1783BMS10CG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1129"; + } + + smiv2:alias "cevChassisRAIE1783BMS20C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1130"; + } + + smiv2:alias "cevChassisRAIE1783BMS20CG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1131"; + } + + smiv2:alias "cevChassisRAIE1783BMS20CGPK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1132"; + } + + smiv2:alias "cevChassisIE20004TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1133"; + } + + smiv2:alias "cevChassisIE20004T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1134"; + } + + smiv2:alias "cevChassisIE20004TSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1135"; + } + + smiv2:alias "cevChassisIE20004TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1136"; + } + + smiv2:alias "cevChassisIE20008TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1137"; + } + + smiv2:alias "cevChassisIE20008TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1138"; + } + + smiv2:alias "cevChassisIE200016TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1139"; + } + + smiv2:alias "cevChassisIE200016TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1140"; + } + + smiv2:alias "cevChassisIE200016TCGX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1141"; + } + + smiv2:alias "cevChassisASR5000CHSSYSK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1145"; + } + + smiv2:alias "cevChassisASR55CHSSYS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1146"; + } + + smiv2:alias "cevChassisN7Kc7004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1147"; + } + + smiv2:alias "cevChassisASR901" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1159"; + } + + smiv2:alias "cevChassisASR901E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1160"; + } + + smiv2:alias "cevChassisOeSmSre710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1161"; + } + + smiv2:alias "cevChassisOeSmSre910" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1162"; + } + + smiv2:alias "cevChassisN3kC3064PQ10GX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1163"; + } + + smiv2:alias "cevChassisVSR1000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1165"; + } + + smiv2:alias "cevChassisFlowAgent3000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1166"; + } + + smiv2:alias "cevChassisASR1002X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1167"; + } + + smiv2:alias "cevChassisNamApp2304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1168"; + } + + smiv2:alias "cevChassisNamApp2320" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1169"; + } + + smiv2:alias "cevChassisECDS50IVB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1173"; + } + + smiv2:alias "cevChassisN5kC5596TFA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1175"; + } + + smiv2:alias "cevChassisASR9001" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1178"; + } + + smiv2:alias "cevChassis819GM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1188"; + } + + smiv2:alias "cevChassis819HGM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1189"; + } + + smiv2:alias "cevChassisN2kC2232TME10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1190"; + } + + smiv2:alias "cevChassisCDScde2502s6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1191"; + } + + smiv2:alias "cevChassisCDScde2502m0" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1192"; + } + + smiv2:alias "cevChassisCDScde2502s8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1193"; + } + + smiv2:alias "cevChassisASA1000V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1194"; + } + + smiv2:alias "cevChassisISR4400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1195"; + } + + smiv2:alias "cevChassisMe3600x24CxM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1196"; + } + + smiv2:alias "cevChassisA9014CFD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1197"; + } + + smiv2:alias "cevChassisA9014CFtD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1198"; + } + + smiv2:alias "cevChassisMDE10XVB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1199"; + } + + smiv2:alias "cevChassisWsC4500x16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1202"; + } + + smiv2:alias "cevChassisWsC4500x32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1203"; + } + + smiv2:alias "cevChassisN2kC2248PQ10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1205"; + } + + smiv2:alias "cevChassisCDScde2502s9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1206"; + } + + smiv2:alias "cevChassisCDScde2502s10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1207"; + } + + smiv2:alias "cevChassisCDScdeGeneric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1208"; + } + + smiv2:alias "cevChassisN2kB22FTSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1210"; + } + + smiv2:alias "cevChassisN2kB22DELLP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1211"; + } + + smiv2:alias "cevChassisASR9922Dc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1225"; + } + + smiv2:alias "cevChassisASR9922Ac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1226"; + } + + smiv2:alias "cevChassisN6kC600496Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1237"; + } + + smiv2:alias "cevChassisN3kC3548P10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1238"; + } + + smiv2:alias "cevChassisN3kC3064TQ10GT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1239"; + } + + smiv2:alias "cevChassis86xVAEW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1240"; + } + + smiv2:alias "cevChassisASR9912AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1241"; + } + + smiv2:alias "cevChassisASR9912DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1242"; + } + + smiv2:alias "cevChassisOeKWaas" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1243"; + } + + smiv2:alias "cevChassisasr1000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1244"; + } + + smiv2:alias "cevChassisCDScde2202s4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1245"; + } + + smiv2:alias "cevChassisISR4441" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1246"; + } + + smiv2:alias "cevChassisISR4442" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1247"; + } + + smiv2:alias "cevChassisISR4451" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1248"; + } + + smiv2:alias "cevChassisISR4452" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1249"; + } + + smiv2:alias "cevChassisAIRAP1553" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1251"; + } + + smiv2:alias "cevChassisAIRAP1552" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1252"; + } + + smiv2:alias "cevChassisAIRAP1602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1253"; + } + + smiv2:alias "cevChassisAIRAP1601" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1254"; + } + + smiv2:alias "cevChassisAIRAP2602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1255"; + } + + smiv2:alias "cevChassisAIRAP2601" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1256"; + } + + smiv2:alias "cevChassisAIRAP3602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1257"; + } + + smiv2:alias "cevChassisAIRAP3601" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1258"; + } + + smiv2:alias "cevChassisWsC2960x48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1259"; + } + + smiv2:alias "cevChassisWsC2960x48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1260"; + } + + smiv2:alias "cevChassisWsC2960x48tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1261"; + } + + smiv2:alias "cevChassisWsC2960x24pdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1262"; + } + + smiv2:alias "cevChassisWsC2960x24tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1263"; + } + + smiv2:alias "cevChassisWsC2960x48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1264"; + } + + smiv2:alias "cevChassisWsC2960x48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1265"; + } + + smiv2:alias "cevChassisWsC2960x24psL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1266"; + } + + smiv2:alias "cevChassisWsC2960x48tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1267"; + } + + smiv2:alias "cevChassisWsC2960x24tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1268"; + } + + smiv2:alias "cevChassisWsC2960x24psqL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1269"; + } + + smiv2:alias "cevChassisWsC2960x48lpsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1270"; + } + + smiv2:alias "cevChassisWsC2960x24psS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1271"; + } + + smiv2:alias "cevChassisWsC2960x48tsLL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1272"; + } + + smiv2:alias "cevChassisWsC2960x24tsLL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1273"; + } + + smiv2:alias "cevChassisIE200016TCGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1278"; + } + + smiv2:alias "cevChassisIE200016TCGEP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1279"; + } + + smiv2:alias "cevChassisIE200016TCGNXP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1280"; + } + + smiv2:alias "cevChassisRAIE1783BMS12T4E2CGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1281"; + } + + smiv2:alias "cevChassisRAIE1783BMS12T4E2CGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1282"; + } + + smiv2:alias "cevChassisRAIE1783BMS12T4E2CGNK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1283"; + } + + smiv2:alias "cevChassisIE20008TCGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1284"; + } + + smiv2:alias "cevChassisIE200016TCGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1285"; + } + + smiv2:alias "cevChassisRAIE1783BMS10CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1286"; + } + + smiv2:alias "cevChassisRAIE1783BMS20CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1287"; + } + + smiv2:alias "cevChassisNexus1010X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1288"; + } + + smiv2:alias "cevChassisNexus1110S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1289"; + } + + smiv2:alias "cevChassisNexus1110XL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1290"; + } + + smiv2:alias "cevChassisNexus1110X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1291"; + } + + smiv2:alias "cevChassisNexus1000VKVM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1292"; + } + + smiv2:alias "cevChassisNexus1000VMH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1294"; + } + + smiv2:alias "cevChassisVG202XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1295"; + } + + smiv2:alias "cevChassisVG204XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1296"; + } + + smiv2:alias "cevChassisAsr9904AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1301"; + } + + smiv2:alias "cevChassisAsr9904DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1302"; + } + + smiv2:alias "cevChassisME2600X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1303"; + } + + smiv2:alias "cevChassisNCSCHASSIS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1304"; + } + + smiv2:alias "cevChassisC6807xl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1305"; + } + + smiv2:alias "cevChassisN6kC600164P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1308"; + } + + smiv2:alias "cevChassis131WsC385024U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1309"; + } + + smiv2:alias "cevChassis131WsC385048U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1310"; + } + + smiv2:alias "cevChassisDSC9250IK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1326"; + } + + smiv2:alias "cevChassisDSC9710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1327"; + } + + smiv2:alias "cevChassisC6880xle" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1328"; + } + + smiv2:alias "cevChassisIE2000U16TCGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1338"; + } + + smiv2:alias "cevChassisN2kB22IBMP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1339"; + } + + smiv2:alias "cevChassisN6kC600164T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1340"; + } + + smiv2:alias "cevChassisWsC2960P48PstL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1342"; + } + + smiv2:alias "cevChassisWsC2960P24PcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1343"; + } + + smiv2:alias "cevChassisWsC2960P24LcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1344"; + } + + smiv2:alias "cevChassisWsC2960P48TcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1345"; + } + + smiv2:alias "cevChassisWsC2960P24TcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1346"; + } + + smiv2:alias "cevChassisWsC2960P48PstS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1347"; + } + + smiv2:alias "cevChassisWsC2960P24PcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1348"; + } + + smiv2:alias "cevChassisWsC2960P24LcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1349"; + } + + smiv2:alias "cevChassisWsC2960P48TcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1350"; + } + + smiv2:alias "cevChassisWsC2960P24TcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1351"; + } + + smiv2:alias "cevChassisN77c7718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1352"; + } + + smiv2:alias "cevChassisN77c7710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1353"; + } + + smiv2:alias "cevChassisN77c7706" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1354"; + } + + smiv2:alias "cevChassisA901S4SGFD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1375"; + } + + smiv2:alias "cevChassisA901S3SGFD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1376"; + } + + smiv2:alias "cevChassisA901S2SGFD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1377"; + } + + smiv2:alias "cevChassisA901S3SGFAH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1378"; + } + + smiv2:alias "cevChassisA901S2SGFAH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1379"; + } + + smiv2:alias "cevChassisASR901AC10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1380"; + } + + smiv2:alias "cevChassisASR901DC10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1381"; + } + + smiv2:alias "cevChassisASR901eAC10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1382"; + } + + smiv2:alias "cevChassisASR901eDC10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1383"; + } + + smiv2:alias "cevChassisIE2000U4STSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1384"; + } + + smiv2:alias "cevChassisC881" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1385"; + } + + smiv2:alias "cevChassisC886VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1386"; + } + + smiv2:alias "cevChassisC887VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1387"; + } + + smiv2:alias "cevChassisN3KC3172PQ10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1388"; + } + + smiv2:alias "cevChassisN3KC3172TQ10GT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1389"; + } + + smiv2:alias "cevChassisN3KC3132Q40GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1390"; + } + + smiv2:alias "cevChassisN3KC3132Q40GS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1391"; + } + + smiv2:alias "cevChassisASR9001S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1392"; + } + + smiv2:alias "cevChassisIE20008T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1393"; + } + + smiv2:alias "cevChassisIE200016T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1394"; + } + + smiv2:alias "cevChassisIE200024T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1395"; + } + + smiv2:alias "cevChassisIE20008T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1396"; + } + + smiv2:alias "cevChassisIE200016T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1397"; + } + + smiv2:alias "cevChassisRAIE1783ZMS8TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1398"; + } + + smiv2:alias "cevChassisRAIE1783ZMS16TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1399"; + } + + smiv2:alias "cevChassisRAIE1783ZMS24TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1400"; + } + + smiv2:alias "cevChassisRAIE1783ZMS4T4E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1401"; + } + + smiv2:alias "cevChassisRAIE1783ZMS8T8E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1402"; + } + + smiv2:alias "cevChassisC888" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1403"; + } + + smiv2:alias "cevChassisC891F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1404"; + } + + smiv2:alias "cevChassisC891FW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1405"; + } + + smiv2:alias "cevChassis1783WAP5100xK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1407"; + } + + smiv2:alias "cevChassisCDScde2502s5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1408"; + } + + smiv2:alias "cevChassisN5KC56128P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1409"; + } + + smiv2:alias "cevChassisN5KC5672UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1410"; + } + + smiv2:alias "cevChassisIE2000U4TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1412"; + } + + smiv2:alias "cevChassisIE2000U4TSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1413"; + } + + smiv2:alias "cevChassisIE2000U8TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1414"; + } + + smiv2:alias "cevChassisIE2000U16TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1415"; + } + + smiv2:alias "cevChassisIE2000U16TCGX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1416"; + } + + smiv2:alias "cevChassisN3KC3132Q40GX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1417"; + } + + smiv2:alias "cevChassisVG310" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1418"; + } + + smiv2:alias "cevChassisVG320" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1419"; + } + + smiv2:alias "cevChassisDSC9706" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1420"; + } + + smiv2:alias "cevChassisAIRAP702" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1422"; + } + + smiv2:alias "cevChassisAIRAP1532" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1423"; + } + + smiv2:alias "cevChassisC6800IA48FPD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1424"; + } + + smiv2:alias "cevChassisC6800IA48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1425"; + } + + smiv2:alias "cevChassis131WsC385024S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1433"; + } + + smiv2:alias "cevChassis131WsC385012S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1434"; + } + + smiv2:alias "cevChassisASR902" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1449"; + } + + smiv2:alias "cevChassisVASA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1451"; + } + + smiv2:alias "cevChassisUCSFIM6324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1454"; + } + + smiv2:alias "cevChassisN9Kc9508" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1467"; + } + + smiv2:alias "cevChassisME12006sAO" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1469"; + } + + smiv2:alias "cevChassisME12006sD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1470"; + } + + smiv2:alias "cevChassisME12006sA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1471"; + } + + smiv2:alias "cevChassis1783SR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1472"; + } + + smiv2:alias "cevChassisWapAP702" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1475"; + } + + smiv2:alias "cevChassisWapAP2602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1476"; + } + + smiv2:alias "cevChassisWapAP1602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1477"; + } + + smiv2:alias "cevChassisC6880x" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1486"; + } + + smiv2:alias "cevChassisAIRAP2702" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1487"; + } + + smiv2:alias "cevChassisN6kC6004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1489"; + } + + smiv2:alias "cevChassisAsr9000V24vDcA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1490"; + } + + smiv2:alias "cevChassisDSC9148SK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1491"; + } + + smiv2:alias "cevChassisRT1081K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1494"; + } + + smiv2:alias "cevChassisRT1091FK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1495"; + } + + smiv2:alias "cevChassisRT2241K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1496"; + } + + smiv2:alias "cevChassisRT2221K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1497"; + } + + smiv2:alias "cevChassisRT2241WCK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1498"; + } + + smiv2:alias "cevChassisRT3211K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1499"; + } + + smiv2:alias "cevChassisRT3221K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1500"; + } + + smiv2:alias "cevChassisRT3201K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1501"; + } + + smiv2:alias "cevChassisN9Kc9516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1506"; + } + + smiv2:alias "cevChassisN9Kc9504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1507"; + } + + smiv2:alias "cevChassisN9KC9396PX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1508"; + } + + smiv2:alias "cevChassisN9KC9396TX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1509"; + } + + smiv2:alias "cevChassisN9KC93128TX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1510"; + } + + smiv2:alias "cevChassisVSGateway" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1519"; + } + + smiv2:alias "cevChassisPrime" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1520"; + } + + smiv2:alias "cevChassis897VAB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1521"; + } + + smiv2:alias "cevChassisN5kC5696Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1539"; + } + + smiv2:alias "cevChassisN2KC2348TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1540"; + } + + smiv2:alias "cevChassisN2KC2348UPQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1541"; + } + + smiv2:alias "cevChassisIE40004TC4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1546"; + } + + smiv2:alias "cevChassisIE40008T4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1547"; + } + + smiv2:alias "cevChassisIE40008S4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1548"; + } + + smiv2:alias "cevChassisIE40004T4P4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1549"; + } + + smiv2:alias "cevChassisIE400016T4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1550"; + } + + smiv2:alias "cevChassisIE40004S8P4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1551"; + } + + smiv2:alias "cevChassisIE40008GT4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1552"; + } + + smiv2:alias "cevChassisIE40008GS4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1553"; + } + + smiv2:alias "cevChassisIE40004GC4GP4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1554"; + } + + smiv2:alias "cevChassisIE400016GT4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1555"; + } + + smiv2:alias "cevChassisIE40008GT8GP4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1556"; + } + + smiv2:alias "cevChassisIE40004GS8GP4GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1557"; + } + + smiv2:alias "cevChassisRAIE1783HMS4C4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1558"; + } + + smiv2:alias "cevChassisRAIE1783HMS8T4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1559"; + } + + smiv2:alias "cevChassisRAIE1783HMS8S4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1560"; + } + + smiv2:alias "cevChassisRAIE1783HMS4T4E4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1561"; + } + + smiv2:alias "cevChassisRAIE1783HMS16T4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1562"; + } + + smiv2:alias "cevChassisRAIE1783HMS4S8E4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1563"; + } + + smiv2:alias "cevChassisRAIE1783HMS8TG4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1564"; + } + + smiv2:alias "cevChassisRAIE1783HMS8SG4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1565"; + } + + smiv2:alias "cevChassisRAIE1783HMS4EG8CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1566"; + } + + smiv2:alias "cevChassisRAIE1783HMS16TG4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1567"; + } + + smiv2:alias "cevChassisRAIE1783HMS8TG8EG4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1568"; + } + + smiv2:alias "cevChassisRAIE1783HMS4SG8EG4CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1569"; + } + + smiv2:alias "cevChassisN2KC2232TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1571"; + } + + smiv2:alias "cevChassisASR901eDC10GS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1577"; + } + + smiv2:alias "cevChassisASR901eAC10GS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1578"; + } + + smiv2:alias "cevChassisCiscoQvPCDI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1585"; + } + + smiv2:alias "cevChassisCiscoQvPC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1586"; + } + + smiv2:alias "cevChassisIOG910GK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1595"; + } + + smiv2:alias "cevChassisIOG910WK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1596"; + } + + smiv2:alias "cevChassisIOG910K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1597"; + } + + smiv2:alias "cevChassisC3850E12XS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1605"; + } + + smiv2:alias "cevChassisC3850E24XS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1606"; + } + + smiv2:alias "cevChassisC3850E48XS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1607"; + } + + smiv2:alias "cevChassisN3KC3164Q40GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1609"; + } + + smiv2:alias "cevChassisCCE8RU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1610"; + } + + smiv2:alias "cevChassisCCE13RU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1611"; + } + + smiv2:alias "cevChassisCCE18RU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1612"; + } + + smiv2:alias "cevChassis891x24X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1614"; + } + + smiv2:alias "cevChassisAsr9KvV2Ac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1615"; + } + + smiv2:alias "cevChassisAsr9KvV2DcA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1616"; + } + + smiv2:alias "cevChassisAsr9KvV2DcE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1617"; + } + + smiv2:alias "cevChassisN9KC9332PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1625"; + } + + smiv2:alias "cevChassisN9KC9372PX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1626"; + } + + smiv2:alias "cevChassisN9KC9372TX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1627"; + } + + smiv2:alias "cevChassis414R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1628"; + } + + smiv2:alias "cevChassis418R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1629"; + } + + smiv2:alias "cevChassisCiscoQvPCVSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1630"; + } + + smiv2:alias "cevChassisRAIE1783ZMS4T4E2TGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1632"; + } + + smiv2:alias "cevChassisRAIE1783ZMS8T8E2TGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1633"; + } + + smiv2:alias "cevChassisRAIE1783HMS8TG4CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1636"; + } + + smiv2:alias "cevChassisRAIE1783HMS8SG4CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1637"; + } + + smiv2:alias "cevChassisRAIE1783HMS4EG8CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1638"; + } + + smiv2:alias "cevChassisRAIE1783HMS16TG4CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1639"; + } + + smiv2:alias "cevChassisRAIE1783HMS8TG8EG4CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1640"; + } + + smiv2:alias "cevChassisRAIE1783HMS4SG8EG4CGR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1641"; + } + + smiv2:alias "cevChassisCDScde2802s5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1642"; + } + + smiv2:alias "cevChassisCDScde2802s10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1643"; + } + + smiv2:alias "cevChassisCDScde2802s21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1644"; + } + + smiv2:alias "cevChassisCDScde2802h0" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1645"; + } + + smiv2:alias "cevChassisCDScde2802h13" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1646"; + } + + smiv2:alias "cevChassisCDScde2802h26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1647"; + } + + smiv2:alias "cevChassis841Mx4X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1650"; + } + + smiv2:alias "cevChassis841Mx8X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1651"; + } + + smiv2:alias "cevChassisN2kC2332TQ10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1652"; + } + + smiv2:alias "cevChassisSce10000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1654"; + } + + smiv2:alias "cevChassisDSC9396SK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.3.1660"; + } + + smiv2:alias "cevBackplane" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4"; + } + + smiv2:alias "cevBackplaneAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.4"; + } + + smiv2:alias "cevBackplaneCat5500" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.5"; + } + + smiv2:alias "cevBackplaneCat6400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.6"; + } + + smiv2:alias "cevBackplaneCat8510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.7"; + } + + smiv2:alias "cevBackplaneCat8540" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.8"; + } + + smiv2:alias "cevBackplaneMGX8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.9"; + } + + smiv2:alias "cevBackplaneMGX8820" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.10"; + } + + smiv2:alias "cevBackplaneBPXSes" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.11"; + } + + smiv2:alias "cevBackplaneIGXSes" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.12"; + } + + smiv2:alias "cevBackplaneCat6000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.13"; + } + + smiv2:alias "cevBackplaneCat6500" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.14"; + } + + smiv2:alias "cevBackplaneMGX8950" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.15"; + } + + smiv2:alias "cevBackplaneONS15540Fixed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.16"; + } + + smiv2:alias "cevBackplaneCat4006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.18"; + } + + smiv2:alias "cevBackplaneMGX8830" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.19"; + } + + smiv2:alias "cevBackplaneONS15530" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.20"; + } + + smiv2:alias "cevBackplaneCat4507" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.23"; + } + + smiv2:alias "cevBackplaneCat4503" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.24"; + } + + smiv2:alias "cevBackplaneCat4506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.25"; + } + + smiv2:alias "cevBackplaneDSC9506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.26"; + } + + smiv2:alias "cevBackplaneDSC9509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.27"; + } + + smiv2:alias "cevBackplaneDSC9513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.28"; + } + + smiv2:alias "cevBackplaneONS15540ESPx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.29"; + } + + smiv2:alias "cevBackplaneUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.30"; + } + + smiv2:alias "cevBackplaneCat4510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.31"; + } + + smiv2:alias "cevBackplaneDSC9140K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.32"; + } + + smiv2:alias "cevBackplaneBMGX8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.33"; + } + + smiv2:alias "cevBackplaneBMGX8950" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.34"; + } + + smiv2:alias "cevBackplaneCisco7600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.35"; + } + + smiv2:alias "cevBackplaneBMGX8830" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.36"; + } + + smiv2:alias "cevBackplaneDSC9216AK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.37"; + } + + smiv2:alias "cevBackplaneMGX8880" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.38"; + } + + smiv2:alias "cevBackplane6SlotsRCON8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.39"; + } + + smiv2:alias "cevBackplane4SlotsRCON8850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.40"; + } + + smiv2:alias "cevBackplane4SlotsRCON8830" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.41"; + } + + smiv2:alias "cevBackplaneDSX9116K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.42"; + } + + smiv2:alias "cevBackplaneONS15310" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.43"; + } + + smiv2:alias "cevBackplaneCat4503e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.48"; + } + + smiv2:alias "cevBackplaneCat4506e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.49"; + } + + smiv2:alias "cevBackplaneCat4507re" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.50"; + } + + smiv2:alias "cevBackplaneCat4510re" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.51"; + } + + smiv2:alias "cevBackplaneN7Kc7010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.52"; + } + + smiv2:alias "cevBackplaneCatRfgw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.53"; + } + + smiv2:alias "cevBackplaneN7Kc7018" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.55"; + } + + smiv2:alias "cevBackplaneMXE5600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.56"; + } + + smiv2:alias "cevBackplaneN7Kc7009" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.57"; + } + + smiv2:alias "cevBackplaneN7Kc7004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.61"; + } + + smiv2:alias "cevBackplaneDSC9710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.63"; + } + + smiv2:alias "cevBackplaneN77c7718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.64"; + } + + smiv2:alias "cevBackplaneN77c7710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.65"; + } + + smiv2:alias "cevBackplaneN77c7706" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.66"; + } + + smiv2:alias "cevBackplaneCat6800" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.67"; + } + + smiv2:alias "cevBackplaneDSC9706" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.68"; + } + + smiv2:alias "cevBackPlaneN2kC2332TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.4.71"; + } + + smiv2:alias "cevContainer" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5"; + } + + smiv2:alias "cevContainerSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.1"; + } + + smiv2:alias "cevContainerDaughterCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.2"; + } + + smiv2:alias "cevContainerPCMCIA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.12"; + } + + smiv2:alias "cevContainerDSPModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.16"; + } + + smiv2:alias "cevContainerCat8500Carrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.17"; + } + + smiv2:alias "cevContainerCat8500CpuSwitchAndFeature" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.18"; + } + + smiv2:alias "cevContainerCat8500CpuSwitchAndFeaturePFQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.19"; + } + + smiv2:alias "cevContainerCat8500SuperCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.20"; + } + + smiv2:alias "cevContainerCat8500CpuRoute" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.21"; + } + + smiv2:alias "cevContainerCat8500Switch10GAndFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.22"; + } + + smiv2:alias "cevContainerCat8500Switch10GNoFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.23"; + } + + smiv2:alias "cevContainerDslamSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.24"; + } + + smiv2:alias "cevContainerC6260PsSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.25"; + } + + smiv2:alias "cevContainerC6260FanSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.26"; + } + + smiv2:alias "cevContainerDslamControllerSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.27"; + } + + smiv2:alias "cevContainerDslamNi2DcSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.28"; + } + + smiv2:alias "cevContainerPsmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.31"; + } + + smiv2:alias "cevContainerSmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.32"; + } + + smiv2:alias "cevContainerMGX8800FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.33"; + } + + smiv2:alias "cevContainerSrmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.34"; + } + + smiv2:alias "cevContainerMGX8800ACPSTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.35"; + } + + smiv2:alias "cevContainerSESFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.36"; + } + + smiv2:alias "cevContainer12012TopBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.37"; + } + + smiv2:alias "cevContainer12012BottomBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.38"; + } + + smiv2:alias "cevContainer12012ModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.39"; + } + + smiv2:alias "cevContainer12012SwitchFabricBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.40"; + } + + smiv2:alias "cevContainer12012PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.41"; + } + + smiv2:alias "cevContainer12008PowerBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.42"; + } + + smiv2:alias "cevContainer12008MainBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.43"; + } + + smiv2:alias "cevContainer12008ModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.44"; + } + + smiv2:alias "cevContainer12008SwitchFabricBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.45"; + } + + smiv2:alias "cevContainer12008PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.46"; + } + + smiv2:alias "cevContainerC6160PsSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.48"; + } + + smiv2:alias "cevContainerC6160FanSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.49"; + } + + smiv2:alias "cevContainerMGXXm60Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.52"; + } + + smiv2:alias "cevContainerCat8500CMPMCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.55"; + } + + smiv2:alias "cevContainer12010TopBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.56"; + } + + smiv2:alias "cevContainer12010BottomBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.57"; + } + + smiv2:alias "cevContainer12010UpperModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.58"; + } + + smiv2:alias "cevContainer12010LowerModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.59"; + } + + smiv2:alias "cevContainer12010SwitchFabricBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.60"; + } + + smiv2:alias "cevContainer12010PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.61"; + } + + smiv2:alias "cevContainer12010PowerBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.62"; + } + + smiv2:alias "cevContainer12010MainBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.63"; + } + + smiv2:alias "cevContainer12406ModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.64"; + } + + smiv2:alias "cevContainer12406FabricAlarmBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.65"; + } + + smiv2:alias "cevContainer12406PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.66"; + } + + smiv2:alias "cevContainer12406MainBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.67"; + } + + smiv2:alias "cevContainer12410TopBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.68"; + } + + smiv2:alias "cevContainer12410BottomBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.69"; + } + + smiv2:alias "cevContainer12410UpperModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.70"; + } + + smiv2:alias "cevContainer12410LowerModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.71"; + } + + smiv2:alias "cevContainer12410SwitchFabricBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.72"; + } + + smiv2:alias "cevContainer12410PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.73"; + } + + smiv2:alias "cevContainer12410PowerBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.74"; + } + + smiv2:alias "cevContainer12410MainBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.75"; + } + + smiv2:alias "cevContainerONS15540CardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.76"; + } + + smiv2:alias "cevContainerONS15540FanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.77"; + } + + smiv2:alias "cevContainerONS15540TspSubslot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.78"; + } + + smiv2:alias "cevContainerONS15540MDXSubslot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.79"; + } + + smiv2:alias "cevContainerONS15540SubCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.80"; + } + + smiv2:alias "cevContainer12404ModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.81"; + } + + smiv2:alias "cevContainer12404FabricAlarmBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.82"; + } + + smiv2:alias "cevContainer12404PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.83"; + } + + smiv2:alias "cevContainer12404MainBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.84"; + } + + smiv2:alias "cevContainerC7304PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.85"; + } + + smiv2:alias "cevContainerC10KSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.86"; + } + + smiv2:alias "cevContainerC10KPowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.87"; + } + + smiv2:alias "cevContainerC10KFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.88"; + } + + smiv2:alias "cevContainerC10KFlashCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.89"; + } + + smiv2:alias "cevContainerCat4kFanTrayBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.90"; + } + + smiv2:alias "cevContainerCat4kPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.91"; + } + + smiv2:alias "cevContainerCat4kPEMBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.92"; + } + + smiv2:alias "cevContainer12016PowerBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.93"; + } + + smiv2:alias "cevContainer12016LowerModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.94"; + } + + smiv2:alias "cevContainer12016SwitchFabricBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.95"; + } + + smiv2:alias "cevContainer12016PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.96"; + } + + smiv2:alias "cevContainer12016TopBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.97"; + } + + smiv2:alias "cevContainer12016BottomBlowerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.98"; + } + + smiv2:alias "cevContainer12016UpperModuleBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.99"; + } + + smiv2:alias "cevContainerONS15530CardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.100"; + } + + smiv2:alias "cevContainerONS15530FanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.102"; + } + + smiv2:alias "cevContainerONS15530PSSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.103"; + } + + smiv2:alias "cevContainerONS15530SubCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.104"; + } + + smiv2:alias "cevContainerONS15530PortSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.105"; + } + + smiv2:alias "cevContainerONS15540PortSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.106"; + } + + smiv2:alias "cevContainerCat4kContainerPSBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.111"; + } + + smiv2:alias "cevContainerSPABay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.114"; + } + + smiv2:alias "cevContainerSFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.115"; + } + + smiv2:alias "cevContainerGsrAlarmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.116"; + } + + smiv2:alias "cevContainerGsrPowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.117"; + } + + smiv2:alias "cevContainerGsrFanBlowerSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.118"; + } + + smiv2:alias "cevContainerGsrSwitchFabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.119"; + } + + smiv2:alias "cevContainerONS15252CardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.120"; + } + + smiv2:alias "cevContainerONS15201CardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.121"; + } + + smiv2:alias "cevContainerSupFabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.122"; + } + + smiv2:alias "cevContainerLineCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.123"; + } + + smiv2:alias "cevContainer9506PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.124"; + } + + smiv2:alias "cevContainer9509PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.125"; + } + + smiv2:alias "cevContainer9513PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.126"; + } + + smiv2:alias "cevContainer9506FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.127"; + } + + smiv2:alias "cevContainer9509FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.128"; + } + + smiv2:alias "cevContainer9513FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.129"; + } + + smiv2:alias "cevContainer9216FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.130"; + } + + smiv2:alias "cevContainer9216PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.131"; + } + + smiv2:alias "cevContainerC7300CCPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.132"; + } + + smiv2:alias "cevContainerPABay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.133"; + } + + smiv2:alias "cevChassisCr4430" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.134"; + } + + smiv2:alias "cevMgx2uPlenumFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.135"; + } + + smiv2:alias "cevContainerMDSPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.136"; + } + + smiv2:alias "cevContainerMDSFanTrayBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.137"; + } + + smiv2:alias "cevContainerFlashCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.138"; + } + + smiv2:alias "cevContainerFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.139"; + } + + smiv2:alias "cevContainerPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.140"; + } + + smiv2:alias "cevContainerPowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.141"; + } + + smiv2:alias "cevContainerGbic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.142"; + } + + smiv2:alias "cevContainerCrs1RPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.143"; + } + + smiv2:alias "cevContainerCrs1LCDRPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.144"; + } + + smiv2:alias "cevContainerCrs1FabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.145"; + } + + smiv2:alias "cevContainerCrs1AlarmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.146"; + } + + smiv2:alias "cevContainerCrs1PowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.147"; + } + + smiv2:alias "cevContainerCrs1FanSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.148"; + } + + smiv2:alias "cevContainerPowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.149"; + } + + smiv2:alias "cevContainerVtt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.150"; + } + + smiv2:alias "cevContainerClock" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.151"; + } + + smiv2:alias "cevContainer10GigBasePort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.152"; + } + + smiv2:alias "cevContainerUmg9820ProcessorCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.153"; + } + + smiv2:alias "cevContainerUmg9820PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.154"; + } + + smiv2:alias "cevContainerUmg9820QamModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.155"; + } + + smiv2:alias "cevContainerUmg9820FanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.156"; + } + + smiv2:alias "cevContainer9116FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.157"; + } + + smiv2:alias "cevContainer9116PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.158"; + } + + smiv2:alias "cevContainerONS15310CardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.159"; + } + + smiv2:alias "cevContainerGSR6Blwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.160"; + } + + smiv2:alias "cevContainerGSR10GSR16Blwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.161"; + } + + smiv2:alias "cevContainer9513RearFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.162"; + } + + smiv2:alias "cevContainerFabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.163"; + } + + smiv2:alias "cevContainerCrs18RPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.164"; + } + + smiv2:alias "cevContainerCrs18FabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.165"; + } + + smiv2:alias "cevContainerCrs1FabricShelfControllerSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.166"; + } + + smiv2:alias "cevContainerCrs1FabricSwitchFabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.167"; + } + + smiv2:alias "cevContainerCrs1FabricFiberModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.168"; + } + + smiv2:alias "cevContainerCrs1FabricLEDModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.169"; + } + + smiv2:alias "cevPowerSupplyCrs1PowerSupplyShelf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.170"; + } + + smiv2:alias "cevContainerTransceiver" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.171"; + } + + smiv2:alias "cevContainer9124PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.173"; + } + + smiv2:alias "cevContainer9124FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.174"; + } + + smiv2:alias "cevContainerC3KPowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.175"; + } + + smiv2:alias "cevContainerC3KRemotePowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.176"; + } + + smiv2:alias "cevContainerC3KBlower" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.177"; + } + + smiv2:alias "cevContainer9222iFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.178"; + } + + smiv2:alias "cevContainerN7Kc7010PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.179"; + } + + smiv2:alias "cevContainerN7KC7010MainFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.180"; + } + + smiv2:alias "cevContainerN7KC7010FabricFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.181"; + } + + smiv2:alias "cevContainerASR1000RPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.182"; + } + + smiv2:alias "cevContainerASR1000FPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.183"; + } + + smiv2:alias "cevContainerASR1000CCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.184"; + } + + smiv2:alias "cevContainerASR1000PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.185"; + } + + smiv2:alias "cevContainerN5kC5020FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.186"; + } + + smiv2:alias "cevContainerN5kC5020PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.187"; + } + + smiv2:alias "cevContainerASR9KFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.188"; + } + + smiv2:alias "cevContainerASR9KPowerSupplySlotDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.189"; + } + + smiv2:alias "cevContainerASR9KPowerSupplySlotAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.190"; + } + + smiv2:alias "cevContainerASR9KRSPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.191"; + } + + smiv2:alias "cevContainerASR9KLCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.192"; + } + + smiv2:alias "cevContainerN7Kc7018PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.193"; + } + + smiv2:alias "cevContainerN7KC7018FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.194"; + } + + smiv2:alias "cevContainerCrs1PowerShelfSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.195"; + } + + smiv2:alias "cevContainerN5kC5010FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.196"; + } + + smiv2:alias "cevContainerN5kC5010PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.197"; + } + + smiv2:alias "cevContainerXFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.198"; + } + + smiv2:alias "cevContainerAsr14kPowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.199"; + } + + smiv2:alias "cevContainerAsr14kPowerShelfSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.200"; + } + + smiv2:alias "cevContainerAsr14kFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.201"; + } + + smiv2:alias "cevContainerAsr14kFabricCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.202"; + } + + smiv2:alias "cevContainerAsr14kFPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.203"; + } + + smiv2:alias "cevContainerAsr14kRPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.204"; + } + + smiv2:alias "cevContainerHardDiskSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.205"; + } + + smiv2:alias "cevContainerNexusLogicalFabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.206"; + } + + smiv2:alias "cevContainerN2kC2148T1GEPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.207"; + } + + smiv2:alias "cevContainerN2kC2148T1GEFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.208"; + } + + smiv2:alias "cevContainerUCSN10S6100FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.209"; + } + + smiv2:alias "cevContainerUCSN10S6100PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.210"; + } + + smiv2:alias "cevContainerMXE5600PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.213"; + } + + smiv2:alias "cevContainerMXE5600FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.214"; + } + + smiv2:alias "cevContainerN2kC2248TP1GEPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.218"; + } + + smiv2:alias "cevContainerN7Kc7009PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.219"; + } + + smiv2:alias "cevContainerN7KC7009FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.220"; + } + + smiv2:alias "cevContainerFruLinkModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.221"; + } + + smiv2:alias "cevContainerFlexStackModuleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.222"; + } + + smiv2:alias "cevContainerMXE5600ShelfManagerBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.223"; + } + + smiv2:alias "cevContainerMXE5600NpmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.224"; + } + + smiv2:alias "cevContainerMXE5600MpmSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.225"; + } + + smiv2:alias "cevContainerN5KC5548FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.226"; + } + + smiv2:alias "cevContainerN5kC5548PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.227"; + } + + smiv2:alias "cevContainerCrs18PowerShelfVirtual" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.228"; + } + + smiv2:alias "cevContainer40GigBasePort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.229"; + } + + smiv2:alias "cevContainerSAMBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.230"; + } + + smiv2:alias "cevContainerN5KC5596FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.231"; + } + + smiv2:alias "cevContainerN5kC5596PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.232"; + } + + smiv2:alias "cevContainerN3KC3064FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.235"; + } + + smiv2:alias "cevContainerUCS6248FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.236"; + } + + smiv2:alias "cevContainerUCS6248PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.237"; + } + + smiv2:alias "cevContainerUCS6296FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.238"; + } + + smiv2:alias "cevContainerUCS6296PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.239"; + } + + smiv2:alias "cevContainerDIMM8541Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.240"; + } + + smiv2:alias "cevContainerDIMM7571Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.241"; + } + + smiv2:alias "cevContainerDIMM7541Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.242"; + } + + smiv2:alias "cevContainerDIMM694Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.243"; + } + + smiv2:alias "cevContainerDIMM594Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.244"; + } + + smiv2:alias "cevContainerDIMM294Slot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.245"; + } + + smiv2:alias "cevContainerASR900RSPSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.246"; + } + + smiv2:alias "cevContainerASR900PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.247"; + } + + smiv2:alias "cevContainerASR900FanTrayBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.248"; + } + + smiv2:alias "cevContainerIMBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.249"; + } + + smiv2:alias "cevContainerN7Kc7004FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.250"; + } + + smiv2:alias "cevContainerN7Kc7004PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.251"; + } + + smiv2:alias "cevContainerN3KC3048FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.252"; + } + + smiv2:alias "cevContainerN6kC6004FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.262"; + } + + smiv2:alias "cevContainerN6kC6004PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.263"; + } + + smiv2:alias "cevContainerASR9KSwitchFabricSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.264"; + } + + smiv2:alias "cevContainerCFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.265"; + } + + smiv2:alias "cevContainerISR4400ESMSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.268"; + } + + smiv2:alias "cevContainerISR4400PSBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.269"; + } + + smiv2:alias "cevContainerISR4400FanTrayBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.270"; + } + + smiv2:alias "cevContainerISR4400POEBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.271"; + } + + smiv2:alias "cevContainerISR4400InternalPOEBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.272"; + } + + smiv2:alias "cevContainerDSC9710FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.273"; + } + + smiv2:alias "cevContainerMDS9250iFanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.274"; + } + + smiv2:alias "cevContainerNCSProcessorSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.275"; + } + + smiv2:alias "cevContainerNCSLineCardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.276"; + } + + smiv2:alias "cevContainerNCSFabcardSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.277"; + } + + smiv2:alias "cevContainerNCSPwrTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.278"; + } + + smiv2:alias "cevContainerNCSFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.279"; + } + + smiv2:alias "cevContainerNCSPwrSupSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.280"; + } + + smiv2:alias "cevContainerNCSDisplaySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.281"; + } + + smiv2:alias "cevContainerN77c7718PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.282"; + } + + smiv2:alias "cevContainerN77c7710PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.283"; + } + + smiv2:alias "cevContainerN77c7706PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.284"; + } + + smiv2:alias "cevContainerN77c7718FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.285"; + } + + smiv2:alias "cevContainerN77c7710FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.286"; + } + + smiv2:alias "cevContainerN77c7706FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.287"; + } + + smiv2:alias "cevContainerCXP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.288"; + } + + smiv2:alias "cevContainerCPAK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.289"; + } + + smiv2:alias "cevContainerPsConverter" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.290"; + } + + smiv2:alias "cevContainerQIron22Qzinc2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.292"; + } + + smiv2:alias "cevContainerDSC9706" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.293"; + } + + smiv2:alias "cevContainerN9Kc9508FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.301"; + } + + smiv2:alias "cevContainerN9Kc9508PowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.302"; + } + + smiv2:alias "cevContainerASR5000SPCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.303"; + } + + smiv2:alias "cevContainerASR5000PTACSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.304"; + } + + smiv2:alias "cevContainerASR5000RCCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.305"; + } + + smiv2:alias "cevContainerASR5000SPIOSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.306"; + } + + smiv2:alias "cevContainerASR5000LCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.307"; + } + + smiv2:alias "cevContainerASR5000FanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.308"; + } + + smiv2:alias "cevContainerASR5000PowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.309"; + } + + smiv2:alias "cevContainerASR5500MMIOSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.310"; + } + + smiv2:alias "cevContainerASR5500DPCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.311"; + } + + smiv2:alias "cevContainerASR5500FSCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.312"; + } + + smiv2:alias "cevContainerASR5500SSCSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.313"; + } + + smiv2:alias "cevContainerASR5500SIOSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.314"; + } + + smiv2:alias "cevContainerASR5500FanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.315"; + } + + smiv2:alias "cevContainerASR5500PowerSupplySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.316"; + } + + smiv2:alias "cevContainerDSC48SFAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.317"; + } + + smiv2:alias "cevContainerN9Kc9516FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.318"; + } + + smiv2:alias "cevContainerN9Kc9504FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.319"; + } + + smiv2:alias "cevContainerN9KC9300FanBay2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.320"; + } + + smiv2:alias "cevContainerN9KC9300FanBay1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.321"; + } + + smiv2:alias "cevContainerN5KC56128FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.327"; + } + + smiv2:alias "cevContainerNXAPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.328"; + } + + smiv2:alias "cevContainerN6kC6001FanBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.329"; + } + + smiv2:alias "cevContainerCCEPowerSupplyBay" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.334"; + } + + smiv2:alias "cevContainerCCEFanTraySlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.335"; + } + + smiv2:alias "cevContainerDSCAC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.339"; + } + + smiv2:alias "cevContainerDSC96SFAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.5.340"; + } + + smiv2:alias "cevPowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6"; + } + + smiv2:alias "cevPowerSupplyAC1360W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.1"; + } + + smiv2:alias "cevPowerSupplyDC1360W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.2"; + } + + smiv2:alias "cevPowerSupplyAC1000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.3"; + } + + smiv2:alias "cevPowerSupplyDC1000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.4"; + } + + smiv2:alias "cevPowerSupplyPowerone" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.5"; + } + + smiv2:alias "cevPowerSupplyAstec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.6"; + } + + smiv2:alias "cevPowerSupplyMinus48VDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.7"; + } + + smiv2:alias "cevPowerSupplyEmpty" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.8"; + } + + smiv2:alias "cevPowerSupplyAC1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.9"; + } + + smiv2:alias "cevPowerSupplyAC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.10"; + } + + smiv2:alias "cevPowerSupplyDC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.11"; + } + + smiv2:alias "cevPowerSupplyPem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.12"; + } + + smiv2:alias "cevPowerSupplyAC2000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.13"; + } + + smiv2:alias "cevPowerSupplyDC2000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.14"; + } + + smiv2:alias "cevPowerSupply6260DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.15"; + } + + smiv2:alias "cevPowerSupply6260AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.16"; + } + + smiv2:alias "cevPowerSupplyMGX8800Pem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.17"; + } + + smiv2:alias "cevPowerSupply12012DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.18"; + } + + smiv2:alias "cevPowerSupply12012AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.19"; + } + + smiv2:alias "cevPowerSupply12008DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.20"; + } + + smiv2:alias "cevPowerSupply12008AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.21"; + } + + smiv2:alias "cevPowerSupplyDC2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.22"; + } + + smiv2:alias "cevPowerSupplyAC1050W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.23"; + } + + smiv2:alias "cevPowerSupplyAC2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.24"; + } + + smiv2:alias "cevPowerSupply6160DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.25"; + } + + smiv2:alias "cevPowerSupplyAC4000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.28"; + } + + smiv2:alias "cevPowerSupplyDC4000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.29"; + } + + smiv2:alias "cevPowerSupply12010DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.31"; + } + + smiv2:alias "cevPowerSupply12010AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.32"; + } + + smiv2:alias "cevPowerSupply5850DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.33"; + } + + smiv2:alias "cevPowerSupply12406DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.34"; + } + + smiv2:alias "cevPowerSupply12406AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.35"; + } + + smiv2:alias "cevPowerSupply12410DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.36"; + } + + smiv2:alias "cevPowerSupply12410AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.37"; + } + + smiv2:alias "cevPowerSupplyAC1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.38"; + } + + smiv2:alias "cevPowerSupplyDC1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.39"; + } + + smiv2:alias "cevPowerSupplyDC950W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.40"; + } + + smiv2:alias "cevPowerSupplyAC950W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.41"; + } + + smiv2:alias "cevPowerSupply12404DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.42"; + } + + smiv2:alias "cevPowerSupply12404AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.43"; + } + + smiv2:alias "cevPowerSupplyBP7513AC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.44"; + } + + smiv2:alias "cevPowerSupplyBP7513DC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.45"; + } + + smiv2:alias "cevPowerSupplyBP7505AC600W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.46"; + } + + smiv2:alias "cevPowerSupplyBP7505DC600W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.47"; + } + + smiv2:alias "cevPowerSupplyBP7507AC700W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.48"; + } + + smiv2:alias "cevPowerSupplyBP7507DC700W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.49"; + } + + smiv2:alias "cevPowerSupplyAC1900W6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.50"; + } + + smiv2:alias "cevPowerSupplyC7300AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.51"; + } + + smiv2:alias "cevPowerSupplyC7300DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.52"; + } + + smiv2:alias "cevPowerSupplyAC600W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.53"; + } + + smiv2:alias "cevPowerSupplyDC600W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.54"; + } + + smiv2:alias "cevPowerSupplyC10KDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.55"; + } + + smiv2:alias "cevPowerSupplyC10KAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.56"; + } + + smiv2:alias "cevPowerSupply15530AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.59"; + } + + smiv2:alias "cevPowerSupply15530DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.60"; + } + + smiv2:alias "cevPowerSupplyAC3000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.61"; + } + + smiv2:alias "cevPowerSupply12016DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.63"; + } + + smiv2:alias "cevPowerSupply12016AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.64"; + } + + smiv2:alias "cevPowerSupplyDC3000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.70"; + } + + smiv2:alias "cevPowerSupplyCat3750AC50W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.71"; + } + + smiv2:alias "cevPowerSupplyCat3750AC102W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.72"; + } + + smiv2:alias "cevPowerSupplyCat3750AC204W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.73"; + } + + smiv2:alias "cevPowerSupplyCat3750AC252W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.74"; + } + + smiv2:alias "cevPowerSupplyDsCac2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.76"; + } + + smiv2:alias "cevPowerSupplyRedDsCac2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.77"; + } + + smiv2:alias "cevPowerSupplyDsCdc2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.78"; + } + + smiv2:alias "cevPowerSupplyRedDsCdc2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.79"; + } + + smiv2:alias "cevPowerSupplyDsCac4000WUs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.80"; + } + + smiv2:alias "cevPowerSupplyRedDsCac4000WUs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.81"; + } + + smiv2:alias "cevPowerSupplyDsCac4000WInt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.82"; + } + + smiv2:alias "cevPowerSupplyRedDsCac4000WInt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.83"; + } + + smiv2:alias "cevPowerSupplyDsCac1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.84"; + } + + smiv2:alias "cevPowerSupplyRedDsCac1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.85"; + } + + smiv2:alias "cevPowerSupplyDsCdc1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.86"; + } + + smiv2:alias "cevPowerSupplyRedDsCdc1900W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.87"; + } + + smiv2:alias "cevPowerSupplyRedDsCac845W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.88"; + } + + smiv2:alias "cevPowerSupplyDsCac845W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.89"; + } + + smiv2:alias "cevPowerSupplyUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.90"; + } + + smiv2:alias "cevPowerSupplyC2970AC156W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.91"; + } + + smiv2:alias "cevPowerSupplyAc150W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.92"; + } + + smiv2:alias "cevPowerSupplyC7200AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.93"; + } + + smiv2:alias "cevPowerSupplyC7200DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.94"; + } + + smiv2:alias "cevPowerSupplyAc465W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.95"; + } + + smiv2:alias "cevPowerSupplyDsCac300W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.96"; + } + + smiv2:alias "cevPowerSupplyRedDsCac300W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.97"; + } + + smiv2:alias "cevPowerSupplyAc1400W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.98"; + } + + smiv2:alias "cevPowerSupplyC2970AC204W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.99"; + } + + smiv2:alias "cevPowerSupplyCrs1PowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.100"; + } + + smiv2:alias "cevPowerSupplyCrs1PowerZone" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.101"; + } + + smiv2:alias "cevPowerSupplyAC6000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.102"; + } + + smiv2:alias "cevPowerSupplyDc150W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.103"; + } + + smiv2:alias "cevPowerSupplyAC2700W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.104"; + } + + smiv2:alias "cevPowerSupplyDC2700W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.105"; + } + + smiv2:alias "cevPowerSupplyPwrC45300AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.106"; + } + + smiv2:alias "cevPowerSupplyPwrC45300DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.107"; + } + + smiv2:alias "cevPowerSupplyAC2900WE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.108"; + } + + smiv2:alias "cevPowerSupplyAC6000WE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.109"; + } + + smiv2:alias "cevPowerSupplyAC8700WE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.110"; + } + + smiv2:alias "cevPowerSupplyPWR2700AC4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.111"; + } + + smiv2:alias "cevPowerSupplyPWR2700DC4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.112"; + } + + smiv2:alias "cevPowerSupplyPWRC49AC300W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.113"; + } + + smiv2:alias "cevPowerSupplyPWRC49DC300W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.114"; + } + + smiv2:alias "cevPowerSupplyGSR6PemAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.115"; + } + + smiv2:alias "cevPowerSupplyGSR6PemDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.116"; + } + + smiv2:alias "cevPowerSupplyGSR10PemAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.117"; + } + + smiv2:alias "cevPowerSupplyGSR10PemDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.118"; + } + + smiv2:alias "cevPowerSupplyGSR4PemAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.119"; + } + + smiv2:alias "cevPowerSupplyGSR4PemDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.120"; + } + + smiv2:alias "cevPowerSupplyGSR16PemAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.121"; + } + + smiv2:alias "cevPowerSupplyGSR16PemDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.122"; + } + + smiv2:alias "cevPowerSupplyC451400DCSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.123"; + } + + smiv2:alias "cevPowerSupplyAc125W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.124"; + } + + smiv2:alias "cevPowerSupplyAc60W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.125"; + } + + smiv2:alias "cevPowerSupplyC454200ACv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.126"; + } + + smiv2:alias "cevPowerSupply400wDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.127"; + } + + smiv2:alias "cevPowerSupplyEnh12404AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.128"; + } + + smiv2:alias "cevPowerSupplyEnh12404DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.129"; + } + + smiv2:alias "cevPowerSupplyEnh12406AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.130"; + } + + smiv2:alias "cevPowerSupplyEnh12406DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.131"; + } + + smiv2:alias "cevPowerSupplyEnh12410AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.132"; + } + + smiv2:alias "cevPowerSupplyEnh12410DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.133"; + } + + smiv2:alias "cevPowerSupplyEnh12416AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.134"; + } + + smiv2:alias "cevPowerSupplyEnh12416DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.135"; + } + + smiv2:alias "cevPowerSupply76xxDC2500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.136"; + } + + smiv2:alias "cevPowerSupply76xxAC3000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.137"; + } + + smiv2:alias "cevPowerSupply76xxAC4000US" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.138"; + } + + smiv2:alias "cevPowerSupply76xxAC4000INT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.139"; + } + + smiv2:alias "cevPowerSupply76xxAC6000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.140"; + } + + smiv2:alias "cevPowerSupplyDC100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.141"; + } + + smiv2:alias "cevPowerSupplyDsCAD6000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.144"; + } + + smiv2:alias "cevPowerSupplyCat2960AC60W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.145"; + } + + smiv2:alias "cevPowerSupplyCat2960AC125W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.146"; + } + + smiv2:alias "cevPowerSupplyCat2960AC210W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.147"; + } + + smiv2:alias "cevPowerSupply6340PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.148"; + } + + smiv2:alias "cevPowerSupply6340PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.149"; + } + + smiv2:alias "cevPowerSupplyUbr10012AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.150"; + } + + smiv2:alias "cevPowerSupplyUbr10012DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.151"; + } + + smiv2:alias "cevPowerSupply400wAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.152"; + } + + smiv2:alias "cevPowerSupplyCE500AC60W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.153"; + } + + smiv2:alias "cevPowerSupplyCE500AC375W48V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.154"; + } + + smiv2:alias "cevPowerSupplyCE500AC75W48V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.155"; + } + + smiv2:alias "cevPowerSupplyCE500AC168W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.156"; + } + + smiv2:alias "cevPowerSupplyCat3750AC210W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.157"; + } + + smiv2:alias "cevPowerSupplyCat3750AC375W48V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.158"; + } + + smiv2:alias "cevPowerSupplyAC50W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.159"; + } + + smiv2:alias "cevPowerSupplyDC50W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.160"; + } + + smiv2:alias "cevPowerSupplyCrs116PowerShelfACDelta" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.161"; + } + + smiv2:alias "cevPowerSupplyCrs116PowerShelfACWye" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.162"; + } + + smiv2:alias "cevPowerSupplyCrs116PowerShelfDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.163"; + } + + smiv2:alias "cevPowerSupplyCrs116ACRectifier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.164"; + } + + smiv2:alias "cevPowerSupplyCrs116DCPEM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.165"; + } + + smiv2:alias "cevPowerSupplyDsCac3000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.167"; + } + + smiv2:alias "cevPowerSupplyPWR6000DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.168"; + } + + smiv2:alias "cevPowerSupplyCrs18ACRectifier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.169"; + } + + smiv2:alias "cevPowerSupplyCrs18DCPem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.170"; + } + + smiv2:alias "cevPowerSupplyCrs18ACDelta" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.171"; + } + + smiv2:alias "cevPowerSupplyCrs18ACW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.172"; + } + + smiv2:alias "cevPowerSupplyCrs18DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.173"; + } + + smiv2:alias "cevPowerSupplyCrs18PduACD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.174"; + } + + smiv2:alias "cevPowerSupplyCrs18PduACW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.175"; + } + + smiv2:alias "cevPowerSupplyCrs18PduDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.176"; + } + + smiv2:alias "cevPowerSupplyCrs1FcACD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.177"; + } + + smiv2:alias "cevPowerSupplyCrs1FcACW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.178"; + } + + smiv2:alias "cevPowerSupplyCrs1FcDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.179"; + } + + smiv2:alias "cevPowerSupplyCrs14PowerShelfAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.180"; + } + + smiv2:alias "cevPowerSupplyCrs14PowerShelfDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.181"; + } + + smiv2:alias "cevPowerSupplyCrs14PowerSupplyDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.182"; + } + + smiv2:alias "cevPowerSupplyCrs14PowerSupplyAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.183"; + } + + smiv2:alias "cevPowerSupplyC3KPWR265WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.184"; + } + + smiv2:alias "cevPowerSupplyC3KPWR265WDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.185"; + } + + smiv2:alias "cevPowerSupplyC3KPWR750WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.186"; + } + + smiv2:alias "cevPowerSupplyCat2960AC36W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.188"; + } + + smiv2:alias "cevPowerSupplyCat3560AC173W48V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.189"; + } + + smiv2:alias "cevPowerSupplyAC345" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.190"; + } + + smiv2:alias "cevPowerSupplyC3KPWR1150WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.191"; + } + + smiv2:alias "cevPowerSupplyPwrRPS2300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.192"; + } + + smiv2:alias "cevPowerSupplyCrs14DcPim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.193"; + } + + smiv2:alias "cevPowerSupplyDC1500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.194"; + } + + smiv2:alias "cevPowerSupplyC7201AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.195"; + } + + smiv2:alias "cevPowerSupplyC7201DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.196"; + } + + smiv2:alias "cevPowerSupplyCE520AC173W48V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.197"; + } + + smiv2:alias "cevPowerSupplyAC100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.198"; + } + + smiv2:alias "cevPowerSupplyN7KAC5600W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.199"; + } + + smiv2:alias "cevPowerSupplyASR1002AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.200"; + } + + smiv2:alias "cevPowerSupplyASR1002DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.201"; + } + + smiv2:alias "cevPowerSupplyASR1004AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.202"; + } + + smiv2:alias "cevPowerSupplyASR1004DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.203"; + } + + smiv2:alias "cevPowerSupplyASR1006AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.204"; + } + + smiv2:alias "cevPowerSupplyASR1006DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.205"; + } + + smiv2:alias "cevPowerSupplyASR1000Unknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.206"; + } + + smiv2:alias "cevPowerSupplyC49M1000AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.207"; + } + + smiv2:alias "cevPowerSupplyC49M1000DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.208"; + } + + smiv2:alias "cevPowerSupplyN7KAC7500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.209"; + } + + smiv2:alias "cevPowerSupplyCE520LCAC135W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.210"; + } + + smiv2:alias "cevPowerSupplyCE520PCAC558W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.211"; + } + + smiv2:alias "cevPowerSupplyCE520TTAC60W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.212"; + } + + smiv2:alias "cevPowerSupplyCE520GTCAC125W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.213"; + } + + smiv2:alias "cevPowerSupplyN7KAC6000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.214"; + } + + smiv2:alias "cevPowerSupplyDc4500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.215"; + } + + smiv2:alias "cevPowerSupplyIE3000AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.216"; + } + + smiv2:alias "cevPowerSupplyN5kPac1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.217"; + } + + smiv2:alias "cevPowerSupplyCat2918AC60W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.218"; + } + + smiv2:alias "cevPowerSupplyC3KPWR300WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.220"; + } + + smiv2:alias "cevPowerSupplyC3KPWR300WDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.221"; + } + + smiv2:alias "cevPowerSupplyDCPowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.222"; + } + + smiv2:alias "cevPowerSupplyACPowerSupply" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.223"; + } + + smiv2:alias "cevPowerSupplyN7KAC7500WINT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.228"; + } + + smiv2:alias "cevPowerSupplyN7KAC7500WUS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.229"; + } + + smiv2:alias "cevPowerSupplyN5kPac550W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.230"; + } + + smiv2:alias "cevPowerSupplyASR9KDC2100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.231"; + } + + smiv2:alias "cevPowerSupplyASR9KDC1500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.232"; + } + + smiv2:alias "cevPowerSupplyASR9KAC3KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.233"; + } + + smiv2:alias "cevPowerSupplyCrs16dcPemB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.234"; + } + + smiv2:alias "cevPowerSupplyC3900PWRPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.235"; + } + + smiv2:alias "cevPowerSupplyC3900PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.236"; + } + + smiv2:alias "cevPowerSupplyC2921C2951PWRPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.237"; + } + + smiv2:alias "cevPowerSupplyC2921C2951PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.238"; + } + + smiv2:alias "cevPowerSupplyC2911PWRPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.239"; + } + + smiv2:alias "cevPowerSupplyC2911PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.240"; + } + + smiv2:alias "cevPowerSupplyC2901PWRPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.241"; + } + + smiv2:alias "cevPowerSupplyC1941C2901PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.242"; + } + + smiv2:alias "cevPowerSupplyC1941PWRPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.243"; + } + + smiv2:alias "cevPowerSupplyC3900PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.244"; + } + + smiv2:alias "cevPowerSupplyC2921C2951PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.245"; + } + + smiv2:alias "cevPowerSupplyC2911PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.246"; + } + + smiv2:alias "cevPowerSupplyC2921C2951RPSADPTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.247"; + } + + smiv2:alias "cevPowerSupplyC2911RPSADPTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.248"; + } + + smiv2:alias "cevPowerSupplyN2kPac200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.249"; + } + + smiv2:alias "cevPowerSupplyC456000ACV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.250"; + } + + smiv2:alias "cevPowerUCSN10PAC1550W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.251"; + } + + smiv2:alias "cevPowerSupplyN7KDC6000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.253"; + } + + smiv2:alias "cevPowerSupplyCrs18PowerShelfDCModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.254"; + } + + smiv2:alias "cevPowerSupplyCrs18PowerShelfACModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.255"; + } + + smiv2:alias "cevPowerSupplyCrs116FCCPowerShelfDCModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.256"; + } + + smiv2:alias "cevPowerSupplyCrs116FCCPowerShelfACModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.257"; + } + + smiv2:alias "cevPowerSupplyCrs1DCPowerModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.258"; + } + + smiv2:alias "cevPowerSupplyCrs1ACPowerModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.259"; + } + + smiv2:alias "cevPowerSupplyCrs116LCCPowerShelfDCModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.260"; + } + + smiv2:alias "cevPowerSupplyCrs116LCCPowerShelfACModular" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.261"; + } + + smiv2:alias "cevPowerSupplyCat2960AC123W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.262"; + } + + smiv2:alias "cevPowerSupplyCat2960AC370W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.263"; + } + + smiv2:alias "cevPowerSupplyCat2960AC235W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.264"; + } + + smiv2:alias "cevPowerSupplyCat2960AC525W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.265"; + } + + smiv2:alias "cevPowerSupplyASR1001AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.267"; + } + + smiv2:alias "cevPowerSupplyASR1001DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.268"; + } + + smiv2:alias "cevPowerSupplyASR1013AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.269"; + } + + smiv2:alias "cevPowerSupplyASR1013DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.270"; + } + + smiv2:alias "cevPowerSupplyC1941PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.271"; + } + + smiv2:alias "cevPowerSupplyASR1002DC24V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.272"; + } + + smiv2:alias "cevPowerSupplyN2kC2200Pac400W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.273"; + } + + smiv2:alias "cevPowerSupplyC3kxPwr350wAc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.278"; + } + + smiv2:alias "cevPowerSupplyC3kxPwr715wAc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.279"; + } + + smiv2:alias "cevPowerSupplyC3kxPwr1100wAc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.280"; + } + + smiv2:alias "cevPowerSupplyPWRME3KXAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.282"; + } + + smiv2:alias "cevPowerSupplyPWRME3KXDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.283"; + } + + smiv2:alias "cevPowerSupplyCGR20xxCGS25xxPWRACPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.284"; + } + + smiv2:alias "cevPowerSupplyCGR20xxCGS25xxPWRDCPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.285"; + } + + smiv2:alias "cevPowerSupplyMXE5600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.286"; + } + + smiv2:alias "cevPowerSupplyC7225AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.287"; + } + + smiv2:alias "cevPowerSupplyPWRC49EAC300WR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.288"; + } + + smiv2:alias "cevPowerSupplyC2360Pwr135wac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.290"; + } + + smiv2:alias "cevPowerSupplyN55Pac750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.291"; + } + + smiv2:alias "cevPowerSupplyCrs16PshDcB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.293"; + } + + smiv2:alias "cevPowerSupplyCrs16PshAcB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.294"; + } + + smiv2:alias "cevPowerSupplyPWRC49EAC300WF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.295"; + } + + smiv2:alias "cevPowerSupplyPWRC49DC300WF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.296"; + } + + smiv2:alias "cevPowerSupplyN2kN2200Pdc400W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.297"; + } + + smiv2:alias "cevPowerSupplyASR1000PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.298"; + } + + smiv2:alias "cevPowerSupplyCat2928AC60W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.299"; + } + + smiv2:alias "cevPowerSupplyCat2928AC100W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.300"; + } + + smiv2:alias "cevPowerSupplyPwrXPS2200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.301"; + } + + smiv2:alias "cevPowerSupplyN55Pac1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.302"; + } + + smiv2:alias "cevPowerSupplyN2kN2200Pac400WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.303"; + } + + smiv2:alias "cevPowerSupplyUCS6248UpAC750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.306"; + } + + smiv2:alias "cevPowerSupplyUCS6248UpDC750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.307"; + } + + smiv2:alias "cevPowerSupplyUCS6296UpDC1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.308"; + } + + smiv2:alias "cevPowerSupplyUCS6296UpAC1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.309"; + } + + smiv2:alias "cevPowerSupplyN7KDC3KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.310"; + } + + smiv2:alias "cevPowerSupplyCat2960CAC167W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.311"; + } + + smiv2:alias "cevPowerSupplyCat2960CAC36W12V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.312"; + } + + smiv2:alias "cevPowerSupplyN7KAC3KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.313"; + } + + smiv2:alias "cevPowerSupplyN55Pdc750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.314"; + } + + smiv2:alias "cevPowerSupplyOe8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.315"; + } + + smiv2:alias "cevPowerSupplyOe7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.316"; + } + + smiv2:alias "cevPowerSupplyOe7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.317"; + } + + smiv2:alias "cevPowerSupplyOe694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.318"; + } + + smiv2:alias "cevPowerSupplyOe594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.319"; + } + + smiv2:alias "cevPowerSupplyOe294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.320"; + } + + smiv2:alias "cevPowerSupplyASA5555PSInput" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.324"; + } + + smiv2:alias "cevPowerSupplyN2kN2200Pac400W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.325"; + } + + smiv2:alias "cevPowerSupplyN55Pac750WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.326"; + } + + smiv2:alias "cevPowerSupplyN55Pac1100WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.327"; + } + + smiv2:alias "cevPowerSupplyASR900DC500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.328"; + } + + smiv2:alias "cevPowerSupplyCrs8PshDcB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.330"; + } + + smiv2:alias "cevPowerSupplyCrs8PshAcB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.331"; + } + + smiv2:alias "cevPowerSupplyASR5KPfu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.332"; + } + + smiv2:alias "cevPowerSupplyASR55PFU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.333"; + } + + smiv2:alias "cevPowerSupplyIE2000AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.334"; + } + + smiv2:alias "cevPowerSupplyC459000ACV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.337"; + } + + smiv2:alias "cevPowerSupplyN2kN2200Pdc350WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.338"; + } + + smiv2:alias "cevPowerSupplyVG350PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.339"; + } + + smiv2:alias "cevPowerSupplyVG350PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.340"; + } + + smiv2:alias "cevPowerSupplyASR9KAC3KWV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.341"; + } + + smiv2:alias "cevPowerSupplyASR9KDC2100WV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.342"; + } + + smiv2:alias "cevPowerSupplyASR9KAC750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.343"; + } + + smiv2:alias "cevPowerSupplyASR9KDC750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.344"; + } + + smiv2:alias "cevPowerSupplyISR4400PWR1000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.345"; + } + + smiv2:alias "cevPowerSupplyISR4400PWR450" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.346"; + } + + smiv2:alias "cevPowerSupplyC4KXPWR750DCF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.347"; + } + + smiv2:alias "cevPowerSupplyC4KXPWR750ACF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.348"; + } + + smiv2:alias "cevPowerSupplyC4KXPWR750DCR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.349"; + } + + smiv2:alias "cevPowerSupplyC4KXPWR750ACR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.350"; + } + + smiv2:alias "cevPowerSupplyNXAPac200WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.351"; + } + + smiv2:alias "cevPowerSupplyNXAPac200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.352"; + } + + smiv2:alias "cevPowerSupplyISR4400Unknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.353"; + } + + smiv2:alias "cevPowerSupplyASR9000vGenericPm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.354"; + } + + smiv2:alias "cevPowerSupplyNXAPac1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.355"; + } + + smiv2:alias "cevPowerSupplyNXAPac1100WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.359"; + } + + smiv2:alias "cevPowerSupplyN3kPac400WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.360"; + } + + smiv2:alias "cevPowerSupplyN3kPac400W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.361"; + } + + smiv2:alias "cevPowerSupplyNXAPAC500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.362"; + } + + smiv2:alias "cevPowerSupplyNXAPAC500WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.363"; + } + + smiv2:alias "cevPowerSupplyISR4400PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.364"; + } + + smiv2:alias "cevPowerSupplyN55PDC1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.365"; + } + + smiv2:alias "cevPowerSupplyASA5545PSInputSensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.366"; + } + + smiv2:alias "cevPowerSupplyASA5555PSInputSensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.367"; + } + + smiv2:alias "cevPowerSupplyASA5545K7PSInputSensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.368"; + } + + smiv2:alias "cevPowerSupplyASA5555K7PSInputSensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.369"; + } + + smiv2:alias "cevPowerSupplyCat2960XAC173W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.370"; + } + + smiv2:alias "cevPowerSupplyC6880X3KWAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.372"; + } + + smiv2:alias "cevPowerSupplyC6880X3KWDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.373"; + } + + smiv2:alias "cevPowerSupplyDS9710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.374"; + } + + smiv2:alias "cevPowerSupplyPWR3KWACV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.376"; + } + + smiv2:alias "cevPowerSupplyNCSDCPWRTRAY" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.377"; + } + + smiv2:alias "cevPowerSupplyNCSACPWRTRAY" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.378"; + } + + smiv2:alias "cevPowerSupplyDSC50I300AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.380"; + } + + smiv2:alias "cevPowerSupplyDSCAC973KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.381"; + } + + smiv2:alias "cevPowerSupplyDSCDC973KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.382"; + } + + smiv2:alias "cevPowerSupplyN77AC3KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.383"; + } + + smiv2:alias "cevPowerSupplyN77DC3KW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.384"; + } + + smiv2:alias "cevPowerSupplyC6800XL3KWAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.385"; + } + + smiv2:alias "cevPowerSupplyVG3X0PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.397"; + } + + smiv2:alias "cevPowerSupplyVG3X0PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.398"; + } + + smiv2:alias "cevPowerSupplyNXAPDC500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.399"; + } + + smiv2:alias "cevPowerSupplyNXAPDC500WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.400"; + } + + smiv2:alias "cevPowerSupplyN9KAC3000W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.404"; + } + + smiv2:alias "cevPowerSupplyN9KPac1200WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.405"; + } + + smiv2:alias "cevPowerSupplyN9KPac1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.406"; + } + + smiv2:alias "cevPowerSupplyN9KPac650WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.407"; + } + + smiv2:alias "cevPowerSupplyN9KPac650W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.408"; + } + + smiv2:alias "cevPowerSupply30WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.416"; + } + + smiv2:alias "cevPowerSupply60WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.417"; + } + + smiv2:alias "cevPowerSupply60WACV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.418"; + } + + smiv2:alias "cevPowerSupply125WAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.419"; + } + + smiv2:alias "cevPowerSupplyRT2241PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.420"; + } + + smiv2:alias "cevPowerSupplyRT3201PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.421"; + } + + smiv2:alias "cevPowerSupplyRT3211PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.422"; + } + + smiv2:alias "cevPowerSupplyRT3211PWRDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.423"; + } + + smiv2:alias "cevPowerSupplyRT32PWRAC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.424"; + } + + smiv2:alias "cevPowerSupplyRT3211RPSADPTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.425"; + } + + smiv2:alias "cevPowerSupplyRT32RPSADPTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.426"; + } + + smiv2:alias "cevPowerSupplyDSC48S300AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.439"; + } + + smiv2:alias "cevPowerSupply540WPSU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.446"; + } + + smiv2:alias "cevPowerSupplyNXAPHV500WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.447"; + } + + smiv2:alias "cevPowerSupplyNXAPHV500W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.448"; + } + + smiv2:alias "cevPowerSupplyNXAPHV1100WB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.449"; + } + + smiv2:alias "cevPowerSupplyNXAPHV1100W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.450"; + } + + smiv2:alias "cevPowerSupplyUCS6248HVDC750W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.451"; + } + + smiv2:alias "cevPowerSupplyASR92024SZIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.463"; + } + + smiv2:alias "cevPowerSupplyASR92024SZM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.464"; + } + + smiv2:alias "cevPowerSupplyASR92024TZM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.465"; + } + + smiv2:alias "cevPowerSupplyASR920PWRA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.471"; + } + + smiv2:alias "cevPowerSupplyASR920PWRD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.472"; + } + + smiv2:alias "cevPowerSupplyC2911PWRDCPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.473"; + } + + smiv2:alias "cevPowerSupplySCE10000AC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.480"; + } + + smiv2:alias "cevPowerSupplySCE10000DC930W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.481"; + } + + smiv2:alias "cevPowerSupplyDSCAC1200WE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.482"; + } + + smiv2:alias "cevPowerSupplyDSCAC1200W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.6.483"; + } + + smiv2:alias "cevFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7"; + } + + smiv2:alias "cevFanC6260FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.3"; + } + + smiv2:alias "cevFanSinglePulse" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.4"; + } + + smiv2:alias "cevFanDualPulse" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.5"; + } + + smiv2:alias "cevFan12012FanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.6"; + } + + smiv2:alias "cevFan12008FanTray6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.7"; + } + + smiv2:alias "cevFan12008FanTray4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.8"; + } + + smiv2:alias "cevFanC6160FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.9"; + } + + smiv2:alias "cevFanC6100FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.11"; + } + + smiv2:alias "cevFan12010FanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.13"; + } + + smiv2:alias "cevFan12406FanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.14"; + } + + smiv2:alias "cevFan12410FanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.15"; + } + + smiv2:alias "cevFanONS15540FanTray8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.16"; + } + + smiv2:alias "cevFan12404FanTray7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.17"; + } + + smiv2:alias "cevFanBP7513MainFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.18"; + } + + smiv2:alias "cevFanBP7513PS1Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.19"; + } + + smiv2:alias "cevFanBP7513PS2Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.20"; + } + + smiv2:alias "cevFan7505Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.21"; + } + + smiv2:alias "cevFan7507Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.22"; + } + + smiv2:alias "cevFanC7300PowerSupplyFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.23"; + } + + smiv2:alias "cevFanC7300FanModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.24"; + } + + smiv2:alias "cevFanTrayC10008" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.25"; + } + + smiv2:alias "cevFanTrayC10005" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.26"; + } + + smiv2:alias "cevFanCat4kFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.27"; + } + + smiv2:alias "cevFanCat4kPowerSupplyFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.28"; + } + + smiv2:alias "cevFanC6160ITempFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.29"; + } + + smiv2:alias "cevFanONS15530FanTray6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.30"; + } + + smiv2:alias "cevFan12016FanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.31"; + } + + smiv2:alias "cevFanCat3750CFM26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.34"; + } + + smiv2:alias "cevFanDs6SlotFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.35"; + } + + smiv2:alias "cevFanDs9SlotFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.36"; + } + + smiv2:alias "cevFanDs13SlotFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.37"; + } + + smiv2:alias "cevFanTrayUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.38"; + } + + smiv2:alias "cevFanDs2SlotFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.39"; + } + + smiv2:alias "cevFanCat3710CFM26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.40"; + } + + smiv2:alias "cevFanCat37xx12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.41"; + } + + smiv2:alias "cevFanWS9SlotFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.42"; + } + + smiv2:alias "cevFanMod9FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.43"; + } + + smiv2:alias "cevFanCat2970CFM26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.44"; + } + + smiv2:alias "cevFanDs1RUFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.45"; + } + + smiv2:alias "cevFanFanMod3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.46"; + } + + smiv2:alias "cevFanWSC6k6SlotFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.47"; + } + + smiv2:alias "cevFanWSC6k6SlotFan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.48"; + } + + smiv2:alias "cevFanWSC6k9SlotFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.49"; + } + + smiv2:alias "cevFanWSC6k9SlotFan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.50"; + } + + smiv2:alias "cevFanWSC6509NebFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.51"; + } + + smiv2:alias "cevFanWSC6k13SlotFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.52"; + } + + smiv2:alias "cevFanWSC6k13SlotFan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.53"; + } + + smiv2:alias "cevFanFanMod3HS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.54"; + } + + smiv2:alias "cevFanWSC6509NebFan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.55"; + } + + smiv2:alias "cevFanFanMod6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.56"; + } + + smiv2:alias "cevFanFanMod6HS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.57"; + } + + smiv2:alias "cevFanCrs1Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.58"; + } + + smiv2:alias "cevFanCat3560CFM26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.59"; + } + + smiv2:alias "cevFanDs1RUFanTray9116" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.60"; + } + + smiv2:alias "cevFanWSC6506eFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.61"; + } + + smiv2:alias "cevFanWSC6509eFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.62"; + } + + smiv2:alias "cevFanWSC6513eFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.63"; + } + + smiv2:alias "cevFanWSC6503eFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.64"; + } + + smiv2:alias "cevFanUmg9820FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.65"; + } + + smiv2:alias "cevFanMod4HS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.66"; + } + + smiv2:alias "cevFanC4kFCFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.67"; + } + + smiv2:alias "cevFan12410EnhFanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.68"; + } + + smiv2:alias "cevFan12406EnhFanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.69"; + } + + smiv2:alias "cevFan12416EnhFanTray3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.70"; + } + + smiv2:alias "cevFan12404FanTray6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.71"; + } + + smiv2:alias "cevFan12404EnhFanTray6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.72"; + } + + smiv2:alias "cevFan9513FanTrayR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.73"; + } + + smiv2:alias "cevFanCat2960CFM22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.74"; + } + + smiv2:alias "cevFanCat2960CFM26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.75"; + } + + smiv2:alias "cevFanTrayUbr10012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.76"; + } + + smiv2:alias "cevFanC6524" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.77"; + } + + smiv2:alias "cevFanCatEx500CFM22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.78"; + } + + smiv2:alias "cevFanCatEx500CFM32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.79"; + } + + smiv2:alias "cevFanCat3750CFM35" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.80"; + } + + smiv2:alias "cevFanCFM15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.81"; + } + + smiv2:alias "cevFanCrs1FabricFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.82"; + } + + smiv2:alias "cevModuleCrs116FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.83"; + } + + smiv2:alias "cevModuleCrs18FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.84"; + } + + smiv2:alias "cevModuleCrs14FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.85"; + } + + smiv2:alias "cevFanC3KBLWR60CFM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.86"; + } + + smiv2:alias "cevFanMod6ShsFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.87"; + } + + smiv2:alias "cevFanMod9ShsFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.88"; + } + + smiv2:alias "cevFanMod9StFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.89"; + } + + smiv2:alias "cevFanBlwrRPS2300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.90"; + } + + smiv2:alias "cevFanACE4710K9CpuFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.91"; + } + + smiv2:alias "cevFanACE4710K9DimmFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.92"; + } + + smiv2:alias "cevFanACE4710K9PciFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.93"; + } + + smiv2:alias "cevFanWSC6509veFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.94"; + } + + smiv2:alias "cevFanMod3ShsFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.95"; + } + + smiv2:alias "cevFanSce8000FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.96"; + } + + smiv2:alias "cevFanN7Kc7010MainFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.97"; + } + + smiv2:alias "cevFanN7KC7010FabricFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.98"; + } + + smiv2:alias "cevFanASR1002" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.99"; + } + + smiv2:alias "cevFanASR1004" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.100"; + } + + smiv2:alias "cevFanASR1006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.101"; + } + + smiv2:alias "cevFanCe520Cfm22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.102"; + } + + smiv2:alias "cevFanCe520Cfm32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.103"; + } + + smiv2:alias "cevFanN5kC5020Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.104"; + } + + smiv2:alias "cevFanCat2918Cfm22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.105"; + } + + smiv2:alias "cevFanC3KFAN16CFM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.106"; + } + + smiv2:alias "cevFanPowerSupplyFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.107"; + } + + smiv2:alias "cevFanN7Kc7018FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.109"; + } + + smiv2:alias "cevFanCrs16lccFntrB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.110"; + } + + smiv2:alias "cevFanASR14K4FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.111"; + } + + smiv2:alias "cevFanASR14K8FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.112"; + } + + smiv2:alias "cevFanN5kC5010Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.113"; + } + + smiv2:alias "cevFanASR9KFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.114"; + } + + smiv2:alias "cevFanASR9010" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.115"; + } + + smiv2:alias "cevFanASR9006" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.116"; + } + + smiv2:alias "cevFanASR14K4Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.117"; + } + + smiv2:alias "cevFanASR14K8Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.118"; + } + + smiv2:alias "cevFanCrs14Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.119"; + } + + smiv2:alias "cevFanCrs18Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.120"; + } + + smiv2:alias "cevFanCrs116Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.121"; + } + + smiv2:alias "cevFanN2kC2148TFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.122"; + } + + smiv2:alias "cevContainerUCSN10S6100Fan1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.124"; + } + + smiv2:alias "cevFanCat2960CFM32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.125"; + } + + smiv2:alias "cevFanContainerUCSN10Fan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.126"; + } + + smiv2:alias "cevFanN7Kc7009FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.129"; + } + + smiv2:alias "cevFanMEFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.130"; + } + + smiv2:alias "cevFanMXE5600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.131"; + } + + smiv2:alias "cevFanC2360Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.132"; + } + + smiv2:alias "cevFanASR1001FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.133"; + } + + smiv2:alias "cevFanASR1000Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.134"; + } + + smiv2:alias "cevFanN5548PFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.135"; + } + + smiv2:alias "cevFanCrs16FanTrB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.139"; + } + + smiv2:alias "cevFanCat2928Cfm22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.140"; + } + + smiv2:alias "cevFanCat2928Cfm32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.141"; + } + + smiv2:alias "cevFanBlwrXPS2200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.142"; + } + + smiv2:alias "cevFanN5596UPFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.143"; + } + + smiv2:alias "cevFanN2kC2248TBFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.144"; + } + + smiv2:alias "cevFanN2kC2232TBFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.145"; + } + + smiv2:alias "cevFanN3kC3064Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.148"; + } + + smiv2:alias "cevFanUCS6248UPFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.149"; + } + + smiv2:alias "cevFanUCS6296UPFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.150"; + } + + smiv2:alias "cevFanOe694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.151"; + } + + smiv2:alias "cevFanOe594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.152"; + } + + smiv2:alias "cevFanOe294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.153"; + } + + smiv2:alias "cevFanOe7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.154"; + } + + smiv2:alias "cevFanOe7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.155"; + } + + smiv2:alias "cevFanOe8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.156"; + } + + smiv2:alias "cevFanCrs16SBFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.157"; + } + + smiv2:alias "cevFanCrs16FabricFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.158"; + } + + smiv2:alias "cevFanASA5555PSFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.160"; + } + + smiv2:alias "cevFanASA5555ChassisFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.167"; + } + + smiv2:alias "cevFanN3kC3064FanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.173"; + } + + smiv2:alias "cevFanASR903FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.174"; + } + + smiv2:alias "cevFanASR900Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.175"; + } + + smiv2:alias "cevFanASR5KFANTLW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.176"; + } + + smiv2:alias "cevFanASR5KFANTUP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.177"; + } + + smiv2:alias "cevFanASR55FANTF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.178"; + } + + smiv2:alias "cevFanASR55FANTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.179"; + } + + smiv2:alias "cevFanN7Kc7004FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.180"; + } + + smiv2:alias "cevFanN3kC3048Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.181"; + } + + smiv2:alias "cevFanN3kC3048FanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.182"; + } + + smiv2:alias "cevFanASR9001" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.183"; + } + + smiv2:alias "cevFanTrayISR4400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.185"; + } + + smiv2:alias "cevFanAsr9922Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.187"; + } + + smiv2:alias "cevFanAirstrikeCpuBlower" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.188"; + } + + smiv2:alias "cevFanMod13SeFanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.189"; + } + + smiv2:alias "cevFanN6kC600496PQFanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.190"; + } + + smiv2:alias "cevFanN6kC600496PQFanF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.191"; + } + + smiv2:alias "cevFanN3kC3548PFanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.192"; + } + + smiv2:alias "cevFanN3kC3548PFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.193"; + } + + smiv2:alias "cevFanA9K9912FAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.194"; + } + + smiv2:alias "cevFanISR4400Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.195"; + } + + smiv2:alias "cevFanAsr9010FanV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.196"; + } + + smiv2:alias "cevFanCat2960XCFM23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.197"; + } + + smiv2:alias "cevFanCat2960XCFM38" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.198"; + } + + smiv2:alias "cevFanDSC9710" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.200"; + } + + smiv2:alias "cevFanAsr9904Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.201"; + } + + smiv2:alias "cevFanNCSFANTRAY" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.202"; + } + + smiv2:alias "cevFanDSC50I" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.203"; + } + + smiv2:alias "cevFanC6880xFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.204"; + } + + smiv2:alias "cevFanCrs18SBFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.205"; + } + + smiv2:alias "cevFanCrs18FanTrayB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.206"; + } + + smiv2:alias "cevFanN77c7718Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.207"; + } + + smiv2:alias "cevFanN77c7710Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.208"; + } + + smiv2:alias "cevFanN77c7706Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.209"; + } + + smiv2:alias "cevFanC6807xlFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.210"; + } + + smiv2:alias "cevFanNCSFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.211"; + } + + smiv2:alias "cevFanN3KC3172TQFAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.213"; + } + + smiv2:alias "cevFanN3KC3172TQFANB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.214"; + } + + smiv2:alias "cevFanN3KC3172PQFANB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.215"; + } + + smiv2:alias "cevFanN3KC3172PQFAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.216"; + } + + smiv2:alias "cevFanN3KC3132FAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.217"; + } + + smiv2:alias "cevFanN3KC3132FANB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.218"; + } + + smiv2:alias "cevFanDSC9706FAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.219"; + } + + smiv2:alias "cevFanN9Kc9508FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.222"; + } + + smiv2:alias "cevFanASR902FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.226"; + } + + smiv2:alias "cevFanN56128FanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.227"; + } + + smiv2:alias "cevFanN56128FanF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.228"; + } + + smiv2:alias "cevFanDSC48SFAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.229"; + } + + smiv2:alias "cevFanN9Kc9516FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.230"; + } + + smiv2:alias "cevFanN9Kc9504FanTray" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.231"; + } + + smiv2:alias "cevFanN9Kc9300FanTray2B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.232"; + } + + smiv2:alias "cevFanN9Kc9300FanTray2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.233"; + } + + smiv2:alias "cevFanN9Kc9300FanTray1B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.234"; + } + + smiv2:alias "cevFanN9Kc9300FanTray1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.235"; + } + + smiv2:alias "cevFanNXAFAN30CFMB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.237"; + } + + smiv2:alias "cevFanNXAFAN30CFMF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.238"; + } + + smiv2:alias "cevFanASR9001V2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.239"; + } + + smiv2:alias "cevFanN6kC6001FanF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.240"; + } + + smiv2:alias "cevFanN6kC6001FanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.241"; + } + + smiv2:alias "cevFanAsr9KvV2Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.250"; + } + + smiv2:alias "cevFanASR920FanTray15ru" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.251"; + } + + smiv2:alias "cevFanASR920FanTray1ru" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.252"; + } + + smiv2:alias "cevFanN5K5696FanB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.253"; + } + + smiv2:alias "cevFanN5K5696FanF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.254"; + } + + smiv2:alias "cevFanSce10000Fan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.261"; + } + + smiv2:alias "cevFanDSC96SFANE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.262"; + } + + smiv2:alias "cevFanDSC96SFANI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.7.263"; + } + + smiv2:alias "cevSensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8"; + } + + smiv2:alias "cevSensorMGX8800Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.11"; + } + + smiv2:alias "cevSensorMGX8800PSVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.12"; + } + + smiv2:alias "cevSensorMGX8800FanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.13"; + } + + smiv2:alias "cevSensorONS15540Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.14"; + } + + smiv2:alias "cevSensorONS15540Power" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.15"; + } + + smiv2:alias "cevSensor7500ChassisInterface" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.16"; + } + + smiv2:alias "cevSensorC7300InletTempVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.17"; + } + + smiv2:alias "cevSensorC7300OutletTempVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.18"; + } + + smiv2:alias "cevSensorC7300HotspotTempVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.19"; + } + + smiv2:alias "cevSensorC7300NseDbTempVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.20"; + } + + smiv2:alias "cevSensorC7300PSFanState" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.21"; + } + + smiv2:alias "cevSensorC10KInletTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.22"; + } + + smiv2:alias "cevSensorC10000CoreTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.23"; + } + + smiv2:alias "cevSensorCat4kTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.24"; + } + + smiv2:alias "cevSensorONS15530Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.25"; + } + + smiv2:alias "cevSensorONS15530Power" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.26"; + } + + smiv2:alias "cevSensorVxsmVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.27"; + } + + smiv2:alias "cevSensorVxsmTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.28"; + } + + smiv2:alias "cevSensor15302701Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.29"; + } + + smiv2:alias "cevSensorUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.30"; + } + + smiv2:alias "cevSensorModuleDeviceTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.31"; + } + + smiv2:alias "cevSensorClock" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.32"; + } + + smiv2:alias "cevSensorVtt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.33"; + } + + smiv2:alias "cevSensorModulePowerOutputFail" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.34"; + } + + smiv2:alias "cevSensorModuleOutletTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.35"; + } + + smiv2:alias "cevSensorModuleInletTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.36"; + } + + smiv2:alias "cevSensorFanTrayStatus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.37"; + } + + smiv2:alias "cevSensorPSFan" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.38"; + } + + smiv2:alias "cevSensorPSOutput" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.39"; + } + + smiv2:alias "cevSensorPSInput" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.40"; + } + + smiv2:alias "cevSensorCrs1Voltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.41"; + } + + smiv2:alias "cevSensorCrs1Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.42"; + } + + smiv2:alias "cevSensorCrs1Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.43"; + } + + smiv2:alias "cevSensorCrs1FanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.44"; + } + + smiv2:alias "cevSensorModuleDeviceVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.45"; + } + + smiv2:alias "cevSensorTransceiverRxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.46"; + } + + smiv2:alias "cevSensorTransceiverTxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.47"; + } + + smiv2:alias "cevSensorTransceiverCurrent" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.48"; + } + + smiv2:alias "cevSensorTransceiverVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.49"; + } + + smiv2:alias "cevSensorTransceiverTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.50"; + } + + smiv2:alias "cevSensorModuleFanUpgradeRequired" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.51"; + } + + smiv2:alias "cevSensorModuleInsufficientCooling" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.52"; + } + + smiv2:alias "cevSensorPSFanIncompatible" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.55"; + } + + smiv2:alias "cevSensorACE4710K9CPUTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.56"; + } + + smiv2:alias "cevSensorACE4710K9AmbientTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.57"; + } + + smiv2:alias "cevSensorCpuFanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.58"; + } + + smiv2:alias "cevSensorACE4710K9DimmFanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.59"; + } + + smiv2:alias "cevSensorACE4710K9PciFanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.60"; + } + + smiv2:alias "cevSensorModuleDeviceCurrent" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.61"; + } + + smiv2:alias "cevSensorCrs16dcPemB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.62"; + } + + smiv2:alias "cevSensorExternalContact" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.63"; + } + + smiv2:alias "cevSensorFanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.64"; + } + + smiv2:alias "cevSensorCrs1PwrVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.65"; + } + + smiv2:alias "cevSensorCrs1Led" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.66"; + } + + smiv2:alias "cevSensorMXE5600Temp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.67"; + } + + smiv2:alias "cevSensorMXE5600FanSpeed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.68"; + } + + smiv2:alias "cevSensorMXE5600Voltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.69"; + } + + smiv2:alias "cevSensorMXE5600Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.70"; + } + + smiv2:alias "cevSensorModuleDevicePower" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.132"; + } + + smiv2:alias "cevSensorModuleDeviceFanRotation" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.133"; + } + + smiv2:alias "cevSensorModuleDevicePressure" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.134"; + } + + smiv2:alias "cevSensorVoltagesensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.135"; + } + + smiv2:alias "cevSensorCursensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.136"; + } + + smiv2:alias "cevSensorTempsensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.137"; + } + + smiv2:alias "cevSensorLEDsensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.138"; + } + + smiv2:alias "cevSensorFanSpeedsensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.139"; + } + + smiv2:alias "cevSensorMultiSensorModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.140"; + } + + smiv2:alias "cevSensorPowersensor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.141"; + } + + smiv2:alias "cevSensorDiagStatus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.143"; + } + + smiv2:alias "cevSensorASR5000CardTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.151"; + } + + smiv2:alias "cevSensorASR5000CardVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.152"; + } + + smiv2:alias "cevSensorASR5000FanTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.153"; + } + + smiv2:alias "cevSensorASR5500CardTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.154"; + } + + smiv2:alias "cevSensorASR5500CardVoltage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.155"; + } + + smiv2:alias "cevSensorASR5500CardPower" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.156"; + } + + smiv2:alias "cevSensorASR5500CardAirFlow" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.157"; + } + + smiv2:alias "cevSensorASR5500CardBinary" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.158"; + } + + smiv2:alias "cevSensorASR5500CardPercentage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.159"; + } + + smiv2:alias "cevSensorASR5500CardCurrent" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.160"; + } + + smiv2:alias "cevSensorASR5500FanTemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.161"; + } + + smiv2:alias "cevSensorTransceiverLane1TxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.232"; + } + + smiv2:alias "cevSensorTransceiverLane2TxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.233"; + } + + smiv2:alias "cevSensorTransceiverLane3TxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.234"; + } + + smiv2:alias "cevSensorTransceiverLane4TxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.235"; + } + + smiv2:alias "cevSensorTransceiverLane1RxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.236"; + } + + smiv2:alias "cevSensorTransceiverLane2RxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.237"; + } + + smiv2:alias "cevSensorTransceiverLane3RxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.238"; + } + + smiv2:alias "cevSensorTransceiverLane4RxPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.239"; + } + + smiv2:alias "cevSensorTransceiverLane1Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.242"; + } + + smiv2:alias "cevSensorTransceiverLane2Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.243"; + } + + smiv2:alias "cevSensorTransceiverLane3Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.244"; + } + + smiv2:alias "cevSensorTransceiverLane4Current" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.8.245"; + } + + smiv2:alias "cevModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9"; + } + + smiv2:alias "cevModuleUnknownCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.1"; + } + + smiv2:alias "cevModuleCommonCards" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2"; + } + + smiv2:alias "cevWicSerial1t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.1"; + } + + smiv2:alias "cevWicST3420" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.5"; + } + + smiv2:alias "cevWicST2186" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.6"; + } + + smiv2:alias "cevWicU3420" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.7"; + } + + smiv2:alias "cevWicU2091" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.8"; + } + + smiv2:alias "cevWicU20912081" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.9"; + } + + smiv2:alias "cevWicST2186Leased" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.10"; + } + + smiv2:alias "cevVicFxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.11"; + } + + smiv2:alias "cevVicFxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.12"; + } + + smiv2:alias "cevVicEm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.13"; + } + + smiv2:alias "cevAimCompression" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.14"; + } + + smiv2:alias "cevWvic1dsuT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.16"; + } + + smiv2:alias "cevWvic1dsuE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.17"; + } + + smiv2:alias "cevWvic2dsuT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.18"; + } + + smiv2:alias "cevWvic2dsuE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.19"; + } + + smiv2:alias "cevWvic2dsuT1Di" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.20"; + } + + smiv2:alias "cevWvic2dsuE1Di" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.21"; + } + + smiv2:alias "cevAimEncryption" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.22"; + } + + smiv2:alias "cevPmNmToAim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.23"; + } + + smiv2:alias "cevDfc8ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.24"; + } + + smiv2:alias "cevDfc8ct1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.25"; + } + + smiv2:alias "cevDfcCt3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.26"; + } + + smiv2:alias "cevDfcNp108" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.27"; + } + + smiv2:alias "cevWicSerial2as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.29"; + } + + smiv2:alias "cevWicCsuDsuFT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.30"; + } + + smiv2:alias "cevIsaIpsecMppe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.31"; + } + + smiv2:alias "cevWicDslsar20150" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.32"; + } + + smiv2:alias "cevDfc2ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.35"; + } + + smiv2:alias "cevDfcNp60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.37"; + } + + smiv2:alias "cevSpeNp6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.43"; + } + + smiv2:alias "cevWvic2dsuT1DIR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.47"; + } + + smiv2:alias "cevWvic2dsuE1DIR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.48"; + } + + smiv2:alias "cevVic4vpFxsDid" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.49"; + } + + smiv2:alias "cevVic4fxoUsM1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.50"; + } + + smiv2:alias "cevVic4fxoM2M3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.51"; + } + + smiv2:alias "cevVic4fxoCAMA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.52"; + } + + smiv2:alias "cevWicEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.55"; + } + + smiv2:alias "cevCeSA6DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.56"; + } + + smiv2:alias "cevCeSA6AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.57"; + } + + smiv2:alias "cevCeSA12AC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.58"; + } + + smiv2:alias "cevC2610XM1Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.59"; + } + + smiv2:alias "cevC2611XM2Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.60"; + } + + smiv2:alias "cevC2620XM1Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.61"; + } + + smiv2:alias "cevC2621XM2Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.62"; + } + + smiv2:alias "cevC2650XM1Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.63"; + } + + smiv2:alias "cevC2651XM2Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.64"; + } + + smiv2:alias "cevVic8fxoUsM1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.65"; + } + + smiv2:alias "cevCeSA14" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.66"; + } + + smiv2:alias "cevWicDslsar20174Isdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.67"; + } + + smiv2:alias "cevWicDslsar20174Pots" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.68"; + } + + smiv2:alias "cevSpaIpSec2G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.69"; + } + + smiv2:alias "cevNmSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.70"; + } + + smiv2:alias "cevAimSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.71"; + } + + smiv2:alias "cevWicSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.72"; + } + + smiv2:alias "cevCeDs2100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.73"; + } + + smiv2:alias "cevDfc16ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.74"; + } + + smiv2:alias "cevDfc16ct1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.75"; + } + + smiv2:alias "cevSpa2pOc3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.76"; + } + + smiv2:alias "cevSpa4pOc3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.77"; + } + + smiv2:alias "cevSpa1pOc12Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.78"; + } + + smiv2:alias "cevSpa1pOc48Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.80"; + } + + smiv2:alias "cevSpa2pOc3Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.83"; + } + + smiv2:alias "cevSpa4pOc3Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.84"; + } + + smiv2:alias "cevSpa1pOc12Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.85"; + } + + smiv2:alias "cevSpa2pOc12Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.86"; + } + + smiv2:alias "cevSpa8pOc12Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.87"; + } + + smiv2:alias "cevSpa4pFe7304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.88"; + } + + smiv2:alias "cevSpa2pGe7304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.89"; + } + + smiv2:alias "cevWicEswitch4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.90"; + } + + smiv2:alias "cevWicBri3086u" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.91"; + } + + smiv2:alias "cevSpa1pOc192PosRprXfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.92"; + } + + smiv2:alias "cevSpa1pOc192PosRprSmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.94"; + } + + smiv2:alias "cevSpa1pOc192PosRprVsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.95"; + } + + smiv2:alias "cevSpa2pT3E3Serial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.96"; + } + + smiv2:alias "cevSpa4pT3E3Serial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.97"; + } + + smiv2:alias "cevSpa8pCT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.98"; + } + + smiv2:alias "cevSpa2pCT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.99"; + } + + smiv2:alias "cevSpa4pCT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.100"; + } + + smiv2:alias "cevNmAONS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.101"; + } + + smiv2:alias "cevHwic4fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.102"; + } + + smiv2:alias "cevHwic9fes" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.103"; + } + + smiv2:alias "cevHwic4fes" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.104"; + } + + smiv2:alias "cevHwic4ilp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.105"; + } + + smiv2:alias "cevHwic9ilp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.106"; + } + + smiv2:alias "cevSpa10pGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.107"; + } + + smiv2:alias "cevSpa1p10GeXfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.108"; + } + + smiv2:alias "cevSpa5pGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.109"; + } + + smiv2:alias "cevSpa2pGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.115"; + } + + smiv2:alias "cevCompactFlash64MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.116"; + } + + smiv2:alias "cevCompactFlash128MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.117"; + } + + smiv2:alias "cevCompactFlash256MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.118"; + } + + smiv2:alias "cevCompactFlash512MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.119"; + } + + smiv2:alias "cevCompactFlash" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.120"; + } + + smiv2:alias "cevSpa1pChOc3Stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.121"; + } + + smiv2:alias "cevFlashCard48MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.122"; + } + + smiv2:alias "cevFlashCard64MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.123"; + } + + smiv2:alias "cevFlashCard128MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.124"; + } + + smiv2:alias "cevFlashCard256MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.125"; + } + + smiv2:alias "cevFlashCard512MB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.126"; + } + + smiv2:alias "cevFlashCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.127"; + } + + smiv2:alias "cevHwicdot11abg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.128"; + } + + smiv2:alias "cevHwicdot11bg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.129"; + } + + smiv2:alias "cevAimVpnBp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.130"; + } + + smiv2:alias "cevAimVpnEp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.131"; + } + + smiv2:alias "cevNmVpnMp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.132"; + } + + smiv2:alias "cevAimVpnHp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.133"; + } + + smiv2:alias "cevAimVpnBp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.134"; + } + + smiv2:alias "cevAimVpnEp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.135"; + } + + smiv2:alias "cevAimVpnHp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.136"; + } + + smiv2:alias "cevAimVpnBp2Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.137"; + } + + smiv2:alias "cevAimVpnEp2Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.138"; + } + + smiv2:alias "cevAimVpnHp2Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.139"; + } + + smiv2:alias "cevHwicAdslBriPots" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.140"; + } + + smiv2:alias "cevHwicAdslBriIsdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.141"; + } + + smiv2:alias "cevHwicAdslIsdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.142"; + } + + smiv2:alias "cevHwicAdslPots" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.143"; + } + + smiv2:alias "cevSpa2pOc48PosRprHH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.144"; + } + + smiv2:alias "cevNMCueEc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.146"; + } + + smiv2:alias "cevC180xdot11abg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.147"; + } + + smiv2:alias "cevC180xdot11bg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.148"; + } + + smiv2:alias "cevC180x8ilp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.149"; + } + + smiv2:alias "cevDfcDl108" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.150"; + } + + smiv2:alias "cevDfcDl60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.151"; + } + + smiv2:alias "cevNmWlanController" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.152"; + } + + smiv2:alias "cevWicCsuDsuFT1v2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.153"; + } + + smiv2:alias "cevSpa8xfeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.154"; + } + + smiv2:alias "cevNMIntegratedServiceEngine" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.155"; + } + + smiv2:alias "cevNmWaEngine" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.156"; + } + + smiv2:alias "cevSpa2pGeV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.157"; + } + + smiv2:alias "cevSpa5pGeV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.158"; + } + + smiv2:alias "cevSpa8pGeV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.159"; + } + + smiv2:alias "cevSpa10pGeV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.160"; + } + + smiv2:alias "cevSpa1p10GeXfpV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.161"; + } + + smiv2:alias "cevSpa8xfeTxV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.162"; + } + + smiv2:alias "cevModuleCrs14OC192IRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.163"; + } + + smiv2:alias "cevSpa8xGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.164"; + } + + smiv2:alias "cevSpa8xoc3Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.166"; + } + + smiv2:alias "cevSpa4xoc12Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.167"; + } + + smiv2:alias "cevWic1ShdslV3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.168"; + } + + smiv2:alias "cevUsbFlash" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.169"; + } + + smiv2:alias "cevUsbToken" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.170"; + } + + smiv2:alias "cevUsbHub" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.171"; + } + + smiv2:alias "cevVEncM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.172"; + } + + smiv2:alias "cevUsbDevice" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.173"; + } + + smiv2:alias "cevSpa1pOc48PosSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.174"; + } + + smiv2:alias "cevSpa4pOc48PosSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.175"; + } + + smiv2:alias "cevIpRanOpt4P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.176"; + } + + smiv2:alias "cevAimIps1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.177"; + } + + smiv2:alias "cevAimIps2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.178"; + } + + smiv2:alias "cevNmCips" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.180"; + } + + smiv2:alias "cevHwic1fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.181"; + } + + smiv2:alias "cevHwic2fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.182"; + } + + smiv2:alias "cevHwicBriU82912" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.183"; + } + + smiv2:alias "cevHwicBri4bST" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.184"; + } + + smiv2:alias "cevModuleCrs1RPB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.185"; + } + + smiv2:alias "cevModuleCrs1FccSCGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.186"; + } + + smiv2:alias "cevModuleCrs1SPAInfCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.187"; + } + + smiv2:alias "cevModule4OC192DptIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.188"; + } + + smiv2:alias "cevModuleCrs116mFabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.189"; + } + + smiv2:alias "cevHwicAdslPotsAnnexM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.190"; + } + + smiv2:alias "cevSpa4pOc3PosV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.191"; + } + + smiv2:alias "cevCVRX2SFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.192"; + } + + smiv2:alias "cevSpaIPSEC2g2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.193"; + } + + smiv2:alias "cevSpa8pCt1e1CemAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.194"; + } + + smiv2:alias "cevSpa24pCt1e1CemAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.195"; + } + + smiv2:alias "cevSpa2pCt3e3CemAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.196"; + } + + smiv2:alias "cevSpa1pChoc3CemAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.197"; + } + + smiv2:alias "cevSpa1x10geWlV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.198"; + } + + smiv2:alias "cevSpa1x10geDwdmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.199"; + } + + smiv2:alias "cevSpa1pChoc48Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.200"; + } + + smiv2:alias "cevSpa1pChoc12Ds0" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.201"; + } + + smiv2:alias "cevAimAtm8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.202"; + } + + smiv2:alias "cevSpa4xtSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.203"; + } + + smiv2:alias "cevSpa1xOC3AtmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.204"; + } + + smiv2:alias "cevSpa2xOC3AtmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.205"; + } + + smiv2:alias "cevSpa3xOC3AtmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.206"; + } + + smiv2:alias "cevSpa1xOC12AtmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.207"; + } + + smiv2:alias "cevNmTransOptSrvcEng1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.208"; + } + + smiv2:alias "cevAimTransOptSrvcEng1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.209"; + } + + smiv2:alias "cevNmTransOptSrvcEng2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.210"; + } + + smiv2:alias "cevAimTransOptSrvcEng2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.211"; + } + + smiv2:alias "cevOnboardSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.212"; + } + + smiv2:alias "cevAimIpsK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.213"; + } + + smiv2:alias "cevNmeApaModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.214"; + } + + smiv2:alias "cevHwicVdslPots" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.215"; + } + + smiv2:alias "cevHwicVdslIsdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.216"; + } + + smiv2:alias "cevWsIpsec3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.217"; + } + + smiv2:alias "cevHwic2as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.218"; + } + + smiv2:alias "cevHwic2t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.219"; + } + + smiv2:alias "cevHwic1t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.220"; + } + + smiv2:alias "cevHwic1dsuT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.221"; + } + + smiv2:alias "cevDsx930418fk9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.222"; + } + + smiv2:alias "cevC7600SSC400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.223"; + } + + smiv2:alias "cevWSSSC600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.224"; + } + + smiv2:alias "cevSpa2pGeSynce" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.225"; + } + + smiv2:alias "cevSpa2pChoc12Ds0" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.226"; + } + + smiv2:alias "cevAimVpnSsl1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.227"; + } + + smiv2:alias "cevAimVpnSsl2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.228"; + } + + smiv2:alias "cevAimVpnSsl3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.229"; + } + + smiv2:alias "cevWsIpsec2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.230"; + } + + smiv2:alias "cevCVRX2SFP10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.231"; + } + + smiv2:alias "cevHardDisk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.232"; + } + + smiv2:alias "cevIsmSre300K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.234"; + } + + smiv2:alias "cevSmSre700K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.237"; + } + + smiv2:alias "cevSmSre900K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.239"; + } + + smiv2:alias "cevSpaWmaSw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.240"; + } + + smiv2:alias "cevHwic4ShdslEfm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.242"; + } + + smiv2:alias "cevAimAxp102" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.243"; + } + + smiv2:alias "cevAim2Axp104" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.244"; + } + + smiv2:alias "cevNmAxp302" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.245"; + } + + smiv2:alias "cevNmAxp502" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.246"; + } + + smiv2:alias "cevNmAxp522" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.247"; + } + + smiv2:alias "cevWicGshdslEfm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.248"; + } + + smiv2:alias "cevNmeIss" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.249"; + } + + smiv2:alias "cevNmeVmss216" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.250"; + } + + smiv2:alias "cevNmeVmssHp32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.251"; + } + + smiv2:alias "cevNmeVmss2Hp32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.252"; + } + + smiv2:alias "cevNmeVmssHp16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.253"; + } + + smiv2:alias "cevNmeVmss16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.254"; + } + + smiv2:alias "cevNamWaasVirtualBlade" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.260"; + } + + smiv2:alias "cevSpaDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.273"; + } + + smiv2:alias "cevModuleCrs4S140GFabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.274"; + } + + smiv2:alias "cevModuleCrs8S140GFabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.275"; + } + + smiv2:alias "cevModuleCrs16S140GFabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.276"; + } + + smiv2:alias "cevModuleCrs16S140GFabricCardMulti" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.277"; + } + + smiv2:alias "cevModuleCrs1140GFCCSFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.278"; + } + + smiv2:alias "cevC3KxNm1g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.279"; + } + + smiv2:alias "cevC3KxNm10g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.280"; + } + + smiv2:alias "cevHwic2tC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.282"; + } + + smiv2:alias "cevHwic1tC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.283"; + } + + smiv2:alias "cevHwic4fesC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.284"; + } + + smiv2:alias "cevHwic9fesC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.285"; + } + + smiv2:alias "cevVwic2Mft1G703C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.286"; + } + + smiv2:alias "cevVwic2Mft2G703C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.287"; + } + + smiv2:alias "cevNmEswitch16C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.288"; + } + + smiv2:alias "cevC2960sStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.291"; + } + + smiv2:alias "cevHardiskIdc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.292"; + } + + smiv2:alias "cevEhwic4esg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.293"; + } + + smiv2:alias "cevEhwicD8esg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.294"; + } + + smiv2:alias "cevEhwicD8esgP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.295"; + } + + smiv2:alias "cevEhwic4esgP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.296"; + } + + smiv2:alias "cevVmssSmSre700K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.297"; + } + + smiv2:alias "cevVmssSmSre900K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.298"; + } + + smiv2:alias "cevIssSmSre700K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.299"; + } + + smiv2:alias "cevIssSmSre900K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.300"; + } + + smiv2:alias "cevModem3gGsm504A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.301"; + } + + smiv2:alias "cevModem3gGsm504G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.302"; + } + + smiv2:alias "cevCvrCfp4sfp10g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.303"; + } + + smiv2:alias "cevModem3gCdma5728V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.304"; + } + + smiv2:alias "cevModem3gGsmMC8705" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.305"; + } + + smiv2:alias "cevModem3gGsmMC8795" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.306"; + } + + smiv2:alias "cevModem3gGsmMc8705A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.313"; + } + + smiv2:alias "cevHardDisk8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.314"; + } + + smiv2:alias "cevHardDisk7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.315"; + } + + smiv2:alias "cevHardDisk7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.316"; + } + + smiv2:alias "cevHardDisk694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.317"; + } + + smiv2:alias "cevHardDisk594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.318"; + } + + smiv2:alias "cevHardDisk294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.319"; + } + + smiv2:alias "cevModuleDIMM8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.320"; + } + + smiv2:alias "cevModuleDIMM7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.321"; + } + + smiv2:alias "cevModuleDIMM7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.322"; + } + + smiv2:alias "cevModuleDIMM294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.323"; + } + + smiv2:alias "cevModuleDIMM694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.324"; + } + + smiv2:alias "cevModuleDIMM594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.325"; + } + + smiv2:alias "cevModuleIOM294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.328"; + } + + smiv2:alias "cevModuleIOM594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.329"; + } + + smiv2:alias "cevModuleIOM694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.330"; + } + + smiv2:alias "cevModuleIOM7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.331"; + } + + smiv2:alias "cevModuleIOM7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.332"; + } + + smiv2:alias "cevModuleIOM8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.333"; + } + + smiv2:alias "cevIM8pGeCu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.334"; + } + + smiv2:alias "cevIM8pGeSFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.335"; + } + + smiv2:alias "cevIM16pT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.336"; + } + + smiv2:alias "cevIM1p10GeXfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.337"; + } + + smiv2:alias "cevIM4pOc3R1pOc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.338"; + } + + smiv2:alias "cevEp1p40GeQsfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.343"; + } + + smiv2:alias "cevEp2p40GeQsfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.344"; + } + + smiv2:alias "cevMpa2X10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.350"; + } + + smiv2:alias "cevMpa4X10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.351"; + } + + smiv2:alias "cevMpa20X1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.352"; + } + + smiv2:alias "cevMpa1X40GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.353"; + } + + smiv2:alias "cevMpa2X40GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.354"; + } + + smiv2:alias "cevModuleNic2x10GeSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.359"; + } + + smiv2:alias "cevModuleNic4x10GeSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.360"; + } + + smiv2:alias "cevModuleNic4x1GeSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.361"; + } + + smiv2:alias "cevModule4portNic4x1GeCu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.362"; + } + + smiv2:alias "cevModule1xNitrox3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.363"; + } + + smiv2:alias "cevModule4xNitrox3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.364"; + } + + smiv2:alias "cevSpaHDwbdSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.365"; + } + + smiv2:alias "cevSpa8pT3E3Serial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.366"; + } + + smiv2:alias "cevSolidStateDisk8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.367"; + } + + smiv2:alias "cevSolidStateDisk7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.368"; + } + + smiv2:alias "cevSolidStateDisk7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.369"; + } + + smiv2:alias "cevSolidStateDisk694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.370"; + } + + smiv2:alias "cevSolidStateDisk594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.371"; + } + + smiv2:alias "cevSolidStateDisk294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.372"; + } + + smiv2:alias "cevWaveInlnGe4T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.373"; + } + + smiv2:alias "cevWaveInlnGe8T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.374"; + } + + smiv2:alias "cevWaveInlnGe4SX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.375"; + } + + smiv2:alias "cevWave10Ge2SFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.376"; + } + + smiv2:alias "cevA9kMpa8X10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.378"; + } + + smiv2:alias "cevA9KMpa8X10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.379"; + } + + smiv2:alias "cevIom4GeInln" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.380"; + } + + smiv2:alias "cevIom8GeInln" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.381"; + } + + smiv2:alias "cevIom4GefInln" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.382"; + } + + smiv2:alias "cevIom2X10Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.383"; + } + + smiv2:alias "cevSfpH10GbCu5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.384"; + } + + smiv2:alias "cevWaveScGe12T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.385"; + } + + smiv2:alias "cevWaveScGe12Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.386"; + } + + smiv2:alias "cevWaveSc10Ge4Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.387"; + } + + smiv2:alias "cevWaveApnvGe12T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.388"; + } + + smiv2:alias "cevWaveApnvGe12Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.389"; + } + + smiv2:alias "cevWaveApnv10Ge4Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.390"; + } + + smiv2:alias "cevModuleNCSFCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.403"; + } + + smiv2:alias "cevModuleNCS10X100GMK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.404"; + } + + smiv2:alias "cevModuleNCS10X100GMP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.405"; + } + + smiv2:alias "cevModuleNCSRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.406"; + } + + smiv2:alias "cevIM14pSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.407"; + } + + smiv2:alias "cevModuleNCSCRFT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.413"; + } + + smiv2:alias "cevModuleCommonCardsPSEASIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.414"; + } + + smiv2:alias "cevModuleCommonCardsFIA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.415"; + } + + smiv2:alias "cevModulePowerController" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.418"; + } + + smiv2:alias "cevModuleDIMM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.419"; + } + + smiv2:alias "cevModuleNCS10X100GLP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.420"; + } + + smiv2:alias "cevModuleNCS10X100GLK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.421"; + } + + smiv2:alias "cevModuleFPD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.422"; + } + + smiv2:alias "cevModuleI2CMUX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.423"; + } + + smiv2:alias "cevModulePCIESwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.424"; + } + + smiv2:alias "cevModuleStorage" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.425"; + } + + smiv2:alias "cevModuleControlSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.426"; + } + + smiv2:alias "cevModuleC3KxNm4x10g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.427"; + } + + smiv2:alias "cevModuleNC6410X100GMK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.429"; + } + + smiv2:alias "cevModuleNC6610X100GLK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.430"; + } + + smiv2:alias "cevModulePseAsicPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.445"; + } + + smiv2:alias "cevModuleCisco60P10GeSFPPlusLsrLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.446"; + } + + smiv2:alias "cevModuleCisco30P10GeSFPPlusLsrLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.447"; + } + + smiv2:alias "cevModuleCisco15P10GeSFPPlusLsrLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.448"; + } + + smiv2:alias "cevModuleCisco15P10GeSFPPlusLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.449"; + } + + smiv2:alias "cevModuleCisco30P10GeSFPPlusLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.450"; + } + + smiv2:alias "cevModuleCisco60P10GeSFPPlusLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.451"; + } + + smiv2:alias "cevModuleVirtualBlade" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.452"; + } + + smiv2:alias "cevModuleASA55125515ASAIC6GECUA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.453"; + } + + smiv2:alias "cevModuleASA5525ASAIC6GECUB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.454"; + } + + smiv2:alias "cevModuleASA55455555ASAIC6GECUC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.455"; + } + + smiv2:alias "cevModuleASA55125515ASAIC6GESFPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.456"; + } + + smiv2:alias "cevModuleASA5525ASAIC6GESFPB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.457"; + } + + smiv2:alias "cevModuleASA55455555ASAIC6GESFPC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.458"; + } + + smiv2:alias "cevModuleNCS4KDCPWF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.459"; + } + + smiv2:alias "cevModuleNCS4KECU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.460"; + } + + smiv2:alias "cevPEhwic4Esg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.470"; + } + + smiv2:alias "cevPEhwicD8Esg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.471"; + } + + smiv2:alias "cevPWic1BStV3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.472"; + } + + smiv2:alias "cevPhwic1Adsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.473"; + } + + smiv2:alias "cevPhwic1Adslm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.474"; + } + + smiv2:alias "cevPHwic1Dsut1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.475"; + } + + smiv2:alias "cevPHwic1t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.476"; + } + + smiv2:alias "cevPHwic2as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.477"; + } + + smiv2:alias "cevPHwic2Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.478"; + } + + smiv2:alias "cevPHwic2t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.479"; + } + + smiv2:alias "cevPIsmSre300K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.480"; + } + + smiv2:alias "cevSpa14pSaSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.481"; + } + + smiv2:alias "cevPEhwicVaMMDslA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.484"; + } + + smiv2:alias "cevPEhwicVaMMDslM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.485"; + } + + smiv2:alias "cevModuleA900IMA8S1Z" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.491"; + } + + smiv2:alias "cevModuleA900IMA8T1Z" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.492"; + } + + smiv2:alias "cevModuleA900IMA2Z" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.493"; + } + + smiv2:alias "cevModuleNCSSfpPlusOpticsMod" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.506"; + } + + smiv2:alias "cevModuleNCS6KSRTCAM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.507"; + } + + smiv2:alias "cevModuleNCS6K210X100GMK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.508"; + } + + smiv2:alias "cevModuleNCS6K210X100GLK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.509"; + } + + smiv2:alias "cevModuleNCS6K230X10GMS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.510"; + } + + smiv2:alias "cevModuleNCS6K230X10GLS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.511"; + } + + smiv2:alias "cevModuleSPAETHER24xGE4x10GECU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.512"; + } + + smiv2:alias "cevModuleSPAETHER24xGE4x10GESFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.513"; + } + + smiv2:alias "cevModuleSPAETHER24xGE4x10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.514"; + } + + smiv2:alias "cevModuleSPAETHER12xGE2x10GEDUAL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.515"; + } + + smiv2:alias "cevModuleSPAETHER2xGE4x10GEDUAL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.516"; + } + + smiv2:alias "cevModuleSPAETHER10xGE2x10GEDUAL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.517"; + } + + smiv2:alias "cevModuleA900IMA32D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.518"; + } + + smiv2:alias "cevModuleA900IMA8D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.2.519"; + } + + smiv2:alias "cevModuleC36xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3"; + } + + smiv2:alias "cevPmCpm1e2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.1"; + } + + smiv2:alias "cevPmCpm2e2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.2"; + } + + smiv2:alias "cevPmCpm1e1r2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.3"; + } + + smiv2:alias "cevPmCt1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.4"; + } + + smiv2:alias "cevPm2ct1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.5"; + } + + smiv2:alias "cevPmCt1Dsx1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.6"; + } + + smiv2:alias "cevPm2ct1Dsx1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.7"; + } + + smiv2:alias "cevPmCe1Balanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.8"; + } + + smiv2:alias "cevPm2ce1Balanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.9"; + } + + smiv2:alias "cevPmCe1Unbalanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.10"; + } + + smiv2:alias "cevPm2ce1Unbalanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.11"; + } + + smiv2:alias "cevPm4bU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.12"; + } + + smiv2:alias "cevPm4bSt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.13"; + } + + smiv2:alias "cevPm8bU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.14"; + } + + smiv2:alias "cevPm8bSt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.15"; + } + + smiv2:alias "cevPm4as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.16"; + } + + smiv2:alias "cevPm8as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.17"; + } + + smiv2:alias "cevPm4e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.18"; + } + + smiv2:alias "cevPm1e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.19"; + } + + smiv2:alias "cevPmM4t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.21"; + } + + smiv2:alias "cevPm16a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.22"; + } + + smiv2:alias "cevPm32a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.23"; + } + + smiv2:alias "cevPmC36001fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.24"; + } + + smiv2:alias "cevPmC3600Compression" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.25"; + } + + smiv2:alias "cevPmDmodem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.26"; + } + + smiv2:alias "cevPm8admodem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.27"; + } + + smiv2:alias "cevPm16admodem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.28"; + } + + smiv2:alias "cevVpm2v" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.29"; + } + + smiv2:alias "cevVpm4v" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.30"; + } + + smiv2:alias "cevPmC36001feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.31"; + } + + smiv2:alias "cevPmC36001feFx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.32"; + } + + smiv2:alias "cevPm1fe1t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.33"; + } + + smiv2:alias "cevPm1fe2t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.34"; + } + + smiv2:alias "cevPm1fe1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.35"; + } + + smiv2:alias "cevPm1fe2e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.36"; + } + + smiv2:alias "cevPm1fe1t1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.37"; + } + + smiv2:alias "cevPm1fe2t1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.38"; + } + + smiv2:alias "cevC36xx2feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.39"; + } + + smiv2:alias "cevPmOc3mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.40"; + } + + smiv2:alias "cevPmOc3mmVpd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.41"; + } + + smiv2:alias "cevPmOc3smiVpd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.42"; + } + + smiv2:alias "cevPmOc3smlVpd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.43"; + } + + smiv2:alias "cevPmOc3sml" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.44"; + } + + smiv2:alias "cevPmOc3smi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.45"; + } + + smiv2:alias "cevVic2fxoEu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.46"; + } + + smiv2:alias "cevVic2fxoM3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.47"; + } + + smiv2:alias "cevVic2fxoM4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.48"; + } + + smiv2:alias "cevVic2fxoM5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.49"; + } + + smiv2:alias "cevVic2fxoM6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.50"; + } + + smiv2:alias "cevVic2fxoM7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.51"; + } + + smiv2:alias "cevVic2fxoM8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.52"; + } + + smiv2:alias "cevVic2ST2086" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.53"; + } + + smiv2:alias "cevHdv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.54"; + } + + smiv2:alias "cevNm1fe2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.59"; + } + + smiv2:alias "cevNm2fe2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.60"; + } + + smiv2:alias "cevNm1fe1r2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.61"; + } + + smiv2:alias "cevNm2w" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.62"; + } + + smiv2:alias "cevC36xx1feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.63"; + } + + smiv2:alias "cevAimLc4e1Compression" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.64"; + } + + smiv2:alias "cevVic2fxoM1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.65"; + } + + smiv2:alias "cevVic2fxoM2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.68"; + } + + smiv2:alias "cevPmDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.69"; + } + + smiv2:alias "cevPmE3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.70"; + } + + smiv2:alias "cevVic2vpFxsDid" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.74"; + } + + smiv2:alias "cevVic2ST2086NtTe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.75"; + } + + smiv2:alias "cevNmAic64" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.76"; + } + + smiv2:alias "cevMIX366064" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.77"; + } + + smiv2:alias "cevWicAsync1am" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.78"; + } + + smiv2:alias "cevWicAsync2am" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.79"; + } + + smiv2:alias "cevAim4Dsps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.81"; + } + + smiv2:alias "cevHdaNm4fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.82"; + } + + smiv2:alias "cevC2610M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.84"; + } + + smiv2:alias "cevC2611M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.85"; + } + + smiv2:alias "cevNm1t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.91"; + } + + smiv2:alias "cevNm1ct3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.92"; + } + + smiv2:alias "cevNm8ct1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.93"; + } + + smiv2:alias "cevHdaEm4fxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.94"; + } + + smiv2:alias "cevNm16AS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.95"; + } + + smiv2:alias "cevNm1ct1e1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.102"; + } + + smiv2:alias "cevNm2ct1e1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.103"; + } + + smiv2:alias "cevNmCeoip4t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.104"; + } + + smiv2:alias "cevNmCeoip4Serial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.105"; + } + + smiv2:alias "cevNm1aOc3mmEp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.106"; + } + + smiv2:alias "cevNm1aOc3smiEp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.107"; + } + + smiv2:alias "cevNm1aOc3smlEp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.108"; + } + + smiv2:alias "cevNmCids" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.109"; + } + + smiv2:alias "cevHwic1GeSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.119"; + } + + smiv2:alias "cevPortHdDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.120"; + } + + smiv2:alias "cevHdv2port0" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.121"; + } + + smiv2:alias "cevHdv2port2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.122"; + } + + smiv2:alias "cevHdv2port1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.123"; + } + + smiv2:alias "cevNmAtm25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.124"; + } + + smiv2:alias "cevNmNam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.125"; + } + + smiv2:alias "cevNm8amV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.126"; + } + + smiv2:alias "cevNm16amV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.127"; + } + + smiv2:alias "cevCpuC28112fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.129"; + } + + smiv2:alias "cevCpuC28212ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.130"; + } + + smiv2:alias "cevCpuC28512ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.131"; + } + + smiv2:alias "cevHWicSerial4t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.132"; + } + + smiv2:alias "cevHWicSerial4as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.133"; + } + + smiv2:alias "cevHWicSerial8as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.134"; + } + + smiv2:alias "cevHWicSerial8a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.135"; + } + + smiv2:alias "cevHWicSerial16a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.136"; + } + + smiv2:alias "cevNm1AOc3Pom" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.137"; + } + + smiv2:alias "cevHWic1DOCSIS20CableModem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.146"; + } + + smiv2:alias "cevNm8ce1t1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.148"; + } + + smiv2:alias "cevHWic4t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.149"; + } + + smiv2:alias "cevHWic2ce1t1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.150"; + } + + smiv2:alias "cevHWic1ce1t1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.151"; + } + + smiv2:alias "cevHWic1DOCSIS20CableModemEJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.152"; + } + + smiv2:alias "cevHwic1t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.154"; + } + + smiv2:alias "cevHwic4Shdsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.157"; + } + + smiv2:alias "cevHwic2Shdsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.158"; + } + + smiv2:alias "cevNmRvpnSterra" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.159"; + } + + smiv2:alias "cevNmRvpn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.160"; + } + + smiv2:alias "cevNmSpclSrvcEng" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.161"; + } + + smiv2:alias "cevNmIntgrtdSrvcEng2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.162"; + } + + smiv2:alias "cevHWIC1Ser" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.163"; + } + + smiv2:alias "cevHWIC2Ser" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.164"; + } + + smiv2:alias "cevInternalServiceModuleAIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.165"; + } + + smiv2:alias "cevSm1nm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.167"; + } + + smiv2:alias "cevSm2k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.168"; + } + + smiv2:alias "cevSm3k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.169"; + } + + smiv2:alias "cevSm3k16GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.170"; + } + + smiv2:alias "cevSm2k23Es1Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.171"; + } + + smiv2:alias "cevSm2k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.172"; + } + + smiv2:alias "cevSm3k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.173"; + } + + smiv2:alias "cevSm3k24GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.174"; + } + + smiv2:alias "cevSmXd2k48Es2SFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.175"; + } + + smiv2:alias "cevSmXd3k48Es2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.176"; + } + + smiv2:alias "cevSmXd3k48Ge2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.177"; + } + + smiv2:alias "cevHwic4ce1t1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.180"; + } + + smiv2:alias "cevEHwic1GeSfpCu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.181"; + } + + smiv2:alias "cevEhwic3gEvdo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.182"; + } + + smiv2:alias "cevEhwic3gHspaU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.183"; + } + + smiv2:alias "cevSm1pa" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.184"; + } + + smiv2:alias "cevSm1Stm1Smi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.185"; + } + + smiv2:alias "cevSm1Stm1Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.186"; + } + + smiv2:alias "cevEhwic3gHspa7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.187"; + } + + smiv2:alias "cevIsmVpnSsl3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.188"; + } + + smiv2:alias "cevIsmVpnSsl2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.189"; + } + + smiv2:alias "cevIsmVpnSsl1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.190"; + } + + smiv2:alias "cevEhwic3gHspa7A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.191"; + } + + smiv2:alias "cevEhwic4gLteA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.193"; + } + + smiv2:alias "cevEhwic4gLteG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.194"; + } + + smiv2:alias "cevEhwic4gLteV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.195"; + } + + smiv2:alias "cevSm1T3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.196"; + } + + smiv2:alias "cevSM32A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.197"; + } + + smiv2:alias "cevSmD48FxsE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.202"; + } + + smiv2:alias "cevSmD72Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.203"; + } + + smiv2:alias "cevNgsmXd3k48ge2sfpPoeplus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.206"; + } + + smiv2:alias "cevNgsm3k24gePoeplus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.207"; + } + + smiv2:alias "cevNgsm3k16gePoeplus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.208"; + } + + smiv2:alias "cevGrwicSerial4t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.209"; + } + + smiv2:alias "cevEhwic4gLteJp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.210"; + } + + smiv2:alias "cevEhwic4gLteBe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.211"; + } + + smiv2:alias "cevPEhwic1GeSfpCu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.212"; + } + + smiv2:alias "cevPEhwic3gHspa7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.213"; + } + + smiv2:alias "cevPHwicSerial16a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.214"; + } + + smiv2:alias "cevPhwic1Ce1T1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.215"; + } + + smiv2:alias "cevPHwic2Ce1t1Pri" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.216"; + } + + smiv2:alias "cevPHwicSerial4As" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.217"; + } + + smiv2:alias "cevPHwicSerial4t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.218"; + } + + smiv2:alias "cevPHwic4T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.219"; + } + + smiv2:alias "cevPHwicSerial8a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.220"; + } + + smiv2:alias "cevPHwicSerial8as" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.221"; + } + + smiv2:alias "cevPIsmVpn29" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.222"; + } + + smiv2:alias "cevPVic2Fxo2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.223"; + } + + smiv2:alias "cevPVic2Fxo4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.224"; + } + + smiv2:alias "cevPSm2k23Es1Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.225"; + } + + smiv2:alias "cevPSm3k16GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.226"; + } + + smiv2:alias "cevPSmXd2k48Es2SFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.227"; + } + + smiv2:alias "cevPSmXd3k48Es2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.228"; + } + + smiv2:alias "cevPSmXd3k48Ge2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.229"; + } + + smiv2:alias "cevPSm2k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.230"; + } + + smiv2:alias "cevPSm2k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.231"; + } + + smiv2:alias "cevPSm3k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.232"; + } + + smiv2:alias "cevPSm3k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.233"; + } + + smiv2:alias "cevPSm3k24GePoe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.234"; + } + + smiv2:alias "cevPSm1nm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.235"; + } + + smiv2:alias "cevPHdv2port2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.3.236"; + } + + smiv2:alias "cevModuleVipPortAdapters" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4"; + } + + smiv2:alias "cevPa1fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.1"; + } + + smiv2:alias "cevPa8e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.2"; + } + + smiv2:alias "cevPa4e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.3"; + } + + smiv2:alias "cevPa5e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.4"; + } + + smiv2:alias "cevPa4t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.5"; + } + + smiv2:alias "cevPa4r" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.6"; + } + + smiv2:alias "cevPaFddi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.7"; + } + + smiv2:alias "cevSaEncryption" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.8"; + } + + smiv2:alias "cevPaAh1t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.9"; + } + + smiv2:alias "cevPaAh2t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.10"; + } + + smiv2:alias "cevPaA8tV35" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.12"; + } + + smiv2:alias "cevPa1feTxIsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.13"; + } + + smiv2:alias "cevPa1feFxIsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.14"; + } + + smiv2:alias "cevPa1feTxNisl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.15"; + } + + smiv2:alias "cevSaCompression" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.16"; + } + + smiv2:alias "cevPaAtmLite1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.17"; + } + + smiv2:alias "cevPaCt3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.18"; + } + + smiv2:alias "cevPaOc3smMuxCbrt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.19"; + } + + smiv2:alias "cevPaOc3smMuxCbr120e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.20"; + } + + smiv2:alias "cevPaOc3smMuxCbr75e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.21"; + } + + smiv2:alias "cevPaOc3mmMuxCbrt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.22"; + } + + smiv2:alias "cevPaOc3mmMuxCbr120e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.23"; + } + + smiv2:alias "cevPaOc3mmMuxCbr75e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.24"; + } + + smiv2:alias "cevPaDs3MuxCbrt1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.25"; + } + + smiv2:alias "cevPaE3MuxCbr120e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.26"; + } + + smiv2:alias "cevPaE3smMuxCbr75e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.27"; + } + + smiv2:alias "cevPa8bSt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.28"; + } + + smiv2:alias "cevPa4bU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.29"; + } + + smiv2:alias "cevPaFddiFd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.30"; + } + + smiv2:alias "cevPaJt2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.31"; + } + + smiv2:alias "cevPaPosdw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.32"; + } + + smiv2:alias "cevPa4me1Bal" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.33"; + } + + smiv2:alias "cevPa2ce1Balanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.34"; + } + + smiv2:alias "cevPa2ct1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.35"; + } + + smiv2:alias "cevPa1vg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.36"; + } + + smiv2:alias "cevPaAtmdxDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.37"; + } + + smiv2:alias "cevPaAtmdxE3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.38"; + } + + smiv2:alias "cevPaAtmdxSmlOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.39"; + } + + smiv2:alias "cevPaAtmdxSmiOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.40"; + } + + smiv2:alias "cevPaAtmdxMmOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.41"; + } + + smiv2:alias "cevPaA8tX21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.42"; + } + + smiv2:alias "cevPaA8tRs232" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.43"; + } + + smiv2:alias "cevPa4me1Unbal" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.44"; + } + + smiv2:alias "cevPa4rFdx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.45"; + } + + smiv2:alias "cevPa1e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.46"; + } + + smiv2:alias "cevPa2e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.47"; + } + + smiv2:alias "cevPa1t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.48"; + } + + smiv2:alias "cevPa2t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.49"; + } + + smiv2:alias "cevPa2ce1Unbalanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.50"; + } + + smiv2:alias "cevPa14eSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.51"; + } + + smiv2:alias "cevas58001fedsi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.52"; + } + + smiv2:alias "cevPa1feFxNisl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.53"; + } + + smiv2:alias "cevPaIo1fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.54"; + } + + smiv2:alias "cevPaIo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.55"; + } + + smiv2:alias "cevPa2feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.56"; + } + + smiv2:alias "cevPa2feFx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.57"; + } + + smiv2:alias "cevPaGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.59"; + } + + smiv2:alias "cevPaPosswSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.60"; + } + + smiv2:alias "cevPaPosswMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.61"; + } + + smiv2:alias "cevPaPosswLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.62"; + } + + smiv2:alias "cevPa4ct1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.63"; + } + + smiv2:alias "cevPa8ct1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.64"; + } + + smiv2:alias "cevPa8ct1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.65"; + } + + smiv2:alias "cevPa8ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.66"; + } + + smiv2:alias "cevPaVxc2t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.67"; + } + + smiv2:alias "cevPaVxb2t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.68"; + } + + smiv2:alias "cevPaAtmOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.69"; + } + + smiv2:alias "cevPaAtmOc12Smi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.70"; + } + + smiv2:alias "cevPaMct3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.71"; + } + + smiv2:alias "cevPaMc2t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.72"; + } + + smiv2:alias "cevPa1t3Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.73"; + } + + smiv2:alias "cevPa2t3Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.74"; + } + + smiv2:alias "cevPaPosOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.75"; + } + + smiv2:alias "cevPaPosOc12Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.76"; + } + + smiv2:alias "cevPaImaT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.77"; + } + + smiv2:alias "cevPaImaE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.78"; + } + + smiv2:alias "cevSrpPaOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.79"; + } + + smiv2:alias "cevSrpPaOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.80"; + } + + smiv2:alias "cevSrpPaOc12Lr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.81"; + } + + smiv2:alias "cevPa2ct1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.82"; + } + + smiv2:alias "cevPa2ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.83"; + } + + smiv2:alias "cevPaMcx2te1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.84"; + } + + smiv2:alias "cevPaMcx4te1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.85"; + } + + smiv2:alias "cevPaMcx8te1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.86"; + } + + smiv2:alias "cevSrpPaOc12SmXr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.87"; + } + + smiv2:alias "cevPaMcStm1Smi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.90"; + } + + smiv2:alias "cevPaMcStm1Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.91"; + } + + smiv2:alias "cevPa2feTxI82543" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.92"; + } + + smiv2:alias "cevPa2feFxI82543" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.93"; + } + + smiv2:alias "cevPaDualWideGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.94"; + } + + smiv2:alias "cevPaVxa1T1E124" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.95"; + } + + smiv2:alias "cevPaVxa1T1E130" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.96"; + } + + smiv2:alias "cevPaMcT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.97"; + } + + smiv2:alias "cevPaMcx8te1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.99"; + } + + smiv2:alias "cevPa1ce3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.100"; + } + + smiv2:alias "cevPa2OC3PosSw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.101"; + } + + smiv2:alias "cevPa2feFxIsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.102"; + } + + smiv2:alias "cevPa4Dtr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.103"; + } + + smiv2:alias "cevPaVmHda8FxsDid" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.104"; + } + + smiv2:alias "cevPa1OC3PosSw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.105"; + } + + smiv2:alias "cevPaA6mmOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.106"; + } + + smiv2:alias "cevPaA6SmiOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.107"; + } + + smiv2:alias "cevPaA6SmlOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.108"; + } + + smiv2:alias "cevPaA6Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.109"; + } + + smiv2:alias "cevPaA6E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.110"; + } + + smiv2:alias "cevPaMcx4te1Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.111"; + } + + smiv2:alias "cevPaMct3ec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.112"; + } + + smiv2:alias "cevPaMc2t3ec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.113"; + } + + smiv2:alias "cevPa1t3e3ec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.114"; + } + + smiv2:alias "cevPa2t3e3ec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.4.115"; + } + + smiv2:alias "cevModuleCpuType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5"; + } + + smiv2:alias "cevC7200Io1fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.1"; + } + + smiv2:alias "cevC7200Io" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.2"; + } + + smiv2:alias "cevCpuAS5300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.3"; + } + + smiv2:alias "cevCpuRpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.7"; + } + + smiv2:alias "cevCpu2600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.8"; + } + + smiv2:alias "cevCpu7200Npe300" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.9"; + } + + smiv2:alias "cevCpu1400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.10"; + } + + smiv2:alias "cevCpu800" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.11"; + } + + smiv2:alias "cevCpuPSM1Gbps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.12"; + } + + smiv2:alias "cevCpu7200Npe175" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.14"; + } + + smiv2:alias "cevCpu7200Npe225" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.15"; + } + + smiv2:alias "cevCpu1417" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.17"; + } + + smiv2:alias "cevCpuPsm11oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.18"; + } + + smiv2:alias "cevCpuOpticalRegenerator" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.19"; + } + + smiv2:alias "cevCpuUbr924" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.20"; + } + + smiv2:alias "cevCpu7120" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.21"; + } + + smiv2:alias "cevCpu7140" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.22"; + } + + smiv2:alias "cevCpuPsm12t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.23"; + } + + smiv2:alias "cevCpuPsm14oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.24"; + } + + smiv2:alias "cevCpu7200Npe100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.26"; + } + + smiv2:alias "cevCpu7200Npe150" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.27"; + } + + smiv2:alias "cevCpu7200Npe200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.28"; + } + + smiv2:alias "cevCpuCreRp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.29"; + } + + smiv2:alias "cevCpuCreFp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.30"; + } + + smiv2:alias "cevCpuAs5400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.31"; + } + + smiv2:alias "cevCpuAS5200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.34"; + } + + smiv2:alias "cevCpuGrp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.35"; + } + + smiv2:alias "cevCpuMc3810V3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.36"; + } + + smiv2:alias "cevCpuAs5850" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.38"; + } + + smiv2:alias "cevCpu7200Npe400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.39"; + } + + smiv2:alias "cevCpuAs5350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.40"; + } + + smiv2:alias "cevCpuRsp4Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.41"; + } + + smiv2:alias "cevCpuUbr91x" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.42"; + } + + smiv2:alias "cevCpu7150" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.43"; + } + + smiv2:alias "cevCpuPXMB45Gbps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.44"; + } + + smiv2:alias "cevCpuONS15540" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.47"; + } + + smiv2:alias "cevCpuRsp16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.48"; + } + + smiv2:alias "cevCpuPrp1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.49"; + } + + smiv2:alias "cevCpuC7300Nse100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.50"; + } + + smiv2:alias "cevCpuPXM1E1Gbps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.51"; + } + + smiv2:alias "cevCpuPXM1E2Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.52"; + } + + smiv2:alias "cevCpuPXM1E8Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.53"; + } + + smiv2:alias "cevCpuPXM1E8T3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.54"; + } + + smiv2:alias "cevCpuPXM1EComboT3E3Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.55"; + } + + smiv2:alias "cevCpu7200Npeg1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.56"; + } + + smiv2:alias "cevCpu26912fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.57"; + } + + smiv2:alias "cevCpu37452fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.58"; + } + + smiv2:alias "cevCpu37252fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.59"; + } + + smiv2:alias "cevCpu36311fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.60"; + } + + smiv2:alias "cevCpu19002fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.61"; + } + + smiv2:alias "cevCpuONS15530SW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.62"; + } + + smiv2:alias "cevCpu6400Nsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.63"; + } + + smiv2:alias "cevCpu6400Nrp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.64"; + } + + smiv2:alias "cevCpu6400Nrp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.65"; + } + + smiv2:alias "cevCpu6400Nrp2Sv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.66"; + } + + smiv2:alias "cevCpuPXM1E4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.67"; + } + + smiv2:alias "cevCpu1700" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.68"; + } + + smiv2:alias "cevCpu7301Npeg1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.71"; + } + + smiv2:alias "cevCpuPXM1E16t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.72"; + } + + smiv2:alias "cevCpu7300Nse100Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.73"; + } + + smiv2:alias "cevCpuPxm1eB8t3e34Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.74"; + } + + smiv2:alias "cevCpu4604" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.75"; + } + + smiv2:alias "cevCpu4224" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.76"; + } + + smiv2:alias "cevCpuAs5400HPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.77"; + } + + smiv2:alias "cevCpuAs5350HPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.78"; + } + + smiv2:alias "cevCpuAs5850tb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.80"; + } + + smiv2:alias "cevCpuC7300Npeg100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.81"; + } + + smiv2:alias "cevCpuMdsCpp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.82"; + } + + smiv2:alias "cevCpuMdsDpp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.83"; + } + + smiv2:alias "cevCpuMdsSup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.84"; + } + + smiv2:alias "cevCpu2430Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.85"; + } + + smiv2:alias "cevCpu2431Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.86"; + } + + smiv2:alias "cevCpu2431Iad16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.87"; + } + + smiv2:alias "cevCpu2431Iad1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.88"; + } + + smiv2:alias "cevCpu2432Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.89"; + } + + smiv2:alias "cevCpu3220" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.90"; + } + + smiv2:alias "cevCpuVG224" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.91"; + } + + smiv2:alias "cevCpuCat6kWsSup720RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.92"; + } + + smiv2:alias "cevCpuCat6kMsfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.93"; + } + + smiv2:alias "cevCpuCat6kMsfc2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.94"; + } + + smiv2:alias "cevCpuCat6kWsxSup12ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.95"; + } + + smiv2:alias "cevCpuCat6kWsxSup22ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.96"; + } + + smiv2:alias "cevCpuCat6kWsxSup1a2ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.97"; + } + + smiv2:alias "cevCpuCat6kWsSup720SP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.98"; + } + + smiv2:alias "cevCpu3845ge2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.99"; + } + + smiv2:alias "cevCpu3825ge2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.100"; + } + + smiv2:alias "cevCpuCrs1AsmpRoute" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.101"; + } + + smiv2:alias "cevCpuCrs1DsmpRoute" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.102"; + } + + smiv2:alias "cevCpuCrs1pfeAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.103"; + } + + smiv2:alias "cevCpuCrs1EgressqAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.104"; + } + + smiv2:alias "cevCpuCrs1FabricqAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.105"; + } + + smiv2:alias "cevCpuCrs1IngressqAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.106"; + } + + smiv2:alias "cevCpuCrs1SPLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.107"; + } + + smiv2:alias "cevCpuCrs1SPFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.108"; + } + + smiv2:alias "cevCpu1800Mod" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.109"; + } + + smiv2:alias "cevCpuPrp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.110"; + } + + smiv2:alias "cevCpuCat6kWsSup32ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.111"; + } + + smiv2:alias "cevCpuCat6kWsSup3210ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.112"; + } + + smiv2:alias "cevCpuAs5400XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.113"; + } + + smiv2:alias "cevCpuAs5350XM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.114"; + } + + smiv2:alias "cevCpu1800" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.115"; + } + + smiv2:alias "cevCpu7200Npeg2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.118"; + } + + smiv2:alias "cevCpuCat6kMsfc2a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.119"; + } + + smiv2:alias "cevCpuC28012fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.120"; + } + + smiv2:alias "cevCpuIXP2350WestportNP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.121"; + } + + smiv2:alias "cevCpuC7300Nse150" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.122"; + } + + smiv2:alias "cevCpuCre1Rp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.123"; + } + + smiv2:alias "cevCpuCre2Rp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.124"; + } + + smiv2:alias "cevCpuCre3Rp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.125"; + } + + smiv2:alias "cevCpuCre1Fp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.126"; + } + + smiv2:alias "cevCpuCre2Fp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.127"; + } + + smiv2:alias "cevCpuCre3Fp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.128"; + } + + smiv2:alias "cevCpu7600Sip600DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.130"; + } + + smiv2:alias "cevCpuCat6kVsF6kMsfc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.131"; + } + + smiv2:alias "cevCpuCat6kVsS72010G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.132"; + } + + smiv2:alias "cevCpu7201Npeg2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.133"; + } + + smiv2:alias "cevCpuSamiDc8548H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.134"; + } + + smiv2:alias "cevCpuUC500" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.135"; + } + + smiv2:alias "cevCpuBroadcomSB1A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.138"; + } + + smiv2:alias "cevCpuCrs1SPLCB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.139"; + } + + smiv2:alias "cevCpuUc520s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.140"; + } + + smiv2:alias "cevCpuUc520m" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.141"; + } + + smiv2:alias "cevCpu1861" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.144"; + } + + smiv2:alias "cevCpuTraffic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.145"; + } + + smiv2:alias "cevCpuCat6kWsSup32Pge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.146"; + } + + smiv2:alias "cevCpuCat6kWsSup32P10ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.147"; + } + + smiv2:alias "cevCpuCat6kWsF6kPisa" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.148"; + } + + smiv2:alias "cevCpuCrs1PlimAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.152"; + } + + smiv2:alias "cevCpu2435Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.153"; + } + + smiv2:alias "cevCpuVG204" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.154"; + } + + smiv2:alias "cevCpuVG202" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.155"; + } + + smiv2:alias "cevCpu2941" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.157"; + } + + smiv2:alias "cevCPU8641D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.158"; + } + + smiv2:alias "cevCpuCat6kVsSup2t10g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.159"; + } + + smiv2:alias "cevCpu19412ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.160"; + } + + smiv2:alias "cevCpu29012ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.161"; + } + + smiv2:alias "cevCpu29113ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.162"; + } + + smiv2:alias "cevCpu29213ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.163"; + } + + smiv2:alias "cevCpu29513ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.164"; + } + + smiv2:alias "cevCpu39253ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.165"; + } + + smiv2:alias "cevCpu39453ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.166"; + } + + smiv2:alias "cevCpuSr520T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.167"; + } + + smiv2:alias "cevCpu1941w2ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.168"; + } + + smiv2:alias "cevCpu3825nvge2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.169"; + } + + smiv2:alias "cevCpu3845nvge2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.170"; + } + + smiv2:alias "cevCpuCrs1SPFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.175"; + } + + smiv2:alias "cevCpu3900SPE2004ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.179"; + } + + smiv2:alias "cevCpu3900Spe100K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.182"; + } + + smiv2:alias "cevCpu3900Spe150K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.183"; + } + + smiv2:alias "cevCpu3900SPE2504ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.186"; + } + + smiv2:alias "cevCpuCrs1FP140" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.187"; + } + + smiv2:alias "cevCpuCrs1MSC140G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.188"; + } + + smiv2:alias "cevCpuC1841C2fek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.189"; + } + + smiv2:alias "cevCpuC2801C2fek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.190"; + } + + smiv2:alias "cevCpuC2811C2fek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.191"; + } + + smiv2:alias "cevCpuC2821C2gek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.192"; + } + + smiv2:alias "cevCpu3825C2gek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.194"; + } + + smiv2:alias "cevCpu3845C2gek9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.195"; + } + + smiv2:alias "cevCpuCGR20102ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.198"; + } + + smiv2:alias "cevCpu1906Ck9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.199"; + } + + smiv2:alias "cevCpuDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.201"; + } + + smiv2:alias "cevCpu5915" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.202"; + } + + smiv2:alias "cevCpu86xVAE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.212"; + } + + smiv2:alias "cevCpuCryptoAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.213"; + } + + smiv2:alias "cevCpu2811ve2fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.214"; + } + + smiv2:alias "cevCpu1841ve2fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.215"; + } + + smiv2:alias "cevCpu819HG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.216"; + } + + smiv2:alias "cevCpu819G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.217"; + } + + smiv2:alias "cevCpu881W" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.218"; + } + + smiv2:alias "cevCpu886VAW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.219"; + } + + smiv2:alias "cevCpu887VAMW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.220"; + } + + smiv2:alias "cevCpu887VAW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.221"; + } + + smiv2:alias "cevCpuAsaSm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.222"; + } + + smiv2:alias "cevCpuAsaSm1K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.223"; + } + + smiv2:alias "cevCpuCrsLSP140" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.234"; + } + + smiv2:alias "cevCpuCre5Fp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.243"; + } + + smiv2:alias "cevCpuCre5Rp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.244"; + } + + smiv2:alias "cevCpuVG350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.245"; + } + + smiv2:alias "cevCpu819HGW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.250"; + } + + smiv2:alias "cevCpu819H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.251"; + } + + smiv2:alias "cevCpu819HWD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.252"; + } + + smiv2:alias "cevCpu812G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.253"; + } + + smiv2:alias "cevCpu812GCIFI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.254"; + } + + smiv2:alias "cevCpu819HGM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.255"; + } + + smiv2:alias "cevCpu819GM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.256"; + } + + smiv2:alias "cevCpuCgrSup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.266"; + } + + smiv2:alias "cevCpu86xVAEW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.267"; + } + + smiv2:alias "cevCpuvg202xm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.268"; + } + + smiv2:alias "cevCpuvg204xm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.269"; + } + + smiv2:alias "cevCpuC6880x" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.270"; + } + + smiv2:alias "cevCpu1783SR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.280"; + } + + smiv2:alias "cevCpuTypeCPU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.281"; + } + + smiv2:alias "cevCpuC881" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.282"; + } + + smiv2:alias "cevCpuC886VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.283"; + } + + smiv2:alias "cevCpuC887VA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.284"; + } + + smiv2:alias "cevCpuC888" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.285"; + } + + smiv2:alias "cevCpuC891F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.286"; + } + + smiv2:alias "cevCpuC891FW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.287"; + } + + smiv2:alias "cevCpuVG310" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.288"; + } + + smiv2:alias "cevCpuVG320" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.289"; + } + + smiv2:alias "cevCPURT1081K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.293"; + } + + smiv2:alias "cevCPURT1091K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.294"; + } + + smiv2:alias "cevCpuRT2241K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.295"; + } + + smiv2:alias "cevCpuRT2221K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.296"; + } + + smiv2:alias "cevCpuRT2241WCK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.297"; + } + + smiv2:alias "cevCpuRT3211K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.298"; + } + + smiv2:alias "cevCpuRT3221K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.299"; + } + + smiv2:alias "cevCpuRT3201K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.300"; + } + + smiv2:alias "cevCpu897VAB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.306"; + } + + smiv2:alias "cevCpuCrs1LSPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.307"; + } + + smiv2:alias "cevCpuCrs1FPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.308"; + } + + smiv2:alias "cevCpuCrs1MSCX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.309"; + } + + smiv2:alias "cevCpu891x24X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.318"; + } + + smiv2:alias "cevCpu841Mx4X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.321"; + } + + smiv2:alias "cevCpu841Mx8X" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.322"; + } + + smiv2:alias "cevCpuCrs1MSCXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.323"; + } + + smiv2:alias "cevCpuCrs1FPXL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.5.324"; + } + + smiv2:alias "cevModuleCscType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.6"; + } + + smiv2:alias "cevModuleC7xxxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7"; + } + + smiv2:alias "cevC7xxxMc14a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.1"; + } + + smiv2:alias "cevC7xxxMc16a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.2"; + } + + smiv2:alias "cevC7xxxMc11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.3"; + } + + smiv2:alias "cevC7xxxMc12a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.4"; + } + + smiv2:alias "cevC7xxxMc11a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.5"; + } + + smiv2:alias "cevC7xxxIo1feTxIsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.6"; + } + + smiv2:alias "cevC7xxxMc28" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.8"; + } + + smiv2:alias "cevVip480" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.9"; + } + + smiv2:alias "cevVip450" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.10"; + } + + smiv2:alias "cevC7xxxIoEGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.11"; + } + + smiv2:alias "cevC7xxxIo2FE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.12"; + } + + smiv2:alias "cevC7xxxEIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.16"; + } + + smiv2:alias "cevC7xxxFIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.17"; + } + + smiv2:alias "cevC7xxxSrsFIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.18"; + } + + smiv2:alias "cevC7xxxTRIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.19"; + } + + smiv2:alias "cevC7xxxSrsTRIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.20"; + } + + smiv2:alias "cevC7xxxFSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.21"; + } + + smiv2:alias "cevC7xxxSSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.22"; + } + + smiv2:alias "cevC7xxxMIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.23"; + } + + smiv2:alias "cevC7xxxSMIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.24"; + } + + smiv2:alias "cevC7xxxVIP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.25"; + } + + smiv2:alias "cevC7xxxVIP250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.26"; + } + + smiv2:alias "cevC7xxxRSP1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.27"; + } + + smiv2:alias "cevC7xxxRSP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.28"; + } + + smiv2:alias "cevC7xxxRSP4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.29"; + } + + smiv2:alias "cevC7xxxPosIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.30"; + } + + smiv2:alias "cevC7xxxFeIP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.31"; + } + + smiv2:alias "cevC73004Oc3PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.33"; + } + + smiv2:alias "cevC73004Oc3PosSmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.34"; + } + + smiv2:alias "cevC73004Oc3PosSmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.35"; + } + + smiv2:alias "cevC7300Oc48PosSmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.36"; + } + + smiv2:alias "cevC7300Oc48PosSmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.37"; + } + + smiv2:alias "cevC7300Oc48PosSmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.38"; + } + + smiv2:alias "cevC7500AIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.58"; + } + + smiv2:alias "cevC7500CIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.59"; + } + + smiv2:alias "cevC7500CIP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.60"; + } + + smiv2:alias "cevC7500GEIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.61"; + } + + smiv2:alias "cevC7500FEIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.62"; + } + + smiv2:alias "cevC7xxxSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.63"; + } + + smiv2:alias "cevC7xxxRSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.64"; + } + + smiv2:alias "cevC7xxxHSSI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.65"; + } + + smiv2:alias "cevC7411" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.66"; + } + + smiv2:alias "cevC7411IoGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.67"; + } + + smiv2:alias "cevC7301" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.68"; + } + + smiv2:alias "cevC7301IoGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.69"; + } + + smiv2:alias "cevVip680" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.70"; + } + + smiv2:alias "cevC7300CCPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.76"; + } + + smiv2:alias "cevC7304MSC100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.77"; + } + + smiv2:alias "cevC73006E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.78"; + } + + smiv2:alias "cevC73001Oc12Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.79"; + } + + smiv2:alias "cevC7200Vsa" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.7.81"; + } + + smiv2:alias "cevModuleC4xxxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8"; + } + + smiv2:alias "cevC4xxxUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.1"; + } + + smiv2:alias "cevC4xxxNp4Gb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.2"; + } + + smiv2:alias "cevC4wsx4548GbRj45VPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.3"; + } + + smiv2:alias "cevCat4kWsx4948e10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.4"; + } + + smiv2:alias "cevCat4kWsx45Sup7LE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.5"; + } + + smiv2:alias "cevCat4kWsx45Sup8e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.6"; + } + + smiv2:alias "cevNIM4gLteNA7354" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.7"; + } + + smiv2:alias "cevNIM4gLteGA7304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.8"; + } + + smiv2:alias "cevNIM4gLteVZ7350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.9"; + } + + smiv2:alias "cevNIM4gLteST7350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.8.10"; + } + + smiv2:alias "cevModuleAS5200Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.9"; + } + + smiv2:alias "cevAS5200Carrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.9.1"; + } + + smiv2:alias "cevAS5200DtdCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.9.2"; + } + + smiv2:alias "cevPmAS5xxx12m56k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.9.3"; + } + + smiv2:alias "cevPmAS5xxx12mV110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.9.4"; + } + + smiv2:alias "cevModuleC25xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.10"; + } + + smiv2:alias "cevModuleAS5300Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11"; + } + + smiv2:alias "cevAS53004ct1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.1"; + } + + smiv2:alias "cevAS53004ce1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.2"; + } + + smiv2:alias "cevPmDtdCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.3"; + } + + smiv2:alias "cevPmDtd6m" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.4"; + } + + smiv2:alias "cevAS5300Carrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.5"; + } + + smiv2:alias "cevPmAS5xxx12m" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.6"; + } + + smiv2:alias "cevAS5300VoiceCarrierCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.7"; + } + + smiv2:alias "cevAS5300Dspmc542" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.8"; + } + + smiv2:alias "cevAS5300Dsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.9"; + } + + smiv2:alias "cevAS5300PmDtd12m" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.10"; + } + + smiv2:alias "cevAS53008ct14t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.11"; + } + + smiv2:alias "cevAS53008ce14t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.12"; + } + + smiv2:alias "cevAS53004ct14t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.13"; + } + + smiv2:alias "cevAS53004ce14t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.14"; + } + + smiv2:alias "cevAS5300Amazon2Carrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.15"; + } + + smiv2:alias "cevAS5300Dspm6c549" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.11.16"; + } + + smiv2:alias "cevModuleAS5800Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12"; + } + + smiv2:alias "cevMAs5800Dsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.1"; + } + + smiv2:alias "cevMAs5800E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.2"; + } + + smiv2:alias "cevMAs5800T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.3"; + } + + smiv2:alias "cevMAs5800MicaHmm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.4"; + } + + smiv2:alias "cevMAs5800T3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.5"; + } + + smiv2:alias "cevMAs5800FeDsi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.6"; + } + + smiv2:alias "cevMAs5800MicaDmm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.7"; + } + + smiv2:alias "cevMAs5800Vcc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.8"; + } + + smiv2:alias "cevMAs5800Dspm6c549" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.9"; + } + + smiv2:alias "cevMAs5800Dsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.12.10"; + } + + smiv2:alias "cevModuleFabricType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14"; + } + + smiv2:alias "cev12012Sfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.3"; + } + + smiv2:alias "cev12012Csc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.4"; + } + + smiv2:alias "cev12008Sfc8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.5"; + } + + smiv2:alias "cev12008Csc8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.6"; + } + + smiv2:alias "cev12016Sfc16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.7"; + } + + smiv2:alias "cev12016Csc16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.8"; + } + + smiv2:alias "cev12016Sfc16Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.9"; + } + + smiv2:alias "cev12016Csc16Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.10"; + } + + smiv2:alias "cev12010Sfc10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.11"; + } + + smiv2:alias "cev12010Csc10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.12"; + } + + smiv2:alias "cev12406Sfc6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.13"; + } + + smiv2:alias "cev12406Csc6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.14"; + } + + smiv2:alias "cev12410Sfc10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.15"; + } + + smiv2:alias "cev12410Csc10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.16"; + } + + smiv2:alias "cev12404Csc64" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.17"; + } + + smiv2:alias "cev12816Csc16Oc768" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.18"; + } + + smiv2:alias "cev12810Csc10Oc768" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.19"; + } + + smiv2:alias "cev12810Sfc10Oc768" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.20"; + } + + smiv2:alias "cev12816Sfc16Oc768" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.21"; + } + + smiv2:alias "cev12006CscAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.22"; + } + + smiv2:alias "cev12010CscAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.23"; + } + + smiv2:alias "cev12016CscAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.24"; + } + + smiv2:alias "cev12006SfcAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.25"; + } + + smiv2:alias "cev12010SfcAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.26"; + } + + smiv2:alias "cev12016SfcAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.27"; + } + + smiv2:alias "cev12004FabAdvncd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.28"; + } + + smiv2:alias "cev12816Csc16Oc768B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.29"; + } + + smiv2:alias "cev12810Csc10Oc768B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.30"; + } + + smiv2:alias "cevModuleFabricTypeAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.14.45"; + } + + smiv2:alias "cevModuleDaughterCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15"; + } + + smiv2:alias "cevDslamNi2Controller" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.4"; + } + + smiv2:alias "cevWvic2dsuE1DiG703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.5"; + } + + smiv2:alias "cevWvic1dsuE1G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.6"; + } + + smiv2:alias "cevDspmPvdm3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.7"; + } + + smiv2:alias "cevDspmPvdm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.12"; + } + + smiv2:alias "cevDspmPvdm2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.13"; + } + + smiv2:alias "cevDspmPvdm4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.14"; + } + + smiv2:alias "cevDspmPvdm5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.15"; + } + + smiv2:alias "cevHdaEm10fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.17"; + } + + smiv2:alias "cevHdaEm4dsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.18"; + } + + smiv2:alias "cevC7300Nse100Db" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.19"; + } + + smiv2:alias "cevCeScsi2636" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.24"; + } + + smiv2:alias "cevCeIde2636" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.25"; + } + + smiv2:alias "cevVic4vpFxs4Did" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.26"; + } + + smiv2:alias "cevC7300Nse100PlusDb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.27"; + } + + smiv2:alias "cevModuleCat4000DaughterCardType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.28"; + } + + smiv2:alias "cevCat4kDCWsf4531" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.28.1"; + } + + smiv2:alias "cevCat4kDCWsu4504FxMt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.28.2"; + } + + smiv2:alias "cevVwic2Mft1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.29"; + } + + smiv2:alias "cevVwic2Mft1G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.30"; + } + + smiv2:alias "cevVwic2Mft2T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.31"; + } + + smiv2:alias "cevVwic2Mft2G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.32"; + } + + smiv2:alias "cevEcMft32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.33"; + } + + smiv2:alias "cevEcMft64" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.34"; + } + + smiv2:alias "cevEm4Fxs4Fxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.35"; + } + + smiv2:alias "cevEm6Fxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.36"; + } + + smiv2:alias "cevEm4BriNtTe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.37"; + } + + smiv2:alias "cevpvdm2dsphalf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.38"; + } + + smiv2:alias "cevpvdm2dsp4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.39"; + } + + smiv2:alias "cevpvdm2dsp3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.40"; + } + + smiv2:alias "cevpvdm2dsp2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.41"; + } + + smiv2:alias "cevpvdm2dsp1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.42"; + } + + smiv2:alias "cevpvdm2hwecan3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.43"; + } + + smiv2:alias "cevpvdm2hwecan2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.44"; + } + + smiv2:alias "cevpvdm2hwecan1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.45"; + } + + smiv2:alias "cevNetworkProcessor" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.46"; + } + + smiv2:alias "cevVic2Mft1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.47"; + } + + smiv2:alias "cevVic2Mft2T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.48"; + } + + smiv2:alias "cevEm2Hda4Fxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.49"; + } + + smiv2:alias "cevVic1J1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.50"; + } + + smiv2:alias "cevWic1amV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.51"; + } + + smiv2:alias "cevWic2amV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.52"; + } + + smiv2:alias "cevPvdmII12dm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.53"; + } + + smiv2:alias "cevVwic2T1E1Ran" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.59"; + } + + smiv2:alias "cev7300Nse150Db" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.60"; + } + + smiv2:alias "cevVic3Em2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.61"; + } + + smiv2:alias "cevVic3FxsDid2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.62"; + } + + smiv2:alias "cevVic3FxsDid4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.63"; + } + + smiv2:alias "cevHdaEm3FxsDid8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.64"; + } + + smiv2:alias "cev1DOCSIS20CableModemDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.65"; + } + + smiv2:alias "cev1DOCSIS20CableModemDCEJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.66"; + } + + smiv2:alias "cevAsmM2900Top" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.67"; + } + + smiv2:alias "cevVic3FxsEDid2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.68"; + } + + smiv2:alias "cevModuleASR9KLCDb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.69"; + } + + smiv2:alias "cevModemWan3g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.70"; + } + + smiv2:alias "cevModulePVDM3c64" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.73"; + } + + smiv2:alias "cevModulePVDM3c32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.74"; + } + + smiv2:alias "cevModulePVDM3c128" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.75"; + } + + smiv2:alias "cevModulePVDM3c192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.76"; + } + + smiv2:alias "cevModulePVDM3c256" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.77"; + } + + smiv2:alias "cevNM2838" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.78"; + } + + smiv2:alias "cevPANO2838" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.79"; + } + + smiv2:alias "cevVwic3Mft4T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.82"; + } + + smiv2:alias "cevVwic3Mft1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.83"; + } + + smiv2:alias "cevVwic3Mft1G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.84"; + } + + smiv2:alias "cevVwic3Mft2T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.85"; + } + + smiv2:alias "cevVwic3Mft2G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.86"; + } + + smiv2:alias "cevPrp3Smdc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.87"; + } + + smiv2:alias "cevMdcC6880xPfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.89"; + } + + smiv2:alias "cevMdcC6880xlePfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.90"; + } + + smiv2:alias "cevPWic1AmV2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.93"; + } + + smiv2:alias "cevPVwic3Mft1G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.94"; + } + + smiv2:alias "cevPVwic3Mft1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.95"; + } + + smiv2:alias "cevPVwic3Mft2G703" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.96"; + } + + smiv2:alias "cevPVwic3Mft2T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.97"; + } + + smiv2:alias "cevPVwic3Mft4T1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.98"; + } + + smiv2:alias "cevModulePPVDM3c128" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.99"; + } + + smiv2:alias "cevModulePPVDM3c16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.100"; + } + + smiv2:alias "cevModulePPVDM3c192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.101"; + } + + smiv2:alias "cevModulePPVDM3c256" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.102"; + } + + smiv2:alias "cevModulePPVDM3c32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.103"; + } + + smiv2:alias "cevModulePPVDM3c64" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.104"; + } + + smiv2:alias "cevPVic3Em2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.105"; + } + + smiv2:alias "cevPVic3Fxs2Did" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.106"; + } + + smiv2:alias "cevPVic3Fxs4Did" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.15.107"; + } + + smiv2:alias "cevModuleGBICs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16"; + } + + smiv2:alias "cevMGBIC1000BaseLX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.1"; + } + + smiv2:alias "cevMGBIC1000BaseSX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.2"; + } + + smiv2:alias "cevMGBIC1000BaseCX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.3"; + } + + smiv2:alias "cevMGBIC1000BaseLH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.4"; + } + + smiv2:alias "cevMGBIC1000BaseZX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.5"; + } + + smiv2:alias "cevMGBIC1000BaseCXSTACK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.6"; + } + + smiv2:alias "cevMGBIC1000BaseT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.7"; + } + + smiv2:alias "cevMGBICDWDM6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.16"; + } + + smiv2:alias "cevMGBICDWDM5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.17"; + } + + smiv2:alias "cevMGBICDWDM5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.18"; + } + + smiv2:alias "cevMGBICDWDM5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.19"; + } + + smiv2:alias "cevMGBICDWDM5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.20"; + } + + smiv2:alias "cevMGBICDWDM5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.21"; + } + + smiv2:alias "cevMGBICDWDM5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.22"; + } + + smiv2:alias "cevMGBICDWDM5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.23"; + } + + smiv2:alias "cevMGBICDWDM5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.24"; + } + + smiv2:alias "cevMGBICDWDM5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.25"; + } + + smiv2:alias "cevMGBICDWDM5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.26"; + } + + smiv2:alias "cevMGBICDWDM5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.27"; + } + + smiv2:alias "cevMGBICDWDM4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.28"; + } + + smiv2:alias "cevMGBICDWDM4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.29"; + } + + smiv2:alias "cevMGBICDWDM4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.30"; + } + + smiv2:alias "cevMGBICDWDM4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.31"; + } + + smiv2:alias "cevMGBICDWDM4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.32"; + } + + smiv2:alias "cevMGBICDWDM4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.33"; + } + + smiv2:alias "cevMGBICDWDM4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.34"; + } + + smiv2:alias "cevMGBICDWDM4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.35"; + } + + smiv2:alias "cevMGBICDWDM4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.36"; + } + + smiv2:alias "cevMGBICDWDM3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.37"; + } + + smiv2:alias "cevMGBICDWDM3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.38"; + } + + smiv2:alias "cevMGBICDWDM3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.39"; + } + + smiv2:alias "cevMGBICDWDM3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.40"; + } + + smiv2:alias "cevMGBICDWDM3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.41"; + } + + smiv2:alias "cevMGBICDWDM3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.42"; + } + + smiv2:alias "cevMGBICDWDM3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.43"; + } + + smiv2:alias "cevMGBICDWDM3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.44"; + } + + smiv2:alias "cevMGBICDWDM3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.45"; + } + + smiv2:alias "cevMGBICDWDM3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.46"; + } + + smiv2:alias "cevMGBICDWDM3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.47"; + } + + smiv2:alias "cevMGBICXWDMRxOnly" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.48"; + } + + smiv2:alias "cevMGBIC1490BaseBX10D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.49"; + } + + smiv2:alias "cevMGBIC1310BaseBX10U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.50"; + } + + smiv2:alias "cevMGBICDWDM6141" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.51"; + } + + smiv2:alias "cevMGBICDWDM5736" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.52"; + } + + smiv2:alias "cevMGBICDWDM5332" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.53"; + } + + smiv2:alias "cevMGBICDWDM4931" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.54"; + } + + smiv2:alias "cevMGBICDWDM4532" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.55"; + } + + smiv2:alias "cevMGBICDWDM4134" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.56"; + } + + smiv2:alias "cevMGBICDWDM3739" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.57"; + } + + smiv2:alias "cevMGBICDWDM3346" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.16.58"; + } + + smiv2:alias "cevModuleC6xxxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17"; + } + + smiv2:alias "cevC6xxxSlcCap8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.1"; + } + + smiv2:alias "cevC6xxxNtcOc3si" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.2"; + } + + smiv2:alias "cevC6xxxNtcOc3mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.3"; + } + + smiv2:alias "cevC6xxxNtcStm1si" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.4"; + } + + smiv2:alias "cevC6xxxNtcStm1mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.5"; + } + + smiv2:alias "cevC6xxxSlcDmt8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.6"; + } + + smiv2:alias "cevC6xxxSlcDmt16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.7"; + } + + smiv2:alias "cevC6xxxNtcDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.8"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.10"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.11"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.12"; + } + + smiv2:alias "cevC6xxxOsm2Oc12PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.15"; + } + + smiv2:alias "cevC6xxxOsm4Oc12PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.16"; + } + + smiv2:alias "cevC6xxxOsm2Oc12PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.17"; + } + + smiv2:alias "cevC6xxxOsm4Oc12PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.18"; + } + + smiv2:alias "cevC6xxxOsm2Oc12PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.19"; + } + + smiv2:alias "cevC6xxxOsm4Oc12PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.20"; + } + + smiv2:alias "cevC6xxxOsm8Oc3PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.21"; + } + + smiv2:alias "cevC6xxxOsm16Oc3PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.22"; + } + + smiv2:alias "cevC6xxxOsm8Oc3PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.23"; + } + + smiv2:alias "cevC6xxxOsm16Oc3PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.24"; + } + + smiv2:alias "cevC6xxxOsm8Oc3PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.25"; + } + + smiv2:alias "cevC6xxxOsm16Oc3PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.26"; + } + + smiv2:alias "cevC6xxx4GeWanGbic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.27"; + } + + smiv2:alias "cevC6xxxOsm4ge4oc12ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.31"; + } + + smiv2:alias "cevC6xxxOsm4ge8oc12ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.32"; + } + + smiv2:alias "cevC6xxxOsm4geoc48ChDs3SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.33"; + } + + smiv2:alias "ceC6xxxOsm4ge2oc48ChDs3SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.34"; + } + + smiv2:alias "cevC6xxxOsm4geoc48ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.35"; + } + + smiv2:alias "cevC6xxxOsm4ge2oc48ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.36"; + } + + smiv2:alias "cevC6xxxOsm4geoc12ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.37"; + } + + smiv2:alias "cevC6xxxOsm4ge2oc12ChDs3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.38"; + } + + smiv2:alias "cevC6xxxOsm2Oc12AtmMmPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.40"; + } + + smiv2:alias "cevC6xxxOsm2Oc12AtmSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.41"; + } + + smiv2:alias "cevC6xxx4GeWanGbicPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.42"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSsPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.43"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.44"; + } + + smiv2:alias "cevC6xxxOsm1Oc48PosSlPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.45"; + } + + smiv2:alias "cevC6xxxOsm4Oc12PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.46"; + } + + smiv2:alias "cevC6xxxOsm2Oc12PosMmPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.47"; + } + + smiv2:alias "cevC6xxxOsm4Oc3PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.48"; + } + + smiv2:alias "cevC6xxxOsm8Oc3PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.49"; + } + + smiv2:alias "cevC6xxxOsm8Oc3PosSlPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.50"; + } + + smiv2:alias "cevC6xxxOsm16Oc3PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.51"; + } + + smiv2:alias "cevC6xxxOsm12Ct3T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.52"; + } + + smiv2:alias "cevC6xxxCwpa2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.53"; + } + + smiv2:alias "cevC6xxxSIP200" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.54"; + } + + smiv2:alias "cevC6xxxSIP400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.55"; + } + + smiv2:alias "cevC6xxxSIP600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.56"; + } + + smiv2:alias "cevC6xxxOsm2Oc12PosSiPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.57"; + } + + smiv2:alias "cevC6xxxOsm4Oc3PosSi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.58"; + } + + smiv2:alias "cevC6xxxOsm4Oc3PosSl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.59"; + } + + smiv2:alias "cevC6xxxOsm4Oc3PosMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.60"; + } + + smiv2:alias "cevC6xxxOsm24Ct3T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.61"; + } + + smiv2:alias "cevCat6kWsx6600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.62"; + } + + smiv2:alias "cevC6xxxSSC600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.63"; + } + + smiv2:alias "cevC6xxxSSC400" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.64"; + } + + smiv2:alias "cevC6xxxRSP720Base" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.65"; + } + + smiv2:alias "cevC6xxxRSP32GEBase" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.66"; + } + + smiv2:alias "cevC6xxxRSP3210GEBase" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.67"; + } + + smiv2:alias "cevC6xxxRSP720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.68"; + } + + smiv2:alias "cevC6xxxRSP32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.69"; + } + + smiv2:alias "cevC6xxxSIP600DC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.71"; + } + + smiv2:alias "cevC6xxxRSP720MsfcNaboo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.72"; + } + + smiv2:alias "cevC6xxxRSP720PfcGanges" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.73"; + } + + smiv2:alias "cevC6xxxEsm20G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.74"; + } + + smiv2:alias "cevC6xxxEsm20GCpuDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.75"; + } + + smiv2:alias "cevC6xxxEsm20GPfc3CxlDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.76"; + } + + smiv2:alias "cevC6xxxEsm20GPfc3CDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.77"; + } + + smiv2:alias "cevC6xxxEsm20G2x10gDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.78"; + } + + smiv2:alias "cevC6xxxEsm20G20x1gDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.79"; + } + + smiv2:alias "cevC6xxxRSP72010GEBase" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.80"; + } + + smiv2:alias "cevC6xxxEs20C3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.81"; + } + + smiv2:alias "cevC6xxxEs40C3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.82"; + } + + smiv2:alias "cevC6xxxEs20C3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.83"; + } + + smiv2:alias "cevC6xxxEs40C3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.84"; + } + + smiv2:alias "cevC6xxxEs20G3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.85"; + } + + smiv2:alias "cevC6xxxEs2Tg3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.86"; + } + + smiv2:alias "cevC6xxxEs40G3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.87"; + } + + smiv2:alias "cevC6xxxEs4Tg3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.88"; + } + + smiv2:alias "cevC6xxxEs20G3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.89"; + } + + smiv2:alias "cevC6xxxEs2Tg3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.90"; + } + + smiv2:alias "cevC6xxxEs40G3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.91"; + } + + smiv2:alias "cevC6xxxEs4Tg3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.92"; + } + + smiv2:alias "cevC6xxxMsfc4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.93"; + } + + smiv2:alias "cevC6xxxPfc3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.94"; + } + + smiv2:alias "cevC6xxxPfc3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.95"; + } + + smiv2:alias "cevC6xxxEs2Tg20GDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.96"; + } + + smiv2:alias "cevC6xxxEs1Tg10GDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.97"; + } + + smiv2:alias "cevC6xxxEsBase" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.98"; + } + + smiv2:alias "cevC6xxxEsPfc3CxlDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.99"; + } + + smiv2:alias "cevC6xxxEsPfc3CDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.100"; + } + + smiv2:alias "cevC6xxxEs20GDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.101"; + } + + smiv2:alias "cevC6xxxEs2TgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.102"; + } + + smiv2:alias "cevC6xxxEs40GDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.103"; + } + + smiv2:alias "cevC6xxxEs4TgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.104"; + } + + smiv2:alias "cevC6xxxEsItu2TgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.105"; + } + + smiv2:alias "cevC6xxxEsItu4TgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.106"; + } + + smiv2:alias "cevC6xxxEsItu2Tg3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.107"; + } + + smiv2:alias "cevC6xxxEsItu4Tg3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.108"; + } + + smiv2:alias "cevC6xxxEsT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.109"; + } + + smiv2:alias "cevC6xxxEsItu2Tg3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.110"; + } + + smiv2:alias "cevC6xxxEsItu4Tg3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.111"; + } + + smiv2:alias "cevC6xxxEst20gDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.112"; + } + + smiv2:alias "cevC6xxxEst40gDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.113"; + } + + smiv2:alias "cevC6xxxEstItu2tgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.114"; + } + + smiv2:alias "cevC6xxxEstItu4tgDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.115"; + } + + smiv2:alias "cevC6xxxEst20G3Cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.116"; + } + + smiv2:alias "cevC6xxxEst40G3Cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.117"; + } + + smiv2:alias "cevC6xxxEstItu2TG3Cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.118"; + } + + smiv2:alias "cevC6xxxEstItu4TG3Cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.119"; + } + + smiv2:alias "cevC6xxxEsTXc20G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.120"; + } + + smiv2:alias "cevC6xxxEsTXc40G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.121"; + } + + smiv2:alias "cevC6xxxEsT8Tg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.122"; + } + + smiv2:alias "cevC6xxxEsXt8TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.123"; + } + + smiv2:alias "cevC6xxxIA48FPD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.124"; + } + + smiv2:alias "cevC6xxxIA48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.17.125"; + } + + smiv2:alias "cevModuleGsrType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18"; + } + + smiv2:alias "cevGsrOc12Chsts3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.1"; + } + + smiv2:alias "cevGsrOc12Chsts3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.2"; + } + + smiv2:alias "cevGsrQoc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.3"; + } + + smiv2:alias "cevGsrQoc12Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.4"; + } + + smiv2:alias "cevPosOc48SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.5"; + } + + smiv2:alias "cevPosQoc3SmL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.6"; + } + + smiv2:alias "cevPos8oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.7"; + } + + smiv2:alias "cevPos8oc3Ir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.8"; + } + + smiv2:alias "cevPos8oc3Lr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.9"; + } + + smiv2:alias "cevPos16oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.10"; + } + + smiv2:alias "cevPos16oc3Ir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.11"; + } + + smiv2:alias "cevPos16oc3Lr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.12"; + } + + smiv2:alias "cevGsr8feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.13"; + } + + smiv2:alias "cevGsr8feFx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.14"; + } + + smiv2:alias "cevSsrpOc48SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.15"; + } + + smiv2:alias "cevSsrpOc48SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.16"; + } + + smiv2:alias "cevPosQoc12SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.17"; + } + + smiv2:alias "cevPosQoc12MmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.18"; + } + + smiv2:alias "cevPosOc48SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.19"; + } + + smiv2:alias "cevPosOc48SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.20"; + } + + smiv2:alias "cevPosOc48SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.21"; + } + + smiv2:alias "cevSrpOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.22"; + } + + smiv2:alias "cevSrpOc12SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.23"; + } + + smiv2:alias "cevSrpOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.24"; + } + + smiv2:alias "cevPosEnOc48SrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.25"; + } + + smiv2:alias "cevPosEnOc48SrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.26"; + } + + smiv2:alias "cevPosEnOc48LrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.27"; + } + + smiv2:alias "cevPosEnOc48LrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.28"; + } + + smiv2:alias "cevPosEnQoc12Sr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.29"; + } + + smiv2:alias "cevPosEnQoc12Ir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.30"; + } + + smiv2:alias "cevCopper6ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.31"; + } + + smiv2:alias "cevCopper12ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.32"; + } + + smiv2:alias "cevPosOc192SmIrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.33"; + } + + smiv2:alias "cevPosOc192SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.34"; + } + + smiv2:alias "cevPosOc192SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.35"; + } + + smiv2:alias "cevPosOc192SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.36"; + } + + smiv2:alias "cevPos4Oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.37"; + } + + smiv2:alias "cevPos4Oc3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.38"; + } + + smiv2:alias "cevPosOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.39"; + } + + smiv2:alias "cevPosOc12Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.40"; + } + + smiv2:alias "cevAtmOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.41"; + } + + smiv2:alias "cevAtmOc12Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.42"; + } + + smiv2:alias "cevPosOc48MmL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.43"; + } + + smiv2:alias "cevAtm4Oc3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.44"; + } + + smiv2:alias "cevAtm4Oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.45"; + } + + smiv2:alias "cevOc12ChDs3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.46"; + } + + smiv2:alias "cevOc12ChDs3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.47"; + } + + smiv2:alias "cevGsrGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.48"; + } + + smiv2:alias "cevGsr3ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.49"; + } + + smiv2:alias "cevGsrAlarm16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.50"; + } + + smiv2:alias "cevGsrBusBoard16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.51"; + } + + smiv2:alias "cevSrpOc12SmXr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.52"; + } + + smiv2:alias "cevPosEnQoc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.53"; + } + + smiv2:alias "cevPosEnQoc48SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.54"; + } + + smiv2:alias "cevPosEnQoc48SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.55"; + } + + smiv2:alias "cevPosEnQoc48SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.56"; + } + + smiv2:alias "cevPosEnQoc48SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.57"; + } + + smiv2:alias "cevGsr6Ct3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.58"; + } + + smiv2:alias "cevPosEnOc192SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.59"; + } + + smiv2:alias "cevPosEnOc192SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.60"; + } + + smiv2:alias "cevPosEnOc192SmVsrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.61"; + } + + smiv2:alias "cevPosEnOc192SmVsrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.62"; + } + + smiv2:alias "cevGsrQoc12Chstsds3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.66"; + } + + smiv2:alias "cevGsrQoc12Chstsds3MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.67"; + } + + smiv2:alias "cevGsrOc48Chstsds3MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.68"; + } + + smiv2:alias "cevGsrOc48Chstsds3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.69"; + } + + smiv2:alias "cevGsrOc48Chstsds3SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.70"; + } + + smiv2:alias "cevGsr16Oc3Chstsds3MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.71"; + } + + smiv2:alias "cevGsr16Oc3Chstsds3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.72"; + } + + smiv2:alias "cevGsr16Oc3Chstsds3SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.73"; + } + + smiv2:alias "cevGsr2Oc3ChDs1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.74"; + } + + smiv2:alias "cevSsrpOc192SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.75"; + } + + smiv2:alias "cevSsrpOc192SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.76"; + } + + smiv2:alias "cevSsrpOc192SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.77"; + } + + smiv2:alias "cevSsrpOc192SmVsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.78"; + } + + smiv2:alias "cev2Oc12ChDs3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.80"; + } + + smiv2:alias "cevGsrAlarm10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.81"; + } + + smiv2:alias "cevGsrBusBoard10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.82"; + } + + smiv2:alias "cevGsrOc48Chstsds3SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.83"; + } + + smiv2:alias "cevGsrE48PosOc48SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.84"; + } + + smiv2:alias "cevGsrE48PosOc48SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.85"; + } + + smiv2:alias "cevGsrE48PosQoc12SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.86"; + } + + smiv2:alias "cevGsrE48Pos16oc3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.87"; + } + + smiv2:alias "cevCopper6e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.88"; + } + + smiv2:alias "cevCopper12e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.89"; + } + + smiv2:alias "cevGsrE48Pos16oc3SmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.93"; + } + + smiv2:alias "cevGsr16oc3Chstsds3SmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.94"; + } + + smiv2:alias "cevGsrOc12ChDs1SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.95"; + } + + smiv2:alias "cevGsrAlarm6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.96"; + } + + smiv2:alias "cevPosEnQoc48Vsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.97"; + } + + smiv2:alias "cevPosEnQoc48MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.98"; + } + + smiv2:alias "cevPosEnQoc48SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.99"; + } + + smiv2:alias "cevPosEnQoc48SmIrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.100"; + } + + smiv2:alias "cevPosEnQoc48SmVlrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.101"; + } + + smiv2:alias "cevPosEnQoc48SmVlrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.102"; + } + + smiv2:alias "cevPosEnQoc48SmElrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.103"; + } + + smiv2:alias "cevPosEnQoc48SmElrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.104"; + } + + smiv2:alias "cevPosEnOc192Vsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.105"; + } + + smiv2:alias "cevPosEnOc192SmSr2Sc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.106"; + } + + smiv2:alias "cevPosEnOc192SmSr2Fc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.107"; + } + + smiv2:alias "cevPosEnOc192SmVlrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.108"; + } + + smiv2:alias "cevPosEnOc192SmVlrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.109"; + } + + smiv2:alias "cevPosEnOc192SmElrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.110"; + } + + smiv2:alias "cevPosEnOc192SmElrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.111"; + } + + smiv2:alias "cevGsrEn8Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.112"; + } + + smiv2:alias "cevGsr1p10ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.113"; + } + + smiv2:alias "cevGsrE48PosOc48SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.114"; + } + + smiv2:alias "cevGsrEOc192SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.116"; + } + + smiv2:alias "cevGsrEOc192SmVsrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.117"; + } + + smiv2:alias "cevGsrEOc192SmVsrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.118"; + } + + smiv2:alias "cevGsrEOc192SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.119"; + } + + smiv2:alias "cevGsrEOc192SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.120"; + } + + smiv2:alias "cevGsrEOc192SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.121"; + } + + smiv2:alias "cevGsrEQoc48SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.122"; + } + + smiv2:alias "cevGsrEQoc48SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.123"; + } + + smiv2:alias "cevGsrEQoc48SmVsrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.124"; + } + + smiv2:alias "cevGsrEQoc48SmVsrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.125"; + } + + smiv2:alias "cevGsrEQoc48SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.126"; + } + + smiv2:alias "cevGsrEQoc48SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.127"; + } + + smiv2:alias "cevGsrEQoc48Vsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.128"; + } + + smiv2:alias "cevGsrEQoc48SmSr2Sc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.129"; + } + + smiv2:alias "cevGsrEQoc48SmSr2Fc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.130"; + } + + smiv2:alias "cevGsrEQoc48MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.131"; + } + + smiv2:alias "cevGsrEQoc48SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.132"; + } + + smiv2:alias "cevGsrEQoc48SmIrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.133"; + } + + smiv2:alias "cevGsrEQoc48SmVlrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.134"; + } + + smiv2:alias "cevGsrEQoc48SmVlrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.135"; + } + + smiv2:alias "cevGsrEQoc48SmElrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.136"; + } + + smiv2:alias "cevGsrEQoc48SmElrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.137"; + } + + smiv2:alias "cevGsrEOc192Vsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.138"; + } + + smiv2:alias "cevGsrEOc192SmSr2Sc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.139"; + } + + smiv2:alias "cevGsrEOc192SmSr2Fc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.140"; + } + + smiv2:alias "cevGsrEOc192MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.141"; + } + + smiv2:alias "cevGsrEOc192SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.142"; + } + + smiv2:alias "cevGsrEOc192SmIrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.143"; + } + + smiv2:alias "cevGsrEOc192SmVlrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.144"; + } + + smiv2:alias "cevGsrEOc192SmVlrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.145"; + } + + smiv2:alias "cevGsrEOc192SmElrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.146"; + } + + smiv2:alias "cevGsrEOc192SmElrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.147"; + } + + smiv2:alias "cevSsrp2Oc48SrpSmSrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.148"; + } + + smiv2:alias "cevSsrp2Oc48SrpSmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.149"; + } + + smiv2:alias "cevSsrp2Oc48SrpSmLrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.150"; + } + + smiv2:alias "cevSsrp2Oc48PosSmSrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.151"; + } + + smiv2:alias "cevSsrp2Oc48PosSmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.152"; + } + + smiv2:alias "cevSsrp2Oc48PosSmLrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.153"; + } + + smiv2:alias "cevGsrE48PosQoc12MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.155"; + } + + smiv2:alias "cevGsrGeFe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.156"; + } + + smiv2:alias "cevGsrE48Atm4oc12SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.157"; + } + + smiv2:alias "cevGsrE48Atm4oc12MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.158"; + } + + smiv2:alias "cevGsrE48Atm4oc3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.159"; + } + + smiv2:alias "cevGsrE48Atm4oc3MmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.160"; + } + + smiv2:alias "cevGsrE48Pos4oc3SmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.162"; + } + + smiv2:alias "cevGsrE48Pos8oc3SmIrLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.166"; + } + + smiv2:alias "cevSsrp2Oc12E48SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.167"; + } + + smiv2:alias "cevSsrp2Oc12E48SmXr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.168"; + } + + smiv2:alias "cevSsrp1Oc12E48SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.169"; + } + + smiv2:alias "cevSsrp1Oc12E48SmXr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.170"; + } + + smiv2:alias "cevGsrSIP600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.171"; + } + + smiv2:alias "cevGsr4pge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.173"; + } + + smiv2:alias "cevGsrAtmEn8Oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.174"; + } + + smiv2:alias "cevGsr2Oc192Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.175"; + } + + smiv2:alias "cevGsr8Oc48Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.176"; + } + + smiv2:alias "cevGsrOc48Msr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.177"; + } + + smiv2:alias "cevPosE2Oc192Vsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.178"; + } + + smiv2:alias "cevPosE2Oc192SmSr2Sc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.179"; + } + + smiv2:alias "cevPosE2Oc192SmSr2Fc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.180"; + } + + smiv2:alias "cevPosE2Oc192SmSrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.181"; + } + + smiv2:alias "cevPosE2Oc192SmSrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.182"; + } + + smiv2:alias "cevPosE2Oc192SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.183"; + } + + smiv2:alias "cevPosE2Oc192SmIrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.184"; + } + + smiv2:alias "cevPosE2Oc192SmLrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.185"; + } + + smiv2:alias "cevPosE2Oc192SmLrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.186"; + } + + smiv2:alias "cevPosE2Oc192SmVlrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.187"; + } + + smiv2:alias "cevPosE2Oc192SmVlrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.188"; + } + + smiv2:alias "cevPosE2Oc192SmElrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.189"; + } + + smiv2:alias "cevPosE2Oc192SmElrFc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.190"; + } + + smiv2:alias "cevGsr6Ds3e3Smb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.191"; + } + + smiv2:alias "cevGsr6Ds3e3Ct3Smb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.192"; + } + + smiv2:alias "cevGsr2Oc3Chds1ds3e3SmIrSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.193"; + } + + smiv2:alias "cevGsrService" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.194"; + } + + smiv2:alias "cevGsrSIP601" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.195"; + } + + smiv2:alias "cevGsrSIP501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.196"; + } + + smiv2:alias "cevGsrSIP401" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.197"; + } + + smiv2:alias "cevGsrSsrp2Oc48Lc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.198"; + } + + smiv2:alias "cevGsrE384Cec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.18.200"; + } + + smiv2:alias "cevModuleRpmType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.19"; + } + + smiv2:alias "cevAtmdxRpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.19.1"; + } + + smiv2:alias "cevModuleCat8500Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20"; + } + + smiv2:alias "cevCat8500CpuSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.1"; + } + + smiv2:alias "cevCat8500FeatureFpga" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.2"; + } + + smiv2:alias "cevCat8500FeatureAsic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.3"; + } + + smiv2:alias "cevCat8500FeaturePVC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.4"; + } + + smiv2:alias "cevCat8500FeUTP8p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.5"; + } + + smiv2:alias "cevCat8500FeUTP8p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.6"; + } + + smiv2:alias "cevCat8500FeMMF8p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.7"; + } + + smiv2:alias "cevCat8500FeMMF8p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.8"; + } + + smiv2:alias "cevCat8500FeUTP16p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.9"; + } + + smiv2:alias "cevCat8500FeUTP16p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.10"; + } + + smiv2:alias "cevCat8500FeMMF16p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.11"; + } + + smiv2:alias "cevCat8500FeMMF16p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.12"; + } + + smiv2:alias "cevCat8500GeF1p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.13"; + } + + smiv2:alias "cevCat8500GeF1p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.14"; + } + + smiv2:alias "cevCat8500GeF2p16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.15"; + } + + smiv2:alias "cevCat8500GeF2p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.16"; + } + + smiv2:alias "cevCat8500FeBridge4p" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.17"; + } + + smiv2:alias "cevCat8500RouteProc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.18"; + } + + smiv2:alias "cevCat8500Switch10GProc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.19"; + } + + smiv2:alias "cevCat8500FeatureNetClock" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.20"; + } + + smiv2:alias "cevCat8500FeatureABR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.21"; + } + + smiv2:alias "cevCat8500FeatureLite" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.22"; + } + + smiv2:alias "cevCat8500m16pOC3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.23"; + } + + smiv2:alias "cevCat8500m16pOC3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.24"; + } + + smiv2:alias "cevCat8500m4pOC12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.25"; + } + + smiv2:alias "cevCat8500m4pOC12Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.26"; + } + + smiv2:alias "cevCat8500m4pOC3Utp5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.27"; + } + + smiv2:alias "cevCat8500m4pOC3Mixed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.28"; + } + + smiv2:alias "cevCat8500m4pOC3Sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.29"; + } + + smiv2:alias "cevCat8500m4pOC3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.30"; + } + + smiv2:alias "cevCat8500mATM25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.31"; + } + + smiv2:alias "cevCat8500m4pE3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.32"; + } + + smiv2:alias "cevCat8500m4pDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.33"; + } + + smiv2:alias "cevCat8500mCbr75E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.34"; + } + + smiv2:alias "cevCat8500mCbr120E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.35"; + } + + smiv2:alias "cevCat8500mCbrT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.36"; + } + + smiv2:alias "cevCat8500mE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.37"; + } + + smiv2:alias "cevCat8500mT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.38"; + } + + smiv2:alias "cevCat8500mE1Bnc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.39"; + } + + smiv2:alias "cevCat8500mE3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.40"; + } + + smiv2:alias "cevCat8500mDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.41"; + } + + smiv2:alias "cevCat8500m4pFrCE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.42"; + } + + smiv2:alias "cevCat8500m1pFrCT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.43"; + } + + smiv2:alias "cevCat8500GeF8p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.44"; + } + + smiv2:alias "cevCat8500mArm1p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.45"; + } + + smiv2:alias "cevCat8500mArm2p64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.46"; + } + + smiv2:alias "cevCat8500mOC48c1pSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.47"; + } + + smiv2:alias "cevCat8500mIma8pT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.48"; + } + + smiv2:alias "cevCat8500mIma8pE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.49"; + } + + smiv2:alias "cevCat8500mATM25m4p" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.50"; + } + + smiv2:alias "cevCat8500mOC121pMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.51"; + } + + smiv2:alias "cevCat8500mOC121pSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.52"; + } + + smiv2:alias "cevCat8500m1pOC12Mixed" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.53"; + } + + smiv2:alias "cevCat8500mFimBridge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.54"; + } + + smiv2:alias "cevCat8500mFimOC12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.55"; + } + + smiv2:alias "cevCat8500Ge1pXpif16k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.56"; + } + + smiv2:alias "cevCat8500Ge1pXpif64k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.57"; + } + + smiv2:alias "cevCat8500Ge1pXpif256k" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.58"; + } + + smiv2:alias "cevCat8500Atm1pXpif64kOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.59"; + } + + smiv2:alias "cevCat8500Atm1pXpif256kOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.60"; + } + + smiv2:alias "cevCat8500Atm1pXpif64kOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.61"; + } + + smiv2:alias "cevCat8500Atm1pXpif256kOc12Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.62"; + } + + smiv2:alias "cevCat8500Atm1pXpif64kOc3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.63"; + } + + smiv2:alias "cevCat8500Atm1pXpif256kOc3SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.64"; + } + + smiv2:alias "cevCat8500Atm1pXpif64kOc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.65"; + } + + smiv2:alias "cevCat8500Atm1pXpif256kOc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.66"; + } + + smiv2:alias "cevCat8500Pos1pXpif64kOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.67"; + } + + smiv2:alias "cevCat8500Pos1pXpif256kOc12SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.68"; + } + + smiv2:alias "cevCat8500Pos1pXpif64kOc12SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.69"; + } + + smiv2:alias "cevCat8500Pos1pXpif256kOc12SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.20.70"; + } + + smiv2:alias "cevModuleWASCommonCards" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21"; + } + + smiv2:alias "cevAusm8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.1"; + } + + smiv2:alias "cevAusm8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.2"; + } + + smiv2:alias "cevCesm8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.3"; + } + + smiv2:alias "cevCesm8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.4"; + } + + smiv2:alias "cevFrsm8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.5"; + } + + smiv2:alias "cevFrsm8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.6"; + } + + smiv2:alias "cevFrsm4x21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.7"; + } + + smiv2:alias "cevFrsm2hssi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.8"; + } + + smiv2:alias "cevAxsm1Oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.9"; + } + + smiv2:alias "cevAxsm4Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.10"; + } + + smiv2:alias "cevAxsm8Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.11"; + } + + smiv2:alias "cevAxsm16Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.12"; + } + + smiv2:alias "cevAxsm16T3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.13"; + } + + smiv2:alias "cevCesm1t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.14"; + } + + smiv2:alias "cevCesm1e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.15"; + } + + smiv2:alias "cevVism8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.16"; + } + + smiv2:alias "cevVism8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.17"; + } + + smiv2:alias "cevMGXRpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.18"; + } + + smiv2:alias "cevMGXSrm3t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.19"; + } + + smiv2:alias "cevEnhAxsm1oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.20"; + } + + smiv2:alias "cevEnhAxsm2oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.21"; + } + + smiv2:alias "cevEnhAxsm4oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.22"; + } + + smiv2:alias "cevEnhAxsm8oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.23"; + } + + smiv2:alias "cevEnhAxsm4stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.24"; + } + + smiv2:alias "cevEnhAxsm8stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.25"; + } + + smiv2:alias "cevEnhAxsm8t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.26"; + } + + smiv2:alias "cevEnhAxsm16t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.27"; + } + + smiv2:alias "cevEnhAxsm8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.28"; + } + + smiv2:alias "cevEnhAxsm16t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.29"; + } + + smiv2:alias "cevEnhAxsm8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.30"; + } + + smiv2:alias "cevEnhAxsm16e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.31"; + } + + smiv2:alias "cevAxsm2oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.32"; + } + + smiv2:alias "cevMGXRpmPr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.34"; + } + + smiv2:alias "cevFrsm4V35" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.38"; + } + + smiv2:alias "cevFrsm2Ct3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.39"; + } + + smiv2:alias "cevFrsm2t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.40"; + } + + smiv2:alias "cevFrsm2e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.41"; + } + + smiv2:alias "cevAusmB8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.42"; + } + + smiv2:alias "cevAusmB8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.43"; + } + + smiv2:alias "cevVixm4oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.45"; + } + + smiv2:alias "cevVixm16oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.46"; + } + + smiv2:alias "cevCesmB8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.49"; + } + + smiv2:alias "cevCesmB8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.50"; + } + + smiv2:alias "cevFrsmC8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.51"; + } + + smiv2:alias "cevFrsmC8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.52"; + } + + smiv2:alias "cevFrsmB2hssi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.53"; + } + + smiv2:alias "cevFrsmB12In1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.54"; + } + + smiv2:alias "cevHsfr12t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.55"; + } + + smiv2:alias "cevHsfr12e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.56"; + } + + smiv2:alias "cevFrsm12t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.57"; + } + + smiv2:alias "cevFrsm12e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.58"; + } + + smiv2:alias "cevFrsmB2T3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.59"; + } + + smiv2:alias "cevMgxSrme1Sts3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.60"; + } + + smiv2:alias "cevMgxSrm3t3NoBc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.61"; + } + + smiv2:alias "cevMgxSrmeNoBc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.62"; + } + + smiv2:alias "cevAxsmEn16t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.63"; + } + + smiv2:alias "cevAxsmEn32t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.64"; + } + + smiv2:alias "cevFrsmB2e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.66"; + } + + smiv2:alias "cevVismPr8t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.70"; + } + + smiv2:alias "cevVismPr8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.71"; + } + + smiv2:alias "cevMGXSrmE1Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.72"; + } + + smiv2:alias "cevAxsm2Oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.73"; + } + + smiv2:alias "cevAxsm8Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.74"; + } + + smiv2:alias "cevVxsm4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.81"; + } + + smiv2:alias "cevMGXSrm4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.82"; + } + + smiv2:alias "cevMpsm8t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.87"; + } + + smiv2:alias "cevMpsm8t1Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.88"; + } + + smiv2:alias "cevMpsm8t1Fr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.89"; + } + + smiv2:alias "cevMpsm8t1Ces" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.90"; + } + + smiv2:alias "cevMpsm8e1Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.91"; + } + + smiv2:alias "cevMpsm8e1Fr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.92"; + } + + smiv2:alias "cevMpsm8e1Ces" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.93"; + } + + smiv2:alias "cevMpsm16t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.94"; + } + + smiv2:alias "cevMpsm16t1Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.95"; + } + + smiv2:alias "cevMpsm16t1Fr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.96"; + } + + smiv2:alias "cevMpsm16t1Ces" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.97"; + } + + smiv2:alias "cevMpsm16e1Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.98"; + } + + smiv2:alias "cevMpsm16e1Fr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.99"; + } + + smiv2:alias "cevMpsm16e1Ces" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.100"; + } + + smiv2:alias "cevMpsm155t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.101"; + } + + smiv2:alias "cevMGXSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.102"; + } + + smiv2:alias "cevVxsm48t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.103"; + } + + smiv2:alias "cevVxsm3T3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.104"; + } + + smiv2:alias "cevVxsm6t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.105"; + } + + smiv2:alias "cevVxsm6t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.106"; + } + + smiv2:alias "cevMpsm16t1e1Ppp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.107"; + } + + smiv2:alias "cevMpsm155t3e3Ppp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.21.108"; + } + + smiv2:alias "cevModule38xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22"; + } + + smiv2:alias "cevMc3810Vcm3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.1"; + } + + smiv2:alias "cevMc3810Bvm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.2"; + } + + smiv2:alias "cevMc3810AvmFxoUk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.3"; + } + + smiv2:alias "cevMc3810AvmFxoGer" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.4"; + } + + smiv2:alias "cevMc3810Hcm2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.5"; + } + + smiv2:alias "cevMc3810Hcm6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.6"; + } + + smiv2:alias "cevMc3810AvmFxoPr3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.7"; + } + + smiv2:alias "cevMc3810AvmFxoPr2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.8"; + } + + smiv2:alias "cevMc3810Vdm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.9"; + } + + smiv2:alias "cevMc3810ApmFxsDid" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.10"; + } + + smiv2:alias "cevMc3810BvmNtTe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.11"; + } + + smiv2:alias "cevMc3810Hcm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.12"; + } + + smiv2:alias "cevMc3810Hcm3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.13"; + } + + smiv2:alias "cevMc3810Hcm4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.14"; + } + + smiv2:alias "cevMc3810Hcm5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.15"; + } + + smiv2:alias "cevSmSre710K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.17"; + } + + smiv2:alias "cevSmSre910K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.18"; + } + + smiv2:alias "cevPSmSre710K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.19"; + } + + smiv2:alias "cevPSmSre910K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.22.20"; + } + + smiv2:alias "cevModuleCat29xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23"; + } + + smiv2:alias "cevX2914" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.1"; + } + + smiv2:alias "cevX2922" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.2"; + } + + smiv2:alias "cevX2914V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.3"; + } + + smiv2:alias "cevX2922V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.4"; + } + + smiv2:alias "cevX2924V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.5"; + } + + smiv2:alias "cevX2951" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.6"; + } + + smiv2:alias "cevX2961" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.7"; + } + + smiv2:alias "cevX2971" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.8"; + } + + smiv2:alias "cevX2972" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.9"; + } + + smiv2:alias "cevX2931" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.10"; + } + + smiv2:alias "cevModuleCat297024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.12"; + } + + smiv2:alias "cevModuleCat297024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.13"; + } + + smiv2:alias "cevModuleCat297048TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.14"; + } + + smiv2:alias "cevModuleCat296024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.15"; + } + + smiv2:alias "cevModuleCat296048" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.16"; + } + + smiv2:alias "cevModuleCat2960G24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.17"; + } + + smiv2:alias "cevModuleCat2960G48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.18"; + } + + smiv2:alias "cevModuleCat296024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.19"; + } + + smiv2:alias "cevModuleCat296048TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.20"; + } + + smiv2:alias "cevModuleCat29608TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.21"; + } + + smiv2:alias "cevModuleCat2960G8TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.22"; + } + + smiv2:alias "cevModuleCat296048TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.23"; + } + + smiv2:alias "cevModuleCat296024TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.24"; + } + + smiv2:alias "cevModuleCat296024S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.25"; + } + + smiv2:alias "cevModuleCat296024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.26"; + } + + smiv2:alias "cevModuleCat296024LT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.27"; + } + + smiv2:alias "cevModuleCat2960PD8TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.28"; + } + + smiv2:alias "cevModuleCat291824TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.29"; + } + + smiv2:alias "cevModuleCat291824TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.30"; + } + + smiv2:alias "cevModuleCat291848TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.31"; + } + + smiv2:alias "cevModuleCat291848TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.32"; + } + + smiv2:alias "cevModuleCat296048TTS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.33"; + } + + smiv2:alias "cevModuleCat29608TCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.34"; + } + + smiv2:alias "cevModuleCat296048PSTL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.35"; + } + + smiv2:alias "cevModuleCat296024LCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.36"; + } + + smiv2:alias "cevModuleCat296024PCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.37"; + } + + smiv2:alias "cevModuleCat296048PSTS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.38"; + } + + smiv2:alias "cevModuleWsC2960s48tsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.39"; + } + + smiv2:alias "cevModuleWsC2960s24tsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.40"; + } + + smiv2:alias "cevModuleWsC2960s48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.41"; + } + + smiv2:alias "cevModuleWsC2960s48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.42"; + } + + smiv2:alias "cevModuleWsC2960s48tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.43"; + } + + smiv2:alias "cevModuleWsC2960s24pdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.44"; + } + + smiv2:alias "cevModuleWsC2960s24tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.45"; + } + + smiv2:alias "cevModuleWsC2960s48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.46"; + } + + smiv2:alias "cevModuleWsC2960s48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.47"; + } + + smiv2:alias "cevModuleWsC2960s24psL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.48"; + } + + smiv2:alias "cevModuleWsC2960s48tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.49"; + } + + smiv2:alias "cevModuleWsC2960S24tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.50"; + } + + smiv2:alias "cevModuleCat2960cPD8TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.51"; + } + + smiv2:alias "cevModuleCat2960cG8TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.53"; + } + + smiv2:alias "cevModuleCat292824TCC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.54"; + } + + smiv2:alias "cevModuleCat292824LTC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.55"; + } + + smiv2:alias "cevModuleCat292848TCC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.56"; + } + + smiv2:alias "cevModuleWsC2960C8tcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.57"; + } + + smiv2:alias "cevModuleWsC2960C8tcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.58"; + } + + smiv2:alias "cevModuleWsC2960C8pcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.59"; + } + + smiv2:alias "cevModuleWsC2960C12pcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.60"; + } + + smiv2:alias "cevModuleWsC2960x48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.68"; + } + + smiv2:alias "cevModuleWsC2960x48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.69"; + } + + smiv2:alias "cevModuleWsC2960x48tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.70"; + } + + smiv2:alias "cevModuleWsC2960x24pdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.71"; + } + + smiv2:alias "cevModuleWsC2960x24tdL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.72"; + } + + smiv2:alias "cevModuleWsC2960x48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.73"; + } + + smiv2:alias "cevModuleWsC2960x48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.74"; + } + + smiv2:alias "cevModuleWsC2960x24psL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.75"; + } + + smiv2:alias "cevModuleWsC2960x48tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.76"; + } + + smiv2:alias "cevModuleWsC2960x24tsL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.77"; + } + + smiv2:alias "cevModuleWsC2960x24psqL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.78"; + } + + smiv2:alias "cevModuleWsC2960x48lpsS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.79"; + } + + smiv2:alias "cevModuleWsC2960x24psS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.80"; + } + + smiv2:alias "cevModuleWsC2960x48tsLL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.81"; + } + + smiv2:alias "cevModuleWsC2960x24tsLL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.82"; + } + + smiv2:alias "cevModuleC2960XStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.83"; + } + + smiv2:alias "cevModuleC2960XFex" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.84"; + } + + smiv2:alias "cevModuleC2960XFexStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.85"; + } + + smiv2:alias "cevModuleWsC2960P48PstL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.86"; + } + + smiv2:alias "cevModuleWsC2960P24PcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.87"; + } + + smiv2:alias "cevModuleWsC2960P24LcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.88"; + } + + smiv2:alias "cevModuleWsC2960P48TcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.89"; + } + + smiv2:alias "cevModuleWsC2960P24TcL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.90"; + } + + smiv2:alias "cevModuleWsC2960P48PstS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.91"; + } + + smiv2:alias "cevModuleWsC2960P24PcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.92"; + } + + smiv2:alias "cevModuleWsC2960P24LcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.93"; + } + + smiv2:alias "cevModuleWsC2960P48TcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.94"; + } + + smiv2:alias "cevModuleWsC2960P24TcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.23.95"; + } + + smiv2:alias "cevModuleOscillatorType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.24"; + } + + smiv2:alias "cevStratum3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.24.1"; + } + + smiv2:alias "cevStratum4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.24.2"; + } + + smiv2:alias "cevModuleDslamType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25"; + } + + smiv2:alias "cevNi2WanOc3mmSubOc3mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.1"; + } + + smiv2:alias "cevNi2WanDs3Sub2Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.2"; + } + + smiv2:alias "cevAtuc1p2Cap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.3"; + } + + smiv2:alias "cevAtuc1p2Dmt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.4"; + } + + smiv2:alias "cevAtuc1p4Dmt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.5"; + } + + smiv2:alias "cevLim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.6"; + } + + smiv2:alias "cevNi2WanOc3smSubOc3sm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.7"; + } + + smiv2:alias "cevNi2WanE3Sub2E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.8"; + } + + smiv2:alias "cevNi2WanDs3Sub8Ds1Ima" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.9"; + } + + smiv2:alias "cevAtuc1p4Cap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.10"; + } + + smiv2:alias "cevStuc1p4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.11"; + } + + smiv2:alias "cevAtuc1p4FlexiDmt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.13"; + } + + smiv2:alias "cevAtuc1p4FlexiCap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.14"; + } + + smiv2:alias "cevAtuc1p4Flexi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.15"; + } + + smiv2:alias "cevAtuc1p4DmtIsdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.16"; + } + + smiv2:alias "cevNi2WanOc3smSub2Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.17"; + } + + smiv2:alias "cevNi2WanOc3mmSub2Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.18"; + } + + smiv2:alias "cevAtuc1p8DmtItemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.21"; + } + + smiv2:alias "cevStuc1p8Itemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.22"; + } + + smiv2:alias "cevNi2WanDs3Sub2Ds3Rev2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.35"; + } + + smiv2:alias "cevNi2WanOc3smSubOc3smRev2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.36"; + } + + smiv2:alias "cevNi2WanOc3mmSubOc3mmRev2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.37"; + } + + smiv2:alias "cevNi2WanOc3smSub2Ds3Rev2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.38"; + } + + smiv2:alias "cevNi2WanOc3mmSub2Ds3Rev2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.39"; + } + + smiv2:alias "cevNi2WanOc3smSubOc3smItemp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.40"; + } + + smiv2:alias "cevIo6100DS3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.43"; + } + + smiv2:alias "cevIo6160DS3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.44"; + } + + smiv2:alias "cevIo6260OC3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.45"; + } + + smiv2:alias "cevIo6260Ds3T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.25.46"; + } + + smiv2:alias "cevModuleWASBackCards" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26"; + } + + smiv2:alias "cevLmBnc2t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.1"; + } + + smiv2:alias "cevLmBnc2e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.2"; + } + + smiv2:alias "cevLmDb154x21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.3"; + } + + smiv2:alias "cevLmScsi22hssi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.4"; + } + + smiv2:alias "cevLmRj488t1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.5"; + } + + smiv2:alias "cevLmRj488t1R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.6"; + } + + smiv2:alias "cevLmRj488e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.7"; + } + + smiv2:alias "cevLmRj488e1R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.8"; + } + + smiv2:alias "cevLmSmb8e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.9"; + } + + smiv2:alias "cevLmSmb8e1R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.10"; + } + + smiv2:alias "cevLmPsmUI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.11"; + } + + smiv2:alias "cevLmMmf4oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.12"; + } + + smiv2:alias "cevLmSmfIr4oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.13"; + } + + smiv2:alias "cevLmSmfLr4oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.14"; + } + + smiv2:alias "cevLmSmfIr1oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.15"; + } + + smiv2:alias "cevLmSmfLr1oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.16"; + } + + smiv2:alias "cevLmS3Ui" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.17"; + } + + smiv2:alias "cevLm1feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.18"; + } + + smiv2:alias "cevLm1feFx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.19"; + } + + smiv2:alias "cevLm1mmfFddi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.20"; + } + + smiv2:alias "cevLm1smfFddi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.21"; + } + + smiv2:alias "cevLmRj454e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.22"; + } + + smiv2:alias "cevLmMmf8oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.23"; + } + + smiv2:alias "cevLmSmfIr8oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.24"; + } + + smiv2:alias "cevLmSmfLr8oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.25"; + } + + smiv2:alias "cevLmSmfIr1oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.26"; + } + + smiv2:alias "cevLmSmfLr1oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.27"; + } + + smiv2:alias "cevLmPsmHD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.28"; + } + + smiv2:alias "cevLmSmb8t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.29"; + } + + smiv2:alias "cevLmSmb8e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.30"; + } + + smiv2:alias "cevLmSmb4stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.31"; + } + + smiv2:alias "cevLmSmfIr2oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.32"; + } + + smiv2:alias "cevLmSmfLr2oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.33"; + } + + smiv2:alias "cevLmSmfSr1oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.34"; + } + + smiv2:alias "cevLmSmfXlr1oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.35"; + } + + smiv2:alias "cevLmBnc3t3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.36"; + } + + smiv2:alias "cevLmSmfIr1Oc48B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.37"; + } + + smiv2:alias "cevLmSmfLr1Oc48B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.38"; + } + + smiv2:alias "cevLmSmfSr1Oc48B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.39"; + } + + smiv2:alias "cevLmSmfIr2Oc12B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.40"; + } + + smiv2:alias "cevLmSmfLr2Oc12B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.41"; + } + + smiv2:alias "cevLmSmfIr1Oc12C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.42"; + } + + smiv2:alias "cevLmSmfLr1Oc12C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.43"; + } + + smiv2:alias "cevLmMmf4Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.44"; + } + + smiv2:alias "cevLmSmfIr4Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.45"; + } + + smiv2:alias "cevLmSmfLr4Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.46"; + } + + smiv2:alias "cevLmSmfXlr1Oc48B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.51"; + } + + smiv2:alias "cevLm1feTxcp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.55"; + } + + smiv2:alias "cevLmSmfIr8Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.58"; + } + + smiv2:alias "cevLmSmfLr8Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.59"; + } + + smiv2:alias "cevLmMmf8Oc3C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.60"; + } + + smiv2:alias "cevLmSmfIr1Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.61"; + } + + smiv2:alias "cevLmSmfLr1Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.62"; + } + + smiv2:alias "cevLmSmb1Stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.63"; + } + + smiv2:alias "cevLmScsi2B2hssi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.64"; + } + + smiv2:alias "cevLm12In18s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.65"; + } + + smiv2:alias "cevLmSmb6e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.66"; + } + + smiv2:alias "cevLmComboT3E3Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.67"; + } + + smiv2:alias "cevLmRj488t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.68"; + } + + smiv2:alias "cevLmMcc16e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.69"; + } + + smiv2:alias "cevLmRj4816t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.70"; + } + + smiv2:alias "cevLmSmfIr2Oc12c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.71"; + } + + smiv2:alias "cevLmSmfLr2Oc12c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.72"; + } + + smiv2:alias "cevLmSmb8Stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.82"; + } + + smiv2:alias "cevLmSmf8Oc3Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.83"; + } + + smiv2:alias "cevLmRbbn16t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.84"; + } + + smiv2:alias "cevLmSmfSr1Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.85"; + } + + smiv2:alias "cevLmSmfIr1Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.86"; + } + + smiv2:alias "cevLmSmfLr1Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.87"; + } + + smiv2:alias "cevLmSmfXlr1Oc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.88"; + } + + smiv2:alias "cevLmMcc8oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.89"; + } + + smiv2:alias "cevLmRbbn16t1e11N" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.92"; + } + + smiv2:alias "cevLmMcc16e11N" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.93"; + } + + smiv2:alias "cevLmRed16t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.94"; + } + + smiv2:alias "cevLmSfp2Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.95"; + } + + smiv2:alias "cevLmSmb2Oc3EL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.96"; + } + + smiv2:alias "cevLmBnc3t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.97"; + } + + smiv2:alias "cevLmRed2Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.98"; + } + + smiv2:alias "cevLmRed3t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.99"; + } + + smiv2:alias "cevLmSmf4Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.100"; + } + + smiv2:alias "cevLmChamp24t1e1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.101"; + } + + smiv2:alias "cevLmSmb3t3e3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.102"; + } + + smiv2:alias "cevLmVxsmSmfIr4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.103"; + } + + smiv2:alias "cevLmVxsmSmfLr4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.104"; + } + + smiv2:alias "cevLmVxsm4Oc3R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.105"; + } + + smiv2:alias "cevLmVxsmMmf4Oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.106"; + } + + smiv2:alias "cevLm4V35" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.107"; + } + + smiv2:alias "cevLm4X21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.108"; + } + + smiv2:alias "cevLmMgxXfUIB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.109"; + } + + smiv2:alias "cevLm5efegeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.110"; + } + + smiv2:alias "cevLmPsmHDV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.26.111"; + } + + smiv2:alias "cevModuleUbrType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27"; + } + + smiv2:alias "cevUbrMc16s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.2"; + } + + smiv2:alias "cevUbrMc11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.3"; + } + + smiv2:alias "cevUbrMc11c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.4"; + } + + smiv2:alias "cevUbrMc12c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.5"; + } + + smiv2:alias "cevUbrMc14c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.6"; + } + + smiv2:alias "cevUbrMc16a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.7"; + } + + smiv2:alias "cevUbrMc16b" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.8"; + } + + smiv2:alias "cevUbrMc16c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.9"; + } + + smiv2:alias "cevUbrMc16e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.10"; + } + + smiv2:alias "cevUbrMc28c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.11"; + } + + smiv2:alias "cevUbrMc26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.12"; + } + + smiv2:alias "cevUbr912C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.13"; + } + + smiv2:alias "cevUbr912S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.14"; + } + + smiv2:alias "cevUbr914R" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.15"; + } + + smiv2:alias "cevUbrClk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.16"; + } + + smiv2:alias "cevUbr925" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.17"; + } + + smiv2:alias "cevUbrMc26c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.18"; + } + + smiv2:alias "cevUbrMc28cf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.21"; + } + + smiv2:alias "cevUbrMc28cBnc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.22"; + } + + smiv2:alias "cevUbrMc26cf" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.23"; + } + + smiv2:alias "cevUbrMc26cBnc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.24"; + } + + smiv2:alias "cevUbrDlc24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.26"; + } + + smiv2:alias "cevUbrMc28j" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.33"; + } + + smiv2:alias "cevUbrMc28u" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.34"; + } + + smiv2:alias "cevUbrMc16u" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.35"; + } + + smiv2:alias "cevUbrMc28x" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.36"; + } + + smiv2:alias "cevUbrMc16x" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.37"; + } + + smiv2:alias "cevUbrMc520uD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.38"; + } + + smiv2:alias "cevUbrMc520uF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.39"; + } + + smiv2:alias "cevUbrTccPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.41"; + } + + smiv2:alias "cevUbrMc16uE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.42"; + } + + smiv2:alias "cevUbrMc28uE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.43"; + } + + smiv2:alias "cevUbrDtcc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.44"; + } + + smiv2:alias "cevUbrMc88v" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.46"; + } + + smiv2:alias "cevUbrmc2020" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.47"; + } + + smiv2:alias "cevUbrMc3g60Mha" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.27.48"; + } + + smiv2:alias "cevModuleCmccType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28"; + } + + smiv2:alias "cevCmccCip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28.1"; + } + + smiv2:alias "cevCmccCip2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28.2"; + } + + smiv2:alias "cevCmccPa1ec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28.3"; + } + + smiv2:alias "cevCmccPa1pc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28.4"; + } + + smiv2:alias "cevCmccPa1ec4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.28.5"; + } + + smiv2:alias "cevModuleCat6000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29"; + } + + smiv2:alias "cevCat6kWsxSup12ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.2"; + } + + smiv2:alias "cevCat6kWsx6408Gbic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.3"; + } + + smiv2:alias "cevCat6kWsx6224Fx100Mt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.4"; + } + + smiv2:alias "cevCat6kWsx6248Rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.5"; + } + + smiv2:alias "cevCat6kWsx6248Tel" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.6"; + } + + smiv2:alias "cevCat6kWsx6302Msm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.7"; + } + + smiv2:alias "cevCat6kWsx6024Mtrj" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.9"; + } + + smiv2:alias "cevCat6kMsfc2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.10"; + } + + smiv2:alias "cevCat6kWsx6316GeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.11"; + } + + smiv2:alias "cevCat6kWsx6416Gbic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.12"; + } + + smiv2:alias "cevCat6kWsx6324100Fx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.13"; + } + + smiv2:alias "cevCat6kWsx6348Rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.14"; + } + + smiv2:alias "cevCat6kWsx650210ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.15"; + } + + smiv2:alias "cevCat6kWsx6066SlbApc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.16"; + } + + smiv2:alias "cevCat6kWsx6548Rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.18"; + } + + smiv2:alias "cevCat6kWsx6248aTel" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.19"; + } + + smiv2:alias "cevCat6kWsxSup22ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.20"; + } + + smiv2:alias "cevCat6kWsc6500SFM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.21"; + } + + smiv2:alias "cevCat6kWsc6500SFM2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.22"; + } + + smiv2:alias "cevCat6kWsx6816GBIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.23"; + } + + smiv2:alias "cevCat6kWsx6600Audio" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.27"; + } + + smiv2:alias "cevCat6kWsx6348RJ21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.28"; + } + + smiv2:alias "cevCat6kWsx6516GBIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.29"; + } + + smiv2:alias "cevCat6kWsxSup1a2ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.30"; + } + + smiv2:alias "cevCat6kWsx6548RJ21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.31"; + } + + smiv2:alias "cevCat6kWsx6416GEMT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.32"; + } + + smiv2:alias "cevCat6kWsx6380NAM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.33"; + } + + smiv2:alias "cevCat6kWsx6248aRJ45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.34"; + } + + smiv2:alias "cevCat6kWsx6408aGbic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.35"; + } + + smiv2:alias "cevCat6kWsx6381IDS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.36"; + } + + smiv2:alias "cevCat6kWsx6524MmMT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.37"; + } + + smiv2:alias "cevCat6kWsx6516GeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.38"; + } + + smiv2:alias "cevCat6kWsx650110Gex4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.39"; + } + + smiv2:alias "cevCat6kWsx6816Oc3Mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.40"; + } + + smiv2:alias "cevCat6kWsf6kVpwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.41"; + } + + smiv2:alias "cevCat6kWsSvcNam1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.42"; + } + + smiv2:alias "cevCat6kWsSvcNam2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.43"; + } + + smiv2:alias "cevCat6kWsSvcFwm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.44"; + } + + smiv2:alias "cevCat6kWsSvcSsl1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.45"; + } + + smiv2:alias "cevCat6kWsx6516aGBIC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.46"; + } + + smiv2:alias "cevCat6kIpSecVPNSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.49"; + } + + smiv2:alias "cevCat6kWsSup720" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.50"; + } + + smiv2:alias "cevCat6kWsSup720Base" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.51"; + } + + smiv2:alias "cevCat6kWsx680210Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.52"; + } + + smiv2:alias "cevCat6kWsx6832Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.53"; + } + + smiv2:alias "cevCat6kWsx6748GeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.54"; + } + + smiv2:alias "cevCat6kWsx670410Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.55"; + } + + smiv2:alias "cevCat6kWsx6748Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.56"; + } + + smiv2:alias "cevCat6kWsx6724Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.57"; + } + + smiv2:alias "cevCat6kWsf6kPfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.58"; + } + + smiv2:alias "cevCat6kWsf6kPfc2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.59"; + } + + smiv2:alias "cevCat6kWsf6kDfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.60"; + } + + smiv2:alias "cevCat6kWsf6kPfc3a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.61"; + } + + smiv2:alias "cevCat6kWsf6kDfc3a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.62"; + } + + smiv2:alias "cevCat6kWsx6148GeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.63"; + } + + smiv2:alias "cevCat6kWsx6148Rj21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.64"; + } + + smiv2:alias "cevCat6kWsx6148Rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.65"; + } + + smiv2:alias "cevCat6kMWAMBlade" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.66"; + } + + smiv2:alias "cevCat6kWsx6548GeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.67"; + } + + smiv2:alias "cevCat6kWsf6700dfc3a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.68"; + } + + smiv2:alias "cevCat6kWsx6324100FxSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.69"; + } + + smiv2:alias "cevCat6kWsc6000cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.70"; + } + + smiv2:alias "cevCat6kWsc6513cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.71"; + } + + smiv2:alias "cevClk7600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.72"; + } + + smiv2:alias "cevCat6kWsc6kvtt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.73"; + } + + smiv2:alias "cevCat6kWsx6302aMsm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.74"; + } + + smiv2:alias "cevCat6kMemC6kAta164M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.75"; + } + + smiv2:alias "cevCat6kMemC6kCptfl64M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.76"; + } + + smiv2:alias "cevCat6kMemC6kCptfl128M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.77"; + } + + smiv2:alias "cevCat6kMemC6kCptfl256M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.78"; + } + + smiv2:alias "cevCat6kMemC6kFlc16M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.79"; + } + + smiv2:alias "cevCat6kMemC6kFlc24M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.80"; + } + + smiv2:alias "cevCat6kWsSvcIdsm2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.81"; + } + + smiv2:alias "cevCat6kWssvcidsupg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.82"; + } + + smiv2:alias "cevCat6kWsx6148x2Rj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.83"; + } + + smiv2:alias "cevCat6kWsf6kFe48x2Af" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.84"; + } + + smiv2:alias "cevCat6kWsf6kFe48Af" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.85"; + } + + smiv2:alias "cevCat6kWsf6kGe48Af" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.86"; + } + + smiv2:alias "cevCat6kWsf6kVpwrGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.87"; + } + + smiv2:alias "cevCat6kWsf6700cfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.88"; + } + + smiv2:alias "cevCat6kWsSvcWlan1K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.89"; + } + + smiv2:alias "cevCat6kWsx6624Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.90"; + } + + smiv2:alias "cevCat6kWsSvcAon1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.91"; + } + + smiv2:alias "cevCat6kWsSup32ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.92"; + } + + smiv2:alias "cevCat6kWsSup3210ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.93"; + } + + smiv2:alias "cevCat6kPSDBlade" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.94"; + } + + smiv2:alias "cevCat6kWsc6kvtte" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.95"; + } + + smiv2:alias "cevCat6kWsx6066SlbsK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.98"; + } + + smiv2:alias "cevCat6kWsf6kpfc3b" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.99"; + } + + smiv2:alias "cevCat6kWsf6kdfc3b" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.100"; + } + + smiv2:alias "cevCat6kWsf6700dfc3b" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.101"; + } + + smiv2:alias "cevCat6kWsf6kpfc3bxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.102"; + } + + smiv2:alias "cevCat6kWsf6kdfc3bxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.103"; + } + + smiv2:alias "cevCat6kWsf6700dfc3bxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.104"; + } + + smiv2:alias "cevCat6kCsg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.105"; + } + + smiv2:alias "cevCat6kMsfc2a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.106"; + } + + smiv2:alias "cevCat6kWs6340Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.107"; + } + + smiv2:alias "cevCat6kWs6340LcA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.108"; + } + + smiv2:alias "cevCat6kWs6340LcB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.109"; + } + + smiv2:alias "cevCat6kMec6524gs8s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.110"; + } + + smiv2:alias "cevCat6kMec6524gt8s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.111"; + } + + smiv2:alias "cevCat6kMec6524Msfc2a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.114"; + } + + smiv2:alias "cevCat6kMec6524Pfc3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.115"; + } + + smiv2:alias "cevCat6kWsx6196Rj21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.116"; + } + + smiv2:alias "cevCat6kWsx6148FeSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.117"; + } + + smiv2:alias "cevCat6kWsx6148aGeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.118"; + } + + smiv2:alias "cevCat6kWsx6148aRj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.119"; + } + + smiv2:alias "cevCat6kAce10K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.120"; + } + + smiv2:alias "cevCat6kWsg6483" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.122"; + } + + smiv2:alias "cevCat6kWsg6485" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.123"; + } + + smiv2:alias "cevCat6kWsg6488" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.124"; + } + + smiv2:alias "cevCat6kWsg6489" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.125"; + } + + smiv2:alias "cevCat6kWsSvcWebVpnK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.126"; + } + + smiv2:alias "cevCat6kSAMIBB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.127"; + } + + smiv2:alias "cevCat6kWsx6708a10ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.128"; + } + + smiv2:alias "cevCat6kWsx670810ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.129"; + } + + smiv2:alias "cevCat6kWsf6700Dfc3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.131"; + } + + smiv2:alias "cevCat6kWsf6700Dfc3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.132"; + } + + smiv2:alias "cevCat6kVsS72010G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.133"; + } + + smiv2:alias "cevCat6kVsf6kPfc3c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.134"; + } + + smiv2:alias "cevCat6kVsf6kPfc3cxl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.135"; + } + + smiv2:alias "cevCat6kVsF6kMsfc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.136"; + } + + smiv2:alias "cevCat6kWsF6kPisa" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.137"; + } + + smiv2:alias "cevCat6kVsF6kPfc4xl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.138"; + } + + smiv2:alias "cevCat6kWsF6kDfc4exl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.139"; + } + + smiv2:alias "cevCat6kWsx671610Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.142"; + } + + smiv2:alias "cevCat6kVsF6kPfc4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.143"; + } + + smiv2:alias "cevCat6kWsF6kDfc4e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.144"; + } + + smiv2:alias "cevCat6kWsSup32Pge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.145"; + } + + smiv2:alias "cevCat6kWsSup32P10ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.146"; + } + + smiv2:alias "cevCat6kWsx690810g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.148"; + } + + smiv2:alias "cevCat6kWsc6513Ecl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.155"; + } + + smiv2:alias "cevCat6kWsSvcWism" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.156"; + } + + smiv2:alias "cevCat6kWsSvcNam1S250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.157"; + } + + smiv2:alias "cevCat6kWsSvcNam2S250" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.158"; + } + + smiv2:alias "cevCat6kWsF6kDfc4a" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.159"; + } + + smiv2:alias "cevCat6kWsF6kDfc4axl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.160"; + } + + smiv2:alias "cevCat6kVsSup2t10g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.163"; + } + + smiv2:alias "cevCat6kVsF6kMsfc5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.164"; + } + + smiv2:alias "cevCat6kWsf6k48At" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.166"; + } + + smiv2:alias "cevCat6kWsx6148eGe45At" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.167"; + } + + smiv2:alias "cevCat6kWsx671610T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.168"; + } + + smiv2:alias "cevCat6kWsSvcAsaSm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.169"; + } + + smiv2:alias "cevCat6kWsx6148eGeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.172"; + } + + smiv2:alias "cevCat6kWsx690440g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.174"; + } + + smiv2:alias "cevCat6kWsSvcNam3K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.175"; + } + + smiv2:alias "cevCat6kWsx6848Tx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.176"; + } + + smiv2:alias "cevCat6kWsx6848sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.178"; + } + + smiv2:alias "cevCat6kWsx6824sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.179"; + } + + smiv2:alias "cevCat6kWsx681610ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.181"; + } + + smiv2:alias "cevCat6kWsx681610t" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.182"; + } + + smiv2:alias "cevCat6kACE20K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.184"; + } + + smiv2:alias "cevCat6kWsSvcWism2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.185"; + } + + smiv2:alias "cevCat6kWsSvcAsaSm1K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.186"; + } + + smiv2:alias "cevCat6kC6880xSup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.189"; + } + + smiv2:alias "cevCat6kC6880xleSup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.190"; + } + + smiv2:alias "cevCat6kC6800xl33vCon" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.29.195"; + } + + smiv2:alias "cevModuleCat5000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.30"; + } + + smiv2:alias "cevCat5kRsfc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.30.1"; + } + + smiv2:alias "cevModule7100Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31"; + } + + smiv2:alias "cevIo2feTxIsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.1"; + } + + smiv2:alias "cevIsmIpsecMppe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.2"; + } + + smiv2:alias "cev7100VPNAccelerator" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.3"; + } + + smiv2:alias "cev7100VPNAcceleratorModule2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.4"; + } + + smiv2:alias "cev7100VPNAcceleratorAES" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.5"; + } + + smiv2:alias "cev7100VPNAM2Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.31.6"; + } + + smiv2:alias "cevModule10000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32"; + } + + smiv2:alias "cevPos1oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.1"; + } + + smiv2:alias "cevP6Ct3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.2"; + } + + smiv2:alias "cevGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.3"; + } + + smiv2:alias "cevAtm1Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.4"; + } + + smiv2:alias "cevP1COc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.5"; + } + + smiv2:alias "cevP4Chstm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.6"; + } + + smiv2:alias "cev24feTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.8"; + } + + smiv2:alias "cev24feFxMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.9"; + } + + smiv2:alias "cev24feFxSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.10"; + } + + smiv2:alias "cevSrpOc48SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.11"; + } + + smiv2:alias "cevSrpOc48SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.12"; + } + + smiv2:alias "cevPos6oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.13"; + } + + smiv2:alias "cevAtm4oc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.14"; + } + + smiv2:alias "cevP8E3Ds3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.15"; + } + + smiv2:alias "cevSrpPos1oc48SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.16"; + } + + smiv2:alias "cevSrpPos1oc48SmLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.17"; + } + + smiv2:alias "cevC10K48MbFlashCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.18"; + } + + smiv2:alias "cevC10K128MbFlashCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.19"; + } + + smiv2:alias "cevP24ChE1T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.22"; + } + + smiv2:alias "cev4Ge8FeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.23"; + } + + smiv2:alias "cev4Ge8FeFxMm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.24"; + } + + smiv2:alias "cev4Ge8FeFxSm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.25"; + } + + smiv2:alias "cevSrpOc48SmLr1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.26"; + } + + smiv2:alias "cevSrpOc48SmLr2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.27"; + } + + smiv2:alias "cevP8Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.30"; + } + + smiv2:alias "cevP8Ds3E3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.31"; + } + + smiv2:alias "cevC10720Mnt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.32"; + } + + smiv2:alias "cevPosSrpOc48SmSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.34"; + } + + smiv2:alias "cevPosSrpOc48SmIr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.35"; + } + + smiv2:alias "cevPosSrpOc48SmLr1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.36"; + } + + smiv2:alias "cevPosSrpOc48SmLr2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.37"; + } + + smiv2:alias "cevC10KJacket" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.38"; + } + + smiv2:alias "cev24feTxB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.39"; + } + + smiv2:alias "cev4Ge8FeTxB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.40"; + } + + smiv2:alias "cevRprSrpOc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.41"; + } + + smiv2:alias "cevP4Ct3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.42"; + } + + smiv2:alias "cevAtm4oc3stm1Lr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.32.43"; + } + + smiv2:alias "cevModuleAs5400Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33"; + } + + smiv2:alias "cevAs5400DfcCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33.1"; + } + + smiv2:alias "cevAs5400DfcNp348" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33.2"; + } + + smiv2:alias "cevAs5400DfcNp192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33.3"; + } + + smiv2:alias "cevAs5400XMDfcCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33.4"; + } + + smiv2:alias "cevAs5400XMVFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.33.5"; + } + + smiv2:alias "cevModuleCat4000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35"; + } + + smiv2:alias "cevCat4232L3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.1"; + } + + smiv2:alias "cevCat4kGateway" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.2"; + } + + smiv2:alias "cevCat4kWsx4014" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.3"; + } + + smiv2:alias "cevCat4kWsx4124FxMt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.4"; + } + + smiv2:alias "cevCat4kWsx4148FxMt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.5"; + } + + smiv2:alias "cevCat4kWsx4148Rj" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.6"; + } + + smiv2:alias "cevCat4kWsx4148Rj21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.7"; + } + + smiv2:alias "cevCat4kWsx4148Rj45V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.8"; + } + + smiv2:alias "cevCat4kWsx4232GbRj" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.9"; + } + + smiv2:alias "cevCat4kWsx4232RjXx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.10"; + } + + smiv2:alias "cevCat4kWsx4306Gb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.11"; + } + + smiv2:alias "cevCat4kWsx4418Gb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.12"; + } + + smiv2:alias "cevCat4kWsx44122GbTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.13"; + } + + smiv2:alias "cevCat4kWsx4424GbRj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.14"; + } + + smiv2:alias "cevCat4kWsx4448GbLx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.15"; + } + + smiv2:alias "cevCat4kWsx4448GbRj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.16"; + } + + smiv2:alias "cevCat4kPEM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.17"; + } + + smiv2:alias "cevCat4kWsx4515" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.18"; + } + + smiv2:alias "cevCat4kWsx4148LxMt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.19"; + } + + smiv2:alias "cevCat4kWsx4248Rj45V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.20"; + } + + smiv2:alias "cevCat4kWsx4516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.21"; + } + + smiv2:alias "cevCat4kWsx4013Plus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.22"; + } + + smiv2:alias "cevCat4kWsx4248Rj21V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.23"; + } + + smiv2:alias "cevCat4kWsx4302Gb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.24"; + } + + smiv2:alias "cevCat4kWsx4548GbRj45V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.25"; + } + + smiv2:alias "cevCat4kWsx4548GbRj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.26"; + } + + smiv2:alias "cevCat4kWsx4712Qam24B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.27"; + } + + smiv2:alias "cevCat4kWsx4148FeBdLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.28"; + } + + smiv2:alias "cevCat4kWsx4124Rj" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.29"; + } + + smiv2:alias "cevCat4kWsx4224Rj45V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.30"; + } + + smiv2:alias "cevCat4kWsx4524GbRj45V" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.31"; + } + + smiv2:alias "cevCat4kWsx4506GBT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.32"; + } + + smiv2:alias "cevCat4kWsxSvcNam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.33"; + } + + smiv2:alias "cevCat4kWsx4448GbSfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.34"; + } + + smiv2:alias "cevCat4kWsX4013PlusTS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.35"; + } + + smiv2:alias "cevCat4kWsx4kClock" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.36"; + } + + smiv2:alias "cevCat4kWsx4948" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.37"; + } + + smiv2:alias "cevCat4kWsx451610GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.38"; + } + + smiv2:alias "cevCat4kWsx4013Plus10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.40"; + } + + smiv2:alias "cevCat4kWsx494810GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.42"; + } + + smiv2:alias "cevCat4kWsx4kMux" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.43"; + } + + smiv2:alias "cevCat4kWsx490410ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.44"; + } + + smiv2:alias "cevCat4kWsx4900M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.45"; + } + + smiv2:alias "cevCat4kWsx490810ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.46"; + } + + smiv2:alias "cevCat4kWsx4920Gbrj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.47"; + } + + smiv2:alias "cevCat4kWsx4590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.48"; + } + + smiv2:alias "cevCatWsx4624SfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.49"; + } + + smiv2:alias "cevCat4kWsx492810GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.50"; + } + + smiv2:alias "cevCat4kWsx4548GbRj45VPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.51"; + } + + smiv2:alias "cevCat4kWsx490810GRj45" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.52"; + } + + smiv2:alias "cevCat4kWsx4948ef10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.54"; + } + + smiv2:alias "cevCat4kC4kxNm8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.55"; + } + + smiv2:alias "cevCat4kWsx4500x16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.56"; + } + + smiv2:alias "cevCat4kWsx4500x32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.35.57"; + } + + smiv2:alias "cevModuleCVAType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.36"; + } + + smiv2:alias "cevCVA122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.36.1"; + } + + smiv2:alias "cevCVA124" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.36.2"; + } + + smiv2:alias "cevCVA122E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.36.3"; + } + + smiv2:alias "cevCVA124E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.36.4"; + } + + smiv2:alias "cevModuleAs5850Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37"; + } + + smiv2:alias "cevAs5850EPM2Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.1"; + } + + smiv2:alias "cevAs5850Ct3Up216" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.2"; + } + + smiv2:alias "cevAs58508Ce1Up216" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.3"; + } + + smiv2:alias "cevAs58xxUp324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.4"; + } + + smiv2:alias "cevAs585024E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.5"; + } + + smiv2:alias "cevAs585024T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.37.6"; + } + + smiv2:alias "cevModuleAs5350Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.38"; + } + + smiv2:alias "cevAs5350XMDfcCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.38.2"; + } + + smiv2:alias "cevModule24xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39"; + } + + smiv2:alias "cevIad2420Vm8fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.1"; + } + + smiv2:alias "cevIad242016fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.2"; + } + + smiv2:alias "cevIad2420VmPwr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.3"; + } + + smiv2:alias "cevIad2420Adsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.4"; + } + + smiv2:alias "cevIad2420Hcm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.5"; + } + + smiv2:alias "cevIad2420Hcm2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.6"; + } + + smiv2:alias "cevIad2420Hcm3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.7"; + } + + smiv2:alias "cevIad2420Hcm4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.8"; + } + + smiv2:alias "cevIad2420Hcm5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.9"; + } + + smiv2:alias "cevIad2420Hcm6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.10"; + } + + smiv2:alias "cevIad2420Cpu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.11"; + } + + smiv2:alias "cevIad2420MfmE1Unbalanced" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.12"; + } + + smiv2:alias "cevIad2420MfmE1Dsx1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.13"; + } + + smiv2:alias "cevIad2420MfmT1Dsx1Csu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.14"; + } + + smiv2:alias "cevIad24208fxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.15"; + } + + smiv2:alias "cevIad242016fxsOffPremise" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.18"; + } + + smiv2:alias "cevIad2430Ob8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.19"; + } + + smiv2:alias "cevIad2430Ob16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.20"; + } + + smiv2:alias "cevIad2430Ob24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.21"; + } + + smiv2:alias "cevIad2430ObT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.22"; + } + + smiv2:alias "cevIad2435ObT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.23"; + } + + smiv2:alias "cevIad2435Ob8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.24"; + } + + smiv2:alias "cevVG204Ob4Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.25"; + } + + smiv2:alias "cevVG202Ob2Fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.26"; + } + + smiv2:alias "cevVg202xmOb2fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.27"; + } + + smiv2:alias "cevVg204xmOb4fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.28"; + } + + smiv2:alias "cevVg3x0ob24fxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.39.29"; + } + + smiv2:alias "cevModule10000Bases" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40"; + } + + smiv2:alias "cevM10000BaseLX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.2"; + } + + smiv2:alias "cevM10000BaseEX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.3"; + } + + smiv2:alias "cevM10000BaseLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.4"; + } + + smiv2:alias "cevM10000BaseER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.5"; + } + + smiv2:alias "cevM10000BaseSX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.6"; + } + + smiv2:alias "cevM10000BaseSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.7"; + } + + smiv2:alias "cevM10000BaseCX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.8"; + } + + smiv2:alias "cevM10000BaseZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.9"; + } + + smiv2:alias "cev10GBaseLW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.10"; + } + + smiv2:alias "cev10GBaseEW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.11"; + } + + smiv2:alias "cev10GBaseSW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.12"; + } + + smiv2:alias "cev10GBaseEdc1310" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.13"; + } + + smiv2:alias "cev10GBaseDwdm3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.14"; + } + + smiv2:alias "cev10GBaseDwdm3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.15"; + } + + smiv2:alias "cev10GBaseDwdm3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.16"; + } + + smiv2:alias "cev10GBaseDwdm3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.17"; + } + + smiv2:alias "cev10GBaseDwdm3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.18"; + } + + smiv2:alias "cev10GBaseDwdm3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.19"; + } + + smiv2:alias "cev10GBaseDwdm3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.20"; + } + + smiv2:alias "cev10GBaseDwdm3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.21"; + } + + smiv2:alias "cev10GBaseDwdm3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.22"; + } + + smiv2:alias "cev10GBaseDwdm3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.23"; + } + + smiv2:alias "cev10GBaseDwdm3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.24"; + } + + smiv2:alias "cev10GBaseDwdm4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.25"; + } + + smiv2:alias "cev10GBaseDwdm4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.26"; + } + + smiv2:alias "cev10GBaseDwdm4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.27"; + } + + smiv2:alias "cev10GBaseDwdm4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.28"; + } + + smiv2:alias "cev10GBaseDwdm4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.29"; + } + + smiv2:alias "cev10GBaseDwdm4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.30"; + } + + smiv2:alias "cev10GBaseDwdm4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.31"; + } + + smiv2:alias "cev10GBaseDwdm4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.32"; + } + + smiv2:alias "cev10GBaseDwdm4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.33"; + } + + smiv2:alias "cev10GBaseDwdm5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.34"; + } + + smiv2:alias "cev10GBaseDwdm5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.35"; + } + + smiv2:alias "cev10GBaseDwdm5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.36"; + } + + smiv2:alias "cev10GBaseDwdm5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.37"; + } + + smiv2:alias "cev10GBaseDwdm5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.38"; + } + + smiv2:alias "cev10GBaseDwdm5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.39"; + } + + smiv2:alias "cev10GBaseDwdm5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.40"; + } + + smiv2:alias "cev10GBaseDwdm5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.41"; + } + + smiv2:alias "cev10GBaseDwdm5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.42"; + } + + smiv2:alias "cev10GBaseDwdm5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.43"; + } + + smiv2:alias "cev10GBaseDwdm5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.44"; + } + + smiv2:alias "cev10GBaseDwdm6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.45"; + } + + smiv2:alias "cev10GBaseRec" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.40.46"; + } + + smiv2:alias "cevModuleONS15540Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42"; + } + + smiv2:alias "cevONS15540LCMBTspProtect" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.1"; + } + + smiv2:alias "cevONS15540LCMBTspEast" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.2"; + } + + smiv2:alias "cevONS15540LCMBTspWest" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.3"; + } + + smiv2:alias "cevONS15540MDXMBOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.4"; + } + + smiv2:alias "cevONS15540MDXMB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.5"; + } + + smiv2:alias "cevONS15540Tsp1Ch0102MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.6"; + } + + smiv2:alias "cevONS15540Tsp1Ch0304MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.7"; + } + + smiv2:alias "cevONS15540Tsp1Ch0506MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.8"; + } + + smiv2:alias "cevONS15540Tsp1Ch0708MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.9"; + } + + smiv2:alias "cevONS15540Tsp1Ch0910MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.10"; + } + + smiv2:alias "cevONS15540Tsp1Ch1112MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.11"; + } + + smiv2:alias "cevONS15540Tsp1Ch1314MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.12"; + } + + smiv2:alias "cevONS15540Tsp1Ch1516MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.13"; + } + + smiv2:alias "cevONS15540Tsp1Ch1718MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.14"; + } + + smiv2:alias "cevONS15540Tsp1Ch1920MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.15"; + } + + smiv2:alias "cevONS15540Tsp1Ch2122MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.16"; + } + + smiv2:alias "cevONS15540Tsp1Ch2324MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.17"; + } + + smiv2:alias "cevONS15540Tsp1Ch2526MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.18"; + } + + smiv2:alias "cevONS15540Tsp1Ch2728MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.19"; + } + + smiv2:alias "cevONS15540Tsp1Ch2930MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.20"; + } + + smiv2:alias "cevONS15540Tsp1Ch3132MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.21"; + } + + smiv2:alias "cevONS15540Tsp1Ch0102SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.22"; + } + + smiv2:alias "cevONS15540Tsp1Ch0304SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.23"; + } + + smiv2:alias "cevONS15540Tsp1Ch0506SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.24"; + } + + smiv2:alias "cevONS15540Tsp1Ch0708SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.25"; + } + + smiv2:alias "cevONS15540Tsp1Ch0910SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.26"; + } + + smiv2:alias "cevONS15540Tsp1Ch1112SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.27"; + } + + smiv2:alias "cevONS15540Tsp1Ch1314SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.28"; + } + + smiv2:alias "cevONS15540Tsp1Ch1516SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.29"; + } + + smiv2:alias "cevONS15540Tsp1Ch1718SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.30"; + } + + smiv2:alias "cevONS15540Tsp1Ch1920SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.31"; + } + + smiv2:alias "cevONS15540Tsp1Ch2122SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.32"; + } + + smiv2:alias "cevONS15540Tsp1Ch2324SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.33"; + } + + smiv2:alias "cevONS15540Tsp1Ch2526SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.34"; + } + + smiv2:alias "cevONS15540Tsp1Ch2728SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.35"; + } + + smiv2:alias "cevONS15540Tsp1Ch2930SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.36"; + } + + smiv2:alias "cevONS15540Tsp1Ch3132SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.37"; + } + + smiv2:alias "cevONS15540MDX4ChA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.38"; + } + + smiv2:alias "cevONS15540MDX4ChB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.39"; + } + + smiv2:alias "cevONS15540MDX4ChC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.40"; + } + + smiv2:alias "cevONS15540MDX4ChD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.41"; + } + + smiv2:alias "cevONS15540MDX4ChE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.42"; + } + + smiv2:alias "cevONS15540MDX4ChF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.43"; + } + + smiv2:alias "cevONS15540MDX4ChG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.44"; + } + + smiv2:alias "cevONS15540MDX4ChH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.45"; + } + + smiv2:alias "cevONS15540MDX8ChAB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.46"; + } + + smiv2:alias "cevONS15540MDX8ChCD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.47"; + } + + smiv2:alias "cevONS15540MDX8ChEF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.48"; + } + + smiv2:alias "cevONS15540MDX8ChGH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.49"; + } + + smiv2:alias "cevONS15540MDX4ChAOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.50"; + } + + smiv2:alias "cevONS15540MDX4ChBOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.51"; + } + + smiv2:alias "cevONS15540MDX4ChCOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.52"; + } + + smiv2:alias "cevONS15540MDX4ChDOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.53"; + } + + smiv2:alias "cevONS15540MDX4ChEOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.54"; + } + + smiv2:alias "cevONS15540MDX4ChFOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.55"; + } + + smiv2:alias "cevONS15540MDX4ChGOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.56"; + } + + smiv2:alias "cevONS15540MDX4ChHOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.57"; + } + + smiv2:alias "cevONS15540MDX8ChABOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.58"; + } + + smiv2:alias "cevONS15540MDX8ChCDOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.59"; + } + + smiv2:alias "cevONS15540MDX8ChEFOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.60"; + } + + smiv2:alias "cevONS15540MDX8ChGHOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.61"; + } + + smiv2:alias "cevONS15540MDX16ChADOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.62"; + } + + smiv2:alias "cevONS15540MDX16ChEH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.63"; + } + + smiv2:alias "cevONS15540Tsp2Ch0102" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.64"; + } + + smiv2:alias "cevONS15540Tsp2Ch0304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.65"; + } + + smiv2:alias "cevONS15540Tsp2Ch0506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.66"; + } + + smiv2:alias "cevONS15540Tsp2Ch0708" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.67"; + } + + smiv2:alias "cevONS15540Tsp2Ch0910" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.68"; + } + + smiv2:alias "cevONS15540Tsp2Ch1112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.69"; + } + + smiv2:alias "cevONS15540Tsp2Ch1314" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.70"; + } + + smiv2:alias "cevONS15540Tsp2Ch1516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.71"; + } + + smiv2:alias "cevONS15540Tsp2Ch1718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.72"; + } + + smiv2:alias "cevONS15540Tsp2Ch1920" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.73"; + } + + smiv2:alias "cevONS15540Tsp2Ch2122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.74"; + } + + smiv2:alias "cevONS15540Tsp2Ch2324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.75"; + } + + smiv2:alias "cevONS15540Tsp2Ch2526" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.76"; + } + + smiv2:alias "cevONS15540Tsp2Ch2728" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.77"; + } + + smiv2:alias "cevONS15540Tsp2Ch2930" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.78"; + } + + smiv2:alias "cevONS15540Tsp2Ch3132" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.79"; + } + + smiv2:alias "cevONS15540LCMB10GOC192c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.80"; + } + + smiv2:alias "cevONS15540ESPxLCMBTspSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.81"; + } + + smiv2:alias "cevONS15540ESPxLCMBTsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.82"; + } + + smiv2:alias "cevONS15540ESPxLCMB10GOC192cSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.83"; + } + + smiv2:alias "cevONS15540ESPxLCMB10GOC192c" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.84"; + } + + smiv2:alias "cevONS15540LCDC10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.85"; + } + + smiv2:alias "cevONS15540ESPxMDXMBOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.86"; + } + + smiv2:alias "cevONS15540ESPxMDXMB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.87"; + } + + smiv2:alias "cevONS15540ESPxMDXMBOscESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.88"; + } + + smiv2:alias "cevONS15540ESPxMDXMBESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.89"; + } + + smiv2:alias "cevONS1554010GigITUCh01" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.90"; + } + + smiv2:alias "cevONS1554010GigITUCh02" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.91"; + } + + smiv2:alias "cevONS1554010GigITUCh03" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.92"; + } + + smiv2:alias "cevONS1554010GigITUCh04" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.93"; + } + + smiv2:alias "cevONS1554010GigITUCh05" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.94"; + } + + smiv2:alias "cevONS1554010GigITUCh06" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.95"; + } + + smiv2:alias "cevONS1554010GigITUCh07" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.96"; + } + + smiv2:alias "cevONS1554010GigITUCh08" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.97"; + } + + smiv2:alias "cevONS1554010GigITUCh09" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.98"; + } + + smiv2:alias "cevONS1554010GigITUCh10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.99"; + } + + smiv2:alias "cevONS1554010GigITUCh11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.100"; + } + + smiv2:alias "cevONS1554010GigITUCh12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.101"; + } + + smiv2:alias "cevONS1554010GigITUCh13" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.102"; + } + + smiv2:alias "cevONS1554010GigITUCh14" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.103"; + } + + smiv2:alias "cevONS1554010GigITUCh15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.104"; + } + + smiv2:alias "cevONS1554010GigITUCh16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.105"; + } + + smiv2:alias "cevONS1554010GigITUCh17" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.106"; + } + + smiv2:alias "cevONS1554010GigITUCh18" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.107"; + } + + smiv2:alias "cevONS1554010GigITUCh19" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.108"; + } + + smiv2:alias "cevONS1554010GigITUCh20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.109"; + } + + smiv2:alias "cevONS1554010GigITUCh21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.110"; + } + + smiv2:alias "cevONS1554010GigITUCh22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.111"; + } + + smiv2:alias "cevONS1554010GigITUCh23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.112"; + } + + smiv2:alias "cevONS1554010GigITUCh24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.113"; + } + + smiv2:alias "cevONS1554010GigITUCh25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.114"; + } + + smiv2:alias "cevONS1554010GigITUCh26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.115"; + } + + smiv2:alias "cevONS1554010GigITUCh27" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.116"; + } + + smiv2:alias "cevONS1554010GigITUCh28" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.117"; + } + + smiv2:alias "cevONS1554010GigITUCh29" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.118"; + } + + smiv2:alias "cevONS1554010GigITUCh30" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.119"; + } + + smiv2:alias "cevONS1554010GigITUCh31" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.120"; + } + + smiv2:alias "cevONS1554010GigITUCh32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.121"; + } + + smiv2:alias "cevONS15540OC192cITUCh01" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.122"; + } + + smiv2:alias "cevONS15540OC192cITUCh02" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.123"; + } + + smiv2:alias "cevONS15540OC192cITUCh03" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.124"; + } + + smiv2:alias "cevONS15540OC192cITUCh04" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.125"; + } + + smiv2:alias "cevONS15540OC192cITUCh05" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.126"; + } + + smiv2:alias "cevONS15540OC192cITUCh06" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.127"; + } + + smiv2:alias "cevONS15540OC192cITUCh07" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.128"; + } + + smiv2:alias "cevONS15540OC192cITUCh08" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.129"; + } + + smiv2:alias "cevONS15540OC192cITUCh09" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.130"; + } + + smiv2:alias "cevONS15540OC192cITUCh10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.131"; + } + + smiv2:alias "cevONS15540OC192cITUCh11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.132"; + } + + smiv2:alias "cevONS15540OC192cITUCh12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.133"; + } + + smiv2:alias "cevONS15540OC192cITUCh13" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.134"; + } + + smiv2:alias "cevONS15540OC192cITUCh14" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.135"; + } + + smiv2:alias "cevONS15540OC192cITUCh15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.136"; + } + + smiv2:alias "cevONS15540OC192cITUCh16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.137"; + } + + smiv2:alias "cevONS15540OC192cITUCh17" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.138"; + } + + smiv2:alias "cevONS15540OC192cITUCh18" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.139"; + } + + smiv2:alias "cevONS15540OC192cITUCh19" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.140"; + } + + smiv2:alias "cevONS15540OC192cITUCh20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.141"; + } + + smiv2:alias "cevONS15540OC192cITUCh21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.142"; + } + + smiv2:alias "cevONS15540OC192cITUCh22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.143"; + } + + smiv2:alias "cevONS15540OC192cITUCh23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.144"; + } + + smiv2:alias "cevONS15540OC192cITUCh24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.145"; + } + + smiv2:alias "cevONS15540OC192cITUCh25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.146"; + } + + smiv2:alias "cevONS15540OC192cITUCh26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.147"; + } + + smiv2:alias "cevONS15540OC192cITUCh27" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.148"; + } + + smiv2:alias "cevONS15540OC192cITUCh28" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.149"; + } + + smiv2:alias "cevONS15540OC192cITUCh29" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.150"; + } + + smiv2:alias "cevONS15540OC192cITUCh30" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.151"; + } + + smiv2:alias "cevONS15540OC192cITUCh31" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.152"; + } + + smiv2:alias "cevONS15540OC192cITUCh32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.153"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.154"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.155"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.156"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.157"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.158"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.159"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.160"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.161"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChAB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.162"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChCD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.163"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChEF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.164"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChGH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.165"; + } + + smiv2:alias "cevONS15540ESPxMDX16ChEH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.166"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChAOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.167"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChBOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.168"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChCOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.169"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChDOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.170"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChEOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.171"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChFOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.172"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChGOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.173"; + } + + smiv2:alias "cevONS15540ESPxMDX4ChHOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.174"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChABOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.175"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChCDOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.176"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChEFOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.177"; + } + + smiv2:alias "cevONS15540ESPxMDX8ChGHOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.178"; + } + + smiv2:alias "cevONS15540ESPxMDX16ChADOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.179"; + } + + smiv2:alias "cevONS15540ESPxMDX32ChOSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.180"; + } + + smiv2:alias "cevONS15540EspPxPSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.181"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.182"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.183"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.184"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.185"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.186"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh6" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.187"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.188"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh8" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.189"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.190"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.191"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.192"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.193"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh13" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.194"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh14" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.195"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.196"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.197"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh17" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.198"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh18" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.199"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh19" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.200"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.201"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.202"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.203"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.204"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.205"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.206"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.207"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh27" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.208"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh28" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.209"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh29" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.210"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh30" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.211"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh31" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.212"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.213"; + } + + smiv2:alias "cevONS15540ESPxVOA1ITUCh33" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.214"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh0102" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.215"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh0304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.216"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh0506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.217"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh0708" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.218"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh0910" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.219"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh1112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.220"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh1314" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.221"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh1516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.222"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh1718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.223"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh1920" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.224"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh2122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.225"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh2324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.226"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh2526" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.227"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh2728" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.228"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh2930" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.229"; + } + + smiv2:alias "cevONS15540ESPxVOA2ITUCh3132" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.230"; + } + + smiv2:alias "cevONS15540ESPxVOA4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.42.231"; + } + + smiv2:alias "cevModuleGsrPortAdapterType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.43"; + } + + smiv2:alias "cevGsrPaUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.43.1"; + } + + smiv2:alias "cevGsrPa1Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.43.2"; + } + + smiv2:alias "cevGsrPa3Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.43.3"; + } + + smiv2:alias "cevGsrPa24Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.43.4"; + } + + smiv2:alias "cevModuleONS15530Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44"; + } + + smiv2:alias "cevONS15530LCMBOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.1"; + } + + smiv2:alias "cevONS15530Osc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.2"; + } + + smiv2:alias "cevONS15530MDX4ChA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.3"; + } + + smiv2:alias "cevONS15530MDX4ChB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.4"; + } + + smiv2:alias "cevONS15530MDX4ChC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.5"; + } + + smiv2:alias "cevONS15530MDX4ChD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.6"; + } + + smiv2:alias "cevONS15530MDX4ChE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.7"; + } + + smiv2:alias "cevONS15530MDX4ChF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.8"; + } + + smiv2:alias "cevONS15530MDX4ChG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.9"; + } + + smiv2:alias "cevONS15530MDX4ChH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.10"; + } + + smiv2:alias "cevONS15530MDX4ChAOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.11"; + } + + smiv2:alias "cevONS15530MDX4ChBOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.12"; + } + + smiv2:alias "cevONS15530MDX4ChCOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.13"; + } + + smiv2:alias "cevONS15530MDX4ChDOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.14"; + } + + smiv2:alias "cevONS15530MDX4ChEOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.15"; + } + + smiv2:alias "cevONS15530MDX4ChFOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.16"; + } + + smiv2:alias "cevONS15530MDX4ChGOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.17"; + } + + smiv2:alias "cevONS15530MDX4ChHOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.18"; + } + + smiv2:alias "cevONS15530Tsp1Ch0102MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.19"; + } + + smiv2:alias "cevONS15530Tsp1Ch0304MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.20"; + } + + smiv2:alias "cevONS15530Tsp1Ch0506MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.21"; + } + + smiv2:alias "cevONS15530Tsp1Ch0708MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.22"; + } + + smiv2:alias "cevONS15530Tsp1Ch0910MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.23"; + } + + smiv2:alias "cevONS15530Tsp1Ch1112MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.24"; + } + + smiv2:alias "cevONS15530Tsp1Ch1314MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.25"; + } + + smiv2:alias "cevONS15530Tsp1Ch1516MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.26"; + } + + smiv2:alias "cevONS15530Tsp1Ch1718MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.27"; + } + + smiv2:alias "cevONS15530Tsp1Ch1920MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.28"; + } + + smiv2:alias "cevONS15530Tsp1Ch2122MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.29"; + } + + smiv2:alias "cevONS15530Tsp1Ch2324MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.30"; + } + + smiv2:alias "cevONS15530Tsp1Ch2526MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.31"; + } + + smiv2:alias "cevONS15530Tsp1Ch2728MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.32"; + } + + smiv2:alias "cevONS15530Tsp1Ch2930MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.33"; + } + + smiv2:alias "cevONS15530Tsp1Ch3132MmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.34"; + } + + smiv2:alias "cevONS15530Tsp1Ch0102SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.35"; + } + + smiv2:alias "cevONS15530Tsp1Ch0304SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.36"; + } + + smiv2:alias "cevONS15530Tsp1Ch0506SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.37"; + } + + smiv2:alias "cevONS15530Tsp1Ch0708SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.38"; + } + + smiv2:alias "cevONS15530Tsp1Ch0910SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.39"; + } + + smiv2:alias "cevONS15530Tsp1Ch1112SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.40"; + } + + smiv2:alias "cevONS15530Tsp1Ch1314SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.41"; + } + + smiv2:alias "cevONS15530Tsp1Ch1516SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.42"; + } + + smiv2:alias "cevONS15530Tsp1Ch1718SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.43"; + } + + smiv2:alias "cevONS15530Tsp1Ch1920SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.44"; + } + + smiv2:alias "cevONS15530Tsp1Ch2122SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.45"; + } + + smiv2:alias "cevONS15530Tsp1Ch2324SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.46"; + } + + smiv2:alias "cevONS15530Tsp1Ch2526SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.47"; + } + + smiv2:alias "cevONS15530Tsp1Ch2728SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.48"; + } + + smiv2:alias "cevONS15530Tsp1Ch2930SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.49"; + } + + smiv2:alias "cevONS15530Tsp1Ch3132SmScSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.50"; + } + + smiv2:alias "cevONS15530Tsp1Ch0102MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.51"; + } + + smiv2:alias "cevONS15530Tsp1Ch0304MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.52"; + } + + smiv2:alias "cevONS15530Tsp1Ch0506MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.53"; + } + + smiv2:alias "cevONS15530Tsp1Ch0708MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.54"; + } + + smiv2:alias "cevONS15530Tsp1Ch0910MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.55"; + } + + smiv2:alias "cevONS15530Tsp1Ch1112MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.56"; + } + + smiv2:alias "cevONS15530Tsp1Ch1314MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.57"; + } + + smiv2:alias "cevONS15530Tsp1Ch1516MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.58"; + } + + smiv2:alias "cevONS15530Tsp1Ch1718MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.59"; + } + + smiv2:alias "cevONS15530Tsp1Ch1920MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.60"; + } + + smiv2:alias "cevONS15530Tsp1Ch2122MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.61"; + } + + smiv2:alias "cevONS15530Tsp1Ch2324MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.62"; + } + + smiv2:alias "cevONS15530Tsp1Ch2526MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.63"; + } + + smiv2:alias "cevONS15530Tsp1Ch2728MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.64"; + } + + smiv2:alias "cevONS15530Tsp1Ch2930MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.65"; + } + + smiv2:alias "cevONS15530Tsp1Ch3132MmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.66"; + } + + smiv2:alias "cevONS15530Tsp1Ch0102SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.67"; + } + + smiv2:alias "cevONS15530Tsp1Ch0304SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.68"; + } + + smiv2:alias "cevONS15530Tsp1Ch0506SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.69"; + } + + smiv2:alias "cevONS15530Tsp1Ch0708SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.70"; + } + + smiv2:alias "cevONS15530Tsp1Ch0910SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.71"; + } + + smiv2:alias "cevONS15530Tsp1Ch1112SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.72"; + } + + smiv2:alias "cevONS15530Tsp1Ch1314SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.73"; + } + + smiv2:alias "cevONS15530Tsp1Ch1516SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.74"; + } + + smiv2:alias "cevONS15530Tsp1Ch1718SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.75"; + } + + smiv2:alias "cevONS15530Tsp1Ch1920SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.76"; + } + + smiv2:alias "cevONS15530Tsp1Ch2122SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.77"; + } + + smiv2:alias "cevONS15530Tsp1Ch2324SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.78"; + } + + smiv2:alias "cevONS15530Tsp1Ch2526SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.79"; + } + + smiv2:alias "cevONS15530Tsp1Ch2728SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.80"; + } + + smiv2:alias "cevONS15530Tsp1Ch2930SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.81"; + } + + smiv2:alias "cevONS15530Tsp1Ch3132SmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.82"; + } + + smiv2:alias "cevONS15530LCEscon10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.83"; + } + + smiv2:alias "cevONS15500XvrEscon1310MmMTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.84"; + } + + smiv2:alias "cevONS15530LC10GESmSc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.85"; + } + + smiv2:alias "cevONS1553010GCh01Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.86"; + } + + smiv2:alias "cevONS1553010GCh02Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.87"; + } + + smiv2:alias "cevONS1553010GCh03Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.88"; + } + + smiv2:alias "cevONS1553010GCh04Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.89"; + } + + smiv2:alias "cevONS1553010GCh05Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.90"; + } + + smiv2:alias "cevONS1553010GCh06Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.91"; + } + + smiv2:alias "cevONS1553010GCh07Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.92"; + } + + smiv2:alias "cevONS1553010GCh08Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.93"; + } + + smiv2:alias "cevONS1553010GCh09Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.94"; + } + + smiv2:alias "cevONS1553010GCh10Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.95"; + } + + smiv2:alias "cevONS1553010GCh11Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.96"; + } + + smiv2:alias "cevONS1553010GCh12Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.97"; + } + + smiv2:alias "cevONS1553010GCh13Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.98"; + } + + smiv2:alias "cevONS1553010GCh14Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.99"; + } + + smiv2:alias "cevONS1553010GCh15Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.100"; + } + + smiv2:alias "cevONS1553010GCh16Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.101"; + } + + smiv2:alias "cevONS1553010GCh17Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.102"; + } + + smiv2:alias "cevONS1553010GCh18Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.103"; + } + + smiv2:alias "cevONS1553010GCh19Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.104"; + } + + smiv2:alias "cevONS1553010GCh20Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.105"; + } + + smiv2:alias "cevONS1553010GCh21Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.106"; + } + + smiv2:alias "cevONS1553010GCh22Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.107"; + } + + smiv2:alias "cevONS1553010GCh23Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.108"; + } + + smiv2:alias "cevONS1553010GCh24Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.109"; + } + + smiv2:alias "cevONS1553010GCh25Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.110"; + } + + smiv2:alias "cevONS1553010GCh26Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.111"; + } + + smiv2:alias "cevONS1553010GCh27Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.112"; + } + + smiv2:alias "cevONS1553010GCh28Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.113"; + } + + smiv2:alias "cevONS1553010GCh29Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.114"; + } + + smiv2:alias "cevONS1553010GCh30Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.115"; + } + + smiv2:alias "cevONS1553010GCh31Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.116"; + } + + smiv2:alias "cevONS1553010GCh32Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.117"; + } + + smiv2:alias "cevONS1553010GCh01" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.118"; + } + + smiv2:alias "cevONS1553010GCh02" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.119"; + } + + smiv2:alias "cevONS1553010GCh03" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.120"; + } + + smiv2:alias "cevONS1553010GCh04" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.121"; + } + + smiv2:alias "cevONS1553010GCh05" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.122"; + } + + smiv2:alias "cevONS1553010GCh06" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.123"; + } + + smiv2:alias "cevONS1553010GCh07" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.124"; + } + + smiv2:alias "cevONS1553010GCh08" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.125"; + } + + smiv2:alias "cevONS1553010GCh09" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.126"; + } + + smiv2:alias "cevONS1553010GCh10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.127"; + } + + smiv2:alias "cevONS1553010GCh11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.128"; + } + + smiv2:alias "cevONS1553010GCh12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.129"; + } + + smiv2:alias "cevONS1553010GCh13" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.130"; + } + + smiv2:alias "cevONS1553010GCh14" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.131"; + } + + smiv2:alias "cevONS1553010GCh15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.132"; + } + + smiv2:alias "cevONS1553010GCh16" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.133"; + } + + smiv2:alias "cevONS1553010GCh17" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.134"; + } + + smiv2:alias "cevONS1553010GCh18" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.135"; + } + + smiv2:alias "cevONS1553010GCh19" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.136"; + } + + smiv2:alias "cevONS1553010GCh20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.137"; + } + + smiv2:alias "cevONS1553010GCh21" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.138"; + } + + smiv2:alias "cevONS1553010GCh22" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.139"; + } + + smiv2:alias "cevONS1553010GCh23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.140"; + } + + smiv2:alias "cevONS1553010GCh24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.141"; + } + + smiv2:alias "cevONS1553010GCh25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.142"; + } + + smiv2:alias "cevONS1553010GCh26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.143"; + } + + smiv2:alias "cevONS1553010GCh27" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.144"; + } + + smiv2:alias "cevONS1553010GCh28" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.145"; + } + + smiv2:alias "cevONS1553010GCh29" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.146"; + } + + smiv2:alias "cevONS1553010GCh30" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.147"; + } + + smiv2:alias "cevONS1553010GCh31" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.148"; + } + + smiv2:alias "cevONS1553010GCh32" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.149"; + } + + smiv2:alias "cevONS15530FCGE8P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.150"; + } + + smiv2:alias "cevONS155302p5GCh0102Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.151"; + } + + smiv2:alias "cevONS155302p5GCh0304Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.152"; + } + + smiv2:alias "cevONS155302p5GCh0506Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.153"; + } + + smiv2:alias "cevONS155302p5GCh0708Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.154"; + } + + smiv2:alias "cevONS155302p5GCh0910Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.155"; + } + + smiv2:alias "cevONS155302p5GCh1112Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.156"; + } + + smiv2:alias "cevONS155302p5GCh1314Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.157"; + } + + smiv2:alias "cevONS155302p5GCh1516Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.158"; + } + + smiv2:alias "cevONS155302p5GCh1718Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.159"; + } + + smiv2:alias "cevONS155302p5GCh1920Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.160"; + } + + smiv2:alias "cevONS155302p5GCh2122Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.161"; + } + + smiv2:alias "cevONS155302p5GCh2324Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.162"; + } + + smiv2:alias "cevONS155302p5GCh2526Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.163"; + } + + smiv2:alias "cevONS155302p5GCh2728Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.164"; + } + + smiv2:alias "cevONS155302p5GCh2930Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.165"; + } + + smiv2:alias "cevONS155302p5GCh3132Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.166"; + } + + smiv2:alias "cevONS155302p5GCh0102" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.167"; + } + + smiv2:alias "cevONS155302p5GCh0304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.168"; + } + + smiv2:alias "cevONS155302p5GCh0506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.169"; + } + + smiv2:alias "cevONS155302p5GCh0708" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.170"; + } + + smiv2:alias "cevONS155302p5GCh0910" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.171"; + } + + smiv2:alias "cevONS155302p5GCh1112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.172"; + } + + smiv2:alias "cevONS155302p5GCh1314" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.173"; + } + + smiv2:alias "cevONS155302p5GCh1516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.174"; + } + + smiv2:alias "cevONS155302p5GCh1718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.175"; + } + + smiv2:alias "cevONS155302p5GCh1920" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.176"; + } + + smiv2:alias "cevONS155302p5GCh2122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.177"; + } + + smiv2:alias "cevONS155302p5GCh2324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.178"; + } + + smiv2:alias "cevONS155302p5GCh2526" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.179"; + } + + smiv2:alias "cevONS155302p5GCh2728" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.180"; + } + + smiv2:alias "cevONS155302p5GCh2930" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.181"; + } + + smiv2:alias "cevONS155302p5GCh3132" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.182"; + } + + smiv2:alias "cevONS15530PSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.183"; + } + + smiv2:alias "cevONS15530LC2xFC4P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.184"; + } + + smiv2:alias "cevONS15530MRC8PCh0102Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.185"; + } + + smiv2:alias "cevONS15530MRC8PCh0304Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.186"; + } + + smiv2:alias "cevONS15530MRC8PCh0506Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.187"; + } + + smiv2:alias "cevONS15530MRC8PCh0708Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.188"; + } + + smiv2:alias "cevONS15530MRC8PCh0910Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.189"; + } + + smiv2:alias "cevONS15530MRC8PCh1112Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.190"; + } + + smiv2:alias "cevONS15530MRC8PCh1314Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.191"; + } + + smiv2:alias "cevONS15530MRC8PCh1516Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.192"; + } + + smiv2:alias "cevONS15530MRC8PCh1718Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.193"; + } + + smiv2:alias "cevONS15530MRC8PCh1920Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.194"; + } + + smiv2:alias "cevONS15530MRC8PCh2122Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.195"; + } + + smiv2:alias "cevONS15530MRC8PCh2324Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.196"; + } + + smiv2:alias "cevONS15530MRC8PCh2526Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.197"; + } + + smiv2:alias "cevONS15530MRC8PCh2728Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.198"; + } + + smiv2:alias "cevONS15530MRC8PCh2930Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.199"; + } + + smiv2:alias "cevONS15530MRC8PCh3132Sp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.200"; + } + + smiv2:alias "cevONS15530MRC8PCh0102" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.201"; + } + + smiv2:alias "cevONS15530MRC8PCh0304" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.202"; + } + + smiv2:alias "cevONS15530MRC8PCh0506" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.203"; + } + + smiv2:alias "cevONS15530MRC8PCh0708" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.204"; + } + + smiv2:alias "cevONS15530MRC8PCh0910" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.205"; + } + + smiv2:alias "cevONS15530MRC8PCh1112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.206"; + } + + smiv2:alias "cevONS15530MRC8PCh1314" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.207"; + } + + smiv2:alias "cevONS15530MRC8PCh1516" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.208"; + } + + smiv2:alias "cevONS15530MRC8PCh1718" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.209"; + } + + smiv2:alias "cevONS15530MRC8PCh1920" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.210"; + } + + smiv2:alias "cevONS15530MRC8PCh2122" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.211"; + } + + smiv2:alias "cevONS15530MRC8PCh2324" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.212"; + } + + smiv2:alias "cevONS15530MRC8PCh2526" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.213"; + } + + smiv2:alias "cevONS15530MRC8PCh2728" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.214"; + } + + smiv2:alias "cevONS15530MRC8PCh2930" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.215"; + } + + smiv2:alias "cevONS15530MRC8PCh3132" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.216"; + } + + smiv2:alias "cevONS1553010G4ChASp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.217"; + } + + smiv2:alias "cevONS1553010G4ChBSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.218"; + } + + smiv2:alias "cevONS1553010G4ChCSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.219"; + } + + smiv2:alias "cevONS1553010G4ChDSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.220"; + } + + smiv2:alias "cevONS1553010G4ChESp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.221"; + } + + smiv2:alias "cevONS1553010G4ChFSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.222"; + } + + smiv2:alias "cevONS1553010G4ChGSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.223"; + } + + smiv2:alias "cevONS1553010G4ChHSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.224"; + } + + smiv2:alias "cevONS1553010G4ChA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.225"; + } + + smiv2:alias "cevONS1553010G4ChB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.226"; + } + + smiv2:alias "cevONS1553010G4ChC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.227"; + } + + smiv2:alias "cevONS1553010G4ChD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.228"; + } + + smiv2:alias "cevONS1553010G4ChE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.229"; + } + + smiv2:alias "cevONS1553010G4ChF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.230"; + } + + smiv2:alias "cevONS1553010G4ChG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.231"; + } + + smiv2:alias "cevONS1553010G4ChH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.232"; + } + + smiv2:alias "cevONS1553010G32ChSp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.233"; + } + + smiv2:alias "cevONS1553010G32Ch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.44.234"; + } + + smiv2:alias "cevModuleONS15500Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46"; + } + + smiv2:alias "cevONS15500PEQ01A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.1"; + } + + smiv2:alias "cevONS15500PEQ01B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.2"; + } + + smiv2:alias "cevONS15500PEQ01C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.3"; + } + + smiv2:alias "cevONS15500PEQ01D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.4"; + } + + smiv2:alias "cevONS15500PEQ01E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.5"; + } + + smiv2:alias "cevONS15500PEQ01F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.6"; + } + + smiv2:alias "cevONS15500PEQ01G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.7"; + } + + smiv2:alias "cevONS15500PEQ01H" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.8"; + } + + smiv2:alias "cevONS15500PEQ02AB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.9"; + } + + smiv2:alias "cevONS15500PEQ02CD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.10"; + } + + smiv2:alias "cevONS15500PEQ02EF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.11"; + } + + smiv2:alias "cevONS15500PEQ02GH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.12"; + } + + smiv2:alias "cevONS15500VOA01" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.13"; + } + + smiv2:alias "cevONS15500VOA02" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.14"; + } + + smiv2:alias "cevONS15500XvrEscon1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.15"; + } + + smiv2:alias "cevONS15500XvrEscon1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.16"; + } + + smiv2:alias "cevONS15500XvrFC850LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.17"; + } + + smiv2:alias "cevONS15500XvrFC850MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.18"; + } + + smiv2:alias "cevONS15500XvrFC1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.19"; + } + + smiv2:alias "cevONS15500XvrFC1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.20"; + } + + smiv2:alias "cevONS15500XvrGE850LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.21"; + } + + smiv2:alias "cevONS15500XvrGE850MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.22"; + } + + smiv2:alias "cevONS15500XvrGE1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.23"; + } + + smiv2:alias "cevONS15500XvrGE1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.24"; + } + + smiv2:alias "cevONS15500XvrGEFC850LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.25"; + } + + smiv2:alias "cevONS15500XvrGEFC850MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.26"; + } + + smiv2:alias "cevONS15500XvrGEFC1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.27"; + } + + smiv2:alias "cevONS15500XvrGEFC1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.28"; + } + + smiv2:alias "cevONS15500XvrOC3Son1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.29"; + } + + smiv2:alias "cevONS15500XvrOC3Son1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.30"; + } + + smiv2:alias "cevONS15500XvrOC12Son1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.31"; + } + + smiv2:alias "cevONS15500XvrOC12Son1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.32"; + } + + smiv2:alias "cevONS15500XvrOC48Son1310MTRJ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.33"; + } + + smiv2:alias "cevONS15500XvrOC48Son1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.34"; + } + + smiv2:alias "cevONS15500XvrLowMM1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.35"; + } + + smiv2:alias "cevONS15500XvrLowSM1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.36"; + } + + smiv2:alias "cevONS15500XvrMidMM1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.37"; + } + + smiv2:alias "cevONS15500XvrMidSM1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.38"; + } + + smiv2:alias "cevONS15500XvrHighSM1310LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.39"; + } + + smiv2:alias "cevONS15500XvrT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.40"; + } + + smiv2:alias "cevONS15500XvrE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.41"; + } + + smiv2:alias "cevONS15500XvrDV" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.46.42"; + } + + smiv2:alias "cevModuleC4224Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.47"; + } + + smiv2:alias "cevC42241FeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.47.1"; + } + + smiv2:alias "cevC422424FeTx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.47.2"; + } + + smiv2:alias "cevModuleONS15454Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.48"; + } + + smiv2:alias "cevONS15454FeCE100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.48.3"; + } + + smiv2:alias "cevONS15454Ge10ML2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.48.4"; + } + + smiv2:alias "cevONS15454Ge10CE2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.48.5"; + } + + smiv2:alias "cevONS15454cptPtf25610GX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.48.9"; + } + + smiv2:alias "cevModuleCat37xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50"; + } + + smiv2:alias "cevModuleCat375024" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.1"; + } + + smiv2:alias "cevModuleCat375048" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.2"; + } + + smiv2:alias "cevModuleCat375024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.3"; + } + + smiv2:alias "cevModuleCat375024T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.4"; + } + + smiv2:alias "cevModuleCat3750Ge12Sfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.6"; + } + + smiv2:alias "cevModuleCat375048PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.7"; + } + + smiv2:alias "cevModuleCat375024PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.8"; + } + + smiv2:alias "cevModuleCat375024ME" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.9"; + } + + smiv2:alias "cevModuleCat3750G16TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.10"; + } + + smiv2:alias "cevModuleCat3750G24PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.11"; + } + + smiv2:alias "cevModuleCat3750G48PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.12"; + } + + smiv2:alias "cevModuleCat3750G48TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.13"; + } + + smiv2:alias "cevModuleCat3750G24TS1U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.14"; + } + + smiv2:alias "cevModuleCat375024FS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.16"; + } + + smiv2:alias "cevModuleCat3750Ge12SfpDc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.17"; + } + + smiv2:alias "cevModuleCat3750G24WS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.18"; + } + + smiv2:alias "cevModuleCat3750E24TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.19"; + } + + smiv2:alias "cevModuleCat3750E48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.20"; + } + + smiv2:alias "cevModuleCat3750E48PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.21"; + } + + smiv2:alias "cevModuleCat3750E24PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.22"; + } + + smiv2:alias "cevModuleCat3750v248ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.23"; + } + + smiv2:alias "cevModuleCat3750v248ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.24"; + } + + smiv2:alias "cevModuleCat3750v224ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.25"; + } + + smiv2:alias "cevModuleCat3750v224ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.26"; + } + + smiv2:alias "cevModuleCat3750x24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.27"; + } + + smiv2:alias "cevModuleCat3750x48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.28"; + } + + smiv2:alias "cevModuleCat3750x24P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.29"; + } + + smiv2:alias "cevModuleCat3750x48P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.50.30"; + } + + smiv2:alias "cevModuleSFPType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51"; + } + + smiv2:alias "cevSFPOc3mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.1"; + } + + smiv2:alias "cevSFPOc12mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.2"; + } + + smiv2:alias "cevSFPOc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.3"; + } + + smiv2:alias "cevSFPOc3Oc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.4"; + } + + smiv2:alias "cevSFPOc3Oc12Oc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.5"; + } + + smiv2:alias "cevSFP1000BaseSx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.6"; + } + + smiv2:alias "cevSFP1000BaseLx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.7"; + } + + smiv2:alias "cevSFP1000BaseT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.8"; + } + + smiv2:alias "cevSFP1000BaseZx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.9"; + } + + smiv2:alias "cevSFPCwdm1470" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.10"; + } + + smiv2:alias "cevSFPCwdm1490" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.11"; + } + + smiv2:alias "cevSFPCwdm1510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.12"; + } + + smiv2:alias "cevSFPCwdm1530" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.13"; + } + + smiv2:alias "cevSFPCwdm1550" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.14"; + } + + smiv2:alias "cevSFPCwdm1570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.15"; + } + + smiv2:alias "cevSFPCwdm1590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.16"; + } + + smiv2:alias "cevSFPCwdm1610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.17"; + } + + smiv2:alias "cevSFP1000BaseLh" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.18"; + } + + smiv2:alias "cevSFP1000BaseCx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.19"; + } + + smiv2:alias "cevSFPOc3smir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.20"; + } + + smiv2:alias "cevSFPOc3smlr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.21"; + } + + smiv2:alias "cevSFPOc12smir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.22"; + } + + smiv2:alias "cevSFPOc12smlr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.23"; + } + + smiv2:alias "cevSFPOc48smsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.24"; + } + + smiv2:alias "cevSFPOc48smir" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.25"; + } + + smiv2:alias "cevSFPOc48smlr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.26"; + } + + smiv2:alias "cevXFPOc192smsr1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.27"; + } + + smiv2:alias "cevXFPOc192smir2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.28"; + } + + smiv2:alias "cevXFPOc192smlr2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.29"; + } + + smiv2:alias "cevSFPCable50cm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.30"; + } + + smiv2:alias "cevSFPOc48smlr2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.33"; + } + + smiv2:alias "cevSFPOc3smsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.34"; + } + + smiv2:alias "cevSFPOc12smsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.35"; + } + + smiv2:alias "cevSFPOc48mm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.36"; + } + + smiv2:alias "cevSFPDwdm3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.37"; + } + + smiv2:alias "cevSFPDwdm3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.38"; + } + + smiv2:alias "cevSFPDwdm3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.39"; + } + + smiv2:alias "cevSFPDwdm3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.40"; + } + + smiv2:alias "cevSFPDwdm3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.41"; + } + + smiv2:alias "cevSFPDwdm3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.42"; + } + + smiv2:alias "cevSFPDwdm3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.43"; + } + + smiv2:alias "cevSFPDwdm3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.44"; + } + + smiv2:alias "cevSFPDwdm3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.45"; + } + + smiv2:alias "cevSFPDwdm3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.46"; + } + + smiv2:alias "cevSFPDwdm3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.47"; + } + + smiv2:alias "cevSFPDwdm4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.48"; + } + + smiv2:alias "cevSFPDwdm4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.49"; + } + + smiv2:alias "cevSFPDwdm4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.50"; + } + + smiv2:alias "cevSFPDwdm4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.51"; + } + + smiv2:alias "cevSFPDwdm4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.52"; + } + + smiv2:alias "cevSFPDwdm4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.53"; + } + + smiv2:alias "cevSFPDwdm4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.54"; + } + + smiv2:alias "cevSFPDwdm4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.55"; + } + + smiv2:alias "cevSFPDwdm4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.56"; + } + + smiv2:alias "cevSFPDwdm5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.57"; + } + + smiv2:alias "cevSFPDwdm5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.58"; + } + + smiv2:alias "cevSFPDwdm5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.59"; + } + + smiv2:alias "cevSFPDwdm5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.60"; + } + + smiv2:alias "cevSFPDwdm5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.61"; + } + + smiv2:alias "cevSFPDwdm5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.62"; + } + + smiv2:alias "cevSFPDwdm5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.63"; + } + + smiv2:alias "cevSFPDwdm5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.64"; + } + + smiv2:alias "cevSFPDwdm5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.65"; + } + + smiv2:alias "cevSFPDwdm5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.66"; + } + + smiv2:alias "cevSFPDwdm5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.67"; + } + + smiv2:alias "cevSFPDwdm6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.68"; + } + + smiv2:alias "cevSFP1000BaseBX10D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.69"; + } + + smiv2:alias "cevSFP1000BaseBX10U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.70"; + } + + smiv2:alias "cevSFP100BaseFX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.71"; + } + + smiv2:alias "cevSFP100BaseLX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.72"; + } + + smiv2:alias "cevSFP100BaseSX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.73"; + } + + smiv2:alias "cevSFP100BaseZX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.74"; + } + + smiv2:alias "cevSFP100BaseEX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.75"; + } + + smiv2:alias "cevSFP100BaseBX10D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.76"; + } + + smiv2:alias "cevSFP100BaseBX10U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.77"; + } + + smiv2:alias "cevSFPDwdmXFP6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.78"; + } + + smiv2:alias "cevSFPDwdmXFP5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.79"; + } + + smiv2:alias "cevSFPDwdmXFP5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.80"; + } + + smiv2:alias "cevSFPDwdmXFP5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.81"; + } + + smiv2:alias "cevSFPDwdmXFP5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.82"; + } + + smiv2:alias "cevSFPDwdmXFP5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.83"; + } + + smiv2:alias "cevSFPDwdmXFP5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.84"; + } + + smiv2:alias "cevSFPDwdmXFP5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.85"; + } + + smiv2:alias "cevSFPDwdmXFP5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.86"; + } + + smiv2:alias "cevSFPDwdmXFP5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.87"; + } + + smiv2:alias "cevSFPDwdmXFP5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.88"; + } + + smiv2:alias "cevSFPDwdmXFP5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.89"; + } + + smiv2:alias "cevSFPDwdmXFP4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.90"; + } + + smiv2:alias "cevSFPDwdmXFP4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.91"; + } + + smiv2:alias "cevSFPDwdmXFP4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.92"; + } + + smiv2:alias "cevSFPDwdmXFP4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.93"; + } + + smiv2:alias "cevSFPDwdmXFP4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.94"; + } + + smiv2:alias "cevSFPDwdmXFP4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.95"; + } + + smiv2:alias "cevSFPDwdmXFP4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.96"; + } + + smiv2:alias "cevSFPDwdmXFP4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.97"; + } + + smiv2:alias "cevSFPDwdmXFP4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.98"; + } + + smiv2:alias "cevSFPDwdmXFP3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.99"; + } + + smiv2:alias "cevSFPDwdmXFP3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.100"; + } + + smiv2:alias "cevSFPDwdmXFP3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.101"; + } + + smiv2:alias "cevSFPDwdmXFP3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.102"; + } + + smiv2:alias "cevSFPDwdmXFP3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.103"; + } + + smiv2:alias "cevSFPDwdmXFP3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.104"; + } + + smiv2:alias "cevSFPDwdmXFP3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.105"; + } + + smiv2:alias "cevSFPDwdmXFP3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.106"; + } + + smiv2:alias "cevSFPDwdmXFP3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.107"; + } + + smiv2:alias "cevSFPDwdmXFP3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.108"; + } + + smiv2:alias "cevSFPDwdmXFP3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.109"; + } + + smiv2:alias "cevSFPDwdm6141" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.110"; + } + + smiv2:alias "cevSFPDwdm5736" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.111"; + } + + smiv2:alias "cevSFPDwdm5332" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.112"; + } + + smiv2:alias "cevSFPDwdm4931" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.113"; + } + + smiv2:alias "cevSFPDwdm4532" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.114"; + } + + smiv2:alias "cevSFPDwdm4134" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.115"; + } + + smiv2:alias "cevSFPDwdm3739" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.116"; + } + + smiv2:alias "cevSFPDwdm3346" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.117"; + } + + smiv2:alias "cevSFPUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.118"; + } + + smiv2:alias "cevXFPUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.119"; + } + + smiv2:alias "cevSFPStm1E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.120"; + } + + smiv2:alias "cevXFPmmsr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.121"; + } + + smiv2:alias "cevXFR10gMMSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.122"; + } + + smiv2:alias "cevSFPTDwdmXfp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.123"; + } + + smiv2:alias "cevXFP10GLR192SRL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.124"; + } + + smiv2:alias "cevXFP10GER192IRL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.125"; + } + + smiv2:alias "cevSFPCiscoSfpT3Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.126"; + } + + smiv2:alias "cevSFPT1E1Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.127"; + } + + smiv2:alias "cevSFPT3E3Fe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.128"; + } + + smiv2:alias "cevXFPDWDMXFPC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.129"; + } + + smiv2:alias "cevXFP10GLROC192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.130"; + } + + smiv2:alias "cevXFP10GER192IR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.131"; + } + + smiv2:alias "cevXFP10GZROC192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.132"; + } + + smiv2:alias "cevXFP10GMMSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.133"; + } + + smiv2:alias "cevSFPGLC2BXD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.134"; + } + + smiv2:alias "cevSFPGLC2BXU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.135"; + } + + smiv2:alias "cevSFPGLCFE1002BX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.136"; + } + + smiv2:alias "cevSFPGLCFE1002BXU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.137"; + } + + smiv2:alias "cevSFPGlcSxMmd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.138"; + } + + smiv2:alias "cevSFPGlcTe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.139"; + } + + smiv2:alias "cevSFPGlcZxSmd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.140"; + } + + smiv2:alias "cevSFPGlcExSmd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.141"; + } + + smiv2:alias "cevSFPGlcLhSmd" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.142"; + } + + smiv2:alias "cevSFP100BaseF" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.143"; + } + + smiv2:alias "cevSFPDSSFPFC16GSW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.144"; + } + + smiv2:alias "cevSFDSSFPFC16GLW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.145"; + } + + smiv2:alias "cevSFPGLCGE100FX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.146"; + } + + smiv2:alias "cevSFPCwdmXFP1570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.147"; + } + + smiv2:alias "cevSFPCwdmXFP1470" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.148"; + } + + smiv2:alias "cevSFPCwdmXFP1490" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.149"; + } + + smiv2:alias "cevSFPCwdmXFP1510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.150"; + } + + smiv2:alias "cevSFPCwdmXFP1530" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.151"; + } + + smiv2:alias "cevSFPCwdmXFP1550" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.152"; + } + + smiv2:alias "cevSFPCwdmXFP1590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.153"; + } + + smiv2:alias "cevSFPCwdmXFP1610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.154"; + } + + smiv2:alias "cevSFP1000BaseBX40D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.155"; + } + + smiv2:alias "cevSFP1000BaseBX40U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.156"; + } + + smiv2:alias "cevSFP1000BaseBX80D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.157"; + } + + smiv2:alias "cevSFP1000BaseBX80U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.158"; + } + + smiv2:alias "cevSFP100BaseGlcExFe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.159"; + } + + smiv2:alias "cevSFP100BaseGlcZxFe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.160"; + } + + smiv2:alias "cevSFPONSSIGESX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.186"; + } + + smiv2:alias "cevSFPONSSIGELX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.187"; + } + + smiv2:alias "cevSFPONSSIGEZX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.188"; + } + + smiv2:alias "cevSFPONSSEZEEL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.189"; + } + + smiv2:alias "cevSFPONSSI2GS1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.190"; + } + + smiv2:alias "cevSFPONSSI2GL1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.191"; + } + + smiv2:alias "cevSFPONSSI2GL2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.192"; + } + + smiv2:alias "cevSFPONSSEZ1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.193"; + } + + smiv2:alias "cevSSFPOAM1000BaseZX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.200"; + } + + smiv2:alias "cevSSFPOAM1000BaseLX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.201"; + } + + smiv2:alias "cevSFPGLCBX40UI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.202"; + } + + smiv2:alias "cevSFPGLCBX40DI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.203"; + } + + smiv2:alias "cevSFPGLCBX40DAI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.204"; + } + + smiv2:alias "cevSFPGLCBX80UI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.205"; + } + + smiv2:alias "cevSFPGLCBX80DI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.206"; + } + + smiv2:alias "cevSFP100BaseGlcFeBxU" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.249"; + } + + smiv2:alias "cevSFP100BaseGlcFeBxD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.51.250"; + } + + smiv2:alias "cevModuleONS15200Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.52"; + } + + smiv2:alias "cevONS15252Clip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.52.1"; + } + + smiv2:alias "cevONS15201Clip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.52.2"; + } + + smiv2:alias "cevONS15252Ncb" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.52.3"; + } + + smiv2:alias "cevModuleMDSType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53"; + } + + smiv2:alias "cevMDSDsX9530Sf1K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.1"; + } + + smiv2:alias "cevMDSRedDsX9530Sf1K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.2"; + } + + smiv2:alias "cevMDSDsX9016" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.3"; + } + + smiv2:alias "cevMDSDsX9032" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.4"; + } + + smiv2:alias "cevMDSDsX9032Smv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.5"; + } + + smiv2:alias "cevMDSDsX9308Smip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.6"; + } + + smiv2:alias "cevMDSDsX9560Smc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.7"; + } + + smiv2:alias "cevMDSDsSfpFc2Gsw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.8"; + } + + smiv2:alias "cevMDSDsSfpFc2Glw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.9"; + } + + smiv2:alias "cevMDSDsSfpGeSw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.10"; + } + + smiv2:alias "cevMDSDsSfpGeLw" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.11"; + } + + smiv2:alias "cevMDSDsC9500Cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.12"; + } + + smiv2:alias "cevMDSDsX9216K9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.13"; + } + + smiv2:alias "cevMDSMemFld512M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.14"; + } + + smiv2:alias "cevMDSMemMd1G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.15"; + } + + smiv2:alias "cevMDSDsC9509Cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.16"; + } + + smiv2:alias "cevMDSDsC9506Cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.17"; + } + + smiv2:alias "cevMDSDsX9140K9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.18"; + } + + smiv2:alias "cevMDSDsX9120K9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.19"; + } + + smiv2:alias "cevMDSDsX9032Sma" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.20"; + } + + smiv2:alias "cevMDSDsX9216Mgt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.21"; + } + + smiv2:alias "cevMDSDsX930214K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.22"; + } + + smiv2:alias "cevMDSDsX9202" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.23"; + } + + smiv2:alias "cevMDSDsX9304Smip" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.24"; + } + + smiv2:alias "cevMDSDsX9132K9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.25"; + } + + smiv2:alias "cevMDSDsX9116K9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.26"; + } + + smiv2:alias "cevMDSDsX9216IK9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.27"; + } + + smiv2:alias "cevMDSDsX9530Sf2K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.28"; + } + + smiv2:alias "cevMDSDsX9112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.29"; + } + + smiv2:alias "cevMDSDsX9124" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.30"; + } + + smiv2:alias "cevMDSDsX9148" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.31"; + } + + smiv2:alias "cevMDSDsX9704" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.32"; + } + + smiv2:alias "cevMDSDs13SltFab1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.33"; + } + + smiv2:alias "cevMDSDsC9513Cl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.34"; + } + + smiv2:alias "cevMDSDsX9124S2K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.35"; + } + + smiv2:alias "cevMDSDsIBMFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.36"; + } + + smiv2:alias "cevMDSDsHPFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.37"; + } + + smiv2:alias "cevMDSDsX9222iK9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.38"; + } + + smiv2:alias "cevMDSDxX930418K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.39"; + } + + smiv2:alias "cevMDSDsX9134S2K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.40"; + } + + smiv2:alias "cevMdsDSC9222iK9Sup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.41"; + } + + smiv2:alias "cevMDSDsX9248FC48Gbps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.42"; + } + + smiv2:alias "cevMDSDsX9248FC96Gbps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.43"; + } + + smiv2:alias "cevMDSDsX9316SSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.44"; + } + + smiv2:alias "cevMDSDs13SltFab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.45"; + } + + smiv2:alias "cevMDSDsX922496k9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.46"; + } + + smiv2:alias "cevMDSDsX9716K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.52"; + } + + smiv2:alias "cevMDSDsX9248x256K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.53"; + } + + smiv2:alias "cevMDSDsX9232x256K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.54"; + } + + smiv2:alias "cevMDSDs13SlotFabricEvia3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.55"; + } + + smiv2:alias "cevMDSDsX9530Sf2AK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.56"; + } + + smiv2:alias "cevMDSDs9708HPK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.57"; + } + + smiv2:alias "cevMDSDs9708K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.58"; + } + + smiv2:alias "cevMDSDSX9448n768K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.61"; + } + + smiv2:alias "cevMDSDSX9848n480K9SM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.62"; + } + + smiv2:alias "cevMDSDSX97SF1K9SUP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.63"; + } + + smiv2:alias "cevMDSDSX9710FAB1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.64"; + } + + smiv2:alias "cevMDS9710FCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.65"; + } + + smiv2:alias "cevMDS9250iIFSPS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.66"; + } + + smiv2:alias "cevMDS9250iIFSDC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.67"; + } + + smiv2:alias "cevMDSDSC9250i22PK9SUPFS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.68"; + } + + smiv2:alias "cevMDSDSX9848480K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.69"; + } + + smiv2:alias "cevMDSDSX9706FAB1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.70"; + } + + smiv2:alias "cevMDSDSC9148SK9SUP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.71"; + } + + smiv2:alias "cevMDSDSC9396SK9SUP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.53.72"; + } + + smiv2:alias "cevModuleC3220Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.54"; + } + + smiv2:alias "cevC3220Smic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.54.1"; + } + + smiv2:alias "cevC3220Fesmic" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.54.2"; + } + + smiv2:alias "cevModuleCrs1Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55"; + } + + smiv2:alias "cevModuleCrs1RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.1"; + } + + smiv2:alias "cevModuleCrs1DRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.2"; + } + + smiv2:alias "cevModuleCrs18sS123Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.3"; + } + + smiv2:alias "cevModuleCrs116sS123Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.4"; + } + + smiv2:alias "cevModuleCrs116dS123TFabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.5"; + } + + smiv2:alias "cevModuleCrs116mS13Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.6"; + } + + smiv2:alias "cevModuleCrs116mS2CCFabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.7"; + } + + smiv2:alias "cevModuleCrs116mS2Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.8"; + } + + smiv2:alias "cevModuleCrs1FanCtrllrLC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.9"; + } + + smiv2:alias "cevModuleCrs116mS2FanCtrllrFabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.10"; + } + + smiv2:alias "cevModuleCrs1Alarm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.11"; + } + + smiv2:alias "cevModuleCrs116mFabricLED" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.12"; + } + + smiv2:alias "cevModuleCrs1DRPPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.13"; + } + + smiv2:alias "cevModuleCrs116OC48Plim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.14"; + } + + smiv2:alias "cevModuleCrs14OC192VSRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.15"; + } + + smiv2:alias "cevModuleCrs14OC192SRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.16"; + } + + smiv2:alias "cevModulecrs14OC192LRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.17"; + } + + smiv2:alias "cevModuleCrs1OC768VSRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.18"; + } + + smiv2:alias "cevModuleCrs1OC768SRPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.19"; + } + + smiv2:alias "cevModuleCrs16x10GePlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.20"; + } + + smiv2:alias "cevModuleCrs18x10GePlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.21"; + } + + smiv2:alias "cevModuleCrs18RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.22"; + } + + smiv2:alias "cevModuleCrs18Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.23"; + } + + smiv2:alias "cevModuleCrs1FabricShelfController" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.24"; + } + + smiv2:alias "cevModuleCrs1FabricSwitchFabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.25"; + } + + smiv2:alias "cevModuleCrs1FabricLEDModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.26"; + } + + smiv2:alias "cevModuleCrs1FabricOIMSingleSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.27"; + } + + smiv2:alias "cevModuleCrs1FabricOIMDualSlot" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.28"; + } + + smiv2:alias "cevModuleCrs18dS123Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.29"; + } + + smiv2:alias "cevModuleCrs18mS123Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.30"; + } + + smiv2:alias "cevModuleCrs116dS123Fabric" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.31"; + } + + smiv2:alias "cevModuleCrs1FccSc22Ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.32"; + } + + smiv2:alias "cevModuleCrs1FccSFEc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.33"; + } + + smiv2:alias "cevModuleCrs14x10GeCDwdmPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.34"; + } + + smiv2:alias "cevModuleCrs14OC192CDwdmPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.35"; + } + + smiv2:alias "cevModuleCrs1OC768CDwdmPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.36"; + } + + smiv2:alias "cevModuleCrs1DRPBPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.37"; + } + + smiv2:alias "cevModuleCrs1DRPB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.38"; + } + + smiv2:alias "cevModuleCrs1OC768CDwdmDpskC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.39"; + } + + smiv2:alias "cevModuleCrs14FabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.42"; + } + + smiv2:alias "cevModuleCrsASPLIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.43"; + } + + smiv2:alias "cevModuleCrs4OC192DptLr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.44"; + } + + smiv2:alias "cevModuleCrs4OC192DptSr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.45"; + } + + smiv2:alias "cevModuleCrs4OC192DptVs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.46"; + } + + smiv2:alias "cevModuleCrs14x10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.47"; + } + + smiv2:alias "cevModuleCrs142x1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.48"; + } + + smiv2:alias "cevModuleCrs120x1GeFl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.49"; + } + + smiv2:alias "cevModuleCrs12x10GeFl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.50"; + } + + smiv2:alias "cevModuleCrs116Alarm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.51"; + } + + smiv2:alias "cevModuleCrs14x10GbeWLXfpPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.52"; + } + + smiv2:alias "cevModuleCrs18x10GbeWLXfpPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.53"; + } + + smiv2:alias "cevModuleCrs1LcB40G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.54"; + } + + smiv2:alias "cevModuleCrs1Lc40G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.55"; + } + + smiv2:alias "cevModuleCrs114X10GBEWLXFPPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.56"; + } + + smiv2:alias "cevModuleCrs120X10GBEWLXFPPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.57"; + } + + smiv2:alias "cevModuleCrs11X100GBEPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.58"; + } + + smiv2:alias "cevModuleCrs8Prp12g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.59"; + } + + smiv2:alias "cevModuleCrs8Prp6g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.60"; + } + + smiv2:alias "cevModuleCrs16Prp12g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.61"; + } + + smiv2:alias "cevModuleCrs16Prp6g" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.62"; + } + + smiv2:alias "cevModuleCrs16FanCtB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.63"; + } + + smiv2:alias "cevModuleCrs16AlarmMB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.64"; + } + + smiv2:alias "cevModuleCrs16LccFCtB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.65"; + } + + smiv2:alias "cevModuleCrs114X10GBEDwdmXfpPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.66"; + } + + smiv2:alias "cevModuleCrs120X10GBEDwdmXfpPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.67"; + } + + smiv2:alias "cevModuleCrs14X40GBEOtu3Plim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.68"; + } + + smiv2:alias "cevModuleCrs11X100GBEDwdmPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.69"; + } + + smiv2:alias "cevModuleCrsCgsePlusPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.72"; + } + + smiv2:alias "cevModuleCrs140X10GEWLOPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.73"; + } + + smiv2:alias "cevModuleCrs14x100GELOPlim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.74"; + } + + smiv2:alias "cevModuleCrs12X100GELOFlex40Plim" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.55.75"; + } + + smiv2:alias "cevModuleCat35xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56"; + } + + smiv2:alias "cevModuleCat356024PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.1"; + } + + smiv2:alias "cevModuleCat356048PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.2"; + } + + smiv2:alias "cevModuleCat3560G24PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.3"; + } + + smiv2:alias "cevModuleCat3560G24TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.4"; + } + + smiv2:alias "cevModuleCat3560G48PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.5"; + } + + smiv2:alias "cevModuleCat3560G48TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.6"; + } + + smiv2:alias "cevModuleCat356024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.7"; + } + + smiv2:alias "cevModuleCat356048TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.8"; + } + + smiv2:alias "cevModuleCat3560E24TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.9"; + } + + smiv2:alias "cevModuleCat3560E48TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.10"; + } + + smiv2:alias "cevModuleCat3560E24PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.11"; + } + + smiv2:alias "cevModuleCat3560E48PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.12"; + } + + smiv2:alias "cevModuleCat35608PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.13"; + } + + smiv2:alias "cevModuleCat3560e12d" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.14"; + } + + smiv2:alias "cevModuleCat3560E12SD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.15"; + } + + smiv2:alias "cevModuleCat356012PCS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.16"; + } + + smiv2:alias "cevModuleCat3560v248ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.17"; + } + + smiv2:alias "cevModuleCat3560v248ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.18"; + } + + smiv2:alias "cevModuleCat3560v224ps" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.19"; + } + + smiv2:alias "cevModuleCat3560v224ts" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.20"; + } + + smiv2:alias "cevModuleCat3560v224tsD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.21"; + } + + smiv2:alias "cevModuleCat3560x24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.22"; + } + + smiv2:alias "cevModuleCat3560x48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.23"; + } + + smiv2:alias "cevModuleWsC3560CPD8ptS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.28"; + } + + smiv2:alias "cevModuleWsC3560C12pcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.29"; + } + + smiv2:alias "cevModuleWsC3560C8pcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.56.30"; + } + + smiv2:alias "cevModuleASA5523Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57"; + } + + smiv2:alias "cevMASA5523IsmSsmIds20K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.1"; + } + + smiv2:alias "cevMASA5523PmSsmIO4ge" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.2"; + } + + smiv2:alias "cevMASA5523IsmSsmIds10K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.3"; + } + + smiv2:alias "cevPmSsmIO4geInc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.4"; + } + + smiv2:alias "cevMASA5523IsmSsmCsc10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.5"; + } + + smiv2:alias "cevMASA5523IsmSsmCsc20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.6"; + } + + smiv2:alias "cevMASA5523IsmSsmIds40K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.57.7"; + } + + smiv2:alias "cevModuleUmg9820Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.58"; + } + + smiv2:alias "cevModuleUmg9820GigEProc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.58.1"; + } + + smiv2:alias "cevModuleUmg9820QamCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.58.2"; + } + + smiv2:alias "cevModuleONS15310Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.59"; + } + + smiv2:alias "cevONS15310FeML100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.59.1"; + } + + smiv2:alias "cevONS15310FeCE100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.59.2"; + } + + smiv2:alias "cevONS15310Ge8CE2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.59.3"; + } + + smiv2:alias "cevModuleX2s" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60"; + } + + smiv2:alias "cevMX210GBaseSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.1"; + } + + smiv2:alias "cevMX210GBaseLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.2"; + } + + smiv2:alias "cevMX210GBaseER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.3"; + } + + smiv2:alias "cevMX210GBaseLX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.4"; + } + + smiv2:alias "cevMX210GBaseCX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.5"; + } + + smiv2:alias "cevMX210GBaseZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.6"; + } + + smiv2:alias "cevMX210GBaseLW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.7"; + } + + smiv2:alias "cevMX210GBaseLRM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.8"; + } + + smiv2:alias "cevMX210GBaseT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.9"; + } + + smiv2:alias "cevMX2s10GBaseWdmRxOnly" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.10"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.11"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.13"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.14"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.15"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.16"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.17"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.18"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.19"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.20"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.21"; + } + + smiv2:alias "cevMX2s10GBaseDwdm3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.22"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.23"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.24"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.25"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.26"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.27"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.28"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.29"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.30"; + } + + smiv2:alias "cevMX2s10GBaseDwdm4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.31"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.32"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.33"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.34"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.35"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.36"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.37"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.38"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.39"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.40"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.41"; + } + + smiv2:alias "cevMX2s10GBaseDwdm5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.42"; + } + + smiv2:alias "cevMX2s10GBaseDwdm6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.43"; + } + + smiv2:alias "cevMX210GEBaseT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.60.44"; + } + + smiv2:alias "cevModuleCE5xxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63"; + } + + smiv2:alias "cevModuleCE50024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.1"; + } + + smiv2:alias "cevModuleCE50024LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.2"; + } + + smiv2:alias "cevModuleCE50024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.3"; + } + + smiv2:alias "cevModuleCE500G12TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.4"; + } + + smiv2:alias "cevModuleCE5208PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.5"; + } + + smiv2:alias "cevModuleCE52024PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.6"; + } + + smiv2:alias "cevModuleCE52024TT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.7"; + } + + smiv2:alias "cevModuleCE52024LC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.8"; + } + + smiv2:alias "cevModule520G24TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.63.9"; + } + + smiv2:alias "cevModuleMEType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64"; + } + + smiv2:alias "cevModuleME240024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.1"; + } + + smiv2:alias "cevModuleME340024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.2"; + } + + smiv2:alias "cevModuleME3400G12CS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.3"; + } + + smiv2:alias "cevModuleME3400G2CS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.4"; + } + + smiv2:alias "cevModuleME492410GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.5"; + } + + smiv2:alias "cevModuleME340024FS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.6"; + } + + smiv2:alias "cevModuleME3400E24TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.7"; + } + + smiv2:alias "cevModuleME3400EG12CS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.8"; + } + + smiv2:alias "cevModuleME3400EG2CS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.9"; + } + + smiv2:alias "cevModuleME3600X24FS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.10"; + } + + smiv2:alias "cevModuleME3600X24TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.11"; + } + + smiv2:alias "cevModuleME3800X24FS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.64.12"; + } + + smiv2:alias "cevModuleCat4000EType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65"; + } + + smiv2:alias "cevCat4kWsx45Sup6e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.1"; + } + + smiv2:alias "cevCat4kWsx4648Rj45e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.2"; + } + + smiv2:alias "cevCat4kWsx4648Rj45ve" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.3"; + } + + smiv2:alias "cevCat4kWsx4606X2e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.4"; + } + + smiv2:alias "cevCat4kWsx4624Sfpe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.5"; + } + + smiv2:alias "cevCat4kWsx4590E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.7"; + } + + smiv2:alias "cevCat4kWsx4648Rj45je" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.9"; + } + + smiv2:alias "cevCat4kWsx4648Rj45vPlusE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.10"; + } + + smiv2:alias "cevCat4kWsx45Sup6LE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.13"; + } + + smiv2:alias "cevCat4kWsx45Sup7e" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.14"; + } + + smiv2:alias "cevCat4kWsx4748Rj45VPlusE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.15"; + } + + smiv2:alias "cevCat4kWsx4712SfpPlusE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.16"; + } + + smiv2:alias "cevCat4kWsx4612SfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.17"; + } + + smiv2:alias "cevCat4kWsx4640CSfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.18"; + } + + smiv2:alias "cevCatWsX4748Rj45E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.19"; + } + + smiv2:alias "cevCat4kWsX4748NgpoeE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.20"; + } + + smiv2:alias "cevCat4kWsx4712SfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.21"; + } + + smiv2:alias "cevCat4kWsx4724SfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.22"; + } + + smiv2:alias "cevCat4kWsx4748SfpE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.65.23"; + } + + smiv2:alias "cevModuleN7KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66"; + } + + smiv2:alias "cevN7KSup1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.1"; + } + + smiv2:alias "cevN7KM148GT04" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.2"; + } + + smiv2:alias "cevN7KM132XP08" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.3"; + } + + smiv2:alias "cevN7Kc7010Fab40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.4"; + } + + smiv2:alias "cevN7KM148GS11" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.5"; + } + + smiv2:alias "cevN7Kc7018Fab1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.6"; + } + + smiv2:alias "cevN7KF132Xp15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.7"; + } + + smiv2:alias "cevN7KM108X212" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.8"; + } + + smiv2:alias "cevN7KM108X212L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.9"; + } + + smiv2:alias "cevN7KM148GS11L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.10"; + } + + smiv2:alias "cevN7KM116XP22L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.11"; + } + + smiv2:alias "cevN7KM108XP22L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.12"; + } + + smiv2:alias "cevN7KM132XP12L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.13"; + } + + smiv2:alias "cevN7Kc7009Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.14"; + } + + smiv2:alias "cevN7Kc7010Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.16"; + } + + smiv2:alias "cevN7Kc7018Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.17"; + } + + smiv2:alias "cevN7KF248XP24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.18"; + } + + smiv2:alias "cevN7KF248XT24" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.19"; + } + + smiv2:alias "cevN7KSUP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.20"; + } + + smiv2:alias "cevN7KM202CF22L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.21"; + } + + smiv2:alias "cevN7KM206FQ23L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.22"; + } + + smiv2:alias "cevN7KM148GT11L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.23"; + } + + smiv2:alias "cevN7KSMNAMK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.27"; + } + + smiv2:alias "cevN7KFabricExtenderConnectionCable" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.31"; + } + + smiv2:alias "cevN7KM224XP23L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.32"; + } + + smiv2:alias "cevN7KSUP2E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.33"; + } + + smiv2:alias "cevN7KForwardingEngine" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.34"; + } + + smiv2:alias "cevN7KF306CK25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.35"; + } + + smiv2:alias "cevN7KF312FQ25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.36"; + } + + smiv2:alias "cevN7KF248XT25E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.45"; + } + + smiv2:alias "cevN7KF248XP25E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.66.46"; + } + + smiv2:alias "cevModuleASA5580Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.67"; + } + + smiv2:alias "cevModuleASA5580Pm4x1geCu" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.67.1"; + } + + smiv2:alias "cevModuleASA5580Pm4x1geFi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.67.2"; + } + + smiv2:alias "cevModuleASA5580Pm2x10geFi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.67.3"; + } + + smiv2:alias "cevModuleASR1000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68"; + } + + smiv2:alias "cevModuleASR1000RP1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.1"; + } + + smiv2:alias "cevModuleASR1000ESP10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.2"; + } + + smiv2:alias "cevModuleASR1000SIP10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.3"; + } + + smiv2:alias "cevModuleASR1000UnknownRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.4"; + } + + smiv2:alias "cevModuleASR1000UnknownESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.5"; + } + + smiv2:alias "cevModuleASR1000UnknownSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.6"; + } + + smiv2:alias "cevModuleASR1002RP1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.7"; + } + + smiv2:alias "cevModuleASR1000ESP5" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.8"; + } + + smiv2:alias "cevModuleASR1000ESP20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.9"; + } + + smiv2:alias "cevModuleASR1002Spa4pGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.10"; + } + + smiv2:alias "cevModuleASR1002SIP10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.11"; + } + + smiv2:alias "cevModuleASR1000SIP40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.12"; + } + + smiv2:alias "cevModuleASR1000RP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.13"; + } + + smiv2:alias "cevModuleASR1000ESP10N" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.14"; + } + + smiv2:alias "cevModuleASR1002FESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.15"; + } + + smiv2:alias "cevModuleASR1002FSIP10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.16"; + } + + smiv2:alias "cevModuleASR1000ESP40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.17"; + } + + smiv2:alias "cevModuleASR1001RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.18"; + } + + smiv2:alias "cevModuleASR1001ESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.19"; + } + + smiv2:alias "cevModuleASR1001SIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.20"; + } + + smiv2:alias "cevModuleASR1001Spa4pGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.21"; + } + + smiv2:alias "cevModuleASR1001IDC2xOc3Pos" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.22"; + } + + smiv2:alias "cevModuleASR1001IDC4xT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.23"; + } + + smiv2:alias "cevModuleASR1001IDC8xChT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.24"; + } + + smiv2:alias "cevModuleASR1001IDC4xGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.25"; + } + + smiv2:alias "cevModuleASR1001IDCHDD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.26"; + } + + smiv2:alias "cevModuleASR1002XRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.27"; + } + + smiv2:alias "cevModuleASR1002XESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.28"; + } + + smiv2:alias "cevModuleASR1002XSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.29"; + } + + smiv2:alias "cevModuleASR1002X6xGeBuiltIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.30"; + } + + smiv2:alias "cevModuleASR1000ESP100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.31"; + } + + smiv2:alias "cevModuleASR1000ELC2xT20xGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.33"; + } + + smiv2:alias "cevModuleASR1000ELC40GModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.34"; + } + + smiv2:alias "cevModuleASR1002XCRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.35"; + } + + smiv2:alias "cevModuleASR1002XCESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.36"; + } + + smiv2:alias "cevModuleASR1002XCSIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.37"; + } + + smiv2:alias "cevModuleASR1002XC2xGeBuiltIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.68.38"; + } + + smiv2:alias "cevModuleCatRfgwType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69"; + } + + smiv2:alias "cevRfgwDtcc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69.1"; + } + + smiv2:alias "cevRfgwQam48ABC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69.2"; + } + + smiv2:alias "cevRfgwPort4Qam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69.3"; + } + + smiv2:alias "cevRfgwRfswitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69.4"; + } + + smiv2:alias "cevRfgwQam384ABC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.69.5"; + } + + smiv2:alias "cevModuleVgdType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.70"; + } + + smiv2:alias "cevVgdDfcCT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.70.1"; + } + + smiv2:alias "cevVgdDfcVFC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.70.2"; + } + + smiv2:alias "cevVgdDfcCarrier" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.70.3"; + } + + smiv2:alias "cevModuleIEType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71"; + } + + smiv2:alias "cevModuleIE30004TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.1"; + } + + smiv2:alias "cevModuleIE30008TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.2"; + } + + smiv2:alias "cevModuleIE30008TM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.3"; + } + + smiv2:alias "cevModuleIE30008FM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.4"; + } + + smiv2:alias "cevModuleRAIE1783MS06T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.5"; + } + + smiv2:alias "cevModuleRAIE1783MS10T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.6"; + } + + smiv2:alias "cevModuleRAIE1783MX08T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.7"; + } + + smiv2:alias "cevModuleRAIE1783MX08F" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.8"; + } + + smiv2:alias "cevModuleIE301016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.9"; + } + + smiv2:alias "cevModuleRAIE1783RMS06T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.13"; + } + + smiv2:alias "cevModuleRAIE1783RMS10T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.14"; + } + + smiv2:alias "cevModuleIE20004TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.15"; + } + + smiv2:alias "cevModuleIE20004T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.16"; + } + + smiv2:alias "cevModuleIE20004TSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.17"; + } + + smiv2:alias "cevModuleIE20004TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.18"; + } + + smiv2:alias "cevModuleIE20008TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.19"; + } + + smiv2:alias "cevModuleIE20008TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.20"; + } + + smiv2:alias "cevModuleIE200016TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.21"; + } + + smiv2:alias "cevModuleIE200016TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.22"; + } + + smiv2:alias "cevModuleIE200016TCGX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.23"; + } + + smiv2:alias "cevModuleRAIE1783BMS06SL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.24"; + } + + smiv2:alias "cevModuleRAIE1783BMS06SA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.25"; + } + + smiv2:alias "cevModuleRAIE1783BMS06TL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.26"; + } + + smiv2:alias "cevModuleRAIE1783BMS06TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.27"; + } + + smiv2:alias "cevModuleRAIE1783BMS06SGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.28"; + } + + smiv2:alias "cevModuleRAIE1783BMS06SGA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.29"; + } + + smiv2:alias "cevModuleRAIE1783BMS06TGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.30"; + } + + smiv2:alias "cevModuleRAIE1783BMS06TGA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.31"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.32"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.33"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.34"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CGA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.35"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.36"; + } + + smiv2:alias "cevModuleRAIE1783BMS10CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.37"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.38"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.39"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.40"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.41"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CGPK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.42"; + } + + smiv2:alias "cevModuleIE200016TCGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.52"; + } + + smiv2:alias "cevModuleIE200016TCGEP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.53"; + } + + smiv2:alias "cevModuleIE200016TCGNXP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.54"; + } + + smiv2:alias "cevModuleIE30004SM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.55"; + } + + smiv2:alias "cevModuleIE30008SM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.56"; + } + + smiv2:alias "cevModuleRAIE1783MX04S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.57"; + } + + smiv2:alias "cevModuleRAIE1783MX08S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.58"; + } + + smiv2:alias "cevModuleIE30004PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.59"; + } + + smiv2:alias "cevModuleIE30004PC4TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.60"; + } + + smiv2:alias "cevModuleRAIE1783MX04E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.61"; + } + + smiv2:alias "cevModuleRAIE1783MX04T04E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.62"; + } + + smiv2:alias "cevModuleIE20008TCGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.63"; + } + + smiv2:alias "cevModuleIE200016TCGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.64"; + } + + smiv2:alias "cevModuleRAIE1783BMS20CGN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.65"; + } + + smiv2:alias "cevModuleRAIE1783BMS12T4E2CGL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.66"; + } + + smiv2:alias "cevModuleRAIE1783BMS12T4E2CGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.67"; + } + + smiv2:alias "cevModuleRAIE1783BMS12T4E2CGNK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.68"; + } + + smiv2:alias "cevModuleIem30004Pc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.69"; + } + + smiv2:alias "cevModuleIem30004Pc4TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.70"; + } + + smiv2:alias "cevModule1783MX04E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.71"; + } + + smiv2:alias "cevModule1783MX04T04E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.72"; + } + + smiv2:alias "cevModuleIE20008T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.79"; + } + + smiv2:alias "cevModuleIE200016T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.80"; + } + + smiv2:alias "cevModuleIE200024T67B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.81"; + } + + smiv2:alias "cevModuleIE20008T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.82"; + } + + smiv2:alias "cevModuleIE200016T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.83"; + } + + smiv2:alias "cevModuleRAIE1783ZMS8TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.84"; + } + + smiv2:alias "cevModuleRAIE1783ZMS16TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.85"; + } + + smiv2:alias "cevModuleRAIE1783ZMS24TA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.86"; + } + + smiv2:alias "cevModuleRAIE1783ZMS4T4E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.87"; + } + + smiv2:alias "cevModuleRAIE1783ZMS8T8E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.88"; + } + + smiv2:alias "cevModuleIE2000U4STSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.89"; + } + + smiv2:alias "cevModuleIE2000U16TCGP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.90"; + } + + smiv2:alias "cevModuleIE2000U4TG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.91"; + } + + smiv2:alias "cevModuleIE2000U4TSG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.92"; + } + + smiv2:alias "cevModuleIE2000U8TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.93"; + } + + smiv2:alias "cevModuleIE2000U16TCG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.94"; + } + + smiv2:alias "cevModuleIE2000U16TCGX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.71.95"; + } + + smiv2:alias "cevModuleN5KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72"; + } + + smiv2:alias "cevN5kM1008" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.1"; + } + + smiv2:alias "cevN5KM1404" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.2"; + } + + smiv2:alias "cevN5kM1Blnk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.3"; + } + + smiv2:alias "cevN5KM1600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.4"; + } + + smiv2:alias "cevN5kC5020FixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.5"; + } + + smiv2:alias "cevN5kC5010FixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.6"; + } + + smiv2:alias "cevN5kFabricExtenderConnection" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.7"; + } + + smiv2:alias "cevN5kC5548pFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.10"; + } + + smiv2:alias "cevN5KN55M16P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.11"; + } + + smiv2:alias "cevN5KN55M8P8FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.12"; + } + + smiv2:alias "cevN5KN55M16UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.13"; + } + + smiv2:alias "cevN5KN55DL2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.14"; + } + + smiv2:alias "cevN5KN55D160L3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.15"; + } + + smiv2:alias "cevN5KN55M160L3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.16"; + } + + smiv2:alias "cevN5KC5596UpFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.17"; + } + + smiv2:alias "cevN5KN55M16FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.18"; + } + + smiv2:alias "cevN5kC5548UPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.19"; + } + + smiv2:alias "cevN5KN55M160L3V2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.20"; + } + + smiv2:alias "cevN5KN55D160L3V2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.21"; + } + + smiv2:alias "cevN5kC5596TFAFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.22"; + } + + smiv2:alias "cevN5KN55M12T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.23"; + } + + smiv2:alias "cevN5KN55M4Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.24"; + } + + smiv2:alias "cevN5KN56M24UP2Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.25"; + } + + smiv2:alias "cevN5KC56128PFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.26"; + } + + smiv2:alias "cevN5KC5672UPM6Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.27"; + } + + smiv2:alias "cevN5KC5672UPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.28"; + } + + smiv2:alias "cevN5KN5696M12Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.35"; + } + + smiv2:alias "cevN5KN5696M4C" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.36"; + } + + smiv2:alias "cevN5KN5696M20UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.37"; + } + + smiv2:alias "cevN5KC5696QFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.72.38"; + } + + smiv2:alias "cevModuleASA5505Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.73"; + } + + smiv2:alias "cevMASA5505IsmSscIps5K9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.73.1"; + } + + smiv2:alias "cevModuleASR9KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74"; + } + + smiv2:alias "cevModuleA9K8x10GEB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.1"; + } + + smiv2:alias "cevModuleA9K8x10GEE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.2"; + } + + smiv2:alias "cevModuleA9K4x10GEB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.3"; + } + + smiv2:alias "cevModuleA9K4x10GEE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.4"; + } + + smiv2:alias "cevModuleA9K40x1GEB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.5"; + } + + smiv2:alias "cevModuleA9K40x1GEE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.6"; + } + + smiv2:alias "cevModuleA9KRSP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.7"; + } + + smiv2:alias "cevModuleA9KRSP4G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.8"; + } + + smiv2:alias "cevModuleASR9KHost" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.9"; + } + + smiv2:alias "cevModuleA9KServiceAcceleratorModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.24"; + } + + smiv2:alias "cevModuleA9KRsp440Se" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.25"; + } + + smiv2:alias "cevModuleA9KRsp440Tr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.26"; + } + + smiv2:alias "cevModuleA9K1X100GeSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.27"; + } + + smiv2:alias "cevModuleA9K1X100GeTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.28"; + } + + smiv2:alias "cevModuleA9K36X10GeSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.29"; + } + + smiv2:alias "cevModuleA9K36X10GeTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.30"; + } + + smiv2:alias "cevModuleA9K2X100GeSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.31"; + } + + smiv2:alias "cevModuleA9K2X100GeTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.32"; + } + + smiv2:alias "cevModuleA9K24X10GeSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.33"; + } + + smiv2:alias "cevModuleA9K24X10GeTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.34"; + } + + smiv2:alias "cevModuleA9KMOD80SE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.35"; + } + + smiv2:alias "cevModuleA9KMOD80TR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.36"; + } + + smiv2:alias "cevModuleA9KMOD160SE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.37"; + } + + smiv2:alias "cevModuleA9KMOD160TR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.38"; + } + + smiv2:alias "cevModuleA9K9922RpSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.39"; + } + + smiv2:alias "cevModuleA9K9922RpTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.40"; + } + + smiv2:alias "cevModuleA9K9922Sfc110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.41"; + } + + smiv2:alias "cevModuleA9KVGenericLc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.42"; + } + + smiv2:alias "cevModuleA9K9912SFC110" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.43"; + } + + smiv2:alias "cevModuleA9K9912RpTr" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.44"; + } + + smiv2:alias "cevModuleA9K9912RpSe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.45"; + } + + smiv2:alias "cevModuleA9KMODULEv" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.46"; + } + + smiv2:alias "cevModuleA9K9001Lc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.47"; + } + + smiv2:alias "cevModuleA9K9001Rp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.48"; + } + + smiv2:alias "cevModuleA9KSip7008G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.49"; + } + + smiv2:alias "cevModuleA9K9001LcS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.53"; + } + + smiv2:alias "cevModuleA9KVSM500" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.74.54"; + } + + smiv2:alias "cevModuleASR14KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75"; + } + + smiv2:alias "cevModuleASR14K20x1GeFl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.1"; + } + + smiv2:alias "cevModuleASR14K42x1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.2"; + } + + smiv2:alias "cevModuleASR14K4x10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.3"; + } + + smiv2:alias "cevModuleASR14K4FabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.4"; + } + + smiv2:alias "cevModuleASR14K8FabricCard" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.5"; + } + + smiv2:alias "cevModuleASR14KRP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.6"; + } + + smiv2:alias "cevModuleASR14KFP40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.7"; + } + + smiv2:alias "cevModuleASR14KFPE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.8"; + } + + smiv2:alias "cevModuleASR14K2x10WLFL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.75.9"; + } + + smiv2:alias "cevModuleSFPPlusS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76"; + } + + smiv2:alias "cevSFP10GLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.1"; + } + + smiv2:alias "cevSFP10GLRM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.2"; + } + + smiv2:alias "cevSFP10GSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.3"; + } + + smiv2:alias "cevSFP10GUSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.4"; + } + + smiv2:alias "cevSFP10GER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.5"; + } + + smiv2:alias "cevSFP10GLRMSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.7"; + } + + smiv2:alias "cevSFP10GZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.8"; + } + + smiv2:alias "cevSFP10GCU1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.9"; + } + + smiv2:alias "cevSFP10GCU3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.10"; + } + + smiv2:alias "cevSFP10GCU5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.11"; + } + + smiv2:alias "cevSFP10GACU7M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.12"; + } + + smiv2:alias "cevSFPH10GbAcu10m" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.13"; + } + + smiv2:alias "cevSFPOe8541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.14"; + } + + smiv2:alias "cevSFPOe7571" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.15"; + } + + smiv2:alias "cevSFPOe7541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.16"; + } + + smiv2:alias "cevSFPOe694" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.17"; + } + + smiv2:alias "cevSFPOe594" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.18"; + } + + smiv2:alias "cevSFPOe294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.19"; + } + + smiv2:alias "cevSFPDwdmSfp10g3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.20"; + } + + smiv2:alias "cevSFPDwdmSfp10g3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.21"; + } + + smiv2:alias "cevSFPDwdmSfp10g3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.22"; + } + + smiv2:alias "cevSFPDwdmSfp10g3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.23"; + } + + smiv2:alias "cevSFPDwdmSfp10g3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.24"; + } + + smiv2:alias "cevSFPDwdmSfp10g3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.25"; + } + + smiv2:alias "cevSFPDwdmSfp10g3347" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.26"; + } + + smiv2:alias "cevSFPDwdmSfp10g3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.27"; + } + + smiv2:alias "cevSFPDwdmSfp10g3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.28"; + } + + smiv2:alias "cevSFPDwdmSfp10g3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.29"; + } + + smiv2:alias "cevSFPDwdmSfp10g3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.30"; + } + + smiv2:alias "cevSFPDwdmSfp10g3740" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.31"; + } + + smiv2:alias "cevSFPDwdmSfp10g3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.32"; + } + + smiv2:alias "cevSFPDwdmSfp10g4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.33"; + } + + smiv2:alias "cevSFPDwdmSfp10g4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.34"; + } + + smiv2:alias "cevSFPDwdmSfp10g4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.35"; + } + + smiv2:alias "cevSFPDwdmSfp10g4135" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.36"; + } + + smiv2:alias "cevSFPDwdmSfp10g4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.37"; + } + + smiv2:alias "cevSFPDwdmSfp10g4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.38"; + } + + smiv2:alias "cevSFPDwdmSfp10g4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.39"; + } + + smiv2:alias "cevSFPDwdmSfp10g4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.40"; + } + + smiv2:alias "cevSFPDwdmSfp10g4532" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.41"; + } + + smiv2:alias "cevSFPDwdmSfp10g5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.42"; + } + + smiv2:alias "cevSFPDwdmSfp10g5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.43"; + } + + smiv2:alias "cevSFPDwdmSfp10g5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.44"; + } + + smiv2:alias "cevSFPDwdmSfp10g4932" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.45"; + } + + smiv2:alias "cevSFPDwdmSfp10g4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.46"; + } + + smiv2:alias "cevSFPDwdmSfp10g5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.47"; + } + + smiv2:alias "cevSFPDwdmSfp10g5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.48"; + } + + smiv2:alias "cevSFPDwdmSfp10g5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.49"; + } + + smiv2:alias "cevSFPDwdmSfp10g5333" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.50"; + } + + smiv2:alias "cevSFPDwdmSfp10g5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.51"; + } + + smiv2:alias "cevSFPDwdmSfp10g5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.52"; + } + + smiv2:alias "cevSFPDwdmSfp10g5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.53"; + } + + smiv2:alias "cevSFPDwdmSfp10g5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.54"; + } + + smiv2:alias "cevSFPDwdmSfp10g5736" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.55"; + } + + smiv2:alias "cevSFPDwdmSfp10g5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.56"; + } + + smiv2:alias "cevSFPDwdmSfp10g6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.57"; + } + + smiv2:alias "cevSFPDwdmSfp10g6141" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.58"; + } + + smiv2:alias "cevSFPDwdmSfp10g4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.59"; + } + + smiv2:alias "cevSFPFET10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.60"; + } + + smiv2:alias "cevSFPSC10GTDwdmC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.61"; + } + + smiv2:alias "cevSFPSC10GSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.62"; + } + + smiv2:alias "cevSFPSC10GER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.63"; + } + + smiv2:alias "cevSFPSC10GLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.64"; + } + + smiv2:alias "cevSFPSC10GZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.65"; + } + + smiv2:alias "cevSFPSE10GLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.66"; + } + + smiv2:alias "cevSFPSC10G303" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.67"; + } + + smiv2:alias "cevSFPSC10G311" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.68"; + } + + smiv2:alias "cevSFPSC10G319" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.69"; + } + + smiv2:alias "cevSFPSC10G326" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.70"; + } + + smiv2:alias "cevSFPSC10G334" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.71"; + } + + smiv2:alias "cevSFPSC10G342" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.72"; + } + + smiv2:alias "cevSFPSC10G350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.73"; + } + + smiv2:alias "cevSFPSC10G358" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.74"; + } + + smiv2:alias "cevSFPSC10G366" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.75"; + } + + smiv2:alias "cevSFPSC10G374" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.76"; + } + + smiv2:alias "cevSFPSC10G381" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.77"; + } + + smiv2:alias "cevSFPSC10G389" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.78"; + } + + smiv2:alias "cevSFPSC10G397" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.79"; + } + + smiv2:alias "cevSFPSC10G405" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.80"; + } + + smiv2:alias "cevSFPSC10G415" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.81"; + } + + smiv2:alias "cevSFPSC10G421" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.82"; + } + + smiv2:alias "cevSFPSC10G429" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.83"; + } + + smiv2:alias "cevSFPSC10G437" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.84"; + } + + smiv2:alias "cevSFPSC10G445" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.85"; + } + + smiv2:alias "cevSFPSC10G453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.86"; + } + + smiv2:alias "cevSFPSC10G461" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.87"; + } + + smiv2:alias "cevSFPSC10G469" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.88"; + } + + smiv2:alias "cevSFPSC10G477" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.89"; + } + + smiv2:alias "cevSFPSC10G485" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.90"; + } + + smiv2:alias "cevSFPSC10G493" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.91"; + } + + smiv2:alias "cevSFPSC10G501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.92"; + } + + smiv2:alias "cevSFPSC10G509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.93"; + } + + smiv2:alias "cevSFPSC10G517" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.94"; + } + + smiv2:alias "cevSFPSC10G525" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.95"; + } + + smiv2:alias "cevSFPSC10G533" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.96"; + } + + smiv2:alias "cevSFPSC10G541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.97"; + } + + smiv2:alias "cevSFPSC10G549" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.98"; + } + + smiv2:alias "cevSFPSC10G557" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.99"; + } + + smiv2:alias "cevSFPSC10G565" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.100"; + } + + smiv2:alias "cevSFPSC10G573" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.101"; + } + + smiv2:alias "cevSFPSC10G581" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.102"; + } + + smiv2:alias "cevSFPSC10G589" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.103"; + } + + smiv2:alias "cevSFPSC10G597" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.104"; + } + + smiv2:alias "cevSFPSC10G606" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.105"; + } + + smiv2:alias "cevSFPSC10G614" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.106"; + } + + smiv2:alias "cevSFPPONSSI2GI1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.114"; + } + + smiv2:alias "cevSFPPONSSC10GEP618" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.115"; + } + + smiv2:alias "cevSFPPONSSC10GEP614" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.116"; + } + + smiv2:alias "cevSFPPONSSC10GEP610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.117"; + } + + smiv2:alias "cevSFPPONSSC10GEP606" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.118"; + } + + smiv2:alias "cevSFPPONSSC10GEP602" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.119"; + } + + smiv2:alias "cevSFPPONSSC10GEP597" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.120"; + } + + smiv2:alias "cevSFPPONSSC10GEP593" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.121"; + } + + smiv2:alias "cevSFPPONSSC10GEP589" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.122"; + } + + smiv2:alias "cevSFPPONSSC10GEP585" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.123"; + } + + smiv2:alias "cevSFPPONSSC10GEP581" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.124"; + } + + smiv2:alias "cevSFPPONSSC10GEP577" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.125"; + } + + smiv2:alias "cevSFPPONSSC10GEP573" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.126"; + } + + smiv2:alias "cevSFPPONSSC10GEP569" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.127"; + } + + smiv2:alias "cevSFPPONSSC10GEP565" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.128"; + } + + smiv2:alias "cevSFPPONSSC10GEP561" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.129"; + } + + smiv2:alias "cevSFPPONSSC10GEP557" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.130"; + } + + smiv2:alias "cevSFPPONSSC10GEP553" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.131"; + } + + smiv2:alias "cevSFPPONSSC10GEP549" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.132"; + } + + smiv2:alias "cevSFPPONSSC10GEP545" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.133"; + } + + smiv2:alias "cevSFPPONSSC10GEP541" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.134"; + } + + smiv2:alias "cevSFPPONSSC10GEP537" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.135"; + } + + smiv2:alias "cevSFPPONSSC10GEP533" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.136"; + } + + smiv2:alias "cevSFPPONSSC10GEP529" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.137"; + } + + smiv2:alias "cevSFPPONSSC10GEP525" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.138"; + } + + smiv2:alias "cevSFPPONSSC10GEP521" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.139"; + } + + smiv2:alias "cevSFPPONSSC10GEP517" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.140"; + } + + smiv2:alias "cevSFPPONSSC10GEP513" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.141"; + } + + smiv2:alias "cevSFPPONSSC10GEP509" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.142"; + } + + smiv2:alias "cevSFPPONSSC10GEP505" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.143"; + } + + smiv2:alias "cevSFPPONSSC10GEP501" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.144"; + } + + smiv2:alias "cevSFPPONSSC10GEP497" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.145"; + } + + smiv2:alias "cevSFPPONSSC10GEP493" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.146"; + } + + smiv2:alias "cevSFPPONSSC10GEP489" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.147"; + } + + smiv2:alias "cevSFPPONSSC10GEP485" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.148"; + } + + smiv2:alias "cevSFPPONSSC10GEP481" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.149"; + } + + smiv2:alias "cevSFPPONSSC10GEP477" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.150"; + } + + smiv2:alias "cevSFPPONSSC10GEP473" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.151"; + } + + smiv2:alias "cevSFPPONSSC10GEP469" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.152"; + } + + smiv2:alias "cevSFPPONSSC10GEP465" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.153"; + } + + smiv2:alias "cevSFPPONSSC10GEP461" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.154"; + } + + smiv2:alias "cevSFPPONSSC10GEP457" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.155"; + } + + smiv2:alias "cevSFPPONSSC10GEP453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.156"; + } + + smiv2:alias "cevSFPPONSSC10GEP449" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.157"; + } + + smiv2:alias "cevSFPPONSSC10GEP445" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.158"; + } + + smiv2:alias "cevSFPPONSSC10GEP441" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.159"; + } + + smiv2:alias "cevSFPPONSSC10GEP437" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.160"; + } + + smiv2:alias "cevSFPPONSSC10GEP433" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.161"; + } + + smiv2:alias "cevSFPPONSSC10GEP429" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.162"; + } + + smiv2:alias "cevSFPPONSSC10GEP425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.163"; + } + + smiv2:alias "cevSFPPONSSC10GEP421" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.164"; + } + + smiv2:alias "cevSFPPONSSC10GEP417" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.165"; + } + + smiv2:alias "cevSFPPONSSC10GEP413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.166"; + } + + smiv2:alias "cevSFPPONSSC10GEP409" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.167"; + } + + smiv2:alias "cevSFPPONSSC10GEP405" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.168"; + } + + smiv2:alias "cevSFPPONSSC10GEP401" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.169"; + } + + smiv2:alias "cevSFPPONSSC10GEP397" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.170"; + } + + smiv2:alias "cevSFPPONSSC10GEP393" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.171"; + } + + smiv2:alias "cevSFPPONSSC10GEP389" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.172"; + } + + smiv2:alias "cevSFPPONSSC10GEP385" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.173"; + } + + smiv2:alias "cevSFPPONSSC10GEP381" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.174"; + } + + smiv2:alias "cevSFPPONSSC10GEP377" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.175"; + } + + smiv2:alias "cevSFPPONSSC10GEP374" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.176"; + } + + smiv2:alias "cevSFPPONSSC10GEP370" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.177"; + } + + smiv2:alias "cevSFPPONSSC10GEP366" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.178"; + } + + smiv2:alias "cevSFPPONSSC10GEP362" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.179"; + } + + smiv2:alias "cevSFPPONSSC10GEP358" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.180"; + } + + smiv2:alias "cevSFPPONSSC10GEP354" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.181"; + } + + smiv2:alias "cevSFPPONSSC10GEP350" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.182"; + } + + smiv2:alias "cevSFPPONSSC10GEP346" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.183"; + } + + smiv2:alias "cevSFPPONSSC10GEP342" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.184"; + } + + smiv2:alias "cevSFPPONSSC10GEP338" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.185"; + } + + smiv2:alias "cevSFPPONSSC10GEP334" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.186"; + } + + smiv2:alias "cevSFPPONSSC10GEP330" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.187"; + } + + smiv2:alias "cevSFPPONSSC10GEP326" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.188"; + } + + smiv2:alias "cevSFPPONSSC10GEP322" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.189"; + } + + smiv2:alias "cevSFPPONSSC10GEP319" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.190"; + } + + smiv2:alias "cevSFPPONSSC10GEP315" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.191"; + } + + smiv2:alias "cevSFPPONSSC10GEP311" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.192"; + } + + smiv2:alias "cevSFPPONSSC10GEP307" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.193"; + } + + smiv2:alias "cevSFPPONSSC10GEP303" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.194"; + } + + smiv2:alias "cevSFPPONSSC10GC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.195"; + } + + smiv2:alias "cevSFPCwdmSfp10g1610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.196"; + } + + smiv2:alias "cevSFPCwdmSfp10g1590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.197"; + } + + smiv2:alias "cevSFPCwdmSfp10g1570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.198"; + } + + smiv2:alias "cevSFPCwdmSfp10g1550" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.199"; + } + + smiv2:alias "cevSFPCwdmSfp10g1530" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.200"; + } + + smiv2:alias "cevSFPCwdmSfp10g1510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.201"; + } + + smiv2:alias "cevSFPCwdmSfp10g1490" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.202"; + } + + smiv2:alias "cevSFPCwdmSfp10g1470" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.203"; + } + + smiv2:alias "cevSFPQsfpPlusLROpticsMod" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.208"; + } + + smiv2:alias "cevSFPQsfpPlusSROpticsMod" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.209"; + } + + smiv2:alias "cevSFPPDWDMSFP10GC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.76.213"; + } + + smiv2:alias "cevDirectAttachCable10Gs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77"; + } + + smiv2:alias "cevSFPH10GBCU1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.1"; + } + + smiv2:alias "cevSFPH10GBCU5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.2"; + } + + smiv2:alias "cevSFPH10GBCU3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.3"; + } + + smiv2:alias "cevSFPH10GBCU7M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.4"; + } + + smiv2:alias "cevSFPH10GBACU1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.9"; + } + + smiv2:alias "cevSFPH10GBACU3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.10"; + } + + smiv2:alias "cevSFPH10GBACU5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.11"; + } + + smiv2:alias "cevSFPH10GBACU15M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.12"; + } + + smiv2:alias "cevSFPH10GBACU10M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.13"; + } + + smiv2:alias "cevSFPH10GBACU7M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.14"; + } + + smiv2:alias "cevSFPH10GBCU150CM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.15"; + } + + smiv2:alias "cevSFPH10GBCU250CM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.16"; + } + + smiv2:alias "cevSFP10GAOC1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.17"; + } + + smiv2:alias "cevSFP10GAOC2M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.18"; + } + + smiv2:alias "cevSFP10GAOC3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.19"; + } + + smiv2:alias "cevSFP10GAOC5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.20"; + } + + smiv2:alias "cevSFP10GAOC7M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.21"; + } + + smiv2:alias "cevSFP10GAOC10M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.22"; + } + + smiv2:alias "cevSFPH10GBCU200CM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.23"; + } + + smiv2:alias "cevSFPH10GBAOC1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.24"; + } + + smiv2:alias "cevSFPH10GBAOC2M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.25"; + } + + smiv2:alias "cevSFPH10GBAOC3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.26"; + } + + smiv2:alias "cevSFPH10GBAOC5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.27"; + } + + smiv2:alias "cevSFPH10GBAOC7M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.28"; + } + + smiv2:alias "cevSFPH10GBAOC10M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.77.29"; + } + + smiv2:alias "cevModuleN2KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78"; + } + + smiv2:alias "cevN2kC2148T1GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.1"; + } + + smiv2:alias "cevN2kC2232PP10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.2"; + } + + smiv2:alias "cevN2kC2248TP1GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.3"; + } + + smiv2:alias "cevN2kC2224TP1GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.4"; + } + + smiv2:alias "cevN2kC2232TT10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.5"; + } + + smiv2:alias "cevN2kC2232TP10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.6"; + } + + smiv2:alias "cevN2kC2248TT1GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.7"; + } + + smiv2:alias "cevN2kB22HPPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.9"; + } + + smiv2:alias "cevN2kM2800P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.10"; + } + + smiv2:alias "cevN2kC2232TM10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.11"; + } + + smiv2:alias "cevN2kC2232TME10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.12"; + } + + smiv2:alias "cevN2kC2248PQ10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.13"; + } + + smiv2:alias "cevN2kB22DELLPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.14"; + } + + smiv2:alias "cevN2kB22FTSPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.15"; + } + + smiv2:alias "cevN2kB22IBMPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.16"; + } + + smiv2:alias "cevN2KC2348UPQFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.17"; + } + + smiv2:alias "cevN2KC2348TQFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.78.18"; + } + + smiv2:alias "cevModuleN1KVType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79"; + } + + smiv2:alias "cevN1KVVSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79.1"; + } + + smiv2:alias "cevN1KVVEM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79.2"; + } + + smiv2:alias "cevN1KVVXLANGateway" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79.3"; + } + + smiv2:alias "cevN1KVInterCloudExtender" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79.4"; + } + + smiv2:alias "cevN1KVInterCloudSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.79.5"; + } + + smiv2:alias "cevModuleUCSType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80"; + } + + smiv2:alias "cevUCSN10S6100FixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.1"; + } + + smiv2:alias "cevUCSN10E0080" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.2"; + } + + smiv2:alias "cevUCSN10E0440" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.3"; + } + + smiv2:alias "cevUCSN10E0600" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.4"; + } + + smiv2:alias "cevUCSFIE16UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.7"; + } + + smiv2:alias "cevUCSFI6248UPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.8"; + } + + smiv2:alias "cevUCSFI6296UPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.9"; + } + + smiv2:alias "cevUCSFIDL2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.10"; + } + + smiv2:alias "cevUCSFIM6324FixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.80.171"; + } + + smiv2:alias "cevModuleNexus1010Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.81"; + } + + smiv2:alias "cevNexus1010VSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.81.1"; + } + + smiv2:alias "cevNexusN1KVSANam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.81.2"; + } + + smiv2:alias "cevModuleMxeType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.82"; + } + + smiv2:alias "cevMxeNpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.82.1"; + } + + smiv2:alias "cevMxeMpm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.82.2"; + } + + smiv2:alias "cevMxe5600ShelfManager" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.82.3"; + } + + smiv2:alias "cevModuleASA5585Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83"; + } + + smiv2:alias "cevASA5585Ssp10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.1"; + } + + smiv2:alias "cevASA5585Ssp20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.2"; + } + + smiv2:alias "cevASA5585Ssp40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.3"; + } + + smiv2:alias "cevASA5585Ssp60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.4"; + } + + smiv2:alias "cevASA5585IsmSspIps10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.5"; + } + + smiv2:alias "cevASA5585IsmSspIps20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.6"; + } + + smiv2:alias "cevASA5585IsmSspIps40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.7"; + } + + smiv2:alias "cevASA5585IsmSspIps60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.8"; + } + + smiv2:alias "cevMASA5585Ssp10K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.9"; + } + + smiv2:alias "cevMASA5585Ssp20K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.10"; + } + + smiv2:alias "cevMASA5585Ssp40K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.11"; + } + + smiv2:alias "cevMASA5585Ssp60K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.12"; + } + + smiv2:alias "cevMASA5585IsmSspIps10K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.13"; + } + + smiv2:alias "cevMASA5585IsmSspIps20K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.14"; + } + + smiv2:alias "cevMASA5585IsmSspIps40K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.15"; + } + + smiv2:alias "cevMASA5585IsmSspIps60K7" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.16"; + } + + smiv2:alias "cevMASA5585Nm8x10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.17"; + } + + smiv2:alias "cevMASA5585Nm4x10GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.18"; + } + + smiv2:alias "cevMASA5585Nm20x1GE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.19"; + } + + smiv2:alias "cevMASA5585CxSsp40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.20"; + } + + smiv2:alias "cevMASA5585CxSsp60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.21"; + } + + smiv2:alias "cevMASA5585CxSsp10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.22"; + } + + smiv2:alias "cevMASA5585CxSsp20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.23"; + } + + smiv2:alias "cevMASA5585SFRSsp10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.24"; + } + + smiv2:alias "cevMASA5585SFRSsp20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.25"; + } + + smiv2:alias "cevMASA5585SFRSsp40" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.26"; + } + + smiv2:alias "cevMASA5585SFRSsp60" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.83.27"; + } + + smiv2:alias "cevModuleCFPs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84"; + } + + smiv2:alias "cevCFP100GLR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.1"; + } + + smiv2:alias "cevCFP40GLR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.2"; + } + + smiv2:alias "cevCFP40GSR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.3"; + } + + smiv2:alias "cevCFP40GFR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.4"; + } + + smiv2:alias "cevCFP100GSR10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.5"; + } + + smiv2:alias "cevCFP100GER4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.6"; + } + + smiv2:alias "cevCFPUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.84.7"; + } + + smiv2:alias "cevModuleN3KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85"; + } + + smiv2:alias "cevN3kC3064PQfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.1"; + } + + smiv2:alias "cevN3kC3064PQ10GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.2"; + } + + smiv2:alias "cevN3kC3048TP1GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.3"; + } + + smiv2:alias "cevN3kC3016Q40GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.4"; + } + + smiv2:alias "cevN3kC3064Pq10GXFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.5"; + } + + smiv2:alias "cevN3kC3548P10GFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.6"; + } + + smiv2:alias "cevN3kC3064TQ10GTFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.7"; + } + + smiv2:alias "cevN3KC3172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.8"; + } + + smiv2:alias "cevN3KC3172TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.9"; + } + + smiv2:alias "cevN3KC3132TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.10"; + } + + smiv2:alias "cevN3KC3132CR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.11"; + } + + smiv2:alias "cevN3kC3164Q40GEFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.85.12"; + } + + smiv2:alias "cevModuleCGSType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.86"; + } + + smiv2:alias "cevModuleCGS252016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.86.1"; + } + + smiv2:alias "cevModuleCGS252024TC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.86.2"; + } + + smiv2:alias "cevModuleASR900Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87"; + } + + smiv2:alias "cevModuleASR903RSP1A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.1"; + } + + smiv2:alias "cevModuleASR900ESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.2"; + } + + smiv2:alias "cevModuleASR903RSP1B" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.3"; + } + + smiv2:alias "cevModuleASR903RSP2A64G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.4"; + } + + smiv2:alias "cevModuleASR903RSP2A128G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.5"; + } + + smiv2:alias "cevModuleASR92024SZIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.6"; + } + + smiv2:alias "cevModuleASR92024SZM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.7"; + } + + smiv2:alias "cevModuleASR92024TZM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.8"; + } + + smiv2:alias "cevModuleASR92012CZA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.9"; + } + + smiv2:alias "cevModuleASR92012CZD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.10"; + } + + smiv2:alias "cevModuleASR9204SZA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.11"; + } + + smiv2:alias "cevModuleASR9204SZD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.12"; + } + + smiv2:alias "cevModuleASR92010SZPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.13"; + } + + smiv2:alias "cevModuleASR92010SZPD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.87.14"; + } + + smiv2:alias "cevModuleASR5000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88"; + } + + smiv2:alias "cevModuleASR5K01100eK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.1"; + } + + smiv2:alias "cevModuleASR5K0110gMmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.2"; + } + + smiv2:alias "cevModuleASR5K0110gSmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.3"; + } + + smiv2:alias "cevModuleASR5K011G2LxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.4"; + } + + smiv2:alias "cevModuleASR5K011G2SxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.5"; + } + + smiv2:alias "cevModuleASR5K011G2TK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.6"; + } + + smiv2:alias "cevModuleASR5K011GELxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.7"; + } + + smiv2:alias "cevModuleASR5K011GESxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.8"; + } + + smiv2:alias "cevModuleASR5K011GETK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.9"; + } + + smiv2:alias "cevModuleASR5K01OC3MmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.10"; + } + + smiv2:alias "cevModuleASR5K01OC3SmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.11"; + } + + smiv2:alias "cevModuleASR5K041GeLxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.12"; + } + + smiv2:alias "cevModuleASR5K041GeSxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.13"; + } + + smiv2:alias "cevModuleASR5K041GeTK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.14"; + } + + smiv2:alias "cevModuleASR5K042GeLxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.15"; + } + + smiv2:alias "cevModuleASR5K042GeSxK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.16"; + } + + smiv2:alias "cevModuleASR5K042GeTK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.17"; + } + + smiv2:alias "cevModuleASR5K08100eK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.18"; + } + + smiv2:alias "cevModuleASR5K4OC3CMmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.19"; + } + + smiv2:alias "cevModuleASR5K4OC3CSmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.20"; + } + + smiv2:alias "cevModuleASR5KC1OC3MnK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.21"; + } + + smiv2:alias "cevModuleASR5KC1OC3SmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.22"; + } + + smiv2:alias "cevModuleASR5KC4OC3MmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.23"; + } + + smiv2:alias "cevModuleASR5KC4OC3SmK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.24"; + } + + smiv2:alias "cevModuleASR5KppcK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.25"; + } + + smiv2:alias "cevModuleASR5Kpsc16gK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.26"; + } + + smiv2:alias "cevModuleASR5Kpsc32gK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.27"; + } + + smiv2:alias "cevModuleASR5Kpsc64gK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.28"; + } + + smiv2:alias "cevModuleASR5KpscK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.29"; + } + + smiv2:alias "cevModuleASR5KsmcK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.30"; + } + + smiv2:alias "cevModuleASR5KSps3BncK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.31"; + } + + smiv2:alias "cevModuleASR5KSps33pnK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.32"; + } + + smiv2:alias "cevModuleASR5KSpioBncK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.33"; + } + + smiv2:alias "cevModuleASR5KSpio3pnK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.34"; + } + + smiv2:alias "cevModuleASR5KRccK9" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.88.35"; + } + + smiv2:alias "cevModuleASR5500Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89"; + } + + smiv2:alias "cevModuleASR55DPC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.1"; + } + + smiv2:alias "cevModuleASR55FSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.2"; + } + + smiv2:alias "cevModuleASR55MIO10GL10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.3"; + } + + smiv2:alias "cevModuleASR55MIO10GL20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.4"; + } + + smiv2:alias "cevModuleASR55MIO10GS10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.5"; + } + + smiv2:alias "cevModuleASR55MIO10GS20" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.6"; + } + + smiv2:alias "cevModuleASR55MIOBASE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.7"; + } + + smiv2:alias "cevModuleASR55SSC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.89.8"; + } + + smiv2:alias "cevModuleVSR1000Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.90"; + } + + smiv2:alias "cevModuleVSR1000RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.90.1"; + } + + smiv2:alias "cevModuleVSR1000ESP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.90.2"; + } + + smiv2:alias "cevModuleCgrType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91"; + } + + smiv2:alias "cevModuleCGMPlc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.18"; + } + + smiv2:alias "cevModuleCGMGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.19"; + } + + smiv2:alias "cevModuleCGM3gEVDOSE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.21"; + } + + smiv2:alias "cevModuleCGM3gEVDOVE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.22"; + } + + smiv2:alias "cevModuleCGM3gHSPAAE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.23"; + } + + smiv2:alias "cevModuleCGM3gHSPAGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.24"; + } + + smiv2:alias "cevModuleCGM3gHspaAbGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.91.25"; + } + + smiv2:alias "cevModuleISR4400Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92"; + } + + smiv2:alias "cevModuleISR4441RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.1"; + } + + smiv2:alias "cevModuleISR4442RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.2"; + } + + smiv2:alias "cevModuleISR4451RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.3"; + } + + smiv2:alias "cevModuleISR4452RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.4"; + } + + smiv2:alias "cevModuleISR4400RP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.5"; + } + + smiv2:alias "cevModuleISR4441FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.6"; + } + + smiv2:alias "cevModuleISR4442FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.7"; + } + + smiv2:alias "cevModuleISR4451FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.8"; + } + + smiv2:alias "cevModuleISR4452FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.9"; + } + + smiv2:alias "cevModuleISR4400FP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.10"; + } + + smiv2:alias "cevModuleISR4400NIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.11"; + } + + smiv2:alias "cevModuleISR4441NIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.12"; + } + + smiv2:alias "cevModuleISR4442NIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.13"; + } + + smiv2:alias "cevModuleISR4451NIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.14"; + } + + smiv2:alias "cevModuleISR4452NIM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.15"; + } + + smiv2:alias "cevModuleISR4400ESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.16"; + } + + smiv2:alias "cevModuleISR4441ESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.17"; + } + + smiv2:alias "cevModuleISR4442ESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.18"; + } + + smiv2:alias "cevModuleISR4451ESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.19"; + } + + smiv2:alias "cevModuleISR4452ESM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.20"; + } + + smiv2:alias "cevModuleISR44000FP4xGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.21"; + } + + smiv2:alias "cevModuleISR4400InternalPOE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.22"; + } + + smiv2:alias "cevModuleNGWICSerial1T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.43"; + } + + smiv2:alias "cevModuleNGWICSerial2T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.44"; + } + + smiv2:alias "cevModuleNGWICSerial4T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.92.45"; + } + + smiv2:alias "cevModuleQSFPPlusS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93"; + } + + smiv2:alias "cevQSFP40GLR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.1"; + } + + smiv2:alias "cevQSFP40GSR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.2"; + } + + smiv2:alias "cevQSFP40GSMSR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.3"; + } + + smiv2:alias "cevQSFP40GCR4Active" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.4"; + } + + smiv2:alias "cevQSFP40GCR4Passive" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.5"; + } + + smiv2:alias "cevSFPQSFP40GECSR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.6"; + } + + smiv2:alias "cevSFPQSFP40GELR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.7"; + } + + smiv2:alias "cevQSFP40GER4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.93.9"; + } + + smiv2:alias "cevModuleN6KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95"; + } + + smiv2:alias "cevN6KN6004XM20UP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.1"; + } + + smiv2:alias "cevN6KC6004M12Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.2"; + } + + smiv2:alias "cevN6KC600496QFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.3"; + } + + smiv2:alias "cevN6KC6001M4Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.4"; + } + + smiv2:alias "cevN6KC600164PFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.5"; + } + + smiv2:alias "cevN6K48P10G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.6"; + } + + smiv2:alias "cevN6K32Q40G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.7"; + } + + smiv2:alias "cevN6K24Q40G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.8"; + } + + smiv2:alias "cevN6KC600164TFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.11"; + } + + smiv2:alias "cevN6KN6002M24UP2Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.12"; + } + + smiv2:alias "cevN6KC6002128PFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.15"; + } + + smiv2:alias "cevN6KC600172UPFixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.16"; + } + + smiv2:alias "cevN6KN6004M12Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.18"; + } + + smiv2:alias "cevN6KC6001M6Q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.95.19"; + } + + smiv2:alias "cevModuleISRType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96"; + } + + smiv2:alias "cevModuleISRSM1T3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.1"; + } + + smiv2:alias "cevModuleISRSM6XGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.2"; + } + + smiv2:alias "cevModuleISRSM1X10GE4XGE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.3"; + } + + smiv2:alias "cevModuleISRSmEs3x16P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.4"; + } + + smiv2:alias "cevModuleISRSmEs3x24P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.5"; + } + + smiv2:alias "cevModuleISRSmDEs3x48P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.96.6"; + } + + smiv2:alias "cevModuleN77Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97"; + } + + smiv2:alias "cevN77c7718Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.1"; + } + + smiv2:alias "cevN77c7710Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.2"; + } + + smiv2:alias "cevN77c7706Fab2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.3"; + } + + smiv2:alias "cevN77F248XP23E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.4"; + } + + smiv2:alias "cevN77SUP2E" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.5"; + } + + smiv2:alias "cevN77F324FQ25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.6"; + } + + smiv2:alias "cevN77F348XP23" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.7"; + } + + smiv2:alias "cevN77F312CK26" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.97.8"; + } + + smiv2:alias "cevModuleCat3KCAxType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98"; + } + + smiv2:alias "cevModuleCat365048PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.1"; + } + + smiv2:alias "cevModuleCat365048TQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.2"; + } + + smiv2:alias "cevModuleCat385024u" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.3"; + } + + smiv2:alias "cevModuleCat385048u" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.4"; + } + + smiv2:alias "cevModuleCat365024TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.5"; + } + + smiv2:alias "cevModuleCat365048TD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.6"; + } + + smiv2:alias "cevModuleCat365024PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.7"; + } + + smiv2:alias "cevModuleCat365048PD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.8"; + } + + smiv2:alias "cevModuleCat365024TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.9"; + } + + smiv2:alias "cevModuleCat365048TS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.10"; + } + + smiv2:alias "cevModuleCat365024PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.11"; + } + + smiv2:alias "cevModuleCat365048PS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.12"; + } + + smiv2:alias "cevModuleCat385024T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.13"; + } + + smiv2:alias "cevModuleCat385048T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.14"; + } + + smiv2:alias "cevModuleCat385024P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.15"; + } + + smiv2:alias "cevModuleCat385048P" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.16"; + } + + smiv2:alias "cevModuleCat385012S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.17"; + } + + smiv2:alias "cevModuleCat385024S" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.98.18"; + } + + smiv2:alias "cevModule57xxwlc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.99"; + } + + smiv2:alias "cevModuleCat5760wlc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.99.2"; + } + + smiv2:alias "cevModuleCat5700wlc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.99.3"; + } + + smiv2:alias "cevModuleN95KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100"; + } + + smiv2:alias "cevN9KSUPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.1"; + } + + smiv2:alias "cevN9Kc9508FM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.2"; + } + + smiv2:alias "cevN9kScA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.3"; + } + + smiv2:alias "cevN9kX9564PX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.4"; + } + + smiv2:alias "cevN9kX9564TX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.5"; + } + + smiv2:alias "cevN9kX9636PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.6"; + } + + smiv2:alias "cevN9KX9464PX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.18"; + } + + smiv2:alias "cevN9KX9464TX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.19"; + } + + smiv2:alias "cevN9KX9432PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.20"; + } + + smiv2:alias "cevN9KX9632PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.22"; + } + + smiv2:alias "cevN9KX9464TX2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.23"; + } + + smiv2:alias "cevN9kC9508FM2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.24"; + } + + smiv2:alias "cevN9kC9504FM2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.100.25"; + } + + smiv2:alias "cevModuleCPAKType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.101"; + } + + smiv2:alias "cevCPAK100GLR4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.101.1"; + } + + smiv2:alias "cevCPAK100GSR10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.101.2"; + } + + smiv2:alias "cevCPAK100GLR10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.101.3"; + } + + smiv2:alias "cevCPAK100GER4L" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.101.4"; + } + + smiv2:alias "cevDirectAttachCable40Gs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.102"; + } + + smiv2:alias "cevQSFP4SFP10GCU1M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.102.1"; + } + + smiv2:alias "cevQSFP4SFP10GCU3M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.102.2"; + } + + smiv2:alias "cevQSFP4SFP10GCU5M" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.102.3"; + } + + smiv2:alias "cevModuleN93KType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103"; + } + + smiv2:alias "cevN9KM6PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.1"; + } + + smiv2:alias "cevN9KM12PQ" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.2"; + } + + smiv2:alias "cevN9KC93128TXfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.3"; + } + + smiv2:alias "cevN9KC9396TXfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.4"; + } + + smiv2:alias "cevN9KC9396PXfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.5"; + } + + smiv2:alias "cevN9KC9372PXfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.7"; + } + + smiv2:alias "cevN9KC9372TXfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.8"; + } + + smiv2:alias "cevN9KC9332PQfixedModule" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.9"; + } + + smiv2:alias "cevN9KM4PC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.103.10"; + } + + smiv2:alias "cevModuleASA5506Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.107"; + } + + smiv2:alias "cevModuleASA5508Type" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.108"; + } + + smiv2:alias "cevModuleWIMType" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.110"; + } + + smiv2:alias "cevModuleWIM1T" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.110.3"; + } + + smiv2:alias "cevModuleWIM3G" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.9.110.4"; + } + + smiv2:alias "cevPort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10"; + } + + smiv2:alias "cevPortUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.1"; + } + + smiv2:alias "cevPortMCIEther" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.2"; + } + + smiv2:alias "cevPortMCISerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.3"; + } + + smiv2:alias "cevPortCBusSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.4"; + } + + smiv2:alias "cevPortFddi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.5"; + } + + smiv2:alias "cevPortFddit" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.6"; + } + + smiv2:alias "cevPortCBusTR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.7"; + } + + smiv2:alias "cevPortAsync" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.8"; + } + + smiv2:alias "cevPortHSSI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.9"; + } + + smiv2:alias "cevPortT1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.10"; + } + + smiv2:alias "cevPortE1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.11"; + } + + smiv2:alias "cevPortBRI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.12"; + } + + smiv2:alias "cevPortAIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.13"; + } + + smiv2:alias "cevPortCIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.14"; + } + + smiv2:alias "cevPortVtyAsync" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.15"; + } + + smiv2:alias "cevPortFEIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.16"; + } + + smiv2:alias "cevPortAsyncGroup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.17"; + } + + smiv2:alias "cevPortVTemplate" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.18"; + } + + smiv2:alias "cevPortVAccess" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.19"; + } + + smiv2:alias "cevPortT3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.20"; + } + + smiv2:alias "cevPortVGAnyLAN" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.21"; + } + + smiv2:alias "cevPortLance" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.22"; + } + + smiv2:alias "cevPortATMS2000" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.23"; + } + + smiv2:alias "cevPortSALI25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.24"; + } + + smiv2:alias "cevPortSonicT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.25"; + } + + smiv2:alias "cevPortOC3SUNI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.26"; + } + + smiv2:alias "cevPortOC12SUNI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.27"; + } + + smiv2:alias "cevPortDS3SUNI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.28"; + } + + smiv2:alias "cevPortE3SUNI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.29"; + } + + smiv2:alias "cevPortDS3SUNIQUAD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.30"; + } + + smiv2:alias "cevPortE3SUNIQUAD" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.31"; + } + + smiv2:alias "cevPortMK5025" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.32"; + } + + smiv2:alias "cevPortTMS380" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.33"; + } + + smiv2:alias "cevPortBSI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.34"; + } + + smiv2:alias "cevPortATMZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.35"; + } + + smiv2:alias "cevPortHD64570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.36"; + } + + smiv2:alias "cevPortPCBus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.37"; + } + + smiv2:alias "cevPortQuiccEther" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.38"; + } + + smiv2:alias "cevPortQuiccSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.39"; + } + + smiv2:alias "cevPortAMDP2" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.40"; + } + + smiv2:alias "cevPortMIF68840" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.41"; + } + + smiv2:alias "cevPortCYLEPA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.42"; + } + + smiv2:alias "cevPortS4T68360" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.43"; + } + + smiv2:alias "cevPortIBM2692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.44"; + } + + smiv2:alias "cevPortMueslix" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.45"; + } + + smiv2:alias "cevPortCD2430" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.46"; + } + + smiv2:alias "cevPortILACC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.47"; + } + + smiv2:alias "cevPortNIC100" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.48"; + } + + smiv2:alias "cevPortDCUATM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.49"; + } + + smiv2:alias "cevPortDCUATMPort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.50"; + } + + smiv2:alias "cevPortTI1570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.51"; + } + + smiv2:alias "cevPortPOS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.52"; + } + + smiv2:alias "cevPortLoopBack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.53"; + } + + smiv2:alias "cevPortLex" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.54"; + } + + smiv2:alias "cevPortDialer" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.55"; + } + + smiv2:alias "cevPortCIPLANAdapter" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.56"; + } + + smiv2:alias "cevPortBVI" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.57"; + } + + smiv2:alias "cevPortOSPFVL" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.58"; + } + + smiv2:alias "cevPortRinconSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.59"; + } + + smiv2:alias "cevPortSynALCATM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.60"; + } + + smiv2:alias "cevPortSynALCBIGA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.61"; + } + + smiv2:alias "cevPortSwitchTrunk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.62"; + } + + smiv2:alias "cevPortC2KATM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.63"; + } + + smiv2:alias "cevPortDec21140A" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.64"; + } + + smiv2:alias "cevPortC5Ether" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.65"; + } + + smiv2:alias "cevPortC5TR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.66"; + } + + smiv2:alias "cevPortEswitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.69"; + } + + smiv2:alias "cevPortBITS" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.70"; + } + + smiv2:alias "cevPortAdslCap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.71"; + } + + smiv2:alias "cevPortAdslDmt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.72"; + } + + smiv2:alias "cevPortSdsl2b1q" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.73"; + } + + smiv2:alias "cevPortEscon" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.74"; + } + + smiv2:alias "cevPortParallel" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.75"; + } + + smiv2:alias "cevPortCipVirtual" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.76"; + } + + smiv2:alias "cevPortDs3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.78"; + } + + smiv2:alias "cevPortE3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.79"; + } + + smiv2:alias "cevPortOc3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.80"; + } + + smiv2:alias "cevPortHdvDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.82"; + } + + smiv2:alias "cevPortAdslFlexiDmt" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.83"; + } + + smiv2:alias "cevPortAdslFlexiCap" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.84"; + } + + smiv2:alias "cevPortAdslDmtIsdn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.85"; + } + + smiv2:alias "cevPortRfMac" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.86"; + } + + smiv2:alias "cevPortRfUs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.87"; + } + + smiv2:alias "cevPortRfDs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.88"; + } + + smiv2:alias "cevPortUbrClk" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.89"; + } + + smiv2:alias "cevPortShdslTcpam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.90"; + } + + smiv2:alias "cevPortShdslTcpamOptis" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.91"; + } + + smiv2:alias "cevPortGEIP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.100"; + } + + smiv2:alias "cevPortWDM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.101"; + } + + smiv2:alias "cevPortThru" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.102"; + } + + smiv2:alias "cevPortFilter" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.103"; + } + + smiv2:alias "cevPortWave" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.104"; + } + + smiv2:alias "cevPortWavePatch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.105"; + } + + smiv2:alias "cevPortTransparent" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.106"; + } + + smiv2:alias "cevPortDPT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.107"; + } + + smiv2:alias "cevPortOc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.108"; + } + + smiv2:alias "cevPortGe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.109"; + } + + smiv2:alias "cevPortChOc12" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.110"; + } + + smiv2:alias "cevPortChOc3Stm1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.111"; + } + + smiv2:alias "cevPortFilterGroup" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.112"; + } + + smiv2:alias "cevPortFilterBand" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.113"; + } + + smiv2:alias "cevPortChE1T1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.114"; + } + + smiv2:alias "cevPortASIMod" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.115"; + } + + smiv2:alias "cevPortASIIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.116"; + } + + smiv2:alias "cevPortASIOut" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.117"; + } + + smiv2:alias "cevPortAimDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.118"; + } + + smiv2:alias "cevPortAtm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.119"; + } + + smiv2:alias "cevPortChSonet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.120"; + } + + smiv2:alias "cevPortChOcX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.121"; + } + + smiv2:alias "cevPortFe" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.123"; + } + + smiv2:alias "cevPortDs3E3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.125"; + } + + smiv2:alias "cevPortFxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.126"; + } + + smiv2:alias "cevPortFxo" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.127"; + } + + smiv2:alias "cevPortEM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.128"; + } + + smiv2:alias "cevPortOc48" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.129"; + } + + smiv2:alias "cevPortOc192" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.130"; + } + + smiv2:alias "cevPortFibreChannel" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.131"; + } + + smiv2:alias "cevPortGigEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.132"; + } + + smiv2:alias "cevPortFibreChGigEth" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.133"; + } + + smiv2:alias "cevPortCatEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.134"; + } + + smiv2:alias "cevPortWaveOsc" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.135"; + } + + smiv2:alias "cevPortWaveEthPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.136"; + } + + smiv2:alias "cevPort10GigEthPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.137"; + } + + smiv2:alias "cevPortEsconPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.138"; + } + + smiv2:alias "cevPortGEFCPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.139"; + } + + smiv2:alias "cevPortVOAIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.140"; + } + + smiv2:alias "cevPortVOAOut" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.141"; + } + + smiv2:alias "cevPortVOAFilterIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.142"; + } + + smiv2:alias "cevPortVOAFilterOut" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.143"; + } + + smiv2:alias "cevPortVOAByPassIn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.144"; + } + + smiv2:alias "cevPortVOAByPassOut" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.145"; + } + + smiv2:alias "cevPortGT96K" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.146"; + } + + smiv2:alias "cevPortDSCC4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.147"; + } + + smiv2:alias "cevPortBaseTEther" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.150"; + } + + smiv2:alias "cevPortGESFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.151"; + } + + smiv2:alias "cevPortWdmSplit" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.152"; + } + + smiv2:alias "cevPortWavePassThru" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.153"; + } + + smiv2:alias "cevPortDspPVDM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.154"; + } + + smiv2:alias "cevPortiScsi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.155"; + } + + smiv2:alias "cevPortVic2Did" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.156"; + } + + smiv2:alias "cevPortWic1Adsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.157"; + } + + smiv2:alias "cevPortWic1Shdsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.158"; + } + + smiv2:alias "cevPortWic1Ethernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.159"; + } + + smiv2:alias "cevPort10GigBaseEX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.160"; + } + + smiv2:alias "cevPort10GigBaseLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.161"; + } + + smiv2:alias "cevPort10GigBaseSX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.162"; + } + + smiv2:alias "cevPort10GigBaseER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.163"; + } + + smiv2:alias "cevPortGigUnsupported" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.164"; + } + + smiv2:alias "cevPortGigBaseZX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.165"; + } + + smiv2:alias "cevPort10GigBaseCPX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.166"; + } + + smiv2:alias "cevPort10GigBaseLX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.167"; + } + + smiv2:alias "cevPortGigBaseLX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.168"; + } + + smiv2:alias "cevPortGigBaseSX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.169"; + } + + smiv2:alias "cevPortGigBaseCX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.170"; + } + + smiv2:alias "cevPortGigBaseLH" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.171"; + } + + smiv2:alias "cevPortGigBaseT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.172"; + } + + smiv2:alias "cevPortDslsar" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.173"; + } + + smiv2:alias "cevPortAtm25" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.174"; + } + + smiv2:alias "cevPortAnalogFxs" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.175"; + } + + smiv2:alias "cevPortE3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.176"; + } + + smiv2:alias "cevPortDs3Atm" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.177"; + } + + smiv2:alias "cevPortNetworkAnalysis" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.178"; + } + + smiv2:alias "cevPortIntrusionDetect" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.180"; + } + + smiv2:alias "cevPort10GigBaseLW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.181"; + } + + smiv2:alias "cevPort10GigBaseEW" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.182"; + } + + smiv2:alias "cevPortGigBaseUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.183"; + } + + smiv2:alias "cevPort10GigBaseUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.184"; + } + + smiv2:alias "cevPort10GigBaseUnapproved" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.185"; + } + + smiv2:alias "cevPortGigBaseWdmRxOnly" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.186"; + } + + smiv2:alias "cevPortGigBaseDwdm3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.187"; + } + + smiv2:alias "cevPortGigBaseDwdm3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.188"; + } + + smiv2:alias "cevPortGigBaseDwdm3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.189"; + } + + smiv2:alias "cevPortGigBaseDwdm3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.190"; + } + + smiv2:alias "cevPortGigBaseDwdm3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.191"; + } + + smiv2:alias "cevPortGigBaseDwdm3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.192"; + } + + smiv2:alias "cevPortGigBaseDwdm3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.193"; + } + + smiv2:alias "cevPortGigBaseDwdm3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.194"; + } + + smiv2:alias "cevPortGigBaseDwdm3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.195"; + } + + smiv2:alias "cevPortGigBaseDwdm3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.196"; + } + + smiv2:alias "cevPortGigBaseDwdm3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.197"; + } + + smiv2:alias "cevPortGigBaseDwdm4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.198"; + } + + smiv2:alias "cevPortGigBaseDwdm4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.199"; + } + + smiv2:alias "cevPortGigBaseDwdm4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.200"; + } + + smiv2:alias "cevPortGigBaseDwdm4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.201"; + } + + smiv2:alias "cevPortGigBaseDwdm4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.202"; + } + + smiv2:alias "cevPortGigBaseDwdm4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.203"; + } + + smiv2:alias "cevPortGigBaseDwdm4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.204"; + } + + smiv2:alias "cevPortGigBaseDwdm4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.205"; + } + + smiv2:alias "cevPortGigBaseDwdm4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.206"; + } + + smiv2:alias "cevPortGigBaseDwdm5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.207"; + } + + smiv2:alias "cevPortGigBaseDwdm5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.208"; + } + + smiv2:alias "cevPortGigBaseDwdm5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.209"; + } + + smiv2:alias "cevPortGigBaseDwdm5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.210"; + } + + smiv2:alias "cevPortGigBaseDwdm5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.211"; + } + + smiv2:alias "cevPortGigBaseDwdm5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.212"; + } + + smiv2:alias "cevPortGigBaseDwdm5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.213"; + } + + smiv2:alias "cevPortGigBaseDwdm5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.214"; + } + + smiv2:alias "cevPortGigBaseDwdm5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.215"; + } + + smiv2:alias "cevPortGigBaseDwdm5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.216"; + } + + smiv2:alias "cevPortGigBaseDwdm5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.217"; + } + + smiv2:alias "cevPortGigBaseDwdm6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.218"; + } + + smiv2:alias "cevPort10GigBaseWdmRxOnly" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.219"; + } + + smiv2:alias "cevPort10GigBaseDwdm3033" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.220"; + } + + smiv2:alias "cevPort10GigBaseDwdm3112" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.221"; + } + + smiv2:alias "cevPort10GigBaseDwdm3190" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.222"; + } + + smiv2:alias "cevPort10GigBaseDwdm3268" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.223"; + } + + smiv2:alias "cevPort10GigBaseDwdm3425" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.224"; + } + + smiv2:alias "cevPort10GigBaseDwdm3504" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.225"; + } + + smiv2:alias "cevPort10GigBaseDwdm3582" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.226"; + } + + smiv2:alias "cevPort10GigBaseDwdm3661" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.227"; + } + + smiv2:alias "cevPort10GigBaseDwdm3819" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.228"; + } + + smiv2:alias "cevPort10GigBaseDwdm3898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.229"; + } + + smiv2:alias "cevPort10GigBaseDwdm3977" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.230"; + } + + smiv2:alias "cevPort10GigBaseDwdm4056" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.231"; + } + + smiv2:alias "cevPort10GigBaseDwdm4214" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.232"; + } + + smiv2:alias "cevPort10GigBaseDwdm4294" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.233"; + } + + smiv2:alias "cevPort10GigBaseDwdm4373" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.234"; + } + + smiv2:alias "cevPort10GigBaseDwdm4453" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.235"; + } + + smiv2:alias "cevPort10GigBaseDwdm4612" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.236"; + } + + smiv2:alias "cevPort10GigBaseDwdm4692" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.237"; + } + + smiv2:alias "cevPort10GigBaseDwdm4772" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.238"; + } + + smiv2:alias "cevPort10GigBaseDwdm4851" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.239"; + } + + smiv2:alias "cevPort10GigBaseDwdm5012" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.240"; + } + + smiv2:alias "cevPort10GigBaseDwdm5092" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.241"; + } + + smiv2:alias "cevPort10GigBaseDwdm5172" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.242"; + } + + smiv2:alias "cevPort10GigBaseDwdm5252" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.243"; + } + + smiv2:alias "cevPort10GigBaseDwdm5413" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.244"; + } + + smiv2:alias "cevPort10GigBaseDwdm5494" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.245"; + } + + smiv2:alias "cevPort10GigBaseDwdm5575" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.246"; + } + + smiv2:alias "cevPort10GigBaseDwdm5655" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.247"; + } + + smiv2:alias "cevPort10GigBaseDwdm5817" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.248"; + } + + smiv2:alias "cevPort10GigBaseDwdm5898" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.249"; + } + + smiv2:alias "cevPort10GigBaseDwdm5979" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.250"; + } + + smiv2:alias "cevPort10GigBaseDwdm6061" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.251"; + } + + smiv2:alias "cevPortGigBaseBX10D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.252"; + } + + smiv2:alias "cevPortGigBaseBX10U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.253"; + } + + smiv2:alias "cevPortT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.254"; + } + + smiv2:alias "cevPort2GFCPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.255"; + } + + smiv2:alias "cevPortLanWirelessApplication" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.256"; + } + + smiv2:alias "cevPortSEInternalFE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.257"; + } + + smiv2:alias "cevPortCEInternalFE" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.258"; + } + + smiv2:alias "cevPortIpsecVpn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.259"; + } + + smiv2:alias "cevPortSsl" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.260"; + } + + smiv2:alias "cevPortFirewall" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.261"; + } + + smiv2:alias "cevPortDsp5441" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.263"; + } + + smiv2:alias "cevPortDsp6415" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.264"; + } + + smiv2:alias "cevPortHwicSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.265"; + } + + smiv2:alias "cevPortAsi" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.266"; + } + + smiv2:alias "cevPortQam" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.267"; + } + + smiv2:alias "cevPortGigBaseBT" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.268"; + } + + smiv2:alias "cevPort100BaseUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.269"; + } + + smiv2:alias "cevPort100BaseUnapproved" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.270"; + } + + smiv2:alias "cevPort100BaseBX10D" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.271"; + } + + smiv2:alias "cevPort100BaseBX10U" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.272"; + } + + smiv2:alias "cevPort100BaseFX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.273"; + } + + smiv2:alias "cevPort100BaseLX10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.274"; + } + + smiv2:alias "cevPort100BaseSX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.275"; + } + + smiv2:alias "cevPortSM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.276"; + } + + smiv2:alias "cevPortT3E3" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.277"; + } + + smiv2:alias "cevPortMultiRate" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.278"; + } + + smiv2:alias "cevPortWaveSonetPhy" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.279"; + } + + smiv2:alias "cevPortSDCC" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.280"; + } + + smiv2:alias "cevPortAdslAnnexA" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.281"; + } + + smiv2:alias "cevPortAdslAnnexB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.282"; + } + + smiv2:alias "cevPort10GigBaseZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.285"; + } + + smiv2:alias "cevPort10GigBaseCX4" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.286"; + } + + smiv2:alias "cevPort10GigBaseSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.287"; + } + + smiv2:alias "cevPortGigBaseCwdm1610" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.288"; + } + + smiv2:alias "cevPortGigBaseCwdm1590" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.289"; + } + + smiv2:alias "cevPortGigBaseCwdm1550" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.290"; + } + + smiv2:alias "cevPortGigBaseCwdm1530" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.291"; + } + + smiv2:alias "cevPortGigBaseCwdm1510" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.292"; + } + + smiv2:alias "cevPortGigBaseCwdm1490" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.293"; + } + + smiv2:alias "cevPortGigBaseCwdm1470" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.294"; + } + + smiv2:alias "cevPortGigBaseCwdm1570" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.295"; + } + + smiv2:alias "cevPortUSB" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.296"; + } + + smiv2:alias "cevPortSslVpn" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.297"; + } + + smiv2:alias "cevPortCableModem" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.298"; + } + + smiv2:alias "cevNmeApaPort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.299"; + } + + smiv2:alias "cevPort10GigBase" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.300"; + } + + smiv2:alias "cevPort10GigBaseLRM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.301"; + } + + smiv2:alias "cevPortdot11abg" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.302"; + } + + smiv2:alias "cevPortDti" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.303"; + } + + smiv2:alias "cevPort10GigSFPPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.304"; + } + + smiv2:alias "cevPortCscPort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.305"; + } + + smiv2:alias "cevPortGEXFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.306"; + } + + smiv2:alias "cevPortGigBaseDwdm6141" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.307"; + } + + smiv2:alias "cevPortGigBaseDwdm5736" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.308"; + } + + smiv2:alias "cevPortGigBaseDwdm5332" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.309"; + } + + smiv2:alias "cevPortGigBaseDwdm4931" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.310"; + } + + smiv2:alias "cevPortGigBaseDwdm4532" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.311"; + } + + smiv2:alias "cevPortGigBaseDwdm4134" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.312"; + } + + smiv2:alias "cevPortGigBaseDwdm3739" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.313"; + } + + smiv2:alias "cevPortGigBaseDwdm3346" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.314"; + } + + smiv2:alias "cevPort10GigEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.315"; + } + + smiv2:alias "cevPortSEInternal" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.316"; + } + + smiv2:alias "cevPortGigBaseEX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.317"; + } + + smiv2:alias "cevPort40GigEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.318"; + } + + smiv2:alias "cevPortAces" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.319"; + } + + smiv2:alias "cevPort100GigEthernet" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.320"; + } + + smiv2:alias "cevPort40GigQSFPPlus" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.321"; + } + + smiv2:alias "cevPort100GECFP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.322"; + } + + smiv2:alias "cevPortPlcG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.323"; + } + + smiv2:alias "cevPortWimaxG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.324"; + } + + smiv2:alias "cevPort3gCdmaG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.325"; + } + + smiv2:alias "cevPort3gGsmG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.326"; + } + + smiv2:alias "cevPortWpanG" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.327"; + } + + smiv2:alias "cevPortCXP" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.331"; + } + + smiv2:alias "cevPortCPAK" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.332"; + } + + smiv2:alias "cevPortConsole" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.333"; + } + + smiv2:alias "cevPortAlarmDSUB15" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.334"; + } + + smiv2:alias "cevPortSseBreakout100GePort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.337"; + } + + smiv2:alias "cevPortSseBreakout10GePort" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.338"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOZR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.339"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOER" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.340"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOSRX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.341"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOLRX" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.342"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOLR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.343"; + } + + smiv2:alias "cevPortCisco10GeSFPPlusPOSR" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.344"; + } + + smiv2:alias "cevPortPHwicSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.346"; + } + + smiv2:alias "cevPortPT1E1" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.347"; + } + + smiv2:alias "cevPortPHdvDsp" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.348"; + } + + smiv2:alias "cevPortSerial" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.350"; + } + + smiv2:alias "cevPortCPAKLR10" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.351"; + } + + smiv2:alias "cevPortAdslAnnexM" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.10.352"; + } + + smiv2:alias "cevStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11"; + } + + smiv2:alias "cevStackUnknown" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.1"; + } + + smiv2:alias "cevStackCat37xx" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.2"; + } + + smiv2:alias "cevCat65xxVirtualSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.3"; + } + + smiv2:alias "cevCbs3120Stack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.5"; + } + + smiv2:alias "cevC29xxStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.11"; + } + + smiv2:alias "cevStackIosXrMultichassis" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.12"; + } + + smiv2:alias "cevStackCat4xxxVirtualSwitchStack" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.13"; + } + + smiv2:alias "cevStackFex" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.14"; + } + + smiv2:alias "cevStackC68xxVirSwitch" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.11.20"; + } + + smiv2:alias "cevMidplane" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.12"; + } + + smiv2:alias "cevMidplaneUmg9820" { + smiv2:oid "1.3.6.1.4.1.9.12.3.1.12.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ENVMON-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ENVMON-MIB.yang new file mode 100644 index 000000000..ffbeb4113 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ENVMON-MIB.yang @@ -0,0 +1,1104 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-ENVMON-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ENVMON-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ENVMON-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENVMON-MIB"; + prefix CISCO-ENVMON-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module to describe the status of the Environmental + Monitor on those devices which support one."; + + revision 2003-12-01 { + description + "Added c37xx (13) and other (14) as values for + ciscoEnvMonPresent"; + } + + revision 2003-11-25 { + description + "Added ciscoEnvMonMIBMiscNotifGroup."; + } + + revision 2002-10-15 { + description + "Added c7600(12) as values for ciscoEnvMonPresent"; + } + + revision 2002-07-17 { + description + "Added optional groups ciscoEnvMonEnableStatChangeGroup + and ciscoEnvMonStatChangeNotifGroup."; + } + + revision 2002-02-04 { + description + "Added osr7600(11) as values + for ciscoEnvMonPresent"; + } + + revision 2001-08-30 { + description + "Added c10000(10) as values for ciscoEnvMonPresent"; + } + + revision 2001-08-16 { + description + "Added cat4000(9) as values for ciscoEnvMonPresent"; + } + + revision 2001-05-07 { + description + "Added cat6000(7),ubr7200(8) + as values for ciscoEnvMonPresent"; + } + + revision 2000-01-31 { + description + "Add notFunctioning to CiscoEnvMonState."; + } + + revision 1998-10-22 { + description + "Renamed enumerated value internalRPS(5) as + internalRedundant(5) and added description for + ciscoEnvMonSupplySource enumerated values."; + } + + revision 1998-08-05 { + description + "Add enumerated value internalRPS(5) to + ciscoEnvMonSupplySource."; + } + + revision 1996-11-12 { + description + "Add monitoring support for c3600 series router"; + } + + revision 1995-08-15 { + description + "Specify a correct (non-negative) range for several + index objects."; + } + + revision 1995-03-13 { + description + "Miscellaneous changes including monitoring support + for c7000 series redundant power supplies."; + } + + typedef CiscoEnvMonState { + type enumeration { + enum "normal" { + value "1"; + } + enum "warning" { + value "2"; + } + enum "critical" { + value "3"; + } + enum "shutdown" { + value "4"; + } + enum "notPresent" { + value "5"; + } + enum "notFunctioning" { + value "6"; + } + } + description + "Represents the state of a device being monitored. + Valid values are: + + normal(1): the environment is good, such as low + temperature. + + warning(2): the environment is bad, such as temperature + above normal operation range but not too + high. + + critical(3): the environment is very bad, such as + temperature much higher than normal + operation limit. + + shutdown(4): the environment is the worst, the system + should be shutdown immediately. + + notPresent(5): the environmental monitor is not present, + such as temperature sensors do not exist. + + notFunctioning(6): the environmental monitor does not + function properly, such as a temperature + sensor generates a abnormal data like + 1000 C."; + } + + typedef CiscoSignedGauge { + type int32; + description + "Represents the current value of an entity, as a signed + integer."; + } + + + container CISCO-ENVMON-MIB { + config false; + + container ciscoEnvMonObjects { + smiv2:oid "1.3.6.1.4.1.9.9.13.1"; + + leaf ciscoEnvMonPresent { + type enumeration { + enum "oldAgs" { + value "1"; + } + enum "ags" { + value "2"; + } + enum "c7000" { + value "3"; + } + enum "ci" { + value "4"; + } + enum "cAccessMon" { + value "6"; + } + enum "cat6000" { + value "7"; + } + enum "ubr7200" { + value "8"; + } + enum "cat4000" { + value "9"; + } + enum "c10000" { + value "10"; + } + enum "osr7600" { + value "11"; + } + enum "c7600" { + value "12"; + } + enum "c37xx" { + value "13"; + } + enum "other" { + value "14"; + } + } + description + "The type of environmental monitor located in the chassis. + An oldAgs environmental monitor card is identical to an ags + environmental card except that it is not capable of supplying + data, and hence no instance of the remaining objects in this + MIB will be returned in response to an SNMP query. Note that + only a firmware upgrade is required to convert an oldAgs into + an ags card."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.1"; + } + + leaf ciscoEnvMonAlarmContacts { + type bits { + bit minorVisual { + position "0"; + } + bit majorVisual { + position "1"; + } + bit criticalVisual { + position "2"; + } + bit minorAudible { + position "3"; + } + bit majorAudible { + position "4"; + } + bit criticalAudible { + position "5"; + } + bit input { + position "6"; + } + } + description + "Each bit is set to reflect the respective + alarm being set. The bit will be cleared + when the respective alarm is cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.6"; + } + } + + container ciscoEnvMonMIBNotificationEnables { + smiv2:oid "1.3.6.1.4.1.9.9.13.2"; + + leaf ciscoEnvMonEnableShutdownNotification { + type boolean; + description + "This variable indicates whether the system + produces the ciscoEnvMonShutdownNotification. A false + value will prevent shutdown notifications + from being generated by this system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.1"; + } + + leaf ciscoEnvMonEnableVoltageNotification { + type boolean; + status deprecated; + description + "This variable indicates whether the system + produces the ciscoEnvMonVoltageNotification. A false + value will prevent voltage notifications from being + generated by this system. This object is deprecated + in favour of ciscoEnvMonEnableStatChangeNotif."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.2"; + } + + leaf ciscoEnvMonEnableTemperatureNotification { + type boolean; + status deprecated; + description + "This variable indicates whether the system + produces the ciscoEnvMonTemperatureNotification. + A false value prevents temperature notifications + from being sent by this entity. This object is + deprecated in favour of + ciscoEnvMonEnableStatChangeNotif."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.3"; + } + + leaf ciscoEnvMonEnableFanNotification { + type boolean; + status deprecated; + description + "This variable indicates whether the system + produces the ciscoEnvMonFanNotification. + A false value prevents fan notifications + from being sent by this entity. This object is + deprecated in favour of + ciscoEnvMonEnableStatChangeNotif."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.4"; + } + + leaf ciscoEnvMonEnableRedundantSupplyNotification { + type boolean; + status deprecated; + description + "This variable indicates whether the system + produces the ciscoEnvMonRedundantSupplyNotification. + A false value prevents redundant supply notifications + from being generated by this system. This object is + deprecated in favour of + ciscoEnvMonEnableStatChangeNotif."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.5"; + } + + leaf ciscoEnvMonEnableStatChangeNotif { + type boolean; + description + "This variable indicates whether the system + produces the ciscoEnvMonVoltStatusChangeNotif, + ciscoEnvMonTempStatusChangeNotif, + ciscoEnvMonFanStatusChangeNotif and + ciscoEnvMonSuppStatusChangeNotif. A false value will + prevent these notifications from being generated by + this system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.13.2.6"; + } + } + + container ciscoEnvMonVoltageStatusTable { + description + "The table of voltage status maintained by the environmental + monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2"; + + list ciscoEnvMonVoltageStatusEntry { + key "ciscoEnvMonVoltageStatusIndex"; + description + "An entry in the voltage status table, representing the status + of the associated testpoint maintained by the environmental + monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1"; + + leaf ciscoEnvMonVoltageStatusIndex { + type int32 { + range "0..2147483647"; + } + description + "Unique index for the testpoint being instrumented. + This index is for SNMP purposes only, and has no + intrinsic meaning."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.1"; + } + + leaf ciscoEnvMonVoltageStatusDescr { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "Textual description of the testpoint being instrumented. + This description is a short textual label, suitable as a + human-sensible identification for the rest of the + information in the entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.2"; + } + + leaf ciscoEnvMonVoltageStatusValue { + type CISCO-ENVMON-MIB:CiscoSignedGauge; + units "millivolts"; + description + "The current measurement of the testpoint being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.3"; + } + + leaf ciscoEnvMonVoltageThresholdLow { + type int32; + units "millivolts"; + description + "The lowest value that the associated instance of the object + ciscoEnvMonVoltageStatusValue may obtain before an emergency + shutdown of the managed device is initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.4"; + } + + leaf ciscoEnvMonVoltageThresholdHigh { + type int32; + units "millivolts"; + description + "The highest value that the associated instance of the object + ciscoEnvMonVoltageStatusValue may obtain before an emergency + shutdown of the managed device is initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.5"; + } + + leaf ciscoEnvMonVoltageLastShutdown { + type int32; + units "millivolts"; + description + "The value of the associated instance of the object + ciscoEnvMonVoltageStatusValue at the time an emergency + shutdown of the managed device was last initiated. This + value is stored in non-volatile RAM and hence is able to + survive the shutdown."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.6"; + } + + leaf ciscoEnvMonVoltageState { + type CISCO-ENVMON-MIB:CiscoEnvMonState; + description + "The current state of the testpoint being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.2.1.7"; + } + } + } + + container ciscoEnvMonTemperatureStatusTable { + description + "The table of ambient temperature status maintained by the + environmental monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3"; + + list ciscoEnvMonTemperatureStatusEntry { + key "ciscoEnvMonTemperatureStatusIndex"; + description + "An entry in the ambient temperature status table, representing + the status of the associated testpoint maintained by the + environmental monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1"; + + leaf ciscoEnvMonTemperatureStatusIndex { + type int32 { + range "0..2147483647"; + } + description + "Unique index for the testpoint being instrumented. + This index is for SNMP purposes only, and has no + intrinsic meaning."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.1"; + } + + leaf ciscoEnvMonTemperatureStatusDescr { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "Textual description of the testpoint being instrumented. + This description is a short textual label, suitable as a + human-sensible identification for the rest of the + information in the entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.2"; + } + + leaf ciscoEnvMonTemperatureStatusValue { + type yang:gauge32; + units "degrees Celsius"; + description + "The current measurement of the testpoint being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.3"; + } + + leaf ciscoEnvMonTemperatureThreshold { + type int32; + units "degrees Celsius"; + description + "The highest value that the associated instance of the + object ciscoEnvMonTemperatureStatusValue may obtain + before an emergency shutdown of the managed device is + initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.4"; + } + + leaf ciscoEnvMonTemperatureLastShutdown { + type int32; + units "degrees Celsius"; + description + "The value of the associated instance of the object + ciscoEnvMonTemperatureStatusValue at the time an emergency + shutdown of the managed device was last initiated. This + value is stored in non-volatile RAM and hence is able to + survive the shutdown."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.5"; + } + + leaf ciscoEnvMonTemperatureState { + type CISCO-ENVMON-MIB:CiscoEnvMonState; + description + "The current state of the testpoint being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.3.1.6"; + } + } + } + + container ciscoEnvMonFanStatusTable { + description + "The table of fan status maintained by the environmental + monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.4"; + + list ciscoEnvMonFanStatusEntry { + key "ciscoEnvMonFanStatusIndex"; + description + "An entry in the fan status table, representing the status of + the associated fan maintained by the environmental monitor."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.4.1"; + + leaf ciscoEnvMonFanStatusIndex { + type int32 { + range "0..2147483647"; + } + description + "Unique index for the fan being instrumented. + This index is for SNMP purposes only, and has no + intrinsic meaning."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.4.1.1"; + } + + leaf ciscoEnvMonFanStatusDescr { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "Textual description of the fan being instrumented. + This description is a short textual label, suitable as a + human-sensible identification for the rest of the + information in the entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.4.1.2"; + } + + leaf ciscoEnvMonFanState { + type CISCO-ENVMON-MIB:CiscoEnvMonState; + description + "The current state of the fan being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.4.1.3"; + } + } + } + + container ciscoEnvMonSupplyStatusTable { + description + "The table of power supply status maintained by the + environmental monitor card."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5"; + + list ciscoEnvMonSupplyStatusEntry { + key "ciscoEnvMonSupplyStatusIndex"; + description + "An entry in the power supply status table, representing the + status of the associated power supply maintained by the + environmental monitor card."; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5.1"; + + leaf ciscoEnvMonSupplyStatusIndex { + type int32 { + range "0..2147483647"; + } + description + "Unique index for the power supply being instrumented. + This index is for SNMP purposes only, and has no + intrinsic meaning."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5.1.1"; + } + + leaf ciscoEnvMonSupplyStatusDescr { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "Textual description of the power supply being instrumented. + This description is a short textual label, suitable as a + human-sensible identification for the rest of the + information in the entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5.1.2"; + } + + leaf ciscoEnvMonSupplyState { + type CISCO-ENVMON-MIB:CiscoEnvMonState; + description + "The current state of the power supply being instrumented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5.1.3"; + } + + leaf ciscoEnvMonSupplySource { + type enumeration { + enum "unknown" { + value "1"; + } + enum "ac" { + value "2"; + } + enum "dc" { + value "3"; + } + enum "externalPowerSupply" { + value "4"; + } + enum "internalRedundant" { + value "5"; + } + } + description + "The power supply source. + unknown - Power supply source unknown + ac - AC power supply + dc - DC power supply + externalPowerSupply - External power supply + internalRedundant - Internal redundant power supply "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.13.1.5.1.4"; + } + } + } + } + + notification ciscoEnvMonShutdownNotification { + description + "A ciscoEnvMonShutdownNotification is sent if the environmental + monitor detects a testpoint reaching a critical state + and is about to initiate a shutdown. This notification + contains no objects so that it may be encoded and sent in the + shortest amount of time possible. Even so, management + applications should not rely on receiving such a notification + as it may not be sent before the shutdown completes."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.1"; + } + + notification ciscoEnvMonVoltageNotification { + status deprecated; + description + "A ciscoEnvMonVoltageNotification is sent if the voltage + measured at a given testpoint is outside the normal range + for the testpoint (i.e. is at the warning, critical, or + shutdown stage). Since such a notification is usually + generated before the shutdown state is reached, it can + convey more data and has a better chance of being sent + than does the ciscoEnvMonShutdownNotification. + This notification is deprecated in favour of + ciscoEnvMonVoltStatusChangeNotif."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.2"; + + container object-1 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageStatusValue { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusValue"; + } + } + } + + container object-3 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageState"; + } + } + } + } + + notification ciscoEnvMonTemperatureNotification { + status deprecated; + description + "A ciscoEnvMonTemperatureNotification is sent if the + temperature measured at a given testpoint is outside + the normal range for the testpoint (i.e. is at the warning, + critical, or shutdown stage). Since such a Notification + is usually generated before the shutdown state is reached, + it can convey more data and has a better chance of being + sent than does the ciscoEnvMonShutdownNotification. + This notification is deprecated in favour of + ciscoEnvMonTempStatusChangeNotif."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.3"; + + container object-1 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureStatusValue { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusValue"; + } + } + } + + container object-3 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureState"; + } + } + } + } + + notification ciscoEnvMonFanNotification { + status deprecated; + description + "A ciscoEnvMonFanNotification is sent if any one of + the fans in the fan array (where extant) fails. + Since such a notification is usually generated before + the shutdown state is reached, it can convey more + data and has a better chance of being sent + than does the ciscoEnvMonShutdownNotification. + This notification is deprecated in favour of + ciscoEnvMonFanStatusChangeNotif."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.4"; + + container object-1 { + + leaf ciscoEnvMonFanStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusIndex"; + } + } + + leaf ciscoEnvMonFanStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonFanStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusIndex"; + } + } + + leaf ciscoEnvMonFanState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanState"; + } + } + } + } + + notification ciscoEnvMonRedundantSupplyNotification { + status deprecated; + description + "A ciscoEnvMonRedundantSupplyNotification is sent if + the redundant power supply (where extant) fails. + Since such a notification is usually generated before + the shutdown state is reached, it can convey more + data and has a better chance of being sent + than does the ciscoEnvMonShutdownNotification. + This notification is deprecated in favour of + ciscoEnvMonSuppStatusChangeNotif."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.5"; + + container object-1 { + + leaf ciscoEnvMonSupplyStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusIndex"; + } + } + + leaf ciscoEnvMonSupplyStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonSupplyStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusIndex"; + } + } + + leaf ciscoEnvMonSupplyState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyState"; + } + } + } + } + + notification ciscoEnvMonVoltStatusChangeNotif { + description + "A ciscoEnvMonVoltStatusChangeNotif is sent if there is + change in the state of a device being monitored + by ciscoEnvMonVoltageState."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.6"; + + container object-1 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageStatusValue { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusValue"; + } + } + } + + container object-3 { + + leaf ciscoEnvMonVoltageStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusIndex"; + } + } + + leaf ciscoEnvMonVoltageState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonVoltageStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonVoltageState"; + } + } + } + } + + notification ciscoEnvMonTempStatusChangeNotif { + description + "A ciscoEnvMonTempStatusChangeNotif is sent if there + is change in the state of a device being monitored + by ciscoEnvMonTemperatureState."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.7"; + + container object-1 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureStatusValue { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusValue"; + } + } + } + + container object-3 { + + leaf ciscoEnvMonTemperatureStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusIndex"; + } + } + + leaf ciscoEnvMonTemperatureState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonTemperatureState"; + } + } + } + } + + notification ciscoEnvMonFanStatusChangeNotif { + description + "A ciscoEnvMonFanStatusChangeNotif is sent if there + is change in the state of a device being monitored + by ciscoEnvMonFanState."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.8"; + + container object-1 { + + leaf ciscoEnvMonFanStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusIndex"; + } + } + + leaf ciscoEnvMonFanStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonFanStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusIndex"; + } + } + + leaf ciscoEnvMonFanState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonFanStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonFanState"; + } + } + } + } + + notification ciscoEnvMonSuppStatusChangeNotif { + description + "A ciscoEnvMonSupplyStatChangeNotif is sent if there + is change in the state of a device being monitored + by ciscoEnvMonSupplyState."; + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0.9"; + + container object-1 { + + leaf ciscoEnvMonSupplyStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusIndex"; + } + } + + leaf ciscoEnvMonSupplyStatusDescr { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusDescr"; + } + } + } + + container object-2 { + + leaf ciscoEnvMonSupplyStatusIndex { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusIndex"; + } + } + + leaf ciscoEnvMonSupplyState { + type leafref { + path "/CISCO-ENVMON-MIB:CISCO-ENVMON-MIB/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusTable/CISCO-ENVMON-MIB:ciscoEnvMonSupplyStatusEntry/CISCO-ENVMON-MIB:ciscoEnvMonSupplyState"; + } + } + } + } + + smiv2:alias "ciscoEnvMonMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.13"; + } + + smiv2:alias "ciscoEnvMonObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.13.1"; + } + + smiv2:alias "ciscoEnvMonMIBNotificationEnables" { + smiv2:oid "1.3.6.1.4.1.9.9.13.2"; + } + + smiv2:alias "ciscoEnvMonMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.13.3"; + } + + smiv2:alias "ciscoEnvMonMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.13.3.0"; + } + + smiv2:alias "ciscoEnvMonMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.13.4"; + } + + smiv2:alias "ciscoEnvMonMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.13.4.1"; + } + + smiv2:alias "ciscoEnvMonMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.13.4.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ETHER-CFM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ETHER-CFM-MIB.yang new file mode 100644 index 000000000..07dc44b4e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ETHER-CFM-MIB.yang @@ -0,0 +1,1640 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ETHER-CFM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ETHER-CFM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ETHER-CFM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB"; + prefix CISCO-ETHER-CFM-MIB; + + import Q-BRIDGE-MIB { + prefix "q-bridge"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + Tel: +1 800 553-NETS + E-mail: cs-ethermibs@cisco.com"; + + description + "This MIB module defines the managed objects + and notifications for Ethernet Connectivity + Fault Management (CFM). + + CFM is an end-to-end per service instance Ethernet layer + Operations, Administration and Management (OAM) protocol. + + CFM events include: + + - Maintenance End-Point (MEP) coming up: establishing + connectivity + + - Maintenance End-Point going down: losing connectivity + + - Maintenance End-Point unknown: unexpected + + - Maintenance End-Point missing: expected but not reachable + + - Continuity Check Configuration Error: collision in MEP IDs + + - Continuity Check Loop: forwarding loop in network + + - Continuity Check Cross-connect: cross-connected + forwarding path. + + The following acronyms are used in this module: + + - MEP: Maintenance End Point + + - MEPID: Maintenance End Point Identifier + + - CC: Continuity Check + + - CCDB: Continuity Check Database + + - SVLAN: Service Provider Virtual Local Area Network + + - VLAN: Virtual Local Area Network + + - CLI: Command Line Interface. + + - OAM: Operations Administration and Management."; + + revision 2004-12-28 { + description + "The initial revision of this MIB."; + } + + typedef CfmMepid { + type uint32 { + range "0..8191"; + } + description + "The identifier of a maintenance end point."; + } + + + container CISCO-ETHER-CFM-MIB { + config false; + + container cecCfmEvents { + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1"; + + leaf cEtherCfmMaxEventIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object specifies the maximum upper value supported + for the cEtherCfmEventIndex index by this agent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.1"; + } + } + + container cEtherCfmEventTable { + description + "This table contains a collection of Ethernet CFM notifications + generated by the device. The notifications correspond to events + recognized by the device and fall into the following classes: + + - MEP-Up + + - MEP-Down + + - Configuration Error + + - Forwarding Loop + + - Cross-connected Ethernet Connection + + - Crosscheck Missing MEP + + - Crosscheck Unknown MEP + + - Crosscheck Service Up + + A conceptual row is created in this table whenever the device + encounters one of the events listed above. Rows can only be + created by the agent, and not at the request of the management + station. + + Rows are deleted at the request of a management station by + setting the cEtherCfmEventDeleteRow object to 'delete'. + Another way of deleting rows is through the CLI. + + Although this table may be indexed uniquely by the + cEtherCfmEventIndex index, the first two indices + (cEtherCfmEventDomainIndex and cEtherCfmEventSvlan) are used + to speed-up queries per maintenance domain and per customer + service instance. Furthermore, these two indices will help + in defining the MIB views easily in order to restrict access + to the MIB to particular entities (be it a service provider, + or operator, or customer)."; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2"; + + list cEtherCfmEventEntry { + key "cEtherCfmEventDomainIndex cEtherCfmEventSvlan cEtherCfmEventIndex"; + description + "An entry in this table is created for every event reported + by Ethernet CFM."; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1"; + + leaf cEtherCfmEventDomainIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the ID which uniquely identifies + a CFM maintenance domain on the device. Every domain can + be uniquely identified by its user-defined + name (cEtherCfmEventDomainName) or device-assigned ID (this + object)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.1"; + } + + leaf cEtherCfmEventSvlan { + type q-bridge:VlanId; + description + "The service VLAN identifier of the customer service + instance to which the event belongs."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.2"; + } + + leaf cEtherCfmEventIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer for the sole purpose of + indexing CFM events. When it reaches the maximum value + supported by the agent, as defined in the + cEtherCfmMaxEventIndex object, the agent wraps the value + back to 1 and may flush existing entries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.3"; + } + + leaf cEtherCfmEventDomainName { + type snmp-framework:SnmpAdminString; + description + "The name of the CFM maintenance domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.4"; + } + + leaf cEtherCfmEventType { + type enumeration { + enum "mepUp" { + value "1"; + } + enum "mepDown" { + value "2"; + } + enum "xconnect" { + value "3"; + } + enum "loop" { + value "4"; + } + enum "config" { + value "5"; + } + enum "xcheckMissing" { + value "6"; + } + enum "xcheckUnknown" { + value "7"; + } + enum "xcheckServiceUp" { + value "8"; + } + } + description + "This object informs the management station of how to interpret + the rest of the objects within a row, as summarized in the + following table: + + Legend I: Ignored Object + V: Valid Object + + Object cEtherCfmEventType + | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 + ================================================================ + | | | | | | | | + cEtherCfmEventDomainIndex | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventSvlan | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventIndex | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventLastChange | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventServiceId | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventDomainName | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventLclMepid | I | I | I | V | V | I | I | I + | | | | | | | | + cEtherCfmEventLclMacAddress | V | V | V | V | V | V | V | V + | | | | | | | | + cEtherCfmEventLclMepCount | V | V | I | I | I | I | I | I + | | | | | | | | + cEtherCfmEventLclIfCount | V | V | I | I | I | I | I | I + | | | | | | | | + cEtherCfmEventRmtMepid | V | V | V | I | I | V | V | I + | | | | | | | | + cEtherCfmEventRmtMacAddress | V | V | V | I | V | V | V | I + | | | | | | | | + cEtherCfmEventRmtPortState | V | I | I | I | I | I | I | I + | | | | | | | | + cEtherCfmEventRmtServiceId | I | I | V | I | I | I | I | I + | | | | | | | | + cEtherCfmEventCode | V | V | I | I | I | I | I | I + | | | | | | | | + cEtherCfmEventDeleteRow | V | V | V | V | V | V | V | V + | | | | | | | | + + Note: When reading any ignored object, a value of 0 will + be returned by the agent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.5"; + } + + leaf cEtherCfmEventLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time when this row was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.6"; + } + + leaf cEtherCfmEventServiceId { + type snmp-framework:SnmpAdminString { + length "1..100"; + } + description + "The customer service instance to which the event belongs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.7"; + } + + leaf cEtherCfmEventLclMepid { + type CISCO-ETHER-CFM-MIB:CfmMepid; + description + "The identifier of the local MEP impacted by the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.8"; + } + + leaf cEtherCfmEventLclMacAddress { + type yang:mac-address; + description + "The MAC address of the device reporting the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.9"; + } + + leaf cEtherCfmEventLclMepCount { + type yang:gauge32; + description + "The number of local MEPs affected by the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.10"; + } + + leaf cEtherCfmEventLclIfCount { + type yang:gauge32; + description + "The number of local interfaces affected by the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.11"; + } + + leaf cEtherCfmEventRmtMepid { + type CISCO-ETHER-CFM-MIB:CfmMepid; + description + "The maintenance end-point identifier of the remote + MEP causing the event entry to be logged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.12"; + } + + leaf cEtherCfmEventRmtMacAddress { + type yang:mac-address; + description + "The MAC address of the remote maintenance point for which + the event entry is being logged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.13"; + } + + leaf cEtherCfmEventRmtPortState { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "adminDown" { + value "3"; + } + enum "test" { + value "4"; + } + enum "remoteExcessiveErrors" { + value "5"; + } + enum "localExcessiveErrors" { + value "6"; + } + enum "localNoData" { + value "7"; + } + } + description + "The operational state of the port on which the + remote MEP is configured. This information is + derived from the port-state as indicated in the + CC message. The possible values are: + + 'up' - The port is operationally up. + + 'down' - The port is operationally (but not + administratively) down. + + 'adminDown' - The port is administratively down. + + 'test' - The port is in test mode (perhaps + due to an IEEE Standard 802.3ah OAM + intrusive loopback operation). + + 'remoteExcessiveErrors' - 802.3ah OAM reports that the other + end of the link is receiving an + excessive number of invalid frames. + + 'localExcessiveErrors' - 802.3ah OAM reports that this end of + the link is receiving an excessive + number of invalid frames. + + 'localNoData' - No data and no CFM messages have been + received for an excessive length of + time."; + reference + "IEEE 802.1ag Draft 1.0: Section 19.4.9.1 and + IEEE 802.3ah-2004: Clause 57."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.14"; + } + + leaf cEtherCfmEventRmtServiceId { + type snmp-framework:SnmpAdminString { + length "1..100"; + } + description + "The ID that the remote device has configured for the + customer service instance (VLAN)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.15"; + } + + leaf cEtherCfmEventCode { + type enumeration { + enum "new" { + value "1"; + } + enum "returning" { + value "2"; + } + enum "portState" { + value "3"; + } + enum "lastGasp" { + value "4"; + } + enum "timeout" { + value "5"; + } + enum "configClear" { + value "6"; + } + enum "loopClear" { + value "7"; + } + enum "xconnectClear" { + value "8"; + } + enum "unknownClear" { + value "9"; + } + } + description + "This object is used in decoding 'mepUp' and 'mepDown' events. + + ** For 'mepUp', the following codes are relevant: + + 'new' - This is the very first time the device + receives a CC message from the remote MEP. + + 'returning' - The device received a CC message from a + remote MEP for which it had an expired + CCDB entry. + + 'portState' - The device received a CC message from a + remote MEP for which it has a valid CCDB + entry, and the message indicates a port + status change. + + ** For 'mepDown', the following codes are relevant: + + 'lastGasp' - The device received a CC message from a + remote MEP with zero lifetime. + + 'timeout' - The local CCDB entry for the remote MEP + expired. + + 'configClear' - A previous CC message from a MEP that + triggered a configuration error event + is cleared. + + 'loopClear' - A previous CC message from a MEP that + triggered a loop error event is cleared. + + 'xconnectClear' - A previous CC message from a MEP that + triggered a crossconnect error event + is cleared. + + 'unknownClear' - A previous CC message from a MEP that + triggered an unknown MEP event is + cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.16"; + } + + leaf cEtherCfmEventDeleteRow { + type enumeration { + enum "noop" { + value "1"; + } + enum "delete" { + value "2"; + } + } + description + "This object allows the management station to + delete a row in the cEtherCfmEventTable in order + to free system resources. + + When reading this object the value of 'noop' will be + returned. This object can only be set to 'delete'. + + When this object is set to 'delete', the conceptual + row corresponding to this object will be deleted to + free system resources. This is equivalent to clearing + the event log. Should the trigger that caused the event + to be logged reoccur, the event will be re-asserted but + in a different conceptual row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1.2.1.17"; + } + } + } + } + + notification cEtherCfmCcMepUp { + description + "This notification is generated in the following cases: + + - when a remote MEP first comes up, that is when we receive + a CC message from that MEP for the first time. + + - when the device receives a CC message from a MEP for which + it has an expired CCDB entry. + + - when a CC message is received for a remote MEP for which + the device already has a CCDB entry and the port-state in + the received CC message is different from the cached + previous state."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.1"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMepCount { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMepCount"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclIfCount { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclIfCount"; + } + } + } + + container object-5 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMepid"; + } + } + } + + container object-6 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + + container object-7 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventCode { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventCode"; + } + } + } + + container object-8 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtPortState { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtPortState"; + } + } + } + } + + notification cEtherCfmCcMepDown { + description + "This notification is generated when a remote MEP goes down; + i.e. the entry in CCDB corresponding to this MEP times out + or the device receives a CC message with zero hold-time."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.2"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMepCount { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMepCount"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclIfCount { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclIfCount"; + } + } + } + + container object-5 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMepid"; + } + } + } + + container object-6 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + + container object-7 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventCode { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventCode"; + } + } + } + } + + notification cEtherCfmCcCrossconnect { + description + "This notification is generated when a device receives a CC + message with the service ID not matching the one locally + configured for the VLAN in question."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.3"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMepid"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + + container object-5 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtServiceId"; + } + } + } + } + + notification cEtherCfmCcLoop { + description + "This notification is generated when a device receives a CC + message with the same MEPID and MAC address as those of + the device itself, indicating that there is a forwarding + loop and that the device is receiving its own CC messages."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.4"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMepid"; + } + } + } + } + + notification cEtherCfmCcConfigError { + description + "This notification is generated when a device receives a CC + message with the same MEPID but different MAC address as + those of the device itself, indicating that there is a + mis-configuration in the network where a remote device + has the same MEPID configured."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.5"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMepid"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + } + + notification cEtherCfmXCheckMissing { + description + "This notification is generated when an expected + (configured) MEP does not come up during the cross-check + start timeout interval."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.6"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMepid"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + } + + notification cEtherCfmXCheckUnknown { + description + "This notification is generated when an unexpected MEP + comes up."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.7"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + + container object-3 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMepid { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMepid"; + } + } + } + + container object-4 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventRmtMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventRmtMacAddress"; + } + } + } + } + + notification cEtherCfmXCheckServiceUp { + description + "This notification is generated when all the MEPs belonging + to a customer service instance come up before the expiration of + the cross-check start timeout interval."; + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0.8"; + + container object-1 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventServiceId { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventServiceId"; + } + } + } + + container object-2 { + + leaf cEtherCfmEventDomainIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventDomainIndex"; + } + } + + leaf cEtherCfmEventSvlan { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventSvlan"; + } + } + + leaf cEtherCfmEventIndex { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventIndex"; + } + } + + leaf cEtherCfmEventLclMacAddress { + type leafref { + path "/CISCO-ETHER-CFM-MIB:CISCO-ETHER-CFM-MIB/CISCO-ETHER-CFM-MIB:cEtherCfmEventTable/CISCO-ETHER-CFM-MIB:cEtherCfmEventEntry/CISCO-ETHER-CFM-MIB:cEtherCfmEventLclMacAddress"; + } + } + } + } + + smiv2:alias "ciscoEtherCfmMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.461"; + } + + smiv2:alias "ciscoEtherCfmMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.461.0"; + } + + smiv2:alias "ciscoEtherCfmNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.461.0.0"; + } + + smiv2:alias "ciscoEtherCfmMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.461.1"; + } + + smiv2:alias "cecCfmEvents" { + smiv2:oid "1.3.6.1.4.1.9.9.461.1.1"; + } + + smiv2:alias "ciscoEtherCfmMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.461.2"; + } + + smiv2:alias "ciscoEtherCfmMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.461.2.1"; + } + + smiv2:alias "ciscoEtherCfmMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.461.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ETHERLIKE-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ETHERLIKE-EXT-MIB.yang new file mode 100644 index 000000000..9db06db8f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ETHERLIKE-EXT-MIB.yang @@ -0,0 +1,254 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ETHERLIKE-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ETHERLIKE-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ETHERLIKE-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB"; + prefix CISCO-ETHERLIKE-EXT-MIB; + + import EtherLike-MIB { + prefix "etherlike-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-lan-switch-snmp@cisco.com"; + + description + "The MIB module to describe generic objects for + ethernet-like network interfaces. + + This MIB provides ethernet-like network interfaces + information that are either excluded by EtherLike-MIB + or specific to Cisco products."; + + revision 2010-06-04 { + description + "Added a new table ceeSubInterfaceTable under new OID subtree + ceeSubIf. + + Added a new group ciscoEtherExtSubIfGroup. + + Added a new Compliance ceeEtherExtMIBComplianceR01, which + deprecates ceeEtherExtMIBCompliance."; + } + + revision 2008-10-15 { + description + "Updated ceeDot3PauseExtAdminMode DESCRIPTION with + correct dot3PauseOperMode values."; + } + + revision 2008-01-09 { + description + "Initial version of this MIB module."; + } + + + container CISCO-ETHERLIKE-EXT-MIB { + config false; + + container ceeDot3PauseExtTable { + description + "A list of additional descriptive and status + information about the MAC Control PAUSE + function on the ethernet-like interfaces + attached to a particular system, in extension to + dot3PauseTable in EtherLike-MIB. There will be + one row in this table for each ethernet-like + interface in the system which supports the MAC + Control PAUSE function."; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.1.1"; + + list ceeDot3PauseExtEntry { + key "dot3StatsIndex"; + description + "An entry in the table, containing additional + information about the MAC Control PAUSE function + on a single ethernet-like interface, in extension + to dot3PauseEntry in Etherlike-MIB."; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.1.1.1"; + + leaf dot3StatsIndex { + type leafref { + path "/etherlike-mib:EtherLike-MIB/etherlike-mib:dot3StatsTable/etherlike-mib:dot3StatsEntry/etherlike-mib:dot3StatsIndex"; + } + } + + leaf ceeDot3PauseExtAdminMode { + type bits { + bit txDesired { + position "0"; + } + bit rxDesired { + position "1"; + } + } + description + "Indicates preference to send or process pause + frames on this interface. + txDesired(0) - indicates preference to send pause + frames, but autonegotiates flow + control. This bit can only be + turned on when the corresponding + instance of dot3PauseAdminMode + has the value of 'enabledXmit' or + 'enabledXmitAndRcv'. + rxDesired(1) - indicates preference to process + pause frames, but autonegotiates + flow control. This bit can only be + turned on when the corresponding + instance of dot3PauseAdminMode + has the value of 'enabledRcv' or + 'enabledXmitAndRcv'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.1.1.1.1"; + } + + leaf ceeDot3PauseExtOperMode { + type bits { + bit txDisagree { + position "0"; + } + bit rxDisagree { + position "1"; + } + bit txDesired { + position "2"; + } + bit rxDesired { + position "3"; + } + } + description + "Provides additional information about the flow + control operational status on this interface. + txDisagree(0) - the transmit pause function on + this interface is disabled due to + disagreement from the far end on + negotiation. + rxDisagree(1) - the receive pause function on + this interface is disabled due to + disagreement from the far end on + negotiation. + txDesired(2) - the transmit pause function on + this interface is desired. + rxDesired(3) - the receive pause function on + this interface is desired."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.1.1.1.2"; + } + } + } + + container ceeSubInterfaceTable { + description + "This table provides the subinterface related information + associated to the Ethernet-like interfaces. + + The subinterface is a division of one physical interface into + multiple logical interfaces. As an example of what a typical + subinterface setup might look like on a device, a single + Ethernet port such as GigabitEthernet0/0 would be subdivided + into Gi0/0.1, Gi0/0.2, Gi0/0.3 and so on, each one performing as + if it were a separate interface."; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.2.1"; + + list ceeSubInterfaceEntry { + key "ifIndex"; + description + "This table contains a row for each Ethernet-like interface + by it's ifTable ifIndex in the system, which supports the + sub-interface. + + An entry is created by an agent, when it detects a + Ethernet-like interface is created in ifTable and it + can support sub-interface. + + An entry is deleted by an agent, when the ifTable entry + associated to the Ethernet-like interface is deleted. + Typically, when the card is removed from the device."; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ceeSubInterfaceCount { + type uint32 { + range "0..4294967295"; + } + units "subifs"; + description + "This object represents the number of subinterfaces + created on a Ethernet-like interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.645.1.2.1.1.1"; + } + } + } + } + + smiv2:alias "ciscoEtherExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.645"; + } + + smiv2:alias "ciscoEtherExtMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.645.0"; + } + + smiv2:alias "ciscoEtherExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.645.1"; + } + + smiv2:alias "ceeDot3PauseExt" { + smiv2:oid "1.3.6.1.4.1.9.9.645.1.1"; + } + + smiv2:alias "ceeSubIf" { + smiv2:oid "1.3.6.1.4.1.9.9.645.1.2"; + } + + smiv2:alias "ciscoEtherExtMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.645.2"; + } + + smiv2:alias "ceeEtherExtMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.645.2.1"; + } + + smiv2:alias "ceeEtherExtMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.645.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-FIREWALL-TC.yang b/vendor/cisco/xe/17151/MIBS/CISCO-FIREWALL-TC.yang new file mode 100644 index 000000000..cabfd8204 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-FIREWALL-TC.yang @@ -0,0 +1,829 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-FIREWALL-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-FIREWALL-TC + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-FIREWALL-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC"; + prefix CISCO-FIREWALL-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + E-mail: cs-firewalls@cisco.com"; + + description + "This MIB module defines textual conventions that + are commonly used in modeling management information + pertaining to configuration, status and activity + of firewalls."; + + revision 2006-03-03 { + description + "Initial version of this module."; + } + + typedef CFWNetworkProtocol { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "ip" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "gre" { + value "5"; + } + enum "udp" { + value "6"; + } + enum "tcp" { + value "7"; + } + } + description + "This type denotes protocols operating at + layers 3 or 4 of Open System Interconnection (OSI) + model. + + The following values are defined: + + 'none' + Denotes the semantics of 'not applicable'. + + 'other' + Denotes any protocol not listed. + + 'ip' + Denotes Internet Protocol (IP). + + 'icmp' + Denotes Internet Control Message + Protocol. + + 'gre' + Denotes Generic Route Encapsulation + protocol. + + 'udp' + Denotes User Datagram Protocol. + + 'tcp' + Denotes Transmission Control Protocol."; + } + + typedef CFWApplicationProtocol { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "ftp" { + value "3"; + } + enum "telnet" { + value "4"; + } + enum "smtp" { + value "5"; + } + enum "http" { + value "6"; + } + enum "tacacs" { + value "7"; + } + enum "dns" { + value "8"; + } + enum "sqlnet" { + value "9"; + } + enum "https" { + value "10"; + } + enum "tftp" { + value "11"; + } + enum "gopher" { + value "12"; + } + enum "finger" { + value "13"; + } + enum "kerberos" { + value "14"; + } + enum "pop2" { + value "15"; + } + enum "pop3" { + value "16"; + } + enum "sunRpc" { + value "17"; + } + enum "msRpc" { + value "18"; + } + enum "nntp" { + value "19"; + } + enum "snmp" { + value "20"; + } + enum "imap" { + value "21"; + } + enum "ldap" { + value "22"; + } + enum "exec" { + value "23"; + } + enum "login" { + value "24"; + } + enum "shell" { + value "25"; + } + enum "msSql" { + value "26"; + } + enum "sybaseSql" { + value "27"; + } + enum "nfs" { + value "28"; + } + enum "lotusnote" { + value "29"; + } + enum "h323" { + value "30"; + } + enum "cuseeme" { + value "31"; + } + enum "realmedia" { + value "32"; + } + enum "netshow" { + value "33"; + } + enum "streamworks" { + value "34"; + } + enum "vdolive" { + value "35"; + } + enum "sap" { + value "36"; + } + enum "sip" { + value "37"; + } + enum "mgcp" { + value "38"; + } + enum "rtsp" { + value "39"; + } + enum "skinny" { + value "40"; + } + enum "gtpV0" { + value "41"; + } + enum "gtpV1" { + value "42"; + } + enum "echo" { + value "43"; + } + enum "discard" { + value "44"; + } + enum "daytime" { + value "45"; + } + enum "netstat" { + value "46"; + } + enum "ssh" { + value "47"; + } + enum "time" { + value "48"; + } + enum "tacacsDs" { + value "49"; + } + enum "bootps" { + value "50"; + } + enum "bootpc" { + value "51"; + } + enum "dnsix" { + value "52"; + } + enum "rtelnet" { + value "53"; + } + enum "ident" { + value "54"; + } + enum "sqlServ" { + value "55"; + } + enum "ntp" { + value "56"; + } + enum "pwdgen" { + value "57"; + } + enum "ciscoFna" { + value "58"; + } + enum "ciscoTna" { + value "59"; + } + enum "ciscoSys" { + value "60"; + } + enum "netbiosNs" { + value "61"; + } + enum "netbiosDgm" { + value "62"; + } + enum "netbiosSsn" { + value "63"; + } + enum "sqlSrv" { + value "64"; + } + enum "snmpTrap" { + value "65"; + } + enum "rsvd" { + value "66"; + } + enum "send" { + value "67"; + } + enum "xdmcp" { + value "68"; + } + enum "bgp" { + value "69"; + } + enum "irc" { + value "70"; + } + enum "qmtp" { + value "71"; + } + enum "ipx" { + value "72"; + } + enum "dbase" { + value "73"; + } + enum "imap3" { + value "74"; + } + enum "rsvpTunnel" { + value "75"; + } + enum "hpCollector" { + value "76"; + } + enum "hpManagedNode" { + value "77"; + } + enum "hpAlarmMgr" { + value "78"; + } + enum "microsoftDs" { + value "79"; + } + enum "creativeServer" { + value "80"; + } + enum "creativePartnr" { + value "81"; + } + enum "appleQtc" { + value "82"; + } + enum "igmpV3Lite" { + value "83"; + } + enum "isakmp" { + value "84"; + } + enum "biff" { + value "85"; + } + enum "who" { + value "86"; + } + enum "syslog" { + value "87"; + } + enum "router" { + value "88"; + } + enum "ncp" { + value "89"; + } + enum "timed" { + value "90"; + } + enum "ircServ" { + value "91"; + } + enum "uucp" { + value "92"; + } + enum "syslogConn" { + value "93"; + } + enum "sshell" { + value "94"; + } + enum "ldaps" { + value "95"; + } + enum "dhcpFailover" { + value "96"; + } + enum "msexchRouting" { + value "97"; + } + enum "entrustSvcs" { + value "98"; + } + enum "entrustSvcHandler" { + value "99"; + } + enum "ciscoTdp" { + value "100"; + } + enum "webster" { + value "101"; + } + enum "gdoi" { + value "102"; + } + enum "iscsi" { + value "103"; + } + enum "cddbp" { + value "104"; + } + enum "ftps" { + value "105"; + } + enum "telnets" { + value "106"; + } + enum "imaps" { + value "107"; + } + enum "ircs" { + value "108"; + } + enum "pop3s" { + value "109"; + } + enum "socks" { + value "110"; + } + enum "kazaa" { + value "111"; + } + enum "msSqlM" { + value "112"; + } + enum "msSna" { + value "113"; + } + enum "wins" { + value "114"; + } + enum "ica" { + value "115"; + } + enum "orasrv" { + value "116"; + } + enum "rdbDbsDisp" { + value "117"; + } + enum "vqp" { + value "118"; + } + enum "icabrowser" { + value "119"; + } + enum "kermit" { + value "120"; + } + enum "rsvpEncap" { + value "121"; + } + enum "l2tp" { + value "122"; + } + enum "pptp" { + value "123"; + } + enum "h323Gatestat" { + value "124"; + } + enum "rWinsock" { + value "125"; + } + enum "radius" { + value "126"; + } + enum "hsrp" { + value "127"; + } + enum "net8Cman" { + value "128"; + } + enum "oracleEmVp" { + value "129"; + } + enum "oracleNames" { + value "130"; + } + enum "oracle" { + value "131"; + } + enum "ciscoSvcs" { + value "132"; + } + enum "ciscoNetMgmt" { + value "133"; + } + enum "stun" { + value "134"; + } + enum "trRsrb" { + value "135"; + } + enum "ddnsV3" { + value "136"; + } + enum "aceSvr" { + value "137"; + } + enum "giop" { + value "138"; + } + enum "ttc" { + value "139"; + } + enum "ipass" { + value "140"; + } + enum "clp" { + value "141"; + } + enum "citrixImaClient" { + value "142"; + } + enum "sms" { + value "143"; + } + enum "citrix" { + value "144"; + } + enum "realSecure" { + value "145"; + } + enum "lotusMtap" { + value "146"; + } + enum "cifs" { + value "147"; + } + enum "msDotnetster" { + value "148"; + } + enum "tarantella" { + value "149"; + } + enum "fcipPort" { + value "150"; + } + enum "ssp" { + value "151"; + } + enum "iscsiTarget" { + value "152"; + } + enum "mySql" { + value "153"; + } + enum "msClusterNet" { + value "154"; + } + enum "ldapAdmin" { + value "155"; + } + enum "ieee80211Iapp" { + value "156"; + } + enum "oemAgent" { + value "157"; + } + enum "rtcPmPort" { + value "158"; + } + enum "dbControlAgent" { + value "159"; + } + enum "ipsecMsft" { + value "160"; + } + enum "sipTls" { + value "161"; + } + enum "aim" { + value "162"; + } + enum "pcAnyWhereData" { + value "163"; + } + enum "pcAnyWhereStat" { + value "164"; + } + enum "x11" { + value "165"; + } + enum "ircu" { + value "166"; + } + enum "n2h2Server" { + value "167"; + } + enum "h323CallSigAlt" { + value "168"; + } + enum "yahooMsgr" { + value "169"; + } + enum "msnMsgr" { + value "170"; + } + } + description + "This type denotes the application (OSI Layer 7) + protocol/service corresponding to a firewall session + or a connection. + + Description of constants of this type + + 'none' + Denotes the semantics of 'not applicable'. + + 'other' + Denotes any protocol not listed."; + reference + "The protocols enumerated in this textual convention + may be correlated with the information on protocols/ + services defined by Internet Assigned Numbers Authority + (IANA) found at + + http://www.iana.com/assignments/port-numbers"; + } + + typedef CFWPolicy { + type binary { + length "0..128"; + } + description + "This type denotes the identity of a policy + enforced by the firewall. In the context of firewalls, + only security policies are relevant. + + Objects of this type must comprise printable, + human readable ASCII characters. A zero length + string is used to denote a 'null' policy. + + An example of a policy is the 'policy-map' entity + configured using the Modular Policy Command + framework."; + } + + typedef CFWPolicyTarget { + type binary { + length "0..128"; + } + description + "In the context of policy management, the term + target refers to an entity on the managed device + to which the policy is applied thereby enforcing + the policy on the traffic stream(s) associated + with the entity. + + The type 'CFWPolicyTarget' denotes the identity of + a policy target. Examples of policy targets include + interfaces, security zones, users, user groups and + virtual contexts. + + Objects of this type must comprise printable, + human readable ASCII characters. A zero length + string is used to denote a 'null' target."; + } + + typedef CFWPolicyTargetType { + type enumeration { + enum "all" { + value "1"; + } + enum "other" { + value "2"; + } + enum "interface" { + value "3"; + } + enum "zone" { + value "4"; + } + enum "zonepair" { + value "5"; + } + enum "user" { + value "6"; + } + enum "usergroup" { + value "7"; + } + enum "context" { + value "8"; + } + } + description + "This type is used to represent the type of + a policy target. + + The following values are defined: + + 'all' + Certain firewall implementations allow policies + to be applied on all applicable targets. (Such + policies are termed 'global'). The target type + 'all' denotes the set of all applicable + targets. + + 'other' + Denotes an entity type that has yet not been + classified in one of the other types. This + value is useful in accomodating new target types + before the textual convention is revised to + include them. + + 'interface' + The policy target is an interface of the managed + device. + + 'zone' + The policy target is a zone, where a zone is + is a collection of interfaces of the managed + device. + + 'zonepair' + The policy target is a pair of zones. + + 'user' + Denotes the identity of a user who is + authorized to access the firewall itself or + the resources protected by the firewall. + + 'usergroup' + Denotes the identity of a user group. + User group denotes a collection of user + identities, as defined above. + + 'context' + Denotes a logical device defined in the managed + device with a distinct management context. + Examples of such logical devices include + virtual contexts defined by Firewall Service + Module, virtual sensors defined by Intrusion + Detection Service Module and Virtual Routing + and Forwarding (VRFs) defined by IOS."; + } + + typedef CFWUrlfVendorId { + type enumeration { + enum "other" { + value "1"; + } + enum "websense" { + value "2"; + } + enum "n2h2" { + value "3"; + } + } + description + "This type denotes the vendor of a URL filtering + server which the firewall uses to implement URL + filtering. + + A URL filtering server provides a database of URLs + with appropriate access restrictions (e.g., + deny or permit). Various security devices can make + use of these filtering servers to provide URL filtering + functionality to the users. + + The following values are defined: + + 'other' + Other type of URL filtering servers than those + specified below. + + 'websense' + Websense URL filtering server. One of the products + provided by Websense is a Web Filtering Server. + More information about Websense Web Filtering + product can be found at http://www.websense.com + + 'n2h2' + N2H2 URL filtering server. More information about + N2H2 Filtering product can be found at + http://www.n2h2.com"; + } + + typedef CFWUrlServerStatus { + type enumeration { + enum "online" { + value "1"; + } + enum "offline" { + value "2"; + } + enum "indeterminate" { + value "3"; + } + } + description + "This type denotes the status of the URL filtering + server which the firewall uses to implement URL + filtering. + + The following values are defined: + + 'online' + Indicates that the Server is online + + 'offline' + Indicates that the Server is offline + + 'indeterminate' + Indicates that the Server status + cannot be determined"; + } + + smiv2:alias "ciscoFirewallTc" { + smiv2:oid "1.3.6.1.4.1.9.9.488"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-FLASH-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-FLASH-MIB.yang new file mode 100644 index 000000000..96f7d6dd7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-FLASH-MIB.yang @@ -0,0 +1,3055 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-FLASH-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-FLASH-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-FLASH-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB"; + prefix CISCO-FLASH-MIB; + + import CISCO-QOS-PIB-MIB { + prefix "cisco-qos"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB provides for the management of Cisco + Flash Devices."; + + revision 2013-08-06 { + description + "Added new notification ciscoFlashPartitionLowSpaceNotif. + Added new notification ciscoFlashPartitionLowSpaceRecoveryNotif. + Added new object ciscoFlashPartitionLowSpaceNotifEnable. + Added new object ciscoFlashPartitionLowSpaceNotifThreshold. + Added new object group ciscoFlashPartitionInfoGroupRev1. + Added new notification group ciscoFlashNotifGroupRev3. + Added new compliance group ciscoFlashMIBComplianceRev11 which + deprecates ciscoFlashMIBComplianceRev10."; + } + + revision 2011-03-16 { + description + "Added ciscoFlashDeviceMinPartitionSizeExtended to support flash + devices of sizes greater than 4 GB. + + Added new object group ciscoFlashDeviceInfoExtGroupSupRev1. + + Added new compliance group ciscoFlashMIBComplianceRev10 which + deprecates ciscoFlashMIBComplianceRev9."; + } + + revision 2009-06-03 { + description + "Added 'copyProhibited' enum value to ciscoFlashCopyStatus object."; + } + + revision 2008-12-08 { + description + "Added ciscoFlashDeviceSizeExtended, + ciscoFlashPartitionFreeSpaceExtended and + ciscoFlashPartitionSizeExtended to support flash devices + of sizes greater than 4 GB."; + } + + revision 2007-03-21 { + description + "Added ciscoFlashFileTypeTable."; + } + + revision 2006-11-08 { + description + "DISPLAY-HINT for CheckSumString TEXTUAL CONVENTION + is changed from 'x' to '1x'."; + } + + revision 2005-06-01 { + description + "Added ciscoFlashFileDate to ciscoFlashFileTable + + Added ciscoFlashCopyRemotePassword to + ciscoFlashCopyTable. + + Added following enumerations to + ciscoFlashCopyProtocol - + ftp, scp, sftp."; + } + + revision 2005-01-28 { + description + "Added a new status copyOperationPending(0) + to object ciscoFlashCopyStatus."; + } + + revision 2004-03-18 { + description + "The object ciscoFlashCopyServerAddress is + deprecated since it supports only IPv4 address. Two + new objects ciscoFlashCopyServerAddrRev1 + ciscoFlashCopyServerAddrType are defined."; + } + + revision 2003-04-23 { + description + "Added ciscoFlashDeviceNameExtended to support upto + 255 characters in flash device name. + Deprecated ciscoFlashDeviceName."; + } + + revision 2003-01-31 { + description + "Add ciscoFlashCopyVerify object to + CiscoFlashCopyEntry, & ciscoFlashCopyOpGroup. + Fix scalability problem for the following tables and + MIB objects: ciscoFlashDevicesSupported, + ciscoFlashDeviceTable, ciscoFlashPhyEntIndex (added), + ciscoFlashPartitionTable and ciscoFlashFileTable."; + } + + revision 2002-04-01 { + description + "Added Notifications ciscoFlashDeviceInsertedNotif + and ciscoFlashDeviceRemovedNotif. Deprecated the + ciscoFlashDeviceChangeTrap. + Added Scalars ciscoFlashCfgDevInsNotifEnable and + ciscoFlashCfgDevRemNotifEnable to control the above + notifications."; + } + + revision 2002-01-25 { + description + "Added object ciscoFlashFileType to + ciscoFlashFileTable and + added FlashFileType as a TEXTUAL-CONVENTION."; + } + + revision 2002-01-22 { + description + "Fixing several problems with the previous + version of the MIB: + o Changing MAX-ACCESS of ciscoFlashDeviceIndex + back to 'not-accessible'. The change described + below in REVISION '200102211234Z' was not legal. + o Changing the definition of the + ciscoFlashDeviceChangeTrap notification. + The original definition of this notification include + a 'not-accessible' object (ciscoFlashDeviceIndex). + It will instead include the following objects: + ciscoFlashDeviceMinPartitionSize + ciscoFlashDeviceName + Instances of these object will carry the value of + ciscoFlashDeviceIndex implicitly in their object + identifiers. This change is being made without + deprecation of the notification and has the + potential to cause problems with existing + implementations of the notification on the agent + and the manager. + o Past versions of the MIB have had a incorrectly + formatted REVISION/DESCRIPTION section. That will + be corrected in this REVISION. + o Past versions of the MIB have not defined a + NOTIFICATION-GROUP for the notifications defined + by this MIB. That will be corrected in this + REVISION by adding ciscoFlashNotifGroup. This + group will be considered optional for + implementation. + o Gratuitous ranges specified in Entry definitions + have been removed."; + } + + revision 2001-02-21 { + description + "Change MAX-ACCESS of CiscoFlashDeviceIndex + from not-accessible to accessible-to-notfiy"; + } + + revision 1998-08-27 { + description + "Change ciscoFlashChipCode to match implementation, + and remove FlashChipCode as a TEXTUAL-CONVENTION."; + } + + revision 1996-04-17 { + description + "Add enumerations to objects in ciscoFlashMiscOpTable + to support formatting of flash devices."; + } + + revision 1995-10-18 { + description + "Add enumerations to a couple objects, and clarify + several object DESCRIPTIONs."; + } + + revision 1995-08-15 { + description + "Specify a correct (non-negative) range for several + index objects."; + } + + revision 1995-04-29 { + description + "Miscellaneous updates, including updated description of + ciscoFlashDeviceCard object."; + } + + revision 1995-01-13 { + description + "Initial version of Flash operations MIB module."; + } + + typedef ChecksumString { + type binary; + description + "Represents the checksum of a file."; + } + + typedef FlashFileType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "config" { + value "2"; + } + enum "image" { + value "3"; + } + enum "directory" { + value "4"; + } + enum "crashinfo" { + value "5"; + } + } + description + "File types for files in a flash. + + unknown - file type is not one of the following. + config - configuration file like + startup configuration or + running configuration. + image - image file. + directory - directory entry. + crashinfo - file containing crashinfo."; + } + + + container CISCO-FLASH-MIB { + config false; + + container ciscoFlashDevice { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1"; + + leaf ciscoFlashDevicesSupported { + type uint32; + description + "Number of Flash devices supported by the system. + If the system does not support any Flash devices, this + MIB will not be loaded on that system. The value of this + object will therefore be atleast 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.1"; + } + } + + container ciscoFlashCfg { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.4"; + + leaf ciscoFlashCfgDevInsNotifEnable { + type boolean; + description + "Specifies whether or not a notification should be + generated on the insertion of a Flash device. + + If the value of this object is 'true' then the + ciscoFlashDeviceInsertedNotif notification + will be generated. + + If the value of this object is 'false' then the + ciscoFlashDeviceInsertedNotif notification + will not be generated. + + It is the responsibility of the management entity to + ensure that the SNMP administrative model is + configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.4.1"; + } + + leaf ciscoFlashCfgDevRemNotifEnable { + type boolean; + description + "Specifies whether or not a notification should be + generated on the removal of a Flash device. + + If the value of this object is 'true' then the + ciscoFlashDeviceRemovedNotif notification + will be generated. + + If the value of this object is 'false' then the + ciscoFlashDeviceRemovedNotif notification + will not be generated. + + It is the responsibility of the management entity to + ensure that the SNMP administrative model is + configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.4.2"; + } + + leaf ciscoFlashPartitionLowSpaceNotifEnable { + type boolean; + description + "This object specifies whether or not a notification should be + generated when the free space falls below the threshold value on + a flash partition and on recovery from low space. + + If the value of this object is 'true' then + ciscoFlashPartitionLowSpaceNotif and + ciscoFlashPartitionLowSpaceRecoveryNotif notifications will be + generated. + + If the value of this object is 'false' then the + ciscoFlashPartitionLowSpaceNotif and + ciscoFlashPartitionLowSpaceRecoveryNotif notifications + will not be generated. + + It is the responsibility of the management entity to + ensure that the SNMP administrative model is + configured in such a way as to allow the + notifications to be delivered."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.4.3"; + } + } + + container ciscoFlashDeviceTable { + description + "Table of Flash device properties for each initialized + Flash device. Each Flash device installed in a system + is detected, sized, and initialized when the system + image boots up. + For removable Flash devices, the device properties + will be dynamically deleted and recreated as the + device is removed and inserted. Note that in this + case, the newly inserted device may not be the same as + the earlier removed one. The ciscoFlashDeviceInitTime + object is available for a management station to determine + the time at which a device was initialized, and thereby + detect the change of a removable device. + A removable device that has not been installed will + also have an entry in this table. This is to let a + management station know about a removable device that + has been removed. Since a removed device obviously + cannot be sized and initialized, the table entry for + such a device will have + ciscoFlashDeviceSize equal to zero, + and the following objects will have + an indeterminate value: + ciscoFlashDeviceMinPartitionSize, + ciscoFlashDeviceMaxPartitions, + ciscoFlashDevicePartitions, and + ciscoFlashDeviceChipCount. + ciscoFlashDeviceRemovable will be + true to indicate it is removable."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2"; + + list ciscoFlashDeviceEntry { + key "ciscoFlashDeviceIndex"; + description + "An entry in the table of flash device properties for + each initialized flash device. + Each entry can be randomly accessed by using + ciscoFlashDeviceIndex as an index into the table. + Note that removable devices will have an entry in + the table even when they have been removed. However, + a non-removable device that has not been installed + will not have an entry in the table."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1"; + + leaf ciscoFlashDeviceIndex { + type uint32 { + range "1..4294967295"; + } + description + "Flash device sequence number to index within the + table of initialized flash devices. + The lowest value should be 1. The highest should be + less than or equal to the value of the + ciscoFlashDevicesSupported object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.1"; + } + + leaf ciscoFlashDeviceSize { + type uint32 { + range "0..4294967295"; + } + units "bytes"; + description + "Total size of the Flash device. + For a removable device, the size will be zero if + the device has been removed. + + If the total size of the flash device is greater than the + maximum value reportable by this object then this object + should report its maximum value(4,294,967,295) and + ciscoFlashDeviceSizeExtended must be used to report the + flash device's size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.2"; + } + + leaf ciscoFlashDeviceMinPartitionSize { + type uint32 { + range "0..4294967295"; + } + units "bytes"; + description + "This object will give the minimum partition size + supported for this device. For systems that execute code + directly out of Flash, the minimum partition size needs + to be the bank size. (Bank size is equal to the size of a + chip multiplied by the width of the device. In most cases, + the device width is 4 bytes, and so the bank size would be + four times the size of a chip). This has to be so because + all programming commands affect the operation of an + entire chip (in our case, an entire bank because all + operations are done on the entire width of the device) + even though the actual command may be localized to a small + portion of each chip. So when executing code out of Flash, + one needs to be able to write and erase some portion of + Flash without affecting the code execution. + For systems that execute code out of DRAM or ROM, it is + possible to partition Flash with a finer granularity (for + eg., at erase sector boundaries) if the system code supports + such granularity. + + This object will let a management entity know the + minimum partition size as defined by the system. + If the system does not support partitioning, the value + will be equal to the device size in ciscoFlashDeviceSize. + The maximum number of partitions that could be configured + will be equal to the minimum of + ciscoFlashDeviceMaxPartitions + and + (ciscoFlashDeviceSize / ciscoFlashDeviceMinPartitionSize). + + If the total size of the flash device is greater than the + maximum value reportable by this object then this object should + report its maximum value(4,294,967,295) and + ciscoFlashDeviceMinPartitionSizeExtended must be used to report + the flash device's minimum partition size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.3"; + } + + leaf ciscoFlashDeviceMaxPartitions { + type uint32; + description + "Max number of partitions supported by the system for + this Flash device. Default will be 1, which actually + means that partitioning is not supported. Note that + this value will be defined by system limitations, not + by the flash device itself (for eg., the system may + impose a limit of 2 partitions even though the device + may be large enough to be partitioned into 4 based on + the smallest partition unit supported). + On systems that execute code out of Flash, partitioning + is a way of creating multiple file systems in the Flash + device so that writing into or erasing of one file system + can be done while executing code residing in another file + system. + For systems executing code out of DRAM, partitioning + gives a way of sub-dividing a large Flash device for + easier management of files."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.4"; + } + + leaf ciscoFlashDevicePartitions { + type uint32 { + range "0..4294967295"; + } + description + "Flash device partitions actually present. Number of + partitions cannot exceed the minimum of + ciscoFlashDeviceMaxPartitions + and + (ciscoFlashDeviceSize / ciscoFlashDeviceMinPartitionSize). + Will be equal to at least 1, the case where the partition + spans the entire device (actually no partitioning). + A partition will contain one or more minimum partition + units (where a minimum partition unit is defined by + ciscoFlashDeviceMinPartitionSize)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.5"; + } + + leaf ciscoFlashDeviceChipCount { + type int32 { + range "0..64"; + } + description + "Total number of chips within the Flash device. + The purpose of this object is to provide information + upfront to a management station on how much chip info + to expect and possibly help double check the chip index + against an upper limit when randomly retrieving chip + info for a partition."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.6"; + } + + leaf ciscoFlashDeviceName { + type snmpv2-tc:DisplayString { + length "0..16"; + } + status deprecated; + description + "Flash device name. This name is used to refer to the + device within the system. Flash operations get directed + to a device based on this name. + The system has a concept of a default device. + This would be the primary or most used device in case of + multiple devices. The system directs an operation to the + default device whenever a device name is not specified. + The device name is therefore mandatory except when the + operation is being done on the default device, or, + the system supports only a single Flash device. + The device name will always be available for a + removable device, even when the device has been removed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.7"; + } + + leaf ciscoFlashDeviceDescr { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "Description of a Flash device. The description is meant + to explain what the Flash device and its purpose is. + Current values are: + System flash - for the primary Flash used to store full + system images. + Boot flash - for the secondary Flash used to store + bootstrap images. + The ciscoFlashDeviceDescr, ciscoFlashDeviceController + (if applicable), and ciscoFlashPhyEntIndex objects are + expected to collectively give all information about a + Flash device. + The device description will always be available for a + removable device, even when the device has been removed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.8"; + } + + leaf ciscoFlashDeviceController { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "Flash device controller. The h/w card that actually + controls Flash read/write/erase. Relevant for the AGS+ + systems where Flash may be controlled by the MC+, STR or + the ENVM cards, cards that may not actually contain the + Flash chips. + For systems that have removable PCMCIA flash cards that + are controlled by a PCMCIA controller chip, this object + may contain a description of that controller chip. + Where irrelevant (Flash is a direct memory mapped device + accessed directly by the main processor), this object will + have an empty (NULL) string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.9"; + } + + leaf ciscoFlashDeviceCard { + type snmpv2-tc:InstancePointer; + status deprecated; + description + "This object will point to an instance of a card entry + in the cardTable. The card entry will give details about + the card on which the Flash device is actually located. + For most systems, this is usually the main processor board. + On the AGS+ systems, Flash is located on a separate multibus + card such as the MC. + This object will therefore be used to essentially index + into cardTable to retrieve details about the card such as + cardDescr, cardSlotNumber, etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.10"; + } + + leaf ciscoFlashDeviceProgrammingJumper { + type enumeration { + enum "installed" { + value "1"; + } + enum "notInstalled" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "This object gives the state of a jumper (if present and can be + determined) that controls the programming voltage called Vpp + to the Flash device. Vpp is required for programming (erasing + and writing) Flash. For certain older technology chips it is + also required for identifying the chips (which in turn is + required to identify which programming algorithms to use; + different chips require different algorithms and commands). + The purpose of the jumper, on systems where it is available, + is to write protect a Flash device. + On most of the newer remote access routers, this jumper is + unavailable since users are not expected to visit remote sites + just to install and remove the jumpers when upgrading software + in the Flash device. The unknown(3) value will be returned for + such systems and can be interpreted to mean that a programming + jumper is not present or not required on those systems. + On systems where the programming jumper state can be read back + via a hardware register, the installed(1) or notInstalled(2) + value will be returned. + This object is expected to be used in conjunction with the + ciscoFlashPartitionStatus object whenever that object has + the readOnly(1) value. In such a case, this object will + indicate whether the programming jumper is a possible reason + for the readOnly state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.11"; + } + + leaf ciscoFlashDeviceInitTime { + type yang:timestamp; + description + "System time at which device was initialized. + For fixed devices, this will be the system time at + boot up. + For removable devices, it will be the time at which + the device was inserted, which may be boot up time, + or a later time (if device was inserted later). + If a device (fixed or removable) was repartitioned, + it will be the time of repartitioning. + The purpose of this object is to help a management + station determine if a removable device has been + changed. The application should retrieve this + object prior to any operation and compare with + the previously retrieved value. + Note that this time will not be real time but a + running time maintained by the system. This running + time starts from zero when the system boots up. + For a removable device that has been removed, this + value will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.12"; + } + + leaf ciscoFlashDeviceRemovable { + type boolean; + description + "Whether Flash device is removable. Generally, only PCMCIA + Flash cards will be treated as removable. Socketed Flash + chips and Flash SIMM modules will not be treated as removable. + Simply put, only those Flash devices that can be inserted + or removed without opening the hardware casing will be + considered removable. + Further, removable Flash devices are expected to have + the necessary hardware support - + 1. on-line removal and insertion + 2. interrupt generation on removal or insertion."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.13"; + } + + leaf ciscoFlashPhyEntIndex { + type entity-mib:PhysicalIndexOrZero; + description + "This object indicates the physical entity index of a + physical entity in entPhysicalTable which the flash + device actually located."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.14"; + } + + leaf ciscoFlashDeviceNameExtended { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "Extended Flash device name whose size can be upto + 255 characters. This name is used to refer to the + device within the system. Flash operations get directed + to a device based on this name. + The system has a concept of a default device. + This would be the primary or most used device in case + of multiple devices. The system directs an operation + to the default device whenever a device name is not + specified. The device name is therefore mandatory + except when the operation is being done on the + default device, or, the system supports only a single + Flash device. The device name will always be available + for a removable device, even when the device has been + removed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.15"; + } + + leaf ciscoFlashDeviceSizeExtended { + type yang:gauge64; + units "bytes"; + description + "Total size of the Flash device. + For a removable device, the size will be zero if + the device has been removed. + + This object is a 64-bit version of ciscoFlashDeviceSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.16"; + } + + leaf ciscoFlashDeviceMinPartitionSizeExtended { + type yang:gauge64; + description + "This object provides the minimum partition size supported for + this device. This object is a 64-bit version of + ciscoFlashDeviceMinPatitionSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.2.1.17"; + } + } + } + + container ciscoFlashChipTable { + description + "Table of Flash device chip properties for each + initialized Flash device. + This table is meant primarily for aiding error + diagnosis."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1"; + + list ciscoFlashChipEntry { + key "ciscoFlashDeviceIndex ciscoFlashChipIndex"; + description + "An entry in the table of chip info for each + flash device initialized in the system. + An entry is indexed by two objects - the + device index and the chip index within that + device."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1"; + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashChipIndex { + type int32 { + range "1..64"; + } + description + "Chip sequence number within selected flash device. + Used to index within chip info table. + Value starts from 1 and should not be greater than + ciscoFlashDeviceChipCount for that device. + When retrieving chip information for chips within a + partition, the sequence number should lie between + ciscoFlashPartitionStartChip & ciscoFlashPartitionEndChip + (both inclusive)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.1"; + } + + leaf ciscoFlashChipCode { + type snmpv2-tc:DisplayString { + length "0..5"; + } + description + "Manufacturer and device code for a chip. + Lower byte will contain the device code. + Upper byte will contain the manufacturer code. + If a chip code is unknown because it could not + be queried out of the chip, the value of this + object will be 00:00. + Since programming algorithms differ from chip type to + chip type, this chip code should be used to determine + which algorithms to use (and thereby whether the chip + is supported in the first place)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.2"; + } + + leaf ciscoFlashChipDescr { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "Flash chip name corresponding to the chip code. + The name will contain the manufacturer and the + chip type. It will be of the form : + Intel 27F008SA. + In the case where a chip code is unknown, this + object will be an empty (NULL) string. + In the case where the chip code is known but the + chip is not supported by the system, this object + will be an empty (NULL) string. + A management station is therefore expected to use the + chip code and the chip description in conjunction + to provide additional information whenever the + ciscoFlashPartitionStatus object has the readOnly(1) + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.3"; + } + + leaf ciscoFlashChipWriteRetries { + type yang:counter32; + description + "This object will provide a cumulative count + (since last system boot up or initialization) of + the number of write retries that were done in the chip. + If no writes have been done to Flash, the count + will be zero. Typically, a maximum of 25 retries are + done on a single location before flagging a write + error. + A management station is expected to get this object + for each chip in a partition after a write failure + in that partition. To keep a track of retries for + a given write operation, the management station would + have to retrieve the values for the concerned chips + before and after any write operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.4"; + } + + leaf ciscoFlashChipEraseRetries { + type yang:counter32; + description + "This object will provide a cumulative count + (since last system boot up or initialization) of + the number of erase retries that were done in the chip. + Typically, a maximum of 2000 retries are done in a + single erase zone (which may be a full chip or a + portion, depending on the chip technology) before + flagging an erase error. + A management station is expected to get this object + for each chip in a partition after an erase failure + in that partition. To keep a track of retries for + a given erase operation, the management station would + have to retrieve the values for the concerned chips + before and after any erase operation. + Note that erase may be done through an independent + command, or through a copy-to-flash command."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.5"; + } + + leaf ciscoFlashChipMaxWriteRetries { + type uint32; + description + "The maximum number of write retries done at any + single location before declaring a write failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.6"; + } + + leaf ciscoFlashChipMaxEraseRetries { + type uint32; + description + "The maximum number of erase retries done within + an erase sector before declaring an erase failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3.1.1.7"; + } + } + } + + container ciscoFlashPartitionTable { + description + "Table of flash device partition properties for each + initialized flash partition. Whenever there is no + explicit partitioning done, a single partition spanning + the entire device will be assumed to exist. There will + therefore always be atleast one partition on a device."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1"; + + list ciscoFlashPartitionEntry { + key "ciscoFlashDeviceIndex ciscoFlashPartitionIndex"; + description + "An entry in the table of flash partition properties + for each initialized flash partition. Each entry + will be indexed by a device number and a partition + number within the device."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1"; + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type uint32 { + range "1..4294967295"; + } + description + "Flash partition sequence number used to index within + table of initialized flash partitions."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.1"; + } + + leaf ciscoFlashPartitionStartChip { + type int32 { + range "1..64"; + } + description + "Chip sequence number of first chip in partition. + Used as an index into the chip table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.2"; + } + + leaf ciscoFlashPartitionEndChip { + type int32 { + range "1..64"; + } + description + "Chip sequence number of last chip in partition. + Used as an index into the chip table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.3"; + } + + leaf ciscoFlashPartitionSize { + type uint32 { + range "1..4294967295"; + } + units "bytes"; + description + "Flash partition size. It should be an integral + multiple of ciscoFlashDeviceMinPartitionSize. + If there is a single partition, this size will be equal + to ciscoFlashDeviceSize. + + If the size of the flash partition is greater than the + maximum value reportable by this object then this object + should report its maximum value(4,294,967,295) and + ciscoFlashPartitionSizeExtended must be used to report the + flash partition's size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.4"; + } + + leaf ciscoFlashPartitionFreeSpace { + type yang:gauge32; + units "bytes"; + description + "Free space within a Flash partition. + Note that the actual size of a file in Flash includes + a small overhead that represents the file system's + file header. + Certain file systems may also have a partition or + device header overhead to be considered when + computing the free space. + Free space will be computed as total partition size + less size of all existing files (valid/invalid/deleted + files and including file header of each file), + less size of any partition header, less size of + header of next file to be copied in. In short, this + object will give the size of the largest file that + can be copied in. The management entity will not be + expected to know or use any overheads such as file + and partition header lengths, since such overheads + may vary from file system to file system. + Deleted files in Flash do not free up space. + A partition may have to be erased in order to reclaim + the space occupied by files. + + If the free space within a flash partition is greater than + the maximum value reportable by this object then this object + should report its maximum value(4,294,967,295) and + ciscoFlashPartitionFreeSpaceExtended + must be used to report the flash partition's free space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.5"; + } + + leaf ciscoFlashPartitionFileCount { + type yang:gauge32; + description + "Count of all files in a flash partition. Both + good and bad (deleted or invalid checksum) files + will be included in this count."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.6"; + } + + leaf ciscoFlashPartitionChecksumAlgorithm { + type enumeration { + enum "simpleChecksum" { + value "1"; + } + enum "undefined" { + value "2"; + } + enum "simpleCRC" { + value "3"; + } + } + description + "Checksum algorithm identifier for checksum method + used by the file system. Normally, this would be + fixed for a particular file system. When a file + system writes a file to Flash, it checksums the + data written. The checksum then serves as a way + to validate the data read back whenever the file + is opened for reading. + Since there is no way, when using TFTP, to guarantee + that a network download has been error free (since + UDP checksums may not have been enabled), this + object together with the ciscoFlashFileChecksum + object provides a method for any management station + to regenerate the checksum of the original file + on the server and compare checksums to ensure that + the file download to Flash was error free. + simpleChecksum represents a simple 1s complement + addition of short word values. Other algorithm + values will be added as necessary."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.7"; + } + + leaf ciscoFlashPartitionStatus { + type enumeration { + enum "readOnly" { + value "1"; + } + enum "runFromFlash" { + value "2"; + } + enum "readWrite" { + value "3"; + } + } + description + "Flash partition status can be : + + * readOnly if device is not programmable either because + chips could not be recognized or an erroneous mismatch + of chips was detected. Chip recognition may fail either + because the chips are not supported by the system, + or because the Vpp voltage required to identify chips + has been disabled via the programming jumper. + The ciscoFlashDeviceProgrammingJumper, ciscoFlashChipCode, + and ciscoFlashChipDescr objects can be examined to get + more details on the cause of this status + * runFromFlash (RFF) if current image is running from + this partition. + The ciscoFlashPartitionUpgradeMethod object will then + indicate whether the Flash Load Helper can be used + to write a file to this partition or not. + + * readWrite if partition is programmable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.8"; + } + + leaf ciscoFlashPartitionUpgradeMethod { + type enumeration { + enum "unknown" { + value "1"; + } + enum "rxbootFLH" { + value "2"; + } + enum "direct" { + value "3"; + } + } + description + "Flash partition upgrade method, ie., method by which + new files can be downloaded into the partition. + FLH stands for Flash Load Helper, a feature provided + on run-from-Flash systems for upgrading Flash. This + feature uses the bootstrap code in ROMs to help in + automatic download. + This object should be retrieved if the partition + status is runFromFlash(2). + If the partition status is readOnly(1), the upgrade + method would depend on the reason for the readOnly + status. For eg., it may simply be a matter of installing + the programming jumper, or it may require execution of a + later version of software that supports the Flash chips. + + unknown - the current system image does not know + how Flash can be programmed. A possible + method would be to reload the ROM image + and perform the upgrade manually. + rxbootFLH - the Flash Load Helper is available to + download files to Flash. A copy-to-flash + command can be used and this system image + will automatically reload the Rxboot image + in ROM and direct it to carry out the + download request. + direct - will be done directly by this image."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.9"; + } + + leaf ciscoFlashPartitionName { + type snmpv2-tc:DisplayString { + length "0..16"; + } + description + "Flash partition name used to refer to a partition + by the system. This can be any alpha-numeric character + string of the form AAAAAAAAnn, where A represents an + optional alpha character and n a numeric character. + Any numeric characters must always form the trailing + part of the string. The system will strip off the alpha + characters and use the numeric portion to map to a + partition index. + Flash operations get directed to a device partition + based on this name. + The system has a concept of a default partition. This + would be the first partition in the device. The system + directs an operation to the default partition whenever + a partition name is not specified. + The partition name is therefore mandatory except when + the operation is being done on the default partition, or + the device has just one partition (is not partitioned)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.10"; + } + + leaf ciscoFlashPartitionNeedErasure { + type boolean; + description + "This object indicates whether a partition requires + erasure before any write operations can be done in it. + A management station should therefore retrieve this + object prior to attempting any write operation. + A partition requires erasure after it becomes full + free space left is less than or equal to the + (filesystem file header size). + A partition also requires erasure if the system does + not find the existence of any file system when it + boots up. + The partition may be erased explicitly through the + erase(5) command, or by using the copyToFlashWithErase(1) + command. + If a copyToFlashWithoutErase(2) command is issued + when this object has the TRUE value, the command + will fail."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.11"; + } + + leaf ciscoFlashPartitionFileNameLength { + type int32 { + range "1..256"; + } + description + "Maximum file name length supported by the file + system. + Max file name length will depend on the file + system implemented. Today, all file systems + support a max length of at least 48 bytes. + A management entity must use this object when + prompting a user for, or deriving the Flash file + name length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.12"; + } + + leaf ciscoFlashPartitionSizeExtended { + type yang:gauge64; + units "bytes"; + description + "Flash partition size. It should be an integral + multiple of ciscoFlashDeviceMinPartitionSize. + If there is a single partition, this size will be equal + to ciscoFlashDeviceSize. + + This object is a 64-bit version of ciscoFlashPartitionSize"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.13"; + } + + leaf ciscoFlashPartitionFreeSpaceExtended { + type yang:gauge64; + units "bytes"; + description + "Free space within a Flash partition. + Note that the actual size of a file in Flash includes + a small overhead that represents the file system's + file header. + Certain file systems may also have a partition or + device header overhead to be considered when + computing the free space. + Free space will be computed as total partition size + less size of all existing files (valid/invalid/deleted + files and including file header of each file), + less size of any partition header, less size of + header of next file to be copied in. In short, this + object will give the size of the largest file that + can be copied in. The management entity will not be + expected to know or use any overheads such as file + and partition header lengths, since such overheads + may vary from file system to file system. + Deleted files in Flash do not free up space. + A partition may have to be erased in order to reclaim + the space occupied by files. + + This object is a 64-bit version of ciscoFlashPartitionFreeSpace"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.14"; + } + + leaf ciscoFlashPartitionLowSpaceNotifThreshold { + type cisco-qos:Percent; + description + "This object specifies the minimum threshold value in percentage + of free space for each partition. If the free space available + goes below this threshold value and if + ciscoFlashPartionLowSpaceNotifEnable is set to true, + ciscoFlashPartitionLowSpaceNotif will be generated. When the + available free space comes back to the threshold value + ciscoFlashPartionLowSpaceRecoveryNotif will be generated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.1.1.15"; + } + } + } + + container ciscoFlashFileTable { + description + "Table of information for files in a Flash partition."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1"; + + list ciscoFlashFileEntry { + key "ciscoFlashDeviceIndex ciscoFlashPartitionIndex ciscoFlashFileIndex"; + description + "An entry in the table of Flash file properties + for each initialized Flash partition. Each entry + represents a file and gives details about the file. + An entry is indexed using the device number, + partition number within the device, and file + number within the partition."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1"; + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashFileIndex { + type uint32 { + range "1..4294967295"; + } + description + "Flash file sequence number used to index within + a Flash partition directory table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.1"; + } + + leaf ciscoFlashFileSize { + type uint32; + units "bytes"; + description + "Size of the file in bytes. Note that this size does + not include the size of the filesystem file header. + File size will always be non-zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.2"; + } + + leaf ciscoFlashFileChecksum { + type CISCO-FLASH-MIB:ChecksumString; + description + "File checksum stored in the file header. This + checksum is computed and stored when the file is + written into Flash. It serves to validate the data + written into Flash. + Whereas the system will generate and store the checksum + internally in hexadecimal form, this object will + provide the checksum in a string form. + The checksum will be available for all valid and + invalid-checksum files."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.3"; + } + + leaf ciscoFlashFileStatus { + type enumeration { + enum "deleted" { + value "1"; + } + enum "invalidChecksum" { + value "2"; + } + enum "valid" { + value "3"; + } + } + description + "Status of a file. + A file could be explicitly deleted if the file system + supports such a user command facility. Alternately, + an existing good file would be automatically deleted + if another good file with the same name were copied in. + Note that deleted files continue to occupy prime + Flash real estate. + + A file is marked as having an invalid checksum if any + checksum mismatch was detected while writing or reading + the file. Incomplete files (files truncated either + because of lack of free space, or a network download + failure) are also written with a bad checksum and + marked as invalid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.4"; + } + + leaf ciscoFlashFileName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "Flash file name as specified by the user copying in + the file. The name should not include the colon (:) + character as it is a special separator character used + to delineate the device name, partition name, and the + file name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.5"; + } + + leaf ciscoFlashFileType { + type CISCO-FLASH-MIB:FlashFileType; + description + "Type of the file."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.6"; + } + + leaf ciscoFlashFileDate { + type snmpv2-tc:DateAndTime; + description + "The time at which this file was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.1.1.7"; + } + } + } + + container ciscoFlashFileByTypeTable { + description + "Table of information for files on the manageable + flash devices sorted by File Types."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2"; + + list ciscoFlashFileByTypeEntry { + key "ciscoFlashFileType ciscoFlashDeviceIndex ciscoFlashPartitionIndex ciscoFlashFileIndex"; + description + "An entry in the table of Flash file properties + for each initialized Flash partition. Each entry + represents a file sorted by file type. + + This table contains exactly the same set of rows + as are contained in the ciscoFlashFileTable but + in a different order, i.e., ordered by + + the type of file, given by ciscoFlashFileType; + the device number, given by ciscoFlashDeviceIndex; + the partition number within the device, given by + ciscoFlashPartitionIndex; + the file number within the partition, given by + ciscoFlashFileIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1"; + + leaf ciscoFlashFileType { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashFileTable/CISCO-FLASH-MIB:ciscoFlashFileEntry/CISCO-FLASH-MIB:ciscoFlashFileType"; + } + } + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashFileIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashFileTable/CISCO-FLASH-MIB:ciscoFlashFileEntry/CISCO-FLASH-MIB:ciscoFlashFileIndex"; + } + } + + leaf ciscoFlashFileByTypeSize { + type uint32; + units "bytes"; + description + "This object represents exactly the + same info as ciscoFlashFileSize + object in ciscoFlashFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1.1"; + } + + leaf ciscoFlashFileByTypeChecksum { + type CISCO-FLASH-MIB:ChecksumString; + description + "This object represents exactly the + same info as ciscoFlashFileChecksum + object in ciscoFlashFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1.2"; + } + + leaf ciscoFlashFileByTypeStatus { + type enumeration { + enum "deleted" { + value "1"; + } + enum "invalidChecksum" { + value "2"; + } + enum "valid" { + value "3"; + } + } + description + "This object represents exactly the + same info as ciscoFlashFileStatus + object in ciscoFlashFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1.3"; + } + + leaf ciscoFlashFileByTypeName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "This object represents exactly the + same info as ciscoFlashFileName + object in ciscoFlashFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1.4"; + } + + leaf ciscoFlashFileByTypeDate { + type snmpv2-tc:DateAndTime; + description + "This object represents exactly the + same info as ciscoFlashFileDate + object in ciscoFlashFileTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2.2.1.5"; + } + } + } + + container ciscoFlashCopyTable { + description + "A table of Flash copy operation entries. Each + entry represents a Flash copy operation (to or + from Flash) that has been initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1"; + + list ciscoFlashCopyEntry { + key "ciscoFlashCopySerialNumber"; + description + "A Flash copy operation entry. Each entry consists + of a command, a source, and optional parameters such + as protocol to be used, a destination, a server address, + etc. + + A management station wishing to create an entry should + first generate a pseudo-random serial number to be used + as the index to this sparse table. The station should + then create the associated instance of the row status + object. It must also, either in the same or in successive + PDUs, create the associated instance of the command and + parameter objects. It should also modify the default values + for any of the parameter objects if the defaults are not + appropriate. + + Once the appropriate instances of all the command + objects have been created, either by an explicit SNMP + set request or by default, the row status should be set + to active to initiate the operation. Note that this entire + procedure may be initiated via a single set request which + specifies a row status of createAndGo as well as specifies + valid values for the non-defaulted parameter objects. + + Once an operation has been activated, it cannot be + stopped. + + Once the operation completes, the management station should + retrieve the value of the status object (and time if + desired), and delete the entry. In order to prevent old + entries from clogging the table, entries will be aged out, + but an entry will never be deleted within 5 minutes of + completing."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1"; + + leaf ciscoFlashCopySerialNumber { + type int32 { + range "0..2147483647"; + } + description + "Object which specifies a unique entry in the + table. A management station wishing to initiate a + copy operation should use a pseudo-random value for + this object when creating or modifying an instance of + a ciscoFlashCopyEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.1"; + } + + leaf ciscoFlashCopyCommand { + type enumeration { + enum "copyToFlashWithErase" { + value "1"; + } + enum "copyToFlashWithoutErase" { + value "2"; + } + enum "copyFromFlash" { + value "3"; + } + enum "copyFromFlhLog" { + value "4"; + } + } + description + "The copy command to be executed. Mandatory. + Note that it is possible for a system to support + multiple file systems (different file systems on + different Flash devices, or different file systems + on different partitions within a device). Each such + file system may support only a subset of these commands. + If a command is unsupported, the invalidOperation(3) + error will be reported in the operation status. + + Command Remarks + copyToFlashWithErase Copy a file to flash; erase + flash before copy. + Use the TFTP or rcp protocol. + copyToFlashWithoutErase Copy a file to flash; do not + erase. + Note that this command will fail + if the PartitionNeedErasure + object specifies that the + partition being copied to needs + erasure. + Use the TFTP or rcp protocol. + copyFromFlash Copy a file from flash using + the TFTP, rcp or lex protocol. + Note that the lex protocol + can only be used to copy to a + lex device. + copyFromFlhLog Copy contents of FLH log to + server using TFTP protocol. + + + Command table Parameters + copyToFlashWithErase CopyProtocol + CopyServerAddress + CopySourceName + CopyDestinationName (opt) + CopyRemoteUserName (opt) + CopyNotifyOnCompletion (opt) + copyToFlashWithoutErase CopyProtocol + CopyServerAddress + CopySourceName + CopyDestinationName (opt) + CopyRemoteUserName (opt) + CopyNotifyOnCompletion (opt) + copyFromFlash CopyProtocol + CopyServerAddress + CopySourceName + CopyDestinationName (opt) + CopyRemoteUserName (opt) + CopyNotifyOnCompletion (opt) + copyFromFlhLog CopyProtocol + CopyServerAddress + CopyDestinationName + CopyNotifyOnCompletion (opt)"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.2"; + } + + leaf ciscoFlashCopyProtocol { + type enumeration { + enum "tftp" { + value "1"; + } + enum "rcp" { + value "2"; + } + enum "lex" { + value "3"; + } + enum "ftp" { + value "4"; + } + enum "scp" { + value "5"; + } + enum "sftp" { + value "6"; + } + } + description + "The protocol to be used for any copy. Optional. + Will default to tftp if not specified. + + Since feature support depends on a software release, + version number within the release, platform, and + maybe the image type (subset type), a management + station would be expected to somehow determine + the protocol support for a command."; + smiv2:defval "tftp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.3"; + } + + leaf ciscoFlashCopyServerAddress { + type inet:ipv4-address; + status deprecated; + description + "The server address to be used for any copy. Optional. + Will default to 'FFFFFFFF'H (or 255.255.255.255). + + Since this object can just hold only IPv4 Transport + type, it is deprecated and replaced by + ciscoFlashCopyServerAddrRev1."; + smiv2:defval "'ffffffff'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.4"; + } + + leaf ciscoFlashCopySourceName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "Source file name, either in Flash or on a server, + depending on the type of copy command. Mandatory. + + For a copy from Flash: + File name must be of the form + [device>:][:] + where is a value obtained from FlashDeviceName, + is obtained from FlashPartitionName + and is the name of a file in Flash. + A management station could derive its own partition name + as per the description for the ciscoFlashPartitionName + object. + If is not specified, the default Flash device + will be assumed. + If is not specified, the default partition + will be assumed. If a device is not partitioned into 2 + or more partitions, this value may be left out. + + For a copy to Flash, the file name will be as per + the file naming conventions and path to the file on + the server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.5"; + } + + leaf ciscoFlashCopyDestinationName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "Destination file name. + + For a copy to Flash: + File name must be of the form + {device>:][:] + where is a value obtained from FlashDeviceName, + is obtained from FlashPartitionName + and is any character string that does not have + embedded colon characters. + A management station could derive its own partition name + as per the description for the ciscoFlashPartitionName + object. + If is not specified, the default Flash device + will be assumed. + If is not specified, the default partition + will be assumed. If a device is not partitioned into 2 + or more partitions, this value may be left out. + If is not specified, it will default to + specified in ciscoFlashCopySourceName. + + For a copy from Flash via tftp or rcp, the file name will be + as per the file naming conventions and destination sub-directory + on the server. If not specified, from the source + file name will be used. + For a copy from Flash via lex, this string will consist + of numeric characters specifying the interface on the + lex box that will receive the source flash image."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.6"; + } + + leaf ciscoFlashCopyRemoteUserName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "Remote user name for copy via rcp protocol. Optional. + This object will be ignored for protocols other than + rcp. + If specified, it will override the remote user-name + configured through the + rcmd remote-username + configuration command. + The remote user-name is sent as the server user-name + in an rcp command request sent by the system to a + remote rcp server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.7"; + } + + leaf ciscoFlashCopyStatus { + type enumeration { + enum "copyOperationPending" { + value "0"; + } + enum "copyInProgress" { + value "1"; + } + enum "copyOperationSuccess" { + value "2"; + } + enum "copyInvalidOperation" { + value "3"; + } + enum "copyInvalidProtocol" { + value "4"; + } + enum "copyInvalidSourceName" { + value "5"; + } + enum "copyInvalidDestName" { + value "6"; + } + enum "copyInvalidServerAddress" { + value "7"; + } + enum "copyDeviceBusy" { + value "8"; + } + enum "copyDeviceOpenError" { + value "9"; + } + enum "copyDeviceError" { + value "10"; + } + enum "copyDeviceNotProgrammable" { + value "11"; + } + enum "copyDeviceFull" { + value "12"; + } + enum "copyFileOpenError" { + value "13"; + } + enum "copyFileTransferError" { + value "14"; + } + enum "copyFileChecksumError" { + value "15"; + } + enum "copyNoMemory" { + value "16"; + } + enum "copyUnknownFailure" { + value "17"; + } + enum "copyInvalidSignature" { + value "18"; + } + enum "copyProhibited" { + value "19"; + } + } + description + "The status of the specified copy operation. + + copyOperationPending : + operation request is received and + pending for validation and process + + copyInProgress : + specified operation is active + + copyOperationSuccess : + specified operation is supported and + completed successfully + + copyInvalidOperation : + command invalid or command-protocol-device + combination unsupported + + copyInvalidProtocol : + invalid protocol specified + + copyInvalidSourceName : + invalid source file name specified + For the copy from flash to lex operation, this + error code will be returned when the source file + is not a valid lex image. + + copyInvalidDestName : + invalid target name (file or partition or + device name) specified + For the copy from flash to lex operation, this + error code will be returned when no lex devices + are connected to the router or when an invalid + lex interface number has been specified in + the destination string. + + copyInvalidServerAddress : + invalid server address specified + + copyDeviceBusy : + specified device is in use and locked by + another process + + copyDeviceOpenError : + invalid device name + + copyDeviceError : + device read, write or erase error + + copyDeviceNotProgrammable : + device is read-only but a write or erase + operation was specified + + copyDeviceFull : + device is filled to capacity + + copyFileOpenError : + invalid file name; file not found in partition + + copyFileTransferError : + file transfer was unsuccessfull; network failure + + copyFileChecksumError : + file checksum in Flash failed + + copyNoMemory : + system running low on memory + + copyUnknownFailure : + failure unknown + + copyProhibited: + stop user from overwriting current boot image file."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.8"; + } + + leaf ciscoFlashCopyNotifyOnCompletion { + type boolean; + description + "Specifies whether or not a notification should be + generated on the completion of the copy operation. + If specified, ciscoFlashCopyCompletionTrap + will be generated. It is the responsibility of the + management entity to ensure that the SNMP administrative + model is configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.9"; + } + + leaf ciscoFlashCopyTime { + type yang:timeticks; + description + "Time taken for the copy operation. This object will + be like a stopwatch, starting when the operation + starts, stopping when the operation completes. + If a management entity keeps a database of completion + times for various operations, it can then use the + stopwatch capability to display percentage completion + time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.10"; + } + + leaf ciscoFlashCopyEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.11"; + } + + leaf ciscoFlashCopyVerify { + type boolean; + description + "Specifies whether the file that is copied need to + be verified for integrity / authenticity, after + copy succeeds. If it is set to true, and if the + file that is copied doesn't have integrity /authenticity + attachement, or the integrity / authenticity check + fails, then the command will be aborted, and the file + that is copied will be deleted from the destination + file system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.12"; + } + + leaf ciscoFlashCopyServerAddrType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in + ciscoFlashCopyServerAddrRev1. Optional. + Will default to '1' (IPv4 address type)."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.13"; + } + + leaf ciscoFlashCopyServerAddrRev1 { + type inet-address:InetAddress; + description + "The server address to be used for any copy. Optional. + Will default to 'FFFFFFFF'H (or 255.255.255.255). + + The Format of this address depends on the value of the + ciscoFlashCopyServerAddrType. + + This object deprecates the old + ciscoFlashCopyServerAddress object."; + smiv2:defval "'ffffffff'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.14"; + } + + leaf ciscoFlashCopyRemotePassword { + type snmpv2-tc:DisplayString { + length "1..40"; + } + description + "Password used by ftp, sftp or scp for copying a file + to/from an ftp/sftp/scp server. This object must be + created when the ciscoFlashCopyProtocol is ftp, sftp or + scp. Reading it returns a zero-length string for + security reasons."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.1.1.15"; + } + } + } + + container ciscoFlashPartitioningTable { + description + "A table of Flash partitioning operation entries. Each + entry represents a Flash partitioning operation that + has been initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2"; + + list ciscoFlashPartitioningEntry { + key "ciscoFlashPartitioningSerialNumber"; + description + "A Flash partitioning operation entry. Each entry + consists of the command, the target device, the + partition count, and optionally the partition sizes. + + A management station wishing to create an entry should + first generate a pseudo-random serial number to be used + as the index to this sparse table. The station should + then create the associated instance of the row status + object. It must also, either in the same or in successive + PDUs, create the associated instance of the command and + parameter objects. It should also modify the default values + for any of the parameter objects if the defaults are not + appropriate. + + Once the appropriate instances of all the command + objects have been created, either by an explicit SNMP + set request or by default, the row status should be set + to active to initiate the operation. Note that this entire + procedure may be initiated via a single set request which + specifies a row status of createAndGo as well as specifies + valid values for the non-defaulted parameter objects. + + Once an operation has been activated, it cannot be + stopped. + + Once the operation completes, the management station should + retrieve the value of the status object (and time if + desired), and delete the entry. In order to prevent old + entries from clogging the table, entries will be aged out, + but an entry will never be deleted within 5 minutes of + completing."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1"; + + leaf ciscoFlashPartitioningSerialNumber { + type int32 { + range "0..2147483647"; + } + description + "Object which specifies a unique entry in the partitioning + operations table. A management station wishing to initiate + a partitioning operation should use a pseudo-random value + for this object when creating or modifying an instance of + a ciscoFlashPartitioningEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.1"; + } + + leaf ciscoFlashPartitioningCommand { + type enumeration { + enum "partition" { + value "1"; + } + } + description + "The partitioning command to be executed. Mandatory. + If the command is unsupported, the + partitioningInvalidOperation + error will be reported in the operation status. + + Command Remarks + partition Partition a Flash device. + All the prerequisites for + partitioning must be met for + this command to succeed. + + Command table Parameters + 1) partition PartitioningDestinationName + PartitioningPartitionCount + PartitioningPartitionSizes (opt) + PartitioningNotifyOnCompletion (opt)"; + smiv2:defval "partition"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.2"; + } + + leaf ciscoFlashPartitioningDestinationName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "Destination device name. This name will be the value + obtained from FlashDeviceName. + If the name is not specified, the default Flash device + will be assumed."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.3"; + } + + leaf ciscoFlashPartitioningPartitionCount { + type uint32 { + range "1..4294967295"; + } + description + "This object is used to specify the number of + partitions to be created. Its value cannot exceed + the value of ciscoFlashDeviceMaxPartitions. + + To undo partitioning (revert to a single partition), + this object must have the value 1."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.4"; + } + + leaf ciscoFlashPartitioningPartitionSizes { + type snmpv2-tc:DisplayString; + description + "This object is used to explicitly specify the size + of each partition to be created. + The size of each partition will be in units of + ciscoFlashDeviceMinPartitionSize. + The value of this object will be in the form: + :...: + + If partition sizes are not specified, the system + will calculate default sizes based on the partition + count, the minimum partition size, and the device + size. Partition size need not be specified when + undoing partitioning (partition count is 1). + If partition sizes are specified, the number of + sizes specified must exactly match the partition + count. If not, the partitioning command will be + rejected with the invalidPartitionSizes error ."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.5"; + } + + leaf ciscoFlashPartitioningStatus { + type enumeration { + enum "partitioningInProgress" { + value "1"; + } + enum "partitioningOperationSuccess" { + value "2"; + } + enum "partitioningInvalidOperation" { + value "3"; + } + enum "partitioningInvalidDestName" { + value "4"; + } + enum "partitioningInvalidPartitionCount" { + value "5"; + } + enum "partitioningInvalidPartitionSizes" { + value "6"; + } + enum "partitioningDeviceBusy" { + value "7"; + } + enum "partitioningDeviceOpenError" { + value "8"; + } + enum "partitioningDeviceError" { + value "9"; + } + enum "partitioningNoMemory" { + value "10"; + } + enum "partitioningUnknownFailure" { + value "11"; + } + } + description + "The status of the specified partitioning operation. + partitioningInProgress : + specified operation is active + + partitioningOperationSuccess : + specified operation is supported and completed + successfully + + partitioningInvalidOperation : + command invalid or command-protocol-device + combination unsupported + + partitioningInvalidDestName : + invalid target name (file or partition or + device name) specified + + partitioningInvalidPartitionCount : + invalid partition count specified for the + partitioning command + + partitioningInvalidPartitionSizes : + invalid partition size, or invalid count of + partition sizes + + partitioningDeviceBusy : + specified device is in use and locked by + another process + + partitioningDeviceOpenError : + invalid device name + + partitioningDeviceError : + device read, write or erase error + + partitioningNoMemory : + system running low on memory + + partitioningUnknownFailure : + failure unknown"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.6"; + } + + leaf ciscoFlashPartitioningNotifyOnCompletion { + type boolean; + description + "Specifies whether or not a notification should be + generated on the completion of the partitioning operation. + If specified, ciscoFlashPartitioningCompletionTrap + will be generated. It is the responsibility of the + management entity to ensure that the SNMP administrative + model is configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.7"; + } + + leaf ciscoFlashPartitioningTime { + type yang:timeticks; + description + "Time taken for the operation. This object will + be like a stopwatch, starting when the operation + starts, stopping when the operation completes. + If a management entity keeps a database of completion + times for various operations, it can then use the + stopwatch capability to display percentage completion + time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.8"; + } + + leaf ciscoFlashPartitioningEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.2.1.9"; + } + } + } + + container ciscoFlashMiscOpTable { + description + "A table of misc Flash operation entries. Each + entry represents a Flash operation that + has been initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3"; + + list ciscoFlashMiscOpEntry { + key "ciscoFlashMiscOpSerialNumber"; + description + "A Flash operation entry. Each entry consists of a + command, a target, and any optional parameters. + + A management station wishing to create an entry should + first generate a pseudo-random serial number to be used + as the index to this sparse table. The station should + then create the associated instance of the row status + object. It must also, either in the same or in successive + PDUs, create the associated instance of the command and + parameter objects. It should also modify the default values + for any of the parameter objects if the defaults are not + appropriate. + + Once the appropriate instances of all the command + objects have been created, either by an explicit SNMP + set request or by default, the row status should be set + to active to initiate the operation. Note that this entire + procedure may be initiated via a single set request which + specifies a row status of createAndGo as well as specifies + valid values for the non-defaulted parameter objects. + + Once an operation has been activated, it cannot be + stopped. + + Once the operation completes, the management station should + retrieve the value of the status object (and time if + desired), and delete the entry. In order to prevent old + entries from clogging the table, entries will be aged out, + but an entry will never be deleted within 5 minutes of + completing."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1"; + + leaf ciscoFlashMiscOpSerialNumber { + type int32 { + range "0..2147483647"; + } + description + "Object which specifies a unique entry in the + table. A management station wishing to initiate a + flash operation should use a pseudo-random value for + this object when creating or modifying an instance of + a ciscoFlashMiscOpEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.1"; + } + + leaf ciscoFlashMiscOpCommand { + type enumeration { + enum "erase" { + value "1"; + } + enum "verify" { + value "2"; + } + enum "delete" { + value "3"; + } + enum "undelete" { + value "4"; + } + enum "squeeze" { + value "5"; + } + enum "format" { + value "6"; + } + } + description + "The command to be executed. Mandatory. + Note that it is possible for a system to support + multiple file systems (different file systems on + different Flash devices, or different file systems + on different partitions within a device). Each such + file system may support only a subset of these commands. + If a command is unsupported, the miscOpInvalidOperation(3) + error will be reported in the operation status. + + Command Remarks + erase Erase flash. + verify Verify flash file checksum. + delete Delete a file. + undelete Revive a deleted file . + Note that there are limits on + the number of times a file can + be deleted and undeleted. When + this limit is exceeded, the + system will return the appropriate + error. + squeeze Recover space occupied by + deleted files. This command + preserves the good files, erases + out the file system, then restores + the preserved good files. + format Format a flash device. + + Command table Parameters + erase MiscOpDestinationName + MiscOpNotifyOnCompletion (opt) + verify MiscOpDestinationName + MiscOpNotifyOnCompletion (opt) + delete MiscOpDestinationName + MiscOpNotifyOnCompletion (opt) + undelete MiscOpDestinationName + MiscOpNotifyOnCompletion (opt) + squeeze MiscOpDestinationName + MiscOpNotifyOnCompletion (opt) + format MiscOpDestinationName + MiscOpNotifyOnCompletion (opt)"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.2"; + } + + leaf ciscoFlashMiscOpDestinationName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "Destination file, or partition name. + File name must be of the form + [device>:][:] + where is a value obtained from FlashDeviceName, + is obtained from FlashPartitionName + and is the name of a file in Flash. + While leading and/or trailing whitespaces are acceptable, + no whitespaces are allowed within the path itself. + + A management station could derive its own partition name + as per the description for the ciscoFlashPartitionName + object. + If is not specified, the default Flash device + will be assumed. + If is not specified, the default partition + will be assumed. If a device is not partitioned into 2 + or more partitions, this value may be left out. + + For an operation on a partition, eg., the erase + command, this object would specify the partition name + in the form: + [device>:][:]"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.3"; + } + + leaf ciscoFlashMiscOpStatus { + type enumeration { + enum "miscOpInProgress" { + value "1"; + } + enum "miscOpOperationSuccess" { + value "2"; + } + enum "miscOpInvalidOperation" { + value "3"; + } + enum "miscOpInvalidDestName" { + value "4"; + } + enum "miscOpDeviceBusy" { + value "5"; + } + enum "miscOpDeviceOpenError" { + value "6"; + } + enum "miscOpDeviceError" { + value "7"; + } + enum "miscOpDeviceNotProgrammable" { + value "8"; + } + enum "miscOpFileOpenError" { + value "9"; + } + enum "miscOpFileDeleteFailure" { + value "10"; + } + enum "miscOpFileUndeleteFailure" { + value "11"; + } + enum "miscOpFileChecksumError" { + value "12"; + } + enum "miscOpNoMemory" { + value "13"; + } + enum "miscOpUnknownFailure" { + value "14"; + } + enum "miscOpSqueezeFailure" { + value "18"; + } + enum "miscOpNoSuchFile" { + value "19"; + } + enum "miscOpFormatFailure" { + value "20"; + } + } + description + "The status of the specified operation. + miscOpInProgress : + specified operation is active + + miscOpOperationSuccess : + specified operation is supported and completed + successfully + + miscOpInvalidOperation : + command invalid or command-protocol-device + combination unsupported + + miscOpInvalidDestName : + invalid target name (file or partition or + device name) specified + + miscOpDeviceBusy : + specified device is in use and locked by another + process + + miscOpDeviceOpenError : + invalid device name + + miscOpDeviceError : + device read, write or erase error + + miscOpDeviceNotProgrammable : + device is read-only but a write or erase + operation was specified + + miscOpFileOpenError : + invalid file name; file not found in partition + + miscOpFileDeleteFailure : + file could not be deleted; delete count exceeded + + miscOpFileUndeleteFailure : + file could not be undeleted; undelete count + exceeded + + miscOpFileChecksumError : + file has a bad checksum + + miscOpNoMemory : + system running low on memory + + miscOpUnknownFailure : + failure unknown + + miscOpSqueezeFailure : + the squeeze operation failed + + miscOpNoSuchFile : + a valid but nonexistent file name was specified + + miscOpFormatFailure : + the format operation failed"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.4"; + } + + leaf ciscoFlashMiscOpNotifyOnCompletion { + type boolean; + description + "Specifies whether or not a notification should be + generated on the completion of an operation. + If specified, ciscoFlashMiscOpCompletionTrap + will be generated. It is the responsibility of the + management entity to ensure that the SNMP administrative + model is configured in such a way as to allow the + notification to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.5"; + } + + leaf ciscoFlashMiscOpTime { + type yang:timeticks; + description + "Time taken for the operation. This object will + be like a stopwatch, starting when the operation + starts, stopping when the operation completes. + If a management entity keeps a database of completion + times for various operations, it can then use the + stopwatch capability to display percentage completion + time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.6"; + } + + leaf ciscoFlashMiscOpEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2.3.1.7"; + } + } + } + } + + notification ciscoFlashCopyCompletionTrap { + description + "A ciscoFlashCopyCompletionTrap is sent at the + completion of a flash copy operation if such a trap + was requested when the operation was initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.1"; + + container object-1 { + + leaf ciscoFlashCopySerialNumber { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashCopyTable/CISCO-FLASH-MIB:ciscoFlashCopyEntry/CISCO-FLASH-MIB:ciscoFlashCopySerialNumber"; + } + } + + leaf ciscoFlashCopyStatus { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashCopyTable/CISCO-FLASH-MIB:ciscoFlashCopyEntry/CISCO-FLASH-MIB:ciscoFlashCopyStatus"; + } + } + } + } + + notification ciscoFlashPartitioningCompletionTrap { + description + "A ciscoFlashPartitioningCompletionTrap is sent at the + completion of a partitioning operation if such a trap + was requested when the operation was initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.2"; + + container object-1 { + + leaf ciscoFlashPartitioningSerialNumber { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitioningTable/CISCO-FLASH-MIB:ciscoFlashPartitioningEntry/CISCO-FLASH-MIB:ciscoFlashPartitioningSerialNumber"; + } + } + + leaf ciscoFlashPartitioningStatus { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitioningTable/CISCO-FLASH-MIB:ciscoFlashPartitioningEntry/CISCO-FLASH-MIB:ciscoFlashPartitioningStatus"; + } + } + } + } + + notification ciscoFlashMiscOpCompletionTrap { + description + "A ciscoFlashMiscOpCompletionTrap is sent at the + completion of a miscellaneous flash operation + (enumerated in ciscoFlashMiscOpCommand) if such a trap + was requested when the operation was initiated."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.3"; + + container object-1 { + + leaf ciscoFlashMiscOpSerialNumber { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashMiscOpTable/CISCO-FLASH-MIB:ciscoFlashMiscOpEntry/CISCO-FLASH-MIB:ciscoFlashMiscOpSerialNumber"; + } + } + + leaf ciscoFlashMiscOpStatus { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashMiscOpTable/CISCO-FLASH-MIB:ciscoFlashMiscOpEntry/CISCO-FLASH-MIB:ciscoFlashMiscOpStatus"; + } + } + } + } + + notification ciscoFlashDeviceChangeTrap { + status deprecated; + description + "A ciscoFlashDeviceChangeTrap is sent whenever a + removable Flash device is inserted or removed."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.4"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceMinPartitionSize { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceMinPartitionSize"; + } + } + } + + container object-2 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceName { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceName"; + } + status deprecated; + } + } + } + + notification ciscoFlashDeviceInsertedNotif { + status deprecated; + description + "A ciscoFlashDeviceInsertedNotif notification is sent + whenever a removable Flash device is inserted."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.5"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceMinPartitionSize { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceMinPartitionSize"; + } + } + } + + container object-2 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceName { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceName"; + } + status deprecated; + } + } + } + + notification ciscoFlashDeviceRemovedNotif { + status deprecated; + description + "A ciscoFlashDeviceRemovedNotif notification is sent + whenever a removable Flash device is removed."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.6"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceName { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceName"; + } + status deprecated; + } + } + } + + notification ciscoFlashDeviceInsertedNotifRev1 { + description + "A ciscoFlashDeviceInsertedNotif notification is sent + whenever a removable Flash device is inserted + + ciscoFlashDeviceInsertedNotifRev1 depcrecates + ciscoFlashDeviceInsertedNotif since it uses + ciscoFlashDeviceName as a varbind which is + deprecated"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.7"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceMinPartitionSize { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceMinPartitionSize"; + } + } + } + + container object-2 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceNameExtended { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceNameExtended"; + } + } + } + } + + notification ciscoFlashDeviceRemovedNotifRev1 { + description + "A ciscoFlashDeviceRemovedNotif notification is sent + whenever a removable Flash device is removed. + + ciscoFlashDeviceRemovedNotifRev1 depcrecates + ciscoFlashDeviceRemovedNotif since it uses + ciscoFlashDeviceName as a varbind which is + deprecated"; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.8"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashDeviceNameExtended { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceNameExtended"; + } + } + } + } + + notification ciscoFlashPartitionLowSpaceNotif { + description + "A ciscoFlashPartitionLowSpaceNotif notification is sent + when the percentage of free space in a flash partition falls + below ciscoFlashPartitionLowSpaceNotifThreshold.This + notification will be generated when the value of + ciscoFlashPartitionLowSpaceNotifEnable is + true. + + ciscoFlashPartitionName indicates the name of the flash + partition for which this notification has been sent. + + ciscoFlashPartitionFreeSpaceExtended indicates the free space + available with in the flash partition. + + ciscoFlashPartitionLowSpaceNotifThreshold indicates the minimum + threshold value in percentage of free space for each partition."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.9"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionName { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionName"; + } + } + } + + container object-2 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionFreeSpaceExtended { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionFreeSpaceExtended"; + } + } + } + + container object-3 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionLowSpaceNotifThreshold { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionLowSpaceNotifThreshold"; + } + } + } + } + + notification ciscoFlashPartitionLowSpaceRecoveryNotif { + description + "A ciscoFlashPartitionLowSpaceRecoveryNotif notification is sent + whenever the free space in a flash partition becomes + normal once it has gone low. This notification will be + generated + when the value of ciscoFlashPartitionLowSpaceNotifEnable is + true. This trap is generated as a recovery notification for + ciscoFlashPartitionLowSpaceNotif. + + ciscoFlashPartitionName indicates the name of the flash + partition for which this notification has been sent. + + ciscoFlashPartitionFreeSpaceExtended indicates the free space + available with in the flash partition. + + ciscoFlashPartitionLowSpaceNotifThreshold indicates the minimum + threshold value in percentage of free space for each partition."; + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0.10"; + + container object-1 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionName { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionName"; + } + } + } + + container object-2 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionFreeSpaceExtended { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionFreeSpaceExtended"; + } + } + } + + container object-3 { + + leaf ciscoFlashDeviceIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashDeviceTable/CISCO-FLASH-MIB:ciscoFlashDeviceEntry/CISCO-FLASH-MIB:ciscoFlashDeviceIndex"; + } + } + + leaf ciscoFlashPartitionIndex { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionIndex"; + } + } + + leaf ciscoFlashPartitionLowSpaceNotifThreshold { + type leafref { + path "/CISCO-FLASH-MIB:CISCO-FLASH-MIB/CISCO-FLASH-MIB:ciscoFlashPartitionTable/CISCO-FLASH-MIB:ciscoFlashPartitionEntry/CISCO-FLASH-MIB:ciscoFlashPartitionLowSpaceNotifThreshold"; + } + } + } + } + + smiv2:alias "ciscoFlashMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.10"; + } + + smiv2:alias "ciscoFlashMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1"; + } + + smiv2:alias "ciscoFlashDevice" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1"; + } + + smiv2:alias "ciscoFlashChips" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.3"; + } + + smiv2:alias "ciscoFlashPartitions" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4"; + } + + smiv2:alias "ciscoFlashFiles" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.1.4.2"; + } + + smiv2:alias "ciscoFlashOps" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.2"; + } + + smiv2:alias "ciscoFlashMIBTrapPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3"; + } + + smiv2:alias "ciscoFlashMIBTraps" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.3.0"; + } + + smiv2:alias "ciscoFlashCfg" { + smiv2:oid "1.3.6.1.4.1.9.9.10.1.4"; + } + + smiv2:alias "ciscoFlashMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.10.2"; + } + + smiv2:alias "ciscoFlashMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.10.2.1"; + } + + smiv2:alias "ciscoFlashMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.10.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-FTP-CLIENT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-FTP-CLIENT-MIB.yang new file mode 100644 index 000000000..42b8d0c38 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-FTP-CLIENT-MIB.yang @@ -0,0 +1,342 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-FTP-CLIENT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-FTP-CLIENT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-FTP-CLIENT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB"; + prefix CISCO-FTP-CLIENT-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for invoking Internet File Transfer Protocol + (FTP) operations for network management purposes."; + + revision 2006-03-31 { + description + "Updated the imports such that Unsigned32 is imported from + SNMPv2-SMI instead of CISCO-TC."; + } + + revision 1997-10-09 { + description + "Initial version."; + } + + + container CISCO-FTP-CLIENT-MIB { + config false; + + container cfcRequest { + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1"; + + leaf cfcRequestMaximum { + type uint32 { + range "0..4294967295"; + } + description + "The maximum number of requests this system can hold in + cfcRequestTable. A value of 0 indicates no configured limit. + + This object may be read-only on some systems. + + When an attempt is made to create a new entry but the table + is full, the oldest completed entry is bumped out and + cfcRequestsBumped is incremented. + + Changing this number does not disturb existing requests that + are not completed and bumps completed requests as necessary."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.1"; + } + + leaf cfcRequests { + type yang:gauge32; + description + "The current number of requests in cfcRequestTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.2"; + } + + leaf cfcRequestsHigh { + type yang:gauge32; + description + "The highest number of requests in cfcRequestTable since this + system was last initialized."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.3"; + } + + leaf cfcRequestsBumped { + type yang:counter32; + description + "The number of requests in cfcRequestTable that were bumped + out to make room for a new request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.4"; + } + } + + container cfcRequestTable { + description + "A table of FTP client requests."; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5"; + + list cfcRequestEntry { + key "cfcRequestIndex"; + description + "Information about an FTP client request. Management applications + use cfcRequestEntryStatus to control entry modification, creation, + and deletion. + + Setting cfcRequestEntryStatus to 'active' from any state including + 'active' causes the operation to be started. + + The entry may be modified only when cfcRequestOperationState is + 'stopped'. + + The value of cfcRequestEntryStatus may be set to 'destroy' at any + time. Doing so will abort a running request. + + Entries may not be created without explicitly setting + cfcRequestEntryStatus to either 'createAndGo' or 'createAndWait'."; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1"; + + leaf cfcRequestIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer to uniquely identify this entry. To + create an entry a management application should pick a + random number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.1"; + } + + leaf cfcRequestOperation { + type enumeration { + enum "putBinary" { + value "1"; + } + enum "putASCII" { + value "2"; + } + } + description + "The FTP operation to be performed."; + smiv2:defval "putBinary"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.2"; + } + + leaf cfcRequestLocalFile { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The local file on which the operation is to be performed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.3"; + } + + leaf cfcRequestRemoteFile { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The remote file on which the operation is to be performed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.4"; + } + + leaf cfcRequestServer { + type snmpv2-tc:DisplayString { + length "1..64"; + } + description + "The domain name or IP address of the FTP server to use."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.5"; + } + + leaf cfcRequestUser { + type snmpv2-tc:DisplayString { + length "1..32"; + } + description + "The user name to use at the FTP server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.6"; + } + + leaf cfcRequestPassword { + type snmpv2-tc:DisplayString { + length "0..16"; + } + description + "The password to use at the FTP server. + + When read this object always returns a zero-length string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.7"; + } + + leaf cfcRequestResult { + type enumeration { + enum "pending" { + value "1"; + } + enum "success" { + value "2"; + } + enum "aborted" { + value "3"; + } + enum "fileOpenFailLocal" { + value "4"; + } + enum "fileOpenFailRemote" { + value "5"; + } + enum "badDomainName" { + value "6"; + } + enum "unreachableIpAddress" { + value "7"; + } + enum "linkFailed" { + value "8"; + } + enum "fileReadFailed" { + value "9"; + } + enum "fileWriteFailed" { + value "10"; + } + } + description + "The result of the FTP operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.8"; + } + + leaf cfcRequestCompletionTime { + type yang:timestamp; + description + "The value of sysUpTime when the operation completed. For + an incomplete operation this value is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.9"; + } + + leaf cfcRequestStop { + type enumeration { + enum "ready" { + value "1"; + } + enum "stop" { + value "2"; + } + } + description + "The action control to stop a running request. Setting this to + 'stop' will begin the process of stopping the request. Setting + it to 'ready' or setting it to 'stop' more than once have no + effect. When read this object always returns ready."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.10"; + } + + leaf cfcRequestOperationState { + type enumeration { + enum "running" { + value "1"; + } + enum "stopping" { + value "2"; + } + enum "stopped" { + value "3"; + } + } + description + "The operational state of the file transfer. To short-terminate + the transfer set cfcRequestStop to 'stop'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.11"; + } + + leaf cfcRequestEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, and deletion + of entries. For detailed rules see the DESCRIPTION for + cfcRequestEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1.5.1.12"; + } + } + } + } + + smiv2:alias "ciscoFtpClientMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.80"; + } + + smiv2:alias "ciscoFtpClientMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.80.1"; + } + + smiv2:alias "cfcRequest" { + smiv2:oid "1.3.6.1.4.1.9.9.80.1.1"; + } + + smiv2:alias "ciscoFtpClientMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.80.3"; + } + + smiv2:alias "ciscoFtpClientMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.80.3.1"; + } + + smiv2:alias "ciscoFtpClientMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.80.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-EXT-MIB.yang new file mode 100644 index 000000000..7c30f38a9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-EXT-MIB.yang @@ -0,0 +1,519 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-HSRP-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-HSRP-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-HSRP-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB"; + prefix CISCO-HSRP-EXT-MIB; + + import CISCO-HSRP-MIB { + prefix "cisco-hsrp"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-hsrp@cisco.com"; + + description + "The Extension MIB module for the CISCO-HSRP-MIB which is + based on RFC2281. + + This MIB provides an extension to the CISCO-HSRP-MIB which + defines Cisco's proprietary Hot Standby Routing Protocol + (HSRP), defined in RFC2281. The extensions cover assigning + of secondary HSRP ip addresses, modifying an HSRP Group's + priority by tracking the operational status of interfaces, + etc. + + Terminology: + HSRP is a protocol used amoung a group of routers for the + purpose of selecting an active router and a standby router. + + An active router is the router of choice for routing + packets. + + A standby router is a router that takes over the routing + duties when an active router fails, or when preset + conditions have been met. + + A HSRP group or a standby group is a set of routers + which communicate using HSRP. An HSRP group has a group + MAC address and a group IP address. These are the + designated addresses. The active router assumes + (i.e. inherits) these group addresses. An HSRP group is + identified by a ( ifIndex, cHsrpGrpNumber ) pair. + + BIA stands for Burned In Address."; + + revision 2010-09-02 { + description + "The following changes have been made. + + [1] Objects cHsrpExtIfTrackedIpNone has been deprecated. + + [2] Deprecates object group cHsrpExtIfTrackedGroupSup1, which + supplementary to cHsrpExtIfTrackedGroup. + + + [3] Added new compliance cHsrpExtComplianceRev2, which + deprecates cHsrpExtComplianceRev1."; + } + + revision 2010-02-05 { + description + "Added cHsrpExtIfTrackedIpNone to + cHsrpExtIfTrackedTable + + Added new table cHsrpExtIfStandbyTable. + + Added OBJECT-GROUP cHsrpExtIfStandbyGroup91. + + Added OBJECT-GROUP cHsrpExtIfTrackedGroupSup1, which + supplementary to cHsrpExtIfTrackedGroup. + + Added MODULE-COMPLIANCE cHsrpExtComplianceRev1, which + deprecates cHsrpExtCompliance."; + } + + revision 2006-02-15 { + description + "Updated the imports such that Unsigned32 is imported from + SNMPv2-SMI instead of CISCO-TC. Updated the module + description. Also updated the descriptions of + cHsrpExtIfTrackedEntry and cHsrpExtIfTracked. Formatted the + complete MIB."; + } + + revision 1998-08-03 { + description + "Initial version of this mib."; + } + + + container CISCO-HSRP-EXT-MIB { + config false; + + container cHsrpExtIfTrackedTable { + description + "A table containing information about tracked interfaces per + HSRP group."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1"; + + list cHsrpExtIfTrackedEntry { + key "ifIndex cHsrpGrpNumber cHsrpExtIfTracked"; + description + "Each row of this table allows the tracking of one + interface of the HSRP group which is identified by the + (ifIndex, cHsrpGrpNumber) values in this table's INDEX clause. + Weight(priority) is given to each and every interface tracked. + When a tracked interface is unavailable, the HSRP priority of + the router is decreased. i.e cHsrpGrpPriority value assigned + to an HSRP group will reduce by the value assigned to + cHsrpExtIfTrackedPriority. This reduces the likelihood + of a router with a failed key interface becoming the + active router. + + Setting cHsrpExtIfTrackedRowStatus to active starts + the tracking of cHsrpExtIfTracked by the HSRP group. + The value of cHsrpExtIfTrackedRowStatus may be set + to destroy at any time. + + Entries may not be created via SNMP without explicitly setting + cHsrpExtIfTrackedRowStatus to either 'createAndGo' + or 'createAndWait'. + + Entries can be created and modified via the management + protocol or by the device's local management interface. + + If the row is not active, and a local management interface + command modifies that row, the row may transition to active + state. + + A row entry in the cHsrpExtIfTrackedTable can not be created + unless the corresponding row in the cHsrpGrpTable has been + created. If that corresponding row in cHsrpGrpTable is + deleted, the interfaces it tracks also get deleted. + + A row which is not in active state will timeout after a + configurable period (five minutes by default). This timeout + period can be changed by setting cHsrpConfigTimeout."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpGrpNumber { + type leafref { + path "/cisco-hsrp:CISCO-HSRP-MIB/cisco-hsrp:cHsrpGrpTable/cisco-hsrp:cHsrpGrpEntry/cisco-hsrp:cHsrpGrpNumber"; + } + } + + leaf cHsrpExtIfTracked { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the tracked interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1.1.1"; + } + + leaf cHsrpExtIfTrackedPriority { + type uint32 { + range "0..255"; + } + description + "Priority of the tracked interface for the corresponding + { ifIndex, cHsrpGrpNumber } pair. In the range of 0 to 255, 0 + is the lowest priority and 255 is the highest. When a tracked + interface is unavailable, the cHsrpGrpPriority of the router + is decreased by the value of this object instance (If the + cHsrpGrpPriority is less than the + cHsrpExtIfTrackedPriority, then the HSRP priority + becomes 0). This allows a standby router to be configured + with a priority such that if the currently active router's + priority is lowered because the tracked interface goes down, + the standby router can takeover."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1.1.2"; + } + + leaf cHsrpExtIfTrackedRowStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, and deletion + of entries. For detailed rules see the DESCRIPTION for + cHsrpExtIfTrackedEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1.1.3"; + } + + leaf cHsrpExtIfTrackedIpNone { + type boolean; + status deprecated; + description + "This object specifies the disable HSRP IPv4 virtual + IP address."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.1.1.4"; + } + } + } + + container cHsrpExtSecAddrTable { + description + "A table containing information about secondary HSRP IP + Addresses per interface and group."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.2"; + + list cHsrpExtSecAddrEntry { + key "ifIndex cHsrpGrpNumber cHsrpExtSecAddrAddress"; + description + "The CHsrpExtSecAddrEntry allows creation of secondary + IP Addresses for each cHsrpGrpEntry row. + + Secondary addresses can be added by setting + cHsrpExtSecAddrRowStatus to be active. The value of + cHsrpExtSecAddrRowStatus may be set to destroy at any + time. + + Entries may not be created via SNMP without explicitly setting + cHsrpExtSecAddrRowStatus to either 'createAndGo' + or 'createAndWait'. + + Entries can be created and modified via the management + protocol or by the device's local management interface. + + If the row is not active, and a local management interface + command modifies that row, the row may transition to active + state. + + A row which is not in active state will timeout after a + configurable period (five minutes by default). This timeout + period can be changed by setting cHsrpConfigTimeout. + + Before creation of a cHsrpExtSecAddrEntry row, + either cHsrpGrpConfiguredVirtualIpAddr or + cHsrpGrpLearnedVirtualIpAddr must have a valid IP Address. + This is because a secondary ip address cannot be created + unless the primary ip address has already been set. + + To create a new cHsrpExtSecAddrEntry row, a management + station should choose the ifIndex of the interface which is to + be added as part of an HSRP group. Also, an HSRP group number + and a cHsrpExtSecAddrAddress should be chosen. + + Deleting a {ifIndex, cHsrpGrpNumber} row in the + cHsrpGrpTable will delete all corresponding + rows in the cHsrpExtSecAddrTable. + Deleting a primary address value in the cHsrpGrpEntry row + will delete all secondary addresses for the same + {ifIndex, cHsrpGrpNumber} pair."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpGrpNumber { + type leafref { + path "/cisco-hsrp:CISCO-HSRP-MIB/cisco-hsrp:cHsrpGrpTable/cisco-hsrp:cHsrpGrpEntry/cisco-hsrp:cHsrpGrpNumber"; + } + } + + leaf cHsrpExtSecAddrAddress { + type inet:ipv4-address; + description + "A secondary IpAddress for the {ifIndex, cHsrpGrpNumber} pair. + As explained in the DESCRIPTION for cHsrpExtSecAddrEntry, a + primary address must exist before a secondary address for + the same {ifIndex, cHsrpGrpNumber} pair can be created."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.2.1.1"; + } + + leaf cHsrpExtSecAddrRowStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, and deletion + of entries. For detailed rules see the DESCRIPTION for + cHsrpExtSecAddrEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.2.1.2"; + } + } + } + + container cHsrpExtIfStandbyTable { + description + "A table containing information about standby + interfaces per HSRP group."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3"; + + list cHsrpExtIfStandbyEntry { + key "ifIndex cHsrpGrpNumber cHsrpExtIfStandbyIndex"; + description + "The cHsrpExtIfStandbyEntry allows an HSRP group + interface to track one or more standby interfaces. + + To create a new cHsrpExtIfStandbyEntry row, a + management station should choose the ifIndex of + the interface which is to be added as part of an + HSRP group. Also, an HSRP group number and a + cHsrpExtIfStandbyIndex should be chosen."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpGrpNumber { + type leafref { + path "/cisco-hsrp:CISCO-HSRP-MIB/cisco-hsrp:cHsrpGrpTable/cisco-hsrp:cHsrpGrpEntry/cisco-hsrp:cHsrpGrpNumber"; + } + } + + leaf cHsrpExtIfStandbyIndex { + type uint32 { + range "1..4"; + } + description + "This object defines the index of the standby table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.1"; + } + + leaf cHsrpExtIfStandbyDestAddrType { + type inet-address:InetAddressType; + description + "This object specifies the type of Internet address + denoted by cHsrpExtIfStandbyDestAddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.2"; + } + + leaf cHsrpExtIfStandbyDestAddr { + type inet-address:InetAddress; + description + "This object specifies the destination IP address of + the standby router."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.3"; + } + + leaf cHsrpExtIfStandbySourceAddrType { + type inet-address:InetAddressType; + description + "This object specifies the type of Internet address + denoted by cHsrpExtIfStandbySourceAddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.4"; + } + + leaf cHsrpExtIfStandbySourceAddr { + type inet-address:InetAddress; + description + "This object specifies the source IP address of + the standby router."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.5"; + } + + leaf cHsrpExtIfStandbyRowStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, + and deletion of entries. Entries may not be created + via SNMP without explicitly setting + cHsrpExtIfStandbyRowStatus to either + 'createAndGo' or 'createAndWait'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1.3.1.6"; + } + } + } + + container cHsrpExtIfTable { + description + "HSRP-specific configurations for each physical interface."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.2.1"; + + list cHsrpExtIfEntry { + key "ifIndex"; + description + "If HSRP entries on this interface must use the BIA (Burned + In Address), there must be an entry for the interface in this + table. Entries of this table are only accessible if HSRP has + been enabled i.e entries can not be created if HSRP is not + enabled. Also, the interfaces should be of IEEE 802 ones + (Ethernet, Token Ring, FDDI,VLAN, LANE, TR-LANE). + + Setting cHsrpExtIfRowStatus to active initiates the + entry with default value for cHsrpExtIfUseBIA as FALSE. + The value of cHsrpExtIfRowStatus may be set to destroy + at any time. If the row is not initiated, it is similar to + having cHsrpExtIfUseBIA as FALSE. + + Entries may not be created via SNMP without explicitly setting + cHsrpExtIfRowStatus to either 'createAndGo' or 'createAndWait'. + + Entries can be created and modified via the management + protocol or by the device's local management interface. + + If the row is not active, and a local management interface + command modifies that row, the row may transition to active + state. + + A row which is not in active state will timeout after a + configurable period (five minutes by default). This timeout + period can be changed by setting cHsrpConfigTimeout."; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpExtIfUseBIA { + type boolean; + description + "If set to TRUE, the HSRP Group MAC Address for all groups + on this interface will be the burned-in-address. Otherwise, + this will be determined by ciscoHsrpGroupNumber. In case of + sub-interfaces, UseBIA applies to all sub-interfaces on an + interface and to all groups on those sub-interfaces."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.2.1.1.1"; + } + + leaf cHsrpExtIfRowStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, and deletion + of entries. For detailed rules see the DESCRIPTION for + cHsrpExtIfEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.107.1.2.1.1.2"; + } + } + } + } + + smiv2:alias "ciscoHsrpExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.107"; + } + + smiv2:alias "ciscoHsrpExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.107.1"; + } + + smiv2:alias "cHsrpExtGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.107.1.1"; + } + + smiv2:alias "cHsrpExtIfBIA" { + smiv2:oid "1.3.6.1.4.1.9.9.107.1.2"; + } + + smiv2:alias "cHsrpExtConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.107.3"; + } + + smiv2:alias "cHsrpExtCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.107.3.1"; + } + + smiv2:alias "cHsrpExtComplianceGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.107.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-MIB.yang new file mode 100644 index 000000000..48d9308ba --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-HSRP-MIB.yang @@ -0,0 +1,557 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-HSRP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-HSRP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-HSRP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB"; + prefix CISCO-HSRP-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-hsrp@cisco.com"; + + description + "The MIB module provides a means to monitor and configure + the Cisco IOS proprietary Hot Standby Router Protocol + (HSRP). Cisco HSRP protocol is defined in RFC2281. + + Terminology: + + HSRP is a protocol used amoung a group of routers for the + purpose of selecting an 'active router' and a 'standby + router'. + + An 'active router' is the router of choice for routing + packets. + + A 'standby router' is a router that takes over the routing + duties when an active router fails, or when preset + conditions have been met. + + An 'HSRP group' or a 'standby group' is a set of routers + which communicate using HSRP. An HSRP group has a group MAC + address and a group Virtual IP address. These are the + designated addresses. The active router assumes (i.e. + inherits) these group addresses. + + 'Hello' messages are sent to indicate that a router is + running and is capable of becoming the active or standby + router. + + 'Hellotime' is the interval between successive HSRP Hello + messages from a given router. + + 'Holdtime' is the interval between the receipt of a Hello + message and the presumption that the sending router has + failed."; + + revision 2010-09-06 { + description + "The following changes have been made. + + [1] Objects cHsrpGrpIpNone has been added to the + cHsrpGrpTable. + + [2] Added new object group cHsrpGrpGroupSup + + + [3] Added new compliance cHsrpComplianceRev2, which + deprecates cHsrpComplianceRev1."; + } + + revision 2005-12-20 { + description + "Deprecated cHsrpCompliance and added cHsrpComplianceRev1 + to include cHsrpNotificationsGroup; Updated the imports + such that Unsigned32 is imported from SNMPv2-SMI instead + of CISCO-TC, and other clean-up."; + } + + revision 1998-08-03 { + description + "Initial version of this MIB."; + } + + typedef HsrpState { + type enumeration { + enum "initial" { + value "1"; + } + enum "learn" { + value "2"; + } + enum "listen" { + value "3"; + } + enum "speak" { + value "4"; + } + enum "standby" { + value "5"; + } + enum "active" { + value "6"; + } + } + description + "The current state of the HSRP protocol for a given + HSRP group entry."; + } + + + container CISCO-HSRP-MIB { + config false; + + container cHsrpGlobalConfig { + smiv2:oid "1.3.6.1.4.1.9.9.106.1.1"; + + leaf cHsrpConfigTimeout { + type uint32 { + range "1..60"; + } + units "minutes"; + description + "The amount of time in minutes a row in cHsrpGrpTable can + remain in a state other than active before being timed out."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.1.1"; + } + } + + container cHsrpGrpTable { + description + "A table containing information on each HSRP group + for each interface."; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1"; + + list cHsrpGrpEntry { + key "ifIndex cHsrpGrpNumber"; + description + "Information about an HSRP group. Management applications + use cHsrpGrpRowStatus to control entry modification, + creation and deletion. + + Setting cHsrpGrpRowStatus to 'active' causes the router to + communicate using HSRP. + + The value of cHsrpGrpRowStatus may be set to 'destroy' at + any time. + + Entries may not be created via SNMP without explicitly + setting cHsrpGrpRowStatus to either 'createAndGo' or + 'createAndWait'. + + Entries can be created and modified via the management + protocol or by the device's local management interface. + + A management application wishing to create an entry should + choose the ifIndex of the interface which is to be added + as part of an HSRP group. Also, a cHsrpGrpNumber should + be chosen. A group number is unique only amongst the groups + on a particular interface. The value of the group number + appears in packets which are transmitted and received on a + LAN segment to which the router is connected. The application + must select the group number as explained in the description + for cHsrpGrpNumber. + + If the row is not active, and a local management interface + command modifies that row, the row may transition to active + state. + + A row which is not in active state will timeout after a + configurable period (five minutes by default). This timeout + period can be changed by setting cHsrpConfigTimeout."; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpGrpNumber { + type uint32 { + range "0..255"; + } + description + "This object along with the ifIndex of a particular interface + uniquely identifies an HSRP group. + + Group numbers 0,1 and 2 are the only valid group numbers + for TokenRing interfaces. For other media types, numbers + range from 0 to 255. Each interface has its own set of group + numbers. There's no relationship between the groups + configured on different interfaces. Using a group number + on one interface doesn't preclude using the same group + number on a different interface. For example, there can be + a group 1 on an Ethernet and a group 1 on Token Ring. More + details can be found from RFC 2281."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.1"; + } + + leaf cHsrpGrpAuth { + type snmpv2-tc:DisplayString { + length "0..8"; + } + description + "This is an unencrypted authentication string which is + carried in all HSRP messages. An authentication string + mismatch prevents a router interface from learning the + designated IP address or HSRP timer values from + other HSRP-enabled routers with the same group number. + + The function of this object is not to supply any sort of + security-like authentication but rather to confirm that + what's happening is what's intended. In other words, this + is meant for sanity checking only."; + smiv2:defval "cisco"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.2"; + } + + leaf cHsrpGrpPriority { + type uint32 { + range "0..255"; + } + description + "The cHsrpGrpPriority helps to select the active and the + standby routers. The router with the highest priority is + selected as the active router. In the priority range of 0 + to 255, 0 is the lowest priority and 255 is the highest + priority. + + If two (or more) routers in a group have the same priority, + the one with the highest ip address of the interface is the + active router. When the active router fails to send a Hello + message within a configurable period of time, the standby + router with the highest priority becomes the active + router. + + A router with highest priority will only attempt to + overthrow a lower priority active router if it is + configured to preempt. But, if there is more than one + router which is not active, the highest priority non-active + router becomes the standby router."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.3"; + } + + leaf cHsrpGrpPreempt { + type boolean; + description + "This object, if TRUE, indicates that the current router + should attempt to overthrow a lower priority active router + and attempt to become the active router. If this object is + FALSE, the router will become the active router only if + there is no such router (or if an active router fails)."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.4"; + } + + leaf cHsrpGrpPreemptDelay { + type uint32 { + range "0..3600"; + } + units "seconds"; + description + "This delay is the time difference between a router power + up and the time it can actually start preempting the + currently active router. + + When a router first comes up, it doesn't have a complete + routing table. If it's configured to preempt, then it will + become the Active router, but it will not be able to + provide adequate routing services. The solution to this is + to allow for a configurable delay before the router + actually preempts the currently active router."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.5"; + } + + leaf cHsrpGrpUseConfiguredTimers { + type boolean; + description + "HSRP routers learn a group's Hellotime or Holdtime from + hello messages. + + The Hellotime is used to determine the frequency of + generating hello messages when this router becomes the + active or standby router. The Holdtime is the interval + between the receipt of a Hello message and the presumption + that the sending router has failed. + + If this object is TRUE, the cHsrpGrpConfiguredHelloTime and + cHsrpGrpConfiguredHoldTime will be used. If it is FALSE, + the Hellotime and Holdtime values are learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.6"; + } + + leaf cHsrpGrpConfiguredHelloTime { + type uint32; + units "milliseconds"; + description + "If cHsrpGrpUseConfiguredTimers is true, + cHsrpGrpConfiguredHelloTime is used when this router is an + active router. Otherwise, the Hellotime learned from the + current active router is used. All routers on a particular + LAN segment must use the same Hellotime."; + smiv2:defval "3000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.7"; + } + + leaf cHsrpGrpConfiguredHoldTime { + type uint32; + units "milliseconds"; + description + "If cHsrpGrpUseConfiguredTimers is true, + cHsrpGrpConfiguredHoldTime is used when this router is an + active router. Otherwise, the Holdtime learned from the + current active router is used. All routers on a particular + LAN segment should use the same Holdtime. Also, the + Holdtime should be at least three times the value of the + Hellotime and must be greater than the Hellotime."; + smiv2:defval "10000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.8"; + } + + leaf cHsrpGrpLearnedHelloTime { + type uint32; + units "milliseconds"; + description + "If the Hellotime is not configured on a router, it can be + learned from the Hello messages from active router, + provided the Hello message is authenticated. If the + Hellotime is not learned from a Hello message from the + active router and it is not manually configured, a default + value of 3 seconds is recommended."; + smiv2:defval "3000"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.9"; + } + + leaf cHsrpGrpLearnedHoldTime { + type uint32; + units "milliseconds"; + description + "If the Holdtime is not configured on a router, it can be + learned from the Hello message from the active router. + Holdtime should be learned only if the Hello message is + authenticated. If the Holdtime is not learned and it is + not manually configured, a default value of 10 seconds is + recommended."; + smiv2:defval "10000"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.10"; + } + + leaf cHsrpGrpVirtualIpAddr { + type inet:ipv4-address; + description + "This is the primary virtual IP address used by this + group. If this address is configured (i.e a non zero ip + address), this value is used. Otherwise, the agent will + attempt to discover the virtual address through a discovery + process (which scans the hello messages)."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.11"; + } + + leaf cHsrpGrpUseConfigVirtualIpAddr { + type boolean; + description + "If this object is TRUE, cHsrpGrpVirtualIpAddr was a + configured one. Otherwise, it indicates that + cHsrpGrpVirtualIpAddr was a learned one."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.12"; + } + + leaf cHsrpGrpActiveRouter { + type inet:ipv4-address; + description + "Ip Address of the currently active router for this group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.13"; + } + + leaf cHsrpGrpStandbyRouter { + type inet:ipv4-address; + description + "Ip Address of the currently standby router for this + group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.14"; + } + + leaf cHsrpGrpStandbyState { + type CISCO-HSRP-MIB:HsrpState; + description + "The current HSRP state of this group on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.15"; + } + + leaf cHsrpGrpVirtualMacAddr { + type yang:mac-address; + description + "Mac Addresses used are as specified in RFC 2281. For + ethernet and fddi interfaces, a MAC address will be in the + range 00:00:0c:07:ac:00 through 00:00:0c:07:ac:ff. The last + octet is the hexadecimal equivalent of cHsrpGrpNumber + (0-255). + + Some Ethernet and FDDI interfaces allow a unicast MAC + address for each HSRP group. Certain Ethernet + chipsets(LANCE Ethernet, VGANYLAN and QUICC Ethernet) only + support a single Unicast Mac Address. In this case, only + one HSRP group is allowed. + + For TokenRing interfaces, the following three MAC + addresses are permitted (functional addresses): + C0:00:00:01:00:00 + C0:00:00:02:00:00 + C0:00:00:04:00:00."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.16"; + } + + leaf cHsrpGrpEntryRowStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows modification, creation, and + deletion of entries. For detailed rules see the + DESCRIPTION for cHsrpGrpEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.17"; + } + + leaf cHsrpGrpIpNone { + type boolean; + description + "This object specifies the disable HSRP IPv4 virtual + IP address."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.18"; + } + } + } + } + + notification cHsrpStateChange { + description + "A cHsrpStateChange notification is sent when a + cHsrpGrpStandbyState transitions to either active or + standby state, or leaves active or standby state. There + will be only one notification issued when the state change + is from standby to active and vice versa."; + smiv2:oid "1.3.6.1.4.1.9.9.106.2.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cHsrpGrpNumber { + type leafref { + path "/CISCO-HSRP-MIB:CISCO-HSRP-MIB/CISCO-HSRP-MIB:cHsrpGrpTable/CISCO-HSRP-MIB:cHsrpGrpEntry/CISCO-HSRP-MIB:cHsrpGrpNumber"; + } + } + + leaf cHsrpGrpStandbyState { + type leafref { + path "/CISCO-HSRP-MIB:CISCO-HSRP-MIB/CISCO-HSRP-MIB:cHsrpGrpTable/CISCO-HSRP-MIB:cHsrpGrpEntry/CISCO-HSRP-MIB:cHsrpGrpStandbyState"; + } + } + } + } + + smiv2:alias "ciscoHsrpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.106"; + } + + smiv2:alias "ciscoHsrpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.106.1"; + } + + smiv2:alias "cHsrpGlobalConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.106.1.1"; + } + + smiv2:alias "cHsrpGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.106.1.2"; + } + + smiv2:alias "cHsrpMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.106.2"; + } + + smiv2:alias "cHsrpMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.106.2.0"; + } + + smiv2:alias "cHsrpConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.106.3"; + } + + smiv2:alias "cHsrpCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.106.3.1"; + } + + smiv2:alias "cHsrpComplianceGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.106.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN.yang new file mode 100644 index 000000000..bc12157f6 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN.yang @@ -0,0 +1,382 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN"; + prefix CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN; + + import ATM-MIB { + prefix "atm-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-atm@cisco.com"; + + description + "This MIB Module is a supplement to the + CISCO-IETF-ATM2-PVCTRAP-MIB."; + + revision 2000-07-11 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN { + config false; + + container atmCurrentStatusChangePVclTable { + description + "A table indicating all VCLs for which there is an + active row in the atmVclTable having an atmVclConnKind + value of `pvc' and atmVclOperStatus to have changed in the + last PVC notification interval."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.2"; + + list atmCurrentStatusChangePVclEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "Each entry in the table represents a VCL for which + there is an active row in the atmVclTable having an + atmVclConnKind value of `pvc' and atmVclOperStatus + to have changed in the last PVC notification interval."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf atmPVclStatusTransition { + type yang:counter32; + description + "The number of state transitions that has happened + on this PVCL in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.2.1.1"; + } + + leaf atmPVclStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which this PVCL changed state for the + first time in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.2.1.2"; + } + + leaf atmPVclStatusChangeEnd { + type yang:timestamp; + description + "The time stamp of the last state change of this PVCL + in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.2.1.3"; + } + } + } + + container atmStatusChangePVclRangeTable { + description + "A table indicating more than one VCLs in a consecutive + range and for each VCL there is an active row in the + atmVclTable having an atmVclConnKind value of `pvc' + and atmVclOperStatus to have changed in the same + direction in the last PVC notification interval."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3"; + + list atmStatusChangePVclRangeEntry { + key "ifIndex atmVclVpi rangeIndex"; + description + "Each entry in this table represents a range of VCLs and + for each VCL there is an active row in the atmVclTable having + an atmVclConnKind value of 'pvc' and atmVclOperStatus to have + changed in the same direction in the last notification + interval."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf rangeIndex { + type yang:counter32; + description + "Index to represent different ranges, the first range is + indexed by value 0, the second by 1 and so on..."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.4"; + } + + leaf atmPVclLowerRangeValue { + type int32 { + range "0..65536"; + } + description + "The first PVCL in a range of PVcls for which the + atmVclOperStatus to have changed in the last + notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3.1.1"; + } + + leaf atmPVclHigherRangeValue { + type int32 { + range "0..65536"; + } + description + "The last PVCL in a range of PVcls for which the + atmOperStatus to have changed in the last + notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3.1.2"; + } + + leaf atmPVclRangeStatusChangeStart { + type yang:timestamp; + description + "The time stamp at which the first PVCL in the range + changed state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3.1.3"; + } + + leaf atmPVclRangeStatusChangeEnd { + type yang:timestamp; + description + "The time stamp at which the last PVCL in the range + changed state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.3.1.4"; + } + } + } + } + + smiv2:alias "atmInterfaceExt2Table" { + description + "This table contains ATM interface monitoring + information not defined in the + atmInterfaceConfTable from the ATM-MIB and + atmInterfaceExtTable CISCO-IETF-ATM2-PVCTRAP-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1"; + } + + smiv2:alias "atmInterfaceExt2Entry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1.1"; + + leaf atmIntfCurrentlyDownToUpPVcls { + type yang:gauge32; + description + "The current number PVCLs on this interface which + changed state to 'up' since the last + atmIntPvcUpTrap was sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1.1.1"; + } + + leaf atmIntfOAMFailedPVcls { + type yang:gauge32; + description + "The total number of PVCLs in this interface which + are currently in the oam loopback failed condition but + the status of each PVCL remain in the 'up' state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1.1.2"; + } + + leaf atmIntfCurrentlyOAMFailingPVcls { + type yang:gauge32; + description + "The current number of PVCLs on this interface for which the + oam loop back has failed but the status of each PVCL remain + in the 'up' state in the last notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.31.1.1.1.3"; + } + } + + notification atmIntfPvcUpTrap { + description + "A notification indicating that one or more + PVCLs on this interface has changed state back to 'up' + since the last atmIntfPvcUpTrap was sent. If the trap + has not been sent for the last notification interval + it will be sent when a PVCL changes state back to 'up'."; + smiv2:oid "1.3.6.1.4.1.9.10.31.2.1.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfCurrentlyDownToUpPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN:atmIntfCurrentlyDownToUpPVcls"; + } + } + } + } + + notification atmIntfPvcOAMFailureTrap { + description + "A notification indicating that one or more + PVCLs on this interface has OAM loop back failed + since the last atmIntfPvcOAMFailuresTrap was sent. + If this trap has not been sent for the last + atmIntfPvcNotificationInterval, then it will be + sent on the next increment of atmIntfPvcOAMFailures."; + smiv2:oid "1.3.6.1.4.1.9.10.31.2.1.0.2"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfOAMFailedPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN:atmIntfOAMFailedPVcls"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfCurrentlyOAMFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN:atmIntfCurrentlyOAMFailingPVcls"; + } + } + } + } + + smiv2:alias "ciscoIetfAtm2PvctrapMIBExtn" { + smiv2:oid "1.3.6.1.4.1.9.10.31"; + } + + smiv2:alias "atm2MIBObjectsExtn" { + smiv2:oid "1.3.6.1.4.1.9.10.31.1"; + } + + smiv2:alias "atm2MIBTrapsExtn" { + smiv2:oid "1.3.6.1.4.1.9.10.31.2"; + } + + smiv2:alias "atmPvcTrapsExtn" { + smiv2:oid "1.3.6.1.4.1.9.10.31.2.1"; + } + + smiv2:alias "atmPvcTrapsPrefixExtn" { + smiv2:oid "1.3.6.1.4.1.9.10.31.2.1.0"; + } + + smiv2:alias "pvctrapMIBExtnConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.31.3"; + } + + smiv2:alias "pvctrapMIBExtnConformanceCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.31.3.1"; + } + + smiv2:alias "pvctrapMIBExtnConformanceGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.31.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB.yang new file mode 100644 index 000000000..662d17107 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ATM2-PVCTRAP-MIB.yang @@ -0,0 +1,279 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-ATM2-PVCTRAP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-ATM2-PVCTRAP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-ATM2-PVCTRAP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB"; + prefix CISCO-IETF-ATM2-PVCTRAP-MIB; + + import ATM-MIB { + prefix "atm-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-atm@cisco.com"; + + description + "This MIB Module is a supplement to the + ATM-MIB."; + + revision 1998-02-03 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container CISCO-IETF-ATM2-PVCTRAP-MIB { + config false; + + container atmCurrentlyFailingPVclTable { + description + "A table indicating all VCLs for which there is an + active row in the atmVclTable having an atmVclConnKind + value of `pvc' and an atmVclOperStatus with a value + other than `up'."; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.21"; + + list atmCurrentlyFailingPVclEntry { + key "ifIndex atmVclVpi atmVclVci"; + description + "Each entry in this table represents a VCL for which + the atmVclRowStatus is `active', the atmVclConnKind is + `pvc', and the atmVclOperStatus is other than `up'."; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.21.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmVclVpi { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVpi"; + } + } + + leaf atmVclVci { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmVclTable/atm-mib:atmVclEntry/atm-mib:atmVclVci"; + } + } + + leaf atmCurrentlyFailingPVclTimeStamp { + type yang:timestamp; + description + "The time at which this PVCL began to fail."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.21.1.1"; + } + + leaf atmPreviouslyFailedPVclTimeStamp { + type yang:timestamp; + description + "The time at which this PVCL began to fail + during the PVC Notification interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.21.1.2"; + } + } + } + } + + smiv2:alias "atmInterfaceExtTable" { + description + "This table contains ATM interface monitoring + information not defined in the + atmInterfaceConfTable from the ATM-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14"; + } + + smiv2:alias "atmInterfaceExtEntry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1"; + } + + augment "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry" { + description + "An entry extends the atmInterfaceConfEntry + defined in ATM MIB. Each entry corresponds + to an ATM interface."; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1"; + + leaf atmIntfPvcFailures { + type yang:counter32; + description + "The number of times the operational status of a PVCL + on this interface has gone down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1.20"; + } + + leaf atmIntfCurrentlyFailingPVcls { + type yang:gauge32; + description + "The current number of VCLs on this interface for which + there is an active row in the atmVclTable having an + atmVclConnKind value of `pvc' and an atmVclOperStatus + with a value other than `up'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1.22"; + } + + leaf atmIntfPvcFailuresTrapEnable { + type boolean; + description + "Allows the generation of traps in response to PVCL + failures on this interface."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1.23"; + } + + leaf atmIntfPvcNotificationInterval { + type int32 { + range "1..3600"; + } + units "seconds"; + description + "The minimum interval between the sending of + cIntfPvcFailuresTrap notifications for this + interface."; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1.24"; + } + + leaf atmPreviouslyFailedPVclInterval { + type int32 { + range "0..3600"; + } + units "seconds"; + description + "The interval for storing the failed + time in atmPreviouslyFailedPVclTimeStamp"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.29.1.14.1.25"; + } + } + + notification atmIntfPvcFailuresTrap { + description + "A notification indicating that one or more + PVCLs on this interface has failed since the last + cIntfPvcFailuresTrap was sent. If this trap has not been + sent for the last cIntfPvcNotificationInterval, then + it will be sent on the next increment of + cIntfPvcFailures."; + smiv2:oid "1.3.6.1.4.1.9.10.29.2.1.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfPvcFailures { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-IETF-ATM2-PVCTRAP-MIB:atmIntfPvcFailures"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf atmIntfCurrentlyFailingPVcls { + type leafref { + path "/atm-mib:ATM-MIB/atm-mib:atmInterfaceConfTable/atm-mib:atmInterfaceConfEntry/CISCO-IETF-ATM2-PVCTRAP-MIB:atmIntfCurrentlyFailingPVcls"; + } + } + } + } + + smiv2:alias "ciscoIetfAtm2PvctrapMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.29"; + } + + smiv2:alias "atm2MIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.29.1"; + } + + smiv2:alias "atm2MIBTraps" { + smiv2:oid "1.3.6.1.4.1.9.10.29.2"; + } + + smiv2:alias "atmPvcTraps" { + smiv2:oid "1.3.6.1.4.1.9.10.29.2.1"; + } + + smiv2:alias "atmPvcTrapsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.29.2.1.0"; + } + + smiv2:alias "atm2MIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.29.3"; + } + + smiv2:alias "atm2MIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.29.3.1"; + } + + smiv2:alias "atm2MIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.29.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-BFD-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-BFD-MIB.yang new file mode 100644 index 000000000..8b015cbfd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-BFD-MIB.yang @@ -0,0 +1,968 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-BFD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-BFD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-BFD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB"; + prefix CISCO-IETF-BFD-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF"; + + contact + "Zafar Ali + Cisco Systems, Inc. + Email: zali@cisco.com + + A S Kiran Koushik + Cisco Systems, Inc. + Email: kkoushik@cisco.com + + Nobo Akiya + Cisco Systems, G.K. + Email: nobo@cisco.com"; + + description + "This document contains the Management information base for + Bidirectional Forwarding Detection(BFD) Protocol as defined + in draft-ietf-bfd-base-06.txt. + + BFD is a protocol intended to detect faults in the + bidirectional path between two forwarding engines, including + interfaces, data link(s), and to the extent possible the forwarding + engines themselves, with potentially very low latency. It operates + independently of media, data protocols, and routing protocols. + + This MIB module is based on the Internet Draft + draft-ietf-bfd-mib-03.txt and draft-ietf-bfd-mib-04.txt"; + + revision 2011-04-16 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2011-03-14 { + description + "Modify value for 'ciscoBfdSessRemoteDiscr' and + 'CiscoBfdInterval' to allow value 0 to conform to latest draft, + draft-ietf-bfd-mib-10.txt."; + } + + revision 2010-02-18 { + description + "Modify value for ciscoBfdDiag textual convention to conform to + latest draft-ietf-bfd-mib-07.txt"; + } + + revision 2008-04-24 { + description + "Revised version includes support for draft-ietf-bfd-mib-03.txt + and draft-ietf-bfd-mib-04.txt. In addition to small description + changes made throughout this MIB, following changes are made: + * ciscoBfdObjects.ciscoBfdSessTable.ciscoBfdSessEntry + - ciscoBfdSessState : failing state added + - ciscoBfdSessVersionNumber : new object added + - ciscoBfdSessType : new object added + - ciscoBfdSessInterface : new object added + * ciscoBfdObjects + - ciscoBfdSessDiscMapTable : new table added + - ciscoBfdSessIpMapTable : new table added + * ciscoBfdComformance + - ciscoBfdSessGroup : object group deprecated + - ciscoBfdSess03Group : new object group added + - ciscoBfdSess04Group : new object group added + - ciscoBfdSess0304Group : new object group added + * ciscoBfdCompliances + - ciscoBfdModuleFullCompliance : module compliance deprecated + - ciscoBfdModuleFullComplianceRev2 : new module compliance added"; + } + + revision 2007-06-04 { + description + "Initial version based on draft-ietf-bfd-mib-03.txt"; + } + + typedef CiscoBfdSessIndexTC { + type uint32 { + range "1..4294967295"; + } + description + "An index used to uniquely identify BFD sessions."; + smiv2:display-hint "d"; + } + + typedef CiscoBfdInterval { + type uint32 { + range "0..4294967295"; + } + description + "The BFD interval delay in microseconds."; + } + + typedef CiscoBfdDiag { + type enumeration { + enum "noDiagnostic" { + value "0"; + } + enum "controlDetectionTimeExpired" { + value "1"; + } + enum "echoFunctionFailed" { + value "2"; + } + enum "neighborSignaledSessionDown" { + value "3"; + } + enum "forwardingPlaneReset" { + value "4"; + } + enum "pathDown" { + value "5"; + } + enum "concatenatedPathDown" { + value "6"; + } + enum "administrativelyDown" { + value "7"; + } + enum "reverseConcatenatedPathDown" { + value "8"; + } + } + description + "A common BFD diagnostic code."; + } + + + container CISCO-IETF-BFD-MIB { + config false; + + container ciscoBfdScalarObjects { + smiv2:oid "1.3.6.1.4.1.9.10.137.1.1"; + + leaf ciscoBfdAdminStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "The global administrative status of BFD in this router. + The value 'enabled' denotes that the BFD Process is + active on at least one interface; 'disabled' disables + it on all interfaces."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.1.1"; + } + + leaf ciscoBfdVersionNumber { + type uint32; + description + "The current version number of the BFD protocol."; + reference + "BFD Version 0 (draft-katz-ward-bfd-02.txt)"; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.1.3"; + } + + leaf ciscoBfdSessNotificationsEnable { + type boolean; + description + "If this object is set to true(1), then it enables + the emission of ciscoBfdSessUp and ciscoBfdSessDown + notifications; otherwise these notifications are not + emitted."; + reference + "See also RFC3413 for explanation that + notifications are under the ultimate control of the + MIB modules in this document."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.1.4"; + } + } + + container ciscoBfdSessTable { + description + "The BFD Session Table describes the BFD sessions."; + reference + "BFD Version 0 (draft-katz-ward-ciscoBfd-02.txt)"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2"; + + list ciscoBfdSessEntry { + key "ciscoBfdSessIndex"; + description + "The BFD Session Entry describes BFD session."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1"; + + leaf ciscoBfdSessIndex { + type CISCO-IETF-BFD-MIB:CiscoBfdSessIndexTC; + description + "This object contains an index used to represent a + unique BFD session on this device."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.1"; + } + + leaf ciscoBfdSessApplicationId { + type uint32; + description + "This object contains an index used to indicate + a local application which owns or maintains this + BFD session. For instance, the MPLS VPN process may + maintain a subset of the total number of BFD + sessions. This application ID provides a convenient + way to segregate sessions by the applications which + maintain them."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.2"; + } + + leaf ciscoBfdSessDiscriminator { + type uint32 { + range "1..4294967295"; + } + description + "This object specifies the local discriminator for this BFD + session, used to uniquely identify it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.3"; + } + + leaf ciscoBfdSessRemoteDiscr { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the session discriminator chosen + by the remote system for this BFD session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.4"; + } + + leaf ciscoBfdSessUdpPort { + type inet:port-number; + description + "The destination UDP Port for BFD. The default value is + the well-known value for this port. BFD State failing(5) + is only applicable if this BFD session is running + version 0"; + reference + "draft-katz-ward-bfd-02.txt and + draft-raggarwa-mpls-bfd-00.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.5"; + } + + leaf ciscoBfdSessState { + type enumeration { + enum "adminDown" { + value "1"; + } + enum "down" { + value "2"; + } + enum "init" { + value "3"; + } + enum "up" { + value "4"; + } + enum "failing" { + value "5"; + } + } + description + "The perceived state of the BFD session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.6"; + } + + leaf ciscoBfdSessRemoteHeardFlag { + type boolean; + description + "This object specifies status of BFD packet reception from + the remote system. Specifically, it is set to true(1) if + the local system is actively receiving BFD packets from the + remote system, and is set to false(0) if the local system + has not received BFD packets recently (within the detection + time) or if the local system is attempting to tear down + the BFD session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.7"; + } + + leaf ciscoBfdSessDiag { + type CISCO-IETF-BFD-MIB:CiscoBfdDiag; + description + "A diagnostic code specifying the local system's reason + for the last transition of the session from up(1) + to some other state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.8"; + } + + leaf ciscoBfdSessOperMode { + type enumeration { + enum "asyncModeWEchoFun" { + value "1"; + } + enum "asynchModeWOEchoFun" { + value "2"; + } + enum "demandModeWEchoFunction" { + value "3"; + } + enum "demandModeWOEchoFunction" { + value "4"; + } + } + description + "This object specifies current operating mode that BFD + session is operating in."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.9"; + } + + leaf ciscoBfdSessDemandModeDesiredFlag { + type boolean; + description + "This object indicates that the local system's + desire to use Demand mode. Specifically, it is set + to true(1) if the local system wishes to use + Demand mode or false(0) if not"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.10"; + } + + leaf ciscoBfdSessEchoFuncModeDesiredFlag { + type boolean; + description + "This object indicates that the local system's + desire to use Echo mode. Specifically, it is set + to true(1) if the local system wishes to use + Echo mode or false(0) if not"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.11"; + } + + leaf ciscoBfdSessControlPlanIndepFlag { + type boolean; + description + "This object indicates that the local system's + ability to continue to function through a disruption of + the control plane. Specifically, it is set + to true(1) if the local system BFD implementation is + independent of the control plane. Otherwise, the + value is set to false(0)"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.12"; + } + + leaf ciscoBfdSessAddrType { + type inet-address:InetAddressType; + description + "This object specifies IP address type of the neighboring IP + address which is being monitored with this BFD session. + + Only values unknown(0), ipv4(1) or ipv6(2) + have to be supported. + + A value of unknown(0) is allowed only when + the outgoing interface is of type point-to-point, or + when the BFD session is not associated with a specific + interface. + + If any other unsupported values are attempted in a set + operation, the agent MUST return an inconsistentValue + error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.13"; + } + + leaf ciscoBfdSessAddr { + type inet-address:InetAddress; + description + "This object specifies the neighboring IP address which is + being monitored with this BFD session. + It can also be used to enabled BFD on a specific + interface. The value is set to zero when BFD session is not + associated with a specific interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.14"; + } + + leaf ciscoBfdSessDesiredMinTxInterval { + type CISCO-IETF-BFD-MIB:CiscoBfdInterval; + description + "This object specifies the minimum interval, in + microseconds, that the local system would like to use when + transmitting BFD Control packets."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.15"; + } + + leaf ciscoBfdSessReqMinRxInterval { + type CISCO-IETF-BFD-MIB:CiscoBfdInterval; + description + "This object specifies the minimum interval, in + microseconds, between received BFD Control packets the + local system is capable of supporting."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.16"; + } + + leaf ciscoBfdSessReqMinEchoRxInterval { + type CISCO-IETF-BFD-MIB:CiscoBfdInterval; + description + "This object specifies the minimum interval, in + microseconds, between received BFD Echo packets that this + system is capable of supporting."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.17"; + } + + leaf ciscoBfdSessDetectMult { + type uint32; + description + "This object specifies the Detect time multiplier."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.18"; + } + + leaf ciscoBfdSessStorType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. Conceptual rows having the value + 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.19"; + } + + leaf ciscoBfdSessRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table has a row in the active(1) state, no + objects in this row can be modified except the + ciscoBfdSessRowStatus and ciscoBfdSessStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.20"; + } + + leaf ciscoBfdSessAuthPresFlag { + type boolean; + description + "This object indicates that the local system's + desire to use Authentication. Specifically, it is set + to true(1) if the local system wishes the session + to be authenticated or false(0) if not"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.21"; + } + + leaf ciscoBfdSessAuthenticationType { + type enumeration { + enum "simplePassword" { + value "1"; + } + enum "keyedMD5" { + value "2"; + } + enum "meticulousKeyedMD5" { + value "3"; + } + enum "keyedSHA1" { + value "4"; + } + enum "meticulousKeyedSHA1" { + value "5"; + } + } + description + "The Authentication Type used for this BFD session. This + field is valid only when the Authentication Present bit is set"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.22"; + } + + leaf ciscoBfdSessVersionNumber { + type uint32; + description + "The version number of the BFD protocol that this session is + running in."; + reference + "BFD Version 0 (draft-katz-ward-bfd-02.txt) and BFD Version + 1 (draft-ietf-bfd-base-07.txt)"; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.23"; + } + + leaf ciscoBfdSessType { + type enumeration { + enum "singleHop" { + value "1"; + } + enum "multiHop" { + value "2"; + } + } + description + "The type of this BFD session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.24"; + } + + leaf ciscoBfdSessInterface { + type if-mib:InterfaceIndex; + description + "This object contains an interface index used to indicate + the interface which this BFD session is running on."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.2.1.25"; + } + } + } + + container ciscoBfdSessMapTable { + description + "The BFD Session Mapping Table maps the complex + indexing of the BFD sessions to the flat + CiscoBfdSessIndexTC used in the ciscoBfdSessTable."; + reference + "BFD Version 0 (draft-katz-ward-bfd-02.txt)"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.4"; + + list ciscoBfdSessMapEntry { + key "ciscoBfdSessApplicationId ciscoBfdSessDiscriminator ciscoBfdSessAddrType ciscoBfdSessAddr"; + description + "The BFD Session Entry describes BFD session + that is mapped to this index."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.4.1"; + + leaf ciscoBfdSessApplicationId { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessApplicationId"; + } + } + + leaf ciscoBfdSessDiscriminator { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiscriminator"; + } + } + + leaf ciscoBfdSessAddrType { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessAddrType"; + } + } + + leaf ciscoBfdSessAddr { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessAddr"; + } + } + + leaf ciscoBfdSessMapBfdIndex { + type CISCO-IETF-BFD-MIB:CiscoBfdSessIndexTC; + description + "This object indicates the CiscoBfdSessIndexTC referred to + by the indices of this row. In essence, a mapping is + provided between these indices and the ciscoBfdSessTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.4.1.1"; + } + } + } + + container ciscoBfdSessDiscMapTable { + description + "The BFD Session Discriminator Mapping Table maps a + local discriminator value to associated BFD sessions' + CiscoBfdSessIndexTC used in the ciscoBfdSessTable."; + reference + "BFD Version 0 (draft-katz-ward-bfd-02.txt)"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.5"; + + list ciscoBfdSessDiscMapEntry { + key "ciscoBfdSessDiscriminator"; + description + "Each row contains a mapping between a local discriminator + value to an entry in ciscoBfdSessTable."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.5.1"; + + leaf ciscoBfdSessDiscriminator { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiscriminator"; + } + } + + leaf ciscoBfdSessDiscMapIndex { + type CISCO-IETF-BFD-MIB:CiscoBfdSessIndexTC; + description + "This object indicates the CiscoBfdSessIndexTC referred to by + the index of this row. In essence, a mapping is + provided between this index and the ciscoBfdSessTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.5.1.1"; + } + } + } + + container ciscoBfdSessIpMapTable { + description + "The BFD Session IP Mapping Table maps given + ciscoBfdSessInterface, ciscoBfdSessAddrType, and + ciscoBbfdSessAddr to an associated BFD sessions' + CiscoBfdSessIndexTC used in the ciscoBfdSessTable. + This table SHOULD contains those BFD sessions are + of IP type: singleHop(1) and multiHop(2)."; + reference + "BFD Version 0 (draft-katz-ward-bfd-02.txt)"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.6"; + + list ciscoBfdSessIpMapEntry { + key "ciscoBfdSessInterface ciscoBfdSessAddrType ciscoBfdSessAddr"; + description + "Each row contains a mapping between ciscoBfdSessInterface, + ciscoBfdSessAddrType and ciscoBfdSessAddr values to an + entry in ciscoBfdSessTable."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.6.1"; + + leaf ciscoBfdSessInterface { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessInterface"; + } + } + + leaf ciscoBfdSessAddrType { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessAddrType"; + } + } + + leaf ciscoBfdSessAddr { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessAddr"; + } + } + + leaf ciscoBfdSessIpMapIndex { + type CISCO-IETF-BFD-MIB:CiscoBfdSessIndexTC; + description + "This object indicates the CiscoBfdSessIndexTC referred to by + the indices of this row. In essence, a mapping is + provided between these indices and an entry in ciscoBfdSessTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.6.1.1"; + } + } + } + } + + smiv2:alias "ciscoBfdSessPerfTable" { + description + "This table specifies BFD Session performance counters."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3"; + } + + smiv2:alias "ciscoBfdSessPerfEntry" { + description + "An entry in this table is created by a BFD-enabled node for + every BFD Session. ciscoBfdCounterDiscontinuityTime is used to + indicate potential discontinuity for all counter objects + in this table."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1"; + } + + augment "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry" { + description + "An entry in this table is created by a BFD-enabled node for + every BFD Session. ciscoBfdCounterDiscontinuityTime is used to + indicate potential discontinuity for all counter objects + in this table."; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1"; + + leaf ciscoBfdSessPerfPktIn { + type yang:counter32; + description + "The total number of BFD messages received for this BFD + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.1"; + } + + leaf ciscoBfdSessPerfPktOut { + type yang:counter32; + description + "The total number of BFD messages sent for this BFD session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.2"; + } + + leaf ciscoBfdSessUpTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + the session came up. If no such up event exists this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.3"; + } + + leaf ciscoBfdSessPerfLastSessDownTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + the last time communication was lost with the neighbor. If + no such down event exist this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.4"; + } + + leaf ciscoBfdSessPerfLastCommLostDiag { + type CISCO-IETF-BFD-MIB:CiscoBfdDiag; + description + "The BFD diag code for the last time communication was lost + with the neighbor. If no such down event exists this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.5"; + } + + leaf ciscoBfdSessPerfSessUpCount { + type yang:counter32; + description + "The number of times this session has gone into the Up + state since the router last rebooted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.6"; + } + + leaf ciscoBfdSessPerfDiscTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of the session counters suffered + a discontinuity. + + The relevant counters are the specific instances associated + with this BFD session of any Counter32 object contained in + the ciscoBfdSessPerfTable. If no such discontinuities have occurred + since the last re-initialization of the local management + subsystem, then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.7"; + } + + leaf ciscoBfdSessPerfPktInHC { + type yang:counter64; + description + "This value represents the total number of BFD messages + received for this BFD session. It MUST be equal to the + least significant 32 bits of ciscoBfdSessPerfPktIn + if ciscoBfdSessPerfPktInHC is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.8"; + } + + leaf ciscoBfdSessPerfPktOutHC { + type yang:counter64; + description + "This value represents the total number of + total number of BFD messages transmitted for this + BFD session. It MUST be equal to the + least significant 32 bits of ciscoBfdSessPerfPktIn + if ciscoBfdSessPerfPktOutHC is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.137.1.3.1.9"; + } + } + + notification ciscoBfdSessUp { + description + "This notification is generated when the + ciscoBfdSessState object for one or more contiguous + entries in ciscoBfdSessTable are about to enter the up(4) + state from some other state. The included values of + ciscoBfdSessDiag MUST both be set equal to this + new state (i.e: up(4)). The two instances of + ciscoBfdSessDiag in this notification indicate the range + of indexes that are affected. Note that all the indexes + of the two ends of the range can be derived from the + instance identifiers of these two objects. For the + cases where a contiguous range of sessions + have transitioned into the up(4) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single ciscoBfdSessEntry, then + the instance identifier (and values) of the two + ciscoBfdSessDiag objects MUST be the identical."; + smiv2:oid "1.3.6.1.4.1.9.10.137.0.1"; + + container object-1 { + + leaf ciscoBfdSessIndex { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessIndex"; + } + } + + leaf ciscoBfdSessDiag { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiag"; + } + } + } + + container object-2 { + + leaf ciscoBfdSessIndex { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessIndex"; + } + } + + leaf ciscoBfdSessDiag { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiag"; + } + } + } + } + + notification ciscoBfdSessDown { + description + "This notification is generated when the + ciscoBfdSessState object for one or more contiguous + entries in ciscoBfdSessTable are about to enter the down(2) + or adminDown(1) states from some other state. The included + values of ciscoBfdSessDiag MUST both be set equal to this + new state (i.e: down(2) or adminDown(1)). The two instances + of ciscoBfdSessDiag in this notification indicate the range + of indexes that are affected. Note that all the indexes + of the two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of sessions + have transitioned into the down(2) or adminDown(1) states + at roughly the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single ciscoBfdSessEntry, then + the instance identifier (and values) of the two + ciscoBfdSessDiag objects MUST be the identical."; + smiv2:oid "1.3.6.1.4.1.9.10.137.0.2"; + + container object-1 { + + leaf ciscoBfdSessIndex { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessIndex"; + } + } + + leaf ciscoBfdSessDiag { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiag"; + } + } + } + + container object-2 { + + leaf ciscoBfdSessIndex { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessIndex"; + } + } + + leaf ciscoBfdSessDiag { + type leafref { + path "/CISCO-IETF-BFD-MIB:CISCO-IETF-BFD-MIB/CISCO-IETF-BFD-MIB:ciscoBfdSessTable/CISCO-IETF-BFD-MIB:ciscoBfdSessEntry/CISCO-IETF-BFD-MIB:ciscoBfdSessDiag"; + } + } + } + } + + smiv2:alias "ciscoIetfBfdMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.137"; + } + + smiv2:alias "ciscoBfdNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.137.0"; + } + + smiv2:alias "ciscoBfdObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.137.1"; + } + + smiv2:alias "ciscoBfdScalarObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.137.1.1"; + } + + smiv2:alias "ciscoBfdConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.137.3"; + } + + smiv2:alias "ciscoBfdGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.137.3.1"; + } + + smiv2:alias "ciscoBfdCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.137.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-FRR-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-FRR-MIB.yang new file mode 100644 index 000000000..5970c0592 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-FRR-MIB.yang @@ -0,0 +1,954 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-FRR-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-FRR-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-FRR-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB"; + prefix CISCO-IETF-FRR-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " + Adrien Grise + Postal: 300 Apollo Drive + Cisco Systems, Inc. + Chelmsford, MA 01824 + Tel: +1-978-497-3989 + Email: agrise@cisco.com + + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01924 + Tel: +1-978-244-3051 + Email: tnadeau@cisco.com + + MPLS MIB Development Team + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01924 + Tel: +1-978-497-3989 + Email: ch-mpls-mib-dev@cisco.com"; + + description + "This MIB module contains managed object definitions for MPLS + Fast Reroute (FRR) as defined in:Pan, P., Gan, D., Swallow, G., + Vasseur, J.Ph., Cooper, D., Atlas, A., Jork, M., Fast Reroute + Techniques in RSVP-TE, draft-ietf-mpls-rsvp-lsp-fastreroute- + 00.txt, January 2002."; + + revision 2008-04-29 { + description + "Added support for cmplsFrrUnProtected notification. It is + defined in version 2 of the ietf draft. The notification's + variable bindings have been modified from the draft form to + match the previous approved Cisco-ized draft form as defined + for the cmplsFrrProtected notification."; + } + + revision 2002-11-05 { + description + "Cisco'ized the MPLS-FRR-MIB.my file"; + } + + revision 2002-11-01 { + description + "Added support for Facility-based FRR. + + Removed tables that were redundant with + other MPLS MIBs. + + Assigned experimental.120."; + } + + revision 2002-03-22 { + description + "Initial draft version."; + } + + typedef MplsFrrDetourIndex { + type int32 { + range "1..65535"; + } + description + "Index into mplsFrrDetourTable."; + } + + + container CISCO-IETF-FRR-MIB { + config false; + + container cmplsFrrScalars { + smiv2:oid "1.3.6.1.4.1.9.10.98.1"; + + leaf cmplsFrrDetourIncoming { + type uint32; + description + "The number of detour LSPs entering the device if + mplsFrrConstProtectionMethod is set to oneToOneBackup(0), or + or 0 if mplsFrrConstProtectionMethod is set to + facilityBackup(1)."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.1"; + } + + leaf cmplsFrrDetourOutgoing { + type uint32; + description + "The number of detour LSPs leaving the device if + mplsFrrConstProtectionMethod is set to oneToOneBackup(0), + or 0 if mplsFrrConstProtectionMethod is set to + to facilityBackup(1)."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.2"; + } + + leaf cmplsFrrDetourOriginating { + type uint32; + description + "The number of detour LSPs originating at this PLR if + mplsFrrConstProtectionMethod is set to oneToOneBackup(0). + This object MUST return 0 if the mplsFrrConstProtectionMethod + is set to facilityBackup(1)."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.3"; + } + + leaf cmplsFrrSwitchover { + type uint32; + description + "The number of tunnel instances that are switched over to their + corresponding detour LSP if mplsFrrConstProtectionMethod is set + to oneToOneBackup(0), or tunnels being switched over if + mplsFrrConstProtectionMethod is set to facilityBackup(1)."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.4"; + } + + leaf cmplsFrrNumOfConfIfs { + type uint32; + description + "Indicates the number of MPLS interfaces configured for + protection by the FRR feature, otherwise this value + MUST return 0 to indicate that LSPs traversing any + interface may be protected."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.5"; + } + + leaf cmplsFrrActProtectedIfs { + type uint32; + description + "Indicates the number of interfaces currently being protected + by the FRR feature if mplsFrrConstProtectionMethod is set to + facilityBackup(1), otherwise this value should return 0 to + indicate that LSPs traversing any interface may be protected. + This value MUST be less than or equal to mplsFrrConfIfs."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.6"; + } + + leaf cmplsFrrConfProtectingTuns { + type uint32; + description + "Indicates the number of bypass tunnels configured to + protect facilities on this LSR using the FRR feature + if mplsFrrConstProtectionMethod is set to + facilityBackup(1), otherwise this value MUST return + 0."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.7"; + } + + leaf cmplsFrrActProtectedTuns { + type uint32; + description + "Indicates the number of bypass tunnels indicated in + mplsFrrConfProtectingTuns whose operStatus + is up(1) indicating that they are currently protecting + facilities on this LSR using the FRR feature. This + object MUST return 0 if mplsFrrConstProtectionMethod + is set to facilityBackup(1)."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.8"; + } + + leaf cmplsFrrActProtectedLSPs { + type uint32; + description + "Indicates the number of LSPs currently protected by + the FRR feature. If mplsFrrConstProtectionMethod is set + to facilityBackup(1)this object MUST return 0."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.9"; + } + + leaf cmplsFrrConstProtectionMethod { + type enumeration { + enum "oneToOneBackup" { + value "0"; + } + enum "facilityBackup" { + value "1"; + } + } + description + "Indicates which protection method is to be used for fast + reroute. Some devices may require a reboot of their routing + processors if this variable is changed. An agent which + does not wish to reboot or modify its FRR mode + MUST return an inconsistentValue error. Please + consult the device's agent capability statement + for more details."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.10"; + } + + leaf cmplsFrrNotifsEnabled { + type boolean; + description + "Enables or disables FRR notifications defined in this MIB + module. Notifications are disabled by default."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.11"; + } + + leaf cmplsFrrLogTableMaxEntries { + type uint32; + description + "Indicates the maximum number of entries allowed in the FRR + Log table. Agents receiving SETs for values that cannot be + used must return an inconsistent value error. If a manager + sets this value to 0, this indicates that no logging should + take place by the agent. + + If this value is returned as 0, this indicates + that no additional log entries will be added to the current + table either because the table has been completely + filled or logging has been disabled. However, agents + may wish to not delete existing entries in the log table + so that managers may review them in the future. + + It is implied that when mplsFrrLogTableCurrEntries + has reached the value of this variable, that logging + entries may not continue to be added to the table, + although existing ones may remain. Furthermore, an + agent may begin to delete existing (perhaps the + oldest entries) entries to make room for new ones."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.12"; + } + + leaf cmplsFrrLogTableCurrEntries { + type yang:counter32; + description + "Indicates the current number of entries in the FRR log + table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.13"; + } + + leaf cmplsFrrNotifMaxRate { + type uint32; + description + "This variable indicates the number of milliseconds + that must elapse between notification emissions. If + events occur more rapidly, the implementation may + simply fail to emit these notifications during that + period, or may queue them until an appropriate + time in the future. A value of 0 means no minimum + elapsed period is specified."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.1.14"; + } + } + + container cmplsFrrConstTable { + description + "This table shows detour setup constraints."; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1"; + + list cmplsFrrConstEntry { + key "cmplsFrrConstIfIndex cmplsFrrConstTunnelIndex cmplsFrrConstTunnelInstance"; + description + "An entry in this table represents detour LSP or bypass tunnel + setup constraints for a tunnel instance to be protected by + detour LSPs or a tunnel. Agents must allow entries in this table + to be created only for tunnel instances that require fast-reroute. + Entries indexed with mplsFrrConstIfIndex set to 0 apply to all + interfaces on this device for which the FRR feature can operate + on."; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1"; + + leaf cmplsFrrConstIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "Uniquely identifies an interface for which fast reroute is + configured. Tabular entries indexed with a 0 value apply to all + interfaces on this device for which the FRR feature can operate + on."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.1"; + } + + leaf cmplsFrrConstTunnelIndex { + type mpls-tc:MplsTunnelIndex; + description + "Uniquely identifies a tunnel for which fast reroute is + requested."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.2"; + } + + leaf cmplsFrrConstTunnelInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Uniquely identifies an instance of this tunnel for which fast + reroute is requested."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.3"; + } + + leaf cmplsFrrConstSetupPrio { + type uint32 { + range "0..7"; + } + description + "Indicates the setup priority of detour LSP."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, + RFC 3209, December 2001"; + smiv2:defval "7"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.4"; + } + + leaf cmplsFrrConstHoldingPrio { + type uint32 { + range "0..7"; + } + description + "Indicates the holding priority for detour LSP."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, + RFC 3209, December 2001"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.5"; + } + + leaf cmplsFrrConstInclAnyAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the include-any constraint if and only if the + constraint is zero, or the link and the constraint have a + resource class in common."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, + RFC 3209, December 2001."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.6"; + } + + leaf cmplsFrrConstInclAllAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the include-all constraint if and only if the + link contains all of the administrative groups specified in the + constraint."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, + RFC 3209, December 2001."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.7"; + } + + leaf cmplsFrrConstExclAllAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the exclude-all constraint if and only if the + link contains none of the administrative groups specified in the + constraint."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, Awduche et al, + RFC 3209, December 2001."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.8"; + } + + leaf cmplsFrrConstHopLimit { + type uint32 { + range "1..65535"; + } + description + "The maximum number of hops that the detour LSP may traverse."; + reference + "Pan, P., Gan, D., Swallow, G., Vasseur, J.Ph., Cooper, D., + Atlas, A., Jork, M., Fast Reroute Techniques in RSVP-TE, draft- + ietf-mpls-rsvp-lsp-fastreroute-00.txt, January 2002. Work in + progress."; + smiv2:defval "32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.9"; + } + + leaf cmplsFrrConstBandwidth { + type mpls-tc:MplsBitRate; + description + "This variable represents the bandwidth for detour LSPs of this + tunnel, in units of thousands of bits per second (Kbps)."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.10"; + } + + leaf cmplsFrrConstRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create, modify, and/or delete a row in + this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.11"; + } + + leaf cmplsFrrConstNumProtectingTunOnIf { + type yang:gauge32; + description + "The number of backup tunnels protecting the specified + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.12"; + } + + leaf cmplsFrrConstNumProtectedTunOnIf { + type yang:gauge32; + description + "The number of tunnels protected on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.1.1.13"; + } + } + } + + container cmplsFrrLogTable { + description + "The fast reroute log table records fast reroute events such + as protected links going up or down or the FRR feature + kicking in."; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2"; + + list cmplsFrrLogEntry { + key "cmplsFrrLogIndex"; + description + "An entry in this table is created to describe one fast + reroute event. Entries in this table are only created and + destroyed by the agent implementation. The maximum number + of entries in this log is governed by the scalar."; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1"; + + leaf cmplsFrrLogIndex { + type uint32; + description + "Uniquely identifies a fast reroute event entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.1"; + } + + leaf cmplsFrrLogEventTime { + type yang:timestamp; + description + "This object provides the amount of time ticks since this + event occured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.2"; + } + + leaf cmplsFrrLogInterface { + type if-mib:InterfaceIndexOrZero; + description + "This object indicates which interface was affected by this + FRR event. This value may be set to 0 if + mplsFrrConstProtectionMethod is set to oneToOneBackup(0)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.3"; + } + + leaf cmplsFrrLogEventType { + type enumeration { + enum "other" { + value "1"; + } + enum "protected" { + value "2"; + } + } + description + "This object describes what type of fast reroute event + occured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.4"; + } + + leaf cmplsFrrLogEventDuration { + type yang:timeticks; + description + "This object describes the duration of this event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.5"; + } + + leaf cmplsFrrLogEventReasonString { + type binary { + length "128"; + } + description + "This object contains an implementation-specific explanation + of the event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1.2.1.6"; + } + } + } + + container cmplsFrrFacRouteDBTable { + description + "The mplsFrrFacRouteDBTable provides information about the + fast reroute database. Each entry belongs to an interface, + protecting backup tunnel and protected tunnel. MPLS + interfaces defined on this node are protected by backup + tunnels and are indexed by mplsFrrFacRouteProtectedIndex. + Backup tunnels defined to protect the tunnels traversing an + interface, and are indexed by + mplsFrrFacRouteProtectingTunIndex. Note that the tunnel + instance index is not required, since it is implied to be 0, + which indicates the tunnel head interface for the protecting + tunnel. The protecting tunnel is defined to exist on the PLR + in the FRR specification. Protected tunnels are the LSPs that + traverse the protected link. These LSPs are uniquely + identified by mplsFrrFacRouteProtectedTunIndex, + mplsFrrFacRouteProtectedTunInstance, + mplsFrrFacRouteProtectedTunIngressLSRId, and + mplsFrrFacRouteProtectedTunEgressLSRId."; + reference + "Srinivansan, C., and A. Viswanathan, T. Nadeau, MPLS Traffic + Engineering Management Information Base Using SMIv2, + draft-ietf-mpls-te-mib-06.txt "; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1"; + + list cmplsFrrFacRouteDBEntry { + key "cmplsFrrFacRouteProtectedIfIndex cmplsFrrFacRouteProtectingTunIndex cmplsFrrFacRouteProtectedTunIndex cmplsFrrFacRouteProtectedTunInstance cmplsFrrFacRouteProtectedTunIngressLSRId cmplsFrrFacRouteProtectedTunEgressLSRId"; + description + "An entry in the mplsFrrDBTable represents a single protected + LSP, protected by a backup tunnel and defined for a specific + protected interface. Note that for brevity, managers should + consult the mplsTunnelTable present in the MPLS-TE MIB for + additional information about the protecting and protected + tunnels, and the ifEntry in the IF-MIB for the protected + interface."; + reference + "Srinivansan, C., and A. Viswanathan, T. Nadeau, MPLS Label + Switch Router Management Information Base Using SMIv2, + draft-ietf-mpls-lsr-mib-07.txt Srinivansan, C., and A. + Viswanathan, T. Nadeau, MPLS Traffic Engineering Management + Information Base Using SMIv2, draft-ietf-mpls-te-mib- + 06.txt."; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1"; + + leaf cmplsFrrFacRouteProtectedIfIndex { + type if-mib:InterfaceIndex; + description + "Uniquely identifies the interface configured for FRR protection."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.1"; + } + + leaf cmplsFrrFacRouteProtectingTunIndex { + type mpls-tc:MplsTunnelIndex; + description + "Uniquely identifies the mplsTunnelEntry primary index for + the tunnel head interface designated to protect the + interface as specified in the mplsFrrFacRouteIfProtectedIndex + (and all of the tunnels using this interface)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.2"; + } + + leaf cmplsFrrFacRouteProtectedTunIndex { + type mpls-tc:MplsTunnelIndex; + description + "Uniquely identifies an mplsTunnelEntry that is + being protected by FRR."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.3"; + } + + leaf cmplsFrrFacRouteProtectedTunInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Uniquely identifies an mplsTunnelEntry that is + being protected by FRR."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.4"; + } + + leaf cmplsFrrFacRouteProtectedTunIngressLSRId { + type mpls-tc:MplsLsrIdentifier; + description + "Uniquely identifies an mplsTunnelEntry that is + being protected by FRR."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.5"; + } + + leaf cmplsFrrFacRouteProtectedTunEgressLSRId { + type mpls-tc:MplsLsrIdentifier; + description + "Uniquely identifies an mplsTunnelEntry that is + being protected by FRR."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.6"; + } + + leaf cmplsFrrFacRouteProtectedTunStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "ready" { + value "2"; + } + enum "partial" { + value "3"; + } + } + description + "Specifies the state of the protected tunnel. + + active This tunnel's label has been placed in the + LFIB and is ready to be applied to incoming + packets. + + ready - This tunnel's label entry has been created but is + not yet in the LFIB. + + partial - This tunnel's label entry as not been fully + created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.7"; + } + + leaf cmplsFrrFacRouteProtectingTunResvBw { + type mpls-tc:MplsBitRate; + description + "Specifies the amount of bandwidth in megabytes per second + that is actually reserved by the backup tunnel for + facility backup. This value is repeated here from the MPLS- + TE MIB because the tunnel entry will reveal the bandwidth + reserved by the signaling protocol, which is typically 0 + for backup tunnels so as to not over-book bandwidth. + However, internal reservations are typically made on the + PLR, thus this value should be revealed here."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.8"; + } + + leaf cmplsFrrFacRouteProtectingTunProtectionType { + type enumeration { + enum "linkProtection" { + value "0"; + } + enum "nodeProtection" { + value "1"; + } + } + description + "Indicates type of the resource protection."; + smiv2:defval "nodeProtection"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3.1.1.9"; + } + } + } + } + + notification cmplsFrrProtected { + description + "This notification is generated when a tunnel running over an + interface as specified in the mplsFrrConstTable is initially + protected by the backup tunnel also specified in the + cmplsFrrConstTable. This notification should not be generated + for each subsequent tunnel that is backed up by the FRR feature + on this LSR, as this may result in potential scaling issues + with regard to LSR performance and network loading. Note also + that notifications MUST be generated in accordance with the + cmplsFrrNotifMaxRate."; + smiv2:oid "1.3.6.1.4.1.9.10.98.0.1"; + + container object-1 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstNumProtectingTunOnIf { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstNumProtectingTunOnIf"; + } + } + } + + container object-2 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstNumProtectedTunOnIf { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstNumProtectedTunOnIf"; + } + } + } + + container object-3 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstBandwidth { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstBandwidth"; + } + } + } + } + + notification cmplsFrrUnProtected { + description + "This notification is generated when the final tunnel that is + being protected by a backup tunnel as specified in the + cmplsFrrConstTable is restored to normal operation. This + notification should not be generated for each restored tunnel, + as this may result in potential scaling issues with regard to + LSR performance and network loading. Note also that + notifications MUST be generated in accordance with the + cmplsFrrNotifMaxRate."; + smiv2:oid "1.3.6.1.4.1.9.10.98.0.2"; + + container object-1 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstNumProtectingTunOnIf { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstNumProtectingTunOnIf"; + } + } + } + + container object-2 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstNumProtectedTunOnIf { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstNumProtectedTunOnIf"; + } + } + } + + container object-3 { + + leaf cmplsFrrConstIfIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstIfIndex"; + } + } + + leaf cmplsFrrConstTunnelIndex { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelIndex"; + } + } + + leaf cmplsFrrConstTunnelInstance { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstTunnelInstance"; + } + } + + leaf cmplsFrrConstBandwidth { + type leafref { + path "/CISCO-IETF-FRR-MIB:CISCO-IETF-FRR-MIB/CISCO-IETF-FRR-MIB:cmplsFrrConstTable/CISCO-IETF-FRR-MIB:cmplsFrrConstEntry/CISCO-IETF-FRR-MIB:cmplsFrrConstBandwidth"; + } + } + } + } + + smiv2:alias "cmplsFrrMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.98"; + } + + smiv2:alias "cmplsFrrNotif" { + smiv2:oid "1.3.6.1.4.1.9.10.98.0"; + } + + smiv2:alias "cmplsFrrScalars" { + smiv2:oid "1.3.6.1.4.1.9.10.98.1"; + } + + smiv2:alias "cmplsFrrObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.98.2"; + } + + smiv2:alias "cmplsFrrGeneralObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.98.2.1"; + } + + smiv2:alias "cmplsFrr1to1Objects" { + smiv2:oid "1.3.6.1.4.1.9.10.98.2.2"; + } + + smiv2:alias "cmplsFrrFacObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.98.2.3"; + } + + smiv2:alias "cmplsFrrConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.98.3"; + } + + smiv2:alias "cmplsFrrGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.98.3.1"; + } + + smiv2:alias "cmplsFrrCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.98.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ISIS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ISIS-MIB.yang new file mode 100644 index 000000000..7efd50369 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-ISIS-MIB.yang @@ -0,0 +1,3954 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-IETF-ISIS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-ISIS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-ISIS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB"; + prefix CISCO-IETF-ISIS-MIB; + + import DIFFSERV-MIB { + prefix "diffserv-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-clns@cisco.com"; + + description + "This document describes a management information base for + the IS-IS Routing protocol, as described in ISO 10589, + when it is used to construct routing tables for IP networks, + as described in RFC 1195. This MIB is entirely based upon + the IETF draft draft-ietf-isis-wg-mib-16."; + + revision 2005-08-16 { + description + "Corrected DESCRIPTION clause for ciiAreaAddrTable, + ciiAreaAddrEntry, ciiAreaAddr and for + ciiSysLevelOverloadState based on similar + definitions in draft-ietf-isis-wg-mib-18.txt."; + } + + revision 2005-02-08 { + description + "Initial version."; + } + + typedef CiiOSINSAddress { + type binary { + length "0..20"; + } + description + "OSI Network Service Address, e.g. NSAP, SNPA, or Network + Entity Title"; + } + + typedef CiiSystemID { + type binary { + length "6"; + } + description + "A system ID."; + } + + typedef CiiLinkStatePDUID { + type binary { + length "0|8"; + } + description + "A Link State PDU Identifier."; + } + + typedef CiiAdminState { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + } + description + "Type used in enabling and disabling a row. + Values match those in RFC 2863."; + } + + typedef CiiLSPBuffSize { + type int32 { + range "512..16000"; + } + description + "Integer sub range for LSP size."; + } + + typedef CiiLevelState { + type enumeration { + enum "off" { + value "1"; + } + enum "on" { + value "2"; + } + enum "waiting" { + value "3"; + } + enum "overloaded" { + value "4"; + } + } + description + "States of the IS-IS protocol."; + } + + typedef CiiSupportedProtocol { + type enumeration { + enum "iso8473" { + value "129"; + } + enum "ipV6" { + value "142"; + } + enum "ip" { + value "204"; + } + } + description + "Types of network protocol supported by Integrated IS-IS. + The values for ISO8473 and IP are those registered for + these protocols in ISO TR9577."; + } + + typedef CiiDefaultMetric { + type int32 { + range "0..63"; + } + description + "Integer sub-range for default metric for single hop. + ISO 10589 provides for 4 types of metric. Only the + 'default' metric is used in practice."; + } + + typedef CiiWideMetric { + type uint32 { + range "0..16777215"; + } + description + "Wide Metric for IS Neighbors. ISO 10589 provides a + 6 bit metric. Traffic Engineering extensions provide + 24 bit metrics."; + } + + typedef CiiFullMetric { + type uint32; + description + "Full Metric for IP Routes. Traffic Engineering extensions + provide 32 bit metrics."; + } + + typedef CiiMetricType { + type enumeration { + enum "internal" { + value "1"; + } + enum "external" { + value "2"; + } + } + description + "Is this an Internal or External Metric?"; + } + + typedef CiiMetricStyle { + type enumeration { + enum "narrow" { + value "1"; + } + enum "wide" { + value "2"; + } + enum "both" { + value "3"; + } + } + description + "Do we use 1195 style Metrics or wide metrics."; + } + + typedef CiiISLevel { + type enumeration { + enum "none" { + value "0"; + } + enum "area" { + value "1"; + } + enum "domain" { + value "2"; + } + } + description + "Identifies a level."; + } + + typedef CiiPDUHeader { + type binary { + length "0..64"; + } + description + "A block to contain the header from a PDU."; + } + + typedef CiiCircuitID { + type binary { + length "0|7"; + } + description + "ID for a circuit."; + } + + typedef CiiISPriority { + type int32 { + range "0..127"; + } + description + "Integer sub-range for IS-IS priority."; + } + + typedef CiiUnsigned16TC { + type uint32 { + range "0..65535"; + } + description + "An Unsigned32 further restricted to 16 Bits. Note that + the ASN.1 BER encoding may still require 24 Bits for + some values."; + } + + typedef CiiUnsigned8TC { + type uint32 { + range "0..255"; + } + description + "An Unsigned32 further restricted to 8 Bits. Note that + the ASN.1 BER encoding may still require 16 Bits for + some values."; + } + + + container CISCO-IETF-ISIS-MIB { + config false; + + container ciiSysObject { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1"; + + leaf ciiSysVersion { + type enumeration { + enum "unknown" { + value "0"; + } + enum "one" { + value "1"; + } + } + description + "The version number of the IS-IS protocol that + is implemented."; + reference + "{ISIS.aoi version (1)}"; + smiv2:defval "one"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.1"; + } + + leaf ciiSysType { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + enum "level1L2IS" { + value "3"; + } + } + description + "At which levels is the Intermediate System + running? This object follows the + replaceOnlyWhileDisabled behavior."; + reference + "{ISIS.aoi iSType (2)}"; + smiv2:defval "level1L2IS"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.2"; + } + + leaf ciiSysID { + type CISCO-IETF-ISIS-MIB:CiiSystemID; + description + "The ID for this Intermediate System. + This value is appended to each of the + area addresses to form the Network Entity Titles. + The derivation of a value for this object is + implementation-specific. Some implementations may + automatically assign values and not permit an + SNMP write, while others may require the value + to be set manually."; + reference + "{ISIS.aoi systemId (119)}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.3"; + } + + leaf ciiSysMaxPathSplits { + type int32 { + range "1..32"; + } + description + "Maximum number of paths with equal routing metric value + which it is permitted to split between. This object + follows the replaceOnlyWhileDisabled behavior."; + reference + "{ISIS.aoi maximumPathSplits (3)}"; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.4"; + } + + leaf ciiSysMaxLSPGenInt { + type int32 { + range "1..65235"; + } + units "seconds"; + description + "Maximum interval, in seconds, between generated LSPs + by this Intermediate System. This object follows + the resettingTimer behavior. The value must be + greater than any value configured for + ciiSysLevelMinLSPGenInt, and should be at least 300 + seconds less than ciiSysMaxAge."; + reference + "{ISIS.aoi maximumLSPGenerationInterval (6)}"; + smiv2:defval "900"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.5"; + } + + leaf ciiSysPollESHelloRate { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "0..65535"; + } + units "seconds"; + description + "The value, in seconds, to be used for the suggested ES + configuration timer in ISH PDUs when soliciting the ES + configuration."; + reference + "{ISIS.aoi pollESHelloRate (13)}"; + smiv2:defval "50"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.6"; + } + + leaf ciiSysWaitTime { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "1..65535"; + } + units "seconds"; + description + "Number of seconds to delay in 'waiting' state before + entering 'on' state. This object follows the resettingTimer + behavior."; + reference + "{ISIS.aoi waitingTime (15)}"; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.7"; + } + + leaf ciiSysAdminState { + type CISCO-IETF-ISIS-MIB:CiiAdminState; + description + "The administrative state of this Intermediate + System. Setting this object to the value 'on' + when its current value is 'off' enables + the Intermediate System."; + smiv2:defval "off"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.8"; + } + + leaf ciiSysL2toL1Leaking { + type boolean; + description + "If true, allow the router to leak L2 routes into L1."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.9"; + } + + leaf ciiSysMaxAge { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "350..65535"; + } + units "seconds"; + description + "Value to place in RemainingLifeTime field of + the LSPs we generate. + This should be at least 300 seconds greater than + ciiSysMaxLSPGenInt."; + smiv2:defval "1200"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.10"; + } + + leaf ciiSysReceiveLSPBufferSize { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "1492..16000"; + } + units "bytes"; + description + "Size of the largest Buffer we are designed or + configured to store. This should be at least + as big as the maximum ciiSysLevelOrigLSPBuffSize + supported by the system. + + If resources allow, we will store and flood LSPs + larger than ciiSysReceiveLSPBufferSize, as this + can help avoid problems in networks with different + values for ciiSysLevelOrigLSPBuffSize."; + smiv2:defval "1492"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1.11"; + } + } + + container ciiCirc { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3"; + + leaf ciiNextCircIndex { + type diffserv-mib:IndexIntegerNextFree; + description + "This object is used to assign values to + ciiCircIndex as described in 'Textual + Conventions for SNMPv2'. The network manager + reads this object, and then writes the value + back as the ciiCircIndex in a SET that creates + a new instance of ciiCircEntry. If the SET + fails with the code 'inconsistentValue', then + the process must be repeated; If the SET succeeds, + then the object is incremented, and the new + ciiCircEntry is created according to the manager's + directions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.1"; + } + } + + container ciiManAreaAddrTable { + description + "The set of manual area addresses configured on this + Intermediate System."; + reference + "{ISIS.aoi manualAreaAddresses (10)}"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.2"; + + list ciiManAreaAddrEntry { + key "ciiManAreaAddr"; + description + "Each entry contains one area address manually configured + on this system"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.2.1"; + + leaf ciiManAreaAddr { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "A manually configured area address for this system. This + object follows the index behavior. + + Note: an index for the entry {1, {49.0001} active} in + this table would be the ordered pair + (1, (0x03 0x49 0x00 0x01)), as the length of an Octet + string is part of the OID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.2.1.1"; + } + + leaf ciiManAreaAddrExistState { + type snmpv2-tc:RowStatus; + description + "The state of the ciiManAreaAddrEntry. This object + follows the Row Status behavior. If the ciiSysAdminState + for this Intermediate System is 'on', and an + attempt is made to set this object to the value 'destroy' + or 'notInService' when this is the only + ciiManAreaAddrEntry in state 'active' for this + Intermediate System should return inconsistentValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.2.1.2"; + } + } + } + + container ciiAreaAddrTable { + description + "The union of the sets of area addresses reported in all + Level 1 LSPs with fragment number zero generated by this + Intermediate System, or received from other Intermediate + Systems which are reachable via Level 1 routing."; + reference + "{ISIS.aoi areaAddresses (18)}"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.3"; + + list ciiAreaAddrEntry { + key "ciiAreaAddr"; + description + "Each entry contains one area address reported in a + Level 1 LSP generated or received by this Intermediate + System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.3.1"; + + leaf ciiAreaAddr { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "An area address reported in a Level 1 LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.3.1.1"; + } + } + } + + container ciiSysProtSuppTable { + description + "This table contains the manually configured set of + protocols supported by this Intermediate System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.4"; + + list ciiSysProtSuppEntry { + key "ciiSysProtSuppProtocol"; + description + "Each entry contains one protocol supported by + this Intermediate System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.4.1"; + + leaf ciiSysProtSuppProtocol { + type CISCO-IETF-ISIS-MIB:CiiSupportedProtocol; + description + "One supported protocol. This object follows the index + behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.4.1.1"; + } + + leaf ciiSysProtSuppExistState { + type snmpv2-tc:RowStatus; + description + "The state of the ciiSysProtSuppEntry. This object + follows the RowStatus behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.4.1.2"; + } + } + } + + container ciiSummAddrTable { + description + "The set of IP summary addresses to use in forming + summary TLVs originated by this Intermediate System. + + An administrator may use a summary address to combine + and modify IP Reachability announcements. If the + Intermediate system can reach any subset of the summary + address, the summary address will be announced instead, + at the configured metric."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5"; + + list ciiSummAddrEntry { + key "ciiSummAddressType ciiSummAddress ciiSummAddrPrefixLen"; + description + "Each entry contains one IP summary address."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1"; + + leaf ciiSummAddressType { + type inet-address:InetAddressType; + description + "The Type of IP address for this summary address. + This object follows the index behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.1"; + } + + leaf ciiSummAddress { + type inet-address:InetAddress { + length "4|16"; + } + description + "The IP Address value for this summary address. + This object follows the index behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.2"; + } + + leaf ciiSummAddrPrefixLen { + type inet-address:InetAddressPrefixLength { + range "0..128"; + } + description + "The Length of the IP NetMask for this summary address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.3"; + } + + leaf ciiSummAddrExistState { + type snmpv2-tc:RowStatus; + description + "The existence state of this summary address. This object + follows the row status behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.4"; + } + + leaf ciiSummAddrMetric { + type CISCO-IETF-ISIS-MIB:CiiDefaultMetric; + description + "The metric value to announce this summary + address with in LSPs generated by this system."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.5"; + } + + leaf ciiSummAddrFullMetric { + type CISCO-IETF-ISIS-MIB:CiiFullMetric; + description + "The wide metric value to announce this summary + address with in LSPs generated by this system."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.5.1.6"; + } + } + } + + container ciiRedistributeAddrTable { + description + "This table provides criteria to decide if a route should + be leaked from L2 to L1 when Domain Wide Prefix leaking is + enabled. + + Addresses that match the summary mask in the table will + be announced at L1 by routers when ciiSysL2toL1Leaking + is enabled. Routes that fall into the ranges specified + are announced as is, without being summarized. Routes + that do not match a summary mask are not announced."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6"; + + list ciiRedistributeAddrEntry { + key "ciiRedistributeAddrType ciiRedistributeAddrAddress ciiRedistributeAddrPrefixLen"; + description + "Each entry contains one IP summary address to + manage leaking L2 addresses into L1."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6.1"; + + leaf ciiRedistributeAddrType { + type inet-address:InetAddressType; + description + "The Type of IP address for this summary address. + This object follows the index behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6.1.1"; + } + + leaf ciiRedistributeAddrAddress { + type inet-address:InetAddress { + length "4|16"; + } + description + "The IP Address value for this summary address. + This object follows the index behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6.1.2"; + } + + leaf ciiRedistributeAddrPrefixLen { + type inet-address:InetAddressPrefixLength { + range "0..128"; + } + description + "The Length of the IP NetMask for this summary address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6.1.3"; + } + + leaf ciiRedistributeAddrExistState { + type snmpv2-tc:RowStatus; + description + "The existence state of this summary address. This object + follows the row status behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.6.1.4"; + } + } + } + + container ciiRouterTable { + description + "The set of hostnames and router ID."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7"; + + list ciiRouterEntry { + key "ciiRouterSysID ciiRouterLevel"; + description + "Each entry tracks information about one peer at + one level."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7.1"; + + leaf ciiRouterSysID { + type CISCO-IETF-ISIS-MIB:CiiSystemID; + description + "The System ID of the Router Peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7.1.1"; + } + + leaf ciiRouterLevel { + type CISCO-IETF-ISIS-MIB:CiiISLevel; + description + "The level of this Intermediate System."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7.1.2"; + } + + leaf ciiRouterHostName { + type snmp-framework:SnmpAdminString; + description + "The hostname listed in LSP, or zero-length string if none."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7.1.3"; + } + + leaf ciiRouterID { + type uint32; + description + "The Router ID of the Peer found in LSP, or zero if none."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.7.1.4"; + } + } + } + + container ciiSysLevelTable { + description + "Level specific information about the System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1"; + + list ciiSysLevelEntry { + key "ciiSysLevelIndex"; + description + "Describe variables defined for Area or Domain."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1"; + + leaf ciiSysLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The level that this entry describes."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.1"; + } + + leaf ciiSysLevelOrigLSPBuffSize { + type CISCO-IETF-ISIS-MIB:CiiLSPBuffSize; + description + "The maximum size of LSPs and SNPs originated by + this Intermediate System at this level. + This object follows the replaceOnlyWhileDisabled + behavior."; + reference + "{ISIS.aoi originatingL1LSPBufferSize (9)}"; + smiv2:defval "1492"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.2"; + } + + leaf ciiSysLevelMinLSPGenInt { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "1..65535"; + } + units "seconds"; + description + "Minimum interval, in seconds, between successive + generation of LSPs with the same LSPID at this level + by this Intermediate System. This object + follows the resettingTimer behavior."; + reference + "{ISIS.aoi minimumLSPGenerationInterval (11)}"; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.3"; + } + + leaf ciiSysLevelOverloadState { + type CISCO-IETF-ISIS-MIB:CiiLevelState; + description + "The state of the database at this level. + The value 'off' indicates that IS-IS is not active at + this level. + The value 'on' indicates that IS-IS is active at this + level, and not overloaded. + The value 'waiting' indicates a database that is low on + an essential resource, such as memory. + The administrator may force the state to 'overloaded' + by setting the object ciiSysLevelSetOverload. + If the state is 'waiting' or 'overloaded', we originate + LSPs with the Overload bit set."; + reference + "{ISIS.aoi l1State (17)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.4"; + } + + leaf ciiSysLevelSetOverload { + type boolean; + description + "Administratively set the overload bit for the level. + The overload bit will continue to be set if the + implementation runs out of memory, independent of + this variable"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.5"; + } + + leaf ciiSysLevelSetOverloadUntil { + type yang:timeticks; + description + "If set, the overload bit should be set, and cleared + after sysUpTime exceeds this value."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.6"; + } + + leaf ciiSysLevelMetricStyle { + type CISCO-IETF-ISIS-MIB:CiiMetricStyle; + description + "Which style of Metric do we generate in our LSPs + at this level? This object follows the + replaceOnlyWhileDisabled behavior."; + smiv2:defval "narrow"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.7"; + } + + leaf ciiSysLevelSPFConsiders { + type CISCO-IETF-ISIS-MIB:CiiMetricStyle; + description + "Which style of Metric do we consider in our + SPF computation at this level?"; + smiv2:defval "narrow"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.8"; + } + + leaf ciiSysLevelTEEnabled { + type boolean; + description + "Do we do Traffic Engineering at this level?"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2.1.1.9"; + } + } + } + + container ciiCircTable { + description + "The table of circuits used by this + Intermediate System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2"; + + list ciiCircEntry { + key "ciiCircIndex"; + description + "An ciiCircEntry exists for each circuit used by + Integrated IS-IS on this system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1"; + + leaf ciiCircIndex { + type int32 { + range "1..2147483647"; + } + description + "The identifier of this circuit, unique within the + Intermediate System. This object follows + the index behavior. This is for SNMP Indexing + purposes only and need not have any relation to + any protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.1"; + } + + leaf ciiCircIfIndex { + type if-mib:InterfaceIndex; + description + "The value of ifIndex for the interface to which this + circuit corresponds. This object cannot be modified + after creation"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.2"; + } + + leaf ciiCircIfSubIndex { + type int32; + description + "A specifier for the part of the interface ifIndex to which + this circuit corresponds, such as a DLCI or VPI/VCI. + This object cannot be modified after creation"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.3"; + } + + leaf ciiCircAdminState { + type CISCO-IETF-ISIS-MIB:CiiAdminState; + description + "The administrative state of the circuit. This + object follows the CiiAdminState behavior."; + smiv2:defval "off"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.4"; + } + + leaf ciiCircExistState { + type snmpv2-tc:RowStatus; + description + "The existence state of this circuit. This object follows + the RowStatus behavior. Setting the state to + 'notInService' halts the generation and processing of + IS-IS protocol PDUs on this circuit. Setting the state + to 'destroy' will also erase any configuration associated + with the circuit."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.5"; + } + + leaf ciiCircType { + type enumeration { + enum "broadcast" { + value "1"; + } + enum "ptToPt" { + value "2"; + } + enum "staticIn" { + value "3"; + } + enum "staticOut" { + value "4"; + } + enum "dA" { + value "5"; + } + } + description + "The type of the circuit. This object follows the + replaceOnlyWhileDisabled behavior. The type specified + must be compatible with the type of the interface defined + by the value of ciiCircIfIndex."; + reference + "{ISIS.aoi type (33)}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.6"; + } + + leaf ciiCircExtDomain { + type boolean; + description + "If true, suppress normal transmission of and + interpretation of Intra-domain IS-IS PDUs on this + circuit."; + reference + "{ISIS.aoi externalDomain (46)}"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.7"; + } + + leaf ciiCircLevel { + type enumeration { + enum "level1" { + value "1"; + } + enum "level2" { + value "2"; + } + enum "level1L2" { + value "3"; + } + } + description + "Indicates which type of packets will be sent and + accepted on this circuit. The values used will be + modified by the settings of ciiSysType. This + object follows the replaceOnlyWhileDisabled behavior."; + smiv2:defval "level1L2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.8"; + } + + leaf ciiCircPassiveCircuit { + type boolean; + description + "Should we include this interface in LSPs, even if + it is not running the IS-IS Protocol?"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.9"; + } + + leaf ciiCircMeshGroupEnabled { + type enumeration { + enum "inactive" { + value "1"; + } + enum "blocked" { + value "2"; + } + enum "set" { + value "3"; + } + } + description + "Is this port a member of a mesh group, or blocked? + Circuits in the same mesh group act as a virtual + multiaccess network. LSPs seen on one circuit in + a mesh group will not be flooded to another circuit + in the same mesh group."; + reference + "{ RFC 2973 }"; + smiv2:defval "inactive"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.10"; + } + + leaf ciiCircMeshGroup { + type uint32; + description + "Circuits in the same mesh group act as a virtual + multiaccess network. LSPs seen on one circuit in + a mesh group will not be flooded to another circuit + in the same mesh group. If ciiCircMeshGroupEnabled + is inactive or blocked, this value is ignored."; + reference + "{ RFC 2973 }"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.11"; + } + + leaf ciiCircSmallHellos { + type boolean; + description + "Can we send unpadded hellos on LAN circuits? 'false' + means LAN Hellos must be padded. + Implementations should allow the administrator to read + this value. An implementation need not be able to + support unpadded hellos to be conformant."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.12"; + } + + leaf ciiCircLastUpTime { + type yang:timeticks; + description + "If the circuit is enabled, the value of sysUpTime + when ciiCircAdminState most recently entered + the state 'on'. If the circuit is not 'on', + the value of sysUpTime when the circuit last + entered state 'on', 0 if the circuit has never + been 'on'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.13"; + } + + leaf ciiCirc3WayEnabled { + type boolean; + description + "Is this circuit enabled to run 3Way handshake?"; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.14"; + } + + leaf ciiCircExtendedCircID { + type uint32; + description + "The value to be used as the extended circuit ID in + 3Way handshake. This value is only used if + ciiCirc3WayEnabled is true, and must be unique across + all circuits on this IS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3.2.1.15"; + } + } + } + + container ciiCircLevelTable { + description + "Level specific information about circuits used by IS-IS"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1"; + + list ciiCircLevelEntry { + key "ciiCircIndex ciiCircLevelIndex"; + description + "An ciiCircLevelEntry exists for each level on + each circuit used by Integrated IS-IS on this system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The level that this entry describes."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.1"; + } + + leaf ciiCircLevelMetric { + type CISCO-IETF-ISIS-MIB:CiiDefaultMetric; + description + "The metric value of this circuit for this level."; + reference + "{ISIS.aoi l1DefaultMetric (35)}"; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.2"; + } + + leaf ciiCircLevelWideMetric { + type CISCO-IETF-ISIS-MIB:CiiWideMetric; + description + "The wide metric value of this circuit for this level."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.3"; + } + + leaf ciiCircLevelISPriority { + type CISCO-IETF-ISIS-MIB:CiiISPriority; + description + "The priority for becoming LAN Designated + Intermediate System at this level."; + reference + "{ISIS.aoi l2IntermediateSystemPriority (73)}"; + smiv2:defval "64"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.4"; + } + + leaf ciiCircLevelIDOctet { + type int32 { + range "0..255"; + } + description + "A one byte identifier that can be used in protocol packets + to identify a circuit. Values of ciiCircLevelIDOctet + do not need to be unique. They are only required to + differ on LANs where the Intermediate System is the + Designated Intermediate System."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.5"; + } + + leaf ciiCircLevelID { + type CISCO-IETF-ISIS-MIB:CiiCircuitID; + description + "On a point to point circuit with a fully initialized + adjacency to a peer IS, the value of this object is + the circuit ID negotiated during adjacency initialization. + On a point to point circuit without such an adjacency, + the value is the concatenation of the local system ID + and the one byte ciiCircLevelIDOctet for this circuit + i.e. the value that would be proposed for the circuit ID. + + On other circuit types, the value returned is the zero + length OCTET STRING."; + reference + "{ISIS.aoi ptPtCircuitID (51)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.6"; + } + + leaf ciiCircLevelDesIS { + type CISCO-IETF-ISIS-MIB:CiiCircuitID; + description + "The ID of the LAN Designated Intermediate System + on this circuit at this level. If, for any reason, + this system is not partaking in the relevant + Designated Intermediate System election process, + then the value returned is the zero length OCTET STRING."; + reference + "{ISIS.aoi l2DesignatedIntermediateSystem (75)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.7"; + } + + leaf ciiCircLevelHelloMultiplier { + type int32 { + range "2..100"; + } + description + "This value is multiplied by the corresponding HelloTimer + and the result in seconds (rounded up) is used as the + holding time in transmitted hellos, to be used by + receivers of hello packets from this IS"; + reference + "{ISIS.aoi iSISHelloTimer (45)}"; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.8"; + } + + leaf ciiCircLevelHelloTimer { + type int32 { + range "10..600000"; + } + units "milliseconds"; + description + "Maximum period, in milliseconds, between IIH PDUs + on multiaccess networks at this level for LANs. + The value at L1 is used as the period between + Hellos on L1L2 point to point circuits. Setting + this value at level 2 on an L1L2 point to point + circuit will result in an error of InconsistentValue. + + This object follows the resettingTimer behavior."; + reference + "{ISIS.aoi iSISHelloTimer (45)}"; + smiv2:defval "3000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.9"; + } + + leaf ciiCircLevelDRHelloTimer { + type int32 { + range "10..120000"; + } + units "milliseconds"; + description + "Period, in milliseconds, between Hello PDUs on + multiaccess networks when this IS is the Designated + Intermediate System. This object follows the + resettingTimer behavior."; + reference + "{ISIS.aoi iSISHelloTimer (45)}"; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.10"; + } + + leaf ciiCircLevelLSPThrottle { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "1..65535"; + } + units "milliseconds"; + description + "Minimal interval of time, in milliseconds, between + transmissions of LSPs on an interface at this level."; + reference + "{ISIS.aoi minimumBroadcastLSPTransmissionInterval (5)}"; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.11"; + } + + leaf ciiCircLevelMinLSPRetransInt { + type int32 { + range "1..300"; + } + units "seconds"; + description + "Minimum interval, in seconds, between re-transmission of + an LSP at this level. This object follows the + resettingTimer behavior. + + Note that ciiCircLevelLSPThrottle controls + how fast we send back to back LSPs. This variable + controls how fast we re-send the same LSP."; + reference + "{ISIS.aoi minimumLSPTransmissionInterval (5)}"; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.12"; + } + + leaf ciiCircLevelCSNPInterval { + type int32 { + range "1..600"; + } + units "seconds"; + description + "Interval of time, in seconds, between periodic + transmission of a complete set of CSNPs on + multiaccess networks if this router is the + designated router at this level. + + This object follows the resettingTimer behavior."; + reference + "{ISIS.aoi completeSNPInterval (8)}"; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.13"; + } + + leaf ciiCircLevelPartSNPInterval { + type int32 { + range "1..120"; + } + units "seconds"; + description + "Minimum interval in seconds between sending Partial + Sequence Number PDUs at this level. This object + follows the resettingTimer behavior."; + reference + "{ISIS.aoi partialSNPInterval (14)}"; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4.1.1.14"; + } + } + } + + container ciiSystemCounterTable { + description + "System wide counters for this Intermediate System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1"; + + list ciiSystemCounterEntry { + key "ciiSysStatLevel"; + description + "System-wide IS-IS counters."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1"; + + leaf ciiSysStatLevel { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The level that this entry describes."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.1"; + } + + leaf ciiSysStatCorrLSPs { + type yang:counter32; + units "frames"; + description + "Number of corrupted in-memory LSP frames detected. + + LSPs received from the wire with a bad checksum + are silently dropped and not counted. + + LSPs received from the wire with parse errors + are counted by ciiSysStatLSPErrors."; + reference + "{ISIS.aoi corruptedLSPsDetected (19)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.2"; + } + + leaf ciiSysStatAuthTypeFails { + type yang:counter32; + units "frames"; + description + "The number of frames with authentication type mismatches + recognized by this Intermediate System."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.3"; + } + + leaf ciiSysStatAuthFails { + type yang:counter32; + units "frames"; + description + "The number of frames with authentication failures + recognized by this Intermediate System."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.4"; + } + + leaf ciiSysStatLSPDbaseOloads { + type yang:counter32; + description + "Number of times the LSP database has become + overloaded."; + reference + "{ISIS.aoi lSPL1DatabaseOverloads (20)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.5"; + } + + leaf ciiSysStatManAddrDropFromAreas { + type yang:counter32; + description + "Number of times a manual address has been dropped from + the area."; + reference + "{ISIS.aoi manualAddressesDroppedFromArea (21)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.6"; + } + + leaf ciiSysStatAttmptToExMaxSeqNums { + type yang:counter32; + description + "Number of times the IS has attempted to exceed the + maximum sequence number."; + reference + "{ISIS.aoi attemptsToExceedmaximumSequenceNumber (22)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.7"; + } + + leaf ciiSysStatSeqNumSkips { + type yang:counter32; + description + "Number of times a sequence number skip has occurred."; + reference + "{ISIS.aoi sequenceNumberSkips (23)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.8"; + } + + leaf ciiSysStatOwnLSPPurges { + type yang:counter32; + description + "Number of times a zero-aged copy of the system's own LSP + is received from some other node."; + reference + "{ISIS.aoi ownLSPPurges (24)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.9"; + } + + leaf ciiSysStatIDFieldLenMismatches { + type yang:counter32; + units "frames"; + description + "Number of times a PDU is received with a different value + for ID field length to that of the receiving system."; + reference + "{ISIS.aoi iDFieldLengthMismatches (25)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.10"; + } + + leaf ciiSysStatPartChanges { + type yang:counter32; + description + "Partition changes"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.11"; + } + + leaf ciiSysStatSPFRuns { + type yang:counter32; + description + "Number of times we ran SPF at this level."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.12"; + } + + leaf ciiSysStatLSPErrors { + type yang:counter32; + units "frames"; + description + "Number of LSP frames with errors we have received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.1.1.13"; + } + } + } + + container ciiCircuitCounterTable { + description + "Circuit specific counters for this + Intermediate System."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2"; + + list ciiCircuitCounterEntry { + key "ciiCircIndex ciiCircuitType"; + description + "An ciiCircuitCounterEntry exists for each circuit + used by Integrated IS-IS on this system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircuitType { + type enumeration { + enum "lanlevel1" { + value "1"; + } + enum "lanlevel2" { + value "2"; + } + enum "p2pcircuit" { + value "3"; + } + } + description + "What type of circuit saw these counts? + + The point to point Hello PDU includes + both L1 and L2, and ISs form a single + adjacency on point to point links. + Thus we combine counts on + point to point links into one group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.1"; + } + + leaf ciiCircAdjChanges { + type yang:counter32; + description + "The number of times an adjacency state change has + occurred on this circuit."; + reference + "{ISIS.aoi changesInAdjacencyState (40)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.2"; + } + + leaf ciiCircNumAdj { + type uint32; + description + "The number of adjacencies on this circuit."; + reference + "{ISIS.aoi changesInAdjacencyState (40)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.3"; + } + + leaf ciiCircInitFails { + type yang:counter32; + description + "The number of times initialization of this circuit has + failed. This counts events such as PPP NCP failures. + Failures to form an adjacency are counted by + ciiCircRejAdjs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.4"; + } + + leaf ciiCircRejAdjs { + type yang:counter32; + description + "The number of times an adjacency has been rejected on + this circuit."; + reference + "{ISIS.aoi rejectedAdjacencies (42)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.5"; + } + + leaf ciiCircIDFieldLenMismatches { + type yang:counter32; + units "frames"; + description + "The number of times an IS-IS control PDU with an ID + field length different to that for this system has been + received."; + reference + "{ISIS.aoi iDFieldLengthMismatches (25)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.6"; + } + + leaf ciiCircMaxAreaAddrMismatches { + type yang:counter32; + description + "The number of times an IS-IS control PDU with a + max area address field different to that for this + system has been received."; + reference + "{ISIS.aoi iDFieldLengthMismatches (25)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.7"; + } + + leaf ciiCircAuthTypeFails { + type yang:counter32; + description + "The number of times an IS-IS control PDU with + an auth type field different to that for this + system has been received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.8"; + } + + leaf ciiCircAuthFails { + type yang:counter32; + description + "The number of times an IS-IS control PDU with + the correct auth type has failed to pass authentication + validation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.9"; + } + + leaf ciiCircLANDesISChanges { + type yang:counter32; + description + "The number of times the Designated IS has changed + on this circuit at this level. If the circuit is + point to point, this count is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.2.1.10"; + } + } + } + + container ciiPacketCounterTable { + description + "Information about IS-IS protocol traffic at one level + on one circuit in one direction"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3"; + + list ciiPacketCounterEntry { + key "ciiCircIndex ciiPacketCountLevel ciiPacketCountDirection"; + description + "Information about IS-IS protocol traffic at one level + on one circuit in one direction"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiPacketCountLevel { + type enumeration { + enum "level1" { + value "1"; + } + enum "level2" { + value "2"; + } + } + description + "The level at which these PDU counts have been collected."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.1"; + } + + leaf ciiPacketCountDirection { + type enumeration { + enum "sending" { + value "1"; + } + enum "receiving" { + value "2"; + } + } + description + "Were we sending or receiving these PDUs?"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.2"; + } + + leaf ciiPacketCountIIHellos { + type yang:counter32; + units "frames"; + description + "The number of IS-IS Hello PDU frames seen in this + direction at this level. + + Point-to-Point IIH PDUs are counted at + the lowest enabled level: at L1 on L1 or L1L2 circuits, + and at L2 otherwise."; + reference + "{ISIS.aoi iSISControlPDUsSent (43)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.3"; + } + + leaf ciiPacketCountISHellos { + type yang:counter32; + units "frames"; + description + "The number of ES-IS Hello PDU frames seen in this + direction. ISH PDUs are counted at the + lowest enabled level: at L1 on L1 or L1L2 + circuits, and at L2 otherwise."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.4"; + } + + leaf ciiPacketCountESHellos { + type yang:counter32; + units "frames"; + description + "The number of ES Hello PDU frames seen in this + direction. ESH PDUs are counted at the + lowest enabled level: at L1 on L1 or L1L2 + circuits, and at L2 otherwise."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.5"; + } + + leaf ciiPacketCountLSPs { + type yang:counter32; + units "frames"; + description + "The number of IS-IS LSP frames seen in this + direction at this level."; + reference + "{ISIS.aoi iSISControlPDUsSent (43)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.6"; + } + + leaf ciiPacketCountCSNPs { + type yang:counter32; + units "frames"; + description + "The number of IS-IS CSNP frames seen in this + direction at this level."; + reference + "{ISIS.aoi iSISControlPDUsSent (43)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.7"; + } + + leaf ciiPacketCountPSNPs { + type yang:counter32; + units "frames"; + description + "The number of IS-IS PSNP frames seen in this + direction at this level."; + reference + "{ISIS.aoi iSISControlPDUsSent (43)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.8"; + } + + leaf ciiPacketCountUnknowns { + type yang:counter32; + units "frames"; + description + "The number of unknown IS-IS PDU frames seen + at this level."; + reference + "{ISIS.aoi iSISControlPDUsSent (43)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5.3.1.9"; + } + } + } + + container ciiISAdjTable { + description + "The table of adjacencies to Intermediate Systems."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1"; + + list ciiISAdjEntry { + key "ciiCircIndex ciiISAdjIndex"; + description + "Each entry corresponds to one adjacency to an + Intermediate System on this system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiISAdjIndex { + type int32 { + range "1..2000000000"; + } + description + "A unique value identifying the IS adjacency from all + other such adjacencies on this circuit. This value is + automatically assigned by the system when the adjacency + is created."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.1"; + } + + leaf ciiISAdjState { + type enumeration { + enum "down" { + value "1"; + } + enum "initializing" { + value "2"; + } + enum "up" { + value "3"; + } + enum "failed" { + value "4"; + } + } + description + "The state of the adjacency"; + reference + "{ISIS.aoi adjacencyState (78)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.2"; + } + + leaf ciiISAdj3WayState { + type enumeration { + enum "up" { + value "0"; + } + enum "initializing" { + value "1"; + } + enum "down" { + value "2"; + } + enum "failed" { + value "3"; + } + } + description + "The 3Way state of the adjacency. These are picked + to match the historical on-the-wire representation + of the 3Way state, and are not intended to match + ciiISAdjState."; + reference + "{ RFC 3373 }"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.3"; + } + + leaf ciiISAdjNeighSNPAAddress { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "The SNPA address of the neighboring system."; + reference + "{ISIS.aoi neighbourSNPAAddress (79)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.4"; + } + + leaf ciiISAdjNeighSysType { + type enumeration { + enum "l1IntermediateSystem" { + value "1"; + } + enum "l2IntermediateSystem" { + value "2"; + } + enum "l1L2IntermediateSystem" { + value "3"; + } + enum "unknown" { + value "4"; + } + } + description + "The type of the neighboring system."; + reference + "{ISIS.aoi neighbourSystemType (80)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.5"; + } + + leaf ciiISAdjNeighSysID { + type CISCO-IETF-ISIS-MIB:CiiSystemID; + description + "The system ID of the neighboring Intermediate + System."; + reference + "{ISIS.aoi neighbourSystemIds (83)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.6"; + } + + leaf ciiISAdjNbrExtendedCircID { + type uint32; + description + "The 4 byte Extended Circuit ID learned from the + Neighbor during 3-way handshake, or 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.7"; + } + + leaf ciiISAdjUsage { + type enumeration { + enum "level1" { + value "1"; + } + enum "level2" { + value "2"; + } + enum "level1and2" { + value "3"; + } + } + description + "How is the adjacency used? On a point-to-point link, + this might be level1and2, but on a LAN, the usage will + be level1 on the adjacency between peers at L1, + and level2 for the adjacency between peers at L2."; + reference + "{ISIS.aoi adjacencyUsage (82)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.8"; + } + + leaf ciiISAdjHoldTimer { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "1..65535"; + } + units "seconds"; + description + "The holding time in seconds for this adjacency. + This value is based on received IIH PDUs and + the elapsed time since receipt."; + reference + "{ISIS.aoi holdingTimer (85)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.9"; + } + + leaf ciiISAdjNeighPriority { + type CISCO-IETF-ISIS-MIB:CiiISPriority; + description + "Priority of the neighboring Intermediate System for + becoming the Designated Intermediate System."; + reference + "{ISIS.aoi lANPriority (86)}"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.10"; + } + + leaf ciiISAdjLastUpTime { + type yang:timeticks; + units "hundredths of a second"; + description + "If the ciiISAdjState is in state 'up', the value + of sysUpTime when the adjacency most recently + entered the state 'up', or 0 if it has never + been in state 'up'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.1.1.11"; + } + } + } + + container ciiISAdjAreaAddrTable { + description + "This table contains the set of Area Addresses of + neighboring Intermediate Systems as reported in received + IIH PDUs."; + reference + "{ISIS.aoi areaAddressesOfNeighbour (84)}"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.2"; + + list ciiISAdjAreaAddrEntry { + key "ciiCircIndex ciiISAdjIndex ciiISAdjAreaAddrIndex"; + description + "Each entry contains one Area Address reported by a + neighboring Intermediate System in its IIH PDUs."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.2.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiISAdjIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiISAdjTable/CISCO-IETF-ISIS-MIB:ciiISAdjEntry/CISCO-IETF-ISIS-MIB:ciiISAdjIndex"; + } + } + + leaf ciiISAdjAreaAddrIndex { + type int32 { + range "1..2000000000"; + } + description + "An index for the areas associated with one neighbor. + This provides a simple way to walk the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.2.1.1"; + } + + leaf ciiISAdjAreaAddress { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "One Area Address as reported in IIH PDUs received from + the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.2.1.2"; + } + } + } + + container ciiISAdjIPAddrTable { + description + "This table contains the set of IP Addresses of + neighboring Intermediate Systems as reported in received + IIH PDUs."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.3"; + + list ciiISAdjIPAddrEntry { + key "ciiCircIndex ciiISAdjIndex ciiISAdjIPAddrIndex"; + description + "Each entry contains one IP Address reported by a + neighboring Intermediate System in its IIH PDUs."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.3.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiISAdjIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiISAdjTable/CISCO-IETF-ISIS-MIB:ciiISAdjEntry/CISCO-IETF-ISIS-MIB:ciiISAdjIndex"; + } + } + + leaf ciiISAdjIPAddrIndex { + type int32 { + range "1..2000000000"; + } + description + "An index to this table which identifies the IP addresses + to which this entry belongs."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.3.1.1"; + } + + leaf ciiISAdjIPAddrType { + type inet-address:InetAddressType; + description + "The type of one IP Address as reported in IIH PDUs + received from the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.3.1.2"; + } + + leaf ciiISAdjIPAddrAddress { + type inet-address:InetAddress { + length "4|16"; + } + description + "One IP Address as reported in IIH PDUs received from the + neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.3.1.3"; + } + } + } + + container ciiISAdjProtSuppTable { + description + "This table contains the set of protocols supported by + neighboring Intermediate Systems as reported in received + IIH PDUs."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.4"; + + list ciiISAdjProtSuppEntry { + key "ciiCircIndex ciiISAdjIndex ciiISAdjProtSuppProtocol"; + description + "Each entry contains one protocol supported by a + neighboring Intermediate System as reported in its IIH + PDUs."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.4.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiISAdjIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiISAdjTable/CISCO-IETF-ISIS-MIB:ciiISAdjEntry/CISCO-IETF-ISIS-MIB:ciiISAdjIndex"; + } + } + + leaf ciiISAdjProtSuppProtocol { + type CISCO-IETF-ISIS-MIB:CiiSupportedProtocol; + description + "One supported protocol as reported in IIH PDUs received + from the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6.4.1.1"; + } + } + } + + container ciiRATable { + description + "The table of Reachable Addresses to NSAPs or Address + Prefixes."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1"; + + list ciiRAEntry { + key "ciiCircIndex ciiRAIndex"; + description + "Each entry defines a Reachable Address to a NSAP or + Address Prefix."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1"; + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiRAIndex { + type int32 { + range "1..2000000000"; + } + description + "The identifier for this ciiRAEntry. This value must be + unique amongst all Reachable Addresses on the same parent + Circuit. This object follows the index and ManualOrAutomatic + behaviors."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.1"; + } + + leaf ciiRAExistState { + type snmpv2-tc:RowStatus; + description + "The existence state of this Reachable Address. This + object follows the ManualOrAutomatic behaviors."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.2"; + } + + leaf ciiRAAdminState { + type CISCO-IETF-ISIS-MIB:CiiAdminState; + description + "The administrative state of the Reachable Address. This + object follows the CiiAdminState and ManualOrAutomatic + behaviors."; + smiv2:defval "off"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.3"; + } + + leaf ciiRAAddrPrefix { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "The destination of this Reachable Address. This is an + Address Prefix. This object follows the + replaceOnlyWhileDisabled and ManualOrAutomatic + behaviors."; + reference + "{ISIS.aoi addressPrefix (98)}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.4"; + } + + leaf ciiRAMapType { + type enumeration { + enum "none" { + value "1"; + } + enum "explicit" { + value "2"; + } + enum "extractIDI" { + value "3"; + } + enum "extractDSP" { + value "4"; + } + } + description + "The type of mapping to be employed to ascertain the SNPA + Address which should be used in forwarding PDUs for this + Reachable Address prefix. This object follows the + ManualOrAutomatic behavior. The following values of + mapping type are defined: + + none: The mapping is null because the neighbor SNPA is + implicit by nature of the subnetwork (e.g. a + point-to-point linkage). + + explicit: The subnetwork addresses in the object + ciiRASNPAAddress is to be used. + + extractIDI: The SNPA is embedded in the IDI of + the destination NSAP Address. The mapping + algorithm extracts the SNPA to be used + according to the format and encoding rules of + ISO8473/Add2. This SNPA extraction algorithm can + be used in conjunction with Reachable Address + prefixes from the X.121, F.69, E.163 and E.164 + addressing subdomains. + + extractDSP: All, or a suffix, of the SNPA is embedded + in the DSP of the destination address. This SNPA + extraction algorithm extracts the embedded + subnetwork addressing information by performing a + logical AND of the ciiRASNPAMask object value + with the destination address. The part of the + SNPA extracted from the destination NSAP is + appended to the ciiRASNPAPrefix object value to + form the next hop subnetwork addressing + information."; + reference + "{ISO10589-ISIS.aoi mappingType (107)}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.5"; + } + + leaf ciiRAMetric { + type CISCO-IETF-ISIS-MIB:CiiDefaultMetric; + description + "The metric value for reaching the specified + prefix over this circuit. This object follows the + ManualOrAutomatic behavior."; + reference + "{ISIS.aoi DefaultMetric (99)}"; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.6"; + } + + leaf ciiRAMetricType { + type CISCO-IETF-ISIS-MIB:CiiMetricType; + description + "Indicates whether the metric is internal or + external. This object follows the ManualOrAutomatic + behavior."; + reference + "{ISIS.aoi DefaultMetricType (103)}"; + smiv2:defval "internal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.7"; + } + + leaf ciiRASNPAAddress { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "The SNPA Address to which a PDU may be forwarded in + order to reach a destination which matches the address + prefix of the Reachable Address. This object follows the + ManualOrAutomatic behavior."; + reference + "{ISIS.aoi sNPAAddresses (109)}"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.8"; + } + + leaf ciiRASNPAMask { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "A bit mask with 1 bits indicating the positions in the + effective destination address from which embedded SNPA + information is to be extracted. For the extraction the + first octet of the ciiRASNPAMask object value is aligned + with the first octet (AFI) of the NSAP Address. If the + ciiRASNPAMask object value and NSAP Address are of + different lengths, the shorter of the two is logically + padded with zeros before performing the extraction. This + object follows the ManualOrAutomatic behavior."; + reference + "{ISIS.aoi sNPAMask (122)}"; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.9"; + } + + leaf ciiRASNPAPrefix { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "A fixed SNPA prefix for use when the ciiRAMapType is + extractDSP. The SNPA Address to use is formed by + concatenating the fixed SNPA prefix with a variable SNPA + part that is extracted from the effective destination + address. For Reachable Address prefixes in which the + entire SNPA is embedded in the DSP the SNPA Prefix shall + be null. This object follows the ManualOrAutomatic + behavior."; + reference + "{ISIS.aoi sNPAPrefix (123)}"; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.10"; + } + + leaf ciiRAType { + type enumeration { + enum "manual" { + value "1"; + } + enum "automatic" { + value "2"; + } + } + description + "The type of Reachable address. Those of type + manual are created by the network manager. Those + of type automatic are created through propagation + of routing information from another routing + protocol (eg. IDRP). "; + smiv2:defval "manual"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7.1.1.11"; + } + } + } + + container ciiIPRATable { + description + "The table of IP Reachable Addresses to networks, + subnetworks or hosts either manually configured or + learned from another protocol."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1"; + + list ciiIPRAEntry { + key "ciiIPRADestType ciiIPRADest ciiIPRADestPrefixLen ciiIPRANextHopIndex"; + description + "Each entry defines an IP Reachable Address to a network, + subnetwork or host. + + Each IP Reachable Address may have multiple entries in the + table, one for each equal cost path to the reachable address."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1"; + + leaf ciiIPRADestType { + type inet-address:InetAddressType; + description + "The type of this IP Reachable Address. This object + follows the ManualOrAutomatic behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.1"; + } + + leaf ciiIPRADest { + type inet-address:InetAddress { + length "4|16"; + } + description + "The destination of this IP Reachable Address. This is + either a network address, subnetwork address or host + address. This object follows the ManualOrAutomatic + behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.2"; + } + + leaf ciiIPRADestPrefixLen { + type inet-address:InetAddressPrefixLength { + range "0..128"; + } + description + "The length of the IP Netmask for Reachability Address. + This object follows the ManualOrAutomatic behavior."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.3"; + } + + leaf ciiIPRANextHopIndex { + type int32 { + range "1..65535"; + } + description + "Index of next hop. Used when there are multiple Equal + Cost Multipath alternatives for the same destination."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.4"; + } + + leaf ciiIPRANextHopType { + type inet-address:InetAddressType; + description + "The type of the IP next hop address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.5"; + } + + leaf ciiIPRANextHop { + type inet-address:InetAddress { + length "4|16"; + } + description + "The IP next hop to this destination."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.6"; + } + + leaf ciiIPRAType { + type enumeration { + enum "manual" { + value "1"; + } + enum "automatic" { + value "2"; + } + } + description + "The type of this IP Reachable Address. Those of type + manual are created by the network manager. Those of type + automatic are created through propagation of routing + information from another routing protocol. This object + follows the ManualOrAutomatic behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.7"; + } + + leaf ciiIPRAExistState { + type snmpv2-tc:RowStatus; + description + "The state of this IP Reachable Address. This object + follows the ExistenceState and ManualOrAutomatic + behaviors."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.8"; + } + + leaf ciiIPRAAdminState { + type CISCO-IETF-ISIS-MIB:CiiAdminState; + description + "The administrative state of the IP Reachable Address. This + object follows the CiiAdminState and ManualOrAutomatic + behaviors."; + smiv2:defval "off"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.9"; + } + + leaf ciiIPRAMetric { + type CISCO-IETF-ISIS-MIB:CiiDefaultMetric; + description + "The metric value for reaching the specified + destination over this circuit. This object follows the + ManualOrAutomatic behavior."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.10"; + } + + leaf ciiIPRAMetricType { + type CISCO-IETF-ISIS-MIB:CiiMetricType; + description + "Indicates whether the metric is internal or + external. This object follows the ManualOrAutomatic + behavior."; + smiv2:defval "internal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.11"; + } + + leaf ciiIPRAFullMetric { + type CISCO-IETF-ISIS-MIB:CiiFullMetric; + description + "The wide metric value for reaching the specified + destination over this circuit. This object follows the + ManualOrAutomatic behavior."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.12"; + } + + leaf ciiIPRASNPAAddress { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "The SNPA Address to which a PDU may be forwarded in + order to reach a destination which matches this IP + Reachable Address. This object follows the + ManualOrAutomatic behavior."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.13"; + } + + leaf ciiIPRASourceType { + type enumeration { + enum "static" { + value "1"; + } + enum "direct" { + value "2"; + } + enum "ospfv2" { + value "3"; + } + enum "ospfv3" { + value "4"; + } + enum "isis" { + value "5"; + } + enum "rip" { + value "6"; + } + enum "igrp" { + value "7"; + } + enum "eigrp" { + value "8"; + } + enum "bgp" { + value "9"; + } + enum "other" { + value "10"; + } + } + description + "The origin of this route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8.1.1.14"; + } + } + } + + container ciiLSPSummaryTable { + description + "The table of LSP Headers."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1"; + + list ciiLSPSummaryEntry { + key "ciiLSPLevel ciiLSPID"; + description + "Each entry provides a summary describing an + LSP currently stored in the system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1"; + + leaf ciiLSPLevel { + type CISCO-IETF-ISIS-MIB:CiiISLevel; + description + "At which level does this LSP appear?"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.1"; + } + + leaf ciiLSPID { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "The 8 byte LSP ID, consisting of the SystemID, + Circuit ID, and Fragment Number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.2"; + } + + leaf ciiLSPSeq { + type uint32; + description + "The sequence number for this LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.3"; + } + + leaf ciiLSPZeroLife { + type boolean; + description + "Is this LSP being purged by this System?"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.4"; + } + + leaf ciiLSPChecksum { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC; + description + "The 16 bit Fletcher Checksum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.5"; + } + + leaf ciiLSPLifetimeRemain { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC; + units "seconds"; + description + "The remaining lifetime in seconds for this LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.6"; + } + + leaf ciiLSPPDULength { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC; + description + "The length of this LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.7"; + } + + leaf ciiLSPAttributes { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "Flags carried by the LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.1.1.8"; + } + } + } + + container ciiLSPTLVTable { + description + "The contents of each LSP."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2"; + + list ciiLSPTLVEntry { + key "ciiLSPLevel ciiLSPID ciiLSPTLVIndex"; + description + "Each entry describes an LSP current stored in the + system."; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1"; + + leaf ciiLSPLevel { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiLSPSummaryTable/CISCO-IETF-ISIS-MIB:ciiLSPSummaryEntry/CISCO-IETF-ISIS-MIB:ciiLSPLevel"; + } + } + + leaf ciiLSPID { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiLSPSummaryTable/CISCO-IETF-ISIS-MIB:ciiLSPSummaryEntry/CISCO-IETF-ISIS-MIB:ciiLSPID"; + } + } + + leaf ciiLSPTLVIndex { + type uint32; + description + "The index of this TLV in the LSP. The first TLV has index 1 + and the Nth TLV has an index of N."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.1"; + } + + leaf ciiLSPTLVSeq { + type uint32; + description + "The sequence number for this LSP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.2"; + } + + leaf ciiLSPTLVChecksum { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC; + description + "The 16 bit Fletcher Checksum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.3"; + } + + leaf ciiLSPTLVType { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "The type of this TLV."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.4"; + } + + leaf ciiLSPTLVLen { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "The length of this TLV."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.5"; + } + + leaf ciiLSPTLVValue { + type binary { + length "0..255"; + } + description + "The value of this TLV."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9.2.1.6"; + } + } + } + } + + notification ciiDatabaseOverload { + description + "This notification is generated when the system + enters or leaves the Overload state. The number + of times this has be generated and cleared is kept + track of by ciiSysStatLSPDbaseOloads."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.1"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiSysLevelIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiSysLevelTable/CISCO-IETF-ISIS-MIB:ciiSysLevelEntry/CISCO-IETF-ISIS-MIB:ciiSysLevelIndex"; + } + } + + leaf ciiSysLevelOverloadState { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiSysLevelTable/CISCO-IETF-ISIS-MIB:ciiSysLevelEntry/CISCO-IETF-ISIS-MIB:ciiSysLevelOverloadState"; + } + } + } + } + + notification ciiManualAddressDrops { + description + "This notification is generated when one of the + manual areaAddresses assigned to this system is + ignored when computing routes. The object + ciiNotifManualAddress describes the area that + has been dropped. + + The number of times this event has been generated + is counted by ciiSysStatManAddrDropFromAreas. + + This notification is edge triggered, and should not + be regenerated until an address that was used in + the previous computation has been dropped."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.2"; + + container object-1 { + + leaf ciiNotifManualAddress { + type CISCO-IETF-ISIS-MIB:CiiOSINSAddress; + description + "Manually configured area address used in + this notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.12"; + } + } + } + + notification ciiCorruptedLSPDetected { + description + "This notification is generated when we find that + an LSP that was stored in memory has become + corrupted. The number of times this has been + generated is counted by ciiSysStatCorrLSPs. + + We forward an LSP ID. We may have independent + knowledge of the ID, but in some implementations + there is a chance that the ID itself will be + corrupted."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.3"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + } + + notification ciiAttemptToExceedMaxSequence { + description + "When the sequence number on an LSP we generate + wraps the 32 bit sequence counter, we purge and + wait to re-announce this information. This + notification describes that event. Since these + should not be generated rapidly, we generate + an event each time this happens. + + While the first 6 bytes of the LSPID are ours, + the other two contain useful information."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.4"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + } + + notification ciiIDLenMismatch { + description + "A notification sent when we receive a PDU + with a different value of the System ID Length. + This notification includes an index to identify + the circuit where we saw the PDU and the header of + the PDU which may help a network manager identify + the source of the confusion. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received on the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.5"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiPduFieldLen { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "Holds the System ID length reported in PDU we received."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.3"; + } + } + + container object-3 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-4 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiMaxAreaAddressesMismatch { + description + "A notification sent when we receive a PDU + with a different value of the Maximum Area + Addresses. This notification includes the + header of the packet, which may help a + network manager identify the source of the + confusion. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.6"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiPduMaxAreaAddress { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "Holds the Max Area Addresses reported in a PDU + we received."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.4"; + } + } + + container object-3 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-4 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiOwnLSPPurge { + description + "A notification sent when we receive a PDU + with our systemID and zero age. This + notification includes the circuit Index + and router ID from the LSP, if available, + which may help a network manager + identify the source of the confusion."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.7"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + } + + notification ciiSequenceNumberSkip { + description + "When we receive an LSP with our System ID + and different contents, we may need to reissue + the LSP with a higher sequence number. + + We send this notification if we need to increase + the sequence number by more than one. If two + Intermediate Systems are configured with the same + System ID, this notification will fire."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.8"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + } + + notification ciiAuthenticationTypeFailure { + description + "A notification sent when we receive a PDU + with the wrong authentication type field. + This notification includes the header of the + packet, which may help a network manager + identify the source of the confusion. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.9"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiAuthenticationFailure { + description + "A notification sent when we receive a PDU + with incorrect authentication information + field. This notification includes the header + of the packet, which may help a network manager + identify the source of the confusion. + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.10"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiVersionSkew { + description + "A notification sent when we receive a Hello + PDU from an IS running a different version + of the protocol. This notification includes + the header of the packet, which may help a + network manager identify the source of the + confusion. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.11"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduProtocolVersion { + type CISCO-IETF-ISIS-MIB:CiiUnsigned8TC; + description + "Holds the Protocol version reported in PDU we received."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.5"; + } + } + + container object-4 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiAreaMismatch { + description + "A notification sent when we receive a Hello + PDU from an IS which does not share any + area address. This notification includes + the header of the packet, which may help a + network manager identify the source of the + confusion. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.12"; + + container object-1 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-2 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiRejectedAdjacency { + description + "A notification sent when we receive a Hello + PDU from an IS, but do not establish an + adjacency for some reason. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.13"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiLSPTooLargeToPropagate { + description + "A notification sent when we attempt to propagate + an LSP which is larger than the dataLinkBlockSize + for the circuit. + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.14"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduLspSize { + type int32 { + range "0..2147483647"; + } + description + "Holds the size of LSP we received that is too + big to forward."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.6"; + } + } + + container object-4 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + } + + notification ciiOrigLSPBuffSizeMismatch { + description + "A notification sent when a Level 1 LSP or Level + 2 LSP is received which is larger than the local + value for ciiSysLevelOrigLSPBuffSize, or when an + LSP is received containing the originatingLSPBufferSize + option and the value in the PDU option field does + not match the local value for ciiSysLevelOrigLSPBuffSize. + We pass up the size from the option field or the + size of the LSP that exceeds our configuration. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.15"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + + container object-4 { + + leaf ciiPduOriginatingBufferSize { + type CISCO-IETF-ISIS-MIB:CiiUnsigned16TC { + range "0..16000"; + } + description + "Holds the size of ciiSysLevelOrigLSPBuffSize advertised by + the peer in the originatingLSPBufferSize TLV."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.7"; + } + } + } + + notification ciiProtocolsSupportedMismatch { + description + "A notification sent when a non-pseudonode + segment 0 LSP is received that has no matching + protocols supported. + This may be because the system does not generate + the field, or because there are no common elements. + The list of protocols supported should be included + in the notification: it may be empty if the TLV + is not supported, or if the TLV is empty. + + This should be an edge-triggered notification. + We should not send a second notification about + PDUs received from the same circuit."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.16"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduProtocolsSupported { + type binary { + length "0..255"; + } + description + "The list of protocols supported by an + adjacent system. This may be empty."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.8"; + } + } + + container object-4 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + + container object-5 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + } + + notification ciiAdjacencyChange { + description + "A notification sent when an adjacency changes + state, entering or leaving state up. + The first 6 bytes of the ciiPduLspId are the + SystemID of the adjacent IS. + The ciiAdjState is the new state of the adjacency."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.17"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-3 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + + container object-4 { + + leaf ciiAdjState { + type enumeration { + enum "down" { + value "1"; + } + enum "initializing" { + value "2"; + } + enum "up" { + value "3"; + } + enum "failed" { + value "4"; + } + } + description + "The current state of an adjacency."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.9"; + } + } + } + + notification ciiLSPErrorDetected { + description + "This notification is generated when we receive + an LSP with a parse error. The ciiCircIfIndex + holds in index of the circuit on which the PDU + arrived. The ciiPduFragment holds start of the LSP, + and the ciiErrorOffset points to the problem. + + If the problem is a mal-formed TLV, ciiErrorOffset + points to start of the TLV and ciiErrorTLVType + holds the value of the type. + + If the problem is with the LSP header, ciiErrorOffset + points to the suspicious byte. + + The number of such LSPs is accumulated in + ciiSysStatLSPErrors."; + smiv2:oid "1.3.6.1.4.1.9.10.118.0.18"; + + container object-1 { + + leaf ciiNotifIsLevelIndex { + type enumeration { + enum "level1IS" { + value "1"; + } + enum "level2IS" { + value "2"; + } + } + description + "The index value used in this notification + to indicate the system level."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.13"; + } + } + + container object-2 { + + leaf ciiPduLspId { + type CISCO-IETF-ISIS-MIB:CiiLinkStatePDUID; + description + "An Octet String that uniquely identifies + a Link State PDU."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.1"; + } + } + + container object-3 { + + leaf ciiCircIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIndex"; + } + } + + leaf ciiCircIfIndex { + type leafref { + path "/CISCO-IETF-ISIS-MIB:CISCO-IETF-ISIS-MIB/CISCO-IETF-ISIS-MIB:ciiCircTable/CISCO-IETF-ISIS-MIB:ciiCircEntry/CISCO-IETF-ISIS-MIB:ciiCircIfIndex"; + } + } + } + + container object-4 { + + leaf ciiPduFragment { + type CISCO-IETF-ISIS-MIB:CiiPDUHeader; + description + "Holds up to 64 initial bytes of a PDU that + triggered the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.2"; + } + } + + container object-5 { + + leaf ciiErrorOffset { + type uint32; + description + "An offset to a problem in a PDU. If the problem + is a malformed TLV, this points to the beginning + of the TLV. If the problem is in the header, this + points to the byte that is suspicious."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.10"; + } + } + + container object-6 { + + leaf ciiErrorTLVType { + type uint32 { + range "0..255"; + } + description + "The type for a malformed TLV."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1.11"; + } + } + } + + smiv2:alias "ciscoIetfIsisMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.118"; + } + + smiv2:alias "ciscoIetfIsisMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.10.118.0"; + } + + smiv2:alias "ciscoIetfIsisMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1"; + } + + smiv2:alias "ciiSystem" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1"; + } + + smiv2:alias "ciiSysObject" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.1.1"; + } + + smiv2:alias "ciiSysLevel" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.2"; + } + + smiv2:alias "ciiCirc" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.3"; + } + + smiv2:alias "ciiCircLevelValues" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.4"; + } + + smiv2:alias "ciiCounters" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.5"; + } + + smiv2:alias "ciiISAdj" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.6"; + } + + smiv2:alias "ciiReachAddr" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.7"; + } + + smiv2:alias "ciiIPReachAddr" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.8"; + } + + smiv2:alias "ciiLSPDataBase" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.9"; + } + + smiv2:alias "ciiNotification" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10"; + } + + smiv2:alias "ciiNotificationEntry" { + smiv2:oid "1.3.6.1.4.1.9.10.118.1.10.1"; + } + + smiv2:alias "ciscoIetfIsisMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.10.118.2"; + } + + smiv2:alias "ciscoIetfIsisMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.118.2.1"; + } + + smiv2:alias "ciscoIetfIsisMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.118.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-ID-STD-03-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-ID-STD-03-MIB.yang new file mode 100644 index 000000000..bf24456c4 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-ID-STD-03-MIB.yang @@ -0,0 +1,140 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-MPLS-ID-STD-03-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-MPLS-ID-STD-03-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-MPLS-ID-STD-03-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB"; + prefix CISCO-IETF-MPLS-ID-STD-03-MIB; + + import CISCO-MPLS-TC-EXT-STD-MIB { + prefix "cisco-mpls"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + "Venkatesan Mahalingam + Dell Inc, + 350 Holger way, San Jose, CA, USA + Email: venkat.mahalingams@gmail.com + + Kannan KV Sampath + Aricent, + India + Email: Kannan.Sampath@aricent.com + + Sam Aldrin + Huawei Technologies + 2330 Central Express Way, + Santa Clara, CA 95051, USA + Email: aldrin.ietf@gmail.com + + Thomas D. Nadeau + Juniper Networks + 10 Technology Park Drive, Westford, MA 01886 + Email: tnadeau@juniper.net"; + + description + "Copyright (c) 2012 IETF Trust and the persons identified + as the document authors. All rights reserved. + + This MIB module contains generic object definitions for + MPLS Traffic Engineering in transport networks. This module is a + cisco-ized version of the IETF draft: + draft-ietf-mpls-tp-te-mib-03."; + + revision 2012-06-07 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2012-04-08 { + description + "MPLS identifiers mib object extension"; + } + + + container CISCO-IETF-MPLS-ID-STD-03-MIB { + config false; + + container cmplsIdObjects { + smiv2:oid "1.3.6.1.4.1.9.10.147.1"; + + leaf cmplsGlobalId { + type cisco-mpls:CMplsGlobalId; + description + "This object allows the administrator to assign a unique + operator identifier also called MPLS-TP Global_ID."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.147.1.1"; + } + + leaf cmplsIcc { + type cisco-mpls:CMplsIccId; + description + "This object allows the operator or service provider to + assign a unique MPLS-TP ITU-T Carrier Code (ICC) to a + network."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.147.1.2"; + } + + leaf cmplsNodeId { + type cisco-mpls:CMplsNodeId; + description + "This object allows the operator or service provider to + assign a unique MPLS-TP Node_ID. + + The Node_ID is assigned within the scope of + the Global_ID."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.147.1.3"; + } + } + } + + smiv2:alias "cmplsIdStdMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.147"; + } + + smiv2:alias "cmplsIdNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.147.0"; + } + + smiv2:alias "cmplsIdObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.147.1"; + } + + smiv2:alias "cmplsIdConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.147.2"; + } + + smiv2:alias "cmplsIdGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.147.2.1"; + } + + smiv2:alias "cmplsIdCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.147.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-TE-EXT-STD-03-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-TE-EXT-STD-03-MIB.yang new file mode 100644 index 000000000..1d28a391b --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-MPLS-TE-EXT-STD-03-MIB.yang @@ -0,0 +1,622 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-MPLS-TE-EXT-STD-03-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-MPLS-TE-EXT-STD-03-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-MPLS-TE-EXT-STD-03-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB"; + prefix CISCO-IETF-MPLS-TE-EXT-STD-03-MIB; + + import CISCO-MPLS-TC-EXT-STD-MIB { + prefix "cisco-mpls"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import MPLS-TE-STD-MIB { + prefix "mpls-te"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + "Venkatesan Mahalingam + Dell Inc, + 350 Holger way, San Jose, CA, USA + Email: venkat.mahalingams@gmail.com + + Kannan KV Sampath + Aricent, + India + Email: Kannan.Sampath@aricent.com + + Sam Aldrin + Huawei Technologies + 2330 Central Express Way, + Santa Clara, CA 95051, USA + Email: aldrin.ietf@gmail.com + + Thomas D. Nadeau + Juniper Networks + 10 Technology Park Drive, Westford, MA 01886 + Email: tnadeau@juniper.net"; + + description + "Copyright (c) 2012 IETF Trust and the persons identified + as the document authors. All rights reserved. + This MIB module contains generic object definitions for + MPLS Traffic Engineering in transport networks.This module is a + cisco-ized version of the IETF draft: + draft-ietf-mpls-tp-te-mib-03"; + + revision 2012-06-06 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2012-04-08 { + description + "MPLS TE mib objects extension"; + } + + + container CISCO-IETF-MPLS-TE-EXT-STD-03-MIB { + config false; + + container cmplsNodeConfigTable { + description + "This table allows the administrator to map a node or + LSR Identifier (IP compatible [Global_Node_ID] or ICC) + with a local identifier. + + + This table is created to reuse the existing + mplsTunnelTable for MPLS based transport network + tunnels also. + Since the MPLS tunnel's Ingress/Egress LSR identifiers' + size (Unsigned32) value is not compatible for + MPLS-TP tunnel i.e. Global_Node_Id of size 8 bytes and + ICC of size 6 bytes, there exists a need to map the + Global_Node_ID or ICC with the local identifier of size + 4 bytes (Unsigned32) value in order + to index (Ingress/Egress LSR identifier) + the existing mplsTunnelTable."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1"; + + list cmplsNodeConfigEntry { + key "cmplsNodeConfigLocalId"; + description + "An entry in this table represents a mapping + identification for the operator or service provider + with node or LSR. + + As per [RFC6370], this mapping is + + represented as Global_Node_ID or ICC. + + Note: Each entry in this table should have a unique + Global_ID and Node_ID combination."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1"; + + leaf cmplsNodeConfigLocalId { + type cisco-mpls:CMplsLocalId; + description + "This object allows the administrator to assign a unique + local identifier to map Global_Node_ID or ICC."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.1"; + } + + leaf cmplsNodeConfigGlobalId { + type cisco-mpls:CMplsGlobalId; + description + "This object indicates the Global Operator Identifier. + This object value should be zero when + mplsNodeConfigIccId is configured with non-null value."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.2"; + } + + leaf cmplsNodeConfigNodeId { + type cisco-mpls:CMplsNodeId; + description + "This object indicates the Node_ID within the operator. + This object value should be zero when mplsNodeConfigIccId + is configured with non-null value."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.3"; + } + + leaf cmplsNodeConfigIccId { + type cisco-mpls:CMplsIccId; + description + "This object allows the operator or service provider to + configure a unique MPLS-TP ITU-T Carrier Code (ICC) + either for Ingress ID or Egress ID. + + This object value should be zero when + mplsNodeConfigGlobalId and mplsNodeConfigNodeId are + assigned with non-zero value."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.4"; + } + + leaf cmplsNodeConfigRowStatus { + type snmpv2-tc:RowStatus; + description + "This object allows the administrator to create, modify, + and/or delete a row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.5"; + } + + leaf cmplsNodeConfigStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.1.1.6"; + } + } + } + + container cmplsNodeIpMapTable { + description + "This read-only table allows the administrator to retrieve + the local identifier for a given Global_Node_ID in an IP + compatible operator environment. + + This table MAY be used in on-demand and/or proactive + OAM operations to get the Ingress/Egress LSR identifier + (Local Identifier) from Src-Global_Node_ID + or Dst-Global_Node_ID and the Ingress and Egress LSR + identifiers are used to retrieve the tunnel entry. + + This table returns nothing when the associated entry + is not defined in mplsNodeConfigTable."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.2"; + + list cmplsNodeIpMapEntry { + key "cmplsNodeIpMapGlobalId cmplsNodeIpMapNodeId"; + description + "An entry in this table represents a mapping of + Global_Node_ID with the local identifier. + + An entry in this table is created automatically when + the Local identifier is associated with Global_ID and + Node_Id in the mplsNodeConfigTable. + Note: Each entry in this table should have a unique + Global_ID and Node_ID combination."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.2.1"; + + leaf cmplsNodeIpMapGlobalId { + type cisco-mpls:CMplsGlobalId; + description + "This object indicates the Global_ID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.2.1.1"; + } + + leaf cmplsNodeIpMapNodeId { + type cisco-mpls:CMplsNodeId; + description + "This object indicates the Node_ID within the + operator."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.2.1.2"; + } + + leaf cmplsNodeIpMapLocalId { + type cisco-mpls:CMplsLocalId; + description + "This object contains an IP compatible local identifier + which is defined in mplsNodeConfigTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.2.1.3"; + } + } + } + + container cmplsNodeIccMapTable { + description + "This read-only table allows the administrator to retrieve + the local identifier for a given ICC operator in an ICC + operator environment. + + This table MAY be used in on-demand and/or proactive + OAM operations to get the Ingress/Egress LSR + identifier (Local Identifier) from Src-ICC + or Dst-ICC and the Ingress and Egress LSR + identifiers are used to retrieve the tunnel entry. + This table returns nothing when the associated entry + is not defined in mplsNodeConfigTable."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.3"; + + list cmplsNodeIccMapEntry { + key "cmplsNodeIccMapIccId"; + description + "An entry in this table represents a mapping of ICC with + the local identifier. + + An entry in this table is created automatically when + the Local identifier is associated with ICC in + the mplsNodeConfigTable."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.3.1"; + + leaf cmplsNodeIccMapIccId { + type cisco-mpls:CMplsIccId; + description + "This object allows the operator or service provider to + configure a unique MPLS-TP ITU-T Carrier Code (ICC) + either for Ingress or Egress LSR ID. + + The ICC is a string of one to six characters, each + character being either alphabetic (i.e. A-Z) or + numeric (i.e. 0-9) characters. Alphabetic characters + in the ICC should be represented with upper case + letters."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.3.1.1"; + } + + leaf cmplsNodeIccMapLocalId { + type cisco-mpls:CMplsLocalId; + description + "This object contains an ICC based local identifier + which is defined in mplsNodeConfigTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.3.1.2"; + } + } + } + + container cmplsTunnelExtTable { + description + "This table represents MPLS-TP specific extensions to + mplsTunnelTable. + + As per MPLS-TP Identifiers [RFC6370], LSP_ID for IP based + co-routed bidirectional tunnel, + + A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: + Node_ID::Tunnel_Num}::LSP_Num + + LSP_ID for IP based associated bidirectional tunnel, + A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: + Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num} + + mplsTunnelTable is reused for forming the LSP_ID + as follows, + + Source Tunnel_Num is mapped with mplsTunnelIndex, + Source Node_ID is mapped with + mplsTunnelIngressLSRId, Destination Node_ID is + mapped with mplsTunnelEgressLSRId LSP_Num is mapped with + mplsTunnelInstance. + + Source Global_Node_ID and/or ICC and Destination + Global_Node_ID and/or ICC are maintained in the + mplsNodeConfigTable and mplsNodeConfigLocalId is + used to create an entry in mplsTunnelTable."; + reference + "MPLS-TP Identifiers [RFC6370]."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4"; + + list cmplsTunnelExtEntry { + key "mplsTunnelIndex mplsTunnelInstance mplsTunnelIngressLSRId mplsTunnelEgressLSRId"; + description + "An entry in this table represents MPLS-TP + specific additional tunnel configurations."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1"; + + leaf mplsTunnelIndex { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelEgressLSRId"; + } + } + + leaf cmplsTunnelOppositeDirPtr { + type snmpv2-tc:RowPointer; + description + "This object is applicable only for the bidirectional + tunnel that has the forward and reverse LSPs in the + same tunnel or in the different tunnels. + + This object holds the opposite direction tunnel entry + if the bidirectional tunnel is setup by configuring two + tunnel entries in mplsTunnelTable. + + The value of zeroDotZero indicates single tunnel entry + is used for bidirectional tunnel setup."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1.1"; + } + + leaf cmplsTunnelExtOppositeDirTnlValid { + type boolean; + description + "Denotes whether or not this tunnel uses + mplsTunnelOppositeDirPtr for identifying the opposite + direction tunnel information. Note that if this variable + is set to true then the mplsTunnelOppositeDirPtr should + point to the first accessible row of the opposite + direction tunnel."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1.2"; + } + + leaf cmplsTunnelExtDestTnlIndex { + type mpls-tc:MplsTunnelIndex; + description + "This object is applicable only for the bidirectional + tunnel that has the forward and reverse LSPs in the + same tunnel or in the different tunnels. + + This object holds the same value as that of the + mplsTunnelIndex of mplsTunnelEntry if the forward and + reverse LSPs are in the same tunnel. Otherwise, + this object holds the value of the other direction + associated LSP's mplsTunnelIndex from a different + tunnel. + + The values of this object and the + mplsTunnelExtDestTnlLspIndex object together can be used + to identify an opposite direction LSP i.e. if the + mplsTunnelIndex and mplsTunnelInstance hold the value + for forward LSP, this object and + mplsTunnelExtDestTnlLspIndex can be used to retrieve + the reverse direction LSP and vice versa. + + This object and mplsTunnelExtDestTnlLspIndex values + provide the first two indices of tunnel entry and + the remaining indices can be derived as follows, + if both the forward and reverse LSPs are present in + the same tunnel, the opposite direction LSP's Ingress + and Egress Identifier will be same for both the LSPs, + else the Ingress and Egress Identifiers should be + swapped in order to index the other direction tunnel."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1.3"; + } + + leaf cmplsTunnelExtDestTnlLspIndex { + type mpls-tc:MplsTunnelInstanceIndex; + description + "This object is applicable only for the bidirectional + tunnel that has the forward and reverse LSPs in the + same tunnel or in the different tunnels. + + This object should contain different value if both the + forward and reverse LSPs present in the same tunnel. + + This object can contain same value or different values + if the forward and reverse LSPs present in the different + tunnels."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1.4"; + } + + leaf cmplsTunnelExtDestTnlValid { + type boolean; + description + "Denotes whether or not this tunnel uses + mplsTunnelExtDestTnlIndex and + mplsTunnelExtDestTnlLspIndex for identifying + the opposite direction tunnel information. Note that if + this variable is set to true then the + mplsTunnelExtDestTnlIndex and + mplsTunnelExtDestTnlLspIndex objects should have + the valid opposite direction tunnel indices."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.4.1.5"; + } + } + } + + container cmplsTunnelReversePerfTable { + description + "This table extends the mplsTunnelTable to provide + per-tunnel packet performance information for the reverse + direction of a bidirectional tunnel. It can be seen as + supplementing the mplsTunnelPerfTable, which augments the + mplsTunnelTable. + + For links that do not transport packets, these packet + counters cannot be maintained. For such links, attempts + to read the objects in this table will return + noSuchInstance."; + reference + "1. Multiprotocol Label Switching (MPLS) Traffic + Engineering (TE)Management Information Base (MIB), + RFC 3812."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5"; + + list cmplsTunnelReversePerfEntry { + key "mplsTunnelIndex mplsTunnelInstance mplsTunnelIngressLSRId mplsTunnelEgressLSRId"; + description + "An entry in this table is created by the LSR for every + bidirectional MPLS tunnel where packets are visible to the + LSR."; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1"; + + leaf mplsTunnelIndex { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/mpls-te:MPLS-TE-STD-MIB/mpls-te:mplsTunnelTable/mpls-te:mplsTunnelEntry/mpls-te:mplsTunnelEgressLSRId"; + } + } + + leaf cmplsTunnelReversePerfPackets { + type yang:counter32; + description + "Number of packets forwarded on the tunnel in the reverse + direction if it is bidirectional. + + This object represents the 32-bit value of the least + significant part of the 64-bit value if both + mplsTunnelReversePerfHCPackets and this object + are returned. + + For links that do not transport packets, this packet + counter cannot be maintained. For such links, this value + will return noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1.1"; + } + + leaf cmplsTunnelReversePerfHCPackets { + type yang:counter64; + description + "High-capacity counter for number of packets forwarded on + the tunnel in the reverse direction if it is + bidirectional. + + For links that do not transport packets, this packet + counter cannot be maintained. For such links, this value + will return noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1.2"; + } + + leaf cmplsTunnelReversePerfErrors { + type yang:counter32; + description + "Number of errored packets received on the tunnel in + the reverse direction if it is bidirectional. For links + that do not transport packets, this packet counter cannot + be maintained. For such links, this value will return + noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1.3"; + } + + leaf cmplsTunnelReversePerfBytes { + type yang:counter32; + description + "Number of bytes forwarded on the tunnel in the reverse + direction if it is bidirectional. + + This object represents the 32-bit value of the least + significant part of the 64-bit value if both + mplsTunnelReversePerfHCBytes and this object are returned. + + For links that do not transport packets, this packet + counter cannot be maintained. For such links, this value + will return noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1.4"; + } + + leaf cmplsTunnelReversePerfHCBytes { + type yang:counter64; + description + "High-capacity counter for number of bytes forwarded on the + tunnel in the reverse direction if it is bidirectional. + + For links that do not transport packets, this packet + counter cannot be maintained. For such links, this value + will return noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.146.1.5.1.5"; + } + } + } + } + + smiv2:alias "cmplsTeExtStdMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.146"; + } + + smiv2:alias "cmplsTeExtNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.146.0"; + } + + smiv2:alias "cmplsTeExtObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.146.1"; + } + + smiv2:alias "cmplsTeExtConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.146.2"; + } + + smiv2:alias "cmplsTeExtGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.146.2.1"; + } + + smiv2:alias "cmplsTeExtCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.146.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ATM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ATM-MIB.yang new file mode 100644 index 000000000..6a63c5815 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ATM-MIB.yang @@ -0,0 +1,370 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-ATM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-ATM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-ATM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB"; + prefix CISCO-IETF-PW-ATM-MIB; + + import ATM-TC-MIB { + prefix "atm-tc"; + } + + import CISCO-IETF-PW-MIB { + prefix "cisco-ietf"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc"; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + Email: cs-atm@cisco.com"; + + description + "This MIB contains managed object definitions for Pseudo Wire + emulation of ATM over Packet Switched Networks(PSN). + + This MIB reports to the PW-MIB. The PW-MIB contains + structures and MIB associations generic to Pseudo-Wire + Virtual Circuit (VC) emulation. VC-specific MIBs (such as + this) contain config and stats for specific VC types."; + + revision 2005-04-19 { + description + "Updated Mib police review comments"; + } + + revision 2003-02-16 { + description + "Initial Version"; + } + + + container CISCO-IETF-PW-ATM-MIB { + config false; + + container cpwVcAtmTable { + description + "This table specifies the information for an ATM interface, VC, + VP to be carried over PSN."; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1"; + + list cpwVcAtmEntry { + key "cpwVcIndex"; + description + "A row in this table represents an ATM interface, VC, VP + that needs to be adapted and carried over PSN. This table + is indexed by CpwVcIndex in CISCO-IETF-PW-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwAtmIf { + type if-mib:InterfaceIndex; + description + "The ATM Interface that receives cells from the ATM network."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.1"; + } + + leaf cpwAtmVpi { + type atm-tc:AtmVpIdentifier; + description + "VPI value of this ATM VC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.2"; + } + + leaf cpwAtmVci { + type atm-tc:AtmVcIdentifier; + description + "VCI value of this ATM VC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.3"; + } + + leaf cpwAtmClpQosMapping { + type boolean; + description + "This Object indicates whether the CLP bits are considered when + determining the value placed in the Quality of Service fields + (e.g. EXP fields of the MPLS Label Stack) of the encapsulating + protocol."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.4"; + } + + leaf cpwAtmRowStatus { + type snmpv2-tc:RowStatus; + description + "This Object is used to create, modify or delete a row in this + table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.5"; + } + + leaf cpwAtmOamCellSupported { + type boolean; + description + "This Object indicates whether OAM Cells are transported on this + VC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.6"; + } + + leaf cpwAtmQosScalingFactor { + type int32; + description + "This Object represents the scaling factor (% value) to be + applied to ATM QoS rates when calculating QoS rates for the + PSN domain . For example, in the cell transport mode the + bandwidth needed in the PSN domain will be higher (since PSN + Transport header, PW header, and optional control word have + to transmitted with every cell), whereas in the AAL5 mode + the bandwidth needed in PSN domain will be less since cell + headers will be removed after reassembly."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.7"; + } + + leaf cpwAtmCellPacking { + type boolean; + description + "This object is used to identify if the VC is configured to do + Cell Packing."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.8"; + } + + leaf cpwAtmMncp { + type int32; + description + "This object indicates the maximum number of cells that get + packed in one packet."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.9"; + } + + leaf cpwAtmPeerMncp { + type int32; + description + "This Object represents the maximum number of cell + that can be packed in one packet for peer interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.10"; + } + + leaf cpwAtmEncap { + type enumeration { + enum "mpls" { + value "1"; + } + enum "l2tpv3" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "This object indicates if the packet going on the pseudowire + is mpls or l2tpv3 encapsulated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.11"; + } + + leaf cpwAtmMcptTimeout { + type int32; + description + "This Object represents which MCPT timeout value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.1.1.12"; + } + } + } + } + + smiv2:alias "cpwVcAtmPerfTable" { + description + "This table specifies performance-related attributes + for an ATM vc, vp and the interface."; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2"; + } + + smiv2:alias "cpwVcAtmPerfEntry" { + description + "A row in this table represents an ATM interface, VC, VP + that needs to be adapted and carried over PSN. This table + is indexed by CpwVcIndex in CISCO-IETF-PW-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1"; + } + + augment "/CISCO-IETF-PW-ATM-MIB:CISCO-IETF-PW-ATM-MIB/CISCO-IETF-PW-ATM-MIB:cpwVcAtmTable/CISCO-IETF-PW-ATM-MIB:cpwVcAtmEntry" { + description + "A row in this table represents an ATM interface, VC, VP + that needs to be adapted and carried over PSN. This table + is indexed by CpwVcIndex in CISCO-IETF-PW-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1"; + + leaf cpwAtmCellsReceived { + type yang:counter32; + description + "This object can be used to obtain the information on the + number of cells that were received and sent to the PSN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.1"; + } + + leaf cpwAtmCellsSent { + type yang:counter32; + description + "This object can be used to obtain the information on the + number of cells that were received from the PSN and sent + over the ATM network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.2"; + } + + leaf cpwAtmCellsRejected { + type yang:counter32; + description + "This Object indicates the number of cells that were rejected by + this VC because of policing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.3"; + } + + leaf cpwAtmCellsTagged { + type yang:counter32; + description + "This Object indicates the number of cells that were Tagged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.4"; + } + + leaf cpwAtmHCCellsReceived { + type yang:counter64; + description + "High Capacity counter for the number of cells that were + received by this VC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.5"; + } + + leaf cpwAtmHCCellsRejected { + type yang:counter64; + description + "High Capacity counter for the number of cells that were + rejected by this VC because of policing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.6"; + } + + leaf cpwAtmHCCellsTagged { + type yang:counter64; + description + "High Capacity counter for the number of cells that were tagged"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.7"; + } + + leaf cpwAtmAvgCellsPacked { + type yang:counter32; + description + "It indicates the Average number of cells that + were received in one packet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.8"; + } + + leaf cpwAtmPktsReceived { + type yang:counter32; + description + "This object can be used to obtain the information on the + number of packets that were received and sent to the PSN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.9"; + } + + leaf cpwAtmPktsSent { + type yang:counter32; + description + "This object indicates the number of packets that were sent + to the atm network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.10"; + } + + leaf cpwAtmPktsRejected { + type yang:counter32; + description + "This object indicates the number of packets that were rejected + because of Policing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.9000.1.2.1.11"; + } + } + + smiv2:alias "cpwVcAtmMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.9000"; + } + + smiv2:alias "cpwVcAtmNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.9000.0"; + } + + smiv2:alias "cpwVcAtmObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.9000.1"; + } + + smiv2:alias "cpwVcAtmConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.9000.2"; + } + + smiv2:alias "cpwVcAtmGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.9000.2.1"; + } + + smiv2:alias "cpwVcAtmCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.9000.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ENET-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ENET-MIB.yang new file mode 100644 index 000000000..1bfcc7d3c --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-ENET-MIB.yang @@ -0,0 +1,447 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-ENET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-ENET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-ENET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB"; + prefix CISCO-IETF-PW-ENET-MIB; + + import CISCO-IETF-PW-MIB { + prefix "cisco-ietf"; + } + + import CISCO-IETF-PW-TC-MIB { + prefix "cisco-ietf-pw"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF PWE3 Working group"; + + contact + "David Zelig + Postal: Corrigent Systems + 126, Yigal Alon St. + Tel-Aviv, ISRAEL + Tel: +972-3-6945273 + E-mail: davidz@corrigent.com + + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-497-3051 + Email: tnadeau@cisco.com "; + + description + "This MIB describes a model for managing Ethernet + point-to-point pseudo wire services over a Packet + Switched Network (PSN)."; + + revision 2002-09-22 { + description + " Submited as draft-pwe3-enet-mib-00. + Changes from previous version: + 1) Alignment with draft-pwe3-ethernet-encap-00.txt: + removing 'rangeVLAN' mode and the associated objects. + 2) Relaxing requirement on value of pwVcEnetPortVlan in + port mode. "; + } + + revision 2002-08-20 { + description + "Changes from previous version: + 1) Add pwVcEnetVcIfIndex - Option for VC as ifIndex. + 2) Change counters to 64 bits. + 3) Add mode for adding/removing VLAN fields between PW and + CE bound interface. + 4) Referencing draft-martini instead of draft-so. + 5) Editorial changes for some description clauses. + 6) MPLS PRI mapping table to be independent (not augmented). + 7) Adapt descriptions and rules of use to + dratf-ietf-pwe3-Ethernet-encap-00. "; + } + + revision 2002-02-03 { + description + "initial revision as -00 draft"; + } + + + container CISCO-IETF-PW-ENET-MIB { + config false; + + container cpwVcEnetTable { + description + "This table contains the index to the Ethernet tables + associated with this ETH VC, the VLAN configuration and + VLAN mode."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1"; + + list cpwVcEnetEntry { + key "cpwVcIndex cpwVcEnetPwVlan"; + description + "This table is indexed by the same index that was created + for the associated entry in the PW VC Table in the + CISCO-IETF-PW-MIB. The CpwVcIndex and the cpwVcEnetPwVlan + are used as indexes to allow multiple VLANs to exist on + the same PW. + + An entry is created in this table by the agent for every + entry in the cpwVc table with a VcType of 'ethernetVLAN', + 'ethernet' or 'ethernetVPLS'. Additional rows may be + created by the operator or the agent if multiple entries + are required for the same VC. + + This table provides Ethernet port mapping and VLAN + configuration for each Ethernet VC."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwVcEnetPwVlan { + type cisco-ietf-pw:CpwVcVlanCfg; + description + "This Object defines the VLAN on the VC. The value of 4097 + is used if the object is not applicable, for example when + mapping all packets from an Ethernet port to this VC. + The value of 4096 is used to indicate untagged frames (at + least from the PW point of view), for example if + cpwVcEnetVlanMode is equal 'removeVLAN' or when + cpwVcEnetVlanMode equal 'noChange' and cpwVcEnetPortVlan + is equal 4096."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.1"; + } + + leaf cpwVcEnetVlanMode { + type enumeration { + enum "other" { + value "0"; + } + enum "portBased" { + value "1"; + } + enum "noChange" { + value "2"; + } + enum "changeVlan" { + value "3"; + } + enum "addVlan" { + value "4"; + } + enum "removeVlan" { + value "5"; + } + } + description + "Indicate the mode of VLAN handling between the port + associated to the VC and the VC encapsulation itself. + + - 'other' indicate operation that is not defined by + this MIB. + + - 'portBased' indicates that the forwarder will forward + packets between the port and the PW independent of their + structure. + + - 'noChange' indicates that the VC contains the original + user VLAN, as specified in cpwVcEnetPortVlan. + + - 'changeVlan' indicates that the VLAN field on the VC + may be different than the VLAN field on the user's + port. + + - 'removeVlan' indicates that the encapsulation on the + VC does not include the original VLAN field. Note + that PRI bits transparency is lost in this case. + + - 'addVlan' indicate that a VLAN field will be added + on the PSN bound direction. cpwVcEnetPwVlan indicate + the value that will be added. + + - 'removeVlan', 'addVlan' and 'changeVlan' implementation + is not required. "; + smiv2:defval "noChange"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.2"; + } + + leaf cpwVcEnetPortVlan { + type cisco-ietf-pw:CpwVcVlanCfg; + description + "This object define the VLAN value on the physical port (or + VPLS virtual port) if a change is required to the VLAN value + between the VC and the physical/virtual port. + + The value of this object can be ignored if the whole traffic + from the port is forwarded to one VC independent of the + tagging on the port, but it is RECOMENDED that the value in + this case will be '4097' indicating not relevant. + + It MUST be equal to cpwVcEnetPwVlan if 'noChange' mode + is used. + + The value 4096 indicate that no VLAN (i.e. untagged + frames) on the port are associated to this VC. This + allows the same behaviors as assigning 'Default VLAN' + to un-tagged frames. "; + smiv2:defval "4097"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.3"; + } + + leaf cpwVcEnetVcIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "It is sometimes convenient to model the VC PW as a + virtual interface in the ifTable. In these cases this + object hold the value of the ifIndex in the ifTable + representing this VC PW. A value of zero indicate no such + association or association is not yet known."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.4"; + } + + leaf cpwVcEnetPortIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This object is used to specify the ifIndex of the ETHERNET + port associated with this VC for point-to-point Ethernet + service, or the ifIndex of the virtual interface of the VPLS + instance associated with the PW if the service is VPLS. Two + rows in this table can point to the same ifIndex only if: + + 1) It is required to support multiple COS on a MPLS PSN + for the same service (i.e.: a combination of ports and + VLANs) by the use of multiple VC, each with a different + COS. + + 2) There is no overlap of VLAN values specified in + cpwVcEnetPortVlan that are associated with this port. + + A value of zero indicate that association to an ifIndex is + not yet known."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.5"; + } + + leaf cpwVcEnetRowStatus { + type snmpv2-tc:RowStatus; + description + "Enable creating, deleting and modifying this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.6"; + } + + leaf cpwVcEnetStorageType { + type snmpv2-tc:StorageType; + description + "Indicates the storage type of this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.1.1.7"; + } + } + } + + container cpwVcEnetMplsPriMappingTable { + description + "This table may be used for MPLS PSNs if there is a need + to hold multiple VC, each with different COS, for the same + user service (port + PW VLAN). Such a need may arise if the + MPLS network is capable of L-LSP or E-LSP without multiple + COS capabilities. Each row is indexed by the cpwVcIndex + and indicate the PRI bits on the packet recieved from the + user port (or VPLS virtual port) that are + classified to this VC. Note that the EXP bit value of the VC + is configured in the CISCO-IETF-PW-MPLS-MIB."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.2"; + + list cpwVcEnetMplsPriMappingTableEntry { + key "cpwVcIndex"; + description + "Each entry is created if special classification based on + the PRI bits is required for this VC."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.2.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwVcEnetMplsPriMapping { + type bits { + bit pri000 { + position "0"; + } + bit pri001 { + position "1"; + } + bit pri010 { + position "2"; + } + bit pri011 { + position "3"; + } + bit pri100 { + position "4"; + } + bit pri101 { + position "5"; + } + bit pri110 { + position "6"; + } + bit pri111 { + position "7"; + } + bit untagged { + position "8"; + } + } + description + "This object defines the groups of user PRI mapped into + this VC. Each bit set indicates that this user priority + is assigned to this VC. + + The value 'untagged' is used to indicate that untagged + frames are also associated to this VC. + + This object allow the use of different PSN COS based on + user marking of PRI bits in MPLS PSN with L-LSP or + E-LSP without multiple COS support. In all other cases, + the default value MUST be used. + + It is REQUIRED that there is no overlap on this object + between rows serving the same service (port+ PW VLAN). + + In case of missing BIT configuration between rows to + the same service, incoming packets with PRI marking not + configured should be handled by the VC with the lowest + COS. "; + reference + "See appendix A of + for mapping rules of the PRI bits to PSN COS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.2.1.1"; + } + + leaf cpwVcEnetMplsPriMappingRowStatus { + type snmpv2-tc:RowStatus; + description + "Enable creating, deleting and modifying this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.2.1.2"; + } + + leaf cpwVcEnetMplsPriMappingStorageType { + type snmpv2-tc:StorageType; + description + "Indicates the storage type of this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.2.1.3"; + } + } + } + + container cpwVcEnetStatsTable { + description + "This table contains statistical counters specific for + Ethernet PW."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.3"; + + list cpwVcEnetStatsEntry { + key "cpwVcIndex"; + description + "Each entry represents the statistics gathered for the + VC carrying the Ethernet packets since this VC was + first created in the cpwVcEnetTable."; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.3.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwVcEnetStatsIllegalVlan { + type yang:counter64; + description + "The number of packets received (from the PSN) on this VC with + an illegal VLAN field, missing VLAN field that was expected, or + A VLAN field when it was not expected. This counter is not + relevant if the VC type is 'ethernet' (i.e. raw mode), and + should be set to 0 by the agent to indicate this."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.3.1.1"; + } + + leaf cpwVcEnetStatsIllegalLength { + type yang:counter64; + description + "The number of packets that were received with an illegal + Ethernet packet length on this VC. An illegal length is defined + as being greater than the value in the advertised maximum MTU + supported, or shorter than the allowed Ethernet packet size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.108.1.3.1.2"; + } + } + } + } + + smiv2:alias "cpwVcEnetMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.108"; + } + + smiv2:alias "cpwVcEnetNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.108.0"; + } + + smiv2:alias "cpwVcEnetObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.108.1"; + } + + smiv2:alias "cpwVcEnetConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.108.2"; + } + + smiv2:alias "cpwVcEnetGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.108.2.1"; + } + + smiv2:alias "cpwVcEnetCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.108.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MIB.yang new file mode 100644 index 000000000..e32851f80 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MIB.yang @@ -0,0 +1,1228 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB"; + prefix CISCO-IETF-PW-MIB; + + import CISCO-IETF-PW-TC-MIB { + prefix "cisco-ietf"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-497-3051 + Email: tnadeau@cisco.com + + MPLS MIB Development Team + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01924 + Tel: +1-978-497-3989 + Email: ch-mpls-mib-dev@cisco.com"; + + description + "This MIB contains managed object definitions for Pseudo + Wire operation as in: Pate, P., et al, , Xiao, X., et al, , Martini, L., et al, , and Martini, L., et al, + . + + The indexes for this MIB are also used to index the PSN- + specific tables and the VC-specific tables. The VC Type + dictates which VC-specific MIB to use. For example, a + 'cep' VC Type requires the use the configuration and status + tables within the CEP-MIB. + + This MIB enable the use of any underlying packet switched + network (PSN). Specific tables for the MPLS PSN is + currently defined in a separate CISCO-IETF-PW-MPLS-MIB. + Tables to support other PSNs (IP, L2TP for example) will + be added to this MIB in future revisions. + + At the time of publication of this version, there are no + PWE3 WG documents for all features and objects in this MIB, + and the MIB is therefore subject to change based on the WG + progress."; + + revision 2004-03-17 { + description + "1) Added notifications group: + -cpwVcUpDownNotifEnable + -cpwVcNotifRate + -cpwVcDown + -cpwVcUp + 2) Added CANA OID value ciscoExperiment.106 + 3) updated based on MIB police comments + -replaced un-cisco-ized variable names w/ + cisco-ized names in descriptions (e.g. pwVcxxx + replaced w/ cpwVcxxx)"; + } + + revision 2003-02-26 { + description + "Made Cisco proprietary based on the PW-MIB.my file + extracted from draft-ietf-pwe3-pw-mib-00.txt"; + } + + revision 2002-05-26 { + description + "Moved to draft-ietf-00 status. Changes from previous draft: + 1) Change name of pwVcPriority to pwVcSetUpPriority and + added pwVcHoldingPriority. + 2) Add pwVcIdMappingTable and pwVcPeersMappingTable to help + ordered query of the MIB tables for EMS applications. + 3) Clarification to work in progress objects. + 4) Editorial and typos in descriptions. + 5) Added pwVcPerfTotalDiscontinuityTime and + pwVcPerfIntervalTimeElapsed. + 6) Remove 32 bit counters. "; + } + + revision 2002-01-30 { + description + " Changes from -01 draft: + 1) Inbound and outbound clarification and name changes. + 2) Removing pwVcPeerIpv4Addr and pwVcPeerIpv6Addr, + replacing them with pwVcPeerAddr and adding type for + address type selection. + 3) Adding type for VC OperStatus. + 4) Adding pwVcTimeElapsed and pwVcValidIntervals. "; + } + + revision 2001-11-07 { + description + "Changes from -00 draft: + 1) Remove VcInstance from tables indexes in order to simplify + the MIB. + 2) Removing APS 1+1 table. + 3) Changing hdlcCisco to hdlc in pwVcType. + 4) Add description of VC label at pending PW signaling stage. + 5) Add interval valid object in interval performance tables. + 6) Remove VC APS notification. + 7) Change 'conservative'/'liberal' to 'strict'/'loose'. + 8) Add objects for interface MTU, use of control word, + interface string. + 9) Ordering of objects based on functionality. + 10) Update operation of pwVcOperStatus. "; + } + + revision 2001-07-11 { + description + "draft-00 version"; + } + + + container CISCO-IETF-PW-MIB { + config false; + + container cpwVcObjects { + smiv2:oid "1.3.6.1.4.1.9.10.106.1"; + + leaf cpwVcIndexNext { + type uint32; + description + "This object contains an appropriate value to be used + for cpwVcIndex when creating entries in the + cpwVcTable. The value 0 indicates that no + unassigned entries are available. To obtain the + value of cpwVcIndex for a new entry in the + cpwVcTable, the manager issues a management + protocol retrieval operation to obtain the current + value of cpwVcIndex. After each retrieval + operation, the agent should modify the value to + reflect the next unassigned index. After a manager + retrieves a value the agent will determine through + its local policy when this index value will be made + available for reuse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.1"; + } + + leaf cpwVcPerfTotalErrorPackets { + type yang:counter64; + description + "Counter for number of error at VC level processing, for + example packets received with unknown VC label."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.6"; + } + + leaf cpwVcUpDownNotifEnable { + type boolean; + description + "If this object is set to true(1), then it enables + the emission of cpwVcUp and cpwVcDown + notifications; otherwise these notifications are not + emitted."; + reference + "See also RFC3413 for explanation that + notifications are under the ultimate control of the + MIB modules in this document."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.9"; + } + + leaf cpwVcNotifRate { + type uint32; + description + "This object defines the maximum number of PW VC notifications + that can be emitted from the device per second."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.10"; + } + } + + container cpwVcTable { + description + "This table specifies information for connecting various + emulated services to various tunnel type."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2"; + + list cpwVcEntry { + key "cpwVcIndex"; + description + "A row in this table represents an emulated virtual + connection (VC) across a packet network. It is indexed by + cpwVcIndex, which uniquely identifying a singular + connection. "; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1"; + + leaf cpwVcIndex { + type cisco-ietf:CpwVcIndexType; + description + "Index for the conceptual row identifying a VC within + this PW Emulation VC table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.1"; + } + + leaf cpwVcType { + type cisco-ietf:CpwVcType; + description + "This value indicate the service to be carried over + this VC. + Note: the exact set of VC types is yet to be worked + out by the WG. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.2"; + } + + leaf cpwVcOwner { + type enumeration { + enum "manual" { + value "1"; + } + enum "maintenanceProtocol" { + value "2"; + } + enum "other" { + value "3"; + } + } + description + "Set by the operator to indicate the protocol responsible + for establishing this VC. Value 'manual' is used in all + cases where no maintenance protocol (PW signaling) is used + to set-up the VC, i.e. require configuration of entries in + the VC tables including VC labels, etc. The value + 'maintenanceProtocol' is used in case of standard + signaling of the VC for the specific PSN, for example LDP + for MPLS PSN as specified in or L2TP control protocol. + Value 'other' is used for other types of signaling."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.3"; + } + + leaf cpwVcPsnType { + type enumeration { + enum "mpls" { + value "1"; + } + enum "l2tp" { + value "2"; + } + enum "ip" { + value "3"; + } + enum "mplsOverIp" { + value "4"; + } + enum "gre" { + value "5"; + } + enum "other" { + value "6"; + } + } + description + "Set by the operator to indicate the PSN type on which this + VC will be carried. Based on this object, the relevant PSN + table entries are created in the in the PSN specific MIB + modules. For example, if mpls(1) is defined, the agent + create an entry in cpwVcMplsTable, which further define the + MPLS PSN configuration. + Note: the exact set of PSN types is yet to be worked + out by the WG. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.4"; + } + + leaf cpwVcSetUpPriority { + type int32 { + range "0..7"; + } + description + "This object define the relative set-up priority of the VC + in a lowest-to-highest fashion, where 0 is the highest + priority. VCs with the same priority are treated with + equal priority. Dropped VC will be set 'dormant' (as + indicated in cpwVcOperStatus). + This value is significant if there are competing resources + between VCs and the implementation support this feature. + If not supported or not relevant, the value of zero MUST + be used."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.5"; + } + + leaf cpwVcHoldingPriority { + type int32 { + range "0..7"; + } + description + "This object define the relative holding priority of the VC + in a lowest-to-highest fashion, where 0 is the highest + priority. VCs with the same priority are treated with + equal priority. Dropped VC will be set 'dormant' (as + indicated in cpwVcOperStatus). + This value is significant if there are competing resources + between VCs and the implementation support this feature. + If not supported or not relevant, the value of zero MUST + be used."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.6"; + } + + leaf cpwVcInboundMode { + type enumeration { + enum "loose" { + value "1"; + } + enum "strict" { + value "2"; + } + } + description + "This object is used to enable greater security for + implementation that use per platform VC label space. In + strict mode, packets coming from the PSN are accepted only + from tunnels that are associated to the same VC via the + inbound tunnel table in the case of MPLS, or as identified + by the source IP address in case of L2TP or IP PSN. The + entries in the inbound tunnel table are either explicitly + configured or implicitly known by the maintenance protocol + used for VC set-up. + + If such association is not known, not configured or not + desired, loose mode should be configured, and the node + should accept the packet based on the VC label only + regardless of the outer tunnel used to carry the VC."; + smiv2:defval "loose"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.7"; + } + + leaf cpwVcPeerAddrType { + type inet-address:InetAddressType; + description + "Denotes the address type of the peer node maintenance + protocol (signaling) address if PW maintenance protocol is + used for the VC creation. It should be set to + 'unknown' if PE/PW maintenance protocol is not used, + i.e. cpwVcOwner is set to 'manual'. "; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.8"; + } + + leaf cpwVcPeerAddr { + type inet-address:InetAddress; + description + "This object contains the value of of the peer node address + of the PW/PE maintenance protocol entity. This object + should contain a value of 0 if not relevant (manual + configuration of the VC)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.9"; + } + + leaf cpwVcID { + type cisco-ietf:CpwVcIDType; + description + "Used in the outgoing VC ID field within the 'Virtual + Circuit FEC Element' when LDP signaling is used or PW ID + AVP for L2TP."; + reference + "Martini, et al, . + and So, et al, . + Note: as specified in l2circuit-trans: It is REQUIRED to + assign the same VC ID, and VC type for a given circuit in + both directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.10"; + } + + leaf cpwVcLocalGroupID { + type cisco-ietf:CpwGroupID; + description + "Used in the Group ID field sent to the peer PWES + within the maintenance protocol used for VC setup, + zero if not used."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.11"; + } + + leaf cpwVcControlWord { + type boolean; + description + "Define if the control word will be sent with each packet by + the local node."; + reference + "Martini, et al, "; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.12"; + } + + leaf cpwVcLocalIfMtu { + type uint32 { + range "0..65535"; + } + description + "If not equal zero, the optional IfMtu object in the + maintenance protocol will be sent with this value, + representing the locally supported MTU size over the + interface (or the virtual interface) associated with the + VC."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.13"; + } + + leaf cpwVcLocalIfString { + type boolean; + description + "Each VC is associated to an interface (or a virtual + interface) in the ifTable of the node as part of the + service configuration. This object defines if the + maintenance protocol will send the interface's name as + appears on the ifTable in the name object as part of the + maintenance protocol. If set to false, the optional element + will not be sent."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.14"; + } + + leaf cpwVcRemoteGroupID { + type cisco-ietf:CpwGroupID; + description + "Obtained from the Group ID field as received via the + maintenance protocol used for VC setup, zero if not used. + Value of 0xFFFF shall be used if the object is yet to be + defined by the VC maintenance protocol."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.15"; + } + + leaf cpwVcRemoteControlWord { + type enumeration { + enum "noControlWord" { + value "1"; + } + enum "withControlWord" { + value "2"; + } + enum "notYetKnown" { + value "3"; + } + } + description + "If maintenance protocol is used for VC establishment, this + parameter indicates the received status of the control word + usage, i.e. if packets will be received with control word + or not. The value of 'notYetKnown' is used while the + maintenance protocol has not yet received the indication + from the remote node. + In manual configuration of the VC this parameters indicate + to the local node what is the expected encapsulation for + the received packets. "; + reference + "Martini, et al, + and So, et al, ."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.16"; + } + + leaf cpwVcRemoteIfMtu { + type uint32; + description + "The remote interface MTU as (optionally) received from the + remote node via the maintenance protocol. Should be zero if + this parameter is not available or not used."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.17"; + } + + leaf cpwVcRemoteIfString { + type snmp-framework:SnmpAdminString { + length "0..80"; + } + description + "Indicate the interface description string as received by + the maintenance protocol, MUST be NULL string if not + applicable or not known yet."; + reference + "Martini, et al, + and So, et al, ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.18"; + } + + leaf cpwVcOutboundVcLabel { + type uint32; + description + "The VC label used in the outbound direction (i.e. toward + the PSN). It may be set up manually if owner is 'manual' or + automatically otherwise. Examples: For MPLS PSN, it + represents the 20 bits of VC tag, for L2TP it represent the + 32 bits Session ID. + If the label is not yet known (signaling in process), the + object should return a value of 0xFFFF."; + reference + "Martini, et al, + Townsley, et al, "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.19"; + } + + leaf cpwVcInboundVcLabel { + type uint32; + description + "The VC label used in the inbound direction (i.e. packets + received from the PSN. It may be set up manually if owner + is 'manual' or automatically otherwise. + Examples: For MPLS PSN, it represents the 20 bits of VC + tag, for L2TP it represent the 32 bits Session ID. + If the label is not yet known (signaling in process), the + object should return a value of 0xFFFF."; + reference + "Martini, et al, + Townsley, et al, "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.20"; + } + + leaf cpwVcName { + type snmp-framework:SnmpAdminString; + description + "The canonical name assigned to the VC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.21"; + } + + leaf cpwVcDescr { + type snmp-framework:SnmpAdminString; + description + "A textual string containing information about the VC. + If there is no description this object contains a zero + length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.22"; + } + + leaf cpwVcCreateTime { + type yang:timestamp; + description + "System time when this VC was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.23"; + } + + leaf cpwVcUpTime { + type yang:timeticks; + description + "Number of consecutive ticks this VC has been 'up' in + both directions together (i.e. 'up' is observed in + cpwVcOperStatus.)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.24"; + } + + leaf cpwVcAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "The desired operational status of this VC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.25"; + } + + leaf cpwVcOperStatus { + type cisco-ietf:CpwOperStatus; + description + "Indicates the actual combined operational status of this + VC. It is 'up' if both cpwVcInboundOperStatus and + cpwVcOutboundOperStatus are in 'up' state. For all other + values, if the VCs in both directions are of the same + value it reflects that value, otherwise it is set to the + most severe status out of the two statuses. The order of + severance from most severe to less severe is: unknown, + notPresent, down, lowerLayerDown, dormant, testing, up. + The operator may consult the per direction OperStatus for + fault isolation per direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.26"; + } + + leaf cpwVcInboundOperStatus { + type cisco-ietf:CpwOperStatus; + description + "Indicates the actual operational status of this VC in the + inbound direction. + + - down: if PW signaling has not yet finished, or + indications available at the service + level indicate that the VC is not + passing packets. + - testing: if AdminStatus at the VC level is set to + test. + - dormant: The VC is not available because of the + required resources are occupied VC with + higher priority VCs . + - notPresent: Some component is missing to accomplish + the set up of the VC. + - lowerLayerDown: The underlying PSN is not in OperStatus + 'up'. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.27"; + } + + leaf cpwVcOutboundOperStatus { + type cisco-ietf:CpwOperStatus; + description + "Indicates the actual operational status of this VC in the + outbound direction + - down: if PW signaling has not yet finished, or + indications available at the service + level indicate that the VC is not + passing packets. + - testing: if AdminStatus at the VC level is set to + test. + - dormant: The VC is not available because of the + required resources are occupied VC with + higher priority VCs . + - notPresent: Some component is missing to accomplish + the set up of the VC. + - lowerLayerDown: The underlying PSN is not in OperStatus + 'up'. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.28"; + } + + leaf cpwVcTimeElapsed { + type int32 { + range "1..900"; + } + description + "The number of seconds, including partial seconds, + that have elapsed since the beginning of the current + measurement period. If, for some reason, such as an + adjustment in the system's time-of-day clock, the + current interval exceeds the maximum value, the + agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.29"; + } + + leaf cpwVcValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous 15-minute intervals + for which data was collected. + An agent with PW capability must be capable of supporting at + least n intervals. The minimum value of n is 4, The default + of n is 32 and the maximum value of n is 96. + The value will be unless the measurement was (re-) + started within the last (*15) minutes, in which case the + value will be the number of complete 15 minute intervals for + which the agent has at least some data. In certain cases + (e.g., in the case where the agent is a proxy) it is + possible that some intervals are unavailable. In this case, + this interval is the maximum interval number for which data + is available. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.30"; + } + + leaf cpwVcRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.31"; + } + + leaf cpwVcStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.2.1.32"; + } + } + } + + container cpwVcPerfCurrentTable { + description + "This table provides per-VC performance information for the + current interval."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3"; + + list cpwVcPerfCurrentEntry { + key "cpwVcIndex"; + description + "An entry in this table is created by the agent for + every VC."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3.1"; + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcPerfCurrentInHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets received + by the VC (from the PSN) in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3.1.1"; + } + + leaf cpwVcPerfCurrentInHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes received + by the VC (from the PSN) in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3.1.2"; + } + + leaf cpwVcPerfCurrentOutHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets forwarded + by the VC (to the PSN) in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3.1.3"; + } + + leaf cpwVcPerfCurrentOutHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes forwarded + by the VC (to the PSN) in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.3.1.4"; + } + } + } + + container cpwVcPerfIntervalTable { + description + "This table provides per-VC performance information for + each interval."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4"; + + list cpwVcPerfIntervalEntry { + key "cpwVcIndex cpwVcPerfIntervalNumber"; + description + "An entry in this table is created agent for every VC."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1"; + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcPerfIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number N, between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, and the interval identified + by N is the interval immediately preceding the one + identified by N-1. + The minimum range of N is 1 through 4. The default range + is 1 to 32. The maximum range of N is 1 through 96. "; + reference + "Tesink, K. 'Definitions of Managed Objects for the + SONET/SDH Interface Type', RFC 2558"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.1"; + } + + leaf cpwVcPerfIntervalValidData { + type boolean; + description + "This variable indicates if the data for this interval + is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.2"; + } + + leaf cpwVcPerfIntervalTimeElapsed { + type int32; + description + "The duration of a particular interval in seconds. + Adjustments in the system's time-of-day clock, may + cause the interval to be greater or less than the + normal value. Therefore this actual interval value + is provided."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.3"; + } + + leaf cpwVcPerfIntervalInHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets received by + the VC (from the PSN) in a particular 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.4"; + } + + leaf cpwVcPerfIntervalInHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes received by the + VC (from the PSN) in a particular 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.5"; + } + + leaf cpwVcPerfIntervalOutHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets forwarded by + the VC (to the PSN) in a particular 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.6"; + } + + leaf cpwVcPerfIntervalOutHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes forwarded by the + VC (to the PSN) in a particular 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.4.1.7"; + } + } + } + + container cpwVcPerfTotalTable { + description + "This table provides per-VC Performance information from VC + start time."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5"; + + list cpwVcPerfTotalEntry { + key "cpwVcIndex"; + description + "An entry in this table is created agent for every VC."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1"; + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcPerfTotalInHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets received by the + VC (from the PSN)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1.1"; + } + + leaf cpwVcPerfTotalInHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes received by the + VC (from the PSN)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1.2"; + } + + leaf cpwVcPerfTotalOutHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets forwarded by + the VC (to the PSN)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1.3"; + } + + leaf cpwVcPerfTotalOutHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes forwarded by the + VC (to the PSN)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1.4"; + } + + leaf cpwVcPerfTotalDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of this row Counter32 or + Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, then + this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.5.1.5"; + } + } + } + + container cpwVcIdMappingTable { + description + "This table provides reverse mapping of the existing VCs + based on vc type and VC ID ordering. This table is + typically useful for EMS ordered query of existing VCs."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7"; + + list cpwVcIdMappingEntry { + key "cpwVcIdMappingVcType cpwVcIdMappingVcID cpwVcIdMappingPeerAddrType cpwVcIdMappingPeerAddr cpwVcIdMappingVcIndex"; + description + "An entry in this table is created by the agent for every + VC configured by the cpwVcTable."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1"; + + leaf cpwVcIdMappingVcType { + type cisco-ietf:CpwVcType; + description + "The VC type (indicate the service) of this VC."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1.1"; + } + + leaf cpwVcIdMappingVcID { + type cisco-ietf:CpwVcIDType; + description + "The VC ID of this VC. Zero if the VC is configured + manually."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1.2"; + } + + leaf cpwVcIdMappingPeerAddrType { + type inet-address:InetAddressType; + description + "IP address type of the peer node."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1.3"; + } + + leaf cpwVcIdMappingPeerAddr { + type inet-address:InetAddress; + description + "IP address type of the peer node."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1.4"; + } + + leaf cpwVcIdMappingVcIndex { + type cisco-ietf:CpwVcIndexType; + description + "The value that represent the VC in the cpwVcTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.7.1.5"; + } + } + } + + container cpwVcPeerMappingTable { + description + "This table provides reverse mapping of the existing VCs + based on vc type and VC ID ordering. This table is + typically useful for EMS ordered query of existing VCs."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8"; + + list cpwVcPeerMappingEntry { + key "cpwVcPeerMappingPeerAddrType cpwVcPeerMappingPeerAddr cpwVcPeerMappingVcType cpwVcPeerMappingVcID cpwVcPeerMappingVcIndex"; + description + "An entry in this table is created by the agent for every + VC configured in cpwVcTable."; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1"; + + leaf cpwVcPeerMappingPeerAddrType { + type inet-address:InetAddressType; + description + "IP address type of the peer node."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1.1"; + } + + leaf cpwVcPeerMappingPeerAddr { + type inet-address:InetAddress; + description + "IP address type of the peer node."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1.2"; + } + + leaf cpwVcPeerMappingVcType { + type cisco-ietf:CpwVcType; + description + "The VC type (indicate the service) of this VC."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1.3"; + } + + leaf cpwVcPeerMappingVcID { + type cisco-ietf:CpwVcIDType; + description + "The VC ID of this VC. Zero if the VC is configured + manually."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1.4"; + } + + leaf cpwVcPeerMappingVcIndex { + type cisco-ietf:CpwVcIndexType; + description + "The value that represent the VC in the cpwVcTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.106.1.8.1.5"; + } + } + } + } + + notification cpwVcDown { + description + "This notification is generated when the + cpwVcOperStatus object for one or more contiguous + entries in cpwVcTable are about to enter the + down(2) state from some other state. The included values + of cpwVcOperStatus MUST all be set equal to this + down(2) state. The two instances of cpwVcOperStatus + in this notification indicate the range of indexes + that are affected. Note that all the indexes of the + two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the down(2) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + cpwVcOperStatus objects MUST be identical."; + smiv2:oid "1.3.6.1.4.1.9.10.106.2.1"; + + container object-1 { + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcOperStatus { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcOperStatus"; + } + } + } + + container object-2 { + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcOperStatus { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcOperStatus"; + } + } + } + } + + notification cpwVcUp { + description + "This notification is generated when the + cpwVcOperStatus object for one or more contiguous + entries in cpwVcTable are about to enter the up(1) + state from some other state. The included values of + cpwVcOperStatus MUST both be set equal to this + new state (i.e: up(1)). The two instances of + cpwVcOperStatus in this notification indicate the range + of indexes that are affected. Note that all the indexes + of the two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the up(1) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + cpwVcOperStatus objects MUST be the identical."; + smiv2:oid "1.3.6.1.4.1.9.10.106.2.2"; + + container object-1 { + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcOperStatus { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcOperStatus"; + } + } + } + + container object-2 { + + leaf cpwVcIndex { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcIndex"; + } + } + + leaf cpwVcOperStatus { + type leafref { + path "/CISCO-IETF-PW-MIB:CISCO-IETF-PW-MIB/CISCO-IETF-PW-MIB:cpwVcTable/CISCO-IETF-PW-MIB:cpwVcEntry/CISCO-IETF-PW-MIB:cpwVcOperStatus"; + } + } + } + } + + smiv2:alias "cpwVcMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.106"; + } + + smiv2:alias "cpwVcObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.106.1"; + } + + smiv2:alias "cpwVcNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.106.2"; + } + + smiv2:alias "cpwVcConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.106.3"; + } + + smiv2:alias "cpwVcGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.106.3.1"; + } + + smiv2:alias "cpwVcCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.106.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MPLS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MPLS-MIB.yang new file mode 100644 index 000000000..33990d241 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-MPLS-MIB.yang @@ -0,0 +1,773 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-MPLS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-MPLS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-MPLS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB"; + prefix CISCO-IETF-PW-MPLS-MIB; + + import CISCO-IETF-PW-MIB { + prefix "cisco-ietf-pw"; + } + + import CISCO-IETF-PW-TC-MIB { + prefix "cisco-ietf"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-497-3051 + Email: tnadeau@cisco.com + + MPLS MIB Development Team + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01924 + Tel: +1-978-497-3989 + Email: ch-mpls-mib-dev@cisco.com"; + + description + "This MIB complements the CISCO-IETF-PW-MIB for PW operation + over MPLS. "; + + revision 2003-02-26 { + description + "Made Cisco proprietary based on the PW-MPLS-MIB.my file + extracted from draft-ietf-pwe3-pw-mpls-mib-00.txt"; + } + + revision 2002-06-02 { + description + "Draft-ietf-pwe3-pw-mpls-mib-00 version. Changes from + previous version: + 1) Spliting the mapping table into two tables, one for + Non TE application and one for TE application. + 2) Object types alignment with MPLS MIBs. "; + } + + revision 2002-01-29 { + description + "Changes from previous version: + 1) Add LDP entity association. + 2) Clarify inbound/outbound directions. + 3) Simplify indexing of outbound and inbound tables + and providing get next variables. "; + } + + revision 2001-07-11 { + description + "draft-zelig-pw-mib-00.txt - initial version"; + } + + revision 2001-07-11 { + description + "Changes from previous version: + 1) Remove Vc instance from table indexing. + 2) Update descriptions of indexing and protection. + 3) Remove the need for MPLS-LSR in case of VC only. + 4) Change pwVcMplsMplsType to BITS in order to enable + multiple types of outer tunnel. + 5) Add ifindex to outer tunnel tables to support vcOnly + option. + 6) change naming of outbound, inbound and mapping tables to + reflect addition of VC only port ifindexes. + 7) Adapt order of items in mapping table to SNMP convention. "; + } + + + container CISCO-IETF-PW-MPLS-MIB { + config false; + + container cpwVcMplsObjects { + smiv2:oid "1.3.6.1.4.1.9.10.107.1"; + + leaf cpwVcMplsOutboundIndexNext { + type uint32 { + range "0..4294967295"; + } + description + "This object contains an appropriate value to + be used for cpwVcMplsOutboundIndex when creating + entries in the cpwVcMplsOutboundTable. The value + 0 indicates that no unassigned entries are + available. To obtain the cpwVcMplsOutboundIndex + value for a new entry, the manager issues a + management protocol retrieval operation to obtain + the current value of this object. After each + retrieval, the agent should modify the value to + the next unassigned index, however the agent MUST + NOT assume such retrieval will be done for each + row created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.2"; + } + + leaf cpwVcMplsInboundIndexNext { + type uint32 { + range "0..4294967295"; + } + description + "This object contains an appropriate value to + be used for cpwVcMplsInboundIndex when creating + entries in the cpwVcMplsInboundTable. The value + 0 indicates that no unassigned entries are + available. To obtain the cpwVcMplsInboundIndex + value for a new entry, the manager issues a + management protocol retrieval operation to obtain + the current value of this object. After each + retrieval, the agent should modify the value to + the next unassigned index, however the agent MUST + NOT assume such retrieval will be done for each + row created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.4"; + } + } + + container cpwVcMplsTable { + description + "This table specifies information for VC to be carried over + MPLS PSN."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1"; + + list cpwVcMplsEntry { + key "cpwVcIndex"; + description + "A row in this table represents parameters specific to MPLS + PSN for a pseudo wire connection (VC). The row is created + automatically by the local agent if the cpwVcPsnType is + MPLS. It is indexed by cpwVcIndex, which uniquely + identifying a singular connection. "; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf-pw:CISCO-IETF-PW-MIB/cisco-ietf-pw:cpwVcTable/cisco-ietf-pw:cpwVcEntry/cisco-ietf-pw:cpwVcIndex"; + } + } + + leaf cpwVcMplsMplsType { + type bits { + bit mplsTe { + position "0"; + } + bit mplsNonTe { + position "1"; + } + bit vcOnly { + position "2"; + } + } + description + "Set by the operator to indicate the outer tunnel types, if + exists. mplsTe is used if the outer tunnel was set-up by + MPLS-TE, and mplsNonTe is used the outer tunnel was set up + by LDP or manually. Combination of mplsTe and mplsNonTe + may exist in case of outer tunnel protection. + vcOnly is used if there is no outer tunnel label. vcOnly + cannot be combined with mplsNonTe or mplsTe."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.1"; + } + + leaf cpwVcMplsExpBitsMode { + type enumeration { + enum "outerTunnel" { + value "1"; + } + enum "specifiedValue" { + value "2"; + } + enum "serviceDependant" { + value "3"; + } + } + description + "Set by the operator to indicate the way the VC shim label + EXP bits are to be determined. The value of outerTunnel(1) + is used where there is an outer tunnel - cpwVcMplsMplsType + is mplsTe or mplsNonTe. Note that in this case there is no + need to mark the VC label with the EXP bits since the VC + label is not visible to the intermediate nodes. + If there is no outer tunnel, specifiedValue(2) indicate + that the value is specified by cpwVcMplsExpBits, and + serviceDependant(3) indicate that the EXP bits are setup + based on a rule specified in the emulated service specific + tables, for example when the EXP bits are a function of + 802.1p marking for Ethernet emulated service."; + reference + "martini et al, "; + smiv2:defval "outerTunnel"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.2"; + } + + leaf cpwVcMplsExpBits { + type uint32 { + range "0..7"; + } + description + "Set by the operator to indicate the MPLS EXP bits to be + used on the VC shim label if cpwVcMplsExpBitsMode is + specifiedValue(2), zero otherwise."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.3"; + } + + leaf cpwVcMplsTtl { + type uint32 { + range "0..255"; + } + description + "Set by the operator to indicate the VC TTL bits to be used + on the VC shim label."; + reference + "martini et al, "; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.4"; + } + + leaf cpwVcMplsLocalLdpID { + type mpls-tc:MplsLdpIdentifier; + description + "The local LDP identifier of the LDP entity creating + this VC in the local node. As the VC labels are always + set from the per platform label space, the last two octets + in the LDP ID MUST be always both zeros."; + reference + ", + . "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.5"; + } + + leaf cpwVcMplsLocalLdpEntityID { + type uint32; + description + "The local LDP Entity index of the LDP entity to be used + for this VC on the local node. Should be set to all zeros + if not used."; + reference + " "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.6"; + } + + leaf cpwVcMplsPeerLdpID { + type mpls-tc:MplsLdpIdentifier; + description + "The peer LDP identifier as identified from the LDP + session. Should be zero if not relevant or not known yet."; + reference + ", + . "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.7"; + } + + leaf cpwVcMplsStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.1.1.8"; + } + } + } + + container cpwVcMplsOutboundTable { + description + "This table associates VCs using MPLS PSN with the outbound + MPLS tunnels (i.e. toward the PSN) or the physical + interface in case of VC only."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3"; + + list cpwVcMplsOutboundEntry { + key "cpwVcIndex cpwVcMplsOutboundIndex"; + description + "A row in this table represents a link between PW VC (that + require MPLS tunnels) and MPLS tunnel toward the PSN. + In the case of VC only, it associate the VC with the + interface that shall carry the VC. + This table is indexed by the pwVcIndex and an additional + index enabling multiple rows for the same VC index. + + At least one entry is created in this table by the operator + for each PW VC that requires MPLS PSN. Note that the first + entry for each VC can be indexed by cpwVcMplsOutboundIndex + equal zero without a need for retrieval of + cpwVcMplsOutboundIndexNext. + + This table points to the appropriate MPLS MIB. In the case + of MPLS-TE, the 4 variables relevant to the indexing of + a TE MPLS tunnel are set as in Srinivasan, et al, . + In case of Non-TE MPLS (an outer tunnel label assigned by + LDP or manually) the table points to the XC entry in the + LSR MIB as in Srinivasan, et al, . + In case of VC only (no outer tunnel) the ifIndex of the + port to carry the VC is configured. + + Each VC may have multiple rows in this tables if protection + is available at the outer tunnel level, each row may be of + different type except for VC only, on which only rows with + ifIndex of the port are allowed. "; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf-pw:CISCO-IETF-PW-MIB/cisco-ietf-pw:cpwVcTable/cisco-ietf-pw:cpwVcEntry/cisco-ietf-pw:cpwVcIndex"; + } + } + + leaf cpwVcMplsOutboundIndex { + type uint32 { + range "0..4294967295"; + } + description + "Arbitrary index for enabling multiple rows per VC in + this table. Next available free index can be retrieved + using cpwVcMplsOutboundIndexNext. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.1"; + } + + leaf cpwVcMplsOutboundLsrXcIndex { + type uint32; + description + "This object will be set by the operator. If the outer + label is defined in the MPL-LSR-MIB, i.e. set by LDP + or manually, this object points to the XC index + of the outer tunnel. Otherwise, it is set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.2"; + } + + leaf cpwVcMplsOutboundTunnelIndex { + type mpls-tc:MplsTunnelIndex; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.3"; + } + + leaf cpwVcMplsOutboundTunnelInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.4"; + } + + leaf cpwVcMplsOutboundTunnelLclLSR { + type mpls-tc:MplsLsrIdentifier; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.5"; + } + + leaf cpwVcMplsOutboundTunnelPeerLSR { + type mpls-tc:MplsLsrIdentifier; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.6"; + } + + leaf cpwVcMplsOutboundIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "In case of VC only (no outer tunnel), this object holds + the ifIndex of the outbound port, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.7"; + } + + leaf cpwVcMplsOutboundRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.8"; + } + + leaf cpwVcMplsOutboundStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.3.1.9"; + } + } + } + + container cpwVcMplsInboundTable { + description + "This table associates VCs using MPLS PSN with the inbound + MPLS tunnels (i.e. for packets coming from the PSN), + if such association is desired (mainly for security + reasons)."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5"; + + list cpwVcMplsInboundEntry { + key "cpwVcIndex cpwVcMplsInboundIndex"; + description + "A row in this table represents a link between PW VCs (that + require MPLS tunnels) and MPLS tunnel for packets arriving + from the PSN. + This table is indexed by the set of indexes used to + identify the VC - cpwVcIndex and an additional + index enabling multiple rows for the same VC index. + + Note that the first entry for each VC can be indexed by + cpwVcMplsOutboundIndex equal zero without a need for + retrieval of cpwVcMplsInboundIndexNext. + + An entry is created in this table either automatically by + the local agent or created manually by the operator in + cases that strict mode is required. + + Note that the control messages contain VC ID and VC type, + which together with the remote IP address identify the + cpwVcIndex in the local node. + This table points to the appropriate MPLS MIB. In the case + of MPLS-TE, the 4 variables relevant to the indexing of a + TE MPLS tunnel are set as in Srinivasan, et al, . + + In case of non-TE MPLS tunnel (an outer tunnel label + assigned by LDP or manually) the table points to the XC + entry in the MPLS-LSR-MIB as in Srinivasan, et al, . + + Each VC may have multiple rows in this tables if protection + is available at the outer tunnel level, each row may be of + different type except for VC only, on which only rows with + ifIndex of the port are allowed. "; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf-pw:CISCO-IETF-PW-MIB/cisco-ietf-pw:cpwVcTable/cisco-ietf-pw:cpwVcEntry/cisco-ietf-pw:cpwVcIndex"; + } + } + + leaf cpwVcMplsInboundIndex { + type uint32 { + range "0..4294967295"; + } + description + "Arbitrary index for enabling multiple rows per VC in + this table. Next available free index can be retrieved + using cpwVcMplsInboundIndexNext. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.1"; + } + + leaf cpwVcMplsInboundLsrXcIndex { + type uint32; + description + "If the outer label is defined in the MPL-LSR-MIB, i.e. set + by LDP or manually, this object points to the XC index + of the outer tunnel. Otherwise, it is set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.2"; + } + + leaf cpwVcMplsInboundTunnelIndex { + type mpls-tc:MplsTunnelIndex; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.3"; + } + + leaf cpwVcMplsInboundTunnelInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.4"; + } + + leaf cpwVcMplsInboundTunnelLclLSR { + type mpls-tc:MplsLsrIdentifier; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.5"; + } + + leaf cpwVcMplsInboundTunnelPeerLSR { + type mpls-tc:MplsLsrIdentifier; + description + "Part of set of indexes for outbound tunnel in the case of + MPLS-TE outer tunnel, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.6"; + } + + leaf cpwVcMplsInboundIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "In case of VC only (no outer tunnel), this object holds the + ifIndex of the inbound port, otherwise set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.7"; + } + + leaf cpwVcMplsInboundRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.8"; + } + + leaf cpwVcMplsInboundStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.5.1.9"; + } + } + } + + container cpwVcMplsNonTeMappingTable { + description + "This table maps an inbound/outbound Tunnel to a VC in non- + TE applications."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6"; + + list cpwVcMplsNonTeMappingEntry { + key "cpwVcMplsNonTeMappingTunnelDirection cpwVcMplsNonTeMappingXcTunnelIndex cpwVcMplsNonTeMappingIfIndex cpwVcMplsNonTeMappingVcIndex"; + description + "A row in this table represents the association + between the PW VC and it's non TE MPLS outer Tunnel + it's physical interface if there is no outer tunnel + (VC only). + + An application can use this table to quickly retrieve the + PW carried over specific non-TE MPLS outer tunnel or + physical interface. + + The table in indexed by the XC index for MPLS Non-TE + tunnel, or ifIndex of the port in VC only case, the + direction of the VC in the specific entry and the VCIndex. + + The same table is used in both inbound and outbound + directions, but in a different row for each direction. If + the inbound association is not known, no rows should exist + for it. + + Rows are created by the local agent when all the + association data is available for display."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6.1"; + + leaf cpwVcMplsNonTeMappingTunnelDirection { + type enumeration { + enum "outbound" { + value "1"; + } + enum "inbound" { + value "2"; + } + } + description + "Identifies if the row represent an outbound or inbound + mapping."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6.1.1"; + } + + leaf cpwVcMplsNonTeMappingXcTunnelIndex { + type uint32 { + range "0..4294967295"; + } + description + "Index for the conceptual XC row identifying Tunnel to VC + mappings when the outer tunnel is created by the MPLS-LSR- + MIB, Zero otherwise."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6.1.2"; + } + + leaf cpwVcMplsNonTeMappingIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "Identify the port on which the VC is carried for VC only + case."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6.1.3"; + } + + leaf cpwVcMplsNonTeMappingVcIndex { + type cisco-ietf:CpwVcIndexType; + description + "The value that represent the VC in the cpwVcTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.6.1.4"; + } + } + } + + container cpwVcMplsTeMappingTable { + description + "This table maps an inbound/outbound Tunnel to a VC in + MPLS-TE applications."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7"; + + list cpwVcMplsTeMappingEntry { + key "cpwVcMplsTeMappingTunnelDirection cpwVcMplsTeMappingTunnelIndex cpwVcMplsTeMappingTunnelInstance cpwVcMplsTeMappingTunnelPeerLsrID cpwVcMplsTeMappingTunnelLocalLsrID cpwVcMplsTeMappingVcIndex"; + description + "A row in this table represents the association + between a PW VC and it's MPLS-TE outer Tunnel. + + An application can use this table to quickly retrieve the + PW carried over specific TE MPLS outer tunnel. + + The table in indexed by the 4 indexes of a TE tunnel, + the direction of the VC specific entry and the VcIndex. + + The same table is used in both inbound and outbound + directions, a different row for each direction. If the + inbound association is not known, no rows should exist for + it. + + Rows are created by the local agent when all the + association data is available for display."; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1"; + + leaf cpwVcMplsTeMappingTunnelDirection { + type enumeration { + enum "outbound" { + value "1"; + } + enum "inbound" { + value "2"; + } + } + description + "Identifies if the row represent an outbound or inbound + mapping."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.1"; + } + + leaf cpwVcMplsTeMappingTunnelIndex { + type mpls-tc:MplsTunnelIndex; + description + "Primary index for the conceptual row identifying the + MPLS-TE tunnel."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.2"; + } + + leaf cpwVcMplsTeMappingTunnelInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Identifies an instance of the MPLS-TE tunnel."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.3"; + } + + leaf cpwVcMplsTeMappingTunnelPeerLsrID { + type mpls-tc:MplsLsrIdentifier; + description + "Identifies an Peer LSR when the outer tunnel is MPLS-TE + based."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.4"; + } + + leaf cpwVcMplsTeMappingTunnelLocalLsrID { + type mpls-tc:MplsLsrIdentifier; + description + "Identifies the local LSR."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.5"; + } + + leaf cpwVcMplsTeMappingVcIndex { + type cisco-ietf:CpwVcIndexType; + description + "The value that represent the VC in the cpwVcTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.107.1.7.1.6"; + } + } + } + } + + smiv2:alias "cpwVcMplsMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.107"; + } + + smiv2:alias "cpwVcMplsNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.107.0"; + } + + smiv2:alias "cpwVcMplsNotifyPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.107.0.0"; + } + + smiv2:alias "cpwVcMplsObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.107.1"; + } + + smiv2:alias "cpwVcMplsConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.107.2"; + } + + smiv2:alias "cpwVcMplsGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.107.2.1"; + } + + smiv2:alias "cpwVcMplsCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.107.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TC-MIB.yang new file mode 100644 index 000000000..814f7adae --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TC-MIB.yang @@ -0,0 +1,238 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB"; + prefix CISCO-IETF-PW-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " + Thomas D. Nadeau + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01824 + Tel: +1-978-497-3051 + Email: tnadeau@cisco.com + + MPLS MIB Development Team + Postal: Cisco Systems, Inc. + 250 Apollo Drive + Chelmsford, MA 01924 + Tel: +1-978-497-3989 + Email: ch-mpls-mib-dev@cisco.com"; + + description + "This MIB Module provides Textual Conventions + and OBJECT-IDENTITY Objects to be used PW services."; + + revision 2006-07-21 { + description + "Added following enumerations to cpwVcType TC: + e1Satop(12), t1Satop(13), e3Satop(14), t3Satop(15), + basicCesPsn(16), basicTdmIp(17), tdmCasCesPsn(18), + tdmCasTdmIp(19). The above enumerations are based + on IANAPwTypeTC TC in draft-ietf-pwe3-pw-mib-08.txt"; + } + + revision 2003-02-26 { + description + "Made Cisco proprietary based on the PW-TC-MIB.my file + extracted from draft-ietf-pwe3-pw-tc-mib-00.txt"; + } + + revision 2002-05-28 { + description + "Adding PwVcType, and enhance some descriptions."; + } + + revision 2002-01-30 { + description + "Adding PwVcVlanCfg, PwAddressType and + PwOperStatus."; + } + + revision 2001-12-20 { + description + "Remove PwVcInstance"; + } + + revision 2001-07-12 { + description + "Initial version."; + } + + typedef CpwGroupID { + type uint32; + description + "An administrative identification mechanism for grouping a + set of service-specific pseudo-wire services. May only + have local significance."; + } + + typedef CpwVcIDType { + type uint32; + description + "Virtual Circuit Identifier. Used to identify the VC + (together with some other fields) in the signaling + session. Zero if the VC is set-up manually."; + } + + typedef CpwVcIndexType { + type uint32; + description + "Virtual Circuit Index. Locally unique index for indexing + several MIB tables associated with a particular VC."; + } + + typedef CpwVcVlanCfg { + type int32 { + range "0..4097"; + } + description + "VLAN configuration for Ethernet PW. + Values between 0 to 4095 indicate the actual VLAN field + value. + A value of 4096 indicates that the object refer to + untagged frames, i.e. frames without 802.1Q field. + A value of 4097 indicates that the object is not + relevant."; + } + + typedef CpwOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + enum "unknown" { + value "4"; + } + enum "dormant" { + value "5"; + } + enum "notPresent" { + value "6"; + } + enum "lowerLayerDown" { + value "7"; + } + } + description + "Indicate the operational status of the PW VC. + + - up: Ready to pass packets. + - down: If PW signaling has not yet finished, or + indications available at the service + level indicate that the VC is not + passing packets. + - testing: If AdminStatus at the VC level is set to + test. + - dormant: The VC is not available because of the + required resources are occupied VC with + higher priority VCs . + - notPresent: Some component is missing to accomplish + the set up of the VC. + - lowerLayerDown: The underlying PSN or outer tunnel is not + in OperStatus 'up'. "; + } + + typedef CpwVcType { + type enumeration { + enum "other" { + value "0"; + } + enum "frameRelay" { + value "1"; + } + enum "atmAal5Vcc" { + value "2"; + } + enum "atmTransparent" { + value "3"; + } + enum "ethernetVLAN" { + value "4"; + } + enum "ethernet" { + value "5"; + } + enum "hdlc" { + value "6"; + } + enum "ppp" { + value "7"; + } + enum "cep" { + value "8"; + } + enum "atmVccCell" { + value "9"; + } + enum "atmVpcCell" { + value "10"; + } + enum "ethernetVPLS" { + value "11"; + } + enum "e1Satop" { + value "12"; + } + enum "t1Satop" { + value "13"; + } + enum "e3Satop" { + value "14"; + } + enum "t3Satop" { + value "15"; + } + enum "basicCesPsn" { + value "16"; + } + enum "basicTdmIp" { + value "17"; + } + enum "tdmCasCesPsn" { + value "18"; + } + enum "tdmCasTdmIp" { + value "19"; + } + } + description + "Indicate the VC type (i.e. the carried service). + Note: the exact set of VC types is yet to be worked + out by the WG. "; + } + + smiv2:alias "cpwMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.20000"; + } + + smiv2:alias "cpwTCMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.20000.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TDM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TDM-MIB.yang new file mode 100644 index 000000000..f5352fb71 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IETF-PW-TDM-MIB.yang @@ -0,0 +1,1295 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IETF-PW-TDM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IETF-PW-TDM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IETF-PW-TDM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB"; + prefix CISCO-IETF-PW-TDM-MIB; + + import CISCO-IETF-PW-MIB { + prefix "cisco-ietf"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import PerfHist-TC-MIB { + prefix "perfhist-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + SA + + Tel: +1 800 553-NETS + + Email: cs-atm@cisco.com"; + + description + "This MIB contains managed object definitions for + encapsulating TDM (T1,E1, T3, E3, NxDS0) as + pseudo-wires over packet-switching networks (PSN). + + This MIB supplements the CISCO-IETF-PW-MIB. + The CISCO-IETF-PW-MIB contains structures and MIB + associations generic to Pseudo-Wire (PW) emulation. + PW-specific MIBs (such as this) contain config and stats for + specific PW types."; + + revision 2006-07-21 { + description + "Cisco'ized the IETF draft: draft-ietf-pwe3-tdm-mib-05.txt + 1-Align object names with CISCO-IETF-PW-MIB and + CISCO-IETF-PW-TC-MIB + 2-Used cpwVcType instead of pwType + 3-Used cpwVcTable instead of pwTable"; + } + + revision 2006-03-01 { + description + "Changes since last draft: + 1-Remove Vc from all objects + 2-Move MIB root to transmission + 3-Change default of pwCTDMCfgSetUp2SynchTimeOut + to 5000ms + 4-Change PM running counters to daily intervals + 5-Enhance description of pwCTDMCfgPktReplacePolicy + 6-Enhance description of ES, SES, and UAS + 7-Aligned objects with other PW MIBs"; + } + + revision 2005-10-23 { + description + "Changes since last draft: + 1-Align object names with CISCO-IETF-PW-MIB and + PW-TC-STD-MIB + 2-clean up some text + 3-pwCTDMCfgIndexNext SYNTAX was changed to TestAndIncr + 4-Add explanation to descriptions of few objects + 5-Performance objecs were modified to better represent + their counts and type"; + } + + revision 2005-07-12 { + description + "Changes since last draft: + 1-Merged all configurable objects from Satop MIB with + objects of pwCTDMCfgTable in this MIB module. + 2-pwCTDMCfgJtrBfrDepth-changed units to microsec. + 3-pwCTDMAvePktLossTimeWindow moved to the + pwCTDMCfgTable. + 4-In pwCTDMCfgConfErr, the enum(1)was renamed to + PayloadSize. + 5-Renamed pwCSatopCfgConsecPktsLoss2Normal and + pwCSatopCfgConsecMissPktNorma2Loss to + pwCTDMCfgConsecPktsInSynch and to + pwCTDMCfgConsecMissPktsOutSynch respectively."; + } + + revision 2004-04-20 { + description + "Initial version, published as + draft-ietf-pwe3-TDM-mib-00.txt"; + } + + typedef CpwTDMCfgIndex { + type uint32; + description + "Index into any of the relevant pwCXXXCfgTable."; + } + + + container CISCO-IETF-PW-TDM-MIB { + config false; + + container cpwCTDMObjects { + smiv2:oid "1.3.6.1.4.1.9.10.131.1"; + + leaf cpwCTDMCfgIndexNext { + type uint32; + description + "This object contains the value to be used for + cpwCTDMCfgIndex when creating entries in the + cpwCTDMCfgTable. The value 0 indicates that no + unassigned entries are available. To obtain the + value of cpwCTDMCfgIndexNext for a new entry in the + cpwCTDMCfgTable, the manager issues a management + protocol retrieval operation. The agent will + determine through its local policy when this + index value will be made available for reuse."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.2"; + } + } + + container cpwCTDMTable { + description + "This table contains basic information including ifIndex, + and pointers to entries in the relevant TDM config + tables for this TDM PW."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1"; + + list cpwCTDMEntry { + key "cpwVcIndex"; + description + "This table is indexed by the same index that was + created for the associated entry in the VC Table + (in the CISCO-IETF-PW-MIB). + + - The CpwVcIndex. + + An entry is created in this table by the agent for every + entry in the cpwVcTable with a cpwVcType equal to one of the + following: + e1Satop(12), t1Satop(13), e3Satop(14), t3Satop(15), + basicCesPsn(16), basicTdmIp(17), tdmCasCesPsn(18), + tdmCasTdmIp(19)."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwCTDMRate { + type int32; + description + "The parameter represents the bit-rate of the TDM service + in multiples of the 'basic' 64 Kbit/s rate. It complements + the definition of cpwVcType used in CISCO-IETF-PW-MIB. + For structure-agnostic the following should be used: + a) Satop E1 - 32 + b) Satop T1 emulation: + i) MUST be set to 24 in the basic emulation mode + ii) MUST be set to 25 for the 'Octet-aligned T1' + emulation mode + c) Satop E3 - 535 + d) Satop T3 - 699 + For all kinds of structure-aware emulation, this parameter + MUST be set to N where N is the number of DS0 channels + in the corresponding attachment circuit."; + reference + "Control Protocol Extensions for Setup of TDM + Pseudowires [TDMCP-EXT], describes extension to the PWE3 + control protocol and PWE3 IANA allocations required for + setup of TDM pseudo wires."; + smiv2:defval "32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.1"; + } + + leaf cpwCTDMIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This is a unique index within the ifTable. It represents + the interface index of the full link or the interface + index for the bundle holding the group of + time slots to be transmitted via this PW connection. + + A value of zero indicates an interface index that has yet + to be determined. + Once set, if the TDM ifIndex is (for some reason) later + removed, the agent SHOULD delete the associated PW rows + (e.g., this cpwCTDMTable entry). If the agent does not + delete the rows, the agent MUST set this object to + zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.2"; + } + + leaf cpwCGenTDMCfgIndex { + type CISCO-IETF-PW-TDM-MIB:CpwTDMCfgIndex; + description + "Index to the generic parameters in the TDM configuration + table that appears in this MIB module. It is likely that + multiple TDM PWs of the same characteristic will share + a single TDM Cfg entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.3"; + } + + leaf cpwCRelTDMCfgIndex { + type CISCO-IETF-PW-TDM-MIB:CpwTDMCfgIndex; + description + "Index to the relevant TDM configuration table entry + that appears in one of the related MIB modules + such as TDMoIP or CESoPSN. It is likely that + multiple TDM PWs of the same characteristic will share + a single configuration entry of the relevant type. + The value 0 implies no entry in other related MIB"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.4"; + } + + leaf cpwCTDMConfigError { + type bits { + bit other { + position "0"; + } + bit tdmTypeIncompatible { + position "1"; + } + bit peerRtpIncompatible { + position "2"; + } + bit peerPayloadSizeIncompatible { + position "3"; + } + } + description + "Any of the bits are set if the local configuration is + not compatible with the peer configuration as available + from the various parameters options. + + -tdmTypeIncompatible bit is set if the local configuration + is not carrying the same TDM type as the peer configuration. + + -peerRtpIncompatible bit is set if the local configuration + is configured to send RTP packets for this PW, and the + remote is not capable of accepting RTP packets. + + -peerPayloadSizeIncompatible bit is set if the local + configuration is not carrying the same Payload Size as the + peer configuration."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.5"; + } + + leaf cpwCTDMTimeElapsed { + type int32 { + range "1..900"; + } + units "seconds"; + description + "The number of seconds, including partial seconds, + that have elapsed since the beginning of the current + measurement period. If, for some reason, such as an + adjustment in the system's time-of-day clock, the + current interval exceeds the maximum value, the + agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.6"; + } + + leaf cpwCTDMValidIntervals { + type int32 { + range "0..96"; + } + units "minutes"; + description + "The number of previous 15-minute intervals for which data + was collected. + An agent with TDM capability must be capable of supporting + at least n intervals. The minimum value of n is 4, The + default of n is 32 and the maximum value of n is 96. + The value will be unless the measurement was (re-) + started within the last (*15) minutes, in which case + the value will be the number of complete 15 minute + intervals for which the agent has at least some data. + In certain cases(e.g., in the case where the agent is + a proxy) it is possible that some intervals are unavailable. + In this case, this interval is the maximum interval number + for which data is available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.7"; + } + + leaf cpwCTDMValidDayIntervals { + type int32 { + range "0..30"; + } + units "days"; + description + "The number of previous days for which data + was collected. + An agent with TDM capability must be capable of supporting + at least n intervals. The minimum value of n is 1, The + default of n is 1 and the maximum value of n is 30."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.8"; + } + + leaf cpwCTDMCurrentIndications { + type bits { + bit other { + position "0"; + } + bit strayPacket { + position "1"; + } + bit malformedPacket { + position "2"; + } + bit excessivePktLossRate { + position "3"; + } + bit bufferOverrun { + position "4"; + } + bit bufferUnderrun { + position "5"; + } + bit remotePktLoss { + position "6"; + } + bit pktMisOrder { + position "7"; + } + bit packetLoss { + position "8"; + } + bit tdmFault { + position "9"; + } + } + description + "The following defects should be detected and reported + upon request: + + -Stray packets MAY be detected by the PSN and multiplexing + layers. Stray packets MUST be discarded by the CE-bound IWF + and their detection MUST NOT affect mechanisms for + detection of packet loss. + + -Malformed packets are detected by mismatch between the + expected packet size (taking the value of the L bit into + account) and the actual packet size inferred from the PSN + and multiplexing layers. Malformed in-order packets MUST be + discarded by the CE-bound IWF and replacement data + generated as for lost packets. + + -Excessive packet loss rate is detected by computing the + average packet loss rate over the value of + cpwCTDMAvePktLossTimeWindow and comparing it with a + preconfigured threshold [SATOP]. + + -Buffer overrun is detected in the normal operation state + when the CE bound IWF's jitter buffer cannot accommodate + newly arrived packets. + + -Remote packet loss is indicated by reception of packets + with their R bit set. + + -Packet misorder is detected by looking at the Sequence + number provided by the control word. + + -TDM Fault, if L bit in the control word is set, it + indicates that TDM data carried in the payload is invalid + due an attachment circuit fault. When the L bit is set the + payload MAY be omitted in order to conserve bandwidth. + + Note: the algorithm used to capture these indications + is implementation specific."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.9"; + } + + leaf cpwCTDMLatchedIndications { + type bits { + bit other { + position "0"; + } + bit staryPacket { + position "1"; + } + bit malformedPacket { + position "2"; + } + bit excessivePktLossRate { + position "3"; + } + bit bufferOverrun { + position "4"; + } + bit bufferUnderrun { + position "5"; + } + bit remotePktLoss { + position "6"; + } + bit pktMisOrder { + position "7"; + } + bit packetLoss { + position "8"; + } + bit tdmFault { + position "9"; + } + } + description + "The state of TDM indicators when the TDM PW last declared + an error second (either as ES, SES or a second with + errors inside a UAS) condition. At this time, only LOPS + can create a failure. Since indicators other than LOPS are + useful, all are latched here. For bit definitions, see + cpwCTDMCurrentIndications above. + + Note: the algorithm used to latch these indications when + entering a defect state is implementation specific."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.10"; + } + + leaf cpwCTDMLastEsTimeStamp { + type yang:timestamp; + description + "The value of sysUpTime at the most recent occasion at + which the TDM PW entered the ES or SES state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.1.1.11"; + } + } + } + + container cpwCTDMCfgTable { + description + "This table contains a set of parameters that may be + referenced by one or more TDM PWs in cpwCTDMTable."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3"; + + list cpwCTDMCfgEntry { + key "cpwCTDMCfgIndex"; + description + "These parameters define the characteristics of a + TDM PW. They are grouped here to ease NMS burden. + Once an entry is created here it may be re-used + by many PWs."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1"; + + leaf cpwCTDMCfgIndex { + type CISCO-IETF-PW-TDM-MIB:CpwTDMCfgIndex; + description + "Index to an entry in this table. The value is a copy of + the assigned cpwCTDMCfgIndexNext."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.1"; + } + + leaf cpwCTDMCfgConfErr { + type bits { + bit other { + position "0"; + } + bit payloadSize { + position "1"; + } + bit jtrBfrDepth { + position "2"; + } + } + description + "This object indicates the various configuration errors, + illegal settings within the cpwCTDMCfg table. The errors + can be due to several reasons, like Payload size mismatch + or Jitter Buffer depth value mistmatch. + + payloadSize - This bit is set if there is Payload size + mismatch between the local and peer + configurations. + jtrBfrDepth - This bit is set if there is Jitter Buffer + depth value mistmatch. + other - This bit is set if the error is not due to + payloadSize and jtrBfrDepth mismatch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.2"; + } + + leaf cpwCTDMCfgPayloadSize { + type uint32; + units "bytes"; + description + "The value of this object indicates the PayLoad Size (in + bytes) to be defined during the PW setUp. Upon TX, + implementation must be capable of carrying that amount of + bytes. Upon RX, when the LEN field is set to 0, the + payload of packet MUST assume this size, and if the actual + packet size is inconsistent with this length, + the packet MUST be considered to be malformed."; + smiv2:defval "32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.3"; + } + + leaf cpwCTDMCfgPktReorder { + type boolean; + description + "If set to true, CE bound packets are queued in the + jitter buffer, out of order packets are re-ordered. The + maximum sequence number differential (i.e., the range in + which re-sequencing can occur) is dependant on the depth + of the jitter buffer. See cpwCTDMCfgJtrBfrDepth."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.4"; + } + + leaf cpwCTDMCfgRtpHdrUsed { + type boolean; + description + "If the value of this object is set to false, then a + RTP header is not pre-pended to the TDM packet."; + reference + "RFC 4553, which describes a pseudowire + encapsulation for TDM (T1, E1, T3, E3) bit-streams + disregards any structure that may be imposed on these + streams."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.5"; + } + + leaf cpwCTDMCfgJtrBfrDepth { + type uint32; + units "microsecond"; + description + "The size of this buffer SHOULD be locally + configured to allow accommodation to the PSN-specific + packet delay variation. + + If configured to a value not supported by the + implementation, the agent MUST return an error code + 'jtrBfrDepth' in 'cpwCTDMConfigError '. + Jitter buffers are a limited resource to be managed. + The actual size should be at least twice as big as the + value of cpwCTDMCfgJtrBfrDepth"; + smiv2:defval "3000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.6"; + } + + leaf cpwCTDMCfgPayloadSuppression { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + } + description + "This object indicates whether the Payload suppression + is eanbled or disabled. + Payload MAY be omitted in order to conserve bandwidth. + + enable - Payload suppression is allowed. + disable - No Payload suppresion under any condition."; + smiv2:defval "disable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.7"; + } + + leaf cpwCTDMCfgConsecPktsInSynch { + type uint32; + units "packets"; + description + "The number of consecutive packets with sequential + sequence numbers that are required to exit the + Loss of Packets (LOPS) state."; + reference + "RFC 4553, which describes a pseudowire + encapsulation for TDM (T1, E1, T3, E3) bit-streams + that disregards any structure that may be imposed + on these streams."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.8"; + } + + leaf cpwCTDMCfgConsecMissPktsOutSynch { + type uint32; + units "packets"; + description + "The number of consecutive missing packets that are + required to enter the LOPS state."; + reference + "RFC 4553, which describes a pseudowire + encapsulation for TDM (T1, E1, T3, E3) bit-streams + that disregards any structure that may be imposed + on these streams."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.9"; + } + + leaf cpwCTDMCfgSetUp2SynchTimeOut { + type uint32; + units "millisecond"; + description + "The amount of time the host should wait before declaring + the pseudo wire in down state, if the number of consecutive + TDM packets that have been received after changing the + administrative status to up and after finalization of + signaling (if supported) between the two PEs is smaller + than cpwCTDMCfgConsecPktsInSynch. Once the the PW has + OperStatus of 'up' this parameter is no longer valid. This + parameter is defined to ensure that the host does not + prematurely inform failure of the PW. In particular PW + 'down' notifications should not be sent before expiration of + this timer. This parameter is valid only after adminisrative + changes of the status of the PW. If the PW fails due to + network impairments a 'down' notification should be sent."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.10"; + } + + leaf cpwCTDMCfgPktReplacePolicy { + type enumeration { + enum "ais" { + value "1"; + } + enum "implementationSpecific" { + value "2"; + } + } + description + "This parameter determines the value to be played when CE + bound packets have over/underflow the jitter buffer, or are + missing for any reason. This AIS (Alarm Indication Signal) + pattern is sent (played) on the TDM line. + + ais - AIS (Alarm Indication Signal) + pattern is sent (played) on + the TDM line. + implementationSpecific - Implementation specific pattern is + sent on the TDM line."; + smiv2:defval "ais"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.11"; + } + + leaf cpwCTDMCfgAvePktLossTimeWindow { + type int32; + units "millisecond"; + description + "The length of time over which the average packet + loss rate should be computed to detect Excessive packet + loss rate"; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.12"; + } + + leaf cpwCTDMCfgExcessivePktLossThreshold { + type uint32; + description + "Excessive packet loss rate is detected by computing the + average packetloss rate over a + cpwCTDMCfgAvePktLossTimeWindow amount of time and + comparing it with this threshold value."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.13"; + } + + leaf cpwCTDMCfgAlarmThreshold { + type uint32; + units "milliseconds"; + description + "Alarms are only reported when the defect state persists + for the length of time specified by this object. + The object's unit is millisec"; + smiv2:defval "2500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.14"; + } + + leaf cpwCTDMCfgClearAlarmThreshold { + type uint32; + units "milliseconds"; + description + "Alarm MUST be cleared after the corresponding defect is + undetected for the amount of time specified by this object. + The object's unit is millisec"; + smiv2:defval "10000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.15"; + } + + leaf cpwCTDMCfgMissingPktsToSes { + type uint32; + units "seconds"; + description + "Number of missing packets detected (consecutive or not) + within a 1 second window to cause a Severely Error + Second (SES) to be counted."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.16"; + } + + leaf cpwCTDMCfgTimestampMode { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "absolute" { + value "2"; + } + enum "differential" { + value "3"; + } + } + description + "Timestamp generation MAY be used in one of the following + modes: + 1. Absolute mode: the PSN-bound IWF sets timestamps + using the clock recovered from the incoming TDM attachment + circuit. As a consequence, the timestamps are closely + correlated with the sequence numbers. All TDM + implementations that support usage of the RTP header MUST + support this mode. + 2. Differential mode: Both IWFs have access to a common + high-quality timing source, and this source is used for + timestamp generation. Support of this mode is OPTIONAL."; + smiv2:defval "absolute"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.17"; + } + + leaf cpwCTDMCfgStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this row. + The following are the read-write objects in permanent(4) + rows, that an agent must allow to be writable: + cpwCTDMCfgPayloadSize, cpwCTDMCfgPktReorder, + cpwCTDMCfgRtpHdrUsed, cpwCTDMCfgJtrBfrDepth, + cpwCTDMCfgPayloadSuppression, cpwCTDMCfgConfErr."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.18"; + } + + leaf cpwCTDMCfgRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + To create a row in this table, a manager must + set this object to either createAndGo(4) or + createAndWait(5). + + All of the columnar objects have to be set to + valid values before the row can be activated. + Default value will be automatically provisioned + if for those objects not specified during row + creation. + No objects in cascading tables have to be populated with + related data before the row can be activated. + + The following objects cannot be modified if the + RowStatus is active: + cpwCTDMCfgPayloadSize, cpwCTDMCfgRtpHdrUsed, + cpwCTDMCfgJtrBfrDepth, and cpwCTDMCfgPayloadSuppression. + + If the RowStatus is active, the following parameters can be + modified: + cpwCTDMCfgConfErr, cpwCTDMCfgPktReorder, + cpwCTDMCfgConsecPktsInSynch, + cpwCTDMCfgConsecMissPktsOutSynch, + cpwCTDMCfgSetUp2SynchTimeOut, cpwCTDMCfgPktReplacePolicy, + cpwCTDMCfgAvePktLossTimeWindow, + cpwCTDMCfgExcessivePktLossThreshold, + cpwCTDMCfgAlarmThreshold, cpwCTDMCfgClearAlarmThreshold, + cpwCTDMCfgMissingPktsToSes, cpwCTDMCfgTimestampMode, + cpwCTDMCfgStorageType. + + A row may be deleted by setting the RowStatus to 'destroy'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.3.1.19"; + } + } + } + + container cpwCTDMPerfCurrentTable { + description + "This table provides TDM PW performance information. + This includes current 15 minute interval counts. + + The table includes counters that work together to + integrate errors and the lack of errors on the TDM PW. + An error is caused by a missing packet. Missing packet + can be a result of, packet loss in the network, + (uncorrectable) packet out of sequence, packet length error, + jitter buffer overflow, and jitter buffer underflow. + The result is declaring whether or not the TDM PW is in + Loss of Packet (LOPS) state."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5"; + + list cpwCTDMPerfCurrentEntry { + key "cpwVcIndex"; + description + "An entry in this table is created by the agent for every + cpwCTDMTable entry. After 15 minutes, the contents of this + table entry are copied to a new entry in the + cpwCTDMPerfInterval table and the counts in this entry + are reset to zero."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwCTDMPerfCurrentMissingPkts { + type perfhist-tc:PerfCurrentCount; + units "packets"; + description + "Number of missing packets (as detected via control word + sequence number gaps)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.1"; + } + + leaf cpwCTDMPerfCurrentPktsReOrder { + type perfhist-tc:PerfCurrentCount; + units "packets"; + description + "Number of packets detected out of sequence (via control + word sequence number), but successfully re-ordered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.2"; + } + + leaf cpwCTDMPerfCurrentJtrBfrUnderruns { + type perfhist-tc:PerfCurrentCount; + description + "Number of times a packet needed to be played + out and the jitter buffer was empty."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.3"; + } + + leaf cpwCTDMPerfCurrentMisOrderDropped { + type perfhist-tc:PerfCurrentCount; + units "packets"; + description + "Number of packets detected out of order(via control word + sequence numbers), and could not be re-ordered, or could + not fit in the jitter buffer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.4"; + } + + leaf cpwCTDMPerfCurrentMalformedPkt { + type perfhist-tc:PerfCurrentCount; + units "packets"; + description + "Number of packets detected with unexpected size, or + bad headers' stack"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.5"; + } + + leaf cpwCTDMPerfCurrentESs { + type perfhist-tc:PerfCurrentCount; + units "seconds"; + description + "The counter associated with the number of Error + Seconds encountered. Any malformed packet, sequence error + and similar are considered as error second"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.6"; + } + + leaf cpwCTDMPerfCurrentSESs { + type perfhist-tc:PerfCurrentCount; + units "seconds"; + description + "The counter associated with the number of + Severely Error Seconds encountered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.7"; + } + + leaf cpwCTDMPerfCurrentUASs { + type perfhist-tc:PerfCurrentCount; + units "seconds"; + description + "The counter associated with the number of + Unavailable Seconds encountered. Any consequtive + five seconds of SES are counted as one UAS"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.8"; + } + + leaf cpwCTDMPerfCurrentFC { + type perfhist-tc:PerfCurrentCount; + description + "This object represents the number of TDM failure + events. A failure event begins when the LOPS failure + is declared, and ends when the failure is cleared. A + failure event that begins in one period and ends in + another period is counted only in the period in which + it begins."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.5.1.9"; + } + } + } + + container cpwCTDMPerfIntervalTable { + description + "This table provides performance information per TDM PW + similar to the cpwCTDMPerfCurrentTable above. However, + these counts represent historical 15 minute intervals. + Typically, this table will have a maximum of 96 entries + for a 24 hour period, but is not limited to this."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6"; + + list cpwCTDMPerfIntervalEntry { + key "cpwVcIndex cpwCTDMPerfIntervalNumber"; + description + "An entry in this table is created by the agent for + every cpwCTDMPerfCurrentEntry that is 15 minutes old. + The contents of the Current entry are copied to the new + entry here. The Current entry, then resets its counts + to zero for the next current 15 minute interval."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwCTDMPerfIntervalNumber { + type uint32; + description + "This object indicates a number (normally between 1 and + 96 to cover a 24 hour period) which identifies the interval + for which the set of statistics is available. The interval + identified by 1 is the most recently completed 15 minute + interval, and the interval identified by N is the interval + immediately preceding the one identified by N-1. + The minimum range of N is 1 through 4.The default range + is 1 through 32. The maximum value of N is 1 through 96."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.1"; + } + + leaf cpwCTDMPerfIntervalValidData { + type boolean; + description + "This variable indicates if the data for this interval + is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.2"; + } + + leaf cpwCTDMPerfIntervalDuration { + type uint32; + units "seconds"; + description + "The duration of a particular interval in seconds. + Adjustments in the system's time-of-day clock, may + cause the interval to be greater or less than, the + normal value. Therefore this actual interval value + is provided."; + smiv2:defval "900"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.3"; + } + + leaf cpwCTDMPerfIntervalMissingPkts { + type perfhist-tc:PerfIntervalCount; + units "packets"; + description + "Number of missing packets (as detected via control + word sequence number gaps)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.4"; + } + + leaf cpwCTDMPerfIntervalPktsReOrder { + type perfhist-tc:PerfIntervalCount; + units "packets"; + description + "Number of packets detected out of sequence (via control + word sequence number), but successfully re-ordered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.5"; + } + + leaf cpwCTDMPerfIntervalJtrBfrUnderruns { + type perfhist-tc:PerfIntervalCount; + description + "Number of times a packet needed to be played + out and the jitter buffer was empty."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.6"; + } + + leaf cpwCTDMPerfIntervalMisOrderDropped { + type perfhist-tc:PerfIntervalCount; + units "packets"; + description + "Number of packets detected out of order(via control word + sequence numbers), and could not be re-ordered, or could + not fit in the jitter buffer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.7"; + } + + leaf cpwCTDMPerfIntervalMalformedPkt { + type perfhist-tc:PerfIntervalCount; + units "packets"; + description + "Number of packets detected with unexpected size, or + bad headers' stack"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.8"; + } + + leaf cpwCTDMPerfIntervalESs { + type perfhist-tc:PerfIntervalCount; + units "seconds"; + description + "The counter associated with the number of Error + Seconds encountered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.9"; + } + + leaf cpwCTDMPerfIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Error Seconds encountered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.10"; + } + + leaf cpwCTDMPerfIntervalUASs { + type perfhist-tc:PerfIntervalCount; + units "seconds"; + description + "The counter associated with the number of + Unavailable Seconds encountered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.11"; + } + + leaf cpwCTDMPerfIntervalFC { + type perfhist-tc:PerfIntervalCount; + description + "This object represents the number of TDM failure + events. A failure event begins when the LOPS failure + is declared, and ends when the failure is cleared. A + failure event that begins in one period and ends in + another period is counted only in the period in which + it begins."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.6.1.12"; + } + } + } + + container cpwCTDMPerf1DayIntervalTable { + description + "This table provides performance information per TDM PW + similar to the cpwCTDMPerfIntervalTable above. However, + these counters represent historical 1 day intervals up to + one full month. The table consists of real time data, as + such it is not persistence across re-boot."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7"; + + list cpwCTDMPerf1DayIntervalEntry { + key "cpwVcIndex cpwCTDMPerf1DayIntervalNumber"; + description + "An entry is created in this table by the agent + for every entry in the cpwCTDMTable table."; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1"; + + leaf cpwVcIndex { + type leafref { + path "/cisco-ietf:CISCO-IETF-PW-MIB/cisco-ietf:cpwVcTable/cisco-ietf:cpwVcEntry/cisco-ietf:cpwVcIndex"; + } + } + + leaf cpwCTDMPerf1DayIntervalNumber { + type uint32; + description + "The number of interval, where 1 indicates current day + measured period and 2 and above indicate previous days + respectively"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.1"; + } + + leaf cpwCTDMPerf1DayIntervalValidData { + type boolean; + description + "This variable indicates if the data for this interval + is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.2"; + } + + leaf cpwCTDMPerf1DayIntervalDuration { + type uint32; + units "seconds"; + description + "The duration of a particular interval in seconds, + Adjustments in the system's time-of-day clock, may + cause the interval to be greater or less than, the + normal value. Therefore this actual interval value + is provided."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.3"; + } + + leaf cpwCTDMPerf1DayIntervalMissingPkts { + type yang:counter32; + units "packets"; + description + "Number of missing packets (as detected via control word + sequence number gaps)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.4"; + } + + leaf cpwCTDMPerf1DayIntervalPktsReOrder { + type yang:counter32; + units "packets"; + description + "Number of packets detected out of sequence (via control + word sequence number), but successfully re-ordered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.5"; + } + + leaf cpwCTDMPerf1DayIntervalJtrBfrUnderruns { + type yang:counter32; + description + "Number of times a packet needed to be played + out and the jitter buffer was empty."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.6"; + } + + leaf cpwCTDMPerf1DayIntervalMisOrderDropped { + type yang:counter32; + units "packets"; + description + "Number of packets detected out of order(via control word + sequence numbers), and could not be re-ordered, or could + not fit in the jitter buffer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.7"; + } + + leaf cpwCTDMPerf1DayIntervalMalformedPkt { + type yang:counter32; + units "packets"; + description + "Number of packets detected with unexpected size, or + bad headers' stack."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.8"; + } + + leaf cpwCTDMPerf1DayIntervalESs { + type yang:counter32; + units "seconds"; + description + "The counter associated with the number of Error + Seconds encountered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.9"; + } + + leaf cpwCTDMPerf1DayIntervalSESs { + type yang:counter32; + units "seconds"; + description + "The counter associated with the number of Severely + Error Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.10"; + } + + leaf cpwCTDMPerf1DayIntervalUASs { + type yang:counter32; + units "seconds"; + description + "The counter associated with the number of + UnAvailable Seconds. + When first entering the UAS state, the number + of SES To UAS is added to this object, then as each + additional UAS occurs, this object increments by one."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.11"; + } + + leaf cpwCTDMPerf1DayIntervalFC { + type yang:counter32; + description + "This object represents the number of TDM failure + events. A failure event begins when the LOPS failure + is declared, and ends when the failure is cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.131.1.7.1.12"; + } + } + } + } + + smiv2:alias "cpwCTDMMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.131"; + } + + smiv2:alias "cpwCTDMNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.131.0"; + } + + smiv2:alias "cpwCTDMObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.131.1"; + } + + smiv2:alias "cpwCTDMConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.131.2"; + } + + smiv2:alias "cpwCTDMGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.131.2.1"; + } + + smiv2:alias "cpwCTDMCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.131.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IF-EXTENSION-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IF-EXTENSION-MIB.yang new file mode 100644 index 000000000..dff4dbc86 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IF-EXTENSION-MIB.yang @@ -0,0 +1,2153 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IF-EXTENSION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IF-EXTENSION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IF-EXTENSION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB"; + prefix CISCO-IF-EXTENSION-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-core-mibs@cisco.com, + cs-lan-switch-snmp@cisco.com"; + + description + "A MIB module for extending the IF-MIB (RFC2863) + to add objects which provide additional information + about interfaces not available in other MIBS. + This MIB replaces the OLD-CISCO-INTERFACES-MIB. + + GLOSSARY : + + Virtual Switch - A physical switch partitioned into + multiple logical switches. + + Interface Sharing - An interface can be shared among + multiple virtual switches. + + Speed Group - An interface is capable of operating in any one of + the speed range depending on the capability of the hardware. + + Virtual Link (VL) - Virtual Link is a logical connectivity + between two end points. A physical interface can + have multiple Virtual Links. + + No Drop Virtual Link - According to 802.3 standard, + No drop specifies lossless service on a virtual link. + + Drop Virtual Link - According to 802.3 standard, + Traffic drop may occur on this virtual Link."; + + revision 2013-03-13 { + description + "Added new object cieIfTransceiverFrequencyConfig, + cieIfFillPatternConfig, cieIfIgnoreBitErrorsConfig and + cieIfIgnoreInterruptThresholdConfig to cieIfInterfaceTable. + - Added a new group + ciscoIfExtensionTableIntfGroup3SupR02 + - Deprecated ciscoIfExtensionMIBCompliance13 + - Added ciscoIfExtensionMIBCompliance14."; + } + + revision 2012-09-05 { + description + "Added new object cieLinkUpDownConfig. + - Added a new group cieLinkUpDownNotifConfigGroup. + - Deprecated cieLinkUpDownEnable. + - Deprecated cieStandardLinkUpDownVarbinds. + - Deprecated ciscoIfExtensionMIBCompliance13. + - Added ciscoIfExtensionMIBCompliance14."; + } + + revision 2011-06-27 { + description + "Added new object cieIfSharedConfig and + cieIfSpeedGroupConfig to cieIfInterfaceTable. + Add cieIfVlStatsTable. + - Added a new group + ciscoIfExtensionTableIntfGroup3SupR01 and + cieIfVlStatsGroup + - Deprecated ciscoIfExtensionMIBCompliance12 + - Added ciscoIfExtensionMIBCompliance13."; + } + + revision 2009-02-26 { + description + "Added Textual Convention InterfaceOwnershipList + - Added new object cieInterfaceOwnershipBitmap + - Added new group cieIfStatusListGroupSup1 + - Deprecated ciscoIfExtensionMIBCompliance11 + - Added ciscoIfExtensionMIBCompliance12"; + } + + revision 2008-12-09 { + description + "Added new object cieIfOwner to + cieIfInterfaceTable. + - Added a new group + ciscoIfExtensionTableIntfGroup3 + - Deprecated ciscoIfExtensionTableIntfGroup2 + - Deprecated ciscoIfExtensionMIBCompliance10 + - Added ciscoIfExtensionMIBCompliance11"; + } + + revision 2008-10-06 { + description + "Added a new textual Convention IfIndexPersistenceState. + - Added scalar object cieIfIndexGlobalPersistence to + ciscoIfExtSystemConfig. + - Deprecated scalar object cieIfIndexPersistence to + ciscoIfExtSystemConfig. + - Added a new object cieIfIndexPersistenceControl in + cieIfIndexPersistenceTable. + - Deprecated an object cieIfIndexPersistenceEnabled in + cieIfIndexPersistenceTable. + - Added a new group cieIfIndexPersistenceControlGroup. + - Deprecated the group cieIfIndexPersistenceGroup. + - Added ciscoIfExtensionMIBCompliance10 + - Deprecated ciscoIfExtensionMIBCompliance9"; + } + + revision 2008-07-31 { + description + "Added cieIfOperStatusCause to the objects in the + notification cieDelayedLinkUpDownNotif."; + } + + revision 2008-07-08 { + description + "Added notification cieDelayedLinkUpDownNotif + - Added scalar objects cieDelayedLinkUpDownNotifEnable and + cieDelayedLinkUpDownNotifDelay to ciscoIfExtSystemConfig. + - Added the following groups: + cieDelayedLinkUpDownNotifNotifGroup + cieDelayedLinkUpDownNotifNotifEnableGroup + - Deprecated ciscoIfExtensionMIBCompliance7 + - Added ciscoIfExtensionMIBCompliance8."; + } + + revision 2008-06-23 { + description + "Added scalar object cieIfIndexPersistence to + ciscoIfExtSystemConfig. + - Added a new Table cieIfIndexPersistenceTable. + - Added a new object cieIfIndexPersistenceEnabled in + cieIfIndexPersistenceTable. + - Added a new group cieIfIndexPersistenceGroup. + - Deprecated ciscoIfExtensionMIBCompliance7 + - Added ciscoIfExtensionMIBCompliance8"; + } + + revision 2007-07-23 { + description + "Added cieIfInterval in cieIfUtilTable. Changed + the description of objects in cieIfUtilTable. + Added ciscoIfExtUtilIntervalGroup."; + } + + revision 2006-11-01 { + description + "Add support for asymetrical interfaces speeds. + + - Added following objects in cieIfInterfaceTable + cieIfSpeedReceive + cieIfHighSpeedReceive + - Added ciscoIfExtensionAsymmetricalSpeedGroup OBJECT-GROUP + - Added ciscoIfExtensionMIBCompliance6 MODULE-COMPLIANCE"; + } + + revision 2005-04-28 { + description + "Added: + - cieLinkUp & cieLinkDown notifications. + - object to control sending: only standard + linkUp/linkDown OR only cieLinkUp/cieLinkDown + OR both. + - object to control sending only standard defined + varbinds in linkUp/linkDown OR additional varbinds + in addition to standard defined."; + } + + revision 2005-01-25 { + description + "Updated the description of cieIfDot1dBaseMappingEntry."; + } + + revision 2004-09-08 { + description + "Added new objects 'cieIfOperStatusCause' and + 'cieIfOperStatusCauseDescr' in cieIfInterfaceTable. + Added a new table 'cieIfStatusListTable'."; + } + + revision 2003-11-14 { + description + "Added new objects cieIfName and cieIfIndex for the + 'ifName' to 'ifIndex' mapping. Deprecated the + ciscoIfExtensionMIBCompliance2 compliance. + Added ciscoIfExtensionMIBCompliance3 and + ciscoIfExtIfNameMappingGroup."; + } + + revision 2003-08-12 { + description + "Added ciscoIfExtDot1dBaseMappingGroup."; + } + + revision 2003-07-17 { + description + "Added ciscoIfExtUtilizationGroup."; + } + + revision 2003-06-25 { + description + "Added the object cieSystemMtu and + ciscoIfExtSystemGroup. + Added ciscoIfExtDot1qCustomEtherType and + ciscoIfExtDot1qEtherTypeGroup."; + } + + revision 2002-10-12 { + description + "Added the objects cieIfDhcpMode, cieIfMtu, + cieIfContextName to cieIfInterfaceTable. + Deprecated the ciscoIfExtensionMIBCompliance + compliance. Added ciscoIfExtensionMIBCompliance1. + Added ciscoIfExtensionTableIntfGroup1."; + } + + revision 2002-07-24 { + description + "Initial version of the MIB module."; + } + + typedef InterfaceIndexList { + type binary { + length "0..256"; + } + description + "This textual convention defines the 'ifIndex' for a + set of 64 interfaces in a module. + + Each 4 bytes within the value of an object of this + type is combined together to represent the interface + index of a particular port in the module (i.e., each + 4 byte group represents the 'ifIndex' of an interface). + + The first 4 bytes (byte 1, byte 2, byte 3 and byte 4) + combined represent the 'ifIndex' of an interface. + While the second 4 bytes (byte 5, byte 6, byte 7 and + byte 8) represent the 'ifIndex' for the next interface + in the module, and so on. + + If there are only 'n' interfaces in a set of 64 + interfaces in the module, then bytes after the '4n' + byte in this object are irrelevant."; + } + + typedef InterfaceOperModeList { + type binary { + length "0..64"; + } + description + "This textual convention defines the operational mode + for a set of 64 interfaces in a module. + + The operational mode of an interface is represented + by the value defined in the textual convention + 'InterfaceOperMode' (defined in CISCO-ST-TC). + + Each 'byte' within the value of an object of this + type, specifies the operational mode of an interface + in the module. + + The first byte (byte 1) represents the operational + mode of an interface in the module, whose 'ifIndex' + is represented by the corresponding instance of + 'cieInterfacesIndex' object in its first 4 bytes. + + The second byte (byte 2) represents the operational + mode of an interface in the module, whose 'ifIndex' + is represented by the corresponding instance of + 'cieInterfacesIndex' object in its second 4 bytes. + + If there are only 'n' interfaces in a set of 64 + interfaces in the module, then bytes after the 'n' + byte in this object are irrelevant."; + } + + typedef InterfaceOperCauseList { + type binary { + length "0..128"; + } + description + "This textual convention defines the operational + status cause for a set of 64 interfaces in a module. + + The operational status cause of an interface is + represented by the value defined in the textual + convention 'IfOperStatusReason' (defined in CISCO-TC). + + Each 2 bytes within the value of an object of this + type is combined together to represent the operational + status cause of a particular interface in the module + (i.e., each 2 byte group represents the + 'cieIfOperStatusCause' of an interface). + + The first 2 bytes (byte 1 and byte 2) of this object, + represents the operational status cause of an + interface in the module, whose 'ifIndex' is + represented by the corresponding instance of + 'cieInterfacesIndex' object in its first 4 bytes. + + The next 2 bytes (byte 3 and byte 4) of this object, + represents the operational status cause of an + interface in the module, whose 'ifIndex' is + represented by the corresponding instance of + 'cieInterfacesIndex' object in the next 4 bytes + respectively. + + If there are only 'n' interfaces in a set of 64 + interfaces in the module, then bytes after the + '2n' byte in this object are irrelevant."; + } + + typedef InterfaceOwnershipList { + type binary { + length "0..8"; + } + description + "This textual convention defines the status for a set of + 64 interfaces in a module regarding whether or not each + interface is administratively assigned a name of the current + owner of the interface resource as per the object cieIfOwner, + defined on that interface. + + Each 'bit' within the value of an object of this type, + specifies whether the corresponding interface on the module + has been administratively assigned a name of the current + owner of the interface resource. In other words, each bit + represents whether the corresponding interface is 'owned' + or not. This bit is set to 1 if the interface is owned. + It is 0 otherwise. + + The first bit (bit 1) in byte 1 represents whether the + interface, whose 'ifIndex' is represented by the corresponding + instance of 'cieInterfacesIndex' object in its first 4 bytes, + is owned or not. + + The second byte (byte 2) in byte 2 represents whether the + interface, whose 'ifIndex' is represented by the corresponding + instance of 'cieInterfacesIndex' object in its second 4 bytes, + is owned or not. + + If there are only 'n' interfaces in a set of 64 interfaces in + the module, then bits after the 'n' bit in this object are + irrelevant and set to 0."; + } + + typedef IfIndexPersistenceState { + type enumeration { + enum "disable" { + value "1"; + } + enum "enable" { + value "2"; + } + enum "global" { + value "3"; + } + } + description + "This textual convention is used to define the state of ifIndex + Persistence for both global as well as interface level. + + The global object, cieIfIndexGlobalPersistence can have two + state of ifIndex Persistence i.e. either enable or disable. At + interface level, the object cieIfIndexPersistenceControl can + take all the three values enable/disable/global."; + } + + + container CISCO-IF-EXTENSION-MIB { + config false; + + container ciscoIfExtSystemConfig { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2"; + + leaf cieSystemMtu { + type int32; + description + "Global system MTU in octets. + This object specifies the MTU on all interfaces. + However, the value specified by cieIfMtu + takes precedence for an interface, which means + that the interface's MTU uses the value + specified by cieIfMtu, if it is configured."; + smiv2:defval "1500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.1"; + } + + leaf cieLinkUpDownEnable { + type bits { + bit standard { + position "0"; + } + bit cisco { + position "1"; + } + } + status deprecated; + description + "Indicates whether cieLinkUp/cieLinkDown + or standard mib-II defined linkUp/Down or + both, notifications should be generated + for the interfaces in the system. + + 'standard' - only generate standard defined + mib-II linkUp/linkDown notification + if 'ifLinkUpDownTrapEnable' for + the interface is 'enabled'. + 'cisco' - only generate cieLinkUp/cieLinkDown + notifications for an interface if + the 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + + If both bits are selected then linkUp/linkDown and + cieLinkUp/cieLinkDown are both generated for an + interface if the 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'."; + smiv2:defval "{standard}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.2"; + } + + leaf cieStandardLinkUpDownVarbinds { + type enumeration { + enum "standard" { + value "1"; + } + enum "additional" { + value "2"; + } + enum "other" { + value "3"; + } + } + status deprecated; + description + "Indicates whether to send the extra + varbinds in addition to the varbinds defined + in linkUp/linkDown notifications. + + 'standard' - only send the varbinds defined in + the standard linkUp/linkDown + notification. + 'additional' - send the extra varbinds in addition + to the defined ones. + 'other' - any other config not covered by the above. + This value is read-only."; + smiv2:defval "additional"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.3"; + } + + leaf cieIfIndexPersistence { + type boolean; + status deprecated; + description + "This object specifies whether ifIndex values persist across + reinitialization of the device. + + ifIndex persistence means that the mapping between the ifDescr + object values and the ifIndex object values will be retained + across reboots. + + Applications such as device inventory, billing, and fault + detection depend on the maintenance of the correspondence + between particular ifIndex values and their interfaces. During + reboot or insertion of a new card, the data to correlate the + interfaces to the ifIndex may become invalid in absence of + ifIndex persistence feature. + + ifIndex persistence for an interface ensures ifIndex value for + the interface will remain the same after a system reboot. + Hence, this feature allows users to avoid the workarounds + required for consistent interface identification across + reinitialization. + + Due to change in syntax, this object is deprecated by + cieIfIndexGlobalPersistence."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.4"; + } + + leaf cieDelayedLinkUpDownNotifEnable { + type boolean; + description + "This object specifies whether the system generates a + cieDelayedLinkUpDownNotif notification."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.6"; + } + + leaf cieDelayedLinkUpDownNotifDelay { + type uint32 { + range "1..60"; + } + units "minutes"; + description + "This object specifies the interval of time an interface's + operational status must remain stable following a transition + before the system will generate a cieDelayedLinkUpDownNotif."; + smiv2:defval "4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.7"; + } + + leaf cieIfIndexGlobalPersistence { + type CISCO-IF-EXTENSION-MIB:IfIndexPersistenceState; + description + "This object specifies whether ifIndex values persist across + reinitialization of the device. + + ifIndex persistence means that the mapping between the ifDescr + object values and the ifIndex object values will be retained + across reboots. + + Applications such as device inventory, billing, and fault + detection depend on the maintenance of the correspondence + between particular ifIndex values and their interfaces. During + reboot or insertion of a new card, the data to correlate the + interfaces to the ifIndex may become invalid in absence of + ifIndex persistence feature. + + ifIndex persistence for an interface ensures ifIndex value for + the interface will remain the same after a system reboot. Hence, + this feature allows users to avoid the workarounds required for + consistent interface identification across reinitialization. + + The allowed values for this object are either enable or disable. + global value is not allowed."; + smiv2:defval "disable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.8"; + } + + leaf cieLinkUpDownConfig { + type bits { + bit standardLinkUp { + position "0"; + } + bit standardLinkDown { + position "1"; + } + bit additionalLinkUp { + position "2"; + } + bit additionalLinkDown { + position "3"; + } + bit ciscoLinkUp { + position "4"; + } + bit ciscoLinkDown { + position "5"; + } + } + description + "This object specifies whether standard mib-II defined linkUp/ + linkDown, extended linkUp/linkDown (with extra varbinds in + addition to the varbinds defined in linkUp/linkDown) or + cieLinkUp/cieLinkDown notifications should be generated for + the interfaces in the system. + + 'standardLinkUp' - generate standard defined mib-II + linkUp notification if + 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + 'standardLinkDown' - generate standard defined mib-II + linkDown notification if + 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + 'additionalLinkUp' - generate linkUp notification with + additional varbinds if + 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + 'additionalLinkDown' - generate linkDown notification with + additional varbinds if + 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + 'ciscoLinkUp' - generate cieLinkUp notification + if the 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + 'ciscoLinkDown' - generate cieLinkDown notification + if the 'ifLinkUpDownTrapEnable' for the + interface is 'enabled'. + + If multiple bits are set then multiple notifications will + be generated for an interface if the 'ifLinkUpDownTrapEnable' + for the interface is 'enabled'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.9"; + } + } + + container cieIfPacketStatsTable { + description + "This table contains interface packet + statistics which are not available in + IF-MIB(RFC2863). + + As an example, some interfaces to which + objects in this table are applicable are + as follows : + + o Ethernet + o FastEthernet + o ATM + o BRI + o Sonet + o GigabitEthernet + + Some objects defined in this table may be + applicable to physical interfaces only. + As a result, this table may be sparse for + some logical interfaces."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1"; + + list cieIfPacketStatsEntry { + key "ifIndex"; + description + "An entry into the cieIfPacketStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfLastInTime { + type yang:gauge32; + units "milliseconds"; + description + "This object represents the elapsed time in + milliseconds since last protocol input + packet was received. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.1"; + } + + leaf cieIfLastOutTime { + type yang:gauge32; + units "milliseconds"; + description + "This object represents the elapsed time in + milliseconds since last protocol output + packet was transmitted. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.2"; + } + + leaf cieIfLastOutHangTime { + type yang:gauge32; + units "milliseconds"; + description + "This object represents the elapsed time in + milliseconds since last protocol output + packet could not be successfully transmitted. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.3"; + } + + leaf cieIfInRuntsErrs { + type yang:counter32; + description + "The number of packets input on a particular + physical interface which were dropped as + they were smaller than the minimum allowable + physical media limit. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.4"; + } + + leaf cieIfInGiantsErrs { + type yang:counter32; + description + "The number of input packets on a particular + physical interface which were dropped as + they were larger than the ifMtu (largest + permitted size of a packet which can be + sent/received on an interface). + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.5"; + } + + leaf cieIfInFramingErrs { + type yang:counter32; + description + "The number of input packets on a physical + interface which were misaligned or had + framing errors. This happens when the + format of the incoming packet on a physical + interface is incorrect. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.6"; + } + + leaf cieIfInOverrunErrs { + type yang:counter32; + description + "The number of input packets which arrived + on a particular physical interface which + were too quick for the hardware to receive + and hence the receiver ran out of buffers. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.7"; + } + + leaf cieIfInIgnored { + type yang:counter32; + description + "The number of input packets which were simply + ignored by this physical interface due to + insufficient resources to handle the incoming + packets. + + For example, this could indicate that the input + receive buffers are not available or that the + receiver lost a packet. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.8"; + } + + leaf cieIfInAbortErrs { + type yang:counter32; + description + "Number of input packets which were dropped + because the receiver aborted. + + Examples of this could be when an abort + sequence aborted the input frame or when + there is a collision in an ethernet segment. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.9"; + } + + leaf cieIfInputQueueDrops { + type yang:counter32; + description + "The number of input packets which were + dropped. + + Some reasons why this object could be + incremented are: + + o Input queue is full. + o Errors at the receiver hardware + while receiving the packet. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.10"; + } + + leaf cieIfOutputQueueDrops { + type yang:counter32; + description + "This object indicates the number of output + packets dropped by the interface even though + no error had been detected to prevent them + being transmitted. + + The packet could be dropped for many reasons, + which could range from the interface being + down to errors in the format of the packet. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfPacketDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.11"; + } + + leaf cieIfPacketDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent + occasion at which this interface's counters + suffered a discontinuity. + + If no such discontinuities have occurred + since the last re-initialization of the + local management subsystem, then this + object contains a value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.1.1.12"; + } + } + } + + container cieIfInterfaceTable { + description + "This table contains objects which provide + more information about interface + properties not available in IF-MIB + (RFC 2863). + + Some objects defined in this table may be + applicable to physical interfaces only. + As a result, this table may be sparse for + logical interfaces."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2"; + + list cieIfInterfaceEntry { + key "ifIndex"; + description + "An entry into the cieIfInterfaceTable."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfResetCount { + type yang:counter32; + description + "The number of times the interface was + internally reset and brought up. + + Some of the actions which can cause this + counter to increment are : + + o Bringing an interface up using the + interface CLI command. + + o Clearing the interface with the exec + CLI command. + + o Bringing the interface up via SNMP. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfInterfaceDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.1"; + } + + leaf cieIfKeepAliveEnabled { + type boolean; + description + "A keepalive is a small, layer-2 message + that is transmitted by a network device + to let directly-connected network devices + know of its presence. + + This object returns 'true' if keepalives + are enabled on this interface. If keepalives + are not enabled, 'false' is returned. + + Setting this object to TRUE or FALSE enables + or disables (respectively) keepalive on this + interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.2"; + } + + leaf cieIfStateChangeReason { + type snmp-framework:SnmpAdminString; + description + "This object displays a human-readable + textual string which describes the + cause of the last state change of the + interface. + + Examples of the values this object + can take are: + + o 'Lost Carrier' + o 'administratively down' + o 'up' + o 'down'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.3"; + } + + leaf cieIfCarrierTransitionCount { + type yang:counter32; + description + "Number of times interface saw the carrier + signal transition. + + For example, if a T1 line is unplugged, + then framer will detect the loss of signal + (LOS) on the line and will count it as a + transition. + + Discontinuities in the value of this variable + can occur at re-initialization of the + management system, and at other times as + indicated by the values of + cieIfInterfaceDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.4"; + } + + leaf cieIfInterfaceDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent + occasion at which this interface's counters + suffered a discontinuity. + + If no such discontinuities have occurred + since the last re-initialization of the + local management subsystem, then this + object contains a value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.5"; + } + + leaf cieIfDhcpMode { + type boolean; + description + "The DHCP mode configured by the + administrator. + If 'true' the DHCP is enabled. In which + case an IP address is requested in DHCP. + This is in addition to any that are + configured by the administrator in + 'ciiIPAddressTable' or 'ciiIPIfAddressTable' + in CISCO-IP-IF-MIB. + If 'false' the DHCP is disabled. In which + case all IP addresses are configured by the + administrator in 'ciiIPAddressTable' or + 'ciiIPIfAddressTable'. + For interfaces, for which DHCP cannot be or + is not supported, then this object has the + value 'false'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.6"; + } + + leaf cieIfMtu { + type int32 { + range "40..2147483647"; + } + description + "The MTU configured by the administrator. + This object is exactly same as 'ifMtu' in + ifTable from IF-MIB for the same ifIndex + value , except that it is configurable by the + administrator. For more description of this + object refer to 'ifMtu' in IF-MIB."; + smiv2:defval "1500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.7"; + } + + leaf cieIfContextName { + type binary { + length "0..32"; + } + description + "The ContextName denotes the interface + 'context' and is used to logically separate + the MIB management. + RFC 2571 and RFC 2737 describe this approach. + When the agent supports a different SNMP + context, as detailed in RFC 2571 and + RFC 2737, for different interfaces, then the + value of this object specifies the context + name used for this interface."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.8"; + } + + leaf cieIfOperStatusCause { + type cisco-tc:IfOperStatusReason; + description + "This object represents the detailed + operational cause reason for the current + operational state of the interface. + The current operational state of the interface + is given by the 'ifOperStatus' defined + in IF-MIB. + + The corresponding instance of + 'cieIfOperStatusCauseDescr' must be used to + get the information about the operational + cause value mentioned in this object. + + For interfaces whose 'ifOperStatus' is 'down' + the objects 'cieIfOperStatusCause' and + 'cieIfOperStatusCauseDescr' together provides + the information about the operational cause + reason and the description of the cause. + + The value of this object will be 'none' for + all the 'ifOperStatus' values except for + 'down'. Its value will be one status cause + defined in the 'IfOperStatusReason' textual + convention if 'ifOperStatus' is 'down'. + + The value of this object will be 'other' + if the operational status cause is not one + defined in 'IfOperStatusReason'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.9"; + } + + leaf cieIfOperStatusCauseDescr { + type snmp-framework:SnmpAdminString; + description + "The description for the cause of current + operational state of the interface, given + by the object 'cieIfOperStatusCause'. + + For an interface whose 'ifOperStatus' is not + 'down' the value of this object will be + 'none'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.10"; + } + + leaf cieIfSpeedReceive { + type yang:gauge32; + description + "An estimate of the interface's current receive bandwidth in + bits per second. This object is provided for interface with + asymmetric interface speeds like ADSL and should be used in + conjunction with ifSpeed object. For interfaces which do not + vary in bandwidth or for those where no accurate estimation can + be made, this object should contain the nominal bandwidth. If + the bandwidth of the interface is greater than the maximum value + reportable by this object then this object should report its + maximum value (4,294,967,295) and ifHighSpeed must be used to + report the interace's speed. For a sub-layer which has no + concept of bandwidth, this object should be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.11"; + } + + leaf cieIfHighSpeedReceive { + type yang:gauge32; + description + "An estimate of the interface's current receive bandwidth in + units of 1,000,000 bits per second. If this object reports a + value of `n' then the speed of the interface is somewhere in the + range of `n-500,000' to `n+499,999'. For interfaces which do + not vary in bandwidth or for those where no accurate estimation + can be made, this object should contain the nominal bandwidth. + For a sub-layer which has no concept of bandwidth, this object + should be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.12"; + } + + leaf cieIfOwner { + type snmpv2-tc:DisplayString { + length "0..80"; + } + description + "This data type is used to model an administratively assigned + name of the current owner of the interface resource. This + information is taken from the NVT ASCII character set. It is + suggested that this name contain one or more of the following: + SnmpEngineID, IP address, management station name, network + manager's name, location, or phone number. + SNMP access control is articulated entirely in terms of the + contents of MIB views; access to a particular SNMP object + instance depends only upon its presence or absence in a + particular MIB view and never upon its value or the value of + related object instances. + Thus, this object affords resolution of resource contention + only among cooperating managers; this object realizes no access + control function with respect to uncooperative parties."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.13"; + } + + leaf cieIfSharedConfig { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "ownerDedicated" { + value "2"; + } + enum "ownerShared" { + value "3"; + } + enum "sharedOnly" { + value "4"; + } + } + description + "This object indicates the current configuration of + interface sharing on the given interface. + + 'notApplicable' - the interface sharing configuration on + this interface is not applicable. + 'ownerDedicated' - the interface is in the dedicated mode + to the binding physical interface. + 'ownerShared' - the interface is shared amongst virtual switches + and this interface physically belongs to a its + virtual switch. + 'sharedOnly' - the interface is in purely shared mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.14"; + } + + leaf cieIfSpeedGroupConfig { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "tenG" { + value "2"; + } + enum "oneTwoFourEightG" { + value "3"; + } + enum "twoFourEightSixteenG" { + value "4"; + } + } + description + "This object specifies the current speed group + configuration on the given interface. + + 'notApplicable' - the interface speed group configuration on + this interface is not applicable. It is a + read-only value. + '10G' - the interface speed group configuration on + this interface as 10G. + '1G-2G-4G-8G' - the interface speed group configuration + on this interface as 1G-2G-4G-8G. + '2G-4G-8G-16G' - the interface speed group configuration + on this interface as 2G-4G-8G-16G."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.15"; + } + + leaf cieIfTransceiverFrequencyConfig { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "fibreChannel" { + value "2"; + } + enum "ethernet" { + value "3"; + } + } + description + "This object specifies the current transceiver frequency + configuration on the given interface. + + 'notApplicable' - the interface transceiver frequency + configuration on this interface + is not applicable. It is a read-only value. + 'FibreChannel' - the interface transceiver frequency + configuration on this interface as + Fibre Channel. + 'Ethernet' - the interface transceiver frequency on + this interface as Ethernet."; + smiv2:defval "fibreChannel"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.16"; + } + + leaf cieIfFillPatternConfig { + type enumeration { + enum "arbff8G" { + value "1"; + } + enum "idle8G" { + value "2"; + } + } + description + "This object specifies the current switchport fill pattern + configuration on the given interface. + + 'arbff8G' - the inter frame gap fill pattern is + ARBFF for 8G speed. + 'idle8G' - the inter frame gap fill pattern is + IDLE for 8G speed."; + smiv2:defval "arbff8G"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.17"; + } + + leaf cieIfIgnoreBitErrorsConfig { + type boolean; + description + "This object specifies the current switchport biterrors + configuration on the given interface. + + If 'true(1)' the ignore bit errors is enabled.In which case + the interface ignores bit errors. + If 'false(2)' the ignore bit errors is disabled. In which + case the interface acts on the bit errors. + For interfaces, for which bit errors + is not supported, then this object has the + value 'true(1)'."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.18"; + } + + leaf cieIfIgnoreInterruptThresholdConfig { + type boolean; + description + "This object specifies the current interrupt threshold + configuration on the given interface. + + 'If 'true(1)' the ignore interrupt thresholds is enabled. + In which case the interface ignores interrupt thresholds. + If 'false(2)' the ignore interrupt thresholds is disabled. + In which case the interface acts on the interrupt + thresholds. + For interfaces, for which interrupt thresholds + is not supported, then this object has the + value 'true(1)'."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.2.1.19"; + } + } + } + + container cieIfStatusListTable { + description + "This table contains objects for providing + the 'ifIndex', interface operational mode and + interface operational cause for all the + interfaces in the modules. + + This table contains one entry for each + 64 interfaces in an module. + + This table provides efficient way of encoding + 'ifIndex', interface operational mode and + interface operational cause, from the point + of retrieval, by combining the values a set + of 64 interfaces in a single MIB object."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3"; + + list cieIfStatusListEntry { + key "entPhysicalIndex cieIfStatusListIndex"; + description + "Each entry represents the 'ifIndex', + interface operational mode and interface + operational cause for a set of 64 interfaces + in a module."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cieIfStatusListIndex { + type uint32 { + range "1..33554432"; + } + description + "An arbitrary integer value, greater than + zero, which identifies a list of 64 interfaces + within a module."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1.1"; + } + + leaf cieInterfacesIndex { + type CISCO-IF-EXTENSION-MIB:InterfaceIndexList; + description + "This object represents the 'ifIndex' for a + set of 64 interfaces in the module."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1.2"; + } + + leaf cieInterfacesOperMode { + type CISCO-IF-EXTENSION-MIB:InterfaceOperModeList; + description + "This object represents the operational mode + for a set of 64 interfaces in the module."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1.3"; + } + + leaf cieInterfacesOperCause { + type CISCO-IF-EXTENSION-MIB:InterfaceOperCauseList; + description + "This object represents the operational status + cause for a set of 64 interfaces in the + module."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1.4"; + } + + leaf cieInterfaceOwnershipBitmap { + type CISCO-IF-EXTENSION-MIB:InterfaceOwnershipList; + description + "This object indicates the status for a set of 64 interfaces + in a module regarding whether or not each interface is + administratively assigned a name of the current owner of the + interface resource as per cieIfOwner."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.3.1.5"; + } + } + } + + container cieIfVlStatsTable { + description + "This table contains VL (Virtual Link) statistics + for a capable interface. + + Objects defined in this table may be + applicable to physical interfaces only."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4"; + + list cieIfVlStatsEntry { + key "ifIndex"; + description + "Each row contains managed objects for + Virtual Link statistics on interface capable of + providing this information."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfNoDropVlInPkts { + type yang:counter64; + description + "This object indicates the number of input + packets on all No-Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.1"; + } + + leaf cieIfNoDropVlInOctets { + type yang:counter64; + description + "This object indicates the number of input + octets on all No-Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.2"; + } + + leaf cieIfNoDropVlOutPkts { + type yang:counter64; + description + "This object indicates the number of output + packets on all No-Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.3"; + } + + leaf cieIfNoDropVlOutOctets { + type yang:counter64; + description + "This object indicates the number of output + octets on all No-Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.4"; + } + + leaf cieIfDropVlInPkts { + type yang:counter64; + description + "This object indicates the number of input + packets on all Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.5"; + } + + leaf cieIfDropVlInOctets { + type yang:counter64; + description + "This object indicates the number of input + octets on all Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.6"; + } + + leaf cieIfDropVlOutPkts { + type yang:counter64; + description + "This object indicates the number of output + packets on all Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.7"; + } + + leaf cieIfDropVlOutOctets { + type yang:counter64; + description + "This object indicates the number of output + octets on all Drop Virtual Links belonged + to this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1.4.1.8"; + } + } + } + + container cieIfIndexPersistenceTable { + description + "This table lists configuration data relating to ifIndex + persistence. + + This table has a sparse dependent relationship on the ifTable, + containing a row for each ifEntry corresponding to an interface + for which ifIndex persistence is supported."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.5"; + + list cieIfIndexPersistenceEntry { + key "ifIndex"; + description + "Each entry represents ifindex persistence configuration for an + interface specified by ifIndex. Whenever an interface which + supports ifindex persistence is created/destroyed in the + ifTable, the corresponding ifindex persistence entry is + created/destroyed respectively. Some of the interfaces may not + support ifindex persistence, for example, a dynamic interface, + such as a PPP connection or a IP subscriber interface."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.5.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfIndexPersistenceEnabled { + type boolean; + status deprecated; + description + "This object specifies whether the interface's ifIndex value + persist across reinitialization. + + Due to change in syntax, this object is deprecated by + cieIfIndexPersistenceControl."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.5.1.1"; + } + + leaf cieIfIndexPersistenceControl { + type CISCO-IF-EXTENSION-MIB:IfIndexPersistenceState; + description + "This object specifies whether the interface's ifIndex value + persist across reinitialization. In global state, the interface + uses the global setting data for persistence i.e. + cieIfIndexGlobalPersistence."; + smiv2:defval "global"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2.5.1.2"; + } + } + } + + container cieIfDot1qCustomEtherTypeTable { + description + "A list of the interfaces that support + the 802.1q custom Ethertype feature."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.3.1"; + + list cieIfDot1qCustomEtherTypeEntry { + key "ifIndex"; + description + "An entry containing the custom EtherType + information for the interface. + + Only interfaces with custom 802.1q + ethertype control are listed in the + table."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.3.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfDot1qCustomAdminEtherType { + type int32 { + range "0..65535"; + } + description + "The Dot1qEtherType allow administrator + to select a non-standard (other than 0x8100) + 2-byte ethertype for the interface to + interoperate with third party vendor's system + that do not use the standard 0x8100 ethertype + to identify 802.1q-tagged frames. + + The current administrative value of the + 802.1q ethertype for the interface. The + administrative 802.1q ethertype value may + differ from the operational 802.1q ethertype + value. On some platforms, 802.1q ethertype + may be assigned per group rather than per port. + If multiple ports belong to a port group, + the 802.1q ethertype assigned to any of + the ports in such group will apply to all + ports in the same group. + + To configure non-standard dot1q ethertype + is only recommended when the Cisco device + is connected to any third party vendor device. + Also be advised that the custom ethertype value + needs to be changed in the whole cloud of + Cisco device with the same custom ethertype + value if the third party device are separated + by number of Cisco device in the middle."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.3.1.1.1"; + } + + leaf cieIfDot1qCustomOperEtherType { + type int32 { + range "0..65535"; + } + description + "The current operational value of the + 802.1q ethertype for the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.3.1.1.2"; + } + } + } + + container cieIfUtilTable { + description + "This table contains the interface utilization + rates for inbound and outbound traffic on an + interface."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1"; + + list cieIfUtilEntry { + key "ifIndex"; + description + "An entry containing utilization rates for the + interface. + + Every interface for which the inbound and + outbound traffic information is available + has a corresponding entry in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfInPktRate { + type yang:counter64; + units "packets per second"; + description + "By default, this is the five minute + exponentially-decayed moving average of the + inbound packet rate for this interface. + However, if the corresponding instance of + cieIfInterval is instantiated with a value + which specifies an interval different from + 5-minutes, then cieIfInPktRate is the + exponentially-decayed moving average of inbound + packet rate over this different time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1.1"; + } + + leaf cieIfInOctetRate { + type yang:counter64; + units "octets per second"; + description + "By default, this is the five minute + exponentially-decayed moving average of the + inbound octet rate for this interface. + However, if the corresponding instance of + cieIfInterval is instantiated with a value + which specifies an interval different from + 5-minutes, then cieIfInOctetRate is the + exponentially-decayed moving average of inbound + octet rate over this different time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1.2"; + } + + leaf cieIfOutPktRate { + type yang:counter64; + units "packets per second"; + description + "By default, this is the five minute + exponentially-decayed moving average of the + outbound packet rate for this interface. + However, if the corresponding instance of + cieIfInterval is instantiated with a value + which specifies an interval different from + 5-minutes, then cieIfOutPktRate is the + exponentially-decayed moving average of outbound + packet rate over this different time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1.3"; + } + + leaf cieIfOutOctetRate { + type yang:counter64; + units "octets per second"; + description + "By default, this is the five minute + exponentially-decayed moving average of the + outbound octet rate for this interface. + However, if the corresponding instance of + cieIfInterval is instantiated with a value + which specifies an interval different from + 5-minutes, then cieIfOutOctetRate is the + exponentially-decayed moving average of outbound + octet rate over this different time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1.4"; + } + + leaf cieIfInterval { + type uint32 { + range "1..4294967295"; + } + units "seconds"; + description + "This object specifies the time interval over which + the inbound and outbound traffic rates are + calculated for this interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4.1.1.5"; + } + } + } + + container cieIfDot1dBaseMappingTable { + description + "This table contains the mappings of the + ifIndex of an interface to its + corresponding dot1dBasePort value."; + reference + "dot1dBasePort is defined in BRIDGE-MIB."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.5.1"; + + list cieIfDot1dBaseMappingEntry { + key "ifIndex"; + description + "An entry containing the mapping between + the ifIndex value of an interface and its + corresponding dot1dBasePort value. + + Every interface which has been assigned + a dot1dBasePort value by the system + has a corresponding entry in this table."; + reference + "dot1dBasePort is defined in BRIDGE-MIB."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.5.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfDot1dBaseMappingPort { + type int32 { + range "1..65535"; + } + description + "The dot1dBasePort value for this interface."; + reference + "dot1dBasePort is defined in BRIDGE-MIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.5.1.1.1"; + } + } + } + + container cieIfNameMappingTable { + description + "This table contains objects for providing + the 'ifName' to 'ifIndex' mapping. + This table contains one entry for each + valid 'ifName' available in the system. + Upon the first request, the implementation + of this table will get all the available + ifNames, and it will populate the entries + in this table, it maintains this ifNames + in a cache for ~30 seconds."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.6.1"; + + list cieIfNameMappingEntry { + key "cieIfName"; + description + "An entry into the cieIfNameMappingTable."; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.6.1.1"; + + leaf cieIfName { + type snmpv2-tc:DisplayString { + length "1..112"; + } + description + "Represents an interface name mentioned + in the 'ifName' object of this system."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.6.1.1.1"; + } + + leaf cieIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This object represents the 'ifIndex' + corresponding to the interface name mentioned + in the 'cieIfName' object of this instance. + If the 'ifName' mentioned in the 'cieIfName' + object of this instance corresponds to multiple + 'ifIndex' values, then the value of this object + is the numerically smallest of those multiple + 'ifIndex' values."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.276.1.6.1.1.2"; + } + } + } + } + + notification cieLinkDown { + description + "A cisco specific linkDown notification + signifies that the SNMP entity, acting in an + agent role, has detected that the ifOperStatus + object for one of its communication links is + about to enter the down state from some other + state (but not from the notPresent state). + The varbinds for this notification indicate the + interface information of the communication + link."; + smiv2:oid "1.3.6.1.4.1.9.9.276.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifAdminStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifAdminStatus"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifOperStatus"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifName { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifName"; + } + } + } + + container object-5 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifType { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifType"; + } + } + } + } + + notification cieLinkUp { + description + "A cisco specific linkUp trap signifies that + the SNMP entity, acting in an agent role, has + detected that the ifOperStatus object for one + of its communication links left the down state + and transitioned into some other state (but not + into the notPresent state). The varbinds for + this notification indicate the interface + information of the communication link."; + smiv2:oid "1.3.6.1.4.1.9.9.276.0.2"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifAdminStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifAdminStatus"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifOperStatus"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifName { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifName"; + } + } + } + + container object-5 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifType { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifType"; + } + } + } + } + + notification cieDelayedLinkUpDownNotif { + description + "This notification indicates when an interface's operational + status has transitioned and remained in that state for a time + specified by cieDelayedLinkUpDownDelay."; + smiv2:oid "1.3.6.1.4.1.9.9.276.0.3"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifAdminStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifAdminStatus"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifOperStatus"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifName { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifName"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifType { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifType"; + } + } + } + + container object-5 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cieIfOperStatusCause { + type leafref { + path "/CISCO-IF-EXTENSION-MIB:CISCO-IF-EXTENSION-MIB/CISCO-IF-EXTENSION-MIB:cieIfInterfaceTable/CISCO-IF-EXTENSION-MIB:cieIfInterfaceEntry/CISCO-IF-EXTENSION-MIB:cieIfOperStatusCause"; + } + } + } + } + + smiv2:alias "ciscoIfExtensionMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.276"; + } + + smiv2:alias "ciscoIfExtensionMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.276.0"; + } + + smiv2:alias "ciscoIfExtensionMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1"; + } + + smiv2:alias "ciscoIfExtensionStats" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.1"; + } + + smiv2:alias "ciscoIfExtSystemConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.2"; + } + + smiv2:alias "ciscoIfExtDot1qCustomEtherType" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.3"; + } + + smiv2:alias "ciscoIfExtUtilization" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.4"; + } + + smiv2:alias "ciscoIfExtDot1dBaseMapping" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.5"; + } + + smiv2:alias "ciscoIfExtIfNameMapping" { + smiv2:oid "1.3.6.1.4.1.9.9.276.1.6"; + } + + smiv2:alias "ciscoIfExtensionMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.276.2"; + } + + smiv2:alias "ciscoIfExtensionMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.276.2.1"; + } + + smiv2:alias "ciscoIfExtensionMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.276.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IGMP-FILTER-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IGMP-FILTER-MIB.yang new file mode 100644 index 000000000..7ebfc11a3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IGMP-FILTER-MIB.yang @@ -0,0 +1,533 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-IGMP-FILTER-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IGMP-FILTER-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IGMP-FILTER-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB"; + prefix CISCO-IGMP-FILTER-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc"; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + Email: cs-ipmulticast@cisco.com"; + + description + "IGMP Filter configuration MIB. This MIB provides a + mechanism for users to configure the system to intercept + IGMP joins for IP Multicast groups identified in this + MIB and only allow certain ports to join certain + multicast groups."; + + revision 2005-11-29 { + description + "Deprecated ciscoIgmpFilterGolbalMIBCompliance + and added ciscoIgmpFilterGlobalMIBComplianceRev1 + to include ciscoIgmpFilterGlobalGroup under + MANDATORY-GROUPS; Updated the imports such that + Unsigned32 is imported from SNMPv2-SMI instead + of CISCO-TC, and other clean up."; + } + + revision 2002-05-09 { + description + "Corrected typos existing in the MIB."; + } + + revision 2001-11-08 { + description + "Initial version of this MIB module"; + } + + + container CISCO-IGMP-FILTER-MIB { + config false; + + container cIgmpFilterGeneral { + smiv2:oid "1.3.6.1.4.1.9.9.238.1.1"; + + leaf cIgmpFilterEnable { + type boolean; + description + "This object controls whether the IGMP filtering + is enabled on the device. A false(2) value will + prevent the IGMP filtering action on the device."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.1.1"; + } + + leaf cIgmpFilterMaxProfiles { + type uint32; + units "profiles"; + description + "Indicates the maximum number of profiles supported by + this device. A value of zero indicates no limitation on + the number of profiles."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.1.2"; + } + } + + container cIgmpFilterEditor { + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3"; + + leaf cIgmpFilterEditSpinLock { + type snmpv2-tc:TestAndIncr; + description + "This object is used to facilitate modification of + IGMP Filter Editor Group in the CISCO-IGMP-FILTER-MIB + module by multiple managers. In particular, it is + useful when modifying the value of the cIgmpFilterEditor + object. + + The procedure for modifying the cIgmpFilterEditor + object is as follows: + + 1. Retrieve the value of cIgmpFilterEditSpinLock and + of object within cIgmpFilterEditor group. + + 2. Generate new values for 'writeable' objects + in the cIgmpFilterEditor group except for + cIgmpFilterEditSpinLock object. + + 3. Set the value of cIgmpFilterEditSpinLock to the + retrieved value, and the value of objects in + cIgmpFilterEditor to the new value. If the set + fails for the cIgmpFilterEditSpinLock object, + go back to step 1. + + The cIgmpFilterApplyStatus and cIgmpFilterEditSpinLock + should be read together by NMS to make sure that the + result is associated with its configuration request. + + To add/delete or modify a profile ( through cIgmpFilterEditor + objects ) following procedure may be followed as an example.: + + 1. GET(cIgmpFilterEditSpinLock.0) and save in sValue. + 2. SET(cIgmpFilterEditSpinLock.0 = sValue, + cIgmpFilterEditProfileIndex.0 = validProfileNumber, + cIgmpFilterEditStartAddress.0 = validStartAddress, + cIgmpFilterEditEndAddress.0 = validEndAddress, + cIgmpFilterEditOperation.0 = validOperation) + 3. If the SET in step 2 is not successful go back + to step 1. + 4. If the SET in step 2 is successful, user should + GET(cIgmpFilterEditSpinLock.0) and + GET(cIgmpFilterApplyStatus.0) simultaneously. + + 5. The cIgmpFilterApplyStatus.0 reflects the outcome of + step 2 only if + cIgmpFilterEditSpinLock.0 = sValue + 1 or + cIgmpFilterEditSpinLock.0 = 0 if sValue reaches + value at which cIgmpFilterEditSpinLock wraps + around."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.1"; + } + + leaf cIgmpFilterEditProfileIndex { + type uint32; + description + "Buffer object to edit corresponding object + cIgmpFilterProfileIndex in cIgmpFilterTable. + + Maximum value this object can be set to is + determined by cIgmpFilterMaxProfiles object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.2"; + } + + leaf cIgmpFilterEditStartAddressType { + type inet-address:InetAddressType; + description + "Buffer object to edit corresponding object + cIgmpFilterStartAddressType in cIgmpFilterTable. + + This object describes the type of Internet + address used to determine the start address + of IP multicast group for a profile."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.3"; + } + + leaf cIgmpFilterEditStartAddress { + type inet-address:InetAddress { + length "1..64"; + } + description + "Buffer object to edit corresponding object + cIgmpFilterStartAddress in cIgmpFilterTable + to establish start address of filtering + range for a profile."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.4"; + } + + leaf cIgmpFilterEditEndAddressType { + type inet-address:InetAddressType; + description + "Buffer object to edit corresponding object + cIgmpFilterEndAddressType in cIgmpFilterTable. + + This object describes the type of Internet + address used to determine the start address + of IP multicast group for a profile."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.5"; + } + + leaf cIgmpFilterEditEndAddress { + type inet-address:InetAddress; + description + "Buffer object to edit corresponding object + cIgmpFilterEndAddress in cIgmpFilterTable + to establish end address of filtering + range for a profile."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.6"; + } + + leaf cIgmpFilterEditProfileAction { + type enumeration { + enum "unSpecified" { + value "0"; + } + enum "permit" { + value "1"; + } + enum "deny" { + value "2"; + } + } + description + "Buffer object to edit corresponding object in + cIgmpFilterTable to determine filtering action + of each profile."; + smiv2:defval "deny"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.7"; + } + + leaf cIgmpFilterEditOperation { + type enumeration { + enum "none" { + value "1"; + } + enum "add" { + value "2"; + } + enum "delete" { + value "3"; + } + enum "modify" { + value "4"; + } + } + description + "The function of this object is to allow user to + apply the changes in cIgmpFilterEditor objects to + cIgmpFilterTable. + + This object always has the value 'none' when read. + When written each value causes the appropriate action: + + 'add' - tries to insert the information contained + in cIgmpFilterEditor objects into cIgmpFilterTable. + If the entry already exists in the table the 'add' + fails. + + 'delete' - tries to delete corresponding entry from + cIgmpFilterTable. If a user completely deletes a profile + that has corresponding entries in the + cIgmpFilterInterfaceTable, then all the interfaces mapped + to corresponding profile will be cleared and set to zero. + + 'modify' - Mode of operation used to edit an entry in + cIgmpFilterTable. If the corresponding entry does not + exist, modify operation fails. This mode allows user to + extend/truncate a contiguous filtered range, type of + Internet addressing and filtering action for a profile. + + 'none' - no operation is performed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.8"; + } + + leaf cIgmpFilterApplyStatus { + type enumeration { + enum "someOtherError" { + value "1"; + } + enum "succeeded" { + value "2"; + } + enum "inconsistentEdit" { + value "3"; + } + enum "entryPresentError" { + value "4"; + } + enum "entryNotPresentError" { + value "5"; + } + } + description + "The current status of an 'add', 'delete' or 'modify' + operation. If no apply is currently active, the status + represented is that of the most recently completed 'add', + 'delete' or 'modify' operation. + + The value of this objects indicates succeeded(2) state + initially when no 'add', 'delete', 'modify' operation + has been carried out. + + The possible values are: + someOtherError - the 'add', 'delete' or 'modify' failed + due to undefined error(s) in apply operation. + (e.g., insufficient memory). + + succeeded - the 'add', 'delete' or 'modify' operation + was successful. (This value is also used when no + apply has been invoked since the last time the local + system restarted.) + + inconsistentEdit - the 'add', 'delete' or 'modify' failed + due to inconsistency of the data. + + entryPresentError - the 'add' operation failed as the + corresponding entry already exists in cIgmpFilterTable. + + entryNotPresentError - the 'modify' operation failed + as no corresponding entry exists in cIgmpFilterTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3.9"; + } + } + + container cIgmpFilterTable { + description + "This table contains entries that identify lists of + IP Multicast groups for each profile configured on + the device. + + Each entry contains a range of contiguous IP + Multicast groups associated to a profile index. + Multiple cIgmpFilterEntry may be associated + with the same cIgmpFilterProfileIndex. + + All the cIgmpFilterEntry with the same profile index + are subjected to the same IGMP filtering action as + defined in cIgmpFilterProfileAction. + + Each profile index may be associated with zero or more + interfaces through cIgmpFilterInterfaceIfIndex + object in cIgmpFilterInterfaceTable. + The maximum number of entries is determined by + cIgmpFilterMaxProfiles."; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1"; + + list cIgmpFilterEntry { + key "cIgmpFilterProfileIndex cIgmpFilterStartAddressType cIgmpFilterStartAddress"; + description + "An entry (conceptual row) in the cIgmpFilterTable. + + The creation, deletion or modification of an entry + is controlled through the MIB objects defined under + cIgmpFilterEditor group."; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1"; + + leaf cIgmpFilterProfileIndex { + type uint32; + description + "Index identifying this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.1"; + } + + leaf cIgmpFilterStartAddressType { + type inet-address:InetAddressType; + description + "This object describes the type of Internet + address used to determine the start address + of IP multicast group for a profile."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.2"; + } + + leaf cIgmpFilterStartAddress { + type inet-address:InetAddress { + length "1..64"; + } + description + "This object describes the start of the IP multicast + group address of a contiguous range which will be + subjected to filtering operation."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.3"; + } + + leaf cIgmpFilterEndAddressType { + type inet-address:InetAddressType; + description + "This object indicates the type of Internet + address used to determine the end address + of IP multicast group for a profile."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.4"; + } + + leaf cIgmpFilterEndAddress { + type inet-address:InetAddress; + description + "This object indicates the end of the IP multicast + group address of a contiguous range which will be + subjected to filtering operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.5"; + } + + leaf cIgmpFilterProfileAction { + type enumeration { + enum "permit" { + value "1"; + } + enum "deny" { + value "2"; + } + } + description + "This object defines the action for + filtering IGMP reports for this profile. + + If the object is set to deny(2): + then all IGMP reports associated to IP multicast + groups included in the profile identified by + cIgmpFilterInterfaceProfileIndex will be dropped. + + If the object is set to permit(1): + then all IGMP reports associated to IP multicast + groups not included in the profile identified by + cIgmpFilterInterfaceProfileIndex will be dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.1.1.6"; + } + } + } + + container cIgmpFilterInterfaceTable { + description + "This table contains the list of interfaces that can + support IGMP filter feature."; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.2"; + + list cIgmpFilterInterfaceEntry { + key "ifIndex"; + description + "Each entry contains the configuration for associating + the IGMP filter profile index with the interface. + + An entry is created for each of the IGMP filter capable + interface on the system. + + The entry is removed on removal of corresponding + interface from system."; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cIgmpFilterInterfaceProfileIndex { + type uint32; + description + "Specifies which IGMP filter profile applies to this + interface. If the value of this MIB object matches the + value of cIgmpFilterProfileIndex in cIgmpFilterTable, + the corresponding profile configuration will apply to + this interface. + + Agent returns inconsistentValue if this profile + does not exist in cIgmpFilterTable. + A value of zero indicates no profile is associated + with corresponding interface. + + The filtering action on each interface is also + defined by the associated profile."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2.2.1.1"; + } + } + } + } + + smiv2:alias "ciscoIGMPFilterMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.238"; + } + + smiv2:alias "ciscoIgmpFilterMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.238.1"; + } + + smiv2:alias "cIgmpFilterGeneral" { + smiv2:oid "1.3.6.1.4.1.9.9.238.1.1"; + } + + smiv2:alias "cIgmpFilterInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.238.1.2"; + } + + smiv2:alias "cIgmpFilterEditor" { + smiv2:oid "1.3.6.1.4.1.9.9.238.1.3"; + } + + smiv2:alias "ciscoIgmpFilterMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.238.2"; + } + + smiv2:alias "ciscoIgmpFilterMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.238.2.1"; + } + + smiv2:alias "ciscoIgmpFilterMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.238.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-LICENSE-MGMT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-LICENSE-MGMT-MIB.yang new file mode 100644 index 000000000..6e444f139 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-LICENSE-MGMT-MIB.yang @@ -0,0 +1,491 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IMAGE-LICENSE-MGMT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IMAGE-LICENSE-MGMT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IMAGE-LICENSE-MGMT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB"; + prefix CISCO-IMAGE-LICENSE-MGMT-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems Inc."; + + contact + "Cisco Systems + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + Tel: +1 800 553 -NETS + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for managing the running image level + of a Cisco device. Cisco's licensing mechanism provides + flexibility to run a device on a chosen image level. + This mechanism is referred to as image level licensing. + Image level licensing leverages the universal image + based licensing solution. + + The image level licensing mechanism works as follows - + + A universal image that contains all levels of software + packages is loaded on to the device. At boot time, the + device determines the highest level of license and brings + up the appropriate software features or subsystems. + The user can configure the image level with which the + device has to boot. The system will verify whether the + appropriate license is available for the configured image + level. The image level for the next boot will be determined + based on the availability of the license. The following + scenarios explains some use-cases of image level licensing: + + Scenario 1: + - Customer selects advsecurityk9 based image. + - Manufacturing installs advsecurity license on the device. + - This device will run all features that are part of the + base advsecurity license. + - Customer upgrades to advipservicesk9 license. + - The next boot level is set to advipservicesk9. + - The device will run advsecurityk9 feature until the + next reboot. After reboot the device will run + advipservicesk9 features. + + Scenario 2: + - Customer selects advipservicesk9 based image. + - Manufacturing installs advipservices and advsecurity + license on the device. + - This device will run all features that are part of the + base advipservices license. + - No upgrades available for advipservices license. + + The user has to accept the End User License Agreement(EULA) + before using this MIB to configure the image level. + + This MIB should be used in conjuntion with + CISCO-LICENSE-MGMT-MIB module to achieve the image level + licensing functionality. + + This MIB module defines objects which provides the different + image levels supported by the device and the license required + to enable a particular image level. It also defines objects + to let the user configure the required image level. The MIB + module contains notification which will be triggered when + the user changes the image level for next boot. + + The CISCO-LICENSE-MGMT-MIB module should be used to export + the EULA and to configure the required license. + + This MIB module is defined generically so it can be used for + both stand-alone as well as stackable devices. The + entPhysicalIndex imported from ENTITY-MIB is used to identify + the device uniquely."; + + revision 2007-10-16 { + description + "Initial version of this MIB module."; + } + + typedef BootImageLevel { + type binary { + length "0..255"; + } + description + "This textual convention is used to define + the image level. + + If the device is running at advipservices + image level, then the boot image level will + be 'advipservices'."; + } + + typedef LicenseNameList { + type binary { + length "0..255"; + } + description + "This textual convention is used to define + the list of license names. If multiple licenses + are present then this string will contain all + the licenses seperated by the ',' character. + + If the license required to run a device at + advipservices image level is advipservices and + advsecurity, then the license name list will be + 'advipservices,advsecurity'."; + } + + + container CISCO-IMAGE-LICENSE-MGMT-MIB { + config false; + + container ciscoImageLicenseMgmtMIBObjects { + smiv2:oid "1.3.6.1.4.1.9.9.640.1"; + + leaf cilmEULAAccepted { + type boolean; + description + "This object when set to TRUE means that the user has + accepted the END USER LICENSE AGREEMENT. This object + has to be set to TRUE by the user before using the + objects in the cilmBootImageLevelTable to configure + the license."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.3"; + } + } + + container cilmNotifCntl { + smiv2:oid "1.3.6.1.4.1.9.9.640.1.4"; + + leaf cilmImageLevelChangedNotif { + type boolean; + description + "Specify whether or not a notification should be + generated on the detection of change in next boot + image level. + + If set to TRUE, cilmBootImageLevelChanged notification + will be generated. It is the responsibility of the + management entity to ensure that the SNMP administrative + model is configured in such a way as to allow the + notification to be delivered."; + reference + "See also RFC3413 for explanation that notifications + are under the ultimate control of the MIB module in + this document."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.4.1"; + } + } + + container cilmBootImageLevelTable { + description + "A table that contains the configuration information of + current and next boot image level. This table contains + entries for each software module running in an image + loaded in the device. The software module is identified by + cilmModuleName and the device is identified by + entPhysicalIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1"; + + list cilmBootImageLevelEntry { + key "entPhysicalIndex cilmModuleName"; + description + "An entry in the table for each module containing the + list of objects that define the configuration of next + boot level. The following information is specified by + the objects present in the table. + + - Current image level. + - Configured image level for the next boot. + - Actual image level for the next boot. + - License store index for the current license. + - License index of the current license. + - License store index for the next boot license. + - License index of the next boot license."; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cilmModuleName { + type snmp-framework:SnmpAdminString; + description + "This object is used as one of the two indices in + cilmBootImageLevelTable. This object indicates the module + name of the software package. There can be multiple + modules in an image performing specific functionality. + For example, in a wireless image there can be two modules + - a base image module and a wireless module."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.1"; + } + + leaf cilmCurrentImageLevel { + type CISCO-IMAGE-LICENSE-MGMT-MIB:BootImageLevel; + description + "This object indicates the current image level that + the module is running."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.2"; + } + + leaf cilmConfiguredBootImageLevel { + type CISCO-IMAGE-LICENSE-MGMT-MIB:BootImageLevel; + description + "This object indicates the configured image level + of the module for the next boot. + + Note: The configured next boot image level may not + be the actual next boot image level. The actual next + boot image level is denoted by cilmNextBootImageLevel + which is determined based on the license availability."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.3"; + } + + leaf cilmNextBootImageLevel { + type CISCO-IMAGE-LICENSE-MGMT-MIB:BootImageLevel; + description + "This object indicates the next boot image level. The + next boot image level can be different from configured + level. The next boot image level is determined based + on the availability of required license."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.4"; + } + + leaf cilmCurrentLicenseStoreIndex { + type uint32; + description + "This object indicates the license store index where the + currently used license is stored. This object has the same + value as clmgmtLicenseStoreIndex object and uniquely + identifies an entry in clmgmtLicenseStoreInfoTable in + CISCO-LICENSE-MGMT-MIB. + + Note: The license store index can be '0' if no license is + installed and device is running base image."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.5"; + } + + leaf cilmCurrentLicenseIndex { + type uint32; + description + "This object indicates the license index of the currently used + license. This object has the same value as clmgmtLicenseIndex and + uniquely identifies an entry in clmgmtLicenseInfoTable in + CISCO-LICENSE-MGMT-MIB. + + Note: The license index can be '0' if no license is + installed and device is running base image."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.6"; + } + + leaf cilmNextBootLicenseStoreIndex { + type uint32; + description + "This object indicates the license store index where the + next boot license is stored. This object has the same + value as clmgmtLicenseStoreIndex object and uniquely + identifies an entry in clmgmtLicenseStoreInfoTable in + CISCO-LICENSE-MGMT-MIB. + + Note: The license store index can be '0' if no license is + installed for the next boot."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.7"; + } + + leaf cilmNextBootLicenseIndex { + type uint32; + description + "This object indicates the license index of the next boot + license. This object has the same value as clmgmtLicenseIndex + and uniquely identifies an entry in clmgmtLicenseInfoTable in + CISCO-LICENSE-MGMT-MIB. + + Note: The license index can be '0' if no license is + installed for the next boot."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.1.1.8"; + } + } + } + + container cilmImageLevelToLicenseMapTable { + description + "This table contains the mapping between different + image levels of each modules in the image and the + license required to run the modules at a particular + image level. This table can be used to identify the + different image levels and the appropriate licenses + required for each."; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2"; + + list cilmImageLevelToLicenseMapEntry { + key "entPhysicalIndex cilmModuleName cilmImageLicenseMapIndex"; + description + "An entry in the table containing the following + information. + - The image levels at the which the modules can be run. + - The license required to the run a module at a + particular image level. + - The priority of the license."; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cilmModuleName { + type leafref { + path "/CISCO-IMAGE-LICENSE-MGMT-MIB:CISCO-IMAGE-LICENSE-MGMT-MIB/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelTable/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelEntry/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmModuleName"; + } + } + + leaf cilmImageLicenseMapIndex { + type uint32; + description + "This is a running index used to identify an entry + of this table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2.1.1"; + } + + leaf cilmImageLicenseImageLevel { + type CISCO-IMAGE-LICENSE-MGMT-MIB:BootImageLevel; + description + "This object indicates the image level at which + a module can be run. A module can be run at + different image levels. An entry will be created + in this table for every module and image level + combination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2.1.2"; + } + + leaf cilmImageLicenseName { + type CISCO-IMAGE-LICENSE-MGMT-MIB:LicenseNameList; + description + "This object indicates the list of licenses needed to + be installed for the module to run at the image level + mentioned by cilmImageLicenseImageLevel object of this + entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2.1.3"; + } + + leaf cilmImageLicensePriority { + type uint32 { + range "1..255"; + } + description + "This object indicates the priority of the image level + mentioned by cilmImageLicenseImageLevel object of this + entry. The image level with the highest priority license + will be considered as the default level in the absense of + next boot image level configuration. For example if there + are three licenses l1, l2 and l3 in the ascending order of + priority, then by default l1 will be the level at which the + module will be running. If the next boot level is configured + then the configuration will override the priority. The highest + priority license supports a feature set which is a super set of + all other licenses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.640.1.2.1.4"; + } + } + } + } + + notification cilmBootImageLevelChanged { + description + "This notification is triggered when next boot image level + is changed in the management entity. The current and + configured image level are indicated by cilmCurrentImageLevel + and cilmConfiguredBootImageLevel objects respectively."; + smiv2:oid "1.3.6.1.4.1.9.9.640.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cilmModuleName { + type leafref { + path "/CISCO-IMAGE-LICENSE-MGMT-MIB:CISCO-IMAGE-LICENSE-MGMT-MIB/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelTable/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelEntry/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmModuleName"; + } + } + + leaf cilmCurrentImageLevel { + type leafref { + path "/CISCO-IMAGE-LICENSE-MGMT-MIB:CISCO-IMAGE-LICENSE-MGMT-MIB/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelTable/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelEntry/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmCurrentImageLevel"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cilmModuleName { + type leafref { + path "/CISCO-IMAGE-LICENSE-MGMT-MIB:CISCO-IMAGE-LICENSE-MGMT-MIB/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelTable/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelEntry/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmModuleName"; + } + } + + leaf cilmConfiguredBootImageLevel { + type leafref { + path "/CISCO-IMAGE-LICENSE-MGMT-MIB:CISCO-IMAGE-LICENSE-MGMT-MIB/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelTable/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmBootImageLevelEntry/CISCO-IMAGE-LICENSE-MGMT-MIB:cilmConfiguredBootImageLevel"; + } + } + } + } + + smiv2:alias "ciscoImageLicenseMgmtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.640"; + } + + smiv2:alias "ciscoImageLicenseMgmtMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.640.0"; + } + + smiv2:alias "ciscoImageLicenseMgmtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.640.1"; + } + + smiv2:alias "cilmNotifCntl" { + smiv2:oid "1.3.6.1.4.1.9.9.640.1.4"; + } + + smiv2:alias "ciscoImageLicenseMgmtMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.640.2"; + } + + smiv2:alias "cilmModuleCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.640.2.1"; + } + + smiv2:alias "cilmModuleGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.640.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-MIB.yang new file mode 100644 index 000000000..05500a421 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IMAGE-MIB.yang @@ -0,0 +1,114 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IMAGE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IMAGE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IMAGE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB"; + prefix CISCO-IMAGE-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "Router image MIB which identify the capabilities + and characteristics of the image"; + + revision 1995-08-15 { + description + "Specify a correct (non-negative) range for an index + object."; + } + + revision 1995-01-16 { + description + "Initial version of this MIB module."; + } + + + container CISCO-IMAGE-MIB { + config false; + + container ciscoImageTable { + description + "A table provides content information describing the + executing IOS image."; + smiv2:oid "1.3.6.1.4.1.9.9.25.1.1"; + + list ciscoImageEntry { + key "ciscoImageIndex"; + description + "A image characteristic string entry."; + smiv2:oid "1.3.6.1.4.1.9.9.25.1.1.1"; + + leaf ciscoImageIndex { + type int32 { + range "0..2147483647"; + } + description + "A sequence number for each string stored + in the IOS image."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.25.1.1.1.1"; + } + + leaf ciscoImageString { + type snmpv2-tc:DisplayString; + description + "The string of this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.25.1.1.1.2"; + } + } + } + } + + smiv2:alias "ciscoImageMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.25"; + } + + smiv2:alias "ciscoImageMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.25.1"; + } + + smiv2:alias "ciscoImageMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.25.2"; + } + + smiv2:alias "ciscoImageMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.25.2.1"; + } + + smiv2:alias "ciscoImageMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.25.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IP-LOCAL-POOL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IP-LOCAL-POOL-MIB.yang new file mode 100644 index 000000000..0f9eecece --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IP-LOCAL-POOL-MIB.yang @@ -0,0 +1,742 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IP-LOCAL-POOL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IP-LOCAL-POOL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IP-LOCAL-POOL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB"; + prefix CISCO-IP-LOCAL-POOL-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB defines the configuration and monitoring capabilities + relating to local IP pools. + + Local IP pools have the following characteristics: + + - An IP local pool consists of one or more IP address ranges. + + - An IP pool group consists of one or more IP local pools. + + - An IP local pool can only belong to one IP pool group. + + - IP local pools that belong to different groups can have + overlapping addresses. + + - IP local pool names are unique even when they belong to + different groups. + + - Addresses within an IP pool group can not overlap. + + - IP local pools without an explicit group name are considered + members of the base system group. In this MIB, the base + system group is represented by a null IP pool group name. + + This MIB defines objects that expose the relationship between + IP pool groups and IP local pools. There exist other objects + that maintain statistics about the address usage of IP local + pools."; + + revision 2007-11-12 { + description + "Added one object to the cIpLocalPoolConfigTable: + - cIpLocalPoolPriority + + Added ciscoIpLocalPoolMIBCompliance2 MODULE-COMPLIANCE + Added ciscoIpLocalPoolPriorityGroup OBJECT-GROUP"; + } + + revision 2005-01-11 { + description + "Added two objects to the cIpLocalPoolStatsTable: + - cIpLocalPoolPercentAddrThldLo + - cIpLocalPoolPercentAddrThldHi + + Added two notifications: + - cilpPercentAddrUsedHiNotif + - cilpPercentAddrUsedLoNotif"; + } + + revision 2003-04-03 { + description + "Initial version of this MIB module."; + } + + typedef CIpLocalPoolName { + type binary { + length "1..48"; + } + description + "A non-empty string that uniquely identifies an IP local pool."; + } + + typedef CIpLocalPoolGroupNameOrNull { + type binary { + length "0..48"; + } + description + "A string that uniquely identifies an IP pool group. The value + of null is object-specific and must therefore be defined as part + of the description of any object which uses this syntax."; + } + + typedef CIpLocalPoolPercentage { + type yang:gauge32 { + range "0..100"; + } + description + "A percentage associated with the addresses used in a IP local + pool."; + smiv2:display-hint "d-2"; + } + + + container CISCO-IP-LOCAL-POOL-MIB { + config false; + + container cIpLocalPoolConfig { + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1"; + + leaf cIpLocalPoolNotificationsEnable { + type boolean; + description + "An indication of whether the notifications defined by the + ciscoIpLocalPoolNotifGroup are enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.1"; + } + } + + container cIpLocalPoolConfigTable { + description + "This table manages the creation, modification, and deletion + of IP local pools using the RowStatus textual convention. An + entry in this table defines an IP address range that is + associated with an IP local pool. + + A conceptual row in this table can not be modified while + cIpLocalPoolRowStatus is set to 'active'. + + Since IP local pool names are unique even when they belong to + different groups, and addresses within a group can not overlap, + a row in this table is uniquely indexed by the pool name, and by + the low address of the IP local pool together with its address + type."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2"; + + list cIpLocalPoolConfigEntry { + key "cIpLocalPoolName cIpLocalPoolAddrType cIpLocalPoolAddressLo"; + description + "Each entry provides information about a particular IP local + pool, including the number of free and used addresses and its priority."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1"; + + leaf cIpLocalPoolName { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolName; + description + "An arbitrary non-empty string that uniquely identifies the IP + local pool. This name must be unique among all the local IP + pools even when they belong to different pool groups."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.1"; + } + + leaf cIpLocalPoolAddrType { + type inet-address:InetAddressType; + description + "This object specifies the address type of cIpLocalPoolAddressLo + and cIpLocalPoolAddressHi."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.2"; + } + + leaf cIpLocalPoolAddressLo { + type inet-address:InetAddress; + description + "This object specifies the first IP address of the range of IP + addresses contained by this pool entry. The address type of + this object is described by cIpLocalPoolAddrType. + + This address must be less than or equal to the address in + cIpLocalPoolAddressHi."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.3"; + } + + leaf cIpLocalPoolAddressHi { + type inet-address:InetAddress; + description + "This object specifies the last IP address of the range of IP + addresses mapped by this pool entry. The address type of this + object is described by cIpLocalPoolAddrType. If only a single + address is being mapped, the value of this object is equal to + the value of cIpLocalPoolAddressLo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.4"; + } + + leaf cIpLocalPoolFreeAddrs { + type yang:gauge32; + description + "The number of IP addresses available for use in the range of + IP addresses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.5"; + } + + leaf cIpLocalPoolInUseAddrs { + type yang:gauge32; + description + "The number of IP addresses being used in the range of IP + addresses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.6"; + } + + leaf cIpLocalPoolGroupContainedIn { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolGroupNameOrNull; + description + "This object relates an IP local pool to its IP pool group. + + A null string indicates this IP local pool is not contained in a + named IP pool group, but that it is contained in the base IP + pool group. An IP local pool can only belong to one IP pool + group."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.7"; + } + + leaf cIpLocalPoolRowStatus { + type snmpv2-tc:RowStatus; + description + "This object facilitates the creation, or deletion of a + conceptual row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.8"; + } + + leaf cIpLocalPoolPriority { + type uint32 { + range "1..255"; + } + description + "This object specifies priority of the IP local pool, + where smaller value indicates the lower priority. + The priority value is used in assigning IP Address + from local pools."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1.2.1.9"; + } + } + } + + container cIpLocalPoolGroupContainsTable { + description + "A table which exposes the container/'containee' relationships + between local IP pools and IP pool groups. + + Entries in this table are created or deleted as a by-product of + creating or deleting entries in the cIpLocalPoolConfigTable. + + When an entry is created and activated in the + cIpLocalPoolConfigTable table, an entry in this table will come + into existence if it does not already exist. + + When an entry is deleted in the cIpLocalPoolConfigTable table, + if there is no other entry existing in that table with the same + cIpLocalPoolGroupContainedIn and cIpLocalPoolName, the entry in + this table with the respective cIpLocalPoolGroupName and + cIpLocalPoolName indices will be removed."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.1"; + + list cIpLocalPoolGroupContainsEntry { + key "cIpLocalPoolGroupName cIpLocalPoolChildIndex"; + description + "Each entry describes single container/'containee' + relationship. + + Pool names can only be associated with one group. Pools carry + implicit group identifiers because pool names can only be + associated with one group. An entry in this table describes + such an association."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.1.1"; + + leaf cIpLocalPoolGroupName { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolGroupNameOrNull; + description + "A unique group name that identifies the IP pool group. The + null string represents the base IP pool group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.1.1.1"; + } + + leaf cIpLocalPoolChildIndex { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolName; + description + "The value of cIpLocalPoolName for the contained IP local pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.1.1.2"; + } + } + } + + container cIpLocalPoolGroupTable { + description + "This table provides statistics for configured IP pool groups. + + Entries in this table are created as the result of adding a new + IP pool group to the cIpLocalPoolConfigTable. + + Entries in this table are deleted as the result of removing all + IP local pools that are contained in an IP pool group in the + cIpLocalPoolConfigTable. + + An entry in this table is uniquely indexed by IP pool group + name."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.2"; + + list cIpLocalPoolGroupEntry { + key "cIpLocalPoolGroupName"; + description + "Each entry provides information about a particular IP pool + group and the number of free and used addresses in an IP pool + group."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.2.1"; + + leaf cIpLocalPoolGroupName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolGroupContainsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolGroupContainsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolGroupName"; + } + } + + leaf cIpLocalPoolGroupFreeAddrs { + type yang:gauge32; + description + "The number of IP addresses available for use in the IP pool + group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.2.1.1"; + } + + leaf cIpLocalPoolGroupInUseAddrs { + type yang:gauge32; + description + "The number of IP addresses that have been allocated from the + IP pool group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2.2.1.2"; + } + } + } + + container cIpLocalPoolStatsTable { + description + "A table providing statistics for each IP local pool. + + Entries in this table are created as the result of adding a new + IP local pool to the cIpLocalPoolConfigTable. + + Entries in this table are deleted as the result of removing all + the address ranges that are contained in an IP local pool in the + cIpLocalPoolConfigTable. + + Entries in this table are uniquely indexed by the name of the IP + local pool."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1"; + + list cIpLocalPoolStatsEntry { + key "cIpLocalPoolName"; + description + "Each entry provides statistical information about a particular + IP local pool, and the total number of free and used addresses + of all the ranges in an IP local pool."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1"; + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatFreeAddrs { + type yang:gauge32; + description + "The number of IP addresses available for use in this IP local + pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.1"; + } + + leaf cIpLocalPoolStatInUseAddrs { + type yang:gauge32; + description + "The number of IP addresses being used in this IP local pool."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.2"; + } + + leaf cIpLocalPoolStatHiWaterUsedAddrs { + type uint32; + description + "This object contains the high water mark of used addresses + in an IP local pool since pool creation, since the system was + restarted, or since this object was reset, whichever occurred + last. This object can only be set to zero, and by doing so, it + is reset to the value of cIpLocalPoolStatInUseAddrs. + + Since the number of addresses in a pool can be reduced (e.g. by + deleting one of its ranges), the value of this object may be + greater than the sum of cIpLocalPoolStatFreeAddrs and + cIpLocalPoolStatInUseAddrs."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.3"; + } + + leaf cIpLocalPoolStatInUseAddrThldLo { + type uint32 { + range "0..4294967295"; + } + description + "When the number of used addresses in an IP local pool falls + below this threshold value, the ciscoIpLocalPoolInUseAddrNoti + notification will be rearmed. + + The value of this object should never be greater than the value + of cIpLocalPoolStatInUseAddrThldHi."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.4"; + } + + leaf cIpLocalPoolStatInUseAddrThldHi { + type uint32 { + range "0..4294967295"; + } + description + "When the number of used addresses in an IP local pool + is equal or exceeds this threshold value, a + ciscoIpLocalPoolInUseAddrNoti notification will be generated. + Once this notification is generated, it will be disarmed and it + will not be generated again until the number of used address + falls below the value indicated by + cIpLocalPoolStatInUseAddrThldLo. + + The value of this object should never be smaller than the value + of cIpLocalPoolStatInUseAddrThldLo."; + smiv2:defval "4294967295"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.5"; + } + + leaf cIpLocalPoolPercentAddrThldLo { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolPercentage; + description + "When the percentage of used addresses in an IP local pool + falls below this threshold value, a cilpPercentAddrUsedLoNotif + notification will be generated. Once the notification is + generated, it will be disarmed and it will not be generated + again until the number of used addresses equals or exceeds the + value indicated by cIpLocalPoolPercentAddrThldHi. + + The value of this object should never be greater than the value + of cIpLocalPoolPercentAddrThldHi."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.6"; + } + + leaf cIpLocalPoolPercentAddrThldHi { + type CISCO-IP-LOCAL-POOL-MIB:CIpLocalPoolPercentage; + description + "When the percentage of used addresses in an IP local pool + is equal or exceeds this threshold value, a + cilpPercentAddrUsedHiNotif notification will be generated. Once + the notification is generated, it will be disarmed and it will + not be generated again until the number of used addresses falls + below the value indicated by cIpLocalPoolPercentAddrThldLo. + + The value of this object should never be smaller than the value + of cIpLocalPoolPercentAddrThldLo."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.1.1.7"; + } + } + } + + container cIpLocalPoolAllocTable { + description + "This table lists all addresses that have been allocated out of + an IP local pool. + + Entries in this table are created when a remote peer allocates + an address from one of the IP local pools in the + cIpLocalPoolConfigTable. + + Entries in this table are deleted when a remote peer deallocates + an address from one of the IP local pool in the + cIpLocalPoolConfigTable. + + Entries in this table are uniquely indexed by the name of the IP + local pool, and the allocated address, together with its address + type."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2"; + + list cIpLocalPoolAllocEntry { + key "cIpLocalPoolName cIpLocalPoolAllocAddrType cIpLocalPoolAllocAddr"; + description + "Each entry refers to conceptual row that associates an IP + addresses with the interface where the request was received, and + the user that requested the address."; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2.1"; + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolAllocAddrType { + type inet-address:InetAddressType; + description + "This object specifies the address type of + cIpLocalPoolAllocAddr."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2.1.1"; + } + + leaf cIpLocalPoolAllocAddr { + type inet-address:InetAddress; + description + "This object specifies the allocated IP address. The address + type of this object is described by cIpLocalPoolAllocAddrType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2.1.2"; + } + + leaf cIpLocalPoolAllocIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This object indicates the interface from which the allocation + message was sent. + + In the case that the interface can not be determined, the value + of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2.1.3"; + } + + leaf cIpLocalPoolAllocUser { + type snmp-framework:SnmpAdminString; + description + "This object indicates the user name of the person from whom the + allocation message was sent. + + In the case that the user name can not be determined, the value + of this object will the null string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3.2.1.4"; + } + } + } + } + + notification ciscoIpLocalPoolInUseAddrNoti { + description + "A notification indicating that number of used addresses of an + IP local pool exceeded the threshold value indicated by + cIpLocalPoolStatInUseAddrThldHi."; + smiv2:oid "1.3.6.1.4.1.9.9.326.0.1"; + + container object-1 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatFreeAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatFreeAddrs"; + } + } + } + + container object-2 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatInUseAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatInUseAddrs"; + } + } + } + } + + notification cilpPercentAddrUsedLoNotif { + description + "A notification indicating that the percentage of used addresses + of an IP local pool went below the threshold value indicated by + cIpLocalPoolPercentAddrThldLo."; + smiv2:oid "1.3.6.1.4.1.9.9.326.0.2"; + + container object-1 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatFreeAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatFreeAddrs"; + } + } + } + + container object-2 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatInUseAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatInUseAddrs"; + } + } + } + } + + notification cilpPercentAddrUsedHiNotif { + description + "A notification indicating that the percentage of used addresses + of an IP local pool is equal to or exceeds the threshold value + indicated by cIpLocalPoolPercentAddrThldHi."; + smiv2:oid "1.3.6.1.4.1.9.9.326.0.3"; + + container object-1 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatFreeAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatFreeAddrs"; + } + } + } + + container object-2 { + + leaf cIpLocalPoolName { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolConfigEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolName"; + } + } + + leaf cIpLocalPoolStatInUseAddrs { + type leafref { + path "/CISCO-IP-LOCAL-POOL-MIB:CISCO-IP-LOCAL-POOL-MIB/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsTable/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatsEntry/CISCO-IP-LOCAL-POOL-MIB:cIpLocalPoolStatInUseAddrs"; + } + } + } + } + + smiv2:alias "ciscoIpLocalPoolMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.326"; + } + + smiv2:alias "ciscoIpLocalPoolMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.326.0"; + } + + smiv2:alias "ciscoIpLocalPoolMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.326.1"; + } + + smiv2:alias "cIpLocalPoolConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.326.1.1"; + } + + smiv2:alias "cIpLocalPoolGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.326.1.2"; + } + + smiv2:alias "cIpLocalPoolStats" { + smiv2:oid "1.3.6.1.4.1.9.9.326.1.3"; + } + + smiv2:alias "ciscoIpLocalPoolMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.326.2"; + } + + smiv2:alias "ciscoIpLocalPoolMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.326.2.1"; + } + + smiv2:alias "ciscoIpLocalPoolMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.326.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IP-TAP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IP-TAP-MIB.yang new file mode 100644 index 000000000..5604ef966 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IP-TAP-MIB.yang @@ -0,0 +1,481 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IP-TAP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IP-TAP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IP-TAP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB"; + prefix CISCO-IP-TAP-MIB; + + import CISCO-TAP2-MIB { + prefix "cisco-tap2"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal:170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel:+1 800 553-NETS + + E-mail:cs-li@cisco.com"; + + description + "This module manages Cisco's intercept feature for IP. + + This MIB is used along with CISCO-TAP2-MIB to + intercept IP traffic. CISCO-TAP2-MIB along with + specific filter MIBs like this MIB replace + CISCO-TAP-MIB. + + To create an IP intercept, an entry citapStreamEntry + is created which contains the filter details. An entry + cTap2StreamEntry of CISCO-TAP2-MIB is created, which is + the common stream information for all kinds of + intercepts and type of the specific stream is set to + ip in this entry."; + + revision 2004-03-11 { + description + "Initial version of this MIB module."; + } + + + container CISCO-IP-TAP-MIB { + config false; + + container citapStreamEncodePacket { + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1"; + + leaf citapStreamCapabilities { + type bits { + bit tapEnable { + position "0"; + } + bit interface { + position "1"; + } + bit ipV4 { + position "2"; + } + bit ipV6 { + position "3"; + } + bit l4Port { + position "4"; + } + bit dscp { + position "5"; + } + bit voip { + position "6"; + } + } + description + "This object displays what types of intercept streams can be + configured on this type of device. This may be dependent on + hardware capabilities, software capabilities. The following + fields may be supported: + tapEnable: set if table entries with + cTap2StreamInterceptEnable set to 'false' + are used to pre-screen packets for intercept; + otherwise these entries are ignored. + interface: SNMP ifIndex Value may be used to select + interception of all data crossing an + interface or set of interfaces. + ipV4: IPv4 Address or prefix may be used to select + traffic to be intercepted. + ipV6: IPv6 Address or prefix may be used to select + traffic to be intercepted. + l4Port: TCP/UDP Ports may be used to select traffic + to be intercepted. + dscp: DSCP (Differentiated Services Code Point) may + be used to select traffic to be intercepted. + voip: packets belonging to a voice session may + be intercepted using source IPv4 address and + source UDP port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.1"; + } + } + + container citapStreamTable { + description + "The Intercept Stream IP Table lists the IPv4 and IPv6 streams + to be intercepted. The same data stream may be required by + multiple taps, and one might assume that often the intercepted + stream is a small subset of the traffic that could be + intercepted. + + + This essentially provides options for packet selection, only + some of which might be used. For example, if all traffic to or + from a given interface is to be intercepted, one would + configure an entry which lists the interface, and wild-card + everything else. If all traffic to or from a given IP Address + is to be intercepted, one would configure two such entries + listing the IP Address as source and destination respectively, + and wild-card everything else. If a particular voice on a + teleconference is to be intercepted, on the other hand, one + would extract the multicast (destination) IP address, the + source IP Address, the protocol (UDP), and the source and + destination ports from the call control exchange and list all + necessary information. + + + The first index indicates which Mediation Device the + intercepted traffic will be diverted to. The second index + permits multiple classifiers to be used together, such as + having an IP address as source or destination. The value of the + second index is that of the stream's counter entry in the + cTap2StreamTable. + + Entries are added to this table via citapStreamStatus in + accordance with the RowStatus convention."; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2"; + + list citapStreamEntry { + key "cTap2MediationContentId cTap2StreamIndex"; + description + "A stream entry indicates a single data stream to be + intercepted to a Mediation Device. Many selected data + streams may go to the same application interface, and many + application interfaces are supported."; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1"; + + leaf cTap2MediationContentId { + type leafref { + path "/cisco-tap2:CISCO-TAP2-MIB/cisco-tap2:cTap2MediationTable/cisco-tap2:cTap2MediationEntry/cisco-tap2:cTap2MediationContentId"; + } + } + + leaf cTap2StreamIndex { + type leafref { + path "/cisco-tap2:CISCO-TAP2-MIB/cisco-tap2:cTap2StreamTable/cisco-tap2:cTap2StreamEntry/cisco-tap2:cTap2StreamIndex"; + } + } + + leaf citapStreamInterface { + type int32 { + range "-2..2147483647"; + } + description + "The ifIndex value of the interface over which traffic to be + intercepted is received or transmitted. The interface may be + physical or virtual. If this is the only parameter specified, + and it is other than -2, -1 or 0, all traffic on the selected + interface will be chosen. + + + If the value is zero, matching traffic may be received or + transmitted on any interface. Additional selection parameters + must be selected to limit the scope of traffic intercepted. + This is most useful on non-routing platforms or on intercepts + placed elsewhere than a subscriber interface. + + + If the value is -1, one or both of + citapStreamDestinationAddress and citapStreamSourceAddress + must be specified with prefix length greater than zero. + Matching traffic on the interface pointed to by ipRouteIfIndex + or ipCidrRouteIfIndex values associated with those values is + intercepted, whichever is specified to be more focused than a + default route. If routing changes, either by operator action + or by routing protocol events, the interface will change with + it. This is primarily intended for use on subscriber interfaces + and other places where routing is guaranteed to be + symmetrical. + + + In both of these cases, it is possible to have the same packet + selected for intersection on both its ingress and egress + interface. Nonetheless, only one instance of the packet is + sent to the Mediation Device. + + + If the value is -2, packets belonging to a Voice over IP (VoIP) + session identified by citapStreamSourceAddress, + citapStreamSourceLen and citapStreamSourceL4PortMin may be + intercepted, as a specific voice session can be identified + with source IP address and udp port number. Other selection + parameters may be not considered, even if they are set by + the Mediation Device. + + + This value must be set when creating a stream entry, either to + select an interface, to select all interfaces, or to select the + interface that routing chooses. Some platforms may not + implement the entire range of options."; + reference + "RFC 1213, RFC 2096"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.1"; + } + + leaf citapStreamAddrType { + type inet-address:InetAddressType; + description + "The type of address, used in packet selection."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.2"; + } + + leaf citapStreamDestinationAddress { + type inet-address:InetAddress; + description + "The Destination address or prefix used in packet selection. + This address will be of the type specified in + citapStreamAddrType."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.3"; + } + + leaf citapStreamDestinationLength { + type inet-address:InetAddressPrefixLength; + description + "The length of the Destination Prefix. A value of zero causes + all addresses to match. This prefix length will be consistent + with the type specified in citapStreamAddrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.4"; + } + + leaf citapStreamSourceAddress { + type inet-address:InetAddress; + description + "The Source Address used in packet selection. This address will + be of the type specified in citapStreamAddrType."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.5"; + } + + leaf citapStreamSourceLength { + type inet-address:InetAddressPrefixLength; + description + "The length of the Source Prefix. A value of zero causes all + addresses to match. This prefix length will be consistent with + the type specified in citapStreamAddrType."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.6"; + } + + leaf citapStreamTosByte { + type int32 { + range "0..255"; + } + description + "The value of the TOS byte, when masked with + citapStreamTosByteMask, of traffic to be intercepted. If + citapStreamTosByte&(~citapStreamTosByteMask)!=0, + configuration is rejected."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.7"; + } + + leaf citapStreamTosByteMask { + type int32 { + range "0..255"; + } + description + "The value of the TOS byte in an IPv4 or IPv6 header is ANDed + with citapStreamTosByteMask and compared with + citapStreamTosByte. If the values are equal, the comparison + is equal. If the mask is zero and the TosByte value is zero, + the result is to always accept."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.8"; + } + + leaf citapStreamFlowId { + type int32 { + range "-1..1048575"; + } + description + "The flow identifier in an IPv6 header. -1 indicates that the + Flow Id is unused."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.9"; + } + + leaf citapStreamProtocol { + type int32 { + range "-1..255"; + } + description + "The IP protocol to match against the IPv4 protocol number or + the IPv6 Next- Header number in the packet. -1 means 'any IP + protocol'."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.10"; + } + + leaf citapStreamDestL4PortMin { + type inet:port-number; + description + "The minimum value that the layer-4 destination port number in + the packet must have in order to match. This value must be + equal to or less than the value specified for this entry in + citapStreamDestL4PortMax. + + + If both citapStreamDestL4PortMin and citapStreamDestL4PortMax + are at their default values, the port number is effectively + unused."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.11"; + } + + leaf citapStreamDestL4PortMax { + type inet:port-number; + description + "The maximum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry. + This value must be equal to or greater than the value specified + for this entry in citapStreamDestL4PortMin. + + + If both citapStreamDestL4PortMin and citapStreamDestL4PortMax + are at their default values, the port number is effectively + unused."; + smiv2:defval "65535"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.12"; + } + + leaf citapStreamSourceL4PortMin { + type inet:port-number; + description + "The minimum value that the layer-4 destination port number in + the packet must have in order to match. This value must be + equal to or less than the value specified for this entry in + citapStreamSourceL4PortMax. + + + If both citapStreamSourceL4PortMin and + citapStreamSourceL4PortMax are at their default values, the + port number is effectively unused."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.13"; + } + + leaf citapStreamSourceL4PortMax { + type inet:port-number; + description + "The maximum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry. + This value must be equal to or greater than the value specified + for this entry in citapStreamSourceL4PortMin. + + + If both citapStreamSourceL4PortMin and + citapStreamSourceL4PortMax are at their default values, the + port number is effectively unused."; + smiv2:defval "65535"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.14"; + } + + leaf citapStreamVRF { + type snmp-framework:SnmpAdminString; + description + "An ASCII string, which is the name of a Virtual Routing + and Forwarding (VRF) table comprising the routing context + of a Virtual Private Network. The interface or set of + interfaces on which the packet might be found should be + selected from the set of interfaces in the VRF table. + A string length of zero implies that global routing table + be used for selection of interfaces on which the packet + might be found."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.15"; + } + + leaf citapStreamStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. This object manages + creation, modification, and deletion of rows in this table. + When any rows must be changed, citapStreamStatus must be first + set to 'notInService'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1.2.1.16"; + } + } + } + } + + smiv2:alias "ciscoIpTapMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.394"; + } + + smiv2:alias "ciscoIpTapMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.394.0"; + } + + smiv2:alias "ciscoIpTapMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.394.1"; + } + + smiv2:alias "citapStreamEncodePacket" { + smiv2:oid "1.3.6.1.4.1.9.9.394.1.1"; + } + + smiv2:alias "ciscoIpTapMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.394.2"; + } + + smiv2:alias "ciscoIpTapMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.394.2.1"; + } + + smiv2:alias "ciscoIpTapMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.394.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IP-URPF-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IP-URPF-MIB.yang new file mode 100644 index 000000000..6777c31a0 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IP-URPF-MIB.yang @@ -0,0 +1,743 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IP-URPF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IP-URPF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IP-URPF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB"; + prefix CISCO-IP-URPF-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco System, Inc."; + + contact + "Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-cef@cisco.com"; + + description + "Unicast Reverse Path Forwarding (URPF) is a function that + checks the validity of the source address of IP packets + received on an interface. This in an attempt to prevent + Denial of Service attacks based on IP address spoofing. + + URPF checks validity of a source address by determining + whether the packet would be successfully routed as a + destination address. + Based on configuration, the check made + can be for existence of any route for the address, or more + strictly for a route out the interface on which the packet + was received by the device. When a violating packet is + detected, it can be dropped. + This MIB allows detection of + spoofingevents."; + + revision 2011-12-29 { + description + "2 New TC are defined to support Dynamic template MIB"; + } + + revision 2004-11-12 { + description + "Initial version of this MIB module."; + } + + typedef UnicastRpfType { + type enumeration { + enum "strict" { + value "1"; + } + enum "loose" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + description + "An enumerated integer-value describing the type of + unicast Reverse Path Forwarding (RPF) a system applies to + traffic received on an interface. UnicastRpfTypes 'strict' and + 'loose' RPF methods are defined in RFC3704. + + 'disabled' + The system does not perform unicast RPF on packets received + by the interface. + + 'strict' + The system performs strict unicast RPF on packets received + by the interface. + 'loose' + The system performs loose unicast RPF on packets received by + the interface."; + reference + "RFC3704 (http://tools.ietf.org/html/rfc3704)"; + } + + typedef UnicastRpfOptions { + type bits { + bit allowDefault { + position "0"; + } + bit allowSelfPing { + position "1"; + } + } + description + "A bit string describing unicast Reverse Path Forwarding (RPF) + options: + + 'allowDefault' + Allows the use of the default route for RPF verification. + + 'allowSelfPing' + Allows a router to ping its own interface or interfaces."; + } + + + container CISCO-IP-URPF-MIB { + config false; + + container cipUrpfScalar { + smiv2:oid "1.3.6.1.4.1.9.9.451.1.1"; + + leaf cipUrpfDropRateWindow { + type int32 { + range "1..600"; + } + units "seconds"; + description + "The window of time in the recent past over which the drop + count used in the drop rate computation is collected. + This global value applies for the computation of all URPF + rates, global and per-interface. + + Once the period over which computations have been + performed exceeds cipUrpfDropRateWindow, every time a + computation is performed, the window slides up to end + at the current time and start at cipUrpfDropRateWindow + seconds before. + + The cipUrpfDropRateWindow must be greater than + or equal to the interval between computations + (cipUrpfComputeInterval). + + Since the agent must save the drop count values + for each compute interval in order to slide the window, + the number of counts saved is the quotient of + cipUrpfDropRateWindow divided by cipUrpfComputeInterval."; + smiv2:defval "300"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.1.1"; + } + + leaf cipUrpfComputeInterval { + type int32 { + range "1..120"; + } + units "seconds"; + description + "The time between rate computations. This global value + applies for the computation of all URPF rates, global + and per-interface. + + When the value of cipUrpfComputeInterval is changed, + the interval in-progress proceeds as though the value + had not changed. The change will apply to the length + of subsequent intervals. + + The cipUrpfComputeInterval must be less than or equal + to the cipUrpfDropRateWindow."; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.1.2"; + } + + leaf cipUrpfDropNotifyHoldDownTime { + type int32 { + range "1..1000"; + } + units "seconds"; + description + "The minimum time between issuance of + cipUrpfIfDropRateNotify notifications for a + particular interface and packet forwarding type. + + Notifications are generated for each interface and + packet forwarding type that exceeds the drop-rate. + When a Notify is sent because the drop-rate is + exceeded for a particular interface and forwarding + type, the time specified by this object is used to + specify the minimum time that must elapse before + another Notify can be sent for that interface and + forwarding type. The time is specified globally but + used individually."; + smiv2:defval "300"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.1.3"; + } + } + + container cipUrpfTable { + description + "This table contains summary information for the + managed device on URPF dropping."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.1"; + + list cipUrpfEntry { + key "cipUrpfIpVersion"; + description + "If the managed device supports URPF dropping, + a row exists for each IP version type (v4 and v6). + A row contains summary information on URPF + dropping over the entire managed device."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.1.1"; + + leaf cipUrpfIpVersion { + type enumeration { + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + } + description + "Specifies the version of IP forwarding on an interface + to which the table row URPF counts, rates, and + configuration apply."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.1.1.1"; + } + + leaf cipUrpfDrops { + type yang:counter32; + units "packets"; + description + "Sum of dropped IP version cipUrpfIpVersion packets failing + a URPF check. This value is the sum of drops of packets + received on all interfaces of the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.1.1.2"; + } + + leaf cipUrpfDropRate { + type yang:gauge32; + units "packets per second"; + description + "The rate of packet drops of IP version cipUrpfIpVersion + packets due to URPF for the managed device. The + per-interface drop rate notification is issued on rates + exceeding a limit (rising rate). This dropping may indicate + an security attack on the network. To determine whether the + attack/event is over, the NMS must consult the managed + device. This object can be polled to determine the recent + drop rate for the managed device as a whole, in addition to + querying particular interface objects. + This object is the + average rate of dropping over the most recent window of + time. The rate is computed by dividing the number of packets + dropped over a window by the window time in seconds. The + window time is specified by cipUrpfDropRateWindow. Each time + the drop rate is computed, and at system startup, a snapshot + is taken of the latest value of cipUrpfDrops. Subtracting + from this the snapshot of cipUrpfDrops at the start of the + current window of time gives the number of packets dropped. + The drop rate is computed every cipUrpfComputeInterval + seconds. As an example, let cipUrpfDropRateWindow be 300 + seconds, and cipUrpfComputeInterval 30 seconds. Every 30 + seconds, the drop count five minutes previous is subtracted + from the current drop count, and the result is divided by + 300 to arrive at the drop rate. + At device start-up, until + the device has been up more than cipUrpfDropRateWindow, when + drop rate is computed, the value of cipUrpfDrops is divided + by the time the device has been up. + After the device has + been up for cipUrpfDropRateWindow, when drop rate is + computed, the number of packet drops counted from interval + start time to the computation time is divided by + cipUrpfDropRateWindow. + Changes to cipUrpfDropRateWindow are + not reflected in this object until the next computation + time. + The rate from the most recent computation is the + value fetched until the subsequent computation is + performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.1.1.3"; + } + } + } + + container cipUrpfIfMonTable { + description + "This table contains information on URPF dropping on + an interface."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2"; + + list cipUrpfIfMonEntry { + key "ifIndex cipUrpfIfIpVersion"; + description + "If IPv4 packet forwarding is configured on an interface, + and is configured to perform URPF checking, a row appears + in this table with indices [ifIndex][ipv4]. If IPv4 + packet forwarding is deconfigured, or URPF checking + is deconfigured, the row disappears. + + If IPv6 packet forwarding is configured on an interface, + and is configured to perform URPF checking, a row appears + in the table with indices [ifIndex][ipv6]. If IPv6 + packet forwarding is deconfigured, or URPF checking + is deconfigured, the row disappears."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cipUrpfIfIpVersion { + type enumeration { + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + } + description + "Specifies the version of IP forwarding on an interface + to which the table row URPF counts, rates, and + configuration apply."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1.1"; + } + + leaf cipUrpfIfDrops { + type yang:counter32; + units "packets"; + description + "The number of IP packets of version cipUrpfIfIpVersion + failing the URPF check and dropped by the managed device + on a particular interface. + + Discontinuities in the value of this variable can occur + at re-initialization of the management system, and at + other times as indicated by the values of + cipUrpfIfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1.2"; + } + + leaf cipUrpfIfSuppressedDrops { + type yang:counter32; + units "packets"; + description + "The number of IP packets of version cipUrpfIfIpVersion + failing the URPF check but given a reprieve and not + dropped by the managed device. Depending on the + device configuration and capabilities, the following + cases may cause incrementing of the counter: + - if the managed device is configured to allow self-pings + and the managed device pings itself. + - if the managed device is configured for loose URPF (if any + interface has a route to the source), and the strict + case fails while the loose case passes. + - DHCP Request packets (src 0.0.0.0 dst 255.255.255.255) + will pass after initially being marked for drop. + - RIP routing on unnumbered interfaces will pass after + initially being marked for drop. + - multicast packets will pass after initially being marked + for drop + - ACL's can be applied to permit packets after initially + being marked for drop. + + Discontinuities in the value of this variable can occur + at re-initialization of the management system, and at + other times as indicated by the values of + cipUrpfIfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1.3"; + } + + leaf cipUrpfIfDropRate { + type yang:gauge32; + units "packets/second"; + description + "The rate of packet drops of IP version cipUrpfIfIpVersion + packets due to URPF on the interface. + + This object is the average rate of dropping over the most + recent interval of time. The rate is computed by dividing + the number of packets dropped over an interval by the + interval time in seconds. Each time the drop rate + is computed, and at system startup, a snapshot is taken + of the latest value of cipUrpfIfDrops. Subtracting from this + the snapshot of cipUrpfIfDrops at the start of the current + interval of time gives the number of packets dropped. + The drop rate is computed every cipUrpfComputeInterval + seconds. + + When drop rate is computed, if time since the creation of + a row in cipUrpfIfMonTable is less than + cipUrpfDropRateWindow, the value of cipUrpfIfDrops is + divided by the time since row was created. + + After the row has been in existence for + cipUrpfDropRateWindow, when drop rate is computed, the + number of packet drops counted on the interface from + interval start time to the computation time is divided + by cipUrpfDropRateWindow. + + Changes to cipUrpfDropRateWindow are not reflected in this + object until the next computation time. + + The rate from the most recent computation is the value + fetched until the subsequent computation is performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1.4"; + } + + leaf cipUrpfIfDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent + occasion at which this interface's counters + suffered a discontinuity. + If no such discontinuities have occurred + since the last re-initialization of the + local management subsystem, then this + object contains a value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.2.1.5"; + } + } + } + + container cipUrpfVrfIfTable { + description + "This table contains statistics information for interfaces + performing URPF using VRF table to determine reachability."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.3"; + + list cipUrpfVrfIfEntry { + key "cipUrpfVrfName ifIndex"; + description + "An entry exists for a VRF and interface if and only + if the VRF associated with the interface is configured + to perform IP URPF checking using the routing + table for the VRF."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.3.1"; + + leaf cipUrpfVrfName { + type leafref { + path "/CISCO-IP-URPF-MIB:CISCO-IP-URPF-MIB/CISCO-IP-URPF-MIB:cipUrpfVrfTable/CISCO-IP-URPF-MIB:cipUrpfVrfEntry/CISCO-IP-URPF-MIB:cipUrpfVrfName"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cipUrpfVrfIfDrops { + type yang:counter32; + units "packets"; + description + "The number of packets failing the URPF check for a VRF on + the interface and dropped by the managed device. + + Discontinuities in the value of this variable can occur + at re-initialization of the management system, and at + other times as indicated by the values of + cipUrpfVrfIfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.3.1.2"; + } + + leaf cipUrpfVrfIfDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which the URPF counters for this VRF on this interface + suffered a discontinuity. If no such discontinuities + have occurred since the last re-initialization of the + local management subsystem, then this object contains a + value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2.3.1.3"; + } + } + } + + container cipUrpfVrfTable { + description + "This table enables indexing URPF drop statistics + by Virtual Routing and Forwarding instances."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.4.1"; + + list cipUrpfVrfEntry { + key "cipUrpfVrfName"; + description + "An entry exists for a VRF if and only if the VRF + is associated with an interface that is configured + to perform IP URPF checking using the routing table + for that VRF."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.4.1.1"; + + leaf cipUrpfVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This field is used to specify the VRF Table + name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.4.1.1.1"; + } + } + } + } + + smiv2:alias "cipUrpfIfConfTable" { + description + "This table contains statistics information on URPF on + an interface."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1"; + } + + smiv2:alias "cipUrpfIfConfEntry" { + description + "A row exists in this table if a row exists + in cipUrpfIfMonTable."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1"; + } + + augment "/CISCO-IP-URPF-MIB:CISCO-IP-URPF-MIB/CISCO-IP-URPF-MIB:cipUrpfIfMonTable/CISCO-IP-URPF-MIB:cipUrpfIfMonEntry" { + description + "A row exists in this table if a row exists + in cipUrpfIfMonTable."; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1"; + + leaf cipUrpfIfDropRateNotifyEnable { + type boolean; + description + "This object specifies whether the system produces the + cipUrpfIfDropRateNotify notification as a result of URPF + dropping of version cipUrpfIfIpVersion IP packets on this + interface. A false value prevents such notifications from + being generated by this system."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.1"; + } + + leaf cipUrpfIfNotifyDropRateThreshold { + type uint32; + units "packets/second"; + description + "When the calculated rate of URPF packet drops + (cipUrpfIfDropRate) meets or exceeds the value + specified by this object, a cipUrpfIfDropRateNotify + notification is sent if cipUrpfIfDropRateNotifyEnable + is set to true, and no such notification for the + IP version has been sent for this interface for the + hold-down period. + + Note that due to the calculation used for drop rate, + if there are less than n drop events in an n-second + period the notification will not be generated. To allow + for the detection of a small number of drop events, the + value 0 (zero) is used to indicate that if any drop events + occur during the interval, a notification is generated."; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.2"; + } + + leaf cipUrpfIfNotifyDrHoldDownReset { + type boolean; + description + "Setting this object to true causes the five-minute + hold-down timer for emitting URPF drop rate + notifications for IP version cipUrpfIfIpVersion on + the interface to be short-circuited. If a notification + is due and would be emitted for the interface if the + five-minutes elapsed, setting this object will cause + the notification to be sent. + + This is a trigger, and doesn't hold information. It is + set and an action is performed. Therefore a get for + this object always returns false."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.3"; + } + + leaf cipUrpfIfCheckStrict { + type enumeration { + enum "strict" { + value "1"; + } + enum "loose" { + value "2"; + } + } + description + "Interface configuration indicating the strictness of + the reachability check performed + on the interface. + - strict: check that source addr is reachable via + the interface it came in on. + - loose : check that source addr is reachable via + some interface on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.4"; + } + + leaf cipUrpfIfWhichRouteTableID { + type enumeration { + enum "default" { + value "1"; + } + enum "vrf" { + value "2"; + } + } + description + "Interface configuration indicating the routing table + consulted for the reachability check: + - default: the non-private routing table for of the + managed system. + - vrf : a particular VPN routing table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.5"; + } + + leaf cipUrpfIfVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "If the value of cipUrpfIfWhichRouteTableID is 'vrf', + the name of the VRF Table. Otherwise a zero-length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3.1.1.6"; + } + } + + notification cipUrpfIfDropRateNotify { + description + "This notification is generated when + cipUrpfIfDropRateNotifyEnable is set to true and + the calculated URPF drop rate (cipUrpfIfDropRate) + exceeds the notification threshold drop rate + (cipUrpfIfNotifyDropRateThreshold). Note the + exceptional value of 0 for threshold allows notification + generation if any drop events occur in an interval. + + After generating this notification, another such + notification will not be sent out for a minimum of five + minutes (note the exception to this provided by + cipUrpfIfNotifyDrHoldDownReset). + + The object value present in the notification is the + the drop rate that exceeded the threshold."; + smiv2:oid "1.3.6.1.4.1.9.9.451.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cipUrpfIfIpVersion { + type leafref { + path "/CISCO-IP-URPF-MIB:CISCO-IP-URPF-MIB/CISCO-IP-URPF-MIB:cipUrpfIfMonTable/CISCO-IP-URPF-MIB:cipUrpfIfMonEntry/CISCO-IP-URPF-MIB:cipUrpfIfIpVersion"; + } + } + + leaf cipUrpfIfDropRate { + type leafref { + path "/CISCO-IP-URPF-MIB:CISCO-IP-URPF-MIB/CISCO-IP-URPF-MIB:cipUrpfIfMonTable/CISCO-IP-URPF-MIB:cipUrpfIfMonEntry/CISCO-IP-URPF-MIB:cipUrpfIfDropRate"; + } + } + } + } + + smiv2:alias "ciscoIpUrpfMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.451"; + } + + smiv2:alias "ciscoIpUrpfMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.451.0"; + } + + smiv2:alias "ciscoIpUrpfMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.451.1"; + } + + smiv2:alias "cipUrpfScalar" { + smiv2:oid "1.3.6.1.4.1.9.9.451.1.1"; + } + + smiv2:alias "cipUrpfStatistics" { + smiv2:oid "1.3.6.1.4.1.9.9.451.1.2"; + } + + smiv2:alias "cipUrpfInterfaceConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.451.1.3"; + } + + smiv2:alias "cipUrpfVrf" { + smiv2:oid "1.3.6.1.4.1.9.9.451.1.4"; + } + + smiv2:alias "ciscoIpUrpfMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.451.2"; + } + + smiv2:alias "ciscoIpUrpfMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.451.2.1"; + } + + smiv2:alias "ciscoIpUrpfMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.451.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPMROUTE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPMROUTE-MIB.yang new file mode 100644 index 000000000..da357ebd4 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPMROUTE-MIB.yang @@ -0,0 +1,699 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPMROUTE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPMROUTE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPMROUTE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB"; + prefix CISCO-IPMROUTE-MIB; + + import IPMROUTE-STD-MIB { + prefix "ipmroute-std"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "ciscoSytems"; + + contact + " cisco Systems, Inc. + 170 Tasman Drive + San Jose, CA + EMail: cs-ipmulticast@cisco.com"; + + description + "The MIB module for management of IP Multicast routing, + but independent of the specific multicast routing protocol + in use."; + + revision 2005-03-07 { + description + "Add 32-bit and 64-bit per interface packet counters. + These apply to all interfaces, including Point-To-Point + types, unlike ifInMulticastPkts etc which only apply to + interfaces with multicast at that layer. Also fix import + of Unsigned32."; + } + + revision 2000-12-22 { + description + "Add ciscoIpMRouteNumberOfEntries. Also add 64-bit + counters to represent information for high speed + interfaces like OC-192. Deprecate ciscoIpMRouteBps in + favour of the 64-bit counter ciscoIpMRouteBps2. + ciscoIpMouteMetric deprecated in favour of + ciscoIpMouteMetric2 to correctly represent a 32-bit + unsigned metric value."; + } + + revision 2000-05-15 { + description + "Added MIB support for multicast heartbeat monitoring."; + } + + revision 1999-02-08 { + description + "Add ciscoIpMRouteJoinFlag, ciscoIpMRouteMsdpFlag and + ciscoIpMRouteProxyJoinFlag."; + } + + revision 1996-10-11 { + description + "Obsolete ciscoIpMRouteInLimit and replaced with + ciscoIpMRouteInLimit2."; + } + + + container CISCO-IPMROUTE-MIB { + config false; + + container ciscoIpMRoute { + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1"; + + leaf ciscoIpMRouteNumberOfEntries { + type yang:gauge32; + description + "Maintains a count of the number of entries in the + ipMRouteTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.1"; + } + } + + container ciscoIpMRouteHeartBeatTable { + description + "The (conceptual) table listing sets of IP Multicast + heartbeat parameters. If no IP Multicast heartbeat is + configured, this table would be empty."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4"; + + list ciscoIpMRouteHeartBeatEntry { + key "ciscoIpMRouteHeartBeatGroupAddr"; + description + "An entry (conceptual row) representing a set of IP + Multicast heartbeat parameters."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1"; + + leaf ciscoIpMRouteHeartBeatGroupAddr { + type inet:ipv4-address; + description + "Multicast group address used to receive heartbeat + packets."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.1"; + } + + leaf ciscoIpMRouteHeartBeatSourceAddr { + type inet:ipv4-address; + description + "Source address of the last multicast heartbeat packet + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.2"; + } + + leaf ciscoIpMRouteHeartBeatInterval { + type int32 { + range "10..3600"; + } + units "seconds"; + description + "Number of seconds in which a Cisco multicast router + expects a valid heartBeat packet from a source. This + value must be a multiple of 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.3"; + } + + leaf ciscoIpMRouteHeartBeatWindowSize { + type int32 { + range "1..100"; + } + description + "Number of ciscoIpMRouteHeartBeatInterval intervals a + Cisco multicast router waits before checking if expected + number of heartbeat packets are received or not."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.4"; + } + + leaf ciscoIpMRouteHeartBeatCount { + type yang:gauge32; + description + "Number of time intervals where multicast packets were + received in the last ciscoIpMRouteHeartBeatWindowSize + intervals."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.5"; + } + + leaf ciscoIpMRouteHeartBeatMinimum { + type int32 { + range "1..100"; + } + description + "The minimal number of heartbeat packets expected in the + last ciscoIpMRouteHeartBeatWindowSize intervals. If + ciscoIpMRouteHeartBeatCount falls below this value, an + SNMP trap/notification, if configured, will be sent to the + NMS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.6"; + } + + leaf ciscoIpMRouteHeartBeatAlertTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which a missing IP multicast heartbeat condition occured + for the group address specified in this entry. If no such + condition have occurred since the last re-initialization + of the local management subsystem, then this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.7"; + } + + leaf ciscoIpMRouteHeartBeatStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create a new row or delete an + existing row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.4.1.8"; + } + } + } + } + + smiv2:alias "ciscoIpMRouteTable" { + description + "The (conceptual) table containing multicast routing + information for IP datagrams sent by particular sources to + the IP multicast groups known to this router. This table is + augmented to the ipMRouteTable."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2"; + } + + smiv2:alias "ciscoIpMRouteEntry" { + description + "An entry (conceptual row) containing the multicast routing + information for IP datagrams from a particular source and + addressed to a particular IP multicast group address."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1"; + } + + augment "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteTable/ipmroute-std:ipMRouteEntry" { + description + "An entry (conceptual row) containing the multicast routing + information for IP datagrams from a particular source and + addressed to a particular IP multicast group address."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1"; + + leaf ciscoIpMRoutePruneFlag { + type boolean; + description + "Boolean, indicates whether this route is pruned. A pruned + route is one that has an empty outgoing interface list or + all interfaces are in Pruned state. A multicast packet + that matches a pruned route doesn't get forwarded."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.12"; + } + + leaf ciscoIpMRouteSparseFlag { + type boolean; + description + "Boolean, indicating PIM multicast routing protocol + sparse-mode (versus dense-mode). In sparse-mode, packets + are forwarded only out interfaces that have been joined. + In dense-mode, they are forwarded out all interfaces that + have not been pruned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.13"; + } + + leaf ciscoIpMRouteConnectedFlag { + type boolean; + description + "Boolean, indicating whether there is a directly connected + member for a group attached to the router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.14"; + } + + leaf ciscoIpMRouteLocalFlag { + type boolean; + description + "Boolean, indicating whether local system is a member of a + group on any interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.15"; + } + + leaf ciscoIpMRouteRegisterFlag { + type boolean; + description + "Boolean, indicates whether to send registers for the + entry. A first hop router directly connected to a + multicast source host, as well as a border router on the + boundary of two domains running different multicast + routing protocols, encapsulates packets to be sent on the + shared tree. This is done until the RP sends Joins back to + this router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.16"; + } + + leaf ciscoIpMRouteRpFlag { + type boolean; + description + "Boolean, indicating whether there is a Prune state for + this source along the shared tree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.17"; + } + + leaf ciscoIpMRouteSptFlag { + type boolean; + description + "Boolean, indicating whether data is being received on the + SPT tree, ie the Shortest Path Tree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.18"; + } + + leaf ciscoIpMRouteBps { + type yang:gauge32; + status deprecated; + description + "Bits per second forwarded by this router. This is the + sum of all forwarded bits during a 1 second interval. At + the end of each second the field is cleared. This object + has been superseded by ciscoIpMRouteBps2 (which is the + 64-bit version of this object)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.19"; + } + + leaf ciscoIpMRouteMetric { + type int32 { + range "0..2147483647"; + } + status deprecated; + description + "Metric - The best metric heard from Assert messages. This + object has been replaced by ciscoIpMRouteMetric2 in order + to correctly represent a 32-bit unsigned metric value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.20"; + } + + leaf ciscoIpMRouteMetricPreference { + type int32 { + range "0..2147483647"; + } + description + "Metric Preference - The best metric preference heard from + Assert messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.21"; + } + + leaf ciscoIpMRouteInLimit { + type int32 { + range "0..2147483647"; + } + units "Kbits/second"; + status obsolete; + description + "Incoming interface's limit for rate limiting data + traffic, in Kbps. Replaced by ciscoIpMRouteInLimit2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.22"; + } + + leaf ciscoIpMRouteLastUsed { + type yang:timeticks; + description + "How long has it been since the last multicast packet was + fastswitched."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.23"; + } + + leaf ciscoIpMRouteInLimit2 { + type yang:gauge32; + units "Kbits/second"; + description + "Incoming interface's limit for rate limiting data + traffic, in Kbps."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.24"; + } + + leaf ciscoIpMRouteJoinFlag { + type boolean; + description + "Boolean, indicates whether this route is created due to + SPT threshold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.25"; + } + + leaf ciscoIpMRouteMsdpFlag { + type boolean; + description + "Boolean, indicates whether this route is learned via + MSDP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.26"; + } + + leaf ciscoIpMRouteProxyJoinFlag { + type boolean; + description + "Boolean, indicates whether to send join for this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.27"; + } + + leaf ciscoIpMRoutePkts { + type yang:counter64; + description + "The number of packets which this router has received from + these sources and addressed to this multicast group + address. This object is a 64-bit version of ipMRoutePkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.28"; + } + + leaf ciscoIpMRouteDifferentInIfPkts { + type yang:counter64; + description + "The number of packets which this router has received from + these sources and addressed to this multicast group + address, which were not received from the interface + indicated by ipMRouteInIfIndex. This object is a 64-bit + version of ipMRouteDifferentInIfPackets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.29"; + } + + leaf ciscoIpMRouteOctets { + type yang:counter64; + description + "The number of octets contained in IP datagrams which were + received from these sources and addressed to this multicast + group address, and which were forwarded by this + router. This object is a 64-bit version of + ipMRouteOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.30"; + } + + leaf ciscoIpMRouteBps2 { + type yang:gauge64; + description + "Bits per second forwarded by this router. This is the sum + of all forwarded bits during a 1 second interval. At the + end of each second the field is cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.31"; + } + + leaf ciscoIpMRouteMetric2 { + type uint32; + description + "Metric - The best metric heard from Assert messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.2.1.32"; + } + } + + smiv2:alias "ciscoIpMRouteNextHopTable" { + description + "The (conceptual) table containing information on the next + hops on outgoing interfaces for routing IP multicast + datagrams. Each entry is one of a list of next hops on + outgoing interfaces for particular sources sending to a + particular multicast group address."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3"; + } + + smiv2:alias "ciscoIpMRouteNextHopEntry" { + description + "An entry (conceptual row) in the list of next hops on + outgoing interfaces to which IP multicast datagrams from + particular sources to a IP multicast group address are + routed."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3.1"; + } + + augment "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry" { + description + "An entry (conceptual row) in the list of next hops on + outgoing interfaces to which IP multicast datagrams from + particular sources to a IP multicast group address are + routed."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3.1"; + + leaf ciscoIpMRouteNextHopOutLimit { + type yang:gauge32; + units "Kbits/second"; + description + "An outgoing interface's limit for rate limiting data + traffic, in Kbps."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3.1.9"; + } + + leaf ciscoIpMRouteNextHopMacHdr { + type binary; + description + "The data link mac address header for a multicast + datagram. Used by IP multicast fastswitching."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3.1.10"; + } + + leaf ciscoIpMRouteNextHopPkts { + type yang:counter64; + description + "The number of packets which have been forwarded using + this route. This object is a 64-bit version of + ipMRouteNextHopPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.3.1.11"; + } + } + + smiv2:alias "ciscoIpMRouteInterfaceTable" { + description + "The (conceptual) table containing multicast routing + information specific to interfaces. This table augments + the ipMRouteInterfaceTable."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5"; + } + + smiv2:alias "ciscoIpMRouteInterfaceEntry" { + description + "An entry (conceptual row) containing the multicast + routing information for a particular interface."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1"; + } + + augment "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteInterfaceTable/ipmroute-std:ipMRouteInterfaceEntry" { + description + "An entry (conceptual row) containing the multicast + routing information for a particular interface."; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1"; + + leaf ciscoIpMRouteIfInMcastOctets { + type yang:counter64; + description + "The number of octets of multicast packets that have + arrived on the interface. This object is a 64-bit version + of ipMRouteInterfaceInMcastOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.1"; + } + + leaf ciscoIpMRouteIfOutMcastOctets { + type yang:counter64; + description + "The number of octets of multicast packets that have been + sent on the interface. This object is a 64-bit version of + ipMRouteInterfaceOutMcastOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.2"; + } + + leaf ciscoIpMRouteIfInMcastPkts { + type yang:counter32; + description + "The number of multicast packets that have arrived on the + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.3"; + } + + leaf ciscoIpMRouteIfHCInMcastPkts { + type yang:counter64; + description + "The number of multicast packets that have arrived on the + interface. This object is a 64-bit version of + ciscoIpMRouteIfInMcastPkts"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.4"; + } + + leaf ciscoIpMRouteIfOutMcastPkts { + type yang:counter32; + description + "The number of multicast packets that have been sent on + the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.5"; + } + + leaf ciscoIpMRouteIfHCOutMcastPkts { + type yang:counter64; + description + "The number of multicast packets that have been sent on + the interface. This object is a 64-bit version of + ciscoIpMRouteIfOutMcastPkts"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1.5.1.6"; + } + } + + notification ciscoIpMRouteMissingHeartBeats { + description + "A ciscoIpMRouteMissingHeartBeat is sent if a multicast router + with this feature enabled failed to receive configured number + of heartbeat packets from heartbeat sources within a + configured time interval."; + smiv2:oid "1.3.6.1.4.1.9.10.2.3.1.0.1"; + + container object-1 { + + leaf ciscoIpMRouteHeartBeatGroupAddr { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatGroupAddr"; + } + } + + leaf ciscoIpMRouteHeartBeatSourceAddr { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatSourceAddr"; + } + } + } + + container object-2 { + + leaf ciscoIpMRouteHeartBeatGroupAddr { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatGroupAddr"; + } + } + + leaf ciscoIpMRouteHeartBeatInterval { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatInterval"; + } + } + } + + container object-3 { + + leaf ciscoIpMRouteHeartBeatGroupAddr { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatGroupAddr"; + } + } + + leaf ciscoIpMRouteHeartBeatWindowSize { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatWindowSize"; + } + } + } + + container object-4 { + + leaf ciscoIpMRouteHeartBeatGroupAddr { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatGroupAddr"; + } + } + + leaf ciscoIpMRouteHeartBeatCount { + type leafref { + path "/CISCO-IPMROUTE-MIB:CISCO-IPMROUTE-MIB/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatTable/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatEntry/CISCO-IPMROUTE-MIB:ciscoIpMRouteHeartBeatCount"; + } + } + } + } + + smiv2:alias "ciscoIpMRouteMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.2"; + } + + smiv2:alias "ciscoIpMRouteMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.2.1"; + } + + smiv2:alias "ciscoIpMRoute" { + smiv2:oid "1.3.6.1.4.1.9.10.2.1.1"; + } + + smiv2:alias "ciscoIpMRouteMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.2.2"; + } + + smiv2:alias "ciscoIpMRouteMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.2.2.1"; + } + + smiv2:alias "ciscoIpMRouteMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.2.2.2"; + } + + smiv2:alias "ciscoIpMRouteNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.2.3"; + } + + smiv2:alias "ciscoIpMRouteMissingHeartBeatsNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.2.3.1"; + } + + smiv2:alias "ciscoIpMRouteMissingHeartBeatsNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.2.3.1.0"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-FLOW-MONITOR-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-FLOW-MONITOR-MIB.yang new file mode 100644 index 000000000..00521edfd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-FLOW-MONITOR-MIB.yang @@ -0,0 +1,5924 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSEC-FLOW-MONITOR-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSEC-FLOW-MONITOR-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSEC-FLOW-MONITOR-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB"; + prefix CISCO-IPSEC-FLOW-MONITOR-MIB; + + import CISCO-MEDIA-GATEWAY-MIB { + prefix "cisco-media"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Tivoli Systems and Cisco Systems"; + + contact + "Tivoli Systems + Research Triangle Park, NC + + Cisco Systems + 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + E-mail: cs-ipsecurity@cisco.com"; + + description + "This is a MIB Module for monitoring the + structures in IPSec-based Virtual Private Networks. + The MIB has been designed to be adopted as an IETF + standard. Hence Cisco-specific features of IPSec + protocol are excluded from this MIB. + + Acronyms + The following acronyms are used in this document: + + IPSec: Secure IP Protocol + + VPN: Virtual Private Network + + ISAKMP: Internet Security Association and Key Exchange + Protocol + + IKE: Internet Key Exchange Protocol + + SA: Security Association + + MM: Main Mode - the process of setting up + a Phase 1 SA to secure the exchanges + required to setup Phase 2 SAs + + QM: Quick Mode - the process of setting up + Phase 2 Security Associations using + a Phase 1 SA. + + + Overview of IPsec MIB + + The MIB contains six major groups of objects which are + used to manage the IPSec Protocol. These groups include + a Levels Group, a Phase-1 Group, a Phase-2 Group, + a History Group, a Failure Group and a TRAP Control Group. + The following table illustrates the structure of the + IPSec MIB. + + The Phase 1 group models objects pertaining to + IKE negotiations and tunnels. + + The Phase 2 group models objects pertaining to + IPSec data tunnels. + + The History group is to aid applications that do + trending analysis. + + The Failure group is to enable an operator to + do troubleshooting and debugging of the VPN Router. + Further, counters are supported to aid Intrusion + Detection. + + In addition to the five major MIB Groups, there are + a number of Notifications. The following table + illustrates the name and description of the + IPSec TRAPs. + + For a detailed discussion, please refer to the IETF + draft draft-ietf-ipsec-flow-monitoring-mib-00.txt."; + + revision 2007-10-24 { + description + "In the description of cipSecTunHistHcInDecompOctets, + cipSecTunHcInOctets has been changed to + cipSecTunHistHcInOctets. + + In the description of cipSecTunHistOutUncompOctets, + cipSecTunOutOctets has been changed to + cipSecTunHistOutOctets. + + In the description of cipSecTunHistHcOutUncompOctets, + cipSecTunHcOutOctets has been changed to + cipSecTunHistHcOutOctets. + + In the description of cipSecTunHistInDecompOctets, + cipSecTunInOctets has been changed to + cipSecTunHistInOctets."; + } + + revision 2004-10-12 { + description + "Added two table for media gateway stats + information: + cikePhase1GWStatsTable (phase-1 IKE) + cipSecPhase2GWStatsTable (phase-2 IPsec)"; + } + + revision 2000-10-13 { + description + "Changed cipSecSpiValue to Unsigned32. + Changed Protocol ranges to + start at 0 instead of 1. + Removed comment(s) incorrectly indicating + this MIB was CiscoExperiment."; + } + + revision 2000-08-17 { + description + "Initial version of this MIB module."; + } + + typedef IPSIpAddress { + type binary { + length "4|16"; + } + description + "An IP V4 or V6 Address."; + } + + typedef IkePeerType { + type enumeration { + enum "ipAddrPeer" { + value "1"; + } + enum "namePeer" { + value "2"; + } + } + description + "The type of IPsec Phase-1 IKE peer identity. + The IKE peer may be identified by: + 1. an IP address, or + 2. a host name."; + } + + typedef IkeNegoMode { + type enumeration { + enum "main" { + value "1"; + } + enum "aggressive" { + value "2"; + } + } + description + "The IPsec Phase-1 IKE negotiation mode."; + } + + typedef IkeHashAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "md5" { + value "2"; + } + enum "sha" { + value "3"; + } + } + description + "The hash algorithm used in IPsec Phase-1 + IKE negotiations."; + } + + typedef IkeAuthMethod { + type enumeration { + enum "none" { + value "1"; + } + enum "preSharedKey" { + value "2"; + } + enum "rsaSig" { + value "3"; + } + enum "rsaEncrypt" { + value "4"; + } + enum "revPublicKey" { + value "5"; + } + } + description + "The authentication method used in IPsec Phase-1 IKE + negotiations."; + } + + typedef DiffHellmanGrp { + type enumeration { + enum "none" { + value "1"; + } + enum "dhGroup1" { + value "2"; + } + enum "dhGroup2" { + value "3"; + } + } + description + "The Diffie Hellman Group used in negotiations."; + } + + typedef KeyType { + type enumeration { + enum "ike" { + value "1"; + } + enum "manual" { + value "2"; + } + } + description + "The type of key used by an IPsec Phase-2 Tunnel."; + } + + typedef EncapMode { + type enumeration { + enum "tunnel" { + value "1"; + } + enum "transport" { + value "2"; + } + } + description + "The encapsulation mode used by an IPsec Phase-2 + Tunnel."; + } + + typedef EncryptAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "des" { + value "2"; + } + enum "des3" { + value "3"; + } + } + description + "The encryption algorithm used in negotiations."; + } + + typedef AuthAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "hmacMd5" { + value "2"; + } + enum "hmacSha" { + value "3"; + } + } + description + "The authentication algorithm used by a + security association of an IPsec Phase-2 Tunnel."; + } + + typedef CompAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "ldf" { + value "2"; + } + } + description + "The compression algorithm used by a + security association of an IPsec Phase-2 Tunnel."; + } + + typedef EndPtType { + type enumeration { + enum "singleIpAddr" { + value "1"; + } + enum "ipAddrRange" { + value "2"; + } + enum "ipSubnet" { + value "3"; + } + } + description + "The type of identity use to specify an IPsec End Point."; + } + + typedef TunnelStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "destroy" { + value "2"; + } + } + description + "The status of a Tunnel. Objects of this type may + be used to bring the tunnel down by setting + value of this object to destroy(2). Objects of this + type cannot be used to create a Tunnel."; + } + + typedef TrapStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "The administrative status for sending a TRAP."; + } + + + container CISCO-IPSEC-FLOW-MONITOR-MIB { + config false; + + container cipSecLevels { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.1"; + + leaf cipSecMibLevel { + type int32 { + range "1..4096"; + } + description + "The level of the IPsec MIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.1.1"; + } + } + + container cikeGlobalStats { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1"; + + leaf cikeGlobalActiveTunnels { + type yang:gauge32; + description + "The number of currently active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.1"; + } + + leaf cikeGlobalPreviousTunnels { + type yang:counter32; + units "SAs"; + description + "The total number of previously active + IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.2"; + } + + leaf cikeGlobalInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by all currently + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.3"; + } + + leaf cikeGlobalInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received by all + currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.4"; + } + + leaf cikeGlobalInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets which were + dropped during receive processing by all + currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.5"; + } + + leaf cikeGlobalInNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys received by + all currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.6"; + } + + leaf cikeGlobalInP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + received by all currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.7"; + } + + leaf cikeGlobalInP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were received and found to be invalid + by all currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.8"; + } + + leaf cikeGlobalInP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were received and rejected by all + currently and previously active IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.9"; + } + + leaf cikeGlobalInP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 security + association delete requests received by all + currently and previously + active and IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.10"; + } + + leaf cikeGlobalOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by all currently + and previously active and IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.11"; + } + + leaf cikeGlobalOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by all currently + and previously active and IPsec Phase-1 + Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.12"; + } + + leaf cikeGlobalOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets which were dropped + during send processing by all currently + and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.13"; + } + + leaf cikeGlobalOutNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys sent by all currently + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.14"; + } + + leaf cikeGlobalOutP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent by all currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.15"; + } + + leaf cikeGlobalOutP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent and found to be invalid by + all currently and previously active IPsec Phase-1 + Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.16"; + } + + leaf cikeGlobalOutP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent and rejected by all currently and + previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.17"; + } + + leaf cikeGlobalOutP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 SA + delete requests sent by all currently and + previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.18"; + } + + leaf cikeGlobalInitTunnels { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE + Tunnels which were locally initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.19"; + } + + leaf cikeGlobalInitTunnelFails { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE Tunnels + which were locally initiated and failed to activate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.20"; + } + + leaf cikeGlobalRespTunnelFails { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE Tunnels + which were remotely initiated and failed to activate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.21"; + } + + leaf cikeGlobalSysCapFails { + type yang:counter32; + units "Failures"; + description + "The total number of system capacity failures + which occurred during processing of all current + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.22"; + } + + leaf cikeGlobalAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of authentications which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.23"; + } + + leaf cikeGlobalDecryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of decryptions which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.24"; + } + + leaf cikeGlobalHashValidFails { + type yang:counter32; + units "Failures"; + description + "The total number of hash validations which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.25"; + } + + leaf cikeGlobalNoSaFails { + type yang:counter32; + units "Failures"; + description + "The total number of non-existent Security Association + in failures which occurred during processing of + all current and previous IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1.26"; + } + } + + container cipSecGlobalStats { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1"; + + leaf cipSecGlobalActiveTunnels { + type yang:gauge32; + description + "The total number of currently active + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.1"; + } + + leaf cipSecGlobalPreviousTunnels { + type yang:counter32; + units "Phase-2 Tunnels"; + description + "The total number of previously active + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.2"; + } + + leaf cipSecGlobalInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by all + current and previous IPsec Phase-2 Tunnels. + This value is + accumulated BEFORE determining whether or not + the packet should be decompressed. See also + cipSecGlobalInOctWraps for the number of times + this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.3"; + } + + leaf cipSecGlobalHcInOctets { + type yang:counter64; + description + "A high capacity count of the total number of + octets received by all current and previous + IPsec Phase-2 Tunnels. This value is accumulated + BEFORE determining whether or not the packet + should be decompressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.4"; + } + + leaf cipSecGlobalInOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global octets received + counter (cipSecGlobalInOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.5"; + } + + leaf cipSecGlobalInDecompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of decompressed octets received + by all current and previous IPsec Phase-2 Tunnels. + This value is accumulated AFTER the packet is + decompressed. If compression is not being used, + this value will match the value of cipSecGlobalInOctets. + See also cipSecGlobalInDecompOctWraps + for the number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.6"; + } + + leaf cipSecGlobalHcInDecompOctets { + type yang:counter64; + description + "A high capacity count of the total number + of decompressed octets received by all current + and previous IPsec Phase-2 Tunnels. This value + is accumulated AFTER the packet is decompressed. + If compression is not being used, this value + will match the value of cipSecGlobalHcInOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.7"; + } + + leaf cipSecGlobalInDecompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global decompressed + octets received counter + (cipSecGlobalInDecompOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.8"; + } + + leaf cipSecGlobalInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received + by all current and previous + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.9"; + } + + leaf cipSecGlobalInDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + during receive processing by all current and previous + IPsec Phase-2 Tunnels. This count does + NOT include packets dropped due to + Anti-Replay processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.10"; + } + + leaf cipSecGlobalInReplayDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + receive processing due to Anti-Replay + processing by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.11"; + } + + leaf cipSecGlobalInAuths { + type yang:counter32; + units "Events"; + description + "The total number of inbound authentication's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.12"; + } + + leaf cipSecGlobalInAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound authentication's + which ended in failure by all current and previous + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.13"; + } + + leaf cipSecGlobalInDecrypts { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.14"; + } + + leaf cipSecGlobalInDecryptFails { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's + which ended in failure by all current and + previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.15"; + } + + leaf cipSecGlobalOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by all + current and previous IPsec Phase-2 Tunnels. + This value is accumulated AFTER determining + whether or not the packet should be compressed. + See also cipSecGlobalOutOctWraps for the + number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.16"; + } + + leaf cipSecGlobalHcOutOctets { + type yang:counter64; + description + "A high capacity count of the total number + of octets sent by all current and previous + IPsec Phase-2 Tunnels. This value is accumulated + AFTER determining whether or not the packet should + be compressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.17"; + } + + leaf cipSecGlobalOutOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global octets sent counter + (cipSecGlobalOutOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.18"; + } + + leaf cipSecGlobalOutUncompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of uncompressed octets sent + by all current and previous IPsec Phase-2 Tunnels. + This value is accumulated BEFORE the packet is + compressed. If compression is not being used, this + value will match the value of cipSecGlobalOutOctets. + See also cipSecGlobalOutDecompOctWraps for the number + of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.19"; + } + + leaf cipSecGlobalHcOutUncompOctets { + type yang:counter64; + units "Octets"; + description + "A high capacity count of the total number of + uncompressed octets sent by all current and previous + IPsec Phase-2 Tunnels. This value is accumulated + BEFORE the packet is compressed. If compression is + not being used, this value will match the + value of cipSecGlobalHcOutOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.20"; + } + + leaf cipSecGlobalOutUncompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global uncompressed + octets sent counter (cipSecGlobalOutUncompOctets) + has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.21"; + } + + leaf cipSecGlobalOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by all + current and previous + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.22"; + } + + leaf cipSecGlobalOutDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during send + processing by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.23"; + } + + leaf cipSecGlobalOutAuths { + type yang:counter32; + units "Events"; + description + "The total number of outbound authentication's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.24"; + } + + leaf cipSecGlobalOutAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound authentication's + which ended in failure + by all current and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.25"; + } + + leaf cipSecGlobalOutEncrypts { + type yang:counter32; + units "Packets"; + description + "The total number of outbound encryption's performed + by all current and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.26"; + } + + leaf cipSecGlobalOutEncryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound encryption's + which ended in failure by all current and + previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.27"; + } + + leaf cipSecGlobalProtocolUseFails { + type yang:counter32; + units "Failures"; + description + "The total number of protocol use failures + which occurred during processing of all current + and previously active IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.28"; + } + + leaf cipSecGlobalNoSaFails { + type yang:counter32; + units "Failures"; + description + "The total number of non-existent + Security Association in failures which occurred + during processing of all current + and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.29"; + } + + leaf cipSecGlobalSysCapFails { + type yang:counter32; + units "Failures"; + description + "The total number of system capacity failures + which occurred during processing of all current + and previously active IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1.30"; + } + } + + container cipSecHistGlobalCntl { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.1.1"; + + leaf cipSecHistTableSize { + type int32 { + range "1..2147483647"; + } + description + "The window size of the IPsec Phase-1 and Phase-2 + History Tables. + + The IPsec Phase-1 and Phase-2 History Tables are + implemented as a sliding window in which only the + last n entries are maintained. This object is used + specify the number of entries which will be + maintained in the IPsec Phase-1 and + Phase-2 History Tables. + + An implementation may choose suitable minimum and + maximum values for this element based on the local + policy and available resources. If an SNMP SET request + specifies a value outside this window for this element, + a BAD VALUE may be returned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.1.1.1"; + } + + leaf cipSecHistCheckPoint { + type enumeration { + enum "ready" { + value "1"; + } + enum "checkPoint" { + value "2"; + } + } + description + "The current state of check point processing. + + This object will return ready when the agent is + ready to create on-demand history entries for + active IPsec Tunnels or checkPoint when the + agent is currently creating on-demand history + entries for active IPsec Tunnels. + + By setting this value to checkPoint, the agent + will create: + a) an entry in the IPsec Phase-1 Tunnel History + for each active IPsec Phase-1 Tunnel and + b) an entry in the IPsec Phase-2 Tunnel History + Table and an entry in the IPsec Phase-2 + Tunnel EndPoint History Table + for each active IPsec Phase-2 Tunnel."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.1.1.2"; + } + } + + container cipSecFailGlobalCntl { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.1.1"; + + leaf cipSecFailTableSize { + type int32 { + range "1..2147483647"; + } + description + "The window size of the IPsec Phase-1 and Phase-2 + Failure Tables. + + The IPsec Phase-1 and Phase-2 Failure Tables are + implemented as a sliding window in which only the + last n entries are maintained. This object is used + specify the number of entries which will be + maintained in the IPsec Phase-1 and Phase-2 Failure + Tables. + + An implementation may choose suitable minimum and + maximum values for this element based on the local + policy and available resources. If an SNMP SET request + specifies a value outside this window for this element, + a BAD VALUE may be returned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.1.1.1"; + } + } + + container cipSecTrapCntl { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6"; + + leaf cipSecTrapCntlIkeTunnelStart { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IPsec IKE Phase-1 Tunnel Start TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.1"; + } + + leaf cipSecTrapCntlIkeTunnelStop { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the + IPsec IKE Phase-1 Tunnel Stop TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.2"; + } + + leaf cipSecTrapCntlIkeSysFailure { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the + IPsec IKE Phase-1 System Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.3"; + } + + leaf cipSecTrapCntlIkeCertCrlFailure { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative + state of sending the + IPsec IKE Phase-1 Certificate/CRL Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.4"; + } + + leaf cipSecTrapCntlIkeProtocolFail { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative + state of sending the + IPsec IKE Phase-1 Protocol Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.5"; + } + + leaf cipSecTrapCntlIkeNoSa { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative + state of sending the + IPsec IKE Phase-1 No Security Association TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.6"; + } + + leaf cipSecTrapCntlIpSecTunnelStart { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 Tunnel Start TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.7"; + } + + leaf cipSecTrapCntlIpSecTunnelStop { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative + state of sending the IPsec + Phase-2 Tunnel Stop TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.8"; + } + + leaf cipSecTrapCntlIpSecSysFailure { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 System Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.9"; + } + + leaf cipSecTrapCntlIpSecSetUpFailure { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 Set Up Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.10"; + } + + leaf cipSecTrapCntlIpSecEarlyTunTerm { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 Early Tunnel Termination TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.11"; + } + + leaf cipSecTrapCntlIpSecProtocolFail { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 Protocol Failure TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.12"; + } + + leaf cipSecTrapCntlIpSecNoSa { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TrapStatus; + description + "This object defines the administrative state + of sending the IPsec + Phase-2 No Security Association TRAP"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6.13"; + } + } + + container cikePeerTable { + description + "The IPsec Phase-1 Internet Key Exchange Peer Table. + There is one entry in this table for each IPsec + Phase-1 IKE peer association which is currently + associated with an active IPsec Phase-1 Tunnel. + The IPsec Phase-1 IKE Tunnel associated with this + IPsec Phase-1 IKE peer association may or may not + be currently active."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2"; + + list cikePeerEntry { + key "cikePeerLocalType cikePeerLocalValue cikePeerRemoteType cikePeerRemoteValue cikePeerIntIndex"; + description + "Each entry contains the attributes associated + with an IPsec Phase-1 IKE peer association."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1"; + + leaf cikePeerLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of local peer identity. The local peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.1"; + } + + leaf cikePeerLocalValue { + type snmpv2-tc:DisplayString; + description + "The value of the local peer identity. + + If the local peer type is an IP Address, then this + is the IP Address used to identify the local peer. + + If the local peer type is a host name, then this is + the host name used to identify the local peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.2"; + } + + leaf cikePeerRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of remote peer identity. The remote peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.3"; + } + + leaf cikePeerRemoteValue { + type snmpv2-tc:DisplayString; + description + "The value of the remote peer identity. + + If the remote peer type is an IP Address, then this + is the IP Address used to identify the remote peer. + + If the remote peer type is a host name, then this is + the host name used to identify the remote peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.4"; + } + + leaf cikePeerIntIndex { + type int32 { + range "1..2147483647"; + } + description + "The internal index of the local-remote + peer association. This internal index is used + to uniquely identify multiple associations between + the local and remote peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.5"; + } + + leaf cikePeerLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.6"; + } + + leaf cikePeerRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.7"; + } + + leaf cikePeerActiveTime { + type snmpv2-tc:TimeInterval; + description + "The length of time that the peer association has + existed in hundredths of a second."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.8"; + } + + leaf cikePeerActiveTunnelIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the active IPsec Phase-1 IKE Tunnel + (cikeTunIndex in the cikeTunnelTable) for this peer + association. If an IPsec Phase-1 IKE Tunnel is + not currently active, then the value of this + object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.2.1.9"; + } + } + } + + container cikeTunnelTable { + description + "The IPsec Phase-1 Internet Key Exchange Tunnel Table. + There is one entry in this table for each active IPsec + Phase-1 IKE Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3"; + + list cikeTunnelEntry { + key "cikeTunIndex"; + description + "Each entry contains the attributes associated with + an active IPsec Phase-1 IKE Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1"; + + leaf cikeTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPsec Phase-1 IKE Tunnel Table. + The value of the index is a number which begins + at one and is incremented with each tunnel that + is created. The value of this object will + wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.1"; + } + + leaf cikeTunLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of local peer identity. The local + peer may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.2"; + } + + leaf cikeTunLocalValue { + type snmpv2-tc:DisplayString; + description + "The value of the local peer identity. + + If the local peer type is an IP Address, then this + is the IP Address used to identify the local peer. + + If the local peer type is a host name, then this is + the host name used to identify the local peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.3"; + } + + leaf cikeTunLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local endpoint for the IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.4"; + } + + leaf cikeTunLocalName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the local IP address for + the IPsec Phase-1 IKE Tunnel. If the DNS + name associated with the local tunnel endpoint + is not known, then the value of this + object will be a NULL string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.5"; + } + + leaf cikeTunRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of remote peer identity. + The remote peer may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.6"; + } + + leaf cikeTunRemoteValue { + type snmpv2-tc:DisplayString; + description + "The value of the remote peer identity. + + If the remote peer type is an IP Address, then this + is the IP Address used to identify the remote peer. + + If the remote peer type is a host name, then + this is the host name used to identify the + remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.7"; + } + + leaf cikeTunRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote endpoint for the IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.8"; + } + + leaf cikeTunRemoteName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the remote IP address of IPsec Phase-1 + IKE Tunnel. If the DNS name associated with the remote + tunnel endpoint is not known, then the value of this + object will be a NULL string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.9"; + } + + leaf cikeTunNegoMode { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeNegoMode; + description + "The negotiation mode of the IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.10"; + } + + leaf cikeTunDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.11"; + } + + leaf cikeTunEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.12"; + } + + leaf cikeTunHashAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeHashAlgo; + description + "The hash algorithm used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.13"; + } + + leaf cikeTunAuthMethod { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeAuthMethod; + description + "The authentication method used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.14"; + } + + leaf cikeTunLifeTime { + type int32 { + range "1..2147483647"; + } + units "seconds"; + description + "The negotiated LifeTime of the IPsec Phase-1 IKE Tunnel + in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.15"; + } + + leaf cikeTunActiveTime { + type snmpv2-tc:TimeInterval; + description + "The length of time the IPsec Phase-1 IKE tunnel has been + active in hundredths of seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.16"; + } + + leaf cikeTunSaRefreshThreshold { + type int32 { + range "1..2147483647"; + } + units "seconds"; + description + "The security association refresh threshold in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.17"; + } + + leaf cikeTunTotalRefreshes { + type yang:counter32; + units "QM Exchanges"; + description + "The total number of security associations + refreshes performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.18"; + } + + leaf cikeTunInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.19"; + } + + leaf cikeTunInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.20"; + } + + leaf cikeTunInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + by this IPsec Phase-1 IKE Tunnel during + receive processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.21"; + } + + leaf cikeTunInNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys received by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.22"; + } + + leaf cikeTunInP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 + exchanges received by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.23"; + } + + leaf cikeTunInP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 + exchanges received and found to be invalid + by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.24"; + } + + leaf cikeTunInP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + received and rejected by this IPsec Phase-1 + Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.25"; + } + + leaf cikeTunInP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 + security association delete requests received + by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.26"; + } + + leaf cikeTunOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.27"; + } + + leaf cikeTunOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.28"; + } + + leaf cikeTunOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped by this + IPsec Phase-1 IKE Tunnel during send processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.29"; + } + + leaf cikeTunOutNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys sent by this + IPsec Phase-1 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.30"; + } + + leaf cikeTunOutP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.31"; + } + + leaf cikeTunOutP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent and + found to be invalid by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.32"; + } + + leaf cikeTunOutP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent and + rejected by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.33"; + } + + leaf cikeTunOutP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 security association + delete requests sent by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.34"; + } + + leaf cikeTunStatus { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TunnelStatus; + description + "The status of the MIB table row. + + This object can be used to bring the tunnel down + by setting value of this object to destroy(2). + + This object cannot be used to create + a MIB table row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.3.1.35"; + } + } + } + + container cikePeerCorrTable { + description + "The IPsec Phase-1 Internet Key Exchange Peer + Association to IPsec Phase-2 Tunnel + Correlation Table. There is one entry in + this table for each active IPsec Phase-2 + Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4"; + + list cikePeerCorrEntry { + key "cikePeerCorrLocalType cikePeerCorrLocalValue cikePeerCorrRemoteType cikePeerCorrRemoteValue cikePeerCorrIntIndex cikePeerCorrSeqNum"; + description + "Each entry contains the attributes of an + IPsec Phase-1 IKE Peer Association to IPsec + Phase-2 Tunnel Correlation."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1"; + + leaf cikePeerCorrLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of local peer identity. The local peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.1"; + } + + leaf cikePeerCorrLocalValue { + type snmpv2-tc:DisplayString; + description + "The value of the local peer identity. + + If the local peer type is an IP Address, then this + is the IP Address used to identify the local peer. + + If the local peer type is a host name, then this is + the host name used to identify the local peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.2"; + } + + leaf cikePeerCorrRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of remote peer identity. The remote peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.3"; + } + + leaf cikePeerCorrRemoteValue { + type snmpv2-tc:DisplayString; + description + "The value of the remote peer identity. + + If the remote peer type is an IP Address, then this + is the IP Address used to identify the remote peer. + + If the remote peer type is a host name, then this is + the host name used to identify the remote peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.4"; + } + + leaf cikePeerCorrIntIndex { + type int32 { + range "1..2147483647"; + } + description + "The internal index of the local-remote + peer association. This internal index is + used to uniquely identify multiple associations + between the local and remote peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.5"; + } + + leaf cikePeerCorrSeqNum { + type int32 { + range "1..2147483647"; + } + description + "The sequence number of the local-remote + peer association. This sequence number is + used to uniquely identify multiple instances + of an unique association between + the local and remote peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.6"; + } + + leaf cikePeerCorrIpSecTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the active IPsec Phase-2 Tunnel + (cipSecTunIndex in the cipSecTunnelTable) for this + IPsec Phase-1 IKE Peer Association."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.4.1.7"; + } + } + } + + container cikePhase1GWStatsTable { + description + "Phase-1 IKE stats information is included in this table. + Each entry is related to a specific gateway which is + identified by 'cmgwIndex'."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5"; + + list cikePhase1GWStatsEntry { + key "cmgwIndex"; + description + "Each entry contains the attributes of an Phase-1 IKE stats + information for the related gateway. + + There is only one entry for each gateway. The entry + is created when a gateway up and cannot be deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1"; + + leaf cmgwIndex { + type leafref { + path "/cisco-media:CISCO-MEDIA-GATEWAY-MIB/cisco-media:cMediaGwTable/cisco-media:cMediaGwEntry/cisco-media:cmgwIndex"; + } + } + + leaf cikePhase1GWActiveTunnels { + type yang:gauge32; + description + "The number of currently active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.1"; + } + + leaf cikePhase1GWPreviousTunnels { + type yang:counter32; + units "SAs"; + description + "The total number of previously active + IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.2"; + } + + leaf cikePhase1GWInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by all currently + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.3"; + } + + leaf cikePhase1GWInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received by all + currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.4"; + } + + leaf cikePhase1GWInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets which were + dropped during receive processing by all + currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.5"; + } + + leaf cikePhase1GWInNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys received by + all currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.6"; + } + + leaf cikePhase1GWInP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + received by all currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.7"; + } + + leaf cikePhase1GWInP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were received and found to be invalid + by all currently and previously active IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.8"; + } + + leaf cikePhase1GWInP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were received and rejected by all + currently and previously active IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.9"; + } + + leaf cikePhase1GWInP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 'Security + Association' delete requests received by all + currently and previously active and IPsec + Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.10"; + } + + leaf cikePhase1GWOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by all currently + and previously active and IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.11"; + } + + leaf cikePhase1GWOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by all currently + and previously active and IPsec Phase-1 + Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.12"; + } + + leaf cikePhase1GWOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets which were dropped + during send processing by all currently + and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.13"; + } + + leaf cikePhase1GWOutNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys sent by all currently + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.14"; + } + + leaf cikePhase1GWOutP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent by all currently and previously + active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.15"; + } + + leaf cikePhase1GWOutP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent and found to be invalid by + all currently and previously active IPsec Phase-1 + Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.16"; + } + + leaf cikePhase1GWOutP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges + which were sent and rejected by all currently and + previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.17"; + } + + leaf cikePhase1GWOutP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 SA + delete requests sent by all currently and + previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.18"; + } + + leaf cikePhase1GWInitTunnels { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE + Tunnels which were locally initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.19"; + } + + leaf cikePhase1GWInitTunnelFails { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE Tunnels + which were locally initiated and failed to activate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.20"; + } + + leaf cikePhase1GWRespTunnelFails { + type yang:counter32; + units "SAs"; + description + "The total number of IPsec Phase-1 IKE Tunnels + which were remotely initiated and failed to activate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.21"; + } + + leaf cikePhase1GWSysCapFails { + type yang:counter32; + units "Failures"; + description + "The total number of system capacity failures + which occurred during processing of all current + and previously active IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.22"; + } + + leaf cikePhase1GWAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of authentications which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.23"; + } + + leaf cikePhase1GWDecryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of decryptions which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.24"; + } + + leaf cikePhase1GWHashValidFails { + type yang:counter32; + units "Failures"; + description + "The total number of hash validations which ended + in failure by all current and previous IPsec Phase-1 + IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.25"; + } + + leaf cikePhase1GWNoSaFails { + type yang:counter32; + units "Failures"; + description + "The total number of non-existent 'Security Association' + failures occurred during processing of current and + previous IPsec Phase-1 IKE Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.5.1.26"; + } + } + } + + container cipSecTunnelTable { + description + "The IPsec Phase-2 Tunnel Table. + There is one entry in this table for + each active IPsec Phase-2 Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2"; + + list cipSecTunnelEntry { + key "cipSecTunIndex"; + description + "Each entry contains the attributes + associated with an active IPsec Phase-2 Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1"; + + leaf cipSecTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPsec Phase-2 Tunnel Table. + The value of the index is a number which begins + at one and is incremented with each tunnel that + is created. The value of this object will wrap + at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.1"; + } + + leaf cipSecTunIkeTunnelIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the associated IPsec Phase-1 + IKE Tunnel. + (cikeTunIndex in the cikeTunnelTable)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.2"; + } + + leaf cipSecTunIkeTunnelAlive { + type boolean; + description + "An indicator which specifies whether or not the + IPsec Phase-1 IKE Tunnel currently exists."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.3"; + } + + leaf cipSecTunLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local endpoint for the IPsec + Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.4"; + } + + leaf cipSecTunRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote endpoint for the IPsec + Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.5"; + } + + leaf cipSecTunKeyType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:KeyType; + description + "The type of key used by the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.6"; + } + + leaf cipSecTunEncapMode { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncapMode; + description + "The encapsulation mode used by the + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.7"; + } + + leaf cipSecTunLifeSize { + type int32 { + range "1..2147483647"; + } + units "KBytes"; + description + "The negotiated LifeSize of the + IPsec Phase-2 Tunnel in kilobytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.8"; + } + + leaf cipSecTunLifeTime { + type int32 { + range "1..2147483647"; + } + units "Seconds"; + description + "The negotiated LifeTime of the + IPsec Phase-2 Tunnel in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.9"; + } + + leaf cipSecTunActiveTime { + type snmpv2-tc:TimeInterval; + description + "The length of time the IPsec Phase-2 + Tunnel has been + active in hundredths of seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.10"; + } + + leaf cipSecTunSaLifeSizeThreshold { + type int32 { + range "1..2147483647"; + } + units "KBytes"; + description + "The security association LifeSize refresh + threshold in kilobytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.11"; + } + + leaf cipSecTunSaLifeTimeThreshold { + type int32 { + range "1..2147483647"; + } + units "Seconds"; + description + "The security association LifeTime refresh + threshold in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.12"; + } + + leaf cipSecTunTotalRefreshes { + type yang:counter32; + units "QM Exchanges"; + description + "The total number of security + association refreshes performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.13"; + } + + leaf cipSecTunExpiredSaInstances { + type yang:counter32; + units "SAs"; + description + "The total number of security associations + which have expired."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.14"; + } + + leaf cipSecTunCurrentSaInstances { + type yang:gauge32; + description + "The number of security associations + which are currently active or expiring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.15"; + } + + leaf cipSecTunInSaDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used + by the inbound security association of the + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.16"; + } + + leaf cipSecTunInSaEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used by the inbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.17"; + } + + leaf cipSecTunInSaAhAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + authentication header (AH) security association of + the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.18"; + } + + leaf cipSecTunInSaEspAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + encapsulation security protocol (ESP) security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.19"; + } + + leaf cipSecTunInSaDecompAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:CompAlgo; + description + "The decompression algorithm used by the inbound + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.20"; + } + + leaf cipSecTunOutSaDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used by the outbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.21"; + } + + leaf cipSecTunOutSaEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used by the outbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.22"; + } + + leaf cipSecTunOutSaAhAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the outbound + authentication header (AH) security association of + the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.23"; + } + + leaf cipSecTunOutSaEspAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + encapsulation security protocol (ESP) + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.24"; + } + + leaf cipSecTunOutSaCompAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:CompAlgo; + description + "The compression algorithm used by the inbound + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.25"; + } + + leaf cipSecTunInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by this IPsec + Phase-2 Tunnel. This value is accumulated + BEFORE determining whether or not the packet should be + decompressed. See also cipSecTunInOctWraps for the + number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.26"; + } + + leaf cipSecTunHcInOctets { + type yang:counter64; + units "Octets"; + description + "A high capacity count of the total number of octets + received by this IPsec Phase-2 Tunnel. This value is + accumulated BEFORE determining whether or not the packet + should be decompressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.27"; + } + + leaf cipSecTunInOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the octets received counter + (cipSecTunInOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.28"; + } + + leaf cipSecTunInDecompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of decompressed octets received + by this IPsec Phase-2 Tunnel. This value is + accumulated AFTER the packet is decompressed. + If compression is not being + used, this value will match the value of + cipSecTunInOctets. See also cipSecTunInDecompOctWraps + for the number of times + this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.29"; + } + + leaf cipSecTunHcInDecompOctets { + type yang:counter64; + description + "A high capacity count of the total number of decompressed + octets received by this IPsec Phase-2 Tunnel. This value + is accumulated AFTER the packet is decompressed. If + compression is not being used, this value will match the + value of cipSecTunHcInOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.30"; + } + + leaf cipSecTunInDecompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the decompressed + octets received counter + (cipSecTunInDecompOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.31"; + } + + leaf cipSecTunInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.32"; + } + + leaf cipSecTunInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + during receive processing by this IPsec Phase-2 + Tunnel. This count does NOT include + packets dropped due to Anti-Replay processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.33"; + } + + leaf cipSecTunInReplayDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + receive processing due to Anti-Replay processing + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.34"; + } + + leaf cipSecTunInAuths { + type yang:counter32; + units "Events"; + description + "The total number of inbound + authentication's performed by this + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.35"; + } + + leaf cipSecTunInAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound authentication's + which ended in + failure by this IPsec Phase-2 Tunnel ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.36"; + } + + leaf cipSecTunInDecrypts { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.37"; + } + + leaf cipSecTunInDecryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound decryption's + which ended in failure + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.38"; + } + + leaf cipSecTunOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by this IPsec + Phase-2 Tunnel. This value is accumulated + AFTER determining whether or not the packet should + be compressed. See also cipSecTunOutOctWraps for + the number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.39"; + } + + leaf cipSecTunHcOutOctets { + type yang:counter64; + description + "A high capacity count of the total number of octets + sent by this IPsec Phase-2 Tunnel. This value is + accumulated AFTER determining whether or not the + packet + should be compressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.40"; + } + + leaf cipSecTunOutOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the out octets counter + (cipSecTunOutOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.41"; + } + + leaf cipSecTunOutUncompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of uncompressed octets sent + by this IPsec Phase-2 Tunnel. This value + is accumulated BEFORE the packet is compressed. + If compression is not being used, this value + will match the value of cipSecTunOutOctets. + See also cipSecTunOutDecompOctWraps for the + number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.42"; + } + + leaf cipSecTunHcOutUncompOctets { + type yang:counter64; + description + "A high capacity count of the total number + of uncompressed octets sent by this IPsec + Phase-2 Tunnel. This value is accumulated BEFORE + the packet is compressed. If compression + is not being used, this value will match the value + of cipSecTunHcOutOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.43"; + } + + leaf cipSecTunOutUncompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the uncompressed octets sent + counter (cipSecTunOutUncompOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.44"; + } + + leaf cipSecTunOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by this + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.45"; + } + + leaf cipSecTunOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + send processing by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.46"; + } + + leaf cipSecTunOutAuths { + type yang:counter32; + units "Events"; + description + "The total number of outbound authentication's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.47"; + } + + leaf cipSecTunOutAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound + authentication's which ended in failure + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.48"; + } + + leaf cipSecTunOutEncrypts { + type yang:counter32; + units "Packets"; + description + "The total number of outbound encryption's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.49"; + } + + leaf cipSecTunOutEncryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound encryption's + which ended in failure by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.50"; + } + + leaf cipSecTunStatus { + type CISCO-IPSEC-FLOW-MONITOR-MIB:TunnelStatus; + description + "The status of the MIB table row. + + This object can be used to bring the tunnel down + by setting value of this object to destroy(2). + When the value is set to destroy(2), the SA + bundle is destroyed and this row is deleted + from this table. + + When this MIB value is queried, the value of + active(1) is always returned, if the instance + exists. + + This object cannot be used to create a MIB + table row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.2.1.51"; + } + } + } + + container cipSecEndPtTable { + description + "The IPsec Phase-2 Tunnel Endpoint Table. + This table contains an entry for each + active endpoint associated with an IPsec + Phase-2 Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3"; + + list cipSecEndPtEntry { + key "cipSecTunIndex cipSecEndPtIndex"; + description + "An IPsec Phase-2 Tunnel Endpoint entry."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1"; + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecEndPtIndex { + type int32 { + range "1..2147483647"; + } + description + "The number of the Endpoint associated with the + IPsec Phase-2 Tunnel Table. The value of this + index is a number which begins at one and + is incremented with each Endpoint associated + with an IPsec Phase-2 Tunnel. + The value of this object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.1"; + } + + leaf cipSecEndPtLocalName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the local Endpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.2"; + } + + leaf cipSecEndPtLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EndPtType; + description + "The type of identity for the local Endpoint. + Possible values are: + 1) a single IP address, or + 2) an IP address range, or + 3) an IP subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.3"; + } + + leaf cipSecEndPtLocalAddr1 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The local Endpoint's first IP address specification. + + If the local Endpoint type is single IP address, + then this is the value of the IP address. + + If the local Endpoint type is IP subnet, then this + is the value of the subnet. + + If the local Endpoint type is IP address range, + then this is the value of beginning IP address + of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.4"; + } + + leaf cipSecEndPtLocalAddr2 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The local Endpoint's second IP address specification. + + If the local Endpoint type is single IP address, + then this is the value of the IP address. + + If the local Endpoint type is IP subnet, then this + is the value of the subnet mask. + + If the local Endpoint type is IP address range, + then this is the value of ending IP address + of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.5"; + } + + leaf cipSecEndPtLocalProtocol { + type int32 { + range "0..255"; + } + description + "The protocol number of the local Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.6"; + } + + leaf cipSecEndPtLocalPort { + type int32 { + range "0..65535"; + } + description + "The port number of the local Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.7"; + } + + leaf cipSecEndPtRemoteName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the remote Endpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.8"; + } + + leaf cipSecEndPtRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EndPtType; + description + "The type of identity for the remote Endpoint. + Possible values are: + 1) a single IP address, or + 2) an IP address range, or + 3) an IP subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.9"; + } + + leaf cipSecEndPtRemoteAddr1 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The remote Endpoint's first IP address specification. + + If the remote Endpoint type is single IP address, + then this is the value of the IP address. + + If the remote Endpoint type is IP subnet, then this + is the value of the subnet. + + If the remote Endpoint type is IP address range, + then this is the value of beginning IP address + of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.10"; + } + + leaf cipSecEndPtRemoteAddr2 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The remote Endpoint's second IP address specification. + + If the remote Endpoint type is single IP address, + then this is the value of the IP address. + + If the remote Endpoint type is IP subnet, then this + is the value of the subnet mask. + + If the remote Endpoint type is IP address range, + then this is the value of ending IP address of + the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.11"; + } + + leaf cipSecEndPtRemoteProtocol { + type int32 { + range "0..255"; + } + description + "The protocol number of the remote Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.12"; + } + + leaf cipSecEndPtRemotePort { + type int32 { + range "0..65535"; + } + description + "The port number of the remote Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.3.1.13"; + } + } + } + + container cipSecSpiTable { + description + "The IPsec Phase-2 Security Protection Index Table. + This table contains an entry for each active + and expiring security + association."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4"; + + list cipSecSpiEntry { + key "cipSecTunIndex cipSecSpiIndex"; + description + "Each entry contains the attributes associated with + active and expiring IPsec Phase-2 + security associations."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1"; + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecSpiIndex { + type int32 { + range "1..2147483647"; + } + description + "The number of the SPI associated with the + Phase-2 Tunnel Table. The value of this + index is a number which begins at one and is + incremented with each SPI associated with an + IPsec Phase-2 Tunnel. The value of this + object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1.1"; + } + + leaf cipSecSpiDirection { + type enumeration { + enum "in" { + value "1"; + } + enum "out" { + value "2"; + } + } + description + "The direction of the SPI."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1.2"; + } + + leaf cipSecSpiValue { + type uint32 { + range "1..4294967295"; + } + description + "The value of the SPI."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1.3"; + } + + leaf cipSecSpiProtocol { + type enumeration { + enum "ah" { + value "1"; + } + enum "esp" { + value "2"; + } + enum "ipcomp" { + value "3"; + } + } + description + "The protocol of the SPI."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1.4"; + } + + leaf cipSecSpiStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "expiring" { + value "2"; + } + } + description + "The status of the SPI."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.4.1.5"; + } + } + } + + container cipSecPhase2GWStatsTable { + description + "Phase-2 IPsec stats information is included in this table. + Each entry is related to a specific gateway which is + identified by 'cmgwIndex'"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5"; + + list cipSecPhase2GWStatsEntry { + key "cmgwIndex"; + description + "Each entry contains the attributes of an Phase-2 IPsec stats + information for the related gateway. + + There is only one entry for each gateway. The entry + is created when a gateway up and cannot be deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1"; + + leaf cmgwIndex { + type leafref { + path "/cisco-media:CISCO-MEDIA-GATEWAY-MIB/cisco-media:cMediaGwTable/cisco-media:cMediaGwEntry/cisco-media:cmgwIndex"; + } + } + + leaf cipSecPhase2GWActiveTunnels { + type yang:gauge32; + description + "The total number of currently active + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.1"; + } + + leaf cipSecPhase2GWPreviousTunnels { + type yang:counter32; + units "Phase-2 Tunnels"; + description + "The total number of previously active + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.2"; + } + + leaf cipSecPhase2GWInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by all + current and previous IPsec Phase-2 Tunnels. + This value is accumulated BEFORE determining + whether or not the packet should be decompressed. + See also cipSecGlobalInOctWraps for the number + of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.3"; + } + + leaf cipSecPhase2GWInOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global octets received + counter (cipSecGlobalInOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.4"; + } + + leaf cipSecPhase2GWInDecompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of decompressed octets received + by all current and previous IPsec Phase-2 Tunnels. + This value is accumulated AFTER the packet is + decompressed. If compression is not being used, + this value will match the value of cipSecGlobalInOctets. + See also cipSecGlobalInDecompOctWraps + for the number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.5"; + } + + leaf cipSecPhase2GWInDecompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global decompressed + octets received counter (cipSecGlobalInDecompOctets) + has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.6"; + } + + leaf cipSecPhase2GWInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received + by all current and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.7"; + } + + leaf cipSecPhase2GWInDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + during receive processing by all current and previous + IPsec Phase-2 Tunnels. This count does NOT include + packets dropped due to Anti-Replay processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.8"; + } + + leaf cipSecPhase2GWInReplayDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + receive processing due to Anti-Replay + processing by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.9"; + } + + leaf cipSecPhase2GWInAuths { + type yang:counter32; + units "Events"; + description + "The total number of inbound authentication's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.10"; + } + + leaf cipSecPhase2GWInAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound authentication's + which ended in failure by all current and previous + IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.11"; + } + + leaf cipSecPhase2GWInDecrypts { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.12"; + } + + leaf cipSecPhase2GWInDecryptFails { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's + which ended in failure by all current and + previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.13"; + } + + leaf cipSecPhase2GWOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by all + current and previous IPsec Phase-2 Tunnels. + This value is accumulated AFTER determining + whether or not the packet should be compressed. + See also cipSecGlobalOutOctWraps for the + number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.14"; + } + + leaf cipSecPhase2GWOutOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global octets sent counter + (cipSecGlobalOutOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.15"; + } + + leaf cipSecPhase2GWOutUncompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of uncompressed octets sent + by all current and previous IPsec Phase-2 Tunnels. + This value is accumulated BEFORE the packet is + compressed. If compression is not being used, this + value will match the value of cipSecGlobalOutOctets. + See also cipSecGlobalOutDecompOctWraps for the number + of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.16"; + } + + leaf cipSecPhase2GWOutUncompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the global uncompressed + octets sent counter (cipSecGlobalOutUncompOctets) + has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.17"; + } + + leaf cipSecPhase2GWOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by all + current and previous IPsec Phase-2 + Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.18"; + } + + leaf cipSecPhase2GWOutDrops { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during send + processing by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.19"; + } + + leaf cipSecPhase2GWOutAuths { + type yang:counter32; + units "Events"; + description + "The total number of outbound authentication's + performed by all current and previous IPsec + Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.20"; + } + + leaf cipSecPhase2GWOutAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound authentication's + which ended in failure + by all current and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.21"; + } + + leaf cipSecPhase2GWOutEncrypts { + type yang:counter32; + units "Packets"; + description + "The total number of outbound encryption's performed + by all current and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.22"; + } + + leaf cipSecPhase2GWOutEncryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound encryption's + which ended in failure by all current and + previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.23"; + } + + leaf cipSecPhase2GWProtocolUseFails { + type yang:counter32; + units "Failures"; + description + "The total number of protocol use failures + which occurred during processing of all current + and previously active IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.24"; + } + + leaf cipSecPhase2GWNoSaFails { + type yang:counter32; + units "Failures"; + description + "The total number of non-existent + Security Association in failures which occurred + during processing of all current + and previous IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.25"; + } + + leaf cipSecPhase2GWSysCapFails { + type yang:counter32; + units "Failures"; + description + "The total number of system capacity failures + which occurred during processing of all current + and previously active IPsec Phase-2 Tunnels."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.5.1.26"; + } + } + } + + container cikeTunnelHistTable { + description + "The IPsec Phase-1 Internet Key Exchange Tunnel + History Table. This table is implemented as a + sliding window in which only the last n entries + are maintained. The maximum number of entries + is specified by the cipSecHistTableSize object."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1"; + + list cikeTunnelHistEntry { + key "cikeTunHistIndex"; + description + "Each entry contains the attributes + associated with a previously active IPsec + Phase-1 IKE Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1"; + + leaf cikeTunHistIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPsec Phase-1 IKE Tunnel History + Table. The value of the index is a number which + begins at one and is incremented with each + tunnel that ends. The value of this object + will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.1"; + } + + leaf cikeTunHistTermReason { + type enumeration { + enum "other" { + value "1"; + } + enum "normal" { + value "2"; + } + enum "operRequest" { + value "3"; + } + enum "peerDelRequest" { + value "4"; + } + enum "peerLost" { + value "5"; + } + enum "localFailure" { + value "6"; + } + enum "checkPointReg" { + value "7"; + } + } + description + "The reason the IPsec Phase-1 IKE Tunnel was terminated. + Possible reasons include: + 1 = other + 2 = normal termination + 3 = operator request + 4 = peer delete request was received + 5 = contact with peer was lost + 6 = local failure occurred. + 7 = operator initiated check point request"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.2"; + } + + leaf cikeTunHistActiveIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the previously active IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.3"; + } + + leaf cikeTunHistPeerLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of local peer identity. The local peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.4"; + } + + leaf cikeTunHistPeerLocalValue { + type snmpv2-tc:DisplayString; + description + "The value of the local peer identity. + + If the local peer type is an IP Address, then this + is the IP Address used to identify the local peer. + + If the local peer type is a host name, then this is + the host name used to identify the local peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.5"; + } + + leaf cikeTunHistPeerIntIndex { + type int32 { + range "1..2147483647"; + } + description + "The internal index of the local-remote peer + association. This internal index is used to + uniquely identify multiple associations between + the local and remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.6"; + } + + leaf cikeTunHistPeerRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of remote peer identity. The remote + peer may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.7"; + } + + leaf cikeTunHistPeerRemoteValue { + type snmpv2-tc:DisplayString; + description + "The value of the remote peer identity. + + If the remote peer type is an IP Address, then this + is the IP Address used to identify the remote peer. + + If the remote peer type is a host name, then this is + the host name used to identify the remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.8"; + } + + leaf cikeTunHistLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local endpoint for the IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.9"; + } + + leaf cikeTunHistLocalName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the local IP address for + the IPsec Phase-1 IKE Tunnel. If the DNS + name associated with the local tunnel endpoint + is not known, then the value of this + object will be a NULL string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.10"; + } + + leaf cikeTunHistRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote endpoint for the IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.11"; + } + + leaf cikeTunHistRemoteName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the remote IP address of IPsec Phase-1 + IKE Tunnel. If the DNS name associated with the remote + tunnel endpoint is not known, then the value of this + object will be a NULL string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.12"; + } + + leaf cikeTunHistNegoMode { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeNegoMode; + description + "The negotiation mode of the IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.13"; + } + + leaf cikeTunHistDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.14"; + } + + leaf cikeTunHistEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.15"; + } + + leaf cikeTunHistHashAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeHashAlgo; + description + "The hash algorithm used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.16"; + } + + leaf cikeTunHistAuthMethod { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkeAuthMethod; + description + "The authentication method used in IPsec Phase-1 IKE + negotiations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.17"; + } + + leaf cikeTunHistLifeTime { + type int32 { + range "1..2147483647"; + } + description + "The negotiated LifeTime of the IPsec Phase-1 IKE Tunnel + in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.18"; + } + + leaf cikeTunHistStartTime { + type yang:timestamp; + description + "The value of sysUpTime in hundredths of seconds + when the IPsec Phase-1 IKE tunnel was started."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.19"; + } + + leaf cikeTunHistActiveTime { + type snmpv2-tc:TimeInterval; + description + "The length of time the IPsec Phase-1 IKE tunnel was been + active in hundredths of seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.20"; + } + + leaf cikeTunHistTotalRefreshes { + type yang:counter32; + units "QM Exchanges"; + description + "The total number of security associations + refreshes performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.21"; + } + + leaf cikeTunHistTotalSas { + type yang:counter32; + units "SAs"; + description + "The total number of security associations + used during the + life of the IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.22"; + } + + leaf cikeTunHistInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets + received by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.23"; + } + + leaf cikeTunHistInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received + by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.24"; + } + + leaf cikeTunHistInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + by this IPsec Phase-1 + IKE Tunnel during receive processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.25"; + } + + leaf cikeTunHistInNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys received + by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.26"; + } + + leaf cikeTunHistInP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 + exchanges received by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.27"; + } + + leaf cikeTunHistInP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 + exchanges received and + found to be invalid by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.28"; + } + + leaf cikeTunHistInP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 + exchanges received and + rejected by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.29"; + } + + leaf cikeTunHistInP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 security association + delete requests received by this IPsec + Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.30"; + } + + leaf cikeTunHistOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.31"; + } + + leaf cikeTunHistOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.32"; + } + + leaf cikeTunHistOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + by this IPsec Phase-1 + IKE Tunnel during send processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.33"; + } + + leaf cikeTunHistOutNotifys { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of notifys sent by this IPsec Phase-1 + IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.34"; + } + + leaf cikeTunHistOutP2Exchgs { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent by + this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.35"; + } + + leaf cikeTunHistOutP2ExchgInvalids { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent and + found to be invalid by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.36"; + } + + leaf cikeTunHistOutP2ExchgRejects { + type yang:counter32; + units "SA Payloads"; + description + "The total number of IPsec Phase-2 exchanges sent and + rejected by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.37"; + } + + leaf cikeTunHistOutP2SaDelRequests { + type yang:counter32; + units "Notification Payloads"; + description + "The total number of IPsec Phase-2 security association + delete requests sent by this IPsec Phase-1 IKE Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2.1.1.38"; + } + } + } + + container cipSecTunnelHistTable { + description + "The IPsec Phase-2 Tunnel History Table. + This table is implemented as a sliding + window in which only the + last n entries are maintained. The maximum number + of entries + is specified by the cipSecHistTableSize object."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1"; + + list cipSecTunnelHistEntry { + key "cipSecTunHistIndex"; + description + "Each entry contains the attributes associated with + a previously active IPsec Phase-2 Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1"; + + leaf cipSecTunHistIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPsec Phase-2 Tunnel History Table. + The value of the index is a number which + begins at one and is incremented with each tunnel + that ends. The value + of this object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.1"; + } + + leaf cipSecTunHistTermReason { + type enumeration { + enum "other" { + value "1"; + } + enum "normal" { + value "2"; + } + enum "operRequest" { + value "3"; + } + enum "peerDelRequest" { + value "4"; + } + enum "peerLost" { + value "5"; + } + enum "seqNumRollOver" { + value "6"; + } + enum "checkPointReq" { + value "7"; + } + } + description + "The reason the IPsec Phase-2 Tunnel was terminated. + Possible reasons include: + 1 = other + 2 = normal termination + 3 = operator request + 4 = peer delete request was received + 5 = contact with peer was lost + 6 = local failure occurred + 7 = operator initiated check point request"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.2"; + } + + leaf cipSecTunHistActiveIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the previously active + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.3"; + } + + leaf cipSecTunHistIkeTunnelIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the associated IPsec Phase-1 Tunnel + (cikeTunIndex in the cikeTunnelTable)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.4"; + } + + leaf cipSecTunHistLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local endpoint for the IPsec + Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.5"; + } + + leaf cipSecTunHistRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote endpoint for the IPsec + Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.6"; + } + + leaf cipSecTunHistKeyType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:KeyType; + description + "The type of key used by the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.7"; + } + + leaf cipSecTunHistEncapMode { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncapMode; + description + "The encapsulation mode used by the + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.8"; + } + + leaf cipSecTunHistLifeSize { + type int32 { + range "1..2147483647"; + } + units "KBytes"; + description + "The negotiated LifeSize of the IPsec Phase-2 Tunnel in + kilobytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.9"; + } + + leaf cipSecTunHistLifeTime { + type int32 { + range "1..2147483647"; + } + units "Seconds"; + description + "The negotiated LifeTime of the IPsec Phase-2 Tunnel in + seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.10"; + } + + leaf cipSecTunHistStartTime { + type yang:timestamp; + description + "The value of sysUpTime in hundredths of seconds + when the IPsec Phase-2 Tunnel was started."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.11"; + } + + leaf cipSecTunHistActiveTime { + type snmpv2-tc:TimeInterval; + description + "The length of time the IPsec Phase-2 Tunnel has been + active in hundredths of seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.12"; + } + + leaf cipSecTunHistTotalRefreshes { + type yang:counter32; + units "QM Exchanges"; + description + "The total number of security association refreshes + performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.13"; + } + + leaf cipSecTunHistTotalSas { + type yang:counter32; + units "SAs"; + description + "The total number of security associations used + during the + life of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.14"; + } + + leaf cipSecTunHistInSaDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used by the inbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.15"; + } + + leaf cipSecTunHistInSaEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used by the inbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.16"; + } + + leaf cipSecTunHistInSaAhAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + authentication header (AH) security association of + the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.17"; + } + + leaf cipSecTunHistInSaEspAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + encapsulation security protocol (ESP) + security association of + the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.18"; + } + + leaf cipSecTunHistInSaDecompAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:CompAlgo; + description + "The decompression algorithm used by the inbound + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.19"; + } + + leaf cipSecTunHistOutSaDiffHellmanGrp { + type CISCO-IPSEC-FLOW-MONITOR-MIB:DiffHellmanGrp; + description + "The Diffie Hellman Group used by the outbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.20"; + } + + leaf cipSecTunHistOutSaEncryptAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EncryptAlgo; + description + "The encryption algorithm used by the outbound security + association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.21"; + } + + leaf cipSecTunHistOutSaAhAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the outbound + authentication header (AH) security association of + the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.22"; + } + + leaf cipSecTunHistOutSaEspAuthAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:AuthAlgo; + description + "The authentication algorithm used by the inbound + encapsulation security protocol (ESP) + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.23"; + } + + leaf cipSecTunHistOutSaCompAlgo { + type CISCO-IPSEC-FLOW-MONITOR-MIB:CompAlgo; + description + "The compression algorithm used by the inbound + security association of the IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.24"; + } + + leaf cipSecTunHistInOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets received by this IPsec + Phase-2 Tunnel. This value is accumulated + BEFORE determining whether or not the packet should + be decompressed. See also cipSecTunInOctWraps for + the number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.25"; + } + + leaf cipSecTunHistHcInOctets { + type yang:counter64; + description + "A high capacity count of the total number of octets + received by this IPsec Phase-2 Tunnel. This value is + accumulated BEFORE determining whether or not + the packet should be decompressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.26"; + } + + leaf cipSecTunHistInOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the octets received counter + (cipSecTunInOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.27"; + } + + leaf cipSecTunHistInDecompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of decompressed octets received by this + IPsec Phase-2 Tunnel. This value is accumulated AFTER + the packet is decompressed. If compression is not being + used, this value will match the value of cipSecTunHistInOctets. + See also cipSecTunInDecompOctWraps for the number of times + this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.28"; + } + + leaf cipSecTunHistHcInDecompOctets { + type yang:counter64; + description + "A high capacity count of the total number of decompressed + octets received by this IPsec Phase-2 Tunnel. This value + is accumulated AFTER the packet is decompressed. If + compression is not being used, this value will match the + value of cipSecTunHistHcInOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.29"; + } + + leaf cipSecTunHistInDecompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the decompressed octets + received counter (cipSecTunInDecompOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.30"; + } + + leaf cipSecTunHistInPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received by this + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.31"; + } + + leaf cipSecTunHistInDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + receive processing by this IPsec Phase-2 Tunnel. + This count does NOT include packets + dropped due to Anti-Replay processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.32"; + } + + leaf cipSecTunHistInReplayDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped during + receive processing due to Anti-Replay processing + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.33"; + } + + leaf cipSecTunHistInAuths { + type yang:counter32; + units "Events"; + description + "The total number of inbound authentication's + performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.34"; + } + + leaf cipSecTunHistInAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound authentication's + which ended in + failure by this IPsec Phase-2 Tunnel ."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.35"; + } + + leaf cipSecTunHistInDecrypts { + type yang:counter32; + units "Packets"; + description + "The total number of inbound decryption's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.36"; + } + + leaf cipSecTunHistInDecryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of inbound decryption's + which ended in failure + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.37"; + } + + leaf cipSecTunHistOutOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets sent by this IPsec + Phase-2 Tunnel. This value is accumulated + AFTER determining whether or not the + packet should be + compressed. See also cipSecTunOutOctWraps for the + number of times this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.38"; + } + + leaf cipSecTunHistHcOutOctets { + type yang:counter64; + description + "A high capacity count of the total number of octets + sent by this IPsec Phase-2 Tunnel. This value + is accumulated AFTER determining whether or not + the packet should be + compressed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.39"; + } + + leaf cipSecTunHistOutOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the octets sent counter + (cipSecTunOutOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.40"; + } + + leaf cipSecTunHistOutUncompOctets { + type yang:counter32; + units "Octets"; + description + "The total number of uncompressed octets sent by this + IPsec Phase-2 Tunnel. This value is accumulated BEFORE + the packet is compressed. If compression is not being + used, this value will match the value of + cipSecTunHistOutOctets. See also + cipSecTunOutDecompOctWraps for the number of times + this counter has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.41"; + } + + leaf cipSecTunHistHcOutUncompOctets { + type yang:counter64; + units "Octets"; + description + "A high capacity count of the total + number of uncompressed octets sent by this + IPsec Phase-2 Tunnel. This value is accumulated + BEFORE the packet is compressed. If compression + is not being used, this value will match the value of + cipSecTunHistHcOutOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.42"; + } + + leaf cipSecTunHistOutUncompOctWraps { + type yang:counter32; + units "Integral units"; + description + "The number of times the uncompressed octets sent counter + (cipSecTunOutUncompOctets) has wrapped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.43"; + } + + leaf cipSecTunHistOutPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets sent by this + IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.44"; + } + + leaf cipSecTunHistOutDropPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets dropped + during send processing + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.45"; + } + + leaf cipSecTunHistOutAuths { + type yang:counter32; + units "Events"; + description + "The total number of outbound authentication's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.46"; + } + + leaf cipSecTunHistOutAuthFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound authentication's + which ended in + failure by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.47"; + } + + leaf cipSecTunHistOutEncrypts { + type yang:counter32; + units "Packets"; + description + "The total number of outbound encryption's performed + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.48"; + } + + leaf cipSecTunHistOutEncryptFails { + type yang:counter32; + units "Failures"; + description + "The total number of outbound encryption's + which ended in failure + by this IPsec Phase-2 Tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.1.1.49"; + } + } + } + + container cipSecEndPtHistTable { + description + "The IPsec Phase-2 Tunnel Endpoint History Table. + This table is implemented as a + sliding window in which only the + last n entries are maintained. + The maximum number of entries + is specified by the cipSecHistTableSize object."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2"; + + list cipSecEndPtHistEntry { + key "cipSecEndPtHistIndex"; + description + "Each entry contains the attributes associated with + a previously active IPsec Phase-2 Tunnel Endpoint."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1"; + + leaf cipSecEndPtHistIndex { + type int32 { + range "1..2147483647"; + } + description + "The number of the previously active + Endpoint associated + with a IPsec Phase-2 Tunnel Table. The value + of this index is a number which begins at + one and is incremented with each Endpoint + associated with an IPsec Phase-2 Tunnel. + The value of this object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.1"; + } + + leaf cipSecEndPtHistTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the previously active IPsec + Phase-2 Tunnel Table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.2"; + } + + leaf cipSecEndPtHistActiveIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the previously active Endpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.3"; + } + + leaf cipSecEndPtHistLocalName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the local Endpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.4"; + } + + leaf cipSecEndPtHistLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EndPtType; + description + "The type of identity for the local Endpoint. + Possible values are: + 1) a single IP address, or + 2) an IP address range, or + 3) an IP subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.5"; + } + + leaf cipSecEndPtHistLocalAddr1 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The local Endpoint's first IP address specification. + + If the local Endpoint type is single IP address, + then this is the value of the IP address. + + If the local Endpoint type is IP subnet, then this + is the value of the subnet. + + If the local Endpoint type is IP address range, + then this is the value of beginning IP address of + the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.6"; + } + + leaf cipSecEndPtHistLocalAddr2 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The local Endpoint's second IP address specification. + + If the local Endpoint type is single IP address, + then this is the value of the IP address. + + If the local Endpoint type is IP subnet, then this + is the value of the subnet mask. + + If the local Endpoint type is IP address range, + then this + is the value of ending IP address of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.7"; + } + + leaf cipSecEndPtHistLocalProtocol { + type int32 { + range "0..255"; + } + description + "The protocol number of the local Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.8"; + } + + leaf cipSecEndPtHistLocalPort { + type int32 { + range "0..65535"; + } + description + "The port number of the local Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.9"; + } + + leaf cipSecEndPtHistRemoteName { + type snmpv2-tc:DisplayString; + description + "The DNS name of the remote Endpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.10"; + } + + leaf cipSecEndPtHistRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:EndPtType; + description + "The type of identity for the remote Endpoint. + Possible values are: + 1) a single IP address, or + 2) an IP address range, or + 3) an IP subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.11"; + } + + leaf cipSecEndPtHistRemoteAddr1 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The remote Endpoint's first IP address specification. + + If the remote Endpoint type is single IP address, + then this + is the value of the IP address. + + If the remote Endpoint type is IP subnet, then this + is the value of the subnet. + + If the remote Endpoint type is IP address range, + then this + is the value of beginning IP address of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.12"; + } + + leaf cipSecEndPtHistRemoteAddr2 { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The remote Endpoint's second IP address specification. + + If the remote Endpoint type is single IP address, + then this + is the value of the IP address. + + If the remote Endpoint type is IP subnet, then this + is the value of the subnet mask. + + If the remote Endpoint type is IP address range, + then this + is the value of ending IP address of the range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.13"; + } + + leaf cipSecEndPtHistRemoteProtocol { + type int32 { + range "0..255"; + } + description + "The protocol number of the remote Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.14"; + } + + leaf cipSecEndPtHistRemotePort { + type int32 { + range "0..65535"; + } + description + "The port number of the remote Endpoint's traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3.2.1.15"; + } + } + } + + container cikeFailTable { + description + "The IPsec Phase-1 Failure Table. + This table is implemented as a sliding + window in which only the last n entries are + maintained. The maximum number of entries + is specified by the cipSecFailTableSize object."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1"; + + list cikeFailEntry { + key "cikeFailIndex"; + description + "Each entry contains the attributes associated + with + an IPsec Phase-1 failure."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1"; + + leaf cikeFailIndex { + type int32 { + range "1..2147483647"; + } + description + "The IPsec Phase-1 Failure Table index. + The value of the index is a number which + begins at one and is incremented with each + IPsec Phase-1 failure. The value + of this object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.1"; + } + + leaf cikeFailReason { + type enumeration { + enum "other" { + value "1"; + } + enum "peerDelRequest" { + value "2"; + } + enum "peerLost" { + value "3"; + } + enum "localFailure" { + value "4"; + } + enum "authFailure" { + value "5"; + } + enum "hashValidation" { + value "6"; + } + enum "encryptFailure" { + value "7"; + } + enum "internalError" { + value "8"; + } + enum "sysCapExceeded" { + value "9"; + } + enum "proposalFailure" { + value "10"; + } + enum "peerCertUnavailable" { + value "11"; + } + enum "peerCertNotValid" { + value "12"; + } + enum "localCertExpired" { + value "13"; + } + enum "crlFailure" { + value "14"; + } + enum "peerEncodingError" { + value "15"; + } + enum "nonExistentSa" { + value "16"; + } + enum "operRequest" { + value "17"; + } + } + description + "The reason for the failure. Possible reasons include: + 1 = other + 2 = peer delete request was received + 3 = contact with peer was lost + 4 = local failure occurred + 5 = authentication failure + 6 = hash validation failure + 7 = encryption failure + 8 = internal error occurred + 9 = system capacity failure + 10 = proposal failure + 11 = peer's certificate is unavailable + 12 = peer's certificate was found invalid + 13 = local certificate expired + 14 = certificate revoke list (crl) failure + 15 = peer encoding error + 16 = non-existent security association + 17 = operator requested termination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.2"; + } + + leaf cikeFailTime { + type yang:timestamp; + description + "The value of sysUpTime in hundredths of seconds + at the time of the failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.3"; + } + + leaf cikeFailLocalType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of local peer identity. The local peer + may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.4"; + } + + leaf cikeFailLocalValue { + type snmpv2-tc:DisplayString; + description + "The value of the local peer identity. + + If the local peer type is an IP Address, then this + is the IP Address used to identify the local peer. + + If the local peer type is a host name, then this is + the host name used to identify the local peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.5"; + } + + leaf cikeFailRemoteType { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IkePeerType; + description + "The type of remote peer identity. The remote + peer may be identified by: + 1. an IP address, or + 2. a host name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.6"; + } + + leaf cikeFailRemoteValue { + type snmpv2-tc:DisplayString; + description + "The value of the remote peer identity. + + If the remote peer type is an IP Address, then this + is the IP Address used to identify the remote peer. + + If the remote peer type is a host name, then this is + the host name used to identify the remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.7"; + } + + leaf cikeFailLocalAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the local peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.8"; + } + + leaf cikeFailRemoteAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The IP address of the remote peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2.1.1.9"; + } + } + } + + container cipSecFailTable { + description + "The IPsec Phase-2 Failure Table. + This table is implemented as a sliding window + in which only the last n entries are maintained. + The maximum number of entries + is specified by the cipSecFailTableSize object."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1"; + + list cipSecFailEntry { + key "cipSecFailIndex"; + description + "Each entry contains the attributes associated with + an IPsec Phase-1 failure."; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1"; + + leaf cipSecFailIndex { + type int32 { + range "1..2147483647"; + } + description + "The IPsec Phase-2 Failure Table index. + The value of the index is a number which + begins at one and is incremented with each + IPsec Phase-1 failure. The value + of this object will wrap at 2,147,483,647."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.1"; + } + + leaf cipSecFailReason { + type enumeration { + enum "other" { + value "1"; + } + enum "internalError" { + value "2"; + } + enum "peerEncodingError" { + value "3"; + } + enum "proposalFailure" { + value "4"; + } + enum "protocolUseFail" { + value "5"; + } + enum "nonExistentSa" { + value "6"; + } + enum "decryptFailure" { + value "7"; + } + enum "encryptFailure" { + value "8"; + } + enum "inAuthFailure" { + value "9"; + } + enum "outAuthFailure" { + value "10"; + } + enum "compression" { + value "11"; + } + enum "sysCapExceeded" { + value "12"; + } + enum "peerDelRequest" { + value "13"; + } + enum "peerLost" { + value "14"; + } + enum "seqNumRollOver" { + value "15"; + } + enum "operRequest" { + value "16"; + } + } + description + "The reason for the failure. Possible reasons + include: + 1 = other + 2 = internal error occurred + 3 = peer encoding error + 4 = proposal failure + 5 = protocol use failure + 6 = non-existent security association + 7 = decryption failure + 8 = encryption failure + 9 = inbound authentication failure + 10 = outbound authentication failure + 11 = compression failure + 12 = system capacity failure + 13 = peer delete request was received + 14 = contact with peer was lost + 15 = sequence number rolled over + 16 = operator requested termination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.2"; + } + + leaf cipSecFailTime { + type yang:timestamp; + description + "The value of sysUpTime in hundredths of seconds + at the time of the failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.3"; + } + + leaf cipSecFailTunnelIndex { + type int32 { + range "1..2147483647"; + } + description + "The Phase-2 Tunnel index (cipSecTunIndex)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.4"; + } + + leaf cipSecFailSaSpi { + type int32 { + range "0..2147483647"; + } + description + "The security association SPI value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.5"; + } + + leaf cipSecFailPktSrcAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The packet's source IP address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.6"; + } + + leaf cipSecFailPktDstAddr { + type CISCO-IPSEC-FLOW-MONITOR-MIB:IPSIpAddress; + description + "The packet's destination IP address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3.1.1.7"; + } + } + } + } + + notification cikeTunnelStart { + description + "This notification is generated when an IPsec Phase-1 + IKE Tunnel becomes active."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.1"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + + container object-3 { + + leaf cikeTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunIndex"; + } + } + + leaf cikeTunLifeTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunLifeTime"; + } + } + } + } + + notification cikeTunnelStop { + description + "This notification is generated when an IPsec Phase-1 + IKE Tunnel becomes inactive."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.2"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + + container object-3 { + + leaf cikeTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunIndex"; + } + } + + leaf cikeTunActiveTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikeTunActiveTime"; + } + } + } + } + + notification cikeSysFailure { + description + "This notification is generated when the processing for + an IPsec Phase-1 IKE Tunnel experiences an internal + or system capacity error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.3"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + } + + notification cikeCertCrlFailure { + description + "This notification is generated when the processing for + an IPsec Phase-1 IKE Tunnel experiences a Certificate + or a Certificate Revoke List (CRL) related error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.4"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + } + + notification cikeProtocolFailure { + description + "This notification is generated when the processing for + an IPsec Phase-1 IKE Tunnel experiences a protocol + related error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.5"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + } + + notification cikeNoSa { + description + "This notification is generated when the processing for + an IPsec Phase-1 IKE Tunnel experiences a non-existent + security association error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.6"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + } + + notification cipSecTunnelStart { + description + "This notification is generated when an IPsec Phase-2 + Tunnel becomes active."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.7"; + + container object-1 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunLifeTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunLifeTime"; + } + } + } + + container object-2 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunLifeSize { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunLifeSize"; + } + } + } + } + + notification cipSecTunnelStop { + description + "This notification is generated when an IPsec Phase-2 + Tunnel becomes inactive."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.8"; + + container object-1 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunActiveTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunActiveTime"; + } + } + } + } + + notification cipSecSysFailure { + description + "This notification is generated when the processing for + an IPsec Phase-2 Tunnel experiences an internal + or system capacity error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.9"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + + container object-3 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunActiveTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunActiveTime"; + } + } + } + + container object-4 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecSpiIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiIndex"; + } + } + + leaf cipSecSpiProtocol { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiProtocol"; + } + } + } + } + + notification cipSecSetUpFailure { + description + "This notification is generated when the setup for + an IPsec Phase-2 Tunnel fails."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.10"; + + container object-1 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerLocalAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalAddr"; + } + } + } + + container object-2 { + + leaf cikePeerLocalType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalType"; + } + } + + leaf cikePeerLocalValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerLocalValue"; + } + } + + leaf cikePeerRemoteType { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteType"; + } + } + + leaf cikePeerRemoteValue { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteValue"; + } + } + + leaf cikePeerIntIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerIntIndex"; + } + } + + leaf cikePeerRemoteAddr { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cikePeerRemoteAddr"; + } + } + } + } + + notification cipSecEarlyTunTerm { + description + "This notification is generated when an an IPsec Phase-2 + Tunnel is terminated earily or before expected."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.11"; + + container object-1 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunActiveTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunActiveTime"; + } + } + } + + container object-2 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecSpiIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiIndex"; + } + } + + leaf cipSecSpiProtocol { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiProtocol"; + } + } + } + } + + notification cipSecProtocolFailure { + description + "This notification is generated when the processing for + an IPsec Phase-2 Tunnel experiences a protocol + related error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.12"; + + container object-1 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecTunActiveTime { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunActiveTime"; + } + } + } + + container object-2 { + + leaf cipSecTunIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunnelEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecTunIndex"; + } + } + + leaf cipSecSpiIndex { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiIndex"; + } + } + + leaf cipSecSpiProtocol { + type leafref { + path "/CISCO-IPSEC-FLOW-MONITOR-MIB:CISCO-IPSEC-FLOW-MONITOR-MIB/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiTable/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiEntry/CISCO-IPSEC-FLOW-MONITOR-MIB:cipSecSpiProtocol"; + } + } + } + } + + notification cipSecNoSa { + description + "This notification is generated when the processing for + an IPsec Phase-2 Tunnel experiences a non-existent + security association error."; + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0.13"; + } + + smiv2:alias "ciscoIpSecFlowMonitorMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.171"; + } + + smiv2:alias "cipSecMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1"; + } + + smiv2:alias "cipSecLevels" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.1"; + } + + smiv2:alias "cipSecPhaseOne" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2"; + } + + smiv2:alias "cikeGlobalStats" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.2.1"; + } + + smiv2:alias "cipSecPhaseTwo" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3"; + } + + smiv2:alias "cipSecGlobalStats" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.3.1"; + } + + smiv2:alias "cipSecHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4"; + } + + smiv2:alias "cipSecHistGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.1"; + } + + smiv2:alias "cipSecHistGlobalCntl" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.1.1"; + } + + smiv2:alias "cipSecHistPhaseOne" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.2"; + } + + smiv2:alias "cipSecHistPhaseTwo" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.4.3"; + } + + smiv2:alias "cipSecFailures" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5"; + } + + smiv2:alias "cipSecFailGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.1"; + } + + smiv2:alias "cipSecFailGlobalCntl" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.1.1"; + } + + smiv2:alias "cipSecFailPhaseOne" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.2"; + } + + smiv2:alias "cipSecFailPhaseTwo" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.5.3"; + } + + smiv2:alias "cipSecTrapCntl" { + smiv2:oid "1.3.6.1.4.1.9.9.171.1.6"; + } + + smiv2:alias "cipSecMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.171.2"; + } + + smiv2:alias "cipSecMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.171.2.0"; + } + + smiv2:alias "cipSecMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.171.3"; + } + + smiv2:alias "cipSecMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.171.3.1"; + } + + smiv2:alias "cipSecMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.171.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-MIB.yang new file mode 100644 index 000000000..be5d76a38 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-MIB.yang @@ -0,0 +1,1234 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-IPSEC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSEC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSEC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB"; + prefix CISCO-IPSEC-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Enterprise Business Management Unit + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-ipsecurity@cisco.com"; + + description + "The MIB module for modeling Cisco-specific + IPsec attributes + + Overview of Cisco IPsec MIB + + MIB description + + This MIB models the Cisco implementation-specific + attributes of a Cisco entity that implements IPsec. + This MIB is complementary to the standard IPsec MIB + proposed jointly by Tivoli and Cisco. + + The ciscoIPsec MIB provides the operational information + on Cisco's IPsec tunnelling implementation. + The following entities are managed: + 1) ISAKMP Group: + a) ISAKMP global parameters + b) ISAKMP Policy Table + + 2) IPSec Group: + a) IPSec Global Parameters + b) IPSec Global Traffic Parameters + c) Cryptomap Group + - Cryptomap Set Table + - Cryptomap Table + - CryptomapSet Binding Table + + 3) System Capacity & Capability Group: + a) Capacity Parameters + b) Capability Parameters + + 4) Trap Control Group + 5) Notifications Group"; + + revision 2000-08-07 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef CIPsecLifetime { + type yang:gauge32 { + range "120..86400"; + } + description + "Value in units of seconds"; + } + + typedef CIPsecLifesize { + type yang:gauge32 { + range "2560..536870912"; + } + description + "Value in units of kilobytes"; + } + + typedef CIPsecNumCryptoMaps { + type yang:gauge32 { + range "0..2147483647"; + } + description + "Integral units representing count of cryptomaps"; + } + + typedef CryptomapType { + type enumeration { + enum "cryptomapTypeNONE" { + value "0"; + } + enum "cryptomapTypeMANUAL" { + value "1"; + } + enum "cryptomapTypeISAKMP" { + value "2"; + } + enum "cryptomapTypeCET" { + value "3"; + } + enum "cryptomapTypeDYNAMIC" { + value "4"; + } + enum "cryptomapTypeDYNAMICDISCOVERY" { + value "5"; + } + } + description + "The type of a cryptomap entry. Cryptomap + is a unit of IOS IPSec policy specification."; + } + + typedef CryptomapSetBindStatus { + type enumeration { + enum "unknown" { + value "0"; + } + enum "attached" { + value "1"; + } + enum "detached" { + value "2"; + } + } + description + "The status of the binding of a cryptomap set + to the specified interface. The value qhen queried + is always 'attached'. When set to 'detached', the + cryptomap set if detached from the specified interface. + Setting the value to 'attached' will result in + SNMP General Error."; + } + + typedef IPSIpAddress { + type binary { + length "4|16"; + } + description + "An IP V4 or V6 Address."; + } + + typedef IkeHashAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "md5" { + value "2"; + } + enum "sha" { + value "3"; + } + } + description + "The hash algorithm used in IPsec Phase-1 + IKE negotiations."; + } + + typedef IkeAuthMethod { + type enumeration { + enum "none" { + value "1"; + } + enum "preSharedKey" { + value "2"; + } + enum "rsaSig" { + value "3"; + } + enum "rsaEncrypt" { + value "4"; + } + enum "revPublicKey" { + value "5"; + } + } + description + "The authentication method used in IPsec Phase-1 IKE + negotiations."; + } + + typedef IkeIdentityType { + type enumeration { + enum "isakmpIdTypeUNKNOWN" { + value "0"; + } + enum "isakmpIdTypeADDRESS" { + value "1"; + } + enum "isakmpIdTypeHOSTNAME" { + value "2"; + } + } + description + "The type of identity used by the local entity to + identity itself to the peer with which it performs + IPSec Main Mode negotiations. This type decides the + content of the Identification payload in the + Main Mode of IPSec tunnel setup."; + } + + typedef DiffHellmanGrp { + type enumeration { + enum "none" { + value "1"; + } + enum "dhGroup1" { + value "2"; + } + enum "dhGroup2" { + value "3"; + } + } + description + "The Diffie Hellman Group used in negotiations."; + } + + typedef EncryptAlgo { + type enumeration { + enum "none" { + value "1"; + } + enum "des" { + value "2"; + } + enum "des3" { + value "3"; + } + } + description + "The encryption algorithm used in negotiations."; + } + + typedef TrapStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "The administrative status for sending a TRAP."; + } + + + container CISCO-IPSEC-MIB { + config false; + + container cipsIsakmpGroup { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1"; + + leaf cipsIsakmpEnabled { + type boolean; + description + "The value of this object is TRUE if ISAKMP + has been enabled on the managed entity. Otherise + the value of this object is FALSE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.1"; + } + + leaf cipsIsakmpIdentity { + type CISCO-IPSEC-MIB:IkeIdentityType; + description + "The value of this object is shows the type of + identity used by the managed entity in ISAKMP + negotiations with another peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.2"; + } + + leaf cipsIsakmpKeepaliveInterval { + type int32 { + range "10..3600"; + } + units "seconds"; + description + "The value of this object is time interval in + seconds between successive ISAKMP keepalive + heartbeats issued to the peers to which IKE + tunnels have been setup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.3"; + } + + leaf cipsNumIsakmpPolicies { + type int32 { + range "0..2147483647"; + } + description + "The value of this object is the number of + ISAKMP policies that have been configured on the + managed entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.4"; + } + } + + container cipsIPsecGlobals { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1"; + + leaf cipsSALifetime { + type CISCO-IPSEC-MIB:CIPsecLifetime; + units "Seconds"; + description + "The default lifetime (in seconds) assigned + to an SA as a global policy (maybe overridden + in specific cryptomap definitions)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.1"; + } + + leaf cipsSALifesize { + type CISCO-IPSEC-MIB:CIPsecLifesize; + units "KBytes"; + description + "The default lifesize in KBytes assigned to an SA + as a global policy (unless overridden in cryptomap + definition)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.2"; + } + + leaf cipsNumStaticCryptomapSets { + type CISCO-IPSEC-MIB:CIPsecNumCryptoMaps; + units "Integral Units"; + description + "The number of Cryptomap Sets that are are fully + configured. Statically defined cryptomap sets + are ones where the operator has fully specified + all the parameters required set up IPSec + Virtual Private Networks (VPNs)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.3"; + } + + leaf cipsNumCETCryptomapSets { + type CISCO-IPSEC-MIB:CIPsecNumCryptoMaps; + units "Integral Units"; + description + "The number of static Cryptomap Sets that have + at least one CET cryptomap element + as a member of the set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.4"; + } + + leaf cipsNumDynamicCryptomapSets { + type CISCO-IPSEC-MIB:CIPsecNumCryptoMaps; + units "Integral Units"; + description + "The number of dynamic IPSec Policy templates + (called 'dynamic cryptomap templates') configured + on the managed entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.5"; + } + + leaf cipsNumTEDCryptomapSets { + type CISCO-IPSEC-MIB:CIPsecNumCryptoMaps; + units "Integral Units"; + description + "The number of static Cryptomap Sets that have + at least one dynamic cryptomap template + bound to them which has the Tunnel Endpoint Discovery + (TED) enabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1.6"; + } + } + + container cipsIPsecStatistics { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.2"; + + leaf cipsNumTEDProbesReceived { + type yang:counter32; + units "Integral Units"; + description + "The number of TED probes that were received by this + managed entity since bootup. Not affected by any + CLI operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.2.1"; + } + + leaf cipsNumTEDProbesSent { + type yang:counter32; + units "Integral Units"; + description + "The number of TED probes that were dispatched by all + the dynamic cryptomaps in this managed entity since + bootup. Not affected by any CLI operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.2.2"; + } + + leaf cipsNumTEDFailures { + type yang:counter32; + units "Integral Units"; + description + "The number of TED probes that were dispatched by + the local entity and that failed to locate crypto + endpoint. Not affected by any CLI operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.2.3"; + } + } + + container cipsSysCapacityGroup { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.3"; + + leaf cipsMaxSAs { + type int32 { + range "0..65535"; + } + units "Integral Units"; + description + "The maximum number of IPsec Security Associations + that can be established on this managed entity. + If no theoretical limit exists, this + returns value 0. + + Not affected by any CLI operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.3.1"; + } + + leaf cips3DesCapable { + type boolean; + description + "The value of this object is TRUE if the + managed entity has the hardware nad software + features to support 3DES encryption algorithm. + + Not affected by any CLI operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.3.2"; + } + } + + container cipsTrapCntlGroup { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4"; + + leaf cipsCntlIsakmpPolicyAdded { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec ISAKMP Policy Add trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.1"; + } + + leaf cipsCntlIsakmpPolicyDeleted { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec ISAKMP Policy Delete trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.2"; + } + + leaf cipsCntlCryptomapAdded { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec Cryptomap Add trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.3"; + } + + leaf cipsCntlCryptomapDeleted { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec Cryptomap Delete trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.4"; + } + + leaf cipsCntlCryptomapSetAttached { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec trap that is issued + when a cryptomap set is attached to an interface."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.5"; + } + + leaf cipsCntlCryptomapSetDetached { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec trap that is issued + when a cryptomap set is detached from an interface. + to which it was earlier bound."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.6"; + } + + leaf cipsCntlTooManySAs { + type CISCO-IPSEC-MIB:TrapStatus; + description + "This object defines the administrative state of + sending the IOS IPsec trap that is issued + when the number of SAs crosses the maximum + number of SAs that may be supported on + the managed entity."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4.7"; + } + } + + container cipsIsakmpPolicyTable { + description + "The table containing the list of all + ISAKMP policy entries configured by the operator."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5"; + + list cipsIsakmpPolicyEntry { + key "cipsIsakmpPolPriority"; + description + "Each entry contains the attributes + associated with a single ISAKMP + Policy entry."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1"; + + leaf cipsIsakmpPolPriority { + type int32 { + range "0..65535"; + } + description + "The priotity of this ISAKMP Policy entry. + This is also the index of this table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.1"; + } + + leaf cipsIsakmpPolEncr { + type CISCO-IPSEC-MIB:EncryptAlgo; + description + "The encryption transform specified by this + ISAKMP policy specification. The Internet Key Exchange + (IKE) tunnels setup using this policy item would + use the specified encryption transform to protect the + ISAKMP PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.2"; + } + + leaf cipsIsakmpPolHash { + type CISCO-IPSEC-MIB:IkeHashAlgo; + description + "The hash transform specified by this + ISAKMP policy specification. The IKE tunnels + setup using this policy item would use the + specified hash transform to protect the + ISAKMP PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.3"; + } + + leaf cipsIsakmpPolAuth { + type CISCO-IPSEC-MIB:IkeAuthMethod; + description + "The peer authentication mthod specified by + this ISAKMP policy specification. If this policy + entity is selected for negotiation with a peer, + the local entity would authenticate the peer using + the method specified by this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.4"; + } + + leaf cipsIsakmpPolGroup { + type CISCO-IPSEC-MIB:DiffHellmanGrp; + description + "This object specifies the Oakley group used + for Diffie Hellman exchange in the Main Mode. + If this policy item is selected to negotiate + Main Mode with an IKE peer, the local entity + chooses the group specified by this object to + perform Diffie Hellman exchange with the + peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.5"; + } + + leaf cipsIsakmpPolLifetime { + type int32 { + range "60..86400"; + } + units "seconds"; + description + "This object specifies the lifetime in seconds + of the IKE tunnels generated using this + policy specification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1.5.1.6"; + } + } + } + + container cipsStaticCryptomapSetTable { + description + "The table containing the list of all + cryptomap sets that are fully specified + and are not wild-carded. + + The operator may include different types of + cryptomaps in such a set - manual, CET, + ISAKMP or dynamic."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1"; + + list cipsStaticCryptomapSetEntry { + key "cipsStaticCryptomapSetName"; + description + "Each entry contains the attributes + associated with a single static + cryptomap set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1"; + + leaf cipsStaticCryptomapSetName { + type snmpv2-tc:DisplayString; + description + "The index of the static cryptomap table. The value + of the string is the name string assigned by the + operator in defining the cryptomap set."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.1"; + } + + leaf cipsStaticCryptomapSetSize { + type yang:gauge32; + description + "The total number of cryptomap entries contained in + this cryptomap set. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.2"; + } + + leaf cipsStaticCryptomapSetNumIsakmp { + type yang:gauge32; + description + "The number of cryptomaps associated with this + cryptomap set that use ISAKMP protocol to do key + exchange."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.3"; + } + + leaf cipsStaticCryptomapSetNumManual { + type yang:gauge32; + description + "The number of cryptomaps associated with this + cryptomap set that require the operator to manually + setup the keys and SPIs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.4"; + } + + leaf cipsStaticCryptomapSetNumCET { + type yang:gauge32; + description + "The number of cryptomaps of type 'ipsec-cisco' + associated with this cryptomap set. Such + cryptomap elements implement Cisco Encryption Technology + based Virtual Private Networks."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.5"; + } + + leaf cipsStaticCryptomapSetNumDynamic { + type yang:gauge32; + description + "The number of dynamic cryptomap templates + linked to this cryptomap set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.6"; + } + + leaf cipsStaticCryptomapSetNumDisc { + type yang:gauge32; + description + "The number of dynamic cryptomap templates + linked to this cryptomap set that have Tunnel Endpoint + Discovery (TED) enabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.7"; + } + + leaf cipsStaticCryptomapSetNumSAs { + type yang:gauge32; + description + "The number of and IPsec Security Associations + that are active and were setup using this cryptomap. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.1.1.8"; + } + } + } + + container cipsDynamicCryptomapSetTable { + description + "The table containing the list of all dynamic + cryptomaps that use IKE, defined on + the managed entity."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.2"; + + list cipsDynamicCryptomapSetEntry { + key "cipsDynamicCryptomapSetName"; + description + "Each entry contains the attributes associated + with a single dynamic cryptomap template."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.2.1"; + + leaf cipsDynamicCryptomapSetName { + type snmpv2-tc:DisplayString; + description + "The index of the dynamic cryptomap table. + The value of the string is the one assigned + by the operator in defining the cryptomap set."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.2.1.1"; + } + + leaf cipsDynamicCryptomapSetSize { + type yang:gauge32; + description + "The number of cryptomap entries in this cryptomap."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.2.1.2"; + } + + leaf cipsDynamicCryptomapSetNumAssoc { + type yang:gauge32; + description + "The number of static cryptomap sets with which + this dynamic cryptomap is associated. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.2.1.3"; + } + } + } + + container cipsStaticCryptomapTable { + description + "The table ilisting the member cryptomaps + of the cryptomap sets that are configured + on the managed entity."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3"; + + list cipsStaticCryptomapEntry { + key "cipsStaticCryptomapSetName cipsStaticCryptomapPriority"; + description + "Each entry contains the attributes + associated with a single static + (fully specified) cryptomap entry. + This table does not include the members + of dynamic cryptomap sets that may be + linked with the parent static cryptomap set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1"; + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapPriority { + type int32 { + range "0..65535"; + } + description + "The priority of the cryptomap entry in the + cryptomap set. This is the second index component + of this table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.1"; + } + + leaf cipsStaticCryptomapType { + type CISCO-IPSEC-MIB:CryptomapType; + description + "The type of the cryptomap entry. This can be an ISAKMP + cryptomap, CET or manual. Dynamic cryptomaps are not + counted in this table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.2"; + } + + leaf cipsStaticCryptomapDescr { + type snmpv2-tc:DisplayString; + description + "The description string entered by the operatoir + while creating this cryptomap. The string generally + identifies a description and the purpose of this + policy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.3"; + } + + leaf cipsStaticCryptomapPeer { + type CISCO-IPSEC-MIB:IPSIpAddress; + description + "The IP address of the current peer associated with + this IPSec policy item. Traffic that is protected by + this cryptomap is protected by a tunnel that terminates + at the device whose IP address is specified by this + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.4"; + } + + leaf cipsStaticCryptomapNumPeers { + type int32 { + range "0..40"; + } + description + "The number of peers associated with this cryptomap + entry. The peers other than the one identified by + 'cipsStaticCryptomapPeer' are backup peers. + + Manual cryptomaps may have only one peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.5"; + } + + leaf cipsStaticCryptomapPfs { + type CISCO-IPSEC-MIB:DiffHellmanGrp; + description + "This object identifies if the tunnels instantiated + due to this policy item should use Perfect Forward Secrecy + (PFS) and if so, what group of Oakley they should use."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.6"; + } + + leaf cipsStaticCryptomapLifetime { + type int32 { + range "0|120..86400"; + } + description + "This object identifies the lifetime of the IPSec + Security Associations (SA) created using this IPSec policy + entry. If this value is zero, the lifetime assumes the + value specified by the global lifetime parameter."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.7"; + } + + leaf cipsStaticCryptomapLifesize { + type int32 { + range "0|2560..536870912"; + } + description + "This object identifies the lifesize (maximum traffic + in bytes that may be carried) of the IPSec SAs + created using this IPSec policy entry. + If this value is zero, the lifetime assumes the + value specified by the global lifesize parameter."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.8"; + } + + leaf cipsStaticCryptomapLevelHost { + type boolean; + description + "This object identifies the granularity of the + IPSec SAs created using this IPSec policy entry. + If this value is TRUE, distinct SA bundles are created + for distinct hosts at the end of the application traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.3.1.9"; + } + } + } + + container cipsCryptomapSetIfTable { + description + "The table lists the binding of cryptomap sets + to the interfaces of the managed entity."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.4"; + + list cipsCryptomapSetIfEntry { + key "ifIndex cipsStaticCryptomapSetName"; + description + "Each entry contains the record of + the association between an interface + and a cryptomap set (static) that is defined + on the managed entity. + + Note that the cryptomap set identified in + this binding must static. Dynamic cryptomaps cannot + be bound to interfaces."; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.4.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsCryptomapSetIfVirtual { + type boolean; + description + "The value of this object identifies if the + interface to which the cryptomap set is attached + is a tunnel (such as a GRE or PPTP tunnel)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.4.1.1"; + } + + leaf cipsCryptomapSetIfStatus { + type CISCO-IPSEC-MIB:CryptomapSetBindStatus; + description + "This object identifies the status of the binding + of the specified cryptomap set with the specified + interface. The value when queried is always 'attached'. + When set to 'detached', the cryptomap set if detached + from the specified interface. The effect of this is same + as the CLI command + + config-if# no crypto map cryptomapSetName + + Setting the value to 'attached' will result in + SNMP General Error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3.4.1.2"; + } + } + } + } + + notification cipsIsakmpPolicyAdded { + description + "This trap is generated when a new ISAKMP + policy element is defined on the managed entity. + The context of the event includes the updated + number of ISAKMP policy elements currently available."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.1"; + + container object-1 { + + leaf cipsNumIsakmpPolicies { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsIsakmpGroup/CISCO-IPSEC-MIB:cipsNumIsakmpPolicies"; + } + } + } + } + + notification cipsIsakmpPolicyDeleted { + description + "This trap is generated when an existing ISAKMP + policy element is deleted on the managed entity. + The context of the event includes the updated + number of ISAKMP policy elements currently available."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.2"; + + container object-1 { + + leaf cipsNumIsakmpPolicies { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsIsakmpGroup/CISCO-IPSEC-MIB:cipsNumIsakmpPolicies"; + } + } + } + } + + notification cipsCryptomapAdded { + description + "This trap is generated when a new cryptomap is + added to the specified cryptomap set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.3"; + + container object-1 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapPriority { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapTable/CISCO-IPSEC-MIB:cipsStaticCryptomapEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapPriority"; + } + } + + leaf cipsStaticCryptomapType { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapTable/CISCO-IPSEC-MIB:cipsStaticCryptomapEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapType"; + } + } + } + + container object-2 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetSize { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetSize"; + } + } + } + } + + notification cipsCryptomapDeleted { + description + "This trap is generated when a cryptomap is + removed from the specified cryptomap set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.4"; + + container object-1 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetSize { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetSize"; + } + } + } + } + + notification cipsCryptomapSetAttached { + description + "A cryptomap set must be attached to an interface + of the device in order for it to be operational. + This trap is generated when the cryptomap set + attached to an active interface of the managed entity. + + The context of the notification includes: + Size of the attached cryptomap set, + Number of ISAKMP cryptomaps in the set and + Number of Dynamic cryptomaps in the set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.5"; + + container object-1 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetSize { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetSize"; + } + } + } + + container object-2 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetNumIsakmp { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetNumIsakmp"; + } + } + } + + container object-3 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetNumDynamic { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetNumDynamic"; + } + } + } + } + + notification cipsCryptomapSetDetached { + description + "This trap is generated when a cryptomap set is + detached from an interafce to which it was + bound earlier. The context of the event identifies the + size of the cryptomap set."; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.6"; + + container object-1 { + + leaf cipsStaticCryptomapSetName { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetName"; + } + } + + leaf cipsStaticCryptomapSetSize { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsStaticCryptomapSetTable/CISCO-IPSEC-MIB:cipsStaticCryptomapSetEntry/CISCO-IPSEC-MIB:cipsStaticCryptomapSetSize"; + } + } + } + } + + notification cipsTooManySAs { + description + "This trap is generated when a new SA is attempted + to be setup while the number of currently active SAs + equals the maximum configurable. The variables are: + cipsMaxSAs"; + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0.7"; + + container object-1 { + + leaf cipsMaxSAs { + type leafref { + path "/CISCO-IPSEC-MIB:CISCO-IPSEC-MIB/CISCO-IPSEC-MIB:cipsSysCapacityGroup/CISCO-IPSEC-MIB:cipsMaxSAs"; + } + } + } + } + + smiv2:alias "ciscoIPsecMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.62"; + } + + smiv2:alias "ciscoIPsecMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1"; + } + + smiv2:alias "cipsIsakmpGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.1"; + } + + smiv2:alias "cipsIPsecGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2"; + } + + smiv2:alias "cipsIPsecGlobals" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.1"; + } + + smiv2:alias "cipsIPsecStatistics" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.2"; + } + + smiv2:alias "cipsCryptomapGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.2.3"; + } + + smiv2:alias "cipsSysCapacityGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.3"; + } + + smiv2:alias "cipsTrapCntlGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.62.1.4"; + } + + smiv2:alias "ciscoIPsecMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.62.2"; + } + + smiv2:alias "cipsMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.62.2.0"; + } + + smiv2:alias "ciscoIPsecMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.62.3"; + } + + smiv2:alias "cipsMIBConformances" { + smiv2:oid "1.3.6.1.4.1.9.10.62.3.1"; + } + + smiv2:alias "cipsMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.62.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-POLICY-MAP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-POLICY-MAP-MIB.yang new file mode 100644 index 000000000..d82d63e18 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSEC-POLICY-MAP-MIB.yang @@ -0,0 +1,309 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSEC-POLICY-MAP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSEC-POLICY-MAP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSEC-POLICY-MAP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB"; + prefix CISCO-IPSEC-POLICY-MAP-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Tivoli Systems and Cisco Systems"; + + contact + "Tivoli Systems + Research Triangle Park, NC + + Cisco Systems + Enterprise Business Management Unit + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-ipsecurity@cisco.com"; + + description + "The MIB module maps the IPSec + entities created dynamically to the policy entities + that caused them. This is an appendix to the + IPSEC-MONITOR-MIB that has been proposed to + IETF for monitoring IPSec based Virtual Private + Networks. + + Overview of Cisco IPsec Policy Map MIB + + MIB description + + There are two components to this MIB: + #1 a table that maps an IPSec Phase-1 + tunnel to the Internet Security Association + and Key Exchange (ISAKMP) Policy + + and + + #2 a table that maps an IPSec Phase-2 + tunnel to the corresponding IPSec Policy + element - called 'cryptomaps' - in IOS + (Internet Operating System) + + The first mappin (also called Internet Key Exchange + or IKE mapping) yields, given the index of + the IKE tunnel in the ikeTunnelTable + (IPSEC-MONITOR-MIB), the ISAKMP policy definition + defined using the CLI on the managed entity. + + The IPSec mapping yields, given the index + of the IPSec tunnel in the ipSecTunnelTable + (IPSEC-MONITOR-MIB), the IPSec transform and + the cryptomap definition that gave rise to + this tunnel. + + In implementation and usage, this MIB cannot + exist independent of the IPSEC-MONITOR-MIB. "; + + revision 2000-08-17 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container CISCO-IPSEC-POLICY-MAP-MIB { + config false; + + container ikePolMapTable { + description + "The IPSec Phase-1 Internet Key Exchange Tunnel + to Policy Mapping Table. There is one entry in + this table for each active IPSec Phase-1 + Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.1.1"; + + list ikePolMapEntry { + key "ikePolMapTunIndex"; + description + "Each entry contains the attributes associated + with mapping an active IPSec Phase-1 IKE Tunnel + to it's configured Policy definition."; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.1.1.1"; + + leaf ikePolMapTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPSec Phase-1 Tunnel to Policy + Map Table. The value of the index is the number + used to represent this IPSec Phase-1 Tunnel in + the IPSec MIB (ikeTunIndex in the + ikeTunnelTable)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.1.1.1.1"; + } + + leaf ikePolMapPolicyNum { + type int32 { + range "1..2147483647"; + } + description + "The number of the locally defined ISAKMP policy + used to establish the IPSec IKE Phase-1 Tunnel. + This is the number which was used on the crypto + command. For example, if the configuration command + was: + + ==> crypto isakmp policy 15 + + then the value of this object would be 15. + If ISAKMP was not used to establish this tunnel, + then the value of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.1.1.1.2"; + } + } + } + + container ipSecPolMapTable { + description + "The IPSec Phase-2 Tunnel to Policy Mapping Table. + There is one entry in this table for each active + IPSec Phase-2 Tunnel."; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1"; + + list ipSecPolMapEntry { + key "ipSecPolMapTunIndex"; + description + "Each entry contains the attributes associated + with mapping an active IPSec Phase-2 Tunnel + to its configured Policy definition."; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1"; + + leaf ipSecPolMapTunIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the IPSec Phase-2 Tunnel to Policy + Map Table. The value of the index is the number + used to represent this IPSec Phase-2 Tunnel in + the IPSec MIB (ipSecTunIndex in the + ipSecTunnelTable)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1.1"; + } + + leaf ipSecPolMapCryptoMapName { + type snmpv2-tc:DisplayString; + description + "The value of this object should be the name of + the IPSec Policy (cryptomap) as assigned by the + operator while configuring the policy of + the IPSec traffic. + + For instance, on an IOS router, the if the command + entered to configure the IPSec policy was + + ==> crypto map ftpPolicy 10 ipsec-isakmp + + then the value of this object would be 'ftpPolicy'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1.2"; + } + + leaf ipSecPolMapCryptoMapNum { + type int32 { + range "1..2147483647"; + } + description + "The value of this object should be the priority + of the IPSec Policy (cryptomap) assigned by the + operator while configuring the policy of + this IPSec tunnel. + + For instance, on an IOS router, the if the command + entered to configure the IPSec policy was + + ==> crypto map ftpPolicy 10 ipsec-isakmp + + then the value of this object would be 10."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1.3"; + } + + leaf ipSecPolMapAclString { + type snmpv2-tc:DisplayString; + description + "The value of this object is the number or + the name of the access control string (ACL) + that caused this IPSec tunnel to be established. + The ACL that causes an IPSec tunnel + to be established is referenced by the + cryptomap of the tunnel. + + The ACL identifies the traffic that requires + protection as defined by the policy. + + For instance, the ACL that requires FTP + traffic between local subnet 172.16.14.0 and a + remote subnet 172.16.16.0 to be protected + is defined as + + ==>access-list 101 permit tcp 172.16.14.0 0.0.0.255 + 172.16.16.0 0.0.0.255 eq ftp + + When this command causes an IPSec tunnel to be + established, the object 'ipSecPolMapAclString' + assumes the string value '101'. + + If the ACL is a named list such as + ==> ip access-list standard myAcl + permit 172.16.16.8 0.0.0.0 + + then the value of this MIB element corresponding to + IPSec tunnel that was created by this ACL would + be 'myAcl'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1.4"; + } + + leaf ipSecPolMapAceString { + type snmpv2-tc:DisplayString; + description + "The value of this object is the access control + entry (ACE) within the ACL that caused this IPSec + tunnel to be established. + + For instance, if an ACL defines access for two + traffic streams (FTP and SNMP) as follows: + + access-list 101 permit tcp 172.16.14.0 0.0.0.255 + 172.16.16.0 0.0.0.255 eq ftp + access-list 101 permit udp 172.16.14.0 0.0.0.255 + host 172.16.16.1 eq 161 + + + When associated with an IPSec policy, the second + element of the ACL gives rise to an IPSec tunnel + in the wake of SNMP traffic. The value of the + object 'ipSecPolMapAceString' for the IPSec tunnel + would be then the string + 'access-list 101 permit udp 172.16.14.0 0.0.0.255 + host 172.16.16.1 eq 161'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2.1.1.5"; + } + } + } + } + + smiv2:alias "ciscoIpSecPolMapMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.172"; + } + + smiv2:alias "ciscoIpSecPolMapMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.172.1"; + } + + smiv2:alias "ipSecPhaseOnePolMap" { + smiv2:oid "1.3.6.1.4.1.9.9.172.1.1"; + } + + smiv2:alias "ipSecPhaseTwoPolMap" { + smiv2:oid "1.3.6.1.4.1.9.9.172.1.2"; + } + + smiv2:alias "ciscoIpSecPolMapMIBNotifPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.172.2"; + } + + smiv2:alias "ciscoIpSecPolMapMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.172.3"; + } + + smiv2:alias "ipSecPolMapMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.172.3.1"; + } + + smiv2:alias "ipSecPolMapMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.172.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-AUTOMEASURE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-AUTOMEASURE-MIB.yang new file mode 100644 index 000000000..75ec048a7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-AUTOMEASURE-MIB.yang @@ -0,0 +1,882 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSLA-AUTOMEASURE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSLA-AUTOMEASURE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSLA-AUTOMEASURE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB"; + prefix CISCO-IPSLA-AUTOMEASURE-MIB; + + import CISCO-IPSLA-TC-MIB { + prefix "cisco-ipsla"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + Email: cs-ipsla@cisco.com"; + + description + "This module defines the MIB for IP SLA Automation. IP SLA + Automation consists of the following: + 1. Use of grouping - Group is an aggregation of operations + sharing the same type, for example UDP jitter type, with + common characteristics like frequency, interval etc. + Groups are formed by policies dictated either per customer, + or by service level or any other requirements. So, for + example, there could be separate groups for customers named + Customer A, Customer B etc, or service levels named + Gold-service, Silver-service etc. A single group will contain + one and only one IP SLA operation definition or reference a + single template. + 2. Use of templates - It has been observed that operations can be + configured quickly if the variants such as IP address and + ports can be configured separately and then combined with a + template consisting of invariants. This allows for re-use of + the invariant template with various combinations of destination + addresses and ports, the benefits for which are multiplied when + considering groupings. + 3. Auto operations - With this feature the software will try to + automatically kickstart operations by making intelligent + assumptions. For example, if no specific operation is referenced + by the group configuration then an ICMP jitter operation is + assumed by default."; + + revision 2007-06-13 { + description + "Initial version of this MIB module."; + } + + + container CISCO-IPSLA-AUTOMEASURE-MIB { + config false; + + container cipslaAutoGroupTable { + description + "A table that contains IP SLA auto measure group definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1"; + + list cipslaAutoGroupEntry { + key "cipslaAutoGroupName"; + description + "An entry containing the configurations for a particular + auto measure group."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1"; + + leaf cipslaAutoGroupName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "A group name which is used by a management application + to identify the group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.1"; + } + + leaf cipslaAutoGroupDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This field is used to provide description for the group."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.2"; + } + + leaf cipslaAutoGroupDestinationName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "This object refers to the cipslaAutoGroupDestName + in cipslaAutoGroupDestTable. If the name entered + is not present in cipslaAutoGroupDestTable, then when + group is scheduled, no ip sla operations will be created."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.3"; + } + + leaf cipslaAutoGroupADDestPort { + type inet:port-number; + description + "This object represents the destination port number + for auto discovery use."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.4"; + } + + leaf cipslaAutoGroupOperTemplateName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "A string which is used by a management application to + identify the template which is associated with the group. + Depends on cipslaAutoGroupOperType, this object refers to + cipslaIcmpEchoTmplName in cipslaIcmpEchoTmplTable, or + cipslaUdpEchoTmplName in cipslaUdpEchoTmplTable, or + cipslaTcpConnTmplName in cipslaTcpConnTmplTable, or + cipslaIcmpJitterTmplName in cipslaIcmpJitterTmplTable, or + ciscoIpSlaUdpJitterTmplName in ciscoIpSlaUdpJitterTmplTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.5"; + } + + leaf cipslaAutoGroupSchedulerId { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "This object refers to the cipslaAutoGroupSchedId in + cipslaAutoGroupSchedTable, and is used to schedule + this group."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.6"; + } + + leaf cipslaAutoGroupQoSEnable { + type boolean; + description + "When this object is set to true, QoS is enabled for this + group and this group is linked to policy map. The + restriction is that after QoS is enabled, it can not be + disabled for this group."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.7"; + } + + leaf cipslaAutoGroupOperType { + type cisco-ipsla:IpSlaOperType; + description + "This object specifies the type of IP SLA operation. + When operation type is not ICMP jitter, then + cipslaAutoGroupOperTemplateName must be specified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.8"; + } + + leaf cipslaAutoGroupDestIPADEnable { + type boolean; + description + "When this object is set to true, destination IP address + is populated through auto-discovery."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.9"; + } + + leaf cipslaAutoGroupADMeasureRetry { + type uint32 { + range "1..65536"; + } + description + "This object specifies number of measurement retries to + be attempted for the discovered end point after the + connection to the end point is broken. If there is no + re-registration message received, the end point will be + in inactive state. + + When the value of cipslaAutoGroupDestIPADEnable is + 'false', the value of this object has no effect."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.10"; + } + + leaf cipslaAutoGroupADDestIPAgeout { + type uint32 { + range "0..65536"; + } + units "seconds"; + description + "This object represents the ageout time for the discovered + end point. If the end point becomes inactive for the period + of ageout time, the end point will be removed from the + discovered end point list. + + When the value of cipslaAutoGroupDestIPADEnable is + 'false', the value of this object has no effect."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.11"; + } + + leaf cipslaAutoGroupStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.12"; + } + + leaf cipslaAutoGroupRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual group control row. + + When the status is active, the other writable objects + may be modified unless the scheduler with name + specified by cipslaAutoGroupSchedulerId is scheduled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.1.1.13"; + } + } + } + + container cipslaAutoGroupDestTable { + description + "A table contains the list of destination IP + addresses and ports associated to the auto measure + group destination name."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2"; + + list cipslaAutoGroupDestEntry { + key "cipslaAutoGroupDestName cipslaAutoGroupDestIpAddrType cipslaAutoGroupDestIpAddr cipslaAutoGroupDestPort"; + description + "An entry containing the destination IP addresses + and port configurations associated to auto measure + group destination name."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1"; + + leaf cipslaAutoGroupDestName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This is the name for an auto measure group destination."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.1"; + } + + leaf cipslaAutoGroupDestIpAddrType { + type inet-address:InetAddressType; + description + "The type of the internet address of a destination + for an auto measure group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.2"; + } + + leaf cipslaAutoGroupDestIpAddr { + type inet-address:InetAddress; + description + "The internet address of a destination for an auto + measure group. The type of this address is determined + by the value of cipslaAutoGroupDestIpAddrType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.3"; + } + + leaf cipslaAutoGroupDestPort { + type inet:port-number; + description + "This object represents the destination port number. + For ICMP echo and ICMP jitter, the suggested value is + '0'."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.4"; + } + + leaf cipslaAutoGroupDestStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row. + + By default the entry will be saved into non-volatile + memory."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.5"; + } + + leaf cipslaAutoGroupDestRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual destination table control row. + No other objects in this row need to be set before this object + can become active. + + During 'destroy', when cipslaAutoGroupDestIpAddr is specified + as '0.0.0.0' and cipslaAutoGroupDestPort is specified as '0', + then all the rows with same cipslaAutoGroupDestName will be + deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.2.1.6"; + } + } + } + + container cipslaReactTable { + description + "A table that contains reaction configurations for templates. + Each conceptual row in cipslaReactTable corresponds + to a reaction configured for one template. + + Each template can have multiple reactions and hence there can be + multiple rows for a particular template. Different template + types can have different reactions. The reaction type is + specified as cipslaReactVar based upon template type as some + reaction types are applicable just for specific template types."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3"; + + list cipslaReactEntry { + key "cipslaAutoGroupOperType cipslaReactConfigIndex cipslaAutoGroupOperTemplateName"; + description + "A base list of objects that define a conceptual reaction + configuration control row."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1"; + + leaf cipslaAutoGroupOperType { + type leafref { + path "/CISCO-IPSLA-AUTOMEASURE-MIB:CISCO-IPSLA-AUTOMEASURE-MIB/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupTable/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupEntry/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupOperType"; + } + } + + leaf cipslaAutoGroupOperTemplateName { + type leafref { + path "/CISCO-IPSLA-AUTOMEASURE-MIB:CISCO-IPSLA-AUTOMEASURE-MIB/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupTable/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupEntry/CISCO-IPSLA-AUTOMEASURE-MIB:cipslaAutoGroupOperTemplateName"; + } + } + + leaf cipslaReactConfigIndex { + type uint32 { + range "1..2147483647"; + } + description + "This object along with cipslaAutoGroupOperType and + cipslaAutoGroupOperTemplateName identifies + a particular reaction-configuration for one IP SLA + template. + + This number is persistent across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.1"; + } + + leaf cipslaReactVar { + type cisco-ipsla:IpSlaReactVar; + description + "This object specifies the type of reaction configured for an + IP SLA template. Default value is 'rtt' for ICMP echo, UDP echo + and TCP connect. Default value is 'jitterAvg' for UDP jitter and + ICMP jitter. + + The reaction types 'rtt', 'timeout', 'connectionLoss' and + 'verifyError' can be configured for all template types. + + The reaction types 'jitterSDAvg', 'jitterDSAvg', 'jitterAvg', + 'packetLateArrival', 'packetOutOfSequence', + 'maxOfPositiveSD', 'maxOfNegativeSD', 'maxOfPositiveDS' + 'maxOfNegativeDS', 'mos' and 'icpif' can be configured for + UDP jitter and ICMP jitter types only. + + The reaction types 'packetLossDS', 'packetLossSD' and + 'packetMIA' can be configured for UDP jitter type only. + + The reaction types 'successivePacketLoss', 'maxOfLatencyDS', + 'maxOfLatencySD', 'latencyDSAvg', 'latencySDAvg' and + 'packetLoss' can be configured for ICMP jitter type only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.2"; + } + + leaf cipslaReactThresholdType { + type enumeration { + enum "never" { + value "1"; + } + enum "immediate" { + value "2"; + } + enum "consecutive" { + value "3"; + } + enum "xOfy" { + value "4"; + } + enum "average" { + value "5"; + } + } + description + "This object specifies the conditions under which + a notification ( trap ) is sent. The rttMonReactOccurred + object defined in rttMonReactTable in CISCO-RTTMON-MIB will + change accordingly: + + never(1) - rttMonReactOccurred is never set + + immediate(2) - rttMonReactOccurred is set to 'true' when the + value of parameter for which reaction is + configured ( e.g rtt, jitterAvg, packetLossSD, + mos etc ) violates the threshold. + Conversely, rttMonReactOccurred is set to 'false' + when the parameter ( e.g rtt, jitterAvg, + packetLossSD, mos etc ) is below the threshold + limits. + + consecutive(3) - rttMonReactOccurred is set to true when the value + of parameter for which reaction is configured + ( e.g rtt, jitterAvg, packetLossSD, mos etc ) + violates the threshold for configured consecutive + times. + Conversely, rttMonReactOccurred is set to false + when the value of parameter ( e.g rtt, jitterAvg + packetLossSD, mos etc ) is below the threshold + limits for the same number of consecutive + operations. + + xOfy(4) - rttMonReactOccurred is set to true when x + ( as specified by cipslaReactThresholdCountX ) + out of the last y ( as specified by + cipslaReacthresholdCountY ) times the value of + parameter for which the reaction is configured + ( e.g rtt, jitterAvg, packetLossSD, mos etc ) + violates the threshold. + Conversely, it is set to false when x, out of the + last y times the value of parameter + ( e.g rtt, jitterAvg, packetLossSD, mos ) is + below the threshold limits. + NOTE: If x > y, this will never + generate a reaction. + + average(5) - rttMonReactOccurred is set to true when the + average ( cipslaReactThresholdCountX times ) + value of parameter for which reaction is + configured ( e.g rtt, jitterAvg, packetLossSD, + mos etc ) violates the threshold condition. + Conversely, it is set to false when the + average value of parameter ( e.g rtt, jitterAvg, + packetLossSD, mos etc ) is below the threshold + limits. + + If this value is changed by a management station, + rttMonReactOccurred is set to false, but + no reaction is generated if the prior value of + rttMonReactOccurred was true."; + smiv2:defval "never"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.3"; + } + + leaf cipslaReactActionType { + type enumeration { + enum "none" { + value "1"; + } + enum "notificationOnly" { + value "2"; + } + } + description + "Specifies what type, if any, of reaction to + generate if one of the watched + (reaction-configuration ) conditions is satisfied: + + none(1) - no reaction is generated + notificationOnly(2) - a notification is generated"; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.4"; + } + + leaf cipslaReactThresholdRising { + type uint32; + description + "This object defines the higher threshold limit. + If the value ( e.g rtt, jitterAvg, packetLossSD etc ) rises + above this limit and if the condition specified in + cipslaReactThresholdType is satisfied, a notification is + generated. + + Default value of cipslaReactThresholdRising for + 'rtt' is 5000 + 'jitterAvg' is 100. + 'jitterSDAvg' is 100. + 'jitterDSAvg' 100. + 'packetLossSD' is 10000. + 'packetLossDS' is 10000. + 'mos' is 500. + 'icpif' is 93. + 'packetMIA' is 10000. + 'packetLateArrival' is 10000. + 'packetOutOfSequence' is 10000. + 'maxOfPositiveSD' is 10000. + 'maxOfNegativeSD' is 10000. + 'maxOfPositiveDS' is 10000. + 'maxOfNegativeDS' is 10000. + 'successivePacketLoss' is 1000. + 'maxOfLatencyDS' is 5000. + 'maxOfLatencySD' is 5000. + 'latencyDSAvg' is 5000. + 'latencySDAvg' is 5000. + 'packetLoss' is 10000. + + This object is not applicable if the cipslaReactVar is + 'timeout', 'connectionLoss' or 'verifyError'. For 'timeout', + 'connectionLoss' and 'verifyError' default value of + cipslaReactThresholdRising will be 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.5"; + } + + leaf cipslaReactThresholdFalling { + type uint32; + description + "This object defines a lower threshold limit. If the + value ( e.g rtt, jitterAvg, packetLossSD etc ) falls + below this limit and if the condition specified in + cipslaReactThresholdType is satisfied, a notification + is generated. This object value can not bigger than + cipslaReactThresholdRising value. + + Default value of cipslaReactThresholdFalling + 'rtt' is 3000 + 'jitterAvg' is 100. + 'jitterSDAvg' is 100. + 'jitterDSAvg' 100. + 'packetLossSD' is 10000. + 'packetLossDS' is 10000. + 'mos' is 500. + 'icpif' is 93. + 'packetMIA' is 10000. + 'packetLateArrival' is 10000. + 'packetOutOfSequence' is 10000. + 'maxOfPositiveSD' is 10000. + 'maxOfNegativeSD' is 10000. + 'maxOfPositiveDS' is 10000. + 'maxOfNegativeDS' is 10000. + 'successivePacketLoss' is 1000. + 'maxOfLatencyDS' is 3000. + 'maxOfLatencySD' is 3000. + 'latencyDSAvg' is 3000. + 'latencySDAvg' is 3000. + 'packetLoss' is 10000. + + This object is not applicable if the cipslaReactVar is + 'timeout', 'connectionLoss' or 'verifyError'. For 'timeout', + 'connectionLoss' and 'verifyError', default value of + cipslaReactThresholdFalling will be 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.6"; + } + + leaf cipslaReactThresholdCountX { + type uint32 { + range "1..16"; + } + description + "If cipslaReactThresholdType value is 'xOfy', this object + defines the 'x' value. + + If cipslaReactThresholdType value is 'consecutive' + this object defines the number of consecutive occurrences + that needs threshold violation before setting + cipslaReactOccurred as true. + + If cipslaReactThresholdType value is 'average' this object + defines the number of samples that needs be considered for + calculating average. + + This object has no meaning if cipslaReactThresholdType has + value of 'never' and 'immediate'."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.7"; + } + + leaf cipslaReactThresholdCountY { + type uint32 { + range "1..16"; + } + description + "This object defines the 'y' value of the xOfy condition + if cipslaReactThresholdType is 'xOfy'. The default for the + 'y' value is 5. + + For other values of cipslaReactThresholdType, this object + is not applicable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.8"; + } + + leaf cipslaReactStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row. + + By default the entry will be saved into non-volatile + memory."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.9"; + } + + leaf cipslaReactRowStatus { + type snmpv2-tc:RowStatus; + description + "This objects indicates the status of the conceptual + Reaction Control Row. + + When this object moves to active state, the conceptual row + is monitored and notifications are generated when threshold + violation takes place. + + In order for this object to become active cipslaReactVar must + be defined. All other objects assume default values. When the + status is active, the following objects in that row can be + modified. + cipslaReactThresholdType, + cipslaReactActionType, + cipslaReactThresholdRising, + cipslaReactThresholdFalling, + cipslaReactThresholdCountX, + cipslaReactThresholdCountY, + cipslaReactStorageType + + This object can be set to 'destroy' from any value at any time. + When this object is set to 'destroy' no reaction configuration + would exist. The reaction configuration for the template is + removed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.3.1.10"; + } + } + } + + container cipslaAutoGroupSchedTable { + description + "A table of group scheduling definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4"; + + list cipslaAutoGroupSchedEntry { + key "cipslaAutoGroupSchedId"; + description + "A list of objects that define specific configuration for + group scheduling."; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1"; + + leaf cipslaAutoGroupSchedId { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This string uniquely identifies a row in the + cipslaAutoGroupSchedTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.1"; + } + + leaf cipslaAutoGroupSchedPeriod { + type uint32 { + range "100..99000"; + } + units "seconds"; + description + "Specifies the time duration between initiating two + IP SLA operations generated via the auto measure group."; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.2"; + } + + leaf cipslaAutoGroupSchedInterval { + type uint32 { + range "1..604800"; + } + units "seconds"; + description + "Specifies the duration between initiating each RTT + operation for one IP SLA operation generated via the auto + measure group. + + The value of this object is only effective when both + cipslaAutoGroupSchedMaxInterval and + cipslaAutoGroupSchedMinInterval have zero values."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.3"; + } + + leaf cipslaAutoGroupSchedLife { + type uint32 { + range "0..2147483647"; + } + units "seconds"; + description + "This object specifies the life of all the operations that are + getting group scheduled. This value will be placed into + cipslaAutoGroupSchedRttLife object when this conceptual control + row becomes 'active'. + + The value 2147483647 has a special meaning. When this object is + set to 2147483647, the rttMonCtrlOperRttLife object for all the + operations will not decrement, and thus the life time of the + operation will never end."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.4"; + } + + leaf cipslaAutoGroupSchedAgeout { + type uint32 { + range "0..2073600"; + } + units "seconds"; + description + "This object specifies the ageout value of the operations that are + getting group scheduled. This value will be placed into + rttMonSchedAdminConceptRowAgeout object for each of the + operations in the group when this conceptual control row becomes + 'active'. + + When this value is set to zero, the operations will never ageout."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.5"; + } + + leaf cipslaAutoGroupSchedMaxInterval { + type uint32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the max duration between initiating each RTT + operation for one IP SLA operation in the group."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.6"; + } + + leaf cipslaAutoGroupSchedMinInterval { + type uint32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the min duration between initiating each RTT + operation for one IP SLA operation in the group. + + The value of this object should be lower than the value of + cipslaAutoGroupSchedMaxInterval."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.7"; + } + + leaf cipslaAutoGroupSchedStartTime { + type uint32 { + range "0..604800"; + } + units "seconds"; + description + "This is the time in seconds after which the operations of + the associated groups will take transition to active state. + When set to the value other than '1' (pending), then all + objects in this row cannot be modified."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.8"; + } + + leaf cipslaAutoGroupSchedStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row. + + By default the entry will be saved into non-volatile + memory."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.9"; + } + + leaf cipslaAutoGroupSchedRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual group schedule control row. + + When the status is active and the value of + cipslaAutoGroupSchedStartTime is '1', the other writable + objects may be modified. + + This object can be set to 'destroy' from any value at any time. + When this object is set to 'destroy' it will stop all the + operations which had been group scheduled by it earlier, + before destroying the group schedule control row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.633.1.4.1.10"; + } + } + } + } + + smiv2:alias "ciscoIpSlaAutoMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.633"; + } + + smiv2:alias "ciscoIpSlaAutoMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.633.0"; + } + + smiv2:alias "ciscoIpSlaAutoMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.633.1"; + } + + smiv2:alias "ciscoIpSlaAutoMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.633.2"; + } + + smiv2:alias "ciscoIpSlaAutoMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.633.2.1"; + } + + smiv2:alias "ciscoIpSlaAutoMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.633.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-ECHO-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-ECHO-MIB.yang new file mode 100644 index 000000000..550168335 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-ECHO-MIB.yang @@ -0,0 +1,1043 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSLA-ECHO-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSLA-ECHO-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSLA-ECHO-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB"; + prefix CISCO-IPSLA-ECHO-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + Email: cs-ipsla@cisco.com"; + + description + "This MIB module defines the templates for IP SLA operations of + ICMP echo, UDP echo and TCP connect. + + The ICMP echo operation measures end-to-end response time between + a Cisco router and any IP enabled device by computing the time + taken between sending an ICMP echo request message to the + destination and receiving an ICMP echo reply. + + + The UDP echo operation measures end-to-end response time between + a Cisco router and any IP enabled device by computing the time + taken between sending an UDP echo request message to the + destination and receiving an UDP echo reply. + + The TCP connect operation measures end-to-end response time between + a Cisco router and any IP enabled device by computing the time + taken to perform a TCP connect operation."; + + revision 2007-08-16 { + description + "Initial version of this MIB module."; + } + + + container CISCO-IPSLA-ECHO-MIB { + config false; + + container cipslaIcmpEchoTmplTable { + description + "A table that contains ICMP echo template definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1"; + + list cipslaIcmpEchoTmplEntry { + key "cipslaIcmpEchoTmplName"; + description + "A row entry representing an IPSLA ICMP echo template."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1"; + + leaf cipslaIcmpEchoTmplName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This field is used to specify the ICMP echo template name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.1"; + } + + leaf cipslaIcmpEchoTmplDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This field is used to provide description for the ICMP echo + template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.2"; + } + + leaf cipslaIcmpEchoTmplSrcAddrType { + type inet-address:InetAddressType; + description + "An enumerated value which specifies the IP address type + of the source. It must be used along with the + cipslaIcmpEchoTmplSrcAddr object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.3"; + } + + leaf cipslaIcmpEchoTmplSrcAddr { + type inet-address:InetAddress; + description + "A string which specifies the IP address of the source."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.4"; + } + + leaf cipslaIcmpEchoTmplTimeOut { + type uint32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for a IP SLA operation + completion. + + For connection oriented protocols, this may cause the + connection to be closed by the operation. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.5"; + } + + leaf cipslaIcmpEchoTmplVerifyData { + type boolean; + description + "When set to true, the resulting data in each IP SLA + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.6"; + } + + leaf cipslaIcmpEchoTmplReqDataSize { + type uint32 { + range "0..16384"; + } + units "octets"; + description + "This object represents the number of octets to be + placed into the ARR Data portion of the request + message, when using SNA protocols. + + For non-ARR protocols' IP SLA request/responses, + this value represents the native payload size. + + REMEMBER: The ARR Header overhead is not included + in this value."; + smiv2:defval "28"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.7"; + } + + leaf cipslaIcmpEchoTmplTOS { + type uint32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.8"; + } + + leaf cipslaIcmpEchoTmplVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This field is used to specify the VRF name with + which the IP SLA operation will be used. For regular IP SLA + operation this field should not be configured. The agent + will use this field to identify the VRF routing table for + this operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.9"; + } + + leaf cipslaIcmpEchoTmplThreshold { + type uint32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the IP SLA operation time exceeds this limit and if the + condition specified in cipslaIcmpEchoTmplHistFilter is + satisfied, one threshold crossing occurrence will be counted."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.10"; + } + + leaf cipslaIcmpEchoTmplHistLives { + type uint32 { + range "0..2"; + } + description + "The maximum number of history lives to record. A life + is defined by the countdown (or transition) to zero + by the cipslaAutoGroupScheduleLife object. A new life is + created when the same conceptual control row is + restarted via the transition of the + cipslaAutoGroupScheduleLife object and its subsequent + countdown. + + The value of zero will shut off all data collection."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.11"; + } + + leaf cipslaIcmpEchoTmplHistBuckets { + type uint32 { + range "1..60"; + } + description + "The maximum number of history buckets to record. + This value is set to the number of operations + to keep per lifetime. + + After cipslaIcmpEchoTmplHistBuckets are filled, the + oldest entries are deleted and the most recent + cipslaIcmpEchoTmplHistBuckets buckets are retained."; + smiv2:defval "15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.12"; + } + + leaf cipslaIcmpEchoTmplHistFilter { + type enumeration { + enum "none" { + value "1"; + } + enum "all" { + value "2"; + } + enum "overThreshold" { + value "3"; + } + enum "failures" { + value "4"; + } + } + description + "Defines a filter for adding RTT results to the history + buffer: + + none(1) - no history is recorded + all(2) - the results of all completion times + and failed completions are recorded + overThreshold(3) - the results of completion times + over cipslaIcmpEchoTmplThreshold are + recorded. + failures(4) - the results of failed operations (only) + are recorded."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.13"; + } + + leaf cipslaIcmpEchoTmplStatsHours { + type uint32 { + range "0..25"; + } + units "hours"; + description + "The maximum number of hours for which statistics are + maintained. Specifically this is the number of hourly + groups to keep before rolling over. + + The value of one is not advisable because the hourly + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value of zero will shut off data collection."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.14"; + } + + leaf cipslaIcmpEchoTmplDistBuckets { + type uint32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + buckets to accumulate. + + Since this index does not rollover, only the first + cipslaIcmpEchoTmplStatsNumDistBuckets will be kept. + + The last cipslaIcmpEchoTmplStatsNumDistBucket will + contain all entries from its distribution interval + start point to infinity."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.15"; + } + + leaf cipslaIcmpEchoTmplDistInterval { + type uint32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + cipslaIcmpEchoTmplDistBuckets = 5 buckets + cipslaIcmpEchoTmplDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + cipslaIcmpEchoTmplDistBuckets = 1 buckets + cipslaIcmpEchoTmplDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + cipslaIcmpEchoTmplDistInterval does not apply when + cipslaIcmpEchoTmplDistBuckets is one."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.16"; + } + + leaf cipslaIcmpEchoTmplStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.17"; + } + + leaf cipslaIcmpEchoTmplRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual ICMP echo template control row. + When the status is active, all the read-create objects in that + row can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.1.1.18"; + } + } + } + + container cipslaUdpEchoTmplTable { + description + "A table that contains UDP echo template specific definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2"; + + list cipslaUdpEchoTmplEntry { + key "cipslaUdpEchoTmplName"; + description + "A row entry representing an IPSLA UDP echo template."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1"; + + leaf cipslaUdpEchoTmplName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "A string which specifies the UDP echo template name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.1"; + } + + leaf cipslaUdpEchoTmplDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "A string which provides description to the UDP echo template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.2"; + } + + leaf cipslaUdpEchoTmplControlEnable { + type boolean; + description + "If this object is enabled, then the IP SLA application + will send control messages to a responder, residing on the + target router to respond to the data request packets being + sent by the source router."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.3"; + } + + leaf cipslaUdpEchoTmplSrcAddrType { + type inet-address:InetAddressType; + description + "An enumerated value which specifies the IP address type + of the source. It must be used along with the + cipslaUdpEchoTmplSrcAddr object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.4"; + } + + leaf cipslaUdpEchoTmplSrcAddr { + type inet-address:InetAddress; + description + "A string which specifies the IP address of the source."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.5"; + } + + leaf cipslaUdpEchoTmplSrcPort { + type inet:port-number; + description + "This object represents the source's port number. If this + object is not specified, the application will get a + port allocated by the system."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.6"; + } + + leaf cipslaUdpEchoTmplTimeOut { + type uint32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for an IP SLA operation + completion. + + For connection oriented protocols, this may cause the + connection to be closed by the operation. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.7"; + } + + leaf cipslaUdpEchoTmplVerifyData { + type boolean; + description + "When set to true, the resulting data in each IP SLA + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.8"; + } + + leaf cipslaUdpEchoTmplReqDataSize { + type uint32 { + range "4..1500"; + } + units "octets"; + description + "This object represents the number of octets to be + placed into the ARR Data portion of the request + message, when using SNA protocols. + + For non-ARR protocols' RTT request/responses, + this value represents the native payload size. + + REMEMBER: The ARR Header overhead is not included + in this value."; + smiv2:defval "16"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.9"; + } + + leaf cipslaUdpEchoTmplTOS { + type uint32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.10"; + } + + leaf cipslaUdpEchoTmplVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This field is used to specify the VRF name with + which the IP SLA operation will be used. For regular IP SLA + operation this field should not be configured. The agent + will use this field to identify the VRF routing Table for + this operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.11"; + } + + leaf cipslaUdpEchoTmplThreshold { + type uint32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the IP SLA operation time exceeds this limit and if the + condition specified in cipslaUdpEchoTmplHistFilter is + satisfied, one threshold crossing occurrence will be counted."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.12"; + } + + leaf cipslaUdpEchoTmplHistLives { + type uint32 { + range "0..2"; + } + description + "The maximum number of history lives to record. A life + is defined by the countdown (or transition) to zero + by the cipslaAutoGroupScheduleLife object. A new life is + created when the same conceptual control row is + restarted via the transition of the + cipslaAutoGroupScheduleLife object and its subsequent + countdown. + + The value of zero will shut off all data collection."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.13"; + } + + leaf cipslaUdpEchoTmplHistBuckets { + type uint32 { + range "1..60"; + } + description + "The maximum number of history buckets to record. + This value should be set to the number of operations + to keep per lifetime. + + After cipslaUdpEchoTmplHistBuckets are filled, the + oldest entries are deleted and the most recent + cipslaUdpEchoTmplHistBuckets buckets are retained."; + smiv2:defval "15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.14"; + } + + leaf cipslaUdpEchoTmplHistFilter { + type enumeration { + enum "none" { + value "1"; + } + enum "all" { + value "2"; + } + enum "overThreshold" { + value "3"; + } + enum "failures" { + value "4"; + } + } + description + "Defines a filter for adding RTT results to the history + buffer: + + none(1) - no history is recorded + all(2) - the results of all completion times + and failed completions are recorded + overThreshold(3) - the results of completion times + over cipslaUdpEchoTmplThreshold are + recorded. + failures(4) - the results of failed operations (only) + are recorded."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.15"; + } + + leaf cipslaUdpEchoTmplStatsHours { + type uint32 { + range "0..25"; + } + units "hours"; + description + "The maximum number of hours for which statistics are + maintained. Specifically this is the number of hourly + groups to keep before rolling over. + + The value of one is not advisable because the hourly + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value of zero will shut off data collection."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.16"; + } + + leaf cipslaUdpEchoTmplDistBuckets { + type uint32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + buckets to accumulate. + + Since this index does not rollover, only the first + cipslaUdpEchoTmplStatsNumDistBuckets will be kept. + + The last cipslaUdpEchoTmplStatsNumDistBuckets will + contain all entries from its distribution interval + start point to infinity."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.17"; + } + + leaf cipslaUdpEchoTmplDistInterval { + type uint32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + cipslaUdpEchoTmplDistBuckets = 5 buckets + cipslaUdpEchoTmplDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + cipslaUdpEchoTmplDistBuckets = 1 buckets + cipslaUdpEchoTmplDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + cipslaUdpEchoTmplDistInterval does not apply when + cipslaUdpEchoTmplDistBuckets is one."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.18"; + } + + leaf cipslaUdpEchoTmplStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.19"; + } + + leaf cipslaUdpEchoTmplRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual UDP echo template control row. + When the status is active, all the read-create objects in + that row can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.2.1.20"; + } + } + } + + container cipslaTcpConnTmplTable { + description + "A table that contains TCP connect template specific definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3"; + + list cipslaTcpConnTmplEntry { + key "cipslaTcpConnTmplName"; + description + "A row entry representing an IPSLA TCP connect template."; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1"; + + leaf cipslaTcpConnTmplName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "A string which specifies the TCP connect template name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.1"; + } + + leaf cipslaTcpConnTmplDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "A string which provides description for the TCP connect template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.2"; + } + + leaf cipslaTcpConnTmplControlEnable { + type boolean; + description + "If this object is enabled, then the IP SLA application + will send control messages to a responder, residing on the + target router to respond to the data request packets being + sent by the source router."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.3"; + } + + leaf cipslaTcpConnTmplSrcAddrType { + type inet-address:InetAddressType; + description + "An enumerated value which specifies the IP address type + of the source. It must be used along with the + cipslaTcpConnTmplSrcAddr object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.4"; + } + + leaf cipslaTcpConnTmplSrcAddr { + type inet-address:InetAddress; + description + "A string which specifies the IP address of the source."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.5"; + } + + leaf cipslaTcpConnTmplSrcPort { + type inet:port-number; + description + "This object represents the source's port number. If this + object is not specified, the application will get a + port allocated by the system."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.6"; + } + + leaf cipslaTcpConnTmplTimeOut { + type uint32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for an IP SLA operation + completion. + + For connection oriented protocols, this may cause the + connection to be closed by the operation. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.7"; + } + + leaf cipslaTcpConnTmplVerifyData { + type boolean; + description + "When set to true, the resulting data in each IP SLA + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.8"; + } + + leaf cipslaTcpConnTmplTOS { + type uint32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.9"; + } + + leaf cipslaTcpConnTmplThreshold { + type uint32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the IP SLA operation time exceeds this limit and if the + condition specified in cipslaTcpConnTmplHistFilter is + satisfied, one threshold crossing occurrence will be counted."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.10"; + } + + leaf cipslaTcpConnTmplHistLives { + type uint32 { + range "0..2"; + } + description + "The maximum number of history lives to record. A life + is defined by the countdown (or transition) to zero + by the cipslaAutoGroupScheduleLife object. A new life is + created when the same conceptual control row is + restarted via the transition of the + cipslaAutoGroupScheduleLife object and its subsequent + countdown. + + The value of zero will shut off all data collection."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.11"; + } + + leaf cipslaTcpConnTmplHistBuckets { + type uint32 { + range "1..60"; + } + description + "The maximum number of history buckets to record. + This value should be set to the number of operations + to keep per lifetime. + + After cipslaTcpConnTmplHistBuckets are filled, the + oldest entries are deleted and the most recent + cipslaTcpConnTmplHistBuckets buckets are retained."; + smiv2:defval "15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.12"; + } + + leaf cipslaTcpConnTmplHistFilter { + type enumeration { + enum "none" { + value "1"; + } + enum "all" { + value "2"; + } + enum "overThreshold" { + value "3"; + } + enum "failures" { + value "4"; + } + } + description + "Defines a filter for adding RTT results to the history + buffer: + + none(1) - no history is recorded + all(2) - the results of all completion times + and failed completions are recorded + overThreshold(3) - the results of completion times + over cipslaTcpConnTmplThreshold are + recorded. + failures(4) - the results of failed operations (only) + are recorded."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.13"; + } + + leaf cipslaTcpConnTmplStatsHours { + type uint32 { + range "0..25"; + } + units "hours"; + description + "The maximum number of hours for which statistics are + maintained. Specifically this is the number of hourly + groups to keep before rolling over. + + The value of one is not advisable because the hourly + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value of zero will shut off data collection."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.14"; + } + + leaf cipslaTcpConnTmplDistBuckets { + type uint32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + buckets to accumulate. + + Since this index does not rollover, only the first + cipslaTcpConnTmplDistBuckets will be kept. + + The last cipslaTcpConnTmplDistBuckets will + contain all entries from its distribution interval + start point to infinity."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.15"; + } + + leaf cipslaTcpConnTmplDistInterval { + type uint32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + cipslaTcpConnTmplDistBuckets = 5 buckets + cipslaTcpConnTmplDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + cipslaTcpConnTmplDistBuckets = 1 buckets + cipslaTcpConnTmplDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + cipslaTcpConnTmplDistInterval does not apply when + cipslaTcpConnTmplDistBuckets is one."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.16"; + } + + leaf cipslaTcpConnTmplStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.17"; + } + + leaf cipslaTcpConnTmplRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual tcp connect control row. + When the status is active, all the read-create objects + in that row can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.636.1.3.1.18"; + } + } + } + } + + smiv2:alias "ciscoIpSlaEchoMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.636"; + } + + smiv2:alias "ciscoIpSlaEchoMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.636.0"; + } + + smiv2:alias "ciscoIpSlaEchoMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.636.1"; + } + + smiv2:alias "ciscoIpSlaEchoMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.636.2"; + } + + smiv2:alias "ciscoIpSlaEchoMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.636.2.1"; + } + + smiv2:alias "ciscoIpSlaEchoMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.636.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-JITTER-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-JITTER-MIB.yang new file mode 100644 index 000000000..08934ce16 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-JITTER-MIB.yang @@ -0,0 +1,805 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSLA-JITTER-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSLA-JITTER-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSLA-JITTER-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB"; + prefix CISCO-IPSLA-JITTER-MIB; + + import CISCO-IPSLA-TC-MIB { + prefix "cisco-ipsla"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + Email: cs-ipsla@cisco.com"; + + description + "This MIB module defines templates for IP SLA operations of UDP + Jitter and ICMP Jitter. + + The UDP Jitter operation is designed to measure the delay + variance and packet loss in IP networks by generating synthetic + UDP traffic. + + The ICMP Jitter operation provides capability to measure metrics + such as RTT (Round Trip Time), jitter, packet loss, one-way + latency by sending ICMP Timestamp stream to the destination + devices."; + + revision 2007-07-24 { + description + "Initial version of this MIB module."; + } + + + container CISCO-IPSLA-JITTER-MIB { + config false; + + container cipslaUdpJitterTmplTable { + description + "A table that contains UDP jitter template specific definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1"; + + list cipslaUdpJitterTmplEntry { + key "cipslaUdpJitterTmplName"; + description + "A row entry representing an IPSLA UDP jitter template."; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1"; + + leaf cipslaUdpJitterTmplName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "A string which specifies the UDP Jitter template name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.1"; + } + + leaf cipslaUdpJitterTmplDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "A string which provides description of UDP Jitter + template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.2"; + } + + leaf cipslaUdpJitterTmplControlEnable { + type boolean; + description + "If this object is enabled, then the IP SLA application + will send control messages to a responder, residing on the + target router to respond to the data request packets being + sent by the source router."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.3"; + } + + leaf cipslaUdpJitterTmplTimeOut { + type uint32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for a IP SLA operation + completion. + + For connection oriented protocols, this may cause the + connection to be closed by the operation. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.4"; + } + + leaf cipslaUdpJitterTmplVerifyData { + type boolean; + description + "When set to true, the resulting data in each IP SLA + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.5"; + } + + leaf cipslaUdpJitterTmplCodecType { + type cisco-ipsla:IpSlaCodecType; + description + "Specifies the codec type to be used with UDP jitter operation. + + If codec-type is configured the following parameters cannot be + configured. + cipslaUdpJitterReqDataSize + cipslaUdpJitterInterval + cipslaUdpJitterNumPkts"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.6"; + } + + leaf cipslaUdpJitterTmplCodecInterval { + type uint32 { + range "4..60000"; + } + units "milliseconds"; + description + "This field represents the inter-packet delay between + packets and is in milliseconds. This object is applicable + only to UDP jitter operation which uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.7"; + } + + leaf cipslaUdpJitterTmplCodecPayload { + type uint32 { + range "0..16384"; + } + units "octets"; + description + "This object represents the number of octets that needs to be + placed into the Data portion of the message. This value is + used only for UDP jitter operation which uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.8"; + } + + leaf cipslaUdpJitterTmplCodecNumPkts { + type uint32 { + range "1..60000"; + } + units "packets"; + description + "This value represents the number of packets that need to + be transmitted. This value is used only for UDP jitter + operation which uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.9"; + } + + leaf cipslaUdpJitterTmplInterval { + type uint32 { + range "4..60000"; + } + units "milliseconds"; + description + "This value represents the inter-packet delay between packets + and is in milliseconds."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.10"; + } + + leaf cipslaUdpJitterTmplNumPkts { + type uint32 { + range "1..60000"; + } + units "packets"; + description + "This value represents the number of packets that need to be + transmitted."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.11"; + } + + leaf cipslaUdpJitterTmplSrcAddrType { + type inet-address:InetAddressType; + description + "An enumerated value which specifies the IP address type + of the source. It must be used along with the + cipslaUdpJitterTmplSrcAddr object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.12"; + } + + leaf cipslaUdpJitterTmplSrcAddr { + type inet-address:InetAddress; + description + "This field specifies the IP address of the source."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.13"; + } + + leaf cipslaUdpJitterTmplSrcPort { + type inet:port-number; + description + "This object represents the source's port number. If this + object is not specified, the application will get a + port allocated by the system."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.14"; + } + + leaf cipslaUdpJitterTmplPrecision { + type enumeration { + enum "milliseconds" { + value "1"; + } + enum "microseconds" { + value "2"; + } + } + description + "This object specifies the accuracy of jitter statistics in + rttMonJitterStatsTable that needs to be calculated. + milliseconds(1) - The accuracy of stats will be of milliseconds. + microseconds(2) - The accuracy of stats will be in microseconds."; + smiv2:defval "milliseconds"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.15"; + } + + leaf cipslaUdpJitterTmplReqDataSize { + type uint32 { + range "16..65024"; + } + units "octets"; + description + "This object represents the number of octets to be + placed into the ARR Data portion of the request + message, when using SNA protocols. + + For non-ARR protocols' IP SLA request/responses, + this value represents the native payload size. + + REMEMBER: The ARR Header overhead is not included + in this value."; + smiv2:defval "32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.16"; + } + + leaf cipslaUdpJitterTmplPktPriority { + type enumeration { + enum "normal" { + value "1"; + } + enum "high" { + value "2"; + } + } + description + "This object specifies the priority that will be assigned + to operation packet. + + normal(1) - The packet is of normal priority. + high(2) - The packet is of high priority."; + smiv2:defval "normal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.17"; + } + + leaf cipslaUdpJitterTmplTOS { + type uint32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.18"; + } + + leaf cipslaUdpJitterTmplVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This field is used to specify the VRF name in + which the IP SLA operation will be used. For regular IP SLA + operation this field should not be configured. The agent + will use this field to identify the VPN routing table for + this operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.19"; + } + + leaf cipslaUdpJitterTmplThreshold { + type uint32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the IP SLA operation time exceeds this limit, then + one threshold crossing occurrence will be counted."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.20"; + } + + leaf cipslaUdpJitterTmplNTPTolAbs { + type uint32 { + range "0..100000"; + } + units "microseconds"; + description + "This object specifies the total clock synchronization error + on source and responder that is considered tolerable for + oneway measurement when NTP is used as clock synchronization + mechanism. The total clock synchronization error is sum of + NTP offsets on source and responder. The value specified is + microseconds. This value can be set only for UDP jitter operation + with precision of microsecond."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.21"; + } + + leaf cipslaUdpJitterTmplNTPTolPct { + type uint32 { + range "0..100"; + } + description + "This object specifies the total clock synchronization error + on source and responder that is considered tolerable for + oneway measurement when NTP is used as clock synchronization + mechanism. The total clock synchronization error is sum of + NTP offsets on source and responder. The value is expressed + as the percentage of actual oneway latency that is measured. + This value can be set only for UDP jitter operation with precision + of microsecond."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.22"; + } + + leaf cipslaUdpJitterTmplNTPTolType { + type enumeration { + enum "percent" { + value "1"; + } + enum "absolute" { + value "2"; + } + } + description + "This object specifies whether the value specified for oneway + NTP sync tolerance is absolute value or percent value. + + percent(1) - The value for oneway NTP sync tolerance is + absolute value. + absolute(2) - The value for oneway NTP sync tolerance is + percent value."; + smiv2:defval "percent"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.23"; + } + + leaf cipslaUdpJitterTmplIcpifFactor { + type uint32 { + range "0..20"; + } + description + "The advantage factor is dependant on the type of access and + how the service is to be used. + Conventional Wire-line 0 + Mobility within Building 5 + Mobility within geographic area 10 + Access to hard-to-reach location 20 + + It is used when calculating the ICPIF value."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.24"; + } + + leaf cipslaUdpJitterTmplStatsHours { + type uint32 { + range "0..25"; + } + units "hours"; + description + "The maximum number of hours for which statistics are + maintained. Specifically this is the number of hourly + groups to keep before rolling over. + + The value of one is not advisable because the hourly + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value of zero will shut off data collection."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.25"; + } + + leaf cipslaUdpJitterTmplDistBuckets { + type uint32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + buckets to accumulate. + + Since this index does not rollover, only the first + cipslaUdpJitterTmplDistBuckets will be kept. + + The last bucket will contain all entries from its + distribution interval start point to infinity."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.26"; + } + + leaf cipslaUdpJitterTmplDistInterval { + type uint32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + cipslaUdpJitterTmplDistBuckets = 5 buckets + cipslaUdpJitterTmplDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + cipslaUdpJitterTmplDistBuckets = 1 buckets + cipslaUdpJitterTmplDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + cipslaUdpJitterTmplDistInterval does not apply when + cipslaUdpJitterTmplDistBuckets is one."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.27"; + } + + leaf cipslaUdpJitterTmplStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.28"; + } + + leaf cipslaUdpJitterTmplRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual UDP Jitter template control row. + When the status is active, all the read-create objects in that + row can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.1.1.30"; + } + } + } + + container cipslaIcmpJitterTmplTable { + description + "A table that contains ICMP jitter template specific definitions."; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2"; + + list cipslaIcmpJitterTmplEntry { + key "cipslaIcmpJitterTmplName"; + description + "A row entry representing an IP SLA ICMP Jitter template."; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1"; + + leaf cipslaIcmpJitterTmplName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "A string which specifies the ICMP jitter template name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.1"; + } + + leaf cipslaIcmpJitterTmplDescription { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "A string which provides description of ICMP Jitter + template."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.2"; + } + + leaf cipslaIcmpJitterTmplTimeOut { + type uint32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for a IP SLA operation + completion. + + For connection oriented protocols, this may cause the + connection to be closed by the operation. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.3"; + } + + leaf cipslaIcmpJitterTmplVerifyData { + type boolean; + description + "When set to true, the resulting data in each IP SLA + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.4"; + } + + leaf cipslaIcmpJitterTmplNumPkts { + type uint32 { + range "1..60000"; + } + units "packets"; + description + "This value represents the number of packets that need to be + transmitted."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.5"; + } + + leaf cipslaIcmpJitterTmplInterval { + type uint32 { + range "4..60000"; + } + units "milliseconds"; + description + "This value represents the inter-packet delay between packets + and is in milliseconds."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.6"; + } + + leaf cipslaIcmpJitterTmplSrcAddrType { + type inet-address:InetAddressType; + description + "An enumerated value which specifies the IP address type + of the source. It must be used along with the + cipslaIcmpJitterTmplSrcAddr object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.7"; + } + + leaf cipslaIcmpJitterTmplSrcAddr { + type inet-address:InetAddress; + description + "A string which specifies the IP address of the source."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.8"; + } + + leaf cipslaIcmpJitterTmplTOS { + type uint32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.9"; + } + + leaf cipslaIcmpJitterTmplVrfName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This field is used to specify the VRF name in + which the IP SLA operation will be used. For regular IP SLA + operation this field should not be configured. The agent + will use this field to identify the VPN routing Table for + this operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.10"; + } + + leaf cipslaIcmpJitterTmplThreshold { + type uint32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the IP SLA operation time exceeds this limit, then + one threshold crossing occurrence will be counted."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.11"; + } + + leaf cipslaIcmpJitterTmplStatsHours { + type uint32 { + range "0..25"; + } + units "hours"; + description + "The maximum number of hourss for which statistics are + maintained. Specifically this is the number of hourly + groups to keep before rolling over. + + The value of one is not advisable because the hourly + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value of zero will shut off data collection."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.12"; + } + + leaf cipslaIcmpJitterTmplDistBuckets { + type uint32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + buckets to accumulate. + + Since this index does not rollover, only the first + cipslaIcmpJitterTmplDistBuckets will be kept. + + The last bucket will contain all entries from its + distribution interval start point to infinity."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.13"; + } + + leaf cipslaIcmpJitterTmplDistInterval { + type uint32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + cipslaIcmpJitterTmplDistBuckets = 5 buckets + cipslaIcmpJitterTmplDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + cipslaIcmpJitterTmplDistBuckets = 1 buckets + cipslaIcmpJitterTmplDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + cipslaIcmpJitterTmplDistInterval does not apply when + cipslaIcmpJitterTmplDistBuckets is one."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.14"; + } + + leaf cipslaIcmpJitterTmplStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.15"; + } + + leaf cipslaIcmpJitterTmplRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual ICMP jitter template control row. + When the status is active, all the read-create objects in + that row can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.635.1.2.1.16"; + } + } + } + } + + smiv2:alias "ciscoIpSlaJitterMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.635"; + } + + smiv2:alias "ciscoIpSlaJitterMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.635.0"; + } + + smiv2:alias "ciscoIpSlaJitterMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.635.1"; + } + + smiv2:alias "ciscoIpSlaJitterMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.635.2"; + } + + smiv2:alias "ciscoIpSlaJitterMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.635.2.1"; + } + + smiv2:alias "ciscoIpSlaJitterMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.635.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-TC-MIB.yang new file mode 100644 index 000000000..0d12ad5bd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-IPSLA-TC-MIB.yang @@ -0,0 +1,270 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-IPSLA-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-IPSLA-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-IPSLA-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB"; + prefix CISCO-IPSLA-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + Email: cs-ipsla@cisco.com"; + + description + "This MIB contains textual conventions used by + CISCO IPSLA MIBs. + + Acronyms: + FEC: Forward Equivalence Class + LPD: Label Path Discovery + LSP: Label Switched Path + MPLS: Multi Protocol Label Switching + RTT: Round Trip Time + SAA: Service Assurance Agent + SLA: Service Level Agreement + VPN: Virtual Private Network + ICPIF: Calculated Planning Impairment Factor"; + + revision 2007-03-23 { + description + "Initial version of this MIB module."; + } + + typedef IpSlaOperType { + type enumeration { + enum "icmpEcho" { + value "1"; + } + enum "udpEcho" { + value "2"; + } + enum "tcpConnect" { + value "3"; + } + enum "udpJitter" { + value "4"; + } + enum "icmpJitter" { + value "5"; + } + } + description + "Specifies the type of IP SLA operation to be performed. + + icmpEcho(1) - The value 'icmpEcho' will cause the + IP SLA application to perform a timed + ICMP echo request/response operation. + + + udpEcho(2) - The value 'udpEcho' will cause the IP SLA + application to perform a timed udp packet + send/receive operation. + + tcpConnect(3) - The value 'tcpConnect' will cause the IP + SLA application to perform a timed TCP + connect operation. + + udpJitter(4) - The value 'udpjitter' will cause the IP + SLA application to perform delay variance + analysis using UDP timestamp packets. + + icmpjitter(5) - The value 'icmpjitter' will cause the IP + SLA application to perform delay variance + analysis using ICMP timestamp packets."; + } + + typedef IpSlaCodecType { + type enumeration { + enum "notApplicable" { + value "0"; + } + enum "g711ulaw" { + value "1"; + } + enum "g711alaw" { + value "2"; + } + enum "g729a" { + value "3"; + } + } + description + "Specifies the IP SLA codec type to be used with the UDP + jitter operation. The following codec types are defined: + + notApplicable(0) - no CodecType is defined + + g711ulaw(1) - uses G.711 U Law 64000 bps + + g711alaw(2) - uses G.711 A Law 64000 bps + + g729a(3) - uses G.729 8000 bps"; + } + + typedef IpSlaReactVar { + type enumeration { + enum "rtt" { + value "1"; + } + enum "jitterSDAvg" { + value "2"; + } + enum "jitterDSAvg" { + value "3"; + } + enum "packetLossSD" { + value "4"; + } + enum "packetLossDS" { + value "5"; + } + enum "mos" { + value "6"; + } + enum "timeout" { + value "7"; + } + enum "connectionLoss" { + value "8"; + } + enum "verifyError" { + value "9"; + } + enum "jitterAvg" { + value "10"; + } + enum "icpif" { + value "11"; + } + enum "packetMIA" { + value "12"; + } + enum "packetLateArrival" { + value "13"; + } + enum "packetOutOfSequence" { + value "14"; + } + enum "maxOfPositiveSD" { + value "15"; + } + enum "maxOfNegativeSD" { + value "16"; + } + enum "maxOfPositiveDS" { + value "17"; + } + enum "maxOfNegativeDS" { + value "18"; + } + enum "successivePacketLoss" { + value "19"; + } + enum "maxOfLatencyDS" { + value "20"; + } + enum "maxOfLatencySD" { + value "21"; + } + enum "latencyDSAvg" { + value "22"; + } + enum "latencySDAvg" { + value "23"; + } + enum "packetLoss" { + value "24"; + } + } + description + "The following are specific reaction variables for an + IP SLA operation to react upon: + + rtt(1) - Round Trip Time + + jitterSDAvg(2) - Jitter average from source to + destination + + jitterDSAvg(3) - Jitter average from destination + to source + + packetLossSD(4) - Packet loss from source to + destination + + packetLossDS(5) - Packet loss from destination + to source + + mos(6) - Mean Opinion Score + + timeout(7) - Timeout of the operation + + connectionLoss(8) - Connection failed to the destination + + verifyError(9) - Data corruption occurs + + jitterAvg(10) - Jitter average in both directions + + icpif(11) - Calculated Planning Impairment Factor + + packetMIA(12) - Missed packets in operation + + packetLateArrival(13) - Packets arriving late + + packetOutOfSequence(14) - Packets arriving out of sequence + + maxOfPositiveSD(15) - Maximum positive jitter from + source to destination + + maxOfNegativeSD(16) - Maximum negative jitter from + source to destination + + maxOfPositiveDS(17) - Maximum positive jitter from + destination to source + + maxOfNegativeDS(18) - Maximum negative jitter from + destination to source. + + successivePacketLoss(19)- Successive packet dropped + + maxOfLatencyDS(20) - Maximum Latency from + Destination to Source + + maxOfLatencySD(21) - Maximum Latency from Source + to Destination + + latencyDSAvg(22) - Latency average from Destination + to Source + + latencySDAvg(23) - Latency average from Source + to Destination + + packetLoss(24) - Packets loss in both directions"; + } + + smiv2:alias "ciscoIpSlaTCMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.624"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-LICENSE-MGMT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-LICENSE-MGMT-MIB.yang new file mode 100644 index 000000000..6e39425ec --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-LICENSE-MGMT-MIB.yang @@ -0,0 +1,3453 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-LICENSE-MGMT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-LICENSE-MGMT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-LICENSE-MGMT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB"; + prefix CISCO-LICENSE-MGMT-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + + San Jose, CA 95134 + + USA + + Tel: +1 800 553 -NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for managing licenses on the system. + The licensing mechanism provides flexibility to + enforce licensing for various features in the system. + + The following text introduces different concepts and + terms those are necessary to understand the MIB definition + and to perform license management. + + UDI + Universal Device Identifier that uniquely identifies a + device. It comprises of product ID, version ID and serial + number of the device. + + NODE LOCKED LICENSE: + Node locked licenses are locked to one of the device + identifiers in the system. For example, the license + can be locked to the UDI value of one of the devices + in the system. Locking a license to an UDI guarantees + that the license will not be moved to a device with a + different UDI. + + NON-NODE LOCKED LICENSE: + Non-node locked licenses are not locked to any device + identifier. They can be used on other similar devices. + + METERED LICENSE: + Metered licenses are valid for limited period of time + and they expire after that. This period is the usage + period of a license and it is not based on real time + clock, but system clock. + + EULA: + End User License Agreement. + + EVALUATION LICENSE: + Evaluation licenses are non-node locked metered + licenses which are valid only for a limited period. + They are used only when there are no permanent, + extension or grace period licenses for a feature. + User will have to accept EULA (End User License + Agreement) before using an evaluation license. Even + though they are not node locked, their usage is + recorded on the device. + + RIGHT TO USE (RTU) LICENSE: + Right to use license is a non-node locked metered + license which is in evaluation mode for a limited + time after which it is converted to Right To Use (RTU) + license and is valid for the lifetime of the product. + User will have to accept EULA (End User License Agreement) + before using this license. Even though it is not node + locked, usage information is recorded on the device. + + EXTENSION LICENSE: + Extension licenses are node locked metered licenses. + These licenses are issued by Cisco's licensing portal. + These licenses need to be installed using management + interfaces on the device. User will have to accept an + EULA as part of installation of extension license. + + GRACE PERIOD LICENSE: + Grace period licenses are node locked metered licenses. + These licenses are issued by Cisco's licensing portal + as part of the permission ticket to rehost a license. + These licenses are installed on the device as part of + the rehost operation. User will have to accept an + EULA as part of the rehost operation for this type + of license. Details on permission ticket, rehost + operations are provided further down in this + description clause. + + PERMANENT LICENSE: + Permanent licenses are node locked licenses that have + no usage period associated with them. These licenses + are issued by Cisco's licensing portal. These licenses + need to be installed using management interfaces on + the device. Once these licenses are installed, they + will provide needed permission for the feature/image + across different versions. + + COUNTED LICENSE: + Counted licenses limit the number of similar entities + that can use the license. For example, a counted + license when used by a feature can limit the number + of IP phones that can connect or the number of tunnels + that can be created. + + UNCOUNTED LICENSE: + Uncounted licenses do not limit the number of similar + entities that can use the licenses. + + License can be enforced at the image level or at the feature + level and this MIB module supports both. + + IMAGE LEVEL LICENSING: + A universal image that contains all levels of + software packages is loaded on to the device. At boot + time, the device determines the highest level of license + and brings up the appropriate software features or + subsystems. + + FEATURE LEVEL LICENSING: + Feature level licensing will support enforcement of + license at individual feature. Features have to check + for their licenses before enabling themselves. If it + does not have a license, the feature should disable + itself. + + There is a one-to-one relationship between + a feature and a license. That is, a feature can use + only one license at a time and a license can be used + by only one feature at a time. + + LICENSE LINE: + A License line is an atomic set of ASCII characters + arranged in a particular format that holds the license + for a single feature within it. A line has all the + necessary fields and attributes that make it a valid, + non-tamper able and complete license. + + LICENSE FILE: + File generated by Cisco licensing portal. It is used + to install license on product. It has a user readable + part and it contains one or more license lines. + + DEVICE CREDENTIALS: + Device credentials file is a document that is generated + by a licensed device. This document establishes the + identity of the device and proves that the sender/user + has/had authorized access to the device. + + REHOST: + Rehost operation allows a node locked license that + is installed on a device to be installed on other + similar device. As part of rehost operation, a device + processes the permission ticket, revokes the license(s) + on the device and generates a rehost ticket as the + proof of revocation. This rehost ticket needs to be + presented to the Cisco's licensing portal to get the + license transferred on to a new similar device. + + PERMISSION TICKET: + Permission ticket is a document generated by Cisco + licensing portal that allows a device to rehost its + licenses. + + REHOST TICKET: + Rehost ticket is document generated by a device after + it has applied a permission ticket. The rehost ticket + is a proof of revocation. + + LICENSING PORTAL: + Generates licenses, permission tickets and verifies + device credentials and rehost tickets. + + This MIB module provides MIB objects to install, clear, + revoke licenses. It also provides objects to regenerate + last rehost ticket, backup all the licenses installed + on a device, generate & export EULA for licenses. + + STEPS TO INSTALL A LICENSE: + To install a license, the management application + 1. Retrieves device credentials of the device. + 2. Communicates with Cisco's licensing portal to get + the license file, uses device credentials to identify + the device + 3. Executes the license install action. + + STEPS TO CLEAR A LICENSE: + To clear a license, the management application + 1. Identifies the license to be cleared using license + index. + 2. Executes the license clear action. + + STEPS TO REHOST A LICENSE: + To rehost a license, the management application + 1. Retrieves device credentials of the device. + 2. Communicates with Cisco's licensing portal to get + the permission ticket, uses device credentials to + identify the device. + 3. Executes the processPermissionTicket action. Device + revokes the license and generates rehost ticket to be + submitted as proof of revocation. + 4. Retrieves device credentials of the device where the + license needs to be transferred to. + 5. Submits rehost ticket as proof of revocation to + Cisco's licensing portal, uses device credentials of + the new device to identify the device, gets license + file. + 6. Executes the license install action on the new + device. + + STEPS TO REGENERATE LAST REHOST TICKET: + To regenerate last rehost ticket, the management + application + 1. Retrieves device credentials of the device. + 2. Uses already obtained permission ticket or + communicates with Cisco's licensing portal to get + the permission ticket, uses device credentials to + identify the device. + 3. Executes the regenerateLastRehostTicket action. + Device generates rehost ticket to be submitted as + proof of revocation. + + STEPS TO BACKUP ALL LICENSES: + To backup all licenses installed in the device, the + management application + 1. Specifies the backup file path. + 2. Executes the license backup action. + + STEPS TO GENERATE & EXPORT EULA: + To install certain kind of licenses, the management + application must accept EULA first. The management + application can generate and export EULA for one or + more licenses with out installing licenses as follows. + 1. Specifies the license file path that has licenses to be + installed + 2. Specifies the EULA file path where EULA need to be + exported to + 3. Executes the generate EULA action. + + To support the various license actions, this MIB module + also defines MIB objects to know if a device supports + licensing, retrieve device credentials, retrieve + information on license stores in the device. + + It also defines MIB objects to expose management + information associated with the licenses installed on the + device, with the licensable features in the software image. + + This MIB module also defines various notifications that + will be triggered to asynchronously notify the management + application of any critical events. + + This MIB module is defined generically so it can be + implemented on stand alone devices or stack of devices. + In stack of devices, one device in the stack acts as + master agent and rest are slave agents. Each device in the + stack has its own UDI. The master agent receives requests + on behalf of all the devices in the stack including itself + and delegates it to other devices as needed. It also + collects responses from other devices and sends them to + the management application. Examples of such devices include + stackable switches, devices with route processor and line + cards. On the other hand, stand alone device is a single + device and has only one UDI associated with it. + + entPhysicalIndex imported from ENTITY-MIB is used to + identify the device uniquely. It is specified as the index + or one of the index for tables in this MIB as needed."; + + revision 2012-04-19 { + description + "This version of the MIB adds support for Permanent Right to use (RTU) + licensing. The revisions are: + o Updated clmgmtLicenseType object to support the following new + types of license: + permanentRightToUse + + The new module compliance is ciscoLicenseMgmtComplianceRev1."; + } + + revision 2011-04-19 { + description + "This version of the MIB adds support for Right to use (RTU) + licensing. The revisions are: + o Added RTU license definition to MIB description above. + o Updated clmgmtLicenseType object to support the following new + types of license: + evalRightToUse + rightToUse + o Added following objects to clmgmtLicenseInfoTable + clmgmtLicensePeriodUsed + o Added following objects to clmgmtLicensableFeatureTable + clmgmtFeaturePeriodUsed + o Added the following notifications + clmgmtLicenseEvalRTUTransitionWarning + clmgmtLicenseEvalRTUTransition + o Added the following conformance groups + clmgmtLicenseRTUGroup + clmgmtLicenseRTUUsageNotifGroup + + The new module compliance is ciscoLicenseMgmtComplianceRev1."; + } + + revision 2008-11-21 { + description + "This version of the MIB adds support for subscription + licensing. Subscription licenses provide software + enforcement for a licensed feature for a fixed calendar + period. The revisions are: + o Updated clmgmtLicenseType object to support the following three + new types of licenses: + paidSubscription + evaluationSubscription + extensionSubscription + o Added following objects to clmgmtLicenseInfoTable + clmgmtLicenseStartDate + clmgmtLicenseEndDate + o Added following objects to clmgmtLicensableFeatureTable + clmgmtFeatureStartDate + clmgmtFeatureEndDate + o Added the following notifications + clmgmtLicenseSubscriptionExpiryWarning + clmgmtLicenseSubscriptionExtExpiryWarning + clmgmtLicenseSubscriptionExpired + o Added the following conformance groups + clmgmtLicenseSubscriptionGroup + clmgmtLicenseSubscriptionUsageNotifGroup + The new module compliance is ciscoLicenseMgmtComplianceRev1."; + } + + revision 2006-10-03 { + description + "Initial version of this MIB module."; + } + + typedef ClmgmtLicenseIndex { + type uint32 { + range "1..4294967295"; + } + description + "A unique value, for each license in the managed system. + It is not necessary to have values assigned contiguously. + The value for each license must remain constant + at least from one re-initialization of the entity's + network management system to the next re-initialization"; + } + + typedef ClmgmtLicenseIndexOrZero { + type uint32; + description + "This textual convention is an extension of the ClmgmtLicenseIndex + convention. The latter defines a greater than zero value + used to identify a license in the managed system. This + extension permits the additional value of zero. The value + zero is object-specific and must therefore be defined as + part of the description of any object which uses this + syntax. Examples of the usage of zero might include + situations where license was not present or unknown."; + } + + typedef ClmgmtLicenseTransferProtocol { + type enumeration { + enum "none" { + value "1"; + } + enum "local" { + value "2"; + } + enum "tftp" { + value "3"; + } + enum "ftp" { + value "4"; + } + enum "rcp" { + value "5"; + } + enum "http" { + value "6"; + } + enum "scp" { + value "7"; + } + enum "sftp" { + value "8"; + } + } + description + "The transfer protocol that should be used for copying files + when performing license management. When the protocol is + set to local(2), local file system (flash or disk) is used. + Different agents may support different transfer protocols + and the management application is expected to some how determine + which protocol is supported and use."; + } + + typedef ClmgmtLicenseActionState { + type enumeration { + enum "none" { + value "1"; + } + enum "pending" { + value "2"; + } + enum "inProgress" { + value "3"; + } + enum "successful" { + value "4"; + } + enum "partiallySuccessful" { + value "5"; + } + enum "failed" { + value "6"; + } + } + description + "The state of license action execution. + + none(1) - action is not yet scheduled to be + executed. + + pending(2) - All the required parameters for the + action are set and the action is + scheduled to be executed. + + inProgress(3) - action execution has started and is + in progress. + + successful(4) - action has completed successfully. + + partiallySuccessful(5) - action has completed, but was + partially successful. Management + application can query additional MIB + objects to know what is successful + and what has failed. These addtional + objects are listed in the + description of the corresponding + action tables. + + failed(6) - action has failed."; + } + + typedef ClmgmtLicenseActionFailCause { + type enumeration { + enum "none" { + value "1"; + } + enum "generalFailure" { + value "2"; + } + enum "transferProtocolNotSupported" { + value "3"; + } + enum "fileServerNotReachable" { + value "4"; + } + enum "unrecognizedEntPhysicalIndex" { + value "5"; + } + enum "invalidLicenseFilePath" { + value "6"; + } + enum "invalidLicenseFile" { + value "7"; + } + enum "invalidLicenseLine" { + value "8"; + } + enum "licenseAlreadyExists" { + value "9"; + } + enum "licenseNotValidForDevice" { + value "10"; + } + enum "invalidLicenseCount" { + value "11"; + } + enum "invalidLicensePeriod" { + value "12"; + } + enum "licenseInUse" { + value "13"; + } + enum "invalidLicenseStore" { + value "14"; + } + enum "licenseStorageFull" { + value "15"; + } + enum "invalidPermissionTicketFile" { + value "16"; + } + enum "invalidPermissionTicket" { + value "17"; + } + enum "invalidRehostTicketFile" { + value "18"; + } + enum "invalidRehostTicket" { + value "19"; + } + enum "invalidLicenseBackupFile" { + value "20"; + } + enum "licenseClearInProgress" { + value "21"; + } + enum "invalidLicenseEULAFile" { + value "22"; + } + } + description + "Reason for license action failure. Defines error codes for + all the license actions. + + none(1) - action execution has not + started yet. If the action + is completed and the action + is successful, then also + none(1) is returned to + indicate that there are no + errors. + generalFailure(2) - General licensing failure. + This will be used for resource + unavailability failures. + Ex: Lack of memory. + transferProtocolNotSupported(3) - protocol selected is not + supported. + fileServerNotReachable(4) - file server is not reachable. + unrecognizedEntPhysicalIndex(5) - entPhysicalIndex is not + valid + invalidLicenseFilePath(6) - The license file path is not + accessible. + invalidLicenseFile(7) - Contents of license file are + not valid. + invalidLicenseLine(8) - License string in the license + file is not valid. + licenseAlreadyExists(9) - Management application is trying + to install a license that already + exists. + licenseNotValidForDevice(10) - This license is not valid for + the device/entPhysicalIndex + specified. + invalidLicenseCount(11) - Invalid count for this counted + license. + invalidLicensePeriod(12) - Validity period is invalid for + this expiring license. + licenseInUse(13) - License file is in use by a + feature/image. + invalidLicenseStore(14) - License store is not valid. + licenseStorageFull(15) - There is no more space in the + license storage. + invalidPermissionTicketFile(16) - The permission ticket file + path is not accecssible. + invalidPermissionTicket(17) - The permission ticket file + contents are not valid. + invalidRehostTicketFile(18) - The rehost ticket file path is + not accessible. + invalidRehostTicket(19) - The rehost ticket file contents + are not valid. + invalidLicenseBackupFile(20) - License backup store path + is not accessible. + licenseClearInProgress(21) - When license clear action is + in progress, license backup + action is not permitted to + avoid race conditions. This + error code is sent back in + response to a license backup + action when a license clear + action is in progress or in + pending state. Try again in few + seconds. + invalidLicenseEULAFile(22) - EULA file path is not accessible."; + } + + + container CISCO-LICENSE-MGMT-MIB { + config false; + + container clmgmtLicenseConfiguration { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1"; + + leaf clmgmtNextFreeLicenseActionIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object contains appropriate value for + clmgmtLicenseActionIndex that can be used to create + an entry in clmgmtLicenseActionTable. The management application + should read this object first and then use this as the + value for clmgmtLicenseActionIndex to avoid collisions + when creating entries in clmgmtLicenseActionTable. + Following this approach does not guarantee collision free + row creation, but will reduce the probability. The + collision will happen if two management applications read this + object at the same time and attempt to create an entry + with this value at the same time. In this case, the + management application whose request is processed after the first + request will get an error and the process of reading this object + and entry creation needs to be repeated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.1"; + } + } + + container clmgmtLicenseDeviceInformation { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3"; + + leaf clmgmtNextFreeDevCredExportActionIndex { + type uint32; + description + "This object contains appropriate value for + clmgmtDevCredExportActionIndex that can be used to create + an entry in clmgmtDevCredExportActionTable. The management + application should read this object first and then use this + as the value for clmgmtDevCredExportActionIndex to avoid + collisions when creating entries in + clmgmtDevCredExportActionTable. Following this approach does + not guarantee collision free row creation, but will reduce + the probability. The collision will happen if two + management applications read this object at the same time and + attempt to create an entry with this value at the same time. + In this case, the management application whose request is + processed after the first request will get an error and the + process of reading this object and entry creation needs to be + repeated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.1"; + } + } + + container clmgmtLicenseNotifObjects { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.4"; + + leaf clmgmtLicenseUsageNotifEnable { + type boolean; + description + "This object indicates whether the device should generate + the notifications related to usage of licenses. This object + enables/disables sending following notifications: + clmgmtLicenseExpired + clmgmtLicenseExpiryWarning + clmgmtLicenseUsageCountExceeded + clmgmtLicenseUsageCountAboutToExceed + clmgmtLicenseSubscriptionExpiryWarning + clmgmtLicenseSubscriptionExtExpiryWarning + clmgmtLicenseSubscriptionExpired + clmgmtLicenseEvalRTUTransitionWarning + clmgmtLicenseEvalRTUTransition"; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.4.1"; + } + + leaf clmgmtLicenseDeploymentNotifEnable { + type boolean; + description + "This object indicates whether the device should generate + notifications related to license deployment. This object + enables/disables sending following notifications: + clmgmtLicenseInstalled + clmgmtLicenseCleared + clmgmtLicenseRevoked + clmgmtLicenseEULAAccepted"; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.4.2"; + } + + leaf clmgmtLicenseErrorNotifEnable { + type enumeration { + enum "other" { + value "0"; + } + enum "true" { + value "1"; + } + enum "false" { + value "2"; + } + } + description + "This object indicates whether the device should generate + notifications related to error conditions in enforcing + licensing. This object enables/disables sending following + notifications: + clmgmtLicenseNotEnforced"; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.4.3"; + } + } + + container clmgmtLicenseActionTable { + description + "A table for invoking license management actions. Management + application must create a row in this table to trigger any of + the license management actions. The following are different + actions that can be executed using this table. + 1. install + 2. clear + 3. processPermissionTicket + 4. regenerateLastRehostTicket + 5. backup + 6. generateEULA + + Refer to the description of clmgmtLicenseAction for more + information on what these actions do on the device. + Once the request completes, the management application should + retrieve the values of the objects of interest, and then + delete the entry. In order to prevent old entries from + clogging the table, entries will be aged out, but an entry + will never be deleted within 5 minutes of completion."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2"; + + list clmgmtLicenseActionEntry { + key "clmgmtLicenseActionIndex"; + description + "An entry for each action that is being executed or was + executed recently. The management application executes an + action + by creating this entry. This can be done in the following + 2 methods + + 1. CREATE-AND-GO method + Management application sets clmgmtLicenseActionRowStatus to + createAndGo(4) and all other required objects to valid + values in a single SNMP SET request. If all the values + are valid, the device creates the entry and executes the + action. If the SET request fails, the entry will not be + created. + 2. CREATE-AND-WAIT method + Management application sets clmgmtLicenseActionRowStatus to + createAndWait(5) to create an entry. Management application + can set all other required objects to valid + values in more than one SNMP SET request. If SET request + for any of the objects fails, management application can + set + just only that object. Once all the required objects + are set to valid values, management application triggers + action + execution by setting clmgmtLicenseActionRowStatus to + active(1). + + To stop the action from being executed, the management + application + can delete the entry by setting clmgmtLicenseActionRowStatus + to destroy(6) when clmgmtLicenseActionState is pending(2). + + The status of action execution can be known by querying + clmgmtLicenseActionState. If the action is still in + pending(2) or in inProgress(3) state, the management + application need to check back again after few seconds. + Once the action completes and status of the action is + failed(6), the reason for failure can be retrieved + from clmgmtLicenseActionFailCause. If the status of the + action is partiallySuccessful(5), results of individual + licenses can be queried from clmgmtLicenseActionResultTable. + + Not all objects in the entry are needed to execute every + action. Below is the list of actions and the required + objects that are needed to be set for executing that + action. + + 1. Installing a license + The following MIB objects need to be set for installing a + license + a. clmgmtLicenseActionTransferProtocol + b. clmgmtLicenseServerAddressType + c. clmgmtLicenseServerAddress + d. clmgmtLicenseServerUsername + e. clmgmtLicenseServerPassword + f. clmgmtLicenseFile + g. clmgmtLicenseStore + h. clmgmtLicenseStopOnFailure + i. clmgmtLicenseAcceptEULA + j. clmgmtLicenseAction + + clmgmtLicenseActionEntPhysicalIndex need not be set + explicitly for license installs. License itself identifes + the device where the license needs to be installed. + + clmgmtLicenseStore need to be set to store the licenses + in a non-default license store. But, if a license file + has more than one license and licenses need to be + installed on multiple devices (for example to multiple + members with in a stack), then value of clmgmtLicenseStore + is ignored and the licenses will be installed in default + license stores of the respective devices. + + 2. Clearing a license + The following MIB objects need to be set for clearing a + license + a. clmgmtLicenseActionEntPhysicalIndex + b. clmgmtLicenseActionLicenseIndex + c. clmgmtLicenseStore + d. clmgmtLicenseAction + + 3. Revoking a license + The following MIB objects need to be set for revoking a + license + a. clmgmtLicenseActionTransferProtocol + b. clmgmtLicenseServerAddressType + c. clmgmtLicenseServerAddress + d. clmgmtLicenseServerUsername + e. clmgmtLicenseServerPassword + f. clmgmtLicensePermissionTicketFile + g. clmgmtLicenseRehostTicketFile + h. clmgmtLicenseStopOnFailure + i. clmgmtLicenseAction + + 4. Regenerate last rehost ticket + The following MIB objects need to be set for regenerating + last rehost ticket + a. clmgmtLicenseActionTransferProtocol + b. clmgmtLicenseServerAddressType + c. clmgmtLicenseServerAddress + d. clmgmtLicenseServerUsername + e. clmgmtLicenseServerPassword + f. clmgmtLicensePermissionTicketFile + g. clmgmtLicenseRehostTicketFile + h. clmgmtLicenseStopOnFailure + i. clmgmtLicenseAction + + + 5. Save all licenses to a backup storage + The following MIB objects need to be set for storing all + licenses to a backup store + a. clmgmtLicenseActionEntPhysicalIndex + b. clmgmtLicenseActionTransferProtocol + c. clmgmtLicenseServerAddressType + d. clmgmtLicenseServerAddress + e. clmgmtLicenseServerUsername + f. clmgmtLicenseServerPassword + g. clmgmtLicenseBackupFile + h. clmgmtLicenseAction + + 6. Generate and export EULA if the licenses need EULA to be + accepted for installing. + The following MIB objects need to be set exporting required + EULAs + a. clmgmtLicenseActionTransferProtocol + b. clmgmtLicenseServerAddressType + c. clmgmtLicenseServerAddress + d. clmgmtLicenseServerUsername + e. clmgmtLicenseServerPassword + f. clmgmtLicenseFile + g. clmgmtLicenseEULAFile + h. clmgmtLicenseAction + + For any action, if clmgmtLicenseActionTransferProtocol + is set to local(2), the following objects need not be set. + a. clmgmtLicenseServerAddressType + b. clmgmtLicenseServerAddress + c. clmgmtLicenseServerUsername + d. clmgmtLicenseServerPassword + + Entry can be deleted except when clmgmtLicenseAction is set + to pending(2). All entries are volatile and are cleared + on agent reset."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1"; + + leaf clmgmtLicenseActionIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object uniquely identifies a row in + clmgmtLicenseActionTable. The management application should choose + this value by reading clmgmtNextFreeLicenseActionIndex + while creating an entry in this table. If an entry already + exists with this index, the creation of the entry will not + continue and error will be returned. The management application + should read the value of clmgmtNextFreeLicenseActionIndex + again and retry with the new value for this object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.1"; + } + + leaf clmgmtLicenseActionEntPhysicalIndex { + type entity-mib:PhysicalIndexOrZero; + description + "This object represents the entPhysicalIndex of the device + where the action is being executed. This object is mainly + used in devices where one device is acting as a master and + rest of the devices as slaves. The master device is + responsible for SNMP communication with the management + application. Examples include stackable switches, devices + with route processor and line card configuration. If this + object is not set, the license action will be executed on + the master device. Note: This object need not be set if + there is a stand alone device"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.2"; + } + + leaf clmgmtLicenseActionTransferProtocol { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseTransferProtocol; + description + "This object represents the transfer protocol to be used + when copying files as specified in the following objects. + 1. clmgmtLicenseFile + 2. clmgmtLicensePermissionTicketFile + 3. clmgmtLicenseRehostTicketFile + 4. clmgmtLicenseBackupFile + + Note: This object need not be set if the all the files + required for the action are in device's local file system."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.3"; + } + + leaf clmgmtLicenseServerAddressType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in clmgmtLicenseServerAddress object. + This must be set when clmgmtLicenseActionTransferProtocol + is not none(1) or local(2)."; + smiv2:defval "unknown"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.4"; + } + + leaf clmgmtLicenseServerAddress { + type inet-address:InetAddress; + description + "This object indicates the ip address of the server from + which the files must be read or written to if + clmgmtLicenseActionTransferProtocol is not none(1) or + local(2). + + All bits as 0s or 1s for clmgmtLicenseServerAddress are not + allowed. + + The format of this address depends on the value of the + clmgmtLicenseServerAddressType object"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.5"; + } + + leaf clmgmtLicenseServerUsername { + type snmp-framework:SnmpAdminString { + length "0..96"; + } + description + "This object indicates the remote user name for accessing + files via ftp, rcp, sftp or scp protocols. This object must + be set when the clmgmtLicenseActionTransferProtocol is + ftp(4), rcp(5), scp(7) or sftp(8). If + clmgmtLicenseActionTransferProtocol is rcp(5), the remote + username is sent as the server username in an rcp command + request sent by the system to a remote rcp server."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.6"; + } + + leaf clmgmtLicenseServerPassword { + type snmp-framework:SnmpAdminString { + length "0..96"; + } + description + "This object indicates the password used by ftp, sftp or + scp for copying a file to/from an ftp/sftp/scp server. + This object must be set when the + clmgmtLicenseActionTransferProtocol is ftp(4) or scp(7) + or sftp(8). Reading it returns a zero-length string for + security reasons."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.7"; + } + + leaf clmgmtLicenseFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object represents the location of the license file + on the server identified by clmgmtLicenseServerAddress. This + object MUST be set to a valid value before or concurrently + with setting the value of the clmgmtLicenseAction object to + install(2). For other operations, the value of this + object is not considered, it is irrelevant."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.8"; + } + + leaf clmgmtLicenseStore { + type uint32; + description + "This object represents the clmgmtLicenseStoreIndex of the + license store to use within the device. The license store + can be a local disk or flash. A device can have more than + one license stores. If this object is not set, the license + will be stored in the default license store as exposed by + clmgmtDefaultLicenseStore object."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.9"; + } + + leaf clmgmtLicenseActionLicenseIndex { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseIndexOrZero; + description + "This object indicates the the license index of the license + that is the subject of this action. This is used for + identifying a license for performing actions specific to + that license. This object need to be set only if + clmgmtLicenseAction is set to clear(4). The value of this + object is same as the clmgmtLicenseIndex object in + clmgmtLicenseInfoEntry for license that is subject of this + action."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.10"; + } + + leaf clmgmtLicensePermissionTicketFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object indicates the file name of the permission + ticket. This object need to be set only if + clmgmtLicenseAction is set to processPermissionTicket(4) + or regenerateLastRehostTicket(5) actions. The permission + ticket is obtained from Cisco licensing portal to revoke + a license. The management application must set this object + to valid value before invoking the action."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.11"; + } + + leaf clmgmtLicenseRehostTicketFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object indicates the file where the rehost ticket + generated by the device need to be exported to. The rehost + ticket is generated as a result of processPermissionTicket + and regenerateLastRehostTicket actions. After generating + the rehost ticket, the device exports the rehost ticket + contents to this file. This object need to be set only + if clmgmtLicenseAction is set to processPermissionTicket(4) + or regenerateLastRehostTicket(5) actions."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.12"; + } + + leaf clmgmtLicenseBackupFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object indicates the file where all the licenses in + the device need to be backed up. This object need to be set + only if clmgmtLicenseAction is set to backup(6) and the + management application must set the value of this object + to valid value before invoking action."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.13"; + } + + leaf clmgmtLicenseStopOnFailure { + type boolean; + description + "This object indicates whether the license action should + stop if the action on a license fails. This object is + applicable only if there are more than one licenses + involved in an action."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.14"; + } + + leaf clmgmtLicenseAction { + type enumeration { + enum "noOp" { + value "1"; + } + enum "install" { + value "2"; + } + enum "clear" { + value "3"; + } + enum "processPermissionTicket" { + value "4"; + } + enum "regenerateLastRehostTicket" { + value "5"; + } + enum "backup" { + value "6"; + } + enum "generateEULA" { + value "7"; + } + } + description + "This object indicates the the command/action to be executed. + + Command Remarks + ------- ------- + noOp(1) No operation will be + performed. + + install(2) Installs the license. + + clear(3) Clears the license. + + processPermissionTicket(4) Processes thee permission + ticket and generates and + exports rehost ticket. + + regenerateLastRehostTicket(5) Generates and exports the + last generated rehost + ticket. + + backup(6) Backs up all the licenses + installed currently onto a + backup store. + + generateEULA(7) Checks whether the licenses + in the license file need EULA + acceptance and uploads the + needed EULA contents to a file."; + smiv2:defval "noOp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.15"; + } + + leaf clmgmtLicenseActionState { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseActionState; + description + "This object indicates the state of this license action."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.16"; + } + + leaf clmgmtLicenseJobQPosition { + type uint32; + description + "This object represents the position of the action + in the license action job queue that is maintained + internally. Only actions in pending(2) state will + be put in the queue until they are executed. By + reading this object, the management application can make + intelligent decision on whether to execute another + action that it is planning on. For example, if there + is already a license clear action in the queue in + pending(2) state, management application can choose to + defer its license back up action to a later time. This + object will return a value of 0 if the action is not in + pending(2) state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.17"; + } + + leaf clmgmtLicenseActionFailCause { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseActionFailCause; + description + "This object indicates the reason for this license action + failure. The value of this object is valid only when + clmgmtLicenseActionState is failed(6)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.18"; + } + + leaf clmgmtLicenseActionStorageType { + type snmpv2-tc:StorageType; + description + "This object indicates the storage type for this conceptual + row. Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.19"; + } + + leaf clmgmtLicenseActionRowStatus { + type snmpv2-tc:RowStatus; + description + "This object indicates the the status of this table entry. + Once the entry status is set to active(1), the associated + entry cannot be modified until the action completes + (clmgmtLicenseConfigCommandStatus is set to a value + other than inProgress(3)). Once the action completes + the only operation possible after this is to delete + the row. It is recommended that the management application + should delete entries in this table after reading + the result. In order to prevent old entries from + clogging the table, entries will be aged out, but an + entry will never be deleted within 5 minutes of + completion"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.20"; + } + + leaf clmgmtLicenseAcceptEULA { + type boolean; + description + "This object indicates whether the End User License Agreement + needed for installing the licenses is accepted. + + true(1) - EULA is read and accepted + false(2) - EULA is not accepted + + Management application should set this object to true(1) when + installing licenses that need EULA acceptance."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.21"; + } + + leaf clmgmtLicenseEULAFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object indicates the file where all the End User License + Agreements (EULAs) need to be exported to. This object need to + be set only if clmgmtLicenseAction is set to generateEULA(7) and + the management application must set the value of this object to + valid value before invoking action."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.2.1.22"; + } + } + } + + container clmgmtLicenseActionResultTable { + description + "This table contains results of license action if the + license action involves multiple licenses. Entries in this + table are not created for actions where there is + only license that is subject of the action. For + example, if there are 3 licenses in a license file + when executing license install action, 3 entries will + be created in this table, one for each license."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.3"; + + list clmgmtLicenseActionResultEntry { + key "clmgmtLicenseActionIndex clmgmtLicenseNumber"; + description + "An entry in clmgmtLicenseActionResultTable. Each entry + contains result of the action for a single license. + These entries are created immediately after action + execution when the action involves multiple licenses. + These entries get automatically deleted when the + corresponding entry in clmgmtLicenseActionTable + is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.3.1"; + + leaf clmgmtLicenseActionIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseActionTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseActionEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseActionIndex"; + } + } + + leaf clmgmtLicenseNumber { + type uint32 { + range "1..4294967295"; + } + description + "This object indicates the sequence number of this license + in the list of licenses on which the action is executed. + For example, if there are 3 licenses in a license file + when executing license install action, this object will + have values 1, 2 and 3 respectively as ordered in the + license file."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.3.1.1"; + } + + leaf clmgmtLicenseIndivActionState { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseActionState; + description + "This object indicates the state of action on this + individual license."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.3.1.2"; + } + + leaf clmgmtLicenseIndivActionFailCause { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseActionFailCause; + description + "This object indicates the reason for action failure on this + individual license"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1.3.1.3"; + } + } + } + + container clmgmtLicenseStoreInfoTable { + description + "This table contains information about all the license + stores allocated on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1"; + + list clmgmtLicenseStoreInfoEntry { + key "entPhysicalIndex clmgmtLicenseStoreIndex"; + description + "An entry in clmgmtLicenseStoreInfoTable. Each entry + contains information about a license store allocated + on the device"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object uniquely identifies a license store within + the device."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1.1.1"; + } + + leaf clmgmtLicenseStoreName { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object indicates the name of the license store + within the device. It is a file in device's local file + system i.e., either on a local disk or flash or some + other storage media. For example, the value of this + object can be 'disk1:lic_store_1.txt' or + 'flash:lic_store_2.txt"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1.1.2"; + } + + leaf clmgmtLicenseStoreTotalSize { + type uint32; + units "bytes"; + description + "This object indicates the total number of bytes that are + allocated to the license store."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1.1.3"; + } + + leaf clmgmtLicenseStoreSizeRemaining { + type uint32; + units "bytes"; + description + "This object indicates the number of bytes still remaining + to be used for new license installations in the license + store."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.1.1.4"; + } + } + } + + container clmgmtLicenseDeviceInfoTable { + description + "This table contains objects that provide licensing related + information at the device level. Entries will exist + only for entities that support licensing. For example, + if it is a stand alone device and supports licensing, + then there will be only one entry in this table. If + it is stackable switch then there will be multiple + entries with one entry for each device in the stack."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.2"; + + list clmgmtLicenseDeviceInfoEntry { + key "entPhysicalIndex"; + description + "An entry in clmgmtLicenseDeviceInfoTable. Each entry + contains device level licensing information for a device."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtDefaultLicenseStore { + type uint32 { + range "1..4294967295"; + } + description + "This object indicates the clmgmtLicenseStoreIndex of + default store in the device. There will be only one + default license store per device. If no license store + is specified during license install, this default license + store will be used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.2.1.1"; + } + } + } + + container clmgmtLicenseInfoTable { + description + "This table contains information about all the licenses + installed on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3"; + + list clmgmtLicenseInfoEntry { + key "entPhysicalIndex clmgmtLicenseStoreUsed clmgmtLicenseIndex"; + description + "An entry in clmgmtLicenseInfoTable. Each entry contains + information about a license installed on the device. This + entry gets created when a license is installed successfully. + Management application can not create these entries directly, but + will do so indirectly by executing license install action. + Some of these entries may already exist that correspond to + demo licenses even before management application installs any + licenses."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the license store that is used for + storing this license. This object will have the same value + as clmgmtLicenseStoreIndex in clmgmtLicenseStoreInfoEntry + of the license store used."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.1"; + } + + leaf clmgmtLicenseIndex { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseIndex; + description + "This object uniquely identifies a license within + the device."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.2"; + } + + leaf clmgmtLicenseFeatureName { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This object indicates the name of the feature that is + using or can use this license. A license can be used by + only one feature. Examples of feature name are: 'IPBASE', + 'ADVIPSERVICE'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.3"; + } + + leaf clmgmtLicenseFeatureVersion { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This object indicates the version of the feature that is + using or can use this license. Examples of feature version + are: '1.0', '2.0'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.4"; + } + + leaf clmgmtLicenseType { + type enumeration { + enum "demo" { + value "1"; + } + enum "extension" { + value "2"; + } + enum "gracePeriod" { + value "3"; + } + enum "permanent" { + value "4"; + } + enum "paidSubscription" { + value "5"; + } + enum "evaluationSubscription" { + value "6"; + } + enum "extensionSubscription" { + value "7"; + } + enum "evalRightToUse" { + value "8"; + } + enum "rightToUse" { + value "9"; + } + enum "permanentRightToUse" { + value "10"; + } + } + description + "This object identifies type of license. Licenses may have + validity period defined in terms of time duration that the + license is valid for or it may be defined in terms of actual + calendar dates. Subscription licenses are licenses that have + validity period defined in terms of calendar dates. + + demo(1) - demo(evaluation license) license. + extension(2) - Extension(expiring) license. + gracePeriod(3) - Grace period license. + permanent(4) - permanent license, the license has no + expiry date. + paidSubscription(5) - Paid subscription licenses are the + licenses + which are purchased by customers. These + licenses have a start date and end date + associated with them. + evaluationSubscription(6)-Evaluation subscription licenses are + the trial licenses. These licenses + are node locked and it can be obtained + only once for an UDI. They are valid + based on calendar days. These licenses + have a start date and an end date + associated with them and are issued + once per UDI. + extensionSubscription(7)- Extension subscription licenses are + similar to evaluation subscription + licenses but these licenses are issued + based on customer request. There are + no restrictions on the number of + licenses available for a UDI. + evalRightToUse(8) - Evaluation Right to use (RTU) + license. + rightToUse(9) - Right to use (RTU) license. + permanentRightToUse(10) ? Right To Use license right after it is configured + and is valid for the lifetime of the product. + This is a Right To Use license which is not in + evaluation mode for a limited time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.5"; + } + + leaf clmgmtLicenseCounted { + type boolean; + description + "This object indicates whether the license is counted + license. + true(1) - counted license + false(2) - uncounted license"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.6"; + } + + leaf clmgmtLicenseValidityPeriod { + type uint32; + units "seconds"; + description + "This object indicates the time period the license is valid for. + This object is applicable only if clmgmtLicenseType is demo(1), + or extension(2) or gracePeriod(3) or evalRightToUse(8). The + object will return 0 for other license types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.7"; + } + + leaf clmgmtLicenseValidityPeriodRemaining { + type uint32; + units "seconds"; + description + "This object indicates the time period remaining before the + license expires or transitions to rightToUse(9) license. This + object is applicable only if clmgmtLicenseType is demo(1), or + extension(2) or gracePeriod(3) or evalRightToUse(8). The object + will contain 0 for other license types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.8"; + } + + leaf clmgmtLicenseExpiredPeriod { + type uint32; + units "seconds"; + description + "This object indicates the elapsed time period since the license + expired. This object is applicable only if clmgmtLicenseType + is demo(1), or extension(2) or gracePeriod(3). Also, this + value of this object will be valid only after the license + expires. The object will return 0 for other license types + or before the license expiry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.9"; + } + + leaf clmgmtLicenseMaxUsageCount { + type uint32; + description + "This object indicates the maximum number of entities that + can use this license. This object is applicable only if + clmgmtLicenseCounted is true(1). The entity that is being + counted can be anything and it depends on the licensable + feature."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.10"; + } + + leaf clmgmtLicenseUsageCountRemaining { + type uint32; + description + "This object indicates the number of entities that can + still use this license. This object is applicable only + if clmgmtLicenseCounted is true(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.11"; + } + + leaf clmgmtLicenseEULAStatus { + type boolean; + description + "This object indicates whether the user accepted + End User License Agreement for this license. + + true(1) - EULA accpeted + false(2) - EULA not accepted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.12"; + } + + leaf clmgmtLicenseComments { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object represents the user modifiable comments + about the license. This object is initially populated + with comments from the license file."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.13"; + } + + leaf clmgmtLicenseStatus { + type enumeration { + enum "inactive" { + value "1"; + } + enum "notInUse" { + value "2"; + } + enum "inUse" { + value "3"; + } + enum "expiredInUse" { + value "4"; + } + enum "expiredNotInUse" { + value "5"; + } + enum "usageCountConsumed" { + value "6"; + } + } + description + "This object represents status of the license. + + inactive(1) - license is installed, but + not active. + notInUse(2) - license is installed and + available for use. + inUse(3) - the license is being used (by + a feature). + expiredInUse(4) - license is expired but still + being held by the feature. + expiredNotInUse(5) - license is expired and not being + held by any feature. + usageCountConsumed(6) - number of entities using this + licenses has reached the allowed + limit, no new entities are allowed + to use this license."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.14"; + } + + leaf clmgmtLicenseStartDate { + type snmpv2-tc:DateAndTime; + description + "This object indicates the start date for a subscription + license. It is optional for subscription linceses to have a + start date associated with them, they may only have an end + date associated with them. This object may be applicable only + when clmgmtLicenseType is paidSubscription(5), + evaluationSubscription(6) or extensionSubscription (7). + The object will contain an octet string of length 0 when it is + not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.15"; + } + + leaf clmgmtLicenseEndDate { + type snmpv2-tc:DateAndTime; + description + "This object indicates the end date for a subscription license. + This object is applicable only when clmgmtLicenseType is + paidSubscription(5), evaluationSubscription(6) or + extensionSubscription (7). The object will contain an octet + string of length 0 when it is not applicable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.16"; + } + + leaf clmgmtLicensePeriodUsed { + type uint32; + units "seconds"; + description + "This object indicates the time period used for the + Right to use (RTU) licenses. This object is applicable for all + RTU licenses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.3.1.17"; + } + } + } + + container clmgmtLicensableFeatureTable { + description + "This table contains list of licensable features in the + image. All the licensable features will have an entry each + in this table irrespective of whether they are using any + licenses currently. Entries in this table are created by + the agent one for each licensable feature in the image. + These entries remain in the table permanently and can not + be deleted. Management application can not create or delete + entries from this table."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4"; + + list clmgmtLicensableFeatureEntry { + key "entPhysicalIndex clmgmtFeatureIndex"; + description + "An entry in clmgmtLicensableFeatureTable. Each entry represents + a licensable feature."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object uniquely identifies a licensable feature in + the device."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.1"; + } + + leaf clmgmtFeatureName { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This object indicates the name of the licensable feature + in the device. Examples of feature names are: 'IPBASE', + 'ADVIPSERVICE'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.2"; + } + + leaf clmgmtFeatureVersion { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This object indicates the version of the licensable + feature in the device. Examples of feature versions + are: '1.0' or '2.0'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.3"; + } + + leaf clmgmtFeatureValidityPeriodRemaining { + type uint32; + units "seconds"; + description + "This object indicates the time period remaining before + the feature's license expires or transitions. This object is + applicable only if clmgmtLicenseType of the license used by + this feature is demo(1), or extension(2) or gracePeriod(3) or + evalRightToUse(8). + + The object will contain 0 if other types of license is used + or if the feature does not use any license. If the + feature is using multiple licenses, this period will + represent the cumulative period remaining from all the + licenses used by this feature."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.4"; + } + + leaf clmgmtFeatureWhatIsCounted { + type snmp-framework:SnmpAdminString { + length "0..128"; + } + description + "This object represents the entity that is being counted + by this feature. Examples of entities are IP Phones, number + of sessions etc. This object is only applicable for + features that use counting licenses. For other features, + this object will return empty string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.5"; + } + + leaf clmgmtFeatureStartDate { + type snmpv2-tc:DateAndTime; + description + "This object indicates the license start date of the feature. + This object is applicable if at least one of the licenses used + for this feature has a valid start date. The start date will + be the earliest of the valid start dates of all the licenses + used for this feature. If none of the licenses used for this + feature have a valid start date then this object will contain an + octet string of length 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.6"; + } + + leaf clmgmtFeatureEndDate { + type snmpv2-tc:DateAndTime; + description + "This object indicates the license end date of the feature. + This object is applicable if at least one of the licenses used + for this feature has a valid end date. The end date will + be the latest of the valid end dates of all the licenses + used for this feature. If none of the licenses used for this + feature have a valid end date then this object will contain an + octet string of length 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.7"; + } + + leaf clmgmtFeaturePeriodUsed { + type uint32; + units "seconds"; + description + "This object indicates the license period used for the feature."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2.4.1.8"; + } + } + } + + container clmgmtDevCredExportActionTable { + description + "A table for triggering device credentials export action. + Management application must create this entry to trigger the + export of device credentials from the device to a file. + + Once the request completes, the management application should + retrieve the values of the objects of interest, and then + delete the entry. In order to prevent old entries from + clogging the table, entries will be aged out, but an entry + will never be deleted within 5 minutes of completion."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2"; + + list clmgmtDevCredExportActionEntry { + key "clmgmtDevCredExportActionIndex"; + description + "An entry for each device credential export action that + is being executed or was executed recently. The management + application triggers the export by creating an entry in this + table. This can be done in the following 2 methods + + 1. CREATE-AND-GO method + Management application sets clmgmtDevCredExportActionStatus + to createAndGo(4) and all other required objects to valid + values in a single SNMP SET request. If all the values + are valid, the device creates the entry and executes the + action. If the SET request fails, the entry will not be + created. + 2. CREATE-AND-WAIT method + Management application sets clmgmtDevCredExportActionStatus to + createAndWait(5) to create an entry. Management application + can set all other required objects to valid + values in more than one SNMP SET request. If SET request + for any of the objects fails, management application can set + just only that object. Once all the required objects + are set to valid values, management application triggers action + execution by setting clmgmtDevCredExportActionStatus to + active(1). + + To stop the action from being executed, the management application + can delete the entry by setting clmgmtDevCredExportActionStatus + to destroy(6) when clmgmtDevCredCommandState is pending(2). + + The status of action execution can be known by querying + clmgmtDevCredCommandState. If the action is still in + pending(2) or inProgress(3), the management application need to + check back again after few seconds. Once the action completes + and if status of the action is failed(6), the reason for + failure can be retrieved from clmgmtDevCredCommandFailCause. + + Entry can be deleted except when clmgmtLicenseAction is set + to inProgress(3). All entries in this table are volatile + and are cleared on agent reset."; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1"; + + leaf clmgmtDevCredExportActionIndex { + type uint32 { + range "1..4294967295"; + } + description + "This object uniquely identifies a row in + clmgmtDevCredExportActionTable. The management application + chooses this value by reading + clmgmtNextFreeDevCredExportActionIndex while creating an + entry in this table. If an entry already exists with this + index, the creation of the entry will not continue and + error will be returned. The management application should + read the value of clmgmtNextFreeDevCredExportActionIndex + again and retry with the new value for this object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.1"; + } + + leaf clmgmtDevCredEntPhysicalIndex { + type entity-mib:PhysicalIndexOrZero; + description + "This object represents the entPhysicalIndex of the device + for which the device credentials are being retrieved. This + object is mainly used in devices where one device is acting + as a master and rest of the devices as slaves. The master + device is responsible for SNMP communication with the + manager. Examples include stackable switches, devices with + router processor and line cards. + + Note: This object need not be set if it is a stand alone + device"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.2"; + } + + leaf clmgmtDevCredTransferProtocol { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseTransferProtocol; + description + "This object indicates the transfer protocol to be used when + copying files as specified in the following objects. + 1. clmgmtDevCredExportFile + ."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.3"; + } + + leaf clmgmtDevCredServerAddressType { + type inet-address:InetAddressType; + description + "This object indicates the transport type of the + address contained in clmgmtDevCredServerAddress object. + This must be set when clmgmtDevCredTransferProtocol + is not none(1) or local(2)."; + smiv2:defval "unknown"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.4"; + } + + leaf clmgmtDevCredServerAddress { + type inet-address:InetAddress; + description + "This object indicates the the ip address of the server + from which the files must be read or written to if + clmgmtDevCredTransferProtocol is not none(1) or local(2). + + All bits as 0s or 1s for clmgmtDevCredServerAddress are not + allowed. + + The format of this address depends on the value of the + clmgmtDevCredServerAddressType object"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.5"; + } + + leaf clmgmtDevCredServerUsername { + type snmp-framework:SnmpAdminString { + length "0..96"; + } + description + "This object indicates the remote user name for accessing + files via ftp, rcp, sftp or scp protocols. This object + must be set when the clmgmtDevCredTransferProtocol is + ftp(4), rcp(5), scp(7) or sftp(8). If + clmgmtDevCredTransferProtocol is rcp(5), the remote + username is sent as the server username in an rcp command + request sent by the system to a remote rcp server."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.6"; + } + + leaf clmgmtDevCredServerPassword { + type snmp-framework:SnmpAdminString { + length "0..96"; + } + description + "This object indicates the password used by ftp, sftp or + scp for copying a file to/from an ftp/sftp/scp server. + This object must be set when the + clmgmtDevCredTransferProtocol is ftp(4) or scp(7) or + sftp(8). Reading it returns a zero-length string for + security reasons."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.7"; + } + + leaf clmgmtDevCredExportFile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object represents file where device credentials needs + to be exported to."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.8"; + } + + leaf clmgmtDevCredCommand { + type enumeration { + enum "noOp" { + value "1"; + } + enum "getDeviceCredentials" { + value "2"; + } + } + description + "This object indicates the the command to be executed. + + Command Remarks + ------- ------- + noOp(1) No operation will be + performed. + + getDeviceCredentials(2) Exports device credentials"; + smiv2:defval "noOp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.9"; + } + + leaf clmgmtDevCredCommandState { + type CISCO-LICENSE-MGMT-MIB:ClmgmtLicenseActionState; + description + "This object indicates the state of the action that is + executed as a result of setting clmgmtDevCredRowStatus + to active(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.10"; + } + + leaf clmgmtDevCredCommandFailCause { + type enumeration { + enum "none" { + value "1"; + } + enum "unknownError" { + value "2"; + } + enum "transferProtocolNotSupported" { + value "3"; + } + enum "fileServerNotReachable" { + value "4"; + } + enum "unrecognizedEntPhysicalIndex" { + value "5"; + } + enum "invalidFile" { + value "6"; + } + } + description + "This object indicates the the reason for device + credentials export operation failure. + + The value of this object is valid only when + clmgmtDevCredCommandState is failed(6). + + none(1) - action execution has not started yet. + If the action is completed and the + action is successful, then also + none(1) is returned to indicate that + there are no errors. + unknownError(2) - reason for failure is unknown, + operation failed, no operation is + performed + transferProtocolNotSupported(3) - clmgmtDevCredTransferProtocol + given is not supported. + fileServerNotReachable(4) - file server is not reachable. + unrecognizedEntPhysicalIndex(5) - entPhysicalIndex is not + valid + invalidFile(6) - The target file specified is not valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.11"; + } + + leaf clmgmtDevCredStorageType { + type snmpv2-tc:StorageType; + description + "This object indicates the storage type for this conceptual + row. Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.12"; + } + + leaf clmgmtDevCredRowStatus { + type snmpv2-tc:RowStatus; + description + "This object indicates the the status of this table entry. + Once the entry status is set to active(1), the associated + entry cannot be modified until the action completes + (clmgmtDevCredCommandStatus is set to a value + other than inProgress(3)). Once the action completes + the only operation possible after this is to delete + the row. + + clmgmtDevCredExportFile is a mandatory object to be + set when creating this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3.2.1.13"; + } + } + } + } + + notification clmgmtLicenseExpired { + description + "This notification is sent, when a feature license + expires. This notification will be sent continuously + every week even after the expiry to alert the management + application."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + } + + notification clmgmtLicenseExpiryWarning { + description + "This notification is sent when a license is about to + expire. This notification will go out multiple times. + First notification goes out when expiry day is 4 weeks + ahead, second notification when expiry day is 3 weeks + ahead, third notification when expiry day is 2 weeks + ahead. This notification will go out daily in the + last week of license expiry."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureValidityPeriodRemaining { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureValidityPeriodRemaining"; + } + } + } + } + + notification clmgmtLicenseUsageCountExceeded { + description + "This notification is sent when clmgmtLicenseUsageCountRemaining + has reached clmgmtLicenseMaxUsageCount for a counting license."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.3"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseMaxUsageCount { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseMaxUsageCount"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureWhatIsCounted { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureWhatIsCounted"; + } + } + } + + container object-5 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseComments { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseComments"; + } + } + } + } + + notification clmgmtLicenseUsageCountAboutToExceed { + description + "This notification is sent when clmgmtLicenseUsageCountRemaining + has reached 80% of clmgmtLicenseMaxUsageCount for a counting + license. This is a warning notification to the management + application that very soon the maximum count will be reached + and after that the device will not allow new entities to + make use of this license."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.4"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseMaxUsageCount { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseMaxUsageCount"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseUsageCountRemaining { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseUsageCountRemaining"; + } + } + } + + container object-5 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureWhatIsCounted { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureWhatIsCounted"; + } + } + } + + container object-6 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseComments { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseComments"; + } + } + } + } + + notification clmgmtLicenseInstalled { + description + "This notification is sent when a license is installed + successfully."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.5"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseType { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseType"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseComments { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseComments"; + } + } + } + } + + notification clmgmtLicenseCleared { + description + "This notification is sent when a license is cleared + successfully."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.6"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseType { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseType"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseComments { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseComments"; + } + } + } + } + + notification clmgmtLicenseRevoked { + description + "This notification is sent when a license is revoked + successfully."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.7"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseType { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseType"; + } + } + } + + container object-4 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtLicenseStoreUsed { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseStoreUsed"; + } + } + + leaf clmgmtLicenseIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseIndex"; + } + } + + leaf clmgmtLicenseComments { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseInfoEntry/CISCO-LICENSE-MGMT-MIB:clmgmtLicenseComments"; + } + } + } + } + + notification clmgmtLicenseEULAAccepted { + description + "This notification is sent when a user accepts End User + License Agreement (EULA) for a license."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.8"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + } + + notification clmgmtLicenseNotEnforced { + description + "This notification is sent when a license does not + exist for a feature, but the feature is a mandatory + feature and it should run. This notification will be + sent out periodically to indicate that there is no + license installed for this feature and it needs to + be done as soon as possible."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.9"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + } + + notification clmgmtLicenseSubscriptionExpiryWarning { + description + "This notification is sent when a subscription license of a + feature is about to expire. This notification will be sent as + per the following schedule: + Once a week for the last eight weeks + Once a day for the last week + Once a hour for the last day"; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.10"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureEndDate { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureEndDate"; + } + } + } + } + + notification clmgmtLicenseSubscriptionExtExpiryWarning { + description + "This notification is sent when the subscription license end + date of a feature is reached but extension period is left. This + notification will be sent once a day after the license end date + is reached."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.11"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureEndDate { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureEndDate"; + } + } + } + } + + notification clmgmtLicenseSubscriptionExpired { + description + "This notification will be sent after a subscription license + of a feature completely expires. It will be sent once a day + after the license has completely expired"; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.12"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureEndDate { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureEndDate"; + } + } + } + } + + notification clmgmtLicenseEvalRTUTransitionWarning { + description + "This notification is sent when Evaluation to Right to use (RTU) + license transition is about to happen. The first notification + will be sent 10 days before the transition and second + notification will be sent 5 days before the transition."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.13"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureValidityPeriodRemaining { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureValidityPeriodRemaining"; + } + } + } + } + + notification clmgmtLicenseEvalRTUTransition { + description + "This notification is sent, when a feature license transitions + from a evaluation to a Right to use (RTU) license."; + smiv2:oid "1.3.6.1.4.1.9.9.543.0.14"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureName { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureName"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf clmgmtFeatureIndex { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureIndex"; + } + } + + leaf clmgmtFeatureVersion { + type leafref { + path "/CISCO-LICENSE-MGMT-MIB:CISCO-LICENSE-MGMT-MIB/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureTable/CISCO-LICENSE-MGMT-MIB:clmgmtLicensableFeatureEntry/CISCO-LICENSE-MGMT-MIB:clmgmtFeatureVersion"; + } + } + } + } + + smiv2:alias "ciscoLicenseMgmtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.543"; + } + + smiv2:alias "ciscoLicenseMgmtMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.543.0"; + } + + smiv2:alias "ciscoLicenseMgmtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.543.1"; + } + + smiv2:alias "clmgmtLicenseConfiguration" { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.1"; + } + + smiv2:alias "clmgmtLicenseInformation" { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.2"; + } + + smiv2:alias "clmgmtLicenseDeviceInformation" { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.3"; + } + + smiv2:alias "clmgmtLicenseNotifObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.543.1.4"; + } + + smiv2:alias "ciscoLicenseMgmtMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.543.2"; + } + + smiv2:alias "ciscoLicenseMgmtCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.543.2.1"; + } + + smiv2:alias "ciscoLicenseMgmtGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.543.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-MEDIA-GATEWAY-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-MEDIA-GATEWAY-MIB.yang new file mode 100644 index 000000000..fbf9c96b3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-MEDIA-GATEWAY-MIB.yang @@ -0,0 +1,1599 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-MEDIA-GATEWAY-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-MEDIA-GATEWAY-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-MEDIA-GATEWAY-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB"; + prefix CISCO-MEDIA-GATEWAY-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + Tel: +1 800 553-NETS + E-mail: cs-voice-gateway@cisco.com"; + + description + "The MIB module for managing Trunk Media Gateway. + + A Media Gateway is a network element that provides conversion + between the audio signals carried on telephone circuits and + data packets carried over the Internet or over other packet + data networks. + + Trunk Media Gateway interface is between the telephone network + and a Voice over IP/ATM network. + The interface on a Trunk Gateway terminates a trunk connected + to PSTN switch (e.g., Class 5, Class 4, etc.). + + Media Gateways use a call control architecture where the call + control 'intelligence' is outside the gateways and handled by + external call control elements, called Media Gateway + Controllers (MGCs). + The MGCs or Call Agents, synchronize with each other to + send coherent commands to the gateways under their control. + + MGCs use master/slave protocols to command the gateways under + their control. Examples of these protocols are: + * Simple Gateway Control Protocol + * Media Gateway Control Protocol + * Megaco (H.248) + * Simple Resource Control Protocol + + To connect MG to MGCs using these control protocols through + an IP/UDP Ports which must be configured. To resolve IP + Addresses, DNS name services may be used."; + + revision 2009-02-25 { + description + "Added object cmgwV23Enabled to + cMediaGwTable."; + } + + revision 2006-06-15 { + description + "Added object cmgwLawInterceptEnabled to + cMediaGwTable. + Added object cMediaGwCcCfgDefRtpNamePrefix to + cMediaGwCallControlConfigTable."; + } + + revision 2005-09-01 { + description + "Added object cmgwSrcFilterEnabled to + cMediaGwTable. + Added object cmgwSignalProtocolConfigVer + to cmgwSignalProtocolTable. + Added cMediaGwRscStatsTable."; + } + + revision 2004-11-19 { + description + "Added object cmgwSignalProtocolPreference to + cmgwSignalProtocolTable."; + } + + revision 2004-07-30 { + description + "(1) Added the following objects: + cmgwVtMappingMode, + cMediaGwCcCfgDefBearerTraffic, + cmgwSignalMgcProtocolPort + + (2) Added new enum 'tgcp' to cmgwSignalProtocol "; + } + + revision 2003-04-07 { + description + "Initial version of this MIB module"; + } + + typedef CGwServiceState { + type enumeration { + enum "inService" { + value "1"; + } + enum "forcedOutOfService" { + value "2"; + } + enum "gracefulOutOfService" { + value "3"; + } + } + description + "This textual convention defines the service state of media + gateway. + The possible service states are: + + inService: + Gateway is ready to provide service. + In this state, Gateway will respond to connection control + requests, send autonomous messages to the call agent + as applicable, etc. + + forcedOutOfService: + Gateway is in Out-Of-Service State. + All calls destroyed on the GW. + A Service Change message with FORCED method is sent to CA. + No new connections are allowed. + + gracefulOutOfService: + Gateway is in Out-Of-Service State. + All existing calls will not be affected. + A Service Change message with GRACEFUL method is sent to CA. + No new connections are allowed."; + } + + typedef CGwAdminState { + type enumeration { + enum "inService" { + value "1"; + } + enum "forcedOutOfService" { + value "2"; + } + enum "gracefulOutOfService" { + value "3"; + } + } + description + "This textual convention defines the administrative state of + media gateway. + + The possible administrative states are as follows: + inService: + Gateway would be restored to in-service status + and a ServiceChange with method RESTART message will be + sent to Call Agent + + forcefulOutOfService: + Gateway would be in Out-Of-Service State + Any existing connections on the GW will be deleted. + A ServiceChange with method FORCED message will be + sent to call agent. + New connections would be blocked. + + gracefulOutOfService: + Gateway would be in in Out-Of-Service State + Any existing connections on the GW will not be affected. + A ServiceChange with method GRACEFUL message will be + sent to call agent. + New connections would be blocked."; + } + + typedef GatewayLifNumber { + type uint32 { + range "1..255"; + } + description + "An index that uniquely identifies a LIF (Logical Interface) + in the media gateway. + LIF is a logical interface which groups TDM(DS1) interfaces + into packet resource partitions (PVCs) in the media gateway. + LIF is used for: + AAL5 (VoIP) switching + AAL2 (VoATM) switching, only if support virtual gateway "; + } + + typedef CVoiceTonePlanIndex { + type uint32 { + range "1..65535"; + } + description + "This textual convention defines the type of index for + identifying a voice tone plane in a Media gateway."; + } + + typedef CVoiceTonePlanIndexOrZero { + type uint32 { + range "0..65535"; + } + description + "This textual convention uniquely identifies the voice tone plan + to be used in a voice DS0 group. + + The value of 0 means the default tone plan specified in + the media gateway (the value of cMediaGwCcCfgDefaultTonePlanId) + to be used. + + A value greater than 0 means the tone plan specified by the + index of the cvtcTonePlanTable to be used (same as + cvtcTonePlanId)."; + } + + typedef CCallControlProfileIndex { + type uint32 { + range "1..65535"; + } + description + "This textual convention defines the type of index that is + used for identifying a call control profile of XGCP and + H.248 protocol."; + } + + typedef CCallControlProfileIndexOrZero { + type uint32 { + range "0..65535"; + } + description + "This textual convention is an extension of the + CCallControlProfileIndex convention. + The latter defines a greater than zero value used to identify + a call control profile in a media gateway. + This extension permits the additional value of zero. + The value of '0' means the default call control profile of the + media gateway."; + } + + typedef CCallControlJitterDelayMode { + type enumeration { + enum "adaptive" { + value "1"; + } + enum "fixed" { + value "2"; + } + } + description + "This textual convention defines the jitter buffer mode in + a call connection. + + adaptive(1) - means to use jitter nominal delay as the + initial jitter buffers size and let the DSP + pick the optimal value of the jitter buffer + size between the range of jitter maximum delay + and jitter minimum delay. + + fixed(2) - means to use a constant jitter buffer size + which is specified by jitter nominal delay."; + } + + + container CISCO-MEDIA-GATEWAY-MIB { + config false; + + container cMediaGwTable { + description + "This table contains the global media gateway parameters + information. + It supports the modification of the global media gateway + parameters."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1"; + + list cMediaGwEntry { + key "cmgwIndex"; + description + "A Media Gateway Entry. + At system power-up, an entry is created by the agent + if the system detects a media gateway module has been added + to the system, and an entry is deleted if the entry associated + media gateway module has been removed from the system."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1"; + + leaf cmgwIndex { + type int32 { + range "1..2147483647"; + } + description + "An index that uniquely identifies an entry in the + cMediaGwTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.1"; + } + + leaf cmgwDomainName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "This object is used to represent a domain name under which + the Media Gateway could also be registered in a DNS name + server. + + The value of this object reflects the value of + cmgwConfigDomainName from the entry with a value of + 'gateway(1)' for object cmgwConfigDomainNameEntity of + cMediaGwDomainNameConfigTable. + + If there is no entry in cMediaGwDomainNameConfigTable with + 'gateway(1)' of cmgwConfigDomainNameEntity, then + the value of this object will be empty string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.2"; + } + + leaf cmgwPhysicalIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "This object represents the entPhysicalIndex of the + card in which media gateway is running. It will contain + value 0 if the entPhysicalIndex value is not available or + not applicable"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.3"; + } + + leaf cmgwServiceState { + type CISCO-MEDIA-GATEWAY-MIB:CGwServiceState; + description + "This object indicates the current service state of the Media + Gateway. + This object is controlled by 'cmgwAdminState' + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.4"; + } + + leaf cmgwAdminState { + type CISCO-MEDIA-GATEWAY-MIB:CGwAdminState; + description + "This object is used to change the service state of + the Media Gateway from inService to outOfService or from + outOfService to inService. + The resulting service state of the gateway is represented + by 'cmgwServiceState'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.5"; + } + + leaf cmgwGraceTime { + type int32 { + range "-1..65535"; + } + units "seconds"; + description + "This object is used to represent grace period. + The grace period (restart delay in RSIP message) is + expressed in a number of seconds. + It means how soon the gateway will be taken out of service. + The value -1 indicates that the grace period time is + disabled."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.6"; + } + + leaf cmgwVtMappingMode { + type enumeration { + enum "standard" { + value "1"; + } + enum "titan" { + value "2"; + } + } + description + "This object is used to represent the VT (sonet Virtual + Tributary) counting. + + standard - standard counting (based on Bellcore TR253) + titan - TITAN5500 counting (based on Tellabs TITAN 5500) + + Note: 'titan' is valid only if sonet line medium type + (sonetMediumType of SONET-MIB) is 'sonet' and + sonet path payload type (cspSonetPathPayload of + CISCO-SONET-MIB) is 'vt15vc11'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.7"; + } + + leaf cmgwSrcFilterEnabled { + type boolean; + description + "This object is used to enable or disable the source IP + and port filtering with MGC for security consideration + as follows: + 'true' - source IP and port filter is enabled + 'false' - source IP and port filter is disable "; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.8"; + } + + leaf cmgwLawInterceptEnabled { + type boolean; + description + "This object is used to enable or disable the lawful + intercept for government. + as follows: + 'true' - enable lawful intercept + 'false' - disable lawful intercept"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.9"; + } + + leaf cmgwV23Enabled { + type boolean; + description + "This object is to enable or disable V23 tone. + Setting the object value to 'true', will cause VXSM (Voice Switching + Service Module) to detect V23 tone."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.1.1.10"; + } + } + } + + container cmgwSignalProtocolTable { + description + "This table contains the available signaling protocols that + are supported by the media gateway for communication with + MGCs."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2"; + + list cmgwSignalProtocolEntry { + key "cmgwIndex cmgwSignalProtocolIndex"; + description + "Each entry represents an signaling protocol supported + by the media gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwSignalProtocolIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in + cmgwSignalProtocolTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.1"; + } + + leaf cmgwSignalProtocol { + type enumeration { + enum "other" { + value "1"; + } + enum "mgcp" { + value "2"; + } + enum "h248" { + value "3"; + } + enum "tgcp" { + value "4"; + } + } + description + "This object is used to represent the protocol type. + other - None of the following types. + mgcp - Media Gateway Control Protocol + h248 - Media Gateway Control (ITU H.248) + tgcp - Trunking Gateway Control Protocol"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.2"; + } + + leaf cmgwSignalProtocolVersion { + type snmp-framework:SnmpAdminString { + length "1..16"; + } + description + "This object is used to represent the protocol version. + For example cmgwSignalProtocol is 'mgcp(2)' and + this object is string '1.0'. cmgwSignalProtocol is + 'h248(3)' and this object is set to '2.0'."; + reference + "MCGP 1.0 is documented in RFC2705."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.3"; + } + + leaf cmgwSignalProtocolPort { + type cisco-tc:CiscoPort; + description + "This object is used to represent the UDP port associated + with the protocol. + If the value of cmgwSignalProtocol is 'mgcp(2)' and the + value of cmgwSignalProtcolVersion is '1.0', the default + value of this object is '2727'. + If the value of cmgwSignalProtocol is 'h248(3)' and the + value of cmgwSignalProtcolVersion is '1.0', the default + value of this object is '2944'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.4"; + } + + leaf cmgwSignalMgcProtocolPort { + type inet:port-number; + description + "This object specifies the protocol port of the Media Gateway + Controller (MGC). + If the value of cmgwSignalProtocol is 'mgcp(2)' or 'tgcp(4)' + and the value of cmgwSignalProtcolVersion is '1.0', the + default value of this object is '2427'. + If the value of cmgwSignalProtocol is 'h248(3)' and the + value of cmgwSignalProtcolVersion is '1.0', the default + value of this object is '2944'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.5"; + } + + leaf cmgwSignalProtocolPreference { + type int32 { + range "0..255"; + } + description + "This object specifies the preference of the signal protocol + supported in the media gateway. + + If this object is set to 0, the corresponding signal + protocol will not be used by the gateway. + + The value of this object is unique within the corresponding + gateway. The entry with lower value has higher preference."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.6"; + } + + leaf cmgwSignalProtocolConfigVer { + type snmp-framework:SnmpAdminString { + length "1..16"; + } + description + "This object specifies the protocol version + used by the gateway in the messages to MGC + in order to exchange the service capabilities. + + For example cmgwSignalProtocol is 'h248(3)' and + this object can be string '1' or '1.0', '2' or '2.0'. + + 'MAX' is a special string indicating the gateway will + use the highest protocol version supported in the + gateway, but it can be changed to lower version after + it negotiates with MGC. The final negotiated protocol + version will be indicated in cmgwSignalProtocolVersion. + + The version strings other than 'MAX' can be specified for + the gateway to communicate with the MGC which doesn't + support service capabilities negotiation. For example if + a MGC supports only version 1.0 MGCP, this object should + be set to '1' to instruct the gateway using MGCP + version 1.0 format messages to communicate with MGC. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.2.1.7"; + } + } + } + + container cMediaGwIpConfigTable { + description + "This table contains a list of media gateway IP address and + the IP address associated interface information. + + If IP address associated interface is PVC, only + aal5 control PVC or aal5 bearer PVC are valid. + When the PVC is aal5 control, the IP address is used to + communicate to MGC; when the PVC is aal5 bearer, the IP + address is used to communicate to other gateway. + The PVC information is kept in cwAtmChanExtConfigTable: + cwacChanPvcType: aal5/aal2/aal1 + cwacChanApplication: control/bearer/signaling + + If IP address associated interface is not PVC, refer to the + IP addresses associated interface table for the usage + of IP address."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3"; + + list cMediaGwIpConfigEntry { + key "cmgwIndex cmgwIpConfigIndex"; + description + "A Media Gateway IP configuration entry. + Each entry represents a media gateway IP address for MGCs + to communicate with the media gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwIpConfigIndex { + type int32 { + range "1..64"; + } + description + "A unique index to identify each media gateway IP address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.1"; + } + + leaf cmgwIpConfigIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This object is ifIndex of the interface which is associated + to the media gateway IP address. + + For ATM interface, the IP address should be associated to + an existing PVC: + cmgwIpConfigIfIndex represents port of the PVC + cmgwIpConfigVpi represents VPI of the PVC + cmgwIpConfigVci represents VCI of the PVC + And one PVC only can be associated with one IP address. + + If this object is set to zero which means the IP address + is not associated to any interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.2"; + } + + leaf cmgwIpConfigVpi { + type int32 { + range "-1..4095"; + } + description + "This object represents VPI of the PVC which is associated + to the IP address. + If the IP address is not associated to PVC, the value + of this object is set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.3"; + } + + leaf cmgwIpConfigVci { + type int32 { + range "-1..65535"; + } + description + "This object represents VCI of the PVC which is associated + to the IP address. + If the IP address is not associated to PVC, the value + of this object is set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.4"; + } + + leaf cmgwIpConfigAddrType { + type inet-address:InetAddressType; + description + "This object is the IP address type."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.5"; + } + + leaf cmgwIpConfigAddress { + type inet-address:InetAddress; + description + "The configured IP address of media gateway. + This object can not be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.6"; + } + + leaf cmgwIpConfigSubnetMask { + type inet-address:InetAddressPrefixLength; + description + "This object is used to specify the number of leading one + bits which from the mask to be logical-ANDed with the media + gateway address before being compared to the value in the + cmgwIpCofigAddress. + + Any assignment (implicit or otherwise) of an instance of + this object to a value x must be rejected if the bitwise + logical-AND of the mask formed from x with the value + of the corresponding instance of the cmgwIpCofigAddress + object is not equal to cmgwIpCofigAddress."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.7"; + } + + leaf cmgwIpConfigDefaultGwIp { + type boolean; + description + "This object specifies cmgwIpConfigAddress of the entry + will become the default gateway address. + This object can be set to 'true' for only one entry in + the table."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.8"; + } + + leaf cmgwIpConfigForRemoteMapping { + type boolean; + description + "This object specifies whether the address defined in + cmgwIpConfigAddress is the address mapping at the + remote end of this PVC. + + If this object is set to 'true', the address defined + in cmgwIpConfigAddress is for the remote end of the PVC. + If this object is set to 'false', the address defined + in cmgwIpConfigAddress is for the local end of the PVC."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.9"; + } + + leaf cmgwIpConfigRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to add and delete an entry. + + When an entry of the table is created, the following + objects are mandatory: + cmgwIpConfigIfIndex + cmgwIpConfigVpi + cmgwIpConfigVci + cmgwIpConfigAddress + cmgwIpConfigSubnetMask + + These objects can not be modified after the value of this + object is set to 'active'. + Modification can only be done by deleting and re-adding the + entry again. + + After the system verify the validity of the data, it + will set the cmgwIpConfigRowStatus to 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.3.1.10"; + } + } + } + + container cMediaGwDomainNameConfigTable { + description + "This table provides the domain names which are configured by + users. + The domain names can be used to represent IP addresses + for: + gateway + External DNS name server + MGC (call agent) "; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4"; + + list cMediaGwDomainNameConfigEntry { + key "cmgwIndex cmgwConfigDomainNameIndex"; + description + "Each entry represents a domain name used in the system. + + Creation and deletion are supported. Modification + is prohibited."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwConfigDomainNameIndex { + type int32 { + range "1..128"; + } + description + "An index that is uniquely identifies a domain name + configured in the system."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4.1.1"; + } + + leaf cmgwConfigDomainNameEntity { + type enumeration { + enum "gateway" { + value "1"; + } + enum "dnsServer" { + value "2"; + } + enum "mgc" { + value "3"; + } + } + description + "This object indicates which entity to use this domain name. + + gateway(1) - The domain name of media gateway. + With the same cmgwIndex, there is one and + only one entry allowed with the value + 'gateway(1)' of this object. + + dnsServer(2) - The domain name of DNS name server that is used + by Media gateway to find Internet Network + Address from a DNS name. + + mgc(3) - The domain name of a MGC (Media Gateway + Controller) associated with the media + gateway. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4.1.2"; + } + + leaf cmgwConfigDomainName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the domain name. + + The domain name should be unique if there are more than + one entries having the same value in the object + cmgwConfigDomainNameEntity. + For example, the gateway domain name should be unique + if the cmgwConfigDomainNameEntity has the value of + 'gateway(1)'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4.1.3"; + } + + leaf cmgwConfigDomainNameRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to add and delete an entry. + + When an entry is created, the following objects + are mandatory: + cmgwConfigDomainName + cmgwConfigDomainNameEntity + + When deleting domain name of DNS name server + (cmgwConfigDomainNameEntity is dnsServer (2)), the + cMediaGwDnsIpConfigTable should be empty. + + Adding/deleting entry with cmgwConfigDomainNameEntity + of 'mgc' will cause adding/deleting entry in + cMgcConfigTable (CISCO-MGC-MIB) automatically. + + The cmgwConfigDomainName and cmgwConfigDomainNameEntity + can not be modified if the value of this object is + 'active'. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.4.1.4"; + } + } + } + + container cMediaGwDnsIpConfigTable { + description + "There is only one DNS name server on a gateway + and the domain name of the DNS name server is put on + cMediaGwDomainNameConfigTable with 'dnsServer (2)'. + + There could be multi IP addresses are associated with the + DNS name server, this table is used to store these IP + addresses. + + If any domain name using external resolution, the last entry + of this table is not allowed to be deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5"; + + list cMediaGwDnsIpConfigEntry { + key "cmgwIndex cmgwDnsIpIndex"; + description + "Each entry represents an IP address of the DNS name + server."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwDnsIpIndex { + type int32 { + range "1..6"; + } + description + "An index that uniquely identifies an IP address of DNS + name server."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1.1"; + } + + leaf cmgwDnsDomainName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "The domain name of DNS name server. + + The value of this object reflects the value of + cmgwConfigDomainName from the entry with a value of + 'dnsServer(2)' for object cmgwConfigDomainNameEntity of + cMediaGwDomainNameConfigTable. + + If there is no entry in cMediaGwDomainNameConfigTable with + 'dnsServer(2)' of cmgwConfigDomainNameEntity, then + the value of this object will be empty string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1.2"; + } + + leaf cmgwDnsIpType { + type inet-address:InetAddressType; + description + "DNS name server IP address type."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1.3"; + } + + leaf cmgwDnsIp { + type inet-address:InetAddress; + description + "The IP address of DNS name server. + The IP address of DNS name server must be unique + in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1.4"; + } + + leaf cmgwDnsIpRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to add and delete an entry. + + When an entry of the table is created, the value of + this object should be set to 'createAndGo' and the + following objects are mandatory: + cmgwDnsIp + + When the user wants to delete the entry, the value of + this object should be set to 'destroy'. + + The entry can not be modified if the value of this + object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.5.1.5"; + } + } + } + + container cmgwLifTable { + description + "This table is for managing LIF (Logical Interface) + in a media gateway. + + LIF is a logical interface which groups the TDM + DSx1s associated with a set of packet resource partitions + (PVCs) in a media gateway. + + LIF is used for: + 1. VoIP switching + 2. VoATM switching "; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.6"; + + list cmgwLifEntry { + key "cmgwIndex cmgwLifNumber"; + description + "An entry of this table is created by the media gateway + when it supports the VoIP/VoATM application."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.6.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwLifNumber { + type CISCO-MEDIA-GATEWAY-MIB:GatewayLifNumber; + description + "An index that uniquely identifies a LIF in the + media gateway."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.6.1.1"; + } + + leaf cmgwLifPvcCount { + type yang:gauge32 { + range "0..10000"; + } + description + "This object represents the total number of PVC within + this LIF. + + When users associate/disassociate a PVC with a LIF + by giving a non-zero/zero value of cwacChanLifNum + in cwAtmChanExtConfigTable, the value of this object + will be incremented/decremented accordingly. + + The value zero means there is no PVC associated with + the LIF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.6.1.2"; + } + + leaf cmgwLifVoiceIfCount { + type yang:gauge32 { + range "0..1000"; + } + description + "This object represents the total number of Voice Interfaces + within this LIF. + + When users associate/disassociate a Voice Interface with + a LIF by giving a non-zero/zero value of + ccasVoiceCfgLifNumber for the DS0 group in + ccasVoiceExtCfgTable, the value of this object will be + incremented/decremented accordingly. + + The value zero means there is no Voice Interface associated + with the LIF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.6.1.3"; + } + } + } + + container cMediaGwCallControlConfigTable { + description + "This table defines general call control attributes for + the media gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7"; + + list cMediaGwCallControlConfigEntry { + key "cmgwIndex"; + description + "One entry for each media gateway which supports call control + protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cMediaGwCcCfgControlTos { + type uint32 { + range "0..255"; + } + description + "This object specifies Type Of Service (TOS) field of + IP header for the signaling control packet in VoIP + application."; + smiv2:defval "96"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.1"; + } + + leaf cMediaGwCcCfgBearerTos { + type uint32 { + range "0..255"; + } + description + "This object specifies Type Of Service (TOS) field + of IP header for the voice payload packet in VoIP + application."; + smiv2:defval "160"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.2"; + } + + leaf cMediaGwCcCfgNtePayload { + type uint32 { + range "96..127"; + } + description + "This object specifies NTE (Named Telephony Events) + payload type."; + reference + "RFC2833, 3. RTP Payload Format for Named Telephone Events"; + smiv2:defval "101"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.3"; + } + + leaf cMediaGwCcCfgNsePayload { + type uint32 { + range "98..117"; + } + description + "This object specifies NSE (Network Signaling Events) + payload type."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.4"; + } + + leaf cMediaGwCcCfgNseRespTimer { + type uint32 { + range "250..10000"; + } + units "milliseconds"; + description + "This object specifies Network Signaling Event (NSE) + timeout value."; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.5"; + } + + leaf cMediaGwCcCfgVbdJitterDelayMode { + type CISCO-MEDIA-GATEWAY-MIB:CCallControlJitterDelayMode; + description + "The object specifies the jitter buffer mode applied to + a VBD (Voice Band Data) call connection. + + adaptive - means to use cMediaGwCcCfgVbdJitterNomDelay as + the initial jitter buffers size and let the DSP + pick the optimal value of the jitter buffer + size between the range of + cMediaGwCcCfgVbcJitterMaxDelay and + cMediaGwCcCfgVbcJitterMinDelay. + + fixed - means to use a constant jitter buffer size + which is specified by cMediaGwCcCfgVbdJitterNomDelay."; + smiv2:defval "fixed"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.6"; + } + + leaf cMediaGwCcCfgVbdJitterMaxDelay { + type uint32 { + range "20..135"; + } + units "milliseconds"; + description + "This object specifies the maximum jitter buffer size + in VBD (Voice Band Data)"; + smiv2:defval "135"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.7"; + } + + leaf cMediaGwCcCfgVbdJitterNomDelay { + type uint32 { + range "5..135"; + } + units "milliseconds"; + description + "This object specifies the nominal jitter buffer size + in VBD (Voice Band Data)"; + smiv2:defval "70"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.8"; + } + + leaf cMediaGwCcCfgVbdJitterMinDelay { + type uint32 { + range "0..135"; + } + units "milliseconds"; + description + "This object specifies the nominal jitter buffer size + in VBD (Voice Band Data)"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.9"; + } + + leaf cMediaGwCcCfgDefaultTonePlanId { + type CISCO-MEDIA-GATEWAY-MIB:CVoiceTonePlanIndex; + description + "This object specifies the default tone plan index + (the value of cvtcTonePlanId) for the media gateway."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.10"; + } + + leaf cMediaGwCcCfgDescrInfoEnabled { + type boolean; + description + "This object specifies whether the media gateway supports + descriptive suffix of the name schema for terminations. + + There are two parts in name schema of termination, prefix + and suffix. For example the name schema for a DS (Digital + Subscriber) termination, can be 'DS/OC3_2/DS1_6/DS0_24'. + It represents DS type termination in 2nd OC3 line, + 6th DS1 and 24th DS0 channel. In this example, 'DS' is + the prefix, 'OC3_2/DS1_6/DS0_24' is the suffix. + + The name schema in above example has a descriptive suffix. + The non-descriptive suffix for the same termination is + '2/6/24' and name schema becomes 'DS/2/6/24'. + + This object can not be modified if there is any termination + existing in the media gateway."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.11"; + } + + leaf cMediaGwCcCfgDsNamePrefix { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the prefix of the name schema for + DS (Digital Subscriber) terminations. + The value of this object must be unique among the + following objects: + cMediaGwCcCfgDsNamePrefix + cMediaGwCcCfgRtpNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgDefRtpNamePrefix + This object can not be modified when there is any + DS termination existing in the media gateway. + It is default to 'DS'."; + smiv2:defval "DS"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.12"; + } + + leaf cMediaGwCcCfgRtpNamePrefix { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the prefix of the name schema for + RTP (Real-Time Transport Protocol) terminations. + The value of this object must be unique among the + following objects: + cMediaGwCcCfgDsNamePrefix + cMediaGwCcCfgRtpNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgDefRtpNamePrefix + This object can not be modified when there is any + RTP termination type existing in the media gateway. + It is default to 'RTP'."; + smiv2:defval "RTP"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.13"; + } + + leaf cMediaGwCcCfgAal1SvcNamePrefix { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the prefix of the name schema for + voice over AAL1 SVC (Switched Virtual Circuit) + terminations. + The value of this object must be unique among the + following objects: + cMediaGwCcCfgDsNamePrefix + cMediaGwCcCfgRtpNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgDefRtpNamePrefix + This object can not be modified when there is any + AAL1 SVC termination type existing in the media gateway. + It is default to 'AAL1/SVC'."; + smiv2:defval "AAL1/SVC"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.14"; + } + + leaf cMediaGwCcCfgAal2SvcNamePrefix { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the prefix of the name schema for + voice over AAL2 SVC (Switched Virtual Circuit) + terminations. + The value of this object must be unique among the + following objects: + cMediaGwCcCfgDsNamePrefix + cMediaGwCcCfgRtpNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + cMediaGwCcCfgDefRtpNamePrefix + This object can not be modified when there is any + AAL2 SVC termination type existing in the media gateway. + It is default to 'AAL2/SVC'."; + smiv2:defval "AAL2/SVC"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.15"; + } + + leaf cMediaGwCcCfgClusterEnabled { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabled" { + value "2"; + } + enum "conditionalEnabled" { + value "3"; + } + } + description + "This object specifies the condition of the cluster generation + in the call control. + + A cluster is a group of endpoints that share a particular + bearer possibility for connections among each other. + + disabled(1) - The generation of the cluster attribute + is disabled. + enabled(2) - Unconditionally generate the cluster + attribute. + conditionalEnabled(3) - The generation of the cluster + attribute is upon MGC request."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.16"; + } + + leaf cMediaGwCcCfgDefBearerTraffic { + type enumeration { + enum "ipPvcAal5" { + value "1"; + } + enum "atmPvcAal2" { + value "2"; + } + enum "atmSvcAal2" { + value "3"; + } + enum "atmSvcAal1" { + value "4"; + } + } + description + "This object specifies the combination of the network + type (IP/ATM), virtual circuit type (PVC/SVC) and + ATM adaptation layer type (AAL1/AAL2/AAL5) for the + connection used in transporting bearer traffic. + + ipPvcAal5 (1) - The bearer traffic is transported in + IP network, through Permanent Virtual + Circuit(PVC) over AAL5 adaptation layer. + atmPvcAal2 (2) - The bearer traffic is transported in + ATM network, through Permanent Virtual + Circuit(PVC) over AAL2 adaptation layer. + atmSvcAal2 (3) - The bearer traffic is transported in + ATM network, through Switching Virtual + Circuit(SVC) over AAL2 adaptation layer. + atmSvcAal1 (4) - The bearer traffic is transported in + ATM network, through Switching Virtual + Circuit(SVC) over AAL1 adaptation layer. + + In MGCP, if the call agent specifies the bear traffic type + in the local connection options (CRCX request), + configuration of this object will have no effect, + otherwise the value of this object will be used when + media gateway sending CRCX response."; + smiv2:defval "ipPvcAal5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.17"; + } + + leaf cMediaGwCcCfgDefRtpNamePrefix { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the prefix of the name schema for + default RTP terminations. + The value of this object must be unique among the + following objects: + cMediaGwCcCfgDsNamePrefix + cMediaGwCcCfgRtpNamePrefix + cMediaGwCcCfgAal1SvcNamePrefix + cMediaGwCcCfgAal2SvcNamePrefix + + It is defaulted to 'TGWRTP'."; + smiv2:defval "TGWRTP"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1.7.1.18"; + } + } + } + + container cMediaGwRscStatsTable { + description + "This table stores the gateway resource statistics + information."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1"; + + list cMediaGwRscStatsEntry { + key "cmgwIndex cmgwRscStatsIndex"; + description + "Each entry stores the statistics + information for a specific resource."; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1"; + + leaf cmgwIndex { + type leafref { + path "/CISCO-MEDIA-GATEWAY-MIB:CISCO-MEDIA-GATEWAY-MIB/CISCO-MEDIA-GATEWAY-MIB:cMediaGwTable/CISCO-MEDIA-GATEWAY-MIB:cMediaGwEntry/CISCO-MEDIA-GATEWAY-MIB:cmgwIndex"; + } + } + + leaf cmgwRscStatsIndex { + type enumeration { + enum "cpu" { + value "1"; + } + enum "staticmemory" { + value "2"; + } + enum "dynamicmemory" { + value "3"; + } + enum "sysmemory" { + value "4"; + } + enum "commbuffer" { + value "5"; + } + enum "msgq" { + value "6"; + } + enum "atmq" { + value "7"; + } + enum "svccongestion" { + value "8"; + } + enum "rsvpq" { + value "9"; + } + enum "dspq" { + value "10"; + } + enum "h248congestion" { + value "11"; + } + enum "callpersec" { + value "12"; + } + enum "smallipcbuffer" { + value "13"; + } + enum "mediumipcbuffer" { + value "14"; + } + enum "largeipcbuffer" { + value "15"; + } + enum "hugeipcbuffer" { + value "16"; + } + enum "mblkipcbuffer" { + value "17"; + } + } + description + "An index that uniquely identifies a specific gateway + resource."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1.1"; + } + + leaf cmgwRscMaximumUtilization { + type yang:gauge32; + description + "This object indicates the maximum utilization of the + resource over the interval specified by the + 'cmgwRscSinceLastReset'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1.2"; + } + + leaf cmgwRscMinimumUtilization { + type yang:gauge32; + description + "This object indicates the minimum utilization of the + resource over the interval specified by the + 'cmgwRscSinceLastReset'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1.3"; + } + + leaf cmgwRscAverageUtilization { + type yang:gauge32; + description + "This object indicates the average utilization of the + resource over the interval specified by the + 'cmgwRscSinceLastReset'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1.4"; + } + + leaf cmgwRscSinceLastReset { + type uint32; + units "seconds"; + description + "The elapsed time (in seconds) from the last periodic reset. + + The following objects are reset at the last reset: + + 'cmgwRscMaximumUtilization' + 'cmgwRscMinimumUtilization' + 'cmgwRscAverageUtilization'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2.1.1.5"; + } + } + } + } + + smiv2:alias "ciscoMediaGatewayMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.324"; + } + + smiv2:alias "ciscoMediaGatewayMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.324.0"; + } + + smiv2:alias "ciscoMediaGatewayMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.324.1"; + } + + smiv2:alias "cMediaGwConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.324.1.1"; + } + + smiv2:alias "cMediaGwStats" { + smiv2:oid "1.3.6.1.4.1.9.9.324.1.2"; + } + + smiv2:alias "cMediaGwMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.324.2"; + } + + smiv2:alias "cMediaGwMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.324.2.1"; + } + + smiv2:alias "cMediaGwMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.324.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-LSR-EXT-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-LSR-EXT-STD-MIB.yang new file mode 100644 index 000000000..08739cad3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-LSR-EXT-STD-MIB.yang @@ -0,0 +1,176 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-MPLS-LSR-EXT-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-MPLS-LSR-EXT-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-MPLS-LSR-EXT-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB"; + prefix CISCO-MPLS-LSR-EXT-STD-MIB; + + import MPLS-LSR-STD-MIB { + prefix "mpls-lsr"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + "Venkatesan Mahalingam + Dell Inc, + 350 Holger way, San Jose, CA, USA + Email: venkat.mahalingams@gmail.com + + Kannan KV Sampath + Aricent, + India + Email: Kannan.Sampath@aricent.com + + Sam Aldrin + Huawei Technologies + 2330 Central Express Way, + Santa Clara, CA 95051, USA + + Email: aldrin.ietf@gmail.com + + Thomas D. Nadeau + CA Technologies + 273 Corporate Drive, Portsmouth, NH, USA + Email: thomas.nadeau@ca.com"; + + description + "Copyright (c) 2012 IETF Trust and the persons identified + as the document authors. All rights reserved. + + This MIB module contains generic object definitions for + + + MPLS LSR in transport networks."; + + revision 2012-04-30 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2012-02-22 { + description + "MPLS LSR specific mib objects extension"; + } + + + container CISCO-MPLS-LSR-EXT-STD-MIB { + config false; + + container cmplsXCExtTable { + description + "This table sparse augments the mplsXCTable of + MPLS-LSR-STD-MIB [RFC3813] to provide MPLS-TP specific + information about associated tunnel information"; + reference + "1. Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813."; + smiv2:oid "1.3.6.1.4.1.9.10.145.1.1"; + + list cmplsXCExtEntry { + key "mplsXCIndex mplsXCInSegmentIndex mplsXCOutSegmentIndex"; + description + "An entry in this table extends the cross connect + information represented by an entry in + the mplsXCTable in MPLS-LSR-STD-MIB [RFC3813] through + a sparse augmentation. An entry can be created by + a network administrator via SNMP SET commands, or in + response to signaling protocol events."; + reference + "1. Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813."; + smiv2:oid "1.3.6.1.4.1.9.10.145.1.1.1"; + + leaf mplsXCIndex { + type leafref { + path "/mpls-lsr:MPLS-LSR-STD-MIB/mpls-lsr:mplsXCTable/mpls-lsr:mplsXCEntry/mpls-lsr:mplsXCIndex"; + } + } + + leaf mplsXCInSegmentIndex { + type leafref { + path "/mpls-lsr:MPLS-LSR-STD-MIB/mpls-lsr:mplsXCTable/mpls-lsr:mplsXCEntry/mpls-lsr:mplsXCInSegmentIndex"; + } + } + + leaf mplsXCOutSegmentIndex { + type leafref { + path "/mpls-lsr:MPLS-LSR-STD-MIB/mpls-lsr:mplsXCTable/mpls-lsr:mplsXCEntry/mpls-lsr:mplsXCOutSegmentIndex"; + } + } + + leaf cmplsXCExtTunnelPointer { + type snmpv2-tc:RowPointer; + description + "This object indicates the back pointer to the tunnel + entry segment. This object cannot be modified if + mplsXCRowStatus for the corresponding entry in the + mplsXCTable is active(1)."; + reference + "1. Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.145.1.1.1.1"; + } + + leaf cmplsXCOppositeDirXCPtr { + type snmpv2-tc:RowPointer; + description + "This object indicates the pointer to the opposite + direction XC entry. This object cannot be modified if + mplsXCRowStatus for the corresponding entry in the + mplsXCTable is active(1)."; + reference + "1. Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.145.1.1.1.2"; + } + } + } + } + + smiv2:alias "cmplsLsrExtStdMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.145"; + } + + smiv2:alias "cmplsLsrExtNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.145.0"; + } + + smiv2:alias "cmplsLsrExtObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.145.1"; + } + + smiv2:alias "cmplsLsrExtConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.145.2"; + } + + smiv2:alias "cmplsLsrExtGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.145.2.1"; + } + + smiv2:alias "cmplsLsrExtCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.145.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-TC-EXT-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-TC-EXT-STD-MIB.yang new file mode 100644 index 000000000..2cf97b0e7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-MPLS-TC-EXT-STD-MIB.yang @@ -0,0 +1,149 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-MPLS-TC-EXT-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-MPLS-TC-EXT-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-MPLS-TC-EXT-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB"; + prefix CISCO-MPLS-TC-EXT-STD-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + "Venkatesan Mahalingam + Dell Inc, + 350 Holger way, San Jose, CA, USA + Email: venkat.mahalingams@gmail.com + + Kannan KV Sampath + Aricent, + India + Email: Kannan.Sampath@aricent.com + + Sam Aldrin + Huawei Technologies + 2330 Central Express Way, + Santa Clara, CA 95051, USA + Email: aldrin.ietf@gmail.com + + Thomas D. Nadeau + CA Technologies + 273 Corporate Drive, Portsmouth, NH, USA + Email: thomas.nadeau@ca.com"; + + description + "Copyright (c) 2012 IETF Trust and the persons identified + as the document authors. All rights reserved. + + This MIB module contains Textual Conventions for + MPLS based transport networks."; + + revision 2012-02-22 { + description + "MPLS Textual Convention Extensions"; + } + + typedef CMplsGlobalId { + type binary { + length "4"; + } + description + "This object contains the Textual Convention of IP based + operator unique identifier (Global_ID), the Global_ID can + contain the 2-octet or 4-octet value of the operator's + Autonomous System Number (ASN). + + It is expected that the Global_ID will be derived from + the globally unique ASN of the autonomous system hosting + the PEs containing the actual AIIs. + The presence of a Global_ID based on the operator's + ASN ensures that the AII will be globally unique. + + When the Global_ID is derived from a 2-octet AS number, + + + + the two high-order octets of this 4-octet identifier + MUST be set to zero. + Further ASN 0 is reserved. A Global_ID of zero means + that no Global_ID is present. Note that a Global_ID of + zero is limited to entities contained within a single + operator and MUST NOT be used across an NNI. + A non-zero Global_ID MUST be derived from an ASN owned by + the operator."; + } + + typedef CMplsNodeId { + type uint32; + description + "The Node_ID is assigned within the scope of the Global_ID. + The value 0(or 0.0.0.0 in dotted decimal notation) is + reserved and MUST NOT be used. + + When IPv4 addresses are in use, the value of this object + can be derived from the LSR's /32 IPv4 loop back address. + When IPv6 addresses are in use, the value of this object + can be a 32-bit value unique within the scope of + a Global_ID. + + Note that, when IP reach ability is not needed, the 32-bit + Node_ID is not required to have any association + with the IPv4 address space."; + smiv2:display-hint "d"; + } + + typedef CMplsIccId { + type binary { + length "1..6"; + } + description + "The ICC is a string of one to six characters, each + character being either alphabetic (i.e. A-Z) or + numeric (i.e. 0-9) characters. + Alphabetic characters in the ICC SHOULD be represented + + with upper case letters."; + } + + typedef CMplsLocalId { + type uint32 { + range "1..16777215"; + } + description + "This textual convention is used in accommodating the bigger + size Global_Node_ID and/or ICC with lower size LSR + identifier in order to index the mplsTunnelTable. + + The Local Identifier is configured between 1 and 16777215, + as valid IP address range starts from 16777216(01.00.00.00). + This range is chosen to identify the mplsTunnelTable's + Ingress/Egress LSR-id is IP address or Local identifier, + if the configured range is not IP address, administrator is + expected to retrieve the complete information + (Global_Node_ID or ICC) from mplsNodeConfigTable. This way, + existing mplsTunnelTable is reused for bidirectional tunnel + extensions for MPLS based transport networks. + + This Local Identifier allows the administrator to assign + a unique identifier to map Global_Node_ID and/or ICC."; + smiv2:display-hint "d"; + } + + smiv2:alias "cmplsTcExtStdMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.144"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.yang new file mode 100644 index 000000000..b04e3aa3a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.yang @@ -0,0 +1,1364 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-NBAR-PROTOCOL-DISCOVERY-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-NBAR-PROTOCOL-DISCOVERY-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB"; + prefix CISCO-NBAR-PROTOCOL-DISCOVERY-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134-1706 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-cnpd-mib@cisco.com"; + + description + "Cisco NBAR Protocol Discovery MIB + + NBAR - Network Based Application Recognition is + an intelligent classification engine that recognizes + applications that are static (which use fixed TCP or + UDP port numbers), and stateful (which dynamically + assign TCP or UDP port numbers). + + Protocol Discovery - uses NBAR to show you the mix + of applications currently running on the network. + Key statistics are associated with each protocol. + These statistics can be used to define traffic + classes and QoS policies. + + Functionality: + 1. To enable/disable Protocol Discovery per interface. + 2. Display the protocols/applications which NBAR + currently recognizes. + 3. To display various Protocol Discovery statistics. + 4. A configurable top N table which lists + protocols using user defined criteria. + 5. To configure notifications (traps) based + on configurable statistic thresholds. + 6. To maintain a history table of all notification + events."; + + revision 2002-08-16 { + description + "Added comment that cnpdStatusLastUpdateTime becomes + zero when PD disabled. + + Added comment that during overflow in cnpdAllStatsTable, + the 32 bit counter not valid. There is no overflow + support for it. One should only use the HC (64 bit) + counters to get the stats in cnpdAllStatsTable + + Default cnpdTopNConfigStatsSelect changed from + 'bitRateSum' to 'byteCountSum'. + + Added better rowStatus descriptions to TopNConfig and + ThresholdConfig tables. + + Added comment to explain what TopNSampleTime really does - + i.e only changes sample time for bitrate on an interface. + + Changed sizes of TopN and Threshold tables according to + memory requirements and recommendations from various + platforms. + + Added following objects to cnpdThresholdHistoryTable: + cnpdThresholdHistoryValue + cnpdThresholdHistoryType + cnpdThresholdHistoryProtocol + cnpdThresholdHistoryStatsSelect + + Changed reported objects in Notification Table to reflect + changes in cnpdThresholdHistoryTable."; + } + + revision 2001-12-28 { + description + "Initial version of this MIB module"; + } + + typedef CiscoPdProtocolIndex { + type uint32; + description + "An object which represents a unique + identifier for a protocol or application + which NBAR currently recognizes. + + The value of this object is defined in + the cnpdSupportedProtocolsTable."; + } + + typedef CiscoPdProtocolName { + type binary { + length "1..255"; + } + description + "Name of an application or protocol, + which NBAR is capable of recognizing. + + For example: ftp, vdolive and citrix."; + } + + typedef CiscoPdDataType { + type enumeration { + enum "bitRateIn" { + value "1"; + } + enum "bitRateOut" { + value "2"; + } + enum "bitRateSum" { + value "3"; + } + enum "byteCountIn" { + value "4"; + } + enum "byteCountOut" { + value "5"; + } + enum "byteCountSum" { + value "6"; + } + enum "packetCountIn" { + value "7"; + } + enum "packetCountOut" { + value "8"; + } + enum "packetCountSum" { + value "9"; + } + } + description + "These are the data types which NBAR + can measure a particular protocol by. + bitRateIn(1) - incoming bitrate. + bitRateOut(2) - outgoing bitrate. + bitRateSum(3) - sum of incoming and + outgoing bitrate. + byteCountIn(4) - incoming bytecount. + byteCountOut(5) - outgoing bytecount. + byteCountSum(6) - sum of incoming and + outgoing bytecount. + packetCountIn(7) - incoming packetcount. + packetCountOut(8) - outgoing packetcount. + packetCountSum(9) - sum of incoming and + outgoing packetcount. + UNITS: + bitrate - unit is kilo bits per second + bytecount - unit is bytes + packetcount - unit is packets"; + } + + + container CISCO-NBAR-PROTOCOL-DISCOVERY-MIB { + config false; + + container cnpdNotificationsConfig { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.7"; + + leaf cnpdNotificationsEnable { + type boolean; + description + "This object is used to enable or disable + Notifications on a global basis. + + If set to 'true' - Notifications are + enabled. + If set to 'false' - Notifications are + disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.7.1"; + } + } + + container cnpdStatusTable { + description + "The cnpdStatusTable is used to enable and + disable Protocol Discovery on an interface."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.1.1"; + + list cnpdStatusEntry { + key "ifIndex"; + description + "An entry in the cnpdStatusTable contains objects + for enabling or disabling Protocol Discovery on a + per interface basis."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cnpdStatusPdEnable { + type boolean; + description + "This object is used to enable or disable + Protocol Discovery on an interface. + + If set to 'true' - Protocol Discovery is + enabled on this Interface. + If set to 'false' - Protocol Discovery is + disabled on this Interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.1.1.1.1"; + } + + leaf cnpdStatusLastUpdateTime { + type yang:timeticks; + description + "The value of sysUpTime at the time Protocol + Discovery was last enabled on an interface. + If the interface does not have Protocol + Discovery enabled this value is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.1.1.1.2"; + } + } + } + + container cnpdAllStatsTable { + description + "The cnpdAllStatsTable contains all the statistics + available for all the protocols/applications currently + recognized by NBAR Protocol Discovery for a particular + interface. + + In the event of an overflow, the 32 bit counters are not + valid. There is no overflow support."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1"; + + list cnpdAllStatsEntry { + key "ifIndex cnpdAllStatsProtocolsIndex"; + description + "An entry in the cnpdAllStatsTable table. This entry + contains the statistics collected on all the protocols + which NBAR classifies for a particular interface."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cnpdAllStatsProtocolsIndex { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolIndex { + range "1..1024"; + } + description + "An object which represents a unique + identifier for a protocol or application + which NBAR currently recognizes. + + This object is an index into the + SupportedProtocolsTable where details + of the protocol can be found."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.1"; + } + + leaf cnpdAllStatsProtocolName { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolName; + description + "Name of the application or protocol, a + unique textual string, assigned in the + cnpdSupportedProtocolsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.2"; + } + + leaf cnpdAllStatsInPkts { + type yang:counter32; + units "packets"; + description + "The packet count of inbound packets as + determined by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.3"; + } + + leaf cnpdAllStatsOutPkts { + type yang:counter32; + units "packets"; + description + "The packet count of outbound packets as + determined by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.4"; + } + + leaf cnpdAllStatsInBytes { + type yang:counter32; + units "bytes"; + description + "The byte count of inbound octets as + determined by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.5"; + } + + leaf cnpdAllStatsOutBytes { + type yang:counter32; + units "bytes"; + description + "The byte count of outbound octets as + determined by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.6"; + } + + leaf cnpdAllStatsHCInPkts { + type yang:counter64; + units "packets"; + description + "The packet count of inbound packets as + determined by Protocol Discovery. + This is the 64-bit (High Capacity) + version of cnpdAllStatsInPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.7"; + } + + leaf cnpdAllStatsHCOutPkts { + type yang:counter64; + units "packets"; + description + "The packet count of outbound packets as + determined by Protocol Discovery. + This is the 64-bit (High Capacity) + version of cnpdAllStatsOutPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.8"; + } + + leaf cnpdAllStatsHCInBytes { + type yang:counter64; + units "bytes"; + description + "The byte count of inbound octets as + determined by Protocol Discovery. + This is the 64-bit (High Capacity) + version of cnpdAllStatsInBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.9"; + } + + leaf cnpdAllStatsHCOutBytes { + type yang:counter64; + units "bytes"; + description + "The byte count of outbound octets as + determined by Protocol Discovery. + This is the 64-bit (High Capacity) + version of cnpdAllStatsOutBytes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.10"; + } + + leaf cnpdAllStatsInBitRate { + type uint32 { + range "1..4294967295"; + } + units "kilo bits per second"; + description + "The inbound bit rate as determined + by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.11"; + } + + leaf cnpdAllStatsOutBitRate { + type uint32 { + range "1..4294967295"; + } + units "kilo bits per second"; + description + "The outbound bit rate as determined + by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2.1.1.12"; + } + } + } + + container cnpdTopNConfigTable { + description + "The cnpdTopNConfigTable is used to configure + cnpdTopNStatsTable's."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1"; + + list cnpdTopNConfigEntry { + key "cnpdTopNConfigIndex"; + description + "This entry provides the objects to configure and thus + initiate the generation of a cnpdTopNStatsTable.."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1"; + + leaf cnpdTopNConfigIndex { + type uint32 { + range "1..50"; + } + description + "A monotonically increasing integer which + uniquely identifies a cnpdTopNConfigEntry + in the cnpdTopNConfigTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.1"; + } + + leaf cnpdTopNConfigIfIndex { + type if-mib:InterfaceIndex; + description + "This object allows the management station + to select the interface, which Protocol Discovery + is running on, to be used to create this + cnpdTopNConfigEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.2"; + } + + leaf cnpdTopNConfigStatsSelect { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdDataType; + description + "This object allows the management station to + select the statistic used to base the order + of the top-n table on. + + For example: a cnpdTopNConfigStatsSelect of + bitRateSum means order this table based + on each applications/protocols combined + in and out bitrate."; + smiv2:defval "byteCountSum"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.3"; + } + + leaf cnpdTopNConfigSampleTime { + type uint32 { + range "1..2048"; + } + units "seconds"; + description + "If the cnpdTopNConfigStatsSelect is + bitRateIn, bitRateOut or bitRateSum, then + this value is the interval in seconds that + the bitrate is sampled. + + This has no effect if the cnpdTopNConfigStatsSelect + is byte or packet based. + + When this object is modified by the management + station, a new sample period is started regardless + of whether the original cnpdTopNConfigSampleTime + was finished."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.4"; + } + + leaf cnpdTopNConfigRequestedSize { + type uint32 { + range "1..500"; + } + description + "The requested size of the associated + cnpdTopNStatsTable entry. + + For example a cnpdTopNConfigRequestedSize of + 20 indicates the management station wants + to create an associated cnpdTopNStatsTable + entry of 20 protocol/application's"; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.5"; + } + + leaf cnpdTopNConfigGrantedSize { + type uint32 { + range "1..500"; + } + description + "The actual size of the associated + cnpdTopNStatsTable entry. + + The reason this may differ from + cnpdTopNConfigRequestedSize is because a + management station may request a number of + protocols that is greater than the number of + protocols actually found by Protocol Discovery."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.6"; + } + + leaf cnpdTopNConfigTime { + type yang:timeticks; + description + "The value of sysUpTime when the associated + cnpdTopNStatsTable entry was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.7"; + } + + leaf cnpdTopNConfigStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create or delete + the row entry in cnpdTopNConfigTable. + + When creating a row entry the management + station is required to specify a value + for cnpdTopNConfigIfIndex only. + + 'notReady' means that a row exists but + either it has no valid IfIndex or it has + not been set to createAndGo or active. + + 'active' means that a createAndGo or active + has been issued, AND a valid ifIndex exists. + Therefore if a row is 'active' it means a + TopNStats entry has been generated. + + If you set an 'active' row to createAndWait + it will get the status 'notReady'. + + If you set any row to 'notReady' - it will go + to the 'notReadystate'. + + If you set any row to 'notInService' - it will + go to the 'notInService' state and the corresponding + TopNStatsEntry will be deleted. + + The same TopNConfig entry can be re-used without + changes by setting it to 'active'. The corresponding + TopStatsTable entry will be regenerated. This can + be used by the NMS to poll a particular TopNConfig + Entry. + + Changes to an existing TopNConfig entry can be made + by setting the status to 'createAndWait' and changing + the necessary objects. Setting it to 'createAndGo' or + 'active' will cause the corresponding TopNStats entry + to be regenerated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3.1.1.8"; + } + } + } + + container cnpdTopNStatsTable { + description + "A cnpdTopNStatsTable describes an ordered + list of protocols."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1"; + + list cnpdTopNStatsEntry { + key "cnpdTopNConfigIndex cnpdTopNStatsIndex"; + description + "This entry is used to store a set of objects which + describe a cnpdTopNStatsTable. A cnpdTopNStatsTable + is a number of protocols and statistics sorted + according to the criteria in the associated + cnpdTopNConfigEntry. + + Therefore a cnpdTopNStatsTable can differ in content + and size according to what was configured in the associated + cnpdTopNConfigTableEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1.1"; + + leaf cnpdTopNConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdTopNConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdTopNConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdTopNConfigIndex"; + } + } + + leaf cnpdTopNStatsIndex { + type uint32 { + range "1..500"; + } + description + "A monotonically increasing integer which + uniquely identifies a cnpdTopNStatsEntry + in the cnpdTopNStatsTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1.1.1"; + } + + leaf cnpdTopNStatsProtocolName { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolName; + description + "Name of the application or protocol, + a unique textual string, assigned in the + cnpdSupportedProtocolsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1.1.2"; + } + + leaf cnpdTopNStatsRate { + type yang:counter32; + description + "The amount of change in the selected statistic + during this sampling interval. The selected + statistic is the cnpdTopNConfigStatsSelect + from the associated cnpdTopNConfigStatsEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1.1.3"; + } + + leaf cnpdTopNStatsHCRate { + type yang:counter64; + description + "The amount of change in the selected statistic + during this sampling interval. The selected + statistic is the cnpdTopNConfigStatsSelect + from the associated cnpdTopNConfigStatsEntry. + + This is the 64-bit (High Capacity) version of + cnpdTopNStatsRate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4.1.1.4"; + } + } + } + + container cnpdThresholdConfigTable { + description + "The cnpdThresholdConfigTable allows the management + station to create thresholds for the purpose of + sending notifications if breached, and creating a + history of breached thresholds."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1"; + + list cnpdThresholdConfigEntry { + key "cnpdThresholdConfigIndex"; + description + "This entry contains configuration information to + set thresholds for the purpose of notifications. + + The management station is allowed to set thresholds + on individual statistics for individual protocols + on an interface. If the threshold is breached by + the protocol statistic, a new event is written to + the cnpdThresholdHistoryTable, which in turn will + generate a Notification Event. + + This function has a hysteresis mechanism to limit + the generation of events. This mechanism generates + one event as a threshold is crossed in the + appropriate direction. No more events are generated + for that threshold until the opposite threshold is + crossed. This stops repeated Notification events + being generated each time the value is sampled, + when the value is above the threshold. Instead one + notification is sent when the threshold is breached + and one notification when the statistic drops below + the threshold value again."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1"; + + leaf cnpdThresholdConfigIndex { + type uint32 { + range "1..100"; + } + description + "A monotonically increasing integer which + uniquely identifies an entry in the + cnpdThresholdConfigTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.1"; + } + + leaf cnpdThresholdConfigIfIndex { + type if-mib:InterfaceIndex; + description + "This object allows the management station to + select the interface, which Protocol Discovery is + running on, to be used to create this + cnpdThresholdConfigTable entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.2"; + } + + leaf cnpdThresholdConfigInterval { + type uint32 { + range "1..2048"; + } + units "seconds"; + description + "The interval in seconds over which the data is + sampled and compared with cnpdThresholdConfigRising + and cnpdThresholdConfigFalling thresholds."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.3"; + } + + leaf cnpdThresholdConfigSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + } + description + "The method of sampling the selected statistic and + calculating the value to be compared against + cnpdThresholdConfigRising or + cnpdThresholdConfigFalling thresholds. + + If the value of this object is absoluteValue(1), + the value at the end of the sampling interval + cnpdThresholdConfigInterval, will be compared + with the cnpdThresholdConfigRising and + cnpdThresholdConfigFalling thresholds. + + In this mode, when cnpdThresholdConfigStatsSelect is + byte or packet based, a maximum of two + cnpdThresholdHistory entries will be created per + application, as these byte and packet counts + monotonically increase from zero. + + If the value of this object is deltaValue(2), + the difference between the samples at the + beginning and end of the cnpdThresholdConfigInterval + will be compared with the cnpdThresholdConfigRising + and cnpdThresholdConfigFalling thresholds. + + Because the difference in the previous and current + samples are compared over the sample period + cnpdThresholdConfigInterval, this mode provides + more granularity to the thresholds because the NMS + is now provided with the gradient or change in the + cnpdThresholdConfigStatsSelect. + + Note that even though the sample value is monotonically + increasing for byte and packet counts, + cnpdThresholdConfigSampleType set to deltaValue, can + generate falling cnpdThresholdHistory entries, because + the gradient can be lower than the + cnpdThresholdConfigFalling value."; + smiv2:defval "absoluteValue"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.4"; + } + + leaf cnpdThresholdConfigProtocol { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolIndex { + range "1..1024"; + } + description + "The application or protocol which the + management station wishes to configure a + threshold on. + + This object is an index into the + SupportedProtocolsTable where details + of the protocol can be found. + + If cnpdThresholdConfigProtocolAny is set + to TRUE this value will be ignored. If it + is set to FALSE, then cnpdThresholdConfigProtocol + will be the only protocol that is checked + to see if it has breached the threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.5"; + } + + leaf cnpdThresholdConfigProtocolAny { + type boolean; + description + "If set to 'true' - this threshold is configured + to check for any protocol which meets the threshold + criteria. This means that multiple protocols can + generate ThresholdHistoryTable entries. Each + protocol is subject to the hysterisis mechanism. + + If set to 'false' - this threshold is configured + to check for the protocol which meets the threshold + criteria referred to by cnpdThresholdConfigProtocol."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.6"; + } + + leaf cnpdThresholdConfigStatsSelect { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdDataType; + description + "This object allows the management station to + select the statistic used to base the threshold + on. + + For example a cnpdThresholdConfigStatsSelect of + bitRateSum means cnpdThresholdConfigRising and + cnpdThresholdConfigFalling are values based on + the combined value of in and out bitrates."; + smiv2:defval "bitRateSum"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.7"; + } + + leaf cnpdThresholdConfigStartup { + type enumeration { + enum "rising" { + value "1"; + } + enum "falling" { + value "2"; + } + enum "risingOrFalling" { + value "3"; + } + } + description + "This controls the type of notification that is + sent when this threshold entry is first enabled. + + Because there is no previous sampling history, + choosing one of these options determines the type + of notification generated - Rising or Falling. + + If the first sample after this entry is enabled + is greater than or equal to cnpdThresholdConfigRising and + this object is equal to rising(1) or risingOrFalling(3), + then a single rising notification will be generated. + + If the first sample after this entry is enabled + is less than or equal to cnpdThresholdConfigFalling + and this object is equal to falling(2) or + risingOrFalling(3), then a single falling notification + will be generated."; + smiv2:defval "risingOrFalling"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.8"; + } + + leaf cnpdThresholdConfigRising { + type uint32 { + range "1..4294967295"; + } + description + "This is the threshold object which the managment + station sets to determine if it gets breached. It + indicates the statistic being sampled was + rising. + + When the current sample is greater than or + equal to this object, and the value at the last + sampling interval was less than this object (in + other words the value is rising), an entry in the + cnpdThresholdHistoryTable will be created. + + After a rising event is generated, another such + event will not be generated until the sampled value + falls below this threshold and reaches the + cnpdThresholdConfigFalling value. + + This ensures that samples which are taken + after a cnpdThresholdConfigRising threshold event + has been created, do not create further thresholds + and therefore notifications, until the + cnpdThresholdConfigFalling threshold has been met. + + Thus a very short cnpdThresholdConfigInterval can be + chosen without risk of multiple notifications for + the same threshold breach condition."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.9"; + } + + leaf cnpdThresholdConfigFalling { + type uint32 { + range "1..4294967295"; + } + description + "This is the threshold object which the management + station sets to determine if it gets breached. It + indicates the statistic being sampled was + falling. + + When current sample is less than or equal + to this object, and the value at the last sampling + interval was greater than this object (in other + words the value is falling), an entry in the + cnpdThresholdHistoryTable will be created. + + After a falling event is generated, another + such event will not be generated until the sampled + value rises above this object and reaches the + cnpdThresholdConfigRising value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.10"; + } + + leaf cnpdThresholdConfigStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create or delete + the row entry in cnpdThresholdConfigTable. + + When creating a row entry the management station + is required to specify a value for + cnpdThresholdConfigIfIndex, cnpdThresholdConfigRising + and cnpdThresholdConfigFalling. + + 'active' means that a createAndGo or active has + been issued, AND a valid ifIndex exists. And therefore + if a row is 'active' it means a ThresholdHistory entry + may have been generated if the value was breached. + + If you set an 'active' row to 'createAndWait' - it will + in fact get the status 'notReady'. + + Likewise if you set any row to 'notInService' or 'notReady' + it will go to the 'notReady' state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5.1.1.12"; + } + } + } + + container cnpdThresholdHistoryTable { + description + "The Threshold History table. Notifications + are unreliable so this table provides a + history of the last 5000 threshold breached + events. A notification can be traced back to + its cnpdThresholdHistoryEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1"; + + list cnpdThresholdHistoryEntry { + key "cnpdThresholdHistoryIndex"; + description + "This entry is created each time a threshold + is breached. + + Thus there is not necessarily a one to one + relationship to cnpdThresholdConfigTable + as not every Threshold configured will + be breached."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1"; + + leaf cnpdThresholdHistoryIndex { + type uint32 { + range "1..1000"; + } + description + "A monotonically increasing integer + which uniquely identifies this + cnpdThresholdHistoryEntry in the + cnpdThresholdHistory table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.1"; + } + + leaf cnpdThresholdHistoryConfigIndex { + type uint32 { + range "1..1000"; + } + description + "The cnpdThresholdConfigTable entry + which generated this entry. Using this + object the management station can backtrack + to the appropriate cnpdThresholdConfigEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.2"; + } + + leaf cnpdThresholdHistoryValue { + type uint32 { + range "1..4294967295"; + } + description + "The actual value of the statistic when + the sampling was made."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.3"; + } + + leaf cnpdThresholdHistoryType { + type enumeration { + enum "risingBreach" { + value "1"; + } + enum "fallingBreach" { + value "2"; + } + } + description + "Describes whether this is an + event caused by a rising + or falling threshold breach."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.4"; + } + + leaf cnpdThresholdHistoryTime { + type yang:timeticks; + description + "The value of sysUpTime of the running + configuration when the event occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.5"; + } + + leaf cnpdThresholdHistoryProtocol { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolIndex { + range "1..1024"; + } + description + "The application or protocol which the + management station configured a + threshold on. + + This object is an index into the + SupportedProtocolsTable where details + of the protocol can be found."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.6"; + } + + leaf cnpdThresholdHistoryStatsSelect { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdDataType; + description + "This is the statistic used to base the threshold + on."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6.1.1.7"; + } + } + } + + container cnpdSupportedProtocolsTable { + description + "The Supported Protocols table lists all the + protocols and applications which NBAR is currently + capable of recognizing."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.8.1"; + + list cnpdSupportedProtocolsEntry { + key "cnpdSupportedProtocolsIndex"; + description + "A entry in the Supported Protocols table reflecting + key information about a protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.8.1.1"; + + leaf cnpdSupportedProtocolsIndex { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolIndex { + range "1..1024"; + } + description + "A unique identifier of a row in this table. + + Thus it also represents a unique identifier for a + protocol or application which NBAR currently + recognizes."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.8.1.1.1"; + } + + leaf cnpdSupportedProtocolsName { + type CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CiscoPdProtocolName; + description + "This object reflects the valid string of a + protocol or application which NBAR currently + recognizes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.244.1.8.1.1.2"; + } + } + } + } + + notification cnpdThresholdRisingEvent { + description + "A cnpdThresholdRisingEvent is sent whenever + a notification entry crosses its rising threshold + and generates an event that is added to the + cnpdThresholdHistoryTable."; + smiv2:oid "1.3.6.1.4.1.9.9.244.0.1"; + + container object-1 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigIfIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIfIndex"; + } + } + } + + container object-2 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigStatsSelect { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigStatsSelect"; + } + } + } + + container object-3 { + + leaf cnpdThresholdHistoryIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryIndex"; + } + } + + leaf cnpdThresholdHistoryValue { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryValue"; + } + } + } + + container object-4 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigRising { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigRising"; + } + } + } + + container object-5 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigProtocol { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigProtocol"; + } + } + } + + container object-6 { + + leaf cnpdThresholdHistoryIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryIndex"; + } + } + + leaf cnpdThresholdHistoryTime { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTime"; + } + } + } + } + + notification cnpdThresholdFallingEvent { + description + "A cnpdThresholdConfigFallingEvent is sent + whenever a notification entry crosses its + falling threshold and generates an event + that is added to the cnpdThresholdHistoryTable."; + smiv2:oid "1.3.6.1.4.1.9.9.244.0.2"; + + container object-1 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigIfIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIfIndex"; + } + } + } + + container object-2 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigStatsSelect { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigStatsSelect"; + } + } + } + + container object-3 { + + leaf cnpdThresholdHistoryIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryIndex"; + } + } + + leaf cnpdThresholdHistoryValue { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryValue"; + } + } + } + + container object-4 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigFalling { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigFalling"; + } + } + } + + container object-5 { + + leaf cnpdThresholdConfigIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigIndex"; + } + } + + leaf cnpdThresholdConfigProtocol { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdConfigProtocol"; + } + } + } + + container object-6 { + + leaf cnpdThresholdHistoryIndex { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryIndex"; + } + } + + leaf cnpdThresholdHistoryTime { + type leafref { + path "/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTable/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryEntry/CISCO-NBAR-PROTOCOL-DISCOVERY-MIB:cnpdThresholdHistoryTime"; + } + } + } + } + + smiv2:alias "ciscoNbarProtocolDiscoveryMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.244"; + } + + smiv2:alias "cnpdMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.244.0"; + } + + smiv2:alias "cnpdMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1"; + } + + smiv2:alias "cnpdStatus" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.1"; + } + + smiv2:alias "cnpdAllStats" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.2"; + } + + smiv2:alias "cnpdTopNConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.3"; + } + + smiv2:alias "cnpdTopNStats" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.4"; + } + + smiv2:alias "cnpdThresholdConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.5"; + } + + smiv2:alias "cnpdThresholdHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.6"; + } + + smiv2:alias "cnpdNotificationsConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.7"; + } + + smiv2:alias "cnpdSupportedProtocols" { + smiv2:oid "1.3.6.1.4.1.9.9.244.1.8"; + } + + smiv2:alias "cnpdMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.244.2"; + } + + smiv2:alias "cnpdMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.244.2.1"; + } + + smiv2:alias "cnpdMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.244.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-NETSYNC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-NETSYNC-MIB.yang new file mode 100644 index 000000000..3200ba3b7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-NETSYNC-MIB.yang @@ -0,0 +1,1956 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-NETSYNC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-NETSYNC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-NETSYNC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB"; + prefix CISCO-NETSYNC-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + + Postal: 170 W Tasman Drive + + San Jose, CA 95134 + + USA + + + Tel: +1 800 553-NETS + + + E-mail: cs-sync-e@cisco.com"; + + description + "The Synchronous Ethernet (SyncE) MIB is defined + for monitoring network synchronization based on + ITU-T G.781 clock selection. + + Synchronous Ethernet (SyncE) is a standard defined + for delivering timing to the remote NEs through a + Packet Network. SyncE is well defined by ITU-T + which included G.8261, G.8262, G.8264 and G.781. + It leverages the PHY layer of Ethernet to transmit + frequency to the remote sites. Its functionality + and accuracy mimics that of the SONET/SDH network + because of its physical layer characteristic. + In order to allow best clock source traceabiliy, + correctly define the timing source and helps + preventing timing loop, Synchronization Status + Message is required for SyncE. This is similar + to SONET/SDH. However, since SONET/SDH use 4 bits + from the two S bytes in the SONET/SDH overhead + frame for such message, Ethernet relies on a + different channel called ESMC (Ethernet + Synchronization Messaging Channel) which is based + on IEEE 802.3 Organization Specific Slow Protocol. + + Glossary: + AIS: Alarm Indication Signal + ATM: Asynchronous Transfer Mode + EEC: Ethernet Equipment Clock + ESMC: Ethernet Synchronization Messaging Channel + QL: Quality Level + SASE: Stand Alone Synchronization Equipment + SSM: Synchronization Status Messaging"; + + revision 2010-10-15 { + description + "Initial version of the SyncE MIB module."; + } + + typedef CiscoNetsyncIfType { + type enumeration { + enum "netsyncIfTypeUnknown" { + value "1"; + } + enum "netsyncIfTypeInternal" { + value "2"; + } + enum "netsyncIfTypeEthernet" { + value "3"; + } + enum "netsyncIfTypeSonet" { + value "4"; + } + enum "netsyncIfTypeTop" { + value "5"; + } + enum "netsyncIfTypeExt" { + value "6"; + } + enum "netsyncIfTypeController" { + value "7"; + } + enum "netsyncIfTypeGps" { + value "8"; + } + enum "netsyncIfTypeAtm" { + value "9"; + } + } + description + "Network synchronization clock source Interface type. + + Netsync interface Interface type + ======================== ============== + netsyncIfTypeUnknown Unknown + netsyncIfTypeInternal Internal + netsyncIfTypeEthernet Ethernet + netsyncIfTypeSonet SONET + netsyncIfTypeTop Timing Over Packet + netsyncIfTypeExt External interface + netsyncIfTypeController T1/E1 Controller + netsyncIfTypeGps GPS + netsyncIfTypeAtm ATM + + For external and GPS interface types, the following + syntax is used for specifying an interface: + // where + slot : slot number of the device where card is present. + card : bay number in which card is inserted. + port : port number on the card. + signal type: hardware signal of the specified + //. Examples of signal + type are T1 SF and T1 ESF."; + } + + typedef CiscoNetsyncNetworkOption { + type enumeration { + enum "netsyncNetworkOptionUnknown" { + value "1"; + } + enum "netsyncNetworkOption1" { + value "2"; + } + enum "netsyncNetworkOption2Gen1" { + value "3"; + } + enum "netsyncNetworkOption2Gen2" { + value "4"; + } + enum "netsyncNetworkOption3" { + value "5"; + } + enum "netsyncNetworkOptionInvalid" { + value "6"; + } + } + description + "Network synchronization networking options. + + Network option Network option type + =========================== =================== + netsyncNetworkOptionUnknown Unknown network option + netsyncNetworkOption1 Option I + netsyncNetworkOption2Gen1 Option II Generation 1 + netsyncNetworkOption2Gen2 Option II Generation 2 + netsyncNetworkOption3 Option III + netsyncNetworkOptionInvalid Invalid network option + + Option I refers to ITU-T Option I synchronization networks. + + Option II refers to ITU-T Option II synchronization networks + designed for North America. + + Option III refers to ITU-T Option III synchronization networks + designed for Japan."; + reference + "ITU-T standard G.781"; + } + + typedef CiscoNetsyncEECOption { + type enumeration { + enum "netsyncEECOptionUnknown" { + value "1"; + } + enum "netsyncEECOption1" { + value "2"; + } + enum "netsyncEECOption2" { + value "3"; + } + enum "netsyncEECOptionInvalid" { + value "4"; + } + } + description + "Network synchronization EEC (Ethernet Equipment Clock) + options. + + The EEC options are for Synchronous Ethernet devices and define + the requirements for clocks, e.g. bandwidth, frequency accuracy, + holdover and noise generation. + + Two options are defined: + EEC-Option 1: Designed to interwork with network optimized for + the 2048 kbit/s hierarchy. + + EEC-Option 2: Designed to interwork with network optimized for + the 1544 kbit/s hierarchy. + + netsyncEECOptionUnknown Unknown + netsyncEECOption1 EEC option 1 + netsyncEECOption2 EEC option 2 + netsyncEECOptionInvalid Invalid EEC option"; + reference + "ITU-T standard G.781"; + } + + typedef CiscoNetsyncQLMode { + type enumeration { + enum "netsyncQLModeUnknown" { + value "1"; + } + enum "netsyncQLModeQlDisabled" { + value "2"; + } + enum "netsyncQLModeQlEnabled" { + value "3"; + } + } + description + "The clock mode of the network synchronization clock selection + process as described in ITU-T standard G.781 section 5.12. + + G.781 clock selection runs in one of two clock modes: + QL (Quality Level) enabled mode and QL disabled mode. + + netsyncQLModeUnknown - QL mode unknown + netsyncQLModeQlDisabled - QL-disabled mode; + clock selection is running + in QL disabled mode, + which primarily considers + the source's priority as the + clock selection criteria. + netsyncQLModeQlEnabled - QL-enabled mode + clock selection is running + in QL enabled mode, + which primarily considers + the source's clock quality + level and priority as the + clock selection criteria."; + reference + "ITU-T standard G.781 section 5.12"; + } + + typedef CiscoNetsyncClockMode { + type enumeration { + enum "netsyncClockModeUnknown" { + value "1"; + } + enum "netsyncClockModeFreerun" { + value "2"; + } + enum "netsyncClockModeHoldover" { + value "3"; + } + enum "netsyncClockModeLocked" { + value "4"; + } + } + description + "Clock operating mode: + + netsyncClockModeUnknown - system is unable to + determine the operating mode. + netsyncClockModeFreerun - free-running mode. + netsyncClockModeHoldover - holdover mode. + netsyncClockModeLocked - a valid clock source is locked."; + } + + typedef CiscoNetsyncQualityLevel { + type enumeration { + enum "netsyncQualityLevelNULL" { + value "1"; + } + enum "netsyncQualityLevelDNU" { + value "2"; + } + enum "netsyncQualityLevelDUS" { + value "3"; + } + enum "netsyncQualityLevelFAILED" { + value "4"; + } + enum "netsyncQualityLevelINV0" { + value "5"; + } + enum "netsyncQualityLevelINV1" { + value "6"; + } + enum "netsyncQualityLevelINV2" { + value "7"; + } + enum "netsyncQualityLevelINV3" { + value "8"; + } + enum "netsyncQualityLevelINV4" { + value "9"; + } + enum "netsyncQualityLevelINV5" { + value "10"; + } + enum "netsyncQualityLevelINV6" { + value "11"; + } + enum "netsyncQualityLevelINV7" { + value "12"; + } + enum "netsyncQualityLevelINV8" { + value "13"; + } + enum "netsyncQualityLevelINV9" { + value "14"; + } + enum "netsyncQualityLevelINV10" { + value "15"; + } + enum "netsyncQualityLevelINV11" { + value "16"; + } + enum "netsyncQualityLevelINV12" { + value "17"; + } + enum "netsyncQualityLevelINV13" { + value "18"; + } + enum "netsyncQualityLevelINV14" { + value "19"; + } + enum "netsyncQualityLevelINV15" { + value "20"; + } + enum "netsyncQualityLevelNSUPP" { + value "21"; + } + enum "netsyncQualityLevelPRC" { + value "22"; + } + enum "netsyncQualityLevelPROV" { + value "23"; + } + enum "netsyncQualityLevelPRS" { + value "24"; + } + enum "netsyncQualityLevelSEC" { + value "25"; + } + enum "netsyncQualityLevelSMC" { + value "26"; + } + enum "netsyncQualityLevelSSUA" { + value "27"; + } + enum "netsyncQualityLevelSSUB" { + value "28"; + } + enum "netsyncQualityLevelST2" { + value "29"; + } + enum "netsyncQualityLevelST3" { + value "30"; + } + enum "netsyncQualityLevelST3E" { + value "31"; + } + enum "netsyncQualityLevelST4" { + value "32"; + } + enum "netsyncQualityLevelSTU" { + value "33"; + } + enum "netsyncQualityLevelTNC" { + value "34"; + } + enum "netsyncQualityLevelUNC" { + value "35"; + } + enum "netsyncQualityLevelUNK" { + value "36"; + } + } + description + "Clock source QL (quality level) is defined in ITU-T G.781 + section 5.4 to reflect the synchronization quality within a + network Option, i.e. I, II, and III. + + The following clock source quality levels are defined for the + synchronization process of Option I: + + QL-PRC Primary reference clock + QL-SSU-A Type I or V slave clock defined in ITU-T G.811 + QL-SSU-B Type VI slave clock defined in ITU-T G.812 + QL-SEC Synchronous equipment clock + QL-DNU Do not use for synchronization + QL-INVx Unallocated SSM value, + where x represent the value of SSM received + QL-FAILED Signal failure state + QL-UNC Unconnected to an input + QL-NSUPP Not supporting the SSM processing + + The following clock source quality levels are defined for the + synchronization process of Option II: + + QL-PRS PRS traceable + QL-STU Synchronized; traceability unknown + QL-ST2 Stratum 2 + QL-TNC Transit node clock + QL-ST3E Stratum 3E + QL-ST3 Stratum 3 + QL-SMC SONET clock self timed + QL-ST4 Stratum 4 freerun + QL-PROV Provisionable by the network operator + QL-DUS Do not use for synchronization + QL-INVx Unallocated SSM value, + where x represent the value of SSM received + QL-FAILED Signal failure state + QL-UNC Unconnected to an input + QL-NSUPP Not supporting the SSM processing + + The following clock source quality levels are defined for the + synchronization process of Option III: + + QL-UNK Unknown clock source + QL-SEC Synchronous equipment clock + + QL-INVx Unallocated SSM value, + where x represent the value of SSM received + QL-FAILED Signal failure state + QL-UNC Unconnected to an input + QL-NSUPP Not supporting the SSM processing "; + reference + "ITU-T standard G.781 section 5.4"; + } + + typedef CiscoNetsyncSSMCap { + type enumeration { + enum "netsyncSSMCapNone" { + value "1"; + } + enum "netsyncSSMCapTxRx" { + value "2"; + } + enum "netsyncSSMCapTx" { + value "3"; + } + enum "netsyncSSMCapRx" { + value "4"; + } + enum "netsyncSSMCapInvalid" { + value "5"; + } + } + description + "Network synchronization clock source interface SSM + (Synchronization Status Message) capability. + + SSM Capability Capability information + ===================== ====================== + netsyncSSMCapNone No SSM capability + netsyncSSMCapTxRx To transmit and receive SSM + netsyncSSMCapTx To transmit SSM only + netsyncSSMCapRx To receive SSM only + netsyncSSMCapInvalid Capability invalid or unsupported"; + } + + typedef CiscoNetsyncESMCCap { + type enumeration { + enum "netsyncESMCCapNone" { + value "1"; + } + enum "netsyncESMCCapTxRx" { + value "2"; + } + enum "netsyncESMCCapTx" { + value "3"; + } + enum "netsyncESMCCapRx" { + value "4"; + } + enum "netsyncESMCCapInvalid" { + value "5"; + } + } + description + "Network synchronization clock source interface ESMC + (Ethernet Synchronization Messaging Channel) + capability. + + ESMC Capability Capability information + ====================== ====================== + netsyncESMCCapNone No ESMC capability + netsyncESMCCapTxRx To transmit and receive ESMC + netsyncESMCCapTx To transmit SSM only + netsyncESMCCapRx To receive SSM only + netsyncESMCCapInvalid Capability invalid or unsupported"; + } + + typedef CiscoNetsyncAlarmInfo { + type bits { + bit netsyncSrcAlarmReasonAIS { + position "0"; + } + bit netsyncSrcAlarmReasonOOR { + position "1"; + } + bit netsyncSrcAlarmReasonOIR { + position "2"; + } + bit netsyncSrcAlarmReasonInternal { + position "3"; + } + } + description + "Input clock source's alarm reasons: + + netsyncSrcAlarmReasonAIS - Alarm Indication Signal + netsyncSrcAlarmReasonOOR - Out of range + netsyncSrcAlarmReasonOIR - Online Insertion Removal + netsyncSrcAlarmReasonInternal - Internal"; + } + + + container CISCO-NETSYNC-MIB { + config false; + + container ciscoNetsyncMIBNotifControl { + smiv2:oid "1.3.6.1.4.1.9.9.761.1.3"; + + leaf cnsMIBEnableStatusNotification { + type boolean; + description + "A control object to enable/disable + ciscoNetsyncSelectedT0Clock, ciscoNetsyncSelectedT4Clock, + ciscoNetsyncInputSignalFailureStatus, + ciscoNetsyncInputAlarmStatus notifications at the system + level. + This object should hold any of the below values. + true - The notif is enabled globally for the system + false- The notif is disabled globally for the system"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.3.1"; + } + } + + container cnsClkSelGlobalTable { + description + "G.781 clock selection process table. + This table contains the global parameters for the G.781 clock + selection process."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1"; + + list cnsClkSelGlobalEntry { + key "cnsClkSelGloProcIndex"; + description + "An entry is added to cnsClkSelGlobalTable when G.781 clock + selection is enabled in the device configuration. The entry + is removed when G.781 clock selection is removed from the + configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1"; + + leaf cnsClkSelGloProcIndex { + type uint32 { + range "0..4294967295"; + } + description + "An index that uniquely represents a clock selection process. + + This index is assigned arbitrarily by the system + and may not be persistent across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.1"; + } + + leaf cnsClkSelGlobProcessMode { + type CISCO-NETSYNC-MIB:CiscoNetsyncQLMode; + description + "This object indicates the QL mode of + the network synchronization clock selection + process as described in ITU-T standard G.781 + section 5.12."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.2"; + } + + leaf cnsClkSelGlobClockMode { + type CISCO-NETSYNC-MIB:CiscoNetsyncClockMode; + description + "This object indicates the operating mode + of the system clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.3"; + } + + leaf cnsClkSelGlobNetsyncEnable { + type boolean; + description + "This object indicates whether the G.781 + clock selection is enabled or not. + + 'true' - G.781 clock selection is enabled + 'false' - G.781 clock selection is disabled"; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.4"; + } + + leaf cnsClkSelGlobRevertiveMode { + type boolean; + description + "This object indicates the revertive mode + setting in the G.781 clock selection process. + + The switching of clock sources can be made revertive or + non-revertive. In non-revertive mode, an alternate + clock source is maintained even after the original clock + source has recovered from the failure that caused the switch. + In revertive mode, the clock selection process switches back + to the original clock source after recovering from the + failure."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.5"; + } + + leaf cnsClkSelGlobESMCMode { + type boolean; + description + "This object indicates if global ESMC is enabled. + With ESMC enabled globally, the system is capable + of handling ESMC messages."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.6"; + } + + leaf cnsClkSelGlobEECOption { + type CISCO-NETSYNC-MIB:CiscoNetsyncEECOption; + description + "This object indicates the network synchronization + EEC (Ethernet Equipment Clock) option."; + reference + "ITU-T standard G.781"; + smiv2:defval "netsyncEECOptionUnknown"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.7"; + } + + leaf cnsClkSelGlobNetworkOption { + type CISCO-NETSYNC-MIB:CiscoNetsyncNetworkOption; + description + "This object indicates the synchronization + network option."; + reference + "ITU-T standard G.781"; + smiv2:defval "netsyncNetworkOptionUnknown"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.8"; + } + + leaf cnsClkSelGlobHoldoffTime { + type uint32 { + range "0..4294967295"; + } + units "milliseconds"; + description + "This object indicates the global + holdoff time in the G.781 clock + selection process."; + reference + "ITU-T standard G.781 section 5.8"; + smiv2:defval "300"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.9"; + } + + leaf cnsClkSelGlobWtrTime { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + description + "This object indicates the global + wait-to-restore time in the G.781 + clock selection process."; + reference + "ITU-T standard G.781 section 5.9"; + smiv2:defval "300"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.10"; + } + + leaf cnsClkSelGlobNofSources { + type uint32 { + range "0..255"; + } + units "clock sources"; + description + "This object indicates the number of + synchronization sources currently + configured for the G.781 + clock selection process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.11"; + } + + leaf cnsClkSelGlobLastHoldoverSeconds { + type yang:gauge32; + units "seconds"; + description + "This object indicates the duration of + the last holdover period in seconds. + If the holdover duration is less than a second, + the object will carry the value zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.12"; + } + + leaf cnsClkSelGlobCurrHoldoverSeconds { + type yang:gauge32; + units "seconds"; + description + "This object indicates the duration of + the current holdover period. + If a system clock is in holdover mode, + the object carries the current holdover + duration in seconds. If the system clock + is not in holdover, the object carries + the value 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.1.1.13"; + } + } + } + + container cnsSelectedInputSourceTable { + description + "T0 selected clock source table. + This table contains the selected clock source for the input T0 + clock."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2"; + + list cnsSelectedInputSourceEntry { + key "cnsSelInpSrcNetsyncIndex"; + description + "An entry is created in the table when the G.781 clock + selection process has successfully selected a T0 clock + source. The entry shall remain during the time + the G.781 clock selection process remains enabled."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1"; + + leaf cnsSelInpSrcNetsyncIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents an entry in + this table. This index is assigned arbitrarily + by the clock selection process and may not be persistent + across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.1"; + } + + leaf cnsSelInpSrcName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "This object indicates the name of the + selected T0 clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.2"; + } + + leaf cnsSelInpSrcIntfType { + type CISCO-NETSYNC-MIB:CiscoNetsyncIfType; + description + "This object indicates the type of the + selected T0 clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.3"; + } + + leaf cnsSelInpSrcQualityLevel { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the selected T0 clock + source's effective quality level, which + is the derived clock quality based on the three factors: + (a) Received quality level. + (b) Configured Rx quality level. This factor supersedes (a). + (c) System overridden quality level as a result of exceptional + events such as signal failure or ESMC failure. This factor + supersedes (a) and (b)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.4"; + } + + leaf cnsSelInpSrcPriority { + type uint32 { + range "1..1024"; + } + description + "This object indicates the configured + priority of the selected T0 clock. + A smaller value represents a higher priority."; + reference + "ITU-T standard G.781 section 5.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.5"; + } + + leaf cnsSelInpSrcTimestamp { + type yang:timestamp; + description + "This object indicates the timestamp of + the T0 clock source being selected by + the G.781 clock selection process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.6"; + } + + leaf cnsSelInpSrcFSW { + type boolean; + description + "This object indicates the forced switching flag. Forced + switching, as described in G.781, is used to override the + currently selected synchronization source. + + The 'true' value indicates the currently selected clock + source is a result of the forced switching. The 'false' + value indicates the currently selected clock source is + not a result of forced switching."; + reference + "ITU-T standard G.781 section 5.11.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.7"; + } + + leaf cnsSelInpSrcMSW { + type boolean; + description + "This object indicates the manual switching flag. + The 'true' value indicates the currently selected clock source + is a result of the manual switch command. The command allows + a user to select a synchronization source assuming it is + enabled, not locked out, not in signal fail condition, + and has a QL better than DNU in QL-enabled mode. Furthermore, + in QL-enabled mode, a manual switch can be performed only to + a source which has the highest available QL."; + reference + "ITU-T standard G.781 section 5.11.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.2.1.8"; + } + } + } + + container cnsInputSourceTable { + description + "T0 clock source table. + This table contains a list of input sources for input T0 clock + selection."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3"; + + list cnsInputSourceEntry { + key "cnsInpSrcNetsyncIndex"; + description + "An entry is created in the table when a user adds a T0 + clock source in the configuration. An entry is removed + in the table when a user removes a T0 clock source from + the configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1"; + + leaf cnsInpSrcNetsyncIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents an entry in + this table. This index is assigned arbitrarily + by the clock selection process and may not be persistent + across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.1"; + } + + leaf cnsInpSrcName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "This object indicates the name of an input + clock source configured for the T0 clock + selection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.2"; + } + + leaf cnsInpSrcIntfType { + type CISCO-NETSYNC-MIB:CiscoNetsyncIfType; + description + "This object indicates the type of an input + clock source configured for the T0 clock + selection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.3"; + } + + leaf cnsInpSrcPriority { + type uint32 { + range "1..1024"; + } + description + "This object indicates the priority of an input + clock source configured for the T0 clock + selection. + + A smaller value represents a higher priority."; + reference + "ITU-T standard G.781 section 5.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.4"; + } + + leaf cnsInpSrcESMCCap { + type CISCO-NETSYNC-MIB:CiscoNetsyncESMCCap; + description + "This object indicates the ESMC capability + of an input clock source configured for the + T0 clock selection. This is applicable only to Synchronous + Ethernet input clock source identified by cnsInpSrcIntfType + 'netsyncIfTypeEthernet'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.5"; + } + + leaf cnsInpSrcSSMCap { + type CISCO-NETSYNC-MIB:CiscoNetsyncSSMCap; + description + "This object indicates the SSM capability + of an input clock source configured for the + T0 clock selection. This is applicable only to + any synchronous interface clock source except + SyncE interface, which is identified by cnsInpSrcIntfType + 'netsyncIfTypeEthernet'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.6"; + } + + leaf cnsInpSrcQualityLevelTxCfg { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the configured transmit + clock quality level of an input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.7"; + } + + leaf cnsInpSrcQualityLevelRxCfg { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the configured receive + clock quality level of an input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.8"; + } + + leaf cnsInpSrcQualityLevelTx { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the most recent clock + quality level transmitted on the input clock + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.9"; + } + + leaf cnsInpSrcQualityLevelRx { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the last clock quality + level received on the input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.10"; + } + + leaf cnsInpSrcQualityLevel { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the current clock quality + level of the input clock source. This is the + effective quality which is derived from three values: + + 1) most recent clock quality level received, + 2) forced clock quality level (entered via configuration) + 3) overridden clock quality level as a result of line protocol + down, signal failure, or alarms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.11"; + } + + leaf cnsInpSrcHoldoffTime { + type uint32 { + range "0..4294967295"; + } + units "milliseconds"; + description + "This object indicates the hold-off time value of + an input clock source. + + The hold-off time prevents short activation of signal failure + is passed to the selection process. When a signal failure + event is reported on a clock source, it waits the duration of + the hold-off time before declaring signal failure on the clock + source."; + reference + "ITU-T standard G.781 section 5.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.12"; + } + + leaf cnsInpSrcWtrTime { + type uint32 { + range "0..4294967295"; + } + units "Seconds"; + description + "This object indicates the wait-to-restore time value + of an input clock source. + + The wait-to-restore time ensures that a previous failed + synchronization source is only again considered as available + by the selection process if it is fault-free for a certain time. + When a signal failure condition is cleared on a clock source, + it waits the duration of the wait-to-restore time before + clearing the signal failure status on the clock source."; + reference + "ITU-T standard G.781 section 5.9"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.13"; + } + + leaf cnsInpSrcLockout { + type boolean; + description + "This object indicates whether or not the lockout + command has been applied to a clock source. + + The 'true' value means the clock source is not + considered by the selection process."; + reference + "ITU-T standard G.781 section 5.11.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.14"; + } + + leaf cnsInpSrcSignalFailure { + type boolean; + description + "This object indicates whether or not a + signal failure event is currently being + reported on the input clock source."; + reference + "ITU-T standard G.781 section 5.7"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.15"; + } + + leaf cnsInpSrcAlarm { + type boolean; + description + "This object indicates whether or not an + alarm event is currently being reported + on the input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.16"; + } + + leaf cnsInpSrcAlarmInfo { + type CISCO-NETSYNC-MIB:CiscoNetsyncAlarmInfo; + description + "This object indicates the alarm reasons of + an input clock source if an alarm event + is being reported on it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.17"; + } + + leaf cnsInpSrcFSW { + type boolean; + description + "This object indicates the forced switching flag. + Forced switching, as described in G.781, is used to + override the currently selected synchronization source. + + The 'true' value indicates the currently selected clock source + is a result of the forced switching. The 'false' value + indicates the currently selected clock source is not a result + of forced switching."; + reference + "ITU-T standard G.781 section 5.11.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.18"; + } + + leaf cnsInpSrcMSW { + type boolean; + description + "This object indicates the manual switching flag. + + The 'true' value indicates the currently selected clock source + is a result of the manual switching. The switch allows + a user to select a synchronization source assuming it is + enabled, not locked out, not in signal fail condition, + and has a QL better than DNU in QL-enabled mode. + + A clock source is enabled when it occupies a row in + cnsInputSourceTable. A clock source is not locked out + when cnsInpSrcLockout contains the value 'false'. + A clock source is not in signal failure condition when + cnsInpSrcSignalFailure contains the value 'false'. + The QL is identified in cnsInpSrcQualityLevel. + + In QL-enabled mode, a manual switch can be performed only to + a source which has the highest available QL."; + reference + "ITU-T standard G.781 section 5.11.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.3.1.19"; + } + } + } + + container cnsExtOutputTable { + description + "T4 external output table. + This table contains a list of T4 external outputs. + + Each T4 external output is associated with clock + source(s) to be found in cnsT4ClockSourceTable. + The clock selection process considers all the + available clock sources and select the T4 clock + source based on the G.781 clock selection algorithm."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4"; + + list cnsExtOutputEntry { + key "cnsExtOutListIndex"; + description + "An entry is created in the table when a user adds + a T4 external output in the configuration. A T4 external + output configured input clock sources are defined in + cnsT4ClockSourceTable. + + An entry is removed from the table when a user removes + a T4 external output from the configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1"; + + leaf cnsExtOutListIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents an entry in + this table. This index is assigned arbitrarily by the + clock selection process and may not be persistent + across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.1"; + } + + leaf cnsExtOutSelNetsyncIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents the selected input clock + source whose information is reported by a row in + cnsT4ClockSourceTable. The index lists the value of + cnsT4ClkSrcNetsyncIndex, which is the input clock source + of the T4 external output selected by the G.781 clock + selection process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.2"; + } + + leaf cnsExtOutName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "This object indicates the name of a + T4 external output."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.3"; + } + + leaf cnsExtOutIntfType { + type CISCO-NETSYNC-MIB:CiscoNetsyncIfType; + description + "This object indicates the interface type + of the T4 external output."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.4"; + } + + leaf cnsExtOutQualityLevel { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the clock quality + of the T4 external output."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.5"; + } + + leaf cnsExtOutPriority { + type uint32 { + range "1..1024"; + } + description + "This object indicates the priority of the + selected clock source for a T4 external + output. + + A smaller value represents a higher priority."; + reference + "ITU-T standard G.781 section 5.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.6"; + } + + leaf cnsExtOutFSW { + type boolean; + description + "This object indicates the forced switching flag. + Forced switching, as described in G.781, is used to + override the currently selected synchronization source, + The T4 selected synchronization source is identified by + cnsExtOutSelNetsyncIndex, which contains the index to + the clock source in cnsT4ClockSourceTable. + + The 'true' value indicates the currently selected + T4 clock source is a result of the forced switching. + The 'false' value indicates the currently selected T4 + clock source is not a result of forced switching."; + reference + "ITU-T standard G.781 section 5.11.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.7"; + } + + leaf cnsExtOutMSW { + type boolean; + description + "This object indicates the manual switching flag. + + The 'true' value indicates the currently selected + T4 clock source is a result of the manual switch command. + The command allows a user to select a synchronization source + assuming it is enabled, not locked out, not in signal fail + condition, and has a QL better than DNU in QL-enabled mode. + + A clock source is enabled when it occupies in row in + cnsT4ClockSourceTable. A clock source is not locked out + when cnsT4ClkSrcLockout contains the value 'false'. + A clock source is not in signal failure condition when + cnsT4ClkSrcSignalFailure contains the value 'false'. + The QL is identified in cnsT4ClkSrcQualityLevel. + + In QL-enabled mode, a manual switch can be + performed only to a source which has the highest + available QL."; + reference + "ITU-T standard G.781 section 5.11.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.8"; + } + + leaf cnsExtOutSquelch { + type boolean; + description + "This object indicates whether or not a + T4 external output is squelched. + + Squelching is a sychronization function defined to prevent + transmission of a timing signal with a quality that is lower + than the quality of the clock in the receiving networks + element or SASE. It is also used for the prevention of + timing loops."; + reference + "ITU-T standard G.781 section 5.4.1.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.4.1.9"; + } + } + } + + container cnsT4ClockSourceTable { + description + "T4 clock source table. + This table contains a list of input sources for a specific + T4 external output. An entry shall be added to + cnsExtOutputTable first. Then clock sources shall be + added in this table for the selection process to select + the appropriate T4 clock source."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5"; + + list cnsT4ClockSourceEntry { + key "cnsExtOutListIndex cnsT4ClkSrcNetsyncIndex"; + description + "An entry is created in the table when a user adds a + clock source to a T4 external output in the configuration. + The T4 external output is defined in the T4 external + output table. An entry is removed in the table when a user + removes a T4 clock source from the configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1"; + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsT4ClkSrcNetsyncIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents an entry in + this table. This index is assigned arbitrarily by the + clock selection process and may not be persistent + across reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.1"; + } + + leaf cnsT4ClkSrcName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "This object indicates the name of a input + clock source configured for the T4 clock + selection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.2"; + } + + leaf cnsT4ClkSrcIntfType { + type CISCO-NETSYNC-MIB:CiscoNetsyncIfType; + description + "This object indicates the type of an input + clock source configured for the T4 clock + selection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.3"; + } + + leaf cnsT4ClkSrcPriority { + type uint32 { + range "1..1024"; + } + description + "This object indicates the priority of an input + clock source configured for the T4 clock + selection. + + A smaller value represents a higher priority."; + reference + "ITU-T standard G.781 section 5.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.4"; + } + + leaf cnsT4ClkSrcESMCCap { + type CISCO-NETSYNC-MIB:CiscoNetsyncESMCCap; + description + "This object indicates the ESMC capability + of an input clock source configured for the + T4 clock selection. This is applicable + only to Synchronous Ethernet input clock source + identified by cnsT4ClkSrcIntfType 'netsyncIfTypeEthernet'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.5"; + } + + leaf cnsT4ClkSrcSSMCap { + type CISCO-NETSYNC-MIB:CiscoNetsyncSSMCap; + description + "This object indicates the SSM capability + of an input clock source configured for the + T4 clock selection. This is applicable only to any + synchronous interface clock source except SyncE interface, + which is identified by cnsT4ClkSrcIntfType + 'netsyncIfTypeEthernet'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.6"; + } + + leaf cnsT4ClkSrcQualityLevelTxCfg { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the configured transmit + clock quality level of a T4 input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.7"; + } + + leaf cnsT4ClkSrcQualityLevelRxCfg { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the configured receive + clock quality level of a T4 input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.8"; + } + + leaf cnsT4ClkSrcQualityLevelTx { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the most recent clock + quality level transmitted on the T4 input + clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.9"; + } + + leaf cnsT4ClkSrcQualityLevelRx { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the last clock quality + level received on the T4 input clock + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.10"; + } + + leaf cnsT4ClkSrcQualityLevel { + type CISCO-NETSYNC-MIB:CiscoNetsyncQualityLevel; + description + "This object indicates the current clock quality + level of the T4 input clock source. This is the + effective quality which is derived from three values: + + 1) most recent clock quality level received, + 2) forced clock quality level (entered via configuration) + 3) overridden clock quality level as a result of line protocol + down, signal failure, or alarms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.11"; + } + + leaf cnsT4ClkSrcHoldoffTime { + type uint32 { + range "0..4294967295"; + } + units "milliseconds"; + description + "This object indicates the hold-off time value of + a T4 input clock source. + + The hold-off time prevents short activation of signal failure + is passed to the selection process. When a signal failure + event is reported on a clock source, it waits the duration of + the hold-off time before declaring signal failure on the clock + source."; + reference + "ITU-T standard G.781 section 5.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.12"; + } + + leaf cnsT4ClkSrcWtrTime { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + description + "This object indicates the wait-to-restore time value + of a T4 input clock source. + + The wait-to-restore time ensures that a previous failed + synchronization source is only again considered as available + by the selection process if it is fault-free for a certain time. + When a signal failure condition is cleared on a clock source, + it waits the duration of the wait-to-restore time before + clearing the signal failure status on the clock source."; + reference + "ITU-T standard G.781 section 5.9"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.13"; + } + + leaf cnsT4ClkSrcLockout { + type boolean; + description + "This object indicates whether or not the lockout + command has been applied on a T4 clock source. + + The 'true' value means the clock source is not + considered by the selection process."; + reference + "ITU-T standard G.781 section 5.11.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.14"; + } + + leaf cnsT4ClkSrcSignalFailure { + type boolean; + description + "This object indicates whether or not a + signal failure event is currently being + reported on the T4 input clock source."; + reference + "ITU-T standard G.781 section 5.7"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.15"; + } + + leaf cnsT4ClkSrcAlarm { + type boolean; + description + "This object indicates whether or not an + alarm event is currently being reported + on the T4 input clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.16"; + } + + leaf cnsT4ClkSrcAlarmInfo { + type CISCO-NETSYNC-MIB:CiscoNetsyncAlarmInfo; + description + "This object indicates the alarm reasons of + a T4 input clock source if an alarm event + is being reported on the clock source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.17"; + } + + leaf cnsT4ClkSrcFSW { + type boolean; + description + "This object indicates the forced switching flag. + Forced switching, as described in G.781, is used to + override the currently selected synchronization source. + + The 'true' value indicates the currently selected + T4 clock source is a result of the forced switching. + The 'false' value indicates the currently selected + T4 clock source is not a result of forced switching."; + reference + "ITU-T standard G.781 section 5.11.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.18"; + } + + leaf cnsT4ClkSrcMSW { + type boolean; + description + "This object indicates the manual switching flag. + + The 'true' value indicates the currently selected + T4 clock source is a result of the manual switching. + The switch allows a user to select a + synchronization source assuming it is enabled, + not locked out, not in signal fail condition, + and has a QL better than DNU in QL-enabled mode. + + A clock source is enabled when it occupies a row in + cnsT4ClockSourceTable. A clock source is not locked + out when cnsT4ClkSrcLockout contains the value 'false'. + A clock source is not in signal failure condition when + cnsT4ClkSrcSignalFailure contains the value 'false'. + The QL is identified in cnsT4ClkSrcQualityLevel. + + In QL-enabled mode, a manual switch + can be performed only to a source which has the + highest available QL."; + reference + "ITU-T standard G.781 section 5.11.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1.5.1.19"; + } + } + } + } + + notification ciscoNetsyncSelectedT0Clock { + description + "T0 clock selection notification. + + This notification is generated when one + of the following conditions is met: + + - A new clock source is selected by the + T0 clock selection. + - The clock quality of a T0 selected clock + source is changed. + - The configured priority of a T0 selected + clock source is changed."; + smiv2:oid "1.3.6.1.4.1.9.9.761.0.1"; + + container object-1 { + + leaf cnsSelInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcNetsyncIndex"; + } + } + + leaf cnsSelInpSrcName { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcName"; + } + } + } + + container object-2 { + + leaf cnsSelInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcNetsyncIndex"; + } + } + + leaf cnsSelInpSrcIntfType { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcIntfType"; + } + } + } + + container object-3 { + + leaf cnsSelInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcNetsyncIndex"; + } + } + + leaf cnsSelInpSrcQualityLevel { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcQualityLevel"; + } + } + } + + container object-4 { + + leaf cnsSelInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcNetsyncIndex"; + } + } + + leaf cnsSelInpSrcPriority { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsSelectedInputSourceTable/CISCO-NETSYNC-MIB:cnsSelectedInputSourceEntry/CISCO-NETSYNC-MIB:cnsSelInpSrcPriority"; + } + } + } + } + + notification ciscoNetsyncSelectedT4Clock { + description + "T4 clock selection notification. + + This notification is generated when one + of the following conditions is met: + + - A new clock source is selected by the + T4 clock selection. + - The clock quality of a T4 selected clock + source is changed. + - The configured priority of a T4 selected + clock source is changed."; + smiv2:oid "1.3.6.1.4.1.9.9.761.0.2"; + + container object-1 { + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsExtOutName { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutName"; + } + } + } + + container object-2 { + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsT4ClkSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcNetsyncIndex"; + } + } + + leaf cnsT4ClkSrcName { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcName"; + } + } + } + + container object-3 { + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsT4ClkSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcNetsyncIndex"; + } + } + + leaf cnsT4ClkSrcIntfType { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcIntfType"; + } + } + } + + container object-4 { + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsT4ClkSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcNetsyncIndex"; + } + } + + leaf cnsT4ClkSrcQualityLevel { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcQualityLevel"; + } + } + } + + container object-5 { + + leaf cnsExtOutListIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsExtOutputTable/CISCO-NETSYNC-MIB:cnsExtOutputEntry/CISCO-NETSYNC-MIB:cnsExtOutListIndex"; + } + } + + leaf cnsT4ClkSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcNetsyncIndex"; + } + } + + leaf cnsT4ClkSrcPriority { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsT4ClockSourceTable/CISCO-NETSYNC-MIB:cnsT4ClockSourceEntry/CISCO-NETSYNC-MIB:cnsT4ClkSrcPriority"; + } + } + } + } + + notification ciscoNetsyncInputSignalFailureStatus { + description + "Input clock source signal failure notification. + + This notification is generated when a signal + failure event is reported on an input clock source. + One of the conditions a signal failure event + could be due to interface shutdown."; + smiv2:oid "1.3.6.1.4.1.9.9.761.0.3"; + + container object-1 { + + leaf cnsInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcNetsyncIndex"; + } + } + + leaf cnsInpSrcName { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcName"; + } + } + } + + container object-2 { + + leaf cnsInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcNetsyncIndex"; + } + } + + leaf cnsInpSrcIntfType { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcIntfType"; + } + } + } + + container object-3 { + + leaf cnsInpSrcFailClear { + type boolean; + description + "This object indicates the clear status of a signal failure + event. A value of 'true' means a signal failure event reported + on a clock source has been cleared. A value of 'false' means + a signal event has been reported on a clock source."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.2.1"; + } + } + } + + notification ciscoNetsyncInputAlarmStatus { + description + "Input clock source alarm notification. + + This notification is generated when an alarm + event is reported on an input clock source."; + smiv2:oid "1.3.6.1.4.1.9.9.761.0.4"; + + container object-1 { + + leaf cnsInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcNetsyncIndex"; + } + } + + leaf cnsInpSrcName { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcName"; + } + } + } + + container object-2 { + + leaf cnsInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcNetsyncIndex"; + } + } + + leaf cnsInpSrcIntfType { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcIntfType"; + } + } + } + + container object-3 { + + leaf cnsInpSrcNetsyncIndex { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcNetsyncIndex"; + } + } + + leaf cnsInpSrcAlarmInfo { + type leafref { + path "/CISCO-NETSYNC-MIB:CISCO-NETSYNC-MIB/CISCO-NETSYNC-MIB:cnsInputSourceTable/CISCO-NETSYNC-MIB:cnsInputSourceEntry/CISCO-NETSYNC-MIB:cnsInpSrcAlarmInfo"; + } + } + } + + container object-4 { + + leaf cnsInpSrcAlarmClear { + type boolean; + description + "This object indicates the clear status of an alarm event. + A value of 'true' means an alarm event reported on a clock + source has been cleared. A value of 'false' means an alarm + event has been reported on a clock source."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.9.761.1.2.2"; + } + } + } + + smiv2:alias "ciscoNetsyncMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.761"; + } + + smiv2:alias "ciscoNetsyncMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.761.0"; + } + + smiv2:alias "ciscoNetsyncMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.761.1"; + } + + smiv2:alias "ciscoNetsyncMIBTables" { + smiv2:oid "1.3.6.1.4.1.9.9.761.1.1"; + } + + smiv2:alias "cnsNotifObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.761.1.2"; + } + + smiv2:alias "ciscoNetsyncMIBNotifControl" { + smiv2:oid "1.3.6.1.4.1.9.9.761.1.3"; + } + + smiv2:alias "ciscoNetsyncMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.761.2"; + } + + smiv2:alias "ciscoNetsyncMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.761.2.1"; + } + + smiv2:alias "ciscoNetsyncMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.761.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-NTP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-NTP-MIB.yang new file mode 100644 index 000000000..b86c98a4d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-NTP-MIB.yang @@ -0,0 +1,1195 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-NTP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-NTP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-NTP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB"; + prefix CISCO-NTP-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines a MIB which provides + mechanisms to monitor an NTP server. + + The MIB is derived from the Technical Report + #Management of the NTP with SNMP# TR No. 98-09 + authored by A.S. Sethi and Dave Mills in the + University of Delaware. + + Below is a brief overview of NTP system architecture + and implementation model. This will help understand + the objects defined below and their relationships. + + NTP Intro: + The Network Time Protocol (NTP) Version 3, is used to + synchronize timekeeping among a set of distributed + time servers and clients. The service model is based + on a returnable-time design which depends only on + measured clock offsets, but does not require reliable + message delivery. The synchronization subnet uses a + self-organizing, hierarchical master-slave + configuration, with synchronization paths determined + by a minimum-weight spanning tree. While multiple + masters (primary servers) may exist, there is no + requirement for an election protocol. + + System Archiecture: + In the NTP model a number of primary reference + sources, synchronized by wire or radio to national + standards, are connected to widely accessible + resources, such as backbone gateways, and operated as + primary time servers. The purpose of NTP is to convey + timekeeping information from these servers to other + time servers via the Internet and also to cross-check + clocks and mitigate errors due to equipment or + propagation failures. Some number of local-net hosts + or gateways, acting as secondary time servers, run NTP + with one or more of the primary servers. In order to + reduce the protocol overhead, the secondary servers + distribute time via NTP to the remaining local-net + hosts. In the interest of reliability, selected hosts + can be equipped with less accurate but less expensive + radio clocks and used for backup in case of failure of + the primary and/or secondary servers or communication + paths between them. + + NTP is designed to produce three products: clock + offset, round-trip delay and dispersion, all of which + are relative to a selected reference clock. Clock + offset represents the amount to adjust the local clock + to bring it into correspondence with the reference + clock. Roundtrip delay provides the capability to + launch a message to arrive at the reference clock at a + specified time. Dispersion represents the maximum + error of the local clock relative to the reference + clock. Since most host time servers will synchronize + via another peer time server, there are two components + in each of these three products, those determined by + the peer relative to the primary reference source of + standard time and those measured by the host relative + to the peer. Each of these components are maintained + separately in the protocol in order to facilitate + error control and management of the subnet itself. + They provide not only precision measurements of offset + and delay, but also definitive maximum error bounds, + so that the user interface can determine not only the + time, but the quality of the time as well. + + Implementation Model: + In what may be the most common client/server model a + client sends an NTP message to one or more servers and + processes the replies as received. The server + interchanges addresses and ports, overwrites certain + fields in the message, recalculates the checksum and + returns the message immediately. Information included + in the NTP message allows the client to determine the + server time with respect to local time and adjust the + local clock accordingly. In addition, the message + includes information to calculate the expected + timekeeping accuracy and reliability, as well as + select the best from possibly several servers. + + While the client/server model may suffice for use on + local nets involving a public server and perhaps many + workstation clients, the full generality of NTP + requires distributed participation of a number of + client/servers or peers arranged in a dynamically + reconfigurable, hierarchically distributed + configuration. It also requires sophisticated + algorithms for association management, data + manipulation and local-clock control. + + Glossary: + 1. Host: Refers to an instantiation of the NTP + protocol on a local processor. + 2. Peer: Refers to an instantiation of the NTP + protocol on a remote processor connected by + a network path from the local host."; + + revision 2006-07-31 { + description + "Added ciscoNtpSysExtGroup and ciscoNtpSrvNotifGroup groups + to support monitoring of NTP server status. + ciscoNtpMIBComplianceRev3 is deprecated and replaced + by ciscoNtpMIBComplianceRev4."; + } + + revision 2004-07-23 { + description + "Added cntpPeersPeerName and cntpPeersPeerType + objects to cntpPeerVarTable."; + } + + revision 2003-07-29 { + description + "Added cntpPeersPrefPeer object to + cntpPeersVarTable."; + } + + revision 2003-07-07 { + description + "ciscoNtpPeersGroup is deprecated by + ciscoNtpPeersGroupRev1. + ciscoNtpMIBCompliance is deprecated by + ciscoNtpMIBComplianceRev1."; + } + + revision 2002-02-20 { + description + "cntpPeersUpdateTime is deprecated by + cntpPeersUpdateTimeRev1."; + } + + revision 2000-06-16 { + description + "Initial version of this MIB module."; + } + + typedef NTPTimeStamp { + type binary { + length "8"; + } + description + "NTP timestamps are represented as a 64-bit + unsigned fixed-point number, in seconds relative to + 00:00 on 1 January 1900. The integer part is in the + first 32 bits and the fraction part is in the last + 32 bits."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.1"; + } + + typedef NTPLeapIndicator { + type enumeration { + enum "noWarning" { + value "0"; + } + enum "addSecond" { + value "1"; + } + enum "subtractSecond" { + value "2"; + } + enum "alarm" { + value "3"; + } + } + description + "This is a two-bit code warning of an impending leap + second to be inserted in the NTP timescale. The bits + are set before 23:59 on the day of insertion and reset + after 00:00 on the following day. This causes the + number of seconds (rollover interval) in the day of + insertion to be increased or decreased by one. The two + bits are coded as below, + 00, no warning + 01, last minute has 61 seconds + 10, last minute has 59 seconds + 11, alarm condition (clock not synchronized)"; + reference + "D.L. Mills, 'Network Time Protocol(Version 3)', + RFC-1305, March 1992, Section 3.2.1"; + } + + typedef NTPSignedTimeValue { + type binary { + length "4"; + } + description + "The time in seconds that could represent signed + quantities like time delay with respect to some + source. This textual-convention is specific to Cisco + implementation of NTP where 32-bit integers are used + for such quantities. The signed integer part is in + the first 16 bits and the fraction part is in the + last 16 bits."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Sections 2, 3.2.1"; + } + + typedef NTPUnsignedTimeValue { + type binary { + length "4"; + } + description + "The time in seconds that could represent unsigned + quantities like maximum error of the local clock + with respect to some source. This textual-convention + is specific to Cisco implementation of NTP where + 32-bit integers are used for such quantities. The + unsigned integer part is in the first 16 bits and the + fraction part is in the last 16 bits."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Sections 2, 3.2.1"; + } + + typedef NTPStratum { + type int32 { + range "0..255"; + } + description + "Indicates the stratum of the clock. The stratum + defines the accuracy of a time server. Higher the + stratum, lower the accuracy. + 0, unspecified + 1, primary reference (e.g., calibrated atomic clock, + radio clock) + 2-255, secondary reference (via NTP)"; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 2.2"; + } + + typedef NTPRefId { + type binary { + length "4"; + } + description + "The reference clock identifier. In the case of + stratum 0 (unspecified) or stratum 1 (primary + reference source), this is a four-octet, + left-justified, zero-padded ASCII string as defined + in RFC-1305. In the case of stratum 2 and greater + (secondary reference) this is the four-octet Internet + address of the peer selected for synchronization. + + Some examples of stratum 0 identifiers are, + DCN, DCN routing protocol + NIST, NIST public modem + TSP, TSP time protocol + DTS, Digital Time Service + + Some examples of stratum 1 identifiers are, + ATOM, Atomic clock (calibrated) + VLF, VLF radio (OMEGA,, etc.) + LORC, LORAN-C radionavigation + GOES, GOES UHF environment satellite + GPS, GPS UHF satellite positioning"; + reference + "D.L. Mills, Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.1"; + } + + typedef NTPPollInterval { + type int32 { + range "-20..20"; + } + description + "The minimum interval between transmitted NTP + messages, in seconds as a power of two. For + instance, a value of six indicates a minimum + interval of 64 seconds."; + } + + typedef NTPAssocIdentifier { + type int32 { + range "0..2147483647"; + } + description + "The association identifier of the peer. Every peer + with which an NTP server is associated with is + identified by an association identifier."; + } + + + container CISCO-NTP-MIB { + config false; + + container cntpSystem { + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1"; + + leaf cntpSysLeap { + type CISCO-NTP-MIB:NTPLeapIndicator; + description + "Two-bit code warning of an impending leap second to + be inserted in the NTP timescale. This object can be + set only when the cntpSysStratum has a value of 1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.1"; + } + + leaf cntpSysStratum { + type CISCO-NTP-MIB:NTPStratum; + description + "The stratum of the local clock. If the value is set + to 1, i.e., this is a primary reference, then the + Primary-Clock procedure described in Section 3.4.6, + in RFC-1305 is invoked."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.2"; + } + + leaf cntpSysPrecision { + type int32 { + range "-20..20"; + } + description + "Signed integer indicating the precision + of the system clock, in seconds to the nearest + power of two. The value must be rounded to the + next larger power of two; for instance, a 50-Hz + (20 ms) or 60-Hz (16.67 ms) power-frequency clock + would be assigned the value -5 (31.25 ms), while a + 1000-Hz (1 ms) crystal-controlled clock would be + assigned the value -9 (1.95 ms)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.3"; + } + + leaf cntpSysRootDelay { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "A signed fixed-point number indicating the total + round-trip delay in seconds, to the primary reference + source at the root of the synchronization subnet."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Sections 2.2, 3.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.4"; + } + + leaf cntpSysRootDispersion { + type CISCO-NTP-MIB:NTPUnsignedTimeValue; + units "seconds"; + description + "The maximum error in seconds, relative to the + primary reference source at the root of the + synchronization subnet. Only positive values greater + than zero are possible."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Sections 2, 2.2, 3.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.5"; + } + + leaf cntpSysRefId { + type CISCO-NTP-MIB:NTPRefId; + description + "The reference identifier of the local clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.6"; + } + + leaf cntpSysRefTime { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The local time when the local clock was last + updated. If the local clock has never been + synchronized, the value is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.7"; + } + + leaf cntpSysPoll { + type CISCO-NTP-MIB:NTPPollInterval; + description + "The interval at which the NTP server polls other NTP + servers to synchronize its clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.8"; + } + + leaf cntpSysPeer { + type CISCO-NTP-MIB:NTPAssocIdentifier; + description + "The current synchronization source. This will + contain the unique association identifier + cntpPeersAssocId of the corresponding peer entry in + the cntpPeersVarTable of the peer acting as the + synchronization source. If there is no peer, the + value will be 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.9"; + } + + leaf cntpSysClock { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The current local time. Local time is derived from + the hardware clock of the particular machine and + increments at intervals depending on the design used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.10"; + } + + leaf cntpSysSrvStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "notRunning" { + value "2"; + } + enum "notSynchronized" { + value "3"; + } + enum "syncToLocal" { + value "4"; + } + enum "syncToRefclock" { + value "5"; + } + enum "syncToRemoteServer" { + value "6"; + } + } + description + "Current state of the NTP server with values coded as follows: + 1: server status is unknown + 2: server is not running + 3: server is not synchronized to any time source + 4: server is synchronized to its own local clock + 5: server is synchronized to a local hardware refclock (e.g. GPS) + 6: server is synchronized to a remote NTP server"; + smiv2:defval "unknown"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1.11"; + } + } + + container cntpPeersVarTable { + description + "This table provides information on the peers with + which the local NTP server has associations. The + peers are also NTP servers but running on different + hosts."; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1"; + + list cntpPeersVarEntry { + key "cntpPeersAssocId"; + description + "Each peers' entry provides NTP information retrieved + from a particular peer NTP server. Each peer is + identified by a unique association identifier. + + Entries are automatically created when the user + configures the NTP server to be associated with remote + peers. Similarly entries are deleted when the user + removes the peer association from the NTP server. + + Entries can also be created by the management station + by setting values for the following objects: + cntpPeersPeerAddress or cntpPeersPeerName, + cntpPeersHostAddress and + cntpPeersMode and making the cntpPeersEntryStatus as + active(1). At the least, the management station has + to set a value for cntpPeersPeerAddress or + cntpPeersPeerName to make the row active."; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1"; + + leaf cntpPeersAssocId { + type CISCO-NTP-MIB:NTPAssocIdentifier; + description + "An integer value greater than 0 that uniquely + identifies a peer with which the local NTP server + is associated."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.1"; + } + + leaf cntpPeersConfigured { + type boolean; + description + "This is a bit indicating that the association + was created from configuration information and + should not be de-associated even if the peer + becomes unreachable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.2"; + } + + leaf cntpPeersPeerAddress { + type inet:ipv4-address; + description + "The IP address of the peer. When creating a new + association, a value should be set either for this + object or the corresponding instance of + cntpPeersPeerName, before the row is made active."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.3"; + } + + leaf cntpPeersPeerPort { + type int32 { + range "1..65535"; + } + description + "The UDP port number on which the peer receives NTP + messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.4"; + } + + leaf cntpPeersHostAddress { + type inet:ipv4-address; + description + "The IP address of the local host. Multi-homing can + be supported using this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.5"; + } + + leaf cntpPeersHostPort { + type int32 { + range "1..65535"; + } + description + "The UDP port number on which the local host receives + NTP messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.6"; + } + + leaf cntpPeersLeap { + type CISCO-NTP-MIB:NTPLeapIndicator; + description + "Two-bit code warning of an impending leap + second to be inserted in the NTP timescale of + the peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.7"; + } + + leaf cntpPeersMode { + type enumeration { + enum "unspecified" { + value "0"; + } + enum "symmetricActive" { + value "1"; + } + enum "symmetricPassive" { + value "2"; + } + enum "client" { + value "3"; + } + enum "server" { + value "4"; + } + enum "broadcast" { + value "5"; + } + enum "reservedControl" { + value "6"; + } + enum "reservedPrivate" { + value "7"; + } + } + description + "The association mode of the NTP server, with values + coded as follows, + 0, unspecified + 1, symmetric active - A host operating in this mode + sends periodic messages regardless of the + reachability state or stratum of its peer. By + operating in this mode the host announces its + willingness to synchronize and be synchronized + by the peer + 2, symmetric passive - This type of association is + ordinarily created upon arrival of a message + from a peer operating in the symmetric active + mode and persists only as long as the peer is + reachable and operating at a stratum level + less than or equal to the host; otherwise, the + association is dissolved. However, the + association will always persist until at least + one message has been sent in reply. By + operating in this mode the host announces its + willingness to synchronize and be synchronized + by the peer + 3, client - A host operating in this mode sends + periodic messages regardless of the + reachability state or stratum of its peer. By + operating in this mode the host, usually a LAN + workstation, announces its willingness to be + synchronized by, but not to synchronize the peer + 4, server - This type of association is ordinarily + created upon arrival of a client request message + and exists only in order to reply to that + request, after which the association is + dissolved. By operating in this mode the host, + usually a LAN time server, announces its + willingness to synchronize, but not to be + synchronized by the peer + 5, broadcast - A host operating in this mode sends + periodic messages regardless of the + reachability state or stratum of the peers. + By operating in this mode the host, usually a + LAN time server operating on a high-speed + broadcast medium, announces its willingness to + synchronize all of the peers, but not to be + synchronized by any of them + 6, reserved for NTP control messages + 7, reserved for private use. + + When creating a new peer association, if no value + is specified for this object, it defaults to + symmetricActive(1)."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.8"; + } + + leaf cntpPeersStratum { + type CISCO-NTP-MIB:NTPStratum; + description + "The stratum of the peer clock."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.9"; + } + + leaf cntpPeersPeerPoll { + type CISCO-NTP-MIB:NTPPollInterval; + description + "The interval at which the peer polls the local host."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.10"; + } + + leaf cntpPeersHostPoll { + type CISCO-NTP-MIB:NTPPollInterval; + description + "The interval at which the local host polls the peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.11"; + } + + leaf cntpPeersPrecision { + type int32 { + range "-20..20"; + } + description + "Signed integer indicating the precision of the peer + clock, in seconds to the nearest power of two. The + value must be rounded to the next larger power of + two; for instance, a 50-Hz (20 ms) or 60-Hz + (16.67 ms) power-frequency clock would be assigned + the value -5 (31.25 ms), while a 1000-Hz (1 ms) + crystal-controlled clock would be assigned the value + -9 (1.95 ms)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.12"; + } + + leaf cntpPeersRootDelay { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "A signed fixed-point number indicating the total + round-trip delay in seconds, from the peer to the + primary reference source at the root of the + synchronization subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.13"; + } + + leaf cntpPeersRootDispersion { + type CISCO-NTP-MIB:NTPUnsignedTimeValue; + units "seconds"; + description + "The maximum error in seconds, of the peer clock + relative to the primary reference source at the root + of the synchronization subnet. Only positive values + greater than zero are possible."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.14"; + } + + leaf cntpPeersRefId { + type CISCO-NTP-MIB:NTPRefId; + description + "The reference identifier of the peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.15"; + } + + leaf cntpPeersRefTime { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The local time at the peer when its clock was last + updated. If the peer clock has never been + synchronized, the value is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.16"; + } + + leaf cntpPeersOrgTime { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The local time at the peer, when its latest + NTP message was sent. If the peer becomes unreachable + the value is set to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.17"; + } + + leaf cntpPeersReceiveTime { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The local time, when the latest NTP message from + the peer arrived. If the peer becomes unreachable + the value is set to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.18"; + } + + leaf cntpPeersTransmitTime { + type CISCO-NTP-MIB:NTPTimeStamp; + description + "The local time at which the NTP message departed the + sender."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.19"; + } + + leaf cntpPeersUpdateTime { + type int32 { + range "0..2147483647"; + } + status deprecated; + description + "The local time, when the most recent NTP message was + received from the peer that was used to calculate the + skew dispersion. This represents only the 32-bit + integer part of the NTPTimestamp."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.20"; + } + + leaf cntpPeersReach { + type int32 { + range "0..255"; + } + description + "A shift register of used to determine the + reachability status of the peer, with bits entering + from the least significant (rightmost) end. A peer is + considered reachable if at least one bit in this + register is set to one i.e, if the value of this + object is non-zero. + The data in the shift register would be populated by + the NTP protocol procedures."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.21"; + } + + leaf cntpPeersTimer { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The interval in seconds, between transmitted NTP + messages from the local host to the peer."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.22"; + } + + leaf cntpPeersOffset { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "The estimated offset of the peer clock relative to + the local clock, in seconds. The host determines the + value of this object using the NTP clock-filter + algorithm."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.23"; + } + + leaf cntpPeersDelay { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "The estimated round-trip delay of the peer clock + relative to the local clock over the network path + between them, in seconds. The host determines the + value of this object using the NTP clock-filter + algorithm."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.24"; + } + + leaf cntpPeersDispersion { + type CISCO-NTP-MIB:NTPUnsignedTimeValue; + units "seconds"; + description + "The estimated maximum error of the peer clock + relative to the local clock over the network path + between them, in seconds. The host determines the + value of this object using the NTP clock-filter + algorithm."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.25"; + } + + leaf cntpPeersFilterValidEntries { + type yang:gauge32; + description + "The number of valid entries for a peer in the + Filter Register Table. Since, the Filter Register + Table is optional, this object will have a value 0 + if the Filter Register Table is not implemented."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.26"; + } + + leaf cntpPeersEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status object for this row. When a management + station is creating a new row, it should set the + value for cntpPeersPeerAddress at least, before the + row can be made active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.27"; + } + + leaf cntpPeersUpdateTimeRev1 { + type uint32; + description + "The local time, when the most recent NTP message was + received from the peer that was used to calculate the + skew dispersion. This represents only the 32-bit + integer part of the NTPTimestamp."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.28"; + } + + leaf cntpPeersPrefPeer { + type boolean; + description + "This object specifies whether this peer is the + preferred one over the others. By default, when + the value of this object is 'false', NTP chooses + the peer with which to synchronize the time on + the local system. If this object is set + to 'true', NTP will choose the corresponding + peer to synchronize the time with. If multiple + entries have this object set to 'true', NTP will + choose the first one to be set. This object is + a means to override the selection of the peer by + NTP."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.29"; + } + + leaf cntpPeersPeerType { + type inet-address:InetAddressType; + description + "Represents the type of the corresponding instance + of cntpPeersPeerName object."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.30"; + } + + leaf cntpPeersPeerName { + type inet-address:InetAddress; + description + "The address of the peer. When creating a new + association, a value must be set for either this + object or the corresponding instance of + cntpPeersPeerAddress object, before the row + is made active."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2.1.1.31"; + } + } + } + + container cntpFilterRegisterTable { + description + "The following table contains NTP state variables + used by the NTP clock filter and selection algorithms. + This table depicts a shift register. Each stage in + the shift register is a 3-tuple consisting of the + measured clock offset, measured clock delay and + measured clock dispersion associated with a single + observation. + + An important factor affecting the accuracy and + reliability of time distribution is the complex of + algorithms used to reduce the effect of statistical + errors and falsetickers due to failure of various + subnet components, reference sources or propagation + media. The NTP clock-filter and selection algorithms + are designed to do exactly this. The objects in the + filter register table below are used by these + algorthims to minimize the error in the calculated + time."; + reference + "D.L. Mills, 'Network Time Protocol (Version 3)', + RFC-1305, March 1992, Section 3.2.5"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2"; + + list cntpFilterRegisterEntry { + key "cntpPeersAssocId cntpFilterIndex"; + description + "Each entry corresponds to one stage of the shift + register, i.e., one reading of the variables clock + delay, clock offset and clock dispersion. + + Entries are automatically created whenever a peer is + configured and deleted when the peer is removed."; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2.1"; + + leaf cntpPeersAssocId { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersAssocId"; + } + } + + leaf cntpFilterIndex { + type int32 { + range "1..8"; + } + description + "An integer value in the specified range that is used + to index into the table. The size of the table is + fixed at 8. Each entry identifies a particular + reading of the clock filter variables in the shift + register. + + Entries are added starting at index 1. The index + wraps back to 1 when it reaches 8. When the index + wraps back, the new entries will overwrite the old + entries effectively deleting the old entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2.1.1"; + } + + leaf cntpFilterPeersOffset { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "The offset of the peer clock relative to the + local clock in seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2.1.2"; + } + + leaf cntpFilterPeersDelay { + type CISCO-NTP-MIB:NTPSignedTimeValue; + units "seconds"; + description + "Round-trip delay of the peer clock relative to the + local clock over the network path between them, in + seconds. This variable can take on both positive and + negative values, depending on clock precision and + skew-error accumulation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2.1.3"; + } + + leaf cntpFilterPeersDispersion { + type CISCO-NTP-MIB:NTPUnsignedTimeValue; + units "seconds"; + description + "The maximum error of the peer clock relative to the + local clock over the network path between them, in + seconds. Only positive values greater than zero are + possible."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3.2.1.4"; + } + } + } + } + + notification ciscoNtpSrvStatusChange { + description + "This notification is generated whenever the value of + cntpSysSrvStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.168.0.1"; + + container object-1 { + + leaf cntpSysSrvStatus { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpSystem/CISCO-NTP-MIB:cntpSysSrvStatus"; + } + } + } + } + + notification ciscoNtpHighPriorityConnFailure { + description + "A failure to connect with an high priority NTP server + (e.g. a server at the lowest stratum) is detected."; + smiv2:oid "1.3.6.1.4.1.9.9.168.0.2"; + + container object-1 { + + leaf cntpPeersAssocId { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersAssocId"; + } + } + + leaf cntpPeersPeerAddress { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersPeerAddress"; + } + } + } + } + + notification ciscoNtpHighPriorityConnRestore { + description + "A connection with an high priority NTP server + (e.g. a server at the lowest stratum) is restored."; + smiv2:oid "1.3.6.1.4.1.9.9.168.0.3"; + + container object-1 { + + leaf cntpPeersAssocId { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersAssocId"; + } + } + + leaf cntpPeersPeerAddress { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersPeerAddress"; + } + } + } + } + + notification ciscoNtpGeneralConnFailure { + description + "This trap is sent when the device loses connectivity + to all NTP servers."; + smiv2:oid "1.3.6.1.4.1.9.9.168.0.4"; + } + + notification ciscoNtpGeneralConnRestore { + description + "This trap is sent when the connection with at least + one NTP server has been restored + (e.g. after a ciscoNtpGeneralConnFailure)."; + smiv2:oid "1.3.6.1.4.1.9.9.168.0.5"; + + container object-1 { + + leaf cntpPeersAssocId { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersAssocId"; + } + } + + leaf cntpPeersPeerAddress { + type leafref { + path "/CISCO-NTP-MIB:CISCO-NTP-MIB/CISCO-NTP-MIB:cntpPeersVarTable/CISCO-NTP-MIB:cntpPeersVarEntry/CISCO-NTP-MIB:cntpPeersPeerAddress"; + } + } + } + } + + smiv2:alias "ciscoNtpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.168"; + } + + smiv2:alias "ciscoNtpMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.168.0"; + } + + smiv2:alias "ciscoNtpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.168.1"; + } + + smiv2:alias "cntpSystem" { + smiv2:oid "1.3.6.1.4.1.9.9.168.1.1"; + } + + smiv2:alias "cntpPeers" { + smiv2:oid "1.3.6.1.4.1.9.9.168.1.2"; + } + + smiv2:alias "cntpFilter" { + smiv2:oid "1.3.6.1.4.1.9.9.168.1.3"; + } + + smiv2:alias "ciscoNtpMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.168.2"; + } + + smiv2:alias "ciscoNtpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.168.2.1"; + } + + smiv2:alias "ciscoNtpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.168.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-MIB.yang new file mode 100644 index 000000000..6ee82f23f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-MIB.yang @@ -0,0 +1,1175 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-OSPF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-OSPF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-OSPF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB"; + prefix CISCO-OSPF-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import OSPF-MIB { + prefix "ospf-mib"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-ospf@cisco.com"; + + description + "An extension to the MIB module defined in + RFC 1850 for managing OSPF implimentation. + Most of the MIB definitions are based on + the IETF draft + < draft-ietf-ospf-mib-update-05.txt > . + Support for OSPF Sham link is also added"; + + revision 2003-07-18 { + description + "+Deprecated cospfShamLinkTable. + +Added cospfShamLinksTable. + +Added cospfShamLinkNbrTable. + +Fixed indentation and spelling."; + } + + revision 2003-01-28 { + description + "Initial version of the MIB module."; + } + + + container CISCO-OSPF-MIB { + config false; + + container cospfGeneralGroup { + smiv2:oid "1.3.6.1.4.1.9.10.99.1"; + + leaf cospfRFC1583Compatibility { + type boolean; + description + "Indicates metrics used to choose among multiple AS- + external-LSAs. When cospfRFC1583Compatibility is set to + enabled, only cost will be used when choosing among + multiple AS-external-LSAs advertising the same + destination. When cospfRFC1583Compatibility is set to + disabled, preference will be driven first by type of + path using cost only to break ties."; + reference + "OSPF Version 2, Section 16.4.1 External path preferences"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.1.1"; + } + + leaf cospfOpaqueLsaSupport { + type boolean; + description + "The router's support for Opaque LSA types."; + reference + "The OSPF Opaque LSA Option"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.1.2"; + } + + leaf cospfTrafficEngineeringSupport { + type boolean; + description + "The router's support for OSPF traffic engineering."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.1.3"; + } + + leaf cospfOpaqueASLsaCount { + type yang:gauge32; + description + "The total number of Opaque AS link-state + advertisements in the link state database."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.1.4"; + } + + leaf cospfOpaqueASLsaCksumSum { + type uint32 { + range "0..4294967295"; + } + description + "The 32-bit unsigned sum of the Opaque AS + link-state advertisements' LS checksums contained + link state database."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.1.5"; + } + } + + container cospfLsdbTable { + description + "The OSPF Process's Link State Database. This + table is meant for Opaque LSA's"; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3"; + + list cospfLsdbEntry { + key "ospfLsdbAreaId cospfLsdbType ospfLsdbLsid ospfLsdbRouterId"; + description + "A single Link State Advertisement."; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1"; + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + + leaf cospfLsdbSequence { + type int32 { + range "1..147483647"; + } + description + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number the more recent the + advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.2"; + } + + leaf cospfLsdbAge { + type int32 { + range "0..2147483647"; + } + description + "This field is the age of the link state advertisement in + seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.3"; + } + + leaf cospfLsdbChecksum { + type int32 { + range "0..2147483647"; + } + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO connectionless + datagrams; it is commonly referred to + as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.4"; + } + + leaf cospfLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire Link State Advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State Adverisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.5"; + } + } + } + + container cospfShamLinkTable { + status deprecated; + description + "Information about this router's sham links"; + reference + "IETF draft draft-rosen-vpns-ospf-bgp-mpls-05.txt"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6"; + + list cospfShamLinkEntry { + key "cospfShamLinkAreaId cospfShamLinkLocalIpAddress cospfShamLinkNeighborId"; + status deprecated; + description + "Information about a single sham link"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1"; + + leaf cospfShamLinkAreaId { + type ospf-mib:AreaID; + status deprecated; + description + "The Transit Area that the Virtual Link + traverses. By definition, this is not 0.0.0.0"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.1"; + } + + leaf cospfShamLinkLocalIpAddress { + type inet:ipv4-address; + status deprecated; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.2"; + } + + leaf cospfShamLinkNeighborId { + type ospf-mib:RouterID; + status deprecated; + description + "The Router ID of the other end router of the sham + link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.3"; + } + + leaf cospfShamLinkRetransInterval { + type ospf-mib:UpToMaxAge; + status deprecated; + description + "The number of seconds between link-state advertisement + retransmissions, for adjacencies + belonging to this link. This value is also + used when retransmitting database description + and link-state request packets. This value + should be well over the expected round trip + time."; + smiv2:defval "5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.4"; + } + + leaf cospfShamLinkHelloInterval { + type ospf-mib:HelloRange; + status deprecated; + description + "The length of time, in seconds, between the + Hello packets that the router sends on the sham + link."; + smiv2:defval "10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.5"; + } + + leaf cospfShamLinkRtrDeadInterval { + type ospf-mib:PositiveInteger; + status deprecated; + description + "The number of seconds that a router's Hello + packets have not been seen before it's neighbors + declare the router down. This should be + some multiple of the Hello interval."; + smiv2:defval "40"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.6"; + } + + leaf cospfShamLinkState { + type enumeration { + enum "down" { + value "1"; + } + enum "pointToPoint" { + value "4"; + } + } + status deprecated; + description + "OSPF sham link states."; + smiv2:defval "down"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.7"; + } + + leaf cospfShamLinkEvents { + type yang:counter32; + status deprecated; + description + "The number of state changes or error events on + this sham link"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.8"; + } + + leaf cospfShamLinkMetric { + type ospf-mib:Metric; + status deprecated; + description + "The Metric to be advertised."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.9"; + } + } + } + + container cospfLocalLsdbTable { + description + "The OSPF Process's Link-Local Link State Database + for non-virtual links."; + reference + "OSPF Version 2, Section 12 Link State Advertisements + and The OSPF Opaque LSA Option"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7"; + + list cospfLocalLsdbEntry { + key "cospfLocalLsdbIpAddress cospfLocalLsdbAddressLessIf cospfLocalLsdbType cospfLocalLsdbLsid cospfLocalLsdbRouterId"; + description + "A single Link State Advertisement."; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1"; + + leaf cospfLocalLsdbIpAddress { + type inet:ipv4-address; + description + "The IP Address of the interface from + which the LSA was received if the interface is + numbered."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.1"; + } + + leaf cospfLocalLsdbAddressLessIf { + type if-mib:InterfaceIndexOrZero; + description + "The Interface Index of the interface from + which the LSA was received if the interface is + unnumbered."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.2"; + } + + leaf cospfLocalLsdbType { + type enumeration { + enum "localOpaqueLink" { + value "9"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header and "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.3"; + } + + leaf cospfLocalLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing a 32 bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.4"; + } + + leaf cospfLocalLsdbRouterId { + type ospf-mib:RouterID; + description + "The 32 bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.5"; + } + + leaf cospfLocalLsdbSequence { + type int32 { + range "-2147483647..2147483647"; + } + description + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate link + state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number the more recent the + advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.6"; + } + + leaf cospfLocalLsdbAge { + type int32 { + range "0..3600"; + } + description + "This field is the age of the link state advertisement + in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.7"; + } + + leaf cospfLocalLsdbChecksum { + type uint32 { + range "0..4294967295"; + } + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO connectionless + datagrams; it is commonly referred to + as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.8"; + } + + leaf cospfLocalLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire Link State Advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.7.1.9"; + } + } + } + + container cospfVirtLocalLsdbTable { + description + "The OSPF Process's Link-Local Link State Database + for virtual links."; + reference + "OSPF Version 2, Section 12 Link State Advertisements + and The OSPF Opaque LSA Option"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8"; + + list cospfVirtLocalLsdbEntry { + key "cospfVirtLocalLsdbTransitArea cospfVirtLocalLsdbNeighbor cospfVirtLocalLsdbType cospfVirtLocalLsdbLsid cospfVirtLocalLsdbRouterId"; + description + "A single Link State Advertisement."; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1"; + + leaf cospfVirtLocalLsdbTransitArea { + type ospf-mib:AreaID; + description + "The Transit Area that the Virtual Link + traverses. By definition, this is not 0.0.0.0"; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.1"; + } + + leaf cospfVirtLocalLsdbNeighbor { + type ospf-mib:RouterID; + description + "The Router ID of the Virtual Neighbor."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.2"; + } + + leaf cospfVirtLocalLsdbType { + type enumeration { + enum "localOpaqueLink" { + value "9"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header and "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.3"; + } + + leaf cospfVirtLocalLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing a 32 bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.4"; + } + + leaf cospfVirtLocalLsdbRouterId { + type ospf-mib:RouterID; + description + "The 32 bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.5"; + } + + leaf cospfVirtLocalLsdbSequence { + type int32 { + range "-2147483647..2147483647"; + } + description + "The sequence number field is a signed 32-bit + integer. It is used to detect old and duplicate + link state advertisements. The space of + sequence numbers is linearly ordered. The + larger the sequence number the more recent the + advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.6"; + } + + leaf cospfVirtLocalLsdbAge { + type int32 { + range "0..3600"; + } + description + "This field is the age of the link state advertisement + in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.7"; + } + + leaf cospfVirtLocalLsdbChecksum { + type uint32 { + range "0..4294967295"; + } + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO connectionless + datagrams; it is commonly referred to + as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.8"; + } + + leaf cospfVirtLocalLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire Link State Advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.8.1.9"; + } + } + } + + container cospfShamLinkNbrTable { + description + "A table of sham link neighbor information."; + reference + "IETF draft draft-rosen-vpns-ospf-bgp-mpls-05.txt"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10"; + + list cospfShamLinkNbrEntry { + key "cospfShamLinksLocalIpAddrType cospfShamLinksLocalIpAddr cospfShamLinkNbrArea cospfShamLinkNbrIpAddrType cospfShamLinkNbrIpAddr"; + description + "Sham link neighbor information."; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1"; + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/CISCO-OSPF-MIB:CISCO-OSPF-MIB/CISCO-OSPF-MIB:cospfShamLinksTable/CISCO-OSPF-MIB:cospfShamLinksEntry/CISCO-OSPF-MIB:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/CISCO-OSPF-MIB:CISCO-OSPF-MIB/CISCO-OSPF-MIB:cospfShamLinksTable/CISCO-OSPF-MIB:cospfShamLinksEntry/CISCO-OSPF-MIB:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type ospf-mib:AreaID; + description + "The area to which the sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.1"; + } + + leaf cospfShamLinkNbrIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link neighbor's + IP address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.2"; + } + + leaf cospfShamLinkNbrIpAddr { + type inet-address:InetAddress; + description + "The IP address this sham link neighbor is using."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.3"; + } + + leaf cospfShamLinkNbrRtrId { + type ospf-mib:RouterID; + description + "A 32-bit integer uniquely identifying the neighboring + router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.4"; + } + + leaf cospfShamLinkNbrOptions { + type int32 { + range "0..255"; + } + description + "A Bit Mask corresponding to the neighbor's options + field. + + Bit 1, if set, indicates that the system will + operate on Type of Service metrics other than + TOS 0. If zero, the neighbor will ignore all + metrics except the TOS 0 metric. + + Bit 2, if set, indicates that the system is + Network Multicast capable; ie, that it implements + OSPF Multicast Routing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.5"; + } + + leaf cospfShamLinkNbrState { + type enumeration { + enum "down" { + value "1"; + } + enum "attempt" { + value "2"; + } + enum "init" { + value "3"; + } + enum "twoWay" { + value "4"; + } + enum "exchangeStart" { + value "5"; + } + enum "exchange" { + value "6"; + } + enum "loading" { + value "7"; + } + enum "full" { + value "8"; + } + } + description + "The state of this sham link neighbor relation- + ship."; + reference + "OSPF Version 2, Section 10.1 Neighbor states."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.6"; + } + + leaf cospfShamLinkNbrEvents { + type yang:counter32; + description + "The number of times this sham link has changed + state or an error has occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.7"; + } + + leaf cospfShamLinkNbrLsRetransQLen { + type yang:gauge32; + description + "The current length of the retransmission + queue. The retransmission queue is maintained for + LSAs that have been flooded but not acknowledged + on this adjacency."; + reference + "OSPF Version 2, Section 13.6 Retransmitting LSAs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.8"; + } + + leaf cospfShamLinkNbrHelloSuppressed { + type boolean; + description + "Indicates whether Hellos are being suppressed + to the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.9"; + } + } + } + + container cospfShamLinksTable { + description + "Information about this router's sham links."; + reference + "IETF draft draft-rosen-vpns-ospf-bgp-mpls-05.txt"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11"; + + list cospfShamLinksEntry { + key "cospfShamLinksAreaId cospfShamLinksLocalIpAddrType cospfShamLinksLocalIpAddr cospfShamLinksRemoteIpAddrType cospfShamLinksRemoteIpAddr"; + description + "Information about a single sham link."; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1"; + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + + leaf cospfShamLinksRetransInterval { + type ospf-mib:UpToMaxAge; + description + "The number of seconds between link-state advertisement + retransmissions, for adjacencies belonging to this link. + This value is also used when retransmitting database + description and link-state request packets. This value + should be well over the expected round trip time."; + smiv2:defval "5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.6"; + } + + leaf cospfShamLinksHelloInterval { + type ospf-mib:HelloRange; + description + "The length of time, in seconds, between the + Hello packets that the router sends on the sham + link."; + smiv2:defval "10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.7"; + } + + leaf cospfShamLinksRtrDeadInterval { + type ospf-mib:PositiveInteger; + description + "The number of seconds that a router's Hello + packets have not been seen before it's neighbors + declare the router down. This should be + some multiple of the Hello interval."; + smiv2:defval "40"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.8"; + } + + leaf cospfShamLinksState { + type enumeration { + enum "down" { + value "1"; + } + enum "pointToPoint" { + value "4"; + } + } + description + "OSPF sham link states."; + smiv2:defval "down"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.9"; + } + + leaf cospfShamLinksEvents { + type yang:counter32; + description + "The number of state changes or error events on + this sham link"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.10"; + } + + leaf cospfShamLinksMetric { + type ospf-mib:Metric; + description + "The Metric to be advertised."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.11"; + } + } + } + } + + smiv2:alias "cospfAreaTable" { + description + "Information describing the configured parameters + and cumulative statistics of the router's attached + areas."; + reference + "OSPF Version 2, Section 6 The Area Data Structure"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2"; + } + + smiv2:alias "cospfAreaEntry" { + description + "Information describing the configured parameters and + cumulative statistics of one of the router's attached + areas."; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1"; + } + + augment "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry" { + description + "Information describing the configured parameters and + cumulative statistics of one of the router's attached + areas."; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1"; + + leaf cospfOpaqueAreaLsaCount { + type yang:gauge32; + description + "The total number of Opaque Area and AS link-state + advertisements in the link state database of this + area."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1.1"; + } + + leaf cospfOpaqueAreaLsaCksumSum { + type uint32 { + range "0..4294967295"; + } + description + "The 32-bit unsigned sum of the Opaque Area and AS + link-state advertisements' LS checksums contained + link state database of this area. The sum can be + used to determine if there has been a change in the + link state database for Opaque Area and AS link-state + advertisements"; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1.2"; + } + + leaf cospfAreaNssaTranslatorRole { + type enumeration { + enum "always" { + value "1"; + } + enum "candidate" { + value "2"; + } + } + description + "Indicates an NSSA Border router's ability to + perform NSSA translation of type-7 LSAs into + type-5 LSAs."; + smiv2:defval "candidate"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1.3"; + } + + leaf cospfAreaNssaTranslatorState { + type enumeration { + enum "enabled" { + value "1"; + } + enum "elected" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + description + "Indicates if and how an NSSA Border router is + performing NSSA translation of type-7 LSAs into type-5 + LSAs. When this object set to enabled, the NSSA Border + router's cospfAreaNssaExtTranslatorRole has been set to + always. When this object is set to elected, a candidate + NSSA Border router is Translating type-7 LSAs into type-5. + When this object is set to disabled, a candidate NSSA + Border router is NOT translating type-7 LSAs into type-5."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1.4"; + } + + leaf cospfAreaNssaTranslatorEvents { + type yang:counter32; + description + "Indicates the number of Translator State changes + that have occurred since the last boot-up."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.2.1.5"; + } + } + + smiv2:alias "cospfIfTable" { + description + "The OSPF Interface Table describes the inter- + faces from the viewpoint of OSPF."; + reference + "OSPF Version 2, Appendix C.3 Router interface + parameters"; + smiv2:oid "1.3.6.1.4.1.9.10.99.4"; + } + + smiv2:alias "cospfIfEntry" { + description + "The OSPF Interface Entry describes one inter- + face from the viewpoint of OSPF."; + smiv2:oid "1.3.6.1.4.1.9.10.99.4.1"; + } + + augment "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry" { + description + "The OSPF Interface Entry describes one inter- + face from the viewpoint of OSPF."; + smiv2:oid "1.3.6.1.4.1.9.10.99.4.1"; + + leaf cospfIfLsaCount { + type yang:gauge32; + description + "The total number of link-local link state advertisements + in this interface's link-local link state database."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.4.1.1"; + } + + leaf cospfIfLsaCksumSum { + type uint32 { + range "0..4294967295"; + } + description + "The 32-bit unsigned sum of the link-state advertisements' + LS checksums contained in this interface's link-local link + state database. The sum can be used to determine if there has + been a change in the interface's link state database, and to + compare the interface link-state database of routers + attached to the same subnet."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.4.1.2"; + } + } + + smiv2:alias "cospfVirtIfTable" { + description + "Information about this router's virtual inter- + faces."; + reference + "OSPF Version 2, Appendix C.4 Virtual link + parameters"; + smiv2:oid "1.3.6.1.4.1.9.10.99.5"; + } + + smiv2:alias "cospfVirtIfEntry" { + description + "Information about a single Virtual Interface."; + smiv2:oid "1.3.6.1.4.1.9.10.99.5.1"; + } + + augment "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry" { + description + "Information about a single Virtual Interface."; + smiv2:oid "1.3.6.1.4.1.9.10.99.5.1"; + + leaf cospfVirtIfLsaCount { + type yang:gauge32; + description + "The total number of link-local link state advertisements + in this virtual interface's link-local link state database."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.5.1.1"; + } + + leaf cospfVirtIfLsaCksumSum { + type uint32 { + range "0..4294967295"; + } + description + "The 32-bit unsigned sum of the link-state advertisements' + LS checksums contained in this + virtual interface's link-local link state database. + The sum can be used to determine if there has + been a change in the virtual interface's link state database, + and to compare the virtual interface link-state + database of the virtual neighbors."; + reference + "The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.99.5.1.2"; + } + } + + smiv2:alias "cospf" { + smiv2:oid "1.3.6.1.4.1.9.10.99"; + } + + smiv2:alias "cospfGeneralGroup" { + smiv2:oid "1.3.6.1.4.1.9.10.99.1"; + } + + smiv2:alias "cospfConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.99.9"; + } + + smiv2:alias "cospfGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.99.9.1"; + } + + smiv2:alias "cospfCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.99.9.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-TRAP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-TRAP-MIB.yang new file mode 100644 index 000000000..2b12ca8d8 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-OSPF-TRAP-MIB.yang @@ -0,0 +1,2671 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-OSPF-TRAP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-OSPF-TRAP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-OSPF-TRAP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB"; + prefix CISCO-OSPF-TRAP-MIB; + + import CISCO-OSPF-MIB { + prefix "cisco-ospf"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import OSPF-MIB { + prefix "ospf-mib"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-ospf@cisco.com"; + + description + "This MIB module describes new/modified notification + objects/events, which are defined in the latest + version for OSPF MIB IETF draft + draftietf-ospf-mib-update-05.txt. Support for OSPF + Sham link is also added"; + + revision 2003-07-18 { + description + "+Deprecated cospfShamLinkStateChange. + +Added cospfShamLinksStateChange. + +Added cospfShamLinkNbrStateChange. + +Added cospfShamLinkConfigError. + +Added cospfShamLinkAuthFailure. + +Added cospfShamLinkRxBadPacket. + +Added cospfShamLinkTxRetransmit. + +Fixed indentation and spelling."; + } + + revision 2003-02-27 { + description + "Initial version of the MIB module."; + } + + + container CISCO-OSPF-TRAP-MIB { + config false; + + container cospfTrapControl { + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1"; + + leaf cospfSetTrap { + type bits { + bit ifConfigError { + position "0"; + } + bit virtIfConfigError { + position "1"; + } + bit retransmit { + position "2"; + } + bit virtRetransmit { + position "3"; + } + bit originateLsa { + position "4"; + } + bit originateMaxAgeLsa { + position "5"; + } + bit nssaTranslatorStatusChange { + position "6"; + } + bit shamLinkStateChange { + position "7"; + } + bit shamLinkNbrStateChange { + position "8"; + } + bit shamLinkConfigError { + position "9"; + } + bit shamLinkAuthFailure { + position "10"; + } + bit shamLinkRxBadPacket { + position "11"; + } + bit shamLinkTxRetransmit { + position "12"; + } + bit shamLinksStateChange { + position "13"; + } + } + description + "An octet string serving as a bit map for + the trap events defined by the OSPF traps in + this MIB. This object is used to enable and + disable specific OSPF traps where a 1 + in the corresponding bit field represents + enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1.1"; + } + + leaf cospfConfigErrorType { + type enumeration { + enum "badVersion" { + value "1"; + } + enum "areaMismatch" { + value "2"; + } + enum "unknownNbmaNbr" { + value "3"; + } + enum "unknownVirtualNbr" { + value "4"; + } + enum "authTypeMismatch" { + value "5"; + } + enum "authFailure" { + value "6"; + } + enum "netMaskMismatch" { + value "7"; + } + enum "helloIntervalMismatch" { + value "8"; + } + enum "deadIntervalMismatch" { + value "9"; + } + enum "optionMismatch" { + value "10"; + } + enum "mtuMismatch" { + value "11"; + } + enum "noError" { + value "12"; + } + enum "unknownShamLinkNbr" { + value "13"; + } + } + description + "Potential types of configuration conflicts. + Used by the cospfConfigError and cospfConfigVirtError + traps. When the last value of a trap + using this object is needed, but no traps of + that type have been sent, this value pertaining + to this object should be returned as noError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1.2"; + } + + leaf cospfPacketType { + type enumeration { + enum "hello" { + value "1"; + } + enum "dbDescript" { + value "2"; + } + enum "lsReq" { + value "3"; + } + enum "lsUpdate" { + value "4"; + } + enum "lsAck" { + value "5"; + } + enum "nullPacket" { + value "6"; + } + } + description + "OSPF packet types. When the last value of a trap + using this object is needed, but no traps of + that type have been sent, this value pertaining + to this object should be returned as nullPacket."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1.3"; + } + + leaf cospfPacketSrc { + type inet:ipv4-address; + description + "The IP address of an inbound packet that can- + not be identified by a neighbor instance. When + the last value of a trap using this object is + needed, but no traps of that type have been sent, + this value pertaining to this object should + be returned as 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1.4"; + } + } + } + + notification cospfIfConfigError { + description + "A cospfIfConfigError trap signifies that a + packet with mismatched parameter MTU has been + received on a non-virtual interface from a + router."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.1"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf cospfPacketSrc { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketSrc"; + } + } + } + + container object-5 { + + leaf cospfConfigErrorType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfConfigErrorType"; + } + } + } + + container object-6 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + } + + notification cospfVirtIfConfigError { + description + "A cospfVirtIfConfigError trap signifies that a + packet with mismatched parameter MTU has been received + on a virtual interface from a router."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.2"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf cospfConfigErrorType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfConfigErrorType"; + } + } + } + + container object-5 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + } + + notification cospfTxRetransmit { + description + "A cospfTxRetransmit trap signifies than an + OSPF packet, which has been associated with + an Opaque LSA LSDB Entry, has been retransmitted + on a non-virtual interface."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.3"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRtrId"; + } + } + } + + container object-5 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + + container object-6 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-7 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-8 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification cospfVirtIfTxRetransmit { + description + "A cospfVirtTxRetransmit trap signifies than an + OSPF packet, which has been associated with + an Opaque LSA LSDB Entry, has been retransmitted + on a non-virtual interface."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.4"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-6 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-7 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification cospfOriginateLsa { + description + "A cospfOriginateLsa trap signifies that a new + Opaque LSA has been originated by this router. + This trap should not be invoked for simple refreshes + of LSAs (which happesn every 30 minutes), but + instead will only be invoked when an LSA is + (re)originated due to a topology change. Additionally, + this trap does not include LSAs that + are being flushed because they have reached + MaxAge."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.5"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + } + + container object-3 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-4 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification cospfMaxAgeLsa { + description + "A cospfMaxAgeLsa trap signifies that one of + the Opaque LSAs in the router's link-state database + has aged to MaxAge."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.6"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + } + + container object-3 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-4 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-6 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification cospfNssaTranslatorStatusChange { + description + "A cospfNssaTranslatorStatusChange trap indicates that there + has been a change in the router's ability to translate OSPF + type-7 LSAs into OSPF type-5 LSAs. This trap should be + generated when the Translator Status transitions from or to + any defined status on a per area basis."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.7"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/ospf-mib:ospfAreaId"; + } + } + } + + container object-3 { + + leaf ospfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/ospf-mib:ospfAreaId"; + } + } + + leaf cospfAreaNssaTranslatorState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/cisco-ospf:cospfAreaNssaTranslatorState"; + } + } + } + } + + notification cospfShamLinkStateChange { + status deprecated; + description + "A ospfShamLinkStateChange trap signifies that + there has been a change in the state of a Sham + Link OSPF interface. This trap should be generated + when the interface state regresses from Point-to-Point + to Down or progresses to Down to Point-to-Point. This + trap has been deprecated by cospfShamLinksStateChange."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.8"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinkLocalIpAddress { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkLocalIpAddress"; + } + status deprecated; + } + + leaf cospfShamLinkNeighborId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkNeighborId"; + } + status deprecated; + } + + leaf cospfShamLinkAreaId { + type ospf-mib:AreaID; + status deprecated; + description + "The Transit Area that the Virtual Link + traverses. By definition, this is not 0.0.0.0"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinkAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkAreaId"; + } + status deprecated; + } + + leaf cospfShamLinkNeighborId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkNeighborId"; + } + status deprecated; + } + + leaf cospfShamLinkLocalIpAddress { + type inet:ipv4-address; + status deprecated; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinkAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkAreaId"; + } + status deprecated; + } + + leaf cospfShamLinkLocalIpAddress { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkLocalIpAddress"; + } + status deprecated; + } + + leaf cospfShamLinkNeighborId { + type ospf-mib:RouterID; + status deprecated; + description + "The Router ID of the other end router of the sham + link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.6.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinkAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkAreaId"; + } + status deprecated; + } + + leaf cospfShamLinkLocalIpAddress { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkLocalIpAddress"; + } + status deprecated; + } + + leaf cospfShamLinkNeighborId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkNeighborId"; + } + status deprecated; + } + + leaf cospfShamLinkState { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkTable/cisco-ospf:cospfShamLinkEntry/cisco-ospf:cospfShamLinkState"; + } + status deprecated; + } + } + } + + notification cospfShamLinkNbrStateChange { + description + "A cospfShamLinkNbrStateChange trap signifies that + there has been a change in the state of a sham link + OSPF neighbor. This trap should be generated when + the neighbor state regresses (e.g., goes from + Attempt or Full to 1-Way or Down) or progresses to + a terminal state (e.g., Full)."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.9"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddrType"; + } + } + + leaf cospfShamLinkNbrIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type ospf-mib:AreaID; + description + "The area to which the sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrArea"; + } + } + + leaf cospfShamLinkNbrIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddr"; + } + } + + leaf cospfShamLinkNbrIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link neighbor's + IP address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.2"; + } + } + + container object-6 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrArea"; + } + } + + leaf cospfShamLinkNbrIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddrType"; + } + } + + leaf cospfShamLinkNbrIpAddr { + type inet-address:InetAddress; + description + "The IP address this sham link neighbor is using."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.10.1.3"; + } + } + + container object-7 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrArea"; + } + } + + leaf cospfShamLinkNbrIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddrType"; + } + } + + leaf cospfShamLinkNbrIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddr"; + } + } + + leaf cospfShamLinkNbrRtrId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrRtrId"; + } + } + } + + container object-8 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinkNbrArea { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrArea"; + } + } + + leaf cospfShamLinkNbrIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddrType"; + } + } + + leaf cospfShamLinkNbrIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrIpAddr"; + } + } + + leaf cospfShamLinkNbrState { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinkNbrTable/cisco-ospf:cospfShamLinkNbrEntry/cisco-ospf:cospfShamLinkNbrState"; + } + } + } + } + + notification cospfShamLinkConfigError { + description + "A cospfShamLinkConfigError signifies that a packet + has been received on a sham link from a router whose + configuration parameters conflict with this router's + configuration parameters."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.10"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + } + + container object-6 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + } + + container object-7 { + + leaf cospfConfigErrorType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfConfigErrorType"; + } + } + } + + container object-8 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + } + + notification cospfShamLinkAuthFailure { + description + "A cospfShamLinkAuthFailure trap signifies that a + packet has been received on a sham link from a router + whose authentication key or authentication type conflicts + with this router's authentication key and authentication + type."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.11"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + } + + container object-6 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + } + + container object-7 { + + leaf cospfConfigErrorType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfConfigErrorType"; + } + } + } + + container object-8 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + } + + notification cospfShamLinkRxBadPacket { + description + "A cospfShamLinkRxBadPacket trap signifies that an OSPF + packet has been received on a sham link that cannot be + parsed."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.12"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + } + + container object-6 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + } + + container object-7 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + } + + notification cospfShamLinkTxRetransmit { + description + "A cospfShamLinkTxRetransmit trap signifies that an + OSPF packet has been retransmitted on a sham link. All + packets that may be retransmitted are associated with an + LSDB entry. The LS type, LS ID, and Router ID are used + identify the LSDB entry."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.13"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + } + + container object-6 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + } + + container object-7 { + + leaf cospfPacketType { + type leafref { + path "/CISCO-OSPF-TRAP-MIB:CISCO-OSPF-TRAP-MIB/CISCO-OSPF-TRAP-MIB:cospfTrapControl/CISCO-OSPF-TRAP-MIB:cospfPacketType"; + } + } + } + + container object-8 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf cospfLsdbType { + type enumeration { + enum "areaOpaqueLink" { + value "10"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header + The OSPF Opaque LSA Option (RFC 2370)"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.3.1.1"; + } + } + + container object-9 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-10 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification cospfShamLinksStateChange { + description + "A ospfShamLinkStateChange trap signifies that + there has been a change in the state of a Sham + Link OSPF interface. This trap should be generated + when the interface state regresses from Point-to-Point + to Down or progresses to Down to Point-to-Point."; + smiv2:oid "1.3.6.1.4.1.9.10.101.0.14"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksAreaId { + type ospf-mib:AreaID; + description + "The area that this sham link is part of."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.1"; + } + } + + container object-3 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's local IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.2"; + } + } + + container object-4 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type inet-address:InetAddress; + description + "The Local IP address of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.3"; + } + } + + container object-5 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type inet-address:InetAddressType; + description + "The type of internet address of this sham link's remote IP + address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.4"; + } + } + + container object-6 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type inet-address:InetAddress; + description + "The IP address of the other end router of the sham link."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.99.11.1.5"; + } + } + + container object-7 { + + leaf cospfShamLinksAreaId { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksAreaId"; + } + } + + leaf cospfShamLinksLocalIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddrType"; + } + } + + leaf cospfShamLinksLocalIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksLocalIpAddr"; + } + } + + leaf cospfShamLinksRemoteIpAddrType { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddrType"; + } + } + + leaf cospfShamLinksRemoteIpAddr { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksRemoteIpAddr"; + } + } + + leaf cospfShamLinksState { + type leafref { + path "/cisco-ospf:CISCO-OSPF-MIB/cisco-ospf:cospfShamLinksTable/cisco-ospf:cospfShamLinksEntry/cisco-ospf:cospfShamLinksState"; + } + } + } + } + + smiv2:alias "ciscoOspfTrapMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.101"; + } + + smiv2:alias "ciscoOspfTrapMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.10.101.0"; + } + + smiv2:alias "ciscoOspfTrapMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.101.1"; + } + + smiv2:alias "cospfTrapControl" { + smiv2:oid "1.3.6.1.4.1.9.10.101.1.1"; + } + + smiv2:alias "ciscoOspfTrapMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.10.101.2"; + } + + smiv2:alias "ciscoOspfTrapMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.101.2.1"; + } + + smiv2:alias "ciscoOspfTrapMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.101.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-PIM-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-PIM-MIB.yang new file mode 100644 index 000000000..9e65ad4b7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-PIM-MIB.yang @@ -0,0 +1,549 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-PIM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-PIM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-PIM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB"; + prefix CISCO-PIM-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import PIM-MIB { + prefix "pim-mib"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + EMail: cs-ipmulticast@cisco.com "; + + description + "This MIB module defines the cisco specific variables + for Protocol Independent Multicast (PIM) management. + These definitions are an extension of those defined in + the IETF PIM MIB (RFC 2934)."; + + revision 2000-11-02 { + description + "Initial version of this MIB module."; + } + + + container CISCO-PIM-MIB { + config false; + + container cpim { + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1"; + + leaf cpimInvalidRegisterMsgsRcvd { + type yang:counter32; + description + "A count of the number of invalid PIM Register messages + received by this device. A PIM Register message is + termed invalid if + o the encapsulated IP header is malformed, + o the destination of the PIM Register message is not the + RP (Rendezvous Point) for the group in question, + o the source/DR (Designated Router) address is not a valid + unicast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.1"; + } + + leaf cpimInvalidJoinPruneMsgsRcvd { + type yang:counter32; + description + "A count of the number of invalid PIM Join/Prune + messages received by this device. A PIM Join/Prune + message is termed invalid if + + o the RP specified in the packet is not the RP for + the group in question."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.2"; + } + + leaf cpimLastErrorType { + type enumeration { + enum "none" { + value "1"; + } + enum "invalidRegister" { + value "2"; + } + enum "invalidJoinPrune" { + value "3"; + } + } + description + "The type of the last invalid message that was received by + this device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.3"; + } + + leaf cpimLastErrorOriginType { + type inet-address:InetAddressType; + description + "Represents the type of address stored in + cpimLastErrorOrigin. The value of this object is + irrelevant if the value of cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.4"; + } + + leaf cpimLastErrorOrigin { + type inet-address:InetAddress; + description + "This object represents the Network Layer Address of the + source that originated the last invalid packet. The type + of address stored depends on the value in + cpimLastErrorOriginType. + + The value of this object represents the Network Layer + Address of the Designated Router (DR) whenever the value + of cpimLastErrorGroup is a zero-length address, + for eg. when encapsulated IP header is malformed. + + The value of this object is irrelevant if the value of + cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.5"; + } + + leaf cpimLastErrorGroupType { + type inet-address:InetAddressType; + description + "Represents the type of address stored in + cpimLastErrorGroup. The value of this object is unknown(0) + if there is a problem in the packet received from the + DR. + + The value of this object is irrelevant if the value of + cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.6"; + } + + leaf cpimLastErrorGroup { + type inet-address:InetAddress; + description + "The IP multicast group address to which the last invalid + packet was addressed. The type of address stored + depends on the value in cpimLastErrorGroupType. + + The value of this object is a zero-length InetAddress if + there is a problem in the packet received from the DR, + for eg. a malformed encapsulated IP header. + + The value of this object is irrelevant if the value of + cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.7"; + } + + leaf cpimLastErrorRPType { + type inet-address:InetAddressType; + description + "Represents the type of address stored in + cpimLastErrorRP. The value of this object is irrelevant + if the value of cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.8"; + } + + leaf cpimLastErrorRP { + type inet-address:InetAddress; + description + "The address of the RP, as per the last invalid + packet. The type of address stored depends on the value in + cpimLastErrorRPType. + + The value of this object is irrelevant if the value of + cpimLastErrorType is none(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1.9"; + } + } + + container ciscoPimMIBNotificationObjects { + smiv2:oid "1.3.6.1.4.1.9.9.184.2.1"; + + leaf cpimRPMappingChangeType { + type enumeration { + enum "newMapping" { + value "1"; + } + enum "deletedMapping" { + value "2"; + } + enum "modifiedOldMapping" { + value "3"; + } + enum "modifiedNewMapping" { + value "4"; + } + } + description + "Describes the operation that resulted in generation + of cpimRPMappingChange notification. + + o newMapping, as the name suggests indicates that a new + mapping has been added into the pimRPSetTable, + o deletedMapping indicates that a mapping has been + deleted from the pimRPSetTable, and, + o modifiedXXXMapping indicates that an RP mapping (which + already existed in the table) has been modified. + The two modifications types i.e. modifiedOldMapping + and modifiedNewMapping, are defined to differentiate + the notification generated before modification from + that generated after modification."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.1.1"; + } + } + } + + notification ciscoPimInterfaceUp { + description + "A ciscoPimInterfaceUp notification signifies the + restoration of a PIM interface. This notification + should be generated whenever pimInterfaceStatus + transitions into the 'active' state. + pimInterfaceStatus identifies the interface which + was involved in the generation of this notification."; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0.1"; + + container object-1 { + + leaf pimInterfaceIfIndex { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimInterfaceTable/pim-mib:pimInterfaceEntry/pim-mib:pimInterfaceIfIndex"; + } + } + + leaf pimInterfaceStatus { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimInterfaceTable/pim-mib:pimInterfaceEntry/pim-mib:pimInterfaceStatus"; + } + } + } + } + + notification ciscoPimInterfaceDown { + description + "A ciscoPimInterfaceDown notification signifies the loss + of a PIM interface. This notification should be generated + whenever an entry is about to be deleted from the + PimInterfaceTable. + pimInterfaceStatus identifies the interface which + was involved in the generation of this notification."; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0.2"; + + container object-1 { + + leaf pimInterfaceIfIndex { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimInterfaceTable/pim-mib:pimInterfaceEntry/pim-mib:pimInterfaceIfIndex"; + } + } + + leaf pimInterfaceStatus { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimInterfaceTable/pim-mib:pimInterfaceEntry/pim-mib:pimInterfaceStatus"; + } + } + } + } + + notification ciscoPimRPMappingChange { + description + "A ciscoPimRPMappingChange notification signifies a change + in the RP Mapping on the device in question. A change in RP + Mapping could be because of addition of new entries to the + RP Mapping cache, deletion of existing entries, or a + modification to an existing mapping. The type of change is + indicated by cpimRPMappingChangeType. pimRPSetHoldTime + is used to identify the row in the pimRPSetTable that is + responsible for the generation of this notification. + + In case of modification to existing entries, a + notification should be generated once before the + modification (with cpimRPMappingChangeType set to + modifiedOldMapping) and once after modification (with + cpimRPMappingChangeType set to modifiedNewMapping). + + NOTE: A high frequency of RP Mapping change could result + in a large number of ciscoPimRPMappingChange notifications + being generated. Hence, in environments where the + possibility of a high frequency of RP Mapping change + exists, enable this notification with utmost care."; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0.3"; + + container object-1 { + + leaf pimRPSetComponent { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimRPSetTable/pim-mib:pimRPSetEntry/pim-mib:pimRPSetComponent"; + } + } + + leaf pimRPSetGroupAddress { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimRPSetTable/pim-mib:pimRPSetEntry/pim-mib:pimRPSetGroupAddress"; + } + } + + leaf pimRPSetGroupMask { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimRPSetTable/pim-mib:pimRPSetEntry/pim-mib:pimRPSetGroupMask"; + } + } + + leaf pimRPSetAddress { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimRPSetTable/pim-mib:pimRPSetEntry/pim-mib:pimRPSetAddress"; + } + } + + leaf pimRPSetHoldTime { + type leafref { + path "/pim-mib:PIM-MIB/pim-mib:pimRPSetTable/pim-mib:pimRPSetEntry/pim-mib:pimRPSetHoldTime"; + } + } + } + + container object-2 { + + leaf cpimRPMappingChangeType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:ciscoPimMIBNotificationObjects/CISCO-PIM-MIB:cpimRPMappingChangeType"; + } + } + } + } + + notification ciscoPimInvalidRegister { + description + "A ciscoPimInvalidRegister notification signifies that + an invalid Register message was received by this device. + + This notification is generated whenever the + cpimInvalidRegisterMsgsRcvd counter is incremented. + cpimLastErrorOrigin, cpimLastErrorGroup, and + cpimLastErrorRP should signify the source address, group + address and the RP address in the invalid register + packet."; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0.4"; + + container object-1 { + + leaf cpimLastErrorOriginType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorOriginType"; + } + } + } + + container object-2 { + + leaf cpimLastErrorOrigin { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorOrigin"; + } + } + } + + container object-3 { + + leaf cpimLastErrorGroupType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorGroupType"; + } + } + } + + container object-4 { + + leaf cpimLastErrorGroup { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorGroup"; + } + } + } + + container object-5 { + + leaf cpimLastErrorRPType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorRPType"; + } + } + } + + container object-6 { + + leaf cpimLastErrorRP { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorRP"; + } + } + } + + container object-7 { + + leaf cpimInvalidRegisterMsgsRcvd { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimInvalidRegisterMsgsRcvd"; + } + } + } + } + + notification ciscoPimInvalidJoinPrune { + description + "A ciscoPimInvalidJoinPrune notification signifies the + receipt of an invalid join/prune message. + + This notification is generated whenever the + cpimInvalidJoinPruneMsgsRcvd counter is incremented. + cpimLastErrorOrigin, cpimLastErrorGroup, and + cpimLastErrorRP should signify the source address, group + address and the RP address in the invalid join/prune + packet."; + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0.5"; + + container object-1 { + + leaf cpimLastErrorOriginType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorOriginType"; + } + } + } + + container object-2 { + + leaf cpimLastErrorOrigin { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorOrigin"; + } + } + } + + container object-3 { + + leaf cpimLastErrorGroupType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorGroupType"; + } + } + } + + container object-4 { + + leaf cpimLastErrorGroup { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorGroup"; + } + } + } + + container object-5 { + + leaf cpimLastErrorRPType { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorRPType"; + } + } + } + + container object-6 { + + leaf cpimLastErrorRP { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimLastErrorRP"; + } + } + } + + container object-7 { + + leaf cpimInvalidJoinPruneMsgsRcvd { + type leafref { + path "/CISCO-PIM-MIB:CISCO-PIM-MIB/CISCO-PIM-MIB:cpim/CISCO-PIM-MIB:cpimInvalidJoinPruneMsgsRcvd"; + } + } + } + } + + smiv2:alias "ciscoPimMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.184"; + } + + smiv2:alias "ciscoPimMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.184.1"; + } + + smiv2:alias "cpim" { + smiv2:oid "1.3.6.1.4.1.9.9.184.1.1"; + } + + smiv2:alias "ciscoPimMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.184.2"; + } + + smiv2:alias "ciscoPimMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.184.2.0"; + } + + smiv2:alias "ciscoPimMIBNotificationObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.184.2.1"; + } + + smiv2:alias "ciscoPimMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.184.3"; + } + + smiv2:alias "ciscoPimMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.184.3.1"; + } + + smiv2:alias "ciscoPimMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.184.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-PING-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-PING-MIB.yang new file mode 100644 index 000000000..a2b786aa0 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-PING-MIB.yang @@ -0,0 +1,422 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-PING-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-PING-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-PING-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB"; + prefix CISCO-PING-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "Modified description of ciscoPingAddress object."; + + revision 2001-08-28 { + description + "Added VPN name to notifications"; + } + + revision 2001-05-14 { + description + "Add VrfName attribute to support VPN ping"; + } + + revision 1999-10-08 { + description + ""; + } + + revision 1994-11-11 { + description + "Redefined Ping completion trap."; + } + + revision 1994-07-22 { + description + "Initial version of this MIB module."; + } + + + container CISCO-PING-MIB { + config false; + + container ciscoPingTable { + description + "A table of ping request entries."; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1"; + + list ciscoPingEntry { + key "ciscoPingSerialNumber"; + description + "A ping request entry. + + A management station wishing to create an entry should + first generate a pseudo-random serial number to be used + as the index to this sparse table. The station should + then create the associated instance of the row status + and row owner objects. It must also, either in the same + or in successive PDUs, create the associated instance of + the protocol and address objects. It should also modify + the default values for the other configuration objects + if the defaults are not appropriate. + + Once the appropriate instance of all the configuration + objects have been created, either by an explicit SNMP + set request or by default, the row status should be set + to active to initiate the request. Note that this entire + procedure may be initiated via a single set request which + specifies a row status of createAndGo as well as specifies + valid values for the non-defaulted configuration objects. + + Once the ping sequence has been activated, it cannot be + stopped -- it will run until the configured number of + packets have been sent. + + Once the sequence completes, the management station should + retrieve the values of the status objects of interest, and + should then delete the entry. In order to prevent old + entries from clogging the table, entries will be aged out, + but an entry will never be deleted within 5 minutes of + completing."; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1"; + + leaf ciscoPingSerialNumber { + type int32 { + range "1..2147483647"; + } + description + "Object which specifies a unique entry in the + ciscoPingTable. A management station wishing + to initiate a ping operation should use a + pseudo-random value for this object when creating + or modifying an instance of a ciscoPingEntry. + The RowStatus semantics of the ciscoPingEntryStatus + object will prevent access conflicts."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.1"; + } + + leaf ciscoPingProtocol { + type cisco-tc:CiscoNetworkProtocol; + description + "The protocol to use. + Once an instance of this object is created, its + value can not be changed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.2"; + } + + leaf ciscoPingAddress { + type cisco-tc:CiscoNetworkAddress; + description + "The address of the device to be pinged. + An instance of this object cannot be created until the + associated instance of ciscoPingProtocol is created."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.3"; + } + + leaf ciscoPingPacketCount { + type int32 { + range "1..2147483647"; + } + description + "Specifies the number of ping packets to send to the target + in this sequence."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.4"; + } + + leaf ciscoPingPacketSize { + type int32; + description + "Specifies the size of ping packets to send to the target + in this sequence. The lower and upper boundaries of this + object are protocol-dependent. + An instance of this object cannot be modified unless the + associated instance of ciscoPingProtocol has been created + (so as to allow protocol-specific range checking on the + new value)."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.5"; + } + + leaf ciscoPingPacketTimeout { + type int32 { + range "0..3600000"; + } + units "milliseconds"; + description + "Specifies the amount of time to wait for a response to a + transmitted packet before declaring the packet 'dropped.'"; + smiv2:defval "2000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.6"; + } + + leaf ciscoPingDelay { + type int32 { + range "0..3600000"; + } + units "milliseconds"; + description + "Specifies the minimum amount of time to wait before sending + the next packet in a sequence after receiving a response or + declaring a timeout for a previous packet. The actual delay + may be greater due to internal task scheduling."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.7"; + } + + leaf ciscoPingTrapOnCompletion { + type boolean; + description + "Specifies whether or not a ciscoPingCompletion trap should + be issued on completion of the sequence of pings. If such a + trap is desired, it is the responsibility of the management + entity to ensure that the SNMP administrative model is + configured in such a way as to allow the trap to be delivered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.8"; + } + + leaf ciscoPingSentPackets { + type yang:counter32; + description + "The number of ping packets that have been sent to the target + in this sequence."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.9"; + } + + leaf ciscoPingReceivedPackets { + type yang:counter32; + description + "The number of ping packets that have been received from the + target in this sequence."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.10"; + } + + leaf ciscoPingMinRtt { + type int32; + units "milliseconds"; + description + "The minimum round trip time of all the packets that have + been sent in this sequence. + + This object will not be created until the first ping + response in a sequence is received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.11"; + } + + leaf ciscoPingAvgRtt { + type int32; + units "milliseconds"; + description + "The average round trip time of all the packets that have + been sent in this sequence. + + This object will not be created until the first ping + response in a sequence is received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.12"; + } + + leaf ciscoPingMaxRtt { + type int32; + units "milliseconds"; + description + "The maximum round trip time of all the packets that have + been sent in this sequence. + + This object will not be created until the first ping + response in a sequence is received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.13"; + } + + leaf ciscoPingCompleted { + type boolean; + description + "Set to true when all the packets in this sequence have been + either responded to or timed out."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.14"; + } + + leaf ciscoPingEntryOwner { + type if-mib:OwnerString; + description + "The entity that configured this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.15"; + } + + leaf ciscoPingEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry. Once the entry status is + set to active, the associate entry cannot be modified until + the sequence completes (ciscoPingCompleted is true)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.16"; + } + + leaf ciscoPingVrfName { + type binary { + length "0..32"; + } + description + "This field is used to specify the VPN name in + which the ping will be used. For regular ping this + field should not be configured. The agent will use + this field to identify the VPN routing Table for + this ping. This is the same ascii string used in + the CLI to refer to this VPN. "; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.16.1.1.1.17"; + } + } + } + } + + notification ciscoPingCompletion { + description + "A ciscoPingCompleted trap is sent at the completion + of a sequence of pings if such a trap was requested + when the sequence was initiated. In addition to the + above listed objects (which are always present), + the message will contain the following objects if + any responses were received: + ciscoPingMinRtt + ciscoPingAvgRtt + ciscoPingMaxRtt + It will also contain the following object if the ping + is to a VPN address: + ciscoPingVrfName"; + smiv2:oid "1.3.6.1.4.1.9.9.16.2.0.1"; + + container object-1 { + + leaf ciscoPingSerialNumber { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingSerialNumber"; + } + } + + leaf ciscoPingCompleted { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingCompleted"; + } + } + } + + container object-2 { + + leaf ciscoPingSerialNumber { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingSerialNumber"; + } + } + + leaf ciscoPingSentPackets { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingSentPackets"; + } + } + } + + container object-3 { + + leaf ciscoPingSerialNumber { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingSerialNumber"; + } + } + + leaf ciscoPingReceivedPackets { + type leafref { + path "/CISCO-PING-MIB:CISCO-PING-MIB/CISCO-PING-MIB:ciscoPingTable/CISCO-PING-MIB:ciscoPingEntry/CISCO-PING-MIB:ciscoPingReceivedPackets"; + } + } + } + } + + smiv2:alias "ciscoPingMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.16"; + } + + smiv2:alias "ciscoPingMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.16.1"; + } + + smiv2:alias "ciscoPingMIBTrapPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.16.2"; + } + + smiv2:alias "ciscoPingMIBTraps" { + smiv2:oid "1.3.6.1.4.1.9.9.16.2.0"; + } + + smiv2:alias "ciscoPingMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.16.3"; + } + + smiv2:alias "ciscoPingMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.16.3.1"; + } + + smiv2:alias "ciscoPingMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.16.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-POWER-ETHERNET-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-POWER-ETHERNET-EXT-MIB.yang new file mode 100644 index 000000000..c6359fdd3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-POWER-ETHERNET-EXT-MIB.yang @@ -0,0 +1,1195 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-POWER-ETHERNET-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-POWER-ETHERNET-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-POWER-ETHERNET-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-POWER-ETHERNET-EXT-MIB"; + prefix CISCO-POWER-ETHERNET-EXT-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import POWER-ETHERNET-MIB { + prefix "power-ethernet"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-lan-switch-snmp@cisco.com"; + + description + "A MIB module for extending the POWER-ETHERNET-MIB + (RFC3621) to add objects which provide additional + management information about Power Sourcing Equipment + (PSE) not available in POWER-ETHERNET-MIB. + + Glossary + + Power Sourcing Equipment (PSE) + These are devices supplying electrical power to + other equipment. They are, for example, inline power + switches, inline power daughterboards and power patch + panels. + + Powered Device (PD) + These are devices receiving their electrical power + supply from Power Sourcing Equipment. They are, for + example, IP telephones and wireless access points + or bridges."; + + revision 2018-01-19 { + description + "Added following OBJECT-GROUP + - cpeExtPseInfoPwrGroup + Added new compliance + - cpeExtMIBCompliance6."; + } + + revision 2013-07-10 { + description + "Added following TEXTUAL-CONVENTION + - CpeExtLldpPwrClassOrZero + Added following OBJECT-GROUP + - cpeExtPsePortLldpPowerGroup + Added new compliance + - cpeExtMIBCompliance5."; + } + + revision 2011-07-18 { + description + "Added cpeExtPowerPriorityGroup, cpeExtPsePortLldpGroup + and cpeExtPsePortCapabilitiesGroup. + + Added a new enumeration 'class4' in cpeExtPdStatsClass. + + Added TEXTUAL-CONVENTION CpeExtLldpPwrType, + CpeExtLldpPwrSrc, and CpeExtPwrPriority."; + } + + revision 2009-12-04 { + description + "Updated the DESCRIPTION of cpeExtPolicingNotif."; + } + + revision 2007-04-12 { + description + "Added 'overdrawLog' value to cpeExtPsePortAdditionalStatus. + Added cpeExtPortPolicingActionGroup, cpeExtPortPwrManAllocGroup + cpeExtPolicingNotifEnableGroup, and cpeExtPolicingNotifGroup."; + } + + revision 2007-02-02 { + description + "Added cpeExtPsePortEntPhyIndex, + cpeExtPsePortPolicingCapable and + cpeExtPsePortPolicingEnable to cpeExtPsePortTable. + Added cpeExtPdStatsTotalDevices and cpeExtPdStatsTable. + Added enumerated value disable(5) to cpeExtPsePortEnable."; + } + + revision 2005-06-10 { + description + "Added 'limit' to cpeExtPsePortEnable, 'overdraw' to + cpeExtPsePortAdditionalStatus and the groups + cpeExtPsePortPwrMonitorGroup and + cpeExtMainPseGroup."; + } + + revision 2004-04-12 { + description + "Initial version of this MIB module."; + } + + typedef CpeExtLldpPwrType { + type enumeration { + enum "type1Pd" { + value "1"; + } + enum "type1Pse" { + value "2"; + } + enum "type2Pd" { + value "3"; + } + enum "type2Pse" { + value "4"; + } + } + description + "The requested Data Terminal Equipment (DTE) Power via + Media Dependent Interface (MDI) type based on Data Link Layer + (DLL) power classification. + + In Data Link Layer power classification, the PSE and PD perform + power negotiation using the Link Layer Discovery Protocol (LLDP) + as soon as the data link is established. It has finer power + resolution than the Physical Layer power classification and has + the ability for the PSE and PD to participate in dynamic power + allocation wherein allocated power to the PD may change one or + more times during PD operation. + + 'type1Pd' - A PD that advertises a power draw less than or + equal to 12.95 W (at the PD). + 'type1Pse' - A PSE that is designed to support a Type 1 PD. + 'type2Pd' - A PD that advertises a power draw greater than + 12.95 W (at the PD). + 'type2Pse - A PSE that is designed to support either a Type 1 + or a Type 2 PD."; + } + + typedef CpeExtLldpPwrSrc { + type enumeration { + enum "pseAndLocal" { + value "1"; + } + enum "local" { + value "2"; + } + enum "pse" { + value "3"; + } + enum "backupSrc" { + value "4"; + } + enum "primarySrc" { + value "5"; + } + enum "unknown" { + value "6"; + } + } + description + "The power source of the PD or PSE port which implements the + LLDP based Data Link Layer power classification. + + 'pseAndLocal' - A PD powered both locally and by a PSE. + 'local' - A PD powered locally only. + 'pse' - A PD powered by a PSE only. + 'backupSrc' - A PSE powered by a backup power source. + 'primarySrc' - A PSE powered by its primary power source. + 'unknown' - A PD or PSE where the power source is + unknown."; + } + + typedef CpeExtPwrPriority { + type enumeration { + enum "critical" { + value "1"; + } + enum "high" { + value "2"; + } + enum "low" { + value "3"; + } + enum "unknown" { + value "4"; + } + } + description + "The power priority for the PD on the PSE port which implements + the LLDP based Data Link Layer power classification. + + 'critical' - power priority is at critical level. + 'high' - power priority is at high level. + 'low' - power priority is at low level. + 'unknown' - power priority level is unknown."; + } + + typedef CpeExtLldpPwrClassOrZero { + type enumeration { + enum "unknown" { + value "0"; + } + enum "class0" { + value "1"; + } + enum "class1" { + value "2"; + } + enum "class2" { + value "3"; + } + enum "class3" { + value "4"; + } + enum "class4" { + value "5"; + } + } + description + "The power class of the PD or PSE port that implements + the LLDP based Data Link Layer power classification + + 'unknown' - power classification of the powered devices is + unknown. + + 'class0' - power classification of the powered devices is + class 0 in IEEE specifications. + + 'class1' - power classification of the powered devices is + class 1 in IEEE specifications. + + 'class2' - power classification of the powered devices is + class 2 in IEEE specifications. + + 'class3' - power classification of the powered devices is + class 3 in IEEE specifications. + + 'class4' - power classification of the powered devices is + class 4 in IEEE specifications."; + } + + + container CISCO-POWER-ETHERNET-EXT-MIB { + config false; + + container cpeExtMIBObjects { + smiv2:oid "1.3.6.1.4.1.9.9.402.1"; + + leaf cpeExtDefaultAllocation { + type uint32; + units "milliwatts"; + description + "This object indicates the default inline power allocation per + port. This is a global configuration parameter that applies + to all inline power capable ports in the system. + + The system must consider this object as well as the per port + configuration object, cpeExtPsePortPwrMax, when determining + how much power to allocate to a port. The system will use the + lower of the two numbers."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.1"; + } + + leaf cpeExtPolicingNotifEnable { + type boolean; + description + "This object is used to enable/disable the + the cpeExtPolicingNotif notification."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.5"; + } + + leaf cpeExtPowerPriorityEnable { + type boolean; + description + "This object is the global control of the power priority + feature on the device. 'true' indicates that the power priority + feature is globally enabled. 'false' indicates that the power + priority feature is globally disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.6"; + } + } + + container cpeExtPdStatistics { + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4"; + + leaf cpeExtPdStatsTotalDevices { + type uint32; + description + "This object indicates the total number of the + powered devices with any power classifications + in the system. + + Classification is a way to tag different terminals + on the Power over LAN network according to their + power consumption. Devices such as IP telephones, + WLAN access points and others, will be classified + according to their power requirements."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4.1"; + } + } + + container cpeExtMainPseTable { + description + "This table contains the additional information for the + main PSE group in pethMainPseTable."; + reference + "RFC3621, pethMainPseTable"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3"; + + list cpeExtMainPseEntry { + key "pethMainPseGroupIndex"; + description + "A cpeExtMainPseEntry contains information about + a particular pethMainPseGroupIndex. An entry is + created by the agent when a main PSE group is added + to the pethMainPseTable. An entry is deleted by the + agent when a main PSE group is removed from the + pethMainPseTable."; + reference + "RFC3621, pethMainPseTable"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1"; + + leaf pethMainPseGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethMainPseTable/power-ethernet:pethMainPseEntry/power-ethernet:pethMainPseGroupIndex"; + } + } + + leaf cpeExtMainPseEntPhyIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "The entPhysicalIndex value that uniquely identifies the + main PSE group. If the main PSE group does not have a + corresponding physical entry in entPhysicalTable or if + the entPhysicalTable is not supported by the management + system, then this object has the value of zero."; + reference + "RFC 2737, entPhysicalIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1.1"; + } + + leaf cpeExtMainPseDescr { + type snmp-framework:SnmpAdminString; + description + "A textual string containing information about the Power + Source Equipment (PSE) group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1.2"; + } + + leaf cpeExtMainPsePwrMonitorCapable { + type boolean; + description + "This object indicates if the given group is capable of + monitoring the power consumption of the interfaces that + belong to the group. The value 'true' means that the + group is capable. The value 'false' means that the group + in not capable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1.3"; + } + + leaf cpeExtMainPseUsedPower { + type uint32; + units "miliwatts"; + description + "This object indicates used power expressed in miliwatts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1.4"; + } + + leaf cpeExtMainPseRemainingPower { + type uint32; + units "miliwatts"; + description + "This object indicates remaining power expressed in + miliwatts, this parameter is calculated as pethMainPsePower + minus cpeExtMainPseUsedPower."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.3.1.5"; + } + } + } + + container cpeExtPdStatsTable { + description + "This table contains the statistics information + of the powered devices fallen into different power + classifications in the system."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4.2"; + + list cpeExtPdStatsEntry { + key "cpeExtPdStatsClass"; + description + "A cpeExtPdStatsEntry contains the statistics + information about a particular power classification + defined in cpeExtPdStatsIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4.2.1"; + + leaf cpeExtPdStatsClass { + type enumeration { + enum "cisco" { + value "1"; + } + enum "class0" { + value "2"; + } + enum "class1" { + value "3"; + } + enum "class2" { + value "4"; + } + enum "class3" { + value "5"; + } + enum "class4" { + value "6"; + } + } + description + "The power classification as the index for the + statistics information for powered devices. + + A value of 'cisco' indicates that the powered + devices are CISCO proprietary and their power + classification does not fall into any class + in IEEE specifications. + + A value of 'class0' indicates that the power + classification of the powered devices falls into + class 0 in IEEE specifications. + + A value of 'class1' indicates that the power + classification of the powered devices falls into + class 1 in IEEE specifications. + + A value of 'class2' indicates that the power + classification of the powered devices falls into + class 2 in IEEE specifications. + + A value of 'class3' indicates that the power + classification of the powered devices falls into + class 3 in IEEE specifications. + + A value of 'class4' indicates that the power + classification of the powered devices falls into + class 4 in IEEE specifications."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4.2.1.1"; + } + + leaf cpeExtPdStatsDeviceCount { + type uint32; + description + "This object indicates the count of the powered + devices whose power classification falls into + a specific value of cpeExtPdStatsIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4.2.1.2"; + } + } + } + + container cpeExtPsePortLldpTable { + description + "A table provides the Link Layer Discovery Protocol (LLDP) + based Data Link Layer (DLL) power classification + characteristics of PSE ports and PDs attached to them."; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7"; + + list cpeExtPsePortLldpEntry { + key "pethPsePortGroupIndex pethPsePortIndex"; + description + "A cpeExtPsePortLldpEntry entry contains the LLDP + based 802.3at DLL power classification characteristics for + a particular PSE and the PD attached to it. + + A PSE has its entry here when all of the following conditions + are satisfied: + - The LLDP power classification is globally enabled. + - It has a PD attached. + - LLDP is the operational power negotiation protocol between + the PSE and the PD attached."; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1"; + + leaf pethPsePortGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortIndex"; + } + } + + leaf cpeExtPsePortLldpPwrType { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrType; + description + "The DTE Power via MDI type of the local system (PSE)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.1"; + } + + leaf cpeExtPsePortLldpPdPwrType { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrType; + description + "The DTE Power via MDI type of the remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.2"; + } + + leaf cpeExtPsePortLldpPwrSrc { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrSrc; + description + "The power source of the local system (PSE)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.3"; + } + + leaf cpeExtPsePortLldpPdPwrSrc { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrSrc; + description + "The power source of the remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.4"; + } + + leaf cpeExtPsePortLldpPwrPriority { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtPwrPriority; + description + "The power priority of the local system (PSE)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.5"; + } + + leaf cpeExtPsePortLldpPdPwrPriority { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtPwrPriority; + description + "The power priority of the remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.6"; + } + + leaf cpeExtPsePortLldpPwrReq { + type uint32; + units "milliwatts"; + description + "The requested PD power value that the local + system (PSE) mirrors back to the remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.7"; + } + + leaf cpeExtPsePortLldpPdPwrReq { + type uint32; + units "milliwatts"; + description + "The PD requested power value received from + the remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.8"; + } + + leaf cpeExtPsePortLldpPwrAlloc { + type uint32; + units "milliwatts"; + description + "The PSE allocated power value for the remote + system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.9"; + } + + leaf cpeExtPsePortLldpPdPwrAlloc { + type uint32; + units "milliwatts"; + description + "The PSE allocated power value received from the + remote system (PD)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.10"; + } + + leaf cpeExtPsePortLldpPwrClass { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrClassOrZero; + description + "The PSE power classification sent to the remote PD via MDI TLV + in LLDP Protocol."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.11"; + } + + leaf cpeExtPsePortLldpPdPwrClass { + type CISCO-POWER-ETHERNET-EXT-MIB:CpeExtLldpPwrClassOrZero; + description + "This power classification received from the remote + system (PD)."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.12"; + } + + leaf cpeExtPsePortLldpPdPwrSupport { + type bits { + bit portClass { + position "0"; + } + bit pseMdiPwrSupport { + position "1"; + } + bit pseMdiPwrState { + position "2"; + } + bit psePairCtrlAbility { + position "3"; + } + } + description + "This object indicates the power support mode received + from the remote PD via MDI TLV in LLDP protocol. + + 'portClass' - This bit is set if the port is + operating as PSE. Otherwise, it is + operating as PD. + + 'pseMdiPwrSupport' - This bit is set if power is supported in + MDI TLV. + + 'pseMdiPwrState' - This bit is set if power is enabled. + + 'psePairCtrlAbility' - This bit is set if pair selection can + be controlled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.13"; + } + + leaf cpeExtPsePortLldpPdPwrPairsOrZero { + type enumeration { + enum "unknown" { + value "0"; + } + enum "signal" { + value "1"; + } + enum "spare" { + value "2"; + } + } + description + "This object indicates the pinout pairs in use received + from the remote PD via MDI TLV in LLDP Protocol. + + 'unknown' - information is not available + + 'signal' - the signal pairs are in use. + + 'spare' - the spare pairs are in use."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.7.1.14"; + } + } + } + } + + smiv2:alias "cpeExtPsePortTable" { + description + "This table extends the POWER-ETHERNET-MIB pethPsePortTable + for power Ethernet ports on a Powered Sourcing Equipment + (PSE) device."; + reference + "RFC3621"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2"; + } + + smiv2:alias "cpeExtPsePortEntry" { + description + "A cpeExtPsePortEntry extends a corresponding + pethPsePortTable entry. This entry displays and + controls more characteristics of a power Ethernet + port on a PSE device."; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1"; + } + + augment "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry" { + description + "A cpeExtPsePortEntry extends a corresponding + pethPsePortTable entry. This entry displays and + controls more characteristics of a power Ethernet + port on a PSE device."; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1"; + + leaf cpeExtPsePortEnable { + type enumeration { + enum "auto" { + value "1"; + } + enum "static" { + value "2"; + } + enum "limit" { + value "3"; + } + enum "disable" { + value "4"; + } + } + description + "This object is an extension of the pethPsePortAdminEnable + object from RFC3621. It allows the user to be more specific + when enabling the PSE functions. The states, 'auto', 'static' + and 'limit' correspond to a value of 'true' for the + pethPsePortAdminEnable object. The state 'disable' corresponds + to a value of 'false' for the pethPsePortAdminEnable object. + + Setting this value to 'auto' enables Powered Device discovery + on the interface and the amount of power allocated depends on + the Powered Device discovered. If pethPsePortAdminEnable was + 'false' prior to this set operation, then it will become + 'true'. + + Setting this value to 'static' will also enable Powered + Device discovery. However, this is different from 'auto' + in that the amount of power is pre-allocated based on the + configuration on the Power Sourcing Equipment. If + pethPsePortAdminEnable was 'false' prior to this set + operation, then it will become 'true'. + + Setting this value to 'limit' enables Powered Device + discovery on the interface. The amount of power allocated + depends on the Powered Device discovered and the value + of cpeExtPsePortPwrMax. The lower value will be used. + If pethPsePortAdminEnable was 'false' prior to this set + operation, then it will become 'true'. + + Setting this value to 'disable' disables the PSE functions. + The pethPsePortAdminEnable object will adopt the value of + 'false' if it was 'true' prior to this set operation. When + setting the pethPsePortAdminEnable object to 'false' this + object cpeExtPsePortEnable will adopt the value of 'disable'. + + If cpeExtPsePortPolicingCapable of the PSE port, or + cpeExtMainPsePwrMonitorCapable of the PSE port's + main group, has the value of 'false', this object + can only be set to 'auto', 'static' or 'disable'. + Otherwise, this object can be set to 'auto', 'static', + 'limit' or 'disable'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.1"; + } + + leaf cpeExtPsePortDiscoverMode { + type enumeration { + enum "unknown" { + value "1"; + } + enum "off" { + value "2"; + } + enum "ieee" { + value "3"; + } + enum "cisco" { + value "4"; + } + enum "ieeeAndCisco" { + value "5"; + } + } + description + "This object indicates the discover mode used by the system to + discover the PD. + + A value of 'unknown' indicates that the discover mode on the + interface is unknown. + + A value of 'off' indicates that discovery is disabled on the + interface. + + A value of 'ieee' indicates that the discover mode on the + interface is IEEE based. + + A value of 'cisco' indicates that the discover mode on the + interface is Cisco based. + + A value of 'ieeeAndCisco' indicates that the discover mode on + the interface is both IEEE and Cisco based."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.2"; + } + + leaf cpeExtPsePortDeviceDetected { + type boolean; + description + "This object indicates if a Powered Device (PD) has been + detected on the interface. + + A value of 'true' indicates that a PD has been detected on + the interface. + + A value of 'false' indicates that no PD has been detected on + the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.3"; + } + + leaf cpeExtPsePortIeeePd { + type boolean; + description + "This object indicates whether the Powered Device attached + to the interface is an IEEE compliant Powered Device or not. + + A value of 'true' indicates the attached Powered Device is + an IEEE compliant Powered Device. + + A value of 'false' indicates the attached Powered Device + is not an IEEE compliant Powered Device. This also means + that the value of the corresponding object from the + pethPsePortTable, pethPsePortPowerClassifications is + irrelevant."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.4"; + } + + leaf cpeExtPsePortAdditionalStatus { + type bits { + bit deny { + position "0"; + } + bit overdraw { + position "1"; + } + bit overdrawLog { + position "2"; + } + } + description + "This object is an extension of the pethPsePortDetectionStatus + object from RFC3621 and provides additional status + information. + + deny: When set, the PD attached to the interface is being + denied power due to insufficient power resources on + the Power Sourcing Equipment. + + overdraw: When set, the PD attached to the interface is + being denied power because the PD is trying + to consume more power than it has been + configured to consume. + + overdrawLog: When set, the PD attached to the interface + is trying to consume more power than it has + been configured to consume, but is not being + denied power."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.5"; + } + + leaf cpeExtPsePortPwrMax { + type uint32; + units "milliwatts"; + description + "This indicates the maximum amount of power that the PSE will + make available to the PD connected to this interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.6"; + } + + leaf cpeExtPsePortPwrAllocated { + type uint32; + units "milliwatts"; + description + "This object indicates the amount of power allocated from the + PSE for the PD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.7"; + } + + leaf cpeExtPsePortPwrAvailable { + type uint32; + units "milliwatts"; + description + "This object indicates the amount of power available for + the PD to use. This value may differ from the value + cpeExtPsePortPwrAllocated due to the efficiency issues + of delivering the power from the PSE to the PD. + + When sufficient power is available to power a PD, this + value should be equal to the lower of the two objects, + cpeExtDefaultAllocation and cpeExtPsePortPwrMax."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.8"; + } + + leaf cpeExtPsePortPwrConsumption { + type uint32; + units "milliwatts"; + description + "This indicates the actual power consumption of the PD + connected to this interface. It may not necessarily + be equal to the value of cpeExtPsePortPwrAvailable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.9"; + } + + leaf cpeExtPsePortMaxPwrDrawn { + type uint32; + units "milliwatts"; + description + "This indicates the maximum amount of power drawn by the PD + connected to this interface, since it was powered on."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.10"; + } + + leaf cpeExtPsePortEntPhyIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "The entPhysicalIndex value that uniquely identifies the + PSE port. If the PSE port does not have a corresponding + physical entry in entPhysicalTable or if the + entPhysicalTable is not supported by the management + system, this object has the value of zero."; + reference + "RFC 2737, entPhysicalIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.11"; + } + + leaf cpeExtPsePortPolicingCapable { + type boolean; + description + "This object indicates whether the PSE port hardware is + capable of policing the port for proper power consumption + based on the allocated value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.12"; + } + + leaf cpeExtPsePortPolicingEnable { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + } + description + "This object allows the user to turn on or turn off the + power policing of the PSE port. If the instance value of + cpeExtPsePortPolicingCapable is 'TRUE', the user is allowed + to set this object to 'on' or 'off'. Otherwise, this + object is read-only and always has the value of 'off'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.13"; + } + + leaf cpeExtPsePortPolicingAction { + type enumeration { + enum "deny" { + value "1"; + } + enum "logOnly" { + value "2"; + } + } + description + "This object specifies the power policing action that + the device will take on this PSE port when the real-time + power consumption exceeds its max power allocation if + the value of cpeExtPsePortPolicingEnable is 'on'. + 'deny' - the device will deny the power to + the PSE port + 'logOnly' - the device will not deny the power + to the PSE port"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.14"; + } + + leaf cpeExtPsePortPwrManAlloc { + type uint32; + units "milliwatts"; + description + "This object specifies the manual power allocation that + the PSE will allocate to the PD connected to this + interface regardless of the amount requested via CDP + or IEEE. + + Setting this object value to zero disables the manual + power allocation. + + Warning: Misconfiguring this manual power allocation may + cause damage to the system and void the warranty. Take + precautions not to oversubscribe the power supply."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.15"; + } + + leaf cpeExtPsePortCapabilities { + type bits { + bit policing { + position "0"; + } + bit poePlus { + position "1"; + } + } + description + "This object indicates the PSE functionality that + this port supports. + + If the 'policing' BIT is set, then this PSE port is + capable of policing the port for proper power consumption + based on the allocated value. + + If the 'poePlus' BIT is set, then this PSE port supports + PoE Plus functions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.402.1.2.1.16"; + } + } + + notification cpeExtPolicingNotif { + description + "This notification is generated when the 'overdraw' or + 'overdrawLog' bit in value of cpeExtPsePortAdditionalStatus + is set or cleared."; + smiv2:oid "1.3.6.1.4.1.9.9.402.0.1"; + + container object-1 { + + leaf pethPsePortGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortIndex"; + } + } + + leaf cpeExtPsePortPolicingAction { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/CISCO-POWER-ETHERNET-EXT-MIB:cpeExtPsePortPolicingAction"; + } + } + } + + container object-2 { + + leaf pethPsePortGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortIndex"; + } + } + + leaf cpeExtPsePortAdditionalStatus { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/CISCO-POWER-ETHERNET-EXT-MIB:cpeExtPsePortAdditionalStatus"; + } + } + } + + container object-3 { + + leaf pethPsePortGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortIndex"; + } + } + + leaf cpeExtPsePortPwrAllocated { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/CISCO-POWER-ETHERNET-EXT-MIB:cpeExtPsePortPwrAllocated"; + } + } + } + + container object-4 { + + leaf pethPsePortGroupIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/power-ethernet:pethPsePortIndex"; + } + } + + leaf cpeExtPsePortMaxPwrDrawn { + type leafref { + path "/power-ethernet:POWER-ETHERNET-MIB/power-ethernet:pethPsePortTable/power-ethernet:pethPsePortEntry/CISCO-POWER-ETHERNET-EXT-MIB:cpeExtPsePortMaxPwrDrawn"; + } + } + } + } + + smiv2:alias "ciscoPowerEthernetExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.402"; + } + + smiv2:alias "cpeExtMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.402.0"; + } + + smiv2:alias "cpeExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.402.1"; + } + + smiv2:alias "cpeExtPdStatistics" { + smiv2:oid "1.3.6.1.4.1.9.9.402.1.4"; + } + + smiv2:alias "cpeExtMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.402.2"; + } + + smiv2:alias "cpeExtMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.402.2.1"; + } + + smiv2:alias "cpeExtMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.402.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-PROCESS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-PROCESS-MIB.yang new file mode 100644 index 000000000..34b12c681 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-PROCESS-MIB.yang @@ -0,0 +1,2255 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-PROCESS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-PROCESS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-PROCESS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB"; + prefix CISCO-PROCESS-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module to describe active system processes. + Virtual Machine refers to those OS which can run the + code or process of a different executional model OS. + Virtual Process assume the executional model + of a OS which is different from Native OS. Virtual + Processes are also referred as Tasks. + Thread is a sequence of instructions to be executed + within a program. Thread which adhere to POSIX standard + is referred as a POSIX thread."; + + revision 2011-06-23 { + description + "Added new table cpmCoreTable as well as a new optoinal + compliance group cpmCoreGroup."; + } + + revision 2010-05-06 { + description + "Added the following new objects to the cpmCPUTotalTable. + cpmCPUMemoryCommitted, cpmCPUMemoryCommittedOvrFlow and + cpmCPUMemoryHCCommitted. + + Added new compliance group cpmCPUTotalMemoryCommitGroup which + includes Committed memory objects. + + Added new compliance cProcessMIBComplianceRev5 which + deprecates cProcessMIBComplianceRev4."; + } + + revision 2009-10-12 { + description + "Added TEXTUAL-CONVENTION called CPULoadAverage. + Added the following new objects to cpmCPUTotalTable. + cpmCPULoadAvg1min, cpmCPULoadAvg5min, cpmCPULoadAvg15min. + + Added new compliance group cpmCPULoadAvgGroup which includes + load average objects. + + Added new compliance cProcessMIBComplianceRev4 which + deprecates cProcessMIBComplianceRev3."; + } + + revision 2009-01-23 { + description + "Added the following new objects to cpmCPUTotalTable. + cpmCPUMemoryUsedOvrflw, cpmCPUMemoryHCUsed, + cpmCPUMemoryFreeOvrflw, cpmCPUMemoryHCFree, + cpmCPUMemoryKernelReservedOvrflw, cpmCPUMemoryHCKernelReserved, + cpmCPUMemoryLowestOvrflw, cpmCPUMemoryHCLowest + + Added the following new objects to cpmProcessExtRevTable. + cpmProcExtMemAllocatedRevOvrflw, cpmProcExtHCMemAllocatedRev, + cpmProcExtMemFreedRevOvrflw, cpmProcExtHCMemFreedRev, + cpmProcessTextSegmentSizeOvrflw, cpmProcessHCTextSegmentSize, + cpmProcessDataSegmentSizeOvrflw, cpmProcessHCDataSegmentSize, + cpmProcessStackSizeOvrflw, cpmProcessHCStackSize, + cpmProcessDynamicMemorySizeOvrflw, cpmProcessHCDynamicMemorySize + + Added the following new objects to cpmThreadTable. + cpmThreadStackSizeOvrflw, cpmThreadHCStackSize + + Added the following new objects to cpmVirtualProcessTable. + cpmVirtualProcessMemAllocatedOvrflw, + cpmVirtualProcessHCMemAllocated, + cpmVirtualProcessMemFreedOvrflw, cpmVirtualProcessHCMemFreed + + Added following new compliance groups. + cpmCPUTotalOverflowGroup, cpmCPUTotalOverflowGroup, + cpmProcessExtRevOverflowGroup, cpmProcessExtRevHCGroup, + cpmThreadOverflowGroup, cpmThreadHCGroup, + cpmVirtualProcessOverflowGroup, cpmVirtualProcessHCGroup + + Added new compliance cProcessMIBComplianceRev3 which deprecates + cProcessMIBComplianceRev2."; + } + + revision 2007-03-23 { + description + "Added new objects to support POSIX compliant OS. Added + cpmThread, cpmThreadTable, cpmVirtualProcess, + cpmVirtualProcessTable and updated cpmCPUTotalTable, + cpmProcessExtRevTable. Added cProcessMIBComplianceRev2 + by deprecating cProcessMIBComplianceRev1. Added + cpmCPUPosixMemoryGroup, cpmPosixProcessGroup, + cpmThreadGroup, cpmVirtualProcessGroup."; + } + + revision 2003-01-22 { + description + "cpmCPUThresholdTable, cpmCPUHistoryTable, + cpmCPUProcessHistoryTable are added for CPU thresholding + feature."; + } + + revision 2001-05-18 { + description + "The objects cpmProcExtUtil5Sec, cpmProcExtUtil1Min, + cpmProcExtUtil5Min,cpmCPUTotal5sec, cpmCPUTotal1min + and cpmCPUTotal5min are deprecated to increase the + value range as 0..100. The table cpmProcessExtTable + is deprecated. The new objects added are + cpmProcessExtRevTable, cpmProcExtMemAllocatedRev, + cpmProcExtMemFreedRev, cpmProcExtInvokedRev, + cpmProcExtRuntimeRev, cpmProcExtUtil5SecRev, + cpmProcExtUtil1MinRev, cpmCPUTotal5MinRev, + cpmCPUTotal5secRev, cpmCPUTotal1minRev and + cpmCPUTotal5minRev."; + } + + revision 1998-04-15 { + description + "Initial version of this MIB."; + } + + typedef CPULoadAverage { + type uint32; + description + "The average number of processes in the queue waiting for CPU + time over the last N minutes, where the N is defined by the + object using this TC. This is similar to UNIX/Linux system load + average. The calculation may vary by different OS kernels, so + refer to the specific system document of your interest. + The object value, which uses this TC, reflects the average + number of runnable processes with units of hundredths of + processes, i.e. a value of 183 indicates the average number of + runnable processes over the N minutes is 1.83."; + smiv2:display-hint "d"; + } + + + container CISCO-PROCESS-MIB { + config false; + + container cpmCPUHistory { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5"; + + leaf cpmCPUHistoryThreshold { + type uint32 { + range "1..100"; + } + description + "The user configured value of this object gives + the minimum percent CPU utilization of a process + in the last cpmCPUMonInterval duration required to be a + member of history table. When this object is changed + the new value will have effect in the next interval."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.1"; + } + + leaf cpmCPUHistorySize { + type uint32 { + range "1..4294967295"; + } + description + "A value configured by the user which specifies the + number of reports in the history table. + A report contains set of processes which crossed + the cpmCPUHistoryThreshold + in the last cpmCPUMonInterval along with + the time at which this report is + created, total and interrupt CPU utilizations. + When this object is changed + the new value will have effect in the next interval."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.2"; + } + } + + container cpmCPUTotalTable { + description + "A table of overall CPU statistics."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1"; + + list cpmCPUTotalEntry { + key "cpmCPUTotalIndex"; + description + "Overall information about the CPU load. Entries in this + table come and go as CPUs are added and removed from the + system."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1"; + + leaf cpmCPUTotalIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely represents a CPU (or group of CPUs) + whose CPU load information is reported by a row in this table. + This index is assigned arbitrarily by the engine + and is not saved over reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.1"; + } + + leaf cpmCPUTotalPhysicalIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "The entPhysicalIndex of the physical entity for which + the CPU statistics in this entry are maintained. + The physical entity can be a CPU chip, a group of CPUs, + a CPU card etc. The exact type of this entity is described by + its entPhysicalVendorType value. If the CPU statistics + in this entry correspond to more than one physical entity + (or to no physical entity), or if the entPhysicalTable is + not supported on the SNMP agent, the value of this object + must be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.2"; + } + + leaf cpmCPUTotal5sec { + type yang:gauge32 { + range "0..100"; + } + status deprecated; + description + "The overall CPU busy percentage in the last 5 second + period. This object obsoletes the busyPer object from + the OLD-CISCO-SYSTEM-MIB. This object is deprecated + by cpmCPUTotal5secRev which has the changed range of + value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.3"; + } + + leaf cpmCPUTotal1min { + type yang:gauge32 { + range "0..100"; + } + status deprecated; + description + "The overall CPU busy percentage in the last 1 minute + period. This object obsoletes the avgBusy1 object from + the OLD-CISCO-SYSTEM-MIB. This object is deprecated + by cpmCPUTotal1minRev which has the changed range + of value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.4"; + } + + leaf cpmCPUTotal5min { + type yang:gauge32 { + range "0..100"; + } + status deprecated; + description + "The overall CPU busy percentage in the last 5 minute + period. This object deprecates the avgBusy5 object from + the OLD-CISCO-SYSTEM-MIB. This object is deprecated + by cpmCPUTotal5minRev which has the changed range + of value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.5"; + } + + leaf cpmCPUTotal5secRev { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + status deprecated; + description + "The overall CPU busy percentage in the last 5 second + period. This object deprecates the object cpmCPUTotal5sec + and increases the value range to (0..100). This object + is deprecated by cpmCPUTotalMonIntervalValue"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.6"; + } + + leaf cpmCPUTotal1minRev { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "The overall CPU busy percentage in the last 1 minute + period. This object deprecates the object cpmCPUTotal1min + and increases the value range to (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.7"; + } + + leaf cpmCPUTotal5minRev { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "The overall CPU busy percentage in the last 5 minute + period. This object deprecates the object cpmCPUTotal5min + and increases the value range to (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.8"; + } + + leaf cpmCPUMonInterval { + type uint32; + units "seconds"; + description + "CPU usage monitoring interval. The value of this + object in seconds indicates the how often the + CPU utilization is calculated and monitored."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.9"; + } + + leaf cpmCPUTotalMonIntervalValue { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "The overall CPU busy percentage in the last + cpmCPUMonInterval period. + This object deprecates the object cpmCPUTotal5secRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.10"; + } + + leaf cpmCPUInterruptMonIntervalValue { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "The overall CPU busy percentage in the + interrupt context in the last cpmCPUMonInterval + period."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.11"; + } + + leaf cpmCPUMemoryUsed { + type yang:gauge32; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is currently + under use."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.12"; + } + + leaf cpmCPUMemoryFree { + type yang:gauge32; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is currently + free."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.13"; + } + + leaf cpmCPUMemoryKernelReserved { + type yang:gauge32; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is reserved + for kernel usage."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.14"; + } + + leaf cpmCPUMemoryLowest { + type yang:gauge32; + units "bytes"; + description + "The lowest free memory that has been recorded since + device has booted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.15"; + } + + leaf cpmCPUMemoryUsedOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of cpmCPUMemoryUsed. + This object needs to be supported only when the value of + cpmCPUMemoryUsed exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.16"; + } + + leaf cpmCPUMemoryHCUsed { + type yang:gauge64; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is currently under + use. This object is a 64-bit version of cpmCPUMemoryUsed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.17"; + } + + leaf cpmCPUMemoryFreeOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of cpmCPUMemoryFree. + This object needs to be supported only when the value of + cpmCPUMemoryFree exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.18"; + } + + leaf cpmCPUMemoryHCFree { + type yang:counter64; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is currently free. + This object is a 64-bit version of cpmCPUMemoryFree."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.19"; + } + + leaf cpmCPUMemoryKernelReservedOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of + cpmCPUMemoryKernelReserved. This object needs + to be supported only when the value of + cpmCPUMemoryKernelReserved exceeds 32-bit, otherwise + this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.20"; + } + + leaf cpmCPUMemoryHCKernelReserved { + type yang:gauge64; + units "kilo-bytes"; + description + "The overall CPU wide system memory which is reserved + for kernel usage. This object is a 64-bit version of + cpmCPUMemoryKernelReserved."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.21"; + } + + leaf cpmCPUMemoryLowestOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of cpmCPUMemoryLowest. + This object needs to be supported only when the value of + cpmCPUMemoryLowest exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.22"; + } + + leaf cpmCPUMemoryHCLowest { + type yang:gauge64; + units "kilo-bytes"; + description + "The lowest free memory that has been recorded since device has + booted. This object is a 64-bit version of cpmCPUMemoryLowest."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.23"; + } + + leaf cpmCPULoadAvg1min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall CPU load Average in the last 1 minute period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.24"; + } + + leaf cpmCPULoadAvg5min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall CPU load Average in the last 5 minutes period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.25"; + } + + leaf cpmCPULoadAvg15min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall CPU load Average in the last 15 minutes period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.26"; + } + + leaf cpmCPUMemoryCommitted { + type yang:gauge32; + description + "The overall CPU wide system memory which is currently + Committed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.27"; + } + + leaf cpmCPUMemoryCommittedOvrflw { + type yang:gauge32; + description + "This object represents the upper 32-bit of + cpmCPUMemoryCommitted. + This object needs to be supported only when the value of + cpmCPUMemoryCommitted exceeds 32-bit, otherwise this object + value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.28"; + } + + leaf cpmCPUMemoryHCCommitted { + type yang:gauge64; + description + "The overall CPU wide system memory which is currently + committed. This object is a 64-bit version of + cpmCPUMemoryCommitted"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.1.1.29"; + } + } + } + + container cpmCoreTable { + description + "A table of per-Core statistics."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2"; + + list cpmCoreEntry { + key "cpmCPUTotalIndex cpmCoreIndex"; + description + "Overall information about the Core load. Entries in this + table could come and go as Cores go online or offline."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCoreIndex { + type uint32 { + range "0..4294967295"; + } + description + "An index that uniquely represents a Core (or group of Cores) + whose Core load information is reported by a row in this table. + This index is assigned arbitrarily by the engine + and is not saved over reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.1"; + } + + leaf cpmCorePhysicalIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "The entCorePhysicalIndex of the physical entity for which + the Core statistics in this entry are maintained. + The physical entity can be a CPU chip, a group of CPUs, + a CPU card etc. The exact type of this entity is described by + its entPhysicalVendorType value. If the Core statistics + in this entry correspond to more than one physical entity + (or to no physical entity), or if the entPhysicalTable is + not supported on the SNMP agent, the value of this object + must be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.2"; + } + + leaf cpmCore5sec { + type yang:gauge32 { + range "0..100"; + } + description + "The overall Core busy percentage in the last 5 second + period."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.3"; + } + + leaf cpmCore1min { + type yang:gauge32 { + range "0..100"; + } + description + "The overall Core busy percentage in the last 1 minute + period."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.4"; + } + + leaf cpmCore5min { + type yang:gauge32 { + range "0..100"; + } + description + "The overall Core busy percentage in the last 5 minute + period."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.5"; + } + + leaf cpmCoreLoadAvg1min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall Core load Average in the last 1 minute period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.6"; + } + + leaf cpmCoreLoadAvg5min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall Core load Average in the last 5 minutes period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.7"; + } + + leaf cpmCoreLoadAvg15min { + type CISCO-PROCESS-MIB:CPULoadAverage; + units "hundredths of processes"; + description + "The overall Core load Average in the last 15 minutes period"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1.2.1.8"; + } + } + } + + container cpmProcessTable { + description + "A table of generic information on all active + processes on this device."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1"; + + list cpmProcessEntry { + key "cpmCPUTotalIndex cpmProcessPID"; + description + "Generic information about an active process on this + device. Entries in this table come and go as processes are + created and destroyed by the device."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type uint32; + description + "This object contains the process ID. cpmTimeCreated + should be checked against the last time it was polled, + and if it has changed the PID has been reused and the + entire entry should be polled again."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1.1"; + } + + leaf cpmProcessName { + type snmpv2-tc:DisplayString { + length "1..32"; + } + description + "The name associated with this process. If the name is + longer than 32 characters, it will be truncated to the first + 31 characters, and a `*' will be appended as the last + character to imply this is a truncated process name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1.2"; + } + + leaf cpmProcessuSecs { + type uint32; + units "microseconds"; + status deprecated; + description + "Average elapsed CPU time in microseconds when the + process was active. This object is deprecated + by cpmProcessAverageUSecs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1.4"; + } + + leaf cpmProcessTimeCreated { + type yang:timestamp; + description + "The time when the process was created. The process ID + and the time when the process was created, uniquely + identifies a process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1.5"; + } + + leaf cpmProcessAverageUSecs { + type uint32; + units "microseconds"; + description + "Average elapsed CPU time in microseconds when the + process was active. This object deprecates the + object cpmProcessuSecs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.1.1.6"; + } + } + } + + container cpmProcessExtRevTable { + description + "This table contains information that may or may + not be available on all cisco devices. It contains + additional objects for the more general + cpmProcessTable. This object deprecates + cpmProcessExtTable."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3"; + + list cpmProcessExtRevEntry { + key "cpmCPUTotalIndex cpmProcessPID"; + description + "An entry containing additional information for + a particular process. This object deprecates + cpmProcessExtEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessPID"; + } + } + + leaf cpmProcExtMemAllocatedRev { + type yang:gauge32; + units "bytes"; + description + "The sum of all the dynamically allocated memory that + this process has received from the system. This includes + memory that may have been returned. The sum of freed + memory is provided by cpmProcExtMemFreedRev. This object + deprecates cpmProcExtMemAllocated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.1"; + } + + leaf cpmProcExtMemFreedRev { + type yang:gauge32; + units "bytes"; + description + "The sum of all memory that this process has returned + to the system. This object deprecates + cpmProcExtMemFreed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.2"; + } + + leaf cpmProcExtInvokedRev { + type yang:counter32; + description + "The number of times since cpmTimeCreated that + the process has been invoked. This object + deprecates cpmProcExtInvoked."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.3"; + } + + leaf cpmProcExtRuntimeRev { + type yang:counter32; + units "microseconds"; + description + "The amount of CPU time the process has used, in + microseconds. This object deprecates + cpmProcExtRuntime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.4"; + } + + leaf cpmProcExtUtil5SecRev { + type yang:gauge32 { + range "0..1000"; + } + units "percent"; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 5 + second period. It is determined as a weighted + decaying average of the current idle time over + the longest idle time. Note that this information + should be used as an estimate only. This object + deprecates cpmProcExtUtil5Sec and increases the + value range to (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.5"; + } + + leaf cpmProcExtUtil1MinRev { + type yang:gauge32 { + range "0..1000"; + } + units "percent"; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 1 + minute period. It is determined as a weighted + decaying average of the current idle time over the + longest idle time. Note that this information + should be used as an estimate only. This object + deprecates cpmProcExtUtil1Min and increases the value + range to (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.6"; + } + + leaf cpmProcExtUtil5MinRev { + type yang:gauge32 { + range "0..1000"; + } + units "percent"; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 5 + minute period. It is determined as a weighted + decaying average of the current idle time over + the longest idle time. Note that this information + should be used as an estimate only. This object + deprecates cpmProcExtUtil5Min and increases the + value range to (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.7"; + } + + leaf cpmProcExtPriorityRev { + type enumeration { + enum "critical" { + value "1"; + } + enum "high" { + value "2"; + } + enum "normal" { + value "3"; + } + enum "low" { + value "4"; + } + enum "notAssigned" { + value "5"; + } + } + description + "The priority level at which the process is + running. This object deprecates + cpmProcExtPriority."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.8"; + } + + leaf cpmProcessType { + type enumeration { + enum "none" { + value "0"; + } + enum "other" { + value "1"; + } + enum "posix" { + value "2"; + } + enum "ios" { + value "3"; + } + } + description + "This indicates the kind of process in context."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.9"; + } + + leaf cpmProcessRespawn { + type uint32 { + range "0..2"; + } + description + "This indicates whether respawn of a process is enabled + or not. If enabled the process in context repawns after + it has crashed/stopped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.10"; + } + + leaf cpmProcessRespawnCount { + type yang:counter32; + description + "This indicates the number of times the process has + respawned/restarted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.11"; + } + + leaf cpmProcessRespawnAfterLastPatch { + type yang:counter32; + description + "This indicates the number of times a process has + restarted after the last patch is applied. This is to + determine the stability of the last patch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.12"; + } + + leaf cpmProcessMemoryCore { + type enumeration { + enum "none" { + value "0"; + } + enum "other" { + value "1"; + } + enum "mainmem" { + value "2"; + } + enum "mainmemSharedmem" { + value "3"; + } + enum "mainmemText" { + value "4"; + } + enum "mainmemTextSharedmem" { + value "5"; + } + enum "sharedmem" { + value "6"; + } + enum "sparse" { + value "7"; + } + enum "off" { + value "8"; + } + } + description + "This indicates the part of process memory to be + dumped when a process crashes. The process + memory is used for debugging purposes to trace the + root cause of the crash. + sparse - Some operating systems support minimal + dump of process core like register + info, partial stack, partial memory + pages especially for critical process + to facilitate faster process restart."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.13"; + } + + leaf cpmProcessLastRestartUser { + type snmp-framework:SnmpAdminString; + description + "This indicate the user that has last restarted the + process or has taken running coredump of the process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.14"; + } + + leaf cpmProcessTextSegmentSize { + type uint32; + units "kilo-bytes"; + description + "This indicates the text memory of a process and all + its shared objects."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.15"; + } + + leaf cpmProcessDataSegmentSize { + type yang:gauge32; + units "kilo-bytes"; + description + "This indicates the data segment of a process and + all its shared objects."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.16"; + } + + leaf cpmProcessStackSize { + type yang:gauge32; + units "kilo-bytes"; + description + "This indicates the amount of stack memory used by the + process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.17"; + } + + leaf cpmProcessDynamicMemorySize { + type yang:gauge32; + units "kilo-bytes"; + description + "This indicates the amount of dynamic memory being used + by the process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.18"; + } + + leaf cpmProcExtMemAllocatedRevOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bit of + cpmProcExtMemAllocatedRev. This object needs + to be supported only when the value of + cpmProcExtMemAllocatedRev exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.19"; + } + + leaf cpmProcExtHCMemAllocatedRev { + type yang:gauge64; + units "bytes"; + description + "The sum of all the dynamically allocated memory that this + process has received from the system. This includes memory + that may have been returned. This object is a 64-bit version + of cpmProcExtMemAllocatedRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.20"; + } + + leaf cpmProcExtMemFreedRevOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bit of + cpmProcExtMemFreedRev. This object needs to + be supported only when the value of + cpmProcExtMemFreedRev exceeds 32-bit,otherwise + this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.21"; + } + + leaf cpmProcExtHCMemFreedRev { + type yang:gauge64; + units "bytes"; + description + "The sum of all memory that this process has returned to the + system. This object is a 64-bit version of + cpmProcExtMemFreedRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.22"; + } + + leaf cpmProcessTextSegmentSizeOvrflw { + type uint32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of + cpmProcessTextSegmentSize. This object needs + to be supported only when the value of + cpmProcessTextSegmentSize exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.23"; + } + + leaf cpmProcessHCTextSegmentSize { + type cisco-tc:Unsigned64; + units "kilo-bytes"; + description + "This indicates the text memory of a process and all + its shared objects. This object is a 64-bit version + of cpmProcessTextSegmentSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.24"; + } + + leaf cpmProcessDataSegmentSizeOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of + cpmProcessDataSegmentSize. This object needs + to be supported only when the value of + cpmProcessDataSegmentSize exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.25"; + } + + leaf cpmProcessHCDataSegmentSize { + type yang:gauge64; + units "kilo-bytes"; + description + "This indicates the data segment of a process and + all its shared objects.. This object is a 64-bit + version of cpmProcessDataSegmentSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.26"; + } + + leaf cpmProcessStackSizeOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of cpmProcessStackSize. + This object needs to be supported only when the value of + cpmProcessStackSize exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.27"; + } + + leaf cpmProcessHCStackSize { + type yang:gauge64; + units "kilo-bytes"; + description + "This indicates the amount of stack memory used by the process. + This object is a 64-bit version of cpmProcessStackSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.28"; + } + + leaf cpmProcessDynamicMemorySizeOvrflw { + type yang:gauge32; + units "kilo-bytes"; + description + "This object represents the upper 32-bit of + cpmProcessDynamicMemorySize. This object needs + to be supported only when the value of + cpmProcessDynamicMemorySize exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.29"; + } + + leaf cpmProcessHCDynamicMemorySize { + type yang:gauge64; + units "kilo-bytes"; + description + "This indicates the amount of dynamic memory being used + by the process. This object is a 64-bit version of + cpmProcessDynamicMemorySize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.3.1.30"; + } + } + } + + container cpmCPUThresholdTable { + description + "This table contains the information about the + thresholding values for CPU , configured by the user."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4"; + + list cpmCPUThresholdEntry { + key "cpmCPUTotalIndex cpmCPUThresholdClass"; + description + "An entry containing information about + CPU thresholding parameters. cpmCPUTotalIndex + identifies the CPU (or group of CPUs) for which this + configuration applies."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUThresholdClass { + type enumeration { + enum "total" { + value "1"; + } + enum "interrupt" { + value "2"; + } + enum "process" { + value "3"; + } + } + description + "Value of this object indicates the type of + utilization, which is monitored. The total(1) indicates + the total CPU utilization, interrupt(2) indicates the + the CPU utilization in interrupt context and process(3) + indicates the CPU utilization in the process level + execution context."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.1"; + } + + leaf cpmCPURisingThresholdValue { + type uint32 { + range "1..100"; + } + description + "The percentage rising threshold value configured by + the user. The value indicates, + if the percentage CPU utilization is equal to or above + this value for cpmCPURisingThresholdPeriod duration + then send a cpmCPURisingThreshold notification to + the NMS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.2"; + } + + leaf cpmCPURisingThresholdPeriod { + type uint32 { + range "5..4294967295"; + } + units "seconds"; + description + "This is an observation interval. + The value of this object indicates that + the CPU utilization should be above + cpmCPURisingThresholdValue for this duration to send a + cpmCPURisingThreshold notification to the NMS."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.3"; + } + + leaf cpmCPUFallingThresholdValue { + type uint32 { + range "1..100"; + } + description + "The percentage falling threshold value configured by + the user. The value indicates, if the percentage + CPU utilization is equal to or below this value for + cpmCPUFallingThresholdPeriod duration + then send a cpmCPUFallingThreshold notification + to the NMS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.4"; + } + + leaf cpmCPUFallingThresholdPeriod { + type uint32 { + range "5..4294967295"; + } + units "seconds"; + description + "This is an observation interval. The value of this + object indicates that CPU utilization should be below + cpmCPUFallingThresholdValue for this duration to send a + cpmCPURisingThreshold notification to the NMS."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.5"; + } + + leaf cpmCPUThresholdEntryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this table entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.4.1.6"; + } + } + } + + container cpmCPUHistoryTable { + description + "A list of CPU utilization history entries."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3"; + + list cpmCPUHistoryEntry { + key "cpmCPUTotalIndex cpmCPUHistoryReportId"; + description + "A historical sample of CPU utilization statistics. + cpmCPUTotalIndex identifies the CPU (or group of CPUs) + for which this history is collected. + When the cpmCPUHistorySize is + reached the least recent entry is lost."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUHistoryReportId { + type uint32; + description + "All the entries which are created at the same time + will have same value for this object. When the + configured threshold for being a part of History table + is reached then the qualified processes become the + part of history table. The entries which became the + part of history table at one instant will have + the same value for this object. When this object + reaches the max index value then it will wrap around."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1.1"; + } + + leaf cpmCPUHistoryReportSize { + type uint32 { + range "0..4294967295"; + } + description + "The number of process entries in a report. + This object gives information about how many processes + became a part of history table at one instant."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1.2"; + } + + leaf cpmCPUHistoryTotalUtil { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "Total percentage of CPU utilization + at cpmCPUHistoryCreated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1.3"; + } + + leaf cpmCPUHistoryInterruptUtil { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "Percentage of CPU utilization in the interrupt context + at cpmCPUHistoryCreated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1.4"; + } + + leaf cpmCPUHistoryCreatedTime { + type yang:timestamp; + description + "Time stamp with respect to sysUpTime indicating + the time at which this report is created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.3.1.5"; + } + } + } + + container cpmCPUProcessHistoryTable { + description + "A list of process history entries. This table contains + CPU utilization of processes which crossed the + cpmCPUHistoryThreshold."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4"; + + list cpmCPUProcessHistoryEntry { + key "cpmCPUTotalIndex cpmCPUHistoryReportId cpmCPUProcessHistoryIndex"; + description + "A historical sample of process utilization + statistics. The entries in this table will have + corresponding entires in the cpmCPUHistoryTable. + The entries in this table get deleted when the entry + associated with this entry in the cpmCPUHistoryTable + gets deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUHistoryReportId { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUHistoryTable/CISCO-PROCESS-MIB:cpmCPUHistoryEntry/CISCO-PROCESS-MIB:cpmCPUHistoryReportId"; + } + } + + leaf cpmCPUProcessHistoryIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index that uniquely identifies an entry in + the cmpCPUProcessHistory table among those in the + same report. This index is between 1 to N, + where N is the cpmCPUHistoryReportSize."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1.1"; + } + + leaf cpmCPUHistoryProcId { + type uint32 { + range "1..2147483647"; + } + description + "The process Id associated with this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1.2"; + } + + leaf cpmCPUHistoryProcName { + type snmpv2-tc:DisplayString; + description + "The process name associated with this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1.3"; + } + + leaf cpmCPUHistoryProcCreated { + type yang:timestamp; + description + "The time when the process was created. The process ID + and the time when the process was created, uniquely + identifies a process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1.4"; + } + + leaf cpmCPUHistoryProcUtil { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "The percentage CPU utilization of a process at + cpmCPUHistoryCreatedTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5.4.1.5"; + } + } + } + + container cpmThreadTable { + description + "This table contains generic information about + POSIX threads in the device."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1"; + + list cpmThreadEntry { + key "cpmCPUTotalIndex cpmProcessPID cpmThreadID"; + description + "An entry containing the general statistics + of a POSIX thread."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessPID"; + } + } + + leaf cpmThreadID { + type uint32; + description + "This object contains the thread ID. ThreadID is + Unique per process."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.1"; + } + + leaf cpmThreadName { + type snmp-framework:SnmpAdminString; + description + "This object represents the name of the thread. + Thread names need not be unique. Hence statistics + should be analyzed against thread ID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.2"; + } + + leaf cpmThreadPriority { + type uint32 { + range "0..63"; + } + description + "This object indicates the priority of a POSIX thread. + The higher the number, the higher the priority of the + thread over other threads."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.3"; + } + + leaf cpmThreadState { + type enumeration { + enum "other" { + value "1"; + } + enum "dead" { + value "2"; + } + enum "running" { + value "3"; + } + enum "ready" { + value "4"; + } + enum "stopped" { + value "5"; + } + enum "send" { + value "6"; + } + enum "receive" { + value "7"; + } + enum "reply" { + value "8"; + } + enum "stack" { + value "9"; + } + enum "waitpage" { + value "10"; + } + enum "sigsuspend" { + value "11"; + } + enum "sigwaitinfo" { + value "12"; + } + enum "nanosleep" { + value "13"; + } + enum "mutex" { + value "14"; + } + enum "condvar" { + value "15"; + } + enum "join" { + value "16"; + } + enum "intr" { + value "17"; + } + enum "sem" { + value "18"; + } + } + description + "This object indicates the current state of a thread. + Running state means that the thread is actively + consumig CPU. All the other states are just waiting + states. The valid states are: + other - Any other state apart from the listed + ones. + dead - Kernel is waiting to release the + thread's resources. + running - Actively running on a CPU. + ready - Not running on a CPU, but is ready to + run (one or more higher or equal + priority threads are running). + stopped - Suspended (SIGSTOP signal). + send - Waiting for a server to receive + a message. + receive - Waiting for a client to send a message. + reply - Waiting for a server to reply to a + message. + stack - Waiting for more stack to be allocated. + waitpage - Waiting for process manager to + resolve a fault on a page. + sigsuspend - Suspended for a signal. + sigwaitinfo - Waiting for a signal. + nanosleep - Sleeping for a period of time. + mutex - Waiting to acquire a mutex + condvar - Waiting for a condition variable to be + signalled. + join - Waiting for the completion of another + thread. + intr - Waiting for an interrupt. + sem - Waiting to acquire a semaphore."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.4"; + } + + leaf cpmThreadBlockingProcess { + type snmpv2-tc:RowPointer; + description + "This object identifies the process on which the + current thread is blocked on. This points to the + cpmProcessTable of the process on which the thread + in context is blocked. This is valid only to threads + which are either in send/reply states. For the + rest of the threads it is returned as 0.0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.5"; + } + + leaf cpmThreadCpuUtilization { + type yang:gauge32; + units "milliseconds"; + description + "This object provides a general idea on how busy + the thread in context caused the processor to be."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.6"; + } + + leaf cpmThreadStackSize { + type yang:gauge32; + units "bytes"; + description + "This object indicates the stack size allocated to + the thread in context."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.7"; + } + + leaf cpmThreadStackSizeOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bit of cpmThreadStackSize. + This object needs to be supported only when the value of + cpmThreadStackSize exceeds 32-bit, otherwise this object value + would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.8"; + } + + leaf cpmThreadHCStackSize { + type yang:gauge64; + units "bytes"; + description + "This object indicates the stack size allocated to the + thread in context. This object is a 64-bit version of + cpmThreadStackSize."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3.1.1.9"; + } + } + } + + container cpmVirtualProcessTable { + description + "This table contains information about virtual + processes in a virtual machine."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1"; + + list cpmVirtualProcessEntry { + key "cpmCPUTotalIndex cpmProcessPID cpmVirtualProcessID"; + description + "An entry containing the general statistics of a + virtual process in a virtual machine."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1"; + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessPID"; + } + } + + leaf cpmVirtualProcessID { + type uint32; + description + "This object indicates the process ID of a virtual + process. PID is unique only inside one address space. + Virtual process PID should be considered along with + Parent process cpmProcessPID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.1"; + } + + leaf cpmVirtualProcessName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "This object indicates the name of a virtual process. + If the name is longer than 32 characters, it will be + truncated to the first 31 characters, and a `*' will be + appended as the last character to imply this is a + truncated process name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.2"; + } + + leaf cpmVirtualProcessUtil5Sec { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "This indicates an estimated CPU utilization by + a virtual process over the last 5 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.3"; + } + + leaf cpmVirtualProcessUtil1Min { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "This indicates an estimated CPU utilization by + a virtual process over the last one minute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.4"; + } + + leaf cpmVirtualProcessUtil5Min { + type yang:gauge32 { + range "0..100"; + } + units "percent"; + description + "This indicates an estimated CPU utilization by + a virtual process over the last 5 minutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.5"; + } + + leaf cpmVirtualProcessMemAllocated { + type yang:gauge32; + units "bytes"; + description + "This object indicates the memory allocated by the + virtual process inside the address space of a + process running on Native OS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.6"; + } + + leaf cpmVirtualProcessMemFreed { + type yang:gauge32; + units "bytes"; + description + "This object indicates the memory freed by the virtual + process inside the address space of a process running + on Native OS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.7"; + } + + leaf cpmVirtualProcessInvokeCount { + type yang:counter32; + description + "The number of times a virtual process is invoked."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.8"; + } + + leaf cpmVirtualProcessRuntime { + type yang:counter32; + units "microseconds"; + description + "The amount of CPU time a virtual process has used in + microseconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.9"; + } + + leaf cpmVirtualProcessMemAllocatedOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bit of + cpmVirtualProcessMemAllocated. This object + needs to be supported only when the value of + cpmVirtualProcessMemAllocated exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.10"; + } + + leaf cpmVirtualProcessHCMemAllocated { + type yang:gauge64; + units "bytes"; + description + "This object indicates the memory allocated by the + virtual process inside the address space of a process + running on Native OS. This object is a 64-bit version + of cpmVirtualProcessMemAllocated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.11"; + } + + leaf cpmVirtualProcessMemFreedOvrflw { + type yang:gauge32; + units "bytes"; + description + "This object represents the upper 32-bit of + cpmVirtualProcessMemFreed. This object needs + to be supported only when the value of + cpmVirtualProcessMemFreed exceeds 32-bit, + otherwise this object value would be set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.12"; + } + + leaf cpmVirtualProcessHCMemFreed { + type yang:gauge64; + units "bytes"; + description + "This object indicates the memory freed by the virtual process + inside the address space of a process running on Native OS.This + object is a 64-bit version of cpmVirtualProcessMemAllocated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4.1.1.13"; + } + } + } + } + + smiv2:alias "cpmProcessExtTable" { + status deprecated; + description + "This table contains information that may or may + not be available on all cisco devices. It contains + additional objects for the more general + cpmProcessTable. This object is deprecated by + cpmProcessExtRevTable."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2"; + } + + smiv2:alias "cpmProcessExtEntry" { + status deprecated; + description + "An entry containing additional information for + a particular process. This object is deprecated by + cpmProcessExtRevEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1"; + } + + augment "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry" { + status deprecated; + description + "An entry containing additional information for + a particular process. This object is deprecated by + cpmProcessExtRevEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1"; + + leaf cpmProcExtMemAllocated { + type yang:gauge32; + units "bytes"; + status deprecated; + description + "The sum of all the dynamically allocated memory that + this process has received from the system. This includes + memory that may have been returned. The sum of freed + memory is provided by cpmProcExtMemFreed. This object + is deprecated by cpmProcExtMemAllocatedRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.1"; + } + + leaf cpmProcExtMemFreed { + type yang:gauge32; + units "bytes"; + status deprecated; + description + "The sum of all memory that this process has returned + to the system. This object is deprecated by + cpmProcExtMemFreedRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.2"; + } + + leaf cpmProcExtInvoked { + type yang:counter32; + status deprecated; + description + "The number of times since cpmTimeCreated that + the process has been invoked. This object is + deprecated by cpmProcExtInvokedRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.3"; + } + + leaf cpmProcExtRuntime { + type yang:counter32; + units "microseconds"; + status deprecated; + description + "The amount of CPU time the process has used, in + microseconds. This object is deprecated by + cpmProcExtRuntimeRev."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.4"; + } + + leaf cpmProcExtUtil5Sec { + type yang:gauge32 { + range "0..1000"; + } + status deprecated; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 5 + second period. It is determined as a weighted + decaying average of the current idle time over + the longest idle time. Note that this information + should be used as an estimate only. This object is + deprecated by cpmProcExtUtil5SecRev which has the + changed range of value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.5"; + } + + leaf cpmProcExtUtil1Min { + type yang:gauge32 { + range "0..1000"; + } + status deprecated; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 1 + minute period. It is determined as a weighted + decaying average of the current idle time over the + longest idle time. Note that this information + should be used as an estimate only. This object is + deprecated by cpmProcExtUtil1MinRev which has + the changed range of value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.6"; + } + + leaf cpmProcExtUtil5Min { + type yang:gauge32 { + range "0..1000"; + } + status deprecated; + description + "This object provides a general idea of how busy + a process caused the processor to be over a 5 + minute period. It is determined as a weighted + decaying average of the current idle time over + the longest idle time. Note that this information + should be used as an estimate only. This object + is deprecated by cpmProcExtUtil5MinRev which + has the changed range of value (0..100)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.7"; + } + + leaf cpmProcExtPriority { + type enumeration { + enum "critical" { + value "1"; + } + enum "high" { + value "2"; + } + enum "normal" { + value "3"; + } + enum "low" { + value "4"; + } + enum "notAssigned" { + value "5"; + } + } + status deprecated; + description + "The priority level at which the process is + running. This object is deprecated by + cpmProcExtPriorityRev."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.2.1.8"; + } + } + + notification cpmCPURisingThreshold { + description + "A cpmCPURisingThreshold notification is sent + when configured rising CPU utilization threshold + (cpmCPURisingThresholdValue) is reached and + CPU utilization remained above the threshold + for configured interval(cpmCPURisingThresholdPeriod) + and such a notification is requested. + The cpmProcExtUtil5SecRev and cpmProcessTimeCreated + objects can be repeated multiple times + in a notification indicating the top users of CPU."; + smiv2:oid "1.3.6.1.4.1.9.9.109.2.0.1"; + + container object-1 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUThresholdClass { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUThresholdTable/CISCO-PROCESS-MIB:cpmCPUThresholdEntry/CISCO-PROCESS-MIB:cpmCPUThresholdClass"; + } + } + + leaf cpmCPURisingThresholdValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUThresholdTable/CISCO-PROCESS-MIB:cpmCPUThresholdEntry/CISCO-PROCESS-MIB:cpmCPURisingThresholdValue"; + } + } + } + + container object-2 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUTotalMonIntervalValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalMonIntervalValue"; + } + } + } + + container object-3 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUInterruptMonIntervalValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUInterruptMonIntervalValue"; + } + } + } + + container object-4 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessPID"; + } + } + + leaf cpmProcExtUtil5SecRev { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessExtRevTable/CISCO-PROCESS-MIB:cpmProcessExtRevEntry/CISCO-PROCESS-MIB:cpmProcExtUtil5SecRev"; + } + } + } + + container object-5 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmProcessPID { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessPID"; + } + } + + leaf cpmProcessTimeCreated { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmProcessTable/CISCO-PROCESS-MIB:cpmProcessEntry/CISCO-PROCESS-MIB:cpmProcessTimeCreated"; + } + } + } + } + + notification cpmCPUFallingThreshold { + description + "A cpmCPUFallingThresholdTrap is sent when the + configured falling threshold + (cpmCPURisingThresholdValue) + is reached and CPU utilization remained under + threshold for configured + interval (cpmCPUFallingThresholdPeriod) + and such a notification is requested."; + smiv2:oid "1.3.6.1.4.1.9.9.109.2.0.2"; + + container object-1 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUThresholdClass { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUThresholdTable/CISCO-PROCESS-MIB:cpmCPUThresholdEntry/CISCO-PROCESS-MIB:cpmCPUThresholdClass"; + } + } + + leaf cpmCPUFallingThresholdValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUThresholdTable/CISCO-PROCESS-MIB:cpmCPUThresholdEntry/CISCO-PROCESS-MIB:cpmCPUFallingThresholdValue"; + } + } + } + + container object-2 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUTotalMonIntervalValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalMonIntervalValue"; + } + } + } + + container object-3 { + + leaf cpmCPUTotalIndex { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUTotalIndex"; + } + } + + leaf cpmCPUInterruptMonIntervalValue { + type leafref { + path "/CISCO-PROCESS-MIB:CISCO-PROCESS-MIB/CISCO-PROCESS-MIB:cpmCPUTotalTable/CISCO-PROCESS-MIB:cpmCPUTotalEntry/CISCO-PROCESS-MIB:cpmCPUInterruptMonIntervalValue"; + } + } + } + } + + smiv2:alias "ciscoProcessMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.109"; + } + + smiv2:alias "ciscoProcessMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1"; + } + + smiv2:alias "cpmCPU" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.1"; + } + + smiv2:alias "cpmProcess" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2"; + } + + smiv2:alias "cpmCPUHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.2.5"; + } + + smiv2:alias "cpmThread" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.3"; + } + + smiv2:alias "cpmVirtualProcess" { + smiv2:oid "1.3.6.1.4.1.9.9.109.1.4"; + } + + smiv2:alias "ciscoProcessMIBNotifPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.109.2"; + } + + smiv2:alias "ciscoProcessMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.109.2.0"; + } + + smiv2:alias "ciscoProcessMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.109.3"; + } + + smiv2:alias "cpmCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.109.3.1"; + } + + smiv2:alias "cpmGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.109.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-PRODUCTS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-PRODUCTS-MIB.yang new file mode 100644 index 000000000..e4fc7d3b1 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-PRODUCTS-MIB.yang @@ -0,0 +1,7424 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-PRODUCTS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-PRODUCTS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-PRODUCTS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB"; + prefix CISCO-PRODUCTS-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This module defines the object identifiers that are + assigned to various hardware platforms, and hence are + returned as values for sysObjectID"; + + revision 2014-11-06 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2013-05-28 { + description + "Added following OIDs: + ciscoMPX, ciscoNMCUEEC, ciscoWLSE1132, + ciscoME6340ACA, ciscoME6340DCA, + ciscoME6340DCA, catalyst296024TT, + catalyst296048TT"; + } + + revision 2005-04-20 { + description + "Removed DNP of catalyst6kGateway"; + } + + revision 2005-04-18 { + description + "Added following OIDs: + ciscoNme16Es1GeNoPwr, ciscoNmeX24Es1GeNoPwr, + ciscoNmeXd24Es2StNoPwr, ciscoNmeXd48Es2GeNoPwr, + catalyst6kMsfc2a, ciscoEDI, ciscoCe611K9, + ciscoWLSEs20."; + } + + revision 2002-04-05 { + description + "CANA Assignments."; + } + + revision 1995-05-31 { + description + "Miscellaneous updates."; + } + + smiv2:alias "ciscoGatewayServer" { + smiv2:oid "1.3.6.1.4.1.9.1.1"; + } + + smiv2:alias "ciscoTerminalServer" { + smiv2:oid "1.3.6.1.4.1.9.1.2"; + } + + smiv2:alias "ciscoTrouter" { + smiv2:oid "1.3.6.1.4.1.9.1.3"; + } + + smiv2:alias "ciscoProtocolTranslator" { + smiv2:oid "1.3.6.1.4.1.9.1.4"; + } + + smiv2:alias "ciscoIGS" { + smiv2:oid "1.3.6.1.4.1.9.1.5"; + } + + smiv2:alias "cisco3000" { + smiv2:oid "1.3.6.1.4.1.9.1.6"; + } + + smiv2:alias "cisco4000" { + smiv2:oid "1.3.6.1.4.1.9.1.7"; + } + + smiv2:alias "cisco7000" { + smiv2:oid "1.3.6.1.4.1.9.1.8"; + } + + smiv2:alias "ciscoCS500" { + smiv2:oid "1.3.6.1.4.1.9.1.9"; + } + + smiv2:alias "cisco2000" { + smiv2:oid "1.3.6.1.4.1.9.1.10"; + } + + smiv2:alias "ciscoAGSplus" { + smiv2:oid "1.3.6.1.4.1.9.1.11"; + } + + smiv2:alias "cisco7010" { + smiv2:oid "1.3.6.1.4.1.9.1.12"; + } + + smiv2:alias "cisco2500" { + smiv2:oid "1.3.6.1.4.1.9.1.13"; + } + + smiv2:alias "cisco4500" { + smiv2:oid "1.3.6.1.4.1.9.1.14"; + } + + smiv2:alias "cisco2102" { + smiv2:oid "1.3.6.1.4.1.9.1.15"; + } + + smiv2:alias "cisco2202" { + smiv2:oid "1.3.6.1.4.1.9.1.16"; + } + + smiv2:alias "cisco2501" { + smiv2:oid "1.3.6.1.4.1.9.1.17"; + } + + smiv2:alias "cisco2502" { + smiv2:oid "1.3.6.1.4.1.9.1.18"; + } + + smiv2:alias "cisco2503" { + smiv2:oid "1.3.6.1.4.1.9.1.19"; + } + + smiv2:alias "cisco2504" { + smiv2:oid "1.3.6.1.4.1.9.1.20"; + } + + smiv2:alias "cisco2505" { + smiv2:oid "1.3.6.1.4.1.9.1.21"; + } + + smiv2:alias "cisco2506" { + smiv2:oid "1.3.6.1.4.1.9.1.22"; + } + + smiv2:alias "cisco2507" { + smiv2:oid "1.3.6.1.4.1.9.1.23"; + } + + smiv2:alias "cisco2508" { + smiv2:oid "1.3.6.1.4.1.9.1.24"; + } + + smiv2:alias "cisco2509" { + smiv2:oid "1.3.6.1.4.1.9.1.25"; + } + + smiv2:alias "cisco2510" { + smiv2:oid "1.3.6.1.4.1.9.1.26"; + } + + smiv2:alias "cisco2511" { + smiv2:oid "1.3.6.1.4.1.9.1.27"; + } + + smiv2:alias "cisco2512" { + smiv2:oid "1.3.6.1.4.1.9.1.28"; + } + + smiv2:alias "cisco2513" { + smiv2:oid "1.3.6.1.4.1.9.1.29"; + } + + smiv2:alias "cisco2514" { + smiv2:oid "1.3.6.1.4.1.9.1.30"; + } + + smiv2:alias "cisco2515" { + smiv2:oid "1.3.6.1.4.1.9.1.31"; + } + + smiv2:alias "cisco3101" { + smiv2:oid "1.3.6.1.4.1.9.1.32"; + } + + smiv2:alias "cisco3102" { + smiv2:oid "1.3.6.1.4.1.9.1.33"; + } + + smiv2:alias "cisco3103" { + smiv2:oid "1.3.6.1.4.1.9.1.34"; + } + + smiv2:alias "cisco3104" { + smiv2:oid "1.3.6.1.4.1.9.1.35"; + } + + smiv2:alias "cisco3202" { + smiv2:oid "1.3.6.1.4.1.9.1.36"; + } + + smiv2:alias "cisco3204" { + smiv2:oid "1.3.6.1.4.1.9.1.37"; + } + + smiv2:alias "ciscoAccessProRC" { + smiv2:oid "1.3.6.1.4.1.9.1.38"; + } + + smiv2:alias "ciscoAccessProEC" { + smiv2:oid "1.3.6.1.4.1.9.1.39"; + } + + smiv2:alias "cisco1000" { + smiv2:oid "1.3.6.1.4.1.9.1.40"; + } + + smiv2:alias "cisco1003" { + smiv2:oid "1.3.6.1.4.1.9.1.41"; + } + + smiv2:alias "cisco2516" { + smiv2:oid "1.3.6.1.4.1.9.1.42"; + } + + smiv2:alias "cisco1020" { + smiv2:oid "1.3.6.1.4.1.9.1.43"; + } + + smiv2:alias "cisco1004" { + smiv2:oid "1.3.6.1.4.1.9.1.44"; + } + + smiv2:alias "cisco7507" { + smiv2:oid "1.3.6.1.4.1.9.1.45"; + } + + smiv2:alias "cisco7513" { + smiv2:oid "1.3.6.1.4.1.9.1.46"; + } + + smiv2:alias "cisco7506" { + smiv2:oid "1.3.6.1.4.1.9.1.47"; + } + + smiv2:alias "cisco7505" { + smiv2:oid "1.3.6.1.4.1.9.1.48"; + } + + smiv2:alias "cisco1005" { + smiv2:oid "1.3.6.1.4.1.9.1.49"; + } + + smiv2:alias "cisco4700" { + smiv2:oid "1.3.6.1.4.1.9.1.50"; + } + + smiv2:alias "ciscoPro1003" { + smiv2:oid "1.3.6.1.4.1.9.1.51"; + } + + smiv2:alias "ciscoPro1004" { + smiv2:oid "1.3.6.1.4.1.9.1.52"; + } + + smiv2:alias "ciscoPro1005" { + smiv2:oid "1.3.6.1.4.1.9.1.53"; + } + + smiv2:alias "ciscoPro1020" { + smiv2:oid "1.3.6.1.4.1.9.1.54"; + } + + smiv2:alias "ciscoPro2500PCE" { + smiv2:oid "1.3.6.1.4.1.9.1.55"; + } + + smiv2:alias "ciscoPro2501" { + smiv2:oid "1.3.6.1.4.1.9.1.56"; + } + + smiv2:alias "ciscoPro2503" { + smiv2:oid "1.3.6.1.4.1.9.1.57"; + } + + smiv2:alias "ciscoPro2505" { + smiv2:oid "1.3.6.1.4.1.9.1.58"; + } + + smiv2:alias "ciscoPro2507" { + smiv2:oid "1.3.6.1.4.1.9.1.59"; + } + + smiv2:alias "ciscoPro2509" { + smiv2:oid "1.3.6.1.4.1.9.1.60"; + } + + smiv2:alias "ciscoPro2511" { + smiv2:oid "1.3.6.1.4.1.9.1.61"; + } + + smiv2:alias "ciscoPro2514" { + smiv2:oid "1.3.6.1.4.1.9.1.62"; + } + + smiv2:alias "ciscoPro2516" { + smiv2:oid "1.3.6.1.4.1.9.1.63"; + } + + smiv2:alias "ciscoPro2519" { + smiv2:oid "1.3.6.1.4.1.9.1.64"; + } + + smiv2:alias "ciscoPro2521" { + smiv2:oid "1.3.6.1.4.1.9.1.65"; + } + + smiv2:alias "ciscoPro4500" { + smiv2:oid "1.3.6.1.4.1.9.1.66"; + } + + smiv2:alias "cisco2517" { + smiv2:oid "1.3.6.1.4.1.9.1.67"; + } + + smiv2:alias "cisco2518" { + smiv2:oid "1.3.6.1.4.1.9.1.68"; + } + + smiv2:alias "cisco2519" { + smiv2:oid "1.3.6.1.4.1.9.1.69"; + } + + smiv2:alias "cisco2520" { + smiv2:oid "1.3.6.1.4.1.9.1.70"; + } + + smiv2:alias "cisco2521" { + smiv2:oid "1.3.6.1.4.1.9.1.71"; + } + + smiv2:alias "cisco2522" { + smiv2:oid "1.3.6.1.4.1.9.1.72"; + } + + smiv2:alias "cisco2523" { + smiv2:oid "1.3.6.1.4.1.9.1.73"; + } + + smiv2:alias "cisco2524" { + smiv2:oid "1.3.6.1.4.1.9.1.74"; + } + + smiv2:alias "cisco2525" { + smiv2:oid "1.3.6.1.4.1.9.1.75"; + } + + smiv2:alias "ciscoPro751" { + smiv2:oid "1.3.6.1.4.1.9.1.76"; + } + + smiv2:alias "ciscoPro752" { + smiv2:oid "1.3.6.1.4.1.9.1.77"; + } + + smiv2:alias "ciscoPro753" { + smiv2:oid "1.3.6.1.4.1.9.1.78"; + } + + smiv2:alias "ciscoPro901" { + smiv2:oid "1.3.6.1.4.1.9.1.79"; + } + + smiv2:alias "ciscoPro902" { + smiv2:oid "1.3.6.1.4.1.9.1.80"; + } + + smiv2:alias "cisco751" { + smiv2:oid "1.3.6.1.4.1.9.1.81"; + } + + smiv2:alias "cisco752" { + smiv2:oid "1.3.6.1.4.1.9.1.82"; + } + + smiv2:alias "cisco753" { + smiv2:oid "1.3.6.1.4.1.9.1.83"; + } + + smiv2:alias "ciscoPro741" { + smiv2:oid "1.3.6.1.4.1.9.1.84"; + } + + smiv2:alias "ciscoPro742" { + smiv2:oid "1.3.6.1.4.1.9.1.85"; + } + + smiv2:alias "ciscoPro743" { + smiv2:oid "1.3.6.1.4.1.9.1.86"; + } + + smiv2:alias "ciscoPro744" { + smiv2:oid "1.3.6.1.4.1.9.1.87"; + } + + smiv2:alias "ciscoPro761" { + smiv2:oid "1.3.6.1.4.1.9.1.88"; + } + + smiv2:alias "ciscoPro762" { + smiv2:oid "1.3.6.1.4.1.9.1.89"; + } + + smiv2:alias "ciscoPro763" { + smiv2:oid "1.3.6.1.4.1.9.1.90"; + } + + smiv2:alias "ciscoPro764" { + smiv2:oid "1.3.6.1.4.1.9.1.91"; + } + + smiv2:alias "ciscoPro765" { + smiv2:oid "1.3.6.1.4.1.9.1.92"; + } + + smiv2:alias "ciscoPro766" { + smiv2:oid "1.3.6.1.4.1.9.1.93"; + } + + smiv2:alias "cisco741" { + smiv2:oid "1.3.6.1.4.1.9.1.94"; + } + + smiv2:alias "cisco742" { + smiv2:oid "1.3.6.1.4.1.9.1.95"; + } + + smiv2:alias "cisco743" { + smiv2:oid "1.3.6.1.4.1.9.1.96"; + } + + smiv2:alias "cisco744" { + smiv2:oid "1.3.6.1.4.1.9.1.97"; + } + + smiv2:alias "cisco761" { + smiv2:oid "1.3.6.1.4.1.9.1.98"; + } + + smiv2:alias "cisco762" { + smiv2:oid "1.3.6.1.4.1.9.1.99"; + } + + smiv2:alias "cisco763" { + smiv2:oid "1.3.6.1.4.1.9.1.100"; + } + + smiv2:alias "cisco764" { + smiv2:oid "1.3.6.1.4.1.9.1.101"; + } + + smiv2:alias "cisco765" { + smiv2:oid "1.3.6.1.4.1.9.1.102"; + } + + smiv2:alias "cisco766" { + smiv2:oid "1.3.6.1.4.1.9.1.103"; + } + + smiv2:alias "ciscoPro2520" { + smiv2:oid "1.3.6.1.4.1.9.1.104"; + } + + smiv2:alias "ciscoPro2522" { + smiv2:oid "1.3.6.1.4.1.9.1.105"; + } + + smiv2:alias "ciscoPro2524" { + smiv2:oid "1.3.6.1.4.1.9.1.106"; + } + + smiv2:alias "ciscoLS1010" { + smiv2:oid "1.3.6.1.4.1.9.1.107"; + } + + smiv2:alias "cisco7206" { + smiv2:oid "1.3.6.1.4.1.9.1.108"; + } + + smiv2:alias "ciscoAS5200" { + smiv2:oid "1.3.6.1.4.1.9.1.109"; + } + + smiv2:alias "cisco3640" { + smiv2:oid "1.3.6.1.4.1.9.1.110"; + } + + smiv2:alias "ciscoCatalyst3500" { + smiv2:oid "1.3.6.1.4.1.9.1.111"; + } + + smiv2:alias "ciscoWSX3011" { + smiv2:oid "1.3.6.1.4.1.9.1.112"; + } + + smiv2:alias "cisco1601" { + smiv2:oid "1.3.6.1.4.1.9.1.113"; + } + + smiv2:alias "cisco1602" { + smiv2:oid "1.3.6.1.4.1.9.1.114"; + } + + smiv2:alias "cisco1603" { + smiv2:oid "1.3.6.1.4.1.9.1.115"; + } + + smiv2:alias "cisco1604" { + smiv2:oid "1.3.6.1.4.1.9.1.116"; + } + + smiv2:alias "ciscoPro1601" { + smiv2:oid "1.3.6.1.4.1.9.1.117"; + } + + smiv2:alias "ciscoPro1602" { + smiv2:oid "1.3.6.1.4.1.9.1.118"; + } + + smiv2:alias "ciscoPro1603" { + smiv2:oid "1.3.6.1.4.1.9.1.119"; + } + + smiv2:alias "ciscoPro1604" { + smiv2:oid "1.3.6.1.4.1.9.1.120"; + } + + smiv2:alias "ciscoWSX5301" { + smiv2:oid "1.3.6.1.4.1.9.1.121"; + } + + smiv2:alias "cisco3620" { + smiv2:oid "1.3.6.1.4.1.9.1.122"; + } + + smiv2:alias "ciscoPro3620" { + smiv2:oid "1.3.6.1.4.1.9.1.123"; + } + + smiv2:alias "ciscoPro3640" { + smiv2:oid "1.3.6.1.4.1.9.1.124"; + } + + smiv2:alias "cisco7204" { + smiv2:oid "1.3.6.1.4.1.9.1.125"; + } + + smiv2:alias "cisco771" { + smiv2:oid "1.3.6.1.4.1.9.1.126"; + } + + smiv2:alias "cisco772" { + smiv2:oid "1.3.6.1.4.1.9.1.127"; + } + + smiv2:alias "cisco775" { + smiv2:oid "1.3.6.1.4.1.9.1.128"; + } + + smiv2:alias "cisco776" { + smiv2:oid "1.3.6.1.4.1.9.1.129"; + } + + smiv2:alias "ciscoPro2502" { + smiv2:oid "1.3.6.1.4.1.9.1.130"; + } + + smiv2:alias "ciscoPro2504" { + smiv2:oid "1.3.6.1.4.1.9.1.131"; + } + + smiv2:alias "ciscoPro2506" { + smiv2:oid "1.3.6.1.4.1.9.1.132"; + } + + smiv2:alias "ciscoPro2508" { + smiv2:oid "1.3.6.1.4.1.9.1.133"; + } + + smiv2:alias "ciscoPro2510" { + smiv2:oid "1.3.6.1.4.1.9.1.134"; + } + + smiv2:alias "ciscoPro2512" { + smiv2:oid "1.3.6.1.4.1.9.1.135"; + } + + smiv2:alias "ciscoPro2513" { + smiv2:oid "1.3.6.1.4.1.9.1.136"; + } + + smiv2:alias "ciscoPro2515" { + smiv2:oid "1.3.6.1.4.1.9.1.137"; + } + + smiv2:alias "ciscoPro2517" { + smiv2:oid "1.3.6.1.4.1.9.1.138"; + } + + smiv2:alias "ciscoPro2518" { + smiv2:oid "1.3.6.1.4.1.9.1.139"; + } + + smiv2:alias "ciscoPro2523" { + smiv2:oid "1.3.6.1.4.1.9.1.140"; + } + + smiv2:alias "ciscoPro2525" { + smiv2:oid "1.3.6.1.4.1.9.1.141"; + } + + smiv2:alias "ciscoPro4700" { + smiv2:oid "1.3.6.1.4.1.9.1.142"; + } + + smiv2:alias "ciscoPro316T" { + smiv2:oid "1.3.6.1.4.1.9.1.147"; + } + + smiv2:alias "ciscoPro316C" { + smiv2:oid "1.3.6.1.4.1.9.1.148"; + } + + smiv2:alias "ciscoPro3116" { + smiv2:oid "1.3.6.1.4.1.9.1.149"; + } + + smiv2:alias "catalyst116T" { + smiv2:oid "1.3.6.1.4.1.9.1.150"; + } + + smiv2:alias "catalyst116C" { + smiv2:oid "1.3.6.1.4.1.9.1.151"; + } + + smiv2:alias "catalyst1116" { + smiv2:oid "1.3.6.1.4.1.9.1.152"; + } + + smiv2:alias "ciscoAS2509RJ" { + smiv2:oid "1.3.6.1.4.1.9.1.153"; + } + + smiv2:alias "ciscoAS2511RJ" { + smiv2:oid "1.3.6.1.4.1.9.1.154"; + } + + smiv2:alias "ciscoMC3810" { + smiv2:oid "1.3.6.1.4.1.9.1.157"; + } + + smiv2:alias "cisco1503" { + smiv2:oid "1.3.6.1.4.1.9.1.160"; + } + + smiv2:alias "cisco1502" { + smiv2:oid "1.3.6.1.4.1.9.1.161"; + } + + smiv2:alias "ciscoAS5300" { + smiv2:oid "1.3.6.1.4.1.9.1.162"; + } + + smiv2:alias "ciscoLS1015" { + smiv2:oid "1.3.6.1.4.1.9.1.164"; + } + + smiv2:alias "cisco2501FRADFX" { + smiv2:oid "1.3.6.1.4.1.9.1.165"; + } + + smiv2:alias "cisco2501LANFRADFX" { + smiv2:oid "1.3.6.1.4.1.9.1.166"; + } + + smiv2:alias "cisco2502LANFRADFX" { + smiv2:oid "1.3.6.1.4.1.9.1.167"; + } + + smiv2:alias "ciscoWSX5302" { + smiv2:oid "1.3.6.1.4.1.9.1.168"; + } + + smiv2:alias "ciscoFastHub216T" { + smiv2:oid "1.3.6.1.4.1.9.1.169"; + } + + smiv2:alias "catalyst2908xl" { + smiv2:oid "1.3.6.1.4.1.9.1.170"; + } + + smiv2:alias "catalyst2916mxl" { + smiv2:oid "1.3.6.1.4.1.9.1.171"; + } + + smiv2:alias "cisco1605" { + smiv2:oid "1.3.6.1.4.1.9.1.172"; + } + + smiv2:alias "cisco12012" { + smiv2:oid "1.3.6.1.4.1.9.1.173"; + } + + smiv2:alias "catalyst1912C" { + smiv2:oid "1.3.6.1.4.1.9.1.175"; + } + + smiv2:alias "ciscoMicroWebServer2" { + smiv2:oid "1.3.6.1.4.1.9.1.176"; + } + + smiv2:alias "ciscoFastHubBMMTX" { + smiv2:oid "1.3.6.1.4.1.9.1.177"; + } + + smiv2:alias "ciscoFastHubBMMFX" { + smiv2:oid "1.3.6.1.4.1.9.1.178"; + } + + smiv2:alias "ciscoUBR7246" { + smiv2:oid "1.3.6.1.4.1.9.1.179"; + } + + smiv2:alias "cisco6400" { + smiv2:oid "1.3.6.1.4.1.9.1.180"; + } + + smiv2:alias "cisco12004" { + smiv2:oid "1.3.6.1.4.1.9.1.181"; + } + + smiv2:alias "cisco12008" { + smiv2:oid "1.3.6.1.4.1.9.1.182"; + } + + smiv2:alias "catalyst2924XL" { + smiv2:oid "1.3.6.1.4.1.9.1.183"; + } + + smiv2:alias "catalyst2924CXL" { + smiv2:oid "1.3.6.1.4.1.9.1.184"; + } + + smiv2:alias "cisco2610" { + smiv2:oid "1.3.6.1.4.1.9.1.185"; + } + + smiv2:alias "cisco2611" { + smiv2:oid "1.3.6.1.4.1.9.1.186"; + } + + smiv2:alias "cisco2612" { + smiv2:oid "1.3.6.1.4.1.9.1.187"; + } + + smiv2:alias "ciscoAS5800" { + smiv2:oid "1.3.6.1.4.1.9.1.188"; + } + + smiv2:alias "ciscoSC3640" { + smiv2:oid "1.3.6.1.4.1.9.1.189"; + } + + smiv2:alias "cisco8510" { + smiv2:oid "1.3.6.1.4.1.9.1.190"; + } + + smiv2:alias "ciscoUBR904" { + smiv2:oid "1.3.6.1.4.1.9.1.191"; + } + + smiv2:alias "cisco6200" { + smiv2:oid "1.3.6.1.4.1.9.1.192"; + } + + smiv2:alias "cisco7202" { + smiv2:oid "1.3.6.1.4.1.9.1.194"; + } + + smiv2:alias "cisco2613" { + smiv2:oid "1.3.6.1.4.1.9.1.195"; + } + + smiv2:alias "cisco8515" { + smiv2:oid "1.3.6.1.4.1.9.1.196"; + } + + smiv2:alias "catalyst9006" { + smiv2:oid "1.3.6.1.4.1.9.1.197"; + } + + smiv2:alias "catalyst9009" { + smiv2:oid "1.3.6.1.4.1.9.1.198"; + } + + smiv2:alias "ciscoRPM" { + smiv2:oid "1.3.6.1.4.1.9.1.199"; + } + + smiv2:alias "cisco1710" { + smiv2:oid "1.3.6.1.4.1.9.1.200"; + } + + smiv2:alias "cisco1720" { + smiv2:oid "1.3.6.1.4.1.9.1.201"; + } + + smiv2:alias "catalyst8540msr" { + smiv2:oid "1.3.6.1.4.1.9.1.202"; + } + + smiv2:alias "catalyst8540csr" { + smiv2:oid "1.3.6.1.4.1.9.1.203"; + } + + smiv2:alias "cisco7576" { + smiv2:oid "1.3.6.1.4.1.9.1.204"; + } + + smiv2:alias "cisco3660" { + smiv2:oid "1.3.6.1.4.1.9.1.205"; + } + + smiv2:alias "cisco1401" { + smiv2:oid "1.3.6.1.4.1.9.1.206"; + } + + smiv2:alias "cisco2620" { + smiv2:oid "1.3.6.1.4.1.9.1.208"; + } + + smiv2:alias "cisco2621" { + smiv2:oid "1.3.6.1.4.1.9.1.209"; + } + + smiv2:alias "ciscoUBR7223" { + smiv2:oid "1.3.6.1.4.1.9.1.210"; + } + + smiv2:alias "cisco6400Nrp" { + smiv2:oid "1.3.6.1.4.1.9.1.211"; + } + + smiv2:alias "cisco801" { + smiv2:oid "1.3.6.1.4.1.9.1.212"; + } + + smiv2:alias "cisco802" { + smiv2:oid "1.3.6.1.4.1.9.1.213"; + } + + smiv2:alias "cisco803" { + smiv2:oid "1.3.6.1.4.1.9.1.214"; + } + + smiv2:alias "cisco804" { + smiv2:oid "1.3.6.1.4.1.9.1.215"; + } + + smiv2:alias "cisco1750" { + smiv2:oid "1.3.6.1.4.1.9.1.216"; + } + + smiv2:alias "catalyst2924XLv" { + smiv2:oid "1.3.6.1.4.1.9.1.217"; + } + + smiv2:alias "catalyst2924CXLv" { + smiv2:oid "1.3.6.1.4.1.9.1.218"; + } + + smiv2:alias "catalyst2912XL" { + smiv2:oid "1.3.6.1.4.1.9.1.219"; + } + + smiv2:alias "catalyst2924MXL" { + smiv2:oid "1.3.6.1.4.1.9.1.220"; + } + + smiv2:alias "catalyst2912MfXL" { + smiv2:oid "1.3.6.1.4.1.9.1.221"; + } + + smiv2:alias "cisco7206VXR" { + smiv2:oid "1.3.6.1.4.1.9.1.222"; + } + + smiv2:alias "cisco7204VXR" { + smiv2:oid "1.3.6.1.4.1.9.1.223"; + } + + smiv2:alias "cisco1538M" { + smiv2:oid "1.3.6.1.4.1.9.1.224"; + } + + smiv2:alias "cisco1548M" { + smiv2:oid "1.3.6.1.4.1.9.1.225"; + } + + smiv2:alias "ciscoFasthub100" { + smiv2:oid "1.3.6.1.4.1.9.1.226"; + } + + smiv2:alias "ciscoPIXFirewall" { + smiv2:oid "1.3.6.1.4.1.9.1.227"; + } + + smiv2:alias "ciscoMGX8850" { + smiv2:oid "1.3.6.1.4.1.9.1.228"; + } + + smiv2:alias "ciscoMGX8830" { + smiv2:oid "1.3.6.1.4.1.9.1.229"; + } + + smiv2:alias "catalyst8510msr" { + smiv2:oid "1.3.6.1.4.1.9.1.230"; + } + + smiv2:alias "catalyst8515msr" { + smiv2:oid "1.3.6.1.4.1.9.1.231"; + } + + smiv2:alias "ciscoIGX8410" { + smiv2:oid "1.3.6.1.4.1.9.1.232"; + } + + smiv2:alias "ciscoIGX8420" { + smiv2:oid "1.3.6.1.4.1.9.1.233"; + } + + smiv2:alias "ciscoIGX8430" { + smiv2:oid "1.3.6.1.4.1.9.1.234"; + } + + smiv2:alias "ciscoIGX8450" { + smiv2:oid "1.3.6.1.4.1.9.1.235"; + } + + smiv2:alias "ciscoBPX8620" { + smiv2:oid "1.3.6.1.4.1.9.1.237"; + } + + smiv2:alias "ciscoBPX8650" { + smiv2:oid "1.3.6.1.4.1.9.1.238"; + } + + smiv2:alias "ciscoBPX8680" { + smiv2:oid "1.3.6.1.4.1.9.1.239"; + } + + smiv2:alias "ciscoCacheEngine" { + smiv2:oid "1.3.6.1.4.1.9.1.240"; + } + + smiv2:alias "ciscoCat6000" { + smiv2:oid "1.3.6.1.4.1.9.1.241"; + } + + smiv2:alias "ciscoBPXSes" { + smiv2:oid "1.3.6.1.4.1.9.1.242"; + } + + smiv2:alias "ciscoIGXSes" { + smiv2:oid "1.3.6.1.4.1.9.1.243"; + } + + smiv2:alias "ciscoLocalDirector" { + smiv2:oid "1.3.6.1.4.1.9.1.244"; + } + + smiv2:alias "cisco805" { + smiv2:oid "1.3.6.1.4.1.9.1.245"; + } + + smiv2:alias "catalyst3508GXL" { + smiv2:oid "1.3.6.1.4.1.9.1.246"; + } + + smiv2:alias "catalyst3512XL" { + smiv2:oid "1.3.6.1.4.1.9.1.247"; + } + + smiv2:alias "catalyst3524XL" { + smiv2:oid "1.3.6.1.4.1.9.1.248"; + } + + smiv2:alias "cisco1407" { + smiv2:oid "1.3.6.1.4.1.9.1.249"; + } + + smiv2:alias "cisco1417" { + smiv2:oid "1.3.6.1.4.1.9.1.250"; + } + + smiv2:alias "cisco6100" { + smiv2:oid "1.3.6.1.4.1.9.1.251"; + } + + smiv2:alias "cisco6130" { + smiv2:oid "1.3.6.1.4.1.9.1.252"; + } + + smiv2:alias "cisco6260" { + smiv2:oid "1.3.6.1.4.1.9.1.253"; + } + + smiv2:alias "ciscoOpticalRegenerator" { + smiv2:oid "1.3.6.1.4.1.9.1.254"; + } + + smiv2:alias "ciscoUBR924" { + smiv2:oid "1.3.6.1.4.1.9.1.255"; + } + + smiv2:alias "ciscoWSX6302Msm" { + smiv2:oid "1.3.6.1.4.1.9.1.256"; + } + + smiv2:alias "catalyst5kRsfc" { + smiv2:oid "1.3.6.1.4.1.9.1.257"; + } + + smiv2:alias "catalyst6kMsfc" { + smiv2:oid "1.3.6.1.4.1.9.1.258"; + } + + smiv2:alias "cisco7120Quadt1" { + smiv2:oid "1.3.6.1.4.1.9.1.259"; + } + + smiv2:alias "cisco7120T3" { + smiv2:oid "1.3.6.1.4.1.9.1.260"; + } + + smiv2:alias "cisco7120E3" { + smiv2:oid "1.3.6.1.4.1.9.1.261"; + } + + smiv2:alias "cisco7120At3" { + smiv2:oid "1.3.6.1.4.1.9.1.262"; + } + + smiv2:alias "cisco7120Ae3" { + smiv2:oid "1.3.6.1.4.1.9.1.263"; + } + + smiv2:alias "cisco7120Smi3" { + smiv2:oid "1.3.6.1.4.1.9.1.264"; + } + + smiv2:alias "cisco7140Dualt3" { + smiv2:oid "1.3.6.1.4.1.9.1.265"; + } + + smiv2:alias "cisco7140Duale3" { + smiv2:oid "1.3.6.1.4.1.9.1.266"; + } + + smiv2:alias "cisco7140Dualat3" { + smiv2:oid "1.3.6.1.4.1.9.1.267"; + } + + smiv2:alias "cisco7140Dualae3" { + smiv2:oid "1.3.6.1.4.1.9.1.268"; + } + + smiv2:alias "cisco7140Dualmm3" { + smiv2:oid "1.3.6.1.4.1.9.1.269"; + } + + smiv2:alias "cisco827QuadV" { + smiv2:oid "1.3.6.1.4.1.9.1.270"; + } + + smiv2:alias "ciscoUBR7246VXR" { + smiv2:oid "1.3.6.1.4.1.9.1.271"; + } + + smiv2:alias "cisco10400" { + smiv2:oid "1.3.6.1.4.1.9.1.272"; + } + + smiv2:alias "cisco12016" { + smiv2:oid "1.3.6.1.4.1.9.1.273"; + } + + smiv2:alias "ciscoAs5400" { + smiv2:oid "1.3.6.1.4.1.9.1.274"; + } + + smiv2:alias "cat2948gL3" { + smiv2:oid "1.3.6.1.4.1.9.1.275"; + } + + smiv2:alias "cisco7140Octt1" { + smiv2:oid "1.3.6.1.4.1.9.1.276"; + } + + smiv2:alias "cisco7140Dualfe" { + smiv2:oid "1.3.6.1.4.1.9.1.277"; + } + + smiv2:alias "cat3548XL" { + smiv2:oid "1.3.6.1.4.1.9.1.278"; + } + + smiv2:alias "ciscoVG200" { + smiv2:oid "1.3.6.1.4.1.9.1.279"; + } + + smiv2:alias "cat6006" { + smiv2:oid "1.3.6.1.4.1.9.1.280"; + } + + smiv2:alias "cat6009" { + smiv2:oid "1.3.6.1.4.1.9.1.281"; + } + + smiv2:alias "cat6506" { + smiv2:oid "1.3.6.1.4.1.9.1.282"; + } + + smiv2:alias "cat6509" { + smiv2:oid "1.3.6.1.4.1.9.1.283"; + } + + smiv2:alias "cisco827" { + smiv2:oid "1.3.6.1.4.1.9.1.284"; + } + + smiv2:alias "ciscoManagementEngine1100" { + smiv2:oid "1.3.6.1.4.1.9.1.285"; + } + + smiv2:alias "ciscoMc3810V3" { + smiv2:oid "1.3.6.1.4.1.9.1.286"; + } + + smiv2:alias "cat3524tXLEn" { + smiv2:oid "1.3.6.1.4.1.9.1.287"; + } + + smiv2:alias "cisco7507z" { + smiv2:oid "1.3.6.1.4.1.9.1.288"; + } + + smiv2:alias "cisco7513z" { + smiv2:oid "1.3.6.1.4.1.9.1.289"; + } + + smiv2:alias "cisco7507mx" { + smiv2:oid "1.3.6.1.4.1.9.1.290"; + } + + smiv2:alias "cisco7513mx" { + smiv2:oid "1.3.6.1.4.1.9.1.291"; + } + + smiv2:alias "ciscoUBR912C" { + smiv2:oid "1.3.6.1.4.1.9.1.292"; + } + + smiv2:alias "ciscoUBR912S" { + smiv2:oid "1.3.6.1.4.1.9.1.293"; + } + + smiv2:alias "ciscoUBR914" { + smiv2:oid "1.3.6.1.4.1.9.1.294"; + } + + smiv2:alias "cisco802J" { + smiv2:oid "1.3.6.1.4.1.9.1.295"; + } + + smiv2:alias "cisco804J" { + smiv2:oid "1.3.6.1.4.1.9.1.296"; + } + + smiv2:alias "cisco6160" { + smiv2:oid "1.3.6.1.4.1.9.1.297"; + } + + smiv2:alias "cat4908gL3" { + smiv2:oid "1.3.6.1.4.1.9.1.298"; + } + + smiv2:alias "cisco6015" { + smiv2:oid "1.3.6.1.4.1.9.1.299"; + } + + smiv2:alias "cat4232L3" { + smiv2:oid "1.3.6.1.4.1.9.1.300"; + } + + smiv2:alias "catalyst6kMsfc2" { + smiv2:oid "1.3.6.1.4.1.9.1.301"; + } + + smiv2:alias "cisco7750Mrp200" { + smiv2:oid "1.3.6.1.4.1.9.1.302"; + } + + smiv2:alias "cisco7750Ssp80" { + smiv2:oid "1.3.6.1.4.1.9.1.303"; + } + + smiv2:alias "ciscoMGX8230" { + smiv2:oid "1.3.6.1.4.1.9.1.304"; + } + + smiv2:alias "ciscoMGX8250" { + smiv2:oid "1.3.6.1.4.1.9.1.305"; + } + + smiv2:alias "ciscoCVA122" { + smiv2:oid "1.3.6.1.4.1.9.1.306"; + } + + smiv2:alias "ciscoCVA124" { + smiv2:oid "1.3.6.1.4.1.9.1.307"; + } + + smiv2:alias "ciscoAs5850" { + smiv2:oid "1.3.6.1.4.1.9.1.308"; + } + + smiv2:alias "cat6509Sp" { + smiv2:oid "1.3.6.1.4.1.9.1.310"; + } + + smiv2:alias "ciscoMGX8240" { + smiv2:oid "1.3.6.1.4.1.9.1.311"; + } + + smiv2:alias "cat4840gL3" { + smiv2:oid "1.3.6.1.4.1.9.1.312"; + } + + smiv2:alias "ciscoAS5350" { + smiv2:oid "1.3.6.1.4.1.9.1.313"; + } + + smiv2:alias "cisco7750" { + smiv2:oid "1.3.6.1.4.1.9.1.314"; + } + + smiv2:alias "ciscoMGX8950" { + smiv2:oid "1.3.6.1.4.1.9.1.315"; + } + + smiv2:alias "ciscoUBR925" { + smiv2:oid "1.3.6.1.4.1.9.1.316"; + } + + smiv2:alias "ciscoUBR10012" { + smiv2:oid "1.3.6.1.4.1.9.1.317"; + } + + smiv2:alias "catalyst4kGateway" { + smiv2:oid "1.3.6.1.4.1.9.1.318"; + } + + smiv2:alias "cisco2650" { + smiv2:oid "1.3.6.1.4.1.9.1.319"; + } + + smiv2:alias "cisco2651" { + smiv2:oid "1.3.6.1.4.1.9.1.320"; + } + + smiv2:alias "cisco826QuadV" { + smiv2:oid "1.3.6.1.4.1.9.1.321"; + } + + smiv2:alias "cisco826" { + smiv2:oid "1.3.6.1.4.1.9.1.322"; + } + + smiv2:alias "catalyst295012" { + smiv2:oid "1.3.6.1.4.1.9.1.323"; + } + + smiv2:alias "catalyst295024" { + smiv2:oid "1.3.6.1.4.1.9.1.324"; + } + + smiv2:alias "catalyst295024C" { + smiv2:oid "1.3.6.1.4.1.9.1.325"; + } + + smiv2:alias "cisco1751" { + smiv2:oid "1.3.6.1.4.1.9.1.326"; + } + + smiv2:alias "cisco1730Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.327"; + } + + smiv2:alias "cisco1730Iad16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.328"; + } + + smiv2:alias "cisco626" { + smiv2:oid "1.3.6.1.4.1.9.1.329"; + } + + smiv2:alias "cisco627" { + smiv2:oid "1.3.6.1.4.1.9.1.330"; + } + + smiv2:alias "cisco633" { + smiv2:oid "1.3.6.1.4.1.9.1.331"; + } + + smiv2:alias "cisco673" { + smiv2:oid "1.3.6.1.4.1.9.1.332"; + } + + smiv2:alias "cisco675" { + smiv2:oid "1.3.6.1.4.1.9.1.333"; + } + + smiv2:alias "cisco675e" { + smiv2:oid "1.3.6.1.4.1.9.1.334"; + } + + smiv2:alias "cisco676" { + smiv2:oid "1.3.6.1.4.1.9.1.335"; + } + + smiv2:alias "cisco677" { + smiv2:oid "1.3.6.1.4.1.9.1.336"; + } + + smiv2:alias "cisco678" { + smiv2:oid "1.3.6.1.4.1.9.1.337"; + } + + smiv2:alias "cisco3661Ac" { + smiv2:oid "1.3.6.1.4.1.9.1.338"; + } + + smiv2:alias "cisco3661Dc" { + smiv2:oid "1.3.6.1.4.1.9.1.339"; + } + + smiv2:alias "cisco3662Ac" { + smiv2:oid "1.3.6.1.4.1.9.1.340"; + } + + smiv2:alias "cisco3662Dc" { + smiv2:oid "1.3.6.1.4.1.9.1.341"; + } + + smiv2:alias "cisco3662AcCo" { + smiv2:oid "1.3.6.1.4.1.9.1.342"; + } + + smiv2:alias "cisco3662DcCo" { + smiv2:oid "1.3.6.1.4.1.9.1.343"; + } + + smiv2:alias "ciscoUBR7111" { + smiv2:oid "1.3.6.1.4.1.9.1.344"; + } + + smiv2:alias "ciscoUBR7111E" { + smiv2:oid "1.3.6.1.4.1.9.1.345"; + } + + smiv2:alias "ciscoUBR7114" { + smiv2:oid "1.3.6.1.4.1.9.1.346"; + } + + smiv2:alias "ciscoUBR7114E" { + smiv2:oid "1.3.6.1.4.1.9.1.347"; + } + + smiv2:alias "cisco12010" { + smiv2:oid "1.3.6.1.4.1.9.1.348"; + } + + smiv2:alias "cisco8110" { + smiv2:oid "1.3.6.1.4.1.9.1.349"; + } + + smiv2:alias "cisco8120" { + smiv2:oid "1.3.6.1.4.1.9.1.350"; + } + + smiv2:alias "ciscoUBR905" { + smiv2:oid "1.3.6.1.4.1.9.1.351"; + } + + smiv2:alias "ciscoIDS" { + smiv2:oid "1.3.6.1.4.1.9.1.352"; + } + + smiv2:alias "ciscoSOHO77" { + smiv2:oid "1.3.6.1.4.1.9.1.353"; + } + + smiv2:alias "ciscoSOHO76" { + smiv2:oid "1.3.6.1.4.1.9.1.354"; + } + + smiv2:alias "cisco7150Dualfe" { + smiv2:oid "1.3.6.1.4.1.9.1.355"; + } + + smiv2:alias "cisco7150Octt1" { + smiv2:oid "1.3.6.1.4.1.9.1.356"; + } + + smiv2:alias "cisco7150Dualt3" { + smiv2:oid "1.3.6.1.4.1.9.1.357"; + } + + smiv2:alias "ciscoOlympus" { + smiv2:oid "1.3.6.1.4.1.9.1.358"; + } + + smiv2:alias "catalyst2950t24" { + smiv2:oid "1.3.6.1.4.1.9.1.359"; + } + + smiv2:alias "ciscoVPS1110" { + smiv2:oid "1.3.6.1.4.1.9.1.360"; + } + + smiv2:alias "ciscoContentEngine" { + smiv2:oid "1.3.6.1.4.1.9.1.361"; + } + + smiv2:alias "ciscoIAD2420" { + smiv2:oid "1.3.6.1.4.1.9.1.362"; + } + + smiv2:alias "cisco677i" { + smiv2:oid "1.3.6.1.4.1.9.1.363"; + } + + smiv2:alias "cisco674" { + smiv2:oid "1.3.6.1.4.1.9.1.364"; + } + + smiv2:alias "ciscoDPA7630" { + smiv2:oid "1.3.6.1.4.1.9.1.365"; + } + + smiv2:alias "catalyst355024" { + smiv2:oid "1.3.6.1.4.1.9.1.366"; + } + + smiv2:alias "catalyst355048" { + smiv2:oid "1.3.6.1.4.1.9.1.367"; + } + + smiv2:alias "catalyst355012T" { + smiv2:oid "1.3.6.1.4.1.9.1.368"; + } + + smiv2:alias "catalyst2924LREXL" { + smiv2:oid "1.3.6.1.4.1.9.1.369"; + } + + smiv2:alias "catalyst2912LREXL" { + smiv2:oid "1.3.6.1.4.1.9.1.370"; + } + + smiv2:alias "ciscoCVA122E" { + smiv2:oid "1.3.6.1.4.1.9.1.371"; + } + + smiv2:alias "ciscoCVA124E" { + smiv2:oid "1.3.6.1.4.1.9.1.372"; + } + + smiv2:alias "ciscoURM" { + smiv2:oid "1.3.6.1.4.1.9.1.373"; + } + + smiv2:alias "ciscoURM2FE" { + smiv2:oid "1.3.6.1.4.1.9.1.374"; + } + + smiv2:alias "ciscoURM2FE2V" { + smiv2:oid "1.3.6.1.4.1.9.1.375"; + } + + smiv2:alias "cisco7401VXR" { + smiv2:oid "1.3.6.1.4.1.9.1.376"; + } + + smiv2:alias "cisco951" { + smiv2:oid "1.3.6.1.4.1.9.1.377"; + } + + smiv2:alias "cisco952" { + smiv2:oid "1.3.6.1.4.1.9.1.378"; + } + + smiv2:alias "ciscoCAP340" { + smiv2:oid "1.3.6.1.4.1.9.1.379"; + } + + smiv2:alias "ciscoCAP350" { + smiv2:oid "1.3.6.1.4.1.9.1.380"; + } + + smiv2:alias "ciscoDPA7610" { + smiv2:oid "1.3.6.1.4.1.9.1.381"; + } + + smiv2:alias "cisco828" { + smiv2:oid "1.3.6.1.4.1.9.1.382"; + } + + smiv2:alias "ciscoSOHO78" { + smiv2:oid "1.3.6.1.4.1.9.1.383"; + } + + smiv2:alias "cisco806" { + smiv2:oid "1.3.6.1.4.1.9.1.384"; + } + + smiv2:alias "cisco12416" { + smiv2:oid "1.3.6.1.4.1.9.1.385"; + } + + smiv2:alias "cat2948gL3Dc" { + smiv2:oid "1.3.6.1.4.1.9.1.386"; + } + + smiv2:alias "cat4908gL3Dc" { + smiv2:oid "1.3.6.1.4.1.9.1.387"; + } + + smiv2:alias "cisco12406" { + smiv2:oid "1.3.6.1.4.1.9.1.388"; + } + + smiv2:alias "ciscoPIXFirewall506" { + smiv2:oid "1.3.6.1.4.1.9.1.389"; + } + + smiv2:alias "ciscoPIXFirewall515" { + smiv2:oid "1.3.6.1.4.1.9.1.390"; + } + + smiv2:alias "ciscoPIXFirewall520" { + smiv2:oid "1.3.6.1.4.1.9.1.391"; + } + + smiv2:alias "ciscoPIXFirewall525" { + smiv2:oid "1.3.6.1.4.1.9.1.392"; + } + + smiv2:alias "ciscoPIXFirewall535" { + smiv2:oid "1.3.6.1.4.1.9.1.393"; + } + + smiv2:alias "cisco12410" { + smiv2:oid "1.3.6.1.4.1.9.1.394"; + } + + smiv2:alias "cisco811" { + smiv2:oid "1.3.6.1.4.1.9.1.395"; + } + + smiv2:alias "cisco813" { + smiv2:oid "1.3.6.1.4.1.9.1.396"; + } + + smiv2:alias "cisco10720" { + smiv2:oid "1.3.6.1.4.1.9.1.397"; + } + + smiv2:alias "ciscoMWR1900" { + smiv2:oid "1.3.6.1.4.1.9.1.398"; + } + + smiv2:alias "cisco4224" { + smiv2:oid "1.3.6.1.4.1.9.1.399"; + } + + smiv2:alias "ciscoWSC6513" { + smiv2:oid "1.3.6.1.4.1.9.1.400"; + } + + smiv2:alias "cisco7603" { + smiv2:oid "1.3.6.1.4.1.9.1.401"; + } + + smiv2:alias "cisco7606" { + smiv2:oid "1.3.6.1.4.1.9.1.402"; + } + + smiv2:alias "cisco7401ASR" { + smiv2:oid "1.3.6.1.4.1.9.1.403"; + } + + smiv2:alias "ciscoVG248" { + smiv2:oid "1.3.6.1.4.1.9.1.404"; + } + + smiv2:alias "ciscoHSE" { + smiv2:oid "1.3.6.1.4.1.9.1.405"; + } + + smiv2:alias "ciscoONS15540ESP" { + smiv2:oid "1.3.6.1.4.1.9.1.406"; + } + + smiv2:alias "ciscoSN5420" { + smiv2:oid "1.3.6.1.4.1.9.1.407"; + } + + smiv2:alias "ciscoIcs7750Ce300" { + smiv2:oid "1.3.6.1.4.1.9.1.408"; + } + + smiv2:alias "ciscoCe507" { + smiv2:oid "1.3.6.1.4.1.9.1.409"; + } + + smiv2:alias "ciscoCe560" { + smiv2:oid "1.3.6.1.4.1.9.1.410"; + } + + smiv2:alias "ciscoCe590" { + smiv2:oid "1.3.6.1.4.1.9.1.411"; + } + + smiv2:alias "ciscoCe7320" { + smiv2:oid "1.3.6.1.4.1.9.1.412"; + } + + smiv2:alias "cisco2691" { + smiv2:oid "1.3.6.1.4.1.9.1.413"; + } + + smiv2:alias "cisco3725" { + smiv2:oid "1.3.6.1.4.1.9.1.414"; + } + + smiv2:alias "cisco3640A" { + smiv2:oid "1.3.6.1.4.1.9.1.415"; + } + + smiv2:alias "cisco1760" { + smiv2:oid "1.3.6.1.4.1.9.1.416"; + } + + smiv2:alias "ciscoPIXFirewall501" { + smiv2:oid "1.3.6.1.4.1.9.1.417"; + } + + smiv2:alias "cisco2610M" { + smiv2:oid "1.3.6.1.4.1.9.1.418"; + } + + smiv2:alias "cisco2611M" { + smiv2:oid "1.3.6.1.4.1.9.1.419"; + } + + smiv2:alias "ciscoGP10" { + smiv2:oid "1.3.6.1.4.1.9.1.420"; + } + + smiv2:alias "ciscoMC21" { + smiv2:oid "1.3.6.1.4.1.9.1.421"; + } + + smiv2:alias "ciscoSN51" { + smiv2:oid "1.3.6.1.4.1.9.1.422"; + } + + smiv2:alias "cisco12404" { + smiv2:oid "1.3.6.1.4.1.9.1.423"; + } + + smiv2:alias "cisco9004" { + smiv2:oid "1.3.6.1.4.1.9.1.424"; + } + + smiv2:alias "cisco3631Co" { + smiv2:oid "1.3.6.1.4.1.9.1.425"; + } + + smiv2:alias "catalyst295012G" { + smiv2:oid "1.3.6.1.4.1.9.1.427"; + } + + smiv2:alias "catalyst295024G" { + smiv2:oid "1.3.6.1.4.1.9.1.428"; + } + + smiv2:alias "catalyst295048G" { + smiv2:oid "1.3.6.1.4.1.9.1.429"; + } + + smiv2:alias "catalyst295024S" { + smiv2:oid "1.3.6.1.4.1.9.1.430"; + } + + smiv2:alias "catalyst355012G" { + smiv2:oid "1.3.6.1.4.1.9.1.431"; + } + + smiv2:alias "ciscoCE507AV" { + smiv2:oid "1.3.6.1.4.1.9.1.432"; + } + + smiv2:alias "ciscoCE560AV" { + smiv2:oid "1.3.6.1.4.1.9.1.433"; + } + + smiv2:alias "ciscoIE2105" { + smiv2:oid "1.3.6.1.4.1.9.1.434"; + } + + smiv2:alias "ciscoMGX8850Pxm1E" { + smiv2:oid "1.3.6.1.4.1.9.1.435"; + } + + smiv2:alias "cisco3745" { + smiv2:oid "1.3.6.1.4.1.9.1.436"; + } + + smiv2:alias "cisco10005" { + smiv2:oid "1.3.6.1.4.1.9.1.437"; + } + + smiv2:alias "cisco10008" { + smiv2:oid "1.3.6.1.4.1.9.1.438"; + } + + smiv2:alias "cisco7304" { + smiv2:oid "1.3.6.1.4.1.9.1.439"; + } + + smiv2:alias "ciscoRpmXf" { + smiv2:oid "1.3.6.1.4.1.9.1.440"; + } + + smiv2:alias "ciscoOsm4oc3PosSmIr" { + smiv2:oid "1.3.6.1.4.1.9.1.441"; + } + + smiv2:alias "ciscoOsm4oc3PosMmSr" { + smiv2:oid "1.3.6.1.4.1.9.1.442"; + } + + smiv2:alias "ciscoOsm4oc3PosSmLr" { + smiv2:oid "1.3.6.1.4.1.9.1.443"; + } + + smiv2:alias "cisco1721" { + smiv2:oid "1.3.6.1.4.1.9.1.444"; + } + + smiv2:alias "cat4000Sup3" { + smiv2:oid "1.3.6.1.4.1.9.1.445"; + } + + smiv2:alias "cisco827H" { + smiv2:oid "1.3.6.1.4.1.9.1.446"; + } + + smiv2:alias "ciscoSOHO77H" { + smiv2:oid "1.3.6.1.4.1.9.1.447"; + } + + smiv2:alias "cat4006" { + smiv2:oid "1.3.6.1.4.1.9.1.448"; + } + + smiv2:alias "ciscoWSC6503" { + smiv2:oid "1.3.6.1.4.1.9.1.449"; + } + + smiv2:alias "ciscoPIXFirewall506E" { + smiv2:oid "1.3.6.1.4.1.9.1.450"; + } + + smiv2:alias "ciscoPIXFirewall515E" { + smiv2:oid "1.3.6.1.4.1.9.1.451"; + } + + smiv2:alias "cat355024Dc" { + smiv2:oid "1.3.6.1.4.1.9.1.452"; + } + + smiv2:alias "cat355024Mmf" { + smiv2:oid "1.3.6.1.4.1.9.1.453"; + } + + smiv2:alias "ciscoCE2636" { + smiv2:oid "1.3.6.1.4.1.9.1.454"; + } + + smiv2:alias "ciscoDwCE" { + smiv2:oid "1.3.6.1.4.1.9.1.455"; + } + + smiv2:alias "cisco7750Mrp300" { + smiv2:oid "1.3.6.1.4.1.9.1.456"; + } + + smiv2:alias "ciscoRPMPR" { + smiv2:oid "1.3.6.1.4.1.9.1.457"; + } + + smiv2:alias "cisco14MGX8830Pxm1E" { + smiv2:oid "1.3.6.1.4.1.9.1.458"; + } + + smiv2:alias "ciscoWlse" { + smiv2:oid "1.3.6.1.4.1.9.1.459"; + } + + smiv2:alias "ciscoONS15530" { + smiv2:oid "1.3.6.1.4.1.9.1.460"; + } + + smiv2:alias "ciscoONS15530NEBS" { + smiv2:oid "1.3.6.1.4.1.9.1.461"; + } + + smiv2:alias "ciscoONS15530ETSI" { + smiv2:oid "1.3.6.1.4.1.9.1.462"; + } + + smiv2:alias "ciscoSOHO71" { + smiv2:oid "1.3.6.1.4.1.9.1.463"; + } + + smiv2:alias "cisco6400UAC" { + smiv2:oid "1.3.6.1.4.1.9.1.464"; + } + + smiv2:alias "cisco2610XM" { + smiv2:oid "1.3.6.1.4.1.9.1.466"; + } + + smiv2:alias "cisco2611XM" { + smiv2:oid "1.3.6.1.4.1.9.1.467"; + } + + smiv2:alias "cisco2620XM" { + smiv2:oid "1.3.6.1.4.1.9.1.468"; + } + + smiv2:alias "cisco2621XM" { + smiv2:oid "1.3.6.1.4.1.9.1.469"; + } + + smiv2:alias "cisco2650XM" { + smiv2:oid "1.3.6.1.4.1.9.1.470"; + } + + smiv2:alias "cisco2651XM" { + smiv2:oid "1.3.6.1.4.1.9.1.471"; + } + + smiv2:alias "catalyst295024GDC" { + smiv2:oid "1.3.6.1.4.1.9.1.472"; + } + + smiv2:alias "ciscoAIRAP1200" { + smiv2:oid "1.3.6.1.4.1.9.1.474"; + } + + smiv2:alias "ciscoSN5428" { + smiv2:oid "1.3.6.1.4.1.9.1.475"; + } + + smiv2:alias "cisco7301" { + smiv2:oid "1.3.6.1.4.1.9.1.476"; + } + + smiv2:alias "cisco12816" { + smiv2:oid "1.3.6.1.4.1.9.1.477"; + } + + smiv2:alias "cisco12810" { + smiv2:oid "1.3.6.1.4.1.9.1.478"; + } + + smiv2:alias "cisco3250" { + smiv2:oid "1.3.6.1.4.1.9.1.479"; + } + + smiv2:alias "catalyst295024SX" { + smiv2:oid "1.3.6.1.4.1.9.1.480"; + } + + smiv2:alias "ciscoONS15540ESPx" { + smiv2:oid "1.3.6.1.4.1.9.1.481"; + } + + smiv2:alias "catalyst295024LRESt" { + smiv2:oid "1.3.6.1.4.1.9.1.482"; + } + + smiv2:alias "catalyst29508LRESt" { + smiv2:oid "1.3.6.1.4.1.9.1.483"; + } + + smiv2:alias "catalyst295024LREG" { + smiv2:oid "1.3.6.1.4.1.9.1.484"; + } + + smiv2:alias "catalyst355024PWR" { + smiv2:oid "1.3.6.1.4.1.9.1.485"; + } + + smiv2:alias "ciscoCDM4630" { + smiv2:oid "1.3.6.1.4.1.9.1.486"; + } + + smiv2:alias "ciscoCDM4650" { + smiv2:oid "1.3.6.1.4.1.9.1.487"; + } + + smiv2:alias "catalyst2955T12" { + smiv2:oid "1.3.6.1.4.1.9.1.488"; + } + + smiv2:alias "catalyst2955C12" { + smiv2:oid "1.3.6.1.4.1.9.1.489"; + } + + smiv2:alias "ciscoCE508" { + smiv2:oid "1.3.6.1.4.1.9.1.490"; + } + + smiv2:alias "ciscoCE565" { + smiv2:oid "1.3.6.1.4.1.9.1.491"; + } + + smiv2:alias "ciscoCE7325" { + smiv2:oid "1.3.6.1.4.1.9.1.492"; + } + + smiv2:alias "ciscoONS15454" { + smiv2:oid "1.3.6.1.4.1.9.1.493"; + } + + smiv2:alias "ciscoONS15327" { + smiv2:oid "1.3.6.1.4.1.9.1.494"; + } + + smiv2:alias "cisco837" { + smiv2:oid "1.3.6.1.4.1.9.1.495"; + } + + smiv2:alias "ciscoSOHO97" { + smiv2:oid "1.3.6.1.4.1.9.1.496"; + } + + smiv2:alias "cisco831" { + smiv2:oid "1.3.6.1.4.1.9.1.497"; + } + + smiv2:alias "ciscoSOHO91" { + smiv2:oid "1.3.6.1.4.1.9.1.498"; + } + + smiv2:alias "cisco836" { + smiv2:oid "1.3.6.1.4.1.9.1.499"; + } + + smiv2:alias "ciscoSOHO96" { + smiv2:oid "1.3.6.1.4.1.9.1.500"; + } + + smiv2:alias "cat4507" { + smiv2:oid "1.3.6.1.4.1.9.1.501"; + } + + smiv2:alias "cat4506" { + smiv2:oid "1.3.6.1.4.1.9.1.502"; + } + + smiv2:alias "cat4503" { + smiv2:oid "1.3.6.1.4.1.9.1.503"; + } + + smiv2:alias "ciscoCE7305" { + smiv2:oid "1.3.6.1.4.1.9.1.504"; + } + + smiv2:alias "ciscoCE510" { + smiv2:oid "1.3.6.1.4.1.9.1.505"; + } + + smiv2:alias "ciscoAIRAP1100" { + smiv2:oid "1.3.6.1.4.1.9.1.507"; + } + + smiv2:alias "catalyst2955S12" { + smiv2:oid "1.3.6.1.4.1.9.1.508"; + } + + smiv2:alias "cisco7609" { + smiv2:oid "1.3.6.1.4.1.9.1.509"; + } + + smiv2:alias "ciscoWSC65509" { + smiv2:oid "1.3.6.1.4.1.9.1.510"; + } + + smiv2:alias "catalyst375024" { + smiv2:oid "1.3.6.1.4.1.9.1.511"; + } + + smiv2:alias "catalyst375048" { + smiv2:oid "1.3.6.1.4.1.9.1.512"; + } + + smiv2:alias "catalyst375024TS" { + smiv2:oid "1.3.6.1.4.1.9.1.513"; + } + + smiv2:alias "catalyst375024T" { + smiv2:oid "1.3.6.1.4.1.9.1.514"; + } + + smiv2:alias "catalyst37xxStack" { + smiv2:oid "1.3.6.1.4.1.9.1.516"; + } + + smiv2:alias "ciscoGSS" { + smiv2:oid "1.3.6.1.4.1.9.1.517"; + } + + smiv2:alias "ciscoPrimaryGSSM" { + smiv2:oid "1.3.6.1.4.1.9.1.518"; + } + + smiv2:alias "ciscoStandbyGSSM" { + smiv2:oid "1.3.6.1.4.1.9.1.519"; + } + + smiv2:alias "ciscoMWR1941DC" { + smiv2:oid "1.3.6.1.4.1.9.1.520"; + } + + smiv2:alias "ciscoDSC9216K9" { + smiv2:oid "1.3.6.1.4.1.9.1.521"; + } + + smiv2:alias "cat6500FirewallSm" { + smiv2:oid "1.3.6.1.4.1.9.1.522"; + } + + smiv2:alias "ciscoSCA11000" { + smiv2:oid "1.3.6.1.4.1.9.1.523"; + } + + smiv2:alias "ciscoCSM" { + smiv2:oid "1.3.6.1.4.1.9.1.524"; + } + + smiv2:alias "ciscoAIRAP1210" { + smiv2:oid "1.3.6.1.4.1.9.1.525"; + } + + smiv2:alias "ciscoSCA211000" { + smiv2:oid "1.3.6.1.4.1.9.1.526"; + } + + smiv2:alias "catalyst297024" { + smiv2:oid "1.3.6.1.4.1.9.1.527"; + } + + smiv2:alias "cisco7613" { + smiv2:oid "1.3.6.1.4.1.9.1.528"; + } + + smiv2:alias "ciscoSN54282" { + smiv2:oid "1.3.6.1.4.1.9.1.529"; + } + + smiv2:alias "catalyst3750Ge12Sfp" { + smiv2:oid "1.3.6.1.4.1.9.1.530"; + } + + smiv2:alias "ciscoCR4430" { + smiv2:oid "1.3.6.1.4.1.9.1.531"; + } + + smiv2:alias "ciscoCR4450" { + smiv2:oid "1.3.6.1.4.1.9.1.532"; + } + + smiv2:alias "ciscoAIRBR1410" { + smiv2:oid "1.3.6.1.4.1.9.1.533"; + } + + smiv2:alias "ciscoWSC6509neba" { + smiv2:oid "1.3.6.1.4.1.9.1.534"; + } + + smiv2:alias "catalyst375048PS" { + smiv2:oid "1.3.6.1.4.1.9.1.535"; + } + + smiv2:alias "catalyst375024PS" { + smiv2:oid "1.3.6.1.4.1.9.1.536"; + } + + smiv2:alias "catalyst4510" { + smiv2:oid "1.3.6.1.4.1.9.1.537"; + } + + smiv2:alias "cisco1711" { + smiv2:oid "1.3.6.1.4.1.9.1.538"; + } + + smiv2:alias "cisco1712" { + smiv2:oid "1.3.6.1.4.1.9.1.539"; + } + + smiv2:alias "catalyst29408TT" { + smiv2:oid "1.3.6.1.4.1.9.1.540"; + } + + smiv2:alias "catalyst29408TF" { + smiv2:oid "1.3.6.1.4.1.9.1.542"; + } + + smiv2:alias "cisco3825" { + smiv2:oid "1.3.6.1.4.1.9.1.543"; + } + + smiv2:alias "cisco3845" { + smiv2:oid "1.3.6.1.4.1.9.1.544"; + } + + smiv2:alias "cisco2430Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.545"; + } + + smiv2:alias "cisco2431Iad8Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.546"; + } + + smiv2:alias "cisco2431Iad16Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.547"; + } + + smiv2:alias "cisco2431Iad1T1E1" { + smiv2:oid "1.3.6.1.4.1.9.1.548"; + } + + smiv2:alias "cisco2432Iad24Fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.549"; + } + + smiv2:alias "cisco1701ADSLBRI" { + smiv2:oid "1.3.6.1.4.1.9.1.550"; + } + + smiv2:alias "catalyst2950St24LRE997" { + smiv2:oid "1.3.6.1.4.1.9.1.551"; + } + + smiv2:alias "ciscoAirAp350IOS" { + smiv2:oid "1.3.6.1.4.1.9.1.552"; + } + + smiv2:alias "cisco3220" { + smiv2:oid "1.3.6.1.4.1.9.1.553"; + } + + smiv2:alias "cat6500SslSm" { + smiv2:oid "1.3.6.1.4.1.9.1.554"; + } + + smiv2:alias "ciscoSIMSE" { + smiv2:oid "1.3.6.1.4.1.9.1.555"; + } + + smiv2:alias "ciscoESSE" { + smiv2:oid "1.3.6.1.4.1.9.1.556"; + } + + smiv2:alias "catalyst6kSup720" { + smiv2:oid "1.3.6.1.4.1.9.1.557"; + } + + smiv2:alias "ciscoVG224" { + smiv2:oid "1.3.6.1.4.1.9.1.558"; + } + + smiv2:alias "catalyst295048T" { + smiv2:oid "1.3.6.1.4.1.9.1.559"; + } + + smiv2:alias "catalyst295048SX" { + smiv2:oid "1.3.6.1.4.1.9.1.560"; + } + + smiv2:alias "catalyst297024TS" { + smiv2:oid "1.3.6.1.4.1.9.1.561"; + } + + smiv2:alias "ciscoNmNam" { + smiv2:oid "1.3.6.1.4.1.9.1.562"; + } + + smiv2:alias "catalyst356024PS" { + smiv2:oid "1.3.6.1.4.1.9.1.563"; + } + + smiv2:alias "catalyst356048PS" { + smiv2:oid "1.3.6.1.4.1.9.1.564"; + } + + smiv2:alias "ciscoAIRBR1300" { + smiv2:oid "1.3.6.1.4.1.9.1.565"; + } + + smiv2:alias "cisco851" { + smiv2:oid "1.3.6.1.4.1.9.1.566"; + } + + smiv2:alias "cisco857" { + smiv2:oid "1.3.6.1.4.1.9.1.567"; + } + + smiv2:alias "cisco876" { + smiv2:oid "1.3.6.1.4.1.9.1.568"; + } + + smiv2:alias "cisco877" { + smiv2:oid "1.3.6.1.4.1.9.1.569"; + } + + smiv2:alias "cisco878" { + smiv2:oid "1.3.6.1.4.1.9.1.570"; + } + + smiv2:alias "cisco871" { + smiv2:oid "1.3.6.1.4.1.9.1.571"; + } + + smiv2:alias "uMG9820" { + smiv2:oid "1.3.6.1.4.1.9.1.572"; + } + + smiv2:alias "catalyst6kGateway" { + smiv2:oid "1.3.6.1.4.1.9.1.573"; + } + + smiv2:alias "catalyst375024ME" { + smiv2:oid "1.3.6.1.4.1.9.1.574"; + } + + smiv2:alias "catalyst4000NAM" { + smiv2:oid "1.3.6.1.4.1.9.1.575"; + } + + smiv2:alias "cisco2811" { + smiv2:oid "1.3.6.1.4.1.9.1.576"; + } + + smiv2:alias "cisco2821" { + smiv2:oid "1.3.6.1.4.1.9.1.577"; + } + + smiv2:alias "cisco2851" { + smiv2:oid "1.3.6.1.4.1.9.1.578"; + } + + smiv2:alias "cisco3201WMIC" { + smiv2:oid "1.3.6.1.4.1.9.1.581"; + } + + smiv2:alias "ciscoMCS7815I" { + smiv2:oid "1.3.6.1.4.1.9.1.582"; + } + + smiv2:alias "ciscoMCS7825H" { + smiv2:oid "1.3.6.1.4.1.9.1.583"; + } + + smiv2:alias "ciscoMCS7835H" { + smiv2:oid "1.3.6.1.4.1.9.1.584"; + } + + smiv2:alias "ciscoMCS7835I" { + smiv2:oid "1.3.6.1.4.1.9.1.585"; + } + + smiv2:alias "ciscoMCS7845H" { + smiv2:oid "1.3.6.1.4.1.9.1.586"; + } + + smiv2:alias "ciscoMCS7845I" { + smiv2:oid "1.3.6.1.4.1.9.1.587"; + } + + smiv2:alias "ciscoMCS7855I" { + smiv2:oid "1.3.6.1.4.1.9.1.588"; + } + + smiv2:alias "ciscoMCS7865I" { + smiv2:oid "1.3.6.1.4.1.9.1.589"; + } + + smiv2:alias "cisco12006" { + smiv2:oid "1.3.6.1.4.1.9.1.590"; + } + + smiv2:alias "catalyst3750G16TD" { + smiv2:oid "1.3.6.1.4.1.9.1.591"; + } + + smiv2:alias "ciscoIGESM" { + smiv2:oid "1.3.6.1.4.1.9.1.592"; + } + + smiv2:alias "ciscoCCM" { + smiv2:oid "1.3.6.1.4.1.9.1.593"; + } + + smiv2:alias "cisco1718" { + smiv2:oid "1.3.6.1.4.1.9.1.594"; + } + + smiv2:alias "ciscoCe511K9" { + smiv2:oid "1.3.6.1.4.1.9.1.595"; + } + + smiv2:alias "ciscoCe566K9" { + smiv2:oid "1.3.6.1.4.1.9.1.596"; + } + + smiv2:alias "ciscoMGX8830Pxm45" { + smiv2:oid "1.3.6.1.4.1.9.1.597"; + } + + smiv2:alias "ciscoMGX8880" { + smiv2:oid "1.3.6.1.4.1.9.1.598"; + } + + smiv2:alias "ciscoWsSvcWLAN1K9" { + smiv2:oid "1.3.6.1.4.1.9.1.599"; + } + + smiv2:alias "ciscoCe7306K9" { + smiv2:oid "1.3.6.1.4.1.9.1.600"; + } + + smiv2:alias "ciscoCe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.1.601"; + } + + smiv2:alias "catalyst3750G24PS" { + smiv2:oid "1.3.6.1.4.1.9.1.602"; + } + + smiv2:alias "catalyst3750G48PS" { + smiv2:oid "1.3.6.1.4.1.9.1.603"; + } + + smiv2:alias "catalyst3750G48TS" { + smiv2:oid "1.3.6.1.4.1.9.1.604"; + } + + smiv2:alias "ciscoBMGX8830Pxm45" { + smiv2:oid "1.3.6.1.4.1.9.1.606"; + } + + smiv2:alias "ciscoBMGX8830Pxm1E" { + smiv2:oid "1.3.6.1.4.1.9.1.607"; + } + + smiv2:alias "ciscoBMGX8850Pxm45" { + smiv2:oid "1.3.6.1.4.1.9.1.608"; + } + + smiv2:alias "ciscoBMGX8850Pxm1E" { + smiv2:oid "1.3.6.1.4.1.9.1.609"; + } + + smiv2:alias "ciscoSSLCSM" { + smiv2:oid "1.3.6.1.4.1.9.1.610"; + } + + smiv2:alias "ciscoNetworkRegistrar" { + smiv2:oid "1.3.6.1.4.1.9.1.611"; + } + + smiv2:alias "ciscoCe501K9" { + smiv2:oid "1.3.6.1.4.1.9.1.612"; + } + + smiv2:alias "ciscoCRS16S" { + smiv2:oid "1.3.6.1.4.1.9.1.613"; + } + + smiv2:alias "catalyst3560G24PS" { + smiv2:oid "1.3.6.1.4.1.9.1.614"; + } + + smiv2:alias "catalyst3560G24TS" { + smiv2:oid "1.3.6.1.4.1.9.1.615"; + } + + smiv2:alias "catalyst3560G48PS" { + smiv2:oid "1.3.6.1.4.1.9.1.616"; + } + + smiv2:alias "catalyst3560G48TS" { + smiv2:oid "1.3.6.1.4.1.9.1.617"; + } + + smiv2:alias "ciscoAIRAP1130" { + smiv2:oid "1.3.6.1.4.1.9.1.618"; + } + + smiv2:alias "cisco2801" { + smiv2:oid "1.3.6.1.4.1.9.1.619"; + } + + smiv2:alias "cisco1841" { + smiv2:oid "1.3.6.1.4.1.9.1.620"; + } + + smiv2:alias "ciscoWsSvcMWAM1" { + smiv2:oid "1.3.6.1.4.1.9.1.621"; + } + + smiv2:alias "ciscoNMCUE" { + smiv2:oid "1.3.6.1.4.1.9.1.622"; + } + + smiv2:alias "ciscoAIMCUE" { + smiv2:oid "1.3.6.1.4.1.9.1.623"; + } + + smiv2:alias "catalyst3750G24TS1U" { + smiv2:oid "1.3.6.1.4.1.9.1.624"; + } + + smiv2:alias "cisco371098HP001" { + smiv2:oid "1.3.6.1.4.1.9.1.625"; + } + + smiv2:alias "catalyst4948" { + smiv2:oid "1.3.6.1.4.1.9.1.626"; + } + + smiv2:alias "ciscoSB101" { + smiv2:oid "1.3.6.1.4.1.9.1.627"; + } + + smiv2:alias "ciscoSB106" { + smiv2:oid "1.3.6.1.4.1.9.1.628"; + } + + smiv2:alias "ciscoSB107" { + smiv2:oid "1.3.6.1.4.1.9.1.629"; + } + + smiv2:alias "ciscoWLSE1130" { + smiv2:oid "1.3.6.1.4.1.9.1.630"; + } + + smiv2:alias "ciscoWLSE1030" { + smiv2:oid "1.3.6.1.4.1.9.1.631"; + } + + smiv2:alias "ciscoHSE1140" { + smiv2:oid "1.3.6.1.4.1.9.1.632"; + } + + smiv2:alias "catalyst356024TS" { + smiv2:oid "1.3.6.1.4.1.9.1.633"; + } + + smiv2:alias "catalyst356048TS" { + smiv2:oid "1.3.6.1.4.1.9.1.634"; + } + + smiv2:alias "ciscoWsSvcadsm1K9" { + smiv2:oid "1.3.6.1.4.1.9.1.635"; + } + + smiv2:alias "ciscoWsSvcagsm1K9" { + smiv2:oid "1.3.6.1.4.1.9.1.636"; + } + + smiv2:alias "ciscoONS15310" { + smiv2:oid "1.3.6.1.4.1.9.1.637"; + } + + smiv2:alias "cisco1801" { + smiv2:oid "1.3.6.1.4.1.9.1.638"; + } + + smiv2:alias "cisco1802" { + smiv2:oid "1.3.6.1.4.1.9.1.639"; + } + + smiv2:alias "cisco1803" { + smiv2:oid "1.3.6.1.4.1.9.1.640"; + } + + smiv2:alias "cisco1811" { + smiv2:oid "1.3.6.1.4.1.9.1.641"; + } + + smiv2:alias "cisco1812" { + smiv2:oid "1.3.6.1.4.1.9.1.642"; + } + + smiv2:alias "ciscoCRS8S" { + smiv2:oid "1.3.6.1.4.1.9.1.643"; + } + + smiv2:alias "ciscoIDS4210" { + smiv2:oid "1.3.6.1.4.1.9.1.645"; + } + + smiv2:alias "ciscoIDS4215" { + smiv2:oid "1.3.6.1.4.1.9.1.646"; + } + + smiv2:alias "ciscoIDS4235" { + smiv2:oid "1.3.6.1.4.1.9.1.647"; + } + + smiv2:alias "ciscoIPS4240" { + smiv2:oid "1.3.6.1.4.1.9.1.648"; + } + + smiv2:alias "ciscoIDS4250" { + smiv2:oid "1.3.6.1.4.1.9.1.649"; + } + + smiv2:alias "ciscoIDS4250SX" { + smiv2:oid "1.3.6.1.4.1.9.1.650"; + } + + smiv2:alias "ciscoIDS4250XL" { + smiv2:oid "1.3.6.1.4.1.9.1.651"; + } + + smiv2:alias "ciscoIPS4255" { + smiv2:oid "1.3.6.1.4.1.9.1.652"; + } + + smiv2:alias "ciscoIDSIDSM2" { + smiv2:oid "1.3.6.1.4.1.9.1.653"; + } + + smiv2:alias "ciscoIDSNMCIDS" { + smiv2:oid "1.3.6.1.4.1.9.1.654"; + } + + smiv2:alias "ciscoIPSSSM20" { + smiv2:oid "1.3.6.1.4.1.9.1.655"; + } + + smiv2:alias "catalyst375024FS" { + smiv2:oid "1.3.6.1.4.1.9.1.656"; + } + + smiv2:alias "ciscoWSC6504E" { + smiv2:oid "1.3.6.1.4.1.9.1.657"; + } + + smiv2:alias "cisco7604" { + smiv2:oid "1.3.6.1.4.1.9.1.658"; + } + + smiv2:alias "catalyst494810GE" { + smiv2:oid "1.3.6.1.4.1.9.1.659"; + } + + smiv2:alias "ciscoIGESMSFP" { + smiv2:oid "1.3.6.1.4.1.9.1.660"; + } + + smiv2:alias "ciscoFE6326K9" { + smiv2:oid "1.3.6.1.4.1.9.1.661"; + } + + smiv2:alias "ciscoIPSSSM10" { + smiv2:oid "1.3.6.1.4.1.9.1.662"; + } + + smiv2:alias "ciscoNme16Es1Ge" { + smiv2:oid "1.3.6.1.4.1.9.1.663"; + } + + smiv2:alias "ciscoNmeX24Es1Ge" { + smiv2:oid "1.3.6.1.4.1.9.1.664"; + } + + smiv2:alias "ciscoNmeXd24Es2St" { + smiv2:oid "1.3.6.1.4.1.9.1.665"; + } + + smiv2:alias "ciscoNmeXd48Es2Ge" { + smiv2:oid "1.3.6.1.4.1.9.1.666"; + } + + smiv2:alias "cisco3202WMIC" { + smiv2:oid "1.3.6.1.4.1.9.1.667"; + } + + smiv2:alias "ciscoAs5400XM" { + smiv2:oid "1.3.6.1.4.1.9.1.668"; + } + + smiv2:alias "ciscoASA5510" { + smiv2:oid "1.3.6.1.4.1.9.1.669"; + } + + smiv2:alias "ciscoASA5520" { + smiv2:oid "1.3.6.1.4.1.9.1.670"; + } + + smiv2:alias "ciscoASA5520sc" { + smiv2:oid "1.3.6.1.4.1.9.1.671"; + } + + smiv2:alias "ciscoASA5540" { + smiv2:oid "1.3.6.1.4.1.9.1.672"; + } + + smiv2:alias "ciscoASA5540sc" { + smiv2:oid "1.3.6.1.4.1.9.1.673"; + } + + smiv2:alias "ciscoWsSvcFwm1sc" { + smiv2:oid "1.3.6.1.4.1.9.1.674"; + } + + smiv2:alias "ciscoPIXFirewall535sc" { + smiv2:oid "1.3.6.1.4.1.9.1.675"; + } + + smiv2:alias "ciscoPIXFirewall525sc" { + smiv2:oid "1.3.6.1.4.1.9.1.676"; + } + + smiv2:alias "ciscoPIXFirewall515Esc" { + smiv2:oid "1.3.6.1.4.1.9.1.677"; + } + + smiv2:alias "ciscoPIXFirewall515sc" { + smiv2:oid "1.3.6.1.4.1.9.1.678"; + } + + smiv2:alias "ciscoAs5350XM" { + smiv2:oid "1.3.6.1.4.1.9.1.679"; + } + + smiv2:alias "ciscoFe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.1.680"; + } + + smiv2:alias "ciscoFe511K9" { + smiv2:oid "1.3.6.1.4.1.9.1.681"; + } + + smiv2:alias "ciscoSCEDispatcher" { + smiv2:oid "1.3.6.1.4.1.9.1.682"; + } + + smiv2:alias "ciscoSCE1000" { + smiv2:oid "1.3.6.1.4.1.9.1.683"; + } + + smiv2:alias "ciscoSCE2000" { + smiv2:oid "1.3.6.1.4.1.9.1.684"; + } + + smiv2:alias "ciscoAIRAP1240" { + smiv2:oid "1.3.6.1.4.1.9.1.685"; + } + + smiv2:alias "ciscoDSC9120CLK9" { + smiv2:oid "1.3.6.1.4.1.9.1.686"; + } + + smiv2:alias "ciscoFe611K9" { + smiv2:oid "1.3.6.1.4.1.9.1.687"; + } + + smiv2:alias "catalyst3750Ge12SfpDc" { + smiv2:oid "1.3.6.1.4.1.9.1.688"; + } + + smiv2:alias "cisco3271" { + smiv2:oid "1.3.6.1.4.1.9.1.689"; + } + + smiv2:alias "cisco3272" { + smiv2:oid "1.3.6.1.4.1.9.1.690"; + } + + smiv2:alias "cisco3241" { + smiv2:oid "1.3.6.1.4.1.9.1.691"; + } + + smiv2:alias "cisco3242" { + smiv2:oid "1.3.6.1.4.1.9.1.692"; + } + + smiv2:alias "ciscoICM" { + smiv2:oid "1.3.6.1.4.1.9.1.693"; + } + + smiv2:alias "catalyst296024" { + smiv2:oid "1.3.6.1.4.1.9.1.694"; + } + + smiv2:alias "catalyst296048" { + smiv2:oid "1.3.6.1.4.1.9.1.695"; + } + + smiv2:alias "catalyst2960G24" { + smiv2:oid "1.3.6.1.4.1.9.1.696"; + } + + smiv2:alias "catalyst2960G48" { + smiv2:oid "1.3.6.1.4.1.9.1.697"; + } + + smiv2:alias "catalyst45503" { + smiv2:oid "1.3.6.1.4.1.9.1.698"; + } + + smiv2:alias "catalyst45506" { + smiv2:oid "1.3.6.1.4.1.9.1.699"; + } + + smiv2:alias "catalyst45507" { + smiv2:oid "1.3.6.1.4.1.9.1.700"; + } + + smiv2:alias "catalyst455010" { + smiv2:oid "1.3.6.1.4.1.9.1.701"; + } + + smiv2:alias "ciscoNme16Es1GeNoPwr" { + smiv2:oid "1.3.6.1.4.1.9.1.702"; + } + + smiv2:alias "ciscoNmeX24Es1GeNoPwr" { + smiv2:oid "1.3.6.1.4.1.9.1.703"; + } + + smiv2:alias "ciscoNmeXd24Es2StNoPwr" { + smiv2:oid "1.3.6.1.4.1.9.1.704"; + } + + smiv2:alias "ciscoNmeXd48Es2GeNoPwr" { + smiv2:oid "1.3.6.1.4.1.9.1.705"; + } + + smiv2:alias "catalyst6kMsfc2a" { + smiv2:oid "1.3.6.1.4.1.9.1.706"; + } + + smiv2:alias "ciscoEDI" { + smiv2:oid "1.3.6.1.4.1.9.1.707"; + } + + smiv2:alias "ciscoCe611K9" { + smiv2:oid "1.3.6.1.4.1.9.1.708"; + } + + smiv2:alias "ciscoWLSEs20" { + smiv2:oid "1.3.6.1.4.1.9.1.709"; + } + + smiv2:alias "ciscoMPX" { + smiv2:oid "1.3.6.1.4.1.9.1.710"; + } + + smiv2:alias "ciscoNMCUEEC" { + smiv2:oid "1.3.6.1.4.1.9.1.711"; + } + + smiv2:alias "ciscoWLSE1132" { + smiv2:oid "1.3.6.1.4.1.9.1.712"; + } + + smiv2:alias "ciscoME6340ACA" { + smiv2:oid "1.3.6.1.4.1.9.1.713"; + } + + smiv2:alias "ciscoME6340DCA" { + smiv2:oid "1.3.6.1.4.1.9.1.714"; + } + + smiv2:alias "ciscoME6340DCB" { + smiv2:oid "1.3.6.1.4.1.9.1.715"; + } + + smiv2:alias "catalyst296024TT" { + smiv2:oid "1.3.6.1.4.1.9.1.716"; + } + + smiv2:alias "catalyst296048TT" { + smiv2:oid "1.3.6.1.4.1.9.1.717"; + } + + smiv2:alias "ciscoIGESMSFPT" { + smiv2:oid "1.3.6.1.4.1.9.1.718"; + } + + smiv2:alias "ciscoMEC6524gs8s" { + smiv2:oid "1.3.6.1.4.1.9.1.719"; + } + + smiv2:alias "ciscoMEC6524gt8s" { + smiv2:oid "1.3.6.1.4.1.9.1.720"; + } + + smiv2:alias "ciscoMEC6724s10x2" { + smiv2:oid "1.3.6.1.4.1.9.1.721"; + } + + smiv2:alias "ciscoMEC6724t10x2" { + smiv2:oid "1.3.6.1.4.1.9.1.722"; + } + + smiv2:alias "ciscoPaldron" { + smiv2:oid "1.3.6.1.4.1.9.1.723"; + } + + smiv2:alias "catalystsExpress50024TT" { + smiv2:oid "1.3.6.1.4.1.9.1.724"; + } + + smiv2:alias "catalystsExpress50024LC" { + smiv2:oid "1.3.6.1.4.1.9.1.725"; + } + + smiv2:alias "catalystsExpress50024PC" { + smiv2:oid "1.3.6.1.4.1.9.1.726"; + } + + smiv2:alias "catalystsExpress50012TC" { + smiv2:oid "1.3.6.1.4.1.9.1.727"; + } + + smiv2:alias "ciscoIGESMT" { + smiv2:oid "1.3.6.1.4.1.9.1.728"; + } + + smiv2:alias "ciscoACE04G" { + smiv2:oid "1.3.6.1.4.1.9.1.729"; + } + + smiv2:alias "ciscoACE10K9" { + smiv2:oid "1.3.6.1.4.1.9.1.730"; + } + + smiv2:alias "cisco5750" { + smiv2:oid "1.3.6.1.4.1.9.1.731"; + } + + smiv2:alias "ciscoMWR1941DCA" { + smiv2:oid "1.3.6.1.4.1.9.1.732"; + } + + smiv2:alias "cisco815" { + smiv2:oid "1.3.6.1.4.1.9.1.733"; + } + + smiv2:alias "cisco240024TSA" { + smiv2:oid "1.3.6.1.4.1.9.1.734"; + } + + smiv2:alias "cisco240024TSD" { + smiv2:oid "1.3.6.1.4.1.9.1.735"; + } + + smiv2:alias "cisco340024TSA" { + smiv2:oid "1.3.6.1.4.1.9.1.736"; + } + + smiv2:alias "cisco340024TSD" { + smiv2:oid "1.3.6.1.4.1.9.1.737"; + } + + smiv2:alias "ciscoCrs18Linecard" { + smiv2:oid "1.3.6.1.4.1.9.1.738"; + } + + smiv2:alias "ciscoCrs1Fabric" { + smiv2:oid "1.3.6.1.4.1.9.1.739"; + } + + smiv2:alias "ciscoFE2636" { + smiv2:oid "1.3.6.1.4.1.9.1.740"; + } + + smiv2:alias "ciscoIDS4220" { + smiv2:oid "1.3.6.1.4.1.9.1.741"; + } + + smiv2:alias "ciscoIDS4230" { + smiv2:oid "1.3.6.1.4.1.9.1.742"; + } + + smiv2:alias "ciscoIPS4260" { + smiv2:oid "1.3.6.1.4.1.9.1.743"; + } + + smiv2:alias "ciscoWsSvcSAMIBB" { + smiv2:oid "1.3.6.1.4.1.9.1.744"; + } + + smiv2:alias "ciscoASA5505" { + smiv2:oid "1.3.6.1.4.1.9.1.745"; + } + + smiv2:alias "ciscoMCS7825I" { + smiv2:oid "1.3.6.1.4.1.9.1.746"; + } + + smiv2:alias "ciscoWsC3750g24ps" { + smiv2:oid "1.3.6.1.4.1.9.1.747"; + } + + smiv2:alias "ciscoWs3020Hpq" { + smiv2:oid "1.3.6.1.4.1.9.1.748"; + } + + smiv2:alias "ciscoWs3030Del" { + smiv2:oid "1.3.6.1.4.1.9.1.749"; + } + + smiv2:alias "ciscoSpaOc48posSfp" { + smiv2:oid "1.3.6.1.4.1.9.1.750"; + } + + smiv2:alias "catalyst6kEnhancedGateway" { + smiv2:oid "1.3.6.1.4.1.9.1.751"; + } + + smiv2:alias "ciscoWLSE1133" { + smiv2:oid "1.3.6.1.4.1.9.1.752"; + } + + smiv2:alias "ciscoASA5550" { + smiv2:oid "1.3.6.1.4.1.9.1.753"; + } + + smiv2:alias "ciscoNMAONK9" { + smiv2:oid "1.3.6.1.4.1.9.1.754"; + } + + smiv2:alias "ciscoNMAONWS" { + smiv2:oid "1.3.6.1.4.1.9.1.755"; + } + + smiv2:alias "ciscoNMAONAPS" { + smiv2:oid "1.3.6.1.4.1.9.1.756"; + } + + smiv2:alias "ciscoWae612K9" { + smiv2:oid "1.3.6.1.4.1.9.1.757"; + } + + smiv2:alias "ciscoAIRAP1250" { + smiv2:oid "1.3.6.1.4.1.9.1.758"; + } + + smiv2:alias "ciscoCe512K9" { + smiv2:oid "1.3.6.1.4.1.9.1.759"; + } + + smiv2:alias "ciscoFe512K9" { + smiv2:oid "1.3.6.1.4.1.9.1.760"; + } + + smiv2:alias "ciscoCe612K9" { + smiv2:oid "1.3.6.1.4.1.9.1.761"; + } + + smiv2:alias "ciscoFe612K9" { + smiv2:oid "1.3.6.1.4.1.9.1.762"; + } + + smiv2:alias "ciscoASA5550sc" { + smiv2:oid "1.3.6.1.4.1.9.1.763"; + } + + smiv2:alias "ciscoASA5520sy" { + smiv2:oid "1.3.6.1.4.1.9.1.764"; + } + + smiv2:alias "ciscoASA5540sy" { + smiv2:oid "1.3.6.1.4.1.9.1.765"; + } + + smiv2:alias "ciscoASA5550sy" { + smiv2:oid "1.3.6.1.4.1.9.1.766"; + } + + smiv2:alias "ciscoWsSvcFwm1sy" { + smiv2:oid "1.3.6.1.4.1.9.1.767"; + } + + smiv2:alias "ciscoPIXFirewall515sy" { + smiv2:oid "1.3.6.1.4.1.9.1.768"; + } + + smiv2:alias "ciscoPIXFirewall515Esy" { + smiv2:oid "1.3.6.1.4.1.9.1.769"; + } + + smiv2:alias "ciscoPIXFirewall525sy" { + smiv2:oid "1.3.6.1.4.1.9.1.770"; + } + + smiv2:alias "ciscoPIXFirewall535sy" { + smiv2:oid "1.3.6.1.4.1.9.1.771"; + } + + smiv2:alias "ciscoIpRanOpt4p" { + smiv2:oid "1.3.6.1.4.1.9.1.772"; + } + + smiv2:alias "ciscoASA5510sc" { + smiv2:oid "1.3.6.1.4.1.9.1.773"; + } + + smiv2:alias "ciscoASA5510sy" { + smiv2:oid "1.3.6.1.4.1.9.1.774"; + } + + smiv2:alias "ciscoJumpgate" { + smiv2:oid "1.3.6.1.4.1.9.1.775"; + } + + smiv2:alias "ciscoOe512K9" { + smiv2:oid "1.3.6.1.4.1.9.1.776"; + } + + smiv2:alias "ciscoOe612K9" { + smiv2:oid "1.3.6.1.4.1.9.1.777"; + } + + smiv2:alias "catalyst3750G24WS25" { + smiv2:oid "1.3.6.1.4.1.9.1.778"; + } + + smiv2:alias "catalyst3750G24WS50" { + smiv2:oid "1.3.6.1.4.1.9.1.779"; + } + + smiv2:alias "ciscoMe3400g12CsA" { + smiv2:oid "1.3.6.1.4.1.9.1.780"; + } + + smiv2:alias "ciscoMe3400g12CsD" { + smiv2:oid "1.3.6.1.4.1.9.1.781"; + } + + smiv2:alias "cisco877M" { + smiv2:oid "1.3.6.1.4.1.9.1.782"; + } + + smiv2:alias "cisco1801M" { + smiv2:oid "1.3.6.1.4.1.9.1.783"; + } + + smiv2:alias "catalystWsCBS3040FSC" { + smiv2:oid "1.3.6.1.4.1.9.1.784"; + } + + smiv2:alias "ciscoOe511K9" { + smiv2:oid "1.3.6.1.4.1.9.1.785"; + } + + smiv2:alias "ciscoOe611K9" { + smiv2:oid "1.3.6.1.4.1.9.1.786"; + } + + smiv2:alias "ciscoOe7326K9" { + smiv2:oid "1.3.6.1.4.1.9.1.787"; + } + + smiv2:alias "ciscoMe492410GE" { + smiv2:oid "1.3.6.1.4.1.9.1.788"; + } + + smiv2:alias "catalyst3750E24TD" { + smiv2:oid "1.3.6.1.4.1.9.1.789"; + } + + smiv2:alias "catalyst3750E48TD" { + smiv2:oid "1.3.6.1.4.1.9.1.790"; + } + + smiv2:alias "catalyst3750E48PD" { + smiv2:oid "1.3.6.1.4.1.9.1.791"; + } + + smiv2:alias "catalyst3750E24PD" { + smiv2:oid "1.3.6.1.4.1.9.1.792"; + } + + smiv2:alias "catalyst3560E24TD" { + smiv2:oid "1.3.6.1.4.1.9.1.793"; + } + + smiv2:alias "catalyst3560E48TD" { + smiv2:oid "1.3.6.1.4.1.9.1.794"; + } + + smiv2:alias "catalyst3560E24PD" { + smiv2:oid "1.3.6.1.4.1.9.1.795"; + } + + smiv2:alias "catalyst3560E48PD" { + smiv2:oid "1.3.6.1.4.1.9.1.796"; + } + + smiv2:alias "catalyst35608PC" { + smiv2:oid "1.3.6.1.4.1.9.1.797"; + } + + smiv2:alias "catalyst29608TC" { + smiv2:oid "1.3.6.1.4.1.9.1.798"; + } + + smiv2:alias "catalyst2960G8TC" { + smiv2:oid "1.3.6.1.4.1.9.1.799"; + } + + smiv2:alias "ciscoTSPri" { + smiv2:oid "1.3.6.1.4.1.9.1.800"; + } + + smiv2:alias "ciscoTSSec" { + smiv2:oid "1.3.6.1.4.1.9.1.801"; + } + + smiv2:alias "ciscoUWIpPhone7921G" { + smiv2:oid "1.3.6.1.4.1.9.1.802"; + } + + smiv2:alias "ciscoUWIpPhone7920" { + smiv2:oid "1.3.6.1.4.1.9.1.803"; + } + + smiv2:alias "cisco3200WirelessMic" { + smiv2:oid "1.3.6.1.4.1.9.1.804"; + } + + smiv2:alias "ciscoISRWireless" { + smiv2:oid "1.3.6.1.4.1.9.1.805"; + } + + smiv2:alias "ciscoIPSVirtual" { + smiv2:oid "1.3.6.1.4.1.9.1.806"; + } + + smiv2:alias "ciscoIDS4215Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.807"; + } + + smiv2:alias "ciscoIDS4235Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.808"; + } + + smiv2:alias "ciscoIDS4250Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.809"; + } + + smiv2:alias "ciscoIDS4250SXVirtual" { + smiv2:oid "1.3.6.1.4.1.9.1.810"; + } + + smiv2:alias "ciscoIDS4250XLVirtual" { + smiv2:oid "1.3.6.1.4.1.9.1.811"; + } + + smiv2:alias "ciscoIDS4240Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.812"; + } + + smiv2:alias "ciscoIDS4255Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.813"; + } + + smiv2:alias "ciscoIDS4260Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.814"; + } + + smiv2:alias "ciscoIDSIDSM2Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.815"; + } + + smiv2:alias "ciscoIPSSSM20Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.816"; + } + + smiv2:alias "ciscoIPSSSM10Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.817"; + } + + smiv2:alias "ciscoNMWLCE" { + smiv2:oid "1.3.6.1.4.1.9.1.818"; + } + + smiv2:alias "cisco3205WirelessMic" { + smiv2:oid "1.3.6.1.4.1.9.1.819"; + } + + smiv2:alias "cisco5720" { + smiv2:oid "1.3.6.1.4.1.9.1.820"; + } + + smiv2:alias "cisco7201" { + smiv2:oid "1.3.6.1.4.1.9.1.821"; + } + + smiv2:alias "ciscoCrs14S" { + smiv2:oid "1.3.6.1.4.1.9.1.822"; + } + + smiv2:alias "ciscoNmWae" { + smiv2:oid "1.3.6.1.4.1.9.1.823"; + } + + smiv2:alias "ciscoACE4710K9" { + smiv2:oid "1.3.6.1.4.1.9.1.824"; + } + + smiv2:alias "ciscoMe3400g2csA" { + smiv2:oid "1.3.6.1.4.1.9.1.825"; + } + + smiv2:alias "ciscoNmeNam" { + smiv2:oid "1.3.6.1.4.1.9.1.826"; + } + + smiv2:alias "ciscoUbr7225Vxr" { + smiv2:oid "1.3.6.1.4.1.9.1.827"; + } + + smiv2:alias "ciscoAirWlc2106K9" { + smiv2:oid "1.3.6.1.4.1.9.1.828"; + } + + smiv2:alias "ciscoMwr1951DC" { + smiv2:oid "1.3.6.1.4.1.9.1.829"; + } + + smiv2:alias "ciscoIPS4270" { + smiv2:oid "1.3.6.1.4.1.9.1.830"; + } + + smiv2:alias "ciscoIPS4270Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.831"; + } + + smiv2:alias "ciscoWSC6509ve" { + smiv2:oid "1.3.6.1.4.1.9.1.832"; + } + + smiv2:alias "cisco5740" { + smiv2:oid "1.3.6.1.4.1.9.1.833"; + } + + smiv2:alias "cisco861" { + smiv2:oid "1.3.6.1.4.1.9.1.834"; + } + + smiv2:alias "cisco866" { + smiv2:oid "1.3.6.1.4.1.9.1.835"; + } + + smiv2:alias "cisco867" { + smiv2:oid "1.3.6.1.4.1.9.1.836"; + } + + smiv2:alias "cisco881" { + smiv2:oid "1.3.6.1.4.1.9.1.837"; + } + + smiv2:alias "cisco881G" { + smiv2:oid "1.3.6.1.4.1.9.1.838"; + } + + smiv2:alias "ciscoIad881F" { + smiv2:oid "1.3.6.1.4.1.9.1.839"; + } + + smiv2:alias "cisco881Srst" { + smiv2:oid "1.3.6.1.4.1.9.1.840"; + } + + smiv2:alias "ciscoIad881B" { + smiv2:oid "1.3.6.1.4.1.9.1.841"; + } + + smiv2:alias "cisco886" { + smiv2:oid "1.3.6.1.4.1.9.1.842"; + } + + smiv2:alias "cisco886G" { + smiv2:oid "1.3.6.1.4.1.9.1.843"; + } + + smiv2:alias "ciscoIad886F" { + smiv2:oid "1.3.6.1.4.1.9.1.844"; + } + + smiv2:alias "ciscoIad886B" { + smiv2:oid "1.3.6.1.4.1.9.1.845"; + } + + smiv2:alias "cisco886Srst" { + smiv2:oid "1.3.6.1.4.1.9.1.846"; + } + + smiv2:alias "cisco887" { + smiv2:oid "1.3.6.1.4.1.9.1.847"; + } + + smiv2:alias "cisco887G" { + smiv2:oid "1.3.6.1.4.1.9.1.848"; + } + + smiv2:alias "ciscoIad887F" { + smiv2:oid "1.3.6.1.4.1.9.1.849"; + } + + smiv2:alias "ciscoIad887B" { + smiv2:oid "1.3.6.1.4.1.9.1.850"; + } + + smiv2:alias "cisco887Srst" { + smiv2:oid "1.3.6.1.4.1.9.1.851"; + } + + smiv2:alias "cisco888" { + smiv2:oid "1.3.6.1.4.1.9.1.852"; + } + + smiv2:alias "cisco888G" { + smiv2:oid "1.3.6.1.4.1.9.1.853"; + } + + smiv2:alias "ciscoIad888F" { + smiv2:oid "1.3.6.1.4.1.9.1.854"; + } + + smiv2:alias "ciscoIad888B" { + smiv2:oid "1.3.6.1.4.1.9.1.855"; + } + + smiv2:alias "cisco888Srst" { + smiv2:oid "1.3.6.1.4.1.9.1.856"; + } + + smiv2:alias "cisco891" { + smiv2:oid "1.3.6.1.4.1.9.1.857"; + } + + smiv2:alias "cisco892" { + smiv2:oid "1.3.6.1.4.1.9.1.858"; + } + + smiv2:alias "cisco885D3" { + smiv2:oid "1.3.6.1.4.1.9.1.859"; + } + + smiv2:alias "ciscoIad885FD3" { + smiv2:oid "1.3.6.1.4.1.9.1.860"; + } + + smiv2:alias "cisco885EJ3" { + smiv2:oid "1.3.6.1.4.1.9.1.861"; + } + + smiv2:alias "cisco7603s" { + smiv2:oid "1.3.6.1.4.1.9.1.862"; + } + + smiv2:alias "cisco7606s" { + smiv2:oid "1.3.6.1.4.1.9.1.863"; + } + + smiv2:alias "cisco7609s" { + smiv2:oid "1.3.6.1.4.1.9.1.864"; + } + + smiv2:alias "cisco7600Seb" { + smiv2:oid "1.3.6.1.4.1.9.1.865"; + } + + smiv2:alias "ciscoNMECUE" { + smiv2:oid "1.3.6.1.4.1.9.1.866"; + } + + smiv2:alias "ciscoAIM2CUE" { + smiv2:oid "1.3.6.1.4.1.9.1.867"; + } + + smiv2:alias "ciscoUC500" { + smiv2:oid "1.3.6.1.4.1.9.1.868"; + } + + smiv2:alias "cisco860Ap" { + smiv2:oid "1.3.6.1.4.1.9.1.869"; + } + + smiv2:alias "cisco880Ap" { + smiv2:oid "1.3.6.1.4.1.9.1.870"; + } + + smiv2:alias "cisco890Ap" { + smiv2:oid "1.3.6.1.4.1.9.1.871"; + } + + smiv2:alias "cisco1900Ap" { + smiv2:oid "1.3.6.1.4.1.9.1.872"; + } + + smiv2:alias "cisco340024FSA" { + smiv2:oid "1.3.6.1.4.1.9.1.873"; + } + + smiv2:alias "catalyst4503e" { + smiv2:oid "1.3.6.1.4.1.9.1.874"; + } + + smiv2:alias "catalyst4506e" { + smiv2:oid "1.3.6.1.4.1.9.1.875"; + } + + smiv2:alias "catalyst4507re" { + smiv2:oid "1.3.6.1.4.1.9.1.876"; + } + + smiv2:alias "catalyst4510re" { + smiv2:oid "1.3.6.1.4.1.9.1.877"; + } + + smiv2:alias "ciscoUC520s8U4FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.878"; + } + + smiv2:alias "ciscoUC520s8U4FXOWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.879"; + } + + smiv2:alias "ciscoUC520s8U2BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.880"; + } + + smiv2:alias "ciscoUC520s8U2BRIWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.881"; + } + + smiv2:alias "ciscoUC520s16U4FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.882"; + } + + smiv2:alias "ciscoUC520s16U4FXOWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.883"; + } + + smiv2:alias "ciscoUC520s16U2BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.884"; + } + + smiv2:alias "ciscoUC520s16U2BRIWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.885"; + } + + smiv2:alias "ciscoUC520m32U8FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.886"; + } + + smiv2:alias "ciscoUC520m32U8FXOWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.887"; + } + + smiv2:alias "ciscoUC520m32U4BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.888"; + } + + smiv2:alias "ciscoUC520m32U4BRIWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.889"; + } + + smiv2:alias "ciscoUC520m48U12FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.890"; + } + + smiv2:alias "ciscoUC520m48U12FXOWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.891"; + } + + smiv2:alias "ciscoUC520m48U6BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.892"; + } + + smiv2:alias "ciscoUC520m48U6BRIWK9" { + smiv2:oid "1.3.6.1.4.1.9.1.893"; + } + + smiv2:alias "ciscoUC520m48U1T1E1FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.894"; + } + + smiv2:alias "ciscoUC520m48U1T1E1BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.895"; + } + + smiv2:alias "catalyst65xxVirtualSwitch" { + smiv2:oid "1.3.6.1.4.1.9.1.896"; + } + + smiv2:alias "catalystExpress5208PC" { + smiv2:oid "1.3.6.1.4.1.9.1.897"; + } + + smiv2:alias "ciscoMCS7816I" { + smiv2:oid "1.3.6.1.4.1.9.1.898"; + } + + smiv2:alias "ciscoMCS7828I" { + smiv2:oid "1.3.6.1.4.1.9.1.899"; + } + + smiv2:alias "ciscoMCS7816H" { + smiv2:oid "1.3.6.1.4.1.9.1.900"; + } + + smiv2:alias "ciscoMCS7828H" { + smiv2:oid "1.3.6.1.4.1.9.1.901"; + } + + smiv2:alias "cisco1861Uc2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.902"; + } + + smiv2:alias "cisco1861Uc4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.903"; + } + + smiv2:alias "cisco1861Srst2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.904"; + } + + smiv2:alias "cisco1861Srst4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.905"; + } + + smiv2:alias "ciscoNmeApa" { + smiv2:oid "1.3.6.1.4.1.9.1.906"; + } + + smiv2:alias "ciscoOe7330K9" { + smiv2:oid "1.3.6.1.4.1.9.1.907"; + } + + smiv2:alias "ciscoOe7350K9" { + smiv2:oid "1.3.6.1.4.1.9.1.908"; + } + + smiv2:alias "ciscoWsCbs3110gS" { + smiv2:oid "1.3.6.1.4.1.9.1.909"; + } + + smiv2:alias "ciscoWsCbs3110gSt" { + smiv2:oid "1.3.6.1.4.1.9.1.910"; + } + + smiv2:alias "ciscoWsCbs3110xS" { + smiv2:oid "1.3.6.1.4.1.9.1.911"; + } + + smiv2:alias "ciscoWsCbs3110xSt" { + smiv2:oid "1.3.6.1.4.1.9.1.912"; + } + + smiv2:alias "ciscoSce8000" { + smiv2:oid "1.3.6.1.4.1.9.1.913"; + } + + smiv2:alias "ciscoASA5580" { + smiv2:oid "1.3.6.1.4.1.9.1.914"; + } + + smiv2:alias "ciscoASA5580sc" { + smiv2:oid "1.3.6.1.4.1.9.1.915"; + } + + smiv2:alias "ciscoASA5580sy" { + smiv2:oid "1.3.6.1.4.1.9.1.916"; + } + + smiv2:alias "cat4900M" { + smiv2:oid "1.3.6.1.4.1.9.1.917"; + } + + smiv2:alias "catWsCbs3120gS" { + smiv2:oid "1.3.6.1.4.1.9.1.918"; + } + + smiv2:alias "catWsCbs3120xS" { + smiv2:oid "1.3.6.1.4.1.9.1.919"; + } + + smiv2:alias "catWsCbs3032Del" { + smiv2:oid "1.3.6.1.4.1.9.1.920"; + } + + smiv2:alias "catWsCbs3130gS" { + smiv2:oid "1.3.6.1.4.1.9.1.921"; + } + + smiv2:alias "catWsCbs3130xS" { + smiv2:oid "1.3.6.1.4.1.9.1.922"; + } + + smiv2:alias "ciscoASR1002" { + smiv2:oid "1.3.6.1.4.1.9.1.923"; + } + + smiv2:alias "ciscoASR1004" { + smiv2:oid "1.3.6.1.4.1.9.1.924"; + } + + smiv2:alias "ciscoASR1006" { + smiv2:oid "1.3.6.1.4.1.9.1.925"; + } + + smiv2:alias "cisco520WirelessController" { + smiv2:oid "1.3.6.1.4.1.9.1.926"; + } + + smiv2:alias "cat296048TCS" { + smiv2:oid "1.3.6.1.4.1.9.1.927"; + } + + smiv2:alias "cat296024TCS" { + smiv2:oid "1.3.6.1.4.1.9.1.928"; + } + + smiv2:alias "cat296024S" { + smiv2:oid "1.3.6.1.4.1.9.1.929"; + } + + smiv2:alias "cat3560e12d" { + smiv2:oid "1.3.6.1.4.1.9.1.930"; + } + + smiv2:alias "ciscoCatRfgw" { + smiv2:oid "1.3.6.1.4.1.9.1.931"; + } + + smiv2:alias "catExpress52024TT" { + smiv2:oid "1.3.6.1.4.1.9.1.932"; + } + + smiv2:alias "catExpress52024LC" { + smiv2:oid "1.3.6.1.4.1.9.1.933"; + } + + smiv2:alias "catExpress52024PC" { + smiv2:oid "1.3.6.1.4.1.9.1.934"; + } + + smiv2:alias "catExpress520G24TC" { + smiv2:oid "1.3.6.1.4.1.9.1.935"; + } + + smiv2:alias "ciscoCDScde100" { + smiv2:oid "1.3.6.1.4.1.9.1.936"; + } + + smiv2:alias "ciscoCDScde200" { + smiv2:oid "1.3.6.1.4.1.9.1.937"; + } + + smiv2:alias "ciscoCDScde300" { + smiv2:oid "1.3.6.1.4.1.9.1.938"; + } + + smiv2:alias "cisco1861SrstCue2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.939"; + } + + smiv2:alias "cisco1861SrstCue4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.940"; + } + + smiv2:alias "ciscoVFrameDataCenter" { + smiv2:oid "1.3.6.1.4.1.9.1.941"; + } + + smiv2:alias "ciscoVQEServer" { + smiv2:oid "1.3.6.1.4.1.9.1.942"; + } + + smiv2:alias "ciscoIPSSSM40Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.943"; + } + + smiv2:alias "ciscoIPSSSM40" { + smiv2:oid "1.3.6.1.4.1.9.1.944"; + } + + smiv2:alias "ciscoVgd1t3" { + smiv2:oid "1.3.6.1.4.1.9.1.945"; + } + + smiv2:alias "ciscoCBS3100" { + smiv2:oid "1.3.6.1.4.1.9.1.946"; + } + + smiv2:alias "ciscoCBS3110" { + smiv2:oid "1.3.6.1.4.1.9.1.947"; + } + + smiv2:alias "ciscoCBS3120" { + smiv2:oid "1.3.6.1.4.1.9.1.948"; + } + + smiv2:alias "ciscoCBS3130" { + smiv2:oid "1.3.6.1.4.1.9.1.949"; + } + + smiv2:alias "catalyst296024PC" { + smiv2:oid "1.3.6.1.4.1.9.1.950"; + } + + smiv2:alias "catalyst296024LT" { + smiv2:oid "1.3.6.1.4.1.9.1.951"; + } + + smiv2:alias "catalyst2960PD8TT" { + smiv2:oid "1.3.6.1.4.1.9.1.952"; + } + + smiv2:alias "ciscoSpa2x1geSynce" { + smiv2:oid "1.3.6.1.4.1.9.1.953"; + } + + smiv2:alias "ciscoN5kC5020pBa" { + smiv2:oid "1.3.6.1.4.1.9.1.954"; + } + + smiv2:alias "ciscoN5kC5020pBd" { + smiv2:oid "1.3.6.1.4.1.9.1.955"; + } + + smiv2:alias "catalyst3560E12SD" { + smiv2:oid "1.3.6.1.4.1.9.1.956"; + } + + smiv2:alias "ciscoOe674" { + smiv2:oid "1.3.6.1.4.1.9.1.957"; + } + + smiv2:alias "ciscoIE30004TC" { + smiv2:oid "1.3.6.1.4.1.9.1.958"; + } + + smiv2:alias "ciscoIE30008TC" { + smiv2:oid "1.3.6.1.4.1.9.1.959"; + } + + smiv2:alias "ciscoRAIE1783MS06T" { + smiv2:oid "1.3.6.1.4.1.9.1.960"; + } + + smiv2:alias "ciscoRAIE1783MS10T" { + smiv2:oid "1.3.6.1.4.1.9.1.961"; + } + + smiv2:alias "cisco2435Iad8fxs" { + smiv2:oid "1.3.6.1.4.1.9.1.962"; + } + + smiv2:alias "ciscoVG204" { + smiv2:oid "1.3.6.1.4.1.9.1.963"; + } + + smiv2:alias "ciscoVG202" { + smiv2:oid "1.3.6.1.4.1.9.1.964"; + } + + smiv2:alias "catalyst291824TT" { + smiv2:oid "1.3.6.1.4.1.9.1.965"; + } + + smiv2:alias "catalyst291824TC" { + smiv2:oid "1.3.6.1.4.1.9.1.966"; + } + + smiv2:alias "catalyst291848TT" { + smiv2:oid "1.3.6.1.4.1.9.1.967"; + } + + smiv2:alias "catalyst291848TC" { + smiv2:oid "1.3.6.1.4.1.9.1.968"; + } + + smiv2:alias "ciscoVQETools" { + smiv2:oid "1.3.6.1.4.1.9.1.969"; + } + + smiv2:alias "ciscoUC520m24U4BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.970"; + } + + smiv2:alias "ciscoUC520m24U8FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.971"; + } + + smiv2:alias "ciscoUC520s16U2BRIWK9J" { + smiv2:oid "1.3.6.1.4.1.9.1.972"; + } + + smiv2:alias "ciscoUC520s8U2BRIWK9J" { + smiv2:oid "1.3.6.1.4.1.9.1.973"; + } + + smiv2:alias "ciscoVSIntSp" { + smiv2:oid "1.3.6.1.4.1.9.1.974"; + } + + smiv2:alias "ciscoVSSP" { + smiv2:oid "1.3.6.1.4.1.9.1.975"; + } + + smiv2:alias "ciscoVSHydecoder" { + smiv2:oid "1.3.6.1.4.1.9.1.976"; + } + + smiv2:alias "ciscoVSDecoder" { + smiv2:oid "1.3.6.1.4.1.9.1.977"; + } + + smiv2:alias "ciscoVSEncoder4P" { + smiv2:oid "1.3.6.1.4.1.9.1.978"; + } + + smiv2:alias "ciscoVSEncoder1P" { + smiv2:oid "1.3.6.1.4.1.9.1.979"; + } + + smiv2:alias "ciscoSCS1000K9" { + smiv2:oid "1.3.6.1.4.1.9.1.980"; + } + + smiv2:alias "cisco1805" { + smiv2:oid "1.3.6.1.4.1.9.1.981"; + } + + smiv2:alias "ciscoCe7341" { + smiv2:oid "1.3.6.1.4.1.9.1.982"; + } + + smiv2:alias "ciscoCe7371" { + smiv2:oid "1.3.6.1.4.1.9.1.983"; + } + + smiv2:alias "cisco7613s" { + smiv2:oid "1.3.6.1.4.1.9.1.984"; + } + + smiv2:alias "ciscoOe574" { + smiv2:oid "1.3.6.1.4.1.9.1.985"; + } + + smiv2:alias "ciscoOe474" { + smiv2:oid "1.3.6.1.4.1.9.1.986"; + } + + smiv2:alias "ciscoOe274" { + smiv2:oid "1.3.6.1.4.1.9.1.987"; + } + + smiv2:alias "ciscoAp801agn" { + smiv2:oid "1.3.6.1.4.1.9.1.988"; + } + + smiv2:alias "ciscoAp801gn" { + smiv2:oid "1.3.6.1.4.1.9.1.989"; + } + + smiv2:alias "cisco1861WSrstCue4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.990"; + } + + smiv2:alias "cisco1861WSrstCue2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.991"; + } + + smiv2:alias "cisco1861WSrst4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.992"; + } + + smiv2:alias "cisco1861WSrst2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.993"; + } + + smiv2:alias "cisco1861WUc4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.994"; + } + + smiv2:alias "cisco1861WUc2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.995"; + } + + smiv2:alias "ciscoCe674" { + smiv2:oid "1.3.6.1.4.1.9.1.996"; + } + + smiv2:alias "ciscoVQEIST" { + smiv2:oid "1.3.6.1.4.1.9.1.997"; + } + + smiv2:alias "ciscoAIRAP1160" { + smiv2:oid "1.3.6.1.4.1.9.1.998"; + } + + smiv2:alias "ciscoWsCbs3012Ibm" { + smiv2:oid "1.3.6.1.4.1.9.1.999"; + } + + smiv2:alias "ciscoWsCbs3012IbmI" { + smiv2:oid "1.3.6.1.4.1.9.1.1000"; + } + + smiv2:alias "ciscoWsCbs3125gS" { + smiv2:oid "1.3.6.1.4.1.9.1.1001"; + } + + smiv2:alias "ciscoWsCbs3125xS" { + smiv2:oid "1.3.6.1.4.1.9.1.1002"; + } + + smiv2:alias "ciscoTSPriG2" { + smiv2:oid "1.3.6.1.4.1.9.1.1003"; + } + + smiv2:alias "catalyst492810GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1004"; + } + + smiv2:alias "catalyst296048TTS" { + smiv2:oid "1.3.6.1.4.1.9.1.1005"; + } + + smiv2:alias "catalyst29608TCS" { + smiv2:oid "1.3.6.1.4.1.9.1.1006"; + } + + smiv2:alias "ciscoMe3400eg2csA" { + smiv2:oid "1.3.6.1.4.1.9.1.1007"; + } + + smiv2:alias "ciscoMe3400eg12csM" { + smiv2:oid "1.3.6.1.4.1.9.1.1008"; + } + + smiv2:alias "ciscoMe3400e24tsM" { + smiv2:oid "1.3.6.1.4.1.9.1.1009"; + } + + smiv2:alias "ciscoIPSSSC5Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1010"; + } + + smiv2:alias "ciscoSR520FE" { + smiv2:oid "1.3.6.1.4.1.9.1.1011"; + } + + smiv2:alias "ciscoSR520ADSL" { + smiv2:oid "1.3.6.1.4.1.9.1.1012"; + } + + smiv2:alias "ciscoSR520ADSLi" { + smiv2:oid "1.3.6.1.4.1.9.1.1013"; + } + + smiv2:alias "ciscoMwr2941DC" { + smiv2:oid "1.3.6.1.4.1.9.1.1014"; + } + + smiv2:alias "catalyst356012PCS" { + smiv2:oid "1.3.6.1.4.1.9.1.1015"; + } + + smiv2:alias "catalyst296048PSTL" { + smiv2:oid "1.3.6.1.4.1.9.1.1016"; + } + + smiv2:alias "ciscoASR9010" { + smiv2:oid "1.3.6.1.4.1.9.1.1017"; + } + + smiv2:alias "ciscoASR9006" { + smiv2:oid "1.3.6.1.4.1.9.1.1018"; + } + + smiv2:alias "catalyst3560v224tsD" { + smiv2:oid "1.3.6.1.4.1.9.1.1019"; + } + + smiv2:alias "catalyst3560v224ts" { + smiv2:oid "1.3.6.1.4.1.9.1.1020"; + } + + smiv2:alias "catalyst3560v224ps" { + smiv2:oid "1.3.6.1.4.1.9.1.1021"; + } + + smiv2:alias "catalyst3750v224ts" { + smiv2:oid "1.3.6.1.4.1.9.1.1022"; + } + + smiv2:alias "catalyst3750v224ps" { + smiv2:oid "1.3.6.1.4.1.9.1.1023"; + } + + smiv2:alias "catalyst3560v248ts" { + smiv2:oid "1.3.6.1.4.1.9.1.1024"; + } + + smiv2:alias "catalyst3560v248ps" { + smiv2:oid "1.3.6.1.4.1.9.1.1025"; + } + + smiv2:alias "catalyst3750v248ts" { + smiv2:oid "1.3.6.1.4.1.9.1.1026"; + } + + smiv2:alias "catalyst3750v248ps" { + smiv2:oid "1.3.6.1.4.1.9.1.1027"; + } + + smiv2:alias "ciscoHwicCableD2" { + smiv2:oid "1.3.6.1.4.1.9.1.1028"; + } + + smiv2:alias "ciscoHwicCableEJ2" { + smiv2:oid "1.3.6.1.4.1.9.1.1029"; + } + + smiv2:alias "ciscoBr1430" { + smiv2:oid "1.3.6.1.4.1.9.1.1030"; + } + + smiv2:alias "ciscoAIRBR1430" { + smiv2:oid "1.3.6.1.4.1.9.1.1031"; + } + + smiv2:alias "ciscoNamApp2204" { + smiv2:oid "1.3.6.1.4.1.9.1.1032"; + } + + smiv2:alias "ciscoNamApp2220" { + smiv2:oid "1.3.6.1.4.1.9.1.1033"; + } + + smiv2:alias "ciscoAIRAP1141" { + smiv2:oid "1.3.6.1.4.1.9.1.1034"; + } + + smiv2:alias "ciscoAIRAP1142" { + smiv2:oid "1.3.6.1.4.1.9.1.1035"; + } + + smiv2:alias "ciscoASR14K4S" { + smiv2:oid "1.3.6.1.4.1.9.1.1036"; + } + + smiv2:alias "ciscoASR14K8S" { + smiv2:oid "1.3.6.1.4.1.9.1.1037"; + } + + smiv2:alias "cisco18xxx" { + smiv2:oid "1.3.6.1.4.1.9.1.1038"; + } + + smiv2:alias "ciscoIPSSSC5" { + smiv2:oid "1.3.6.1.4.1.9.1.1039"; + } + + smiv2:alias "cisco887Vdsl2" { + smiv2:oid "1.3.6.1.4.1.9.1.1040"; + } + + smiv2:alias "cisco3945" { + smiv2:oid "1.3.6.1.4.1.9.1.1041"; + } + + smiv2:alias "cisco3925" { + smiv2:oid "1.3.6.1.4.1.9.1.1042"; + } + + smiv2:alias "cisco2951" { + smiv2:oid "1.3.6.1.4.1.9.1.1043"; + } + + smiv2:alias "cisco2921" { + smiv2:oid "1.3.6.1.4.1.9.1.1044"; + } + + smiv2:alias "cisco2911" { + smiv2:oid "1.3.6.1.4.1.9.1.1045"; + } + + smiv2:alias "cisco2901" { + smiv2:oid "1.3.6.1.4.1.9.1.1046"; + } + + smiv2:alias "cisco1941" { + smiv2:oid "1.3.6.1.4.1.9.1.1047"; + } + + smiv2:alias "ciscoSm2k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1048"; + } + + smiv2:alias "ciscoSm3k15Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1049"; + } + + smiv2:alias "ciscoSm3k16GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1050"; + } + + smiv2:alias "ciscoSm2k23Es1Ge" { + smiv2:oid "1.3.6.1.4.1.9.1.1051"; + } + + smiv2:alias "ciscoSm2k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1052"; + } + + smiv2:alias "ciscoSm3k23Es1GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1053"; + } + + smiv2:alias "ciscoSm3k24GePoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1054"; + } + + smiv2:alias "ciscoSmXd2k48Es2SFP" { + smiv2:oid "1.3.6.1.4.1.9.1.1055"; + } + + smiv2:alias "ciscoSmXd3k48Es2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1056"; + } + + smiv2:alias "ciscoSmXd3k48Ge2SFPPoe" { + smiv2:oid "1.3.6.1.4.1.9.1.1057"; + } + + smiv2:alias "ciscoEsw52024pK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1058"; + } + + smiv2:alias "ciscoEsw54024pK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1059"; + } + + smiv2:alias "ciscoEsw52048pK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1060"; + } + + smiv2:alias "ciscoEsw52024K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1061"; + } + + smiv2:alias "ciscoEsw54024K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1062"; + } + + smiv2:alias "ciscoEsw52048K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1063"; + } + + smiv2:alias "ciscoEsw54048K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1064"; + } + + smiv2:alias "cisco1861" { + smiv2:oid "1.3.6.1.4.1.9.1.1065"; + } + + smiv2:alias "ciscoUC520" { + smiv2:oid "1.3.6.1.4.1.9.1.1066"; + } + + smiv2:alias "catalystWSC2975GS48PSL" { + smiv2:oid "1.3.6.1.4.1.9.1.1067"; + } + + smiv2:alias "catalystC2975Stack" { + smiv2:oid "1.3.6.1.4.1.9.1.1068"; + } + + smiv2:alias "cisco5500Wlc" { + smiv2:oid "1.3.6.1.4.1.9.1.1069"; + } + + smiv2:alias "ciscoSR520T1" { + smiv2:oid "1.3.6.1.4.1.9.1.1070"; + } + + smiv2:alias "ciscoPwrC3900Poe" { + smiv2:oid "1.3.6.1.4.1.9.1.1071"; + } + + smiv2:alias "ciscoPwrC3900AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1072"; + } + + smiv2:alias "ciscoPwrC2921C2951Poe" { + smiv2:oid "1.3.6.1.4.1.9.1.1073"; + } + + smiv2:alias "ciscoPwrC2921C2951AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1074"; + } + + smiv2:alias "ciscoPwrC2911Poe" { + smiv2:oid "1.3.6.1.4.1.9.1.1075"; + } + + smiv2:alias "ciscoPwrC2911AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1076"; + } + + smiv2:alias "ciscoPwrC2901Poe" { + smiv2:oid "1.3.6.1.4.1.9.1.1077"; + } + + smiv2:alias "ciscoPwrC1941C2901AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1078"; + } + + smiv2:alias "ciscoPwrC1941Poe" { + smiv2:oid "1.3.6.1.4.1.9.1.1079"; + } + + smiv2:alias "ciscoPwrC3900DC" { + smiv2:oid "1.3.6.1.4.1.9.1.1080"; + } + + smiv2:alias "ciscoPwrC2921C2951DC" { + smiv2:oid "1.3.6.1.4.1.9.1.1081"; + } + + smiv2:alias "ciscoPwrC2911DC" { + smiv2:oid "1.3.6.1.4.1.9.1.1082"; + } + + smiv2:alias "ciscoRpsAdptrC2921C2951" { + smiv2:oid "1.3.6.1.4.1.9.1.1083"; + } + + smiv2:alias "ciscoRpsAdptrC2911" { + smiv2:oid "1.3.6.1.4.1.9.1.1084"; + } + + smiv2:alias "ciscoIPSSSC2" { + smiv2:oid "1.3.6.1.4.1.9.1.1085"; + } + + smiv2:alias "ciscoIPSSSC2Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1086"; + } + + smiv2:alias "catalystWSCBS3140XS" { + smiv2:oid "1.3.6.1.4.1.9.1.1087"; + } + + smiv2:alias "catalystWSCBS3140GS" { + smiv2:oid "1.3.6.1.4.1.9.1.1088"; + } + + smiv2:alias "catalystWSCBS3042FSC" { + smiv2:oid "1.3.6.1.4.1.9.1.1089"; + } + + smiv2:alias "catalystWSCBS3150XS" { + smiv2:oid "1.3.6.1.4.1.9.1.1090"; + } + + smiv2:alias "catalystWSCBS3150GS" { + smiv2:oid "1.3.6.1.4.1.9.1.1091"; + } + + smiv2:alias "catalystWSCBS3052NEC" { + smiv2:oid "1.3.6.1.4.1.9.1.1092"; + } + + smiv2:alias "ciscoCBS3140Stack" { + smiv2:oid "1.3.6.1.4.1.9.1.1093"; + } + + smiv2:alias "ciscoCBS3150Stack" { + smiv2:oid "1.3.6.1.4.1.9.1.1094"; + } + + smiv2:alias "cisco1941W" { + smiv2:oid "1.3.6.1.4.1.9.1.1095"; + } + + smiv2:alias "ciscoC888E" { + smiv2:oid "1.3.6.1.4.1.9.1.1096"; + } + + smiv2:alias "ciscoC888EG" { + smiv2:oid "1.3.6.1.4.1.9.1.1097"; + } + + smiv2:alias "ciscoIad888EB" { + smiv2:oid "1.3.6.1.4.1.9.1.1098"; + } + + smiv2:alias "ciscoIad888EF" { + smiv2:oid "1.3.6.1.4.1.9.1.1099"; + } + + smiv2:alias "ciscoC888ESRST" { + smiv2:oid "1.3.6.1.4.1.9.1.1100"; + } + + smiv2:alias "ciscoASA5505W" { + smiv2:oid "1.3.6.1.4.1.9.1.1101"; + } + + smiv2:alias "cisco3845nv" { + smiv2:oid "1.3.6.1.4.1.9.1.1102"; + } + + smiv2:alias "cisco3825nv" { + smiv2:oid "1.3.6.1.4.1.9.1.1103"; + } + + smiv2:alias "catalystWSC235048TD" { + smiv2:oid "1.3.6.1.4.1.9.1.1104"; + } + + smiv2:alias "cisco887M" { + smiv2:oid "1.3.6.1.4.1.9.1.1105"; + } + + smiv2:alias "ciscoVg250" { + smiv2:oid "1.3.6.1.4.1.9.1.1106"; + } + + smiv2:alias "ciscoVg226e" { + smiv2:oid "1.3.6.1.4.1.9.1.1107"; + } + + smiv2:alias "ciscoDsIbm8GfcK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1108"; + } + + smiv2:alias "ciscoDsHp8GfcK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1109"; + } + + smiv2:alias "ciscoDsDell8GfcK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1110"; + } + + smiv2:alias "ciscoDsC9148K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1111"; + } + + smiv2:alias "ciscoCeVirtualBlade" { + smiv2:oid "1.3.6.1.4.1.9.1.1112"; + } + + smiv2:alias "ciscoCDScde420" { + smiv2:oid "1.3.6.1.4.1.9.1.1113"; + } + + smiv2:alias "ciscoCDScde220" { + smiv2:oid "1.3.6.1.4.1.9.1.1114"; + } + + smiv2:alias "ciscoCDScde110" { + smiv2:oid "1.3.6.1.4.1.9.1.1115"; + } + + smiv2:alias "ciscoASR1002F" { + smiv2:oid "1.3.6.1.4.1.9.1.1116"; + } + + smiv2:alias "ciscoSecureAccessControlSystem" { + smiv2:oid "1.3.6.1.4.1.9.1.1117"; + } + + smiv2:alias "cisco861Npe" { + smiv2:oid "1.3.6.1.4.1.9.1.1118"; + } + + smiv2:alias "cisco881Npe" { + smiv2:oid "1.3.6.1.4.1.9.1.1119"; + } + + smiv2:alias "cisco881GNpe" { + smiv2:oid "1.3.6.1.4.1.9.1.1120"; + } + + smiv2:alias "cisco887Npe" { + smiv2:oid "1.3.6.1.4.1.9.1.1121"; + } + + smiv2:alias "cisco888GNpe" { + smiv2:oid "1.3.6.1.4.1.9.1.1122"; + } + + smiv2:alias "cisco891Npe" { + smiv2:oid "1.3.6.1.4.1.9.1.1123"; + } + + smiv2:alias "ciscoAIRAP3501" { + smiv2:oid "1.3.6.1.4.1.9.1.1124"; + } + + smiv2:alias "ciscoAIRAP3502" { + smiv2:oid "1.3.6.1.4.1.9.1.1125"; + } + + smiv2:alias "ciscoCDScde400" { + smiv2:oid "1.3.6.1.4.1.9.1.1126"; + } + + smiv2:alias "ciscoSA520K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1127"; + } + + smiv2:alias "ciscoSA520WK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1128"; + } + + smiv2:alias "ciscoSA540K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1129"; + } + + smiv2:alias "ciscoSps2004B" { + smiv2:oid "1.3.6.1.4.1.9.1.1130"; + } + + smiv2:alias "ciscoSps204B" { + smiv2:oid "1.3.6.1.4.1.9.1.1131"; + } + + smiv2:alias "ciscoUC560T1E1K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1132"; + } + + smiv2:alias "ciscoUC560BRIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1133"; + } + + smiv2:alias "ciscoUC560FXOK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1134"; + } + + smiv2:alias "ciscoAp541nAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1135"; + } + + smiv2:alias "ciscoAp541nEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1136"; + } + + smiv2:alias "ciscoAp541nNK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1137"; + } + + smiv2:alias "cisco887GVdsl2" { + smiv2:oid "1.3.6.1.4.1.9.1.1138"; + } + + smiv2:alias "cisco887SrstVdsl2" { + smiv2:oid "1.3.6.1.4.1.9.1.1139"; + } + + smiv2:alias "ciscoUc540wFxoK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1140"; + } + + smiv2:alias "ciscoUc540wBriK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1141"; + } + + smiv2:alias "ciscoCaServer" { + smiv2:oid "1.3.6.1.4.1.9.1.1142"; + } + + smiv2:alias "ciscoCaManager" { + smiv2:oid "1.3.6.1.4.1.9.1.1143"; + } + + smiv2:alias "cisco3925SPE200" { + smiv2:oid "1.3.6.1.4.1.9.1.1144"; + } + + smiv2:alias "cisco3945SPE250" { + smiv2:oid "1.3.6.1.4.1.9.1.1145"; + } + + smiv2:alias "catalyst296024LCS" { + smiv2:oid "1.3.6.1.4.1.9.1.1146"; + } + + smiv2:alias "catalyst296024PCS" { + smiv2:oid "1.3.6.1.4.1.9.1.1147"; + } + + smiv2:alias "catalyst296048PSTS" { + smiv2:oid "1.3.6.1.4.1.9.1.1148"; + } + + smiv2:alias "ciscoISM" { + smiv2:oid "1.3.6.1.4.1.9.1.1149"; + } + + smiv2:alias "ciscoSM" { + smiv2:oid "1.3.6.1.4.1.9.1.1150"; + } + + smiv2:alias "ciscoNMEAXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1151"; + } + + smiv2:alias "ciscoAIMAXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1152"; + } + + smiv2:alias "ciscoAIM2AXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1153"; + } + + smiv2:alias "ciscoSRP521" { + smiv2:oid "1.3.6.1.4.1.9.1.1154"; + } + + smiv2:alias "ciscoSRP526" { + smiv2:oid "1.3.6.1.4.1.9.1.1155"; + } + + smiv2:alias "ciscoSRP527" { + smiv2:oid "1.3.6.1.4.1.9.1.1156"; + } + + smiv2:alias "ciscoSRP541" { + smiv2:oid "1.3.6.1.4.1.9.1.1157"; + } + + smiv2:alias "ciscoSRP546" { + smiv2:oid "1.3.6.1.4.1.9.1.1158"; + } + + smiv2:alias "ciscoSRP547" { + smiv2:oid "1.3.6.1.4.1.9.1.1159"; + } + + smiv2:alias "ciscoVS510FXO" { + smiv2:oid "1.3.6.1.4.1.9.1.1160"; + } + + smiv2:alias "ciscoNmWae900" { + smiv2:oid "1.3.6.1.4.1.9.1.1161"; + } + + smiv2:alias "ciscoNmWae700" { + smiv2:oid "1.3.6.1.4.1.9.1.1162"; + } + + smiv2:alias "cisco5940RA" { + smiv2:oid "1.3.6.1.4.1.9.1.1163"; + } + + smiv2:alias "cisco5940RC" { + smiv2:oid "1.3.6.1.4.1.9.1.1164"; + } + + smiv2:alias "ciscoASR1001" { + smiv2:oid "1.3.6.1.4.1.9.1.1165"; + } + + smiv2:alias "ciscoASR1013" { + smiv2:oid "1.3.6.1.4.1.9.1.1166"; + } + + smiv2:alias "ciscoCDScde205" { + smiv2:oid "1.3.6.1.4.1.9.1.1167"; + } + + smiv2:alias "ciscoPwr1941AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1168"; + } + + smiv2:alias "ciscoNamWaasVirtualBlade" { + smiv2:oid "1.3.6.1.4.1.9.1.1169"; + } + + smiv2:alias "ciscoRaie1783Rms06t" { + smiv2:oid "1.3.6.1.4.1.9.1.1170"; + } + + smiv2:alias "ciscoRaie1783Rms10t" { + smiv2:oid "1.3.6.1.4.1.9.1.1171"; + } + + smiv2:alias "cisco1941WEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1172"; + } + + smiv2:alias "cisco1941WPK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1173"; + } + + smiv2:alias "cisco1941WNK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1174"; + } + + smiv2:alias "ciscoMXE5600" { + smiv2:oid "1.3.6.1.4.1.9.1.1175"; + } + + smiv2:alias "ciscoEsw5408pK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1176"; + } + + smiv2:alias "ciscoEsw5208pK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1177"; + } + + smiv2:alias "catalyst4948e10GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1178"; + } + + smiv2:alias "cat2960x48tsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1179"; + } + + smiv2:alias "cat2960x24tsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1180"; + } + + smiv2:alias "cat2960xs48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1181"; + } + + smiv2:alias "cat2960xs48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1182"; + } + + smiv2:alias "cat2960xs48ltdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1183"; + } + + smiv2:alias "cat2960xs24pdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1184"; + } + + smiv2:alias "cat2960xs24tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1185"; + } + + smiv2:alias "cat2960xs48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1186"; + } + + smiv2:alias "cat2960xs48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1187"; + } + + smiv2:alias "cat2960xs24psL" { + smiv2:oid "1.3.6.1.4.1.9.1.1188"; + } + + smiv2:alias "cat2960xs48tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1189"; + } + + smiv2:alias "cat2960xs24tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1190"; + } + + smiv2:alias "cisco1921k9" { + smiv2:oid "1.3.6.1.4.1.9.1.1191"; + } + + smiv2:alias "cisco1905k9" { + smiv2:oid "1.3.6.1.4.1.9.1.1192"; + } + + smiv2:alias "ciscoPwrC1921C1905AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1193"; + } + + smiv2:alias "ciscoASA5585Ssp10" { + smiv2:oid "1.3.6.1.4.1.9.1.1194"; + } + + smiv2:alias "ciscoASA5585Ssp20" { + smiv2:oid "1.3.6.1.4.1.9.1.1195"; + } + + smiv2:alias "ciscoASA5585Ssp40" { + smiv2:oid "1.3.6.1.4.1.9.1.1196"; + } + + smiv2:alias "ciscoASA5585Ssp60" { + smiv2:oid "1.3.6.1.4.1.9.1.1197"; + } + + smiv2:alias "ciscoASA5585Ssp10sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1198"; + } + + smiv2:alias "ciscoASA5585Ssp20sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1199"; + } + + smiv2:alias "ciscoASA5585Ssp40sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1200"; + } + + smiv2:alias "ciscoASA5585Ssp60sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1201"; + } + + smiv2:alias "ciscoASA5585Ssp10sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1202"; + } + + smiv2:alias "ciscoASA5585Ssp20sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1203"; + } + + smiv2:alias "ciscoASA5585Ssp40sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1204"; + } + + smiv2:alias "ciscoASA5585Ssp60sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1205"; + } + + smiv2:alias "cisco3925SPE250" { + smiv2:oid "1.3.6.1.4.1.9.1.1206"; + } + + smiv2:alias "cisco3945SPE200" { + smiv2:oid "1.3.6.1.4.1.9.1.1207"; + } + + smiv2:alias "cat29xxStack" { + smiv2:oid "1.3.6.1.4.1.9.1.1208"; + } + + smiv2:alias "ciscoOeNm302" { + smiv2:oid "1.3.6.1.4.1.9.1.1209"; + } + + smiv2:alias "ciscoOeNm502" { + smiv2:oid "1.3.6.1.4.1.9.1.1210"; + } + + smiv2:alias "ciscoOeNm522" { + smiv2:oid "1.3.6.1.4.1.9.1.1211"; + } + + smiv2:alias "ciscoOeSmSre700" { + smiv2:oid "1.3.6.1.4.1.9.1.1212"; + } + + smiv2:alias "ciscoOeSmSre900" { + smiv2:oid "1.3.6.1.4.1.9.1.1213"; + } + + smiv2:alias "ciscoVsaNam" { + smiv2:oid "1.3.6.1.4.1.9.1.1214"; + } + + smiv2:alias "ciscoMwr2941DCA" { + smiv2:oid "1.3.6.1.4.1.9.1.1215"; + } + + smiv2:alias "ciscoN7KC7018IOS" { + smiv2:oid "1.3.6.1.4.1.9.1.1216"; + } + + smiv2:alias "ciscoN7KC7010IOS" { + smiv2:oid "1.3.6.1.4.1.9.1.1217"; + } + + smiv2:alias "ciscoN4KDellEth" { + smiv2:oid "1.3.6.1.4.1.9.1.1218"; + } + + smiv2:alias "ciscoN4KDellCiscoEth" { + smiv2:oid "1.3.6.1.4.1.9.1.1219"; + } + + smiv2:alias "cisco1941WCK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1220"; + } + + smiv2:alias "ciscoCDScde2202s3" { + smiv2:oid "1.3.6.1.4.1.9.1.1221"; + } + + smiv2:alias "cat3750x24" { + smiv2:oid "1.3.6.1.4.1.9.1.1222"; + } + + smiv2:alias "cat3750x48" { + smiv2:oid "1.3.6.1.4.1.9.1.1223"; + } + + smiv2:alias "cat3750x24P" { + smiv2:oid "1.3.6.1.4.1.9.1.1224"; + } + + smiv2:alias "cat3750x48P" { + smiv2:oid "1.3.6.1.4.1.9.1.1225"; + } + + smiv2:alias "cat3560x24" { + smiv2:oid "1.3.6.1.4.1.9.1.1226"; + } + + smiv2:alias "cat3560x48" { + smiv2:oid "1.3.6.1.4.1.9.1.1227"; + } + + smiv2:alias "cat3560x24P" { + smiv2:oid "1.3.6.1.4.1.9.1.1228"; + } + + smiv2:alias "cat3560x48P" { + smiv2:oid "1.3.6.1.4.1.9.1.1229"; + } + + smiv2:alias "ciscoNMEAIR" { + smiv2:oid "1.3.6.1.4.1.9.1.1230"; + } + + smiv2:alias "ciscoACE30K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1231"; + } + + smiv2:alias "ciscoASA5585SspIps10" { + smiv2:oid "1.3.6.1.4.1.9.1.1232"; + } + + smiv2:alias "ciscoASA5585SspIps20" { + smiv2:oid "1.3.6.1.4.1.9.1.1233"; + } + + smiv2:alias "ciscoASA5585SspIps40" { + smiv2:oid "1.3.6.1.4.1.9.1.1234"; + } + + smiv2:alias "ciscoASA5585SspIps60" { + smiv2:oid "1.3.6.1.4.1.9.1.1235"; + } + + smiv2:alias "cisco1841CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1236"; + } + + smiv2:alias "cisco2801CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1237"; + } + + smiv2:alias "cisco2811CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1238"; + } + + smiv2:alias "cisco2821CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1239"; + } + + smiv2:alias "cisco2851CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1240"; + } + + smiv2:alias "cisco3825CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1241"; + } + + smiv2:alias "cisco3845CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1242"; + } + + smiv2:alias "cisco3825CnvK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1243"; + } + + smiv2:alias "cisco3845CnvK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1244"; + } + + smiv2:alias "ciscoCGS252024TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1245"; + } + + smiv2:alias "ciscoCGS252016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.1.1246"; + } + + smiv2:alias "ciscoAIRAP1262" { + smiv2:oid "1.3.6.1.4.1.9.1.1247"; + } + + smiv2:alias "ciscoAIRAP1261" { + smiv2:oid "1.3.6.1.4.1.9.1.1248"; + } + + smiv2:alias "cisco892F" { + smiv2:oid "1.3.6.1.4.1.9.1.1249"; + } + + smiv2:alias "ciscoMe3600x24fsM" { + smiv2:oid "1.3.6.1.4.1.9.1.1250"; + } + + smiv2:alias "ciscoMe3600x24tsM" { + smiv2:oid "1.3.6.1.4.1.9.1.1251"; + } + + smiv2:alias "ciscoMe3800x24fsM" { + smiv2:oid "1.3.6.1.4.1.9.1.1252"; + } + + smiv2:alias "ciscoCGR2010" { + smiv2:oid "1.3.6.1.4.1.9.1.1253"; + } + + smiv2:alias "ciscoPwrCGR20xxCGS25xxPoeAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1254"; + } + + smiv2:alias "ciscoPwrCGR20xxCGS25xxPoeDC" { + smiv2:oid "1.3.6.1.4.1.9.1.1255"; + } + + smiv2:alias "catWsC2960s48tsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1256"; + } + + smiv2:alias "catWsC2960s24tsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1257"; + } + + smiv2:alias "catWsC2960s48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1258"; + } + + smiv2:alias "catWsC2960s48ldpL" { + smiv2:oid "1.3.6.1.4.1.9.1.1259"; + } + + smiv2:alias "catWsC2960s48tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1260"; + } + + smiv2:alias "catWsC2960s24pdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1261"; + } + + smiv2:alias "catWsC2960s24tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1262"; + } + + smiv2:alias "catWsC2960s48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1263"; + } + + smiv2:alias "catWsC2960s48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1264"; + } + + smiv2:alias "catWsC2960s24psL" { + smiv2:oid "1.3.6.1.4.1.9.1.1265"; + } + + smiv2:alias "catWsC2960s48tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1266"; + } + + smiv2:alias "catWsC2960s24tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1267"; + } + + smiv2:alias "cisco1906CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1268"; + } + + smiv2:alias "ciscoAIRAP1042" { + smiv2:oid "1.3.6.1.4.1.9.1.1269"; + } + + smiv2:alias "ciscoAIRAP1041" { + smiv2:oid "1.3.6.1.4.1.9.1.1270"; + } + + smiv2:alias "cisco887VaM" { + smiv2:oid "1.3.6.1.4.1.9.1.1271"; + } + + smiv2:alias "cisco867Va" { + smiv2:oid "1.3.6.1.4.1.9.1.1272"; + } + + smiv2:alias "cisco886Va" { + smiv2:oid "1.3.6.1.4.1.9.1.1273"; + } + + smiv2:alias "cisco887Va" { + smiv2:oid "1.3.6.1.4.1.9.1.1274"; + } + + smiv2:alias "ciscoASASm1sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1275"; + } + + smiv2:alias "ciscoASASm1sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1276"; + } + + smiv2:alias "ciscoASASm1" { + smiv2:oid "1.3.6.1.4.1.9.1.1277"; + } + + smiv2:alias "cat2960cPD8TT" { + smiv2:oid "1.3.6.1.4.1.9.1.1278"; + } + + smiv2:alias "ciscoAirCt2504K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1279"; + } + + smiv2:alias "ciscoISMAXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1280"; + } + + smiv2:alias "ciscoSMAXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1281"; + } + + smiv2:alias "ciscoAxpSmSre900" { + smiv2:oid "1.3.6.1.4.1.9.1.1282"; + } + + smiv2:alias "ciscoAxpSmSre700" { + smiv2:oid "1.3.6.1.4.1.9.1.1283"; + } + + smiv2:alias "ciscoAxpIsmSre300" { + smiv2:oid "1.3.6.1.4.1.9.1.1284"; + } + + smiv2:alias "ciscoCDSISM" { + smiv2:oid "1.3.6.1.4.1.9.1.1285"; + } + + smiv2:alias "cat4507rpluse" { + smiv2:oid "1.3.6.1.4.1.9.1.1286"; + } + + smiv2:alias "cat4510rpluse" { + smiv2:oid "1.3.6.1.4.1.9.1.1287"; + } + + smiv2:alias "ciscoAxpNme302" { + smiv2:oid "1.3.6.1.4.1.9.1.1288"; + } + + smiv2:alias "ciscoAxpNme502" { + smiv2:oid "1.3.6.1.4.1.9.1.1289"; + } + + smiv2:alias "ciscoAxpNme522" { + smiv2:oid "1.3.6.1.4.1.9.1.1290"; + } + + smiv2:alias "ciscoACE20K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1291"; + } + + smiv2:alias "ciscoWsC236048tdS" { + smiv2:oid "1.3.6.1.4.1.9.1.1292"; + } + + smiv2:alias "ciscoWiSM2" { + smiv2:oid "1.3.6.1.4.1.9.1.1293"; + } + + smiv2:alias "ciscoCDScde250" { + smiv2:oid "1.3.6.1.4.1.9.1.1294"; + } + + smiv2:alias "cisco7500Wlc" { + smiv2:oid "1.3.6.1.4.1.9.1.1295"; + } + + smiv2:alias "ciscoAnmVirtualApp" { + smiv2:oid "1.3.6.1.4.1.9.1.1296"; + } + + smiv2:alias "ciscoECDS3100" { + smiv2:oid "1.3.6.1.4.1.9.1.1297"; + } + + smiv2:alias "ciscoECDS1100" { + smiv2:oid "1.3.6.1.4.1.9.1.1298"; + } + + smiv2:alias "cisco881G2" { + smiv2:oid "1.3.6.1.4.1.9.1.1299"; + } + + smiv2:alias "catWsC3750v224fsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1300"; + } + + smiv2:alias "ciscoOeVWaas" { + smiv2:oid "1.3.6.1.4.1.9.1.1301"; + } + + smiv2:alias "ciscoASA5585Ssp10K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1302"; + } + + smiv2:alias "ciscoASA5585Ssp20K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1303"; + } + + smiv2:alias "ciscoASA5585Ssp40K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1304"; + } + + smiv2:alias "ciscoASA5585Ssp60K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1305"; + } + + smiv2:alias "ciscoASA5585Ssp10K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1306"; + } + + smiv2:alias "ciscoASA5585Ssp20K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1307"; + } + + smiv2:alias "ciscoASA5585Ssp40K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1308"; + } + + smiv2:alias "ciscoASA5585Ssp60K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1309"; + } + + smiv2:alias "ciscoASA5585Ssp10K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1310"; + } + + smiv2:alias "ciscoASA5585Ssp20K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1311"; + } + + smiv2:alias "ciscoASA5585Ssp40K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1312"; + } + + smiv2:alias "ciscoASA5585Ssp60K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1313"; + } + + smiv2:alias "ciscoSreSmNam" { + smiv2:oid "1.3.6.1.4.1.9.1.1314"; + } + + smiv2:alias "cat2960cPD8PT" { + smiv2:oid "1.3.6.1.4.1.9.1.1315"; + } + + smiv2:alias "cat2960cG8TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1316"; + } + + smiv2:alias "cat3560cG8PC" { + smiv2:oid "1.3.6.1.4.1.9.1.1317"; + } + + smiv2:alias "cat3560cG8TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1318"; + } + + smiv2:alias "ciscoIE301016S8PC" { + smiv2:oid "1.3.6.1.4.1.9.1.1319"; + } + + smiv2:alias "ciscoIE301024TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1320"; + } + + smiv2:alias "ciscoRAIE1783RMSB10T" { + smiv2:oid "1.3.6.1.4.1.9.1.1321"; + } + + smiv2:alias "ciscoRAIE1783RMSB06T" { + smiv2:oid "1.3.6.1.4.1.9.1.1322"; + } + + smiv2:alias "ciscoASA5585SspIps10K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1323"; + } + + smiv2:alias "ciscoASA5585SspIps20K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1324"; + } + + smiv2:alias "ciscoASA5585SspIps40K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1325"; + } + + smiv2:alias "ciscoASA5585SspIps60K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1326"; + } + + smiv2:alias "catalyst4948ef10GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1327"; + } + + smiv2:alias "cat292824TCC" { + smiv2:oid "1.3.6.1.4.1.9.1.1328"; + } + + smiv2:alias "cat292848TCC" { + smiv2:oid "1.3.6.1.4.1.9.1.1329"; + } + + smiv2:alias "cat292824LTC" { + smiv2:oid "1.3.6.1.4.1.9.1.1330"; + } + + smiv2:alias "ciscoCrs16SB" { + smiv2:oid "1.3.6.1.4.1.9.1.1331"; + } + + smiv2:alias "ciscoQuad" { + smiv2:oid "1.3.6.1.4.1.9.1.1332"; + } + + smiv2:alias "ciscoASASm1K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1334"; + } + + smiv2:alias "ciscoASASm1K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1335"; + } + + smiv2:alias "ciscoASASm1K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1336"; + } + + smiv2:alias "ciscoPwrCGR2010PoeAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1337"; + } + + smiv2:alias "ciscoPwrCGR2010PoeDC" { + smiv2:oid "1.3.6.1.4.1.9.1.1338"; + } + + smiv2:alias "cisco1861eUc2BK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1339"; + } + + smiv2:alias "cisco1861eUc4FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1340"; + } + + smiv2:alias "ciscoC1861eSrstFK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1341"; + } + + smiv2:alias "ciscoC1861eSrstBK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1342"; + } + + smiv2:alias "ciscoC1861eSrstCFK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1343"; + } + + smiv2:alias "ciscoC1861eSrstCBK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1344"; + } + + smiv2:alias "ciscoGrwicDes6s" { + smiv2:oid "1.3.6.1.4.1.9.1.1346"; + } + + smiv2:alias "ciscoGrwicDes2s8pc" { + smiv2:oid "1.3.6.1.4.1.9.1.1347"; + } + + smiv2:alias "ciscoUCVirtualMachine" { + smiv2:oid "1.3.6.1.4.1.9.1.1348"; + } + + smiv2:alias "ciscoWave8541" { + smiv2:oid "1.3.6.1.4.1.9.1.1349"; + } + + smiv2:alias "ciscoWave7571" { + smiv2:oid "1.3.6.1.4.1.9.1.1350"; + } + + smiv2:alias "ciscoWave7541" { + smiv2:oid "1.3.6.1.4.1.9.1.1351"; + } + + smiv2:alias "ciscoWave694" { + smiv2:oid "1.3.6.1.4.1.9.1.1352"; + } + + smiv2:alias "ciscoWave594" { + smiv2:oid "1.3.6.1.4.1.9.1.1353"; + } + + smiv2:alias "ciscoWave294" { + smiv2:oid "1.3.6.1.4.1.9.1.1354"; + } + + smiv2:alias "cisco5915RC" { + smiv2:oid "1.3.6.1.4.1.9.1.1355"; + } + + smiv2:alias "cisco5915RA" { + smiv2:oid "1.3.6.1.4.1.9.1.1356"; + } + + smiv2:alias "cisco867VAEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1358"; + } + + smiv2:alias "cisco866VAEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1359"; + } + + smiv2:alias "cisco867VAE" { + smiv2:oid "1.3.6.1.4.1.9.1.1360"; + } + + smiv2:alias "cisco866VAE" { + smiv2:oid "1.3.6.1.4.1.9.1.1361"; + } + + smiv2:alias "ciscoAp802gn" { + smiv2:oid "1.3.6.1.4.1.9.1.1362"; + } + + smiv2:alias "ciscoAp802agn" { + smiv2:oid "1.3.6.1.4.1.9.1.1363"; + } + + smiv2:alias "catwsC2960C8tcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1364"; + } + + smiv2:alias "catwsC2960C8tcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1365"; + } + + smiv2:alias "catwsC2960C8pcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1366"; + } + + smiv2:alias "catwsC2960C12pcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1367"; + } + + smiv2:alias "catwsC3560CPD8ptS" { + smiv2:oid "1.3.6.1.4.1.9.1.1368"; + } + + smiv2:alias "cisco1841ve" { + smiv2:oid "1.3.6.1.4.1.9.1.1369"; + } + + smiv2:alias "cisco2811ve" { + smiv2:oid "1.3.6.1.4.1.9.1.1370"; + } + + smiv2:alias "cisco881WAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1371"; + } + + smiv2:alias "cisco881WEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1372"; + } + + smiv2:alias "cisco881WPK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1373"; + } + + smiv2:alias "cisco886VaWEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1374"; + } + + smiv2:alias "cisco887VamWEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1375"; + } + + smiv2:alias "cisco887VaWAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1376"; + } + + smiv2:alias "cisco887VaWEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1377"; + } + + smiv2:alias "cisco819GUK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1378"; + } + + smiv2:alias "cisco819GSK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1379"; + } + + smiv2:alias "cisco819GVK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1380"; + } + + smiv2:alias "cisco819GBK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1381"; + } + + smiv2:alias "cisco819G7AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1382"; + } + + smiv2:alias "cisco819G7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1383"; + } + + smiv2:alias "cisco819HGUK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1384"; + } + + smiv2:alias "cisco819HGSK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1385"; + } + + smiv2:alias "cisco819HGVK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1386"; + } + + smiv2:alias "cisco819HGBK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1387"; + } + + smiv2:alias "cisco819HG7AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1388"; + } + + smiv2:alias "cisco819HG7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1389"; + } + + smiv2:alias "cisco886Vag7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1390"; + } + + smiv2:alias "cisco887VagSK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1391"; + } + + smiv2:alias "cisco887Vag7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1392"; + } + + smiv2:alias "cisco887Vamg7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1393"; + } + + smiv2:alias "cisco888Eg7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1394"; + } + + smiv2:alias "cisco881GUK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1395"; + } + + smiv2:alias "cisco881GSK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1396"; + } + + smiv2:alias "cisco881GVK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1397"; + } + + smiv2:alias "cisco881GBK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1398"; + } + + smiv2:alias "cisco881G7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1399"; + } + + smiv2:alias "cisco881G7AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1400"; + } + + smiv2:alias "cat3750x24s" { + smiv2:oid "1.3.6.1.4.1.9.1.1404"; + } + + smiv2:alias "cat3750x12s" { + smiv2:oid "1.3.6.1.4.1.9.1.1405"; + } + + smiv2:alias "ciscoNME" { + smiv2:oid "1.3.6.1.4.1.9.1.1406"; + } + + smiv2:alias "ciscoASA5512" { + smiv2:oid "1.3.6.1.4.1.9.1.1407"; + } + + smiv2:alias "ciscoASA5525" { + smiv2:oid "1.3.6.1.4.1.9.1.1408"; + } + + smiv2:alias "ciscoASA5545" { + smiv2:oid "1.3.6.1.4.1.9.1.1409"; + } + + smiv2:alias "ciscoASA5555" { + smiv2:oid "1.3.6.1.4.1.9.1.1410"; + } + + smiv2:alias "ciscoASA5512sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1411"; + } + + smiv2:alias "ciscoASA5525sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1412"; + } + + smiv2:alias "ciscoASA5545sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1413"; + } + + smiv2:alias "ciscoASA5555sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1414"; + } + + smiv2:alias "ciscoASA5512sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1415"; + } + + smiv2:alias "ciscoASA5515sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1416"; + } + + smiv2:alias "ciscoASA5525sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1417"; + } + + smiv2:alias "ciscoASA5545sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1418"; + } + + smiv2:alias "ciscoASA5555sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1419"; + } + + smiv2:alias "ciscoASA5515sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1420"; + } + + smiv2:alias "ciscoASA5515" { + smiv2:oid "1.3.6.1.4.1.9.1.1421"; + } + + smiv2:alias "ciscoPCM" { + smiv2:oid "1.3.6.1.4.1.9.1.1422"; + } + + smiv2:alias "ciscoIse3315K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1423"; + } + + smiv2:alias "ciscoIse3395K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1424"; + } + + smiv2:alias "ciscoIse3355K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1425"; + } + + smiv2:alias "ciscoIseVmK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1426"; + } + + smiv2:alias "ciscoIPS4345" { + smiv2:oid "1.3.6.1.4.1.9.1.1428"; + } + + smiv2:alias "ciscoIPS4360" { + smiv2:oid "1.3.6.1.4.1.9.1.1429"; + } + + smiv2:alias "ciscoEcdsVB" { + smiv2:oid "1.3.6.1.4.1.9.1.1432"; + } + + smiv2:alias "ciscoTsCodecG2" { + smiv2:oid "1.3.6.1.4.1.9.1.1433"; + } + + smiv2:alias "ciscoTsCodecG2C" { + smiv2:oid "1.3.6.1.4.1.9.1.1434"; + } + + smiv2:alias "ciscoTSCodecG2RC" { + smiv2:oid "1.3.6.1.4.1.9.1.1435"; + } + + smiv2:alias "ciscoTSCodecG2R" { + smiv2:oid "1.3.6.1.4.1.9.1.1436"; + } + + smiv2:alias "ciscoASA5585SspIps10Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1437"; + } + + smiv2:alias "ciscoASA5585SspIps20Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1438"; + } + + smiv2:alias "ciscoASA5585SspIps40Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1439"; + } + + smiv2:alias "ciscoASA5585SspIps60Virtual" { + smiv2:oid "1.3.6.1.4.1.9.1.1440"; + } + + smiv2:alias "ciscoASR903" { + smiv2:oid "1.3.6.1.4.1.9.1.1441"; + } + + smiv2:alias "ciscoASA5512K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1442"; + } + + smiv2:alias "ciscoASA5515K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1443"; + } + + smiv2:alias "ciscoASA5525K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1444"; + } + + smiv2:alias "ciscoASA5545K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1445"; + } + + smiv2:alias "ciscoASA5555K7" { + smiv2:oid "1.3.6.1.4.1.9.1.1446"; + } + + smiv2:alias "ciscoASA5512K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1447"; + } + + smiv2:alias "ciscoASA5515K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1448"; + } + + smiv2:alias "ciscoASA5525K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1449"; + } + + smiv2:alias "ciscoASA5545K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1450"; + } + + smiv2:alias "ciscoASA5555K7sc" { + smiv2:oid "1.3.6.1.4.1.9.1.1451"; + } + + smiv2:alias "ciscoASA5512K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1452"; + } + + smiv2:alias "ciscoASA5515K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1453"; + } + + smiv2:alias "ciscoASA5525K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1454"; + } + + smiv2:alias "ciscoASA5545K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1455"; + } + + smiv2:alias "ciscoASA5555K7sy" { + smiv2:oid "1.3.6.1.4.1.9.1.1456"; + } + + smiv2:alias "ciscoASR5500" { + smiv2:oid "1.3.6.1.4.1.9.1.1457"; + } + + smiv2:alias "ciscoXfp10Ger192IrL" { + smiv2:oid "1.3.6.1.4.1.9.1.1462"; + } + + smiv2:alias "ciscoXfp10Glr192SrL" { + smiv2:oid "1.3.6.1.4.1.9.1.1463"; + } + + smiv2:alias "ciscoXfp10Gzr192LrL" { + smiv2:oid "1.3.6.1.4.1.9.1.1464"; + } + + smiv2:alias "catwsC3560C12pcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1465"; + } + + smiv2:alias "catwsC3560C8pcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1466"; + } + + smiv2:alias "ciscoCRSFabBP" { + smiv2:oid "1.3.6.1.4.1.9.1.1467"; + } + + smiv2:alias "ciscoIE20004TS" { + smiv2:oid "1.3.6.1.4.1.9.1.1468"; + } + + smiv2:alias "ciscoIE20004T" { + smiv2:oid "1.3.6.1.4.1.9.1.1469"; + } + + smiv2:alias "ciscoIE20004TSG" { + smiv2:oid "1.3.6.1.4.1.9.1.1470"; + } + + smiv2:alias "ciscoIE20004TG" { + smiv2:oid "1.3.6.1.4.1.9.1.1471"; + } + + smiv2:alias "ciscoIE20008TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1472"; + } + + smiv2:alias "ciscoIE20008TCG" { + smiv2:oid "1.3.6.1.4.1.9.1.1473"; + } + + smiv2:alias "ciscoIE200016TC" { + smiv2:oid "1.3.6.1.4.1.9.1.1474"; + } + + smiv2:alias "ciscoIE200016TCG" { + smiv2:oid "1.3.6.1.4.1.9.1.1475"; + } + + smiv2:alias "ciscoRAIE1783BMS06SL" { + smiv2:oid "1.3.6.1.4.1.9.1.1476"; + } + + smiv2:alias "ciscoRAIE1783BMS06TL" { + smiv2:oid "1.3.6.1.4.1.9.1.1477"; + } + + smiv2:alias "ciscoRAIE1783BMS06TA" { + smiv2:oid "1.3.6.1.4.1.9.1.1478"; + } + + smiv2:alias "ciscoRAIE1783BMS06SGL" { + smiv2:oid "1.3.6.1.4.1.9.1.1479"; + } + + smiv2:alias "ciscoRAIE1783BMS06SGA" { + smiv2:oid "1.3.6.1.4.1.9.1.1480"; + } + + smiv2:alias "ciscoRAIE1783BMS06TGL" { + smiv2:oid "1.3.6.1.4.1.9.1.1481"; + } + + smiv2:alias "ciscoRAIE1783BMS06TGA" { + smiv2:oid "1.3.6.1.4.1.9.1.1482"; + } + + smiv2:alias "ciscoRAIE1783BMS10CL" { + smiv2:oid "1.3.6.1.4.1.9.1.1483"; + } + + smiv2:alias "ciscoRAIE1783BMS10CA" { + smiv2:oid "1.3.6.1.4.1.9.1.1484"; + } + + smiv2:alias "ciscoRAIE1783BMS10CGL" { + smiv2:oid "1.3.6.1.4.1.9.1.1485"; + } + + smiv2:alias "ciscoRAIE1783BMS10CGA" { + smiv2:oid "1.3.6.1.4.1.9.1.1486"; + } + + smiv2:alias "ciscoRAIE1783BMS10CGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1487"; + } + + smiv2:alias "ciscoRAIE1783BMS10CGN" { + smiv2:oid "1.3.6.1.4.1.9.1.1488"; + } + + smiv2:alias "ciscoRAIE1783BMS20CL" { + smiv2:oid "1.3.6.1.4.1.9.1.1489"; + } + + smiv2:alias "ciscoRAIE1783BMS20CA" { + smiv2:oid "1.3.6.1.4.1.9.1.1490"; + } + + smiv2:alias "ciscoRAIE1783BMS20CGL" { + smiv2:oid "1.3.6.1.4.1.9.1.1491"; + } + + smiv2:alias "ciscoRAIE1783BMS20CGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1492"; + } + + smiv2:alias "ciscoRAIE1783BMS20CGPK" { + smiv2:oid "1.3.6.1.4.1.9.1.1493"; + } + + smiv2:alias "cisco819HG4GGK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1494"; + } + + smiv2:alias "cisco819G4GAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1495"; + } + + smiv2:alias "cisco819G4GVK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1496"; + } + + smiv2:alias "cisco819G4GGK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1497"; + } + + smiv2:alias "ciscoUcsC200" { + smiv2:oid "1.3.6.1.4.1.9.1.1512"; + } + + smiv2:alias "ciscoUcsC210" { + smiv2:oid "1.3.6.1.4.1.9.1.1513"; + } + + smiv2:alias "ciscoUcsC250" { + smiv2:oid "1.3.6.1.4.1.9.1.1514"; + } + + smiv2:alias "ciscoUcsC260" { + smiv2:oid "1.3.6.1.4.1.9.1.1515"; + } + + smiv2:alias "ciscoUcsC460" { + smiv2:oid "1.3.6.1.4.1.9.1.1516"; + } + + smiv2:alias "ciscoRAIE1783BMS06SA" { + smiv2:oid "1.3.6.1.4.1.9.1.1519"; + } + + smiv2:alias "ciscoIE200016TCGX" { + smiv2:oid "1.3.6.1.4.1.9.1.1520"; + } + + smiv2:alias "ciscoASR901" { + smiv2:oid "1.3.6.1.4.1.9.1.1521"; + } + + smiv2:alias "ciscoASR901E" { + smiv2:oid "1.3.6.1.4.1.9.1.1522"; + } + + smiv2:alias "ciscoOeSmSre910" { + smiv2:oid "1.3.6.1.4.1.9.1.1523"; + } + + smiv2:alias "ciscoOeSmSre710" { + smiv2:oid "1.3.6.1.4.1.9.1.1524"; + } + + smiv2:alias "ciscoASR1002X" { + smiv2:oid "1.3.6.1.4.1.9.1.1525"; + } + + smiv2:alias "ciscoNam2304" { + smiv2:oid "1.3.6.1.4.1.9.1.1527"; + } + + smiv2:alias "ciscoNam2320" { + smiv2:oid "1.3.6.1.4.1.9.1.1528"; + } + + smiv2:alias "ciscoNam3" { + smiv2:oid "1.3.6.1.4.1.9.1.1529"; + } + + smiv2:alias "cisco819HG4GAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1530"; + } + + smiv2:alias "ciscoECDS50IVB" { + smiv2:oid "1.3.6.1.4.1.9.1.1536"; + } + + smiv2:alias "ciscoVSR1000" { + smiv2:oid "1.3.6.1.4.1.9.1.1537"; + } + + smiv2:alias "ciscoASR5000" { + smiv2:oid "1.3.6.1.4.1.9.1.1538"; + } + + smiv2:alias "ciscoflowAgent3000" { + smiv2:oid "1.3.6.1.4.1.9.1.1539"; + } + + smiv2:alias "ciscoTelePresenceMCU5310" { + smiv2:oid "1.3.6.1.4.1.9.1.1540"; + } + + smiv2:alias "ciscoTelePresenceMCU5320" { + smiv2:oid "1.3.6.1.4.1.9.1.1541"; + } + + smiv2:alias "cisco888ea" { + smiv2:oid "1.3.6.1.4.1.9.1.1542"; + } + + smiv2:alias "ciscoVG350" { + smiv2:oid "1.3.6.1.4.1.9.1.1557"; + } + + smiv2:alias "cisco881GW7AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1560"; + } + + smiv2:alias "cisco881GW7EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1561"; + } + + smiv2:alias "cisco881GWSAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1562"; + } + + smiv2:alias "cisco881GWVAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1563"; + } + + smiv2:alias "cisco887Vagw7AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1564"; + } + + smiv2:alias "cisco887Vagw7EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1565"; + } + + smiv2:alias "cisco881WDAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1566"; + } + + smiv2:alias "cisco881WDEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1567"; + } + + smiv2:alias "cisco887VaWDAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1568"; + } + + smiv2:alias "cisco887VaWDEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1569"; + } + + smiv2:alias "cisco819HGW7EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1570"; + } + + smiv2:alias "cisco819HGW7NK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1571"; + } + + smiv2:alias "cisco819HGW7AAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1572"; + } + + smiv2:alias "cisco819HGWVAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1573"; + } + + smiv2:alias "cisco819HGWSAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1574"; + } + + smiv2:alias "cisco819HK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1575"; + } + + smiv2:alias "cisco819HWDEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1576"; + } + + smiv2:alias "cisco819HWDAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1577"; + } + + smiv2:alias "cisco812G7K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1578"; + } + + smiv2:alias "cisco812GCIFI7EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1579"; + } + + smiv2:alias "cisco812GCIFI7NK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1580"; + } + + smiv2:alias "cisco812GCIFIVAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1581"; + } + + smiv2:alias "cisco812GCIFISAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1582"; + } + + smiv2:alias "cisco819GUMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1583"; + } + + smiv2:alias "cisco819GSMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1584"; + } + + smiv2:alias "cisco819GVMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1585"; + } + + smiv2:alias "cisco819GBMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1586"; + } + + smiv2:alias "cisco819G7AMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1587"; + } + + smiv2:alias "cisco819G7MK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1588"; + } + + smiv2:alias "cisco819HGUMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1589"; + } + + smiv2:alias "cisco819HGSMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1590"; + } + + smiv2:alias "cisco819HGVMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1591"; + } + + smiv2:alias "cisco819HGBMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1592"; + } + + smiv2:alias "cisco819HG7AMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1593"; + } + + smiv2:alias "cisco819HG7MK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1594"; + } + + smiv2:alias "ciscoCDScde2502s6" { + smiv2:oid "1.3.6.1.4.1.9.1.1595"; + } + + smiv2:alias "ciscoCDScde2502m0" { + smiv2:oid "1.3.6.1.4.1.9.1.1596"; + } + + smiv2:alias "ciscoCDScde2502s8" { + smiv2:oid "1.3.6.1.4.1.9.1.1597"; + } + + smiv2:alias "cisco881V" { + smiv2:oid "1.3.6.1.4.1.9.1.1600"; + } + + smiv2:alias "cisco887vaV" { + smiv2:oid "1.3.6.1.4.1.9.1.1601"; + } + + smiv2:alias "cisco887vaVW" { + smiv2:oid "1.3.6.1.4.1.9.1.1602"; + } + + smiv2:alias "ciscoMDE10XVB" { + smiv2:oid "1.3.6.1.4.1.9.1.1603"; + } + + smiv2:alias "cat4500X16" { + smiv2:oid "1.3.6.1.4.1.9.1.1605"; + } + + smiv2:alias "cat4500X32" { + smiv2:oid "1.3.6.1.4.1.9.1.1606"; + } + + smiv2:alias "ciscoCDScde2502s9" { + smiv2:oid "1.3.6.1.4.1.9.1.1607"; + } + + smiv2:alias "ciscoCDScde2502s10" { + smiv2:oid "1.3.6.1.4.1.9.1.1608"; + } + + smiv2:alias "ciscoASA5585Nm20x1GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1610"; + } + + smiv2:alias "ciscoCDScdeGeneric" { + smiv2:oid "1.3.6.1.4.1.9.1.1611"; + } + + smiv2:alias "ciscoASA1000Vsy" { + smiv2:oid "1.3.6.1.4.1.9.1.1612"; + } + + smiv2:alias "ciscoASA1000Vsc" { + smiv2:oid "1.3.6.1.4.1.9.1.1613"; + } + + smiv2:alias "ciscoASA1000V" { + smiv2:oid "1.3.6.1.4.1.9.1.1614"; + } + + smiv2:alias "cisco8500WLC" { + smiv2:oid "1.3.6.1.4.1.9.1.1615"; + } + + smiv2:alias "ciscoASA5585Nm8x10GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1617"; + } + + smiv2:alias "ciscoASA5585Nm4x10GE" { + smiv2:oid "1.3.6.1.4.1.9.1.1618"; + } + + smiv2:alias "ciscoISR4400" { + smiv2:oid "1.3.6.1.4.1.9.1.1619"; + } + + smiv2:alias "cisco897VaMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1622"; + } + + smiv2:alias "ciscoVirtualWlc" { + smiv2:oid "1.3.6.1.4.1.9.1.1631"; + } + + smiv2:alias "ciscoAIRAP802agn" { + smiv2:oid "1.3.6.1.4.1.9.1.1632"; + } + + smiv2:alias "ciscoAp802Hagn" { + smiv2:oid "1.3.6.1.4.1.9.1.1633"; + } + + smiv2:alias "ciscoE160DP" { + smiv2:oid "1.3.6.1.4.1.9.1.1634"; + } + + smiv2:alias "ciscoE160D" { + smiv2:oid "1.3.6.1.4.1.9.1.1635"; + } + + smiv2:alias "ciscoE140DP" { + smiv2:oid "1.3.6.1.4.1.9.1.1636"; + } + + smiv2:alias "ciscoE140D" { + smiv2:oid "1.3.6.1.4.1.9.1.1637"; + } + + smiv2:alias "ciscoE140S" { + smiv2:oid "1.3.6.1.4.1.9.1.1638"; + } + + smiv2:alias "ciscoASR9001" { + smiv2:oid "1.3.6.1.4.1.9.1.1639"; + } + + smiv2:alias "ciscoASR9922" { + smiv2:oid "1.3.6.1.4.1.9.1.1640"; + } + + smiv2:alias "cat385048P" { + smiv2:oid "1.3.6.1.4.1.9.1.1641"; + } + + smiv2:alias "cat385024P" { + smiv2:oid "1.3.6.1.4.1.9.1.1642"; + } + + smiv2:alias "cat385048" { + smiv2:oid "1.3.6.1.4.1.9.1.1643"; + } + + smiv2:alias "cat385024" { + smiv2:oid "1.3.6.1.4.1.9.1.1644"; + } + + smiv2:alias "cisco5760wlc" { + smiv2:oid "1.3.6.1.4.1.9.1.1645"; + } + + smiv2:alias "ciscoVSGateway" { + smiv2:oid "1.3.6.1.4.1.9.1.1646"; + } + + smiv2:alias "ciscoIbiza" { + smiv2:oid "1.3.6.1.4.1.9.1.1647"; + } + + smiv2:alias "ciscoSkyros" { + smiv2:oid "1.3.6.1.4.1.9.1.1648"; + } + + smiv2:alias "ciscoAIRAP1601" { + smiv2:oid "1.3.6.1.4.1.9.1.1656"; + } + + smiv2:alias "ciscoCRS8SB" { + smiv2:oid "1.3.6.1.4.1.9.1.1658"; + } + + smiv2:alias "ciscoAIRAP2602" { + smiv2:oid "1.3.6.1.4.1.9.1.1659"; + } + + smiv2:alias "ciscoAIRAP1602" { + smiv2:oid "1.3.6.1.4.1.9.1.1660"; + } + + smiv2:alias "ciscoAIRAP3602" { + smiv2:oid "1.3.6.1.4.1.9.1.1661"; + } + + smiv2:alias "ciscoAIRAP3601" { + smiv2:oid "1.3.6.1.4.1.9.1.1662"; + } + + smiv2:alias "ciscoAIRAP1552" { + smiv2:oid "1.3.6.1.4.1.9.1.1664"; + } + + smiv2:alias "ciscoAIRAP1553" { + smiv2:oid "1.3.6.1.4.1.9.1.1665"; + } + + smiv2:alias "ciscoNexus1010X" { + smiv2:oid "1.3.6.1.4.1.9.1.1667"; + } + + smiv2:alias "ciscoNexus1110S" { + smiv2:oid "1.3.6.1.4.1.9.1.1668"; + } + + smiv2:alias "ciscoNexus1110X" { + smiv2:oid "1.3.6.1.4.1.9.1.1669"; + } + + smiv2:alias "ciscoNexus1110XL" { + smiv2:oid "1.3.6.1.4.1.9.1.1670"; + } + + smiv2:alias "ciscoHsE300K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1674"; + } + + smiv2:alias "cisco866VAEWEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1675"; + } + + smiv2:alias "cisco867VAEWAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1676"; + } + + smiv2:alias "cisco867VAEWEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1677"; + } + + smiv2:alias "cisco867VAEPOEWAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1678"; + } + + smiv2:alias "ciscoOeKWaas" { + smiv2:oid "1.3.6.1.4.1.9.1.1681"; + } + + smiv2:alias "ciscoUcsC220" { + smiv2:oid "1.3.6.1.4.1.9.1.1682"; + } + + smiv2:alias "ciscoUcsC240" { + smiv2:oid "1.3.6.1.4.1.9.1.1683"; + } + + smiv2:alias "ciscoUcsC22" { + smiv2:oid "1.3.6.1.4.1.9.1.1684"; + } + + smiv2:alias "ciscoUcsC24" { + smiv2:oid "1.3.6.1.4.1.9.1.1685"; + } + + smiv2:alias "ciscoCDScde2202s4" { + smiv2:oid "1.3.6.1.4.1.9.1.1686"; + } + + smiv2:alias "ciscoCDScde4604r1" { + smiv2:oid "1.3.6.1.4.1.9.1.1687"; + } + + smiv2:alias "catWsC2960x48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1690"; + } + + smiv2:alias "catWsC2960x48lpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1691"; + } + + smiv2:alias "catWsC2960x48tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1692"; + } + + smiv2:alias "catWsC2960x24pdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1693"; + } + + smiv2:alias "catWsC2960x24tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1694"; + } + + smiv2:alias "catWsC2960x48fpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1695"; + } + + smiv2:alias "catWsC2960x48lpsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1696"; + } + + smiv2:alias "catWsC2960x24psL" { + smiv2:oid "1.3.6.1.4.1.9.1.1697"; + } + + smiv2:alias "catWsC2960x48tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1698"; + } + + smiv2:alias "catWsC2960x24tsL" { + smiv2:oid "1.3.6.1.4.1.9.1.1699"; + } + + smiv2:alias "catWsC2960x24psqL" { + smiv2:oid "1.3.6.1.4.1.9.1.1700"; + } + + smiv2:alias "catWsC2960x48lpsS" { + smiv2:oid "1.3.6.1.4.1.9.1.1701"; + } + + smiv2:alias "catWsC2960x24psS" { + smiv2:oid "1.3.6.1.4.1.9.1.1702"; + } + + smiv2:alias "catWsC2960x48tsLL" { + smiv2:oid "1.3.6.1.4.1.9.1.1703"; + } + + smiv2:alias "catWsC2960x24tsLL" { + smiv2:oid "1.3.6.1.4.1.9.1.1704"; + } + + smiv2:alias "ciscoISR4441" { + smiv2:oid "1.3.6.1.4.1.9.1.1705"; + } + + smiv2:alias "ciscoISR4442" { + smiv2:oid "1.3.6.1.4.1.9.1.1706"; + } + + smiv2:alias "ciscoISR4451" { + smiv2:oid "1.3.6.1.4.1.9.1.1707"; + } + + smiv2:alias "ciscoISR4452" { + smiv2:oid "1.3.6.1.4.1.9.1.1708"; + } + + smiv2:alias "ciscoASR9912" { + smiv2:oid "1.3.6.1.4.1.9.1.1709"; + } + + smiv2:alias "ciscoIE20008TCGN" { + smiv2:oid "1.3.6.1.4.1.9.1.1714"; + } + + smiv2:alias "ciscoIE200016TCGN" { + smiv2:oid "1.3.6.1.4.1.9.1.1715"; + } + + smiv2:alias "ciscoIem30004SM" { + smiv2:oid "1.3.6.1.4.1.9.1.1720"; + } + + smiv2:alias "ciscoIem30008SM" { + smiv2:oid "1.3.6.1.4.1.9.1.1721"; + } + + smiv2:alias "cisco1783MX04S" { + smiv2:oid "1.3.6.1.4.1.9.1.1722"; + } + + smiv2:alias "cisco1783MX08S" { + smiv2:oid "1.3.6.1.4.1.9.1.1723"; + } + + smiv2:alias "ciscoASR901TenGigDCE" { + smiv2:oid "1.3.6.1.4.1.9.1.1724"; + } + + smiv2:alias "ciscoASR901TenGigACE" { + smiv2:oid "1.3.6.1.4.1.9.1.1725"; + } + + smiv2:alias "ciscoASR901TenGigDC" { + smiv2:oid "1.3.6.1.4.1.9.1.1726"; + } + + smiv2:alias "ciscoASR901TenGigAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1727"; + } + + smiv2:alias "ciscoIE200016TCGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1729"; + } + + smiv2:alias "ciscoIE200016TCGEP" { + smiv2:oid "1.3.6.1.4.1.9.1.1730"; + } + + smiv2:alias "ciscoIE200016TCGNXP" { + smiv2:oid "1.3.6.1.4.1.9.1.1731"; + } + + smiv2:alias "cat4xxxVirtualSwitch" { + smiv2:oid "1.3.6.1.4.1.9.1.1732"; + } + + smiv2:alias "ciscoRAIE1783BMS20CGN" { + smiv2:oid "1.3.6.1.4.1.9.1.1733"; + } + + smiv2:alias "ciscoRAIE1783BMS12T4E2CGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1735"; + } + + smiv2:alias "ciscoRAIE1783BMS12T4E2CGNK" { + smiv2:oid "1.3.6.1.4.1.9.1.1736"; + } + + smiv2:alias "ciscoMds9848512K9SM" { + smiv2:oid "1.3.6.1.4.1.9.1.1737"; + } + + smiv2:alias "ciscoMds9710SM" { + smiv2:oid "1.3.6.1.4.1.9.1.1738"; + } + + smiv2:alias "ciscoMds9710FM" { + smiv2:oid "1.3.6.1.4.1.9.1.1739"; + } + + smiv2:alias "ciscoMds9710FCS" { + smiv2:oid "1.3.6.1.4.1.9.1.1740"; + } + + smiv2:alias "ciscoMDS9250iIFSPS" { + smiv2:oid "1.3.6.1.4.1.9.1.1741"; + } + + smiv2:alias "ciscoMDS9250iIFSDC" { + smiv2:oid "1.3.6.1.4.1.9.1.1742"; + } + + smiv2:alias "ciscoMDS9250iIFS" { + smiv2:oid "1.3.6.1.4.1.9.1.1743"; + } + + smiv2:alias "ciscoNexus1000VH" { + smiv2:oid "1.3.6.1.4.1.9.1.1744"; + } + + smiv2:alias "cat38xxstack" { + smiv2:oid "1.3.6.1.4.1.9.1.1745"; + } + + smiv2:alias "ciscoVG202XM" { + smiv2:oid "1.3.6.1.4.1.9.1.1746"; + } + + smiv2:alias "ciscoVG204XM" { + smiv2:oid "1.3.6.1.4.1.9.1.1747"; + } + + smiv2:alias "ciscoWsC2960P48PstL" { + smiv2:oid "1.3.6.1.4.1.9.1.1748"; + } + + smiv2:alias "ciscoWsC2960P24PcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1749"; + } + + smiv2:alias "ciscoWsC2960P24LcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1750"; + } + + smiv2:alias "ciscoWsC2960P48TcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1751"; + } + + smiv2:alias "ciscoWsC2960P24TcL" { + smiv2:oid "1.3.6.1.4.1.9.1.1752"; + } + + smiv2:alias "ciscoWsC2960P48PstS" { + smiv2:oid "1.3.6.1.4.1.9.1.1753"; + } + + smiv2:alias "ciscoWsC2960P24PcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1754"; + } + + smiv2:alias "ciscoWsC2960P24LcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1755"; + } + + smiv2:alias "ciscoWsC2960P48TcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1756"; + } + + smiv2:alias "ciscoWsC2960P24TcS" { + smiv2:oid "1.3.6.1.4.1.9.1.1757"; + } + + smiv2:alias "ciscoASR9904" { + smiv2:oid "1.3.6.1.4.1.9.1.1762"; + } + + smiv2:alias "ciscoME2600X" { + smiv2:oid "1.3.6.1.4.1.9.1.1763"; + } + + smiv2:alias "ciscoPanini" { + smiv2:oid "1.3.6.1.4.1.9.1.1764"; + } + + smiv2:alias "ciscoC6807xl" { + smiv2:oid "1.3.6.1.4.1.9.1.1765"; + } + + smiv2:alias "cat385024U" { + smiv2:oid "1.3.6.1.4.1.9.1.1767"; + } + + smiv2:alias "cat385048U" { + smiv2:oid "1.3.6.1.4.1.9.1.1768"; + } + + smiv2:alias "ciscoVG310" { + smiv2:oid "1.3.6.1.4.1.9.1.1769"; + } + + smiv2:alias "ciscoVG320" { + smiv2:oid "1.3.6.1.4.1.9.1.1770"; + } + + smiv2:alias "cat45Sup8e" { + smiv2:oid "1.3.6.1.4.1.9.1.1796"; + } + + smiv2:alias "ciscoWsC2960XR48FpdI" { + smiv2:oid "1.3.6.1.4.1.9.1.1797"; + } + + smiv2:alias "ciscoWsC2960XR48LpdI" { + smiv2:oid "1.3.6.1.4.1.9.1.1798"; + } + + smiv2:alias "ciscoWsC2960XR48TdI" { + smiv2:oid "1.3.6.1.4.1.9.1.1799"; + } + + smiv2:alias "ciscoWsC2960XR24PdI" { + smiv2:oid "1.3.6.1.4.1.9.1.1800"; + } + + smiv2:alias "ciscoWsC2960XR24TdI" { + smiv2:oid "1.3.6.1.4.1.9.1.1801"; + } + + smiv2:alias "ciscoWsC2960XR48FpsI" { + smiv2:oid "1.3.6.1.4.1.9.1.1802"; + } + + smiv2:alias "ciscoWsC2960XR48LpsI" { + smiv2:oid "1.3.6.1.4.1.9.1.1803"; + } + + smiv2:alias "ciscoWsC2960XR48TsI" { + smiv2:oid "1.3.6.1.4.1.9.1.1804"; + } + + smiv2:alias "ciscoWsC2960XR24PsI" { + smiv2:oid "1.3.6.1.4.1.9.1.1805"; + } + + smiv2:alias "ciscoWsC2960XR24TsI" { + smiv2:oid "1.3.6.1.4.1.9.1.1806"; + } + + smiv2:alias "ciscoA901S4SGFD" { + smiv2:oid "1.3.6.1.4.1.9.1.1818"; + } + + smiv2:alias "ciscoA901S3SGFD" { + smiv2:oid "1.3.6.1.4.1.9.1.1819"; + } + + smiv2:alias "ciscoA901S2SGFD" { + smiv2:oid "1.3.6.1.4.1.9.1.1820"; + } + + smiv2:alias "ciscoA901S3SGFAH" { + smiv2:oid "1.3.6.1.4.1.9.1.1821"; + } + + smiv2:alias "ciscoA901S2SGFAH" { + smiv2:oid "1.3.6.1.4.1.9.1.1822"; + } + + smiv2:alias "ciscoIE2000U4STSG" { + smiv2:oid "1.3.6.1.4.1.9.1.1839"; + } + + smiv2:alias "ciscoIE2000U16TCGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1840"; + } + + smiv2:alias "ciscoIE20008T67B" { + smiv2:oid "1.3.6.1.4.1.9.1.1841"; + } + + smiv2:alias "ciscoIE200016T67B" { + smiv2:oid "1.3.6.1.4.1.9.1.1842"; + } + + smiv2:alias "ciscoIE200024T67B" { + smiv2:oid "1.3.6.1.4.1.9.1.1843"; + } + + smiv2:alias "ciscoIE20008T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.1.1844"; + } + + smiv2:alias "ciscoIE200016T67PGE" { + smiv2:oid "1.3.6.1.4.1.9.1.1845"; + } + + smiv2:alias "ciscoRAIE1783ZMS8TA" { + smiv2:oid "1.3.6.1.4.1.9.1.1846"; + } + + smiv2:alias "ciscoRAIE1783ZMS16TA" { + smiv2:oid "1.3.6.1.4.1.9.1.1847"; + } + + smiv2:alias "ciscoRAIE1783ZMS24TA" { + smiv2:oid "1.3.6.1.4.1.9.1.1848"; + } + + smiv2:alias "ciscoRAIE1783ZMS4T4E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1849"; + } + + smiv2:alias "ciscoRAIE1783ZMS8T8E2TGP" { + smiv2:oid "1.3.6.1.4.1.9.1.1850"; + } + + smiv2:alias "ciscoNcs6008" { + smiv2:oid "1.3.6.1.4.1.9.1.1851"; + } + + smiv2:alias "ciscoC881K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1852"; + } + + smiv2:alias "ciscoC886VaK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1853"; + } + + smiv2:alias "ciscoC886VaJK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1854"; + } + + smiv2:alias "ciscoC887VaK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1855"; + } + + smiv2:alias "ciscoC887VaMK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1856"; + } + + smiv2:alias "ciscoC888K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1857"; + } + + smiv2:alias "ciscoC891FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1858"; + } + + smiv2:alias "ciscoC891FwAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1859"; + } + + smiv2:alias "ciscoC891FwEK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1860"; + } + + smiv2:alias "cisco1783WAP5100xK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1862"; + } + + smiv2:alias "ciscoCDScde2502s5" { + smiv2:oid "1.3.6.1.4.1.9.1.1863"; + } + + smiv2:alias "ciscoUcsE140S" { + smiv2:oid "1.3.6.1.4.1.9.1.1864"; + } + + smiv2:alias "ciscoNXNAM1" { + smiv2:oid "1.3.6.1.4.1.9.1.1865"; + } + + smiv2:alias "ciscoC6800ia48fpdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1866"; + } + + smiv2:alias "ciscoC6800ia48tdL" { + smiv2:oid "1.3.6.1.4.1.9.1.1867"; + } + + smiv2:alias "ciscoIE2000U4TG" { + smiv2:oid "1.3.6.1.4.1.9.1.1868"; + } + + smiv2:alias "ciscoIE2000U4TSG" { + smiv2:oid "1.3.6.1.4.1.9.1.1869"; + } + + smiv2:alias "ciscoIE2000U8TCG" { + smiv2:oid "1.3.6.1.4.1.9.1.1870"; + } + + smiv2:alias "ciscoIE2000U16TCG" { + smiv2:oid "1.3.6.1.4.1.9.1.1871"; + } + + smiv2:alias "ciscoIE2000U16TCGX" { + smiv2:oid "1.3.6.1.4.1.9.1.1872"; + } + + smiv2:alias "ciscoAIRAP702" { + smiv2:oid "1.3.6.1.4.1.9.1.1874"; + } + + smiv2:alias "ciscoAIRAP1532" { + smiv2:oid "1.3.6.1.4.1.9.1.1875"; + } + + smiv2:alias "ciscoEsxNAM" { + smiv2:oid "1.3.6.1.4.1.9.1.1876"; + } + + smiv2:alias "ciscoKvmNAM" { + smiv2:oid "1.3.6.1.4.1.9.1.1877"; + } + + smiv2:alias "ciscoHyperNAM" { + smiv2:oid "1.3.6.1.4.1.9.1.1878"; + } + + smiv2:alias "ciscoC385024S" { + smiv2:oid "1.3.6.1.4.1.9.1.1879"; + } + + smiv2:alias "ciscoC385012S" { + smiv2:oid "1.3.6.1.4.1.9.1.1880"; + } + + smiv2:alias "ciscoC365048PQ" { + smiv2:oid "1.3.6.1.4.1.9.1.1881"; + } + + smiv2:alias "ciscoC365048TQ" { + smiv2:oid "1.3.6.1.4.1.9.1.1882"; + } + + smiv2:alias "ciscoASR902" { + smiv2:oid "1.3.6.1.4.1.9.1.1897"; + } + + smiv2:alias "ciscoME1200" { + smiv2:oid "1.3.6.1.4.1.9.1.1899"; + } + + smiv2:alias "ciscoN9Kc9508" { + smiv2:oid "1.3.6.1.4.1.9.1.1915"; + } + + smiv2:alias "ciscoWapAP702" { + smiv2:oid "1.3.6.1.4.1.9.1.1916"; + } + + smiv2:alias "ciscoWapAP2602" { + smiv2:oid "1.3.6.1.4.1.9.1.1917"; + } + + smiv2:alias "ciscoWapAP1602" { + smiv2:oid "1.3.6.1.4.1.9.1.1918"; + } + + smiv2:alias "ciscoN9KC93128TX" { + smiv2:oid "1.3.6.1.4.1.9.1.1923"; + } + + smiv2:alias "ciscoN9KC9396PX" { + smiv2:oid "1.3.6.1.4.1.9.1.1925"; + } + + smiv2:alias "ciscoUcsEN120S" { + smiv2:oid "1.3.6.1.4.1.9.1.1931"; + } + + smiv2:alias "ciscoC68xxVirtualSwitch" { + smiv2:oid "1.3.6.1.4.1.9.1.1934"; + } + + smiv2:alias "ciscoC6880x" { + smiv2:oid "1.3.6.1.4.1.9.1.1936"; + } + + smiv2:alias "ciscoCPT50" { + smiv2:oid "1.3.6.1.4.1.9.1.1937"; + } + + smiv2:alias "ciscoCSE340WG32K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1940"; + } + + smiv2:alias "ciscoCSE340WG32AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1941"; + } + + smiv2:alias "ciscoCSE340WG32CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1942"; + } + + smiv2:alias "ciscoCSE340WG32EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1943"; + } + + smiv2:alias "ciscoCSE340WG32NK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1944"; + } + + smiv2:alias "ciscoCSE340WM32K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1945"; + } + + smiv2:alias "ciscoCSE340WM32AK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1946"; + } + + smiv2:alias "ciscoCSE340WM32CK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1947"; + } + + smiv2:alias "ciscoCSE340WM32EK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1948"; + } + + smiv2:alias "ciscoCSE340WM32NK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1949"; + } + + smiv2:alias "ciscoitpRT1081K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1952"; + } + + smiv2:alias "ciscoitpRT1091FK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1953"; + } + + smiv2:alias "ciscoitpPwr30WAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1954"; + } + + smiv2:alias "ciscoitpPwr60WAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1955"; + } + + smiv2:alias "ciscoitpPwr60WACV2" { + smiv2:oid "1.3.6.1.4.1.9.1.1956"; + } + + smiv2:alias "ciscoitpPwr125WAC" { + smiv2:oid "1.3.6.1.4.1.9.1.1957"; + } + + smiv2:alias "ciscoitpRT2241K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1958"; + } + + smiv2:alias "ciscoitpRT2221K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1959"; + } + + smiv2:alias "ciscoitpRT2241WCK9" { + smiv2:oid "1.3.6.1.4.1.9.1.1960"; + } + + smiv2:alias "ciscoitpAxpIsmSre300" { + smiv2:oid "1.3.6.1.4.1.9.1.1961"; + } + + smiv2:alias "ciscoitpPwr2241AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1962"; + } + + smiv2:alias "ciscoitpRT3211K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1963"; + } + + smiv2:alias "ciscoitpRT3221K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1964"; + } + + smiv2:alias "ciscoitpRT3201K9" { + smiv2:oid "1.3.6.1.4.1.9.1.1965"; + } + + smiv2:alias "ciscoitpPwrRT3201AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1966"; + } + + smiv2:alias "ciscoitpPwrRT3211AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1967"; + } + + smiv2:alias "ciscoitpPwrRT3211DC" { + smiv2:oid "1.3.6.1.4.1.9.1.1968"; + } + + smiv2:alias "ciscoitpPwrRT32AC" { + smiv2:oid "1.3.6.1.4.1.9.1.1969"; + } + + smiv2:alias "ciscoitpRpsAdptrRT3211" { + smiv2:oid "1.3.6.1.4.1.9.1.1970"; + } + + smiv2:alias "ciscoitpRpsAdptrRT32" { + smiv2:oid "1.3.6.1.4.1.9.1.1971"; + } + + smiv2:alias "ciscoitpAxpSmSre710" { + smiv2:oid "1.3.6.1.4.1.9.1.1972"; + } + + smiv2:alias "ciscoitpAxpSmSre910" { + smiv2:oid "1.3.6.1.4.1.9.1.1973"; + } + + smiv2:alias "ciscoN9Kc9516" { + smiv2:oid "1.3.6.1.4.1.9.1.1996"; + } + + smiv2:alias "ciscoN9Kc9504" { + smiv2:oid "1.3.6.1.4.1.9.1.1997"; + } + + smiv2:alias "ciscoDoorCGR1240" { + smiv2:oid "1.3.6.1.4.1.9.1.1998"; + } + + smiv2:alias "ciscoWRP500" { + smiv2:oid "1.3.6.1.4.1.9.1.2000"; + } + + smiv2:alias "cisco897VABK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2008"; + } + + smiv2:alias "cisco819HWDCK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2023"; + } + + smiv2:alias "catAIRCT57006" { + smiv2:oid "1.3.6.1.4.1.9.1.2026"; + } + + smiv2:alias "cisco897VAGLTEGAK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2053"; + } + + smiv2:alias "ciscoIOG910WK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2063"; + } + + smiv2:alias "ciscoIOG910GK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2064"; + } + + smiv2:alias "ciscoIOG910K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2065"; + } + + smiv2:alias "cat36xxstack" { + smiv2:oid "1.3.6.1.4.1.9.1.2066"; + } + + smiv2:alias "cat57xxstack" { + smiv2:oid "1.3.6.1.4.1.9.1.2067"; + } + + smiv2:alias "ciscoCSE340G32K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2094"; + } + + smiv2:alias "ciscoCSE340M32K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2095"; + } + + smiv2:alias "ciscoSCE10000" { + smiv2:oid "1.3.6.1.4.1.9.1.2096"; + } + + smiv2:alias "ciscoVirtualSCE" { + smiv2:oid "1.3.6.1.4.1.9.1.2097"; + } + + smiv2:alias "ciscoASR901AC10GS" { + smiv2:oid "1.3.6.1.4.1.9.1.2098"; + } + + smiv2:alias "ciscoASR901DC10GS" { + smiv2:oid "1.3.6.1.4.1.9.1.2099"; + } + + smiv2:alias "ciscoASR92024SZIM" { + smiv2:oid "1.3.6.1.4.1.9.1.2100"; + } + + smiv2:alias "ciscoASR92024TZM" { + smiv2:oid "1.3.6.1.4.1.9.1.2101"; + } + + smiv2:alias "ciscoASR92024SZM" { + smiv2:oid "1.3.6.1.4.1.9.1.2102"; + } + + smiv2:alias "ciscoWallander1x1GESKU" { + smiv2:oid "1.3.6.1.4.1.9.1.2112"; + } + + smiv2:alias "ciscoWallander2x1GESKU" { + smiv2:oid "1.3.6.1.4.1.9.1.2113"; + } + + smiv2:alias "ciscoSNS3495K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2139"; + } + + smiv2:alias "ciscoSNS3415K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2140"; + } + + smiv2:alias "ciscoASR9204SZD" { + smiv2:oid "1.3.6.1.4.1.9.1.2155"; + } + + smiv2:alias "ciscoASR9208SZ0A" { + smiv2:oid "1.3.6.1.4.1.9.1.2156"; + } + + smiv2:alias "ciscoASR92012CZA" { + smiv2:oid "1.3.6.1.4.1.9.1.2157"; + } + + smiv2:alias "ciscoASR92012CZD" { + smiv2:oid "1.3.6.1.4.1.9.1.2158"; + } + + smiv2:alias "ciscoASR9204SZA" { + smiv2:oid "1.3.6.1.4.1.9.1.2159"; + } + + smiv2:alias "ciscoASR9208SZ0D" { + smiv2:oid "1.3.6.1.4.1.9.1.2160"; + } + + smiv2:alias "ciscoC3850E12XS" { + smiv2:oid "1.3.6.1.4.1.9.1.2162"; + } + + smiv2:alias "ciscoC3850E24XS" { + smiv2:oid "1.3.6.1.4.1.9.1.2163"; + } + + smiv2:alias "ciscoC3850E48XS" { + smiv2:oid "1.3.6.1.4.1.9.1.2164"; + } + + smiv2:alias "ciscoRAIE1783ZMS4T4E2TGN" { + smiv2:oid "1.3.6.1.4.1.9.1.2168"; + } + + smiv2:alias "ciscoRAIE1783ZMS8T8E2TGN" { + smiv2:oid "1.3.6.1.4.1.9.1.2169"; + } + + smiv2:alias "ciscoUCSC220M4" { + smiv2:oid "1.3.6.1.4.1.9.1.2178"; + } + + smiv2:alias "ciscoUCSC240M4" { + smiv2:oid "1.3.6.1.4.1.9.1.2179"; + } + + smiv2:alias "ciscoUCSC3160" { + smiv2:oid "1.3.6.1.4.1.9.1.2180"; + } + + smiv2:alias "cisco1941WTK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2181"; + } + + smiv2:alias "ciscoCDScde2802s5" { + smiv2:oid "1.3.6.1.4.1.9.1.2185"; + } + + smiv2:alias "ciscoCDScde2802s10" { + smiv2:oid "1.3.6.1.4.1.9.1.2186"; + } + + smiv2:alias "ciscoCDScde2802s21" { + smiv2:oid "1.3.6.1.4.1.9.1.2187"; + } + + smiv2:alias "ciscoCDScde2802h0" { + smiv2:oid "1.3.6.1.4.1.9.1.2188"; + } + + smiv2:alias "ciscoCDScde2802h13" { + smiv2:oid "1.3.6.1.4.1.9.1.2189"; + } + + smiv2:alias "ciscoCDScde2802h26" { + smiv2:oid "1.3.6.1.4.1.9.1.2190"; + } + + smiv2:alias "cisco1941WIK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2192"; + } + + smiv2:alias "ciscoFp7030K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2193"; + } + + smiv2:alias "ciscoFp7050K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2194"; + } + + smiv2:alias "ciscoFp7110K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2195"; + } + + smiv2:alias "ciscoFp7110FiK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2196"; + } + + smiv2:alias "ciscoFp7115K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2197"; + } + + smiv2:alias "ciscoFp7120K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2198"; + } + + smiv2:alias "ciscoFp7120FiK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2199"; + } + + smiv2:alias "ciscoFp7125K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2200"; + } + + smiv2:alias "ciscoFp8120K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2201"; + } + + smiv2:alias "ciscoFp8130K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2202"; + } + + smiv2:alias "ciscoFp8140K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2203"; + } + + smiv2:alias "ciscoFp8250K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2204"; + } + + smiv2:alias "ciscoFp8260K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2205"; + } + + smiv2:alias "ciscoFp8270K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2206"; + } + + smiv2:alias "ciscoFp8290K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2207"; + } + + smiv2:alias "ciscoFp8350K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2208"; + } + + smiv2:alias "ciscoFp8360K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2209"; + } + + smiv2:alias "ciscoFp8370K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2210"; + } + + smiv2:alias "ciscoFp8390K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2211"; + } + + smiv2:alias "ciscoFs750K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2212"; + } + + smiv2:alias "ciscoFs1500K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2213"; + } + + smiv2:alias "ciscoFs3500K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2214"; + } + + smiv2:alias "ciscoFs4000K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2215"; + } + + smiv2:alias "ciscoAmp7150K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2216"; + } + + smiv2:alias "ciscoAmp8050K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2217"; + } + + smiv2:alias "ciscoAmp8150K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2218"; + } + + smiv2:alias "ciscoAmp8350K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2219"; + } + + smiv2:alias "ciscoAmp8360K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2220"; + } + + smiv2:alias "ciscoAmp8370K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2221"; + } + + smiv2:alias "ciscoAmp8390K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2222"; + } + + smiv2:alias "ciscoFpSsl1500K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2223"; + } + + smiv2:alias "ciscoFpSsl1500FiK9" { + smiv2:oid "1.3.6.1.4.1.9.1.2224"; + } + + smiv2:alias "ciscoFpSsl2000K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2225"; + } + + smiv2:alias "ciscoFpSsl8200K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2226"; + } + + smiv2:alias "ciscoFp7010K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2227"; + } + + smiv2:alias "ciscoFp7020K9" { + smiv2:oid "1.3.6.1.4.1.9.1.2228"; + } + + smiv2:alias "ciscoASR9208S4ZD" { + smiv2:oid "1.3.6.1.4.1.9.1.2888"; + } + + smiv2:alias "ciscoProductsMIB" { + smiv2:oid "1.3.6.1.4.1.9.12.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-PTP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-PTP-MIB.yang new file mode 100644 index 000000000..2d1ceae7a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-PTP-MIB.yang @@ -0,0 +1,2718 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-PTP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-PTP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-PTP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB"; + prefix CISCO-PTP-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-@cisco.com"; + + description + "The MIB module for PTPv2 (IEEE1588 - 2008) + + Overview of PTPv2 (IEEE 1588-2008) + + This IEEE standard defines a protocol enabling precise + synchronization of clocks in measurement and control systems + implemented with packet-based networks, the IEEE Standard PTPv2 + 1588 (2008). This MIB does not address the standard IEEE + 1588 (2002). The protocol is applicable to network elements + communicating using IP. The protocol enables heterogeneous + systems that include clocks of various inherent precision, + resolution, and stability to synchronize to a grandmaster + clock. + The protocol supports system-wide synchronization accuracy in + the sub-microsecond range with minimal network and local clock + computing resources. The standard uses UDP/IP. It includes + formal mechanisms for message extensions, higher sampling + rates, correction for asymmetry, a clock type to reduce error + accumulation in large topologies, and specifications on how to + incorporate the resulting additional data into the + synchronization protocol. The standard defines conformance and + management capability also. + + MIB description + + This MIB is to support the Precision Timing Protocol (PTP) + feature of Cisco System devices. + + Acronyms: + ARB arbitrary + BMC best master clock + CAN Controller Area Network + CP Communication Profile + [according to IEC 61784-1:200710] + CPF Communication Profile Family + [according to IEC 61784-1:2007] + DS Differentiated Service + E2E End-to-End + E2ETC End-to-End Transparent Clock + EUI Extended Unique Identifier. + FFO Fractional Frequency Offset + GPS Global Positioning System + IANA Internet Assigned Numbers Authority + ICV Integrity Check Value + ID Identification + IPv4 Internet Protocol version 4 + IPv6 Internet Protocol version 6 + JD Julian Date + JDN Julian Day Number + MAC Media Access Control + [according to IEEE Std 802.3-2005] + MJD Modified Julian Day + NIST National Institute of Standards and + Technology (see www.nist.gov) + NTP Network Time Protocol (see IETF RFC 1305 + [B7]) + OUI Organizational Unique Identifier(allocated + by + the IEEE) + P2P Peer-to-Peer + P2PTC Peer-To-Peer Transparent Clock + PHY physical layer [according to IEEE Std + 802.3-2005] + POSIX Portable Operating System Interface + (see ISO/IEC 9945:2003) + PPS Pulse per Second + PTP Precision Time Protocol + SA Security Associations + SNTP Simple Network Time Protocol + SOF Start of Frame + TAI International Atomic Time + TC Traffic Class + TC Transparent Clock + TLV Type, Length, Value [according to IEEE Std + 802.1AB] + ToD Time of Day Synchronization + ToS Type of Service + UCMM UnConnect Message Manager + UDP/IP User Datagram Protocol + UTC Coordinated Universal Time + + References: + [1] Precision clock synchronization protocol for networked + measurement and control systems - IEC 61588 IEEE 1588(tm) + Edition 2.0 2009-02 + + + Definitions from [1] section 3.1 + + Accuracy: + The mean of the time or frequency error between the clock under + test and a perfect reference clock, over an ensemble of + measurements. Stability is a measure of how the mean varies + with respect to variables such as time, temperature, and so on. + + The precision is a measure of the deviation of the error from + the mean. + + Atomic process: + A process is atomic if the values of all inputs to the process + are not permitted to change until all of the results of the + process are instantiated, and the outputs of the process are + not visible to other processes until the processing of each + output is complete. + + Boundary clock: + A clock that has multiple Precision Time Protocol(PTP) ports in + a domain and maintains the timescale used in the domain. It + may serve as the source of time, i.e., be a master clock, and + may synchronize to another clock, i.e., be a slave clock. + + Boundary node clock: + A clock that has multiple Precision Time Protocol(PTP) ports in + a domain and maintains the timescale used in the domain. It + differs from the boundary clock in that the clock roles can + change. + + Clock: + A node participating in the Precision Time Protocol (PTP) that + is capable of providing a measurement of the passage of time + since a defined epoch. + + Domain: + A logical grouping of clocks that synchronize to each other + using the protocol, but that are not necessarily synchronized + to clocks in another domain. + + End-to-end transparent clock: + A transparent clock that supports the use of the end-to-end + delay measurement mechanism between slave clocks and the master + clock. Each node must measure the residence time of PTP event + messages and accumulate it in Correction Field. + + Epoch: + The origin of a timescale. + + Event: + An abstraction of the mechanism by which signals or conditions + are generated and represented. + + Foreign master: + An ordinary or boundary clock sending Announce messages to + another clock that is not the current master recognized by the + other clock. + + Grandmaster clock: + Within a domain, a clock that is the ultimate source of time + for clock synchronization using the protocol. + + Holdover: + A clock previously synchronized/syntonized to another clock + (normally a primary reference or a master clock) but now + free-running based on its own internal oscillator, whose + frequency is being adjusted using data acquired while it had + been synchronized/syntonized to the other clock. It is said to + be in holdover or in the holdover mode, as long as it is within + its accuracy requirements. + + Link: + A network segment between two Precision Time Protocol ports + supporting the peer delay mechanism of this standard. The peer + delay mechanism is designed to measure the propagation time + over such a link. + + Management node: + A device that configures and monitors clocks. + + Master clock: + In the context of a single Precision Time Protocol + communication path, a clock that is the source of time to which + all other clocks on that path synchronize. + + Message timestamp point: + A point within a Precision Time Protocol event message serving + as a reference point in the message. A timestamp is defined by + the instant a message timestamp point passes the reference + plane of a clock. + + Multicast communication: + A communication model in which each Precision Time Protocol + message sent from any PTP port is capable of being received and + processed by all PTP ports on the same PTP communication path. + + Node: + A device that can issue or receive Precision Time Protocol + communications on a network. + + One-step clock: + A clock that provides time information using a single event + message. + + On-pass support: + Indicates that each node in the synchronization chain from + master to slave can support IEEE-1588. + + Ordinary clock: + A clock that has a single Precision Time Protocol port in a + domain and maintains the timescale used in the domain. It may + serve as a source of time, i.e., be a master clock, or may + synchronize to another clock, i.e., be a slave clock. + + Parent clock: + The master clock to which a clock is synchronized. + + + Peer-to-peer transparent clock: + A transparent clock that, in addition to providing Precision + Time Protocol event transit time information, also provides + corrections for the propagation delay of the link connected to + the port receiving the PTP event message. In the presence of + peer-to-peer transparent clocks, delay measurements between + slave clocks and the master clock are performed using the + peer-to-peer delay measurement mechanism. + + + Phase change rate: + The observed rate of change in the measured time with respect + to the reference time. The phase change rate is equal to the + fractional frequency offset between the measured frequency and + the reference frequency. + + PortNumber: + An index identifying a specific Precision Time Protocol port on + a PTP node. + + Primary reference: + A source of time and or frequency that is traceable to + international standards. + + Profile: + The set of allowed Precision Time Protocol features applicable + to a device. + + Precision Time Protocol communication: + Information used in the operation of the protocol, transmitted + in a PTP message over a PTP communication path. + + Precision Time Protocol communication path: The signaling path + portion of a particular network enabling direct communication + among ordinary and boundary clocks. + + Precision Time Protocol node: + PTP ordinary, boundary, or transparent clock or a device that + generates or parses PTP messages. + + Precision Time Protocol port: + A logical access point of a clock for PTP communications to the + communications network. + + Recognized standard time source: + A recognized standard time source is a source external to + Precision Time Protocol that provides time and/or frequency as + appropriate that is traceable to the international standards + laboratories maintaining clocks that form the basis for the + International Atomic Time and Universal Coordinated Time + timescales. Examples of these are Global Positioning System, + NTP, and National Institute of Standards and Technology (NIST) + timeservers. + + Requestor: + The port implementing the peer-to-peer delay mechanism that + initiates the mechanism by sending a Pdelay_Req message. + + Responder: + The port responding to the receipt of a Pdelay_Req message as + part of the operation of the peer-to-peer delay mechanism. + + Synchronized clocks: + Two clocks are synchronized to a specified uncertainty if they + have the same epoch and their measurements of the time of a + single event at an arbitrary time differ by no more than that + uncertainty. + + Syntonized clocks: + Two clocks are syntonized if the duration of the second is the + same on both, which means the time as measured by each advances + at the same rate. They may or may not share the same epoch. + + Time of Day: + + + Timeout: + A mechanism for terminating requested activity that, at least + from the requester's perspective, does not complete within the + specified time. + + Timescale: + A linear measure of time from an epoch. + + Traceability: + A property of the result of a measurement or the value of a + standard whereby it can be related to stated references, + usually national or international standards, through an unbroken + chain of comparisons all having stated uncertainties. + + Translation device: + A boundary clock or, in some cases, a transparent clock that + translates the protocol messages between regions implementing + different transport and messaging protocols, between different + versions of IEEE Std 1588-2008/IEC 61588:2009, or different + Precision Time Protocol profiles. + + transparent clock: + A device that measures the time taken for a Precision Time + Protocol event message to transit the device and provides this + information to clocks receiving this PTP event message. + + Two-step clock: + A clock that provides time information using the combination of + an event message and a subsequent general message. + + The below table specifies the object formats of the various + textual conventions used. + + Data type mapping Textual Convention SYNTAX + -------------------- ------------------ --------------------- + 5.3.2 TimeInterval ClockTimeInterval OCTET + STRING(SIZE(1..255)) + 5.3.3 Timestamp ClockTimestamp OCTET STRING(SIZE(6)) + 5.3.4 ClockIdentity ClockIdentity OCTET + STRING(SIZE(1..255)) + 5.3.5 PortIdentity ClockPortNumber INTEGER(1..65535) + 5.3.7 ClockQuality ClockQualityClassType + + Simple master-slave hierarchy [1] section 6.6.2.4 + + --------------- + - Ordinary - + - Clock(1) - + - GrandMaster - + -------M------- + | + 1 + | + -------S------------------------------- + - Boundary - + - Clock(1) - + --------------M------------------M----- + | | + 2 3 + | | + -----S------ -------S------------------ + - Ordinary - - Boundary - + - Clock(2) - - Clock(2) - + ------------ -----M-------------M------ + | | + 4 5 + | | + -----S------ -----S------ + - Ordinary - - Ordinary - + - Clock(3) - - Clock(4) - + ------------ ------------ + + Grandmaster + + Boundary Clock(0-N) Ordinary Clocks(0-N) + Ordinary Clocks(0-N) + + + Relationship cardinality + PTP system 1 : N PTP Clock + PTP Clock 1 : 1 Domain + PTP Clock 1 : N PTP Ports + PTP Port N : N Physical Port (interface in IF-MIB) + + Transparent clock diagram from section 6.7.1.3 of [1] + + + +----------------------------+ + | Boundary clock - 1 | + +----------------------------+ + | | + | | + +-- A --+ B + | | + +---------------------+ | + | Ordinary clock - 1| | + +---------------------+ | + +----------------------+ + +--------------+ | End-to-end | + | Ordinary |------------------| transparent clock- | + | clock 1-1 | | 1 - 1 | + +--------------+ +----------------------+ + | + | + C + | + | + +----------------------+ + +--------------+ | End-to-end | + | Ordinary |------------------| transparent clock- | + | clock 1-2 | | 1 - 2 | + +--------------+ +----------------------+ + + + The MIB refers to the sections of the IEEE 1588 standard for + reference. Throughout the MIB various secions from the standard + are referenced"; + + revision 2011-01-28 { + description + "Initial Version"; + } + + typedef ClockDomainType { + type uint32 { + range "0..255"; + } + description + "The Domain is identified by an integer, the domainNumber, in + the range of 0 to 255. An integer value that is used to assign + each PTP device to a particular domain. The following values + define the valid domains. [1] Section 7.1 Domains Table 2 + + Value definition. + --------- ------------------- + 0 Default domain + 1 Alternate domain 1 + 2 Alternate domain 2 + 3 Alternate domain 3 + 4 - 127 User-defined domains + 128 - 255 Reserved"; + reference + "Section 7.1 Domains and Table 2 of [1]"; + smiv2:display-hint "d"; + } + + typedef ClockIdentity { + type binary { + length "1..255"; + } + description + "The clock Identity is an 8-octet array and will be presented in + the form of a character array. The value of the + ClockIdentity should be taken from the IEEE EUI-64 individual + assigned numbers as indicated in Section 7.5.2.2.2 of [1]. The + EUI-64 address is divided into the following fields. + + OUI byte[0-2] + Extension identifier bytes:[3-7] + + The clock identifier can be constructed from existing EUI-48 + assignments and here is an abbreviated example extracted from + section 7.5.2.2.2 [1]. + + Company EUI-48 = 0xACDE4823456716 + EUI-64 = ACDE48FFFE23456716 + + It is important to note the IEEE Registration Authority has + deprecated the use of MAC-48 in any new design."; + reference + "Section 7.5.2.2.1 from [1]"; + } + + typedef ClockIntervalBase2 { + type int32 { + range "-128..127"; + } + description + "The interval included in message types Announce, Sync, + Delay_Req, and Pdelay_Req as indicated in section 7.7.2.1 of + [1]. + + The mean time interval between successive messages shall be + represented as the logarithm to the base 2 of this time + interval measured in seconds on the local clock of the device + sending the message. The values of these logarithmic attributes + shall be selected from integers in the range -128 to 127 subject + to further limits established in an applicable PTP profile."; + reference + "Section 7.7.2.1 General interval specification of [1]"; + smiv2:display-hint "d"; + } + + typedef ClockMechanismType { + type enumeration { + enum "e2e" { + value "1"; + } + enum "p2p" { + value "2"; + } + enum "disabled" { + value "254"; + } + } + description + "The clock type based on whether End to End or peer to peer + mechanisms are used. The mechanism used to calculate the Mean + Path Delay as indicated in Table 9 of IEEE 1588-2008. + + Delay mechanism Value(hex) Specification + E2E 01 The port is configured to use + the delay request-response + mechanism. + + P2P 02 The port is configured to use + the peer delay mechanism. + + DISABLED FE The port does not implement + the delay mechanism."; + reference + "Sections 8.2.5.4.4, 6.6.4 and 7.4.2 of [1]."; + } + + typedef ClockInstanceType { + type uint32 { + range "0..255"; + } + description + "The instance of the Clock of a given clock type in a given + domain."; + smiv2:display-hint "d"; + } + + typedef ClockPortNumber { + type uint32 { + range "0..65535"; + } + description + "An index identifying a specific Precision Time Protocol (PTP) + port on a PTP node."; + reference + "Section 7.5.2.3 Port Number and 5.3.5 of [1]"; + smiv2:display-hint "d"; + } + + typedef ClockPortState { + type enumeration { + enum "initializing" { + value "1"; + } + enum "faulty" { + value "2"; + } + enum "disabled" { + value "3"; + } + enum "listening" { + value "4"; + } + enum "preMaster" { + value "5"; + } + enum "master" { + value "6"; + } + enum "passive" { + value "7"; + } + enum "uncalibrated" { + value "8"; + } + enum "slave" { + value "9"; + } + } + description + "This is the value of the current state of the protocol engine + associated with this port. + Port state Value Description + ----------------------------------------------------------- + initializing 1 In this state a port initializes + its data sets, hardware, and + communication facilities. + faulty 2 The fault state of the protocol. + disabled 3 The port shall not place any + messages on its communication path. + listening 4 The port is waiting for the + announceReceiptTimeout to expire or + to receive an Announce message from + a master. + preMaster 5 The port shall behave in all respects + as though it were in the MASTER state + except that it shall not place any + messages on its communication path + except for Pdelay_Req, Pdelay_Resp, + Pdelay_Resp_Follow_Up, signaling, or + management messages. + master 6 The port is behaving as a master + port. + passive 7 The port shall not place any + messages on its communication path + except for Pdelay_Req, Pdelay_Resp, + Pdelay_Resp_Follow_Up, or signaling + messages, or management messages + that are a required response to + another management message + uncalibrated 8 The local port is preparing to + synchronize to the master port. + slave 9 The port is synchronizing to the + selected master port."; + reference + "Section 8.2.5.3.1 portState and 9.2.5 of [1]"; + } + + typedef ClockProfileType { + type enumeration { + enum "default" { + value "1"; + } + enum "telecom" { + value "2"; + } + enum "vendorspecific" { + value "3"; + } + } + description + "Clock Profile used. From [1] section 3.1.30, Profile is the set + of allowed Precision Time Protocol (PTP) features applicable to + a device."; + reference + "Section 3.1.30 and 19.3 PTP profiles of [1]"; + } + + typedef ClockQualityAccuracyType { + type enumeration { + enum "reserved00" { + value "1"; + } + enum "nanoSecond25" { + value "32"; + } + enum "nanoSecond100" { + value "33"; + } + enum "nanoSecond250" { + value "34"; + } + enum "microSec1" { + value "35"; + } + enum "microSec2dot5" { + value "36"; + } + enum "microSec10" { + value "37"; + } + enum "microSec25" { + value "38"; + } + enum "microSec100" { + value "39"; + } + enum "microSec250" { + value "40"; + } + enum "milliSec1" { + value "41"; + } + enum "milliSec2dot5" { + value "42"; + } + enum "milliSec10" { + value "43"; + } + enum "milliSec25" { + value "44"; + } + enum "milliSec100" { + value "45"; + } + enum "milliSec250" { + value "46"; + } + enum "second1" { + value "47"; + } + enum "second10" { + value "48"; + } + enum "secondGreater10" { + value "49"; + } + enum "unknown" { + value "254"; + } + enum "reserved255" { + value "255"; + } + } + description + "The ClockQuality as specified in section 5.3.7, 7.6.2.5 and + Table 6 of [1]. + + The following values are not represented in the enumerated + values. + + 0x01-0x1F Reserved + 0x32-0x7F Reserved + + It is important to note that section 7.1.1 RFC2578 allows for + gaps and enumerate values to start with zero when indicated by + the protocol."; + reference + "Section 5.3.7, 7.6.2.5 and Table 6 of [1]"; + } + + typedef ClockQualityClassType { + type uint32 { + range "0..255"; + } + description + "The ClockQuality as specified in section 5.3.7, 7.6.2.4 and + Table 5 of [1]. + + Value Description + ------ + ---------------------------------------------------------- + 0 Reserved to enable compatibility with future + versions. + 1-5 Reserved + 6 Shall designate a clock that is synchronized + to a primary reference time source. The + timescale distributed shall be PTP. A + clockClass 6 clock shall not be a slave to + another clock in the domain. + 7 Shall designate a clock that has previously + been designated as clockClass 6 but that has + lost the ability to synchronize to a primary + reference time source and is in holdover mode + and within holdover specifications. The + timescale distributed shall be PTP. A + clockClass 7 clock shall not be a slave to + another clock in the domain. + 8 Reserved. + 9-10 Reserved to enable compatibility with future + versions. + 11-12 Reserved. + 13 Shall designate a clock that is synchronized + to an application-specific source of time. + The timescale distributed shall be ARB. A + clockClass 13 clock shall not be a slave to + another clock in the domain. + 14 Shall designate a clock that has previously + been designated as clockClass 13 but that + has lost the ability to synchronize to an + application-specific source of time and is + in holdover mode and within holdover + specifications. The timescale distributed + shall be ARB. A clockClass 14 clock shall + not be a slave to another clock in the domain. + 15-51 Reserved. + 52 Degradation alternative A for a clock of + clockClass 7 that is not within holdover + specification. A clock of clockClass 52 + shall not be a slave to another clock in + the domain. + 53-57 Reserved. + 58 Degradation alternative A for a clock of + clockClass 14 that is not within holdover + specification. A clock of clockClass 58 shall + not be a slave to another clock in the domain. + 59-67 Reserved. + 68-122 For use by alternate PTP profiles. + 123-127 Reserved. + 128-132 Reserved. + 133-170 For use by alternate PTP profiles. + 171-186 Reserved. + + 187 Degradation alternative B for a clock of + clockClass 7 that is not within holdover + specification. A clock of clockClass 187 may + be a slave to another clock in the domain. + 188-192 Reserved. + 193 Degradation alternative B for a clock of + clockClass 14 that is not within holdover + specification. A clock of clockClass 193 may + be a slave to another clock in the domain. + 194-215 Reserved. + 216-232 For use by alternate PTP profiles. + 233-247 Reserved. + 248 Default. This clockClass shall be used if + none of the other clockClass definitions apply. + 249-250 Reserved. + 251 Reserved for version 1 compatibility; see Clause 18. + 252-254 Reserved. + 255 Shall be the clockClass of a slave-only clock; see + 9.2.2."; + reference + "section 5.3.7, 7.6.2.4 and Table 5 of [1]."; + smiv2:display-hint "d"; + } + + typedef ClockRoleType { + type enumeration { + enum "master" { + value "1"; + } + enum "slave" { + value "2"; + } + } + description + "The Clock Role. The protocol generates a Master Slave + relationship among the clocks in the system. + + Clock Role Value Description + -------------------------------------------------------------- + Master clock 1 A clock that is the source of + time to which all other clocks on + that path synchronize. + + Slave clock 2 A clock which synchronizes to + another clock (master)."; + } + + typedef ClockStateType { + type enumeration { + enum "freerun" { + value "1"; + } + enum "holdover" { + value "2"; + } + enum "acquiring" { + value "3"; + } + enum "frequencyLocked" { + value "4"; + } + enum "phaseAligned" { + value "5"; + } + } + description + "The clock state returned by PTP engine. + + Clock State Value Description + -------------------------------------------------------------- + Freerun state 1 Applies to a slave device that is not + locked to a master. This is the initial + state a slave starts out with when it + is not getting any PTP packets from the + master or because of some other input + error (erroneous packets, etc). + + Holdover state 2 In this state the slave device is + locked to a master but communication + with the master is lost or the + timestamps in the ptp packets are + incorrect. But since the slave was + locked to the master, it can run with + the same accuracy for sometime. The + slave can continue to operate in this + state for some time. If communication + with the master is not restored for a + while, the device is moved to the + FREERUN state. + + Acquiring state 3 The slave device is receiving packets + from a master and is trying to acquire + a lock. + + Freq_locked state 4 Slave device is locked to the Master + with respect to frequency, but not phase + aligned + + Phase_aligned state 5 Locked to the master with respect to + frequency and phase."; + } + + typedef ClockTimeSourceType { + type enumeration { + enum "atomicClock" { + value "16"; + } + enum "gps" { + value "32"; + } + enum "terrestrialRadio" { + value "48"; + } + enum "ptp" { + value "64"; + } + enum "ntp" { + value "80"; + } + enum "handSet" { + value "96"; + } + enum "other" { + value "144"; + } + enum "internalOsillator" { + value "160"; + } + } + description + "The ClockQuality as specified in section 5.3.7, 7.6.2.6 and + Table 7 of [1]. + + The following values are not represented in the enumerated + values. + + 0xF0-0xFE For use by alternate PTP profiles + 0xFF Reserved + + It is important to note that section 7.1.1 RFC2578 allows for + gaps and enumerate values to start with zero when indicated by + the protocol."; + reference + "section 5.3.7, 7.6.2.6 and Table 7 of [1]."; + } + + typedef ClockTimeInterval { + type binary { + length "1..255"; + } + description + "This textual convention corresponds to the TimeInterval + structure indicated in section 5.3.2 of [1]. It will be + presented in the form of a character array. + + The TimeInterval type represents time intervals. + + struct TimeInterval + { + Integer64 scaledNanoseconds; + }; + + The scaledNanoseconds member is the time interval expressed in + units of nanoseconds and multiplied by 2**16. + + Positive or negative time intervals outside the maximum range + of this data type shall be encoded as the largest positive and + negative values of the data type, respectively. + + For example, 2.5 ns is expressed as 0000 0000 0002 8000 in + Base16."; + reference + "Section 5.3.2 and setion 7.7.2.1 Timer interval + specification of [1]"; + } + + typedef ClockTxModeType { + type enumeration { + enum "unicast" { + value "1"; + } + enum "multicast" { + value "2"; + } + enum "multicastmix" { + value "3"; + } + } + description + "Transmission mode. + + unicast. Using unicast commnuication channel. + + multicast. Using Multicast communication channel. + + multicast-mix. Using multicast-unicast communication channel"; + } + + typedef ClockType { + type enumeration { + enum "ordinaryClock" { + value "1"; + } + enum "boundaryClock" { + value "2"; + } + enum "transparentClock" { + value "3"; + } + enum "boundaryNode" { + value "4"; + } + } + description + "The clock types as defined in the MIB module description."; + reference + "section 6.5.1 of [1]."; + } + + + container CISCO-PTP-MIB { + config false; + + container ciscoPtpMIBSystemInfo { + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1"; + + leaf cPtpSystemProfile { + type CISCO-PTP-MIB:ClockProfileType; + description + "This object specifies the PTP Profile implemented on the + system."; + reference + "Section 19.3 PTP profiles of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.4"; + } + } + + container cPtpSystemTable { + description + "Table of count information about the PTP system for all + domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1"; + + list cPtpSystemEntry { + key "cPtpDomainIndex cPtpInstanceIndex"; + description + "An entry in the table, containing count information about a + single domain. New row entries are added when the PTP clock for + this domain is configured, while the unconfiguration of the PTP + clock removes it."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1.1"; + + leaf cPtpDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices. The Clock Domain is a logical group of + clocks and devices that synchronize with each other using the + PTP protocol. + + + 0 Default domain + 1 Alternate domain 1 + 2 Alternate domain 2 + 3 Alternate domain 3 + 4 - 127 User-defined domains + 128 - 255 Reserved"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1.1.1"; + } + + leaf cPtpInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the Clock for this + domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1.1.2"; + } + + leaf cPtpDomainClockPortsTotal { + type yang:gauge32; + units "ptp ports"; + description + "This object specifies the total number of clock ports + configured within a domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1.1.3"; + } + + leaf cPtpDomainClockPortPhysicalInterfacesTotal { + type yang:gauge32; + units "physical ports"; + description + "This object specifies the total number of clock port Physical + interfaces configured within a domain instance for PTP + communications."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.1.1.4"; + } + } + } + + container cPtpSystemDomainTable { + description + "Table of information about the PTP system for all clock modes + -- ordinary, boundary or transparent."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.2"; + + list cPtpSystemDomainEntry { + key "cPtpSystemDomainClockTypeIndex"; + description + "An entry in the table, containing information about a single + clock mode for the PTP system. A row entry gets added when PTP + clocks are configured on the router."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.2.1"; + + leaf cPtpSystemDomainClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.2.1.1"; + } + + leaf cPtpSystemDomainTotals { + type yang:gauge32; + units "domains"; + description + "This object specifies the total number of PTP domains for this + particular clock type configured in this node."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.2.1.2"; + } + } + } + + container cPtpClockNodeTable { + description + "Table of information about the PTP system for a given domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3"; + + list cPtpClockNodeEntry { + key "cPtpClockDomainIndex cPtpClockTypeIndex cPtpClockInstanceIndex"; + description + "An entry in the table, containing information about a single + domain. A entry is added when a new PTP clock domain is + configured on the router."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1"; + + leaf cPtpClockDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.1"; + } + + leaf cPtpClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.2"; + } + + leaf cPtpClockInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the Clock for this clock + type for the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.3"; + } + + leaf cPtpClockInput1ppsEnabled { + type boolean; + description + "This object specifies whether the node is enabled for PTP input + clocking using the 1pps interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.4"; + } + + leaf cPtpClockInputFrequencyEnabled { + type boolean; + description + "This object specifies whether enabled for Frequency input using + the 1.544 Mhz, 2.048 Mhz, or 10Mhz timing interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.5"; + } + + leaf cPtpClockTODEnabled { + type boolean; + description + "This object specifies whether the node is enabled for TOD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.6"; + } + + leaf cPtpClockOutput1ppsEnabled { + type boolean; + description + "This object specifies whether the node is enabled for PTP input + clocking using the 1pps interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.7"; + } + + leaf cPtpClockOutput1ppsOffsetEnabled { + type boolean; + description + "This object specifies whether an offset is configured in order + to compensate for a known phase error such as network + asymmetry."; + reference + "section 11 Clock offset, path delay, residence time, and + asymmetry corrections of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.8"; + } + + leaf cPtpClockOutput1ppsOffsetValue { + type uint32; + description + "This object specifies the fixed offset value configured to be + added for the 1pps output."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.9"; + } + + leaf cPtpClockOutput1ppsOffsetNegative { + type boolean; + description + "This object specifies whether the added (fixed) offset to the + 1pps output is negative or not. When object returns TRUE the + offset is negative and when object returns FALSE the offset is + positive."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.10"; + } + + leaf cPtpClockInput1ppsInterface { + type snmpv2-tc:DisplayString; + description + "This object specifies the 1pps interface used for PTP input + clocking."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.11"; + } + + leaf cPtpClockOutput1ppsInterface { + type snmpv2-tc:DisplayString; + description + "This object specifies the 1pps interface used for PTP output + clocking."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.12"; + } + + leaf cPtpClockTODInterface { + type snmpv2-tc:DisplayString; + description + "This object specifies the interface used for PTP TOD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1.3.1.13"; + } + } + } + + container cPtpClockCurrentDSTable { + description + "Table of information about the PTP clock Current Datasets for + all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1"; + + list cPtpClockCurrentDSEntry { + key "cPtpClockCurrentDSDomainIndex cPtpClockCurrentDSClockTypeIndex cPtpClockCurrentDSInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP clock Current Datasets for a domain."; + reference + "1588 Version 2.0 Section 8.2.2 currentDS data set member + specifications of [1]"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1"; + + leaf cPtpClockCurrentDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.1"; + } + + leaf cPtpClockCurrentDSClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.2"; + } + + leaf cPtpClockCurrentDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.3"; + } + + leaf cPtpClockCurrentDSStepsRemoved { + type yang:counter32; + units "steps"; + description + "The current clock dataset StepsRemoved value. + + This object specifies the distance measured by the number of + Boundary clocks between the local clock and the Foreign master + as indicated in the stepsRemoved field of Announce messages."; + reference + "1588 Version 2.0 Section 8.2.2.2 stepsRemoved"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.4"; + } + + leaf cPtpClockCurrentDSOffsetFromMaster { + type CISCO-PTP-MIB:ClockTimeInterval; + units "Time Interval"; + description + "This object specifies the current clock dataset ClockOffset + value. The value of the computation of the offset in time + between + a slave and a master clock."; + reference + "1588 Version 2.0 Section 8.2.2.3 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.5"; + } + + leaf cPtpClockCurrentDSMeanPathDelay { + type CISCO-PTP-MIB:ClockTimeInterval; + description + "This object specifies the current clock dataset + MeanPathDelay value. + + The mean path delay between a pair of ports as measure by the + delay request-response mechanism."; + reference + "1588 Version 2.0 Section 8.2.2.4 mean path delay"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.1.1.6"; + } + } + } + + container cPtpClockParentDSTable { + description + "Table of information about the PTP clock Parent Datasets for + all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2"; + + list cPtpClockParentDSEntry { + key "cPtpClockParentDSDomainIndex cPtpClockParentDSClockTypeIndex cPtpClockParentDSInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP clock Parent Datasets for a domain."; + reference + "Section 8.2.3 parentDS data set member specifications of + [1]"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1"; + + leaf cPtpClockParentDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.1"; + } + + leaf cPtpClockParentDSClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.2"; + } + + leaf cPtpClockParentDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.3"; + } + + leaf cPtpClockParentDSParentPortIdentity { + type binary; + description + "This object specifies the value of portIdentity of the port on + the master that issues the Sync messages used in synchronizing + this clock."; + reference + "section 8.2.3.2 parentDS.parentPortIdentity of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.4"; + } + + leaf cPtpClockParentDSParentStats { + type boolean; + description + "This object specifies the Parent Dataset ParentStats value. + + This value indicates whether the values of ParentDSOffset + and ParentDSClockPhChRate have been measured and are valid. + A TRUE value shall indicate valid data."; + reference + "section 8.2.3.3 parentDS.parentStats of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.5"; + } + + leaf cPtpClockParentDSOffset { + type CISCO-PTP-MIB:ClockIntervalBase2 { + range "-128..127"; + } + description + "This object specifies the Parent Dataset + ParentOffsetScaledLogVariance value. + + This value is the variance of the parent clocks phase as + measured by the local clock."; + reference + "section 8.2.3.4 + parentDS.observedParentOffsetScaledLogVariance [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.6"; + } + + leaf cPtpClockParentDSClockPhChRate { + type int32; + description + "This object specifies the clock's parent dataset + ParentClockPhaseChangeRate value. + + This value is an estimate of the parent clocks phase change + rate as measured by the slave clock."; + reference + "section 8.2.3.5 + parentDS.observedParentClockPhaseChangeRate of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.7"; + } + + leaf cPtpClockParentDSGMClockIdentity { + type CISCO-PTP-MIB:ClockIdentity; + description + "This object specifies the parent dataset Grandmaster clock + identity."; + reference + "section 8.2.3.6 parentDS.grandmasterIdentity of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.8"; + } + + leaf cPtpClockParentDSGMClockPriority1 { + type int32; + description + "This object specifies the parent dataset Grandmaster clock + priority1."; + reference + "section 8.2.3.8 parentDS.grandmasterPriority1 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.9"; + } + + leaf cPtpClockParentDSGMClockPriority2 { + type int32; + description + "This object specifies the parent dataset grandmaster clock + priority2."; + reference + "section 8.2.3.9 parentDS.grandmasterPriority2 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.10"; + } + + leaf cPtpClockParentDSGMClockQualityClass { + type CISCO-PTP-MIB:ClockQualityClassType { + range "0..255"; + } + description + "This object specifies the parent dataset grandmaster clock + quality class."; + reference + "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.11"; + } + + leaf cPtpClockParentDSGMClockQualityAccuracy { + type CISCO-PTP-MIB:ClockQualityAccuracyType; + description + "This object specifies the parent dataset grandmaster clock + quality accuracy."; + reference + "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.12"; + } + + leaf cPtpClockParentDSGMClockQualityOffset { + type uint32; + description + "This object specifies the parent dataset grandmaster clock + quality offset."; + reference + "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.2.1.13"; + } + } + } + + container cPtpClockDefaultDSTable { + description + "Table of information about the PTP clock Default Datasets for + all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3"; + + list cPtpClockDefaultDSEntry { + key "cPtpClockDefaultDSDomainIndex cPtpClockDefaultDSClockTypeIndex cPtpClockDefaultDSInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP clock Default Datasets for a domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1"; + + leaf cPtpClockDefaultDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.1"; + } + + leaf cPtpClockDefaultDSClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.2"; + } + + leaf cPtpClockDefaultDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.3"; + } + + leaf cPtpClockDefaultDSTwoStepFlag { + type boolean; + description + "This object specifies whether the Two Step process is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.4"; + } + + leaf cPtpClockDefaultDSClockIdentity { + type CISCO-PTP-MIB:ClockIdentity; + description + "This object specifies the default Datasets clock identity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.5"; + } + + leaf cPtpClockDefaultDSPriority1 { + type int32; + description + "This object specifies the default Datasets clock Priority1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.6"; + } + + leaf cPtpClockDefaultDSPriority2 { + type int32; + description + "This object specifies the default Datasets clock Priority2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.7"; + } + + leaf cPtpClockDefaultDSSlaveOnly { + type boolean; + description + "Whether the SlaveOnly flag is set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.8"; + } + + leaf cPtpClockDefaultDSQualityClass { + type CISCO-PTP-MIB:ClockQualityClassType { + range "0..255"; + } + description + "This object specifies the default dataset Quality Class."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.9"; + } + + leaf cPtpClockDefaultDSQualityAccuracy { + type CISCO-PTP-MIB:ClockQualityAccuracyType; + description + "This object specifies the default dataset Quality Accurarcy."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.10"; + } + + leaf cPtpClockDefaultDSQualityOffset { + type int32; + description + "This object specifies the default dataset Quality offset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.3.1.11"; + } + } + } + + container cPtpClockRunningTable { + description + "Table of information about the PTP clock Running Datasets for + all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4"; + + list cPtpClockRunningEntry { + key "cPtpClockRunningDomainIndex cPtpClockRunningClockTypeIndex cPtpClockRunningInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP clock running Datasets for a domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1"; + + leaf cPtpClockRunningDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.1"; + } + + leaf cPtpClockRunningClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.2"; + } + + leaf cPtpClockRunningInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.3"; + } + + leaf cPtpClockRunningState { + type CISCO-PTP-MIB:ClockStateType; + description + "This object specifies the Clock state returned by PTP engine + which was described earlier. + + Freerun state. Applies to a slave device that is not locked to + a master. This is the initial state a slave starts out with + when + it is not getting any PTP packets from the master or because of + some other input error (erroneous packets, etc). + + Holdover state. In this state the slave device is locked to a + master but communication with the master is lost or the + timestamps in the ptp packets are incorrect. But since the + slave was locked to the master, it can run with the same + accuracy for + sometime. The slave can continue to operate in this state for + some time. If communication with the master is not restored for + a while, the device is moved to the FREERUN state. + + Acquiring state. The slave device is receiving packets from a + master and is trying to acquire a lock. + + Freq_locked state. Slave device is locked to the Master with + respect to frequency, but not phase aligned + + Phase_aligned state. Locked to the master with respect to + frequency and phase."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.4"; + } + + leaf cPtpClockRunningPacketsSent { + type yang:counter64; + description + "This object specifies the total number of all packet Unicast + and multicast that have been sent out for this clock in this + domain for this type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.5"; + } + + leaf cPtpClockRunningPacketsReceived { + type yang:counter64; + description + "This object specifies the total number of all packet Unicast + and multicast that have been received for this clock in this + domain for this type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.4.1.6"; + } + } + } + + container cPtpClockTimePropertiesDSTable { + description + "Table of information about the PTP clock Timeproperties + Datasets for all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5"; + + list cPtpClockTimePropertiesDSEntry { + key "cPtpClockTimePropertiesDSDomainIndex cPtpClockTimePropertiesDSClockTypeIndex cPtpClockTimePropertiesDSInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP clock timeproperties Datasets for a domain."; + reference + "Section 8.2.4 of [1]"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1"; + + leaf cPtpClockTimePropertiesDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.1"; + } + + leaf cPtpClockTimePropertiesDSClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.2"; + } + + leaf cPtpClockTimePropertiesDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.3"; + } + + leaf cPtpClockTimePropertiesDSCurrentUTCOffsetValid { + type boolean; + description + "This object specifies the timeproperties dataset value of + whether current UTC offset is valid."; + reference + "Section 8.2.4.2 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.4"; + } + + leaf cPtpClockTimePropertiesDSCurrentUTCOffset { + type int32; + description + "This object specifies the timeproperties dataset value of + current UTC offset. + + In PTP systems whose epoch is the PTP epoch, the value of + timePropertiesDS.currentUtcOffset is the offset + between TAI and UTC; otherwise the value has no meaning. The + value shall be in units of seconds. + The initialization value shall be selected as follows: + a) If the timePropertiesDS.ptpTimescale (see 8.2.4.8) is TRUE, + the value is the value obtained from a + primary reference if the value is known at the time of + initialization, else. + b) The value shall be the current number of leap seconds (7.2.3) + when the node is designed."; + reference + "Section 8.2.4.3 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.5"; + } + + leaf cPtpClockTimePropertiesDSLeap59 { + type boolean; + description + "This object specifies the Leap59 value in the clock Current + Dataset."; + reference + "Section 8.2.4.4 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.6"; + } + + leaf cPtpClockTimePropertiesDSLeap61 { + type boolean; + description + "This object specifies the Leap61 value in the clock Current + Dataset."; + reference + "Section 8.2.4.5 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.7"; + } + + leaf cPtpClockTimePropertiesDSTimeTraceable { + type boolean; + description + "This object specifies the Timetraceable value in the clock + Current Dataset."; + reference + "Section 8.2.4.6 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.8"; + } + + leaf cPtpClockTimePropertiesDSFreqTraceable { + type boolean; + description + "This object specifies the Frequency Traceable value in the + clock Current Dataset."; + reference + "Section 8.2.4.7 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.9"; + } + + leaf cPtpClockTimePropertiesDSPTPTimescale { + type boolean; + description + "This object specifies the PTP Timescale value in the clock + Current Dataset."; + reference + "Section 8.2.4.8 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.10"; + } + + leaf cPtpClockTimePropertiesDSSource { + type CISCO-PTP-MIB:ClockTimeSourceType; + description + "This object specifies the Timesource value in the clock Current + Dataset."; + reference + "Section 8.2.4.9 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.5.1.11"; + } + } + } + + container cPtpClockTransDefaultDSTable { + description + "Table of information about the PTP Transparent clock Default + Datasets for all domains."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6"; + + list cPtpClockTransDefaultDSEntry { + key "cPtpClockTransDefaultDSDomainIndex cPtpClockTransDefaultDSInstanceIndex"; + description + "An entry in the table, containing information about a single + PTP Transparent clock Default Datasets for a domain."; + reference + "Section 8.3.2 of [1]"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1"; + + leaf cPtpClockTransDefaultDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.1"; + } + + leaf cPtpClockTransDefaultDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.2"; + } + + leaf cPtpClockTransDefaultDSClockIdentity { + type CISCO-PTP-MIB:ClockIdentity; + description + "This object specifies the value of the clockIdentity attribute + of the local clock."; + reference + "Section 8.3.2.2.1 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.3"; + } + + leaf cPtpClockTransDefaultDSNumOfPorts { + type yang:counter32; + description + "This object specifies the number of PTP ports of the device."; + reference + "Section 8.3.2.2.2 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.4"; + } + + leaf cPtpClockTransDefaultDSDelay { + type CISCO-PTP-MIB:ClockMechanismType; + description + "This object, if the transparent clock is an end-to-end + transparent clock, has the value shall be E2E; If the + transparent clock is a peer-to-peer transparent clock, the + value + shall be P2P."; + reference + "Section 8.3.2.3.1 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.5"; + } + + leaf cPtpClockTransDefaultDSPrimaryDomain { + type int32; + description + "This object specifies the value of the primary syntonization + domain. The initialization value shall be 0."; + reference + "Section 8.3.2.3.2 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.6.1.6"; + } + } + } + + container cPtpClockPortTable { + description + "Table of information about the clock ports for a particular + domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7"; + + list cPtpClockPortEntry { + key "cPtpClockPortDomainIndex cPtpClockPortClockTypeIndex cPtpClockPortClockInstanceIndex cPtpClockPortTablePortNumberIndex"; + description + "An entry in the table, containing information about a single + clock port."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1"; + + leaf cPtpClockPortDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.1"; + } + + leaf cPtpClockPortClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.2"; + } + + leaf cPtpClockPortClockInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.3"; + } + + leaf cPtpClockPortTablePortNumberIndex { + type CISCO-PTP-MIB:ClockPortNumber { + range "1..65535"; + } + description + "This object specifies the PTP Portnumber for this port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.4"; + } + + leaf cPtpClockPortName { + type snmpv2-tc:DisplayString { + length "1..64"; + } + description + "This object specifies the PTP clock port name configured on the + router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.5"; + } + + leaf cPtpClockPortRole { + type CISCO-PTP-MIB:ClockRoleType; + description + "This object describes the current role (slave/master) of the + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.6"; + } + + leaf cPtpClockPortSyncOneStep { + type boolean; + description + "This object specifies that one-step clock operation between + the PTP master and slave device is enabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.7"; + } + + leaf cPtpClockPortCurrentPeerAddressType { + type inet-address:InetAddressType; + description + "This object specifies the current peer's network address used + for PTP communication. Based on the scenario and the setup + involved, the values might look like these - + Scenario Value + ------------------- ---------------- + Single Master master port + Multiple Masters selected master port + Single Slave slave port + Multiple Slaves + + (In relevant setups, information on available + slaves and available masters will be available through + cPtpClockPortAssociateTable)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.8"; + } + + leaf cPtpClockPortCurrentPeerAddress { + type inet-address:InetAddress; + description + "This object specifies the current peer's network address used + for PTP communication. Based on the scenario and the setup + involved, the values might look like these - + Scenario Value + ------------------- ---------------- + Single Master master port + Multiple Masters selected master port + Single Slave slave port + Multiple Slaves + + (In relevant setups, information on available + slaves and available masters will be available through + cPtpClockPortAssociateTable)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.9"; + } + + leaf cPtpClockPortNumOfAssociatedPorts { + type yang:gauge32; + description + "This object specifies - + For a master port - the number of PTP slave sessions (peers) + associated with this PTP port. + For a slave port - the number of masters available to this slave + port (might or might not be peered)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.7.1.10"; + } + } + } + + container cPtpClockPortDSTable { + description + "Table of information about the clock ports dataset for a + particular domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8"; + + list cPtpClockPortDSEntry { + key "cPtpClockPortDSDomainIndex cPtpClockPortDSClockTypeIndex cPtpClockPortDSClockInstanceIndex cPtpClockPortDSPortNumberIndex"; + description + "An entry in the table, containing port dataset information for + a single clock port."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1"; + + leaf cPtpClockPortDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.1"; + } + + leaf cPtpClockPortDSClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.2"; + } + + leaf cPtpClockPortDSClockInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.3"; + } + + leaf cPtpClockPortDSPortNumberIndex { + type CISCO-PTP-MIB:ClockPortNumber { + range "1..65535"; + } + description + "This object specifies the PTP portnumber associated with this + PTP port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.4"; + } + + leaf cPtpClockPortDSName { + type snmpv2-tc:DisplayString { + length "1..64"; + } + description + "This object specifies the PTP clock port name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.5"; + } + + leaf cPtpClockPortDSPortIdentity { + type binary; + description + "This object specifies the PTP clock port Identity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.6"; + } + + leaf cPtpClockPortDSAnnouncementInterval { + type int32; + description + "This object specifies the Announce message transmission + interval associated with this clock port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.7"; + } + + leaf cPtpClockPortDSAnnounceRctTimeout { + type int32; + description + "This object specifies the Announce receipt timeout associated + with this clock port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.8"; + } + + leaf cPtpClockPortDSSyncInterval { + type int32; + description + "This object specifies the Sync message transmission interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.9"; + } + + leaf cPtpClockPortDSMinDelayReqInterval { + type int32; + description + "This object specifies the Delay_Req message transmission + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.10"; + } + + leaf cPtpClockPortDSPeerDelayReqInterval { + type int32; + description + "This object specifies the Pdelay_Req message transmission + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.11"; + } + + leaf cPtpClockPortDSDelayMech { + type CISCO-PTP-MIB:ClockMechanismType; + description + "This object specifies the delay mechanism used. If the clock + is an end-to-end clock, the value of the is e2e, else if the + clock is a peer to-peer clock, the value shall be p2p."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.12"; + } + + leaf cPtpClockPortDSPeerMeanPathDelay { + type CISCO-PTP-MIB:ClockTimeInterval; + description + "This object specifies the peer meanPathDelay."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.13"; + } + + leaf cPtpClockPortDSGrantDuration { + type uint32; + description + "This object specifies the grant duration allocated by the + master."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.14"; + } + + leaf cPtpClockPortDSPTPVersion { + type int32; + description + "This object specifies the PTP version being used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.8.1.15"; + } + } + } + + container cPtpClockPortRunningTable { + description + "Table of information about the clock ports running dataset for + a particular domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9"; + + list cPtpClockPortRunningEntry { + key "cPtpClockPortRunningDomainIndex cPtpClockPortRunningClockTypeIndex cPtpClockPortRunningClockInstanceIndex cPtpClockPortRunningPortNumberIndex"; + description + "An entry in the table, containing runing dataset information + about a single clock port."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1"; + + leaf cPtpClockPortRunningDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.1"; + } + + leaf cPtpClockPortRunningClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the clock type as defined in the + Textual convention description."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.2"; + } + + leaf cPtpClockPortRunningClockInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.3"; + } + + leaf cPtpClockPortRunningPortNumberIndex { + type CISCO-PTP-MIB:ClockPortNumber { + range "1..65535"; + } + description + "This object specifies the PTP portnumber associated with this + clock port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.4"; + } + + leaf cPtpClockPortRunningName { + type snmpv2-tc:DisplayString { + length "1..64"; + } + description + "This object specifies the PTP clock port name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.5"; + } + + leaf cPtpClockPortRunningState { + type CISCO-PTP-MIB:ClockPortState; + description + "This object specifies the port state returned by PTP engine. + + initializing - In this state a port initializes + its data sets, hardware, and + communication facilities. + faulty - The fault state of the protocol. + disabled - The port shall not place any + messages on its communication path. + listening - The port is waiting for the + announceReceiptTimeout to expire or + to receive an Announce message from + a master. + preMaster - The port shall behave in all respects + as though it were in the MASTER state + except that it shall not place any + messages on its communication path + except for Pdelay_Req, Pdelay_Resp, + Pdelay_Resp_Follow_Up, signaling, or + management messages. + master - The port is behaving as a master port. + + passive - The port shall not place any + messages on its communication path + except for Pdelay_Req, Pdelay_Resp, + Pdelay_Resp_Follow_Up, or signaling + messages, or management messages + that are a required response to + another management message + uncalibrated - The local port is preparing to + synchronize to the master port. + slave - The port is synchronizing to the + selected master port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.6"; + } + + leaf cPtpClockPortRunningRole { + type CISCO-PTP-MIB:ClockRoleType; + description + "This object specifies the Clock Role."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.7"; + } + + leaf cPtpClockPortRunningInterfaceIndex { + type cisco-tc:InterfaceIndexOrZero; + description + "This object specifies the interface on the router being used by + the PTP Clock for PTP communication."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.8"; + } + + leaf cPtpClockPortRunningIPversion { + type int32; + description + "This object specifirst the IP version being used for PTP + communication (the mapping used)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.9"; + } + + leaf cPtpClockPortRunningEncapsulationType { + type int32; + description + "This object specifies the type of encapsulation if the + interface is adding extra layers (eg. VLAN, Pseudowire + encapsulation...) for the PTP messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.10"; + } + + leaf cPtpClockPortRunningTxMode { + type CISCO-PTP-MIB:ClockTxModeType; + description + "This object specifies the clock transmission mode as + + unicast: Using unicast commnuication channel. + multicast: Using Multicast communication channel. + multicast-mix: Using multicast-unicast communication channel"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.11"; + } + + leaf cPtpClockPortRunningRxMode { + type CISCO-PTP-MIB:ClockTxModeType; + description + "This object specifie the clock receive mode as + + unicast: Using unicast commnuication channel. + multicast: Using Multicast communication channel. + multicast-mix: Using multicast-unicast communication channel"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.12"; + } + + leaf cPtpClockPortRunningPacketsReceived { + type yang:counter64; + units "packets"; + description + "This object specifies the packets received on the clock port + (cummulative)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.13"; + } + + leaf cPtpClockPortRunningPacketsSent { + type yang:counter64; + units "packets"; + description + "This object specifies the packets sent on the clock port + (cummulative)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.9.1.14"; + } + } + } + + container cPtpClockPortTransDSTable { + description + "Table of information about the Transparent clock ports running + dataset for a particular domain."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10"; + + list cPtpClockPortTransDSEntry { + key "cPtpClockPortTransDSDomainIndex cPtpClockPortTransDSInstanceIndex cPtpClockPortTransDSPortNumberIndex"; + description + "An entry in the table, containing clock port Transparent + dataset information about a single clock port"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1"; + + leaf cPtpClockPortTransDSDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the domain number used to create logical + group of PTP devices."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.1"; + } + + leaf cPtpClockPortTransDSInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType { + range "0..255"; + } + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.2"; + } + + leaf cPtpClockPortTransDSPortNumberIndex { + type CISCO-PTP-MIB:ClockPortNumber { + range "1..65535"; + } + description + "This object specifies the PTP port number associated with this + port."; + reference + "Section 7.5.2 Port Identity of [1]"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.3"; + } + + leaf cPtpClockPortTransDSPortIdentity { + type CISCO-PTP-MIB:ClockIdentity; + description + "This object specifies the value of the PortIdentity + attribute of the local port."; + reference + "Section 8.3.3.2.1 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.4"; + } + + leaf cPtpClockPortTransDSlogMinPdelayReqInt { + type int32; + description + "This object specifies the value of the logarithm to the + base 2 of the minPdelayReqInterval."; + reference + "Section 8.3.3.3.1 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.5"; + } + + leaf cPtpClockPortTransDSFaultyFlag { + type boolean; + description + "This object specifies the value TRUE if the port is faulty + and FALSE if the port is operating normally."; + reference + "Section 8.3.3.3.2 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.6"; + } + + leaf cPtpClockPortTransDSPeerMeanPathDelay { + type CISCO-PTP-MIB:ClockTimeInterval; + description + "This object specifies, (if the delayMechanism used is P2P) the + value is the estimate of the current one-way propagation delay, + i.e., on the link attached to this port + computed + using the peer delay mechanism. If the value of the + delayMechanism + used is E2E, then the value will be zero."; + reference + "Section 8.3.3.3.3 of [1]"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.10.1.7"; + } + } + } + + container cPtpClockPortAssociateTable { + description + "Table of information about a given port's associated ports. + + For a master port - multiple slave ports which have established + sessions with the current master port. + For a slave port - the list of masters available for a given + slave port. + + Session information (pkts, errors) to be displayed based on + availability and scenario."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11"; + + list cPtpClockPortAssociateEntry { + key "cPtpClockPortCurrentDomainIndex cPtpClockPortCurrentClockTypeIndex cPtpClockPortCurrentClockInstanceIndex cPtpClockPortCurrentPortNumberIndex cPtpClockPortAssociatePortIndex"; + description + "An entry in the table, containing information about a single + associated port for the given clockport."; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1"; + + leaf cPtpClockPortCurrentDomainIndex { + type CISCO-PTP-MIB:ClockDomainType; + description + "This object specifies the given port's domain number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.1"; + } + + leaf cPtpClockPortCurrentClockTypeIndex { + type CISCO-PTP-MIB:ClockType; + description + "This object specifies the given port's clock type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.2"; + } + + leaf cPtpClockPortCurrentClockInstanceIndex { + type CISCO-PTP-MIB:ClockInstanceType; + description + "This object specifies the instance of the clock for this clock + type in the given domain."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.3"; + } + + leaf cPtpClockPortCurrentPortNumberIndex { + type CISCO-PTP-MIB:ClockPortNumber; + description + "This object specifies the PTP Port Number for the given port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.4"; + } + + leaf cPtpClockPortAssociatePortIndex { + type uint32 { + range "1..65535"; + } + description + "This object specifies the associated port's serial number in + the current port's context."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.5"; + } + + leaf cPtpClockPortAssociateAddressType { + type inet-address:InetAddressType; + description + "This object specifies the peer port's network address type used + for PTP communication."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.6"; + } + + leaf cPtpClockPortAssociateAddress { + type inet-address:InetAddress; + description + "This object specifies the peer port's network address used for + PTP communication."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.7"; + } + + leaf cPtpClockPortAssociatePacketsSent { + type yang:counter64; + units "packets"; + description + "The number of packets sent to this peer port from the current + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.8"; + } + + leaf cPtpClockPortAssociatePacketsReceived { + type yang:counter64; + units "packets"; + description + "The number of packets received from this peer port by the + current port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.9"; + } + + leaf cPtpClockPortAssociateInErrors { + type yang:counter64; + units "packets"; + description + "This object specifies the input errors associated with the + peer port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.10"; + } + + leaf cPtpClockPortAssociateOutErrors { + type yang:counter64; + units "packets"; + description + "This object specifies the output errors associated with the + peer port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2.11.1.11"; + } + } + } + } + + smiv2:alias "ciscoPtpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.760"; + } + + smiv2:alias "ciscoPtpMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.760.0"; + } + + smiv2:alias "ciscoPtpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.760.1"; + } + + smiv2:alias "ciscoPtpMIBSystemInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.760.1.1"; + } + + smiv2:alias "ciscoPtpMIBClockInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.760.1.2"; + } + + smiv2:alias "ciscoPtpMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.760.2"; + } + + smiv2:alias "ciscoPtpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.760.2.1"; + } + + smiv2:alias "ciscoPtpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.760.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-QOS-PIB-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-QOS-PIB-MIB.yang new file mode 100644 index 000000000..6e2255560 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-QOS-PIB-MIB.yang @@ -0,0 +1,1782 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-QOS-PIB-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-QOS-PIB-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-QOS-PIB-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB"; + prefix CISCO-QOS-PIB-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-wbu@cisco.com"; + + description + "The Cisco QOS Policy PIB for provisioning QOS policy."; + + revision 2007-08-29 { + description + "Add new enum values in QosInterfaceQueueType + textual convention for various queue type."; + } + + revision 2004-05-03 { + description + "Add new enum value in QosInterfaceQueueType + textual convention for 1p3q8t queue type."; + } + + revision 2003-02-21 { + description + "Add new enum values in QosInterfaceQueueType + textual convention to indicate queue types + containing priority queue. Add new enum value + in ThresholdSetRange textual convention for + zero threshold."; + } + + revision 2002-05-02 { + description + "Fix the SYNTAX of Role and RoleCombination."; + } + + revision 2000-06-16 { + description + "Added QosInterfaceTypeCapabilities textual convention."; + } + + revision 2000-05-11 { + description + "Initial version of this PIB module."; + } + + typedef Dscp { + type int32 { + range "0..63"; + } + description + "An integer that is in the range of the DiffServ codepoint + values."; + } + + typedef QosLayer2Cos { + type int32 { + range "0..7"; + } + description + "An integer that is in the range of the layer 2 CoS values. + This corresponds to the 802.1p and ISL CoS values."; + } + + typedef QueueRange { + type enumeration { + enum "oneQ" { + value "1"; + } + enum "twoQ" { + value "2"; + } + enum "threeQ" { + value "3"; + } + enum "fourQ" { + value "4"; + } + enum "eightQ" { + value "8"; + } + enum "sixteenQ" { + value "16"; + } + enum "thirtyTwoQ" { + value "32"; + } + enum "sixtyFourQ" { + value "64"; + } + } + description + "An integer that is limited to the number of queues per + interface supported by the PIB. Limited to 64 which is the + number of codepoints."; + } + + typedef ThresholdSetRange { + type enumeration { + enum "zeroT" { + value "0"; + } + enum "oneT" { + value "1"; + } + enum "twoT" { + value "2"; + } + enum "fourT" { + value "4"; + } + enum "eightT" { + value "8"; + } + } + description + "An integer that is limited to the number of threshold sets + per queue supported by the PIB. A threshold set is a + collection of parameters describing queue threshold. The + parameters of a threshold set depend on the drop mechanism the + queue implements. For example, the threshold set for + tail-drop comprises a single parameter, the percentage of + queue size at which dropping occurs. The threshold set for + WRED comprises two parameters; within the range of the two + parameters packets are randomly dropped."; + } + + typedef Percent { + type int32 { + range "0..100"; + } + description + "An integer that is in the range of a percent value."; + } + + typedef QosInterfaceQueueType { + type enumeration { + enum "oneQ1t" { + value "1"; + } + enum "oneQ2t" { + value "2"; + } + enum "oneQ4t" { + value "3"; + } + enum "oneQ8t" { + value "4"; + } + enum "twoQ1t" { + value "5"; + } + enum "twoQ2t" { + value "6"; + } + enum "twoQ4t" { + value "7"; + } + enum "twoQ8t" { + value "8"; + } + enum "threeQ1t" { + value "9"; + } + enum "threeQ2t" { + value "10"; + } + enum "threeQ4t" { + value "11"; + } + enum "threeQ8t" { + value "12"; + } + enum "fourQ1t" { + value "13"; + } + enum "fourQ2t" { + value "14"; + } + enum "fourQ4t" { + value "15"; + } + enum "fourQ8t" { + value "16"; + } + enum "eightQ1t" { + value "17"; + } + enum "eightQ2t" { + value "18"; + } + enum "eightQ4t" { + value "19"; + } + enum "eightQ8t" { + value "20"; + } + enum "sixteenQ1t" { + value "21"; + } + enum "sixteenQ2t" { + value "22"; + } + enum "sixteenQ4t" { + value "23"; + } + enum "sixtyfourQ1t" { + value "24"; + } + enum "sixtyfourQ2t" { + value "25"; + } + enum "sixtyfourQ4t" { + value "26"; + } + enum "oneP1Q0t" { + value "27"; + } + enum "oneP1Q4t" { + value "28"; + } + enum "oneP1Q8t" { + value "29"; + } + enum "oneP2Q1t" { + value "30"; + } + enum "oneP2Q2t" { + value "31"; + } + enum "oneP3Q1t" { + value "32"; + } + enum "oneP7Q8t" { + value "33"; + } + enum "oneP3Q8t" { + value "34"; + } + enum "sixteenQ8t" { + value "35"; + } + enum "oneP15Q8t" { + value "36"; + } + enum "oneP15Q1t" { + value "37"; + } + enum "oneP7Q1t" { + value "38"; + } + enum "oneP31Q1t" { + value "39"; + } + enum "thirtytwoQ1t" { + value "40"; + } + enum "thirtytwoQ8t" { + value "41"; + } + enum "oneP31Q8t" { + value "42"; + } + enum "oneP7Q4t" { + value "43"; + } + enum "oneP3Q4t" { + value "44"; + } + enum "oneP7Q2t" { + value "45"; + } + } + description + "An enumerated type for all the known interface types. The + interface types are currently limited to a predefined + combination of queues and thresholds such that the product of + queues and thresholds does not exceed 64 (i.e., the total + number of DSCPs."; + } + + typedef QosInterfaceTypeCapabilities { + type bits { + bit unspecified { + position "0"; + } + bit inputL2Classification { + position "1"; + } + bit inputIpClassification { + position "2"; + } + bit outputL2Classification { + position "3"; + } + bit outputIpClassification { + position "4"; + } + bit inputUflowPolicing { + position "5"; + } + bit inputAggregatePolicing { + position "6"; + } + bit outputUflowPolicing { + position "7"; + } + bit outputAggregatePolicing { + position "8"; + } + bit policeByMarkingDown { + position "9"; + } + bit policeByDropping { + position "10"; + } + bit fifo { + position "11"; + } + bit wrr { + position "12"; + } + bit wfq { + position "13"; + } + bit cq { + position "14"; + } + bit pq { + position "15"; + } + bit cbwfq { + position "16"; + } + bit tailDrop { + position "17"; + } + bit wred { + position "18"; + } + bit inputPortClassification { + position "19"; + } + bit outputPortClassification { + position "20"; + } + bit inputUflowShaping { + position "21"; + } + bit inputAggregateShaping { + position "22"; + } + bit outputUflowShaping { + position "23"; + } + bit outputAggregateShaping { + position "24"; + } + bit pqWrr { + position "25"; + } + bit pqCbwfq { + position "26"; + } + } + description + "An enumeration of interface capabilities. Used by the PDP to + select policies and configuration to push to the PEP."; + } + + typedef RoleCombination { + type binary { + length "0..255"; + } + description + "A Display string consisting of a set of roles concatenated + with a '+' character where the roles are in lexicographic + order from minimum to maximum."; + } + + typedef PolicyInstanceId { + type uint32; + description + "A textual convention for an attribute that is an an + unsigned integer index attribute of class. It is used for + attributes that exist for the purpose of providing an integer + index of an instance. + + For any integer index that refers to another policy instance, + that other policy instance must exist. Furthermore, it is an + error to try to delete a policy instance that is referred to by + another instance without first deleting the referring + instance."; + } + + + container CISCO-QOS-PIB-MIB { + config false; + + container qosDevicePibIncarnationTable { + description + "This class contains a single policy instance that identifies + the current incarnation of the PIB and the PDP that installed + this incarnation. The instance of this class is reported to + the PDP at client connect time so that the PDP can (attempt + to) ascertain the current state of the PIB."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1"; + + list qosDevicePibIncarnationEntry { + key "qosDeviceIncarnationId"; + description + "The single policy instance of this class identifies the + current incarnation of the PIB and the PDP that installed + this incarnation."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1.1"; + + leaf qosDeviceIncarnationId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1.1.1"; + } + + leaf qosDevicePdpName { + type snmpv2-tc:DisplayString; + description + "The name of the PDP that installed the current incarnation of + the PIB into the device. By default it is the zero length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1.1.2"; + } + + leaf qosDevicePibIncarnation { + type binary { + length "128"; + } + description + "An octet string to identify the current incarnation. It has + meaning to the PDP that installed the PIB and perhaps its + standby PDPs. By default the empty string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1.1.3"; + } + + leaf qosDevicePibTtl { + type uint32; + description + "The number of seconds after a client close or TCP timeout for + which the PEP continues to enforce the policy in the PIB. + After this interval, the PIB is consired expired and the + device no longer enforces the policy installed in the PIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.1.1.4"; + } + } + } + + container qosDeviceAttributeTable { + description + "The single instance of this class indicates specific + attributes of the device. These include configuration values + such as the configured PDP addresses, the maximum message + size, and specific device capabilities. The latter include + input port-based and output port-based classification and/or + policing, support for flow based policing, aggregate based + policing, traffic shaping capabilities, etc."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2"; + + list qosDeviceAttributeEntry { + key "qosDeviceAttributeId"; + description + "The single instance of this class indicates specific + attributes of the device."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1"; + + leaf qosDeviceAttributeId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.1"; + } + + leaf qosDevicePepDomain { + type snmpv2-tc:DisplayString; + description + "The QoS domain that this device belongs to. This is + configured locally on the device (perhaps by some management + protocol such as SNMP). By default, it is the zero-length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.2"; + } + + leaf qosDevicePrimaryPdp { + type inet:ipv4-address; + description + "The address of the PDP configured to be the primary PDP for + the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.3"; + } + + leaf qosDeviceSecondaryPdp { + type inet:ipv4-address; + description + "The address of the PDP configured to be the secondary PDP for + the device. An address of zero indicates no secondary is + configured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.4"; + } + + leaf qosDeviceMaxMessageSize { + type uint32; + description + "The maximum size message that this PEP is capable of + receiving in bytes. A value of zero means that the maximum + message size is unspecified (but does not mean it is + unlimited). A message greater than this maximum results in a + MessageTooBig error on a 'no commit' REP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.5"; + } + + leaf qosDeviceCapabilities { + type bits { + bit unspecified { + position "0"; + } + bit layer2Cos { + position "1"; + } + bit ipPrecedence { + position "2"; + } + bit dscp { + position "3"; + } + } + description + "An enumeration of device capabilities. Used by the PDP to + select policies and configuration to push to the PEP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.2.1.6"; + } + } + } + + container qosInterfaceTypeTable { + description + "This class describes the interface types of the interfaces + that exist on the device. It includes the queue type, role + combination and capabilities of interfaces. The PEP does not + report which specific interfaces have which characteristics."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3"; + + list qosInterfaceTypeEntry { + key "qosInterfaceTypeId"; + description + "An instance of this class describes a role combination for + an interface type of an interface that exists on the device."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3.1"; + + leaf qosInterfaceTypeId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3.1.1"; + } + + leaf qosInterfaceQueueType { + type CISCO-QOS-PIB-MIB:QosInterfaceQueueType; + description + "The interface type in terms of number of queues and + thresholds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3.1.2"; + } + + leaf qosInterfaceTypeRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "A combination of roles on at least one interface of type + qosInterfaceType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3.1.3"; + } + + leaf qosInterfaceTypeCapabilities { + type CISCO-QOS-PIB-MIB:QosInterfaceTypeCapabilities; + description + "An enumeration of interface capabilities. Used by the PDP to + select policies and configuration to push to the PEP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2.3.1.4"; + } + } + } + + container qosDiffServMappingTable { + description + "Maps each DSCP to a marked-down DSCP. Also maps each DSCP to + an IP precedence and QosLayer2Cos. When configured for the + first time, all 64 entries of the table must be + specified. Thereafter, instances may be modified (with a + delete and install in a single decision) but not deleted + unless all instances are deleted."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.1"; + + list qosDiffServMappingEntry { + key "qosDscp"; + description + "An instance of this class represents mappings from a DSCP."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.1.1"; + + leaf qosDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "A DSCP for which this entry contains mappings."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.1.1.1"; + } + + leaf qosMarkedDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The DSCP to use instead of the qosDscp when the packet is out + of profile and hence marked as such."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.1.1.2"; + } + + leaf qosL2Cos { + type CISCO-QOS-PIB-MIB:QosLayer2Cos; + description + "The L2 CoS value to use when mapping this DSCP to layer 2 + CoS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.1.1.3"; + } + } + } + + container qosCosToDscpTable { + description + "Maps each of eight CoS values to a DSCP. When configured for + the first time, all 8 entries of the table must be + specified. Thereafter, instances may be modified (with a + delete and install in a single decision) but not deleted + unless all instances are deleted."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.2"; + + list qosCosToDscpEntry { + key "qosCosToDscpCos"; + description + "An instance of this class maps a CoS value to a DSCP."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.2.1"; + + leaf qosCosToDscpCos { + type CISCO-QOS-PIB-MIB:QosLayer2Cos; + description + "The L2 CoS value that is being mapped."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.2.1.1"; + } + + leaf qosCosToDscpDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The DSCP value to use when mapping the L2 CoS to a DSCP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3.2.1.2"; + } + } + } + + container qosUnmatchedPolicyTable { + description + "A policy class that specifies what QoS to apply to a packet + that does not match any other policy configured for this role + combination for a particular direction of traffic."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1"; + + list qosUnmatchedPolicyEntry { + key "qosUnmatchedPolicyId"; + description + "An instance of this class specifies the unmatched policy + for a particular role combination for incoming or outgoing + traffic."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1"; + + leaf qosUnmatchedPolicyId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.1"; + } + + leaf qosUnmatchedPolicyRole { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "Role combination for which this instance applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.2"; + } + + leaf qosUnmatchedPolicyDirection { + type enumeration { + enum "in" { + value "0"; + } + enum "out" { + value "1"; + } + } + description + "The direction of packet flow at the interface in question to + which this instance applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.3"; + } + + leaf qosUnmatchedPolicyDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The DSCP to classify the unmatched packet with. This must be + specified even if qosUnmatchedPolicyDscpTrusted is true."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.4"; + } + + leaf qosUnmatchedPolicyDscpTrusted { + type boolean; + description + "If this attribute is true, then the Dscp associated with the + packet is trusted, i.e., it is assumed to have already been + set. In this case, the Dscp is not rewritten with + qosUnmatchedPolicyDscp (qosUnmatchedPolicyDscp is ignored) + unless this is a non-IP packet and arrives untagged. The + packet is still policed as part of its micro flow and its + aggregate flow. + + When a trusted action is applied to an input interface, the + Dscp (for an IP packet) or CoS (for a non-IP packet) + associated with the packet is the one contained in the packet. + When a trusted action is applied to an output interface, the + Dscp associated with the packet is the one that is the result + of the input classification and policing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.5"; + } + + leaf qosUnmatchPolMicroFlowPolicerId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index identifying the instance of policer to apply to + unmatched packets. It must correspond to the integer index of + an instance of class qosPolicerTable or be zero. If zero, the + microflow is not policed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.6"; + } + + leaf qosUnmatchedPolicyAggregateId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index identifying the aggregate that the packet belongs + to. It must correspond to the integer index of an instance of + class qosAggregateTable or be zero. If zero, the microflow + does not belong to any aggregate and is not policed as part of + any aggregate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4.1.1.7"; + } + } + } + + container qosPolicerTable { + description + "A class specifying policing parameters for both microflows + and aggregate flows. This table is designed for policing + according to a token bucket scheme where an average rate and + burst size is specified."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1"; + + list qosPolicerEntry { + key "qosPolicerId"; + description + "An instance of this class specifies a set of policing + parameters."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1"; + + leaf qosPolicerId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1.1"; + } + + leaf qosPolicerRate { + type uint32; + description + "The token rate. It is specified in units of bit/s. A rate of + zero means that all packets will be out of profile. If the + qosPolicerAction is set to drop then this effectively + denies any service to packets policed by this policer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1.2"; + } + + leaf qosPolicerNormalBurst { + type uint32; + description + "The normal size of a burst in terms of bits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1.3"; + } + + leaf qosPolicerExcessBurst { + type uint32; + description + "The excess size of a burst in terms of bits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1.4"; + } + + leaf qosPolicerAction { + type enumeration { + enum "drop" { + value "0"; + } + enum "mark" { + value "1"; + } + enum "shape" { + value "2"; + } + } + description + "An indication of how to handle out of profile packets. When + the shape action is chosen then traffic is shaped to the rate + specified by qosPolicerRate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.1.1.5"; + } + } + } + + container qosAggregateTable { + description + "Instances of this class identify aggregate flows and the + policer to apply to each."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.2"; + + list qosAggregateEntry { + key "qosAggregateId"; + description + "An instance of this class specifies the policer to apply to + an aggregate flow."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.2.1"; + + leaf qosAggregateId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.2.1.1"; + } + + leaf qosAggregatePolicerId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index identifying the instance of policer to apply to the + aggregate. It must correspond to the integer index of an + instance of class qosPolicerTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5.2.1.2"; + } + } + } + + container qosMacClassificationTable { + description + "A class of MAC/Vlan tuples and their associated CoS values."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1"; + + list qosMacClassificationEntry { + key "qosMacClassificationId"; + description + "An instance of this class specifies the mapping of a VLAN + and a MAC address to a CoS value."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1.1"; + + leaf qosMacClassificationId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1.1.1"; + } + + leaf qosDstMacVlan { + type int32 { + range "1..4095"; + } + description + "The VLAN of the destination MAC address of the L2 frame."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1.1.2"; + } + + leaf qosDstMacAddress { + type yang:mac-address; + description + "The destination MAC address of the L2 frame."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1.1.3"; + } + + leaf qosDstMacCos { + type CISCO-QOS-PIB-MIB:QosLayer2Cos; + description + "The CoS to assign the packet with the associated MAC/VLAN + tuple. Note that this CoS is overridden by the policies to + classify the frame at layer 3 if there are any."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6.1.1.4"; + } + } + } + + container qosIpAceTable { + description + "ACE definitions."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1"; + + list qosIpAceEntry { + key "qosIpAceId"; + description + "An instance of this class specifies an ACE."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1"; + + leaf qosIpAceId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.1"; + } + + leaf qosIpAceDstAddr { + type inet:ipv4-address; + description + "The IP address to match against the packet's destination IP + address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.2"; + } + + leaf qosIpAceDstAddrMask { + type inet:ipv4-address; + description + "A mask for the matching of the destination IP address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.3"; + } + + leaf qosIpAceSrcAddr { + type inet:ipv4-address; + description + "The IP address to match against the packet's source IP + address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.4"; + } + + leaf qosIpAceSrcAddrMask { + type inet:ipv4-address; + description + "A mask for the matching of the source IP address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.5"; + } + + leaf qosIpAceDscpMin { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The minimum value that the DSCP in the packet can have and + match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.6"; + } + + leaf qosIpAceDscpMax { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The maximum value that the DSCP in the packet can have and + match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.7"; + } + + leaf qosIpAceProtocol { + type int32 { + range "0..255"; + } + description + "The IP protocol to match against the packet's protocol. + A value of zero means match all."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.8"; + } + + leaf qosIpAceDstL4PortMin { + type int32 { + range "0..65535"; + } + description + "The minimum value that the packet's layer 4 dest port number + can have and match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.9"; + } + + leaf qosIpAceDstL4PortMax { + type int32 { + range "0..65535"; + } + description + "The maximum value that the packet's layer 4 dest port number + can have and match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.10"; + } + + leaf qosIpAceSrcL4PortMin { + type int32 { + range "0..65535"; + } + description + "The minimum value that the packet's layer 4 source port + number can have and match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.11"; + } + + leaf qosIpAceSrcL4PortMax { + type int32 { + range "0..65535"; + } + description + "The maximum value that the packet's layer 4 source port + number can have and match this ACE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.12"; + } + + leaf qosIpAcePermit { + type boolean; + description + "If the packet matches this ACE and the value of this attribute + is true, then the matching process terminates and the QoS + associated with this ACE (indirectly through the ACL) is + applied to the packet. If the value of this attribute is false, + then no more ACEs in this ACL are compared to this packet and + matching continues with the first ACE of the next ACL."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.1.1.13"; + } + } + } + + container qosIpAclDefinitionTable { + description + "A class that defines a set of ACLs each being an ordered list + of ACEs."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2"; + + list qosIpAclDefinitionEntry { + key "qosIpAclDefinitionId"; + description + "An instance of this class specifies an ACE in an ACL and its + order with respect to other ACEs in the same ACL."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2.1"; + + leaf qosIpAclDefinitionId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2.1.1"; + } + + leaf qosIpAclId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index for this ACL. There will be one instance of + policy class qosIpAclDefinition with this integer index for + each ACE in the ACL per role combination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2.1.2"; + } + + leaf qosIpAceOrder { + type uint32; + description + "An integer that determines the position of this ACE in the ACL. + An ACE with a given order is positioned in the access contol + list before one with a higher order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2.1.3"; + } + + leaf qosIpAclDefAceId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "This attribute specifies the ACE in the qosIpAceTable that is + in the ACL specified by qosIpAclId at the position specified + by qosIpAceOrder."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.2.1.4"; + } + } + } + + container qosIpAclActionTable { + description + "A class that applies a set of ACLs to interfaces specifying, + for each interface the order of the ACL with respect to other + ACLs applied to the same interface and, for each ACL the + action to take for a packet that matches a permit ACE in that + ACL. Interfaces are specified abstractly in terms of + interface role combinations."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3"; + + list qosIpAclActionEntry { + key "qosIpAclActionId"; + description + "An instance of this class applies an ACL to traffic in a + particular direction on an interface with a particular role + combination, and specifies the action for packets which match + the ACL."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1"; + + leaf qosIpAclActionId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.1"; + } + + leaf qosIpAclActAclId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "The ACL associated with this action."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.2"; + } + + leaf qosIpAclInterfaceRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The interfaces to which this ACL applies specified in terms + of a set of roles."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.3"; + } + + leaf qosIpAclInterfaceDirection { + type enumeration { + enum "in" { + value "0"; + } + enum "out" { + value "1"; + } + } + description + "The direction of packet flow at the interface in question to + which this ACL applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.4"; + } + + leaf qosIpAclOrder { + type uint32; + description + "An integer that determines the order of this ACL in the list + of ACLs applied to interfaces of the specified role + combination. An ACL with a given order is positioned in the + list before one with a higher order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.5"; + } + + leaf qosIpAclDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The DSCP to classify the packet with in the event that the + packet matches an ACE in this ACL and the ACE is a permit."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.6"; + } + + leaf qosIpAclDscpTrusted { + type boolean; + description + "If this attribute is true, then the Dscp associated with + the packet is trusted, i.e., it is assumed to have already + been set. In this case, the Dscp is not rewritten with + qosIpAclDscp (qosIpAclDscp is ignored). The packet is still + policed as part of its micro flow and its aggregate flow. + + When a trusted action is applied to an input interface, the + Dscp associated with the packet is the one contained in the + packet. When a trusted action is applied to an output + interface, the Dscp associated with the packet is the one that + is the result of the input classification and policing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.7"; + } + + leaf qosIpAclMicroFlowPolicerId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index identifying the instance of policer to apply to the + microflow. It must correspond to the integer index of an + instance of class qosPolicerTableor be zero. If zero, the + microflow is not policed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.8"; + } + + leaf qosIpAclAggregateId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An index identifying the aggregate that the packet belongs + to. It must correspond to the integer index of an instance of + class qosAggregateTable or be zero. If zero, the microflow + does not belong to any aggregate and is not policed as part of + any aggregate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7.3.1.9"; + } + } + } + + container qosIfSchedulingPreferencesTable { + description + "This class specifies the scheduling preference an interface + chooses if it supports multiple scheduling types. Higher + values are preferred over lower values."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1"; + + list qosIfSchedulingPreferenceEntry { + key "qosIfSchedulingPreferenceId"; + description + "An instance of this class specifies a scheduling preference + for a queue-type on an interface with a particular role + combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1"; + + leaf qosIfSchedulingPreferenceId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1.1"; + } + + leaf qosIfSchedulingRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The combination of roles the interface must have for this + policy instance to apply to that interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1.2"; + } + + leaf qosIfSchedulingPreference { + type int32 { + range "1..16"; + } + description + "The preference to use this scheduling discipline and queue + type. A higher value means a higher preference. If two + disciplines have the same preference the choice is a local + decision."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1.3"; + } + + leaf qosIfSchedulingDiscipline { + type enumeration { + enum "weightedFairQueueing" { + value "1"; + } + enum "weightedRoundRobin" { + value "2"; + } + enum "customQueueing" { + value "3"; + } + enum "priorityQueueing" { + value "4"; + } + enum "classBasedWFQ" { + value "5"; + } + enum "fifo" { + value "6"; + } + enum "pqWrr" { + value "7"; + } + enum "pqCbwfq" { + value "8"; + } + } + description + "An enumerate type for all the known scheduling disciplines."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1.4"; + } + + leaf qosIfSchedulingQueueType { + type CISCO-QOS-PIB-MIB:QosInterfaceQueueType; + description + "The queue type of this preference."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.1.1.5"; + } + } + } + + container qosIfDropPreferenceTable { + description + "This class specifies the preference of the drop mechanism an + interface chooses if it supports multiple drop mechanisms. + Higher values are preferred over lower values."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2"; + + list qosIfDropPreferenceEntry { + key "qosIfDropPreferenceId"; + description + "An instance of this class specifies a drop preference for + a drop mechanism on an interface with a particular role + combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2.1"; + + leaf qosIfDropPreferenceId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2.1.1"; + } + + leaf qosIfDropRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The combination of roles the interface must have for this + policy instance to apply to that interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2.1.2"; + } + + leaf qosIfDropPreference { + type int32 { + range "1..16"; + } + description + "The preference to use this drop mechanism. A higher value + means a higher preference. If two mechanisms have the same + preference the choice is a local decision."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2.1.3"; + } + + leaf qosIfDropDiscipline { + type enumeration { + enum "qosIfDropWRED" { + value "1"; + } + enum "qosIfDropTailDrop" { + value "2"; + } + } + description + "An enumerate type for all the known drop mechanisms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.2.1.4"; + } + } + } + + container qosIfDscpAssignmentTable { + description + "The assignment of each DSCP to a queue and threshold for each + interface queue type."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3"; + + list qosIfDscpAssignmentEntry { + key "qosIfDscpAssignmentId"; + description + "An instance of this class specifies the queue and threshold + set for a packet with a particular DSCP on an interface of + a particular type with a particular role combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1"; + + leaf qosIfDscpAssignmentId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.1"; + } + + leaf qosIfDscpRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The role combination the interface must be configured with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.2"; + } + + leaf qosIfQueueType { + type CISCO-QOS-PIB-MIB:QosInterfaceQueueType; + description + "The interface queue type to which this row applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.3"; + } + + leaf qosIfDscp { + type CISCO-QOS-PIB-MIB:Dscp; + description + "The DSCP to which this row applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.4"; + } + + leaf qosIfQueue { + type int32 { + range "1..64"; + } + description + "The queue to which the DSCP applies for the given interface + type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.5"; + } + + leaf qosIfThresholdSet { + type int32 { + range "1..8"; + } + description + "The threshold set of the specified queue to which the DSCP + applies for the given interface type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.3.1.6"; + } + } + } + + container qosIfRedTable { + description + "A class of lower and upper values for each threshold set in a + queue supporting WRED. If the size of the queue for a given + threshold is below the lower value then packets assigned to + that threshold are always accepted into the queue. If the + size of the queue is above upper value then packets are always + dropped. If the size of the queue is between the lower and + the upper then packets are randomly dropped."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4"; + + list qosIfRedEntry { + key "qosIfRedId"; + description + "An instance of this class specifies threshold limits for a + particular RED threshold of a given threshold set on an + interface and with a particular role combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1"; + + leaf qosIfRedId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.1"; + } + + leaf qosIfRedRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The role combination the interface must be configured with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.2"; + } + + leaf qosIfRedNumThresholdSets { + type CISCO-QOS-PIB-MIB:ThresholdSetRange; + description + "The values in this entry apply only to queues with the number + of thresholds specified by this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.3"; + } + + leaf qosIfRedThresholdSet { + type int32 { + range "1..8"; + } + description + "The threshold set to which the lower and upper values apply. + It must be in the range 1 through qosIfRedNumThresholdSets. + There must be exactly one PRI for each value in this range."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.4"; + } + + leaf qosIfRedThresholdSetLower { + type CISCO-QOS-PIB-MIB:Percent; + description + "The threshold value below which no packets are dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.5"; + } + + leaf qosIfRedThresholdSetUpper { + type CISCO-QOS-PIB-MIB:Percent; + description + "The threshold value above which all packets are dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.4.1.6"; + } + } + } + + container qosIfTailDropTable { + description + "A class for threshold sets in a queue supporting tail drop. + If the size of the queue for a given threshold set is at or + below the specified value then packets assigned to that + threshold set are always accepted into the queue. If the size + of the queue is above the specified value then packets are + always dropped."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5"; + + list qosIfTailDropEntry { + key "qosIfTailDropId"; + description + "An instance of this class specifies the queue depth for a + particular tail-drop threshold set on an interface with a + particular role combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1"; + + leaf qosIfTailDropId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1.1"; + } + + leaf qosIfTailDropRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The role combination the interface must be configured with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1.2"; + } + + leaf qosIfTailDropNumThresholdSets { + type CISCO-QOS-PIB-MIB:ThresholdSetRange; + description + "The value in this entry applies only to queues with the + number of thresholds specified by this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1.3"; + } + + leaf qosIfTailDropThresholdSet { + type int32 { + range "1..8"; + } + description + "The threshold set to which the threshold value applies"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1.4"; + } + + leaf qosIfTailDropThresholdSetValue { + type CISCO-QOS-PIB-MIB:Percent; + description + "The threshold value above which packets are dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.5.1.5"; + } + } + } + + container qosIfWeightsTable { + description + "A class of scheduling weights for each queue of an interface + that supports weighted round robin scheduling or a mix of + priority queueing and weighted round robin. For a queue with + N priority queues, the N highest queue numbers are the + priority queues with the highest queue number having the + highest priority. WRR is applied to the non-priority queues."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6"; + + list qosIfWeightsEntry { + key "qosIfWeightsId"; + description + "An instance of this class specifies the scheduling weight for + a particular queue of an interface with a particular number + of queues and with a particular role combination."; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1"; + + leaf qosIfWeightsId { + type CISCO-QOS-PIB-MIB:PolicyInstanceId; + description + "An integer index to identify the instance of the policy class."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.1"; + } + + leaf qosIfWeightsRoles { + type CISCO-QOS-PIB-MIB:RoleCombination; + description + "The role combination the interface must be configured with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.2"; + } + + leaf qosIfWeightsNumQueues { + type CISCO-QOS-PIB-MIB:QueueRange; + description + "The value of the weight in this instance applies only to + interfaces with the number of queues specified by this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.3"; + } + + leaf qosIfWeightsQueue { + type int32 { + range "1..64"; + } + description + "The queue to which the weight applies."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.4"; + } + + leaf qosIfWeightsDrainSize { + type uint32; + description + "The maximum number of bytes that may be drained from the + queue in one cycle. The percentage of the bandwith allocated + to this queue can be calculated from this attribute and the + sum of the drain sizes of all the non-priority queues of the + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.5"; + } + + leaf qosIfWeightsQueueSize { + type uint32; + description + "The size of the queue in bytes. Some devices set queue size + in terms of packets. These devices must calculate the queue + size in packets by assuming an average packet size suitable + for the particular interface. + + Some devices have a fixed size buffer to be shared among all + queues. These devices must allocate a fraction of the + total buffer space to this queue calculated as the the ratio + of the queue size to the sum of the queue sizes for the + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8.6.1.6"; + } + } + } + } + + smiv2:alias "ciscoQosPIBMIB" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1"; + } + + smiv2:alias "qosPIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.1"; + } + + smiv2:alias "qosPIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.1.1"; + } + + smiv2:alias "qosPIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.1.2"; + } + + smiv2:alias "qosDeviceConfig" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.2"; + } + + smiv2:alias "qosDomainConfig" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.3"; + } + + smiv2:alias "qosUnmatchedPolicy" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.4"; + } + + smiv2:alias "qosPolicer" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.5"; + } + + smiv2:alias "qosMacQos" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.6"; + } + + smiv2:alias "qosIpQos" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.7"; + } + + smiv2:alias "qosIfParameters" { + smiv2:oid "1.3.6.1.4.1.9.18.2.1.8"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-RADIUS-EXT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-RADIUS-EXT-MIB.yang new file mode 100644 index 000000000..fd23d8903 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-RADIUS-EXT-MIB.yang @@ -0,0 +1,542 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-RADIUS-EXT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-RADIUS-EXT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-RADIUS-EXT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB"; + prefix CISCO-RADIUS-EXT-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-aaa@cisco.com"; + + description + "This MIB module defines objects describing RADIUS (Remote + Access Dialin User Service), serving as an extension of the + following MIB modules: + - + - RADIUS-AUTH-CLIENT-MIB [RFC4668] + - RADIUS-AUTH-SERVER-MIB [RFC4669] + - RADIUS-ACC-CLIENT-MIB [RFC4670] + - RADIUS-ACC-SERVER-MIB [RFC4671] + - RADIUS-DYNAUTH-CLIENT-MIB [RFC4672] + - RADIUS-DYNAUTH-SERVER-MIB [RFC4673] + - + [RFC4668] D. Nelson, RADIUS Authentication Client MIB for IPv6, + + RFC-4668, August 2006. + - + [RFC4669] D. Nelson, RADIUS Authentication Server MIB for IPv6, + + RFC-4669, August 2006. + - + [RFC4670] D. Nelson, RADIUS Accounting Client MIB for IPv6, + RFC-4670, August 2006. + - + [RFC4671] D. Nelson, RADIUS Accounting Server MIB for IPv6, + RFC-4671, August 2006. + - + [RFC4672] S. De Cnodder, N. Jonnala, M. Chiba, RADIUS Dynamic + Authorization Client MIB, RFC-4672, September 2006. + - + [RFC4673] S. De Cnodder, N. Jonnala, M. Chiba, RADIUS Dynamic + Authorization Server MIB, RFC-4673, September 2006."; + + revision 2010-05-25 { + description + "Modified 'max-access' of creAuthClientLastUsedSourceId and + creAcctClientLastUsedSourceId"; + } + + revision 2010-05-20 { + description + "Initial Version"; + } + + typedef RadiusSourceIdentifier { + type uint32 { + range "0..255"; + } + description + "This textual convention represents the range of identifers used + when 'extended RADIUS source port' is configured."; + } + + + container CISCO-RADIUS-EXT-MIB { + config false; + + container creClientGlobal { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1"; + + leaf creClientTotalMaxInQLength { + type yang:gauge32; + units "RADIUS packets"; + description + "This object indicates the maximum length of the queue which + stores the incoming RADIUS packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.1"; + } + + leaf creClientTotalMaxWaitQLength { + type yang:gauge32; + units "RADIUS packets"; + description + "This object indicates the maximum length of the queue which + stores the pending RADIUS packets for which the responses are + outstanding."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.2"; + } + + leaf creClientTotalMaxDoneQLength { + type yang:gauge32; + units "RADIUS packets"; + description + "This object indicates the maximum length of the queue which + stores those RADIUS packets for which the responses are + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.3"; + } + + leaf creClientTotalAccessRejects { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of access reject packets + received by the RADIUS client."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.4"; + } + + leaf creClientTotalAverageResponseDelay { + type snmpv2-tc:TimeInterval; + description + "This object indicates the overall response delay experienced + by RADIUS packets (both authentication and accounting)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.5"; + } + + leaf creClientSourcePortRangeStart { + type inet:port-number; + description + "If the 'extended RADIUS source ports' is configured, multiple + source ports are used for sending out RADIUS authentication or + accounting requests. This MIB object indicates the port value + from where this range starts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.6"; + } + + leaf creClientSourcePortRangeEnd { + type inet:port-number; + description + "If the 'extended RADIUS source port' is configured, multiple + source ports are used for sending out RADIUS authentication or + accounting requests. This MIB object indicates the port value + where this range ends."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.7"; + } + + leaf creClientLastUsedSourcePort { + type inet:port-number; + description + "If the 'extended RADIUS source ports' is configured, multiple + source ports are used for sending out RADIUS authentication or + accounting requests. This MIB object indicates the last source + port that was used to send out a RADIUS authentication or + accounting request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.8"; + } + + leaf creClientLastUsedSourceId { + type CISCO-RADIUS-EXT-MIB:RadiusSourceIdentifier; + description + "This MIB object indicates the last source identifier that was + used to send out a RADIUS packet when 'extended RADIUS source + ports' is configured. The source identifier is a counter that + is incremented everytime a RADIUS authentication or an + accounting packet is sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1.9"; + } + } + + container creClientAuthentication { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2"; + + leaf creAuthClientBadAuthenticators { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS authentication + response packets received which contained invalid + authenticators."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.1"; + } + + leaf creAuthClientUnknownResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of unknown RADIUS + authentication responses received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.2"; + } + + leaf creAuthClientTotalPacketsWithResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS authentication + packets that received responses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.3"; + } + + leaf creAuthClientBufferAllocFailures { + type yang:counter32; + units "buffer failures"; + description + "This object indicates the number of buffer allocation + failures encountered during RADIUS request formation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.4"; + } + + leaf creAuthClientTotalResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS authentication + response packets received by the RADIUS client."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.5"; + } + + leaf creAuthClientTotalPacketsWithoutResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS authentication + packets that never received a response."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.6"; + } + + leaf creAuthClientAverageResponseDelay { + type snmpv2-tc:TimeInterval; + description + "This object indicates the average response delay experienced + for RADIUS authentication requests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.7"; + } + + leaf creAuthClientMaxResponseDelay { + type snmpv2-tc:TimeInterval; + description + "This object indicates the maximum delay experienced for RADIUS + authentication requests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.8"; + } + + leaf creAuthClientMaxBufferSize { + type uint32 { + range "0..4294967295"; + } + units "bytes"; + description + "This object indicates the maximum buffer size for RADIUS + authentication packet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.9"; + } + + leaf creAuthClientTimeouts { + type yang:counter32; + units "timeouts"; + description + "This object indicates the number of timeouts that have occurred + for RADIUS authentication. After a timeout the client may + retry sending the request to the same server or to a different + server or give up depending on the configuration."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.10"; + } + + leaf creAuthClientDupIDs { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of times client has received + duplicate authentication responses with the same identifier. + Out of these two packets, the later packet is considered as a + true match."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.11"; + } + + leaf creAuthClientMalformedResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of malformed RADIUS + authentication responses received. Malformed packets include + packets with an invalid length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.12"; + } + + leaf creAuthClientLastUsedSourceId { + type CISCO-RADIUS-EXT-MIB:RadiusSourceIdentifier; + description + "This MIB object indicates the last source identifier that was + used to send out a RADIUS authentication request when 'extended + RADIUS source ports' is configured. The source identifier is a + counter that is incremented everytime a RADIUS authentication + request is sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2.13"; + } + } + + container creClientAccounting { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3"; + + leaf creAcctClientBadAuthenticators { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS Accounting-Response + packets received with invalid authenticators."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.1"; + } + + leaf creAcctClientUnknownResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of unknown RADIUS accounting + responses received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.2"; + } + + leaf creAcctClientTotalPacketsWithResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS accounting packets + that received responses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.3"; + } + + leaf creAcctClientBufferAllocFailures { + type yang:counter32; + units "buffer failures"; + description + "This object indicates the number of buffer allocation failures + encountered for RADIUS accounting request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.4"; + } + + leaf creAcctClientTotalResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS accounting response + packets received by the RADIUS client."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.5"; + } + + leaf creAcctClientTotalPacketsWithoutResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of RADIUS accounting packets + that never received a response."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.6"; + } + + leaf creAcctClientAverageResponseDelay { + type snmpv2-tc:TimeInterval; + description + "This object indicates the average response delay experienced + for RADIUS accounting."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.7"; + } + + leaf creAcctClientMaxResponseDelay { + type snmpv2-tc:TimeInterval; + description + "This object indicates the maximum delay experienced for RADIUS + accounting."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.8"; + } + + leaf creAcctClientMaxBufferSize { + type uint32 { + range "0..4294967295"; + } + units "bytes"; + description + "This object indicates the maximum buffer size for RADIUS + accounting packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.9"; + } + + leaf creAcctClientTimeouts { + type yang:counter32; + units "timeouts"; + description + "This object indicates the number of timeouts that have occurred + for RADIUS accounting. After a timeout the client may retry + sending the request to the same server or to a different + server or give up depending on the configuration."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.10"; + } + + leaf creAcctClientDupIDs { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of times client has received + duplicate accounting responses with the same identifier. Out + of these two packets, the later packet is considered as a true + match."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.11"; + } + + leaf creAcctClientMalformedResponses { + type yang:counter32; + units "RADIUS packets"; + description + "This object indicates the number of malformed RADIUS accounting + responses received. Malformed packets include packets with an + invalid length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.12"; + } + + leaf creAcctClientLastUsedSourceId { + type CISCO-RADIUS-EXT-MIB:RadiusSourceIdentifier; + description + "This MIB object indicates the last source identifier that was + used to send out a RADIUS accounting request when 'extended + RADIUS source ports' is configured. The source identifier is a + counter that is incremented everytime a RADIUS accounting + request is sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3.13"; + } + } + } + + smiv2:alias "ciscoRadiusExtMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.736"; + } + + smiv2:alias "cRadiusExtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1"; + } + + smiv2:alias "creClientGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.1"; + } + + smiv2:alias "creClientAuthentication" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.2"; + } + + smiv2:alias "creClientAccounting" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.3"; + } + + smiv2:alias "creClientDynAuth" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.4"; + } + + smiv2:alias "creServerGlobal" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.5"; + } + + smiv2:alias "creServerAuthentication" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.6"; + } + + smiv2:alias "creServerAccounting" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.7"; + } + + smiv2:alias "creServerDynAuth" { + smiv2:oid "1.3.6.1.4.1.9.9.736.1.8"; + } + + smiv2:alias "cRadiusExtMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.736.2"; + } + + smiv2:alias "creMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.736.2.1"; + } + + smiv2:alias "creMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.736.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-RF-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-RF-MIB.yang new file mode 100644 index 000000000..605c6b599 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-RF-MIB.yang @@ -0,0 +1,1365 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-RF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-RF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-RF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB"; + prefix CISCO-RF-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-MIB { + prefix "snmpv2-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems Customer Service + Postal: 170 West Tasman Drive + San Jose, CA 95134 + USA + Tel: +1 800 553-NETS + + E-mail: cs-rf-mib@cisco.com"; + + description + "Added descriptions for enums 8 and 9 in RFSwactReasonType"; + + revision 2023-07-13 { + description + "This MIB provides configuration control and status for the + Redundancy Framework (RF) subsystem. RF provides a mechanism + for logical redundancy of software functionality and is + designed to support 1:1 redundancy on processor cards. RF is + not intended to solve all redundancy schemes. Nor is RF + designed to support redundant hardware, such as power + supplies. + + Redundancy is concerned with the duplication of data elements + and software functions to provide an alternative in case of + failure. It is a key component to meeting 99.999% availability + requirements for Class 5 carrier solutions. + + In the scope of this MIB definition, peer software elements + are redundant and redundant software elements are peers."; + } + + revision 2005-09-01 { + description + "Added a new textual convention : RFClientStatus. + + Added the cRFStatusRFClientTable which contains information + about all the clients registered with the Redundancy + Facility (RF). "; + } + + revision 2004-04-01 { + description + "Added the new states, systemReset, loadVersionSwitchover + and runVersionSwitchover. The unset state has been removed + and the init state will represent the absense of the ISSU + process. Updated the object cRFStatusIssuState to + cRFStatusIssuStateRev1 as the ISSU states have been revised. + Added new object, cRFStatusIssuFromVersion and + cRFStatusIssuToVersion which represent the from and the to + versions of IOS that are involved in the upgrade process. + The object ciscoRFIssuStateObjGroup was changed to + ciscoRFIssuStateObjGroupRev1 to accomodate these new + objects."; + } + + revision 2004-02-04 { + description + "Added ciscoRFIssuStateNotifGroup and ciscoRFIssuStateObjGroup + that represent the notification group and the object group + that represents the ISSU state of the system."; + } + + revision 2003-10-02 { + description + "Changed the description for ciscoRFProgressionNotif"; + } + + revision 2002-01-07 { + description + "Added the following object in cRFStatus: + cRFStatusRFModeCapsTable + Added the following object in cRFCfg: + cRFCfgRedundancyOperMode + Updated description of following object in cRFCfg: + cRFCfgRedundancyMode"; + } + + revision 2001-07-20 { + description + "Added new sub-group + cRFHistory + Added new table cRFHistorySwitchOverTable + which maintains the history of switchovers. + Also added objects: + cRFStatusFailoverTime + cRFStatusPeerStandByEntryTime + cRFHistoryTableMaxLength + cRFHistoryColdStarts + cRFHistoryStandByAvailTime + Added textual convention: + RFUnitIdentifier."; + } + + revision 2001-06-26 { + description + "Changed terminology: + 'split-mode' is now 'maintenance-mode' + Added textual convention: + RFMode + Deprecated object: + cRFCfgSplitMode + Added objects: + cRFCfgMaintenanceMode + cRFCfgRedundancyMode + cRFCfgRedundancyModeDescr + Added enumeration values: + noAction(0) to RFAction + activeExtraload(15) to RFState + activeHandback(16) to RFState + Added new transition state to ciscoRFProgressionNotif: + activeExtraload + Update compliance and conformance statements"; + } + + revision 2001-04-03 { + description + "The initial revision of this MIB."; + } + + typedef RFState { + type enumeration { + enum "notKnown" { + value "1"; + } + enum "disabled" { + value "2"; + } + enum "initialization" { + value "3"; + } + enum "negotiation" { + value "4"; + } + enum "standbyCold" { + value "5"; + } + enum "standbyColdConfig" { + value "6"; + } + enum "standbyColdFileSys" { + value "7"; + } + enum "standbyColdBulk" { + value "8"; + } + enum "standbyHot" { + value "9"; + } + enum "activeFast" { + value "10"; + } + enum "activeDrain" { + value "11"; + } + enum "activePreconfig" { + value "12"; + } + enum "activePostconfig" { + value "13"; + } + enum "active" { + value "14"; + } + enum "activeExtraload" { + value "15"; + } + enum "activeHandback" { + value "16"; + } + } + description + "The current state of the RF subsystem. + + notKnown + - state is unknown + disabled + - RF is not operational on this unit + initialization + - establish necessary system services + negotiation + - peer unit discovery and negotiation + standbyCold + - client notification on standby unit + *standbyColdConfig + - standby configuration is updated from active configuration + *standbyColdFileSys + - standby file system (FS) is updated from the active FS + *standbyColdBulk + - clients sync data from active to standby + standbyHot + - incremental client data sync continues. This unit is + ready to take over activity. + activeFast + - call maintenance efforts during a SWACT + activeDrain + - client clean-up phase + activePreconfig + - unit is active but has not read its configuration + activePostconfig + - unit is active and is post-processing its configuration + active + - unit is active and processing calls + activeExtraload + - unit is active and processing calls for all feature + boards in the system + activeHandback + - unit is active, processing calls and is in the process + of handing some resources to the other unit in the system + + * Sub-state of 'standbyCold'"; + } + + typedef RFMode { + type enumeration { + enum "nonRedundant" { + value "1"; + } + enum "staticLoadShareNonRedundant" { + value "2"; + } + enum "dynamicLoadShareNonRedundant" { + value "3"; + } + enum "staticLoadShareRedundant" { + value "4"; + } + enum "dynamicLoadShareRedundant" { + value "5"; + } + enum "coldStandbyRedundant" { + value "6"; + } + enum "warmStandbyRedundant" { + value "7"; + } + enum "hotStandbyRedundant" { + value "8"; + } + } + description + "The characterization of the redundancy subsystem. + + nonRedundant + - the system is not redundant. + staticLoadShareNonRedundant + - the system is *not* redundant but is load sharing. + The load sharing is *not* based on operational load + (i.e. number of calls, etc). + dynamicLoadShareNonRedundant + - the system is *not* redundant but is load sharing. + Load sharing is based on operational load. + staticLoadShareRedundant + - the system is redundant and is load sharing. The + load sharing is *not* based on operational load. + dynamicLoadShareRedundant + - the system is redundant and is load sharing. Load + sharing is based on operational load. + coldStandbyRedundant + - the system is redundant but the redundant peer unit is + not fully initialized and is not able to retain + established calls. + warmStandbyRedundant + - the system is redundant and the redundant peer unit is + immediately able to handle new calls. The redundant + unit is unable to retain established calls. + hotStandbyRedundant + - the system is redundant and the redundant peer unit is + able to 'instantaneously' retain established calls and + immediately able to handle new calls."; + } + + typedef RFAction { + type enumeration { + enum "noAction" { + value "0"; + } + enum "reloadPeer" { + value "1"; + } + enum "reloadShelf" { + value "2"; + } + enum "switchActivity" { + value "3"; + } + enum "forceSwitchActivity" { + value "4"; + } + } + description + "Administrative commands to invoke in the RF subsystem. + + noAction + - no action (do nothing) + reloadPeer + - reset the redundant peer unit + reloadShelf + - reset the entire shelf + switchActivity + - safely SWACT to peer unit and go standby + forceSwitchActivity + - switch activity; ignoring pre-conditions, system + warnings and safety checks. + + When the value is set to 'noAction' no operation is performed. + When read, the value 'noAction' is always returned."; + } + + typedef RFSwactReasonType { + type enumeration { + enum "unsupported" { + value "1"; + } + enum "none" { + value "2"; + } + enum "notKnown" { + value "3"; + } + enum "userInitiated" { + value "4"; + } + enum "userForced" { + value "5"; + } + enum "activeUnitFailed" { + value "6"; + } + enum "activeUnitRemoved" { + value "7"; + } + enum "activeGWdown" { + value "8"; + } + enum "activeRMIportdown" { + value "9"; + } + } + description + "Reason codes for the switch of activity from an active + redundant unit to its standby peer unit. + + unsupported + - the 'reason code' is an unsupported feature + none + - no SWACT has occurred + notKnown + - reason is unknown + userInitiated + - a safe, manual SWACT was initiated by user + userForced + - a manual SWACT was forced by user; ignoring + pre-conditions, warnings and safety checks + activeUnitFailed + - active unit failure caused an auto SWACT + activeUnitRemoved + - active unit removal caused an auto SWACT + activeGWdown + - SWACT due to active losing gateway connectivity + activeRMIportdown + - SWACT due to RMI port going down on active"; + } + + typedef RFUnitIdentifier { + type int32 { + range "0..2147483647"; + } + description + "A unique identifier for Active/Standby unit."; + } + + typedef RFIssuState { + type enumeration { + enum "unset" { + value "0"; + } + enum "init" { + value "1"; + } + enum "loadVersion" { + value "2"; + } + enum "runVersion" { + value "3"; + } + enum "commitVersion" { + value "4"; + } + } + status deprecated; + description + "ISSU state represents the current system state. + + unset + - unset state; if the system is booted from tftp or from + ROMMON such that the image is not the first in BOOT + init + - init state; the first ISSU state that the system will + move to after the unset state, when the ISSU process + has just been kicked off. The first CLI that is executed + to make this happen is the loadversion CLI. + loadVersion + - Once the loadversion CLI has been executed, the state + of the system is changed to reflect this, and this state + is called the loadVersion state. The boot variable on + the Standby is updated to point to the new image that the + Standby needs to load and then it is reset. + runVersion + - runVersion state; When the system is in the loadversion + state, the Active is running the old image and the + Standby is running the new image. When the runversion + CLI is executed, a switchover occurs, and the Standby + running the new image takes over as the Active. The + state of the system at this stage is updated to + runversion. + commitVersion + - in the runversion state, the Active is running the + new image, and the Standby is running the old image. + When the user is satisfied with the functioning of + the system, they execute the commitversion CLI, which + will prepend the boot variable on the Standby with + the new image, and then the Standby is reset. After + this, the Standby comes up with the new image, and + the state of the system is updated to reflect the + commitVersion state."; + } + + typedef RFIssuStateRev1 { + type enumeration { + enum "init" { + value "0"; + } + enum "systemReset" { + value "1"; + } + enum "loadVersion" { + value "3"; + } + enum "loadVersionSwitchover" { + value "4"; + } + enum "runVersion" { + value "6"; + } + enum "runVersionSwitchover" { + value "7"; + } + enum "commitVersion" { + value "9"; + } + } + description + "ISSU state represents the current system state. + + init + - This state represents the initial state of the system. + The ISSU process is not running at this stage. The only + CLI for ISSU process that can be executed in this state + is the loadversion CLI. + systemReset + - If a system reset occurs, or the abortversion CLI is + executed, the state of the system is pushed to this state. + loadVersion + - When the Standby signs in after the loadversion CLI + is executed, the state of the system is changed to + loadVersion. + loadVersionSwitchover + - If a switchover occurs in the loadVersion state, by + the user, or because the Active crashes, the new + state of the system will be loadVersionSwitchover. + It is analogous to the runVersion state, except that + the runversion CLI was not executed. + runVersion + - When the Standby signs in after executing the + runversion CLI, the state of the system is changed + to runVersion. + runVersionSwitchover + - if a switchover occurs while the system is in the + runVersion state, the new state will be called + runVersionSwitchover. It is analogous to the + loadVersion state. + commitVersion + - When the Standby signs in after the commitversion CLI + is executed, the state of the system is changed to + commitVersion."; + } + + typedef RFClientStatus { + type enumeration { + enum "noStatus" { + value "1"; + } + enum "clientNotRedundant" { + value "2"; + } + enum "clientRedundancyInProgress" { + value "3"; + } + enum "clientRedundant" { + value "4"; + } + } + description + "The status of a RF client before, during and after + switchover. + + noStatus + - No status information is available for this client. + clientNotRedundant + - Client is active. But there is no redundancy to this + client. This could be because there is no standby or + the client cannot claim that the standby client can + take over without losing data or traffic during a + switchover. + clientRedundancyInProgress + - The client is trying to sync all data to standby and + achieve redundancy. + clientRedundant + - The client is redundant and ready for switchover. The + client can safely claim that there is no data or traffic + loss if there is a switchover."; + } + + + container CISCO-RF-MIB { + config false; + + container cRFStatus { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1"; + + leaf cRFStatusUnitId { + type CISCO-RF-MIB:RFUnitIdentifier; + description + "A unique identifier for this redundant unit. This identifier + is implementation-specific but the method for selecting the id + must remain consistent throughout the redundant system. + + Some example identifiers include: slot id, physical or logical + entity id, or a unique id assigned internally by the RF + subsystem."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.1"; + } + + leaf cRFStatusUnitState { + type CISCO-RF-MIB:RFState; + description + "The current state of RF on this unit."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.2"; + } + + leaf cRFStatusPeerUnitId { + type CISCO-RF-MIB:RFUnitIdentifier; + description + "A unique identifier for the redundant peer unit. This + identifier is implementation-specific but the method for + selecting the id must remain consistent throughout the + redundant system. + + Some example identifiers include: slot id, physical or logical + entity id, or a unique id assigned internally by the RF + subsystem."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.3"; + } + + leaf cRFStatusPeerUnitState { + type CISCO-RF-MIB:RFState; + description + "The current state of RF on the peer unit."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.4"; + } + + leaf cRFStatusPrimaryMode { + type boolean; + description + "Indicates whether this is the primary redundant unit or + not. If this unit is the primary unit, this object is true. If + this unit is the secondary unit, this object is false. + + Note that the terms 'primary/secondary' are not synonymous + with the terms 'active/standby'. At any given time, the + primary unit may be the active unit, or the primary unit may + be the standby unit. Likewise, the secondary unit, at any + given time, may be the active unit, or the secondary unit may + be the standby unit. + + The primary unit is given a higher priority or precedence over + the secondary unit. In a race condition (usually at + initialization time) or any situation where the redundant + units are unable to successfully negotiate activity between + themselves, the primary unit will always become the active + unit and the secondary unit will fall back to standby. Only + one redundant unit can be the primary unit at any given time. + + The algorithm for determining the primary unit is system + dependent, such as 'the redundant unit with the lower numeric + unit id is always the primary unit.'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.5"; + } + + leaf cRFStatusDuplexMode { + type boolean; + description + "Indicates whether the redundant peer unit has been detected + or not. If the redundant peer unit is detected, this object is + true. If the redundant peer unit is not detected, this object + is false."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.6"; + } + + leaf cRFStatusManualSwactInhibit { + type boolean; + description + "Indicates whether a manual switch of activity is + permitted. If a manual switch of activity is allowed, this + object is false. If a manual switch of activity is not + allowed, this object is true. Note that the value of this + object is the inverse of the status of manual SWACTs. + + This object does not indicate whether a switch of activity is + or has occurred. This object only indicates if the + user-controllable capability is enabled or not. + + A switch of activity is the event in which the standby + redundant unit becomes active and the previously active unit + becomes standby."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.7"; + } + + leaf cRFStatusLastSwactReasonCode { + type CISCO-RF-MIB:RFSwactReasonType; + description + "The reason for the last switch of activity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.8"; + } + + leaf cRFStatusFailoverTime { + type yang:timestamp; + description + "The value of sysUpTime when the primary redundant unit took over + as active. The value of this object will be 0 till the first + switchover."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.9"; + } + + leaf cRFStatusPeerStandByEntryTime { + type yang:timestamp; + description + "The value of sysUpTime when the peer redundant unit entered the + standbyHot state. The value will be 0 on system initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.10"; + } + + leaf cRFStatusIssuState { + type CISCO-RF-MIB:RFIssuState; + status deprecated; + description + "The current ISSU state of the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.12"; + } + + leaf cRFStatusIssuStateRev1 { + type CISCO-RF-MIB:RFIssuStateRev1; + description + "The current ISSU state of the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.13"; + } + + leaf cRFStatusIssuFromVersion { + type snmp-framework:SnmpAdminString; + description + "The IOS version from with the user is upgrading"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.14"; + } + + leaf cRFStatusIssuToVersion { + type snmp-framework:SnmpAdminString; + description + "The IOS version to with the user is upgrading"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.15"; + } + } + + container cRFCfg { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2"; + + leaf cRFCfgSplitMode { + type boolean; + status deprecated; + description + "Indicates whether redundant units may communicate + synchronization messages with each other. If communication is + not permitted, this object is set to true. If communication is + permitted, this object is set to false. + + In split mode (true), the active unit will not communicate + with the standby unit. The standby unit progression will not + occur. When split mode is disabled (false), the standby unit + is reset to recover. + + Split mode (true) is useful for maintenance operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.1"; + } + + leaf cRFCfgKeepaliveThresh { + type uint32; + description + "On platforms that support keep-alives, the keep-alive + threshold value designates the number of lost keep-alives + tolerated before a failure condition is declared. If this + occurs, a SWACT notification is sent. + + On platforms that do not support keep-alives, this object has + no purpose or effect."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.2"; + } + + leaf cRFCfgKeepaliveThreshMin { + type uint32; + description + "The minimum acceptable value for the cRFCfgKeepaliveThresh + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.3"; + } + + leaf cRFCfgKeepaliveThreshMax { + type uint32; + description + "The maximum acceptable value for the cRFCfgKeepaliveThresh + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.4"; + } + + leaf cRFCfgKeepaliveTimer { + type uint32; + units "milliseconds"; + description + "On platforms that support keep-alives, the keep-alive timer + value is used to guard against lost keep-alives. The RF + subsystem expects to receive a keep-alive within this period. + If a keep-alive is not received within this time period, a + SWACT notification is sent. + + On platforms that do not support keep-alives, this object has + no purpose or effect."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.5"; + } + + leaf cRFCfgKeepaliveTimerMin { + type uint32; + units "milliseconds"; + description + "The minimum acceptable value for the cRFCfgKeepaliveTimer + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.6"; + } + + leaf cRFCfgKeepaliveTimerMax { + type uint32; + units "milliseconds"; + description + "The maximum acceptable value for the cRFCfgKeepaliveTimer + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.7"; + } + + leaf cRFCfgNotifTimer { + type uint32; + units "milliseconds"; + description + "Note that the term 'notification' here refers to an RF + notification and not an SNMP notification. + + As the standby unit progresses to the 'standbyHot' state, + asynchronous messages are sent from the active unit to the + standby unit which must then be acknowledged by the standby + unit. If the active unit receives the acknowledgement during + the time period specified by this object, progression proceeds + as normal. If the timer expires and an acknowledgement was not + received by the active unit, a switch of activity occurs."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.8"; + } + + leaf cRFCfgNotifTimerMin { + type uint32; + units "milliseconds"; + description + "The minimum acceptable value for the cRFCfgNotifTimer + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.9"; + } + + leaf cRFCfgNotifTimerMax { + type uint32; + units "milliseconds"; + description + "The maximum acceptable value for the cRFCfgNotifTimer + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.10"; + } + + leaf cRFCfgAdminAction { + type CISCO-RF-MIB:RFAction; + description + "This variable is set to invoke RF subsystem action commands. + The commands are useful for maintenance and software upgrade + activities."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.11"; + } + + leaf cRFCfgNotifsEnabled { + type boolean; + description + "Allows enabling/disabling of RF subsystem notifications."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.12"; + } + + leaf cRFCfgMaintenanceMode { + type boolean; + description + "Indicates whether redundant units may communicate + synchronization messages with each other. If communication is + not permitted, this object is set to 'true'. If communication + is permitted, this object is set to 'false'. + + If the value of this object is 'true', the redundant system is + considered to be in a maintenance mode of operation. If the + value of this object is 'false', the redundant system is + considered to be in a normal (non-maintenance) mode of + operation. + + In maintenance mode (true), the active unit will not + communicate with the standby unit. The standby unit + progression will not occur. When maintenance mode is disabled + (false), the standby unit is reset to recover. + + Maintenance mode (true) is useful for maintenance-type + operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.13"; + } + + leaf cRFCfgRedundancyMode { + type CISCO-RF-MIB:RFMode; + description + "Indicates the redundancy mode configured on the device."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.14"; + } + + leaf cRFCfgRedundancyModeDescr { + type snmp-framework:SnmpAdminString; + description + "Further clarifies or describes the redundancy mode indicated + by cRFCfgRedundancyMode. Implementation-specific terminology + associated with the current redundancy mode may be presented + here."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.15"; + } + + leaf cRFCfgRedundancyOperMode { + type CISCO-RF-MIB:RFMode; + description + "Indicate the operational redundancy mode of the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2.16"; + } + } + + container cRFHistory { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3"; + + leaf cRFHistoryTableMaxLength { + type uint32 { + range "0..50"; + } + description + "Maximum number of entries permissible in the history + table. A value of 0 will result in no history being + maintained."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.1"; + } + + leaf cRFHistoryColdStarts { + type yang:counter32; + description + "Indicates the number of system cold starts. This includes + the number of system cold starts due to switchover failure + and the number of manual restarts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.3"; + } + + leaf cRFHistoryStandByAvailTime { + type snmpv2-tc:TimeInterval; + description + "Indicates the cumulative time that a standby redundant + unit has been available since last system initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.4"; + } + } + + container cRFStatusRFModeCapsTable { + description + "This table containing a list of redundancy modes that can be + supported on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.11"; + + list cRFStatusRFModeCapsEntry { + key "cRFStatusRFModeCapsMode"; + description + "An entry containing the device implementation specific + terminology associated with the redundancy mode that can be + supported on the device."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.11.1"; + + leaf cRFStatusRFModeCapsMode { + type CISCO-RF-MIB:RFMode; + description + "The redundancy mode that can be supported on the device."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.11.1.1"; + } + + leaf cRFStatusRFModeCapsModeDescr { + type snmp-framework:SnmpAdminString; + description + "The description of the device implementation specific + terminology associated with its supported redundancy mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1.11.1.2"; + } + } + } + + container cRFHistorySwitchOverTable { + description + "A table that tracks the history of all switchovers that + have occurred since system initialization. The maximum + number of entries permissible in this table is defined by + cRFHistoryTableMaxLength. When the number of entries in + the table reaches the maximum limit, the next entry + would replace the oldest existing entry in the table."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2"; + + list cRFHistorySwitchOverEntry { + key "cRFHistorySwitchOverIndex"; + description + "The entries in this table contain the switchover + information. Each entry in the table is indexed by + cRFHistorySwitchOverIndex. The index wraps around to 1 + after reaching the maximum value."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1"; + + leaf cRFHistorySwitchOverIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer for the purpose of + indexing history table. After reaching maximum value, + it wraps around to 1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1.1"; + } + + leaf cRFHistoryPrevActiveUnitId { + type CISCO-RF-MIB:RFUnitIdentifier; + description + "Indicates the primary redundant unit that went down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1.2"; + } + + leaf cRFHistoryCurrActiveUnitId { + type CISCO-RF-MIB:RFUnitIdentifier; + description + "Indicates the secondary redundant unit that took + over as active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1.3"; + } + + leaf cRFHistorySwitchOverReason { + type CISCO-RF-MIB:RFSwactReasonType; + description + "Indicates the reason for the switchover."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1.4"; + } + + leaf cRFHistorySwactTime { + type snmpv2-tc:DateAndTime; + description + "Indicates the Date & Time when switchover occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3.2.1.5"; + } + } + } + + container cRFStatusRFClientTable { + description + "This table contains a list of RF clients that are + registered on the device. + + RF clients are applications that have registered with + the Redundancy Facility (RF) to receive RF events and + notifications. The purpose of RF clients is to synchronize + any relevant data with the standby unit."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1"; + + list cRFStatusRFClientEntry { + key "cRFStatusRFClientID"; + description + "An entry containing information on various clients + registered with the Redundancy Facility (RF). Entries in + this table are always created by the system. + + An entry is created in this table when a redundancy aware + application registers with the Redundancy Facility. The entry + is destroyed when that application deregisters from the + Redundancy Facility."; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1"; + + leaf cRFStatusRFClientID { + type uint32 { + range "1..4294967295"; + } + description + "A unique identifier for the client which registered with the + Redundancy Facility."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1.1"; + } + + leaf cRFStatusRFClientDescr { + type snmp-framework:SnmpAdminString; + description + "The description of the client which has registered with the + Redundancy Facility."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1.2"; + } + + leaf cRFStatusRFClientSeq { + type uint32; + description + "The sequence number of the client. The system assigns the + sequence numbers based on the order of registration of + the Redundancy Facility clients. + This is used for deciding order of RF events sent to clients."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1.3"; + } + + leaf cRFStatusRFClientRedTime { + type uint32; + units "milliseconds"; + description + "Time taken for this client to become Redundant. This value + is meaningful when the value of cRFStatusRFClientStatus is + not 'noStatus'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1.4"; + } + + leaf cRFStatusRFClientStatus { + type CISCO-RF-MIB:RFClientStatus; + description + "This object provides the status of the Redundancy Facility + client."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4.1.1.5"; + } + } + } + } + + notification ciscoRFSwactNotif { + description + "A SWACT notification is sent by the newly active redundant + unit whenever a switch of activity occurs. In the case where a + SWACT event may be indistinguishable from a reset event, a + network management station should use this notification to + differentiate the activity. + + sysUpTime is the same sysUpTime defined in the RFC-1213 MIB."; + smiv2:oid "1.3.6.1.4.1.9.9.176.2.0.1"; + + container object-1 { + + leaf cRFStatusUnitId { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusUnitId"; + } + } + } + + container object-2 { + + leaf sysUpTime { + type leafref { + path "/snmpv2-mib:SNMPv2-MIB/snmpv2-mib:system/snmpv2-mib:sysUpTime"; + } + } + } + + container object-3 { + + leaf cRFStatusLastSwactReasonCode { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusLastSwactReasonCode"; + } + } + } + } + + notification ciscoRFProgressionNotif { + description + "A progression notification is sent by the active redundant + unit whenever its RF state changes or the RF state of the peer + unit changes. + + To avoid a flurry of notifications for all state transitions, + notifications will only be sent for transitions to the + following RF states: + disabled (for the peer state) + standbyCold + standbyHot + active + activeExtraload"; + smiv2:oid "1.3.6.1.4.1.9.9.176.2.0.2"; + + container object-1 { + + leaf cRFStatusUnitId { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusUnitId"; + } + } + } + + container object-2 { + + leaf cRFStatusUnitState { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusUnitState"; + } + } + } + + container object-3 { + + leaf cRFStatusPeerUnitId { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusPeerUnitId"; + } + } + } + + container object-4 { + + leaf cRFStatusPeerUnitState { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusPeerUnitState"; + } + } + } + } + + notification ciscoRFIssuStateNotif { + status deprecated; + description + "An ISSU notification to indicate the new state of + the system."; + smiv2:oid "1.3.6.1.4.1.9.9.176.2.0.3"; + + container object-1 { + + leaf cRFStatusUnitId { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusUnitId"; + } + } + } + + container object-2 { + + leaf cRFStatusUnitState { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusUnitState"; + } + } + } + + container object-3 { + + leaf cRFStatusIssuState { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusIssuState"; + } + status deprecated; + } + } + } + + notification ciscoRFIssuStateNotifRev1 { + description + "An ISSU notification to indicate the new state of + the system."; + smiv2:oid "1.3.6.1.4.1.9.9.176.2.0.4"; + + container object-1 { + + leaf cRFStatusIssuStateRev1 { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusIssuStateRev1"; + } + } + } + + container object-2 { + + leaf cRFStatusIssuFromVersion { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusIssuFromVersion"; + } + } + } + + container object-3 { + + leaf cRFStatusIssuToVersion { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusIssuToVersion"; + } + } + } + + container object-4 { + + leaf cRFStatusLastSwactReasonCode { + type leafref { + path "/CISCO-RF-MIB:CISCO-RF-MIB/CISCO-RF-MIB:cRFStatus/CISCO-RF-MIB:cRFStatusLastSwactReasonCode"; + } + } + } + } + + smiv2:alias "ciscoRFMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.176"; + } + + smiv2:alias "ciscoRFMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.176.1"; + } + + smiv2:alias "cRFStatus" { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.1"; + } + + smiv2:alias "cRFCfg" { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.2"; + } + + smiv2:alias "cRFHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.3"; + } + + smiv2:alias "cRFClient" { + smiv2:oid "1.3.6.1.4.1.9.9.176.1.4"; + } + + smiv2:alias "ciscoRFMIBNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.176.2"; + } + + smiv2:alias "ciscoRFMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.176.2.0"; + } + + smiv2:alias "ciscoRFMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.176.3"; + } + + smiv2:alias "ciscoRFMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.176.3.1"; + } + + smiv2:alias "ciscoRFMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.176.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-MIB.yang new file mode 100644 index 000000000..189a24726 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-MIB.yang @@ -0,0 +1,9270 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-RTTMON-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-RTTMON-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-RTTMON-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB"; + prefix CISCO-RTTMON-MIB; + + import CISCO-ETHER-CFM-MIB { + prefix "cisco-ether"; + } + + import CISCO-QOS-PIB-MIB { + prefix "cisco-qos"; + } + + import CISCO-RTTMON-TC-MIB { + prefix "cisco-rttmon"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import Q-BRIDGE-MIB { + prefix "q-bridge"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco IOS"; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + + cs-ipsla@cisco.com"; + + description + "This module defines a MIB for Round Trip Time + (RTT) monitoring of a list of targets, using a + variety of protocols. + + The table structure overview is a follows (t: + indicates a table, at: indicates an augmented + table, and it: indicates table with the same + indices/control as parent table): + + RTTMON MIB + |--- Application Group + | |--- Application Identity + | |--- Application Capabilities + | |--- Application Reset + | |t-- Supported RTT Types + | |--- Truth Value + | |t-- Supported Protocols + | |--- Truth Value + | |t-- Application Preconfigured + | |--- Script Names + | |--- File Paths + | |--- Responder control + | |t-- Control Protocol Authentication + | + |--- Overall Control Group + | |t-- Master Definitions Table + | | |--- Global Configuration Definitions + | | |--- Config for a single RTT Life + | | |it- Echo Specific Configuration + | | |it- Echo Path Hop Address Configuration + | | |it- File I/O Specific Configuration + | | |it- Script Specific Configuration + | | |at- Schedule Configuration + | | |at- Reaction Specific Config + | | |at- Statistics Capture Configuration + | | |at- History Collection Configuration + | | |at- Monitoring Operational State + | | |at- Last RTT operation + | | + | |t-- Reaction Trigger Table + | |at- Reaction Trigger Operational State + | + |--- Statistics Collection Group + | |t-- Statistics Capture Table + | |--- Captured Statistics + | |--- Path Information + | |--- Distribution Capture + | |--- Mean and Deviation Capture + | |it- Statistics Collection Table + | |it- Statistics Totals Table + | |t-- HTTP Stats Table + | |t-- Jitter Stats Table + | + |--- History Collection Group + | |t-- History Collection Table + | |-- Path Information + | |-- Completion Information per operation + | + |--- Latest Operation Group + | |t-- Latest HTTP Oper Table + | |t-- Latest Jitter Oper Table + + DEFINITIONS: + conceptual RTT control row - + This is a row in the 'Overall Control + Group'. This row is indexed via the + rttMonCtrlAdminIndex object. This row + is spread across multiple real tables + in the 'Overall Control Group'. + probe - + This is the entity that executes via a + conceptual RTT control row and populates + a conceptual statistics row and a + conceptual history row. + Rtt operation - + This is a single operation performed by + a probe. This operation can be a single + Rtt attempt/completion or a group of Rtt + attempts/completions that produce one + operation table entry. + + ARR Protocol Definition: + + The format of the RTT Asymmetric Request/Responses + (ARR) protocol is as follows: + + The ARR Header (total of 12 octets): + + 4 octet -> eyecatcher: 'WxYz' + 1 octet -> version : 0x01 - protocol version + 1 octet -> command : 0x01 - logoff request + 0x02 - echo request + 0x03 - echo response + 0x04 - software version request + 0x05 - software version response + 2 octet -> sequence number (Network Byte Order) + 4 octet -> response data size (Network Byte Order) + + The ARR Data: + + n octets -> request/response data + : 'AB..ZAB..ZAB..' + + For software version request/response the + protocol version octet will contain the version + number of the responder. Thus the sequence + number, etc will not be included. + + For snaLU0EchoAppl and snaLU2EchoAppl all character + fields will be in EBCDIC. + + The response data should be appended to the + origin request data. This allows data + verification to check the data that flows in + both directions. If the response data size is + smaller than the request data size the original + request data will be truncated. + + An example would be: + Request: / Response: + 'WxYz' / 'WxYz' + 0x01 / 0x01 + 0x02 / 0x03 + 0x0001 / 0x0001 + 0x00000008 / 0x00000008 + 'ABCDEF' / 'ABCDEFGH' + + NOTE: We requested 8 bytes in the response and + the response had 8 bytes. The size of the + request data has no correlation to the + size of the response data. + + NOTE: For native RTT request/response (i.e. + ipIcmpecho) operations both the 'Header' + and 'Data' will be included. Only the + 'sequence number' in the Header will be + valid. + + NOTE: For non-connection oriented protocol the + initial RTT request/response operation will + be preceded with an RTT request/response + operation to the target address to force + path exploration and to prove + connectivity. The History collection table + will contain these responses, but the + Statistics capture table will omit them to + prevent skewed results."; + + revision 2012-08-16 { + description + "Added following objects to support Y1731 Synthetic Loss + Measurement + rttMonEchoAdminEnableBurst, + rttMonEchoAdminAggBurstCycles, + rttMonEchoAdminLossRatioNumFrames, + rttMonEchoAdminAvailNumFrames + Added following object to support improving accuracy for jitter + probes measurement. + rttMonEchoAdminTstampOptimization + Deprecated rttMonScheduleAdminConceptRowAgeout and replace + with rttMonScheduleAdminConceptRowAgeoutV2. + Deprecated rttMonControlEnableErrors, rttMonStatsRetrieveErrors + and replace with rttMonStatsCollectCtrlEnErrors, + rttMonStatsCollectRetrieveErrors. + Modified the descriptions for + rttMonLatestJitterOperMOS + rttMonLatestJitterOperICPIF, + rttMonJitterStatsMinOfMOS + rttMonJitterStatsMinOfICPIF, + rttMonJitterStatsMaxOfMOS + rttMonJitterStatsMaxOfICPIF + Added new compliance + ciscoRttMonMibComplianceRev21."; + } + + revision 2011-09-15 { + description + "Added following objects to rttMonEchoAdmin to support + Y1731 extensions. + - rttMonEchoAdminTargetMacAddress, + - rttMonEchoAdminSourceMacAddress and + - rttMonEchoAdminSourceMPID"; + } + + revision 2011-02-21 { + description + "Added four new objects rttMonEchoAdminEmulateSourceAddress, + rttMonEchoAdminEmulateSourcePort, + rttMonEchoAdminEmulateTargetAddress, + rttMonEchoAdminEmulateTargetPort to RttMonEchoAdminEntry."; + } + + revision 2010-10-18 { + description + "Added three new objects rttMonEchoAdminDscp, + rttMonEchoAdminReserveDsp, rttMonEchoAdminInputInterface"; + } + + revision 2010-06-04 { + description + "Changes added for video operation: + -Added new MIB object rttMonEchoAdminVideoTrafficProfile + -Changed the maximum range of rttMonEchoAdminCallDuration to 600 + -Changed the minimum range of rttMonEchoAdminCallDuration to 1 + from 10"; + } + + revision 2009-04-07 { + description + "- Added rttMonEchoAdminTargetMEPPort object in + rttMonEchoAdminEntry."; + } + + revision 2008-03-24 { + description + "- Added nine new objects rttMonLatestJitterOperRTTSumHigh, + rttMonLatestJitterOperRTTSum2High, + rttMonLatestJitterOperOWSumSDHigh, + rttMonLatestJitterOperOWSum2SDHigh, + rttMonLatestJitterOperOWSumDSHigh, + rttMonLatestJitterOperOWSum2DSHigh, + rttMonJitterStatsRTTSumHigh, rttMonJitterStatsOWSumSDHigh, + rttMonJitterStatsOWSumDSHigh. + - Modified the unit and the description of + rttMonLatestRttOperCompletionTime, + rttMonJitterStatsRTTSum, rttMonJitterStatsOWSumSD, + rttMonJitterStatsOWSumDS, rttMonLatestJitterOperRTTSum, + rttMonLatestJitterOperRTTSum2, rttMonLatestJitterOperOWSumSD, + rttMonLatestJitterOperOWSumDS, rttMonLatestJitterOperOWSum2SD, + rttMonLatestJitterOperOWSum2DS."; + } + + revision 2008-01-06 { + description + "Added a new object rttMonEchoAdminTargetEVC."; + } + + revision 2006-12-08 { + description + "Added a new object rttMonCtrlAdminGroupName to support the + auto measure project. Group Name will be shown for auto + generated operations."; + } + + revision 2006-06-08 { + description + "Added a new rttMonRttType named as lspPingPseudowire. + Added an object rttMonEchoAdminLSPVccvID to support + lspPingPseudowire. + Change the default value of rttMplsVpnMonTypeLpdScanPeriod + from 1 to 240."; + } + + revision 2006-03-02 { + description + "Added two new rttMonRttType's ethernetPing and ethernetJitter. + Added four objects rttMonEchoAdminTargetMPID, + rttMonEchoAdminTargetVLAN, rttMonEchoAdminTargetDomainName + and rttMonEchoAdminEthernetCOS in rttMonEchoAdminEntry to + support ethernetPing and ethernetJitter. + Change the default value of rttMplsVpnMonTypeLpdScanPeriod + from 0 to 1. + Modified the range of rttMonApplProbeCapacity and + rttMonApplNumCtrlAdminEntry to 1 .. 2147483647. + Modified the range of rttMonLatestJitterOperMOS, + rttMonJitterStatsMinOfMOS and rttMonJitterStatsMaxOfMOS to + (0|100 .. 500). + Modified the SYNTAX of rttMonCtrlAdminOwner to OCTET STRING + because OwnerString is deprecated."; + } + + revision 2005-08-11 { + description + "- TEXTUAL Conventions previously defined in the MIB are defined + in CISCO-RTTMON-TC-MIB."; + } + + revision 2005-04-21 { + description + "- Added new objects given in ciscoCtrlGroupRev4 to + rttMonGrpScheduleAdminTable. + - Changed description of object rttMonHTTPStatsRTTMax."; + } + + revision 2005-01-04 { + description + "Added two new rttMonRttType's rtp and lspGroup. Added a new + object rttMonApplLpdGrpStatsReset to reset the LPD Group Stats. + Added rttMonLpdGrpStatsTable for supporting LSP Path Discovery. + Added two new notifications rttMonLpdDiscoveryNotification + and rttMonLpdGrpStatusNotification. + Added and modified descriptions of some objects in + rttMplsVpnMonCtrlTable, rttMplsVpnMonTypeTable and + rttMplsVpnMonReactTable for LSP Path Discovery. + Added 6 options in the rttMonReactVar. + Added rttMonEchoAdminSourceVoicePort and + rttMonEchoAdminCallDuration in rttMonEchoAdminTable."; + } + + revision 2004-08-26 { + description + "Added a table rttMonReactTable, which defines the + the reaction configurations for the probes. + Deprecated the old reaction table rttMonReactAdminTable. + This is replaced by the new table (rttMonReactTable). + Depreacted the notification types + rttMonConnectionChangeNotification + rttMonTimeoutNotification + rttMonThresholdNotification + rttMonVerifyErrorNotification + Added new notification type rttMonNotification. + Added two objects, rttMonGrpScheduleAdminFreqMax + and rttMonGrpScheduleAdminFreqMin to table + rttMonGrpScheduleAdminTable."; + } + + revision 2004-05-18 { + description + "- Add the following fields for VoIP GK registration delay: + RttMonEchoAdminEntry: + rttMonEchoAdminGKRegistration + - Add the following fields for VoIP Post dial delay: + RttMonOperation: + voipDTAlertRinging(6), + voipDTConnectOK(7) + RttMonRttType: + voip(13) + RttMonProtocol: + voipAppl(31) + RttMonEchoAdminEntry: + rttMonEchoAdminCalledNumber + rttMonEchoAdminDetectPoint + - Add HTTP code 301, 302 as non-error scenario. + - Modify description for rttMonEchoAdminNameServer: + it is applicable for DNS and HTTP probe. + - Modify rttMonCtrlAdminFrequency range + from Integer32 (0..604800) to (1..604800) + - Added following new objects for jitter probe precision + and other improvements: + rttMonEchoAdminPrecision, rttMonEchoAdminProbePakPriority, + rttMonJitterStatsIAJOut, rttMonJitterStatsIAJIn, + rttMonJitterStatsAvgJitter, rttMonJitterStatsAvgJitterSD, + rttMonJitterStatsAvgJitterDS, rttMonJitterStatsUnSyncRTs, + rttMonLatestJitterOperIAJIn, rttMonLatestJitterOperAvgJitter, + rttMonLatestJitterOperAvgSDJ, rttMonLatestJitterOperAvgDSJ, + rttMonLatestJitterOperOWAvgSD, rttMonLatestJitterOperOWAvgDS, + rttMonLatestJitterOperIAJOut, rttMonLatestJitterOperNTPState, + rttMonEchoAdminOWNTPSyncTolAbs, + rttMonEchoAdminOWNTPSyncTolPct, + rttMonEchoAdminOWNTPSyncTolType, + rttMonLatestJitterOperUNSyncRTs"; + } + + revision 2004-01-20 { + description + "Created new tables for Auto SAA L3 MPLS VPN. + rttMplsVpnMonCtrlTable + rttMplsVpnMonTypeTable + rttMplsVpnMonScheduleTable + rttMplsVpnMonReactTable. + Modified MIB for creation of echo and pathecho operations based + on MPLS LSP Ping."; + } + + revision 2003-08-11 { + description + "Added 1 object rttMonScheduleAdminRttRecurring to the + rttMonScheduleAdminTable. Added a new table + rttMonGrpScheduleAdminTable for group scheduling. This table + contains the following objects + rttMonGrpScheduleAdminIndex + rttMonGrpScheduleAdminProbes + rttMonGrpScheduleAdminPeriod + rttMonGrpScheduleAdminFrequency + rttMonGrpScheduleAdminLife + rttMonGrpScheduleAdminAgeout + rttMonGrpScheduleAdminStatus. + Modified the default value of rttMonReactTriggerAdminStatus + from createAndGo to no default value. Corrected the Revision + clause specified for the existing and all the earlier + submissions."; + } + + revision 2003-05-21 { + description + "Range for rttMonLatestJitterOperMOS, rttMonJitterStatsMinOfMOS + and rttMonJitterStatsMaxOfMOS to be changed to 100..500 + instead of 1..5. Modifying the range of rttMonApplProbeCapacity + and rttMonApplNumCtrlAdminEntry to 1..10000.Added value other(0) + for RttResponseSense and changed the range of objects + rttMonLatestRttOperApplSpecificSense and + rttMonHistoryCollectionApplSpecificSense to 0..2147483647. + Added range for rttMonApplAuthIndex."; + } + + revision 2003-04-15 { + description + "Removed default values from + rttMonEchoAdminCodecInterval + rttMonEchoAdminCodecPayload + rttMonEchoAdminCodecNumPackets. + Corrected some typos in the earliar revision."; + } + + revision 2003-03-12 { + description + "Added 5 objects in the rttMonEchoAdminTable to support + codec configuration. + Added few objects in rttMonLatestJitterOperTable and + rttMonJitterStatsTable for ICPIF (Calculated Planning + Impairment Factor) and MOS (Mean Opinion Score) scores."; + } + + revision 2000-11-03 { + description + "deprecated 4 objects in the rttMonJitterStatsTable + and added the same objects with a SYNTAX of Gauge32. + Also added the capability to specify a VrfName."; + } + + revision 1999-06-15 { + description + "created rttMonAuthTable."; + } + + + container CISCO-RTTMON-MIB { + config false; + + container rttMonAppl { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1"; + + leaf rttMonApplVersion { + type snmpv2-tc:DisplayString; + description + "Round Trip Time monitoring application version + string. + + The format will be: + + 'Version.Release.Patch-Level: Textual-Description' + + For example: '1.0.0: Initial RTT Application'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.1"; + } + + leaf rttMonApplMaxPacketDataSize { + type int32 { + range "0..16384"; + } + units "octets"; + description + "The maximum size of the data portion an echo + packet supported by this RTT application. This is + the maximum value that can be specified by + (rttMonEchoAdminPktDataRequestSize + ARR Header) + or + (rttMonEchoAdminPktDataResponseSize + ARR Header) + in the rttMonCtrlAdminTable. + + This object is undefined for conceptual RTT + control rows when the RttMonRttType object is set + to 'fileIO' or 'script'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.2"; + } + + leaf rttMonApplTimeOfLastSet { + type yang:timestamp; + description + "The last time at which a set operation occurred + on any of the objects in this MIB. The managing + application can inspect this value in order to + determine whether changes have been made without + retrieving the entire Administration portion of + this MIB. + + This object applies to all settable objects in this + MIB, including the 'Reset' objects that could clear + saved history/statistics."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.3"; + } + + leaf rttMonApplNumCtrlAdminEntry { + type int32 { + range "1..2147483647"; + } + description + "This object defines the maximum number of entries + that can be added to the rttMonCtrlAdminTable. It + is calculated at the system init time. The value + is impacted when rttMonApplFreeMemLowWaterMark is changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.4"; + } + + leaf rttMonApplReset { + type cisco-rttmon:RttReset; + description + "When set to 'reset' the entire RTT application + goes through a reset sequence, making a best + effort to revert to its startup condition. Any + and all rows in the Overall Control Group will be + immediately deleted, together with any associated + rows in the Statistics Collection Group, and + History Collection Group. All open connections + will also be closed. Finally the + rttMonApplPreConfigedTable will reset (see + rttMonApplPreConfigedReset)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.5"; + } + + leaf rttMonApplPreConfigedReset { + type cisco-rttmon:RttReset; + status obsolete; + description + "When set to 'reset' the RTT application will + reset the Application Preconfigured MIB section. + + This will force the RTT application to delete all + entries in the rttMonApplPreConfigedTable and then + to repopulate the table with the current configuration. + + This provides a mechanism to load and unload user + scripts and file paths."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.6"; + } + + leaf rttMonApplProbeCapacity { + type int32 { + range "1..2147483647"; + } + description + "This object defines the number of new probes that can be + configured on a router. The number depends on the value + of rttMonApplFreeMemLowWaterMark, free bytes + available on the router and the system configured + rttMonCtrlAdminEntry number. + Equation: + rttMonApplProbeCapacity = + MIN(((Free_Bytes_on_the_Router - rttMonApplFreeMemLowWaterMark)/ + Memory_required_by_each_probe), + rttMonApplNumCtrlAdminEntry - + Num_of_Probes_already_configured))"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.10"; + } + + leaf rttMonApplFreeMemLowWaterMark { + type int32 { + range "0..2147483647"; + } + description + "This object defines the amount of free memory a router must + have in order to configure RTR. If RTR found out that the + memory is falling below this mark, it will not allow new + probes to be configured. + + This value should not be set higher (or very close to) than + the free bytes available on the router."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.11"; + } + + leaf rttMonApplLatestSetError { + type snmpv2-tc:DisplayString; + description + "An error description for the last error message caused + by set. + + Currently, it includes set error caused due to setting + rttMonApplFreeMemLowWaterMark greater than the available + free memory on the router or not enough memory left to + create new probes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.12"; + } + + leaf rttMonApplResponder { + type boolean; + description + "Enable or disable RTR responder on the router."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.13"; + } + + leaf rttMonApplLpdGrpStatsReset { + type int32 { + range "0..2147483647"; + } + description + "This object is used to reset certain objects within the + rttMonLpdGrpStatsTable. When the object is set to value of + an active LPD Group identifier the associated objects will be + reset. The reset objects will be set to a value as specified + in the object's description. + + The following objects will not be reset. + - rttMonLpdGrpStatsTargetPE + - rttMonLpdGrpStatsGroupProbeIndex + - rttMonLpdGrpStatsGroupIndex + - rttMonLpdGrpStatsStartTimeIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.15"; + } + } + + container rttMonApplSupportedRttTypesTable { + description + "A table of which contains the supported Rtt + Monitor Types. + + See the RttMonRttType textual convention for + the definition of each type."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.7"; + + list rttMonApplSupportedRttTypesEntry { + key "rttMonApplSupportedRttTypes"; + description + "A list that presents the valid Rtt Monitor + Types."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.7.1"; + + leaf rttMonApplSupportedRttTypes { + type cisco-rttmon:RttMonRttType; + description + "This object indexes the supported + 'RttMonRttType' types."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.7.1.1"; + } + + leaf rttMonApplSupportedRttTypesValid { + type boolean; + description + "This object defines the supported + 'RttMonRttType' types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.7.1.2"; + } + } + } + + container rttMonApplSupportedProtocolsTable { + description + "A table of which contains the supported Rtt + Monitor Protocols. + + See the RttMonProtocol textual convention + for the definition of each protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.8"; + + list rttMonApplSupportedProtocolsEntry { + key "rttMonApplSupportedProtocols"; + description + "A list that presents the valid Rtt Monitor + Protocols."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.8.1"; + + leaf rttMonApplSupportedProtocols { + type cisco-rttmon:RttMonProtocol; + description + "This object indexes the supported + 'RttMonProtocol' protocols."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.8.1.1"; + } + + leaf rttMonApplSupportedProtocolsValid { + type boolean; + description + "This object defines the supported + 'RttMonProtocol' protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.8.1.2"; + } + } + } + + container rttMonApplPreConfigedTable { + status obsolete; + description + "A table of which contains the previously + configured Script Names and File IO targets. + + These Script Names and File IO targets are installed + via a different mechanism than this application, and + are specific to each platform."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.9"; + + list rttMonApplPreConfigedEntry { + key "rttMonApplPreConfigedType rttMonApplPreConfigedName"; + status obsolete; + description + "A list of objects that describe the previously + configured Script Names and File IO targets."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.9.1"; + + leaf rttMonApplPreConfigedType { + type enumeration { + enum "filePath" { + value "1"; + } + enum "scriptName" { + value "2"; + } + } + status obsolete; + description + "This is the type of value being stored in the + rttMonApplPreConfigedName object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.9.1.2"; + } + + leaf rttMonApplPreConfigedName { + type snmpv2-tc:DisplayString; + status obsolete; + description + "This is either one of the following depending on the + value of the rttMonApplPreConfigedType object: + + - The file path to a server. One of these file paths + must be used when defining an entry in the + rttMonFileIOAdminTable table with 'fileIO' as the + value of the rttMonCtrlAdminRttType object. + + - The script name to be used when generating RTT + operations. One of these script names must be used + when defining an entry in the rttMonScriptAdminTable + table with 'script' as the value of the + rttMonCtrlAdminRttType object. + + NOTE: For script names, command line parameters + can follow these names in the + rttMonScriptAdminTable table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.9.1.3"; + } + + leaf rttMonApplPreConfigedValid { + type boolean; + status obsolete; + description + "When this row exists, this value will be 'true'. + This object exists only to create a valid row in this + table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.9.1.4"; + } + } + } + + container rttMonApplAuthTable { + description + "A table which contains the definitions for key-strings + that will be used in authenticating RTR Control Protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14"; + + list rttMonApplAuthEntry { + key "rttMonApplAuthIndex"; + description + "A list that presents the valid parameters for Authenticating + RTR Control Protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1"; + + leaf rttMonApplAuthIndex { + type int32 { + range "0..2147483647"; + } + description + "Uniquely identifies a row in the rttMonApplAuthTable. + This is a pseudo-random number selected by the management + station when creating a row via the rttMonApplAuthStatus + object. If the pseudo-random number is already in use, an + 'inconsistentValue' is returned. Currently, only one row + can be created."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.1"; + } + + leaf rttMonApplAuthKeyChain { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents the key-chain name. If multiple + key-strings are specified, then the authenticator will + alternate between the specified strings."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.2"; + } + + leaf rttMonApplAuthKeyString1 { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents a key-string name whose id is 1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.3"; + } + + leaf rttMonApplAuthKeyString2 { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents a key-string name whose id is 2."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.4"; + } + + leaf rttMonApplAuthKeyString3 { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents a key-string name whose id is 3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.5"; + } + + leaf rttMonApplAuthKeyString4 { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents a key-string name whose id is 4."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.6"; + } + + leaf rttMonApplAuthKeyString5 { + type snmpv2-tc:DisplayString { + length "1..48"; + } + description + "A string which represents a key-string name whose id is 5."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.7"; + } + + leaf rttMonApplAuthStatus { + type snmpv2-tc:RowStatus; + description + "The status of the Authentication row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1.14.1.8"; + } + } + } + + container rttMonCtrlAdminTable { + description + "A table of Round Trip Time (RTT) monitoring definitions. + + The RTT administration control is in multiple tables. + This first table, is used to create a conceptual RTT + control row. The following tables contain objects which + configure scheduling, information gathering, and + notification/trigger generation. All of these tables + will create the same conceptual RTT control row as this + table using this tables' index as their own index. + + This table is limited in size by the agent + implementation. The object rttMonApplNumCtrlAdminEntry + will reflect this tables maximum number of entries."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1"; + + list rttMonCtrlAdminEntry { + key "rttMonCtrlAdminIndex"; + description + "A base list of objects that define a conceptual RTT + control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1"; + + leaf rttMonCtrlAdminIndex { + type int32 { + range "1..2147483647"; + } + description + "Uniquely identifies a row in the rttMonCtrlAdminTable. + This is a pseudo-random number, selected by the management + station or auto-generated based on operation started by the + management station,when creating a row via + the rttMonCtrlAdminStatus object. If the pseudo-random + number is already in use an 'inconsistentValue' return code + will be returned when + set operation is attempted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.1"; + } + + leaf rttMonCtrlAdminOwner { + type binary { + length "0..255"; + } + description + "Identifies the entity that created this table row."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.2"; + } + + leaf rttMonCtrlAdminTag { + type snmpv2-tc:DisplayString { + length "0..16"; + } + description + "A string which is used by a managing application to + identify the RTT target. This string is inserted into trap + notifications, but has no other significance to the + agent."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.3"; + } + + leaf rttMonCtrlAdminRttType { + type cisco-rttmon:RttMonRttType; + description + "The type of RTT operation to be performed. This value + must be set in the same PDU or before setting any type + specific configuration. + + Note: The RTT operation 'lspGroup' cannot be created via this + control row. It will be created automatically by Auto SAA L3 + MPLS VPN when rttMplsVpnMonCtrlLpd is 'true'."; + smiv2:defval "echo"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.4"; + } + + leaf rttMonCtrlAdminThreshold { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + If the RTT operation time exceeds this limit and if the + conditions specified in rttMonReactAdminThresholdType or + rttMonHistoryAdminFilter are satisfied, a + threshold is generated."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.5"; + } + + leaf rttMonCtrlAdminFrequency { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the duration between initiating each RTT + operation. + + This object cannot be set to a value which would be a + shorter duration than rttMonCtrlAdminTimeout. + + When the RttMonRttType specifies an operation that is + synchronous in nature, it may happen that the next RTT + operation is blocked by a RTT operation which has not + yet completed. In this case, the value of a counter + (rttMonStatsCollectBusies) in rttMonStatsCaptureTable is + incremented in lieu of initiating a RTT operation, and + the next attempt will occur at the next + rttMonCtrlAdminFrequency expiration. + + NOTE: When the rttMonCtrlAdminRttType object is defined + to be 'pathEcho', setting this value to a small + value for your network size may cause an operation + attempt (or multiple attempts) to be started + before the previous operation has finished. In + this situation the rttMonStatsCollectBusies object + will be incremented in lieu of initiating a new + RTT operation, and the next attempt will occur at + the next rttMonCtrlAdminFrequency expiration. + + When the rttMonCtrlAdminRttType object is defined + to be 'pathEcho', the suggested value for this object + is greater than rttMonCtrlAdminTimeout times the + maximum number of expected hops to the target. + + NOTE: When the rttMonCtrlAdminRttType object is defined + to be 'dhcp', the minimum allowed value for this + object is 10 seconds. This restriction is due to + protocol limitations described in RFC 2131."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.6"; + } + + leaf rttMonCtrlAdminTimeout { + type int32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for a RTT operation + completion. The value of this object cannot be set to + a value which would specify a duration exceeding + rttMonCtrlAdminFrequency. + + For connection oriented protocols, this may cause the + connection to be closed by the probe. Once closed, it + will be assumed that the connection reestablishment + will be performed. To prevent unwanted closure of + connections, be sure to set this value to a realistic + connection timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.7"; + } + + leaf rttMonCtrlAdminVerifyData { + type boolean; + description + "When set to true, the resulting data in each RTT + operation is compared with the expected data. This + includes checking header information (if possible) and + exact packet size. Any mismatch will be recorded in the + rttMonStatsCollectVerifyErrors object. + + Some RttMonRttTypes may not support this option. When + a type does not support this option, the agent will + transition this object to false. It is the management + applications responsibility to check for this + transition."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.8"; + } + + leaf rttMonCtrlAdminStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual RTT control row. + + In order for this object to become active, the following + row objects must be defined: + - rttMonCtrlAdminRttType + Additionally: + - for echo, pathEcho based on 'ipIcmpEcho' and dlsw probes + rttMonEchoAdminProtocol and + rttMonEchoAdminTargetAddress; + - for echo, pathEcho based on 'mplsLspPingAppl' + rttMonEchoAdminProtocol, rttMonEchoAdminTargetAddress + and rttMonEchoAdminLSPFECType + - for udpEcho, tcpConnect and jitter probes + rttMonEchoAdminTargetAddress and + rttMonEchoAdminTargetPort + - for http and ftp probe + rttMonEchoAdminURL + - for dns probe + rttMonEchoAdminTargetAddressString + rttMonEchoAdminNameServer + - dhcp probe doesn't require any additional objects + + All other objects can assume default values. The + conceptual Rtt control row will be placed into a + 'pending' state (via the rttMonCtrlOperState object) + if rttMonScheduleAdminRttStartTime is not specified. + + Most conceptual Rtt control row objects cannot be + modified once this conceptual Rtt control row has been + created. The objects that can change are the following: + + - Objects in the rttMonReactAdminTable can be modified + as needed without setting this object to + 'notInService'. + - Objects in the rttMonScheduleAdminTable can be + modified only when this object has the value of + 'notInService'. + - The rttMonCtrlOperState can be modified to control + the state of the probe. + + Once this object is in 'active' status, it cannot be + set to 'notInService' while the rttMonCtrlOperState + is in 'active' state. Thus the rttMonCtrlOperState + object must be transitioned first. + + This object can be set to 'destroy' from any value + at any time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.9"; + } + + leaf rttMonCtrlAdminNvgen { + type boolean; + description + "When set to true, this entry will be shown in + 'show running' command and can be saved into + Non-volatile memory."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.10"; + } + + leaf rttMonCtrlAdminGroupName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "If the operation is created through auto measure group + creation, then this string will specify the group name + to which this operation is associated."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.1.1.11"; + } + } + } + + container rttMonEchoAdminTable { + description + "A table that contains Round Trip Time (RTT) specific + definitions. + + This table is controlled via the + rttMonCtrlAdminTable. Entries in this table are + created via the rttMonCtrlAdminStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2"; + + list rttMonEchoAdminEntry { + key "rttMonCtrlAdminIndex"; + description + "A list of objects that define specific configuration for + RttMonRttType conceptual Rtt control rows."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonEchoAdminProtocol { + type cisco-rttmon:RttMonProtocol; + description + "Specifies the protocol to be used to perform the RTT + operation. The following list defines what protocol + should be used for each probe type: + + echo, pathEcho - ipIcmpEcho / mplsLspPingAppl + udpEcho - ipUdpEchoAppl + tcpConnect - ipTcpConn + http - httpAppl + jitter - jitterAppl + dlsw - dlswAppl + dhcp - dhcpAppl + ftp - ftpAppl + mplsLspPing - mplsLspPingAppl + voip - voipAppl + video - videoAppl + + When this protocol does not support the type, a 'badValue' + error will be returned."; + smiv2:defval "notApplicable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.1"; + } + + leaf rttMonEchoAdminTargetAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "A string which specifies the address of the target."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.2"; + } + + leaf rttMonEchoAdminPktDataRequestSize { + type int32 { + range "0..16384"; + } + units "octets"; + description + "This object represents the number of octets to be + placed into the ARR Data portion of the request + message, when using SNA protocols. + + For non-ARR protocols' RTT request/responses, + this value represents the native payload size. + + REMEMBER: The ARR Header overhead is not included + in this value. + + For echo probes the total packet size = (IP header(20) + + ICMP header(8) + 8 (internal timestamps) + request size). + + For echo and pathEcho default request size is 28. + For udp probe, default request size is 16 and for jitter + probe it is 32. For dlsw probes default request size is 0. + + The minimum request size for echo and pathEcho is 28 bytes, + for udp it is 4 and for jitter it is 16. + For udp and jitter probes the maximum request size is 1500. + + For ethernetPing the default request size is 66. + For ethernetJitter the default request size is 51."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.3"; + } + + leaf rttMonEchoAdminPktDataResponseSize { + type int32 { + range "0..16384"; + } + description + "This object represents the number of octets to be + placed into the ARR Data portion of the response message. + This value is passed to the RTT Echo Server via a + field in the ARR Header. + + For non-ARR RTT request/response (i.e. ipIcmpecho) + this value will be set by the agent to match the + size of rttMonEchoAdminPktDataRequestSize, when + native payloads are supported. + + REMEMBER: The ARR Header overhead is not included + in this value. + + This object is only supported by SNA protocols."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.4"; + } + + leaf rttMonEchoAdminTargetPort { + type int32 { + range "0..65536"; + } + description + "This object represents the target's port number. This + object is applicable to udpEcho, tcpConnect and jitter probes."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.5"; + } + + leaf rttMonEchoAdminSourceAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "A string which specifies the IP address of the source. + This object is applicable to all probes except dns, dlsw + and sna."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.6"; + } + + leaf rttMonEchoAdminSourcePort { + type int32 { + range "0..65536"; + } + description + "This object represents the source's port number. If this + object is not specified, the application will get a + port allocated by the system. This object is applicable + to all probes except dns, dlsw and sna."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.7"; + } + + leaf rttMonEchoAdminControlEnable { + type boolean; + description + "If this object is enabled, then the RTR application + will send control messages to a responder, residing on the + target router to respond to the data request packets being + sent by the source router. This object is not applicable to + echo, pathEcho, dns and http probes."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.8"; + } + + leaf rttMonEchoAdminTOS { + type int32 { + range "0..255"; + } + description + "This object represents the type of service octet in an + IP header. This object is not applicable to dhcp, dns, + ethernetPing and ethernetJitter."; + reference + "Refer to the following documents for TOS definition. + RFC791/1349 for IPv4, IPv6, + draft-ietf-diffserv-header-02.txt"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.9"; + } + + leaf rttMonEchoAdminLSREnable { + type boolean; + description + "If this object is enabled then it means that the application + calculates response time for a specific path, defined in + rttMonEchoPathAdminEntry. This object is applicable to echo + probe only."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.10"; + } + + leaf rttMonEchoAdminTargetAddressString { + type snmpv2-tc:DisplayString; + description + "A string which specifies the address of the target. This string + can be in IP address format or a hostname. This object + is applicable to dns probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.11"; + } + + leaf rttMonEchoAdminNameServer { + type cisco-rttmon:RttMonTargetAddress; + description + "A string which specifies the ip address of the name-server. + This object is applicable to dns probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.12"; + } + + leaf rttMonEchoAdminOperation { + type cisco-rttmon:RttMonOperation; + description + "A code that represents the specific type of RTT operation. + This object is applicable to http and ftp probe only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.13"; + } + + leaf rttMonEchoAdminHTTPVersion { + type snmpv2-tc:DisplayString { + length "3..10"; + } + description + "A string which specifies the version number of the HTTP + Server. The syntax for the version string is + . An example would be 1.0, + 1.1 etc.,. This object is applicable to http probe only."; + smiv2:defval "1.0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.14"; + } + + leaf rttMonEchoAdminURL { + type snmpv2-tc:DisplayString; + description + "A string which represents the URL to which a HTTP probe should + communicate with. This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.15"; + } + + leaf rttMonEchoAdminCache { + type boolean; + description + "If this object is false then it means that HTTP request should + not download cached pages. This means that the request should + be forwarded to the origin server. This object is applicable + to http probe only."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.16"; + } + + leaf rttMonEchoAdminInterval { + type int32 { + range "0..60000"; + } + units "milliseconds"; + description + "This value represents the inter-packet delay between packets + and is in milliseconds. This value is currently used for + Jitter probe. This object is applicable to jitter probe only."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.17"; + } + + leaf rttMonEchoAdminNumPackets { + type int32; + description + "This value represents the number of packets that need to be + transmitted. This value is currently used for Jitter probe. + This object is applicable to jitter probe only."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.18"; + } + + leaf rttMonEchoAdminProxy { + type snmpv2-tc:DisplayString; + description + "This string represents the proxy server information. + This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.19"; + } + + leaf rttMonEchoAdminString1 { + type snmpv2-tc:DisplayString; + description + "This string stores the content of HTTP raw request. + If the request cannot fit into String1 then it should + be split and put in Strings 1 through 5. + + This string stores the content of the DHCP raw option + data. The raw DHCP option data must be in HEX. + If an odd number of characters are specified, a 0 + will be appended to the end of the string. Only + DHCP option 82 (decimal) is allowed. + Here is an example of a valid string: + 5208010610005A6F1234 + Only rttMonEchoAdminString1 is used for dhcp, Strings + 1 through 5 are not used. + + This object is applicable to http and dhcp probe + types only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.20"; + } + + leaf rttMonEchoAdminString2 { + type snmpv2-tc:DisplayString; + description + "This string stores the content of HTTP raw request. + rttMonEchoAdminString1-5 are concatenated to + form the HTTP raw request used in the RTT operation. + This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.21"; + } + + leaf rttMonEchoAdminString3 { + type snmpv2-tc:DisplayString; + description + "This string stores the content of HTTP raw request. + rttMonEchoAdminString1-5 are concatenated to + form the HTTP raw request used in the RTT operation. + This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.22"; + } + + leaf rttMonEchoAdminString4 { + type snmpv2-tc:DisplayString; + description + "This string stores the content of HTTP raw request. + rttMonEchoAdminString1-5 are concatenated to + form the HTTP raw request used in the RTT operation. + This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.23"; + } + + leaf rttMonEchoAdminString5 { + type snmpv2-tc:DisplayString; + description + "This string stores the content of HTTP raw request. + rttMonEchoAdminString1-5 are concatenated to + form the HTTP raw request used in the RTT operation. + This object is applicable to http probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.24"; + } + + leaf rttMonEchoAdminMode { + type cisco-rttmon:RttMonOperation; + description + "A code that represents the specific type of RTT operation. + This object is applicable to ftp probe only."; + smiv2:defval "ftpPassive"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.25"; + } + + leaf rttMonEchoAdminVrfName { + type binary { + length "0..32"; + } + description + "This field is used to specify the VPN name in + which the RTT operation will be used. For regular RTT + operation this field should not be configured. The agent + will use this field to identify the VPN routing Table for + this operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.26"; + } + + leaf rttMonEchoAdminCodecType { + type cisco-rttmon:RttMonCodecType; + description + "Specifies the codec type to be used with jitter probe. This is + applicable only for the jitter probe. + + If codec-type is configured the following parameters cannot be + configured. + rttMonEchoAdminPktDataRequestSize + rttMonEchoAdminInterval + rttMonEchoAdminNumPackets"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.27"; + } + + leaf rttMonEchoAdminCodecInterval { + type int32 { + range "0..60000"; + } + units "milliseconds"; + description + "This field represents the inter-packet delay between + packets and is in milliseconds. This object is applicable + only to jitter probe which uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.28"; + } + + leaf rttMonEchoAdminCodecPayload { + type int32 { + range "0..16384"; + } + units "octets"; + description + "This object represents the number of octets that needs to be + placed into the Data portion of the message. This value is + used only for jitter probe which uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.29"; + } + + leaf rttMonEchoAdminCodecNumPackets { + type int32 { + range "0..60000"; + } + description + "This value represents the number of packets that need to be + transmitted. This value is used only for jitter probe which + uses codec type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.30"; + } + + leaf rttMonEchoAdminICPIFAdvFactor { + type int32 { + range "0..20"; + } + description + "The advantage factor is dependant on the type of access and + how the service is to be used. + Conventional Wire-line 0 + Mobility within Building 5 + Mobility within geographic area 10 + Access to hard-to-reach location 20 + + This will be used while calculating the ICPIF values + This valid only for Jitter while calculating the ICPIF value"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.31"; + } + + leaf rttMonEchoAdminLSPFECType { + type enumeration { + enum "ldpIpv4Prefix" { + value "1"; + } + } + description + "The type of the target FEC for the RTT 'echo' and 'pathEcho' + operations based on 'mplsLspPingAppl' RttMonProtocol. + + ldpIpv4Prefix - LDP IPv4 prefix."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.32"; + } + + leaf rttMonEchoAdminLSPSelector { + type cisco-rttmon:RttMonTargetAddress; + description + "A string which specifies a valid 127/8 address. This address + is of the form 127.x.y.z. + This address is not used to route the MPLS echo packet to the + destination but is used for load balancing in cases where the + IP payload's destination address is used for load balancing."; + smiv2:defval "7F 00 00 01"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.33"; + } + + leaf rttMonEchoAdminLSPReplyMode { + type cisco-rttmon:RttMonLSPPingReplyMode; + description + "This object specifies the reply mode for the LSP Echo + requests."; + smiv2:defval "replyIpv4Udp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.34"; + } + + leaf rttMonEchoAdminLSPTTL { + type int32 { + range "0..255"; + } + description + "This object represents the TTL setting for MPLS echo request + packets. For ping operation this represents the TTL value to + be set in the echo request packet. For trace operation it + represent the maximum ttl value that can be set in the echo + request packets starting with TTL=1. + + For 'echo' based on mplsLspPingAppl the default TTL will be + set to 255, and for 'pathEcho' based on mplsLspPingAppl the + default will be set to 30. + + Note: This object cannot be set to the value of 0. The + default value of 0 signifies the default TTL values to be + used for 'echo' and 'pathEcho' based on 'mplsLspPingAppl'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.35"; + } + + leaf rttMonEchoAdminLSPExp { + type int32 { + range "0..7"; + } + description + "This object represents the EXP value that needs to be + put as precedence bit in the MPLS echo request IP header."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.36"; + } + + leaf rttMonEchoAdminPrecision { + type enumeration { + enum "milliseconds" { + value "1"; + } + enum "microseconds" { + value "2"; + } + } + description + "This object specifies the accuracy of statistics that + needs to be calculated + milliseconds - The accuracy of stats will be of milliseconds + microseconds - The accuracy of stats will be in microseconds. + This value can be set only for jitter operation"; + smiv2:defval "milliseconds"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.37"; + } + + leaf rttMonEchoAdminProbePakPriority { + type enumeration { + enum "normal" { + value "1"; + } + enum "high" { + value "2"; + } + } + description + "This object specifies the priority that will be assigned + to probe packet. This value can be set only for jitter + operation"; + smiv2:defval "normal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.38"; + } + + leaf rttMonEchoAdminOWNTPSyncTolAbs { + type int32; + units "microseconds"; + description + "This object specifies the total clock synchronization error + on source and responder that is considered acceptable for + oneway measurement when NTP is used as clock synchronization + mechanism. The total clock synchronization error is sum of + NTP offsets on source and responder. The value specified is + microseconds. This value can be set only for jitter operation + with precision of microsecond."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.39"; + } + + leaf rttMonEchoAdminOWNTPSyncTolPct { + type int32 { + range "0..100"; + } + description + "This object specifies the total clock synchronization error + on source and responder that is considered acceptable for + oneway measurement when NTP is used as clock synchronization + mechanism. The total clock synchronization error is sum of + NTP offsets on source and responder. The value is expressed + as the percentage of actual oneway latency that is measured. + This value can be set only for jitter operation with precision + of microsecond."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.40"; + } + + leaf rttMonEchoAdminOWNTPSyncTolType { + type enumeration { + enum "percent" { + value "1"; + } + enum "absolute" { + value "2"; + } + } + description + "This object specifies whether the value in specified for oneway + NTP sync tolerance is absolute value or percent value"; + smiv2:defval "percent"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.41"; + } + + leaf rttMonEchoAdminCalledNumber { + type snmp-framework:SnmpAdminString { + length "0..24"; + } + description + "This string stores the called number of post dial delay. + This object is applicable to voip post dial delay probe only. + The number will be like the one actualy the user could dial. + It has the number required by the local country dial plan, plus + E.164 number. The maximum length is 24 digits. Only digit (0-9) + is allowed."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.42"; + } + + leaf rttMonEchoAdminDetectPoint { + type cisco-rttmon:RttMonOperation; + description + "A code that represents the detect point of post dial delay. + This object is applicable to SAA post dial delay probe only."; + smiv2:defval "voipDTAlertRinging"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.43"; + } + + leaf rttMonEchoAdminGKRegistration { + type boolean; + description + "A boolean that represents VoIP GK registration delay. + This object is applicable to SAA GK registration delay + probe only."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.44"; + } + + leaf rttMonEchoAdminSourceVoicePort { + type snmpv2-tc:DisplayString; + description + "A string which specifies the voice-port on the source gateway. + This object is applicable to RTP probe only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.45"; + } + + leaf rttMonEchoAdminCallDuration { + type int32 { + range "1..600"; + } + description + "Duration of RTP/Video Probe session. + This object is applicable to RTP and Video probe."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.46"; + } + + leaf rttMonEchoAdminLSPReplyDscp { + type int32 { + range "0..63|255"; + } + description + "This object specifies the DSCP value to be set in the IP header + of the LSP echo reply packet. + The value of this object will be in range of DiffServ codepoint + values between 0 to 63. + + Note: This object cannot be set to value of 255. This default + value specifies that DSCP is not set for this row."; + smiv2:defval "255"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.47"; + } + + leaf rttMonEchoAdminLSPNullShim { + type boolean; + description + "This object specifies if the explicit-null label is to be added + to LSP echo requests which are sent while performing RTT + operation."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.48"; + } + + leaf rttMonEchoAdminTargetMPID { + type cisco-ether:CfmMepid; + description + "This object specifies the destination maintenance point ID. + It is only applicable to ethernetPing and ethernetJitter + operation. It will be set to 0 for other types of + operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.49"; + } + + leaf rttMonEchoAdminTargetDomainName { + type snmp-framework:SnmpAdminString; + description + "This object specifies the name of the domain in which the + destination maintenance point lies. It is only applicable to + ethernetPing and ethernetJitter operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.50"; + } + + leaf rttMonEchoAdminTargetVLAN { + type q-bridge:VlanId; + description + "This object specifies the ID of the VLAN in which the + destination maintenance point lies. It is only applicable to + ethernetPing and ethernetJitter operation. + It will be set to 0 for other types of operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.51"; + } + + leaf rttMonEchoAdminEthernetCOS { + type cisco-qos:QosLayer2Cos { + range "0..7"; + } + description + "This object specifies the class of service in an Ethernet + packet header. It is only applicable to ethernetPing and + ethernetJitter operation."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.52"; + } + + leaf rttMonEchoAdminLSPVccvID { + type int32 { + range "0..2147483647"; + } + description + "This object specifies MPLS LSP pseudowire VCCV ID + values between 1 to 2147483647. + + Note: This object cannot be set to value of 0. This default + value specifies that VCCV is not set for this row."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.53"; + } + + leaf rttMonEchoAdminTargetEVC { + type snmp-framework:SnmpAdminString { + length "0..100"; + } + description + "This object specifies the Ethernet Virtual Connection in + which the destination maintenance point lies. It is only + applicable to ethernetPing and ethernetJitter operation. + It will be set to NULL for other types of operations."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.54"; + } + + leaf rttMonEchoAdminTargetMEPPort { + type boolean; + description + "This object specifies that Port Level CFM testing towards an + Outward/Down MEP will be used. It is only applicable to + ethernetPing and ethernetJitter operation. + It will be set to NULL for other types of operations."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.55"; + } + + leaf rttMonEchoAdminVideoTrafficProfile { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "A string which represents the profile name to which a video + probe should use. This object is applicable to video probe + only."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.56"; + } + + leaf rttMonEchoAdminDscp { + type inet:dscp; + description + "This object represents the Differentiated Service Code Point + (DSCP) QoS marking in the generated synthetic packets. + + Value - DiffServ Class + 0 - BE (default) + 10 - AF11 + 12 - AF12 + 14 - AF13 + 18 - AF21 + 20 - AF22 + 22 - AF23 + 26 - AF31 + 28 - AF32 + 30 - AF33 + 34 - AF41 + 36 - AF42 + 38 - AF43 + 8 - CS1 + 16 - CS2 + 24 - CS3 + 32 - CS4 + 40 - CS5 + 48 - CS6 + 56 - CS7 + 46 - EF"; + reference + "RFC 2474, RFC 2780"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.57"; + } + + leaf rttMonEchoAdminReserveDsp { + type enumeration { + enum "be" { + value "1"; + } + enum "gs" { + value "2"; + } + enum "na" { + value "3"; + } + } + description + "This object represents the video traffic generation source. + + be : best effort using DSP but without reservation + gs : guaranteed service using DSP with reservation + na : not applicable for not using DSP"; + smiv2:defval "na"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.58"; + } + + leaf rttMonEchoAdminInputInterface { + type if-mib:InterfaceIndexOrZero; + description + "This object represents the network input interface on the + sender router where the synthetic packets are received from the + emulated endpoint source. This is used for path congruence with + correct feature processing at the sender router. + + The user can get the InterfaceIndex number from ifIndex object + by looking up in ifTable. In fact, it should be useful to first + get the entry by the augmented table ifXTable which has ifName + object which matches the interface name used on the router or + switch equipment console."; + smiv2:defval "94638811959696"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.59"; + } + + leaf rttMonEchoAdminEmulateSourceAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "This object specifies the IP address of the emulated source + from which the synthetic packets would be generated. If this + object is not specified, the emulated source IP address will by + default be the same as rttMonEchoAdminSourceAddress. This object + is applicable to video probes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.60"; + } + + leaf rttMonEchoAdminEmulateSourcePort { + type int32 { + range "0..65536"; + } + description + "This object represents the port number of the emulated source + from which the synthetic packets would be generated. If this + object is not specified, the emulated source port number will by + default be the same as rttMonEchoAdminSourcePort. This object is + applicable to video probes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.61"; + } + + leaf rttMonEchoAdminEmulateTargetAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "This object specifies the IP address of the emulated target by + which the synthetic packets would be received. If this object is + not specified, the emulated target IP address will by default be + the same as rttMonEchoAdminTargetAddress. This object is + applicable to video probes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.62"; + } + + leaf rttMonEchoAdminEmulateTargetPort { + type int32 { + range "0..65536"; + } + description + "This object represents the port number of the emulated target + by which the synthetic packets would be received. If this object + is not specified, the emulated target port number will by + default be the same as rttMonEchoAdminTargetPort. This object is + applicable to video probes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.63"; + } + + leaf rttMonEchoAdminTargetMacAddress { + type yang:mac-address; + description + "This object indicates the MAC address of the target device. + This object is only applicable for Y.1731 operations. + rttMonEchoAdminTargetMacAddress and rttMonEchoAdminTargetMPID + may not be used in conjunction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.64"; + } + + leaf rttMonEchoAdminSourceMacAddress { + type yang:mac-address; + description + "This object indicates the MAC address of the source device. + This object is only applicable for Y.1731 operations. + rttMonEchoAdminSourceMacAddress and rttMonEchoAdminSourceMPID + may not be used in conjunction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.65"; + } + + leaf rttMonEchoAdminSourceMPID { + type cisco-ether:CfmMepid; + description + "This object indicates the source maintenance point ID. It is + only applicable to Y.1731 operation. It will be set to zero for + other types of opearations. rttMonEchoAdminSourceMPID and + rttMonEchoAdminSourceMacAddress may not be used in conjunction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.66"; + } + + leaf rttMonEchoAdminEndPointListName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "This object specifies the name of endpoint list which a probe + uses to generate operations."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.67"; + } + + leaf rttMonEchoAdminSSM { + type boolean; + description + "This object specifies if Source Specific Multicast is to be + added. This object is applicable to multicast probe only."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.68"; + } + + leaf rttMonEchoAdminControlRetry { + type uint32 { + range "1..5"; + } + description + "This object specifies the maximum number of retries for control message."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.69"; + } + + leaf rttMonEchoAdminControlTimeout { + type uint32 { + range "1..10000"; + } + units "milliseconds"; + description + "This object specifies the wait duration before control message + timeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.70"; + } + + leaf rttMonEchoAdminIgmpTreeInit { + type uint32 { + range "0..10"; + } + description + "This object specifies number of packets to be sent for + multicast tree setup. This object is applicable to multicast + probe only."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.71"; + } + + leaf rttMonEchoAdminEnableBurst { + type boolean; + description + "This object indicates that packets will be sent in burst."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.72"; + } + + leaf rttMonEchoAdminAggBurstCycles { + type int32; + description + "This object indicates the number of burst cycles to be sent + during the aggregate interval. This value is currently used + for Y1731 SLM(Synthetic Loss Measurment) probe. + This object is applicable to Y1731 SLM probe only."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.73"; + } + + leaf rttMonEchoAdminLossRatioNumFrames { + type int32; + description + "This object indicates the number of frames over which to + calculate the frame loss ratio. This object is applicable + to Y1731 SLM probe only."; + smiv2:defval "10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.74"; + } + + leaf rttMonEchoAdminAvailNumFrames { + type int32; + description + "This object indicates the number of frames over which to + calculate the availability. This object is applicable to + Y1731 SLM probe only."; + smiv2:defval "10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.75"; + } + + leaf rttMonEchoAdminTstampOptimization { + type boolean; + description + "This object specifies whether timestamp optimization is + enabled. + + When the value is 'true' then timestamp optimization is + enabled. The probe will utilize lower layer (Hardware/Packet + Processor) timestamping values to improve accuracy of + statistics. + + This value can be set only for udp jitter operation with + precision of microsecond."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.2.1.76"; + } + } + } + + container rttMonFileIOAdminTable { + status obsolete; + description + "A table of Round Trip Time (RTT) monitoring 'fileIO' + specific definitions. + + When the RttMonRttType is not 'fileIO' this table is + not valid. + + This table is controlled via the + rttMonCtrlAdminTable. Entries in this table are + created via the rttMonCtrlAdminStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.3"; + + list rttMonFileIOAdminEntry { + key "rttMonCtrlAdminIndex"; + status obsolete; + description + "A list of objects that define specific configuration for + 'fileIO' RttMonRttType conceptual Rtt control rows."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.3.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonFileIOAdminFilePath { + type snmpv2-tc:DisplayString; + status obsolete; + description + "The fully qualified file path that will be the target + of the RTT operation. + + This value must match one of the rttMonApplPreConfigedName + entries."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.3.1.1"; + } + + leaf rttMonFileIOAdminSize { + type enumeration { + enum "n256" { + value "1"; + } + enum "n1k" { + value "2"; + } + enum "n64k" { + value "3"; + } + enum "n128k" { + value "4"; + } + enum "n256k" { + value "5"; + } + } + units "bytes"; + status obsolete; + description + "The size of the file to write/read from the File + Server."; + smiv2:defval "n256"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.3.1.2"; + } + + leaf rttMonFileIOAdminAction { + type enumeration { + enum "write" { + value "1"; + } + enum "read" { + value "2"; + } + enum "writeRead" { + value "3"; + } + } + status obsolete; + description + "The File I/O action to be performed."; + smiv2:defval "read"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.3.1.3"; + } + } + } + + container rttMonScriptAdminTable { + status obsolete; + description + "A table of Round Trip Time (RTT) monitoring 'script' + specific definitions. + + When the RttMonRttType is not 'script' this table is + not valid. + + This table is controlled via the + rttMonCtrlAdminTable. Entries in this table are + created via the rttMonCtrlAdminStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.4"; + + list rttMonScriptAdminEntry { + key "rttMonCtrlAdminIndex"; + status obsolete; + description + "A list of objects that define specific configuration for + 'script' RttMonRttType conceptual Rtt control rows."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.4.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonScriptAdminName { + type snmpv2-tc:DisplayString; + status obsolete; + description + "This will be the Name of the Script that will be used to + generate RTT operations. + + This object must match one of the + rttMonApplPreConfigedName entries."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.4.1.1"; + } + + leaf rttMonScriptAdminCmdLineParams { + type snmpv2-tc:DisplayString; + status obsolete; + description + "This will be the actual command line parameters + passed to the rttMonScriptAdminName when being + executed."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.4.1.2"; + } + } + } + + container rttMonReactTriggerAdminTable { + description + "A table of which contains the list of conceptual RTT + control rows that will start to collect data when a + reaction condition is violated and when + rttMonReactAdminActionType is set to one of the + following: + - triggerOnly + - trapAndTrigger + - nmvtAndTrigger + - trapNmvtAndTrigger + or when a reaction condition is violated and when any of the + row in rttMonReactTable has rttMonReactActionType as one of + the following: + - triggerOnly + - trapAndTrigger + + The goal of this table is to define one or more + additional conceptual RTT control rows that will become + active and start to collect additional history and + statistics (depending on the rows configuration values), + when a problem has been detected. + + If the conceptual RTT control row is undefined, and a + trigger occurs, no action will take place. + + If the conceptual RTT control row is scheduled to start + at a later time, triggering that row will have no effect. + + If the conceptual RTT control row is currently active, + triggering that row will have no effect on that row, but + the rttMonReactTriggerOperState object will transition to + 'active'. + + An entry in this table can only be triggered when + it is not currently in a triggered state. The + object rttMonReactTriggerOperState will + reflect the state of each entry in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.11"; + + list rttMonReactTriggerAdminEntry { + key "rttMonCtrlAdminIndex rttMonReactTriggerAdminRttMonCtrlAdminIndex"; + description + "A list of objects that will be triggered when + a reaction condition is violated."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.11.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactTriggerAdminRttMonCtrlAdminIndex { + type int32 { + range "1..2147483647"; + } + description + "This object points to a single conceptual Rtt control + row. If this row does not exist and this value is + triggered no action will result. + + The conceptual Rtt control row will be triggered for the + rttMonCtrlOperRttLife length. If this conceptual Rtt + control row is already active, rttMonCtrlOperRttLife will + not be updated, and its life will continue as previously + defined."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.11.1.1"; + } + + leaf rttMonReactTriggerAdminStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create Trigger entries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.11.1.2"; + } + } + } + + container rttMonEchoPathAdminTable { + description + "A table to store the hop addresses in a Loose Source Routing + path. Response times are computed along the specified path + using ping. + + This maximum table size is limited by the size of the + maximum number of hop addresses that can fit in an IP header, + which is 8. The object rttMonEchoPathAdminEntry will reflect + this tables maximum number of entries. + + This table is coupled with rttMonCtrlAdminStatus."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.13"; + + list rttMonEchoPathAdminEntry { + key "rttMonCtrlAdminIndex rttMonEchoPathAdminHopIndex"; + description + "A list of objects that define intermediate hop's IP Address. + + This entry can be added only if the rttMonCtrlAdminRttType is + 'echo'. The entry gets deleted when the corresponding RTR entry, + which has an index of rttMonCtrlAdminIndex, is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.13.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonEchoPathAdminHopIndex { + type int32 { + range "1..8"; + } + description + "Uniquely identifies a row in the rttMonEchoPathAdminTable. + This number represents the hop address number in a specific + ping path. All the indicies should start from 1 and must be + contiguous ie., entries should be + (say rttMonCtrlAdminIndex = 1) + 1.1, 1.2, 1.3, they cannot be 1.1, 1.2, 1.4"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.13.1.1"; + } + + leaf rttMonEchoPathAdminHopAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "A string which specifies the address of an intermediate hop's + IP Address for a RTT 'echo' operation"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.13.1.2"; + } + } + } + + container rttMonGrpScheduleAdminTable { + description + "A table of Round Trip Time (RTT) monitoring group scheduling + specific definitions. + This table is used to create a conceptual group scheduling + control row. The entries in this control row contain objects + used to define group schedule configuration parameters. + + The objects of this table will be used to schedule a group of + probes identified by the conceptual rows of the + rttMonCtrlAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14"; + + list rttMonGrpScheduleAdminEntry { + key "rttMonGrpScheduleAdminIndex"; + description + "A list of objects that define a conceptual group scheduling + control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1"; + + leaf rttMonGrpScheduleAdminIndex { + type int32 { + range "1..2147483647"; + } + description + "Uniquely identifies a row in the + rttMonGrpScheduleAdminTable. + + This is a pseudo-random number selected by the management + station when creating a row via the + rttMonGrpScheduleAdminStatus object. If the pseudo-random + number is already in use an 'inconsistentValue' return code + will be returned when set operation is attempted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.1"; + } + + leaf rttMonGrpScheduleAdminProbes { + type snmpv2-tc:DisplayString { + length "0..200"; + } + description + "A string which holds the different probes which are to be + group scheduled. The probes can be specified in the following + forms. + (a) Individual ID's with comma separated as 23,45,34. + (b) Range form including hyphens with multiple ranges being + separated by a comma as 1-10,12-34. + (c) Mix of the above two forms as 1,2,4-10,12,15,19-25. + + Any whitespace in the string is considered an error. Duplicates + and overlapping ranges as an example 1,2,3,2-10 are considered + fine. For a single range like 1-20 the upper value (in this + example 20) must be greater than lower value (1), otherwise it's + treated as an error. The agent will not normalize the list e.g., + it will not change 1,2,1-10 or even 1,2,3,4,5,6.. to 1-10."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.2"; + } + + leaf rttMonGrpScheduleAdminPeriod { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the time duration over which all the probes have to + be scheduled."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.3"; + } + + leaf rttMonGrpScheduleAdminFrequency { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the duration between initiating each RTT + operation for all the probes specified in the group. + + The value of this object is only effective when both + rttMonGrpScheduleAdminFreqMax and rttMonGrpScheduleAdminFreqMin + have zero values."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.4"; + } + + leaf rttMonGrpScheduleAdminLife { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "This object specifies the life of all the probes included in + the object rttMonGrpScheduleAdminProbes, that are getting group + scheduled. This value will be placed into + rttMonScheduleAdminRttLife object for each of the probes listed + in rttMonGrpScheduleAdminProbes when this conceptual control + row becomes 'active'. + + The value 2147483647 has a special meaning. When this object is + set to 2147483647, the rttMonCtrlOperRttLife object for all the + probes listed in rttMonGrpScheduleAdminProbes, will not + decrement. And thus the life time of the probes will never end."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.5"; + } + + leaf rttMonGrpScheduleAdminAgeout { + type int32 { + range "0..2073600"; + } + units "seconds"; + description + "This object specifies the ageout value of all the probes + included in the object rttMonGrpScheduleAdminProbes, that are + getting group scheduled. This value will be placed into + rttMonScheduleAdminConceptRowAgeout object for each of the + probes listed in rttMonGrpScheduleAdminProbes when this + conceptual control row becomes 'active'. + + When this value is set to zero, the probes listed in + rttMonGrpScheduleAdminProbes, will never ageout."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.6"; + } + + leaf rttMonGrpScheduleAdminStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual RTT group schedule control row. + + In order for this object to become active, the following + row objects must be defined: + - rttMonGrpScheduleAdminProbes + - rttMonGrpScheduleAdminPeriod + All other objects can assume default values. + + The conceptual RTT group schedule control row objects cannot be + modified once this conceptual RTT group schedule control row + has been created. + Once this object is in 'active' status, it cannot be set to + 'notInService'. + When this object moves to 'active' state it will schedule the + probes of the rttMonCtrlAdminTable which had been created using + 'createAndWait'. + + This object can be set to 'destroy' from any value at any time. + When this object is set to 'destroy' it will stop all the probes + of the rttMonCtrlAdminTable, which had been group scheduled + by it earlier, before destroying the RTT group schedule + control row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.7"; + } + + leaf rttMonGrpScheduleAdminFreqMax { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the max duration between initiating each RTT + operation for all the probes specified in the group. + + If this is 0 and rttMonGrpScheduleAdminFreqMin is also 0 + then rttMonGrpScheduleAdminFrequency becomes the fixed + frequency."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.8"; + } + + leaf rttMonGrpScheduleAdminFreqMin { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "Specifies the min duration between initiating each RTT + operation for all the probes specified in the group. + + The value of this object cannot be greater than the value of + rttMonGrpScheduleAdminFreqMax. + + If this is 0 and rttMonGrpScheduleAdminFreqMax is 0 then + rttMonGrpScheduleAdminFrequency becomes the fixed frequency."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.9"; + } + + leaf rttMonGrpScheduleAdminStartTime { + type int32 { + range "0..604800"; + } + units "seconds"; + description + "This is the time in seconds after which the member probes of + this group specified in rttMonGrpScheduleAdminProbes will + transition to active state"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.10"; + } + + leaf rttMonGrpScheduleAdminAdd { + type boolean; + description + "Addition of members to an existing group will be allowed + if this object is set to TRUE (1). The members, IDs of + which are mentioned in rttMonGrpScheduleAdminProbes object + are added to the existing group"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.11"; + } + + leaf rttMonGrpScheduleAdminDelete { + type boolean; + description + "Removal of members from an existing group will be allowed + if this object is set to TRUE (1). The members, IDs of + which are mentioned in rttMonGrpScheduleAdminProbes object + are removed from the existing group"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.12"; + } + + leaf rttMonGrpScheduleAdminReset { + type boolean; + description + "When this is set to true then all members + of this group will be stopped and rescheduled using the + previously set values of this group."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.14.1.13"; + } + } + } + + container rttMplsVpnMonCtrlTable { + description + "A table of Auto SAA L3 MPLS VPN definitions. + + The Auto SAA L3 MPLS VPN administration control is in multiple + tables. + + This first table, is used to create a conceptual Auto SAA L3 + MPLS VPN control row. The following tables contain objects + which used in type specific configurations, scheduling and + reaction configurations. All of these tables will create the + same conceptual control row as this table using this table's + index as their own index. + + In order to a row in this table to become active the following + objects must be defined. + rttMplsVpnMonCtrlRttType, + rttMplsVpnMonCtrlVrfName and + rttMplsVpnMonSchedulePeriod."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15"; + + list rttMplsVpnMonCtrlEntry { + key "rttMplsVpnMonCtrlIndex"; + description + "A base list of objects that define a conceptual Auto SAA L3 + MPLS VPN control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1"; + + leaf rttMplsVpnMonCtrlIndex { + type int32 { + range "1..2147483647"; + } + description + "Uniquely identifies a row in the rttMplsVpnMonCtrlTable. + + This is a pseudo-random number selected by the management + station when creating a row via the + rttMplsVpnMonCtrlStatus object. + + If the pseudo-random number is already in use an + 'inconsistentValue' return code will be returned when set + operation is attempted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.1"; + } + + leaf rttMplsVpnMonCtrlRttType { + type cisco-rttmon:RttMplsVpnMonRttType; + description + "The type of RTT operation to be performed for Auto SAA L3 + MPLS VPN. + + This value must be set in the same PDU of + rttMplsVpnMonCtrlStatus. + + This value must be set before setting + any other parameter configuration of an Auto SAA L3 MPLS VPN."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.2"; + } + + leaf rttMplsVpnMonCtrlVrfName { + type binary { + length "0..32"; + } + description + "This field is used to specify the VPN name for which + the Auto SAA L3 MPLS VPN RTT operation will be used. + + This value must be set in the same PDU of + rttMplsVpnMonCtrlStatus. + + The Auto SAA L3 MPLS VPN will find the PEs participating in + this VPN and configure RTT operation corresponding to value + specified in rttMplsVpnMonCtrlRttType. + + If the VPN corresponds to the value configured for this object + doesn't exist 'inconsistentValue' error will be returned. + + The value 'saa-vrf-all' has a special meaning. When this + object is set to 'saa-vrf-all', all the VPNs in the PE will be + discovered and Auto SAA L3 MPLS VPN will configure RTT + operations corresponding to all these PEs with the value + specified in rttMplsVpnMonCtrlRttType as type for those + operations. + + So, the user should avoid using this string for a particular + VPN name when using this feature in order to avoid ambiguity."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.3"; + } + + leaf rttMplsVpnMonCtrlTag { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "A string which is used by a managing application to + identify the RTT target. + + This string will be configured as rttMonCtrlAdminTag for all + the operations configured by this Auto SAA L3 MPLS VPN. + + The usage of this value in Auto SAA L3 MPLS VPN is same as + rttMonCtrlAdminTag in RTT operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.4"; + } + + leaf rttMplsVpnMonCtrlThreshold { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "This object defines an administrative threshold limit. + + This value will be configured as rttMonCtrlAdminThreshold for + all the operations that will be configured by the current + Auto SAA L3 MPLS VPN. + + The usage of this value in Auto SAA L3 MPLS VPN is same as + rttMonCtrlAdminThreshold."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.5"; + } + + leaf rttMplsVpnMonCtrlTimeout { + type int32 { + range "0..604800000"; + } + units "milliseconds"; + description + "Specifies the duration to wait for a RTT operation configured + automatically by the Auto SAA L3 MPLS VPN to complete. + + The value of this object cannot be set to a value which would + specify a duration exceeding rttMplsVpnMonScheduleFrequency. + + The usage of this value in Auto SAA L3 MPLS VPN is similar to + rttMonCtrlAdminTimeout."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.6"; + } + + leaf rttMplsVpnMonCtrlScanInterval { + type int32 { + range "1..70560"; + } + units "minutes"; + description + "Specifies the frequency at which the automatic PE addition + should take place if there is any for an Auto SAA L3 MPLS VPN. + + New RTT operations corresponding to the new PEs discovered will + be created and scheduled. + + The default value for this object is 4 hours. The maximum value + supported is 49 days."; + smiv2:defval "240"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.7"; + } + + leaf rttMplsVpnMonCtrlDelScanFactor { + type int32 { + range "0..2147483647"; + } + description + "Specifies the frequency at which the automatic PE deletion + should take place. + + This object specifies the number of times of + rttMonMplslmCtrlScanInterval (rttMplsVpnMonCtrlDelScanFactor * + rttMplsVpnMonCtrlScanInterval) to wait before removing the PEs. + This object doesn't directly specify the explicit value to + wait before removing the PEs that were down. + + If this object set 0 the entries will never removed."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.8"; + } + + leaf rttMplsVpnMonCtrlEXP { + type int32 { + range "0..7"; + } + description + "This object represents the EXP value that needs to be + put as precedence bit of an IP header."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.9"; + } + + leaf rttMplsVpnMonCtrlRequestSize { + type int32 { + range "0..16384"; + } + units "octets"; + description + "This object represents the native payload size that needs to + be put on the packet. + + This value will be configured as + rttMonEchoAdminPktDataRequestSize for all the RTT operations + configured by the current Auto SAA L3 MPLS VPN. + + The minimum request size for jitter probe is 16. The maximum + for jitter probe is 1500. The default request size is 32 for + jitter probe. + + For echo and pathEcho default request size is 28. + The minimum request size for echo and pathEcho is 28 bytes."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.10"; + } + + leaf rttMplsVpnMonCtrlVerifyData { + type boolean; + description + "When set to true, the resulting data in each RTT operation + created by the current Auto SAA L3 MPLS VPN is compared with + the expected data. This includes checking header information + (if possible) and exact packet size. Any mismatch will be + recorded in the rttMonStatsCollectVerifyErrors object of each + RTT operation created by the current Auto SAA L3 MPLS VPN."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.11"; + } + + leaf rttMplsVpnMonCtrlStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row. When set to + 'nonVolatile', this entry will be shown in 'show running' + command and can be saved into Non-volatile memory. + + By Default the entry will not be saved into Non-volatile + memory. + + This object can be set to either 'volatile' or 'nonVolatile'. + Other values are not applicable for this conceptual row and + are not supported."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.12"; + } + + leaf rttMplsVpnMonCtrlProbeList { + type snmpv2-tc:DisplayString; + description + "This object holds the list of probes ID's that are created by + the Auto SAA L3 MPLS VPN. + + The probes will be specified in the following form. + (a) Individual ID's with comma separated as 1,5,3. + (b) Range form including hyphens with multiple ranges being + separated by comma as 1-10,12-34. + (c) Mix of the above two forms as 1,2,4-10,12,15,19-25."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.13"; + } + + leaf rttMplsVpnMonCtrlStatus { + type snmpv2-tc:RowStatus; + description + "The status of the conceptual Auto SAA L3 MPLS VPN control row. + + In order for this object to become active + rttMplsVpnMonCtrlRttType, rttMplsVpnMonCtrlVrfName and + rttMplsVpnMonSchedulePeriod objects must be defined. + All other objects can assume default values. + + If the object is set to 'createAndGo' rttMplsVpnMonCtrlRttType, + rttMplsVpnMonCtrlVrfName and rttMplsVpnMonSchedulePeriod needs + to be set along with rttMplsVpnMonCtrlStatus. + + If the object is set to 'createAndWait' rttMplsVpnMonCtrlRttType + and rttMplsVpnMonCtrlVrfName needs to be set along with + rttMplsVpnMonCtrlStatus. rttMplsVpnMonSchedulePeriod needs to be + specified before setting rttMplsVpnMonCtrlStatus to 'active'. + + The following objects cannot be modified after creating the + Auto SAA L3 MPLS VPN conceptual row. + + - rttMplsVpnMonCtrlRttType + - rttMplsVpnMonCtrlVrfName + + The following objects can be modified even after creating the + Auto SAA L3 MPLS VPN conceptual row by setting this object to + 'notInService' + + - All other writable objects in rttMplsVpnMonCtrlTable except + rttMplsVpnMonCtrlRttType and rttMplsVpnMonCtrlVrfName. + - Objects in the rttMplsVpnMonTypeTable. + - Objects in the rttMplsVpnMonScheduleTable. + + The following objects can be modified as needed without setting + this object to 'notInService' even after creating the + Auto SAA L3 MPLS VPN conceptual row. + + - Objects in rttMplsVpnMonReactTable. + + This object can be set to 'destroy' from any value + at any time. When this object is set to 'destroy' it will stop + and destroy all the probes created by this Auto SAA L3 MPLS VPN + before destroying Auto SAA L3 MPLS VPN control row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.14"; + } + + leaf rttMplsVpnMonCtrlLpd { + type boolean; + description + "When set to true, this implies that LPD (LSP Path Discovery) + is enabled for this row. + + The Auto SAA L3 MPLS VPN will find all the paths to each of the + PE's and configure RTT operation with rttMonCtrlAdminRttType + value as 'lspGroup'. The 'lspGroup' probe will walk through + the list of set of information that uniquely identifies a path + and send the LSP echo requests across them. All these LSP echo + requests sent for 1st path, 2nd path etc. can be thought of as + 'single probes' sent as a part of 'lspGroup'. These single + probes will of type 'rttMplsVpnMonCtrlRttType'. + + 'lspGroup' probe is a superset of individual probes that will + test multiple paths. For example Suppose there are 10 paths to + the target. One 'lspGroup' probe will be created which will + store all the information related to uniquely identify the 10 + paths. When the 'lspGroup' probe will run it will sweep through + the set of information for 1st path, 2nd path, 3rd path and so + on till it has tested all the paths."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.15"; + } + + leaf rttMplsVpnMonCtrlLpdGrpList { + type snmpv2-tc:DisplayString; + description + "This object holds the list of LPD Group IDs that are created + for this Auto SAA L3 MPLS VPN row. + + This object will be applicable only when LSP Path Discovery is + enabled for this row. + + The LPD Groups will be specified in the following form. + (a) Individual ID's with comma separated as 1,5,3. + (b) Range form including hyphens with multiple ranges being + separated by comma as 1-10,12-34. + (c) Mix of the above two forms as 1,2,4-10,12,15,19-25."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.16"; + } + + leaf rttMplsVpnMonCtrlLpdCompTime { + type int32 { + range "1..65535"; + } + units "minutes"; + description + "The completion time of the LSP Path Discovery for the entire + set of PEs which are discovered for this Auto SAA. + + This object will be applicable only when LSP Path Discovery is + enabled for this row."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.15.1.17"; + } + } + } + + container rttMonReactTable { + description + "A table that contains the reaction configurations. Each + conceptual row in rttMonReactTable corresponds to a reaction + configured for the probe defined in rttMonCtrlAdminTable. + + For each reaction configured for a probe there is an entry in + the table. + + Each Probe can have multiple reactions and hence there can be + multiple rows for a particular probe. + + This table is coupled with rttMonCtrlAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19"; + + list rttMonReactEntry { + key "rttMonCtrlAdminIndex rttMonReactConfigIndex"; + description + "A base list of objects that define a conceptual reaction + configuration control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type int32 { + range "1..2147483647"; + } + description + "This object along with rttMonCtrlAdminIndex identifies + a particular reaction-configuration for a particular probe. + This is a pseudo-random number selected by the management + station when creating a row via the rttMonReactStatus. + If the pseudo-random number is already in use an + 'inconsistentValue' return code will be returned when + set operation is attempted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.1"; + } + + leaf rttMonReactVar { + type cisco-rttmon:RttMonReactVar; + description + "This object specifies the type of reaction configured for a + probe. + + The reaction types 'rtt', 'timeout', and 'connectionLoss' + can be configured for all probe types. + + The reaction type 'verifyError' can be configured for all + probe types except RTP probe type. + + The reaction types 'jitterSDAvg', 'jitterDSAvg', 'jitterAvg', + 'packetLateArrival', 'packetOutOfSequence', + 'maxOfPositiveSD', 'maxOfNegativeSD', 'maxOfPositiveDS' + and 'maxOfNegativeDS' can be configured for UDP jitter + and ICMP jitter probe types only. + + The reaction types 'mos' and 'icpif' can be configured + for UDP jitter and ICMP jitter probe types only. + + The reaction types 'packetLossDS', 'packetLossSD' and + 'packetMIA' can be configured for UDP jitter, and + RTP probe types only. + + The reaction types 'iaJitterDS', 'frameLossDS', 'mosLQDS', + 'mosCQDS', 'rFactorDS', 'iaJitterSD', 'rFactorSD', 'mosCQSD' + can be configured for RTP probe type only. + + The reaction types 'successivePacketLoss', 'maxOfLatencyDS', + 'maxOfLatencySD', 'latencyDSAvg', 'latencySDAvg' and + 'packetLoss' can be configured for ICMP jitter probe + type only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.2"; + } + + leaf rttMonReactThresholdType { + type enumeration { + enum "never" { + value "1"; + } + enum "immediate" { + value "2"; + } + enum "consecutive" { + value "3"; + } + enum "xOfy" { + value "4"; + } + enum "average" { + value "5"; + } + } + description + "This object specifies the conditions under which + the notification ( trap ) is sent. + + never - rttMonReactOccurred is never set + + immediate - rttMonReactOccurred is set to 'true' when the + value of parameter for which reaction is + configured ( e.g rtt, jitterAvg, packetLossSD, + mos etc ) violates the threshold. + Conversely, rttMonReactOccurred is set to 'false' + when the parameter ( e.g rtt, jitterAvg, + packetLossSD, mos etc ) is below the threshold + limits. + + consecutive - rttMonReactOccurred is set to true when the value + of parameter for which reaction is configured + ( e.g rtt, jitterAvg, packetLossSD, mos etc ) + violates the threshold for configured consecutive + times. + Conversely, rttMonReactOccurred is set to false + when the value of parameter ( e.g rtt, jitterAvg + packetLossSD, mos etc ) is below the threshold + limits for the same number of consecutive + operations. + + xOfy - rttMonReactOccurred is set to true when x + ( as specified by rttMonReactThresholdCountX ) + out of the last y ( as specified by + rttMonReacthresholdCountY ) times the value of + parameter for which the reaction is configured + ( e.g rtt, jitterAvg, packetLossSD, mos etc ) + violates the threshold. + Conversely, it is set to false when x, out of the + last y times the value of parameter + ( e.g rtt, jitterAvg, packetLossSD, mos ) is + below the threshold limits. + NOTE: When x > y, the probe will never + generate a reaction. + + average - rttMonReactOccurred is set to true when the + average ( rttMonReactThresholdCountX times ) + value of parameter for which reaction is + configured ( e.g rtt, jitterAvg, packetLossSD, + mos etc ) violates the threshold condition. + Conversely, it is set to false when the + average value of parameter ( e.g rtt, jitterAvg, + packetLossSD, mos etc ) is below the threshold + limits. + + If this value is changed by a management station, + rttMonReactOccurred is set to false, but + no reaction is generated if the prior value of + rttMonReactOccurred was true."; + smiv2:defval "never"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.3"; + } + + leaf rttMonReactActionType { + type enumeration { + enum "none" { + value "1"; + } + enum "trapOnly" { + value "2"; + } + enum "triggerOnly" { + value "3"; + } + enum "trapAndTrigger" { + value "4"; + } + } + description + "Specifies what type(s), if any, of reaction(s) to + generate if an operation violates one of the watched + ( reaction-configuration ) conditions: + + none - no reaction is generated + trapOnly - a trap is generated + triggerOnly - all trigger actions defined for this + entry are initiated + trapAndTrigger - both a trap and all trigger actions + are initiated + A trigger action is defined via the + rttMonReactTriggerAdminTable."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.4"; + } + + leaf rttMonReactThresholdRising { + type int32 { + range "0..2147483647"; + } + description + "This object defines the higher threshold limit. + If the value ( e.g rtt, jitterAvg, packetLossSD etc ) rises + above this limit and if the condition specified in + rttMonReactThresholdType are satisfied, a trap is generated. + + Default value of rttMonReactThresholdRising for + 'rtt' is 5000 + 'jitterAvg' is 100. + 'jitterSDAvg' is 100. + 'jitterDSAvg' 100. + 'packetLossSD' is 10000. + 'packetLossDS' is 10000. + 'mos' is 500. + 'icpif' is 93. + 'packetMIA' is 10000. + 'packetLateArrival' is 10000. + 'packetOutOfSequence' is 10000. + 'maxOfPositiveSD' is 10000. + 'maxOfNegativeSD' is 10000. + 'maxOfPositiveDS' is 10000. + 'maxOfNegativeDS' is 10000. + 'iaJitterDS' is 20. + 'frameLossDS' is 10000. + 'mosLQDS' is 400. + 'mosCQDS' is 400. + 'rFactorDS' is 80. + 'successivePacketLoss' is 1000. + 'maxOfLatencyDS' is 5000. + 'maxOfLatencySD' is 5000. + 'latencyDSAvg' is 5000. + 'latencySDAvg' is 5000. + 'packetLoss' is 10000. + + This object is not applicable if the rttMonReactVar is + 'timeout', 'connectionLoss' or 'verifyError'. For 'timeout', + 'connectionLoss' and 'verifyError' default value of + rttMonReactThresholdRising will be 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.5"; + } + + leaf rttMonReactThresholdFalling { + type int32 { + range "0..2147483647"; + } + description + "This object defines a lower threshold limit. If the + value ( e.g rtt, jitterAvg, packetLossSD etc ) falls + below this limit and if the conditions specified in + rttMonReactThresholdType are satisfied, a trap is generated. + + Default value of rttMonReactThresholdFalling + 'rtt' is 3000 + 'jitterAvg' is 100. + 'jitterSDAvg' is 100. + 'jitterDSAvg' 100. + 'packetLossSD' is 10000. + 'packetLossDS' is 10000. + 'mos' is 500. + 'icpif' is 93. + 'packetMIA' is 10000. + 'packetLateArrival' is 10000. + 'packetOutOfSequence' is 10000. + 'maxOfPositiveSD' is 10000. + 'maxOfNegativeSD' is 10000. + 'maxOfPositiveDS' is 10000. + 'maxOfNegativeDS' is 10000. + 'iaJitterDS' is 20. + 'frameLossDS' is 10000. + 'mosLQDS' is 310. + 'mosCQDS' is 310. + 'rFactorDS' is 60. + 'successivePacketLoss' is 1000. + 'maxOfLatencyDS' is 3000. + 'maxOfLatencySD' is 3000. + 'latencyDSAvg' is 3000. + 'latencySDAvg' is 3000. + 'packetLoss' is 10000. + 'iaJitterSD' is 20. + 'mosCQSD' is 310. + 'rFactorSD' is 60. + + This object is not applicable if the rttMonReactVar is + 'timeout', 'connectionLoss' or 'verifyError'. For 'timeout', + 'connectionLoss' and 'verifyError' default value of + rttMonReactThresholdFalling will be 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.6"; + } + + leaf rttMonReactThresholdCountX { + type int32 { + range "1..16"; + } + description + "If rttMonReactThresholdType value is 'xOfy', this object + defines the 'x' value. + + If rttMonReactThresholdType value is 'consecutive' + this object defines the number of consecutive occurrences + that needs threshold violation before setting + rttMonReactOccurred as true. + + If rttMonReactThresholdType value is 'average' this object + defines the number of samples that needs be considered for + calculating average. + + This object has no meaning if rttMonReactThresholdType has + value of 'never' and 'immediate'."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.7"; + } + + leaf rttMonReactThresholdCountY { + type int32 { + range "1..16"; + } + description + "This object defines the 'y' value of the xOfy condition + if rttMonReactThresholdType is 'xOfy'. + + For other values of rttMonReactThresholdType, this object + is not applicable."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.8"; + } + + leaf rttMonReactValue { + type int32 { + range "0..2147483647"; + } + description + "This object will be set when the configured threshold condition + is violated as defined by rttMonReactThresholdType and holds the + actual value that violated the configured threshold values. + + This object is not valid for the following values of + rttMonReactVar and It will be always 0: + - timeout + - connectionLoss + - verifyError."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.9"; + } + + leaf rttMonReactOccurred { + type boolean; + description + "This object is set to true when the configured threshold + condition is violated as defined by rttMonReactThresholdType. + It will be again set to 'false' if the condition reverses. + + This object is set to true in the following conditions: + - rttMonReactVar is set to timeout and + rttMonCtrlOperTimeoutOccurred set to true. + - rttMonReactVar is set to connectionLoss and + rttMonCtrlOperConnectionLostOccurred set to true. + - rttMonReactVar is set to verifyError and + rttMonCtrlOperVerifyErrorOccurred is set to true. + - For all other values of rttMonReactVar, if the + corresponding value exceeds the configured + rttMonReactThresholdRising. + + This object is set to false in the following conditions: + - rttMonReactVar is set to timeout and + rttMonCtrlOperTimeoutOccurred set to false. + - rttMonReactVar is set to connectionLoss and + rttMonCtrlOperConnectionLostOccurred set to false. + - rttMonReactVar is set to verifyError and + rttMonCtrlOperVerifyErrorOccurred is set to false. + - For all other values of rttMonReactVar, if the + corresponding value fall below the configured + rttMonReactThresholdFalling. + + When the RttMonRttType is 'pathEcho' or 'pathJitter', + this object is applied only to the + rttMonEchoAdminTargetAddress and not to intermediate + hops to the Target."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.10"; + } + + leaf rttMonReactStatus { + type snmpv2-tc:RowStatus; + description + "This objects indicates the status of the conceptual RTT + Reaction Control Row.Only CreateAndGo and destroy + operations are permitted on the row. + + When this object moves to active state, the conceptual row + having the Reaction configuration for the probe is monitored + and the notifications are generated when the threshold violation + takes place. + + In order for this object to become active rttMonReactVar must + be defined. All other objects assume the default value. + + This object can be set to 'destroy' from any value at any time. + When this object is set to 'destroy' no reaction configuration + for the probes would exist. The reaction configuration for the + probe is removed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.19.1.11"; + } + } + } + + container rttMonGeneratedOperTable { + description + "This table contains information about the generated + operation id as part of a parent IP SLA operation. The parent + operation id is pseudo-random number, selected by the management + station based on an operation started by the management + station,when creating a row via the rttMonCtrlAdminStatus + object in the rttMonCtrlAdminTable table."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.20"; + + list rttMonGeneratedOperEntry { + key "rttMonCtrlAdminIndex rttMonGeneratedOperRespIpAddrType rttMonGeneratedOperRespIpAddr"; + description + "An entry in the Generated Oper table corresponding to + a child or generated operation as part of a parent + IP SLA operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.20.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonGeneratedOperRespIpAddrType { + type inet-address:InetAddressType; + description + "The type of Internet address, IPv4 or IPv6, of a responder + for an IP SLA operation."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.20.1.1"; + } + + leaf rttMonGeneratedOperRespIpAddr { + type inet-address:InetAddress; + description + "The internet address of a responder for IP SLA + operation. The type of this address is determined + by the value of rttMonGeneratedOperRespIpAddrType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.20.1.2"; + } + + leaf rttMonGeneratedOperCtrlAdminIndex { + type uint32 { + range "1..2147483647"; + } + description + "This is a pseudo-random number, auto-generated based + to identify a child operation based on a parent + operation started by the management station,when + creating a row via the rttMonCtrlAdminStatus + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.20.1.3"; + } + } + } + + container rttMonStatsCaptureTable { + description + "The statistics capture database. + + The statistics capture table contains summarized + information of the results for a conceptual RTT control + row. A rolling accumulated history of this information + is maintained in a series of hourly 'group(s)'. Each + 'group' contains a series of 'path(s)', each 'path' + contains a series of 'hop(s)', each 'hop' contains a + series of 'statistics distribution bucket(s)'. + + Each conceptual statistics row has a current hourly + group, into which RTT results are accumulated. At the + end of each hour a new hourly group is created which + then becomes current. The counters and accumulators in + the new group are initialized to zero. The previous + group(s) is kept in the table until the table contains + rttMonStatisticsAdminNumHourGroups groups for the + conceptual statistics row; at this point, the oldest + group is discarded and is replaced by the newly created + one. The hourly group is uniquely identified by the + rttMonStatsCaptureStartTimeIndex object. + + If the activity for a conceptual RTT control row ceases + because the rttMonCtrlOperState object transitions to + 'inactive', the corresponding current hourly group in + this table is 'frozen', and a new hourly group is + created when activity is resumed. + + If the activity for a conceptual RTT control row ceases + because the rttMonCtrlOperState object transitions to + 'pending' this whole table will be cleared and reset to + its initial state. + + When the RttMonRttType is 'pathEcho', the path + exploration RTT requests' statistics will not be + accumulated in this table. + + NOTE: When the RttMonRttType is 'pathEcho', a source to + target rttMonStatsCapturePathIndex path will be + created for each rttMonStatsCaptureStartTimeIndex + to hold all errors that occur when a specific path + had not been found or connection has not be setup. + + Using this rttMonStatsCaptureTable, a managing + application can retrieve summarized data from accurately + measured periods, which is synchronized across multiple + conceptual RTT control rows. With the new hourly group + creation being performed on a 60 minute period, the + managing station has plenty of time to collect the data, + and need not be concerned with the vagaries of network + delays and lost PDU's when trying to get matching data. + Also, the managing station can spread the data gathering + over a longer period, which removes the need for a flood + of get requests in a short period which otherwise would + occur."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1"; + + list rttMonStatsCaptureEntry { + key "rttMonCtrlAdminIndex rttMonStatsCaptureStartTimeIndex rttMonStatsCapturePathIndex rttMonStatsCaptureHopIndex rttMonStatsCaptureDistIndex"; + description + "A list of objects which accumulate the results of a + series of RTT operations over a 60 minute time period. + + The statistics capture table is a rollover table. When + rttMonStatsCaptureStartTimeIndex groups exceeds the + rttMonStatisticsAdminNumHourGroups value, the oldest + corresponding hourly group will be deleted and will be + replaced with the new rttMonStatsCaptureStartTimeIndex + hourly group. + + All other indices will fill to there maximum size. + + The statistics capture table has five indices. Each + described as follows: + + - The first index correlates its entries to a + conceptual RTT control row via the + rttMonCtrlAdminIndex object. + - The second index is a rollover group and it + uniquely identifies a 60 minute group. (The + rttMonStatsCaptureStartTimeIndex object + is used to make this value unique.) + - When the RttMonRttType is 'pathEcho', the third + index uniquely identifies the paths in a + statistics period. (The period is 60 + minutes.) A path will be created for each + unique path through the network. Note: A + path that does not contain the target is + considered a different path than one which + uses the exact same path, but does contain the + target. For all other values of RttMonRttType + this index will be one. + - When the RttMonRttType is 'pathEcho', the fourth + index uniquely identifies the hops in each path, + as grouped by the third index. This index does + imply the order of the hops along the path to a + target. For all other values of RttMonRttType + this index will be one. + - The fifth index uniquely creates a statistical + distribution bucket."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonStatsCaptureStartTimeIndex { + type yang:timestamp; + description + "The time when this row was created. + + This object is the second index of the + rttMonStatsCaptureTable Table. + + The the number of rttMonStatsCaptureStartTimeIndex + groups exceeds the rttMonStatisticsAdminNumHourGroups + value, the oldest rttMonStatsCaptureStartTimeIndex + group will be removed and replaced with the new entry. + + When the RttMonRttType is 'pathEcho', this object also + uniquely defines a group of paths. See the + rttMonStatsCaptureEntry object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.1"; + } + + leaf rttMonStatsCapturePathIndex { + type int32 { + range "1..128"; + } + description + "When the RttMonRttType is 'pathEcho', this object + uniquely defines a path for a given value of + rttMonStatsCaptureStartTimeIndex. For all other values + of RttMonRttType, this object will be one. + + For a particular value of + rttMonStatsCaptureStartTimeIndex, the agent assigns the + first instance of a path a value of 1, then second + instance a value of 2, and so on. The sequence keeps + incrementing until the number of paths equals + rttMonStatisticsAdminNumPaths value, then no new paths + are kept for the current rttMonStatsCaptureStartTimeIndex + group. + + NOTE: A source to target rttMonStatsCapturePathIndex + path will be created for each + rttMonStatsCaptureStartTimeIndex to hold all + errors that occur when a specific path or + connection has not be setup. + + This value directly represents the path to + a target. We can only support 128 paths."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.2"; + } + + leaf rttMonStatsCaptureHopIndex { + type int32 { + range "1..30"; + } + description + "When the RttMonRttType is 'pathEcho', this object + uniquely defines a hop for a given value of + rttMonStatsCapturePathIndex. For all other values of + RttMonRttType, this object will be one. + + For a particular value of rttMonStatsCapturePathIndex, + the agent assigns the first instance of a hop + a value of 1, then second instance a value of 2, and so + on. The sequence keeps incrementing until the number of + hops equals rttMonStatisticsAdminNumHops value, then + no new hops are kept for the current + rttMonStatsCapturePathIndex. + + This value directly represents a hop along the path to + a target, thus we can only support 30 hops. + + This value shows the order along the path to a target."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.3"; + } + + leaf rttMonStatsCaptureDistIndex { + type int32 { + range "1..20"; + } + description + "This object uniquely defines a statistical distribution + bucket for a given value of rttMonStatsCaptureHopIndex. + + For a particular value of rttMonStatsCaptureHopIndex, + the agent assigns the first instance of a distribution + a value of 1, then second instance a value of 2, and so + on. The sequence keeps incrementing until the number of + statistics distribution intervals equals + rttMonStatisticsAdminNumDistBuckets value, then + all values that fall above the last interval will + be placed into the last interval. + + Each of these Statistics Distribution Buckets contain + the results of each completion as defined by + rttMonStatisticsAdminDistInterval object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.4"; + } + + leaf rttMonStatsCaptureCompletions { + type int32 { + range "0..2147483647"; + } + description + "The number of RTT operations that have completed without + an error and without timing out. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.5"; + } + + leaf rttMonStatsCaptureOverThresholds { + type int32 { + range "0..2147483647"; + } + description + "The number of RTT operations successfully completed, but + in excess of rttMonCtrlAdminThreshold. This number is a + subset of the accumulation of all + rttMonStatsCaptureCompletions. The operation time + of these completed operations will be accumulated. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.6"; + } + + leaf rttMonStatsCaptureSumCompletionTime { + type yang:gauge32; + units "milliseconds"; + description + "The accumulated completion time of RTT operations which + complete successfully."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.7"; + } + + leaf rttMonStatsCaptureSumCompletionTime2Low { + type yang:gauge32; + description + "The low order 32 bits of the accumulated squares + of completion times (in milliseconds) of RTT + operations which complete successfully. + + Low/High order is defined where the binary number + will look as follows: + ------------------------------------------------- + | High order 32 bits | Low order 32 bits | + ------------------------------------------------- + For example the number 4294967296 would have all + Low order bits as '0' and the rightmost High + order bit will be 1 (zeros,1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.8"; + } + + leaf rttMonStatsCaptureSumCompletionTime2High { + type yang:gauge32; + description + "The high order 32 bits of the accumulated squares + of completion times (in milliseconds) of RTT + operations which complete successfully. + + See the rttMonStatsCaptureSumCompletionTime2Low object + for a definition of Low/High Order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.9"; + } + + leaf rttMonStatsCaptureCompletionTimeMax { + type yang:gauge32; + units "milliseconds"; + description + "The maximum completion time of any RTT operation which + completes successfully."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.10"; + } + + leaf rttMonStatsCaptureCompletionTimeMin { + type yang:gauge32; + units "milliseconds"; + description + "The minimum completion time of any RTT operation which + completes successfully."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.1.1.11"; + } + } + } + + container rttMonStatsCollectTable { + description + "The statistics collection database. + + This table has the exact same behavior as the + rttMonStatsCaptureTable, except it does not keep + statistical distribution information. + + For a complete table description see + the rttMonStatsCaptureTable object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2"; + + list rttMonStatsCollectEntry { + key "rttMonCtrlAdminIndex rttMonStatsCaptureStartTimeIndex rttMonStatsCapturePathIndex rttMonStatsCaptureHopIndex"; + description + "A list of objects which accumulate the results of a + series of RTT operations over a 60 minute time period. + + This entry has the exact same behavior as the + rttMonStatsCaptureEntry, except it does not keep + statistical distribution information. + + For a complete entry description see + the rttMonStatsCaptureEntry object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonStatsCaptureStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonStatsCaptureTable/CISCO-RTTMON-MIB:rttMonStatsCaptureEntry/CISCO-RTTMON-MIB:rttMonStatsCaptureStartTimeIndex"; + } + } + + leaf rttMonStatsCapturePathIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonStatsCaptureTable/CISCO-RTTMON-MIB:rttMonStatsCaptureEntry/CISCO-RTTMON-MIB:rttMonStatsCapturePathIndex"; + } + } + + leaf rttMonStatsCaptureHopIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonStatsCaptureTable/CISCO-RTTMON-MIB:rttMonStatsCaptureEntry/CISCO-RTTMON-MIB:rttMonStatsCaptureHopIndex"; + } + } + + leaf rttMonStatsCollectNumDisconnects { + type int32 { + range "0..2147483647"; + } + description + "When the RttMonRttType is 'echo' or pathEcho', this + object represents the number of times that the target or + hop along the path to a target became disconnected. For + all other values of RttMonRttType, this object will + remain zero. + + For connectionless protocols this has no meaning, + and will consequently remain 0. When + rttMonEchoAdminProtocol is one of snaRUEcho, this is + the number of times that an LU-SSCP session was lost, + for snaLU0EchoAppl, snaLU2EchoAppl, snaLu62Echo, and for + snaLU62EchoAppl, this is the number of times that LU-LU + session was lost. + + Since this error does not indicate any information about + the failure of an RTT operation, no response time + information for this instance will be recorded in the + appropriate objects. + + If this error occurs and the rttMonStatsCapturePathIndex + cannot be determined, this error will be accumulated in + the source to target path, that will always exist. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.1"; + } + + leaf rttMonStatsCollectTimeouts { + type int32 { + range "0..2147483647"; + } + description + "The number of occasions when a RTT operation was not + completed before a timeout occurred, i.e. + rttMonCtrlAdminTimeout was exceeded. + + Since the RTT operation was never completed, the + completion time of these operations are not accumulated, + nor do they increment rttMonStatsCaptureCompletions (in + any of the statistics distribution buckets). + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.2"; + } + + leaf rttMonStatsCollectBusies { + type int32 { + range "0..2147483647"; + } + description + "The number of occasions when a RTT operation could not + be initiated because a previous RTT operation has not + been completed. + + When the RttMonRttType is 'pathEcho' this can occur for + both connection oriented protocols and connectionless + protocols. + + When the RttMonRttType is 'echo' this can only occur for + connection oriented protocols such as SNA. + + When the initiation of a new operation cannot be started, + this object will be incremented and the operation will be + omitted. (The next operation will start at the next + Frequency). Since, a RTT operation was never initiated, + the completion time of these operations is not + accumulated, nor do they increment + rttMonStatsCaptureCompletions. + + When the RttMonRttType is 'pathEcho', and this error + occurs and the rttMonStatsCapturePathIndex cannot be + determined, this error will be accumulated in the source + to target path, that will always exist. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.3"; + } + + leaf rttMonStatsCollectNoConnections { + type int32 { + range "0..2147483647"; + } + description + "When the RttMonRttType is 'echo' or 'pathEcho' this is + the number of occasions when a RTT operation could not be + initiated because the connection to the target has not + been established. For all other RttMonRttTypes this + object will remain zero. + + This cannot occur for connectionless protocols, but may + occur for connection oriented protocols, such as SNA. + + Since a RTT operation was never initiated, the completion + time of these operations are not accumulated, nor do they + increment rttMonStatsCaptureCompletions. + + If this error occurs and the rttMonStatsCapturePathIndex + cannot be determined, this error will be accumulated + in the source to target path, that will always exist. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.4"; + } + + leaf rttMonStatsCollectDrops { + type int32 { + range "0..2147483647"; + } + description + "The number of occasions when a RTT operation could not + be initiated because some necessary internal resource + (for example memory, or SNA subsystem) was not available, + or the operation completion could not be recognized. + + Since a RTT operation was never initiated or was not + recognized, the completion time of these operations + are not accumulated, nor do they increment + rttMonStatsCaptureCompletions (in the expected + Distribution Bucket). + + When the RttMonRttType is 'pathEcho', and this error + occurs and the rttMonStatsCapturePathIndex cannot be + determined, this error will be accumulated in the + source to target path, that will always exist. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.5"; + } + + leaf rttMonStatsCollectSequenceErrors { + type int32 { + range "0..2147483647"; + } + description + "When the RttMonRttType is 'echo' of 'pathEcho' this is + the number of RTT operation completions received with + an unexpected sequence identifier. For all other values + of RttMonRttType this object will remain zero. + + When this has occurred some of the possible reasons may + be: + - a duplicate packet was received + - a response was received after it had timed-out + - a corrupted packet was received and was not detected + + The completion time of these operations are not + accumulated, nor do they increment + rttMonStatsCaptureCompletions (in the expected + Distribution Bucket). + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.6"; + } + + leaf rttMonStatsCollectVerifyErrors { + type int32 { + range "0..2147483647"; + } + description + "The number of RTT operation completions received with + data that does not compare with the expected data. The + completion time of these operations are not accumulated, + nor do they increment rttMonStatsCaptureCompletions (in + the expected Distribution Bucket). + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.7"; + } + + leaf rttMonStatsCollectAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "This object only applies when the RttMonRttType is + 'echo', 'pathEcho', 'dlsw', 'udpEcho', 'tcpConnect'. + For all other values of the RttMonRttType, this will be + null. + + The object is a string which specifies the address of + the target for the this RTT operation. + + This address will be the address of the hop along the + path to the rttMonEchoAdminTargetAddress address, + including rttMonEchoAdminTargetAddress address, or just + the rttMonEchoAdminTargetAddress address, when the + path information is not collected. This behavior is + defined by the rttMonCtrlAdminRttType object. + + The interpretation of this string depends on the type + of RTT operation selected, as specified by the + rttMonEchoAdminProtocol object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.8"; + } + + leaf rttMonControlEnableErrors { + type int32 { + range "0..2147483647"; + } + status deprecated; + description + "The number of occasions when control enable request failed. + Currently it is used for multicast operation type. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object. + rttMonControlEnableErrors object is superseded by + rttMonStatsCollectCtrlEnErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.9"; + } + + leaf rttMonStatsRetrieveErrors { + type int32 { + range "0..2147483647"; + } + status deprecated; + description + "The number of occasions when stats retrieval request failed. + Currently it is used for multicast operation type. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object. + rttMonStatsRetrieveErrors object is superseded by + rttMonStatsCollectRetrieveErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.10"; + } + + leaf rttMonStatsCollectCtrlEnErrors { + type int32 { + range "0..2147483647"; + } + description + "The object is same as rttMonControlEnableErrors, + with corrected name for consistency. + + The number of occasions when control enable request failed. + Currently it is used for multicast operation type. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.11"; + } + + leaf rttMonStatsCollectRetrieveErrors { + type int32 { + range "0..2147483647"; + } + description + "The object is same as rttMonStatsRetrieveErrors, + with corrected name for consistency. + + The number of occasions when stats retrieval request failed. + Currently it is used for multicast operation type. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.2.1.12"; + } + } + } + + container rttMonStatsTotalsTable { + description + "The statistics totals database. + + This table has the exact same behavior as the + rttMonStatsCaptureTable, except it only keeps + 60 minute group values. + + For a complete table description see + the rttMonStatsCaptureTable object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.3"; + + list rttMonStatsTotalsEntry { + key "rttMonCtrlAdminIndex rttMonStatsCaptureStartTimeIndex"; + description + "A list of objects which accumulate the results of a + series of RTT operations over a 60 minute time period. + + This entry has the exact same behavior as the + rttMonStatsCaptureEntry, except it only keeps + 60 minute group values. + + For a complete entry description see + the rttMonStatsCaptureEntry object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.3.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonStatsCaptureStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonStatsCaptureTable/CISCO-RTTMON-MIB:rttMonStatsCaptureEntry/CISCO-RTTMON-MIB:rttMonStatsCaptureStartTimeIndex"; + } + } + + leaf rttMonStatsTotalsElapsedTime { + type snmpv2-tc:TimeInterval; + description + "The length of time since this conceptual statistics row + was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.3.1.1"; + } + + leaf rttMonStatsTotalsInitiations { + type int32 { + range "0..2147483647"; + } + description + "The number of RTT operations that have been initiated. + + This number includes all RTT operations which succeed + or fail for whatever reason. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.3.1.2"; + } + } + } + + container rttMonHTTPStatsTable { + description + "The HTTP statistics collection database. + + The HTTP statistics table contains summarized information of + the results for a conceptual RTT control row. A rolling + accumulated history of this information is maintained in a + series of hourly 'group(s)'. + + The operation of this table is same as that of + rttMonStatsCaptureTable, except that this table can only + store a maximum of 2 hours of data."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4"; + + list rttMonHTTPStatsEntry { + key "rttMonCtrlAdminIndex rttMonHTTPStatsStartTimeIndex"; + description + "A list of objects which accumulate the results of a + series of RTT operations over a 60 minute time period. + + This entry is created only if the rttMonCtrlAdminRttType + is http. The operation of this table is same as that of + rttMonStatsCaptureTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHTTPStatsStartTimeIndex { + type yang:timestamp; + description + "This is the time when this row was created. This index + uniquely identifies a HTTP Stats row in the + rttMonHTTPStatsTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.1"; + } + + leaf rttMonHTTPStatsCompletions { + type yang:counter32; + description + "The number of HTTP operations that have completed + successfully."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.2"; + } + + leaf rttMonHTTPStatsOverThresholds { + type yang:counter32; + description + "The number of HTTP operations that violate threshold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.3"; + } + + leaf rttMonHTTPStatsRTTSum { + type yang:counter32; + description + "The sum of HTTP operations that are successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.4"; + } + + leaf rttMonHTTPStatsRTTSum2Low { + type yang:counter32; + description + "The sum of squares of the RTT's that are successfully + measured (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.5"; + } + + leaf rttMonHTTPStatsRTTSum2High { + type yang:counter32; + description + "The sum of squares of the RTT's that are successfully + measured (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.6"; + } + + leaf rttMonHTTPStatsRTTMin { + type yang:gauge32; + description + "The minimum RTT taken to perform HTTP operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.7"; + } + + leaf rttMonHTTPStatsRTTMax { + type yang:gauge32; + units "milliseconds"; + description + "The maximum RTT taken to perform HTTP operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.8"; + } + + leaf rttMonHTTPStatsDNSRTTSum { + type yang:counter32; + description + "The sum of RTT taken to perform DNS query within the + HTTP operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.9"; + } + + leaf rttMonHTTPStatsTCPConnectRTTSum { + type yang:counter32; + description + "The sum of RTT taken to connect to the HTTP server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.10"; + } + + leaf rttMonHTTPStatsTransactionRTTSum { + type yang:counter32; + description + "The sum of RTT taken to download the object specified by URL."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.11"; + } + + leaf rttMonHTTPStatsMessageBodyOctetsSum { + type yang:counter32; + description + "The sum of the size of the message body received as a + response to the HTTP request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.12"; + } + + leaf rttMonHTTPStatsDNSServerTimeout { + type yang:counter32; + description + "The number of requests that could not connect to the + DNS Server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.13"; + } + + leaf rttMonHTTPStatsTCPConnectTimeout { + type yang:counter32; + description + "The number of requests that could not connect to the + the HTTP Server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.14"; + } + + leaf rttMonHTTPStatsTransactionTimeout { + type yang:counter32; + description + "The number of requests that timed out during HTTP + transaction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.15"; + } + + leaf rttMonHTTPStatsDNSQueryError { + type yang:counter32; + description + "The number of requests that had DNS Query errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.16"; + } + + leaf rttMonHTTPStatsHTTPError { + type yang:counter32; + description + "The number of requests that had HTTP errors while + downloading the base page."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.17"; + } + + leaf rttMonHTTPStatsError { + type yang:counter32; + description + "The number of occasions when a HTTP operation could not + be initiated because an internal error"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.18"; + } + + leaf rttMonHTTPStatsBusies { + type yang:counter32; + description + "The number of occasions when an HTTP operation could not + be initiated because a previous HTTP operation has not + been completed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.4.1.19"; + } + } + } + + container rttMonJitterStatsTable { + description + "The Jitter statistics collection database. + + The Jitter statistics table contains summarized information of + the results for a conceptual RTT control row. A rolling + accumulated history of this information is maintained in a + series of hourly 'group(s)'. + + The operation of this table is same as that of + rttMonStatsCaptureTable, except that this table will store + 2 hours of data."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5"; + + list rttMonJitterStatsEntry { + key "rttMonCtrlAdminIndex rttMonJitterStatsStartTimeIndex"; + description + "A list of objects which accumulate the results of a + series of RTT operations over a 60 minute time period. + + This entry is created only if the rttMonCtrlAdminRttType + is jitter. The operation of this table is same as that of + rttMonStatsCaptureTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonJitterStatsStartTimeIndex { + type yang:timestamp; + description + "The time when this row was created."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.1"; + } + + leaf rttMonJitterStatsCompletions { + type yang:counter32; + description + "The number of jitter operation that have completed + successfully."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.2"; + } + + leaf rttMonJitterStatsOverThresholds { + type yang:counter32; + description + "The number of jitter operations that violate threshold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.3"; + } + + leaf rttMonJitterStatsNumOfRTT { + type yang:counter32; + description + "The number of RTT's that are successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.4"; + } + + leaf rttMonJitterStatsRTTSum { + type yang:counter32; + description + "The sum of RTT's that are successfully measured (low order 32 + bits). The high order 32 bits are stored in + rttMonJitterStatsRTTSumHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.5"; + } + + leaf rttMonJitterStatsRTTSum2Low { + type yang:counter32; + description + "The sum of squares of RTT's that are successfully measured + (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.6"; + } + + leaf rttMonJitterStatsRTTSum2High { + type yang:counter32; + description + "The sum of squares of RTT's that are successfully measured + (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.7"; + } + + leaf rttMonJitterStatsRTTMin { + type yang:gauge32; + description + "The minimum of RTT's that were successfully measured"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.8"; + } + + leaf rttMonJitterStatsRTTMax { + type yang:gauge32; + description + "The maximum of RTT's that were successfully measured"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.9"; + } + + leaf rttMonJitterStatsMinOfPositivesSD { + type yang:gauge32; + description + "The minimum of absolute values of all positive jitter values + from packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.10"; + } + + leaf rttMonJitterStatsMaxOfPositivesSD { + type yang:gauge32; + description + "The maximum of absolute values of all positive jitter values + from packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.11"; + } + + leaf rttMonJitterStatsNumOfPositivesSD { + type yang:counter32; + description + "The sum of number of all positive jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.12"; + } + + leaf rttMonJitterStatsSumOfPositivesSD { + type yang:counter32; + description + "The sum of all positive jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.13"; + } + + leaf rttMonJitterStatsSum2PositivesSDLow { + type yang:counter32; + description + "The sum of square of RTT's of all positive jitter values from + packets sent from source to destination (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.14"; + } + + leaf rttMonJitterStatsSum2PositivesSDHigh { + type yang:counter32; + description + "The sum of square of RTT's of all positive jitter values from + packets sent from source to destination (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.15"; + } + + leaf rttMonJitterStatsMinOfNegativesSD { + type yang:gauge32; + description + "The minimum of all negative jitter values from packets sent + from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.16"; + } + + leaf rttMonJitterStatsMaxOfNegativesSD { + type yang:gauge32; + description + "The maximum of all negative jitter values from packets sent + from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.17"; + } + + leaf rttMonJitterStatsNumOfNegativesSD { + type yang:counter32; + description + "The sum of number of all negative jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.18"; + } + + leaf rttMonJitterStatsSumOfNegativesSD { + type yang:counter32; + description + "The sum of RTT's of all negative jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.19"; + } + + leaf rttMonJitterStatsSum2NegativesSDLow { + type yang:counter32; + description + "The sum of square of RTT's of all negative jitter values from + packets sent from source to destination (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.20"; + } + + leaf rttMonJitterStatsSum2NegativesSDHigh { + type yang:counter32; + description + "The sum of square of RTT's of all negative jitter values from + packets sent from source to destination (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.21"; + } + + leaf rttMonJitterStatsMinOfPositivesDS { + type yang:gauge32; + description + "The minimum of all positive jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.22"; + } + + leaf rttMonJitterStatsMaxOfPositivesDS { + type yang:gauge32; + description + "The maximum of all positive jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.23"; + } + + leaf rttMonJitterStatsNumOfPositivesDS { + type yang:counter32; + description + "The sum of number of all positive jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.24"; + } + + leaf rttMonJitterStatsSumOfPositivesDS { + type yang:counter32; + description + "The sum of RTT's of all positive jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.25"; + } + + leaf rttMonJitterStatsSum2PositivesDSLow { + type yang:counter32; + description + "The sum of squares of RTT's of all positive jitter values from + packets sent from destination to source (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.26"; + } + + leaf rttMonJitterStatsSum2PositivesDSHigh { + type yang:counter32; + description + "The sum of squares of RTT's of all positive jitter values from + packets sent from destination to source (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.27"; + } + + leaf rttMonJitterStatsMinOfNegativesDS { + type yang:gauge32; + description + "The minimum of all negative jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.28"; + } + + leaf rttMonJitterStatsMaxOfNegativesDS { + type yang:gauge32; + description + "The maximum of all negative jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.29"; + } + + leaf rttMonJitterStatsNumOfNegativesDS { + type yang:counter32; + description + "The sum of number of all negative jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.30"; + } + + leaf rttMonJitterStatsSumOfNegativesDS { + type yang:counter32; + description + "The sum of RTT's of all negative jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.31"; + } + + leaf rttMonJitterStatsSum2NegativesDSLow { + type yang:counter32; + description + "The sum of squares of RTT's of all negative jitter values from + packets sent from destination to source (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.32"; + } + + leaf rttMonJitterStatsSum2NegativesDSHigh { + type yang:counter32; + description + "The sum of squares of RTT's of all negative jitter values from + packets sent from destination to source (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.33"; + } + + leaf rttMonJitterStatsPacketLossSD { + type yang:counter32; + description + "The number of packets lost when sent from source to + destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.34"; + } + + leaf rttMonJitterStatsPacketLossDS { + type yang:counter32; + description + "The number of packets lost when sent from destination to + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.35"; + } + + leaf rttMonJitterStatsPacketOutOfSequence { + type yang:counter32; + description + "The number of packets arrived out of sequence."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.36"; + } + + leaf rttMonJitterStatsPacketMIA { + type yang:counter32; + description + "The number of packets that are lost for which we cannot + determine the direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.37"; + } + + leaf rttMonJitterStatsPacketLateArrival { + type yang:counter32; + description + "The number of packets that arrived after the timeout."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.38"; + } + + leaf rttMonJitterStatsError { + type yang:counter32; + description + "The number of occasions when a jitter operation could not + be initiated because an internal error"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.39"; + } + + leaf rttMonJitterStatsBusies { + type yang:counter32; + description + "The number of occasions when a jitter operation could not + be initiated because a previous jitter operation has not + been completed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.40"; + } + + leaf rttMonJitterStatsOWSumSD { + type yang:counter32; + description + "The sum of one way times from source to destination (low order + 32 bits). The high order 32 bits are stored in + rttMonJitterStatsOWSumSDHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.41"; + } + + leaf rttMonJitterStatsOWSum2SDLow { + type yang:counter32; + description + "The sum of squares of one way times from source to destination + (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.42"; + } + + leaf rttMonJitterStatsOWSum2SDHigh { + type yang:counter32; + description + "The sum of squares of one way times from source to destination + (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.43"; + } + + leaf rttMonJitterStatsOWMinSD { + type yang:counter32; + status deprecated; + description + "The minimum of all one way times from source to destination. + rttMonJitterStatsOWMinSD object is superseded by + rttMonJitterStatsOWMinSDNew."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.44"; + } + + leaf rttMonJitterStatsOWMaxSD { + type yang:counter32; + status deprecated; + description + "The maximum of all one way times from source to destination. + rttMonJitterStatsOWMaxSD object is superseded by + rttMonJitterStatsOWMaxSDNew."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.45"; + } + + leaf rttMonJitterStatsOWSumDS { + type yang:counter32; + description + "The sum of one way times from destination to source (low order + 32 bits). The high order 32 bits are stored in + rttMonJitterStatsOWSumDSHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.46"; + } + + leaf rttMonJitterStatsOWSum2DSLow { + type yang:counter32; + description + "The sum of squares of one way times from destination to source + (low order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.47"; + } + + leaf rttMonJitterStatsOWSum2DSHigh { + type yang:counter32; + description + "The sum of squares of one way times from destination to source + (high order 32 bits)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.48"; + } + + leaf rttMonJitterStatsOWMinDS { + type yang:counter32; + status deprecated; + description + "The minimum of all one way times from destination to source. + rttMonJitterStatsOWMinDS object is superseded by + rttMonJitterStatsOWMinDSNew."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.49"; + } + + leaf rttMonJitterStatsOWMaxDS { + type yang:counter32; + status deprecated; + description + "The maximum of all one way times from destination to source. + rttMonJitterStatsOWMaxDS object is superseded by + rttMonJitterStatsOWMaxDSNew."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.50"; + } + + leaf rttMonJitterStatsNumOfOW { + type yang:counter32; + description + "The number of one way times that are successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.51"; + } + + leaf rttMonJitterStatsOWMinSDNew { + type yang:gauge32; + description + "The minimum of all one way times from source to destination. + Replaces deprecated rttMonJitterStatsOWMinSD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.52"; + } + + leaf rttMonJitterStatsOWMaxSDNew { + type yang:gauge32; + description + "The maximum of all one way times from source to destination. + Replaces deprecated rttMonJitterStatsOWMaxSD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.53"; + } + + leaf rttMonJitterStatsOWMinDSNew { + type yang:gauge32; + description + "The minimum of all one way times from destination to source. + Replaces deprecated rttMonJitterStatsOWMinDS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.54"; + } + + leaf rttMonJitterStatsOWMaxDSNew { + type yang:gauge32; + description + "The maximum of all one way times from destination to source. + Replaces deprecated rttMonJitterStatsOWMaxDS"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.55"; + } + + leaf rttMonJitterStatsMinOfMOS { + type yang:gauge32 { + range "0|100..500"; + } + description + "The minimum of all MOS values for the jitter operations + in hundreds. + This value will be 0 if + - rttMonEchoAdminCodecType of the operation is notApplicable + - the operation is not started + - the operation is started but failed + This value will be 1 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.56"; + } + + leaf rttMonJitterStatsMaxOfMOS { + type yang:gauge32 { + range "0|100..500"; + } + description + "The maximum of all MOS values for the jitter operations + in hunderds. + This value will be 0 if + - rttMonEchoAdminCodecType of the operation is notApplicable + - the operation is not started + - the operation is started but failed + This value will be 1 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.57"; + } + + leaf rttMonJitterStatsMinOfICPIF { + type yang:gauge32; + description + "The minimum of all ICPIF values for the jitter operations. + + This value will be 93 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.58"; + } + + leaf rttMonJitterStatsMaxOfICPIF { + type yang:gauge32; + description + "The maximum of all ICPIF values for the jitter operations. + + This value will be 93 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.59"; + } + + leaf rttMonJitterStatsIAJOut { + type yang:gauge32; + description + "Interarrival Jitter (RFC 1889) at responder"; + reference + "Refer to the following documents for the definition: RFC 1889"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.60"; + } + + leaf rttMonJitterStatsIAJIn { + type yang:gauge32; + description + "Interarrival Jitter (RFC 1889) at sender"; + reference + "Refer to the following documents for the definition: RFC 1889"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.61"; + } + + leaf rttMonJitterStatsAvgJitter { + type yang:gauge32; + description + "The average of positive and negative jitter + values for SD and DS direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.62"; + } + + leaf rttMonJitterStatsAvgJitterSD { + type yang:gauge32; + description + "The average of positive and negative jitter + values in SD direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.63"; + } + + leaf rttMonJitterStatsAvgJitterDS { + type yang:gauge32; + description + "The average of positive and negative jitter + values in DS direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.64"; + } + + leaf rttMonJitterStatsUnSyncRTs { + type yang:counter32; + description + "The number of RTT operations that have completed with + sender and responder out of sync with NTP. The NTP sync means + the total of NTP offset on sender and responder is within + configured tolerance level."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.65"; + } + + leaf rttMonJitterStatsRTTSumHigh { + type yang:counter32; + description + "The sum of RTT's that are successfully measured + (high order 32 bits). The low order 32 bits are + stored in rttMonJitterStatsRTTSum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.66"; + } + + leaf rttMonJitterStatsOWSumSDHigh { + type yang:counter32; + description + "The sum of one way times from source to destination + (high order 32 bits). The low order 32 bits are + stored in rttMonJitterStatsOWSumSD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.67"; + } + + leaf rttMonJitterStatsOWSumDSHigh { + type yang:counter32; + description + "The sum of one way times from destination to source + (high order 32 bits). The low order 32 bits are stored + in rttMonJitterStatsOWSumDS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.5.1.68"; + } + } + } + + container rttMonLpdGrpStatsTable { + description + "The Auto SAA L3 MPLS VPN LPD Group Database. + + The LPD Group statistics table contains summarized performance + statistics for the LPD group. + + LPD Group - The set of 'single probes' which are subset of the + 'lspGroup' probe traversing set of paths between two PE end + points are grouped together and called as the LPD group. The + LPD group will be uniquely referenced by the LPD Group ID. + + A rolling accumulated history of this information is maintained + in a series of hourly 'group(s)'. + + Each conceptual statistics row has a current hourly group, into + which RTT results are accumulated. At the end of each hour a new + hourly group is created which then becomes current. The + counters and accumulators in the new group are initialized to + zero. The previous group(s) is kept in the table until the table + contains rttMplsVpnMonTypeLpdStatHours groups for the + conceptual statistics row; at this point, the oldest group is + discarded and is replaced by the newly created one. The hourly + group is uniquely identified by the + rttMonLpdGrpStatsStartTimeIndex object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7"; + + list rttMonLpdGrpStatsEntry { + key "rttMonLpdGrpStatsGroupIndex rttMonLpdGrpStatsStartTimeIndex"; + description + "A list of objects which accumulate the results of a set of RTT + operations over a 60 minute time period. + + The LPD group statistics table is a rollover table. When + rttMonLpdGrpStatsStartTimeIndex groups exceeds the + rttMplsVpnMonTypeLpdStatHours value, the oldest corresponding + hourly group will be deleted and will be replaced with the new + rttMonLpdGrpStatsStartTimeIndex hourly group. + + The LPD group statistics table has two indices. Each described + as follows: + + - The first index correlates its entries to a LPD group via the + rttMonLpdGrpStatsGroupIndex object. + - The second index is a rollover group and it uniquely + identifies a 60 minute group. (The + rttMonLpdGrpStatsStartTimeIndex is used to make this value + unique.)"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1"; + + leaf rttMonLpdGrpStatsGroupIndex { + type int32 { + range "1..2147483647"; + } + description + "Uniquely identifies a row in rttMonLpdGrpStatsTable. + + This is a pseudo-random number which identifies a particular + LPD group."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.1"; + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type yang:timestamp; + description + "The time when this row was created. + + This object is the second index of the rttMonLpdGrpStatsTable. + When the number of rttMonLpdGrpStatsStartTimeIndex groups + exceeds the rttMplsVpnMonTypeLpdStatHours value, the oldest + rttMonLpdGrpStatsStartTimeIndex group will be removed and + replaced with the new entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.2"; + } + + leaf rttMonLpdGrpStatsTargetPE { + type cisco-rttmon:RttMonTargetAddress; + description + "The object is a string that specifies the address of the + target PE for this LPD group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.3"; + } + + leaf rttMonLpdGrpStatsNumOfPass { + type int32 { + range "0..2147483647"; + } + units "passes"; + description + "This object represents the number of successfull completions + of 'single probes' for all the set of paths in the LPD group. + + Whenever the rttMonLatestRttOperSense value is 'ok' for a + particular probe in the LPD Group this object will be + incremented. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.4"; + } + + leaf rttMonLpdGrpStatsNumOfFail { + type int32 { + range "0..2147483647"; + } + units "failures"; + description + "This object represents the number of failed operations of + 'single probes' for all the set of paths in the LPD group. + + Whenever the rttMonLatestRttOperSense has a value other than + 'ok' or 'timeout' for a particular probe in the LPD Group this + object will be incremented. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.5"; + } + + leaf rttMonLpdGrpStatsNumOfTimeout { + type int32 { + range "0..2147483647"; + } + units "timeouts"; + description + "This object represents the number of timed out operations of + 'single probes' for all the set of paths in the LPD group. + + Whenever the rttMonLatestRttOperSense has a value of 'timeout' + for a particular probe in the LPD Group this object will be + incremented. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.6"; + } + + leaf rttMonLpdGrpStatsAvgRTT { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "The average RTT across all set of probes in the LPD group. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.7"; + } + + leaf rttMonLpdGrpStatsMinRTT { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "The minimum of RTT's for all set of probes in the LPD group + that were successfully measured. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.8"; + } + + leaf rttMonLpdGrpStatsMaxRTT { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "The maximum of RTT's for all set of probes in the LPD group + that were successfully measured. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.9"; + } + + leaf rttMonLpdGrpStatsMinNumPaths { + type int32 { + range "0..2147483647"; + } + units "paths"; + description + "The minimum number of active paths discovered to the + rttMonLpdGrpStatsTargetPE target. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.10"; + } + + leaf rttMonLpdGrpStatsMaxNumPaths { + type int32 { + range "0..2147483647"; + } + units "paths"; + description + "The maximum number of active paths discovered to the + rttMonLpdGrpStatsTargetPE target. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.11"; + } + + leaf rttMonLpdGrpStatsLPDStartTime { + type yang:timestamp; + units "tenths of milliseconds"; + description + "The time when the last LSP Path Discovery to the group was + attempted. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.12"; + } + + leaf rttMonLpdGrpStatsLPDFailOccurred { + type boolean; + description + "This object is set to true when the LSP Path Discovery + to the target PE i.e. rttMonLpdGrpStatsTargetPE fails, and + set to false when the LSP Path Discovery succeeds. + + When this value changes and rttMplsVpnMonReactLpdNotifyType is + set to 'lpdPathDiscovery' or 'lpdAll' a + rttMonLpdDiscoveryNotification will be generated. + + This object will be set to 'FALSE' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.13"; + } + + leaf rttMonLpdGrpStatsLPDFailCause { + type cisco-rttmon:RttMplsVpnMonLpdFailureSense; + description + "This object identifies the cause of failure for the LSP Path + Discovery last attempted. It will be only valid if + rttMonLpdGrpStatsLPDFailOccurred is set to true. + + This object will be set to 'unknown' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.14"; + } + + leaf rttMonLpdGrpStatsLPDCompTime { + type int32 { + range "0..65535"; + } + units "seconds"; + description + "The completion time of the last successfull LSP Path Discovery + to the target PE. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.15"; + } + + leaf rttMonLpdGrpStatsGroupStatus { + type cisco-rttmon:RttMplsVpnMonLpdGrpStatus; + description + "This object identifies the LPD Group status. + + When the LPD Group status changes and + rttMplsVpnMonReactLpdNotifyType is set to 'lpdGroupStatus' or + 'lpdAll' a rttMonLpdGrpStatusNotification will be generated. + + When the LPD Group status value is 'unknown' or changes to + 'unknown' this notification will not be generated. + + When LSP Path Discovery is enabled for a particular row in + rttMplsVpnMonCtrlTable, 'single probes' in the 'lspGroup' probe + cannot generate notifications independently but will be + generating depending on the state of the group. Notifications + are only generated if the failure/restoration of an individual + probe causes the state of the LPD Group to change. + + This object will be set to 'unknown' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.16"; + } + + leaf rttMonLpdGrpStatsGroupProbeIndex { + type int32 { + range "1..2147483647"; + } + units "identifier"; + description + "This object identifies 'lspGroup' probe uniquely created for + this particular LPD Group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.17"; + } + + leaf rttMonLpdGrpStatsPathIds { + type snmpv2-tc:DisplayString; + description + "A string which holds the list of information to uniquely + identify the paths to the target PE. This information is used + by the 'single probes' when testing the paths. + + Following three parameters are needed to uniquely identify a + path + - lsp-selector (127.x.x.x) + - outgoing-interface (i/f) + - label-stack (s), if mutiple labels they will be colon (:) + separated. + + These parameters will be hyphen (-) separated for a particular + path. This set of information will be comma (,) separated for + all the paths discovered as part of this LPD Group. + + For example: If there are 5 paths in the LPD group then this + object will return all the identifier's to uniquely identify + the path. + + The output will look like '127.0.0.1-Se3/0.1-20:18, + 127.0.0.2-Se3/0.1-20,127.0.0.3-Se3/0.1-20,127.0.0.4-Se3/0.1-20, + 127.0.0.5-Se3/0.1-20'. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.18"; + } + + leaf rttMonLpdGrpStatsProbeStatus { + type snmpv2-tc:DisplayString; + description + "A string which holds the latest operation return code for + all the set of 'single probes' which are part of the LPD group. + The return codes will be comma separated and will follow the + same sequence of probes as followed in + 'rttMonLpdGrpStatsPathIds'. The latest operation return code + will be mapped to 'up','down' or 'unkwown'. + + 'up' - Probe state is up when the rttMonLatestRttOperSense + value is 'ok'. + 'down' - Probe state is down when the rttMonLatestRttOperSense + has value other then 'ok' and 'other'. + 'unknown' - Probe state is unkown when the + rttMonLatestRttOperSense value is 'other'. + + For example: If there are 5 paths in the LPD group then this + object output will look like 'ok,ok,ok,down,down'. + + This object will be set to '0' on reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.19"; + } + + leaf rttMonLpdGrpStatsResetTime { + type yang:timestamp; + description + "This object specifies the time when this statistics row was + last reset using the rttMonApplLpdGrpStatsReset object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3.7.1.20"; + } + } + } + + container rttMonHistoryCollectionTable { + description + "The history collection database. + + The history table contains a point by point rolling + history of the most recent RTT operations for each + conceptual RTT control row. The rolling history of this + information is maintained in a series of 'live(s)', each + containing a series of 'bucket(s)', each 'bucket' + contains a series of 'sample(s)'. + + Each conceptual history row can have lives. A life is + defined by the rttMonCtrlOperRttLife object. A new life + will be created when rttMonCtrlOperState transitions + 'active'. When the number of lives become greater + than rttMonHistoryAdminNumLives the oldest life will be + discarded and a new life will be created by incrementing + the index. + + The path exploration RTT operation will be kept as an + entry in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1"; + + list rttMonHistoryCollectionEntry { + key "rttMonCtrlAdminIndex rttMonHistoryCollectionLifeIndex rttMonHistoryCollectionBucketIndex rttMonHistoryCollectionSampleIndex"; + description + "A list of history objects that are recorded for each + RTT operation. + + The history collection table has four indices. Each + described as follows: + - The first index correlates its entries to a + conceptual RTT control row via the + rttMonCtrlAdminIndex object. + - The second index uniquely identifies the results + of each 'life' as defined by the + rttMonCtrlOperRttLife object. + - The third index uniquely identifies the number of + buckets in a life. A bucket will contain one + sample per bucket if the rttMonCtrlAdminRttType + object is set to any value + other than 'pathEcho'. If the + rttMonCtrlAdminRttType object is set to + 'pathEcho', a bucket will contain one sample per + hop along a path to the target (including the + target). + - The fourth index uniquely identifies the number of + samples in a bucket. Again, if the + rttMonCtrlAdminRttType object is set to + 'pathEcho', this value is associated with each + hop in an ascending order, thus for the + first hop on a path, this index will be 1, the + second will be 2 and so on. For all other values + of rttMonCtrlAdminRttType this will be 1."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type int32 { + range "1..2147483647"; + } + description + "This uniquely defines a life for a conceptual history + row. + + For a particular value of rttMonHistoryCollectionLifeIndex, + the agent assigns the first value of 1, the second value + of 2, and so on. The sequence keeps incrementing, + despite older (lower) values being removed from the + table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.1"; + } + + leaf rttMonHistoryCollectionBucketIndex { + type int32 { + range "1..2147483647"; + } + description + "When the RttMonRttType is 'pathEcho', this uniquely + defines a bucket for a given value of + rttMonHistoryCollectionLifeIndex. For all other + RttMonRttType this value will be the number of + operations per a lifetime. Thus, this object + increments on each operation attempt. + + For a particular value of + rttMonHistoryCollectionLifeIndex, the agent assigns + the first value of 1, the second value of 2, and so + on. The sequence keeps incrementing until the number + of buckets equals rttMonHistoryAdminNumBuckets, after + which the most recent rttMonHistoryAdminNumBuckets + buckets are retained (the index is incremented though)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.2"; + } + + leaf rttMonHistoryCollectionSampleIndex { + type int32 { + range "1..512"; + } + description + "This uniquely defines a row for a given value of + rttMonHistoryCollectionBucketIndex. This object + represents a hop along a path to the Target. + + For a particular value of + rttMonHistoryCollectionBucketIndex, the agent assigns + the first value of 1, the second value of 2, and so on. + The sequence keeps incrementing until the number of + samples equals rttMonHistoryAdminNumSamples, then no + new samples are created for the current + rttMonHistoryCollectionBucketIndex. + + When the RttMonRttType is 'pathEcho', this value + directly represents the number of hops along a + path to a target, thus we can only support 512 hops. + For all other values of RttMonRttType this object + will be one."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.3"; + } + + leaf rttMonHistoryCollectionSampleTime { + type yang:timestamp; + description + "The time that the RTT operation was initiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.4"; + } + + leaf rttMonHistoryCollectionAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "When the RttMonRttType is 'echo' or 'pathEcho' this + is a string which specifies the address of the target for + the this RTT operation. For all other values of + RttMonRttType this string will be null. + + This address will be the address of the hop along the + path to the rttMonEchoAdminTargetAddress address, + including rttMonEchoAdminTargetAddress address, or just + the rttMonEchoAdminTargetAddress address, when the + path information is not collected. This behavior is + defined by the rttMonCtrlAdminRttType object. + + The interpretation of this string depends on the type + of RTT operation selected, as specified by the + rttMonEchoAdminProtocol object. + + See rttMonEchoAdminTargetAddress for a complete + description."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.5"; + } + + leaf rttMonHistoryCollectionCompletionTime { + type yang:gauge32; + units "milliseconds"; + description + "This is the operation completion time of the RTT + operation. If the RTT operation fails + (rttMonHistoryCollectionSense is any + value other than ok), this has a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.6"; + } + + leaf rttMonHistoryCollectionSense { + type cisco-rttmon:RttResponseSense; + description + "A sense code for the completion status of the RTT + operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.7"; + } + + leaf rttMonHistoryCollectionApplSpecificSense { + type int32 { + range "0..2147483647"; + } + description + "An application specific sense code for the + completion status of the last RTT operation. This + object will only be valid when the + rttMonHistoryCollectionSense object is set to + 'applicationSpecific'. Otherwise, this object's + value is not valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.8"; + } + + leaf rttMonHistoryCollectionSenseDescription { + type snmpv2-tc:DisplayString; + description + "A sense description for the completion status of + the last RTT operation when the + rttMonHistoryCollectionSense object is set to + 'applicationSpecific'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4.1.1.9"; + } + } + } + + container rttMonLatestHTTPOperTable { + description + "A table which contains the status of latest HTTP RTT + operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1"; + + list rttMonLatestHTTPOperEntry { + key "rttMonCtrlAdminIndex"; + description + "A list of objects that record the latest HTTP RTT + operation. This entry is created automatically after the + rttMonCtrlAdminEntry is created. Also the entry is + automatically deleted when rttMonCtrlAdminEntry is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonLatestHTTPOperRTT { + type yang:gauge32; + description + "Round Trip Time taken to perform HTTP operation. This value + is the sum of DNSRTT, TCPConnectRTT and TransactionRTT."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.1"; + } + + leaf rttMonLatestHTTPOperDNSRTT { + type yang:gauge32; + description + "Round Trip Time taken to perform DNS query within the + HTTP operation. If an IP Address is specified in the URL, + then DNSRTT is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.2"; + } + + leaf rttMonLatestHTTPOperTCPConnectRTT { + type yang:gauge32; + description + "Round Trip Time taken to connect to the HTTP server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.3"; + } + + leaf rttMonLatestHTTPOperTransactionRTT { + type yang:gauge32; + description + "Round Trip Time taken to download the object specified by + the URL."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.4"; + } + + leaf rttMonLatestHTTPOperMessageBodyOctets { + type yang:gauge32; + description + "The size of the message body received as a response to + the HTTP request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.5"; + } + + leaf rttMonLatestHTTPOperSense { + type cisco-rttmon:RttResponseSense; + description + "An application specific sense code for the completion status + of the latest RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.6"; + } + + leaf rttMonLatestHTTPErrorSenseDescription { + type snmpv2-tc:DisplayString; + description + "An sense description for the completion status + of the latest RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.1.1.7"; + } + } + } + + container rttMonLatestJitterOperTable { + description + "A table which contains the status of latest Jitter + operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2"; + + list rttMonLatestJitterOperEntry { + key "rttMonCtrlAdminIndex"; + description + "A list of objects that record the latest Jitter + operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1"; + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonLatestJitterOperNumOfRTT { + type yang:gauge32; + description + "The number of RTT's that were successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.1"; + } + + leaf rttMonLatestJitterOperRTTSum { + type yang:gauge32; + description + "The sum of Jitter RTT's that are successfully measured (low + order 32 bits). The high order 32 bits are stored in + rttMonLatestJitterOperRTTSumHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.2"; + } + + leaf rttMonLatestJitterOperRTTSum2 { + type yang:gauge32; + description + "The sum of squares of RTT's that are successfully measured (low + order 32 bits). The high order 32 bits are stored in + rttMonLatestJitterOperRTTSum2High."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.3"; + } + + leaf rttMonLatestJitterOperRTTMin { + type yang:gauge32; + description + "The minimum of RTT's that were successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.4"; + } + + leaf rttMonLatestJitterOperRTTMax { + type yang:gauge32; + description + "The maximum of RTT's that were successfully measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.5"; + } + + leaf rttMonLatestJitterOperMinOfPositivesSD { + type yang:gauge32; + description + "The minimum of all positive jitter values from packets sent + from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.6"; + } + + leaf rttMonLatestJitterOperMaxOfPositivesSD { + type yang:gauge32; + description + "The maximum of all positive jitter values from packets sent + from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.7"; + } + + leaf rttMonLatestJitterOperNumOfPositivesSD { + type yang:gauge32; + description + "The sum of all positive jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.8"; + } + + leaf rttMonLatestJitterOperSumOfPositivesSD { + type yang:gauge32; + description + "The sum of RTT's of all positive jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.9"; + } + + leaf rttMonLatestJitterOperSum2PositivesSD { + type yang:gauge32; + description + "The sum of square of RTT's of all positive jitter values from + packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.10"; + } + + leaf rttMonLatestJitterOperMinOfNegativesSD { + type yang:gauge32; + description + "The minimum of absolute values of all negative jitter values + from packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.11"; + } + + leaf rttMonLatestJitterOperMaxOfNegativesSD { + type yang:gauge32; + description + "The maximum of absolute values of all negative jitter values + from packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.12"; + } + + leaf rttMonLatestJitterOperNumOfNegativesSD { + type yang:gauge32; + description + "The sum of number of all negative jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.13"; + } + + leaf rttMonLatestJitterOperSumOfNegativesSD { + type yang:gauge32; + description + "The sum of all negative jitter values from packets + sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.14"; + } + + leaf rttMonLatestJitterOperSum2NegativesSD { + type yang:gauge32; + description + "The sum of square of RTT's of all negative jitter values from + packets sent from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.15"; + } + + leaf rttMonLatestJitterOperMinOfPositivesDS { + type yang:gauge32; + description + "The minimum of all positive jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.16"; + } + + leaf rttMonLatestJitterOperMaxOfPositivesDS { + type yang:gauge32; + description + "The maximum of all positive jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.17"; + } + + leaf rttMonLatestJitterOperNumOfPositivesDS { + type yang:gauge32; + description + "The sum of number of all positive jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.18"; + } + + leaf rttMonLatestJitterOperSumOfPositivesDS { + type yang:gauge32; + description + "The sum of RTT's of all positive jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.19"; + } + + leaf rttMonLatestJitterOperSum2PositivesDS { + type yang:gauge32; + description + "The sum of squares of RTT's of all positive jitter values from + packets sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.20"; + } + + leaf rttMonLatestJitterOperMinOfNegativesDS { + type yang:gauge32; + description + "The minimum of all negative jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.21"; + } + + leaf rttMonLatestJitterOperMaxOfNegativesDS { + type yang:gauge32; + description + "The maximum of all negative jitter values from packets sent + from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.22"; + } + + leaf rttMonLatestJitterOperNumOfNegativesDS { + type yang:gauge32; + description + "The sum of number of all negative jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.23"; + } + + leaf rttMonLatestJitterOperSumOfNegativesDS { + type yang:gauge32; + description + "The sum of RTT's of all negative jitter values from packets + sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.24"; + } + + leaf rttMonLatestJitterOperSum2NegativesDS { + type yang:gauge32; + description + "The sum of squares of RTT's of all negative jitter values from + packets sent from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.25"; + } + + leaf rttMonLatestJitterOperPacketLossSD { + type yang:gauge32; + description + "The number of packets lost when sent from source to + destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.26"; + } + + leaf rttMonLatestJitterOperPacketLossDS { + type yang:gauge32; + description + "The number of packets lost when sent from destination to + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.27"; + } + + leaf rttMonLatestJitterOperPacketOutOfSequence { + type yang:gauge32; + description + "The number of packets arrived out of sequence."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.28"; + } + + leaf rttMonLatestJitterOperPacketMIA { + type yang:gauge32; + description + "The number of packets that are lost for which we cannot + determine the direction."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.29"; + } + + leaf rttMonLatestJitterOperPacketLateArrival { + type yang:gauge32; + description + "The number of packets that arrived after the timeout."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.30"; + } + + leaf rttMonLatestJitterOperSense { + type cisco-rttmon:RttResponseSense; + description + "An application specific sense code for the completion status + of the latest Jitter RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.31"; + } + + leaf rttMonLatestJitterErrorSenseDescription { + type snmpv2-tc:DisplayString; + description + "An sense description for the completion status + of the latest Jitter RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.32"; + } + + leaf rttMonLatestJitterOperOWSumSD { + type yang:gauge32; + description + "The sum of one way latency from source to destination (low + order 32 bits). The high order 32 bits are stored in + rttMonLatestJitterOperOWSumSDHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.33"; + } + + leaf rttMonLatestJitterOperOWSum2SD { + type yang:gauge32; + description + "The sum of squares of one way latency from source to + destination (low order 32 bits). The high order 32 bits are + stored in rttMonLatestJitterOperOWSum2SDHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.34"; + } + + leaf rttMonLatestJitterOperOWMinSD { + type yang:gauge32; + description + "The minimum of all one way latency from source to + destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.35"; + } + + leaf rttMonLatestJitterOperOWMaxSD { + type yang:gauge32; + description + "The maximum of all one way latency from source to + destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.36"; + } + + leaf rttMonLatestJitterOperOWSumDS { + type yang:gauge32; + description + "The sum of one way latency from destination to source (low + order 32 bits). The high order 32 bits are stored in + rttMonLatestJitterOperOWSumDSHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.37"; + } + + leaf rttMonLatestJitterOperOWSum2DS { + type yang:gauge32; + description + "The sum of squares of one way latency from destination to + source (low order 32 bits). The high order 32 bits are stored in + rttMonLatestJitterOperOWSum2DSHigh."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.38"; + } + + leaf rttMonLatestJitterOperOWMinDS { + type yang:gauge32; + description + "The minimum of all one way latency from destination to + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.39"; + } + + leaf rttMonLatestJitterOperOWMaxDS { + type yang:gauge32; + description + "The maximum of all one way latency from destination to + source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.40"; + } + + leaf rttMonLatestJitterOperNumOfOW { + type yang:gauge32; + description + "The number of successful one way latency measurements."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.41"; + } + + leaf rttMonLatestJitterOperMOS { + type yang:gauge32 { + range "0|100..500"; + } + description + "The MOS value for the latest jitter operation in hundreds. + This value will be 0 if + - rttMonEchoAdminCodecType of the operation is notApplicable + - the operation is not started + - the operation is started but failed + This value will be 1 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.42"; + } + + leaf rttMonLatestJitterOperICPIF { + type yang:gauge32 { + range "0..2147483647"; + } + description + "Represents ICPIF value for the latest jitter operation. + + This value will be 93 for packet loss of 10% or more."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.43"; + } + + leaf rttMonLatestJitterOperIAJOut { + type yang:gauge32 { + range "0..2147483647"; + } + description + "Interarrival Jitter (RC1889) at responder."; + reference + "Refer to the following documents for the definition: RFC 1889"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.44"; + } + + leaf rttMonLatestJitterOperIAJIn { + type yang:gauge32 { + range "0..2147483647"; + } + description + "Interarrival Jitter (RFC1889) at source."; + reference + "Refer to the following documents for the definition: RFC 1889"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.45"; + } + + leaf rttMonLatestJitterOperAvgJitter { + type yang:gauge32 { + range "0..2147483647"; + } + description + "The average of positive and negative jitter + values in SD and DS direction for latest operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.46"; + } + + leaf rttMonLatestJitterOperAvgSDJ { + type yang:gauge32 { + range "0..2147483647"; + } + description + "The average of positive and negative jitter values + from source to destination for latest operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.47"; + } + + leaf rttMonLatestJitterOperAvgDSJ { + type yang:gauge32 { + range "0..2147483647"; + } + description + "The average of positive and negative jitter values + from destination to source for latest operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.48"; + } + + leaf rttMonLatestJitterOperOWAvgSD { + type yang:gauge32 { + range "0..2147483647"; + } + description + "The average latency value from source to destination."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.49"; + } + + leaf rttMonLatestJitterOperOWAvgDS { + type yang:gauge32 { + range "0..2147483647"; + } + description + "The average latency value from destination to source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.50"; + } + + leaf rttMonLatestJitterOperNTPState { + type enumeration { + enum "sync" { + value "1"; + } + enum "outOfSync" { + value "2"; + } + } + description + "A value of sync(1) means sender and responder was in sync + with NTP. The NTP sync means the total of NTP offset + on sender and responder is within configured tolerance level."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.51"; + } + + leaf rttMonLatestJitterOperUnSyncRTs { + type yang:counter32; + description + "The number of RTT operations that have completed with + sender and responder out of sync with NTP. The NTP sync means + the total of NTP offset on sender and responder is within + configured tolerance level."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.52"; + } + + leaf rttMonLatestJitterOperRTTSumHigh { + type yang:gauge32; + description + "The sum of Jitter RTT's that are successfully measured. + (high order 32 bits). The low order 32 bits are stored + in rttMonLatestJitterOperRTTSum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.53"; + } + + leaf rttMonLatestJitterOperRTTSum2High { + type yang:gauge32; + description + "The sum of squares of RTT's that are successfully measured + (high order 32 bits). The low order 32 bits are stored in + rttMonLatestJitterOperRTTSum2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.54"; + } + + leaf rttMonLatestJitterOperOWSumSDHigh { + type yang:gauge32; + description + "The sum of one way latency from source to destination + (high order 32 bits). The low order 32 bits are stored in + rttMonLatestJitterOperOWSumSD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.55"; + } + + leaf rttMonLatestJitterOperOWSum2SDHigh { + type yang:gauge32; + description + "The sum of squares of one way latency from source to + destination (high order 32 bits). The low order 32 bits + are stored in rttMonLatestJitterOperOWSum2SD."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.56"; + } + + leaf rttMonLatestJitterOperOWSumDSHigh { + type yang:gauge32; + description + "The sum of one way latency from destination to source + (high order 32 bits). The low order 32 bits are stored + in rttMonLatestJitterOperOWSumDS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.57"; + } + + leaf rttMonLatestJitterOperOWSum2DSHigh { + type yang:gauge32; + description + "The sum of squares of one way latency from destination to + source (high order 32 bits). The low order 32 bits are + stored in rttMonLatestJitterOperOWSum2DS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5.2.1.58"; + } + } + } + } + + smiv2:alias "rttMonScheduleAdminTable" { + description + "A table of Round Trip Time (RTT) monitoring scheduling + specific definitions. + + This table is controlled via the + rttMonCtrlAdminTable. Entries in this table are + created via the rttMonCtrlAdminStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5"; + } + + smiv2:alias "rttMonScheduleAdminEntry" { + description + "A list of objects that define specific configuration for + the scheduling of RTT operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + description + "A list of objects that define specific configuration for + the scheduling of RTT operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1"; + + leaf rttMonScheduleAdminRttLife { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "This object value will be placed into the + rttMonCtrlOperRttLife object when the rttMonCtrlOperState + object transitions to 'active' or 'pending'. + + The value 2147483647 has a special meaning. When + this object is set to 2147483647, the + rttMonCtrlOperRttLife object will not decrement. + And thus the life time will never end."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1.1"; + } + + leaf rttMonScheduleAdminRttStartTime { + type yang:timeticks; + description + "This is the time when this conceptional row will + activate. + + This is the value of MIB-II's sysUpTime in the future. + When sysUpTime equals this value this object will + cause the activation of a conceptual Rtt row. + + When an agent has the capability to determine date and + time, the agent should store this object as DateAndTime. + This allows the agent to completely reset (restart) and + still be able to start conceptual Rtt rows at the + intended time. If the agent cannot keep date and time + and the agent resets, all entries should take on one of + the special value defined below. + + The first special value allows this conceptual Rtt + control row to immediately transition the + rttMonCtrlOperState object into 'active' state when the + rttMonCtrlAdminStatus object transitions to active. + This special value is defined to be a value of this + object that, when initially set, is 1. + + The second special value allows this conceptual Rtt + control row to immediately transition the + rttMonCtrlOperState object into 'pending' state when + the rttMonCtrlAdminStatus object transitions to active. + Also, when the rttMonCtrlOperRttLife counts down to zero + (and not when set to zero), this special value causes + this conceptual Rtt control row to retransition the + rttMonCtrlOperState object into 'pending' state. This + special value is defined to be a value of this object + that, when initially set, is smaller than the current + sysUpTime. (With the exception of one, as defined in + the previous paragraph)"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1.2"; + } + + leaf rttMonScheduleAdminConceptRowAgeout { + type int32 { + range "0..2073600"; + } + units "seconds"; + status deprecated; + description + "The amount of time this conceptual Rtt control row will + exist when not in an 'active' rttMonCtrlOperState. + + When this conceptual Rtt control row enters an 'active' + state, this timer will be reset and suspended. When + this conceptual RTT control row enters a state other + than 'active', the timer will be restarted. + + NOTE: When a conceptual Rtt control row ages out, the + agent needs to remove the associated entries in + the rttMonReactTriggerAdminTable and + rttMonReactTriggerOperTable. + + When this value is set to zero, this entry will + never be aged out. + rttMonScheduleAdminConceptRowAgeout object is superseded by + rttMonScheduleAdminConceptRowAgeoutV2."; + smiv2:defval "3600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1.3"; + } + + leaf rttMonScheduleAdminRttRecurring { + type boolean; + description + "When set to true, this entry will be scheduled to + run automatically for the specified duration equal + to the life configured, at the same time daily. + + This value cannot be set to true + (a) if rttMonScheduleAdminRttLife object has value greater or + equal to 86400 seconds. + (b) if sum of values of rttMonScheduleAdminRttLife and + rttMonScheduleAdminConceptRowAgeout is less or equal to + 86400 seconds."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1.4"; + } + + leaf rttMonScheduleAdminConceptRowAgeoutV2 { + type int32 { + range "0..2073600"; + } + units "seconds"; + description + "The amount of time this conceptual Rtt control row will + exist when not in an 'active' rttMonCtrlOperState. + + When this conceptual Rtt control row enters an 'active' + state, this timer will be reset and suspended. When + this conceptual RTT control row enters a state other + than 'active', the timer will be restarted. + + NOTE: It is the same as rttMonScheduleAdminConceptRowAgeout + except DEFVAL is 0 to be consistent with CLI ageout + default. + + When this value is set to zero, this entry will + never be aged out."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.5.1.5"; + } + } + + smiv2:alias "rttMonReactAdminTable" { + status deprecated; + description + "A table of Round Trip Time (RTT) monitoring Notification + and Trigger definitions. + + All Notification/Reactions are applied to all RTT + End-to-End operations. Thus, they do not apply to hops + along a path to the target, when RttMonRttType is + 'pathEcho'. + + The format and content of SNA NMVT's are not defined + within this module. + + It can be noted, however, that there are Alert NMVT's, + and traps which are sent when an abnormal + condition occurs, i.e. when one of + rttMonCtrlOperConnectionLostOccurred, + rttMonCtrlOperTimeoutOccurred or + rttMonCtrlOperOverThresholdOccurred are changed to true, + and Resolution NMVT's, and Resolution traps which are + sent when that condition clears, i.e. when one of + rttMonCtrlOperConnectionLostOccurred, + rttMonCtrlOperTimeoutOccurred or + rttMonCtrlOperOverThresholdOccurred is changed back to + false. + + When rttMonReactAdminActionType is set to one of the + following: + - triggerOnly + - trapAndTrigger + - nmvtAndTrigger + - trapNmvtAndTrigger + The corresponding rows in the + rttMonReactTriggerAdminTable defined via the + rttMonCtrlAdminIndex will become active. + + This table augments the rttMonCtrlAdminTable. + rttMonReactAdminTable object is superseded by rttMonReactTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6"; + } + + smiv2:alias "rttMonReactAdminEntry" { + status deprecated; + description + "A list of objects that define RTT reaction operations. + rttMonReactAdminEntry object is superseded by rttMonReactEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + status deprecated; + description + "A list of objects that define RTT reaction operations. + rttMonReactAdminEntry object is superseded by rttMonReactEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1"; + + leaf rttMonReactAdminConnectionEnable { + type boolean; + status deprecated; + description + "If true, a reaction is generated when a RTT + operation to a rttMonEchoAdminTargetAddress + (echo type) causes + rttMonCtrlOperConnectionLostOccurred to change its + value. Thus connections to intermediate hops will + not cause this value to change. + rttMonReactAdminConnectionEnable object is superseded by + rttMonReactVar."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.1"; + } + + leaf rttMonReactAdminTimeoutEnable { + type boolean; + status deprecated; + description + "If true, a reaction is generated when a RTT + operation causes rttMonCtrlOperTimeoutOccurred + to change its value. + + When the RttMonRttType is 'pathEcho' timeouts to + intermediate hops will not cause + rttMonCtrlOperTimeoutOccurred to change its value. + rttMonReactAdminTimeoutEnable object is superseded by + rttMonReactVar."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.2"; + } + + leaf rttMonReactAdminThresholdType { + type enumeration { + enum "never" { + value "1"; + } + enum "immediate" { + value "2"; + } + enum "consecutive" { + value "3"; + } + enum "xOfy" { + value "4"; + } + enum "average" { + value "5"; + } + } + status deprecated; + description + "This object specifies the conditions under which + rttMonCtrlOperOverThresholdOccurred is changed: + + NOTE: When the RttMonRttType is 'pathEcho' this + objects' value and all associated + object values are only valid when RTT + 'echo' operations are to the + rttMonEchoAdminTargetAddress object address. Thus + 'pathEcho' operations to intermediate + hops will not cause this object to change. + + never - rttMonCtrlOperOverThresholdOccurred is + never set + immediate - rttMonCtrlOperOverThresholdOccurred is set + to true when an operation completion time + exceeds rttMonCtrlAdminThreshold; + conversely + rttMonCtrlOperOverThresholdOccurred is set + to false when an operation completion time + falls below + rttMonReactAdminThresholdFalling + consecutive - rttMonCtrlOperOverThresholdOccurred is set + to true when an operation completion time + exceeds rttMonCtrlAdminThreshold on + rttMonReactAdminThresholdCount consecutive + RTT operations; conversely, + rttMonCtrlOperOverThresholdOccurred is set + to false when an operation completion time + falls under the + rttMonReactAdminThresholdFalling + for the same number of consecutive + operations + xOfy - rttMonCtrlOperOverThresholdOccurred is set + to true when x (as specified by + rttMonReactAdminThresholdCount) out of the + last y (as specified by + rttMonReactAdminThresholdCount2) + operation completion time exceeds + rttMonCtrlAdminThreshold; + conversely, it is set to false when x, + out of the last y operation completion + time fall below + rttMonReactAdminThresholdFalling + NOTE: When x > y, the probe will never + generate a reaction. + average - rttMonCtrlOperOverThresholdOccurred is set + to true when the running average of the + previous rttMonReactAdminThresholdCount + operation completion times exceed + rttMonCtrlAdminThreshold; conversely, it + is set to false when the running average + falls below the + rttMonReactAdminThresholdFalling + + If this value is changed by a management station, + rttMonCtrlOperOverThresholdOccurred is set to false, but + no reaction is generated if the prior value of + rttMonCtrlOperOverThresholdOccurred was true. + rttMonReactAdminThresholdType object is superseded by + rttMonReactThresholdType."; + smiv2:defval "never"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.3"; + } + + leaf rttMonReactAdminThresholdFalling { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + status deprecated; + description + "This object defines a threshold limit. If the RTT + operation time falls below this limit and if the conditions + specified in rttMonReactAdminThresholdType are satisfied, an + threshold is generated. + rttMonReactAdminThresholdFalling object is superseded by + rttMonReactThresholdFalling."; + smiv2:defval "3000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.4"; + } + + leaf rttMonReactAdminThresholdCount { + type int32 { + range "1..16"; + } + status deprecated; + description + "This object defines the 'x' value of the xOfy condition + specified in rttMonReactAdminThresholdType. + rttMonReactAdminThresholdCount object is superseded by + rttMonReactThresholdCountX."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.5"; + } + + leaf rttMonReactAdminThresholdCount2 { + type int32 { + range "1..16"; + } + status deprecated; + description + "This object defines the 'y' value of the xOfy condition + specified in rttMonReactAdminThresholdType. + rttMonReactAdminThresholdCount2 object is superseded by + rttMonReactThresholdCountyY."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.6"; + } + + leaf rttMonReactAdminActionType { + type enumeration { + enum "none" { + value "1"; + } + enum "trapOnly" { + value "2"; + } + enum "nmvtOnly" { + value "3"; + } + enum "triggerOnly" { + value "4"; + } + enum "trapAndNmvt" { + value "5"; + } + enum "trapAndTrigger" { + value "6"; + } + enum "nmvtAndTrigger" { + value "7"; + } + enum "trapNmvtAndTrigger" { + value "8"; + } + } + status deprecated; + description + "Specifies what type(s), if any, of reaction(s) to + generate if an operation violates one of the watched + conditions: + + none - no reaction is generated + trapOnly - a trap is generated + nmvtOnly - an SNA NMVT is generated + triggerOnly - all trigger actions defined for this + entry are initiated + trapAndNmvt - both a trap and an SNA NMVT are + generated + trapAndTrigger - both a trap and all trigger actions + are initiated + nmvtAndTrigger - both a NMVT and all trigger actions + are initiated + trapNmvtAndTrigger - a NMVT, trap, and all trigger actions + are initiated + + A trigger action is defined via the + rttMonReactTriggerAdminTable. + rttMonReactAdminActionType object is superseded by + rttMonReactActionType."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.7"; + } + + leaf rttMonReactAdminVerifyErrorEnable { + type boolean; + status deprecated; + description + "If true, a reaction is generated when a RTT + operation causes rttMonCtrlOperVerifyErrorOccurred + to change its value. + rttMonReactAdminVerifyErrorEnable object is superseded by + rttMonReactVar."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.6.1.8"; + } + } + + smiv2:alias "rttMonStatisticsAdminTable" { + description + "A table of Round Trip Time (RTT) monitoring statistics + definitions. + + The definitions in this table control what and how many + entries will be placed into the rttMonStatsCaptureTable. + + The statistics capture table is a rollover table. When + the rttMonStatisticsAdminNumHourGroups index value + exceeds its value defined in this table, the oldest + corresponding group will be deleted and will be replaced + with the new group. All other indices will only fill to + there maximum size. + + NOTE: The maximum size of this table is defined to be + the product of the rttMonCtrlAdminIndex times + rttMonStatisticsAdminNumHourGroups times + rttMonStatisticsAdminNumPaths times + rttMonStatisticsAdminNumHops times + rttMonStatisticsAdminNumDistBuckets. + + NOTE WELL: Each of the 'Num' objects values in this + have a special behavior. When one of the + objects is set to a value larger than the + Rtt application can support the set will + succeed, but the resultant value will + be set to the applications maximum value. + The setting management station must reread + this object to verify the actual value. + + This table augments the rttMonCtrlAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7"; + } + + smiv2:alias "rttMonStatisticsAdminEntry" { + description + "A list of objects that define RTT statistics + capture operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + description + "A list of objects that define RTT statistics + capture operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1"; + + leaf rttMonStatisticsAdminNumHourGroups { + type int32 { + range "0..25"; + } + description + "The maximum number of groups of paths to record. + Specifically this is the number of hourly groups + to keep before rolling over. + + The value of one is not advisable because the + group will close and immediately be deleted before + the network management station will have the + opportunity to retrieve the statistics. + + The value used in the rttMonStatsCaptureTable to + uniquely identify this group is the + rttMonStatsCaptureStartTimeIndex. + + HTTP and Jitter probes store only two hours of data. + + When this object is set to the value of zero all + rttMonStatsCaptureTable data capturing will be shut off."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1.1"; + } + + leaf rttMonStatisticsAdminNumPaths { + type int32 { + range "1..128"; + } + description + "When RttMonRttType is 'pathEcho' this is the maximum + number of statistics paths to record per hourly group. + This value directly represents the path to a target. + For all other RttMonRttTypes this value will be + forced to one by the agent. + + NOTE: For 'pathEcho' a source to target path will be + created to to hold all errors that occur when a + specific path or connection has not be found/setup. + Thus, it is advised to set this value greater + than one. + + Since this index does not rollover, only the first + rttMonStatisticsAdminNumPaths will be kept."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1.2"; + } + + leaf rttMonStatisticsAdminNumHops { + type int32 { + range "1..30"; + } + description + "When RttMonRttType is 'pathEcho' this is the maximum + number of statistics hops to record per path group. + This value directly represents the number of hops along + a path to a target, thus we can only support 30 hops. + For all other RttMonRttTypes this value will be + forced to one by the agent. + + Since this index does not rollover, only the first + rttMonStatisticsAdminNumHops will be kept. This object + is applicable to pathEcho probes only."; + smiv2:defval "16"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1.3"; + } + + leaf rttMonStatisticsAdminNumDistBuckets { + type int32 { + range "1..20"; + } + description + "The maximum number of statistical distribution + Buckets to accumulate. + + Since this index does not rollover, only the first + rttMonStatisticsAdminNumDistBuckets will be kept. + + The last rttMonStatisticsAdminNumDistBucket will + contain all entries from its distribution interval + start point to infinity. This object is not applicable + to http and jitter probes."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1.4"; + } + + leaf rttMonStatisticsAdminDistInterval { + type int32 { + range "1..100"; + } + units "milliseconds"; + description + "The statistical distribution buckets interval. + + Distribution Bucket Example: + + rttMonStatisticsAdminNumDistBuckets = 5 buckets + rttMonStatisticsAdminDistInterval = 10 milliseconds + + | Bucket 1 | Bucket 2 | Bucket 3 | Bucket 4 | Bucket 5 | + | 0-9 ms | 10-19 ms | 20-29 ms | 30-39 ms | 40-Inf ms | + + Odd Example: + + rttMonStatisticsAdminNumDistBuckets = 1 buckets + rttMonStatisticsAdminDistInterval = 10 milliseconds + + | Bucket 1 | + | 0-Inf ms | + + Thus, this odd example shows that the value of + rttMonStatisticsAdminDistInterval does not apply when + rttMonStatisticsAdminNumDistBuckets is one. + This object is not applicable to http and jitter probes."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.7.1.5"; + } + } + + smiv2:alias "rttMonHistoryAdminTable" { + description + "A table of Round Trip Time (RTT) monitoring history + definitions. + + The definitions in this table control what and how many + entries will be placed into the + rttMonHistoryCollectionTable. + + The history collection table is a rollover table. When + the rttMonHistoryAdminNumLives index value exceeds its + value defined in this table, the oldest corresponding + 'lives' group will be deleted and will be replaced with + the new 'lives' group. All other indices will only fill + to their maximum size. + + NOTE: The maximum size of this table is defined to be + the product of the rttMonCtrlAdminIndex times + rttMonHistoryAdminNumLives times + rttMonHistoryAdminNumBuckets times + rttMonHistoryAdminNumSamples. + + NOTE WELL: Each of the 'Num' objects values in this + have a special behavior. When one of the + objects is set to a value larger than the + Rtt application can support the set will + succeed, but the resultant value will + be set to the applications maximum value. + The setting management station must reread + this object to verify the actual value. + + NOTE: this table is not applicable to http and jitter + probes"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8"; + } + + smiv2:alias "rttMonHistoryAdminEntry" { + description + "A list of objects that define RTT history collection + operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + description + "A list of objects that define RTT history collection + operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1"; + + leaf rttMonHistoryAdminNumLives { + type int32 { + range "0..2"; + } + description + "The maximum number of history lives to record. A life + is defined by the countdown (or transition) to zero + by the rttMonCtrlOperRttLife object. A new life is + created when the same conceptual RTT control row is + restarted via the transition of the + rttMonCtrlOperRttLife object and its subsequent + countdown. + + The value of zero will shut off all + rttMonHistoryAdminTable data collection."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1.1"; + } + + leaf rttMonHistoryAdminNumBuckets { + type int32 { + range "1..60"; + } + description + "The maximum number of history buckets to record. When + the RttMonRttType is 'pathEcho' this value directly + represents a path to a target. For all other + RttMonRttTypes this value should be set to the number + of operations to keep per lifetime. + + After rttMonHistoryAdminNumBuckets are filled, the + and the oldest entries are deleted and the most recent + rttMonHistoryAdminNumBuckets buckets are retained."; + smiv2:defval "15"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1.2"; + } + + leaf rttMonHistoryAdminNumSamples { + type int32 { + range "1..30"; + } + description + "The maximum number of history samples to record per + bucket. When the RttMonRttType is 'pathEcho' this + value directly represents the number of hops along a + path to a target, thus we can only support 30 hops. + For all other RttMonRttTypes this value will be + forced to one by the agent."; + smiv2:defval "16"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1.3"; + } + + leaf rttMonHistoryAdminFilter { + type enumeration { + enum "none" { + value "1"; + } + enum "all" { + value "2"; + } + enum "overThreshold" { + value "3"; + } + enum "failures" { + value "4"; + } + } + description + "Defines a filter for adding RTT results to the history + buffer: + + none - no history is recorded + all - the results of all completion times + and failed completions are recorded + overThreshold - the results of completion times + over rttMonCtrlAdminThreshold are + recorded. + failures - the results of failed operations (only) + are recorded."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.8.1.4"; + } + } + + smiv2:alias "rttMonCtrlOperTable" { + description + "A table of which contains the Operational values for the + probe, and the conceptual RTT control row. + + This table augments the rttMonCtrlAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9"; + } + + smiv2:alias "rttMonCtrlOperEntry" { + description + "A list of objects that describe the current state + of probe, and the conceptual RTT control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + description + "A list of objects that describe the current state + of probe, and the conceptual RTT control row."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1"; + + leaf rttMonCtrlOperModificationTime { + type yang:timestamp; + description + "This object is updated whenever an object in + the conceptual RTT control row is changed or + updated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.1"; + } + + leaf rttMonCtrlOperDiagText { + type snmpv2-tc:DisplayString { + length "0..51"; + } + description + "A string which can be used as an aid in tracing problems. + The content of this field will depend on the type of + target (rttMonEchoAdminProtocol). + + When rttMonEchoAdminProtocol is one of snaLU0EchoAppl, or + snaLU2EchoAppl this object contains the name of the + Logical Unit (LU) being used for this RTT session (from + the HOST's point of view), once the session has been + established; this can then be used to correlate this + name to the connection information stored in the + Mainframe Host. + + When rttMonEchoAdminProtocol is snaLU62EchoAppl, this + object contains the Logical Unit (LU) name being used for + this RTT session, once the session has been established. + This name can be used by the management application to + correlate this objects value to the connection + information stored at this SNMP Agent via the APPC or + APPN mib. + + When rttMonEchoAdminProtocol is not one of the + previously mentioned values, this value will be null. + + It is primarily intended that this object contains + information which has significance to a human operator."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.2"; + } + + leaf rttMonCtrlOperResetTime { + type yang:timestamp; + description + "This object is set when the rttMonCtrlOperState is set + to reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.3"; + } + + leaf rttMonCtrlOperOctetsInUse { + type yang:gauge32; + description + "This object is the number of octets currently in use + by this composite conceptual RTT row. A composite + conceptual row include the control, statistics, and + history conceptual rows combined. (All octets that + are addressed via the rttMonCtrlAdminIndex in this + mib.)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.4"; + } + + leaf rttMonCtrlOperConnectionLostOccurred { + type boolean; + description + "This object will only change its value when the + RttMonRttType is 'echo' or 'pathEcho'. + + This object is set to true when the RTT connection fails + to be established or is lost, and set to false when a + connection is reestablished. When the RttMonRttType + is 'pathEcho', connection loss applies only to the + rttMonEchoAdminTargetAddress and not to intermediate + hops to the Target. + + When this value changes and + rttMonReactAdminConnectionEnable is true, a reaction + will occur. + + If a trap is sent it is a + rttMonConnectionChangeNotification. + + When this value changes and any one of the rttMonReactTable row + has rttMonReactVar object value as 'connectionLoss(8)', + a reaction may occur. + + If a trap is sent it is rttMonNotification with rttMonReactVar + value of 'connectionLoss'."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.5"; + } + + leaf rttMonCtrlOperTimeoutOccurred { + type boolean; + description + "This object will change its value for all + RttMonRttTypes. + + This object is set to true when an operation times out, + and set to false when an operation completes under + rttMonCtrlAdminTimeout. When this value changes, a + reaction may occur, as defined by + rttMonReactAdminTimeoutEnable. + + When the RttMonRttType is 'pathEcho', this timeout + applies only to the rttMonEchoAdminTargetAddress and + not to intermediate hops to the Target. + + If a trap is sent it is a rttMonTimeoutNotification. + + When this value changes and any one of the rttMonReactTable + row has rttMonReactVar object value as 'timeout(7)', a reaction + may occur. + + If a trap is sent it is rttMonNotification with rttMonReactVar + value of 'timeout'."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.6"; + } + + leaf rttMonCtrlOperOverThresholdOccurred { + type boolean; + description + "This object will change its value for all + RttMonRttTypes. + + This object is changed by operation completion times over + threshold, as defined by rttMonReactAdminThresholdType. + When this value changes, a reaction may occur, as defined + by rttMonReactAdminThresholdType. + + If a trap is sent it is a rttMonThresholdNotification. + + This object is set to true if the operation completion time + exceeds the rttMonCtrlAdminThreshold and set to false when an + operation completes under rttMonCtrlAdminThreshold. When this + value changes, a reaction may occur, as defined by + rttMonReactThresholdType. + + If a trap is sent it is rttMonNotification with rttMonReactVar + value of 'rtt'."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.7"; + } + + leaf rttMonCtrlOperNumRtts { + type int32 { + range "0..2147483647"; + } + description + "This is the total number of probe operations that have + been attempted. + + This value is incremented for each start of an RTT + operation. Thus when rttMonCtrlAdminRttType is set to + 'pathEcho' this value will be incremented by one and + not for very every hop along the path. + + This object has the special behavior as defined by the + ROLLOVER NOTE in the DESCRIPTION of the ciscoRttMonMIB + object. + + This value is not effected by the rollover of a statistics + hourly group."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.8"; + } + + leaf rttMonCtrlOperRttLife { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "This object is decremented every second, until it + reaches zero. When the value of this object is zero + RTT operations for this row are suspended. This + object will either reach zero by a countdown or + it will transition to zero via setting the + rttMonCtrlOperState. + + When this object reaches zero the agent needs to + transition the rttMonCtrlOperState to 'inactive'. + + REMEMBER: The value 2147483647 has a special + meaning. When this object has the + value 2147483647, this object will + not decrement. And thus the life + time will never. + + When the rttMonCtrlOperState object is 'active' and + the rttMonReactTriggerOperState object transitions to + 'active' this object will not be updated with the + current value of rttMonCrtlAdminRttLife object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.9"; + } + + leaf rttMonCtrlOperState { + type enumeration { + enum "reset" { + value "1"; + } + enum "orderlyStop" { + value "2"; + } + enum "immediateStop" { + value "3"; + } + enum "pending" { + value "4"; + } + enum "inactive" { + value "5"; + } + enum "active" { + value "6"; + } + enum "restart" { + value "7"; + } + } + description + "The RttMonOperStatus object is used to + manage the 'state' of the probe that is implementing + conceptual RTT control row. + + This status object has six defined values: + + reset(1) - reset this entry, transition + to 'pending' + orderlyStop(2) - shutdown this entry at the end + of the next RTT operation attempt, + transition to 'inactive' + immediateStop(3) - shutdown this entry immediately + (if possible), transition to + 'inactive' + pending(4) - this value is not settable and + this conceptual RTT control row is + waiting for further control either + via the rttMonScheduleAdminTable + or the rttMonReactAdminTable/ + rttMonReactTriggerAdminTable; + This object can transition to this + value via two mechanisms, first by + reseting this object, and second + by creating a conceptual Rtt control + row with the + rttMonScheduleAdminRttStartTime + object with the its special value + inactive(5) - this value is not settable and + this conceptual RTT control row is + waiting for further control via + the rttMonScheduleAdminTable; + This object can transition to this + value via two mechanisms, first by + setting this object to 'orderlyStop' + or 'immediateStop', second by + the rttMonCtrlOperRttLife object + reaching zero + active(6) - this value is not settable and + this conceptual RTT control row is + currently active + restart(7) - this value is only settable when the + state is active. It clears the data + of this entry and remain on active state. + + The probes action when this object is set to 'reset': + - all rows in rttMonStatsCaptureTable that relate to + this conceptual RTT control row are destroyed and + the indices are set to 1 + - if rttMonStatisticsAdminNumHourGroups is not zero, a + single new rttMonStatsCaptureTable row is created + - all rows in rttMonHistoryCaptureTable that relate + to this RTT definition are destroyed and the indices + are set to 1 + - implied history used for timeout or threshold + notification (see rttMonReactAdminThresholdType or + rttMonReactThresholdType) + is purged + - rttMonCtrlOperRttLife is set to + rttMonScheduleAdminRttLife + - rttMonCtrlOperNumRtts is set to zero + - rttMonCtrlOperTimeoutOccurred, + rttMonCtrlOperOverThresholdOccurred, and + rttMonCtrlOperConnectionLostOccurred are set to + false; if this causes a change in the value of + either of these objects, resolution notifications + will not occur + - the next RTT operation is controlled by the objects + in the rttMonScheduleAdminTable or the + rttMonReactAdminTable/rttMonReactTriggerAdminTable + - if the rttMonReactTriggerOperState is 'active', it + will transition to 'pending' + - all rttMonReactTriggerAdminEntries pointing to + this conceptual entry with their + rttMonReactTriggerOperState object 'active', + will transition their OperState to 'pending' + - all open connections must be maintained + + This can be used to synchronize various RTT + definitions, so that the RTT requests occur + simultaneously, or as simultaneously as possible. + + The probes action when this object transitions to + 'inactive' (via setting this object to 'orderlyStop' + or 'immediateStop' or by rttMonCtrlOperRttLife + reaching zero): + - all statistics and history collection information + table entries will be closed and kept + - implied history used for timeout or threshold + notification (see rttMonReactAdminThresholdType or + rttMonReactThresholdType) + is purged + - rttMonCtrlOperTimeoutOccurred, + rttMonCtrlOperOverThresholdOccurred, and + rttMonCtrlOperConnectionLostOccurred are set to + false; if this causes a change in the value of + either of these objects, resolution notifications + will not occur. + - the next RTT request is controlled by the objects + in the rttMonScheduleAdminTable + - if the rttMonReactTriggerOperState is 'active', it + will transition to 'pending' (this denotes that + the Trigger will be ready the next time this + object goes active) + - all rttMonReactTriggerAdminEntries pointing to + this conceptual entry with their + rttMonReactTriggerOperState object 'active', + will transition their OperState to 'pending' + - all open connections are to be closed and cleanup. + + rttMonCtrlOperState + STATE + +-------------------------------------------+ + | A | B | C | + ACTION | 'pending' | 'inactive' | 'active' | + +----------------+--------------+--------------+-------------+ + | OperState set | noError |inconsistent- | noError | + | to 'reset' | | Value | | + | | -> A | | -> A | + +----------------+--------------+--------------+-------------+ + | OperState set | noError | noError | noError | + |to 'orderlyStop'| -> B | -> B | -> B | + | or to | | | | + |'immediateStop' | | | | + +----------------+--------------+--------------+-------------+ + | Event causes | -> C | -> B | -> C | + | Trigger State | | | see (3) | + | to transition | | | | + | to 'active' | | | | + +----------------+--------------+--------------+-------------+ + | AdminStatus | -> C | -> C | see (1) | + | transitions to | | | | + | 'active' & | | | | + | RttStartTime is| | | | + | special value | | | | + | of one. | | | | + +----------------+--------------+--------------+-------------+ + | AdminStatus | -> A | -> A | see (1) | + | transitions to | | | | + | 'active' & | | | | + | RttStartTime is| | | | + | special value | | | | + | of less than | | | | + | current time, | | | | + | excluding one. | | | | + +----------------+--------------+--------------+-------------+ + | AdminStatus | -> A | -> B | see (2) | + | transitions to | | | | + | 'notInService' | | | | + +----------------+--------------+--------------+-------------+ + | AdminStatus | -> B | -> B | -> B | + | transitions to | | | | + | 'delete' | | | | + +----------------+--------------+--------------+-------------+ + | AdminStatus is | -> C | -> C | -> C | + | 'active' & the | | | see (3) | + | RttStartTime | | | | + | arrives | | | | + +----------------+--------------+--------------+-------------+ + | RowAgeout | -> B | -> B | -> B | + | expires | | | | + +----------------+--------------+--------------+-------------+ + | OperRttLife | N/A | N/A | -> B | + | counts down to | | | | + | zero | | | | + +----------------+--------------+--------------+-------------+ + + (1) - rttMonCtrlOperState must have transitioned to 'inactive' + or 'pending' before the rttMonCtrlAdminStatus can + transition to 'active'. See (2). + (2) - rttMonCtrlAdminStatus cannot transition to 'notInService' + unless rttMonCtrlOperState has been previously forced + to 'inactive' or 'pending'. + (3) - when this happens the rttMonCtrlOperRttLife will not + be updated with the rttMonCtrlAdminRttLife. + + NOTE: In order for all objects in a PDU to be set + at the same time, this object can not be + part of a multi-bound PDU."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.10"; + } + + leaf rttMonCtrlOperVerifyErrorOccurred { + type boolean; + description + "This object is true if rttMonCtrlAdminVerifyData is + set to true and data corruption occurs."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.9.1.11"; + } + } + + smiv2:alias "rttMonLatestRttOperTable" { + description + "A table of which contains the status of latest RTT + operation. + + When the RttMonRttType is 'pathEcho', operations + performed to the hops along the path will be recorded + in this table. + + This table augments the RTT definition table, + rttMonCtrlAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10"; + } + + smiv2:alias "rttMonLatestRttOperEntry" { + description + "A list of objects that record the latest RTT operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry" { + description + "A list of objects that record the latest RTT operation."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1"; + + leaf rttMonLatestRttOperCompletionTime { + type yang:gauge32; + units "milliseconds/microseconds"; + description + "The completion time of the latest RTT operation + successfully completed. + + The unit of this object will be microsecond when + rttMonCtrlAdminRttType is set to 'jitter' and + rttMonEchoAdminPrecision is set to 'microsecond'. + Otherwise, the unit of this object will be millisecond."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.1"; + } + + leaf rttMonLatestRttOperSense { + type cisco-rttmon:RttResponseSense; + description + "A sense code for the completion status of the latest + RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.2"; + } + + leaf rttMonLatestRttOperApplSpecificSense { + type int32 { + range "0..2147483647"; + } + description + "An application specific sense code for the + completion status of the latest RTT operation. This + object will only be valid when the + rttMonLatestRttOperSense object is set to + 'applicationSpecific'. Otherwise, this object's + value is not valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.3"; + } + + leaf rttMonLatestRttOperSenseDescription { + type snmpv2-tc:DisplayString; + description + "A sense description for the completion status of + the latest RTT operation when the + rttMonLatestRttOperSense object is set to + 'applicationSpecific'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.4"; + } + + leaf rttMonLatestRttOperTime { + type yang:timestamp; + description + "The value of the agent system time at the time of the + latest RTT operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.5"; + } + + leaf rttMonLatestRttOperAddress { + type cisco-rttmon:RttMonTargetAddress; + description + "When the RttMonRttType is 'echo', 'pathEcho', 'udpEcho', + 'tcpConnect', 'dns' and 'dlsw' this is a string which specifies + the address of the target for this RTT operation. When the + RttMonRttType is not one of these types this object will + be null. + + This address will be the address of the hop along the + path to the rttMonEchoAdminTargetAddress address, + including rttMonEchoAdminTargetAddress address, or just + the rttMonEchoAdminTargetAddress address, when the + path information is not collected. This behavior is + defined by the rttMonCtrlAdminRttType object. + + The interpretation of this string depends on the type + of RTT operation selected, as specified by the + rttMonEchoAdminProtocol object. + + See rttMonEchoAdminTargetAddress for a complete + description."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.10.1.6"; + } + } + + smiv2:alias "rttMonReactTriggerOperTable" { + description + "A table of which contains the operational state + of each entry in the + rttMonReactTriggerAdminTable. + + This table augments the RTT trigger + definition table, rttMonReactTriggerAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.12"; + } + + smiv2:alias "rttMonReactTriggerOperEntry" { + description + "A list of state objects for the + rttMonReactTriggerAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.12.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTriggerAdminTable/CISCO-RTTMON-MIB:rttMonReactTriggerAdminEntry" { + description + "A list of state objects for the + rttMonReactTriggerAdminTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.12.1"; + + leaf rttMonReactTriggerOperState { + type enumeration { + enum "active" { + value "1"; + } + enum "pending" { + value "2"; + } + } + description + "This object takes on the value active + when its associated entry in the + rttMonReactTriggerAdminTable has been + triggered. + + When the associated entry in the + rttMonReactTriggerAdminTable is not under + a trigger state, this object will be + pending. + + When this object is in the active state + this entry can not be retriggered."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.12.1.1"; + } + } + + smiv2:alias "rttMplsVpnMonTypeTable" { + description + "A table that contains Auto SAA L3 MPLS VPN configured RTT + operation specific definitions. + + This table is controlled via the rttMplsVpnMonCtrlTable. + Entries in this table are created via the + rttMplsVpnMonCtrlStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16"; + } + + smiv2:alias "rttMplsVpnMonTypeEntry" { + description + "A list of objects that define RTT operation specific + configuration for an Auto SAA L3 MPLS VPN."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry" { + description + "A list of objects that define RTT operation specific + configuration for an Auto SAA L3 MPLS VPN."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1"; + + leaf rttMplsVpnMonTypeInterval { + type int32 { + range "1..60000"; + } + units "milliseconds"; + description + "This value represents the inter-packet delay between packets + and is in milliseconds. This value is currently used for + Jitter probe. This object is applicable to jitter probe only. + + The usage of this value in RTT operation is same as + rttMonEchoAdminInterval."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.1"; + } + + leaf rttMplsVpnMonTypeNumPackets { + type int32 { + range "1..60000"; + } + description + "This value represents the number of packets that need to be + transmitted. This value is currently used for Jitter probe. + This object is applicable to jitter probe only. + + The usage of this value in RTT operation is same as + rttMonEchoAdminNumPackets."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.2"; + } + + leaf rttMplsVpnMonTypeDestPort { + type int32 { + range "1..65536"; + } + description + "This object represents the target's port number to which the + packets need to be sent. + + This value will be configured as target port for all the + operations that is going to be configured + + The usage of this value is same as rttMonEchoAdminTargetPort + in RTT operation. This object is applicable to jitter type. + + If this object is not being set random port will be used as + destination port."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.3"; + } + + leaf rttMplsVpnMonTypeSecFreqType { + type enumeration { + enum "none" { + value "1"; + } + enum "timeout" { + value "2"; + } + enum "connectionLoss" { + value "3"; + } + enum "both" { + value "4"; + } + } + description + "This object specifies the reaction type for which the + rttMplsVpnMonTypeSecFreqValue should be applied. + + The Value 'timeout' will cause secondary frequency to be set + for frequency on timeout condition. + + The Value 'connectionLoss' will cause secondary frequency to + be set for frequency on connectionloss condition. + + The Value 'both' will cause secondary frequency to be set for + frequency on either of timeout/connectionloss condition. + + Notifications must be configured on corresponding reaction type + in order to rttMplsVpnMonTypeSecFreqValue get effect. + + When LSP Path Discovery is enabled for this row the following + rttMplsVpnMonReactLpdNotifyType notifications must be + configured in order to rttMplsVpnMonTypeSecFreqValue get effect. + - 'lpdGroupStatus' or 'lpdAll'. + + Since the Frequency of the operation changes the stats will be + collected in new bucket. + + If any of the reaction type (timeout/connectionLoss) occurred + for an operation configured by this Auto SAA L3 MPLS VPN and + the following conditions are satisfied, the frequency of the + operation will be changed to rttMplsVpnMonTypeSecFreqValue. + + 1) rttMplsVpnMonTypeSecFreqType is set for a reaction type + (timeout/connectionLoss). + 2) A notification is configured for the same reaction type + (timeout/connectionLoss). + + When LSP Path Discovery is enabled for this row, if any of the + reaction type (timeout/connectionLoss) occurred for 'single + probes' configured by this Auto SAA L3 MPLS VPN and the + following conditions are satisfied, the secondary frequency + rttMplsVpnMonTypeSecFreqValue will be applied to the + 'lspGroup' probe. + + 1) rttMplsVpnMonTypeSecFreqType is set for a reaction type + (timeout/connectionLoss/both). + 2) rttMplsVpnMonReactLpdNotifyType object must be set to + value of 'lpdGroupStatus' or 'lpdAll'. + + The frequency of the individual operations will be restored to + original frequency once the trap is sent."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.4"; + } + + leaf rttMplsVpnMonTypeSecFreqValue { + type int32 { + range "1..604800"; + } + description + "This object represents the value that needs to be applied to + secondary frequency of individual RTT operations configured by + Auto SAA L3 MPLS VPN. + + Setting rttMplsVpnMonTypeSecFreqValue without setting + rttMplsVpnMonTypeSecFreqType will not have any effect."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.5"; + } + + leaf rttMplsVpnMonTypeLspSelector { + type binary; + description + "A string which specifies the address of the local host + (127.X.X.X). + + This object will be used as lsp-selector in MPLS RTT + operations configured by the Auto SAA L3 MPLS VPN. + + When LSP Path Discovery is enabled for the row, this object will + be used to indicate the base LSP selector value to be used in + the LSP Path Discovery. + + This value of this object is significant in MPLS load + balancing scenario. This value will be used as one of the + parameter in that load balancing."; + smiv2:defval "7F 00 00 01"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.6"; + } + + leaf rttMplsVpnMonTypeLSPReplyMode { + type cisco-rttmon:RttMonLSPPingReplyMode; + description + "This object specifies the reply mode for the LSP Echo + requests originated by the operations configured by the + Auto SAA L3 MPLS VPN. + + This object is currently used by echo and pathEcho."; + smiv2:defval "replyIpv4Udp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.7"; + } + + leaf rttMplsVpnMonTypeLSPTTL { + type int32 { + range "0..255"; + } + description + "This object represents the TTL setting for MPLS echo request + packets originated by the operations configured by the + Auto SAA L3 MPLS VPN. + + This object is currently used by echo and pathEcho. + + For 'echo' the default TTL will be set to 255. + For 'pathEcho' the default will be set to 30. + + Note: This object cannot be set to the value of 0. The + default value of 0 signifies the default TTL values will be + used for 'echo' and 'pathEcho'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.8"; + } + + leaf rttMplsVpnMonTypeLSPReplyDscp { + type int32 { + range "0..63|255"; + } + description + "This object specifies the DSCP value to be set in the IP header + of the LSP echo reply packet. + The value of this object will be in range of DiffServ codepoint + values between 0 to 63. + + Note: This object cannot be set to value of 255. This default + value specifies that DSCP is not set for this row."; + smiv2:defval "255"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.9"; + } + + leaf rttMplsVpnMonTypeLpdMaxSessions { + type int32 { + range "1..15"; + } + description + "This object represents the number of concurrent path discovery + requests that will be active at one time per MPLS VPN control + row. This object is meant for reducing the time for discovery + of all the paths to the target in a large customer network. + However its value should be chosen such that it does not cause + any performance impact. + + Note: If the customer network has low end routers in the Core + it is recommended to keep this value low."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.10"; + } + + leaf rttMplsVpnMonTypeLpdSessTimeout { + type int32 { + range "1..900"; + } + units "seconds"; + description + "This object specifies the maximum allowed duration of a + particular tree trace request. + + If no response is received in configured time the request will + be considered a failure."; + smiv2:defval "120"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.11"; + } + + leaf rttMplsVpnMonTypeLpdEchoTimeout { + type int32 { + range "0..604800000"; + } + units "milliseconds"; + description + "This object specifies the timeout value for the LSP echo + requests which are sent while performing the LSP Path + Discovery."; + smiv2:defval "5000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.12"; + } + + leaf rttMplsVpnMonTypeLpdEchoInterval { + type int32 { + range "0..3600000"; + } + units "milliseconds"; + description + "This object specifies the send interval between LSP echo + requests which are sent while performing the LSP Path + Discovery."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.13"; + } + + leaf rttMplsVpnMonTypeLpdEchoNullShim { + type boolean; + description + "This object specifies if the explicit-null label is added to + LSP echo requests which are sent while performing the LSP Path + Discovery. + + If set to TRUE all the probes configured as part of this control + row will send the LSP echo requests with the explicit-null + label added."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.14"; + } + + leaf rttMplsVpnMonTypeLpdScanPeriod { + type int32 { + range "0..7200"; + } + units "minutes"; + description + "This object specifies the scan time for the completion of LSP + Path Discovery for all the PEs discovered for this control row. + If the scan period is exceeded on completion of the LSP Path + Discovery for all the PEs, the next discovery will start + immediately else it will wait till expiry of scan period. + + For example: If the value is set to 30 minutes then on start of + the LSP Path Discovery a timestamp will be taken say T1. At the + end of the tree trace discovery one more timestamp will be taken + again say T2. If (T2-T1) is greater than 30, the next discovery + will start immediately else next discovery will wait for + [30 - (T2-T1)]. + + Note: If the object is set to a special value of '0', it will + force immediate start of the next discovery on all neighbours + without any delay."; + smiv2:defval "240"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.15"; + } + + leaf rttMplsVpnMonTypeLpdStatHours { + type int32 { + range "0..2"; + } + description + "The maximum number of hours of data to be kept per LPD + group. The LPD group statistics will be kept in an hourly + bucket. At the maximum there can be two buckets. + The value of 'one' is not advisable because the group will close + and immediately be deleted before the network management station + will have the opportunity to retrieve the statistics. + + The value used in the rttMplsVpnLpdGroupStatsTable to + uniquely identify this group is the + rttMonStatsCaptureStartTimeIndex. + + Note: When this object is set to the value of '0' all + rttMplsVpnLpdGroupStatsTable data capturing will be shut off."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.16.1.16"; + } + } + + smiv2:alias "rttMplsVpnMonScheduleTable" { + description + "A table of Auto SAA L3 MPLS VPN monitoring scheduling + specific definitions. + + This table is controlled via the rttMplsVpnMonCtrlTable. + Entries in this table are created via the + rttMplsVpnMonCtrlStatus object."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17"; + } + + smiv2:alias "rttMplsVpnMonScheduleEntry" { + description + "A list of objects that define specific configuration for + the scheduling of RTT operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry" { + description + "A list of objects that define specific configuration for + the scheduling of RTT operations."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17.1"; + + leaf rttMplsVpnMonScheduleRttStartTime { + type yang:timeticks; + description + "This is the time when this conceptual row will + activate. rttMplsVpnMonSchedulePeriod object must be specified + before setting this object. + + This is the value of MIB-II's sysUpTime in the future. + When sysUpTime equals this value this object will + cause the activation of a conceptual Auto SAA L3 MPLS VPN row. + + When an agent has the capability to determine date and + time, the agent should store this object as DateAndTime. + This allows the agent to be able to activate conceptual + Auto SAA L3 MPLS VPN row at the intended time. + + If this object has value as 1, this means start the operation + now itself. Value of 0 puts the operation in pending state."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17.1.1"; + } + + leaf rttMplsVpnMonSchedulePeriod { + type int32 { + range "1..604800"; + } + units "seconds"; + description + "Specifies the time duration over which all the probes created + by the current Auto SAA L3 MPLS VPN have to be scheduled. + + This object must be set first before setting + rttMplsVpnMonScheduleRttStartTime."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17.1.2"; + } + + leaf rttMplsVpnMonScheduleFrequency { + type int32 { + range "1..604800"; + } + units "seconds"; + description + "Specifies the duration between initiating each RTT + operation configured by the Auto SAA L3 MPLS VPN. + + This object cannot be set to a value which would be a + shorter duration than rttMplsVpnMonCtrlTimeout. + + The usage of this value in RTT operation is same as + rttMonCtrlAdminFrequency."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.17.1.3"; + } + } + + smiv2:alias "rttMplsVpnMonReactTable" { + description + "A Table of Auto SAA L3 MPLS VPN Notification definitions. + + This table augments the rttMplsVpnMonCtrlTable."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18"; + } + + smiv2:alias "rttMplsVpnMonReactEntry" { + description + "A list of objects that define Auto SAA L3 MPLS VPN reaction + configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1"; + } + + augment "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry" { + description + "A list of objects that define Auto SAA L3 MPLS VPN reaction + configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1"; + + leaf rttMplsVpnMonReactConnectionEnable { + type boolean; + description + "The value set for this will be applied as + rttMonReactAdminConnectionEnable for individual probes created + by the Auto SAA L3 MPLS VPN. + + When this object is set to true, rttMonReactVar for individual + probes created by the Auto SAA L3 MPLS VPN will be set to + 'connectionLoss(8)'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.1"; + } + + leaf rttMplsVpnMonReactTimeoutEnable { + type boolean; + description + "The value set for this will be applied as + rttMonReactAdminTimeoutEnable for individual probes created + by the Auto SAA L3 MPLS VPN. + + When this object is set to true, rttMonReactVar for individual + probes created by the Auto SAA L3 MPLS VPN will be set to + 'timeout(7)'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.2"; + } + + leaf rttMplsVpnMonReactThresholdType { + type enumeration { + enum "never" { + value "1"; + } + enum "immediate" { + value "2"; + } + enum "consecutive" { + value "3"; + } + } + description + "The value corresponding to this object will be applied as + rttMonReactAdminThresholdType for individual probes created by + the Auto SAA L3 MPLS VPN. + + The value corresponding to this object will be applied as + rttMonReactThresholdType for individual probes created by + the Auto SAA L3 MPLS VPN."; + smiv2:defval "never"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.3"; + } + + leaf rttMplsVpnMonReactThresholdCount { + type int32 { + range "1..16"; + } + description + "This object value will be applied as + rttMonReactAdminThresholdCount for individual probes created by + the Auto SAA L3 MPLS VPN. + + This object value will be applied as rttMonReactThresholdCountX + for individual probes created by the Auto SAA L3 MPLS VPN."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.4"; + } + + leaf rttMplsVpnMonReactActionType { + type enumeration { + enum "none" { + value "1"; + } + enum "trapOnly" { + value "2"; + } + } + description + "The value corresponding to this object will be applied as + rttMonReactAdminActionType of individual probes created by + this Auto SAA L3 MPLS VPN. + + The value corresponding to this object will be applied as + rttMonReactActionType of individual probes created by + this Auto SAA L3 MPLS VPN."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.5"; + } + + leaf rttMplsVpnMonReactLpdNotifyType { + type enumeration { + enum "none" { + value "1"; + } + enum "lpdPathDiscovery" { + value "2"; + } + enum "lpdGroupStatus" { + value "3"; + } + enum "lpdAll" { + value "4"; + } + } + description + "This object specifies the type of LPD notifications to be + generated for the current Auto SAA L3 MPLS VPN control row. + + This object will be applicable only when LSP Path Discovery is + enabled for this row. + + There are two types of notifications supported for the LPD - + (a) rttMonLpdDiscoveryNotification - This notification will + be sent on the failure of LSP Path Discovery to the + particular PE. Reversal of the failure will also result in + sending the notification. + (b) rttMonLpdGrpStatusNotification - Individual probes in an LPD + group will not generate notifications independently but will + be generating dependent on the state of the group. Any + individual probe can initiate the generation of a + notification, dependent on the state of the group. + Notifications are only generated if the failure/restoration + of an individual probe causes the state of the group to + change. + + The Value 'none' will not cause any notifications to be sent. + + The Value 'lpdPathDiscovery' will cause (a) to be sent. + + The Value 'lpdGroupStatus' will cause (b) to be sent. + + The Value 'lpdAll' will cause both (a) and (b) to sent + depending on the failure conditions."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.6"; + } + + leaf rttMplsVpnMonReactLpdRetryCount { + type int32 { + range "1..16"; + } + units "attempts"; + description + "This object value specifies the number of attempts to be + performed before declaring the path as 'down'. Each 'single + probe' which is part of 'lspGroup' probe will be retried these + many times before marking it as 'down'. + + This object will be applicable only when LSP Path Discovery is + enabled for this row. + + - When rttMplsVpnMonTypeSecFreqType is not configured, the + failure count will be incremented at the next cycle of + 'lspGroup' probe at interval's of + rttMplsVpnMonScheduleFrequency value. + + For example: Assume there are 10 paths discovered and on + the first run of the 'lspGroup' probe first two paths failed + and rest passed. On the second run all the probes will be + run again. The probes 1 and 2 will be retried till the + rttMplsVpnMonReactLpdRetryCount value, and + then marked as 'down' and rttMonLpdGrpStatusNotification + will be sent if configured. + + - When rttMplsVpnMonTypeSecFreqType value is anything other + than 'none', the retry will happen for the failed probes at + the rttMplsVpnMonTypeSecFreqValue and only the failed + probes will be retried. + + For example: Assume there are 10 paths discovered and on the + first run of the 'lspGroup' probe first two paths failed and + rest passed. The secondary frequency will be applied to the + failed probes. At secondary frequency interval the first two + probes will be run again. The probes 1 and 2 will be retried + till the rttMplsVpnMonReactLpdRetryCount value, and + then marked as 'down' and rttMonLpdGrpStatusNotification + will be sent if configured."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2.18.1.7"; + } + } + + notification rttMonConnectionChangeNotification { + status deprecated; + description + "This notification is only valid when the RttMonRttType + is 'echo' or 'pathEcho'. + + A rttMonConnectionChangeNotification indicates that a + connection to a target (not to a hop along the path + to a target) has either failed on establishment or + been lost and when reestablished. Precisely, this + has resulted in rttMonCtrlOperConnectionLostOccurred + changing value. + + If History is not being collected, the instance values + for the rttMonHistoryCollectionAddress object will not + be valid. When RttMonRttType is not 'echo' or 'pathEcho' + the rttMonHistoryCollectionAddress object will be null. + rttMonConnectionChangeNotification object is superseded by + rttMonNotification."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.1"; + + container object-1 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlAdminTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminTag"; + } + } + } + + container object-2 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionLifeIndex"; + } + } + + leaf rttMonHistoryCollectionBucketIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionBucketIndex"; + } + } + + leaf rttMonHistoryCollectionSampleIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionSampleIndex"; + } + } + + leaf rttMonHistoryCollectionAddress { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionAddress"; + } + } + } + + container object-3 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlOperConnectionLostOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlOperConnectionLostOccurred"; + } + } + } + } + + notification rttMonTimeoutNotification { + status deprecated; + description + "A rttMonTimeoutNotification indicates the occurrence of + a timeout for a RTT operation, and it indicates the + clearing of such a condition by a subsequent RTT + operation. Precisely, this has resulted in + rttMonCtrlOperTimeoutOccurred changing value. + + When the RttMonRttType is 'pathEcho', this + notification will only be sent when the timeout + occurs during an operation to the target and not to + a hop along the path to the target. This also + applies to the clearing of the timeout. + + If History is not being collected, the instance values + for the rttMonHistoryCollectionAddress object will not + be valid. When RttMonRttType is not 'echo' or 'pathEcho' + the rttMonHistoryCollectionAddress object will be null. + rttMonTimeoutNotification object is superseded by + rttMonNotification."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.2"; + + container object-1 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlAdminTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminTag"; + } + } + } + + container object-2 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionLifeIndex"; + } + } + + leaf rttMonHistoryCollectionBucketIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionBucketIndex"; + } + } + + leaf rttMonHistoryCollectionSampleIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionSampleIndex"; + } + } + + leaf rttMonHistoryCollectionAddress { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionAddress"; + } + } + } + + container object-3 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlOperTimeoutOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlOperTimeoutOccurred"; + } + } + } + } + + notification rttMonThresholdNotification { + status deprecated; + description + "A rttMonThresholdNotification indicates the + occurrence of a threshold violation for a RTT operation, + and it indicates the previous violation has subsided for + a subsequent RTT operation. Precisely, this has resulted + in rttMonCtrlOperOverThresholdOccurred changing value. + + When the RttMonRttType is 'pathEcho', this + notification will only be sent when the threshold + violation occurs during an operation to the target and + not to a hop along the path to the target. This also + applies to the subsiding of a threshold condition. + + If History is not being collected, the instance values + for the rttMonHistoryCollectionAddress object will not + be valid. When RttMonRttType is not 'echo' or 'pathEcho' + the rttMonHistoryCollectionAddress object will be null. + + rttMonThresholdNotification object is superseded by + rttMonNotification."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.3"; + + container object-1 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlAdminTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminTag"; + } + } + } + + container object-2 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionLifeIndex"; + } + } + + leaf rttMonHistoryCollectionBucketIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionBucketIndex"; + } + } + + leaf rttMonHistoryCollectionSampleIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionSampleIndex"; + } + } + + leaf rttMonHistoryCollectionAddress { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionAddress"; + } + } + } + + container object-3 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlOperOverThresholdOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlOperOverThresholdOccurred"; + } + } + } + } + + notification rttMonVerifyErrorNotification { + status deprecated; + description + "A rttMonVerifyErrorNotification indicates the + occurrence of a data corruption in an RTT operation. + rttMonVerifyErrorNotification object is superseded by + rttMonNotification."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.4"; + + container object-1 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlAdminTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminTag"; + } + } + } + + container object-2 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionLifeIndex"; + } + } + + leaf rttMonHistoryCollectionBucketIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionBucketIndex"; + } + } + + leaf rttMonHistoryCollectionSampleIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionSampleIndex"; + } + } + + leaf rttMonHistoryCollectionAddress { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionAddress"; + } + } + } + + container object-3 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlOperVerifyErrorOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlOperVerifyErrorOccurred"; + } + } + } + } + + notification rttMonNotification { + description + "A rttMonNotification indicates the occurrence of a + threshold violation, and it indicates the previous + violation has subsided for a subsequent operation. + + When the RttMonRttType is 'pathEcho', this + notification will only be sent when the threshold + violation occurs during an operation to the target and + not to a hop along the path to the target. This also + applies to the subsiding of a threshold condition. + + If History is not being collected, the instance values + for the rttMonHistoryCollectionAddress object will not + be valid. When RttMonRttType is not 'echo' or 'pathEcho' + the rttMonHistoryCollectionAddress object will be null. + + rttMonReactVar defines the type of reaction that is + configured for the probe ( e.g jitterAvg, rtt etc ). + In the rttMonReactTable there are trap definitions + for the probes and each probe may have more than + one trap definitions for various types ( e.g rtt, + jitterAvg, packetLoossSD etc ). So the object rttMonReactVar + indicates the type ( e.g. rtt, packetLossSD, timeout etc ) + for which threshold violation traps has been generated. + + The object rttMonEchoAdminLSPSelector will be valid only + for the probes based on 'mplsLspPingAppl' RttMonProtocol. For + all other probes it will be null."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.5"; + + container object-1 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonCtrlAdminTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminTag"; + } + } + } + + container object-2 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonHistoryCollectionLifeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionLifeIndex"; + } + } + + leaf rttMonHistoryCollectionBucketIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionBucketIndex"; + } + } + + leaf rttMonHistoryCollectionSampleIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionSampleIndex"; + } + } + + leaf rttMonHistoryCollectionAddress { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonHistoryCollectionTable/CISCO-RTTMON-MIB:rttMonHistoryCollectionEntry/CISCO-RTTMON-MIB:rttMonHistoryCollectionAddress"; + } + } + } + + container object-3 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactConfigIndex"; + } + } + + leaf rttMonReactVar { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactVar"; + } + } + } + + container object-4 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactConfigIndex"; + } + } + + leaf rttMonReactOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactOccurred"; + } + } + } + + container object-5 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactConfigIndex"; + } + } + + leaf rttMonReactValue { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactValue"; + } + } + } + + container object-6 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactConfigIndex"; + } + } + + leaf rttMonReactThresholdRising { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactThresholdRising"; + } + } + } + + container object-7 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonReactConfigIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactConfigIndex"; + } + } + + leaf rttMonReactThresholdFalling { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonReactTable/CISCO-RTTMON-MIB:rttMonReactEntry/CISCO-RTTMON-MIB:rttMonReactThresholdFalling"; + } + } + } + + container object-8 { + + leaf rttMonCtrlAdminIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonCtrlAdminTable/CISCO-RTTMON-MIB:rttMonCtrlAdminEntry/CISCO-RTTMON-MIB:rttMonCtrlAdminIndex"; + } + } + + leaf rttMonEchoAdminLSPSelector { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonEchoAdminTable/CISCO-RTTMON-MIB:rttMonEchoAdminEntry/CISCO-RTTMON-MIB:rttMonEchoAdminLSPSelector"; + } + } + } + } + + notification rttMonLpdDiscoveryNotification { + description + "A rttMonLpdDiscoveryNotification indicates that the LSP Path + Discovery to the target PE has failed, and it also indicates + the clearing of such condition. Precisely this has resulted in + rttMonLpdGrpStatsLPDFailOccurred changing value. + + When the rttMonLpdGrpStatsLPDFailOccurred is 'false', the + instance value for rttMonLpdGrpStatsLPDFailCause is not valid."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.6"; + + container object-1 { + + leaf rttMplsVpnMonCtrlIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlIndex"; + } + } + + leaf rttMplsVpnMonCtrlTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTag"; + } + } + } + + container object-2 { + + leaf rttMonLpdGrpStatsGroupIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupIndex"; + } + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsStartTimeIndex"; + } + } + + leaf rttMonLpdGrpStatsTargetPE { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTargetPE"; + } + } + } + + container object-3 { + + leaf rttMonLpdGrpStatsGroupIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupIndex"; + } + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsStartTimeIndex"; + } + } + + leaf rttMonLpdGrpStatsLPDFailCause { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsLPDFailCause"; + } + } + } + + container object-4 { + + leaf rttMonLpdGrpStatsGroupIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupIndex"; + } + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsStartTimeIndex"; + } + } + + leaf rttMonLpdGrpStatsLPDFailOccurred { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsLPDFailOccurred"; + } + } + } + } + + notification rttMonLpdGrpStatusNotification { + description + "A rttMonLpdGrpStatusNotification indicates that the LPD + Group status rttMonLpdGrpStatsGroupStatus has changed indicating + some connectivity change to the target PE. + This has resulted in rttMonLpdGrpStatsGroupStatus changing + value."; + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0.7"; + + container object-1 { + + leaf rttMplsVpnMonCtrlIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlIndex"; + } + } + + leaf rttMplsVpnMonCtrlTag { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTable/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlEntry/CISCO-RTTMON-MIB:rttMplsVpnMonCtrlTag"; + } + } + } + + container object-2 { + + leaf rttMonLpdGrpStatsGroupIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupIndex"; + } + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsStartTimeIndex"; + } + } + + leaf rttMonLpdGrpStatsTargetPE { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTargetPE"; + } + } + } + + container object-3 { + + leaf rttMonLpdGrpStatsGroupIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupIndex"; + } + } + + leaf rttMonLpdGrpStatsStartTimeIndex { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsStartTimeIndex"; + } + } + + leaf rttMonLpdGrpStatsGroupStatus { + type leafref { + path "/CISCO-RTTMON-MIB:CISCO-RTTMON-MIB/CISCO-RTTMON-MIB:rttMonLpdGrpStatsTable/CISCO-RTTMON-MIB:rttMonLpdGrpStatsEntry/CISCO-RTTMON-MIB:rttMonLpdGrpStatsGroupStatus"; + } + } + } + } + + smiv2:alias "ciscoRttMonMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.42"; + } + + smiv2:alias "ciscoRttMonObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1"; + } + + smiv2:alias "rttMonAppl" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.1"; + } + + smiv2:alias "rttMonCtrl" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.2"; + } + + smiv2:alias "rttMonStats" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.3"; + } + + smiv2:alias "rttMonHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.4"; + } + + smiv2:alias "rttMonLatestOper" { + smiv2:oid "1.3.6.1.4.1.9.9.42.1.5"; + } + + smiv2:alias "rttMonNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.42.2"; + } + + smiv2:alias "rttMonNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.42.2.0"; + } + + smiv2:alias "ciscoRttMonMibConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.42.3"; + } + + smiv2:alias "ciscoRttMonMibCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.42.3.1"; + } + + smiv2:alias "ciscoRttMonMibGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.42.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-TC-MIB.yang new file mode 100644 index 000000000..a10bf255a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-RTTMON-TC-MIB.yang @@ -0,0 +1,1195 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-RTTMON-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-RTTMON-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-RTTMON-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB"; + prefix CISCO-RTTMON-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553 NETS + Email: cs-ipsla@cisco.com"; + + description + "This MIB contains textual conventions used by + CISCO-RTTMON-MIB, CISCO-RTTMON-RTP-MIB and + CISCO-RTTMON-ICMP-MIB, but they are not limited + to only these MIBs. + These textual conventions were originally defined in + CISCO-RTTMON-MIB. + + Acronyms: + FEC: Forward Equivalence Class + LPD: Label Path Discovery + LSP: Label Switched Path + MPLS: Multi Protocol Label Switching + RTT: Round Trip Time + SAA: Service Assurance Agent + VPN: Virtual Private Network + CFM: Connection Fault Management"; + + revision 2012-05-25 { + description + "Added enumeration y1731slm to RttMonProtocol + + Added the following to RttResopnseSense. + statsRetrieveOk, statsRetrieveNoConnect, + statsRetrieveVersionFail, statsRetrieveInternalError, + statsRetrieveAbort, statsRetrieveFail, + statsRetrieveAuthFail, statsRetrieveFormatError, + statsRetrievePortInUse. + + For enumeration from controlOk to controlPortInUse, changed the + prefix from control to enable."; + } + + revision 2011-09-15 { + description + "Updated following textual conventions to include Y1731 + and Multicast extensions. + -RttMonRttType, RttMonProtocol."; + } + + revision 2010-04-26 { + description + "Added enumeration 'video' to RttMonRttType TC."; + } + + revision 2006-08-11 { + description + "Added RttMonIdLst and RttMonCtrlIndex textual conventions."; + } + + revision 2006-07-17 { + description + "Added enumeration 'lspPingPseudowire' to RttMonRttType TC."; + } + + revision 2006-03-02 { + description + "Added ethernetPing and ethernetJitter in RttMonRttType. + Added ethernetPingAppl and ethernetJitterAppl + in RttMonProtocol"; + } + + revision 2005-08-09 { + description + "Initial version of this MIB module."; + } + + typedef RttReset { + type enumeration { + enum "ready" { + value "1"; + } + enum "reset" { + value "2"; + } + } + description + "When the value set to 'reset', the entire RTT application + goes through a reset sequence, making a best + effort to revert to its startup condition. At other times, + the value is 'ready'."; + } + + typedef RttMonOperation { + type enumeration { + enum "notApplicable" { + value "0"; + } + enum "httpGet" { + value "1"; + } + enum "httpRaw" { + value "2"; + } + enum "ftpGet" { + value "3"; + } + enum "ftpPassive" { + value "4"; + } + enum "ftpActive" { + value "5"; + } + enum "voipDTAlertRinging" { + value "6"; + } + enum "voipDTConnectOK" { + value "7"; + } + } + description + "The following are specific RTT operations for a + particular probe type: + notApplicable(0) - This object is not applicable for the + probe type. + httpGet(1) - HTTP get request + httpRaw(2) - HTTP request with user defined payload + ftpGet(3) - FTP get request + ftpPassive(4) - FTP passive mode + ftpActive(5) - FTP active mode + voipDTAlertRinging(6) - Voip post dial delay detect point: + Alerting / Ringing + voipDTConnectOK(7) - Voip post dial delay detect point: + Connect /OK"; + } + + typedef RttResponseSense { + type enumeration { + enum "other" { + value "0"; + } + enum "ok" { + value "1"; + } + enum "disconnected" { + value "2"; + } + enum "overThreshold" { + value "3"; + } + enum "timeout" { + value "4"; + } + enum "busy" { + value "5"; + } + enum "notConnected" { + value "6"; + } + enum "dropped" { + value "7"; + } + enum "sequenceError" { + value "8"; + } + enum "verifyError" { + value "9"; + } + enum "applicationSpecific" { + value "10"; + } + enum "dnsServerTimeout" { + value "11"; + } + enum "tcpConnectTimeout" { + value "12"; + } + enum "httpTransactionTimeout" { + value "13"; + } + enum "dnsQueryError" { + value "14"; + } + enum "httpError" { + value "15"; + } + enum "error" { + value "16"; + } + enum "mplsLspEchoTxError" { + value "17"; + } + enum "mplsLspUnreachable" { + value "18"; + } + enum "mplsLspMalformedReq" { + value "19"; + } + enum "mplsLspReachButNotFEC" { + value "20"; + } + enum "enableOk" { + value "21"; + } + enum "enableNoConnect" { + value "22"; + } + enum "enableVersionFail" { + value "23"; + } + enum "enableInternalError" { + value "24"; + } + enum "enableAbort" { + value "25"; + } + enum "enableFail" { + value "26"; + } + enum "enableAuthFail" { + value "27"; + } + enum "enableFormatError" { + value "28"; + } + enum "enablePortInUse" { + value "29"; + } + enum "statsRetrieveOk" { + value "30"; + } + enum "statsRetrieveNoConnect" { + value "31"; + } + enum "statsRetrieveVersionFail" { + value "32"; + } + enum "statsRetrieveInternalError" { + value "33"; + } + enum "statsRetrieveAbort" { + value "34"; + } + enum "statsRetrieveFail" { + value "35"; + } + enum "statsRetrieveAuthFail" { + value "36"; + } + enum "statsRetrieveFormatError" { + value "37"; + } + enum "statsRetrievePortInUse" { + value "38"; + } + } + description + "These are the defined values for a completion status + of a RTT operation. + + other(0) - the operation is not started or completed + or this object is not applicable for + the probe type. + ok(1) - a valid completion occurred and + timed successfully + disconnected(2) - the operation did not occur because + the connection to the target + was lost + overThreshold(3) - a valid completion was received but + the completion time exceeded a + threshold value + timeout(4) - an operation timed out; no completion + time recorded + busy(5) - the operation did not occur because a + previous operation is still + outstanding + notConnected(6) - the operation did not occur because no + connection (session) exists with the + target + dropped(7) - the operation did not occur due to lack + of internal resource + sequenceError(8) - a completed operation did not contain + the correct sequence id; no completion + time recorded + verifyError(9) - a completed operation was received, but + the data it contained did not match + the expected data; no completion time + recorded + applicationSpecific(10) + - the application generating the operation + had a specific error + dnsServerTimeout(11) + - DNS Server Timeout + tcpConnectTimeout(12) + - TCP Connect Timeout + httpTransactionTimeout(13) + - HTTP Transaction Timeout + dnsQueryError(14) + - DNS Query error (because of unknown address + etc.,) + httpError(15) + - HTTP Response StatusCode is not OK (200), + or permenent redirect(301), temporary redirect + (302) then HTTP error is set. + error(16) + - if there are socket failures or some other + errors not relavant to the actual probe, they + are recorded under this error + mplsLspEchoTxError(17) + - MPLS echo request transmission failure. + mplsLspUnreachable(18) + - MPLS Target FEC not reachable or unsupported + mpls echo reply code. + mplsLspMalformedReq(19) + - MPLS echo request was malformalformed, pointed + out by the reply router. + mplsLspReachButNotFEC(20) + - MPLS echo request processed by the downstream + router but not the target. + enableOk(21) + - Control enable request OK + enableNoConnect(22) + - Control enable request fail due to no connection to + the target. + enableVersionFail(23) + - Control enable request version fail. + enableInternalError(24) + - Control enable request internal error. + enableAbort(25) + - Control enable request abort. + enableFail(26) + - Control enable request fail. + enableAuthFail(27) + - Control enable request fail due to authentication + fail. + enableFormatError(28) + - Control enable request fail due to format error. + enablePortInUse(29) + - Control enable request fail due to port in use. + statsRetrieveOk(30) + - Stats retrieve request OK + statsRetrieveNoConnect(31) + - Stats retrieve request fail due to no connection + to the target. + statsRetrieveVersionFail(32) + - Stats retrieve request version fail. + statsRetrieveInternalError(33) + - Stats retrieve request internal error. + statsRetrieveAbort(34) + - Stats retrieve request abort. + statsRetrieveFail(35) + - Stats retrieve request fail. + statsRetrieveAuthFail(36) + - Stats retrieve request fail due to authentication fail. + statsRetrieveFormatError(37) + - Stats retrieve request fail due to format error. + statsRetrievePortInUse(38) + - Stats retrieve request fail due to port in use."; + } + + typedef RttMonRttType { + type enumeration { + enum "none" { + value "0"; + } + enum "echo" { + value "1"; + } + enum "pathEcho" { + value "2"; + } + enum "fileIO" { + value "3"; + } + enum "script" { + value "4"; + } + enum "udpEcho" { + value "5"; + } + enum "tcpConnect" { + value "6"; + } + enum "http" { + value "7"; + } + enum "dns" { + value "8"; + } + enum "jitter" { + value "9"; + } + enum "dlsw" { + value "10"; + } + enum "dhcp" { + value "11"; + } + enum "ftp" { + value "12"; + } + enum "voip" { + value "13"; + } + enum "rtp" { + value "14"; + } + enum "lspGroup" { + value "15"; + } + enum "icmpjitter" { + value "16"; + } + enum "lspPing" { + value "17"; + } + enum "lspTrace" { + value "18"; + } + enum "ethernetPing" { + value "19"; + } + enum "ethernetJitter" { + value "20"; + } + enum "lspPingPseudowire" { + value "21"; + } + enum "video" { + value "22"; + } + enum "y1731Delay" { + value "23"; + } + enum "y1731Loss" { + value "24"; + } + enum "mcastJitter" { + value "25"; + } + } + description + "Specifies the type of RTT operation to be performed. + + The value 'echo' will cause the RTT application to + perform a timed echo request/response operation directed + at the 'RttMonTargetAddress'. + + The value 'pathEcho' will cause the RTT application + to perform path discovery to the 'RttMonTargetAddress', + then it will perform a timed echo request/response + operation directed at the each hop along the path. + This operation will provide two types of information, + first the path and second the time delay along the path. + + NOTE: The 'pathEcho' time delay operation is a heuristic + measurement because an intermediate hop may forward + the different echo request/response at different + rates. Thus the time delay difference between two + hops along a path may contain very little 'true' + statistical meaning. + + The value 'fileIO' will cause the RTT application to + write, read, or write/read a file to a preconfigured + file server. + + The value 'script' will cause the RTT application to + execute a preconfigured script. + + The value 'udpEcho' will cause the RTT application + to perform a timed udp packet send/receive operation + directed at the 'RttMonTargetAddress'. + + The value 'tcpConnect' will cause the RTT application + to perform a timed tcp connect operation directed at the + 'RttMonTargetAddress'. + + The value 'http' will cause the RTT application + to perform a download of the object specified in the URL. + + The value 'dns' will cause the RTT application + to perform a name lookup of an IP Address or a hostname. + + The value 'jitter' will cause the RTT application + to perform delay variance analysis. + + The value 'dlsw' will cause the RTT application + to perform a keepalive operation to measure the response + time of a DLSw peer. + + The value 'dhcp' will cause the RTT application + to perform an IP Address lease request/teardown operation. + + The value 'voip' will cause the RTT application + to perform call set up operation to measure the response. + + The value 'rtp' will cause the RTT application to perform + delay variance analysis for RTP packet. + + The value 'lspGroup' will cause the RTT application to logically + group Label Switched Paths discovered as part of LSP Path + Discovery to the target and perform an RTT operation end to end + over each path in the Group. The type of operation configured + is determined by rttMplsVpnMonCtrlRttType. + + The value 'icmpjitter' will cause the RTT application + to perform delay variance analysis using ICMP timestamp packets. + + The value of 'lspPingIpv4' will cause the RTT application to + perform ping over LSP path. + + The value of 'lspTraceIpv4' will cause the RTT application to + perform trace over LSP path. + + The value of 'ethernetPing' will cause the RTT application to + perform delay variance analysis using regular 802.1ag loopback + frame. + + The value of 'ethernetJitter' will cause the RTT application to + perform delay variance analysis using CFM frame. + + The value of 'lspPingPseudowire' will cause the RTT application + to + perform LSP Ping over Pseudowire and measure response time. + + The value 'video' will cause the the RTT application to perform + a video stream analysis directed at the 'RttMonTargetAddress + The value 'y1731Delay' will cause the RTT application to perform a ITU-T standard Y.1731 delay variance analysis + The value 'y1731Loss' will cause the RTT application to perform a ITU-T standard Y.1731 loss measure analysis + The value 'mcastJitter' will cause the RTT application to perform + udp jitter stream analysis on a multicast network."; + } + + typedef RttMplsVpnMonRttType { + type enumeration { + enum "jitter" { + value "1"; + } + enum "echo" { + value "2"; + } + enum "pathEcho" { + value "3"; + } + } + description + "Specifies the type of RTT operation to be performed for + Auto SAA L3 MPLS VPN. + + The value 'jitter' will cause the Auto SAA L3 MPLS VPN to + automatically configure jitter operations. + + The value 'echo' will cause the Auto SAA L3 MPLS VPN to + automatically configure jitter operations. + + The value 'pathEcho' will cause the Auto SAA L3 MPLS VPN to + automatically configure jitter operations."; + } + + typedef RttMplsVpnMonLpdFailureSense { + type enumeration { + enum "unknown" { + value "1"; + } + enum "noPath" { + value "2"; + } + enum "allPathsBroken" { + value "3"; + } + enum "allPathsUnexplorable" { + value "4"; + } + enum "allPathsBrokenOrUnexplorable" { + value "5"; + } + enum "timeout" { + value "6"; + } + enum "error" { + value "7"; + } + } + description + "These are the defined values for the causes of failure in + LSP Path Discovery. + + unknown(1) - The cause of failure for the + LSP Path Discovery cannot be + determined. The discovery for + the target PE may not have + started. + noPath(2) - No paths were found to the + target FEC while doing the + LSP Path Discovery. + allPathsBroken(3) - All paths to the target FEC + are broken. This means an + untagged interface on the LSP + to the target. + allPathsUnexplorable(4) - All paths to the target FEC are + unexplorable. This identifies + a case where there is some + problem in reaching the next + hop while doing Discovery. + allPathsBrokenOrUnexplorable(5) - All paths to the target FEC are + are either broken or + unexplorable. + timeout(6) - The LSP Path Discovery could + not be completed for the + target FEC within the + configured time. + error(7) - Error occurred while + performing LSP Path Discovery. + It might be also due to some + reasons unrelated to LSP Path + Discovery."; + } + + typedef RttMplsVpnMonLpdGrpStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "up" { + value "2"; + } + enum "partial" { + value "3"; + } + enum "down" { + value "4"; + } + } + description + "These are the defined values for the status of the LPD Group. + + unknown(1) - This indicates that some/all of the probes which are + part of the LPD group have not completed even + a single operation, so the group status cannot be + identified. + up(2) - This state indicates that all the probes which are + part of the LPD group are up with latest return + code as 'ok'. + partial(3) - This state indicates that some probes are up and + running fine and some are not 'ok'. + down(4) - This state indicates that all the probes to the + target are not running fine. This state indicates + that there is connectivity problem to the target + PE."; + } + + typedef RttMonProtocol { + type enumeration { + enum "none" { + value "0"; + } + enum "notApplicable" { + value "1"; + } + enum "ipIcmpEcho" { + value "2"; + } + enum "ipUdpEchoAppl" { + value "3"; + } + enum "snaRUEcho" { + value "4"; + } + enum "snaLU0EchoAppl" { + value "5"; + } + enum "snaLU2EchoAppl" { + value "6"; + } + enum "snaLU62Echo" { + value "7"; + } + enum "snaLU62EchoAppl" { + value "8"; + } + enum "appleTalkEcho" { + value "9"; + } + enum "appleTalkEchoAppl" { + value "10"; + } + enum "decNetEcho" { + value "11"; + } + enum "decNetEchoAppl" { + value "12"; + } + enum "ipxEcho" { + value "13"; + } + enum "ipxEchoAppl" { + value "14"; + } + enum "isoClnsEcho" { + value "15"; + } + enum "isoClnsEchoAppl" { + value "16"; + } + enum "vinesEcho" { + value "17"; + } + enum "vinesEchoAppl" { + value "18"; + } + enum "xnsEcho" { + value "19"; + } + enum "xnsEchoAppl" { + value "20"; + } + enum "apolloEcho" { + value "21"; + } + enum "apolloEchoAppl" { + value "22"; + } + enum "netbiosEchoAppl" { + value "23"; + } + enum "ipTcpConn" { + value "24"; + } + enum "httpAppl" { + value "25"; + } + enum "dnsAppl" { + value "26"; + } + enum "jitterAppl" { + value "27"; + } + enum "dlswAppl" { + value "28"; + } + enum "dhcpAppl" { + value "29"; + } + enum "ftpAppl" { + value "30"; + } + enum "mplsLspPingAppl" { + value "31"; + } + enum "voipAppl" { + value "32"; + } + enum "rtpAppl" { + value "33"; + } + enum "icmpJitterAppl" { + value "34"; + } + enum "ethernetPingAppl" { + value "35"; + } + enum "ethernetJitterAppl" { + value "36"; + } + enum "videoAppl" { + value "37"; + } + enum "y1731dmm" { + value "38"; + } + enum "y17311dm" { + value "39"; + } + enum "y1731lmm" { + value "40"; + } + enum "mcastJitterAppl" { + value "41"; + } + enum "y1731slm" { + value "42"; + } + enum "y1731dmmv1" { + value "43"; + } + } + description + "Specifies the protocol to be used to perform the timed + echo request/response. The following protocols are + defined: + + NOTE: All protocols that end in 'Appl' will support + the asymetric request/response (ARR) protocol. + See the DESCRIPTION for ciscoRttMonMIB for a + complete description of the asymetric + request/response protocol. + + notApplicable - no protocol is defined + ipIcmpEcho - uses Echo Request/Reply as defined + in RFC792 for Internet Protocol + networks + ipUdpEchoAppl - uses the UDP based echo server + snaRUEcho - uses the REQECHO and ECHOTEST RU's + to an SSCP over an SNA LU-SSCP + session + snaLU0EchoAppl - uses test RU's sent to the Echo + Server over an SNA LU0-LU0 session + snaLU2EchoAppl - uses test RU's sent to the Echo + Server over an SNA LU2-LU2 session + snaLU62Echo - uses the native appn ping ie. aping + snaLU62EchoAppl - uses test RU's sent to the ARR + Echo Server over an SNA LU6.2-LU6.2 + session + appleTalkEcho - uses Echo Request/Reply as defined + for appleTalk networks + appleTalkEchoAppl - uses the appleTalk based echo + server + decNetEcho - uses Echo Request/Reply as defined + for DECNet networks + decNetEchoAppl - uses the DECnet based echo server + ipxEcho - uses Echo Request/Reply as defined + for Novell IPX networks + ipxEchoAppl - uses the Novel IPX based echo + server + isoClnsEcho - uses Echo Request/Reply as defined + for ISO CLNS networks + isoClnsEchoAppl - uses the ISO CLNS based echo + server + vinesEcho - uses Echo Request/Reply as defined + for VINES networks + vinesEchoAppl - uses the VINES based echo server + xnsEcho - uses Echo Request/Reply as defined + for XNS networks + xnsEchoAppl - uses the XNS based echo server + apolloEcho - uses Echo Request/Reply as defined + for APOLLO networks + apolloEchoAppl - uses the APOLLO based echo + server + netbiosEchoAppl - uses the netbios based echo + server + ipTcpConn - uses the tcp's connect mechanism + httpAppl - uses udp for name resolution, + tcp connect and tcp data transfer + mechanisms for HTTP data download + from a particular HTTP Server + dnsAppl - uses udp for name resolution + jitterAppl - uses udp for packet transfers + dlswAppl - uses tcp for sending keepalives + dhcpAppl - uses udp for sending dhcp requests + ftpAppl - uses tcp for connect & data transfer + mplsLspPingAppl - uses MPLS Echo Request/Response as per + draft-ietf-mpls-lsp-ping-04 ietf + standard + voipAppl - uses Symphony infrastructure to measure + H.323/SIP call set up time + rtpAppl - uses Symphony infrastructure to measure + rtp packets delay variance. + icmpJitterAppl - uses ICMP Timestamp for packet transfer + to measure jitter. + ethernetPingAppl - uses regular 802.1ag loopback frame + ethernetJitterAppl - uses CFM frames . + videoAppl - uses synthetic traffic depending on video + profile + y1731dmm - used to measure Y1731 delay + y17311dm - used to measure Y1731 1DM + y1731lmm - used to measure Y1731 Loss measurement + y1731slm - used to measure Y1731 Synthetic Loss measurement + mcastJitterAppl - uses udp jitter to measure multicast network + performance"; + } + + typedef RttMonCodecType { + type enumeration { + enum "notApplicable" { + value "0"; + } + enum "g711ulaw" { + value "1"; + } + enum "g711alaw" { + value "2"; + } + enum "g729a" { + value "3"; + } + } + description + "Specifies the codec type to be used with the jitter probe. + The following codec types are defined: + + notApplicable - no CodecType is defined + g711ulaw - uses G.711 U Law 64000 bps + g711alaw - uses G.711 A Law 64000 bps + g729a - uses G.729 8000 bps"; + } + + typedef RttMonLSPPingReplyMode { + type enumeration { + enum "replyIpv4Udp" { + value "1"; + } + enum "replyIpv4UdpRA" { + value "2"; + } + } + description + "Specifies the Reply mode for the MPLS LSP Echo request + packets. The following reply modes are supported: + + replyIpv4Udp(1) - an mpls echo request will normally + have reply via IPv4 UDP packets. + replyIpv4UdpRA(2) - reply via IPv4 UDP Router Alert. Used + when IPv4 return path is deemed + unreliable."; + } + + typedef RttMonTargetAddress { + type binary; + description + "A string which specifies the address of the target for + the RTT operation; a value of RttMonTargetAddress + which corresponds to a 'broadcast' address is disallowed. + + The interpretation of this string depends on the type of + RTT operation selected, as specified by RttMonProtocol; + consequently, this object cannot be created until + RttMonProtocol has been created (or must be in the same + PDU). + + SNA addresses will be provided in ASCII, but will be + converted to EBCDIC + + It is interpreted as follows, for the specified values of + RttMonProtocol: + + ipIcmpEcho, ipUdpEchoAppl, ipTcpConn, jitterAppl, dlswAppl, + dnsAppl, httpAppl, and dhcpAppl + - 4 octets + + snaRUEcho + - N octets, containing the value of the sna + HOSTNAME of which the SSCP LU will be used + for the operation. For many systems this value + can be empty, and the system will use the + implied SSCP LU. For example 'NSPECHO'. + + snaLU0EchoAppl and snaLU2EchoAppl + - N octets, the first x octets are the HOSTNAME + (Alternatively, this could be a PU name defined + to transport to the desired HOST), the second + y octets are the APPLID, and the last z octets + are the MODENAME of the Echo Server (blank + for a MODENAME default). The address will be + encoded with a size byte preceding each of + the x y and z called s. For example sxsysz + as in '0x06CWBC060x07NSPECHO0x00' where + HOSTNAME = CWBC06, APPLID = NSPECHO, and + MODENAME is defaulted to 8 blanks. + NOTE: MODENAME is either size 0 or 8. + + snaLU62Echo and snaLU62EchoAppl + - N octets, the first x octets are the LU-NAME, + the second y octets are the TP-NAME, and the + last z octets are the MODENAME of the Echo + Server. The address will be encoded with a size + byte preceding each of the x y and z called s. + For example sxsysz (zero size before z for a + MODENAME default). The LU-NAME is composed of + 8 bytes '.' 8 bytes. The Transaction Program + name (TP-NAME) is 1-64 bytes. The MODENAME + is 8 bytes. + + appleTalkEcho, appleTalkEchoAppl + + decNetEcho, decNetEchoAppl + + ipxEcho, ipxEchoAppl + + isoClnsEcho, isoClnsEchoAppl + + vinesEcho, vinesEchoAppl + + xnsEcho, xnsEchoAppl + apolloEcho, apolloEchoAppl + + netbiosEchoAppl, voipAppl + - unsupported protocols. + + mplsLspPingAppl + - 8 octets, the first 4 octets are the FEC address + and the next 4 octets are the FEC address mask."; + } + + typedef RttMonReactVar { + type enumeration { + enum "rtt" { + value "1"; + } + enum "jitterSDAvg" { + value "2"; + } + enum "jitterDSAvg" { + value "3"; + } + enum "packetLossSD" { + value "4"; + } + enum "packetLossDS" { + value "5"; + } + enum "mos" { + value "6"; + } + enum "timeout" { + value "7"; + } + enum "connectionLoss" { + value "8"; + } + enum "verifyError" { + value "9"; + } + enum "jitterAvg" { + value "10"; + } + enum "icpif" { + value "11"; + } + enum "packetMIA" { + value "12"; + } + enum "packetLateArrival" { + value "13"; + } + enum "packetOutOfSequence" { + value "14"; + } + enum "maxOfPositiveSD" { + value "15"; + } + enum "maxOfNegativeSD" { + value "16"; + } + enum "maxOfPositiveDS" { + value "17"; + } + enum "maxOfNegativeDS" { + value "18"; + } + enum "iaJitterDS" { + value "19"; + } + enum "frameLossDS" { + value "20"; + } + enum "mosLQDS" { + value "21"; + } + enum "mosCQDS" { + value "22"; + } + enum "rFactorDS" { + value "23"; + } + enum "successivePacketLoss" { + value "24"; + } + enum "maxOfLatencyDS" { + value "25"; + } + enum "maxOfLatencySD" { + value "26"; + } + enum "latencyDSAvg" { + value "27"; + } + enum "latencySDAvg" { + value "28"; + } + enum "packetLoss" { + value "29"; + } + enum "iaJitterSD" { + value "30"; + } + enum "mosCQSD" { + value "31"; + } + enum "rFactorSD" { + value "32"; + } + } + description + "The following are specific Reaction variables for a + particular probe type: + rtt(1) - Round Trip Time + jitterSDAvg(2) - Jitter average from source to Destination + jitterDSAvg(3) - Jitter average from destination to source + packetLossSD(4) - Packet loss from source to destination + packetLossDS(5) - Packet loss from destination to source + mos(6) - Mean Opinion Score + timeout(7) - Timeout of the Operation + connectionLoss(8) - Connection Failed to the destination + verifyError(9) - Data corruption occurs + jitterAvg(10) - Jitter Average in both the directions + icpif(11) - Calculated Planning Impairment Factor + packetMIA(12) - Missing In Action + packetLateArrival(13) - Packets arriving Late + packetOutOfSequence(14) - Packets arriving out of sequence + maxOfPositiveSD(15) - Maximum positive jitter from + Source to Destination + maxOfNegativeSD(16) - Maximum negative jitter from + Source to Destination + maxOfPositiveDS(17) - Maximum positive jitter from + Destination to Source + maxOfNegativeDS(18) - Maximum negative jitter from + Destination to Source. + iaJitterDS(19) - Inter arrival jitter from + Destination to Source + frameLossDS(20) - Number of frame loss recorded + at source DSP + mosLQDS(21) - Listener quality MOS at Source + mosCQDS(22) - Conversational quality MOS at source + rFactorDS(23) - R-Factor value at Destination. + successivePacketLoss(24)- Successive Dropped Packet + maxOfLatencyDS(25) - Maximum Latency from Destination + to Source + maxOfLatencySD(26) - Maximum Latency from Source + to Destination + latencyDSAvg(27) - Latency average from Destination + to Source + latencySDAvg(28) - Latency average from Source + to Destination + packetLoss(29) - Packets loss in both directions + iaJitterSD(30) - Inter arrival jitter from + Source to Destination + mosCQSD(31) - Conversational quality MOS at + Destination + rFactorSD(32) - R-Factor value at Destination."; + } + + typedef RttMonIdLst { + type binary { + length "0..255"; + } + description + "A string that specifies a list of the IP SLA probe + identifiers or other numeric identifiers. + The identifiers will be specified in the following form. + (a) Individual identifiers with comma separated as 1,5,3. + (b) Range form including hyphens with multiple ranges + being + separated by comma as 1-10,12-34. + (c) Mix of the above two forms as 1,2,4-10,12,15,19-25."; + } + + typedef RttMonCtrlIndex { + type uint32 { + range "1..2147483647"; + } + description + "The value of this object identifies the row in the + ipslaEthernetGrpCtrlTable and ipslaEthernetGrpReactTable. + It can be used for other IP SLA control tables."; + } + + smiv2:alias "ciscoRttMonTCMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.485"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB.yang new file mode 100644 index 000000000..59a2b01c2 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB.yang @@ -0,0 +1,2265 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB"; + prefix CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + + San Jose, CA 95134 + + USA + + Tel: +1 800 553-NETS + E-mail: sbc-dev@cisco.com"; + + description + "The main purpose of this MIB is to define the statistics + information for Session Border Controller application. The + statistics are mainly of two types - Call statistics and + Media statistics. The calls can further be categorized as SIP + calls and H.248 calls. + + This MIB categorizes the statistics information into following + four types: + 1. Global call statistics - Represents the global call related + statistics like call rates, media flows, signaling flows + etc. + + 2. Periodic statistics - Represents the SBC call statistics + information for a particular time interval like current 5 + minutes, previous 5 minutes, current 15 minutes, previous 15 + minutes, current hour and previous hour. + + 3. Per flow statistics - Represents the SBC media flow + statistics. These are media statistics for each of the + current ongoing call flow. + + 4. H.248 statistics - Represents the H.248 call related + statistics information when H.248 controller is associated + with SBC. + + The Session Border Controller (SBC) enables direct IP-to-IP + interconnect between multiple administrative domains for + session-based services providing protocol inter-working, + security, and admission control and management. The SBC is a + voice over IP (VoIP) device that sits on the border of a + network and controls call admission to that network. + + The primary purpose of an SBC is to protect the interior of the + network from excessive call load and malicious traffic. + Additional functions provided by the SBC include media bridging + and billing services. + + + GLOSSARY + SBC: Session Border Controller + + CSB: CISCO Session Border Controller + + CAC: Call Admission Control - protects voice traffic from the + negative effects of other voice traffic and to keep excess + voice traffic off the network. It is used to prevent congestion + in Voice traffic. It is used in the Call Setup phase. + + RTP: Real Time Transport Protocol - defines a standardized + packet format for delivering audio and video over the Internet. + + RTCP: Real Time Control Protocol - It is a sister protocol of + the Real-time Transport Protocol (RTP). RTCP provides + out-of-band control information for an RTP flow. It partners + RTP in the delivery and packaging of multimedia data, but does + not transport any data itself. It is used periodically to + transmit control packets to participants in a streaming + multimedia session. + + VMG: Virtual Media Gateway - introduced to bridge between + different transmission technologies and to add service to + end-user connections. Its architecture separates control and + connectivity functions into physically separate network layers. + + VPN: Virtual Private Network - It is a communications network + tunneled through another network, and dedicated for a specific + network. + + Gate Id - Context Identifiers assigned uniquely to a SIP/H.248 + call flows. + + Flow Pair Id: Stream Identifiers assigned uniquely to a + SIP/H.248 call flows. + + Adjacency: An adjacency contains the system information to be + transmitted to next HOP. + + REFERENCES + 1. CISCO Session Border Controller Documents and FAQ + http://zed.cisco.com/confluence/display/SBC/SBC"; + + revision 2010-09-03 { + description + "Updated existing tables by adding new fields. Below is the + description of changes for each table- + + 1. The statistics fields introduced in csbCallStatsTable are - + csbCallStatsAvailableTranscodeFlows + csbCallStatsActiveTranscodeFlows + csbCallStatsPeakTranscodeFlows + csbCallStatsTotalTranscodeFlows + + 2. The statistics fields introduced in csbCurrPeriodicStatsTable + are - + + csbCurrPeriodicStatsTranscodedCalls + csbCurrPeriodicStatsTransratedCalls + csbCurrPeriodicStatsTotalCallUpdateFailure + csbCurrPeriodicStatsActiveIpv6Calls + csbCurrPeriodicStatsActiveE2EmergencyCalls + csbCurrPeriodicStatsImsRxActiveCalls + csbCurrPeriodicStatsImsRxCallSetupFaiures + csbCurrPeriodicStatsImsRxCallRenagotiationAttempts + csbCurrPeriodicStatsImsRxCallRenagotiationFailures + csbCurrPeriodicStatsAudioTranscodedCalls + csbCurrPeriodicStatsFaxTranscodedCalls + csbCurrPeriodicStatsRtpDisallowedFailures + csbCurrPeriodicStatsSrtpDisallowedFailures + csbCurrPeriodicStatsNonSrtpCalls + csbCurrPeriodicStatsSrtpNonIwCalls + csbCurrPeriodicStatsSrtpIwCalls + csbCurrPeriodicStatsDtmfIw2833Calls + csbCurrPeriodicStatsDtmfIwInbandCalls + csbCurrPeriodicStatsDtmfIw2833InbandCalls + csbCurrPeriodicStatsTotalTapsRequested + csbCurrPeriodicStatsTotalTapsSucceeded + csbCurrPeriodicStatsCurrentTaps + + 3. The statistics fields introduced in csbHistoryStatsTable + are- + + csbHistoryStatsTranscodedCalls + csbHistoryStatsTransratedCalls + csbHistoryStatsTotalCallUpdateFailure + csbHistoryStatsActiveIpv6Calls + csbHistoryStatsActiveE2EmergencyCalls + csbHistoryStatsImsRxActiveCalls + csbHistoryStatsImsRxCallSetupFaiures + csbHistoryStatsImsRxCallRenagotiationAttempts + csbHistoryStatsImsRxCallRenagotiationFailures + csbHistoryStatsAudioTranscodedCalls + csbHistoryStatsFaxTranscodedCalls + csbHistoryStatsRtpDisallowedFailures + csbHistoryStatsSrtpDisallowedFailures + csbHistoryStatsNonSrtpCalls + csbHistoryStatsSrtpNonIwCalls + csbHistoryStatsSrtpIwCalls + csbHistoryStatsDtmfIw2833Calls + csbHistoryStatsDtmfIwInbandCalls + csbHistoryStatsDtmfIw2833InbandCalls + csbHistoryStatsTotalTapsRequested + csbHistoryStatsTotalTapsSucceeded + csbHistoryStatsCurrentTaps + + 4. The statistics field introduced in csbPerFlowStatsTable is- + csbPerFlowStatsRTPPktsLost"; + } + + revision 2008-08-27 { + description + "Updated description for following objects + csbPerFlowStatsRTCPPktsSent + csbPerFlowStatsRTCPPktsRcvd + csbPerFlowStatsRTCPPktsLost + Deprecated the csbH248StatsTable and replaced it with + csbH248StatsRev1Table to correct problem with index."; + } + + revision 2008-05-29 { + description + "Initial version of the MIB module."; + } + + typedef CiscoSbcPeriodicStatsInterval { + type enumeration { + enum "fiveMinute" { + value "1"; + } + enum "fifteenMinute" { + value "2"; + } + enum "oneHour" { + value "3"; + } + enum "oneDay" { + value "4"; + } + } + description + "This textual convention represents the interval values for + which the periodic stats and history stats are to be displayed. + fiveMinute - Interval to display current/previous 5 minutes + statistics information. + fifteenMinute - Interval to display current/previous 15 minutes + statistics information. + oneHour - Interval to display current/previous one hour + statistics information. + oneDay - Interval to display current/previous one day + statistics information."; + } + + + container CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB { + config false; + + container csbCallStatsInstanceTable { + description + "The call stats instance table contains the physical index for + each of the physical entity (line card, primary, secondary + cards). The index of the table is instance index which uniquely + identifies the physical entity present on the box."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.1"; + + list csbCallStatsInstanceEntry { + key "csbCallStatsInstanceIndex"; + description + "A conceptual row in csbCallStatsInstanceTable. There is an + entry in this table for each SBC instance, as identified by a + value of csbCallStatsInstanceIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.1.1"; + + leaf csbCallStatsInstanceIndex { + type uint32; + description + "This object uniquely identifies the sequence number of an + entity or slot that is configured per device. This index is + assigned arbitrarily by the engine and is not saved over + reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.1.1.1"; + } + + leaf csbCallStatsInstancePhysicalIndex { + type cisco-tc:EntPhysicalIndexOrZero; + description + "This object indicates the physical entity for which all the + measurements are maintained. The exact type of this + entity is described by its entPhysicalVendorType value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.1.1.2"; + } + } + } + + container csbCallStatsTable { + description + "This table describes the global statistics information in the + form of a table which contains call specific information like + call rates, media flows, signaling flows etc. The index of the + table is service index which corresponds to a particular + service configured on the SBC and all the rows of the table + represents the global information regarding all the call flows + related to that particular service. The other index of this + table is csbCallStatsInstanceIndex which is defined in + csbCallStatsInstanceTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2"; + + list csbCallStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex"; + description + "An conceptual row in the csbCallStatsGlobalStatsTable. There is + an entry in this table for the particular service configured on + SBC identified by a value of csbCallStatsInstanceIndex. The + other index of this table is csbCallStatsInstanceIndex which is + defined in csbCallStatsInstanceTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type uint32; + description + "This object identifies the index of the name of the SBC + service configured. This object also acts as an index for the + table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.1"; + } + + leaf csbCallStatsSbcName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the configured name of the SBC service. + The length of this object is zero when value is not assigned + to it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.2"; + } + + leaf csbCallStatsCallsHigh { + type uint32; + units "calls per second"; + description + "This object indicates the maximum number of calls per second + processed by the Session Border Controller in past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.3"; + } + + leaf csbCallStatsRate1Sec { + type yang:gauge32; + units "calls per second"; + description + "This object indicates the average calls per second processed by + the Session Border Controller."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.4"; + } + + leaf csbCallStatsCallsLow { + type uint32; + units "calls per second"; + description + "This object indicates the minimum calls per second in past 24 + hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.5"; + } + + leaf csbCallStatsAvailableFlows { + type yang:gauge32; + units "flows"; + description + "This object indicates the number of media flows which are + available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.6"; + } + + leaf csbCallStatsUsedFlows { + type yang:gauge32; + units "flows"; + description + "This object indicates the number of media flows which are + used. This is for the flow allocated and connected. The flow + allocated but not connected is not counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.7"; + } + + leaf csbCallStatsPeakFlows { + type uint32; + units "flows"; + description + "This object indicates the number of peak flows in SBC. + This is the highest recorded value for the active flows since + the box was booted/reseted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.8"; + } + + leaf csbCallStatsTotalFlows { + type uint32; + units "flows"; + description + "This object indicates the total number of media support by this + instance of SBC. The total number of flows include the + available + flows and the active flows. This value is since box was + booted/reseted. Total flows include the active flows and the + flows allocated but not connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.9"; + } + + leaf csbCallStatsUsedSigFlows { + type yang:gauge32; + units "signal flows"; + description + "This object indicates the number of active signaling flows for + signaling pinholes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.10"; + } + + leaf csbCallStatsPeakSigFlows { + type uint32; + units "signal flows"; + description + "This object indicates the peak signaling flow in SBC. + This is the highest recorded value for the active signaling + flows. This object is calculated using csbCallStatsUsedFlows."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.11"; + } + + leaf csbCallStatsTotalSigFlows { + type uint32; + units "signal flows"; + description + "This object indicates the maximum number of Signalling Flows + that can be supported by this instance of SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.12"; + } + + leaf csbCallStatsAvailablePktRate { + type yang:gauge32; + units "packets per second"; + description + "This object indicates the remaining capacity that can be + supported by SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.13"; + } + + leaf csbCallStatsUnclassifiedPkts { + type yang:counter64; + units "packets"; + description + "This object indicates the number of unclassified packets + processed by SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.14"; + } + + leaf csbCallStatsRTPPktsSent { + type yang:counter64; + units "packets"; + description + "This object indicates the total number of RTP packets sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.15"; + } + + leaf csbCallStatsRTPPktsRcvd { + type yang:counter64; + units "packets"; + description + "This object indicates the total number of RTP packets + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.16"; + } + + leaf csbCallStatsRTPPktsDiscard { + type yang:counter64; + units "packets"; + description + "This object indicates the total number of RTP packets + discarded."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.17"; + } + + leaf csbCallStatsRTPOctetsSent { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets sent by the + SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.18"; + } + + leaf csbCallStatsRTPOctetsRcvd { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets received by + the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.19"; + } + + leaf csbCallStatsRTPOctetsDiscard { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets discarded by + the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.20"; + } + + leaf csbCallStatsNoMediaCount { + type yang:counter32; + units "no media events"; + description + "This object indicates the accumulated No media event + count."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.21"; + } + + leaf csbCallStatsRouteErrors { + type yang:counter32; + units "route error events"; + description + "This object indicates the accumulated route error event + count. This counter is for the route error of media stream."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.22"; + } + + leaf csbCallStatsAvailableTranscodeFlows { + type yang:gauge32; + units "flows"; + description + "This object indicates the number of additional transcoded flows + that this media gateway manager (MGM) entity is currently able + to configure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.23"; + } + + leaf csbCallStatsActiveTranscodeFlows { + type yang:gauge32; + units "flows"; + description + "This object indicates the current number of transcoded + flows that are actively forwarding media traffic. In this + context, a flow is a media stream passing through the device. + So a single voice call will be counted only once."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.24"; + } + + leaf csbCallStatsPeakTranscodeFlows { + type uint32; + units "flows"; + description + "This object indicates the peak number of active transcoded + flows since the statistics were last reset. In this context, a + flow is a media stream passing through the device, so a single + voice call will be counted once."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.25"; + } + + leaf csbCallStatsTotalTranscodeFlows { + type uint32; + units "flows"; + description + "This object indicates the accumulated total number of + transcoded flows. This count contains both active flows and + flows that were allocated but never connected. In this context, + a flow is a media stream passing through the device, so a single + voice call will be counted once."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.2.1.26"; + } + } + } + + container csbCurrPeriodicStatsTable { + description + "This table is used to collect measurement over several + different intervals as defined by the + csbCurrPeriodicStatsInterval object. When a new interval starts + the objects associated with the interval are reset and count up + throughout the interval. The index of the table is the interval + for which the stats information is to be displayed. The interval + values can be 5 min, 15 mins, 1 hour and one day. The other + indices of this table are csbCallStatsInstanceIndex + defined in csbCallStatsInstanceTable and + csbCallStatsServiceIndex defined in csbCallStatsTable. + + The gauge values are reported as :- + 1.If the period being queried is current5mins, this is the value + at the instant that the query is issued. + 2.Otherwise, for the other intevals, this is an average value + during the summary period sampled at 5 minute intervals."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3"; + + list csbCurrPeriodicStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbCurrPeriodicStatsInterval"; + description + "An conceptual row in the csbCurrPeriodicStatsTable. There is + an entry in this table for the particular controller by a value + of csbH248StatsCtrlrIndex. The other indices of this table are + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable + and csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsServiceIndex"; + } + } + + leaf csbCurrPeriodicStatsInterval { + type CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CiscoSbcPeriodicStatsInterval; + description + "This object identifies the interval for which the periodic + statistics information is to be displayed. The interval + values can be 5 min, 15 mins, 1 hour , 1 Day. This object acts + as index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.1"; + } + + leaf csbCurrPeriodicStatsActiveCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls that have become + active during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.2"; + } + + leaf csbCurrPeriodicStatsActivatingCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls that have become + activing during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.3"; + } + + leaf csbCurrPeriodicStatsDeactivatingCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls that have become + deactiving during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.4"; + } + + leaf csbCurrPeriodicStatsTotalCallAttempts { + type yang:gauge32; + description + "This object indicates the number of total call attempts during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.5"; + } + + leaf csbCurrPeriodicStatsFailedCallAttempts { + type yang:gauge32; + description + "This object indicates the number of failed call attempts during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.6"; + } + + leaf csbCurrPeriodicStatsCallRoutingFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to routing failures during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.7"; + } + + leaf csbCurrPeriodicStatsCallResourceFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to resource failures during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.8"; + } + + leaf csbCurrPeriodicStatsCallMediaFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to media failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.9"; + } + + leaf csbCurrPeriodicStatsCallSigFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to signaling failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.10"; + } + + leaf csbCurrPeriodicStatsActiveCallFailure { + type yang:gauge32; + description + "This object indicates the number of active call failures during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.11"; + } + + leaf csbCurrPeriodicStatsCongestionFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to congestion during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.12"; + } + + leaf csbCurrPeriodicStatsCallSetupPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.13"; + } + + leaf csbCurrPeriodicStatsCallSetupNAPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to NA policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.14"; + } + + leaf csbCurrPeriodicStatsCallSetupRoutingPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to routing policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.15"; + } + + leaf csbCurrPeriodicStatsCallSetupCACPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.16"; + } + + leaf csbCurrPeriodicStatsCallSetupCACCallLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC call limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.17"; + } + + leaf csbCurrPeriodicStatsCallSetupCACRateLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC call rate limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.18"; + } + + leaf csbCurrPeriodicStatsCallSetupCACBandwidthFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC bandwidth limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.19"; + } + + leaf csbCurrPeriodicStatsCallSetupCACMediaLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC media limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.20"; + } + + leaf csbCurrPeriodicStatsCallSetupCACMediaUpdateFailure { + type yang:gauge32; + description + "This object indicates the number of call update failure due + to policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.21"; + } + + leaf csbCurrPeriodicStatsTimestamp { + type binary { + length "0..80"; + } + description + "This object indicates the current time at the start of each + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.22"; + } + + leaf csbCurrPeriodicStatsTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "The object indicates the number of transcoded calls that are + active during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.23"; + } + + leaf csbCurrPeriodicStatsTransratedCalls { + type yang:gauge32; + units "calls"; + description + "The object indicates the number of transrated calls that are + active during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.24"; + } + + leaf csbCurrPeriodicStatsTotalCallUpdateFailure { + type yang:gauge32; + units "calls"; + description + "This object indicates the total number of call update failures + during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.25"; + } + + leaf csbCurrPeriodicStatsActiveIpv6Calls { + type yang:gauge32; + units "calls"; + description + "This Object indicates the number of calls through SBC that use + IPv6 signaling. This statistic totals all calls that traverse + an IPv6 adjacency on either or both sides of SBC during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.26"; + } + + leaf csbCurrPeriodicStatsActiveEmergencyCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls through SBC that have + been identified as emergency calls (by Number Analysis) during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.27"; + } + + leaf csbCurrPeriodicStatsActiveE2EmergencyCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls through SBC that have + been identified as emergency calls (by Number Analysis) and + have used the e2 interface to obtain location information for + the caller during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.28"; + } + + leaf csbCurrPeriodicStatsImsRxActiveCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the total number of active calls which + use IMS Rx, during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.29"; + } + + leaf csbCurrPeriodicStatsImsRxCallSetupFaiures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call Setup failures owing to + IMS Rx failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.30"; + } + + leaf csbCurrPeriodicStatsImsRxCallRenegotiationAttempts { + type yang:gauge32; + units "attempts"; + description + "This object indicates the total call renegotiation attempts + using IMS Rx during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.31"; + } + + leaf csbCurrPeriodicStatsImsRxCallRenegotiationFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call renegotiation failures + owing to IMS Rx failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.32"; + } + + leaf csbCurrPeriodicStatsAudioTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "The number of active audio transcoded calls through + this adjacency or account during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.33"; + } + + leaf csbCurrPeriodicStatsFaxTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the the number of active fax + transcoded calls through this adjacency or account during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.34"; + } + + leaf csbCurrPeriodicStatsRtpDisallowedFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call setup failures due to RTP + being proposed when not permitted during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.35"; + } + + leaf csbCurrPeriodicStatsSrtpDisallowedFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call setup failures due to SRTP + being proposed when not permitted during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.36"; + } + + leaf csbCurrPeriodicStatsNonSrtpCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account which do not use SRTP on any + media channels during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.37"; + } + + leaf csbCurrPeriodicStatsSrtpNonIwCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account that have one or more media + channels which use SRTP. This count does not include media + channels that provide interworking between RTP and SRTP during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.38"; + } + + leaf csbCurrPeriodicStatsSrtpIwCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account that have one or more media + channels that provide interworking between RTP and SRTP during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.39"; + } + + leaf csbCurrPeriodicStatsDtmfIw2833Calls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in signaling and DTMF in media via RFC + 2833 during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.40"; + } + + leaf csbCurrPeriodicStatsDtmfIwInbandCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in signaling and DTMF in media via + inband DTMF tones during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.41"; + } + + leaf csbCurrPeriodicStatsDtmfIw2833InbandCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in media via RFC 2833 and DTMF in media + via inband DTMF tones during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.42"; + } + + leaf csbCurrPeriodicStatsTotalTapsRequested { + type yang:gauge32; + units "attempts"; + description + "This object indicates the lawful intercept tap attempts + requested within the scope of this query during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.43"; + } + + leaf csbCurrPeriodicStatsTotalTapsSucceeded { + type yang:gauge32; + units "success"; + description + "This object indicates the lawful intercept tap attempts that + have been successfully implemented within the scope of this + query during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.44"; + } + + leaf csbCurrPeriodicStatsCurrentTaps { + type yang:gauge32; + units "taps"; + description + "This object indicates the Lawful intercept taps currently in + place on calls within the scope of this query during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.45"; + } + + leaf csbCurrPeriodicIpsecCalls { + type yang:gauge32; + units "calls"; + description + "The number of active calls on this adjacency or account which + are to or from registered subscribers using IPSEC during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.3.1.46"; + } + } + } + + container csbHistoryStatsTable { + description + "This table provide historical measurement in various interval + length defined by the csbHistoryStatsInterval object. Each + interval may contain one or more entries to allow for detailed + measurment to be collected. It is up to the platform to + determine the number of intervals to be supported like + 5 minutes, 15 minutes, 1 hour and 1 day. In addition, the number + of + historical entries is also determined by the platform + resources. + + The gauge values are reported as: + If the period being queried is previous5mins, this is the number + of calls that were active at the end of the previous 5 minute + period. Otherwise for the other intevals, this is an average + value during the summary period, sampled at 5 minute intervals."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4"; + + list csbHistoryStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbHistoryStatsInterval csbHistoryStatsElements"; + description + "A conceptual row in the csbHistoryStatsTable. The entries in + this table are updated as interval completes in the + csbCurrPeriodicStatsTable table and the data is moved from that + table to this one."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsServiceIndex"; + } + } + + leaf csbHistoryStatsInterval { + type CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CiscoSbcPeriodicStatsInterval; + description + "This object identifies the interval for which the history + statistics information is to be displayed. The interval + values can be 5 min, 15 mins, 1 hour , 1 day. This object acts + as index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.1"; + } + + leaf csbHistoryStatsElements { + type uint32; + description + "The platform assigns a number starting with one and + increments it each for each new row. When the maximum + number of row is reached the oldest rows are deleted. It is up + to the platform to determine the number of entries for each + interval. It is recommended that each platform support at least + one entry for 5 min, 15 mins, 1 hour and 1 day intervals."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.2"; + } + + leaf csbHistoryStatsActiveCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls history during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.3"; + } + + leaf csbHistoryStatsTotalCallAttempts { + type yang:gauge32; + description + "This object indicates the number of total call attempts history + during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.4"; + } + + leaf csbHistoryStatsFailedCallAttempts { + type yang:gauge32; + description + "This object indicates the number of failed call attempts during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.5"; + } + + leaf csbHistoryStatsCallRoutingFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to routing failures during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.6"; + } + + leaf csbHistoryStatsCallResourceFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to resource failures during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.7"; + } + + leaf csbHistoryStatsCallMediaFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to media failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.8"; + } + + leaf csbHistoryStatsFailSigFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to signaling failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.9"; + } + + leaf csbHistoryStatsActiveCallFailure { + type yang:gauge32; + description + "This object indicates the number of active call failures during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.10"; + } + + leaf csbHistoryStatsCongestionFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to congestion during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.11"; + } + + leaf csbHistoryStatsCallSetupPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to some policy violations during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.12"; + } + + leaf csbHistoryStatsCallSetupNAPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to NA policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.13"; + } + + leaf csbHistoryStatsCallSetupRoutingPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to routing policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.14"; + } + + leaf csbHistoryStatsCallSetupCACPolicyFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.15"; + } + + leaf csbHistoryStatsCallSetupCACCallLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC call limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.16"; + } + + leaf csbHistoryStatsCallSetupCACRateLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC call rate limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.17"; + } + + leaf csbHistoryStatsCallSetupCACBandwidthFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC bandwidth limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.18"; + } + + leaf csbHistoryStatsCallSetupCACMediaLimitFailure { + type yang:gauge32; + description + "This object indicates the number of call setup failures due + to CAC media limit during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.19"; + } + + leaf csbHistoryStatsCallSetupCACMediaUpdateFailure { + type yang:gauge32; + description + "This object indicates the number of call update failure due + to policy failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.20"; + } + + leaf csbHistoryStatsTimestamp { + type binary { + length "0..80"; + } + description + "This object indicates the time at the start of the interval + when measurements were first collected for this interval in the + csbCurrPeriodicStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.21"; + } + + leaf csbHistroyStatsTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "The object indicates the number of active transcoded + calls during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.22"; + } + + leaf csbHistroyStatsTransratedCalls { + type yang:gauge32; + units "calls"; + description + "The object indicates the number of active transrated + calls during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.23"; + } + + leaf csbHistoryStatsTotalCallUpdateFailure { + type yang:gauge32; + units "calls"; + description + "This object indicates the total call update failures during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.24"; + } + + leaf csbHistoryStatsActiveIpv6Calls { + type yang:gauge32; + units "calls"; + description + "This Object indicates the number of calls through SBC that use + IPv6 signaling. This statistic totals all calls that traverse + an IPv6 adjacency on either or both sides of SBC during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.25"; + } + + leaf csbHistoryStatsActiveEmergencyCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls through SBC that have + been identified as emergency calls (by Number Analysis) during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.26"; + } + + leaf csbHistoryStatsActiveE2EmergencyCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of calls through SBC that have + been identified as emergency calls (by Number Analysis) and + have used the e2 interface to obtain location information for + the + caller."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.27"; + } + + leaf csbHistoryStatsImsRxActiveCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the total number of active calls which + use IMS Rx, during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.28"; + } + + leaf csbHistoryStatsImsRxCallSetupFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call setup failures owing to + IMS Rx failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.29"; + } + + leaf csbHistoryStatsImsRxCallRenegotiationAttempts { + type yang:gauge32; + units "attempts"; + description + "This object indicates the total call renegotiation attempts + using IMS Rx during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.30"; + } + + leaf csbHistoryStatsImsRxCallRenegotiationFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call renegotiation failures + owing to IMS Rx failure during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.31"; + } + + leaf csbHistoryStatsAudioTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "The number of active audio transcoded calls through + this adjacency or account during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.32"; + } + + leaf csbHistoryStatsFaxTranscodedCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the the number of active fax + transcoded calls through this adjacency or account during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.33"; + } + + leaf csbHistoryStatsRtpDisallowedFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call setup failures due to RTP + being proposed when not permitted during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.34"; + } + + leaf csbHistoryStatsSrtpDisallowedFailures { + type yang:gauge32; + units "failures"; + description + "This object indicates the total call setup failures due to SRTP + being proposed when not permitted during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.35"; + } + + leaf csbHistoryStatsNonSrtpCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account which do not use SRTP on any + media channels during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.36"; + } + + leaf csbHistoryStatsSrtpNonIwCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account that have one or more media + channels that use SRTP but no media channels that provide + interworking between RTP and SRTP during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.37"; + } + + leaf csbHistoryStatsSrtpIwCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account that have one or more media + channels that provide interworking between RTP and SRTP during + this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.38"; + } + + leaf csbHistoryStatsDtmfIw2833Calls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in signaling and DTMF in media via RFC + 2833 during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.39"; + } + + leaf csbHistoryStatsDtmfIwInbandCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in signaling and DTMF in media via + inband DTMF tones during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.40"; + } + + leaf csbHistoryStatsDtmfIw2833InbandCalls { + type yang:gauge32; + units "calls"; + description + "This object indicates the number of active calls + through this adjacency or account for which DTMF interworking + is enabled between DTMF in media via RFC 2833 and DTMF in media + via inband DTMF tones during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.41"; + } + + leaf csbHistoryStatsTotalTapsRequested { + type yang:gauge32; + units "attempts"; + description + "This object indicates the lawful intercept tap attempts + requested within the scope of this query during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.42"; + } + + leaf csbHistoryStatsTotalTapsSucceeded { + type yang:gauge32; + units "success"; + description + "This object indicates the lawful intercept tap attempts that + have been successfully implemented within the scope of this + query during this interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.43"; + } + + leaf csbHistoryStatsCurrentTaps { + type yang:gauge32; + units "taps"; + description + "This object indicates the Lawful intercept taps currently in + place on calls within the scope of this query during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.44"; + } + + leaf csbHistoryStatsIpsecCalls { + type yang:gauge32; + units "calls"; + description + "The number of active calls on this adjacency or account which + are to or from registered subscribers using IPSEC during this + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.4.1.45"; + } + } + } + + container csbPerFlowStatsTable { + description + "This table describes statistics table for each call flow. The + indices of the table are virtual media gateway id, gate id, + falow pair id and side id (indices for side A or side B). The + other indices of this table are csbCallStatsInstanceIndex + defined in csbCallStatsInstanceTable and + csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5"; + + list csbPerFlowStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbPerFlowStatsVdbeId csbPerFlowStatsGateId csbPerFlowStatsFlowPairId csbPerFlowStatsSideId"; + description + "An conceptual row in the csbPerFlowStatsTable. There is + an entry in this table for vdbe Id, gate id, flow pair id and + side id. The other indices of this table are + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable + and csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsServiceIndex"; + } + } + + leaf csbPerFlowStatsVdbeId { + type int32 { + range "0..255"; + } + description + "This object identifies the virtual media gateway id. This + object also acts as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.1"; + } + + leaf csbPerFlowStatsGateId { + type int32 { + range "0..65535"; + } + description + "This object identifies the gate id. This object also acts as + an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.2"; + } + + leaf csbPerFlowStatsFlowPairId { + type int32 { + range "0..65535"; + } + description + "This object identifies the flow pair id. This object also acts + as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.3"; + } + + leaf csbPerFlowStatsSideId { + type enumeration { + enum "sideA" { + value "1"; + } + enum "sideB" { + value "2"; + } + } + description + "This object identifies the index corresponding to side of flow + pair either side A or side B. This object also acts as an index + for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.4"; + } + + leaf csbPerFlowStatsFlowType { + type enumeration { + enum "media" { + value "1"; + } + enum "signalling" { + value "2"; + } + } + description + "This object indicates the type of the flow, like media flow, + signaling flow etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.5"; + } + + leaf csbPerFlowStatsRTPPktsSent { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RTP packets sent per flow + by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.6"; + } + + leaf csbPerFlowStatsRTPPktsRcvd { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RTP packets received per + flow by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.7"; + } + + leaf csbPerFlowStatsRTPPktsDiscard { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RTP packets discarded per + flow by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.8"; + } + + leaf csbPerFlowStatsRTPOctetsSent { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets sent + per flow by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.9"; + } + + leaf csbPerFlowStatsRTPOctetsRcvd { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets received + per flow by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.10"; + } + + leaf csbPerFlowStatsRTPOctetsDiscard { + type yang:counter64; + units "octets"; + description + "This object indicates the number of RTP octets discarded + per flow by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.11"; + } + + leaf csbPerFlowStatsRTCPPktsSent { + type yang:counter64; + units "packets"; + description + "The number of RTP packets sent by the remote end point to this + MG on this flow. Comparing this with the local number of RTP + packets received from the remote end point gives an indication + of how many incoming packets were dropped on this leg of the + call. This information is from RTCP packet. Not all endpoints + report this statistic, if it is not available it will be set to + zero. This statistic will not be available for signaling flows."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.12"; + } + + leaf csbPerFlowStatsRTCPPktsRcvd { + type yang:counter64; + units "packets"; + description + "The number of RTP packets received by the remote end point from + this MG on this flow. Comparing this with the local number of + RTP packets sent from this MG to the remote endpoint gives an + indication of how many outgoing packets were dropped on this + leg of the call. This information is from RTCP packet. Not all + endpoints report this statistic, if it is not available it will + be set to zero. This statistic will not be available for + signaling flows."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.13"; + } + + leaf csbPerFlowStatsRTCPPktsLost { + type yang:counter64; + units "packets"; + description + "The number of RTP packets reported as lost by the remote end + point on this flow. This information is from RTCP packet. Not + all endpoints report this statistic, if it is not available it + will be set to zero. This statistic will not be available for + signaling flows."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.14"; + } + + leaf csbPerFlowStatsEPJitter { + type yang:counter64; + units "milliseconds"; + description + "This object indicates the End Point jitter per flow in the + SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.15"; + } + + leaf csbPerFlowStatsTmanPerMbs { + type yang:gauge32; + units "bytes"; + description + "This object indicates the maximum burst size for the + current FlowPair."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.16"; + } + + leaf csbPerFlowStatsTmanPerSdr { + type yang:gauge32; + units "kilobytes per second"; + description + "This object indicates the bandwidth reserved for flow in + kilobytes/second."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.17"; + } + + leaf csbPerFlowStatsDscpSettings { + type snmp-framework:SnmpAdminString; + description + "This object indicates the mark packets sent for the + current FlowPair with, or zero if none set. The DSCP is a 6-bit + value, which will be present in the top 6 bits of the lowest + byte of this field."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.18"; + } + + leaf csbPerFlowStatsAdrStatus { + type binary { + length "0..10"; + } + description + "This object indicates whether the flow on the current + FlowPair has subscribed for the NAT latch event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.19"; + } + + leaf csbPerFlowStatsQASettings { + type binary { + length "0..10"; + } + description + "This object indicates the flow on the current FlowPair has + subscribed for the media loss event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.20"; + } + + leaf csbPerFlowStatsRTPPktsLost { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RTP packets lost per flow + by the SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.5.1.21"; + } + } + } + + container csbH248StatsTable { + status deprecated; + description + "This table describes the H.248 statistics for SBC. The index of + the table is service index which corresponds to a particular + service configured on the SBC and the index assigned to a + particular H.248 controller. The other index of this table is + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable. + This table is replaced by the csbH248StatsRev1Table."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6"; + + list csbH248StatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbH248StatsCtrlrIndex"; + status deprecated; + description + "An conceptual row in the csbCallStath248Table. There is + an entry in this table for the particular controller by a value + of csbH248StatsCtrlrIndex. The other indices of this table are + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable + and csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsServiceIndex"; + } + } + + leaf csbH248StatsCtrlrIndex { + type int32 { + range "1..50"; + } + status deprecated; + description + "This object identifies the controller index of the H.248 + server. This is also the index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.1"; + } + + leaf csbH248StatsRequestsSent { + type yang:counter32; + status deprecated; + description + "This object indicates the requests sent through the Session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.2"; + } + + leaf csbH248StatsRequestsRcvd { + type yang:counter32; + status deprecated; + description + "This object indicates the requests received through the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.3"; + } + + leaf csbH248StatsRequestsFailed { + type yang:counter32; + status deprecated; + description + "This object indicates the requests failed on session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.4"; + } + + leaf csbH248StatsRequestsRetried { + type yang:counter32; + status deprecated; + description + "This object indicates the requests retried through the Session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.5"; + } + + leaf csbH248StatsRepliesSent { + type yang:counter32; + status deprecated; + description + "This object indicates the number of replies sent through the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.6"; + } + + leaf csbH248StatsRepliesRcvd { + type yang:counter32; + status deprecated; + description + "This object indicates the number of replies received from the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.7"; + } + + leaf csbH248StatsRepliesRetried { + type yang:counter32; + status deprecated; + description + "This object indicates the number of replies retried through + the Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.8"; + } + + leaf csbH248StatsSegPktsSent { + type yang:counter32; + status deprecated; + description + "This object indicates the number of packets sent through the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.9"; + } + + leaf csbH248StatsSegPktsRcvd { + type yang:counter32; + status deprecated; + description + "This object indicates the number of packets received from the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.10"; + } + + leaf csbH248StatsEstablishedTime { + type binary { + length "0..80"; + } + status deprecated; + description + "This object indicates the H.248 Controller established + time (the time at which the association became established)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.11"; + } + + leaf csbH248StatsTMaxTimeoutVal { + type int32; + units "milliseconds"; + status deprecated; + description + "This object indicates the T-Max timeout value. This field + specifies the maximum delay (in milliseconds) for a response + from an MGC before deciding that the request has failed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.12"; + } + + leaf csbH248StatsRTT { + type yang:gauge32; + units "milliseconds"; + status deprecated; + description + "This object indicates the calculated RTT value. This field + specifies the maximum round trip propagation delay in the + network (in milliseconds)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.13"; + } + + leaf csbH248StatsLT { + type yang:gauge32; + units "milliseconds"; + status deprecated; + description + "This object indicates the LT value calculated from RTT + value and Max timeout value. This field specifies the maximum + delay (in milliseconds) for a response from an MGC plus the + maximum round trip propagation delay in the network (in + milliseconds)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.6.1.14"; + } + } + } + + container csbH248StatsRev1Table { + description + "This table describes the H.248 statistics for SBC. The index of + the table is service index which corresponds to a particular + service configured on the SBC and the index assigned to a + particular H.248 controller. The other index of this table is + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7"; + + list csbH248StatsRev1Entry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbH248StatsVdbeId"; + description + "An conceptual row in the csbCallStath248Table. There is + an entry in this table for the particular Vdbe by a value + of csbH248StatsVdbeId. The other indices of this table are + csbCallStatsInstanceIndex defined in csbCallStatsInstanceTable + and csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsTable/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsEntry/CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB:csbCallStatsServiceIndex"; + } + } + + leaf csbH248StatsVdbeId { + type int32 { + range "0..255"; + } + description + "This object identifies the virtual media gateway id. This is + also the index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.1"; + } + + leaf csbH248StatsRequestsSentRev1 { + type yang:counter32; + description + "This object indicates the requests sent through the Session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.2"; + } + + leaf csbH248StatsRequestsRcvdRev1 { + type yang:counter32; + description + "This object indicates the requests received through the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.3"; + } + + leaf csbH248StatsRequestsFailedRev1 { + type yang:counter32; + description + "This object indicates the requests failed on session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.4"; + } + + leaf csbH248StatsRequestsRetriedRev1 { + type yang:counter32; + description + "This object indicates the requests retried through the Session + Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.5"; + } + + leaf csbH248StatsRepliesSentRev1 { + type yang:counter32; + description + "This object indicates the number of replies sent through the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.6"; + } + + leaf csbH248StatsRepliesRcvdRev1 { + type yang:counter32; + description + "This object indicates the number of replies received from the + Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.7"; + } + + leaf csbH248StatsRepliesRetriedRev1 { + type yang:counter32; + description + "This object indicates the number of replies retried through + the Session Controller Interface to an SBE or DBE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.8"; + } + + leaf csbH248StatsSegPktsSentRev1 { + type yang:counter32; + description + "This object indicates the number of response segments sent by + DBE. This field will only be present if segmentation is enabled + on this association."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.9"; + } + + leaf csbH248StatsSegPktsRcvdRev1 { + type yang:counter32; + description + "This object indicates the number of response segments received + by DBE. This field will only be present if segmentation is + enabled on this association."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.10"; + } + + leaf csbH248StatsEstablishedTimeRev1 { + type binary { + length "0..80"; + } + description + "This object indicates the H.248 Controller established + time (the time at which the association became established)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.11"; + } + + leaf csbH248StatsTMaxTimeoutValRev1 { + type int32; + units "milliseconds"; + description + "This object indicates the T-Max timeout value. This field + specifies the maximum delay (in milliseconds) for a response + from an MGC before deciding that the request has failed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.12"; + } + + leaf csbH248StatsRTTRev1 { + type yang:gauge32; + units "milliseconds"; + description + "This object indicates the calculated RTT value. This field + specifies the maximum round trip propagation delay in the + network (in milliseconds)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.13"; + } + + leaf csbH248StatsLTRev1 { + type yang:gauge32; + units "milliseconds"; + description + "This object indicates the LT value calculated from RTT + value and Max timeout value. This field specifies the maximum + delay (in milliseconds) for a response from an MGC plus the + maximum round trip propagation delay in the network (in + milliseconds)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.657.1.7.1.14"; + } + } + } + } + + smiv2:alias "ciscoSbcCallStatsMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.657"; + } + + smiv2:alias "ciscoSbcCallStatsMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.657.0"; + } + + smiv2:alias "ciscoSbcCallStatsMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.657.1"; + } + + smiv2:alias "ciscoSbcCallStatsMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.657.2"; + } + + smiv2:alias "csbCallStatsMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.657.2.1"; + } + + smiv2:alias "csbCallStatsMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.657.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-STATS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-STATS-MIB.yang new file mode 100644 index 000000000..b2966d474 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SESS-BORDER-CTRLR-STATS-MIB.yang @@ -0,0 +1,1330 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SESS-BORDER-CTRLR-STATS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SESS-BORDER-CTRLR-STATS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SESS-BORDER-CTRLR-STATS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB"; + prefix CISCO-SESS-BORDER-CTRLR-STATS-MIB; + + import CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB { + prefix "cisco-sess"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: sbc-dev@cisco.com"; + + description + "The main purpose of this MIB is to define the statistics + information for Session Border Controller application. This MIB + categorizes the statistics information into following types: + 1. RADIUS Messages Statistics - Represents statistics of + various RADIUS messages for RADIUS servers with which the + client (SBC) shares a secret. + + 2. Rf Billing Statistics- Represents Rf billing statistics + information which monitors the messages sent per-realm over + IMS Rx interface by Rf billing manager(SBC). + + 3. SIP Statistics - Represents SIP requests and various SIP + responses on a SIP adjacency in a given interval. + + The Session Border Controller (SBC) enables direct IP-to-IP + interconnect between multiple administrative domains for + session-based services providing protocol inter-working, + security, and admission control and management. The SBC is a + voice over IP (VoIP) device that sits on the border of a + network and controls call admission to that network. + + The primary purpose of an SBC is to protect the interior of the + network from excessive call load and malicious traffic. + Additional functions provided by the SBC include media bridging + and billing services. + + Periodic Statistics - Represents the SBC call statistics + information for a particular time interval. E.g. you can + specify that you want to retrieve statistics for a summary + period of the current or previous 5 minutes, 15 minutes, hour, + or day. The statistics for 5 minutes are divided into five + minute intervals past the hour - that is, at 0 minutes, 5 + minutes, 10 minutes... past the hour. When you retrieve + statistics for the current five minute period, you will be + given statistics from the start of the interval to the current + time. When you retrieve statistics for the previous five + minutes, you will be given the statistics for the entirety of + the previous interval. For example, if it is currently 12:43 + - the current 5 minute statistics cover 12:40 - 12:43 + + - the previous 5 minute statistics cover 12:35 - 12:40 + + The other intervals work similarly. 15 minute statistics are + divided into 15 minute intervals past the hour (0 minutes, 15 + minutes, 30 minutes, 45 minutes). Hourly statistics are divided + into intervals on the hour. Daily statistics are divided into + intervals at 0:00 each day. Therefore, if you retrieve the + statistics at 12:43 for each of these intervals, the periods + covered are as follows. + - current 15 minutes: 12:30 - 12:43 + + - previous 15 minutes: 12:15 - 12:30 + + - current hour: 12:00 - 12:43 + + - last hour: 11:00 - 12:00 + + - current day: 00:00 - 12:43 + + - last day: 00:00 (the day before) - 00:00. + + + GLOSSARY + SBC: Session Border Controller + + CSB: CISCO Session Border Controller + + Adjacency: An adjacency contains the system information to be + transmitted to next HOP. + + ACR: Accounting Request + + ACA: Accounting Accept + + AVP: Attribute-Value Pairs + + REFERENCES + 1. CISCO Session Border Controller Documents and FAQ + http://zed.cisco.com/confluence/display/SBC/SBC"; + + revision 2010-09-15 { + description + "Latest version of this MIB module."; + } + + typedef CiscoSbcSIPMethod { + type enumeration { + enum "unknown" { + value "1"; + } + enum "ack" { + value "2"; + } + enum "bye" { + value "3"; + } + enum "cancel" { + value "4"; + } + enum "info" { + value "5"; + } + enum "invite" { + value "6"; + } + enum "message" { + value "7"; + } + enum "notify" { + value "8"; + } + enum "options" { + value "9"; + } + enum "prack" { + value "10"; + } + enum "refer" { + value "11"; + } + enum "register" { + value "12"; + } + enum "subscribe" { + value "13"; + } + enum "update" { + value "14"; + } + } + description + "This textual convention represents the various SIP Methods."; + } + + typedef CiscoSbcRadiusClientType { + type enumeration { + enum "authentication" { + value "1"; + } + enum "accounting" { + value "2"; + } + } + description + "This textual convention represents the type of RADIUS client."; + } + + + container CISCO-SESS-BORDER-CTRLR-STATS-MIB { + config false; + + container csbRadiusStatsTable { + description + "This table has the reporting statistics of various RADIUS + messages for RADIUS servers with which the client (SBC) shares a + secret. Each entry in this table is identified by a + value of csbRadiusStatsEntIndex. The other indices of this table + are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1"; + + list csbRadiusStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbRadiusStatsEntIndex"; + description + "A conceptual row in the csbRadiusStatsTable. There is an + entry in this table for each RADIUS server, as identified by a + value of csbRadiusStatsEntIndex. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbRadiusStatsEntIndex { + type uint32; + description + "This object indicates the index of the RADIUS client entity + that this server is configured on. This index is assigned + arbitrarily by the engine and is not saved over reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.1"; + } + + leaf csbRadiusStatsClientName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the client name of the RADIUS client to + which that these statistics apply."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.2"; + } + + leaf csbRadiusStatsClientType { + type CISCO-SESS-BORDER-CTRLR-STATS-MIB:CiscoSbcRadiusClientType; + description + "This object indicates the type(authentication or accounting) + of the RADIUS clients configured on SBC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.3"; + } + + leaf csbRadiusStatsSrvrName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the server name of the RADIUS server to + which that these statistics apply."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.4"; + } + + leaf csbRadiusStatsAcsReqs { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Access-Request + packets sent to this server. This does not include + retransmissions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.5"; + } + + leaf csbRadiusStatsAcsRtrns { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Access-Request + packets retransmitted to this RADIUS server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.6"; + } + + leaf csbRadiusStatsAcsAccpts { + type yang:counter64; + description + "This object indicates the number of RADIUS Access-Accept + packets (valid or invalid) received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.7"; + } + + leaf csbRadiusStatsAcsRejects { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Access-Reject + packets (valid or invalid) received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.8"; + } + + leaf csbRadiusStatsAcsChalls { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Access-Challenge + packets (valid or invalid) received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.9"; + } + + leaf csbRadiusStatsActReqs { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Accounting-Request + packets sent to this server. This does not include + retransmissions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.10"; + } + + leaf csbRadiusStatsActRetrans { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Accounting-Request + packets retransmitted to this RADIUS server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.11"; + } + + leaf csbRadiusStatsActRsps { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS Accounting-Response + packets (valid or invalid) received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.12"; + } + + leaf csbRadiusStatsMalformedRsps { + type yang:counter64; + units "packets"; + description + "This object indicates the number of malformed RADIUS response + packets received from this server. Malformed packets include + packets with an invalid length. Bad authenticators, Signature + attributes and unknown types are not included as malformed + access responses."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.13"; + } + + leaf csbRadiusStatsBadAuths { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS response packets + containing invalid authenticators or Signature attributes + received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.14"; + } + + leaf csbRadiusStatsPending { + type yang:gauge32; + units "packets"; + description + "This object indicates the number of RADIUS request packets + destined for this server that have not yet timed out or received + a response. This variable is incremented when a request is sent + and decremented on receipt of the response or on a timeout or + retransmission."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.15"; + } + + leaf csbRadiusStatsTimeouts { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS request timeouts to + this server. After a timeout the client may retry to a + different server or give up. A retry to a different server is + counted as a request as well as a timeout."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.16"; + } + + leaf csbRadiusStatsUnknownType { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS packets of unknown + type which were received from this server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.17"; + } + + leaf csbRadiusStatsDropped { + type yang:counter64; + units "packets"; + description + "This object indicates the number of RADIUS packets which were + received from this server and dropped for some other reason."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.1.1.18"; + } + } + } + + container csbRfBillRealmStatsTable { + description + "This table describes the Rf billing statistics information + which monitors the messages sent per-realm by Rf billing + manager(SBC). SBC sends Rf billing data using Diameter as a + transport protocol. Rf billing uses only ACR and ACA Diameter + messages for the transport of billing data. The + Accounting-Record-Type AVP on the ACR message labels the type + of the accounting request. The following types are used by Rf + billing. + 1. For session-based charging, the types Start (session + begins), Interim (session is modified) and Stop (session ends) + are used. + 2. For event-based charging, the type Event is used when a + chargeable event occurs outside the scope of a session. + + Each row of this table is identified by a value of + csbRfBillRealmStatsIndex and csbRfBillRealmStatsRealmName. + The other indices of this table are csbCallStatsInstanceIndex + defined in csbCallStatsInstanceTable and + csbCallStatsServiceIndex defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2"; + + list csbRfBillRealmStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbRfBillRealmStatsIndex csbRfBillRealmStatsRealmName"; + description + "A conceptual row in the csbRfBillRealmStatsTable. There + is an entry in this table for each realm, as identified by a + value of csbRfBillRealmStatsIndex and + csbRfBillRealmStatsRealmName. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbRfBillRealmStatsIndex { + type uint32 { + range "0..31"; + } + description + "This object indicates the billing method instance index. The + range of valid values for this field is 0 - 31."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.1"; + } + + leaf csbRfBillRealmStatsRealmName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the realm for which these statistics are + collected. The length of this object is zero when value is not + assigned to it."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.2"; + } + + leaf csbRfBillRealmStatsTotalStartAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the combined sum of successful and failed + Start ACRs since start of day or the last time the statistics + were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.3"; + } + + leaf csbRfBillRealmStatsTotalInterimAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the combined sum of successful and failed + Interim ACRs since start of day or the last time the statistics + were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.4"; + } + + leaf csbRfBillRealmStatsTotalStopAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the combined sum of successful and failed + Stop ACRs since start of day or the last time the statistics + were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.5"; + } + + leaf csbRfBillRealmStatsTotalEventAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the combined sum of successful and failed + Event ACRs since start of day or the last time the statistics + were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.6"; + } + + leaf csbRfBillRealmStatsSuccStartAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of successful Start ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.7"; + } + + leaf csbRfBillRealmStatsSuccInterimAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of successful Interim + ACRs since start of day or the last time the statistics were + reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.8"; + } + + leaf csbRfBillRealmStatsSuccStopAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of successful Stop ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.9"; + } + + leaf csbRfBillRealmStatsSuccEventAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of successful Event ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.10"; + } + + leaf csbRfBillRealmStatsFailStartAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of failed Start ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.11"; + } + + leaf csbRfBillRealmStatsFailInterimAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of failed Interim ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.12"; + } + + leaf csbRfBillRealmStatsFailStopAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of failed Stop ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.13"; + } + + leaf csbRfBillRealmStatsFailEventAcrs { + type uint32; + units "ACRs"; + description + "This object indicates the total number of failed Event ACRs + since start of day or the last time the statistics were reset."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.2.1.14"; + } + } + } + + container csbSIPMthdCurrentStatsTable { + description + "This table reports count of SIP request and various SIP + responses for each SIP method on a SIP adjacency in a given + interval. Each entry in this table represents a SIP method, its + incoming and outgoing count, individual incoming and outgoing + count of various SIP responses for this method on a SIP + adjacency in a given interval. To understand the meaning of + interval please refer section in + description of ciscoSbcStatsMIB. + This table is indexed on csbSIPMthdCurrentStatsAdjName, + csbSIPMthdCurrentStatsMethod and + csbSIPMthdCurrentStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3"; + + list csbSIPMthdCurrentStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbSIPMthdCurrentStatsAdjName csbSIPMthdCurrentStatsMethod csbSIPMthdCurrentStatsInterval"; + description + "A conceptual row in the csbSIPMthdCurrentStatsTable. Each row + describes a SIP method and various responses count for this + method on a given SIP adjacency and given interval. This table + is indexed on csbSIPMthdCurrentStatsAdjName, + csbSIPMthdCurrentStatsMethod and + csbSIPMthdCurrentStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbSIPMthdCurrentStatsAdjName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the name of the SIP adjacency for which + stats related with SIP request and all kind of corresponding SIP + responses are reported. The object acts as an index of the + table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.1"; + } + + leaf csbSIPMthdCurrentStatsMethod { + type CISCO-SESS-BORDER-CTRLR-STATS-MIB:CiscoSbcSIPMethod; + description + "This object indicates the SIP method Request. The object acts + as an index of the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.2"; + } + + leaf csbSIPMthdCurrentStatsInterval { + type cisco-sess:CiscoSbcPeriodicStatsInterval; + description + "This object indicates the interval for which the periodic + statistics information is to be displayed. The interval + values can be 5 minutes, 15 minutes, 1 hour , 1 Day. This + object acts as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.3"; + } + + leaf csbSIPMthdCurrentStatsMethodName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the text representation of the SIP + method request. E.g. INVITE, ACK, BYE etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.4"; + } + + leaf csbSIPMthdCurrentStatsReqIn { + type yang:gauge32; + units "requests"; + description + "This object indicates the total incoming SIP message requests + of this type on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.5"; + } + + leaf csbSIPMthdCurrentStatsReqOut { + type yang:gauge32; + units "requests"; + description + "This object indicates the total outgoing SIP message requests + of this type on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.6"; + } + + leaf csbSIPMthdCurrentStatsResp1xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 1xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.7"; + } + + leaf csbSIPMthdCurrentStatsResp1xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 1xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.8"; + } + + leaf csbSIPMthdCurrentStatsResp2xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 2xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.9"; + } + + leaf csbSIPMthdCurrentStatsResp2xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 2xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.10"; + } + + leaf csbSIPMthdCurrentStatsResp3xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 3xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.11"; + } + + leaf csbSIPMthdCurrentStatsResp3xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 3xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.12"; + } + + leaf csbSIPMthdCurrentStatsResp4xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 4xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.13"; + } + + leaf csbSIPMthdCurrentStatsResp4xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 4xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.14"; + } + + leaf csbSIPMthdCurrentStatsResp5xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 5xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.15"; + } + + leaf csbSIPMthdCurrentStatsResp5xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 5xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.16"; + } + + leaf csbSIPMthdCurrentStatsResp6xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 6xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.17"; + } + + leaf csbSIPMthdCurrentStatsResp6xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 6xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.3.1.18"; + } + } + } + + container csbSIPMthdHistoryStatsTable { + description + "This table provide historical count of SIP request and various + SIP responses for each SIP method on a SIP adjacency in various + interval length defined by the csbSIPMthdHistoryStatsInterval + object. Each entry in this table represents a SIP method, its + incoming and outgoing count, individual incoming and outgoing + count of various SIP responses for this method on a SIP + adjacency in a given interval. The possible values of interval + will be previous 5 minutes, previous 15 minutes, previous 1 hour + and previous day. To understand the meaning of interval please + refer description of ciscoSbcStatsMIB. + This table is indexed on csbSIPMthdHistoryStatsAdjName, + csbSIPMthdHistoryStatsMethod and + csbSIPMthdHistoryStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4"; + + list csbSIPMthdHistoryStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbSIPMthdHistoryStatsAdjName csbSIPMthdHistoryStatsMethod csbSIPMthdHistoryStatsInterval"; + description + "A conceptual row in the csbSIPMthdHistoryStatsTable. The + entries in this table are updated as interval completes in + the csbSIPMthdCurrentStatsTable table and the data is + moved from that table to this one. + This table is indexed on csbSIPMthdHistoryStatsAdjName, + csbSIPMthdHistoryStatsMethod and + csbSIPMthdHistoryStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex + defined in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbSIPMthdHistoryStatsAdjName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the name of the SIP adjacency for which + stats related with SIP request and all kind of corresponding SIP + responses are reported. The object acts as an index of the + table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.1"; + } + + leaf csbSIPMthdHistoryStatsMethod { + type CISCO-SESS-BORDER-CTRLR-STATS-MIB:CiscoSbcSIPMethod; + description + "This object indicates the SIP method Request. The object acts + as an index of the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.2"; + } + + leaf csbSIPMthdHistoryStatsInterval { + type cisco-sess:CiscoSbcPeriodicStatsInterval; + description + "This object indicates the interval for which the historical + statistics information is to be displayed. The interval + values can be previous 5 minutes, previous 15 minutes, + previous 1 hour and previous 1 Day. This object acts as an + index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.3"; + } + + leaf csbSIPMthdHistoryStatsMethodName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the text representation of the SIP + method request. E.g. INVITE, ACK, BYE etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.4"; + } + + leaf csbSIPMthdHistoryStatsReqIn { + type yang:gauge32; + units "requests"; + description + "This object indicates the total incoming SIP message requests + of this type on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.5"; + } + + leaf csbSIPMthdHistoryStatsReqOut { + type yang:gauge32; + units "requests"; + description + "This object indicates the total outgoing SIP message requests + of this type on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.6"; + } + + leaf csbSIPMthdHistoryStatsResp1xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 1xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.7"; + } + + leaf csbSIPMthdHistoryStatsResp1xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 1xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.8"; + } + + leaf csbSIPMthdHistoryStatsResp2xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 2xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.9"; + } + + leaf csbSIPMthdHistoryStatsResp2xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 2xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.10"; + } + + leaf csbSIPMthdHistoryStatsResp3xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 3xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.11"; + } + + leaf csbSIPMthdHistoryStatsResp3xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 3xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.12"; + } + + leaf csbSIPMthdHistoryStatsResp4xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 4xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.13"; + } + + leaf csbSIPMthdHistoryStatsResp4xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 4xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.14"; + } + + leaf csbSIPMthdHistoryStatsResp5xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 5xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.15"; + } + + leaf csbSIPMthdHistoryStatsResp5xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 5xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.16"; + } + + leaf csbSIPMthdHistoryStatsResp6xxIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 6xx responses for this method + received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.17"; + } + + leaf csbSIPMthdHistoryStatsResp6xxOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total 6xx responses for this method + sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.4.1.18"; + } + } + } + + container csbSIPMthdRCCurrentStatsTable { + description + "This table reports SIP method request and response code + statistics for each method and response code combination on + given SIP adjacency in a given interval. To understand the + meaning of interval please refer section + in description of ciscoSbcStatsMIB. An exact lookup will return + a row only if - + 1) detailed response code statistics are turned on in SBC + 2) response code messages sent or received is non zero for + given SIP adjacency, method and interval. + Also an inexact lookup will only return rows for messages with + non-zero counts, to protect the user from large numbers of rows + for response codes which have not been received or sent."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5"; + + list csbSIPMthdRCCurrentStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbSIPMthdRCCurrentStatsAdjName csbSIPMthdRCCurrentStatsMethod csbSIPMthdRCCurrentStatsRespCode csbSIPMthdRCCurrentStatsInterval"; + description + "A conceptual row in the csbSIPMthdRCCurrentStatsTable. Each + entry in this table represents a method and response code + combination. Each entry in this table is identified by a value + of csbSIPMthdRCCurrentStatsAdjName, + csbSIPMthdRCCurrentStatsMethod, + csbSIPMthdRCCurrentStatsRespCode and + csbSIPMthdRCCurrentStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbSIPMthdRCCurrentStatsAdjName { + type snmp-framework:SnmpAdminString; + description + "This identifies the name of the adjacency for which statistics + are reported. This object acts as an index for the table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.1"; + } + + leaf csbSIPMthdRCCurrentStatsMethod { + type CISCO-SESS-BORDER-CTRLR-STATS-MIB:CiscoSbcSIPMethod; + description + "This object indicates the SIP method request. This object acts + as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.2"; + } + + leaf csbSIPMthdRCCurrentStatsRespCode { + type uint32; + description + "This object indicates the response code for the SIP message + request. The range of valid values for SIP response codes is 100 + - 999. This object acts as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.3"; + } + + leaf csbSIPMthdRCCurrentStatsInterval { + type cisco-sess:CiscoSbcPeriodicStatsInterval; + description + "This object identifies the interval for which the periodic + statistics information is to be displayed. The interval + values can be 5 min, 15 mins, 1 hour , 1 Day. This object acts + as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.4"; + } + + leaf csbSIPMthdRCCurrentStatsMethodName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the text representation of the SIP + method request. E.g. INVITE, ACK, BYE etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.5"; + } + + leaf csbSIPMthdRCCurrentStatsRespIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total SIP messages with this response + code this method received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.6"; + } + + leaf csbSIPMthdRCCurrentStatsRespOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total SIP messages with this response + code for this method sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.5.1.7"; + } + } + } + + container csbSIPMthdRCHistoryStatsTable { + description + "This table reports historical data for SIP method request and + response code statistics for each method and response code + combination in a given past interval. The possible values of + interval will be previous 5 minutes, previous 15 minutes, + previous 1 hour and previous day. To understand the + meaning of interval please refer section + in description of ciscoSbcStatsMIB. An exact lookup will return + a row only if - + 1) detailed response code statistics are turned on in SBC + 2) response code messages sent or received is non zero for + given SIP adjacency, method and interval. + Also an inexact lookup will only return rows for messages with + non-zero counts, to protect the user from large numbers of rows + for response codes which have not been received or sent."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6"; + + list csbSIPMthdRCHistoryStatsEntry { + key "csbCallStatsInstanceIndex csbCallStatsServiceIndex csbSIPMthdRCHistoryStatsAdjName csbSIPMthdRCHistoryStatsMethod csbSIPMthdRCHistoryStatsRespCode csbSIPMthdRCHistoryStatsInterval"; + description + "A conceptual row in the csbSIPMthdRCHistoryStatsTable. The + entries in this table are updated as interval completes in + the csbSIPMthdRCCurrentStatsTable table and the data is + moved from that table to this one. Each entry in this table + is identified by a value of csbSIPMthdRCHistoryStatsAdjName, + csbSIPMthdRCHistoryStatsMethod, + csbSIPMthdRCHistoryStatsRespCode and + csbSIPMthdRCHistoryStatsInterval. The other indices of this + table are csbCallStatsInstanceIndex defined in + csbCallStatsInstanceTable and csbCallStatsServiceIndex defined + in csbCallStatsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1"; + + leaf csbCallStatsInstanceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsInstanceTable/cisco-sess:csbCallStatsInstanceEntry/cisco-sess:csbCallStatsInstanceIndex"; + } + } + + leaf csbCallStatsServiceIndex { + type leafref { + path "/cisco-sess:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB/cisco-sess:csbCallStatsTable/cisco-sess:csbCallStatsEntry/cisco-sess:csbCallStatsServiceIndex"; + } + } + + leaf csbSIPMthdRCHistoryStatsAdjName { + type snmp-framework:SnmpAdminString; + description + "This identifies the name of the adjacency for which statistics + are reported. This object acts as an index for the table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.1"; + } + + leaf csbSIPMthdRCHistoryStatsMethod { + type CISCO-SESS-BORDER-CTRLR-STATS-MIB:CiscoSbcSIPMethod; + description + "This object indicates the SIP method request. This object acts + as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.2"; + } + + leaf csbSIPMthdRCHistoryStatsMethodName { + type snmp-framework:SnmpAdminString; + description + "This object indicates the text representation of the SIP + method request. E.g. INVITE, ACK, BYE etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.3"; + } + + leaf csbSIPMthdRCHistoryStatsRespCode { + type uint32; + description + "This object indicates the response code for the SIP message + request. The range of valid values for SIP response codes is 100 + - 999. This object acts as an index for the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.4"; + } + + leaf csbSIPMthdRCHistoryStatsInterval { + type cisco-sess:CiscoSbcPeriodicStatsInterval; + description + "This object identifies the interval for which the periodic + statistics information is to be displayed. The interval + values can be previous 5 min, previous 15 mins, previous 1 + hour , previous 1 Day. This object acts as an index for the + table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.5"; + } + + leaf csbSIPMthdRCHistoryStatsRespIn { + type yang:gauge32; + units "responses"; + description + "This object indicates the total SIP messages with this response + code this method received on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.6"; + } + + leaf csbSIPMthdRCHistoryStatsRespOut { + type yang:gauge32; + units "responses"; + description + "This object indicates the total SIP messages with this response + code for this method sent on this SIP adjacency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.757.1.6.1.7"; + } + } + } + } + + smiv2:alias "ciscoSbcStatsMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.757"; + } + + smiv2:alias "ciscoSbcStatsMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.757.0"; + } + + smiv2:alias "ciscoSbcStatsMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.757.1"; + } + + smiv2:alias "ciscoSbcStatsMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.757.2"; + } + + smiv2:alias "csbStatsMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.757.2.1"; + } + + smiv2:alias "csbStatsMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.757.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SIP-UA-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SIP-UA-MIB.yang new file mode 100644 index 000000000..543409efa --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SIP-UA-MIB.yang @@ -0,0 +1,3600 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-SIP-UA-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SIP-UA-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SIP-UA-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB"; + prefix CISCO-SIP-UA-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-sip@cisco.com"; + + description + "Cisco User Agent Session Initiation Protocol (SIP) + MIB module. SIP is an application-layer signalling + protocol for creating, modifying and terminating + multimedia sessions with one or more participants. + These sessions include Internet multimedia conferences + and Internet telephone calls. SIP is defined in + RFC 2543 (March 1999). + + This MIB is defined for the management of SIP User + Agents (UAs). A User Agent is an application which + contains both a User Agent Client (UAC) and a User + Agent Server (UAS). A UAC is an application that + initiates a SIP request. A UAS is an application that + contacts the user when a SIP request is received and + that returns a response on behalf of the user. The + response accepts, rejects, or redirects the request. + + A SIP transaction occurs between a client and a server + and comprises all messages from the first request sent + from the client to the server up to a final (non-1xx) + response sent from the server to the client."; + + revision 2004-02-19 { + description + " Addition of the following objects: + cSipCfgSuspendResumeEnabled + cSipCfgTimerHold + cSipCfgTimerInfo + cSipCfgTimerConnectionAging + cSipCfgTimerBufferInvite + cSipCfgRetryInfo + cSipCfgRetrySubscribe + cSipCfgOfferCallHold + cSipCfgPeerSwitchTransEnabled + cSipCfgSwitchTransportEnabled + cSipCfgMaximumForwards + cSipCfgReasonHeaderOveride + + cSipCfgBindSourceAddrTable -> + cSipCfgBindSourceAddrEntry + cSipCfgBindSourceAddrScope + cSipCfgBindSourceAddrInterface + cSipCfgVoiceServiceVoip -> + cSipCfgHeaderPassingEnabled + cSipCfgMaxSubscriptionAccept + cSipCfgMaxSubscriptionOriginate + + cSipStatsRedirMovedTempsIns + cSipStatsRedirMovedTempsOuts + cSipStatsRetryInfo + cSipStatsRetrySubscribe + cSipStatsClientReqPendingIns + cSipStatsClientReqPendingOuts + cSipStatsTrafficUpdateIns + cSipStatsTrafficUpdateOuts + cSipStatsConnTCPSendFailures + cSipStatsConnUDPSendFailures + cSipStatsConnTCPRemoteClosures + cSipStatsConnUDPCreateFailures + cSipStatsConnTCPCreateFailures + cSipStatsConnUDPInactiveTimeouts + cSipStatsConnTCPInactiveTimeouts + cSipStatsActiveUDPConnections + cSipStatsActiveTCPConnections + + Deprecated the following objects: + cSipCfgMaxForwards + cSipStatsRedirMovedTemps + cSipCfgBindSrcAddrScope + cSipCfgBindSrcAddrInterface + + Addition of the following Conformance objects: + ciscoSipTrafficStatsGroupRev3 + ciscoSipStatsRedirStatusCodesGroupRev2 + ciscoSipTimerConfigGroupRev4 + ciscoSipRetryStatsGroupRev4 + ciscoSipBaseIOSConfigGroupRev1 + ciscoSipStatsClientStatusCodesGroupRev4 + ciscoSipRetryConfigGroupRev4 + ciscoSipCfgPeerGroupRev1 + ciscoSipCfgVoiceServiceVoipGroup + ciscoSipStatsConnectionGroup + + Deprecated the following Conformance objects: + ciscoSipTrafficStatsGroupRev2 + ciscoSipStatsRedirStatusCodesGroupRev1 + ciscoSipTimerConfigGroupRev3 + ciscoSipRetryStatsGroupRev3 + ciscoSipBaseIOSConfigGroup + ciscoSipStatsClientStatusCodesGroupRev3 + ciscoSipRetryConfigGroupRev3 + ciscoSipCfgPeerGroup + + Addition of the following Compliance object: + ciscoSipComplianceRev5 + + Deprecated the following Compliance object: + ciscoSipComplianceRev4"; + } + + revision 2002-05-08 { + description + " Addition of the following textual conventions: + CSipStatusCode + CSipMethodStr + + Addition of the following objects: + cSipCfgRedirectionDisabled + cSipCfgTimerSessionTimer + cSipCfgEarlyMediaTable + cSipCfgEarlyMediaStatusCodeIndex + cSipCfgEarlyMediaCutThruDisabled + cSipStatsClientSTTooSmallIns + cSipStatsClientSTTooSmallOuts + cSipStatsMisc3xxMappedTo4xxRsps + cSipStatsSuccessOkTable + cSipStatsSuccessOkMethod + cSipStatsSuccessOkInbounds + cSipStatsSuccessOkOutbounds + cSipCfgSymNatEnabled + cSipCfgSymNatDirectionRole"; + } + + revision 2001-10-05 { + description + "Obsoleting cSipStatsRedirSeeOthers, + cSipStatsClientLengthRequiredIns and + cSipStatsClientLengthRequiredOuts. + Add cSipCfgTimerRefer, cSipCfgRetryRefer, + and cSipStatsRetryRefers. + Deprecated old-style ciscoSipUaMIBNotificationPrefix."; + } + + revision 2001-09-07 { + description + "Neglected to deprecate + ciscoSipStatsClientStatusCodesGroupRev1 + in the previous revision where + ciscoSipStatsClientStatusCodesGroupRev2 + was made current."; + } + + revision 2001-08-21 { + description + "Deprecating cSipStatsRedirSeeOthers, + cSipStatsClientLengthRequiredIns and + cSipStatsClientLengthRequiredOuts. + The SIP status codes related to these + counters have been removed from + RFC2543bis03 version of the standard."; + } + + revision 2001-08-02 { + description + "Addition of the following objects: + cSipCfgAaaUsername + cSipStatsTrafficInfoIns + cSipStatsTrafficInfoOuts + cSipStatsTrafficSubscribeIns + cSipStatsTrafficSubscribeOuts + cSipStatsClientBadEventIns + cSipStatsClientBadEventOuts"; + } + + revision 2001-06-07 { + description + "Addition of the following objects: + cSipCfgBindSrcAddrInterface + cSipCfgBindSrcAddrScope + cSipCfgDnsSrvQueryStringFormat + cSipStatsTrafficReferIns + cSipStatsTrafficReferOuts + cSipStatsTrafficNotifyIns + cSipStatsTrafficNotifyOuts + cSipStatsSuccessAcceptedIns + cSipStatsSuccessAcceptedOuts + cSipCfgTimerNotify + cSipCfgRetryNotify + cSipCfgStatusCodeIndex + cSipCfgPstnCause + cSipCfgStatusCauseStoreStatus + cSipCfgPstnCauseIndex + cSipCfgStatusCode + cSipCfgCauseStatusStoreStatus + cSipStatsRetryNotifys"; + } + + revision 2001-03-02 { + description + "Addition of the following objects: + cSipCfgMaxForwards + cSipCfgTimerPrack + cSipCfgTimerComet + cSipCfgTimerReliableRsp + cSipCfgRetryPrack + cSipCfgRetryComet + cSipCfgRetryReliableRsp + cSipCfgOutSessionTransport + cSipCfgReliable1xxRspStr + cSipCfgReliable1xxRspHdr + cSipCfgUrlType + cSipCfgPeerTable + cSipCfgPeerIndex + cSipCfgPeerOutSessionTransport + cSipCfgPeerReliable1xxRspStr + cSipCfgPeerReliable1xxRspHdr + cSipCfgPeerUrlType + cSipStatsClientReqTermIns + cSipStatsClientReqTermOuts + cSipStatsClientNoAcceptHereIns + cSipStatsClientNoAcceptHereOuts + cSipStatsServerPrecondFailureIns + cSipStatsServerPrecondFailureOuts + cSipStatsTrafficCometIns + cSipStatsTrafficCometOuts + cSipStatsTrafficPrackIns + cSipStatsTrafficPrackOuts + cSipStatsRetryPrack + cSipStatsRetryComets + cSipStatsRetryReliable1xxRsps"; + } + + typedef CSipStatusCode { + type int32 { + range "1..2147483647"; + } + description + "A textual convention reflecting a SIP + response status code value."; + } + + typedef CSipMethodStr { + type binary { + length "1..32"; + } + description + "A textual convention reflecting SIP methods + supported by this user agent. SIP methods + are case-sensitive. Therefore, objects using + this textual convention must also have values + that are case-sensitive. All SIP methods must + be represented as all upper case ASCII strings. + For example, 'INVITE'."; + } + + identity ciscoSipUaMIBNotificationPrefix { + base smiv2:object-identity; + status deprecated; + description + "Old style notification prefixing. Being replaced by + ciscoSipUaMIBNotifs."; + smiv2:oid "1.3.6.1.4.1.9.9.152.2"; + } + + identity ciscoSipUaMIBNotifications { + base smiv2:object-identity; + status deprecated; + description + "Old style notification prefixing. Being replaced by + ciscoSipUaMIBNotifs."; + smiv2:oid "1.3.6.1.4.1.9.9.152.2.0"; + } + + + container CISCO-SIP-UA-MIB { + config false; + + container cSipCfgBase { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1"; + + leaf cSipCfgVersion { + type snmp-framework:SnmpAdminString; + description + "This object will reflect the version of SIP supported by this + user agent. It will follow the same format as SIP version + information contained in the SIP messages generated by this + user agent. For example, user agents supporting SIP version 2 + will return 'SIP/2.0' as dictated by RFC 2543."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.1"; + } + + leaf cSipCfgTransport { + type enumeration { + enum "udp" { + value "1"; + } + enum "tcp" { + value "2"; + } + enum "udpAndTcp" { + value "3"; + } + enum "disabled" { + value "4"; + } + } + description + "This object specifies the transport protocol the SIP user + agent will use to receive SIP messages. A value of 'disabled' + indicates that the UA will not receive any SIP messages."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.2"; + } + + leaf cSipCfgUserLocationServerAddr { + type snmp-framework:SnmpAdminString; + description + "This object specifies address of the User Location + Server (ULS) being used to resolve the location of end + points. This could be a Domain Name Server (DNS) or a + SIP proxy/redirect server. + + The format of the address follows the IETF service location + protocol. The syntax is as follows: + + mapping-type:type-specific-syntax + + the mapping-type specifies a scheme for mapping the matching + dial string to a target server. The type-specific-syntax is + exactly that, something that the particular mapping scheme can + understand. For example, + Session target Meaning + ipv4:171.68.13.55:1006 The session target is the IP + version 4 address of 171.68.13.55 + and port 1006. + dns:pots.cisco.com The session target is the IP host + with dns name pots.cisco.com. + + The valid Mapping type definitions for the peer follow: + ipv4 - Syntax: ipv4:w.x.y.z:port or ipv4:w.x.y.z + dns - Syntax: dns:host.domain."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.3"; + } + + leaf cSipCfgMaxForwards { + type int32 { + range "1..70"; + } + status deprecated; + description + "This object may be used with any SIP method to limit the + number of proxies that can forward the request to the next + downstream server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.4"; + } + + leaf cSipCfgBindSrcAddrInterface { + type if-mib:InterfaceIndexOrZero; + status deprecated; + description + "This object may specify the interface where the + source IP address used in SIP signalling or media + packets is configured. A value of 0 means that + there is no specific source address configured and + in this case the best local IP address will be chosen + by the system."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.5"; + } + + leaf cSipCfgBindSrcAddrScope { + type enumeration { + enum "none" { + value "0"; + } + enum "all" { + value "1"; + } + enum "control" { + value "2"; + } + } + status deprecated; + description + "This object specifies the scope of packets to + which the source IP address of the interface + designated by cSipCfgBindSrcAddrInterface + will be bound. A value of 'all' means the IP address + will be bound to both SIP signalling and media packets. + A value of 'control' means the IP address will only + be bound to SIP signalling packets. + If cSipCfgBindSrcAddrInterface is set to 0, + the value of this object has no meaning."; + smiv2:defval "all"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.6"; + } + + leaf cSipCfgDnsSrvQueryStringFormat { + type enumeration { + enum "v1" { + value "1"; + } + enum "v2" { + value "2"; + } + } + description + "This object specifies the format of the prefix used + by the system for DNS SRV queries. + + v1 : RFC 2052 format - 'protocol.transport.' + v2 : RFC 2782 format - '_protocol._transport.' + + This object allows backward compatibility with systems + only supporting RFC 2052 format."; + smiv2:defval "v2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.7"; + } + + leaf cSipCfgRedirectionDisabled { + type boolean; + description + "This object specifies how call redirection (3xx) + is handled by the user agent. + + If 'false', the user agent's treatment of incoming + 3xx class response messages is as defined in RFC 2543. + That is, the user agent uses the Contact header(s) + from the 3xx response to reinitiate another INVITE + transaction to the user's new location. The call + is redirected. + + If 'true', the user agent treats incoming 3xx + response messages as 4xx (client error) class + response messages. In this case, the call is not + redirected, instead it is released with the + appropriate PSTN cause code. + + The mapping of SIP 3xx response status codes to + 4xx response status codes is as follows: + 300 Multiple Choices -> 410 Gone + 301 Moved Permanently -> 410 Gone + 302 Moved Temporarily -> 480 Temporarily Unavailable + 305 User Proxy -> 410 Gone + 380 Alternative Service -> 410 Gone + Any other 3xx -> 410 Gone"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.8"; + } + + leaf cSipCfgSymNatEnabled { + type boolean; + description + "This object specifies whether remote media checks + for Symmetric Network Address Translation (NAT) + is enabled or disabled. + + If 'true', remote media checks are enabled. The + gateway will have the ability to open a Real Time + Transport Protocol (RTP) session with the remote + end and then update (modify) the existing RTP + session's remote address/port (raddr:rport) with + the source address and port of the actual media + packet received. This would be triggered for only + those calls where the Session Description Protocol + (SDP) received by the gateway has an indication to + do so. + + If 'false', remote media checks are disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.10"; + } + + leaf cSipCfgSymNatDirectionRole { + type enumeration { + enum "none" { + value "1"; + } + enum "passive" { + value "2"; + } + enum "active" { + value "3"; + } + } + description + "This object specifies the value of the + 'a=direction:' SDP attribute supported by + the user agent. The direction attribute is used + to describe the role of the user agent (as an + endpoint for a connection-oriented media stream) + in the connection setup procedure. + + none : No role is specified. + passive : The user agent will advertise itself + as a 'passive' entity (inside the NAT) + in the SDP. + active : The user agent will advertise itself + as a 'active' entity (outside the NAT) + in the SDP."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.11"; + } + + leaf cSipCfgSuspendResumeEnabled { + type boolean; + description + "This object specifies if support for handling + Suspend/Resume events from the switch is enabled or not. + + If 'true', the user agent on getting a Suspend will + notify the remote agent by sending it a re-invite with + a hold SDP. Similarly, when the Gateway receives a Resume, it + will initiate a re-invite with the original SDP and unhold the + call. + + If 'false', the user agent will not initiate any re-invites + on receiving Suspend/Resume events, basically it won't be + putting the call on hold or off hold."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.13"; + } + + leaf cSipCfgOfferCallHold { + type enumeration { + enum "directionAttr" { + value "1"; + } + enum "connAddr" { + value "2"; + } + } + description + "This object specifies how the SIP gateway would initiate call + hold requests. + + directionAttr: The user agent will use the direction + attribute such as a=sendonly or a=inactive in + the sdp to initiate call hold requests. + + connAddr: The user agent will use 0.0.0.0 connection address + to specify Call Hold."; + smiv2:defval "directionAttr"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.14"; + } + + leaf cSipCfgReasonHeaderOveride { + type boolean; + description + "This object specifies that the Reason header overrides SIP + status code mapping table."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.15"; + } + + leaf cSipCfgMaximumForwards { + type int32 { + range "1..70"; + } + description + "This object may be used with any SIP method to limit the + number of proxies that can forward the request to the next + downstream server."; + smiv2:defval "70"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.16"; + } + } + + container cSipCfgTimer { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2"; + + leaf cSipCfgTimerTrying { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait to + receive a provisional response to a INVITE before resending + the INVITE."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.1"; + } + + leaf cSipCfgTimerExpires { + type int32 { + range "60000..300000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait to + receive a final response to a INVITE before cancelling the + transaction."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.2"; + } + + leaf cSipCfgTimerConnect { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait to + receive an ACK confirmation a session is established."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.3"; + } + + leaf cSipCfgTimerDisconnect { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait to + receive an BYE confirmation a session is disconnected."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.4"; + } + + leaf cSipCfgTimerPrack { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait for + a final response before retransmitting the PRACK (PRovisional + ACKnowledgment)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.5"; + } + + leaf cSipCfgTimerComet { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the time a user agent will wait + for a final response before retransmitting the COMET + (COndition MET)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.6"; + } + + leaf cSipCfgTimerReliableRsp { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the amount of time to wait for a + PRACK before retransmitting the reliable 1xx response."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.7"; + } + + leaf cSipCfgTimerNotify { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the amount of time to wait for a + final response before retransmitting the Notify."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.8"; + } + + leaf cSipCfgTimerRefer { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the amount of time to wait for a + final response before retransmitting the Refer."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.9"; + } + + leaf cSipCfgTimerSessionTimer { + type int32 { + range "60..86400"; + } + units "seconds"; + description + "This object specifies the value of the Min-SE + header for INVITE messages originated by this + user agent and the minimum value of the + Session-Expires headers for INVITE messages + received by this user agent. + + Any Session-Expires headers received with a + value below this object's value will be rejected + with a 422 client error response message. + + Setting this object to a value less than 600 is + valid, but the possibly of excessive re-INVITES + and the impact of those messages should be fully + understood and considered an acceptable risk."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.10"; + } + + leaf cSipCfgTimerHold { + type int32 { + range "0|15..2880"; + } + units "minutes"; + description + "This object specifies the amount of time to wait before + disconnecting a call already on hold. A value of 0 specifies + that this functionality is disabled."; + smiv2:defval "2880"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.11"; + } + + leaf cSipCfgTimerInfo { + type int32 { + range "100..1000"; + } + units "milliseconds"; + description + "This object specifies the amount of time to wait for a + 200ok response before retransmitting the Info."; + smiv2:defval "500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.12"; + } + + leaf cSipCfgTimerConnectionAging { + type int32 { + range "5..30"; + } + units "minutes"; + description + "This object specifies the amount of time to wait before + aging out a TCP/UDP connection."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.13"; + } + + leaf cSipCfgTimerBufferInvite { + type int32 { + range "0|50..5000"; + } + units "milliseconds"; + description + "This object specifies the amount of time to buffer the INVITE + while waiting for display name info in the Facility. + + A value of 0 means that the INVITE wouldn't be buffered + waiting for the display name info in the Facility."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2.14"; + } + } + + container cSipCfgRetry { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3"; + + leaf cSipCfgRetryInvite { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a INVITE request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.1"; + } + + leaf cSipCfgRetryBye { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a BYE request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.2"; + } + + leaf cSipCfgRetryCancel { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a CANCEL request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.3"; + } + + leaf cSipCfgRetryRegister { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a REGISTER request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.4"; + } + + leaf cSipCfgRetryResponse { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a Response and expecting a ACK."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.5"; + } + + leaf cSipCfgRetryPrack { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a PRACK (PRovisional ACKnowledgement)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.6"; + } + + leaf cSipCfgRetryComet { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a COMET (COndition MET)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.7"; + } + + leaf cSipCfgRetryReliableRsp { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a reliable response."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.8"; + } + + leaf cSipCfgRetryNotify { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a Notify request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.9"; + } + + leaf cSipCfgRetryRefer { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a Refer request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.10"; + } + + leaf cSipCfgRetryInfo { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a Info request."; + smiv2:defval "6"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.11"; + } + + leaf cSipCfgRetrySubscribe { + type int32 { + range "1..10"; + } + description + "This object specifies the number of times a user agent + will retry sending a Subscribe request."; + smiv2:defval "6"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3.12"; + } + } + + container cSipCfgPeer { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4"; + + leaf cSipCfgOutSessionTransport { + type enumeration { + enum "udp" { + value "1"; + } + enum "tcp" { + value "2"; + } + } + description + "This object specifies the session transport + protocol that will be used for outbound SIP + messages. This configuration is applicable + to all dial-peers in the system having + cSipCfgPeerOutSessionTransport set to 'system'."; + smiv2:defval "udp"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.2"; + } + + leaf cSipCfgReliable1xxRspStr { + type snmp-framework:SnmpAdminString; + description + "This object specifies the string that will be + placed in either the Supported or Require SIP + header, as specified by cSipCfgReliable1xxRspHdr."; + smiv2:defval "100rel"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.3"; + } + + leaf cSipCfgReliable1xxRspHdr { + type enumeration { + enum "supported" { + value "1"; + } + enum "require" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + description + "This object specifies behavior with respect to + Supported or Require headers in SIP messages sent + and received via this dial-peer. + + If the originating gateway is configured for 'require', + the Require header is added to the outgoing INVITEs + with the value of cSipCfgReliable1xxStr. This + requires the use of reliable provisional responses by + the terminating gateway. Sessions will be torn down + if this use cannot be supported by that gateway. + + If the originating gateway is configured for 'supported', + the Supported header is added to the outgoing INVITEs + with the value of cSipCfgReliable1xxStr. This + requires that an attempt to use reliable provisional + responses be made, but sessions can continue without them. + + If the originating gateway is configured for 'disabled', + the value of cSipCfgReliable1xxStr will NOT be added to + either the Require or Supported headers of outgoing INVITEs."; + smiv2:defval "supported"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.4"; + } + + leaf cSipCfgUrlType { + type enumeration { + enum "sip" { + value "1"; + } + enum "tel" { + value "2"; + } + } + description + "This object specifies the URL type sent in outbound + INVITES generated by this device."; + smiv2:defval "sip"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.5"; + } + } + + container cSipCfgAaa { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.6"; + + leaf cSipCfgAaaUsername { + type enumeration { + enum "callingNumber" { + value "1"; + } + enum "proxyAuth" { + value "2"; + } + } + description + "This object specifies the source of the information used to + populate the username attribute of AAA billing records."; + smiv2:defval "callingNumber"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.6.1"; + } + } + + container cSipCfgVoiceServiceVoip { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7"; + + leaf cSipCfgHeaderPassingEnabled { + type boolean; + description + "This object specifies if support for passing + SIP headers from Invite, Subscribe, Notify Request to the + application is enabled. + + If 'true', the headers received in a message will be passed + to the application. + + If 'false', the headers received in a message will not be + passed to the application."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7.1"; + } + + leaf cSipCfgMaxSubscriptionAccept { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the maximum number of concurrent SIP + subscriptions a SIP Gateway can accept."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7.2"; + } + + leaf cSipCfgMaxSubscriptionOriginate { + type uint32 { + range "0..4294967295"; + } + description + "This object specifies the maximum number of concurrent SIP + subscriptions that a SIP Gateway can originate. Default is Max + Dialpeers on platform. Maximum is 2*Max Dialpeers on + Platform."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7.3"; + } + + leaf cSipCfgSwitchTransportEnabled { + type boolean; + description + "This object specifies if the functionality of switching + between transports from udp to tcp if the message size of a + Request is greater than 1300 bytes is enabled or not. + + This configuration is at the global level, and will only be + considered if there exists no voip dial-peer."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7.4"; + } + } + + container cSipStatsInfo { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1"; + + leaf cSipStatsInfoTryingIns { + type yang:counter32; + description + "This object reflects the total number of Trying + (100) responses received by the user agent since system startup. + Trying responses indicate that some unspecified + action is being taken on behalf of this call, but + the user has not yet been located. Inbound Trying + responses indicate that outbound INVITE request + sent out by this system have been received and + are processed."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.1"; + } + + leaf cSipStatsInfoTryingOuts { + type yang:counter32; + description + "This object reflects the total number of Trying + (100) responses sent by the user agent since system startup. + Trying responses indicate that some unspecified + action is being taken on behalf of this call, but + the user has not yet been located. Outbound Trying + responses indicate this system is successfully + receiving INVITE requests and processing them on + behalf of the system initiating the INVITE."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.2"; + } + + leaf cSipStatsInfoRingingIns { + type yang:counter32; + description + "This object reflects the total number of Ringing + (180) responses received by the user agent since system startup. + A inbound Ringing response indicates that the UAS + processing a INVITE initiated by this system has + found a possible location where the desired end user + has registered recently and is trying to alert the user."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.3"; + } + + leaf cSipStatsInfoRingingOuts { + type yang:counter32; + description + "This object reflects the total number of Ringing + (180) responses sent by the user agent since system startup. + A outbound Ringing response indicates that this + system has processed an INVITE for a particular + end user and found a possible location where that + user has registered recently. The system is trying + to alert the end user and is conveying that status + to the system that originated the INVITE."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.4"; + } + + leaf cSipStatsInfoForwardedIns { + type yang:counter32; + description + "This object reflects the total number of Call Is Being + Forwarded (181) responses received by the user agent since system startup. + A proxy server may use a Forwarded status code to + indicate that the call is being forwarded to a different + set of destinations. Inbound Forwarded responses indicate + to this system that forwarding actions are taking place + with regard to calls initiated by this system."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.5"; + } + + leaf cSipStatsInfoForwardedOuts { + type yang:counter32; + description + "This object reflects the total number of Call Is Being + Forwarded (181) responses sent by the user agent since system startup. + A proxy server may use a Forwarded status code to + indicate that the call is being forwarded to a different + set of destinations. Outbound Forwarded responses + indicate this system is taking some forwarding action + for calls and conveying that status to the system that + initiated the calls."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.6"; + } + + leaf cSipStatsInfoQueuedIns { + type yang:counter32; + description + "This object reflects the total number of Queued + (182) responses received by the user agent since system startup. + Inbound Queued responses indicate that the users + this system is attempting to call are temporarily + unavailable but the SIP agents operating on behalf + of those users wish to queue the calls rather than + reject them. When the called parties become available, + this system can expect to receive the appropriate + final status response. The Reason-Phrase from the + Queued response messages Status-Line may give further + details about the status of the call. Multiple + Queued responses to update this system about the status + of the queued call my be received."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.7"; + } + + leaf cSipStatsInfoQueuedOuts { + type yang:counter32; + description + "This object reflects the total number of Queued + (182) responses sent by the user agent since system startup. + Outbound Queued responses indicate this system + has determined that the called party is temporarily + unavailable but the call is not rejected. Rather + the call is queued until the called party becomes + available. Queued responses messages are sent to + the system originating the call request to convey + the current status of a queued call."; + reference + "RFC 2543, Sections 5.1.1 & 7.1.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.8"; + } + + leaf cSipStatsInfoSessionProgIns { + type yang:counter32; + description + "This object reflects the total number of Session + Progress (183) responses received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.9"; + } + + leaf cSipStatsInfoSessionProgOuts { + type yang:counter32; + description + "This object reflects the total number of Session + Progress (183) responses sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1.10"; + } + } + + container cSipStatsSuccess { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2"; + + leaf cSipStatsSuccessOkIns { + type yang:counter32; + status deprecated; + description + "This object reflects the total number of Ok + (200) responses received by the user agent since system startup. + The meaning of inbound Ok responses depends + on the method used in the associated request. + + BYE : The Ok response means the call has + been terminated. + + CANCEL : The Ok response means the search for + the end user has been cancelled. + + INVITE : The Ok response means the called party + has agreed to participate in the call. + + OPTIONS : The Ok response means the called party + has agreed to share its capabilities. + + REGISTER : The Ok response means the registration + has succeeded."; + reference + "RFC 2543, Sections 5.1.1 & 7.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.1"; + } + + leaf cSipStatsSuccessOkOuts { + type yang:counter32; + status deprecated; + description + "This object reflects the total number of Ok + (200) responses sent by the user agent since system startup. + The meaning of outbound Ok responses depends + on the method used in the associated request. + + BYE : The Ok response means the call has + been terminated. + + CANCEL : The Ok response means the search for + the end user has been cancelled. + + INVITE : The Ok response means the called party + has agreed to participate in the call. + + OPTIONS : The Ok response means the called party + has agreed to share its capabilities. + + REGISTER : The Ok response means the registration + has succeeded."; + reference + "RFC 2543, Sections 5.1.1 & 7.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.2"; + } + + leaf cSipStatsSuccessAcceptedIns { + type yang:counter32; + description + "This object reflects the total number of Accepted + (202) responses received by the user agent since system startup. + The meaning of outbound 202 Ok responses depends + on the method used in the associated request."; + reference + "draft-ietf-sip-cc-transfer-04.txt"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.3"; + } + + leaf cSipStatsSuccessAcceptedOuts { + type yang:counter32; + description + "This object reflects the total number of Accepted + (202) responses sent by the user agent since system startup. + The meaning of outbound 202 Ok responses depends + on the method used in the associated request."; + reference + "draft-ietf-sip-cc-transfer-04.txt"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.4"; + } + } + + container cSipStatsRedirect { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3"; + + leaf cSipStatsRedirMultipleChoices { + type yang:counter32; + description + "This object reflects the total number of Multiple + Choices (300) responses received by the user agent since system startup. + Multiple Choices responses indicate that the called + party can be reached at several different locations + and the server cannot or prefers not to proxy the request."; + reference + "RFC 2543, Section 5.1.1 & 7.3.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.1"; + } + + leaf cSipStatsRedirMovedPerms { + type yang:counter32; + description + "This object reflects the total number of Moved + Permanently (301) responses received by the user agent since system startup. + Moved Permanently responses indicate that the called party + can no longer be found at the address offered in the request + and the requesting UAC should retry at the new address given + by the Contact header field of the response."; + reference + "RFC 2543, Sections 5.1.1 & 7.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.2"; + } + + leaf cSipStatsRedirMovedTemps { + type yang:counter32; + status deprecated; + description + "This object reflects the total number of Moved + Temporarily (302) responses received by the user agent since system startup. + Moved Temporarily responses indicate the UAC should + retry the request directed at the new address(es) + given by the Contact header field of the response. + The duration of this redirection can be indicated + through the Expires header. If no explicit expiration + time is given, the new address(es) are only valid + for this call."; + reference + "RFC 2543, Sections 5.1.1 & 7.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.3"; + } + + leaf cSipStatsRedirSeeOthers { + type yang:counter32; + status obsolete; + description + "This object reflects the total number of See Other + (303) responses received by the user agent since system startup."; + reference + "RFC 2543, Sections 5.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.4"; + } + + leaf cSipStatsRedirUseProxys { + type yang:counter32; + description + "This object reflects the total number of Use Proxy + (305) responses received by the user agent since system startup. + See Other responses indicate that requested resources + must be accessed through the proxy given by the + Contact header field of the response. The recipient + of this response is expected to repeat this single + request via the proxy."; + reference + "RFC 2543, Sections 5.1.1 & 7.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.5"; + } + + leaf cSipStatsRedirAltServices { + type yang:counter32; + description + "This object reflects the total number of Alternative + Service (380) responses received by the user agent since system startup. + Alternative Service responses indicate that the call + was not successful, but alternative services are + possible. Those alternative services are described + in the message body of the response."; + reference + "RFC 2543, Sections 5.1.1 & 7.3.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.6"; + } + + leaf cSipStatsRedirMovedTempsIns { + type yang:counter32; + description + "This object reflects the total number of Moved + Temporarily (302) responses received by the user agent since + system startup. + Moved Temporarily responses indicate the UAC should + retry the request directed at the new address(es) + given by the Contact header field of the response. + The duration of this redirection can be indicated + through the Expires header. If no explicit expiration + time is given, the new address(es) are only valid + for this call."; + reference + "RFC 3261 Section 21.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.7"; + } + + leaf cSipStatsRedirMovedTempsOuts { + type yang:counter32; + description + "This object reflects the total number of Moved + Temporarily (302) responses sent by the user agent since + system startup."; + reference + "RFC 3261, Section 21.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3.8"; + } + } + + container cSipStatsErrClient { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4"; + + leaf cSipStatsClientBadRequestIns { + type yang:counter32; + description + "This object reflects the total number of Bad Request (400) + responses received by the user agent since system startup. + Inbound Bad Request responses indicate that requests issued + by this system could not be understood due to malformed + syntax."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.1"; + } + + leaf cSipStatsClientBadRequestOuts { + type yang:counter32; + description + "This object reflects the total number of Bad Request (400) + responses sent by the user agent since system startup. + Outbound Bad Request responses indicate that requests + received by this system could not be understood due to + malformed syntax."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.2"; + } + + leaf cSipStatsClientUnauthorizedIns { + type yang:counter32; + description + "This object reflects the total number of Unauthorized (401) + responses received by the user agent since system startup. + Inbound Unauthorized responses indicate that requests issued + by this system require user authentication."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.3"; + } + + leaf cSipStatsClientUnauthorizedOuts { + type yang:counter32; + description + "This object reflects the total number of Unauthorized (401) + responses sent by the user agent since system startup. + Outbound Unauthorized responses indicate that requests + received by this system require user authentication."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.4"; + } + + leaf cSipStatsClientPaymentReqdIns { + type yang:counter32; + description + "This object reflects the total number of Payment Required + (402) responses received by the user agent since system startup."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.5"; + } + + leaf cSipStatsClientPaymentReqdOuts { + type yang:counter32; + description + "This object reflects the total number of Payment Required + (402) responses sent by the user agent since system startup."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.6"; + } + + leaf cSipStatsClientForbiddenIns { + type yang:counter32; + description + "This object reflects the total number of Forbidden (403) + responses received by the user agent since system startup. + Inbound Forbidden responses indicate that requests issued + by this system are understood by the server but the server + refuses to fulfill the request. Authorization will not help + and the requests should not be repeated."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.7"; + } + + leaf cSipStatsClientForbiddenOuts { + type yang:counter32; + description + "This object reflects the total number of Forbidden (403) + responses sent by the user agent since system startup. + Outbound Forbidden responses indicate that requests received + by this system are understood but this system is refusing to + fulfill the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.8"; + } + + leaf cSipStatsClientNotFoundIns { + type yang:counter32; + description + "This object reflects the total number of Not Found (404) + responses received by the user agent since system startup. + Inbound Not Found responses indicate that the called party + does not exist at the domain specified in the Request-URI + or the domain is not handled by the recipient of the request."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.9"; + } + + leaf cSipStatsClientNotFoundOuts { + type yang:counter32; + description + "This object reflects the total number of Not Found (404) + responses sent by the user agent since system startup. + Outbound Not Found responses indicate that this system + knows that the called party does not exist at the domain + specified in the Request-URI or the domain is not handled + by this system."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.10"; + } + + leaf cSipStatsClientMethNotAllowedIns { + type yang:counter32; + description + "This object reflects the total number of Method Not Allowed + (405) received responses by the user agent. + Inbound Method Not Allowed responses indicate that requests + issued by this system have specified a SIP method in the + Request-Line that is not allowed for the address identified + by the Request-URI."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.11"; + } + + leaf cSipStatsClientMethNotAllowedOuts { + type yang:counter32; + description + "This object reflects the total number of Method Not Allowed + (405) received sent by the user agent since system startup. + Outbound Method Not Allowed responses indicate that requests + received by this system have SIP methods specified in the + Request-Line that are not allowed for the address identified + by the Request-URI."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.12"; + } + + leaf cSipStatsClientNotAcceptableIns { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable + (406) responses received by the user agent since system startup. + Inbound Not Acceptable responses indicate the resources + identified by requests issued by this system cannot generate + responses with content characteristics acceptable to this + system according to the accept headers sent in the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.7"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.13"; + } + + leaf cSipStatsClientNotAcceptableOuts { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable (406) + responses sent by the user agent since system startup. + Outbound Not Acceptable responses indicate that the resources + identified by requests received by this system cannot generate + responses with content characteristics acceptable to the + system sending the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.7"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.14"; + } + + leaf cSipStatsClientProxyAuthReqdIns { + type yang:counter32; + description + "This object reflects the total number of Proxy Authentication + Required (407) responses received by the user agent since system startup. + Inbound Proxy Authentication Required responses indicate that + this system must authenticate itself with the proxy before + gaining access to the requested resource."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.15"; + } + + leaf cSipStatsClientProxyAuthReqdOuts { + type yang:counter32; + description + "This object reflects the total number of Proxy Authentication + Required (407) responses sent by the user agent since system startup. + Outbound Proxy Authentication Required responses indicate that + the systems issuing requests being processed by this system + must authenticate themselves with this system before gaining + access to requested resources."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.16"; + } + + leaf cSipStatsClientReqTimeoutIns { + type yang:counter32; + description + "This object reflects the total number of Request Timeout + (408) responses received by the user agent since system startup. + Inbound Request Timeout responses indicate that requests + issued by this system are not being processed by the server + within the time indicated in the Expires header of the + request."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.9"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.17"; + } + + leaf cSipStatsClientReqTimeoutOuts { + type yang:counter32; + description + "This object reflects the total number of Request Timeout + (408) responses sent by the user agent since system startup. + Outbound Request Timeout responses indicate that this + system is not able to produce an appropriate response within + the time indicated in the Expires header of the request."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.9"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.18"; + } + + leaf cSipStatsClientConflictIns { + type yang:counter32; + description + "This object reflects the total number of Conflict (409) + responses received by the user agent since system startup. + Inbound Conflict responses indicate that requests issued + by this system could not be completed due to a conflict + with the current state of a requested resource."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.19"; + } + + leaf cSipStatsClientConflictOuts { + type yang:counter32; + description + "This object reflects the total number of Conflict (409) + responses sent by the user agent since system startup. + Outbound Conflict responses indicate that requests received + by this system could not be completed due to a conflict + with the current state of a requested resource."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.10"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.20"; + } + + leaf cSipStatsClientGoneIns { + type yang:counter32; + description + "This object reflects the total number of Gone (410) + responses received by the user agent since system startup. + Inbound Gone responses indicate that resources requested + by this system are no longer available at the recipient server + and no forwarding address is known."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.11"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.21"; + } + + leaf cSipStatsClientGoneOuts { + type yang:counter32; + description + "This object reflects the total number of Gone (410) + responses sent by the user agent since system startup. + Outbound Gone responses indicate that the requested + resources are no longer available at this system and + no forwarding address is known."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.11"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.22"; + } + + leaf cSipStatsClientLengthRequiredIns { + type yang:counter32; + status obsolete; + description + "This object reflects the total number of Length Required + (411) responses received by the user agent since system startup. + Inbound Length Required responses indicate that requests + issued by this system are being refused by servers because + of no defined Content-Length header field."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.12"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.23"; + } + + leaf cSipStatsClientLengthRequiredOuts { + type yang:counter32; + status obsolete; + description + "This object reflects the total number of Length Required + (411) responses sent by the user agent since system startup. + Outbound Length Required responses indicate that requests + received by this system are being refused because of no + defined Content-Length header field."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.12"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.24"; + } + + leaf cSipStatsClientReqEntTooLargeIns { + type yang:counter32; + description + "This object reflects the total number of Request Entity Too + Large (413) responses received by the user agent since system startup. + Inbound Request Entity Too Large responses indicate that + requests issued by this system are being refused because + the request is larger than the server is willing or able to + process."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.13"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.25"; + } + + leaf cSipStatsClientReqEntTooLargeOuts { + type yang:counter32; + description + "This object reflects the total number of Request Entity Too + Large (413) responses sent by the user agent since system startup. + Outbound Request Entity Too Large responses indicate that + requests received by this system are larger than this system + is willing or able to process."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.13"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.26"; + } + + leaf cSipStatsClientReqURITooLargeIns { + type yang:counter32; + description + "This object reflects the total number of Request-URI Too + Large (414) responses received by the user agent since system startup. + Inbound Request-URI Too Large responses indicate that + requests issued by this system are being refused because the + Request-URI is longer than the server is willing or able to + interpret."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.14"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.27"; + } + + leaf cSipStatsClientReqURITooLargeOuts { + type yang:counter32; + description + "This object reflects the total number of Request-URI Too + Large (414) responses sent by the user agent since system startup. + Outbound Request-URI Too Large responses indicate that + Request-URIs received by this system are longer than this + system is willing or able to interpret."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.14"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.28"; + } + + leaf cSipStatsClientNoSupMediaTypeIns { + type yang:counter32; + description + "This object reflects the total number of Unsupported Media + Type (415) responses received by the user agent since system startup. + Inbound Unsupported Media Type responses indicate that + requests issued by this system are being refused because the + message body of the request is in a format not supported by + the requested resource for the requested method."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.15"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.29"; + } + + leaf cSipStatsClientNoSupMediaTypeOuts { + type yang:counter32; + description + "This object reflects the total number of Unsupported Media + Type (415) responses sent by the user agent since system startup. + Outbound Unsupported Media Type responses indicate that the + body of requests received by this system are in a format not + supported by the requested resource for the requested method."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.15"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.30"; + } + + leaf cSipStatsClientBadExtensionIns { + type yang:counter32; + description + "This object reflects the total number of Bad Extension (420) + responses received by the user agent since system startup. + Inbound Bad Extension responses indicate that the recipient + did not understand the protocol extension specified in a + Require header field."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.16"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.31"; + } + + leaf cSipStatsClientBadExtensionOuts { + type yang:counter32; + description + "This object reflects the total number of Bad Extension (420) + responses sent by the user agent since system startup. + Outbound Bad Extension responses indicate that this system + did not understand the protocol extension specified in a + Require header field of requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.16"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.32"; + } + + leaf cSipStatsClientTempNotAvailIns { + type yang:counter32; + description + "This object reflects the total number of Temporarily Not + Available (480) responses received by the user agent since system startup. + Inbound Temporarily Not Available responses indicate that + the called party is currently unavailable."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.17"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.33"; + } + + leaf cSipStatsClientTempNotAvailOuts { + type yang:counter32; + description + "This object reflects the total number of Temporarily Not + Available (480) responses sent by the user agent since system startup. + Outbound Temporarily Not Available responses indicate that + the called party's end system was contacted successfully but + the called party is currently unavailable."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.17"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.34"; + } + + leaf cSipStatsClientCallLegNoExistIns { + type yang:counter32; + description + "This object reflects the total number of Call Leg/Transaction + Does Not Exist (481) responses received by the user agent since system startup. + Inbound Call Leg/Transaction Does Not Exist responses indicate + that either BYE or CANCEL requests issued by this system were + received by a server and not matching call leg or transaction + existed."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.18"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.35"; + } + + leaf cSipStatsClientCallLegNoExistOuts { + type yang:counter32; + description + "This object reflects the total number of Call Leg/Transaction + Does Not Exist (481) responses sent by the user agent since system startup. + Outbound Call Leg/Transaction Does Not Exist responses + indicate that BYE or CANCEL requests have been received by + this system and not call leg or transaction matching that + request exists."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.18"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.36"; + } + + leaf cSipStatsClientLoopDetectedIns { + type yang:counter32; + description + "This object reflects the total number of Loop Detected (482) + responses received by the user agent since system startup. + Inbound Loop Detected responses indicate that requests issued + by this system were received at servers and the server found + itself in the Via path more than once."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.19"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.37"; + } + + leaf cSipStatsClientLoopDetectedOuts { + type yang:counter32; + description + "This object reflects the total number of Loop Detected (482) + responses sent by the user agent since system startup. + Outbound Loop Detected responses indicate that requests + received by this system contain a Via path with this system + appearing more than once."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.19"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.38"; + } + + leaf cSipStatsClientTooManyHopsIns { + type yang:counter32; + description + "This object reflects the total number of Too Many Hops (483) + responses received by the user agent since system startup. + Inbound Too Many Hops responses indicate that requests issued + by this system contain more Via entries (hops) than allowed by + the Max-Forwards header field of the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.20"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.39"; + } + + leaf cSipStatsClientTooManyHopsOuts { + type yang:counter32; + description + "This object reflects the total number of Too Many Hops (483) + responses sent by the user agent since system startup. + Outbound Too Many Hops responses indicate that requests + received by this system contain more Via entries (hops) than + are allowed by the Max-Forwards header field of the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.20"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.40"; + } + + leaf cSipStatsClientAddrIncompleteIns { + type yang:counter32; + description + "This object reflects the total number of Address Incomplete + (484) responses received by the user agent since system startup. + Inbound Address Incomplete responses indicate that requests + issued by this system had To addresses or Request-URIs that + were incomplete."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.21"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.41"; + } + + leaf cSipStatsClientAddrIncompleteOuts { + type yang:counter32; + description + "This object reflects the total number of Address Incomplete + (484) responses sent by the user agent since system startup. + Outbound Address Incomplete responses indicate that requests + received by this system had To addresses or Request-URIs that + were incomplete."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.21"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.42"; + } + + leaf cSipStatsClientAmbiguousIns { + type yang:counter32; + description + "This object reflects the total number of Ambiguous (485) + responses received by the user agent since system startup. + Inbound Ambiguous responses indicate that requests issued + by this system provided ambiguous address information."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.22"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.43"; + } + + leaf cSipStatsClientAmbiguousOuts { + type yang:counter32; + description + "This object reflects the total number of Ambiguous (485) + responses sent by the user agent since system startup. + Outbound Ambiguous responses indicate that requests received + by this system contained ambiguous address information."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.22"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.44"; + } + + leaf cSipStatsClientBusyHereIns { + type yang:counter32; + description + "This object reflects the total number of Busy Here (486) + responses received by the user agent since system startup. + Inbound Busy Here responses indicate that the + called party is currently not willing or not able to + take additional calls."; + reference + "RFC 2543, Section 5.1.1 & 7.4.23"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.45"; + } + + leaf cSipStatsClientBusyHereOuts { + type yang:counter32; + description + "This object reflects the total number of Busy Here (486) + responses sent by the user agent since system startup. + Outbound Busy Here responses indicate that the + called party's end system was contacted successfully but the + called party is currently not willing or able to take + additional calls."; + reference + "RFC 2543, Sections 5.1.1 & 7.4.23"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.46"; + } + + leaf cSipStatsClientReqTermIns { + type yang:counter32; + description + "This object reflects the total number of Request Terminated + (487) responses received by the user agent since system startup. + Request Terminated responses are issued if the original + request was terminated via CANCEL or BYE."; + reference + "draft-ietf-sip-rfc2543bis-01.txt, Section 7.4.24.487"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.47"; + } + + leaf cSipStatsClientReqTermOuts { + type yang:counter32; + description + "This object reflects the total number of Request Terminated + (487) responses sent by the user agent since system startup. + Request Terminated responses are issued if the original + request was terminated via CANCEL or BYE."; + reference + "draft-ietf-sip-rfc2543bis-01.txt, Section 7.4.24.487"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.48"; + } + + leaf cSipStatsClientNoAcceptHereIns { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable Here + (488) responses received by the user agent since system startup. + The response has the same meaning as 606 (Not Acceptable), + but only applies to the specific entity addressed by the + Request-URI and the request may succeed elsewhere."; + reference + "draft-ietf-sip-rfc2543bis-01.txt, Section 7.4.24.488"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.49"; + } + + leaf cSipStatsClientNoAcceptHereOuts { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable Here + (488) responses sent by the user agent since system startup. + The response has the same meaning as 606 (Not Acceptable), + but only applies to the specific entity addressed by the + Request-URI and the request may succeed elsewhere."; + reference + "draft-ietf-sip-rfc2543bis-01.txt, Section 7.4.24.488"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.50"; + } + + leaf cSipStatsClientBadEventIns { + type yang:counter32; + description + "This object reflects the total number of BadEvent (489) + responses received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.51"; + } + + leaf cSipStatsClientBadEventOuts { + type yang:counter32; + description + "This object reflects the total number of BadEvent (489) + responses sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.52"; + } + + leaf cSipStatsClientSTTooSmallIns { + type yang:counter32; + description + "This object reflects the total number of SessionTimerTooSmall + (422) responses received by the user agent since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.53"; + } + + leaf cSipStatsClientSTTooSmallOuts { + type yang:counter32; + description + "This object reflects the total number of SessionTimerTooSmall + (422) responses sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.54"; + } + + leaf cSipStatsClientReqPendingIns { + type yang:counter32; + description + "This object reflects the total number of RequestPending + (491) responses received by the user agent since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.55"; + } + + leaf cSipStatsClientReqPendingOuts { + type yang:counter32; + description + "This object reflects the total number of RequestPending + (491) responses sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4.56"; + } + } + + container cSipStatsErrServer { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5"; + + leaf cSipStatsServerIntErrorIns { + type yang:counter32; + description + "This object reflects the total number of Internal Server Error + (500) responses received by the user agent since system startup. + Inbound Internal Server Error responses indicate that servers + to which this system is sending requests have encountered + unexpected conditions that prevent them from fulfilling the + requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.1"; + } + + leaf cSipStatsServerIntErrorOuts { + type yang:counter32; + description + "This object reflects the total number of Internal Server Error + (500) responses sent by the user agent since system startup. + Outbound Internal Server Error responses indicate that this + system has encountered unexpected conditions that prevent it + from fulfilling received requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.2"; + } + + leaf cSipStatsServerNotImplementedIns { + type yang:counter32; + description + "This object reflects the total number of Not Implemented + (501) responses received by the user agent since system startup. + Inbound Not Implemented responses indicate that servers to + which this system is sending requests do not support the + functionality required to fulfill the requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.3"; + } + + leaf cSipStatsServerNotImplementedOuts { + type yang:counter32; + description + "This object reflects the total number of Not Implemented + (501) responses sent by the user agent since system startup. + Outbound Not Implemented responses indicate that this system + does not support the functionality required to fulfill the + requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.4"; + } + + leaf cSipStatsServerBadGatewayIns { + type yang:counter32; + description + "This object reflects the total number of Bad Gateway (502) + responses received by the user agent since system startup."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.5"; + } + + leaf cSipStatsServerBadGatewayOuts { + type yang:counter32; + description + "This object reflects the total number of Bad Gateway (502) + responses sent by the user agent since system startup."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.6"; + } + + leaf cSipStatsServerServiceUnavailIns { + type yang:counter32; + description + "This object reflects the total number of Service Unavailable + (503) responses received by the user agent since system startup. + Inbound Service Unavailable responses indicate that the server + servicing this system's request is temporarily unavailable to + handle the request."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.7"; + } + + leaf cSipStatsServerServiceUnavailOuts { + type yang:counter32; + description + "This object reflects the total number of Service Unavailable + (503) responses sent by the user agent since system startup. + Outbound Service Unavailable responses indicate that this + system is temporarily unable to handle received requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.8"; + } + + leaf cSipStatsServerGatewayTimeoutIns { + type yang:counter32; + description + "This object reflects the total number of Gateway Time-out + (504) responses received by the user agent since system startup. + Inbound Gateway Time-out responses indicate that the server + attempting to complete this system's request did not receive + a timely response from yet another system it was accessing to + complete the request."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.9"; + } + + leaf cSipStatsServerGatewayTimeoutOuts { + type yang:counter32; + description + "This object reflects the total number of Gateway Time-out + (504) responses sent by the user agent since system startup. + Outbound Gateway Time-out responses indicate that this system + did not receive a timely response from the system it had + accessed to assist in completing a received request."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.10"; + } + + leaf cSipStatsServerBadSipVersionIns { + type yang:counter32; + description + "This object reflects the total number of SIP Version Not + Supported (505) responses received by the user agent since system startup. + Inbound SIP Version Not Supported responses indicate that + the server does not support, or refuses to support, the SIP + protocol version that was used in the request message."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.11"; + } + + leaf cSipStatsServerBadSipVersionOuts { + type yang:counter32; + description + "This object reflects the total number of SIP Version Not + Supported (505) responses sent by the user agent since system startup. + Outbound SIP Version Not Supported responses indicate that + this system does not support, or refuses to support, the SIP + protocol version used in received requests."; + reference + "RFC 2543, Sections 5.1.1 & 7.5.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.12"; + } + + leaf cSipStatsServerPrecondFailureIns { + type yang:counter32; + description + "This object reflects the total number of Precondition + Failure (580) responses received by the user agent since system startup. + This response is returned by a UAS if it is unable to + perform the mandatory preconditions for the session."; + reference + "draft-manyfolks-sip-resource-01.txt, Section 6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.13"; + } + + leaf cSipStatsServerPrecondFailureOuts { + type yang:counter32; + description + "This object reflects the total number of Precondition + Failure (580) responses sent by the user agent since system startup. + This response is returned by a UAS if it is unable to + perform the mandatory preconditions for the session."; + reference + "draft-manyfolks-sip-resource-01.txt, Section 6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5.14"; + } + } + + container cSipStatsGlobalFail { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6"; + + leaf cSipStatsGlobalBusyEverywhereIns { + type yang:counter32; + description + "This object reflects the total number of Busy + Everywhere (600) responses received by the user agent since system startup. + Inbound Busy Everywhere responses indicate that the + called party's end system was contacted successfully + but the called party is busy and does not wish to take + the call at this time."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.1"; + } + + leaf cSipStatsGlobalBusyEverywhereOuts { + type yang:counter32; + description + "This object reflects the total number of Busy + Everywhere (600) responses sent by the user agent since system startup. + Outbound Busy Everywhere responses indicate that + this system has successfully contacted a called party's + end system and the called party does not wish to take + the call at this time."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.2"; + } + + leaf cSipStatsGlobalDeclineIns { + type yang:counter32; + description + "This object reflects the total number of Decline + (603) responses received by the user agent since system startup. + Decline responses indicate that the called party's end + system was contacted successfully but the called party + explicitly does not wish to, or cannot, participate."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.3"; + } + + leaf cSipStatsGlobalDeclineOuts { + type yang:counter32; + description + "This object reflects the total number of Decline + (603) responses sent by the user agent since system startup. + Outbound Decline responses indicate that this system + has successfully contacted a called party's end system + and the called party explicitly does not wish to, or + cannot, participate."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.4"; + } + + leaf cSipStatsGlobalNotAnywhereIns { + type yang:counter32; + description + "This object reflects the total number of Does Not + Exist Anywhere (604) responses received by the user agent since system startup. + Inbound Does Not Exist Anywhere responses indicate that + the server handling this system's request has authoritative + information that the called party indicated in the To + request field does not exist anywhere."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.5"; + } + + leaf cSipStatsGlobalNotAnywhereOuts { + type yang:counter32; + description + "This object reflects the total number of Does Not + Exist Anywhere (604) responses sent by the user agent since system startup. + Outbound Does Not Exist Anywhere responses indicate that + this system has authoritative information that the called + party in the To field of received requests does not exist + anywhere."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.6"; + } + + leaf cSipStatsGlobalNotAcceptableIns { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable + (606) responses received by the user agent since system startup. + Inbound Not Acceptable responses indicate that the called + party's end system was contacted successfully but some + aspect of the session description is not acceptable."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.7"; + } + + leaf cSipStatsGlobalNotAcceptableOuts { + type yang:counter32; + description + "This object reflects the total number of Not Acceptable + (606) responses sent by the user agent since system startup. + Outbound Not Acceptable responses indicate that the called + party wishes to communicate, but cannot adequately support + the session described in the request."; + reference + "RFC 2543, Sections 5.1.1 & 7.6.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6.8"; + } + } + + container cSipStatsTraffic { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7"; + + leaf cSipStatsTrafficInviteIns { + type yang:counter32; + description + "This object reflects the total number of INVITE requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.1"; + } + + leaf cSipStatsTrafficInviteOuts { + type yang:counter32; + description + "This object reflects the total number of INVITE requests sent + by the user agent."; + reference + "RFC 2543, Section 4.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.2"; + } + + leaf cSipStatsTrafficAckIns { + type yang:counter32; + description + "This object reflects the total number of ACK requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.3"; + } + + leaf cSipStatsTrafficAckOuts { + type yang:counter32; + description + "This object reflects the total number of ACK requests sent + by the user agent."; + reference + "RFC 2543, Section 4.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.4"; + } + + leaf cSipStatsTrafficByeIns { + type yang:counter32; + description + "This object reflects the total number of BYE requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.5"; + } + + leaf cSipStatsTrafficByeOuts { + type yang:counter32; + description + "This object reflects the total number of BYE requests sent + by the user agent."; + reference + "RFC 2543, Section 4.2.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.6"; + } + + leaf cSipStatsTrafficCancelIns { + type yang:counter32; + description + "This object reflects the total number of CANCEL requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.7"; + } + + leaf cSipStatsTrafficCancelOuts { + type yang:counter32; + description + "This object reflects the total number of CANCEL requests sent + by the user agent."; + reference + "RFC 2543, Section 4.2.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.8"; + } + + leaf cSipStatsTrafficOptionsIns { + type yang:counter32; + description + "This object reflects the total number of OPTIONS requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.9"; + } + + leaf cSipStatsTrafficOptionsOuts { + type yang:counter32; + description + "This object reflects the total number of OPTIONS requests sent + by the user agent."; + reference + "RFC 2543, Section 4.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.10"; + } + + leaf cSipStatsTrafficRegisterIns { + type yang:counter32; + description + "This object reflects the total number of REGISTER requests + received by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.11"; + } + + leaf cSipStatsTrafficRegisterOuts { + type yang:counter32; + description + "This object reflects the total number of REGISTER requests + sent by the user agent since system startup."; + reference + "RFC 2543, Section 4.2.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.12"; + } + + leaf cSipStatsTrafficCometIns { + type yang:counter32; + description + "This object reflects the total number of COndition MET + requests received by the user agent since system startup."; + reference + "draft-manyfolks-sip-resource-01.txt, Section 5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.13"; + } + + leaf cSipStatsTrafficCometOuts { + type yang:counter32; + description + "This object reflects the total number of COndition MET + requests sent by the user agent since system startup."; + reference + "draft-manyfolks-sip-resource-01.txt, Section 5"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.14"; + } + + leaf cSipStatsTrafficPrackIns { + type yang:counter32; + description + "This object reflects the total number of PRovisonal + ACKnowledgement requests received by the user agent since system startup."; + reference + "draft-ietf-sip-100rel-02.txt"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.15"; + } + + leaf cSipStatsTrafficPrackOuts { + type yang:counter32; + description + "This object reflects the total number of PRovisonal + ACKnowledgement requests sent by the user agent since system startup."; + reference + "draft-ietf-sip-100rel-02.txt"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.16"; + } + + leaf cSipStatsTrafficReferIns { + type yang:counter32; + description + "This object reflects the total number of Refer + requests received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.17"; + } + + leaf cSipStatsTrafficReferOuts { + type yang:counter32; + description + "This object reflects the total number of Refer + requests sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.18"; + } + + leaf cSipStatsTrafficNotifyIns { + type yang:counter32; + description + "This object reflects the total number of Notify + requests received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.19"; + } + + leaf cSipStatsTrafficNotifyOuts { + type yang:counter32; + description + "This object reflects the total number of Notify + requests sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.20"; + } + + leaf cSipStatsTrafficInfoIns { + type yang:counter32; + description + "This object reflects the total number of Info + requests received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.21"; + } + + leaf cSipStatsTrafficInfoOuts { + type yang:counter32; + description + "This object reflects the total number of Info + requests sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.22"; + } + + leaf cSipStatsTrafficSubscribeIns { + type yang:counter32; + description + "This object reflects the total number of Subscribe + requests received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.23"; + } + + leaf cSipStatsTrafficSubscribeOuts { + type yang:counter32; + description + "This object reflects the total number of Subscribe + requests sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.24"; + } + + leaf cSipStatsTrafficUpdateIns { + type yang:counter32; + description + "This object reflects the total number of Update + requests received by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.25"; + } + + leaf cSipStatsTrafficUpdateOuts { + type yang:counter32; + description + "This object reflects the total number of Update + requests sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7.26"; + } + } + + container cSipStatsRetry { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8"; + + leaf cSipStatsRetryInvites { + type yang:counter32; + description + "This object reflects the total number of INVITE retries that + have been sent by the user agent since system startup. If the number of 'first + attempt' INVITES is of interest, subtract the value of this + object from cSipStatsTrafficInviteOut."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.1"; + } + + leaf cSipStatsRetryByes { + type yang:counter32; + description + "This object reflects the total number of BYE retries that have + been sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.2"; + } + + leaf cSipStatsRetryCancels { + type yang:counter32; + description + "This object reflects the total number of CANCEL retries that + have been sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.3"; + } + + leaf cSipStatsRetryRegisters { + type yang:counter32; + description + "This object reflects the total number of REGISTER retries that + have been sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.4"; + } + + leaf cSipStatsRetryResponses { + type yang:counter32; + description + "This object reflects the total number of Response (while + expecting a ACK) retries that have been sent by the user + agent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.5"; + } + + leaf cSipStatsRetryPracks { + type yang:counter32; + description + "This object reflects the total number of PRovisional + ACKnowledgement retries sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.6"; + } + + leaf cSipStatsRetryComets { + type yang:counter32; + description + "This object reflects the total number of COndition + MET retries sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.7"; + } + + leaf cSipStatsRetryReliable1xxRsps { + type yang:counter32; + description + "This object reflects the total number of Reliable + 1xx Response retries sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.8"; + } + + leaf cSipStatsRetryNotifys { + type yang:counter32; + description + "This object reflects the total number of Notify + retries that have been sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.9"; + } + + leaf cSipStatsRetryRefers { + type yang:counter32; + description + "This object reflects the total number of Refer + retries that have been sent by the user agent since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.10"; + } + + leaf cSipStatsRetryInfo { + type yang:counter32; + description + "This object reflects the total number of Info + retries that have been sent by the user agent since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.11"; + } + + leaf cSipStatsRetrySubscribe { + type yang:counter32; + description + "This object reflects the total number of Subscribe + retries that have been sent by the user agent since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8.12"; + } + } + + container cSipStatsMisc { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.9"; + + leaf cSipStatsMisc3xxMappedTo4xxRsps { + type yang:counter32; + description + "This object reflects the total number of incoming Redirect + (3xx) response messages that have been mapped to Client + Error (4xx) response messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.9.1"; + } + } + + container cSipStatsConnection { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10"; + + leaf cSipStatsConnTCPSendFailures { + type yang:counter32; + description + "This object reflects the total number of TCP send failures + since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.1"; + } + + leaf cSipStatsConnUDPSendFailures { + type yang:counter32; + description + "This object reflects the total number of UDP send failures + since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.2"; + } + + leaf cSipStatsConnTCPRemoteClosures { + type yang:counter32; + description + "This object reflects the total number of Remote Closures + for TCP since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.3"; + } + + leaf cSipStatsConnUDPCreateFailures { + type yang:counter32; + description + "This object reflects the total number of connection create + failures for UDP since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.4"; + } + + leaf cSipStatsConnTCPCreateFailures { + type yang:counter32; + description + "This object reflects the total number of connection create + failures for TCP since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.5"; + } + + leaf cSipStatsConnUDPInactiveTimeouts { + type yang:counter32; + description + "This object reflects the total number of UDP connections that + timed out due to inactivity since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.6"; + } + + leaf cSipStatsConnTCPInactiveTimeouts { + type yang:counter32; + description + "This object reflects the total number of TCP connections that + timed out due to inactivity since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.7"; + } + + leaf cSipStatsActiveUDPConnections { + type yang:gauge32; + description + "This object reflects the total number of active UDP + connections since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.8"; + } + + leaf cSipStatsActiveTCPConnections { + type yang:gauge32; + description + "This object reflects the total number of active TCP + connections since system startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10.9"; + } + } + + container cSipCfgEarlyMediaTable { + description + "This table contains configuration for Early + Media Cut Through. The configuration controls + how the SIP user agent will process 1xx + (Provisional) SIP response messages that contain + Session Definition Protocol (SDP) payloads."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.9"; + + list cSipCfgEarlyMediaEntry { + key "cSipCfgEarlyMediaStatusCodeIndex"; + description + "A row in the cSipCfgEarlyMediaTable. + A row is accessible with a Provisional (1xx) + status code value (eg, 180) and provides + an object for the enabling or disabling of + the Early Media Cut Through functionality."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.9.1"; + + leaf cSipCfgEarlyMediaStatusCodeIndex { + type CISCO-SIP-UA-MIB:CSipStatusCode; + description + "A unique identifier of a row in this table and + a valid SIP status code."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.9.1.1"; + } + + leaf cSipCfgEarlyMediaCutThruDisabled { + type boolean; + description + "This object specifies whether Early Media + Cut Through is enabled or disabled for the + SIP response messages with status codes that + match cSipCfgEarlyMediaStatusCodeIndex. + + If 'true', early media cut through is disabled, + and the user agent will process the message as + though it did not contain any SDP payload. + + If 'false', early media cut through is enabled, + and the user agent will process the message + similar to a 183 (Session Progress) and cut + through for early media. The assumption being + that the SDP is an indication that the far end + is going to send early media."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.9.1.2"; + } + } + } + + container cSipCfgBindSourceAddrTable { + description + "This table contains configuration for binding + the scope of packets to the particular ethernet + interface. The scope for the packets can be + specified as either 'signalling' or 'media' + packets. The ethernet interface shall be + specified by the interface index. The table + shall be indexed based on the scope."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.12"; + + list cSipCfgBindSourceAddrEntry { + key "cSipCfgBindSourceAddrScope"; + description + "A row in the cSipCfgBindSourceAddrTable. + A row is accessible with the scope of packets + to which the source IP address of the interface + designated by cSipCfgBindSourceAddrInterface + will be bound."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.12.1"; + + leaf cSipCfgBindSourceAddrScope { + type enumeration { + enum "media" { + value "1"; + } + enum "control" { + value "2"; + } + } + description + "A unique identifier of a row in this table and + specifies the scope of packets to which the + source IP address of the interface + designated by cSipCfgBindSourceAddrInterface + will be bound."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.12.1.1"; + } + + leaf cSipCfgBindSourceAddrInterface { + type if-mib:InterfaceIndexOrZero; + description + "This object may specify the interface where the + source IP address used in SIP signalling or media + packets is configured. A value of 0 means that + there is no specific source address configured and + in this case the best local IP address will be chosen + by the system."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1.12.1.2"; + } + } + } + + container cSipCfgPeerTable { + description + "This table contains per dial-peer SIP related + configuration. + + The table is a sparse table of dial-peer information. + This means, it only reflects dial-peers being used + for SIP. A dial-peer is being used for SIP if the + value of cvVoIPPeerCfgSessionProtocol + (CISCO-VOICE-DIAL-CONTROL-MIB) is 'sip'. + + Dial-peers are not created or destroyed via this + table. Only SIP related configuration can be + performed via this table once the dial-peer exists + in the system and is visible in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1"; + + list cSipCfgPeerEntry { + key "cSipCfgPeerIndex"; + description + "A row in the cSipCfgPeerTable."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1"; + + leaf cSipCfgPeerIndex { + type int32 { + range "1..2147483647"; + } + description + "An arbitrary index that uniquely identifies a + dial-peer configured for SIP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.1"; + } + + leaf cSipCfgPeerOutSessionTransport { + type enumeration { + enum "system" { + value "1"; + } + enum "udp" { + value "2"; + } + enum "tcp" { + value "3"; + } + } + description + "This object specifies the session transport + protocol that will be used by this dial-peer + for outbound SIP messages. + + The value 'system' is the default and indicates + that this dial-peer should use the value set by + cSipCfgOutSessionTransport instead."; + smiv2:defval "system"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.2"; + } + + leaf cSipCfgPeerReliable1xxRspStr { + type snmp-framework:SnmpAdminString; + description + "This object specifies the string that will be + placed in either the Supported or Require SIP + header, as specified by cSipCfgPeerReliable1xxRspHdr."; + smiv2:defval "100rel"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.3"; + } + + leaf cSipCfgPeerReliable1xxRspHdr { + type enumeration { + enum "system" { + value "1"; + } + enum "supported" { + value "2"; + } + enum "require" { + value "3"; + } + enum "disabled" { + value "4"; + } + } + description + "This object specifies behavior with respect to + Support or Require headers in SIP messages sent + and received via this dial-peer. + + If the originating gateway is configured for 'require', + the Require header is added to the outgoing INVITEs + with the value of cSipCfgPeerReliable1xxStr. This + requires the use of reliable provisional responses by + the terminating gateway. Sessions will be torn down + if this use cannot be supported by that gateway. + + If the originating gateway is configured for 'supported', + the Supported header is added to the outgoing INVITEs + with the value of cSipCfgPeerReliable1xxStr. This + requires that an attempt to use reliable provisional + responses be made, but sessions can continue without them. + + If the originating gateway is configured for 'disabled', + the value of cSipCfgReliable1xxStr will NOT be added to + either the Require or Supported headers of outgoing INVITEs. + + The value 'system' is the default and indicates that this + dial-peer should use the value of cSipCfgReliable1xxRspHdr + instead."; + smiv2:defval "system"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.4"; + } + + leaf cSipCfgPeerUrlType { + type enumeration { + enum "system" { + value "1"; + } + enum "sip" { + value "2"; + } + enum "tel" { + value "3"; + } + } + description + "This object specifies the URL type sent in outbound + INVITES generated by this device. + + The value 'system' is the default and indicates that this + dial-peer should use the value of cSipCfgUrlType instead."; + smiv2:defval "system"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.5"; + } + + leaf cSipCfgPeerSwitchTransEnabled { + type boolean; + description + "This object specifies if the functionality of switching + between transports from UDP to TCP if the message size of a + Request is greater than 1300 bytes is enabled or not."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4.1.1.6"; + } + } + } + + container cSipCfgStatusCauseTable { + description + "This table contains SIP status code to PSTN cause code + mapping configuration. Inbound SIP response messages + that will result in outbound PSTN signalling messages + will have the SIP status codes transposed into the + PSTN cause codes as prescribed by the contents of this + table."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.1"; + + list cSipCfgStatusCauseEntry { + key "cSipCfgStatusCodeIndex"; + description + "A row in the cSipCfgStatusCauseTable. Entries cannot be + created or destroyed by the actions of any NMS."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.1.1"; + + leaf cSipCfgStatusCodeIndex { + type CISCO-SIP-UA-MIB:CSipStatusCode; + description + "A unique identifier of a row in this table and + a valid SIP status code."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.1.1.1"; + } + + leaf cSipCfgPstnCause { + type int32 { + range "1..2147483647"; + } + description + "The PSTN cause code to which the SIP status code + given by cSipCfgStatusCodeIndex is to be mapped + for outbound PSTN signalling messages."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.1.1.2"; + } + + leaf cSipCfgStatusCauseStoreStatus { + type snmpv2-tc:StorageType; + description + "This object reflects the storage status of this + table entry. If the value is 'volatile', then + this entry only exists in RAM and the information + would be lost (reverting to defaults) on system reload. + If the value is 'nonVolatile' then this entry has been + written to NVRAM and will persist across system reloads."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.1.1.3"; + } + } + } + + container cSipCfgCauseStatusTable { + description + "This table contains PSTN cause code to SIP status code + mapping configuration. Inbound PSTN signalling messages + that will result in outbound SIP response messages + will have the PSTN cause codes transposed into the + SIP status codes as prescribed by the contents of this + table."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.2"; + + list cSipCfgCauseStatusEntry { + key "cSipCfgPstnCauseIndex"; + description + "A row in the cSipCfgCauseStatusTable. Entries cannot be + created or destroyed by the actions of any NMS."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.2.1"; + + leaf cSipCfgPstnCauseIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique identifier of a row in this table and + a valid PSTN cause code."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.2.1.1"; + } + + leaf cSipCfgStatusCode { + type CISCO-SIP-UA-MIB:CSipStatusCode; + description + "The SIP status code to which the PSTN cause code + given by cSipCfgPstnCauseIndex is to be mapped + for outbound SIP response messages."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.2.1.2"; + } + + leaf cSipCfgCauseStatusStoreStatus { + type snmpv2-tc:StorageType; + description + "This object reflects the storage status of this + table entry. If the value is 'volatile', then + this entry only exists in RAM and the information + would be lost (reverting to defaults) on system reload. + If the value is 'nonVolatile' then this entry has been + written to NVRAM and will persist across system reloads."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5.2.1.3"; + } + } + } + + container cSipStatsSuccessOkTable { + description + "This table contains statistics for sent and + received 200 Ok response messages. The + statistics are kept on per SIP method basis."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.5"; + + list cSipStatsSuccessOkEntry { + key "cSipStatsSuccessOkMethod"; + description + "A row in the cSipStatsSuccessOkTable. There is + an entry for each SIP method for which 200 Ok + inbound and/or outbound statistics are kept."; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.5.1"; + + leaf cSipStatsSuccessOkMethod { + type CISCO-SIP-UA-MIB:CSipMethodStr; + description + "This object is used for instance identification + of objects in this table. The value reflects a + SIP method."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.5.1.1"; + } + + leaf cSipStatsSuccessOkInbounds { + type yang:counter32; + description + "This object reflects the total number of Ok + (200) responses sent by the user agent, since + system startup, that were associated with the + SIP method as specified by cSipStatsSuccessOkMethod."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.5.1.2"; + } + + leaf cSipStatsSuccessOkOutbounds { + type yang:counter32; + description + "This object reflects the total number of Ok + (200) responses received by the user agent, since + system startup, that were associated with the + SIP method as specified by cSipStatsSuccessOkMethod."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2.5.1.3"; + } + } + } + } + + smiv2:alias "ciscoSipUaMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.152"; + } + + smiv2:alias "ciscoSipUaMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.152.0"; + } + + smiv2:alias "ciscoSipUaMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1"; + } + + smiv2:alias "cSipCfg" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1"; + } + + smiv2:alias "cSipCfgBase" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.1"; + } + + smiv2:alias "cSipCfgTimer" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.2"; + } + + smiv2:alias "cSipCfgRetry" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.3"; + } + + smiv2:alias "cSipCfgPeer" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.4"; + } + + smiv2:alias "cSipCfgStatusCauseMap" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.5"; + } + + smiv2:alias "cSipCfgAaa" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.6"; + } + + smiv2:alias "cSipCfgVoiceServiceVoip" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.1.7"; + } + + smiv2:alias "cSipStats" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2"; + } + + smiv2:alias "cSipStatsInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.1"; + } + + smiv2:alias "cSipStatsSuccess" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.2"; + } + + smiv2:alias "cSipStatsRedirect" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.3"; + } + + smiv2:alias "cSipStatsErrClient" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.4"; + } + + smiv2:alias "cSipStatsErrServer" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.5"; + } + + smiv2:alias "cSipStatsGlobalFail" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.6"; + } + + smiv2:alias "cSipStatsTraffic" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.7"; + } + + smiv2:alias "cSipStatsRetry" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.8"; + } + + smiv2:alias "cSipStatsMisc" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.9"; + } + + smiv2:alias "cSipStatsConnection" { + smiv2:oid "1.3.6.1.4.1.9.9.152.1.2.10"; + } + + smiv2:alias "ciscoSipUaMIBNotificationPrefix" { + status deprecated; + description + "Old style notification prefixing. Being replaced by + ciscoSipUaMIBNotifs."; + smiv2:oid "1.3.6.1.4.1.9.9.152.2"; + } + + smiv2:alias "ciscoSipUaMIBNotifications" { + status deprecated; + description + "Old style notification prefixing. Being replaced by + ciscoSipUaMIBNotifs."; + smiv2:oid "1.3.6.1.4.1.9.9.152.2.0"; + } + + smiv2:alias "ciscoSipUaMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.152.3"; + } + + smiv2:alias "ciscoSipUaMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.152.3.1"; + } + + smiv2:alias "ciscoSipUaMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.152.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SMI.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SMI.yang new file mode 100644 index 000000000..1c7109e3a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SMI.yang @@ -0,0 +1,966 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SMI.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SMI + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SMI { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI"; + prefix CISCO-SMI; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 West Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The Structure of Management Information for the + Cisco enterprise."; + + revision 2012-08-29 { + description + "Added ciscoSMB under otherEnterprises"; + } + + revision 2009-02-03 { + description + "Added ciscoSB under otherEnterprises"; + } + + revision 2002-03-21 { + description + "Added ciscoPKI for PKI policy and extension OIDs"; + } + + revision 2001-05-22 { + description + "Added transport protocol domains."; + } + + revision 2000-11-01 { + description + "Added ciscoDomains to define new transports. Also added + ciscoCpeCIB, which will contain managed objects that + contribute to the CPE Configuration Information Base (CIB)."; + } + + revision 2000-01-11 { + description + "Added ciscoPolicy, ciscoPolicyAuto, ciscoPIB, and + ciscoPibToMib."; + } + + revision 1997-04-09 { + description + "Added ciscoPartnerProducts to generate sysObjectID + for partner platforms"; + } + + revision 1995-05-16 { + description + "New oid assignments for Cisco REPEATER MIB and others."; + } + + revision 1994-04-26 { + description + "Initial version of this MIB module."; + } + + identity ciscoProducts { + base smiv2:object-identity; + description + "ciscoProducts is the root OBJECT IDENTIFIER from + which sysObjectID values are assigned. Actual + values are defined in CISCO-PRODUCTS-MIB."; + smiv2:oid "1.3.6.1.4.1.9.1"; + } + + identity local { + base smiv2:object-identity; + description + "Subtree beneath which pre-10.2 MIBS were built."; + smiv2:oid "1.3.6.1.4.1.9.2"; + } + + identity temporary { + base smiv2:object-identity; + description + "Subtree beneath which pre-10.2 experiments were + placed."; + smiv2:oid "1.3.6.1.4.1.9.3"; + } + + identity pakmon { + base smiv2:object-identity; + description + "reserved for pakmon"; + smiv2:oid "1.3.6.1.4.1.9.4"; + } + + identity workgroup { + base smiv2:object-identity; + description + "subtree reserved for use by the Workgroup Business Unit"; + smiv2:oid "1.3.6.1.4.1.9.5"; + } + + identity otherEnterprises { + base smiv2:object-identity; + description + "otherEnterprises provides a root object identifier + from which mibs produced by other companies may be + placed. mibs produced by other enterprises are + typicially implemented with the object identifiers + as defined in the mib, but if the mib is deemed to + be uncontrolled, we may reroot the mib at this + subtree in order to have a controlled version."; + smiv2:oid "1.3.6.1.4.1.9.6"; + } + + identity ciscoSB { + base smiv2:object-identity; + description + "ciscoSB provides root Object Identifier for Management + Information Base for products of Cisco Small Business. + This includes products rebranded from linksys aquisition. + MIB numbers under this root are managed and controlled + by ciscosb_mib@cisco.com."; + smiv2:oid "1.3.6.1.4.1.9.6.1"; + } + + identity ciscoSMB { + base smiv2:object-identity; + description + "ciscoSMB provides root Object Identifier for Management + Information Base for products of Cisco built for Small and + Medium Business market.The MIB numbers under this root are + managed and controlled by ciscosmb_mib@cisco.com"; + smiv2:oid "1.3.6.1.4.1.9.6.2"; + } + + identity ciscoAgentCapability { + base smiv2:object-identity; + description + "ciscoAgentCapability provides a root object identifier + from which AGENT-CAPABILITIES values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.7"; + } + + identity ciscoConfig { + base smiv2:object-identity; + description + "ciscoConfig is the main subtree for configuration mibs."; + smiv2:oid "1.3.6.1.4.1.9.8"; + } + + identity ciscoMgmt { + base smiv2:object-identity; + description + "ciscoMgmt is the main subtree for new mib development."; + smiv2:oid "1.3.6.1.4.1.9.9"; + } + + identity ciscoExperiment { + base smiv2:object-identity; + description + "ciscoExperiment provides a root object identifier + from which experimental mibs may be temporarily + based. mibs are typicially based here if they + fall in one of two categories + 1) are IETF work-in-process mibs which have not + been assigned a permanent object identifier by + the IANA. + 2) are cisco work-in-process which has not been + assigned a permanent object identifier by the + cisco assigned number authority, typicially because + the mib is not ready for deployment. + + NOTE WELL: support for mibs in the ciscoExperiment + subtree will be deleted when a permanent object + identifier assignment is made."; + smiv2:oid "1.3.6.1.4.1.9.10"; + } + + identity ciscoAdmin { + base smiv2:object-identity; + description + "ciscoAdmin is reserved for administratively assigned + OBJECT IDENTIFIERS, i.e. those not associated with MIB + objects"; + smiv2:oid "1.3.6.1.4.1.9.11"; + } + + identity ciscoProxy { + base smiv2:object-identity; + description + "ciscoProxy OBJECT IDENTIFIERS are used to uniquely name + party mib records created to proxy for SNMPv1."; + smiv2:oid "1.3.6.1.4.1.9.11.1"; + } + + identity ciscoRptrGroupObjectID { + base smiv2:object-identity; + description + "ciscoRptrGroupObjectID OBJECT IDENTIFIERS are used to + uniquely identify groups of repeater ports for use by the + SNMP-REPEATER-MIB (RFC 1516) rptrGroupObjectID object."; + smiv2:oid "1.3.6.1.4.1.9.11.2"; + } + + identity ciscoUnknownRptrGroup { + base smiv2:object-identity; + description + "The identity of an unknown repeater port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.1"; + } + + identity cisco2505RptrGroup { + base smiv2:object-identity; + description + "The authoritative identity of the Cisco 2505 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.2"; + } + + identity cisco2507RptrGroup { + base smiv2:object-identity; + description + "The authoritative identity of the Cisco 2507 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.3"; + } + + identity cisco2516RptrGroup { + base smiv2:object-identity; + description + "The authoritative identity of the Cisco 2516 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.4"; + } + + identity ciscoWsx5020RptrGroup { + base smiv2:object-identity; + description + "The authoritative identity of the wsx5020 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.5"; + } + + identity ciscoChipSets { + base smiv2:object-identity; + description + "Numerous media-specific MIBS have an object, defined as + an OBJECT IDENTIFIER, which is the identity of the chipset + realizing the interface. Cisco-specific chipsets have their + OBJECT IDENTIFIERS assigned under this subtree."; + smiv2:oid "1.3.6.1.4.1.9.11.3"; + } + + identity ciscoChipSetSaint1 { + base smiv2:object-identity; + description + "The identity of the Rev 1 SAINT ethernet chipset + manufactured for cisco by LSI Logic."; + smiv2:oid "1.3.6.1.4.1.9.11.3.1"; + } + + identity ciscoChipSetSaint2 { + base smiv2:object-identity; + description + "The identity of the Rev 2 SAINT ethernet chipset + manufactured for cisco by LSI Logic."; + smiv2:oid "1.3.6.1.4.1.9.11.3.2"; + } + + identity ciscoChipSetSaint3 { + base smiv2:object-identity; + description + "The identity of the Rev 3 SAINT ethernet chipset + manufactured for cisco by Plessey."; + smiv2:oid "1.3.6.1.4.1.9.11.3.3"; + } + + identity ciscoChipSetSaint4 { + base smiv2:object-identity; + description + "The identity of the Rev 4 SAINT ethernet chipset + manufactured for cisco by Mitsubishi."; + smiv2:oid "1.3.6.1.4.1.9.11.3.4"; + } + + identity ciscoModules { + base smiv2:object-identity; + description + "ciscoModules provides a root object identifier + from which MODULE-IDENTITY values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.12"; + } + + identity lightstream { + base smiv2:object-identity; + description + "subtree reserved for use by Lightstream"; + smiv2:oid "1.3.6.1.4.1.9.13"; + } + + identity ciscoworks { + base smiv2:object-identity; + description + "ciscoworks provides a root object identifier beneath + which mibs applicable to the CiscoWorks family of network + management products are defined."; + smiv2:oid "1.3.6.1.4.1.9.14"; + } + + identity newport { + base smiv2:object-identity; + description + "subtree reserved for use by the former Newport Systems + Solutions, now a portion of the Access Business Unit."; + smiv2:oid "1.3.6.1.4.1.9.15"; + } + + identity ciscoPartnerProducts { + base smiv2:object-identity; + description + "ciscoPartnerProducts is the root OBJECT IDENTIFIER from + which partner sysObjectID values may be assigned. Such + sysObjectID values are composed of the ciscoPartnerProducts + prefix, followed by a single identifier that is unique for + each partner, followed by the value of sysObjectID of the + Cisco product from which partner product is derived. Note + that the chassisPartner MIB object defines the value of the + identifier assigned to each partner."; + smiv2:oid "1.3.6.1.4.1.9.16"; + } + + identity ciscoPolicy { + base smiv2:object-identity; + description + "ciscoPolicy is the root of the Cisco-assigned OID + subtree for use with Policy Management."; + smiv2:oid "1.3.6.1.4.1.9.17"; + } + + identity ciscoPIB { + base smiv2:object-identity; + description + "ciscoPIB is the root of the Cisco-assigned OID + subtree for assignment to PIB (Policy Information + Base) modules."; + smiv2:oid "1.3.6.1.4.1.9.17.2"; + } + + identity ciscoPolicyAuto { + base smiv2:object-identity; + description + "ciscoPolicyAuto is the root of the Cisco-assigned + OID subtree for OIDs which are automatically assigned + for use in Policy Management."; + smiv2:oid "1.3.6.1.4.1.9.18"; + } + + identity ciscoPibToMib { + base smiv2:object-identity; + description + "ciscoPibToMib is the root of the Cisco-assigned + OID subtree for MIBs which are algorithmically + generated/translated from Cisco PIBs with OIDs + assigned under the ciscoPIB subtree. + These generated MIBs allow management + entities (other the current Policy Server) to + read the downloaded policy. By convention, for PIB + 'ciscoPIB.x', the generated MIB shall have the + name 'ciscoPibToMib.x'."; + smiv2:oid "1.3.6.1.4.1.9.18.2"; + } + + identity ciscoDomains { + base smiv2:object-identity; + description + "ciscoDomains provides a root object identifier from which + different transport mapping values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.19"; + } + + identity ciscoTDomainUdpIpv4 { + base smiv2:object-identity; + description + "The UDP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.1"; + } + + identity ciscoTDomainUdpIpv6 { + base smiv2:object-identity; + description + "The UDP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.2"; + } + + identity ciscoTDomainTcpIpv4 { + base smiv2:object-identity; + description + "The TCP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.3"; + } + + identity ciscoTDomainTcpIpv6 { + base smiv2:object-identity; + description + "The TCP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.4"; + } + + identity ciscoTDomainLocal { + base smiv2:object-identity; + description + "The Posix Local IPC transport domain. The corresponding + transport address is of type CiscoTAddressLocal. The Posix + Local IPC transport domain incorporates the well known UNIX + domain sockets."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.5"; + } + + identity ciscoTDomainClns { + base smiv2:object-identity; + description + "The CLNS transport domain. The corresponding transport + address is of type CiscoTAddressOSI."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.6"; + } + + identity ciscoTDomainCons { + base smiv2:object-identity; + description + "The CONS transport domain. The corresponding transport + address is of type CiscoTAddressOSI."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.7"; + } + + identity ciscoTDomainDdp { + base smiv2:object-identity; + description + "The DDP transport domain. The corresponding transport + address is of type CiscoTAddressNBP."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.8"; + } + + identity ciscoTDomainIpx { + base smiv2:object-identity; + description + "The IPX transport domain. The corresponding transport + address is of type CiscoTAddressIPX."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.9"; + } + + identity ciscoTDomainSctpIpv4 { + base smiv2:object-identity; + description + "The SCTP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + reference + "RFC 2960 - Stream Control Transmission Protocol. R. Stewart, + Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, + I. Rytina, M. Kalla, L. Zhang, V. Paxson. October 2000."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.10"; + } + + identity ciscoTDomainSctpIpv6 { + base smiv2:object-identity; + description + "The SCTP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + reference + "RFC 2960 - Stream Control Transmission Protocol. R. Stewart, + Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, + I. Rytina, M. Kalla, L. Zhang, V. Paxson. October 2000."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.11"; + } + + identity ciscoCIB { + base smiv2:object-identity; + description + "ciscoCIB is the root of the Cisco-assigned OID subtree for + assignment to MIB modules describing managed objects that + part of the CPE automatic configuration framework."; + smiv2:oid "1.3.6.1.4.1.9.20"; + } + + identity ciscoCibMmiGroup { + base smiv2:object-identity; + description + "ciscoCibMmiGroup is the root of the Cisco-assigned OID + subtree for assignment to MIB modules describing managed + objects supporting the Modem Management Interface (MMI), + the interface that facilitates CPE automatic configuration."; + smiv2:oid "1.3.6.1.4.1.9.20.1"; + } + + identity ciscoCibProvGroup { + base smiv2:object-identity; + description + "ciscoCibStoreGroup is the root of the Cisco-assigned OID + subtree for assignment to MIB modules describing managed + objects contributing to the Configuration Information Base + (CIB)."; + smiv2:oid "1.3.6.1.4.1.9.20.2"; + } + + identity ciscoPKI { + base smiv2:object-identity; + description + "ciscoPKI is the root of cisco-assigned OID subtree for PKI + Certificate Policies and Certificate Extensions."; + smiv2:oid "1.3.6.1.4.1.9.21"; + } + + smiv2:alias "cisco" { + smiv2:oid "1.3.6.1.4.1.9"; + } + + smiv2:alias "ciscoProducts" { + description + "ciscoProducts is the root OBJECT IDENTIFIER from + which sysObjectID values are assigned. Actual + values are defined in CISCO-PRODUCTS-MIB."; + smiv2:oid "1.3.6.1.4.1.9.1"; + } + + smiv2:alias "local" { + description + "Subtree beneath which pre-10.2 MIBS were built."; + smiv2:oid "1.3.6.1.4.1.9.2"; + } + + smiv2:alias "temporary" { + description + "Subtree beneath which pre-10.2 experiments were + placed."; + smiv2:oid "1.3.6.1.4.1.9.3"; + } + + smiv2:alias "pakmon" { + description + "reserved for pakmon"; + smiv2:oid "1.3.6.1.4.1.9.4"; + } + + smiv2:alias "workgroup" { + description + "subtree reserved for use by the Workgroup Business Unit"; + smiv2:oid "1.3.6.1.4.1.9.5"; + } + + smiv2:alias "otherEnterprises" { + description + "otherEnterprises provides a root object identifier + from which mibs produced by other companies may be + placed. mibs produced by other enterprises are + typicially implemented with the object identifiers + as defined in the mib, but if the mib is deemed to + be uncontrolled, we may reroot the mib at this + subtree in order to have a controlled version."; + smiv2:oid "1.3.6.1.4.1.9.6"; + } + + smiv2:alias "ciscoSB" { + description + "ciscoSB provides root Object Identifier for Management + Information Base for products of Cisco Small Business. + This includes products rebranded from linksys aquisition. + MIB numbers under this root are managed and controlled + by ciscosb_mib@cisco.com."; + smiv2:oid "1.3.6.1.4.1.9.6.1"; + } + + smiv2:alias "ciscoSMB" { + description + "ciscoSMB provides root Object Identifier for Management + Information Base for products of Cisco built for Small and + Medium Business market.The MIB numbers under this root are + managed and controlled by ciscosmb_mib@cisco.com"; + smiv2:oid "1.3.6.1.4.1.9.6.2"; + } + + smiv2:alias "ciscoAgentCapability" { + description + "ciscoAgentCapability provides a root object identifier + from which AGENT-CAPABILITIES values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.7"; + } + + smiv2:alias "ciscoConfig" { + description + "ciscoConfig is the main subtree for configuration mibs."; + smiv2:oid "1.3.6.1.4.1.9.8"; + } + + smiv2:alias "ciscoMgmt" { + description + "ciscoMgmt is the main subtree for new mib development."; + smiv2:oid "1.3.6.1.4.1.9.9"; + } + + smiv2:alias "ciscoExperiment" { + description + "ciscoExperiment provides a root object identifier + from which experimental mibs may be temporarily + based. mibs are typicially based here if they + fall in one of two categories + 1) are IETF work-in-process mibs which have not + been assigned a permanent object identifier by + the IANA. + 2) are cisco work-in-process which has not been + assigned a permanent object identifier by the + cisco assigned number authority, typicially because + the mib is not ready for deployment. + + NOTE WELL: support for mibs in the ciscoExperiment + subtree will be deleted when a permanent object + identifier assignment is made."; + smiv2:oid "1.3.6.1.4.1.9.10"; + } + + smiv2:alias "ciscoAdmin" { + description + "ciscoAdmin is reserved for administratively assigned + OBJECT IDENTIFIERS, i.e. those not associated with MIB + objects"; + smiv2:oid "1.3.6.1.4.1.9.11"; + } + + smiv2:alias "ciscoProxy" { + description + "ciscoProxy OBJECT IDENTIFIERS are used to uniquely name + party mib records created to proxy for SNMPv1."; + smiv2:oid "1.3.6.1.4.1.9.11.1"; + } + + smiv2:alias "ciscoPartyProxy" { + smiv2:oid "1.3.6.1.4.1.9.11.1.1"; + } + + smiv2:alias "ciscoContextProxy" { + smiv2:oid "1.3.6.1.4.1.9.11.1.2"; + } + + smiv2:alias "ciscoRptrGroupObjectID" { + description + "ciscoRptrGroupObjectID OBJECT IDENTIFIERS are used to + uniquely identify groups of repeater ports for use by the + SNMP-REPEATER-MIB (RFC 1516) rptrGroupObjectID object."; + smiv2:oid "1.3.6.1.4.1.9.11.2"; + } + + smiv2:alias "ciscoUnknownRptrGroup" { + description + "The identity of an unknown repeater port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.1"; + } + + smiv2:alias "cisco2505RptrGroup" { + description + "The authoritative identity of the Cisco 2505 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.2"; + } + + smiv2:alias "cisco2507RptrGroup" { + description + "The authoritative identity of the Cisco 2507 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.3"; + } + + smiv2:alias "cisco2516RptrGroup" { + description + "The authoritative identity of the Cisco 2516 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.4"; + } + + smiv2:alias "ciscoWsx5020RptrGroup" { + description + "The authoritative identity of the wsx5020 repeater + port group."; + smiv2:oid "1.3.6.1.4.1.9.11.2.5"; + } + + smiv2:alias "ciscoChipSets" { + description + "Numerous media-specific MIBS have an object, defined as + an OBJECT IDENTIFIER, which is the identity of the chipset + realizing the interface. Cisco-specific chipsets have their + OBJECT IDENTIFIERS assigned under this subtree."; + smiv2:oid "1.3.6.1.4.1.9.11.3"; + } + + smiv2:alias "ciscoChipSetSaint1" { + description + "The identity of the Rev 1 SAINT ethernet chipset + manufactured for cisco by LSI Logic."; + smiv2:oid "1.3.6.1.4.1.9.11.3.1"; + } + + smiv2:alias "ciscoChipSetSaint2" { + description + "The identity of the Rev 2 SAINT ethernet chipset + manufactured for cisco by LSI Logic."; + smiv2:oid "1.3.6.1.4.1.9.11.3.2"; + } + + smiv2:alias "ciscoChipSetSaint3" { + description + "The identity of the Rev 3 SAINT ethernet chipset + manufactured for cisco by Plessey."; + smiv2:oid "1.3.6.1.4.1.9.11.3.3"; + } + + smiv2:alias "ciscoChipSetSaint4" { + description + "The identity of the Rev 4 SAINT ethernet chipset + manufactured for cisco by Mitsubishi."; + smiv2:oid "1.3.6.1.4.1.9.11.3.4"; + } + + smiv2:alias "ciscoModules" { + description + "ciscoModules provides a root object identifier + from which MODULE-IDENTITY values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.12"; + } + + smiv2:alias "lightstream" { + description + "subtree reserved for use by Lightstream"; + smiv2:oid "1.3.6.1.4.1.9.13"; + } + + smiv2:alias "ciscoworks" { + description + "ciscoworks provides a root object identifier beneath + which mibs applicable to the CiscoWorks family of network + management products are defined."; + smiv2:oid "1.3.6.1.4.1.9.14"; + } + + smiv2:alias "newport" { + description + "subtree reserved for use by the former Newport Systems + Solutions, now a portion of the Access Business Unit."; + smiv2:oid "1.3.6.1.4.1.9.15"; + } + + smiv2:alias "ciscoPartnerProducts" { + description + "ciscoPartnerProducts is the root OBJECT IDENTIFIER from + which partner sysObjectID values may be assigned. Such + sysObjectID values are composed of the ciscoPartnerProducts + prefix, followed by a single identifier that is unique for + each partner, followed by the value of sysObjectID of the + Cisco product from which partner product is derived. Note + that the chassisPartner MIB object defines the value of the + identifier assigned to each partner."; + smiv2:oid "1.3.6.1.4.1.9.16"; + } + + smiv2:alias "ciscoPolicy" { + description + "ciscoPolicy is the root of the Cisco-assigned OID + subtree for use with Policy Management."; + smiv2:oid "1.3.6.1.4.1.9.17"; + } + + smiv2:alias "ciscoPIB" { + description + "ciscoPIB is the root of the Cisco-assigned OID + subtree for assignment to PIB (Policy Information + Base) modules."; + smiv2:oid "1.3.6.1.4.1.9.17.2"; + } + + smiv2:alias "ciscoPolicyAuto" { + description + "ciscoPolicyAuto is the root of the Cisco-assigned + OID subtree for OIDs which are automatically assigned + for use in Policy Management."; + smiv2:oid "1.3.6.1.4.1.9.18"; + } + + smiv2:alias "ciscoPibToMib" { + description + "ciscoPibToMib is the root of the Cisco-assigned + OID subtree for MIBs which are algorithmically + generated/translated from Cisco PIBs with OIDs + assigned under the ciscoPIB subtree. + These generated MIBs allow management + entities (other the current Policy Server) to + read the downloaded policy. By convention, for PIB + 'ciscoPIB.x', the generated MIB shall have the + name 'ciscoPibToMib.x'."; + smiv2:oid "1.3.6.1.4.1.9.18.2"; + } + + smiv2:alias "ciscoDomains" { + description + "ciscoDomains provides a root object identifier from which + different transport mapping values may be assigned."; + smiv2:oid "1.3.6.1.4.1.9.19"; + } + + smiv2:alias "ciscoTDomains" { + smiv2:oid "1.3.6.1.4.1.9.19.99999"; + } + + smiv2:alias "ciscoTDomainUdpIpv4" { + description + "The UDP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.1"; + } + + smiv2:alias "ciscoTDomainUdpIpv6" { + description + "The UDP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.2"; + } + + smiv2:alias "ciscoTDomainTcpIpv4" { + description + "The TCP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.3"; + } + + smiv2:alias "ciscoTDomainTcpIpv6" { + description + "The TCP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.4"; + } + + smiv2:alias "ciscoTDomainLocal" { + description + "The Posix Local IPC transport domain. The corresponding + transport address is of type CiscoTAddressLocal. The Posix + Local IPC transport domain incorporates the well known UNIX + domain sockets."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.5"; + } + + smiv2:alias "ciscoTDomainClns" { + description + "The CLNS transport domain. The corresponding transport + address is of type CiscoTAddressOSI."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.6"; + } + + smiv2:alias "ciscoTDomainCons" { + description + "The CONS transport domain. The corresponding transport + address is of type CiscoTAddressOSI."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.7"; + } + + smiv2:alias "ciscoTDomainDdp" { + description + "The DDP transport domain. The corresponding transport + address is of type CiscoTAddressNBP."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.8"; + } + + smiv2:alias "ciscoTDomainIpx" { + description + "The IPX transport domain. The corresponding transport + address is of type CiscoTAddressIPX."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.9"; + } + + smiv2:alias "ciscoTDomainSctpIpv4" { + description + "The SCTP over IPv4 transport domain. The corresponding + transport address is of type CiscoTAddressIPv4."; + reference + "RFC 2960 - Stream Control Transmission Protocol. R. Stewart, + Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, + I. Rytina, M. Kalla, L. Zhang, V. Paxson. October 2000."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.10"; + } + + smiv2:alias "ciscoTDomainSctpIpv6" { + description + "The SCTP over IPv6 transport domain. The corresponding + transport address is of type CiscoTAddressIPv6 for global IPv6 + addresses and CiscoTAddressIPv6s for scoped IPv6 addresses."; + reference + "RFC 2960 - Stream Control Transmission Protocol. R. Stewart, + Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, + I. Rytina, M. Kalla, L. Zhang, V. Paxson. October 2000."; + smiv2:oid "1.3.6.1.4.1.9.19.99999.11"; + } + + smiv2:alias "ciscoCIB" { + description + "ciscoCIB is the root of the Cisco-assigned OID subtree for + assignment to MIB modules describing managed objects that + part of the CPE automatic configuration framework."; + smiv2:oid "1.3.6.1.4.1.9.20"; + } + + smiv2:alias "ciscoCibMmiGroup" { + description + "ciscoCibMmiGroup is the root of the Cisco-assigned OID + subtree for assignment to MIB modules describing managed + objects supporting the Modem Management Interface (MMI), + the interface that facilitates CPE automatic configuration."; + smiv2:oid "1.3.6.1.4.1.9.20.1"; + } + + smiv2:alias "ciscoCibProvGroup" { + description + "ciscoCibStoreGroup is the root of the Cisco-assigned OID + subtree for assignment to MIB modules describing managed + objects contributing to the Configuration Information Base + (CIB)."; + smiv2:oid "1.3.6.1.4.1.9.20.2"; + } + + smiv2:alias "ciscoPKI" { + description + "ciscoPKI is the root of cisco-assigned OID subtree for PKI + Certificate Policies and Certificate Extensions."; + smiv2:oid "1.3.6.1.4.1.9.21"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SONET-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SONET-MIB.yang new file mode 100644 index 000000000..003e7e484 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SONET-MIB.yang @@ -0,0 +1,2154 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SONET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SONET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SONET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB"; + prefix CISCO-SONET-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SONET-MIB { + prefix "sonet-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-wanatm@cisco.com"; + + description + "The MIB module to describe SONET/SDH interfaces + objects. This is an extension to the standard SONET + MIB(RFC 2558)."; + + revision 2003-03-07 { + description + "(1) Added enumerations e3(8) and vtStructured(9) + in object cspSonetPathPayload. + (2) Added table csAu4Tug3Config to configure the + VC(Virtual Container) related properties of a + TUG-3 within a AU-4 paths."; + } + + revision 2002-06-14 { + description + "(1)Added following objects to cspConfigTable: + cspTributaryMappingType + cspSignallingTransportMode + cspTributaryGroupingType + (2)Added an optional ciscoSonetPathConfMIBGroup1 + for the above objects."; + } + + revision 2002-05-22 { + description + "(1) Added cspConfigTable which augments + sonetPathCurrentTable. + (2) Added the Notifications - + ciscoSonetSectionStatusChange, + ciscoSonetLineStatusChange, + ciscoSonetPathStatusChange, + ciscoSonetVTStatusChange + and the object - + csNotificationsEnabled. + (3) Changed the Module-Compliance and made + ciscoSonetStatsMIBGroup and + ciscoSonetApsMIBGroup1 groups as optional"; + } + + revision 2001-10-17 { + description + "(1) Added CsApsLineFailureCode, + CsApsLineFailureStatus, and + CsApsLineSwitchReason TEXTUAL-CONVENTION. + (2) Added csApsSwitchReason, csApsFailureStatus, + and csApsPrimarySection columnar objects to + CsApsConfigEntry. + (3) Added csApsModeMismatch enumeration to + CsApsLineFailureCode. + (4) Added csApsNoSwitch enumeration to + CsApsLineSwitchReason. + (5) Changed descriptions for csApsWorkingIndex, + and csApsProtectionIndex specifically related + to ITU G.783 AnnexB protocol support. + (6) Add objects csConfigRDIVType and csConfigRDIPType in table + csConfigTable. + (7) Add enum sonetSts3(9) for obj csConfigType. + (8) Add table csVTConfigTable augmenting the table csConfigTable. + The table csVTVonfigTable contains the following objects: + csTributaryType + csTributaryMappingType + csTributaryFramingType + csSignallingTransportMode + csTributaryGroupingType"; + } + + revision 2000-07-12 { + description + "Made following changes + + (1) Added enumeration csApsNone(3) to + csApsActiveLine object and updated the + description. + (2) Added enumerations sonetSts192c(7) and + sonetStm64(8) to csConfigType object and + updated the descripton. + (3) Fixed description of csConfigType object."; + } + + revision 1999-03-08 { + description + "Initial version of the MIB."; + } + + typedef CsApsLineFailureCode { + type enumeration { + enum "csApsChannelMismatch" { + value "1"; + } + enum "csApsProtectionByteFail" { + value "2"; + } + enum "csApsFEProtectionFailure" { + value "3"; + } + enum "csApsModeMismatch" { + value "4"; + } + } + description + "The Sonet APS line failure code - this is the failure + encountered by the APS line. + + csApsChannelMismatch: Transmitted K1 byte and + received K2 byte do not match. + csApsProtectionByteFail: It could mean either K1 byte + with invalid type of switch + request bits was received, or, + priority of received K1 byte + is lower than the transmitted + K1 byte. + csApsFEProtectionFailure: Remote end error detected. + csApsModeMismatch: APS architecture mode mismatch."; + } + + typedef CsApsLineFailureStatus { + type bits { + bit noApsLineFailure { + position "0"; + } + bit csApsChannelMismatchBit { + position "1"; + } + bit csApsProtectionByteFailBit { + position "2"; + } + bit csApsFEProtectionFailureBit { + position "3"; + } + bit csApsModeMismatchBit { + position "4"; + } + } + description + "The indication of the APS line failure status with a bit + map representing multiple failures. + + noApsLineFailure bit indicates current failure status. + This bit should be set ONLY if no other bit is set. + + csApsChannelMismatchBit is set when the APS line is in + csApsChannelMismatch. + + csApsProtectionByteFailBit is set when the APS line is + in csApsProtectionByteFail failure code. + + csApsFEProtectionFailureBit is set when the APS line is + in csApsFEProtectionFailure. + + csApsModeMismatchBit is set when the APS line is in + csApsModeMismatch."; + } + + typedef CsApsLineSwitchReason { + type enumeration { + enum "csApsOther" { + value "1"; + } + enum "csApsRevertive" { + value "2"; + } + enum "csApsManual" { + value "3"; + } + enum "csApsSignalDefectLow" { + value "4"; + } + enum "csApsSignalDefectHigh" { + value "5"; + } + enum "csApsSignalFailureLow" { + value "6"; + } + enum "csApsSignalFailureHigh" { + value "7"; + } + enum "csApsForceSwitch" { + value "8"; + } + enum "csApsLockOut" { + value "9"; + } + enum "csApsNoSwitch" { + value "10"; + } + } + description + "The reason why APS switch happened. When the working + line on one end fails, its other end is told to do + an APS switch. The following options in the increasing + order of priority indicate what type of switch request + it is. + + csApsRevertive : Switch back to working line after the + Wait-to-Restore interval is over, and failures are + cleared. It is the lowest priority. + csApsManual : Manual switch causes APS switch unless a + request of equal or higher priority is in effect. + csApsSignalDefectLow : Switch happened because threshold + for 'csApsSigFaultBER' was exceeded. + csApsSignalDefectHigh : Same as above, but higher priority. + csApsSignalFailureLow : Switch happened because threshold + for 'csApsSigDegradeBER' was exceeded. + csApsSignalFailureHigh : Same as above, but higher + priority. + csApsForceSwitch : Forced switch forces hardware to switch + the active line even if the other line (could be + working line or protection line) is in alarm. + csApsLockOut : This is the highest priority switch. This + will override all other requests. + csApsNoSwitch : This is a state when no switch happens."; + } + + + container CISCO-SONET-MIB { + config false; + + container csApsConfig { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2"; + + leaf csApsLineFailureCode { + type CISCO-SONET-MIB:CsApsLineFailureCode; + description + "The object indicates the APS line failure code. This is the + failure encountered by the APS line. + Refer to CsApsLineFailureCode TC for failure code definitions. + The object is used for notifications."; + reference + "GR-253-CORE, G.783"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.2"; + } + + leaf csApsLineSwitchReason { + type CISCO-SONET-MIB:CsApsLineSwitchReason; + description + "This object indicates the APS line switch reason. + When the working line on one end fails, its other end + is told to do an APS switch. + Refer to CsApsLineSwitchReason TC for more information. + The object is used for notifications."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.3"; + } + } + + container csNotifications { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.8"; + + leaf csNotificationsEnabled { + type boolean; + description + "This object controls if the generation of + ciscoSonetSectionStatusChange, ciscoSonetLineStatusChange, + ciscoSonetPathStatusChange and ciscoSonetVTStatusChange + notifications is enabled. If the value of this object + is 'true(1)', then all notifications in this MIB are + enabled; otherwise they are disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.8.1"; + } + } + + container csConfigTable { + description + "The SONET/SDH configuration table. This table has objects + for configuring sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1"; + + list csConfigEntry { + key "ifIndex"; + description + "An entry in the table. There is an entry for each SONET line + in the table. Entries are automatically created for an + ifType value of sonet(39). 'ifAdminStatus' from the ifTable + must be used to enable or disable a line. A line is in + disabled(down) state unless provisioned 'up' using + 'ifAdminStatus'."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf csConfigLoopbackType { + type enumeration { + enum "noLoopback" { + value "1"; + } + enum "lineLocal" { + value "2"; + } + enum "lineRemote" { + value "3"; + } + } + description + "This object specifies the desired loopback mode + configuration of the SONET line. + The possible values of this objects are follows: + + noLoopback : + Not in the loopback state. + lineLocal : + The signal transmitted from this interface + is connected to the associated incoming + receiver. This ensures that the SONET frame + transmitted from the interface is received back + at the interface. + lineRemote : + The signal received at the interface is looped + back out to the associated transmitter. + This ensures that the remote equipment that + originated the signal receives it back. The + signal may undergo degradation as a result of + the characteristics of the transmission + medium."; + smiv2:defval "noLoopback"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.1"; + } + + leaf csConfigXmtClockSource { + type enumeration { + enum "loopTiming" { + value "1"; + } + enum "localTiming" { + value "2"; + } + } + description + "Specifies the source of the transmit clock. + + loopTiming: indicates that the recovered receive + clock is used as the transmit clock. + + localTiming: indicates that a local clock source is + used or that an external clock is + attached to the box containing the + interface. "; + smiv2:defval "localTiming"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.2"; + } + + leaf csConfigFrameScramble { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabled" { + value "2"; + } + } + description + "This object is used to disable or enable the Scrambling + option in SONET line."; + reference + "GR-253-CORE Issue 3, September 2000: Section 5.1.3."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.3"; + } + + leaf csConfigType { + type enumeration { + enum "sonetSts3c" { + value "1"; + } + enum "sonetStm1" { + value "2"; + } + enum "sonetSts12c" { + value "3"; + } + enum "sonetStm4" { + value "4"; + } + enum "sonetSts48c" { + value "5"; + } + enum "sonetStm16" { + value "6"; + } + enum "sonetSts192c" { + value "7"; + } + enum "sonetStm64" { + value "8"; + } + enum "sonetSts3" { + value "9"; + } + } + description + "This object represents the configured line type. + Sts is SONET format. Stm is SDH format. + sonetSts3c : OC3 concatenated + sonetStm1 : European standard OC3 + sonetSts12c : OC12 concatenated + sonetStm4 : European standard OC12 + sonetSts48c : OC48 concatenated + sonetStm16 : European standard OC48 + sonetSts192c : OC-192 concatenated + sonetStm64 : European standard OC-192 + sonetSts3 : OC3 (unconcatenated) + "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.4"; + } + + leaf csConfigRDIVType { + type enumeration { + enum "onebit" { + value "1"; + } + enum "threebit" { + value "3"; + } + } + description + "This object specifies the type of RDI-V (Remote Defect + Indication - Virtual Tributary/Container) sent by this + Network Element (NE) to the remote Network Element. + + onebit : use 1 bit RDI-V + threebit : use 3 bit enhanced RDI-V. + + Default is onebit."; + smiv2:defval "onebit"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.5"; + } + + leaf csConfigRDIPType { + type enumeration { + enum "onebit" { + value "1"; + } + enum "threebit" { + value "3"; + } + } + description + "This object represents the type of RDI-P (Remote Defect + Indication - Path) sent by this Network Element (NE) + to remote Network Element. + + onebit : use 1 bit RDI-P + threebit : use 3 bit enhanced RDI-P. + + Default is onebit."; + smiv2:defval "onebit"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.1.1.6"; + } + } + } + + container csApsConfigTable { + description + "This table contains objects to configure APS + (Automatic Protection Switching) feature in a SONET + Line. APS is the ability to configure a pair of SONET + lines for redundancy so that the hardware will + automatically switch the active line from working line + to the protection line or vice versa, within 60ms, + when the active line fails."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1"; + + list csApsConfigEntry { + key "csApsWorkingIndex"; + description + "An entry is created when an APS pair is configured. + To create an entry, the following objects must be + specified: + csApsWorkingIndex, csApsProtectionIndex, csApsEnable, + csApsArchMode. The protection line must not be active, + i.e, ifAdminStatus must be 'down', while configuring + APS. An entry is created by setting the value of + 'csApsEnable' to csApsEnabled (2) and deleted by + setting it to csApsDisabled (1). Once a line is + configured as working line or protection line, it + remains in that role until APS is disabled on that + sonet line pair. It remains in the working/protection + role even after the card is reset."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1"; + + leaf csApsWorkingIndex { + type if-mib:InterfaceIndex; + description + "When a pair of APS lines is configured, one line has + to be the working line, which is the primary line, + and the other has to be the protection line, which + is the backup line. This object refers to the working line + in the APS pair. For G.783 AnnexB, this index refers to + Working Section 1."; + reference + "GR-253-CORE, G.783 AnnexB"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.1"; + } + + leaf csApsProtectionIndex { + type if-mib:InterfaceIndex; + description + "The protection line indicates that it will become + the active line when an APS switch occurs (APS switch + could occur because of a failure on the working line). + For G.783 AnnexB, This index refers to Working Section + 2."; + reference + "GR-253-CORE, G.783 AnnexB"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.2"; + } + + leaf csApsEnable { + type enumeration { + enum "csApsDisabled" { + value "1"; + } + enum "csApsEnabled" { + value "2"; + } + } + description + "This object is used to enable or disable the APS feature + on the working/protection line pairs. When enabled, + the hardware will automatically switch the active line + from the working line to the protection line within 60ms, + or vice versa."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.3"; + } + + leaf csApsArchMode { + type enumeration { + enum "onePlusOne" { + value "1"; + } + enum "oneToOne" { + value "2"; + } + enum "anexBOnePlusOne" { + value "3"; + } + enum "ycableOnePlusOneNok1k2" { + value "4"; + } + enum "straightOnePlusOneNok1k2" { + value "5"; + } + } + description + "This object is used to configure APS architecture mode + on the working/protection line pairs. + + All of the following are supported on single slot. + oneToOne(2) is not supported across 2 slots,i.e. the + working and protection slot numbers must be the same in + oneToOne(2). + + onePlusOne : This can be supported on the same card + and across 2 cards. + This mode means that the transmit and receive signals + go only over the active line(which could be working or + protection line). (straight cable implied) + + oneToOne : This is supported only on the same card + This mode means that the transmit and receive signals + go over the working and protection lines. + (straight cable implied) + + anexBOnePlusOne : This can be supported on the same card + and across 2 cards. + This mode is like the onePlusOne mode, except that the + 'csApsDirection' can only be bi-directional. + (straight cable implied) + + ycableOnePlusOneNok1k2: With Y-cable ignore K1K2 bytes. + This mode is the Y-cable redundancy mode. + + straightOnePlusOneNok1k2 : With straight cable, ignore + K1K2 bytes. This mode is like + onePlusOne, but with K1, K2 + bytes ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.4"; + } + + leaf csApsActiveLine { + type enumeration { + enum "csApsWorkingLine" { + value "1"; + } + enum "csApsProtectionLine" { + value "2"; + } + enum "csApsNone" { + value "3"; + } + } + description + "This object indicates which line is currently active. + It could be the working line(Section 1 for Annex B), + the protection line(Section 2 for Annex B) or none + if neither working nor protection line is active. + This object reflects the status of receive direction."; + reference + "GR-253-CORE, G.783 AnnexB"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.5"; + } + + leaf csApsSigFaultBER { + type uint32 { + range "3..5"; + } + description + "This object contains the Bit Error Rate threshold for + Signal Fault detection on the working line. Once this + threshold is exceeded, an APS switch will occur. + This value is 10 to the -n, where n is between 3 and 5."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.6"; + } + + leaf csApsSigDegradeBER { + type uint32 { + range "5..9"; + } + description + "This object contains the Bit Error Rate threshold for + Signal Degrade detection on the working line. Once this + threshold is exceeded, an APS switch will occur. + This value is 10 to -n where n is between 5 and 9."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.7"; + } + + leaf csApsWaitToRestore { + type uint32 { + range "1..12"; + } + units "minutes"; + description + "This object contains interval in minutes to wait + before attempting to switch back to working line. + Not applicable if the line is configured in + non-revertive mode, i.e. protection line will + continue to be active, even if failures on the + working line are cleared. The framer clears the + signal-fault and signal-degrade when APS switch + occurs. Please refer to 'csApsRevertive' for + description of non-revertive."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.8"; + } + + leaf csApsDirection { + type enumeration { + enum "uniDirectional" { + value "1"; + } + enum "biDirectional" { + value "2"; + } + } + description + "This object is used to configure the switching + direction which this APS line supports. + + Unidirectional : APS switch only in one direction. + Bidirectional : APS switch in both ends of the line."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.9"; + } + + leaf csApsRevertive { + type enumeration { + enum "nonrevertive" { + value "1"; + } + enum "revertive" { + value "2"; + } + } + description + "This object is used to configure the APS revertive or + nonrevertive option. + + revertive : + Will switch the working line back to active state after + the Wait-To-restore interval has expired and the + working line Signal-Fault/Signal-Degrade has been + cleared. Please refer to 'csApsWaitToRestore' for + description of Wait-To-Restore interval. + nonrevertive : + The protection line continues to be the active line, + The active line does not switch to the working line."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.10"; + } + + leaf csApsDirectionOperational { + type enumeration { + enum "uniDirectional" { + value "1"; + } + enum "biDirectional" { + value "2"; + } + } + description + "This object shows the actual APS direction that is + implemented on the Near End terminal. APS direction + configured through csApsDirection is negotiated with + the Far End and APS direction setting acceptable to + both ends is operational at the Near End."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.11"; + } + + leaf csApsArchModeOperational { + type enumeration { + enum "onePlusOne" { + value "1"; + } + enum "oneToOne" { + value "2"; + } + enum "anexBOnePlusOne" { + value "3"; + } + enum "ycableOnePlusOneNok1k2" { + value "4"; + } + enum "straightOnePlusOneNok1k2" { + value "5"; + } + } + description + "This object shows the actual APS architecture mode that + is implemented on the Near End terminal. APS architecture + mode configured through csApsArchMode object is + negotiated with the Far End through APS channel. + Architecture mode acceptable to both the Near End and + the Far End terminals is then operational at the Near + End. This value can be different than the APS + Architecture mode configured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.12"; + } + + leaf csApsChannelProtocol { + type enumeration { + enum "bellcore" { + value "1"; + } + enum "itu" { + value "2"; + } + } + description + "This object allows to configure APS channel protocol to + be implemented at Near End terminal. + + K1 and K2 overhead bytes in a SONET signal are used as + an APS channel. + This channel is used to carry APS protocol. + + Possible values: + bellcore(1) : Implements APS channel protocol as defined + in bellcore document GR-253-CORE. + itu(2) : Implements APS channel protocol as defined in + ITU document G.783."; + reference + "GR-253-CORE, G.783"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.13"; + } + + leaf csApsFailureStatus { + type CISCO-SONET-MIB:CsApsLineFailureStatus; + description + "This object indicates APS line failure status."; + reference + "GR-253-CORE, G.783"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.14"; + } + + leaf csApsSwitchReason { + type CISCO-SONET-MIB:CsApsLineSwitchReason; + description + "This object indicates APS line switch reason."; + reference + "GR-253-CORE, G.783"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.15"; + } + + leaf csApsPrimarySection { + type enumeration { + enum "workingSection1" { + value "1"; + } + enum "workingSection2" { + value "2"; + } + enum "none" { + value "3"; + } + } + description + "This object indicates which working section is the APS + primary section. In G.783 AnnexB, the K1/K2 Bytes are + received on the secondary Section. All the Switch + Requests are for a switch from the primary section to + the secondary section. The object csApsActiveline will + indicate which section is currently carrying the + traffic. Once the switch request clears normally, + traffic is maintained on the section to which it was + switched by making that section the primary section. + + Possible values: + workingSection1(1): Working Section 1 is Primary Section + workingSection2(2): Working Section 2 is Primary Section + none(3) : none."; + reference + "G.783 AnnexB"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2.1.1.16"; + } + } + } + + container cssTotalTable { + description + "The SONET/SDH Section Total table. It contains the + cumulative sum of the various statistics for the 24 hour + period preceding the current interval. The object + 'sonetMediumValidIntervals' from RFC2558 contains the + number of 15 minute intervals that have elapsed since + the line is enabled. "; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1"; + + list cssTotalEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Section Total table. Entries + are created automatically for sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cssTotalESs { + type yang:gauge32; + units "errored seconds"; + description + "The number of Errored Seconds encountered by a SONET/SDH + Section in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1.1.1"; + } + + leaf cssTotalSESs { + type yang:gauge32; + units "severely errored seconds"; + description + "The number of Severely Errored Seconds encountered by a + SONET/SDH Section in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1.1.2"; + } + + leaf cssTotalSEFSs { + type yang:gauge32; + units "severely errored framing seconds"; + description + "The number of Severely Errored Framing Seconds + encountered by a SONET/SDH Section in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1.1.3"; + } + + leaf cssTotalCVs { + type yang:gauge32; + units "coding violations"; + description + "The number of Coding Violations encountered by a + SONET/SDH Section in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.1.1.4"; + } + } + } + + container cssTraceTable { + description + "The SONET/SDH Section Trace table. This table contains + objects for tracing the sonet section."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2"; + + list cssTraceEntry { + key "ifIndex"; + description + "An entry in the trace table. Entries exist for active sonet + lines. The objects in this table are used to verify + continued connection between the two ends of the line."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cssTraceToTransmit { + type binary { + length "0|16|64"; + } + description + "Sonet Section Trace To Transmit. This is string that + is transmitted to perform Sonet section trace + diagnostics. The trace string is repetitively + transmited so that a trace receiving terminal can + verify its continued connection to the intended + transmitter. The default value is a zero-length string. + Unless this object is set to a non-zero length string, + tracing will not be performed."; + reference + "GR-253-CORE"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2.1.1"; + } + + leaf cssTraceToExpect { + type binary { + length "0|16|64"; + } + description + "Sonet Section Trace To Expect. The receiving terminal + verifies if the incoming string matches this string. + The value of 'cssTraceFailure' indicates whether a + trace mismatch occurred. The default value is a + zero-length string."; + reference + "GR-253-CORE"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2.1.2"; + } + + leaf cssTraceFailure { + type boolean; + description + "The value of this object is set to 'true' when Sonet + Section received trace does not match the + 'cssTraceToExpect'."; + reference + "GR-253-CORE"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2.1.3"; + } + + leaf cssTraceReceived { + type binary { + length "0|16|64"; + } + description + "This object is used to view the Sonet Section Trace that + is received by the receiving terminal."; + reference + "GR-253-CORE"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3.2.1.4"; + } + } + } + + container cslTotalTable { + description + "The SONET/SDH Line Total table. It contains the + cumulative sum of the various statistics for the 24 + hour period preceding the current interval. The object + 'sonetMediumValidIntervals' from RFC2558 contains the + number of 15 minute intervals that have elapsed since + the line is enabled."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1"; + + list cslTotalEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Line Total table. Entries + are created automatically for sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cslTotalESs { + type yang:gauge32; + units "errored seconds"; + description + "The number of Errored Seconds encountered by a SONET/SDH + Line in the last 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1.1.1"; + } + + leaf cslTotalSESs { + type yang:gauge32; + units "severely errored seconds"; + description + "The number of Severely Errored Seconds encountered by a + SONET/SDH Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1.1.2"; + } + + leaf cslTotalCVs { + type yang:gauge32; + units "coding violations"; + description + "The number of Coding Violations encountered by a + SONET/SDH Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1.1.3"; + } + + leaf cslTotalUASs { + type yang:gauge32; + units "unavailable seconds"; + description + "The number of Unavailable Seconds encountered by a + SONET/SDH Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.1.1.4"; + } + } + } + + container cslFarEndTotalTable { + description + "The SONET/SDH Far End Line Total table. It contains the + cumulative sum of the various statistics for the 24 hour + period preceding the current interval. The object + 'sonetMediumValidIntervals' from RFC2558 contains the + number of 15 minute intervals that have elapsed since the + line is enabled."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2"; + + list cslFarEndTotalEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Far End Line Total table. Entries + are created automatically for sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cslFarEndTotalESs { + type yang:gauge32; + units "errored seconds"; + description + "The number of Errored Seconds encountered by a SONET/SDH Far + End Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2.1.1"; + } + + leaf cslFarEndTotalSESs { + type yang:gauge32; + units "severely errored seconds"; + description + "The number of Severely Errored Seconds encountered by a + SONET/SDH Far End Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2.1.2"; + } + + leaf cslFarEndTotalCVs { + type yang:gauge32; + units "coding violations"; + description + "The number of Coding Violations encountered by a SONET/SDH + Far End Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2.1.3"; + } + + leaf cslFarEndTotalUASs { + type yang:gauge32; + units "unavailable seconds"; + description + "The number of Unavailable Seconds encountered by a + SONET/SDH Far End Line in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4.2.1.4"; + } + } + } + + container cspTotalTable { + description + "The SONET/SDH Path Total table. It contains the cumulative + sum of the various statistics for the 24 hour period + preceding the current interval.The object + 'sonetMediumValidIntervals' from RFC2558 contains the number + of 15 minute intervals that have elapsed since the line is + enabled."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1"; + + list cspTotalEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Path Total table. Entries + are created automatically for sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cspTotalESs { + type yang:gauge32; + units "errored seconds"; + description + "The number of Errored Seconds encountered by a SONET/SDH + Path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1.1.1"; + } + + leaf cspTotalSESs { + type yang:gauge32; + units "severely errored seconds"; + description + "The number of Severely Errored Seconds encountered by a + SONET/SDH Path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1.1.2"; + } + + leaf cspTotalCVs { + type yang:gauge32; + units "coding violations"; + description + "The number of Coding Violations encountered by a + SONET/SDH Path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1.1.3"; + } + + leaf cspTotalUASs { + type yang:gauge32; + units "unavailable seconds"; + description + "The number of Unavailable Seconds encountered by a + SONET/SDH Path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.1.1.4"; + } + } + } + + container cspFarEndTotalTable { + description + "The SONET/SDH Far End Path Total table. Far End is the + remote end of the line. The table contains the cumulative + sum of the various statistics for the 24 hour period + preceding the current interval. The object + 'sonetMediumValidIntervals' from RFC2558 contains the + number of 15 minute intervals that have elapsed since + the line is enabled. "; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2"; + + list cspFarEndTotalEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Far End Path Total table. + Entries are created automatically for sonet lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cspFarEndTotalESs { + type yang:gauge32; + units "errored seconds"; + description + "The number of Errored Seconds encountered by a SONET/SDH + far end path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2.1.1"; + } + + leaf cspFarEndTotalSESs { + type yang:gauge32; + units "severely errored seconds"; + description + "The number of Severely Errored Seconds encountered by a + SONET/SDH far end path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2.1.2"; + } + + leaf cspFarEndTotalCVs { + type yang:gauge32; + units "coding violations"; + description + "The number of Coding Violations encountered by a + SONET/SDH far end path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2.1.3"; + } + + leaf cspFarEndTotalUASs { + type yang:gauge32; + units "unavailable seconds"; + description + "The number of Unavailable Seconds encountered by a + SONET/SDH far end path in the last 24 hours."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.2.1.4"; + } + } + } + + container cspTraceTable { + description + "The SONET/SDH Path Trace table. This table contains objects + for tracing the sonet path."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3"; + + list cspTraceEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Path Trace table. The entries + exist for active sonet lines. The objects in this table are + used to verify continued connection between the two ends of + the line."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cspTraceToTransmit { + type binary { + length "0|16|64"; + } + description + "Sonet Path Trace To Transmit. The trace string is + repetitively transmited so that a trace receiving terminal + can verify its continued receiving terminal can verify its + continued connection to the intended transmitter. The + default value is a zero-length string. Unless this object + is set to a non-zero length string, tracing will not be + performed."; + reference + "GR-253-CORE"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3.1.1"; + } + + leaf cspTraceToExpect { + type binary { + length "0|16|64"; + } + description + "Sonet Path Trace To Expect. The receiving terminal verifies + if the incoming string matches this string. The value of + 'cspTraceFailure' indicates whether a trace mismatch + occured. The default value is a zero-length string."; + reference + "GR-253-CORE"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3.1.2"; + } + + leaf cspTraceFailure { + type boolean; + description + "The value of this object is set to 'true' when Sonet Path + received trace does not match the 'cspTraceToExpect'."; + reference + "GR-253-CORE"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3.1.3"; + } + + leaf cspTraceReceived { + type binary { + length "0|16|64"; + } + description + "This object is used to view the Sonet Path Trace that is + received by the receiving terminal."; + reference + "GR-253-CORE"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5.3.1.4"; + } + } + } + + container csStatsTable { + description + "The SONET/SDH Section statistics table. This table + maintains the number of times the line encountered Loss of + Signal(LOS), Loss of frame(LOF), Alarm Indication + signals(AISs), Remote failure indications(RFIs)."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1"; + + list csStatsEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH statistics table. These are + realtime statistics for the Sonet section, line and path + layers. The statistics are gathered for each sonet line. + An entry is created automatically and is indexed by + ifIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cssLOSs { + type yang:counter32; + units "loss of signals"; + description + "The number of Loss of signals(LOS) encountered by a + SONET/SDH Section. A high value for this object may + indicate a problem with the Sonet Section layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.1"; + } + + leaf cssLOFs { + type yang:counter32; + units "loss of frames"; + description + "The number of Loss of Frames (LOF) encountered by a + SONET/SDH Section. A high value for this object may + indicate a problem with the Sonet Section layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.2"; + } + + leaf cslAISs { + type yang:counter32; + units "alarm indication signals"; + description + "The number of alarm indication signals(AIS) encountered by + a SONET/SDH Line. A high value for this object may indicate a + problem with the Sonet Line layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.3"; + } + + leaf cslRFIs { + type yang:counter32; + units "remote failure indications"; + description + "The number of remote failure indications (RFI) encountered + by a SONET/SDH Line. A high value for this object may + indicate a problem with the Sonet Line layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.4"; + } + + leaf cspAISs { + type yang:counter32; + units "alarm indication signals"; + description + "The number of alarm indication signals (AIS) encountered + by a SONET/SDH Path. A high value for this object may + indicate a problem with the Sonet Path layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.5"; + } + + leaf cspRFIs { + type yang:counter32; + units "remote failure indications"; + description + "The number of remote failure indications (RFI) + encountered by a SONET/SDH Path. A high value for this + object may indicate a problem with the Sonet Path layer."; + reference + " RFC2558 "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6.1.1.6"; + } + } + } + + container csAu4Tug3ConfigTable { + description + "This table contains objects to configure the VC( Virtual + Container) related properties of a TUG-3 within a AU-4 + paths. + + This table allows creation of + following multiplexing structure: + STM-1/AU-4/TUG-3/TU-3/DS3 + STM-1/AU-4/TUG-3/TU-3/E3 + STM-1/AU-4/TUG-3/TUG-2/TU-11/DS1 + STM-1/AU-4/TUG-3/TUG-2/TU-12/E1 + + Three entries are created in this table for a given AU-4 + path when cspSonetPathPayload object is set to one of the + following: + vt15vc11(4), + vt2vc12(5), + ds3(3), + e3(8), + vtStructured(9)"; + reference + "ITU-T, G.707"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.9.1"; + + list csAu4Tug3ConfigEntry { + key "ifIndex csAu4Tug3"; + description + "There is an entry in this table for each TUG-3 within a + AU-4 SDH path that supports SDH virtual container VC-4. + The ifIndex value represents an entry in ifTable with + ifType = sonetPath(50).The ifTable entry applicable for + this entry belongs to AU-4 path."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.9.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf csAu4Tug3 { + type int32 { + range "1..3"; + } + description + "This object represents the TUG-3 number."; + reference + "ITU-T G.707 for SDH Multiplexing hierarchy."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.9.1.1.1"; + } + + leaf csAu4Tug3Payload { + type enumeration { + enum "other" { + value "1"; + } + enum "vc11" { + value "2"; + } + enum "vc12" { + value "3"; + } + enum "tu3ds3" { + value "4"; + } + enum "tu3e3" { + value "5"; + } + } + description + "This object is used for configuring the payload + for the tributary group. + + The possible values are : + + vc11 : When set to 'vc11' following things are done: + - 28 entries created in ifTable for TU-11 with + ifType = sonetVT(51) + - 28 entries created in ifTable for DS1 with + ifType = ds1(18) + + STM1<-AU-4<-TUG-3<-TUG-2<-TU-11<-VC11 + + vc12 : When set to 'vc12' following things are done: + - 21 entries created in ifTable for TU-12 with + ifType = sonetVT(51) + - 21 entries created in ifTable for E1 with + ifType = ds1(18) + + STM1<-AU-4<-TUG-3<-TUG-2<-TU-12<-VC12 + + tu3ds3 : When set to 'tu3ds3' following things are done: + - 1 entry created in ifTable for TU-3 with + ifType = sonetVT(51) + - 1 entry created in ifTable for DS3 with + ifType = ds3(30) + + STM1<-AU-4<-TUG-3<-TU-3<-VC3 + + tu3e3 : When set to 'tu3e3' following things are done: + - 1 entry created in ifTable for TU-3 with + ifType = sonetVT(51) + - 1 entry created in ifTable for E3 with + ifType = ds3(30) + + STM1<-AU-4<-TUG-3<-TU-3<-VC3 + + The value 'other' can not be set."; + smiv2:defval "vc11"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.9.1.1.2"; + } + } + } + } + + smiv2:alias "csVTConfigTable" { + description + "This table contains objects to configure the VT/VC (Virtual + Tributary / Virtual Container) related properties of + SONET/SDH lines."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2"; + } + + smiv2:alias "csVTConfigEntry" { + description + "There is an entry in this table for each SONET line that + supports SONET virtual tributaries or SDH virtual containers. + Each entry in this table will have a corresponding entry + in csConfigTable."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1"; + } + + augment "/CISCO-SONET-MIB:CISCO-SONET-MIB/CISCO-SONET-MIB:csConfigTable/CISCO-SONET-MIB:csConfigEntry" { + description + "There is an entry in this table for each SONET line that + supports SONET virtual tributaries or SDH virtual containers. + Each entry in this table will have a corresponding entry + in csConfigTable."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1"; + + leaf csTributaryType { + type enumeration { + enum "vt15vc11" { + value "1"; + } + enum "vt2vc12" { + value "2"; + } + } + description + "Type of the tributary carried within the SONET/SDH signal. + + vt15vc11 : carries T1 signal + vt2vc12 : carries E1 signal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1.1"; + } + + leaf csTributaryMappingType { + type enumeration { + enum "asynchronous" { + value "1"; + } + enum "byteSynchronous" { + value "2"; + } + } + description + "This object represents the VT/VC mapping type. + + asynchronous: In this mode, the channel structure of + DS1/E1 is neither visible nor preserved. + + byteSynchronous: In this mode, the DS0 signals inside the + VT/VC can be found and extracted from the + frame. + + Default is asynchronous(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1.2"; + } + + leaf csTributaryFramingType { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "dsx1D4" { + value "2"; + } + enum "dsx1ESF" { + value "3"; + } + } + description + "This object represents the framing type to be assigned to the + virtual tributaries in byte sync mapping mode. + + notApplicable : If VT mapping is not byteSynchronous(2). + dsx1ESF : Extended Superframe Format + dsx1D4 : Superframe Format + + Default is dsx1ESF(3) if csTributaryMappingType is + byteSynchronous(2). For asynchronous(1) mapping, the default is + notApplicable(1). + + The value notApplicable(1) can not be set."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1.3"; + } + + leaf csSignallingTransportMode { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "signallingTransferMode" { + value "2"; + } + enum "clearMode" { + value "3"; + } + } + description + "This object represents the mode used to transport DS0 + signalling information for T1 byteSynchronous mapping (GR253). + In signallingTransferMode(2), the robbed-bit signalling is + transferred to the VT header. In clearMode(3), only the + framing bit is transferred to the VT header. + + Default is signallingTransferMode(2) if csTributaryMappingType + is byteSynchronous. For asynchronous mapping, it is + notApplicable(1). + + The value notApplicable(1) can not be set."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1.4"; + } + + leaf csTributaryGroupingType { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "au3Grouping" { + value "2"; + } + enum "au4Grouping" { + value "3"; + } + } + description + "This object represents the method used to group VCs into an + STM-1 signal. Applicable only to SDH. + + au3Grouping: STM1<-AU-3<-TUG-2<-TU-12<-VC12 or + STM1<-AU-3<-TUG-2<-TU-11<-VC11. + + au4Grouping: STM1<-AU-4<-TUG-3<-TUG-2<-TU-12<-VC12 or + STM1<-AU-4<-TUG-3<-TUG-2<-TU-11<-VC11. + + Default is au3Grouping(2) for SDH and notApplicable(1) for SONET."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1.2.1.5"; + } + } + + smiv2:alias "cspConfigTable" { + description + "Cisco extension to SONET Path current table."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1"; + } + + smiv2:alias "cspConfigEntry" { + description + "An entry in Cisco extension to the SONET path current table."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1"; + } + + augment "/sonet-mib:SONET-MIB/sonet-mib:sonetPathCurrentTable/sonet-mib:sonetPathCurrentEntry" { + description + "An entry in Cisco extension to the SONET path current table."; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1"; + + leaf cspSonetPathPayload { + type enumeration { + enum "unequipped" { + value "1"; + } + enum "unspecified" { + value "2"; + } + enum "ds3" { + value "3"; + } + enum "vt15vc11" { + value "4"; + } + enum "vt2vc12" { + value "5"; + } + enum "atmCell" { + value "6"; + } + enum "hdlcFr" { + value "7"; + } + enum "e3" { + value "8"; + } + enum "vtStructured" { + value "9"; + } + } + description + "Specifies the payload carried by the SONET/SDH Path. + The payload specification corresponds to C2 (Signal Label) + overhead byte in SONET/SDH Path Overhead: + unequipped(1) : Path is not provisioned to carry any payload. + unspecified(2) : Path is carrying an unspecifed payload. + ds3(3) : Path is carrying a DS3 path as payload. + vt15vc11(4) : Path is carrying SONET-VT1.5/SDH-VC11 payload. + vt2vc12(5) : Path is carrying SONET-VT2/SDH-VC12 as payload. + atmCell(6) : Path is carrying ATM Cells as payload. + hdlcFr(7) : Path is carrying Frame Relay (HDLC) payload. + e3(8) : Path is carrying an E3 path as payload. + vtStructured(9) : Path is carrying VTGs/TUG3s/TUG2s which may + each carry a different payload. + A write operation on this object will result in update to + C2 overhead byte in the Path Overhead."; + reference + "Telcordia GR-253, ITU G.707"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1.1"; + } + + leaf cspTributaryMappingType { + type enumeration { + enum "asynchronous" { + value "1"; + } + enum "byteSynchronous" { + value "2"; + } + } + description + "This object represents the VT/VC mapping type. + asynchronous: In this mode, the channel structure of + DS1/E1 is neither visible nor preserved. + + byteSynchronous: In this mode, the DS0 signals inside + the VT/VC can be found and extracted + from the frame. + The initial value is asynchronous(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1.2"; + } + + leaf cspSignallingTransportMode { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "signallingTransferMode" { + value "2"; + } + enum "clearMode" { + value "3"; + } + } + description + "This object represents the mode used to transport DS0 + Signalling information for T1 byteSynchronous mapping + (GR253). + In signallingTransferMode(2), the robbed-bit signalling + is transferred to the VT header. In clearMode(3), only + the framing bit is transferred to the VT header. + + The initial value is signallingTransferMode(2) + if csTributaryMappingType is byteSynchronous. + For asynchronous mapping, it is + notApplicable(1). + + The value notApplicable(1) can not be set."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1.3"; + } + + leaf cspTributaryGroupingType { + type enumeration { + enum "notApplicable" { + value "1"; + } + enum "au3Grouping" { + value "2"; + } + enum "au4Grouping" { + value "3"; + } + } + description + "This object represents the method used to group VCs into + an STM-1 signal. Applicable only to SDH. + + au3Grouping: STM1<-AU-3<-TUG-2<-TU-12<-VC12 or + STM1<-AU-3<-TUG-2<-TU-11<-VC11. + + au4Grouping: STM1<-AU-4<-TUG-3<-TUG-2<-TU-12<-VC12 or + STM1<-AU-4<-TUG-3<-TUG-2<-TU-11<-VC11. + + The initial value is au3Grouping(2) for SDH and + notApplicable(1) for SONET."; + reference + "ITU-T,G707, Section 6 Basic Multiplexing Priciples"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7.1.1.4"; + } + } + + notification ciscoSonetSectionStatusChange { + description + "This notification is generated whenever the value of + sonetSectionCurrentStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.126.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetSectionCurrentStatus { + type leafref { + path "/sonet-mib:SONET-MIB/sonet-mib:sonetSectionCurrentTable/sonet-mib:sonetSectionCurrentEntry/sonet-mib:sonetSectionCurrentStatus"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifDescr { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifDescr"; + } + } + } + } + + notification ciscoSonetLineStatusChange { + description + "This notification is generated whenever the value of + sonetLineCurrentStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.126.0.2"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetLineCurrentStatus { + type leafref { + path "/sonet-mib:SONET-MIB/sonet-mib:sonetLineCurrentTable/sonet-mib:sonetLineCurrentEntry/sonet-mib:sonetLineCurrentStatus"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifDescr { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifDescr"; + } + } + } + } + + notification ciscoSonetPathStatusChange { + description + "This notification is generated whenever the value of + sonetPathCurrentStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.126.0.3"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetPathCurrentStatus { + type leafref { + path "/sonet-mib:SONET-MIB/sonet-mib:sonetPathCurrentTable/sonet-mib:sonetPathCurrentEntry/sonet-mib:sonetPathCurrentStatus"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifDescr { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifDescr"; + } + } + } + } + + notification ciscoSonetVTStatusChange { + description + "This notification is generated whenever the value of + sonetVTCurrentStatus changes."; + smiv2:oid "1.3.6.1.4.1.9.9.126.0.4"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetVTCurrentStatus { + type leafref { + path "/sonet-mib:SONET-MIB/sonet-mib:sonetVTCurrentTable/sonet-mib:sonetVTCurrentEntry/sonet-mib:sonetVTCurrentStatus"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifDescr { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifDescr"; + } + } + } + } + + smiv2:alias "ciscoSonetMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.126"; + } + + smiv2:alias "ciscoSonetMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.126.0"; + } + + smiv2:alias "ciscoSonetMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1"; + } + + smiv2:alias "csConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.1"; + } + + smiv2:alias "csApsConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.2"; + } + + smiv2:alias "csSection" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.3"; + } + + smiv2:alias "csLine" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.4"; + } + + smiv2:alias "csPath" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.5"; + } + + smiv2:alias "csStats" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.6"; + } + + smiv2:alias "cspConfig" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.7"; + } + + smiv2:alias "csNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.8"; + } + + smiv2:alias "csAu4Tug3Config" { + smiv2:oid "1.3.6.1.4.1.9.9.126.1.9"; + } + + smiv2:alias "ciscoSonetMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.126.3"; + } + + smiv2:alias "ciscoSonetMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.126.3.1"; + } + + smiv2:alias "ciscoSonetMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.126.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-ST-TC.yang b/vendor/cisco/xe/17151/MIBS/CISCO-ST-TC.yang new file mode 100644 index 000000000..7c87b1ca3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-ST-TC.yang @@ -0,0 +1,730 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-ST-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-ST-TC + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-ST-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC"; + prefix CISCO-ST-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + Tel: +1 800 553 -NETS + E-mail: cs-san@cisco.com"; + + description + "This module defines textual conventions used in + Storage Area Network technology specific mibs."; + + revision 2012-08-08 { + description + "Added sixteenG and automaxSixteenG in fcIfSpeed"; + } + + revision 2011-07-26 { + description + "-Added following enum to FcIfSpeed: + autoMaxEightG."; + } + + revision 2010-12-24 { + description + "-Added following enums to FcIfSpeed: + autoMax4G, eightG and tenG."; + } + + revision 2008-05-16 { + description + "-Added following enums to FcPortTypes + TEXTUAL CONVENTION + npPort, tfPort, tnpPort + -Added following enums to InterfaceOperMode + TEXTUAL CONVENTION. + npPort, tfPort, tnpPort + -Added following enums to FcPortModuleTypes + TEXTUAL CONVENTION + sfpDwdm, qsfp, x2Dwdm + - Updated the description of the following objects: + FcPortTxTypes, + FcNameId."; + } + + revision 2005-12-17 { + description + "- Added following TCs + FcIfSfpDiagLevelType + FcIfServiceStateType + - Added following enums in FcPortModuleTypes + xfp, x2Short, x2Medium, x2Tall, xpakShort, + xpakMedium, xpakTall and xenpak. + - Added following enums in FcPortTxTypes. + tenGigBaseSr, tenGigBaseLr, tenGigBaseEr, + tenGigBaseLx4, tenGigBaseSw, tenGigBaseLw, + tenGigBaseEw. + - Added following enums in FcIfSpeed + fourG and autoMaxTwoG."; + } + + revision 2004-05-18 { + description + "Added new textual convention 'InterfaceOperMode'."; + } + + revision 2003-09-26 { + description + "Obtained the OID for this MIB."; + } + + revision 2003-08-07 { + description + "Added stPort(15) to FcPortTypes."; + } + + revision 2002-10-04 { + description + "Added fvPort and portOperDown to FcPortTypes. + Added FcAddress and FcAddressType."; + } + + revision 2002-09-24 { + description + "Initial version of this MIB module."; + } + + typedef VsanIndex { + type int32 { + range "1..4094"; + } + description + "The VSAN id of a VSAN which uniquely identifies + a VSAN within a fabric. VSAN id is 12-bit + wide; so theoretically, 4096 VSANs can be defined in + a fabric and this device can be part of. However, VSAN + numbers 0 , 4094 and 4095 are reserved."; + } + + typedef DomainId { + type int32 { + range "1..239"; + } + description + "The Domain Id of the switch. This is assigned + dynamically if the Domain Manager is enabled on + the switch or could be configured statically by + the user."; + } + + typedef DomainIdOrZero { + type int32 { + range "0..239"; + } + description + "The Textual convention is an extension to + textual convetion 'DomainId'. It includes + the value '0'in addition the range 1-239. + Value '0' indicates that Domain Id has + been neither configured nor assigned."; + } + + typedef FcAddressId { + type binary { + length "3"; + } + description + "Represents Fibre Channel Address ID, a 24-bit + value unique within the address space of a Fabric."; + } + + typedef FcNameId { + type binary { + length "8"; + } + description + "Represents the World Wide Name (WWN) associated with + a Fibre Channel (FC) entity. A WWN is a 64 bit address + to uniquely identify each entity within a Fibre Channel + fabric."; + reference + "Fibre Channel Framing and Signaling (FC-FS) Rev 1.70 + - Section 14 Name_Indentifier Formats."; + } + + typedef FcNameIdOrZero { + type binary { + length "0|8|16"; + } + description + "The World Wide Name (WWN) associated with a Fibre Channel + (FC) entity. WWNs were initially defined as 64-bits in + length. The latest definition (for future use) is 128-bits + long. The zero-length string value is used in circumstances + where the WWN is unassigned/unknown."; + } + + typedef FcClassOfServices { + type bits { + bit classF { + position "0"; + } + bit class1 { + position "1"; + } + bit class2 { + position "2"; + } + bit class3 { + position "3"; + } + bit class4 { + position "4"; + } + bit class5 { + position "5"; + } + bit class6 { + position "6"; + } + } + description + "Represents the class of service capability of an + NxPort or FxPort."; + } + + typedef FcPortTypes { + type enumeration { + enum "auto" { + value "1"; + } + enum "fPort" { + value "2"; + } + enum "flPort" { + value "3"; + } + enum "ePort" { + value "4"; + } + enum "bPort" { + value "5"; + } + enum "fxPort" { + value "6"; + } + enum "sdPort" { + value "7"; + } + enum "tlPort" { + value "8"; + } + enum "nPort" { + value "9"; + } + enum "nlPort" { + value "10"; + } + enum "nxPort" { + value "11"; + } + enum "tePort" { + value "12"; + } + enum "fvPort" { + value "13"; + } + enum "portOperDown" { + value "14"; + } + enum "stPort" { + value "15"; + } + enum "npPort" { + value "16"; + } + enum "tfPort" { + value "17"; + } + enum "tnpPort" { + value "18"; + } + } + description + "Represents fibre channel port types: + auto (1) - Mode is determined by port initialization + scheme. + fPort (2) - Fibre channel fabric port. + flPort (3) - Fibre channel arbitrated loop port. + ePort (4) - Fabric Expansion port. + bPort (5) - Bridging port. + fxPort (6) - This port can only be f_port or fl_port. + sdPort (7) - SPAN destination port. SD_ports transmit + traffic copied from one or more source ports + for monitoring purposes. + tlPort (8) - Translation loop port. + nPort (9) - Fibre channel N port. + nlPort (10) - Fibre channel NL port. + nxPort (11) - This port can only be n_port or nl_port. + + -- read only port types. + tePort (12) - Trunking e_port. + Note: A port which is administratively set + to 'ePort', will operationally have type + 'tePort' if fcIfOperTrunkMode has the value + 'trunk'. + fvPort (13) - Virtual Port. + portOperDown (14) - port operationally down + If a port is operationally down, the + port mode is unknown. In such cases + the operational port mode is shown + as 'portOperDown'. + stPort (15) - SPAN Tunnel destination port. + npPort (16) - N Proxy port mode applicable only to N-port + Virtualizer (NPV) + tfPort (17) - Trunking fibre channel fabric port. + tnpPort (18) - Trunking N Proxy port mode applicable only + to N-port Virtualizer (NPV)."; + } + + typedef FcPortTxTypes { + type enumeration { + enum "unknown" { + value "1"; + } + enum "longWaveLaser" { + value "2"; + } + enum "shortWaveLaser" { + value "3"; + } + enum "longWaveLaserCostReduced" { + value "4"; + } + enum "electrical" { + value "5"; + } + enum "tenGigBaseSr" { + value "6"; + } + enum "tenGigBaseLr" { + value "7"; + } + enum "tenGigBaseEr" { + value "8"; + } + enum "tenGigBaseLx4" { + value "9"; + } + enum "tenGigBaseSw" { + value "10"; + } + enum "tenGigBaseLw" { + value "11"; + } + enum "tenGigBaseEw" { + value "12"; + } + } + description + "Represents port transciever technology types. + unknown (1) - unknown + longWaveLaser (2) - 1550nm laser + shortWaveLaser (3) - 850nm laser + longWaveLaserCostReduced (4) - 1310nm laser + electrical (5) - electrical + tenGigBaseSr (6) - 10GBASE-SR 850nm laser + tenGigBaseLr (7) - 10GBASE-LR 1310nm laser + tenGigBaseEr (8) - 10GBASE-ER 1550nm laser + tenGigBaseLx4 (9) - 10GBASE-LX4 WWDM 1300nm laser + tenGigBaseSw (10) - 850nm laser + tenGigBaseLw (11) - 1310nm laser + tenGigBaseEw (12) - 1550nm laser + ."; + reference + "IEEE Std 802.3-2005 carrier sense multiple access + with collision detection (CSMA/CD) access method + and physical layer specification."; + } + + typedef FcPortModuleTypes { + type enumeration { + enum "unknown" { + value "1"; + } + enum "other" { + value "2"; + } + enum "gbic" { + value "3"; + } + enum "embedded" { + value "4"; + } + enum "glm" { + value "5"; + } + enum "gbicWithSerialID" { + value "6"; + } + enum "gbicWithoutSerialID" { + value "7"; + } + enum "sfpWithSerialID" { + value "8"; + } + enum "sfpWithoutSerialID" { + value "9"; + } + enum "xfp" { + value "10"; + } + enum "x2Short" { + value "11"; + } + enum "x2Medium" { + value "12"; + } + enum "x2Tall" { + value "13"; + } + enum "xpakShort" { + value "14"; + } + enum "xpakMedium" { + value "15"; + } + enum "xpakTall" { + value "16"; + } + enum "xenpak" { + value "17"; + } + enum "sfpDwdm" { + value "18"; + } + enum "qsfp" { + value "19"; + } + enum "x2Dwdm" { + value "20"; + } + } + description + "Represents module type of the port connector. This + object refers to the hardware implementation of the port. + The enums are defined as per FC-GS-4 standard. + unknown (1) - unknown + other (2) - other + gbic (3) - gbic (gigabit interface card) + embedded (4) - gbic is part of the line card + and is unremovable + glm (5) - if its a gigabit link module + (GLM). A GLM has a different + form factor than GBIC. GLM is + not supported by our switch. + gbicWithSerialID (6) - If GBIC serial id can be read + gbicWithoutSerialID (7) - If GBIC serial id cannot be read + sfpWithSerialID (8) - If small form factor (SFP) + pluggable GBICs serial id can + be read + sfpWithoutSerialID (9) - If small form factor (SFP) + pluggable GBICs serial id + cannot be read + The following enums are module types for 10 gigabit small + form factor pluggable sfp port connectors. + xfp (10) - xfp + x2Short (11) - x2 short + x2Medium (12) - x2 medium + x2Tall (13) - x2 tall + xpakShort (14) - xpak short + xpakMedium (15) - xpak medium + xpakTall (16) - xpak tall + xenpak (17) - xenpak + sfpDwdm (18) - DWDM SFP type + qsfp (19) - Quad small form-factor (QSFP) + pluggable type + x2Dwdm (20) - x2 DWDM + ."; + } + + typedef FcIfSpeed { + type enumeration { + enum "auto" { + value "1"; + } + enum "oneG" { + value "2"; + } + enum "twoG" { + value "3"; + } + enum "fourG" { + value "4"; + } + enum "autoMaxTwoG" { + value "5"; + } + enum "eightG" { + value "6"; + } + enum "autoMaxFourG" { + value "7"; + } + enum "tenG" { + value "8"; + } + enum "autoMaxEightG" { + value "9"; + } + enum "sixteenG" { + value "10"; + } + enum "autoMaxSixteenG" { + value "11"; + } + } + description + "Represents the speed of a fibre channel port. + Following are the meanings of the enumerated values: + auto (1) - Negotiate to determine the speed + automatically. + oneG (2) - 1Gbit + twoG (3) - 2Gbit + fourG (4) - 4Gbit + autoMaxTwoG (5) - Negotiate to determine the + speed automatically upto a + maximum of 2Gbit. + eightG (6) - 8Gbit + autoMaxFourG (7) - Negotiate to determine the + speed automatically upto a + maximum of 4Gbit. + tenG (8) - 10GBit. + autoMaxEightG (9) - Negotiate to determine the + speed automatically upto a + maximum of 8Gbit. + sixteenG (10) - 16GBit. + autoMaxSixteenG (11) - Negotiate to determine the + speed automatically upto a + maximum of 16Gbit."; + } + + typedef PortMemberList { + type binary { + length "0..64"; + } + description + "A list of ifIndex's of the ports that are members of + this list. + + The value of this object is a concatenation of zero or + more 4-octet strings, where each 4-octet string contains + a 32-bit ifIndex value in network byte order. + + A zero length string value means this list has no + members."; + } + + typedef FcAddress { + type binary { + length "3|8"; + } + description + "Represents either the Fibre Channel Address ID or + the World Wide Name associated with a Fibre + Channel (FC) Entity."; + } + + typedef FcAddressType { + type enumeration { + enum "wwn" { + value "1"; + } + enum "fcid" { + value "2"; + } + } + description + "Denotes if a Fibre Channel Address is + a World Wide Name (WWN) or a Fibre + Channel Address ID (FCID). + wwn(1) - address is WWN. + fcid(2) - address is FCID."; + } + + typedef InterfaceOperMode { + type enumeration { + enum "auto" { + value "1"; + } + enum "fPort" { + value "2"; + } + enum "flPort" { + value "3"; + } + enum "ePort" { + value "4"; + } + enum "bPort" { + value "5"; + } + enum "fxPort" { + value "6"; + } + enum "sdPort" { + value "7"; + } + enum "tlPort" { + value "8"; + } + enum "nPort" { + value "9"; + } + enum "nlPort" { + value "10"; + } + enum "nxPort" { + value "11"; + } + enum "tePort" { + value "12"; + } + enum "fvPort" { + value "13"; + } + enum "portOperDown" { + value "14"; + } + enum "stPort" { + value "15"; + } + enum "mgmtPort" { + value "16"; + } + enum "ipsPort" { + value "17"; + } + enum "evPort" { + value "18"; + } + enum "npPort" { + value "19"; + } + enum "tfPort" { + value "20"; + } + enum "tnpPort" { + value "21"; + } + } + description + "Represents the operational mode of an interface + auto (1) - Mode is determined by port initialization + scheme. + fPort (2) - Fibre channel fabric port. + flPort (3) - Fibre channel arbitrated loop port. + ePort (4) - Fabric Expansion port. + bPort (5) - Bridging port. + fxPort (6) - This port can only be f_port or fl_port. + sdPort (7) - SPAN destination port. SD_ports transmit + traffic copied from one or more source + ports for monitoring purposes. + tlPort (8) - Translation loop port. + nPort (9) - Fibre channel N port. + nlPort (10) - Fibre channel NL port. + nxPort (11) - This port can only be n_port or nl_port. + + -- read only port types. + tePort (12) - Trunking e_port. + Note: A port which is administratively set + to 'ePort', will operationally have type + 'tePort' if fcIfOperTrunkMode has the value + 'trunk'. + fvPort (13) - Virtual Port. + portOperDown (14) - port operationally down + If a port is operationally down, the + port mode is unknown. In such cases + the operational port mode is shown + as 'portOperDown'. + stPort (15) - SPAN Tunnel destination port. + mgmtPort(16) - Mgmt Port. + ipsPort(17) - Ethernet Port. + evPort(18) - FCIP tunnels on Ethernet ports. + npPort (19) - N Proxy port mode applicable only + to N-port Virtualizer (NPV). + tfPort (20) - Trunking fibre channel fabric port. + tnpPort (21) - Trunking N Proxy port mode applicable only + to N-port Virtualizer (NPV)."; + } + + typedef FcIfServiceStateType { + type enumeration { + enum "inService" { + value "1"; + } + enum "outOfService" { + value "2"; + } + } + description + "Represents the service state of a Fibre Channel + interface. Following are the meanings of the + enumerated values: + + inService (1) - interface is in service and is + allowed to become operational. + outOfService (2) - interface is removed from service + and is not allowed to become + operational."; + } + + typedef FcIfSfpDiagLevelType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "normal" { + value "2"; + } + enum "lowWarning" { + value "3"; + } + enum "lowAlarm" { + value "4"; + } + enum "highWarning" { + value "5"; + } + enum "highAlarm" { + value "6"; + } + } + description + "Represents the severity level of the SFP + diagnostic information of an interface for + temperature, voltage, current, optical + transmit and receive power."; + } + + smiv2:alias "storageTextualConventions" { + smiv2:oid "1.3.6.1.4.1.9.12.4"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-STACKWISE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-STACKWISE-MIB.yang new file mode 100644 index 000000000..931e62592 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-STACKWISE-MIB.yang @@ -0,0 +1,1965 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-STACKWISE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-STACKWISE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-STACKWISE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-STACKWISE-MIB"; + prefix CISCO-STACKWISE-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-dsbu@cisco.com"; + + description + "This MIB module contain a collection of managed objects + that apply to network devices supporting the Cisco + StackWise(TM) technology. + + The StackWise technology provides a method for collectively + utilizing a stack of switches to create a single switching + unit. + + The data stack is used for switching data packets and, in + power stack, switches are connected by special stack power + cables to share power. Moreover, stackwise is the concept + for combining multiple systems to give an impression of a + single system so that is why both power stack and data stack + are supported by single MIB. + + Terminology: + Stack - A collection of switches connected by the + Cisco StackWise technology. + + Master - The switch that is managing the stack. + + Member - A switch in the stack that is + NOT the stack master. + + Ring - Components that makes up the connections + between the switches in order to create a + stack. + + Stackport - A special physical connector used by the ring. + It is possible for a switch have more than + one stackport. + + SDM - Switch Database Management. + + Stack Power - A collection of switches connected by special + stack power cables to share the power of + inter-connected power supplies across all switches + requiring power. Stack Power is managed by a + single data stack. + + Jack-Jack - It is a device that provides the Power Shelf + capabilities required for Stack Power on + the high-end. + + POE - Power Over Ethernet + + FEP - Front End Power Supply + + SOC - Sustained Overload Condition + + GLS - Graceful Load Shedding + + ILS - Immediate Load Shedding + + SRLS - System Ring Load Shedding + + SSLS - System Star Load Shedding"; + + revision 2016-04-16 { + description + "Added following objects in cswGlobals + - cswStackDomainNum + - cswStackType + - cswStackBandWidth + Created following tables + - cswDistrStackLinkInfoTable + -cswDistrStackPhyPortInfoTable + Added cswStatusGroupRev2 + Deprecated cswStatusGroupRev1 + Added cswDistrStackLinkStatusGroup + Added cswDistrStackPhyPortStatusGroup + Added cswStackWiseMIBComplianceRev4 MIB COMPLIANCE + Deprecated cswStackWiseMIBComplianceRev3 MIB COMPLIANCE."; + } + + revision 2015-11-24 { + description + "Added following Objects in cswSwitchInfoTable + - cswSwitchPowerAllocated + Added following OBJECT-GROUP + - cswStackPowerAllocatedGroup + Deprecated cswStackWiseMIBComplianceRev2 MODULE-COMPLIANCE. + Added cswStackWiseMIBComplianceRev3 MODULE-COMPLIANCE."; + } + + revision 2011-12-12 { + description + "Modified 'cswSwitchRole' object."; + } + + revision 2010-02-01 { + description + "Added cswStackPowerStatusGroup, cswStackPowerSwitchStatusGroup, + cswStackPowerPortStatusGroup, cswStatusGroupRev1 and + cswStackPowerNotificationGroup. + Deprecated cswStackWiseMIBCompliance compliance statement. + Added cswStackWiseMIBComplianceRev1 compliance statement. + Deprecated cswStatusGroup because we deprecated + cswEnableStackNotifications"; + } + + revision 2008-06-10 { + description + "Modified 'cswSwitchState' object."; + } + + revision 2005-10-12 { + description + "Initial version of this MIB module."; + } + + typedef CswPowerStackMode { + type enumeration { + enum "powerSharing" { + value "1"; + } + enum "redundant" { + value "2"; + } + enum "powerSharingStrict" { + value "3"; + } + enum "redundantStrict" { + value "4"; + } + } + description + "This textual convention is used to describe the mode of the + power stack. Since the power stack could only run in either + power sharing or redundant mode so this TC will also have only + following valid values, + powerSharing(1) :When a power stack is running in power + sharing mode then all the power supplies + in the power stack contributes towards + the global power budget of the stack. + + redundant(2) :If the user wants the power stack to run + in redundant mode then we will take the + capacity of the largest power supply in + the power stack out of power stack global + power budget pool. + + powerSharingStrict(3):This mode is same as power sharing mode + but, in this mode, the available power + will always be more than the used power. + + redundantStrict(4) :This mode is same as redundant mode but, + in this mode, the available power will + always be more than the used power."; + } + + typedef CswPowerStackType { + type enumeration { + enum "ring" { + value "1"; + } + enum "star" { + value "2"; + } + } + description + "This textual conventions is used to describe the type of the + power stack. Since the power stack could only be configured in + a ring or star topology so this TC will have only following + valid values, + ring(1): The power stack has been formed by connecting + the switches in ring topology. + star(2): The power stack has been formed by connecting + the switches in star topology."; + } + + typedef CswSwitchNumber { + type uint32 { + range "1..4294967295"; + } + description + "A unique value, greater than zero, for each switch in a group + of stackable switches."; + smiv2:display-hint "d"; + } + + typedef CswSwitchNumberOrZero { + type uint32 { + range "0..4294967295"; + } + description + "A unique value, greater than or equal to zero, for each switch + in a group of stackable switches. + + A value of zero means that the switch number can not be + determined. The value of zero is not unique."; + smiv2:display-hint "d"; + } + + typedef CswSwitchPriority { + type uint32 { + range "0..4294967295"; + } + description + "A value, greater than or equal to zero, that defines the + priority of a switch in a group of stackable switches. The + higher the value, the higher the priority."; + smiv2:display-hint "d"; + } + + + container CISCO-STACKWISE-MIB { + config false; + + container cswGlobals { + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1"; + + leaf cswMaxSwitchNum { + type CISCO-STACKWISE-MIB:CswSwitchNumber; + description + "The maximum number of switches that can be configured on + this stack. This is also the maximum value that can be + set by the cswSwitchNumNextReload object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.1"; + } + + leaf cswMaxSwitchConfigPriority { + type CISCO-STACKWISE-MIB:CswSwitchPriority; + description + "The maximum configurable priority for a switch in this stack. + Highest value equals highest priority. This is the highest + value that can be set by the cswSwitchSwPriority object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.2"; + } + + leaf cswRingRedundant { + type boolean; + description + "A value of 'true' is returned when the stackports are + connected in such a way that it forms a redundant ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.3"; + } + + leaf cswEnableStackNotifications { + type boolean; + status deprecated; + description + "This object indicates whether the system generates the + notifications defined in this MIB or not. A value of + 'false' will prevent the notifications from being sent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.4"; + } + + leaf cswEnableIndividualStackNotifications { + type bits { + bit stackPortChange { + position "0"; + } + bit stackNewMaster { + position "1"; + } + bit stackMismatch { + position "2"; + } + bit stackRingRedundant { + position "3"; + } + bit stackNewMember { + position "4"; + } + bit stackMemberRemoved { + position "5"; + } + bit stackPowerLinkStatusChanged { + position "6"; + } + bit stackPowerPortOperStatusChanged { + position "7"; + } + bit stackPowerVersionMismatch { + position "8"; + } + bit stackPowerInvalidTopology { + position "9"; + } + bit stackPowerBudgetWarning { + position "10"; + } + bit stackPowerInvalidInputCurrent { + position "11"; + } + bit stackPowerInvalidOutputCurrent { + position "12"; + } + bit stackPowerUnderBudget { + position "13"; + } + bit stackPowerUnbalancedPowerSupplies { + position "14"; + } + bit stackPowerInsufficientPower { + position "15"; + } + bit stackPowerPriorityConflict { + position "16"; + } + bit stackPowerUnderVoltage { + position "17"; + } + bit stackPowerGLS { + position "18"; + } + bit stackPowerILS { + position "19"; + } + bit stackPowerSRLS { + position "20"; + } + bit stackPowerSSLS { + position "21"; + } + bit stackMemberToBeReloadedForUpgrade { + position "22"; + } + } + description + "This object is used to enable/disable individual notifications + defined in this MIB module. Turning on a particular bit would + enable the corresponding trap and, similarly, turning off a + particular bit would disable the corresponding trap. The + following notifications are controlled by this object: + + stackPortChange(0): enables/disables cswStackPortChange + notification. + + stackNewMaster(1): enables/disables cswStackNewMember + notification. + + stackMismatch(2): enables/disables cswStackMismatch + notification. + + stackRingRedundant(3): enables/disables cswStackRingRedundant + notification. + + stackNewMember(4): enables/disables cswStackNewMember + notification. + + stackMemberRemoved(5): enables/disables cswStackMemberRemoved + notification. + + stackPowerLinkStatusChanged(6): enables/disables + cswStackPowerPortLinkStatusChanged notification. + + stackPowerPortOperStatusChanged(7): enables/disables + cswStackPowerPortOperStatusChanged notification. + + stackPowerVersionMismatch(8): enables/disables + cswStackPowerVersionMismatch notification. + + stackPowerInvalidTopology(9): enables/disables + cswStackPowerInvalidTopology notification + + stackPowerBudgetWarning(10): enables/disables + cswStackPowerBudgetWarning notification. + + stackPowerInvalidInputCurrent(11): enables/disables + cswStackPowerInvalidInputCurrent notification. + + stackPowerInvalidOutputCurrent(12): enables/disables + cswStackPowerInvalidOutputCurrent notification. + + stackPowerUnderBudget(13): enables/disables + cswStackPowerUnderBudget notification. + + stackPowerUnbalancedPowerSupplies(14): enables/disables + cswStackPowerUnbalancedPowerSupplies notification. + + stackPowerInsufficientPower(15): enables/disables + cswStackPowerInsufficientPower notification. + + stackPowerPriorityConflict(16): enables/disables + cswStackPowerPriorityConflict notification. + + stackPowerUnderVoltage(17): enables/disables + cswStackPowerUnderVoltage notification. + + stackPowerGLS(18): enables/disables cswStackPowerGLS + notification. + + stackPowerILS(19): enables/disabled cswStackPowerILS + notification. + + stackPowerSRLS(20): enables/disables cswStackPowerSRLS + notification. + + stackPowerSSLS(21): enables/disables cswStackPowerSSLS + notification. + stackMemberToBeReloadedForUpgrade(22): enables/disables + cswStackMemberToBeReloadedForUpgrade notification."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.5"; + } + + leaf cswStackDomainNum { + type uint32; + description + "This object indicates distributed domain of the switch.Only + Switches with the same domain number can be in the same dist + ributed domain.0 means no switch domain configured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.6"; + } + + leaf cswStackType { + type uint32; + description + "This object indicates type of switch stack. value + of Switch virtual domain determines if switch is + distributed or conventional stack. 0 means stack + is conventional back side stack."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.7"; + } + + leaf cswStackBandWidth { + type uint32; + description + "This object indicates stack bandwidth."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1.8"; + } + } + + container cswSwitchInfoTable { + description + "This table contains information specific to switches in a + stack. Every switch with an entry in the entPhysicalTable + (ENTITY-MIB) whose entPhysicalClass is 'chassis' will have + an entry in this table."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1"; + + list cswSwitchInfoEntry { + key "entPhysicalIndex"; + description + "A conceptual row in the cswSwitchInfoTable describing + a switch information."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type CISCO-STACKWISE-MIB:CswSwitchNumber; + description + "This object contains the current switch identification number. + This number should match any logical labeling on the switch. + For example, a switch whose interfaces are labeled + 'interface #3' this value should be 3."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.1"; + } + + leaf cswSwitchNumNextReload { + type CISCO-STACKWISE-MIB:CswSwitchNumberOrZero; + description + "This object contains the cswSwitchNumCurrent to be + used at next reload. The maximum value for this object is + defined by the cswMaxSwitchNum object. + + Note: This object will contain 0 and cannot be set if the + cswSwitchState value is other than 'ready'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.2"; + } + + leaf cswSwitchRole { + type enumeration { + enum "master" { + value "1"; + } + enum "member" { + value "2"; + } + enum "notMember" { + value "3"; + } + enum "standby" { + value "4"; + } + } + description + "This object describes the function of the switch: + + master - stack master. + + member - active member of the stack. + + notMember - none-active stack member, see + cswSwitchState for status. + + standby - stack standby switch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.3"; + } + + leaf cswSwitchSwPriority { + type CISCO-STACKWISE-MIB:CswSwitchPriority; + description + "A number containing the priority of a switch. The switch with + the highest priority will become the master. The maximum value + for this object is defined by the cswMaxSwitchConfigPriority + object. + + If after a reload the value of cswMaxSwitchConfigPriority + changes to a smaller value, and the value of cswSwitchSwPriority + has been previously set to a value greater or equal to the + new cswMaxSwitchConfigPriority, then the SNMP agent must set + cswSwitchSwPriority to the new cswMaxSwitchConfigPriority. + + Note: This object will contain the value of 0 if the + cswSwitchState value is other than 'ready'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.4"; + } + + leaf cswSwitchHwPriority { + type CISCO-STACKWISE-MIB:CswSwitchPriority; + description + "This object contains the hardware priority of a switch. If + two or more entries in this table have the same + cswSwitchSwPriority value during the master election time, + the switch with the highest cswSwitchHwPriority will become + the master. + + Note: This object will contain the value of 0 if the + cswSwitchState value is other than 'ready'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.5"; + } + + leaf cswSwitchState { + type enumeration { + enum "waiting" { + value "1"; + } + enum "progressing" { + value "2"; + } + enum "added" { + value "3"; + } + enum "ready" { + value "4"; + } + enum "sdmMismatch" { + value "5"; + } + enum "verMismatch" { + value "6"; + } + enum "featureMismatch" { + value "7"; + } + enum "newMasterInit" { + value "8"; + } + enum "provisioned" { + value "9"; + } + enum "invalid" { + value "10"; + } + enum "removed" { + value "11"; + } + } + description + "The current state of a switch: + + waiting - Waiting for a limited time on other + switches in the stack to come online. + + progressing - Master election or mismatch checks in + progress. + + added - The switch is added to the stack. + + ready - The switch is operational. + + sdmMismatch - The SDM template configured on the master + is not supported by the new member. + + verMismatch - The operating system version running on the + master is different from the operating + system version running on this member. + + featureMismatch - Some of the features configured on the + master are not supported on this member. + + newMasterInit - Waiting for the new master to finish + initialization after master switchover + (Master Re-Init). + + provisioned - The switch is not an active member of the + stack. + + invalid - The switch's state machine is in an + invalid state. + + removed - The switch is removed from the stack."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.6"; + } + + leaf cswSwitchMacAddress { + type yang:mac-address; + description + "The MAC address of the switch. + + Note: This object will contain the value of 0000:0000:0000 + if the cswSwitchState value is other than 'ready'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.7"; + } + + leaf cswSwitchSoftwareImage { + type snmp-framework:SnmpAdminString; + description + "The software image type running on the switch. + + Note: This object will contain an empty string if the + cswSwitchState value is other than 'ready'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.8"; + } + + leaf cswSwitchPowerBudget { + type uint32; + units "Watts"; + description + "This object indicates the power budget of the switch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.9"; + } + + leaf cswSwitchPowerCommited { + type uint32; + units "Watts"; + description + "This object indicates the power committed to the POE devices + connected to the switch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.10"; + } + + leaf cswSwitchSystemPowerPriority { + type uint32; + description + "This specifies the system's power priority. In case of + a power failure then the system with the highest system + priority will be brought down last."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.11"; + } + + leaf cswSwitchPoeDevicesLowPriority { + type uint32; + description + "This object specifies the priority of the system's low + priority POE devices."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.12"; + } + + leaf cswSwitchPoeDevicesHighPriority { + type uint32; + description + "This object specifies the priority of the system's high + priority POE devices. In order to avoid losing the high + priority POE devices before the low priority POE devices, + this object's value must be greater than value of + cswSwitchPoeDevicesLowPriority."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.13"; + } + + leaf cswSwitchPowerAllocated { + type uint32; + units "Watts"; + description + "This object indicates the power committed to the POE devices + connected to the switch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.1.1.14"; + } + } + } + + container cswStackPortInfoTable { + description + "This table contains stackport specific information. There + exists an entry in this table for every physical stack + port that have an entry in the ifTable (IF-MIB)."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.2"; + + list cswStackPortInfoEntry { + key "ifIndex"; + description + "A conceptual row in the cswStackPortInfoTable. An entry + contains information about a stackport."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cswStackPortOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "forcedDown" { + value "3"; + } + } + description + "The state of the stackport. + + up - Connected and operational. + + down - Not connected to a neighboring switch or + administrative down. + + forcedDown - Shut down by stack manager due to mismatch or + stackport errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.2.1.1"; + } + + leaf cswStackPortNeighbor { + type cisco-tc:EntPhysicalIndexOrZero; + description + "This object contains the value of the entPhysicalIndex of the + switch's chassis to which this stackport is connected to. If + the stackport is not connected, the value 0 is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.2.1.2"; + } + } + } + + container cswDistrStackLinkInfoTable { + description + "Distributed Stack Link Information."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.3"; + + list cswDistrStackLinkInfoEntry { + key "entPhysicalIndex cswDSLindex"; + description + "An Entry containing information about DSL link."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswDSLindex { + type uint32 { + range "1..2"; + } + description + "This is index of the distributed stack link + with respect to each interface port"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.3.1.1"; + } + + leaf cswDistrStackLinkBundleOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The state of the stackLink. + up - Connected and operational. + down - Not connected or administrative down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.3.1.2"; + } + } + } + + container cswDistrStackPhyPortInfoTable { + description + "This table contains objects for Distributed stack + Link information Table."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4"; + + list cswDistrStackPhyPortInfoEntry { + key "entPhysicalIndex cswDSLindex ifIndex"; + description + "An Entry containing information about stack port that + is part of Distributed Stack Link."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswDSLindex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswDistrStackLinkInfoTable/CISCO-STACKWISE-MIB:cswDistrStackLinkInfoEntry/CISCO-STACKWISE-MIB:cswDSLindex"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cswDistrStackPhyPort { + type snmp-framework:SnmpAdminString; + description + "This object indicates the name of distributed stack port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4.1.1"; + } + + leaf cswDistrStackPhyPortOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The state of the distributed stackport. + up - Connected and operational. + down - Not connected to a neighboring switch or + administrative down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4.1.2"; + } + + leaf cswDistrStackPhyPortNbr { + type snmp-framework:SnmpAdminString; + description + "This object indicates the name of distributed stack port's neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4.1.3"; + } + + leaf cswDistrStackPhyPortNbrsw { + type cisco-tc:EntPhysicalIndexOrZero; + description + "This object indicates the EntPhysicalIndex of + the distributed stack port's neigbor switch."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2.4.1.4"; + } + } + } + + container cswStackPowerInfoTable { + description + "This table holds the information about all the power stacks in + a single data stack."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1"; + + list cswStackPowerInfoEntry { + key "cswStackPowerStackNumber"; + description + "An entry in the cswStackPowerInfoTable for each of the power + stacks in a single data stack. This entry contains information + regarding the power stack."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1"; + + leaf cswStackPowerStackNumber { + type uint32; + description + "A unique value, greater than zero, to identify a power stack."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.1"; + } + + leaf cswStackPowerMode { + type CISCO-STACKWISE-MIB:CswPowerStackMode; + description + "This object specifies the information about the mode of the + power stack. + Power-sharing mode: All of the input power can be used for + loads, and the total available power appears as one huge power + supply. The power budget includes all power from all supplies. + No power is set aside for power supply failures, so if a power + supply fails, load shedding (shutting down of powered devices or + switches) might occur. This is the default. + Redundant mode: The largest power supply is removed from the + power pool to be used as backup power in case one of the other + power supplies fails. The available power budget is the total + power minus the largest power supply. This reduces the available + power in the pool for switches and powered devices to draw from, + but in case of a failure or an extreme power load, there is less + chance of having to shut down switches or powered devices. This + is the recommended operating mode if your system has enough + power. + In addition, you can configure each mode to run a strict power + budget or a non-strict (loose) power budget. If the mode is + strict, the stack power needs cannot exceed the available power. + When the power budgeted to devices reaches the maximum available + PoE power, power is denied to the next device seeking power. In + this mode the stack never goes into an over-budgeted power mode. + When the mode is non-strict, budgeted power is allowed to exceed + available power. This is normally not a problem because most + devices do not run at full power and the chances of all powered + devices in the stack requiring maximum power at the same time is + small."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.2"; + } + + leaf cswStackPowerMasterMacAddress { + type yang:mac-address; + description + "This object indicates the Mac address of the power stack + master."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.3"; + } + + leaf cswStackPowerMasterSwitchNum { + type uint32; + description + "This object indicates the switch number of the power stack + master. + The value of this object would be zero if the power stack + master is not part of this data stack."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.4"; + } + + leaf cswStackPowerNumMembers { + type uint32; + description + "This object indicates the number of members in the power + stack."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.5"; + } + + leaf cswStackPowerType { + type CISCO-STACKWISE-MIB:CswPowerStackType; + description + "This object indicates the topology of the power stack, that is, + whether the switch is running in RING or STAR topology."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.6"; + } + + leaf cswStackPowerName { + type snmp-framework:SnmpAdminString; + description + "This object specifies a unique name of this power stack. A + zero-length string indicates no name is assigned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.1.1.7"; + } + } + } + + container cswStackPowerPortInfoTable { + description + "This table contains information about the stack power ports. + There exists an entry in this table for each physical stack + power port."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2"; + + list cswStackPowerPortInfoEntry { + key "entPhysicalIndex cswStackPowerPortIndex"; + description + "A conceptual row in the cswStackPowerPortInfoTable. This entry + contains information about a power stack port."; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type uint32; + description + "A unique value, greater than zero, for each stack power port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.1"; + } + + leaf cswStackPowerPortOperStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This object is used to either set or unset the operational + status of the stack port. This object will have following valid + values, + + enabled(1) : The port is enabled + disabled(2) : The port is forced down"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.2"; + } + + leaf cswStackPowerPortNeighborMacAddress { + type yang:mac-address; + description + "This objects indicates the port neighbor's Mac Address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.3"; + } + + leaf cswStackPowerPortNeighborSwitchNum { + type CISCO-STACKWISE-MIB:CswSwitchNumberOrZero; + description + "This objects indicates the port neighbor's switch number. If + either there is no switch connected or the neighbor is not + Jack-Jack then the value of this object is going to be 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.4"; + } + + leaf cswStackPowerPortLinkStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "This object is used to describe the link status of the stack + port. This object will have following valid + values, + + up(1) : The port is connected and operational + down(2): The port is either forced down or not connected"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.5"; + } + + leaf cswStackPowerPortOverCurrentThreshold { + type uint32; + units "Amperes"; + description + "This object is used to retrieve the over current threshold. The + stack power cables are limited to carry current up to the limit + retrieved by this object. The stack power cables would not be + able to function properly if either the input or output current + goes beyond the threshold retrieved by this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.6"; + } + + leaf cswStackPowerPortName { + type snmp-framework:SnmpAdminString; + description + "This object specifies a unique name of the stack power port as + shown on the face plate of the system. A zero-length string + indicates no name is assigned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3.2.1.7"; + } + } + } + } + + notification cswStackPortChange { + description + "This notification is generated when the state + of a stack port has changed."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.1"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cswStackPortOperStatus { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPortInfoTable/CISCO-STACKWISE-MIB:cswStackPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPortOperStatus"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackNewMaster { + description + "This notification is generated when a new master has been + elected. The notification will contain the cswSwitchNumCurrent + object to indicate the new master ID."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackMismatch { + description + "This notification is generated when a new member attempt + to join the stack but was denied due to a mismatch. The + cswSwitchState object will indicate the type of mismatch."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.3"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchState { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchState"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackRingRedundant { + description + "This notification is generated when the redundancy of the + ring has changed."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.4"; + + container object-1 { + + leaf cswRingRedundant { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswGlobals/CISCO-STACKWISE-MIB:cswRingRedundant"; + } + } + } + } + + notification cswStackNewMember { + description + "This notification is generated when a new member joins the + stack."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.5"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackMemberRemoved { + description + "This notification is generated when a member is removed + from the stack."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.6"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerPortLinkStatusChanged { + description + "This notification is generated when the link status of a stack + power port is changed from up to down or down to up. This + notification is for informational purposes only and no action + is required. cswStackPowerPortLinkStatus indicates link status + of the stack power ports. cswSwitchNumCurrent indicates the + switch number of the system. cswStackPowerPortName specifies a + unique name of the stack power port as shown on the face plate + of the system."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.7"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortLinkStatus { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortLinkStatus"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortName"; + } + } + } + } + + notification cswStackPowerPortOperStatusChanged { + description + "This notification is generated when the operational status of a + stack power port is changed from enabled to disabled or from + disabled to enabled. This notification is for informational + purposes only and no action is required. cswSwitchNumCurrent + indicates the switch number of the system. + cswStackPowerPortOperStatus indicates operational status + of the stack power ports. cswStackPowerPortName specifies + a unique name of the stack power port as shown on the face + plate of the system."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.8"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortOperStatus { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortOperStatus"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortName"; + } + } + } + } + + notification cswStackPowerVersionMismatch { + description + "This notification is generated when the major version of the + stack power protocol is different from the other members of the + power stack. Upon receiving this notification, the user should + make sure that he/she is using the same software version on all + the members of the same power stack. cswSwitchNumCurrent + indicates the switch number of the system seeing the power + stack version mismatch."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.9"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerInvalidTopology { + description + "This notification is generated when an invalid stack power + topology is discovered by a switch. cswSwitchNumCurrent + indicates the switch number of the system where the invalid + topology is discovered."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.10"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cscwStackPowerBudgetWarrning { + description + "This notification is generated when the switch power budget is + more than 1000W above its power supplies rated power output. + cswSwitchNumCurrent indicates the switch number of the system + where the invalid power budget has been detected."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.11"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerInvalidInputCurrent { + description + "This notification is generated when the input current in the + stack power cable is over the limit of the threshold retrieved + by the agent through cswStackPowerPortOverCurrentThreshold + object. Upon receiving this notification, the user should add a + power supply to the system whose switch number is generated + with this notification. cswSwitchNumCurrent + indicates the switch number of the system. + cswStackPowerPortOverCurrentThreshold indicates the over current + threshold of power stack cables. cswStackPowerPortName specifies + a unique name of the stack power port as shown on the face + plate of the system."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.12"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortOverCurrentThreshold { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortOverCurrentThreshold"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortName"; + } + } + } + } + + notification cswStackPowerInvalidOutputCurrent { + description + "This notification is generated when the output current in the + stack power cable is over the limit of the threshold retrieved + by the agent through cswStackPowerPortOverCurrentThreshold + object. Upon receiving this notification, the user should + remove a power supply from the system whose switch number is + generated with this notification. cswSwitchNumCurrent + indicates the switch number of the system. + cswStackPowerPortOverCurrentThreshold indicates the over current + threshold of power stack cables. cswStackPowerPortName specifies + a unique name of the stack power port as shown on the face + plate of the system."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.13"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortOverCurrentThreshold { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortOverCurrentThreshold"; + } + } + } + + container object-3 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswStackPowerPortIndex { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortIndex"; + } + } + + leaf cswStackPowerPortName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerPortInfoTable/CISCO-STACKWISE-MIB:cswStackPowerPortInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerPortName"; + } + } + } + } + + notification cswStackPowerUnderBudget { + description + "This notification is generated when the switch's budget is less + than maximum possible switch power consumption. + cswSwitchNumCurrent indicates the switch number of the system + that is running with the power budget less than the power + consumption."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.14"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerUnbalancedPowerSupplies { + description + "This notification is generated when the switch has no power + supply but another switch in the same stack has more than one + power supplies. cswStackPowerName specifies a unique name of the + power stack where the unbalanced power supplies are detected."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.15"; + + container object-1 { + + leaf cswStackPowerStackNumber { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerStackNumber"; + } + } + + leaf cswStackPowerName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerName"; + } + } + } + } + + notification cswStackPowerInsufficientPower { + description + "This notification is generated when the switch's power stack + does not have enough power to bring up all the switches in the + power stack. cswStackPowerName specifies a unique name of the + power stack where insufficient power condition is detected."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.16"; + + container object-1 { + + leaf cswStackPowerStackNumber { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerStackNumber"; + } + } + + leaf cswStackPowerName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerName"; + } + } + } + } + + notification cswStackPowerPriorityConflict { + description + "This notification is generated when the switch's power + priorities are conflicting with power priorities of another + switch in the same power stack. cswStackPowerPortName specifies + the unique name of the power stack where the conflicting power + priorities are detected."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.17"; + + container object-1 { + + leaf cswStackPowerStackNumber { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerStackNumber"; + } + } + + leaf cswStackPowerName { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswStackPowerInfoTable/CISCO-STACKWISE-MIB:cswStackPowerInfoEntry/CISCO-STACKWISE-MIB:cswStackPowerName"; + } + } + } + } + + notification cswStackPowerUnderVoltage { + description + "This notification is generated when the switch had an under + voltage condition on last boot up. cswSwitchNumCurrent + indicates the switch number of the system that was forced + down with the under voltage condition."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.18"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerGLS { + description + "This notification is generated when the switch had to shed + loads based on a sustained over load (SOC) condition. + cswSwitchNumCurrent indicates the switch number of the system + that goes through graceful load shedding."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.19"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerILS { + description + "This notification is generated when the switch had to shed + loads based on power supply fail condition. cswSwitchNumCurrent + indicates the switch number of the system that goes through + immediate load shedding."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.20"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerSRLS { + description + "This notification is generated when the switch had to shed + loads based on loss of a system in ring topology. + cswSwitchNumCurrent indicates the switch number of the system + that detects the loss of system in ring topology."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.21"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackPowerSSLS { + description + "This notification is generated when the switch had to shed + loads based on loss of a system in star topology. + cswSwitchNumCurrent indicates the switch number of the system + that detects the loss of system in star topology."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.22"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + notification cswStackMemberToBeReloadedForUpgrade { + description + "This notification is generated when a member is to be reloaded + for upgrade."; + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0.23"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf cswSwitchNumCurrent { + type leafref { + path "/CISCO-STACKWISE-MIB:CISCO-STACKWISE-MIB/CISCO-STACKWISE-MIB:cswSwitchInfoTable/CISCO-STACKWISE-MIB:cswSwitchInfoEntry/CISCO-STACKWISE-MIB:cswSwitchNumCurrent"; + } + } + } + } + + smiv2:alias "ciscoStackWiseMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.500"; + } + + smiv2:alias "ciscoStackWiseMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.500.0"; + } + + smiv2:alias "cswMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.500.0.0"; + } + + smiv2:alias "ciscoStackWiseMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.500.1"; + } + + smiv2:alias "cswGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.500.1.1"; + } + + smiv2:alias "cswStackInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.500.1.2"; + } + + smiv2:alias "cswStackPowerInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.500.1.3"; + } + + smiv2:alias "ciscoStackWiseMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.500.2"; + } + + smiv2:alias "cswStackWiseMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.500.2.1"; + } + + smiv2:alias "cswStackWiseMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.500.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-STP-EXTENSIONS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-STP-EXTENSIONS-MIB.yang new file mode 100644 index 000000000..87846ff58 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-STP-EXTENSIONS-MIB.yang @@ -0,0 +1,3533 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-STP-EXTENSIONS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-STP-EXTENSIONS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-STP-EXTENSIONS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB"; + prefix CISCO-STP-EXTENSIONS-MIB; + + import BRIDGE-MIB { + prefix "bridge-mib"; + } + + import CISCO-VTP-MIB { + prefix "cisco-vtp"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-wbu@cisco.com"; + + description + "The MIB module for managing Cisco extensions to + the 802.1D Spanning Tree Protocol (STP)."; + + revision 2013-03-07 { + description + "Added one new value network(5) to stpxFastStartPortMode."; + } + + revision 2005-12-20 { + description + "Added bit value rstp(5) to stpxSMSTPortStatus and + dispute(4) to stpxRPVSTPortStatus."; + } + + revision 2005-04-12 { + description + "Changed the description clauses of stpxMSTMaxHopCount + and stpxMSTInstanceRemainingHopCount. + Added StpxMSTConfigurationDigest textual convention. + Deprecated stpxMSTGroup3 and added the following groups: + stpxRSTPTransmitHoldCountGroup, + stpxSMSTPortMSTModeGroup, stpxSMSTMaxHopCountGroup, + stpxSMSTConfigDigestGroup and stpxMSTGroup4. + Added bit dispute(4) into the BITS syntax of + stpxSMSTPortStatus. + Deprecated stpxMIBCompliance11 and added + stpxMIBCompliance12."; + } + + revision 2004-07-21 { + description + "Added stpxPathCostOperModeGroup + and changed the decription of + stpxSpanningTreePathCostMode."; + } + + revision 2004-04-08 { + description + "Added stpxSMSTInstanceCISTGroup. + Added 3 new bit values into the BITS syntax + of stpxNotificationEnable: + inconsistency(2), rootInconsistency(3), + and loopInconsistency(4)."; + } + + revision 2004-01-14 { + description + "Deprecated stpxMSTGroup2 and + stpxPreferredMSTInstancesGroup. + Added stpxMSTGroup3, stpxSMSTGroup, + stpxSMSTInstanceGroup, stpxSMSTInstanceEditGroup, + stpxSMSTPortStatusGroup, stpxSMSTPortHelloTimeGroup. + Added one new value master(7) to stpxMSTPortRoleValue + and stpxRSTPPortRoleValue. Added 2 new unused bit + value into the BITS syntax of stpxRPVSTPortStatus."; + } + + revision 2003-10-23 { + description + "Added stpxExtendedSysIDGroup, + stpxNotificationEnableGroup, and + stpxFastStartOperModeGroup."; + } + + revision 2002-07-11 { + description + "Added Rapid Spanning Tree Protocol support. + Added stpxUplinkFastOperEnabled and + stpxBackboneFastOperEnabled objects. + Replaced stpxMSTPortAdminLinkType, + stpxMSTPortOperLinkType, + stpxMSTPortProtocolMigration + with stpxRSTPPortAdminLinkType, + stpxRSTPPortOperLinkType and + stpxRSTPPortProtocolMigration + defined in stpxRSTPPortTable. + Replaced stpxMSTPortRoleTable with + stpxRSTPPortRoleTable. Added stpxRPVSTPortTable."; + } + + revision 2001-12-06 { + description + "Added per port Bpdu Guard and Bpdu Filter + mode configuration support. Modified the + description of stpxUplinkFastEnabled and + stpxUplinkStationLearningGenRate for MST + support. "; + } + + revision 2001-09-14 { + description + "Added MST support, Loop Guard Global Default mode + support and Fast Start Global Default mode support. + Deprecated stpxFastStartPortEnable and + stpxLoopGuardConfigEnabled objects. Changed description + of stpxUplinkFastEnabled, stpxUplinkFastTransitions, + stpxUplinkStationLearningGenRate, + stpxUplinkStationLearningFrames objects for MST support."; + } + + revision 2001-06-20 { + description + "Added BPDU Skewing feature support and modified + the SYNTAX clause of stpxUplinkStationLearningGenRate."; + } + + revision 2001-04-12 { + description + "Added PVST+ VLAN Configuration, MISTP to VLAN mapping, + Loopguard, and Port Fast Start support."; + } + + revision 2000-05-23 { + description + "Added Long Spanning Tree Path Cost Mode support."; + } + + revision 2000-03-21 { + description + "Added Rootguard, 4k VLAN and MISTP support."; + } + + revision 1997-11-10 { + description + "Additional objects to support SSTP."; + } + + revision 1997-08-19 { + description + "Initial version of this MIB module."; + } + + typedef StpxMSTConfigurationDigest { + type string; + description + "Represents an MST configuration digest."; + smiv2:display-hint "1x"; + } + + + container CISCO-STP-EXTENSIONS-MIB { + config false; + + container stpxUplinkFastObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1"; + + leaf stpxUplinkFastEnabled { + type boolean; + description + "An indication of whether the UplinkFast capability is + administratively enabled on the device. + + If the platform does not support configuration of this + object when the object value of stpxSpanningTreeType is + mst(4), then this object is not instantiated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1.1"; + } + + leaf stpxUplinkFastTransitions { + type yang:counter32; + units "transitions"; + description + "The cumulative number of UplinkFast transitions (from + the STP 'Blocking' state directly to the STP 'Forwarding' + state). All transitions are included in this counter, + irrespective of the instance of the Spanning Tree + Protocol on which they occur. + + If the platform supports the stpxUplinkFastOperEnabled + object, then this object is not instantiated when the + object value of stpxUplinkFastOperEnabled is false(2). + If the platform does not support the + stpxUplinkFastOperEnabled object, then this object is + not instantiated when the object value of + stpxSpanningTreeType is mst(4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1.2"; + } + + leaf stpxUplinkStationLearningGenRate { + type int32 { + range "0..32000"; + } + units "frames"; + description + "The maximum number of station-learning frames that this + device will generate in each 100 milli-second period after + a UplinkFast transition. By configuring this object, the + network administrator can limit the rate at which + station-learning frames are generated. + + If the platform does not support configuration of this + object when the object value of stpxSpanningTreeType is + mst(4), then this object is not instantiated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1.3"; + } + + leaf stpxUplinkStationLearningFrames { + type yang:counter32; + units "frames"; + description + "The cumulative number of station-learning frames generated + due to UplinkFast transitions. All generated + station-learning frames are included in this counter, + irrespective of the instance of the Spanning Tree Protocol + on which the UplinkFast transition occurred. + + If the platform supports the stpxUplinkFastOperEnabled + object, then this object is not instantiated when the + object value of stpxUplinkFastOperEnabled is false(2). + If the platform does not support the + stpxUplinkFastOperEnabled object, then this object is + not instantiated when the object value of + stpxSpanningTreeType is mst(4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1.4"; + } + + leaf stpxUplinkFastOperEnabled { + type boolean; + description + "An indication of whether the UplinkFast capability is + operationally enabled on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1.5"; + } + } + + container stpxBackboneFastObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4"; + + leaf stpxBackboneFastEnabled { + type boolean; + description + "An indication of whether the BackboneFast capability is + administratively enabled on the device."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.1"; + } + + leaf stpxBackboneFastInInferiorBPDUs { + type yang:counter32; + description + "The number of inferior BPDUs received by the switch + since the stpxBackboneFastOperEnabled has + become true(1). If the value of + stpxBackboneFastOperEnabled is false(2), then this + mib object will have a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.2"; + } + + leaf stpxBackboneFastInRLQRequestPDUs { + type yang:counter32; + description + "The number of Root Link Query request PDUs received by the + switch since the stpxBackboneFastOperEnabled has become + true(1). If the value of stpxBackboneFastOperEnabled is + false(2), then this mib object will have a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.3"; + } + + leaf stpxBackboneFastInRLQResponsePDUs { + type yang:counter32; + description + "The number of Root Link Query response PDUs received by the + switch since the stpxBackboneFastOperEnabled has become + true(1). If the value of stpxBackboneFastOperEnabled is + false(2), then this mib object will have a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.4"; + } + + leaf stpxBackboneFastOutRLQRequestPDUs { + type yang:counter32; + description + "The number of Root Link Query request PDUs transmitted by + the switch since the stpxBackboneFastOperEnabled has become + true(1). If the value of stpxBackboneFastOperEnabled is + false(2), then this mib object will have a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.5"; + } + + leaf stpxBackboneFastOutRLQResponsePDUs { + type yang:counter32; + description + "The number of Root Link Query response PDUs transmitted by + the switch since the stpxBackboneFastOperEnabled has become + true(1). If the value of stpxBackboneFastOperEnabled is + false(2), then this mib object will have a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.6"; + } + + leaf stpxBackboneFastOperEnabled { + type boolean; + description + "An indication of whether the BackboneFast capability is + operationally enabled on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4.7"; + } + } + + container stpxSpanningTreeObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6"; + + leaf stpxSpanningTreeType { + type enumeration { + enum "pvstPlus" { + value "1"; + } + enum "mistp" { + value "2"; + } + enum "mistpPvstPlus" { + value "3"; + } + enum "mst" { + value "4"; + } + enum "rapidPvstPlus" { + value "5"; + } + } + description + "The actual mode of spanning tree protocol runs + on the device. It can be one of the following: + + pvstPlus -- PVST+ (Per VLAN Spanning Tree+ Protocol). + + mistp -- MISTP (Multi Instance Spanning Tree Protocol). + + mistpPvstPlus -- MISTP with the tunneling scheme + enabled for PVST+. + + mst -- IEEE 802.1s Multiple Spanning Tree (MST) + with IEEE 802.1w Rapid Spanning Tree Protocol + (RSTP). + + rapidPvstPlus -- IEEE 802.1w Rapid Spanning Tree + Protocol (RSTP) for all vlans in PVST+. + + When the value of this MIB object gets changed, the + network connectivity would be affected and the + connectivity to this device would also be lost + temporarily."; + smiv2:defval "pvstPlus"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.1"; + } + + leaf stpxSpanningTreePathCostMode { + type enumeration { + enum "short" { + value "1"; + } + enum "long" { + value "2"; + } + } + description + "Indicates the administrative spanning tree path cost mode + configured on device."; + smiv2:defval "short"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.2"; + } + + leaf stpxExtendedSysIDAdminEnabled { + type boolean; + description + "Indicates whether Extended System ID feature + is administratively enabled on the device or not."; + reference + "IEEE 802.1t."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.4"; + } + + leaf stpxExtendedSysIDOperEnabled { + type boolean; + description + "Indicates whether Extended System ID feature + is operationaly enabled on the device or not. + + If the value of this object is true(1), then + the accepted values for dot1dStpPriority + in BRIDGE-MIB should be multiples of 4096 plus + bridge instance ID, such as VlanIndex. Changing + this object value might cause the values of + dot1dBaseBridgeAddress and dot1dStpPriority + in BRIDGE-MIB to be changed also."; + reference + "IEEE 802.1t."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.5"; + } + + leaf stpxNotificationEnable { + type bits { + bit newRoot { + position "0"; + } + bit topologyChange { + position "1"; + } + bit inconsistency { + position "2"; + } + bit rootInconsistency { + position "3"; + } + bit loopInconsistency { + position "4"; + } + } + description + "Indicates whether a specified notification is enabled or not. + If a bit corresponding to a notification is set to 1, then + the specified notification can be generated. + + newRoot -- the newRoot notification as defined in BRIDGE-MIB. + + topologyChange -- the topologyChange notification as + defined in BRIDGE-MIB. + + inconsistency -- the stpxInconsistencyUpdate notification. + + rootInconsistency -- the stpxRootInconsistencyUpdate + notification. + + loopInconsistency -- the stpxLoopInconsistencyUpdate + notification."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.6"; + } + + leaf stpxSpanningTreePathCostOperMode { + type enumeration { + enum "short" { + value "1"; + } + enum "long" { + value "2"; + } + } + description + "Indicate the operational spanning tree path cost mode + on device. This mode applies to all instances of the Spanning + Tree protocol running on the device. + + When the value of this MIB object gets changed, the path cost + of all ports will be reassigned to the default path cost + values based on the new spanning tree path cost mode and the + ports' speed. + + When the value of this MIB object is long(2), + the stpxLongStpPortPathCost MIB object must be used in order + to retrieve/configure the spanning tree port path cost as a + 32 bits value. The set operation on dot1dStpPortPathCost in + BRIDGE-MIB will be rejected. While retrieving the value of + dot1dStpPortPathCost, the maximum value of 65535 will be + returned if the value of stpxLongStpPortPathCost for the same + instance exceeds 65535. + + When the value of this MIB object is short(1), + the dot1dStpPortPathCost in BRIDGE-MIB must be used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.7"; + } + } + + container stpxMISTPObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7"; + + leaf stpxMISTPInstanceNumber { + type int32 { + range "1..256"; + } + description + "The number of MISTP instances, that are supported by the device + when the value of stpxSpanningTreeType is either mistp(2) + or mistpPvstPlus(3)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.1"; + } + } + + container stpxLoopGuardObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8"; + + leaf stpxLoopGuardGlobalDefaultMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + } + description + "Indicates the global default config mode of LoopGuard + feature on the device."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.3"; + } + } + + container stpxFastStartObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9"; + + leaf stpxFastStartBpduGuardEnable { + type boolean; + description + "Indicates the global default mode of the Bpdu + Guard feature on the device. + + On platforms that does not support per port + Bpdu Guard configuration as indicated by + the object stpxFastStartPortBpduGuardMode, + if the value of this object is set to true(1), + and the Fast Start Feature is operationally + enabled on a port, then that port will be + immediately disabled when the system receives + a BPDU from that port."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.1"; + } + + leaf stpxFastStartBpduFilterEnable { + type boolean; + description + "Indicates the global default mode of the Bpdu + Filter feature on the device. + + On platforms that does not support per port + Bpdu Filter configuration as indicated by + the object stpxFastStartPortBpduFilterMode, + if the value of this object is set to true(1), + and the Fast Start Feature is operationally + enabled on a port, then no BPDUs will be + transmitted on this port."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.2"; + } + + leaf stpxFastStartGlobalDefaultMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + } + description + "Indicates the global default mode of the Fast + Start feature on the device."; + smiv2:defval "disable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.4"; + } + } + + container stpxBpduSkewingObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10"; + + leaf stpxBpduSkewingDetectionEnable { + type boolean; + description + "Indicates whether BPDU skewing detection feature + is enabled or not on the system. If this object has + the value of true(1), then the system will detect + whether BPDUs received by any port on any Spanning + Tree instance are processed at an interval longer + than the object value of dot1dStpHelloTime in the + BIRDGE-MIB of the Spanning Tree instance."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.1"; + } + } + + container stpxMSTObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11"; + + leaf stpxMSTMaxInstanceNumber { + type int32 { + range "1..256"; + } + status deprecated; + description + "The maximum MST (Multiple Spanning Tree) instance id, + that can be supported by the device for Cisco proprietary + implementation of the MST Protocol. + + This object is deprecated and replaced by + stpxSMSTMaxInstanceID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.1"; + } + + leaf stpxMSTRegionName { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The operational MST region name."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.2"; + } + + leaf stpxMSTRegionRevision { + type int32 { + range "0..65535"; + } + status deprecated; + description + "The operational MST region version. + + This object is deprecated and replaced by + stpxSMSTRegionRevision."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.3"; + } + + leaf stpxMSTRegionEditBufferStatus { + type enumeration { + enum "released" { + value "1"; + } + enum "acquiredBySnmp" { + value "2"; + } + enum "acquiredByNonSnmp" { + value "3"; + } + } + description + "Indicates the current ownership status of the unique + Region Config Edit Buffer. + + released -- the Edit Buffer can be acquired by any of + the SNMP management stations. + + acquiredBySnmp -- the Edit Buffer is acquired by + any of the SNMP management stations. + + acquiredByNonSnmp -- the Edit Buffer is acquired by the + non-SNMP users managing the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.5"; + } + + leaf stpxMSTRegionEditBufferOperation { + type enumeration { + enum "other" { + value "1"; + } + enum "acquire" { + value "2"; + } + enum "releaseWithForce" { + value "3"; + } + enum "commit" { + value "4"; + } + enum "rollBack" { + value "5"; + } + } + description + "Indicates the operation that is performed on the Region + Config Edit Buffer. + + other -- none of the following operations. + + acquire -- acquire the Edit Buffer. This operation can + only be performed when the object + stpxMSTRegionEditBufferStatus has the value of + released(1). After the successful operation of + this action, the stpxMSTRegionEditBufferStatus + will be changed to acquiredBySnmp(2). + + releaseWithForce -- release the Edit Buffer acquired by + non-SNMP users with force and discard the changes + in the Edit Buffer. This operation can only be + performed when the object + stpxMSTRegionEditBufferStatus has the value of + acquiredByNonSnmp(2). + + commit -- commit the changes in the Edit Buffer + and release the Edit Buffer. The successful + operation of this action will make the changes + in the Edit Buffer effective on the device. + This operation can only be performed when the + object stpxMSTRegionEditBufferStatus has the + value of acquiredBySnmp(3). + + rollBack -- discard the changes in the Edit Buffer + and release the Edit Buffer. This operation can + only be performed when the object + stpxMSTRegionEditBufferStatus has the value + of acquiredBySnmp(3). + + This object always returns other(1) when it is read."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.6"; + } + + leaf stpxMSTRegionEditName { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The MST region name in the Edit Buffer. + + This object is only instantiated when the + stpxMSTRegionEditBufferStatus has the value of + acquiredBySnmp(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.7"; + } + + leaf stpxMSTRegionEditRevision { + type int32 { + range "1..65535"; + } + status deprecated; + description + "The MST region version in the Edit Buffer. This object is + only instantiated when the stpxMSTRegionEditBufferStatus + has the value of acquiredBySnmp(2). + + This object is deprecated and replaced by + stpxSMSTRegionEditRevision."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.8"; + } + + leaf stpxMSTMaxHopCount { + type int32 { + range "1..40"; + } + status deprecated; + description + "The maximum number of hops for the MST region. + + This object will take on value of 40 if the object value + of stpxSMSTMaxHopCount is greater than 40. + + This object is deprecated and replaced by + stpxSMSTMaxHopCount."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.13"; + } + } + + container stpxRSTPObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12"; + + leaf stpxRSTPTransmitHoldCount { + type uint32; + description + "The Transmit Hold Count."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.3"; + } + } + + container stpxSMSTObjects { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14"; + + leaf stpxSMSTMaxInstances { + type uint32; + description + "The maximum number of MST instances that can be + supported by the device for IEEE MST."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.1"; + } + + leaf stpxSMSTMaxInstanceID { + type uint32; + description + "The maximum MST instance ID that can be supported + by the device for IEEE MST."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.2"; + } + + leaf stpxSMSTRegionRevision { + type uint32; + description + "The operational region version for IEEE MST."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.3"; + } + + leaf stpxSMSTRegionEditRevision { + type uint32; + description + "The MST region version in the Edit Buffer for IEEE + MST. + + This object is only instantiated when the + stpxMSTRegionEditBufferStatus has the value of + acquiredBySnmp(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.4"; + } + + leaf stpxSMSTMaxHopCount { + type uint32; + description + "The maximum number of hops for the IEEE MST region."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.8"; + } + + leaf stpxSMSTConfigDigest { + type CISCO-STP-EXTENSIONS-MIB:StpxMSTConfigurationDigest; + description + "The IEEE MST region configuration digest."; + reference + "IEEE 802.1Q-2003 Section 13.7."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.9"; + } + + leaf stpxSMSTConfigPreStandardDigest { + type CISCO-STP-EXTENSIONS-MIB:StpxMSTConfigurationDigest; + description + "The pre-standard MST region configuration digest."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.10"; + } + } + + container stpxPVSTVlanTable { + description + "A list of Virtual LAN entries containing + information for Spanning Tree PVST+ protocol. + An entry will exist for each VLAN existing on + the device."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.2"; + + list stpxPVSTVlanEntry { + key "stpxPVSTVlanIndex"; + description + "An entry containing Spanning Tree PVST+ Protocol + information for a particular Virtual LAN."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.2.1"; + + leaf stpxPVSTVlanIndex { + type cisco-vtp:VlanIndex; + description + "An index value that uniquely identifies the + Virtual LAN associated with this information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.2.1.1"; + } + + leaf stpxPVSTVlanEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + enum "notApplicable" { + value "3"; + } + } + description + "Indicates whether Spanning Tree PVST+ + Protocol is enabled for this Virtual LAN. If + Spanning Tree PVST+ Protocol is not supported + on this VLAN, then notApplicable(3) will be + returned while retrieving the object value for + this VLAN. + + If the device only supports a single global + Spanning Tree PVST+ Protocol enable/disable + for all the existing VLANs, then the object + value assigned to this VLAN will be applied + to the object values of all the instances + in this table which do not have the value + of notApplicable(3). + + If the value of stpxSpanningTreeType is neither + pvstPlus(1) nor rapidPvstPlus(5), then the value + of stpxPVSTVlanEnable for this VLAN can not be + changed."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.2.1.2"; + } + } + } + + container stpxInconsistencyTable { + description + "A table containing a list of the ports for which + a particular VLAN's Spanning Tree has been found to + have an inconsistency. Two types of inconsistency + are discovered: 1) an inconsistency where two different + port types have been plugged together; and 2) an + inconsistency where different switches have different + PVIDs for the same link."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3.1"; + + list stpxInconsistencyEntry { + key "stpxVlanIndex stpxPortIndex"; + description + "A VLAN on a particular port for which a Spanning Tree + inconsistency is currently in effect."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3.1.1"; + + leaf stpxVlanIndex { + type cisco-vtp:VlanIndex; + description + "The VLAN id of the VLAN."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3.1.1.1"; + } + + leaf stpxPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3.1.1.2"; + } + + leaf stpxInconsistentState { + type bits { + bit typeInconsistent { + position "0"; + } + bit pvidInconsistent { + position "1"; + } + } + description + "The types of inconsistency which have been discovered on + this port for this VLAN's Spanning Tree. + + When this object exists, the value of the corresponding + instance of the Bridge MIB's dot1dStpPortState object will + be 'broken(6)'."; + reference + "dot1dStpPortState is defined in RFC-1493."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3.1.1.3"; + } + } + } + + container stpxRootGuardConfigTable { + description + "A table containing a list of the bridge ports for which + Spanning Tree RootGuard capability can be configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.1"; + + list stpxRootGuardConfigEntry { + key "stpxRootGuardConfigPortIndex"; + description + "A bridge port for which Spanning Tree RootGuard + capability can be configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.1.1"; + + leaf stpxRootGuardConfigPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.1.1.1"; + } + + leaf stpxRootGuardConfigEnabled { + type boolean; + description + "An indication of whether the RootGuard capability is + enabled on this port or not. This configuration will be + applied to all Spanning Tree instances in which this port + exists."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.1.1.2"; + } + } + } + + container stpxRootInconsistencyTable { + description + "A table containing a list of the bridge ports for which + a particular Spanning Tree instance has been found + to have an root-inconsistency. The agent creates a new + entry in this table whenever it detects a new + root-inconsistency, and deletes entries + when/soon after the inconsistency is no longer present."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.2"; + + list stpxRootInconsistencyEntry { + key "stpxRootInconsistencyIndex stpxRootInconsistencyPortIndex"; + description + "A Spanning Tree instance on a particular port for + which a Spanning Tree root-inconsistency is currently + in effect."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.2.1"; + + leaf stpxRootInconsistencyIndex { + type int32 { + range "0..65535"; + } + description + "The Spanning Tree instance id, such as the VLAN id + of the VLAN if the object value of stpxSpanningTreeType + is pvstPlus(1) or rapidPvstPlus(5)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.2.1.1"; + } + + leaf stpxRootInconsistencyPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.2.1.2"; + } + + leaf stpxRootInconsistencyState { + type boolean; + description + "Indicates whether the port on a particular Spanning + Tree instance is currently in root-inconsistent + state or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5.2.1.3"; + } + } + } + + container stpxMISTPInstanceTable { + description + "This table contains one entry for each instance of MISTP and + it contains stpxMISTPInstanceNumber entries, numbered from 1 + to stpxMISTPInstanceNumber. + + This table is only instantiated when the value of + stpxSpanningTreeType is mistp(2) or mistpPvstPlus(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2"; + + list stpxMISTPInstanceEntry { + key "stpxMISTPInstanceIndex"; + description + "A conceptual row containing the status of the MISTP + instance."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1"; + + leaf stpxMISTPInstanceIndex { + type int32 { + range "1..256"; + } + description + "An arbitrary integer within the range from 1 to the value of + stpxMISTPInstanceNumber that uniquely identifies an instance."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.1"; + } + + leaf stpxMISTPInstanceEnable { + type boolean; + description + "This object indicates whether the MISTP protocol is currently + enabled on the MISTP instance. + + If this object is set to + 'true' - the MISTP protocol will run on this instance. + + 'false' - the MISTP protocol will stop running on this + instance."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.2"; + } + + leaf stpxMISTPInstanceVlansMapped { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN. The + first octet corresponds to VLANs with VlanIndex values + of 0 through 7; the second octet to VLANs 8 through + 15; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MISTP instance, + then the bit corresponding to that VLAN is set to '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.3"; + } + + leaf stpxMISTPInstanceVlansMapped2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 1024 through 2047. The + first octet corresponds to VLANs with VlanIndex values + of 1024 through 1031; the second octet to VLANs 1032 + through 1039; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MISTP instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is only instantiated on devices with + support for VlanIndex up to 4095."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.4"; + } + + leaf stpxMISTPInstanceVlansMapped3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 2048 through 3071. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 + through 2063; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MISTP instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is only instantiated on devices with + support for VlanIndex up to 4095."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.5"; + } + + leaf stpxMISTPInstanceVlansMapped4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 3072 through 4095. The + first octet corresponds to VLANs with VlanIndex values + of 3072 through 3079; the second octet to VLANs 3080 + through 3087; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MISTP instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is only instantiated on devices with + support for VlanIndex up to 4095."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.2.1.6"; + } + } + } + + container stpxLoopGuardConfigTable { + description + "A table containing a list of the bridge ports for which + Spanning Tree LoopGuard capability can be configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.1"; + + list stpxLoopGuardConfigEntry { + key "stpxLoopGuardConfigPortIndex"; + description + "A bridge port for which Spanning Tree LoopGuard + capability can be configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.1.1"; + + leaf stpxLoopGuardConfigPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.1.1.1"; + } + + leaf stpxLoopGuardConfigEnabled { + type boolean; + status deprecated; + description + "An indication of whether the LoopGuard capability is + enabled on this port or not. This configuration will be + applied to all the Spanning Tree instances in which this + port exists. + + In order to support additional Loop Guard config mode + (default) as defined in stpxLoopGuardConfigMode other + than enable (true(1)) or disable (false(2)) as defined + in this object, stpxLoopGuardConfigMode object needs to + be used. + + When the stpxLoopGuardConfigMode object has the value of + enable(1), the value of stpxLoopGuardConfigEnabled for + the same instance will be true(1). When the + stpxLoopGuardConfigMode object has the value of disable(2), + the value of stpxLoopGuardConfigEnabled for the same + instance will be false(2). When the stpxLoopGuardConfigMode + object has the value of default(3), the value of + stpxLoopGuardConfigEnabled for the same instance will + depend on the object value of + stpxLoopGuardGlobalDefaultMode."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.1.1.2"; + } + + leaf stpxLoopGuardConfigMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + enum "default" { + value "3"; + } + } + description + "Indicates the mode of Loop Guard Feature on this + port. This configuration will be applied to all + the Spanning Tree instances in which this port + exists. + + enable -- the Loop Guard feature is enabled on this + port. + + disable -- the Loop Guard feature is disabled on this + port. + + default -- whether the Loop Guard feature is enabled + or not on this port depends on the object + value of stpxLoopGuardGlobalDefaultMode."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.1.1.3"; + } + } + } + + container stpxLoopInconsistencyTable { + description + "A table containing a list of the bridge ports for which + a particular Spanning Tree instance has been found + to have a loop-inconsistency. The agent creates a new + entry in this table whenever it detects a new + loop-inconsistency, and deletes entries + when/soon after the inconsistency is no longer present."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.2"; + + list stpxLoopInconsistencyEntry { + key "stpxLoopInconsistencyIndex stpxLoopInconsistencyPortIndex"; + description + "A Spanning Tree instance on a particular port for + which a Spanning Tree loop-inconsistency is currently + in effect."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.2.1"; + + leaf stpxLoopInconsistencyIndex { + type int32 { + range "0..65535"; + } + description + "The Spanning Tree instance id, such as the VLAN id + of the VLAN if the object value of stpxSpanningTreeType + is pvstPlus(1) or rapidPvstPlus(5)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.2.1.1"; + } + + leaf stpxLoopInconsistencyPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.2.1.2"; + } + + leaf stpxLoopInconsistencyState { + type boolean; + description + "Indicates whether the port on a particular Spanning + Tree instance is currently in loop-inconsistent + state or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8.2.1.3"; + } + } + } + + container stpxFastStartPortTable { + description + "A table containing a list of the bridge ports for + which Spanning Tree Port Fast Start can be + configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3"; + + list stpxFastStartPortEntry { + key "stpxFastStartPortIndex"; + description + "A bridge port for which Spanning Tree Port Fast + Start can be configured."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1"; + + leaf stpxFastStartPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1.1"; + } + + leaf stpxFastStartPortEnable { + type boolean; + status deprecated; + description + "Indicates whether the port is operating in spantree + fast start mode. A port with fast start enabled is + immediately put in spanning tree forwarding state when + that port is detected by the Spanning Tree, rather + than starting in blocking state which is the normal + operation. + + In order to support additional Fast Start enable mode + (enableForTrunk and default) as defined in + stpxFastStartPortMode other than enable (true(1)) + or disable (false(2)) as defined in this object, + stpxFastStartPortMode object needs to be used. + + When the stpxFastStartPortMode has the value of + enable(1) or enableForTrunk(3), the value of + stpxFastStartPortEnable for the same instance + will be true(1). When the stpxFastStartPortMode + has the value of disable(2), the value of + stpxFastStartPortEnable for the same instance will be + false(2). When the stpxFastStartPortMode has the value + of default(4), the value of stpxFastStartPortEnable for + the same instance depends on the object value of + stpxFastStartGlobalDefaultMode."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1.2"; + } + + leaf stpxFastStartPortMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + enum "enableForTrunk" { + value "3"; + } + enum "default" { + value "4"; + } + enum "network" { + value "5"; + } + } + description + "Indicates the mode of Fast Start Feature on the + port. A port with fast start enabled is immediately + put in spanning tree forwarding state when the port + is detected by the Spanning Tree, rather than + starting in blocking state which is the normal + operation. + + enable -- the fast start feature is enabled on this + port but will only take effect when the + object value of its + vlanTrunkPortDynamicStatus as specified + in CISCO-VTP-MIB is notTrunking(2). + + disable -- the fast start feature is disabled on this + port. + + enableForTrunk -- the fast start feature is enabled + on this port and will take effect + regardless of the object value of + its vlanTrunkPortDynamicStatus. + + default -- whether the fast start feature is enabled + or not on this port depends on the object + value of stpxFastStartGlobalDefaultMode. + + network -- the fast start network mode is enabled on + this port."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1.3"; + } + + leaf stpxFastStartPortBpduGuardMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + enum "default" { + value "3"; + } + } + description + "Indicates the mode of Bpdu Guard Feature on the + port. A port with Bpdu Guard enabled is + immediately disabled when the system + receives a BPDU from that port. + + enable -- the Bpdu Guard feature is enabled on this + port. + + disable -- the Bpdu Guard feature is disabled on this + port. + + default -- whether the Bpdu Guard feature is enabled + or not on this port depends on the object + value of stpxFastStartBpduGuardEnable. If + the value of stpxFastStartBpduGuardEnable + is true(1) and Fast Start feature is also + enabled operationally on this port, then + this port is immediately disabled when + the system receives a BPDU from this port."; + smiv2:defval "default"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1.4"; + } + + leaf stpxFastStartPortBpduFilterMode { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + enum "default" { + value "3"; + } + } + description + "Indicates the mode of Bpdu Filter Feature on the + port. The system will not transmit BPDUs on a port + with Bpdu Filter feature enabled. + + enable -- the Bpdu Filter feature is enabled on this + port. + + disable -- the Bpdu Filter feature is disabled on this + port. + + default -- whether the Bpdu Filter feature is enabled + or not on this port depends on the object + value of stpxFastStartBpduFilterEnable. If + the value of stpxFastStartBpduFilterEnable + is true(1) and Fast Start feature is also + enabled operationally on this port, then + no BPDUs will be transmitted on this port."; + smiv2:defval "default"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.3.1.5"; + } + } + } + + container stpxFastStartOperModeTable { + description + "A table containing a list of the bridge ports + for a particular Spanning Tree Instance."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.5"; + + list stpxFastStartOperModeEntry { + key "stpxFastStartOperModeInstIndex stpxFastStartOperModePortIndex"; + description + "An entry with port fast start oper mode + information on a bridge port for a particular + Spanning Tree Instance."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.5.1"; + + leaf stpxFastStartOperModeInstIndex { + type int32 { + range "0..65535"; + } + description + "The Spanning Tree instance id, such as the VLAN id + of the VLAN if the object value of stpxSpanningTreeType + is pvstPlus(1)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.5.1.1"; + } + + leaf stpxFastStartOperModePortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.5.1.2"; + } + + leaf stpxFastStartOperMode { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates the fast start operational status of the + port on a particular Spanning Tree Instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9.5.1.3"; + } + } + } + + container stpxBpduSkewingTable { + description + "A table containing a list of the bridge ports for + which a particular Spanning Tree instance has been + detected to have BPDU skewing occurred since the + object value of stpxBpduSkewingDetectionEnable was + last changed to true(1). + + The agent creates a new entry in this table whenever + a port in a particular Spanning Tree instance is + detected to be BPDU skewed since the object value of + stpxBpduSkewingDetectionEnable object is changed to + true(1). The agent deletes all the entries in this + table when the object value of + stpxBpduSkewingDetectionEnable is changed to false(2) + or the object value of stpxSpanningTreeType is + changed."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2"; + + list stpxBpduSkewingEntry { + key "stpxBpduSkewingInstanceIndex stpxBpduSkewingPortIndex"; + description + "A Spanning Tree instance on a particular port for + which BPDU skewing has been detected."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1"; + + leaf stpxBpduSkewingInstanceIndex { + type int32 { + range "0..65535"; + } + description + "The Spanning Tree instance id, such as the VLAN id + of the VLAN if the object value of stpxSpanningTreeType + is pvstPlus(1)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1.1"; + } + + leaf stpxBpduSkewingPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1.2"; + } + + leaf stpxBpduSkewingLastSkewDuration { + type uint32; + units "milliseconds"; + description + "Indicates the skew duration in milliseconds of the + last BPDU skewing detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1.3"; + } + + leaf stpxBpduSkewingWorstSkewDuration { + type uint32; + units "milliseconds"; + description + "Indicates the skew duration in milliseconds of the + worst BPDU skewing detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1.4"; + } + + leaf stpxBpduSkewingWorstSkewTime { + type yang:timestamp; + description + "Indicates the value of sysUpTime when the worst + BPDU skewing was detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10.2.1.5"; + } + } + } + + container stpxMSTInstanceTable { + status deprecated; + description + "This table contains MST instance information with + one entry for an MST instance within the range of + 0 to the object value of stpxMSTMaxInstanceNumber. + + This table is deprecated and replaced by + stpxSMSTInstanceTable."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4"; + + list stpxMSTInstanceEntry { + key "stpxMSTInstanceIndex"; + status deprecated; + description + "A conceptual row containing the MST instance + information."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1"; + + leaf stpxMSTInstanceIndex { + type int32 { + range "0..256"; + } + status deprecated; + description + "An integer that uniquely identifies an MST instance + within the range of 0 to the object value of + stpxMSTMaxInstanceNumber. + + This object is deprecated and replaced by + stpxSMSTInstanceIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.1"; + } + + leaf stpxMSTInstanceVlansMapped { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN. The + first octet corresponds to VLANs with VlanIndex values + of 0 through 7; the second octet to VLANs 8 through + 15; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is deprecated and replaced by + stpxSMSTInstanceVlansMapped1k2k."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.2"; + } + + leaf stpxMSTInstanceVlansMapped2k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 1024 through 2047. The + first octet corresponds to VLANs with VlanIndex values + of 1024 through 1031; the second octet to VLANs 1032 + through 1039; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is deprecated and replaced by + stpxSMSTInstanceVlansMapped1k2k."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.3"; + } + + leaf stpxMSTInstanceVlansMapped3k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 2048 through 3071. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 + through 2063; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is deprecated and replaced by + stpxSMSTInstanceVlansMapped3k4k."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.4"; + } + + leaf stpxMSTInstanceVlansMapped4k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 3072 through 4095. The + first octet corresponds to VLANs with VlanIndex values + of 3072 through 3079; the second octet to VLANs 3080 + through 3087; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + + This object is deprecated and replaced by + stpxSMSTInstanceVlansMapped3k4k."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.5"; + } + + leaf stpxMSTInstanceRemainingHopCount { + type int32 { + range "0..40"; + } + status deprecated; + description + "The remaining hop count for this MST instance. + + This object will take on value of 40 if the object value + of stpxSMSTInstanceRemainingHopCount is greater than 40. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4). + + This object is deprecated and replaced by + stpxSMSTInstanceRemainingHopCount."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.4.1.6"; + } + } + } + + container stpxMSTInstanceEditTable { + status deprecated; + description + "This table contains MST instance information in the + Edit Buffer with one entry for each MST + instance numbered from 0 to stpxMSTMaxInstanceNumber. + + This table is only instantiated when the + stpxMSTRegionEditBufferStatus has the value of + acquiredBySnmp(2). + + This table is deprecated and replaced by + stpxSMSTInstanceEditTable."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9"; + + list stpxMSTInstanceEditEntry { + key "stpxMSTInstanceEditIndex"; + status deprecated; + description + "A conceptual row containing MST instance information + in the Edit Buffer."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1"; + + leaf stpxMSTInstanceEditIndex { + type int32 { + range "0..256"; + } + status deprecated; + description + "An integer that uniquely identifies an MST instance + from 0 to the object value of stpxMSTMaxInstanceNumber. + + The instances of this table entry with + stpxMSTInstanceEditIndex of zero can not be + modified. + + This object is deprecated and replaced by + stpxSMSTInstanceEditIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1.1"; + } + + leaf stpxMSTInstanceEditVlansMap { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN. The + first octet corresponds to VLANs with VlanIndex values + of 0 through 7; the second octet to VLANs 8 through + 15; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance in the range from 1 to stpxMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + MST instance 0 by the device. + + This object is deprecated and replaced by + stpxSMSTInstanceEditVlansMap1k2k."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1.2"; + } + + leaf stpxMSTInstanceEditVlansMap2k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 1024 through 2047. The + first octet corresponds to VLANs with VlanIndex values + of 1024 through 1031; the second octet to VLANs 1032 + through 1039; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance in the range from 1 to stpxMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + MST instance 0 by the device. + + This object is deprecated and replaced by + stpxSMSTInstanceEditVlansMap1k2k."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1.3"; + } + + leaf stpxMSTInstanceEditVlansMap3k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 2048 through 3071. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 + through 2063; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance in the range from 1 to stpxMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + MST instance 0 by the device. + + This object is deprecated and replaced by + stpxSMSTInstanceEditVlansMap3k4k."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1.4"; + } + + leaf stpxMSTInstanceEditVlansMap4k { + type binary { + length "0..128"; + } + status deprecated; + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 3072 through 4095. The + first octet corresponds to VLANs with VlanIndex values + of 3072 through 3079; the second octet to VLANs 3080 + through 3087; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance in the range from 1 to stpxMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + MST instance 0 by the device. + + This object is deprecated and replaced by + stpxSMSTInstanceEditVlansMap3k4k."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.9.1.5"; + } + } + } + + container stpxMSTPortTable { + status deprecated; + description + "A table containing port information for the MST + Protocol on all the bridge ports existing on the + system."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11"; + + list stpxMSTPortEntry { + key "stpxMSTPortIndex"; + status deprecated; + description + "An entry with port information for the MST Protocol + on a bridge port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1"; + + leaf stpxMSTPortIndex { + type int32 { + range "1..65535"; + } + status deprecated; + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1.1"; + } + + leaf stpxMSTPortAdminLinkType { + type enumeration { + enum "pointToPoint" { + value "1"; + } + enum "shared" { + value "2"; + } + enum "auto" { + value "3"; + } + } + status deprecated; + description + "Indicates the administrative link type configuration of + a bridge port for the MST protocol. + + pointToPoint -- the port is administratively configured to + be connected to a point-to-point link. + + shared -- the port is administratively configured to be + connected to a shared medium. + + auto -- the administrative configuration of the port's + link type depends on link duplex of the port. + If the port link is full-duplex, the administrative + link type configuration on this port will be taken + as pointTopoint(1). If the port link is half-duplex, + the administrative link type configuration on this + port will be taken as shared(2). + + This configuration of this object only takes effect when the + stpxSpanningTreeType is mst(4) or rapidPvstPlus(5). + stpxMSTPortAdminLinkType is deprecated and replaced + with stpxRSTPPortAdminLinkType."; + smiv2:defval "auto"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1.2"; + } + + leaf stpxMSTPortOperLinkType { + type enumeration { + enum "pointToPoint" { + value "1"; + } + enum "shared" { + value "2"; + } + enum "other" { + value "3"; + } + } + status deprecated; + description + "Indicates the operational link type of a bridge port + for the MST protocol. + + pointToPoint -- the port is operationally connected to + a point-to-point link. + + shared -- the port is operationally connected to + a shared medium. + + other -- none of the above. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4). stpxMSTPortOperLinkType + is deprecated and replaced with stpxRSTPPortOperLinkType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1.3"; + } + + leaf stpxMSTPortProtocolMigration { + type boolean; + status deprecated; + description + "The protocol migration control on this port. When the + object value of stpxSpanningTreeType is mst(4) or + rapidPvstPlus(5), setting true(1) to this object forces + the device to try using version 2 BPDUs on this port. + When the object value of stpxSpanningTreeType is neither + mst(4) nor rapidPvstPlus(5), setting true(1) to this + object has no effect. Setting false(2) to this object has + no effect. This object always returns false(2) when read. + stpxMSTPortProtocolMigration is deprecated and + replaced with stpxRSTPPortProtocolMigration."; + reference + "IEEE 802.1w clause 14.8.2.4, 17.26."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1.4"; + } + + leaf stpxMSTPortStatus { + type bits { + bit edge { + position "0"; + } + bit boundary { + position "1"; + } + bit pvst { + position "2"; + } + bit stp { + position "3"; + } + } + status deprecated; + description + "Indicates the operational status of the port for the + MST protocol. + + edge -- this port is an edge port for the MST region. + + boundary -- this port is a boundary port for the + MST region. + + pvst -- this port is connected to a PVST/PVST+ bridge. + + stp -- this port is connected to a Single Spanning + Tree bridge. + + This object is only instantiated when the object value + of stpxSpanningTreeType is mst(4). + + This object is deprecated and replaced by + stpxSMSTPortStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.11.1.5"; + } + } + } + + container stpxMSTPortRoleTable { + status deprecated; + description + "A table containing a list of the bridge ports for a + particular MST instance. This table is only instantiated + when the stpxSpanningTreeType is mst(4). + + This table is deprecated and replaced with + stpxRSTPPortRoleTable."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.12"; + + list stpxMSTPortRoleEntry { + key "stpxMSTPortRoleInstanceIndex stpxMSTPortRolePortIndex"; + status deprecated; + description + "An entry containing the port role information for the MST + protocol on a port for a particular MST instance existing + on the system."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.12.1"; + + leaf stpxMSTPortRoleInstanceIndex { + type int32 { + range "0..256"; + } + status deprecated; + description + "The MST instance id within the range of 0 to + stpxMSTMaxInstanceNumber."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.12.1.1"; + } + + leaf stpxMSTPortRolePortIndex { + type int32 { + range "1..65535"; + } + status deprecated; + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.12.1.2"; + } + + leaf stpxMSTPortRoleValue { + type enumeration { + enum "disabled" { + value "1"; + } + enum "root" { + value "2"; + } + enum "designated" { + value "3"; + } + enum "alternate" { + value "4"; + } + enum "backUp" { + value "5"; + } + enum "boundary" { + value "6"; + } + enum "master" { + value "7"; + } + } + status deprecated; + description + "Indicates the port role on a particular MST instance + for the MST protocol. + + disabled -- this port has no role on this MST instance. + + root -- this port has the role of root port on this MST + instance. + + designated -- this port has the role of designated + port on this MST instance. + + alternate -- this port has the role of alternate port + on this MST instance. + + backUp -- this port has the role of backup port on this + MST instance. + + boundary -- this port has the role of boundary port on + this MST instance. + + master -- this port has the role of master port on + this MST instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.12.1.3"; + } + } + } + + container stpxRSTPPortTable { + description + "A table containing port information for the RSTP + Protocol on all the bridge ports existing in the + system."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1"; + + list stpxRSTPPortEntry { + key "stpxRSTPPortIndex"; + description + "An entry with port information for the RSTP Protocol + on a bridge port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1.1"; + + leaf stpxRSTPPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1.1.1"; + } + + leaf stpxRSTPPortAdminLinkType { + type enumeration { + enum "pointToPoint" { + value "1"; + } + enum "shared" { + value "2"; + } + enum "auto" { + value "3"; + } + } + description + "Indicates the administrative link type configuration of + a bridge port for the RSTP protocol. + + pointToPoint -- the port is administratively configured to + be connected to a point-to-point link. + + shared -- the port is administratively configured to be + connected to a shared medium. + + auto -- the administrative configuration of the port's + link type depends on link duplex of the port. + If the port link is full-duplex, the administrative + link type configuration on this port will be taken + as pointTopoint(1). If the port link is half-duplex, + the administrative link type configuration on this + port will be taken as shared(2). + + This configuration of this object only takes effect when the + stpxSpanningTreeType is mst(4) or rapidPvstPlus(5)."; + smiv2:defval "auto"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1.1.2"; + } + + leaf stpxRSTPPortOperLinkType { + type enumeration { + enum "pointToPoint" { + value "1"; + } + enum "shared" { + value "2"; + } + enum "other" { + value "3"; + } + } + description + "Indicates the operational link type of a bridge port + for the RSTP protocol. + + pointToPoint -- the port is operationally connected to + a point-to-point link. + + shared -- the port is operationally connected to + a shared medium. + + other -- none of the above. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4) or rapidPvstPlus(5)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1.1.3"; + } + + leaf stpxRSTPPortProtocolMigration { + type boolean; + description + "The protocol migration control on this port. When the + object value of stpxSpanningTreeType is mst(4) or + rapidPvstPlus(5), setting true(1) to this object forces + the device to try using version 2 BPDUs on this port. + When the object value of stpxSpanningTreeType is neither + mst(4) nor rapidPvstPlus(5), setting true(1) to + this object has no effect. Setting false(2) to this + object has no effect. This object always returns + false(2) when read."; + reference + "IEEE 802.1w clause 14.8.2.4, 17.26."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.1.1.4"; + } + } + } + + container stpxRSTPPortRoleTable { + description + "A table containing a list of the bridge ports for a + particular Spanning Tree instance. This table is + only instantiated when the stpxSpanningTreeType is mst(4) + or rapidPvstPlus(5)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.2"; + + list stpxRSTPPortRoleEntry { + key "stpxRSTPPortRoleInstanceIndex stpxRSTPPortRolePortIndex"; + description + "An entry containing the port role information for the RSTP + protocol on a port for a particular Spanning Tree instance."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.2.1"; + + leaf stpxRSTPPortRoleInstanceIndex { + type int32 { + range "0..4095"; + } + description + "The Spanning Tree instance id, it can either be a + VLAN number if the stpxSpanningTreeType is rapidPvstPlus(5) + or an MST instance id if the stpxSpanningTreeType is mst(4)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.2.1.1"; + } + + leaf stpxRSTPPortRolePortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.2.1.2"; + } + + leaf stpxRSTPPortRoleValue { + type enumeration { + enum "disabled" { + value "1"; + } + enum "root" { + value "2"; + } + enum "designated" { + value "3"; + } + enum "alternate" { + value "4"; + } + enum "backUp" { + value "5"; + } + enum "boundary" { + value "6"; + } + enum "master" { + value "7"; + } + } + description + "Indicates the port role on a particular Spanning Tree + instance for the RSTP protocol. + + disabled -- this port has no role in this Spanning + Tree instance. + + root -- this port has the role of root port in this + Spanning Tree instance. + + designated -- this port has the role of designated + port in this Spanning Tree instance. + + alternate -- this port has the role of alternate port + in this Spanning Tree instance. + + backUp -- this port has the role of backup port in this + Spanning Tree instance. + + boundary -- this port has the role of boundary port in + this Spanning Tree instance. + + master -- this port has the role of master port in + this Spanning Tree instance. + + This object could have a value of 'boundary' or 'master' + only when the object value of stpxSpanningTreeType is mst(4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12.2.1.3"; + } + } + } + + container stpxRPVSTPortTable { + description + "A table containing a list of the bridge ports + for a particular Spanning Tree Instance. + This table is only instantiated when the object value + of stpxSpanningTreeType is rapidPvstPlus(5)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13.1"; + + list stpxRPVSTPortEntry { + key "stpxRPVSTPortVlanIndex stpxRPVSTPortIndex"; + description + "An entry with port status information on a + bridge port for a particular Spanning Tree + Instance."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13.1.1"; + + leaf stpxRPVSTPortVlanIndex { + type cisco-vtp:VlanIndex; + description + "The VLAN id of the VLAN."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13.1.1.1"; + } + + leaf stpxRPVSTPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13.1.1.2"; + } + + leaf stpxRPVSTPortStatus { + type bits { + bit edge { + position "0"; + } + bit unused1 { + position "1"; + } + bit unused2 { + position "2"; + } + bit stp { + position "3"; + } + bit dispute { + position "4"; + } + } + description + "Indicates the operational status of the port for the + Rapid PVST+ protocol. + + edge -- this port is an edge port for the RST region. + + unused1 -- unused bit 1. + + unused2 -- unused bit 2. + + stp -- this port is connected to a Single Spanning + Tree/PVST+ bridge. + + dispute -- this port, as a designated port, received an + inferior BPDU with a designated role and the + learning bit being set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13.1.1.3"; + } + } + } + + container stpxSMSTInstanceTable { + description + "This table contains MST instance information + for IEEE MST."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5"; + + list stpxSMSTInstanceEntry { + key "stpxSMSTInstanceIndex"; + description + "A conceptual row containing the MST instance + information for IEEE MST."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1"; + + leaf stpxSMSTInstanceIndex { + type uint32; + description + "The MST instance ID, the value of which is in the range + from 0 to stpxSMSTMaxInstanceID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.1"; + } + + leaf stpxSMSTInstanceVlansMapped1k2k { + type binary { + length "0..256"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 0 through 2047. The + first octet corresponds to VLANs with VlanIndex values + of 0 through 7; the second octet to VLANs 8 through + 15; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + If the length of this string is less than 256 octets, + any 'missing' octets are assumed to contain the value + of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.2"; + } + + leaf stpxSMSTInstanceVlansMapped3k4k { + type binary { + length "0..256"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 2048 through 4095. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 + through 2063; etc. The most significant bit of each + octet corresponds to the lowest value VlanIndex in that + octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to '1'. + If the length of this string is less than 256 octets, + any 'missing' octets are assumed to contain the value + of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.3"; + } + + leaf stpxSMSTInstanceRemainingHopCount { + type int32 { + range "-1..2147483647"; + } + description + "The remaining hop count for this MST instance. If this object + value is not applicable on an MST instance, then the value + retrieved for this object for that MST instance will be -1. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.4"; + } + + leaf stpxSMSTInstanceCISTRegionalRoot { + type binary { + length "8"; + } + description + "Indicates the Bridge Identifier (refer to BridgeId + defined in BRIDGE-MIB) of CIST (Common and Internal + Spanning Tree) Regional Root for the MST region. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4) and stpxSMSTInstanceIndex + is 0."; + reference + "IEEE 802.1S-2002: Section 13.9."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.5"; + } + + leaf stpxSMSTInstanceCISTIntRootCost { + type uint32; + description + "Indicates the CIST Internal Root Path Cost, i.e., the + path cost to the CIST Regional Root as specified by the + corresponding stpxSMSTInstanceCISTRegionalRoot for the + MST region. + + This object is only instantiated when the object value of + stpxSpanningTreeType is mst(4) and stpxSMSTInstanceIndex + is 0."; + reference + "IEEE 802.1S-2002: Section 13.9."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.5.1.6"; + } + } + } + + container stpxSMSTInstanceEditTable { + description + "This table contains MST instance information in the + Edit Buffer. + + This table is only instantiated when the object value + of stpxMSTRegionEditBufferStatus has the value of + acquiredBySnmp(2)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6"; + + list stpxSMSTInstanceEditEntry { + key "stpxSMSTInstanceEditIndex"; + description + "A conceptual row containing MST instance information + in the Edit Buffer. + + The total number of entries in this table has to be + less than or equal to the object value of stpxSMSTMaxInstances."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6.1"; + + leaf stpxSMSTInstanceEditIndex { + type uint32; + description + "The MST instance ID, the value of which is in the range from + 0 to stpxSMSTMaxInstanceID. + + The instances of this table entry with + stpxSMSTInstanceEditIndex of zero is automatically + created by the device and can not modified."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6.1.1"; + } + + leaf stpxSMSTInstanceEditVlansMap1k2k { + type binary { + length "0..256"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 0 through 2047. The + first octet corresponds to VLANs with VlanIndex values + of 0 through 7; the second octet to VLANs 8 through + 15; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance with the range from 0 to stpxSMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + SMST instance 0 by the device. If the bit corresponding + to a VLAN is changed from '0' to '1', then that VLAN will + be automatically removed from the MST instance this VLAN was + previously mapped to. If the length of this string is + less than 256 octets, any 'missing' octets are assumed to + contain the value of zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6.1.2"; + } + + leaf stpxSMSTInstanceEditVlansMap3k4k { + type binary { + length "0..256"; + } + description + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values of 2048 through 4095. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 through + 2063; etc. The most significant bit of each octet + corresponds to the lowest value VlanIndex in that octet. + + For each VLAN, if it is mapped to this MST instance, + then the bit corresponding to that VLAN is set to + '1'. Each VLAN can only be mapped to one unique MST + instance with the range from 0 to stpxSMSTMaxInstanceNumber. + If the bit corresponding to a VLAN is changed from '1' + to '0', then that VLAN will be automatically mapped to + SMST instance 0 by the device. If the bit corresponding + to a VLAN is changed from '0' to '1', then that VLAN will + be automatically removed from the MST instance this VLAN was + previously mapped to. If the length of this string is + less than 256 octets, any 'missing' octets are assumed to + contain the value of zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6.1.3"; + } + + leaf stpxSMSTInstanceEditRowStatus { + type snmpv2-tc:RowStatus; + description + "This object controls the creation and deletion of a row + in stpxSMSTInstanceEditTable. + + When creating an entry in this table, 'createAndGo' method + is used and the value of this object is set to 'active'. + Deactivation of an 'active' entry is not allowed. When + deleting an entry in this table, 'destroy' method is used. + Once a row becomes active, value in any other column + within such a row may be modified. When a row is active, + setting the instance of stpxSMSTInstanceEditVlansMap1k2k + stpxSMSTInstanceEditVlansMap3k4k for the same MST instance + both to the value of zero length can not be allowed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.6.1.4"; + } + } + } + + container stpxSMSTPortTable { + description + "A table containing port information for the MST + Protocol on all the bridge ports existing on the + system. + + This table is only instantiated when the object + value of stpxSpanningTreeType is mst(4)"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7"; + + list stpxSMSTPortEntry { + key "stpxSMSTPortIndex"; + description + "An entry with port information for the MST protocol + on a bridge port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1"; + + leaf stpxSMSTPortIndex { + type int32 { + range "1..65535"; + } + description + "The value of dot1dBasePort (i.e. dot1dBridge.1.4) + for the bridge port."; + reference + "dot1dBasePort is defined in RFC1493."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.1"; + } + + leaf stpxSMSTPortStatus { + type bits { + bit edge { + position "0"; + } + bit boundary { + position "1"; + } + bit pvst { + position "2"; + } + bit stp { + position "3"; + } + bit dispute { + position "4"; + } + bit rstp { + position "5"; + } + } + description + "Indicates the operational status of the port for the + MST protocol. + + edge -- this port is an edge port for the MST region. + + boundary -- this port is a boundary port for the + MST region. + + pvst -- this port is connected to a PVST/PVST+ bridge. + + stp -- this port is connected to a Single Spanning + Tree bridge. + + dispute -- this port, as a designated port, received an + inferior BPDU with a designated role and the + learning bit being set. + + rstp -- this port is connected to a RSTP bridge or an + MST bridge in a different MST region."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.2"; + } + + leaf stpxSMSTPortAdminHelloTime { + type uint32; + units "hundredth of seconds"; + description + "The adminitratively configured hello time in hundredth + of seconds on a port for IEEE MST. The granularity + of this timer is 1 second. An agent may return a badValue + error if a set is attempted to a value which is not a + whole number of seconds. This object value of zero + means the hello time is not specifically configured on + this port and object value of stpxSMSTPortConfigedHelloTime + retrieved for this port will take on the value of + dot1dStpBridgeHelloTime defined in BRIDGE-MIB."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.3"; + } + + leaf stpxSMSTPortConfigedHelloTime { + type uint32; + units "hundredth of seconds"; + description + "Indicates the effective configuration of the hello time on + a port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.4"; + } + + leaf stpxSMSTPortOperHelloTime { + type int32 { + range "-1..2147483647"; + } + units "hundredth of seconds"; + description + "The operational hello time in hundredth of seconds on a + port for IEEE MST. If this object value is not + applicable on a port, then the value retrieved on that + port will be -1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.5"; + } + + leaf stpxSMSTPortAdminMSTMode { + type enumeration { + enum "preStandard" { + value "1"; + } + enum "auto" { + value "2"; + } + } + description + "The desired MST mode of this port. + + preStandard -- this port is administratively configured to + transmit pre-standard, i.e. pre IEEE MST, BPDUs. + + auto -- the BPDU transmission mode of this port is based + on automatic detection of neighbor ports."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.6"; + } + + leaf stpxSMSTPortOperMSTMode { + type enumeration { + enum "unknown" { + value "1"; + } + enum "preStandard" { + value "2"; + } + enum "standard" { + value "3"; + } + } + description + "Indicates the current operational MST mode of this port. + + unknown -- the operational mode is currently unknown. + + preStandard -- this port is currently operating in + pre-standard MSTP BPDU transmission mode. + + standard -- this port is currently operating in IEEE MST + BPDU transmission mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14.7.1.7"; + } + } + } + } + + smiv2:alias "stpxPreferredVlansTable" { + description + "The table containing indications of which VLANs are + preferred on which VLAN trunk ports. The preferred + VLANs on a trunk port have a lower Path Cost value + compared with the VLANs on the trunk not in the + preferred list. If the value of stpxSpanningTreeType + is neither pvstPlus(1) nor rapidPvstPlus(5), the + configuration in this table has no effect. "; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1"; + } + + smiv2:alias "stpxPreferredVlansEntry" { + description + "An entry indicating which VLANs are preferred on a + specific VLAN trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1"; + } + + augment "/cisco-vtp:CISCO-VTP-MIB/cisco-vtp:vlanTrunkPortTable/cisco-vtp:vlanTrunkPortEntry" { + description + "An entry indicating which VLANs are preferred on a + specific VLAN trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1"; + + leaf stpxPreferredVlansMap { + type binary { + length "128"; + } + description + "A string of octets containing one bit per VLAN in the + management domain on this trunk port. The first octet + corresponds to VLANs with VlanIndex values of 0 through 7; + the second octet to VLANs 8 through 15; etc. The most + significant bit of each octet corresponds to the lowest + value VlanIndex in that octet. + + For each VLAN, if it is preferred on this trunk port, then + the bit corresponding to that VLAN is set to '1'. + The default value is 128 bytes of zeros. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1.1"; + } + + leaf stpxPreferredVlansMap2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 1024 through 2047 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 1024 through 1031; + the second octet to VLANs 1032 through 1039; etc. + The most significant bit of each octet corresponds to the + lowest value VlanIndex in that octet. + + For each VLAN, if it is preferred on this trunk port, then + the bit corresponding to that VLAN is set to '1'. + The default value is 128 bytes of zeros. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1.2"; + } + + leaf stpxPreferredVlansMap3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 2048 through 3071 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 2048 through 2055; + the second octet to VLANs 2056 through 2063; etc. + The most significant bit of each octet corresponds to the + lowest value VlanIndex in that octet. + + For each VLAN, if it is preferred on this trunk port, then + the bit corresponding to that VLAN is set to '1'. + The default value is 128 bytes of zeros. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1.3"; + } + + leaf stpxPreferredVlansMap4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 3072 through 4095 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 3072 through 3079; + the second octet to VLANs 3080 through 3087; etc. + The most significant bit of each octet corresponds to the + lowest value VlanIndex in that octet. + + For each VLAN, if it is preferred on this trunk port, then + the bit corresponding to that VLAN is set to '1'. + The default value is 128 bytes of zeros. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2.1.1.4"; + } + } + + smiv2:alias "stpxLongStpPortPathCostTable" { + description + "A table containing the spanning tree port path cost + configuration when stpxSpanningTreePathCostOperMode is + long(2). + + If the value of stpxSpanningTreePathCostOperMode is + short(1), this table is not instantiated."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.3"; + } + + smiv2:alias "stpxLongStpPortPathCostEntry" { + description + "A conceptual row containing the spanning tree port path cost + configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.3.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dStpPortTable/bridge-mib:dot1dStpPortEntry" { + description + "A conceptual row containing the spanning tree port path cost + configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.3.1"; + + leaf stpxLongStpPortPathCost { + type uint32; + description + "The contribution of this port to the path cost (in 32 + bits value) of paths towards the spanning tree root which + include this port. + + This object is used to configure the spanning tree port + path cost in 32 bits value range when the + stpxSpanningTreePathCostOperMode is long(2). + + If the stpxSpanningTreePathCostOperMode is short(1), this + MIB object is not instantiated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6.3.1.1"; + } + } + + smiv2:alias "stpxVlanMISTPInstMapTable" { + description + "A table containing the MISTP Instance Index of the VLANs for a + particular management domain. + + This table is only instantiated when the value of + stpxSpanningTreeType is mistp(2) or mistpPvstPlus(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.3"; + } + + smiv2:alias "stpxVlanMISTPInstMapEntry" { + description + "A conceptual row containing the MISTP Instance Index of the + VLAN for a particular management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.3.1"; + } + + augment "/cisco-vtp:CISCO-VTP-MIB/cisco-vtp:vtpVlanTable/cisco-vtp:vtpVlanEntry" { + description + "A conceptual row containing the MISTP Instance Index of the + VLAN for a particular management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.3.1"; + + leaf stpxVlanMISTPInstMapInstIndex { + type int32 { + range "0..256"; + } + description + "The MISTP instance, to which the corresponding vlan is mapped. + If this value of this mib object is 0, the corresponding vlan + is not configured to be mapped to any MISTP instance and all + the ports under this VLAN remain in blocking state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.3.1.1"; + } + } + + smiv2:alias "stpxVlanMISTPInstMapEditTable" { + description + "A table containing the MISTP related information for the VLANs + in the Edit Buffers for a particular management domain. + + This table is only instantiated when when the value of + stpxSpanningTreeType is mistp(2) or mistpPvstPlus(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.4"; + } + + smiv2:alias "stpxVlanMISTPInstMapEditEntry" { + description + "Information about one VLAN mapping to one instance + in the Edit Buffer for a particular management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.4.1"; + } + + augment "/cisco-vtp:CISCO-VTP-MIB/cisco-vtp:vtpVlanEditTable/cisco-vtp:vtpVlanEditEntry" { + description + "Information about one VLAN mapping to one instance + in the Edit Buffer for a particular management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.4.1"; + + leaf stpxVlanMISTPInstMapEditInstIndex { + type int32 { + range "0..256"; + } + description + "The MISTP instance, to which the corresponding vlan would be + mapped. The value of this mib object is from 0 to the value of + stpxMISTPInstanceNumber. If setting the value of this object + to 0, the corresponding vlan will not be mapped to a MISTP + instance and all the ports under this VLAN will be moved into + the blocking state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.4.1.1"; + } + } + + smiv2:alias "stpxPreferredMISTPInstancesTable" { + description + "The table containing indications of which MISTP instances + are preferred on which trunk ports. The preferred + MISTP instances on a trunk port have a lower Path Cost value + compared with the MISTP instances on the trunk not in the + preferred list. + + This table is only instantiated when the value of + stpxSpanningTreeType is mistp(2) or mistpPvstPlus(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.5"; + } + + smiv2:alias "stpxPreferredMISTPInstancesEntry" { + description + "An entry indicating which MISTP instances are preferred on + a specific trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.5.1"; + } + + augment "/cisco-vtp:CISCO-VTP-MIB/cisco-vtp:vlanTrunkPortTable/cisco-vtp:vlanTrunkPortEntry" { + description + "An entry indicating which MISTP instances are preferred on + a specific trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.5.1"; + + leaf stpxPreferredMISTPInstancesMap { + type binary { + length "1..32"; + } + description + "A string of octets containing one bit per MISTP instances + in the management domain on this trunk port. The first octet + corresponds to MISTP instances with InstIndex values of 1 + through 8; the second octet to MISTP instances 9 through 16; + etc. The most significant bit of each octet corresponds to + the lowest value instanceIndex in that octet. The number of + bits for this mib object will be determined by the value of + stpxMISTPInstanceNumber. + + For each instance, if it is preferred on this trunk port, + then the bit corresponding to that instance is set to '1'. + + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + instance on the trunk port), any SNMP Set operation + accessing an instance of this object should also write the + value of vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7.5.1.1"; + } + } + + smiv2:alias "stpxPreferredMSTInstancesTable" { + status deprecated; + description + "The table containing indications of which MST instances + are preferred on which trunk ports. The preferred + MST instances on a trunk port have a lower Path Cost value + compared with the MST instances on the trunk not in the + preferred list."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.10"; + } + + smiv2:alias "stpxPreferredMSTInstancesEntry" { + status deprecated; + description + "An entry indicating which MST instances are preferred on + a specific trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.10.1"; + } + + augment "/cisco-vtp:CISCO-VTP-MIB/cisco-vtp:vlanTrunkPortTable/cisco-vtp:vlanTrunkPortEntry" { + status deprecated; + description + "An entry indicating which MST instances are preferred on + a specific trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.10.1"; + + leaf stpxPreferredMSTInstancesMap { + type binary { + length "1..32"; + } + status deprecated; + description + "A string of octets containing one bit per MST instances + on this trunk port. The first octet corresponds to MST + instances of 0 through 7; the second octet to MST instances + 8 through 15; etc. The most significant bit of each octet + corresponds to the lowest MST instance value in that octet. + The number of bits for this mib object will be determined + by the value of stpxMSTMaxInstanceNumber. + + For each instance, if it is preferred on this trunk port, + then the bit corresponding to that instance is set to '1'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11.10.1.1"; + } + } + + notification stpxInconsistencyUpdate { + description + "A stpxPortInconsistencyUpdate notification is sent by a + bridge when an instance of stpxInconsistentState is + created or destroyed. That is, when an inconsistency is + discovered in the VLAN's Spanning Tree for a particular + port, or when such an inconsistency disappears. Note + that the trap is not sent if the port transitions between + different types of inconsistency. + + The stpxInconsistentState value indicates the type of + inconsistency which now exists/no longer exists for the + relevant VLAN on the relevant port."; + smiv2:oid "1.3.6.1.4.1.9.9.82.2.0.1"; + + container object-1 { + + leaf stpxVlanIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxVlanIndex"; + } + } + + leaf stpxPortIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxPortIndex"; + } + } + + leaf stpxInconsistentState { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxInconsistentState"; + } + } + } + } + + notification stpxRootInconsistencyUpdate { + description + "A stpxRootInconsistencyUpdate notification is sent by a + bridge when an instance of stpxRootInconsistencyState + is created or destroyed. That is, when an + root-inconsistency is discovered in the VLAN's or + instance's Spanning Tree for a particular port, or when + such an root-inconsistency disappears. For creation, the + value of stpxRootInconsistencyState in the notification is + true(1); for deletion, the value is false(2). + + The object value of stpxSpanningTreeType indicates + which Spanning Tree protocol is running when an instance + of stpxRootInconsistencyState is created or destroyed. "; + smiv2:oid "1.3.6.1.4.1.9.9.82.2.0.2"; + + container object-1 { + + leaf stpxRootInconsistencyIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyIndex"; + } + } + + leaf stpxRootInconsistencyPortIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyPortIndex"; + } + } + + leaf stpxRootInconsistencyState { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxRootInconsistencyState"; + } + } + } + + container object-2 { + + leaf stpxSpanningTreeType { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxSpanningTreeObjects/CISCO-STP-EXTENSIONS-MIB:stpxSpanningTreeType"; + } + } + } + } + + notification stpxLoopInconsistencyUpdate { + description + "A stpxLoopInconsistencyUpdate notification is sent by a + bridge when an instance of stpxLoopInconsistencyState + is created or destroyed. That is, when an + loop-inconsistency is discovered in the VLAN's or + instance's Spanning Tree for a particular port, or when + such an loop-inconsistency disappears. For creation, + the value of stpxLoopInconsistencyState in the + notification is true(1); for deletion, the value is + false(2). + + The object value of stpxSpanningTreeType indicates + which Spanning Tree protocol is running when an instance + of stpxLoopInconsistencyState is created or + destroyed."; + smiv2:oid "1.3.6.1.4.1.9.9.82.2.0.3"; + + container object-1 { + + leaf stpxLoopInconsistencyIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyIndex"; + } + } + + leaf stpxLoopInconsistencyPortIndex { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyPortIndex"; + } + } + + leaf stpxLoopInconsistencyState { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyTable/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyEntry/CISCO-STP-EXTENSIONS-MIB:stpxLoopInconsistencyState"; + } + } + } + + container object-2 { + + leaf stpxSpanningTreeType { + type leafref { + path "/CISCO-STP-EXTENSIONS-MIB:CISCO-STP-EXTENSIONS-MIB/CISCO-STP-EXTENSIONS-MIB:stpxSpanningTreeObjects/CISCO-STP-EXTENSIONS-MIB:stpxSpanningTreeType"; + } + } + } + } + + smiv2:alias "ciscoStpExtensionsMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.82"; + } + + smiv2:alias "stpxObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1"; + } + + smiv2:alias "stpxUplinkFastObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.1"; + } + + smiv2:alias "stpxVlanObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.2"; + } + + smiv2:alias "stpxInconsistencyObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.3"; + } + + smiv2:alias "stpxBackboneFastObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.4"; + } + + smiv2:alias "stpxRootGuardObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.5"; + } + + smiv2:alias "stpxSpanningTreeObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.6"; + } + + smiv2:alias "stpxMISTPObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.7"; + } + + smiv2:alias "stpxLoopGuardObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.8"; + } + + smiv2:alias "stpxFastStartObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.9"; + } + + smiv2:alias "stpxBpduSkewingObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.10"; + } + + smiv2:alias "stpxMSTObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.11"; + } + + smiv2:alias "stpxRSTPObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.12"; + } + + smiv2:alias "stpxRPVSTObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.13"; + } + + smiv2:alias "stpxSMSTObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.82.1.14"; + } + + smiv2:alias "stpxNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.82.2"; + } + + smiv2:alias "stpxNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.82.2.0"; + } + + smiv2:alias "stpxMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.82.3"; + } + + smiv2:alias "stpxMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.82.3.1"; + } + + smiv2:alias "stpxMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.82.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-IDENTITY-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-IDENTITY-TC-MIB.yang new file mode 100644 index 000000000..f4b9ad7d6 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-IDENTITY-TC-MIB.yang @@ -0,0 +1,753 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SUBSCRIBER-IDENTITY-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SUBSCRIBER-IDENTITY-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SUBSCRIBER-IDENTITY-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB"; + prefix CISCO-SUBSCRIBER-IDENTITY-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines textual conventions describing + subscriber session identities. A subscriber session identity + consists of data associated with a subscriber session serving as + credentials used to determine authority, status, rights, or + entitlement to privileges."; + + revision 2011-12-23 { + description + "The initial version of the MIB module."; + } + + typedef SubSessionIdentity { + type enumeration { + enum "other" { + value "1"; + } + enum "ifIndex" { + value "2"; + } + enum "subscriberLabel" { + value "3"; + } + enum "macAddress" { + value "4"; + } + enum "nativeVrf" { + value "5"; + } + enum "nativeIpAddress" { + value "6"; + } + enum "domainVrf" { + value "7"; + } + enum "domainIpAddress" { + value "8"; + } + enum "pbhk" { + value "9"; + } + enum "remoteId" { + value "10"; + } + enum "circuitId" { + value "11"; + } + enum "nasPort" { + value "12"; + } + enum "domain" { + value "13"; + } + enum "username" { + value "14"; + } + enum "acctSessionId" { + value "15"; + } + enum "dnis" { + value "16"; + } + enum "media" { + value "17"; + } + enum "mlpNegotiated" { + value "18"; + } + enum "protocol" { + value "19"; + } + enum "serviceName" { + value "20"; + } + enum "dhcpClass" { + value "21"; + } + enum "tunnelName" { + value "22"; + } + } + description + "An enumerated integer-value describing a subscriber session + identity: + + 'other' + The implementation of the MIB module using this textual + convention does not recognize the subscriber session + identity. + + 'ifIndex' + The ifIndex assigned to the interface representing the + subscriber session. + + 'subscriberLabel' + The arbitrary integer-value assigned by the system + to uniquely identify the subscriber session within the + scope of the system. + + 'macAddress' + The subscriber's MAC address. + + 'nativeVrf' + The name of the VRF on which the subscriber session + originates. + + 'nativeIpAddress' + The IP address assigned to the subscriber session on + the + customer-facing side of the system. + + 'domainVrf' + The name of the VRF to which the system transfers the + subscriber session traffic. + + 'domainIpAddress' + The IP address assigned to the subscriber session on + the + service-facing side of the system. + + 'pbhk' + The Port-Bundle Host Key (PBHK) uniquely identifying + the + subscriber session. A PBHK consists of a source IP + address and a TCP port number. + + 'remoteId' + The name identifying the 'calling station', access + multiplexor, or access switch providing access to the + subscriber. + + 'circuitId' + The name identifying the circuit on the 'calling + station', access multiplexor, or access switch that + provides access to the subscriber. + + 'nasPort' + An octet string identifying the port on the Network + Access Server (NAS) that provides access to the + subscriber. + + 'domain' + The subscriber's domain name. + + 'username' + The subscriber's username. + + 'acctSessionId' + The subscriber's accounting session identifier. + + 'dnis' + The Dialed Number Identification Service (DNIS) number + (or called-party number) dialed by the subscriber. + + 'media' + The type of media providing access to the subscriber. + + 'mlpNegotiated' + Indicates whether the subscriber session was + established + using multi-link PPP negotiation. + + 'protocol' + The type of protocol providing access to the + subscriber. + + 'dhcpClass' + The name of the class matching the DHCP DISCOVER + message + received from the subscriber. + + 'serviceName' + The name identifying the service associated with the + subscriber. + 'tunnelName' + The name of the VPDN used to carry the subscriber + session."; + } + + typedef SubSessionIdentities { + type bits { + bit ifIndex { + position "0"; + } + bit subscriberLabel { + position "1"; + } + bit macAddress { + position "2"; + } + bit nativeVrf { + position "3"; + } + bit nativeIpAddress { + position "4"; + } + bit domainVrf { + position "5"; + } + bit domainIpAddress { + position "6"; + } + bit pbhk { + position "7"; + } + bit remoteId { + position "8"; + } + bit circuitId { + position "9"; + } + bit nasPort { + position "10"; + } + bit domain { + position "11"; + } + bit username { + position "12"; + } + bit acctSessionId { + position "13"; + } + bit dnis { + position "14"; + } + bit media { + position "15"; + } + bit mlpNegotiated { + position "16"; + } + bit protocol { + position "17"; + } + bit serviceName { + position "18"; + } + bit dhcpClass { + position "19"; + } + bit tunnelName { + position "20"; + } + } + description + "A bit string describing a set of subscriber session identities: + + 'ifIndex' + The ifIndex assigned to the interface representing the + subscriber session. + + 'subscriberLabel' + The arbitrary integer-value assigned by the system + to uniquely identify the subscriber session within the + scope of the system. + + 'macAddress' + The subscriber's MAC address. + + 'nativeVrf' + The name of the VRF on which the subscriber session + originates. + + 'nativeIpAddress' + The IP address assigned to the subscriber session on the + customer-facing side of the system. + + 'domainVrf' + The name of the VRF to which the system transfers the + subscriber session traffic. + + 'domainIpAddress' + The IP address assigned to the subscriber session on the + service-facing side of the system. + + 'pbhk' + The Port-Bundle Host Key (PBHK) uniquely identifying the + subscriber session. A PBHK consists of a source IP + address and a TCP port number. + + 'remoteId' + The name identifying the 'calling station' or access + multiplexor providing access to the subscriber. + + 'circuitId' + The name identifying the circuit on the 'calling + station', access multiplexor, or access switch that + provides access to the subscriber. + + 'nasPort' + An octet string identifying the port on the Network + Access Server (NAS) that provides access to the + subscriber. + + 'domain' + The subscriber's domain name. + + 'username' + The subscriber's username. + + 'dnis' + The Dialed Number Identification Service (DNIS) number + (or called-party number) dialed by the subscriber. + + 'acctSessionId' + The subscriber's accounting session identifier. + + 'media' + The type of media providing access to the subscriber. + + 'mlpNegotiated' + Indicates whether the subscriber session was established + using multi-link PPP negotiation. + + 'protocol' + The type of protocol providing access to the subscriber. + + 'serviceName' + The name identifying the service associated with the + subscriber. + + 'dhcpClass' + The name of the class matching the DHCP DISCOVER message + received from the subscriber. + + 'tunnelName' + The name of the VPDN used to carry the subscriber + session."; + } + + typedef SubscriberLabel { + type uint32 { + range "0..4294967295"; + } + description + "A positive integer-value uniquely identifying a subscriber + session within the scope of a system. + + The value '0' is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + smiv2:display-hint "x"; + } + + typedef SubscriberVRF { + type string; + description + "A string-value identifying a VRF associated with a subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberPbhk { + type string; + description + "An octet string specifying a Port-Bundle Host Key (PBHK) + identifying a subscriber. The octet string has the following + format: + + Octets Field + ------------------------------ + 1-4 subscriber IP address + 5-6 TCP port number + + Observe that the subscriber IP address is always an IPv4 + address. + + The value '000000'H is not a valid value. However, it serves as + a convenient value when an instance of an object using this + textual convention is not valid."; + smiv2:display-hint "1x:"; + } + + typedef SubscriberRemoteId { + type string; + description + "A string-value identifying the 'calling station', access + multiplexor, or access switch providing access to a subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberCircuitId { + type string; + description + "A string-value identifying the circuit on the 'calling + station', access multiplexor, or access switch that provides + access to the subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberNasPort { + type string; + description + "An octet string identifying port on the Network Access Server + (NAS) that provides access to the subscriber. + + The value '000000'H is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + smiv2:display-hint "1x:"; + } + + typedef SubscriberDomain { + type string; + description + "A string-value specifying the domain associated with a + subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberUsername { + type string; + description + "A string-value specifying the username identifying a + subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberAcctSessionId { + type uint32 { + range "0..4294967295"; + } + description + "An positive, integer-value specifying the accounting session ID + assigned to a subscriber. + + The value '0' is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + smiv2:display-hint "x"; + } + + typedef SubscriberDnis { + type string; + description + "A string-value specifying the Dialed Number Identification + Service (DNIS) number (or called-party number) dialed by a + subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberMediaType { + type enumeration { + enum "other" { + value "1"; + } + enum "async" { + value "2"; + } + enum "atm" { + value "3"; + } + enum "ethernet" { + value "4"; + } + enum "ip" { + value "5"; + } + enum "isdn" { + value "6"; + } + enum "mpls" { + value "7"; + } + enum "sync" { + value "8"; + } + } + description + "An enumerated integer-value describing the type of media + providing access to the subscriber: + + 'other' + The implementation of the MIB module using this textual + convention does not recognize the type of media + providing access to the subscriber. + + 'async' + An asynchronous serial line provides access to the + subscriber. + + 'atm' + An ATM network provides access to the subscriber. + + 'ethernet' + An Ethernet-based network provides access to the + subscriber. + + 'ip' + An IP network provides access to the subscriber. + + 'isdn' + An ISDN line provides access to the subscriber. + + 'mpls' + An MPLS network provides access to the subscriber. + + 'sync' + A synchronous serial line provides access to the + subscriber. + + The value 'other' cannot be written to an instance of an object. + However, it serves as a convenient value when an instance of an + object using this textual convention is not valid."; + } + + typedef SubscriberProtocolType { + type enumeration { + enum "other" { + value "1"; + } + enum "atom" { + value "2"; + } + enum "ip" { + value "3"; + } + enum "psdn" { + value "4"; + } + enum "ppp" { + value "5"; + } + enum "vpdn" { + value "6"; + } + } + description + "An enumerated integer-value describing the type of protocol + providing access to the subscriber: + + 'other' + The implementation of the MIB module using this textual + convention does not recognize the type of protocol + providing access to the subscriber. + + 'atom' + Any Transport over MPLS (AToM) provides access to the + subscriber. + + 'ip' + The Internet Protocol (IP) provides access to the + subscriber. + + 'psdn' + A Public Switched Data Network (PSDN) provides access to + the subscriber. + + 'ppp' + The Point-to-Point Protocol (PPP) provides access to the + subscriber. + + 'vpdn' + A Virtual Private Data Network (VPDN) provides access to + the subscriber. + + The value 'other' cannot be written to an instance of an object. + However, it serves as a convenient value when an instance of an + object using this textual convention is not valid."; + } + + typedef SubscriberDhcpClass { + type string; + description + "A string-value specifying the name of the class matching the + DHCP DISCOVER message received from the subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberTunnelName { + type string; + description + "A string-value specifying the name of the VPDN used to carry + a subscriber's session. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberLocationName { + type string; + description + "A string-value specifying the location associated with a + subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + typedef SubscriberServiceName { + type string; + description + "A string-value specifying the subscriber service associated + with a subscriber. + + The semantics of the string-value are the same those specified + by the SnmpAdminString textual convention defined by the + SNMP-FRAMEWORK-MIB (RFC-3411). + + The null string is not a valid value. However, it serves as a + convenient value when an instance of an object using this + textual convention is not valid."; + reference + "D. Harrington, R. Resuhn, B. Wijnen, 'An Architecture for + Describing Simple Network Management Protocol (SNMP) + Management Frameworks', RFC-3411, December 2002."; + smiv2:display-hint "255a"; + } + + smiv2:alias "ciscoSubscriberIdentityTcMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.782"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-MIB.yang new file mode 100644 index 000000000..0fa609ef9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-MIB.yang @@ -0,0 +1,3295 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SUBSCRIBER-SESSION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SUBSCRIBER-SESSION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SUBSCRIBER-SESSION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB"; + prefix CISCO-SUBSCRIBER-SESSION-MIB; + + import CISCO-CBP-TC-MIB { + prefix "cisco-cbp"; + } + + import CISCO-DYNAMIC-TEMPLATE-TC-MIB { + prefix "cisco-dynamic"; + } + + import CISCO-SUBSCRIBER-IDENTITY-TC-MIB { + prefix "cisco-subscriber-identity"; + } + + import CISCO-SUBSCRIBER-SESSION-TC-MIB { + prefix "cisco-subscriber"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import PerfHist-TC-MIB { + prefix "perfhist-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB defines objects describing subscriber sessions, or + more specifically, subscriber sessions terminated by a RAS. A + subscriber session consists of the traffic between a CPE and a + NAS, as illustrated in the diagram below. + + Service + Access Provider + Network Network + +--+ +---+ +--+ { } +---+ { } + |PC+--+CPE+--+AN+--{ }--+NAS+--{ } + +--+ +---+ +--+ { } +---+ { } + | | + |<--------------->| + subscriber + session + + A subscriber session behaves according to the FSM illustrated + below. + + +-----------------+ + +--->| DISCONNECTED |<-------+ + | +--------+--------+ | + | | | + | failed | initiated | disconnect + | V | + | +-----------------+ | + +----+ PENDING +--------+ + +--------+--------+ | + | | + | established | + V | + +----------------------------+ | + | UP | | + | +---+ + | +-----------------+ | + | | UNAUTHENTICATED | | + | +--------+--------+ | + | | | + | | authenticated | + | V | + | +-----------------+ | + | | AUTHENTICATED | | + | +-----------------+ | + | | + +----------------------------+ + + A subscriber session in the DISCONNECTED state technically + doesn't exist; that is, the system does not maintain a context + to describe a disconnected subscriber session. + + Once the system detects the initiation of a subscriber session, + then it creates a context and places the subscriber session in + the PENDING state. The initiation of a subscriber session can + occur either through provisioning or the reception of a packet. + In the PENDING state, a system does not forward subscriber + traffic. + + A pending subscriber session can become DISCONNECTED if + it fails to come up (e.g., a timeout) or if the system or the + subscriber explicitly terminates the subscriber session. + + A pending subscriber session can become UP if the system + successfully configures and applies any relevant policies. + Once in the UP state, a system forwards subscriber traffic. + + A operationally UP subscriber session can become DISCONNECTED if + either system or the subscriber terminates it. + + A operationally UP subscriber session can either be + UNAUTHENTICATED or AUTHENTICATED. When the system is in the + process of checking a the credentials associated with a + subscriber session, it is in the UNAUTHENTICATED state. When + the system successfully completes this process, it transitions + the subscriber session to the AUTHENTICATED state. If the + process fails, then the system terminates the subscriber + session. + + Besides describing individual subscriber sessions, this MIB + module provides an EMS/NMS with the means to perform the + following functions: + + 1) Enumerate subscriber sessions by ifIndex. + + 2) Enumerate subscriber sessions by subscriber session type and + ifIndex. + + 3) Monitor aggregated statistics relating to subscriber + sessions: + + a. System-wide + b. System-wide by subscriber session type + c. Per node + d. Per node by subscriber session type + + 4) Collect 15-minute aggregated performance data history + relating to subscriber sessions: + + a. System-wide + b. System-wide by subscriber session type + c. Per node + d. Per node by subscriber session type + + 5) Submit a query for a report containing those subscriber + sessions that match a specified identity match criteria. + + 6) Terminate those subscriber session that match a + specified identify match criteria. + + GLOSSARY + ======== + + Access Concentrator + See NAS. + + Access Network + The network that provides connectivity between a AN and NAS. + An access network may provide L2 or L3 connectivity. If the + access network provide L2 connectivity, it may switch + traffic or tunnel it through a MPLS or IP network. + + AN (Access Node) + A device (e.g., a DSLAM) that multiplexes or switches + traffic between many CPEs and an access network. + + BRAS (Broadband Remote Access Server) + See NAS. + + CPE (Customer Premise Equipment) + A device (e.g., a DSL modem) that connects a customer's + network to an AN. + + DHCP (Dynamic Host Configuration Protocol) + The protocol that provides a framework for transacting + configuration information to devices on an IP network, as + specified by RFC-2131. + + NAS (Network Access Server) + A device that switches or routes traffic between subscriber + sessions and service provider networks. + + Network Service + Access to the Internet backbone, voice, video, or other + content. + + Node + A physical entity capable of maintaining a subscriber + session within a distributed system. The notion of a node + is not applicable to a centralized system. + + PADI (PPPoE Active Discovery Initiation) + A subscriber broadcasts a PADI packet to start the process + of discovering access concentrators capable of serving it. + + PADO (PPPoE Active Discovery Offer) + The packet sent by an access concentrator to a subscriber + indicating that it can serve the subscriber. + + PADR (PPPoE Active Discovery Request) + The packet sent by a subscriber to an access concentrator + requesting a PPPoE connection. + + PADS (PPPoE Active Discovery Session-confirmation) + The packet sent by an access concentrator to a subscriber + confirming the request for a PPPoE connection. Once this + packet has been sent, then the PPP can proceed as specified + by RFC-1661. + + PADT (PPPoE Active Discovery Terminate) + The packet indicating that a PPPoE connection has been + terminated. Either the subscriber or the access + concentrator can send this packet. + + PPP (Point-to-Point Protocol) + The standard method for transporting multi-protocol + datagrams over point-to-point links, as defined by RFC-1661. + The PPP specifies the encapsulation for these datagrams and + the protocols necessary for establishing, configuring, and + maintaining connectivity. + + PPPoE (Point-to-Point Protocol over Ethernet) + The protocol and encapsulation necessary to support a PPP + connection over an Ethernet connection, as defined by IETF + RFC-2516. + + Service Provider Network + The network that provides connectivity between a NAS and a + network service. + + Subscriber + A customer of a network service. + + Subscriber Session + A context maintained by a NAS for the purpose of classifying + a subscriber's traffic, maintaining a subscriber's identity, + applying configuration and policies, and maintaining + statistics. For more information on the types of subscriber + sessions, see the CISCO-SUBSCRIBER-SESSION-TC-MIB."; + + revision 2012-08-08 { + description + "csubAggStatsThreshTable , csubAggStatsThreshGroup, + csubAggStatsNotifGroup are newly added"; + } + + revision 2012-03-12 { + description + "SubscriberLoationName corrected to SubscriberLocationName"; + } + + revision 2011-09-12 { + description + "The initial version of the MIB module."; + } + + typedef SubscriberJobIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary positive, integer-value uniquely identifying a + subscriber session job."; + } + + typedef SubscriberJobIdentifierOrZero { + type uint32 { + range "0..4294967295"; + } + description + "This textual convention serves as an extension of the + SubscriberJobIdentifier textual convention, which permits the + value '0'. The use of the value '0' is specific to an object, + thus requiring the descriptive text associated with the object + to describe the semantics of its use."; + } + + + container CISCO-SUBSCRIBER-SESSION-MIB { + config false; + + container csubJob { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3"; + + leaf csubJobFinishedNotifyEnable { + type boolean; + description + "This object specifies whether the system generates a + csubJobFinishedNotify notification when the system finishes + processing a subscriber session job."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.1"; + } + + leaf csubJobIndexedAttributes { + type cisco-subscriber-identity:SubSessionIdentities; + description + "This object indicates which subscriber session identities the + system maintains as searchable keys. This value serves the + EMS/NMS in configuring a subscriber session query, as at least + one match criteria must be an 'indexed attribute'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.2"; + } + + leaf csubJobIdNext { + type CISCO-SUBSCRIBER-SESSION-MIB:SubscriberJobIdentifierOrZero; + description + "This object indicates the next available identifier for the + creation of a new row in the csubJobTable. If no available + identifier exists, then this object has the value '0'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.3"; + } + + leaf csubJobMaxNumber { + type uint32 { + range "1..4294967295"; + } + units "jobs"; + description + "This object indicates the maximum number of outstanding + subscriber session jobs the system can support. If the + csubJobTable contains a number of rows (i.e., the value of + csubJobCount) equal to this value, then any attempt to create a + new row will result in a response with an error-status of + 'resourceUnavailable'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.4"; + } + + leaf csubJobMaxLife { + type uint32 { + range "0..4294967295"; + } + units "seconds"; + description + "This object specifies the maximum life a subscriber session + report corresponding to a subscriber session job having a + csubJobType of 'query'. The system tracks the time elapsed + after it finishes processing a query. When the time elapsed + reaches the value specified by this column, the system + automatically destroys the report. A value of '0' disables the + automatic destruction of reports."; + smiv2:defval "300"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.5"; + } + + leaf csubJobCount { + type yang:gauge32; + units "jobs"; + description + "This object indicates the number of subscriber session jobs + currently maintained by the csubJobTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.6"; + } + } + + container csubAggThresh { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.4"; + + leaf csubAggStatsThreshNotifEnable { + type boolean; + description + "This object enables or disables the generation of any of the + csubAggStats* threshold notifications."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.4.1"; + } + } + + container csubSessionTable { + description + "This table describes a list of subscriber sessions currently + maintained by the system. + + This table has a sparse dependent relationship on the ifTable, + containing a row for each interface having an interface type + describing a subscriber session."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1"; + + list csubSessionEntry { + key "ifIndex"; + description + "This entry contains data describing a subscriber sessions, + including its state, configuration, and collected identities. + + An entry exists for a corresponding entry in the ifTable + describing a subscriber session. Currently, subscriber + sessions must have one of the following ifType values: + + 'ppp' + 'ipSubscriberSession' + 'l2SubscriberSession' + + The system creates an entry when it establishes a subscriber + session. Likewise, the system destroys an entry when it + terminates the corresponding subscriber session."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf csubSessionType { + type cisco-subscriber:SubSessionType; + description + "This object indicates the type of subscriber session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.1"; + } + + leaf csubSessionIpAddrAssignment { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "static" { + value "3"; + } + enum "localPool" { + value "4"; + } + enum "dhcpv4" { + value "5"; + } + enum "dhcpv6" { + value "6"; + } + enum "userProfileIpAddr" { + value "7"; + } + enum "userProfileIpSubnet" { + value "8"; + } + enum "userProfileNamedPool" { + value "9"; + } + } + description + "This object indicates how the system assigns IP addresses to + the subscriber: + + 'none' + The system does not an involvement in (or is it aware + of) the assignment an subscriber IP addresses. For + example, a system does not have an involvement in the + assignment of subscriber IP addresses for IP interface + subscriber sessions. + + 'other' + The system assigns subscriber IP addresses using a + method not recognized by this MIB module. + + 'static' + Subscriber IP addresses have been configured correctly + for the service domain. The system does not have an + involvement in the assignment of the IP address. + + 'localPool' + The system assigns subscriber IP addresses from a + locally configured pool of IP addresses. + + 'dhcpv4' + The system assigns subscriber IP addresses are using the + DHCPv4. + + 'dhcpv6' + The system assigns subscriber IP addresses using the + DHCPv6. + + 'userProfileIpAddr' + The system assigns subscriber IP addresses from a user + profile. + + 'userProfileIpSubnet' + The system assigns the subscriber an IP subnet from a + user profile. + + 'userProfileNamedPool' + The system assigns subscriber IP addresses from a + locally configured named pool specified by a user + profile."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.2"; + } + + leaf csubSessionState { + type cisco-subscriber:SubSessionState; + description + "This object indicates the operational state of the subscriber + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.3"; + } + + leaf csubSessionAuthenticated { + type boolean; + description + "This object indicates whether the system has successfully + authenticated the subscriber session. + + 'false' + The subscriber session is operationally up, but in the + UNAUTHENTICATED state. + + 'true' + The subscriber session is operationally up, but in the + AUTHENTICATED state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.4"; + } + + leaf csubSessionRedundancyMode { + type cisco-subscriber:SubSessionRedundancyMode; + description + "This object indicates the redundancy mode in which the + subscriber session is operating."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.5"; + } + + leaf csubSessionCreationTime { + type snmpv2-tc:DateAndTime; + description + "This object indicates when the subscriber session was created + (i.e., when the subscriber session was initiated)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.6"; + } + + leaf csubSessionDerivedCfg { + type cisco-dynamic:DynamicTemplateName; + description + "This object indicates the row in the cdtTemplateTable (defined + by the CISCO-DYNAMIC-TEMPLATE-MIB) describing the derived + configuration for the subscriber session. + + Observe that the value of cdtTemplateType corresponding to the + referenced row must be 'derived'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.7"; + } + + leaf csubSessionAvailableIdentities { + type cisco-subscriber-identity:SubSessionIdentities; + description + "This object indicates the subscriber identities that the system + has successfully collected for the subscriber session. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is invalid. If the bit is '1', then the value of the + corresponding column represents the value of the subscriber + identity collected by the system. + + The following list specifies the mappings between the bits and + the columns: + + 'subscriberLabel' => csubSessionSubscriberLabel + 'macAddress' => csubSessionMacAddress + 'nativeVrf' => csubSessionNativeVrf + 'nativeIpAddress' => csubSessionNativeIpAddrType, + csubSessionNativeIpAddr, + csubSessionNativeIpMask + 'nativeIpAddress2'=> csubSessionNativeIpAddrType2, + csubSessionNativeIpAddr2, + csubSessionNativeIpMask2 + 'domainVrf' => csubSessionDomainVrf + 'domainIpAddress' => csubSessionDomainIpAddrType, + csubSessionDomainIpAddr, + csubSessionDomainIpMask + 'pbhk' => csubSessionPbhk + 'remoteId' => csubSessionRemoteId + 'circuitId' => csubSessionCircuitId + 'nasPort' => csubSessionNasPort + 'domain' => csubSessionDomain + 'username' => csubSessionUsername + 'acctSessionId' => csubSessionAcctSessionId + 'dnis' => csubSessionDnis + 'media' => csubSessionMedia + 'mlpNegotiated' => csubSessionMlpNegotiated + 'protocol' => csubSessionProtocol + 'dhcpClass' => csubSessionDhcpClass + 'tunnelName' => csubSessionTunnelName + + Observe that the bit 'ifIndex' should always be '1'. This + identity maps to the ifIndex assigned to the subscriber + session. + + Observe that the bit 'serviceName' maps to one or more instance + of ccbptPolicyMap (defined by the CISCO-CBP-TARGET-MIB)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.8"; + } + + leaf csubSessionSubscriberLabel { + type cisco-subscriber-identity:SubscriberLabel; + description + "This object indicates a positive integer-value uniquely + identifying the subscriber session within the scope of + the system. + + This column is valid only if the 'subscriberLabel' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.9"; + } + + leaf csubSessionMacAddress { + type yang:mac-address; + description + "This object indicates the MAC address of the subscriber. + + This column is valid only if the 'macAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.10"; + } + + leaf csubSessionNativeVrf { + type cisco-subscriber-identity:SubscriberVRF; + description + "This object indicates the VRF originating the subscriber + session. + + This column is valid only if the 'nativeVrf' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.11"; + } + + leaf csubSessionNativeIpAddrType { + type inet-address:InetAddressType; + description + "This object indicates the type of IP address assigned to the + subscriber on the customer-facing side of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.12"; + } + + leaf csubSessionNativeIpAddr { + type inet-address:InetAddress; + description + "This object indicates the IP address assigned to the + subscriber on the customer-facing side of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.13"; + } + + leaf csubSessionNativeIpMask { + type inet-address:InetAddress; + description + "This object indicates the corresponding mask for the IP + address assigned to the subscriber on the customer-facing side + of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.14"; + } + + leaf csubSessionDomainVrf { + type cisco-subscriber-identity:SubscriberVRF; + description + "This object indicates the VRF to which the system transfers + the subscriber session's traffic. + + This column is valid only if the 'domainVrf' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.15"; + } + + leaf csubSessionDomainIpAddrType { + type inet-address:InetAddressType; + description + "This object indicates the type of IP address assigned to the + subscriber on the service-facing side of the system. + + This column is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.16"; + } + + leaf csubSessionDomainIpAddr { + type inet-address:InetAddress; + description + "This object indicates the IP address assigned to the + subscriber on the service-facing side of the system. + + This column is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.17"; + } + + leaf csubSessionDomainIpMask { + type inet-address:InetAddress; + description + "This object indicates the corresponding mask for the IP + address assigned to the subscriber on the service-facing side of + the system. + + This column is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.18"; + } + + leaf csubSessionPbhk { + type cisco-subscriber-identity:SubscriberPbhk; + description + "This object indicates the PBHK identifying the subscriber. + + This column is valid only if the 'pbhk' bit of the corresponding + instance of csubSessionAvailableIdentities is '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.19"; + } + + leaf csubSessionRemoteId { + type cisco-subscriber-identity:SubscriberRemoteId; + description + "This object indicates the Remote-Id identifying the 'calling + station' or AN supporting the circuit that provides access to + the subscriber. + + This column is valid only if the 'remoteId' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.20"; + } + + leaf csubSessionCircuitId { + type cisco-subscriber-identity:SubscriberCircuitId; + description + "This object indicates the Circuit-Id identifying the circuit + supported by the 'calling station' or AN providing access to + the subscriber. + + This column is valid only if the 'circuitId' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.21"; + } + + leaf csubSessionNasPort { + type cisco-subscriber-identity:SubscriberNasPort; + description + "This object indicates the NAS port-identifier identifying the + port on the NAS providing access to the subscriber. + + This column is valid only if the 'nasPort' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.22"; + } + + leaf csubSessionDomain { + type cisco-subscriber-identity:SubscriberDomain; + description + "This object indicates the domain associated with the + subscriber. + + This column is valid only if the 'domain' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.23"; + } + + leaf csubSessionUsername { + type cisco-subscriber-identity:SubscriberUsername; + description + "This object indicates the username identifying the subscriber. + + This column is valid only if the 'username' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.24"; + } + + leaf csubSessionAcctSessionId { + type cisco-subscriber-identity:SubscriberAcctSessionId; + description + "This object indicates the accounting session identifier + assigned to the subscriber session. + + This column is valid only if the 'accountingSid' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.25"; + } + + leaf csubSessionDnis { + type cisco-subscriber-identity:SubscriberDnis; + description + "This object indicates the DNIS number dialed by the + subscriber to access the 'calling station' or AN. + + This column is valid only if the 'dnis' bit of the corresponding + instance of csubSessionAvailableIdentities is '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.26"; + } + + leaf csubSessionMedia { + type cisco-subscriber-identity:SubscriberMediaType; + description + "This object indicates the type of media providing access to + the subscriber. + + This column is valid only if the 'media' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.27"; + } + + leaf csubSessionMlpNegotiated { + type boolean; + description + "This object indicates whether the subscriber session was + established using multi-link PPP negotiation. + + This column is valid only if the 'mlpNegotiated' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.28"; + } + + leaf csubSessionProtocol { + type cisco-subscriber-identity:SubscriberProtocolType; + description + "This object indicates the type of protocol providing access to + the subscriber. + + This column is valid only if the 'protocol' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.29"; + } + + leaf csubSessionDhcpClass { + type cisco-subscriber-identity:SubscriberDhcpClass; + description + "This object indicates the name of the class matching the DHCP + DISCOVER message received from the subscriber. + + This column is valid only if the 'dhcpClass' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.30"; + } + + leaf csubSessionTunnelName { + type cisco-subscriber-identity:SubscriberTunnelName; + description + "This object indicates the name of the VPDN used to carry the + subscriber session to the system. + + This column is valid only if the 'tunnelName' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.31"; + } + + leaf csubSessionLocationIdentifier { + type cisco-subscriber-identity:SubscriberLocationName; + description + "This object indicates the location of the + subscriber"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.32"; + } + + leaf csubSessionServiceIdentifier { + type cisco-subscriber-identity:SubscriberServiceName; + description + "This object indicates the name used to identify the services + subscribed by a particular session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.33"; + } + + leaf csubSessionLastChanged { + type snmpv2-tc:DateAndTime; + description + "This object indicates when the subscriber session is updated + with new policy information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.34"; + } + + leaf csubSessionNativeIpAddrType2 { + type inet-address:InetAddressType; + description + "This object indicates the type of IP address assigned to the + subscriber on the customer-facing side of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'. + + In Dual stack scenarios both 'csubSessionNativeIpAddrType' and + 'csubSessionNativeIpAddrType2' will be valid"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.35"; + } + + leaf csubSessionNativeIpAddr2 { + type inet-address:InetAddress; + description + "This object indicates the IP address assigned to the + subscriber on the customer-facing side of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.36"; + } + + leaf csubSessionNativeIpMask2 { + type inet-address:InetAddress; + description + "This object indicates the corresponding mask for the IP + address assigned to the subscriber on the customer-facing side + of the system. + + This column is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubSessionAvailableIdentities is + '1'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.37"; + } + } + } + + container csubSessionByTypeTable { + description + "This table describes a list of subscriber sessions currently + maintained by the system. The tables sorts the subscriber + sessions first by the subscriber session's type and second by + the ifIndex assigned to the subscriber session."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2"; + + list csubSessionByTypeEntry { + key "csubSessionByType csubSessionIfIndex"; + description + "This entry identifies a subscriber session. + + An entry exists for a corresponding entry in the ifTable + describing a subscriber session. Currently, subscriber + sessions must have one of the following ifType values: + + 'ppp' + 'ipSubscriberSession' + 'l2SubscriberSession' + + The system creates an entry when it establishes a subscriber + session. Likewise, the system destroys an entry when it + terminates the corresponding subscriber session."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1"; + + leaf csubSessionByType { + type cisco-subscriber:SubSessionType; + description + "This object indicates the type of the subscriber session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1.1"; + } + + leaf csubSessionIfIndex { + type if-mib:InterfaceIndex; + description + "This object indicates the ifIndex assigned to the subscriber + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1.2"; + } + } + } + + container csubAggStatsTable { + description + "This table contains sets of aggregated statistics relating to + subscriber sessions, where each set has a unique scope of + aggregation."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1"; + + list csubAggStatsEntry { + key "csubAggStatsPointType csubAggStatsPoint csubAggStatsSessionType"; + description + "An entry contains a set of aggregated statistics relating to + those subscriber sessions that fall into a 'scope of + aggregation'. + + A 'scope of aggregation' is the set of subscriber sessions + that meet specified criteria. For example, a 'scope of + aggregation' may be the set of all PPPoE subscriber sessions + maintained by the system. The following criteria define the + 'scope of aggregation': + + 1) Aggregation Point type + Aggregation point type identifies the format of the + csubAggStatsPoint for this entry. + + 2) Aggregation Point + 'Physical' Aggregation Point type case: + In a distributed system, a 'node' represents a physical + entity capable of maintaining the context representing + a subscriber session. + + If the 'scope of aggregation' specifies a physical + entity having an entPhysicalClass of 'chassis', then + the set of subscriber sessions in the 'scope of + aggregation' may contain the subscriber sessions maintained by all + the nodes contained in the system. + + If the 'scope of aggregation' specifies a physical + entity having an entPhysicalClass of 'module' (e.g., a + line card), then the set of subscriber sessions in the + 'scope of aggregation' may contain the subscriber + sessions maintained by the nodes contained by the + module. + + If the 'scope of aggregation' specifies a physical + entity having an entPhysicalClass of 'cpu', then the + set of subscriber sessions in the 'scope of aggregation' + may contain the subscriber sessions maintained by the node + running on that processor. + + Observe that a centralized system (i.e., a system + that essentially contains a single node) can only + support a 'scope of aggregation' that specifies a + physical entity classified as a 'chassis'. + + If the scope of aggregation specifies 'interface', + then the scope is the set of subscriber sessions carried + by the interface identified the ifIndex value + represented in the csubAggStatsPoint value. + + 2) Subscriber Session Type + If the 'scope of aggregation' specifies the value 'all' + for the subscriber session type, then the set of + subscriber sessions in the 'scope of aggregation' may + contain all subscriber sessions, regardless of type. + + If the 'scope of aggregation' specifies a value other + than 'all' for the subscriber session type, then the + set of subscriber sessions in the 'scope of aggregation may + contain only those subscriber sessions of the specified + type. + + Implementation Guidance + ======================= + A system MUST maintain a set of statistics with a 'scope of + aggregation' that contains all subscriber sessions maintained + by the system. The system creates this entry during the + initialization of the SNMP entity. + + A system SHOULD maintain a set of statistics for each 'scope of + aggregation' containing subscriber sessions of each subscriber + session type the system is capable of providing access. If the + system supports these sets of statistics, then it creates these + entries during the initialization of the SNMP entity. + + A system MAY maintain sets of node-specific statistics. if the + system supports sets of node-specific statistics, then it + creates the appropriate entries upon detection of a physical + entity (resulting from system restart or insertion) containing + those nodes. Likewise, the system destroys these entries + upon removal of the physical entity."; + reference + "A. Bierman and K. McCloghrie, 'Entity MIB (Version 3)', + RFC-4133, August 2005."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1"; + + leaf csubAggStatsPointType { + type enumeration { + enum "physical" { + value "1"; + } + enum "interface" { + value "2"; + } + } + description + "This object indicates format of the csubAggStatsPoint + for this entry. + + The format for the csubAggStatsPoint is as follows: + + csubAggStatsPointType csubAggStatsPoint + ---------------------- ------------------ + 'physical' PhysicalIndex + 'interface' InterfaceIndex"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.1"; + } + + leaf csubAggStatsPoint { + type uint32 { + range "1..4294967295"; + } + description + "This object should be read with csubAggStatsPointType always. + + This object indicates one of the determining factors affecting + the 'scope of aggregation' for the set of statistics contained + by the row. + + The value indicated by this object should be interpreted as the + identifier for the point type specific base table. + + For point types of 'physical', the type specific base table is + the entPhysicalTable and this value is a PhysicalIndex. For + point types of 'interface', the type specific base table is + the ifTable and this value is an InterfaceIndex. + + If this column indicates a physical entity which has an + entPhysicalClass of 'chassis', then the 'scope of aggregation' + may includes those subscriber sessions maintained by all nodes + contained by the system. + + If this column indicates a physical entity which has an + entPhysicalClass of 'module' (e.g., a line card), then the + 'scope of aggregation' may include those subscriber sessions + maintained by the nodes contained by the module. + + If this column indicates a physical entity which has an + entPhysicalClass of 'cpu', then the 'scope of aggregation' may + include those subscriber sessions maintained by the node + running on the processor. + + Aggregation points with entPhysicalTable / ifTable overlap: + For interfaces which map directly to physical 'port' class + entities in the entPhysicalTable, the preferred representation + as aggregation points is the 'physical' point type and + PhysicalIndex identifier."; + reference + "A. Bierman and K. McCloghrie, 'Entity MIB (Version 3)', + RFC-4133, August 2005."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.2"; + } + + leaf csubAggStatsSessionType { + type cisco-subscriber:SubSessionType; + description + "This object indicates one of the determining factors affecting + the 'scope of aggregation' for the statistics contained by the + row. + + If the value of this column is 'all', then the 'scope of + aggregation' may include all subscriber sessions, regardless of + type. + + If the value of this column is not 'all', then the 'scope of + aggregation' may include subscriber sessions of the indicated + subscriber session type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.3"; + } + + leaf csubAggStatsPendingSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber sessions + within the 'scope of aggregation' that are in the PENDING + state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.4"; + } + + leaf csubAggStatsUpSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber sessions + within the 'scope of aggregation' that are in the UP state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.5"; + } + + leaf csubAggStatsAuthSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber session + within the 'scope of aggregation' that have been authenticated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.6"; + } + + leaf csubAggStatsUnAuthSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber session + within the 'scope of aggregation' that have not been authenticated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.7"; + } + + leaf csubAggStatsLightWeightSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber + sessions within the 'scope of aggregation' that are less resource intensive."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.8"; + } + + leaf csubAggStatsRedSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the current number of subscriber sessions + within the 'scope of aggregation' that are redundant (i.e., + sessions with a csubSessionRedundancyMode of 'standby')."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.9"; + } + + leaf csubAggStatsHighUpSessions { + type yang:gauge32; + units "sessions"; + description + "This object indicates the highest number of subscriber sessions + within the 'scope of aggregation' observed simultaneously in the UP + state since the last discontinuity time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.10"; + } + + leaf csubAggStatsAvgSessionUptime { + type yang:gauge32; + units "seconds"; + description + "This object indicates the average time subscriber sessions + within the 'scope of aggregation' spent in the UP state. + + The system calculates this average over all subscriber + sessions maintained by all nodes contained by the 'scope of + aggregation' since the last discontinuity time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.11"; + } + + leaf csubAggStatsAvgSessionRPM { + type yang:gauge32; + units "sessions per minute"; + description + "This object indicates the average rate (per minute) at which + the nodes contained by the 'scope of aggregation' have + established new subscriber sessions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.12"; + } + + leaf csubAggStatsAvgSessionRPH { + type yang:gauge32; + units "sessions per hour"; + description + "This object indicates the average rate (per hour) at which the + nodes contained by the 'scope of aggregation' have established new + subscriber sessions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.13"; + } + + leaf csubAggStatsThrottleEngagements { + type yang:counter64; + units "engagements"; + description + "This object indicates the number of times that nodes contained + within the 'scope of aggregation' have engaged the subscriber + session throttle since the last discontinuity time. + + The mechanics of a subscriber session throttle vary with + subscriber session type and implementation. However, the + general concept of the throttle prevents a node from having + to deal with more than a configured number of requests to + establish subscriber sessions from the same CPE within the a + configured interval of time. When the number of requests + exceeds the configured threshold within the configured interval, + then the node processing the requests engages the throttle. + Typically, when a node engages a throttle, it drops requests + from the CPE for some period of time, after which the node + disengages the throttle. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.14"; + } + + leaf csubAggStatsTotalCreatedSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' created since the + discontinuity time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.15"; + } + + leaf csubAggStatsTotalFailedSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that were in the PENDING state + and terminated for reasons other than disconnect since the last + discontinuity time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.16"; + } + + leaf csubAggStatsTotalUpSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned to the UP + state since the last discontinuity time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.17"; + } + + leaf csubAggStatsTotalAuthSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned from the + UNAUTHENTICATED to the AUTHENTICATED state since the last + discontinuity time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.18"; + } + + leaf csubAggStatsTotalDiscSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + terminated due to a disconnect event since the last + discontinuity time. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other times + as indicated by the value of csubAggStatsDiscontinuityTime"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.19"; + } + + leaf csubAggStatsTotalLightWeightSessions { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + that are less resource intensive"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.20"; + } + + leaf csubAggStatsTotalFlowsUp { + type yang:counter64; + units "sessions"; + description + "This object indicates the total number of differential traffic classes + on subscriber sessions. IP ACLs are used to create differential flows(Traffic Classes). + Each Traffic Class can have a different set of features applied."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.21"; + } + + leaf csubAggStatsDayCreatedSessions { + type perfhist-tc:PerfTotalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' created during the last 24 + hours. + + The system calculates the value of this column by summing the + values of all instances of csubAggStatsIntCreatedSessions that + expand this row and have a corresponding csubAggStatsIntValid of + 'true'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.22"; + } + + leaf csubAggStatsDayFailedSessions { + type perfhist-tc:PerfTotalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that were in the PENDING state + and terminated for reasons other than disconnect during the + last 24 hours. + + The system calculates the value of this column by summing the + values of all instances of csubAggStatsIntFailedSessions that + expand this row and have a corresponding csubAggStatsIntValid + of 'true'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.23"; + } + + leaf csubAggStatsDayUpSessions { + type perfhist-tc:PerfTotalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned to the UP + state during the last 24 hours. + + The system calculates the value of this column by summing the + values of all instances of csubAggStatsIntUpSessions that + expand this row and have a corresponding csubAggStatsIntValid + of 'true'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.24"; + } + + leaf csubAggStatsDayAuthSessions { + type perfhist-tc:PerfTotalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned from the + UNAUTHENTICATED to the AUTHENTICATED state during the last 24 + hours. + + The system calculates the value of this column by summing the + values of all instances of csubAggStatsIntAuthSessions that + expand this row and have a corresponding csubAggStatsIntValid of + 'true'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.25"; + } + + leaf csubAggStatsDayDiscSessions { + type perfhist-tc:PerfTotalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + terminated due to a disconnect event during the last 24 hours. + + The system calculates the value of this column by summing the + values of all instances of csubAggStatsIntDiscSessions that + expand this row and have a corresponding csubAggStatsIntValid of + 'true'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.26"; + } + + leaf csubAggStatsCurrTimeElapsed { + type yang:gauge32 { + range "0..899"; + } + units "seconds"; + description + "This object indicates the time that has elapsed since the + beginning of the current 15-minute measurement interval. If, + for some reason, such as an adjustment in the system's + time-of-day clock, the current interval exceeds the maximum + value, then the value of this column will be the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.27"; + } + + leaf csubAggStatsCurrValidIntervals { + type yang:gauge32 { + range "0..96"; + } + units "intervals"; + description + "This object indicates the number of intervals for which data + was collected. The value of this column will be '96' unless the + measurement was started (or restarted) within 1,440 minutes, in + which case the value will be the number of complete 15-minute + intervals for which the system has at least some data. + + In certain cases it is possible that some intervals are + unavailable, in which case the value of this column will + be maximum interval number for which data is available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.28"; + } + + leaf csubAggStatsCurrInvalidIntervals { + type yang:gauge32 { + range "0..96"; + } + units "intervals"; + description + "This object indicates the number of intervals in the range + from 0 to csubCurrValidIntervals for which no data is + available. This object will typically be '0' except in certain + circumstances when some intervals are unavailable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.29"; + } + + leaf csubAggStatsCurrFlowsUp { + type yang:gauge32 { + range "0..96"; + } + units "intervals"; + description + "This object indicates the current number of differential traffic classes + on subscriber sessions currently UP. IP ACLs are used to create differential flows + (Traffic Classes).Each Traffic Class can have a different set of features applied."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.30"; + } + + leaf csubAggStatsCurrCreatedSessions { + type perfhist-tc:PerfCurrentCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' created during the current + 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.31"; + } + + leaf csubAggStatsCurrFailedSessions { + type perfhist-tc:PerfCurrentCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that were in the PENDING state + and terminated for reasons other than disconnect during the + current 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.32"; + } + + leaf csubAggStatsCurrUpSessions { + type perfhist-tc:PerfCurrentCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned to the UP + state during the current 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.33"; + } + + leaf csubAggStatsCurrAuthSessions { + type perfhist-tc:PerfCurrentCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned from the + UNAUTHENTICATED to the AUTHENTICATED state during the current + 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.34"; + } + + leaf csubAggStatsCurrDiscSessions { + type perfhist-tc:PerfCurrentCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + terminated due to a disconnect event during the current + 15-minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.35"; + } + + leaf csubAggStatsDiscontinuityTime { + type snmpv2-tc:DateAndTime; + description + "The date and time (as determined by the system's clock) of + the most recent occurrence of an event affecting the + continuity of the aggregation statistics for this aggregation + point."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.36"; + } + } + } + + container csubAggStatsIntTable { + description + "This table contains aggregated subscriber session performance + data collected for as much as a day's worth of 15-minute + measurement intervals. + + This table has an expansion dependent relationship on the + csubAggStatsTable, containing zero or more rows for each row + contained by the csubAggStatsTable. + + Observe that the collection and maintenance of aggregated + subscriber performance data is OPTIONAL for all scopes of + aggregation. However, an implementation should maintain at + least one interval for the 'scope of aggregation' that contains + all subscriber sessions maintained by the system."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2"; + + list csubAggStatsIntEntry { + key "csubAggStatsPointType csubAggStatsPoint csubAggStatsSessionType csubAggStatsIntNumber"; + description + "An entry contains the aggregated subscriber session performance + data collected over a single 15-minute measurement interval + within a 'scope of aggregation'. For further details regarding + 'scope of aggregation', see the descriptive text associated with + the csubAggStatsEntry."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1"; + + leaf csubAggStatsPointType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType"; + } + } + + leaf csubAggStatsPoint { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint"; + } + } + + leaf csubAggStatsSessionType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType"; + } + } + + leaf csubAggStatsIntNumber { + type uint32 { + range "1..96"; + } + description + "This object indicates the interval number identifying the + 15-minute measurement interval for which aggregated subscriber + session performance data was successfully collected by the + system. + + The interval identified by the value '1' represents the most + recent 15-minute measurement interval, and the interval + identified by the value (n) represents the interval immediately + preceding the interval identified by the value (n-1)."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.1"; + } + + leaf csubAggStatsIntValid { + type boolean; + description + "This object indicates whether the data for the 15-minute + measurement interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.2"; + } + + leaf csubAggStatsIntCreatedSessions { + type perfhist-tc:PerfIntervalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' created during the 15-minute + measurement interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.3"; + } + + leaf csubAggStatsIntFailedSessions { + type perfhist-tc:PerfIntervalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that were in the PENDING state + and terminated for reasons other than disconnect during the + 15-minute measurement interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.4"; + } + + leaf csubAggStatsIntUpSessions { + type perfhist-tc:PerfIntervalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned to the UP + state during the 15-minute measurement interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.5"; + } + + leaf csubAggStatsIntAuthSessions { + type perfhist-tc:PerfIntervalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + within the 'scope of aggregation' that transitioned from the + UNAUTHENTICATED to the AUTHENTICATED state during the + 15-minute measurement interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.6"; + } + + leaf csubAggStatsIntDiscSessions { + type perfhist-tc:PerfIntervalCount; + units "sessions"; + description + "This object indicates the total number of subscriber sessions + terminated due to a disconnect event during the 15-minute + measurement interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.7"; + } + } + } + + container csubAggStatsThreshTable { + description + "Please enter the Table Description here."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3"; + + list csubAggStatsThreshEntry { + key "csubSessionRisingThresh"; + description + "A row in this table exists for each row in the + csubAggStatsTable. + Each row defines the set of thresholds and evaluation attributes + for an aggregation point."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1"; + + leaf csubSessionRisingThresh { + type uint32 { + range "0..4294967295"; + } + description + "This threshold, if non-zero, indicates the rising threshold + for the value of csubAggStatsUpSessions for the aggregation + point, + When the current sample of csubAggStatsUpSessions is greater + than + or equal to this threshold, and the value of + csubAggStatsUpSessions + for the last sample interval was less than this thershold, the + csubSessionRisingNotif is triggered. + + If the value of this threshold is 0, the threshold is + not evaluated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.1"; + } + + leaf csubSessionFallingThresh { + type uint32 { + range "0..4294967295"; + } + description + "This threshold, if non-zero, indicates the falling threshold + for the value of csubAggStatsUpSessions for the aggregation + point, + When the current sample of csubAggStatsUpSessions is less than + or equal to this threshold, and the value of + csubAggStatsUpSessions + for the last sample interval was greater than this thershold, + the + csubSessionFallingNotif is triggered. + + If the value of this threshold is 0, the threshold is + not evaluated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.2"; + } + + leaf csubSessionDeltaPercentFallingThresh { + type uint32 { + range "0..100"; + } + description + "This threshold, if non-zero, indicates the delta falling + threshold + as a percentage of the value of csubAggStatsUpSessions for the + aggregation point, The delta as a percentage of + csubAggStatsUpSessions (delta_percent) is calculated as + follows: + current value of csubAggStatsUpSessions = value(n) + previous sampled value of csubAggStatsUpSessions = + value(n-1) + + delta_percent = ((value(n-1) - value(n)) / + value(n-1)) * 100 + + If the delta_percent value of the current evaluation + interval is + greater than the value of this threshold, a + csubSessionDeltaPercentLossNotif is triggered. + + If the value of this threshold is 0, the threshold is + not evaluated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.3"; + } + + leaf csubSessionThreshEvalInterval { + type uint32 { + range "0..900"; + } + description + "The value of this object sets the number of seconds between + samples + for threshold evaluation. For implementations capable of + per-session event evaluation of thresholds this object + represents the maximum number of seconds between samples."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.4"; + } + } + } + + container csubJobTable { + description + "This table contains the subscriber session jobs submitted by + the EMS/NMS."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7"; + + list csubJobEntry { + key "csubJobId"; + description + "An entry describing a subscriber session job. At this time, + subscriber session jobs can perform one of two tasks: + + - Subscriber Session Query + This type of job invokes the report generator, which builds + a list of subscriber sessions matching criteria specified by + the corresponding row in the csubJobMatchParamsTable. The + list built by the report generator must conform to + parameters specified by the corresponding row in + csubJobQueryParamsTable, which at this time only affects + sorting order. + + - Subscriber Session Clear + This type of job causes the system to terminate those + subscriber sessions matching criteria specified by the + corresponding row in the csubJobMatchParamsTable. + + The following procedure summarizes how the EMS/NMS can start and + monitor a subscriber session job: + + 1) The EMS/NMS must start by reading csubJobIdNext. If it is + zero, continue polling csubJobIdNext until it is non-zero. + + 2) The EMS/NMS creates a row in the csubJobTable using the + instance identifier retrieved in the last step. Since every + object contained by the entry with a MAX-ACCESS of + 'read-create' specifies a default value, it makes little + difference whether the EMS/NMS employs create-and-wait or + create-and-go semantics. + + 3) The EMS/NMS sets the type of subscriber session job by + setting the corresponding instance of csubJobType. + + 4a) If the job is a 'query', then the EMS/NMS must configure + the query before starting it by setting columns contained + by the corresponding rows in the csubJobMatchParamsTable and + csubJobQueryParamsTable. + + 4b) If job is a 'clear', then the EMS/NMS must configure + the job before starting it by setting columns contained by + the corresponding row in the csubJobMatchParamsTable. + + 5) The EMS/NMS can now start the job by setting the + corresponding instance of csubJobControl to 'start'. + + 6) The EMS/NMS can monitor the progress of the job by polling + the corresponding instance of csubJobState. It can also + wait for a csubJobFinishedNotify notification. When the + state of the job transitions to 'finished', then the system + has finished executing the job. + + 7) The EMS/NMS can determine the final status of the job by + reading the corresponding instance of csubJobFinishedReason. + If job is a 'query' and the corresponding instance of + csubJobFinishedReason is 'normal', then the EMS/NMS can + safely read the report by retrieving the corresponding + rows from the csubJobReportTable. + + 8a) After a job has finished, the EMS/NMS has the option of + destroying it. It can do this by simply setting the + corresponding instance of csubJobStatus to 'destroy'. + Alternatively, the EMS/NMS may retain the job and execute it + again in the future (by returning to step 5). Additionally, + nothing would prevent the EMS/NMS from changing the job's + type, which causes the automatic destruction of the + corresponding report. + + 8b) If the job is a 'query' and the EMS/NMS opts to retain the + job, then it may consider releasing the corresponding report + after reading it. It can do this by setting the + corresponding instance of csubJobControl to 'release'."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1"; + + leaf csubJobId { + type CISCO-SUBSCRIBER-SESSION-MIB:SubscriberJobIdentifier; + description + "This object indicates an arbitrary, positive integer-value + uniquely identifying the subscriber session job."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.1"; + } + + leaf csubJobStatus { + type snmpv2-tc:RowStatus; + description + "This object specifies the status of the subscriber session + job. The following columns must be valid before activating a + subscriber session job: + + - csubJobStorage + - csubJobType + - csubJobControl + + However, these objects specify a default value. Thus, it is + possible to use create-and-go semantics without setting any + additional columns. + + An implementation must allow the EMS/NMS to modify any column + when this column is 'active', including columns defined in + tables that have a one-to-one or sparse dependent relationship + on this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.2"; + } + + leaf csubJobStorage { + type snmpv2-tc:StorageType; + description + "This object specifies what happens to the subscriber session + job upon restart."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.3"; + } + + leaf csubJobType { + type enumeration { + enum "noop" { + value "1"; + } + enum "query" { + value "2"; + } + enum "clear" { + value "3"; + } + } + description + "This object specifies the type of subscriber session job: + + 'noop' + This type of job does nothing and simply serves as a + convenient default value for newly created jobs, thereby + allowing create-and-go row creation without having to + specify the type of job. + + 'query' + This type of job starts a subscriber session query. The + system searches for any subscriber sessions matching the + configured criteria and sorts them into a resulting + report. + + Upon activation of a subscriber session with this value, + the system automatically creates corresponding rows in + the csubJobMatchParamsTable and csubQueryParamsTable. + + 'clear' + This type of job causes the system to terminated all + subscriber sessions matching configured criteria. + + Upon activation of a subscriber session with this value, + the system automatically creates a corresponding row in + the csubJobMatchParamsTable."; + smiv2:defval "noop"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.4"; + } + + leaf csubJobControl { + type enumeration { + enum "noop" { + value "1"; + } + enum "start" { + value "2"; + } + enum "abort" { + value "3"; + } + enum "release" { + value "4"; + } + } + description + "This object specifies an action relating to the subscriber + session job: + + 'noop' + This action does nothing. + + 'start' + If the corresponding instance of csubJobType is 'noop', + then this action simply causes the system to set the + corresponding instances of csubJobState and + csubJobFinishedReason to 'finished' and 'normal', + respectively. + + If the corresponding instance of csubJobType is not + 'noop' and the system is not executing a subscriber + session job, then this action causes the system + immediately execute the subscriber session job. + + If the corresponding instance of csubJobType is not + 'noop' and the system is already executing a subscriber + session job, then this action causes the system to put + the job on the subscriber session job queue. + + 'abort' + If the subscriber session job is in the subscriber + session job queue, then this action causes the system to + remove the job from the queue. + + If the system is executing the subscriber session job, + then this action causes the system to stop the job. + + 'release' + This action causes the system to destroy any + corresponding rows in the csubJobReportTable. + + The system only accepts this action for a previously + executed subscriber session job having a corresponding + instance of csubJobType set to 'query'. Any attempt to + issue this action under other circumstances will result + in a response indicating an error-status of + 'inconsistentValue'. + + When read, this column is always 'noop'."; + smiv2:defval "noop"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.5"; + } + + leaf csubJobState { + type enumeration { + enum "idle" { + value "1"; + } + enum "pending" { + value "2"; + } + enum "inProgress" { + value "3"; + } + enum "finished" { + value "4"; + } + } + description + "This object indicates the current state of the subscriber + session job: + + 'idle' + This state indicates that the system has not executed + the subscriber session job since it was created. + + 'pending' + This state indicates that the subscriber session job is + waiting in the subscriber session job queue. + + 'inProgress' + This state indicates that the system is executing the + subscriber session job. Observe that the system may + execute more than one subscriber session job at a time. + + 'finished' + This state indicates that the system has executed the + subscriber session job and it has finished. The + corresponding instance of csubJobFinishedReason + indicates further details regarding the reason why the + job finished."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.6"; + } + + leaf csubJobStartedTime { + type yang:timestamp; + description + "This object indicates the value of sysUpTime when the system + started executing the subscriber session job. This value will + be '0' when the corresponding instance of csubJobState is 'idle' + or 'pending'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.7"; + } + + leaf csubJobFinishedTime { + type yang:timestamp; + description + "This object indicates the value of sysUpTime when the system + finished executing the subscriber session job, for whatever + reason. This value will be '0' when the corresponding instance + of csubJobState is 'idle', 'pending', or 'inProgress'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.8"; + } + + leaf csubJobFinishedReason { + type enumeration { + enum "invalid" { + value "1"; + } + enum "other" { + value "2"; + } + enum "normal" { + value "3"; + } + enum "aborted" { + value "4"; + } + enum "insufficientResources" { + value "5"; + } + enum "error" { + value "6"; + } + } + description + "This object indicates the reason why the system finished + executing the subscriber session job: + + 'invalid' + Indicates that the corresponding instance of + csubJobState is either 'idle', 'pending', or + 'inProgress'. + + 'other' + Indicates that the system finished executing the + subscriber session job abnormally for a reason not + recognized by this MIB module. + + 'normal' + Indicates that the system finished executing the + subscriber session job with no problems. + + 'aborted' + Indicates that the system finished executing the + subscriber session job as the result of the EMS/NMS + writing 'abort' to the corresponding instance of + csubJobControl. + + 'insufficientResources' + Indicates that the system finished executing the + subscriber session job abnormally due to insufficient + resources to continue. + + 'error' + Indicates that the system encountered an error that + prevented it from completing the job."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.9"; + } + } + } + + container csubJobMatchParamsTable { + description + "This table contains subscriber session job parameters + describing match criteria. + + This table has a sparse-dependent relationship on the + csubJobTable, containing a row for each job having a + csubJobType of 'query' or 'clear'."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8"; + + list csubJobMatchParamsEntry { + key "csubJobId"; + description + "An entry describes a set of subscriber session match criteria. + The set contains those subscriber session identities specified + by csubJobMatchIdentities. + + If the corresponding row in the csubJobTable has a csubJobType + of 'query', then the system builds a report containing those + subscriber sessions matching these criteria. + + If the corresponding row in the csubJobTable has a csubJobType + of 'clear', then the system terminates those subscriber + sessions matching these criteria. + + The system automatically creates an entry when the EMS/NMS sets + the corresponding instance of csubJobType to 'query' or 'clear'. + Likewise, the system automatically destroys an entry under the + following circumstances: + + 1) The EMS/NMS destroys the corresponding row in the + csubJobTable. + + 2) The EMS/NMS sets the corresponding instance of csubJobType + to 'noop'."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1"; + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobMatchIdentities { + type cisco-subscriber-identity:SubSessionIdentities; + description + "This object specifies the subscriber identities that the + system uses to determine the subscriber sessions the job + executes on. + + Each bit in this bit string corresponds to one or more columns + in this table. If the bit is '0', then the value of the + corresponding columns are invalid. If the bit is '1', then the + value of corresponding columns are valid. + + The following list specifies the mappings between the bits and + the columns: + + 'subscriberLabel' => csubJobMatchSubscriberLabel + 'macAddress' => csubJobMatchMacAddress + 'nativeVrf' => csubJobMatchNativeVrf + 'nativeIpAddress' => csubJobMatchNativeIpAddrType, + csubJobMatchNativeIpAddr, + csubJobMatchNativeIpMask, + 'domainVrf' => csubJobMatchDomainVrf + 'domainIpAddress' => csubJobMatchDomainIpAddrType, + csubJobMatchDomainIpAddr, + csubJobMatchDomainIpMask + 'pbhk' => csubJobMatchPbhk + 'remoteId' => csubJobMatchRemoteId + 'circuitId' => csubJobMatchCircuitId + 'nasPort' => csubJobMatchNasPort + 'domain' => csubJobMatchDomain + 'username' => csubJobMatchUsername + 'acctSessionId' => csubJobMatchAcctSessionId + 'dnis' => csubJobMatchDnis + 'media' => csubJobMatchMedia + 'mlpNegotiated' => csubJobMatchMlpNegotiated + 'protocol' => csubJobMatchProtocol + 'serviceName' => csubJobMatchServiceName + 'dhcpClass' => csubJobMatchDhcpClass + 'tunnelName' => csubJobMatchTunnelName + + Observe that the bit 'ifIndex' has no meaning, as subscriber + session jobs do not match against this subscriber session + identity."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.1"; + } + + leaf csubJobMatchOtherParams { + type bits { + bit danglingDuration { + position "0"; + } + bit state { + position "1"; + } + bit authenticated { + position "2"; + } + bit redundancyMode { + position "3"; + } + } + description + "This object specifies other parameters relating to subscriber + sessions a subscriber session job may match against. + + Each bit in this bit string corresponds to a column in this + table. If the bit is '0', then the value of the corresponding + column is invalid. If the bit is '1', then the value of the + corresponding column represents the value of the parameter + identity the system should match against for the corresponding + subscriber session job. + + The following list specifies the mappings between bits and the + columns: + + 'danglingDuration' => csubJobMatchDanglingDuration + 'state' => csubJobMatchState + 'authenticated' => csubJobMatchAuthenticated + 'redundancyMode' => csubJobMatchRedundancyMode"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.2"; + } + + leaf csubJobMatchSubscriberLabel { + type cisco-subscriber-identity:SubscriberLabel; + description + "This object specifies the subscriber label that the system + matches against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'subscriberLabel' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.3"; + } + + leaf csubJobMatchMacAddress { + type yang:mac-address; + description + "This object specifies the MAC address that the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'macAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.4"; + } + + leaf csubJobMatchNativeVrf { + type cisco-subscriber-identity:SubscriberVRF; + description + "This object specifies the native VRF the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'nativeVrf' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.5"; + } + + leaf csubJobMatchNativeIpAddrType { + type inet-address:InetAddressType; + description + "This object specifies the type of Internet address specified + by csubJobMatchNativeIpAddr and csubJobMatchNativeIpMask. + + This value is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "unknown"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.6"; + } + + leaf csubJobMatchNativeIpAddr { + type inet-address:InetAddress; + description + "This object specifies the native IP address that the system + matches against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.7"; + } + + leaf csubJobMatchNativeIpMask { + type inet-address:InetAddress; + description + "This object specifies the mask used when matching the native IP + address against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'nativeIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.8"; + } + + leaf csubJobMatchDomainVrf { + type cisco-subscriber-identity:SubscriberVRF; + description + "This object specifies the domain VRF the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'domainVrf' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.9"; + } + + leaf csubJobMatchDomainIpAddrType { + type inet-address:InetAddressType; + description + "This object specifies the type of Internet address specified + by csubJobMatchDomainIpAddr and csubJobMatchDomainIpMask. + + This value is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "unknown"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.10"; + } + + leaf csubJobMatchDomainIpAddr { + type inet-address:InetAddress; + description + "This object specifies the domain IP address that the system + matches against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.11"; + } + + leaf csubJobMatchDomainIpMask { + type inet-address:InetAddress; + description + "This object specifies the mask used when matching the domain IP + address against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'domainIpAddress' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.12"; + } + + leaf csubJobMatchPbhk { + type cisco-subscriber-identity:SubscriberPbhk; + description + "This object specifies the PBHK that the system matches against + subscriber sessions in the process of executing a subscriber + session job. + + This value is valid only if the 'pbhk' bit of the corresponding + instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.13"; + } + + leaf csubJobMatchRemoteId { + type cisco-subscriber-identity:SubscriberRemoteId; + description + "This object specifies the Remote-Id the system matches against + subscriber sessions in the process of executing a subscriber + session job. + + This value is valid only if the 'remoteId' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.14"; + } + + leaf csubJobMatchCircuitId { + type cisco-subscriber-identity:SubscriberCircuitId; + description + "This object specifies the Circuit-Id the system matches against + subscriber sessions in the process of executing a subscriber + session job. + + This value is valid only if the 'circuitId' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.15"; + } + + leaf csubJobMatchNasPort { + type cisco-subscriber-identity:SubscriberNasPort; + description + "This object specifies the NAS port-identifier the system + matches against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'nasPort' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "'00'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.16"; + } + + leaf csubJobMatchDomain { + type cisco-subscriber-identity:SubscriberDomain; + description + "This object specifies the domain the system matches against + subscriber sessions in the process of executing a subscriber + session job. + + This value is valid only if the 'domain' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.17"; + } + + leaf csubJobMatchUsername { + type cisco-subscriber-identity:SubscriberUsername; + description + "This object specifies the username the system matches against + subscriber sessions in the process of executing a subscriber + session job. + + This value is valid only if the 'username' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.18"; + } + + leaf csubJobMatchAcctSessionId { + type cisco-subscriber-identity:SubscriberAcctSessionId; + description + "This object specifies the accounting session identifier the + system matches against subscriber sessions in the process of + executing a subscriber session job. + + This value is valid only if the 'accountingSid' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.20"; + } + + leaf csubJobMatchDnis { + type cisco-subscriber-identity:SubscriberDnis; + description + "This object specifies the DNIS number the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'dnis' bit of the corresponding + instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.21"; + } + + leaf csubJobMatchMedia { + type cisco-subscriber-identity:SubscriberMediaType; + description + "This object specifies the media type the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'media' bit of the corresponding + instance of csubJobMatchIdentities is '1'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.22"; + } + + leaf csubJobMatchMlpNegotiated { + type boolean; + description + "This object specifies the MLP negotiated flag the system + matches against subscriber sessions in the process of executing + a subscriber session job. + + This value is valid only if the 'mlpNegotiated' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.23"; + } + + leaf csubJobMatchProtocol { + type cisco-subscriber-identity:SubscriberProtocolType; + description + "This object specifies the protocol type the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'protocol' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.24"; + } + + leaf csubJobMatchServiceName { + type cisco-cbp:CbpElementName; + description + "This object specifies the service name the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'serviceName' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.25"; + } + + leaf csubJobMatchDhcpClass { + type cisco-subscriber-identity:SubscriberDhcpClass; + description + "This object specifies the DHCP class name the system matches + against subscriber sessions in the process of executing a + subscriber session job. + + This value is valid only if the 'dhcpClass' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.26"; + } + + leaf csubJobMatchTunnelName { + type cisco-subscriber-identity:SubscriberTunnelName; + description + "This object specifies the tunnel name the system matches + against subscriber session in the process of executing a + subscriber session job. + + This value is valid only if the 'tunnelName' bit of the + corresponding instance of csubJobMatchIdentities is '1'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.27"; + } + + leaf csubJobMatchDanglingDuration { + type uint32 { + range "0..3600"; + } + description + "This object specifies the minimum interval of time a subscriber + session can remain dangling in order for the system to consider + it a match in the process of executing a subscriber session job. + A 'dangling' subscriber session is one in the PENDING state. + + The value '0' cannot be written to an instance of this object. + However, it serves as a convenient value when the column is not + valid. + + This value is valid only if the 'danglingDuration' bit of the + corresponding instance of csubJobMatchOtherParams is '1'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.28"; + } + + leaf csubJobMatchState { + type cisco-subscriber:SubSessionState; + description + "This object specifies the state of a subscriber session in + order for the system to consider a match in the process of + executing a subscriber session job. + + The value 'other' is not valid and an implementation should + not allow it to be written to this column. + + This value is valid only if the 'state' bit of the + corresponding instance of csubJobMatchOtherParams is '1'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.29"; + } + + leaf csubJobMatchAuthenticated { + type boolean; + description + "This object specifies whether a subscriber session should be + unauthenticated for the system to consider a match in the + process of executing a subscriber session job. + + If this column is 'false', then the subscriber session job + matches subscriber sessions that are unauthenticated. + + If this column is 'true', then the subscriber session job + matches subscriber session that are authenticated. + + This value is valid only if the 'authenticated' bit of the + corresponding instance of csubJobMatchParams is '1'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.30"; + } + + leaf csubJobMatchRedundancyMode { + type cisco-subscriber:SubSessionRedundancyMode; + description + "This object specifies the redudancy mode of the subscriber + session in order for the system to consider a match in the + process of executing a subscriber session job. + + The value 'other' is not valid and an implementation should not + allow it to be written to this column. + + This value is valid only if the 'redundancyMode' bit of the + corresponding instance of csubJobMatchOtherParams is '1'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.31"; + } + } + } + + container csubJobQueryParamsTable { + description + "This table contains subscriber session job parameters + describing query parameters. + + This table has a sparse-dependent relationship on the + csubJobTable, containing a row for each job having a + csubJobType of 'query'."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9"; + + list csubJobQueryParamsEntry { + key "csubJobId"; + description + "An entry describes a set of subscriber session query + parameters. + + The system automatically creates an entry when the EMS/NMS sets + the corresponding instance of csubJobType to 'query'. Likewise, + the system automatically destroys an entry under the following + circumstances: + + 1) The EMS/NMS destroys the corresponding row in the csubJobTable. + + 2) The EMS/NMS sets the corresponding instance of csubJobType to + 'noop' or 'clear'."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1"; + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobQuerySortKey1 { + type cisco-subscriber-identity:SubSessionIdentity; + description + "This object specifies the first subscriber identity that the + system uses when sorting subscriber sessions into the final + report corresponding to a subscriber session query. + + It is not valid to set this column to 'other' or 'ifIndex'."; + smiv2:defval "subscriberLabel"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.1"; + } + + leaf csubJobQuerySortKey2 { + type cisco-subscriber-identity:SubSessionIdentity; + description + "This object specifies the second subscriber identity that the + system uses when sorting subscriber sessions into the final + report corresponding to a subscriber session query. + + If it is the desire to have the final report sorted on a single + subscriber identity, then this column should be 'other'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.2"; + } + + leaf csubJobQuerySortKey3 { + type cisco-subscriber-identity:SubSessionIdentity; + description + "This object specifies the third subscriber identity that the + system uses when sorting subscriber sessions into the final + report corresponding to a subscriber session query. + + If it is the desire to have the final report sorted on one or + two subscriber identities, then this column should be 'other'."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.3"; + } + + leaf csubJobQueryResultingReportSize { + type yang:gauge32; + description + "This object indicates the number of subscriber sessions that + matched the corresponding subscriber session query. + + The value of this column should be '0' unless the corresponding + value of csubJobState is 'finished'. + + The value of this column should be '0' after the EMS/NMS sets + the corresponding csubJobControl to 'release'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.4"; + } + } + } + + container csubJobQueueTable { + description + "This table lists the subscriber session jobs currently pending + in the subscriber session job queue."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10"; + + list csubJobQueueEntry { + key "csubJobQueueNumber"; + description + "An entry describing an subscriber session job in the + subscriber session job queue. + + The system creates an entry in this table when it places a + subscriber session job on the subscriber session job queue. It + does this when the EMS/NMS sets an instance of csubJobControl to + 'start' and the system is already executing a subscriber session + job. Likewise, the system destroys an entry when it removes it + from the queue. This occurs under the following circumstances: + + 1) The system has finished executing a job, for whatever + reason, and is ready to start executing the job at the head + of the queue. + + 2) The EMS/NMS has set an instance of csubJobControl to 'abort' + for a job that was on the queue."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1"; + + leaf csubJobQueueNumber { + type uint32 { + range "1..4294967295"; + } + description + "This object indicates an positive, integer-value that uniquely + identifies the entry in the table. The value of this object + starts at '1' and monotonically increases for each subscriber + session job inserted into the subscriber session job queue. If + the value of this object is '4294967295', the system will reset + it to '1' when it inserts the next subscriber session job into + the subscriber session job queue."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1.1"; + } + + leaf csubJobQueueJobId { + type CISCO-SUBSCRIBER-SESSION-MIB:SubscriberJobIdentifier; + description + "This object indicates the identifier associated with the + subscriber session job."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1.2"; + } + } + } + + container csubJobReportTable { + description + "This table contains the reports corresponding to subscriber + session jobs that have a csubJobType of 'query' and + csubJobState of 'finished'. + + This table has an expansion dependent relationship on the + csubJobTable, containing zero or more rows for each job."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11"; + + list csubJobReportEntry { + key "csubJobId csubJobReportId"; + description + "An entry describes a subscriber session that satisfied the + match criteria specified by the corresponding job. + + The system creates an entry for each subscriber session that + satisfied the specified match criteria of a subscriber session + job having a csubJobType of 'query'. However, it does not + create these entries until after the system has successfully + executed the subscriber session job. + + The system destroys an entry under the following circumstances: + + 1) The corresponding subscriber session job has been destroyed + by the EMS/NMS. + + 2) The value of csubJobMaxLife is non-zero and the age of the + report has reached the specified maximum life. + + 3) The EMS/NMS has set the corresponding instance of + csubJobControl to 'release'. + + 4) The EMS/NMS has restarted the corresponding subscriber + session job (i.e., has set the corresponding instance of + csubJobControl to 'start')."; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1"; + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobReportId { + type uint32 { + range "1..4294967295"; + } + description + "This object indicates an arbitrary, positive, integer-value + that uniquely identifies this entry in a report. This auxiliary + value is necessary, as the corresponding subscriber session job + can specify up to three subscriber identities on which to sort + the subscriber sessions that end up in the final report."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1.1"; + } + + leaf csubJobReportSession { + type if-mib:InterfaceIndex; + description + "This object indicates the ifIndex-value assigned to the + subscriber session that satisfied the match criteria specified + by the corresponding subscriber session job having a csubJobType + of 'query'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1.2"; + } + } + } + } + + notification csubJobFinishedNotify { + description + "The system generates this notification when the system finishes + executing a subscriber session job, provided the value of + csubJobFinishedNotifyEnable is 'true'. The notification + indicates the following additional data: + + csubJobStartedTime + The value of sysUpTime when the system started executing + the subscriber session job. + + csubJobFinishedTime + The value of sysUpTime when the system finished + executing the subscriber session job, for whatever + reason. + + csubJobFinishedReason + The reason why the system finished executing the + subscriber session job."; + smiv2:oid "1.3.6.1.4.1.9.9.786.0.1"; + + container object-1 { + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobStartedTime { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobStartedTime"; + } + } + } + + container object-2 { + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobFinishedTime { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobFinishedTime"; + } + } + } + + container object-3 { + + leaf csubJobId { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId"; + } + } + + leaf csubJobFinishedReason { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobFinishedReason"; + } + } + } + } + + notification csubSessionRisingNotif { + description + "This notification is generated when the value of + csubAggStatsThreshNotifEnable is 'true' AND the value of + csubSessionRisingThresh is non-zero AND the current value + csubAggStatsUpSessions is greater than or equal to the + corresponding value of csubSessionRisingThresh and the previous + sample of csubAggStatsUpSessions was less than + csubSessionRisingThresh."; + smiv2:oid "1.3.6.1.4.1.9.9.786.0.2"; + + container object-1 { + + leaf csubAggStatsPointType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType"; + } + } + + leaf csubAggStatsPoint { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint"; + } + } + + leaf csubAggStatsSessionType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType"; + } + } + + leaf csubAggStatsUpSessions { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions"; + } + } + } + + container object-2 { + + leaf csubSessionRisingThresh { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh"; + } + } + } + } + + notification csubSessionFallingNotif { + description + "This notification is generated when the value of + csubAggStatsThreshNotifEnable is 'true' AND the value of + csubSessionFallingThresh is non-zero AND the current value + csubAggStatsUpSessions is less than or equal to the + corresponding value of csubSessionFallingThresh and the previous + sample of csubAggStatsUpSessions was greater than + csubSessionFallingThresh."; + smiv2:oid "1.3.6.1.4.1.9.9.786.0.3"; + + container object-1 { + + leaf csubAggStatsPointType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType"; + } + } + + leaf csubAggStatsPoint { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint"; + } + } + + leaf csubAggStatsSessionType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType"; + } + } + + leaf csubAggStatsUpSessions { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions"; + } + } + } + + container object-2 { + + leaf csubSessionRisingThresh { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh"; + } + } + + leaf csubSessionFallingThresh { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionFallingThresh"; + } + } + } + } + + notification csubSessionDeltaPercentFallingThreshNotif { + description + "This notification is generated when the value of + csubAggStatsThreshNotifEnable is 'true' AND the value of + csubSessionDeltaPercentFallingThresh is non-zero AND + If the delta_percent value of the current + evaluation interval is + greater than the value of + csubSessionDeltaPercentFallingThresh. + + The delta as a percentage of csubAggStatsUpSessions + (delta_percent) + is calculated as follows: + current value of csubAggStatsUpSessions = value(n) + previous sampled value of csubAggStatsUpSessions = + value(n-1) + + delta_percent = ((value(n-1) - value(n)) / + value(n-1)) * 100"; + smiv2:oid "1.3.6.1.4.1.9.9.786.0.4"; + + container object-1 { + + leaf csubAggStatsPointType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType"; + } + } + + leaf csubAggStatsPoint { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint"; + } + } + + leaf csubAggStatsSessionType { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType"; + } + } + + leaf csubAggStatsUpSessions { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions"; + } + } + } + + container object-2 { + + leaf csubSessionRisingThresh { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh"; + } + } + + leaf csubSessionDeltaPercentFallingThresh { + type leafref { + path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionDeltaPercentFallingThresh"; + } + } + } + } + + smiv2:alias "ciscoSubscriberSessionMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.786"; + } + + smiv2:alias "ciscoSubscriberSessionMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.786.0"; + } + + smiv2:alias "ciscoSubscriberSessionMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.786.1"; + } + + smiv2:alias "csubSession" { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.1"; + } + + smiv2:alias "csubAggStats" { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.2"; + } + + smiv2:alias "csubJob" { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.3"; + } + + smiv2:alias "csubAggThresh" { + smiv2:oid "1.3.6.1.4.1.9.9.786.1.4"; + } + + smiv2:alias "ciscoSubscriberSessionMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.786.2"; + } + + smiv2:alias "ciscoSubscriberSessionMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.786.2.1"; + } + + smiv2:alias "ciscoSubscriberSessionMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.786.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-TC-MIB.yang new file mode 100644 index 000000000..416611e6a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SUBSCRIBER-SESSION-TC-MIB.yang @@ -0,0 +1,399 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SUBSCRIBER-SESSION-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SUBSCRIBER-SESSION-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SUBSCRIBER-SESSION-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB"; + prefix CISCO-SUBSCRIBER-SESSION-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This MIB module defines textual conventions describing + subscriber sessions."; + + revision 2012-01-27 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2007-09-26 { + description + "The initial version of the MIB module."; + } + + typedef SubSessionType { + type enumeration { + enum "all" { + value "1"; + } + enum "other" { + value "2"; + } + enum "pppSubscriber" { + value "3"; + } + enum "pppoeSubscriber" { + value "4"; + } + enum "l2tpSubscriber" { + value "5"; + } + enum "l2fSubscriber" { + value "6"; + } + enum "ipInterfaceSubscriber" { + value "7"; + } + enum "ipPktSubscriber" { + value "8"; + } + enum "ipDhcpv4Subscriber" { + value "9"; + } + enum "ipRadiusSubscriber" { + value "10"; + } + enum "l2MacSubscriber" { + value "11"; + } + enum "l2Dhcpv4Subscriber" { + value "12"; + } + enum "l2RadiusSubscriber" { + value "13"; + } + } + description + "An enumerated integer-value describing the type of subscriber + session. This value has the intent of refining the interface + type assigned to a subscriber session. The interface type + assigned to a subscriber session groups those types of + subscriber sessions with similar interface semantics. + + A PPP subscriber session consists of a PPP connection + (RFC-1661) + and has an interface type of 'ppp'. The following subscriber + types refine PPP subscriber sessions: + + 'pppSubscriber' + A PPP connection initiated over a circuit (e.g., an + ISDN + line or ATM VC) using the LCP (RFC-1661). + + 'pppoeSubscriber' + A PPP connection over Ethernet (RFC-2516), initiated + by a PADI (PPPoE Active Discovery Initiation) packet. + + 'l2tpSubscriber' + A PPP connection over an L2TP tunnel (RFC-2661), + initiated by an Incoming-Call-Request control message. + + 'l2fSubscriber' + A PPP connection over an L2F tunnel (RFC-2341), + initiated by a L2F_OPEN message with a non-zero MID. + + An IP subscriber session consists of the routed traffic + associated with a subscriber IP address having an interface + type of 'ipSubscriber'. Routed traffic describes IP traffic + that transits at least one router. If a subscriber's IP + address + is not unique to the system, further distinguishing + characteristics, such as VRF or MAC address, form part of the + subscriber's identity. The following subscriber types refine + IP + subscriber sessions: + + 'ipInterfaceSubscriber' + An IP subcriber session provisioned by the system's + configuration which consists of all traffic received by + the interface to which the provisioning applies. + + 'ipPktSubscriber' + An IP subscriber session initiated by the receipt of + the + first packet received with an unclassified source IP + address. + + 'ipDhcpv4Subscriber' + An IP subscriber session initiated by the receipt of a + DHCPv4 DISCOVER packet (RFC-2131). + + 'ipRadiusSubscriber' + An IP subscriber session initiated by the receipt of a + RADIUS Access-Request packet (RFC-2865). + + An L2 subscriber session consists of the non-routed traffic + associated with a subscriber IP address having an interface + type of 'l2Subscriber'. Non-routed traffic describes IP + traffic + that doesn't transit a router, meaning that the subscriber must + be directly connected to the system or have a connection + through + an L2 access network (e.g., bridges, switches, and tunnels). + The + following subscriber types refine L2 subscriber sessions: + + 'l2MacPacketSubscriber' + An L2 subscriber session initiated by the receipt of + the + first layer 2 packet with an unclassified source MAC + address. + + 'l2Dhcpv4Subscriber' + An L2 subscriber session initiated by the receipt of a + DHCPv4 DISCOVER packet (RFC-2131). + + 'l2RadiusSucriber' + An L2 subscriber session initiated by the receipt of a + RADIUS Access-Request packet (RFC-2865). + + The system should assign the value 'other' to any subscriber + session not recognized by the implementation of a MIB module + using this textual convention. + + The value 'all' represents a special value used to indicate all + subscriber session types. For example, a scope of aggregation + that includes all subscriber session types uses this value to + indicate this fact."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', + RFC-1661, + July 1994. + + R. Droms, 'Dynamic Host Configuration Protocol', RFC-2131, + March + 1997. + + A. Valencia, M. Littlewood, T. Kolar, 'Cisco Layer Two + Forwarding Protocol (L2F)', RFC-2341, May 1998. + + L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and + R. Wheeler, 'A Method for Transmitting PPP Over Ethernet + (PPPoE)', RFC-2516, February 1999. + + W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn, + and + B. Palter, 'Layer Two Tunneling Protocol (L2TP)', + RFC-2661, + August 1999. + + C. Rigney, S. Willens, A. Rubens, and W. Simpson, 'Remote + Authentication Dial-In User Service (RADIUS)', RFC-2865, + June + 2000."; + } + + typedef SubSessionTypes { + type bits { + bit pppSubscriber { + position "0"; + } + bit pppoeSubscriber { + position "1"; + } + bit l2tpSubscriber { + position "2"; + } + bit l2fSubscriber { + position "3"; + } + bit ipInterfaceSubscriber { + position "4"; + } + bit ipPktSubscriber { + position "5"; + } + bit ipDhcpv4Subscriber { + position "6"; + } + bit ipRadiusSubscriber { + position "7"; + } + bit l2MacSubscriber { + position "8"; + } + bit l2Dhcpv4Subscriber { + position "9"; + } + bit l2RadiusSubscriber { + position "10"; + } + } + description + "A bit string describing a set of subscriber session types: + + 'pppSubscriber' + A PPP connection initiated over a circuit (e.g., an ISDN + line or ATM VC) using the LCP (RFC-1661). + + 'pppoeSubscriber' + A PPP connection over Ethernet (RFC-2516), initiated + by a PADI (PPPoE Active Discovery Initiation) packet. + + 'l2tpSubscriber' + A PPP connection over an L2TP tunnel (RFC-2661), + initiated by an Incoming-Call-Request control message. + + 'l2fSubscriber' + A PPP connection over an L2F tunnel (RFC-2341), + initiated by a L2F_OPEN message with a non-zero MID. + + 'ipInterfaceSubscriber' + An IP subcriber session provisioned by the system's + configuration which consists of all traffic received by + the interface the provisioning applies. + + 'ipPktSubscriber' + An IP subscriber session initiated by the receipt of + the first packet received with an unclassified source IP + address. + + 'ipDhcpv4Subscriber' + An IP subscriber session initiated by the receipt of a + DHCPv4 DISCOVER packet (RFC-2131). + + 'ipRadiusSubscriber' + An IP subscriber session initiated by the receipt of a + RADIUS Access-Request packet (RFC-2865). + + 'l2MacSubscriber' + An L2 subscriber session initiated by the receipt of the + first layer 2 packet with an unclassified source MAC + address. + + 'l2Dhcpv4Subscriber' + An L2 subscriber session initiated by the receipt of a + DHCPv4 DISCOVER packet (RFC-2131). + + 'l2RadiusSubscriber' + An L2 subscriber session initiated by the receipt of a + RADIUS Access-Request packet (RFC-2865). + + For more details regarding subscriber session types, see the + descriptive text associated with the SubSessionType textual + convention."; + reference + "W. Simpson, 'The Point-to-Point Protocol (PPP)', RFC-1661, + July 1994. + + R. Droms, 'Dynamic Host Configuration Protocol', RFC-2131, March + 1997. + + A. Valencia, M. Littlewood, T. Kolar, 'Cisco Layer Two + Forwarding Protocol (L2F)', RFC-2341, May 1998. + + L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and + R. Wheeler, 'A Method for Transmitting PPP Over Ethernet + (PPPoE)', RFC-2516, February 1999. + + W. Townsley, A. Valencia, A. Rubens, G. Pall, G. Zorn, and + B. Palter, 'Layer Two Tunneling Protocol (L2TP)', RFC-2661, + August 1999. + + C. Rigney, S. Willens, A. Rubens, and W. Simpson, 'Remote + Authentication Dial-In User Service (RADIUS)', RFC-2865, June + 2000."; + } + + typedef SubSessionState { + type enumeration { + enum "other" { + value "1"; + } + enum "pending" { + value "2"; + } + enum "up" { + value "3"; + } + } + description + "An enumerated integer-value describing the state of a + subscriber session: + + 'other' + The subscriber session is in a state not recognized by + the implementation of a MIB module using this textual + convention. + + 'pending' + The subscriber session is in the PENDING state; + that is, the subscriber session has been initiated and + the system is in the process of establishing the + subscriber session. + + 'up' + The subscriber session is in the UP state; that is, the + system has established the subscriber session."; + } + + typedef SubSessionRedundancyMode { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "active" { + value "3"; + } + enum "standby" { + value "4"; + } + } + description + "An enumerated integer-value describing the redundancy mode in + which a subscriber session is operating: + + 'none' + The subscriber session is not part of a redundant + configuration. + + 'other' + The subscriber session is part of a redundant + configuration and is in a state not recognized by this + MIB module. + + 'active' + The subscriber session is part of a redundant + configuration and is forwarding traffic from the + subscriber. + + 'standby' + The subscriber session is part of a redundant + configuration and ready to become active in the case of + a fail-over event (e.g., linecard failure)."; + } + + smiv2:alias "ciscoSubscriberSessionTcMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.785"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-SYSLOG-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-SYSLOG-MIB.yang new file mode 100644 index 000000000..e95f2ea96 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-SYSLOG-MIB.yang @@ -0,0 +1,609 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-SYSLOG-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-SYSLOG-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-SYSLOG-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB"; + prefix CISCO-SYSLOG-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module to describe and store the system + messages generated by the IOS and any other + OS which supports syslogs."; + + revision 2005-12-03 { + description + "Removed UNITS clause for clogOriginIDType + as UNITS clause is not applicable."; + } + + revision 2005-08-11 { + description + "Added following objects: + clogOriginIDType + clogOriginID"; + } + + revision 2005-06-01 { + description + "Added clogServerGroup."; + } + + revision 1995-08-07 { + description + "Initial version of this MIB module."; + } + + typedef SyslogSeverity { + type enumeration { + enum "emergency" { + value "1"; + } + enum "alert" { + value "2"; + } + enum "critical" { + value "3"; + } + enum "error" { + value "4"; + } + enum "warning" { + value "5"; + } + enum "notice" { + value "6"; + } + enum "info" { + value "7"; + } + enum "debug" { + value "8"; + } + } + description + "The severity of a syslog message. The enumeration + values are equal to the values that syslog uses + 1. + For example, with syslog, emergency=0. + + 'emergency' : system is unusable + 'alert' : action must be taken immediately + 'critical' : critical conditions + 'error' : error conditions + 'warning' : warning conditions + 'notice' : normal but significant condition + 'informational': informational messages + 'debug' : debug-level messages."; + reference + "RFC 3164, Section 4.1 - syslog Message Parts"; + } + + + container CISCO-SYSLOG-MIB { + config false; + + container clogBasic { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1"; + + leaf clogNotificationsSent { + type yang:counter32; + units "notifications"; + description + "The number of clogMessageGenerated notifications that + have been sent. This number may include notifications + that were prevented from being transmitted due to + reasons such as resource limitations and/or + non-connectivity. If one is receiving notifications, + one can periodically poll this object to determine if + any notifications were missed. If so, a poll of the + clogHistoryTable might be appropriate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.1"; + } + + leaf clogNotificationsEnabled { + type boolean; + description + "Indicates whether clogMessageGenerated notifications + will or will not be sent when a syslog message is + generated by the device. Disabling notifications + does not prevent syslog messages from being added + to the clogHistoryTable."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.2"; + } + + leaf clogMaxSeverity { + type CISCO-SYSLOG-MIB:SyslogSeverity; + description + "Indicates which syslog severity levels will be + processed. Any syslog message with a severity value + greater than this value will be ignored by the agent. + note: severity numeric values increase as their + severity decreases, e.g. 'error' is more severe than + 'debug'."; + smiv2:defval "warning"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.3"; + } + + leaf clogMsgIgnores { + type yang:counter32; + units "messages"; + description + "The number of syslog messages which were ignored. A + message will be ignored if it has a severity value + greater than clogMaxSeverity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.4"; + } + + leaf clogMsgDrops { + type yang:counter32; + units "messages"; + description + "The number of syslog messages which could not be + processed due to lack of system resources. Most + likely this will occur at the same time that syslog + messages are generated to indicate this lack of + resources. Increases in this object's value may serve + as an indication that system resource levels should be + examined via other mib objects. A message that is + dropped will not appear in the history table and + no notification will be sent for this message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.5"; + } + + leaf clogOriginIDType { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "hostName" { + value "3"; + } + enum "ipv4Address" { + value "4"; + } + enum "contextName" { + value "5"; + } + enum "userDefined" { + value "6"; + } + } + description + "This object identifies the type of value that + will be contained in clogOriginID object. + + The possible value(s) are: + 'none' : do not send origin identifier in + syslog messages. + 'other' : type that is not identified by other + values specified in this object. + 'hostName' : Send hostname of the system in syslog + messages. + 'ipv4Address': Send IP address of the sending interface. + 'contextName': Send context name of the security device. + 'userDefined': Send user configured string in + syslog message. + + The value 'other' and 'none' can not be set but + can only be read."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.6"; + } + + leaf clogOriginID { + type snmp-framework:SnmpAdminString; + description + "This object is used for configuring the + origin identifier for the syslog messages. + + The origin identifier is useful for identifying + the source of system logging messages in cases + syslog messages from multiple devices are sent + to a single syslog host. + The origin identifier is added to the beginning of + all system logging (syslog) messages sent to remote + hosts. + + The type of the identifier is specified + by clogOriginIDType object. + + This object can be written by the SNMP manager + only when clogOriginIDType is set to 'userDefined'. + + For following value(s) of clogOriginIDType, + this object can not be set; the value of this + object is derived by the system in these cases: + 'contextName' + 'ipv4Address' + 'hostName' + 'other' + 'none' + + This object contains the context name + of the device, when clogOriginIDType is + set to 'contextName'. + + This object contains IPv4 address + (in dotted decimal notation) of the sending + interface when clogOriginIDType is set to + 'ipv4Address'. + + This object contains hostname of the system + when clogOriginIDType is set to 'hostName'. + + This object will contain zero length + octet string when clogOriginIDType is + either 'none' or 'other'."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1.7"; + } + } + + container clogHistory { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2"; + + leaf clogHistTableMaxLength { + type int32 { + range "0..500"; + } + units "entries"; + description + "The upper limit on the number of entries that the + clogHistoryTable may contain. A value of 0 will + prevent any history from being retained. When this + table is full, the oldest entry will be deleted and + a new one will be created."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.1"; + } + + leaf clogHistMsgsFlushed { + type yang:counter32; + units "messages"; + description + "The number of entries that have been removed from + the clogHistoryTable in order to make room for new + entries. This object can be utilized to determine + whether your polling frequency on the history table + is fast enough and/or the size of your history table + is large enough such that you are not missing + messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.2"; + } + } + + container clogServer { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3"; + + leaf clogMaxServers { + type uint32; + description + "The maximum number of syslog servers that can be + configured for the system in clogServerConfigTable. + + A value of zero for this object indicates there is + no specified limit for the system and is only dictated + by system resources."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.1"; + } + } + + container clogHistoryTable { + description + "A table of syslog messages generated by this device. + All 'interesting' syslog messages (i.e. severity <= + clogMaxSeverity) are entered into this table."; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3"; + + list clogHistoryEntry { + key "clogHistIndex"; + description + "A syslog message that was previously generated by this + device. Each entry is indexed by a message index."; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1"; + + leaf clogHistIndex { + type int32 { + range "1..2147483647"; + } + description + "A monotonically increasing integer for the sole + purpose of indexing messages. When it reaches the + maximum value the agent flushes the table and wraps + the value back to 1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.1"; + } + + leaf clogHistFacility { + type snmpv2-tc:DisplayString { + length "1..20"; + } + description + "Name of the facility that generated this message. + For example: 'SYS'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.2"; + } + + leaf clogHistSeverity { + type CISCO-SYSLOG-MIB:SyslogSeverity; + description + "The severity of the message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.3"; + } + + leaf clogHistMsgName { + type snmpv2-tc:DisplayString { + length "1..30"; + } + description + "A textual identification for the message type. + A facility name in conjunction with a message name + uniquely identifies a message type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.4"; + } + + leaf clogHistMsgText { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The text of the message. If the text of the message + exceeds 255 bytes, the message will be truncated to + 254 bytes and a '*' character will be appended - + indicating that the message has been truncated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.5"; + } + + leaf clogHistTimestamp { + type yang:timestamp; + description + "The value of sysUpTime when this message was + generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2.3.1.6"; + } + } + } + + container clogServerConfigTable { + description + "This table contains entries that allow application + to configure syslog servers for the system. + + The maximum number of entries that can be created + for this table is limited by the object + clogMaxServers."; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.2"; + + list clogServerConfigEntry { + key "clogServerAddrType clogServerAddr"; + description + "An entry containing information about syslog servers + configured for the system."; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.2.1"; + + leaf clogServerAddrType { + type inet-address:InetAddressType; + description + "The type of Internet address of this syslog server."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.2.1.1"; + } + + leaf clogServerAddr { + type inet-address:InetAddress { + length "0..64"; + } + description + "The Internet address of this syslog server. + The type of this address is determined by the + value of the clogServerAddrType object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.2.1.2"; + } + + leaf clogServerStatus { + type snmpv2-tc:RowStatus; + description + "The status object used to manage rows in this table. + + A row may only be created by setting this object to + 'createAndGo'. + + A row may only be deleted by setting this object to + 'destroy'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3.2.1.3"; + } + } + } + } + + notification clogMessageGenerated { + description + "When a syslog message is generated by the device a + clogMessageGenerated notification is sent. The + sending of these notifications can be enabled/disabled + via the clogNotificationsEnabled object."; + smiv2:oid "1.3.6.1.4.1.9.9.41.2.0.1"; + + container object-1 { + + leaf clogHistIndex { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistIndex"; + } + } + + leaf clogHistFacility { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistFacility"; + } + } + } + + container object-2 { + + leaf clogHistIndex { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistIndex"; + } + } + + leaf clogHistSeverity { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistSeverity"; + } + } + } + + container object-3 { + + leaf clogHistIndex { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistIndex"; + } + } + + leaf clogHistMsgName { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistMsgName"; + } + } + } + + container object-4 { + + leaf clogHistIndex { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistIndex"; + } + } + + leaf clogHistMsgText { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistMsgText"; + } + } + } + + container object-5 { + + leaf clogHistIndex { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistIndex"; + } + } + + leaf clogHistTimestamp { + type leafref { + path "/CISCO-SYSLOG-MIB:CISCO-SYSLOG-MIB/CISCO-SYSLOG-MIB:clogHistoryTable/CISCO-SYSLOG-MIB:clogHistoryEntry/CISCO-SYSLOG-MIB:clogHistTimestamp"; + } + } + } + } + + smiv2:alias "ciscoSyslogMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.41"; + } + + smiv2:alias "ciscoSyslogMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.41.1"; + } + + smiv2:alias "clogBasic" { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.1"; + } + + smiv2:alias "clogHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.2"; + } + + smiv2:alias "clogServer" { + smiv2:oid "1.3.6.1.4.1.9.9.41.1.3"; + } + + smiv2:alias "ciscoSyslogMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.41.2"; + } + + smiv2:alias "ciscoSyslogMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.41.2.0"; + } + + smiv2:alias "ciscoSyslogMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.41.3"; + } + + smiv2:alias "ciscoSyslogMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.41.3.1"; + } + + smiv2:alias "ciscoSyslogMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.41.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-TAP2-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-TAP2-MIB.yang new file mode 100644 index 000000000..6de811653 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-TAP2-MIB.yang @@ -0,0 +1,1073 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-TAP2-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-TAP2-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-TAP2-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB"; + prefix CISCO-TAP2-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + + Postal:170 W. Tasman Drive + San Jose, CA 95134 + USA + + + Tel:+1 800 553-NETS + + + E-mail:cs-li@cisco.com"; + + description + "This module manages Cisco's intercept feature. + This MIB replaces CISCO-TAP-MIB. This MIB defines + a generic stream table that contains fields common to + all intercept types. Specific intercept filters are + defined in extension MIBs. They are CISCO-IP-TAP-MIB + for IP intercepts, CISCO-802-TAP-MIB for IEEE 802 + intercepts and CISCO-USER-CONNECTION-TAP-MIB for + RADIUS-based user connection intercepts."; + + revision 2009-11-06 { + description + "Mediation Device could be accepting PacketCable1.5 + based information using Radius packets. A radius + server may define a secret key which is shared + with the client. In addition, a new CISCO-VOIP-TAP-MIB + is being defined and the cTap2StreamType is being + updated to reflect that. + - Updated cTap2MediationTransport with radius(6) option. + - Added new TC Ctap2RadiusKey. + - Added cTap2MediationRadiusKey. + - Update cTap2StreamType with voip(6). + - Deprecated ciscoTap2MIBComplianceRev3. + - Added ciscoTap2MIBComplianceRev4. + - Added ciscoTap2MediationComplianceGroupSup1. + - Update cTap2MediationCapabilities."; + } + + revision 2008-09-10 { + description + "Added the 'mobility' enum to cTap2StreamType as a + specific filter defined by CISCO-MOBILITY-TAP-MIB."; + } + + revision 2007-12-21 { + description + "- Added support for cTap2DebugUserTable. + - Added new enumeration rtp to + 'cTap2MediationTransport' object. + - Added new enumeration rtp to + 'cTap2MediationCapabilities' object. + - Added ciscoTap2MIBComplianceRev3 compliance + which deprecates ciscoTap2MIBComplianceRev2. + - Added ciscoTap2DebugComplianceGroupRev1 + compliance Group which deprecates + ciscoTap2DebugComplianceGroup."; + } + + revision 2006-11-27 { + description + "- Following objects are added in table + cTap2StreamTable to support counter64 data + cTap2StreamInterceptedHCPackets + cTap2StreamInterceptHCDrops + + - Added ciscoTap2StreamHCStatsGroup OBJECT-GROUP + - Added ciscoTap2MIBComplianceRev2 compliance + which deprecates ciscoTap2MIBCompliance."; + } + + revision 2004-03-11 { + description + "Added a new type to cTap2StreamType for intercepting + sessions/flows of Mobile subscribers in wireless CDMA + technology. Specific intercept filter is defined in + CISCO-CDMA-PDSN-TAP-MIB."; + } + + revision 2004-01-27 { + description + "Initial version of this MIB module."; + } + + typedef Ctap2Dscp { + type int32 { + range "0..63"; + } + description + "An integer that is in the range of the DiffServ codepoint + values."; + } + + typedef Ctap2RadiusKey { + type binary { + length "0..64"; + } + description + "The authentication key shared between radius client & server."; + } + + + container CISCO-TAP2-MIB { + config false; + + container cTap2MediationGroup { + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1"; + + leaf cTap2MediationNewIndex { + type int32 { + range "1..2147483647"; + } + description + "This object contains a value which may be used as an index + value for a new cTap2MediationEntry. Whenever read, the agent + will change the value to a new non-conflicting value. This is + to reduce the probability of errors during creation of new + cTap2MediationTable entries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.1"; + } + + leaf cTap2MediationCapabilities { + type bits { + bit ipV4SrcInterface { + position "0"; + } + bit ipV6SrcInterface { + position "1"; + } + bit udp { + position "2"; + } + bit rtpNack { + position "3"; + } + bit tcp { + position "4"; + } + bit sctp { + position "5"; + } + bit rtp { + position "6"; + } + bit radius { + position "7"; + } + } + description + "This object displays the device capabilities with respect to + certain fields in Mediation Device table. This may be dependent + on hardware capabilities, software capabilities. + The following values may be supported: + ipV4SrcInterface: SNMP ifIndex Value may be used to select + the interface (denoted by + cTap2MediationSrcInterface) on the + intercepting device from which to + transmit intercepted data to an IPv4 + address Mediation Device. + + + ipV6SrcInterface: SNMP ifIndex Value may be used to select + the interface (denoted by + cTap2MediationSrcInterface) on the + intercepting device from which to + transmit intercepted data to an IPv6 + address Mediation Device. + + + udp: UDP may be used as transport protocol + (denoted by cTap2MediationTransport) in + transferring intercepted data to the + Mediation Device. + + + rtcpNack: RTP with Nack resilience may be used + as transport protocol (denoted by + cTap2MediationTransport) in transferring + intercepted data to the Mediation + Device. + + tcp: TCP may be used as transport protocol + (denoted by cTap2MediationTransport) in + transferring intercepted data to the + Mediation Device. + + + sctp: SCTP may be used as transport protocol + (denoted by cTap2MediationTransport) in + transferring intercepted data to the + Mediation Device. + + rtp: RTP may be used as transport protocol + (denoted by cTap2MediationTransport) in + transferring intercepted data to the + Mediation Device. + + radius: Radius may be used as transport protocol + (denoted by cTap2MediationTransport) in + transferring intercepted information to + the Mediation Device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.3"; + } + } + + container cTap2DebugGroup { + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3"; + + leaf cTap2DebugAge { + type int32 { + range "1..2147483647"; + } + description + "This object contains the duration in minutes for which an + entry in cTap2DebugTable is maintained by the implementing + device after which the entry is deleted. The management + station also has the option of deleting the entry itself + by setting cTap2DebugStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.1"; + } + + leaf cTap2DebugMaxEntries { + type int32 { + range "1..2147483647"; + } + description + "This object contains the maximum number of debug messages + maintained by the implementing device at a time. If this + limit is crossed, most recent message will replace the + least recent message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.2"; + } + } + + container cTap2MediationTable { + description + "This table lists the Mediation Devices with which the + intercepting device communicates. These may be on the same or + different Mediation Devices. + + + This table is written by the Mediation Device, and is always + volatile. This is because intercepts may disappear during a + restart of the intercepting equipment. + + Entries are added to this table via cTap2MediationStatus in + accordance with the RowStatus convention."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2"; + + list cTap2MediationEntry { + key "cTap2MediationContentId"; + description + "The entry describes a single session maintained with an + application on a Mediation Device."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1"; + + leaf cTap2MediationContentId { + type int32 { + range "1..2147483647"; + } + description + "cTap2MediationContentId is a session identifier, from the + intercept application's perspective, and a content identifier + from the Mediation Device's perspective. The Mediation Device + is responsible for making sure these are unique, although the + SNMP RowStatus row creation process will help by not allowing + it to create conflicting entries. Before creating a new entry, + a value for this variable may be obtained by reading + cTap2MediationNewIndex to reduce the probability of a value + collision."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.1"; + } + + leaf cTap2MediationDestAddressType { + type inet-address:InetAddressType; + description + "The type of cTap2MediationDestAddress."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.2"; + } + + leaf cTap2MediationDestAddress { + type inet-address:InetAddress; + description + "The IP Address of the Mediation Device's network interface + to which to direct intercepted traffic."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.3"; + } + + leaf cTap2MediationDestPort { + type inet:port-number; + description + "The port number on the Mediation Device's network interface + to which to direct intercepted traffic."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.4"; + } + + leaf cTap2MediationSrcInterface { + type if-mib:InterfaceIndexOrZero; + description + "The interface on the intercepting device from which to + transmit intercepted data. If zero, any interface may be used + according to normal IP practice."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.5"; + } + + leaf cTap2MediationRtcpPort { + type inet:port-number; + description + "The port number on the intercepting device to which the + Mediation Devices directs RTCP Receiver Reports and Nacks. + This object is only relevant when the value of + cTap2MediationTransport is 'rtpNack'. + + + This port is assigned by the intercepting device, rather than + by the Mediation Device or manager application. The value of + this MIB object has no effect before activating the + cTap2MediationEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.6"; + } + + leaf cTap2MediationDscp { + type CISCO-TAP2-MIB:Ctap2Dscp; + description + "The Differentiated Services Code Point the intercepting + device applies to the IP packets encapsulating the + intercepted traffic."; + smiv2:defval "34"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.7"; + } + + leaf cTap2MediationDataType { + type int32 { + range "0..127"; + } + description + "If RTP with Ack/Nack resilience is selected as a transport, + the mediation process requires an RTP payload type for data + transmissions, and a second RTP payload type for + retransmissions. This is the RTP payload type for + transmissions. + + + This object is only effective when the value of + cTap2MediationTransport is 'rtpNack'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.8"; + } + + leaf cTap2MediationRetransmitType { + type int32 { + range "0..127"; + } + description + "If RTP with Ack/Nack resilience is selected as a transport, + the mediation process requires an RTP payload type for data + transmissions, and a second RTP payload type for + retransmissions. This is the RTP payload type for + retransmissions. + + + This object is only effective when the value of + cTap2MediationTransport is 'rtpNack'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.9"; + } + + leaf cTap2MediationTimeout { + type snmpv2-tc:DateAndTime; + description + "The time at which this row and all related Stream Table rows + should be automatically removed, and the intercept function + cease. Since the initiating network manager may be the only + device able to manage a specific intercept or know of its + existence, this acts as a fail-safe for the failure or removal + of the network manager. The object is only effective when the + value of cTap2MediationStatus is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.10"; + } + + leaf cTap2MediationTransport { + type enumeration { + enum "udp" { + value "1"; + } + enum "rtpNack" { + value "2"; + } + enum "tcp" { + value "3"; + } + enum "sctp" { + value "4"; + } + enum "rtp" { + value "5"; + } + enum "radius" { + value "6"; + } + } + description + "The protocol used in transferring intercepted data to the + Mediation Device. The following protocols may be supported: + udp: PacketCable udp format + rtpNack: RTP with Nack resilience + tcp: TCP with head of line blocking + sctp: SCTP with head of line blocking + rtp: Realtime Transport Protocol(RTP) + packet format + radius: Use Radius, PacketCable1.5 Event Message + to transport the intercepted information."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.11"; + } + + leaf cTap2MediationNotificationEnable { + type boolean; + description + "This variable controls the generation of any notifications or + informs by the MIB agent for this table entry."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.12"; + } + + leaf cTap2MediationStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. This object is used to + manage creation, modification and deletion of rows in this + table. + + + cTap2MediationTimeout may be modified at any time (even while + the row is active). But when the row is active, the other + writable objects may not be modified without setting its value + to 'notInService'. + + + The entry may not be deleted or deactivated by setting its + value to 'destroy' or 'notInService' if there is any associated + entry in cTap2StreamTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.13"; + } + + leaf cTap2MediationRadiusKey { + type CISCO-TAP2-MIB:Ctap2RadiusKey; + description + "Radius Authentication Key is the shared secret key between + radius client and server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1.2.1.14"; + } + } + } + + container cTap2StreamTable { + description + "The Intercept Stream Table lists the traffic streams to be + intercepted. The same data stream may be required by multiple + taps, and one might assume that often the intercepted stream + is a small subset of the traffic that could be intercepted. + + + The Table consists of generic fields that are independent + of the type of intercept. It contains type of the specific + filter which is defined in an extension MIB and counters to + account for packets intercepted or dropped by the attached + filter specification. + + Note that the Mediation Device must make sure there is + only one type of specific filter created with the same + indices as that of a row in this table, otherwise the + later creations will fail. For example, if there is a + row in this table with index 1.2, there can be a + corresponding row with the same index either in + citapStreamTable, c8tapStreamTable or cuctTapStreamTable, + but not all. + + + The first index indicates which Mediation Device the + intercepted traffic will be diverted to. The second index + permits multiple classifiers to be used together. + + Entries are added to this table via cTap2StreamStatus in + accordance with the RowStatus convention."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1"; + + list cTap2StreamEntry { + key "cTap2MediationContentId cTap2StreamIndex"; + description + "A stream entry indicates a single data stream to be + intercepted to a Mediation Device. Many selected data + streams may go to the same application interface, and many + application interfaces are supported."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1"; + + leaf cTap2MediationContentId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2MediationTable/CISCO-TAP2-MIB:cTap2MediationEntry/CISCO-TAP2-MIB:cTap2MediationContentId"; + } + } + + leaf cTap2StreamIndex { + type int32 { + range "1..2147483647"; + } + description + "The index of the stream itself."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.1"; + } + + leaf cTap2StreamType { + type enumeration { + enum "ip" { + value "1"; + } + enum "mac" { + value "2"; + } + enum "userConnection" { + value "3"; + } + enum "msPdsn" { + value "4"; + } + enum "mobility" { + value "5"; + } + enum "voip" { + value "6"; + } + } + description + "Identifies the type of intercept filter associated to this + generic stream. The following types of streams are supported: + ip: The specific filter is an IP filter + with same indices as that of this + table. The exact filter is a row in + citapStreamTable of CISCO-IP-TAP-MIB. + mac: The specific filter is a MAC filter + with same indices as that of this table. + The exact filter is a row in + c8tapStreamTable of CISCO-802-TAP-MIB. + userConnecton: The specific filter is a user connection + filter with same indices as that of + this table. The exact filter is a row + in cuctTapStreamTable of + CISCO-USER-CONNECTION-TAP-MIB. + msPdsn: The specific filter is a Mobile Sub + connection filter with same indices as + that of this table. The exact filter + is a row in ccptapStreamTable of + CISCO-CDMA-PDSN-TAP-MIB. + mobility: The specific filter is a Mobile + Subscriber connection filter with same + indices as that of this table. The exact + filter is a row in cmtapStreamTable of + CISCO-MOBILITY-TAP-MIB. + voip: The specific filter is a VoIP + Subscriber filter with same + indices as that of this table. The exact + filter is a row in cvoiptapStreamTable of + CISCO-VOIP-TAP-MIB."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.2"; + } + + leaf cTap2StreamInterceptEnable { + type boolean; + description + "If 'true', the tap should intercept matching traffic. The + value for this object should be set to 'true' only after an + additional filter specification has been attached to this + stream."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.3"; + } + + leaf cTap2StreamInterceptedPackets { + type yang:counter32; + description + "The number of packets matching this data stream specification + that have been intercepted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.4"; + } + + leaf cTap2StreamInterceptDrops { + type yang:counter32; + description + "The number of packets matching this data stream specification + that, having been intercepted, were dropped in the lawful + intercept process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.5"; + } + + leaf cTap2StreamStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. This object manages + creation, modification, and deletion of rows in this table. + cTap2StreamInterceptEnable may be modified any time even the + value of this entry rowStatus object is 'active'. When other + rows must be changed, cTap2StreamStatus must be first set to + 'notInService'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.6"; + } + + leaf cTap2StreamInterceptedHCPackets { + type yang:counter64; + description + "The number of packets matching this data stream specification + that have been intercepted. This object is a 64-bit version of + cTap2StreamInterceptedPackets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.7"; + } + + leaf cTap2StreamInterceptHCDrops { + type yang:counter64; + description + "The number of packets matching this data stream specification + that, having been intercepted, were dropped in the lawful + intercept process. This object is a 64-bit version of + cTap2StreamInterceptDrops."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2.1.1.8"; + } + } + } + + container cTap2DebugTable { + description + "A table that contains Lawful Intercept debug messages + generated by the implementing device. This table is used + by ciscoTap2MediationDebug and ciscoTap2StreamDebug + notifications. + + An entry in this table contains a debug message which is + regarding either a Mediation Device or a intercept stream + created by a Mediation Device. The Mediation device is + identified by cTap2DebugMediationId whose value is + that of cTap2MediationContentId of cTapMediationEntry. + The stream is identified by cTap2DebugMediationId and + cTap2DebugStreamId whose values are that of + cTap2MediationContentId and cTap2StreamIndex of + the corresponding cTap2StreamEntry. + + Note that cTap2DebugStreamId may be zero for an entry, + in which case the debug message is regarding a Medation + Device. + + Entries are added to this table via cTap2DebugStatus in + accordance with the RowStatus convention."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3"; + + list cTap2DebugEntry { + key "cTap2DebugIndex"; + description + "A list of the debug messages."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1"; + + leaf cTap2DebugIndex { + type int32 { + range "1..2147483647"; + } + description + "Index to the debug table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1.1"; + } + + leaf cTap2DebugMediationId { + type uint32; + description + "The value of this object is that of cTap2MediationContentId + identifying an entry in cTap2MediationTable. Note this object + may contain a value for which an entry in cTap2MediationTable + does not exist. This happens when creation of an entry in + cTap2MediationTable fails and this debug message conveys more + detailed information regarding the failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1.2"; + } + + leaf cTap2DebugStreamId { + type uint32; + description + "The value of this object is that of cTap2StreamIndex of an + entry in cTap2StreamTable. This object along with + cTap2DebugMediationId identifies an entry in cTap2StreamTable. + The value of this object may be zero, in which this debug + message is regarding a Mediation Device, but not a particular + stream. Note this object may contain a value for which an + entry in cTap2MediationTable does not exist. This happens + when creation of an entry in cTap2StreamTable fails."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1.3"; + } + + leaf cTap2DebugMessage { + type snmp-framework:SnmpAdminString; + description + "A text string contains the debug message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1.4"; + } + + leaf cTap2DebugStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. A row in this table is + created by the implementing device. A management station cannot + modify any of the objects in this row, except deleting the row + by setting this object to 'destroy'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.3.1.5"; + } + } + } + + container cTap2DebugUserTable { + description + "The User Table lists information of all the users configured + in the system who are given permission by different Mediation + Devices to access Lawful Intercept CLIs. + + This table will have dependancy on cTap2MediationTable. When + entry in cTap2MediationTable is deleted or moved to + 'notInService', entries corresponding cTap2MediationContentId + in this table will be deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4"; + + list cTap2DebugUserEntry { + key "cTap2MediationContentId cTap2DebugUserName"; + description + "A conceptual row in the cTap2DebugUserTable. Each row + represents name of user on the router to whom Mediation Device + with CCCid represented by cTap2MediationContentId has given + access to Lawful Intercept commands and cTap2DebugUserTimeout + represents the time when the entry will expire."; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4.1"; + + leaf cTap2MediationContentId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2MediationTable/CISCO-TAP2-MIB:cTap2MediationEntry/CISCO-TAP2-MIB:cTap2MediationContentId"; + } + } + + leaf cTap2DebugUserName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "A human readable string representing the name of debug user + who will have access to Lawful Intercept commands."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4.1.1"; + } + + leaf cTap2DebugUserTimeout { + type snmpv2-tc:DateAndTime; + description + "This object specifies the time at which the row will be + removed from the table by the system. The value of this object + is only effective when the value of corresponding instance of + cTap2DebugUserStatus is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4.1.2"; + } + + leaf cTap2DebugUserStorageType { + type snmpv2-tc:StorageType; + description + "This object specifies the storage type of this conceptual row. + If it is set to 'nonVolatile', this entry can be saved into + non-volatile memory."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4.1.3"; + } + + leaf cTap2DebugUserStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. This object manages + creation, modification, and deletion of rows in this table. + cTap2DebugUserTimeout may be modified any time even when the + value of this entry rowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3.4.1.4"; + } + } + } + } + + notification ciscoTap2MIBActive { + description + "This Notification is sent when an intercepting router or + switch is first capable of intercepting a packet corresponding + to a configured data stream. The value of the corresponding + cTap2StreamType which identifies the actual intercept stream + type is included in this notification. + + + This notification may be generated in conjunction with the + intercept application, which is designed to expect the + notification to be sent as reliably as possible, e.g., through + the use of a finite number of retransmissions until + acknowledged, as and when such mechanisms are available; for + example, with SNMPv3, this would be an InformRequest. Filter + installation can take a long period of time, during which call + progress may be delayed."; + smiv2:oid "1.3.6.1.4.1.9.9.399.0.1"; + } + + notification ciscoTap2MediationTimedOut { + description + "When an intercept is autonomously removed by an intercepting + device, such as due to the time specified in + cTap2MediationTimeout arriving, the device notifies the manager + of the action."; + smiv2:oid "1.3.6.1.4.1.9.9.399.0.2"; + + container object-1 { + + leaf cTap2MediationContentId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2MediationTable/CISCO-TAP2-MIB:cTap2MediationEntry/CISCO-TAP2-MIB:cTap2MediationContentId"; + } + } + + leaf cTap2MediationStatus { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2MediationTable/CISCO-TAP2-MIB:cTap2MediationEntry/CISCO-TAP2-MIB:cTap2MediationStatus"; + } + } + } + } + + notification ciscoTap2MediationDebug { + description + "When there is intervention needed due to some events related + to entries configured in cTap2MediationTable, the device + notifies the manager of the event. + + + This notification may be generated in conjunction with the + intercept application, which is designed to expect the + notification to be sent as reliably as possible, e.g., through + the use of a finite number of retransmissions until + acknowledged, as and when such mechanisms are available; for + example, with SNMPv3, this would be an InformRequest."; + smiv2:oid "1.3.6.1.4.1.9.9.399.0.3"; + + container object-1 { + + leaf cTap2DebugIndex { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugIndex"; + } + } + + leaf cTap2DebugMediationId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugMediationId"; + } + } + } + + container object-2 { + + leaf cTap2DebugIndex { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugIndex"; + } + } + + leaf cTap2DebugMessage { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugMessage"; + } + } + } + } + + notification ciscoTap2StreamDebug { + description + "When there is intervention needed due to some events related + to entries configured in cTap2StreamTable, the device + notifies the manager of the event. + + + This notification may be generated in conjunction with the + intercept application, which is designed to expect the + notification to be sent as reliably as possible, e.g., through + the use of a finite number of retransmissions until + acknowledged, as and when such mechanisms are available; for + example, with SNMPv3, this would be an InformRequest."; + smiv2:oid "1.3.6.1.4.1.9.9.399.0.4"; + + container object-1 { + + leaf cTap2DebugIndex { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugIndex"; + } + } + + leaf cTap2DebugMediationId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugMediationId"; + } + } + } + + container object-2 { + + leaf cTap2DebugIndex { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugIndex"; + } + } + + leaf cTap2DebugStreamId { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugStreamId"; + } + } + } + + container object-3 { + + leaf cTap2DebugIndex { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugIndex"; + } + } + + leaf cTap2DebugMessage { + type leafref { + path "/CISCO-TAP2-MIB:CISCO-TAP2-MIB/CISCO-TAP2-MIB:cTap2DebugTable/CISCO-TAP2-MIB:cTap2DebugEntry/CISCO-TAP2-MIB:cTap2DebugMessage"; + } + } + } + } + + notification ciscoTap2Switchover { + description + "This notification is sent when there is a redundant (standby) + route processor available on the intercepting device and the + current active processor is going down causing standby to + takeover. Note that this notification may be sent by the + intercepting device only when it had a chance to know before it + goes down. + + Mediation device when received this notification should assume + that configured intercepts on the intercepting device no longer + exist, when the standby processor takes control. This means that + the Mediation device should again configure the intercepts."; + smiv2:oid "1.3.6.1.4.1.9.9.399.0.5"; + } + + smiv2:alias "ciscoTap2MIB" { + smiv2:oid "1.3.6.1.4.1.9.9.399"; + } + + smiv2:alias "ciscoTap2MIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.399.0"; + } + + smiv2:alias "ciscoTap2MIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.399.1"; + } + + smiv2:alias "cTap2MediationGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.399.1.1"; + } + + smiv2:alias "cTap2StreamGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.399.1.2"; + } + + smiv2:alias "cTap2DebugGroup" { + smiv2:oid "1.3.6.1.4.1.9.9.399.1.3"; + } + + smiv2:alias "ciscoTap2MIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.399.2"; + } + + smiv2:alias "ciscoTap2MIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.399.2.1"; + } + + smiv2:alias "ciscoTap2MIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.399.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-TC.yang b/vendor/cisco/xe/17151/MIBS/CISCO-TC.yang new file mode 100644 index 000000000..65bf28160 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-TC.yang @@ -0,0 +1,3197 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-TC + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC"; + prefix CISCO-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "This module defines textual conventions used throughout + cisco enterprise mibs."; + + revision 2011-11-11 { + description + "Added CiscoEntityIndexList TC."; + } + + revision 2011-06-17 { + description + "-Added the following enums for FcIfOperStatusReason: + fcRedirectIsolation, + portActLicenseNotAvailable, + sdmIsolation, + fcidAllocationFailed, + unavailableNPVUpstreamPort, + unavailableNPVPrefUpstreamPort, + sfpReadError, + stickyDownOnLinkFailure, + tooManyLinkFlapsErr, + unidirectionalUDLD, + txRxLoopUDLD, + neighborMismatchUDLD, + authzPending, + hotStdbyInBundle, + incompleteConfig, + incompleteTunnelCfg, + hwProgrammingFailed, + tunnelDstUnreachable, + suspendByMtu, + sfpInvalid, + sfpAbsent, + portCapabilitiesUnknown, + channelErrDisabled, + vrfMismatch, + vrfForwardReferencing, + dupTunnelConfigDetected, + primaryVLANDown, + vrfUnusable, + errDisableHandShkFailure, + errDisabledBPDUGuard, + dot1xSecViolationErrDisabled, + emptyEchoUDLD, + vfTaggingCapErr, + portDisabled, + tunnelModeNotConfigured, + tunnelSrcNotConfigured, + tunnelDstNotConfigured, + tunnelUnableToResolveSrcIP + tunnelUnableToResolveDstIP, + tunnelVrfDown, + sifAdminDown, + phyIntfDown, + ifSifLimitExceeded, + sifHoldDown, + noFcoe, + dcxCompatMismatch, + isolateBundleLimitExceeded, + sifNotBound, + errDisabledLacpMiscfg, + satFabricIfDown, + invalidSatFabricIf, + noRemoteChassis, + vicEnableNotReceived, + vicDisableReceived, + vlanVsanMappingNotEnabled, + stpNotFwdingInFcoeMappedVlan, + moduleOffline, + udldAggModeLinkFailure, + stpInconsVpcPeerDisabled, + setPortStateFailed, + suspendedByVpc, + vpcCfgInProgress, + vpcPeerLinkDown, + vpcNoRspFromPeer, + protoPortSuspend, + tunnelSrcDown, + cdpInfoUnavailable, + fexSfpInvalid, + errDisabledIpConflict, + fcotClkRateMismatch, + portGuardTrustSecViolation, + sdpTimeout, + satIncompatTopo, + waitForFlogi, + satNotConfigured, + npivNotEnabledInUpstream, + vsanMismatchWithUpstreamSwPort, + portGuardBitErrRate, + portGuardSigLoss, + portGuardSyncLoss, + portGuardLinkReset, + portGuardCreditLoss, + bitErrorRate, + signalLoss, + syncLoss, + linkReset, + creditLoss, + ipQosMgrPolicyAppFailure, + pauseRateLimitErrDisabled, + lstGrpUplinkDown, + stickyDnLinkFailure, + routerMacFailure, + dcxMultipleMsapIds, + dcxHundredPdusRcvdNoAck, + enmSatIncompatibleUplink, + enmLoopDetected, + nonStickyExternallyDisabled, + subGroupIdNotAssigned, + vemUnlicensed, + profileNotFound, + nonExistentVlan, + vlanInvalidType, + vlanDown, + vpcPeerUpgrade, + ipQosDcbxpCompatFailure, + nonCiscoHbaVfTag, + domainIdConfigMismatch, + sfpSpeedMismatch, + xcvrInitializing, + xcvrAbsent, + xcvrInvalid, + vfcBindingInvalid, + vlanNotFcoeEnabled, + pvlanNativeVlanErr, + ethL2VlanDown, + ethIntfInvalidBinding, + pmonFailure, + l3NotReady, + speedMismatch, + flowControlMismatch, + vdcMode, + suspendedDueToMinLinks, + enmPinFailLinkDown, + inactiveM1PortFpathActiveVlan, + parentPortDown, + moduleRemoved, + corePortMct, + nonCorePortMct, + ficonInorderNotActive, + invalidEncapsulation, + modemLineDeasserted, + ipSecHndshkInProgress, + sfpEthCompliantErr, + cellularModemUnattached, + outOfGlblRxBuffers, + sfpFcCompliantErr, + ethIntfNotLicensed, + domainIdsInvalid, + fabricNameInvalid."; + } + + revision 2010-02-24 { + description + "Added CiscoURLStringOrEmpty textual convention."; + } + + revision 2009-06-18 { + description + "Added the new textual convention CiscoVrfName"; + } + + revision 2009-03-10 { + description + "Added the new textual convention CiscoInterfaceIndexList"; + } + + revision 2009-02-26 { + description + "Added the new textual convention Cisco2KVlanList"; + } + + revision 2008-04-02 { + description + "Added the new textual convention CiscoBridgeDomain."; + } + + revision 2007-02-15 { + description + "Added following textual conventions: + CiscoVlanList, + CiscoCosList, + CiscoPbbServiceIdentifier"; + } + + revision 2006-07-06 { + description + "Added the following enums to IfOperStatusReason: + - elpFailureAllZeroPeerWWNRcvd, + - preferredPathIsolation."; + } + + revision 2006-04-13 { + description + "Added enumeration to IfOperStatusReason from 113-131 + ('dpvmVsanSuspended' to 'domainOther')."; + } + + revision 2005-06-24 { + description + "Added CvE164Address textual convention."; + } + + revision 2005-06-16 { + description + "Added following textual conventions: + CiscoURLString + CiscoHTTPResponseStatusCode + EntLogicalIndexOrZero."; + } + + revision 2004-10-11 { + description + "Added IfOperStatusReason textual convention."; + } + + revision 2004-06-08 { + description + "Added CiscoPortListRange textual convention."; + } + + revision 2004-04-14 { + description + "Added CiscoPortList textual convention. + Removed Unsigned32 textual convention."; + } + + revision 2002-12-18 { + description + "Changed MilliSeconds TC to CiscoMilliSeconds as it was + overlapping with the one in a standard MIB."; + } + + revision 2002-12-12 { + description + "Added the 'http' enumeration to CiscoNetworkProtocol."; + } + + revision 2002-12-02 { + description + "Added Unsigned64 textual convention."; + } + + revision 2002-09-22 { + description + "Added ListIndex, ListIndexOrZero, TimeIntervalSec, + TimeintervalMin, MicroSeconds and MicroSeconds TC from + Andiamo's TC MIB ."; + } + + revision 2002-09-17 { + description + "Added ConfigIterator & BulkConfigResult textual + convention for bulk provisioning. + Added CountryCodeITU textual convention for ITU-T defined + country codes for non-standard facilities."; + } + + revision 2002-04-16 { + description + "Added PerfHighIntervalCount TEXTUAL-CONVENTION."; + } + + revision 2001-07-07 { + description + "Added enumerations to CiscoNetworkProtocol"; + } + + revision 2001-01-18 { + description + "Added CiscoAlarmSeverity textual convention. + Changed SAPType display hint to d. Changed + INTEGER to Integer32 in CiscoPort and + CiscoIpProtocol TCs. Changed SnmpAdminString + to OCTET STRING in CiscoLocationSpecifier. + Removed IMPORTs for ciscoProducts and + SnmpAdminString."; + } + + revision 2000-11-21 { + description + "Added CiscoLocationClass, CiscoLocationSpecifier + CiscoInetAddressMask, CiscoAbsZeroBasedCounter32, + CiscoSnapShotAbsCounter32 textual conventions."; + } + + revision 1998-10-28 { + description + "Added CiscoRowOperStatus, EntPhysicalIndexOrZero, + Port and IpProtocol textual conventions."; + } + + revision 1997-03-13 { + description + "Added SAPType, CountryCode textual convention."; + } + + revision 1996-08-14 { + description + "Added InterfaceIndexOrZero textual convention."; + } + + revision 1996-07-08 { + description + "Added new CiscoNetworkProtocol enumerations."; + } + + revision 1996-02-22 { + description + "Added Unsigned32 textual conventions."; + } + + revision 1995-06-07 { + description + "Miscellaneous updates/corrections, including making + CiscoNetworkProtocol enumerations contiguous."; + } + + typedef Layer2Cos { + type int32 { + range "0..7"; + } + description + "An integer that is in the range of the layer 2 CoS values. It + corresponds to the IEEE 802.1P CoS value which defines eight + (2^3) user priority levels. + Note: the IEEE 802.1P has been merged into IEEE 802.1D."; + reference + "IEEE 802.1D, 2004 Edition, Annex G User priorities and traffic + classes."; + } + + typedef CiscoNetworkProtocol { + type enumeration { + enum "ip" { + value "1"; + } + enum "decnet" { + value "2"; + } + enum "pup" { + value "3"; + } + enum "chaos" { + value "4"; + } + enum "xns" { + value "5"; + } + enum "x121" { + value "6"; + } + enum "appletalk" { + value "7"; + } + enum "clns" { + value "8"; + } + enum "lat" { + value "9"; + } + enum "vines" { + value "10"; + } + enum "cons" { + value "11"; + } + enum "apollo" { + value "12"; + } + enum "stun" { + value "13"; + } + enum "novell" { + value "14"; + } + enum "qllc" { + value "15"; + } + enum "snapshot" { + value "16"; + } + enum "atmIlmi" { + value "17"; + } + enum "bstun" { + value "18"; + } + enum "x25pvc" { + value "19"; + } + enum "ipv6" { + value "20"; + } + enum "cdm" { + value "21"; + } + enum "nbf" { + value "22"; + } + enum "bpxIgx" { + value "23"; + } + enum "clnsPfx" { + value "24"; + } + enum "http" { + value "25"; + } + enum "unknown" { + value "65535"; + } + } + description + "Represents the different types of network layer protocols."; + } + + typedef CiscoNetworkAddress { + type binary; + description + "Represents a network layer address. The length and format of + the address is protocol dependent as follows: + ip 4 octets + decnet 2 octets + pup obsolete + chaos 2 octets + xns 10 octets + first 4 octets are the net number + last 6 octets are the host number + x121 + appletalk 3 octets + first 2 octets are the net number + last octet is the host number + clns + lat + vines 6 octets + first 4 octets are the net number + last 2 octets are the host number + cons + apollo 10 octets + first 4 octets are the net number + last 6 octets are the host number + stun 8 octets + novell 10 octets + first 4 octets are the net number + last 6 octets are the host number + qllc 6 octets + bstun 1 octet - bi-sync serial tunnel + snapshot 1 octet + atmIlmi 4 octets + x25 pvc 2 octets (12 bits) + ipv6 16 octets + cdm + nbf + bgpIgx + clnsPfx upto 20 octets + http upto 70 octets + first 4 octets are the IPv4 host + address + next 2 octets are the TCP port + number + remaining(1 upto 64) octets are + the URI"; + } + + typedef Unsigned64 { + type yang:counter64; + description + "An unsigned 64 bit integer. We use SYNTAX Counter64 for the + encoding rules."; + } + + typedef InterfaceIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "Either the value 0, or the ifIndex value of an + interface in the ifTable."; + } + + typedef SAPType { + type int32 { + range "0..254"; + } + description + "Service Access Point - is a term that denotes the means + by which a user entity in layer n+1 accesses a service + of a provider entity in layer n."; + } + + typedef CountryCode { + type binary { + length "0|2"; + } + description + "Represents a case-insensitive 2-letter country code taken + from ISO-3166. Unrecognized countries are represented as + empty string."; + } + + typedef CountryCodeITU { + type uint32 { + range "0..255"; + } + description + "This textual convention represents a country or area code for + non-standard facilities in telematic services."; + reference + "ITU-T T.35 - Section 3.1 Country Code"; + } + + typedef EntPhysicalIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of entPhysicalIndex. + If non-zero, the object is an entPhysicalIndex. If zero, no + appropriate entPhysicalIndex exists. Any additional semantics + are object specific."; + } + + typedef CiscoRowOperStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "activeDependencies" { + value "2"; + } + enum "inactiveDependency" { + value "3"; + } + enum "missingDependency" { + value "4"; + } + } + description + "Represents the operational status of an table entry. + This textual convention allows explicitly representing + the states of rows dependent on rows in other tables. + + active(1) - + Indicates this entry's RowStatus is active + and the RowStatus for each dependency is active. + + activeDependencies(2) - + Indicates that the RowStatus for each dependency + is active, but the entry's RowStatus is not active. + + inactiveDependency(3) - + Indicates that the RowStatus for at least one + dependency is not active. + + missingDependency(4) - + Indicates that at least one dependency does + not exist in it's table."; + } + + typedef CiscoPort { + type int32 { + range "0..65535"; + } + description + "The TCP or UDP port number range."; + reference + "Transmission Control Protocol. J. Postel. RFC793, + User Datagram Protocol. J. Postel. RFC768"; + } + + typedef CiscoIpProtocol { + type int32 { + range "0..255"; + } + description + "IP protocol number range."; + reference + "Internet Protocol. J. Postel. RFC791"; + } + + typedef CiscoLocationClass { + type enumeration { + enum "chassis" { + value "1"; + } + enum "shelf" { + value "2"; + } + enum "slot" { + value "3"; + } + enum "subSlot" { + value "4"; + } + enum "port" { + value "5"; + } + enum "subPort" { + value "6"; + } + enum "channel" { + value "7"; + } + enum "subChannel" { + value "8"; + } + } + description + "An enumerated value which provides an indication of + the general location type of a particular physical and/or + logical interface. + chassis - a system framework for mounting one or more + shelves/slots/cards. + shelf - a cabinet that holds one or more slots. + slot - card or subSlot holder. + subSlot - daughter-card holder. + port - a physical port (e.g., a DS1 or DS3 physical port). + subPort - a logical port on a physical port (e.g., a DS1 + subPort on a DS3 physical port). + channel - a logical interface (e.g., a DS0 channel, signaling + channel, ATM port, other virtual interfaces). + subChannel - a sub-channel on a logical interface."; + } + + typedef CiscoLocationSpecifier { + type binary { + length "0..255"; + } + description + "Use this TC to define objects that indicate the + physical entity and/or logical interface location + of a managed entity on a managed device. In SNMP, a + standard mechanism for indicating the physical location + of entities is via the ENTITY-MIB. However, that approach + is not satisfactory in some cases because: + + 1. The entity requiring a location-based naming may be + associated with an entity which can not be represented + as a physical entity in the ENTITY-MIB, + 2. NMS applications may desire a more direct + name/representation of a physical entity than is + available via the ENTITY-MIB, e.g., a physical entity + which is named via a hierarchy of levels in the ENTITY-MIB. + + The value of an object defined using this TC is an ASCII + string consisting of zero or more elements separated by + commas. Each element is of the form = . + + An example of this syntax is 'slot=5,port=3'. + + The syntax of the string is formally specified using + ABNF notation (with one exception, noted below), as + follows: + + location-specifier = elem *(',' elem) + ; subject to + ; size restriction specified in the SYNTAX + ; clause below + + elem = loctype '=' number + + number = %x00-FFFFFFFF / %d0-4294967295 + + loctype = 1*32VCHAR + + It is recommended that loctype use one of the enumerated + labels defined for CiscoLocationClass. + + (NOTE: To conform to ABNF notation as defined in RFC2234, + substitute the single-quote symbol with a double-quote + symbol in the above rules.) + + A zero length of CiscoLocationSpecifier is object-specific + and must be defined as part of the description of any object + which uses this syntax."; + reference + "RFC2234, Augmented BNF for syntax specifications: ABNF"; + } + + typedef CiscoInetAddressMask { + type uint32 { + range "0..128"; + } + description + "Denotes a generic Internet subnet address mask. + The Internet subnet address mask is represented as the + number of contiguous 1-bit from MSB (most significant bit) + of the Internet subnet address mask. + A CiscoInetAddressMask value is always interpreted within + the context of an InetAddressType value. The + InetAddressType only object or InetAddressType with + InetAddress objects which define the context must be + registered immediately before the object which uses the + CiscoInetAddressMask textual convention. In other words, + the object identifiers for the InetAddressType object and + the CiscoInetAddressMask object MUST have the same length + and the last sub-identifier of the InetAddressType object + MUST be 1 less than the last sub-identifier of the + CiscoInetAddressMask object and MUST be 2 less than the + last sub-identifier of the CiscoInetAddressMask object if + an InetAddress object is defined between InetAddressType + and CiscoInetAddressMask objects. + The maximum value of the CiscoInetAddressMask TC is 32 for + the value 'ipv4(1)' in InetAddressType object and 128 for + the value 'ipv6(2)' in InetAddressType object. + The value zero is object-specific and must therefore be + defined as part of the description of any object which + uses this syntax. Examples of the usage of zero might + include situations where Internet subnet mask was unknown, + or when none subnet masks need to be referenced."; + reference + "RFC2851, Textual Conventions for Internet Network Addresses."; + } + + typedef CiscoAbsZeroBasedCounter32 { + type yang:gauge32; + description + "This TC describes an object which counts events with the + following semantics: objects of this type will be set to + zero(0) on creation and will thereafter count appropriate + events, it locks at the maximum value of 4,294,967,295 if + the counter overflows. + This TC may be used only in situations where wrapping is + not possible or extremely unlikely situation."; + } + + typedef CiscoSnapShotAbsCounter32 { + type uint32; + description + "This TC describes an object which stores a snap-shot value + with the following semantics: objects of this type will + take a snap-shot value from their associated + CiscoAbsZeroBasedCounter32 type objects on creation."; + } + + typedef CiscoAlarmSeverity { + type enumeration { + enum "cleared" { + value "1"; + } + enum "indeterminate" { + value "2"; + } + enum "critical" { + value "3"; + } + enum "major" { + value "4"; + } + enum "minor" { + value "5"; + } + enum "warning" { + value "6"; + } + enum "info" { + value "7"; + } + } + description + "Represents the perceived alarm severity associated + with a service or safety affecting condition and/or + event. These are based on ITU severities, except + that info(7) is added. + + cleared(1) - + Indicates a previous alarm condition has been + cleared. It is not required (unless specifically + stated elsewhere on a case by case basis) that an + alarm condition that has been cleared will produce + a notification or other event containing an + alarm severity with this value. + + indeterminate(2) - + Indicates that the severity level cannot be + determined. + + critical(3) - + Indicates that a service or safety affecting + condition has occurred and an immediate + corrective action is required. + + major(4) - + Indicates that a service affecting condition has + occurred and an urgent corrective action is + required. + + minor(5) - + Indicates the existence of a non-service affecting + condition and that corrective action should be + taken in order to prevent a more serious (for + example, service or safety affecting) condition. + + warning(6) - + Indicates the detection of a potential or impending + service or safety affecting condition, before any + significant effects have been felt. + + info(7) - + Indicates an alarm condition that does not + meet any other severity definition. This can + include important, but non-urgent, notices or + informational events."; + reference + "ITU-X.733"; + } + + typedef PerfHighIntervalCount { + type yang:counter64; + description + "A 64 bit counter associated with a + performance measurement in a previous + 15 minute measurement interval. In the + case where the agent has no valid data + available for a particular interval the + corresponding object instance is not + available and upon a retrieval request + a corresponding error message shall be + returned to indicate that this instance + does not exist (for example, a noSuchName + error for SNMPv1 and a noSuchInstance for + SNMPv2 GET operation). + In a system supporting + a history of n intervals with + IntervalCount(1) and IntervalCount(n) the + most and least recent intervals + respectively, the following applies at + the end of a 15 minute interval: + - discard the value of IntervalCount(n) + - the value of IntervalCount(i) becomes that + of IntervalCount(i-1) for n >= i > 1 + - the value of IntervalCount(1) becomes that + of CurrentCount + - the TotalCount, if supported, is adjusted. + + This definition is based on CounterBasedGauge64 TEXTUAL + CONVENTION defined in RFC2856. The PerfHighIntervalCount + type represents a non-negative + integer, which may increase or decrease, but shall never + exceed a maximum value, nor fall below a minimum value. The + maximum value can not be greater than 2^64-1 + (18446744073709551615 decimal), and the minimum value can + not be smaller than 0. The value of a PerfHighIntervalCount, + has its maximum value whenever the information being modeled + is greater than or equal to its maximum value, and has its + minimum value whenever the information being modeled is + smaller than or equal to its minimum value. If the + information being modeled subsequently decreases below + (increases above) the maximum (minimum) value, the + PerfHighIntervalCount also decreases (increases). + + Note that this TC is not strictly supported in SMIv2, + because the 'always increasing' and 'counter wrap' semantics + associated with the Counter64 base type are not preserved. + It is possible that management applications which rely + solely upon the (Counter64) ASN.1 tag to determine object + semantics will mistakenly operate upon objects of this type + as they would for Counter64 objects. + + This textual convention represents a limited and short-term + solution, and may be deprecated as a long term solution is + defined and deployed to replace it."; + reference + "RFC 2856(HCNUM-TC MIB). + RFC 2493(PerfHist-TC-MIB)."; + } + + typedef ConfigIterator { + type uint32 { + range "1..4294967295"; + } + description + "This object type is a control object type which applies to + writable objects in the same SNMP PDU related to the + same table containing those objects. It controls an + operation which repeatedly applies the specified + configuration data to more than one rows in a table. + The operation starts from the row specified by the index + of the instance and repeats for the number of rows as + the value of the object. + + ConfigIterator object needs to be accompanied by one set of + writable objects which are of the same instance to apply to. + + For example, a SNMP PDU contains + { objectA.10 = 1, + objectB.10 = 'E1', + objectC.10 = 44, + objectRepetition.10 = 100 } + + The SYNTAX of objectRepetition is ConfigIterator. + This will apply value 1 to objectA, value 'E1' to objectB, + value 44 to objectC in the table starting from row 10 + repeatedly for 100 rows. + + The iteration is based on the number of rows, not based on + the value of the index. For sparse tables, the index 10, + 20, 30, 110, and 120 counts for 5 rows, the operation will + go beyond index 100 in the previous SNMP PDU example. + + The iteration will stop prematurely when it comes to the + following situations: + (1) When the number of the rows in the table is less than + the designated row indicated by the ConfigIterator + object. + (2) When it encounters the first error in any row, the + operation won't continue to next row. + + The operation of ConfigIterator object applies only to + the writable objects having the same index as the + ConfigIterator object in one SNMP PDU. + + For example, a SNMP PDU contains + { objectD.5 = 38, + objectE.6 = 'T1', + objectF.5 = 'false', + objectIterator.5 = 10 } + + The SYNTAX of objectIterator is ConfigIterator. + This will apply value 38 to objectD, value 'false' to + objectF in the table starting from row 5 repeatedly + for 10 rows. Since the object objectE.6 has different + index (6) from the index of objectIterator, the + repetition won't be applied to it. However the value + of objectE in the row 6 will be set to 'T1' according + to regular SNMP SET orperation. + + If there is row overlapping of the iteration in a SNMP PDU, + it will be operated as they are in two different SNMP PDUs. + + For example, a SNMP PDU contains + { objectD.5 = 38, + objectD.6 = 40, + objectE.6 = 'T1', + objectF.5 = 'false', + objectIterator.5 = 10 + objectIterator.6 = 10 } + + This will apply value 38 to objectD, value 'false' to + objectF starting from row 5 repeatedly for 10 rows, and + apply value 40 to objectD, value 'T1' to objectE starting + from row 6 repeatedly for 10 rows. The final value of + objectD.6 can be 38 or 40, it depends on the SNMP stack of + the system starts SNMP SET for the row 5 before the row 6 + or the other way around. + + The object defined as ConfigIterator will be set to value 1 + after the iteration operation is kick-off regardless the + system has completed the operation to the designated rows + or not. Therefore retrieving the value of this object + is meaningless. It acts as the one time operation for + bulk configuration. + + The object defined as ConfigIterator has no meaning by itself, + it has to be combined with one or more than one writable + objects from the same table and within the same SNMP PDU + for the repetition operation. + + For example, a SNMP PDU contains + { objectG.2 = 49, + objectH.2 = 'AE'h + objectIterator.4 = 20 } + + The SYNTAX of objectIterator is ConfigIterator. Since + there are no objects having the same index as the index + of objectIterator in the PDU, the result of this SNMP + operation will set value 49 to objectG and value 0xAE + to objectH of the row 2 only as regular SNMP SET operation. + + The index of the instance indicates the starting row for the + iteration. + The order of the iteration depends, for instance, on: + (1) physical hardware position, or + (2) logical index. + + It depends on the characters of the table which contains + the ConfigIterator object. + + Iteration can be done through some or all the components + of the index for a table. The description of the iterator + object in that table should describe which part of the + index the iteration is applied to. + + The operation for this object type is based on the best + effort. When the agent receives a SNMP PDU containing this + data type, the return status of the SNMP request reflects + only the result of the SET operation has applied to the + starting row. It may return a SNMP response with SUCCESS + status regardless the number of rows for the data actually + been deployed later on. Therefore it is possible the data + might not be completely deployed to the number of rows + designated by the ConfigIterator and the operation stops + prematurely due to an error it first encounters after + n rows (n < the value of ConfigIterator object). + + Usually the error report mechanism for this type of operation + is accomplished by combining this type of object with the + other two objects in the same table: + + (1) An OwnerString object + (2) An object indicates the result of the operation. + + When issuing this bulk configuration request, the SNMP + manager should provide its identifier in (1) object. + After issuing the request, it should check the value of (1) + object if it is the same with it own name. + If they are the same, then the value of the object presents + in (2) is the result from the previous operation from this + manager. Otherwise, another SNMP manager might issue + the bulk configuration to the same table before the previous + bulk operation has been completed. These two objects will + represent the last bulk operation in the table."; + } + + typedef BulkConfigResult { + type binary { + length "0..255"; + } + description + "This textual convention defines the format of the + displayable textual result from the bulk configuration + operation specified as ConfigIterator type. + + The format should be: + 'COMPLETION= error occured>/, + ERROR=/: + ' + + For example: + 'COMPLETION=22/100,ERROR=38/44:Invalid Ds1 line coding + for the line type'"; + } + + typedef ListIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique value greater than zero, for each of the + list that is defined. The object using this + convention should give all the object specific + details including the list type."; + } + + typedef ListIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of the + ListIndex. In addition to the ListIndex range, + this also includes 0 in its range of values. + This value could be object specific and + should be given the description of that object. + In most cases, a value 0 means that the it does + not represent any lists."; + } + + typedef TimeIntervalSec { + type uint32; + description + "A period of time, measured in units of 1 second."; + } + + typedef TimeIntervalMin { + type uint32; + description + "A period of time, measured in units of 1 minute."; + } + + typedef CiscoMilliSeconds { + type uint32; + description + "Represents time unit value in milliseconds."; + } + + typedef MicroSeconds { + type uint32; + description + "Represents time unit value in microseconds."; + } + + typedef CiscoPortList { + type binary { + length "0..256"; + } + description + "Each octet within this value specifies a set of eight + ports. The object defined by this textual convention + can specify a port range of 2k ports in its description. + Example: 1 - 2048, 2049 - 4096, etc. The first octet + represents the first 8 ports of the range of ports + specified by the object, the second octet represents + the next 8 ports, etc. When a port range is not + specified, a default port range of '1 - 2048' is assumed. + + Within each octet, the most significant bit represents + the lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1' + then that port is included in the set of ports; the port + is not included if its bit has a value of '0'. + + Note that if the length of this string is less than + 256 octets, any 'missing' octets are assumed to contain + the value zero. An NMS may omit any zero-valued octets + from the end of this string in order to reduce SetPDU size, + and the agent may also omit zero-valued trailing octets, + to reduce the size of GetResponse PDUs."; + } + + typedef CiscoPortListRange { + type enumeration { + enum "oneto2k" { + value "1"; + } + enum "twoKto4K" { + value "2"; + } + enum "fourKto6K" { + value "3"; + } + enum "sixKto8K" { + value "4"; + } + enum "eightKto10K" { + value "5"; + } + enum "tenKto12K" { + value "6"; + } + enum "twelveKto14K" { + value "7"; + } + enum "fourteenKto16K" { + value "8"; + } + } + description + "Indicates the port range. + + oneto2K(1) indicates that the port number range is + from 1 to 2048. + + twoKto4K(2) indicates that the port number range is + from 2049 to 4096. + + fourKto6K(3) indicates that the port number range is + from 4097 to 6144. + + sixKto8K(4) indicates that the port number range is + from 6145 to 8192. + + eightKto10K(5) indicates that the port number range is + from 8193 to 10240. + + tenKto12K(6) indicates that the port number range is + from 10241 to 12288. + + twelveKto14K(7) indicates that the port number range is + from 12289 to 14336. + + fourteenKto16K(8) indicates that the port number range is + from 14337 to 16384. + + When an object is defined with this textual convention, + it must be accompanied by an object of CiscoPortList + syntax."; + } + + typedef IfOperStatusReason { + type enumeration { + enum "other" { + value "1"; + } + enum "none" { + value "2"; + } + enum "hwFailure" { + value "3"; + } + enum "loopbackDiagFailure" { + value "4"; + } + enum "errorDisabled" { + value "5"; + } + enum "swFailure" { + value "6"; + } + enum "linkFailure" { + value "7"; + } + enum "offline" { + value "8"; + } + enum "nonParticipating" { + value "9"; + } + enum "initializing" { + value "10"; + } + enum "vsanInactive" { + value "11"; + } + enum "adminDown" { + value "12"; + } + enum "channelAdminDown" { + value "13"; + } + enum "channelOperSuspended" { + value "14"; + } + enum "channelConfigurationInProgress" { + value "15"; + } + enum "rcfInProgress" { + value "16"; + } + enum "elpFailureIsolation" { + value "17"; + } + enum "escFailureIsolation" { + value "18"; + } + enum "domainOverlapIsolation" { + value "19"; + } + enum "domainAddrAssignFailureIsolation" { + value "20"; + } + enum "domainOtherSideEportIsolation" { + value "21"; + } + enum "domainInvalidRcfReceived" { + value "22"; + } + enum "domainManagerDisabled" { + value "23"; + } + enum "zoneMergeFailureIsolation" { + value "24"; + } + enum "vsanMismatchIsolation" { + value "25"; + } + enum "parentDown" { + value "26"; + } + enum "srcPortNotBound" { + value "27"; + } + enum "interfaceRemoved" { + value "28"; + } + enum "fcotNotPresent" { + value "29"; + } + enum "fcotVendorNotSupported" { + value "30"; + } + enum "incompatibleAdminMode" { + value "31"; + } + enum "incompatibleAdminSpeed" { + value "32"; + } + enum "suspendedByMode" { + value "33"; + } + enum "suspendedBySpeed" { + value "34"; + } + enum "suspendedByWWN" { + value "35"; + } + enum "domainMaxReTxFailure" { + value "36"; + } + enum "eppFailure" { + value "37"; + } + enum "portVsanMismatchIsolation" { + value "38"; + } + enum "loopbackIsolation" { + value "39"; + } + enum "upgradeInProgress" { + value "40"; + } + enum "incompatibleAdminRxBbCredit" { + value "41"; + } + enum "incompatibleAdminRxBufferSize" { + value "42"; + } + enum "portChannelMembersDown" { + value "43"; + } + enum "zoneRemoteNoRespIsolation" { + value "44"; + } + enum "firstPortUpAsEport" { + value "45"; + } + enum "firstPortNotUp" { + value "46"; + } + enum "peerFCIPPortClosedConnection" { + value "47"; + } + enum "peerFCIPPortResetConnection" { + value "48"; + } + enum "fcipPortMaxReTx" { + value "49"; + } + enum "fcipPortKeepAliveTimerExpire" { + value "50"; + } + enum "fcipPortPersistTimerExpire" { + value "51"; + } + enum "fcipPortSrcLinkDown" { + value "52"; + } + enum "fcipPortSrcAdminDown" { + value "53"; + } + enum "fcipPortAdminCfgChange" { + value "54"; + } + enum "fcipSrcPortRemoved" { + value "55"; + } + enum "fcipSrcModuleNotOnline" { + value "56"; + } + enum "invalidConfig" { + value "57"; + } + enum "portBindFailure" { + value "58"; + } + enum "portFabricBindFailure" { + value "59"; + } + enum "noCommonVsanIsolation" { + value "60"; + } + enum "ficonVsanDown" { + value "61"; + } + enum "invalidAttachment" { + value "62"; + } + enum "portBlocked" { + value "63"; + } + enum "incomAdminRxBbCreditPerBuf" { + value "64"; + } + enum "tooManyInvalidFlogis" { + value "65"; + } + enum "deniedDueToPortBinding" { + value "66"; + } + enum "elpFailureRevMismatch" { + value "67"; + } + enum "elpFailureClassFParamErr" { + value "68"; + } + enum "elpFailureClassNParamErr" { + value "69"; + } + enum "elpFailureUnknownFlowCtlCode" { + value "70"; + } + enum "elpFailureInvalidFlowCtlParam" { + value "71"; + } + enum "elpFailureInvalidPortName" { + value "72"; + } + enum "elpFailureInvalidSwitchName" { + value "73"; + } + enum "elpFailureRatovEdtovMismatch" { + value "74"; + } + enum "elpFailureLoopbackDetected" { + value "75"; + } + enum "elpFailureInvalidTxBbCredit" { + value "76"; + } + enum "elpFailureInvalidPayloadSize" { + value "77"; + } + enum "bundleMisCfg" { + value "78"; + } + enum "bitErrRuntimeThreshExceeded" { + value "79"; + } + enum "linkFailLinkReset" { + value "80"; + } + enum "linkFailPortInitFail" { + value "81"; + } + enum "linkFailPortUnusable" { + value "82"; + } + enum "linkFailLossOfSignal" { + value "83"; + } + enum "linkFailLossOfSync" { + value "84"; + } + enum "linkFailNosRcvd" { + value "85"; + } + enum "linkFailOLSRcvd" { + value "86"; + } + enum "linkFailDebounceTimeout" { + value "87"; + } + enum "linkFailLrRcvd" { + value "88"; + } + enum "linkFailCreditLoss" { + value "89"; + } + enum "linkFailRxQOverflow" { + value "90"; + } + enum "linkFailTooManyInterrupts" { + value "91"; + } + enum "linkFailLipRcvdBb" { + value "92"; + } + enum "linkFailBbCreditLoss" { + value "93"; + } + enum "linkFailOpenPrimSignalTimeout" { + value "94"; + } + enum "linkFailOpenPrimSignalReturned" { + value "95"; + } + enum "linkFailLipF8Rcvd" { + value "96"; + } + enum "linkFailLineCardPortShutdown" { + value "97"; + } + enum "fcspAuthenfailure" { + value "98"; + } + enum "fcotChecksumError" { + value "99"; + } + enum "ohmsExtLoopbackTest" { + value "100"; + } + enum "invalidFabricBindExchange" { + value "101"; + } + enum "tovMismatch" { + value "102"; + } + enum "ficonNotEnabled" { + value "103"; + } + enum "ficonNoPortNumber" { + value "104"; + } + enum "ficonBeingEnabled" { + value "105"; + } + enum "ePortProhibited" { + value "106"; + } + enum "portGracefulShutdown" { + value "107"; + } + enum "trunkNotFullyActive" { + value "108"; + } + enum "fabricBindingSwitchWwnNotFound" { + value "109"; + } + enum "fabricBindingDomainInvalid" { + value "110"; + } + enum "fabricBindingDbMismatch" { + value "111"; + } + enum "fabricBindingNoRspFromPeer" { + value "112"; + } + enum "dpvmVsanSuspended" { + value "113"; + } + enum "dpvmVsanNotFound" { + value "114"; + } + enum "trackedPortDown" { + value "115"; + } + enum "ecSuspendedOnLoop" { + value "116"; + } + enum "isolateBundleMisCfg" { + value "117"; + } + enum "noPeerBundleSupport" { + value "118"; + } + enum "portBringupIsolation" { + value "119"; + } + enum "domainNotAllowedIsolated" { + value "120"; + } + enum "virtualIvrDomainOverlapIsolation" { + value "121"; + } + enum "outOfService" { + value "122"; + } + enum "portAuthFailed" { + value "123"; + } + enum "bundleStandby" { + value "124"; + } + enum "portConnectorTypeErr" { + value "125"; + } + enum "errorDisabledReInitLmtReached" { + value "126"; + } + enum "ficonDupPortNum" { + value "127"; + } + enum "localRcf" { + value "128"; + } + enum "twoSwitchesWithSameWWN" { + value "129"; + } + enum "invalidOtherSidePrincEFPReqRecd" { + value "130"; + } + enum "domainOther" { + value "131"; + } + enum "elpFailureAllZeroPeerWWNRcvd" { + value "132"; + } + enum "preferredPathIsolation" { + value "133"; + } + enum "fcRedirectIsolation" { + value "134"; + } + enum "portActLicenseNotAvailable" { + value "135"; + } + enum "sdmIsolation" { + value "136"; + } + enum "fcidAllocationFailed" { + value "137"; + } + enum "externallyDisabled" { + value "138"; + } + enum "unavailableNPVUpstreamPort" { + value "139"; + } + enum "unavailableNPVPrefUpstreamPort" { + value "140"; + } + enum "sfpReadError" { + value "141"; + } + enum "stickyDownOnLinkFailure" { + value "142"; + } + enum "tooManyLinkFlapsErr" { + value "143"; + } + enum "unidirectionalUDLD" { + value "144"; + } + enum "txRxLoopUDLD" { + value "145"; + } + enum "neighborMismatchUDLD" { + value "146"; + } + enum "authzPending" { + value "147"; + } + enum "hotStdbyInBundle" { + value "148"; + } + enum "incompleteConfig" { + value "149"; + } + enum "incompleteTunnelCfg" { + value "150"; + } + enum "hwProgrammingFailed" { + value "151"; + } + enum "tunnelDstUnreachable" { + value "152"; + } + enum "suspendByMtu" { + value "153"; + } + enum "sfpInvalid" { + value "154"; + } + enum "sfpAbsent" { + value "155"; + } + enum "portCapabilitiesUnknown" { + value "156"; + } + enum "channelErrDisabled" { + value "157"; + } + enum "vrfMismatch" { + value "158"; + } + enum "vrfForwardReferencing" { + value "159"; + } + enum "dupTunnelConfigDetected" { + value "160"; + } + enum "primaryVLANDown" { + value "161"; + } + enum "vrfUnusable" { + value "162"; + } + enum "errDisableHandShkFailure" { + value "163"; + } + enum "errDisabledBPDUGuard" { + value "164"; + } + enum "dot1xSecViolationErrDisabled" { + value "165"; + } + enum "emptyEchoUDLD" { + value "166"; + } + enum "vfTaggingCapErr" { + value "167"; + } + enum "portDisabled" { + value "168"; + } + enum "tunnelModeNotConfigured" { + value "169"; + } + enum "tunnelSrcNotConfigured" { + value "170"; + } + enum "tunnelDstNotConfigured" { + value "171"; + } + enum "tunnelUnableToResolveSrcIP" { + value "172"; + } + enum "tunnelUnableToResolveDstIP" { + value "173"; + } + enum "tunnelVrfDown" { + value "174"; + } + enum "sifAdminDown" { + value "175"; + } + enum "phyIntfDown" { + value "176"; + } + enum "ifSifLimitExceeded" { + value "177"; + } + enum "sifHoldDown" { + value "178"; + } + enum "noFcoe" { + value "179"; + } + enum "dcxCompatMismatch" { + value "180"; + } + enum "isolateBundleLimitExceeded" { + value "181"; + } + enum "sifNotBound" { + value "182"; + } + enum "errDisabledLacpMiscfg" { + value "183"; + } + enum "satFabricIfDown" { + value "184"; + } + enum "invalidSatFabricIf" { + value "185"; + } + enum "noRemoteChassis" { + value "186"; + } + enum "vicEnableNotReceived" { + value "187"; + } + enum "vicDisableReceived" { + value "188"; + } + enum "vlanVsanMappingNotEnabled" { + value "189"; + } + enum "stpNotFwdingInFcoeMappedVlan" { + value "190"; + } + enum "moduleOffline" { + value "191"; + } + enum "udldAggModeLinkFailure" { + value "192"; + } + enum "stpInconsVpcPeerDisabled" { + value "193"; + } + enum "setPortStateFailed" { + value "194"; + } + enum "suspendedByVpc" { + value "195"; + } + enum "vpcCfgInProgress" { + value "196"; + } + enum "vpcPeerLinkDown" { + value "197"; + } + enum "vpcNoRspFromPeer" { + value "198"; + } + enum "protoPortSuspend" { + value "199"; + } + enum "tunnelSrcDown" { + value "200"; + } + enum "cdpInfoUnavailable" { + value "201"; + } + enum "fexSfpInvalid" { + value "202"; + } + enum "errDisabledIpConflict" { + value "203"; + } + enum "fcotClkRateMismatch" { + value "204"; + } + enum "portGuardTrustSecViolation" { + value "205"; + } + enum "sdpTimeout" { + value "206"; + } + enum "satIncompatTopo" { + value "207"; + } + enum "waitForFlogi" { + value "208"; + } + enum "satNotConfigured" { + value "209"; + } + enum "npivNotEnabledInUpstream" { + value "210"; + } + enum "vsanMismatchWithUpstreamSwPort" { + value "211"; + } + enum "portGuardBitErrRate" { + value "212"; + } + enum "portGuardSigLoss" { + value "213"; + } + enum "portGuardSyncLoss" { + value "214"; + } + enum "portGuardLinkReset" { + value "215"; + } + enum "portGuardCreditLoss" { + value "216"; + } + enum "ipQosMgrPolicyAppFailure" { + value "217"; + } + enum "pauseRateLimitErrDisabled" { + value "218"; + } + enum "lstGrpUplinkDown" { + value "219"; + } + enum "stickyDnLinkFailure" { + value "220"; + } + enum "routerMacFailure" { + value "221"; + } + enum "dcxMultipleMsapIds" { + value "222"; + } + enum "dcxHundredPdusRcvdNoAck" { + value "223"; + } + enum "enmSatIncompatibleUplink" { + value "224"; + } + enum "enmLoopDetected" { + value "225"; + } + enum "nonStickyExternallyDisabled" { + value "226"; + } + enum "subGroupIdNotAssigned" { + value "227"; + } + enum "vemUnlicensed" { + value "228"; + } + enum "profileNotFound" { + value "229"; + } + enum "nonExistentVlan" { + value "230"; + } + enum "vlanInvalidType" { + value "231"; + } + enum "vlanDown" { + value "232"; + } + enum "vpcPeerUpgrade" { + value "233"; + } + enum "ipQosDcbxpCompatFailure" { + value "234"; + } + enum "nonCiscoHbaVfTag" { + value "235"; + } + enum "domainIdConfigMismatch" { + value "236"; + } + enum "sfpSpeedMismatch" { + value "237"; + } + enum "xcvrInitializing" { + value "238"; + } + enum "xcvrAbsent" { + value "239"; + } + enum "xcvrInvalid" { + value "240"; + } + enum "vfcBindingInvalid" { + value "241"; + } + enum "vlanNotFcoeEnabled" { + value "242"; + } + enum "pvlanNativeVlanErr" { + value "243"; + } + enum "ethL2VlanDown" { + value "244"; + } + enum "ethIntfInvalidBinding" { + value "245"; + } + enum "pmonFailure" { + value "246"; + } + enum "l3NotReady" { + value "247"; + } + enum "speedMismatch" { + value "248"; + } + enum "flowControlMismatch" { + value "249"; + } + enum "vdcMode" { + value "250"; + } + enum "suspendedDueToMinLinks" { + value "251"; + } + enum "enmPinFailLinkDown" { + value "252"; + } + enum "inactiveM1PortFpathActiveVlan" { + value "253"; + } + enum "parentPortDown" { + value "254"; + } + enum "moduleRemoved" { + value "255"; + } + enum "corePortMct" { + value "256"; + } + enum "nonCorePortMct" { + value "257"; + } + enum "ficonInorderNotActive" { + value "258"; + } + enum "invalidEncapsulation" { + value "259"; + } + enum "modemLineDeasserted" { + value "260"; + } + enum "ipSecHndshkInProgress" { + value "261"; + } + enum "sfpEthCompliantErr" { + value "262"; + } + enum "cellularModemUnattached" { + value "263"; + } + enum "outOfGlblRxBuffers" { + value "264"; + } + enum "sfpFcCompliantErr" { + value "265"; + } + enum "ethIntfNotLicensed" { + value "266"; + } + enum "domainIdsInvalid" { + value "267"; + } + enum "fabricNameInvalid" { + value "268"; + } + } + description + "The cause of current operational state of the + interface. + + GLOSSARY: + + BB - Buffer-to-Buffer. + + BB_Credit - Buffer-to-Buffer credit, a link level flow + control mechanism. + + B_Port - A Fibre Channel, Bridging port. + + BPDU - Bridge Protocol Data Unit. + + CDP - Cisco Discovery Protocol. + + Class F - A connectionless service with notification on + non-delivery between E_Ports, used for control, + coordination, and configuration of the Fabric. + + Class N - Refers to any class of service (different types + of frame delivery services) other than Class F. + + E_D_TOV - Error Detect Timeout Value. + + ENM - Egress Non-Multicast. + + ELP - Exchange Link Parameter. + + E-mode - A fibre channel port providing E_Port + functionality. + + E_Port - A Fabric Expansion Port. + + EPP - Exchange Peer Parameters. + + ESC - Exchange Switch Capabilities. + + Fabric - The set of physically connected fibre channel + switches. + + FEX - Fabric EXtender. + + FC-FS - Fibre Channel Framing and Signaling. + + FCIP - Fibre Channel over IP protocol. + + FCID - Fibre Channel Domain ID. + + FCOE - Fibre Channel Over Ethernet. + + FCOT - Fibre channel optical transmitter. + + FC-PH - The Fibre Channel Physical and Signaling + standard. + + FCSP - Fibre Channel Security Protocol. + + Fibre Channel - The primary protocol for building SANs. + + FICON - An I-O protocol used between IBM (and compatible) + mainframes and storage. + + FLOGI - Fabric Login, used by a node port to establish a + session with the fabric. + + GBIC - Gigabit Interface Converter; a removable + transceiver module permitting Fibre Channel and + Gigabit Ethernet physical-layer transport. + + Interconnect_Ports - Switch Ports that assume either the + E_Port or B_Port mode are generally referred to + as Interconnect_Ports. + + LACP - Link Access Control Protocol. + + LIP - Loop Initialization Primitive sequence. + + LR - Link Reset, the FC-PH defined primitive sequence + used to initiate a link reset. + + MTU - Maximun transmission unit. + + NOS - Not Operational Sequence, the FC-PH defined + primitive sequence to indicate that the + transmitting port has detected a link failure (or) + offline condition. + + VIC - Virtual Interface Card. + + VPC - Virtual Port Channel. + + NPIV - N Port Identifier Virtualization. + + NPV - NPort Virtualizer. + + Nx_Port - A Fiber Channel Node Port. + + OLS - Offline Sequence, the FC-PH defined primitive + sequence to indicate that the port is entering + into offline state. + + OHMS - Online Health Management System. + + PMON - Port Monitor. + + R_A_TOV - Resource Allocation Timeout Value. + + RCF - Reconfigure Fabric. + + Rxbbcredit - Receive BB credit value configured for + a FC interface. + + SAN - Storage Area Network; a network linking computing + devices to disk or tape arrays and other devices + over Fibre Channel. + + SIF - Service Information Field. + + SDM - Security Device Manager. + + SDP - Secure Device Provisioning. + + SFP - Small Formfactor Pluggable. + + TE_Port - Trunking E_Port. + + TOV - Time out value. + + UDLD - Uni Directional Link Detection. + + VDC - Virtual Device Context. + + VEM - Virtual Ethernet Module. + + VFC - Virtual Fibre Channel. + + VRF - VPN Routing and Forwarding. + + VSAN - Virtual Storage Area Network. + + WWN - World Wide Name. + + xE_Port - A Fiber channel port that can assume either + E_Port or TE_Port mode. + + The enumerated values which provides the cause of the current + operational state of the interface are, + + 'other(1)' - reasons other than defined here. + + 'none(2)' - no failure. + + 'hwFailure(3)' - hardware failure. + + 'loopbackDiagFailure(4)' - loopback diagnostics failure. + + 'errorDisabled(5)' - the port is not operational due to + some error conditions that require administrative + attention. + + 'swFailure(6)' - software failure. + + 'linkFailure(7)' - physical link failure. + + 'offline(8)' - physical link is in offline state as + defined in the FC-FS standards. + + 'nonParticipating(9)' - during loop initialization, the + port is not allowed to participate in loop operations. + + 'initializing(10)' - port is being initialized. + + 'vsanInactive(11)'- port VSAN is inactive. The port becomes + operational again when the port VSAN is active. + + 'adminDown(12)' - ifAdminStatus is 'down'. + + 'channelAdminDown(13)' - this port is a member of a port + channel and that port channel's ifAdminStatus is + 'down'. + + 'channelOperSuspended(14)' - this port is a member of a + port channel and its operational parameters are + incompatible with the port channel parameters. + + 'channelConfigurationInProgress(15)' - this port is + undergoing a port channel configuration. + + 'rcfInProgress(16)' - an isolated xE_port is transmitting + an reconfigure fabric, requesting a disruptive + reconfiguration in an attempt to build a single, + non-isolated fabric. Only the Interconnect_Ports can + become isolated. + + 'elpFailureIsolation(17)' - during a port initialization + the prospective Interconnect_Ports find incompatible + link parameters. + + 'escFailureIsolation(18) - during a port initialization the + prospective Interconnect_Ports are unable to proceed + with initialization as a result of ESC. + + 'domainOverlapIsolation(19)' - there is a overlap in + domains while attempting to connect two existing + fabrics. + + 'domainAddrAssignFailureIsolation(20)' - the elected + principal switch is not capable of performing domain + address manager functions so no Nx_port traffic can be + forwarded across switches, hence all Interconnect_Ports + in the switch are isolated. + + 'domainOtherSideEportIsolation(21)' - the peer E_port is + isolated. + + 'domainInvalidRcfReceived(22)' - invalid RCF received. + + 'domainManagerDisabled(23) - domain manager is disabled. + + 'zoneMergeFailureIsolation(24)' - the two Interconnect_Ports + cannot merge zoning configuration after having exchanged + merging request for zoning. + + 'vsanMismatchIsolation(25)' - this VSAN is not configured + on both sides of a trunk port. + + 'parentDown(26)' - the physical port to which this interface + is bound is down. + + 'srcPortNotBound(27)'- no source port is specified for this + interface. + + 'interfaceRemoved(28)' - interface is being removed. + + 'fcotNotPresent(29)' - FCOT (GBIC) not present. + + 'fcotVendorNotSupported(30)' - FCOT (GBIC) vendor is not + supported. + + 'incompatibleAdminMode(31)' - port administrative mode is + incompatible with port capabilities. + + 'incompatibleAdminSpeed(32)' - port speed is incompatible + with port capabilities. + + 'suspendedByMode(33)' - port that belongs to a port channel + is suspended due to incompatible operational mode. + + 'suspendedBySpeed(34)' - port that belongs to a port channel + is suspended due to incompatible operational speed. + + 'suspendedByWwn(35)' - port that belongs to a port channel + is suspended due to incompatible remote switch WWN. + + 'domainMaxReTxFailure(36)' - domain manager failure after + maximum retries. + + 'eppFailure(37)' - trunk negotiation protocol failure after + maximum retries. + + 'portVsanMismatchIsolation(38)' - an attempt is made to + connect two switches using non-trunking ports having + different port VSANs. + + 'loopbackIsolation(39)' - port is connected to another port + in the same switch. + + 'upgradeInProgress(40)' - linecard upgrade in progress. + + 'incompatibleAdminRxBbCredit(41)' - receive BB credit is + incompatible. + + 'incompatibleAdminRxBufferSize(42)' - receive buffer size + is incompatible. + + 'portChannelMembersDown(43)' - no operational members. + + 'zoneRemoteNoRespIsolation(44)' - isolation due to remote + zone server not responding. + + 'firstPortUpAsEport(45)' - in a over subscribed line card, + when the first port in a group is up in E-mode, other + ports in that group cannot be brought up. + + 'firstPortNotUp(46)' - in a over subscribed line card, + first port cannot be brought up in E-mode when the + other ports in the group are up. + + 'peerFcipPortClosedConnection(47)' - port went down because + peer FCIP port closed TCP connection. + + 'peerFcipPortResetConnection(48)' - port went down because + the TCP connection was reset by the peer FCIP port. + + 'fcipPortMaxReTx(49)' - FCIP port went down due to maximum + TCP re-transmissions reached the configured limit. + + 'fcipPortKeepAliveTimerExpire(50)' - FCIP port went down + due to TCP keep alive timer expired. + + 'fcipPortPersistTimerExpire(51)' - FCIP port went down due + to TCP persist timer expired. + + 'fcipPortSrcLinkDown(52)' - FCIP port went down due to + Ethernet link down. + + 'fcipPortSrcAdminDown(53)' - FCIP port went down because + the source Ethernet link was administratively shutdown. + + 'fcipPortAdminCfgChange(54)' - FCIP port went down due to + configuration change. + + 'fcipSrcPortRemoved(55)' - FCIP port went down due to source + port removal. + + 'fcipSrcModuleNotOnline(56)' - FCIP port went down due to + source module not online. + + 'invalidConfig(57)' - this port has a misconfiguration with + respect to port channels. + + 'portBindFailure(58)' - port got isolated due to port bind + failure. + + 'portFabricBindFailure(59)' - port got isolated due to + fabric bind failure. + + 'noCommonVsanIsolation(60)' - trunk is isolated because + there are no common VSANs with peer. + + 'ficonVsanDown (61)' - FICON VSAN down. + + 'invalidAttachment (62)' - invalid attachment. + + 'portBlocked (63)' - port blocked due to FICON. + + 'incomAdminRxBbCreditPerBuf (64)' - disabled due to + incompatible administrative port rxbbcredit, + performance buffers. + + 'tooManyInvalidFlogis (65)' - suspended due to too many + invalid FLOGIs. + + 'deniedDueToPortBinding (66)' - suspended due to port + binding. + + 'elpFailureRevMismatch (67)' - isolated for ELP failure due + to revision mismatch. + + 'elpFailureClassFParamErr (68)' - isolated for ELP failure + due to Class F parameter error. + + 'elpFailureClassNParamErr (69)' - isolated for ELP failure + due to Class N parameter error. + + 'elpFailureUnknownFlowCtlCode (70)' - isolated for ELP + failure due to invalid flow control code. + + 'elpFailureInvalidFlowCtlParam (71)' - isolated for ELP + failure due to invalid flow control parameter. + + 'elpFailureInvalidPortName(72)' - isolated for ELP failure + due to invalid port name. + + 'elpFailureInvalidSwitchName (73)' - isolated for ELP + failure due to invalid switch name. + + 'elpFailureRatovEdtovMismatch (74)' - isolated for ELP + failure due to R_A_TOV or E_D_TOV mismatch. + + 'elpFailureLoopbackDetected (75)' - isolated for ELP + failure due to loopback detected. + + 'elpFailureInvalidTxBbCredit (76)' - isolated for ELP + failure due to invalid transmit BB credit. + + 'elpFailureInvalidPayloadSize (77)' - isolated for ELP + failure due to invalid payload size. + + 'bundleMisCfg (78)' - misconfiguration in port channel + membership detected. + + 'bitErrRuntimeThreshExceeded (79)' - bit error rate too + high. It has exceeded the run time threshold. + + 'linkFailLinkReset (80)' - link failure due to link reset. + + 'linkFailPortInitFail (81)' - link failure due to port + initialization failure. + + 'linkFailPortUnusable (82)' - link failure due to port + unusable. + + 'linkFailLossOfSignal (83)' - link failure due to loss of + signal. + + 'linkFailLossOfSync (84)' - link failure due to loss of + sync. + + 'linkFailNosRcvd (85)' - link failure due to non-operational + sequences received. + + 'linkFailOLSRcvd (86)' - link failure due to offline + sequences received. + + 'linkFailDebounceTimeout (87)' - link failure due to + re-negotiation failed. + + 'linkFailLrRcvd (88)' - link failure when link reset(LR) + operation fails due to non-empty receive queue. + + 'linkFailCreditLoss (89)' - link failure due to excessive + credit loss indications. + + 'linkFailRxQOverflow (90)' - link failure due to receive + queue overflow. + + 'linkFailTooManyInterrupts (91)' - link failure due to + excessive port interrupts. + + 'linkFailLipRcvdBb (92)' - link failure when loop + initialization(LIP) operation fails due to non empty + receive queue. + + 'linkFailBbCreditLoss (93)' - link failure when link + reset(LR) operation fails due to queue not empty. + + 'linkFailOpenPrimSignalTimeout (94)' - link failure due to + open primitive signal timeout while receive queue + not empty. + + 'linkFailOpenPrimSignalReturned (95)' - link failure due to + open primitive signal returned while receive queue + not empty. + + 'linkFailLipF8Rcvd (96)' - link failure due to F8 LIP + received. + + 'linkFailLineCardPortShutdown (97)' - link failure due to + port shutdown. + + 'fcspAuthenFailure (98)' - fibre channel security protocol + authorization fail. + + 'fcotChecksumError (99)' - FCOT SPROM checksum error. + + 'ohmsExtLoopbackTest (100)' - link suspended due to external + loopback diagnostics failure. + + 'invalidFabricBindExchange (101)' - invalid fabric binding + exchange. + + 'tovMismatch (102)' - link isolation due to TOV mismatch. + + 'ficonNotEnabled (103)' - FICON not enabled. + + 'ficonNoPortNumber (104)' - no FICON port number. + + 'ficonBeingEnabled (105)' - FICON is being enabled. + + 'ePortProhibited (106)' - port down because FICON prohibit + mask in place for E/TE port. + + 'portGracefulShutdown (107)' - port has been shutdown + gracefully. + + 'trunkNotFullyActive (108)' - some of the VSANs which are + common with the peer are not up. + + 'fabricBindingSwitchWwnNotFound (109)' - peer switch WWN not + found in fabric binding active database. + + 'fabricBindingDomainInvalid (110)' - peer domain ID is + invalid in fabric binding active database. + + 'fabricBindingDbMismatch (111)' - fabric binding active + database mismatch with peer. + + 'fabricBindingNoRspFromPeer (112)' - fabric binding no + response from peer. + + 'dpvmVsanSuspended (113)' - dpvm vsan is suspended. + + 'dpvmVsanNotFound (114)' - dpvm vsan not found. + + 'trackedPortDown (115)' - port down because tracked + port is down. + + 'ecSuspendedOnLoop (116)' - port suspended because extended + BB credits are configured on loop port. + + 'isolateBundleMisCfg (117)' - port isolated due to bundle + mis-configuration. + + 'noPeerBundleSupport (118)' - peer port does not support + bundle. + + 'portBringupIsolation (119)' - trunk port isolated during + bringup time. + + 'domainNotAllowedIsolated (120)' - port isolated due to + domain not allowed. + + 'virtualIvrDomainOverlapIsolation (121)' - port isolated + due to virtual IVR domain overlap. + + 'outOfService (122)' - port is in out of service state. + + 'portAuthFailed (123)' - port has encountered an 802.1x + authentication failure. + + 'bundleStandby (124)' - port cannot be brought up in + a bundle, since the bundle has max members. + + 'portConnectorTypeErr (125)' - Error in the port connector + type (SFP). + + 'errorDisabledReInitLmtReached (126)' - the port is not + operational after trying to initialize the port multiple + times due to some erorrs. + + 'ficonDupPortNum (127)' - the ficon vsan has a duplicate + port number. + + 'localRcf (128)' - fcdomain applied a locally disruptive + reconfiguration (the local domain became invalid; no + RCF frames have been sent outside the local switch). + + 'twoSwitchesWithSameWWN (129)' - merge attempt between + VSANs containing the same WWN. If the user attempts to + merge two different VSANs and both have at least one + switch with the same WWN then the link in between the + VSANs is isolated. + + 'invalidOtherSidePrincEFPReqRecd (130)' - EFP request frame + indicating a principal switch other than the locally + known one. + + 'domainOther (131)' - other domain manager reasons not + defined here. + + 'elpFailureAllZeroPeerWWNRcvd (132)' - isolated for ELP + failure due to peer WWN is received with all zeros. + + 'preferredPathIsolation (133)' - port isolated due to + preferred path not able to program the routes. + + 'fcRedirectIsolation (134)' - port isolated due to + FC Redirect not being able to program routes. + + 'portActLicenseNotAvailable (135)' - port not brought up + due to lack of port activation licenses. + + 'sdmIsolation (136)' - port isolated due to SDM + (Security Device Manager) not being + able to program routes. + + 'fcidAllocationFailed (137)' - port down due to failure + in FCID (Fibre Channel Domain ID) allocation. + + 'externallyDisabled (138)' - port externally disabled. + + 'unavailableNPVUpstreamPort (139)' - NPV + (NPort Virtualizer) upstream port not available. + + 'unavailableNPVPrefUpstreamPort (140)' - NPV + (NPort Virtualizer) preferred + upstream port not available. + + 'sfpReadError (141)' - the port is not operational due to + SFP (Small Formfactor Pluggable) read error. + + 'stickyDownOnLinkFailure (142)' - the port is + not operational due to link failure + in the sticky down mode. + + 'tooManyLinkFlapsErr (143)' - too many link flaps + on the port in a short interval. + + 'unidirectionalUDLD (144)' - unidirectional UDLD + (Uni Directional Link Detection) detected. + + 'txRxLoopUDLD (145)' - UDLD (Uni Directional + Link Detection) Tx Rx loop. + + 'neighborMismatchUDLD (146)' - UDLD + (Uni Directional Link Detection) neighbor mismatch. + + 'authzPending (147)' - authorization pending. + + 'hotStdbyInBundle (148)' - hot standby in bundle. + + 'incompleteConfig (149)' - all parameters on the port + have not been configured. + + 'incompleteTunnelCfg (150)' - incomplete tunnel config. + + 'hwProgrammingFailed (151)' - hardware programming failed. + + 'tunnelDstUnreachable (152)' - no route to + tunnel destination address. + + 'suspendByMtu (153)' - MTU allocation failed. + + 'sfpInvalid (154)' - SFP (Small Formfactor Pluggable) + is not Cisco certified. + + 'sfpAbsent (155)' - SFP (Small Formfactor + Pluggable) is absent. + + 'portCapabilitiesUnknown (156)' - the capabilities of the + port are unknown. + + 'channelErrDisabled (157)' - the port-channel to which + the port belongs is in error disabled state. + + 'vrfMismatch (158)' - Mismatch in source and transport VRF + (VPN Routing and Forwarding). + + 'vrfForwardReferencing (159)' - Forward referencing + transport VRF (VPN Routing and Forwarding). + + 'dupTunnelConfigDetected (160)' - two tunnel interfaces + with same configuration is not allowed. + + 'primaryVLANDown (161)' - primary VLAN is in down state. + + 'vrfUnusable (162)' - VRF (VPN Routing and Forwarding) + is unusable. + + 'errDisableHandShkFailure (163)' - port is not operational + due to an internal handshake failure. + + 'errDisabledBPDUGuard (164)' - BPDUGuard + (Bridge Protocol Data Unit) triggered + error disable on the port. + + 'dot1xSecViolationErrDisabled (165)' - error disabled + due to dot1x security violation. + + 'emptyEchoUDLD (166)' - UDLD (Uni Directional + Link Detection) empty echo. + + 'vfTaggingCapErr (167)' - VF Tagging capability + mismatch error. + + 'portDisabled (168)' - Port disabled. + + 'tunnelModeNotConfigured (169)' - Tunnel Mode is not + configured. + + 'tunnelSrcNotConfigured (170)' - Tunnel Source is not + configured. + + 'tunnelDstNotConfigured (171)' - Tunnel Destination + is not configured. + + 'tunnelUnableToResolveSrcIP (172)' - Unable to resolve + tunnel source IP address. + + 'tunnelUnableToResolveDstIP (173)' - Unable to resolve + tunnel destination IP address. + + 'tunnelVrfDown (174)' - Tunnel VRF down. + + 'sifAdminDown (175)' - SIF (Service Information Field) + is admin down. + + 'phyIntfDown (176)' - Physical interface is down. + + 'ifSifLimitExceeded (177)' - Interface SIF + (Service Information Field)limit is exceeded. + + 'sifHoldDown (178)' - SIF (Service Information Field) + hold down. + + 'noFcoe (179)' - No FCOE (Fibre Channel Over Ethernet) + configuration. + + 'dcxCompatMismatch (180)' - DCX Compatibility Mismatch. + + 'isolateBundleLimitExceeded (181)' - Isolation due to + bundle limit exceeded. + + 'sifNotBound (182)' - SIF (ervice Information Field) + is not bound. + + 'errDisabledLacpMiscfg (183)' - Error Disabled due to + LACP (Link Access Control Protocol) misconfig. + + 'satFabricIfDown (184)' - Satellite fabric interface down. + + 'invalidSatFabricIf (185)' - Invalid satellite fabric + interface. + + 'noRemoteChassis (186)' - No remote chassis. + + 'vicEnableNotReceived (187)' - VIC enable not received. + + 'vicDisableReceived (188)' - VIC disable received. + + 'vlanVsanMappingNotEnabled (189)' - VLAN VSAN mapping not + enabled. + + 'stpNotFwdingInFcoeMappedVlan (190)' - STP not forwarding + in FCOE Mapped Vlan. + + 'moduleOffline (191)' - Module Offline. + + 'udldAggModeLinkFailure (192)' - UDLD (Uni Directional Link + Detection) aggresive mode link failure. + + 'stpInconsVpcPeerDisabled (193)' - STP inconsistent + VPC (Virtual Port Channel) peer disabled. + + 'setPortStateFailed (194)' - Set port state failed. + + 'suspendedByVpc (195)' - Suspended by VPC + (Virtual Port Channel). + + 'vpcCfgInProgress (196)' - VPC (Virtual Port Channel) + configuration in progress. + + 'vpcPeerLinkDown (197)' - VPC (Virtual Port Channel) + peer link down. + + 'vpcNoRspFromPeer (198)' - VPC (Virtual Port Channel) + no response from peer. + + 'protoPortSuspend (199)' - Proto port suspend. + + 'tunnelSrcDown (200)' - Tunnel source down. + + 'cdpInfoUnavailable (201)' - CDP + (Cisco Discovery Protocol) information unavailable. + + 'fexSfpInvalid (202)' - FEX (Fabric Extender) + SFP (Small Formfactor Pluggable) invalid. + + 'errDisabledIpConflict (203)' - Error Disabled due to IP + conflict. + + 'fcotClkRateMismatch (204)' - FCOT CLK rate mismatch. + + 'portGuardTrustSecViolation (205)' - Error disabled due + to port guard (Cisco Trusted Security Violation). + + 'sdpTimeout (206)' - SDP (Secure Device Provisioning) + timeout. + + 'satIncompatTopo (207)' - Satellite incompatible topology. + + 'waitForFlogi (208)' - Wait for FLOGI. + + 'satNotConfigured (209)' - Satellite not configured. + + 'npivNotEnabledInUpstream (210)' - NPIV (N Port Identifier + Virtualization) not enabled in upstream. + + 'vsanMismatchWithUpstreamSwPort (211)' - VSAN + mismatch with upstream switch port. + + 'portGuardBitErrRate (212)' - Error disabled due to port + guard (Bit Error Rate). + + 'portGuardSigLoss (213)' - Error disabled due to + port guard (Signal Loss). + + 'portGuardSyncLoss (214)' - Error disabled due to port + guard (Sync Loss). + + 'portGuardLinkReset (215)' - Error disabled due to port + guard (Link Reset). + + 'portGuardCreditLoss (216)' - Error disabled due to port + guard (Credit Loss). + + 'ipQosMgrPolicyAppFailure (217)' - IP QOS Manager policy + application failure. + + 'pauseRateLimitErrDisabled (218)' - Port error disabled due + to pause rate limit condition. + + 'lstGrpUplinkDown (219)' - EthPM LSTGRP downstream link + down due to upstream link down. + + 'stickyDnLinkFailure (220)' - Port kept in error disabled + state due to Link Failure. + + 'routerMacFailure (221)' - Router MAC failure. + + 'dcxMultipleMsapIds (222)' - Port error disabled due to + multiple MSAP IDs (DCX). + + 'dcxHundredPdusRcvdNoAck (223)' - Hundred PDUs received + without ACK (DCX). + + 'enmSatIncompatibleUplink (224)' - Satellite Incompatible + Uplink. + + 'enmLoopDetected (225)' - Loop Detected (ENM). + + 'nonStickyExternallyDisabled (226)' - Disabled by VPD + Manager with shut/no shut allowed. + + 'nonStickyExternallyDisabled (227)' - Sub-group ID + not assigned. + + 'vemUnlicensed (228)' - VEM Unlicensed. + + 'profileNotFound (229)' - Profile not found. + + 'nonExistentVlan (230)' - VLAN does not exist. + + 'vlanInvalidType (231)' - Invalid VLAN type. + + 'vlanDown (232)' - VLAN down. + + 'vpcPeerUpgrade (233)' - VPC Peer Upgrade. + + 'ipQosDcbxpCompatFailure (234)' - IPQOS DCBXP compatibility + failure. + + 'nonCiscoHbaVfTag (235)' - Error Disabled due to Non-Cisco + HBA VF Tag. + + 'domainIdConfigMismatch (236)' - Domain ID config mismatch. + + 'sfpSpeedMismatch (237)' - SFP (Small Formfactor Pluggable) + speed mismatch. + 'xcvrInitializing (238)' - Transceiver initializing. + + 'xcvrAbsent (239)' - Transceiver absent. + + 'xcvrInvalid (240)' - Transceiver invalid. + + 'vfcBindingInvalid (241)' - Invalid VFC Binding. + + 'vlanNotFcoeEnabled (242)' - VLAN down due to FCOE + disabled. + + 'pvlanNativeVlanErr (243)' - Private VLAN + Native VLAN error. + + 'ethL2VlanDown (244)' - Ethernet L2 VLAN down. + + 'ethIntfInvalidBinding (245)' - Invalid Binding + to Ethernet Interface. + + 'pmonFailure (246)' - PMON Failure. + + 'l3NotReady (247)' - L3 not ready. + + 'speedMismatch (248)' - Speed Mismatch. + + 'flowControlMismatch (249)' - Flow Control Mismatch. + + 'vdcMode (250)' - VDC mode + + 'suspendedDueToMinLinks (251)' - Suspended due + to Min Links. + + 'enmPinFailLinkDown (252)' - ENM Pin Fail Link Down. + + 'inactiveM1PortFpathActiveVlan (253)' - Inactive M1 Port + F Path Active VLAN. + + 'parentPortDown (254)' - Parent Port Down. + + 'moduleRemoved (255)' - Module Removed. + + 'corePortMct (256)' - Core Port MCT. + + 'nonCorePortMct (257)' - Non Core port MCT. + + 'ficonInorderNotActive (258)'- FICON Inorder Not Active. + + 'invalidEncapsulation (259)' - Invalid Encapsulation. + + 'modemLineDeasserted (260)' - Modem line Deasserted. + + 'ipSecHndshkInProgress (261)' - IP Sec Handshake in + progress. + + 'sfpEthCompliantErr (262)' - Sfp Ethernet compliant error. + + 'cellularModemUnattached (263)' - Cellular Modem + unattached. + + 'outOfGlblRxBuffers (264)' - Out of Global Rx Buffers. + + 'sfpFcCompliantErr (265)' - Sfp Fc compliant Error. + + 'ethIntfNotLicensed (266)' - Ethernet Interface Not + Licensed. + + 'domainIdsInvalid (267)' - Domain IDs Invalid. + + 'fabricNameInvalid (268)' - Fabric Name Invalid."; + } + + typedef EntLogicalIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of entLogicalIndex. + If non-zero, the semantic is same as entLogicalIndex object. + If zero, no appropriate entLogicalIndex exists. Any additional + semantics must be defined as part of the description of any + object which uses this syntax."; + } + + typedef CiscoURLString { + type binary { + length "1..255"; + } + description + "This textual convention defines the URL string. + The Universal Resource Locator(URL). The URL strings + are compact string representation for a resource + available via internet. This is the address location + of the page to load. The string should represent a + fully qualifying string with the format + 'protocol:/server/page'. In general the string should + point to any value that can be saved/loaded. + Any limitation for the URL must be defined as part of + the description of any object which uses this syntax."; + reference + "Uniform Resource Locators. RFC 1738."; + } + + typedef CiscoURLStringOrEmpty { + type binary { + length "0..255"; + } + description + "This textual convention is an extension of CiscoURLString. + This extension permits the additional value of empty (zero + length) string. The description of any object which uses this + syntax must specifically describe the meaning of empty string + value."; + reference + "Uniform Resource Locators. RFC 1738."; + } + + typedef CiscoHTTPResponseStatusCode { + type uint32 { + range "100..599"; + } + description + "This corresponds to the HTTP Status code. + The Status-Code element in HTTP response is + a 3-digit integer result code of the attempt + to understand and satisfy the HTTP request + The Status-Code is intended for use by automata. + + The first digit of the Status-Code defines the class of + response. The last two digits do not have any + categorization role. There are 5 values for the first digit: + + - 1xx: Informational - Request received, continuing process + + - 2xx: Success - The action was successfully received, + understood, and accepted + + - 3xx: Redirection - Further action must be taken in order + to complete the request + + - 4xx: Client Error - The request contains bad syntax + or cannot be fulfilled + + - 5xx: Server Error - The server failed to fulfill an + apparently valid request."; + reference + "RFC 2616 Section 6.1.1 Status Code and Reason Phrase."; + } + + typedef CvE164Address { + type binary { + length "1..128"; + } + description + "A UTF-8 string limited to the character set defined for + E.164, '0123456789*#,'. + Note that represents the double quote which + cannot be contained in a SMI description clause. + OR + An IA5String limited to the character set '0123456789*#,.'"; + reference + "ITU-T E.164, Q.931 chapter 4.5.10 + ITU-H H.225.0 Annex H"; + } + + typedef CiscoVlanList { + type binary { + length "0..128"; + } + description + "Each octet within this value specifies a set of eight + VLANs. The object defined by this textual convention + can specify a VLAN range of 1k VLANs in its description. + Example: 0 - 1023, 1024 - 2047, etc. The first octet + represents the first 8 VLANs of the range of VLANs + specified by the object, the second octet represents + the next 8 VLANs, etc. When a VLAN range is not + specified, a default VLAN range of '0 - 1023' is assumed. + + Within each octet, the most significant bit represents + the lowest numbered VLAN, and the least significant bit + represents the highest numbered VLAN. Thus, each VLAN + of the device is represented by a single bit within the + value of this object. If that bit has a value of '1' + then that VLAN is included in the set of VLANs; the VLAN + is not included if its bit has a value of '0'. + + Note that if the length of this string is less than + 128 octets, any 'missing' octets are assumed to contain + the value zero. An NMS may omit any zero-valued octets + from the end of this string in order to reduce SetPDU size, + and the agent may also omit zero-valued trailing octets, + to reduce the size of GetResponse PDUs."; + } + + typedef CiscoCosList { + type bits { + bit cos0 { + position "0"; + } + bit cos1 { + position "1"; + } + bit cos2 { + position "2"; + } + bit cos3 { + position "3"; + } + bit cos4 { + position "4"; + } + bit cos5 { + position "5"; + } + bit cos6 { + position "6"; + } + bit cos7 { + position "7"; + } + } + description + "Each bit represents a CoS value (0 through 7)."; + } + + typedef CiscoPbbServiceIdentifier { + type uint32 { + range "1..16777216"; + } + description + "An integer-value which identifies the service instance of + the Provider Backbone Bridge frame."; + reference + "IEEE P802.1ah/D3.3 chapter 9.8, December 2006"; + } + + typedef CiscoBridgeDomain { + type uint32 { + range "1..65535"; + } + description + "An object with this syntax contains a bridge domain number + which is used to distinguish between multiple bridge domains. A + bridge domain represents a set of (logical) Ethernet segments + which are interconnected by 802.1D bridges. 802.1Q allows for a + maximum of 4095 VLANs within a bridge domain. Some devices can + be connected to multiple bridge domains, e.g., routers with + some of their interfaces in one bridge domain and other + interfaces in other bridge domain. In such devices, the + combination of bridge-domain-number and VLAN-id can be used to + uniquely identify any VLAN across all interfaces."; + } + + typedef Cisco2KVlanList { + type binary { + length "0..256"; + } + description + "Each octet within this value specifies a set of eight VLANs. + The object defined by this textual convention can specify a VLAN + range of 2k VLANs in its description. Example: 0 - 2047, 2048 - + 4095, etc. The first octet represents the first 8 VLANs of the + range of VLANs specified by the object, the second octet + represents the next 8 VLANs, etc. + + Within each octet, the most significant bit represents the + lowest numbered VLAN, and the least significant bit represents + the highest numbered VLAN. Thus, each VLAN of the device is + represented by a single bit within the value of this object. If + that bit has a value of '1' then that VLAN is included in the + set of VLANs; the VLAN is not included if its bit has a value of + '0'. + + Note that if the length of this string is less than 256 octets, + any 'missing' octets are assumed to contain the value zero. An + NMS may omit any zero-valued octets from the end of this string + in order to reduce SetPDU size, and the agent may also omit + zero-valued trailing octets, to reduce the size of GetResponse + PDUs."; + } + + typedef CiscoInterfaceIndexList { + type binary { + length "0..256"; + } + description + "This textual convention contains a list of ifIndex values. + + Each ifIndex value is represented by four octets. + Every set of four octets represents a value of an instance + of ifIndex object, defined in IF-MIB, corresponding to a + particular interface. + + For example, the first octet to the fourth octet represent a + value of the instance of ifIndex object for the first + interface in the list. The fifth octet to the eighth octet + represent a value of the instance of ifIndex object for + the second interface in the list. + + Up to 64 interfaces can be represented by this textual + convention."; + } + + typedef CiscoVrfName { + type binary { + length "0..32"; + } + description + "The name of the Virtual Private Network Routing and + Forwarding (VRF) domain. + + Semantics of a zero length CiscoVrfName are object-specific + and must be defined as part of the description of any object + which uses this syntax."; + } + + typedef CiscoEntityIndexList { + type binary { + length "0..256"; + } + description + "This text convention contains a list of entPhysicalIndex + values. + + Each entPhysicalIndex value is represented by four + octets. Every set of four octets represents a value of an + instance of entPhysicalIndex object, defined in ENTITY-MIB, + corresponding to a particular physical entity. + + For example, the first octet to the fourth octet + represents a value of the instance of entPhysicalIndex object + for the first physical entity in the list. The fifth octet to + the eighth octet represents a value of the instance of + entPhysicalIndex object for the second physical entity in the + list. + + Up to 64 physical entities can be represented by this + textual convention."; + } + + smiv2:alias "ciscoTextualConventions" { + smiv2:oid "1.3.6.1.4.1.9.12.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-UBE-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-UBE-MIB.yang new file mode 100644 index 000000000..81d925c8d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-UBE-MIB.yang @@ -0,0 +1,127 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-UBE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-UBE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-UBE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB"; + prefix CISCO-UBE-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + + Postal: 170 W Tasman Drive + + San Jose, CA 95134 + + USA + + + Tel: +1 800 553-NETS + + + E-mail: cs-cube@cisco.com"; + + description + "This MIB describes objects used for managing Cisco + Unified Border Element (CUBE). + + The Cisco Unified Border Element (CUBE) is a Cisco + IOS Session Border Controller (SBC) that interconnects + independent voice over IP (VoIP) and video over IP + networks for data, voice, and video transport"; + + revision 2010-11-29 { + description + "Initial version of this MIB module."; + } + + + container CISCO-UBE-MIB { + config false; + + container ciscoUbeMIBObjects { + smiv2:oid "1.3.6.1.4.1.9.9.764.0"; + + leaf cubeEnabled { + type boolean; + description + "This object represents, whether the Cisco + Unified Border Element (CUBE) is enabled + on the device or not. + + The value 'true' means that the CUBE feature + is enabled on the device. + + The value 'false' means that the CUBE feature + is disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.764.0.1"; + } + + leaf cubeVersion { + type snmp-framework:SnmpAdminString; + description + "This object represents the version of Cisco + Unified Border Element on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.764.0.2"; + } + + leaf cubeTotalSessionAllowed { + type uint32 { + range "0..999999"; + } + units "session"; + description + "This object provides the total number of CUBE + session allowed on the device. The value zero + means no sessions are allowed with CUBE."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.764.0.3"; + } + } + } + + smiv2:alias "ciscoUbeMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.764"; + } + + smiv2:alias "ciscoUbeMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.764.0"; + } + + smiv2:alias "ciscoUbeMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.764.1"; + } + + smiv2:alias "ciscoUbeMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.764.1.1"; + } + + smiv2:alias "ciscoUbeMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.764.1.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-UNIFIED-FIREWALL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-UNIFIED-FIREWALL-MIB.yang new file mode 100644 index 000000000..1289591c7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-UNIFIED-FIREWALL-MIB.yang @@ -0,0 +1,2418 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-UNIFIED-FIREWALL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-UNIFIED-FIREWALL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-UNIFIED-FIREWALL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB"; + prefix CISCO-UNIFIED-FIREWALL-MIB; + + import BRIDGE-MIB { + prefix "bridge-mib"; + } + + import CISCO-FIREWALL-TC { + prefix "cisco-firewall"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems"; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + E-mail: cs-firewalls@cisco.com"; + + description + "Overview of Cisco Firewall MIB + ============================== + This MIB Module models status and performance + statistics pertaining to the common features supported + by Cisco firewall implementations. For each firewall + feature, capability (if applicable) and statistics are + defined. Supporting the configuration of firewall + features is outside the scope of this MIB. + + Following are the major firewall features: + + 1) 'Stateful Packet Filtering' + Creating and maintaining the state of authorized + traffic flows dynamically to permit only + flows authorized by the policy is a mandatory + function of a firewall. + This MIB instruments the activity and memory + usage by this function. + + 2) 'Application Inspection' + This refers to the function of inspecting the + headers of layer 3 and layer 4 protocols and + creating dynamic entries in the connection + table for traffic flows spawned by an already + established traffic flow. + + This MIB reflects the protocols that are being + inspected. + + 3) 'URL Filtering' + This refers to the function of facilitating + or restricting URL access requests through + the firewall by consulting either local policy + or that configured on a dedicated URL filtering + server. + + This MIB instruments the URL filtering activity, + the status and activity of distinct URL filtering + servers configured on the firewall and the + impact of the performance of the URL filtering + servers on the latency and throughput of the + firewall. + + 4) 'Proxy Authentication' + This refers to the function of authenticating + and/or authorizing users on behalf of servers + on the secure side of the firewall. This operation + could affect the throughput of the firewall. + + The MIB objects pertaining to Proxy Authentication + will be defined in a subsequent revision of this + MIB. + + + 5) 'Transparent Mode Operation' + A firewall could operate as a bridge and yet + filter traffic based on layer 3-layer 7 control + and payload information. Operating in this mode + makes it easy to implement a firewall without + fragmenting existing subnets. Another advantage + of this mode of operation is enhanced security. + + This MIB instruments the status, activity, + and performance of the firewall in this mode. + Please note that to fully manage a firewall + operating in this mode, the firewall must also + support the bridge MIB (BRIDGE-MIB). + + + 6) 'Advanced Application Inspection and Control' + This function is also termed 'Application + Firewall' and pertains to inspecting payload and + headers of application traffic to make sure the + traffic flows conform to the configured security + policy. + + Monitoring this function entails identifying the + security alerts generated by this function and + measuring the impact on firewall performance by + this task. Application Firewall will be + instrumented in a separate MIB dedicated for the + function. + + 7) 'Failover' or 'Redundancy' + Redundancy configuration is essential for business + critical firewalls. + + Instrumenting this function entails reflecting + the configuration of redundancy and identifying + failover events. + + The MIB objects pertaining to Proxy Authentication + will be defined in a subsequent revision of this + MIB. + + + The management information for each firewall feature + is defined in a distinct module compliance unit. The + compliance units corresponding to basic features of + firewalls are defined as mandatory. + + Acronyms + ======== + Following are definitions of some terms used in this + module. Please refer to the module conformance for a + glossary of feature-specific terms. + + `Firewall' + A firewall is a set of related programs, + implemented on a host or a network device, that + protects the resources of a private network from + users from other networks. Common firewalling + functions include stateful packet filtering, + proxy authentication of users on behalf of + applications on the secure side of the firewall, + URL access control, inspection of payload of + traffic streams to determine security threats. + + `Layer2 Firewall' or 'Transparent Firewall' + A firewall device that operates as a bridge + while performing firewalling function. + + `Connection' + The record in the firewall of a traffic strean + that has been authorized to flow through the + firewall. + + `Half Open Connection' + For a connection oriented protocol: a connection + that has not reached the established on both the + sides of the connection. + For a connection-less protocol: the connection + corresponding to a traffic stream where traffic + flow has occurred (since the establishment of the + connection entry) only on one direction. + + `Embryonic Connection' + The connection entry corresponding to an + application layer protocol in which the signaling + channel has been established while the setup of + the data channel is underway. + + `Policy' + An element of firewall configuration that + identifies the access rights to a resource by a + traffic source. An example of a policy is an + Access Control Rule. + + `Policy Target' + An entity to which a policy is applied so that + the action corresponding to the policy is taken + only on traffic streams associated with the + entity. An example of a policy target is an + interface. + + `URL Filtering Server' + A server which is employed by the firewall to + enforce URL access policies. + + `Protocol Data Unit' or PDU + An instance of the unit of information using which + a protocol operates is called the Protocol Data + Unit or the PDU of the protocol. + + `Deep Packet Inspection' + The task of examining the contents of the payloads + of one or more layer 7 application protocols + with a view to enforcing the local security + policies termed 'Deep Packet Inspection'. + + `Advanced Application Inspection and Control' + An entity that performs deep packet inspection + of layer 7 application protocol data units is + termed an 'Application Firewall'."; + + revision 2005-09-22 { + description + "Initial version of this module."; + } + + + container CISCO-UNIFIED-FIREWALL-MIB { + config false; + + container cuFwConnectionGlobals { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1"; + + leaf cufwConnGlobalNumAttempted { + type yang:counter64; + units "Connections"; + description + " + Connection Statistics Aggregation + + Connection 1 +-----------+ + ------------->| |-------> Global Connection Summary + Connection 2 | | + ------------->| | + Connection 3 | | + ------------->| First |------------> ConnSummary + | Level | (i.e, L-3/4 Protocol + Connection 4 |Aggregation| Connection Summary) + ------------->| | + . | | + . | |---------------> PolicyConnSummary + Connection N | | (i.e, L-3/4 Policy Target based + ------------->| | Protocol Connection Summary) + +-----------+ + + + +-----------+ + L-3/4 Protocol | | + Connection Summary | | + ------------------>| |---------> AppConnSummary + | | (i.e, L-7 Protocol + | Second | Connection Summary) + |---Level---| + L-3/4 Policy Target |Aggregation| + based Protocol | | + Connection Summary | | + ------------------>| |---------------> PolicyAppConnSummary + | | (i.e, L-7 Policy Target based + | | Protocol Connection Summary) + +-----------+ + + + Specifically, the object + 'cufwConnGlobalNumAttempted' models + the number of connections which are attempted to + be set up through the firewall. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.1"; + } + + leaf cufwConnGlobalNumSetupsAborted { + type yang:counter64; + units "Connections"; + description + "The number of connection setup attempts that + were aborted before the connection could proceed + to completion. The counter includes setup + attempts aborted by the firewall as well as + those aborted by the initiator and/or the + responder(s) of/to the connection setup attempt. + + Consequently, this value subsumes the values of + objects 'cufwConnGlobalNumPolicyDeclined' and + 'cufwConnGlobalNumResDeclined'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.2"; + } + + leaf cufwConnGlobalNumPolicyDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connections which were attempted to + be setup but which were declined due to reasons of + security policy. + + This includes the connections that failed + authentication. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.3"; + } + + leaf cufwConnGlobalNumResDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connections which were attempted to + be setup but which were declined due to + non-availability of required resources. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.4"; + } + + leaf cufwConnGlobalNumHalfOpen { + type yang:gauge32; + units "Connections"; + description + "The number of connections which are in the process + of being setup but which have not yet reached the + established state in the connection table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.5"; + } + + leaf cufwConnGlobalNumActive { + type yang:gauge32; + units "Connections"; + description + "The number of connections which are currently active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.6"; + } + + leaf cufwConnGlobalNumExpired { + type yang:counter64; + units "Connections"; + description + "The number of connections which were active but + which were since normally terminated. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.7"; + } + + leaf cufwConnGlobalNumAborted { + type yang:counter64; + units "Connections"; + description + "The number of connections which were active but + which were aborted by the firewall due to reasons + of policy or resource rationing. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.8"; + } + + leaf cufwConnGlobalNumEmbryonic { + type yang:gauge32; + units "Connections"; + description + "The number of embryonic application layer connections + (that is, connections in which the signaling channel + has been established while the data channel is awaiting + setup). + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.9"; + } + + leaf cufwConnGlobalConnSetupRate1 { + type yang:gauge32; + units "Connections per second"; + description + "The averaged number of connections which the firewall + establishing per second, averaged over the last 60 + seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.10"; + } + + leaf cufwConnGlobalConnSetupRate5 { + type yang:gauge32; + units "Connections per second"; + description + "The averaged number of connections which the firewall + establishing per second, averaged over the last 300 + seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.11"; + } + + leaf cufwConnGlobalNumRemoteAccess { + type yang:gauge32; + units "Connections"; + description + "The number of active connections which correspond + to remote access applications. Specifically, the + protocol for which the connection is established + must be one of PPP, PPTP, L2TP or remote access IPsec + (IPsec connections employing extended authentication). + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1.12"; + } + } + + container cuFwConnectionResources { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2"; + + leaf cufwConnResMemoryUsage { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all structures + required to maintain the state of all connections + which are either being established or are active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2.1"; + } + + leaf cufwConnResActiveConnMemoryUsage { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all structures + required to maintain the state of all active + connections."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2.2"; + } + + leaf cufwConnResHOConnMemoryUsage { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all structures + required to maintain the state of all half + open connections."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2.3"; + } + + leaf cufwConnResEmbrConnMemoryUsage { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all structures + required to maintain the state of all embryonic + connections."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2.4"; + } + } + + container cuFwConnectionReportSettings { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.3"; + + leaf cufwConnReptAppStats { + type boolean; + description + "Setting this object to 'true' enables the MIB to + report connection activity statistics pertaining + to application protocols. + + If this object is set to 'false', the agent + should stop updating the objects defined in this + module pertaining to application protocols. + + Application monitoring could be a resource intensive + operation. It is expected that the administrators + would use this control to disable application + monitoring when the performance of the firewall is + degrading."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.3.1"; + } + + leaf cufwConnReptAppStatsLastChanged { + type yang:timestamp; + description + "The time at which the value of cufwConnReptAppStats + was last changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.3.2"; + } + } + + container cuFwApplInspectionGrp { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2"; + + leaf cufwAIAuditTrailEnabled { + type boolean; + description + "The value identifies if audit trail in application + inspection has been globally enabled or disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.1"; + } + + leaf cufwAIAlertEnabled { + type boolean; + description + "The value identifies if application inspection alerts + have been globally enabled or disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.2"; + } + } + + container cufwUrlFilterGlobals { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1"; + + leaf cufwUrlfFunctionEnabled { + type uint32 { + range "0..2"; + } + description + " + URL Filtering Operation + + _________ + 2.2 Request | | + |---------->| Server | + | | | + _________ __|_ |_________| + | |<--(5. Response )---| | 3. Response | + | | | |<-------------| + | Client |---(1. Request )--->|FW | + |_________| |____|<--------------| + | 4. URLF Resp ____|______ + | | | + |------------>|URLF Server| + 2.1 URLF Req |___________| + + 1) Client sends a Request containing a URL to the Server + + 2.1) FW extracts the URL from the Request and sends it to + URL Filtering Server (or Verifies the URL locally) + + 2.2) FW also forwards the original Request from the Client to + the Server + + 3) Any Responses from the Server received before receiving + a response from URLF Server are cached by the FW + + 4) URLF Response indicates whether the URL access should be + allowed or denied + + 5) If the URLF Response allows the URL, FW forwards the + URL Access responses from the Server to the Client + + 6) If the URLF Response indicates that the URL access should be + denied, FW drops all the cached URL responses and forces the + connection between the Client and the Server to be terminated + + Specifically, the object cufwUrlfFunctionEnabled + indicates if the URL filtering function + is enabled. + + When this MIB object contains the value 'false', + the firewall device will not perform URL filtering + function, even if it contains configuration pertaining + to other aspects of URL filtering."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.1"; + } + + leaf cufwUrlfRequestsNumProcessed { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests processed by + this firewall. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.2"; + } + + leaf cufwUrlfRequestsProcRate1 { + type yang:gauge32; + units "Requests per second"; + description + "The number of URL access requests processed per + seconds by this firewall averaged over the last 60 + seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.3"; + } + + leaf cufwUrlfRequestsProcRate5 { + type yang:gauge32; + units "Requests per second"; + description + "The number of URL access requests processed per second + by this firewall averaged over the last 300 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.4"; + } + + leaf cufwUrlfRequestsNumAllowed { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests allowed by + this firewall, due to a directive from a URL + filtering server or a static policy configured on + the firewall. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.5"; + } + + leaf cufwUrlfRequestsNumDenied { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests declined by + this firewall, due to a directive from a URL + filtering server, a static policy configured on + the firewall, due to resource constraints or + any other reason. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.6"; + } + + leaf cufwUrlfRequestsDeniedRate1 { + type yang:gauge32; + units "Requests per second"; + description + "The rate at which URL access requests were denied + by this firewall, due to a directive from a URL + filtering server, a static policy configured on + the firewall, due to resource constraints or + any other reason, averaged over the last 60 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.7"; + } + + leaf cufwUrlfRequestsDeniedRate5 { + type yang:gauge32; + units "Requests Per Second"; + description + "The rate at which URL access requests were denied + by this firewall, due to a directive from a URL + filtering server, a static policy configured on + the firewall, due to resource constraints or + any other reason, averaged over the last 300 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.8"; + } + + leaf cufwUrlfRequestsNumCacheAllowed { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests allowed by + the firewall because of a cached entry holding the + result from a previous URL access request that was + handled either by a URLF Server or exclusive domain + configuration. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.9"; + } + + leaf cufwUrlfRequestsNumCacheDenied { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests denied by + the firewall because of a cached entry holding the + result from a previous URL access request that was + handled either by a URLF Server or exclusive domain + configuration. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.10"; + } + + leaf cufwUrlfAllowModeReqNumAllowed { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests that were allowed + by the firewall when the URL filtering server was not + available. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.11"; + } + + leaf cufwUrlfAllowModeReqNumDenied { + type yang:counter64; + units "Requests"; + description + "The number of URL access requests that were declined + by the firewall when the URL filtering server was not + available. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.12"; + } + + leaf cufwUrlfRequestsNumResDropped { + type yang:counter64; + units "Requests"; + description + "The number of incoming URL access requests that + were dropped by the firewall because of resource + constraints. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.13"; + } + + leaf cufwUrlfRequestsResDropRate1 { + type yang:gauge32; + units "Requests Per Second"; + description + "The rate at which incoming URL access requests + were dropped by the firewall because of resource + constraints, averaged over the last 60 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.14"; + } + + leaf cufwUrlfRequestsResDropRate5 { + type yang:gauge32; + units "Requests Per Second"; + description + "The rate at which incoming URL access requests + were dropped by the firewall because of resource + constraints, averaged over the last 300 seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.15"; + } + + leaf cufwUrlfNumServerTimeouts { + type yang:counter64; + description + "The number of times the firewall failed to receive + a response from the configured URL filtering servers + for a request to authorize a URL access request. + + This is equal to the number of times a firewall removed + a URL access request from the queue of pending requests + because no response was received from the URL filtering + server(s). + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.16"; + } + + leaf cufwUrlfNumServerRetries { + type yang:counter64; + description + "The number of URL access authorization requests + re-sent by the firewall to the URL Filtering Servers + because a response was not received within the + configured time interval. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.17"; + } + + leaf cufwUrlfResponsesNumLate { + type yang:counter64; + units "Responses"; + description + "The number of responses from URL filtering servers + which were received after the original URL access + request was removed from the queue of pending + requests. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.18"; + } + + leaf cufwUrlfUrlAccRespsNumResDropped { + type yang:counter64; + units "Responses"; + description + "The number of transport packets constituting responses + to URL access requests that were dropped by the firewall + due to resource constraints waiting for a response from + the filtering server. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1.19"; + } + } + + container cufwUrlFilterResourceUsage { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.2"; + + leaf cufwUrlfResTotalRequestCacheSize { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all the caches + used in the firewall to cache pending URL access + requests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.2.1"; + } + + leaf cufwUrlfResTotalRespCacheSize { + type yang:gauge32; + units "KBytes"; + description + "The amount of memory occupied by all the caches + used in the firewall to cache responses for URL + requests received from servers while awaiting a + response from URL filter server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.2.2"; + } + } + + container cufwAaicGlobals { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.1"; + + leaf cufwAaicGlobalNumBadProtocolOps { + type yang:counter64; + units "Protocol Data Units"; + description + "'Protocol Operation' is the application protocol + specific operation that the PDU is intended to + perform. An example of 'protocol operation' is the + HELO command of SMTP protocol. + + This MIB object records the number of application + protocol data units that contained a protocol operation + which was disallowed by the local security policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + application traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.1.1"; + } + + leaf cufwAaicGlobalNumBadPDUSize { + type yang:counter64; + units "Protocol Data Units"; + description + "This MIB object records the number of application + protocol data units (PDU) that had either an invalid + header size or an invalid payload size, as determined + by the local security policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + application traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.1.2"; + } + + leaf cufwAaicGlobalNumBadPortRange { + type yang:counter64; + units "Protocol Data Units"; + description + "Number of application protocol units that attempted + to advertise illegal port ranges for secondary + connections. An example of such an occurrence + would be a passive FTP connection, where the + server advertises a disallowed port range for data + connection. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + application traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.1.3"; + } + } + + container cufwAaicHttpProtocolStats { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1"; + + leaf cufwAaicHttpNumBadProtocolOps { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + which were detected to be containing HTTP protocol + methods which are disallowed by the local security + policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.1"; + } + + leaf cufwAaicHttpNumBadPDUSize { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + that had either an invalid header size or an invalid + payload size, as determined by the local security + policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.2"; + } + + leaf cufwAaicHttpNumTunneledConns { + type yang:counter64; + units "Connections"; + description + "The number of connections corresponding to HTTP + protocol which were detected to be tunneling other + application traffic streams. An instance of this + would be InstantMessenger traffic running on HTTP. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.3"; + } + + leaf cufwAaicHttpNumLargeURIs { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + which were detected to be containing a URI of + size not permitted by the local security policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.4"; + } + + leaf cufwAaicHttpNumBadContent { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + which were detected to be containing content whose + type disallowed by the local security policy. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.5"; + } + + leaf cufwAaicHttpNumMismatchContent { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + which were detected to be containing content whose + type was different from the content type specified + in the header of the PDU. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.6"; + } + + leaf cufwAaicHttpNumDoubleEncodedPkts { + type yang:counter64; + units "HTTP Protocol Data Units"; + description + "The number of PDUs corresponding to HTTP protocol + which were detected to be containing double encoding. + Double encoding is a mechanism to obfuscate content + in which a encoded data is re-encoded so as to evade + deep packet inspections. + + For this MIB to be implemented, the managed firewall + must be implementing deep packet inspection of + HTTP traffic payloads. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1.7"; + } + } + + container cufwL2FwGlobals { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1"; + + leaf cufwL2GlobalEnableStealthMode { + type boolean; + description + "The value indicates if the firewall is operating + in transparent (layer 2) mode or not. + + When operating in transparent mode, the firewall + operates as a bridge while performing firewalling + functions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.1"; + } + + leaf cufwL2GlobalArpCacheSize { + type int32 { + range "1..2147483647"; + } + units "ARP entries"; + description + "The value indicates the configured maximum size of + the ARP cache used for management traffic."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.2"; + } + + leaf cufwL2GlobalEnableArpInspection { + type boolean; + description + "The value indicates if ARP inspection, which is a + security feature, is enabled globally on the + managed firewall."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.3"; + } + + leaf cufwL2GlobalNumArpRequests { + type yang:counter64; + units "ARP Requests"; + description + "The number of ARP requests issued by the transparent + firewall to resolve a destination IP address. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.5"; + } + + leaf cufwL2GlobalNumIcmpRequests { + type yang:counter64; + units "ICMP Traceroute Requests"; + description + "The number of ICMP traceroute requests issued by the + transparent firewall to resolve a destination IP + address. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.6"; + } + + leaf cufwL2GlobalNumFloods { + type yang:counter64; + description + "The number of times the firewall floods a frame to be + forwarded to the egress interfaces because the + destination MAC address is missing in the bridge table. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.7"; + } + + leaf cufwL2GlobalNumDrops { + type yang:counter64; + description + "The number of times the firewall dropped an incoming + frame because the destination MAC address is missing + in the bridge table. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.8"; + } + + leaf cufwL2GlobalArpOverflowRate5 { + type yang:gauge32; + description + "The number of times an existing entry from the ARP + cache had to be ejected in order to insert a new entry + in the last 300 seconds. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.9"; + } + + leaf cufwL2GlobalNumBadArpResponses { + type yang:counter64; + units "ARP Responses"; + description + "The number of malformed ARP responses received by the + firewall in trying to resolve the MAC address of the + destination IP address in an incoming frame. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.10"; + } + + leaf cufwL2GlobalNumSpoofedArpResps { + type yang:counter64; + units "ARP Responses"; + description + "The number of spoofed ARP responses received by the + firewall. Such an event would occur when the firewall + encounters an ARP response mapping an IP address to + a different MAC Address from the one present in the + local ARP cache. + + This counter is accumulated since the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1.11"; + } + } + + container cuFwNotifCntlGrp { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.7"; + + leaf cufwCntlUrlfServerStatusChange { + type boolean; + description + "This object defines the administrative state of + sending the SNMP notification to signal the election + of a new primary URL filtering server by this + firewall. + + Such a change could occur either as a result of + the current primary server becoming unavailable or + as a result of explicit management action in + nominating a filtering server the primary server."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.7.1"; + } + + leaf cufwCntlL2StaticMacAddressMoved { + type boolean; + description + "This object defines the administrative state of + sending the SNMP notification to signal the move + of a statically configured MAC address to a new + port. + + Such a change could occur either as a result of physical + move of the device with the MAC Address to the new port + or due to MAC address spoofing."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.7.2"; + } + } + + container cufwConnSummaryTable { + description + "This table summarizes the connection activity on + the firewall per layer3-layer 4 protocol instance. + + Each entry in the table lists the connection + summary of a distinct network protocol. + + For instance, the conceptual row corresponding to the + index + + cufwConnProtocol = fwpTcp + + yields the summary of TCP connection activity on the + firewall since its reboot."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1"; + + list cufwConnSummaryEntry { + key "cufwConnProtocol"; + description + "Each entry contains the summary of connection + activity for a layer3-layer4 network protocol."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1"; + + leaf cufwConnProtocol { + type cisco-firewall:CFWNetworkProtocol; + description + "The (L3-L4) protocol for which this conceptual + row summarizes the connection activity on the + managed entity."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.1"; + } + + leaf cufwConnNumAttempted { + type yang:counter64; + units "Connections"; + description + "The number of connections attempted since the last + reboot of the firewall, corresponding to the protocol + denoted by 'cufwConnProtocol'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.2"; + } + + leaf cufwConnNumSetupsAborted { + type yang:counter64; + units "Connections"; + description + "The number of connection setup attempts, + corresponding to the protocol denoted by + 'cufwConnProtocol', that were aborted before the + connection could proceed to completion. The + counter includes setup attempts aborted by the + firewall as well as those aborted by the initiator + and/or the responder(s) of/to the connection setup + attempt. + + Consequently, this value subsumes the values of + objects 'cufwConnNumPolicyDeclined' and + 'cufwConnNumResDeclined'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.3"; + } + + leaf cufwConnNumPolicyDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to security policy, corresponding to the protocol + denoted by 'cufwConnProtocol'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.4"; + } + + leaf cufwConnNumResDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to resource unavailability, corresponding to the + protocol denoted by 'cufwConnProtocol'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.5"; + } + + leaf cufwConnNumHalfOpen { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently in the + process of being established, corresponding to the + protocol denoted by 'cufwConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.6"; + } + + leaf cufwConnNumActive { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently active, + corresponding to the protocol denoted by + 'cufwConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.7"; + } + + leaf cufwConnNumAborted { + type yang:counter64; + units "Connections"; + description + "The number of connections that were abnormally + terminated after successful establishment, + corresponding to the protocol denoted by + 'cufwConnProtocol'. + + This value is accumulated from the last reboot of + the firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.8"; + } + + leaf cufwConnSetupRate1 { + type yang:gauge32; + units "Connections Per Second"; + description + "The connection setup rate averaged over the last + 60 seconds corresponding to the protocol denoted by + 'cufwConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.9"; + } + + leaf cufwConnSetupRate5 { + type yang:gauge32; + units "Connections Per Second"; + description + "The connection setup rate averaged over the last + 300 seconds corresponding to the protocol denoted by + 'cufwConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.1.1.10"; + } + } + } + + container cufwAppConnSummaryTable { + description + "This table lists the summary of firewall + connections pertaining to Layer 7 protocols, + catalogued by distinct application protocols. + + Each entry in the table lists the connection + summary corresponding to a distinct application + protocol. + + For instance, to obtain the connection summary + for SMTP on the firewall since the last reboot + of the device, use the conceptual row + corresponding to + + cufwAppConnProtocol = fwApSmtp"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2"; + + list cufwAppConnSummaryEntry { + key "cufwAppConnProtocol"; + description + "Each entry contains the summary of connection + activity for a distinct layer 7 protocol identified + by the index element 'cufwAppConnProtocol'."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1"; + + leaf cufwAppConnProtocol { + type cisco-firewall:CFWApplicationProtocol; + description + "The layer7 protocol for which this conceptual + row summarizes the connection activity for this + firewall."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.1"; + } + + leaf cufwAppConnNumAttempted { + type yang:counter64; + units "Connections"; + description + "The number of connections attempted since the last + reboot of the firewall, corresponding to the protocol + denoted by 'cufwAppConnProtocol'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.2"; + } + + leaf cufwAppConnNumSetupsAborted { + type yang:counter64; + units "Connections"; + description + "The number of connection setup attempts, + corresponding to the protocol denoted by + 'cufwAppConnProtocol', that were aborted before + the connection could proceed to completion. The + counter includes setup attempts aborted by the + firewall as well as those aborted by the initiator + and/or the responder(s) of/to the connection setup + attempt. + + Consequently, this value subsumes the values of + objects 'cufwAppConnNumPolicyDeclined' and + 'cufwAppConnNumResDeclined'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.3"; + } + + leaf cufwAppConnNumPolicyDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to security policy, corresponding to the protocol + denoted by 'cufwAppConnProtocol'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.4"; + } + + leaf cufwAppConnNumResDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to resource unavailability, corresponding to the + protocol denoted by 'cufwAppConnProtocol'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.5"; + } + + leaf cufwAppConnNumHalfOpen { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently in the + process of being established, corresponding to the + protocol denoted by 'cufwAppConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.6"; + } + + leaf cufwAppConnNumActive { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently active, + corresponding to the protocol denoted by + 'cufwAppConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.7"; + } + + leaf cufwAppConnNumAborted { + type yang:counter64; + units "Connections"; + description + "The number of connections that were terminated by the + firewall successful establishment, corresponding + to the protocol denoted by 'cufwAppConnProtocol'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.8"; + } + + leaf cufwAppConnSetupRate1 { + type yang:gauge32; + units "Connections Per Second"; + description + "The connection setup rate averaged over the last + 60 seconds corresponding to the protocol denoted by + 'cufwAppConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.9"; + } + + leaf cufwAppConnSetupRate5 { + type yang:gauge32; + units "Connections Per Second"; + description + "The connection setup rate averaged over the last + 300 seconds corresponding to the protocol denoted by + 'cufwAppConnProtocol'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.2.1.10"; + } + } + } + + container cufwPolicyConnSummaryTable { + description + "This table lists the summary of firewall + connections for layer3-layer 4 protocols catalogued + on a per policy basis. + + Each entry in the table lists the connection summary of + a distinct network protocol, configured on the specified + policy on the firewall, and pertaining to a specified + target to which the policy is currently applied. + + If a policy is bound to a target, it would have one + or more entries in this table. If the policy is + detached from the target, all entries corresponding + to the association between the policy and the target + are elminated from this table. + + Although the information is indexed by policy targets + as well, one may aggregate the connection summary for + a specific policy across all the target to which the + policy is currently applied by setting + + cufwConnPolicyTargetType = 'targetAll'"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3"; + + list cufwPolicyConnSummaryEntry { + key "cufwPolConnPolicy cufwPolConnPolicyTargetType cufwPolConnPolicyTarget cufwPolConnProtocol"; + description + "Each entry contains the summary of connection + activity for a specific protocol in a specific + policy applied to the specified policy target."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1"; + + leaf cufwPolConnPolicy { + type cisco-firewall:CFWPolicy; + description + "The identity of the firewall policy for which + this conceptual row contains the connection + activity summary."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.1"; + } + + leaf cufwPolConnPolicyTargetType { + type cisco-firewall:CFWPolicyTargetType; + description + "The type of the entity to which the firewall policy + 'cufwPolConnPolicy' has been applied. This could be + an interface type (most commonly), the type of another + object or a group of objects defined in the firewall + configuration. + + When this object is set to 'targetALL', the value of + index object cufwConnPolicyTarget is ignored."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.2"; + } + + leaf cufwPolConnPolicyTarget { + type cisco-firewall:CFWPolicyTarget { + length "0..128"; + } + description + "The identity of the entity to which the firewall + policy 'cufwPolConnPolicy' is applied. This could be an + interface object (most commonly), another object or + group of objects defined in the firewall configuration."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.3"; + } + + leaf cufwPolConnProtocol { + type cisco-firewall:CFWNetworkProtocol; + description + "The (L3-L4) protocol corresponding to which this + conceptual row summarizes the connection activity + on the firewall."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.4"; + } + + leaf cufwPolConnNumAttempted { + type yang:counter64; + units "Connections"; + description + "The number of connections attempted since the last + reboot of the firewall, corresponding to the protocol + denoted by 'cufwPolConnProtocol', in the policy + 'cufwPolConnPolicy' applied to the entity identified + by 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.5"; + } + + leaf cufwPolConnNumSetupsAborted { + type yang:counter64; + units "Connections"; + description + "The number of connection setup attempts, + corresponding to the protocol denoted by + 'cufwPolConnProtocol', associated with the policy + 'cufwPolConnPolicy' applied to the entity + identified by 'cufwPolConnPolicyTarget', + that were aborted before the connection could + proceed to completion. The counter includes + setup attempts aborted by the firewall as well + as those aborted by the initiator and/or the + responder(s) of/to the connection setup attempt. + + Consequently, this value subsumes the values of + objects 'cufwPolConnNumPolicyDeclined' and + 'cufwPolConnNumResDeclined'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.6"; + } + + leaf cufwPolConnNumPolicyDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to security policy, corresponding to the protocol + denoted by 'cufwPolConnProtocol', in the policy + 'cufwPolConnPolicy' applied to the entity identified by + 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.7"; + } + + leaf cufwPolConnNumResDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to resource unavailability, corresponding to the + protocol denoted by 'cufwPolConnProtocol', in the policy + 'cufwPolConnPolicy' applied to the entity identified by + 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.8"; + } + + leaf cufwPolConnNumHalfOpen { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently in the + process of being established, corresponding to the + protocol denoted by 'cufwPolConnProtocol', in the + policy 'cufwPolConnPolicy' applied to the entity + identified by 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.9"; + } + + leaf cufwPolConnNumActive { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently active, + corresponding to the protocol denoted by + 'cufwPolConnProtocol', in the policy + 'cufwPolConnPolicy' applied to the entity identified + by 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.10"; + } + + leaf cufwPolConnNumAborted { + type yang:counter64; + units "Connections"; + description + "The number of connections that were abnormally + terminated after successful establishment, corresponding + to the protocol denoted by 'cufwPolConnProtocol', + in the policy 'cufwPolConnPolicy' applied to the entity + identified by 'cufwPolConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.3.1.11"; + } + } + } + + container cufwPolicyAppConnSummaryTable { + description + "This table lists the summary of firewall + connections pertaining to Layer 7 protocols, + catalogued on a per policy basis + + Each entry in the table lists the connection + summary of a distinct application protocol, + configured on the specified policy on the firewall, + and pertaining to a specified target to which the + policy has been applied. + + If a policy is bound to a target, it would have one + or more entries in this table. If the policy is + detached from the target, all entries corresponding + to the association between the policy and the target + are elminated from this table. + + Although the information is indexed by policy targets + as well, one may aggregate the connection summary for + a specific policy across all the target to which the + policy is currently applied by setting + + cufwAppConnPolicyTargetType = 'targetALL'"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4"; + + list cufwPolicyAppConnSummaryEntry { + key "cufwPolAppConnPolicy cufwPolAppConnPolicyTargetType cufwPolAppConnPolicyTarget cufwPolAppConnProtocol"; + description + "Each entry contains the summary of connection + activity for a specific layer 7 protocol in a + specific policy applied to the specified policy + target."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1"; + + leaf cufwPolAppConnPolicy { + type cisco-firewall:CFWPolicy; + description + "The identity of the firewall policy for which + this conceptual row contains the connection + activity summary."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.1"; + } + + leaf cufwPolAppConnPolicyTargetType { + type cisco-firewall:CFWPolicyTargetType; + description + "The type of the entity to which the firewall policy + 'cufwPolAppConnPolicy' has been applied. This could be + an interface type (most commonly), the type of another + object or a group of objects defined in the firewall + configuration. + + When this object is set to 'targetALL', the value of + index object cufwAppConnPolicyTarget is ignored."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.2"; + } + + leaf cufwPolAppConnPolicyTarget { + type cisco-firewall:CFWPolicyTarget { + length "0..128"; + } + description + "The identity of the entity to which the firewall + policy 'cufwPolAppProtocol' refers. This could be an + interface object (most commonly), another object or + group of objects defined in the firewall configuration."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.3"; + } + + leaf cufwPolAppConnProtocol { + type cisco-firewall:CFWApplicationProtocol; + description + "The layer7 protocol for which this conceptual + row summarizes the connection activity for this + firewall."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.4"; + } + + leaf cufwPolAppConnNumAttempted { + type yang:counter64; + units "Connections"; + description + "The number of connections attempted since the last + reboot of the firewall, corresponding to the protocol + denoted by 'cufwPolAppConnProtocol', in the policy + 'cufwPolAppConnPolicy' applied to the entity identified + by 'cufwPolAppConnPolicyTarget'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.5"; + } + + leaf cufwPolAppConnNumSetupsAborted { + type yang:counter64; + units "Connections"; + description + "The number of connection setup attempts, + corresponding to the protocol denoted by + 'cufwPolAppConnProtocol', associated with the policy + 'cufwPolAppConnPolicy' applied to the entity + identified by 'cufwPolAppConnPolicyTarget', + that were aborted before the connections could + proceed to completion. The counter includes setup + attempts aborted by the firewall as well as those + aborted by the initiator and/or the responder(s) + of/to the connection setup attempt. + + Consequently, this value subsumes the values of + objects 'cufwPolAppConnNumPolicyDeclined' and + 'cufwPolAppConnNumResDeclined'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.6"; + } + + leaf cufwPolAppConnNumPolicyDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to security policy, corresponding to the protocol + denoted by 'cufwPolAppConnProtocol', in the policy + 'cufwPolAppConnPolicy' applied to the entity identified + by 'cufwPolAppConnPolicyTarget'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.7"; + } + + leaf cufwPolAppConnNumResDeclined { + type yang:counter64; + units "Connections"; + description + "The number of connection attempts that were declined + due to resource unavailability, corresponding to the + protocol denoted by 'cufwPolAppConnProtocol', in the + policy 'cufwPolAppConnPolicy' applied to the entity + identified by 'cufwPolAppConnPolicyTarget'. + + This value is accumulated from the last reboot of + the firewall subject to the control exercised by + cufwConnReptAppStats."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.8"; + } + + leaf cufwPolAppConnNumHalfOpen { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently in the + process of being established, corresponding to the + protocol + denoted by 'cufwPolAppConnProtocol', in the policy + 'cufwPolAppConnPolicy' applied to the entity identified + by 'cufwPolAppConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.9"; + } + + leaf cufwPolAppConnNumActive { + type yang:gauge32; + units "Connections"; + description + "The number of connections that are currently active, + corresponding to the protocol denoted by + 'cufwPolAppConnProtocol', in the policy + 'cufwPolAppConnPolicy' applied to the entity identified + by 'cufwPolAppConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.10"; + } + + leaf cufwPolAppConnNumAborted { + type yang:counter64; + units "Connections"; + description + "The number of connections that were abnormally + terminated after successful establishment, corresponding + to the protocol denoted by 'cufwPolAppConnProtocol', in + the policy 'cufwPolAppConnPolicy' applied to the entity + identified by 'cufwPolAppConnPolicyTarget'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4.4.1.11"; + } + } + } + + container cufwInspectionTable { + description + "This table identifies if an application protocol has + been configured for inspection and if so, the name of + the firewall policy or the inspection configuration + that configures the specified protocol for inspection. + The table also identifies if the specified protocol is + actively being inspected. + + This table may be used by an administrator to quickly + identify if a protocol is being subjected to application + inspection by the managed firewall."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.3"; + + list cufwInspectionEntry { + key "cufwInspectionPolicyName cufwInspectionProtocol"; + description + "Each entry contains the configuration of + a specific application inspection element."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.3.1"; + + leaf cufwInspectionPolicyName { + type cisco-firewall:CFWPolicy { + length "0..128"; + } + description + "The name of the policy that configures the device + inspect the protocol specified by + 'cufwInspectionProtocol'."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.3.1.1"; + } + + leaf cufwInspectionProtocol { + type cisco-firewall:CFWApplicationProtocol; + description + "The application protocol that is configured for + inspection."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.3.1.2"; + } + + leaf cufwInspectionStatus { + type boolean; + description + "This MIB object identifies if the directive to inspect + the protocol specified by 'cufwInspectionProtocol' by + the policy corresponding to this conceptual row is + enabled or disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2.3.1.3"; + } + } + } + + container cufwUrlfServerTable { + description + "This table lists the URL filtering servers + configured on the managed device and their + performance statistics. + + This table is not meant as a device to + configure URL filtering servers."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1"; + + list cufwUrlfServerEntry { + key "cufwUrlfServerAddrType cufwUrlfServerAddress cufwUrlfServerPort"; + description + "Each entry contains the configuration of + a specific URL filtering server."; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1"; + + leaf cufwUrlfServerAddrType { + type inet-address:InetAddressType; + description + "The type of the IP address of the URL filtering + server."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.1"; + } + + leaf cufwUrlfServerAddress { + type inet-address:InetAddress; + description + "The value of the IP address of the URL filtering + server."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.2"; + } + + leaf cufwUrlfServerPort { + type inet:port-number; + description + "The value of the port at which the URL filtering + server listens for incoming requests."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.3"; + } + + leaf cufwUrlfServerVendor { + type cisco-firewall:CFWUrlfVendorId; + description + "The vendor type of the URL filtering server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.4"; + } + + leaf cufwUrlfServerStatus { + type cisco-firewall:CFWUrlServerStatus; + description + "The status of the URL filtering server + corresponding to this conceptual row."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.5"; + } + + leaf cufwUrlfServerReqsNumProcessed { + type yang:counter64; + description + "The number of URL access requests forwarded by + the managed firewall device to the URL filtering + server corresponding to this conceptual row. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.6"; + } + + leaf cufwUrlfServerReqsNumAllowed { + type yang:counter64; + description + "The number of URL access requests allowed by the + URL filtering server corresponding to this conceptual + row. This counter does not include late responses. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.7"; + } + + leaf cufwUrlfServerReqsNumDenied { + type yang:counter64; + description + "The number of URL access requests denied by the + URL filtering server corresponding to this conceptual + row. This counter does not include late responses. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.8"; + } + + leaf cufwUrlfServerNumTimeouts { + type yang:counter64; + description + "The number of times the firewall failed to receive + a response from the URL filtering server corresponding + to this conceptual row, for a request to authorize a + URL access request. + + This is equal to the number of times a firewall removed + a URL access request from the queue of pending requests + because no response was received from the URL filtering + server. + + This value is accumulated from the last reboot of the + firewall."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.9"; + } + + leaf cufwUrlfServerNumRetries { + type yang:counter64; + description + "The number of URL access authorization requests + re-sent by the firewall to the URL Filtering Server + corresponding to this conceptual row, because a response + was not received within the configured time interval + from the server. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.10"; + } + + leaf cufwUrlfServerRespsNumReceived { + type yang:counter64; + description + "The number of URL access responses received by the + firewall from the URL filtering server corresponding + to this conceptual row. This counter does not include + late responses. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.11"; + } + + leaf cufwUrlfServerRespsNumLate { + type yang:counter64; + description + "The number of URL access responses received by + the managed firewall from the URL filtering server + corresponding to this conceptual row after the + original URL access request was removed from the + queue of pending requests. + + This value is counted from the last reboot of + the managed device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.12"; + } + + leaf cufwUrlfServerAvgRespTime1 { + type yang:gauge32; + units "seconds"; + description + "The average round-trip response time of the + URL filtering server computed over the last + 60 seconds. + + A value of zero indicates that there was + insufficient data to compute this value over the + last time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.13"; + } + + leaf cufwUrlfServerAvgRespTime5 { + type yang:gauge32; + units "seconds"; + description + "The average round-trip response time of the + URL filtering server computed over the last + 300 seconds. + + A value of zero indicates that there was + insufficient data to compute this value over the + last time interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3.1.1.14"; + } + } + } + } + + notification ciscoUFwUrlfServerStateChange { + description + "This notification is generated when the firewall + elects a new primary URL filtering server from + the existing set of configured servers. + + Such a change could occur either as a result of + the current primary server becoming unavailable or + as a result of explicit management action in + nominating a filtering server the primary server. + + The notification is issued just before the change + occurs. Consequently, the varbinds identify the + attributes corresponding to the old primary server. + + This notification is issued if and only if the + object 'cufwCntlUrlfServerStatusChange' has been + set to 'true'."; + smiv2:oid "1.3.6.1.4.1.9.9.491.0.1"; + + container object-1 { + + leaf cufwUrlfServerAddrType { + type leafref { + path "/CISCO-UNIFIED-FIREWALL-MIB:CISCO-UNIFIED-FIREWALL-MIB/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerTable/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerEntry/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerAddrType"; + } + } + + leaf cufwUrlfServerAddress { + type leafref { + path "/CISCO-UNIFIED-FIREWALL-MIB:CISCO-UNIFIED-FIREWALL-MIB/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerTable/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerEntry/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerAddress"; + } + } + + leaf cufwUrlfServerPort { + type leafref { + path "/CISCO-UNIFIED-FIREWALL-MIB:CISCO-UNIFIED-FIREWALL-MIB/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerTable/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerEntry/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerPort"; + } + } + + leaf cufwUrlfServerStatus { + type leafref { + path "/CISCO-UNIFIED-FIREWALL-MIB:CISCO-UNIFIED-FIREWALL-MIB/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerTable/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerEntry/CISCO-UNIFIED-FIREWALL-MIB:cufwUrlfServerStatus"; + } + } + } + } + + notification ciscoUFwL2StaticMacAddressMoved { + description + "This notification is generated when the firewall + detects the move of a static MAC address to a new + port. + + Such a change could occur either as a result of + physical move of the device with the MAC Address + to the new port, due to management action of + relocating the MAC address at the new location or + due to MAC address spoofing. + + The varbinds identify the new location (port) of + the MAC Address and its status at the new location. + + This notification is issued if and only if the + object 'cufwCntlL2StaticMacAddressMoved' has been + set to 'true'."; + smiv2:oid "1.3.6.1.4.1.9.9.491.0.2"; + + container object-1 { + + leaf dot1dTpFdbAddress { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpFdbTable/bridge-mib:dot1dTpFdbEntry/bridge-mib:dot1dTpFdbAddress"; + } + } + + leaf dot1dTpFdbPort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpFdbTable/bridge-mib:dot1dTpFdbEntry/bridge-mib:dot1dTpFdbPort"; + } + } + } + + container object-2 { + + leaf dot1dTpFdbAddress { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpFdbTable/bridge-mib:dot1dTpFdbEntry/bridge-mib:dot1dTpFdbAddress"; + } + } + + leaf dot1dTpFdbStatus { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpFdbTable/bridge-mib:dot1dTpFdbEntry/bridge-mib:dot1dTpFdbStatus"; + } + } + } + } + + smiv2:alias "ciscoUnifiedFirewallMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.491"; + } + + smiv2:alias "ciscoUnifiedFirewallMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.9.491.0"; + } + + smiv2:alias "ciscoUnifiedFirewallMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1"; + } + + smiv2:alias "cuFwConnectionGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1"; + } + + smiv2:alias "cuFwConnectionGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.1"; + } + + smiv2:alias "cuFwConnectionResources" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.2"; + } + + smiv2:alias "cuFwConnectionReportSettings" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.3"; + } + + smiv2:alias "cuFwConnectionSummaryTables" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.1.4"; + } + + smiv2:alias "cuFwApplInspectionGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.2"; + } + + smiv2:alias "cuFwUrlFilterGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3"; + } + + smiv2:alias "cufwUrlFilterGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.1"; + } + + smiv2:alias "cufwUrlFilterResourceUsage" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.2"; + } + + smiv2:alias "cufwUrlFilterServers" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.3.3"; + } + + smiv2:alias "cuFwFailoverGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.4"; + } + + smiv2:alias "cuFwAaicGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5"; + } + + smiv2:alias "cufwAaicGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.1"; + } + + smiv2:alias "cufwAaicProtocolStats" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2"; + } + + smiv2:alias "cufwAaicHttpProtocolStats" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.5.2.1"; + } + + smiv2:alias "cuFwL2FwGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6"; + } + + smiv2:alias "cufwL2FwGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.6.1"; + } + + smiv2:alias "cuFwNotifCntlGrp" { + smiv2:oid "1.3.6.1.4.1.9.9.491.1.7"; + } + + smiv2:alias "ciscoUnifiedFirewallMIBConform" { + smiv2:oid "1.3.6.1.4.1.9.9.491.2"; + } + + smiv2:alias "ciscoUniFirewallMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.491.2.1"; + } + + smiv2:alias "ciscoUniFirewallMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.491.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB.yang new file mode 100644 index 000000000..c2ad93edc --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB.yang @@ -0,0 +1,160 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB"; + prefix CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import CISCO-VTP-MIB { + prefix "cisco-vtp"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "Cisco VLAN ifTable Relationship MIB lists VLAN-id and ifIndex + information for routed VLAN interfaces. + + A routed VLAN interface is the router interface or sub-interface + to which the router's IP address on the VLAN is attached. + For example, an ISL, SDE, or 802.1Q encapsulated + subinterface, or Switched Virtual Interface (SVI)."; + + revision 2013-07-15 { + description + "Initial version of this MIB module."; + } + + revision 1999-04-01 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB { + config false; + + container cviVlanInterfaceIndexTable { + description + "The cviVlanInterfaceIndexTable provides a way to + translate a VLAN-id in to an ifIndex, so that + the routed VLAN interface's routing configuration + can be obtained from interface entry in ipRouteTable. + + Note that some routers can have interfaces to multiple + VLAN management domains, and therefore can have multiple + routed VLAN interfaces which connect to different VLANs + having the same VLAN-id. Thus, it is possible to have + multiple rows in this table for the same VLAN-id. + + The cviVlanInterfaceIndexTable also provides a way + to find the VLAN-id from an ifTable VLAN's ifIndex."; + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1.1"; + + list cviVlanInterfaceIndexEntry { + key "cviVlanId cviPhysicalIfIndex"; + description + "Each entry represents a routed VLAN interface, its + corresponding physical port if any, and the ifTable entry + for the routed VLAN interface. + + Entries are created by the agent when the routed VLAN interface + is created. Operational status of routing does not affect + the entries listed here. For routing configuration please refer + to ipRouteTable. + + Entries are deleted by the agent when the routed VLAN interface + is removed from the system configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1.1.1"; + + leaf cviVlanId { + type cisco-vtp:VlanIndex; + description + "The VLAN-id number of the routed VLAN interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1.1.1.1"; + } + + leaf cviPhysicalIfIndex { + type cisco-tc:InterfaceIndexOrZero; + description + "For subinterfaces, this object is the ifIndex of the + physical interface for the subinterface. + + For Switch Virtual Interfaces (SVIs), this object is zero."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1.1.1.2"; + } + + leaf cviRoutedVlanIfIndex { + type if-mib:InterfaceIndex; + description + "The index for the ifTable entry associated with + this routed VLAN interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1.1.1.3"; + } + } + } + } + + smiv2:alias "ciscoVlanIfTableRelationshipMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.128"; + } + + smiv2:alias "cviMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.128.1"; + } + + smiv2:alias "cviGlobals" { + smiv2:oid "1.3.6.1.4.1.9.9.128.1.1"; + } + + smiv2:alias "cviMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.128.1.3"; + } + + smiv2:alias "cviMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.128.1.3.1"; + } + + smiv2:alias "cviMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.128.1.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-MEMBERSHIP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-MEMBERSHIP-MIB.yang new file mode 100644 index 000000000..3096b442a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VLAN-MEMBERSHIP-MIB.yang @@ -0,0 +1,947 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VLAN-MEMBERSHIP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VLAN-MEMBERSHIP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VLAN-MEMBERSHIP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB"; + prefix CISCO-VLAN-MEMBERSHIP-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import CISCO-VTP-MIB { + prefix "cisco-vtp"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-vlans@cisco.com"; + + description + "The MIB module for the management of the VLAN + Membership within the frame work of Cisco + VLAN Architecture, v 2.0 by Keith McCloghrie. The MIB + provides information on VLAN Membership Policy Servers + used by a device and VLAN membership assignments of + non-trunk bridge ports of the device."; + + revision 2007-12-14 { + description + "Add vmVlanCreationGroup."; + } + + revision 2004-07-16 { + description + "Add vmMembershipSummaryExtTable."; + } + + revision 2004-04-07 { + description + "Change the SYNTAX of vmMembershipSummaryMember2kPorts + from PortList to CiscoPortList."; + } + + revision 2003-10-10 { + description + "Add vmVoiceVlanCdpVerifyEnable to support the feature + of voice VLANs' detection through CDP packets."; + } + + revision 2003-06-05 { + description + "Deprecate vmMembershipSummaryMemberPorts and define + vmMembershipSummaryMember2kPorts to support up to 2k + bridge ports."; + } + + revision 2002-03-28 { + description + "Add vmVoiceVlanTable to support VVID feature"; + } + + revision 2001-05-01 { + description + "Import VlanIndex from CISCO-VTP-MIB"; + } + + revision 2001-01-30 { + description + "Corrected description of vmVmpsReconfirmResult"; + } + + revision 2000-01-06 { + description + "Added 4k VLAN support"; + } + + revision 1999-01-18 { + description + "Add vmNotificationsEnabled. + Add support for multi-vlan ports. + Other minor edits."; + } + + revision 1996-12-06 { + description + "Initial version of this MIB module."; + } + + + container CISCO-VLAN-MEMBERSHIP-MIB { + config false; + + container vmVmps { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1"; + + leaf vmVmpsVQPVersion { + type int32; + description + "The VLAN Query Protocol (VQP) version supported on + the device. VQP is the protocol used to query + VLAN Membership Policy Server (VMPS) for VLAN + membership assignments of dynamic VLAN ports. + A VMPS provides VLAN membership policy + assignments based on the content of the packets + received on a port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.1"; + } + + leaf vmVmpsRetries { + type int32 { + range "1..10"; + } + description + "The number of retries for VQP requests to a VMPS before + using the next available VMPS."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.2"; + } + + leaf vmVmpsReconfirmInterval { + type int32 { + range "0..120"; + } + units "Minutes"; + description + "The switch will reconfirm membership of addresses on + each port with VMPS periodically. This object specifies + the interval to perform reconfirmation. If the value is + set to 0, the switch does not reconfirm membership with + VMPS."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.3"; + } + + leaf vmVmpsReconfirm { + type enumeration { + enum "ready" { + value "1"; + } + enum "execute" { + value "2"; + } + } + description + "Setting this object to execute(2) causes the switch + to reconfirm membership of every dynamic port. + Reading this object always return ready(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.4"; + } + + leaf vmVmpsReconfirmResult { + type enumeration { + enum "other" { + value "1"; + } + enum "inProgress" { + value "2"; + } + enum "success" { + value "3"; + } + enum "noResponse" { + value "4"; + } + enum "noVmps" { + value "5"; + } + enum "noDynamicPort" { + value "6"; + } + enum "noHostConnected" { + value "7"; + } + } + description + "This object returns the result of the last request + that sets vmVmpsReconfirm to execute(2). The + semantics of the possible results are as follows: + + other(1) - none of following + inProgress(2) - reconfirm in progress + success(3) - reconfirm completed successfully + noResponse(4) - reconfirm failed because no + VMPS responded + noVmps(5) - No VMPS configured + noDynamicPort(6) - No dynamic ports configured + noHostConnected(7) - No hosts on dynamic ports"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.5"; + } + + leaf vmVmpsCurrent { + type inet:ipv4-address; + description + "This is the IpAddress of the current VMPS used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.6"; + } + } + + container vmMembership { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2"; + + leaf vmVlanCreationMode { + type enumeration { + enum "automatic" { + value "1"; + } + enum "manual" { + value "2"; + } + } + description + "This object is used to determine whether or not + a non-existing VLAN will be created automatically + by the system after assigned to a port. + + automatic(1): a non-existing VLAN will be created + automatically by the system after + assigned to a port. + + manual(2): a non-existing VLAN will not be created + automatically by the system and need to be + manually created by the users after assigned + to a port."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.4"; + } + } + + container vmStatistics { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3"; + + leaf vmVQPQueries { + type yang:counter32; + description + "The total number of VQP requests sent by this device + to all VMPS since last system re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.1"; + } + + leaf vmVQPResponses { + type yang:counter32; + description + "The number of VQP responses received by this device + from all VMPS since last system re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.2"; + } + + leaf vmVmpsChanges { + type yang:counter32; + description + "The number of times, since last system + re-initialization, the current VMPS was changed. The + current VMPS is changed whenever the VMPS fails to + response after vmVmpsRetries of a VQP request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.3"; + } + + leaf vmVQPShutdown { + type yang:counter32; + description + "The number of times, since last system + re-initialization, a VQP response indicates + 'shutdown'. A 'shutdown' response is a result of + the membership policy configured at a VMPS + by the administrator."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.4"; + } + + leaf vmVQPDenied { + type yang:counter32; + description + "The number of times, since last system + re-initialization, a VQP response indicates + 'denied'. A 'denied' response is a result of + the membership policy configured at a VMPS + by the administrator."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.5"; + } + + leaf vmVQPWrongDomain { + type yang:counter32; + description + "The number of times, since last system + re-initialization, a VQP response indicates wrong + management domain. A wrong management domain + response indicates that the VMPS used serves a + management domain that is different + from the device's management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.6"; + } + + leaf vmVQPWrongVersion { + type yang:counter32; + description + "The number of times, since last system + re-initialization, a VQP response indicates wrong + VQP version. A wrong VQP version response + indicates that the VMPS used supports a VQP + version that is different from the device's + VQP version."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.7"; + } + + leaf vmInsufficientResources { + type yang:counter32; + description + "The number of times, since last system + re-initialization, a VQP response indicates + insufficient resources. An insufficient resources + response indicates that the VMPS used does not + have the required resources to verify the + membership assignment requested."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3.8"; + } + } + + container vmStatus { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.4"; + + leaf vmNotificationsEnabled { + type boolean; + description + "An indication of whether the notifications/traps + defined in this MIB are enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.4.1"; + } + } + + container vmVmpsTable { + description + "A table of VMPS to use. The device will use + the the primary VMPS by default. If the + device is unable to reach the primary server + after vmVmpsRetries retries, it uses the first + secondary server in the table until it runs out + of secondary servers, in which case it will return + to using the primary server. Entries in this table + may be created and deleted via this MIB or + the management console on a device."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.7"; + + list vmVmpsEntry { + key "vmVmpsIpAddress"; + description + "An entry (conceptual row) in the vmVmpsTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.7.1"; + + leaf vmVmpsIpAddress { + type inet:ipv4-address; + description + "The Ip Address of the VMPS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.7.1.1"; + } + + leaf vmVmpsPrimary { + type boolean; + description + "The status of the VMPS. Setting this value + to true will make this VMPS the primary server + and make the switch use this as the current server. + Setting this entry to true causes other rows + to transition to false. Attempting to write + a value of false after creation will result in + a return of bad value. Deleting an entry whose + value is true will result in the first entry + in the table being set to true."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.7.1.2"; + } + + leaf vmVmpsRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1.7.1.3"; + } + } + } + + container vmMembershipSummaryTable { + description + "A summary of VLAN membership of non-trunk + bridge ports. This is a convenience table + for retrieving VLAN membership information. + + A row is created for a VLAN if: + a) the VLAN exists, or + b) a port is assigned to a non-existent VLAN. + + VLAN membership can only be modified via the + vmMembershipTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.1"; + + list vmMembershipSummaryEntry { + key "vmMembershipSummaryVlanIndex"; + description + "An entry (conceptual row) in the + vmMembershipSummaryTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.1.1"; + + leaf vmMembershipSummaryVlanIndex { + type cisco-vtp:VlanIndex; + description + "The VLAN id of the VLAN."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.1.1.1"; + } + + leaf vmMembershipSummaryMemberPorts { + type binary { + length "0..128"; + } + status deprecated; + description + "The set of the device's member ports that belong + to the VLAN. + + Each octet within the value of this object specifies a + set of eight ports, with the first octet specifying ports + 1 through 8, the second octet specifying ports 9 + through 16, etc. Within each octet, the most + significant bit represents the lowest numbered + port, and the least significant bit represents the + highest numbered port. Thus, each port of the + VLAN is represented by a single bit within the + value of this object. If that bit has a value of + '1' then that port is included in the set of + ports; the port is not included if its bit has a + value of '0'. + + A port number is the value of dot1dBasePort for + the port in the BRIDGE-MIB (RFC 1493)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.1.1.2"; + } + + leaf vmMembershipSummaryMember2kPorts { + type cisco-tc:CiscoPortList; + description + "The set of the device's member ports that belong + to the VLAN. It has the VLAN membership information + of up to 2048 ports with the port number from 1 to + 2048. + + Each octet within the value of this object specifies a + set of eight ports, with the first octet specifying + ports 1 through 8, the second octet specifying ports 9 + through 16, etc. Within each octet, the most + significant bit represents the lowest numbered + port, and the least significant bit represents the + highest numbered port. Thus, each port of the + VLAN is represented by a single bit within the + value of this object. If that bit has a value of + '1' then that port is included in the set of + ports; the port is not included if its bit has a + value of '0'. + + A port number is the value of dot1dBasePort for + the port in the BRIDGE-MIB (RFC 1493)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.1.1.3"; + } + } + } + + container vmMembershipTable { + description + "A table for configuring VLAN port membership. + There is one row for each bridge port that is + assigned to a static or dynamic access port. Trunk + ports are not represented in this table. An entry + may be created and deleted when ports are created or + deleted via SNMP or the management console on a + device."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2"; + + list vmMembershipEntry { + key "ifIndex"; + description + "An entry (conceptual row) in the vmMembershipTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf vmVlanType { + type enumeration { + enum "static" { + value "1"; + } + enum "dynamic" { + value "2"; + } + enum "multiVlan" { + value "3"; + } + } + description + "The type of VLAN membership assigned to this port. + A port with static vlan membership is assigned to a + single VLAN directly. A port with dynamic membership + is assigned a single VLAN based on content of packets + received on the port and via VQP queries to VMPS. + A port with multiVlan membership may be assigned to + one or more VLANs directly. + + A static or dynamic port membership is specified + by the value of vmVlan. A multiVlan port membership is + specified by the value of vmVlans."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.1"; + } + + leaf vmVlan { + type int32 { + range "0..4095"; + } + description + "The VLAN id of the VLAN the port is assigned to + when vmVlanType is set to static or dynamic. + This object is not instantiated if not applicable. + + The value may be 0 if the port is not assigned + to a VLAN. + + If vmVlanType is static, the port is always + assigned to a VLAN and the object may not be + set to 0. + + If vmVlanType is dynamic the object's value is + 0 if the port is currently not assigned to a VLAN. + In addition, the object may be set to 0 only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.2"; + } + + leaf vmPortStatus { + type enumeration { + enum "inactive" { + value "1"; + } + enum "active" { + value "2"; + } + enum "shutdown" { + value "3"; + } + } + description + "An indication of the current VLAN status of the port. + A status of inactive(1) indicates that a dynamic port + does not yet have a VLAN assigned, or a port is + assigned to a VLAN that is currently not active. A + status of active(2) indicates that the currently + assigned VLAN is active. A status of shutdown(3) + indicates that the port has been disabled as a result + of VQP shutdown response."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.3"; + } + + leaf vmVlans { + type binary { + length "0..128"; + } + description + "The VLAN(s) the port is assigned to when the + port's vmVlanType is set to multiVlan. + This object is not instantiated if not applicable. + + The port is always assigned to one or more VLANs + and the object may not be set so that there are + no vlans assigned. + + Each octet within the value of this object specifies a + set of eight VLANs, with the first octet specifying + VLAN id 1 through 8, the second octet specifying VLAN + ids 9 through 16, etc. Within each octet, the most + significant bit represents the lowest numbered + VLAN id, and the least significant bit represents the + highest numbered VLAN id. Thus, each VLAN of the + port is represented by a single bit within the + value of this object. If that bit has a value of + '1' then that VLAN is included in the set of + VLANs; the VLAN is not included if its bit has a + value of '0'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.4"; + } + + leaf vmVlans2k { + type binary { + length "0..128"; + } + description + "The VLAN(s) the port is assigned to when the + port's vmVlanType is set to multiVlan. + This object is not instantiated if not applicable. + + The port is always assigned to one or more VLANs + and the object may not be set so that there are + no vlans assigned. + + Each octet within the value of this object specifies a + set of eight VLANs, with the first octet specifying + VLAN id 1024 through 1031, the second octet specifying + VLAN ids 1032 through 1039, etc. Within each octet, + the most significant bit represents the lowest + numbered VLAN id, and the least significant bit + represents the highest numbered VLAN id. Thus, each + VLAN of the port is represented by a single bit within + the value of this object. If that bit has a value of + '1' then that VLAN is included in the set of + VLANs; the VLAN is not included if its bit has a + value of '0'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.5"; + } + + leaf vmVlans3k { + type binary { + length "0..128"; + } + description + "The VLAN(s) the port is assigned to when the + port's vmVlanType is set to multiVlan. + This object is not instantiated if not applicable. + + The port is always assigned to one or more VLANs + and the object may not be set so that there are + no vlans assigned. + + Each octet within the value of this object specifies a + set of eight VLANs, with the first octet specifying + VLAN id 2048 through 2055, the second octet specifying + VLAN ids 2056 through 2063, etc. Within each octet, + the most significant bit represents the lowest + numbered VLAN id, and the least significant bit + represents the highest numbered VLAN id. Thus, each + VLAN of the port is represented by a single bit within + the value of this object. If that bit has a value of + '1' then that VLAN is included in the set of + VLANs; the VLAN is not included if its bit has a + value of '0'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.6"; + } + + leaf vmVlans4k { + type binary { + length "0..128"; + } + description + "The VLAN(s) the port is assigned to when the + port's vmVlanType is set to multiVlan. + This object is not instantiated if not applicable. + + The port is always assigned to one or more VLANs + and the object may not be set so that there are + no vlans assigned. + + Each octet within the value of this object specifies a + set of eight VLANs, with the first octet specifying + VLAN id 3072 through 3079, the second octet specifying + VLAN ids 3040 through 3047, etc. Within each octet, + the most significant bit represents the lowest + numbered VLAN id, and the least significant bit + represents the highest numbered VLAN id. Thus, each + VLAN of the port is represented by a single bit within + the value of this object. If that bit has a value of + '1' then that VLAN is included in the set of + VLANs; the VLAN is not included if its bit has a + value of '0'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.2.1.7"; + } + } + } + + container vmMembershipSummaryExtTable { + description + "A summary of VLAN membership of non-trunk + bridge ports. This table is used for + retrieving VLAN membership information + for the device which supports dot1dBasePort + with value greater than 2048. + + A row is created for a VLAN and a particular + bridge port range, where at least one port + in the range is assigned to this VLAN. + + VLAN membership can only be modified via the + vmMembershipTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.3"; + + list vmMembershipSummaryExtEntry { + key "vmMembershipSummaryVlanIndex vmMembershipPortRangeIndex"; + description + "An entry (conceptual row) in the + vmMembershipSummaryExtTable."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.3.1"; + + leaf vmMembershipSummaryVlanIndex { + type leafref { + path "/CISCO-VLAN-MEMBERSHIP-MIB:CISCO-VLAN-MEMBERSHIP-MIB/CISCO-VLAN-MEMBERSHIP-MIB:vmMembershipSummaryTable/CISCO-VLAN-MEMBERSHIP-MIB:vmMembershipSummaryEntry/CISCO-VLAN-MEMBERSHIP-MIB:vmMembershipSummaryVlanIndex"; + } + } + + leaf vmMembershipPortRangeIndex { + type cisco-tc:CiscoPortListRange; + description + "The bridge port range index of this row."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.3.1.1"; + } + + leaf vmMembershipSummaryExtPorts { + type cisco-tc:CiscoPortList; + description + "The set of the device's member ports that belong + to the VLAN. It has the VLAN membership information + of up to 2k ports with the port number starting from + the information indicated in vmMembershipPortRangeIndex + object of the same row. For example, if the value + of vmMembershipPortRangeIndex is 'twoKto4K', the + port number indicated in this object starting from + 2049 and ending to 4096. + + A port number is the value of dot1dBasePort for + the port in the BRIDGE-MIB (RFC 1493)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2.3.1.2"; + } + } + } + + container vmVoiceVlanTable { + description + "A table for configuring the Voice VLAN-ID + for the ports. An entry will exist for each + interface which supports Voice Vlan feature."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.5.1"; + + list vmVoiceVlanEntry { + key "ifIndex"; + description + "An entry (conceptual row) in the vmVoiceVlanTable. + Only interfaces which support Voice Vlan feature + are shown."; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.5.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf vmVoiceVlanId { + type int32 { + range "0..4096"; + } + description + "The Voice Vlan ID (VVID) to which this + port belongs to. + + 0 - The CDP packets transmitting + through this port would contain + Appliance VLAN-ID TLV with value + of 0. VoIP and related packets + are expected to be sent and + received with VLAN-id=0 and an + 802.1p priority. + + 1..4094 - The CDP packets transmitting + through this port would contain + Appliance VLAN-ID TLV with N. + VoIP and related packets are + expected to be sent and received + with VLAN-id=N and an 802.1p + priority. + + 4095 - The CDP packets transmitting + through this port would contain + Appliance VLAN-ID TLV with value + of 4095. VoIP and related packets + are expected to be sent and + received untagged without an + 802.1p priority. + + 4096 - The CDP packets transmitting + through this port would not + include Appliance VLAN-ID TLV; + or, if the VVID is not supported + on the port, this MIB object will + not be configurable and will + return 4096."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.5.1.1.1"; + } + + leaf vmVoiceVlanCdpVerifyEnable { + type boolean; + description + "Enable or Disable the feature of CDP message + verification of voice VLANs. + + true - The voice VLAN vmVoiceVlan is enabled + only after CDP messages are received + from the IP phone. + + false - The voice VLAN vmVoiceVlan is enabled + as soon as the IP phone interface is + up. There is no verification needed + from CDP messages from the IP phone."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.68.1.5.1.1.2"; + } + } + } + } + + notification vmVmpsChange { + description + "A VMPS change notification is generated whenever + vmVmpsChanges is incremented. The IP address + of the new VMPS is sent."; + smiv2:oid "1.3.6.1.4.1.9.9.68.2.0.1"; + + container object-1 { + + leaf vmVmpsIpAddress { + type leafref { + path "/CISCO-VLAN-MEMBERSHIP-MIB:CISCO-VLAN-MEMBERSHIP-MIB/CISCO-VLAN-MEMBERSHIP-MIB:vmVmpsTable/CISCO-VLAN-MEMBERSHIP-MIB:vmVmpsEntry/CISCO-VLAN-MEMBERSHIP-MIB:vmVmpsIpAddress"; + } + } + } + } + + smiv2:alias "ciscoVlanMembershipMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.68"; + } + + smiv2:alias "ciscoVlanMembershipMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1"; + } + + smiv2:alias "vmVmps" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.1"; + } + + smiv2:alias "vmMembership" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.2"; + } + + smiv2:alias "vmStatistics" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.3"; + } + + smiv2:alias "vmStatus" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.4"; + } + + smiv2:alias "vmVoiceVlan" { + smiv2:oid "1.3.6.1.4.1.9.9.68.1.5"; + } + + smiv2:alias "vmNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.68.2"; + } + + smiv2:alias "vmNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.68.2.0"; + } + + smiv2:alias "vmMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.68.3"; + } + + smiv2:alias "vmMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.68.3.1"; + } + + smiv2:alias "vmMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.68.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-COMMON-DIAL-CONTROL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-COMMON-DIAL-CONTROL-MIB.yang new file mode 100644 index 000000000..5a7ec5b6f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-COMMON-DIAL-CONTROL-MIB.yang @@ -0,0 +1,853 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VOICE-COMMON-DIAL-CONTROL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VOICE-COMMON-DIAL-CONTROL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VOICE-COMMON-DIAL-CONTROL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB"; + prefix CISCO-VOICE-COMMON-DIAL-CONTROL-MIB; + + import CISCO-DIAL-CONTROL-MIB { + prefix "cisco-dial"; + } + + import DIAL-CONTROL-MIB { + prefix "dial-control"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-voice@cisco.com"; + + description + "This MIB module contains voice related objects that + are common across more than one network + encapsulation i.e VoIP, VoATM and VoFR. + + *** ABBREVIATIONS, ACRONYMS AND SYMBOLS *** + + GSM - Global System for Mobile Communication + + AMR-NB - Adaptive Multi Rate - Narrow Band + + iLBC - internet Low Bitrate Codec + + iSAC - internet Speech Audio Codec"; + + revision 2010-06-30 { + description + "Added CvcCallReferenceIdOrZero textual convention. + Added aaclc and aacld enum to CvcCoderTypeRate and + CvcSpeechCoderRate textual conventions."; + } + + revision 2009-03-18 { + description + "[1] Added acronym for iSAC codec + [2] Added iSAC enum to CvcSpeechCoderRate and CvcCoderTypeRate + textual conventions."; + } + + revision 2008-07-02 { + description + "[1] Added '-- obsolete' to description of 'g722' + enum from CvcCoderTypeRate. + [2] Added new enum values 'g722r4800', 'g722r5600' + and 'g722r6400' to CvcCoderTypeRate. + [3] Added new enum values 'g722r4800', 'g722r5600' + and 'g722r6400' to CvcSpeechCoderRate."; + } + + revision 2007-06-26 { + description + "[1] Imported TEXTUAL-CONVENTION from SNMPv2-TC. + [2] Added acronyms for GSM AMR-NB and iLBC codecs + [3] Added llcc, gsmAmrNb, iLBC, iLBCr15200 and iLBCr13330 + enums to CvcSpeechCoderRate textual conventions. + [4] Added llcc, gsmAmrNb, g722, iLBC, iLBCr15200 and iLBCr13330 + enums to CvcCoderTypeRate textual conventions. + [5] Added REFERENCE clause to CvcSpeechCoderRate and + CvcCoderTypeRate textual conventions for GSM AMR-NB and + iLBC codecs."; + } + + revision 2005-08-16 { + description + "Added CvcH320CallType and CvcVideoCoderRate objects. + Added g722 enum to CvcCoderTypeRate textual conventions."; + } + + revision 2005-03-06 { + description + "Added gsmAmrNb enum to CvcSpeechCoderRate and CvcCoderTypeRate + textual conventions."; + } + + revision 2003-03-11 { + description + "Added new enum value 'llcc', to CvcSpeechCoderRate + and CvcCoderTypeRate textual-conventions."; + } + + revision 2001-10-06 { + description + "[1] Added new enum value 'g726r40000',to CvcSpeechCoderRate's + and CvcCoderTypeRate's textual-conventions. + [2] Replaced 'clearch' enum with 'clearChannel' enum. + [3] Replaced 'codec is disabled' comment for clearChannel enum + with 'CLEAR channel codec'."; + } + + revision 2001-09-05 { + description + "[1] Added new enum value, 'clearch,' to CvcSpeechCoderRate's + and CvcCoderTypeRate's textual-conventions. + [2] Added new enum value, 'gr303,' to CvcInBandSignaling's + textual-conventions + [3] Modified cvCommonDcCallActiveInBandSignaling's and + cvCommonDcCallHistoryInBandSignaling's description + to indicate value is valid only for Connection Trunk calls."; + } + + revision 2000-07-22 { + description + "Add new objects for handling the following features: + [1] Calling Name display for call active and history table. + [2] Caller ID Block, which indicates whether the Caller ID + feature is in using, for call active and history table."; + } + + typedef CvcSpeechCoderRate { + type enumeration { + enum "g729r8000" { + value "1"; + } + enum "g729Ar8000" { + value "2"; + } + enum "g726r16000" { + value "3"; + } + enum "g726r24000" { + value "4"; + } + enum "g726r32000" { + value "5"; + } + enum "g711ulawr64000" { + value "6"; + } + enum "g711Alawr64000" { + value "7"; + } + enum "g728r16000" { + value "8"; + } + enum "g723r6300" { + value "9"; + } + enum "g723r5300" { + value "10"; + } + enum "gsmr13200" { + value "11"; + } + enum "g729Br8000" { + value "12"; + } + enum "g729ABr8000" { + value "13"; + } + enum "g723Ar6300" { + value "14"; + } + enum "g723Ar5300" { + value "15"; + } + enum "g729IETFr8000" { + value "16"; + } + enum "gsmeEr12200" { + value "17"; + } + enum "clearChannel" { + value "18"; + } + enum "g726r40000" { + value "19"; + } + enum "llcc" { + value "20"; + } + enum "gsmAmrNb" { + value "21"; + } + enum "iLBC" { + value "22"; + } + enum "iLBCr15200" { + value "23"; + } + enum "iLBCr13330" { + value "24"; + } + enum "g722r4800" { + value "25"; + } + enum "g722r5600" { + value "26"; + } + enum "g722r6400" { + value "27"; + } + enum "iSAC" { + value "28"; + } + enum "aaclc" { + value "29"; + } + enum "aacld" { + value "30"; + } + } + description + "This object specifies the most desirable codec of + speech for the VoIP, VoATM or VoFR peer. + g729r8000 - pre-IETF G.729 8000 bps + g729Ar8000 - G.729 ANNEX-A 8000 bps + g726r16000 - G.726 16000 bps + g726r24000 - G.726 24000 bps + g726r32000 - G.726 32000 bps + g711ulawr64000 - G.711 u-Law 64000 bps + g711Alawr64000 - G.711 A-Law 64000 bps + g728r16000 - G.728 16000 bps + g723r6300 - G.723.1 6300 bps + g723r5300 - G.723.1 5300 bps + gsmr13200 - GSM Full rate 13200 bps + g729Br8000 - G.729 ANNEX-B 8000 bps + g729ABr8000 - G.729 ANNEX-A & B 8000 bps + g723Ar6300 - G723.1 Annex A 6300 bps + g723Ar5300 - G723.1 Annex A 5300 bps + g729IETFr8000 - IETF G.729 8000 bps + gsmeEr12200 - GSM Enhanced Full Rate 12200 bps + clearChannel - CLEAR Channel codec + g726r40000 - G.726 40000 bps + llcc - Lossless compression codec + gsmAmrNb - GSM AMR-NB 4750 - 12200 bps + iLBC - iILBC 13330 or 15200 bps + iLBCr15200 - iLBC 15200 bps + iLBCr13330 - iLBC 13330 bps + g722r4800 - G.722 (modes 1, 2, 3) + g722r5600 - G.722 (modes 1, 2) + g722r6400 - G.722 (mode 1) + iSAC - iSAC (10 to 32 kbps) + aaclc - AAC-LC Advanced Audio Coding Low Complexity + aacld - AAC-LD MPEG-4 Low Delay Audio Coder"; + reference + "[1] RFC 3267: For introduction about GSM AMR-NB codec, + section 3.1 + [2] RFC 3952: For introduction about iLBC codec, + section 2"; + } + + typedef CvcFaxTransmitRate { + type enumeration { + enum "none" { + value "1"; + } + enum "voiceRate" { + value "2"; + } + enum "fax2400" { + value "3"; + } + enum "fax4800" { + value "4"; + } + enum "fax7200" { + value "5"; + } + enum "fax9600" { + value "6"; + } + enum "fax14400" { + value "7"; + } + enum "fax12000" { + value "8"; + } + } + description + "This object specifies the default transmit rate of FAX + for the VoIP, VoATM or VOFR peer. If the value of this + object is 'none', then the Fax relay feature is disabled + ; otherwise the Fax relay feature is enabled. + + none - Fax relay is disabled. + voiceRate - the fastest possible fax rate not exceed + the configured voice rate. + fax2400 - 2400 bps FAX transmit rate. + fax4800 - 4800 bps FAX transmit rate. + fax7200 - 7200 bps FAX transmit rate. + fax9600 - 9600 bps FAX transmit rate. + fax14400 - 14400 bps FAX transmit rate. + fax12000 - 12000 bps FAX transmit rate."; + } + + typedef CvcCoderTypeRate { + type enumeration { + enum "other" { + value "1"; + } + enum "fax2400" { + value "2"; + } + enum "fax4800" { + value "3"; + } + enum "fax7200" { + value "4"; + } + enum "fax9600" { + value "5"; + } + enum "fax14400" { + value "6"; + } + enum "fax12000" { + value "7"; + } + enum "g729r8000" { + value "10"; + } + enum "g729Ar8000" { + value "11"; + } + enum "g726r16000" { + value "12"; + } + enum "g726r24000" { + value "13"; + } + enum "g726r32000" { + value "14"; + } + enum "g711ulawr64000" { + value "15"; + } + enum "g711Alawr64000" { + value "16"; + } + enum "g728r16000" { + value "17"; + } + enum "g723r6300" { + value "18"; + } + enum "g723r5300" { + value "19"; + } + enum "gsmr13200" { + value "20"; + } + enum "g729Br8000" { + value "21"; + } + enum "g729ABr8000" { + value "22"; + } + enum "g723Ar6300" { + value "23"; + } + enum "g723Ar5300" { + value "24"; + } + enum "ietfg729r8000" { + value "25"; + } + enum "gsmeEr12200" { + value "26"; + } + enum "clearChannel" { + value "27"; + } + enum "g726r40000" { + value "28"; + } + enum "llcc" { + value "29"; + } + enum "gsmAmrNb" { + value "30"; + } + enum "g722" { + value "31"; + } + enum "iLBC" { + value "32"; + } + enum "iLBCr15200" { + value "33"; + } + enum "iLBCr13330" { + value "34"; + } + enum "g722r4800" { + value "35"; + } + enum "g722r5600" { + value "36"; + } + enum "g722r6400" { + value "37"; + } + enum "iSAC" { + value "38"; + } + enum "aaclc" { + value "39"; + } + enum "aacld" { + value "40"; + } + } + description + "Represents the coder type-rate for voice/fax compression + used during a call. + + *** ABBREVIATIONS, ACRONYMS AND SYMBOLS *** + + GSM - Global System for Mobile Communication + + AMR-NB - Adaptive Multi Rate - Narrow Band + + iLBC - internet Low Bitrate Codec + + iSAC - internet Speech Audio Codec + + other - none of the following. + fax2400 - FAX 2400 bps + fax4800 - FAX 4800 bps + fax7200 - FAX 7200 bps + fax9600 - FAX 9600 bps + fax14400 - FAX 14400 bps + fax12000 - FAX 12000 bps + g729r8000 - G.729 8000 bps (pre-IETF bit ordering) + g729Ar8000 - G.729 ANNEX-A 8000 bps + g726r16000 - G.726 16000 bps + g726r24000 - G.726 24000 bps + g726r32000 - G.726 32000 bps + g711ulawr64000 - G.711 u-Law 64000 bps + g711Alawr64000 - G.711 A-Law 64000 bps + g728r16000 - G.728 16000 bps + g723r6300 - G.723.1 6300 bps + g723r5300 - G.723.1 5300 bps + gsmr13200 - GSM full rate 13200 bps + g729Br8000 - G.729 ANNEX-B 8000 bps + g729ABr8000 - G.729 ANNEX-A & B 8000 bps + g723Ar6300 - G723.1 Annex A 6300 bps + g723Ar5300 - G723.1 Annex A 5300 bps + ietfg729r8000 - G.729 8000 bps (IETF bit ordering) + gsmeEr12200 - GSM Enhanced Full Rate 12200 bps + clearChannel - CLEAR channel codec + g726r40000 - G.726 40000 bps + llcc - Lossless compression codec + gsmAmrNb - GSM AMR-NB 4750 - 12200 bps + g722 - G.722 2400 - 6400 bps + iLBC - iILBC 13330 or 15200 bps + iLBCr15200 - iLBC 15200 bps + iLBCr13330 - iLBC 13330 bps + g722r4800 - G.722 (modes 1, 2, 3) + g722r5600 - G.722 (modes 1, 2) + g722r6400 - G.722 (mode 1) + iSAC - iSAC (10 to 32 kbps) + aaclc - AAC-LC Advanced Audio Coding Low Complexity + aacld - AAC-LD MPEG-4 Low Delay Audio Coder"; + reference + "[1] RFC 3267: For introduction about GSM AMR-NB codec, + section 3.1 + [2] RFC 3952: For introduction about iLBC codec, + section 2"; + } + + typedef CvcGUid { + type binary { + length "0..16"; + } + description + "Represents a Global Call Identifier. + The global call identifier is used as an unique identifier + for an end-to-end call. + A zero length CvcGUid indicates no value for the global call + identifier."; + } + + typedef CvcInBandSignaling { + type enumeration { + enum "cas" { + value "1"; + } + enum "none" { + value "2"; + } + enum "cept" { + value "3"; + } + enum "transparent" { + value "4"; + } + enum "gr303" { + value "5"; + } + } + description + "Represents the type of in-band signaling used between + the two end points of the call and is used to inform the + router how interpret the ABCD signaling data bits passed + as part of the voice payload data. + + cas - specifies interpret the signaling bits as + North American Channel Associated signaling. + none - specifies no in-band signaling or signaling + is being done via an external method (e.g + CCS). + cept - specifies interpret the signaling bits as + MELCAS + transparent - specifies do not interpret or translate the + signaling bits. + gr303 - specifies interpret the signaling bits as + GR303"; + } + + typedef CvcCallReferenceIdOrZero { + type uint32; + description + "A call reference ID correlates the video and audio call entries + that belong to the same endpoint. In other words, if an audio + call entry and a video call entry have the same call reference + ID, these entries belong to the same endpoint. + Because an audio-only endpoint creates only one call entry, call + reference ID is not necessary and is set to zero. + A call reference ID with value greater than zero signifies a + video call, the value zero is object-specific and must therefore + be defined as part of the description of any object which uses + this syntax. Examples of the usage of zero include audio calls."; + } + + typedef CvcH320CallType { + type enumeration { + enum "none" { + value "0"; + } + enum "primary" { + value "1"; + } + enum "secondary" { + value "2"; + } + } + description + "This object specifies the H320 call type of a voice call."; + } + + typedef CvcVideoCoderRate { + type enumeration { + enum "none" { + value "0"; + } + enum "h261" { + value "1"; + } + enum "h263" { + value "2"; + } + enum "h263plus" { + value "3"; + } + enum "h264" { + value "4"; + } + } + description + "This object specifies the encoding type used to compress + the video data of the voice call."; + } + + + container CISCO-VOICE-COMMON-DIAL-CONTROL-MIB { + config false; + + container cvCommonDcCallActiveTable { + description + "This table is a common extension to the call active + table of IETF Dial Control MIB. It contains common call + leg information about a network call leg."; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1"; + + list cvCommonDcCallActiveEntry { + key "callActiveSetupTime callActiveIndex"; + description + "The common information regarding a single network call + leg. The call leg entry is identified by using the same + index objects that are used by Call Active table of IETF + Dial Control MIB to identify the call. + An entry of this table is created when its associated + call active entry in the IETF Dial Control MIB is created + and the call active entry contains information for the + call establishment to a network dialpeer. + The entry is deleted when its associated call active entry + in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1"; + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf cvCommonDcCallActiveConnectionId { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcGUid; + description + "The global call identifier for the network call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.1"; + } + + leaf cvCommonDcCallActiveVADEnable { + type boolean; + description + "The object indicates whether or not the VAD (Voice + Activity Detection) is enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.2"; + } + + leaf cvCommonDcCallActiveCoderTypeRate { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcCoderTypeRate; + description + "The negotiated coder rate. It specifies the transmit + rate of voice/fax compression to its associated call leg + for the call. + This rate is different from the configuration rate + because of rate negotiation during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.3"; + } + + leaf cvCommonDcCallActiveCodecBytes { + type int32 { + range "10..255"; + } + description + "Specifies the payload size of the voice packet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.4"; + } + + leaf cvCommonDcCallActiveInBandSignaling { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcInBandSignaling; + description + "Specifies the type of in-band signaling being used on + the call. This object is instantiated only for + Connection Trunk calls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.5"; + } + + leaf cvCommonDcCallActiveCallingName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The calling party name this call is connected to. If the + name is not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.6"; + } + + leaf cvCommonDcCallActiveCallerIDBlock { + type boolean; + description + "The object indicates whether or not the caller ID feature + is blocked for this voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1.1.1.7"; + } + } + } + + container cvCommonDcCallHistoryTable { + description + "This table is the Common extension to the call history + table of IETF Dial Control MIB. It contains Common call + leg information about a network call leg."; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1"; + + list cvCommonDcCallHistoryEntry { + key "cCallHistoryIndex"; + description + "The common information regarding a single network call + leg. The call leg entry is identified by using the same + index objects that are used by Call Active table of IETF + Dial Control MIB to identify the call. + An entry of this table is created when its associated + call history entry in the IETF Dial Control MIB is + created and the call history entry contains information + for the call establishment to a network dialpeer. + The entry is deleted when its associated call history + entry in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1"; + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvCommonDcCallHistoryConnectionId { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcGUid; + description + "The global call identifier for the gateway call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.1"; + } + + leaf cvCommonDcCallHistoryVADEnable { + type boolean; + description + "The object indicates whether or not the VAD (Voice + Activity Detection) was enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.2"; + } + + leaf cvCommonDcCallHistoryCoderTypeRate { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcCoderTypeRate; + description + "The negotiated coder rate. It specifies the transmit rate + of voice/fax compression to its associated call leg for + the call. + This rate is different from the configuration rate + because of rate negotiation during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.3"; + } + + leaf cvCommonDcCallHistoryCodecBytes { + type int32 { + range "10..255"; + } + description + "Specifies the payload size of the voice packet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.4"; + } + + leaf cvCommonDcCallHistoryInBandSignaling { + type CISCO-VOICE-COMMON-DIAL-CONTROL-MIB:CvcInBandSignaling; + description + "Specifies the type of in-band signaling used on the + call. This object is instantiated only for + Connection Trunk calls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.5"; + } + + leaf cvCommonDcCallHistoryCallingName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The calling party name this call is connected to. If + the name is not available, then it will have a length + of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.6"; + } + + leaf cvCommonDcCallHistoryCallerIDBlock { + type boolean; + description + "The object indicates whether or not the caller ID + feature is blocked for this voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2.1.1.7"; + } + } + } + } + + smiv2:alias "ciscoVoiceCommonDialControlMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.55"; + } + + smiv2:alias "cvCommonDcMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.55.1"; + } + + smiv2:alias "cvCommonDcCallActive" { + smiv2:oid "1.3.6.1.4.1.9.10.55.1.1"; + } + + smiv2:alias "cvCommonDcCallHistory" { + smiv2:oid "1.3.6.1.4.1.9.10.55.1.2"; + } + + smiv2:alias "cvCommonDcMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.10.55.2"; + } + + smiv2:alias "cvCommonDcMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.10.55.2.0"; + } + + smiv2:alias "cvCommonDcMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.55.3"; + } + + smiv2:alias "cvCommonDcMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.55.3.1"; + } + + smiv2:alias "cvCommonDcMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.55.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DIAL-CONTROL-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DIAL-CONTROL-MIB.yang new file mode 100644 index 000000000..047366671 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DIAL-CONTROL-MIB.yang @@ -0,0 +1,5054 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VOICE-DIAL-CONTROL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VOICE-DIAL-CONTROL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VOICE-DIAL-CONTROL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB"; + prefix CISCO-VOICE-DIAL-CONTROL-MIB; + + import CISCO-DIAL-CONTROL-MIB { + prefix "cisco-dial"; + } + + import CISCO-VOICE-COMMON-DIAL-CONTROL-MIB { + prefix "cisco-voice"; + } + + import CISCO-VOICE-DNIS-MIB { + prefix "cisco-voice-dnis"; + } + + import DIAL-CONTROL-MIB { + prefix "dial-control"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import INT-SERV-MIB { + prefix "int-serv"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-voice@cisco.com"; + + description + "This MIB module enhances the IETF Dial Control MIB + (RFC2128) by providing management of voice telephony + peers on both a circuit-switched telephony network, + and an IP data network. + + *** ABBREVIATIONS, ACRONYMS AND SYMBOLS *** + + GSM - Global System for Mobile Communication + + AMR-NB - Adaptive Multi Rate - Narrow Band + + iLBC - internet Low Bitrate Codec + + KPML - Key Press Markup Language + + MGCP - Media Gateway Control Protocol. + + SIP - Session Initiation Protocol. + + H323 - One of the voip signalling protocol. + + SCCP - Skinny Client Control Protocol. + + dialpeer - This represents a configured interface that + carries the dial map. A dialpeer maps the + called and calling numbers with the port or + IP interface to be used. + + License call capacity - This represents the licensed + maximum call capacity of + the gateway. + + iSAC - Internet Speech Audio Codec + + RPH - Resource Priority Header + + DSCP - Diffserv Code Points"; + + revision 2012-05-15 { + description + "[1] Added New OBJECT-GROUP cvCallVolumeStatsHistory + in cvGatewayCallHistory. + [2] Added following tables + cvCallRateStatsTable, + cvCallLegRateStatsTable, + cvActiveCallStatsTable, + cvCallDurationStatsTable, + cvSipMsgRateStatsTable under cvCallVolumeStatsHistory + [3] Added following tables + cvCallRateWMTable, + cvCallLegRateWMTable, + cvActiveCallWMTable, + cvSipMsgRateWMTable under cvCallVolumeStatsHistory + [4] Added following textual conversation + CvCallVolumeStatsIntvlType & + CvCallVolumeWMIntvlType + [5] Added new cvdcCallVolumeStatsHistory conformance group + in cvdcMIBGroups. + [6] Added cvdcMIBComplianceRev22 depricating cvdcMIBComplianceRev21"; + } + + revision 2011-07-11 { + description + "[1] Added cvVoIPCallActiveSessionId in cvVoIPCallActiveEntry and + cvVoIPCallHistorySessionId in cvVoIPCallHistoryEntry + [2] Added cvVoIPCallActiveSessionId and + cvVoIPCallHistorySessionId to cvVoIPCallGroupSup3 + [3] Deprecated cvVoIPCallGroupSup2 and superceded it with + cvVoIPCallGroupSup3 + [4] Deprecated cvdcMIBComplianceRev20 and superceded it with + with cvdcMIBComplianceRev21"; + } + + revision 2011-05-31 { + description + "The following changes is done for RPH to DSCP mapping and Media + policy feature. + 1) Added two new objects in the cvVoIPCallActiveEntry + ccVoIPCallActivePolicyName + cvVoIPCallActiveReversedDirectionPeerAddress + 2) Added one new notification object + cvdcPolicyViolationNotification + 3) Imported two objects from DIAL-CONTROL-MIB + callActivePeerId + callActivePeerAddress + 4) Added four objects as part of new Notification + cvdcPolicyViolationNotification + ccVoIPCallActiveViolationReason + cvVoIPCallActiveCalledNumber + callActivePeerId + callActivePeerAddress + 5) Added new notification group cvdcNotificationGroupRev4 and + changed the status of cvdcNotificationGroupRev3 to depricated. + 6) Added new conformance group cvVoIPCallGroupSup2 and changed + the status of cvVoIPCallGroupSup1 to deprecated. + 7) Modified cvdcMIBComplianceRev20 to add new groups and remove + the deprecated one + 8) Added the following objects in CvVoIPPeerCfgEntry + cvVoIPPeerCfgDSCPPolicyNotificationEnable + cvVoIPPeerCfgMediaPolicyNotificationEnable + 9) Added the following objects in cvdcGeneralCfgGroupRev6 + cvGeneralDSCPPolicyNotificationEnable + cvGeneralMediaPolicyNotificationEnable"; + } + + revision 2010-07-26 { + description + "[1] Modified MAX-ACCESS for cvVoIPPeerCfgFrameSize from read-only to read-write. + [2] Added a call reference ID to associate the video call entry and + voice call entry of the same endpoint."; + } + + revision 2009-05-07 { + description + "[1] Added Abbreviation for iSAC + [2] Added the following objects to cvVoIPPeerCfgTable for iSAC + codec support. + - cvVoIPPeerCfgCodingMode + - cvVoIPPeerCfgBitRate + - cvVoIPPeerCfgFramesize + [3] Added a new OBJECT-GROUP cvdcVoIPCfgISACGroup. + [4] Added a new MODULE-COMPLIANCE cvdcMIBComplianceRev19 which + deprecates cvdcMIBComplianceRev18."; + } + + revision 2009-04-20 { + description + "The following changes have been made. + + [1] Added new CvCallConnectionType TEXTUAL-CONVENTION. + [2] Added the following new OBJECT IDENTIFIERs: + cvCallVolume, + cvCallRateMonitor + [3] Added the following objects to cvCallVolume: + cvCallVolConnTable, + cvCallVolConnTotalActiveConnections, + cvCallVolConnMaxCallConnectionLicenese, + cvCallVolPeerTable, + cvCallVolIfTable. + [4] Added the following objects to new cvCallVolConnTable: + cvCallVolConnIndex, + cvCallVolConnActiveConnection. + [5] Added the following objects to new cvCallVolPeerTable: + cvCallVolPeerIncomingCalls, + cvCallVolPeerOutgoingCalls. + [6] Added the following objects to new cvCallVolIfTable: + cvCallVolMediaIncomingCalls, + cvCallVolMediaOutgoingCalls. + [7] Added the following objects to cvCallRateMonitor: + cvCallRateMonitorEnable, + cvCallRateMonitorTime, + cvCallRate, + cvCallRateHiWaterMark. + [8] Add the following OBJECT-GROUPs: + cvCallVolumeGroup, + cvCallRateMonitorGroup. + [9] Deprecated MODULE-COMPLIANCE cvdcMIBComplianceRev17. + [10] Added MODULE-COMPLIANCE cvdcMIBComplianceRev18."; + } + + revision 2009-01-12 { + description + "The following changes have been made. + + [1] The descriptions of the following objects have + been modified to replace the term 'call identifier' + with 'connection identifier'. + cvCallActiveConnectionId + cvVoIPCallActiveConnectionId + cvCallHistoryConnectionId + cvVoIPCallHistoryConnectionId. + [2] The object cvCallActiveCallId has been added + to cvCallActiveTable. + [3] The object cvVoIPCallActiveCallId has been added + to cvVoIPCallActiveTable. + [4] The object cvCallHistoryCallId has been added + to cvCallHistoryTable. + [5] The object cvVoIPCallHistoryCallId has been added + to cvVoIPCallHistoryTable. + [6] 'sipKpml' has been added to the object + cvVoIPPeerCfgDigitRelay. + [7] Added following OBJECT-GROUPs + cvCallGroupSup1, + cvVoIPCallGroupSup1 + [8] Deprecated MODULE-COMPLIANCE + cvdcMIBComplianceRev16 and is superceded by + cvdcMIBComplianceRev17."; + } + + revision 2006-03-12 { + description + "[1] Added Abbreviations for GSM, AMR-NB and iLBC + [2] Added cvVoIPPeerCfgCoderMode object to + cvVoIPPeerCfgTable for iLBC codec support. + [3] Added cvVoIPCallActiveCoderMode object to + cvVoIPCallActiveTable for iLBC codec support. + [4] Added cvVoIPCallHistoryCoderMode object to + cvVoIPCallHistoryTable for iLBC codec support. + [5] Created CvIlbcFrameMode textual convention. + [6] Added REFERENCE clause to all new MIB objects and + textual conventions added. + [7] Created cvVoIPCallIlbcGroup and cvdcVoIPCfgIlbcGroup + groups for iLBC specific objects. + [8] Created module-compliance cvdcMIBComplianceRev16 and + made cvVoIPCallIlbcGroup and cvdcVoIPCfgIlbcGroup + as non mandatory. + [9] Changed the default value for cvVoIPPeerCfgBitRates to + all 8 bitrates as all 8 bitrates are supported."; + } + + revision 2005-09-29 { + description + "Modified DESCRIPTION of cvPeerCfgPeerType object."; + } + + revision 2005-07-25 { + description + "[1] Add new objects to cvVoIPCallActiveTable and + cvVoIPCallHistoryTable for GSM AMR-NB codec support: + Frame type, Bit rates, Mode change period, + Mode change neighbor, Max payload time, CRC, + Robust sorting, Encapsulation, Payload time + channels, for call active and history table. + [2] Add new objects to cvVoIPPeerCfgTable for GSM AMR-NB + codec support: + Frame type, Bit rates and CRC. + [3] Created groups cvVoIPCallAmrNbGroup and + cvdcVoIPCfgAmrNbGroup, for GSM AMR-NB + specific objects. + [4] Created a module-compliance cvdcMIBComplianceRev13 + and made cvVoIPCallAmrNbGroup and cvdcVoIPCfgAmrNbGroup + as non mandatory. + [5] Created following textual conventions: + CvAmrNbBitRateMode and CvAmrNbRtpEncap."; + } + + revision 2005-03-02 { + description + "The following values were added to the + cvVoicePeerCfgEchoCancellerTest object: + echoCancellerG168Test5, + echoCancellerG168Test7"; + } + + revision 2005-03-01 { + description + "Modified DESCRIPTION of cvVoIPCallHistoryFallbackLoss + object."; + } + + revision 2004-04-30 { + description + "Added object + Added cvVoIPCallHistoryRemSigIPAddrT and + cvVoIPCallHistoryRemSigIPAddr to the + cvdcFallbackNotification ."; + } + + revision 2004-04-16 { + description + "Added object cvVoIPCallHistoryFallbackIcpif, + cvVoIPCallHistoryFallbackLoss and + cvVoIPCallHistoryFallbackDelay + to the cvVoIPCallHistoryTable. + Added cvdcFallbackNotification for the + fallback notification. + Added cvGeneralFallbackNotificationEnable to + enable/disable cvdcFallbackNotification."; + } + + revision 2004-03-09 { + description + "Added new objects for handling the following features: + [1] The number of DS0s with voice calls up. + cvCallActiveDS0s + [2] The threshold number of DS0s above which a + Notification will be triggered. + cvCallActiveDS0sHighThreshold + [3] The threshold number of DS0s below which a + Notification will be triggered. + cvCallActiveDS0sLowThreshold + [4] Objects to enable the above two notifications. + cvCallActiveDS0sHighNotifyEnable, + cvCallActiveDS0sLowNotifyEnable. + [5] Notifications for the above two thresholds. + cvdcActiveDS0sHighNotification, + cvdcActiveDS0sLowNotification."; + } + + revision 2004-01-20 { + description + "Added object cvVoIPCallActiveSRTPEnable to + cvVoIPCallActiveTable and cvVoIPCallHistorySRTPEnable + to cvVoIPCallHistoryTable to indicate whether SRTP is + enabled on a call."; + } + + revision 2003-06-26 { + description + "Modified the DEVAL definition of + cvVoIPPeerCfgDigitRelay object based on + no bit field was enabled when the object + was created."; + } + + revision 2003-04-14 { + description + "The DESCRIPTION of the following objects was + modified to specify the allowable characters + cvPeerCommonCfgSourceTrunkGrpLabel + cvPeerCommonCfgTargetTrunkGrpLabel + cvPeerCommonCfgSourceCarrierId + cvPeerCommonCfgTargetCarrierId."; + } + + revision 2002-12-31 { + description + "The following values were added to the + cvVoicePeerCfgEchoCancellerTest object: + echoCancellerG168Test4, + echoCancellerG168Test6, + echoCancellerG168Test9"; + } + + revision 2002-12-02 { + description + "The range of the following objects was changed: + cvCallActiveNoiseLevel + cvCallActiveACOMLevel + cvCallActiveOutSignalLevel + cvCallActiveInSignalLevel + cvVoIPCallHistoryIcpif"; + } + + revision 2002-10-31 { + description + "Add object cvVoIPPeerCfgMediaSetting to the table. + This object defines whether IP-IP media streams will + flow-through or flow-around the Gateway. + Add two new objects cvVoIPPeerCfgDesiredQoSVideo and + cvVoIPPeerCfgMinAcceptableQoSVideo to the table + cvVoIPPeerCfgTable. Also added objects + cvCallActiveAccountCode and cvCallHistoryAccountCode. + Depreciating element cvCallActiveERLLevel + Adding New element cvCallActiveERLLevelRev1 + Adding New type sipNotify in cvVoIPPeerCfgDigitRelay + Adding New element cvVoIPPeerCfgRedirectip2ip in + CvVoIPPeerCfgEntry"; + } + + revision 2002-07-12 { + description + "* Add a new cvPeerCfgPeerType object to define the + peer type + * Added rtpNte, a new value for the + cvVoIPPeerCfgDigitRelay object."; + } + + revision 2001-08-20 { + description + "Addition of the following objects: + cvVoIPCallActiveUsername + cvVoIPCallActiveProtocolCallId + cvVoIPCallActiveRemSigIPAddrT + cvVoIPCallActiveRemSigIPAddr + cvVoIPCallActiveRemSigPort + cvVoIPCallActiveRemMediaIPAddrT + cvVoIPCallActiveRemMediaIPAddr + cvVoIPCallActiveRemMediaPort + cvVoIPCallHistoryUsername + cvVoIPCallHistoryProtocolCallId + cvVoIPCallHistoryRemSigIPAddrT + cvVoIPCallHistoryRemSigIPAddr + cvVoIPCallHistoryRemSigPort + cvVoIPCallHistoryRemMediaIPAddrT + cvVoIPCallHistoryRemMediaIPAddr + cvVoIPCallHistoryRemMediaPort + cvdcPoorQoVNotificationRev1 + Deprecation of the following objects: + cvVoIPCallActiveRemoteIPAddress + cvVoIPCallActiveRemoteUDPPort + cvVoIPCallHistoryRemoteIPAddress + cvVoIPCallHistoryRemoteUDPPort + cvdcPoorQoVNotification"; + } + + revision 2001-07-02 { + description + "Add two new objects cvPeerCommonCfgSourceTrunkGrpLabel and + cvPeerCommonCfgTargetTrunkGrpLabel."; + } + + revision 2001-04-10 { + description + "[1] Add a new object for handling the following feature: + Location in milliseconds of largest amplitude reflector + detected by echo canceller in call active table. + Add new object for specifying an echo canceller test to + to be run when a call using a dial peer so configured is + connected. + [2] Change QosService import from INT-SERV-MIB to + INTEGRATED-SERVICES-MIB, since INTEGRATED-SERVICES-MIB + (RFC2213) is where QosService is defined."; + } + + revision 2001-03-25 { + description + "Add two new objects cvPeerCommonCfgSourceCarrierId and + cvPeerCommonCfgTargetCarrierId. Add a enum definition to + cvVoIPPeerCfgSessionTarget object."; + } + + revision 2000-05-04 { + description + "Add new objects for handling the following features: + [1] Calling Name display for call active and history table. + [2] Caller ID Block, which indicates whether the Caller ID + feature is in using, for call active and history table."; + } + + revision 2000-04-19 { + description + "Changed VoIP dialpeer default values for + Icpif to 20 + ExpectFactor to 0"; + } + + revision 2000-03-13 { + description + "Adding a new object cvPeerCommonCfgDnisMappingName."; + } + + revision 1999-06-28 { + description + "Moved common Textual Conventions and the following items in + the VoIP Call Active and Call History tables to the + CISCO-VOICE-COMMON-DIAL-CONTROL-MIB, as these items apply to + multiple network encapsulations. + + CoderTypeRate + VADEnable + + Added new objects for handling the following features: + [1] Gatekeeper registration configuration for voice peer + destination pattern. + [2] Dialpeer huntstop configuration. + [3] Voip configuration support for Coder Bytes, Fax Bytes, + settlement server and inband signaling. + + Added the following objects to the cvdcPoorQoVNotification. + cvVoIPCallHistoryRemoteIPAddress, + cCallHistoryCallOrigin, + cvCommonDcCallHistoryCoderTypeRate"; + } + + revision 1999-01-29 { + description + "Add new enums in cvVoIPPeerCfgDigitRelay object for + handling the transmission of dtmf digits across an + H.245 channel via the signal and alphanumeric fields."; + } + + revision 1998-09-11 { + description + "Add new objects for handling the following features: + [1] FAX page count for call active and history table. + [2] Peer Preference for peer configuration. + [3] Add FAX rate 12000 bps, G723.1 Annex A codec support. + [4] Technology prefix for VoIP encapsulated peer + configuration. + [5] Modify cvCallActiveACOMLeve, cvCallActiveERLLevel and + cvCallHistoryACOMLevel to support undeterminable state. + [6] Add digit relay configuration feature."; + } + + revision 1998-02-22 { + description + "Add new objects for handling the following: + [1] DNIS number matching. + [2] Maximum connection to/from peer. + [3] DID call treatment enable/disable. + [4] Dial peer association to lower layer interfaces with + CAS group. + [5] Lost/Ealy/Late voice packets object in both call active + and call history tables. + [6] Update compliance statements."; + } + + typedef CvCallVolumeWMIntvlType { + type enumeration { + enum "secondStats" { + value "1"; + } + enum "minuteStats" { + value "2"; + } + enum "hourStats" { + value "3"; + } + enum "fromReloadStats" { + value "4"; + } + } + description + "Represents the Id of the watermark table. + Here is what different values represent + + 1 : Seconds Table: Here the entries are among last 60 second + 2 : Minutes Table: Here the entries are among last 60 minutes + 3 : Hours Table: Here the entries are among last 72 Hours + 4 : Uptime Table: Here the entries are from last reload/reboot"; + } + + typedef CvCallVolumeStatsIntvlType { + type enumeration { + enum "secondStats" { + value "1"; + } + enum "minuteStats" { + value "2"; + } + enum "hourStats" { + value "3"; + } + } + description + "Represents the ids of the stats vlolume table + Here is what each entry corresponds. + 1 : Seconds Table: Here each entry corresponds to a second + 2 : Minutes Table: Here each entry corresponds to a minute + 3 : Hours Table: Here each entry corresponds to an hour"; + } + + typedef CvSessionProtocol { + type enumeration { + enum "other" { + value "1"; + } + enum "cisco" { + value "2"; + } + enum "sdp" { + value "3"; + } + enum "sip" { + value "4"; + } + enum "multicast" { + value "5"; + } + enum "sccp" { + value "6"; + } + } + description + "Represents a Session Protocol used by Voice calls between a + local and remote router via the IP backbone. + + other - none of the following. + cisco - cisco proprietary H.323 Lite session protocol. + sdp - Session Description Protocol. + sip - Session Initiation Protocol. + sccp - Skinny Call Control Protocol."; + } + + typedef CvCasGroup { + type int32 { + range "-1..30"; + } + description + "The Channel Associated Signalling Group of a + T1/E1. The valid CAS group range is from 0 to 23 for T1 + and from 0 to 30 for E1. The value -1 indicates CAS group is + disabled."; + smiv2:display-hint "d"; + } + + typedef CvAmrNbBitRateMode { + type bits { + bit amrBitRateMode0 { + position "0"; + } + bit amrBitRateMode1 { + position "1"; + } + bit amrBitRateMode2 { + position "2"; + } + bit amrBitRateMode3 { + position "3"; + } + bit amrBitRateMode4 { + position "4"; + } + bit amrBitRateMode5 { + position "5"; + } + bit amrBitRateMode6 { + position "6"; + } + bit amrBitRateMode7 { + position "7"; + } + } + description + "Represents GSM AMR-NB bit rate modes. + + CodecMode Bit-rate (kbps) + 0 4.75 + 1 5.15 + 2 5.90 + 3 6.70 + 4 7.40 + 5 7.95 + 6 10.2 + 7 12.2"; + } + + typedef CvAmrNbRtpEncap { + type enumeration { + enum "rfc3267" { + value "1"; + } + } + description + "Represents GSM AMR-NB codec RTP encapsulation type."; + } + + typedef CvIlbcFrameMode { + type enumeration { + enum "frameMode20" { + value "20"; + } + enum "frameMode30" { + value "30"; + } + } + description + "This Texatual Convention represents the iLBC codec + frame modes. + The possible values are : + frameMode20: This mode operates at 15.2 kbps and each + frame is packetized in 38 bytes. + frameMode30: This mode operates at 13.33 kbps and each + frame is packetized in 50 bytes."; + reference + "RFC 3952: Section 4.2 for details about iLBC mode"; + } + + typedef CvCallConnectionType { + type enumeration { + enum "h323" { + value "1"; + } + enum "sip" { + value "2"; + } + enum "mgcp" { + value "3"; + } + enum "sccp" { + value "4"; + } + enum "multicast" { + value "5"; + } + enum "cacontrol" { + value "6"; + } + enum "telephony" { + value "7"; + } + } + description + "Call connection represents the connection/association/session + between two media call end points. Following are the different + connection types. + + h323 - h323 protocol. + sip - Session Initiation Protocol. + mgcp - Media Gateway Control Protocol. + sccp - Cisco proprietary Skinny Call Control Protocol. + multicast - multicast call connections. + cacontrol - Call Agent Control. + telephony - telephony signal call connections."; + } + + + container CISCO-VOICE-DIAL-CONTROL-MIB { + config false; + + container cvGeneralConfiguration { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1"; + + leaf cvGeneralPoorQoVNotificationEnable { + type boolean; + description + "This object indicates whether cvdcPoorQoVNotification (or + the newer cvdcPoorQoVNotificationRev1) traps should be + generated for a poor quality of voice calls. + + If the value of this object is 'true', + cvdcPoorQoVNotification (or the newer + cvdcPoorQoVNotificationRev1) traps will be generated + for all voice over IP peers when a poor quality of voice + call condition is detected after the voice gateway call + disconnection. If the value of this object is 'false', + cvdcPoorQoVNotification (or the newer + cvdcPoorQoVNotificationRev1) traps will be generated only + for calls for which the + cvVoIPPeerCfgPoorQoVNotificationEnable object of voice + over IP peers having set to 'true'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1.1"; + } + + leaf cvGeneralFallbackNotificationEnable { + type boolean; + description + "This object indicates whether cvdcFallbackNotification + traps should be generated for fallback. + If the value of this object is 'true', + cvdcFallbackNotification traps will be generated + for all voice over IP peers."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1.2"; + } + + leaf cvGeneralDSCPPolicyNotificationEnable { + type boolean; + description + "This object indicates whether cvdcPolicyViolationNotification + traps should be generated for a RPH to DSCP mapping violation + for SIP voice calls. + + If the value of this object is 'true', + cvdcPolicyViolationNotification traps will be generated for SIP + voice over IP peers when a RPH to DSCP violation condition is + detected . If the value of this object is 'false', + cvdcPolicyViolationNotification traps will be generated only + for calls for which the + cvVoIPPeerCfgDSCPPolicyNotificationEnable object of voice + over IP peers having set to 'true'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1.3"; + } + + leaf cvGeneralMediaPolicyNotificationEnable { + type boolean; + description + "This object indicates whether cvdcPolicyViolationNotification + traps should be generated for Media violation + for SIP voice calls. + + If the value of this object is 'true', + cvdcPolicyViolationNotification traps will be generated for SIP + voice over IP peers when media violation condition is + detected . If the value of this object is 'false', + cvdcPolicyViolationNotification traps will be generated only + for calls for which the + cvVoIPPeerCfgMediaPolicyNotificationEnable object of voice + over IP peers having set to 'true'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1.4"; + } + } + + container cvGatewayCallActive { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3"; + + leaf cvCallActiveDS0s { + type yang:gauge32; + units "interfaces"; + description + "The current number of DS0 interfaces used for the + active calls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.3"; + } + + leaf cvCallActiveDS0sHighThreshold { + type uint32 { + range "0..100"; + } + units "percent"; + description + "A high threshold used to determine when to generate the + cvdcActiveDS0sHighNotification. This object + represents the percentage of active DS0s in total number + of DS0s."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.4"; + } + + leaf cvCallActiveDS0sLowThreshold { + type uint32 { + range "0..100"; + } + units "percent"; + description + "A low threshold used to determine when to generate the + cvdcActiveDS0sLowNotification notification. This object + represents the percentage of active DS0s in total number + of DS0s."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.5"; + } + + leaf cvCallActiveDS0sHighNotifyEnable { + type boolean; + description + "Specifies whether or not cvdcActiveDS0sHighNotification + should be generated. + + 'true' : Indicates that the cvdcActiveDS0sHighNotification + generation is enabled. + + 'false': Indicates that cvdcActiveDS0sHighNotification + generation is disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.6"; + } + + leaf cvCallActiveDS0sLowNotifyEnable { + type boolean; + description + "Specifies whether or not cvdcActiveDS0sLowNotification + should be generated. + + 'true' : Indicates that the cvdcActiveDS0sLowNotification + generation is enabled. + + 'false': Indicates that cvdcActiveDS0sLowNotification + generation is disabled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.7"; + } + } + + container cvCallVolume { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8"; + + leaf cvCallVolConnTotalActiveConnections { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + active call legs in the voice gateway."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.2"; + } + + leaf cvCallVolConnMaxCallConnectionLicenese { + type uint32 { + range "0..65535"; + } + description + "This object represents the licensed call capacity + for a voice gateway. If the value is 0, no + licensing is done and the gateway can be + accomodate as many calls depending on its capability."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.3"; + } + } + + container cvCallRateMonitor { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11"; + + leaf cvCallRateMonitorEnable { + type boolean; + description + "This object represents the state of call-monitoring. + A value of 'true' indicates that call-monitoring + is enabled. A value of 'false' indicates that + call-monitoring is disabled."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11.1"; + } + + leaf cvCallRateMonitorTime { + type uint32 { + range "1..12"; + } + units "five seconds"; + description + "This object represents the interval for + which the gateway monitors the call-rate."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11.2"; + } + + leaf cvCallRate { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + calls handled by the gateway during the + monitored time."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11.3"; + } + + leaf cvCallRateHiWaterMark { + type uint32 { + range "0..65535"; + } + description + "This object represents the high water mark + for the number of calls handled by the + gateway in an unit interval of + cvCallRateMonitorTime, from the time + the call-monitoring is enabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11.4"; + } + } + + container cvCallVolumeStatsHistory { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3"; + + leaf cvCallDurationStatsThreshold { + type uint32 { + range "1..3600"; + } + units "seconds"; + description + "This Object specifies the thresold duration in seconds. + cvCallDurationStatsTable will monitor all the calls below this + threshold. + + Decresing the value of the threshold will reset this table."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.10"; + } + + leaf cvCallVolumeWMTableSize { + type uint32 { + range "3..10"; + } + description + "This Object specifies the number of entries the watermark table + will maintain. + + This value will decide the number of elements in + cvCallRateWMTable, + cvCallLegRateWMTable, cvActiveCallWMTable and + cvSipMsgRateWMTable."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.11"; + } + } + + container cvPeerCfgTable { + description + "The table contains the Voice Generic Peer information that + is used to create an ifIndexed row with an appropriate + ifType that is associated with the cvPeerCfgType and + cvPeerCfgPeerType objects."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1"; + + list cvPeerCfgEntry { + key "cvPeerCfgIndex"; + description + "A single voice generic Peer. The creation of this + entry will create an associated ifEntry with an ifType + that is associated with cvPeerCfgType, i.e., for + 'voiceEncap' encapsulation, an ifEntry will contain an + ifType voiceEncap(103); for 'voiceOverIp' encapsulation, + an ifEntry will contain an ifType voiceOverIp(104). The + ifAdminStatus of the newly created ifEntry is set to 'up' + and ifOperStatus is set to 'down'. In addition, an + associated voiceEncap/voiceOverIp Peer configuration + entry is created after the successful ifEntry creation. + Then ifIndex of the newly created ifEntry must be used by + the network manager to create a peer configuration entry + of IETF Dial Control MIB (Refer to RFC 2128 section + 2.2.3.1 and the description of dialCtlPeerCfgEntry for the + detailed information). + In summary, the voice dial peer creation steps are as + follows: + [1] create this entry (voice/data generic peer entry). + [2] read the cvPeerCfgIfIndex of this entry for the + ifIndex of newly created voice/data generic peer. + [3] create the dialCtlPeerCfgEntry of RFC 2128 with the + indices of dialCtlPeerCfgId and the ifIndex of newly + created voice generic peer. + + For each VoIP peer, it uses IP address and UDP port with + RTP protocol to transfer voice packet. Therefore, it does + not have its lower layer interface. The + dialCtlPeerCfgIfType object of IETF Dial Control MIB must + set to 'other' and the dialCtlPeerCfgLowerIf must set to + '0'. + + After the successful creation of peer configuration entry + of IETF Dial Control MIB, the dial plan software in + managed device will set the ifOperStatus of the newly + created voiceEncap/voiceOverIp ifEntry to 'up' for + enabling the peer function if the peer configuration is + completed. + When this entry is deleted, its associated ifEntry, + voiceEncap/voiceOverIp specific peer entry and the peer + entry of IETF Dial Control MIB are deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1"; + + leaf cvPeerCfgIndex { + type int32 { + range "1..2147483647"; + } + description + "An arbitrary index that uniquely identifies a generic + voice peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1.1"; + } + + leaf cvPeerCfgIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The ifIndex of the peer associated ifEntry. The ifIndex + appears after the associated ifEntry is created + successfully. + This ifIndex will be used to access the objects in the + Voice over Telephony or Voice over IP peer specific table. + In addition, the ifIndex is also used to access the + associated peer configuration entry of the IETF Dial + Control MIB. If the peer associated ifEntry had not been + created, then this object has a value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1.2"; + } + + leaf cvPeerCfgType { + type enumeration { + enum "voice" { + value "1"; + } + enum "voip" { + value "2"; + } + enum "mmail" { + value "3"; + } + enum "voatm" { + value "4"; + } + enum "vofr" { + value "5"; + } + } + description + "Specifies the type of voice related encapsulation. + voice - voice encapsulation (voiceEncap ifType) on the + telephony network. + voip - VoIP encapsulation (voiceOverIp ifType) on the IP + network. + mmail - Media Mail over IP encapsulation (mediaMailOverIp + ifType) on the IP network. + voatm - VoATM encapsulation (voiceOverATM ifType) on the + ATM network. + vofr - VoFR encapsulation (voiceOverFR ifType) on the + Frame Relay network."; + smiv2:defval "voice"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1.3"; + } + + leaf cvPeerCfgRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create a new row or modify or + delete an existing row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1.4"; + } + + leaf cvPeerCfgPeerType { + type enumeration { + enum "voice" { + value "1"; + } + enum "data" { + value "2"; + } + } + description + "Specifies the type of a peer. + voice - peer in voice type to be defined in a voice + gateway for voice calls. + data - peer in data type to be defined in gateway + that supports universal ports for modem/data + calls and integrated ports for data calls."; + smiv2:defval "voice"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.1.1.5"; + } + } + } + + container cvVoicePeerCfgTable { + description + "The table contains the Voice over Telephony peer specific + information that is required to accept voice calls or to + which it will place them or perform various loopback tests + via interface."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2"; + + list cvVoicePeerCfgEntry { + key "ifIndex"; + description + "A single Voice specific Peer. One entry per voice + encapsulation. + The entry is created when its associated 'voiceEncap(103)' + encapsulation ifEntry is created. + This entry is deleted when its associated ifEntry is + deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cvVoicePeerCfgSessionTarget { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "The object specifies the session target of the peer. + Session Targets definitions: + The session target has the syntax used by the IETF service + location protocol. The syntax is as follows: + + mapping-type:type-specific-syntax + + the mapping-type specifies a scheme for mapping the + matching dial string to a session target. + + The valid Mapping type definitions for the peer are as + follows: + loopback - Syntax: loopback:where + 'where' string is defined as follows: + compressed - loopback is performed on compressed voice + as close to the CODEC which processes the + data as possible. + uncompressed - loopback is performed on the PCM or + analog voice as close to the telephony + endpoint as possible. + + Local loopback case: + uncompressed - the PCM voice coming into the DSP is simply + turned around and sent back out, allowing testing of + the transmit--> receive paths in the telephony + endpoint. + compressed - the compressed voice coming out of the CODEC is + turned around on the DSP module and fed back into the + decompressor through the jitter buffer. In addition to + the telephony endpoint, this tests both the encode and + decode paths without involving data paths or packet + handling on the host router. + + Remote loopback case: + compressed - RTP packets received from the network are + decapsulated and passed to the DSP board. Instead of + feeding these into the CODEC for decompression, they + are immediately sent back to the session application + as if they had originated locally and been compressed. + uncompressed - In addition to the above, the voice samples + are sent all the way through the CODEC and then turned + around instead of being sent to the telephony + endpoint"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.1"; + } + + leaf cvVoicePeerCfgDialDigitsPrefix { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The object specifies the prefix of the dial digits for the + peer. The dial digits prefix is sent to telephony + interface before the real phone number when the system + places the outgoing call to the voice encapsulation peer + over telephony interface."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.2"; + } + + leaf cvVoicePeerCfgDIDCallEnable { + type boolean; + description + "The object enables/disables the DID call treatment for + incoming DNIS digits. + true - treat the incoming DNIS digits as if the digits + are received from DID trunk. + false - Disable DID call treatment for incoming DNIS + digits."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.3"; + } + + leaf cvVoicePeerCfgCasGroup { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCasGroup; + description + "The object specifies the CAS group number of a CAS + capable T1/E1 that is in the dialCtlPeerCfgLowerIf object + of RFC2128. + This object can be set to a valid CAS group number only if + the dialCtlPeerCfgLowerIf contains a valid ifIndex for a + CAS capable T1/E1. The object must set to -1 before the + value of the dialCtlPeerCfgLowerIf object of RFC2128 can + be changed."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.4"; + } + + leaf cvVoicePeerCfgRegisterE164 { + type boolean; + description + "This object specifies that the E.164 number specified in + the dialCtlPeerCfgOriginateAddress field of the associated + dialCtlPeerCfgTable entry be registered as an extension + phone number of this gateway for H323 gatekeeper and/or + SIP registrar."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.5"; + } + + leaf cvVoicePeerCfgForwardDigits { + type int32 { + range "-3..32"; + } + description + "This object specifies the number of dialed digits to + forward to the remote destination in the setup message. + The object can take the value: + 0-32 number of right justified digits to forward + -1 default + -2 forward extra digits i.e those over and above + those needed to match to the destination pattern + -3 forward all digits"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.6"; + } + + leaf cvVoicePeerCfgEchoCancellerTest { + type enumeration { + enum "echoCancellerTestNone" { + value "1"; + } + enum "echoCancellerG168Test2A" { + value "2"; + } + enum "echoCancellerG168Test2B" { + value "3"; + } + enum "echoCancellerG168Test2Ca" { + value "4"; + } + enum "echoCancellerG168Test2Cb" { + value "5"; + } + enum "echoCancellerG168Test3A" { + value "6"; + } + enum "echoCancellerG168Test3B" { + value "7"; + } + enum "echoCancellerG168Test3C" { + value "8"; + } + enum "echoCancellerG168Test4" { + value "9"; + } + enum "echoCancellerG168Test6" { + value "10"; + } + enum "echoCancellerG168Test9" { + value "11"; + } + enum "echoCancellerG168Test5" { + value "12"; + } + enum "echoCancellerG168Test7" { + value "13"; + } + } + description + "This object specifies which, if any, test to run in the + echo canceller when a call from the network is connected. + echoCancellerTestNone - do not run a test. + echoCancellerG168Test2A - run ITU-T G.168 Test 2A. + echoCancellerG168Test2B - run ITU-T G.168 Test 2B. + echoCancellerG168Test2Ca - run ITU-T G.168 Test 2C(a). + echoCancellerG168Test2Cb - run ITU-T G.168 Test 2C(b). + echoCancellerG168Test3A - run ITU-T G.168 Test 3A. + echoCancellerG168Test3B - run ITU-T G.168 Test 3B. + echoCancellerG168Test3C - run ITU-T G.168 Test 3C. + echoCancellerG168Test4 - run ITU-T G.168 Test 4. + echoCancellerG168Test5 - run ITU-T G.168 Test 5. + echoCancellerG168Test6 - run ITU-T G.168 Test 6. + echoCancellerG168Test7 - run ITU-T G.168 Test 7. + echoCancellerG168Test9 - run ITU-T G.168 Test 9."; + reference + "ITU-T G.168(04/2000): Section 6.4 Tests and requirements + for performance with input signals applied to the send and + receive paths."; + smiv2:defval "echoCancellerTestNone"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.2.1.7"; + } + } + } + + container cvVoIPPeerCfgTable { + description + "The table contains the Voice over IP (VoIP) peer specific + information that is required to accept voice calls or to + which it will place them via IP backbone with the + specified session protocol in cvVoIPPeerCfgSessionProtocol."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3"; + + list cvVoIPPeerCfgEntry { + key "ifIndex"; + description + "A single VoIP specific Peer. One entry per VoIP + encapsulation. + The entry is created when its associated 'voiceOverIp(104)' + encapsulation ifEntry is created. + This entry is deleted when its associated ifEntry is + deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cvVoIPPeerCfgSessionProtocol { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvSessionProtocol; + description + "The object specifies the session protocol to be used + for Internet call between local and remote router via + IP backbone."; + smiv2:defval "cisco"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.1"; + } + + leaf cvVoIPPeerCfgDesiredQoS { + type int-serv:QosService; + description + "The object specifies the user requested Quality of Service + for the call."; + smiv2:defval "bestEffort"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.2"; + } + + leaf cvVoIPPeerCfgMinAcceptableQoS { + type int-serv:QosService; + description + "The object specifies the minimally acceptable Quality of + Service for the call."; + smiv2:defval "bestEffort"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.3"; + } + + leaf cvVoIPPeerCfgSessionTarget { + type snmpv2-tc:DisplayString; + description + "The object specifies the session target of the peer. + Session Targets definitions: + The session target has the syntax used by the IETF service + location protocol. The syntax is as follows: + + mapping-type:type-specific-syntax + + the mapping-type specifies a scheme for mapping the + matching dial string to a session target. The + type-specific-syntax is exactly that, something that the + particular mapping scheme can understand. + For example, + Session target Meaning + ipv4:171.68.13.55:1006 The session target is the IP + version 4 address of 171.68.13.55 + and port 1006. + dns:pots.cisco.com:1661 The session target is the IP host + with dns name pots.cisco.com, and + port 1661. + ras The session target is the + gatekeeper with RAS (Registration + , Admission, Status protocol). + settlement The session target is the + settlement server. + enum:1 The session target is the enum + profile match table 1. + + The valid Mapping type definitions for the peer are as + follows: + ipv4 - Syntax: ipv4:w.x.y.z:port or ipv4:w.x.y.z + dns - Syntax: dns:host.domain:port or + dns:host.domain + ras - Syntax: ras + settlement - Syntax: settlement + enum - Syntax: enum: + + loopback - Syntax: loopback:where + 'where' string is defined as follows: + rtp - loopback is performed at the transport protocol + level. + + Local loopback case: + rtp - the session application sets up an RTP stream to + itself (i.e. actually allocates a port pair and opens + the appropriate UDP sockets). It then does the full + RTP encapsulation, sends the packets to the loopback + IP address, receives the RTP packets, and hands the + compressed voice back to the CODEC. This tests the + entire local processing path, both transmit and + receive, in the router, as well as all of the above + paths. + + Remote loopback case: + rtp: RTP packets received from the network are decapsulated and + immediately re-encapsulated in the outbound RTP + stream, using the same media clock (i.e. timestamp) + as the received packet. They are then sent back to + the remote source router as if the voice had + originated on a telephony port on the local router."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.4"; + } + + leaf cvVoIPPeerCfgCoderRate { + type cisco-voice:CvcSpeechCoderRate; + description + "This object specifies the most desirable codec of speech + for the VoIP peer."; + smiv2:defval "g729IETFr8000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.5"; + } + + leaf cvVoIPPeerCfgFaxRate { + type cisco-voice:CvcFaxTransmitRate; + description + "This object specifies the default transmit rate of FAX + the VoIP peer. If the value of this object is 'none', + then the Fax relay feature is disabled; otherwise the Fax + relay feature is enabled."; + smiv2:defval "voiceRate"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.6"; + } + + leaf cvVoIPPeerCfgVADEnable { + type boolean; + description + "This object specifies whether or not the VAD (Voice + Activity Detection) voice data is continuously transmitted + to IP backbone."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.7"; + } + + leaf cvVoIPPeerCfgExpectFactor { + type int32 { + range "0..20"; + } + units "equipment impairment factor (eif)"; + description + "This object specifies the user requested Expectation + Factor of voice quality for the call via this peer."; + reference + "ITU G.113: Sections 8 Considerations Concerning the + Expectation Factor A."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.8"; + } + + leaf cvVoIPPeerCfgIcpif { + type int32 { + range "0..55"; + } + units "equipment impairment factor (eif)"; + description + "This object specifies the user requested Calculated + Planning Impairment Factor (Icpif) for the call via this + peer."; + reference + "ITU G.113: Sections 9 Considerations associated with the + Calculated Planning Impairment Factor (Icpif)"; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.9"; + } + + leaf cvVoIPPeerCfgPoorQoVNotificationEnable { + type boolean; + description + "This object specifies whether cvdcPoorQoVNotification (or + the newer cvdcPoorQoVNotificationRev1) traps should be + generated for the call that is associated with this + peer."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.10"; + } + + leaf cvVoIPPeerCfgUDPChecksumEnable { + type boolean; + description + "This object specifies whether the outgoing voice related + UDP packet contains a valid checksum value. + true - enable the checksum of outgoing voice UDP packets + false - disable the checksum of outgoing voice UDP packets"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.11"; + } + + leaf cvVoIPPeerCfgIPPrecedence { + type int32 { + range "0..7"; + } + description + "This object specifies the value to be stored in the IP + Precedence field of voice packets, with values ranging + from 0 (normal precedence) through 7 (network control), + allowing the managed system to set the importance of each + voice packet for delivering them to the destination peer."; + reference + "RFC 791: Section 3.1. Internet Header Format; Type of + Service."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.12"; + } + + leaf cvVoIPPeerCfgTechPrefix { + type snmpv2-tc:DisplayString { + length "0..128"; + } + description + "This object specifies the technology prefix of the peer, + The technology prefix and the called party address + are passed in Admission Request (ARQ) to gatekeeper + for the called party address resolution during call setup."; + reference + "ITU-T H.225.0: Section 7.6 Common Message Elements."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.13"; + } + + leaf cvVoIPPeerCfgDigitRelay { + type bits { + bit rtpCisco { + position "0"; + } + bit h245Signal { + position "1"; + } + bit h245Alphanumeric { + position "2"; + } + bit rtpNte { + position "3"; + } + bit sipNotify { + position "4"; + } + bit sipKpml { + position "5"; + } + } + description + "This object specifies the methods to transmit dial digits + (DTMF or MF digits) via IP network. + rtpCisco - Enable capability to transmit dial digits + with Cisco proprietary RTP payload type. + h245Signal - Enable capability to transmit dtmf digits + across the H.245 channel, via the signal + field of the UserInputIndication message + h245Alphanumeric - Enable capability to transmit dtmf + digit across the H.245 channel, via the + string or alphanumeric fields of the + UserInputIndication message + rtpNte - Enable capability to transmit dial digits + using Named Telephony Event per RFC 2833 + section 3. + sipNotify - Enable capability to transmit dtmf + digits using unsolicited SIP NOTIFY + messages. This mechanism is only available + for SIP dialpeers. + sipKpml - Enable capability to transmit dtmf + digits using KPML over SIP SUBSCRIBE + and NOTIFY messages. This mechanism is + only available for SIP dialpeers. + + + Modifying the value of cvVoIPPeerCfgSessionProtocol + can reset the digit-relay method associated bits value in + this object if the modified session protocol does not + support these digit-relay methods."; + reference + "[1] ITU H.245: Section 6. + [2] RFC 2833 : Section 3."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.14"; + } + + leaf cvVoIPPeerCfgCoderBytes { + type int32 { + range "0|10..240"; + } + units "bytes"; + description + "This object specifies the size of the voice payload sample + to be produced by the coder specified in + cvVoIPPeerCfgCoderRate. + Each coder sample produces 10 bytes of voice payload. The + specified value will be rounded down to the nearest valid + size. + + A value of 0, specifies that the coder defined by + cvVoIPPeerCfgCoderRate should produce its default payload + size."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.15"; + } + + leaf cvVoIPPeerCfgFaxBytes { + type int32 { + range "0|10..255"; + } + units "bytes"; + description + "This object specifies the payload size to be produced by + the coder when it is generating fax data. A value of 0, + specifies that the coder specified in + cvVoIPCfgPeerCoderRate should produce its default fax + payload size."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.16"; + } + + leaf cvVoIPPeerCfgInBandSignaling { + type cisco-voice:CvcInBandSignaling; + description + "This object specifies the type of in-band signaling that + will be used between the end points of the call. It is + used by the router to determine how to interpret ABCD + signaling bits sent as part of voice payload data."; + smiv2:defval "cas"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.17"; + } + + leaf cvVoIPPeerCfgMediaSetting { + type enumeration { + enum "flowThrough" { + value "1"; + } + enum "flowAround" { + value "2"; + } + } + description + "This object specifies how the media is to be setup on + an IP-IP Gateway. Two choices are valid: flow-through + and flow-around. When in flow-through mode, which is the + default setting, the IP-IP Gateway will terminate and + then re-originate the media stream. When flow-around + is configured the Gateway will not be involved with the + media, since it will flow-around the Gateway and will + be established directly between the endpoints."; + smiv2:defval "flowThrough"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.23"; + } + + leaf cvVoIPPeerCfgDesiredQoSVideo { + type int-serv:QosService; + description + "The object specifies the user requested Quality of Service + for the video portion of the call."; + smiv2:defval "bestEffort"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.24"; + } + + leaf cvVoIPPeerCfgMinAcceptableQoSVideo { + type int-serv:QosService; + description + "The object specifies the minimally acceptable Quality of + Service for the video portion of the call."; + smiv2:defval "bestEffort"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.25"; + } + + leaf cvVoIPPeerCfgRedirectip2ip { + type boolean; + description + "This object specifies the Inbound VoIP calls that match + an outbound VoIP dialpeer will be responded with a SIP + redirect(for inbound SIP) or H.450.3 call-forward(for + inbound H.323)."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.26"; + } + + leaf cvVoIPPeerCfgOctetAligned { + type boolean; + description + "If the object has a value true(1) octet align operation + is used, and if the value is false(2), bandwidth efficient + operation is used. This object is not instantiated when + the object cvVoIPPeerCfgCoderRate is not equal to + gsmAmrNb enum."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.27"; + } + + leaf cvVoIPPeerCfgBitRates { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvAmrNbBitRateMode; + description + "This object indicates modes of Bit rates. One or more + upto four modes can be configured at the same time as + bit rates can be changed dynamically for AMR-NB codec. + This object is not instantiated when the object + cvVoIPPeerCfgCoderRate is not equal to gsmAmrNb enum."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.28"; + } + + leaf cvVoIPPeerCfgCRC { + type boolean; + description + "If the object has a value of true(1), frame CRC will be + included in the payload and if the value is false(2), + frame CRC will not be included in the payload. + This object is applicable only when RTP frame type + is octet aligned. This object is not instantiated when + the object cvVoIPPeerCfgCoderRate is not equal to + gsmAmrNb enum."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.29"; + } + + leaf cvVoIPPeerCfgCoderMode { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvIlbcFrameMode; + description + "This object indicates the iLBC codec mode to be used. + The value of this object is valid only if + cvVoIPPeerCfgCoderRate is equal to 'iLBC'."; + reference + "RFC 3952: Section 4.2 - MIME Registration of iLBC"; + smiv2:defval "frameMode20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.30"; + } + + leaf cvVoIPPeerCfgCodingMode { + type enumeration { + enum "adaptive" { + value "1"; + } + enum "independent" { + value "2"; + } + } + description + "This object specifies the coding mode to be used. The object is + instantiated only if cvVoIPPeerCfgCoderRate is 'iSAC'. Following + coding modes are supported: + adaptive (1) - adaptive mode where iSAC performs bandwidth + estimation and adapts to the available channel + + bandwidth. + independent (2) - independent mode in which no bandwidth + estimation + is performed."; + smiv2:defval "independent"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.31"; + } + + leaf cvVoIPPeerCfgBitRate { + type uint32 { + range "10000..32000"; + } + description + "This object specifies the target bit rate. The object is + instantiated only if cvVoIPPeerCfgCoderRate is 'iSAC'."; + smiv2:defval "32000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.32"; + } + + leaf cvVoIPPeerCfgFrameSize { + type enumeration { + enum "frameSize30" { + value "1"; + } + enum "frameSize60" { + value "2"; + } + enum "frameSize30fixed" { + value "3"; + } + enum "frameSize60fixed" { + value "4"; + } + } + description + "This object specifies the frame size used. The object is + instantiated only if cvVoIPPeerCfgCoderRate is 'iSAC'. + The frame size can be 30 ms or 60 ms, and it can be fixed for + all packets or vary depending on the configuration and bandwidth + estimation. Thus it can have the following values: + frameSize30 - initial frame size of 30 ms + frameSize60 - initial frame size of 60 ms + frameSize30fixed - fixed frame size 30 ms + frameSize60fixed - fixed frame size 60 ms"; + smiv2:defval "frameSize30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.33"; + } + + leaf cvVoIPPeerCfgDSCPPolicyNotificationEnable { + type boolean; + description + "This object specifies whether cvdcPolicyViolationNotification + traps should be generated for the call that is associated with + this peer for RPH to DSCP mapping and policing feature."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.34"; + } + + leaf cvVoIPPeerCfgMediaPolicyNotificationEnable { + type boolean; + description + "This object specifies whether cvdcPolicyViolationNotification + traps should be generated for the call that is associated with + this peer for Media policing feature.."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.3.1.35"; + } + } + } + + container cvPeerCommonCfgTable { + description + "The table contains the Voice specific peer common + configuration information that is required to accept voice + calls or to which it will place them or process the + incoming calls."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4"; + + list cvPeerCommonCfgEntry { + key "ifIndex"; + description + "A single Voice specific Peer. One entry per voice related + encapsulation. + The entry is created when a voice related encapsulation + ifEntry is created. + This entry is deleted when its associated ifEntry is + deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cvPeerCommonCfgIncomingDnisDigits { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The object specifies the prefix of the incoming Dialed + Number Identification Service (DNIS) digits for the peer. + The DNIS digits prefix is used to match with the incoming + DNIS number for incoming call discrimination. If the + digits in this object are matched with incoming DNIS + number, the associated dialCtlPeerCfgInfoType in RFC 2128 + will be used as a call discriminator for differentiating + speech, data, fax, video or modem calls."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.1"; + } + + leaf cvPeerCommonCfgMaxConnections { + type int32 { + range "-1|1..2147483647"; + } + units "connections"; + description + "The object specifies the maximum allowed connection + to/from the peer. A value of -1 disables the limit of + maximum connections."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.2"; + } + + leaf cvPeerCommonCfgApplicationName { + type snmpv2-tc:DisplayString; + description + "The object specifies the application to handle the incoming + call after the peer is selected. + If no application name is specified, then the default + session application will take care of the incoming call."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.3"; + } + + leaf cvPeerCommonCfgPreference { + type int32 { + range "0..10"; + } + description + "This object specifies the selection preference of a peer + when multiple peers are matched to the selection criteria. + The value of 0 has the lowest preference for peer + selection."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.4"; + } + + leaf cvPeerCommonCfgHuntStop { + type boolean; + description + "This object specifies whether dialpeer hunting should stop + when this peer is reached."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.5"; + } + + leaf cvPeerCommonCfgDnisMappingName { + type cisco-voice-dnis:DnisMapname; + description + "The object specifies a Dialer Number Identification + Service (DNIS) map name for the Voice specific peer + entry specified in this row. A DNIS is a called party + number and they can be grouped and identified by DNIS + map."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.6"; + } + + leaf cvPeerCommonCfgSourceCarrierId { + type snmp-framework:SnmpAdminString; + description + "The object specifies the Source Carrier Id for the peer. + The Source Carrier Id is used to match with the Source + Carrier Id of a call. If the Source Carrier Id in this + object is matched with the Source Carrier Id of a call, + then the associated peer will be used to handle the call. + Only alphanumeric characters, '-' and '_' are allowed in + the string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.7"; + } + + leaf cvPeerCommonCfgTargetCarrierId { + type snmp-framework:SnmpAdminString; + description + "The object specifies the Target Carrier Id for the peer. + The Target Carrier Id is used to match with the Target + Carrier Id of a call. If the Target Carrier Id in this + object is matched with the Target Carrier Id of a call, + then the associated peer will be used to handle the call. + Only alphanumeric characters, '-' and '_' are allowed in + the string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.8"; + } + + leaf cvPeerCommonCfgSourceTrunkGrpLabel { + type snmp-framework:SnmpAdminString; + description + "The object specifies the Source Trunk Group Label for the + peer. The Source Trunk Group Label is used to match with + the Source Trunk Group Label of a call. If the Source + Trunk Group Label in this object is matched with the + Source Trunk Group Label of a call, then the associated + peer will be used to handle the call. + Only alphanumeric characters, '-' and '_' are allowed in + the string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.9"; + } + + leaf cvPeerCommonCfgTargetTrunkGrpLabel { + type snmp-framework:SnmpAdminString; + description + "The object specifies the Target Trunk Group Label for the + peer. The Target Trunk Group Label is used to match with + the Target Trunk Group Label of a call. If the Target + Trunk Group Label in this object is matched with the + Target Trunk Group Label of a call, then the associated + peer will be used to handle the call. + Only alphanumeric characters, '-' and '_' are allowed in + the string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2.4.1.10"; + } + } + } + + container cvCallActiveTable { + description + "This table is the voice extension to the call active table + of IETF Dial Control MIB. It contains voice encapsulation + call leg information that is derived from the statistics + of lower layer telephony interface."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1"; + + list cvCallActiveEntry { + key "callActiveSetupTime callActiveIndex"; + description + "The information regarding a single voice encapsulation + call leg. + The call leg entry is identified by using the same index + objects that are used by Call Active table of IETF Dial + Control MIB to identify the call. + An entry of this table is created when its associated call + active entry in the IETF Dial Control MIB is created and + call active entry contains the call establishment to a + voice over telephony network peer. + The entry is deleted when its associated call active entry + in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1"; + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf cvCallActiveConnectionId { + type cisco-voice:CvcGUid; + description + "The global connection identifier for the + active telephony leg of the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.1"; + } + + leaf cvCallActiveTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of Transmit path open from this peer to the + voice gateway for the call leg. This counter object will + lock at the maximum value which is approximately two + days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.2"; + } + + leaf cvCallActiveVoiceTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice transmitted from this peer to voice + gateway for this call leg. The Voice Utilization Rate can + be obtained by dividing this by cvCallActiveTXDuration + object. This counter object will lock at the maximum + value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.3"; + } + + leaf cvCallActiveFaxTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of fax transmitted from this peer to voice gateway + for this call leg. The FAX Utilization Rate can be + obtained by dividing this by cvCallActiveTXDuration + object. This counter object will lock at the maximum + value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.4"; + } + + leaf cvCallActiveCoderTypeRate { + type cisco-voice:CvcCoderTypeRate; + description + "The negotiated coder rate. It specifies the transmit rate of + voice/fax compression to its associated call leg for the + call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.5"; + } + + leaf cvCallActiveNoiseLevel { + type int32 { + range "-128..8"; + } + units "dBm"; + description + "The object contains the active noise level for the call + leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.6"; + } + + leaf cvCallActiveACOMLevel { + type int32 { + range "-1..127"; + } + units "dB"; + description + "The object contains the sum of Echo Return Loss (ERL), + cancellation loss (Echo Return Loss Enhancement) and + nonlinear processing loss for the call leg. + The value -1 indicates the level can not be determined or + level detection is disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.7"; + } + + leaf cvCallActiveOutSignalLevel { + type int32 { + range "-128..8"; + } + units "dBm"; + description + "The object contains the active output signal level to + telephony interface that is used by the call leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.8"; + } + + leaf cvCallActiveInSignalLevel { + type int32 { + range "-128..8"; + } + units "dBm"; + description + "The object contains the active input signal level from + telephony interface that is used by the call leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.9"; + } + + leaf cvCallActiveERLLevel { + type int32 { + range "-1..45"; + } + units "dB"; + status deprecated; + description + "The object contains the current Echo Return Loss (ERL) + level for the call leg. + The value -1 indicates the level can not be determined or + level detection is disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.10"; + } + + leaf cvCallActiveSessionTarget { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "The object specifies the session target of the peer that + is used for the call leg. This object is set with the + information in the call associated + cvVoicePeerCfgSessionTarget object when the call is + connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.11"; + } + + leaf cvCallActiveImgPageCount { + type dial-control:AbsoluteCounter32; + units "pages"; + description + "The number of FAX related image pages are received or + transmitted via the peer for the call leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.12"; + } + + leaf cvCallActiveCallingName { + type snmp-framework:SnmpAdminString; + description + "The calling party name of the call. If the name is + not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.13"; + } + + leaf cvCallActiveCallerIDBlock { + type boolean; + description + "The object indicates whether or not the caller ID feature + is blocked for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.14"; + } + + leaf cvCallActiveEcanReflectorLocation { + type int32 { + range "0..128"; + } + description + "The location in milliseconds of the largest amplitude + reflector detected by the echo canceller for this call. + The value 0 indicates there is no reflector or the + information is not available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.15"; + } + + leaf cvCallActiveAccountCode { + type snmp-framework:SnmpAdminString { + length "0..50"; + } + description + "The object indicates the account code input to the call. + It could be used for call screen or by down stream server + for billing purpose. + The value of empty string indicates no account code input."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.16"; + } + + leaf cvCallActiveERLLevelRev1 { + type int32 { + range "-1..200"; + } + units "dB"; + description + "The object contains the current Echo Return Loss (ERL) + level for the call leg. + The value -1 indicates the level can not be determined or + level detection is disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.17"; + } + + leaf cvCallActiveCallId { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the call identifier + for the active telephony leg of the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.1.1.18"; + } + } + } + + container cvVoIPCallActiveTable { + description + "This table is the VoIP extension to the call active table of + IETF Dial Control MIB. It contains VoIP call leg + information about specific VoIP call destination and the + selected QoS for the call leg."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2"; + + list cvVoIPCallActiveEntry { + key "callActiveSetupTime callActiveIndex"; + description + "The information regarding a single VoIP call leg. + The call leg entry is identified by using the same index + objects that are used by Call Active table of IETF Dial + Control MIB to identify the call. + An entry of this table is created when its associated call + active entry in the IETF Dial Control MIB is created and + the call active entry contains information for the call + establishment to the peer on the IP backbone via a voice + over IP peer. + The entry is deleted when its associated call active entry + in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1"; + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf cvVoIPCallActiveConnectionId { + type cisco-voice:CvcGUid; + description + "The global connection identifier for + the active VoIP leg of the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.1"; + } + + leaf cvVoIPCallActiveRemoteIPAddress { + type inet:ipv4-address; + status deprecated; + description + "Remote system IP address for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.2"; + } + + leaf cvVoIPCallActiveRemoteUDPPort { + type int32 { + range "0..65535"; + } + status deprecated; + description + "Remote system UDP listener port to which to transmit voice + packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.3"; + } + + leaf cvVoIPCallActiveRoundTripDelay { + type yang:gauge32; + units "milliseconds"; + description + "The voice packet round trip delay between local and + the remote system on the IP backbone during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.4"; + } + + leaf cvVoIPCallActiveSelectedQoS { + type int-serv:QosService; + description + "The selected RSVP QoS for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.5"; + } + + leaf cvVoIPCallActiveSessionProtocol { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvSessionProtocol; + description + "The object specifies the session protocol to be used + for Internet call between local and remote router via + IP backbone."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.6"; + } + + leaf cvVoIPCallActiveSessionTarget { + type snmpv2-tc:DisplayString; + description + "The object specifies the session target of the peer that + is used for the call. This object is set with the + information in the call associated + cvVoIPPeerCfgSessionTarget object when the voice over IP + call is connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.7"; + } + + leaf cvVoIPCallActiveOnTimeRvPlayout { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice playout from data received on time for + this call. This plus the durations for the GapFills in the + following entries gives the Total Voice Playout Duration + for Active Voice. + This does not include duration for which no data was sent by the + Transmit end as voice signal, e.g., silence suppression + and fax signal. The On Time Playout Rate can be computed + by dividing this entry by the Total Voice Playout Duration. + This counter object will lock at the maximum value which + is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.8"; + } + + leaf cvVoIPCallActiveGapFillWithSilence { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal replaced with signal played out + during silence due to voice data not received on time + (or lost) from voice gateway this call. This counter + object will lock at the maximum value which is + approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.9"; + } + + leaf cvVoIPCallActiveGapFillWithPrediction { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from parameters or samples of data preceding in time due + to voice data not received on time (or lost) from voice + gateway for this call. An example of such playout is + frame-erasure or frame-concealment strategies in G.729 and + G.723.1 compression algorithms. This counter object will + lock at the maximum value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.10"; + } + + leaf cvVoIPCallActiveGapFillWithInterpolation { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from parameters or samples of data preceding and following + in time due to voice data not received on time (or lost) + from voice gateway for this call. This counter object + will lock at the maximum value which is approximately two + days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.11"; + } + + leaf cvVoIPCallActiveGapFillWithRedundancy { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from redundancy parameters available due to voice data not + received on time (or lost) from voice gateway for this call. + This counter object will lock at the maximum value which + is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.12"; + } + + leaf cvVoIPCallActiveHiWaterPlayoutDelay { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "The high water mark Voice Playout FIFO Delay during + the voice call. This counter object will lock at the + maximum value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.13"; + } + + leaf cvVoIPCallActiveLoWaterPlayoutDelay { + type yang:gauge32; + units "milliseconds"; + description + "The low water mark Voice Playout FIFO Delay during + the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.14"; + } + + leaf cvVoIPCallActiveReceiveDelay { + type yang:gauge32; + description + "The average Playout FIFO Delay plus the decoder delay + during the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.15"; + } + + leaf cvVoIPCallActiveVADEnable { + type boolean; + status deprecated; + description + "The object indicates whether or not the VAD (Voice Activity + Detection) was enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.16"; + } + + leaf cvVoIPCallActiveCoderTypeRate { + type cisco-voice:CvcCoderTypeRate; + status deprecated; + description + "The negotiated coder rate. It specifies the transmit rate of + voice/fax compression to its associated call leg for the + call. This rate is different from the configuration rate + because of rate negotiation during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.17"; + } + + leaf cvVoIPCallActiveLostPackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of lost voice packets during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.18"; + } + + leaf cvVoIPCallActiveEarlyPackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of received voice packets that + arrived too early to store in jitter buffer + during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.19"; + } + + leaf cvVoIPCallActiveLatePackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of received voice packets that + arrived too late to playout with CODEC (Coder/Decoder) + during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.20"; + } + + leaf cvVoIPCallActiveUsername { + type snmp-framework:SnmpAdminString { + length "0..16"; + } + description + "The textual identifier of the calling party (user) of the + call. If the username is not available, then the value of + this object will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.21"; + } + + leaf cvVoIPCallActiveProtocolCallId { + type binary { + length "0..255"; + } + description + "The protocol-specific call identifier for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.22"; + } + + leaf cvVoIPCallActiveRemSigIPAddrT { + type inet-address:InetAddressType; + description + "This object specifies the type of address contained in + the associated instance of cvVoIPCallActiveRemSigIPAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.23"; + } + + leaf cvVoIPCallActiveRemSigIPAddr { + type inet-address:InetAddress; + description + "Remote signalling IP address for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.24"; + } + + leaf cvVoIPCallActiveRemSigPort { + type int32 { + range "0..65535"; + } + description + "Remote signalling listener port to which to transmit + voice packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.25"; + } + + leaf cvVoIPCallActiveRemMediaIPAddrT { + type inet-address:InetAddressType; + description + "This object specifies the type of address contained in + the associated instance of + cvVoIPCallActiveRemMediaIPAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.26"; + } + + leaf cvVoIPCallActiveRemMediaIPAddr { + type inet-address:InetAddress; + description + "Remote media end point IP address for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.27"; + } + + leaf cvVoIPCallActiveRemMediaPort { + type int32 { + range "0..65535"; + } + description + "Remote media end point listener port to which to transmit + voice packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.28"; + } + + leaf cvVoIPCallActiveSRTPEnable { + type boolean; + description + "The object indicates whether or not the SRTP (Secured RTP) + was enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.29"; + } + + leaf cvVoIPCallActiveOctetAligned { + type boolean; + description + "If the object has a value true(1) octet align operation + is used, and if the value is false(2), bandwidth efficient + operation is used. This object is not instantiated when + the object cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.30"; + } + + leaf cvVoIPCallActiveBitRates { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvAmrNbBitRateMode; + description + "This object indicates modes of Bit rates. + This object is not instantiated when the object + cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.31"; + } + + leaf cvVoIPCallActiveModeChgPeriod { + type int32 { + range "1..100"; + } + units "frame-blocks"; + description + "The object indicates the interval (N frame-blocks) at which + codec mode changes are allowed. This object is not + instantiated when the object cvVoIPCallActiveCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.32"; + } + + leaf cvVoIPCallActiveModeChgNeighbor { + type boolean; + description + "If the object has a value of true(1), mode changes will be + made to only neighboring modes set to + cvVoIPCallActiveBitRates object. If the value is false(2), + mode changes will be allowed to any modes set to + cvVoIPCallActiveBitRates object. This object is not + instantiated when the object cvVoIPCallActiveCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.33"; + } + + leaf cvVoIPCallActiveMaxPtime { + type int32 { + range "20..100"; + } + units "milliseconds"; + description + "The object indicates the maximum amount of media that + can be encapsulated in a payload. Supported value is + 20 msec. This object is not instantiated when the + object cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.34"; + } + + leaf cvVoIPCallActiveCRC { + type boolean; + description + "If the object has a value of true(1), frame CRC will be + included in the payload and if the value is false(2), + frame CRC will not be included in the payload. + This object is applicable only when RTP frame type + is octet aligned. This object is not instantiated when + the object cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.35"; + } + + leaf cvVoIPCallActiveRobustSorting { + type boolean; + description + "If the object has a value of true(1), payload employs + robust sorting and if the value is false(2), payload + does not employ robust sorting. This object is applicable + only when RTP frame type is octet aligned. This object + is not instantiated when the object + cvVoIPCallActiveCoderTypeRate is not equal to gsmAmrNb + enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.36"; + } + + leaf cvVoIPCallActiveEncap { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvAmrNbRtpEncap; + description + "The object indicates the RTP encapsulation type. + Supported RTP encapsulation type is RFC3267. + This object is not instantiated when the object + cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.37"; + } + + leaf cvVoIPCallActiveInterleaving { + type int32 { + range "1..50"; + } + units "frame-blocks"; + description + "The object indicates the maximum number of frame-blocks + allowed in an interleaving group. It indicates that + frame-block level interleaving will be used for that + session. If this object is not set, interleaving + is not used. This object is applicable only when + RTP frame type is octet aligned. This object is not + instantiated when the object cvVoIPCallActiveCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.38"; + } + + leaf cvVoIPCallActivePtime { + type int32 { + range "20..100"; + } + units "milliseconds"; + description + "The object indicates the length of the time in milliseconds + represented by the media of the packet. Supported value is + 20 milliseconds. This object is not instantiated when the + object cvVoIPCallActiveCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.39"; + } + + leaf cvVoIPCallActiveChannels { + type int32 { + range "1..6"; + } + units "channels"; + description + "The object indicates the number of audio channels. + Supported value is 1. This object is not instantiated + when the object cvVoIPCallActiveCoderTypeRate is not equal + to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.40"; + } + + leaf cvVoIPCallActiveCoderMode { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvIlbcFrameMode; + units "milliseconds"; + description + "The object indicates the iLBC codec mode. + The value of this object is valid only if + cvVoIPCallActiveCoderTypeRate is equal to + 'iLBC'."; + reference + "RFC 3952: Section 5, for codec negotiation for iLBC mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.41"; + } + + leaf cvVoIPCallActiveCallId { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the call identifier + for the active VoIP leg of the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.42"; + } + + leaf cvVoIPCallActiveCallReferenceId { + type cisco-voice:CvcCallReferenceIdOrZero; + description + "The call reference ID associates the video call entry and voice + call entry of the same endpoint. An audio-only call may or may + not have a valid call reference ID (i.e. value greater than + zero), but in both cases, there will not be a video call entry + associated with it. + + For a video call, the video-specific information is stored in a + call entry in cVideoSessionActive of CISCO-VIDEO-SESSION-MIB, in + which the call reference ID is also identified."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.43"; + } + + leaf ccVoIPCallActivePolicyName { + type snmpv2-tc:DisplayString; + description + "This object holds the policy name. It could be media + policy, DSCP policy etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.44"; + } + + leaf cvVoIPCallActiveReversedDirectionPeerAddress { + type snmpv2-tc:DisplayString; + description + "This object store the reversed direction peer address If the + address is not available, then it will have a length of zero. + + If the call is ingress then it contains called number and if the + call is egress then it contains calling number."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.45"; + } + + leaf cvVoIPCallActiveSessionId { + type uint32; + description + "This object indicates the active session ID assigned by the + call manager to identify call legs that belong to the same call + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.2.1.46"; + } + } + } + + container cvCallVolConnTable { + description + "This table represents the number of active + call connections for each call connection type + in the voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.1"; + + list cvCallVolConnEntry { + key "cvCallVolConnIndex"; + description + "An entry in the cvCallVolConnTable indicates + number of active calls for a call connection type + in the voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.1.1"; + + leaf cvCallVolConnIndex { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallConnectionType; + description + "This object represents index to the + cvCallVolConnTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.1.1.1"; + } + + leaf cvCallVolConnActiveConnection { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + active calls for a connection type + in the voice gateway."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.1.1.2"; + } + } + } + + container cvCallVolIfTable { + description + "This table represents the information about + the usage of an IP interface in a voice + gateway for voice media calls. This table + has a sparse-dependent relationship with + ifTable. There exists an entry in this table, + for each of the entries in ifTable where ifType + is one of 'ethernetCsmacd' and 'softwareLoopback'."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.5"; + + list cvCallVolIfEntry { + key "ifIndex"; + description + "Each entry represents a row in cvCallVolIfTable + and corresponds to the information about an IP + interface in the voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.5.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf cvCallVolMediaIncomingCalls { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + inbound active media calls through this IP + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.5.1.1"; + } + + leaf cvCallVolMediaOutgoingCalls { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + outbound active media calls through the IP + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.5.1.2"; + } + } + } + + container cvCallHistoryTable { + description + "This table is the voice extension to the call history table + of IETF Dial Control MIB. It contains voice encapsulation + call leg information such as voice packet statistics, + coder usage and end to end bandwidth of the call leg."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1"; + + list cvCallHistoryEntry { + key "cCallHistoryIndex"; + description + "The information regarding a single voice encapsulation + call leg. + The call leg entry is identified by using the same index + objects that are used by Call Active table of IETF Dial + Control MIB to identify the call. + An entry of this table is created when its associated call + history entry in the IETF Dial Control MIB is created and + the call history entry contains the call establishment to + a voice encapsulation peer. + The entry is deleted when its associated call active entry + in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1"; + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvCallHistoryConnectionId { + type cisco-voice:CvcGUid; + description + "The global connection identifier for the + telephony leg, which was assigned to the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.1"; + } + + leaf cvCallHistoryTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of Transmit path open from this peer to the + voice gateway for the call leg. This counter object will + lock at the maximum value which is approximately two + days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.2"; + } + + leaf cvCallHistoryVoiceTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration for this call leg. The Voice Utilization Rate + can be obtained by dividing this by + cvCallHistoryTXDuration object. This counter object will + lock at the maximum value which is approximately two + days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.3"; + } + + leaf cvCallHistoryFaxTxDuration { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of fax transmitted from this peer to voice + gateway for this call leg. The FAX Utilization Rate can be + obtained by dividing this by cvCallHistoryTXDuration + object. This counter object will lock at the maximum + value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.4"; + } + + leaf cvCallHistoryCoderTypeRate { + type cisco-voice:CvcCoderTypeRate; + description + "The negotiated coder rate. It specifies the transmit rate + of voice/fax compression to its associated call leg for + the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.5"; + } + + leaf cvCallHistoryNoiseLevel { + type int32 { + range "-128..8"; + } + units "dBm"; + description + "The object contains the average noise level for the call + leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.6"; + } + + leaf cvCallHistoryACOMLevel { + type int32 { + range "-1..127"; + } + units "dB"; + description + "The object contains the average ACOM level for the call + leg. The value -1 indicates the level can not be + determined or level detection is disabled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.7"; + } + + leaf cvCallHistorySessionTarget { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "The object specifies the session target of the peer that + is used for the call leg via telephony interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.8"; + } + + leaf cvCallHistoryImgPageCount { + type dial-control:AbsoluteCounter32; + units "pages"; + description + "The number of FAX related image pages are received or + transmitted via the peer for the call leg."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.9"; + } + + leaf cvCallHistoryCallingName { + type snmp-framework:SnmpAdminString; + description + "The calling party name of the call. If the name is + not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.10"; + } + + leaf cvCallHistoryCallerIDBlock { + type boolean; + description + "The object indicates whether or not the caller ID feature + is blocked for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.11"; + } + + leaf cvCallHistoryAccountCode { + type snmp-framework:SnmpAdminString { + length "0..50"; + } + description + "The object indicates the account code input to the call. + It could be used by down stream billing server. + The value of empty string indicates no account code input."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.12"; + } + + leaf cvCallHistoryCallId { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the call identifier for the + telephony leg, which was assigned to the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.1.1.13"; + } + } + } + + container cvVoIPCallHistoryTable { + description + "This table is the VoIP extension to the call history table + of IETF Dial Control MIB. It contains VoIP call leg + information about specific VoIP call destination and the + selected QoS for the call leg."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2"; + + list cvVoIPCallHistoryEntry { + key "cCallHistoryIndex"; + description + "The information regarding a single VoIP call leg. + The call leg entry is identified by using the same index + objects that are used by Call Active table of IETF Dial + Control MIB to identify the call. + An entry of this table is created when its associated call + history entry in the IETF Dial Control MIB is created and + the call history entry contains information for the call + establishment to the peer on the IP backbone via a voice + over IP peer. + The entry is deleted when its associated call history + entry in the IETF Dial Control MIB is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1"; + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryConnectionId { + type cisco-voice:CvcGUid; + description + "The global connection identifier for the + VoIP leg, which was assigned to the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.1"; + } + + leaf cvVoIPCallHistoryRemoteIPAddress { + type inet:ipv4-address; + status deprecated; + description + "Remote system IP address for the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.2"; + } + + leaf cvVoIPCallHistoryRemoteUDPPort { + type int32 { + range "0..65535"; + } + status deprecated; + description + "Remote system UDP listener port to which to transmit voice + packets for the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.3"; + } + + leaf cvVoIPCallHistoryRoundTripDelay { + type yang:gauge32; + units "milliseconds"; + description + "The voice packet round trip delay between local and + the remote system on the IP backbone during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.4"; + } + + leaf cvVoIPCallHistorySelectedQoS { + type int-serv:QosService; + description + "The selected RSVP QoS for the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.5"; + } + + leaf cvVoIPCallHistorySessionProtocol { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvSessionProtocol; + description + "The object specifies the session protocol to be used + for Internet call between local and remote router via + IP backbone."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.6"; + } + + leaf cvVoIPCallHistorySessionTarget { + type snmpv2-tc:DisplayString; + description + "The object specifies the session target of the peer that + is used for the Voice over IP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.7"; + } + + leaf cvVoIPCallHistoryOnTimeRvPlayout { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice playout from data received on time for + this call. This plus the durations for the GapFills in the + following entries gives the Total Voice Playout Duration + for Active Voice. + This does not include duration for which no data was sent by the + Transmit end as voice signal, e.g., silence suppression + and fax signal. The On Time Playout Rate can be computed + by dividing this entry by the Total Voice Playout Duration. + This counter object will lock at the maximum value which + is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.8"; + } + + leaf cvVoIPCallHistoryGapFillWithSilence { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal replaced with signal played out + during silence due to voice data not received on time + (or lost) from voice gateway this call. This counter + object will lock at the maximum value which is + approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.9"; + } + + leaf cvVoIPCallHistoryGapFillWithPrediction { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from parameters or samples of data preceding in time due to + voice data not received on time (or lost) from voice gateway + for this call. An example of such playout is frame-erasure + or frame-concealment strategies in G.729 and G.723.1 + compression algorithms. This counter object will lock at + the maximum value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.10"; + } + + leaf cvVoIPCallHistoryGapFillWithInterpolation { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from parameters or samples of data preceding and following + in time due to voice data not received on time (or lost) + from voice gateway for this call. This counter object + will lock at the maximum value which is approximately two + days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.11"; + } + + leaf cvVoIPCallHistoryGapFillWithRedundancy { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "Duration of voice signal played out with signal synthesized + from redundancy parameters available due to voice data not + received on time (or lost) from voice gateway for this call. + This counter object will lock at the maximum value which + is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.12"; + } + + leaf cvVoIPCallHistoryHiWaterPlayoutDelay { + type dial-control:AbsoluteCounter32; + units "milliseconds"; + description + "The high water mark Voice Playout FIFO Delay during + the voice call. This counter object will lock at the + maximum value which is approximately two days."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.13"; + } + + leaf cvVoIPCallHistoryLoWaterPlayoutDelay { + type yang:gauge32; + units "milliseconds"; + description + "The low water mark Voice Playout FIFO Delay during + the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.14"; + } + + leaf cvVoIPCallHistoryReceiveDelay { + type yang:gauge32; + description + "The average Playout FIFO Delay plus the decoder delay + during the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.15"; + } + + leaf cvVoIPCallHistoryVADEnable { + type boolean; + status deprecated; + description + "The object indicates whether or not the VAD (Voice Activity + Detection) was enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.16"; + } + + leaf cvVoIPCallHistoryCoderTypeRate { + type cisco-voice:CvcCoderTypeRate; + status deprecated; + description + "The negotiated coder rate. It specifies the transmit rate of + voice/fax compression to its associated call leg for the + call. This rate is different from the configuration rate + because of rate negotiation during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.17"; + } + + leaf cvVoIPCallHistoryIcpif { + type int32 { + range "-1..55"; + } + units "equipment impairment factor (eif)"; + description + "The Calculated Planning Impairment Factor (Icpif) of the + call that is associated to this call leg. + The value in this object is computed by the following + equation. + Icpif of the call = + Itotal (total impairment value) of the call - A + (Expectation Factor) in the cvVoIPPeerCfgExpectFactor of + the call leg associated peer. + A value of -1 implies that Icpif was not calculated and is + meaningless for this call."; + reference + "[1] ITU G.113: Section 7.2 Impairment factors and the total + impairment value. + [2] ITU G.113: Sections 9 Considerations associated with + the Calculated Planning Impairment Factor (Icpif)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.18"; + } + + leaf cvVoIPCallHistoryLostPackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of lost voice packets during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.19"; + } + + leaf cvVoIPCallHistoryEarlyPackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of received voice packets that are + arrived too early to store in jitter buffer + during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.20"; + } + + leaf cvVoIPCallHistoryLatePackets { + type dial-control:AbsoluteCounter32; + units "packets"; + description + "The number of received voice packets that are + arrived too late to playout with CODEC (Coder/Decoder) + during the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.21"; + } + + leaf cvVoIPCallHistoryUsername { + type snmp-framework:SnmpAdminString { + length "0..16"; + } + description + "The textual identifier of the calling party (user) of the + call. If the username is not available, then the value of + this object will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.22"; + } + + leaf cvVoIPCallHistoryProtocolCallId { + type binary { + length "0..255"; + } + description + "The protocol-specific call identifier for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.23"; + } + + leaf cvVoIPCallHistoryRemSigIPAddrT { + type inet-address:InetAddressType; + description + "This object specifies the type of address contained in + the associated instance of cvVoIPCallHistoryRemSigIPAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.24"; + } + + leaf cvVoIPCallHistoryRemSigIPAddr { + type inet-address:InetAddress; + description + "Remote signalling IP address for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.25"; + } + + leaf cvVoIPCallHistoryRemSigPort { + type int32 { + range "0..65535"; + } + description + "Remote signalling listener port to which to transmit + voice packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.26"; + } + + leaf cvVoIPCallHistoryRemMediaIPAddrT { + type inet-address:InetAddressType; + description + "This object specifies the type of address contained in + the associated instance of + cvVoIPCallHistoryRemMediaIPAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.27"; + } + + leaf cvVoIPCallHistoryRemMediaIPAddr { + type inet-address:InetAddress; + description + "Remote media end point IP address for the VoIP call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.28"; + } + + leaf cvVoIPCallHistoryRemMediaPort { + type int32 { + range "0..65535"; + } + description + "Remote media end point listener port to which to transmit + voice packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.29"; + } + + leaf cvVoIPCallHistorySRTPEnable { + type boolean; + description + "The object indicates whether or not the SRTP (Secured RTP) + was enabled for the voice call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.30"; + } + + leaf cvVoIPCallHistoryFallbackIcpif { + type int32; + description + "The Calculated Planning Impairment Factor (Icpif) of the + call that is associated to this call leg. + The value in this object is computed by the following + equation. + Icpif of the fallback probe = + Itotal (total impairment value) - configured fallback + (Expectation Factor). + A value of 0 implies that Icpif was not calculated and is + meaningless for this attempt."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.31"; + } + + leaf cvVoIPCallHistoryFallbackLoss { + type dial-control:AbsoluteCounter32; + description + "FallbackLoss is the percentage of loss packets based on + the total packets sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.32"; + } + + leaf cvVoIPCallHistoryFallbackDelay { + type yang:gauge32; + description + "The FallbackDelay is calculated as follows - + Take the sum of the round trips for all the probes, + divide by the number of probes, + and divide by two to get the one-way delay. + Then add in jitter_in or jiter_out, + which ever is higher."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.33"; + } + + leaf cvVoIPCallHistoryOctetAligned { + type boolean; + description + "If the object has a value true(1) octet align operation + is used, and if the value is false(2), bandwidth efficient + operation is used. This object is not instantiated when + the object cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.34"; + } + + leaf cvVoIPCallHistoryBitRates { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvAmrNbBitRateMode; + description + "This object indicates modes of Bit rates. + This object is not instantiated when the object + cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.35"; + } + + leaf cvVoIPCallHistoryModeChgPeriod { + type int32 { + range "1..100"; + } + units "frame-blocks"; + description + "The object indicates the interval (N frame-blocks) at which + codec mode changes are allowed. This object is not + instantiated when the object cvVoIPCallHistoryCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.36"; + } + + leaf cvVoIPCallHistoryModeChgNeighbor { + type boolean; + description + "If the object has a value of true(1), mode changes will be + made to only neighboring modes set to + cvVoIPCallHistoryBitRates object. If the value is false(2), + mode changes will be allowed to any modes set to + cvVoIPCallHistoryBitRates object. This object is not + instantiated when the object cvVoIPCallHistoryCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.37"; + } + + leaf cvVoIPCallHistoryMaxPtime { + type int32 { + range "20..100"; + } + units "milliseconds"; + description + "The object indicates the maximum amount of media that + can be encapsulated in a payload. Supported value is + 20 msec. This object is not instantiated when the + object cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.38"; + } + + leaf cvVoIPCallHistoryCRC { + type boolean; + description + "If the object has a value of true(1), frame CRC will be + included in the payload and if the value is false(2), + frame CRC will not be included in the payload. + This object is applicable only when RTP frame type + is octet aligned. This object is not instantiated when + the object cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.39"; + } + + leaf cvVoIPCallHistoryRobustSorting { + type boolean; + description + "If the object has a value of true(1), payload employs + robust sorting and if the value is false(2), payload + does not employ robust sorting. This object is applicable + only when RTP frame type is octet aligned. This object + is not instantiated when the object + cvVoIPCallHistoryCoderTypeRate is not equal to gsmAmrNb + enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.40"; + } + + leaf cvVoIPCallHistoryEncap { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvAmrNbRtpEncap; + description + "The object indicates the RTP encapsulation type. + Supported RTP encapsulation type is RFC3267. + This object is not instantiated when the object + cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.41"; + } + + leaf cvVoIPCallHistoryInterleaving { + type int32 { + range "1..50"; + } + units "frame-blocks"; + description + "The object indicates the maximum number of frame-blocks + allowed in an interleaving group. It indicates that + frame-block level interleaving will be used for that + session. If this object is not set, interleaving + is not used. This object is applicable only when + RTP frame type is octet aligned. This object is not + instantiated when the object cvVoIPCallHistoryCoderTypeRate + is not equal to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.42"; + } + + leaf cvVoIPCallHistoryPtime { + type int32 { + range "20..100"; + } + units "milliseconds"; + description + "The object indicates the length of the time in milliseconds + represented by the media of the packet. Supported value is + 20 milliseconds. This object is not instantiated when the + object cvVoIPCallHistoryCoderTypeRate is not equal to + gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.43"; + } + + leaf cvVoIPCallHistoryChannels { + type int32 { + range "1..6"; + } + units "channels"; + description + "The object indicates the number of audio channels. + Supported value is 1. This object is not instantiated + when the object cvVoIPCallHistoryCoderTypeRate is not equal + to gsmAmrNb enum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.44"; + } + + leaf cvVoIPCallHistoryCoderMode { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvIlbcFrameMode; + units "milliseconds"; + description + "The object indicates the iLBC mode. + The value of this object is valid only if + cvVoIPCallHistoryCoderTypeRate is equal to + 'iLBC'."; + reference + "RFC 3952: Section 5, for codec negotiation for iLBC mode."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.45"; + } + + leaf cvVoIPCallHistoryCallId { + type uint32 { + range "1..4294967295"; + } + description + "This object represents the call identifier for the + VoIP leg, which was assigned to the call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.46"; + } + + leaf cvVoIPCallHistoryCallReferenceId { + type cisco-voice:CvcCallReferenceIdOrZero; + description + "The call reference ID associates the video call entry and voice + call entry of the same endpoint. An audio-only call may or may + not have a valid call reference ID (i.e. value greater than + zero), but in both cases, there will not be a video call entry + associated with it. + + For a video call, the video-specific information is stored in a + call entry in cVideoSessionActive of CISCO-VIDEO-SESSION-MIB, in + which the call reference ID is also identified."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.47"; + } + + leaf cvVoIPCallHistorySessionId { + type uint32; + description + "This object indicates the session ID assigned by the call + manager to identify call legs that belong to the same call + session. This session ID (history) represents a completed call + session, whereas the active session ID + (cvVoIPCallActiveSessionId) represents an ongoing session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.2.1.48"; + } + } + } + + container cvCallRateStatsTable { + description + "This table represents voice call rate measurement in various + interval lengths defined by the + CvCallVolumeStatsIntvlType object. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1"; + + list cvCallRateStatsEntry { + key "cvCallRateStatsIntvlDurUnits cvCallRateStatsIntvlDur"; + description + "This is a conceptual-row in cvCallRateStatsTable + This entry is created at the system initialization and is + updated at every epoch based on CvCallVolumeStatsIntvlType"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1.1"; + + leaf cvCallRateStatsIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeStatsIntvlType; + description + "The Object indexes in Call Rate Table to select one among three + interval-tables. + + The different types in this table are represented by + CvCallVolumeStatsIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1.1.1"; + } + + leaf cvCallRateStatsIntvlDur { + type uint32 { + range "1..72"; + } + description + "This is an index that references to the different past periods + in given in interval of call rate table. + This range is 1-60 for Seconds and Minutes table + wherein 1-72 for hours table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1.1.2"; + } + + leaf cvCallRateStatsMaxVal { + type uint32; + units "calls-per-second"; + description + "This object indicates the maximum calls per second + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1.1.3"; + } + + leaf cvCallRateStatsAvgVal { + type uint32; + units "calls-per-second"; + description + "This object indicates the average calls per second + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.1.1.4"; + } + } + } + + container cvCallLegRateStatsTable { + description + "cvCallLegRateStatsTable table represents voice call leg rate + measurement in various interval lengths defined by + the CvCallVolumeStatsIntvlType object. + Each interval may contain one or more entries to allow for + detailed measurement to be collected."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2"; + + list cvCallLegRateStatsEntry { + key "cvCallLegRateStatsIntvlDurUnits cvCallLegRateStatsIntvlDur"; + description + "This is a conceptual-row in cvCallLegRateStatsTable + This entry is created at the system initialization and is + updated at every epoch based on CvCallVolumeStatsIntvlType"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2.1"; + + leaf cvCallLegRateStatsIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeStatsIntvlType; + description + "The Object indexes in Call Leg Rate Table to select one among + three + interval-tables. + + The different types in this table are represented by + CvCallVolumeStatsIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2.1.1"; + } + + leaf cvCallLegRateStatsIntvlDur { + type uint32 { + range "1..72"; + } + description + "This is an index that references to the different past periods + in given in interval of call rate table. + This range is 1-60 for Seconds and Minutes table + wherein 1-72 for hours table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2.1.2"; + } + + leaf cvCallLegRateStatsMaxVal { + type uint32; + units "call-legs per second"; + description + "This object indicates the maximum call-legs per second + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2.1.3"; + } + + leaf cvCallLegRateStatsAvgVal { + type uint32; + units "call-legs per second"; + description + "This object indicates the average call-legs per second + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.2.1.4"; + } + } + } + + container cvActiveCallStatsTable { + description + "This table represents the active voice calls in various + interval lengths defined by the + CvCallVolumeStatsIntvlType object. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3"; + + list cvActiveCallStatsEntry { + key "cvActiveCallStatsIntvlDurUnits cvActiveCallStatsIntvlDur"; + description + "This is a conceptual-row in cvActiveCallStatsTable + This entry is created at the system initialization and is + updated at every epoch based on CvCallVolumeStatsIntvlType"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3.1"; + + leaf cvActiveCallStatsIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeStatsIntvlType; + description + "The Object indexes in Active Call Rate Table (con-current calls + table) to select one among three interval-tables. + + The different types in this table are represented by + CvCallVolumeStatsIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3.1.1"; + } + + leaf cvActiveCallStatsIntvlDur { + type uint32 { + range "1..72"; + } + description + "This is an index that references to the different past periods + in given in interval of active call table. + This range is 1-60 for Seconds and Minutes table + wherein 1-72 for hours table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3.1.2"; + } + + leaf cvActiveCallStatsMaxVal { + type uint32; + units "calls"; + description + "This object indicates the maximum number of active call + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3.1.3"; + } + + leaf cvActiveCallStatsAvgVal { + type uint32; + units "calls"; + description + "This object indicates the average number of active calls + that occured for the given period for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.3.1.4"; + } + } + } + + container cvCallDurationStatsTable { + description + "This table represents the number of calls below a specific + duration in various interval length defined by + the CvCallVolumeStatsIntvlType object. + + The specific duration is configurable value of + cvCallDurationStatsThreshold object. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4"; + + list cvCallDurationStatsEntry { + key "cvCallDurationStatsIntvlDurUnits cvCallDurationStatsIntvlDur"; + description + "This is a conceptual-row in cvCallDurationStatsTable + This entry is created at the system initialization and is + updated at every epoch based on CvCallVolumeStatsIntvlType"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4.1"; + + leaf cvCallDurationStatsIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeStatsIntvlType; + description + "The Object indexes in Call Duration Table to select one among + three interval-tables. + + The different types in this table are represented by + CvCallVolumeStatsIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4.1.1"; + } + + leaf cvCallDurationStatsIntvlDur { + type uint32 { + range "1..72"; + } + description + "This is an index that references to the different past periods + in given in interval of call Duration table. + This range is 1-60 for Seconds and Minutes table + wherein 1-72 for hours table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4.1.2"; + } + + leaf cvCallDurationStatsMaxVal { + type uint32; + units "calls"; + description + "This object indicates the maximum number of calls having a + duration which is below the threshold for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4.1.3"; + } + + leaf cvCallDurationStatsAvgVal { + type uint32; + units "calls"; + description + "This object indicates the average number of calls having a + duration which is below the threshold for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.4.1.4"; + } + } + } + + container cvSipMsgRateStatsTable { + description + "This table represents the SIP message rate measurement in + various interval length defined by the + CvCallVolumeStatsIntvlType object. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5"; + + list cvSipMsgRateStatsEntry { + key "cvSipMsgRateStatsIntvlDurUnits cvSipMsgRateStatsIntvlDur"; + description + "This is a conceptual-row in cvSipMsgRateStatsTable + This entry is created at the system initialization and is + updated at every epoch based on CvCallVolumeStatsIntvlType"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5.1"; + + leaf cvSipMsgRateStatsIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeStatsIntvlType; + description + "The Object indexes in SIP Message Rate Table to select one + among three interval-tables. + + The different types in this table are represented by + CvCallVolumeStatsIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5.1.1"; + } + + leaf cvSipMsgRateStatsIntvlDur { + type uint32 { + range "1..72"; + } + description + "This is an index that references to the different past + periods in given in interval of SIP message rate table. + This range is 1-60 for Seconds and Minutes table + wherein 1-72 for hours table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5.1.2"; + } + + leaf cvSipMsgRateStatsMaxVal { + type uint32; + units "SIP messages per second"; + description + "This object indicates the maximum SIP messages per second that + is received for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5.1.3"; + } + + leaf cvSipMsgRateStatsAvgVal { + type uint32; + units "SIP messages per second"; + description + "This object indicates the average SIP messages per second that + is received for the given interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.5.1.4"; + } + } + } + + container cvCallRateWMTable { + description + "This table represents high watermarks achieved + by call rate in various interval length defined + by CvCallVolumeWMIntvlType. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6"; + + list cvCallRateWMEntry { + key "cvCallRateWMIntvlDurUnits cvCallRateWMIndex"; + description + "This is a conceptual-row in cvCallRateWMTable + This entry is created at the system initialization and is + updated whenever + a) This entry is obsolete OR + b) A new/higher entry is available. + These entries are reinitialised/added/deleted if + cvCallVolumeWMTableSize is changed"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6.1"; + + leaf cvCallRateWMIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeWMIntvlType; + description + "The Object indexes in call rate Water mark Table to select one + among four interval-tables. + + The different types in this table are represented by + CvCallVolumeWMIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6.1.1"; + } + + leaf cvCallRateWMIndex { + type uint32 { + range "1..10"; + } + description + "This is an index that references to different peaks in + past period in call rate watermark table. + + The number of watermarks entries stored for each table are + based on cvCallVolumeWMTableSize"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6.1.2"; + } + + leaf cvCallRateWMValue { + type uint32; + units "calls per second"; + description + "This object indicates high watermark value achieved by the + calls per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6.1.3"; + } + + leaf cvCallRateWMts { + type snmpv2-tc:DateAndTime; + description + "This object indicates date and Time when the high watermark + is achieved for calls per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.6.1.4"; + } + } + } + + container cvCallLegRateWMTable { + description + "cvCallLegRateWMTable table represents high watermarks achieved + by call-leg rate in various interval length defined + by CvCallVolumeWMIntvlType. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7"; + + list cvCallLegRateWMEntry { + key "cvCallLegRateWMIntvlDurUnits cvCallLegRateWMIndex"; + description + "This is a conceptual-row in cvCallLegRateWMTable + This entry is created at the system initialization and is + updated whenever + a) This entry is obsolete OR + b) A new/higher entry is available. + These entries are reinitialised/added/deleted if + cvCallVolumeWMTableSize is changed"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7.1"; + + leaf cvCallLegRateWMIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeWMIntvlType; + description + "The Object indexes in call leg rate Water mark Table to select + one + among four interval-tables. + + The different types in this table are represented by + CvCallVolumeWMIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7.1.1"; + } + + leaf cvCallLegRateWMIndex { + type uint32 { + range "1..10"; + } + description + "This is an index that references to different peaks in + past period in call leg rate watermark table. + + The number of watermarks entries stored for each table are + based on cvCallVolumeWMTableSize"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7.1.2"; + } + + leaf cvCallLegRateWMValue { + type uint32; + units "call legs per second"; + description + "This object indicates high watermark value achieved by the + call legs per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7.1.3"; + } + + leaf cvCallLegRateWMts { + type snmpv2-tc:DateAndTime; + description + "This object indicates date and time when the high watermark + is achieved for call-legs per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.7.1.4"; + } + } + } + + container cvActiveCallWMTable { + description + "This table represents high watermarks achieved + by active calls in various interval length defined + by CvCallVolumeWMIntvlType. + + Each interval may contain one or more entries to allow + for detailed measurement to be collected."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8"; + + list cvActiveCallWMEntry { + key "cvActiveCallWMIntvlDurUnits cvActiveCallWMIndex"; + description + "This is a conceptual-row in cvActiveCallWMTable + This entry is created at the system initialization and is + updated whenever + a) This entry is obsolete OR + b) A new/higher entry is available. + These entries are reinitialised/added/deleted if + cvCallVolumeWMTableSize is changed"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8.1"; + + leaf cvActiveCallWMIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeWMIntvlType; + description + "The Object indexes in active call Water mark Table to select + one among four interval-tables. + + The different types in this table are represented by + CvCallVolumeWMIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8.1.1"; + } + + leaf cvActiveCallWMIndex { + type uint32 { + range "1..10"; + } + description + "This is an index that references to different peaks in + past period in acive call watermark table. + + The number of watermarks entries stored for each table are + based on cvCallVolumeWMTableSize"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8.1.2"; + } + + leaf cvActiveCallWMValue { + type uint32; + units "calls"; + description + "This object indicates high watermark value achieved by the + active calls for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8.1.3"; + } + + leaf cvActiveCallWMts { + type snmpv2-tc:DateAndTime; + description + "This object indicates date and time when the high watermark + is achieved for active calls for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.8.1.4"; + } + } + } + + container cvSipMsgRateWMTable { + description + "This table represents of high watermarks achieved + by SIP message rate in various interval length defined + by CvCallVolumeWMIntvlType. + + Each interval may contain one or more entries to allow for + detailed measurement to be collected"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9"; + + list cvSipMsgRateWMEntry { + key "cvSipMsgRateWMIntvlDurUnits cvSipMsgRateWMIndex"; + description + "This is a conceptual-row in cvSipMsgRateWMTable. + This entry is created at the system initialization and is + updated whenever + a) This entry is obsolete OR + b) A new/higher entry is available. + These entries are reinitialised/added/deleted if + cvCallVolumeWMTableSize is changed"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9.1"; + + leaf cvSipMsgRateWMIntvlDurUnits { + type CISCO-VOICE-DIAL-CONTROL-MIB:CvCallVolumeWMIntvlType; + description + "The Object indexes in SIP Message rate Water mark Table to + select one among four interval-tables. + + The different types in this table are represented by + CvCallVolumeWMIntvlType"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9.1.1"; + } + + leaf cvSipMsgRateWMIndex { + type uint32 { + range "1..10"; + } + description + "This is an index that references to different peaks in + past period in sip message rate watermark table. + + The number of watermarks entries stored for each table are + based on cvCallVolumeWMTableSize"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9.1.2"; + } + + leaf cvSipMsgRateWMValue { + type uint32; + units "SIP messages per second"; + description + "This object indicates high watermark value achieved by the + SIP messages per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9.1.3"; + } + + leaf cvSipMsgRateWMts { + type snmpv2-tc:DateAndTime; + description + "This object indicates date and time when the high watermark + is achieved for SIP messages per second for the given interval"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3.9.1.4"; + } + } + } + } + + smiv2:alias "cvCallVolPeerTable" { + description + "This table represents the information about + the usage of dialpeers configured in a + voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.4"; + } + + smiv2:alias "cvCallVolPeerEntry" { + description + "Each entry represents a row in cvCallVolPeerTable + and corresponds to the information about a + dialpeer configured on the voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.4.1"; + } + + augment "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvPeerCfgTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvPeerCfgEntry" { + description + "Each entry represents a row in cvCallVolPeerTable + and corresponds to the information about a + dialpeer configured on the voice gateway."; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.4.1"; + + leaf cvCallVolPeerIncomingCalls { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + active calls that has selected the dialpeer + as an incoming dialpeer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.4.1.1"; + } + + leaf cvCallVolPeerOutgoingCalls { + type yang:gauge32 { + range "0..65535"; + } + description + "This object represents the total number of + active calls that has selected the dialpeer + as an outgoing dialpeer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8.4.1.2"; + } + } + + notification cvdcPoorQoVNotification { + status deprecated; + description + "Poor quality of voice notification. A + cvdcPoorQoVNotification is sent at the call disconnection + time if the value of cvVoIPCallHistoryIcpif exceeds the + value of cvVoIPPeerCfgIcpif in the call associated peer."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.1"; + + container object-1 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryConnectionId { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryConnectionId"; + } + } + } + + container object-2 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryIcpif { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryIcpif"; + } + } + } + + container object-3 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemoteIPAddress { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemoteIPAddress"; + } + status deprecated; + } + } + + container object-4 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cCallHistoryCallOrigin { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryCallOrigin"; + } + } + } + + container object-5 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvCommonDcCallHistoryCoderTypeRate { + type leafref { + path "/cisco-voice:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB/cisco-voice:cvCommonDcCallHistoryTable/cisco-voice:cvCommonDcCallHistoryEntry/cisco-voice:cvCommonDcCallHistoryCoderTypeRate"; + } + } + } + } + + notification cvdcPoorQoVNotificationRev1 { + description + "Poor quality of voice notification. A + cvdcPoorQoVNotificationRev1 is sent at the call + disconnection time if the value of cvVoIPCallHistoryIcpif + exceeds the value of cvVoIPPeerCfgIcpif in the call + associated peer."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.2"; + + container object-1 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryConnectionId { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryConnectionId"; + } + } + } + + container object-2 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryIcpif { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryIcpif"; + } + } + } + + container object-3 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemMediaIPAddrT { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemMediaIPAddrT"; + } + } + } + + container object-4 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemMediaIPAddr { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemMediaIPAddr"; + } + } + } + + container object-5 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cCallHistoryCallOrigin { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryCallOrigin"; + } + } + } + + container object-6 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvCommonDcCallHistoryCoderTypeRate { + type leafref { + path "/cisco-voice:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB/cisco-voice:cvCommonDcCallHistoryTable/cisco-voice:cvCommonDcCallHistoryEntry/cisco-voice:cvCommonDcCallHistoryCoderTypeRate"; + } + } + } + } + + notification cvdcActiveDS0sHighNotification { + description + "The cvdcActiveDS0sHighNotification is sent when the + percentage of active DS0s exceeds + cvCallActiveDS0sHighThreshold value."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.3"; + + container object-1 { + + leaf cvCallActiveDS0s { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvGatewayCallActive/CISCO-VOICE-DIAL-CONTROL-MIB:cvCallActiveDS0s"; + } + } + } + + container object-2 { + + leaf cvCallActiveDS0sHighThreshold { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvGatewayCallActive/CISCO-VOICE-DIAL-CONTROL-MIB:cvCallActiveDS0sHighThreshold"; + } + } + } + } + + notification cvdcActiveDS0sLowNotification { + description + "The cvdcActiveDS0sLowNotification is sent when the + percentage of active DS0s is less than + cvCallActiveDS0sLowThreshold value."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.4"; + + container object-1 { + + leaf cvCallActiveDS0s { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvGatewayCallActive/CISCO-VOICE-DIAL-CONTROL-MIB:cvCallActiveDS0s"; + } + } + } + + container object-2 { + + leaf cvCallActiveDS0sLowThreshold { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvGatewayCallActive/CISCO-VOICE-DIAL-CONTROL-MIB:cvCallActiveDS0sLowThreshold"; + } + } + } + } + + notification cvdcFallbackNotification { + description + "This cvdcFallbackNotificaion is sent out, + when the destination + IP address of call fallback probe fails. This probe + generated for beginning of each call, + with exception of existing cached entry."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.5"; + + container object-1 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryConnectionId { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryConnectionId"; + } + } + } + + container object-2 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryFallbackIcpif { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryFallbackIcpif"; + } + } + } + + container object-3 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryFallbackLoss { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryFallbackLoss"; + } + } + } + + container object-4 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryFallbackDelay { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryFallbackDelay"; + } + } + } + + container object-5 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemSigIPAddrT { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemSigIPAddrT"; + } + } + } + + container object-6 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemSigIPAddr { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemSigIPAddr"; + } + } + } + + container object-7 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemMediaIPAddrT { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemMediaIPAddrT"; + } + } + } + + container object-8 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvVoIPCallHistoryRemMediaIPAddr { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallHistoryRemMediaIPAddr"; + } + } + } + + container object-9 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cCallHistoryCallOrigin { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryCallOrigin"; + } + } + } + + container object-10 { + + leaf cCallHistoryIndex { + type leafref { + path "/cisco-dial:CISCO-DIAL-CONTROL-MIB/cisco-dial:cCallHistoryTable/cisco-dial:cCallHistoryEntry/cisco-dial:cCallHistoryIndex"; + } + } + + leaf cvCommonDcCallHistoryCoderTypeRate { + type leafref { + path "/cisco-voice:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB/cisco-voice:cvCommonDcCallHistoryTable/cisco-voice:cvCommonDcCallHistoryEntry/cisco-voice:cvCommonDcCallHistoryCoderTypeRate"; + } + } + } + } + + notification cvdcPolicyViolationNotification { + description + "Policy violation voice notification. A + cvdcPolicyViolationNotification is sent when the call is active + and has policy violation. It can be media policy violation or + DSCP policy violation."; + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0.6"; + + container object-1 { + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf ccVoIPCallActivePolicyName { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallActiveTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallActiveEntry/CISCO-VOICE-DIAL-CONTROL-MIB:ccVoIPCallActivePolicyName"; + } + } + } + + container object-2 { + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf cvVoIPCallActiveReversedDirectionPeerAddress { + type leafref { + path "/CISCO-VOICE-DIAL-CONTROL-MIB:CISCO-VOICE-DIAL-CONTROL-MIB/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallActiveTable/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallActiveEntry/CISCO-VOICE-DIAL-CONTROL-MIB:cvVoIPCallActiveReversedDirectionPeerAddress"; + } + } + } + + container object-3 { + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf callActivePeerId { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActivePeerId"; + } + } + } + + container object-4 { + + leaf callActiveSetupTime { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActiveIndex"; + } + } + + leaf callActivePeerAddress { + type leafref { + path "/dial-control:DIAL-CONTROL-MIB/dial-control:callActiveTable/dial-control:callActiveEntry/dial-control:callActivePeerAddress"; + } + } + } + } + + smiv2:alias "ciscoVoiceDialControlMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.63"; + } + + smiv2:alias "cvdcMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1"; + } + + smiv2:alias "cvGeneralConfiguration" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.1"; + } + + smiv2:alias "cvPeer" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.2"; + } + + smiv2:alias "cvGatewayCallActive" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3"; + } + + smiv2:alias "cvCallVolume" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.8"; + } + + smiv2:alias "cvCallRateMonitor" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.3.11"; + } + + smiv2:alias "cvGatewayCallHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4"; + } + + smiv2:alias "cvCallVolumeStatsHistory" { + smiv2:oid "1.3.6.1.4.1.9.9.63.1.4.3"; + } + + smiv2:alias "cvdcMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.63.2"; + } + + smiv2:alias "cvdcMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.63.2.0"; + } + + smiv2:alias "cvdcMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.63.3"; + } + + smiv2:alias "cvdcMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.63.3.1"; + } + + smiv2:alias "cvdcMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.63.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DNIS-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DNIS-MIB.yang new file mode 100644 index 000000000..7ddc565e5 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VOICE-DNIS-MIB.yang @@ -0,0 +1,377 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VOICE-DNIS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VOICE-DNIS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VOICE-DNIS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB"; + prefix CISCO-VOICE-DNIS-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W. Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-voice@cisco.com"; + + description + "The MIB module provides management support for Dialer + Number Information Service (DNIS) mapping. A DNIS + entry is associated with a Voice XML (VXML) page to + provide audio play back features. Multiple DNIS + entries can be grouped together to form a DNIS + mapping with a unique map name. + + *** ABBREVIATIONS, ACRONYMS, AND SYMBOLS *** + + DNIS - Dialer Number Information Service + + XML - Extensible Markup Language + + VXML - Voice XML + + URL - Uniform Resource Locator "; + + revision 2002-05-01 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef DnisMapname { + type string; + description + "An identification for a DNIS map name or a DNIS name. A + DNIS map name correspods to a group of individual DNIS + names. The DNIS map names are unique in the system, and + within each map name, individual DNIS names are unique."; + smiv2:display-hint "32a"; + } + + typedef CvE164String { + type string; + description + "A UTF-8 string limited to the character set defined for + E.164, '0123456789*#,'. + Note that represents the double quote which + cannot be contained in a SMI description clause."; + smiv2:display-hint "32a"; + } + + + container CISCO-VOICE-DNIS-MIB { + config false; + + container cvDnisMappingTable { + description + "The table contains the map name and a url specifying + a file name. The file contains DNIS entries that belong + to the DNIS mapping."; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1"; + + list cvDnisMappingEntry { + key "cvDnisMappingName"; + smiv2:implied "cvDnisMappingName"; + description + "Information about a single DNIS mapping. There is a + unique DNIS map name. New DNIS mapping can be created + using cvDnisMappingStatus. + + The entry can be created with or without a file location + specified by cvDnisMappingUrl. The mapping file contains + DNIS name and VXML page per line. For example, a + cvDnisMappingUrl could be tftp://someserver/dnismap.txt. + This file is a text file and the content format is + dnis url . + An example of the contents of the file itself can be + dnis 18004251234 url http://www.b.com/p/vwelcome.vxml + dnis 18004253421 url http://www.c.com/j/vxmlintf.vxml + If a mapping file location is specified, then new rows + corresponding to this map name are created and populated + in cvDnisNodeTable from the contents of the file. The + rows corresponding to this map name in cvDnisNodeTable + cannot be created or modified or deleted but can be + read. + + If a mapping file location is not specified in + cvDnisMappingUrl, then individual DNIS entries + corresponding to this map name can be created, modified + and deleted in cvDnisNodeTable. + + Deleting an entry deletes all the related entries in + cvDnisNodeTable. "; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1"; + + leaf cvDnisMappingName { + type CISCO-VOICE-DNIS-MIB:DnisMapname { + length "1..32"; + } + description + "The name which uniquely identifies a DNIS mapping. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1.1"; + } + + leaf cvDnisMappingUrl { + type snmpv2-tc:DisplayString; + description + "The url specifies a file location. The file contains + individual DNIS entries that belong to the DNIS map + name specified by cvDnisMappingName. + + Once a url is created and associated with a map name (the + association is complete when the row is made active(1)), + it cannot be modified while cvDnisMappingStatus is + active. If a different url needs to be associated with + the current map name, the row status should be made + notInService(2) and this object has to be modified to + associate a new url. When a new association is made all + the DNIS entries corresponding to the old association + will be deleted from the cvDnisNodeTable. + + The url is read when the row status is made active(1) or + when the row status is active and the object + cvDnisMappingRefresh is explicitly set to refresh(2). + If the url is not accessible then a + cvDnisMappingUrlInaccessible notification will be + generted. "; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1.2"; + } + + leaf cvDnisMappingRefresh { + type enumeration { + enum "idle" { + value "1"; + } + enum "refresh" { + value "2"; + } + } + description + "Whenever there is a need to re-read the contents of the + file specified by cvDnisMappingUrl, this object can be + set to refresh(2). This will cause the contents of the + file to be re-read and correspondingly update the + cvDnisNodeTable. After the completion of this operation, + the value of this object is reset to idle(1). The only + operation allowed on this object is setting it to + refresh(2). This can only be done when the current value + is idle(1) and the rowstatus is active(1). + + idle - The refreshing process is idle and the user + can modify this object to refresh. + refresh - The refreshing process is currently busy and + the user have to wait till the object + becomes idle to issue new refresh."; + smiv2:defval "idle"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1.3"; + } + + leaf cvDnisMappingUrlAccessError { + type snmpv2-tc:DisplayString; + description + "ASCII text describing the error on last access of the url + specified in cvDnisMappingUrl. + + If the url access does not succeed, then this object is + populated with an error message indicating the reason for + failure. If the url access succeeds, this object is set + to null string."; + smiv2:defval ""; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1.4"; + } + + leaf cvDnisMappingStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create a new row or modify or + delete an existing row in this table. When making the + status active(1), if a valid cvDnisMappingUrl is present + the contents of the url is downloaded and during that + time cvDnisMappingRefresh is set to refresh(2). When + cvDnisMappingRefresh is set to refresh(2), only the + destroy(6) operation is allowed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.1.1.5"; + } + } + } + + container cvDnisNodeTable { + description + "The table contains a DNIS name and a url. The url is a + pointer to a VXML page for the DNIS name. "; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2"; + + list cvDnisNodeEntry { + key "cvDnisMappingName cvDnisNumber"; + smiv2:implied "cvDnisNumber"; + description + "Each entry is a DNIS name and the location of the + associated VXML page. New DNIS entries can be created or + the existing entries can be modified or deleted only if + the corresponding map name (defined in + cvDnisMappingTable) does not have any file name provided + in the cvDnisMappingUrl object. + + If a file name is provided in cvDnisMappingUrl + corresponding to this entry's map name, then this row + will have read permission only."; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2.1"; + + leaf cvDnisMappingName { + type leafref { + path "/CISCO-VOICE-DNIS-MIB:CISCO-VOICE-DNIS-MIB/CISCO-VOICE-DNIS-MIB:cvDnisMappingTable/CISCO-VOICE-DNIS-MIB:cvDnisMappingEntry/CISCO-VOICE-DNIS-MIB:cvDnisMappingName"; + } + } + + leaf cvDnisNumber { + type CISCO-VOICE-DNIS-MIB:CvE164String; + description + "The individual DNIS name. It is unique within a DNIS + mapping."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2.1.1"; + } + + leaf cvDnisNodeUrl { + type snmpv2-tc:DisplayString; + description + "The url specifies a VXML page. This page contains + voice XML links to play audio data. + + This url which is a VXML page is not read immediately + when the row is made active(1), but only when a call that + requires the use of this DNIS comes through."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2.1.2"; + } + + leaf cvDnisNodeModifiable { + type boolean; + description + "This object specifies whether the object in a particular + row is modifiable. The object is set to true(1) if the + corresponding map name (defined in cvDnisMappingTable) + does not have any file name provided in the + cvDnisMappingUrl object. Otherwise this object is set to + false(2) and the row becomes read only. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2.1.3"; + } + + leaf cvDnisNodeStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create a new row or modify or + delete an existing row in this table. The objects in a + row can be modified or deleted while the row status is + active(1) and cvDnisNodeModifiable is true(1). The row + status cannot be set to notInService(2) or + createAndWait(5). "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1.2.1.4"; + } + } + } + } + + notification cvDnisMappingUrlInaccessible { + description + "Inaccessible DNIS mapping url notification. A + cvDnisMappingUrlInaccessible notification is sent if the + specified url is not accessible."; + smiv2:oid "1.3.6.1.4.1.9.9.219.2.0.1"; + + container object-1 { + + leaf cvDnisMappingName { + type leafref { + path "/CISCO-VOICE-DNIS-MIB:CISCO-VOICE-DNIS-MIB/CISCO-VOICE-DNIS-MIB:cvDnisMappingTable/CISCO-VOICE-DNIS-MIB:cvDnisMappingEntry/CISCO-VOICE-DNIS-MIB:cvDnisMappingName"; + } + } + + leaf cvDnisMappingUrl { + type leafref { + path "/CISCO-VOICE-DNIS-MIB:CISCO-VOICE-DNIS-MIB/CISCO-VOICE-DNIS-MIB:cvDnisMappingTable/CISCO-VOICE-DNIS-MIB:cvDnisMappingEntry/CISCO-VOICE-DNIS-MIB:cvDnisMappingUrl"; + } + } + } + + container object-2 { + + leaf cvDnisMappingName { + type leafref { + path "/CISCO-VOICE-DNIS-MIB:CISCO-VOICE-DNIS-MIB/CISCO-VOICE-DNIS-MIB:cvDnisMappingTable/CISCO-VOICE-DNIS-MIB:cvDnisMappingEntry/CISCO-VOICE-DNIS-MIB:cvDnisMappingName"; + } + } + + leaf cvDnisMappingUrlAccessError { + type leafref { + path "/CISCO-VOICE-DNIS-MIB:CISCO-VOICE-DNIS-MIB/CISCO-VOICE-DNIS-MIB:cvDnisMappingTable/CISCO-VOICE-DNIS-MIB:cvDnisMappingEntry/CISCO-VOICE-DNIS-MIB:cvDnisMappingUrlAccessError"; + } + } + } + } + + smiv2:alias "ciscoVoiceDnisMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.219"; + } + + smiv2:alias "cvDnisMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.219.1"; + } + + smiv2:alias "cvDnisMap" { + smiv2:oid "1.3.6.1.4.1.9.9.219.1.1"; + } + + smiv2:alias "cvDnisMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.219.2"; + } + + smiv2:alias "cvDnisMIBNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.219.2.0"; + } + + smiv2:alias "cvDnisMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.219.3"; + } + + smiv2:alias "cvDnisMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.219.3.1"; + } + + smiv2:alias "cvDnisMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.219.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VPDN-MGMT-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VPDN-MGMT-MIB.yang new file mode 100644 index 000000000..7d63d2ff1 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VPDN-MGMT-MIB.yang @@ -0,0 +1,2502 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/CISCO-VPDN-MGMT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VPDN-MGMT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VPDN-MGMT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB"; + prefix CISCO-VPDN-MGMT-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-vpdn@cisco.com"; + + description + "The MIB module for VPDN. + + Overview of VPDN MIB + + MIB description + + This MIB is to support the Virtual Private Dialup Network (VPDN) + feature of Cisco IOS. VPDN handles the forwarding of PPP links + from an Internet Provider (ISP) to a Home Gateway. + + The VPDN MIB provides the operational information on Cisco's + VPDN tunnelling implementation. The following entities are + managed: + 1) Global VPDN information + 2) VPDN tunnel information + 3) VPDN tunnel's user information + 4) Failure history per user + + The following example configuration shows how the VPDN MIB + returns VPDN information, from either CISCO A - Network Access + Server (NAS) or CISCO B - Tunnel Server (TS). The User call is + projected by either domain name or Dialed Number Identification + Service (DNIS). + + The terms NAS and TS are generic terms refering to the VPDN + systems. + + The following table shows the corresponding technology-specific + terms. + + Network Access Server Tunnel Server + ------------------------------ ------------------------- + L2F Network Access Server (NAS) Home Gateway (HGW) + L2TP L2TP Access Concentrator (LAC) L2TP Network Server (LNS) + PPTP PPTP Access Concentrator (PAC) PPTP Network Server (PNS) + + (NAS) (TS) + User ===== Cisco A ===== IP Network ===== Cisco B ===== Server + | | + +========== VPDN ==========+ + + 1) The VPDN global entry identifies the system wide VPDN + information. + 2) The VPDN tunnel table identifies the active VPDN tunnels on + Cisco A and Cisco B. The table contains an entry for each + active tunnel on the system. + 3) The VPDN tunnel user table identifies the active users for + each active tunnel on each system and provides relevant + information for each user. + 4) The VPDN failure history table identifies the last failure + recorded per user and provides relevant information."; + + revision 2009-06-16 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + revision 2006-01-20 { + description + "Obsoleted the following deprecated L2F specific objects. + These set of objects have been replaced by the + corresponding multi-protocol objects since 1999-03-24. + + Obsoleted Objects Existing replacements + ================= ===================== + cvpdnTunnelTotal cvpdnSystemTable + cvpdnSessionTotal cvpdnSystemTable + cvpdnDeniedUsersTotal cvpdnSystemTable + cvpdnTunnelTable cvpdnTunnelAttrTable + cvpdnTunnelSessionTable cvpdnSessionAttrTable + + Deprecated the following objects and added corresponding + InetAddressType/InetAddress compliant counterparts: + + Deprecated Objects Added Replacements + ================== ================== + cvpdnTunnelAttrLocalIpAddress + cvpdnTunnelAttrLocalInetAddressType + cvpdnTunnelAttrLocalInetAddress + cvpdnTunnelAttrSourceIpAddress + cvpdnTunnelAttrSourceInetAddressType + cvpdnTunnelAttrSourceInetAddress + cvpdnTunnelAttrRemoteIpAddress + cvpdnTunnelAttrRemoteInetAddressType + cvpdnTunnelAttrRemoteInetAddress + cvpdnUnameToFailHistSourceIp + cvpdnUnameToFailHistSourceInetType + cvpdnUnameToFailHistSourceInetAddr + cvpdnUnameToFailHistDestIp + cvpdnUnameToFailHistDestInetType + cvpdnUnameToFailHistDestInetAddr + + Added two new values, 'pwUp' and 'pwDown', for the + existing object cvpdnNotifSessionEvent to support + pseudowire status change event reporting."; + } + + revision 2004-06-08 { + description + "Deprecated the cvpdnBundleEndpointType object since it's + values did not align with the PPP protocol. This object was + replaced by cvpdnBundleEndpointClass."; + } + + revision 2004-04-02 { + description + "Added support for Multilink PPP VPDN information. Modified + the cvpdnSessionAttrTable to add objects that specify the + multilink PPP bundle to which a session belongs. Added + scalar objects to hold the total number of multilink PPP + bundles comprised of one, two, and more than two links. + Added the cvpdnBundleTable that describes the PPP multilink + bundle. Added the cvpdnChildBundleTable to expose the + containment relationship between the multilink PPP bundle + and the VPDN tunnel."; + } + + revision 2002-07-08 { + description + "Added support for VPDN Template information. The template + table reports the number of active sessions for each + template. This number is the sum of active sessions for + all VPDN groups associated with each template."; + } + + revision 2002-05-17 { + description + "Changed cvpdnSessionAttrVirtualCircuitID to an Unsigned32 + object. Also, moved Unsigned32 import to SNMPv2-SMI."; + } + + revision 2002-04-02 { + description + "Added virtual circuit ID, packets dropped, and notification + objects for WAN/IP support."; + } + + revision 2000-01-12 { + description + "Added support for Point-to-Point Tunneling Protocol (PPTP). + Changed object descriptions to use generic terms."; + } + + revision 1999-03-24 { + description + "Added support for multiple tunnel protocols with these + tables + 1) cvpdnSystemTable + 2) cvpdnTunnelAttrTable + 3) cvpdnTunnelSessionAttrTable + + Deprecated objects and tables duplicated by the three new + tables + 1) cvpdnTunnelTotal, cvpdnSessionTotal, + cvpdnDeniedUsersTotal + 2) cvpdnTunnelTable + 3) cvpdnTunnelSessionTable"; + } + + revision 1997-07-15 { + description + "Initial version of this MIB module."; + } + + typedef TunnelType { + type enumeration { + enum "l2f" { + value "1"; + } + enum "l2tp" { + value "2"; + } + enum "pptp" { + value "3"; + } + } + description + "The tunnel type. This is the tunnel protocol of a VPDN + tunnel."; + } + + typedef EndpointClass { + type enumeration { + enum "none" { + value "1"; + } + enum "local" { + value "2"; + } + enum "ipV4Address" { + value "3"; + } + enum "macAddress" { + value "4"; + } + enum "magicNumber" { + value "5"; + } + enum "phone" { + value "6"; + } + } + description + "The endpoint discriminator class supplied by the remote peer in + a PPP Multilink bundle. + + RFC 1990 defines the following classes: + + none: Class 0 - Null Class. No endpoint discriminator + is being used. The endpoint discriminator should + contain a SnmpAdminString (SIZE (0)) value. + + local: Class 1 - Locally Assigned Address. This class is + defined to permit a local assignment in the case + where use of one of the globally unique classes is + not possible. The endpoint discriminator should + contain a SnmpAdminString (SIZE(1..20)) value. + + ipV4Address: Class 2 - Internet Protocol (IP) Address. An + address in this class contains an IP host address. + The endpoint discriminator should contain a + InetAddressIPv4 value. + + macAddress: Class 3 - IEEE 802.1 Globally Assigned MAC + Address. An address in this class contains an + IEEE 802.1 MAC address in canonical (802.3) + format. The endpoint discriminator should contain + a MacAddress value. + + magicNumber: Class 4 - PPP Magic-Number Block. This is not an + address but a block of 1 to 5 concatenated 32 bit + PPP Magic-Numbers. The endpoint discriminator + should contain an OCTET STRING (SIZE (4|8|12|16| + 20)) value. + + phone: Class 5 - Public Switched Network Directory + Number. An address in this class contains an + octet sequence as defined by I.331 (E.164) + representing an international telephone directory + number suitable for use to access the endpoint via + the public switched telephone network. The + endpoint discriminator should contain a + SnmpAdminString (SIZE(1..15)) value."; + reference + "The PPP Multilink Protocol (MP), RFC 1990, Section 5.1.3."; + } + + + container CISCO-VPDN-MGMT-MIB { + config false; + + container ciscoVpdnMgmtMIBNotifs { + smiv2:oid "1.3.6.1.4.1.9.10.24.0"; + + leaf cvpdnNotifSessionID { + type int32 { + range "0..65535"; + } + description + "This object contains the local session ID of the L2X + session for which this notification has been + generated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.0.1"; + } + + leaf cvpdnNotifSessionEvent { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "pwUp" { + value "3"; + } + enum "pwDown" { + value "4"; + } + } + description + "Indicates the event that generated the L2X session + notification. + + The events are represented as follows: + + up: Session has come up. + + down: Session has gone down. + + pwUp: Pseudowire associated with this + session has come up. + + pwDown: Pseudowire associated with this + session has gone down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.0.2"; + } + } + + container cvpdnSystemInfo { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1"; + + leaf cvpdnTunnelTotal { + type yang:gauge32; + units "tunnels"; + status obsolete; + description + "The total number of VPDN tunnels that are currently + active within this system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.1"; + } + + leaf cvpdnSessionTotal { + type yang:gauge32; + units "users"; + status obsolete; + description + "The total number of active users in all the active VPDN + tunnels within this system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.2"; + } + + leaf cvpdnDeniedUsersTotal { + type yang:counter32; + units "attempts"; + status obsolete; + description + "The total number of denied user attempts to all the + active VPDN tunnels within this system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.3"; + } + + leaf cvpdnSystemNotifSessionEnabled { + type boolean; + description + "Indicates whether Layer 2 VPN session notifications are + enabled."; + smiv2:defval "false"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.5"; + } + + leaf cvpdnSystemClearSessions { + type enumeration { + enum "none" { + value "1"; + } + enum "all" { + value "2"; + } + enum "l2f" { + value "3"; + } + enum "l2tp" { + value "4"; + } + enum "pptp" { + value "5"; + } + } + description + "Clears all the sessions in a given tunnel type. When + reading this object, the value of 'none' will always be + returned. + + When setting these values, the following operations will be + performed: + + none: no operation. + + all: clears all the sessions in all the tunnels. + + l2f: clears all the L2F sessions. + + l2tp: clears all the L2TP sessions. + + pptp: clears all the PPTP sessions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.6"; + } + } + + container cvpdnMultilinkInfo { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6"; + + leaf cvpdnBundlesWithOneLink { + type yang:gauge32; + description + "The total number of bundles comprised of a single link."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.1"; + } + + leaf cvpdnBundlesWithTwoLinks { + type yang:gauge32; + description + "The total number of bundles comprised of two links."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.2"; + } + + leaf cvpdnBundlesWithMoreThanTwoLinks { + type yang:gauge32; + description + "The total number of bundles comprised of more than two + links."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.3"; + } + + leaf cvpdnBundleLastChanged { + type yang:timestamp; + description + "The value of the sysUpTime object when the contents of + cvpdnBundleTable last changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.5"; + } + } + + container cvpdnSystemTable { + description + "Table of information about the VPDN system for all tunnel + types."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4"; + + list cvpdnSystemEntry { + key "cvpdnSystemTunnelType"; + description + "An entry in the table, containing information about a + single type of VPDN tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1"; + + leaf cvpdnSystemTunnelType { + type CISCO-VPDN-MGMT-MIB:TunnelType; + description + "The tunnel type. This is the tunnel protocol."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.1"; + } + + leaf cvpdnSystemTunnelTotal { + type yang:gauge32; + units "tunnels"; + description + "The total number of VPDN tunnels that are currently active + of this tunnel type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.2"; + } + + leaf cvpdnSystemSessionTotal { + type yang:gauge32; + units "sessions"; + description + "The total number of active sessions in all the active VPDN + tunnels of this tunnel type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.3"; + } + + leaf cvpdnSystemDeniedUsersTotal { + type yang:counter32; + units "attempts"; + description + "The total number of denied user attempts to all the VPDN + tunnels of this tunnel type since last system + re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.4"; + } + + leaf cvpdnSystemInitialConnReq { + type yang:counter32; + units "attempts"; + description + "The total number tunnel connection attempts on all the VPDN + tunnels of this tunnel type since last system + re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.5"; + } + + leaf cvpdnSystemSuccessConnReq { + type yang:counter32; + units "attempts"; + description + "The total number tunnel Successful connection attempts in VPDN + tunnels of this tunnel type since last system + re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.6"; + } + + leaf cvpdnSystemFailedConnReq { + type yang:counter32; + units "attempts"; + description + "The total number tunnel Failed connection attempts in VPDN + tunnels of this tunnel type since last system + re-initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1.4.1.7"; + } + } + } + + container cvpdnTunnelTable { + status obsolete; + description + "Table of information about the active VPDN tunnels."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1"; + + list cvpdnTunnelEntry { + key "cvpdnTunnelTunnelId"; + status obsolete; + description + "An entry in the table, containing information about a + single active VPDN tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1"; + + leaf cvpdnTunnelTunnelId { + type uint32; + status obsolete; + description + "The Tunnel ID of an active VPDN tunnel. If it is the + instigator of the tunnel, the ID is the HGW/LNS tunnel + ID, otherwise it is the NAS/LAC tunnel ID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.1"; + } + + leaf cvpdnTunnelRemoteTunnelId { + type uint32; + status obsolete; + description + "The remote Tunnel ID of an active VPDN tunnel. If it + is the instigator of the tunnel, the ID is the NAS/LAC + tunnel ID, otherwise it is the HGW/LNS tunnel ID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.2"; + } + + leaf cvpdnTunnelLocalName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + status obsolete; + description + "The local name of an active VPDN tunnel. It will be + the NAS/LAC name of the tunnel if the router serves as + the NAS/LAC, or the HGW/LNS name of the tunnel if the + system serves as the home gateway. Typically, the + local name is the configured host name of the router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.3"; + } + + leaf cvpdnTunnelRemoteName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + status obsolete; + description + "The remote name of an active VPDN tunnel. It will be + the home gateway name of the tunnel if the system is a + NAS/LAC, or the NAS/LAC name of the tunnel if the + system serves as the home gateway."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.4"; + } + + leaf cvpdnTunnelRemoteEndpointName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + status obsolete; + description + "The remote end point name of an active VPDN tunnel. + This name is either the domain name or the DNIS that + this tunnel is projected with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.5"; + } + + leaf cvpdnTunnelLocalInitConnection { + type boolean; + status obsolete; + description + "This object indicates whether the tunnel was generated + locally or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.6"; + } + + leaf cvpdnTunnelOrigCause { + type enumeration { + enum "domain" { + value "1"; + } + enum "dnis" { + value "2"; + } + enum "stack" { + value "3"; + } + } + status obsolete; + description + "The cause which originated an active VPDN tunnel. The + tunnel can be projected via domain name, DNIS or a + stack group (SGBP)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.7"; + } + + leaf cvpdnTunnelState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "opening" { + value "2"; + } + enum "open" { + value "3"; + } + enum "closing" { + value "4"; + } + } + status obsolete; + description + "The current state of an active VPDN tunnel. Each state + code is explained below: + + unknown: The current state of the tunnel is + unknown. + + opening: The tunnel has just been instigated and + is pending for a remote end reply to + complete the process. + + open: The tunnel is active. + + closing: The tunnel has just been shut down and + is pending for the remote end to reply + to complete the process."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.8"; + } + + leaf cvpdnTunnelActiveSessions { + type yang:gauge32; + units "sessions"; + status obsolete; + description + "The total number of active session currently in the + tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.9"; + } + + leaf cvpdnTunnelDeniedUsers { + type yang:counter32; + units "calls"; + status obsolete; + description + "A count of the accumulated total of denied users for + the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.10"; + } + + leaf cvpdnTunnelSoftshut { + type boolean; + status obsolete; + description + "A VPDN tunnel can be put into a soft shut state to + prevent any new user session to be added. This object + specifies whether this tunnel has been soft shut."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.12"; + } + + leaf cvpdnTunnelNetworkServiceType { + type enumeration { + enum "ip" { + value "1"; + } + } + status obsolete; + description + "The type of network service used in the active tunnel. + For now it is IP only."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.13"; + } + + leaf cvpdnTunnelLocalIpAddress { + type inet:ipv4-address; + status obsolete; + description + "The local IP address of the tunnel. This IP address is + that of the interface at the local end of the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.14"; + } + + leaf cvpdnTunnelSourceIpAddress { + type inet:ipv4-address; + status obsolete; + description + "The source IP address of the tunnel. This IP address + is the user configurable IP address for Stack Group + Biding Protocol (SGBP) via the CLI command: + vpdn source-ip"; + reference + "The Stack Group Biding Protocol (SGBP), United States + Patent 6073176"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.15"; + } + + leaf cvpdnTunnelRemoteIpAddress { + type inet:ipv4-address; + status obsolete; + description + "The remote IP address of the tunnel. This IP address + is that of the interface at the remote end of the + tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.1.1.16"; + } + } + } + + container cvpdnTunnelAttrTable { + description + "Table of information about the active VPDN tunnels. An + entry is added to the table when a new tunnel is initiated + and removed from the table when the tunnel is terminated."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2"; + + list cvpdnTunnelAttrEntry { + key "cvpdnSystemTunnelType cvpdnTunnelAttrTunnelId"; + description + "An entry in the table, containing information about a + single active VPDN tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1"; + + leaf cvpdnSystemTunnelType { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSystemTable/CISCO-VPDN-MGMT-MIB:cvpdnSystemEntry/CISCO-VPDN-MGMT-MIB:cvpdnSystemTunnelType"; + } + } + + leaf cvpdnTunnelAttrTunnelId { + type int32 { + range "0..65535"; + } + description + "The Tunnel ID of an active VPDN tunnel. If this end is the + instigator of the tunnel, the ID is the TS tunnel ID, + otherwise it is the NAS tunnel ID. + + Two distinct tunnels with the same tunnel ID may exist, but + with different tunnel types."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.1"; + } + + leaf cvpdnTunnelAttrRemoteTunnelId { + type int32 { + range "0..65535"; + } + description + "The remote Tunnel ID of an active VPDN tunnel. If this end + is the instigator of the tunnel, the ID is the NAS tunnel + ID, otherwise it is the TS tunnel ID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.2"; + } + + leaf cvpdnTunnelAttrLocalName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The local name of an active VPDN tunnel. It will be the + NAS name of the tunnel if the system serves as the NAS, or + the TS name of the tunnel if the system serves as the + tunnel server. Typically, the local name is the configured + host name of the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.3"; + } + + leaf cvpdnTunnelAttrRemoteName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The remote name of an active VPDN tunnel. It will be the + tunnel server name of the tunnel if the system is a NAS, + or the NAS name of the tunnel if the system serves as the + tunnel server."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.4"; + } + + leaf cvpdnTunnelAttrRemoteEndpointName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The remote end point name of an active VPDN tunnel. This + name is either the domain name or the DNIS that this tunnel + is projected with."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.5"; + } + + leaf cvpdnTunnelAttrLocalInitConnection { + type boolean; + description + "This object indicates whether the tunnel was originated + locally or not. If it's true, the tunnel was originated + locally."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.6"; + } + + leaf cvpdnTunnelAttrOrigCause { + type enumeration { + enum "domain" { + value "1"; + } + enum "dnis" { + value "2"; + } + enum "stack" { + value "3"; + } + enum "xconnect" { + value "4"; + } + } + description + "The cause which originated an active VPDN tunnel. The + tunnel can be projected via domain name, DNIS, stack group, + or L2 Xconnect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.7"; + } + + leaf cvpdnTunnelAttrState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "l2fOpening" { + value "2"; + } + enum "l2fOpenWait" { + value "3"; + } + enum "l2fOpen" { + value "4"; + } + enum "l2fClosing" { + value "5"; + } + enum "l2fCloseWait" { + value "6"; + } + enum "l2tpIdle" { + value "7"; + } + enum "l2tpWaitCtlReply" { + value "8"; + } + enum "l2tpEstablished" { + value "9"; + } + enum "l2tpShuttingDown" { + value "10"; + } + enum "l2tpNoSessionLeft" { + value "11"; + } + enum "pptpIdle" { + value "12"; + } + enum "pptpWaitConnect" { + value "13"; + } + enum "pptpWaitCtlRequest" { + value "14"; + } + enum "pptpWaitCtlReply" { + value "15"; + } + enum "pptpEstablished" { + value "16"; + } + enum "pptpWaitStopReply" { + value "17"; + } + enum "pptpTerminal" { + value "18"; + } + } + description + "The current state of an active VPDN tunnel. + Tunnels of type l2f will have states with the 'l2f' prefix. + Tunnels of type l2tp will have states with the 'l2tp' + prefix. + Tunnels of type pptp will have states with the 'pptp' + prefix. + + Each state code is explained below: + + unknown: The current state of the tunnel is + unknown. + + l2fOpening: The tunnel has just been initiated + and is pending for a remote end + reply to complete the process. + + l2fOpenWait: This end received a tunnel open + request from the remote end and is + waiting for the tunnel to be + established. + + l2fOpen: The tunnel is active. + + l2fClosing: This end received a tunnel close + request. + + l2fCloseWait: The tunnel has just been shut down + and is pending for the remote end + to reply to complete the process. + + l2tpIdle: No tunnel is initiated yet. + + l2tpWaitCtlReply: The tunnel has been initiated and + is pending for a remote end reply + to complete the process. + + l2tpEstablished: The tunnel is active. + + l2tpShuttingDown: The tunnel is in progress of + shutting down. + + l2tpNoSessionLeft: There is no session left in the + tunnel. + + pptpIdle: No tunnel is initiated yet. + + pptpWaitConnect: The tunnel is waiting for a TCP + connection. + + pptpWaitCtlRequest: The tunnel has been initiated and + is pending for a remote end + request. + + pptpWaitCtlReply: The tunnel has been initiated and + is pending for a remote end reply. + + pptpEstablished: The tunnel is active. + + pptpWaitStopReply: The tunnel is being shut down and + is pending for a remote end reply. + + pptpTerminal: The tunnel has been shut down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.8"; + } + + leaf cvpdnTunnelAttrActiveSessions { + type yang:gauge32; + units "sessions"; + description + "The total number of active session currently in the + tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.9"; + } + + leaf cvpdnTunnelAttrDeniedUsers { + type yang:counter32; + units "calls"; + description + "A count of the accumulated total of denied users for the + tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.10"; + } + + leaf cvpdnTunnelAttrSoftshut { + type boolean; + description + "A VPDN tunnel can be put into a soft shut state to prevent + any new session to be added. This object specifies whether + this tunnel has been soft shut. If its true, it has been + soft shut."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.11"; + } + + leaf cvpdnTunnelAttrNetworkServiceType { + type enumeration { + enum "ip" { + value "1"; + } + } + description + "The type of network service used in the active tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.12"; + } + + leaf cvpdnTunnelAttrLocalIpAddress { + type inet:ipv4-address; + status deprecated; + description + "The local IP address of the tunnel. This IP address is + that of the interface at the local end of the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.13"; + } + + leaf cvpdnTunnelAttrSourceIpAddress { + type inet:ipv4-address; + status deprecated; + description + "The source IP address of the tunnel. This IP address is + the user configurable IP address for Stack Group Biding + Protocol."; + reference + "The Stack Group Biding Protocol (SGBP), United States + Patent 6073176"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.14"; + } + + leaf cvpdnTunnelAttrRemoteIpAddress { + type inet:ipv4-address; + status deprecated; + description + "The remote IP address of the tunnel. This IP address is + that of the interface at the remote end of the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.15"; + } + + leaf cvpdnTunnelAttrLocalInetAddressType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnTunnelAttrLocalInetAddress"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.16"; + } + + leaf cvpdnTunnelAttrLocalInetAddress { + type inet-address:InetAddress; + description + "The local IP address of the tunnel. This IP address is + that of the interface at the local end of the tunnel. + The type of this address is determined by the value of + cvpdnTunnelAttrLocalInetAddressType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.17"; + } + + leaf cvpdnTunnelAttrSourceInetAddressType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnTunnelAttrSourceInetAddress"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.18"; + } + + leaf cvpdnTunnelAttrSourceInetAddress { + type inet-address:InetAddress; + description + "The source IP address of the tunnel. This IP address is + the user configurable IP address for Stack Group Biding + Protocol. The type of this address is determined by the + value of cvpdnTunnelAttrSourceInetAddressType."; + reference + "The Stack Group Biding Protocol (SGBP), United States + Patent 6073176"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.19"; + } + + leaf cvpdnTunnelAttrRemoteInetAddressType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnTunnelAttrRemoteInetAddress"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.20"; + } + + leaf cvpdnTunnelAttrRemoteInetAddress { + type inet-address:InetAddress; + description + "The remote IP address of the tunnel. This IP address is + that of the interface at the remote end of the tunnel. + The type of this address is determined by the value of + cvpdnTunnelAttrRemoteInetAddressType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2.2.1.21"; + } + } + } + + container cvpdnTunnelSessionTable { + status obsolete; + description + "Table of information about individual user sessions + within the active tunnels. Entry is added to the table + when new user session is initiated and be removed from + the table when the user session is terminated."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1"; + + list cvpdnTunnelSessionEntry { + key "cvpdnTunnelTunnelId cvpdnTunnelSessionId"; + status obsolete; + description + "An entry in the table, containing information about a + single user session within the tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1"; + + leaf cvpdnTunnelTunnelId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnTunnelTable/CISCO-VPDN-MGMT-MIB:cvpdnTunnelEntry/CISCO-VPDN-MGMT-MIB:cvpdnTunnelTunnelId"; + } + status obsolete; + } + + leaf cvpdnTunnelSessionId { + type uint32; + status obsolete; + description + "The ID of an active VPDN tunnel user session."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.1"; + } + + leaf cvpdnTunnelSessionUserName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + status obsolete; + description + "The name of the user of the user session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.2"; + } + + leaf cvpdnTunnelSessionState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "opening" { + value "2"; + } + enum "open" { + value "3"; + } + enum "closing" { + value "4"; + } + enum "waitingForTunnel" { + value "5"; + } + } + status obsolete; + description + "The current state of an active user session. Each state + code is explained below: + + unknown: The current state of the tunnel's + session is unknown. + + opening: The user session has just been + initiated through a tunnel and is + pending for the remote end reply + to complete the process. + + open: The user session is active. + + closing: The user session has just been + closed and is pending for the + remote end reply to complete the + process. + + waitingForTunnel: The user session is in this state + when the tunnel which this session + is going through is still in + CLOSED state. It waits for the + tunnel to become OPEN before the + session is allow to be fully + established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.3"; + } + + leaf cvpdnTunnelSessionCallDuration { + type yang:timeticks; + status obsolete; + description + "This object specifies the call duration of the current + active user session in value of system uptime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.4"; + } + + leaf cvpdnTunnelSessionPacketsOut { + type yang:counter32; + units "packets"; + status obsolete; + description + "The total number of output packets through this active + user session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.5"; + } + + leaf cvpdnTunnelSessionBytesOut { + type yang:counter32; + units "bytes"; + status obsolete; + description + "The total number of output bytes through this active + user session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.6"; + } + + leaf cvpdnTunnelSessionPacketsIn { + type yang:counter32; + units "packets"; + status obsolete; + description + "The total number of input packets through this active + user session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.7"; + } + + leaf cvpdnTunnelSessionBytesIn { + type yang:counter32; + units "bytes"; + status obsolete; + description + "The total number of input bytes through this active + user session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.8"; + } + + leaf cvpdnTunnelSessionDeviceType { + type enumeration { + enum "other" { + value "1"; + } + enum "asyncInternalModem" { + value "2"; + } + enum "async" { + value "3"; + } + enum "bchan" { + value "4"; + } + enum "sync" { + value "5"; + } + enum "virtualAccess" { + value "6"; + } + enum "xdsl" { + value "7"; + } + enum "cable" { + value "8"; + } + } + status obsolete; + description + "The type of physical devices that this user session + is attached to for the local end of the tunnel. The + meaning of each device type is explained below: + + other: Any device that has not been + defined. + + asyncInternalModem: Modem Pool device of an access + server. + + async: A regular asynchronous serial + interface. + + sync: A regular synchronous serial + interface. + + bchan: An ISDN call. + + xdsl: Future application with xDSL + devices. + + cable: Future application with Cable + modem devices."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.9"; + } + + leaf cvpdnTunnelSessionDeviceCallerId { + type snmpv2-tc:DisplayString; + status obsolete; + description + "The incoming caller identification of the user. It is + the originating number that called into the device that + initiates the user session. This object can be empty + since not all dial device can provide caller ID + information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.10"; + } + + leaf cvpdnTunnelSessionDevicePhyId { + type if-mib:InterfaceIndexOrZero; + status obsolete; + description + "The device ID of the physical interface for the user + session. The object is the the interface index which + points to the ifTable. For virtual interface that is + not in the ifTable, it will have zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.11"; + } + + leaf cvpdnTunnelSessionMultilink { + type boolean; + status obsolete; + description + "This object indicates whether the session is part of a + multilink or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.12"; + } + + leaf cvpdnTunnelSessionModemSlotIndex { + type uint32; + status obsolete; + description + "The Modem Pool database slot index if it is associated + with this user session. Only a session with device of + type asyncInternalModem will have a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.13"; + } + + leaf cvpdnTunnelSessionModemPortIndex { + type uint32; + status obsolete; + description + "The Modem Pool database port index if it is associated + with this user session. Only a session with a device + of type asyncInternalModem will have a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.14"; + } + + leaf cvpdnTunnelSessionDS1SlotIndex { + type uint32; + status obsolete; + description + "The DS1 database slot index if it is associated with + this user session. Only a session with a device of + type asyncInternalModem will have a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.15"; + } + + leaf cvpdnTunnelSessionDS1PortIndex { + type uint32; + status obsolete; + description + "The DS1 database port index if it is associated with + this user session. Only a session with a device of + type asyncInternalModem will have a a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.16"; + } + + leaf cvpdnTunnelSessionDS1ChannelIndex { + type uint32; + status obsolete; + description + "The DS1 database channel index if it is associated with + this user session. Only a session over a device of + type asyncInternalModem will have a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.17"; + } + + leaf cvpdnTunnelSessionModemCallStartTime { + type yang:timestamp; + status obsolete; + description + "The start time of the current modem call. Only a + session with a device of type asyncInternalModem will + have a valid value for this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.18"; + } + + leaf cvpdnTunnelSessionModemCallStartIndex { + type uint32; + status obsolete; + description + "Arbitrary small integer to distinguish modem calls that + occurred at the same time tick. Only session over + device asyncInternalModem will have a valid value for + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.1.1.19"; + } + } + } + + container cvpdnSessionAttrTable { + description + "Table of information about individual sessions within the + active tunnels. An entry is added to the table when a new + session is initiated and removed from the table when the + session is terminated."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2"; + + list cvpdnSessionAttrEntry { + key "cvpdnSystemTunnelType cvpdnTunnelAttrTunnelId cvpdnSessionAttrSessionId"; + description + "An entry in the table, containing information about a + single session within the tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1"; + + leaf cvpdnSystemTunnelType { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSystemTable/CISCO-VPDN-MGMT-MIB:cvpdnSystemEntry/CISCO-VPDN-MGMT-MIB:cvpdnSystemTunnelType"; + } + } + + leaf cvpdnTunnelAttrTunnelId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTunnelId"; + } + } + + leaf cvpdnSessionAttrSessionId { + type int32 { + range "0..65535"; + } + description + "The ID of an active VPDN session."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.1"; + } + + leaf cvpdnSessionAttrUserName { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The name of the user of the session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.2"; + } + + leaf cvpdnSessionAttrState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "l2fOpening" { + value "2"; + } + enum "l2fOpen" { + value "3"; + } + enum "l2fCloseWait" { + value "4"; + } + enum "l2fWaitingForTunnel" { + value "5"; + } + enum "l2tpIdle" { + value "6"; + } + enum "l2tpWaitingTunnel" { + value "7"; + } + enum "l2tpWaitReply" { + value "8"; + } + enum "l2tpWaitConnect" { + value "9"; + } + enum "l2tpEstablished" { + value "10"; + } + enum "l2tpShuttingDown" { + value "11"; + } + enum "pptpWaitVAccess" { + value "12"; + } + enum "pptpPacEstablished" { + value "13"; + } + enum "pptpWaitTunnel" { + value "14"; + } + enum "pptpWaitOCRP" { + value "15"; + } + enum "pptpPnsEstablished" { + value "16"; + } + enum "pptpWaitCallDisc" { + value "17"; + } + enum "pptpTerminal" { + value "18"; + } + } + description + "The current state of a tunnel session. + L2F tunnel sessions will have states with the 'l2f' prefix. + L2TP tunnel sessions will have states with the 'l2tp' + prefix. + + Each state code is explained below: + + unknown: The current state of the tunnel's + session is unknown. + + l2fOpening: The session has just been + initiated through a tunnel and is + pending for the remote end reply + to complete the process. + + l2fOpen: The session is active. + + l2fCloseWait: The session has just been closed + and is pending for the remote end + reply to complete the process. + + l2fWaitingForTunnel: The session is in this state when + the tunnel which this session is + going through is still in CLOSED + state. It waits for the tunnel to + become OPEN before the session is + allowed to be fully established. + + l2tpIdle: No session is initiated yet. + + l2tpWaitingTunnel: The session is waiting for the + tunnel to be established. + + l2tpWaitReply: The session has been initiated and + is pending for the remote end + reply to complete the process. + + l2tpWaitConnect: This end has acknowledged a + connection request and is waiting + for the remote end to connect. + + l2tpEstablished: The session is active. + + l2tpShuttingDown: The session is in progress of + shutting down. + + pptpWaitVAccess: The session is waiting for the + creation of a virtual access + interface. + + pptpPacEstablished: The session is active. + + pptpWaitTunnel: The session is waiting for the + tunnel to be established. + + pptpWaitOCRP: The session has been initiated and + is pending for the remote end + reply to complete the process. + + pptpPnsEstablished: The session is active. + + pptpWaitCallDisc: Session shutdown is in progress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.3"; + } + + leaf cvpdnSessionAttrCallDuration { + type yang:timeticks; + description + "This object specifies the call duration of the current + active session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.4"; + } + + leaf cvpdnSessionAttrPacketsOut { + type yang:counter32; + units "packets"; + description + "The total number of output packets through this active + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.5"; + } + + leaf cvpdnSessionAttrBytesOut { + type yang:counter32; + units "bytes"; + description + "The total number of output bytes through this active + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.6"; + } + + leaf cvpdnSessionAttrPacketsIn { + type yang:counter32; + units "packets"; + description + "The total number of input packets through this active + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.7"; + } + + leaf cvpdnSessionAttrBytesIn { + type yang:counter32; + units "bytes"; + description + "The total number of input bytes through this active + session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.8"; + } + + leaf cvpdnSessionAttrDeviceType { + type enumeration { + enum "other" { + value "1"; + } + enum "asyncInternalModem" { + value "2"; + } + enum "async" { + value "3"; + } + enum "bchan" { + value "4"; + } + enum "sync" { + value "5"; + } + enum "virtualAccess" { + value "6"; + } + enum "xdsl" { + value "7"; + } + enum "cable" { + value "8"; + } + } + description + "The type of physical devices that this session is attached + to for the local end of the tunnel. The meaning of each + device type is explained below: + + other: Any device that has not been + defined. + + asyncInternalModem: Modem Pool device of an access + server. + + async: A regular asynchronous serial + interface. + + sync: A regular synchronous serial + interface. + + bchan: An ISDN call. + + xdsl: xDSL interface. + + cable: cable modem interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.9"; + } + + leaf cvpdnSessionAttrDeviceCallerId { + type snmpv2-tc:DisplayString; + description + "The incoming caller identification of the user. It is the + originating number that called into the device that + initiates the session. This object can be empty since not + all dial devices can provide caller ID information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.10"; + } + + leaf cvpdnSessionAttrDevicePhyId { + type if-mib:InterfaceIndexOrZero; + description + "The device ID of the physical interface for the session. + The object is the the interface index which points to the + ifTable. For virtual interfaces that are not in the + ifTable, the value will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.11"; + } + + leaf cvpdnSessionAttrMultilink { + type boolean; + description + "This object indicates whether the session is part of a + multilink PPP bundle, even if there is only one link or + session in the bundle. If it is multilink PPP, the value + is true."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.12"; + } + + leaf cvpdnSessionAttrModemSlotIndex { + type uint32; + description + "The Modem Pool database slot index if it is associated with + this session. Only a session with device of type + 'asyncInternalModem' will have a valid value for this + object; otherwise, it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.13"; + } + + leaf cvpdnSessionAttrModemPortIndex { + type uint32; + description + "The Modem Pool database port index if it is associated with + this session. Only a session with a device of type + 'asyncInternalModem' will have a valid value for this + object; otherwise, it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.14"; + } + + leaf cvpdnSessionAttrDS1SlotIndex { + type uint32; + description + "The DS1 database slot index if it is associated with this + session. Only a session with a device of type + 'asyncInternalModem' will have a valid value for this + object; otherwise it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.15"; + } + + leaf cvpdnSessionAttrDS1PortIndex { + type uint32; + description + "The DS1 database port index if it is associated with this + session. Only a session with a device of type + 'asyncInternalModem' will have a valid value for this + object; otherwise it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.16"; + } + + leaf cvpdnSessionAttrDS1ChannelIndex { + type uint32; + description + "The DS1 database channel index if it is associated with + this session. Only a session over a device of type + 'asyncInternalModem' will have a valid value for this + object; otherwise it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.17"; + } + + leaf cvpdnSessionAttrModemCallStartTime { + type yang:timestamp; + description + "The start time of the current modem call. Only a session + with a device of type 'asyncInternalModem' will have a + valid value for this object; otherwise, it is not + instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.18"; + } + + leaf cvpdnSessionAttrModemCallStartIndex { + type uint32; + description + "Arbitrary small integer to distinguish modem calls that + occurred at the same time tick. Only session over device + 'asyncInternalModem' will have a valid value for this + object; otherwise, it is not instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.19"; + } + + leaf cvpdnSessionAttrVirtualCircuitID { + type uint32; + description + "The virtual circuit ID of an active Layer 2 VPN session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.20"; + } + + leaf cvpdnSessionAttrSentPktsDropped { + type yang:counter32; + units "packets"; + description + "The total number of dropped packets that could not be sent + into this active session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.21"; + } + + leaf cvpdnSessionAttrRecvPktsDropped { + type yang:counter32; + units "packets"; + description + "The total number of dropped packets that were received from + this active session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.22"; + } + + leaf cvpdnSessionAttrMultilinkBundle { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "This object specifies the name of the multilink bundle to + which this session belongs. The value of this object is + only valid when the value of cvpdnSessionAttrMultilink is + 'true'. If the value of cvpdnSessionAttrMultilink is + 'false', then the value of this object will be the empty + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.23"; + } + + leaf cvpdnSessionAttrMultilinkIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This object specifies the ifIndex of the multilink bundle + to which this session belongs. The value of this object is + only valid when the value of cvpdnSessionAttrMultilink is + 'true'. If the value of cvpdnSessionAttrMultilink is + 'false', then the value of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3.2.1.24"; + } + } + } + + container cvpdnUserToFailHistInfoTable { + description + "Table of the record of failure objects which can be + referenced by an user name. Only a name that has a + valid item in the Cisco IOS VPDN failure history table + will yield a valid entry in this table. The table has + a maximum size of 50 entries. Only the newest 50 + entries will be kept in the table."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1"; + + list cvpdnUserToFailHistInfoEntry { + key "cvpdnUnameToFailHistUname cvpdnUnameToFailHistTunnelId"; + description + "An entry in the table, containing failure history + relevant to an user name."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1"; + + leaf cvpdnUnameToFailHistUname { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The user name for this failure entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.1"; + } + + leaf cvpdnUnameToFailHistTunnelId { + type uint32; + description + "The Tunnel ID for this failure entry. If it is the + instigator of the tunnel, the ID is the TS tunnel ID, + otherwise it is the NAS tunnel ID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.2"; + } + + leaf cvpdnUnameToFailHistUserId { + type uint32; + description + "The user ID of this failure entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.3"; + } + + leaf cvpdnUnameToFailHistLocalInitConn { + type boolean; + description + "This object indicates whether the tunnel in which the + failure occurred was generated locally or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.4"; + } + + leaf cvpdnUnameToFailHistLocalName { + type snmpv2-tc:DisplayString; + description + "The local name of the VPDN tunnel in which the failure + occurred. It will be the NAS name of the tunnel if the + system serves as the NAS, or the TS name of the tunnel + if the system serves as the tunnel server. The local + name is the configured host name of the system. This + object can be empty if the failure occurred prior to + successful tunnel projection, thus no source name will + be available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.5"; + } + + leaf cvpdnUnameToFailHistRemoteName { + type snmpv2-tc:DisplayString; + description + "The remote name of the VPDN tunnel in which the failure + occurred. It will be the tunnel server name of the + tunnel if the system is a NAS, or the NAS name of the + tunnel if the system serves as the tunnel server. This + object can be empty if the failure occurred prior to + successful tunnel projection, thus no source name will + be available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.6"; + } + + leaf cvpdnUnameToFailHistSourceIp { + type inet:ipv4-address; + status deprecated; + description + "The source IP address of the tunnel in which the + failure occurred. This IP address is that of the + interface at the instigator end of the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.7"; + } + + leaf cvpdnUnameToFailHistDestIp { + type inet:ipv4-address; + status deprecated; + description + "The destination IP address of the tunnel in which the + failure occurred. This IP address is that of the + interface at the receiver end of the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.8"; + } + + leaf cvpdnUnameToFailHistCount { + type yang:counter32; + units "failures"; + description + "This object is incremented when multiple failures has + been experienced by this user on this tunnel. Seeing a + delta of >1 is an indication that the current failure + record is the latest of a series of failures that has + been recorded."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.9"; + } + + leaf cvpdnUnameToFailHistFailTime { + type yang:timestamp; + description + "This object specifies the time when the failure is + occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.10"; + } + + leaf cvpdnUnameToFailHistFailType { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The type of failure for the current failure record. It + comes in a form of a an ASCII string which describes + the type of failure."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.11"; + } + + leaf cvpdnUnameToFailHistFailReason { + type snmpv2-tc:DisplayString { + length "1..255"; + } + description + "The reason of failure for the current failure record."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.12"; + } + + leaf cvpdnUnameToFailHistSourceInetType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnUnameToFailHistSourceInetAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.13"; + } + + leaf cvpdnUnameToFailHistSourceInetAddr { + type inet-address:InetAddress; + description + "The source IP address of the tunnel in which the + failure occurred. This IP address is that of the + interface at the instigator end of the tunnel. The + instigator end is the peer which initiates the tunnel + estalishment. The type of this address is determined + by the value of cvpdnUnameToFailHistSourceInetType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.14"; + } + + leaf cvpdnUnameToFailHistDestInetType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnUnameToFailHistDestInetAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.15"; + } + + leaf cvpdnUnameToFailHistDestInetAddr { + type inet-address:InetAddress; + description + "The destination IP address of the tunnel in which the + failure occurred. This IP address is that of the + interface at the receiver end of the tunnel. The type + of this address is determined by the value of + cvpdnUnameToFailHistDestInetType."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4.1.1.16"; + } + } + } + + container cvpdnTemplateTable { + description + "Table of information about the VPDN templates. The + VPDN template is a grouping mechanism that allows + configuration settings to be shared among multiple VPDN + groups. One such setting is a limit on the number of + active sessions across all VPDN groups associated with + the template. The template table allows customers to + monitor template-wide information such as tracking the + allocation of sessions across templates."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.5.1"; + + list cvpdnTemplateEntry { + key "cvpdnTemplateName"; + smiv2:implied "cvpdnTemplateName"; + description + "An entry in the table, containing information about a + single VPDN template."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.5.1.1"; + + leaf cvpdnTemplateName { + type snmp-framework:SnmpAdminString { + length "1..255"; + } + description + "The name of the VPDN template."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.5.1.1.1"; + } + + leaf cvpdnTemplateActiveSessions { + type yang:gauge32; + units "sessions"; + description + "The total number of active session in all groups + associated with the template."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.5.1.1.2"; + } + } + } + + container cvpdnBundleTable { + description + "Table that describes the multilink PPP attributes of the + active VPDN sessions."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4"; + + list cvpdnBundleEntry { + key "cvpdnBundleName"; + description + "An entry in this table represents an active multilink PPP + bundle that belongs to a VPDN tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1"; + + leaf cvpdnBundleName { + type snmp-framework:SnmpAdminString { + length "1..64"; + } + description + "The name of the multilink PPP bundle associated with a VPDN + tunnel."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.1"; + } + + leaf cvpdnBundleLinkCount { + type yang:gauge32; + units "links"; + description + "The total number of active links in a multilink PPP bundle + associated with a VPDN tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.2"; + } + + leaf cvpdnBundleEndpointType { + type enumeration { + enum "none" { + value "1"; + } + enum "hostname" { + value "2"; + } + enum "string" { + value "3"; + } + enum "macAddress" { + value "4"; + } + enum "ipV4Address" { + value "5"; + } + enum "ipV6Address" { + value "6"; + } + enum "phone" { + value "7"; + } + enum "magicNumber" { + value "8"; + } + } + status deprecated; + description + "The multilink PPP bundle discriminator type associated with + a VPDN tunnel. The value of this object represents the type + of discriminator used in cvpdnBundleEndpoint. + + none: No endpoint discriminator was supplied, the + default value is being used. + + hostname: The router's hostname is being used as + discriminator. + + string: User specified string is being used as + discriminator. + + macAddress: A MAC address as defined by the MacAddress + textual convention is being used as + discriminator. + + ipV4Address: An IP address as defined by the + InetAddressIPv4 textual convention is being + used as discriminator. + + ipV6Address: An IP address as defined by the + InetAddressIPv6 textual convention is being + used as discriminator. + + phone: The PSTN phone number is being used as + discriminator. + + magicNumber: A magic number is being used as + discriminator."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.3"; + } + + leaf cvpdnBundleEndpoint { + type binary { + length "0..255"; + } + description + "Indicates the discriminator used in this bundle that is + associated with a VPDN tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.4"; + } + + leaf cvpdnBundlePeerIpAddrType { + type inet-address:InetAddressType; + description + "Indicates the type of address contained in + cvpdnBundlePeerIpAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.5"; + } + + leaf cvpdnBundlePeerIpAddr { + type inet-address:InetAddress; + description + "The IP address of the multilink PPP peer in a VPDN tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.6"; + } + + leaf cvpdnBundleEndpointClass { + type CISCO-VPDN-MGMT-MIB:EndpointClass; + description + "The multilink PPP bundle discriminator class associated + with a VPDN tunnel. The value of this object represents the + type of discriminator used in cvpdnBundleEndpoint."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.4.1.7"; + } + } + } + + container cvpdnBundleChildTable { + description + "A table that exposes the containment relationship between a + multilink PPP bundle and a VPDN tunnel."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.6"; + + list cvpdnBundleChildEntry { + key "cvpdnBundleName cvpdnBundleChildTunnelType cvpdnBundleChildTunnelId cvpdnBundleChildSessionId"; + description + "An entry in this table represents a session that belongs to + a VPDN tunnel and to a multilink PPP bundle."; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.6.1"; + + leaf cvpdnBundleName { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnBundleTable/CISCO-VPDN-MGMT-MIB:cvpdnBundleEntry/CISCO-VPDN-MGMT-MIB:cvpdnBundleName"; + } + } + + leaf cvpdnBundleChildTunnelType { + type CISCO-VPDN-MGMT-MIB:TunnelType; + description + "The tunnel type. This is the tunnel protocol of an active + VPDN session that is associated with a multilink PPP + bundle."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.6.1.1"; + } + + leaf cvpdnBundleChildTunnelId { + type uint32; + description + "The Tunnel ID of an active VPDN session that is associated + with a multilink PPP bundle."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.6.1.2"; + } + + leaf cvpdnBundleChildSessionId { + type uint32; + description + "The ID of an active VPDN session that is associated with a + multilink PPP bundle."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6.6.1.3"; + } + } + } + } + + notification cvpdnNotifSession { + description + "Conveys an event regarding the L2X session with the + indicated session ID and Xconnect VCID."; + smiv2:oid "1.3.6.1.4.1.9.10.24.0.3"; + + container object-1 { + + leaf cvpdnNotifSessionID { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:ciscoVpdnMgmtMIBNotifs/CISCO-VPDN-MGMT-MIB:cvpdnNotifSessionID"; + } + } + } + + container object-2 { + + leaf cvpdnNotifSessionEvent { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:ciscoVpdnMgmtMIBNotifs/CISCO-VPDN-MGMT-MIB:cvpdnNotifSessionEvent"; + } + } + } + + container object-3 { + + leaf cvpdnSystemTunnelType { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSystemTable/CISCO-VPDN-MGMT-MIB:cvpdnSystemEntry/CISCO-VPDN-MGMT-MIB:cvpdnSystemTunnelType"; + } + } + + leaf cvpdnTunnelAttrTunnelId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTunnelId"; + } + } + + leaf cvpdnSessionAttrSessionId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrSessionId"; + } + } + + leaf cvpdnSessionAttrDevicePhyId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrDevicePhyId"; + } + } + } + + container object-4 { + + leaf cvpdnSystemTunnelType { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSystemTable/CISCO-VPDN-MGMT-MIB:cvpdnSystemEntry/CISCO-VPDN-MGMT-MIB:cvpdnSystemTunnelType"; + } + } + + leaf cvpdnTunnelAttrTunnelId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnTunnelAttrTunnelId"; + } + } + + leaf cvpdnSessionAttrSessionId { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrSessionId"; + } + } + + leaf cvpdnSessionAttrVirtualCircuitID { + type leafref { + path "/CISCO-VPDN-MGMT-MIB:CISCO-VPDN-MGMT-MIB/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrTable/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrEntry/CISCO-VPDN-MGMT-MIB:cvpdnSessionAttrVirtualCircuitID"; + } + } + } + } + + smiv2:alias "ciscoVpdnMgmtMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.24"; + } + + smiv2:alias "ciscoVpdnMgmtMIBNotifs" { + smiv2:oid "1.3.6.1.4.1.9.10.24.0"; + } + + smiv2:alias "ciscoVpdnMgmtMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1"; + } + + smiv2:alias "cvpdnSystemInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.1"; + } + + smiv2:alias "cvpdnTunnelInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.2"; + } + + smiv2:alias "cvpdnTunnelSessionInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.3"; + } + + smiv2:alias "cvpdnUserToFailHistInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.4"; + } + + smiv2:alias "cvpdnTemplateInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.5"; + } + + smiv2:alias "cvpdnMultilinkInfo" { + smiv2:oid "1.3.6.1.4.1.9.10.24.1.6"; + } + + smiv2:alias "ciscoVpdnMgmtMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.24.3"; + } + + smiv2:alias "ciscoVpdnMgmtMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.24.3.1"; + } + + smiv2:alias "ciscoVpdnMgmtMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.24.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/CISCO-VTP-MIB.yang b/vendor/cisco/xe/17151/MIBS/CISCO-VTP-MIB.yang new file mode 100644 index 000000000..827ffcf7f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/CISCO-VTP-MIB.yang @@ -0,0 +1,3699 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/CISCO-VTP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang CISCO-VTP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module CISCO-VTP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB"; + prefix CISCO-VTP-MIB; + + import CISCO-TC { + prefix "cisco-tc"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import RMON-MIB { + prefix "rmon-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-wbu@cisco.com, + cs-lan-switch-snmp@cisco.com"; + + description + "The MIB module for entities implementing the VTP + protocol and Vlan management."; + + revision 2013-10-14 { + description + "Added following OBJECT-GROUP + - vtpSourceInterfaceGroup + - vtpConfigFileGroup + - vtpVlanLocalShutdownGroup + - vtpLocalUpdaterGroup + - vtpDeviceIdGroup + Added new compliance + - vtpMIBCompliance16."; + } + + revision 2010-05-12 { + description + "Added vlanTrunkPortActiveVlansGroup. + Updated the description of vtpServerDisabled."; + } + + revision 2009-12-03 { + description + "Added vtpTrunkPruningGroup3 and + vtpConfigNotificationsGroup8. Modified the + description of vtpNotificationsEnabled and + managementDomainPruningState."; + } + + revision 2008-03-07 { + description + "Added vlanStatsGroup. Deprecated + vtpConfigNotificationsGroup5 and replaced + it with vtpConfigNotificationsGroup6 and + vtpConfigNotificationsGroup7."; + } + + revision 2007-10-04 { + description + "Correct the descriptions of the object + vtpConfigDigestErrors and the tables vtpVlanTable + and vtpInternalVlanTable."; + } + + revision 2006-02-17 { + description + "Removed the OwnerString TEXTUAL-CONVENTION and + imported the same from RMON-MIB."; + } + + revision 2004-02-11 { + description + "Added 'dynamicGvrp(4)' for the TC VlanTypeExt."; + } + + revision 2003-11-21 { + description + "Add vtpInternalVlanGrp to configure internal + VLANs' allocation policy and show the owner + application names."; + } + + revision 2003-08-08 { + description + "Split vtpConfigNotificationsGroup into two groups: + vtpConfigNotificationsGroupRev1 and + vtpConfigNotificationsGroup5. Write a new compliance + statement to list vtpConfigNotificationsGroupRev1 in + instead of vtpConfigNotificationsGroup in the + MANDATORY-GROUPS."; + } + + revision 2003-07-11 { + description + "Modify the description of the TC VlanIndex."; + } + + revision 2003-04-16 { + description + "Add support for VTP version 3 features. + -- Add enumerators and modify the 'DESCRIPTION' of 6 + existing objects: + vtpVersion, managementDomainLocalMode, + managementDomainConfigRevNumber, + managementDomainLastUpdater, + managementDomainLastChange, + managementDomainVersionInUse. + -- Add 3 new groups: vtpAuthGroup, + vtpDiscoverGroup, vtpDatabaseGroup."; + } + + revision 2002-04-10 { + description + "-- Add 4 new notifications/traps vtpLocalModeChanged, + vtpVersionInUseChanged, vtpVlanCreated and + vtpVlanDeleted. + -- Add 2 new objects vtpVlanCreatedNotifEnabled and + vtpVlanDeletedNotifEnabled to control the + generation of vtpVlanCreated and vtpVlanDeleted. + -- Use vtpNotificationsEnabled to control the + generation of vtpLocalModeChanged and + vtpVersionInUseChanged by grouping them in a + new group vtpConfigNotificationsGroup2. + -- Deprecate the object vlanTrunkPortsDot1qTag and + its related group."; + } + + revision 2002-02-28 { + description + "Deprecate the object, vlanTrunkPortDot1qTunnel."; + } + + revision 2001-08-03 { + description + "Add a new off(4) mode to managementDomainLocalMode."; + } + + revision 2001-02-26 { + description + "Deprecate read-only object vtpVlanEditTypeExt and + add a new read-create object vtpVlanEditTypeExt2. + Enable Notification groups."; + } + + revision 2001-02-12 { + description + "Added Remote SPAN (RSPAN) VLAN feature, VLAN + management features without supporting VTP protocol + and a new object to handle one-VLAN-editing."; + } + + revision 2000-09-19 { + description + "Added the mapping from VLAN ID to its corresponding + ifIndex"; + } + + revision 2000-04-10 { + description + "Added 4k VLAN editing and Dot1qTunnel support"; + } + + revision 2000-01-06 { + description + "Added 4k VLAN support"; + } + + revision 1999-02-25 { + description + "Added import of NOTIFICATION-GROUP"; + } + + revision 1999-01-05 { + description + "Added support for encapsulation type notApplicable"; + } + + revision 1998-05-19 { + description + "Added support for encapsulation type negotiation"; + } + + revision 1997-08-08 { + description + "Added Backup CRF object"; + } + + revision 1997-05-09 { + description + "Added ARE and STE hop counts."; + } + + revision 1997-02-24 { + description + "Added support for turning on VTP for Trunk cards."; + } + + revision 1997-01-27 { + description + "Added support for version 2 features."; + } + + revision 1996-09-16 { + description + "Updated the Token-Ring support."; + } + + revision 1996-07-17 { + description + "Updated to include objects in support of VTP pruning."; + } + + revision 1996-01-18 { + description + "Initial version of this MIB module."; + } + + typedef VlanIndex { + type int32 { + range "0..4095"; + } + description + "The VLAN-id of a VLAN on ISL or 802.1q trunks. + + Modification of default parameters is allowed. + Implementations are allowed to restrict + the range of VLANs. + + For entities support up to 1024 VLANS. + VLANs above 1000 are reserved for default VLANs and + future use. Modification of default parameters is + allowed. Creation or deletion of VLANs above 1000 is not + allowed. + + For a new object which needs the vlan-id of a VLAN as + its SYNTAX, it is suggested to import VlanIndex from + Q-BRIDGE-MIB instead of importing this TC here in + CISCO-VTP-MIB."; + } + + typedef ManagementDomainIndex { + type int32 { + range "1..255"; + } + description + "An arbitrary integer-value to uniquely identify a + management domain on the local system."; + } + + typedef VlanType { + type enumeration { + enum "ethernet" { + value "1"; + } + enum "fddi" { + value "2"; + } + enum "tokenRing" { + value "3"; + } + enum "fddiNet" { + value "4"; + } + enum "trNet" { + value "5"; + } + enum "deprecated" { + value "6"; + } + } + description + "The type of a VLAN. + + Note that the 'ethernet' type, is used for any ethernet or + 802.3 VLAN, including an ATM Ethernet ELAN; and the + 'tokenRing' ('trCrf') type is used for each VLAN + representing a single logical 802.5 ring including an ATM + Token-Ring ELAN. + + The 'trCrf' type is used for token ring VLANs made up of + (at most) one transparently bridged LAN segment. + + The 'trBrf' type is used for VLANs which represent the + scope of many 'trCrf' VLANs all connected together via + source route bridging. The token ring 'trBrf' can be said + to represent the bridged broadcast domain."; + } + + typedef VlanTypeExt { + type bits { + bit vtpmanageable { + position "0"; + } + bit internal { + position "1"; + } + bit reserved { + position "2"; + } + bit rspan { + position "3"; + } + bit dynamicGvrp { + position "4"; + } + } + description + "The additional type information of VLAN. + vtpmanageable(0) An user defined VLAN which is + manageable through VTP protocol. + The value of this bit cannot be + changed. + internal(1) An internal VLAN created by the device. + Internal VLANs cannot be created or + deleted. The value of this bit cannot + be changed. + reserved(2) A VLAN reserved by the device. + Reserved VLANs cannot be created or + deleted. The value of this bit cannot + be changed. + rspan(3) A VLAN created to exclusively carry + the traffic for a Remote Switched + Port Analyzer (RSPAN). This bit can + only be set or cleared during the + VLAN creation. Once the VLAN is + created, the value of this bit cannot + be modified. + dynamicGvrp(4) A VLAN dynamically created by GVRP + (GARP VLAN Registration Protocol) + propagation. The value of this bit + cannot be changed."; + reference + "RFC2674."; + } + + + container CISCO-VTP-MIB { + config false; + + container vtpStatus { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1"; + + leaf vtpVersion { + type enumeration { + enum "one" { + value "1"; + } + enum "two" { + value "2"; + } + enum "none" { + value "3"; + } + enum "three" { + value "4"; + } + } + description + "The version of VTP in use on the local system. A device + will report its version capability and not any particular + version in use on the device. If the device does not support + vtp, the version is none(3)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1.1"; + } + + leaf vtpMaxVlanStorage { + type int32 { + range "-1..1023"; + } + description + "An estimate of the maximum number of VLANs about which the + local system can recover complete VTP information after a + reboot. If the number of defined VLANs is greater than this + value, then the system can not act as a VTP Server. For a + device which has no means to calculate the estimated number, + this value is -1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1.2"; + } + + leaf vtpNotificationsEnabled { + type boolean; + description + "An indication of whether the notifications/traps defined by + the vtpConfigNotificationsGroup, vtpConfigNotificationsGroup2, + and vtpConfigNotificationsGroup8 are enabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1.3"; + } + + leaf vtpVlanCreatedNotifEnabled { + type boolean; + description + "An indication of whether the notification should + be generated when a VLAN is created. + + If the value of this object is 'true' then the + vtpVlanCreated notification will be generated. + + If the value of this object is 'false' then the + vtpVlanCreated notification will not be generated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1.4"; + } + + leaf vtpVlanDeletedNotifEnabled { + type boolean; + description + "An indication of whether the notification should + be generated when a VLAN is deleted. + + If the value of this object is 'true' then the + vtpVlanDeleted notification will be generated. + + If the value of this object is 'false' then the + vtpVlanDeleted notification will not be generated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1.5"; + } + } + + container internalVlanInfo { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2"; + + leaf vtpInternalVlanAllocPolicy { + type enumeration { + enum "ascending" { + value "1"; + } + enum "descending" { + value "2"; + } + } + description + "The internal VLAN allocation policy. + + 'ascending' - internal VLANs are allocated + starting from a lowwer VLAN ID and + upwards. + 'descending' - internal VLANs are allocated + starting from a higher VLAN ID and + downwards."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2.1"; + } + } + + container vlanTrunkPorts { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6"; + + leaf vlanTrunkPortSetSerialNo { + type snmpv2-tc:TestAndIncr; + description + "An advisory lock used to allow several cooperating SNMPv2 + managers to coordinate their use of the SNMPv2 set operation + acting upon any instance of vlanTrunkPortVlansEnabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.2"; + } + + leaf vlanTrunkPortsDot1qTag { + type boolean; + status deprecated; + description + "An indication of whether the tagging on all VLANs including + native VLAN for all 802.1q trunks is enabled. + + If this object has a value of true(1) then all VLANs + including native VLAN are tagged. If the value is false(2) + then all VLANs excluding native VLAN are tagged. + + This object has been deprecated and is replaced by the + object 'cltcDot1qAllTaggedEnabled' in the + CISCO-L2-TUNNEL-CONFIG-MIB"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.3"; + } + } + + container vlanStatistics { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10"; + + leaf vlanStatsVlans { + type uint32; + description + "This object indicates the number of the existing + manageable VLANs with VLAN indices from 1 to + 1024 in the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10.1"; + } + + leaf vlanStatsExtendedVlans { + type uint32; + description + "This object indicates the number of the + existing manageable VLANs with VLAN indices + greater than 1024 in the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10.2"; + } + + leaf vlanStatsInternalVlans { + type uint32; + description + "This object indicates the number of the + internal VLANs existing in the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10.3"; + } + + leaf vlanStatsFreeVlans { + type uint32; + description + "This object indicates the number of the + free or unused VLANs in the system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10.4"; + } + } + + container managementDomainTable { + description + "The table containing information on the management domains + in which the local system is participating. Devices which + support only one management domain will support just one row + in this table, and will not let it be deleted nor let other + rows be created. Devices which support multiple management + domains will allow rows to be created and deleted, but will + not allow the last row to be deleted. If the device does + not support VTP, the table is read-only."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1"; + + list managementDomainEntry { + key "managementDomainIndex"; + description + "Information about the status of one management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1"; + + leaf managementDomainIndex { + type CISCO-VTP-MIB:ManagementDomainIndex; + description + "An arbitrary value to uniquely identify the management + domain on the local system."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.1"; + } + + leaf managementDomainName { + type snmpv2-tc:DisplayString { + length "0..32"; + } + description + "The management name of a domain in which the local system + is participating. The zero-length name corresponds to the + 'no management-domain' state which is the initial value at + installation-time if not configured otherwise. Note that + the zero-length name does not correspond to an operational + management domain, and a device does not send VTP + advertisements while in the 'no management-domain' state. A + device leaves the 'no management-domain' state when it + obtains a management-domain name, either through + configuration or through inheriting the management-domain + name from a received VTP advertisement. + + When the value of an existing instance of this object is + modified by network management, the local system should re- + initialize its VLAN information (for the given management + domain) as if it had just been configured with a management + domain name at installation time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.2"; + } + + leaf managementDomainLocalMode { + type enumeration { + enum "client" { + value "1"; + } + enum "server" { + value "2"; + } + enum "transparent" { + value "3"; + } + enum "off" { + value "4"; + } + } + description + "The local VTP mode in this management domain when + managementDomainVersionInUse is version1(1) or + version2(2). + + If managementDomainVersionInUse is version3(4), this + object has the same value with vtpDatabaseLocalMode + of VLAN database type. + + - 'client' indicates that the local system is acting + as a VTP client. + + - 'server' indicates that the local system is acting + as a VTP server. + + - 'transparent' indicates that the local system does + not generate or listen to VTP messages, but forwards + messages. This mode can also be set by the device + itself when the amount of VLAN information is too + large for it to hold in DRAM. + + - 'off' indicates that the local system does not + generate, listen to or forward any VTP messages."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.3"; + } + + leaf managementDomainConfigRevNumber { + type yang:gauge32; + description + "The current Configuration Revision Number as known by + the local device for this management domain when + managementDomainVersionInUse is version1(1) or + version2(2). + + If managementDomainVersionInUse is version3(4), this + object has the same value with vtpDatabaseRevisionNumber + of VLAN database type. + + This value is updated (if necessary) whenever a VTP + advertisement is received or generated. When in the + 'no management-domain' state, this value is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.4"; + } + + leaf managementDomainLastUpdater { + type inet:ipv4-address; + description + "The IP-address (or one of them) of the VTP Server which + last updated the Configuration Revision Number, as indicated + in the most recently received VTP advertisement for this + management domain, when managementDomainVersionInUse is + version1(1) or version2(2). + + If managementDomainVersionInUse is version3(4), this object + has the value of 0.0.0.0. + + Before an advertisement has been received, this value is + 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.5"; + } + + leaf managementDomainLastChange { + type snmpv2-tc:DateAndTime; + description + "The time at which the Configuration Revision Number was + (last) increased to its current value, as indicated in the + most recently received VTP advertisement for this management + domain when managementDomainVersionInUse is not version3(4) + or in the most recently received VTP VLAN database + advertisement for this management domain when + managementDomainVersionInUse is version3(4). + + The value 0x0000010100000000 indicates that the device which + last increased the Configuration Revision Number had no idea + of the date/time, or that no advertisement has been + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.6"; + } + + leaf managementDomainRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.7"; + } + + leaf managementDomainTftpServer { + type inet:ipv4-address; + description + "The IP address of a TFTP Server in/from which VTP VLAN + information for this management domain is to be + stored/retrieved. If the information is being locally + stored in NVRAM, this object should take the value 0.0.0.0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.8"; + } + + leaf managementDomainTftpPathname { + type snmpv2-tc:DisplayString; + description + "The complete pathname of the file at the TFTP Server + identified by the value of managementDomainTftpServer + in/from which VTP VLAN information for this management + domain is to be stored/retrieved. If the value of + corresponding instance of managementDomainTftpServer is + 0.0.0.0, the value of this object is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.9"; + } + + leaf managementDomainPruningState { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "An indication of whether VTP pruning is enabled or disabled + in this managament domain. + + This object can only be modified, either when the + corresponding instance value of managementDomainVersionInUse + is 'version1' or 'version2' and the corresponding instance + value of managementDomainLocalMode is 'server', or when the + corresponding instance value of managementDomainVersionInUse + is 'version3' and the corresponding instance value of + managementDomainLocalMode is 'server' or 'client'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.10"; + } + + leaf managementDomainVersionInUse { + type enumeration { + enum "version1" { + value "1"; + } + enum "version2" { + value "2"; + } + enum "none" { + value "3"; + } + enum "version3" { + value "4"; + } + } + description + "The current version of the VTP that is in use by the + designated management domain. + + This object can be set to none(3) only when + vtpVersion is none(3)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.11"; + } + + leaf managementDomainPruningStateOper { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether VTP pruning is operationally enabled or + disabled in this managament domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.12"; + } + + leaf managementDomainAdminSrcIf { + type snmp-framework:SnmpAdminString; + description + "The object specifies the interface to be used as the + preferred source interface for the VTP IP updater address. + + A zero length value indicates that a source interface is not + specified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.13"; + } + + leaf managementDomainSourceOnlyMode { + type boolean; + description + "The object specifies whether to use only the IP address of + managementDomainAdminSrcIf as the VTP IP updater address. + + 'true' indicates to only use the IP address of + managementDomainAdminSrcIf as the VTP IP + updater address. + + 'false' indicates to use the IP address of + managementDomainAdminSrcIf as the VTP IP + updater address if managementDomainAdminSrcIf + is configured with an IP address. Otherwise, the + first available IP address of the system will + be used."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.14"; + } + + leaf managementDomainOperSrcIf { + type snmp-framework:SnmpAdminString; + description + "The object indicates the interface used as the + preferred source interface for the VTP IP updater address. + + A zero length string indicates that a source interface is not + available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.15"; + } + + leaf managementDomainConfigFile { + type snmp-framework:SnmpAdminString; + description + "The object specifies the file name where VTP configuration + is stored in the format of or :[]. + + can be (but not limited to): flash, bootflash, + slot0, slot1, disk0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.16"; + } + + leaf managementDomainLocalUpdaterType { + type inet-address:InetAddressType; + description + "The object indicates the type of the Internet address + of the preferred source interface for the VTP IP updater. + + The value of this object is 'unknown' if + managementDomainVersionInUse is 'version3' or + managementDomainLocalMode is not 'server'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.17"; + } + + leaf managementDomainLocalUpdater { + type inet-address:InetAddress; + description + "The object indicates the Internet address of the + preferred source interface for the VTP IP updater."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.18"; + } + + leaf managementDomainDeviceID { + type snmp-framework:SnmpAdminString; + description + "The object indicates a value that uniquely identifies + this device within a VTP Domain. + + The value of this object is zero length string if + managementDomainVersionInUse is not 'version3'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2.1.1.19"; + } + } + } + + container vtpVlanTable { + description + "This table contains information on the VLANs which + currently exist."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1"; + + list vtpVlanEntry { + key "managementDomainIndex vtpVlanIndex"; + description + "Information about one current VLAN. The + managementDomainIndex value in the INDEX clause indicates + which management domain the VLAN is in."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type CISCO-VTP-MIB:VlanIndex; + description + "The VLAN-id of this VLAN on ISL or 802.1q trunks."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.1"; + } + + leaf vtpVlanState { + type enumeration { + enum "operational" { + value "1"; + } + enum "suspended" { + value "2"; + } + enum "mtuTooBigForDevice" { + value "3"; + } + enum "mtuTooBigForTrunk" { + value "4"; + } + } + description + "The state of this VLAN. + + The state 'mtuTooBigForDevice' indicates that this device + cannot participate in this VLAN because the VLAN's MTU is + larger than the device can support. + + The state 'mtuTooBigForTrunk' indicates that while this + VLAN's MTU is supported by this device, it is too large for + one or more of the device's trunk ports."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.2"; + } + + leaf vtpVlanType { + type CISCO-VTP-MIB:VlanType; + description + "The type of this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.3"; + } + + leaf vtpVlanName { + type snmpv2-tc:DisplayString { + length "1..32"; + } + description + "The name of this VLAN. This name is used as the ELAN-name + for an ATM LAN-Emulation segment of this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.4"; + } + + leaf vtpVlanMtu { + type int32 { + range "1500..18190"; + } + description + "The MTU size on this VLAN, defined as the size of largest + MAC-layer (information field portion of the) data frame + which can be transmitted on the VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.5"; + } + + leaf vtpVlanDot10Said { + type binary { + length "4"; + } + description + "The value of the 802.10 SAID field for this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.6"; + } + + leaf vtpVlanRingNumber { + type int32 { + range "0..4095"; + } + description + "The ring number of this VLAN. This object is only + instantiated when the value of the corresponding instance of + vtpVlanType has a value of 'fddi' or 'tokenRing' and Source + Routing is in use on this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.7"; + } + + leaf vtpVlanBridgeNumber { + type int32 { + range "0..15"; + } + description + "The bridge number of the VTP-capable switches for this + VLAN. This object is only instantiated for VLANs that are + involved with emulating token ring segments."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.8"; + } + + leaf vtpVlanStpType { + type enumeration { + enum "ieee" { + value "1"; + } + enum "ibm" { + value "2"; + } + enum "hybrid" { + value "3"; + } + } + description + "The type of the Spanning Tree Protocol (STP) running on + this VLAN. This object is only instanciated when the + value of the corresponding instance of vtpVlanType has a + value of 'fddiNet' or 'trNet'. + + The value returned by this object depends upon the value + of the corresponding instance of vtpVlanEditStpType. + + - 'ieee' indicates IEEE STP is running exclusively. + + - 'ibm' indicates IBM STP is running exclusively. + + - 'hybrid' indicates a STP that allows a combination of + IEEE and IBM is running. + + The 'hybrid' STP type results from tokenRing/fddi VLANs + that are children of this trNet/fddiNet parent VLAN being + configured in a combination of SRT and SRB + vtpVlanBridgeTypes while the instance of + vtpVlanEditStpType that corresponds to this object is set + to 'auto'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.9"; + } + + leaf vtpVlanParentVlan { + type CISCO-VTP-MIB:VlanIndex; + description + "The parent VLAN for this VLAN. This object is only + instantiated when the value of the corresponding instance of + vtpVlanType has a value of 'fddi' or 'tokenRing' and Source + Routing is in use on this VLAN. The parent VLAN must have + a vtpVlanType value of fddiNet(4) or trNet(5), + respectively."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.10"; + } + + leaf vtpVlanTranslationalVlan1 { + type CISCO-VTP-MIB:VlanIndex; + description + "A VLAN to which this VLAN is being translational-bridged. + If this value and the corresponding instance of + vtpVlanTranslationalVlan2 are both zero, then this VLAN is + not being translational-bridged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.11"; + } + + leaf vtpVlanTranslationalVlan2 { + type CISCO-VTP-MIB:VlanIndex; + description + "Another VLAN, i.e., other than that indicated by + vtpVlanTranslationalVlan1, to which this VLAN is being + translational-bridged. If this value and the corresponding + instance of vtpVlanTranslationalVlan1 are both zero, then + this VLAN is not being translational-bridged."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.12"; + } + + leaf vtpVlanBridgeType { + type enumeration { + enum "none" { + value "0"; + } + enum "srt" { + value "1"; + } + enum "srb" { + value "2"; + } + } + description + "The type of the Source Route bridging mode in use on this + VLAN. This object is only instantiated when the value of + the corresponding instance of vtpVlanType has a value of + fddi(2) or tokenRing(3) and Source Routing is in use on + this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.13"; + } + + leaf vtpVlanAreHopCount { + type int32 { + range "1..13"; + } + description + "The maximum number of bridge hops allowed in + All Routes Explorer frames on this VLAN. This + object is only instantiated when the value of the + corresponding instance of vtpVlanType has a value of fddi(2) + or tokenRing(3) and Source Routing is in use on this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.14"; + } + + leaf vtpVlanSteHopCount { + type int32 { + range "1..13"; + } + description + "The maximum number of bridge hops allowed in + Spanning Tree Explorer frames on this VLAN. This + object is only instantiated when the value of the + corresponding instance of vtpVlanType has a value of fddi(2) + or tokenRing(3) and Source Routing is in use on this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.15"; + } + + leaf vtpVlanIsCRFBackup { + type boolean; + description + "True if this VLAN is of type trCrf and also is acting as + a backup trCrf for the ISL distributed BRF"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.16"; + } + + leaf vtpVlanTypeExt { + type CISCO-VTP-MIB:VlanTypeExt; + description + "The additional type information of this VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.17"; + } + + leaf vtpVlanIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The value of the ifIndex corresponding to this VLAN ID. + If the VLAN ID does not have its corresponding interface, + this object has the value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.1.1.18"; + } + } + } + + container vtpInternalVlanTable { + description + "A vtpInternalVlanTable entry contains + information on an existing internal + VLAN. It is internally created by the + device for a specific application program + and hence owned by the application. + It cannot be modified or deleted by (local + or network) management."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2.2"; + + list vtpInternalVlanEntry { + key "managementDomainIndex vtpVlanIndex"; + description + "Information about one current internal + VLAN."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2.2.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpInternalVlanOwner { + type snmp-framework:SnmpAdminString; + description + "The program name of the internal VLAN's + owner application. This internal VLAN + is allocated by the device specifically + for this application and no one else + could create, modify or delete this + VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2.2.1.1"; + } + } + } + + container vtpVlanEditTable { + description + "The table which contains the information in the Edit + Buffers, one Edit Buffer per management domain. The + information for a particular management domain is + initialized, by a 'copy' operation, to be the current global + VLAN information for that management domain. After + initialization, editing can be performed to add VLANs, + delete VLANs, or modify their global parameters. The + information as modified through editing is local to this + Edit Buffer. An apply operation using the + vtpVlanEditOperation object is necessary to instanciate the + modified information as the new global VLAN information for + that management domain. + + To use the Edit Buffer, a manager acts as follows: + + 1. ensures the Edit Buffer for a management domain is empty, + i.e., there are no rows in this table for this management + domain. + + 2. issues a SNMP set operation which sets + vtpVlanEditOperation to 'copy', and vtpVlanEditBufferOwner + to its own identifier (e.g., its own IP address). + + 3. if this set operation is successful, proceeds to edit the + information in the vtpVlanEditTable. + + 4. if and when the edited information is to be instantiated, + issues a SNMP set operation which sets vtpVlanEditOperation + to 'apply'. + + 5. issues retrieval requests to obtain the value of + vtpVlanApplyStatus, until the result of the apply is + determined. + + 6. releases the Edit Buffer by issuing a SNMP set operation + which sets vtpVlanEditOperation to 'release'. + + Note that the information contained in this table is not + saved across agent reboots."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2"; + + list vtpVlanEditEntry { + key "managementDomainIndex vtpVlanEditIndex"; + description + "Information about one VLAN in the Edit Buffer for a + particular management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanEditIndex { + type CISCO-VTP-MIB:VlanIndex; + description + "The VLAN-id which this VLAN would have on ISL or + 802.1q trunks."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.1"; + } + + leaf vtpVlanEditState { + type enumeration { + enum "operational" { + value "1"; + } + enum "suspended" { + value "2"; + } + } + description + "The state which this VLAN would have."; + smiv2:defval "operational"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.2"; + } + + leaf vtpVlanEditType { + type CISCO-VTP-MIB:VlanType; + description + "The type which this VLAN would have. + An implementation may restrict access to this object."; + smiv2:defval "ethernet"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.3"; + } + + leaf vtpVlanEditName { + type snmpv2-tc:DisplayString { + length "1..32"; + } + description + "The name which this VLAN would have. This name would be + used as the ELAN-name for an ATM LAN-Emulation segment of + this VLAN. + + An implementation may restrict access to this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.4"; + } + + leaf vtpVlanEditMtu { + type int32 { + range "1500..18190"; + } + description + "The MTU size which this VLAN would have, defined as the + size of largest MAC-layer (information field portion of the) + data frame which can be transmitted on the VLAN. + + An implementation may restrict access to this object."; + smiv2:defval "1500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.5"; + } + + leaf vtpVlanEditDot10Said { + type binary { + length "4"; + } + description + "The value of the 802.10 SAID field which would be used for + this VLAN. + + An implementation may restrict access to this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.6"; + } + + leaf vtpVlanEditRingNumber { + type int32 { + range "0..4095"; + } + description + "The ring number which would be used for this VLAN. This + object is only instantiated when the value of the + corresponding instance of vtpVlanEditType has a value of + 'fddi' or 'tokenRing' and Source Routing is in use on + this VLAN."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.7"; + } + + leaf vtpVlanEditBridgeNumber { + type int32 { + range "0..15"; + } + description + "The bridge number of the VTP-capable switches which would + be used for this VLAN. This object is only instantiated + when the value of the corresponding instance of + vtpVlanEditType has a value of fddiNet(4) or trNet(5)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.8"; + } + + leaf vtpVlanEditStpType { + type enumeration { + enum "ieee" { + value "1"; + } + enum "ibm" { + value "2"; + } + enum "auto" { + value "3"; + } + } + description + "The type of the Spanning Tree Protocol which would be + running on this VLAN. This object is only instantiated + when the value of the corresponding instance of + vtpVlanEditType has a value of fddiNet(4) or trNet(5). + + If 'ieee' is selected, the STP that runs will be IEEE. + + If 'ibm' is selected, the STP that runs will be IBM. + + If 'auto' is selected, the STP that runs will be + dependant on the values of vtpVlanEditBridgeType for all + children tokenRing/fddi type VLANs. This will result in + a 'hybrid' STP (see vtpVlanStpType)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.9"; + } + + leaf vtpVlanEditParentVlan { + type CISCO-VTP-MIB:VlanIndex; + description + "The VLAN index of the VLAN which would be the parent for + this VLAN. This object is only instantiated when the value + of the corresponding instance of vtpVlanEditType has a value + of 'fddi' or 'tokenRing' and Source Routing is in use on + this VLAN. The parent VLAN must have a vtpVlanEditType + value of fddiNet(4) or trNet(5), respectively."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.10"; + } + + leaf vtpVlanEditRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row. Any and all columnar objects in an + existing row can be modified irrespective of the status of + the row. + + A row is not qualified for activation until instances of at + least its vtpVlanEditType, vtpVlanEditName and + vtpVlanEditDot10Said columns have appropriate values. + + The management station should endeavor to make all rows + consistent in the table before 'apply'ing the buffer. An + inconsistent entry in the table will cause the entire + buffer to be rejected with the vtpVlanApplyStatus object + set to the appropriate error value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.11"; + } + + leaf vtpVlanEditTranslationalVlan1 { + type CISCO-VTP-MIB:VlanIndex; + description + "A VLAN to which this VLAN would be translational-bridged. + If this value and the corresponding instance of + vtpVlanTranslationalVlan2 are both zero, then this VLAN + would not be translational-bridged. + + An implementation may restrict access to this object."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.12"; + } + + leaf vtpVlanEditTranslationalVlan2 { + type CISCO-VTP-MIB:VlanIndex; + description + "Another VLAN, i.e., other than that indicated by + vtpVlanEditTranslationalVlan1, to which this VLAN would be + translational-bridged. If this value and the corresponding + instance of vtpVlanTranslationalVlan1 are both zero, then + this VLAN would not be translational-bridged. + + An implementation may restrict access to this object."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.13"; + } + + leaf vtpVlanEditBridgeType { + type enumeration { + enum "srt" { + value "1"; + } + enum "srb" { + value "2"; + } + } + description + "The type of Source Route bridging mode which would be in + use on this VLAN. This object is only instantiated when + the value of the corresponding instance of vtpVlanEditType + has a value of fddi(2) or tokenRing(3) and Source Routing + is in use on this VLAN."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.14"; + } + + leaf vtpVlanEditAreHopCount { + type int32 { + range "1..13"; + } + description + "The maximum number of bridge hops allowed in + All Routes Explorer frames on this VLAN. This + object is only instantiated when the value of the + corresponding instance of vtpVlanType has a value of fddi(2) + or tokenRing(3) and Source Routing is in use on this VLAN."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.15"; + } + + leaf vtpVlanEditSteHopCount { + type int32 { + range "1..13"; + } + description + "The maximum number of bridge hops allowed in + Spanning Tree Explorer frames on this VLAN. This + object is only instantiated when the value of the + corresponding instance of vtpVlanType has a value of fddi(2) + or tokenRing(3) and Source Routing is in use on this VLAN."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.16"; + } + + leaf vtpVlanEditIsCRFBackup { + type boolean; + description + "True if this VLAN is of type trCrf and also is acting as + a backup trCrf for the ISL distributed BRF. This object is + only instantiated when the value of the corresponding + instance of vtpVlanEditType has a value of tokenRing(3)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.17"; + } + + leaf vtpVlanEditTypeExt { + type CISCO-VTP-MIB:VlanTypeExt; + status deprecated; + description + "The additional type information of this VLAN. + vtpVlanEditTypeExt object is superseded by vtpVlanEditTypeExt2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.18"; + } + + leaf vtpVlanEditTypeExt2 { + type CISCO-VTP-MIB:VlanTypeExt; + description + "The additional type information of this VLAN. + The VlanTypeExt TC specifies which bits may + be written by a management application. + The agent should provide a default value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.2.1.19"; + } + } + } + + container vtpVlanLocalShutdownTable { + description + "Ths table contains the VLAN local shutdown + information within management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.3"; + + list vtpVlanLocalShutdownEntry { + key "managementDomainIndex vtpVlanIndex"; + description + "An entry containing VLAN local shutdown information for a + particular VLAN in the management domain. + + An entry is created if a VLAN which supports local shutdown + has been created. + + An entry is deleted if a VLAN which supports local shutdown + has been removed."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.3.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpVlanLocalShutdown { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The object specifies the VLAN local shutdown state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.3.1.1"; + } + } + } + + container vlanTrunkPortTable { + description + "The table containing information on the local system's VLAN + trunk ports."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1"; + + list vlanTrunkPortEntry { + key "vlanTrunkPortIfIndex"; + description + "Information about one trunk port."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1"; + + leaf vlanTrunkPortIfIndex { + type if-mib:InterfaceIndex; + description + "The value of ifIndex for the interface corresponding to + this trunk port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.1"; + } + + leaf vlanTrunkPortManagementDomain { + type CISCO-VTP-MIB:ManagementDomainIndex; + description + "The value of managementDomainIndex for the management + domain on this trunk port. Devices which support only one + management domain will support this object read-only."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.2"; + } + + leaf vlanTrunkPortEncapsulationType { + type enumeration { + enum "isl" { + value "1"; + } + enum "dot10" { + value "2"; + } + enum "lane" { + value "3"; + } + enum "dot1Q" { + value "4"; + } + enum "negotiate" { + value "5"; + } + } + description + "The type of VLAN encapsulation desired to be used on this + trunk port. It is either a particular type, or 'negotiate' + meaning whatever type results from the negotiation. + negotiate(5) is not allowed if the port does not support + negotiation or if its vlanTrunkPortDynamicState is set to + on(1) or onNoNegotiate(5). Whether writing to this object + in order to modify the encapsulation is supported is both + device and interface specific."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.3"; + } + + leaf vlanTrunkPortVlansEnabled { + type binary { + length "128"; + } + description + "A string of octets containing one bit per VLAN in the + management domain on this trunk port. The first octet + corresponds to VLANs with VlanIndex values of 0 through 7; + the second octet to VLANs 8 through 15; etc. The most + significant bit of each octet corresponds to the lowest + value VlanIndex in that octet. If the bit corresponding to + a VLAN is set to '1', then the local system is enabled for + sending and receiving frames on that VLAN; if the bit is set + to '0', then the system is disabled from sending and + receiving frames on that VLAN. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.4"; + } + + leaf vlanTrunkPortNativeVlan { + type CISCO-VTP-MIB:VlanIndex; + description + "The VlanIndex of the VLAN which is represented by native + frames on this trunk port. For trunk ports not supporting + the sending and receiving of native frames, this value + should be set to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.5"; + } + + leaf vlanTrunkPortRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row. In some circumstances, the + creation of a row in this table is needed to enable the + appropriate trunking/tagging protocol on the port, to enable + the use of VTP on the port, and to assign the port to the + appropriate management domain. In other circumstances, rows + in this table will be created as a by-product of other + operations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.6"; + } + + leaf vlanTrunkPortInJoins { + type yang:counter32; + description + "The number of VTP Join messages received on this trunk + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.7"; + } + + leaf vlanTrunkPortOutJoins { + type yang:counter32; + description + "The number of VTP Join messages sent on this trunk port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.8"; + } + + leaf vlanTrunkPortOldAdverts { + type yang:counter32; + description + "The number of VTP Advertisement messages which indicated + the sender does not support VLAN-pruning received on this + trunk port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.9"; + } + + leaf vlanTrunkPortVlansPruningEligible { + type binary { + length "128"; + } + description + "A string of octets containing one bit per VLAN in the + management domain on this trunk port. The first octet + corresponds to VLANs with VlanIndex values of 0 through 7; + the second octet to VLANs 8 through 15; etc. The most + significant bit of each octet corresponds to the lowest + value VlanIndex in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local system is permitted to prune that VLAN on this trunk + port; if the bit is set to '0', then the system must not + prune that VLAN on this trunk port. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.10"; + } + + leaf vlanTrunkPortVlansXmitJoined { + type binary { + length "128"; + } + description + "A string of octets containing one bit per VLAN in the + management domain on this trunk port. The first octet + corresponds to VLANs with VlanIndex values of 0 through 7; + the second octet to VLANs 8 through 15; etc. The most + significant bit of each octet corresponds to the lowest + value VlanIndex in that octet. + + If the bit corresponding to a VLAN is set to '1', then this + VLAN is presently being forwarded on this trunk port, i.e., + it is not pruned; if the bit is set to '0', then this VLAN + is presently not being forwarded on this trunk port, either + because it is pruned or for some other reason."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.11"; + } + + leaf vlanTrunkPortVlansRcvJoined { + type binary { + length "128"; + } + description + "A string of octets containing one bit per VLAN in the + management domain on this trunk port. The first octet + corresponds to VLANs with VlanIndex values of 0 through 7; + the second octet to VLANs 8 through 15; etc. The most + significant bit of each octet corresponds to the lowest + value VlanIndex in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local switch is currently sending joins for this VLAN on + this trunk port, i.e., it is asking to receive frames for + this VLAN; if the bit is set to '0', then the local switch + is not currently sending joins for this VLAN on this trunk + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.12"; + } + + leaf vlanTrunkPortDynamicState { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + enum "desirable" { + value "3"; + } + enum "auto" { + value "4"; + } + enum "onNoNegotiate" { + value "5"; + } + } + description + "For devices that allows dynamic determination of whether + a link between two switches should be a trunk or not, this + object allows the operator to mandate the behavior of that + dynamic mechanism. + + on(1) dictates that the interface will always be a + trunk. This is the value for static entries (those that + show no dynamic behavior). If the negotiation is supported + on this port, negotiation will take place with the far end + to attempt to bring the far end into trunking state. + + off(2) allows an operator to specify that the specified + interface is never to be trunk, regardless of any dynamic + mechanisms to the contrary. This value is useful for + overriding the default behavior of some switches. If the + negotiation is supported on this port, negotiation will take + place with the far end to attempt on the link to bring the + far end into non-trunking state. + + desirable(3) is used to indicate that it is desirable for + the interface to become a trunk. The device will initiate + any negotiation necessary to become a trunk but will not + become a trunk unless it receives confirmation from the far + end on the link. + + auto(4) is used to indicate that the interface is capable + and willing to become a trunk but will not initiate + trunking negotiations. The far end on the link are + required to either start negotiations or start sending + encapsulated packets, on which event the specified + interface will become a trunk. + + onNoNegotiate(5) is used to indicate that the interface is + permanently set to be a trunk, and no negotiation takes + place with the far end on the link to ensure consistent + operation. This is similar to on(1) except no negotiation + takes place with the far end. + + If the port does not support negotiation or its + vlanTrunkPortEncapsulationType is set to negotiate(5), + onNoNegotiate(5) is not allowed. + + Devices that do no support dynamic determination (for just + a particular interface, encapsulation or for the whole + device) need only support the 'on', and 'off' values."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.13"; + } + + leaf vlanTrunkPortDynamicStatus { + type enumeration { + enum "trunking" { + value "1"; + } + enum "notTrunking" { + value "2"; + } + } + description + "Indicates whether the specified interface is either + acting as a trunk or not. This is a result of the + vlanTrunkPortDynamicState and the ifOperStatus of the + trunk port itself."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.14"; + } + + leaf vlanTrunkPortVtpEnabled { + type boolean; + description + "Some trunk interface modules allow VTP to be + enabled/disabled seperately from that of the central + device. In such a case this object provides management a + way to remotely enable VTP on that module. If a module + does not support a seperate VTP enabled state then this + object shall always return 'true' and will accept no other + value during a SET operation."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.15"; + } + + leaf vlanTrunkPortEncapsulationOperType { + type enumeration { + enum "isl" { + value "1"; + } + enum "dot10" { + value "2"; + } + enum "lane" { + value "3"; + } + enum "dot1Q" { + value "4"; + } + enum "negotiating" { + value "5"; + } + enum "notApplicable" { + value "6"; + } + } + description + "The type of VLAN encapsulation in use on this trunk port. + For intefaces with vlanTrunkPortDynamicStatus of + notTrunking(2) the vlanTrunkPortEncapsulationOperType shall + be notApplicable(6)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.16"; + } + + leaf vlanTrunkPortVlansEnabled2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 1024 through 2047 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 1024 through 1031; the second + octet to VLANs 1032 through 1039; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. If the bit corresponding to a VLAN is set to + '1', then the local system is enabled for sending and + receiving frames on that VLAN; if the bit is set to '0', + then the system is disabled from sending and receiving + frames on that VLAN. The default value is zero length + string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.17"; + } + + leaf vlanTrunkPortVlansEnabled3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 2048 through 3071 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 2048 through 2055; the second + octet to VLANs 2056 through 2063; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. If the bit corresponding to a VLAN is set to + '1', then the local system is enabled for sending and + receiving frames on that VLAN; if the bit is set to '0', + then the system is disabled from sending and receiving + frames on that VLAN. The default value is zero length + string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.18"; + } + + leaf vlanTrunkPortVlansEnabled4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 3072 through 4095 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 3072 through 3079; the second + octet to VLANs 3080 through 3087; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. If the bit corresponding to a VLAN is set to + '1', then the local system is enabled for sending and + receiving frames on that VLAN; if the bit is set to '0', + then the system is disabled from sending and receiving + frames on that VLAN. The default value is zero length + string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.19"; + } + + leaf vtpVlansPruningEligible2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 1024 through 2047 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 1024 through 1031; the second + octet to VLANs 1032 through 1039; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local system is permitted to prune that VLAN on this trunk + port; if the bit is set to '0', then the system must not + prune that VLAN on this trunk port. + The default value is zero length string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.20"; + } + + leaf vtpVlansPruningEligible3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 2048 through 3071 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 2048 through 2055; the second + octet to VLANs 2056 through 2063; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local system is permitted to prune that VLAN on this trunk + port; if the bit is set to '0', then the system must not + prune that VLAN on this trunk port. + The default value is zero length string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.21"; + } + + leaf vtpVlansPruningEligible4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 3072 through 4095 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 3072 through 3079; the second + octet to VLANs 3080 through 3087; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local system is permitted to prune that VLAN on this trunk + port; if the bit is set to '0', then the system must not + prune that VLAN on this trunk port. + The default value is zero length string. + + To avoid conflicts between overlapping partial updates by + multiple managers, i.e., updates which modify only a portion + of an instance of this object (e.g., enable/disable a single + VLAN on the trunk port), any SNMP Set operation accessing an + instance of this object should also write the value of + vlanTrunkPortSetSerialNo."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.22"; + } + + leaf vlanTrunkPortVlansXmitJoined2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 1024 through 2047 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 1024 through 1031; the second + octet to VLANs 1032 through 1039; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then this + VLAN is presently being forwarded on this trunk port, i.e., + it is not pruned; if the bit is set to '0', then this VLAN + is presently not being forwarded on this trunk port, either + because it is pruned or for some other reason."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.23"; + } + + leaf vlanTrunkPortVlansXmitJoined3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 2048 through 3071 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 2048 through 2055; the second + octet to VLANs 2056 through 2063; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then this + VLAN is presently being forwarded on this trunk port, i.e., + it is not pruned; if the bit is set to '0', then this VLAN + is presently not being forwarded on this trunk port, either + because it is pruned or for some other reason."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.24"; + } + + leaf vlanTrunkPortVlansXmitJoined4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 3072 through 4095 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 3072 through 3079; the second + octet to VLANs 3080 through 3087; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then this + VLAN is presently being forwarded on this trunk port, i.e., + it is not pruned; if the bit is set to '0', then this VLAN + is presently not being forwarded on this trunk port, either + because it is pruned or for some other reason."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.25"; + } + + leaf vlanTrunkPortVlansRcvJoined2k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 1024 through 2047 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 1024 through 1031; the second + octet to VLANs 1032 through 1039; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local switch is currently sending joins for this VLAN on + this trunk port, i.e., it is asking to receive frames for + this VLAN; if the bit is set to '0', then the local switch + is not currently sending joins for this VLAN on this trunk + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.26"; + } + + leaf vlanTrunkPortVlansRcvJoined3k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 2048 through 3071 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 2048 through 2055; the second + octet to VLANs 2056 through 2063; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local switch is currently sending joins for this VLAN on + this trunk port, i.e., it is asking to receive frames for + this VLAN; if the bit is set to '0', then the local switch + is not currently sending joins for this VLAN on this trunk + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.27"; + } + + leaf vlanTrunkPortVlansRcvJoined4k { + type binary { + length "0..128"; + } + description + "A string of octets containing one bit per VLAN for VLANS + with VlanIndex values of 3072 through 4095 in the management + domain on this trunk port. The first octet corresponds to + VLANs with VlanIndex values of 3072 through 3079; the second + octet to VLANs 3080 through 3087; etc. The most significant + bit of each octet corresponds to the lowest value VlanIndex + in that octet. + + If the bit corresponding to a VLAN is set to '1', then the + local switch is currently sending joins for this VLAN on + this trunk port, i.e., it is asking to receive frames for + this VLAN; if the bit is set to '0', then the local switch + is not currently sending joins for this VLAN on this trunk + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.28"; + } + + leaf vlanTrunkPortDot1qTunnel { + type enumeration { + enum "trunk" { + value "1"; + } + enum "access" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + status deprecated; + description + "Indicates dot1qtunnel mode of the port. + + If the portDot1qTunnel is set to 'trunk' mode, the port's + vlanTrunkPortDynamicState will be changed to 'onNoNegotiate' + and the vlanTrunkPortEncapsulationType will be set to + 'dot1Q'. These values cannot be changed unless dot1q tunnel + is disabled on this port. + + If the portDot1qTunnel mode is set to 'access' mode, the + port's vlanTrunkPortDynamicState will be set to 'off'.And + the value of vlanTrunkPortDynamicState cannot be changed + unless dot1q tunnel is disabled on this port. 1Q packets + received on this access port will remain. + + Setting the port to dot1q tunnel 'disabled' mode causes the + dot1q tunnel feature to be disabled on this port. This + object can't be set to 'trunk' or 'access' mode, when + vlanTrunkPortsDot1qTag object is set to 'false'. + + This object has been deprecated and is replaced by the + object 'cltcDot1qTunnelMode' in the + CISCO-L2-TUNNEL-CONFIG-MIB"; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.29"; + } + + leaf vlanTrunkPortVlansActiveFirst2k { + type cisco-tc:Cisco2KVlanList; + description + "A string of octets containing one bit per VLAN + with VlanIndex values of 0 through 2047. + + If the bit corresponding to a VLAN is set to 1, + it indicates that vlan is allowed and active in + management domain. + + If the bit corresponding to a VLAN is set to 0, + it indicates that vlan is not allowed or not active + in management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.30"; + } + + leaf vlanTrunkPortVlansActiveSecond2k { + type cisco-tc:Cisco2KVlanList; + description + "A string of octets containing one bit per VLAN + with VlanIndex values of 2048 through 4095. + + If the bit corresponding to a VLAN is set to 1, + it indicates that vlan is allowed and active in + management domain. + + If the bit corresponding to a VLAN is set to 0, + it indicates that vlan is not allowed or not active + in management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6.1.1.31"; + } + } + } + + container vtpDiscoverTable { + description + "This table contains information related to the discovery + of the VTP members in the designated management + domain. This table is not instantiated when + managementDomainVersionInUse is version1(1), version2(3) + or none(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.1"; + + list vtpDiscoverEntry { + key "managementDomainIndex"; + description + "Information related to the discovery of the + VTP members in one management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.1.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpDiscoverAction { + type enumeration { + enum "discover" { + value "1"; + } + enum "noOperation" { + value "2"; + } + enum "purgeResult" { + value "3"; + } + } + description + "When this object is set to discover(1), all the + entries in vtpDiscoverResultTable for the + corresponding management domain will be removed + and the local device will begin to discover all + VTP members in the management domain. Upon the + successful completion of discovery, the discovered + result will be stored in the vtpDiscoverResultTable. + + If vtpDiscoverStatus is inProgress(1), setting + vtpDiscoverAction to discover(1) will fail. + + When this object is set to purgeResult(3), + all the entries of vtpDiscoverResultTable for + the corresponding management domain will be + removed from vtpDiscoverResultTable. + + When this object is set to noOperation(2), no + action will be taken. When read, this object + always returns noOperation(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.1.1.1"; + } + + leaf vtpDiscoverStatus { + type enumeration { + enum "inProgress" { + value "1"; + } + enum "succeeded" { + value "2"; + } + enum "resourceUnavailable" { + value "3"; + } + enum "someOtherError" { + value "4"; + } + } + description + "The current status of VTP discovery. + + inProgress - a discovery is in progress; + + succeeded - the discovery was completed successfully + (this value is also used when + no discover has been invoked since the + last time the local system restarted); + + resourceUnavailable - the discovery failed because + the required allocation of a resource is + presently unavailable. + + someOtherError - 'the discovery failed due to a + reason no listed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.1.1.2"; + } + + leaf vtpLastDiscoverTime { + type yang:timestamp; + description + "The value of sysUpTime at which the last discovery + was completed. + + A value of zero indicates that no discovery has been + invoked since last time the local system restarted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.1.1.3"; + } + } + } + + container vtpDiscoverResultTable { + description + "The table containing information of discovered VTP members + in the management domain in which the local system is + participating. This table is not instantiated when + managementDomainVersionInUse is version1(1), version2(2) or + none(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2"; + + list vtpDiscoverResultEntry { + key "managementDomainIndex vtpDiscoverResultIndex"; + description + "A conceptual row is created for each VTP member which + is found through successful discovery."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpDiscoverResultIndex { + type uint32; + description + "A value assigned by the system which identifies + a VTP member and the associated database in the + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.1"; + } + + leaf vtpDiscoverResultDatabaseName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The database name associated with the + discovered VTP member."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.2"; + } + + leaf vtpDiscoverResultConflicting { + type boolean; + description + "Indicates whether this VTP member contains + conflicting information. + + true(1) indicates that this member has conflicting + information of the database type in the management domain. + + false(2) indicates that there is no conflicting information + of the database type in the management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.3"; + } + + leaf vtpDiscoverResultDeviceId { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The unique identifier of the device for this VTP member."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.4"; + } + + leaf vtpDiscoverResultPrimaryServer { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The unique identifier of the primary server for this VTP + member and the associated database type. + + There are two different VTP servers, the primary server + and the secondary server. When a local device is + configured as a server for a certain database type, + it becomes secondary server by default. + Primary server is an operational role under which a + server can initiate or change the VTP configuration of the + database type. + + If this VTP member itself is the primary server, the + value of this object is the same as the value of + vtpDiscoverResultDeviceId of the instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.5"; + } + + leaf vtpDiscoverResultRevNumber { + type yang:gauge32; + description + "The current configuration revision number as known by the + VTP member. When the database type is unknown for + the VTP member, this value is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.6"; + } + + leaf vtpDiscoverResultSystemName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "sysName of the VTP member."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7.2.1.7"; + } + } + } + + container vtpDatabaseTable { + description + "This table contains information of the VTP + databases. It is not instantiated when + managementDomainVersionInUse is version1(1), + version2(3) or none(3)."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1"; + + list vtpDatabaseEntry { + key "managementDomainIndex vtpDatabaseIndex"; + description + "Information about the status of the VTP database + in the domain. Each VTP database type known to the + local device type has an entry in this table. + An entry is also created for unknown database which is + notified through VTP advertisements from other VTP + servers."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpDatabaseIndex { + type uint32; + description + "A value assigned by the system which uniquely identifies + a VTP database in the local system."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.1"; + } + + leaf vtpDatabaseName { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The name of the database."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.2"; + } + + leaf vtpDatabaseLocalMode { + type enumeration { + enum "client" { + value "1"; + } + enum "server" { + value "2"; + } + enum "transparent" { + value "3"; + } + enum "off" { + value "4"; + } + } + description + "The local VTP mode for a particular database type + in this administrative domain. + + - 'client' indicates that the local system is acting + as a VTP client of the database type. + + - 'server' indicates that the local system is acting + as a VTP server of the database type. + + - 'transparent' indicates that the local system does + not generate or listen to VTP messages of this + database type, but forwards + messages. This mode can also be set by the device + itself when the size of database is too large for it + to hold in DRAM. + + - 'off' indicates that the local system does not + generate, listen to or forward any VTP messages + of this database type. + + The default mode is 'client' for the database type + known to the local device and 'transparent' for the + unknown database type."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.3"; + } + + leaf vtpDatabaseRevNumber { + type yang:gauge32; + description + "The current configuration revision number as known by the + local device for this VTP 3 database type in the management + domain. This value is updated (if necessary) whenever a + VTP advertisement for the database type is received + or generated. When the database type is unknown to the + local device or no VTP advertisement for the database + type is received or generated, its value is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.4"; + } + + leaf vtpDatabasePrimaryServer { + type boolean; + description + "There are two kinds of VTP version 3 servers for a certain + database type - the primary server and the secondary server. + When a local device is configured as a server for a certain + database type, it becomes secondary server by default. + Primary server is an operational role under which a + server can initiate or change the VTP configuration of the + database type. + + A true(1) value indicates that the local device is the + primary server of the database type in the management + domain. A false(2) value indicates that the local device + is not the primary server, or the database type is unknown + to the local device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.5"; + } + + leaf vtpDatabasePrimaryServerId { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "The unique identifier of the primary server in the + management domain for the database type. + + If no primary server is discovered for the database + type, the object has a value of zero length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.6"; + } + + leaf vtpDatabaseTakeOverPrimary { + type boolean; + description + "There are two kinds of VTP version 3 servers for a certain + database type - the primary server and the secondary server. + When a local device is configured as a server for a certain + database type, it becomes secondary server by default. + Primary server is an operational role under which a + server can initiate or change the VTP configuration of the + database type. + + Setting this object to a true(1) value will advertise the + configuration of this database type to the whole domain. + + In order to successfully setting this object to true(1), + the value of vtpDatabaseLocalMode must be server(2). Besides + that, when the VTP password is hidden from the configuration + file, the password (vtpDatabaseTakeOverPassword) which + matches the secret key (vtpAuthSecretKey) must be provided + in the same data packet. + + When read, the object always returns false(2)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.7"; + } + + leaf vtpDatabaseTakeOverPassword { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "When read, this object always returns the value of a + zero-length octet string. + + In the case that the VTP password is hidden from the + configuration and the local device intends + to take over the whole domain, this object must be + set to the matching password with the secret key + (vtpAuthSecretKey) in the same data packet as which + the vtpDatabaseTakeOverPrimary is in. In all the + other situations, setting a valid value to this object + has no impact on the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8.1.1.8"; + } + } + } + + container vtpAuthenticationTable { + description + "The table contains the authentication information of VTP + in which the local system participates. + + The security mechanism of VTP relies on a secret key + that is used to alter the MD5 digest of the packets + transmitted on the wire. The secret value is + created from a password that may be saved in plain text + in the configuration or hidden from the configuration. + + The device creating or modifying the VTP configuration + signs it using the MD5 digest generated from the secret + key before advertising it. Other devices in the domain + receive this configuration use the same secret key + to accept it if correctly signed or drop it otherwise. + + The user has the option to hide the password from the + configuration. Once the password is hidden, the secret + key generated from the password is shown in the + configuration instead, and there is no other way to + show the password in plain text again but clearing + it or resetting it. + + In an un-trusted area, the password on a device can + be configured without being unveiled. After that, + it has to be provided again by setting the same + value to vtpDatabaseTakeOverPassword if the user + wants to take over the whole VTP management domain + of the database type. + + When managementDomainVersionInUse is version3(4), the + authentication mechanism is common to all VTP + database type."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9.1"; + + list vtpAuthEntry { + key "managementDomainIndex"; + description + "Information about the status of the VTP + authentication information in one domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9.1.1"; + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpAuthPassword { + type snmp-framework:SnmpAdminString { + length "0..64"; + } + description + "By default, this object has a value of a zero-length + character string and is considered to be not + configured. + + The device uses the password to generate the + secret key. It can be stored in the configuration in + plain text or hidden from the configuration. If a VTP + server intends to modify the database's configuration + in the domain but the password was hidden from the + configuration, the same password + (vtpDatabaseTakeOverPassword) as the hidden one + has to be provided. + + When this object is set alone, vtpAuthPasswordType is + set to plaintext(1) automatically by the system. + Setting this object to a zero length character string + resets the password to its default value and the + password is considered as not configured. + + This object is not allowed to be set at the same time + when vtpAuthSecretKey is set. + + When the vtpAuthPasswordType is hidden(2), this object + will return a zero-length character string when read."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9.1.1.1"; + } + + leaf vtpAuthPasswordType { + type enumeration { + enum "plaintext" { + value "1"; + } + enum "hidden" { + value "2"; + } + } + description + "By default this object has the value as plaintext(1) + and the VTP password is stored in the configuration + file in plain text. + + Setting this object to hidden(2) will hide the + password from the configuration. + + Once this object is set to hidden(2), it cannot + be set to plaintext(1) alone. However, it may + be set to plaintext(1) at the same time the + password is set."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9.1.1.2"; + } + + leaf vtpAuthSecretKey { + type binary { + length "0|16"; + } + description + "The device creating or modifying the VTP configuration + signs it using the MD5 digest generated from the secret + key before advertising it. Other devices in the domain + receiving this configuration use the same secret key + to accept it if it was correctly signed or drop it + otherwise. + + By default, the object has the value as a zero-length + string and this value is read only. It is set + to this value automatically when the password + (vtpAuthPassword) is set to a zero-length octet string. + + The secret key can be either generated using + the password or configured by the user. Once + the secret key is configured by the user, it is + stored as a hexadecimal string in the device's + configuration and the password is considered to be + the secret key's matching password and hidden + from the configuration automatically. + + This object is not allowed to be set at the same + time when vtpAuthPassword is set. + + The secret key is overwritten by a newly generated + secret key when the password is re-configured."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9.1.1.3"; + } + } + } + } + + smiv2:alias "vtpEditControlTable" { + description + "This table provides the means to control the editing of the + VLANs for a particular management domain. Each and every + entry in this table augments its corresponding entry in the + managementDomainTable; thus, an entry in this table is + created/deleted only as a by-product of creating/deleting an + entry in the managementDomainTable."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1"; + } + + smiv2:alias "vtpEditControlEntry" { + description + "Control information for editing the VLANs in one management + domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1"; + } + + augment "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry" { + description + "Control information for editing the VLANs in one management + domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1"; + + leaf vtpVlanEditOperation { + type enumeration { + enum "none" { + value "1"; + } + enum "copy" { + value "2"; + } + enum "apply" { + value "3"; + } + enum "release" { + value "4"; + } + enum "restartTimer" { + value "5"; + } + } + description + "This object always has the value 'none' when read. When + written, each value causes the appropriate action: + + 'copy' - causes the creation of rows in the + vtpVlanEditTable exactly corresponding to the current global + VLAN information for this management domain. If the Edit + Buffer (for this management domain) is not currently empty, + a copy operation fails. A successful copy operation starts + the deadman-timer. + + 'apply' - first performs a consistent check on the the + modified information contained in the Edit Buffer, and if + consistent, then tries to instanciate the modified + information as the new global VLAN information. Note that + an empty Edit Buffer (for the management domain) would + always result in an inconsistency since the default VLANs + are required to be present. + + 'release' - flushes the Edit Buffer (for this management + domain), clears the Owner information, and aborts the + deadman-timer. A release is generated automatically if the + deadman-timer ever expires. + + 'restartTimer' - restarts the deadman-timer. + + 'none' - no operation is performed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1.1"; + } + + leaf vtpVlanApplyStatus { + type enumeration { + enum "inProgress" { + value "1"; + } + enum "succeeded" { + value "2"; + } + enum "configNumberError" { + value "3"; + } + enum "inconsistentEdit" { + value "4"; + } + enum "tooBig" { + value "5"; + } + enum "localNVStoreFail" { + value "6"; + } + enum "remoteNVStoreFail" { + value "7"; + } + enum "editBufferEmpty" { + value "8"; + } + enum "someOtherError" { + value "9"; + } + enum "notPrimaryServer" { + value "10"; + } + } + description + "The current status of an 'apply' operation to instanciate + the Edit Buffer as the new global VLAN information (for this + management domain). If no apply is currently active, the + status represented is that of the most recently completed + apply. The possible values are: + + inProgress - 'apply' operation in progress; + + succeeded - the 'apply' was successful (this value is + also used when no apply has been invoked since the + last time the local system restarted); + + configNumberError - the apply failed because the value of + vtpVlanEditConfigRevNumber was less or equal to + the value of current value of + managementDomainConfigRevNumber; + + inconsistentEdit - the apply failed because the modified + information was not self-consistent; + + tooBig - the apply failed because the modified + information was too large to fit in this VTP + Server's non-volatile storage location; + + localNVStoreFail - the apply failed in trying to store + the new information in a local non-volatile + storage location; + + remoteNVStoreFail - the apply failed in trying to store + the new information in a remote non-volatile + storage location; + + editBufferEmpty - the apply failed because the Edit + Buffer was empty (for this management domain). + + someOtherError - the apply failed for some other reason + (e.g., insufficient memory). + + notPrimaryServer - the apply failed because the local + device is not a VTP primary server for VLAN + database type when managementDomainVersionInUse + is version3(4)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1.2"; + } + + leaf vtpVlanEditBufferOwner { + type rmon-mib:OwnerString; + description + "The management station which is currently using the Edit + Buffer for this management domain. When the Edit Buffer for + a management domain is not currently in use, the value of + this object is the zero-length string. Note that it is also + the zero-length string if a manager fails to set this object + when invoking a copy operation."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1.3"; + } + + leaf vtpVlanEditConfigRevNumber { + type yang:gauge32; + description + "The Configuration Revision Number to be used for the next + apply operation. This value is initialized (by the agent) + on a copy operation to be one greater than the value of + managementDomainConfigRevNumber. On an apply, if the + number is less or equal to the value of + managementDomainConfigRevNumber, then the apply fails. + The value can be modified (increased) by network management + before an apply to ensure that an apply does not fail for + this reason. + + This object is used to allow management control over whether + a configuration revision received via a VTP advertisement + after a copy operation but before the succeeding apply + operation is lost by being overwritten by the (local) edit + operation. By default, the apply operation will fail in + this situation. By increasing this object's value after the + copy but before the apply, management can control whether + the apply is to succeed (with the update via VTP + advertisement being lost)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1.4"; + } + + leaf vtpVlanEditModifiedVlan { + type CISCO-VTP-MIB:VlanIndex; + description + "The VLAN-id of the modified VLAN in the Edit Buffer. + If the object has the value of zero, any VLAN can + be edited. If the value of the object is not zero, + only this VLAN can be edited. + + The object's value is reset to zero after a successful + 'apply' operation or a 'release' operation. + + This object is only supported for devices which allow + only one VLAN editing for each 'apply' operation. For + devices which allow multiple VLAN editing for each + 'apply' operation, this object is not supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4.1.1.5"; + } + } + + smiv2:alias "vtpStatsTable" { + description + "A table of VTP statistics."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1"; + } + + smiv2:alias "vtpStatsEntry" { + description + "VTP statistics for one management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1"; + } + + augment "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry" { + description + "VTP statistics for one management domain."; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1"; + + leaf vtpInSummaryAdverts { + type yang:counter32; + description + "The total number of VTP Summary Adverts received for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.1"; + } + + leaf vtpInSubsetAdverts { + type yang:counter32; + description + "The total number of VTP Subset Adverts received for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.2"; + } + + leaf vtpInAdvertRequests { + type yang:counter32; + description + "The total number of VTP Advert Requests received for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.3"; + } + + leaf vtpOutSummaryAdverts { + type yang:counter32; + description + "The total number of VTP Summary Adverts sent for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.4"; + } + + leaf vtpOutSubsetAdverts { + type yang:counter32; + description + "The total number of VTP Subset Adverts sent for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.5"; + } + + leaf vtpOutAdvertRequests { + type yang:counter32; + description + "The total number of VTP Advert Requests sent for this + management domain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.6"; + } + + leaf vtpConfigRevNumberErrors { + type yang:counter32; + description + "The number of occurrences of configuration revision number + errors for this management domain. A configuration revision + number error occurs when a device receives a VTP + advertisement for which: + + - the advertisement's Configuration Revision Number is the + same as the current locally-held value, and + + - the advertisement's digest value is different from the + current locally-held value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.7"; + } + + leaf vtpConfigDigestErrors { + type yang:counter32; + description + "The number of occurrences of configuration digest errors + for this management domain. A configuration digest error + occurs when a device receives a VTP advertisement for which: + + - the advertisement's Configuration Revision Number is + greater than the current locally-held value, and + + - the advertisement's digest value computed by the + receiving device does not match the checksum in the + summary advertisement that was received earlier. This + can happen, for example, if there is a mismatch in VTP + passwords between the VTP devices."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5.1.1.8"; + } + } + + notification vtpConfigRevNumberError { + description + "A configuration revision number error notification + signifies that a device has incremented its + vtpConfigRevNumberErrors counter. + + Generation of this notification is suppressed if the + vtpNotificationsEnabled has the value 'false'. + + The device must throttle the generation of consecutive + vtpConfigRevNumberError notifications so that there is at + least a five-second gap between notification of this type. + When notification are throttled, they are dropped, not + queued for sending at a future time. (Note that + 'generating' a notification means sending to all configured + recipients.)"; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.1"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainConfigRevNumber { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainConfigRevNumber"; + } + } + } + } + + notification vtpConfigDigestError { + description + "A configuration digest error notification signifies that a + device has incremented its vtpConfigDigestErrors counter. + + Generation of this notification is suppressed if the + vtpNotificationsEnabled has the value 'false'. + + The device must throttle the generation of consecutive + vtpConfigDigestError notifications so that there is at least + a five-second gap between notification of this type. When + notification are throttled, they are dropped, not queued for + sending at a future time. (Note that 'generating' a + notification means sending to all configured recipients.)"; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.2"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainConfigRevNumber { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainConfigRevNumber"; + } + } + } + } + + notification vtpServerDisabled { + description + "A VTP Server disabled notification is generated when the + local system is no longer able to function as a VTP Server + because the number of defined VLANs is greater than + vtpMaxVlanStorage or the local system is not able to + recover complete VTP information after a reboot. + + Generation of this notification is suppressed if the + vtpNotificationsEnabled has the value 'false'."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.3"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainConfigRevNumber { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainConfigRevNumber"; + } + } + } + + container object-2 { + + leaf vtpMaxVlanStorage { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpStatus/CISCO-VTP-MIB:vtpMaxVlanStorage"; + } + } + } + } + + notification vtpMtuTooBig { + description + "A VTP MTU tooBig notification is generated when a VLAN's + MTU size is larger than can be supported either: + + - by one or more of its trunk ports: + the included vtpVlanState has the value + 'mtuTooBigForTrunk' and the included + vlanTrunkPortManagementDomain is for the first (or only) + trunk port, + or + + - by the device itself: + vtpVlanState has the value 'mtuTooBigForDevice' and any + instance of vlanTrunkPortManagementDomain is included. + + Devices which have no trunk ports do not send vtpMtuTooBig + notifications. + + Generation of this notification is suppressed if the + vtpNotificationsEnabled has the value 'false'."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.4"; + + container object-1 { + + leaf vlanTrunkPortIfIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortIfIndex"; + } + } + + leaf vlanTrunkPortManagementDomain { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortManagementDomain"; + } + } + } + + container object-2 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpVlanState { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanState"; + } + } + } + } + + notification vtpVersionOneDeviceDetected { + description + "A VTP version one device detected notification is + generated by a device when: + + a) a management domain has been put into version 2 mode + (as accessed by managementDomainVersionInUse). + b) 15 minutes has passed since a). + c) a version 1 PDU is detected on a trunk on the device + that is in that management domain which has a lower + revision number than the current configuration."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.6"; + + container object-1 { + + leaf vlanTrunkPortIfIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortIfIndex"; + } + } + + leaf vlanTrunkPortManagementDomain { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortManagementDomain"; + } + } + } + } + + notification vlanTrunkPortDynamicStatusChange { + description + "A vlanTrunkPortDynamicStatusChange notification is + generated by a device when the value of + vlanTrunkPortDynamicStatus object has been changed."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.7"; + + container object-1 { + + leaf vlanTrunkPortIfIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortIfIndex"; + } + } + + leaf vlanTrunkPortDynamicStatus { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vlanTrunkPortTable/CISCO-VTP-MIB:vlanTrunkPortEntry/CISCO-VTP-MIB:vlanTrunkPortDynamicStatus"; + } + } + } + } + + notification vtpLocalModeChanged { + description + "A vtpLocalModeChanged notification is generated + by a device when the value of the object + managementDomainLocalMode is changed."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.8"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainLocalMode { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainLocalMode"; + } + } + } + } + + notification vtpVersionInUseChanged { + description + "A vtpVersionInUseChanged notification is + generated by a device when the value of the + object managementDomainVersionInUse is + changed."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.9"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainVersionInUse { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainVersionInUse"; + } + } + } + } + + notification vtpVlanCreated { + description + "A vtpVlanCreated notification is generated by a + device when a VLAN is created."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.10"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpVlanName { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanName"; + } + } + } + } + + notification vtpVlanDeleted { + description + "A vtpVlanDeleted notification is generated by a + device when a VLAN is deleted."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.11"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpVlanName { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanName"; + } + } + } + } + + notification vtpVlanRingNumberConflict { + description + "A VTP ring number configuration conflict notification is + generated if, and only at the time when, a device learns of + a conflict between: + + a) the ring number (vtpVlanPortLocalSegment) being used on a + token ring segment attached to the port identified by + ifIndex, and + + b) the VTP-obtained ring number (vtpVlanRingNumber) for the + VLAN identified by vtpVlanIndex. + + When such a conflict occurs, the bridge port is put into an + administrative down position until the conflict is resolved + through local/network management intervention. + + This notification is only applicable to VLANs of type + 'tokenRing'."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.12"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf vtpVlanIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanIndex"; + } + } + + leaf vtpVlanRingNumber { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:vtpVlanTable/CISCO-VTP-MIB:vtpVlanEntry/CISCO-VTP-MIB:vtpVlanRingNumber"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + } + + container object-3 { + + leaf vtpVlanPortLocalSegment { + type int32 { + range "0..65535"; + } + description + "The ring (segment) number in use on a 802.5 ring. For + bridges supporting RFC 1525, this value is the same as given + by dot1dSrPortLocalSegment for the bridge port attached to + that ring. When tokenRing VLANs are in use, each 'trNet' + VLAN can/does have a different instance of + dot1dSrPortLocalSegment for each physical port. Note that + access to the particuler instance of dot1dSrPortLocalSegment + requires knowledge of how the agent supports the multiple + 'contexts' required to implement RFC 1525 for multiple + VLANs; also note that the assignment of ifIndex values may + be different in different 'contexts'."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.1.1"; + } + } + } + + notification vtpPruningStateOperChange { + description + "A vtpPruningStateOperChange notification is generated + by the device when the instance value of + managementDomainPruningStateOper is changed."; + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0.13"; + + container object-1 { + + leaf managementDomainIndex { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainIndex"; + } + } + + leaf managementDomainPruningStateOper { + type leafref { + path "/CISCO-VTP-MIB:CISCO-VTP-MIB/CISCO-VTP-MIB:managementDomainTable/CISCO-VTP-MIB:managementDomainEntry/CISCO-VTP-MIB:managementDomainPruningStateOper"; + } + } + } + } + + smiv2:alias "ciscoVtpMIB" { + smiv2:oid "1.3.6.1.4.1.9.9.46"; + } + + smiv2:alias "vtpMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1"; + } + + smiv2:alias "vtpStatus" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.1"; + } + + smiv2:alias "vlanManagementDomains" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.2"; + } + + smiv2:alias "vlanInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3"; + } + + smiv2:alias "internalVlanInfo" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.3.2"; + } + + smiv2:alias "vlanEdit" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.4"; + } + + smiv2:alias "vtpStats" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.5"; + } + + smiv2:alias "vlanTrunkPorts" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.6"; + } + + smiv2:alias "vtpDiscover" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.7"; + } + + smiv2:alias "vtpDatabase" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.8"; + } + + smiv2:alias "vtpAuthentication" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.9"; + } + + smiv2:alias "vlanStatistics" { + smiv2:oid "1.3.6.1.4.1.9.9.46.1.10"; + } + + smiv2:alias "vtpNotifications" { + smiv2:oid "1.3.6.1.4.1.9.9.46.2"; + } + + smiv2:alias "vtpNotificationsPrefix" { + smiv2:oid "1.3.6.1.4.1.9.9.46.2.0"; + } + + smiv2:alias "vtpNotificationsObjects" { + smiv2:oid "1.3.6.1.4.1.9.9.46.2.1"; + } + + smiv2:alias "vtpMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.9.46.3"; + } + + smiv2:alias "vtpMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.9.46.3.1"; + } + + smiv2:alias "vtpMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.9.46.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DIAL-CONTROL-MIB.yang b/vendor/cisco/xe/17151/MIBS/DIAL-CONTROL-MIB.yang new file mode 100644 index 000000000..aca337eb9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DIAL-CONTROL-MIB.yang @@ -0,0 +1,1608 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DIAL-CONTROL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DIAL-CONTROL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DIAL-CONTROL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB"; + prefix DIAL-CONTROL-MIB; + + import IANAifType-MIB { + prefix "ianaiftype-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF ISDN Working Group"; + + contact + " Guenter Roeck + Postal: cisco Systems + 170 West Tasman Drive + San Jose, CA 95134 + U.S.A. + Phone: +1 408 527 3143 + E-mail: groeck@cisco.com"; + + description + "The MIB module to describe peer information for + demand access and possibly other kinds of interfaces."; + + revision 1996-09-23 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef AbsoluteCounter32 { + type yang:gauge32; + description + "Represents a Counter32-like value that starts at zero, + does not decrease, and does not wrap. This may be used + only in situations where wrapping is not possible or + extremely unlikely. Should such a counter overflow, + it locks at the maxium value of 4,294,967,295. + + The primary use of this type of counter is situations + where a counter value is to be recorded as history + and is thus no longer subject to reading for changing + values."; + } + + + container DIAL-CONTROL-MIB { + config false; + + container dialCtlConfiguration { + smiv2:oid "1.3.6.1.2.1.10.21.1.1"; + + leaf dialCtlAcceptMode { + type enumeration { + enum "acceptNone" { + value "1"; + } + enum "acceptAll" { + value "2"; + } + enum "acceptKnown" { + value "3"; + } + } + description + "The security level for acceptance of incoming calls. + acceptNone(1) - incoming calls will not be accepted + acceptAll(2) - incoming calls will be accepted, + even if there is no matching entry + in the dialCtlPeerCfgTable + acceptKnown(3) - incoming calls will be accepted only + if there is a matching entry in the + dialCtlPeerCfgTable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.1.1"; + } + + leaf dialCtlTrapEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This object indicates whether dialCtlPeerCallInformation + and dialCtlPeerCallSetup traps should be generated for + all peers. If the value of this object is enabled(1), + traps will be generated for all peers. If the value + of this object is disabled(2), traps will be generated + only for peers having dialCtlPeerCfgTrapEnable set + to enabled(1)."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.1.2"; + } + } + + container callHistory { + smiv2:oid "1.3.6.1.2.1.10.21.1.4"; + + leaf callHistoryTableMaxLength { + type int32 { + range "0..2147483647"; + } + description + "The upper limit on the number of entries that the + callHistoryTable may contain. A value of 0 + will prevent any history from being retained. When + this table is full, the oldest entry will be deleted + and the new one will be created."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.1"; + } + + leaf callHistoryRetainTimer { + type int32 { + range "0..2147483647"; + } + units "minutes"; + description + "The minimum amount of time that an callHistoryEntry + will be maintained before being deleted. A value of + 0 will prevent any history from being retained in the + callHistoryTable, but will neither prevent callCompletion + traps being generated nor affect other tables."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.2"; + } + } + + container dialCtlPeerCfgTable { + description + "The list of peers from which the managed device + will accept calls or to which it will place them."; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1"; + + list dialCtlPeerCfgEntry { + key "dialCtlPeerCfgId ifIndex"; + description + "Configuration data for a single Peer. This entry is + effectively permanent, and contains information + to identify the peer, how to connect to the peer, + how to identify the peer and its permissions. + The value of dialCtlPeerCfgOriginateAddress must be + specified before a new row in this table can become + active(1). Any writeable parameters in an existing entry + can be modified while the entry is active. The modification + will take effect when the peer in question will be + called the next time. + An entry in this table can only be created if the + associated ifEntry already exists."; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf dialCtlPeerCfgId { + type int32 { + range "1..2147483647"; + } + description + "This object identifies a single peer. There may + be several entries in this table for one peer, + defining different ways of reaching this peer. + Thus, there may be several entries in this table + with the same value of dialCtlPeerCfgId. + Multiple entries for one peer may be used to support + multilink as well as backup lines. + A single peer will be identified by a unique value + of this object. Several entries for one peer MUST + have the same value of dialCtlPeerCfgId, but different + ifEntries and thus different values of ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.1"; + } + + leaf dialCtlPeerCfgIfType { + type ianaiftype-mib:IANAifType; + description + "The interface type to be used for calling this peer. + In case of ISDN, the value of isdn(63) is to be used."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.2"; + } + + leaf dialCtlPeerCfgLowerIf { + type if-mib:InterfaceIndexOrZero; + description + "ifIndex value of an interface the peer will have to be + called on. For example, on an ISDN interface, this can be + the ifIndex value of a D channel or the ifIndex value of a + B channel, whatever is appropriate for a given peer. + As an example, for Basic Rate leased lines it will be + necessary to specify a B channel ifIndex, while for + + + + + semi-permanent connections the D channel ifIndex has + to be specified. + If the interface can be dynamically assigned, this object + has a value of zero."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.3"; + } + + leaf dialCtlPeerCfgOriginateAddress { + type snmpv2-tc:DisplayString; + description + "Call Address at which the peer will be called. + Think of this as the set of characters following 'ATDT ' + or the 'phone number' included in a D channel call request. + + The structure of this information will be switch type + specific. If there is no address information required + for reaching the peer, i.e., for leased lines, + this object will be a zero length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.4"; + } + + leaf dialCtlPeerCfgAnswerAddress { + type snmpv2-tc:DisplayString; + description + "Calling Party Number information element, as for example + passed in an ISDN SETUP message by a PBX or switch, + for incoming calls. + This address can be used to identify the peer. + If this address is either unknown or identical + to dialCtlPeerCfgOriginateAddress, this object will be + a zero length string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.5"; + } + + leaf dialCtlPeerCfgSubAddress { + type snmpv2-tc:DisplayString; + description + "Subaddress at which the peer will be called. + If the subaddress is undefined for the given media or + unused, this is a zero length string."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.6"; + } + + leaf dialCtlPeerCfgClosedUserGroup { + type snmpv2-tc:DisplayString; + description + "Closed User Group at which the peer will be called. + If the Closed User Group is undefined for the given media + or unused, this is a zero length string."; + reference + "Q.931, chapter 4.6.1."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.7"; + } + + leaf dialCtlPeerCfgSpeed { + type int32 { + range "0..2147483647"; + } + description + "The desired information transfer speed in bits/second + when calling this peer. + The detailed media specific information, e.g. information + type and information transfer rate for ISDN circuits, + has to be extracted from this object. + If the transfer speed to be used is unknown or the default + speed for this type of interfaces, the value of this object + may be zero."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.8"; + } + + leaf dialCtlPeerCfgInfoType { + type enumeration { + enum "other" { + value "1"; + } + enum "speech" { + value "2"; + } + enum "unrestrictedDigital" { + value "3"; + } + enum "unrestrictedDigital56" { + value "4"; + } + enum "restrictedDigital" { + value "5"; + } + enum "audio31" { + value "6"; + } + enum "audio7" { + value "7"; + } + enum "video" { + value "8"; + } + enum "packetSwitched" { + value "9"; + } + enum "fax" { + value "10"; + } + } + description + "The Information Transfer Capability to be used when + calling this peer. + + speech(2) refers to a non-data connection, whereas + audio31(6) and audio7(7) refer to data mode + connections."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.9"; + } + + leaf dialCtlPeerCfgPermission { + type enumeration { + enum "originate" { + value "1"; + } + enum "answer" { + value "2"; + } + enum "both" { + value "3"; + } + enum "callback" { + value "4"; + } + enum "none" { + value "5"; + } + } + description + "Applicable permissions. callback(4) either rejects the + call and then calls back, or uses the 'Reverse charging' + information element if it is available. + Note that callback(4) is supposed to control charging, not + security, and applies to callback prior to accepting a + call. Callback for security reasons can be handled using + PPP callback."; + smiv2:defval "both"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.10"; + } + + leaf dialCtlPeerCfgInactivityTimer { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The connection will be automatically disconnected + if no longer carrying useful data for a time + period, in seconds, specified in this object. + Useful data in this context refers to forwarding + packets, including routing information; it + excludes the encapsulator maintenance frames. + A value of zero means the connection will not be + automatically taken down due to inactivity, + which implies that it is a dedicated circuit."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.11"; + } + + leaf dialCtlPeerCfgMinDuration { + type int32 { + range "0..2147483647"; + } + description + "Minimum duration of a call in seconds, starting from the + time the call is connected until the call is disconnected. + This is to accomplish the fact that in most countries + charging applies to units of time, which should be matched + as closely as possible."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.12"; + } + + leaf dialCtlPeerCfgMaxDuration { + type int32 { + range "0..2147483647"; + } + description + "Maximum call duration in seconds. Zero means 'unlimited'."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.13"; + } + + leaf dialCtlPeerCfgCarrierDelay { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The call timeout time in seconds. The default value + of zero means that the call timeout as specified for + the media in question will apply."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.14"; + } + + leaf dialCtlPeerCfgCallRetries { + type int32 { + range "0..2147483647"; + } + description + "The number of calls to a non-responding address + that may be made. A retry count of zero means + there is no bound. The intent is to bound + the number of successive calls to an address + which is inaccessible, or which refuses those calls. + + Some countries regulate the number of call retries + to a given peer that can be made."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.15"; + } + + leaf dialCtlPeerCfgRetryDelay { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The time in seconds between call retries if a peer + cannot be reached. + A value of zero means that call retries may be done + without any delay."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.16"; + } + + leaf dialCtlPeerCfgFailureDelay { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The time in seconds after which call attempts are + to be placed again after a peer has been noticed + to be unreachable, i.e. after dialCtlPeerCfgCallRetries + unsuccessful call attempts. + A value of zero means that a peer will not be called + again after dialCtlPeerCfgCallRetries unsuccessful call + attempts."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.17"; + } + + leaf dialCtlPeerCfgTrapEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This object indicates whether dialCtlPeerCallInformation + and dialCtlPeerCallSetup traps should be generated for + this peer."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.18"; + } + + leaf dialCtlPeerCfgStatus { + type snmpv2-tc:RowStatus; + description + "Status of one row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.1.1.19"; + } + } + } + + container callActiveTable { + description + "A table containing information about active + calls to a specific destination."; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1"; + + list callActiveEntry { + key "callActiveSetupTime callActiveIndex"; + description + "The information regarding a single active Connection. + An entry in this table will be created when a call is + started. An entry in this table will be deleted when + an active call clears."; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1"; + + leaf callActiveSetupTime { + type yang:timestamp; + description + "The value of sysUpTime when the call associated to this + entry was started. This will be useful for an NMS to + retrieve all calls after a specific time. Also, this object + can be useful in finding large delays between the time the + call was started and the time the call was connected. + For ISDN media, this will be the time when the setup + message was received from or sent to the network."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.1"; + } + + leaf callActiveIndex { + type int32 { + range "1..2147483647"; + } + description + "Small index variable to distinguish calls that start in + the same hundredth of a second."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.2"; + } + + leaf callActivePeerAddress { + type snmpv2-tc:DisplayString; + description + "The number this call is connected to. If the number is + not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.3"; + } + + leaf callActivePeerSubAddress { + type snmpv2-tc:DisplayString; + description + "The subaddress this call is connected to. If the subaddress + is undefined or not available, this will be a zero length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.4"; + } + + leaf callActivePeerId { + type int32 { + range "0..2147483647"; + } + description + "This is the Id value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist or is unknown, the value + of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.5"; + } + + leaf callActivePeerIfIndex { + type int32 { + range "0..2147483647"; + } + description + "This is the ifIndex value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist or is unknown, the value + of this object will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.6"; + } + + leaf callActiveLogicalIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "This is the ifIndex value of the logical interface through + which this call was made. For ISDN media, this would be + the ifIndex of the B channel which was used for this call. + If the ifIndex value is unknown, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.7"; + } + + leaf callActiveConnectTime { + type yang:timestamp; + description + "The value of sysUpTime when the call was connected. + If the call is not connected, this object will have a + value of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.8"; + } + + leaf callActiveCallState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "connecting" { + value "2"; + } + enum "connected" { + value "3"; + } + enum "active" { + value "4"; + } + } + description + "The current call state. + unknown(1) - The call state is unknown. + connecting(2) - A connection attempt (outgoing call) + is being made. + connected(3) - An incoming call is in the process + of validation. + active(4) - The call is active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.9"; + } + + leaf callActiveCallOrigin { + type enumeration { + enum "originate" { + value "1"; + } + enum "answer" { + value "2"; + } + enum "callback" { + value "3"; + } + } + description + "The call origin."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.10"; + } + + leaf callActiveChargedUnits { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of charged units for this connection. + For incoming calls or if charging information is + not supplied by the switch, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.11"; + } + + leaf callActiveInfoType { + type enumeration { + enum "other" { + value "1"; + } + enum "speech" { + value "2"; + } + enum "unrestrictedDigital" { + value "3"; + } + enum "unrestrictedDigital56" { + value "4"; + } + enum "restrictedDigital" { + value "5"; + } + enum "audio31" { + value "6"; + } + enum "audio7" { + value "7"; + } + enum "video" { + value "8"; + } + enum "packetSwitched" { + value "9"; + } + enum "fax" { + value "10"; + } + } + description + "The information type for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.12"; + } + + leaf callActiveTransmitPackets { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of packets which were transmitted for this + call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.13"; + } + + leaf callActiveTransmitBytes { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of bytes which were transmitted for this + call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.14"; + } + + leaf callActiveReceivePackets { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of packets which were received for this + call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.15"; + } + + leaf callActiveReceiveBytes { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of bytes which were received for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.3.1.1.16"; + } + } + } + + container callHistoryTable { + description + "A table containing information about specific + calls to a specific destination."; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3"; + + list callHistoryEntry { + key "callActiveSetupTime callActiveIndex"; + description + "The information regarding a single Connection."; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1"; + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryPeerAddress { + type snmpv2-tc:DisplayString; + description + "The number this call was connected to. If the number is + not available, then it will have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.1"; + } + + leaf callHistoryPeerSubAddress { + type snmpv2-tc:DisplayString; + description + "The subaddress this call was connected to. If the subaddress + is undefined or not available, this will be a zero length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.2"; + } + + leaf callHistoryPeerId { + type int32 { + range "0..2147483647"; + } + description + "This is the Id value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.3"; + } + + leaf callHistoryPeerIfIndex { + type int32 { + range "0..2147483647"; + } + description + "This is the ifIndex value of the peer table entry + to which this call was made. If a peer table entry + for this call does not exist, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.4"; + } + + leaf callHistoryLogicalIfIndex { + type if-mib:InterfaceIndex; + description + "This is the ifIndex value of the logical interface through + which this call was made. For ISDN media, this would be + the ifIndex of the B channel which was used for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.5"; + } + + leaf callHistoryDisconnectCause { + type binary { + length "0..4"; + } + description + "The encoded network cause value associated with this call. + + The value of this object will depend on the interface type + as well as on the protocol and protocol version being + used on this interface. Some references for possible cause + values are given below."; + reference + "- Bellcore SR-NWT-001953, Generic Guidelines for + ISDN Terminal Equipment On Basic Access Interfaces, + chapter 5.2.5.8. + - Bellcore SR-NWT-002343, ISDN Primary Rate Interface + Generic Guidelines for Customer Premises Equipment, + chapter 8.2.5.8. + - ITU-T Q.931, Appendix I. + - ITU-T X.25, CAUSE and DIAGNOSTIC field values. + - German Telekom FTZ 1TR6, chapter 3.2.3.4.4.4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.6"; + } + + leaf callHistoryDisconnectText { + type snmpv2-tc:DisplayString; + description + "ASCII text describing the reason for call termination. + + This object exists because it would be impossible for + a management station to store all possible cause values + for all types of interfaces. It should be used only if + a management station is unable to decode the value of + dialCtlPeerStatsLastDisconnectCause."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.7"; + } + + leaf callHistoryConnectTime { + type yang:timestamp; + description + "The value of sysUpTime when the call was connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.8"; + } + + leaf callHistoryDisconnectTime { + type yang:timestamp; + description + "The value of sysUpTime when the call was disconnected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.9"; + } + + leaf callHistoryCallOrigin { + type enumeration { + enum "originate" { + value "1"; + } + enum "answer" { + value "2"; + } + enum "callback" { + value "3"; + } + } + description + "The call origin."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.10"; + } + + leaf callHistoryChargedUnits { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of charged units for this connection. + For incoming calls or if charging information is + not supplied by the switch, the value of this object + will be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.11"; + } + + leaf callHistoryInfoType { + type enumeration { + enum "other" { + value "1"; + } + enum "speech" { + value "2"; + } + enum "unrestrictedDigital" { + value "3"; + } + enum "unrestrictedDigital56" { + value "4"; + } + enum "restrictedDigital" { + value "5"; + } + enum "audio31" { + value "6"; + } + enum "audio7" { + value "7"; + } + enum "video" { + value "8"; + } + enum "packetSwitched" { + value "9"; + } + enum "fax" { + value "10"; + } + } + description + "The information type for this call."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.12"; + } + + leaf callHistoryTransmitPackets { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of packets which were transmitted while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.13"; + } + + leaf callHistoryTransmitBytes { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of bytes which were transmitted while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.14"; + } + + leaf callHistoryReceivePackets { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of packets which were received while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.15"; + } + + leaf callHistoryReceiveBytes { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The number of bytes which were received while this + call was active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.4.3.1.16"; + } + } + } + } + + smiv2:alias "dialCtlPeerStatsTable" { + description + "Statistics information for each peer entry. + There will be one entry in this table for each entry + in the dialCtlPeerCfgTable."; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2"; + } + + smiv2:alias "dialCtlPeerStatsEntry" { + description + "Statistics information for a single Peer. This entry + is effectively permanent, and contains information + describing the last call attempt as well as supplying + statistical information."; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1"; + } + + augment "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:dialCtlPeerCfgTable/DIAL-CONTROL-MIB:dialCtlPeerCfgEntry" { + description + "Statistics information for a single Peer. This entry + is effectively permanent, and contains information + describing the last call attempt as well as supplying + statistical information."; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1"; + + leaf dialCtlPeerStatsConnectTime { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + units "seconds"; + description + "Accumulated connect time to the peer since system startup. + This is the total connect time, i.e. the connect time + for outgoing calls plus the time for incoming calls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.1"; + } + + leaf dialCtlPeerStatsChargedUnits { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "The total number of charging units applying to this + peer since system startup. + Only the charging units applying to the local interface, + i.e. for originated calls or for calls with 'Reverse + charging' being active, will be counted here."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.2"; + } + + leaf dialCtlPeerStatsSuccessCalls { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "Number of completed calls to this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.3"; + } + + leaf dialCtlPeerStatsFailCalls { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "Number of failed call attempts to this peer since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.4"; + } + + leaf dialCtlPeerStatsAcceptCalls { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "Number of calls from this peer accepted since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.5"; + } + + leaf dialCtlPeerStatsRefuseCalls { + type DIAL-CONTROL-MIB:AbsoluteCounter32; + description + "Number of calls from this peer refused since system + startup."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.6"; + } + + leaf dialCtlPeerStatsLastDisconnectCause { + type binary { + length "0..4"; + } + description + "The encoded network cause value associated with the last + call. + This object will be updated whenever a call is started + or cleared. + The value of this object will depend on the interface type + as well as on the protocol and protocol version being + used on this interface. Some references for possible cause + values are given below."; + reference + "- Bellcore SR-NWT-001953, Generic Guidelines for + ISDN Terminal Equipment On Basic Access Interfaces, + chapter 5.2.5.8. + - Bellcore SR-NWT-002343, ISDN Primary Rate Interface + Generic Guidelines for Customer Premises Equipment, + chapter 8.2.5.8. + - ITU-T Q.931, Appendix I. + - ITU-T X.25, CAUSE and DIAGNOSTIC field values. + - German Telekom FTZ 1TR6, chapter 3.2.3.4.4.4."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.7"; + } + + leaf dialCtlPeerStatsLastDisconnectText { + type snmpv2-tc:DisplayString; + description + "ASCII text describing the reason for the last call + termination. + + This object exists because it would be impossible for + a management station to store all possible cause values + for all types of interfaces. It should be used only if + a management station is unable to decode the value of + dialCtlPeerStatsLastDisconnectCause. + + This object will be updated whenever a call is started + or cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.8"; + } + + leaf dialCtlPeerStatsLastSetupTime { + type yang:timestamp; + description + "The value of sysUpTime when the last call to this peer + was started. + For ISDN media, this will be the time when the setup + message was received from or sent to the network. + This object will be updated whenever a call is started + or cleared."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.21.1.2.2.1.9"; + } + } + + notification dialCtlPeerCallInformation { + description + "This trap/inform is sent to the manager whenever + a successful call clears, or a failed call attempt + is determined to have ultimately failed. In the + event that call retry is active, then this is after + all retry attempts have failed. However, only one such + trap is sent in between successful call attempts; + subsequent call attempts result in no trap. + ifOperStatus will return the operational status of the + virtual interface associated with the peer to whom + this call was made to."; + smiv2:oid "1.3.6.1.2.1.10.21.2.0.1"; + + container object-1 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryPeerId { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryPeerId"; + } + } + } + + container object-2 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryPeerIfIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryPeerIfIndex"; + } + } + } + + container object-3 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryLogicalIfIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryLogicalIfIndex"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifOperStatus"; + } + } + } + + container object-5 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryPeerAddress { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryPeerAddress"; + } + } + } + + container object-6 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryPeerSubAddress { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryPeerSubAddress"; + } + } + } + + container object-7 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryDisconnectCause { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryDisconnectCause"; + } + } + } + + container object-8 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryConnectTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryConnectTime"; + } + } + } + + container object-9 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryDisconnectTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryDisconnectTime"; + } + } + } + + container object-10 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryInfoType { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryInfoType"; + } + } + } + + container object-11 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callHistoryCallOrigin { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callHistoryTable/DIAL-CONTROL-MIB:callHistoryEntry/DIAL-CONTROL-MIB:callHistoryCallOrigin"; + } + } + } + } + + notification dialCtlPeerCallSetup { + description + "This trap/inform is sent to the manager whenever + a call setup message is received or sent. + ifOperStatus will return the operational status of the + virtual interface associated with the peer to whom + this call was made to."; + smiv2:oid "1.3.6.1.2.1.10.21.2.0.2"; + + container object-1 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActivePeerId { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActivePeerId"; + } + } + } + + container object-2 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActivePeerIfIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActivePeerIfIndex"; + } + } + } + + container object-3 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActiveLogicalIfIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveLogicalIfIndex"; + } + } + } + + container object-4 { + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifOperStatus"; + } + } + } + + container object-5 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActivePeerAddress { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActivePeerAddress"; + } + } + } + + container object-6 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActivePeerSubAddress { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActivePeerSubAddress"; + } + } + } + + container object-7 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActiveInfoType { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveInfoType"; + } + } + } + + container object-8 { + + leaf callActiveSetupTime { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveSetupTime"; + } + } + + leaf callActiveIndex { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveIndex"; + } + } + + leaf callActiveCallOrigin { + type leafref { + path "/DIAL-CONTROL-MIB:DIAL-CONTROL-MIB/DIAL-CONTROL-MIB:callActiveTable/DIAL-CONTROL-MIB:callActiveEntry/DIAL-CONTROL-MIB:callActiveCallOrigin"; + } + } + } + } + + smiv2:alias "dialControlMib" { + smiv2:oid "1.3.6.1.2.1.10.21"; + } + + smiv2:alias "dialControlMibObjects" { + smiv2:oid "1.3.6.1.2.1.10.21.1"; + } + + smiv2:alias "dialCtlConfiguration" { + smiv2:oid "1.3.6.1.2.1.10.21.1.1"; + } + + smiv2:alias "dialCtlPeer" { + smiv2:oid "1.3.6.1.2.1.10.21.1.2"; + } + + smiv2:alias "callActive" { + smiv2:oid "1.3.6.1.2.1.10.21.1.3"; + } + + smiv2:alias "callHistory" { + smiv2:oid "1.3.6.1.2.1.10.21.1.4"; + } + + smiv2:alias "dialControlMibTrapPrefix" { + smiv2:oid "1.3.6.1.2.1.10.21.2"; + } + + smiv2:alias "dialControlMibTraps" { + smiv2:oid "1.3.6.1.2.1.10.21.2.0"; + } + + smiv2:alias "dialControlMibConformance" { + smiv2:oid "1.3.6.1.2.1.10.21.3"; + } + + smiv2:alias "dialControlMibCompliances" { + smiv2:oid "1.3.6.1.2.1.10.21.3.1"; + } + + smiv2:alias "dialControlMibGroups" { + smiv2:oid "1.3.6.1.2.1.10.21.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DIFFSERV-DSCP-TC.yang b/vendor/cisco/xe/17151/MIBS/DIFFSERV-DSCP-TC.yang new file mode 100644 index 000000000..d9b03dc50 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DIFFSERV-DSCP-TC.yang @@ -0,0 +1,89 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DIFFSERV-DSCP-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DIFFSERV-DSCP-TC + * + * Do not edit. Edit the source file instead! + */ + +module DIFFSERV-DSCP-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC"; + prefix DIFFSERV-DSCP-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Differentiated Services WG"; + + contact + " Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, CA 93117, USA + E-mail: fred@cisco.com + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821, USA + E-mail: khchan@nortelnetworks.com + + Andrew Smith + Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + E-mail: ah_smith@acm.org + + Differentiated Services Working Group: + diffserv@ietf.org"; + + description + "The Textual Conventions defined in this module should be used + whenever a Differentiated Services Code Point is used in a MIB."; + + revision 2002-05-09 { + description + "Initial version, published as RFC 3289."; + } + + typedef Dscp { + type int32 { + range "0..63"; + } + description + "A Differentiated Services Code-Point that may be used for + marking a traffic stream."; + reference + "RFC 2474, RFC 2780"; + smiv2:display-hint "d"; + } + + typedef DscpOrAny { + type int32 { + range "-1..63"; + } + description + "The IP header Differentiated Services Code-Point that may be + + + + used for discriminating among traffic streams. The value -1 is + used to indicate a wild card i.e. any value."; + reference + "RFC 2474, RFC 2780"; + smiv2:display-hint "d"; + } + + smiv2:alias "diffServDSCPTC" { + smiv2:oid "1.3.6.1.2.1.96"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DIFFSERV-MIB.yang b/vendor/cisco/xe/17151/MIBS/DIFFSERV-MIB.yang new file mode 100644 index 000000000..afbf1276e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DIFFSERV-MIB.yang @@ -0,0 +1,2476 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DIFFSERV-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DIFFSERV-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DIFFSERV-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB"; + prefix DIFFSERV-MIB; + + import DIFFSERV-DSCP-TC { + prefix "diffserv-dscp"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import INTEGRATED-SERVICES-MIB { + prefix "integrated-services"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Differentiated Services WG"; + + contact + " Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, CA 93117, USA + E-mail: fred@cisco.com + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821, USA + E-mail: khchan@nortelnetworks.com + + Andrew Smith + Harbour Networks + Jiuling Building + + + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + E-mail: ah_smith@acm.org + + Differentiated Services Working Group: + diffserv@ietf.org"; + + description + "This MIB defines the objects necessary to manage a device that + uses the Differentiated Services Architecture described in RFC + 2475. The Conceptual Model of a Differentiated Services Router + provides supporting information on how such a router is modeled."; + + revision 2002-02-07 { + description + "Initial version, published as RFC 3289."; + } + + typedef IndexInteger { + type uint32 { + range "1..4294967295"; + } + description + "An integer which may be used as a table index."; + smiv2:display-hint "d"; + } + + typedef IndexIntegerNextFree { + type uint32 { + range "0..4294967295"; + } + description + "An integer which may be used as a new Index in a table. + + The special value of 0 indicates that no more new entries can be + created in the relevant table. + + When a MIB is used for configuration, an object with this SYNTAX + always contains a legal value (if non-zero) for an index that is + not currently used in the relevant table. The Command Generator + (Network Management Application) reads this variable and uses the + (non-zero) value read when creating a new row with an SNMP SET. + When the SET is performed, the Command Responder (agent) must + determine whether the value is indeed still unused; Two Network + Management Applications may attempt to create a row + (configuration entry) simultaneously and use the same value. If + it is currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, according to + an implementation-specific algorithm. If the value is in use, + + + + however, the SET fails. The Network Management Application must + then re-read this variable to obtain a new usable value. + + An OBJECT-TYPE definition using this SYNTAX MUST specify the + relevant table for which the object is providing this + functionality."; + smiv2:display-hint "d"; + } + + typedef IfDirection { + type enumeration { + enum "inbound" { + value "1"; + } + enum "outbound" { + value "2"; + } + } + description + "IfDirection specifies a direction of data travel on an + interface. 'inbound' traffic is operated on during reception from + the interface, while 'outbound' traffic is operated on prior to + transmission on the interface."; + } + + identity diffServTBParamSimpleTokenBucket { + base smiv2:object-identity; + description + "Two Parameter Token Bucket Meter as described in the Informal + Differentiated Services Model section 5.2.3."; + smiv2:oid "1.3.6.1.2.1.97.3.1.1"; + } + + identity diffServTBParamAvgRate { + base smiv2:object-identity; + description + "Average Rate Meter as described in the Informal Differentiated + Services Model section 5.2.1."; + smiv2:oid "1.3.6.1.2.1.97.3.1.2"; + } + + identity diffServTBParamSrTCMBlind { + base smiv2:object-identity; + description + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Blind' mode as described by the RFC."; + reference + "RFC 2697"; + smiv2:oid "1.3.6.1.2.1.97.3.1.3"; + } + + identity diffServTBParamSrTCMAware { + base smiv2:object-identity; + description + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Aware' mode as described by the RFC."; + reference + "RFC 2697"; + smiv2:oid "1.3.6.1.2.1.97.3.1.4"; + } + + identity diffServTBParamTrTCMBlind { + base smiv2:object-identity; + description + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Blind' mode as described by the RFC."; + reference + "RFC 2698"; + smiv2:oid "1.3.6.1.2.1.97.3.1.5"; + } + + identity diffServTBParamTrTCMAware { + base smiv2:object-identity; + description + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Aware' mode as described by the RFC."; + reference + "RFC 2698"; + smiv2:oid "1.3.6.1.2.1.97.3.1.6"; + } + + identity diffServTBParamTswTCM { + base smiv2:object-identity; + description + "Time Sliding Window Three Color Marker Metering as defined by + RFC 2859."; + reference + "RFC 2859"; + smiv2:oid "1.3.6.1.2.1.97.3.1.7"; + } + + identity diffServSchedulerPriority { + base smiv2:object-identity; + description + "For use with diffServSchedulerMethod to indicate the Priority + scheduling method. This is defined as an algorithm in which the + presence of data in a queue or set of queues absolutely precludes + dequeue from another queue or set of queues of lower priority. + Note that attributes from diffServMinRateEntry of the + queues/schedulers feeding this scheduler are used when + determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.1"; + } + + identity diffServSchedulerWRR { + base smiv2:object-identity; + description + "For use with diffServSchedulerMethod to indicate the Weighted + Round Robin scheduling method, defined as any algorithm in which + a set of queues are visited in a fixed order, and varying amounts + of traffic are removed from each queue in turn to implement an + average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.2"; + } + + identity diffServSchedulerWFQ { + base smiv2:object-identity; + description + "For use with diffServSchedulerMethod to indicate the Weighted + Fair Queuing scheduling method, defined as any algorithm in which + a set of queues are conceptually visited in some order, to + implement an average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.3"; + } + + + container DIFFSERV-MIB { + config false; + + container diffServClassifier { + smiv2:oid "1.3.6.1.2.1.97.1.2"; + + leaf diffServClfrNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServClfrId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.2.1"; + } + + leaf diffServClfrElementNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServClfrElementId, + or a zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.2.3"; + } + + leaf diffServMultiFieldClfrNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for + diffServMultiFieldClfrId, or a zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.2.5"; + } + } + + container diffServMeter { + smiv2:oid "1.3.6.1.2.1.97.1.3"; + + leaf diffServMeterNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServMeterId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.3.1"; + } + } + + container diffServTBParam { + smiv2:oid "1.3.6.1.2.1.97.1.4"; + + leaf diffServTBParamNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServTBParamId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.4.1"; + } + } + + container diffServAction { + smiv2:oid "1.3.6.1.2.1.97.1.5"; + + leaf diffServActionNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServActionId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.5.1"; + } + + leaf diffServCountActNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for + diffServCountActId, or a zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.5.4"; + } + } + + container diffServAlgDrop { + smiv2:oid "1.3.6.1.2.1.97.1.6"; + + leaf diffServAlgDropNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServAlgDropId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.1"; + } + + leaf diffServRandomDropNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServRandomDropId, + or a zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.3"; + } + } + + container diffServQueue { + smiv2:oid "1.3.6.1.2.1.97.1.7"; + + leaf diffServQNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServQId, or a zero + to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.7.1"; + } + } + + container diffServScheduler { + smiv2:oid "1.3.6.1.2.1.97.1.8"; + + leaf diffServSchedulerNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServSchedulerId, or + a zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.8.1"; + } + + leaf diffServMinRateNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServMinRateId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.8.3"; + } + + leaf diffServMaxRateNextFree { + type DIFFSERV-MIB:IndexIntegerNextFree; + description + "This object contains an unused value for diffServMaxRateId, or a + zero to indicate that none exist."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.8.5"; + } + } + + container diffServDataPathTable { + description + "The data path table contains RowPointers indicating the start of + the functional data path for each interface and traffic direction + in this device. These may merge, or be separated into parallel + data paths."; + smiv2:oid "1.3.6.1.2.1.97.1.1.1"; + + list diffServDataPathEntry { + key "ifIndex diffServDataPathIfDirection"; + description + "An entry in the data path table indicates the start of a single + Differentiated Services Functional Data Path in this device. + + These are associated with individual interfaces, logical or + physical, and therefore are instantiated by ifIndex. Therefore, + the interface index must have been assigned, according to the + procedures applicable to that, before it can be meaningfully + used. Generally, this means that the interface must exist. + + When diffServDataPathStorage is of type nonVolatile, however, + this may reflect the configuration for an interface whose ifIndex + has been assigned but for which the supporting implementation is + not currently present."; + smiv2:oid "1.3.6.1.2.1.97.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf diffServDataPathIfDirection { + type DIFFSERV-MIB:IfDirection; + description + "IfDirection specifies whether the reception or transmission path + for this interface is in view."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.1"; + } + + leaf diffServDataPathStart { + type snmpv2-tc:RowPointer; + description + "This selects the first Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + Differentiated Services treatment is performed on traffic of this + data path. A pointer with the value zeroDotZero normally + terminates a functional data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.2"; + } + + leaf diffServDataPathStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.3"; + } + + leaf diffServDataPathStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.1.1.1.4"; + } + } + } + + container diffServClfrTable { + description + "This table enumerates all the diffserv classifier functional + data path elements of this device. The actual classification + definitions are defined in diffServClfrElementTable entries + belonging to each classifier. + + An entry in this table, pointed to by a RowPointer specifying an + instance of diffServClfrStatus, is frequently used as the name + for a set of classifier elements, which all use the index + diffServClfrId. Per the semantics of the classifier element + table, these entries constitute one or more unordered sets of + tests which may be simultaneously applied to a message to + + + + classify it. + + The primary function of this table is to ensure that the value of + diffServClfrId is unique before attempting to use it in creating + a diffServClfrElementEntry. Therefore, the diffServClfrEntry must + be created on the same SET as the diffServClfrElementEntry, or + before the diffServClfrElementEntry is created."; + smiv2:oid "1.3.6.1.2.1.97.1.2.2"; + + list diffServClfrEntry { + key "diffServClfrId"; + description + "An entry in the classifier table describes a single classifier. + All classifier elements belonging to the same classifier use the + classifier's diffServClfrId as part of their index."; + smiv2:oid "1.3.6.1.2.1.97.1.2.2.1"; + + leaf diffServClfrId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the classifier entries. Managers + should obtain new values for row creation in this table by + reading diffServClfrNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.2.2.1.1"; + } + + leaf diffServClfrStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.2.1.2"; + } + + leaf diffServClfrStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.2.1.3"; + } + } + } + + container diffServClfrElementTable { + description + "The classifier element table enumerates the relationship between + classification patterns and subsequent downstream Differentiated + Services Functional Data Path elements. + diffServClfrElementSpecific points to a filter that specifies the + classification parameters. A classifier may use filter tables of + different types together. + + One example of a filter table defined in this MIB is + diffServMultiFieldClfrTable, for IP Multi-Field Classifiers + (MFCs). Such an entry might identify anything from a single + micro-flow (an identifiable sub-session packet stream directed + from one sending transport to the receiving transport or + transports), or aggregates of those such as the traffic from a + host, traffic for an application, or traffic between two hosts + using an application and a given DSCP. The standard Behavior + Aggregate used in the Differentiated Services Architecture is + encoded as a degenerate case of such an aggregate - the traffic + using a particular DSCP value. + + Filter tables for other filter types may be defined elsewhere."; + smiv2:oid "1.3.6.1.2.1.97.1.2.4"; + + list diffServClfrElementEntry { + key "diffServClfrId diffServClfrElementId"; + description + "An entry in the classifier element table describes a single + element of the classifier."; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1"; + + leaf diffServClfrId { + type leafref { + path "/DIFFSERV-MIB:DIFFSERV-MIB/DIFFSERV-MIB:diffServClfrTable/DIFFSERV-MIB:diffServClfrEntry/DIFFSERV-MIB:diffServClfrId"; + } + } + + leaf diffServClfrElementId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Classifier Element entries. + Managers obtain new values for row creation in this table by + reading diffServClfrElementNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.1"; + } + + leaf diffServClfrElementPrecedence { + type uint32 { + range "1..4294967295"; + } + description + "The relative order in which classifier elements are applied: + higher numbers represent classifier element with higher + precedence. Classifier elements with the same order must be + unambiguous i.e. they must define non-overlapping patterns, and + are considered to be applied simultaneously to the traffic + stream. Classifier elements with different order may overlap in + their filters: the classifier element with the highest order + that matches is taken. + + On a given interface, there must be a complete classifier in + place at all times in the ingress direction. This means one or + more filters must match any possible pattern. There is no such + + + + requirement in the egress direction."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.2"; + } + + leaf diffServClfrElementNext { + type snmpv2-tc:RowPointer; + description + "This attribute provides one branch of the fan-out functionality + of a classifier described in the Informal Differentiated Services + Model section 4.1. + + This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.3"; + } + + leaf diffServClfrElementSpecific { + type snmpv2-tc:RowPointer; + description + "A pointer to a valid entry in another table, filter table, that + describes the applicable classification parameters, e.g. an entry + in diffServMultiFieldClfrTable. + + The value zeroDotZero is interpreted to match anything not + matched by another classifier element - only one such entry may + exist for each classifier. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + + + + becomes inactive by other means, the element is ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.4"; + } + + leaf diffServClfrElementStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.5"; + } + + leaf diffServClfrElementStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.4.1.6"; + } + } + } + + container diffServMultiFieldClfrTable { + description + "A table of IP Multi-field Classifier filter entries that a + + + + system may use to identify IP traffic."; + smiv2:oid "1.3.6.1.2.1.97.1.2.6"; + + list diffServMultiFieldClfrEntry { + key "diffServMultiFieldClfrId"; + description + "An IP Multi-field Classifier entry describes a single filter."; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1"; + + leaf diffServMultiFieldClfrId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the MultiField Classifier filter + entries. Managers obtain new values for row creation in this + table by reading diffServMultiFieldClfrNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.1"; + } + + leaf diffServMultiFieldClfrAddrType { + type inet-address:InetAddressType; + description + "The type of IP address used by this classifier entry. While + other types of addresses are defined in the InetAddressType + + + + textual convention, and DNS names, a classifier can only look at + packets on the wire. Therefore, this object is limited to IPv4 + and IPv6 addresses."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.2"; + } + + leaf diffServMultiFieldClfrDstAddr { + type inet-address:InetAddress; + description + "The IP address to match against the packet's destination IP + address. This may not be a DNS name, but may be an IPv4 or IPv6 + prefix. diffServMultiFieldClfrDstPrefixLength indicates the + number of bits that are relevant."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.3"; + } + + leaf diffServMultiFieldClfrDstPrefixLength { + type inet-address:InetAddressPrefixLength; + units "bits"; + description + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.4"; + } + + leaf diffServMultiFieldClfrSrcAddr { + type inet-address:InetAddress; + description + "The IP address to match against the packet's source IP address. + This may not be a DNS name, but may be an IPv4 or IPv6 prefix. + diffServMultiFieldClfrSrcPrefixLength indicates the number of + bits that are relevant."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.5"; + } + + leaf diffServMultiFieldClfrSrcPrefixLength { + type inet-address:InetAddressPrefixLength; + units "bits"; + description + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.6"; + } + + leaf diffServMultiFieldClfrDscp { + type diffserv-dscp:DscpOrAny; + description + "The value that the DSCP in the packet must have to match this + entry. A value of -1 indicates that a specific DSCP value has not + been defined and thus all DSCP values are considered a match."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.7"; + } + + leaf diffServMultiFieldClfrFlowId { + type uint32 { + range "0..1048575"; + } + description + "The flow identifier in an IPv6 header."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.8"; + } + + leaf diffServMultiFieldClfrProtocol { + type uint32 { + range "0..255"; + } + description + "The IP protocol to match against the IPv4 protocol number or the + IPv6 Next- Header number in the packet. A value of 255 means + match all. Note the protocol number of 255 is reserved by IANA, + and Next-Header number of 0 is used in IPv6."; + smiv2:defval "255"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.9"; + } + + leaf diffServMultiFieldClfrDstL4PortMin { + type inet:port-number; + description + "The minimum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.10"; + } + + leaf diffServMultiFieldClfrDstL4PortMax { + type inet:port-number; + description + "The maximum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry. + This value must be equal to or greater than the value specified + for this entry in diffServMultiFieldClfrDstL4PortMin."; + smiv2:defval "65535"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.11"; + } + + leaf diffServMultiFieldClfrSrcL4PortMin { + type inet:port-number; + description + "The minimum value that the layer-4 source port number in the + packet must have in order to match this classifier entry."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.12"; + } + + leaf diffServMultiFieldClfrSrcL4PortMax { + type inet:port-number; + description + "The maximum value that the layer-4 source port number in the + packet must have in order to match this classifier entry. This + value must be equal to or greater than the value specified for + this entry in diffServMultiFieldClfrSrcL4PortMin."; + smiv2:defval "65535"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.13"; + } + + leaf diffServMultiFieldClfrStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.14"; + } + + leaf diffServMultiFieldClfrStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.2.6.1.15"; + } + } + } + + container diffServMeterTable { + description + "This table enumerates specific meters that a system may use to + police a stream of traffic. The traffic stream to be metered is + determined by the Differentiated Services Functional Data Path + Element(s) upstream of the meter i.e. by the object(s) that point + to each entry in this table. This may include all traffic on an + interface. + + Specific meter details are to be found in table entry referenced + by diffServMeterSpecific."; + smiv2:oid "1.3.6.1.2.1.97.1.3.2"; + + list diffServMeterEntry { + key "diffServMeterId"; + description + "An entry in the meter table describes a single conformance level + of a meter."; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1"; + + leaf diffServMeterId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Meter entries. Managers obtain new + values for row creation in this table by reading + diffServMeterNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.1"; + } + + leaf diffServMeterSucceedNext { + type snmpv2-tc:RowPointer; + description + "If the traffic does conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + further Differentiated Services treatment is performed on traffic + of this data path. The use of zeroDotZero is the normal usage for + the last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.2"; + } + + leaf diffServMeterFailNext { + type snmpv2-tc:RowPointer; + description + "If the traffic does not conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + + + + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.3"; + } + + leaf diffServMeterSpecific { + type snmpv2-tc:RowPointer; + description + "This indicates the behavior of the meter by pointing to an entry + containing detailed parameters. Note that entries in that + specific table must be managed explicitly. + + For example, diffServMeterSpecific may point to an entry in + diffServTBParamTable, which contains an instance of a single set + of Token Bucket parameters. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the meter always succeeds."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.4"; + } + + leaf diffServMeterStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.5"; + } + + leaf diffServMeterStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.3.2.1.6"; + } + } + } + + container diffServTBParamTable { + description + "This table enumerates a single set of token bucket meter + parameters that a system may use to police a stream of traffic. + Such meters are modeled here as having a single rate and a single + burst size. Multiple entries are used when multiple rates/burst + sizes are needed."; + smiv2:oid "1.3.6.1.2.1.97.1.4.2"; + + list diffServTBParamEntry { + key "diffServTBParamId"; + description + "An entry that describes a single set of token bucket + parameters."; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1"; + + leaf diffServTBParamId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Token Bucket Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServTBParamNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.1"; + } + + leaf diffServTBParamType { + type snmpv2-tc:AutonomousType; + description + "The Metering algorithm associated with the Token Bucket + parameters. zeroDotZero indicates this is unknown. + + Standard values for generic algorithms: + diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, + diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, + diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and + diffServTBParamTswTCM are specified in this MIB as OBJECT- + IDENTITYs; additional values may be further specified in other + MIBs."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.2"; + } + + leaf diffServTBParamRate { + type uint32 { + range "1..4294967295"; + } + units "kilobits per second"; + description + "The token-bucket rate, in kilobits per second (kbps). This + attribute is used for: + 1. CIR in RFC 2697 for srTCM + 2. CIR and PIR in RFC 2698 for trTCM + 3. CTR and PTR in RFC 2859 for TSWTCM + 4. AverageRate in RFC 3290."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.3"; + } + + leaf diffServTBParamBurstSize { + type integrated-services:BurstSize; + units "Bytes"; + description + "The maximum number of bytes in a single transmission burst. This + attribute is used for: + 1. CBS and EBS in RFC 2697 for srTCM + 2. CBS and PBS in RFC 2698 for trTCM + 3. Burst Size in RFC 3290."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.4"; + } + + leaf diffServTBParamInterval { + type uint32 { + range "1..4294967295"; + } + units "microseconds"; + description + "The time interval used with the token bucket. For: + 1. Average Rate Meter, the Informal Differentiated Services Model + section 5.2.1, - Delta. + 2. Simple Token Bucket Meter, the Informal Differentiated + Services Model section 5.1, - time interval t. + 3. RFC 2859 TSWTCM, - AVG_INTERVAL. + 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time + interval."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.5"; + } + + leaf diffServTBParamStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.6"; + } + + leaf diffServTBParamStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.4.2.1.7"; + } + } + } + + container diffServActionTable { + description + "The Action Table enumerates actions that can be performed to a + stream of traffic. Multiple actions can be concatenated. For + example, traffic exiting from a meter may be counted, marked, and + potentially dropped before entering a queue. + + Specific actions are indicated by diffServActionSpecific which + points to an entry of a specific action type parameterizing the + action in detail."; + smiv2:oid "1.3.6.1.2.1.97.1.5.2"; + + list diffServActionEntry { + key "diffServActionId"; + description + "Each entry in the action table allows description of one + specific action to be applied to traffic."; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1"; + + leaf diffServActionId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Action entries. Managers obtain + new values for row creation in this table by reading + diffServActionNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.1"; + } + + leaf diffServActionInterface { + type if-mib:InterfaceIndexOrZero; + description + "The interface index (value of ifIndex) that this action occurs + on. This may be derived from the diffServDataPathStartEntry's + index by extension through the various RowPointers. However, as + this may be difficult for a network management station, it is + placed here as well. If this is indeterminate, the value is + zero. + + This is of especial relevance when reporting the counters which + may apply to traffic crossing an interface: + diffServCountActOctets, + diffServCountActPkts, + diffServAlgDropOctets, + diffServAlgDropPkts, + diffServAlgRandomDropOctets, and + diffServAlgRandomDropPkts. + + It is also especially relevant to the queue and scheduler which + may be subsequently applied."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.2"; + } + + leaf diffServActionNext { + type snmpv2-tc:RowPointer; + description + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.3"; + } + + leaf diffServActionSpecific { + type snmpv2-tc:RowPointer; + description + "A pointer to an object instance providing additional information + for the type of action indicated by this action table entry. + + For the standard actions defined by this MIB module, this should + point to either a diffServDscpMarkActEntry or a + diffServCountActEntry. For other actions, it may point to an + object instance defined in some other MIB. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the Meter should be treated as + if it were not present. This may lead to incorrect policy + behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.4"; + } + + leaf diffServActionStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.5"; + } + + leaf diffServActionStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.2.1.6"; + } + } + } + + container diffServDscpMarkActTable { + description + "This table enumerates specific DSCPs used for marking or + remarking the DSCP field of IP packets. The entries of this table + may be referenced by a diffServActionSpecific attribute."; + smiv2:oid "1.3.6.1.2.1.97.1.5.3"; + + list diffServDscpMarkActEntry { + key "diffServDscpMarkActDscp"; + description + "An entry in the DSCP mark action table that describes a single + DSCP used for marking."; + smiv2:oid "1.3.6.1.2.1.97.1.5.3.1"; + + leaf diffServDscpMarkActDscp { + type inet:dscp; + description + "The DSCP that this Action will store into the DSCP field of the + subject. It is quite possible that the only packets subject to + this Action are already marked with this DSCP. Note also that + Differentiated Services processing may result in packet being + marked on both ingress to a network and on egress from it, and + that ingress and egress can occur in the same router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.5.3.1.1"; + } + } + } + + container diffServCountActTable { + description + "This table contains counters for all the traffic passing through + an action element."; + smiv2:oid "1.3.6.1.2.1.97.1.5.5"; + + list diffServCountActEntry { + key "diffServCountActId"; + description + "An entry in the count action table describes a single set of + traffic counters."; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1"; + + leaf diffServCountActId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Count Action entries. Managers + obtain new values for row creation in this table by reading + + + + diffServCountActNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.1"; + } + + leaf diffServCountActOctets { + type yang:counter64; + description + "The number of octets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.2"; + } + + leaf diffServCountActPkts { + type yang:counter64; + description + "The number of packets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.3"; + } + + leaf diffServCountActStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.4"; + } + + leaf diffServCountActStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + + + + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.5.5.1.5"; + } + } + } + + container diffServAlgDropTable { + description + "The algorithmic drop table contains entries describing an + element that drops packets according to some algorithm."; + smiv2:oid "1.3.6.1.2.1.97.1.6.2"; + + list diffServAlgDropEntry { + key "diffServAlgDropId"; + description + "An entry describes a process that drops packets according to + some algorithm. Further details of the algorithm type are to be + found in diffServAlgDropType and with more detail parameter entry + pointed to by diffServAlgDropSpecific when necessary."; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1"; + + leaf diffServAlgDropId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Algorithmic Dropper entries. + Managers obtain new values for row creation in this table by + reading diffServAlgDropNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.1"; + } + + leaf diffServAlgDropType { + type enumeration { + enum "other" { + value "1"; + } + enum "tailDrop" { + value "2"; + } + enum "headDrop" { + value "3"; + } + enum "randomDrop" { + value "4"; + } + enum "alwaysDrop" { + value "5"; + } + } + description + "The type of algorithm used by this dropper. The value other(1) + requires further specification in some other MIB module. + + In the tailDrop(2) algorithm, diffServAlgDropQThreshold + represents the maximum depth of the queue, pointed to by + diffServAlgDropQMeasure, beyond which all newly arriving packets + will be dropped. + + In the headDrop(3) algorithm, if a packet arrives when the + current depth of the queue, pointed to by + diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets + currently at the head of the queue are dropped to make room for + the new packet to be enqueued at the tail of the queue. + + In the randomDrop(4) algorithm, on packet arrival, an Active + Queue Management algorithm is executed which may randomly drop a + packet. This algorithm may be proprietary, and it may drop either + the arriving packet or another packet in the queue. + diffServAlgDropSpecific points to a diffServRandomDropEntry that + describes the algorithm. For this algorithm, + + + + diffServAlgDropQThreshold is understood to be the absolute + maximum size of the queue and additional parameters are described + in diffServRandomDropTable. + + The alwaysDrop(5) algorithm is as its name specifies; always + drop. In this case, the other configuration values in this Entry + are not meaningful; There is no useful 'next' processing step, + there is no queue, and parameters describing the queue are not + useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure, + and diffServAlgDropSpecific are all zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.2"; + } + + leaf diffServAlgDropNext { + type snmpv2-tc:RowPointer; + description + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + When diffServAlgDropType is alwaysDrop(5), this object is + ignored. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.3"; + } + + leaf diffServAlgDropQMeasure { + type snmpv2-tc:RowPointer; + description + "Points to an entry in the diffServQTable to indicate the queue + that a drop algorithm is to monitor when deciding whether to drop + a packet. If the row pointed to does not exist, the algorithmic + dropper element is considered inactive. + + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.4"; + } + + leaf diffServAlgDropQThreshold { + type uint32 { + range "1..4294967295"; + } + units "Bytes"; + description + "A threshold on the depth in bytes of the queue being measured at + which a trigger is generated to the dropping algorithm, unless + diffServAlgDropType is alwaysDrop(5) where this object is + ignored. + + For the tailDrop(2) or headDrop(3) algorithms, this represents + the depth of the queue, pointed to by diffServAlgDropQMeasure, at + which the drop action will take place. Other algorithms will need + to define their own semantics for this threshold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.5"; + } + + leaf diffServAlgDropSpecific { + type snmpv2-tc:RowPointer; + description + "Points to a table entry that provides further detail regarding a + drop algorithm. + + Entries with diffServAlgDropType equal to other(1) may have this + point to a table defined in another MIB module. + + Entries with diffServAlgDropType equal to randomDrop(4) must have + this point to an entry in diffServRandomDropTable. + + For all other algorithms specified in this MIB, this should take + the value zeroDotZero. + + The diffServAlgDropType is authoritative for the type of the drop + algorithm and the specific parameters for the drop algorithm + needs to be evaluated based on the diffServAlgDropType. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.6"; + } + + leaf diffServAlgDropOctets { + type yang:counter64; + description + "The number of octets that have been deterministically dropped by + this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.7"; + } + + leaf diffServAlgDropPkts { + type yang:counter64; + description + "The number of packets that have been deterministically dropped + by this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.8"; + } + + leaf diffServAlgRandomDropOctets { + type yang:counter64; + description + "The number of octets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.9"; + } + + leaf diffServAlgRandomDropPkts { + type yang:counter64; + description + "The number of packets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.10"; + } + + leaf diffServAlgDropStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.11"; + } + + leaf diffServAlgDropStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.2.1.12"; + } + } + } + + container diffServRandomDropTable { + description + "The random drop table contains entries describing a process that + drops packets randomly. Entries in this table are pointed to by + diffServAlgDropSpecific."; + smiv2:oid "1.3.6.1.2.1.97.1.6.4"; + + list diffServRandomDropEntry { + key "diffServRandomDropId"; + description + "An entry describes a process that drops packets according to a + random algorithm."; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1"; + + leaf diffServRandomDropId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Random Drop entries. Managers + obtain new values for row creation in this table by reading + diffServRandomDropNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.1"; + } + + leaf diffServRandomDropMinThreshBytes { + type uint32 { + range "1..4294967295"; + } + units "bytes"; + description + "The average queue depth in bytes, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshPkts."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.2"; + } + + leaf diffServRandomDropMinThreshPkts { + type uint32 { + range "1..4294967295"; + } + units "packets"; + description + "The average queue depth in packets, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshBytes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.3"; + } + + leaf diffServRandomDropMaxThreshBytes { + type uint32 { + range "1..4294967295"; + } + units "bytes"; + description + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshPkts."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.4"; + } + + leaf diffServRandomDropMaxThreshPkts { + type uint32 { + range "1..4294967295"; + } + units "packets"; + description + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshBytes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.5"; + } + + leaf diffServRandomDropProbMax { + type uint32 { + range "0..1000"; + } + description + "The worst case random drop probability, expressed in drops per + thousand packets. + + For example, if in the worst case every arriving packet may be + dropped (100%) for a period, this has the value 1000. + Alternatively, if in the worst case only one percent (1%) of + traffic may be dropped, it has the value 10."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.6"; + } + + leaf diffServRandomDropWeight { + type uint32 { + range "0..65536"; + } + description + "The weighting of past history in affecting the Exponentially + Weighted Moving Average function that calculates the current + average queue depth. The equation uses + diffServRandomDropWeight/65536 as the coefficient for the new + sample in the equation, and (65536 - + diffServRandomDropWeight)/65536 as the coefficient of the old + value. + + Implementations may limit the values of diffServRandomDropWeight + to a subset of the possible range of values, such as powers of + two. Doing this would facilitate implementation of the + Exponentially Weighted Moving Average using shift instructions or + registers."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.7"; + } + + leaf diffServRandomDropSamplingRate { + type uint32 { + range "0..1000000"; + } + description + "The number of times per second the queue is sampled for queue + average calculation. A value of zero is used to mean that the + queue is sampled approximately each time a packet is enqueued (or + dequeued)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.8"; + } + + leaf diffServRandomDropStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.9"; + } + + leaf diffServRandomDropStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.6.4.1.10"; + } + } + } + + container diffServQTable { + description + "The Queue Table enumerates the individual queues. Note that the + MIB models queuing systems as composed of individual queues, one + per class of traffic, even though they may in fact be structured + as classes of traffic scheduled using a common calendar queue, or + in other ways."; + smiv2:oid "1.3.6.1.2.1.97.1.7.2"; + + list diffServQEntry { + key "diffServQId"; + description + "An entry in the Queue Table describes a single queue or class of + traffic."; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1"; + + leaf diffServQId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Queue entries. Managers obtain new + values for row creation in this table by reading + diffServQNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.1"; + } + + leaf diffServQNext { + type snmpv2-tc:RowPointer; + description + "This selects the next Differentiated Services Scheduler. The + RowPointer must point to a diffServSchedulerEntry. + + A value of zeroDotZero in this attribute indicates an incomplete + diffServQEntry instance. In such a case, the entry has no + operational effect, since it has no parameters to give it + meaning. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.2"; + } + + leaf diffServQMinRate { + type snmpv2-tc:RowPointer; + description + "This RowPointer indicates the diffServMinRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the minimum rate and + priority is unspecified. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.3"; + } + + leaf diffServQMaxRate { + type snmpv2-tc:RowPointer; + description + "This RowPointer indicates the diffServMaxRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the maximum rate is the + line speed of the interface. + + + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.4"; + } + + leaf diffServQStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.5"; + } + + leaf diffServQStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.7.2.1.6"; + } + } + } + + container diffServSchedulerTable { + description + "The Scheduler Table enumerates packet schedulers. Multiple + scheduling algorithms can be used on a given data path, with each + algorithm described by one diffServSchedulerEntry."; + smiv2:oid "1.3.6.1.2.1.97.1.8.2"; + + list diffServSchedulerEntry { + key "diffServSchedulerId"; + description + "An entry in the Scheduler Table describing a single instance of + a scheduling algorithm."; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1"; + + leaf diffServSchedulerId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Scheduler entries. Managers obtain + new values for row creation in this table by reading + diffServSchedulerNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.1"; + } + + leaf diffServSchedulerNext { + type snmpv2-tc:RowPointer; + description + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This normally + is null (zeroDotZero), or points to a diffServSchedulerEntry or a + diffServQEntry. + + However, this RowPointer may also point to an instance of: + diffServClfrEntry, + diffServMeterEntry, + diffServActionEntry, + diffServAlgDropEntry. + + It would point another diffServSchedulerEntry when implementing + multiple scheduler methods for the same data path, such as having + one set of queues scheduled by WRR and that group participating + in a priority scheduling system in which other queues compete + with it in that way. It might also point to a second scheduler + in a hierarchical scheduling system. + + If the row pointed to is zeroDotZero, no further Differentiated + Services treatment is performed on traffic of this data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.2"; + } + + leaf diffServSchedulerMethod { + type snmpv2-tc:AutonomousType; + description + "The scheduling algorithm used by this Scheduler. zeroDotZero + indicates that this is unknown. Standard values for generic + algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and + diffServSchedulerWFQ are specified in this MIB; additional values + + + + may be further specified in other MIBs."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.3"; + } + + leaf diffServSchedulerMinRate { + type snmpv2-tc:RowPointer; + description + "This RowPointer indicates the entry in diffServMinRateTable + which indicates the priority or minimum output rate from this + scheduler. This attribute is used only when there is more than + one level of scheduler. + + When it has the value zeroDotZero, it indicates that no minimum + rate or priority is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.4"; + } + + leaf diffServSchedulerMaxRate { + type snmpv2-tc:RowPointer; + description + "This RowPointer indicates the entry in diffServMaxRateTable + which indicates the maximum output rate from this scheduler. + When more than one maximum rate applies (eg, when a multi-rate + shaper is in view), it points to the first of those rate entries. + This attribute is used only when there is more than one level of + scheduler. + + When it has the value zeroDotZero, it indicates that no maximum + rate is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.5"; + } + + leaf diffServSchedulerStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.6"; + } + + leaf diffServSchedulerStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.2.1.7"; + } + } + } + + container diffServMinRateTable { + description + "The Minimum Rate Parameters Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers."; + smiv2:oid "1.3.6.1.2.1.97.1.8.4"; + + list diffServMinRateEntry { + key "diffServMinRateId"; + description + "An entry in the Minimum Rate Parameters Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers."; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1"; + + leaf diffServMinRateId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Scheduler Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMinRateNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.1"; + } + + leaf diffServMinRatePriority { + type uint32 { + range "1..4294967295"; + } + description + "The priority of this input to the associated scheduler, relative + + + + to the scheduler's other inputs. A queue or scheduler with a + larger numeric value will be served before another with a smaller + numeric value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.2"; + } + + leaf diffServMinRateAbsolute { + type uint32 { + range "1..4294967295"; + } + units "kilobits per second"; + description + "The minimum absolute rate, in kilobits/sec, that a downstream + scheduler element should allocate to this queue. If the value is + zero, then there is effectively no minimum rate guarantee. If the + value is non-zero, the scheduler will assure the servicing of + this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"; + reference + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.3"; + } + + leaf diffServMinRateRelative { + type uint32 { + range "1..4294967295"; + } + description + "The minimum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + minimum rate guarantee. If the value is non-zero, the scheduler + will assure the servicing of this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"; + reference + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.4"; + } + + leaf diffServMinRateStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.5"; + } + + leaf diffServMinRateStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.4.1.6"; + } + } + } + + container diffServMaxRateTable { + description + "The Maximum Rate Parameter Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers."; + smiv2:oid "1.3.6.1.2.1.97.1.8.6"; + + list diffServMaxRateEntry { + key "diffServMaxRateId diffServMaxRateLevel"; + description + "An entry in the Maximum Rate Parameter Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers."; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1"; + + leaf diffServMaxRateId { + type DIFFSERV-MIB:IndexInteger; + description + "An index that enumerates the Maximum Rate Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMaxRateNextFree."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.1"; + } + + leaf diffServMaxRateLevel { + type uint32 { + range "1..32"; + } + description + "An index that indicates which level of a multi-rate shaper is + being given its parameters. A multi-rate shaper has some number + of rate levels. Frame Relay's dual rate specification refers to a + 'committed' and an 'excess' rate; ATM's dual rate specification + refers to a 'mean' and a 'peak' rate. This table is generalized + to support an arbitrary number of rates. The committed or mean + rate is level 1, the peak rate (if any) is the highest level rate + configured, and if there are other rates they are distributed in + monotonically increasing order between them."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.2"; + } + + leaf diffServMaxRateAbsolute { + type uint32 { + range "1..4294967295"; + } + units "kilobits per second"; + description + "The maximum rate in kilobits/sec that a downstream scheduler + element should allocate to this queue. If the value is zero, then + there is effectively no maximum rate limit and that the scheduler + should attempt to be work conserving for this queue. If the value + is non-zero, the scheduler will limit the servicing of this queue + to, at most, this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + + + + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"; + reference + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.3"; + } + + leaf diffServMaxRateRelative { + type uint32 { + range "1..4294967295"; + } + description + "The maximum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + maximum rate limit and the scheduler should attempt to be work + conserving for this queue. If the value is non-zero, the + scheduler will limit the servicing of this queue to, at most, + this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"; + reference + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.4"; + } + + leaf diffServMaxRateThreshold { + type integrated-services:BurstSize; + units "Bytes"; + description + "The number of bytes of queue depth at which the rate of a + + + + multi-rate scheduler will increase to the next output rate. In + the last conceptual row for such a shaper, this threshold is + ignored and by convention is zero."; + reference + "Adaptive rate Shaper, RFC 2963"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.5"; + } + + leaf diffServMaxRateStorage { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.6"; + } + + leaf diffServMaxRateStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.97.1.8.6.1.7"; + } + } + } + } + + smiv2:alias "diffServMib" { + smiv2:oid "1.3.6.1.2.1.97"; + } + + smiv2:alias "diffServMIBObjects" { + smiv2:oid "1.3.6.1.2.1.97.1"; + } + + smiv2:alias "diffServDataPath" { + smiv2:oid "1.3.6.1.2.1.97.1.1"; + } + + smiv2:alias "diffServClassifier" { + smiv2:oid "1.3.6.1.2.1.97.1.2"; + } + + smiv2:alias "diffServMeter" { + smiv2:oid "1.3.6.1.2.1.97.1.3"; + } + + smiv2:alias "diffServTBParam" { + smiv2:oid "1.3.6.1.2.1.97.1.4"; + } + + smiv2:alias "diffServAction" { + smiv2:oid "1.3.6.1.2.1.97.1.5"; + } + + smiv2:alias "diffServAlgDrop" { + smiv2:oid "1.3.6.1.2.1.97.1.6"; + } + + smiv2:alias "diffServQueue" { + smiv2:oid "1.3.6.1.2.1.97.1.7"; + } + + smiv2:alias "diffServScheduler" { + smiv2:oid "1.3.6.1.2.1.97.1.8"; + } + + smiv2:alias "diffServMIBConformance" { + smiv2:oid "1.3.6.1.2.1.97.2"; + } + + smiv2:alias "diffServMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.97.2.1"; + } + + smiv2:alias "diffServMIBGroups" { + smiv2:oid "1.3.6.1.2.1.97.2.2"; + } + + smiv2:alias "diffServMIBAdmin" { + smiv2:oid "1.3.6.1.2.1.97.3"; + } + + smiv2:alias "diffServTBMeters" { + smiv2:oid "1.3.6.1.2.1.97.3.1"; + } + + smiv2:alias "diffServTBParamSimpleTokenBucket" { + description + "Two Parameter Token Bucket Meter as described in the Informal + Differentiated Services Model section 5.2.3."; + smiv2:oid "1.3.6.1.2.1.97.3.1.1"; + } + + smiv2:alias "diffServTBParamAvgRate" { + description + "Average Rate Meter as described in the Informal Differentiated + Services Model section 5.2.1."; + smiv2:oid "1.3.6.1.2.1.97.3.1.2"; + } + + smiv2:alias "diffServTBParamSrTCMBlind" { + description + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Blind' mode as described by the RFC."; + reference + "RFC 2697"; + smiv2:oid "1.3.6.1.2.1.97.3.1.3"; + } + + smiv2:alias "diffServTBParamSrTCMAware" { + description + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Aware' mode as described by the RFC."; + reference + "RFC 2697"; + smiv2:oid "1.3.6.1.2.1.97.3.1.4"; + } + + smiv2:alias "diffServTBParamTrTCMBlind" { + description + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Blind' mode as described by the RFC."; + reference + "RFC 2698"; + smiv2:oid "1.3.6.1.2.1.97.3.1.5"; + } + + smiv2:alias "diffServTBParamTrTCMAware" { + description + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Aware' mode as described by the RFC."; + reference + "RFC 2698"; + smiv2:oid "1.3.6.1.2.1.97.3.1.6"; + } + + smiv2:alias "diffServTBParamTswTCM" { + description + "Time Sliding Window Three Color Marker Metering as defined by + RFC 2859."; + reference + "RFC 2859"; + smiv2:oid "1.3.6.1.2.1.97.3.1.7"; + } + + smiv2:alias "diffServSchedulers" { + smiv2:oid "1.3.6.1.2.1.97.3.2"; + } + + smiv2:alias "diffServSchedulerPriority" { + description + "For use with diffServSchedulerMethod to indicate the Priority + scheduling method. This is defined as an algorithm in which the + presence of data in a queue or set of queues absolutely precludes + dequeue from another queue or set of queues of lower priority. + Note that attributes from diffServMinRateEntry of the + queues/schedulers feeding this scheduler are used when + determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.1"; + } + + smiv2:alias "diffServSchedulerWRR" { + description + "For use with diffServSchedulerMethod to indicate the Weighted + Round Robin scheduling method, defined as any algorithm in which + a set of queues are visited in a fixed order, and varying amounts + of traffic are removed from each queue in turn to implement an + average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.2"; + } + + smiv2:alias "diffServSchedulerWFQ" { + description + "For use with diffServSchedulerMethod to indicate the Weighted + Fair Queuing scheduling method, defined as any algorithm in which + a set of queues are conceptually visited in some order, to + implement an average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule."; + smiv2:oid "1.3.6.1.2.1.97.3.2.3"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DISMAN-EVENT-MIB.yang b/vendor/cisco/xe/17151/MIBS/DISMAN-EVENT-MIB.yang new file mode 100644 index 000000000..f8aca7bdf --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DISMAN-EVENT-MIB.yang @@ -0,0 +1,2093 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DISMAN-EVENT-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DISMAN-EVENT-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DISMAN-EVENT-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB"; + prefix DISMAN-EVENT-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMP-TARGET-MIB { + prefix "snmp-target"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Distributed Management Working Group"; + + contact + "Ramanathan Kavasseri + Cisco Systems, Inc. + 170 West Tasman Drive, + San Jose CA 95134-1706. + Phone: +1 408 526 4527 + Email: ramk@cisco.com"; + + description + "The MIB module for defining event triggers and actions + for network management purposes."; + + revision 2000-10-16 { + description + "This is the initial version of this MIB. + Published as RFC 2981"; + } + + typedef FailureReason { + type enumeration { + enum "sampleOverrun" { + value "-6"; + } + enum "badType" { + value "-5"; + } + enum "noResponse" { + value "-4"; + } + enum "destinationUnreachable" { + value "-3"; + } + enum "badDestination" { + value "-2"; + } + enum "localResourceLack" { + value "-1"; + } + enum "noError" { + value "0"; + } + enum "tooBig" { + value "1"; + } + enum "noSuchName" { + value "2"; + } + enum "badValue" { + value "3"; + } + enum "readOnly" { + value "4"; + } + enum "genErr" { + value "5"; + } + enum "noAccess" { + value "6"; + } + enum "wrongType" { + value "7"; + } + enum "wrongLength" { + value "8"; + } + enum "wrongEncoding" { + value "9"; + } + enum "wrongValue" { + value "10"; + } + enum "noCreation" { + value "11"; + } + enum "inconsistentValue" { + value "12"; + } + enum "resourceUnavailable" { + value "13"; + } + enum "commitFailed" { + value "14"; + } + enum "undoFailed" { + value "15"; + } + enum "authorizationError" { + value "16"; + } + enum "notWritable" { + value "17"; + } + enum "inconsistentName" { + value "18"; + } + } + description + "Reasons for failures in an attempt to perform a management + request. + + The first group of errors, numbered less than 0, are related + to problems in sending the request. The existence of a + particular error code here does not imply that all + implementations are capable of sensing that error and + + returning that code. + + The second group, numbered greater than 0, are copied + directly from SNMP protocol operations and are intended to + carry exactly the meanings defined for the protocol as returned + in an SNMP response. + + localResourceLack some local resource such as memory + lacking or + mteResourceSampleInstanceMaximum + exceeded + badDestination unrecognized domain name or otherwise + invalid destination address + destinationUnreachable can't get to destination address + noResponse no response to SNMP request + badType the data syntax of a retrieved object + as not as expected + sampleOverrun another sample attempt occurred before + the previous one completed"; + } + + + container DISMAN-EVENT-MIB { + config false; + + container mteResource { + smiv2:oid "1.3.6.1.2.1.88.1.1"; + + leaf mteResourceSampleMinimum { + type int32 { + range "1..2147483647"; + } + units "seconds"; + description + "The minimum mteTriggerFrequency this system will + accept. A system may use the larger values of this minimum to + lessen the impact of constant sampling. For larger + sampling intervals the system samples less often and + suffers less overhead. This object provides a way to enforce + such lower overhead for all triggers created after it is + set. + + Unless explicitly resource limited, a system's value for + this object SHOULD be 1, allowing as small as a 1 second + interval for ongoing trigger sampling. + + Changing this value will not invalidate an existing setting + of mteTriggerFrequency."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.1.1"; + } + + leaf mteResourceSampleInstanceMaximum { + type uint32; + units "instances"; + description + "The maximum number of instance entries this system will + support for sampling. + + These are the entries that maintain state, one for each + instance of each sampled object as selected by + mteTriggerValueID. Note that wildcarded objects result + in multiple instances of this state. + + A value of 0 indicates no preset limit, that is, the limit + is dynamic based on system operation and resources. + + Unless explicitly resource limited, a system's value for + this object SHOULD be 0. + + Changing this value will not eliminate or inhibit existing + sample state but could prevent allocation of additional state + information."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.1.2"; + } + + leaf mteResourceSampleInstances { + type yang:gauge32; + units "instances"; + description + "The number of currently active instance entries as + defined for mteResourceSampleInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.88.1.1.3"; + } + + leaf mteResourceSampleInstancesHigh { + type yang:gauge32; + units "instances"; + description + "The highest value of mteResourceSampleInstances that has + occurred since initialization of the management system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.88.1.1.4"; + } + + leaf mteResourceSampleInstanceLacks { + type yang:counter32; + units "instances"; + description + "The number of times this system could not take a new sample + because that allocation would have exceeded the limit set by + mteResourceSampleInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.88.1.1.5"; + } + } + + container mteTrigger { + smiv2:oid "1.3.6.1.2.1.88.1.2"; + + leaf mteTriggerFailures { + type yang:counter32; + units "failures"; + description + "The number of times an attempt to check for a trigger + condition has failed. This counts individually for each + attempt in a group of targets or each attempt for a + + wildcarded object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.88.1.2.1"; + } + } + + container mteEvent { + smiv2:oid "1.3.6.1.2.1.88.1.4"; + + leaf mteEventFailures { + type yang:counter32; + description + "The number of times an attempt to invoke an event + has failed. This counts individually for each + attempt in a group of targets or each attempt for a + wildcarded trigger object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.88.1.4.1"; + } + } + + container mteTriggerTable { + description + "A table of management event trigger information."; + smiv2:oid "1.3.6.1.2.1.88.1.2.2"; + + list mteTriggerEntry { + key "mteOwner mteTriggerName"; + smiv2:implied "mteTriggerName"; + description + "Information about a single trigger. Applications create and + delete entries using mteTriggerEntryStatus."; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1"; + + leaf mteOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The owner of this entry. The exact semantics of this + string are subject to the security policy defined by the + security administrator."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.1"; + } + + leaf mteTriggerName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "A locally-unique, administratively assigned name for the + trigger within the scope of mteOwner."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.2"; + } + + leaf mteTriggerComment { + type snmp-framework:SnmpAdminString; + description + "A description of the trigger's function and use."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.3"; + } + + leaf mteTriggerTest { + type bits { + bit existence { + position "0"; + } + bit boolean { + position "1"; + } + bit threshold { + position "2"; + } + } + description + "The type of trigger test to perform. For 'boolean' and + 'threshold' tests, the object at mteTriggerValueID MUST + evaluate to an integer, that is, anything that ends up encoded + for transmission (that is, in BER, not ASN.1) as an integer. + + For 'existence', the specific test is as selected by + mteTriggerExistenceTest. When an object appears, vanishes + or changes value, the trigger fires. If the object's + appearance caused the trigger firing, the object MUST + vanish before the trigger can be fired again for it, and + vice versa. If the trigger fired due to a change in the + object's value, it will be fired again on every successive + value change for that object. + + For 'boolean', the specific test is as selected by + mteTriggerBooleanTest. If the test result is true the trigger + fires. The trigger will not fire again until the value has + become false and come back to true. + + For 'threshold' the test works as described below for + + mteTriggerThresholdStartup, mteTriggerThresholdRising, and + mteTriggerThresholdFalling. + + Note that combining 'boolean' and 'threshold' tests on the + same object may be somewhat redundant."; + smiv2:defval "{boolean}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.4"; + } + + leaf mteTriggerSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + } + description + "The type of sampling to perform. + + An 'absoluteValue' sample requires only a single sample to be + meaningful, and is exactly the value of the object at + mteTriggerValueID at the sample time. + + A 'deltaValue' requires two samples to be meaningful and is + thus not available for testing until the second and subsequent + samples after the object at mteTriggerValueID is first found + to exist. It is the difference between the two samples. For + unsigned values it is always positive, based on unsigned + arithmetic. For signed values it can be positive or negative. + + For SNMP counters to be meaningful they should be sampled as a + 'deltaValue'. + + For 'deltaValue' mteTriggerDeltaTable contains further + parameters. + + If only 'existence' is set in mteTriggerTest this object has + no meaning."; + smiv2:defval "absoluteValue"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.5"; + } + + leaf mteTriggerValueID { + type yang:object-identifier-128; + description + "The object identifier of the MIB object to sample to see + if the trigger should fire. + + This may be wildcarded by truncating all or part of the + instance portion, in which case the value is obtained + as if with a GetNext function, checking multiple values + + if they exist. If such wildcarding is applied, + mteTriggerValueIDWildcard must be 'true' and if not it must + be 'false'. + + Bad object identifiers or a mismatch between truncating the + identifier and the value of mteTriggerValueIDWildcard result + in operation as one would expect when providing the wrong + identifier to a Get or GetNext operation. The Get will fail + or get the wrong object. The GetNext will indeed get whatever + is next, proceeding until it runs past the initial part of the + identifier and perhaps many unintended objects for confusing + results. If the value syntax of those objects is not usable, + that results in a 'badType' error that terminates the scan. + + Each instance that fills the wildcard is independent of any + additional instances, that is, wildcarded objects operate + as if there were a separate table entry for each instance + that fills the wildcard without having to actually predict + all possible instances ahead of time."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.6"; + } + + leaf mteTriggerValueIDWildcard { + type boolean; + description + "Control for whether mteTriggerValueID is to be treated as + fully-specified or wildcarded, with 'true' indicating wildcard."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.7"; + } + + leaf mteTriggerTargetTag { + type snmp-target:SnmpTagValue; + description + "The tag for the target(s) from which to obtain the condition + for a trigger check. + + A length of 0 indicates the local system. In this case, + access to the objects indicated by mteTriggerValueID is under + the security credentials of the requester that set + mteTriggerEntryStatus to 'active'. Those credentials are the + input parameters for isAccessAllowed from the Architecture for + Describing SNMP Management Frameworks. + + Otherwise access rights are checked according to the security + + parameters resulting from the tag."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.8"; + } + + leaf mteTriggerContextName { + type snmp-framework:SnmpAdminString; + description + "The management context from which to obtain mteTriggerValueID. + + This may be wildcarded by leaving characters off the end. For + example use 'Repeater' to wildcard to 'Repeater1', + 'Repeater2', 'Repeater-999.87b', and so on. To indicate such + wildcarding is intended, mteTriggerContextNameWildcard must + be 'true'. + + Each instance that fills the wildcard is independent of any + additional instances, that is, wildcarded objects operate + as if there were a separate table entry for each instance + that fills the wildcard without having to actually predict + all possible instances ahead of time. + + Operation of this feature assumes that the local system has a + list of available contexts against which to apply the + wildcard. If the objects are being read from the local + system, this is clearly the system's own list of contexts. + For a remote system a local version of such a list is not + defined by any current standard and may not be available, so + this function MAY not be supported."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.9"; + } + + leaf mteTriggerContextNameWildcard { + type boolean; + description + "Control for whether mteTriggerContextName is to be treated as + fully-specified or wildcarded, with 'true' indicating wildcard."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.10"; + } + + leaf mteTriggerFrequency { + type uint32; + units "seconds"; + description + "The number of seconds to wait between trigger samples. To + encourage consistency in sampling, the interval is measured + from the beginning of one check to the beginning of the next + and the timer is restarted immediately when it expires, not + when the check completes. + + If the next sample begins before the previous one completed the + system may either attempt to make the check or treat this as an + error condition with the error 'sampleOverrun'. + + A frequency of 0 indicates instantaneous recognition of the + condition. This is not possible in many cases, but may + be supported in cases where it makes sense and the system is + able to do so. This feature allows the MIB to be used in + implementations where such interrupt-driven behavior is + possible and is not likely to be supported for all MIB objects + even then since such sampling generally has to be tightly + integrated into low-level code. + + Systems that can support this SHOULD document those cases + where it can be used. In cases where it can not, setting this + object to 0 should be disallowed."; + smiv2:defval "600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.11"; + } + + leaf mteTriggerObjectsOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerObjects, the mteOwner of a group of + objects from mteObjectsTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.12"; + } + + leaf mteTriggerObjects { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteObjectsName of a group of objects from + mteObjectsTable. These objects are to be added to any + Notification resulting from the firing of this trigger. + + A list of objects may also be added based on the event or on + the value of mteTriggerTest. + + A length of 0 indicates no additional objects."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.13"; + } + + leaf mteTriggerEnabled { + type boolean; + description + "A control to allow a trigger to be configured but not used. + When the value is 'false' the trigger is not sampled."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.14"; + } + + leaf mteTriggerEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation and deletion of entries. + Once made active an entry may not be modified except to + delete it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.2.1.15"; + } + } + } + + container mteTriggerDeltaTable { + description + "A table of management event trigger information for delta + sampling."; + smiv2:oid "1.3.6.1.2.1.88.1.2.3"; + + list mteTriggerDeltaEntry { + key "mteOwner mteTriggerName"; + smiv2:implied "mteTriggerName"; + description + "Information about a single trigger's delta sampling. Entries + automatically exist in this this table for each mteTriggerEntry + that has mteTriggerSampleType set to 'deltaValue'."; + smiv2:oid "1.3.6.1.2.1.88.1.2.3.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteTriggerName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteTriggerName"; + } + } + + leaf mteTriggerDeltaDiscontinuityID { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or + DateAndTime object that indicates a discontinuity in the value + at mteTriggerValueID. + + The OID may be for a leaf object (e.g. sysUpTime.0) or may + be wildcarded to match mteTriggerValueID. + + This object supports normal checking for a discontinuity in a + counter. Note that if this object does not point to sysUpTime + discontinuity checking MUST still check sysUpTime for an overall + discontinuity. + + If the object identified is not accessible the sample attempt + is in error, with the error code as from an SNMP request. + + Bad object identifiers or a mismatch between truncating the + identifier and the value of mteDeltaDiscontinuityIDWildcard + result in operation as one would expect when providing the + wrong identifier to a Get operation. The Get will fail or get + the wrong object. If the value syntax of those objects is not + usable, that results in an error that terminates the sample + with a 'badType' error code."; + smiv2:defval "sysUpTimeInstance"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.3.1.1"; + } + + leaf mteTriggerDeltaDiscontinuityIDWildcard { + type boolean; + description + "Control for whether mteTriggerDeltaDiscontinuityID is to be + treated as fully-specified or wildcarded, with 'true' + indicating wildcard. Note that the value of this object will + be the same as that of the corresponding instance of + mteTriggerValueIDWildcard when the corresponding + + mteTriggerSampleType is 'deltaValue'."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.3.1.2"; + } + + leaf mteTriggerDeltaDiscontinuityIDType { + type enumeration { + enum "timeTicks" { + value "1"; + } + enum "timeStamp" { + value "2"; + } + enum "dateAndTime" { + value "3"; + } + } + description + "The value 'timeTicks' indicates the + mteTriggerDeltaDiscontinuityID of this row is of syntax + TimeTicks. The value 'timeStamp' indicates syntax TimeStamp. + The value 'dateAndTime' indicates syntax DateAndTime."; + smiv2:defval "timeTicks"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.3.1.3"; + } + } + } + + container mteTriggerExistenceTable { + description + "A table of management event trigger information for existence + triggers."; + smiv2:oid "1.3.6.1.2.1.88.1.2.4"; + + list mteTriggerExistenceEntry { + key "mteOwner mteTriggerName"; + smiv2:implied "mteTriggerName"; + description + "Information about a single existence trigger. Entries + automatically exist in this this table for each mteTriggerEntry + that has 'existence' set in mteTriggerTest."; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteTriggerName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteTriggerName"; + } + } + + leaf mteTriggerExistenceTest { + type bits { + bit present { + position "0"; + } + bit absent { + position "1"; + } + bit changed { + position "2"; + } + } + description + "The type of existence test to perform. The trigger fires + when the object at mteTriggerValueID is seen to go from + present to absent, from absent to present, or to have it's + value changed, depending on which tests are selected: + + present(0) - when this test is selected, the trigger fires + when the mteTriggerValueID object goes from absent to present. + + absent(1) - when this test is selected, the trigger fires + when the mteTriggerValueID object goes from present to absent. + changed(2) - when this test is selected, the trigger fires + the mteTriggerValueID object value changes. + + Once the trigger has fired for either presence or absence it + will not fire again for that state until the object has been + to the other state. "; + smiv2:defval "{present, absent}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.1"; + } + + leaf mteTriggerExistenceStartup { + type bits { + bit present { + position "0"; + } + bit absent { + position "1"; + } + } + description + "Control for whether an event may be triggered when this entry + is first set to 'active' and the test specified by + mteTriggerExistenceTest is true. Setting an option causes + that trigger to fire when its test is true."; + smiv2:defval "{present, absent}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.2"; + } + + leaf mteTriggerExistenceObjectsOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerExistenceObjects, the mteOwner of a + group of objects from mteObjectsTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.3"; + } + + leaf mteTriggerExistenceObjects { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteObjectsName of a group of objects from + mteObjectsTable. These objects are to be added to any + Notification resulting from the firing of this trigger for + this test. + + A list of objects may also be added based on the overall + trigger, the event or other settings in mteTriggerTest. + + A length of 0 indicates no additional objects."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.4"; + } + + leaf mteTriggerExistenceEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerExistenceEvent, the mteOwner of an event + entry from the mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.5"; + } + + leaf mteTriggerExistenceEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'existence' and this trigger fires. A length of 0 indicates no + event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.4.1.6"; + } + } + } + + container mteTriggerBooleanTable { + description + "A table of management event trigger information for boolean + triggers."; + smiv2:oid "1.3.6.1.2.1.88.1.2.5"; + + list mteTriggerBooleanEntry { + key "mteOwner mteTriggerName"; + smiv2:implied "mteTriggerName"; + description + "Information about a single boolean trigger. Entries + automatically exist in this this table for each mteTriggerEntry + that has 'boolean' set in mteTriggerTest."; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteTriggerName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteTriggerName"; + } + } + + leaf mteTriggerBooleanComparison { + type enumeration { + enum "unequal" { + value "1"; + } + enum "equal" { + value "2"; + } + enum "less" { + value "3"; + } + enum "lessOrEqual" { + value "4"; + } + enum "greater" { + value "5"; + } + enum "greaterOrEqual" { + value "6"; + } + } + description + "The type of boolean comparison to perform. + + The value at mteTriggerValueID is compared to + mteTriggerBooleanValue, so for example if + mteTriggerBooleanComparison is 'less' the result would be true + if the value at mteTriggerValueID is less than the value of + mteTriggerBooleanValue."; + smiv2:defval "unequal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.1"; + } + + leaf mteTriggerBooleanValue { + type int32; + description + "The value to use for the test specified by + mteTriggerBooleanTest."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.2"; + } + + leaf mteTriggerBooleanStartup { + type boolean; + description + "Control for whether an event may be triggered when this entry + is first set to 'active' or a new instance of the object at + mteTriggerValueID is found and the test specified by + mteTriggerBooleanComparison is true. In that case an event is + triggered if mteTriggerBooleanStartup is 'true'."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.3"; + } + + leaf mteTriggerBooleanObjectsOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerBooleanObjects, the mteOwner of a group + of objects from mteObjectsTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.4"; + } + + leaf mteTriggerBooleanObjects { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteObjectsName of a group of objects from + mteObjectsTable. These objects are to be added to any + Notification resulting from the firing of this trigger for + this test. + + A list of objects may also be added based on the overall + trigger, the event or other settings in mteTriggerTest. + + A length of 0 indicates no additional objects."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.5"; + } + + leaf mteTriggerBooleanEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerBooleanEvent, the mteOwner of an event + entry from mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.6"; + } + + leaf mteTriggerBooleanEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'boolean' and this trigger fires. A length of 0 indicates no + event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.5.1.7"; + } + } + } + + container mteTriggerThresholdTable { + description + "A table of management event trigger information for threshold + triggers."; + smiv2:oid "1.3.6.1.2.1.88.1.2.6"; + + list mteTriggerThresholdEntry { + key "mteOwner mteTriggerName"; + smiv2:implied "mteTriggerName"; + description + "Information about a single threshold trigger. Entries + automatically exist in this table for each mteTriggerEntry + that has 'threshold' set in mteTriggerTest."; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteTriggerName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteTriggerName"; + } + } + + leaf mteTriggerThresholdStartup { + type enumeration { + enum "rising" { + value "1"; + } + enum "falling" { + value "2"; + } + enum "risingOrFalling" { + value "3"; + } + } + description + "The event that may be triggered when this entry is first + set to 'active' and a new instance of the object at + mteTriggerValueID is found. If the first sample after this + instance becomes active is greater than or equal to + mteTriggerThresholdRising and mteTriggerThresholdStartup is + equal to 'rising' or 'risingOrFalling', then one + mteTriggerThresholdRisingEvent is triggered for that instance. + If the first sample after this entry becomes active is less + than or equal to mteTriggerThresholdFalling and + mteTriggerThresholdStartup is equal to 'falling' or + 'risingOrFalling', then one mteTriggerThresholdRisingEvent is + triggered for that instance."; + smiv2:defval "risingOrFalling"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.1"; + } + + leaf mteTriggerThresholdRising { + type int32; + description + "A threshold value to check against if mteTriggerType is + 'threshold'. + + When the current sampled value is greater than or equal to + this threshold, and the value at the last sampling interval + was less than this threshold, one + mteTriggerThresholdRisingEvent is triggered. That event is + also triggered if the first sample after this entry becomes + active is greater than or equal to this threshold and + mteTriggerThresholdStartup is equal to 'rising' or + 'risingOrFalling'. + + After a rising event is generated, another such event is not + triggered until the sampled value falls below this threshold + and reaches mteTriggerThresholdFalling."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.2"; + } + + leaf mteTriggerThresholdFalling { + type int32; + description + "A threshold value to check against if mteTriggerType is + 'threshold'. + + When the current sampled value is less than or equal to this + threshold, and the value at the last sampling interval was + greater than this threshold, one + mteTriggerThresholdFallingEvent is triggered. That event is + also triggered if the first sample after this entry becomes + active is less than or equal to this threshold and + mteTriggerThresholdStartup is equal to 'falling' or + 'risingOrFalling'. + + After a falling event is generated, another such event is not + triggered until the sampled value rises above this threshold + and reaches mteTriggerThresholdRising."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.3"; + } + + leaf mteTriggerThresholdDeltaRising { + type int32; + description + "A threshold value to check against if mteTriggerType is + 'threshold'. + + When the delta value (difference) between the current sampled + value (value(n)) and the previous sampled value (value(n-1)) + is greater than or equal to this threshold, + and the delta value calculated at the last sampling interval + (i.e. value(n-1) - value(n-2)) was less than this threshold, + one mteTriggerThresholdDeltaRisingEvent is triggered. That event + is also triggered if the first delta value calculated after this + entry becomes active, i.e. value(2) - value(1), where value(1) + is the first sample taken of that instance, is greater than or + equal to this threshold. + + After a rising event is generated, another such event is not + triggered until the delta value falls below this threshold and + reaches mteTriggerThresholdDeltaFalling."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.4"; + } + + leaf mteTriggerThresholdDeltaFalling { + type int32; + description + "A threshold value to check against if mteTriggerType is + 'threshold'. + + When the delta value (difference) between the current sampled + value (value(n)) and the previous sampled value (value(n-1)) + is less than or equal to this threshold, + and the delta value calculated at the last sampling interval + (i.e. value(n-1) - value(n-2)) was greater than this threshold, + one mteTriggerThresholdDeltaFallingEvent is triggered. That event + is also triggered if the first delta value calculated after this + entry becomes active, i.e. value(2) - value(1), where value(1) + is the first sample taken of that instance, is less than or + equal to this threshold. + + After a falling event is generated, another such event is not + triggered until the delta value falls below this threshold and + reaches mteTriggerThresholdDeltaRising."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.5"; + } + + leaf mteTriggerThresholdObjectsOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerThresholdObjects, the mteOwner of a group + of objects from mteObjectsTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.6"; + } + + leaf mteTriggerThresholdObjects { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteObjectsName of a group of objects from + mteObjectsTable. These objects are to be added to any + Notification resulting from the firing of this trigger for + this test. + + A list of objects may also be added based on the overall + + trigger, the event or other settings in mteTriggerTest. + + A length of 0 indicates no additional objects."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.7"; + } + + leaf mteTriggerThresholdRisingEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerThresholdRisingEvent, the mteOwner of an + event entry from mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.8"; + } + + leaf mteTriggerThresholdRisingEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'threshold' and this trigger fires based on + mteTriggerThresholdRising. A length of 0 indicates no event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.9"; + } + + leaf mteTriggerThresholdFallingEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerThresholdFallingEvent, the mteOwner of an + event entry from mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.10"; + } + + leaf mteTriggerThresholdFallingEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'threshold' and this trigger fires based on + mteTriggerThresholdFalling. A length of 0 indicates no event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.11"; + } + + leaf mteTriggerThresholdDeltaRisingEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerThresholdDeltaRisingEvent, the mteOwner + of an event entry from mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.12"; + } + + leaf mteTriggerThresholdDeltaRisingEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'threshold' and this trigger fires based on + mteTriggerThresholdDeltaRising. A length of 0 indicates + no event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.13"; + } + + leaf mteTriggerThresholdDeltaFallingEventOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteTriggerThresholdDeltaFallingEvent, the mteOwner + of an event entry from mteEventTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.14"; + } + + leaf mteTriggerThresholdDeltaFallingEvent { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteEventName of the event to invoke when mteTriggerType is + 'threshold' and this trigger fires based on + mteTriggerThresholdDeltaFalling. A length of 0 indicates + no event."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.2.6.1.15"; + } + } + } + + container mteObjectsTable { + description + "A table of objects that can be added to notifications based + on the trigger, trigger test, or event, as pointed to by + entries in those tables."; + smiv2:oid "1.3.6.1.2.1.88.1.3.1"; + + list mteObjectsEntry { + key "mteOwner mteObjectsName mteObjectsIndex"; + description + "A group of objects. Applications create and delete entries + using mteObjectsEntryStatus. + + When adding objects to a notification they are added in the + lexical order of their index in this table. Those associated + with a trigger come first, then trigger test, then event."; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteObjectsName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "A locally-unique, administratively assigned name for a group + of objects."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1.1"; + } + + leaf mteObjectsIndex { + type uint32 { + range "1..4294967295"; + } + description + "An arbitrary integer for the purpose of identifying + individual objects within a mteObjectsName group. + + Objects within a group are placed in the notification in the + numerical order of this index. + + Groups are placed in the notification in the order of the + selections for overall trigger, trigger test, and event. + Within trigger test they are in the same order as the + numerical values of the bits defined for mteTriggerTest. + + Bad object identifiers or a mismatch between truncating the + identifier and the value of mteDeltaDiscontinuityIDWildcard + result in operation as one would expect when providing the + wrong identifier to a Get operation. The Get will fail or get + the wrong object. If the object is not available it is omitted + from the notification."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1.2"; + } + + leaf mteObjectsID { + type yang:object-identifier-128; + description + "The object identifier of a MIB object to add to a + Notification that results from the firing of a trigger. + + This may be wildcarded by truncating all or part of the + instance portion, in which case the instance portion of the + OID for obtaining this object will be the same as that used + in obtaining the mteTriggerValueID that fired. If such + wildcarding is applied, mteObjectsIDWildcard must be + 'true' and if not it must be 'false'. + + Each instance that fills the wildcard is independent of any + additional instances, that is, wildcarded objects operate + as if there were a separate table entry for each instance + that fills the wildcard without having to actually predict + all possible instances ahead of time."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1.3"; + } + + leaf mteObjectsIDWildcard { + type boolean; + description + "Control for whether mteObjectsID is to be treated as + fully-specified or wildcarded, with 'true' indicating wildcard."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1.4"; + } + + leaf mteObjectsEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation and deletion of entries. + Once made active an entry MAY not be modified except to + delete it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.3.1.1.5"; + } + } + } + + container mteEventTable { + description + "A table of management event action information."; + smiv2:oid "1.3.6.1.2.1.88.1.4.2"; + + list mteEventEntry { + key "mteOwner mteEventName"; + smiv2:implied "mteEventName"; + description + "Information about a single event. Applications create and + delete entries using mteEventEntryStatus."; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteEventName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "A locally-unique, administratively assigned name for the + event."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1.1"; + } + + leaf mteEventComment { + type snmp-framework:SnmpAdminString; + description + "A description of the event's function and use."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1.2"; + } + + leaf mteEventActions { + type bits { + bit notification { + position "0"; + } + bit set { + position "1"; + } + } + description + "The actions to perform when this event occurs. + + For 'notification', Traps and/or Informs are sent according + to the configuration in the SNMP Notification MIB. + + For 'set', an SNMP Set operation is performed according to + control values in this entry."; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1.3"; + } + + leaf mteEventEnabled { + type boolean; + description + "A control to allow an event to be configured but not used. + When the value is 'false' the event does not execute even if + + triggered."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1.4"; + } + + leaf mteEventEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation and deletion of entries. + Once made active an entry MAY not be modified except to + delete it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.2.1.5"; + } + } + } + + container mteEventNotificationTable { + description + "A table of information about notifications to be sent as a + consequence of management events."; + smiv2:oid "1.3.6.1.2.1.88.1.4.3"; + + list mteEventNotificationEntry { + key "mteOwner mteEventName"; + smiv2:implied "mteEventName"; + description + "Information about a single event's notification. Entries + automatically exist in this this table for each mteEventEntry + that has 'notification' set in mteEventActions."; + smiv2:oid "1.3.6.1.2.1.88.1.4.3.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteEventName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteEventTable/DISMAN-EVENT-MIB:mteEventEntry/DISMAN-EVENT-MIB:mteEventName"; + } + } + + leaf mteEventNotification { + type yang:object-identifier-128; + description + "The object identifier from the NOTIFICATION-TYPE for the + notification to use if metEventActions has 'notification' set."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.3.1.1"; + } + + leaf mteEventNotificationObjectsOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "To go with mteEventNotificationObjects, the mteOwner of a + group of objects from mteObjectsTable."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.3.1.2"; + } + + leaf mteEventNotificationObjects { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The mteObjectsName of a group of objects from + mteObjectsTable if mteEventActions has 'notification' set. + These objects are to be added to any Notification generated by + this event. + + Objects may also be added based on the trigger that stimulated + the event. + + A length of 0 indicates no additional objects."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.3.1.3"; + } + } + } + + container mteEventSetTable { + description + "A table of management event action information."; + smiv2:oid "1.3.6.1.2.1.88.1.4.4"; + + list mteEventSetEntry { + key "mteOwner mteEventName"; + smiv2:implied "mteEventName"; + description + "Information about a single event's set option. Entries + automatically exist in this this table for each mteEventEntry + that has 'set' set in mteEventActions."; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1"; + + leaf mteOwner { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteTriggerTable/DISMAN-EVENT-MIB:mteTriggerEntry/DISMAN-EVENT-MIB:mteOwner"; + } + } + + leaf mteEventName { + type leafref { + path "/DISMAN-EVENT-MIB:DISMAN-EVENT-MIB/DISMAN-EVENT-MIB:mteEventTable/DISMAN-EVENT-MIB:mteEventEntry/DISMAN-EVENT-MIB:mteEventName"; + } + } + + leaf mteEventSetObject { + type yang:object-identifier-128; + description + "The object identifier from the MIB object to set if + mteEventActions has 'set' set. + + This object identifier may be wildcarded by leaving + sub-identifiers off the end, in which case + nteEventSetObjectWildCard must be 'true'. + + If mteEventSetObject is wildcarded the instance used to set the + object to which it points is the same as the instance from the + value of mteTriggerValueID that triggered the event. + + Each instance that fills the wildcard is independent of any + additional instances, that is, wildcarded objects operate + as if there were a separate table entry for each instance + that fills the wildcard without having to actually predict + all possible instances ahead of time. + + Bad object identifiers or a mismatch between truncating the + identifier and the value of mteSetObjectWildcard + result in operation as one would expect when providing the + wrong identifier to a Set operation. The Set will fail or set + the wrong object. If the value syntax of the destination + object is not correct, the Set fails with the normal SNMP + error code."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.1"; + } + + leaf mteEventSetObjectWildcard { + type boolean; + description + "Control over whether mteEventSetObject is to be treated as + fully-specified or wildcarded, with 'true' indicating wildcard + if mteEventActions has 'set' set."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.2"; + } + + leaf mteEventSetValue { + type int32; + description + "The value to which to set the object at mteEventSetObject + if mteEventActions has 'set' set."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.3"; + } + + leaf mteEventSetTargetTag { + type snmp-target:SnmpTagValue; + description + "The tag for the target(s) at which to set the object at + mteEventSetObject to mteEventSetValue if mteEventActions + has 'set' set. + + Systems limited to self management MAY reject a non-zero + length for the value of this object. + + A length of 0 indicates the local system. In this case, + access to the objects indicated by mteEventSetObject is under + the security credentials of the requester that set + mteTriggerEntryStatus to 'active'. Those credentials are the + input parameters for isAccessAllowed from the Architecture for + Describing SNMP Management Frameworks. + + Otherwise access rights are checked according to the security + parameters resulting from the tag."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.4"; + } + + leaf mteEventSetContextName { + type snmp-framework:SnmpAdminString; + description + "The management context in which to set mteEventObjectID. + if mteEventActions has 'set' set. + + This may be wildcarded by leaving characters off the end. To + indicate such wildcarding mteEventSetContextNameWildcard must + be 'true'. + + If this context name is wildcarded the value used to complete + the wildcarding of mteTriggerContextName will be appended."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.5"; + } + + leaf mteEventSetContextNameWildcard { + type boolean; + description + "Control for whether mteEventSetContextName is to be treated as + fully-specified or wildcarded, with 'true' indicating wildcard + if mteEventActions has 'set' set."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.88.1.4.4.1.6"; + } + } + } + } + + notification mteTriggerFired { + description + "Notification that the trigger indicated by the object + instances has fired, for triggers with mteTriggerType + 'boolean' or 'existence'."; + smiv2:oid "1.3.6.1.2.1.88.2.0.1"; + + container object-1 { + + leaf mteHotTrigger { + type snmp-framework:SnmpAdminString; + description + "The name of the trigger causing the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.1"; + } + } + + container object-2 { + + leaf mteHotTargetName { + type snmp-framework:SnmpAdminString; + description + "The SNMP Target MIB's snmpTargetAddrName related to the + notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.2"; + } + } + + container object-3 { + + leaf mteHotContextName { + type snmp-framework:SnmpAdminString; + description + "The context name related to the notification. This MUST be as + fully-qualified as possible, including filling in wildcard + information determined in processing."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.3"; + } + } + + container object-4 { + + leaf mteHotOID { + type yang:object-identifier-128; + description + "The object identifier of the destination object related to the + notification. This MUST be as fully-qualified as possible, + including filling in wildcard information determined in + processing. + + For a trigger-related notification this is from + mteTriggerValueID. + + For a set failure this is from mteEventSetObject."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.4"; + } + } + + container object-5 { + + leaf mteHotValue { + type int32; + description + "The value of the object at mteTriggerValueID when a + trigger fired."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.5"; + } + } + } + + notification mteTriggerRising { + description + "Notification that the rising threshold was met for triggers + with mteTriggerType 'threshold'."; + smiv2:oid "1.3.6.1.2.1.88.2.0.2"; + + container object-1 { + + leaf mteHotTrigger { + type snmp-framework:SnmpAdminString; + description + "The name of the trigger causing the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.1"; + } + } + + container object-2 { + + leaf mteHotTargetName { + type snmp-framework:SnmpAdminString; + description + "The SNMP Target MIB's snmpTargetAddrName related to the + notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.2"; + } + } + + container object-3 { + + leaf mteHotContextName { + type snmp-framework:SnmpAdminString; + description + "The context name related to the notification. This MUST be as + fully-qualified as possible, including filling in wildcard + information determined in processing."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.3"; + } + } + + container object-4 { + + leaf mteHotOID { + type yang:object-identifier-128; + description + "The object identifier of the destination object related to the + notification. This MUST be as fully-qualified as possible, + including filling in wildcard information determined in + processing. + + For a trigger-related notification this is from + mteTriggerValueID. + + For a set failure this is from mteEventSetObject."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.4"; + } + } + + container object-5 { + + leaf mteHotValue { + type int32; + description + "The value of the object at mteTriggerValueID when a + trigger fired."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.5"; + } + } + } + + notification mteTriggerFalling { + description + "Notification that the falling threshold was met for triggers + with mteTriggerType 'threshold'."; + smiv2:oid "1.3.6.1.2.1.88.2.0.3"; + + container object-1 { + + leaf mteHotTrigger { + type snmp-framework:SnmpAdminString; + description + "The name of the trigger causing the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.1"; + } + } + + container object-2 { + + leaf mteHotTargetName { + type snmp-framework:SnmpAdminString; + description + "The SNMP Target MIB's snmpTargetAddrName related to the + notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.2"; + } + } + + container object-3 { + + leaf mteHotContextName { + type snmp-framework:SnmpAdminString; + description + "The context name related to the notification. This MUST be as + fully-qualified as possible, including filling in wildcard + information determined in processing."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.3"; + } + } + + container object-4 { + + leaf mteHotOID { + type yang:object-identifier-128; + description + "The object identifier of the destination object related to the + notification. This MUST be as fully-qualified as possible, + including filling in wildcard information determined in + processing. + + For a trigger-related notification this is from + mteTriggerValueID. + + For a set failure this is from mteEventSetObject."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.4"; + } + } + + container object-5 { + + leaf mteHotValue { + type int32; + description + "The value of the object at mteTriggerValueID when a + trigger fired."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.5"; + } + } + } + + notification mteTriggerFailure { + description + "Notification that an attempt to check a trigger has failed. + + The network manager must enable this notification only with + a certain fear and trembling, as it can easily crowd out more + important information. It should be used only to help diagnose + a problem that has appeared in the error counters and can not + be found otherwise."; + smiv2:oid "1.3.6.1.2.1.88.2.0.4"; + + container object-1 { + + leaf mteHotTrigger { + type snmp-framework:SnmpAdminString; + description + "The name of the trigger causing the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.1"; + } + } + + container object-2 { + + leaf mteHotTargetName { + type snmp-framework:SnmpAdminString; + description + "The SNMP Target MIB's snmpTargetAddrName related to the + notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.2"; + } + } + + container object-3 { + + leaf mteHotContextName { + type snmp-framework:SnmpAdminString; + description + "The context name related to the notification. This MUST be as + fully-qualified as possible, including filling in wildcard + information determined in processing."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.3"; + } + } + + container object-4 { + + leaf mteHotOID { + type yang:object-identifier-128; + description + "The object identifier of the destination object related to the + notification. This MUST be as fully-qualified as possible, + including filling in wildcard information determined in + processing. + + For a trigger-related notification this is from + mteTriggerValueID. + + For a set failure this is from mteEventSetObject."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.4"; + } + } + + container object-5 { + + leaf mteFailedReason { + type DISMAN-EVENT-MIB:FailureReason; + description + "The reason for the failure of an attempt to check for a + trigger condition or set an object in response to an event."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.6"; + } + } + } + + notification mteEventSetFailure { + description + "Notification that an attempt to do a set in response to an + event has failed. + + The network manager must enable this notification only with + a certain fear and trembling, as it can easily crowd out more + important information. It should be used only to help diagnose + a problem that has appeared in the error counters and can not + be found otherwise."; + smiv2:oid "1.3.6.1.2.1.88.2.0.5"; + + container object-1 { + + leaf mteHotTrigger { + type snmp-framework:SnmpAdminString; + description + "The name of the trigger causing the notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.1"; + } + } + + container object-2 { + + leaf mteHotTargetName { + type snmp-framework:SnmpAdminString; + description + "The SNMP Target MIB's snmpTargetAddrName related to the + notification."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.2"; + } + } + + container object-3 { + + leaf mteHotContextName { + type snmp-framework:SnmpAdminString; + description + "The context name related to the notification. This MUST be as + fully-qualified as possible, including filling in wildcard + information determined in processing."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.3"; + } + } + + container object-4 { + + leaf mteHotOID { + type yang:object-identifier-128; + description + "The object identifier of the destination object related to the + notification. This MUST be as fully-qualified as possible, + including filling in wildcard information determined in + processing. + + For a trigger-related notification this is from + mteTriggerValueID. + + For a set failure this is from mteEventSetObject."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.4"; + } + } + + container object-5 { + + leaf mteFailedReason { + type DISMAN-EVENT-MIB:FailureReason; + description + "The reason for the failure of an attempt to check for a + trigger condition or set an object in response to an event."; + smiv2:max-access "accessible-for-notify"; + smiv2:oid "1.3.6.1.2.1.88.2.1.6"; + } + } + } + + smiv2:alias "sysUpTimeInstance" { + smiv2:oid "1.3.6.1.2.1.1.3.0"; + } + + smiv2:alias "dismanEventMIB" { + smiv2:oid "1.3.6.1.2.1.88"; + } + + smiv2:alias "dismanEventMIBObjects" { + smiv2:oid "1.3.6.1.2.1.88.1"; + } + + smiv2:alias "mteResource" { + smiv2:oid "1.3.6.1.2.1.88.1.1"; + } + + smiv2:alias "mteTrigger" { + smiv2:oid "1.3.6.1.2.1.88.1.2"; + } + + smiv2:alias "mteObjects" { + smiv2:oid "1.3.6.1.2.1.88.1.3"; + } + + smiv2:alias "mteEvent" { + smiv2:oid "1.3.6.1.2.1.88.1.4"; + } + + smiv2:alias "dismanEventMIBNotificationPrefix" { + smiv2:oid "1.3.6.1.2.1.88.2"; + } + + smiv2:alias "dismanEventMIBNotifications" { + smiv2:oid "1.3.6.1.2.1.88.2.0"; + } + + smiv2:alias "dismanEventMIBNotificationObjects" { + smiv2:oid "1.3.6.1.2.1.88.2.1"; + } + + smiv2:alias "dismanEventMIBConformance" { + smiv2:oid "1.3.6.1.2.1.88.3"; + } + + smiv2:alias "dismanEventMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.88.3.1"; + } + + smiv2:alias "dismanEventMIBGroups" { + smiv2:oid "1.3.6.1.2.1.88.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DISMAN-EXPRESSION-MIB.yang b/vendor/cisco/xe/17151/MIBS/DISMAN-EXPRESSION-MIB.yang new file mode 100644 index 000000000..95da89e8f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DISMAN-EXPRESSION-MIB.yang @@ -0,0 +1,1158 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DISMAN-EXPRESSION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DISMAN-EXPRESSION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DISMAN-EXPRESSION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB"; + prefix DISMAN-EXPRESSION-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Distributed Management Working Group"; + + contact + "Ramanathan Kavasseri + Cisco Systems, Inc. + 170 West Tasman Drive, + San Jose CA 95134-1706. + Phone: +1 408 527 2446 + Email: ramk@cisco.com"; + + description + "The MIB module for defining expressions of MIB objects for + management purposes."; + + revision 2000-10-16 { + description + "This is the initial version of this MIB. + Published as RFC 2982"; + } + + + container DISMAN-EXPRESSION-MIB { + config false; + + container expResource { + smiv2:oid "1.3.6.1.2.1.90.1.1"; + + leaf expResourceDeltaMinimum { + type int32 { + range "-1|1..600"; + } + units "seconds"; + description + "The minimum expExpressionDeltaInterval this system will + accept. A system may use the larger values of this minimum to + lessen the impact of constantly computing deltas. For larger + delta sampling intervals the system samples less often and + suffers less overhead. This object provides a way to enforce + such lower overhead for all expressions created after it is + set. + + The value -1 indicates that expResourceDeltaMinimum is + irrelevant as the system will not accept 'deltaValue' as a + value for expObjectSampleType. + + Unless explicitly resource limited, a system's value for + this object should be 1, allowing as small as a 1 second + interval for ongoing delta sampling. + + Changing this value will not invalidate an existing setting + of expObjectSampleType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.1.1"; + } + + leaf expResourceDeltaWildcardInstanceMaximum { + type uint32; + units "instances"; + description + "For every instance of a deltaValue object, one dynamic instance + entry is needed for holding the instance value from the previous + sample, i.e. to maintain state. + + This object limits maximum number of dynamic instance entries + this system will support for wildcarded delta objects in + expressions. For a given delta expression, the number of + dynamic instances is the number of values that meet all criteria + to exist times the number of delta values in the expression. + + A value of 0 indicates no preset limit, that is, the limit + is dynamic based on system operation and resources. + + Unless explicitly resource limited, a system's value for + this object should be 0. + + Changing this value will not eliminate or inhibit existing delta + wildcard instance objects but will prevent the creation of more + such objects. + + An attempt to allocate beyond the limit results in expErrorCode + being tooManyWildcardValues for that evaluation attempt."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.1.2"; + } + + leaf expResourceDeltaWildcardInstances { + type yang:gauge32; + units "instances"; + description + "The number of currently active instance entries as + defined for expResourceDeltaWildcardInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.1.3"; + } + + leaf expResourceDeltaWildcardInstancesHigh { + type yang:gauge32; + units "instances"; + description + "The highest value of expResourceDeltaWildcardInstances + that has occurred since initialization of the managed + system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.1.4"; + } + + leaf expResourceDeltaWildcardInstanceResourceLacks { + type yang:counter32; + units "instances"; + description + "The number of times this system could not evaluate an + expression because that would have created a value instance in + excess of expResourceDeltaWildcardInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.1.5"; + } + } + + container expExpressionTable { + description + "A table of expression definitions."; + smiv2:oid "1.3.6.1.2.1.90.1.2.1"; + + list expExpressionEntry { + key "expExpressionOwner expExpressionName"; + description + "Information about a single expression. New expressions + can be created using expExpressionRowStatus. + + To create an expression first create the named entry in this + table. Then use expExpressionName to populate expObjectTable. + For expression evaluation to succeed all related entries in + expExpressionTable and expObjectTable must be 'active'. If + these conditions are not met the corresponding values in + expValue simply are not instantiated. + + Deleting an entry deletes all related entries in expObjectTable + and expErrorTable. + + Because of the relationships among the multiple tables for an + expression (expExpressionTable, expObjectTable, and + expValueTable) and the SNMP rules for independence in setting + object values, it is necessary to do final error checking when + an expression is evaluated, that is, when one of its instances + in expValueTable is read or a delta interval expires. Earlier + checking need not be done and an implementation may not impose + any ordering on the creation of objects related to an + expression. + + To maintain security of MIB information, when creating a new row in + this table, the managed system must record the security credentials + of the requester. These security credentials are the parameters + necessary as inputs to isAccessAllowed from the Architecture for + + Describing SNMP Management Frameworks. When obtaining the objects + that make up the expression, the system must (conceptually) use + isAccessAllowed to ensure that it does not violate security. + + The evaluation of the expression takes place under the + security credentials of the creator of its expExpressionEntry. + + Values of read-write objects in this table may be changed + at any time."; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1"; + + leaf expExpressionOwner { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The owner of this entry. The exact semantics of this + string are subject to the security policy defined by the + security administrator."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.1"; + } + + leaf expExpressionName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "The name of the expression. This is locally unique, within + the scope of an expExpressionOwner."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.2"; + } + + leaf expExpression { + type binary { + length "1..1024"; + } + description + "The expression to be evaluated. This object is the same + as a DisplayString (RFC 1903) except for its maximum length. + + Except for the variable names the expression is in ANSI C + syntax. Only the subset of ANSI C operators and functions + listed here is allowed. + + Variables are expressed as a dollar sign ('$') and an + integer that corresponds to an expObjectIndex. An + example of a valid expression is: + + ($1-$5)*100 + + Expressions must not be recursive, that is although an expression + may use the results of another expression, it must not contain + any variable that is directly or indirectly a result of its own + evaluation. The managed system must check for recursive + expressions. + + The only allowed operators are: + + ( ) + - (unary) + + - * / % + & | ^ << >> ~ + ! && || == != > >= < <= + + Note the parentheses are included for parenthesizing the + expression, not for casting data types. + + The only constant types defined are: + + int (32-bit signed) + long (64-bit signed) + unsigned int + unsigned long + hexadecimal + character + string + oid + + The default type for a positive integer is int unless it is too + large in which case it is long. + + All but oid are as defined for ANSI C. Note that a + hexadecimal constant may end up as a scalar or an array of + 8-bit integers. A string constant is enclosed in double + quotes and may contain back-slashed individual characters + as in ANSI C. + + An oid constant comprises 32-bit, unsigned integers and at + least one period, for example: + + 0. + .0 + 1.3.6.1 + + No additional leading or trailing subidentifiers are automatically + added to an OID constant. The constant is taken as expressed. + + Integer-typed objects are treated as 32- or 64-bit, signed + or unsigned integers, as appropriate. The results of + mixing them are as for ANSI C, including the type of the + result. Note that a 32-bit value is thus promoted to 64 bits + only in an operation with a 64-bit value. There is no + provision for larger values to handle overflow. + + Relative to SNMP data types, a resulting value becomes + unsigned when calculating it uses any unsigned value, + including a counter. To force the final value to be of + data type counter the expression must explicitly use the + counter32() or counter64() function (defined below). + + OCTET STRINGS and OBJECT IDENTIFIERs are treated as + one-dimensioned arrays of unsigned 8-bit integers and + unsigned 32-bit integers, respectively. + + IpAddresses are treated as 32-bit, unsigned integers in + network byte order, that is, the hex version of 255.0.0.0 is + 0xff000000. + + Conditional expressions result in a 32-bit, unsigned integer + of value 0 for false or 1 for true. When an arbitrary value + is used as a boolean 0 is false and non-zero is true. + + Rules for the resulting data type from an operation, based on + the operator: + + For << and >> the result is the same as the left hand operand. + + For &&, ||, ==, !=, <, <=, >, and >= the result is always + Unsigned32. + + For unary - the result is always Integer32. + + For +, -, *, /, %, &, |, and ^ the result is promoted according + to the following rules, in order from most to least preferred: + + If left hand and right hand operands are the same type, + use that. + + If either side is Counter64, use that. + + If either side is IpAddress, use that. + + If either side is TimeTicks, use that. + + If either side is Counter32, use that. + + Otherwise use Unsigned32. + + The following rules say what operators apply with what data + types. Any combination not explicitly defined does not work. + + For all operators any of the following can be the left hand or + right hand operand: Integer32, Counter32, Unsigned32, Counter64. + + The operators +, -, *, /, %, <, <=, >, and >= work with + TimeTicks. + + The operators &, |, and ^ work with IpAddress. + + The operators << and >> work with IpAddress but only as the + left hand operand. + + The + operator performs a concatenation of two OCTET STRINGs or + two OBJECT IDENTIFIERs. + + The operators &, | perform bitwise operations on OCTET STRINGs. + If the OCTET STRING happens to be a DisplayString the results + may be meaningless, but the agent system does not check this as + some such systems do not have this information. + + The operators << and >> perform bitwise operations on OCTET + STRINGs appearing as the left hand operand. + + The only functions defined are: + + counter32 + counter64 + arraySection + stringBegins + stringEnds + stringContains + oidBegins + oidEnds + oidContains + average + maximum + minimum + sum + exists + + The following function definitions indicate their parameters by + naming the data type of the parameter in the parameter's position + in the parameter list. The parameter must be of the type indicated + and generally may be a constant, a MIB object, a function, or an + expression. + + counter32(integer) - wrapped around an integer value counter32 + forces Counter32 as a data type. + + counter64(integer) - similar to counter32 except that the + resulting data type is 'counter64'. + + arraySection(array, integer, integer) - selects a piece of an + array (i.e. part of an OCTET STRING or OBJECT IDENTIFIER). The + integer arguments are in the range 0 to 4,294,967,295. The + first is an initial array index (one-dimensioned) and the second + is an ending array index. A value of 0 indicates first or last + element, respectively. If the first element is larger than the + array length the result is 0 length. If the second integer is + less than or equal to the first, the result is 0 length. If the + second is larger than the array length it indicates last + element. + + stringBegins/Ends/Contains(octetString, octetString) - looks for + the second string (which can be a string constant) in the first + and returns the one-dimensioned arrayindex where the match began. + A return value of 0 indicates no match (i.e. boolean false). + + oidBegins/Ends/Contains(oid, oid) - looks for the second OID + (which can be an OID constant) in the first and returns the + the one-dimensioned index where the match began. A return value + of 0 indicates no match (i.e. boolean false). + + average/maximum/minimum(integer) - calculates the average, + minimum, or maximum value of the integer valued object over + multiple sample times. If the object disappears for any + sample period, the accumulation and the resulting value object + cease to exist until the object reappears at which point the + calculation starts over. + + sum(integerObject*) - sums all available values of the + wildcarded integer object, resulting in an integer scalar. Must + be used with caution as it wraps on overflow with no + notification. + + exists(anyTypeObject) - verifies the object instance exists. A + return value of 0 indicates NoSuchInstance (i.e. boolean + false)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.3"; + } + + leaf expExpressionValueType { + type enumeration { + enum "counter32" { + value "1"; + } + enum "unsigned32" { + value "2"; + } + enum "timeTicks" { + value "3"; + } + enum "integer32" { + value "4"; + } + enum "ipAddress" { + value "5"; + } + enum "octetString" { + value "6"; + } + enum "objectId" { + value "7"; + } + enum "counter64" { + value "8"; + } + } + description + "The type of the expression value. One and only one of the + value objects in expValueTable will be instantiated to match + this type. + + If the result of the expression can not be made into this type, + an invalidOperandType error will occur."; + smiv2:defval "counter32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.4"; + } + + leaf expExpressionComment { + type snmp-framework:SnmpAdminString; + description + "A comment to explain the use or meaning of the expression."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.5"; + } + + leaf expExpressionDeltaInterval { + type int32 { + range "0..86400"; + } + units "seconds"; + description + "Sampling interval for objects in this expression with + expObjectSampleType 'deltaValue'. + + This object has no effect if the the expression has no + deltaValue objects. + + A value of 0 indicates no automated sampling. In this case + the delta is the difference from the last time the expression + was evaluated. Note that this is subject to unpredictable + delta times in the face of retries or multiple managers. + + A value greater than zero is the number of seconds between + automated samples. + + Until the delta interval has expired once the delta for the + object is effectively not instantiated and evaluating + the expression has results as if the object itself were not + instantiated. + + Note that delta values potentially consume large amounts of + system CPU and memory. Delta state and processing must + continue constantly even if the expression is not being used. + That is, the expression is being evaluated every delta interval, + even if no application is reading those values. For wildcarded + objects this can be substantial overhead. + + Note that delta intervals, external expression value sampling + intervals and delta intervals for expressions within other + expressions can have unusual interactions as they are impossible + to synchronize accurately. In general one interval embedded + below another must be enough shorter that the higher sample + sees relatively smooth, predictable behavior. So, for example, + to avoid the higher level getting the same sample twice, the + lower level should sample at least twice as fast as the higher + level does."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.6"; + } + + leaf expExpressionPrefix { + type yang:object-identifier-128; + description + "An object prefix to assist an application in determining + the instance indexing to use in expValueTable, relieving the + application of the need to scan the expObjectTable to + determine such a prefix. + + See expObjectTable for information on wildcarded objects. + + If the expValueInstance portion of the value OID may + be treated as a scalar (that is, normally, 0) the value of + expExpressionPrefix is zero length, that is, no OID at all. + Note that zero length implies a null OID, not the OID 0.0. + + Otherwise, the value of expExpressionPrefix is the expObjectID + value of any one of the wildcarded objects for the expression. + This is sufficient, as the remainder, that is, the instance + fragment relevant to instancing the values, must be the same for + all wildcarded objects in the expression."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.7"; + } + + leaf expExpressionErrors { + type yang:counter32; + description + "The number of errors encountered while evaluating this + expression. + + Note that an object in the expression not being accessible, + is not considered an error. An example of an inaccessible + object is when the object is excluded from the view of the + user whose security credentials are used in the expression + evaluation. In such cases, it is a legitimate condition + that causes the corresponding expression value not to be + instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.8"; + } + + leaf expExpressionEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation and deletion of entries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.1.1.9"; + } + } + } + + container expErrorTable { + description + "A table of expression errors."; + smiv2:oid "1.3.6.1.2.1.90.1.2.2"; + + list expErrorEntry { + key "expExpressionOwner expExpressionName"; + description + "Information about errors in processing an expression. + + Entries appear in this table only when there is a matching + expExpressionEntry and then only when there has been an + error for that expression as reflected by the error codes + defined for expErrorCode."; + smiv2:oid "1.3.6.1.2.1.90.1.2.2.1"; + + leaf expExpressionOwner { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionOwner"; + } + } + + leaf expExpressionName { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionName"; + } + } + + leaf expErrorTime { + type yang:timestamp; + description + "The value of sysUpTime the last time an error caused a + failure to evaluate this expression."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.2.1.1"; + } + + leaf expErrorIndex { + type int32; + description + "The one-dimensioned character array index into + expExpression for where the error occurred. The value + zero indicates irrelevance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.2.1.2"; + } + + leaf expErrorCode { + type enumeration { + enum "invalidSyntax" { + value "1"; + } + enum "undefinedObjectIndex" { + value "2"; + } + enum "unrecognizedOperator" { + value "3"; + } + enum "unrecognizedFunction" { + value "4"; + } + enum "invalidOperandType" { + value "5"; + } + enum "unmatchedParenthesis" { + value "6"; + } + enum "tooManyWildcardValues" { + value "7"; + } + enum "recursion" { + value "8"; + } + enum "deltaTooShort" { + value "9"; + } + enum "resourceUnavailable" { + value "10"; + } + enum "divideByZero" { + value "11"; + } + } + description + "The error that occurred. In the following explanations the + expected timing of the error is in parentheses. 'S' means + the error occurs on a Set request. 'E' means the error + occurs on the attempt to evaluate the expression either due to + Get from expValueTable or in ongoing delta processing. + + invalidSyntax the value sent for expExpression is not + valid Expression MIB expression syntax + (S) + undefinedObjectIndex an object reference ($n) in + expExpression does not have a matching + instance in expObjectTable (E) + unrecognizedOperator the value sent for expExpression held an + unrecognized operator (S) + unrecognizedFunction the value sent for expExpression held an + unrecognized function name (S) + invalidOperandType an operand in expExpression is not the + right type for the associated operator + or result (SE) + unmatchedParenthesis the value sent for expExpression is not + correctly parenthesized (S) + tooManyWildcardValues evaluating the expression exceeded the + limit set by + expResourceDeltaWildcardInstanceMaximum + (E) + recursion through some chain of embedded + expressions the expression invokes itself + (E) + deltaTooShort the delta for the next evaluation passed + before the system could evaluate the + present sample (E) + resourceUnavailable some resource, typically dynamic memory, + was unavailable (SE) + divideByZero an attempt to divide by zero occurred + (E) + + For the errors that occur when the attempt is made to set + expExpression Set request fails with the SNMP error code + 'wrongValue'. Such failures refer to the most recent failure to + Set expExpression, not to the present value of expExpression + which must be either unset or syntactically correct. + + Errors that occur during evaluation for a Get* operation return + the SNMP error code 'genErr' except for 'tooManyWildcardValues' + and 'resourceUnavailable' which return the SNMP error code + 'resourceUnavailable'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.2.1.3"; + } + + leaf expErrorInstance { + type yang:object-identifier-128; + description + "The expValueInstance being evaluated when the error + occurred. A zero-length indicates irrelevance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.2.2.1.4"; + } + } + } + + container expObjectTable { + description + "A table of object definitions for each expExpression. + + Wildcarding instance IDs: + + It is legal to omit all or part of the instance portion for + some or all of the objects in an expression. (See the + DESCRIPTION of expObjectID for details. However, note that + if more than one object in the same expression is wildcarded + in this way, they all must be objects where that portion of + the instance is the same. In other words, all objects may be + in the same SEQUENCE or in different SEQUENCEs but with the + same semantic index value (e.g., a value of ifIndex) + for the wildcarded portion."; + smiv2:oid "1.3.6.1.2.1.90.1.2.3"; + + list expObjectEntry { + key "expExpressionOwner expExpressionName expObjectIndex"; + description + "Information about an object. An application uses + expObjectEntryStatus to create entries in this table while + in the process of defining an expression. + + Values of read-create objects in this table may be + changed at any time."; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1"; + + leaf expExpressionOwner { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionOwner"; + } + } + + leaf expExpressionName { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionName"; + } + } + + leaf expObjectIndex { + type uint32 { + range "1..4294967295"; + } + description + "Within an expression, a unique, numeric identification for an + object. Prefixed with a dollar sign ('$') this is used to + reference the object in the corresponding expExpression."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.1"; + } + + leaf expObjectID { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of this object. The OID may be + fully qualified, meaning it includes a complete instance + identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it + may not be fully qualified, meaning it may lack all or part + of the instance identifier. If the expObjectID is not fully + qualified, then expObjectWildcard must be set to true(1). + The value of the expression will be multiple + values, as if done for a GetNext sweep of the object. + + An object here may itself be the result of an expression but + recursion is not allowed. + + NOTE: The simplest implementations of this MIB may not allow + wildcards."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.2"; + } + + leaf expObjectIDWildcard { + type boolean; + description + "A true value indicates the expObjecID of this row is a wildcard + object. False indicates that expObjectID is fully instanced. + If all expObjectWildcard values for a given expression are FALSE, + expExpressionPrefix will reflect a scalar object (i.e. will + be 0.0). + + NOTE: The simplest implementations of this MIB may not allow + wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.3"; + } + + leaf expObjectSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + enum "changedValue" { + value "3"; + } + } + description + "The method of sampling the selected variable. + + An 'absoluteValue' is simply the present value of the object. + + A 'deltaValue' is the present value minus the previous value, + which was sampled expExpressionDeltaInterval seconds ago. + This is intended primarily for use with SNMP counters, which are + meaningless as an 'absoluteValue', but may be used with any + integer-based value. + + A 'changedValue' is a boolean for whether the present value is + different from the previous value. It is applicable to any data + type and results in an Unsigned32 with value 1 if the object's + value is changed and 0 if not. In all other respects it is as a + 'deltaValue' and all statements and operation regarding delta + values apply to changed values. + + When an expression contains both delta and absolute values + the absolute values are obtained at the end of the delta + period."; + smiv2:defval "absoluteValue"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.4"; + } + + leaf expObjectDeltaDiscontinuityID { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or + DateAndTime object that indicates a discontinuity in the value + at expObjectID. + + This object is instantiated only if expObjectSampleType is + 'deltaValue' or 'changedValue'. + + The OID may be for a leaf object (e.g. sysUpTime.0) or may + be wildcarded to match expObjectID. + + This object supports normal checking for a discontinuity in a + counter. Note that if this object does not point to sysUpTime + discontinuity checking must still check sysUpTime for an overall + discontinuity. + + If the object identified is not accessible no discontinuity + check will be made."; + smiv2:defval "sysUpTimeInstance"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.5"; + } + + leaf expObjectDiscontinuityIDWildcard { + type boolean; + description + "A true value indicates the expObjectDeltaDiscontinuityID of + this row is a wildcard object. False indicates that + expObjectDeltaDiscontinuityID is fully instanced. + + This object is instantiated only if expObjectSampleType is + 'deltaValue' or 'changedValue'. + + NOTE: The simplest implementations of this MIB may not allow + wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.6"; + } + + leaf expObjectDiscontinuityIDType { + type enumeration { + enum "timeTicks" { + value "1"; + } + enum "timeStamp" { + value "2"; + } + enum "dateAndTime" { + value "3"; + } + } + description + "The value 'timeTicks' indicates the expObjectDeltaDiscontinuityID + of this row is of syntax TimeTicks. The value 'timeStamp' indicates + syntax TimeStamp. The value 'dateAndTime indicates syntax + DateAndTime. + + This object is instantiated only if expObjectSampleType is + 'deltaValue' or 'changedValue'."; + smiv2:defval "timeTicks"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.7"; + } + + leaf expObjectConditional { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of an object that overrides + whether the instance of expObjectID is to be considered + usable. If the value of the object at expObjectConditional + is 0 or not instantiated, the object at expObjectID is + treated as if it is not instantiated. In other words, + expObjectConditional is a filter that controls whether or + not to use the value at expObjectID. + + The OID may be for a leaf object (e.g. sysObjectID.0) or may be + wildcarded to match expObjectID. If expObject is wildcarded and + expObjectID in the same row is not, the wild portion of + expObjectConditional must match the wildcarding of the rest of + the expression. If no object in the expression is wildcarded + but expObjectConditional is, use the lexically first instance + (if any) of expObjectConditional. + + If the value of expObjectConditional is 0.0 operation is + as if the value pointed to by expObjectConditional is a + non-zero (true) value. + + Note that expObjectConditional can not trivially use an object + of syntax TruthValue, since the underlying value is not 0 or 1."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.8"; + } + + leaf expObjectConditionalWildcard { + type boolean; + description + "A true value indicates the expObjectConditional of this row is + a wildcard object. False indicates that expObjectConditional is + fully instanced. + + NOTE: The simplest implementations of this MIB may not allow + wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.9"; + } + + leaf expObjectEntryStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation/deletion of entries. + + Objects in this table may be changed while + expObjectEntryStatus is in any state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.90.1.2.3.1.10"; + } + } + } + + container expValueTable { + description + "A table of values from evaluated expressions."; + smiv2:oid "1.3.6.1.2.1.90.1.3.1"; + + list expValueEntry { + key "expExpressionOwner expExpressionName expValueInstance"; + smiv2:implied "expValueInstance"; + description + "A single value from an evaluated expression. For a given + instance, only one 'Val' object in the conceptual row will be + instantiated, that is, the one with the appropriate type for + the value. For values that contain no objects of + expObjectSampleType 'deltaValue' or 'changedValue', reading a + value from the table causes the evaluation of the expression + for that value. For those that contain a 'deltaValue' or + 'changedValue' the value read is as of the last sampling + interval. + + If in the attempt to evaluate the expression one or more + of the necessary objects is not available, the corresponding + entry in this table is effectively not instantiated. + + To maintain security of MIB information, when creating a new + row in this table, the managed system must record the security + credentials of the requester. These security credentials are + the parameters necessary as inputs to isAccessAllowed from + [RFC2571]. When obtaining the objects that make up the + expression, the system must (conceptually) use isAccessAllowed to + ensure that it does not violate security. + + The evaluation of that expression takes place under the + security credentials of the creator of its expExpressionEntry. + + To maintain security of MIB information, expression evaluation must + take place using security credentials for the implied Gets of the + objects in the expression as inputs (conceptually) to + isAccessAllowed from the Architecture for Describing SNMP + Management Frameworks. These are the security credentials of the + creator of the corresponding expExpressionEntry."; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1"; + + leaf expExpressionOwner { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionOwner"; + } + } + + leaf expExpressionName { + type leafref { + path "/DISMAN-EXPRESSION-MIB:DISMAN-EXPRESSION-MIB/DISMAN-EXPRESSION-MIB:expExpressionTable/DISMAN-EXPRESSION-MIB:expExpressionEntry/DISMAN-EXPRESSION-MIB:expExpressionName"; + } + } + + leaf expValueInstance { + type yang:object-identifier-128; + description + "The final instance portion of a value's OID according to + the wildcarding in instances of expObjectID for the + expression. The prefix of this OID fragment is 0.0, + leading to the following behavior. + + If there is no wildcarding, the value is 0.0.0. In other + words, there is one value which standing alone would have + been a scalar with a 0 at the end of its OID. + + If there is wildcarding, the value is 0.0 followed by + a value that the wildcard can take, thus defining one value + instance for each real, possible value of the wildcard. + So, for example, if the wildcard worked out to be an ifIndex, + there is an expValueInstance for each applicable ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.1"; + } + + leaf expValueCounter32Val { + type yang:counter32; + description + "The value when expExpressionValueType is 'counter32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.2"; + } + + leaf expValueUnsigned32Val { + type uint32; + description + "The value when expExpressionValueType is 'unsigned32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.3"; + } + + leaf expValueTimeTicksVal { + type yang:timeticks; + description + "The value when expExpressionValueType is 'timeTicks'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.4"; + } + + leaf expValueInteger32Val { + type int32; + description + "The value when expExpressionValueType is 'integer32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.5"; + } + + leaf expValueIpAddressVal { + type inet:ipv4-address; + description + "The value when expExpressionValueType is 'ipAddress'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.6"; + } + + leaf expValueOctetStringVal { + type binary { + length "0..65536"; + } + description + "The value when expExpressionValueType is 'octetString'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.7"; + } + + leaf expValueOidVal { + type yang:object-identifier-128; + description + "The value when expExpressionValueType is 'objectId'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.8"; + } + + leaf expValueCounter64Val { + type yang:counter64; + description + "The value when expExpressionValueType is 'counter64'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.90.1.3.1.1.9"; + } + } + } + } + + smiv2:alias "sysUpTimeInstance" { + smiv2:oid "1.3.6.1.2.1.1.3.0"; + } + + smiv2:alias "dismanExpressionMIB" { + smiv2:oid "1.3.6.1.2.1.90"; + } + + smiv2:alias "dismanExpressionMIBObjects" { + smiv2:oid "1.3.6.1.2.1.90.1"; + } + + smiv2:alias "expResource" { + smiv2:oid "1.3.6.1.2.1.90.1.1"; + } + + smiv2:alias "expDefine" { + smiv2:oid "1.3.6.1.2.1.90.1.2"; + } + + smiv2:alias "expValue" { + smiv2:oid "1.3.6.1.2.1.90.1.3"; + } + + smiv2:alias "dismanExpressionMIBConformance" { + smiv2:oid "1.3.6.1.2.1.90.3"; + } + + smiv2:alias "dismanExpressionMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.90.3.1"; + } + + smiv2:alias "dismanExpressionMIBGroups" { + smiv2:oid "1.3.6.1.2.1.90.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DRAFT-MSDP-MIB.yang b/vendor/cisco/xe/17151/MIBS/DRAFT-MSDP-MIB.yang new file mode 100644 index 000000000..579e94fd1 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DRAFT-MSDP-MIB.yang @@ -0,0 +1,762 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DRAFT-MSDP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DRAFT-MSDP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DRAFT-MSDP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB"; + prefix DRAFT-MSDP-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF MSDP Working Group"; + + contact + " Bill Fenner + 75 Willow Road + Menlo Park, CA 94025 + Phone: +1 650 867 6073 + E-mail: fenner@research.att.com + + Dave Thaler + One Microsoft Way + Redmond, WA 98052 + Phone: +1 425 703 8835 + Email: dthaler@microsoft.com"; + + description + "An experimental MIB module for MSDP Management."; + + revision 1999-12-16 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container DRAFT-MSDP-MIB { + config false; + + container msdp { + smiv2:oid "1.3.6.1.3.92.1.1"; + + leaf msdpEnabled { + type boolean; + description + "The state of MSDP on this MSDP speaker - globally + enabled or disabled."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.1"; + } + + leaf msdpCacheLifetime { + type yang:timeticks; + description + "The lifetime given to SA cache entries when created + or refreshed. A value of 0 means no SA caching is + done by this MSDP speaker."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.2"; + } + + leaf msdpNumSACacheEntries { + type yang:gauge32; + description + "The total number of entries in the SA Cache table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.3"; + } + + leaf msdpSAHoldDownPeriod { + type int32 { + range "1..2147483647"; + } + units "seconds"; + description + "The number of seconds in the MSDP SA Hold-down + period"; + smiv2:defval "90"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.9"; + } + } + + container msdpRequestsTable { + description + "The (conceptual) table listing group ranges and MSDP + peers used when deciding where to send an SA Request + message when required. If SA Caching is enabled, this + table may be empty."; + smiv2:oid "1.3.6.1.3.92.1.1.4"; + + list msdpRequestsEntry { + key "msdpRequestsGroupAddress msdpRequestsGroupMask"; + description + "An entry (conceptual row) representing a group range + used when deciding where to send an SA Request + message."; + smiv2:oid "1.3.6.1.3.92.1.1.4.1"; + + leaf msdpRequestsGroupAddress { + type inet:ipv4-address; + description + "The group address that, when combined with the mask + in this entry, represents the group range for which + this peer will service MSDP SA Requests."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.4.1.1"; + } + + leaf msdpRequestsGroupMask { + type inet:ipv4-address; + description + "The mask that, when combined with the group address + in this entry, represents the group range for which + this peer will service MSDP SA Requests."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.4.1.2"; + } + + leaf msdpRequestsPeer { + type inet:ipv4-address; + description + "The peer to which MSDP SA Requests for groups + matching this entry's group range will be sent. Must + match the INDEX of a row in the msdpPeerTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.4.1.3"; + } + + leaf msdpRequestsStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row, by which new rows may be + added to the table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.4.1.4"; + } + } + } + + container msdpPeerTable { + description + "The (conceptual) table listing the MSDP speaker's + peers."; + smiv2:oid "1.3.6.1.3.92.1.1.5"; + + list msdpPeerEntry { + key "msdpPeerRemoteAddress"; + description + "An entry (conceptual row) representing an MSDP peer."; + smiv2:oid "1.3.6.1.3.92.1.1.5.1"; + + leaf msdpPeerRemoteAddress { + type inet:ipv4-address; + description + "The address of the remote MSDP peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.1"; + } + + leaf msdpPeerState { + type enumeration { + enum "inactive" { + value "1"; + } + enum "listen" { + value "2"; + } + enum "connecting" { + value "3"; + } + enum "established" { + value "4"; + } + enum "disabled" { + value "5"; + } + } + description + "The state of the MSDP TCP connection with this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.3"; + } + + leaf msdpPeerRPFFailures { + type yang:counter32; + description + "The number of RPF failures on SA messages received + from this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.4"; + } + + leaf msdpPeerInSAs { + type yang:counter32; + description + "The number of MSDP SA messages received on this + connection. This object should be initialized to zero + when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.5"; + } + + leaf msdpPeerOutSAs { + type yang:counter32; + description + "The number of MSDP SA messages transmitted on this + connection. This object should be initialized to zero + when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.6"; + } + + leaf msdpPeerInSARequests { + type yang:counter32; + description + "The number of MSDP SA-Request messages received on + this connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.7"; + } + + leaf msdpPeerOutSARequests { + type yang:counter32; + description + "The number of MSDP SA-Request messages transmitted on + this connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.8"; + } + + leaf msdpPeerInSAResponses { + type yang:counter32; + description + "The number of MSDP SA-Response messages received on + this connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.9"; + } + + leaf msdpPeerOutSAResponses { + type yang:counter32; + description + "The number of MSDP SA Response messages transmitted + on this TCP connection. This object should be + initialized to zero when the connection is + established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.10"; + } + + leaf msdpPeerInControlMessages { + type yang:counter32; + description + "The total number of MSDP messages received on this + TCP connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.11"; + } + + leaf msdpPeerOutControlMessages { + type yang:counter32; + description + "The total number of MSDP messages transmitted on this + TCP connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.12"; + } + + leaf msdpPeerInDataPackets { + type yang:counter32; + description + "The total number of encapsulated data packets + received from this peer. This object should be + initialized to zero when the connection is + established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.13"; + } + + leaf msdpPeerOutDataPackets { + type yang:counter32; + description + "The total number of encapsulated data packets sent to + this peer. This object should be initialized to zero + when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.14"; + } + + leaf msdpPeerFsmEstablishedTransitions { + type yang:counter32; + description + "The total number of times the MSDP FSM transitioned + into the established state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.15"; + } + + leaf msdpPeerFsmEstablishedTime { + type yang:gauge32; + units "seconds"; + description + "This timer indicates how long (in seconds) this peer + has been in the Established state or how long since + this peer was last in the Established state. It is + set to zero when a new peer is configured or the MSDP + speaker is booted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.16"; + } + + leaf msdpPeerInMessageElapsedTime { + type yang:gauge32; + units "seconds"; + description + "Elapsed time in seconds since the last MSDP message + was received from the peer. Each time + msdpPeerInControlMessages is incremented, the value of + this object is set to zero (0)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.17"; + } + + leaf msdpPeerLocalAddress { + type inet:ipv4-address; + description + "The local IP address of this entry's MSDP + connection."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.18"; + } + + leaf msdpPeerSAAdvPeriod { + type int32 { + range "1..2147483647"; + } + units "seconds"; + description + "Time interval in seconds for the + MinSAAdvertisementInterval MSDP timer."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.19"; + } + + leaf msdpPeerConnectRetryInterval { + type int32 { + range "1..65535"; + } + units "seconds"; + description + "Time interval in seconds for the ConnectRetry timer."; + smiv2:defval "120"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.20"; + } + + leaf msdpPeerHoldTimeConfigured { + type int32 { + range "0|3..65535"; + } + units "seconds"; + description + "Time interval in seconds for the Hold Timer + configured for this MSDP speaker with this peer."; + smiv2:defval "90"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.21"; + } + + leaf msdpPeerKeepAliveConfigured { + type int32 { + range "0..21845"; + } + units "seconds"; + description + "Time interval in seconds for the KeepAlive timer + configured for this MSDP speaker with this peer. A + reasonable maximum value for this timer would be + configured to be one third of that of + msdpPeerHoldTimeConfigured. If the value of this + object is zero (0), no periodic KEEPALIVE messages are + sent to the peer after the MSDP connection has been + established."; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.22"; + } + + leaf msdpPeerDataTtl { + type int32 { + range "0..255"; + } + description + "The minimum TTL a packet is required to have before + it may be forwarded using SA encapsulation to this + peer."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.23"; + } + + leaf msdpPeerProcessRequestsFrom { + type boolean; + description + "This object indicates whether or not to process MSDP + SA Request messages from this peer. If True(1), MSDP + SA Request messages from this peer are processed and + replied to (if appropriate) with SA Response messages. + If False(2), MSDP SA Request messages from this peer + are silently ignored. It defaults to False when + msdpCacheLifetime is 0 and True when msdpCacheLifetime + is non-0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.24"; + } + + leaf msdpPeerStatus { + type snmpv2-tc:RowStatus; + description + "The RowStatus object by which peers can be added and + deleted. A transition to 'active' will cause the MSDP + Start Event to be generated. A transition out of the + 'active' state will cause the MSDP Stop Event to be + generated. Care should be used in providing write + access to this object without adequate + authentication."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.25"; + } + + leaf msdpPeerRemotePort { + type int32 { + range "0..65535"; + } + description + "The remote port for the TCP connection between the + MSDP peers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.26"; + } + + leaf msdpPeerLocalPort { + type int32 { + range "0..65535"; + } + description + "The local port for the TCP connection between the + MSDP peers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.27"; + } + + leaf msdpPeerEncapsulationState { + type enumeration { + enum "default" { + value "1"; + } + enum "received" { + value "2"; + } + enum "advertising" { + value "3"; + } + enum "sent" { + value "4"; + } + enum "agreed" { + value "5"; + } + enum "failed" { + value "6"; + } + } + description + "The status of the encapsulation negotiation state + machine."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.28"; + } + + leaf msdpPeerEncapsulationType { + type enumeration { + enum "tcp" { + value "1"; + } + enum "udp" { + value "2"; + } + enum "gre" { + value "3"; + } + } + description + "The encapsulation in use when encapsulating data in + SA messages to this peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.29"; + } + + leaf msdpPeerConnectionAttempts { + type yang:counter32; + description + "The number of times the state machine has + transitioned from inactive to connecting."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.30"; + } + + leaf msdpPeerInNotifications { + type yang:counter32; + description + "The number of MSDP Notification messages received on + this connection. This object should be initialized to + zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.31"; + } + + leaf msdpPeerOutNotifications { + type yang:counter32; + description + "The number of MSDP Notification messages transmitted + on this connection. This object should be initialized + to zero when the connection is established."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.32"; + } + + leaf msdpPeerLastError { + type binary { + length "2"; + } + description + "The last error code and subcode seen by this peer on + this connection. If no error has occurred, this field + is zero. Otherwise, the first byte of this two byte + OCTET STRING contains the error code, and the second + byte contains the subcode."; + smiv2:defval "'0000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.5.1.33"; + } + } + } + + container msdpSACacheTable { + description + "The (conceptual) table listing the MSDP SA + advertisements currently in the MSDP speaker's cache."; + smiv2:oid "1.3.6.1.3.92.1.1.6"; + + list msdpSACacheEntry { + key "msdpSACacheGroupAddr msdpSACacheSourceAddr msdpSACacheOriginRP"; + description + "An entry (conceptual row) representing an MSDP SA + advert."; + smiv2:oid "1.3.6.1.3.92.1.1.6.1"; + + leaf msdpSACacheGroupAddr { + type inet:ipv4-address; + description + "The group address of the SA Cache entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.1"; + } + + leaf msdpSACacheSourceAddr { + type inet:ipv4-address; + description + "The source address of the SA Cache entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.2"; + } + + leaf msdpSACacheOriginRP { + type inet:ipv4-address; + description + "The address of the RP which originated the last SA + message accepted for this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.3"; + } + + leaf msdpSACachePeerLearnedFrom { + type inet:ipv4-address; + description + "The peer from which this SA Cache entry was last + accepted. This address must correspond to the + msdpPeerRemoteAddress value for a row in the MSDP Peer + Table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.4"; + } + + leaf msdpSACacheRPFPeer { + type inet:ipv4-address; + description + "The peer from which an SA message corresponding to + this cache entry would be accepted (i.e. the RPF peer + for msdpSACacheOriginRP). This may be different than + msdpSACachePeerLearnedFrom if this entry was created + by an MSDP SA-Response. This address must correspond + to the msdpPeerRemoteAddress value for a row in the + MSDP Peer Table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.5"; + } + + leaf msdpSACacheInSAs { + type yang:counter32; + description + "The number of MSDP SA messages received relevant to + this cache entry. This object must be initialized to + zero when creating a cache entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.6"; + } + + leaf msdpSACacheInDataPackets { + type yang:counter32; + description + "The number of MSDP encapsulated data packets received + relevant to this cache entry. This object must be + initialized to zero when creating a cache entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.7"; + } + + leaf msdpSACacheUpTime { + type yang:timeticks; + description + "The time since this entry was placed in the SA + cache."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.8"; + } + + leaf msdpSACacheExpiryTime { + type yang:timeticks; + description + "The time remaining before this entry will expire from + the SA cache."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.9"; + } + + leaf msdpSACacheStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row in the table. The only + allowable actions are to retreive the status, which + will be `active', or to set the status to `destroy' in + order to remove this entry from the cache."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.92.1.1.6.1.10"; + } + } + } + } + + notification msdpEstablished { + description + "The MSDP Established event is generated when the MSDP + FSM enters the ESTABLISHED state."; + smiv2:oid "1.3.6.1.3.92.1.1.7.1"; + + container object-1 { + + leaf msdpPeerRemoteAddress { + type leafref { + path "/DRAFT-MSDP-MIB:DRAFT-MSDP-MIB/DRAFT-MSDP-MIB:msdpPeerTable/DRAFT-MSDP-MIB:msdpPeerEntry/DRAFT-MSDP-MIB:msdpPeerRemoteAddress"; + } + } + + leaf msdpPeerFsmEstablishedTransitions { + type leafref { + path "/DRAFT-MSDP-MIB:DRAFT-MSDP-MIB/DRAFT-MSDP-MIB:msdpPeerTable/DRAFT-MSDP-MIB:msdpPeerEntry/DRAFT-MSDP-MIB:msdpPeerFsmEstablishedTransitions"; + } + } + } + } + + notification msdpBackwardTransition { + description + "The MSDPBackwardTransition Event is generated when + the MSDP FSM moves from a higher numbered state to a + lower numbered state."; + smiv2:oid "1.3.6.1.3.92.1.1.7.2"; + + container object-1 { + + leaf msdpPeerRemoteAddress { + type leafref { + path "/DRAFT-MSDP-MIB:DRAFT-MSDP-MIB/DRAFT-MSDP-MIB:msdpPeerTable/DRAFT-MSDP-MIB:msdpPeerEntry/DRAFT-MSDP-MIB:msdpPeerRemoteAddress"; + } + } + + leaf msdpPeerState { + type leafref { + path "/DRAFT-MSDP-MIB:DRAFT-MSDP-MIB/DRAFT-MSDP-MIB:msdpPeerTable/DRAFT-MSDP-MIB:msdpPeerEntry/DRAFT-MSDP-MIB:msdpPeerState"; + } + } + } + } + + smiv2:alias "msdpMIB" { + smiv2:oid "1.3.6.1.3.92"; + } + + smiv2:alias "msdpMIBobjects" { + smiv2:oid "1.3.6.1.3.92.1"; + } + + smiv2:alias "msdp" { + smiv2:oid "1.3.6.1.3.92.1.1"; + } + + smiv2:alias "msdpTraps" { + smiv2:oid "1.3.6.1.3.92.1.1.7"; + } + + smiv2:alias "msdpMIBConformance" { + smiv2:oid "1.3.6.1.3.92.1.1.8"; + } + + smiv2:alias "msdpMIBCompliances" { + smiv2:oid "1.3.6.1.3.92.1.1.8.1"; + } + + smiv2:alias "msdpMIBGroups" { + smiv2:oid "1.3.6.1.3.92.1.1.8.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DS1-MIB.yang b/vendor/cisco/xe/17151/MIBS/DS1-MIB.yang new file mode 100644 index 000000000..749228a2e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DS1-MIB.yang @@ -0,0 +1,1687 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DS1-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DS1-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DS1-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB"; + prefix DS1-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import PerfHist-TC-MIB { + prefix "perfhist-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Trunk MIB Working Group"; + + contact + " David Fowler + + Postal: Newbridge Networks Corporation + 600 March Road + Kanata, Ontario, Canada K2K 2E6 + + Tel: +1 613 591 3600 + Fax: +1 613 599 3667 + + E-mail: davef@newbridge.com"; + + description + "The MIB module to describe DS1, E1, DS2, and + E2 interfaces objects."; + + revision 1998-08-01 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container DS1-MIB { + config false; + + container dsx1ConfigTable { + description + "The DS1 Configuration table."; + smiv2:oid "1.3.6.1.2.1.10.18.6"; + + list dsx1ConfigEntry { + key "dsx1LineIndex"; + description + "An entry in the DS1 Configuration table."; + smiv2:oid "1.3.6.1.2.1.10.18.6.1"; + + leaf dsx1LineIndex { + type if-mib:InterfaceIndex; + description + "This object should be made equal to ifIndex. The + next paragraph describes its previous usage. + Making the object equal to ifIndex allows proper + use of ifStackTable and ds0/ds0bundle mibs. + + Previously, this object is the identifier of a DS1 + Interface on a managed device. If there is an + ifEntry that is directly associated with this and + only this DS1 interface, it should have the same + value as ifIndex. Otherwise, number the + dsx1LineIndices with an unique identifier + following the rules of choosing a number that is + greater than ifNumber and numbering the inside + interfaces (e.g., equipment side) with even + numbers and outside interfaces (e.g, network side) + with odd numbers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.1"; + } + + leaf dsx1IfIndex { + type if-mib:InterfaceIndex; + status deprecated; + description + "This value for this object is equal to the value + of ifIndex from the Interfaces table of MIB II + (RFC 1213)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.2"; + } + + leaf dsx1TimeElapsed { + type int32 { + range "0..899"; + } + description + "The number of seconds that have elapsed since + the beginning of the near end current error- + measurement period. If, for some reason, such + as an adjustment in the system's time-of-day + clock, the current interval exceeds the maximum + value, the agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.3"; + } + + leaf dsx1ValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous near end intervals for + which data was collected. The value will be + 96 unless the interface was brought online within + the last 24 hours, in which case the value will be + the number of complete 15 minute near end + intervals since the interface has been online. In + the case where the agent is a proxy, it is + possible that some intervals are unavailable. In + this case, this interval is the maximum interval + number for which data is available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.4"; + } + + leaf dsx1LineType { + type enumeration { + enum "other" { + value "1"; + } + enum "dsx1ESF" { + value "2"; + } + enum "dsx1D4" { + value "3"; + } + enum "dsx1E1" { + value "4"; + } + enum "dsx1E1CRC" { + value "5"; + } + enum "dsx1E1MF" { + value "6"; + } + enum "dsx1E1CRCMF" { + value "7"; + } + enum "dsx1Unframed" { + value "8"; + } + enum "dsx1E1Unframed" { + value "9"; + } + enum "dsx1DS2M12" { + value "10"; + } + enum "dsx2E2" { + value "11"; + } + } + description + "This variable indicates the variety of DS1 + Line implementing this circuit. The type of + circuit affects the number of bits per second + that the circuit can reasonably carry, as well + as the interpretation of the usage and error + statistics. The values, in sequence, describe: + + TITLE: SPECIFICATION: + dsx1ESF Extended SuperFrame DS1 (T1.107) + dsx1D4 AT&T D4 format DS1 (T1.107) + dsx1E1 ITU-T Recommendation G.704 + (Table 4a) + dsx1E1-CRC ITU-T Recommendation G.704 + (Table 4b) + dsxE1-MF G.704 (Table 4a) with TS16 + multiframing enabled + dsx1E1-CRC-MF G.704 (Table 4b) with TS16 + multiframing enabled + dsx1Unframed DS1 with No Framing + dsx1E1Unframed E1 with No Framing (G.703) + dsx1DS2M12 DS2 frame format (T1.107) + dsx1E2 E2 frame format (G.704) + + For clarification, the capacity for each E1 type + is as listed below: + dsx1E1Unframed - E1, no framing = 32 x 64k = 2048k + dsx1E1 or dsx1E1CRC - E1, with framing, + no signalling = 31 x 64k = 1984k + dsx1E1MF or dsx1E1CRCMF - E1, with framing, + signalling = 30 x 64k = 1920k + + For further information See ITU-T Recomm G.704"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.5"; + } + + leaf dsx1LineCoding { + type enumeration { + enum "dsx1JBZS" { + value "1"; + } + enum "dsx1B8ZS" { + value "2"; + } + enum "dsx1HDB3" { + value "3"; + } + enum "dsx1ZBTSI" { + value "4"; + } + enum "dsx1AMI" { + value "5"; + } + enum "other" { + value "6"; + } + enum "dsx1B6ZS" { + value "7"; + } + } + description + "This variable describes the variety of Zero Code + Suppression used on this interface, which in turn + affects a number of its characteristics. + + dsx1JBZS refers the Jammed Bit Zero Suppression, + in which the AT&T specification of at least one + pulse every 8 bit periods is literally implemented + by forcing a pulse in bit 8 of each channel. + Thus, only seven bits per channel, or 1.344 Mbps, + is available for data. + + dsx1B8ZS refers to the use of a specified pattern + of normal bits and bipolar violations which are + used to replace a sequence of eight zero bits. + + ANSI Clear Channels may use dsx1ZBTSI, or Zero + Byte Time Slot Interchange. + + E1 links, with or without CRC, use dsx1HDB3 or + dsx1AMI. + + dsx1AMI refers to a mode wherein no zero code + suppression is present and the line encoding does + not solve the problem directly. In this + application, the higher layer must provide data + which meets or exceeds the pulse density + requirements, such as inverting HDLC data. + + dsx1B6ZS refers to the user of a specifed pattern + of normal bits and bipolar violations which are + used to replace a sequence of six zero bits. Used + for DS2."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.6"; + } + + leaf dsx1SendCode { + type enumeration { + enum "dsx1SendNoCode" { + value "1"; + } + enum "dsx1SendLineCode" { + value "2"; + } + enum "dsx1SendPayloadCode" { + value "3"; + } + enum "dsx1SendResetCode" { + value "4"; + } + enum "dsx1SendQRS" { + value "5"; + } + enum "dsx1Send511Pattern" { + value "6"; + } + enum "dsx1Send3in24Pattern" { + value "7"; + } + enum "dsx1SendOtherTestPattern" { + value "8"; + } + } + description + "This variable indicates what type of code is + being sent across the DS1 interface by the device. + Setting this variable causes the interface to send + the code requested. The values mean: + dsx1SendNoCode + sending looped or normal data + + dsx1SendLineCode + sending a request for a line loopback + + dsx1SendPayloadCode + sending a request for a payload loopback + + dsx1SendResetCode + sending a loopback termination request + + dsx1SendQRS + sending a Quasi-Random Signal (QRS) test + pattern + + dsx1Send511Pattern + sending a 511 bit fixed test pattern + + dsx1Send3in24Pattern + sending a fixed test pattern of 3 bits set + in 24 + + dsx1SendOtherTestPattern + sending a test pattern other than those + described by this object"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.7"; + } + + leaf dsx1CircuitIdentifier { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "This variable contains the transmission vendor's + circuit identifier, for the purpose of + facilitating troubleshooting."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.8"; + } + + leaf dsx1LoopbackConfig { + type enumeration { + enum "dsx1NoLoop" { + value "1"; + } + enum "dsx1PayloadLoop" { + value "2"; + } + enum "dsx1LineLoop" { + value "3"; + } + enum "dsx1OtherLoop" { + value "4"; + } + enum "dsx1InwardLoop" { + value "5"; + } + enum "dsx1DualLoop" { + value "6"; + } + } + description + "This variable represents the desired loopback + configuration of the DS1 interface. Agents + supporting read/write access should return + inconsistentValue in response to a requested + loopback state that the interface does not + support. The values mean: + + dsx1NoLoop + Not in the loopback state. A device that is not + capable of performing a loopback on the interface + shall always return this as its value. + + dsx1PayloadLoop + The received signal at this interface is looped + through the device. Typically the received signal + is looped back for retransmission after it has + passed through the device's framing function. + + dsx1LineLoop + The received signal at this interface does not go + through the device (minimum penetration) but is + looped back out. + + dsx1OtherLoop + Loopbacks that are not defined here. + + dsx1InwardLoop + The transmitted signal at this interface is + looped back and received by the same interface. + What is transmitted onto the line is product + dependent. + + dsx1DualLoop + Both dsx1LineLoop and dsx1InwardLoop will be + active simultaneously."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.9"; + } + + leaf dsx1LineStatus { + type int32 { + range "1..131071"; + } + description + "This variable indicates the Line Status of the + interface. It contains loopback, failure, + received 'alarm' and transmitted 'alarms + information. + + The dsx1LineStatus is a bit map represented as a + sum, therefore, it can represent multiple failures + (alarms) and a LoopbackState simultaneously. + + dsx1NoAlarm must be set if and only if no other + flag is set. + + If the dsx1loopbackState bit is set, the loopback + in effect can be determined from the + dsx1loopbackConfig object. + The various bit positions are: + 1 dsx1NoAlarm No alarm present + 2 dsx1RcvFarEndLOF Far end LOF (a.k.a., Yellow Alarm) + 4 dsx1XmtFarEndLOF Near end sending LOF Indication + 8 dsx1RcvAIS Far end sending AIS + 16 dsx1XmtAIS Near end sending AIS + 32 dsx1LossOfFrame Near end LOF (a.k.a., Red Alarm) + 64 dsx1LossOfSignal Near end Loss Of Signal + 128 dsx1LoopbackState Near end is looped + 256 dsx1T16AIS E1 TS16 AIS + 512 dsx1RcvFarEndLOMF Far End Sending TS16 LOMF + 1024 dsx1XmtFarEndLOMF Near End Sending TS16 LOMF + 2048 dsx1RcvTestCode Near End detects a test code + 4096 dsx1OtherFailure any line status not defined here + 8192 dsx1UnavailSigState Near End in Unavailable Signal + State + 16384 dsx1NetEquipOOS Carrier Equipment Out of Service + 32768 dsx1RcvPayloadAIS DS2 Payload AIS + 65536 dsx1Ds2PerfThreshold DS2 Performance Threshold + Exceeded"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.10"; + } + + leaf dsx1SignalMode { + type enumeration { + enum "none" { + value "1"; + } + enum "robbedBit" { + value "2"; + } + enum "bitOriented" { + value "3"; + } + enum "messageOriented" { + value "4"; + } + enum "other" { + value "5"; + } + } + description + "'none' indicates that no bits are reserved for + signaling on this channel. + + 'robbedBit' indicates that DS1 Robbed Bit Sig- + naling is in use. + + 'bitOriented' indicates that E1 Channel Asso- + ciated Signaling is in use. + + 'messageOriented' indicates that Common Chan- + nel Signaling is in use either on channel 16 of + an E1 link or channel 24 of a DS1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.11"; + } + + leaf dsx1TransmitClockSource { + type enumeration { + enum "loopTiming" { + value "1"; + } + enum "localTiming" { + value "2"; + } + enum "throughTiming" { + value "3"; + } + } + description + "The source of Transmit Clock. + 'loopTiming' indicates that the recovered re- + ceive clock is used as the transmit clock. + + 'localTiming' indicates that a local clock + source is used or when an external clock is + attached to the box containing the interface. + + 'throughTiming' indicates that recovered re- + ceive clock from another interface is used as + the transmit clock."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.12"; + } + + leaf dsx1Fdl { + type int32 { + range "1..15"; + } + description + "This bitmap describes the use of the facili- + ties data link, and is the sum of the capabili- + ties. Set any bits that are appropriate: + + other(1), + dsx1AnsiT1403(2), + dsx1Att54016(4), + dsx1FdlNone(8) + + 'other' indicates that a protocol other than + one following is used. + + 'dsx1AnsiT1403' refers to the FDL exchange + recommended by ANSI. + + 'dsx1Att54016' refers to ESF FDL exchanges. + + 'dsx1FdlNone' indicates that the device does + not use the FDL."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.13"; + } + + leaf dsx1InvalidIntervals { + type int32 { + range "0..96"; + } + description + "The number of intervals in the range from 0 to + dsx1ValidIntervals for which no data is + available. This object will typically be zero + except in cases where the data for some intervals + are not available (e.g., in proxy situations)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.14"; + } + + leaf dsx1LineLength { + type int32 { + range "0..64000"; + } + units "meters"; + description + "The length of the ds1 line in meters. This + objects provides information for line build out + circuitry. This object is only useful if the + interface has configurable line build out + circuitry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.15"; + } + + leaf dsx1LineStatusLastChange { + type yang:timestamp; + description + "The value of MIB II's sysUpTime object at the + time this DS1 entered its current line status + state. If the current state was entered prior to + the last re-initialization of the proxy-agent, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.16"; + } + + leaf dsx1LineStatusChangeTrapEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether dsx1LineStatusChange traps + should be generated for this interface."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.17"; + } + + leaf dsx1LoopbackStatus { + type int32 { + range "1..127"; + } + description + "This variable represents the current state of the + loopback on the DS1 interface. It contains + information about loopbacks established by a + manager and remotely from the far end. + + The dsx1LoopbackStatus is a bit map represented as + a sum, therefore is can represent multiple + loopbacks simultaneously. + + The various bit positions are: + 1 dsx1NoLoopback + 2 dsx1NearEndPayloadLoopback + 4 dsx1NearEndLineLoopback + 8 dsx1NearEndOtherLoopback + 16 dsx1NearEndInwardLoopback + 32 dsx1FarEndPayloadLoopback + 64 dsx1FarEndLineLoopback"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.18"; + } + + leaf dsx1Ds1ChannelNumber { + type int32 { + range "0..28"; + } + description + "This variable represents the channel number of + the DS1/E1 on its parent Ds2/E2 or DS3/E3. A + value of 0 indicated this DS1/E1 does not have a + parent DS3/E3."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.19"; + } + + leaf dsx1Channelization { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabledDs0" { + value "2"; + } + enum "enabledDs1" { + value "3"; + } + } + description + "Indicates whether this ds1/e1 is channelized or + unchannelized. The value of enabledDs0 indicates + that this is a DS1 channelized into DS0s. The + value of enabledDs1 indicated that this is a DS2 + channelized into DS1s. Setting this value will + cause the creation or deletion of entries in the + ifTable for the DS0s that are within the DS1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.6.1.20"; + } + } + } + + container dsx1CurrentTable { + description + "The DS1 current table contains various statistics + being collected for the current 15 minute + interval."; + smiv2:oid "1.3.6.1.2.1.10.18.7"; + + list dsx1CurrentEntry { + key "dsx1CurrentIndex"; + description + "An entry in the DS1 Current table."; + smiv2:oid "1.3.6.1.2.1.10.18.7.1"; + + leaf dsx1CurrentIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the + DS1 interface to which this entry is applicable. + The interface identified by a particular value of + this index is the same interface as identified by + the same value as a dsx1LineIndex object + instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.1"; + } + + leaf dsx1CurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.2"; + } + + leaf dsx1CurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.3"; + } + + leaf dsx1CurrentSEFSs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Severely Errored Framing Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.4"; + } + + leaf dsx1CurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Unavailable Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.5"; + } + + leaf dsx1CurrentCSSs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Controlled Slip Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.6"; + } + + leaf dsx1CurrentPCVs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Path Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.7"; + } + + leaf dsx1CurrentLESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Line Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.8"; + } + + leaf dsx1CurrentBESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Bursty Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.9"; + } + + leaf dsx1CurrentDMs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Degraded Minutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.10"; + } + + leaf dsx1CurrentLCVs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Line Code Violations (LCVs)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.7.1.11"; + } + } + } + + container dsx1IntervalTable { + description + "The DS1 Interval Table contains various + statistics collected by each DS1 Interface over + the previous 24 hours of operation. The past 24 + hours are broken into 96 completed 15 minute + intervals. Each row in this table represents one + such interval (identified by dsx1IntervalNumber) + for one specific instance (identified by + dsx1IntervalIndex)."; + smiv2:oid "1.3.6.1.2.1.10.18.8"; + + list dsx1IntervalEntry { + key "dsx1IntervalIndex dsx1IntervalNumber"; + description + "An entry in the DS1 Interval table."; + smiv2:oid "1.3.6.1.2.1.10.18.8.1"; + + leaf dsx1IntervalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS1 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is the same interface as identified by the + same value as a dsx1LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.1"; + } + + leaf dsx1IntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, where 1 is the most + recently completed 15 minute interval and 96 is + the 15 minutes interval completed 23 hours and 45 + minutes prior to interval 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.2"; + } + + leaf dsx1IntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.3"; + } + + leaf dsx1IntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.4"; + } + + leaf dsx1IntervalSEFSs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Severely Errored Framing Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.5"; + } + + leaf dsx1IntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Unavailable Seconds. This object + may decrease if the occurance of unavailable + seconds occurs across an inteval boundary."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.6"; + } + + leaf dsx1IntervalCSSs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Controlled Slip Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.7"; + } + + leaf dsx1IntervalPCVs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Path Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.8"; + } + + leaf dsx1IntervalLESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Line Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.9"; + } + + leaf dsx1IntervalBESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Bursty Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.10"; + } + + leaf dsx1IntervalDMs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Degraded Minutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.11"; + } + + leaf dsx1IntervalLCVs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Line Code Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.12"; + } + + leaf dsx1IntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.8.1.13"; + } + } + } + + container dsx1TotalTable { + description + "The DS1 Total Table contains the cumulative sum + of the various statistics for the 24 hour period + preceding the current interval."; + smiv2:oid "1.3.6.1.2.1.10.18.9"; + + list dsx1TotalEntry { + key "dsx1TotalIndex"; + description + "An entry in the DS1 Total table."; + smiv2:oid "1.3.6.1.2.1.10.18.9.1"; + + leaf dsx1TotalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS1 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is the same interface as identified by the + same value as a dsx1LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.1"; + } + + leaf dsx1TotalESs { + type perfhist-tc:PerfTotalCount; + description + "The sum of Errored Seconds encountered by a DS1 + interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.2"; + } + + leaf dsx1TotalSESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Severely Errored Seconds + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.3"; + } + + leaf dsx1TotalSEFSs { + type perfhist-tc:PerfTotalCount; + description + "The number of Severely Errored Framing Seconds + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.4"; + } + + leaf dsx1TotalUASs { + type perfhist-tc:PerfTotalCount; + description + "The number of Unavailable Seconds encountered by + a DS1 interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.5"; + } + + leaf dsx1TotalCSSs { + type perfhist-tc:PerfTotalCount; + description + "The number of Controlled Slip Seconds encountered + by a DS1 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as + 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.6"; + } + + leaf dsx1TotalPCVs { + type perfhist-tc:PerfTotalCount; + description + "The number of Path Coding Violations encountered + by a DS1 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as + 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.7"; + } + + leaf dsx1TotalLESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Line Errored Seconds encountered by + a DS1 interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.8"; + } + + leaf dsx1TotalBESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Bursty Errored Seconds (BESs) + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.9"; + } + + leaf dsx1TotalDMs { + type perfhist-tc:PerfTotalCount; + description + "The number of Degraded Minutes (DMs) encountered + by a DS1 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as + 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.10"; + } + + leaf dsx1TotalLCVs { + type perfhist-tc:PerfTotalCount; + description + "The number of Line Code Violations (LCVs) + encountered by a DS1 interface in the current 15 + minute interval. Invalid 15 minute intervals + count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.9.1.11"; + } + } + } + + container dsx1FarEndCurrentTable { + description + "The DS1 Far End Current table contains various + statistics being collected for the current 15 + minute interval. The statistics are collected + from the far end messages on the Facilities Data + Link. The definitions are the same as described + for the near-end information."; + smiv2:oid "1.3.6.1.2.1.10.18.10"; + + list dsx1FarEndCurrentEntry { + key "dsx1FarEndCurrentIndex"; + description + "An entry in the DS1 Far End Current table."; + smiv2:oid "1.3.6.1.2.1.10.18.10.1"; + + leaf dsx1FarEndCurrentIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS1 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx1LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.1"; + } + + leaf dsx1FarEndTimeElapsed { + type int32 { + range "0..899"; + } + description + "The number of seconds that have elapsed since the + beginning of the far end current error-measurement + period. If, for some reason, such as an + adjustment in the system's time-of-day clock, the + current interval exceeds the maximum value, the + agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.2"; + } + + leaf dsx1FarEndValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous far end intervals for + which data was collected. The value will be + 96 unless the interface was brought online within + the last 24 hours, in which case the value will be + the number of complete 15 minute far end intervals + since the interface has been online."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.3"; + } + + leaf dsx1FarEndCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.4"; + } + + leaf dsx1FarEndCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.5"; + } + + leaf dsx1FarEndCurrentSEFSs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Severely Errored Framing + Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.6"; + } + + leaf dsx1FarEndCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Unavailable Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.7"; + } + + leaf dsx1FarEndCurrentCSSs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Controlled Slip Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.8"; + } + + leaf dsx1FarEndCurrentLESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Line Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.9"; + } + + leaf dsx1FarEndCurrentPCVs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Path Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.10"; + } + + leaf dsx1FarEndCurrentBESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Bursty Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.11"; + } + + leaf dsx1FarEndCurrentDMs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Far End Degraded Minutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.12"; + } + + leaf dsx1FarEndInvalidIntervals { + type int32 { + range "0..96"; + } + description + "The number of intervals in the range from 0 to + dsx1FarEndValidIntervals for which no data is + available. This object will typically be zero + except in cases where the data for some intervals + are not available (e.g., in proxy situations)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.10.1.13"; + } + } + } + + container dsx1FarEndIntervalTable { + description + "The DS1 Far End Interval Table contains various + statistics collected by each DS1 interface over + the previous 24 hours of operation. The past 24 + hours are broken into 96 completed 15 minute + intervals. Each row in this table represents one + such interval (identified by + dsx1FarEndIntervalNumber) for one specific + instance (identified by dsx1FarEndIntervalIndex)."; + smiv2:oid "1.3.6.1.2.1.10.18.11"; + + list dsx1FarEndIntervalEntry { + key "dsx1FarEndIntervalIndex dsx1FarEndIntervalNumber"; + description + "An entry in the DS1 Far End Interval table."; + smiv2:oid "1.3.6.1.2.1.10.18.11.1"; + + leaf dsx1FarEndIntervalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS1 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx1LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.1"; + } + + leaf dsx1FarEndIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, where 1 is the most + recently completed 15 minute interval and 96 is + the 15 minutes interval completed 23 hours and 45 + minutes prior to interval 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.2"; + } + + leaf dsx1FarEndIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.3"; + } + + leaf dsx1FarEndIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.4"; + } + + leaf dsx1FarEndIntervalSEFSs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Severely Errored Framing + Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.5"; + } + + leaf dsx1FarEndIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Unavailable Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.6"; + } + + leaf dsx1FarEndIntervalCSSs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Controlled Slip Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.7"; + } + + leaf dsx1FarEndIntervalLESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Line Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.8"; + } + + leaf dsx1FarEndIntervalPCVs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Path Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.9"; + } + + leaf dsx1FarEndIntervalBESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Bursty Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.10"; + } + + leaf dsx1FarEndIntervalDMs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Far End Degraded Minutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.11"; + } + + leaf dsx1FarEndIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.11.1.12"; + } + } + } + + container dsx1FarEndTotalTable { + description + "The DS1 Far End Total Table contains the + cumulative sum of the various statistics for the + 24 hour period preceding the current interval."; + smiv2:oid "1.3.6.1.2.1.10.18.12"; + + list dsx1FarEndTotalEntry { + key "dsx1FarEndTotalIndex"; + description + "An entry in the DS1 Far End Total table."; + smiv2:oid "1.3.6.1.2.1.10.18.12.1"; + + leaf dsx1FarEndTotalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS1 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx1LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.1"; + } + + leaf dsx1FarEndTotalESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Errored Seconds encountered + by a DS1 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as + 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.2"; + } + + leaf dsx1FarEndTotalSESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Severely Errored Seconds + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.3"; + } + + leaf dsx1FarEndTotalSEFSs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Severely Errored Framing + Seconds encountered by a DS1 interface in the + previous 24 hour interval. Invalid 15 minute + intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.4"; + } + + leaf dsx1FarEndTotalUASs { + type perfhist-tc:PerfTotalCount; + description + "The number of Unavailable Seconds encountered by + a DS1 interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.5"; + } + + leaf dsx1FarEndTotalCSSs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Controlled Slip Seconds + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.6"; + } + + leaf dsx1FarEndTotalLESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Line Errored Seconds + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.7"; + } + + leaf dsx1FarEndTotalPCVs { + type perfhist-tc:PerfTotalCount; + description + "The number of Far End Path Coding Violations + reported via the far end block error count + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.8"; + } + + leaf dsx1FarEndTotalBESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Bursty Errored Seconds (BESs) + encountered by a DS1 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.9"; + } + + leaf dsx1FarEndTotalDMs { + type perfhist-tc:PerfTotalCount; + description + "The number of Degraded Minutes (DMs) encountered + by a DS1 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as + 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.12.1.10"; + } + } + } + + container dsx1FracTable { + status deprecated; + description + "This table is deprecated in favour of using + ifStackTable. + + The table was mandatory for systems dividing a DS1 + into channels containing different data streams + that are of local interest. Systems which are + indifferent to data content, such as CSUs, need + not implement it. + + The DS1 fractional table identifies which DS1 + channels associated with a CSU are being used to + support a logical interface, i.e., an entry in the + interfaces table from the Internet-standard MIB. + + For example, consider an application managing a + North American ISDN Primary Rate link whose + division is a 384 kbit/s H1 _B_ Channel for Video, + a second H1 for data to a primary routing peer, + and 12 64 kbit/s H0 _B_ Channels. Consider that + some subset of the H0 channels are used for voice + and the remainder are available for dynamic data + calls. + + We count a total of 14 interfaces multiplexed onto + the DS1 interface. Six DS1 channels (for the sake + of the example, channels 1..6) are used for Video, + six more (7..11 and 13) are used for data, and the + remaining 12 are are in channels 12 and 14..24. + + Let us further imagine that ifIndex 2 is of type + DS1 and refers to the DS1 interface, and that the + interfaces layered onto it are numbered 3..16. + + We might describe the allocation of channels, in + the dsx1FracTable, as follows: + dsx1FracIfIndex.2. 1 = 3 dsx1FracIfIndex.2.13 = 4 + dsx1FracIfIndex.2. 2 = 3 dsx1FracIfIndex.2.14 = 6 + dsx1FracIfIndex.2. 3 = 3 dsx1FracIfIndex.2.15 = 7 + dsx1FracIfIndex.2. 4 = 3 dsx1FracIfIndex.2.16 = 8 + dsx1FracIfIndex.2. 5 = 3 dsx1FracIfIndex.2.17 = 9 + dsx1FracIfIndex.2. 6 = 3 dsx1FracIfIndex.2.18 = 10 + dsx1FracIfIndex.2. 7 = 4 dsx1FracIfIndex.2.19 = 11 + dsx1FracIfIndex.2. 8 = 4 dsx1FracIfIndex.2.20 = 12 + dsx1FracIfIndex.2. 9 = 4 dsx1FracIfIndex.2.21 = 13 + dsx1FracIfIndex.2.10 = 4 dsx1FracIfIndex.2.22 = 14 + dsx1FracIfIndex.2.11 = 4 dsx1FracIfIndex.2.23 = 15 + dsx1FracIfIndex.2.12 = 5 dsx1FracIfIndex.2.24 = 16 + + For North American (DS1) interfaces, there are 24 + legal channels, numbered 1 through 24. + + For G.704 interfaces, there are 31 legal channels, + numbered 1 through 31. The channels (1..31) + correspond directly to the equivalently numbered + time-slots."; + smiv2:oid "1.3.6.1.2.1.10.18.13"; + + list dsx1FracEntry { + key "dsx1FracIndex dsx1FracNumber"; + status deprecated; + description + "An entry in the DS1 Fractional table."; + smiv2:oid "1.3.6.1.2.1.10.18.13.1"; + + leaf dsx1FracIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "The index value which uniquely identifies the + DS1 interface to which this entry is applicable + The interface identified by a particular + value of this index is the same interface as + identified by the same value an dsx1LineIndex + object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.13.1.1"; + } + + leaf dsx1FracNumber { + type int32 { + range "1..31"; + } + status deprecated; + description + "The channel number for this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.13.1.2"; + } + + leaf dsx1FracIfIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "An index value that uniquely identifies an + interface. The interface identified by a particular + value of this index is the same interface + as identified by the same value an ifIndex + object instance. If no interface is currently using + a channel, the value should be zero. If a + single interface occupies more than one time + slot, that ifIndex value will be found in multiple + time slots."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.18.13.1.3"; + } + } + } + + container dsx1ChanMappingTable { + description + "The DS1 Channel Mapping table. This table maps a + DS1 channel number on a particular DS3 into an + ifIndex. In the presence of DS2s, this table can + be used to map a DS2 channel number on a DS3 into + an ifIndex, or used to map a DS1 channel number on + a DS2 onto an ifIndex."; + smiv2:oid "1.3.6.1.2.1.10.18.16"; + + list dsx1ChanMappingEntry { + key "ifIndex dsx1Ds1ChannelNumber"; + description + "An entry in the DS1 Channel Mapping table. There + is an entry in this table corresponding to each + ds1 ifEntry within any interface that is + channelized to the individual ds1 ifEntry level. + + This table is intended to facilitate mapping from + channelized interface / channel number to DS1 + ifEntry. (e.g. mapping (DS3 ifIndex, DS1 Channel + Number) -> ifIndex) + + While this table provides information that can + also be found in the ifStackTable and + dsx1ConfigTable, it provides this same information + with a single table lookup, rather than by walking + the ifStackTable to find the various constituent + ds1 ifTable entries, and testing various + dsx1ConfigTable entries to check for the entry + with the applicable DS1 channel number."; + smiv2:oid "1.3.6.1.2.1.10.18.16.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf dsx1Ds1ChannelNumber { + type leafref { + path "/DS1-MIB:DS1-MIB/DS1-MIB:dsx1ConfigTable/DS1-MIB:dsx1ConfigEntry/DS1-MIB:dsx1Ds1ChannelNumber"; + } + } + + leaf dsx1ChanMappedIfIndex { + type if-mib:InterfaceIndex; + description + "This object indicates the ifIndex value assigned + by the agent for the individual ds1 ifEntry that + corresponds to the given DS1 channel number + (specified by the INDEX element + dsx1Ds1ChannelNumber) of the given channelized + interface (specified by INDEX element ifIndex)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.18.16.1.1"; + } + } + } + } + + notification dsx1LineStatusChange { + description + "A dsx1LineStatusChange trap is sent when the + value of an instance dsx1LineStatus changes. It + can be utilized by an NMS to trigger polls. When + the line status change results from a higher level + line status change (i.e. ds3), then no traps for + the ds1 are sent."; + smiv2:oid "1.3.6.1.2.1.10.18.15.0.1"; + + container object-1 { + + leaf dsx1LineIndex { + type leafref { + path "/DS1-MIB:DS1-MIB/DS1-MIB:dsx1ConfigTable/DS1-MIB:dsx1ConfigEntry/DS1-MIB:dsx1LineIndex"; + } + } + + leaf dsx1LineStatus { + type leafref { + path "/DS1-MIB:DS1-MIB/DS1-MIB:dsx1ConfigTable/DS1-MIB:dsx1ConfigEntry/DS1-MIB:dsx1LineStatus"; + } + } + } + + container object-2 { + + leaf dsx1LineIndex { + type leafref { + path "/DS1-MIB:DS1-MIB/DS1-MIB:dsx1ConfigTable/DS1-MIB:dsx1ConfigEntry/DS1-MIB:dsx1LineIndex"; + } + } + + leaf dsx1LineStatusLastChange { + type leafref { + path "/DS1-MIB:DS1-MIB/DS1-MIB:dsx1ConfigTable/DS1-MIB:dsx1ConfigEntry/DS1-MIB:dsx1LineStatusLastChange"; + } + } + } + } + + smiv2:alias "ds1" { + smiv2:oid "1.3.6.1.2.1.10.18"; + } + + smiv2:alias "ds1Conformance" { + smiv2:oid "1.3.6.1.2.1.10.18.14"; + } + + smiv2:alias "ds1Groups" { + smiv2:oid "1.3.6.1.2.1.10.18.14.1"; + } + + smiv2:alias "ds1Compliances" { + smiv2:oid "1.3.6.1.2.1.10.18.14.2"; + } + + smiv2:alias "ds1Traps" { + smiv2:oid "1.3.6.1.2.1.10.18.15"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/DS3-MIB.yang b/vendor/cisco/xe/17151/MIBS/DS3-MIB.yang new file mode 100644 index 000000000..9cd3b6118 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/DS3-MIB.yang @@ -0,0 +1,1452 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/DS3-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang DS3-MIB + * + * Do not edit. Edit the source file instead! + */ + +module DS3-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB"; + prefix DS3-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import PerfHist-TC-MIB { + prefix "perfhist-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Trunk MIB Working Group"; + + contact + " David Fowler + + Postal: Newbridge Networks Corporation + 600 March Road + Kanata, Ontario, Canada K2K 2E6 + + Tel: +1 613 591 3600 + Fax: +1 613 599 3667 + + E-mail: davef@newbridge.com"; + + description + "The is the MIB module that describes + DS3 and E3 interfaces objects."; + + revision 1998-08-01 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + + container DS3-MIB { + config false; + + container dsx3ConfigTable { + description + "The DS3/E3 Configuration table."; + smiv2:oid "1.3.6.1.2.1.10.30.5"; + + list dsx3ConfigEntry { + key "dsx3LineIndex"; + description + "An entry in the DS3/E3 Configuration table."; + smiv2:oid "1.3.6.1.2.1.10.30.5.1"; + + leaf dsx3LineIndex { + type if-mib:InterfaceIndex; + description + "This object should be made equal to ifIndex. The + next paragraph describes its previous usage. + Making the object equal to ifIndex allows propoer + use of ifStackTable. + + Previously, this object was the identifier of a + DS3/E3 Interface on a managed device. If there is + an ifEntry that is directly associated with this + and only this DS3/E3 interface, it should have the + same value as ifIndex. Otherwise, number the + dsx3LineIndices with an unique identifier + following the rules of choosing a number that is + greater than ifNumber and numbering the inside + interfaces (e.g., equipment side) with even + numbers and outside interfaces (e.g, network side) + with odd numbers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.1"; + } + + leaf dsx3IfIndex { + type if-mib:InterfaceIndex; + status deprecated; + description + "This value for this object is equal to the value + of ifIndex from the Interfaces table of MIB II + (RFC 1213)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.2"; + } + + leaf dsx3TimeElapsed { + type int32 { + range "0..899"; + } + description + "The number of seconds that have elapsed since the + beginning of the near end current error- + measurement period. If, for some reason, such as + an adjustment in the system's time-of-day clock, + the current interval exceeds the maximum value, + the agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.3"; + } + + leaf dsx3ValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous near end intervals for + which data was collected. The value will be + 96 unless the interface was brought online within + the last 24 hours, in which case the value will be + the number of complete 15 minute near end + intervals since the interface has been online. In + the case where the agent is a proxy, it is + possible that some intervals are unavailable. In + this case, this interval is the maximum interval + number for which data is available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.4"; + } + + leaf dsx3LineType { + type enumeration { + enum "dsx3other" { + value "1"; + } + enum "dsx3M23" { + value "2"; + } + enum "dsx3SYNTRAN" { + value "3"; + } + enum "dsx3CbitParity" { + value "4"; + } + enum "dsx3ClearChannel" { + value "5"; + } + enum "e3other" { + value "6"; + } + enum "e3Framed" { + value "7"; + } + enum "e3Plcp" { + value "8"; + } + } + description + "This variable indicates the variety of DS3 C-bit + or E3 application implementing this interface. The + type of interface affects the interpretation of + the usage and error statistics. The rate of DS3 + is 44.736 Mbps and E3 is 34.368 Mbps. The + dsx3ClearChannel value means that the C-bits are + not used except for sending/receiving AIS. + The values, in sequence, describe: + + TITLE: SPECIFICATION: + dsx3M23 ANSI T1.107-1988 [9] + dsx3SYNTRAN ANSI T1.107-1988 [9] + dsx3CbitParity ANSI T1.107a-1990 [9a] + dsx3ClearChannel ANSI T1.102-1987 [8] + e3Framed CCITT G.751 [12] + e3Plcp ETSI T/NA(91)18 [13]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.5"; + } + + leaf dsx3LineCoding { + type enumeration { + enum "dsx3Other" { + value "1"; + } + enum "dsx3B3ZS" { + value "2"; + } + enum "e3HDB3" { + value "3"; + } + } + description + "This variable describes the variety of Zero Code + Suppression used on this interface, which in turn + affects a number of its characteristics. + + dsx3B3ZS and e3HDB3 refer to the use of specified + patterns of normal bits and bipolar violations + which are used to replace sequences of zero bits + of a specified length."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.6"; + } + + leaf dsx3SendCode { + type enumeration { + enum "dsx3SendNoCode" { + value "1"; + } + enum "dsx3SendLineCode" { + value "2"; + } + enum "dsx3SendPayloadCode" { + value "3"; + } + enum "dsx3SendResetCode" { + value "4"; + } + enum "dsx3SendDS1LoopCode" { + value "5"; + } + enum "dsx3SendTestPattern" { + value "6"; + } + } + description + "This variable indicates what type of code is + being sent across the DS3/E3 interface by the + device. (These are optional for E3 interfaces.) + Setting this variable causes the interface to + begin sending the code requested. + The values mean: + + dsx3SendNoCode + sending looped or normal data + + dsx3SendLineCode + sending a request for a line loopback + + dsx3SendPayloadCode + sending a request for a payload loopback + (i.e., all DS1/E1s in a DS3/E3 frame) + + dsx3SendResetCode + sending a loopback deactivation request + + dsx3SendDS1LoopCode + requesting to loopback a particular DS1/E1 + within a DS3/E3 frame. The DS1/E1 is + indicated in dsx3Ds1ForRemoteLoop. + + dsx3SendTestPattern + sending a test pattern."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.7"; + } + + leaf dsx3CircuitIdentifier { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "This variable contains the transmission vendor's + circuit identifier, for the purpose of + facilitating troubleshooting."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.8"; + } + + leaf dsx3LoopbackConfig { + type enumeration { + enum "dsx3NoLoop" { + value "1"; + } + enum "dsx3PayloadLoop" { + value "2"; + } + enum "dsx3LineLoop" { + value "3"; + } + enum "dsx3OtherLoop" { + value "4"; + } + enum "dsx3InwardLoop" { + value "5"; + } + enum "dsx3DualLoop" { + value "6"; + } + } + description + "This variable represents the desired loopback + configuration of the DS3/E3 interface. + + The values mean: + + dsx3NoLoop + Not in the loopback state. A device that is + not capable of performing a loopback on + the interface shall always return this as + its value. + + dsx3PayloadLoop + The received signal at this interface is looped + through the device. Typically the received signal + is looped back for retransmission after it has + passed through the device's framing function. + + dsx3LineLoop + The received signal at this interface does not + go through the device (minimum penetration) but + is looped back out. + + dsx3OtherLoop + Loopbacks that are not defined here. + + dsx3InwardLoop + The sent signal at this interface is looped back + through the device. + + dsx3DualLoop + Both dsx1LineLoop and dsx1InwardLoop will be + active simultaneously."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.9"; + } + + leaf dsx3LineStatus { + type int32 { + range "1..4095"; + } + description + "This variable indicates the Line Status of the + interface. It contains loopback state information + and failure state information. The dsx3LineStatus + is a bit map represented as a sum, therefore, it + can represent multiple failures and a loopback + (see dsx3LoopbackConfig object for the type of + loopback) simultaneously. The dsx3NoAlarm must be + set if and only if no other flag is set. + + If the dsx3loopbackState bit is set, the loopback + in effect can be determined from the + dsx3loopbackConfig object. + The various bit positions are: + 1 dsx3NoAlarm No alarm present + 2 dsx3RcvRAIFailure Receiving Yellow/Remote + Alarm Indication + 4 dsx3XmitRAIAlarm Transmitting Yellow/Remote + Alarm Indication + 8 dsx3RcvAIS Receiving AIS failure state + 16 dsx3XmitAIS Transmitting AIS + 32 dsx3LOF Receiving LOF failure state + 64 dsx3LOS Receiving LOS failure state + 128 dsx3LoopbackState Looping the received signal + 256 dsx3RcvTestCode Receiving a Test Pattern + 512 dsx3OtherFailure any line status not defined + here + 1024 dsx3UnavailSigState Near End in Unavailable Signal + State + 2048 dsx3NetEquipOOS Carrier Equipment Out of Service"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.10"; + } + + leaf dsx3TransmitClockSource { + type enumeration { + enum "loopTiming" { + value "1"; + } + enum "localTiming" { + value "2"; + } + enum "throughTiming" { + value "3"; + } + } + description + "The source of Transmit Clock. + + loopTiming indicates that the recovered receive clock + is used as the transmit clock. + + localTiming indicates that a local clock source is used + or that an external clock is attached to the box + containing the interface. + + throughTiming indicates that transmit clock is derived + from the recovered receive clock of another DS3 + interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.11"; + } + + leaf dsx3InvalidIntervals { + type int32 { + range "0..96"; + } + description + "The number of intervals in the range from 0 to + dsx3ValidIntervals for which no data is + available. This object will typically be zero + except in cases where the data for some intervals + are not available (e.g., in proxy situations)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.12"; + } + + leaf dsx3LineLength { + type int32 { + range "0..64000"; + } + units "meters"; + description + "The length of the ds3 line in meters. This + object provides information for line build out + circuitry if it exists and can use this object to + adjust the line build out."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.13"; + } + + leaf dsx3LineStatusLastChange { + type yang:timestamp; + description + "The value of MIB II's sysUpTime object at the + time this DS3/E3 entered its current line status + state. If the current state was entered prior to + the last re-initialization of the proxy-agent, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.14"; + } + + leaf dsx3LineStatusChangeTrapEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether dsx3LineStatusChange traps + should be generated for this interface."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.15"; + } + + leaf dsx3LoopbackStatus { + type int32 { + range "1..127"; + } + description + "This variable represents the current state of the + loopback on the DS3 interface. It contains + information about loopbacks established by a + manager and remotely from the far end. + + The dsx3LoopbackStatus is a bit map represented as + a sum, therefore is can represent multiple + loopbacks simultaneously. + + The various bit positions are: + 1 dsx3NoLoopback + 2 dsx3NearEndPayloadLoopback + 4 dsx3NearEndLineLoopback + 8 dsx3NearEndOtherLoopback + 16 dsx3NearEndInwardLoopback + 32 dsx3FarEndPayloadLoopback + 64 dsx3FarEndLineLoopback"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.16"; + } + + leaf dsx3Channelization { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabledDs1" { + value "2"; + } + enum "enabledDs2" { + value "3"; + } + } + description + "Indicates whether this ds3/e3 is channelized or + unchannelized. The value of enabledDs1 indicates + that this is a DS3 channelized into DS1s. The + value of enabledDs3 indicated that this is a DS3 + channelized into DS2s. Setting this object will + cause the creation or deletion of DS2 or DS1 + entries in the ifTable. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.17"; + } + + leaf dsx3Ds1ForRemoteLoop { + type int32 { + range "0..29"; + } + description + "Indicates which ds1/e1 on this ds3/e3 will be + indicated in the remote ds1 loopback request. A + value of 0 means no DS1 will be looped. A value + of 29 means all ds1s/e1s will be looped."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.5.1.18"; + } + } + } + + container dsx3CurrentTable { + description + "The DS3/E3 current table contains various + statistics being collected for the current 15 + minute interval."; + smiv2:oid "1.3.6.1.2.1.10.30.6"; + + list dsx3CurrentEntry { + key "dsx3CurrentIndex"; + description + "An entry in the DS3/E3 Current table."; + smiv2:oid "1.3.6.1.2.1.10.30.6.1"; + + leaf dsx3CurrentIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the + DS3/E3 interface to which this entry is + applicable. The interface identified by a + particular value of this index is the same + interface as identified by the same value an + dsx3LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.1"; + } + + leaf dsx3CurrentPESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of P-bit + Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.2"; + } + + leaf dsx3CurrentPSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of P-bit + Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.3"; + } + + leaf dsx3CurrentSEFSs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Framing Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.4"; + } + + leaf dsx3CurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Unavailable Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.5"; + } + + leaf dsx3CurrentLCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Line + Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.6"; + } + + leaf dsx3CurrentPCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of P-bit + Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.7"; + } + + leaf dsx3CurrentLESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of Line Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.8"; + } + + leaf dsx3CurrentCCVs { + type perfhist-tc:PerfCurrentCount; + description + "The number of C-bit Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.9"; + } + + leaf dsx3CurrentCESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of C-bit Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.10"; + } + + leaf dsx3CurrentCSESs { + type perfhist-tc:PerfCurrentCount; + description + "The number of C-bit Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.6.1.11"; + } + } + } + + container dsx3IntervalTable { + description + "The DS3/E3 Interval Table contains various + statistics collected by each DS3/E3 Interface over + the previous 24 hours of operation. The past 24 + hours are broken into 96 completed 15 minute + intervals. Each row in this table represents one + such interval (identified by dsx3IntervalNumber) + and for one specific interface (identifed by + dsx3IntervalIndex)."; + smiv2:oid "1.3.6.1.2.1.10.30.7"; + + list dsx3IntervalEntry { + key "dsx3IntervalIndex dsx3IntervalNumber"; + description + "An entry in the DS3/E3 Interval table."; + smiv2:oid "1.3.6.1.2.1.10.30.7.1"; + + leaf dsx3IntervalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the + DS3/E3 interface to which this entry is + applicable. The interface identified by a + particular value of this index is the same + interface as identified by the same value an + dsx3LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.1"; + } + + leaf dsx3IntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, where 1 is the most + recently completed 15 minute interval and 96 is + the 15 minutes interval completed 23 hours and 45 + minutes prior to interval 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.2"; + } + + leaf dsx3IntervalPESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of P-bit + Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.3"; + } + + leaf dsx3IntervalPSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of P-bit + Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.4"; + } + + leaf dsx3IntervalSEFSs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Framing Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.5"; + } + + leaf dsx3IntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Unavailable Seconds. This object may decrease if + the occurance of unavailable seconds occurs across + an inteval boundary."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.6"; + } + + leaf dsx3IntervalLCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Line + Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.7"; + } + + leaf dsx3IntervalPCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of P-bit + Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.8"; + } + + leaf dsx3IntervalLESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of Line Errored Seconds (BPVs or + illegal zero sequences)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.9"; + } + + leaf dsx3IntervalCCVs { + type perfhist-tc:PerfIntervalCount; + description + "The number of C-bit Coding Violations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.10"; + } + + leaf dsx3IntervalCESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of C-bit Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.11"; + } + + leaf dsx3IntervalCSESs { + type perfhist-tc:PerfIntervalCount; + description + "The number of C-bit Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.12"; + } + + leaf dsx3IntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.7.1.13"; + } + } + } + + container dsx3TotalTable { + description + "The DS3/E3 Total Table contains the cumulative + sum of the various statistics for the 24 hour + period preceding the current interval."; + smiv2:oid "1.3.6.1.2.1.10.30.8"; + + list dsx3TotalEntry { + key "dsx3TotalIndex"; + description + "An entry in the DS3/E3 Total table."; + smiv2:oid "1.3.6.1.2.1.10.30.8.1"; + + leaf dsx3TotalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the + DS3/E3 interface to which this entry is + applicable. The interface identified by a + particular value of this index is the same + interface as identified by the same value an + dsx3LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.1"; + } + + leaf dsx3TotalPESs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of P-bit + Errored Seconds, encountered by a DS3 interface in + the previous 24 hour interval. Invalid 15 minute + intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.2"; + } + + leaf dsx3TotalPSESs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of P-bit + Severely Errored Seconds, encountered by a DS3 + interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.3"; + } + + leaf dsx3TotalSEFSs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of + Severely Errored Framing Seconds, encountered by a + DS3/E3 interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.4"; + } + + leaf dsx3TotalUASs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of + Unavailable Seconds, encountered by a DS3 + interface in the previous 24 hour interval. + + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.5"; + } + + leaf dsx3TotalLCVs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of Line + Coding Violations encountered by a DS3/E3 + interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.6"; + } + + leaf dsx3TotalPCVs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of P-bit + Coding Violations, encountered by a DS3 interface + in the previous 24 hour interval. Invalid 15 + minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.7"; + } + + leaf dsx3TotalLESs { + type perfhist-tc:PerfTotalCount; + description + "The number of Line Errored Seconds (BPVs or + illegal zero sequences) encountered by a DS3/E3 + interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.8"; + } + + leaf dsx3TotalCCVs { + type perfhist-tc:PerfTotalCount; + description + "The number of C-bit Coding Violations encountered + by a DS3 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.9"; + } + + leaf dsx3TotalCESs { + type perfhist-tc:PerfTotalCount; + description + "The number of C-bit Errored Seconds encountered + by a DS3 interface in the previous 24 hour + interval. Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.10"; + } + + leaf dsx3TotalCSESs { + type perfhist-tc:PerfTotalCount; + description + "The number of C-bit Severely Errored Seconds + encountered by a DS3 interface in the previous 24 + hour interval. Invalid 15 minute intervals count + as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.8.1.11"; + } + } + } + + container dsx3FarEndConfigTable { + description + "The DS3 Far End Configuration Table contains + configuration information reported in the C-bits + from the remote end."; + smiv2:oid "1.3.6.1.2.1.10.30.9"; + + list dsx3FarEndConfigEntry { + key "dsx3FarEndLineIndex"; + description + "An entry in the DS3 Far End Configuration table."; + smiv2:oid "1.3.6.1.2.1.10.30.9.1"; + + leaf dsx3FarEndLineIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS3 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is the same interface as identified by the + same value an dsx3LineIndex object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.1"; + } + + leaf dsx3FarEndEquipCode { + type snmpv2-tc:DisplayString { + length "0..10"; + } + description + "This is the Far End Equipment Identification code + that describes the specific piece of equipment. + It is sent within the Path Identification + Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.2"; + } + + leaf dsx3FarEndLocationIDCode { + type snmpv2-tc:DisplayString { + length "0..11"; + } + description + "This is the Far End Location Identification code + that describes the specific location of the + equipment. It is sent within the Path + Identification Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.3"; + } + + leaf dsx3FarEndFrameIDCode { + type snmpv2-tc:DisplayString { + length "0..10"; + } + description + "This is the Far End Frame Identification code + that identifies where the equipment is located + within a building at a given location. It is sent + within the Path Identification Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.4"; + } + + leaf dsx3FarEndUnitCode { + type snmpv2-tc:DisplayString { + length "0..6"; + } + description + "This is the Far End code that identifies the + equipment location within a bay. It is sent + within the Path Identification Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.5"; + } + + leaf dsx3FarEndFacilityIDCode { + type snmpv2-tc:DisplayString { + length "0..38"; + } + description + "This code identifies a specific Far End DS3 path. + It is sent within the Path Identification + Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.9.1.6"; + } + } + } + + container dsx3FarEndCurrentTable { + description + "The DS3 Far End Current table contains various + statistics being collected for the current 15 + minute interval. The statistics are collected + from the far end block error code within the C- + bits."; + smiv2:oid "1.3.6.1.2.1.10.30.10"; + + list dsx3FarEndCurrentEntry { + key "dsx3FarEndCurrentIndex"; + description + "An entry in the DS3 Far End Current table."; + smiv2:oid "1.3.6.1.2.1.10.30.10.1"; + + leaf dsx3FarEndCurrentIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS3 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx3LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.1"; + } + + leaf dsx3FarEndTimeElapsed { + type int32 { + range "0..899"; + } + description + "The number of seconds that have elapsed since the + beginning of the far end current error-measurement + period. If, for some reason, such as an + adjustment in the system's time-of-day clock, the + current interval exceeds the maximum value, the + agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.2"; + } + + leaf dsx3FarEndValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous far end intervals for + which data was collected. The value will be + 96 unless the interface was brought online within + the last 24 hours, in which case the value will be + the number of complete 15 minute far end intervals + since the interface has been online."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.3"; + } + + leaf dsx3FarEndCurrentCESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far Far + End C-bit Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.4"; + } + + leaf dsx3FarEndCurrentCSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far End + C-bit Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.5"; + } + + leaf dsx3FarEndCurrentCCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far End + C-bit Coding Violations reported via the far end + block error count."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.6"; + } + + leaf dsx3FarEndCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far End + unavailable seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.7"; + } + + leaf dsx3FarEndInvalidIntervals { + type int32 { + range "0..96"; + } + description + "The number of intervals in the range from 0 to + dsx3FarEndValidIntervals for which no data is + available. This object will typically be zero + except in cases where the data for some intervals + are not available (e.g., in proxy situations)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.10.1.8"; + } + } + } + + container dsx3FarEndIntervalTable { + description + "The DS3 Far End Interval Table contains various + statistics collected by each DS3 interface over + the previous 24 hours of operation. The past 24 + hours are broken into 96 completed 15 minute + intervals."; + smiv2:oid "1.3.6.1.2.1.10.30.11"; + + list dsx3FarEndIntervalEntry { + key "dsx3FarEndIntervalIndex dsx3FarEndIntervalNumber"; + description + "An entry in the DS3 Far End Interval table."; + smiv2:oid "1.3.6.1.2.1.10.30.11.1"; + + leaf dsx3FarEndIntervalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS3 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx3LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.1"; + } + + leaf dsx3FarEndIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, where 1 is the most + recently completed 15 minute interval and 96 is + the 15 minutes interval completed 23 hours and 45 + minutes prior to interval 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.2"; + } + + leaf dsx3FarEndIntervalCESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Far End + C-bit Errored Seconds encountered by a DS3 + interface in one of the previous 96, individual 15 + minute, intervals. In the case where the agent is + a proxy and data is not available, return + noSuchInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.3"; + } + + leaf dsx3FarEndIntervalCSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Far End + C-bit Severely Errored Seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.4"; + } + + leaf dsx3FarEndIntervalCCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Far End + C-bit Coding Violations reported via the far end + block error count."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.5"; + } + + leaf dsx3FarEndIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Far End + unavailable seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.6"; + } + + leaf dsx3FarEndIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.11.1.7"; + } + } + } + + container dsx3FarEndTotalTable { + description + "The DS3 Far End Total Table contains the + cumulative sum of the various statistics for the + 24 hour period preceding the current interval."; + smiv2:oid "1.3.6.1.2.1.10.30.12"; + + list dsx3FarEndTotalEntry { + key "dsx3FarEndTotalIndex"; + description + "An entry in the DS3 Far End Total table."; + smiv2:oid "1.3.6.1.2.1.10.30.12.1"; + + leaf dsx3FarEndTotalIndex { + type if-mib:InterfaceIndex; + description + "The index value which uniquely identifies the DS3 + interface to which this entry is applicable. The + interface identified by a particular value of this + index is identical to the interface identified by + the same value of dsx3LineIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.12.1.1"; + } + + leaf dsx3FarEndTotalCESs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of Far End + C-bit Errored Seconds encountered by a DS3 + interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.12.1.2"; + } + + leaf dsx3FarEndTotalCSESs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of Far End + C-bit Severely Errored Seconds encountered by a + DS3 interface in the previous 24 hour interval. + Invalid 15 minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.12.1.3"; + } + + leaf dsx3FarEndTotalCCVs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of Far End + C-bit Coding Violations reported via the far end + block error count encountered by a DS3 interface + in the previous 24 hour interval. Invalid 15 + minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.12.1.4"; + } + + leaf dsx3FarEndTotalUASs { + type perfhist-tc:PerfTotalCount; + description + "The counter associated with the number of Far End + unavailable seconds encountered by a DS3 interface + in the previous 24 hour interval. Invalid 15 + minute intervals count as 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.12.1.5"; + } + } + } + + container dsx3FracTable { + status deprecated; + description + "This table is deprecated in favour of using + ifStackTable. + + Implementation of this table was optional. It was + designed for those systems dividing a DS3/E3 into + channels containing different data streams that + are of local interest. + + The DS3/E3 fractional table identifies which + DS3/E3 channels associated with a CSU are being + used to support a logical interface, i.e., an + entry in the interfaces table from the Internet- + standard MIB. + + For example, consider a DS3 device with 4 high + speed links carrying router traffic, a feed for + voice, a feed for video, and a synchronous channel + for a non-routed protocol. We might describe the + allocation of channels, in the dsx3FracTable, as + follows: + dsx3FracIfIndex.2. 1 = 3 dsx3FracIfIndex.2.15 = 4 + dsx3FracIfIndex.2. 2 = 3 dsx3FracIfIndex.2.16 = 6 + dsx3FracIfIndex.2. 3 = 3 dsx3FracIfIndex.2.17 = 6 + dsx3FracIfIndex.2. 4 = 3 dsx3FracIfIndex.2.18 = 6 + dsx3FracIfIndex.2. 5 = 3 dsx3FracIfIndex.2.19 = 6 + dsx3FracIfIndex.2. 6 = 3 dsx3FracIfIndex.2.20 = 6 + dsx3FracIfIndex.2. 7 = 4 dsx3FracIfIndex.2.21 = 6 + dsx3FracIfIndex.2. 8 = 4 dsx3FracIfIndex.2.22 = 6 + dsx3FracIfIndex.2. 9 = 4 dsx3FracIfIndex.2.23 = 6 + dsx3FracIfIndex.2.10 = 4 dsx3FracIfIndex.2.24 = 6 + dsx3FracIfIndex.2.11 = 4 dsx3FracIfIndex.2.25 = 6 + dsx3FracIfIndex.2.12 = 5 dsx3FracIfIndex.2.26 = 6 + dsx3FracIfIndex.2.13 = 5 dsx3FracIfIndex.2.27 = 6 + dsx3FracIfIndex.2.14 = 5 dsx3FracIfIndex.2.28 = 6 + For dsx3M23, dsx3 SYNTRAN, dsx3CbitParity, and + dsx3ClearChannel there are 28 legal channels, + numbered 1 throug h 28. + + For e3Framed there are 16 legal channels, numbered + 1 through 16. The channels (1..16) correspond + directly to the equivalently numbered time-slots."; + smiv2:oid "1.3.6.1.2.1.10.30.13"; + + list dsx3FracEntry { + key "dsx3FracIndex dsx3FracNumber"; + status deprecated; + description + "An entry in the DS3 Fractional table."; + smiv2:oid "1.3.6.1.2.1.10.30.13.1"; + + leaf dsx3FracIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "The index value which uniquely identifies the + DS3 interface to which this entry is applicable + The interface identified by a particular value + of this index is the same interface as + identified by the same value an dsx3LineIndex + object instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.13.1.1"; + } + + leaf dsx3FracNumber { + type int32 { + range "1..31"; + } + status deprecated; + description + "The channel number for this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.30.13.1.2"; + } + + leaf dsx3FracIfIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "An index value that uniquely identifies an + interface. The interface identified by a + particular value of this index is the same + interface as identified by the same value an + ifIndex object instance. If no interface is + currently using a channel, the value should be + zero. If a single interface occupies more than + one time slot, that ifIndex value will be found + in multiple time slots."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.30.13.1.3"; + } + } + } + } + + notification dsx3LineStatusChange { + description + "A dsx3LineStatusChange trap is sent when the + value of an instance of dsx3LineStatus changes. It + can be utilized by an NMS to trigger polls. When + the line status change results in a lower level + line status change (i.e. ds1), then no traps for + the lower level are sent."; + smiv2:oid "1.3.6.1.2.1.10.30.15.0.1"; + + container object-1 { + + leaf dsx3LineIndex { + type leafref { + path "/DS3-MIB:DS3-MIB/DS3-MIB:dsx3ConfigTable/DS3-MIB:dsx3ConfigEntry/DS3-MIB:dsx3LineIndex"; + } + } + + leaf dsx3LineStatus { + type leafref { + path "/DS3-MIB:DS3-MIB/DS3-MIB:dsx3ConfigTable/DS3-MIB:dsx3ConfigEntry/DS3-MIB:dsx3LineStatus"; + } + } + } + + container object-2 { + + leaf dsx3LineIndex { + type leafref { + path "/DS3-MIB:DS3-MIB/DS3-MIB:dsx3ConfigTable/DS3-MIB:dsx3ConfigEntry/DS3-MIB:dsx3LineIndex"; + } + } + + leaf dsx3LineStatusLastChange { + type leafref { + path "/DS3-MIB:DS3-MIB/DS3-MIB:dsx3ConfigTable/DS3-MIB:dsx3ConfigEntry/DS3-MIB:dsx3LineStatusLastChange"; + } + } + } + } + + smiv2:alias "ds3" { + smiv2:oid "1.3.6.1.2.1.10.30"; + } + + smiv2:alias "ds3Conformance" { + smiv2:oid "1.3.6.1.2.1.10.30.14"; + } + + smiv2:alias "ds3Groups" { + smiv2:oid "1.3.6.1.2.1.10.30.14.1"; + } + + smiv2:alias "ds3Compliances" { + smiv2:oid "1.3.6.1.2.1.10.30.14.2"; + } + + smiv2:alias "ds3Traps" { + smiv2:oid "1.3.6.1.2.1.10.30.15"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ENTITY-MIB.yang b/vendor/cisco/xe/17151/MIBS/ENTITY-MIB.yang new file mode 100644 index 000000000..180bc6113 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ENTITY-MIB.yang @@ -0,0 +1,1193 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ENTITY-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ENTITY-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ENTITY-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB"; + prefix ENTITY-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF ENTMIB Working Group"; + + contact + " WG E-mail: entmib@ietf.org + Mailing list subscription info: + http://www.ietf.org/mailman/listinfo/entmib + + Andy Bierman + ietf@andybierman.com + + Keith McCloghrie + Cisco Systems Inc. + 170 West Tasman Drive + San Jose, CA 95134 + + + +1 408-526-5260 + kzm@cisco.com"; + + description + "The MIB module for representing multiple logical + entities supported by a single SNMP agent. + + Copyright (C) The Internet Society (2005). This + version of this MIB module is part of RFC 4133; see + the RFC itself for full legal notices."; + + revision 2005-08-10 { + description + "Initial Version of Entity MIB (Version 3). + This revision obsoletes RFC 2737. + Additions: + - cpu(12) enumeration added to PhysicalClass TC + - DISPLAY-HINT clause to PhysicalIndex TC + - PhysicalIndexOrZero TC + - entPhysicalMfgDate object + - entPhysicalUris object + Changes: + - entPhysicalContainedIn SYNTAX changed from + INTEGER to PhysicalIndexOrZero + + This version published as RFC 4133."; + } + + revision 1999-12-07 { + description + "Initial Version of Entity MIB (Version 2). + This revision obsoletes RFC 2037. + This version published as RFC 2737."; + } + + revision 1996-10-31 { + description + "Initial version (version 1), published as + RFC 2037."; + } + + typedef PhysicalIndex { + type int32 { + range "1..2147483647"; + } + description + "An arbitrary value that uniquely identifies the physical + entity. The value should be a small, positive integer. + Index values for different physical entities are not + necessarily contiguous."; + smiv2:display-hint "d"; + } + + typedef PhysicalIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of the + PhysicalIndex convention, which defines a greater than zero + value used to identify a physical entity. This extension + permits the additional value of zero. The semantics of the + value zero are object-specific and must, therefore, be + defined as part of the description of any object that uses + this syntax. Examples of the usage of this extension are + situations where none or all physical entities need to be + referenced."; + smiv2:display-hint "d"; + } + + typedef PhysicalClass { + type enumeration { + enum "other" { + value "1"; + } + enum "unknown" { + value "2"; + } + enum "chassis" { + value "3"; + } + enum "backplane" { + value "4"; + } + enum "container" { + value "5"; + } + enum "powerSupply" { + value "6"; + } + enum "fan" { + value "7"; + } + enum "sensor" { + value "8"; + } + enum "module" { + value "9"; + } + enum "port" { + value "10"; + } + enum "stack" { + value "11"; + } + enum "cpu" { + value "12"; + } + } + description + "An enumerated value which provides an indication of the + general hardware type of a particular physical entity. + There are no restrictions as to the number of + entPhysicalEntries of each entPhysicalClass, which must be + instantiated by an agent. + + The enumeration 'other' is applicable if the physical entity + class is known, but does not match any of the supported + values. + + The enumeration 'unknown' is applicable if the physical + entity class is unknown to the agent. + + The enumeration 'chassis' is applicable if the physical + entity class is an overall container for networking + equipment. Any class of physical entity, except a stack, + may be contained within a chassis; and a chassis may only + be contained within a stack. + + + The enumeration 'backplane' is applicable if the physical + entity class is some sort of device for aggregating and + forwarding networking traffic, such as a shared backplane in + a modular ethernet switch. Note that an agent may model a + backplane as a single physical entity, which is actually + implemented as multiple discrete physical components (within + a chassis or stack). + + The enumeration 'container' is applicable if the physical + entity class is capable of containing one or more removable + physical entities, possibly of different types. For + example, each (empty or full) slot in a chassis will be + modeled as a container. Note that all removable physical + entities should be modeled within a container entity, such + as field-replaceable modules, fans, or power supplies. Note + that all known containers should be modeled by the agent, + including empty containers. + + The enumeration 'powerSupply' is applicable if the physical + entity class is a power-supplying component. + + The enumeration 'fan' is applicable if the physical entity + class is a fan or other heat-reduction component. + + The enumeration 'sensor' is applicable if the physical + entity class is some sort of sensor, such as a temperature + sensor within a router chassis. + + The enumeration 'module' is applicable if the physical + entity class is some sort of self-contained sub-system. If + the enumeration 'module' is removable, then it should be + modeled within a container entity, otherwise it should be + modeled directly within another physical entity (e.g., a + chassis or another module). + + The enumeration 'port' is applicable if the physical entity + class is some sort of networking port, capable of receiving + and/or transmitting networking traffic. + + The enumeration 'stack' is applicable if the physical entity + class is some sort of super-container (possibly virtual), + intended to group together multiple chassis entities. A + stack may be realized by a 'virtual' cable, a real + interconnect cable, attached to multiple chassis, or may in + fact be comprised of multiple interconnect cables. A stack + should not be modeled within any other physical entities, + but a stack may be contained within another stack. Only + chassis entities should be contained within a stack. + + + The enumeration 'cpu' is applicable if the physical entity + class is some sort of central processing unit."; + } + + typedef SnmpEngineIdOrNone { + type binary { + length "0..32"; + } + description + "A specially formatted SnmpEngineID string for use with the + Entity MIB. + + If an instance of an object of SYNTAX SnmpEngineIdOrNone has + a non-zero length, then the object encoding and semantics + are defined by the SnmpEngineID textual convention (see STD + 62, RFC 3411 [RFC3411]). + + If an instance of an object of SYNTAX SnmpEngineIdOrNone + contains a zero-length string, then no appropriate + SnmpEngineID is associated with the logical entity (i.e., + SNMPv3 is not supported)."; + } + + + container ENTITY-MIB { + config false; + + container entityGeneral { + smiv2:oid "1.3.6.1.2.1.47.1.4"; + + leaf entLastChangeTime { + type yang:timestamp; + description + "The value of sysUpTime at the time a conceptual row is + created, modified, or deleted in any of these tables: + - entPhysicalTable + - entLogicalTable + - entLPMappingTable + - entAliasMappingTable + + + - entPhysicalContainsTable"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.4.1"; + } + } + + container entPhysicalTable { + description + "This table contains one row per physical entity. There is + always at least one row for an 'overall' physical entity."; + smiv2:oid "1.3.6.1.2.1.47.1.1.1"; + + list entPhysicalEntry { + key "entPhysicalIndex"; + description + "Information about a particular physical entity. + + Each entry provides objects (entPhysicalDescr, + entPhysicalVendorType, and entPhysicalClass) to help an NMS + identify and characterize the entry, and objects + (entPhysicalContainedIn and entPhysicalParentRelPos) to help + an NMS relate the particular entry to other entries in this + table."; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1"; + + leaf entPhysicalIndex { + type ENTITY-MIB:PhysicalIndex; + description + "The index for this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.1"; + } + + leaf entPhysicalDescr { + type snmp-framework:SnmpAdminString; + description + "A textual description of physical entity. This object + should contain a string that identifies the manufacturer's + name for the physical entity, and should be set to a + distinct value for each version or model of the physical + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.2"; + } + + leaf entPhysicalVendorType { + type snmpv2-tc:AutonomousType; + description + "An indication of the vendor-specific hardware type of the + physical entity. Note that this is different from the + definition of MIB-II's sysObjectID. + + An agent should set this object to an enterprise-specific + registration identifier value indicating the specific + equipment type in detail. The associated instance of + entPhysicalClass is used to indicate the general type of + hardware device. + + If no vendor-specific registration identifier exists for + this physical entity, or the value is unknown by this agent, + then the value { 0 0 } is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.3"; + } + + leaf entPhysicalContainedIn { + type ENTITY-MIB:PhysicalIndexOrZero; + description + "The value of entPhysicalIndex for the physical entity which + 'contains' this physical entity. A value of zero indicates + this physical entity is not contained in any other physical + entity. Note that the set of 'containment' relationships + define a strict hierarchy; that is, recursion is not + allowed. + + In the event that a physical entity is contained by more + than one physical entity (e.g., double-wide modules), this + object should identify the containing entity with the lowest + value of entPhysicalIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.4"; + } + + leaf entPhysicalClass { + type ENTITY-MIB:PhysicalClass; + description + "An indication of the general hardware type of the physical + entity. + + An agent should set this object to the standard enumeration + value that most accurately indicates the general class of + the physical entity, or the primary class if there is more + than one entity. + + If no appropriate standard registration identifier exists + for this physical entity, then the value 'other(1)' is + returned. If the value is unknown by this agent, then the + value 'unknown(2)' is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.5"; + } + + leaf entPhysicalParentRelPos { + type int32 { + range "-1..2147483647"; + } + description + "An indication of the relative position of this 'child' + component among all its 'sibling' components. Sibling + components are defined as entPhysicalEntries that share the + same instance values of each of the entPhysicalContainedIn + and entPhysicalClass objects. + + An NMS can use this object to identify the relative ordering + for all sibling components of a particular parent + (identified by the entPhysicalContainedIn instance in each + sibling entry). + + If possible, this value should match any external labeling + of the physical component. For example, for a container + (e.g., card slot) labeled as 'slot #3', + entPhysicalParentRelPos should have the value '3'. Note + that the entPhysicalEntry for the module plugged in slot 3 + should have an entPhysicalParentRelPos value of '1'. + + If the physical position of this component does not match + any external numbering or clearly visible ordering, then + user documentation or other external reference material + should be used to determine the parent-relative position. + If this is not possible, then the agent should assign a + consistent (but possibly arbitrary) ordering to a given set + of 'sibling' components, perhaps based on internal + representation of the components. + + + If the agent cannot determine the parent-relative position + for some reason, or if the associated value of + entPhysicalContainedIn is '0', then the value '-1' is + returned. Otherwise, a non-negative integer is returned, + indicating the parent-relative position of this physical + entity. + + Parent-relative ordering normally starts from '1' and + continues to 'N', where 'N' represents the highest + positioned child entity. However, if the physical entities + (e.g., slots) are labeled from a starting position of zero, + then the first sibling should be associated with an + entPhysicalParentRelPos value of '0'. Note that this + ordering may be sparse or dense, depending on agent + implementation. + + The actual values returned are not globally meaningful, as + each 'parent' component may use different numbering + algorithms. The ordering is only meaningful among siblings + of the same parent component. + + The agent should retain parent-relative position values + across reboots, either through algorithmic assignment or use + of non-volatile storage."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.6"; + } + + leaf entPhysicalName { + type snmp-framework:SnmpAdminString; + description + "The textual name of the physical entity. The value of this + object should be the name of the component as assigned by + the local device and should be suitable for use in commands + entered at the device's `console'. This might be a text + name (e.g., `console') or a simple component number (e.g., + port or module number, such as `1'), depending on the + physical component naming syntax of the device. + + If there is no local name, or if this object is otherwise + not applicable, then this object contains a zero-length + string. + + Note that the value of entPhysicalName for two physical + entities will be the same in the event that the console + interface does not distinguish between them, e.g., slot-1 + and the card in slot-1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.7"; + } + + leaf entPhysicalHardwareRev { + type snmp-framework:SnmpAdminString; + description + "The vendor-specific hardware revision string for the + physical entity. The preferred value is the hardware + revision identifier actually printed on the component itself + (if present). + + Note that if revision information is stored internally in a + non-printable (e.g., binary) format, then the agent must + convert such information to a printable format, in an + implementation-specific manner. + + If no specific hardware revision string is associated with + the physical component, or if this information is unknown to + the agent, then this object will contain a zero-length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.8"; + } + + leaf entPhysicalFirmwareRev { + type snmp-framework:SnmpAdminString; + description + "The vendor-specific firmware revision string for the + physical entity. + + Note that if revision information is stored internally in a + non-printable (e.g., binary) format, then the agent must + convert such information to a printable format, in an + implementation-specific manner. + + If no specific firmware programs are associated with the + physical component, or if this information is unknown to the + agent, then this object will contain a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.9"; + } + + leaf entPhysicalSoftwareRev { + type snmp-framework:SnmpAdminString; + description + "The vendor-specific software revision string for the + physical entity. + + Note that if revision information is stored internally in a + + + non-printable (e.g., binary) format, then the agent must + convert such information to a printable format, in an + implementation-specific manner. + + If no specific software programs are associated with the + physical component, or if this information is unknown to the + agent, then this object will contain a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.10"; + } + + leaf entPhysicalSerialNum { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The vendor-specific serial number string for the physical + entity. The preferred value is the serial number string + actually printed on the component itself (if present). + + On the first instantiation of an physical entity, the value + of entPhysicalSerialNum associated with that entity is set + to the correct vendor-assigned serial number, if this + information is available to the agent. If a serial number + is unknown or non-existent, the entPhysicalSerialNum will be + set to a zero-length string instead. + + Note that implementations that can correctly identify the + serial numbers of all installed physical entities do not + need to provide write access to the entPhysicalSerialNum + object. Agents which cannot provide non-volatile storage + for the entPhysicalSerialNum strings are not required to + implement write access for this object. + + Not every physical component will have a serial number, or + even need one. Physical entities for which the associated + value of the entPhysicalIsFRU object is equal to 'false(2)' + (e.g., the repeater ports within a repeater module), do not + need their own unique serial number. An agent does not have + to provide write access for such entities, and may return a + zero-length string. + + If write access is implemented for an instance of + entPhysicalSerialNum, and a value is written into the + instance, the agent must retain the supplied value in the + entPhysicalSerialNum instance (associated with the same + physical entity) for as long as that entity remains + instantiated. This includes instantiations across all + re-initializations/reboots of the network management system, + including those resulting in a change of the physical + + + entity's entPhysicalIndex value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.11"; + } + + leaf entPhysicalMfgName { + type snmp-framework:SnmpAdminString; + description + "The name of the manufacturer of this physical component. + The preferred value is the manufacturer name string actually + printed on the component itself (if present). + + Note that comparisons between instances of the + entPhysicalModelName, entPhysicalFirmwareRev, + entPhysicalSoftwareRev, and the entPhysicalSerialNum + objects, are only meaningful amongst entPhysicalEntries with + the same value of entPhysicalMfgName. + + If the manufacturer name string associated with the physical + component is unknown to the agent, then this object will + contain a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.12"; + } + + leaf entPhysicalModelName { + type snmp-framework:SnmpAdminString; + description + "The vendor-specific model name identifier string associated + with this physical component. The preferred value is the + customer-visible part number, which may be printed on the + component itself. + + If the model name string associated with the physical + component is unknown to the agent, then this object will + contain a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.13"; + } + + leaf entPhysicalAlias { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This object is an 'alias' name for the physical entity, as + specified by a network manager, and provides a non-volatile + 'handle' for the physical entity. + + On the first instantiation of a physical entity, the value + + + of entPhysicalAlias associated with that entity is set to + the zero-length string. However, the agent may set the + value to a locally unique default value, instead of a + zero-length string. + + If write access is implemented for an instance of + entPhysicalAlias, and a value is written into the instance, + the agent must retain the supplied value in the + entPhysicalAlias instance (associated with the same physical + entity) for as long as that entity remains instantiated. + This includes instantiations across all + re-initializations/reboots of the network management system, + including those resulting in a change of the physical + entity's entPhysicalIndex value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.14"; + } + + leaf entPhysicalAssetID { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "This object is a user-assigned asset tracking identifier + (as specified by a network manager) for the physical entity, + and provides non-volatile storage of this information. + + On the first instantiation of a physical entity, the value + of entPhysicalAssetID associated with that entity is set to + the zero-length string. + + Not every physical component will have an asset tracking + identifier, or even need one. Physical entities for which + the associated value of the entPhysicalIsFRU object is equal + to 'false(2)' (e.g., the repeater ports within a repeater + module), do not need their own unique asset tracking + identifier. An agent does not have to provide write access + for such entities, and may instead return a zero-length + string. + + If write access is implemented for an instance of + entPhysicalAssetID, and a value is written into the + instance, the agent must retain the supplied value in the + entPhysicalAssetID instance (associated with the same + physical entity) for as long as that entity remains + instantiated. This includes instantiations across all + re-initializations/reboots of the network management system, + including those resulting in a change of the physical + entity's entPhysicalIndex value. + + + If no asset tracking information is associated with the + physical component, then this object will contain a + zero-length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.15"; + } + + leaf entPhysicalIsFRU { + type boolean; + description + "This object indicates whether or not this physical entity + is considered a 'field replaceable unit' by the vendor. If + this object contains the value 'true(1)' then this + entPhysicalEntry identifies a field replaceable unit. For + all entPhysicalEntries that represent components + permanently contained within a field replaceable unit, the + value 'false(2)' should be returned for this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.16"; + } + + leaf entPhysicalMfgDate { + type snmpv2-tc:DateAndTime; + description + "This object contains the date of manufacturing of the + managed entity. If the manufacturing date is unknown or not + supported, the object is not instantiated. The special + value '0000000000000000'H may also be returned in this + case."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.17"; + } + + leaf entPhysicalUris { + type binary; + description + "This object contains additional identification information + about the physical entity. The object contains URIs and, + therefore, the syntax of this object must conform to RFC + 3986, section 2. + + Multiple URIs may be present and are separated by white + space characters. Leading and trailing white space + characters are ignored. + + If no additional identification information is known + about the physical entity or supported, the object is not + instantiated. A zero length octet string may also be + + + returned in this case."; + reference + "RFC 3986, Uniform Resource Identifiers (URI): Generic + Syntax, section 2, August 1998."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.47.1.1.1.1.18"; + } + } + } + + container entLogicalTable { + description + "This table contains one row per logical entity. For agents + that implement more than one naming scope, at least one + entry must exist. Agents which instantiate all MIB objects + within a single naming scope are not required to implement + this table."; + smiv2:oid "1.3.6.1.2.1.47.1.2.1"; + + list entLogicalEntry { + key "entLogicalIndex"; + description + "Information about a particular logical entity. Entities + may be managed by this agent or other SNMP agents (possibly) + in the same chassis."; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1"; + + leaf entLogicalIndex { + type int32 { + range "1..2147483647"; + } + description + "The value of this object uniquely identifies the logical + entity. The value should be a small positive integer; index + values for different logical entities are not necessarily + contiguous."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.1"; + } + + leaf entLogicalDescr { + type snmp-framework:SnmpAdminString; + description + "A textual description of the logical entity. This object + should contain a string that identifies the manufacturer's + name for the logical entity, and should be set to a distinct + value for each version of the logical entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.2"; + } + + leaf entLogicalType { + type snmpv2-tc:AutonomousType; + description + "An indication of the type of logical entity. This will + typically be the OBJECT IDENTIFIER name of the node in the + SMI's naming hierarchy which represents the major MIB + module, or the majority of the MIB modules, supported by the + logical entity. For example: + a logical entity of a regular host/router -> mib-2 + a logical entity of a 802.1d bridge -> dot1dBridge + a logical entity of a 802.3 repeater -> snmpDot3RptrMgmt + If an appropriate node in the SMI's naming hierarchy cannot + be identified, the value 'mib-2' should be used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.3"; + } + + leaf entLogicalCommunity { + type binary { + length "0..255"; + } + status deprecated; + description + "An SNMPv1 or SNMPv2C community-string, which can be used to + access detailed management information for this logical + entity. The agent should allow read access with this + community string (to an appropriate subset of all managed + objects) and may also return a community string based on the + privileges of the request used to read this object. Note + that an agent may return a community string with read-only + privileges, even if this object is accessed with a + read-write community string. However, the agent must take + + + care not to return a community string that allows more + privileges than the community string used to access this + object. + + A compliant SNMP agent may wish to conserve naming scopes by + representing multiple logical entities in a single 'default' + naming scope. This is possible when the logical entities, + represented by the same value of entLogicalCommunity, have + no object instances in common. For example, 'bridge1' and + 'repeater1' may be part of the main naming scope, but at + least one additional community string is needed to represent + 'bridge2' and 'repeater2'. + + Logical entities 'bridge1' and 'repeater1' would be + represented by sysOREntries associated with the 'default' + naming scope. + + For agents not accessible via SNMPv1 or SNMPv2C, the value + of this object is the empty string. This object may also + contain an empty string if a community string has not yet + been assigned by the agent, or if no community string with + suitable access rights can be returned for a particular SNMP + request. + + Note that this object is deprecated. Agents which implement + SNMPv3 access should use the entLogicalContextEngineID and + entLogicalContextName objects to identify the context + associated with each logical entity. SNMPv3 agents may + return a zero-length string for this object, or may continue + to return a community string (e.g., tri-lingual agent + support)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.4"; + } + + leaf entLogicalTAddress { + type snmpv2-tc:TAddress; + description + "The transport service address by which the logical entity + receives network management traffic, formatted according to + the corresponding value of entLogicalTDomain. + + For snmpUDPDomain, a TAddress is 6 octets long: the initial + 4 octets contain the IP-address in network-byte order and + the last 2 contain the UDP port in network-byte order. + Consult 'Transport Mappings for the Simple Network + Management Protocol' (STD 62, RFC 3417 [RFC3417]) for + further information on snmpUDPDomain."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.5"; + } + + leaf entLogicalTDomain { + type snmpv2-tc:TDomain; + description + "Indicates the kind of transport service by which the + logical entity receives network management traffic. + Possible values for this object are presently found in the + Transport Mappings for Simple Network Management Protocol' + (STD 62, RFC 3417 [RFC3417])."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.6"; + } + + leaf entLogicalContextEngineID { + type ENTITY-MIB:SnmpEngineIdOrNone; + description + "The authoritative contextEngineID that can be used to send + an SNMP message concerning information held by this logical + entity, to the address specified by the associated + 'entLogicalTAddress/entLogicalTDomain' pair. + + This object, together with the associated + entLogicalContextName object, defines the context associated + with a particular logical entity, and allows access to SNMP + engines identified by a contextEngineId and contextName + pair. + + If no value has been configured by the agent, a zero-length + string is returned, or the agent may choose not to + instantiate this object at all."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.7"; + } + + leaf entLogicalContextName { + type snmp-framework:SnmpAdminString; + description + "The contextName that can be used to send an SNMP message + concerning information held by this logical entity, to the + address specified by the associated + 'entLogicalTAddress/entLogicalTDomain' pair. + + This object, together with the associated + entLogicalContextEngineID object, defines the context + associated with a particular logical entity, and allows + + + access to SNMP engines identified by a contextEngineId and + contextName pair. + + If no value has been configured by the agent, a zero-length + string is returned, or the agent may choose not to + instantiate this object at all."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.2.1.1.8"; + } + } + } + + container entLPMappingTable { + description + "This table contains zero or more rows of logical entity to + physical equipment associations. For each logical entity + known by this agent, there are zero or more mappings to the + physical resources, which are used to realize that logical + entity. + + An agent should limit the number and nature of entries in + this table such that only meaningful and non-redundant + information is returned. For example, in a system that + contains a single power supply, mappings between logical + entities and the power supply are not useful and should not + be included. + + Also, only the most appropriate physical component, which is + closest to the root of a particular containment tree, should + be identified in an entLPMapping entry. + + For example, suppose a bridge is realized on a particular + module, and all ports on that module are ports on this + bridge. A mapping between the bridge and the module would + be useful, but additional mappings between the bridge and + each of the ports on that module would be redundant (because + the entPhysicalContainedIn hierarchy can provide the same + information). On the other hand, if more than one bridge + were utilizing ports on this module, then mappings between + each bridge and the ports it used would be appropriate. + + Also, in the case of a single backplane repeater, a mapping + for the backplane to the single repeater entity is not + necessary."; + smiv2:oid "1.3.6.1.2.1.47.1.3.1"; + + list entLPMappingEntry { + key "entLogicalIndex entLPPhysicalIndex"; + description + "Information about a particular logical entity to physical + equipment association. Note that the nature of the + association is not specifically identified in this entry. + It is expected that sufficient information exists in the + MIBs used to manage a particular logical entity to infer how + physical component information is utilized."; + smiv2:oid "1.3.6.1.2.1.47.1.3.1.1"; + + leaf entLogicalIndex { + type leafref { + path "/ENTITY-MIB:ENTITY-MIB/ENTITY-MIB:entLogicalTable/ENTITY-MIB:entLogicalEntry/ENTITY-MIB:entLogicalIndex"; + } + } + + leaf entLPPhysicalIndex { + type ENTITY-MIB:PhysicalIndex; + description + "The value of this object identifies the index value of a + particular entPhysicalEntry associated with the indicated + entLogicalEntity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.3.1.1.1"; + } + } + } + + container entAliasMappingTable { + description + "This table contains zero or more rows, representing + mappings of logical entity and physical component to + external MIB identifiers. Each physical port in the system + may be associated with a mapping to an external identifier, + which itself is associated with a particular logical + entity's naming scope. A 'wildcard' mechanism is provided + to indicate that an identifier is associated with more than + one logical entity."; + smiv2:oid "1.3.6.1.2.1.47.1.3.2"; + + list entAliasMappingEntry { + key "entPhysicalIndex entAliasLogicalIndexOrZero"; + description + "Information about a particular physical equipment, logical + + + entity to external identifier binding. Each logical + entity/physical component pair may be associated with one + alias mapping. The logical entity index may also be used as + a 'wildcard' (refer to the entAliasLogicalIndexOrZero object + DESCRIPTION clause for details.) + + Note that only entPhysicalIndex values that represent + physical ports (i.e., associated entPhysicalClass value is + 'port(10)') are permitted to exist in this table."; + smiv2:oid "1.3.6.1.2.1.47.1.3.2.1"; + + leaf entPhysicalIndex { + type leafref { + path "/ENTITY-MIB:ENTITY-MIB/ENTITY-MIB:entPhysicalTable/ENTITY-MIB:entPhysicalEntry/ENTITY-MIB:entPhysicalIndex"; + } + } + + leaf entAliasLogicalIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "The value of this object identifies the logical entity + that defines the naming scope for the associated instance + of the 'entAliasMappingIdentifier' object. + + If this object has a non-zero value, then it identifies the + logical entity named by the same value of entLogicalIndex. + + If this object has a value of zero, then the mapping between + the physical component and the alias identifier for this + entAliasMapping entry is associated with all unspecified + logical entities. That is, a value of zero (the default + mapping) identifies any logical entity that does not have + an explicit entry in this table for a particular + entPhysicalIndex/entAliasMappingIdentifier pair. + + For example, to indicate that a particular interface (e.g., + physical component 33) is identified by the same value of + ifIndex for all logical entities, the following instance + might exist: + + entAliasMappingIdentifier.33.0 = ifIndex.5 + + In the event an entPhysicalEntry is associated differently + for some logical entities, additional entAliasMapping + entries may exist, e.g.: + + + entAliasMappingIdentifier.33.0 = ifIndex.6 + entAliasMappingIdentifier.33.4 = ifIndex.1 + entAliasMappingIdentifier.33.5 = ifIndex.1 + entAliasMappingIdentifier.33.10 = ifIndex.12 + + Note that entries with non-zero entAliasLogicalIndexOrZero + index values have precedence over zero-indexed entries. In + this example, all logical entities except 4, 5, and 10, + associate physical entity 33 with ifIndex.6."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.47.1.3.2.1.1"; + } + + leaf entAliasMappingIdentifier { + type snmpv2-tc:RowPointer; + description + "The value of this object identifies a particular conceptual + row associated with the indicated entPhysicalIndex and + entLogicalIndex pair. + + Because only physical ports are modeled in this table, only + entries that represent interfaces or ports are allowed. If + an ifEntry exists on behalf of a particular physical port, + then this object should identify the associated 'ifEntry'. + For repeater ports, the appropriate row in the + 'rptrPortGroupTable' should be identified instead. + + For example, suppose a physical port was represented by + entPhysicalEntry.3, entLogicalEntry.15 existed for a + repeater, and entLogicalEntry.22 existed for a bridge. Then + there might be two related instances of + entAliasMappingIdentifier: + entAliasMappingIdentifier.3.15 == rptrPortGroupIndex.5.2 + entAliasMappingIdentifier.3.22 == ifIndex.17 + It is possible that other mappings (besides interfaces and + repeater ports) may be defined in the future, as required. + + Bridge ports are identified by examining the Bridge MIB and + appropriate ifEntries associated with each 'dot1dBasePort', + and are thus not represented in this table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.3.2.1.2"; + } + } + } + + container entPhysicalContainsTable { + description + "A table that exposes the container/'containee' + relationships between physical entities. This table + provides all the information found by constructing the + virtual containment tree for a given entPhysicalTable, but + in a more direct format. + + In the event a physical entity is contained by more than one + other physical entity (e.g., double-wide modules), this + table should include these additional mappings, which cannot + be represented in the entPhysicalTable virtual containment + tree."; + smiv2:oid "1.3.6.1.2.1.47.1.3.3"; + + list entPhysicalContainsEntry { + key "entPhysicalIndex entPhysicalChildIndex"; + description + "A single container/'containee' relationship."; + smiv2:oid "1.3.6.1.2.1.47.1.3.3.1"; + + leaf entPhysicalIndex { + type leafref { + path "/ENTITY-MIB:ENTITY-MIB/ENTITY-MIB:entPhysicalTable/ENTITY-MIB:entPhysicalEntry/ENTITY-MIB:entPhysicalIndex"; + } + } + + leaf entPhysicalChildIndex { + type ENTITY-MIB:PhysicalIndex; + description + "The value of entPhysicalIndex for the contained physical + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.47.1.3.3.1.1"; + } + } + } + } + + notification entConfigChange { + description + "An entConfigChange notification is generated when the value + of entLastChangeTime changes. It can be utilized by an NMS + to trigger logical/physical entity table maintenance polls. + + An agent should not generate more than one entConfigChange + 'notification-event' in a given time interval (five seconds + is the suggested default). A 'notification-event' is the + transmission of a single trap or inform PDU to a list of + notification destinations. + + If additional configuration changes occur within the + throttling period, then notification-events for these + changes should be suppressed by the agent until the current + throttling period expires. At the end of a throttling + period, one notification-event should be generated if any + configuration changes occurred since the start of the + throttling period. In such a case, another throttling + period is started right away. + + An NMS should periodically check the value of + entLastChangeTime to detect any missed entConfigChange + notification-events, e.g., due to throttling or transmission + loss."; + smiv2:oid "1.3.6.1.2.1.47.2.0.1"; + } + + smiv2:alias "entityMIB" { + smiv2:oid "1.3.6.1.2.1.47"; + } + + smiv2:alias "entityMIBObjects" { + smiv2:oid "1.3.6.1.2.1.47.1"; + } + + smiv2:alias "entityPhysical" { + smiv2:oid "1.3.6.1.2.1.47.1.1"; + } + + smiv2:alias "entityLogical" { + smiv2:oid "1.3.6.1.2.1.47.1.2"; + } + + smiv2:alias "entityMapping" { + smiv2:oid "1.3.6.1.2.1.47.1.3"; + } + + smiv2:alias "entityGeneral" { + smiv2:oid "1.3.6.1.2.1.47.1.4"; + } + + smiv2:alias "entityMIBTraps" { + smiv2:oid "1.3.6.1.2.1.47.2"; + } + + smiv2:alias "entityMIBTrapPrefix" { + smiv2:oid "1.3.6.1.2.1.47.2.0"; + } + + smiv2:alias "entityConformance" { + smiv2:oid "1.3.6.1.2.1.47.3"; + } + + smiv2:alias "entityCompliances" { + smiv2:oid "1.3.6.1.2.1.47.3.1"; + } + + smiv2:alias "entityGroups" { + smiv2:oid "1.3.6.1.2.1.47.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ENTITY-SENSOR-MIB.yang b/vendor/cisco/xe/17151/MIBS/ENTITY-SENSOR-MIB.yang new file mode 100644 index 000000000..10fc9b634 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ENTITY-SENSOR-MIB.yang @@ -0,0 +1,483 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/ENTITY-SENSOR-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ENTITY-SENSOR-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ENTITY-SENSOR-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB"; + prefix ENTITY-SENSOR-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Entity MIB Working Group"; + + contact + " Andy Bierman + Cisco Systems, Inc. + Tel: +1 408-527-3711 + E-mail: abierman@cisco.com + Postal: 170 West Tasman Drive + San Jose, CA USA 95134 + + Dan Romascanu + Avaya Inc. + Tel: +972-3-645-8414 + Email: dromasca@avaya.com + Postal: Atidim technology Park, Bldg. #3 + Tel Aviv, Israel, 61131 + + K.C. Norseth + L-3 Communications + Tel: +1 801-594-2809 + Email: kenyon.c.norseth@L-3com.com + Postal: 640 N. 2200 West. + Salt Lake City, Utah 84116-0850 + + Send comments to + Mailing list subscription info: + http://www.ietf.org/mailman/listinfo/entmib "; + + description + "This module defines Entity MIB extensions for physical + sensors. + + Copyright (C) The Internet Society (2002). This version + of this MIB module is part of RFC 3433; see the RFC + itself for full legal notices."; + + revision 2002-12-16 { + description + "Initial version of the Entity Sensor MIB module, published + as RFC 3433."; + } + + typedef EntitySensorDataType { + type enumeration { + enum "other" { + value "1"; + } + enum "unknown" { + value "2"; + } + enum "voltsAC" { + value "3"; + } + enum "voltsDC" { + value "4"; + } + enum "amperes" { + value "5"; + } + enum "watts" { + value "6"; + } + enum "hertz" { + value "7"; + } + enum "celsius" { + value "8"; + } + enum "percentRH" { + value "9"; + } + enum "rpm" { + value "10"; + } + enum "cmm" { + value "11"; + } + enum "truthvalue" { + value "12"; + } + } + description + "An object using this data type represents the Entity Sensor + measurement data type associated with a physical sensor + value. The actual data units are determined by examining an + object of this type together with the associated + EntitySensorDataScale object. + + An object of this type SHOULD be defined together with + objects of type EntitySensorDataScale and + EntitySensorPrecision. Together, associated objects of + these three types are used to identify the semantics of an + object of type EntitySensorValue. + + Valid values are: + + other(1): a measure other than those listed below + unknown(2): unknown measurement, or arbitrary, + relative numbers + voltsAC(3): electric potential + voltsDC(4): electric potential + amperes(5): electric current + watts(6): power + hertz(7): frequency + celsius(8): temperature + percentRH(9): percent relative humidity + rpm(10): shaft revolutions per minute + cmm(11),: cubic meters per minute (airflow) + truthvalue(12): value takes { true(1), false(2) }"; + } + + typedef EntitySensorDataScale { + type enumeration { + enum "yocto" { + value "1"; + } + enum "zepto" { + value "2"; + } + enum "atto" { + value "3"; + } + enum "femto" { + value "4"; + } + enum "pico" { + value "5"; + } + enum "nano" { + value "6"; + } + enum "micro" { + value "7"; + } + enum "milli" { + value "8"; + } + enum "units" { + value "9"; + } + enum "kilo" { + value "10"; + } + enum "mega" { + value "11"; + } + enum "giga" { + value "12"; + } + enum "tera" { + value "13"; + } + enum "exa" { + value "14"; + } + enum "peta" { + value "15"; + } + enum "zetta" { + value "16"; + } + enum "yotta" { + value "17"; + } + } + description + "An object using this data type represents a data scaling + factor, represented with an International System of Units + (SI) prefix. The actual data units are determined by + examining an object of this type together with the + associated EntitySensorDataType object. + + An object of this type SHOULD be defined together with + objects of type EntitySensorDataType and + EntitySensorPrecision. Together, associated objects of + these three types are used to identify the semantics of an + object of type EntitySensorValue."; + reference + "The International System of Units (SI), + National Institute of Standards and Technology, + Spec. Publ. 330, August 1991."; + } + + typedef EntitySensorPrecision { + type int32 { + range "-8..9"; + } + description + "An object using this data type represents a sensor + precision range. + + An object of this type SHOULD be defined together with + objects of type EntitySensorDataType and + EntitySensorDataScale. Together, associated objects of + these three types are used to identify the semantics of an + object of type EntitySensorValue. + + If an object of this type contains a value in the range 1 to + 9, it represents the number of decimal places in the + fractional part of an associated EntitySensorValue fixed- + point number. + + If an object of this type contains a value in the range -8 + to -1, it represents the number of accurate digits in the + associated EntitySensorValue fixed-point number. + + The value zero indicates the associated EntitySensorValue + object is not a fixed-point number. + + Agent implementors must choose a value for the associated + EntitySensorPrecision object so that the precision and + accuracy of the associated EntitySensorValue object is + correctly indicated. + + For example, a physical entity representing a temperature + sensor that can measure 0 degrees to 100 degrees C in 0.1 + degree increments, +/- 0.05 degrees, would have an + EntitySensorPrecision value of '1', an EntitySensorDataScale + value of 'units(9)', and an EntitySensorValue ranging from + '0' to '1000'. The EntitySensorValue would be interpreted + as 'degrees C * 10'."; + } + + typedef EntitySensorValue { + type int32 { + range "-1000000000..1073741823"; + } + description + "An object using this data type represents an Entity Sensor + value. + An object of this type SHOULD be defined together with + objects of type EntitySensorDataType, EntitySensorDataScale + and EntitySensorPrecision. Together, associated objects of + those three types are used to identify the semantics of an + object of this data type. + + The semantics of an object using this data type are + determined by the value of the associated + EntitySensorDataType object. + + If the associated EntitySensorDataType object is equal to + 'voltsAC(3)', 'voltsDC(4)', 'amperes(5)', 'watts(6), + 'hertz(7)', 'celsius(8)', or 'cmm(11)', then an object of + this type MUST contain a fixed point number ranging from + -999,999,999 to +999,999,999. The value -1000000000 + indicates an underflow error. The value +1000000000 + indicates an overflow error. The EntitySensorPrecision + indicates how many fractional digits are represented in the + associated EntitySensorValue object. + + If the associated EntitySensorDataType object is equal to + 'percentRH(9)', then an object of this type MUST contain a + number ranging from 0 to 100. + + If the associated EntitySensorDataType object is equal to + 'rpm(10)', then an object of this type MUST contain a number + ranging from -999,999,999 to +999,999,999. + + If the associated EntitySensorDataType object is equal to + 'truthvalue(12)', then an object of this type MUST contain + either the value 'true(1)' or the value 'false(2)'. + + If the associated EntitySensorDataType object is equal to + 'other(1)' or unknown(2)', then an object of this type MUST + contain a number ranging from -1000000000 to 1000000000."; + } + + typedef EntitySensorStatus { + type enumeration { + enum "ok" { + value "1"; + } + enum "unavailable" { + value "2"; + } + enum "nonoperational" { + value "3"; + } + } + description + "An object using this data type represents the operational + status of a physical sensor. + + The value 'ok(1)' indicates that the agent can obtain the + sensor value. + + The value 'unavailable(2)' indicates that the agent + presently cannot obtain the sensor value. + + The value 'nonoperational(3)' indicates that the agent + believes the sensor is broken. The sensor could have a hard + failure (disconnected wire), or a soft failure such as out- + of-range, jittery, or wildly fluctuating readings."; + } + + + container ENTITY-SENSOR-MIB { + config false; + + container entPhySensorTable { + description + "This table contains one row per physical sensor represented + by an associated row in the entPhysicalTable."; + smiv2:oid "1.3.6.1.2.1.99.1.1"; + + list entPhySensorEntry { + key "entPhysicalIndex"; + description + "Information about a particular physical sensor. + + An entry in this table describes the present reading of a + sensor, the measurement units and scale, and sensor + operational status. + + Entries are created in this table by the agent. An entry + for each physical sensor SHOULD be created at the same time + as the associated entPhysicalEntry. An entry SHOULD be + destroyed if the associated entPhysicalEntry is destroyed."; + smiv2:oid "1.3.6.1.2.1.99.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entPhySensorType { + type ENTITY-SENSOR-MIB:EntitySensorDataType; + description + "The type of data returned by the associated + entPhySensorValue object. + + This object SHOULD be set by the agent during entry + creation, and the value SHOULD NOT change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.1"; + } + + leaf entPhySensorScale { + type ENTITY-SENSOR-MIB:EntitySensorDataScale; + description + "The exponent to apply to values returned by the associated + entPhySensorValue object. + + This object SHOULD be set by the agent during entry + creation, and the value SHOULD NOT change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.2"; + } + + leaf entPhySensorPrecision { + type ENTITY-SENSOR-MIB:EntitySensorPrecision; + description + "The number of decimal places of precision in fixed-point + sensor values returned by the associated entPhySensorValue + object. + + This object SHOULD be set to '0' when the associated + entPhySensorType value is not a fixed-point type: e.g., + 'percentRH(9)', 'rpm(10)', 'cmm(11)', or 'truthvalue(12)'. + + This object SHOULD be set by the agent during entry + creation, and the value SHOULD NOT change during operation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.3"; + } + + leaf entPhySensorValue { + type ENTITY-SENSOR-MIB:EntitySensorValue; + description + "The most recent measurement obtained by the agent for this + sensor. + + To correctly interpret the value of this object, the + associated entPhySensorType, entPhySensorScale, and + entPhySensorPrecision objects must also be examined."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.4"; + } + + leaf entPhySensorOperStatus { + type ENTITY-SENSOR-MIB:EntitySensorStatus; + description + "The operational status of the sensor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.5"; + } + + leaf entPhySensorUnitsDisplay { + type snmp-framework:SnmpAdminString; + description + "A textual description of the data units that should be used + in the display of entPhySensorValue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.6"; + } + + leaf entPhySensorValueTimeStamp { + type yang:timestamp; + description + "The value of sysUpTime at the time the status and/or value + of this sensor was last obtained by the agent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.7"; + } + + leaf entPhySensorValueUpdateRate { + type uint32; + units "milliseconds"; + description + "An indication of the frequency that the agent updates the + associated entPhySensorValue object, representing in + milliseconds. + + The value zero indicates: + + - the sensor value is updated on demand (e.g., + when polled by the agent for a get-request), + - the sensor value is updated when the sensor + value changes (event-driven), + - the agent does not know the update rate."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.99.1.1.1.8"; + } + } + } + } + + smiv2:alias "entitySensorMIB" { + smiv2:oid "1.3.6.1.2.1.99"; + } + + smiv2:alias "entitySensorObjects" { + smiv2:oid "1.3.6.1.2.1.99.1"; + } + + smiv2:alias "entitySensorConformance" { + smiv2:oid "1.3.6.1.2.1.99.3"; + } + + smiv2:alias "entitySensorCompliances" { + smiv2:oid "1.3.6.1.2.1.99.3.1"; + } + + smiv2:alias "entitySensorGroups" { + smiv2:oid "1.3.6.1.2.1.99.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-MIB.yang b/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-MIB.yang new file mode 100644 index 000000000..8e8cfa229 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-MIB.yang @@ -0,0 +1,368 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ENTITY-STATE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ENTITY-STATE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ENTITY-STATE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB"; + prefix ENTITY-STATE-MIB; + + import ENTITY-MIB { + prefix "entity-mib"; + } + + import ENTITY-STATE-TC-MIB { + prefix "entity-state"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Entity MIB Working Group"; + + contact + " General Discussion: entmib@ietf.org + To Subscribe: + http://www.ietf.org/mailman/listinfo/entmib + + http://www.ietf.org/html.charters/entmib-charter.html + + Sharon Chisholm + Nortel Networks + PO Box 3511 Station C + Ottawa, Ont. K1Y 4H7 + Canada + schishol@nortel.com + + David T. Perkins + 548 Qualbrook Ct + San Jose, CA 95110 + USA + Phone: 408 394-8702 + dperkins@snmpinfo.com"; + + description + "This MIB defines a state extension to the Entity MIB. + + Copyright (C) The Internet Society 2005. This version + of this MIB module is part of RFC 4268; see the RFC + itself for full legal notices."; + + revision 2005-11-22 { + description + "Initial version, published as RFC 4268."; + } + + + container ENTITY-STATE-MIB { + config false; + + container entStateTable { + description + "A table of information about state/status of entities. + This is a sparse augment of the entPhysicalTable. Entries + appear in this table for values of + entPhysicalClass [RFC4133] that in this implementation + are able to report any of the state or status stored in + this table."; + smiv2:oid "1.3.6.1.2.1.131.1.1"; + + list entStateEntry { + key "entPhysicalIndex"; + description + "State information about this physical entity."; + smiv2:oid "1.3.6.1.2.1.131.1.1.1"; + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entStateLastChanged { + type snmpv2-tc:DateAndTime; + description + "The value of this object is the date and + time when the value of any of entStateAdmin, + entStateOper, entStateUsage, entStateAlarm, + or entStateStandby changed for this entity. + + If there has been no change since + the last re-initialization of the local system, + this object contains the date and time of + local system initialization. If there has been + no change since the entity was added to the + local system, this object contains the date and + time of the insertion."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.1"; + } + + leaf entStateAdmin { + type entity-state:EntityAdminState; + description + "The administrative state for this entity. + + This object refers to an entities administrative + permission to service both other entities within + its containment hierarchy as well other users of + its services defined by means outside the scope + of this MIB. + + Setting this object to 'notSupported' will result + in an 'inconsistentValue' error. For entities that + do not support administrative state, all set + operations will result in an 'inconsistentValue' + error. + + Some physical entities exhibit only a subset of the + remaining administrative state values. Some entities + cannot be locked, and hence this object exhibits only + the 'unlocked' state. Other entities cannot be shutdown + gracefully, and hence this object does not exhibit the + 'shuttingDown' state. A value of 'inconsistentValue' + will be returned if attempts are made to set this + object to values not supported by its administrative + model."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.2"; + } + + leaf entStateOper { + type entity-state:EntityOperState; + description + "The operational state for this entity. + + Note that unlike the state model used within the + Interfaces MIB [RFC2863], this object does not follow + the administrative state. An administrative state of + down does not predict an operational state + of disabled. + + A value of 'testing' means that entity currently being + tested and cannot therefore report whether it is + operational or not. + + A value of 'disabled' means that an entity is totally + inoperable and unable to provide service both to entities + within its containment hierarchy, or to other receivers + of its service as defined in ways outside the scope of + this MIB. + + A value of 'enabled' means that an entity is fully or + partially operable and able to provide service both to + + entities within its containment hierarchy, or to other + receivers of its service as defined in ways outside the + scope of this MIB. + + Note that some implementations may not be able to + accurately report entStateOper while the + entStateAdmin object has a value other than 'unlocked'. + In these cases, this object MUST have a value + of 'unknown'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.3"; + } + + leaf entStateUsage { + type entity-state:EntityUsageState; + description + "The usage state for this entity. + + This object refers to an entity's ability to service more + physical entities in a containment hierarchy. A value + of 'idle' means this entity is able to contain other + entities but that no other entity is currently + contained within this entity. + + A value of 'active' means that at least one entity is + contained within this entity, but that it could handle + more. A value of 'busy' means that the entity is unable + to handle any additional entities being contained in it. + + Some entities will exhibit only a subset of the + usage state values. Entities that are unable to ever + service any entities within a containment hierarchy will + always have a usage state of 'busy'. Some entities will + only ever be able to support one entity within its + containment hierarchy and will therefore only exhibit + values of 'idle' and 'busy'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.4"; + } + + leaf entStateAlarm { + type entity-state:EntityAlarmStatus; + description + "The alarm status for this entity. It does not include + the alarms raised on child components within its + containment hierarchy. + + A value of 'unknown' means that this entity is + + unable to report alarm state. Note that this differs + from 'indeterminate', which means that alarm state + is supported and there are alarms against this entity, + but the severity of some of the alarms is not known. + + If no bits are set, then this entity supports reporting + of alarms, but there are currently no active alarms + against this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.5"; + } + + leaf entStateStandby { + type entity-state:EntityStandbyStatus; + description + "The standby status for this entity. + + Some entities will exhibit only a subset of the + remaining standby state values. If this entity + cannot operate in a standby role, the value of this + object will always be 'providingService'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.131.1.1.1.6"; + } + } + } + } + + notification entStateOperEnabled { + description + "An entStateOperEnabled notification signifies that the + SNMP entity, acting in an agent role, has detected that + the entStateOper object for one of its entities has + transitioned into the 'enabled' state. + + The entity this notification refers can be identified by + extracting the entPhysicalIndex from one of the + variable bindings. The entStateAdmin and entStateAlarm + varbinds may be examined to find out additional + information on the administrative state at the time of + the operation state change as well as to find out whether + there were any known alarms against the entity at that + time that may explain why the physical entity has become + operationally disabled."; + smiv2:oid "1.3.6.1.2.1.131.0.1"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entStateAdmin { + type leafref { + path "/ENTITY-STATE-MIB:ENTITY-STATE-MIB/ENTITY-STATE-MIB:entStateTable/ENTITY-STATE-MIB:entStateEntry/ENTITY-STATE-MIB:entStateAdmin"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entStateAlarm { + type leafref { + path "/ENTITY-STATE-MIB:ENTITY-STATE-MIB/ENTITY-STATE-MIB:entStateTable/ENTITY-STATE-MIB:entStateEntry/ENTITY-STATE-MIB:entStateAlarm"; + } + } + } + } + + notification entStateOperDisabled { + description + "An entStateOperDisabled notification signifies that the + SNMP entity, acting in an agent role, has detected that + the entStateOper object for one of its entities has + transitioned into the 'disabled' state. + + The entity this notification refers can be identified by + extracting the entPhysicalIndex from one of the + variable bindings. The entStateAdmin and entStateAlarm + varbinds may be examined to find out additional + information on the administrative state at the time of + the operation state change as well as to find out whether + there were any known alarms against the entity at that + time that may affect the physical entity's + ability to stay operationally enabled."; + smiv2:oid "1.3.6.1.2.1.131.0.2"; + + container object-1 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entStateAdmin { + type leafref { + path "/ENTITY-STATE-MIB:ENTITY-STATE-MIB/ENTITY-STATE-MIB:entStateTable/ENTITY-STATE-MIB:entStateEntry/ENTITY-STATE-MIB:entStateAdmin"; + } + } + } + + container object-2 { + + leaf entPhysicalIndex { + type leafref { + path "/entity-mib:ENTITY-MIB/entity-mib:entPhysicalTable/entity-mib:entPhysicalEntry/entity-mib:entPhysicalIndex"; + } + } + + leaf entStateAlarm { + type leafref { + path "/ENTITY-STATE-MIB:ENTITY-STATE-MIB/ENTITY-STATE-MIB:entStateTable/ENTITY-STATE-MIB:entStateEntry/ENTITY-STATE-MIB:entStateAlarm"; + } + } + } + } + + smiv2:alias "entityStateMIB" { + smiv2:oid "1.3.6.1.2.1.131"; + } + + smiv2:alias "entStateNotifications" { + smiv2:oid "1.3.6.1.2.1.131.0"; + } + + smiv2:alias "entStateObjects" { + smiv2:oid "1.3.6.1.2.1.131.1"; + } + + smiv2:alias "entStateConformance" { + smiv2:oid "1.3.6.1.2.1.131.2"; + } + + smiv2:alias "entStateCompliances" { + smiv2:oid "1.3.6.1.2.1.131.2.1"; + } + + smiv2:alias "entStateGroups" { + smiv2:oid "1.3.6.1.2.1.131.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-TC-MIB.yang new file mode 100644 index 000000000..329b6b18d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ENTITY-STATE-TC-MIB.yang @@ -0,0 +1,229 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ENTITY-STATE-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ENTITY-STATE-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module ENTITY-STATE-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB"; + prefix ENTITY-STATE-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Entity MIB Working Group"; + + contact + "General Discussion: entmib@ietf.org + To Subscribe: + http://www.ietf.org/mailman/listinfo/entmib + + http://www.ietf.org/html.charters/entmib-charter.html + + Sharon Chisholm + Nortel Networks + PO Box 3511 Station C + Ottawa, Ont. K1Y 4H7 + Canada + schishol@nortel.com + + David T. Perkins + 548 Qualbrook Ct + San Jose, CA 95110 + USA + Phone: 408 394-8702 + dperkins@snmpinfo.com"; + + description + "This MIB defines state textual conventions. + + Copyright (C) The Internet Society 2005. This version + of this MIB module is part of RFC 4268; see the RFC + itself for full legal notices."; + + revision 2005-11-22 { + description + "Initial version, published as RFC 4268."; + } + + typedef EntityAdminState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "locked" { + value "2"; + } + enum "shuttingDown" { + value "3"; + } + enum "unlocked" { + value "4"; + } + } + description + " Represents the various possible administrative states. + + A value of 'locked' means the resource is administratively + prohibited from use. A value of 'shuttingDown' means that + usage is administratively limited to current instances of + use. A value of 'unlocked' means the resource is not + administratively prohibited from use. A value of + 'unknown' means that this resource is unable to + report administrative state."; + } + + typedef EntityOperState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "disabled" { + value "2"; + } + enum "enabled" { + value "3"; + } + enum "testing" { + value "4"; + } + } + description + " Represents the possible values of operational states. + + A value of 'disabled' means the resource is totally + inoperable. A value of 'enabled' means the resource + is partially or fully operable. A value of 'testing' + means the resource is currently being tested + and cannot therefore report whether it is operational + or not. A value of 'unknown' means that this + resource is unable to report operational state."; + } + + typedef EntityUsageState { + type enumeration { + enum "unknown" { + value "1"; + } + enum "idle" { + value "2"; + } + enum "active" { + value "3"; + } + enum "busy" { + value "4"; + } + } + description + " Represents the possible values of usage states. + A value of 'idle' means the resource is servicing no + users. A value of 'active' means the resource is + currently in use and it has sufficient spare capacity + to provide for additional users. A value of 'busy' + means the resource is currently in use, but it + currently has no spare capacity to provide for + additional users. A value of 'unknown' means + that this resource is unable to report usage state."; + } + + typedef EntityAlarmStatus { + type bits { + bit unknown { + position "0"; + } + bit underRepair { + position "1"; + } + bit critical { + position "2"; + } + bit major { + position "3"; + } + bit minor { + position "4"; + } + bit warning { + position "5"; + } + bit indeterminate { + position "6"; + } + } + description + " Represents the possible values of alarm status. + An Alarm [RFC3877] is a persistent indication + of an error or warning condition. + + When no bits of this attribute are set, then no active + alarms are known against this entity and it is not under + repair. + + When the 'value of underRepair' is set, the resource is + currently being repaired, which, depending on the + implementation, may make the other values in this bit + string not meaningful. + + When the value of 'critical' is set, one or more critical + alarms are active against the resource. When the value + of 'major' is set, one or more major alarms are active + against the resource. When the value of 'minor' is set, + one or more minor alarms are active against the resource. + When the value of 'warning' is set, one or more warning + alarms are active against the resource. When the value + of 'indeterminate' is set, one or more alarms of whose + perceived severity cannot be determined are active + against this resource. + + A value of 'unknown' means that this resource is + unable to report alarm state."; + } + + typedef EntityStandbyStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "hotStandby" { + value "2"; + } + enum "coldStandby" { + value "3"; + } + enum "providingService" { + value "4"; + } + } + description + " Represents the possible values of standby status. + + A value of 'hotStandby' means the resource is not + providing service, but it will be immediately able to + take over the role of the resource to be backed up, + without the need for initialization activity, and will + contain the same information as the resource to be + backed up. A value of 'coldStandy' means that the + resource is to back up another resource, but will not + be immediately able to take over the role of a resource + to be backed up, and will require some initialization + activity. A value of 'providingService' means the + resource is providing service. A value of + 'unknown' means that this resource is unable to + report standby state."; + } + + smiv2:alias "entityStateTc" { + smiv2:oid "1.3.6.1.2.1.130"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/ETHER-WIS.yang b/vendor/cisco/xe/17151/MIBS/ETHER-WIS.yang new file mode 100644 index 000000000..0f2c0e07d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/ETHER-WIS.yang @@ -0,0 +1,476 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/ETHER-WIS.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang ETHER-WIS + * + * Do not edit. Edit the source file instead! + */ + +module ETHER-WIS { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS"; + prefix ETHER-WIS; + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Ethernet Interfaces and Hub MIB + Working Group"; + + contact + "WG charter: + http://www.ietf.org/html.charters/hubmib-charter.html + + Mailing Lists: + General Discussion: hubmib@ietf.org + To Subscribe: hubmib-request@ietf.org + In Body: subscribe your_email_address + + Chair: Dan Romascanu + Postal: Avaya Inc. + Atidim Technology Park, Bldg. 3 + Tel Aviv 61131 + Israel + Tel: +972 3 645 8414 + E-mail: dromasca@avaya.com + + Editor: C. M. Heard + Postal: 600 Rainbow Dr. #141 + Mountain View, CA 94041-2542 + USA + Tel: +1 650-964-8391 + E-mail: heard@pobox.com"; + + description + "The objects in this MIB module are used in conjunction + with objects in the SONET-MIB and the MAU-MIB to manage + the Ethernet WAN Interface Sublayer (WIS). + + The following reference is used throughout this MIB module: + + [IEEE 802.3 Std] refers to: + IEEE Std 802.3, 2000 Edition: 'IEEE Standard for + Information technology - Telecommunications and + information exchange between systems - Local and + metropolitan area networks - Specific requirements - + Part 3: Carrier sense multiple access with collision + detection (CSMA/CD) access method and physical layer + specifications', as amended by IEEE Std 802.3ae-2002, + 'IEEE Standard for Carrier Sense Multiple Access with + Collision Detection (CSMA/CD) Access Method and + Physical Layer Specifications - Media Access Control + (MAC) Parameters, Physical Layer and Management + Parameters for 10 Gb/s Operation', 30 August 2002. + + Of particular interest are Clause 50, 'WAN Interface + Sublayer (WIS), type 10GBASE-W', Clause 30, '10Mb/s, + 100Mb/s, 1000Mb/s, and 10Gb/s MAC Control, and Link + Aggregation Management', and Clause 45, 'Management + Data Input/Output (MDIO) Interface'. + + Copyright (C) The Internet Society (2003). This version + of this MIB module is part of RFC 3637; see the RFC + itself for full legal notices."; + + revision 2003-09-19 { + description + "Initial version, published as RFC 3637."; + } + + + container ETHER-WIS { + config false; + + container etherWisDeviceTable { + description + "The table for Ethernet WIS devices"; + smiv2:oid "1.3.6.1.2.1.10.134.1.1.1"; + + list etherWisDeviceEntry { + key "ifIndex"; + description + "An entry in the Ethernet WIS device table. For each + instance of this object there MUST be a corresponding + instance of sonetMediumEntry."; + smiv2:oid "1.3.6.1.2.1.10.134.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf etherWisDeviceTxTestPatternMode { + type enumeration { + enum "none" { + value "1"; + } + enum "squareWave" { + value "2"; + } + enum "prbs31" { + value "3"; + } + enum "mixedFrequency" { + value "4"; + } + } + description + "This variable controls the transmit test pattern mode. + The value none(1) puts the the WIS transmit path into + the normal operating mode. The value squareWave(2) puts + the WIS transmit path into the square wave test pattern + mode described in [IEEE 802.3 Std.] subclause 50.3.8.1. + The value prbs31(3) puts the WIS transmit path into the + PRBS31 test pattern mode described in [IEEE 802.3 Std.] + subclause 50.3.8.2. The value mixedFrequency(4) puts the + WIS transmit path into the mixed frequency test pattern + mode described in [IEEE 802.3 Std.] subclause 50.3.8.3. + Any attempt to set this object to a value other than + none(1) when the corresponding instance of ifAdminStatus + has the value up(1) MUST be rejected with the error + inconsistentValue, and any attempt to set the corresponding + instance of ifAdminStatus to the value up(1) when an + instance of this object has a value other than none(1) + MUST be rejected with the error inconsistentValue."; + reference + "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and + checker, 45.2.2.6, 10G WIS control 2 register (2.7), and + 45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.134.1.1.1.1.1"; + } + + leaf etherWisDeviceRxTestPatternMode { + type enumeration { + enum "none" { + value "1"; + } + enum "prbs31" { + value "3"; + } + enum "mixedFrequency" { + value "4"; + } + } + description + "This variable controls the receive test pattern mode. + The value none(1) puts the the WIS receive path into the + normal operating mode. The value prbs31(3) puts the WIS + receive path into the PRBS31 test pattern mode described + in [IEEE 802.3 Std.] subclause 50.3.8.2. The value + mixedFrequency(4) puts the WIS receive path into the mixed + frequency test pattern mode described in [IEEE 802.3 Std.] + subclause 50.3.8.3. Any attempt to set this object to a + value other than none(1) when the corresponding instance + of ifAdminStatus has the value up(1) MUST be rejected with + the error inconsistentValue, and any attempt to set the + corresponding instance of ifAdminStatus to the value up(1) + when an instance of this object has a value other than + none(1) MUST be rejected with the error inconsistentValue."; + reference + "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and + checker, 45.2.2.6, 10G WIS control 2 register (2.7), and + 45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.134.1.1.1.1.2"; + } + + leaf etherWisDeviceRxTestPatternErrors { + type yang:gauge32 { + range "0..65535"; + } + description + "This object counts the number of errors detected when the + WIS receive path is operating in the PRBS31 test pattern + mode. It is reset to zero when the WIS receive path + initially enters that mode, and it increments each time + the PRBS pattern checker detects an error as described in + [IEEE 802.3 Std.] subclause 50.3.8.2 unless its value is + 65535, in which case it remains unchanged. This object is + writeable so that it may be reset upon explicit request + of a command generator application while the WIS receive + path continues to operate in PRBS31 test pattern mode."; + reference + "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and + checker, 45.2.2.7.2, PRBS31 pattern testing ability + (2.8.1), and 45.2.2.8, 10G WIS test pattern error counter + register (2.9)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.134.1.1.1.1.3"; + } + } + } + + container etherWisSectionCurrentTable { + description + "The table for the current state of Ethernet WIS sections."; + smiv2:oid "1.3.6.1.2.1.10.134.1.2.1"; + + list etherWisSectionCurrentEntry { + key "ifIndex"; + description + "An entry in the etherWisSectionCurrentTable. For each + instance of this object there MUST be a corresponding + instance of sonetSectionCurrentEntry."; + smiv2:oid "1.3.6.1.2.1.10.134.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf etherWisSectionCurrentJ0Transmitted { + type binary { + length "16"; + } + description + "This is the 16-octet section trace message that + is transmitted in the J0 byte. The value SHOULD + be '89'h followed by fifteen octets of '00'h + (or some cyclic shift thereof) when the section + trace function is not used, and the implementation + SHOULD use that value (or a cyclic shift thereof) + as a default if no other value has been set."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.8, aJ0ValueTX."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.134.1.2.1.1.1"; + } + + leaf etherWisSectionCurrentJ0Received { + type binary { + length "16"; + } + description + "This is the 16-octet section trace message that + was most recently received in the J0 byte."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.9, aJ0ValueRX."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.134.1.2.1.1.2"; + } + } + } + + container etherWisPathCurrentTable { + description + "The table for the current state of Ethernet WIS paths."; + smiv2:oid "1.3.6.1.2.1.10.134.2.1.1"; + + list etherWisPathCurrentEntry { + key "ifIndex"; + description + "An entry in the etherWisPathCurrentTable. For each + instance of this object there MUST be a corresponding + instance of sonetPathCurrentEntry."; + smiv2:oid "1.3.6.1.2.1.10.134.2.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf etherWisPathCurrentStatus { + type bits { + bit etherWisPathLOP { + position "0"; + } + bit etherWisPathAIS { + position "1"; + } + bit etherWisPathPLM { + position "2"; + } + bit etherWisPathLCD { + position "3"; + } + } + description + "This variable indicates the current status of the + path payload with a bit map that can indicate multiple + defects at once. The bit positions are assigned as + follows: + + etherWisPathLOP(0) + This bit is set to indicate that an + LOP-P (Loss of Pointer - Path) defect + is being experienced. Note: when this + bit is set, sonetPathSTSLOP MUST be set + in the corresponding instance of + sonetPathCurrentStatus. + + etherWisPathAIS(1) + This bit is set to indicate that an + AIS-P (Alarm Indication Signal - Path) + defect is being experienced. Note: when + this bit is set, sonetPathSTSAIS MUST be + set in the corresponding instance of + sonetPathCurrentStatus. + + etherWisPathPLM(1) + This bit is set to indicate that a + PLM-P (Payload Label Mismatch - Path) + defect is being experienced. Note: when + this bit is set, sonetPathSignalLabelMismatch + MUST be set in the corresponding instance of + sonetPathCurrentStatus. + + etherWisPathLCD(3) + This bit is set to indicate that an + LCD-P (Loss of Codegroup Delination - Path) + defect is being experienced. Since this + defect is detected by the PCS and not by + the path layer itself, there is no + corresponding bit in sonetPathCurrentStatus."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.18, aPathStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.134.2.1.1.1.1"; + } + + leaf etherWisPathCurrentJ1Transmitted { + type binary { + length "16"; + } + description + "This is the 16-octet path trace message that + is transmitted in the J1 byte. The value SHOULD + be '89'h followed by fifteen octets of '00'h + (or some cyclic shift thereof) when the path + trace function is not used, and the implementation + SHOULD use that value (or a cyclic shift thereof) + as a default if no other value has been set."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.23, aJ1ValueTX."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.134.2.1.1.1.2"; + } + + leaf etherWisPathCurrentJ1Received { + type binary { + length "16"; + } + description + "This is the 16-octet path trace message that + was most recently received in the J1 byte."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.24, aJ1ValueRX."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.134.2.1.1.1.3"; + } + } + } + + container etherWisFarEndPathCurrentTable { + description + "The table for the current far-end state of Ethernet WIS + paths."; + smiv2:oid "1.3.6.1.2.1.10.134.2.2.1"; + + list etherWisFarEndPathCurrentEntry { + key "ifIndex"; + description + "An entry in the etherWisFarEndPathCurrentTable. For each + instance of this object there MUST be a corresponding + instance of sonetFarEndPathCurrentEntry."; + smiv2:oid "1.3.6.1.2.1.10.134.2.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf etherWisFarEndPathCurrentStatus { + type bits { + bit etherWisFarEndPayloadDefect { + position "0"; + } + bit etherWisFarEndServerDefect { + position "1"; + } + } + description + "This variable indicates the current status at the + far end of the path using a bit map that can indicate + multiple defects at once. The bit positions are + assigned as follows: + + etherWisFarEndPayloadDefect(0) + A far end payload defect (i.e., far end + PLM-P or LCD-P) is currently being signaled + in G1 bits 5-7. + + etherWisFarEndServerDefect(1) + A far end server defect (i.e., far end + LOP-P or AIS-P) is currently being signaled + in G1 bits 5-7. Note: when this bit is set, + sonetPathSTSRDI MUST be set in the corresponding + instance of sonetPathCurrentStatus."; + reference + "[IEEE 802.3 Std.], 30.8.1.1.25, aFarEndPathStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.134.2.2.1.1.1"; + } + } + } + } + + smiv2:alias "etherWisMIB" { + smiv2:oid "1.3.6.1.2.1.10.134"; + } + + smiv2:alias "etherWisObjects" { + smiv2:oid "1.3.6.1.2.1.10.134.1"; + } + + smiv2:alias "etherWisDevice" { + smiv2:oid "1.3.6.1.2.1.10.134.1.1"; + } + + smiv2:alias "etherWisSection" { + smiv2:oid "1.3.6.1.2.1.10.134.1.2"; + } + + smiv2:alias "etherWisObjectsPath" { + smiv2:oid "1.3.6.1.2.1.10.134.2"; + } + + smiv2:alias "etherWisPath" { + smiv2:oid "1.3.6.1.2.1.10.134.2.1"; + } + + smiv2:alias "etherWisFarEndPath" { + smiv2:oid "1.3.6.1.2.1.10.134.2.2"; + } + + smiv2:alias "etherWisConformance" { + smiv2:oid "1.3.6.1.2.1.10.134.3"; + } + + smiv2:alias "etherWisGroups" { + smiv2:oid "1.3.6.1.2.1.10.134.3.1"; + } + + smiv2:alias "etherWisCompliances" { + smiv2:oid "1.3.6.1.2.1.10.134.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/EXPRESSION-MIB.yang b/vendor/cisco/xe/17151/MIBS/EXPRESSION-MIB.yang new file mode 100644 index 000000000..9836aba59 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/EXPRESSION-MIB.yang @@ -0,0 +1,1207 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/EXPRESSION-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang EXPRESSION-MIB + * + * Do not edit. Edit the source file instead! + */ + +module EXPRESSION-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB"; + prefix EXPRESSION-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Distributed Management Working Group"; + + contact + " Cisco Systems + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + USA + + Tel: +1 800 553-NETS + + E-mail: cs-snmp@cisco.com"; + + description + "The MIB module for defining expressions of MIB objects + for network management purposes. + + This MIB is an early snapshot of work done by the IETF's + Distributed Management working group. After this snapshot + was taken, the MIB was modified, had new OIDs assigned, + and then published as RFC 2982."; + + revision 2005-11-24 { + description + "Imported Unsigned32 from SNMPv2-SMI."; + } + + revision 1998-02-25 { + description + "Initial version of the mib module."; + } + + typedef ExpressionName { + type binary { + length "1..64"; + } + description + "This data type is a refinement of DisplayString to + represent an identification for an expression. An + ExpressionName corresponds one-to-one to an + ExpressionIndex. + + This identification of an expression is subject to change + only by administrative request."; + } + + typedef ExpressionIndex { + type uint32 { + range "1..4294967295"; + } + description + "An integer shorthand identification for an expression. + An ExpressionIndex corresponds one-to-one to an + ExpressionName. + + Once assigned an ExpressionIndex may not be changed."; + } + + typedef ExpressionIndexOrZero { + type uint32 { + range "0..4294967295"; + } + description + "Either an ExpressionIndex or zero. The meaning of zero + depends on the DESCRIPTION of the object."; + } + + + container EXPRESSION-MIB { + config false; + + container expResource { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1"; + + leaf expResourceDeltaMinimum { + type int32 { + range "-1|1..600"; + } + units "seconds"; + description + "The minimum expExpressionDeltaInterval this system will + accept. A system may use the larger values of this minimum + to lessen the impact of constantly computing deltas. + + The value -1 indicates this system will not accept + deltaValue as a value for expObjectSampleType. + + Unless explicitly resource limited, a system's value for + this object should be 1. + + Changing this value will not invalidate an existing setting + of expObjectSampleType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1.1"; + } + + leaf expResourceDeltaWildcardInstanceMaximum { + type uint32; + units "instances"; + description + "The maximum number of dynamic instance entries this system + will support for wildcarded delta objects in expressions. + These are the entries that maintain state, one for each + instance of each deltaValue object for each value of an + expression. + + A value of 0 indicates no preset limit, that is, the limit + is dynamic based on system operation and resources. + + Unless explicitly resource limited, a system's value for + this object should be 0. + + Changing this value will not eliminate or inhibit existing + delta wildcard instance objects but will prevent the + creation of more such objects."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1.2"; + } + + leaf expResourceDeltaWildcardInstances { + type yang:gauge32; + units "instances"; + description + "The number of currently active instance entries as + defined for expResourceDeltaWildcardInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1.3"; + } + + leaf expResourceDeltaWildcardInstancesHigh { + type yang:gauge32; + units "instances"; + description + "The highest value of expResourceDeltaWildcardInstances + that has occurred since initialization of the management + system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1.4"; + } + + leaf expResourceDeltaWildcardInstanceResourceLacks { + type yang:counter32; + units "instances"; + description + "The number of times this system could not evaluate an + expression because that would have created a value + instance in excess of + expResourceDeltaWildcardInstanceMaximum."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1.5"; + } + } + + container expNames { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2"; + + leaf expNameLastChange { + type yang:timestamp; + description + "The value of sysUpTime the last time an expression was + created or deleted or had its name changed using + expExpressionName."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.1"; + } + + leaf expNameHighestIndex { + type EXPRESSION-MIB:ExpressionIndexOrZero; + description + "The highest value of ExpressionIndex ever assigned on + this system. Preferrably this value is preserved across + system reboots. A managed system that is unable to + store expressions across reboots need not preserve this + value across reboots. + + If all expression-creating applications cooperate, they + may use this to avoid reusing an ExpressionIndex. To + do so, attempt creation of a new entry with this + value + 1 as the value of expExpressionIndex. + + Although reusing ExpressionIndexes could lead to an + application receiving a misunderstood value, it is a + matter of local management policy whether to reuse them."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.2"; + } + } + + container expNameTable { + description + "A table of expression names, for creating and deleting + expressions."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.3"; + + list expNameEntry { + key "expName"; + description + "Information about a single expression. New expressions + can be created using expNameStatus. + + To create an expression first create the named entry in this + table. Then use expExpressionIndex to populate + expExpressionTable and expObjectTable. For expression + evaluation to succeed all related entries in expNameTable, + expExpressionTable, and expObjectTable must be 'active'. If + these conditions are not met the corresponding values in + expValue simply are not instantiated. + + Deleting an entry deletes all related entries in + expExpressionTable and expObjectTable. + + Because of the relationships among the multiple tables + for an expression (expNameTable, expExpressionTable, + expObjectTable, and expValueTable) and the SNMP rules + for independence in setting object values, it is + necessary to do final error checking when an expression + is evaluated, that is, when one of its instances in + expValueTable is read. Earlier checking need not be + done and an implementation may not impose any ordering + on the creation of objects related to an expression other + than to require values for expName and expExpressionIndex + before any other related objects can be created. + + To maintain security of MIB information, when creating a new + row in this table, the managed system must record the + security credentials of the requester. If the subsequent + expression includes objects with expObjectSampleType + 'deltaValue' the evaluation of that expression takes place + under the security credentials of the creator of its + expNameEntry."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.3.1"; + + leaf expName { + type EXPRESSION-MIB:ExpressionName; + description + "The name of the expression. Choosing names with useful + lexical ordering supports using GetNext or GetBulk to + retrieve a useful subset of the table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.3.1.1"; + } + + leaf expExpressionIndex { + type EXPRESSION-MIB:ExpressionIndex; + description + "The numeric identification of the expression. + + Applications may select this number in ascending numerical + order by using expNameHighestIndex as a hint or may use any + other acceptable, unused number. + + Once set this value may not be set to a different value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.3.1.2"; + } + + leaf expNameStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation/deletion of entries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2.3.1.3"; + } + } + } + + container expExpressionTable { + description + "A table of expression definitions."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1"; + + list expExpressionEntry { + key "expExpressionIndex"; + description + "Information about a single expression. An entry appears + in this table when an entry is created in expNameTable. + Deleting that expNameTable entry automatically deletes + this entry and its associated expObjectTable entries. + + Values of read-write objects in this table may be changed + at any time."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1"; + + leaf expExpressionIndex { + type leafref { + path "/EXPRESSION-MIB:EXPRESSION-MIB/EXPRESSION-MIB:expNameTable/EXPRESSION-MIB:expNameEntry/EXPRESSION-MIB:expExpressionIndex"; + } + } + + leaf expExpressionName { + type EXPRESSION-MIB:ExpressionName; + description + "The unique name of the expression, the same as expName. + + Use this object to change the expression's name without + changing its expExpressionIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.1"; + } + + leaf expExpression { + type binary { + length "1..1024"; + } + description + "The expression to be evaluated. This object is the same + as a DisplayString (RFC 1903) except for its maximum length. + + Except for the variable names the expression is in ANSI C + syntax. Only the subset of ANSI C operators and functions + listed here is allowed. + + Variables are expressed as a dollar sign ('$') and an + integer that corresponds to an expObjectIndex. An + example of a valid expression is: + + ($1-$5)*100 + + Expressions may not be recursive, that is although an + expression may use the results of another expression, it + may not contain any variable that is directly or + indirectly a result of its own evaluation. + + The only allowed operators are: + + ( ) + - (unary) + + - * / % + & | ^ << >> ~ + ! && || == != > >= < <= + + Note the parentheses are included for parenthesizing the + expression, not for casting data types. + + The only constant types defined are: + + int (32-bit signed) + long (64-bit signed) + unsigned int + unsigned long + hexadecimal + character + string + oid + + The default type for a positive integer is int unless it + is too large in which case it is long. + + All but oid are as defined for ANSI C. Note that a + hexadecimal constant may end up as a scalar or an array of + 8-bit integers. A string constant is enclosed in double + quotes and may contain back-slashed individual characters + as in ANSI C. + + An oid constant comprises 32-bit, unsigned integers and at + least one period, for example: + + 0. + .0 + 1.3.6.1 + + Integer-typed objects are treated as 32- or 64-bit, signed + or unsigned integers, as appropriate. The results of + mixing them are as for ANSI C, including the type of the + result. Note that a 32-bit value is thus promoted to 64 + bits only in an operation with a 64-bit value. There is + no provision for larger values to handle overflow. + + Relative to SNMP data types, a resulting value becomes + unsigned when calculating it uses any unsigned value, + including a counter. To force the final value to be of + data type counter the expression must explicitly use the + counter32() or counter64() function (defined below). + + OCTET STRINGS and OBJECT IDENTIFIERs are treated as 1-based + arrays of unsigned 8-bit integers and unsigned 32-bit + integers, respectively. + + IpAddresses are treated as 32-bit, unsigned integers in + network byte order, that is, the hex version of 255.0.0.0 is + 0xff000000. + + Conditional expressions result in a 32-bit, unsigned integer + of value 0 for false or 1 for true. When an arbitrary value + is used as a boolean 0 is false and non-zero is true. + + Rules for the resulting data type from an operation, based + on the operator: + + For << and >> the result is the same as the left hand + operand. + + For &&, ||, ==, !=, <, <=, >, and >= the result is always + Unsigned32. + + For unary - the result is always Integer32. + + For +, -, *, /, %, &, |, and ^ the result is promoted + according to the following rules, in order from most to + least preferred: + + If left hand and right hand operands are the same + type, use that. + + If either side is Counter64, use that. + + If either side is IpAddress, use that. + + If either side is TimeTicks, use that. + + If either side is Counter32, use that. + + Otherwise use Unsigned32. + + The following rules say what operators apply with what + data types. Any combination not explicitly defined does + not work. + + For all operators any of the following can be the left + hand or right hand operand: Integer32, Counter32, + Unsigned32, Counter64. + + The operators +, -, *, /, %, <, <=, >, and >= also work with + TimeTicks. + + The operators &, |, and ^ also work with IpAddress. + + The operators << and >> also work with IpAddress but only + as the left hand operand. + + The + operator performs a concatenation of two OCTET STRINGs + or two OBJECT IDENTIFIERs. + + The operators &, | perform bitwise operations on + OCTET STRINGs. If the OCTET STRING happens to be a + DisplayString the results may be meaningless, but the agent + system does not check this as some such systems do not + have this information. + + The operators << and >> perform bitwise operations on + OCTET STRINGs appearing as the left hand operand. + + The only functions defined are: + + counter32 + counter64 + arraySection + stringBegins + stringEnds + stringContains + oidBegins + oidEnds + oidContains + sum + exists + + The following function definitions indicate their by naming + the data type of the parameter in the parameter's position + in the parameter list. The parameter must be of the type + indicated and generally may be a constant, a MIB object, a + function, or an expression. + + counter32(integer) - wrapped around an integer value + counter32 forces Counter32 as a data type. + + counter64(integer) - similar to counter32 except that the + resulting data type is 'counter64'. + + arraySection(array, integer, integer) - selects a piece of + an array (i.e. part of an OCTET STRING or + OBJECT IDENTIFIER). The integer arguments are in the + range 0 to 4,294,967,295. The first is an initial array + index (1-based) and the second is an ending array index. + A value of 0 indicates first or last element, respectively. + If the first element is larger than the array length the + result is 0 length. If the second integer is less than or + equal to the first, the result is 0 length. If the second + is larger than the array length it indicates last element. + + stringBegins/Ends/Contains(octetString, octetString) - + looks for the second string (which can be a string constant) + in the first and returns the 1-based index where the match + began. A return value of 0 indicates no match (i.e. + boolean false). + + oidBegins/Ends/Contains(oid, oid) - looks for the second OID + (which can be an OID constant) in the first and returns the + the 1-based index where the match began. A return value + of 0 indicates no match (i.e. boolean false). + + sum(integerObject*) - sums all availiable values of the + wildcarded integer object, resulting in an integer scalar. + Must be used with caution as it wraps on overflow with no + notification. + + exists(anyTypeObject) - verifies the object instance + exists. A return value of 0 indicates NoSuchInstance + (i.e. boolean false)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.2"; + } + + leaf expExpressionValueType { + type enumeration { + enum "counter32" { + value "1"; + } + enum "unsignedOrGauge32" { + value "2"; + } + enum "timeTicks" { + value "3"; + } + enum "integer32" { + value "4"; + } + enum "ipAddress" { + value "5"; + } + enum "octetString" { + value "6"; + } + enum "objectId" { + value "7"; + } + enum "counter64" { + value "8"; + } + } + description + "The type of the expression value. One and only one of + the value objects in expValueTable will be instantiated to + match this type. + + If the result of the expression can not be made into this + type, an invalidOperandType error will occur."; + smiv2:defval "counter32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.3"; + } + + leaf expExpressionComment { + type snmpv2-tc:DisplayString; + description + "A comment to explain the use or meaning of the expression."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.4"; + } + + leaf expExpressionDeltaInterval { + type int32 { + range "0..86400"; + } + units "seconds"; + description + "Sampling interval for objects in this expression with + expObjectSampleType 'deltaValue'. + + This object is not instantiated if not applicable. + + A value of 0 indicates no automated sampling. In this case + the delta is the difference from the last time the + expression was evaluated. Note that this is subject to + unpredictable delta times in the face of retries or + multiple managers. + + A value greater than zero is the number of seconds between + automated samples. + + Until the delta interval has expired once the delta for the + object is effectively not instantiated and evaluating + the expression has results as if the object itself were not + instantiated. + + Note that delta values potentially consume large amounts of + system CPU and memory. Delta state and processing must + continue constantly even if the expression is not being + used. That is, the expression is being evaluated every + delta interval, even if no application is reading those + values. For wildcarded objects this can be substantial + overhead. + + Note that delta intervals, external expression value + sampling intervals and delta intervals for expressions + within other expressions can have unusual interactions as + they are impossible to synchronize accurately. In general + one interval embedded below another must be enough shorter + that the higher sample sees relatively smooth, predictable + behavior."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.5"; + } + + leaf expExpressionPrefix { + type yang:object-identifier-128; + description + "An object prefix to assist an application in determining + the instance indexing to use in expValueTable, relieving the + application of the need to scan the expObjectTable to + determine such a prefix. + + See expObjectTable for information on wildcarded objects. + + If the expValueInstance portion of the value OID may + be treated as a scalar (that is, normally, 0) the value of + expExpressionPrefix is zero length, that is, no OID at all. + + Otherwise expExpressionPrefix is the value of any wildcarded + instance of expObjectID for the expression. This is + sufficient as the remainder, that is, the instance fragment + relevant to instancing the values must be the same for all + wildcarded objects in the expression."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.6"; + } + + leaf expExpressionErrors { + type yang:counter32; + description + "The number of errors encountered while evaluating this + expression. + + Note that an object in the expression not being accessible + is not considered an error. It is a legitimate condition + that causes the corresponding expression value not to be + instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.7"; + } + + leaf expExpressionErrorTime { + type yang:timestamp; + description + "The value of sysUpTime the last time an error caused a + failure to evaluate this expression. + + This object is not instantiated if there have been no + errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.8"; + } + + leaf expExpressionErrorIndex { + type int32; + description + "The 1-based character index into expExpression for where + the error occurred. The value zero indicates irrelevance. + + This object is not instantiated if there have been no + errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.9"; + } + + leaf expExpressionError { + type enumeration { + enum "invalidSyntax" { + value "1"; + } + enum "undefinedObjectIndex" { + value "2"; + } + enum "unrecognizedOperator" { + value "3"; + } + enum "unrecognizedFunction" { + value "4"; + } + enum "invalidOperandType" { + value "5"; + } + enum "unmatchedParenthesis" { + value "6"; + } + enum "tooManyWildcardValues" { + value "7"; + } + enum "recursion" { + value "8"; + } + enum "deltaTooShort" { + value "9"; + } + enum "resourceUnavailable" { + value "10"; + } + enum "divideByZero" { + value "11"; + } + } + description + "The error that occurred. In the following explanations the + expected timing of the error is in parentheses. 'S' means + the error occurs on a Set request. 'E' means the error + occurs on the attempt to evaluate the expression either + due to Get from expValueTable or in ongoing delta + processing. + + invalidSyntax the value sent for expExpression + is not valid Expression MIB + expression syntax (S) + undefinedObjectIndex an object reference ($n) in + expExpression does not have a + matching instance in + expObjectTable (E) + unrecognizedOperator the value sent for expExpression + held an unrecognized operator (S) + unrecognizedFunction the value sent for expExpression + held an unrecognized function + name (S) + invalidOperandType an operand in expExpression is not + the right type for the associated + operator or result (SE) + unmatchedParenthesis the value sent for expExpression + is not correctly parenthesized (S) + tooManyWildcardValues evaluating the expression exceeded + the limit set by expResourceDelta + WildcardInstanceMaximum (E) + recursion through some chain of embedded + expressions the expression invokes + itself (E) + deltaTooShort the delta for the next evaluation + passed before the system could + evaluate the present sample (E) + resourceUnavailable some resource, typically dynamic + memory, was unavailable (SE) + divideByZero an attempt to divide by zero + occurred (E) + + For the errors that occur when the attempt is made to set + expExpression Set request fails with the SNMP error code + 'wrongValue'. Such failures refer to the most recent failure + to Set expExpression, not to the present value of + expExpression which must be either unset or syntactically + correct. + + Errors that occur during evalutaion for a Get* operation + return the SNMP error code 'genErr' except for + 'tooManyWildcardValues' and 'resourceUnavailable' which + return the SNMP error code 'resourceUnavailable'. + + This object is not instantiated if there have been no + errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.10"; + } + + leaf expExpressionInstance { + type yang:object-identifier-128; + description + "The expValueInstance being evaluated when the error + occurred. A zero-length indicates irrelevance. + + This object is not instantiated if there have been no + errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.11"; + } + + leaf expExpressionOwner { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.1.1.12"; + } + } + } + + container expObjectTable { + description + "A table of object definitions for each expExpression. + + Wildcarding instance IDs: + + It is legal to omit all or part of the instance portion for + some or all of the objects in an expression. (See the + DESCRIPTION of expObjectID for details. However, note that + if more than one object in the same expression is wildcarded + in this way, they all must be objects where that portion of + the instance is the same. In other words, all objects may + be in the same SEQUENCE or in different SEQUENCEs but with + the same semantic index value (e.g., a value of ifIndex) + for the wildcarded portion."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2"; + + list expObjectEntry { + key "expExpressionIndex expObjectIndex"; + description + "Information about an object. An application uses + expObjectStatus to create entries in this table while + in the process of defining an expression. + + Values of read-create objects in this table may be + changed at any time."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1"; + + leaf expExpressionIndex { + type leafref { + path "/EXPRESSION-MIB:EXPRESSION-MIB/EXPRESSION-MIB:expNameTable/EXPRESSION-MIB:expNameEntry/EXPRESSION-MIB:expExpressionIndex"; + } + } + + leaf expObjectIndex { + type uint32 { + range "1..4294967295"; + } + description + "Within an expression, a unique, numeric identification + for an object. Prefixed with a dollar sign ('$') this is + used to reference the object in the corresponding + expExpression."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.1"; + } + + leaf expObjectID { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of this object. The OID may be + fully qualified, meaning it includes a complete instance + identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it + may not be fully qualified, meaning it may lack all or part + of the instance identifier. If the expObjectID is not fully + qualified, then expObjectWildcard must be set to true(1). + The value of the expression will be multiple + values, as if done for a GetNext sweep of the object. + + An object here may itself be the result of an expression but + recursion is not allowed. + + NOTE: The simplest implementations of this MIB may not + allow wildcards."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.2"; + } + + leaf expObjectIDWildcard { + type boolean; + description + "A true value indicates the expObjecID of this row is a + wildcard object. False indicates that expObjectID is fully + instanced. If all expObjectWildcard values for a given + expression are FALSE, expExpressionPrefix will reflect a + scalar object (ie will be 0.0). + + NOTE: The simplest implementations of this MIB may not + allow wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.3"; + } + + leaf expObjectSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + } + description + "The method of sampling the selected variable. + + An 'absoluteValue' is simply the present value of the + object. + A 'deltaValue' is the present value minus the previous + value, which was sampled expExpressionDeltaInterval + seconds ago. This is intended primarily for use with + SNMP counters, which are meaningless as an 'absoluteValue', + but may be used with any integer-based value. + + When an expression contains both delta and absolute values + the absolute values are obtained at the end of the delta + period."; + smiv2:defval "absoluteValue"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.4"; + } + + leaf expObjectDeltaDiscontinuityID { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of a TimeTicks or TimeStamp + object that indicates a discontinuity in the value at + expObjectID. + + This object is not instantiated if expObject is not + 'deltaValue'. + + The OID may be for a leaf object (e.g. sysUpTime.0) or may + be wildcarded to match expObjectID. + + This object supports normal checking for a discontinuity + in a counter. Note that if this object does not point to + sysUpTime discontinuity checking must still check sysUpTime + for an overall discontinuity. + + If the object identified is not accessible no discontinuity + check will be made."; + smiv2:defval "sysUpTimeInstance"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.5"; + } + + leaf expObjectDiscontinuityIDWildcard { + type boolean; + description + "A true value indicates the expObjectDeltaDiscontinuityID + of this row is a wildcard object. False indicates that + expObjectDeltaDiscontinuityID is fully instanced. + + This object is not instantiated if expObject is not + 'deltaValue'. + + NOTE: The simplest implementations of this MIB may not + allow wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.6"; + } + + leaf expObjectDiscontinuityIDType { + type enumeration { + enum "timeTicks" { + value "1"; + } + enum "timeStamp" { + value "2"; + } + } + description + "The value 'timeTicks' indicates the + expObjectDeltaDiscontinuityID of this row is of syntax + TimeTicks. The value 'timeStamp' indicates that + expObjectDeltaDiscontinuityID is of syntax TimeStamp. + + This object is not instantiated if expObject is not + 'deltaValue'."; + smiv2:defval "timeTicks"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.7"; + } + + leaf expObjectConditional { + type yang:object-identifier-128; + description + "The OBJECT IDENTIFIER (OID) of an object that overrides + whether the instance of expObjectID is to be considered + usable. If the value of the object at expObjectConditional + is 0 or not instantiated, the object at expObjectID is + treated as if it is not instantiated. In other words, + expObjectConditional is a filter that controls whether or + not to use the value at expObjectID. + + The OID may be for a leaf object (e.g. sysObjectID.0) or + may be wildcarded to match expObjectID. If expObject is + wildcarded and expObjectID in the same row is not, the wild + portion of expObjectConditional must match the wildcarding + of the rest of the expression. If no object in the + expression is wildcarded but expObjectConditional is, use + the lexically first instance (if any) of + expObjectConditional. + + If the value of expObjectConditional is 0.0 operation is + as if the value pointed to by expObjectConditional is a + non-zero (true) value. + + Note that expObjectConditional can not trivially use an + object of syntax TruthValue, since the underlying value is + not 0 or 1."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.8"; + } + + leaf expObjectConditionalWildcard { + type boolean; + description + "A true value indicates the expObjectConditional of this + row is a wildcard object. False indicates that + expObjectConditional is fully instanced. + + NOTE: The simplest implementations of this MIB may not allow + wildcards."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.9"; + } + + leaf expObjectStatus { + type snmpv2-tc:RowStatus; + description + "The control that allows creation/deletion of entries. + + Objects in this table may be changed while expObjectStatus + is in any state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3.2.1.10"; + } + } + } + + container expValueTable { + description + "A table of values from evaluated expressions."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1"; + + list expValueEntry { + key "expExpressionIndex expValueInstance"; + description + "A single value from an evaluated expression. For a given + instance, only one 'Val' object in the conceptual row will + be instantiated, that is, the one with the appropriate type + for the value. For values that contain no objects of + expObjectSampleType 'deltaValue', reading a value from the + table causes the evaluation of the expression for that + value. For those that contain a 'deltaValue' the value + read is as of the last delta interval. + + If in the attempt to evaluate the expression one or more + of the necessary objects is not available, the corresponding + entry in this table is effectively not instantiated. + + To maintain security of MIB information, expression + evaluation must take place using security credentials for + the implied Gets of the objects in the expression. For + expressions with no deltaValue those security credentials + are the ones that came with the Get* for the value. For + expressions with a deltaValue the ongoing expression + evaluation is under the security credentials of the + creator of the corresponding expNameEntry."; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1"; + + leaf expExpressionIndex { + type leafref { + path "/EXPRESSION-MIB:EXPRESSION-MIB/EXPRESSION-MIB:expNameTable/EXPRESSION-MIB:expNameEntry/EXPRESSION-MIB:expExpressionIndex"; + } + } + + leaf expValueInstance { + type yang:object-identifier-128; + description + "The final instance portion of a value's OID according to + the wildcarding in instances of expObjectID for the + expression. The prefix of this OID fragment is 0.0, + leading to the following behavior. + + If there is no wildcarding, the value is 0.0.0. In other + words, there is one value which standing alone would have + been a scalar with a 0 at the end of its OID. + + If there is wildcarding, the value is 0.0 followed by + a value that the wildcard can take, thus defining one value + instance for each real, possible value of the wildcard. + So, for example, if the wildcard worked out to be an + ifIndex, there is an expValueInstance for each applicable + ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.1"; + } + + leaf expValueCounter32Val { + type yang:counter32; + description + "The value when expExpressionValueType is 'counter32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.2"; + } + + leaf expValueUnsigned32Val { + type uint32; + description + "The value when expExpressionValueType is + 'unsignedOrGauge32' or 'timeTicks'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.3"; + } + + leaf expValueInteger32Val { + type int32; + description + "The value when expExpressionValueType is 'integer32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.4"; + } + + leaf expValueIpAddressVal { + type inet:ipv4-address; + description + "The value when expExpressionValueType is 'ipAddress'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.5"; + } + + leaf expValueOctetStringVal { + type binary { + length "0..65535"; + } + description + "The value when expExpressionValueType is 'octetString'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.6"; + } + + leaf expValueOidVal { + type yang:object-identifier-128; + description + "The value when expExpressionValueType is 'objectId'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.7"; + } + + leaf expValueCounter64Val { + type yang:counter64; + description + "The value when expExpressionValueType is 'counter64'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4.1.1.8"; + } + } + } + } + + smiv2:alias "sysUpTimeInstance" { + smiv2:oid "1.3.6.1.2.1.1.3.0"; + } + + smiv2:alias "expressionMIB" { + smiv2:oid "1.3.6.1.4.1.9.10.22"; + } + + smiv2:alias "expressionMIBObjects" { + smiv2:oid "1.3.6.1.4.1.9.10.22.1"; + } + + smiv2:alias "expResource" { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.1"; + } + + smiv2:alias "expNames" { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.2"; + } + + smiv2:alias "expDefine" { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.3"; + } + + smiv2:alias "expValue" { + smiv2:oid "1.3.6.1.4.1.9.10.22.1.4"; + } + + smiv2:alias "expressionMIBConformance" { + smiv2:oid "1.3.6.1.4.1.9.10.22.3"; + } + + smiv2:alias "expressionMIBCompliances" { + smiv2:oid "1.3.6.1.4.1.9.10.22.3.1"; + } + + smiv2:alias "expressionMIBGroups" { + smiv2:oid "1.3.6.1.4.1.9.10.22.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/EtherLike-MIB.yang b/vendor/cisco/xe/17151/MIBS/EtherLike-MIB.yang new file mode 100644 index 000000000..ed00eea36 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/EtherLike-MIB.yang @@ -0,0 +1,1631 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/EtherLike-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang EtherLike-MIB + * + * Do not edit. Edit the source file instead! + */ + +module EtherLike-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB"; + prefix EtherLike-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Ethernet Interfaces and Hub MIB + Working Group"; + + contact + "WG E-mail: hubmib@ietf.org + To subscribe: hubmib-request@ietf.org + + Chair: Dan Romascanu + Postal: Avaya Inc. + Atidum Technology Park, Bldg. 3 + Tel Aviv 61131 + Israel + Tel: +972 3 645 8414 + E-mail: dromasca@avaya.com + + Editor: John Flick + Postal: Hewlett-Packard Company + 8000 Foothills Blvd. M/S 5557 + Roseville, CA 95747-5557 + USA + Tel: +1 916 785 4018 + Fax: +1 916 785 1199 + E-mail: johnf@rose.hp.com"; + + description + "The MIB module to describe generic objects for + ethernet-like network interfaces. + + The following reference is used throughout this + MIB module: + + [IEEE 802.3 Std] refers to: + IEEE Std 802.3, 2002 Edition: 'IEEE Standard + for Information technology - + Telecommunications and information exchange + between systems - Local and metropolitan + area networks - Specific requirements - + Part 3: Carrier sense multiple access with + collision detection (CSMA/CD) access method + and physical layer specifications', as + amended by IEEE Std 802.3ae-2002: + 'Amendment: Media Access Control (MAC) + Parameters, Physical Layer, and Management + Parameters for 10 Gb/s Operation', August, + 2002. + + Of particular interest is Clause 30, '10 Mb/s, + 100 Mb/s, 1000 Mb/s, and 10 Gb/s Management'. + + Copyright (C) The Internet Society (2003). This + version of this MIB module is part of RFC 3635; + see the RFC itself for full legal notices."; + + revision 2003-09-19 { + description + "Updated to include support for 10 Gb/sec + interfaces. This resulted in the following + revisions: + + - Updated dot3StatsAlignmentErrors and + dot3StatsSymbolErrors DESCRIPTIONs to + reflect behaviour at 10 Gb/s + - Added dot3StatsRateControlAbility and + dot3RateControlStatus for management + of the Rate Control function in 10 Gb/s + WAN applications + - Added 64-bit versions of all counters + that are used on high-speed ethernet + interfaces + - Added object groups to contain the new + objects + - Deprecated etherStatsBaseGroup and + split into etherStatsBaseGroup2 and + etherStatsHalfDuplexGroup, so that + interfaces which can only operate at + full-duplex do not need to implement + half-duplex-only statistics + - Deprecated dot3Compliance and replaced + it with dot3Compliance2, which includes + the compliance information for the new + object groups + + In addition, the dot3Tests and dot3Errors + object identities have been deprecated, + since there is no longer a standard method + for using them. + + This version published as RFC 3635."; + } + + revision 1999-08-24 { + description + "Updated to include support for 1000 Mb/sec + interfaces and full-duplex interfaces. + This version published as RFC 2665."; + } + + revision 1998-06-03 { + description + "Updated to include support for 100 Mb/sec + interfaces. + This version published as RFC 2358."; + } + + revision 1994-02-03 { + description + "Initial version, published as RFC 1650."; + } + + identity dot3TestTdr { + base smiv2:object-identity; + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + The Time-Domain Reflectometry (TDR) test is + specific to ethernet-like interfaces of type + 10Base5 and 10Base2. The TDR value may be + useful in determining the approximate distance + to a cable fault. It is advisable to repeat + this test to check for a consistent resulting + TDR value, to verify that there is a fault. + + A TDR test returns as its result the time + interval, measured in 10 MHz ticks or 100 nsec + units, between the start of TDR test + transmission and the subsequent detection of a + collision or deassertion of carrier. On + successful completion of a TDR test, the result + is stored as the value of an appropriate + instance of an appropriate vendor specific MIB + object, and the OBJECT IDENTIFIER of that + instance is stored in the appropriate instance + of the appropriate test result code object + (thereby indicating where the result has been + stored). + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.6.1"; + } + + identity dot3TestLoopBack { + base smiv2:object-identity; + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + This test configures the MAC chip and executes + an internal loopback test of memory, data paths, + and the MAC chip logic. This loopback test can + only be executed if the interface is offline. + Once the test has completed, the MAC chip should + be reinitialized for network operation, but it + should remain offline. + + If an error occurs during a test, the + appropriate test result object will be set + to indicate a failure. The two OBJECT + IDENTIFIER values dot3ErrorInitError and + dot3ErrorLoopbackError may be used to provided + more information as values for an appropriate + test result code object. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.6.2"; + } + + identity dot3ErrorInitError { + base smiv2:object-identity; + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + Couldn't initialize MAC chip for test. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.7.1"; + } + + identity dot3ErrorLoopbackError { + base smiv2:object-identity; + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + Expected data not received (or not received + correctly) in loopback test. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.7.2"; + } + + + container EtherLike-MIB { + config false; + + container dot3StatsTable { + description + "Statistics for a collection of ethernet-like + interfaces attached to a particular system. + There will be one row in this table for each + ethernet-like interface in the system."; + smiv2:oid "1.3.6.1.2.1.10.7.2"; + + list dot3StatsEntry { + key "dot3StatsIndex"; + description + "Statistics for a particular interface to an + ethernet-like medium."; + smiv2:oid "1.3.6.1.2.1.10.7.2.1"; + + leaf dot3StatsIndex { + type if-mib:InterfaceIndex; + description + "An index value that uniquely identifies an + interface to an ethernet-like medium. The + interface identified by a particular value of + this index is the same interface as identified + by the same value of ifIndex."; + reference + "RFC 2863, ifIndex"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.1"; + } + + leaf dot3StatsAlignmentErrors { + type yang:counter32; + description + "A count of frames received on a particular + interface that are not an integral number of + octets in length and do not pass the FCS check. + + The count represented by an instance of this + object is incremented when the alignmentError + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + This counter does not increment for group + encoding schemes greater than 4 bits per group. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsAlignmentErrors object for 10 Gb/s + or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.7, + aAlignmentErrors"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.2"; + } + + leaf dot3StatsFCSErrors { + type yang:counter32; + description + "A count of frames received on a particular + interface that are an integral number of octets + in length but do not pass the FCS check. This + count does not include frames received with + frame-too-long or frame-too-short error. + + The count represented by an instance of this + object is incremented when the frameCheckError + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + Note: Coding errors detected by the physical + layer for speeds above 10 Mb/s will cause the + frame to fail the FCS check. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsFCSErrors object for 10 Gb/s or + faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.6, + aFrameCheckSequenceErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.3"; + } + + leaf dot3StatsSingleCollisionFrames { + type yang:counter32; + description + "A count of frames that are involved in a single + collision, and are subsequently transmitted + successfully. + + A frame that is counted by an instance of this + object is also counted by the corresponding + instance of either the ifOutUcastPkts, + ifOutMulticastPkts, or ifOutBroadcastPkts, + and is not counted by the corresponding + instance of the dot3StatsMultipleCollisionFrames + object. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.3, + aSingleCollisionFrames."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.4"; + } + + leaf dot3StatsMultipleCollisionFrames { + type yang:counter32; + description + "A count of frames that are involved in more + than one collision and are subsequently + transmitted successfully. + + A frame that is counted by an instance of this + object is also counted by the corresponding + instance of either the ifOutUcastPkts, + ifOutMulticastPkts, or ifOutBroadcastPkts, + and is not counted by the corresponding + instance of the dot3StatsSingleCollisionFrames + object. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.4, + aMultipleCollisionFrames."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.5"; + } + + leaf dot3StatsSQETestErrors { + type yang:counter32; + description + "A count of times that the SQE TEST ERROR + is received on a particular interface. The + SQE TEST ERROR is set in accordance with the + rules for verification of the SQE detection + mechanism in the PLS Carrier Sense Function as + described in IEEE Std. 802.3, 2000 Edition, + section 7.2.4.6. + + This counter does not increment on interfaces + operating at speeds greater than 10 Mb/s, or on + interfaces operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 7.2.4.6, also 30.3.2.1.4, + aSQETestErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.6"; + } + + leaf dot3StatsDeferredTransmissions { + type yang:counter32; + description + "A count of frames for which the first + transmission attempt on a particular interface + is delayed because the medium is busy. + + The count represented by an instance of this + object does not include frames involved in + collisions. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.9, + aFramesWithDeferredXmissions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.7"; + } + + leaf dot3StatsLateCollisions { + type yang:counter32; + description + "The number of times that a collision is + detected on a particular interface later than + one slotTime into the transmission of a packet. + + A (late) collision included in a count + represented by an instance of this object is + also considered as a (generic) collision for + purposes of other collision-related + statistics. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.10, + aLateCollisions."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.8"; + } + + leaf dot3StatsExcessiveCollisions { + type yang:counter32; + description + "A count of frames for which transmission on a + particular interface fails due to excessive + collisions. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.11, + aFramesAbortedDueToXSColls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.9"; + } + + leaf dot3StatsInternalMacTransmitErrors { + type yang:counter32; + description + "A count of frames for which transmission on a + particular interface fails due to an internal + MAC sublayer transmit error. A frame is only + counted by an instance of this object if it is + not counted by the corresponding instance of + either the dot3StatsLateCollisions object, the + dot3StatsExcessiveCollisions object, or the + dot3StatsCarrierSenseErrors object. + + The precise meaning of the count represented by + an instance of this object is implementation- + specific. In particular, an instance of this + object may represent a count of transmission + errors on a particular interface that are not + otherwise counted. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsInternalMacTransmitErrors object for + 10 Gb/s or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.12, + aFramesLostDueToIntMACXmitError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.10"; + } + + leaf dot3StatsCarrierSenseErrors { + type yang:counter32; + description + "The number of times that the carrier sense + condition was lost or never asserted when + attempting to transmit a frame on a particular + interface. + + The count represented by an instance of this + object is incremented at most once per + transmission attempt, even if the carrier sense + condition fluctuates during a transmission + attempt. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.13, + aCarrierSenseErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.11"; + } + + leaf dot3StatsFrameTooLongs { + type yang:counter32; + description + "A count of frames received on a particular + interface that exceed the maximum permitted + frame size. + + The count represented by an instance of this + object is incremented when the frameTooLong + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 80 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsFrameTooLongs object for 10 Gb/s + or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.25, + aFrameTooLongErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.13"; + } + + leaf dot3StatsInternalMacReceiveErrors { + type yang:counter32; + description + "A count of frames for which reception on a + particular interface fails due to an internal + MAC sublayer receive error. A frame is only + counted by an instance of this object if it is + not counted by the corresponding instance of + either the dot3StatsFrameTooLongs object, the + dot3StatsAlignmentErrors object, or the + dot3StatsFCSErrors object. + + The precise meaning of the count represented by + an instance of this object is implementation- + specific. In particular, an instance of this + object may represent a count of receive errors + on a particular interface that are not + otherwise counted. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsInternalMacReceiveErrors object for + 10 Gb/s or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.15, + aFramesLostDueToIntMACRcvError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.16"; + } + + leaf dot3StatsEtherChipSet { + type yang:object-identifier-128; + status deprecated; + description + "******** THIS OBJECT IS DEPRECATED ******** + + This object contains an OBJECT IDENTIFIER + which identifies the chipset used to + realize the interface. Ethernet-like + interfaces are typically built out of + several different chips. The MIB implementor + is presented with a decision of which chip + to identify via this object. The implementor + should identify the chip which is usually + called the Medium Access Control chip. + If no such chip is easily identifiable, + the implementor should identify the chip + which actually gathers the transmit + and receive statistics and error + indications. This would allow a + manager station to correlate the + statistics and the chip generating + them, giving it the ability to take + into account any known anomalies + in the chip. + + This object has been deprecated. Implementation + feedback indicates that it is of limited use for + debugging network problems in the field, and + the administrative overhead involved in + maintaining a registry of chipset OIDs is not + justified."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.17"; + } + + leaf dot3StatsSymbolErrors { + type yang:counter32; + description + "For an interface operating at 100 Mb/s, the + number of times there was an invalid data symbol + when a valid carrier was present. + + For an interface operating in half-duplex mode + at 1000 Mb/s, the number of times the receiving + media is non-idle (a carrier event) for a period + of time equal to or greater than slotTime, and + during which there was at least one occurrence + of an event that causes the PHY to indicate + 'Data reception error' or 'carrier extend error' + on the GMII. + + For an interface operating in full-duplex mode + at 1000 Mb/s, the number of times the receiving + media is non-idle (a carrier event) for a period + of time equal to or greater than minFrameSize, + and during which there was at least one + occurrence of an event that causes the PHY to + indicate 'Data reception error' on the GMII. + + For an interface operating at 10 Gb/s, the + number of times the receiving media is non-idle + (a carrier event) for a period of time equal to + or greater than minFrameSize, and during which + there was at least one occurrence of an event + that causes the PHY to indicate 'Receive Error' + on the XGMII. + + The count represented by an instance of this + object is incremented at most once per carrier + event, even if multiple symbol errors occur + during the carrier event. This count does + not increment if a collision is present. + + This counter does not increment when the + interface is operating at 10 Mb/s. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCStatsSymbolErrors object for 10 Gb/s + or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.2.1.5, + aSymbolErrorDuringCarrier."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.18"; + } + + leaf dot3StatsDuplexStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "halfDuplex" { + value "2"; + } + enum "fullDuplex" { + value "3"; + } + } + description + "The current mode of operation of the MAC + entity. 'unknown' indicates that the current + duplex mode could not be determined. + + Management control of the duplex mode is + accomplished through the MAU MIB. When + an interface does not support autonegotiation, + or when autonegotiation is not enabled, the + duplex mode is controlled using + ifMauDefaultType. When autonegotiation is + supported and enabled, duplex mode is controlled + using ifMauAutoNegAdvertisedBits. In either + case, the currently operating duplex mode is + reflected both in this object and in ifMauType. + + Note that this object provides redundant + information with ifMauType. Normally, redundant + objects are discouraged. However, in this + instance, it allows a management application to + determine the duplex status of an interface + without having to know every possible value of + ifMauType. This was felt to be sufficiently + valuable to justify the redundancy."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.32, + aDuplexStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.19"; + } + + leaf dot3StatsRateControlAbility { + type boolean; + description + "'true' for interfaces operating at speeds above + 1000 Mb/s that support Rate Control through + lowering the average data rate of the MAC + sublayer, with frame granularity, and 'false' + otherwise."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.33, + aRateControlAbility."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.20"; + } + + leaf dot3StatsRateControlStatus { + type enumeration { + enum "rateControlOff" { + value "1"; + } + enum "rateControlOn" { + value "2"; + } + enum "unknown" { + value "3"; + } + } + description + "The current Rate Control mode of operation of + the MAC sublayer of this interface."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.34, + aRateControlStatus."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.2.1.21"; + } + } + } + + container dot3CollTable { + description + "A collection of collision histograms for a + particular set of interfaces."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.30, + aCollisionFrames."; + smiv2:oid "1.3.6.1.2.1.10.7.5"; + + list dot3CollEntry { + key "ifIndex dot3CollCount"; + description + "A cell in the histogram of per-frame + collisions for a particular interface. An + instance of this object represents the + frequency of individual MAC frames for which + the transmission (successful or otherwise) on a + particular interface is accompanied by a + particular number of media collisions."; + smiv2:oid "1.3.6.1.2.1.10.7.5.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf dot3CollCount { + type int32 { + range "1..16"; + } + description + "The number of per-frame media collisions for + which a particular collision histogram cell + represents the frequency on a particular + interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.7.5.1.2"; + } + + leaf dot3CollFrequencies { + type yang:counter32; + description + "A count of individual MAC frames for which the + transmission (successful or otherwise) on a + particular interface occurs after the + frame has experienced exactly the number + of collisions in the associated + dot3CollCount object. + + For example, a frame which is transmitted + on interface 77 after experiencing + exactly 4 collisions would be indicated + by incrementing only dot3CollFrequencies.77.4. + No other instance of dot3CollFrequencies would + be incremented in this example. + + This counter does not increment when the + interface is operating in full-duplex mode. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.5.1.3"; + } + } + } + + container dot3ControlTable { + description + "A table of descriptive and status information + about the MAC Control sublayer on the + ethernet-like interfaces attached to a + particular system. There will be one row in + this table for each ethernet-like interface in + the system which implements the MAC Control + sublayer. If some, but not all, of the + ethernet-like interfaces in the system implement + the MAC Control sublayer, there will be fewer + rows in this table than in the dot3StatsTable."; + smiv2:oid "1.3.6.1.2.1.10.7.9"; + + list dot3ControlEntry { + key "dot3StatsIndex"; + description + "An entry in the table, containing information + about the MAC Control sublayer on a single + ethernet-like interface."; + smiv2:oid "1.3.6.1.2.1.10.7.9.1"; + + leaf dot3StatsIndex { + type leafref { + path "/EtherLike-MIB:EtherLike-MIB/EtherLike-MIB:dot3StatsTable/EtherLike-MIB:dot3StatsEntry/EtherLike-MIB:dot3StatsIndex"; + } + } + + leaf dot3ControlFunctionsSupported { + type bits { + bit pause { + position "0"; + } + } + description + "A list of the possible MAC Control functions + implemented for this interface."; + reference + "[IEEE 802.3 Std.], 30.3.3.2, + aMACControlFunctionsSupported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.9.1.1"; + } + + leaf dot3ControlInUnknownOpcodes { + type yang:counter32; + description + "A count of MAC Control frames received on this + interface that contain an opcode that is not + supported by this device. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCControlInUnknownOpcodes object for 10 Gb/s + or faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.3.5, + aUnsupportedOpcodesReceived"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.9.1.2"; + } + + leaf dot3HCControlInUnknownOpcodes { + type yang:counter64; + description + "A count of MAC Control frames received on this + interface that contain an opcode that is not + supported by this device. + + This counter is a 64 bit version of + dot3ControlInUnknownOpcodes. It should be used + on interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.3.5, + aUnsupportedOpcodesReceived"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.9.1.3"; + } + } + } + + container dot3PauseTable { + description + "A table of descriptive and status information + about the MAC Control PAUSE function on the + ethernet-like interfaces attached to a + particular system. There will be one row in + this table for each ethernet-like interface in + the system which supports the MAC Control PAUSE + function (i.e., the 'pause' bit in the + corresponding instance of + dot3ControlFunctionsSupported is set). If some, + but not all, of the ethernet-like interfaces in + the system implement the MAC Control PAUSE + function (for example, if some interfaces only + support half-duplex), there will be fewer rows + in this table than in the dot3StatsTable."; + smiv2:oid "1.3.6.1.2.1.10.7.10"; + + list dot3PauseEntry { + key "dot3StatsIndex"; + description + "An entry in the table, containing information + about the MAC Control PAUSE function on a single + ethernet-like interface."; + smiv2:oid "1.3.6.1.2.1.10.7.10.1"; + + leaf dot3StatsIndex { + type leafref { + path "/EtherLike-MIB:EtherLike-MIB/EtherLike-MIB:dot3StatsTable/EtherLike-MIB:dot3StatsEntry/EtherLike-MIB:dot3StatsIndex"; + } + } + + leaf dot3PauseAdminMode { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabledXmit" { + value "2"; + } + enum "enabledRcv" { + value "3"; + } + enum "enabledXmitAndRcv" { + value "4"; + } + } + description + "This object is used to configure the default + administrative PAUSE mode for this interface. + + This object represents the + administratively-configured PAUSE mode for this + interface. If auto-negotiation is not enabled + or is not implemented for the active MAU + attached to this interface, the value of this + object determines the operational PAUSE mode + of the interface whenever it is operating in + full-duplex mode. In this case, a set to this + object will force the interface into the + specified mode. + + If auto-negotiation is implemented and enabled + for the MAU attached to this interface, the + PAUSE mode for this interface is determined by + auto-negotiation, and the value of this object + denotes the mode to which the interface will + automatically revert if/when auto-negotiation is + later disabled. Note that when auto-negotiation + is running, administrative control of the PAUSE + mode may be accomplished using the + ifMauAutoNegCapAdvertisedBits object in the + MAU-MIB. + + Note that the value of this object is ignored + when the interface is not operating in + full-duplex mode. + + An attempt to set this object to + 'enabledXmit(2)' or 'enabledRcv(3)' will fail + on interfaces that do not support operation + at greater than 100 Mb/s."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.1"; + } + + leaf dot3PauseOperMode { + type enumeration { + enum "disabled" { + value "1"; + } + enum "enabledXmit" { + value "2"; + } + enum "enabledRcv" { + value "3"; + } + enum "enabledXmitAndRcv" { + value "4"; + } + } + description + "This object reflects the PAUSE mode currently + in use on this interface, as determined by + either (1) the result of the auto-negotiation + function or (2) if auto-negotiation is not + enabled or is not implemented for the active MAU + attached to this interface, by the value of + dot3PauseAdminMode. Interfaces operating at + 100 Mb/s or less will never return + 'enabledXmit(2)' or 'enabledRcv(3)'. Interfaces + operating in half-duplex mode will always return + 'disabled(1)'. Interfaces on which + auto-negotiation is enabled but not yet + completed should return the value + 'disabled(1)'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.2"; + } + + leaf dot3InPauseFrames { + type yang:counter32; + description + "A count of MAC Control frames received on this + interface with an opcode indicating the PAUSE + operation. + + This counter does not increment when the + interface is operating in half-duplex mode. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCInPauseFrames object for 10 Gb/s or + faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.4.3, + aPAUSEMACCtrlFramesReceived."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.3"; + } + + leaf dot3OutPauseFrames { + type yang:counter32; + description + "A count of MAC Control frames transmitted on + this interface with an opcode indicating the + PAUSE operation. + + This counter does not increment when the + interface is operating in half-duplex mode. + + For interfaces operating at 10 Gb/s, this + counter can roll over in less than 5 minutes if + it is incrementing at its maximum rate. Since + that amount of time could be less than a + management station's poll cycle time, in order + to avoid a loss of information, a management + station is advised to poll the + dot3HCOutPauseFrames object for 10 Gb/s or + faster interfaces. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.4.2, + aPAUSEMACCtrlFramesTransmitted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.4"; + } + + leaf dot3HCInPauseFrames { + type yang:counter64; + description + "A count of MAC Control frames received on this + interface with an opcode indicating the PAUSE + operation. + + This counter does not increment when the + interface is operating in half-duplex mode. + + This counter is a 64 bit version of + dot3InPauseFrames. It should be used on + interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.4.3, + aPAUSEMACCtrlFramesReceived."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.5"; + } + + leaf dot3HCOutPauseFrames { + type yang:counter64; + description + "A count of MAC Control frames transmitted on + this interface with an opcode indicating the + PAUSE operation. + + This counter does not increment when the + interface is operating in half-duplex mode. + + This counter is a 64 bit version of + dot3OutPauseFrames. It should be used on + interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.4.2, + aPAUSEMACCtrlFramesTransmitted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.10.1.6"; + } + } + } + + container dot3HCStatsTable { + description + "A table containing 64-bit versions of error + counters from the dot3StatsTable. The 32-bit + versions of these counters may roll over quite + quickly on higher speed ethernet interfaces. + The counters that have 64-bit versions in this + table are the counters that apply to full-duplex + interfaces, since 10 Gb/s and faster + ethernet-like interfaces do not support + half-duplex, and very few 1000 Mb/s + ethernet-like interfaces support half-duplex. + + Entries in this table are recommended for + interfaces capable of operating at 1000 Mb/s or + faster, and are required for interfaces capable + of operating at 10 Gb/s or faster. Lower speed + ethernet-like interfaces do not need entries in + this table, in which case there may be fewer + entries in this table than in the + dot3StatsTable. However, implementations + containing interfaces with a mix of speeds may + choose to implement entries in this table for + all ethernet-like interfaces."; + smiv2:oid "1.3.6.1.2.1.10.7.11"; + + list dot3HCStatsEntry { + key "dot3StatsIndex"; + description + "An entry containing 64-bit statistics for a + single ethernet-like interface."; + smiv2:oid "1.3.6.1.2.1.10.7.11.1"; + + leaf dot3StatsIndex { + type leafref { + path "/EtherLike-MIB:EtherLike-MIB/EtherLike-MIB:dot3StatsTable/EtherLike-MIB:dot3StatsEntry/EtherLike-MIB:dot3StatsIndex"; + } + } + + leaf dot3HCStatsAlignmentErrors { + type yang:counter64; + description + "A count of frames received on a particular + interface that are not an integral number of + octets in length and do not pass the FCS check. + + The count represented by an instance of this + object is incremented when the alignmentError + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + This counter does not increment for group + encoding schemes greater than 4 bits per group. + + This counter is a 64 bit version of + dot3StatsAlignmentErrors. It should be used + on interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.7, + aAlignmentErrors"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.1"; + } + + leaf dot3HCStatsFCSErrors { + type yang:counter64; + description + "A count of frames received on a particular + interface that are an integral number of octets + in length but do not pass the FCS check. This + count does not include frames received with + frame-too-long or frame-too-short error. + + The count represented by an instance of this + object is incremented when the frameCheckError + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + Note: Coding errors detected by the physical + layer for speeds above 10 Mb/s will cause the + frame to fail the FCS check. + + This counter is a 64 bit version of + dot3StatsFCSErrors. It should be used on + interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.6, + aFrameCheckSequenceErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.2"; + } + + leaf dot3HCStatsInternalMacTransmitErrors { + type yang:counter64; + description + "A count of frames for which transmission on a + particular interface fails due to an internal + MAC sublayer transmit error. A frame is only + counted by an instance of this object if it is + not counted by the corresponding instance of + either the dot3StatsLateCollisions object, the + dot3StatsExcessiveCollisions object, or the + dot3StatsCarrierSenseErrors object. + + The precise meaning of the count represented by + an instance of this object is implementation- + specific. In particular, an instance of this + object may represent a count of transmission + errors on a particular interface that are not + otherwise counted. + + This counter is a 64 bit version of + dot3StatsInternalMacTransmitErrors. It should + be used on interfaces operating at 10 Gb/s or + faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.12, + aFramesLostDueToIntMACXmitError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.3"; + } + + leaf dot3HCStatsFrameTooLongs { + type yang:counter64; + description + "A count of frames received on a particular + interface that exceed the maximum permitted + frame size. + + The count represented by an instance of this + object is incremented when the frameTooLong + status is returned by the MAC service to the + LLC (or other MAC user). Received frames for + which multiple error conditions pertain are, + according to the conventions of IEEE 802.3 + Layer Management, counted exclusively according + to the error status presented to the LLC. + + This counter is a 64 bit version of + dot3StatsFrameTooLongs. It should be used on + interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.25, + aFrameTooLongErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.4"; + } + + leaf dot3HCStatsInternalMacReceiveErrors { + type yang:counter64; + description + "A count of frames for which reception on a + particular interface fails due to an internal + MAC sublayer receive error. A frame is only + counted by an instance of this object if it is + not counted by the corresponding instance of + either the dot3StatsFrameTooLongs object, the + dot3StatsAlignmentErrors object, or the + dot3StatsFCSErrors object. + + The precise meaning of the count represented by + an instance of this object is implementation- + specific. In particular, an instance of this + object may represent a count of receive errors + on a particular interface that are not + otherwise counted. + + This counter is a 64 bit version of + dot3StatsInternalMacReceiveErrors. It should be + used on interfaces operating at 10 Gb/s or + faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.1.1.15, + aFramesLostDueToIntMACRcvError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.5"; + } + + leaf dot3HCStatsSymbolErrors { + type yang:counter64; + description + "For an interface operating at 100 Mb/s, the + number of times there was an invalid data symbol + when a valid carrier was present. + + For an interface operating in half-duplex mode + at 1000 Mb/s, the number of times the receiving + media is non-idle (a carrier event) for a period + of time equal to or greater than slotTime, and + during which there was at least one occurrence + of an event that causes the PHY to indicate + 'Data reception error' or 'carrier extend error' + on the GMII. + + For an interface operating in full-duplex mode + at 1000 Mb/s, the number of times the receiving + media is non-idle (a carrier event) for a period + of time equal to or greater than minFrameSize, + and during which there was at least one + occurrence of an event that causes the PHY to + indicate 'Data reception error' on the GMII. + + For an interface operating at 10 Gb/s, the + number of times the receiving media is non-idle + (a carrier event) for a period of time equal to + or greater than minFrameSize, and during which + there was at least one occurrence of an event + that causes the PHY to indicate 'Receive Error' + on the XGMII. + + The count represented by an instance of this + object is incremented at most once per carrier + event, even if multiple symbol errors occur + during the carrier event. This count does + not increment if a collision is present. + + This counter is a 64 bit version of + dot3StatsSymbolErrors. It should be used on + interfaces operating at 10 Gb/s or faster. + + Discontinuities in the value of this counter can + occur at re-initialization of the management + system, and at other times as indicated by the + value of ifCounterDiscontinuityTime."; + reference + "[IEEE 802.3 Std.], 30.3.2.1.5, + aSymbolErrorDuringCarrier."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.7.11.1.6"; + } + } + } + } + + smiv2:alias "dot3" { + smiv2:oid "1.3.6.1.2.1.10.7"; + } + + smiv2:alias "dot3Tests" { + smiv2:oid "1.3.6.1.2.1.10.7.6"; + } + + smiv2:alias "dot3TestTdr" { + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + The Time-Domain Reflectometry (TDR) test is + specific to ethernet-like interfaces of type + 10Base5 and 10Base2. The TDR value may be + useful in determining the approximate distance + to a cable fault. It is advisable to repeat + this test to check for a consistent resulting + TDR value, to verify that there is a fault. + + A TDR test returns as its result the time + interval, measured in 10 MHz ticks or 100 nsec + units, between the start of TDR test + transmission and the subsequent detection of a + collision or deassertion of carrier. On + successful completion of a TDR test, the result + is stored as the value of an appropriate + instance of an appropriate vendor specific MIB + object, and the OBJECT IDENTIFIER of that + instance is stored in the appropriate instance + of the appropriate test result code object + (thereby indicating where the result has been + stored). + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.6.1"; + } + + smiv2:alias "dot3TestLoopBack" { + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + This test configures the MAC chip and executes + an internal loopback test of memory, data paths, + and the MAC chip logic. This loopback test can + only be executed if the interface is offline. + Once the test has completed, the MAC chip should + be reinitialized for network operation, but it + should remain offline. + + If an error occurs during a test, the + appropriate test result object will be set + to indicate a failure. The two OBJECT + IDENTIFIER values dot3ErrorInitError and + dot3ErrorLoopbackError may be used to provided + more information as values for an appropriate + test result code object. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.6.2"; + } + + smiv2:alias "dot3Errors" { + smiv2:oid "1.3.6.1.2.1.10.7.7"; + } + + smiv2:alias "dot3ErrorInitError" { + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + Couldn't initialize MAC chip for test. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.7.1"; + } + + smiv2:alias "dot3ErrorLoopbackError" { + status deprecated; + description + "******** THIS IDENTITY IS DEPRECATED ******* + + Expected data not received (or not received + correctly) in loopback test. + + This object identity has been deprecated, since + the ifTestTable in the IF-MIB was deprecated, + and there is no longer a standard mechanism for + initiating an interface test. This left no + standard way of using this object identity."; + smiv2:oid "1.3.6.1.2.1.10.7.7.2"; + } + + smiv2:alias "etherMIB" { + smiv2:oid "1.3.6.1.2.1.35"; + } + + smiv2:alias "etherMIBObjects" { + smiv2:oid "1.3.6.1.2.1.35.1"; + } + + smiv2:alias "etherConformance" { + smiv2:oid "1.3.6.1.2.1.35.2"; + } + + smiv2:alias "etherGroups" { + smiv2:oid "1.3.6.1.2.1.35.2.1"; + } + + smiv2:alias "etherCompliances" { + smiv2:oid "1.3.6.1.2.1.35.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/FRAME-RELAY-DTE-MIB.yang b/vendor/cisco/xe/17151/MIBS/FRAME-RELAY-DTE-MIB.yang new file mode 100644 index 000000000..6a2df9ebd --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/FRAME-RELAY-DTE-MIB.yang @@ -0,0 +1,877 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/FRAME-RELAY-DTE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang FRAME-RELAY-DTE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module FRAME-RELAY-DTE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB"; + prefix FRAME-RELAY-DTE-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IPLPDN Working Group"; + + contact + " Caralyn Brown + Postal: Cadia Networks, Inc. + 1 Corporate Drive + Andover, Massachusetts 01810 + Tel: +1 508 689 2400 x133 + E-Mail: cbrown@cadia.com + + Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + Tel: +1 408 526 425 + E-Mail: fred@cisco.com"; + + description + "The MIB module to describe the use of a Frame Relay + interface by a DTE."; + + revision 1997-05-01 { + description + "Converted from SMIv1 to SMIv2. (Thus, indices are + read-only rather than being not-accessible.) Added + objects and made clarifications based on implementation + experience."; + } + + revision 1992-04-01 { + description + "Published as RFC 1315, the initial version of this MIB + module."; + } + + typedef DLCI { + type int32 { + range "0..8388607"; + } + description + "The range of DLCI values. Note that this varies by + interface configuration; normally, interfaces may use + 0..1023, but may be configured to use ranges as large + as 0..2^23."; + } + + + container FRAME-RELAY-DTE-MIB { + config false; + + container frameRelayTrapControl { + smiv2:oid "1.3.6.1.2.1.10.32.4"; + + leaf frTrapState { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This variable indicates whether the system produces + the frDLCIStatusChange trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.4.1"; + } + + leaf frTrapMaxRate { + type int32 { + range "0..3600000"; + } + description + "This variable indicates the number of milliseconds + that must elapse between trap emissions. If events + occur more rapidly, the impementation may simply fail + to trap, or may queue traps until an appropriate time."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.4.2"; + } + } + + container frDlcmiTable { + description + "The Parameters for the Data Link Connection Management + Interface for the frame relay service on this + interface."; + reference + "American National Standard T1.617-1991, Annex D"; + smiv2:oid "1.3.6.1.2.1.10.32.1"; + + list frDlcmiEntry { + key "frDlcmiIfIndex"; + description + "The Parameters for a particular Data Link Connection + Management Interface."; + smiv2:oid "1.3.6.1.2.1.10.32.1.1"; + + leaf frDlcmiIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the corresponding ifEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.1"; + } + + leaf frDlcmiState { + type enumeration { + enum "noLmiConfigured" { + value "1"; + } + enum "lmiRev1" { + value "2"; + } + enum "ansiT1617D" { + value "3"; + } + enum "ansiT1617B" { + value "4"; + } + enum "itut933A" { + value "5"; + } + enum "ansiT1617D1994" { + value "6"; + } + } + description + "This variable states which Data Link Connection + Management scheme is active (and by implication, what + DLCI it uses) on the Frame Relay interface."; + reference + "American National Standard T1.617-1991, American + National Standard T1.617a-1994, ITU-T Recommendation + Q.933 (03/93)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.2"; + } + + leaf frDlcmiAddress { + type enumeration { + enum "q921" { + value "1"; + } + enum "q922March90" { + value "2"; + } + enum "q922November90" { + value "3"; + } + enum "q922" { + value "4"; + } + } + description + "This variable states which address format is in use on + the Frame Relay interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.3"; + } + + leaf frDlcmiAddressLen { + type enumeration { + enum "twoOctets" { + value "2"; + } + enum "threeOctets" { + value "3"; + } + enum "fourOctets" { + value "4"; + } + } + description + "This variable states the address length in octets. In + the case of Q922 format, the length indicates the + entire length of the address including the control + portion."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.4"; + } + + leaf frDlcmiPollingInterval { + type int32 { + range "5..30"; + } + units "seconds"; + description + "This is the number of seconds between successive + status enquiry messages."; + reference + "American National Standard T1.617-1991, Section D.7 + Timer T391."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.5"; + } + + leaf frDlcmiFullEnquiryInterval { + type int32 { + range "1..255"; + } + description + "Number of status enquiry intervals that pass before + issuance of a full status enquiry message."; + reference + "American National Standard T1.617-1991, Section D.7 + Counter N391."; + smiv2:defval "6"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.6"; + } + + leaf frDlcmiErrorThreshold { + type int32 { + range "1..10"; + } + description + "This is the maximum number of unanswered Status + Enquiries the equipment shall accept before declaring + the interface down."; + reference + "American National Standard T1.617-1991, Section D.5.1 + Counter N392."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.7"; + } + + leaf frDlcmiMonitoredEvents { + type int32 { + range "1..10"; + } + description + "This is the number of status polling intervals over + which the error threshold is counted. For example, if + within 'MonitoredEvents' number of events the station + receives 'ErrorThreshold' number of errors, the + interface is marked as down."; + reference + "American National Standard T1.617-1991, Section D.5.2 + Counter N393."; + smiv2:defval "4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.8"; + } + + leaf frDlcmiMaxSupportedVCs { + type FRAME-RELAY-DTE-MIB:DLCI; + description + "The maximum number of Virtual Circuits allowed for + this interface. Usually dictated by the Frame Relay + network. + + In response to a SET, if a value less than zero or + higher than the agent's maximal capability is + configured, the agent should respond badValue"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.9"; + } + + leaf frDlcmiMulticast { + type enumeration { + enum "nonBroadcast" { + value "1"; + } + enum "broadcast" { + value "2"; + } + } + description + "This indicates whether the Frame Relay interface is + using a multicast service."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.10"; + } + + leaf frDlcmiStatus { + type enumeration { + enum "running" { + value "1"; + } + enum "fault" { + value "2"; + } + enum "initializing" { + value "3"; + } + } + description + "This indicates the status of the Frame Relay interface + as determined by the performance of the dlcmi. If no + dlcmi is running, the Frame Relay interface will stay + in the running state indefinitely."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.11"; + } + + leaf frDlcmiRowStatus { + type snmpv2-tc:RowStatus; + description + "SNMP Version 2 Row Status Variable. Writable objects + in the table may be written in any RowStatus state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.12"; + } + } + } + + container frCircuitTable { + description + "A table containing information about specific Data + Link Connections (DLC) or virtual circuits."; + smiv2:oid "1.3.6.1.2.1.10.32.2"; + + list frCircuitEntry { + key "frCircuitIfIndex frCircuitDlci"; + description + "The information regarding a single Data Link + Connection. Discontinuities in the counters contained + in this table are indicated by the value in + frCircuitCreationTime."; + smiv2:oid "1.3.6.1.2.1.10.32.2.1"; + + leaf frCircuitIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex Value of the ifEntry this virtual circuit + is layered onto."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.1"; + } + + leaf frCircuitDlci { + type FRAME-RELAY-DTE-MIB:DLCI; + description + "The Data Link Connection Identifier for this virtual + circuit."; + reference + "American National Standard T1.618-1991, Section 3.3.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.2"; + } + + leaf frCircuitState { + type enumeration { + enum "invalid" { + value "1"; + } + enum "active" { + value "2"; + } + enum "inactive" { + value "3"; + } + } + description + "Indicates whether the particular virtual circuit is + operational. In the absence of a Data Link Connection + Management Interface, virtual circuit entries (rows) + may be created by setting virtual circuit state to + 'active', or deleted by changing Circuit state to + 'invalid'. + + Whether or not the row actually disappears is left to + the implementation, so this object may actually read as + 'invalid' for some arbitrary length of time. It is + also legal to set the state of a virtual circuit to + 'inactive' to temporarily disable a given circuit. + + The use of 'invalid' is deprecated in this SNMP Version + 2 MIB, in favor of frCircuitRowStatus."; + smiv2:defval "active"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.3"; + } + + leaf frCircuitReceivedFECNs { + type yang:counter32; + description + "Number of frames received from the network indicating + forward congestion since the virtual circuit was + created. This occurs when the remote DTE sets the FECN + flag, or when a switch in the network enqueues the + frame to a trunk whose transmission queue is + congested."; + reference + "American National Standard T1.618-1991, Section 3.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.4"; + } + + leaf frCircuitReceivedBECNs { + type yang:counter32; + description + "Number of frames received from the network indicating + backward congestion since the virtual circuit was + created. This occurs when the remote DTE sets the BECN + flag, or when a switch in the network receives the + frame from a trunk whose transmission queue is + congested."; + reference + "American National Standard T1.618-1991, Section 3.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.5"; + } + + leaf frCircuitSentFrames { + type yang:counter32; + description + "The number of frames sent from this virtual circuit + since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.6"; + } + + leaf frCircuitSentOctets { + type yang:counter32; + description + "The number of octets sent from this virtual circuit + since it was created. Octets counted are the full + frame relay header and the payload, but do not include + the flag characters or CRC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.7"; + } + + leaf frCircuitReceivedFrames { + type yang:counter32; + description + "Number of frames received over this virtual circuit + since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.8"; + } + + leaf frCircuitReceivedOctets { + type yang:counter32; + description + "Number of octets received over this virtual circuit + since it was created. Octets counted include the full + frame relay header, but do not include the flag + characters or the CRC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.9"; + } + + leaf frCircuitCreationTime { + type yang:timestamp; + description + "The value of sysUpTime when the virtual circuit was + created, whether by the Data Link Connection Management + Interface or by a SetRequest."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.10"; + } + + leaf frCircuitLastTimeChange { + type yang:timestamp; + description + "The value of sysUpTime when last there was a change in + the virtual circuit state"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.11"; + } + + leaf frCircuitCommittedBurst { + type int32 { + range "0..2147483647"; + } + description + "This variable indicates the maximum amount of data, in + bits, that the network agrees to transfer under normal + conditions, during the measurement interval."; + reference + "American National Standard T1.617-1991, Section + 6.5.19"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.12"; + } + + leaf frCircuitExcessBurst { + type int32 { + range "0..2147483647"; + } + description + "This variable indicates the maximum amount of + uncommitted data bits that the network will attempt to + deliver over the measurement interval. + + By default, if not configured when creating the entry, + the Excess Information Burst Size is set to the value + of ifSpeed."; + reference + "American National Standard T1.617-1991, Section + 6.5.19"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.13"; + } + + leaf frCircuitThroughput { + type int32 { + range "0..2147483647"; + } + description + "Throughput is the average number of 'Frame Relay + Information Field' bits transferred per second across a + user network interface in one direction, measured over + the measurement interval. + + If the configured committed burst rate and throughput + are both non-zero, the measurement interval, T, is + T=frCircuitCommittedBurst/frCircuitThroughput. + + If the configured committed burst rate and throughput + are both zero, the measurement interval, T, is + T=frCircuitExcessBurst/ifSpeed."; + reference + "American National Standard T1.617-1991, Section + 6.5.19"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.14"; + } + + leaf frCircuitMulticast { + type enumeration { + enum "unicast" { + value "1"; + } + enum "oneWay" { + value "2"; + } + enum "twoWay" { + value "3"; + } + enum "nWay" { + value "4"; + } + } + description + "This indicates whether this VC is used as a unicast VC + (i.e. not multicast) or the type of multicast service + subscribed to"; + reference + "Frame Relay PVC Multicast Service and Protocol + Description Implementation: FRF.7 Frame Relay Forum + Technical Committe October 21, 1994"; + smiv2:defval "unicast"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.15"; + } + + leaf frCircuitType { + type enumeration { + enum "static" { + value "1"; + } + enum "dynamic" { + value "2"; + } + } + description + "Indication of whether the VC was manually created + (static), or dynamically created (dynamic) via the data + link control management interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.16"; + } + + leaf frCircuitDiscards { + type yang:counter32; + description + "The number of inbound frames dropped because of format + errors, or because the VC is inactive."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.17"; + } + + leaf frCircuitReceivedDEs { + type yang:counter32; + description + "Number of frames received from the network indicating + that they were eligible for discard since the virtual + circuit was created. This occurs when the remote DTE + sets the DE flag, or when in remote DTE's switch + detects that the frame was received as Excess Burst + data."; + reference + "American National Standard T1.618-1991, Section 3.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.18"; + } + + leaf frCircuitSentDEs { + type yang:counter32; + description + "Number of frames sent to the network indicating that + they were eligible for discard since the virtual + circuit was created. This occurs when the local DTE + sets the DE flag, indicating that during Network + congestion situations those frames should be discarded + in preference of other frames sent without the DE bit + set."; + reference + "American National Standard T1.618-1991, Section + 3.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.19"; + } + + leaf frCircuitLogicalIfIndex { + type if-mib:InterfaceIndex; + description + "Normally the same value as frDlcmiIfIndex, but + different when an implementation associates a virtual + ifEntry with a DLC or set of DLCs in order to associate + higher layer objects such as the ipAddrEntry with a + subset of the virtual circuits on a Frame Relay + interface. The type of such ifEntries is defined by the + higher layer object; for example, if PPP/Frame Relay is + implemented, the ifType of this ifEntry would be PPP. + If it is not so defined, as would be the case with an + ipAddrEntry, it should be of type Other."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.20"; + } + + leaf frCircuitRowStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create a new row or modify or + destroy an existing row in the manner described in the + definition of the RowStatus textual convention. + Writable objects in the table may be written in any + RowStatus state."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.21"; + } + } + } + + container frErrTable { + description + "A table containing information about Errors on the + Frame Relay interface. Discontinuities in the counters + contained in this table are the same as apply to the + ifEntry associated with the Interface."; + smiv2:oid "1.3.6.1.2.1.10.32.3"; + + list frErrEntry { + key "frErrIfIndex"; + description + "The error information for a single frame relay + interface."; + smiv2:oid "1.3.6.1.2.1.10.32.3.1"; + + leaf frErrIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex Value of the corresponding ifEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.1"; + } + + leaf frErrType { + type enumeration { + enum "unknownError" { + value "1"; + } + enum "receiveShort" { + value "2"; + } + enum "receiveLong" { + value "3"; + } + enum "illegalAddress" { + value "4"; + } + enum "unknownAddress" { + value "5"; + } + enum "dlcmiProtoErr" { + value "6"; + } + enum "dlcmiUnknownIE" { + value "7"; + } + enum "dlcmiSequenceErr" { + value "8"; + } + enum "dlcmiUnknownRpt" { + value "9"; + } + enum "noErrorSinceReset" { + value "10"; + } + } + description + "The type of error that was last seen on this interface: + + receiveShort: frame was not long enough to allow + demultiplexing - the address field was incomplete, + or for virtual circuits using Multiprotocol over + Frame Relay, the protocol identifier was missing + or incomplete. + + receiveLong: frame exceeded maximum length configured for this + interface. + + illegalAddress: address field did not match configured format. + + unknownAddress: frame received on a virtual circuit which was not + active or administratively disabled. + + dlcmiProtoErr: unspecified error occurred when attempting to + interpret link maintenance frame. + + dlcmiUnknownIE: link maintenance frame contained an Information + Element type which is not valid for the + configured link maintenance protocol. + + dlcmiSequenceErr: link maintenance frame contained a sequence + number other than the expected value. + + dlcmiUnknownRpt: link maintenance frame contained a Report Type + Information Element whose value was not valid + for the configured link maintenance protocol. + + noErrorSinceReset: no errors have been detected since the last + cold start or warm start."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.2"; + } + + leaf frErrData { + type binary { + length "1..1600"; + } + description + "An octet string containing as much of the error packet + as possible. As a minimum, it must contain the Q.922 + Address or as much as was delivered. It is desirable + to include all header and demultiplexing information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.3"; + } + + leaf frErrTime { + type yang:timestamp; + description + "The value of sysUpTime at which the error was + detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.4"; + } + + leaf frErrFaults { + type yang:counter32; + description + "The number of times the interface has gone down since + it was initialized."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.5"; + } + + leaf frErrFaultTime { + type yang:timestamp; + description + "The value of sysUpTime at the time when the interface + was taken down due to excessive errors. Excessive + errors is defined as the time when a DLCMI exceeds the + frDlcmiErrorThreshold number of errors within + frDlcmiMonitoredEvents. See FrDlcmiEntry for further + details."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.6"; + } + } + } + } + + notification frDLCIStatusChange { + description + "This trap indicates that the indicated Virtual Circuit + has changed state. It has either been created or + invalidated, or has toggled between the active and + inactive states. If, however, the reason for the state + change is due to the DLCMI going down, per-DLCI traps + should not be generated."; + smiv2:oid "1.3.6.1.2.1.10.32.0.1"; + + container object-1 { + + leaf frCircuitIfIndex { + type leafref { + path "/FRAME-RELAY-DTE-MIB:FRAME-RELAY-DTE-MIB/FRAME-RELAY-DTE-MIB:frCircuitTable/FRAME-RELAY-DTE-MIB:frCircuitEntry/FRAME-RELAY-DTE-MIB:frCircuitIfIndex"; + } + } + + leaf frCircuitDlci { + type leafref { + path "/FRAME-RELAY-DTE-MIB:FRAME-RELAY-DTE-MIB/FRAME-RELAY-DTE-MIB:frCircuitTable/FRAME-RELAY-DTE-MIB:frCircuitEntry/FRAME-RELAY-DTE-MIB:frCircuitDlci"; + } + } + + leaf frCircuitState { + type leafref { + path "/FRAME-RELAY-DTE-MIB:FRAME-RELAY-DTE-MIB/FRAME-RELAY-DTE-MIB:frCircuitTable/FRAME-RELAY-DTE-MIB:frCircuitEntry/FRAME-RELAY-DTE-MIB:frCircuitState"; + } + } + } + } + + smiv2:alias "frameRelayDTE" { + smiv2:oid "1.3.6.1.2.1.10.32"; + } + + smiv2:alias "frameRelayTraps" { + smiv2:oid "1.3.6.1.2.1.10.32.0"; + } + + smiv2:alias "frameRelayTrapControl" { + smiv2:oid "1.3.6.1.2.1.10.32.4"; + } + + smiv2:alias "frConformance" { + smiv2:oid "1.3.6.1.2.1.10.32.6"; + } + + smiv2:alias "frGroups" { + smiv2:oid "1.3.6.1.2.1.10.32.6.1"; + } + + smiv2:alias "frCompliances" { + smiv2:oid "1.3.6.1.2.1.10.32.6.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/HCNUM-TC.yang b/vendor/cisco/xe/17151/MIBS/HCNUM-TC.yang new file mode 100644 index 000000000..3b03796db --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/HCNUM-TC.yang @@ -0,0 +1,148 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/HCNUM-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang HCNUM-TC + * + * Do not edit. Edit the source file instead! + */ + +module HCNUM-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC"; + prefix HCNUM-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF OPS Area"; + + contact + " E-mail: mibs@ops.ietf.org + Subscribe: majordomo@psg.com + with msg body: subscribe mibs + + Andy Bierman + Cisco Systems Inc. + 170 West Tasman Drive + San Jose, CA 95134 USA + +1 408-527-3711 + abierman@cisco.com + + Keith McCloghrie + Cisco Systems Inc. + 170 West Tasman Drive + San Jose, CA 95134 USA + +1 408-526-5260 + kzm@cisco.com + + Randy Presuhn + BMC Software, Inc. + Office 1-3141 + 2141 North First Street + San Jose, California 95131 USA + +1 408 546-1006 + rpresuhn@bmc.com"; + + description + "A MIB module containing textual conventions + for high capacity data types. This module + addresses an immediate need for data types not directly + supported in the SMIv2. This short-term solution + is meant to be deprecated as a long-term solution + is deployed."; + + revision 2000-06-08 { + description + "Initial Version of the High Capacity Numbers + MIB module, published as RFC 2856."; + } + + typedef CounterBasedGauge64 { + type yang:counter64; + description + "The CounterBasedGauge64 type represents a non-negative + integer, which may increase or decrease, but shall never + exceed a maximum value, nor fall below a minimum value. The + maximum value can not be greater than 2^64-1 + (18446744073709551615 decimal), and the minimum value can + + + + + + not be smaller than 0. The value of a CounterBasedGauge64 + has its maximum value whenever the information being modeled + is greater than or equal to its maximum value, and has its + minimum value whenever the information being modeled is + smaller than or equal to its minimum value. If the + information being modeled subsequently decreases below + (increases above) the maximum (minimum) value, the + CounterBasedGauge64 also decreases (increases). + + Note that this TC is not strictly supported in SMIv2, + because the 'always increasing' and 'counter wrap' semantics + associated with the Counter64 base type are not preserved. + It is possible that management applications which rely + solely upon the (Counter64) ASN.1 tag to determine object + semantics will mistakenly operate upon objects of this type + as they would for Counter64 objects. + + This textual convention represents a limited and short-term + solution, and may be deprecated as a long term solution is + defined and deployed to replace it."; + } + + typedef ZeroBasedCounter64 { + type yang:counter64; + description + "This TC describes an object which counts events with the + following semantics: objects of this type will be set to + zero(0) on creation and will thereafter count appropriate + events, wrapping back to zero(0) when the value 2^64 is + reached. + + Provided that an application discovers the new object within + the minimum time to wrap it can use the initial value as a + delta since it last polled the table of which this object is + part. It is important for a management station to be aware + of this minimum time and the actual time between polls, and + to discard data if the actual time is too long or there is + no defined minimum time. + + Typically this TC is used in tables where the INDEX space is + constantly changing and/or the TimeFilter mechanism is in + use. + + Note that this textual convention does not retain all the + semantics of the Counter64 base type. Specifically, a + Counter64 has an arbitrary initial value, but objects + defined with this TC are required to start at the value + + + + + + zero. This behavior is not likely to have any adverse + effects on management applications which are expecting + Counter64 semantics. + + This textual convention represents a limited and short-term + solution, and may be deprecated as a long term solution is + defined and deployed to replace it."; + } + + smiv2:alias "hcnumTC" { + smiv2:oid "1.3.6.1.2.1.78"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IANA-ADDRESS-FAMILY-NUMBERS-MIB.yang b/vendor/cisco/xe/17151/MIBS/IANA-ADDRESS-FAMILY-NUMBERS-MIB.yang new file mode 100644 index 000000000..1a627366a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IANA-ADDRESS-FAMILY-NUMBERS-MIB.yang @@ -0,0 +1,178 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IANA-ADDRESS-FAMILY-NUMBERS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IANA-ADDRESS-FAMILY-NUMBERS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IANA-ADDRESS-FAMILY-NUMBERS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB"; + prefix IANA-ADDRESS-FAMILY-NUMBERS-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IANA"; + + contact + "Postal: Internet Assigned Numbers Authority + Internet Corporation for Assigned Names + and Numbers + 4676 Admiralty Way, Suite 330 + Marina del Rey, CA 90292-6601 + USA + + Tel: +1 310-823-9358 + E-Mail: iana@iana.org"; + + description + "The MIB module defines the AddressFamilyNumbers + textual convention."; + + revision 2000-09-08 { + description + "AddressFamilyNumbers assignments 19 to + xtpoveripv4, 20 to xtpoveripv6, and 21 to + xtpnativemodextp."; + } + + revision 2000-03-01 { + description + "AddressFamilyNumbers assignment 17 to distinguishedname. + AddressFamilyNumbers assignment 18 to asnumber."; + } + + revision 2000-02-04 { + description + "AddressFamilyNumbers assignment 16 to dns."; + } + + revision 1999-08-26 { + description + "Initial version, for more explanation, see RFC 2677."; + } + + typedef AddressFamilyNumbers { + type enumeration { + enum "other" { + value "0"; + } + enum "ipV4" { + value "1"; + } + enum "ipV6" { + value "2"; + } + enum "nsap" { + value "3"; + } + enum "hdlc" { + value "4"; + } + enum "bbn1822" { + value "5"; + } + enum "all802" { + value "6"; + } + enum "e163" { + value "7"; + } + enum "e164" { + value "8"; + } + enum "f69" { + value "9"; + } + enum "x121" { + value "10"; + } + enum "ipx" { + value "11"; + } + enum "appletalk" { + value "12"; + } + enum "decnetIV" { + value "13"; + } + enum "banyanVines" { + value "14"; + } + enum "e164withNsap" { + value "15"; + } + enum "dns" { + value "16"; + } + enum "distinguishedname" { + value "17"; + } + enum "asnumber" { + value "18"; + } + enum "xtpoveripv4" { + value "19"; + } + enum "xtpoveripv6" { + value "20"; + } + enum "xtpnativemodextp" { + value "21"; + } + enum "reserved" { + value "65535"; + } + } + description + "The definition of this textual convention with the + addition of newly assigned values is published + periodically by the IANA, in either the Assigned + Numbers RFC, or some derivative of it specific to + Internet Network Management number assignments. + (The latest arrangements can be obtained by + contacting the IANA.) + + The enumerations are described as: + + other(0), -- none of the following + ipV4(1), -- IP Version 4 + ipV6(2), -- IP Version 6 + nsap(3), -- NSAP + hdlc(4), -- (8-bit multidrop) + bbn1822(5), + all802(6), -- (includes all 802 media + -- plus Ethernet 'canonical format') + e163(7), + e164(8), -- (SMDS, Frame Relay, ATM) + f69(9), -- (Telex) + x121(10), -- (X.25, Frame Relay) + ipx(11), -- IPX (Internet Protocol Exchange) + appletalk(12), -- Apple Talk + decnetIV(13), -- DEC Net Phase IV + banyanVines(14), -- Banyan Vines + e164withNsap(15), + -- (E.164 with NSAP format subaddress) + dns(16), -- (Domain Name System) + distinguishedname(17), -- (Distinguished Name, per X.500) + asnumber(18), -- (16-bit quantity, per the AS number space) + reserved(65535) + + + Requests for new values should be made to IANA via + email (iana@iana.org)."; + } + + smiv2:alias "ianaAddressFamilyNumbers" { + smiv2:oid "1.3.6.1.2.1.72"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IANA-RTPROTO-MIB.yang b/vendor/cisco/xe/17151/MIBS/IANA-RTPROTO-MIB.yang new file mode 100644 index 000000000..8d22374fa --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IANA-RTPROTO-MIB.yang @@ -0,0 +1,162 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IANA-RTPROTO-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IANA-RTPROTO-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IANA-RTPROTO-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB"; + prefix IANA-RTPROTO-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IANA"; + + contact + " Internet Assigned Numbers Authority + Internet Corporation for Assigned Names and Numbers + 4676 Admiralty Way, Suite 330 + Marina del Rey, CA 90292-6601 + + Phone: +1 310 823 9358 + EMail: iana@iana.org"; + + description + "This MIB module defines the IANAipRouteProtocol and + IANAipMRouteProtocol textual conventions for use in MIBs + which need to identify unicast or multicast routing + mechanisms. + + Any additions or changes to the contents of this MIB module + require either publication of an RFC, or Designated Expert + Review as defined in RFC 2434, Guidelines for Writing an + IANA Considerations Section in RFCs. The Designated Expert + will be selected by the IESG Area Director(s) of the Routing + Area."; + + revision 2000-09-26 { + description + "Original version, published in coordination + with RFC 2932."; + } + + typedef IANAipRouteProtocol { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "egp" { + value "5"; + } + enum "ggp" { + value "6"; + } + enum "hello" { + value "7"; + } + enum "rip" { + value "8"; + } + enum "isIs" { + value "9"; + } + enum "esIs" { + value "10"; + } + enum "ciscoIgrp" { + value "11"; + } + enum "bbnSpfIgp" { + value "12"; + } + enum "ospf" { + value "13"; + } + enum "bgp" { + value "14"; + } + enum "idpr" { + value "15"; + } + enum "ciscoEigrp" { + value "16"; + } + enum "dvmrp" { + value "17"; + } + } + description + "A mechanism for learning routes. Inclusion of values for + routing protocols is not intended to imply that those + protocols need be supported."; + } + + typedef IANAipMRouteProtocol { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "dvmrp" { + value "4"; + } + enum "mospf" { + value "5"; + } + enum "pimSparseDense" { + value "6"; + } + enum "cbt" { + value "7"; + } + enum "pimSparseMode" { + value "8"; + } + enum "pimDenseMode" { + value "9"; + } + enum "igmpOnly" { + value "10"; + } + enum "bgmp" { + value "11"; + } + enum "msdp" { + value "12"; + } + } + description + "The multicast routing protocol. Inclusion of values for + multicast routing protocols is not intended to imply that + those protocols need be supported."; + } + + smiv2:alias "ianaRtProtoMIB" { + smiv2:oid "1.3.6.1.2.1.84"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IANAifType-MIB.yang b/vendor/cisco/xe/17151/MIBS/IANAifType-MIB.yang new file mode 100644 index 000000000..a285a2858 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IANAifType-MIB.yang @@ -0,0 +1,1246 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IANAifType-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IANAifType-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IANAifType-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB"; + prefix IANAifType-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IANA"; + + contact + " Internet Assigned Numbers Authority + + Postal: ICANN + 4676 Admiralty Way, Suite 330 + Marina del Rey, CA 90292 + + Tel: +1 310 823 9358 + E-Mail: iana@iana.org"; + + description + "This MIB module defines the IANAifType Textual + Convention, and thus the enumerated values of + the ifType object defined in MIB-II's ifTable."; + + revision 2006-03-31 { + description + "Registration of new IANA ifType 234."; + } + + revision 2006-03-30 { + description + "Registration of new IANA ifType 233."; + } + + revision 2005-12-22 { + description + "Registration of new IANA ifTypes 231 and 232."; + } + + revision 2005-10-10 { + description + "Registration of new IANA ifType 230."; + } + + revision 2005-09-09 { + description + "Registration of new IANA ifType 229."; + } + + revision 2005-05-27 { + description + "Registration of new IANA ifType 228."; + } + + revision 2005-03-03 { + description + "Added the IANAtunnelType TC and deprecated + IANAifType sixToFour (215) per RFC4087."; + } + + revision 2004-11-22 { + description + "Registration of new IANA ifType 227 per RFC4327."; + } + + revision 2004-06-17 { + description + "Registration of new IANA ifType 226."; + } + + revision 2004-05-12 { + description + "Added description for IANAifType 6, and + changed the descriptions for IANAifTypes + 180, 181, and 182."; + } + + revision 2004-05-07 { + description + "Registration of new IANAifType 225."; + } + + revision 2003-08-25 { + description + "Deprecated IANAifTypes 7 and 11. Obsoleted + IANAifTypes 62, 69, and 117. ethernetCsmacd (6) + should be used instead of these values"; + } + + revision 2003-08-18 { + description + "Registration of new IANAifType + 224."; + } + + revision 2003-08-07 { + description + "Registration of new IANAifTypes + 222 and 223."; + } + + revision 2003-03-18 { + description + "Registration of new IANAifType + 221."; + } + + revision 2003-01-13 { + description + "Registration of new IANAifType + 220."; + } + + revision 2002-10-17 { + description + "Registration of new IANAifType + 219."; + } + + revision 2002-07-16 { + description + "Registration of new IANAifTypes + 217 and 218."; + } + + revision 2002-07-10 { + description + "Registration of new IANAifTypes + 215 and 216."; + } + + revision 2002-06-19 { + description + "Registration of new IANAifType + 214."; + } + + revision 2002-01-04 { + description + "Registration of new IANAifTypes + 211, 212 and 213."; + } + + revision 2001-12-20 { + description + "Registration of new IANAifTypes + 209 and 210."; + } + + revision 2001-11-15 { + description + "Registration of new IANAifTypes + 207 and 208."; + } + + revision 2001-11-06 { + description + "Registration of new IANAifType + 206."; + } + + revision 2001-11-02 { + description + "Registration of new IANAifType + 205."; + } + + revision 2001-10-16 { + description + "Registration of new IANAifTypes + 199, 200, 201, 202, 203, and 204."; + } + + revision 2001-09-19 { + description + "Registration of new IANAifType + 198."; + } + + revision 2001-05-11 { + description + "Registration of new IANAifType + 197."; + } + + revision 2001-01-12 { + description + "Registration of new IANAifTypes + 195 and 196."; + } + + revision 2000-12-19 { + description + "Registration of new IANAifTypes + 193 and 194."; + } + + revision 2000-12-07 { + description + "Registration of new IANAifTypes + 191 and 192."; + } + + revision 2000-12-04 { + description + "Registration of new IANAifType + 190."; + } + + revision 2000-10-17 { + description + "Registration of new IANAifTypes + 188 and 189."; + } + + revision 2000-10-02 { + description + "Registration of new IANAifType 187."; + } + + revision 2000-09-01 { + description + "Registration of new IANAifTypes + 184, 185, and 186."; + } + + revision 2000-08-24 { + description + "Registration of new IANAifType 183."; + } + + revision 2000-08-23 { + description + "Registration of new IANAifTypes + 174-182."; + } + + revision 2000-08-22 { + description + "Registration of new IANAifTypes 170, + 171, 172 and 173."; + } + + revision 2000-04-25 { + description + "Registration of new IANAifTypes 168 and 169."; + } + + revision 2000-03-06 { + description + "Fixed a missing semi-colon in the IMPORT. + Also cleaned up the REVISION log a bit. + It is not complete, but from now on it will + be maintained and kept up to date with each + change to this MIB module."; + } + + revision 1999-10-08 { + description + "Include new name assignments up to cnr(85). + This is the first version available via the WWW + at: ftp://ftp.isi.edu/mib/ianaiftype.mib"; + } + + revision 1994-01-31 { + description + "Initial version of this MIB as published in + RFC 1573."; + } + + typedef IANAifType { + type enumeration { + enum "other" { + value "1"; + } + enum "regular1822" { + value "2"; + } + enum "hdh1822" { + value "3"; + } + enum "ddnX25" { + value "4"; + } + enum "rfc877x25" { + value "5"; + } + enum "ethernetCsmacd" { + value "6"; + } + enum "iso88023Csmacd" { + value "7"; + } + enum "iso88024TokenBus" { + value "8"; + } + enum "iso88025TokenRing" { + value "9"; + } + enum "iso88026Man" { + value "10"; + } + enum "starLan" { + value "11"; + } + enum "proteon10Mbit" { + value "12"; + } + enum "proteon80Mbit" { + value "13"; + } + enum "hyperchannel" { + value "14"; + } + enum "fddi" { + value "15"; + } + enum "lapb" { + value "16"; + } + enum "sdlc" { + value "17"; + } + enum "ds1" { + value "18"; + } + enum "e1" { + value "19"; + } + enum "basicISDN" { + value "20"; + } + enum "primaryISDN" { + value "21"; + } + enum "propPointToPointSerial" { + value "22"; + } + enum "ppp" { + value "23"; + } + enum "softwareLoopback" { + value "24"; + } + enum "eon" { + value "25"; + } + enum "ethernet3Mbit" { + value "26"; + } + enum "nsip" { + value "27"; + } + enum "slip" { + value "28"; + } + enum "ultra" { + value "29"; + } + enum "ds3" { + value "30"; + } + enum "sip" { + value "31"; + } + enum "frameRelay" { + value "32"; + } + enum "rs232" { + value "33"; + } + enum "para" { + value "34"; + } + enum "arcnet" { + value "35"; + } + enum "arcnetPlus" { + value "36"; + } + enum "atm" { + value "37"; + } + enum "miox25" { + value "38"; + } + enum "sonet" { + value "39"; + } + enum "x25ple" { + value "40"; + } + enum "iso88022llc" { + value "41"; + } + enum "localTalk" { + value "42"; + } + enum "smdsDxi" { + value "43"; + } + enum "frameRelayService" { + value "44"; + } + enum "v35" { + value "45"; + } + enum "hssi" { + value "46"; + } + enum "hippi" { + value "47"; + } + enum "modem" { + value "48"; + } + enum "aal5" { + value "49"; + } + enum "sonetPath" { + value "50"; + } + enum "sonetVT" { + value "51"; + } + enum "smdsIcip" { + value "52"; + } + enum "propVirtual" { + value "53"; + } + enum "propMultiplexor" { + value "54"; + } + enum "ieee80212" { + value "55"; + } + enum "fibreChannel" { + value "56"; + } + enum "hippiInterface" { + value "57"; + } + enum "frameRelayInterconnect" { + value "58"; + } + enum "aflane8023" { + value "59"; + } + enum "aflane8025" { + value "60"; + } + enum "cctEmul" { + value "61"; + } + enum "fastEther" { + value "62"; + } + enum "isdn" { + value "63"; + } + enum "v11" { + value "64"; + } + enum "v36" { + value "65"; + } + enum "g703at64k" { + value "66"; + } + enum "g703at2mb" { + value "67"; + } + enum "qllc" { + value "68"; + } + enum "fastEtherFX" { + value "69"; + } + enum "channel" { + value "70"; + } + enum "ieee80211" { + value "71"; + } + enum "ibm370parChan" { + value "72"; + } + enum "escon" { + value "73"; + } + enum "dlsw" { + value "74"; + } + enum "isdns" { + value "75"; + } + enum "isdnu" { + value "76"; + } + enum "lapd" { + value "77"; + } + enum "ipSwitch" { + value "78"; + } + enum "rsrb" { + value "79"; + } + enum "atmLogical" { + value "80"; + } + enum "ds0" { + value "81"; + } + enum "ds0Bundle" { + value "82"; + } + enum "bsc" { + value "83"; + } + enum "async" { + value "84"; + } + enum "cnr" { + value "85"; + } + enum "iso88025Dtr" { + value "86"; + } + enum "eplrs" { + value "87"; + } + enum "arap" { + value "88"; + } + enum "propCnls" { + value "89"; + } + enum "hostPad" { + value "90"; + } + enum "termPad" { + value "91"; + } + enum "frameRelayMPI" { + value "92"; + } + enum "x213" { + value "93"; + } + enum "adsl" { + value "94"; + } + enum "radsl" { + value "95"; + } + enum "sdsl" { + value "96"; + } + enum "vdsl" { + value "97"; + } + enum "iso88025CRFPInt" { + value "98"; + } + enum "myrinet" { + value "99"; + } + enum "voiceEM" { + value "100"; + } + enum "voiceFXO" { + value "101"; + } + enum "voiceFXS" { + value "102"; + } + enum "voiceEncap" { + value "103"; + } + enum "voiceOverIp" { + value "104"; + } + enum "atmDxi" { + value "105"; + } + enum "atmFuni" { + value "106"; + } + enum "atmIma" { + value "107"; + } + enum "pppMultilinkBundle" { + value "108"; + } + enum "ipOverCdlc" { + value "109"; + } + enum "ipOverClaw" { + value "110"; + } + enum "stackToStack" { + value "111"; + } + enum "virtualIpAddress" { + value "112"; + } + enum "mpc" { + value "113"; + } + enum "ipOverAtm" { + value "114"; + } + enum "iso88025Fiber" { + value "115"; + } + enum "tdlc" { + value "116"; + } + enum "gigabitEthernet" { + value "117"; + } + enum "hdlc" { + value "118"; + } + enum "lapf" { + value "119"; + } + enum "v37" { + value "120"; + } + enum "x25mlp" { + value "121"; + } + enum "x25huntGroup" { + value "122"; + } + enum "trasnpHdlc" { + value "123"; + } + enum "interleave" { + value "124"; + } + enum "fast" { + value "125"; + } + enum "ip" { + value "126"; + } + enum "docsCableMaclayer" { + value "127"; + } + enum "docsCableDownstream" { + value "128"; + } + enum "docsCableUpstream" { + value "129"; + } + enum "a12MppSwitch" { + value "130"; + } + enum "tunnel" { + value "131"; + } + enum "coffee" { + value "132"; + } + enum "ces" { + value "133"; + } + enum "atmSubInterface" { + value "134"; + } + enum "l2vlan" { + value "135"; + } + enum "l3ipvlan" { + value "136"; + } + enum "l3ipxvlan" { + value "137"; + } + enum "digitalPowerline" { + value "138"; + } + enum "mediaMailOverIp" { + value "139"; + } + enum "dtm" { + value "140"; + } + enum "dcn" { + value "141"; + } + enum "ipForward" { + value "142"; + } + enum "msdsl" { + value "143"; + } + enum "ieee1394" { + value "144"; + } + enum "if-gsn" { + value "145"; + } + enum "dvbRccMacLayer" { + value "146"; + } + enum "dvbRccDownstream" { + value "147"; + } + enum "dvbRccUpstream" { + value "148"; + } + enum "atmVirtual" { + value "149"; + } + enum "mplsTunnel" { + value "150"; + } + enum "srp" { + value "151"; + } + enum "voiceOverAtm" { + value "152"; + } + enum "voiceOverFrameRelay" { + value "153"; + } + enum "idsl" { + value "154"; + } + enum "compositeLink" { + value "155"; + } + enum "ss7SigLink" { + value "156"; + } + enum "propWirelessP2P" { + value "157"; + } + enum "frForward" { + value "158"; + } + enum "rfc1483" { + value "159"; + } + enum "usb" { + value "160"; + } + enum "ieee8023adLag" { + value "161"; + } + enum "bgppolicyaccounting" { + value "162"; + } + enum "frf16MfrBundle" { + value "163"; + } + enum "h323Gatekeeper" { + value "164"; + } + enum "h323Proxy" { + value "165"; + } + enum "mpls" { + value "166"; + } + enum "mfSigLink" { + value "167"; + } + enum "hdsl2" { + value "168"; + } + enum "shdsl" { + value "169"; + } + enum "ds1FDL" { + value "170"; + } + enum "pos" { + value "171"; + } + enum "dvbAsiIn" { + value "172"; + } + enum "dvbAsiOut" { + value "173"; + } + enum "plc" { + value "174"; + } + enum "nfas" { + value "175"; + } + enum "tr008" { + value "176"; + } + enum "gr303RDT" { + value "177"; + } + enum "gr303IDT" { + value "178"; + } + enum "isup" { + value "179"; + } + enum "propDocsWirelessMaclayer" { + value "180"; + } + enum "propDocsWirelessDownstream" { + value "181"; + } + enum "propDocsWirelessUpstream" { + value "182"; + } + enum "hiperlan2" { + value "183"; + } + enum "propBWAp2Mp" { + value "184"; + } + enum "sonetOverheadChannel" { + value "185"; + } + enum "digitalWrapperOverheadChannel" { + value "186"; + } + enum "aal2" { + value "187"; + } + enum "radioMAC" { + value "188"; + } + enum "atmRadio" { + value "189"; + } + enum "imt" { + value "190"; + } + enum "mvl" { + value "191"; + } + enum "reachDSL" { + value "192"; + } + enum "frDlciEndPt" { + value "193"; + } + enum "atmVciEndPt" { + value "194"; + } + enum "opticalChannel" { + value "195"; + } + enum "opticalTransport" { + value "196"; + } + enum "propAtm" { + value "197"; + } + enum "voiceOverCable" { + value "198"; + } + enum "infiniband" { + value "199"; + } + enum "teLink" { + value "200"; + } + enum "q2931" { + value "201"; + } + enum "virtualTg" { + value "202"; + } + enum "sipTg" { + value "203"; + } + enum "sipSig" { + value "204"; + } + enum "docsCableUpstreamChannel" { + value "205"; + } + enum "econet" { + value "206"; + } + enum "pon155" { + value "207"; + } + enum "pon622" { + value "208"; + } + enum "bridge" { + value "209"; + } + enum "linegroup" { + value "210"; + } + enum "voiceEMFGD" { + value "211"; + } + enum "voiceFGDEANA" { + value "212"; + } + enum "voiceDID" { + value "213"; + } + enum "mpegTransport" { + value "214"; + } + enum "sixToFour" { + value "215"; + } + enum "gtp" { + value "216"; + } + enum "pdnEtherLoop1" { + value "217"; + } + enum "pdnEtherLoop2" { + value "218"; + } + enum "opticalChannelGroup" { + value "219"; + } + enum "homepna" { + value "220"; + } + enum "gfp" { + value "221"; + } + enum "ciscoISLvlan" { + value "222"; + } + enum "actelisMetaLOOP" { + value "223"; + } + enum "fcipLink" { + value "224"; + } + enum "rpr" { + value "225"; + } + enum "qam" { + value "226"; + } + enum "lmp" { + value "227"; + } + enum "cblVectaStar" { + value "228"; + } + enum "docsCableMCmtsDownstream" { + value "229"; + } + enum "adsl2" { + value "230"; + } + enum "macSecControlledIF" { + value "231"; + } + enum "macSecUncontrolledIF" { + value "232"; + } + enum "aviciOpticalEther" { + value "233"; + } + enum "atmbond" { + value "234"; + } + enum "voiceFGDOS" { + value "235"; + } + enum "mocaVersion1" { + value "236"; + } + enum "ieee80216WMAN" { + value "237"; + } + enum "adsl2plus" { + value "238"; + } + enum "dvbRcsMacLayer" { + value "239"; + } + enum "dvbTdm" { + value "240"; + } + enum "dvbRcsTdma" { + value "241"; + } + enum "x86Laps" { + value "242"; + } + enum "wwanPP" { + value "243"; + } + enum "wwanPP2" { + value "244"; + } + enum "voiceEBS" { + value "245"; + } + enum "ifPwType" { + value "246"; + } + enum "ilan" { + value "247"; + } + enum "pip" { + value "248"; + } + enum "aluELP" { + value "249"; + } + enum "gpon" { + value "250"; + } + enum "vdsl2" { + value "251"; + } + enum "capwapDot11Profile" { + value "252"; + } + enum "capwapDot11Bss" { + value "253"; + } + enum "capwapWtpVirtualRadio" { + value "254"; + } + enum "bits" { + value "255"; + } + enum "docsCableUpstreamRfPort" { + value "256"; + } + enum "cableDownstreamRfPort" { + value "257"; + } + enum "vmwareVirtualNic" { + value "258"; + } + enum "ieee802154" { + value "259"; + } + enum "otnOdu" { + value "260"; + } + enum "otnOtu" { + value "261"; + } + enum "ifVfiType" { + value "262"; + } + enum "g9981" { + value "263"; + } + enum "g9982" { + value "264"; + } + enum "g9983" { + value "265"; + } + enum "aluEpon" { + value "266"; + } + enum "aluEponOnu" { + value "267"; + } + enum "aluEponPhysicalUni" { + value "268"; + } + enum "aluEponLogicalLink" { + value "269"; + } + enum "aluGponOnu" { + value "270"; + } + enum "aluGponPhysicalUni" { + value "271"; + } + enum "vmwareNicTeam" { + value "272"; + } + enum "docsOfdmDownstream" { + value "277"; + } + enum "docsOfdmaUpstream" { + value "278"; + } + enum "gfast" { + value "279"; + } + enum "sdci" { + value "280"; + } + enum "xboxWireless" { + value "281"; + } + enum "fastdsl" { + value "282"; + } + enum "docsCableScte55d1FwdOob" { + value "283"; + } + enum "docsCableScte55d1RetOob" { + value "284"; + } + enum "docsCableScte55d2DsOob" { + value "285"; + } + enum "docsCableScte55d2UsOob" { + value "286"; + } + enum "docsCableNdf" { + value "287"; + } + enum "docsCableNdr" { + value "288"; + } + } + description + "This data type is used as the syntax of the ifType + object in the (updated) definition of MIB-II's + ifTable. + + The definition of this textual convention with the + addition of newly assigned values is published + periodically by the IANA, in either the Assigned + Numbers RFC, or some derivative of it specific to + Internet Network Management number assignments. (The + latest arrangements can be obtained by contacting the + IANA.) + + Requests for new values should be made to IANA via + email (iana@iana.org). + + The relationship between the assignment of ifType + values and of OIDs to particular media-specific MIBs + is solely the purview of IANA and is subject to change + without notice. Quite often, a media-specific MIB's + OID-subtree assignment within MIB-II's 'transmission' + subtree will be the same as its ifType value. + However, in some circumstances this will not be the + case, and implementors must not pre-assume any + specific relationship between ifType values and + transmission subtree OIDs."; + } + + typedef IANAtunnelType { + type enumeration { + enum "other" { + value "1"; + } + enum "direct" { + value "2"; + } + enum "gre" { + value "3"; + } + enum "minimal" { + value "4"; + } + enum "l2tp" { + value "5"; + } + enum "pptp" { + value "6"; + } + enum "l2f" { + value "7"; + } + enum "udp" { + value "8"; + } + enum "atmp" { + value "9"; + } + enum "msdp" { + value "10"; + } + enum "sixToFour" { + value "11"; + } + enum "sixOverFour" { + value "12"; + } + enum "isatap" { + value "13"; + } + enum "teredo" { + value "14"; + } + } + description + "The encapsulation method used by a tunnel. The value + direct indicates that a packet is encapsulated + directly within a normal IP header, with no + intermediate header, and unicast to the remote tunnel + endpoint (e.g., an RFC 2003 IP-in-IP tunnel, or an RFC + 1933 IPv6-in-IPv4 tunnel). The value minimal indicates + that a Minimal Forwarding Header (RFC 2004) is + inserted between the outer header and the payload + packet. The value UDP indicates that the payload + packet is encapsulated within a normal UDP packet + (e.g., RFC 1234). + + The values sixToFour, sixOverFour, and isatap + indicates that an IPv6 packet is encapsulated directly + within an IPv4 header, with no intermediate header, + and unicast to the destination determined by the 6to4, + 6over4, or ISATAP protocol. + + The remaining protocol-specific values indicate that a + header of the protocol of that name is inserted + between the outer header and the payload header. + + The assignment policy for IANAtunnelType values is + identical to the policy for assigning IANAifType + values."; + } + + smiv2:alias "ianaifType" { + smiv2:oid "1.3.6.1.2.1.30"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IEEE8021-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/IEEE8021-TC-MIB.yang new file mode 100644 index 000000000..4d42f0401 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IEEE8021-TC-MIB.yang @@ -0,0 +1,464 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IEEE8021-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IEEE8021-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IEEE8021-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB"; + prefix IEEE8021-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IEEE 802.1 Working Group"; + + contact + " WG-URL: http://grouper.ieee.org/groups/802/1/index.html + WG-EMail: stds-802-1@ieee.org + + Contact: David Levi + Postal: 4655 GREAT AMERICA PARKWAY + SANTA CLARA, CALIFORNIA + 95054 + USA + Tel: +1-408-495-5138 + E-mail: dlevi@nortel.com"; + + description + "Textual conventions used throughout the various IEEE 802.1 MIB + modules. + + Unless otherwise indicated, the references in this MIB + module are to IEEE 802.1Q-2005 as amended by IEEE 802.1ad, + IEEE 802.1ak, IEEE 802.1ag and IEEE 802.1ah. + + Copyright (C) IEEE. + This version of this MIB module is part of IEEE802.1Q; + see the draft itself for full legal notices."; + + revision 2008-10-15 { + description + "Initial version."; + } + + typedef IEEE8021PbbComponentIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "The component identifier is used to distinguish between the + multiple virtual bridge instances within a PB or PBB. Each + virtual bridge instance is called a component. In simple + situations where there is only a single component the default + value is 1. The component is identified by a component + identifier unique within the BEB and by a MAC address unique + within the PBBN. Each component is associated with a Backbone + Edge Bridge (BEB) Configuration managed object."; + reference + "12.3 l)"; + smiv2:display-hint "d"; + } + + typedef IEEE8021PbbComponentIdentifierOrZero { + type uint32 { + range "0..4294967295"; + } + description + "The component identifier is used to distinguish between the + multiple virtual bridge instances within a PB or PBB. In simple + situations where there is only a single component the default + value is 1. The component is identified by a component + identifier unique within the BEB and by a MAC address unique + within the PBBN. Each component is associated with a Backbone + Edge Bridge (BEB) Configuration managed object. + + The special value '0' means 'no component identifier'. When + this TC is used as the SYNTAX of an object, that object must + specify the its exact meaning for this value."; + reference + "12.3 l)"; + smiv2:display-hint "d"; + } + + typedef IEEE8021PbbServiceIdentifier { + type uint32 { + range "256..16777214"; + } + description + "The service instance identifier is used at the Customer + Backbone Port of a PBB to distinguish a service instance + (Local-SID). If the Local-SID field is supported, it is + used to perform a bidirectional 1:1 mapping between the + Backbone I-SID and the Local-SID. If the Local-SID field + is not supported, the Local-SID value is the same as the + Backbone I-SID value."; + reference + "12.16.3, 12.16.5"; + smiv2:display-hint "d"; + } + + typedef IEEE8021PbbServiceIdentifierOrUnassigned { + type uint32 { + range "1|256..16777214"; + } + description + "The service instance identifier is used at the Customer + Backbone Port of a PBB to distinguish a service instance + (Local-SID). If the Local-SID field is supported, it is + used to perform a bidirectional 1:1 mapping between the + Backbone I-SID and the Local-SID. If the Local-SID field + is not supported, the Local-SID value is the same as the + Backbone I-SID value. + + The special value of 1 indicates an unassigned I-SID."; + reference + "12.16.3, 12.16.5"; + smiv2:display-hint "d"; + } + + typedef IEEE8021PbbIngressEgress { + type bits { + bit ingress { + position "0"; + } + bit egress { + position "1"; + } + } + description + "A 2 bit selector which determines if frames on this VIP may + ingress to the PBBN but not egress the PBBN, egress to the + PBBN but not ingress the PBBN, or both ingress and egress + the PBBN."; + reference + "12.16.3, 12.16.5, 12.16.6"; + } + + typedef IEEE8021PriorityCodePoint { + type enumeration { + enum "codePoint8p0d" { + value "1"; + } + enum "codePoint7p1d" { + value "2"; + } + enum "codePoint6p2d" { + value "3"; + } + enum "codePoint5p3d" { + value "4"; + } + } + description + "Bridge ports may encode or decode the PCP value of the + frames that traverse the port. This textual convention + names the possible encoding and decoding schemes that + the port may use. The priority and drop_eligible + parameters are encoded in the Priority Code Point (PCP) + field of the VLAN tag using the Priority Code Point + Encoding Table for the Port, and they are decoded from + the PCP using the Priority Code Point Decoding Table."; + reference + "12.6.2.6"; + } + + typedef IEEE8021BridgePortNumber { + type uint32 { + range "1..65535"; + } + description + "An integer that uniquely identifies a bridge port, as + specified in 17.3.2.2 of IEEE 802.1ap. + This value is used within the spanning tree + protocol to identify this port to neighbor bridges."; + reference + "17.3.2.2"; + smiv2:display-hint "d"; + } + + typedef IEEE8021BridgePortNumberOrZero { + type uint32 { + range "0..65535"; + } + description + "An integer that uniquely identifies a bridge port, as + specified in 17.3.2.2 of IEEE 802.1ap. The value 0 + means no port number, and this must be clarified in the + DESCRIPTION clause of any object defined using this + TEXTUAL-CONVENTION."; + reference + "17.3.2.2"; + smiv2:display-hint "d"; + } + + typedef IEEE8021BridgePortType { + type enumeration { + enum "none" { + value "1"; + } + enum "customerVlanPort" { + value "2"; + } + enum "providerNetworkPort" { + value "3"; + } + enum "customerNetworkPort" { + value "4"; + } + enum "customerEdgePort" { + value "5"; + } + enum "customerBackbonePort" { + value "6"; + } + enum "virtualInstancePort" { + value "7"; + } + enum "dBridgePort" { + value "8"; + } + } + description + "A port type. The possible port types are: + + customerVlanPort(2) - Indicates a port is a C-tag + aware port of an enterprise VLAN aware bridge. + + providerNetworkPort(3) - Indicates a port is an S-tag + aware port of a Provider Bridge or Backbone Edge + Bridge used for connections within a PBN or PBBN. + + customerNetworkPort(4) - Indicates a port is an S-tag + aware port of a Provider Bridge or Backbone Edge + Bridge used for connections to the exterior of a + PBN or PBBN. + + customerEdgePort(5) - Indicates a port is a C-tag + aware port of a Provider Bridge used for connections + to the exterior of a PBN or PBBN. + + customerBackbonePort(6) - Indicates a port is a I-tag + aware port of a Backbone Edge Bridge's B-component. + + virtualInstancePort(7) - Indicates a port is a virtual + S-tag aware port within a Backbone Edge Bridge's + I-component which is responsible for handling + S-tagged traffic for a specific backbone service + instance. + + dBridgePort(8) - Indicates a port is a VLAN-unaware + member of an 802.1D bridge."; + reference + "12.16.1.1.3 h4), 12.16.2.1/2, + 12.13.1.1, 12.13.1.2, 12.15.2.1, 12.15.2.2"; + } + + typedef IEEE8021VlanIndex { + type uint32 { + range "1..4094|4096..4294967295"; + } + description + "A value used to index per-VLAN tables: values of 0 and + 4095 are not permitted. If the value is between 1 and + 4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with + global scope within a given bridged domain (see VlanId + textual convention). If the value is greater than 4095, + then it represents a VLAN with scope local to the + particular agent, i.e., one without a global VLAN-ID + assigned to it. Such VLANs are outside the scope of + IEEE 802.1Q, but it is convenient to be able to manage them + in the same way using this MIB."; + reference + "9.6"; + smiv2:display-hint "d"; + } + + typedef IEEE8021VlanIndexOrWildcard { + type uint32 { + range "1..4294967295"; + } + description + "A value used to index per-VLAN tables. The value 0 is not + permitted, while the value 4095 represents a 'wildcard' + value. An object whose SYNTAX is IEEE8021VlanIndexOrWildcard + must specify in its DESCRIPTION the specific meaning of the + wildcard value. If the value is between 1 and + 4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with + global scope within a given bridged domain (see VlanId + textual convention). If the value is greater than 4095, + then it represents a VLAN with scope local to the + particular agent, i.e., one without a global VLAN-ID + assigned to it. Such VLANs are outside the scope of + IEEE 802.1Q, but it is convenient to be able to manage them + in the same way using this MIB."; + reference + "9.6"; + smiv2:display-hint "d"; + } + + typedef IEEE8021MstIdentifier { + type uint32 { + range "1..4094"; + } + description + "In an MSTP Bridge, an MSTID, i.e., a value used to identify + a spanning tree (or MST) instance."; + smiv2:display-hint "d"; + } + + typedef IEEE8021ServiceSelectorType { + type enumeration { + enum "vlanId" { + value "1"; + } + enum "isid" { + value "2"; + } + } + description + "A value that represents a type (and thereby the format) + of a IEEE8021ServiceSelectorValue. The value can be one of + the following: + + ieeeReserved(0) Reserved for definition by IEEE 802.1 + recommend to not use zero unless + absolutely needed. + vlanId(1) 12-Bit identifier as described in IEEE802.1Q. + isid(2) 20-Bit identifier as described in IEEE802.1ah. + ieeeReserved(xx) Reserved for definition by IEEE 802.1 + xx values can be [3..7]. + + To support future extensions, the IEEE8021ServiceSelectorType + textual convention SHOULD NOT be sub-typed in object type + definitions. It MAY be sub-typed in compliance statements in + order to require only a subset of these address types for a + compliant implementation. + + Implementations MUST ensure that IEEE8021ServiceSelectorType + objects and any dependent objects (e.g., + IEEE8021ServiceSelectorValue objects) are consistent. An + inconsistentValue error MUST be generated if an attempt to + change an IEEE8021ServiceSelectorType object would, for + example, lead to an undefined IEEE8021ServiceSelectorValue value."; + } + + typedef IEEE8021ServiceSelectorValueOrNone { + type uint32 { + range "0..4294967295"; + } + description + "An integer that uniquely identifies a generic MAC service, + or none. Examples of service selectors are a VLAN-ID + (IEEE 802.1Q) and an I-SID (IEEE 802.1ah). + + An IEEE8021ServiceSelectorValueOrNone value is always + interpreted within the context of an + IEEE8021ServiceSelectorType value. Every usage of the + IEEE8021ServiceSelectorValueOrNone textual convention is + required to specify the IEEE8021ServiceSelectorType object + that provides the context. It is suggested that the + IEEE8021ServiceSelectorType object be logically registered + before the object(s) that use the + IEEE8021ServiceSelectorValueOrNone textual convention, if + they appear in the same logical row. + + The value of an IEEE8021ServiceSelectorValueOrNone object + must always be consistent with the value of the associated + IEEE8021ServiceSelectorType object. Attempts to set an + IEEE8021ServiceSelectorValueOrNone object to a value + inconsistent with the associated + IEEE8021ServiceSelectorType must fail with an + inconsistentValue error. + + The special value of zero is used to indicate that no + service selector is present or used. This can be used in + any situation where an object or a table entry MUST either + refer to a specific service, or not make a selection. + + Note that a MIB object that is defined using this + TEXTUAL-CONVENTION SHOULD clarify the meaning of + 'no service' (i.e., the special value 0), as well as the + maximum value (i.e., 4094, for a VLAN ID)."; + smiv2:display-hint "d"; + } + + typedef IEEE8021ServiceSelectorValue { + type uint32 { + range "1..4294967295"; + } + description + "An integer that uniquely identifies a generic MAC service. + Examples of service selectors are a VLAN-ID (IEEE 802.1Q) + and an I-SID (IEEE 802.1ah). + + An IEEE8021ServiceSelectorValue value is always interpreted + within the context of an IEEE8021ServiceSelectorType value. + Every usage of the IEEE8021ServiceSelectorValue textual + convention is required to specify the + IEEE8021ServiceSelectorType object that provides the context. + It is suggested that the IEEE8021ServiceSelectorType object + be logically registered before the object(s) that use the + IEEE8021ServiceSelectorValue textual convention, if they + appear in the same logical row. + + The value of an IEEE8021ServiceSelectorValue object must + always be consistent with the value of the associated + IEEE8021ServiceSelectorType object. Attempts to set an + IEEE8021ServiceSelectorValue object to a value inconsistent + with the associated IEEE8021ServiceSelectorType must fail + with an inconsistentValue error. + + Note that a MIB object that is defined using this + TEXTUAL-CONVENTION SHOULD clarify the + maximum value (i.e., 4094, for a VLAN ID)."; + smiv2:display-hint "d"; + } + + typedef IEEE8021PortAcceptableFrameTypes { + type enumeration { + enum "admitAll" { + value "1"; + } + enum "admitUntaggedAndPriority" { + value "2"; + } + enum "admitTagged" { + value "3"; + } + } + description + "Acceptable frame types on a port."; + reference + "12.10.1.3, 12.13.3.3, 12.13.3.4"; + } + + typedef IEEE8021PriorityValue { + type uint32 { + range "0..7"; + } + description + "An 802.1Q user priority value."; + reference + "12.13.3.3"; + smiv2:display-hint "d"; + } + + smiv2:alias "ieee802dot1mibs" { + smiv2:oid "1.3.111.2.802.1.1"; + } + + smiv2:alias "ieee8021TcMib" { + smiv2:oid "1.3.111.2.802.1.1.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IF-MIB.yang b/vendor/cisco/xe/17151/MIBS/IF-MIB.yang new file mode 100644 index 000000000..ac124ceb8 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IF-MIB.yang @@ -0,0 +1,1454 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IF-MIB"; + prefix IF-MIB; + + import IANAifType-MIB { + prefix "ianaiftype-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Interfaces MIB Working Group"; + + contact + " Keith McCloghrie + Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + US + + 408-526-5260 + kzm@cisco.com"; + + description + "The MIB module to describe generic objects for network + interface sub-layers. This MIB is an updated version of + MIB-II's ifTable, and incorporates the extensions defined in + RFC 1229."; + + revision 2000-06-14 { + description + "Clarifications agreed upon by the Interfaces MIB WG, and + published as RFC 2863."; + } + + revision 1996-02-28 { + description + "Revisions made by the Interfaces MIB WG, and published in + RFC 2233."; + } + + revision 1993-11-08 { + description + "Initial revision, published as part of RFC 1573."; + } + + typedef OwnerString { + type string; + status deprecated; + description + "This data type is used to model an administratively + assigned name of the owner of a resource. This information + is taken from the NVT ASCII character set. It is suggested + that this name contain one or more of the following: ASCII + form of the manager station's transport address, management + station name (e.g., domain name), network management + personnel's name, location, or phone number. In some cases + the agent itself will be the owner of an entry. In these + cases, this string shall be set to a string starting with + 'agent'."; + smiv2:display-hint "255a"; + } + + typedef InterfaceIndex { + type int32 { + range "1..2147483647"; + } + description + "A unique value, greater than zero, for each interface or + interface sub-layer in the managed system. It is + recommended that values are assigned contiguously starting + from 1. The value for each interface sub-layer must remain + constant at least from one re-initialization of the entity's + network management system to the next re-initialization."; + smiv2:display-hint "d"; + } + + typedef InterfaceIndexOrZero { + type int32 { + range "0..2147483647"; + } + description + "This textual convention is an extension of the + InterfaceIndex convention. The latter defines a greater + than zero value used to identify an interface or interface + sub-layer in the managed system. This extension permits the + additional value of zero. the value zero is object-specific + and must therefore be defined as part of the description of + any object which uses this syntax. Examples of the usage of + zero might include situations where interface was unknown, + or when none or all interfaces need to be referenced."; + smiv2:display-hint "d"; + } + + + container IF-MIB { + config false; + + container interfaces { + smiv2:oid "1.3.6.1.2.1.2"; + + leaf ifNumber { + type int32; + description + "The number of network interfaces (regardless of their + current state) present on this system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.1"; + } + } + + container ifMIBObjects { + smiv2:oid "1.3.6.1.2.1.31.1"; + + leaf ifTableLastChange { + type yang:timeticks; + description + "The value of sysUpTime at the time of the last creation or + deletion of an entry in the ifTable. If the number of + entries has been unchanged since the last re-initialization + of the local network management subsystem, then this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.5"; + } + + leaf ifStackLastChange { + type yang:timeticks; + description + "The value of sysUpTime at the time of the last change of + the (whole) interface stack. A change of the interface + stack is defined to be any creation, deletion, or change in + value of any instance of ifStackStatus. If the interface + stack has been unchanged since the last re-initialization of + the local network management subsystem, then this object + contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.6"; + } + } + + container ifTable { + description + "A list of interface entries. The number of entries is + given by the value of ifNumber."; + smiv2:oid "1.3.6.1.2.1.2.2"; + + list ifEntry { + key "ifIndex"; + description + "An entry containing management information applicable to a + particular interface."; + smiv2:oid "1.3.6.1.2.1.2.2.1"; + + leaf ifIndex { + type IF-MIB:InterfaceIndex; + description + "A unique value, greater than zero, for each interface. It + is recommended that values are assigned contiguously + starting from 1. The value for each interface sub-layer + must remain constant at least from one re-initialization of + the entity's network management system to the next re- + initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.1"; + } + + leaf ifDescr { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "A textual string containing information about the + interface. This string should include the name of the + manufacturer, the product name and the version of the + interface hardware/software."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.2"; + } + + leaf ifType { + type ianaiftype-mib:IANAifType; + description + "The type of interface. Additional values for ifType are + assigned by the Internet Assigned Numbers Authority (IANA), + through updating the syntax of the IANAifType textual + convention."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.3"; + } + + leaf ifMtu { + type int32; + description + "The size of the largest packet which can be sent/received + on the interface, specified in octets. For interfaces that + are used for transmitting network datagrams, this is the + size of the largest network datagram that can be sent on the + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.4"; + } + + leaf ifSpeed { + type yang:gauge32; + description + "An estimate of the interface's current bandwidth in bits + per second. For interfaces which do not vary in bandwidth + or for those where no accurate estimation can be made, this + object should contain the nominal bandwidth. If the + bandwidth of the interface is greater than the maximum value + reportable by this object then this object should report its + maximum value (4,294,967,295) and ifHighSpeed must be used + to report the interace's speed. For a sub-layer which has + no concept of bandwidth, this object should be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.5"; + } + + leaf ifPhysAddress { + type yang:phys-address; + description + "The interface's address at its protocol sub-layer. For + example, for an 802.x interface, this object normally + contains a MAC address. The interface's media-specific MIB + must define the bit and byte ordering and the format of the + value of this object. For interfaces which do not have such + an address (e.g., a serial line), this object should contain + an octet string of zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.6"; + } + + leaf ifAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "The desired state of the interface. The testing(3) state + indicates that no operational packets can be passed. When a + managed system initializes, all interfaces start with + ifAdminStatus in the down(2) state. As a result of either + explicit management action or per configuration information + retained by the managed system, ifAdminStatus is then + changed to either the up(1) or testing(3) states (or remains + in the down(2) state)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.2.2.1.7"; + } + + leaf ifOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + enum "unknown" { + value "4"; + } + enum "dormant" { + value "5"; + } + enum "notPresent" { + value "6"; + } + enum "lowerLayerDown" { + value "7"; + } + } + description + "The current operational state of the interface. The + testing(3) state indicates that no operational packets can + be passed. If ifAdminStatus is down(2) then ifOperStatus + should be down(2). If ifAdminStatus is changed to up(1) + then ifOperStatus should change to up(1) if the interface is + ready to transmit and receive network traffic; it should + change to dormant(5) if the interface is waiting for + external actions (such as a serial line waiting for an + incoming connection); it should remain in the down(2) state + if and only if there is a fault that prevents it from going + to the up(1) state; it should remain in the notPresent(6) + state if the interface has missing (typically, hardware) + components."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.8"; + } + + leaf ifLastChange { + type yang:timeticks; + description + "The value of sysUpTime at the time the interface entered + its current operational state. If the current state was + entered prior to the last re-initialization of the local + network management subsystem, then this object contains a + zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.9"; + } + + leaf ifInOctets { + type yang:counter32; + description + "The total number of octets received on the interface, + including framing characters. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.10"; + } + + leaf ifInUcastPkts { + type yang:counter32; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were not addressed to a multicast + or broadcast address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.11"; + } + + leaf ifInNUcastPkts { + type yang:counter32; + status deprecated; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast or + broadcast address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime. + + This object is deprecated in favour of ifInMulticastPkts and + ifInBroadcastPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.12"; + } + + leaf ifInDiscards { + type yang:counter32; + description + "The number of inbound packets which were chosen to be + discarded even though no errors had been detected to prevent + their being deliverable to a higher-layer protocol. One + possible reason for discarding such a packet could be to + free up buffer space. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.13"; + } + + leaf ifInErrors { + type yang:counter32; + description + "For packet-oriented interfaces, the number of inbound + packets that contained errors preventing them from being + deliverable to a higher-layer protocol. For character- + oriented or fixed-length interfaces, the number of inbound + transmission units that contained errors preventing them + from being deliverable to a higher-layer protocol. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.14"; + } + + leaf ifInUnknownProtos { + type yang:counter32; + description + "For packet-oriented interfaces, the number of packets + received via the interface which were discarded because of + an unknown or unsupported protocol. For character-oriented + or fixed-length interfaces that support protocol + multiplexing the number of transmission units received via + the interface which were discarded because of an unknown or + unsupported protocol. For any interface that does not + support protocol multiplexing, this counter will always be + 0. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.15"; + } + + leaf ifOutOctets { + type yang:counter32; + description + "The total number of octets transmitted out of the + interface, including framing characters. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.16"; + } + + leaf ifOutUcastPkts { + type yang:counter32; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were not addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.17"; + } + + leaf ifOutNUcastPkts { + type yang:counter32; + status deprecated; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime. + + This object is deprecated in favour of ifOutMulticastPkts + and ifOutBroadcastPkts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.18"; + } + + leaf ifOutDiscards { + type yang:counter32; + description + "The number of outbound packets which were chosen to be + discarded even though no errors had been detected to prevent + their being transmitted. One possible reason for discarding + such a packet could be to free up buffer space. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.19"; + } + + leaf ifOutErrors { + type yang:counter32; + description + "For packet-oriented interfaces, the number of outbound + packets that could not be transmitted because of errors. + For character-oriented or fixed-length interfaces, the + number of outbound transmission units that could not be + transmitted because of errors. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.20"; + } + + leaf ifOutQLen { + type yang:gauge32; + status deprecated; + description + "The length of the output packet queue (in packets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.21"; + } + + leaf ifSpecific { + type yang:object-identifier-128; + status deprecated; + description + "A reference to MIB definitions specific to the particular + media being used to realize the interface. It is + recommended that this value point to an instance of a MIB + object in the media-specific MIB, i.e., that this object + have the semantics associated with the InstancePointer + textual convention defined in RFC 2579. In fact, it is + recommended that the media-specific MIB specify what value + ifSpecific should/can take for values of ifType. If no MIB + definitions specific to the particular media are available, + the value should be set to the OBJECT IDENTIFIER { 0 0 }."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.22"; + } + } + } + + container ifStackTable { + description + "The table containing information on the relationships + between the multiple sub-layers of network interfaces. In + particular, it contains information on which sub-layers run + 'on top of' which other sub-layers, where each sub-layer + corresponds to a conceptual row in the ifTable. For + example, when the sub-layer with ifIndex value x runs over + the sub-layer with ifIndex value y, then this table + contains: + + ifStackStatus.x.y=active + + For each ifIndex value, I, which identifies an active + interface, there are always at least two instantiated rows + in this table associated with I. For one of these rows, I + is the value of ifStackHigherLayer; for the other, I is the + value of ifStackLowerLayer. (If I is not involved in + multiplexing, then these are the only two rows associated + with I.) + + For example, two rows exist even for an interface which has + no others stacked on top or below it: + + ifStackStatus.0.x=active + ifStackStatus.x.0=active "; + smiv2:oid "1.3.6.1.2.1.31.1.2"; + + list ifStackEntry { + key "ifStackHigherLayer ifStackLowerLayer"; + description + "Information on a particular relationship between two sub- + layers, specifying that one sub-layer runs on 'top' of the + other sub-layer. Each sub-layer corresponds to a conceptual + row in the ifTable."; + smiv2:oid "1.3.6.1.2.1.31.1.2.1"; + + leaf ifStackHigherLayer { + type IF-MIB:InterfaceIndexOrZero; + description + "The value of ifIndex corresponding to the higher sub-layer + of the relationship, i.e., the sub-layer which runs on 'top' + of the sub-layer identified by the corresponding instance of + ifStackLowerLayer. If there is no higher sub-layer (below + the internetwork layer), then this object has the value 0."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.31.1.2.1.1"; + } + + leaf ifStackLowerLayer { + type IF-MIB:InterfaceIndexOrZero; + description + "The value of ifIndex corresponding to the lower sub-layer + of the relationship, i.e., the sub-layer which runs 'below' + the sub-layer identified by the corresponding instance of + ifStackHigherLayer. If there is no lower sub-layer, then + this object has the value 0."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.31.1.2.1.2"; + } + + leaf ifStackStatus { + type snmpv2-tc:RowStatus; + description + "The status of the relationship between two sub-layers. + + Changing the value of this object from 'active' to + 'notInService' or 'destroy' will likely have consequences up + and down the interface stack. Thus, write access to this + object is likely to be inappropriate for some types of + interfaces, and many implementations will choose not to + support write-access for any type of interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.2.1.3"; + } + } + } + + container ifRcvAddressTable { + description + "This table contains an entry for each address (broadcast, + multicast, or uni-cast) for which the system will receive + packets/frames on a particular interface, except as follows: + + - for an interface operating in promiscuous mode, entries + are only required for those addresses for which the system + would receive frames were it not operating in promiscuous + mode. + + - for 802.5 functional addresses, only one entry is + required, for the address which has the functional address + bit ANDed with the bit mask of all functional addresses for + which the interface will accept frames. + + A system is normally able to use any unicast address which + corresponds to an entry in this table as a source address."; + smiv2:oid "1.3.6.1.2.1.31.1.4"; + + list ifRcvAddressEntry { + key "ifIndex ifRcvAddressAddress"; + description + "A list of objects identifying an address for which the + system will accept packets/frames on the particular + interface identified by the index value ifIndex."; + smiv2:oid "1.3.6.1.2.1.31.1.4.1"; + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + + leaf ifRcvAddressAddress { + type yang:phys-address; + description + "An address for which the system will accept packets/frames + on this entry's interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.31.1.4.1.1"; + } + + leaf ifRcvAddressStatus { + type snmpv2-tc:RowStatus; + description + "This object is used to create and delete rows in the + ifRcvAddressTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.4.1.2"; + } + + leaf ifRcvAddressType { + type enumeration { + enum "other" { + value "1"; + } + enum "volatile" { + value "2"; + } + enum "nonVolatile" { + value "3"; + } + } + description + "This object has the value nonVolatile(3) for those entries + in the table which are valid and will not be deleted by the + next restart of the managed system. Entries having the + value volatile(2) are valid and exist, but have not been + saved, so that will not exist after the next restart of the + managed system. Entries having the value other(1) are valid + and exist but are not classified as to whether they will + continue to exist after the next restart."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.4.1.3"; + } + } + } + } + + smiv2:alias "ifXTable" { + description + "A list of interface entries. The number of entries is + given by the value of ifNumber. This table contains + additional objects for the interface table."; + smiv2:oid "1.3.6.1.2.1.31.1.1"; + } + + smiv2:alias "ifXEntry" { + description + "An entry containing additional management information + applicable to a particular interface."; + smiv2:oid "1.3.6.1.2.1.31.1.1.1"; + } + + augment "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry" { + description + "An entry containing additional management information + applicable to a particular interface."; + smiv2:oid "1.3.6.1.2.1.31.1.1.1"; + + leaf ifName { + type snmpv2-tc:DisplayString; + description + "The textual name of the interface. The value of this + object should be the name of the interface as assigned by + the local device and should be suitable for use in commands + entered at the device's `console'. This might be a text + name, such as `le0' or a simple port number, such as `1', + depending on the interface naming syntax of the device. If + several entries in the ifTable together represent a single + interface as named by the device, then each will have the + same value of ifName. Note that for an agent which responds + to SNMP queries concerning an interface on some other + (proxied) device, then the value of ifName for such an + interface is the proxied device's local name for it. + + If there is no local name, or this object is otherwise not + applicable, then this object contains a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.1"; + } + + leaf ifInMulticastPkts { + type yang:counter32; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast + address at this sub-layer. For a MAC layer protocol, this + includes both Group and Functional addresses. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.2"; + } + + leaf ifInBroadcastPkts { + type yang:counter32; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a broadcast + address at this sub-layer. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.3"; + } + + leaf ifOutMulticastPkts { + type yang:counter32; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast address at this sub-layer, including those that + were discarded or not sent. For a MAC layer protocol, this + includes both Group and Functional addresses. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.4"; + } + + leaf ifOutBroadcastPkts { + type yang:counter32; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + broadcast address at this sub-layer, including those that + were discarded or not sent. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.5"; + } + + leaf ifHCInOctets { + type yang:counter64; + description + "The total number of octets received on the interface, + including framing characters. This object is a 64-bit + version of ifInOctets. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.6"; + } + + leaf ifHCInUcastPkts { + type yang:counter64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were not addressed to a multicast + or broadcast address at this sub-layer. This object is a + 64-bit version of ifInUcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.7"; + } + + leaf ifHCInMulticastPkts { + type yang:counter64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a multicast + address at this sub-layer. For a MAC layer protocol, this + includes both Group and Functional addresses. This object + is a 64-bit version of ifInMulticastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.8"; + } + + leaf ifHCInBroadcastPkts { + type yang:counter64; + description + "The number of packets, delivered by this sub-layer to a + higher (sub-)layer, which were addressed to a broadcast + address at this sub-layer. This object is a 64-bit version + of ifInBroadcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.9"; + } + + leaf ifHCOutOctets { + type yang:counter64; + description + "The total number of octets transmitted out of the + interface, including framing characters. This object is a + 64-bit version of ifOutOctets. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.10"; + } + + leaf ifHCOutUcastPkts { + type yang:counter64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were not addressed to a + multicast or broadcast address at this sub-layer, including + those that were discarded or not sent. This object is a + 64-bit version of ifOutUcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.11"; + } + + leaf ifHCOutMulticastPkts { + type yang:counter64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + multicast address at this sub-layer, including those that + were discarded or not sent. For a MAC layer protocol, this + includes both Group and Functional addresses. This object + is a 64-bit version of ifOutMulticastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.12"; + } + + leaf ifHCOutBroadcastPkts { + type yang:counter64; + description + "The total number of packets that higher-level protocols + requested be transmitted, and which were addressed to a + broadcast address at this sub-layer, including those that + were discarded or not sent. This object is a 64-bit version + of ifOutBroadcastPkts. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ifCounterDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.13"; + } + + leaf ifLinkUpDownTrapEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether linkUp/linkDown traps should be generated + for this interface. + + By default, this object should have the value enabled(1) for + interfaces which do not operate on 'top' of any other + interface (as defined in the ifStackTable), and disabled(2) + otherwise."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.14"; + } + + leaf ifHighSpeed { + type yang:gauge32; + description + "An estimate of the interface's current bandwidth in units + of 1,000,000 bits per second. If this object reports a + value of `n' then the speed of the interface is somewhere in + the range of `n-500,000' to `n+499,999'. For interfaces + which do not vary in bandwidth or for those where no + accurate estimation can be made, this object should contain + the nominal bandwidth. For a sub-layer which has no concept + of bandwidth, this object should be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.15"; + } + + leaf ifPromiscuousMode { + type boolean; + description + "This object has a value of false(2) if this interface only + accepts packets/frames that are addressed to this station. + This object has a value of true(1) when the station accepts + all packets/frames transmitted on the media. The value + true(1) is only legal on certain types of media. If legal, + setting this object to a value of true(1) may require the + interface to be reset before becoming effective. + + The value of ifPromiscuousMode does not affect the reception + of broadcast and multicast packets/frames by the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.16"; + } + + leaf ifConnectorPresent { + type boolean; + description + "This object has the value 'true(1)' if the interface + sublayer has a physical connector and the value 'false(2)' + otherwise."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.17"; + } + + leaf ifAlias { + type snmpv2-tc:DisplayString { + length "0..64"; + } + description + "This object is an 'alias' name for the interface as + specified by a network manager, and provides a non-volatile + 'handle' for the interface. + + On the first instantiation of an interface, the value of + ifAlias associated with that interface is the zero-length + string. As and when a value is written into an instance of + ifAlias through a network management set operation, then the + agent must retain the supplied value in the ifAlias instance + associated with the same interface for as long as that + interface remains instantiated, including across all re- + initializations/reboots of the network management system, + including those which result in a change of the interface's + ifIndex value. + + An example of the value which a network manager might store + in this object for a WAN interface is the (Telco's) circuit + number/identifier of the interface. + + Some agents may support write-access only for interfaces + having particular values of ifType. An agent which supports + write access to this object is required to keep the value in + non-volatile storage, but it may limit the length of new + values depending on how much storage is already occupied by + the current values for other interfaces."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.18"; + } + + leaf ifCounterDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + any one or more of this interface's counters suffered a + discontinuity. The relevant counters are the specific + instances associated with this interface of any Counter32 or + Counter64 object contained in the ifTable or ifXTable. If + no such discontinuities have occurred since the last re- + initialization of the local management subsystem, then this + object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.1.1.19"; + } + } + + smiv2:alias "ifTestTable" { + status deprecated; + description + "This table contains one entry per interface. It defines + objects which allow a network manager to instruct an agent + to test an interface for various faults. Tests for an + interface are defined in the media-specific MIB for that + interface. After invoking a test, the object ifTestResult + can be read to determine the outcome. If an agent can not + perform the test, ifTestResult is set to so indicate. The + object ifTestCode can be used to provide further test- + specific or interface-specific (or even enterprise-specific) + information concerning the outcome of the test. Only one + test can be in progress on each interface at any one time. + If one test is in progress when another test is invoked, the + second test is rejected. Some agents may reject a test when + a prior test is active on another interface. + + Before starting a test, a manager-station must first obtain + 'ownership' of the entry in the ifTestTable for the + interface to be tested. This is accomplished with the + ifTestId and ifTestStatus objects as follows: + + try_again: + get (ifTestId, ifTestStatus) + while (ifTestStatus != notInUse) + /* + * Loop while a test is running or some other + * manager is configuring a test. + */ + short delay + get (ifTestId, ifTestStatus) + } + + /* + * Is not being used right now -- let's compete + * to see who gets it. + */ + lock_value = ifTestId + + if ( set(ifTestId = lock_value, ifTestStatus = inUse, + + ifTestOwner = 'my-IP-address') == FAILURE) + /* + * Another manager got the ifTestEntry -- go + * try again + */ + goto try_again; + + /* + * I have the lock + */ + set up any test parameters. + + /* + * This starts the test + */ + set(ifTestType = test_to_run); + + wait for test completion by polling ifTestResult + + when test completes, agent sets ifTestResult + agent also sets ifTestStatus = 'notInUse' + + retrieve any additional test results, and ifTestId + + if (ifTestId == lock_value+1) results are valid + + A manager station first retrieves the value of the + appropriate ifTestId and ifTestStatus objects, periodically + repeating the retrieval if necessary, until the value of + ifTestStatus is 'notInUse'. The manager station then tries + to set the same ifTestId object to the value it just + retrieved, the same ifTestStatus object to 'inUse', and the + corresponding ifTestOwner object to a value indicating + itself. If the set operation succeeds then the manager has + obtained ownership of the ifTestEntry, and the value of the + ifTestId object is incremented by the agent (per the + semantics of TestAndIncr). Failure of the set operation + indicates that some other manager has obtained ownership of + the ifTestEntry. + + Once ownership is obtained, any test parameters can be + setup, and then the test is initiated by setting ifTestType. + On completion of the test, the agent sets ifTestStatus to + 'notInUse'. Once this occurs, the manager can retrieve the + results. In the (rare) event that the invocation of tests + by two network managers were to overlap, then there would be + a possibility that the first test's results might be + overwritten by the second test's results prior to the first + results being read. This unlikely circumstance can be + detected by a network manager retrieving ifTestId at the + same time as retrieving the test results, and ensuring that + the results are for the desired request. + + If ifTestType is not set within an abnormally long period of + time after ownership is obtained, the agent should time-out + the manager, and reset the value of the ifTestStatus object + back to 'notInUse'. It is suggested that this time-out + period be 5 minutes. + + In general, a management station must not retransmit a + request to invoke a test for which it does not receive a + response; instead, it properly inspects an agent's MIB to + determine if the invocation was successful. Only if the + invocation was unsuccessful, is the invocation request + retransmitted. + + Some tests may require the interface to be taken off-line in + order to execute them, or may even require the agent to + reboot after completion of the test. In these + circumstances, communication with the management station + invoking the test may be lost until after completion of the + test. An agent is not required to support such tests. + However, if such tests are supported, then the agent should + make every effort to transmit a response to the request + which invoked the test prior to losing communication. When + the agent is restored to normal service, the results of the + test are properly made available in the appropriate objects. + Note that this requires that the ifIndex value assigned to + an interface must be unchanged even if the test causes a + reboot. An agent must reject any test for which it cannot, + perhaps due to resource constraints, make available at least + the minimum amount of information after that test + completes."; + smiv2:oid "1.3.6.1.2.1.31.1.3"; + } + + smiv2:alias "ifTestEntry" { + status deprecated; + description + "An entry containing objects for invoking tests on an + interface."; + smiv2:oid "1.3.6.1.2.1.31.1.3.1"; + } + + augment "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry" { + status deprecated; + description + "An entry containing objects for invoking tests on an + interface."; + smiv2:oid "1.3.6.1.2.1.31.1.3.1"; + + leaf ifTestId { + type snmpv2-tc:TestAndIncr; + status deprecated; + description + "This object identifies the current invocation of the + interface's test."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.1"; + } + + leaf ifTestStatus { + type enumeration { + enum "notInUse" { + value "1"; + } + enum "inUse" { + value "2"; + } + } + status deprecated; + description + "This object indicates whether or not some manager currently + has the necessary 'ownership' required to invoke a test on + this interface. A write to this object is only successful + when it changes its value from 'notInUse(1)' to 'inUse(2)'. + After completion of a test, the agent resets the value back + to 'notInUse(1)'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.2"; + } + + leaf ifTestType { + type snmpv2-tc:AutonomousType; + status deprecated; + description + "A control variable used to start and stop operator- + initiated interface tests. Most OBJECT IDENTIFIER values + assigned to tests are defined elsewhere, in association with + specific types of interface. However, this document assigns + a value for a full-duplex loopback test, and defines the + special meanings of the subject identifier: + + noTest OBJECT IDENTIFIER ::= { 0 0 } + + When the value noTest is written to this object, no action + is taken unless a test is in progress, in which case the + test is aborted. Writing any other value to this object is + only valid when no test is currently in progress, in which + case the indicated test is initiated. + + When read, this object always returns the most recent value + that ifTestType was set to. If it has not been set since + the last initialization of the network management subsystem + on the agent, a value of noTest is returned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.3"; + } + + leaf ifTestResult { + type enumeration { + enum "none" { + value "1"; + } + enum "success" { + value "2"; + } + enum "inProgress" { + value "3"; + } + enum "notSupported" { + value "4"; + } + enum "unAbleToRun" { + value "5"; + } + enum "aborted" { + value "6"; + } + enum "failed" { + value "7"; + } + } + status deprecated; + description + "This object contains the result of the most recently + requested test, or the value none(1) if no tests have been + requested since the last reset. Note that this facility + provides no provision for saving the results of one test + when starting another, as could be required if used by + multiple managers concurrently."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.4"; + } + + leaf ifTestCode { + type yang:object-identifier-128; + status deprecated; + description + "This object contains a code which contains more specific + information on the test result, for example an error-code + after a failed test. Error codes and other values this + object may take are specific to the type of interface and/or + test. The value may have the semantics of either the + AutonomousType or InstancePointer textual conventions as + defined in RFC 2579. The identifier: + + testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } + + is defined for use if no additional result code is + available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.5"; + } + + leaf ifTestOwner { + type IF-MIB:OwnerString; + status deprecated; + description + "The entity which currently has the 'ownership' required to + invoke a test on this interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.31.1.3.1.6"; + } + } + + notification linkDown { + description + "A linkDown trap signifies that the SNMP entity, acting in + an agent role, has detected that the ifOperStatus object for + one of its communication links is about to enter the down + state from some other state (but not from the notPresent + state). This other state is indicated by the included value + of ifOperStatus."; + smiv2:oid "1.3.6.1.6.3.1.1.5.3"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + + leaf ifAdminStatus { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifAdminStatus"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifOperStatus"; + } + } + } + } + + notification linkUp { + description + "A linkUp trap signifies that the SNMP entity, acting in an + agent role, has detected that the ifOperStatus object for + one of its communication links left the down state and + transitioned into some other state (but not into the + notPresent state). This other state is indicated by the + included value of ifOperStatus."; + smiv2:oid "1.3.6.1.6.3.1.1.5.4"; + + container object-1 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + } + + container object-2 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + + leaf ifAdminStatus { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifAdminStatus"; + } + } + } + + container object-3 { + + leaf ifIndex { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifIndex"; + } + } + + leaf ifOperStatus { + type leafref { + path "/IF-MIB:IF-MIB/IF-MIB:ifTable/IF-MIB:ifEntry/IF-MIB:ifOperStatus"; + } + } + } + } + + smiv2:alias "interfaces" { + smiv2:oid "1.3.6.1.2.1.2"; + } + + smiv2:alias "ifMIB" { + smiv2:oid "1.3.6.1.2.1.31"; + } + + smiv2:alias "ifMIBObjects" { + smiv2:oid "1.3.6.1.2.1.31.1"; + } + + smiv2:alias "ifConformance" { + smiv2:oid "1.3.6.1.2.1.31.2"; + } + + smiv2:alias "ifGroups" { + smiv2:oid "1.3.6.1.2.1.31.2.1"; + } + + smiv2:alias "ifCompliances" { + smiv2:oid "1.3.6.1.2.1.31.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IGMP-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/IGMP-STD-MIB.yang new file mode 100644 index 000000000..0db43d9aa --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IGMP-STD-MIB.yang @@ -0,0 +1,377 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IGMP-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IGMP-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IGMP-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB"; + prefix IGMP-STD-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IDMR Working Group."; + + contact + " Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + US + + Phone: +1 425 703 8835 + EMail: dthaler@microsoft.com"; + + description + "The MIB module for IGMP Management."; + + revision 2000-09-28 { + description + "Initial version, published as RFC 2933."; + } + + + container IGMP-STD-MIB { + config false; + + container igmpInterfaceTable { + description + "The (conceptual) table listing the interfaces on which IGMP + is enabled."; + smiv2:oid "1.3.6.1.2.1.85.1.1"; + + list igmpInterfaceEntry { + key "igmpInterfaceIfIndex"; + description + "An entry (conceptual row) representing an interface on + which IGMP is enabled."; + smiv2:oid "1.3.6.1.2.1.85.1.1.1"; + + leaf igmpInterfaceIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface for which IGMP is + enabled."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.1"; + } + + leaf igmpInterfaceQueryInterval { + type uint32; + units "seconds"; + description + "The frequency at which IGMP Host-Query packets are + transmitted on this interface."; + smiv2:defval "125"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.2"; + } + + leaf igmpInterfaceStatus { + type snmpv2-tc:RowStatus; + description + "The activation of a row enables IGMP on the interface. The + destruction of a row disables IGMP on the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.3"; + } + + leaf igmpInterfaceVersion { + type uint32; + description + "The version of IGMP which is running on this interface. + This object can be used to configure a router capable of + running either value. For IGMP to function correctly, all + routers on a LAN must be configured to run the same version + of IGMP on that LAN."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.4"; + } + + leaf igmpInterfaceQuerier { + type inet:ipv4-address; + description + "The address of the IGMP Querier on the IP subnet to which + + + + + + this interface is attached."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.5"; + } + + leaf igmpInterfaceQueryMaxResponseTime { + type uint32 { + range "0..255"; + } + units "tenths of seconds"; + description + "The maximum query response time advertised in IGMPv2 + queries on this interface."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.6"; + } + + leaf igmpInterfaceQuerierUpTime { + type yang:timeticks; + description + "The time since igmpInterfaceQuerier was last changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.7"; + } + + leaf igmpInterfaceQuerierExpiryTime { + type yang:timeticks; + description + "The amount of time remaining before the Other Querier + Present Timer expires. If the local system is the querier, + the value of this object is zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.8"; + } + + leaf igmpInterfaceVersion1QuerierTimer { + type yang:timeticks; + description + "The time remaining until the host assumes that there are no + IGMPv1 routers present on the interface. While this is non- + zero, the host will reply to all queries with version 1 + membership reports."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.9"; + } + + leaf igmpInterfaceWrongVersionQueries { + type yang:counter32; + description + "The number of queries received whose IGMP version does not + match igmpInterfaceVersion, over the lifetime of the row + entry. IGMP requires that all routers on a LAN be + configured to run the same version of IGMP. Thus, if any + queries are received with the wrong version, this indicates + a configuration error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.10"; + } + + leaf igmpInterfaceJoins { + type yang:counter32; + description + "The number of times a group membership has been added on + this interface; that is, the number of times an entry for + this interface has been added to the Cache Table. This + object gives an indication of the amount of IGMP activity + over the lifetime of the row entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.11"; + } + + leaf igmpInterfaceProxyIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "Some devices implement a form of IGMP proxying whereby + memberships learned on the interface represented by this + row, cause IGMP Host Membership Reports to be sent on the + interface whose ifIndex value is given by this object. Such + a device would implement the igmpV2RouterMIBGroup only on + its router interfaces (those interfaces with non-zero + igmpInterfaceProxyIfIndex). Typically, the value of this + object is 0, indicating that no proxying is being done."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.12"; + } + + leaf igmpInterfaceGroups { + type yang:gauge32; + description + "The current number of entries for this interface in the + Cache Table."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.13"; + } + + leaf igmpInterfaceRobustness { + type uint32 { + range "1..255"; + } + description + "The Robustness Variable allows tuning for the expected + packet loss on a subnet. If a subnet is expected to be + lossy, the Robustness Variable may be increased. IGMP is + robust to (Robustness Variable-1) packet losses."; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.14"; + } + + leaf igmpInterfaceLastMembQueryIntvl { + type uint32 { + range "0..255"; + } + units "tenths of seconds"; + description + "The Last Member Query Interval is the Max Response Time + inserted into Group-Specific Queries sent in response to + Leave Group messages, and is also the amount of time between + Group-Specific Query messages. This value may be tuned to + modify the leave latency of the network. A reduced value + results in reduced time to detect the loss of the last + member of a group. The value of this object is irrelevant + if igmpInterfaceVersion is 1."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.1.1.15"; + } + } + } + + container igmpCacheTable { + description + "The (conceptual) table listing the IP multicast groups for + which there are members on a particular interface."; + smiv2:oid "1.3.6.1.2.1.85.1.2"; + + list igmpCacheEntry { + key "igmpCacheAddress igmpCacheIfIndex"; + description + "An entry (conceptual row) in the igmpCacheTable."; + smiv2:oid "1.3.6.1.2.1.85.1.2.1"; + + leaf igmpCacheAddress { + type inet:ipv4-address; + description + "The IP multicast group address for which this entry + contains information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.1"; + } + + leaf igmpCacheIfIndex { + type if-mib:InterfaceIndex; + description + "The interface for which this entry contains information for + an IP multicast group address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.2"; + } + + leaf igmpCacheSelf { + type boolean; + description + "An indication of whether the local system is a member of + this group address on this interface."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.3"; + } + + leaf igmpCacheLastReporter { + type inet:ipv4-address; + description + "The IP address of the source of the last membership report + received for this IP Multicast group address on this + interface. If no membership report has been received, this + object has the value 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.4"; + } + + leaf igmpCacheUpTime { + type yang:timeticks; + description + "The time elapsed since this entry was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.5"; + } + + leaf igmpCacheExpiryTime { + type yang:timeticks; + description + "The minimum amount of time remaining before this entry will + be aged out. A value of 0 indicates that the entry is only + present because igmpCacheSelf is true and that if the router + left the group, this entry would be aged out immediately. + Note that some implementations may process membership + reports from the local system in the same way as reports + from other hosts, so a value of 0 is not required."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.6"; + } + + leaf igmpCacheStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.7"; + } + + leaf igmpCacheVersion1HostTimer { + type yang:timeticks; + description + "The time remaining until the local router will assume that + there are no longer any IGMP version 1 members on the IP + subnet attached to this interface. Upon hearing any IGMPv1 + Membership Report, this value is reset to the group + membership timer. While this time remaining is non-zero, + the local router ignores any IGMPv2 Leave messages for this + group that it receives on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.85.1.2.1.8"; + } + } + } + } + + smiv2:alias "igmpStdMIB" { + smiv2:oid "1.3.6.1.2.1.85"; + } + + smiv2:alias "igmpMIBObjects" { + smiv2:oid "1.3.6.1.2.1.85.1"; + } + + smiv2:alias "igmpMIBConformance" { + smiv2:oid "1.3.6.1.2.1.85.2"; + } + + smiv2:alias "igmpMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.85.2.1"; + } + + smiv2:alias "igmpMIBGroups" { + smiv2:oid "1.3.6.1.2.1.85.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/INET-ADDRESS-MIB.yang b/vendor/cisco/xe/17151/MIBS/INET-ADDRESS-MIB.yang new file mode 100644 index 000000000..640cf8e3f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/INET-ADDRESS-MIB.yang @@ -0,0 +1,466 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/INET-ADDRESS-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang INET-ADDRESS-MIB + * + * Do not edit. Edit the source file instead! + */ + +module INET-ADDRESS-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB"; + prefix INET-ADDRESS-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Operations and Management Area"; + + contact + "Juergen Schoenwaelder (Editor) + International University Bremen + P.O. Box 750 561 + 28725 Bremen, Germany + + Phone: +49 421 200-3587 + EMail: j.schoenwaelder@iu-bremen.de + + Send comments to ."; + + description + "This MIB module defines textual conventions for + representing Internet addresses. An Internet + address can be an IPv4 address, an IPv6 address, + or a DNS domain name. This module also defines + textual conventions for Internet port numbers, + autonomous system numbers, and the length of an + Internet address prefix. + + Copyright (C) The Internet Society (2005). This version + of this MIB module is part of RFC 4001, see the RFC + itself for full legal notices."; + + revision 2005-02-04 { + description + "Third version, published as RFC 4001. This revision + introduces the InetZoneIndex, InetScopeType, and + InetVersion textual conventions."; + } + + revision 2002-05-09 { + description + "Second version, published as RFC 3291. This + revision contains several clarifications and + introduces several new textual conventions: + InetAddressPrefixLength, InetPortNumber, + InetAutonomousSystemNumber, InetAddressIPv4z, + and InetAddressIPv6z."; + } + + revision 2000-06-08 { + description + "Initial version, published as RFC 2851."; + } + + typedef InetAddressType { + type enumeration { + enum "unknown" { + value "0"; + } + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + enum "ipv4z" { + value "3"; + } + enum "ipv6z" { + value "4"; + } + enum "dns" { + value "16"; + } + } + description + "A value that represents a type of Internet address. + + unknown(0) An unknown address type. This value MUST + be used if the value of the corresponding + InetAddress object is a zero-length string. + It may also be used to indicate an IP address + that is not in one of the formats defined + below. + + ipv4(1) An IPv4 address as defined by the + InetAddressIPv4 textual convention. + + ipv6(2) An IPv6 address as defined by the + InetAddressIPv6 textual convention. + + ipv4z(3) A non-global IPv4 address including a zone + index as defined by the InetAddressIPv4z + textual convention. + + ipv6z(4) A non-global IPv6 address including a zone + index as defined by the InetAddressIPv6z + textual convention. + + dns(16) A DNS domain name as defined by the + InetAddressDNS textual convention. + + Each definition of a concrete InetAddressType value must be + accompanied by a definition of a textual convention for use + with that InetAddressType. + + To support future extensions, the InetAddressType textual + convention SHOULD NOT be sub-typed in object type definitions. + It MAY be sub-typed in compliance statements in order to + require only a subset of these address types for a compliant + implementation. + + Implementations must ensure that InetAddressType objects + and any dependent objects (e.g., InetAddress objects) are + consistent. An inconsistentValue error must be generated + if an attempt to change an InetAddressType object would, + for example, lead to an undefined InetAddress value. In + + + particular, InetAddressType/InetAddress pairs must be + changed together if the address type changes (e.g., from + ipv6(2) to ipv4(1))."; + } + + typedef InetAddress { + type binary { + length "0..255"; + } + description + "Denotes a generic Internet address. + + An InetAddress value is always interpreted within the context + of an InetAddressType value. Every usage of the InetAddress + textual convention is required to specify the InetAddressType + object that provides the context. It is suggested that the + InetAddressType object be logically registered before the + object(s) that use the InetAddress textual convention, if + they appear in the same logical row. + + The value of an InetAddress object must always be + consistent with the value of the associated InetAddressType + object. Attempts to set an InetAddress object to a value + inconsistent with the associated InetAddressType + must fail with an inconsistentValue error. + + When this textual convention is used as the syntax of an + index object, there may be issues with the limit of 128 + sub-identifiers specified in SMIv2, STD 58. In this case, + the object definition MUST include a 'SIZE' clause to + limit the number of potential instance sub-identifiers; + otherwise the applicable constraints MUST be stated in + the appropriate conceptual row DESCRIPTION clauses, or + in the surrounding documentation if there is no single + DESCRIPTION clause that is appropriate."; + } + + typedef InetAddressIPv4 { + type string; + description + "Represents an IPv4 network address: + + + Octets Contents Encoding + 1-4 IPv4 address network-byte order + + The corresponding InetAddressType value is ipv4(1). + + This textual convention SHOULD NOT be used directly in object + definitions, as it restricts addresses to a specific format. + However, if it is used, it MAY be used either on its own or in + conjunction with InetAddressType, as a pair."; + smiv2:display-hint "1d.1d.1d.1d"; + } + + typedef InetAddressIPv6 { + type string; + description + "Represents an IPv6 network address: + + Octets Contents Encoding + 1-16 IPv6 address network-byte order + + The corresponding InetAddressType value is ipv6(2). + + This textual convention SHOULD NOT be used directly in object + definitions, as it restricts addresses to a specific format. + However, if it is used, it MAY be used either on its own or in + conjunction with InetAddressType, as a pair."; + smiv2:display-hint "2x:2x:2x:2x:2x:2x:2x:2x"; + } + + typedef InetAddressIPv4z { + type string; + description + "Represents a non-global IPv4 network address, together + with its zone index: + + Octets Contents Encoding + 1-4 IPv4 address network-byte order + 5-8 zone index network-byte order + + The corresponding InetAddressType value is ipv4z(3). + + The zone index (bytes 5-8) is used to disambiguate identical + address values on nodes that have interfaces attached to + different zones of the same scope. The zone index may contain + the special value 0, which refers to the default zone for each + scope. + + This textual convention SHOULD NOT be used directly in object + + + definitions, as it restricts addresses to a specific format. + However, if it is used, it MAY be used either on its own or in + conjunction with InetAddressType, as a pair."; + smiv2:display-hint "1d.1d.1d.1d%4d"; + } + + typedef InetAddressIPv6z { + type string; + description + "Represents a non-global IPv6 network address, together + with its zone index: + + Octets Contents Encoding + 1-16 IPv6 address network-byte order + 17-20 zone index network-byte order + + The corresponding InetAddressType value is ipv6z(4). + + The zone index (bytes 17-20) is used to disambiguate + identical address values on nodes that have interfaces + attached to different zones of the same scope. The zone index + may contain the special value 0, which refers to the default + zone for each scope. + + This textual convention SHOULD NOT be used directly in object + definitions, as it restricts addresses to a specific format. + However, if it is used, it MAY be used either on its own or in + conjunction with InetAddressType, as a pair."; + smiv2:display-hint "2x:2x:2x:2x:2x:2x:2x:2x%4d"; + } + + typedef InetAddressDNS { + type string; + description + "Represents a DNS domain name. The name SHOULD be fully + qualified whenever possible. + + The corresponding InetAddressType is dns(16). + + The DESCRIPTION clause of InetAddress objects that may have + InetAddressDNS values MUST fully describe how (and when) + these names are to be resolved to IP addresses. + + The resolution of an InetAddressDNS value may require to + query multiple DNS records (e.g., A for IPv4 and AAAA for + IPv6). The order of the resolution process and which DNS + record takes precedence depends on the configuration of the + resolver. + + + This textual convention SHOULD NOT be used directly in object + definitions, as it restricts addresses to a specific format. + However, if it is used, it MAY be used either on its own or in + conjunction with InetAddressType, as a pair."; + smiv2:display-hint "255a"; + } + + typedef InetAddressPrefixLength { + type uint32 { + range "0..2040"; + } + description + "Denotes the length of a generic Internet network address + prefix. A value of n corresponds to an IP address mask + that has n contiguous 1-bits from the most significant + bit (MSB), with all other bits set to 0. + + An InetAddressPrefixLength value is always interpreted within + the context of an InetAddressType value. Every usage of the + InetAddressPrefixLength textual convention is required to + specify the InetAddressType object that provides the + context. It is suggested that the InetAddressType object be + logically registered before the object(s) that use the + InetAddressPrefixLength textual convention, if they appear + in the same logical row. + + InetAddressPrefixLength values larger than + the maximum length of an IP address for a specific + InetAddressType are treated as the maximum significant + value applicable for the InetAddressType. The maximum + significant value is 32 for the InetAddressType + 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType + 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value + for the InetAddressType 'dns(16)' is 0. + + The value zero is object-specific and must be defined as + part of the description of any object that uses this + syntax. Examples of the usage of zero might include + situations where the Internet network address prefix + is unknown or does not apply. + + The upper bound of the prefix length has been chosen to + be consistent with the maximum size of an InetAddress."; + smiv2:display-hint "d"; + } + + typedef InetPortNumber { + type uint32 { + range "0..65535"; + } + description + "Represents a 16 bit port number of an Internet transport + + + layer protocol. Port numbers are assigned by IANA. A + current list of all assignments is available from + . + + The value zero is object-specific and must be defined as + part of the description of any object that uses this + syntax. Examples of the usage of zero might include + situations where a port number is unknown, or when the + value zero is used as a wildcard in a filter."; + reference + "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"; + smiv2:display-hint "d"; + } + + typedef InetAutonomousSystemNumber { + type uint32; + description + "Represents an autonomous system number that identifies an + Autonomous System (AS). An AS is a set of routers under a + single technical administration, using an interior gateway + protocol and common metrics to route packets within the AS, + and using an exterior gateway protocol to route packets to + other ASes'. IANA maintains the AS number space and has + delegated large parts to the regional registries. + + Autonomous system numbers are currently limited to 16 bits + (0..65535). There is, however, work in progress to enlarge the + autonomous system number space to 32 bits. Therefore, this + textual convention uses an Unsigned32 value without a + range restriction in order to support a larger autonomous + system number space."; + reference + "RFC 1771, RFC 1930"; + smiv2:display-hint "d"; + } + + typedef InetScopeType { + type enumeration { + enum "interfaceLocal" { + value "1"; + } + enum "linkLocal" { + value "2"; + } + enum "subnetLocal" { + value "3"; + } + enum "adminLocal" { + value "4"; + } + enum "siteLocal" { + value "5"; + } + enum "organizationLocal" { + value "8"; + } + enum "global" { + value "14"; + } + } + description + "Represents a scope type. This textual convention can be used + in cases where a MIB has to represent different scope types + and there is no context information, such as an InetAddress + object, that implicitly defines the scope type. + + Note that not all possible values have been assigned yet, but + they may be assigned in future revisions of this specification. + Applications should therefore be able to deal with values + not yet assigned."; + reference + "RFC 3513"; + } + + typedef InetZoneIndex { + type uint32; + description + "A zone index identifies an instance of a zone of a + specific scope. + + The zone index MUST disambiguate identical address + values. For link-local addresses, the zone index will + typically be the interface index (ifIndex as defined in the + IF-MIB) of the interface on which the address is configured. + + The zone index may contain the special value 0, which refers + to the default zone. The default zone may be used in cases + where the valid zone index is not known (e.g., when a + management application has to write a link-local IPv6 + address without knowing the interface index value). The + default zone SHOULD NOT be used as an easy way out in + cases where the zone index for a non-global IPv6 address + is known."; + reference + "RFC4007"; + smiv2:display-hint "d"; + } + + typedef InetVersion { + type enumeration { + enum "unknown" { + value "0"; + } + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + } + description + "A value representing a version of the IP protocol. + + unknown(0) An unknown or unspecified version of the IP + protocol. + + + ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5). + + ipv6(2) The IPv6 protocol as defined in RFC 2460. + + Note that this textual convention SHOULD NOT be used to + distinguish different address types associated with IP + protocols. The InetAddressType has been designed for this + purpose."; + reference + "RFC 791, RFC 2460"; + } + + smiv2:alias "inetAddressMIB" { + smiv2:oid "1.3.6.1.2.1.76"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/INT-SERV-MIB.yang b/vendor/cisco/xe/17151/MIBS/INT-SERV-MIB.yang new file mode 100644 index 000000000..4a8a207f5 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/INT-SERV-MIB.yang @@ -0,0 +1,635 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/INT-SERV-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang INT-SERV-MIB + * + * Do not edit. Edit the source file instead! + */ + +module INT-SERV-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB"; + prefix INT-SERV-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Integrated Services Working Group"; + + contact + " Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + Tel: +1 805 681 0115 + E-Mail: fred@cisco.com + + John Krawczyk + Postal: ArrowPoint Communications + 235 Littleton Road + Westford, Massachusetts 01886 + Tel: +1 508 692 5875 + E-Mail: jjk@tiac.net"; + + description + "The MIB module to describe the Integrated Services + Protocol"; + + revision 1997-10-03 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef SessionNumber { + type int32 { + range "0..2147483647"; + } + description + "The Session Number convention is used for + numbers identifying sessions or saved PATH or + RESV information. It is a number in the range + returned by a TestAndIncr variable, having no + protocol meaning whatsoever but serving instead + as simple identifier. + + The alternative was a very complex instance or + instance object that became unwieldy."; + } + + typedef Protocol { + type int32 { + range "1..255"; + } + description + "The value of the IP Protocol field of an IP + Datagram Header. This identifies the protocol + layer above IP. For example, the value 6 is + used for TCP and the value 17 is used for UDP. + The values of this field are defined in the As- + signed Numbers RFC."; + smiv2:display-hint "d"; + } + + typedef SessionType { + type int32 { + range "1..255"; + } + description + "The value of the C-Type field of a Session ob- + ject, as defined in the RSVP specification. + This value determines the lengths of octet + strings and use of certain objects such as the + 'port' variables. If the C-Type calls for an + IP6 address, one would expect all source, des- + tination, and next/previous hop addresses to be + 16 bytes long, and for the ports to be UDP/TCP + port numbers, for example."; + } + + typedef Port { + type binary { + length "2..4"; + } + description + "The value of the UDP or TCP Source or Destina- + tion Port field, a virtual destination port or + generalized port identifier used with the IPSEC + Authentication Header or Encapsulating Security + Payload, or other session discriminator. If it + is not used, the value should be of length 0. + This pair, when coupled with the IP Addresses + of the source and destination system and the IP + protocol field, uniquely identifies a data + stream."; + } + + typedef MessageSize { + type int32 { + range "0..2147483647"; + } + description + "The size of a message in bytes. This is used + to specify the minimum and maximum size of a + message along an integrated services route."; + smiv2:display-hint "d"; + } + + typedef BitRate { + type int32 { + range "0..2147483647"; + } + description + "The rate, in bits/second, that data may move + in the context. Applicable contexts minimally + include the speed of an interface or virtual + circuit, the data rate of a (potentially aggre- + gated) data flow, or the data rate to be allo- + cated for use by a flow."; + smiv2:display-hint "d"; + } + + typedef BurstSize { + type int32 { + range "0..2147483647"; + } + description + "The number of octets of IP Data, including IP + Headers, that a stream may send without concern + for policing."; + smiv2:display-hint "d"; + } + + typedef QosService { + type enumeration { + enum "bestEffort" { + value "1"; + } + enum "guaranteedDelay" { + value "2"; + } + enum "controlledLoad" { + value "5"; + } + } + description + "The class of service in use by a flow."; + } + + + container INT-SERV-MIB { + config false; + + container intSrvGenObjects { + smiv2:oid "1.3.6.1.2.1.52.2"; + + leaf intSrvFlowNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + intSrvFlowNumber as described in 'Textual Con- + ventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + intSrvFlowEntry. If the SET fails with the + code 'inconsistentValue', then the process must + be repeated; If the SET succeeds, then the ob- + ject is incremented, and the new instance is + created according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.2.1"; + } + } + + container intSrvIfAttribTable { + description + "The reservable attributes of the system's in- + terfaces."; + smiv2:oid "1.3.6.1.2.1.52.1.1"; + + list intSrvIfAttribEntry { + key "ifIndex"; + description + "The reservable attributes of a given inter- + face."; + smiv2:oid "1.3.6.1.2.1.52.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf intSrvIfAttribAllocatedBits { + type INT-SERV-MIB:BitRate; + units "Bits per second"; + description + "The number of bits/second currently allocated + to reserved sessions on the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.1"; + } + + leaf intSrvIfAttribMaxAllocatedBits { + type INT-SERV-MIB:BitRate; + units "Bits per second"; + description + "The maximum number of bits/second that may be + allocated to reserved sessions on the inter- + face."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.2"; + } + + leaf intSrvIfAttribAllocatedBuffer { + type INT-SERV-MIB:BurstSize; + units "Bytes"; + description + "The amount of buffer space required to hold + the simultaneous burst of all reserved flows on + the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.3"; + } + + leaf intSrvIfAttribFlows { + type yang:gauge32; + description + "The number of reserved flows currently active + on this interface. A flow can be created ei- + ther from a reservation protocol (such as RSVP + or ST-II) or via configuration information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.4"; + } + + leaf intSrvIfAttribPropagationDelay { + type int32; + units "microseconds"; + description + "The amount of propagation delay that this in- + terface introduces in addition to that intro- + diced by bit propagation delays."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.5"; + } + + leaf intSrvIfAttribStatus { + type snmpv2-tc:RowStatus; + description + "'active' on interfaces that are configured for + RSVP."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.6"; + } + } + } + + container intSrvFlowTable { + description + "Information describing the reserved flows us- + ing the system's interfaces."; + smiv2:oid "1.3.6.1.2.1.52.1.2"; + + list intSrvFlowEntry { + key "intSrvFlowNumber"; + description + "Information describing the use of a given in- + terface by a given flow. The counter + intSrvFlowPoliced starts counting at the in- + stallation of the flow."; + smiv2:oid "1.3.6.1.2.1.52.1.2.1"; + + leaf intSrvFlowNumber { + type INT-SERV-MIB:SessionNumber; + description + "The number of this flow. This is for SNMP In- + dexing purposes only and has no relation to any + protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.1"; + } + + leaf intSrvFlowType { + type INT-SERV-MIB:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.2"; + } + + leaf intSrvFlowOwner { + type enumeration { + enum "other" { + value "1"; + } + enum "rsvp" { + value "2"; + } + enum "management" { + value "3"; + } + } + description + "The process that installed this flow in the + queue policy database."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.3"; + } + + leaf intSrvFlowDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is 'ac- + tive'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.4"; + } + + leaf intSrvFlowSenderAddr { + type binary { + length "4..16"; + } + description + "The source address of the sender selected by + this reservation. The value of all zeroes in- + dicates 'all senders'. This object may not be + changed when the value of the RowStatus object + is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.5"; + } + + leaf intSrvFlowDestAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the destination address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.6"; + } + + leaf intSrvFlowSenderAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the sender's address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.7"; + } + + leaf intSrvFlowProtocol { + type INT-SERV-MIB:Protocol; + description + "The IP Protocol used by a session. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.8"; + } + + leaf intSrvFlowDestPort { + type INT-SERV-MIB:Port; + description + "The UDP or TCP port number used as a destina- + tion port for all senders in this session. If + the IP protocol in use, specified by + intSrvResvFwdProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.9"; + } + + leaf intSrvFlowPort { + type INT-SERV-MIB:Port; + description + "The UDP or TCP port number used as a source + port for this sender in this session. If the + IP protocol in use, specified by + intSrvResvFwdProtocol is 50 (ESP) or 51 (AH), + this represents a generalized port identifier + (GPI). A value of zero indicates that the IP + protocol in use does not have ports. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.10"; + } + + leaf intSrvFlowFlowId { + type int32 { + range "0..16777215"; + } + description + "The flow ID that this sender is using, if + this is an IPv6 session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.11"; + } + + leaf intSrvFlowInterface { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface on which + this reservation exists."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.12"; + } + + leaf intSrvFlowIfAddr { + type binary { + length "4..16"; + } + description + "The IP Address on the ifEntry on which this + reservation exists. This is present primarily + to support those interfaces which layer multi- + ple IP Addresses on the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.13"; + } + + leaf intSrvFlowRate { + type INT-SERV-MIB:BitRate; + units "bits per second"; + description + "The Reserved Rate of the sender's data stream. + If this is a Controlled Load service flow, this + rate is derived from the Tspec rate parameter + (r). If this is a Guaranteed service flow, + this rate is derived from the Rspec clearing + rate parameter (R)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.14"; + } + + leaf intSrvFlowBurst { + type INT-SERV-MIB:BurstSize; + units "bytes"; + description + "The size of the largest burst expected from + the sender at a time. + + If this is less than the sender's advertised + burst size, the receiver is asking the network + to provide flow pacing beyond what would be + provided under normal circumstances. Such pac- + ing is at the network's option."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.15"; + } + + leaf intSrvFlowWeight { + type int32; + description + "The weight used to prioritize the traffic. + Note that the interpretation of this object is + implementation-specific, as implementations + vary in their use of weighting procedures."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.16"; + } + + leaf intSrvFlowQueue { + type int32; + description + "The number of the queue used by this traffic. + Note that the interpretation of this object is + implementation-specific, as implementations + vary in their use of queue identifiers."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.17"; + } + + leaf intSrvFlowMinTU { + type INT-SERV-MIB:MessageSize; + description + "The minimum message size for this flow. The + policing algorithm will treat smaller messages + as though they are this size."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.18"; + } + + leaf intSrvFlowMaxTU { + type INT-SERV-MIB:MessageSize; + description + "The maximum datagram size for this flow that + will conform to the traffic specification. This + value cannot exceed the MTU of the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.19"; + } + + leaf intSrvFlowBestEffort { + type yang:counter32; + description + "The number of packets that were remanded to + best effort service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.20"; + } + + leaf intSrvFlowPoliced { + type yang:counter32; + description + "The number of packets policed since the incep- + tion of the flow's service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.21"; + } + + leaf intSrvFlowDiscard { + type boolean; + description + "If 'true', the flow is to incur loss when + traffic is policed. If 'false', policed traff- + ic is treated as best effort traffic."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.22"; + } + + leaf intSrvFlowService { + type INT-SERV-MIB:QosService; + description + "The QoS service being applied to this flow."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.23"; + } + + leaf intSrvFlowOrder { + type int32 { + range "0..65535"; + } + description + "In the event of ambiguity, the order in which + the classifier should make its comparisons. + The row with intSrvFlowOrder=0 is tried first, + and comparisons proceed in the order of in- + creasing value. Non-serial implementations of + the classifier should emulate this behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.24"; + } + + leaf intSrvFlowStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active flows. This object + may be used to install static classifier infor- + mation, delete classifier information, or au- + thorize such."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.25"; + } + } + } + } + + smiv2:alias "intSrv" { + smiv2:oid "1.3.6.1.2.1.52"; + } + + smiv2:alias "intSrvObjects" { + smiv2:oid "1.3.6.1.2.1.52.1"; + } + + smiv2:alias "intSrvGenObjects" { + smiv2:oid "1.3.6.1.2.1.52.2"; + } + + smiv2:alias "intSrvNotifications" { + smiv2:oid "1.3.6.1.2.1.52.3"; + } + + smiv2:alias "intSrvConformance" { + smiv2:oid "1.3.6.1.2.1.52.4"; + } + + smiv2:alias "intSrvGroups" { + smiv2:oid "1.3.6.1.2.1.52.4.1"; + } + + smiv2:alias "intSrvCompliances" { + smiv2:oid "1.3.6.1.2.1.52.4.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/INTEGRATED-SERVICES-MIB.yang b/vendor/cisco/xe/17151/MIBS/INTEGRATED-SERVICES-MIB.yang new file mode 100644 index 000000000..359d9f910 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/INTEGRATED-SERVICES-MIB.yang @@ -0,0 +1,635 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/INTEGRATED-SERVICES-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang INTEGRATED-SERVICES-MIB + * + * Do not edit. Edit the source file instead! + */ + +module INTEGRATED-SERVICES-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB"; + prefix INTEGRATED-SERVICES-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Integrated Services Working Group"; + + contact + " Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + Tel: +1 805 681 0115 + E-Mail: fred@cisco.com + + John Krawczyk + Postal: ArrowPoint Communications + 235 Littleton Road + Westford, Massachusetts 01886 + Tel: +1 508 692 5875 + E-Mail: jjk@tiac.net"; + + description + "The MIB module to describe the Integrated Services + Protocol"; + + revision 1995-11-03 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef SessionNumber { + type int32 { + range "0..2147483647"; + } + description + "The Session Number convention is used for + numbers identifying sessions or saved PATH or + RESV information. It is a number in the range + returned by a TestAndIncr variable, having no + protocol meaning whatsoever but serving instead + as simple identifier. + + The alternative was a very complex instance or + instance object that became unwieldy."; + } + + typedef Protocol { + type int32 { + range "1..255"; + } + description + "The value of the IP Protocol field of an IP + Datagram Header. This identifies the protocol + layer above IP. For example, the value 6 is + used for TCP and the value 17 is used for UDP. + The values of this field are defined in the As- + signed Numbers RFC."; + smiv2:display-hint "d"; + } + + typedef SessionType { + type int32 { + range "1..255"; + } + description + "The value of the C-Type field of a Session ob- + ject, as defined in the RSVP specification. + This value determines the lengths of octet + strings and use of certain objects such as the + 'port' variables. If the C-Type calls for an + IP6 address, one would expect all source, des- + tination, and next/previous hop addresses to be + 16 bytes long, and for the ports to be UDP/TCP + port numbers, for example."; + } + + typedef Port { + type binary { + length "2..4"; + } + description + "The value of the UDP or TCP Source or Destina- + tion Port field, a virtual destination port or + generalized port identifier used with the IPSEC + Authentication Header or Encapsulating Security + Payload, or other session discriminator. If it + is not used, the value should be of length 0. + This pair, when coupled with the IP Addresses + of the source and destination system and the IP + protocol field, uniquely identifies a data + stream."; + } + + typedef MessageSize { + type int32 { + range "0..2147483647"; + } + description + "The size of a message in bytes. This is used + to specify the minimum and maximum size of a + message along an integrated services route."; + smiv2:display-hint "d"; + } + + typedef BitRate { + type int32 { + range "0..2147483647"; + } + description + "The rate, in bits/second, that data may move + in the context. Applicable contexts minimally + include the speed of an interface or virtual + circuit, the data rate of a (potentially aggre- + gated) data flow, or the data rate to be allo- + cated for use by a flow."; + smiv2:display-hint "d"; + } + + typedef BurstSize { + type int32 { + range "0..2147483647"; + } + description + "The number of octets of IP Data, including IP + Headers, that a stream may send without concern + for policing."; + smiv2:display-hint "d"; + } + + typedef QosService { + type enumeration { + enum "bestEffort" { + value "1"; + } + enum "guaranteedDelay" { + value "2"; + } + enum "controlledLoad" { + value "5"; + } + } + description + "The class of service in use by a flow."; + } + + + container INTEGRATED-SERVICES-MIB { + config false; + + container intSrvGenObjects { + smiv2:oid "1.3.6.1.2.1.52.2"; + + leaf intSrvFlowNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + intSrvFlowNumber as described in 'Textual Con- + ventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + intSrvFlowEntry. If the SET fails with the + code 'inconsistentValue', then the process must + be repeated; If the SET succeeds, then the ob- + ject is incremented, and the new instance is + created according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.2.1"; + } + } + + container intSrvIfAttribTable { + description + "The reservable attributes of the system's in- + terfaces."; + smiv2:oid "1.3.6.1.2.1.52.1.1"; + + list intSrvIfAttribEntry { + key "ifIndex"; + description + "The reservable attributes of a given inter- + face."; + smiv2:oid "1.3.6.1.2.1.52.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf intSrvIfAttribAllocatedBits { + type INTEGRATED-SERVICES-MIB:BitRate; + units "Bits per second"; + description + "The number of bits/second currently allocated + to reserved sessions on the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.1"; + } + + leaf intSrvIfAttribMaxAllocatedBits { + type INTEGRATED-SERVICES-MIB:BitRate; + units "Bits per second"; + description + "The maximum number of bits/second that may be + allocated to reserved sessions on the inter- + face."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.2"; + } + + leaf intSrvIfAttribAllocatedBuffer { + type INTEGRATED-SERVICES-MIB:BurstSize; + units "Bytes"; + description + "The amount of buffer space required to hold + the simultaneous burst of all reserved flows on + the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.3"; + } + + leaf intSrvIfAttribFlows { + type yang:gauge32; + description + "The number of reserved flows currently active + on this interface. A flow can be created ei- + ther from a reservation protocol (such as RSVP + or ST-II) or via configuration information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.4"; + } + + leaf intSrvIfAttribPropagationDelay { + type int32; + units "microseconds"; + description + "The amount of propagation delay that this in- + terface introduces in addition to that intro- + diced by bit propagation delays."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.5"; + } + + leaf intSrvIfAttribStatus { + type snmpv2-tc:RowStatus; + description + "'active' on interfaces that are configured for + RSVP."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.1.1.6"; + } + } + } + + container intSrvFlowTable { + description + "Information describing the reserved flows us- + ing the system's interfaces."; + smiv2:oid "1.3.6.1.2.1.52.1.2"; + + list intSrvFlowEntry { + key "intSrvFlowNumber"; + description + "Information describing the use of a given in- + terface by a given flow. The counter + intSrvFlowPoliced starts counting at the in- + stallation of the flow."; + smiv2:oid "1.3.6.1.2.1.52.1.2.1"; + + leaf intSrvFlowNumber { + type INTEGRATED-SERVICES-MIB:SessionNumber; + description + "The number of this flow. This is for SNMP In- + dexing purposes only and has no relation to any + protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.1"; + } + + leaf intSrvFlowType { + type INTEGRATED-SERVICES-MIB:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.2"; + } + + leaf intSrvFlowOwner { + type enumeration { + enum "other" { + value "1"; + } + enum "rsvp" { + value "2"; + } + enum "management" { + value "3"; + } + } + description + "The process that installed this flow in the + queue policy database."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.3"; + } + + leaf intSrvFlowDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is 'ac- + tive'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.4"; + } + + leaf intSrvFlowSenderAddr { + type binary { + length "4..16"; + } + description + "The source address of the sender selected by + this reservation. The value of all zeroes in- + dicates 'all senders'. This object may not be + changed when the value of the RowStatus object + is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.5"; + } + + leaf intSrvFlowDestAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the destination address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.6"; + } + + leaf intSrvFlowSenderAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the sender's address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.7"; + } + + leaf intSrvFlowProtocol { + type INTEGRATED-SERVICES-MIB:Protocol; + description + "The IP Protocol used by a session. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.8"; + } + + leaf intSrvFlowDestPort { + type INTEGRATED-SERVICES-MIB:Port; + description + "The UDP or TCP port number used as a destina- + tion port for all senders in this session. If + the IP protocol in use, specified by + intSrvResvFwdProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.9"; + } + + leaf intSrvFlowPort { + type INTEGRATED-SERVICES-MIB:Port; + description + "The UDP or TCP port number used as a source + port for this sender in this session. If the + IP protocol in use, specified by + intSrvResvFwdProtocol is 50 (ESP) or 51 (AH), + this represents a generalized port identifier + (GPI). A value of zero indicates that the IP + protocol in use does not have ports. This ob- + ject may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.10"; + } + + leaf intSrvFlowFlowId { + type int32 { + range "0..16777215"; + } + description + "The flow ID that this sender is using, if + this is an IPv6 session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.11"; + } + + leaf intSrvFlowInterface { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface on which + this reservation exists."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.12"; + } + + leaf intSrvFlowIfAddr { + type binary { + length "4..16"; + } + description + "The IP Address on the ifEntry on which this + reservation exists. This is present primarily + to support those interfaces which layer multi- + ple IP Addresses on the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.13"; + } + + leaf intSrvFlowRate { + type INTEGRATED-SERVICES-MIB:BitRate; + units "bits per second"; + description + "The Reserved Rate of the sender's data stream. + If this is a Controlled Load service flow, this + rate is derived from the Tspec rate parameter + (r). If this is a Guaranteed service flow, + this rate is derived from the Rspec clearing + rate parameter (R)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.14"; + } + + leaf intSrvFlowBurst { + type INTEGRATED-SERVICES-MIB:BurstSize; + units "bytes"; + description + "The size of the largest burst expected from + the sender at a time. + + If this is less than the sender's advertised + burst size, the receiver is asking the network + to provide flow pacing beyond what would be + provided under normal circumstances. Such pac- + ing is at the network's option."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.15"; + } + + leaf intSrvFlowWeight { + type int32; + description + "The weight used to prioritize the traffic. + Note that the interpretation of this object is + implementation-specific, as implementations + vary in their use of weighting procedures."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.16"; + } + + leaf intSrvFlowQueue { + type int32; + description + "The number of the queue used by this traffic. + Note that the interpretation of this object is + implementation-specific, as implementations + vary in their use of queue identifiers."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.17"; + } + + leaf intSrvFlowMinTU { + type INTEGRATED-SERVICES-MIB:MessageSize; + description + "The minimum message size for this flow. The + policing algorithm will treat smaller messages + as though they are this size."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.18"; + } + + leaf intSrvFlowMaxTU { + type INTEGRATED-SERVICES-MIB:MessageSize; + description + "The maximum datagram size for this flow that + will conform to the traffic specification. This + value cannot exceed the MTU of the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.19"; + } + + leaf intSrvFlowBestEffort { + type yang:counter32; + description + "The number of packets that were remanded to + best effort service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.20"; + } + + leaf intSrvFlowPoliced { + type yang:counter32; + description + "The number of packets policed since the incep- + tion of the flow's service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.21"; + } + + leaf intSrvFlowDiscard { + type boolean; + description + "If 'true', the flow is to incur loss when + traffic is policed. If 'false', policed traff- + ic is treated as best effort traffic."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.22"; + } + + leaf intSrvFlowService { + type INTEGRATED-SERVICES-MIB:QosService; + description + "The QoS service being applied to this flow."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.23"; + } + + leaf intSrvFlowOrder { + type int32 { + range "0..65535"; + } + description + "In the event of ambiguity, the order in which + the classifier should make its comparisons. + The row with intSrvFlowOrder=0 is tried first, + and comparisons proceed in the order of in- + creasing value. Non-serial implementations of + the classifier should emulate this behavior."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.24"; + } + + leaf intSrvFlowStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active flows. This object + may be used to install static classifier infor- + mation, delete classifier information, or au- + thorize such."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.52.1.2.1.25"; + } + } + } + } + + smiv2:alias "intSrv" { + smiv2:oid "1.3.6.1.2.1.52"; + } + + smiv2:alias "intSrvObjects" { + smiv2:oid "1.3.6.1.2.1.52.1"; + } + + smiv2:alias "intSrvGenObjects" { + smiv2:oid "1.3.6.1.2.1.52.2"; + } + + smiv2:alias "intSrvNotifications" { + smiv2:oid "1.3.6.1.2.1.52.3"; + } + + smiv2:alias "intSrvConformance" { + smiv2:oid "1.3.6.1.2.1.52.4"; + } + + smiv2:alias "intSrvGroups" { + smiv2:oid "1.3.6.1.2.1.52.4.1"; + } + + smiv2:alias "intSrvCompliances" { + smiv2:oid "1.3.6.1.2.1.52.4.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IP-FORWARD-MIB.yang b/vendor/cisco/xe/17151/MIBS/IP-FORWARD-MIB.yang new file mode 100644 index 000000000..b2cd54d5a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IP-FORWARD-MIB.yang @@ -0,0 +1,755 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IP-FORWARD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IP-FORWARD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IP-FORWARD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB"; + prefix IP-FORWARD-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF OSPF Working Group"; + + contact + " Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + + Phone: +1 805 681 0115 + Email: fred@cisco.com"; + + description + "The MIB module for the display of CIDR multipath IP Routes."; + + revision 1996-09-19 { + description + "Revisions made by the OSPF WG."; + } + + + container IP-FORWARD-MIB { + config false; + + container ipForward { + smiv2:oid "1.3.6.1.2.1.4.24"; + + leaf ipForwardNumber { + type yang:gauge32; + status obsolete; + description + "The number of current ipForwardTable entries + that are not invalid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.1"; + } + + leaf ipCidrRouteNumber { + type yang:gauge32; + description + "The number of current ipCidrRouteTable entries + that are not invalid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.3"; + } + } + + container ipForwardTable { + status obsolete; + description + "This entity's IP Routing table."; + reference + "RFC 1213 Section 6.6, The IP Group"; + smiv2:oid "1.3.6.1.2.1.4.24.2"; + + list ipForwardEntry { + key "ipForwardDest ipForwardProto ipForwardPolicy ipForwardNextHop"; + status obsolete; + description + "A particular route to a particular destina- + tion, under a particular policy."; + smiv2:oid "1.3.6.1.2.1.4.24.2.1"; + + leaf ipForwardDest { + type inet:ipv4-address; + status obsolete; + description + "The destination IP address of this route. An + entry with a value of 0.0.0.0 is considered a + default route. + + This object may not take a Multicast (Class D) + address value. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bitwise logical-AND of x with + the value of the corresponding instance of the + ipForwardMask object is not equal to x."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.1"; + } + + leaf ipForwardMask { + type inet:ipv4-address; + status obsolete; + description + "Indicate the mask to be logical-ANDed with the + destination address before being compared to + the value in the ipForwardDest field. For + those systems that do not support arbitrary + subnet masks, an agent constructs the value of + the ipForwardMask by reference to the IP Ad- + dress Class. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bitwise logical-AND of x with + the value of the corresponding instance of the + ipForwardDest object is not equal to ipForward- + Dest."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.2"; + } + + leaf ipForwardPolicy { + type int32; + status obsolete; + description + "The general set of conditions that would cause + the selection of one multipath route (set of + next hops for a given destination) is referred + to as 'policy'. + + Unless the mechanism indicated by ipForwardPro- + to specifies otherwise, the policy specifier is + the IP TOS Field. The encoding of IP TOS is as + specified by the following convention. Zero + indicates the default path if no more specific + policy applies. + + +-----+-----+-----+-----+-----+-----+-----+-----+ + | | | | + | PRECEDENCE | TYPE OF SERVICE | 0 | + | | | | + +-----+-----+-----+-----+-----+-----+-----+-----+ + + IP TOS IP TOS + Field Policy Field Policy + Contents Code Contents Code + 0 0 0 0 ==> 0 0 0 0 1 ==> 2 + 0 0 1 0 ==> 4 0 0 1 1 ==> 6 + 0 1 0 0 ==> 8 0 1 0 1 ==> 10 + 0 1 1 0 ==> 12 0 1 1 1 ==> 14 + 1 0 0 0 ==> 16 1 0 0 1 ==> 18 + 1 0 1 0 ==> 20 1 0 1 1 ==> 22 + 1 1 0 0 ==> 24 1 1 0 1 ==> 26 + 1 1 1 0 ==> 28 1 1 1 1 ==> 30 + + Protocols defining 'policy' otherwise must ei- + ther define a set of values which are valid for + this object or must implement an integer- + instanced policy table for which this object's + value acts as an index."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.3"; + } + + leaf ipForwardNextHop { + type inet:ipv4-address; + status obsolete; + description + "On remote routes, the address of the next sys- + tem en route; Otherwise, 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.4"; + } + + leaf ipForwardIfIndex { + type int32; + status obsolete; + description + "The ifIndex value which identifies the local + interface through which the next hop of this + route should be reached."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.5"; + } + + leaf ipForwardType { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "local" { + value "3"; + } + enum "remote" { + value "4"; + } + } + status obsolete; + description + "The type of route. Note that local(3) refers + to a route for which the next hop is the final + destination; remote(4) refers to a route for + which the next hop is not the final destina- + tion. + + Setting this object to the value invalid(2) has + the effect of invalidating the corresponding + entry in the ipForwardTable object. That is, + it effectively disassociates the destination + identified with said entry from the route iden- + tified with said entry. It is an + implementation-specific matter as to whether + the agent removes an invalidated entry from the + table. Accordingly, management stations must + be prepared to receive tabular information from + agents that corresponds to entries not current- + ly in use. Proper interpretation of such en- + tries requires examination of the relevant ip- + ForwardType object."; + smiv2:defval "invalid"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.6"; + } + + leaf ipForwardProto { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "egp" { + value "5"; + } + enum "ggp" { + value "6"; + } + enum "hello" { + value "7"; + } + enum "rip" { + value "8"; + } + enum "is-is" { + value "9"; + } + enum "es-is" { + value "10"; + } + enum "ciscoIgrp" { + value "11"; + } + enum "bbnSpfIgp" { + value "12"; + } + enum "ospf" { + value "13"; + } + enum "bgp" { + value "14"; + } + enum "idpr" { + value "15"; + } + } + status obsolete; + description + "The routing mechanism via which this route was + learned. Inclusion of values for gateway rout- + ing protocols is not intended to imply that + hosts should support those protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.7"; + } + + leaf ipForwardAge { + type int32; + status obsolete; + description + "The number of seconds since this route was + last updated or otherwise determined to be + correct. Note that no semantics of `too old' + can be implied except through knowledge of the + routing protocol by which the route was + learned."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.8"; + } + + leaf ipForwardInfo { + type yang:object-identifier-128; + status obsolete; + description + "A reference to MIB definitions specific to the + particular routing protocol which is responsi- + ble for this route, as determined by the value + specified in the route's ipForwardProto value. + If this information is not present, its value + should be set to the OBJECT IDENTIFIER { 0 0 }, + which is a syntactically valid object identif- + ier, and any implementation conforming to ASN.1 + and the Basic Encoding Rules must be able to + generate and recognize this value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.9"; + } + + leaf ipForwardNextHopAS { + type int32; + status obsolete; + description + "The Autonomous System Number of the Next Hop. + When this is unknown or not relevant to the + protocol indicated by ipForwardProto, zero."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.10"; + } + + leaf ipForwardMetric1 { + type int32; + status obsolete; + description + "The primary routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipForwardProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.11"; + } + + leaf ipForwardMetric2 { + type int32; + status obsolete; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipForwardProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.12"; + } + + leaf ipForwardMetric3 { + type int32; + status obsolete; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipForwardProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.13"; + } + + leaf ipForwardMetric4 { + type int32; + status obsolete; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipForwardProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.14"; + } + + leaf ipForwardMetric5 { + type int32; + status obsolete; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipForwardProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.2.1.15"; + } + } + } + + container ipCidrRouteTable { + description + "This entity's IP Routing table."; + reference + "RFC 1213 Section 6.6, The IP Group"; + smiv2:oid "1.3.6.1.2.1.4.24.4"; + + list ipCidrRouteEntry { + key "ipCidrRouteDest ipCidrRouteMask ipCidrRouteTos ipCidrRouteNextHop"; + description + "A particular route to a particular destina- + tion, under a particular policy."; + smiv2:oid "1.3.6.1.2.1.4.24.4.1"; + + leaf ipCidrRouteDest { + type inet:ipv4-address; + description + "The destination IP address of this route. + + This object may not take a Multicast (Class D) + address value. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bitwise logical-AND of x with + the value of the corresponding instance of the + ipCidrRouteMask object is not equal to x."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.1"; + } + + leaf ipCidrRouteMask { + type inet:ipv4-address; + description + "Indicate the mask to be logical-ANDed with the + destination address before being compared to + the value in the ipCidrRouteDest field. For + those systems that do not support arbitrary + subnet masks, an agent constructs the value of + the ipCidrRouteMask by reference to the IP Ad- + dress Class. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bitwise logical-AND of x with + the value of the corresponding instance of the + ipCidrRouteDest object is not equal to ipCidrRoute- + Dest."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.2"; + } + + leaf ipCidrRouteTos { + type int32; + description + "The policy specifier is the IP TOS Field. The encoding + of IP TOS is as specified by the following convention. + Zero indicates the default path if no more specific + policy applies. + + +-----+-----+-----+-----+-----+-----+-----+-----+ + | | | | + | PRECEDENCE | TYPE OF SERVICE | 0 | + | | | | + +-----+-----+-----+-----+-----+-----+-----+-----+ + + IP TOS IP TOS + Field Policy Field Policy + Contents Code Contents Code + 0 0 0 0 ==> 0 0 0 0 1 ==> 2 + 0 0 1 0 ==> 4 0 0 1 1 ==> 6 + 0 1 0 0 ==> 8 0 1 0 1 ==> 10 + 0 1 1 0 ==> 12 0 1 1 1 ==> 14 + 1 0 0 0 ==> 16 1 0 0 1 ==> 18 + 1 0 1 0 ==> 20 1 0 1 1 ==> 22 + 1 1 0 0 ==> 24 1 1 0 1 ==> 26 + 1 1 1 0 ==> 28 1 1 1 1 ==> 30"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.3"; + } + + leaf ipCidrRouteNextHop { + type inet:ipv4-address; + description + "On remote routes, the address of the next sys- + tem en route; Otherwise, 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.4"; + } + + leaf ipCidrRouteIfIndex { + type int32; + description + "The ifIndex value which identifies the local + interface through which the next hop of this + route should be reached."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.5"; + } + + leaf ipCidrRouteType { + type enumeration { + enum "other" { + value "1"; + } + enum "reject" { + value "2"; + } + enum "local" { + value "3"; + } + enum "remote" { + value "4"; + } + } + description + "The type of route. Note that local(3) refers + to a route for which the next hop is the final + destination; remote(4) refers to a route for + which the next hop is not the final destina- + tion. + + Routes which do not result in traffic forwarding or + rejection should not be displayed even if the + implementation keeps them stored internally. + + + reject (2) refers to a route which, if matched, discards + the message as unreachable. This is used in some + protocols as a means of correctly aggregating routes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.6"; + } + + leaf ipCidrRouteProto { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "egp" { + value "5"; + } + enum "ggp" { + value "6"; + } + enum "hello" { + value "7"; + } + enum "rip" { + value "8"; + } + enum "isIs" { + value "9"; + } + enum "esIs" { + value "10"; + } + enum "ciscoIgrp" { + value "11"; + } + enum "bbnSpfIgp" { + value "12"; + } + enum "ospf" { + value "13"; + } + enum "bgp" { + value "14"; + } + enum "idpr" { + value "15"; + } + enum "ciscoEigrp" { + value "16"; + } + } + description + "The routing mechanism via which this route was + learned. Inclusion of values for gateway rout- + ing protocols is not intended to imply that + hosts should support those protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.7"; + } + + leaf ipCidrRouteAge { + type int32; + description + "The number of seconds since this route was + last updated or otherwise determined to be + correct. Note that no semantics of `too old' + can be implied except through knowledge of the + routing protocol by which the route was + learned."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.8"; + } + + leaf ipCidrRouteInfo { + type yang:object-identifier-128; + description + "A reference to MIB definitions specific to the + particular routing protocol which is responsi- + ble for this route, as determined by the value + specified in the route's ipCidrRouteProto value. + If this information is not present, its value + should be set to the OBJECT IDENTIFIER { 0 0 }, + which is a syntactically valid object identif- + ier, and any implementation conforming to ASN.1 + and the Basic Encoding Rules must be able to + generate and recognize this value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.9"; + } + + leaf ipCidrRouteNextHopAS { + type int32; + description + "The Autonomous System Number of the Next Hop. + The semantics of this object are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. When this object is + unknown or not relevant its value should be set + to zero."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.10"; + } + + leaf ipCidrRouteMetric1 { + type int32; + description + "The primary routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.11"; + } + + leaf ipCidrRouteMetric2 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.12"; + } + + leaf ipCidrRouteMetric3 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.13"; + } + + leaf ipCidrRouteMetric4 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.14"; + } + + leaf ipCidrRouteMetric5 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + ipCidrRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.15"; + } + + leaf ipCidrRouteStatus { + type snmpv2-tc:RowStatus; + description + "The row status variable, used according to + row installation and removal conventions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.24.4.1.16"; + } + } + } + } + + smiv2:alias "ipForward" { + smiv2:oid "1.3.6.1.2.1.4.24"; + } + + smiv2:alias "ipForwardConformance" { + smiv2:oid "1.3.6.1.2.1.4.24.5"; + } + + smiv2:alias "ipForwardGroups" { + smiv2:oid "1.3.6.1.2.1.4.24.5.1"; + } + + smiv2:alias "ipForwardCompliances" { + smiv2:oid "1.3.6.1.2.1.4.24.5.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IP-MIB.yang b/vendor/cisco/xe/17151/MIBS/IP-MIB.yang new file mode 100644 index 000000000..a7cc2b205 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IP-MIB.yang @@ -0,0 +1,4198 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IP-MIB"; + prefix IP-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IPv6 MIB Revision Team"; + + contact + "Editor: + + + Shawn A. Routhier + Interworking Labs + 108 Whispering Pines Dr. Suite 235 + Scotts Valley, CA 95066 + USA + EMail: "; + + description + "The MIB module for managing IP and ICMP implementations, but + excluding their management of IP routes. + + Copyright (C) The Internet Society (2006). This version of + this MIB module is part of RFC 4293; see the RFC itself for + full legal notices."; + + revision 2006-02-02 { + description + "The IP version neutral revision with added IPv6 objects for + ND, default routers, and router advertisements. As well as + being the successor to RFC 2011, this MIB is also the + successor to RFCs 2465 and 2466. Published as RFC 4293."; + } + + revision 1994-11-01 { + description + "A separate MIB module (IP-MIB) for IP and ICMP management + objects. Published as RFC 2011."; + } + + revision 1991-03-31 { + description + "The initial revision of this MIB module was part of MIB-II, + which was published as RFC 1213."; + } + + typedef IpAddressOriginTC { + type enumeration { + enum "other" { + value "1"; + } + enum "manual" { + value "2"; + } + enum "dhcp" { + value "4"; + } + enum "linklayer" { + value "5"; + } + enum "random" { + value "6"; + } + } + description + "The origin of the address. + + manual(2) indicates that the address was manually configured + to a specified address, e.g., by user configuration. + + dhcp(4) indicates an address that was assigned to this + system by a DHCP server. + + linklayer(5) indicates an address created by IPv6 stateless + + + auto-configuration. + + random(6) indicates an address chosen by the system at + random, e.g., an IPv4 address within 169.254/16, or an RFC + 3041 privacy address."; + } + + typedef IpAddressStatusTC { + type enumeration { + enum "preferred" { + value "1"; + } + enum "deprecated" { + value "2"; + } + enum "invalid" { + value "3"; + } + enum "inaccessible" { + value "4"; + } + enum "unknown" { + value "5"; + } + enum "tentative" { + value "6"; + } + enum "duplicate" { + value "7"; + } + enum "optimistic" { + value "8"; + } + } + description + "The status of an address. Most of the states correspond to + states from the IPv6 Stateless Address Autoconfiguration + protocol. + + The preferred(1) state indicates that this is a valid + address that can appear as the destination or source address + of a packet. + + The deprecated(2) state indicates that this is a valid but + deprecated address that should no longer be used as a source + address in new communications, but packets addressed to such + an address are processed as expected. + + The invalid(3) state indicates that this isn't a valid + address and it shouldn't appear as the destination or source + address of a packet. + + The inaccessible(4) state indicates that the address is not + accessible because the interface to which this address is + assigned is not operational. + + The unknown(5) state indicates that the status cannot be + determined for some reason. + + The tentative(6) state indicates that the uniqueness of the + address on the link is being verified. Addresses in this + state should not be used for general communication and + should only be used to determine the uniqueness of the + address. + + The duplicate(7) state indicates the address has been + determined to be non-unique on the link and so must not be + + + used. + + The optimistic(8) state indicates the address is available + for use, subject to restrictions, while its uniqueness on + a link is being verified. + + In the absence of other information, an IPv4 address is + always preferred(1)."; + reference + "RFC 2462"; + } + + typedef IpAddressPrefixOriginTC { + type enumeration { + enum "other" { + value "1"; + } + enum "manual" { + value "2"; + } + enum "wellknown" { + value "3"; + } + enum "dhcp" { + value "4"; + } + enum "routeradv" { + value "5"; + } + } + description + "The origin of this prefix. + + manual(2) indicates a prefix that was manually configured. + + wellknown(3) indicates a well-known prefix, e.g., 169.254/16 + for IPv4 auto-configuration or fe80::/10 for IPv6 link-local + addresses. Well known prefixes may be assigned by IANA, + the address registries, or by specification in a standards + track RFC. + + dhcp(4) indicates a prefix that was assigned by a DHCP + server. + + routeradv(5) indicates a prefix learned from a router + advertisement. + + Note: while IpAddressOriginTC and IpAddressPrefixOriginTC + are similar, they are not identical. The first defines how + an address was created, while the second defines how a + prefix was found."; + } + + typedef Ipv6AddressIfIdentifierTC { + type string; + description + "This data type is used to model IPv6 address + interface identifiers. This is a binary string + of up to 8 octets in network byte-order."; + smiv2:display-hint "2x:"; + } + + + container IP-MIB { + config false; + + container ip { + smiv2:oid "1.3.6.1.2.1.4"; + + leaf ipForwarding { + type enumeration { + enum "forwarding" { + value "1"; + } + enum "notForwarding" { + value "2"; + } + } + description + "The indication of whether this entity is acting as an IPv4 + router in respect to the forwarding of datagrams received + by, but not addressed to, this entity. IPv4 routers forward + datagrams. IPv4 hosts do not (except those source-routed + via the host). + + When this object is written, the entity should save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system. + Note: a stronger requirement is not used because this object + was previously defined."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.1"; + } + + leaf ipDefaultTTL { + type int32 { + range "1..255"; + } + description + "The default value inserted into the Time-To-Live field of + the IPv4 header of datagrams originated at this entity, + whenever a TTL value is not supplied by the transport layer + + + protocol. + + When this object is written, the entity should save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system. + Note: a stronger requirement is not used because this object + was previously defined."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.2"; + } + + leaf ipInReceives { + type yang:counter32; + status deprecated; + description + "The total number of input datagrams received from + interfaces, including those received in error. + + This object has been deprecated, as a new IP version-neutral + + + table has been added. It is loosely replaced by + ipSystemStatsInRecieves."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.3"; + } + + leaf ipInHdrErrors { + type yang:counter32; + status deprecated; + description + "The number of input datagrams discarded due to errors in + their IPv4 headers, including bad checksums, version number + mismatch, other format errors, time-to-live exceeded, errors + discovered in processing their IPv4 options, etc. + + This object has been deprecated as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsInHdrErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.4"; + } + + leaf ipInAddrErrors { + type yang:counter32; + status deprecated; + description + "The number of input datagrams discarded because the IPv4 + address in their IPv4 header's destination field was not a + valid address to be received at this entity. This count + includes invalid addresses (e.g., 0.0.0.0) and addresses of + unsupported Classes (e.g., Class E). For entities which are + not IPv4 routers, and therefore do not forward datagrams, + this counter includes datagrams discarded because the + destination address was not a local address. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsInAddrErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.5"; + } + + leaf ipForwDatagrams { + type yang:counter32; + status deprecated; + description + "The number of input datagrams for which this entity was not + their final IPv4 destination, as a result of which an + attempt was made to find a route to forward them to that + final destination. In entities which do not act as IPv4 + routers, this counter will include only those packets which + + + were Source-Routed via this entity, and the Source-Route + option processing was successful. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsInForwDatagrams."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.6"; + } + + leaf ipInUnknownProtos { + type yang:counter32; + status deprecated; + description + "The number of locally-addressed datagrams received + successfully but discarded because of an unknown or + unsupported protocol. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsInUnknownProtos."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.7"; + } + + leaf ipInDiscards { + type yang:counter32; + status deprecated; + description + "The number of input IPv4 datagrams for which no problems + were encountered to prevent their continued processing, but + which were discarded (e.g., for lack of buffer space). Note + that this counter does not include any datagrams discarded + while awaiting re-assembly. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsInDiscards."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.8"; + } + + leaf ipInDelivers { + type yang:counter32; + status deprecated; + description + "The total number of input datagrams successfully delivered + to IPv4 user-protocols (including ICMP). + + This object has been deprecated as a new IP version neutral + table has been added. It is loosely replaced by + + + ipSystemStatsIndelivers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.9"; + } + + leaf ipOutRequests { + type yang:counter32; + status deprecated; + description + "The total number of IPv4 datagrams which local IPv4 user + protocols (including ICMP) supplied to IPv4 in requests for + transmission. Note that this counter does not include any + datagrams counted in ipForwDatagrams. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsOutRequests."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.10"; + } + + leaf ipOutDiscards { + type yang:counter32; + status deprecated; + description + "The number of output IPv4 datagrams for which no problem was + encountered to prevent their transmission to their + destination, but which were discarded (e.g., for lack of + buffer space). Note that this counter would include + datagrams counted in ipForwDatagrams if any such packets met + this (discretionary) discard criterion. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsOutDiscards."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.11"; + } + + leaf ipOutNoRoutes { + type yang:counter32; + status deprecated; + description + "The number of IPv4 datagrams discarded because no route + could be found to transmit them to their destination. Note + that this counter includes any packets counted in + ipForwDatagrams which meet this `no-route' criterion. Note + that this includes any datagrams which a host cannot route + because all of its default routers are down. + + This object has been deprecated, as a new IP version-neutral + + + table has been added. It is loosely replaced by + ipSystemStatsOutNoRoutes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.12"; + } + + leaf ipReasmTimeout { + type int32; + units "seconds"; + description + "The maximum number of seconds that received fragments are + held while they are awaiting reassembly at this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.13"; + } + + leaf ipReasmReqds { + type yang:counter32; + status deprecated; + description + "The number of IPv4 fragments received which needed to be + reassembled at this entity. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsReasmReqds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.14"; + } + + leaf ipReasmOKs { + type yang:counter32; + status deprecated; + description + "The number of IPv4 datagrams successfully re-assembled. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsReasmOKs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.15"; + } + + leaf ipReasmFails { + type yang:counter32; + status deprecated; + description + "The number of failures detected by the IPv4 re-assembly + algorithm (for whatever reason: timed out, errors, etc). + Note that this is not necessarily a count of discarded IPv4 + fragments since some algorithms (notably the algorithm in + RFC 815) can lose track of the number of fragments by + combining them as they are received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsReasmFails."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.16"; + } + + leaf ipFragOKs { + type yang:counter32; + status deprecated; + description + "The number of IPv4 datagrams that have been successfully + fragmented at this entity. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsOutFragOKs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.17"; + } + + leaf ipFragFails { + type yang:counter32; + status deprecated; + description + "The number of IPv4 datagrams that have been discarded + because they needed to be fragmented at this entity but + could not be, e.g., because their Don't Fragment flag was + set. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + ipSystemStatsOutFragFails."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.18"; + } + + leaf ipFragCreates { + type yang:counter32; + status deprecated; + description + "The number of IPv4 datagram fragments that have been + generated as a result of fragmentation at this entity. + + This object has been deprecated as a new IP version neutral + table has been added. It is loosely replaced by + ipSystemStatsOutFragCreates."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.19"; + } + + leaf ipRoutingDiscards { + type yang:counter32; + status deprecated; + description + "The number of routing entries which were chosen to be + discarded even though they are valid. One possible reason + for discarding such an entry could be to free-up buffer + space for other routing entries. + + + This object was defined in pre-IPv6 versions of the IP MIB. + It was implicitly IPv4 only, but the original specifications + did not indicate this protocol restriction. In order to + clarify the specifications, this object has been deprecated + and a similar, but more thoroughly clarified, object has + been added to the IP-FORWARD-MIB."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.23"; + } + + leaf ipv6IpForwarding { + type enumeration { + enum "forwarding" { + value "1"; + } + enum "notForwarding" { + value "2"; + } + } + description + "The indication of whether this entity is acting as an IPv6 + router on any interface in respect to the forwarding of + datagrams received by, but not addressed to, this entity. + IPv6 routers forward datagrams. IPv6 hosts do not (except + those source-routed via the host). + + When this object is written, the entity SHOULD save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.25"; + } + + leaf ipv6IpDefaultHopLimit { + type int32 { + range "0..255"; + } + description + "The default value inserted into the Hop Limit field of the + IPv6 header of datagrams originated at this entity whenever + a Hop Limit value is not supplied by the transport layer + protocol. + + When this object is written, the entity SHOULD save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system."; + reference + "RFC 2461 Section 6.3.2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.26"; + } + + leaf ipv4InterfaceTableLastChange { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + a row in the ipv4InterfaceTable was added or deleted, or + when an ipv4InterfaceReasmMaxSize or an + ipv4InterfaceEnableStatus object was modified. + + If new objects are added to the ipv4InterfaceTable that + require the ipv4InterfaceTableLastChange to be updated when + they are modified, they must specify that requirement in + their description clause."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.27"; + } + + leaf ipv6InterfaceTableLastChange { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + a row in the ipv6InterfaceTable was added or deleted or when + an ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier, + ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime, + ipv6InterfaceRetransmitTime, or ipv6InterfaceForwarding + object was modified. + + If new objects are added to the ipv6InterfaceTable that + require the ipv6InterfaceTableLastChange to be updated when + they are modified, they must specify that requirement in + their description clause."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.29"; + } + + leaf ipAddressSpinLock { + type snmpv2-tc:TestAndIncr; + description + "An advisory lock used to allow cooperating SNMP managers to + coordinate their use of the set operation in creating or + modifying rows within this table. + + In order to use this lock to coordinate the use of set + operations, managers should first retrieve + ipAddressTableSpinLock. They should then determine the + appropriate row to create or modify. Finally, they should + issue the appropriate set command, including the retrieved + value of ipAddressSpinLock. If another manager has altered + the table in the meantime, then the value of + ipAddressSpinLock will have changed, and the creation will + fail as it will be specifying an incorrect value for + ipAddressSpinLock. It is suggested, but not required, that + the ipAddressSpinLock be the first var bind for each set of + objects representing a 'row' in a PDU."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.33"; + } + + leaf ipv6RouterAdvertSpinLock { + type snmpv2-tc:TestAndIncr; + description + "An advisory lock used to allow cooperating SNMP managers to + coordinate their use of the set operation in creating or + modifying rows within this table. + + In order to use this lock to coordinate the use of set + operations, managers should first retrieve + ipv6RouterAdvertSpinLock. They should then determine the + appropriate row to create or modify. Finally, they should + issue the appropriate set command including the retrieved + value of ipv6RouterAdvertSpinLock. If another manager has + altered the table in the meantime, then the value of + ipv6RouterAdvertSpinLock will have changed and the creation + will fail as it will be specifying an incorrect value for + ipv6RouterAdvertSpinLock. It is suggested, but not + required, that the ipv6RouterAdvertSpinLock be the first var + bind for each set of objects representing a 'row' in a PDU."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.38"; + } + } + + container ipTrafficStats { + smiv2:oid "1.3.6.1.2.1.4.31"; + + leaf ipIfStatsTableLastChange { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + a row in the ipIfStatsTable was added or deleted. + + If new objects are added to the ipIfStatsTable that require + the ipIfStatsTableLastChange to be updated when they are + modified, they must specify that requirement in their + description clause."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.2"; + } + } + + container icmp { + smiv2:oid "1.3.6.1.2.1.5"; + + leaf icmpInMsgs { + type yang:counter32; + status deprecated; + description + "The total number of ICMP messages which the entity received. + Note that this counter includes all those counted by + icmpInErrors. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + icmpStatsInMsgs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.1"; + } + + leaf icmpInErrors { + type yang:counter32; + status deprecated; + description + "The number of ICMP messages which the entity received but + determined as having ICMP-specific errors (bad ICMP + checksums, bad length, etc.). + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + icmpStatsInErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.2"; + } + + leaf icmpInDestUnreachs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Destination Unreachable messages + received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.3"; + } + + leaf icmpInTimeExcds { + type yang:counter32; + status deprecated; + description + "The number of ICMP Time Exceeded messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.4"; + } + + leaf icmpInParmProbs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Parameter Problem messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.5"; + } + + leaf icmpInSrcQuenchs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Source Quench messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.6"; + } + + leaf icmpInRedirects { + type yang:counter32; + status deprecated; + description + "The number of ICMP Redirect messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.7"; + } + + leaf icmpInEchos { + type yang:counter32; + status deprecated; + description + "The number of ICMP Echo (request) messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.8"; + } + + leaf icmpInEchoReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Echo Reply messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.9"; + } + + leaf icmpInTimestamps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Timestamp (request) messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.10"; + } + + leaf icmpInTimestampReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Timestamp Reply messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.11"; + } + + leaf icmpInAddrMasks { + type yang:counter32; + status deprecated; + description + "The number of ICMP Address Mask Request messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.12"; + } + + leaf icmpInAddrMaskReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Address Mask Reply messages received. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.13"; + } + + leaf icmpOutMsgs { + type yang:counter32; + status deprecated; + description + "The total number of ICMP messages which this entity + attempted to send. Note that this counter includes all + those counted by icmpOutErrors. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + icmpStatsOutMsgs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.14"; + } + + leaf icmpOutErrors { + type yang:counter32; + status deprecated; + description + "The number of ICMP messages which this entity did not send + due to problems discovered within ICMP, such as a lack of + buffers. This value should not include errors discovered + outside the ICMP layer, such as the inability of IP to route + the resultant datagram. In some implementations, there may + be no types of error which contribute to this counter's + value. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by + icmpStatsOutErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.15"; + } + + leaf icmpOutDestUnreachs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Destination Unreachable messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.16"; + } + + leaf icmpOutTimeExcds { + type yang:counter32; + status deprecated; + description + "The number of ICMP Time Exceeded messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.17"; + } + + leaf icmpOutParmProbs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Parameter Problem messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.18"; + } + + leaf icmpOutSrcQuenchs { + type yang:counter32; + status deprecated; + description + "The number of ICMP Source Quench messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.19"; + } + + leaf icmpOutRedirects { + type yang:counter32; + status deprecated; + description + "The number of ICMP Redirect messages sent. For a host, this + object will always be zero, since hosts do not send + redirects. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.20"; + } + + leaf icmpOutEchos { + type yang:counter32; + status deprecated; + description + "The number of ICMP Echo (request) messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.21"; + } + + leaf icmpOutEchoReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Echo Reply messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.22"; + } + + leaf icmpOutTimestamps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Timestamp (request) messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.23"; + } + + leaf icmpOutTimestampReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Timestamp Reply messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.24"; + } + + leaf icmpOutAddrMasks { + type yang:counter32; + status deprecated; + description + "The number of ICMP Address Mask Request messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.25"; + } + + leaf icmpOutAddrMaskReps { + type yang:counter32; + status deprecated; + description + "The number of ICMP Address Mask Reply messages sent. + + This object has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by a column in + the icmpMsgStatsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.26"; + } + } + + container ipAddrTable { + status deprecated; + description + "The table of addressing information relevant to this + entity's IPv4 addresses. + + This table has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by the + ipAddressTable although several objects that weren't deemed + useful weren't carried forward while another + (ipAdEntReasmMaxSize) was moved to the ipv4InterfaceTable."; + smiv2:oid "1.3.6.1.2.1.4.20"; + + list ipAddrEntry { + key "ipAdEntAddr"; + status deprecated; + description + "The addressing information for one of this entity's IPv4 + addresses."; + smiv2:oid "1.3.6.1.2.1.4.20.1"; + + leaf ipAdEntAddr { + type inet:ipv4-address; + status deprecated; + description + "The IPv4 address to which this entry's addressing + information pertains."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.1"; + } + + leaf ipAdEntIfIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "The index value which uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.2"; + } + + leaf ipAdEntNetMask { + type inet:ipv4-address; + status deprecated; + description + "The subnet mask associated with the IPv4 address of this + entry. The value of the mask is an IPv4 address with all + the network bits set to 1 and all the hosts bits set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.3"; + } + + leaf ipAdEntBcastAddr { + type int32 { + range "0..1"; + } + status deprecated; + description + "The value of the least-significant bit in the IPv4 broadcast + address used for sending datagrams on the (logical) + interface associated with the IPv4 address of this entry. + For example, when the Internet standard all-ones broadcast + address is used, the value will be 1. This value applies to + both the subnet and network broadcast addresses used by the + entity on this (logical) interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.4"; + } + + leaf ipAdEntReasmMaxSize { + type int32 { + range "0..65535"; + } + status deprecated; + description + "The size of the largest IPv4 datagram which this entity can + re-assemble from incoming IPv4 fragmented datagrams received + on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.5"; + } + } + } + + container ipNetToMediaTable { + status deprecated; + description + "The IPv4 Address Translation table used for mapping from + IPv4 addresses to physical addresses. + + This table has been deprecated, as a new IP version-neutral + table has been added. It is loosely replaced by the + ipNetToPhysicalTable."; + smiv2:oid "1.3.6.1.2.1.4.22"; + + list ipNetToMediaEntry { + key "ipNetToMediaIfIndex ipNetToMediaNetAddress"; + status deprecated; + description + "Each entry contains one IpAddress to `physical' address + equivalence."; + smiv2:oid "1.3.6.1.2.1.4.22.1"; + + leaf ipNetToMediaIfIndex { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "The interface on which this entry's equivalence is + effective. The interface identified by a particular value + of this index is the same interface as identified by the + + + same value of the IF-MIB's ifIndex. + + This object predates the rule limiting index objects to a + max access value of 'not-accessible' and so continues to use + a value of 'read-create'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.1"; + } + + leaf ipNetToMediaPhysAddress { + type yang:phys-address { + length "0..65535"; + } + status deprecated; + description + "The media-dependent `physical' address. This object should + return 0 when this entry is in the 'incomplete' state. + + As the entries in this table are typically not persistent + when this object is written the entity should not save the + change to non-volatile storage. Note: a stronger + requirement is not used because this object was previously + defined."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.2"; + } + + leaf ipNetToMediaNetAddress { + type inet:ipv4-address; + status deprecated; + description + "The IpAddress corresponding to the media-dependent + `physical' address. + + This object predates the rule limiting index objects to a + max access value of 'not-accessible' and so continues to use + a value of 'read-create'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.3"; + } + + leaf ipNetToMediaType { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "dynamic" { + value "3"; + } + enum "static" { + value "4"; + } + } + status deprecated; + description + "The type of mapping. + + Setting this object to the value invalid(2) has the effect + + + of invalidating the corresponding entry in the + ipNetToMediaTable. That is, it effectively dis-associates + the interface identified with said entry from the mapping + identified with said entry. It is an implementation- + specific matter as to whether the agent removes an + invalidated entry from the table. Accordingly, management + stations must be prepared to receive tabular information + from agents that corresponds to entries not currently in + use. Proper interpretation of such entries requires + examination of the relevant ipNetToMediaType object. + + As the entries in this table are typically not persistent + when this object is written the entity should not save the + change to non-volatile storage. Note: a stronger + requirement is not used because this object was previously + defined."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.4"; + } + } + } + + container ipv4InterfaceTable { + description + "The table containing per-interface IPv4-specific + information."; + smiv2:oid "1.3.6.1.2.1.4.28"; + + list ipv4InterfaceEntry { + key "ipv4InterfaceIfIndex"; + description + "An entry containing IPv4-specific information for a specific + interface."; + smiv2:oid "1.3.6.1.2.1.4.28.1"; + + leaf ipv4InterfaceIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.28.1.1"; + } + + leaf ipv4InterfaceReasmMaxSize { + type int32 { + range "0..65535"; + } + description + "The size of the largest IPv4 datagram that this entity can + re-assemble from incoming IPv4 fragmented datagrams received + on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.28.1.2"; + } + + leaf ipv4InterfaceEnableStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The indication of whether IPv4 is enabled (up) or disabled + (down) on this interface. This object does not affect the + state of the interface itself, only its connection to an + IPv4 stack. The IF-MIB should be used to control the state + of the interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.28.1.3"; + } + + leaf ipv4InterfaceRetransmitTime { + type uint32; + units "milliseconds"; + description + "The time between retransmissions of ARP requests to a + neighbor when resolving the address or when probing the + reachability of a neighbor."; + reference + "RFC 1122"; + smiv2:defval "1000"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.28.1.4"; + } + } + } + + container ipv6InterfaceTable { + description + "The table containing per-interface IPv6-specific + information."; + smiv2:oid "1.3.6.1.2.1.4.30"; + + list ipv6InterfaceEntry { + key "ipv6InterfaceIfIndex"; + description + "An entry containing IPv6-specific information for a given + interface."; + smiv2:oid "1.3.6.1.2.1.4.30.1"; + + leaf ipv6InterfaceIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.30.1.1"; + } + + leaf ipv6InterfaceReasmMaxSize { + type uint32 { + range "1500..65535"; + } + units "octets"; + description + "The size of the largest IPv6 datagram that this entity can + re-assemble from incoming IPv6 fragmented datagrams received + on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.30.1.2"; + } + + leaf ipv6InterfaceIdentifier { + type IP-MIB:Ipv6AddressIfIdentifierTC; + description + "The Interface Identifier for this interface. The Interface + Identifier is combined with an address prefix to form an + interface address. + + By default, the Interface Identifier is auto-configured + according to the rules of the link type to which this + interface is attached. + + + A zero length identifier may be used where appropriate. One + possible example is a loopback interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.30.1.3"; + } + + leaf ipv6InterfaceEnableStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "The indication of whether IPv6 is enabled (up) or disabled + (down) on this interface. This object does not affect the + state of the interface itself, only its connection to an + IPv6 stack. The IF-MIB should be used to control the state + of the interface. + + When this object is written, the entity SHOULD save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.30.1.5"; + } + + leaf ipv6InterfaceReachableTime { + type uint32; + units "milliseconds"; + description + "The time a neighbor is considered reachable after receiving + a reachability confirmation."; + reference + "RFC 2461, Section 6.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.30.1.6"; + } + + leaf ipv6InterfaceRetransmitTime { + type uint32; + units "milliseconds"; + description + "The time between retransmissions of Neighbor Solicitation + messages to a neighbor when resolving the address or when + probing the reachability of a neighbor."; + reference + "RFC 2461, Section 6.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.30.1.7"; + } + + leaf ipv6InterfaceForwarding { + type enumeration { + enum "forwarding" { + value "1"; + } + enum "notForwarding" { + value "2"; + } + } + description + "The indication of whether this entity is acting as an IPv6 + router on this interface with respect to the forwarding of + datagrams received by, but not addressed to, this entity. + IPv6 routers forward datagrams. IPv6 hosts do not (except + those source-routed via the host). + + This object is constrained by ipv6IpForwarding and is + ignored if ipv6IpForwarding is set to notForwarding. Those + systems that do not provide per-interface control of the + forwarding function should set this object to forwarding for + all interfaces and allow the ipv6IpForwarding object to + control the forwarding capability. + + When this object is written, the entity SHOULD save the + change to non-volatile storage and restore the object from + non-volatile storage upon re-initialization of the system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.30.1.8"; + } + } + } + + container ipSystemStatsTable { + description + "The table containing system wide, IP version specific + traffic statistics. This table and the ipIfStatsTable + contain similar objects whose difference is in their + granularity. Where this table contains system wide traffic + statistics, the ipIfStatsTable contains the same statistics + but counted on a per-interface basis."; + smiv2:oid "1.3.6.1.2.1.4.31.1"; + + list ipSystemStatsEntry { + key "ipSystemStatsIPVersion"; + description + "A statistics entry containing system-wide objects for a + particular IP version."; + smiv2:oid "1.3.6.1.2.1.4.31.1.1"; + + leaf ipSystemStatsIPVersion { + type inet:ip-version; + description + "The IP version of this row."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.1"; + } + + leaf ipSystemStatsInReceives { + type yang:counter32; + description + "The total number of input IP datagrams received, including + those received in error. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.3"; + } + + leaf ipSystemStatsHCInReceives { + type yang:counter64; + description + "The total number of input IP datagrams received, including + those received in error. This object counts the same + datagrams as ipSystemStatsInReceives, but allows for larger + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.4"; + } + + leaf ipSystemStatsInOctets { + type yang:counter32; + description + "The total number of octets received in input IP datagrams, + including those received in error. Octets from datagrams + counted in ipSystemStatsInReceives MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.5"; + } + + leaf ipSystemStatsHCInOctets { + type yang:counter64; + description + "The total number of octets received in input IP datagrams, + including those received in error. This object counts the + same octets as ipSystemStatsInOctets, but allows for larger + + + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.6"; + } + + leaf ipSystemStatsInHdrErrors { + type yang:counter32; + description + "The number of input IP datagrams discarded due to errors in + their IP headers, including version number mismatch, other + format errors, hop count exceeded, errors discovered in + processing their IP options, etc. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.7"; + } + + leaf ipSystemStatsInNoRoutes { + type yang:counter32; + description + "The number of input IP datagrams discarded because no route + could be found to transmit them to their destination. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.8"; + } + + leaf ipSystemStatsInAddrErrors { + type yang:counter32; + description + "The number of input IP datagrams discarded because the IP + address in their IP header's destination field was not a + valid address to be received at this entity. This count + includes invalid addresses (e.g., ::0). For entities + that are not IP routers and therefore do not forward + + + datagrams, this counter includes datagrams discarded + because the destination address was not a local address. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.9"; + } + + leaf ipSystemStatsInUnknownProtos { + type yang:counter32; + description + "The number of locally-addressed IP datagrams received + successfully but discarded because of an unknown or + unsupported protocol. + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.10"; + } + + leaf ipSystemStatsInTruncatedPkts { + type yang:counter32; + description + "The number of input IP datagrams discarded because the + datagram frame didn't carry enough data. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.11"; + } + + leaf ipSystemStatsInForwDatagrams { + type yang:counter32; + description + "The number of input datagrams for which this entity was not + their final IP destination and for which this entity + attempted to find a route to forward them to that final + destination. In entities that do not act as IP routers, + this counter will include only those datagrams that were + Source-Routed via this entity, and the Source-Route + processing was successful. + + When tracking interface statistics, the counter of the + incoming interface is incremented for each datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.12"; + } + + leaf ipSystemStatsHCInForwDatagrams { + type yang:counter64; + description + "The number of input datagrams for which this entity was not + their final IP destination and for which this entity + attempted to find a route to forward them to that final + destination. This object counts the same packets as + ipSystemStatsInForwDatagrams, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.13"; + } + + leaf ipSystemStatsReasmReqds { + type yang:counter32; + description + "The number of IP fragments received that needed to be + reassembled at this interface. + + When tracking interface statistics, the counter of the + interface to which these fragments were addressed is + incremented. This interface might not be the same as the + input interface for some of the fragments. + + Discontinuities in the value of this counter can occur at + + + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.14"; + } + + leaf ipSystemStatsReasmOKs { + type yang:counter32; + description + "The number of IP datagrams successfully reassembled. + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.15"; + } + + leaf ipSystemStatsReasmFails { + type yang:counter32; + description + "The number of failures detected by the IP re-assembly + algorithm (for whatever reason: timed out, errors, etc.). + Note that this is not necessarily a count of discarded IP + fragments since some algorithms (notably the algorithm in + RFC 815) can lose track of the number of fragments by + combining them as they are received. + + When tracking interface statistics, the counter of the + interface to which these fragments were addressed is + incremented. This interface might not be the same as the + input interface for some of the fragments. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.16"; + } + + leaf ipSystemStatsInDiscards { + type yang:counter32; + description + "The number of input IP datagrams for which no problems were + encountered to prevent their continued processing, but + were discarded (e.g., for lack of buffer space). Note that + this counter does not include any datagrams discarded while + awaiting re-assembly. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.17"; + } + + leaf ipSystemStatsInDelivers { + type yang:counter32; + description + "The total number of datagrams successfully delivered to IP + user-protocols (including ICMP). + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.18"; + } + + leaf ipSystemStatsHCInDelivers { + type yang:counter64; + description + "The total number of datagrams successfully delivered to IP + user-protocols (including ICMP). This object counts the + same packets as ipSystemStatsInDelivers, but allows for + larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.19"; + } + + leaf ipSystemStatsOutRequests { + type yang:counter32; + description + "The total number of IP datagrams that local IP user- + protocols (including ICMP) supplied to IP in requests for + transmission. Note that this counter does not include any + datagrams counted in ipSystemStatsOutForwDatagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.20"; + } + + leaf ipSystemStatsHCOutRequests { + type yang:counter64; + description + "The total number of IP datagrams that local IP user- + protocols (including ICMP) supplied to IP in requests for + transmission. This object counts the same packets as + ipSystemStatsOutRequests, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.21"; + } + + leaf ipSystemStatsOutNoRoutes { + type yang:counter32; + description + "The number of locally generated IP datagrams discarded + because no route could be found to transmit them to their + destination. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.22"; + } + + leaf ipSystemStatsOutForwDatagrams { + type yang:counter32; + description + "The number of datagrams for which this entity was not their + final IP destination and for which it was successful in + finding a path to their final destination. In entities + that do not act as IP routers, this counter will include + only those datagrams that were Source-Routed via this + entity, and the Source-Route processing was successful. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + forwarded datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.23"; + } + + leaf ipSystemStatsHCOutForwDatagrams { + type yang:counter64; + description + "The number of datagrams for which this entity was not their + final IP destination and for which it was successful in + finding a path to their final destination. This object + counts the same packets as ipSystemStatsOutForwDatagrams, + but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.24"; + } + + leaf ipSystemStatsOutDiscards { + type yang:counter32; + description + "The number of output IP datagrams for which no problem was + encountered to prevent their transmission to their + destination, but were discarded (e.g., for lack of + buffer space). Note that this counter would include + + + datagrams counted in ipSystemStatsOutForwDatagrams if any + such datagrams met this (discretionary) discard criterion. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.25"; + } + + leaf ipSystemStatsOutFragReqds { + type yang:counter32; + description + "The number of IP datagrams that would require fragmentation + in order to be transmitted. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.26"; + } + + leaf ipSystemStatsOutFragOKs { + type yang:counter32; + description + "The number of IP datagrams that have been successfully + fragmented. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.27"; + } + + leaf ipSystemStatsOutFragFails { + type yang:counter32; + description + "The number of IP datagrams that have been discarded because + they needed to be fragmented but could not be. This + includes IPv4 packets that have the DF bit set and IPv6 + packets that are being forwarded and exceed the outgoing + link MTU. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for an unsuccessfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.28"; + } + + leaf ipSystemStatsOutFragCreates { + type yang:counter32; + description + "The number of output datagram fragments that have been + generated as a result of IP fragmentation. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.29"; + } + + leaf ipSystemStatsOutTransmits { + type yang:counter32; + description + "The total number of IP datagrams that this entity supplied + to the lower layers for transmission. This includes + datagrams generated locally and those forwarded by this + entity. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + + + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.30"; + } + + leaf ipSystemStatsHCOutTransmits { + type yang:counter64; + description + "The total number of IP datagrams that this entity supplied + to the lower layers for transmission. This object counts + the same datagrams as ipSystemStatsOutTransmits, but allows + for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.31"; + } + + leaf ipSystemStatsOutOctets { + type yang:counter32; + description + "The total number of octets in IP datagrams delivered to the + lower layers for transmission. Octets from datagrams + counted in ipSystemStatsOutTransmits MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.32"; + } + + leaf ipSystemStatsHCOutOctets { + type yang:counter64; + description + "The total number of octets in IP datagrams delivered to the + lower layers for transmission. This objects counts the same + octets as ipSystemStatsOutOctets, but allows for larger + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + + + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.33"; + } + + leaf ipSystemStatsInMcastPkts { + type yang:counter32; + description + "The number of IP multicast datagrams received. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.34"; + } + + leaf ipSystemStatsHCInMcastPkts { + type yang:counter64; + description + "The number of IP multicast datagrams received. This object + counts the same datagrams as ipSystemStatsInMcastPkts but + allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.35"; + } + + leaf ipSystemStatsInMcastOctets { + type yang:counter32; + description + "The total number of octets received in IP multicast + datagrams. Octets from datagrams counted in + ipSystemStatsInMcastPkts MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.36"; + } + + leaf ipSystemStatsHCInMcastOctets { + type yang:counter64; + description + "The total number of octets received in IP multicast + datagrams. This object counts the same octets as + ipSystemStatsInMcastOctets, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.37"; + } + + leaf ipSystemStatsOutMcastPkts { + type yang:counter32; + description + "The number of IP multicast datagrams transmitted. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.38"; + } + + leaf ipSystemStatsHCOutMcastPkts { + type yang:counter64; + description + "The number of IP multicast datagrams transmitted. This + object counts the same datagrams as + ipSystemStatsOutMcastPkts, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.39"; + } + + leaf ipSystemStatsOutMcastOctets { + type yang:counter32; + description + "The total number of octets transmitted in IP multicast + datagrams. Octets from datagrams counted in + + + ipSystemStatsOutMcastPkts MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.40"; + } + + leaf ipSystemStatsHCOutMcastOctets { + type yang:counter64; + description + "The total number of octets transmitted in IP multicast + datagrams. This object counts the same octets as + ipSystemStatsOutMcastOctets, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.41"; + } + + leaf ipSystemStatsInBcastPkts { + type yang:counter32; + description + "The number of IP broadcast datagrams received. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.42"; + } + + leaf ipSystemStatsHCInBcastPkts { + type yang:counter64; + description + "The number of IP broadcast datagrams received. This object + counts the same datagrams as ipSystemStatsInBcastPkts but + allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + + + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.43"; + } + + leaf ipSystemStatsOutBcastPkts { + type yang:counter32; + description + "The number of IP broadcast datagrams transmitted. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.44"; + } + + leaf ipSystemStatsHCOutBcastPkts { + type yang:counter64; + description + "The number of IP broadcast datagrams transmitted. This + object counts the same datagrams as + ipSystemStatsOutBcastPkts, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipSystemStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.45"; + } + + leaf ipSystemStatsDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + any one or more of this entry's counters suffered a + discontinuity. + + If no such discontinuities have occurred since the last re- + initialization of the local management subsystem, then this + object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.46"; + } + + leaf ipSystemStatsRefreshRate { + type uint32; + units "milli-seconds"; + description + "The minimum reasonable polling interval for this entry. + This object provides an indication of the minimum amount of + time required to update the counters in this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.1.1.47"; + } + } + } + + container ipIfStatsTable { + description + "The table containing per-interface traffic statistics. This + table and the ipSystemStatsTable contain similar objects + whose difference is in their granularity. Where this table + contains per-interface statistics, the ipSystemStatsTable + contains the same statistics, but counted on a system wide + basis."; + smiv2:oid "1.3.6.1.2.1.4.31.3"; + + list ipIfStatsEntry { + key "ipIfStatsIPVersion ipIfStatsIfIndex"; + description + "An interface statistics entry containing objects for a + particular interface and version of IP."; + smiv2:oid "1.3.6.1.2.1.4.31.3.1"; + + leaf ipIfStatsIPVersion { + type inet:ip-version; + description + "The IP version of this row."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.1"; + } + + leaf ipIfStatsIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.2"; + } + + leaf ipIfStatsInReceives { + type yang:counter32; + description + "The total number of input IP datagrams received, including + those received in error. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.3"; + } + + leaf ipIfStatsHCInReceives { + type yang:counter64; + description + "The total number of input IP datagrams received, including + those received in error. This object counts the same + datagrams as ipIfStatsInReceives, but allows for larger + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.4"; + } + + leaf ipIfStatsInOctets { + type yang:counter32; + description + "The total number of octets received in input IP datagrams, + including those received in error. Octets from datagrams + counted in ipIfStatsInReceives MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.5"; + } + + leaf ipIfStatsHCInOctets { + type yang:counter64; + description + "The total number of octets received in input IP datagrams, + including those received in error. This object counts the + same octets as ipIfStatsInOctets, but allows for larger + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.6"; + } + + leaf ipIfStatsInHdrErrors { + type yang:counter32; + description + "The number of input IP datagrams discarded due to errors in + their IP headers, including version number mismatch, other + format errors, hop count exceeded, errors discovered in + processing their IP options, etc. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.7"; + } + + leaf ipIfStatsInNoRoutes { + type yang:counter32; + description + "The number of input IP datagrams discarded because no route + could be found to transmit them to their destination. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.8"; + } + + leaf ipIfStatsInAddrErrors { + type yang:counter32; + description + "The number of input IP datagrams discarded because the IP + address in their IP header's destination field was not a + valid address to be received at this entity. This count + includes invalid addresses (e.g., ::0). For entities that + are not IP routers and therefore do not forward datagrams, + this counter includes datagrams discarded because the + destination address was not a local address. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.9"; + } + + leaf ipIfStatsInUnknownProtos { + type yang:counter32; + description + "The number of locally-addressed IP datagrams received + successfully but discarded because of an unknown or + unsupported protocol. + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + + + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.10"; + } + + leaf ipIfStatsInTruncatedPkts { + type yang:counter32; + description + "The number of input IP datagrams discarded because the + datagram frame didn't carry enough data. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.11"; + } + + leaf ipIfStatsInForwDatagrams { + type yang:counter32; + description + "The number of input datagrams for which this entity was not + their final IP destination and for which this entity + attempted to find a route to forward them to that final + destination. In entities that do not act as IP routers, + this counter will include only those datagrams that were + Source-Routed via this entity, and the Source-Route + processing was successful. + + When tracking interface statistics, the counter of the + incoming interface is incremented for each datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.12"; + } + + leaf ipIfStatsHCInForwDatagrams { + type yang:counter64; + description + "The number of input datagrams for which this entity was not + their final IP destination and for which this entity + attempted to find a route to forward them to that final + destination. This object counts the same packets as + + + ipIfStatsInForwDatagrams, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.13"; + } + + leaf ipIfStatsReasmReqds { + type yang:counter32; + description + "The number of IP fragments received that needed to be + reassembled at this interface. + + When tracking interface statistics, the counter of the + interface to which these fragments were addressed is + incremented. This interface might not be the same as the + input interface for some of the fragments. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.14"; + } + + leaf ipIfStatsReasmOKs { + type yang:counter32; + description + "The number of IP datagrams successfully reassembled. + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.15"; + } + + leaf ipIfStatsReasmFails { + type yang:counter32; + description + "The number of failures detected by the IP re-assembly + algorithm (for whatever reason: timed out, errors, etc.). + Note that this is not necessarily a count of discarded IP + fragments since some algorithms (notably the algorithm in + RFC 815) can lose track of the number of fragments by + combining them as they are received. + + When tracking interface statistics, the counter of the + interface to which these fragments were addressed is + incremented. This interface might not be the same as the + input interface for some of the fragments. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.16"; + } + + leaf ipIfStatsInDiscards { + type yang:counter32; + description + "The number of input IP datagrams for which no problems were + encountered to prevent their continued processing, but + were discarded (e.g., for lack of buffer space). Note that + this counter does not include any datagrams discarded while + awaiting re-assembly. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.17"; + } + + leaf ipIfStatsInDelivers { + type yang:counter32; + description + "The total number of datagrams successfully delivered to IP + user-protocols (including ICMP). + + When tracking interface statistics, the counter of the + interface to which these datagrams were addressed is + incremented. This interface might not be the same as the + + + input interface for some of the datagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.18"; + } + + leaf ipIfStatsHCInDelivers { + type yang:counter64; + description + "The total number of datagrams successfully delivered to IP + user-protocols (including ICMP). This object counts the + same packets as ipIfStatsInDelivers, but allows for larger + values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.19"; + } + + leaf ipIfStatsOutRequests { + type yang:counter32; + description + "The total number of IP datagrams that local IP user- + protocols (including ICMP) supplied to IP in requests for + transmission. Note that this counter does not include any + datagrams counted in ipIfStatsOutForwDatagrams. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.20"; + } + + leaf ipIfStatsHCOutRequests { + type yang:counter64; + description + "The total number of IP datagrams that local IP user- + protocols (including ICMP) supplied to IP in requests for + transmission. This object counts the same packets as + + + ipIfStatsOutRequests, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.21"; + } + + leaf ipIfStatsOutForwDatagrams { + type yang:counter32; + description + "The number of datagrams for which this entity was not their + final IP destination and for which it was successful in + finding a path to their final destination. In entities + that do not act as IP routers, this counter will include + only those datagrams that were Source-Routed via this + entity, and the Source-Route processing was successful. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + forwarded datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.23"; + } + + leaf ipIfStatsHCOutForwDatagrams { + type yang:counter64; + description + "The number of datagrams for which this entity was not their + final IP destination and for which it was successful in + finding a path to their final destination. This object + counts the same packets as ipIfStatsOutForwDatagrams, but + allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + + + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.24"; + } + + leaf ipIfStatsOutDiscards { + type yang:counter32; + description + "The number of output IP datagrams for which no problem was + encountered to prevent their transmission to their + destination, but were discarded (e.g., for lack of + buffer space). Note that this counter would include + datagrams counted in ipIfStatsOutForwDatagrams if any such + datagrams met this (discretionary) discard criterion. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.25"; + } + + leaf ipIfStatsOutFragReqds { + type yang:counter32; + description + "The number of IP datagrams that would require fragmentation + in order to be transmitted. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.26"; + } + + leaf ipIfStatsOutFragOKs { + type yang:counter32; + description + "The number of IP datagrams that have been successfully + fragmented. + + When tracking interface statistics, the counter of the + + + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.27"; + } + + leaf ipIfStatsOutFragFails { + type yang:counter32; + description + "The number of IP datagrams that have been discarded because + they needed to be fragmented but could not be. This + includes IPv4 packets that have the DF bit set and IPv6 + packets that are being forwarded and exceed the outgoing + link MTU. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for an unsuccessfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.28"; + } + + leaf ipIfStatsOutFragCreates { + type yang:counter32; + description + "The number of output datagram fragments that have been + generated as a result of IP fragmentation. + + When tracking interface statistics, the counter of the + outgoing interface is incremented for a successfully + fragmented datagram. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.29"; + } + + leaf ipIfStatsOutTransmits { + type yang:counter32; + description + "The total number of IP datagrams that this entity supplied + to the lower layers for transmission. This includes + datagrams generated locally and those forwarded by this + entity. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.30"; + } + + leaf ipIfStatsHCOutTransmits { + type yang:counter64; + description + "The total number of IP datagrams that this entity supplied + to the lower layers for transmission. This object counts + the same datagrams as ipIfStatsOutTransmits, but allows for + larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.31"; + } + + leaf ipIfStatsOutOctets { + type yang:counter32; + description + "The total number of octets in IP datagrams delivered to the + lower layers for transmission. Octets from datagrams + counted in ipIfStatsOutTransmits MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.32"; + } + + leaf ipIfStatsHCOutOctets { + type yang:counter64; + description + "The total number of octets in IP datagrams delivered to the + lower layers for transmission. This objects counts the same + octets as ipIfStatsOutOctets, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.33"; + } + + leaf ipIfStatsInMcastPkts { + type yang:counter32; + description + "The number of IP multicast datagrams received. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.34"; + } + + leaf ipIfStatsHCInMcastPkts { + type yang:counter64; + description + "The number of IP multicast datagrams received. This object + counts the same datagrams as ipIfStatsInMcastPkts, but + allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.35"; + } + + leaf ipIfStatsInMcastOctets { + type yang:counter32; + description + "The total number of octets received in IP multicast + + + datagrams. Octets from datagrams counted in + ipIfStatsInMcastPkts MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.36"; + } + + leaf ipIfStatsHCInMcastOctets { + type yang:counter64; + description + "The total number of octets received in IP multicast + datagrams. This object counts the same octets as + ipIfStatsInMcastOctets, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.37"; + } + + leaf ipIfStatsOutMcastPkts { + type yang:counter32; + description + "The number of IP multicast datagrams transmitted. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.38"; + } + + leaf ipIfStatsHCOutMcastPkts { + type yang:counter64; + description + "The number of IP multicast datagrams transmitted. This + object counts the same datagrams as ipIfStatsOutMcastPkts, + but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + + + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.39"; + } + + leaf ipIfStatsOutMcastOctets { + type yang:counter32; + description + "The total number of octets transmitted in IP multicast + datagrams. Octets from datagrams counted in + ipIfStatsOutMcastPkts MUST be counted here. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.40"; + } + + leaf ipIfStatsHCOutMcastOctets { + type yang:counter64; + description + "The total number of octets transmitted in IP multicast + datagrams. This object counts the same octets as + ipIfStatsOutMcastOctets, but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.41"; + } + + leaf ipIfStatsInBcastPkts { + type yang:counter32; + description + "The number of IP broadcast datagrams received. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.42"; + } + + leaf ipIfStatsHCInBcastPkts { + type yang:counter64; + description + "The number of IP broadcast datagrams received. This object + counts the same datagrams as ipIfStatsInBcastPkts, but + allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.43"; + } + + leaf ipIfStatsOutBcastPkts { + type yang:counter32; + description + "The number of IP broadcast datagrams transmitted. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.44"; + } + + leaf ipIfStatsHCOutBcastPkts { + type yang:counter64; + description + "The number of IP broadcast datagrams transmitted. This + object counts the same datagrams as ipIfStatsOutBcastPkts, + but allows for larger values. + + Discontinuities in the value of this counter can occur at + re-initialization of the management system, and at other + times as indicated by the value of + ipIfStatsDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.45"; + } + + leaf ipIfStatsDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at which + + + any one or more of this entry's counters suffered a + discontinuity. + + If no such discontinuities have occurred since the last re- + initialization of the local management subsystem, then this + object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.46"; + } + + leaf ipIfStatsRefreshRate { + type uint32; + units "milli-seconds"; + description + "The minimum reasonable polling interval for this entry. + This object provides an indication of the minimum amount of + time required to update the counters in this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.31.3.1.47"; + } + } + } + + container ipAddressPrefixTable { + description + "This table allows the user to determine the source of an IP + address or set of IP addresses, and allows other tables to + share the information via pointer rather than by copying. + + For example, when the node configures both a unicast and + anycast address for a prefix, the ipAddressPrefix objects + for those addresses will point to a single row in this + table. + + This table primarily provides support for IPv6 prefixes, and + several of the objects are less meaningful for IPv4. The + table continues to allow IPv4 addresses to allow future + flexibility. In order to promote a common configuration, + this document includes suggestions for default values for + IPv4 prefixes. Each of these values may be overridden if an + object is meaningful to the node. + + All prefixes used by this entity should be included in this + table independent of how the entity learned the prefix. + (This table isn't limited to prefixes learned from router + + + advertisements.)"; + smiv2:oid "1.3.6.1.2.1.4.32"; + + list ipAddressPrefixEntry { + key "ipAddressPrefixIfIndex ipAddressPrefixType ipAddressPrefixPrefix ipAddressPrefixLength"; + description + "An entry in the ipAddressPrefixTable."; + smiv2:oid "1.3.6.1.2.1.4.32.1"; + + leaf ipAddressPrefixIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface on + which this prefix is configured. The interface identified + by a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.32.1.1"; + } + + leaf ipAddressPrefixType { + type inet-address:InetAddressType; + description + "The address type of ipAddressPrefix."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.32.1.2"; + } + + leaf ipAddressPrefixPrefix { + type inet-address:InetAddress; + description + "The address prefix. The address type of this object is + specified in ipAddressPrefixType. The length of this object + is the standard length for objects of that type (4 or 16 + bytes). Any bits after ipAddressPrefixLength must be zero. + + Implementors need to be aware that, if the size of + ipAddressPrefixPrefix exceeds 114 octets, then OIDS of + instances of columns in this row will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.32.1.3"; + } + + leaf ipAddressPrefixLength { + type inet-address:InetAddressPrefixLength; + description + "The prefix length associated with this prefix. + + The value 0 has no special meaning for this object. It + simply refers to address '::/0'."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.32.1.4"; + } + + leaf ipAddressPrefixOrigin { + type IP-MIB:IpAddressPrefixOriginTC; + description + "The origin of this prefix."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.32.1.5"; + } + + leaf ipAddressPrefixOnLinkFlag { + type boolean; + description + "This object has the value 'true(1)', if this prefix can be + used for on-link determination; otherwise, the value is + 'false(2)'. + + The default for IPv4 prefixes is 'true(1)'."; + reference + "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and + RFC 2462"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.32.1.6"; + } + + leaf ipAddressPrefixAutonomousFlag { + type boolean; + description + "Autonomous address configuration flag. When true(1), + indicates that this prefix can be used for autonomous + address configuration (i.e., can be used to form a local + interface address). If false(2), it is not used to auto- + configure a local interface address. + + The default for IPv4 prefixes is 'false(2)'."; + reference + "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and + RFC 2462"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.32.1.7"; + } + + leaf ipAddressPrefixAdvPreferredLifetime { + type uint32; + units "seconds"; + description + "The remaining length of time, in seconds, that this prefix + will continue to be preferred, i.e., time until deprecation. + + A value of 4,294,967,295 represents infinity. + + The address generated from a deprecated prefix should no + longer be used as a source address in new communications, + but packets received on such an interface are processed as + expected. + + The default for IPv4 prefixes is 4,294,967,295 (infinity)."; + reference + "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and + RFC 2462"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.32.1.8"; + } + + leaf ipAddressPrefixAdvValidLifetime { + type uint32; + units "seconds"; + description + "The remaining length of time, in seconds, that this prefix + will continue to be valid, i.e., time until invalidation. A + value of 4,294,967,295 represents infinity. + + The address generated from an invalidated prefix should not + appear as the destination or source address of a packet. + + + The default for IPv4 prefixes is 4,294,967,295 (infinity)."; + reference + "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and + RFC 2462"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.32.1.9"; + } + } + } + + container ipAddressTable { + description + "This table contains addressing information relevant to the + entity's interfaces. + + This table does not contain multicast address information. + Tables for such information should be contained in multicast + specific MIBs, such as RFC 3019. + + While this table is writable, the user will note that + several objects, such as ipAddressOrigin, are not. The + intention in allowing a user to write to this table is to + allow them to add or remove any entry that isn't + + + permanent. The user should be allowed to modify objects + and entries when that would not cause inconsistencies + within the table. Allowing write access to objects, such + as ipAddressOrigin, could allow a user to insert an entry + and then label it incorrectly. + + Note well: When including IPv6 link-local addresses in this + table, the entry must use an InetAddressType of 'ipv6z' in + order to differentiate between the possible interfaces."; + smiv2:oid "1.3.6.1.2.1.4.34"; + + list ipAddressEntry { + key "ipAddressAddrType ipAddressAddr"; + description + "An address mapping for a particular interface."; + smiv2:oid "1.3.6.1.2.1.4.34.1"; + + leaf ipAddressAddrType { + type inet-address:InetAddressType; + description + "The address type of ipAddressAddr."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.34.1.1"; + } + + leaf ipAddressAddr { + type inet-address:InetAddress; + description + "The IP address to which this entry's addressing information + + + pertains. The address type of this object is specified in + ipAddressAddrType. + + Implementors need to be aware that if the size of + ipAddressAddr exceeds 116 octets, then OIDS of instances of + columns in this row will have more than 128 sub-identifiers + and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.34.1.2"; + } + + leaf ipAddressIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.34.1.3"; + } + + leaf ipAddressType { + type enumeration { + enum "unicast" { + value "1"; + } + enum "anycast" { + value "2"; + } + enum "broadcast" { + value "3"; + } + } + description + "The type of address. broadcast(3) is not a valid value for + IPv6 addresses (RFC 3513)."; + smiv2:defval "unicast"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.34.1.4"; + } + + leaf ipAddressPrefix { + type snmpv2-tc:RowPointer; + description + "A pointer to the row in the prefix table to which this + address belongs. May be { 0 0 } if there is no such row."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.34.1.5"; + } + + leaf ipAddressOrigin { + type IP-MIB:IpAddressOriginTC; + description + "The origin of the address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.34.1.6"; + } + + leaf ipAddressStatus { + type IP-MIB:IpAddressStatusTC; + description + "The status of the address, describing if the address can be + used for communication. + + In the absence of other information, an IPv4 address is + always preferred(1)."; + smiv2:defval "preferred"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.34.1.7"; + } + + leaf ipAddressCreated { + type yang:timestamp; + description + "The value of sysUpTime at the time this entry was created. + If this entry was created prior to the last re- + initialization of the local network management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.34.1.8"; + } + + leaf ipAddressLastChanged { + type yang:timestamp; + description + "The value of sysUpTime at the time this entry was last + updated. If this entry was updated prior to the last re- + initialization of the local network management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.34.1.9"; + } + + leaf ipAddressRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + The RowStatus TC requires that this DESCRIPTION clause + states under which circumstances other objects in this row + + + can be modified. The value of this object has no effect on + whether other objects in this conceptual row can be + modified. + + A conceptual row can not be made active until the + ipAddressIfIndex has been set to a valid index."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.34.1.10"; + } + + leaf ipAddressStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. If this object + has a value of 'permanent', then no other objects are + required to be able to be modified."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.34.1.11"; + } + } + } + + container ipNetToPhysicalTable { + description + "The IP Address Translation table used for mapping from IP + addresses to physical addresses. + + The Address Translation tables contain the IP address to + 'physical' address equivalences. Some interfaces do not use + translation tables for determining address equivalences + (e.g., DDN-X.25 has an algorithmic method); if all + interfaces are of this type, then the Address Translation + table is empty, i.e., has zero entries. + + While many protocols may be used to populate this table, ARP + and Neighbor Discovery are the most likely + options."; + reference + "RFC 826 and RFC 2461"; + smiv2:oid "1.3.6.1.2.1.4.35"; + + list ipNetToPhysicalEntry { + key "ipNetToPhysicalIfIndex ipNetToPhysicalNetAddressType ipNetToPhysicalNetAddress"; + description + "Each entry contains one IP address to `physical' address + equivalence."; + smiv2:oid "1.3.6.1.2.1.4.35.1"; + + leaf ipNetToPhysicalIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which this entry is applicable. The interface identified by + a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.35.1.1"; + } + + leaf ipNetToPhysicalNetAddressType { + type inet-address:InetAddressType; + description + "The type of ipNetToPhysicalNetAddress."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.35.1.2"; + } + + leaf ipNetToPhysicalNetAddress { + type inet-address:InetAddress; + description + "The IP Address corresponding to the media-dependent + `physical' address. The address type of this object is + specified in ipNetToPhysicalAddressType. + + Implementors need to be aware that if the size of + + + ipNetToPhysicalNetAddress exceeds 115 octets, then OIDS of + instances of columns in this row will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.35.1.3"; + } + + leaf ipNetToPhysicalPhysAddress { + type yang:phys-address { + length "0..65535"; + } + description + "The media-dependent `physical' address. + + As the entries in this table are typically not persistent + when this object is written the entity SHOULD NOT save the + change to non-volatile storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.35.1.4"; + } + + leaf ipNetToPhysicalLastUpdated { + type yang:timestamp; + description + "The value of sysUpTime at the time this entry was last + updated. If this entry was updated prior to the last re- + initialization of the local network management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.35.1.5"; + } + + leaf ipNetToPhysicalType { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "dynamic" { + value "3"; + } + enum "static" { + value "4"; + } + enum "local" { + value "5"; + } + } + description + "The type of mapping. + + Setting this object to the value invalid(2) has the effect + of invalidating the corresponding entry in the + ipNetToPhysicalTable. That is, it effectively dis- + associates the interface identified with said entry from the + mapping identified with said entry. It is an + implementation-specific matter as to whether the agent + + + removes an invalidated entry from the table. Accordingly, + management stations must be prepared to receive tabular + information from agents that corresponds to entries not + currently in use. Proper interpretation of such entries + requires examination of the relevant ipNetToPhysicalType + object. + + The 'dynamic(3)' type indicates that the IP address to + physical addresses mapping has been dynamically resolved + using e.g., IPv4 ARP or the IPv6 Neighbor Discovery + protocol. + + The 'static(4)' type indicates that the mapping has been + statically configured. Both of these refer to entries that + provide mappings for other entities addresses. + + The 'local(5)' type indicates that the mapping is provided + for an entity's own interface address. + + As the entries in this table are typically not persistent + when this object is written the entity SHOULD NOT save the + change to non-volatile storage."; + smiv2:defval "static"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.35.1.6"; + } + + leaf ipNetToPhysicalState { + type enumeration { + enum "reachable" { + value "1"; + } + enum "stale" { + value "2"; + } + enum "delay" { + value "3"; + } + enum "probe" { + value "4"; + } + enum "invalid" { + value "5"; + } + enum "unknown" { + value "6"; + } + enum "incomplete" { + value "7"; + } + } + description + "The Neighbor Unreachability Detection state for the + interface when the address mapping in this entry is used. + If Neighbor Unreachability Detection is not in use (e.g. for + IPv4), this object is always unknown(6)."; + reference + "RFC 2461"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.35.1.7"; + } + + leaf ipNetToPhysicalRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + The RowStatus TC requires that this DESCRIPTION clause + states under which circumstances other objects in this row + can be modified. The value of this object has no effect on + whether other objects in this conceptual row can be + modified. + + A conceptual row can not be made active until the + ipNetToPhysicalPhysAddress object has been set. + + Note that if the ipNetToPhysicalType is set to 'invalid', + the managed node may delete the entry independent of the + state of this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.35.1.8"; + } + } + } + + container ipv6ScopeZoneIndexTable { + description + "The table used to describe IPv6 unicast and multicast scope + zones. + + For those objects that have names rather than numbers, the + names were chosen to coincide with the names used in the + IPv6 address architecture document. "; + reference + "Section 2.7 of RFC 4291"; + smiv2:oid "1.3.6.1.2.1.4.36"; + + list ipv6ScopeZoneIndexEntry { + key "ipv6ScopeZoneIndexIfIndex"; + description + "Each entry contains the list of scope identifiers on a given + interface."; + smiv2:oid "1.3.6.1.2.1.4.36.1"; + + leaf ipv6ScopeZoneIndexIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface to + which these scopes belong. The interface identified by a + particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.36.1.1"; + } + + leaf ipv6ScopeZoneIndexLinkLocal { + type inet-address:InetZoneIndex; + description + "The zone index for the link-local scope on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.2"; + } + + leaf ipv6ScopeZoneIndex3 { + type inet-address:InetZoneIndex; + description + "The zone index for scope 3 on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.3"; + } + + leaf ipv6ScopeZoneIndexAdminLocal { + type inet-address:InetZoneIndex; + description + "The zone index for the admin-local scope on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.4"; + } + + leaf ipv6ScopeZoneIndexSiteLocal { + type inet-address:InetZoneIndex; + description + "The zone index for the site-local scope on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.5"; + } + + leaf ipv6ScopeZoneIndex6 { + type inet-address:InetZoneIndex; + description + "The zone index for scope 6 on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.6"; + } + + leaf ipv6ScopeZoneIndex7 { + type inet-address:InetZoneIndex; + description + "The zone index for scope 7 on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.7"; + } + + leaf ipv6ScopeZoneIndexOrganizationLocal { + type inet-address:InetZoneIndex; + description + "The zone index for the organization-local scope on this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.8"; + } + + leaf ipv6ScopeZoneIndex9 { + type inet-address:InetZoneIndex; + description + "The zone index for scope 9 on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.9"; + } + + leaf ipv6ScopeZoneIndexA { + type inet-address:InetZoneIndex; + description + "The zone index for scope A on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.10"; + } + + leaf ipv6ScopeZoneIndexB { + type inet-address:InetZoneIndex; + description + "The zone index for scope B on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.11"; + } + + leaf ipv6ScopeZoneIndexC { + type inet-address:InetZoneIndex; + description + "The zone index for scope C on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.12"; + } + + leaf ipv6ScopeZoneIndexD { + type inet-address:InetZoneIndex; + description + "The zone index for scope D on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.36.1.13"; + } + } + } + + container ipDefaultRouterTable { + description + "The table used to describe the default routers known to this + + + entity."; + smiv2:oid "1.3.6.1.2.1.4.37"; + + list ipDefaultRouterEntry { + key "ipDefaultRouterAddressType ipDefaultRouterAddress ipDefaultRouterIfIndex"; + description + "Each entry contains information about a default router known + to this entity."; + smiv2:oid "1.3.6.1.2.1.4.37.1"; + + leaf ipDefaultRouterAddressType { + type inet-address:InetAddressType; + description + "The address type for this row."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.37.1.1"; + } + + leaf ipDefaultRouterAddress { + type inet-address:InetAddress; + description + "The IP address of the default router represented by this + row. The address type of this object is specified in + ipDefaultRouterAddressType. + + Implementers need to be aware that if the size of + ipDefaultRouterAddress exceeds 115 octets, then OIDS of + instances of columns in this row will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.37.1.2"; + } + + leaf ipDefaultRouterIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface by + which the router can be reached. The interface identified + by a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.37.1.3"; + } + + leaf ipDefaultRouterLifetime { + type uint32 { + range "0..65535"; + } + units "seconds"; + description + "The remaining length of time, in seconds, that this router + will continue to be useful as a default router. A value of + zero indicates that it is no longer useful as a default + router. It is left to the implementer of the MIB as to + whether a router with a lifetime of zero is removed from the + list. + + For IPv6, this value should be extracted from the router + advertisement messages."; + reference + "For IPv6 RFC 2462 sections 4.2 and 6.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.37.1.4"; + } + + leaf ipDefaultRouterPreference { + type enumeration { + enum "reserved" { + value "-2"; + } + enum "low" { + value "-1"; + } + enum "medium" { + value "0"; + } + enum "high" { + value "1"; + } + } + description + "An indication of preference given to this router as a + default router as described in he Default Router + Preferences document. Treating the value as a + 2 bit signed integer allows for simple arithmetic + comparisons. + + For IPv4 routers or IPv6 routers that are not using the + updated router advertisement format, this object is set to + medium (0)."; + reference + "RFC 4291, section 2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.37.1.5"; + } + } + } + + container ipv6RouterAdvertTable { + description + "The table containing information used to construct router + advertisements."; + smiv2:oid "1.3.6.1.2.1.4.39"; + + list ipv6RouterAdvertEntry { + key "ipv6RouterAdvertIfIndex"; + description + "An entry containing information used to construct router + advertisements. + + Information in this table is persistent, and when this + object is written, the entity SHOULD save the change to + non-volatile storage."; + smiv2:oid "1.3.6.1.2.1.4.39.1"; + + leaf ipv6RouterAdvertIfIndex { + type if-mib:InterfaceIndex; + description + "The index value that uniquely identifies the interface on + which router advertisements constructed with this + information will be transmitted. The interface identified + by a particular value of this index is the same interface as + identified by the same value of the IF-MIB's ifIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.4.39.1.1"; + } + + leaf ipv6RouterAdvertSendAdverts { + type boolean; + description + "A flag indicating whether the router sends periodic + router advertisements and responds to router solicitations + on this interface."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.2"; + } + + leaf ipv6RouterAdvertMaxInterval { + type uint32 { + range "4..1800"; + } + units "seconds"; + description + "The maximum time allowed between sending unsolicited router + + + advertisements from this interface."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "600"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.3"; + } + + leaf ipv6RouterAdvertMinInterval { + type uint32 { + range "3..1350"; + } + units "seconds"; + description + "The minimum time allowed between sending unsolicited router + advertisements from this interface. + + The default is 0.33 * ipv6RouterAdvertMaxInterval, however, + in the case of a low value for ipv6RouterAdvertMaxInterval, + the minimum value for this object is restricted to 3."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.4"; + } + + leaf ipv6RouterAdvertManagedFlag { + type boolean; + description + "The true/false value to be placed into the 'managed address + configuration' flag field in router advertisements sent from + this interface."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.5"; + } + + leaf ipv6RouterAdvertOtherConfigFlag { + type boolean; + description + "The true/false value to be placed into the 'other stateful + configuration' flag field in router advertisements sent from + this interface."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.6"; + } + + leaf ipv6RouterAdvertLinkMTU { + type uint32; + description + "The value to be placed in MTU options sent by the router on + this interface. + + A value of zero indicates that no MTU options are sent."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.7"; + } + + leaf ipv6RouterAdvertReachableTime { + type uint32 { + range "0..3600000"; + } + units "milliseconds"; + description + "The value to be placed in the reachable time field in router + advertisement messages sent from this interface. + + A value of zero in the router advertisement indicates that + the advertisement isn't specifying a value for reachable + time."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.8"; + } + + leaf ipv6RouterAdvertRetransmitTime { + type uint32; + units "milliseconds"; + description + "The value to be placed in the retransmit timer field in + router advertisements sent from this interface. + + A value of zero in the router advertisement indicates that + the advertisement isn't specifying a value for retrans + time."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.9"; + } + + leaf ipv6RouterAdvertCurHopLimit { + type uint32 { + range "0..255"; + } + description + "The default value to be placed in the current hop limit + field in router advertisements sent from this interface. + + + The value should be set to the current diameter of the + Internet. + + A value of zero in the router advertisement indicates that + the advertisement isn't specifying a value for curHopLimit. + + The default should be set to the value specified in the IANA + web pages (www.iana.org) at the time of implementation."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.10"; + } + + leaf ipv6RouterAdvertDefaultLifetime { + type uint32 { + range "0|4..9000"; + } + units "seconds"; + description + "The value to be placed in the router lifetime field of + router advertisements sent from this interface. This value + MUST be either 0 or between ipv6RouterAdvertMaxInterval and + 9000 seconds. + + A value of zero indicates that the router is not to be used + as a default router. + + The default is 3 * ipv6RouterAdvertMaxInterval."; + reference + "RFC 2461 Section 6.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.11"; + } + + leaf ipv6RouterAdvertRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + As all objects in this conceptual row have default values, a + row can be created and made active by setting this object + appropriately. + + The RowStatus TC requires that this DESCRIPTION clause + states under which circumstances other objects in this row + can be modified. The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.39.1.12"; + } + } + } + + container icmpStatsTable { + description + "The table of generic system-wide ICMP counters."; + smiv2:oid "1.3.6.1.2.1.5.29"; + + list icmpStatsEntry { + key "icmpStatsIPVersion"; + description + "A conceptual row in the icmpStatsTable."; + smiv2:oid "1.3.6.1.2.1.5.29.1"; + + leaf icmpStatsIPVersion { + type inet:ip-version; + description + "The IP version of the statistics."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.5.29.1.1"; + } + + leaf icmpStatsInMsgs { + type yang:counter32; + description + "The total number of ICMP messages that the entity received. + Note that this counter includes all those counted by + icmpStatsInErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.29.1.2"; + } + + leaf icmpStatsInErrors { + type yang:counter32; + description + "The number of ICMP messages that the entity received but + determined as having ICMP-specific errors (bad ICMP + checksums, bad length, etc.)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.29.1.3"; + } + + leaf icmpStatsOutMsgs { + type yang:counter32; + description + "The total number of ICMP messages that the entity attempted + to send. Note that this counter includes all those counted + by icmpStatsOutErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.29.1.4"; + } + + leaf icmpStatsOutErrors { + type yang:counter32; + description + "The number of ICMP messages that this entity did not send + due to problems discovered within ICMP, such as a lack of + buffers. This value should not include errors discovered + outside the ICMP layer, such as the inability of IP to route + the resultant datagram. In some implementations, there may + be no types of error that contribute to this counter's + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.29.1.5"; + } + } + } + + container icmpMsgStatsTable { + description + "The table of system-wide per-version, per-message type ICMP + counters."; + smiv2:oid "1.3.6.1.2.1.5.30"; + + list icmpMsgStatsEntry { + key "icmpMsgStatsIPVersion icmpMsgStatsType"; + description + "A conceptual row in the icmpMsgStatsTable. + + The system should track each ICMP type value, even if that + ICMP type is not supported by the system. However, a + given row need not be instantiated unless a message of that + type has been processed, i.e., the row for + icmpMsgStatsType=X MAY be instantiated before but MUST be + instantiated after the first message with Type=X is + received or transmitted. After receiving or transmitting + any succeeding messages with Type=X, the relevant counter + must be incremented."; + smiv2:oid "1.3.6.1.2.1.5.30.1"; + + leaf icmpMsgStatsIPVersion { + type inet:ip-version; + description + "The IP version of the statistics."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.5.30.1.1"; + } + + leaf icmpMsgStatsType { + type int32 { + range "0..255"; + } + description + "The ICMP type field of the message type being counted by + this row. + + Note that ICMP message types are scoped by the address type + in use."; + reference + "http://www.iana.org/assignments/icmp-parameters and + http://www.iana.org/assignments/icmpv6-parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.5.30.1.2"; + } + + leaf icmpMsgStatsInPkts { + type yang:counter32; + description + "The number of input packets for this AF and type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.30.1.3"; + } + + leaf icmpMsgStatsOutPkts { + type yang:counter32; + description + "The number of output packets for this AF and type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.30.1.4"; + } + } + } + } + + smiv2:alias "ip" { + smiv2:oid "1.3.6.1.2.1.4"; + } + + smiv2:alias "ipTrafficStats" { + smiv2:oid "1.3.6.1.2.1.4.31"; + } + + smiv2:alias "icmp" { + smiv2:oid "1.3.6.1.2.1.5"; + } + + smiv2:alias "ipMIB" { + smiv2:oid "1.3.6.1.2.1.48"; + } + + smiv2:alias "ipMIBConformance" { + smiv2:oid "1.3.6.1.2.1.48.2"; + } + + smiv2:alias "ipMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.48.2.1"; + } + + smiv2:alias "ipMIBGroups" { + smiv2:oid "1.3.6.1.2.1.48.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IPMROUTE-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/IPMROUTE-STD-MIB.yang new file mode 100644 index 000000000..03e4d6c2c --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IPMROUTE-STD-MIB.yang @@ -0,0 +1,737 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IPMROUTE-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IPMROUTE-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IPMROUTE-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB"; + prefix IPMROUTE-STD-MIB; + + import IANA-RTPROTO-MIB { + prefix "iana-rtproto"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IDMR Working Group"; + + contact + " Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + US + + Phone: +1 425 703 8835 + EMail: dthaler@microsoft.com"; + + description + "The MIB module for management of IP Multicast routing, but + independent of the specific multicast routing protocol in + use."; + + revision 2000-09-22 { + description + "Initial version, published as RFC 2932."; + } + + typedef LanguageTag { + type string; + description + "An RFC 1766-style language tag, with all alphabetic + characters converted to lowercase. This restriction is + intended to make the lexical ordering imposed by SNMP useful + + + + + + when applied to language tags. Note that it is + theoretically possible for a valid language tag to exceed + the allowed length of this syntax, and thus be impossible to + represent with this syntax. Sampling of language tags in + current use on the Internet suggests that this limit does + not pose a serious problem in practice."; + smiv2:display-hint "100a"; + } + + + container IPMROUTE-STD-MIB { + config false; + + container ipMRoute { + smiv2:oid "1.3.6.1.2.1.83.1.1"; + + leaf ipMRouteEnable { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "The enabled status of IP Multicast routing on this router."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.1"; + } + + leaf ipMRouteEntryCount { + type yang:gauge32; + description + "The number of rows in the ipMRouteTable. This can be used + to monitor the multicast routing table size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.7"; + } + } + + container ipMRouteTable { + description + "The (conceptual) table containing multicast routing + information for IP datagrams sent by particular sources to + the IP multicast groups known to this router."; + smiv2:oid "1.3.6.1.2.1.83.1.1.2"; + + list ipMRouteEntry { + key "ipMRouteGroup ipMRouteSource ipMRouteSourceMask"; + description + "An entry (conceptual row) containing the multicast routing + information for IP datagrams from a particular source and + addressed to a particular IP multicast group address. + Discontinuities in counters in this entry can be detected by + observing the value of ipMRouteUpTime."; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1"; + + leaf ipMRouteGroup { + type inet:ipv4-address; + description + "The IP multicast group address for which this entry + contains multicast routing information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.1"; + } + + leaf ipMRouteSource { + type inet:ipv4-address; + description + "The network address which when combined with the + corresponding value of ipMRouteSourceMask identifies the + sources for which this entry contains multicast routing + information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.2"; + } + + leaf ipMRouteSourceMask { + type inet:ipv4-address; + description + "The network mask which when combined with the corresponding + value of ipMRouteSource identifies the sources for which + this entry contains multicast routing information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.3"; + } + + leaf ipMRouteUpstreamNeighbor { + type inet:ipv4-address; + description + "The address of the upstream neighbor (e.g., RPF neighbor) + from which IP datagrams from these sources to this multicast + address are received, or 0.0.0.0 if the upstream neighbor is + unknown (e.g., in CBT)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.4"; + } + + leaf ipMRouteInIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The value of ifIndex for the interface on which IP + datagrams sent by these sources to this multicast address + are received. A value of 0 indicates that datagrams are not + subject to an incoming interface check, but may be accepted + on multiple interfaces (e.g., in CBT)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.5"; + } + + leaf ipMRouteUpTime { + type yang:timeticks; + description + "The time since the multicast routing information + represented by this entry was learned by the router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.6"; + } + + leaf ipMRouteExpiryTime { + type yang:timeticks; + description + "The minimum amount of time remaining before this entry will + be aged out. The value 0 indicates that the entry is not + subject to aging."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.7"; + } + + leaf ipMRoutePkts { + type yang:counter32; + description + "The number of packets which this router has received from + these sources and addressed to this multicast group + address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.8"; + } + + leaf ipMRouteDifferentInIfPackets { + type yang:counter32; + description + "The number of packets which this router has received from + these sources and addressed to this multicast group address, + which were dropped because they were not received on the + interface indicated by ipMRouteInIfIndex. Packets which are + not subject to an incoming interface check (e.g., using CBT) + are not counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.9"; + } + + leaf ipMRouteOctets { + type yang:counter32; + description + "The number of octets contained in IP datagrams which were + received from these sources and addressed to this multicast + group address, and which were forwarded by this router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.10"; + } + + leaf ipMRouteProtocol { + type iana-rtproto:IANAipMRouteProtocol; + description + "The multicast routing protocol via which this multicast + forwarding entry was learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.11"; + } + + leaf ipMRouteRtProto { + type iana-rtproto:IANAipRouteProtocol; + description + "The routing mechanism via which the route used to find the + upstream or parent interface for this multicast forwarding + entry was learned. Inclusion of values for routing + protocols is not intended to imply that those protocols need + be supported."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.12"; + } + + leaf ipMRouteRtAddress { + type inet:ipv4-address; + description + "The address portion of the route used to find the upstream + or parent interface for this multicast forwarding entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.13"; + } + + leaf ipMRouteRtMask { + type inet:ipv4-address; + description + "The mask associated with the route used to find the upstream + or parent interface for this multicast forwarding entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.14"; + } + + leaf ipMRouteRtType { + type enumeration { + enum "unicast" { + value "1"; + } + enum "multicast" { + value "2"; + } + } + description + "The reason the given route was placed in the (logical) + multicast Routing Information Base (RIB). A value of + unicast means that the route would normally be placed only + in the unicast RIB, but was placed in the multicast RIB + (instead or in addition) due to local configuration, such as + when running PIM over RIP. A value of multicast means that + + + + + + the route was explicitly added to the multicast RIB by the + routing protocol, such as DVMRP or Multiprotocol BGP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.15"; + } + + leaf ipMRouteHCOctets { + type yang:counter64; + description + "The number of octets contained in IP datagrams which were + received from these sources and addressed to this multicast + group address, and which were forwarded by this router. + This object is a 64-bit version of ipMRouteOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.2.1.16"; + } + } + } + + container ipMRouteNextHopTable { + description + "The (conceptual) table containing information on the next- + hops on outgoing interfaces for routing IP multicast + datagrams. Each entry is one of a list of next-hops on + outgoing interfaces for particular sources sending to a + particular multicast group address."; + smiv2:oid "1.3.6.1.2.1.83.1.1.3"; + + list ipMRouteNextHopEntry { + key "ipMRouteNextHopGroup ipMRouteNextHopSource ipMRouteNextHopSourceMask ipMRouteNextHopIfIndex ipMRouteNextHopAddress"; + description + "An entry (conceptual row) in the list of next-hops on + outgoing interfaces to which IP multicast datagrams from + particular sources to a IP multicast group address are + routed. Discontinuities in counters in this entry can be + detected by observing the value of ipMRouteUpTime."; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1"; + + leaf ipMRouteNextHopGroup { + type inet:ipv4-address; + description + "The IP multicast group for which this entry specifies a + next-hop on an outgoing interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.1"; + } + + leaf ipMRouteNextHopSource { + type inet:ipv4-address; + description + "The network address which when combined with the + corresponding value of ipMRouteNextHopSourceMask identifies + the sources for which this entry specifies a next-hop on an + outgoing interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.2"; + } + + leaf ipMRouteNextHopSourceMask { + type inet:ipv4-address; + description + "The network mask which when combined with the corresponding + value of ipMRouteNextHopSource identifies the sources for + which this entry specifies a next-hop on an outgoing + interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.3"; + } + + leaf ipMRouteNextHopIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface for the outgoing + interface for this next-hop."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.4"; + } + + leaf ipMRouteNextHopAddress { + type inet:ipv4-address; + description + "The address of the next-hop specific to this entry. For + most interfaces, this is identical to ipMRouteNextHopGroup. + NBMA interfaces, however, may have multiple next-hop + addresses out a single outgoing interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.5"; + } + + leaf ipMRouteNextHopState { + type enumeration { + enum "pruned" { + value "1"; + } + enum "forwarding" { + value "2"; + } + } + description + "An indication of whether the outgoing interface and next- + hop represented by this entry is currently being used to + forward IP datagrams. The value 'forwarding' indicates it + is currently being used; the value 'pruned' indicates it is + not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.6"; + } + + leaf ipMRouteNextHopUpTime { + type yang:timeticks; + description + "The time since the multicast routing information + represented by this entry was learned by the router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.7"; + } + + leaf ipMRouteNextHopExpiryTime { + type yang:timeticks; + description + "The minimum amount of time remaining before this entry will + be aged out. If ipMRouteNextHopState is pruned(1), the + remaining time until the prune expires and the state reverts + to forwarding(2). Otherwise, the remaining time until this + entry is removed from the table. The time remaining may be + copied from ipMRouteExpiryTime if the protocol in use for + this entry does not specify next-hop timers. The value 0 + + + + + + indicates that the entry is not subject to aging."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.8"; + } + + leaf ipMRouteNextHopClosestMemberHops { + type int32; + description + "The minimum number of hops between this router and any + member of this IP multicast group reached via this next-hop + on this outgoing interface. Any IP multicast datagrams for + the group which have a TTL less than this number of hops + will not be forwarded to this next-hop."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.9"; + } + + leaf ipMRouteNextHopProtocol { + type iana-rtproto:IANAipMRouteProtocol; + description + "The routing mechanism via which this next-hop was learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.10"; + } + + leaf ipMRouteNextHopPkts { + type yang:counter32; + description + "The number of packets which have been forwarded using this + route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.3.1.11"; + } + } + } + + container ipMRouteInterfaceTable { + description + "The (conceptual) table containing multicast routing + information specific to interfaces."; + smiv2:oid "1.3.6.1.2.1.83.1.1.4"; + + list ipMRouteInterfaceEntry { + key "ipMRouteInterfaceIfIndex"; + description + "An entry (conceptual row) containing the multicast routing + information for a particular interface."; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1"; + + leaf ipMRouteInterfaceIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface for which this entry + contains information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.1"; + } + + leaf ipMRouteInterfaceTtl { + type int32 { + range "0..255"; + } + description + "The datagram TTL threshold for the interface. Any IP + multicast datagrams with a TTL less than this threshold will + not be forwarded out the interface. The default value of 0 + means all multicast packets are forwarded out the + interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.2"; + } + + leaf ipMRouteInterfaceProtocol { + type iana-rtproto:IANAipMRouteProtocol; + description + "The routing protocol running on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.3"; + } + + leaf ipMRouteInterfaceRateLimit { + type int32; + description + "The rate-limit, in kilobits per second, of forwarded + multicast traffic on the interface. A rate-limit of 0 + indicates that no rate limiting is done."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.4"; + } + + leaf ipMRouteInterfaceInMcastOctets { + type yang:counter32; + description + "The number of octets of multicast packets that have arrived + on the interface, including framing characters. This object + is similar to ifInOctets in the Interfaces MIB, except that + only multicast packets are counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.5"; + } + + leaf ipMRouteInterfaceOutMcastOctets { + type yang:counter32; + description + "The number of octets of multicast packets that have been + sent on the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.6"; + } + + leaf ipMRouteInterfaceHCInMcastOctets { + type yang:counter64; + description + "The number of octets of multicast packets that have arrived + on the interface, including framing characters. This object + is a 64-bit version of ipMRouteInterfaceInMcastOctets. It + is similar to ifHCInOctets in the Interfaces MIB, except + that only multicast packets are counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.7"; + } + + leaf ipMRouteInterfaceHCOutMcastOctets { + type yang:counter64; + description + "The number of octets of multicast packets that have been + + + + + + sent on the interface. This object is a 64-bit version of + ipMRouteInterfaceOutMcastOctets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.83.1.1.4.1.8"; + } + } + } + + container ipMRouteBoundaryTable { + description + "The (conceptual) table listing the router's scoped + multicast address boundaries."; + smiv2:oid "1.3.6.1.2.1.83.1.1.5"; + + list ipMRouteBoundaryEntry { + key "ipMRouteBoundaryIfIndex ipMRouteBoundaryAddress ipMRouteBoundaryAddressMask"; + description + "An entry (conceptual row) in the ipMRouteBoundaryTable + representing a scoped boundary."; + smiv2:oid "1.3.6.1.2.1.83.1.1.5.1"; + + leaf ipMRouteBoundaryIfIndex { + type if-mib:InterfaceIndex; + description + "The IfIndex value for the interface to which this boundary + applies. Packets with a destination address in the + associated address/mask range will not be forwarded out this + interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.5.1.1"; + } + + leaf ipMRouteBoundaryAddress { + type inet:ipv4-address; + description + "The group address which when combined with the + corresponding value of ipMRouteBoundaryAddressMask + identifies the group range for which the scoped boundary + exists. Scoped addresses must come from the range 239.x.x.x + as specified in RFC 2365."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.5.1.2"; + } + + leaf ipMRouteBoundaryAddressMask { + type inet:ipv4-address; + description + "The group address mask which when combined with the + corresponding value of ipMRouteBoundaryAddress identifies + the group range for which the scoped boundary exists."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.5.1.3"; + } + + leaf ipMRouteBoundaryStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.5.1.4"; + } + } + } + + container ipMRouteScopeNameTable { + description + "The (conceptual) table listing the multicast scope names."; + smiv2:oid "1.3.6.1.2.1.83.1.1.6"; + + list ipMRouteScopeNameEntry { + key "ipMRouteScopeNameAddress ipMRouteScopeNameAddressMask ipMRouteScopeNameLanguage"; + smiv2:implied "ipMRouteScopeNameLanguage"; + description + "An entry (conceptual row) in the ipMRouteScopeNameTable + representing a multicast scope name."; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1"; + + leaf ipMRouteScopeNameAddress { + type inet:ipv4-address; + description + "The group address which when combined with the + corresponding value of ipMRouteScopeNameAddressMask + identifies the group range associated with the multicast + scope. Scoped addresses must come from the range + 239.x.x.x."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.1"; + } + + leaf ipMRouteScopeNameAddressMask { + type inet:ipv4-address; + description + "The group address mask which when combined with the + corresponding value of ipMRouteScopeNameAddress identifies + the group range associated with the multicast scope."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.2"; + } + + leaf ipMRouteScopeNameLanguage { + type IPMROUTE-STD-MIB:LanguageTag; + description + "The RFC 1766-style language tag associated with the scope + name."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.3"; + } + + leaf ipMRouteScopeNameString { + type snmp-framework:SnmpAdminString; + description + "The textual name associated with the multicast scope. The + value of this object should be suitable for displaying to + end-users, such as when allocating a multicast address in + this scope. When no name is specified, the default value of + this object should be the string 239.x.x.x/y with x and y + replaced appropriately to describe the address and mask + length associated with the scope."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.4"; + } + + leaf ipMRouteScopeNameDefault { + type boolean; + description + "If true, indicates a preference that the name in the + following language should be used by applications if no name + is available in a desired language."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.5"; + } + + leaf ipMRouteScopeNameStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.83.1.1.6.1.6"; + } + } + } + } + + smiv2:alias "ipMRouteStdMIB" { + smiv2:oid "1.3.6.1.2.1.83"; + } + + smiv2:alias "ipMRouteMIBObjects" { + smiv2:oid "1.3.6.1.2.1.83.1"; + } + + smiv2:alias "ipMRoute" { + smiv2:oid "1.3.6.1.2.1.83.1.1"; + } + + smiv2:alias "ipMRouteMIBConformance" { + smiv2:oid "1.3.6.1.2.1.83.2"; + } + + smiv2:alias "ipMRouteMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.83.2.1"; + } + + smiv2:alias "ipMRouteMIBGroups" { + smiv2:oid "1.3.6.1.2.1.83.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/IPV6-FLOW-LABEL-MIB.yang b/vendor/cisco/xe/17151/MIBS/IPV6-FLOW-LABEL-MIB.yang new file mode 100644 index 000000000..0accd6e87 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/IPV6-FLOW-LABEL-MIB.yang @@ -0,0 +1,79 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/IPV6-FLOW-LABEL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang IPV6-FLOW-LABEL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module IPV6-FLOW-LABEL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB"; + prefix IPV6-FLOW-LABEL-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Operations and Management Area"; + + contact + "Bert Wijnen (Editor) + Lucent Technologies + Schagen 33 + 3461 GL Linschoten + Netherlands + Phone: +31 348-407-775 + EMail: bwijnen@lucent.com + + Send comments to . "; + + description + "This MIB module provides commonly used textual + conventions for IPv6 Flow Labels. + + Copyright (C) The Internet Society (2003). This + version of this MIB module is part of RFC 3595, + see the RFC itself for full legal notices. "; + + revision 2003-08-28 { + description + "Initial version, published as RFC 3595."; + } + + typedef IPv6FlowLabel { + type int32 { + range "0..1048575"; + } + description + "The flow identifier or Flow Label in an IPv6 + packet header that may be used to discriminate + traffic flows. "; + reference + "Internet Protocol, Version 6 (IPv6) specification, + section 6. RFC 2460. "; + smiv2:display-hint "d"; + } + + typedef IPv6FlowLabelOrAny { + type int32 { + range "-1..1048575"; + } + description + "The flow identifier or Flow Label in an IPv6 + packet header that may be used to discriminate + traffic flows. The value of -1 is used to + indicate a wildcard, i.e. any value. "; + smiv2:display-hint "d"; + } + + smiv2:alias "ipv6FlowLabelMIB" { + smiv2:oid "1.3.6.1.2.1.103"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/LLDP-MIB.yang b/vendor/cisco/xe/17151/MIBS/LLDP-MIB.yang new file mode 100644 index 000000000..64ff4b837 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/LLDP-MIB.yang @@ -0,0 +1,1909 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/LLDP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang LLDP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module LLDP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB"; + prefix LLDP-MIB; + + import IANA-ADDRESS-FAMILY-NUMBERS-MIB { + prefix "iana-address"; + } + + import RMON2-MIB { + prefix "rmon2-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IEEE 802.1 Working Group"; + + contact + "WG-URL: http://grouper.ieee.org/groups/802/1/index.html + WG-EMail: stds-802-1@ieee.org + + Contact: Paul Congdon + Postal: Hewlett-Packard Company + 8000 Foothills Blvd. + Roseville, CA 95747 + USA + Tel: +1-916-785-5753 + E-mail: paul_congdon@hp.com"; + + description + "Management Information Base module for LLDP configuration, + statistics, local system data and remote systems data + components. + + Copyright (C) IEEE (2005). This version of this MIB module + is published as subclause 12.1 of IEEE Std 802.1AB-2005; + see the standard itself for full legal notices."; + + revision 2005-05-06 { + description + "Published as part of IEEE Std 802.1AB-2005 initial version."; + } + + typedef LldpChassisIdSubtype { + type enumeration { + enum "chassisComponent" { + value "1"; + } + enum "interfaceAlias" { + value "2"; + } + enum "portComponent" { + value "3"; + } + enum "macAddress" { + value "4"; + } + enum "networkAddress" { + value "5"; + } + enum "interfaceName" { + value "6"; + } + enum "local" { + value "7"; + } + } + description + "This TC describes the source of a chassis identifier. + + The enumeration 'chassisComponent(1)' represents a chassis + identifier based on the value of entPhysicalAlias object + (defined in IETF RFC 2737) for a chassis component (i.e., + an entPhysicalClass value of 'chassis(3)'). + + The enumeration 'interfaceAlias(2)' represents a chassis + identifier based on the value of ifAlias object (defined in + IETF RFC 2863) for an interface on the containing chassis. + + The enumeration 'portComponent(3)' represents a chassis + identifier based on the value of entPhysicalAlias object + (defined in IETF RFC 2737) for a port or backplane + component (i.e., entPhysicalClass value of 'port(10)' or + 'backplane(4)'), within the containing chassis. + + The enumeration 'macAddress(4)' represents a chassis + identifier based on the value of a unicast source address + (encoded in network byte order and IEEE 802.3 canonical bit + order), of a port on the containing chassis as defined in + IEEE Std 802-2001. + + The enumeration 'networkAddress(5)' represents a chassis + identifier based on a network address, associated with + a particular chassis. The encoded address is actually + composed of two fields. The first field is a single octet, + representing the IANA AddressFamilyNumbers value for the + specific address type, and the second field is the network + address value. + + The enumeration 'interfaceName(6)' represents a chassis + identifier based on the value of ifName object (defined in + IETF RFC 2863) for an interface on the containing chassis. + + The enumeration 'local(7)' represents a chassis identifier + based on a locally defined value."; + } + + typedef LldpChassisId { + type binary { + length "1..255"; + } + description + "This TC describes the format of a chassis identifier string. + Objects of this type are always used with an associated + LldpChassisIdSubtype object, which identifies the format of + the particular LldpChassisId object instance. + + If the associated LldpChassisIdSubtype object has a value of + 'chassisComponent(1)', then the octet string identifies + a particular instance of the entPhysicalAlias object + (defined in IETF RFC 2737) for a chassis component (i.e., + an entPhysicalClass value of 'chassis(3)'). + + If the associated LldpChassisIdSubtype object has a value + of 'interfaceAlias(2)', then the octet string identifies + a particular instance of the ifAlias object (defined in + IETF RFC 2863) for an interface on the containing chassis. + If the particular ifAlias object does not contain any values, + another chassis identifier type should be used. + + If the associated LldpChassisIdSubtype object has a value + of 'portComponent(3)', then the octet string identifies a + particular instance of the entPhysicalAlias object (defined + in IETF RFC 2737) for a port or backplane component within + the containing chassis. + + If the associated LldpChassisIdSubtype object has a value of + 'macAddress(4)', then this string identifies a particular + unicast source address (encoded in network byte order and + IEEE 802.3 canonical bit order), of a port on the containing + chassis as defined in IEEE Std 802-2001. + + If the associated LldpChassisIdSubtype object has a value of + 'networkAddress(5)', then this string identifies a particular + network address, encoded in network byte order, associated + with one or more ports on the containing chassis. The first + octet contains the IANA Address Family Numbers enumeration + value for the specific address type, and octets 2 through + N contain the network address value in network byte order. + + If the associated LldpChassisIdSubtype object has a value + of 'interfaceName(6)', then the octet string identifies + a particular instance of the ifName object (defined in + IETF RFC 2863) for an interface on the containing chassis. + If the particular ifName object does not contain any values, + another chassis identifier type should be used. + + If the associated LldpChassisIdSubtype object has a value of + 'local(7)', then this string identifies a locally assigned + Chassis ID."; + } + + typedef LldpPortIdSubtype { + type enumeration { + enum "interfaceAlias" { + value "1"; + } + enum "portComponent" { + value "2"; + } + enum "macAddress" { + value "3"; + } + enum "networkAddress" { + value "4"; + } + enum "interfaceName" { + value "5"; + } + enum "agentCircuitId" { + value "6"; + } + enum "local" { + value "7"; + } + } + description + "This TC describes the source of a particular type of port + identifier used in the LLDP MIB. + + The enumeration 'interfaceAlias(1)' represents a port + identifier based on the ifAlias MIB object, defined in IETF + RFC 2863. + + The enumeration 'portComponent(2)' represents a port + identifier based on the value of entPhysicalAlias (defined in + IETF RFC 2737) for a port component (i.e., entPhysicalClass + value of 'port(10)'), within the containing chassis. + + The enumeration 'macAddress(3)' represents a port identifier + based on a unicast source address (encoded in network + byte order and IEEE 802.3 canonical bit order), which has + been detected by the agent and associated with a particular + port (IEEE Std 802-2001). + + The enumeration 'networkAddress(4)' represents a port + identifier based on a network address, detected by the agent + and associated with a particular port. + + The enumeration 'interfaceName(5)' represents a port + identifier based on the ifName MIB object, defined in IETF + RFC 2863. + + The enumeration 'agentCircuitId(6)' represents a port + identifier based on the agent-local identifier of the circuit + (defined in RFC 3046), detected by the agent and associated + with a particular port. + + The enumeration 'local(7)' represents a port identifier + based on a value locally assigned."; + } + + typedef LldpPortId { + type binary { + length "1..255"; + } + description + "This TC describes the format of a port identifier string. + Objects of this type are always used with an associated + LldpPortIdSubtype object, which identifies the format of the + particular LldpPortId object instance. + + If the associated LldpPortIdSubtype object has a value of + 'interfaceAlias(1)', then the octet string identifies a + particular instance of the ifAlias object (defined in IETF + RFC 2863). If the particular ifAlias object does not contain + any values, another port identifier type should be used. + + If the associated LldpPortIdSubtype object has a value of + 'portComponent(2)', then the octet string identifies a + particular instance of the entPhysicalAlias object (defined + in IETF RFC 2737) for a port or backplane component. + + If the associated LldpPortIdSubtype object has a value of + 'macAddress(3)', then this string identifies a particular + unicast source address (encoded in network byte order + and IEEE 802.3 canonical bit order) associated with the port + (IEEE Std 802-2001). + + If the associated LldpPortIdSubtype object has a value of + 'networkAddress(4)', then this string identifies a network + address associated with the port. The first octet contains + the IANA AddressFamilyNumbers enumeration value for the + specific address type, and octets 2 through N contain the + networkAddress address value in network byte order. + + If the associated LldpPortIdSubtype object has a value of + 'interfaceName(5)', then the octet string identifies a + particular instance of the ifName object (defined in IETF + RFC 2863). If the particular ifName object does not contain + any values, another port identifier type should be used. + + If the associated LldpPortIdSubtype object has a value of + 'agentCircuitId(6)', then this string identifies a agent-local + identifier of the circuit (defined in RFC 3046). + + If the associated LldpPortIdSubtype object has a value of + 'local(7)', then this string identifies a locally + assigned port ID."; + } + + typedef LldpManAddrIfSubtype { + type enumeration { + enum "unknown" { + value "1"; + } + enum "ifIndex" { + value "2"; + } + enum "systemPortNumber" { + value "3"; + } + } + description + "This TC describes the basis of a particular type of + interface associated with the management address. + + The enumeration 'unknown(1)' represents the case where the + interface is not known. + + The enumeration 'ifIndex(2)' represents interface identifier + based on the ifIndex MIB object. + + The enumeration 'systemPortNumber(3)' represents interface + identifier based on the system port numbering convention."; + reference + "IEEE 802.1AB-2005 9.5.9.5"; + } + + typedef LldpManAddress { + type binary { + length "1..31"; + } + description + "The value of a management address associated with the LLDP + agent that may be used to reach higher layer entities to + assist discovery by network management. + + It should be noted that appropriate security credentials, + such as SNMP engineId, may be required to access the LLDP + agent using a management address. These necessary credentials + should be known by the network management and the objects + associated with the credentials are not included in the + LLDP agent."; + } + + typedef LldpSystemCapabilitiesMap { + type bits { + bit other { + position "0"; + } + bit repeater { + position "1"; + } + bit bridge { + position "2"; + } + bit wlanAccessPoint { + position "3"; + } + bit router { + position "4"; + } + bit telephone { + position "5"; + } + bit docsisCableDevice { + position "6"; + } + bit stationOnly { + position "7"; + } + } + description + "This TC describes the system capabilities. + + The bit 'other(0)' indicates that the system has capabilities + other than those listed below. + + The bit 'repeater(1)' indicates that the system has repeater + capability. + + The bit 'bridge(2)' indicates that the system has bridge + capability. + + The bit 'wlanAccessPoint(3)' indicates that the system has + WLAN access point capability. + + The bit 'router(4)' indicates that the system has router + capability. + + The bit 'telephone(5)' indicates that the system has telephone + capability. + + The bit 'docsisCableDevice(6)' indicates that the system has + DOCSIS Cable Device capability (IETF RFC 2669 & 2670). + + The bit 'stationOnly(7)' indicates that the system has only + station capability and nothing else."; + } + + typedef LldpPortNumber { + type int32 { + range "1..4096"; + } + description + "Each port contained in the chassis (that is known to the + LLDP agent) is uniquely identified by a port number. + + A port number has no mandatory relationship to an + InterfaceIndex object (of the interfaces MIB, IETF RFC 2863). + If the LLDP agent is a IEEE 802.1D, IEEE 802.1Q bridge, the + LldpPortNumber will have the same value as the dot1dBasePort + object (defined in IETF RFC 1493) associated corresponding + bridge port. If the system hosting LLDP agent is not an + IEEE 802.1D or an IEEE 802.1Q bridge, the LldpPortNumber + will have the same value as the corresponding interface's + InterfaceIndex object. + + Port numbers should be in the range of 1 and 4096 since a + particular port is also represented by the corresponding + port number bit in LldpPortList."; + } + + typedef LldpPortList { + type binary { + length "0..512"; + } + description + "Each octet within this value specifies a set of eight ports, + with the first octet specifying ports 1 through 8, the second + octet specifying ports 9 through 16, etc. Within each octet, + the most significant bit represents the lowest numbered port, + and the least significant bit represents the highest numbered + port. Thus, each port of the system is represented by a + single bit within the value of this object. If that bit has + a value of '1' then that port is included in the set of ports; + the port is not included if its bit has a value of '0'."; + reference + "IETF RFC 2674 section 5"; + } + + + container LLDP-MIB { + config false; + + container lldpConfiguration { + smiv2:oid "1.0.8802.1.1.2.1.1"; + + leaf lldpMessageTxInterval { + type int32 { + range "5..32768"; + } + units "seconds"; + description + "The interval at which LLDP frames are transmitted on + behalf of this LLDP agent. + + The default value for lldpMessageTxInterval object is + 30 seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + reference + "IEEE 802.1AB-2005 10.5.3.3"; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.1"; + } + + leaf lldpMessageTxHoldMultiplier { + type int32 { + range "2..10"; + } + description + "The time-to-live value expressed as a multiple of the + lldpMessageTxInterval object. The actual time-to-live value + used in LLDP frames, transmitted on behalf of this LLDP agent, + can be expressed by the following formula: TTL = min(65535, + (lldpMessageTxInterval * lldpMessageTxHoldMultiplier)) For + example, if the value of lldpMessageTxInterval is '30', and + the value of lldpMessageTxHoldMultiplier is '4', then the + value '120' is encoded in the TTL field in the LLDP header. + + The default value for lldpMessageTxHoldMultiplier object is 4. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + reference + "IEEE 802.1AB-2005 10.5.3.3"; + smiv2:defval "4"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.2"; + } + + leaf lldpReinitDelay { + type int32 { + range "1..10"; + } + units "seconds"; + description + "The lldpReinitDelay indicates the delay (in units of + seconds) from when lldpPortConfigAdminStatus object of a + particular port becomes 'disabled' until re-initialization + will be attempted. + + The default value for lldpReintDelay object is two seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + reference + "IEEE 802.1AB-2005 10.5.3.3"; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.3"; + } + + leaf lldpTxDelay { + type int32 { + range "1..8192"; + } + units "seconds"; + description + "The lldpTxDelay indicates the delay (in units + of seconds) between successive LLDP frame transmissions + initiated by value/status changes in the LLDP local systems + MIB. The recommended value for the lldpTxDelay is set by the + following formula: + + 1 <= lldpTxDelay <= (0.25 * lldpMessageTxInterval) + + The default value for lldpTxDelay object is two seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + reference + "IEEE 802.1AB-2005 10.5.3.3"; + smiv2:defval "2"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.4"; + } + + leaf lldpNotificationInterval { + type int32 { + range "5..3600"; + } + units "seconds"; + description + "This object controls the transmission of LLDP notifications. + + the agent must not generate more than one lldpRemTablesChange + notification-event in the indicated period, where a + 'notification-event' is the transmission of a single + notification PDU type to a list of notification destinations. + If additional changes in lldpRemoteSystemsData object + groups occur within the indicated throttling period, + then these trap- events must be suppressed by the + agent. An NMS should periodically check the value of + lldpStatsRemTableLastChangeTime to detect any missed + lldpRemTablesChange notification-events, e.g. due to + throttling or transmission loss. + + If notification transmission is enabled for particular ports, + the suggested default throttling period is 5 seconds. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.5"; + } + } + + container lldpStatistics { + smiv2:oid "1.0.8802.1.1.2.1.2"; + + leaf lldpStatsRemTablesLastChangeTime { + type yang:timestamp; + description + "The value of sysUpTime object (defined in IETF RFC 3418) + at the time an entry is created, modified, or deleted in the + in tables associated with the lldpRemoteSystemsData objects + and all LLDP extension objects associated with remote systems. + + An NMS can use this object to reduce polling of the + lldpRemoteSystemsData objects."; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.1"; + } + + leaf lldpStatsRemTablesInserts { + type yang:zero-based-counter32; + units "table entries"; + description + "The number of times the complete set of information + advertised by a particular MSAP has been inserted into tables + contained in lldpRemoteSystemsData and lldpExtensions objects. + + The complete set of information received from a particular + MSAP should be inserted into related tables. If partial + information cannot be inserted for a reason such as lack + of resources, all of the complete set of information should + be removed. + + This counter should be incremented only once after the + complete set of information is successfully recorded + in all related tables. Any failures during inserting + information set which result in deletion of previously + inserted information should not trigger any changes in + lldpStatsRemTablesInserts since the insert is not completed + yet or or in lldpStatsRemTablesDeletes, since the deletion + would only be a partial deletion. If the failure was the + result of lack of resources, the lldpStatsRemTablesDrops + counter should be incremented once."; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.2"; + } + + leaf lldpStatsRemTablesDeletes { + type yang:zero-based-counter32; + units "table entries"; + description + "The number of times the complete set of information + advertised by a particular MSAP has been deleted from + tables contained in lldpRemoteSystemsData and lldpExtensions + objects. + + This counter should be incremented only once when the + complete set of information is completely deleted from all + related tables. Partial deletions, such as deletion of + rows associated with a particular MSAP from some tables, + but not from all tables are not allowed, thus should not + change the value of this counter."; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.3"; + } + + leaf lldpStatsRemTablesDrops { + type yang:zero-based-counter32; + units "table entries"; + description + "The number of times the complete set of information + advertised by a particular MSAP could not be entered into + tables contained in lldpRemoteSystemsData and lldpExtensions + objects because of insufficient resources."; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.4"; + } + + leaf lldpStatsRemTablesAgeouts { + type yang:zero-based-counter32; + description + "The number of times the complete set of information + advertised by a particular MSAP has been deleted from tables + contained in lldpRemoteSystemsData and lldpExtensions objects + because the information timeliness interval has expired. + + This counter should be incremented only once when the complete + set of information is completely invalidated (aged out) + from all related tables. Partial aging, similar to deletion + case, is not allowed, and thus, should not change the value + of this counter."; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.5"; + } + } + + container lldpLocalSystemData { + smiv2:oid "1.0.8802.1.1.2.1.3"; + + leaf lldpLocChassisIdSubtype { + type LLDP-MIB:LldpChassisIdSubtype; + description + "The type of encoding used to identify the chassis + associated with the local system."; + reference + "IEEE 802.1AB-2005 9.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.1"; + } + + leaf lldpLocChassisId { + type LLDP-MIB:LldpChassisId; + description + "The string value used to identify the chassis component + associated with the local system."; + reference + "IEEE 802.1AB-2005 9.5.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.2"; + } + + leaf lldpLocSysName { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the system name of the + local system. If the local agent supports IETF RFC 3418, + lldpLocSysName object should have the same value of sysName + object."; + reference + "IEEE 802.1AB-2005 9.5.6.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.3"; + } + + leaf lldpLocSysDesc { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the system description + of the local system. If the local agent supports IETF RFC 3418, + lldpLocSysDesc object should have the same value of sysDesc + object."; + reference + "IEEE 802.1AB-2005 9.5.7.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.4"; + } + + leaf lldpLocSysCapSupported { + type LLDP-MIB:LldpSystemCapabilitiesMap; + description + "The bitmap value used to identify which system capabilities + are supported on the local system."; + reference + "IEEE 802.1AB-2005 9.5.8.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.5"; + } + + leaf lldpLocSysCapEnabled { + type LLDP-MIB:LldpSystemCapabilitiesMap; + description + "The bitmap value used to identify which system capabilities + are enabled on the local system."; + reference + "IEEE 802.1AB-2005 9.5.8.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.6"; + } + } + + container lldpPortConfigTable { + description + "The table that controls LLDP frame transmission on individual + ports."; + smiv2:oid "1.0.8802.1.1.2.1.1.6"; + + list lldpPortConfigEntry { + key "lldpPortConfigPortNum"; + description + "LLDP configuration information for a particular port. + This configuration parameter controls the transmission and + the reception of LLDP frames on those ports whose rows are + created in this table."; + smiv2:oid "1.0.8802.1.1.2.1.1.6.1"; + + leaf lldpPortConfigPortNum { + type LLDP-MIB:LldpPortNumber; + description + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpPortConfigTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.1.6.1.1"; + } + + leaf lldpPortConfigAdminStatus { + type enumeration { + enum "txOnly" { + value "1"; + } + enum "rxOnly" { + value "2"; + } + enum "txAndRx" { + value "3"; + } + enum "disabled" { + value "4"; + } + } + description + "The administratively desired status of the local LLDP agent. + + If the associated lldpPortConfigAdminStatus object has a + value of 'txOnly(1)', then LLDP agent will transmit LLDP + frames on this port and it will not store any information + about the remote systems connected. + + If the associated lldpPortConfigAdminStatus object has a + value of 'rxOnly(2)', then the LLDP agent will receive, + but it will not transmit LLDP frames on this port. + + If the associated lldpPortConfigAdminStatus object has a + value of 'txAndRx(3)', then the LLDP agent will transmit + and receive LLDP frames on this port. + + If the associated lldpPortConfigAdminStatus object has a + value of 'disabled(4)', then LLDP agent will not transmit or + receive LLDP frames on this port. If there is remote systems + information which is received on this port and stored in + other tables, before the port's lldpPortConfigAdminStatus + becomes disabled, then the information will naturally age out."; + reference + "IEEE 802.1AB-2005 10.5.1"; + smiv2:defval "txAndRx"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.6.1.2"; + } + + leaf lldpPortConfigNotificationEnable { + type boolean; + description + "The lldpPortConfigNotificationEnable controls, on a per + port basis, whether or not notifications from the agent + are enabled. The value true(1) means that notifications are + enabled; the value false(2) means that they are not."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.6.1.3"; + } + + leaf lldpPortConfigTLVsTxEnable { + type bits { + bit portDesc { + position "0"; + } + bit sysName { + position "1"; + } + bit sysDesc { + position "2"; + } + bit sysCap { + position "3"; + } + } + description + "The lldpPortConfigTLVsTxEnable, defined as a bitmap, + includes the basic set of LLDP TLVs whose transmission is + allowed on the local LLDP agent by the network management. + Each bit in the bitmap corresponds to a TLV type associated + with a specific optional TLV. + + It should be noted that the organizationally-specific TLVs + are excluded from the lldpTLVsTxEnable bitmap. + + LLDP Organization Specific Information Extension MIBs should + have similar configuration object to control transmission + of their organizationally defined TLVs. + + The bit 'portDesc(0)' indicates that LLDP agent should + transmit 'Port Description TLV'. + + The bit 'sysName(1)' indicates that LLDP agent should transmit + 'System Name TLV'. + + The bit 'sysDesc(2)' indicates that LLDP agent should transmit + 'System Description TLV'. + + The bit 'sysCap(3)' indicates that LLDP agent should transmit + 'System Capabilities TLV'. + + There is no bit reserved for the management address TLV type + since transmission of management address TLVs are controlled + by another object, lldpConfigManAddrTable. + + The default value for lldpPortConfigTLVsTxEnable object is + empty set, which means no enumerated values are set. + + The value of this object must be restored from non-volatile + storage after a re-initialization of the management system."; + reference + "IEEE 802.1AB-2005 10.2.1.1"; + smiv2:defval "{}"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.6.1.4"; + } + } + } + + container lldpStatsTxPortTable { + description + "A table containing LLDP transmission statistics for + individual ports. Entries are not required to exist in + this table while the lldpPortConfigEntry object is equal to + 'disabled(4)'."; + smiv2:oid "1.0.8802.1.1.2.1.2.6"; + + list lldpStatsTxPortEntry { + key "lldpStatsTxPortNum"; + description + "LLDP frame transmission statistics for a particular port. + The port must be contained in the same chassis as the + LLDP agent. + + All counter values in a particular entry shall be + maintained on a continuing basis and shall not be deleted + upon expiration of rxInfoTTL timing counters in the LLDP + remote systems MIB of the receipt of a shutdown frame from + a remote LLDP agent. + + All statistical counters associated with a particular + port on the local LLDP agent become frozen whenever the + adminStatus is disabled for the same port."; + smiv2:oid "1.0.8802.1.1.2.1.2.6.1"; + + leaf lldpStatsTxPortNum { + type LLDP-MIB:LldpPortNumber; + description + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpStatsTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.2.6.1.1"; + } + + leaf lldpStatsTxPortFramesTotal { + type yang:counter32; + description + "The number of LLDP frames transmitted by this LLDP agent + on the indicated port."; + reference + "IEEE 802.1AB-2005 10.5.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.6.1.2"; + } + } + } + + container lldpStatsRxPortTable { + description + "A table containing LLDP reception statistics for individual + ports. Entries are not required to exist in this table while + the lldpPortConfigEntry object is equal to 'disabled(4)'."; + smiv2:oid "1.0.8802.1.1.2.1.2.7"; + + list lldpStatsRxPortEntry { + key "lldpStatsRxPortNum"; + description + "LLDP frame reception statistics for a particular port. + The port must be contained in the same chassis as the + LLDP agent. + + All counter values in a particular entry shall be + maintained on a continuing basis and shall not be deleted + upon expiration of rxInfoTTL timing counters in the LLDP + remote systems MIB of the receipt of a shutdown frame from + a remote LLDP agent. + + All statistical counters associated with a particular + port on the local LLDP agent become frozen whenever the + adminStatus is disabled for the same port."; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1"; + + leaf lldpStatsRxPortNum { + type LLDP-MIB:LldpPortNumber; + description + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpStatsTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.1"; + } + + leaf lldpStatsRxPortFramesDiscardedTotal { + type yang:counter32; + description + "The number of LLDP frames received by this LLDP agent on + the indicated port, and then discarded for any reason. + This counter can provide an indication that LLDP header + formating problems may exist with the local LLDP agent in + the sending system or that LLDPDU validation problems may + exist with the local LLDP agent in the receiving system."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.2"; + } + + leaf lldpStatsRxPortFramesErrors { + type yang:counter32; + description + "The number of invalid LLDP frames received by this LLDP + agent on the indicated port, while this LLDP agent is enabled."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.3"; + } + + leaf lldpStatsRxPortFramesTotal { + type yang:counter32; + description + "The number of valid LLDP frames received by this LLDP agent + on the indicated port, while this LLDP agent is enabled."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.4"; + } + + leaf lldpStatsRxPortTLVsDiscardedTotal { + type yang:counter32; + description + "The number of LLDP TLVs discarded for any reason by this LLDP + agent on the indicated port."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.5"; + } + + leaf lldpStatsRxPortTLVsUnrecognizedTotal { + type yang:counter32; + description + "The number of LLDP TLVs received on the given port that + are not recognized by this LLDP agent on the indicated port. + + An unrecognized TLV is referred to as the TLV whose type value + is in the range of reserved TLV types (000 1001 - 111 1110) + in Table 9.1 of IEEE Std 802.1AB-2005. An unrecognized + TLV may be a basic management TLV from a later LLDP version."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.6"; + } + + leaf lldpStatsRxPortAgeoutsTotal { + type yang:zero-based-counter32; + description + "The counter that represents the number of age-outs that + occurred on a given port. An age-out is the number of + times the complete set of information advertised by a + particular MSAP has been deleted from tables contained in + lldpRemoteSystemsData and lldpExtensions objects because + the information timeliness interval has expired. + + This counter is similar to lldpStatsRemTablesAgeouts, except + that the counter is on a per port basis. This enables NMS to + poll tables associated with the lldpRemoteSystemsData objects + and all LLDP extension objects associated with remote systems + on the indicated port only. + + This counter should be set to zero during agent initialization + and its value should not be saved in non-volatile storage. + When a port's admin status changes from 'disabled' to + 'rxOnly', 'txOnly' or 'txAndRx', the counter associated with + the same port should reset to 0. The agent should also flush + all remote system information associated with the same port. + + This counter should be incremented only once when the + complete set of information is invalidated (aged out) from + all related tables on a particular port. Partial aging + is not allowed, and thus, should not change the value of + this counter."; + reference + "IEEE 802.1AB-2005 10.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.2.7.1.7"; + } + } + } + + container lldpLocPortTable { + description + "This table contains one or more rows per port information + associated with the local system known to this agent."; + smiv2:oid "1.0.8802.1.1.2.1.3.7"; + + list lldpLocPortEntry { + key "lldpLocPortNum"; + description + "Information about a particular port component. + + Entries may be created and deleted in this table by the + agent."; + smiv2:oid "1.0.8802.1.1.2.1.3.7.1"; + + leaf lldpLocPortNum { + type LLDP-MIB:LldpPortNumber; + description + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. + + The value of this object is used as a port index to the + lldpLocPortTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.3.7.1.1"; + } + + leaf lldpLocPortIdSubtype { + type LLDP-MIB:LldpPortIdSubtype; + description + "The type of port identifier encoding used in the associated + 'lldpLocPortId' object."; + reference + "IEEE 802.1AB-2005 9.5.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.7.1.2"; + } + + leaf lldpLocPortId { + type LLDP-MIB:LldpPortId; + description + "The string value used to identify the port component + associated with a given port in the local system."; + reference + "IEEE 802.1AB-2005 9.5.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.7.1.3"; + } + + leaf lldpLocPortDesc { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the 802 LAN station's port + description associated with the local system. If the local + agent supports IETF RFC 2863, lldpLocPortDesc object should + have the same value of ifDescr object."; + reference + "IEEE 802.1AB-2005 9.5.5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.7.1.4"; + } + } + } + + container lldpLocManAddrTable { + description + "This table contains management address information on the + local system known to this agent."; + smiv2:oid "1.0.8802.1.1.2.1.3.8"; + + list lldpLocManAddrEntry { + key "lldpLocManAddrSubtype lldpLocManAddr"; + description + "Management address information about a particular chassis + component. There may be multiple management addresses + configured on the system identified by a particular + lldpLocChassisId. Each management address should have + distinct 'management address type' (lldpLocManAddrSubtype) and + 'management address' (lldpLocManAddr.) + + Entries may be created and deleted in this table by the + agent."; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1"; + + leaf lldpLocManAddrSubtype { + type iana-address:AddressFamilyNumbers; + description + "The type of management address identifier encoding used in + the associated 'lldpLocManagmentAddr' object."; + reference + "IEEE 802.1AB-2005 9.5.9.3"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.1"; + } + + leaf lldpLocManAddr { + type LLDP-MIB:LldpManAddress; + description + "The string value used to identify the management address + component associated with the local system. The purpose of + this address is to contact the management entity."; + reference + "IEEE 802.1AB-2005 9.5.9.4"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.2"; + } + + leaf lldpLocManAddrLen { + type int32; + description + "The total length of the management address subtype and the + management address fields in LLDPDUs transmitted by the + local LLDP agent. + + The management address length field is needed so that the + receiving systems that do not implement SNMP will not be + required to implement an iana family numbers/address length + equivalency table in order to decode the management adress."; + reference + "IEEE 802.1AB-2005 9.5.9.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.3"; + } + + leaf lldpLocManAddrIfSubtype { + type LLDP-MIB:LldpManAddrIfSubtype; + description + "The enumeration value that identifies the interface numbering + method used for defining the interface number, associated + with the local system."; + reference + "IEEE 802.1AB-2005 9.5.9.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.4"; + } + + leaf lldpLocManAddrIfId { + type int32; + description + "The integer value used to identify the interface number + regarding the management address component associated with + the local system."; + reference + "IEEE 802.1AB-2005 9.5.9.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.5"; + } + + leaf lldpLocManAddrOID { + type yang:object-identifier-128; + description + "The OID value used to identify the type of hardware component + or protocol entity associated with the management address + advertised by the local system agent."; + reference + "IEEE 802.1AB-2005 9.5.9.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.3.8.1.6"; + } + } + } + + container lldpRemTable { + description + "This table contains one or more rows per physical network + connection known to this agent. The agent may wish to ensure + that only one lldpRemEntry is present for each local port, + or it may choose to maintain multiple lldpRemEntries for + the same local port. + + The following procedure may be used to retrieve remote + systems information updates from an LLDP agent: + + 1. NMS polls all tables associated with remote systems + and keeps a local copy of the information retrieved. + NMS polls periodically the values of the following + objects: + a. lldpStatsRemTablesInserts + b. lldpStatsRemTablesDeletes + c. lldpStatsRemTablesDrops + d. lldpStatsRemTablesAgeouts + e. lldpStatsRxPortAgeoutsTotal for all ports. + + 2. LLDP agent updates remote systems MIB objects, and + sends out notifications to a list of notification + destinations. + + 3. NMS receives the notifications and compares the new + values of objects listed in step 1. + + Periodically, NMS should poll the object + lldpStatsRemTablesLastChangeTime to find out if anything + has changed since the last poll. if something has + changed, NMS will poll the objects listed in step 1 to + figure out what kind of changes occurred in the tables. + + if value of lldpStatsRemTablesInserts has changed, + then NMS will walk all tables by employing TimeFilter + with the last-polled time value. This request will + return new objects or objects whose values are updated + since the last poll. + + if value of lldpStatsRemTablesAgeouts has changed, + then NMS will walk the lldpStatsRxPortAgeoutsTotal and + compare the new values with previously recorded ones. + For ports whose lldpStatsRxPortAgeoutsTotal value is + greater than the recorded value, NMS will have to + retrieve objects associated with those ports from + table(s) without employing a TimeFilter (which is + performed by specifying 0 for the TimeFilter.) + + lldpStatsRemTablesDeletes and lldpStatsRemTablesDrops + objects are provided for informational purposes."; + smiv2:oid "1.0.8802.1.1.2.1.4.1"; + + list lldpRemEntry { + key "lldpRemTimeMark lldpRemLocalPortNum lldpRemIndex"; + description + "Information about a particular physical network connection. + Entries may be created and deleted in this table by the agent, + if a physical topology discovery process is active."; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1"; + + leaf lldpRemTimeMark { + type rmon2-mib:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention in IETF RFC 2021 and + http://www.ietf.org/IESG/Implementations/RFC2021-Implementation.txt + to see how TimeFilter works."; + reference + "IETF RFC 2021 section 6"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.1"; + } + + leaf lldpRemLocalPortNum { + type LLDP-MIB:LldpPortNumber; + description + "The index value used to identify the port component + (contained in the local chassis with the LLDP agent) + associated with this entry. The lldpRemLocalPortNum + identifies the port on which the remote system information + is received. + + The value of this object is used as a port index to the + lldpRemTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.2"; + } + + leaf lldpRemIndex { + type int32 { + range "1..2147483647"; + } + description + "This object represents an arbitrary local integer value used + by this agent to identify a particular connection instance, + unique only for the indicated remote system. + + An agent is encouraged to assign monotonically increasing + index values to new entries, starting with one, after each + reboot. It is considered unlikely that the lldpRemIndex + will wrap between reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.3"; + } + + leaf lldpRemChassisIdSubtype { + type LLDP-MIB:LldpChassisIdSubtype; + description + "The type of encoding used to identify the chassis associated + with the remote system."; + reference + "IEEE 802.1AB-2005 9.5.2.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.4"; + } + + leaf lldpRemChassisId { + type LLDP-MIB:LldpChassisId; + description + "The string value used to identify the chassis component + associated with the remote system."; + reference + "IEEE 802.1AB-2005 9.5.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.5"; + } + + leaf lldpRemPortIdSubtype { + type LLDP-MIB:LldpPortIdSubtype; + description + "The type of port identifier encoding used in the associated + 'lldpRemPortId' object."; + reference + "IEEE 802.1AB-2005 9.5.3.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.6"; + } + + leaf lldpRemPortId { + type LLDP-MIB:LldpPortId; + description + "The string value used to identify the port component + associated with the remote system."; + reference + "IEEE 802.1AB-2005 9.5.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.7"; + } + + leaf lldpRemPortDesc { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the description of + the given port associated with the remote system."; + reference + "IEEE 802.1AB-2005 9.5.5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.8"; + } + + leaf lldpRemSysName { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the system name of the + remote system."; + reference + "IEEE 802.1AB-2005 9.5.6.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.9"; + } + + leaf lldpRemSysDesc { + type snmp-framework:SnmpAdminString { + length "0..255"; + } + description + "The string value used to identify the system description + of the remote system."; + reference + "IEEE 802.1AB-2005 9.5.7.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.10"; + } + + leaf lldpRemSysCapSupported { + type LLDP-MIB:LldpSystemCapabilitiesMap; + description + "The bitmap value used to identify which system capabilities + are supported on the remote system."; + reference + "IEEE 802.1AB-2005 9.5.8.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.11"; + } + + leaf lldpRemSysCapEnabled { + type LLDP-MIB:LldpSystemCapabilitiesMap; + description + "The bitmap value used to identify which system capabilities + are enabled on the remote system."; + reference + "IEEE 802.1AB-2005 9.5.8.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.1.1.12"; + } + } + } + + container lldpRemManAddrTable { + description + "This table contains one or more rows per management address + information on the remote system learned on a particular port + contained in the local chassis known to this agent."; + smiv2:oid "1.0.8802.1.1.2.1.4.2"; + + list lldpRemManAddrEntry { + key "lldpRemTimeMark lldpRemLocalPortNum lldpRemIndex lldpRemManAddrSubtype lldpRemManAddr"; + description + "Management address information about a particular chassis + component. There may be multiple management addresses + configured on the remote system identified by a particular + lldpRemIndex whose information is received on + lldpRemLocalPortNum of the local system. Each management + address should have distinct 'management address + type' (lldpRemManAddrSubtype) and 'management address' + (lldpRemManAddr.) + + Entries may be created and deleted in this table by the + agent."; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1"; + + leaf lldpRemTimeMark { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemTimeMark"; + } + } + + leaf lldpRemLocalPortNum { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemLocalPortNum"; + } + } + + leaf lldpRemIndex { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemIndex"; + } + } + + leaf lldpRemManAddrSubtype { + type iana-address:AddressFamilyNumbers; + description + "The type of management address identifier encoding used in + the associated 'lldpRemManagmentAddr' object."; + reference + "IEEE 802.1AB-2005 9.5.9.3"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1.1"; + } + + leaf lldpRemManAddr { + type LLDP-MIB:LldpManAddress; + description + "The string value used to identify the management address + component associated with the remote system. The purpose + of this address is to contact the management entity."; + reference + "IEEE 802.1AB-2005 9.5.9.4"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1.2"; + } + + leaf lldpRemManAddrIfSubtype { + type LLDP-MIB:LldpManAddrIfSubtype; + description + "The enumeration value that identifies the interface numbering + method used for defining the interface number, associated + with the remote system."; + reference + "IEEE 802.1AB-2005 9.5.9.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1.3"; + } + + leaf lldpRemManAddrIfId { + type int32; + description + "The integer value used to identify the interface number + regarding the management address component associated with + the remote system."; + reference + "IEEE 802.1AB-2005 9.5.9.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1.4"; + } + + leaf lldpRemManAddrOID { + type yang:object-identifier-128; + description + "The OID value used to identify the type of hardware component + or protocol entity associated with the management address + advertised by the remote system agent."; + reference + "IEEE 802.1AB-2005 9.5.9.8"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.2.1.5"; + } + } + } + + container lldpRemUnknownTLVTable { + description + "This table contains information about an incoming TLV which + is not recognized by the receiving LLDP agent. The TLV may + be from a later version of the basic management set. + + This table should only contain TLVs that are found in + a single LLDP frame. Entries in this table, associated + with an MAC service access point (MSAP, the access point + for MAC services provided to the LCC sublayer, defined + in IEEE 100, which is also identified with a particular + lldpRemLocalPortNum, lldpRemIndex pair) are overwritten with + most recently received unrecognized TLV from the same MSAP, + or they will naturally age out when the rxInfoTTL timer + (associated with the MSAP) expires."; + reference + "IEEE 802.1AB-2005 10.3.2"; + smiv2:oid "1.0.8802.1.1.2.1.4.3"; + + list lldpRemUnknownTLVEntry { + key "lldpRemTimeMark lldpRemLocalPortNum lldpRemIndex lldpRemUnknownTLVType"; + description + "Information about an unrecognized TLV received from a + physical network connection. Entries may be created and + deleted in this table by the agent, if a physical topology + discovery process is active."; + smiv2:oid "1.0.8802.1.1.2.1.4.3.1"; + + leaf lldpRemTimeMark { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemTimeMark"; + } + } + + leaf lldpRemLocalPortNum { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemLocalPortNum"; + } + } + + leaf lldpRemIndex { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemIndex"; + } + } + + leaf lldpRemUnknownTLVType { + type int32 { + range "9..126"; + } + description + "This object represents the value extracted from the type + field of the TLV."; + reference + "IEEE 802.1AB-2005 10.3.5"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.3.1.1"; + } + + leaf lldpRemUnknownTLVInfo { + type binary { + length "0..511"; + } + description + "This object represents the value extracted from the value + field of the TLV."; + reference + "IEEE 802.1AB-2005 10.3.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.3.1.2"; + } + } + } + + container lldpRemOrgDefInfoTable { + description + "This table contains one or more rows per physical network + connection which advertises the organizationally defined + information. + + Note that this table contains one or more rows of + organizationally defined information that is not recognized + by the local agent. + + If the local system is capable of recognizing any + organizationally defined information, appropriate extension + MIBs from the organization should be used for information + retrieval."; + smiv2:oid "1.0.8802.1.1.2.1.4.4"; + + list lldpRemOrgDefInfoEntry { + key "lldpRemTimeMark lldpRemLocalPortNum lldpRemIndex lldpRemOrgDefInfoOUI lldpRemOrgDefInfoSubtype lldpRemOrgDefInfoIndex"; + description + "Information about the unrecognized organizationally + defined information advertised by the remote system. + The lldpRemTimeMark, lldpRemLocalPortNum, lldpRemIndex, + lldpRemOrgDefInfoOUI, lldpRemOrgDefInfoSubtype, and + lldpRemOrgDefInfoIndex are indexes to this table. If there is + an lldpRemOrgDefInfoEntry associated with a particular remote + system identified by the lldpRemLocalPortNum and lldpRemIndex, + there must be an lldpRemEntry associated with the same + instance (i.e, using same indexes.) When the lldpRemEntry + for the same index is removed from the lldpRemTable, the + associated lldpRemOrgDefInfoEntry should be removed from + the lldpRemOrgDefInfoTable. + + Entries may be created and deleted in this table by the + agent."; + smiv2:oid "1.0.8802.1.1.2.1.4.4.1"; + + leaf lldpRemTimeMark { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemTimeMark"; + } + } + + leaf lldpRemLocalPortNum { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemLocalPortNum"; + } + } + + leaf lldpRemIndex { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpRemTable/LLDP-MIB:lldpRemEntry/LLDP-MIB:lldpRemIndex"; + } + } + + leaf lldpRemOrgDefInfoOUI { + type binary { + length "3"; + } + description + "The Organizationally Unique Identifier (OUI), as defined + in IEEE std 802-2001, is a 24 bit (three octets) globally + unique assigned number referenced by various standards, + of the information received from the remote system."; + reference + "IEEE 802.1AB-2005 9.5.1.3"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.4.1.1"; + } + + leaf lldpRemOrgDefInfoSubtype { + type int32 { + range "1..255"; + } + description + "The integer value used to identify the subtype of the + organizationally defined information received from the + remote system. + + The subtype value is required to identify different instances + of organizationally defined information that could not be + retrieved without a unique identifier that indicates the + particular type of information contained in the information + string."; + reference + "IEEE 802.1AB-2005 9.5.1.4"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.4.1.2"; + } + + leaf lldpRemOrgDefInfoIndex { + type int32 { + range "1..2147483647"; + } + description + "This object represents an arbitrary local integer value + used by this agent to identify a particular unrecognized + organizationally defined information instance, unique only + for the lldpRemOrgDefInfoOUI and lldpRemOrgDefInfoSubtype + from the same remote system. + + An agent is encouraged to assign monotonically increasing + index values to new entries, starting with one, after each + reboot. It is considered unlikely that the + lldpRemOrgDefInfoIndex will wrap between reboots."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.0.8802.1.1.2.1.4.4.1.3"; + } + + leaf lldpRemOrgDefInfo { + type binary { + length "0..507"; + } + description + "The string value used to identify the organizationally + defined information of the remote system. The encoding for + this object should be as defined for SnmpAdminString TC."; + reference + "IEEE 802.1AB-2005 9.5.1.5"; + smiv2:max-access "read-only"; + smiv2:oid "1.0.8802.1.1.2.1.4.4.1.4"; + } + } + } + } + + smiv2:alias "lldpConfigManAddrTable" { + description + "The table that controls selection of LLDP management address + TLV instances to be transmitted on individual ports."; + smiv2:oid "1.0.8802.1.1.2.1.1.7"; + } + + smiv2:alias "lldpConfigManAddrEntry" { + description + "LLDP configuration information that specifies the set + of ports (represented as a PortList) on which the local + system management address instance will be transmitted. + + This configuration object augments the lldpLocManAddrEntry, + therefore it is only present along with the management + address instance contained in the associated + lldpLocManAddrEntry entry. + + Each active lldpConfigManAddrEntry must be restored from + non-volatile and re-created (along with the corresponding + lldpLocManAddrEntry) after a re-initialization of the + management system."; + smiv2:oid "1.0.8802.1.1.2.1.1.7.1"; + } + + augment "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpLocManAddrTable/LLDP-MIB:lldpLocManAddrEntry" { + description + "LLDP configuration information that specifies the set + of ports (represented as a PortList) on which the local + system management address instance will be transmitted. + + This configuration object augments the lldpLocManAddrEntry, + therefore it is only present along with the management + address instance contained in the associated + lldpLocManAddrEntry entry. + + Each active lldpConfigManAddrEntry must be restored from + non-volatile and re-created (along with the corresponding + lldpLocManAddrEntry) after a re-initialization of the + management system."; + smiv2:oid "1.0.8802.1.1.2.1.1.7.1"; + + leaf lldpConfigManAddrPortsTxEnable { + type LLDP-MIB:LldpPortList; + description + "A set of ports that are identified by a PortList, in which + each port is represented as a bit. The corresponding local + system management address instance will be transmitted on the + member ports of the lldpManAddrPortsTxEnable. + + The default value for lldpConfigManAddrPortsTxEnable object + is empty binary string, which means no ports are specified + for advertising indicated management address instance."; + reference + "IEEE 802.1AB-2005 10.2.1.1"; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.0.8802.1.1.2.1.1.7.1.1"; + } + } + + notification lldpRemTablesChange { + description + "A lldpRemTablesChange notification is sent when the value + of lldpStatsRemTableLastChangeTime changes. It can be + utilized by an NMS to trigger LLDP remote systems table + maintenance polls. + + Note that transmission of lldpRemTablesChange + notifications are throttled by the agent, as specified by the + 'lldpNotificationInterval' object."; + smiv2:oid "1.0.8802.1.1.2.0.0.1"; + + container object-1 { + + leaf lldpStatsRemTablesInserts { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpStatistics/LLDP-MIB:lldpStatsRemTablesInserts"; + } + } + } + + container object-2 { + + leaf lldpStatsRemTablesDeletes { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpStatistics/LLDP-MIB:lldpStatsRemTablesDeletes"; + } + } + } + + container object-3 { + + leaf lldpStatsRemTablesDrops { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpStatistics/LLDP-MIB:lldpStatsRemTablesDrops"; + } + } + } + + container object-4 { + + leaf lldpStatsRemTablesAgeouts { + type leafref { + path "/LLDP-MIB:LLDP-MIB/LLDP-MIB:lldpStatistics/LLDP-MIB:lldpStatsRemTablesAgeouts"; + } + } + } + } + + smiv2:alias "lldpMIB" { + smiv2:oid "1.0.8802.1.1.2"; + } + + smiv2:alias "lldpNotifications" { + smiv2:oid "1.0.8802.1.1.2.0"; + } + + smiv2:alias "lldpNotificationPrefix" { + smiv2:oid "1.0.8802.1.1.2.0.0"; + } + + smiv2:alias "lldpObjects" { + smiv2:oid "1.0.8802.1.1.2.1"; + } + + smiv2:alias "lldpConfiguration" { + smiv2:oid "1.0.8802.1.1.2.1.1"; + } + + smiv2:alias "lldpStatistics" { + smiv2:oid "1.0.8802.1.1.2.1.2"; + } + + smiv2:alias "lldpLocalSystemData" { + smiv2:oid "1.0.8802.1.1.2.1.3"; + } + + smiv2:alias "lldpRemoteSystemsData" { + smiv2:oid "1.0.8802.1.1.2.1.4"; + } + + smiv2:alias "lldpExtensions" { + smiv2:oid "1.0.8802.1.1.2.1.5"; + } + + smiv2:alias "lldpConformance" { + smiv2:oid "1.0.8802.1.1.2.2"; + } + + smiv2:alias "lldpCompliances" { + smiv2:oid "1.0.8802.1.1.2.2.1"; + } + + smiv2:alias "lldpGroups" { + smiv2:oid "1.0.8802.1.1.2.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-L3VPN-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-L3VPN-STD-MIB.yang new file mode 100644 index 000000000..c824ca27e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-L3VPN-STD-MIB.yang @@ -0,0 +1,1486 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-L3VPN-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-L3VPN-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-L3VPN-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB"; + prefix MPLS-L3VPN-STD-MIB; + + import IANA-RTPROTO-MIB { + prefix "iana-rtproto"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import MPLS-LSR-STD-MIB { + prefix "mpls-lsr"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import VPN-TC-STD-MIB { + prefix "vpn-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Layer-3 Virtual Private + Networks Working Group."; + + contact + " Thomas D. Nadeau + tnadeau@cisco.com + + Harmen van der Linde + havander@cisco.com + + Comments and discussion to l3vpn@ietf.org"; + + description + "This MIB contains managed object definitions for the + Layer-3 Multiprotocol Label Switching Virtual + Private Networks. + + Copyright (C) The Internet Society (2006). This + version of this MIB module is part of RFC4382; see + the RFC itself for full legal notices."; + + revision 2006-01-23 { + description + "Initial version. Published as RFC 4382."; + } + + typedef MplsL3VpnName { + type binary { + length "0..31"; + } + description + "An identifier that is assigned to each MPLS/BGP VPN and + is used to uniquely identify it. This is assigned by the + system operator or NMS and SHOULD be unique throughout + the MPLS domain. If this is the case, then this identifier + can then be used at any LSR within a specific MPLS domain + to identify this MPLS/BGP VPN. It may also be possible to + preserve the uniqueness of this identifier across MPLS + domain boundaries, in which case this identifier can then + be used to uniquely identify MPLS/BGP VPNs on a more global + basis. This object MAY be set to the VPN ID as defined in + RFC 2685."; + reference + "RFC 2685 Fox B., et al, 'Virtual Private + + Networks Identifier', September 1999."; + } + + typedef MplsL3VpnRouteDistinguisher { + type binary { + length "0..256"; + } + description + "Syntax for a route distinguisher and route target + as defined in [RFC4364]."; + reference + "[RFC4364]"; + } + + typedef MplsL3VpnRtType { + type enumeration { + enum "import" { + value "1"; + } + enum "export" { + value "2"; + } + enum "both" { + value "3"; + } + } + description + "Used to define the type of a route target usage. + Route targets can be specified to be imported, + exported, or both. For a complete definition of a + route target, see [RFC4364]."; + reference + "[RFC4364]"; + } + + + container MPLS-L3VPN-STD-MIB { + config false; + + container mplsL3VpnScalars { + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1"; + + leaf mplsL3VpnConfiguredVrfs { + type uint32; + description + "The number of VRFs that are configured on this node."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.1"; + } + + leaf mplsL3VpnActiveVrfs { + type yang:gauge32; + description + "The number of VRFs that are active on this node. + That is, those VRFs whose corresponding mplsL3VpnVrfOperStatus + object value is equal to operational (1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.2"; + } + + leaf mplsL3VpnConnectedInterfaces { + type yang:gauge32; + description + "Total number of interfaces connected to a VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.3"; + } + + leaf mplsL3VpnNotificationEnable { + type boolean; + description + "If this object is true, then it enables the + generation of all notifications defined in + this MIB. This object's value should be + preserved across agent reboots."; + reference + "See also [RFC3413] for explanation that + notifications are under the ultimate control of the + MIB modules in this document."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.4"; + } + + leaf mplsL3VpnVrfConfMaxPossRts { + type uint32; + description + "Denotes maximum number of routes that the device + will allow all VRFs jointly to hold. If this value is + set to 0, this indicates that the device is + unable to determine the absolute maximum. In this + case, the configured maximum MAY not actually + be allowed by the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.5"; + } + + leaf mplsL3VpnVrfConfRteMxThrshTime { + type uint32; + units "seconds"; + description + "Denotes the interval in seconds, at which the route max threshold + notification may be reissued after the maximum value has been + exceeded (or has been reached if mplsL3VpnVrfConfMaxRoutes and + mplsL3VpnVrfConfHighRteThresh are equal) and the initial + notification has been issued. This value is intended to prevent + continuous generation of notifications by an agent in the event + that routes are continually added to a VRF after it has reached + its maximum value. If this value is set to 0, the agent should + only issue a single notification at the time that the maximum + threshold has been reached, and should not issue any more + notifications until the value of routes has fallen below the + configured threshold value. This is the recommended default + behavior."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.6"; + } + + leaf mplsL3VpnIllLblRcvThrsh { + type uint32; + description + "The number of illegally received labels above which + the mplsNumVrfSecIllglLblThrshExcd notification + is issued. The persistence of this value mimics + that of the device's configuration."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1.7"; + } + } + + container mplsL3VpnIfConfTable { + description + "This table specifies per-interface MPLS capability + and associated information."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1"; + + list mplsL3VpnIfConfEntry { + key "mplsL3VpnVrfName mplsL3VpnIfConfIndex"; + description + "An entry in this table is created by an LSR for + every interface capable of supporting MPLS L3VPN. + Each entry in this table is meant to correspond to + an entry in the Interfaces Table."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1"; + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnIfConfIndex { + type if-mib:InterfaceIndex; + description + "This is a unique index for an entry in the + mplsL3VpnIfConfTable. A non-zero index for an + entry indicates the ifIndex for the corresponding + interface entry in the MPLS-VPN-layer in the ifTable. + Note that this table does not necessarily correspond + one-to-one with all entries in the Interface MIB + having an ifType of MPLS-layer; rather, only those + that are enabled for MPLS L3VPN functionality."; + reference + "RFC2863"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1.1"; + } + + leaf mplsL3VpnIfVpnClassification { + type enumeration { + enum "carrierOfCarrier" { + value "1"; + } + enum "enterprise" { + value "2"; + } + enum "interProvider" { + value "3"; + } + } + description + "Denotes whether this link participates in a + carrier's carrier, enterprise, or inter-provider + scenario."; + smiv2:defval "enterprise"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1.2"; + } + + leaf mplsL3VpnIfVpnRouteDistProtocol { + type bits { + bit none { + position "0"; + } + bit bgp { + position "1"; + } + bit ospf { + position "2"; + } + bit rip { + position "3"; + } + bit isis { + position "4"; + } + bit static { + position "5"; + } + bit other { + position "6"; + } + } + description + "Denotes the route distribution protocol across the + PE-CE link. Note that more than one routing protocol + may be enabled at the same time; thus, this object is + specified as a bitmask. For example, static(5) and + ospf(2) are a typical configuration."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1.3"; + } + + leaf mplsL3VpnIfConfStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this VPN If entry. + Conceptual rows having the value 'permanent' + need not allow write access to any columnar + objects in the row."; + reference + "See RFC2579."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1.4"; + } + + leaf mplsL3VpnIfConfRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. Rows in this + table signify that the specified interface is + associated with this VRF. If the row creation + operation succeeds, the interface will have been + associated with the specified VRF, otherwise the + agent MUST not allow the association. If the agent + only allows read-only operations on this table, it + MUST create entries in this table as they are created + on the device. When a row in this table is in + active(1) state, no objects in that row can be + modified except mplsL3VpnIfConfStorageType and + mplsL3VpnIfConfRowStatus."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.1.1.5"; + } + } + } + + container mplsL3VpnVrfTable { + description + "This table specifies per-interface MPLS L3VPN + VRF Table capability and associated information. + Entries in this table define VRF routing instances + associated with MPLS/VPN interfaces. Note that + multiple interfaces can belong to the same VRF + instance. The collection of all VRF instances + comprises an actual VPN."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2"; + + list mplsL3VpnVrfEntry { + key "mplsL3VpnVrfName"; + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS L3VPN. The + indexing provides an ordering of VRFs per-VPN + interface."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1"; + + leaf mplsL3VpnVrfName { + type MPLS-L3VPN-STD-MIB:MplsL3VpnName; + description + "The human-readable name of this VPN. This MAY + be equivalent to the [RFC2685] VPN-ID, but may + also vary. If it is set to the VPN ID, it MUST + be equivalent to the value of mplsL3VpnVrfVpnId. + It is strongly recommended that all sites supporting + VRFs that are part of the same VPN use the same + naming convention for VRFs as well as the same VPN + ID."; + reference + "[RFC2685]"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.1"; + } + + leaf mplsL3VpnVrfVpnId { + type vpn-tc:VPNIdOrZero; + description + "The VPN ID as specified in [RFC2685]. If a VPN ID + has not been specified for this VRF, then this + variable SHOULD be set to a zero-length OCTET + STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.2"; + } + + leaf mplsL3VpnVrfDescription { + type snmp-framework:SnmpAdminString; + description + "The human-readable description of this VRF."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.3"; + } + + leaf mplsL3VpnVrfRD { + type MPLS-L3VPN-STD-MIB:MplsL3VpnRouteDistinguisher; + description + "The route distinguisher for this VRF."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.4"; + } + + leaf mplsL3VpnVrfCreationTime { + type yang:timestamp; + description + "The time at which this VRF entry was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.5"; + } + + leaf mplsL3VpnVrfOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "Denotes whether or not a VRF is operational. A VRF is + up(1) when there is at least one interface associated + with the VRF whose ifOperStatus is up(1). A VRF is + down(2) when: + a. There does not exist at least one interface whose + ifOperStatus is up(1). + b. There are no interfaces associated with the VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.6"; + } + + leaf mplsL3VpnVrfActiveInterfaces { + type yang:gauge32; + description + "Total number of interfaces connected to this VRF with + ifOperStatus = up(1). + + This value should increase when an interface is associated + with the corresponding VRF and its corresponding ifOperStatus + is equal to up(1). If an interface is associated whose + ifOperStatus is not up(1), then the value is not incremented + until such time as it transitions to this state. + + This value should be decremented when an interface is + disassociated with a VRF or the corresponding ifOperStatus + transitions out of the up(1) state to any other state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.7"; + } + + leaf mplsL3VpnVrfAssociatedInterfaces { + type uint32; + description + "Total number of interfaces connected to this VRF + (independent of ifOperStatus type)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.8"; + } + + leaf mplsL3VpnVrfConfMidRteThresh { + type uint32; + description + "Denotes mid-level water marker for the number + of routes that this VRF may hold."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.9"; + } + + leaf mplsL3VpnVrfConfHighRteThresh { + type uint32; + description + "Denotes high-level water marker for the number of + routes that this VRF may hold."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.10"; + } + + leaf mplsL3VpnVrfConfMaxRoutes { + type uint32; + description + "Denotes maximum number of routes that this VRF is + configured to hold. This value MUST be less than or + equal to mplsL3VpnVrfConfMaxPossRts unless it is set + to 0."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.11"; + } + + leaf mplsL3VpnVrfConfLastChanged { + type yang:timestamp; + description + "The value of sysUpTime at the time of the last + change of this table entry, which includes changes of + VRF parameters defined in this table or addition or + deletion of interfaces associated with this VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.12"; + } + + leaf mplsL3VpnVrfConfRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. + + When a row in this table is in active(1) state, no + objects in that row can be modified except + mplsL3VpnVrfConfAdminStatus, mplsL3VpnVrfConfRowStatus, + and mplsL3VpnVrfConfStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.13"; + } + + leaf mplsL3VpnVrfConfAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "Indicates the desired operational status of this + VRF."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.14"; + } + + leaf mplsL3VpnVrfConfStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this VPN VRF entry. + Conceptual rows having the value 'permanent' + need not allow write access to any columnar + objects in the row."; + reference + "See RFC2579."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.2.1.15"; + } + } + } + + container mplsL3VpnVrfRTTable { + description + "This table specifies per-VRF route target association. + Each entry identifies a connectivity policy supported + as part of a VPN."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3"; + + list mplsL3VpnVrfRTEntry { + key "mplsL3VpnVrfName mplsL3VpnVrfRTIndex mplsL3VpnVrfRTType"; + description + "An entry in this table is created by an LSR for + each route target configured for a VRF supporting + a MPLS L3VPN instance. The indexing provides an + ordering per-VRF instance. See [RFC4364] for a + complete definition of a route target."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1"; + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfRTIndex { + type uint32 { + range "1..4294967295"; + } + description + "Auxiliary index for route targets configured for a + particular VRF."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.2"; + } + + leaf mplsL3VpnVrfRTType { + type MPLS-L3VPN-STD-MIB:MplsL3VpnRtType; + description + "The route target distribution type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.3"; + } + + leaf mplsL3VpnVrfRT { + type MPLS-L3VPN-STD-MIB:MplsL3VpnRouteDistinguisher; + description + "The route target distribution policy."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.4"; + } + + leaf mplsL3VpnVrfRTDescr { + type snmp-framework:SnmpAdminString; + description + "Description of the route target."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.5"; + } + + leaf mplsL3VpnVrfRTRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified except mplsL3VpnVrfRTRowStatus."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.6"; + } + + leaf mplsL3VpnVrfRTStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this VPN route target (RT) entry. + Conceptual rows having the value 'permanent' + need not allow write access to any columnar + objects in the row."; + reference + "See RFC2579."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.3.1.7"; + } + } + } + + container mplsL3VpnVrfRteTable { + description + "This table specifies per-interface MPLS L3VPN VRF Table + routing information. Entries in this table define VRF routing + entries associated with the specified MPLS/VPN interfaces. Note + + that this table contains both BGP and Interior Gateway Protocol + IGP routes, as both may appear in the same VRF."; + reference + "[RFC2096]"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1"; + + list mplsL3VpnVrfRteEntry { + key "mplsL3VpnVrfName mplsL3VpnVrfRteInetCidrDestType mplsL3VpnVrfRteInetCidrDest mplsL3VpnVrfRteInetCidrPfxLen mplsL3VpnVrfRteInetCidrPolicy mplsL3VpnVrfRteInetCidrNHopType mplsL3VpnVrfRteInetCidrNextHop"; + description + "An entry in this table is created by an LSR for every route + present configured (either dynamically or statically) within + the context of a specific VRF capable of supporting MPLS/BGP + VPN. The indexing provides an ordering of VRFs per-VPN + interface. + + Implementers need to be aware that there are quite a few + index objects that together can exceed the size allowed + for an Object Identifier (OID). So implementers must make + sure that OIDs of column instances in this table will have + no more than 128 sub-identifiers, otherwise they cannot be + accessed using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1"; + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfRteInetCidrDestType { + type inet-address:InetAddressType; + description + "The type of the mplsL3VpnVrfRteInetCidrDest address, as + defined in the InetAddress MIB. + + Only those address types that may appear in an actual + routing table are allowed as values of this object."; + reference + "RFC4001"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.1"; + } + + leaf mplsL3VpnVrfRteInetCidrDest { + type inet-address:InetAddress; + description + "The destination IP address of this route. + + The type of this address is determined by the value of + the mplsL3VpnVrfRteInetCidrDestType object. + + The values for the index objects + mplsL3VpnVrfRteInetCidrDest and + mplsL3VpnVrfRteInetCidrPfxLen must be consistent. When + the value of mplsL3VpnVrfRteInetCidrDest is x, then + the bitwise logical-AND of x with the value of the mask + formed from the corresponding index object + mplsL3VpnVrfRteInetCidrPfxLen MUST be + equal to x. If not, then the index pair is not + consistent and an inconsistentName error must be + returned on SET or CREATE requests."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.2"; + } + + leaf mplsL3VpnVrfRteInetCidrPfxLen { + type inet-address:InetAddressPrefixLength { + range "0..128"; + } + description + "Indicates the number of leading one bits that form the + + mask to be logical-ANDed with the destination address + before being compared to the value in the + mplsL3VpnVrfRteInetCidrDest field. + + The values for the index objects + mplsL3VpnVrfRteInetCidrDest and + mplsL3VpnVrfRteInetCidrPfxLen must be consistent. When + the value of mplsL3VpnVrfRteInetCidrDest is x, then the + bitwise logical-AND of x with the value of the mask + formed from the corresponding index object + mplsL3VpnVrfRteInetCidrPfxLen MUST be + equal to x. If not, then the index pair is not + consistent and an inconsistentName error must be + returned on SET or CREATE requests."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.3"; + } + + leaf mplsL3VpnVrfRteInetCidrPolicy { + type yang:object-identifier-128; + description + "This object is an opaque object without any defined + semantics. Its purpose is to serve as an additional + index that may delineate between multiple entries to + the same destination. The value { 0 0 } shall be used + as the default value for this object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.4"; + } + + leaf mplsL3VpnVrfRteInetCidrNHopType { + type inet-address:InetAddressType; + description + "The type of the mplsL3VpnVrfRteInetCidrNextHop address, + as defined in the InetAddress MIB. + + Value should be set to unknown(0) for non-remote + routes. + + Only those address types that may appear in an actual + routing table are allowed as values of this object."; + reference + "RFC4001"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.5"; + } + + leaf mplsL3VpnVrfRteInetCidrNextHop { + type inet-address:InetAddress; + description + "On remote routes, the address of the next system en + route. For non-remote routes, a zero-length string. + The type of this address is determined by the value of + the mplsL3VpnVrfRteInetCidrNHopType object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.6"; + } + + leaf mplsL3VpnVrfRteInetCidrIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The ifIndex value that identifies the local interface + through which the next hop of this route should be + reached. A value of 0 is valid and represents the + scenario where no interface is specified."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.7"; + } + + leaf mplsL3VpnVrfRteInetCidrType { + type enumeration { + enum "other" { + value "1"; + } + enum "reject" { + value "2"; + } + enum "local" { + value "3"; + } + enum "remote" { + value "4"; + } + enum "blackhole" { + value "5"; + } + } + description + "The type of route. Note that local(3) refers to a + route for which the next hop is the final destination; + remote(4) refers to a route for which the next hop is + not the final destination. + + Routes that do not result in traffic forwarding or + rejection should not be displayed even if the + implementation keeps them stored internally. + + reject(2) refers to a route that, if matched, discards + the message as unreachable and returns a notification + (e.g., ICMP error) to the message sender. This is used + in some protocols as a means of correctly aggregating + routes. + + blackhole(5) refers to a route that, if matched, + discards the message silently."; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.8"; + } + + leaf mplsL3VpnVrfRteInetCidrProto { + type iana-rtproto:IANAipRouteProtocol; + description + "The routing mechanism via which this route was learned. + Inclusion of values for gateway routing protocols is + not intended to imply that hosts should support those + protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.9"; + } + + leaf mplsL3VpnVrfRteInetCidrAge { + type yang:gauge32; + description + "The number of seconds since this route was last updated + or otherwise determined to be correct. Note that no + semantics of 'too old' can be implied except through + knowledge of the routing protocol by which the route + was learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.10"; + } + + leaf mplsL3VpnVrfRteInetCidrNextHopAS { + type inet:as-number; + description + "The Autonomous System Number of the next hop. The + semantics of this object are determined by the + routing protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto value. When this + object is unknown or not relevant, its value should + be set to zero."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.11"; + } + + leaf mplsL3VpnVrfRteInetCidrMetric1 { + type int32 { + range "-1..2147483647"; + } + description + "The primary routing metric for this route. The + semantics of this metric are determined by the + + routing protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto value. If this + metric is not used, its value should be set to + -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.12"; + } + + leaf mplsL3VpnVrfRteInetCidrMetric2 { + type int32 { + range "-1..2147483647"; + } + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the routing + protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto + value. If this metric is not used, its value should be + set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.13"; + } + + leaf mplsL3VpnVrfRteInetCidrMetric3 { + type int32 { + range "-1..2147483647"; + } + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the routing + protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto + value. If this metric is not used, its value should be + set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.14"; + } + + leaf mplsL3VpnVrfRteInetCidrMetric4 { + type int32 { + range "-1..2147483647"; + } + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the routing + protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto value. If this metric + is not used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.15"; + } + + leaf mplsL3VpnVrfRteInetCidrMetric5 { + type int32 { + range "-1..2147483647"; + } + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the routing + protocol specified in the route's + mplsL3VpnVrfRteInetCidrProto value. If this metric is + not used, its value should be set to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.16"; + } + + leaf mplsL3VpnVrfRteXCPointer { + type mpls-lsr:MplsIndexType; + description + "Index into mplsXCTable that identifies which cross- + connect entry is associated with this VRF route entry + by containing the mplsXCIndex of that cross-connect entry. + The string containing the single-octet 0x00 indicates that + a label stack is not associated with this route entry. This + can be the case because the label bindings have not yet + been established, or because some change in the agent has + removed them. + + When the label stack associated with this VRF route is created, + it MUST establish the associated cross-connect + entry in the mplsXCTable and then set that index to the value + of this object. Changes to the cross-connect object in the + mplsXCTable MUST automatically be reflected in the value of + this object. If this object represents a static routing entry, + then the manager must ensure that this entry is maintained + consistently in the corresponding mplsXCTable as well."; + reference + "RFC 3813 - Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information base (MIB), C. Srinivasan, + A. Vishwanathan, and T. Nadeau, June 2004"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.17"; + } + + leaf mplsL3VpnVrfRteInetCidrStatus { + type snmpv2-tc:RowStatus; + description + "The row status variable, used according to row + installation and removal conventions. + + A row entry cannot be modified when the status is + marked as active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4.1.1.18"; + } + } + } + } + + smiv2:alias "mplsL3VpnVrfSecTable" { + description + "This table specifies per MPLS L3VPN VRF Table + security-related counters."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.6"; + } + + smiv2:alias "mplsL3VpnVrfSecEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS L3VPN. Each + entry in this table is used to indicate security-related + information for each VRF entry."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.6.1"; + } + + augment "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS L3VPN. Each + entry in this table is used to indicate security-related + information for each VRF entry."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.6.1"; + + leaf mplsL3VpnVrfSecIllegalLblVltns { + type yang:counter32; + description + "Indicates the number of illegally received + labels on this VPN/VRF. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsL3VpnVrfSecDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.6.1.1"; + } + + leaf mplsL3VpnVrfSecDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of this entry's counters suffered + a discontinuity. If no such discontinuities have + occurred since the last re-initialization of the local + management subsystem, then this object contains a zero + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2.6.1.2"; + } + } + + smiv2:alias "mplsL3VpnVrfPerfTable" { + description + "This table specifies per MPLS L3VPN VRF Table performance + + information."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1"; + } + + smiv2:alias "mplsL3VpnVrfPerfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS L3VPN."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1"; + } + + augment "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS L3VPN."; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1"; + + leaf mplsL3VpnVrfPerfRoutesAdded { + type yang:counter32; + description + "Indicates the number of routes added to this VPN/VRF + since the last discontinuity. Discontinuities in + the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsL3VpnVrfPerfDiscTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1.1"; + } + + leaf mplsL3VpnVrfPerfRoutesDeleted { + type yang:counter32; + description + "Indicates the number of routes removed from this VPN/VRF. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsL3VpnVrfPerfDiscTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1.2"; + } + + leaf mplsL3VpnVrfPerfCurrNumRoutes { + type yang:gauge32; + description + "Indicates the number of routes currently used by this + VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1.3"; + } + + leaf mplsL3VpnVrfPerfRoutesDropped { + type yang:counter32; + description + "This counter should be incremented when the number of routes + contained by the specified VRF exceeds or attempts to exceed + the maximum allowed value as indicated by + mplsL3VpnVrfMaxRouteThreshold. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsL3VpnVrfPerfDiscTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1.4"; + } + + leaf mplsL3VpnVrfPerfDiscTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of this entry's counters suffered + a discontinuity. If no such discontinuities have + occurred since the last re-initialization of the local + management subsystem, then this object contains a zero + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3.1.1.5"; + } + } + + notification mplsL3VpnVrfUp { + description + "This notification is generated when: + a. No interface is associated with this VRF, and the first + (and only first) interface associated with it has its + ifOperStatus change to up(1). + + b. One interface is associated with this VRF, and + the ifOperStatus of this interface changes to up(1). + + c. Multiple interfaces are associated with this VRF, and the + ifOperStatus of all interfaces is down(2), and the first + of those interfaces has its ifOperStatus change to up(1)."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.1"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnIfConfIndex { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfIndex"; + } + } + + leaf mplsL3VpnIfConfRowStatus { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfRowStatus"; + } + } + } + + container object-2 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfOperStatus { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfOperStatus"; + } + } + } + } + + notification mplsL3VpnVrfDown { + description + "This notification is generated when: + a. One interface is associated with this VRF, and + the ifOperStatus of this interface changes from up(1) + to down(2). + + b. Multiple interfaces are associated with this VRF, and + the ifOperStatus of all except one of these interfaces is + equal to up(1), and the ifOperStatus of that interface + changes from up(1) to down(2). + + c. The last interface with ifOperStatus equal to up(1) + is disassociated from a VRF."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.2"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnIfConfIndex { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfIndex"; + } + } + + leaf mplsL3VpnIfConfRowStatus { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnIfConfRowStatus"; + } + } + } + + container object-2 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfOperStatus { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfOperStatus"; + } + } + } + } + + notification mplsL3VpnVrfRouteMidThreshExceeded { + description + "This notification is generated when the number of routes + contained by the specified VRF exceeds the value indicated by + mplsL3VpnVrfMidRouteThreshold. A single notification MUST be + generated when this threshold is exceeded, and no other + notifications of this type should be issued until the value + of mplsL3VpnVrfPerfCurrNumRoutes has fallen below that of + mplsL3VpnVrfConfMidRteThresh."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.3"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfPerfCurrNumRoutes { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfPerfCurrNumRoutes"; + } + } + } + + container object-2 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfConfMidRteThresh { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfConfMidRteThresh"; + } + } + } + } + + notification mplsL3VpnVrfNumVrfRouteMaxThreshExceeded { + description + "This notification is generated when the number of routes + contained by the specified VRF exceeds or attempts to exceed + the maximum allowed value as indicated by + mplsL3VpnVrfMaxRouteThreshold. In cases where + mplsL3VpnVrfConfHighRteThresh is set to the same value + as mplsL3VpnVrfConfMaxRoutes, mplsL3VpnVrfConfHighRteThresh + need not be exceeded; rather, just reached for this notification + to be issued. + + Note that mplsL3VpnVrfConfRteMxThrshTime denotes the interval + at which the this notification will be reissued after the + maximum value has been exceeded (or reached if + mplsL3VpnVrfConfMaxRoutes and mplsL3VpnVrfConfHighRteThresh are + equal) and the initial notification has been issued. This value + is intended to prevent continuous generation of notifications by + an agent in the event that routes are continually added to a VRF + after it has reached its maximum value. The default value is 0 + minutes. If this value is set to 0, the agent should only issue + a single notification at the time that the maximum threshold has + been reached, and should not issue any more notifications until + the value of routes has fallen below the configured threshold + value."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.4"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfPerfCurrNumRoutes { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfPerfCurrNumRoutes"; + } + } + } + + container object-2 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfConfHighRteThresh { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfConfHighRteThresh"; + } + } + } + } + + notification mplsL3VpnNumVrfSecIllglLblThrshExcd { + description + "This notification is generated when the number of illegal + label violations on a VRF as indicated by + + mplsL3VpnVrfSecIllegalLblVltns has exceeded + mplsL3VpnIllLblRcvThrsh. The threshold is not + included in the varbind here because the value of + mplsL3VpnVrfSecIllegalLblVltns should be one greater than + the threshold at the time this notification is issued."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.5"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfSecIllegalLblVltns { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfSecIllegalLblVltns"; + } + } + } + } + + notification mplsL3VpnNumVrfRouteMaxThreshCleared { + description + "This notification is generated only after the number of routes + contained by the specified VRF exceeds or attempts to exceed + the maximum allowed value as indicated by + mplsVrfMaxRouteThreshold, and then falls below this value. The + emission of this notification informs the operator that the + error condition has been cleared without the operator having to + query the device. + + Note that mplsL3VpnVrfConfRteMxThrshTime denotes the interval at + which the mplsNumVrfRouteMaxThreshExceeded notification will + be reissued after the maximum value has been exceeded (or + reached if mplsL3VpnVrfConfMaxRoutes and + mplsL3VpnVrfConfHighRteThresh are equal) and the initial + notification has been issued. Therefore, + the generation of this notification should also be emitted with + this same frequency (assuming that the error condition is + cleared). Specifically, if the error condition is reached and + cleared several times during the period of time specified in + mplsL3VpnVrfConfRteMxThrshTime, only a single notification will + be issued to indicate the first instance of the error condition + as well as the first time the error condition is cleared. + This behavior is intended to prevent continuous generation of + notifications by an agent in the event that routes are + continually added and removed to/from a VRF after it has + reached its maximum value. The default value is 0. If this + value is set to 0, the agent should issue a notification + whenever the maximum threshold has been cleared."; + smiv2:oid "1.3.6.1.2.1.10.166.11.0.6"; + + container object-1 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfPerfCurrNumRoutes { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfPerfCurrNumRoutes"; + } + } + } + + container object-2 { + + leaf mplsL3VpnVrfName { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfName"; + } + } + + leaf mplsL3VpnVrfConfHighRteThresh { + type leafref { + path "/MPLS-L3VPN-STD-MIB:MPLS-L3VPN-STD-MIB/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfTable/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfEntry/MPLS-L3VPN-STD-MIB:mplsL3VpnVrfConfHighRteThresh"; + } + } + } + } + + smiv2:alias "mplsL3VpnMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.11"; + } + + smiv2:alias "mplsL3VpnNotifications" { + smiv2:oid "1.3.6.1.2.1.10.166.11.0"; + } + + smiv2:alias "mplsL3VpnObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.11.1"; + } + + smiv2:alias "mplsL3VpnScalars" { + smiv2:oid "1.3.6.1.2.1.10.166.11.1.1"; + } + + smiv2:alias "mplsL3VpnConf" { + smiv2:oid "1.3.6.1.2.1.10.166.11.1.2"; + } + + smiv2:alias "mplsL3VpnPerf" { + smiv2:oid "1.3.6.1.2.1.10.166.11.1.3"; + } + + smiv2:alias "mplsL3VpnRoute" { + smiv2:oid "1.3.6.1.2.1.10.166.11.1.4"; + } + + smiv2:alias "mplsL3VpnConformance" { + smiv2:oid "1.3.6.1.2.1.10.166.11.2"; + } + + smiv2:alias "mplsL3VpnGroups" { + smiv2:oid "1.3.6.1.2.1.10.166.11.2.1"; + } + + smiv2:alias "mplsL3VpnCompliances" { + smiv2:oid "1.3.6.1.2.1.10.166.11.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-LDP-GENERIC-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-LDP-GENERIC-STD-MIB.yang new file mode 100644 index 000000000..ff5ffaffe --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-LDP-GENERIC-STD-MIB.yang @@ -0,0 +1,252 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-LDP-GENERIC-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-LDP-GENERIC-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-LDP-GENERIC-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB"; + prefix MPLS-LDP-GENERIC-STD-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import MPLS-LDP-STD-MIB { + prefix "mpls-ldp"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Multiprotocol Label Switching (mpls) + Working Group"; + + contact + "Joan Cucchiara (jcucchiara@mindspring.com) + Marconi Communications, Inc. + + Hans Sjostrand (hans@ipunplugged.com) + ipUnplugged + + + James V. Luciani (james_luciani@mindspring.com) + Marconi Communications, Inc. + + Working Group Chairs: + George Swallow, email: swallow@cisco.com + Loa Andersson, email: loa@pi.se + + MPLS Working Group, email: mpls@uu.net"; + + description + "Copyright (C) The Internet Society (year). The + initial version of this MIB module was published + in RFC 3815. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html + + This MIB contains managed object definitions for + configuring and monitoring the Multiprotocol Label + Switching (MPLS), Label Distribution Protocol (LDP), + utilizing ethernet as the Layer 2 media."; + + revision 2004-06-03 { + description + "Initial version published as part of RFC 3815."; + } + + + container MPLS-LDP-GENERIC-STD-MIB { + config false; + + container mplsLdpEntityGenericLRTable { + description + "The MPLS LDP Entity Generic Label Range (LR) + Table. + + The purpose of this table is to provide a mechanism + for configurating a contiguous range of generic labels, + or a 'label range' for LDP Entities. + + LDP Entities which use Generic Labels must have at least + one entry in this table. In other words, this table + 'extends' the mpldLdpEntityTable for Generic Labels."; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1"; + + list mplsLdpEntityGenericLREntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpEntityGenericLRMin mplsLdpEntityGenericLRMax"; + description + "A row in the LDP Entity Generic Label + Range (LR) Table. One entry in this table contains + information on a single range of labels + represented by the configured Upper and Lower + Bounds pairs. NOTE: there is NO corresponding + LDP message which relates to the information + in this table, however, this table does provide + a way for a user to 'reserve' a generic label + range. + + NOTE: The ranges for a specific LDP Entity + are UNIQUE and non-overlapping. + + A row will not be created unless a unique and + non-overlapping range is specified."; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/mpls-ldp:MPLS-LDP-STD-MIB/mpls-ldp:mplsLdpEntityTable/mpls-ldp:mplsLdpEntityEntry/mpls-ldp:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/mpls-ldp:MPLS-LDP-STD-MIB/mpls-ldp:mplsLdpEntityTable/mpls-ldp:mplsLdpEntityEntry/mpls-ldp:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpEntityGenericLRMin { + type uint32 { + range "0..1048575"; + } + description + "The minimum label configured for this range."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.1"; + } + + leaf mplsLdpEntityGenericLRMax { + type uint32 { + range "0..1048575"; + } + description + "The maximum label configured for this range."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.2"; + } + + leaf mplsLdpEntityGenericLabelSpace { + type enumeration { + enum "perPlatform" { + value "1"; + } + enum "perInterface" { + value "2"; + } + } + description + "This value of this object is perPlatform(1), then + this means that the label space type is + per platform. + + If this object is perInterface(2), then this + means that the label space type is per Interface."; + reference + "RFC3036, LDP Specification, Section 2.2.1, + Label Spaces."; + smiv2:defval "perPlatform"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.3"; + } + + leaf mplsLdpEntityGenericIfIndexOrZero { + type if-mib:InterfaceIndexOrZero; + description + "This value represents either the InterfaceIndex of + the 'ifLayer' where these Generic Label would be created, + + + or 0 (zero). The value of zero means that the + InterfaceIndex is not known. + + However, if the InterfaceIndex is known, + then it must be represented by this value. + + If an InterfaceIndex becomes known, then the + network management entity (e.g., SNMP agent) responsible + for this object MUST change the value from 0 (zero) to the + value of the InterfaceIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.4"; + } + + leaf mplsLdpEntityGenericLRStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.5"; + } + + leaf mplsLdpEntityGenericLRRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable + objects in this row may be modified at any time, + however, as described in detail in the section + entitled, 'Changing Values After Session + Establishment', and again described in the + DESCRIPTION clause of the mplsLdpEntityAdminStatus object, + if a session has been initiated with a Peer, + changing objects in this table will + wreak havoc with the session and interrupt traffic. + To repeat again: the recommended procedure is + to set the mplsLdpEntityAdminStatus to + down, thereby explicitly causing a + session to be torn down. Then, change objects + in this entry, then set the mplsLdpEntityAdminStatus + to enable which enables a new session to be initiated. + + There must exist at least one entry in this + table for every LDP Entity that has a + generic label configured."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1.1.1.6"; + } + } + } + } + + smiv2:alias "mplsLdpGenericStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.7"; + } + + smiv2:alias "mplsLdpGenericObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.7.1"; + } + + smiv2:alias "mplsLdpEntityGenericObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.7.1.1"; + } + + smiv2:alias "mplsLdpGenericConformance" { + smiv2:oid "1.3.6.1.2.1.10.166.7.2"; + } + + smiv2:alias "mplsLdpGenericGroups" { + smiv2:oid "1.3.6.1.2.1.10.166.7.2.1"; + } + + smiv2:alias "mplsLdpGenericCompliances" { + smiv2:oid "1.3.6.1.2.1.10.166.7.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-LDP-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-LDP-STD-MIB.yang new file mode 100644 index 000000000..be221d135 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-LDP-STD-MIB.yang @@ -0,0 +1,2343 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-LDP-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-LDP-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-LDP-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB"; + prefix MPLS-LDP-STD-MIB; + + import DIFFSERV-MIB { + prefix "diffserv-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import MPLS-LSR-STD-MIB { + prefix "mpls-lsr"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Multiprotocol Label Switching (mpls) + Working Group"; + + contact + "Joan Cucchiara (jcucchiara@mindspring.com) + Marconi Communications, Inc. + + Hans Sjostrand (hans@ipunplugged.com) + ipUnplugged + + James V. Luciani (james_luciani@mindspring.com) + Marconi Communications, Inc. + + Working Group Chairs: + George Swallow, email: swallow@cisco.com + Loa Andersson, email: loa@pi.se + + MPLS Working Group, email: mpls@uu.net"; + + description + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + + + in RFC 3815. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html + + This MIB contains managed object definitions for the + 'Multiprotocol Label Switching, Label Distribution + Protocol, LDP' document."; + + revision 2004-06-03 { + description + "Initial version published as part of RFC 3815."; + } + + + container MPLS-LDP-STD-MIB { + config false; + + container mplsLdpLsrObjects { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.1"; + + leaf mplsLdpLsrId { + type mpls-tc:MplsLsrIdentifier; + description + "The Label Switching Router's Identifier."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.1.1"; + } + + leaf mplsLdpLsrLoopDetectionCapable { + type enumeration { + enum "none" { + value "1"; + } + enum "other" { + value "2"; + } + enum "hopCount" { + value "3"; + } + enum "pathVector" { + value "4"; + } + enum "hopCountAndPathVector" { + value "5"; + } + } + description + "A indication of whether this + Label Switching Router supports + loop detection. + + none(1) -- Loop Detection is not supported + on this LSR. + + other(2) -- Loop Detection is supported but + by a method other than those + listed below. + + hopCount(3) -- Loop Detection is supported by + Hop Count only. + + pathVector(4) -- Loop Detection is supported by + Path Vector only. + + hopCountAndPathVector(5) -- Loop Detection is + supported by both Hop Count + And Path Vector. + + Since Loop Detection is determined during + Session Initialization, an individual session + may not be running with loop detection. This + object simply gives an indication of whether or not the + LSR has the ability to support Loop Detection and + which types."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.1.2"; + } + } + + container mplsLdpEntityObjects { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2"; + + leaf mplsLdpEntityLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the most + recent addition or deletion of an entry + to/from the mplsLdpEntityTable/mplsLdpEntityStatsTable, or + the most recent change in value of any objects in the + mplsLdpEntityTable. + + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.1"; + } + + leaf mplsLdpEntityIndexNext { + type diffserv-mib:IndexIntegerNextFree; + description + "This object contains an appropriate value to + be used for mplsLdpEntityIndex when creating + entries in the mplsLdpEntityTable. The value + 0 indicates that no unassigned entries are + available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.2"; + } + } + + container mplsLdpSessionObjects { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3"; + + leaf mplsLdpPeerLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the most + recent addition or deletion to/from the + mplsLdpPeerTable/mplsLdpSessionTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.1"; + } + + leaf mplsLdpLspFecLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the most + recent addition/deletion of an entry + to/from the mplsLdpLspFecTable or + the most recent change in values to any objects in the + mplsLdpLspFecTable. + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.9"; + } + } + + container mplsFecObjects { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8"; + + leaf mplsFecLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the most + recent addition/deletion of an entry + to/from the mplsLdpFectTable or + the most recent change in values to any objects + in the mplsLdpFecTable. + + If no such changes have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.1"; + } + + leaf mplsFecIndexNext { + type diffserv-mib:IndexIntegerNextFree; + description + "This object contains an appropriate value to + be used for mplsFecIndex when creating + entries in the mplsFecTable. The value + 0 indicates that no unassigned entries are + available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.2"; + } + } + + container mplsLdpEntityTable { + description + "This table contains information about the + MPLS Label Distribution Protocol Entities which + exist on this Label Switching Router (LSR) + or Label Edge Router (LER)."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3"; + + list mplsLdpEntityEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex"; + description + "An entry in this table represents an LDP entity. + An entry can be created by a network administrator + or by an SNMP agent as instructed by LDP."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1"; + + leaf mplsLdpEntityLdpId { + type mpls-tc:MplsLdpIdentifier; + description + "The LDP identifier."; + reference + "RFC3036, LDP Specification, Section on LDP Identifiers."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.1"; + } + + leaf mplsLdpEntityIndex { + type diffserv-mib:IndexInteger; + description + "This index is used as a secondary index to uniquely + identify this row. Before creating a row in this table, + the 'mplsLdpEntityIndexNext' object should be retrieved. + That value should be used for the value of this index + when creating a row in this table. NOTE: if a value + of zero (0) is retrieved, that indicates that no rows + can be created in this table at this time. + + A secondary index (this object) is meaningful to some + but not all, LDP implementations. For example + an LDP implementation which uses PPP would + use this index to differentiate PPP sub-links. + + Another way to use this index is to give this the + value of ifIndex. However, this is dependant + + + on the implementation."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.2"; + } + + leaf mplsLdpEntityProtocolVersion { + type uint32 { + range "1..65535"; + } + description + "The version number of the LDP protocol which will be + used in the session initialization message. + + Section 3.5.3 in the LDP Specification specifies + that the version of the LDP protocol is negotiated during + session establishment. The value of this object + represents the value that is sent in the initialization + message."; + reference + "RFC3036, LDP Specification, Section 3.5.3 Initialization + Message."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.3"; + } + + leaf mplsLdpEntityAdminStatus { + type enumeration { + enum "enable" { + value "1"; + } + enum "disable" { + value "2"; + } + } + description + "The administrative status of this LDP Entity. + If this object is changed from 'enable' to 'disable' + and this entity has already attempted to establish + contact with a Peer, then all contact with that + Peer is lost and all information from that Peer + needs to be removed from the MIB. (This implies + that the network management subsystem should clean + up any related entry in the mplsLdpPeerTable. This + further implies that a 'tear-down' for that session + is issued and the session and all information related + to that session cease to exist). + + At this point the operator is able to change values + which are related to this entity. + + When the admin status is set back to 'enable', then + this Entity will attempt to establish a new session + with the Peer."; + smiv2:defval "enable"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.4"; + } + + leaf mplsLdpEntityOperStatus { + type enumeration { + enum "unknown" { + value "1"; + } + enum "enabled" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + description + "The operational status of this LDP Entity. + + The value of unknown(1) indicates that the + operational status cannot be determined at + this time. The value of unknown should be + a transient condition before changing + to enabled(2) or disabled(3)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.5"; + } + + leaf mplsLdpEntityTcpPort { + type inet:port-number; + description + "The TCP Port for + LDP. The default value is the well-known + value of this port."; + reference + "RFC3036, LDP Specification, Section 3.10, Well-known + Numbers, and Section 3.10.1. UDP and TCP Ports."; + smiv2:defval "646"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.6"; + } + + leaf mplsLdpEntityUdpDscPort { + type inet:port-number; + description + "The UDP Discovery Port for + LDP. The default value is the + well-known value for this port."; + reference + "RFC3036, LDP Specification, Section 2.4.1, + Basic Discovery Mechanism, Section 2.4.2, + Extended Discovery Mechanism, Section + 3.10, Well-known Numbers, and Section 3.10.1. + + + UDP and TCP Ports."; + smiv2:defval "646"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.7"; + } + + leaf mplsLdpEntityMaxPduLength { + type uint32 { + range "256..65535"; + } + units "octets"; + description + "The maximum PDU Length that is sent in + the Common Session Parameters of an Initialization + Message. According to the LDP Specification [RFC3036] + a value of 255 or less specifies the + default maximum length of 4096 octets, this is why + the value of this object starts at 256. The operator + should explicitly choose the default value (i.e., 4096), + or some other value. + + The receiving LSR MUST calculate the maximum PDU + length for the session by using the smaller of its and + its peer's proposals for Max PDU Length."; + reference + "RFC3036, LDP Specification, Section 3.5.3. + Initialization Message."; + smiv2:defval "4096"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.8"; + } + + leaf mplsLdpEntityKeepAliveHoldTimer { + type uint32 { + range "1..65535"; + } + units "seconds"; + description + "The 16-bit integer value which is the proposed keep + alive hold timer for this LDP Entity."; + smiv2:defval "40"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.9"; + } + + leaf mplsLdpEntityHelloHoldTimer { + type uint32 { + range "0..65535"; + } + units "seconds"; + description + "The 16-bit integer value which is the proposed Hello + hold timer for this LDP Entity. The Hello Hold time + in seconds. + + + An LSR maintains a record of Hellos received + from potential peers. This object represents + the Hold Time in the Common Hello Parameters TLV of + the Hello Message. + + A value of 0 is a default value and should be + interpretted in conjunction with the + mplsLdpEntityTargetPeer object. + + If the value of this object is 0: if the value of the + mplsLdpEntityTargetPeer object is false(2), then this + specifies that the Hold Time's actual default value is + 15 seconds (i.e., the default Hold time for Link Hellos + is 15 seconds). Otherwise if the value of the + mplsLdpEntityTargetPeer object is true(1), then this + specifies that the Hold Time's actual default value is + 45 seconds (i.e., the default Hold time for Targeted + Hellos is 45 seconds). + + A value of 65535 means infinite (i.e., wait forever). + + All other values represent the amount of time in + seconds to wait for a Hello Message. Setting the + hold time to a value smaller than 15 is not + recommended, although not forbidden according + to RFC3036."; + reference + "RFC3036, LDP Specification, Section 3.5.2., + Hello Message."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.10"; + } + + leaf mplsLdpEntityInitSessionThreshold { + type int32 { + range "0..100"; + } + description + "When attempting to establish a session with + a given Peer, the given LDP Entity should + send out the SNMP notification, + 'mplsLdpInitSessionThresholdExceeded', when + the number of Session Initialization messages + sent exceeds this threshold. + + The notification is used to notify an + operator when this Entity and its Peer are + possibly engaged in an endless sequence + of messages as each NAKs the other's + + + Initialization messages with Error Notification + messages. Setting this threshold which triggers + the notification is one way to notify the + operator. The notification should be generated + each time this threshold is exceeded and + for every subsequent Initialization message + which is NAK'd with an Error Notification + message after this threshold is exceeded. + + A value of 0 (zero) for this object + indicates that the threshold is infinity, thus + the SNMP notification will never be generated."; + reference + "RFC3036, LDP Specification, + Section 2.5.3 Session Initialization."; + smiv2:defval "8"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.11"; + } + + leaf mplsLdpEntityLabelDistMethod { + type mpls-tc:MplsLabelDistributionMethod; + description + "For any given LDP session, the method of + label distribution must be specified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.12"; + } + + leaf mplsLdpEntityLabelRetentionMode { + type mpls-tc:MplsRetentionMode; + description + "The LDP Entity can be configured to use either + conservative or liberal label retention mode. + + If the value of this object is conservative(1) + then advertized label mappings are retained + only if they will be used to forward packets, + i.e., if label came from a valid next hop. + + If the value of this object is liberal(2) + then all advertized label mappings are retained + whether they are from a valid next hop or not."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.13"; + } + + leaf mplsLdpEntityPathVectorLimit { + type int32 { + range "0..255"; + } + description + "If the value of this object is 0 (zero) then + Loop Detection for Path Vectors is disabled. + + Otherwise, if this object has a value greater than + zero, then Loop Dection for Path Vectors is enabled, + and the Path Vector Limit is this value. + Also, the value of the object, + 'mplsLdpLsrLoopDetectionCapable', must be set to + either 'pathVector(4)' or 'hopCountAndPathVector(5)', + if this object has a value greater than 0 (zero), + otherwise it is ignored."; + reference + "RFC3036, LDP Specification, Section 2.8 Loop Dection, + Section 3.4.5 Path Vector TLV."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.14"; + } + + leaf mplsLdpEntityHopCountLimit { + type int32 { + range "0..255"; + } + description + "If the value of this object is 0 (zero), + then Loop Detection using Hop Counters is + disabled. + + If the value of this object is greater than + 0 (zero) then Loop Detection using Hop + Counters is enabled, and this object + specifies this Entity's maximum allowable + value for the Hop Count. + Also, the value of the object + mplsLdpLsrLoopDetectionCapable must be set + to either 'hopCount(3)' or + 'hopCountAndPathVector(5)' if this object + has a value greater than 0 (zero), otherwise + it is ignored."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.15"; + } + + leaf mplsLdpEntityTransportAddrKind { + type enumeration { + enum "interface" { + value "1"; + } + enum "loopback" { + value "2"; + } + } + description + "This specifies whether the loopback or interface + address is to be used as the transport address + in the transport address TLV of the + hello message. + + If the value is interface(1), then the IP + address of the interface from which hello + messages are sent is used as the transport + address in the hello message. + + Otherwise, if the value is loopback(2), then the IP + address of the loopback interface is used as the + transport address in the hello message."; + smiv2:defval "loopback"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.16"; + } + + leaf mplsLdpEntityTargetPeer { + type boolean; + description + "If this LDP entity uses targeted peer then set + this to true."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.17"; + } + + leaf mplsLdpEntityTargetPeerAddrType { + type inet-address:InetAddressType; + description + "The type of the internetwork layer address used for + the Extended Discovery. This object indicates how + the value of mplsLdpEntityTargetPeerAddr is to + be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.18"; + } + + leaf mplsLdpEntityTargetPeerAddr { + type inet-address:InetAddress; + description + "The value of the internetwork layer address + used for the Extended Discovery. The value of + mplsLdpEntityTargetPeerAddrType specifies how + this address is to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.19"; + } + + leaf mplsLdpEntityLabelType { + type mpls-tc:MplsLdpLabelType; + description + "Specifies the optional parameters for the LDP + Initialization Message. + + If the value is generic(1) then no + optional parameters will be sent in + the LDP Initialization message associated + with this Entity. + + If the value is atmParameters(2) then + a row must be created in the + mplsLdpEntityAtmTable, which + corresponds to this entry. + + If the value is frameRelayParameters(3) then + a row must be created in the + mplsLdpEntityFrameRelayTable, which + corresponds to this entry."; + reference + "RFC3036, LDP Specification, Section 3.5.3., + Initialization Message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.20"; + } + + leaf mplsLdpEntityDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion + at which any one or more of this entity's counters + suffered a discontinuity. The relevant counters + are the specific instances associated with this + entity of any Counter32 object contained + in the 'mplsLdpEntityStatsTable'. If no such + discontinuities have occurred since the last + re-initialization of the local management + subsystem, then this object contains a zero + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.21"; + } + + leaf mplsLdpEntityStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.22"; + } + + leaf mplsLdpEntityRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. All writable + objects in this row may be modified at any + time, however, as described in detail in + the section entitled, 'Changing Values After + Session Establishment', and again described + in the DESCRIPTION clause of the + mplsLdpEntityAdminStatus object, if a session + has been initiated with a Peer, changing objects + in this table will wreak havoc with the session + and interrupt traffic. To repeat again: + the recommended procedure is to + set the mplsLdpEntityAdminStatus to down, thereby + explicitly causing a session to be torn down. Then, + change objects in this entry, then set + the mplsLdpEntityAdminStatus to enable, + which enables a new session to be initiated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.3.1.23"; + } + } + } + + container mplsLdpPeerTable { + description + "Information about LDP peers known by Entities in + the mplsLdpEntityTable. The information in this table + is based on information from the Entity-Peer interaction + during session initialization but is not appropriate + for the mplsLdpSessionTable, because objects in this + table may or may not be used in session establishment."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2"; + + list mplsLdpPeerEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId"; + description + "Information about a single Peer which is related + to a Session. This table is augmented by + the mplsLdpSessionTable."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type mpls-tc:MplsLdpIdentifier; + description + "The LDP identifier of this LDP Peer."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1.1"; + } + + leaf mplsLdpPeerLabelDistMethod { + type mpls-tc:MplsLabelDistributionMethod; + description + "For any given LDP session, the method of + label distribution must be specified."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1.2"; + } + + leaf mplsLdpPeerPathVectorLimit { + type int32 { + range "0..255"; + } + description + "If the value of this object is 0 (zero) then + Loop Dection for Path Vectors for this Peer + is disabled. + + Otherwise, if this object has a value greater than + zero, then Loop Dection for Path Vectors for this + Peer is enabled and the Path Vector Limit is this value."; + reference + "RFC3036, LDP Specification, Section 2.8 Loop Dection, + Section 3.4.5 Path Vector TLV."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1.3"; + } + + leaf mplsLdpPeerTransportAddrType { + type inet-address:InetAddressType; + description + "The type of the Internet address for the + mplsLdpPeerTransportAddr object. The LDP + specification describes this as being either + an IPv4 Transport Address or IPv6 Transport + + + Address which is used in opening the LDP session's + TCP connection, or if the optional TLV is not + present, then this is the IPv4/IPv6 source + address for the UPD packet carrying the Hellos. + + This object specifies how the value of the + mplsLdpPeerTransportAddr object should be + interpreted."; + reference + "RFC3036, LDP Specification, Section 2.5.2 + Transport Connection Establishment and + Section 3.5.2.1 Hello Message Procedures."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1.4"; + } + + leaf mplsLdpPeerTransportAddr { + type inet-address:InetAddress; + description + "The Internet address advertised by the peer + in the Hello Message or the Hello source address. + + The type of this address is specified by the + value of the mplsLdpPeerTransportAddrType + object."; + reference + "RFC3036, LDP Specification, Section 2.5.2 + Transport Connection Establishment and + Section 3.5.2.1 Hello Message Procedures."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.2.1.5"; + } + } + } + + container mplsLdpHelloAdjacencyTable { + description + "A table of Hello Adjacencies for Sessions."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1"; + + list mplsLdpHelloAdjacencyEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId mplsLdpHelloAdjacencyIndex"; + description + "Each row represents a single LDP Hello Adjacency. + An LDP Session can have one or more Hello + Adjacencies."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpHelloAdjacencyIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for this specific adjacency."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1.1.1"; + } + + leaf mplsLdpHelloAdjacencyHoldTimeRem { + type snmpv2-tc:TimeInterval; + units "seconds"; + description + "If the value of this object is 65535, + this means that the hold time is infinite + (i.e., wait forever). + + Otherwise, the time remaining for + this Hello Adjacency to receive its + next Hello Message. + + This interval will change when the 'next' + Hello Message which corresponds to this + Hello Adjacency is received unless it + is infinite."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1.1.2"; + } + + leaf mplsLdpHelloAdjacencyHoldTime { + type uint32 { + range "0..65535"; + } + description + "The Hello hold time which is negotiated between + the Entity and the Peer. The entity associated + with this Hello Adjacency issues a proposed + Hello Hold Time value in the + mplsLdpEntityHelloHoldTimer object. The peer + also proposes a value and this object represents + the negotiated value. + + A value of 0 means the default, + which is 15 seconds for Link Hellos + and 45 seconds for Targeted Hellos. + A value of 65535 indicates an + infinite hold time."; + reference + "RFC3036, LDP Specification, Section 3.5.2 Hello Message"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1.1.3"; + } + + leaf mplsLdpHelloAdjacencyType { + type enumeration { + enum "link" { + value "1"; + } + enum "targeted" { + value "2"; + } + } + description + "This adjacency is the result of a 'link' + hello if the value of this object is link(1). + + + Otherwise, it is a result of a 'targeted' + hello, targeted(2)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5.1.1.4"; + } + } + } + + container mplsInSegmentLdpLspTable { + description + "A table of LDP LSP's which + map to the mplsInSegmentTable in the + MPLS-LSR-STD-MIB module."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.6"; + + list mplsInSegmentLdpLspEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId mplsInSegmentLdpLspIndex"; + description + "An entry in this table represents information + on a single LDP LSP which is represented by + a session's index triple (mplsLdpEntityLdpId, + mplsLdpEntityIndex, mplsLdpPeerLdpId) AND the + index for the mplsInSegmentTable + (mplsInSegmentLdpLspLabelIndex) from the + MPLS-LSR-STD-MIB. + + The information contained in a row is read-only."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.6.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsInSegmentLdpLspIndex { + type mpls-lsr:MplsIndexType; + description + "This contains the same value as the + mplsInSegmentIndex in the + MPLS-LSR-STD-MIB's mplsInSegmentTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.6.1.1"; + } + + leaf mplsInSegmentLdpLspLabelType { + type mpls-tc:MplsLdpLabelType; + description + "The Layer 2 Label Type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.6.1.2"; + } + + leaf mplsInSegmentLdpLspType { + type mpls-tc:MplsLspType; + description + "The type of LSP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.6.1.3"; + } + } + } + + container mplsOutSegmentLdpLspTable { + description + "A table of LDP LSP's which + map to the mplsOutSegmentTable in the + MPLS-LSR-STD-MIB."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.7"; + + list mplsOutSegmentLdpLspEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId mplsOutSegmentLdpLspIndex"; + description + "An entry in this table represents information + on a single LDP LSP which is represented by + a session's index triple (mplsLdpEntityLdpId, + mplsLdpEntityIndex, mplsLdpPeerLdpId) AND the + index (mplsOutSegmentLdpLspIndex) + for the mplsOutSegmentTable. + + The information contained in a row is read-only."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.7.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsOutSegmentLdpLspIndex { + type mpls-lsr:MplsIndexType; + description + "This contains the same value as the + mplsOutSegmentIndex in the + MPLS-LSR-STD-MIB's mplsOutSegmentTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.7.1.1"; + } + + leaf mplsOutSegmentLdpLspLabelType { + type mpls-tc:MplsLdpLabelType; + description + "The Layer 2 Label Type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.7.1.2"; + } + + leaf mplsOutSegmentLdpLspType { + type mpls-tc:MplsLspType; + description + "The type of LSP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.7.1.3"; + } + } + } + + container mplsFecTable { + description + "This table represents the FEC + (Forwarding Equivalence Class) + Information associated with an LSP."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3"; + + list mplsFecEntry { + key "mplsFecIndex"; + description + "Each row represents a single FEC Element."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1"; + + leaf mplsFecIndex { + type diffserv-mib:IndexInteger; + description + "The index which uniquely identifies this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.1"; + } + + leaf mplsFecType { + type enumeration { + enum "prefix" { + value "1"; + } + enum "hostAddress" { + value "2"; + } + } + description + "The type of the FEC. If the value of this object + is 'prefix(1)' then the FEC type described by this + row is an address prefix. + + If the value of this object is 'hostAddress(2)' then + the FEC type described by this row is a host address."; + reference + "RFC3036, Section 3.4.1. FEC TLV."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.2"; + } + + leaf mplsFecAddrPrefixLength { + type inet-address:InetAddressPrefixLength; + description + "If the value of the 'mplsFecType' is 'hostAddress(2)' + then this object is undefined. + + If the value of 'mplsFecType' is 'prefix(1)' + then the value of this object is the length in + bits of the address prefix represented by + 'mplsFecAddr', or zero. If the value of this + object is zero, this indicates that the + prefix matches all addresses. In this case the + address prefix MUST also be zero (i.e., 'mplsFecAddr' + should have the value of zero.)"; + reference + "RFC3036, Section 3.4.1. FEC TLV."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.3"; + } + + leaf mplsFecAddrType { + type inet-address:InetAddressType; + description + "The value of this object is the type of the + Internet address. The value of this object, + decides how the value of the mplsFecAddr object + is interpreted."; + reference + "RFC3036, Section 3.4.1. FEC TLV."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.4"; + } + + leaf mplsFecAddr { + type inet-address:InetAddress; + description + "The value of this object is interpreted based + on the value of the 'mplsFecAddrType' object. + + This address is then further interpretted as + an being used with the address prefix, + or as the host address. This further interpretation + is indicated by the 'mplsFecType' object. + In other words, the FEC element is populated + according to the Prefix FEC Element value encoding, or + the Host Address FEC Element encoding."; + reference + "RFC3036, Section 3.4.1 FEC TLV."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.5"; + } + + leaf mplsFecStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.6"; + } + + leaf mplsFecRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. If the value of this + object is 'active(1)', then none of the writable objects + of this entry can be modified, except to set this object + to 'destroy(6)'. + + NOTE: if this row is being referenced by any entry in + the mplsLdpLspFecTable, then a request to destroy + this row, will result in an inconsistentValue error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8.3.1.7"; + } + } + } + + container mplsLdpLspFecTable { + description + "A table which shows the relationship between + LDP LSPs and FECs. Each row represents + a single LDP LSP to FEC association."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10"; + + list mplsLdpLspFecEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId mplsLdpLspFecSegment mplsLdpLspFecSegmentIndex mplsLdpLspFecIndex"; + description + "An entry represents a LDP LSP + to FEC association."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpLspFecSegment { + type enumeration { + enum "inSegment" { + value "1"; + } + enum "outSegment" { + value "2"; + } + } + description + "If the value is inSegment(1), then this + indicates that the following index, + mplsLdpLspFecSegmentIndex, contains the same + value as the mplsInSegmentLdpLspIndex. + + Otherwise, if the value of this object is + + + outSegment(2), then this + indicates that following index, + mplsLdpLspFecSegmentIndex, contains the same + value as the mplsOutSegmentLdpLspIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1.1"; + } + + leaf mplsLdpLspFecSegmentIndex { + type mpls-lsr:MplsIndexType; + description + "This index is interpretted by using the value + of the mplsLdpLspFecSegment. + + If the mplsLdpLspFecSegment is inSegment(1), + then this index has the same value as + mplsInSegmentLdpLspIndex. + + If the mplsLdpLspFecSegment is outSegment(2), + then this index has the same value as + mplsOutSegmentLdpLspIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1.2"; + } + + leaf mplsLdpLspFecIndex { + type diffserv-mib:IndexInteger; + description + "This index identifies the FEC entry in the + mplsFecTable associated with this session. + In other words, the value of this index + is the same as the value of the mplsFecIndex + that denotes the FEC associated with this + Session."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1.3"; + } + + leaf mplsLdpLspFecStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row. + Conceptual rows having the value 'permanent(4)' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1.4"; + } + + leaf mplsLdpLspFecRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. If the + value of this object is 'active(1)', then + none of the writable objects of this entry + can be modified. + + The Agent should delete this row when + the session ceases to exist. If an + operator wants to associate the session with + a different FEC, the recommended + procedure is (as described in detail in the section + entitled, 'Changing Values After Session + Establishment', and again described in the + DESCRIPTION clause of the + mplsLdpEntityAdminStatus object) + is to set the mplsLdpEntityAdminStatus to + down, thereby explicitly causing a session + to be torn down. This will also + cause this entry to be deleted. + + Then, set the mplsLdpEntityAdminStatus + to enable which enables a new session to be initiated. + Once the session is initiated, an entry may be + added to this table to associate the new session + with a FEC."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.10.1.5"; + } + } + } + + container mplsLdpSessionPeerAddrTable { + description + "This table 'extends' the mplsLdpSessionTable. + This table is used to store Label Address Information + from Label Address Messages received by this LSR from + Peers. This table is read-only and should be updated + + + when Label Withdraw Address Messages are received, i.e., + Rows should be deleted as appropriate. + + NOTE: since more than one address may be contained + in a Label Address Message, this table 'sparse augments', + the mplsLdpSessionTable's information."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.11"; + + list mplsLdpSessionPeerAddrEntry { + key "mplsLdpEntityLdpId mplsLdpEntityIndex mplsLdpPeerLdpId mplsLdpSessionPeerAddrIndex"; + description + "An entry in this table represents information on + a session's single next hop address which was + advertised in an Address Message from the LDP peer. + The information contained in a row is read-only."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.11.1"; + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionPeerAddrIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index which uniquely identifies this entry within + a given session."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.11.1.1"; + } + + leaf mplsLdpSessionPeerNextHopAddrType { + type inet-address:InetAddressType; + description + "The internetwork layer address type of this Next Hop + Address as specified in the Label Address Message + associated with this Session. The value of this + object indicates how to interpret the value of + + + mplsLdpSessionPeerNextHopAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.11.1.2"; + } + + leaf mplsLdpSessionPeerNextHopAddr { + type inet-address:InetAddress; + description + "The next hop address. The type of this address + is specified by the value of the + mplsLdpSessionPeerNextHopAddrType."; + reference + "RFC3036, Section 2.7. LDP Identifiers + and Next Hop Addresses"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.11.1.3"; + } + } + } + } + + smiv2:alias "mplsLdpEntityStatsTable" { + description + "This table is a read-only table which augments + the mplsLdpEntityTable. The purpose of this + table is to keep statistical information about + the LDP Entities on the LSR."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4"; + } + + smiv2:alias "mplsLdpEntityStatsEntry" { + description + "A row in this table contains statistical information + about an LDP Entity. Some counters contained in a + row are for fatal errors received during a former + LDP Session associated with this entry. For example, + an LDP PDU received on a TCP connection during an + LDP Session contains a fatal error. That + error is counted here, because the + session is terminated. + + If the error is NOT fatal (i.e., the Session + remains), then the error is counted in the + mplsLdpSessionStatsEntry."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1"; + } + + augment "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry" { + description + "A row in this table contains statistical information + about an LDP Entity. Some counters contained in a + row are for fatal errors received during a former + LDP Session associated with this entry. For example, + an LDP PDU received on a TCP connection during an + LDP Session contains a fatal error. That + error is counted here, because the + session is terminated. + + If the error is NOT fatal (i.e., the Session + remains), then the error is counted in the + mplsLdpSessionStatsEntry."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1"; + + leaf mplsLdpEntityStatsSessionAttempts { + type yang:counter32; + description + "A count of the Session Initialization messages + which were sent or received by this LDP Entity and + were NAK'd. In other words, this counter counts + the number of session initializations that failed. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.1"; + } + + leaf mplsLdpEntityStatsSessionRejectedNoHelloErrors { + type yang:counter32; + description + "A count of the Session Rejected/No Hello Error + Notification Messages sent or received by + this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.2"; + } + + leaf mplsLdpEntityStatsSessionRejectedAdErrors { + type yang:counter32; + description + "A count of the Session Rejected/Parameters + Advertisement Mode Error Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.3"; + } + + leaf mplsLdpEntityStatsSessionRejectedMaxPduErrors { + type yang:counter32; + description + "A count of the Session Rejected/Parameters + + Max Pdu Length Error Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.4"; + } + + leaf mplsLdpEntityStatsSessionRejectedLRErrors { + type yang:counter32; + description + "A count of the Session Rejected/Parameters + Label Range Notification Messages sent + or received by this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.5"; + } + + leaf mplsLdpEntityStatsBadLdpIdentifierErrors { + type yang:counter32; + description + "This object counts the number of Bad LDP Identifier + Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.6"; + } + + leaf mplsLdpEntityStatsBadPduLengthErrors { + type yang:counter32; + description + "This object counts the number of Bad PDU Length + Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.7"; + } + + leaf mplsLdpEntityStatsBadMessageLengthErrors { + type yang:counter32; + description + "This object counts the number of Bad Message + Length Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.8"; + } + + leaf mplsLdpEntityStatsBadTlvLengthErrors { + type yang:counter32; + description + "This object counts the number of Bad TLV + Length Fatal Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.9"; + } + + leaf mplsLdpEntityStatsMalformedTlvValueErrors { + type yang:counter32; + description + "This object counts the number of Malformed TLV + Value Fatal Errors detected by the session(s) + (past and present) associated with this + LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.10"; + } + + leaf mplsLdpEntityStatsKeepAliveTimerExpErrors { + type yang:counter32; + description + "This object counts the number of Session Keep Alive + Timer Expired Errors detected by the session(s) + (past and present) associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + reference + "RFC3036, LDP Specification, Section 3.5.1.2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.11"; + } + + leaf mplsLdpEntityStatsShutdownReceivedNotifications { + type yang:counter32; + description + "This object counts the number of Shutdown Notifications + received related to session(s) (past and present) + associated with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.12"; + } + + leaf mplsLdpEntityStatsShutdownSentNotifications { + type yang:counter32; + description + "This object counts the number of Shutdown Notfications + sent related to session(s) (past and present) associated + with this LDP Entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + + + mplsLdpEntityDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2.4.1.13"; + } + } + + smiv2:alias "mplsLdpSessionTable" { + description + "A table of Sessions between the LDP Entities + and LDP Peers. This table AUGMENTS the + mplsLdpPeerTable. Each row in this table + represents a single session."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3"; + } + + smiv2:alias "mplsLdpSessionEntry" { + description + "An entry in this table represents information on a + single session between an LDP Entity and LDP Peer. + The information contained in a row is read-only. + + Please note: the Path Vector Limit for the + Session is the value which is configured in + the corresponding mplsLdpEntityEntry. The + Peer's Path Vector Limit is in the + mplsLdpPeerPathVectorLimit object in the + mplsLdpPeerTable. + + Values which may differ from those configured are + noted in the objects of this table, the + mplsLdpAtmSessionTable and the + mplsLdpFrameRelaySessionTable. A value will + differ if it was negotiated between the + Entity and the Peer. Values may or may not + be negotiated. For example, if the values + are the same then no negotiation takes place. + If they are negotiated, then they may differ."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1"; + } + + augment "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry" { + description + "An entry in this table represents information on a + single session between an LDP Entity and LDP Peer. + The information contained in a row is read-only. + + Please note: the Path Vector Limit for the + Session is the value which is configured in + the corresponding mplsLdpEntityEntry. The + Peer's Path Vector Limit is in the + mplsLdpPeerPathVectorLimit object in the + mplsLdpPeerTable. + + Values which may differ from those configured are + noted in the objects of this table, the + mplsLdpAtmSessionTable and the + mplsLdpFrameRelaySessionTable. A value will + differ if it was negotiated between the + Entity and the Peer. Values may or may not + be negotiated. For example, if the values + are the same then no negotiation takes place. + If they are negotiated, then they may differ."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1"; + + leaf mplsLdpSessionStateLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time this + Session entered its current state as + denoted by the mplsLdpSessionState + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.1"; + } + + leaf mplsLdpSessionState { + type enumeration { + enum "nonexistent" { + value "1"; + } + enum "initialized" { + value "2"; + } + enum "openrec" { + value "3"; + } + enum "opensent" { + value "4"; + } + enum "operational" { + value "5"; + } + } + description + "The current state of the session, all of the + states 1 to 5 are based on the state machine + for session negotiation behavior."; + reference + "RFC3036, LDP Specification, Section 2.5.4, + Initialization State Machine."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.2"; + } + + leaf mplsLdpSessionRole { + type enumeration { + enum "unknown" { + value "1"; + } + enum "active" { + value "2"; + } + enum "passive" { + value "3"; + } + } + description + "During session establishment the LSR/LER takes either + the active role or the passive role based on address + comparisons. This object indicates whether this LSR/LER + was behaving in an active role or passive role during + this session's establishment. + + The value of unknown(1), indicates that the role is not + able to be determined at the present time."; + reference + "RFC3036, LDP Specification, Section 2.5.3., + Session Initialization"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.3"; + } + + leaf mplsLdpSessionProtocolVersion { + type uint32 { + range "1..65535"; + } + description + "The version of the LDP Protocol which + this session is using. This is the version of + + + the LDP protocol which has been negotiated + during session initialization."; + reference + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.4"; + } + + leaf mplsLdpSessionKeepAliveHoldTimeRem { + type snmpv2-tc:TimeInterval; + description + "The keep alive hold time remaining for + this session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.5"; + } + + leaf mplsLdpSessionKeepAliveTime { + type uint32 { + range "1..65535"; + } + units "seconds"; + description + "The negotiated KeepAlive Time which + represents the amount of seconds between + keep alive messages. The + mplsLdpEntityKeepAliveHoldTimer + related to this Session is the + value that was proposed as the + KeepAlive Time for this session. + + This value is negotiated during + session initialization between + the entity's proposed value + (i.e., the value configured in + mplsLdpEntityKeepAliveHoldTimer) + and the peer's proposed + KeepAlive Hold Timer value. + This value is the smaller + of the two proposed values."; + reference + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.6"; + } + + leaf mplsLdpSessionMaxPduLength { + type uint32 { + range "1..65535"; + } + units "octets"; + description + "The value of maximum allowable length for LDP PDUs for + this session. This value may have been negotiated + during the Session Initialization. This object is + related to the mplsLdpEntityMaxPduLength object. The + mplsLdpEntityMaxPduLength object specifies the requested + LDP PDU length, and this object reflects the negotiated + LDP PDU length between the Entity and + the Peer."; + reference + "RFC3036, LDP Specification, Section 3.5.3, + Initialization Message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.7"; + } + + leaf mplsLdpSessionDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion + at which any one or more of this session's counters + suffered a discontinuity. The relevant counters are + the specific instances associated with this session + of any Counter32 object contained in the + mplsLdpSessionStatsTable. + + The initial value of this object is the value of + sysUpTime when the entry was created in this table. + + Also, a command generator can distinguish when a session + between a given Entity and Peer goes away and a new + session is established. This value would change and + thus indicate to the command generator that this is a + different session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.3.1.8"; + } + } + + smiv2:alias "mplsLdpSessionStatsTable" { + description + "A table of statistics for Sessions between + LDP Entities and LDP Peers. This table AUGMENTS + + + the mplsLdpPeerTable."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.4"; + } + + smiv2:alias "mplsLdpSessionStatsEntry" { + description + "An entry in this table represents statistical + information on a single session between an LDP + Entity and LDP Peer."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.4.1"; + } + + augment "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry" { + description + "An entry in this table represents statistical + information on a single session between an LDP + Entity and LDP Peer."; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.4.1"; + + leaf mplsLdpSessionStatsUnknownMesTypeErrors { + type yang:counter32; + description + "This object counts the number of Unknown Message Type + Errors detected by this LSR/LER during this session. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpSessionDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.4.1.1"; + } + + leaf mplsLdpSessionStatsUnknownTlvErrors { + type yang:counter32; + description + "This object counts the number of Unknown TLV Errors + detected by this LSR/LER during this session. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by the value of + mplsLdpSessionDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.4.1.2"; + } + } + + notification mplsLdpInitSessionThresholdExceeded { + description + "This notification is generated when the value of + the 'mplsLdpEntityInitSessionThreshold' object + is not zero, and the number of Session + Initialization messages exceeds the value + of the 'mplsLdpEntityInitSessionThreshold' object."; + smiv2:oid "1.3.6.1.2.1.10.166.4.0.1"; + + container object-1 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpEntityInitSessionThreshold { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityInitSessionThreshold"; + } + } + } + } + + notification mplsLdpPathVectorLimitMismatch { + description + "This notification is sent when the + 'mplsLdpEntityPathVectorLimit' does NOT match + the value of the 'mplsLdpPeerPathVectorLimit' for + a specific Entity."; + reference + "RFC3036, LDP Specification, Section 3.5.3."; + smiv2:oid "1.3.6.1.2.1.10.166.4.0.2"; + + container object-1 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpEntityPathVectorLimit { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityPathVectorLimit"; + } + } + } + + container object-2 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpPeerPathVectorLimit { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerPathVectorLimit"; + } + } + } + } + + notification mplsLdpSessionUp { + description + "If this notification is sent when the + value of 'mplsLdpSessionState' enters + the 'operational(5)' state."; + smiv2:oid "1.3.6.1.2.1.10.166.4.0.3"; + + container object-1 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionState { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionState"; + } + } + } + + container object-2 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionDiscontinuityTime { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionDiscontinuityTime"; + } + } + } + + container object-3 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionStatsUnknownMesTypeErrors { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionStatsUnknownMesTypeErrors"; + } + } + } + + container object-4 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionStatsUnknownTlvErrors { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionStatsUnknownTlvErrors"; + } + } + } + } + + notification mplsLdpSessionDown { + description + "This notification is sent when the + value of 'mplsLdpSessionState' leaves + the 'operational(5)' state."; + smiv2:oid "1.3.6.1.2.1.10.166.4.0.4"; + + container object-1 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionState { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionState"; + } + } + } + + container object-2 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionDiscontinuityTime { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionDiscontinuityTime"; + } + } + } + + container object-3 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionStatsUnknownMesTypeErrors { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionStatsUnknownMesTypeErrors"; + } + } + } + + container object-4 { + + leaf mplsLdpEntityLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityLdpId"; + } + } + + leaf mplsLdpEntityIndex { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpEntityTable/MPLS-LDP-STD-MIB:mplsLdpEntityEntry/MPLS-LDP-STD-MIB:mplsLdpEntityIndex"; + } + } + + leaf mplsLdpPeerLdpId { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpPeerLdpId"; + } + } + + leaf mplsLdpSessionStatsUnknownTlvErrors { + type leafref { + path "/MPLS-LDP-STD-MIB:MPLS-LDP-STD-MIB/MPLS-LDP-STD-MIB:mplsLdpPeerTable/MPLS-LDP-STD-MIB:mplsLdpPeerEntry/MPLS-LDP-STD-MIB:mplsLdpSessionStatsUnknownTlvErrors"; + } + } + } + } + + smiv2:alias "mplsLdpStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.4"; + } + + smiv2:alias "mplsLdpNotifications" { + smiv2:oid "1.3.6.1.2.1.10.166.4.0"; + } + + smiv2:alias "mplsLdpObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1"; + } + + smiv2:alias "mplsLdpLsrObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.1"; + } + + smiv2:alias "mplsLdpEntityObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.2"; + } + + smiv2:alias "mplsLdpSessionObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3"; + } + + smiv2:alias "mplsLdpHelloAdjacencyObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.5"; + } + + smiv2:alias "mplsFecObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.4.1.3.8"; + } + + smiv2:alias "mplsLdpConformance" { + smiv2:oid "1.3.6.1.2.1.10.166.4.2"; + } + + smiv2:alias "mplsLdpGroups" { + smiv2:oid "1.3.6.1.2.1.10.166.4.2.1"; + } + + smiv2:alias "mplsLdpCompliances" { + smiv2:oid "1.3.6.1.2.1.10.166.4.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-LSR-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-LSR-STD-MIB.yang new file mode 100644 index 000000000..6b7ca0237 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-LSR-STD-MIB.yang @@ -0,0 +1,1712 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-LSR-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-LSR-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-LSR-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB"; + prefix MPLS-LSR-STD-MIB; + + import IANA-ADDRESS-FAMILY-NUMBERS-MIB { + prefix "iana-address"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + " Cheenu Srinivasan + Bloomberg L.P. + Email: cheenu@bloomberg.net + + Arun Viswanathan + Force10 Networks, Inc. + Email: arunv@force10networks.com + + Thomas D. Nadeau + Cisco Systems, Inc. + Email: tnadeau@cisco.com + + Comments about this document should be emailed + directly to the MPLS working group mailing list at + mpls@uu.net."; + + description + "This MIB module contains managed object definitions for + the Multiprotocol Label Switching (MPLS) Router as + defined in: Rosen, E., Viswanathan, A., and R. + Callon, Multiprotocol Label Switching Architecture, + RFC 3031, January 2001. + + Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3812. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html"; + + revision 2004-06-03 { + description + "Initial revision, published as part of RFC 3813."; + } + + typedef MplsIndexType { + type binary { + length "1..24"; + } + description + "This is an octet string that can be used as a table + index in cases where a large addressable space is + required such as on an LSR where many applications + may be provisioning labels. + + Note that the string containing the single octet with + the value 0x00 is a reserved value used to represent + special cases. When this TEXTUAL-CONVENTION is used + as the SYNTAX of an object, the DESCRIPTION clause + MUST specify if this special value is valid and if so + what the special meaning is. + + In systems that provide write access to the MPLS-LSR-STD + MIB, mplsIndexType SHOULD be used as a simple multi-digit + integer encoded as an octet string. + No further overloading of the meaning of an index SHOULD + be made. + + In systems that do not offer write access to the MPLS-LSR-STD + MIB, the mplsIndexType may contain implicit formatting that is + specific to the implementation to convey additional + information such as interface index, physical card or + device, or application id. The interpretation of this + additional formatting is implementation dependent and + not covered in this document. Such formatting MUST + NOT impact the basic functionality of read-only access + to the MPLS-LSR-STD MIB by management applications that are + not aware of the formatting rules."; + } + + typedef MplsIndexNextType { + type binary { + length "1..24"; + } + description + "When a MIB module is used for configuration, an object with + this SYNTAX always contains a legal value (a non-zero-length + string) for an index that is not currently used in the relevant + table. The Command Generator (Network Management Application) + reads this variable and uses the (non-zero-length string) + value read when creating a new row with an SNMP SET. + + When the SET is performed, the Command Responder (agent) must + determine whether the value is indeed still unused; Two Network + Management Applications may attempt to create a row + (configuration entry) simultaneously and use the same value. If + it is currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, according + to an implementation-specific algorithm. If the value is in + use, however, the SET fails. The Network Management + Application must then re-read this variable to obtain a new + usable value. + + Note that the string containing the single octet with + the value 0x00 is a reserved value used to represent + the special case where no additional indexes can be + provisioned, or in systems that do not offer + write access, objects defined using this TEXTUAL-CONVENTION + MUST return the string containing the single + octet with the value 0x00."; + } + + + container MPLS-LSR-STD-MIB { + config false; + + container mplsLsrObjects { + smiv2:oid "1.3.6.1.2.1.10.166.2.1"; + + leaf mplsInSegmentIndexNext { + type MPLS-LSR-STD-MIB:MplsIndexNextType; + description + "This object contains the next available value to + be used for mplsInSegmentIndex when creating entries + in the mplsInSegmentTable. The special value of a + string containing the single octet 0x00 indicates + that no new entries can be created in this table. + Agents not allowing managers to create entries + in this table MUST set this object to this special + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.3"; + } + + leaf mplsOutSegmentIndexNext { + type MPLS-LSR-STD-MIB:MplsIndexNextType; + description + "This object contains the next available value to + be used for mplsOutSegmentIndex when creating entries + in the mplsOutSegmentTable. The special value of a + string containing the single octet 0x00 + indicates that no new entries can be created in this + table. Agents not allowing managers to create entries + in this table MUST set this object to this special + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.6"; + } + + leaf mplsXCIndexNext { + type MPLS-LSR-STD-MIB:MplsIndexNextType; + description + "This object contains the next available value to + be used for mplsXCIndex when creating entries in + the mplsXCTable. A special value of the zero length + string indicates that no more new entries can be created + in the relevant table. Agents not allowing managers + to create entries in this table MUST set this value + to the zero length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.9"; + } + + leaf mplsMaxLabelStackDepth { + type uint32 { + range "1..2147483647"; + } + description + "The maximum stack depth supported by this LSR."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.11"; + } + + leaf mplsLabelStackIndexNext { + type MPLS-LSR-STD-MIB:MplsIndexNextType; + description + "This object contains the next available value to + be used for mplsLabelStackIndex when creating entries + in the mplsLabelStackTable. The special string + containing the single octet 0x00 + indicates that no more new entries can be created + in the relevant table. Agents not allowing managers + to create entries in this table MUST set this value + to the string containing the single octet 0x00."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.12"; + } + + leaf mplsXCNotificationsEnable { + type boolean; + description + "If this object is set to true(1), then it enables + the emission of mplsXCUp and mplsXCDown + notifications; otherwise these notifications are not + emitted."; + reference + "See also RFC3413 for explanation that + notifications are under the ultimate control of the + MIB module in this document."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.15"; + } + } + + container mplsInterfaceTable { + description + "This table specifies per-interface MPLS capability + and associated information."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1"; + + list mplsInterfaceEntry { + key "mplsInterfaceIndex"; + description + "A conceptual row in this table is created + automatically by an LSR for every interface capable + of supporting MPLS and which is configured to do so. + A conceptual row in this table will exist if and only if + a corresponding entry in ifTable exists with ifType = + mpls(166). If this associated entry in ifTable is + operationally disabled (thus removing MPLS + capabilities on that interface), the corresponding + entry in this table MUST be deleted shortly thereafter. + An conceptual row with index 0 is created if the LSR + supports per-platform labels. This conceptual row + represents the per-platform label space and contains + parameters that apply to all interfaces that participate + in the per-platform label space. Other conceptual rows + in this table represent MPLS interfaces that may + participate in either the per-platform or per- + interface label spaces, or both. Implementations + that either only support per-platform labels, + or have only them configured, may choose to return + just the mplsInterfaceEntry of 0 and not return + the other rows. This will greatly reduce the number + of objects returned. Further information about label + space participation of an interface is provided in + the DESCRIPTION clause of + mplsInterfaceLabelParticipationType."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1"; + + leaf mplsInterfaceIndex { + type if-mib:InterfaceIndexOrZero; + description + "This is a unique index for an entry in the + MplsInterfaceTable. A non-zero index for an + entry indicates the ifIndex for the corresponding + interface entry of the MPLS-layer in the ifTable. + The entry with index 0 represents the per-platform + label space and contains parameters that apply to all + interfaces that participate in the per-platform label + space. Other entries defined in this table represent + additional MPLS interfaces that may participate in either + the per-platform or per-interface label spaces, or both."; + reference + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.1"; + } + + leaf mplsInterfaceLabelMinIn { + type mpls-tc:MplsLabel; + description + "This is the minimum value of an MPLS label that this + LSR is willing to receive on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.2"; + } + + leaf mplsInterfaceLabelMaxIn { + type mpls-tc:MplsLabel; + description + "This is the maximum value of an MPLS label that this + LSR is willing to receive on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.3"; + } + + leaf mplsInterfaceLabelMinOut { + type mpls-tc:MplsLabel; + description + "This is the minimum value of an MPLS label that this + LSR is willing to send on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.4"; + } + + leaf mplsInterfaceLabelMaxOut { + type mpls-tc:MplsLabel; + description + "This is the maximum value of an MPLS label that this + LSR is willing to send on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.5"; + } + + leaf mplsInterfaceTotalBandwidth { + type mpls-tc:MplsBitRate; + units "kilobits per second"; + description + "This value indicates the total amount of usable + bandwidth on this interface and is specified in + kilobits per second (Kbps). This variable is not + applicable when applied to the interface with index + 0. When this value cannot be measured, this value + should contain the nominal bandwidth."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.6"; + } + + leaf mplsInterfaceAvailableBandwidth { + type mpls-tc:MplsBitRate; + description + "This value indicates the total amount of available + bandwidth available on this interface and is + specified in kilobits per second (Kbps). This value + is calculated as the difference between the amount + of bandwidth currently in use and that specified in + mplsInterfaceTotalBandwidth. This variable is not + applicable when applied to the interface with index + 0. When this value cannot be measured, this value + should contain the nominal bandwidth."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.7"; + } + + leaf mplsInterfaceLabelParticipationType { + type bits { + bit perPlatform { + position "0"; + } + bit perInterface { + position "1"; + } + } + description + "If the value of the mplsInterfaceIndex for this + entry is zero, then this entry corresponds to the + per-platform label space for all interfaces configured + to use that label space. In this case the perPlatform(0) + bit MUST be set; the perInterface(1) bit is meaningless + and MUST be ignored. + + The remainder of this description applies to entries + with a non-zero value of mplsInterfaceIndex. + + If the perInterface(1) bit is set then the value of + mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, and + mplsInterfaceLabelMaxOut for this entry reflect the + label ranges for this interface. + + If only the perPlatform(0) bit is set, then the value of + mplsInterfaceLabelMinIn, mplsInterfaceLabelMaxIn, + mplsInterfaceLabelMinOut, and + mplsInterfaceLabelMaxOut for this entry MUST be + identical to the instance of these objects with + index 0. These objects may only vary from the entry + with index 0 if both the perPlatform(0) and perInterface(1) + bits are set. + + In all cases, at a minimum one of the perPlatform(0) or + perInterface(1) bits MUST be set to indicate that + at least one label space is in use by this interface. In + all cases, agents MUST ensure that label ranges are + specified consistently and MUST return an + inconsistentValue error when they do not."; + reference + "Rosen, E., Viswanathan, A., and R. Callon, + Multiprotocol Label Switching Architecture, RFC + 3031, January 2001."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.1.1.8"; + } + } + } + + container mplsInSegmentTable { + description + "This table contains a description of the incoming MPLS + segments (labels) to an LSR and their associated parameters. + The index for this table is mplsInSegmentIndex. + The index structure of this table is specifically designed + to handle many different MPLS implementations that manage + their labels both in a distributed and centralized manner. + The table is also designed to handle existing MPLS labels + as defined in RFC3031 as well as longer ones that may + be necessary in the future. + + In cases where the label cannot fit into the + mplsInSegmentLabel object, the mplsInSegmentLabelPtr + will indicate this by being set to the first accessible + column in the appropriate extension table's row. + In this case an additional table MUST + be provided and MUST be indexed by at least the indexes + used by this table. In all other cases when the label is + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be set to 0.0. Due to the + fact that MPLS labels may not exceed 24 bits, the + mplsInSegmentLabelPtr object is only a provision for + future-proofing the MIB module. Thus, the definition + of any extension tables is beyond the scope of this + MIB module."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4"; + + list mplsInSegmentEntry { + key "mplsInSegmentIndex"; + description + "An entry in this table represents one incoming + segment as is represented in an LSR's LFIB. + An entry can be created by a network + administrator or an SNMP agent, or an MPLS signaling + protocol. The creator of the entry is denoted by + mplsInSegmentOwner. + The value of mplsInSegmentRowStatus cannot be active(1) + unless the ifTable entry corresponding to + mplsInSegmentInterface exists. An entry in this table + must match any incoming packets, and indicates an + instance of mplsXCEntry based on which forwarding + and/or switching actions are taken."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1"; + + leaf mplsInSegmentIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "The index for this in-segment. The + string containing the single octet 0x00 + MUST not be used as an index."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.1"; + } + + leaf mplsInSegmentInterface { + type if-mib:InterfaceIndexOrZero; + description + "This object represents the + interface index for the incoming MPLS interface. A + value of zero represents all interfaces participating in + the per-platform label space. This may only be used + in cases where the incoming interface and label + are associated with the same mplsXCEntry. Specifically, + given a label and any incoming interface pair from the + per-platform label space, the outgoing label/interface + mapping remains the same. If this is not the case, + then individual entries MUST exist that + can then be mapped to unique mplsXCEntries."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.2"; + } + + leaf mplsInSegmentLabel { + type mpls-tc:MplsLabel; + description + "If the corresponding instance of mplsInSegmentLabelPtr is + zeroDotZero then this object MUST contain the incoming label + associated with this in-segment. If not this object SHOULD + be zero and MUST be ignored."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.3"; + } + + leaf mplsInSegmentLabelPtr { + type snmpv2-tc:RowPointer; + description + "If the label for this segment cannot be represented + fully within the mplsInSegmentLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsInSegmentTopLabel + object SHOULD be set to 0 and ignored. This object MUST + be set to zeroDotZero otherwise."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.4"; + } + + leaf mplsInSegmentNPop { + type int32 { + range "1..2147483647"; + } + description + "The number of labels to pop from the incoming + packet. Normally only the top label is popped from + the packet and used for all switching decisions for + that packet. This is indicated by setting this + object to the default value of 1. If an LSR supports + popping of more than one label, this object MUST + be set to that number. This object cannot be modified + if mplsInSegmentRowStatus is active(1)."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.5"; + } + + leaf mplsInSegmentAddrFamily { + type iana-address:AddressFamilyNumbers; + description + "The IANA address family [IANAFamily] of packets + received on this segment, which is used at an egress + LSR to deliver them to the appropriate layer 3 entity. + A value of other(0) indicates that the family type is + either unknown or undefined; this SHOULD NOT be used + at an egress LSR. This object cannot be + modified if mplsInSegmentRowStatus is active(1)."; + reference + "Internet Assigned Numbers Authority (IANA), ADDRESS + FAMILY NUMBERS, (http://www.iana.org/assignments/ + address-family-numbers), for MIB see: + http://www.iana.org/assignments/ + ianaaddressfamilynumbers-mib"; + smiv2:defval "other"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.6"; + } + + leaf mplsInSegmentXCIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Index into mplsXCTable which identifies which cross- + connect entry this segment is part of. The string + containing the single octet 0x00 indicates that this + entry is not referred to by any cross-connect entry. + When a cross-connect entry is created which this + in-segment is a part of, this object is automatically + updated to reflect the value of mplsXCIndex of that + cross-connect entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.7"; + } + + leaf mplsInSegmentOwner { + type mpls-tc:MplsOwner; + description + "Denotes the entity that created and is responsible + for managing this segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.8"; + } + + leaf mplsInSegmentTrafficParamPtr { + type snmpv2-tc:RowPointer; + description + "This variable represents a pointer to the traffic + parameter specification for this in-segment. This + value may point at an entry in the + mplsTunnelResourceTable in the MPLS-TE-STD-MIB (RFC3812) + to indicate which traffic parameter settings for this + segment if it represents an LSP used for a TE tunnel. + + This value may optionally point at an + externally defined traffic parameter specification + table. A value of zeroDotZero indicates best-effort + treatment. By having the same value of this object, + two or more segments can indicate resource sharing + of such things as LSP queue space, etc. + + This object cannot be modified if mplsInSegmentRowStatus + is active(1). For entries in this table that + are preserved after a re-boot, the agent MUST ensure + that their integrity be preserved, or this object should + be set to 0.0 if it cannot."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.9"; + } + + leaf mplsInSegmentRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table has a row in the active(1) state, no + objects in this row can be modified except the + mplsInSegmentRowStatus and mplsInSegmentStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.10"; + } + + leaf mplsInSegmentStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. The agent MUST ensure that this object's + value remains consistent with the associated + mplsXCEntry. Conceptual rows having the value + 'permanent' need not allow write-access to any + columnar objects in the row."; + reference + "See RFC2579."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.4.1.11"; + } + } + } + + container mplsOutSegmentTable { + description + "This table contains a representation of the outgoing + segments from an LSR."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7"; + + list mplsOutSegmentEntry { + key "mplsOutSegmentIndex"; + description + "An entry in this table represents one outgoing + segment. An entry can be created by a network + administrator, an SNMP agent, or an MPLS signaling + protocol. The object mplsOutSegmentOwner indicates + the creator of this entry. The value of + mplsOutSegmentRowStatus cannot be active(1) unless + the ifTable entry corresponding to + mplsOutSegmentInterface exists. + + Note that the indexing of this table uses a single, + arbitrary index (mplsOutSegmentIndex) to indicate + which out-segment (i.e.: label) is being switched to + from which in-segment (i.e: label) or in-segments. + This is necessary because it is possible to have an + equal-cost multi-path situation where two identical + out-going labels are assigned to the same + cross-connect (i.e.: they go to two different neighboring + LSRs); thus, requiring two out-segments. In order to + preserve the uniqueness of the references + by the mplsXCEntry, an arbitrary integer must be used as + the index for this table."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1"; + + leaf mplsOutSegmentIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "This value contains a unique index for this row. + While a value of a string containing the single + octet 0x00 is not valid as an index for entries + in this table, it can be supplied as a valid value + to index the mplsXCTable to represent entries for + which no out-segment has been configured or + exists."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.1"; + } + + leaf mplsOutSegmentInterface { + type if-mib:InterfaceIndexOrZero; + description + "This value must contain the interface index of the + outgoing interface. This object cannot be modified + if mplsOutSegmentRowStatus is active(1). The + mplsOutSegmentRowStatus cannot be set to active(1) + until this object is set to a value corresponding to + a valid ifEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.2"; + } + + leaf mplsOutSegmentPushTopLabel { + type boolean; + description + "This value indicates whether or not a top label + should be pushed onto the outgoing packet's label + stack. The value of this variable MUST be set to + true(1) if the outgoing interface does not support + pop-and-go (and no label stack remains). For example, + on ATM interface, or if the segment represents a + tunnel origination. Note that it is considered + an error in the case that mplsOutSegmentPushTopLabel + is set to false, but the cross-connect entry which + refers to this out-segment has a non-zero + mplsLabelStackIndex. The LSR MUST ensure that this + situation does not happen. This object cannot be + modified if mplsOutSegmentRowStatus is active(1)."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.3"; + } + + leaf mplsOutSegmentTopLabel { + type mpls-tc:MplsLabel; + description + "If mplsOutSegmentPushTopLabel is true then this + represents the label that should be pushed onto the + top of the outgoing packet's label stack. Otherwise + this value SHOULD be set to 0 by the management + station and MUST be ignored by the agent. This + object cannot be modified if mplsOutSegmentRowStatus + is active(1)."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.4"; + } + + leaf mplsOutSegmentTopLabelPtr { + type snmpv2-tc:RowPointer; + description + "If the label for this segment cannot be represented + fully within the mplsOutSegmentLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsOutSegmentTopLabel + object SHOULD be set to 0 and ignored. This object + MUST be set to zeroDotZero otherwise."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.5"; + } + + leaf mplsOutSegmentNextHopAddrType { + type inet-address:InetAddressType; + description + "Indicates the next hop Internet address type. + Only values unknown(0), ipv4(1) or ipv6(2) + have to be supported. + + A value of unknown(0) is allowed only when + the outgoing interface is of type point-to-point. + If any other unsupported values are attempted in a set + operation, the agent MUST return an inconsistentValue + error."; + reference + "See RFC3291."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.6"; + } + + leaf mplsOutSegmentNextHopAddr { + type inet-address:InetAddress; + description + "The internet address of the next hop. The type of + this address is determined by the value of the + mplslOutSegmentNextHopAddrType object. + + This object cannot be modified if + mplsOutSegmentRowStatus is active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.7"; + } + + leaf mplsOutSegmentXCIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Index into mplsXCTable which identifies which cross- + connect entry this segment is part of. A value of + the string containing the single octet 0x00 + indicates that this entry is not referred + to by any cross-connect entry. When a cross-connect + entry is created which this out-segment is a part of, + this object MUST be updated by the agent to reflect + the value of mplsXCIndex of that cross-connect + entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.8"; + } + + leaf mplsOutSegmentOwner { + type mpls-tc:MplsOwner; + description + "Denotes the entity which created and is responsible + for managing this segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.9"; + } + + leaf mplsOutSegmentTrafficParamPtr { + type snmpv2-tc:RowPointer; + description + "This variable represents a pointer to the traffic + parameter specification for this out-segment. This + value may point at an entry in the + MplsTunnelResourceEntry in the MPLS-TE-STD-MIB (RFC3812) + + RFC Editor: Please fill in RFC number. + + to indicate which traffic parameter settings for this + segment if it represents an LSP used for a TE tunnel. + + This value may optionally point at an + externally defined traffic parameter specification + table. A value of zeroDotZero indicates best-effort + treatment. By having the same value of this object, + two or more segments can indicate resource sharing + of such things as LSP queue space, etc. + + This object cannot be modified if + mplsOutSegmentRowStatus is active(1). + For entries in this table that + are preserved after a re-boot, the agent MUST ensure + that their integrity be preserved, or this object should + be set to 0.0 if it cannot."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.10"; + } + + leaf mplsOutSegmentRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row can be modified + except the mplsOutSegmentRowStatus or + mplsOutSegmentStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.11"; + } + + leaf mplsOutSegmentStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. The agent MUST ensure that this object's value + remains consistent with the associated mplsXCEntry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.7.1.12"; + } + } + } + + container mplsXCTable { + description + "This table specifies information for switching + between LSP segments. It supports point-to-point, + point-to-multipoint and multipoint-to-point + connections. mplsLabelStackTable specifies the + label stack information for a cross-connect LSR and + is referred to from mplsXCTable."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10"; + + list mplsXCEntry { + key "mplsXCIndex mplsXCInSegmentIndex mplsXCOutSegmentIndex"; + description + "A row in this table represents one cross-connect + entry. It is indexed by the following objects: + + - cross-connect index mplsXCIndex that uniquely + identifies a group of cross-connect entries + + - in-segment index, mplsXCInSegmentIndex + + - out-segment index, mplsXCOutSegmentIndex + + LSPs originating at this LSR: + These are represented by using the special + of value of mplsXCInSegmentIndex set to the + string containing a single octet 0x00. In + this case the mplsXCOutSegmentIndex + MUST not be the string containing a single + octet 0x00. + + LSPs terminating at this LSR: + These are represented by using the special value + mplsXCOutSegmentIndex set to the string containing + a single octet 0x00. + + Special labels: + Entries indexed by the strings containing the + reserved MPLS label values as a single octet 0x00 + through 0x0f (inclusive) imply LSPs terminating at + this LSR. Note that situations where LSPs are + terminated with incoming label equal to the string + containing a single octet 0x00 can be distinguished + from LSPs originating at this LSR because the + mplsXCOutSegmentIndex equals the string containing the + single octet 0x00. + + An entry can be created by a network administrator + or by an SNMP agent as instructed by an MPLS + signaling protocol."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1"; + + leaf mplsXCIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Primary index for the conceptual row identifying a + group of cross-connect segments. The string + containing a single octet 0x00 is an invalid index."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.1"; + } + + leaf mplsXCInSegmentIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Incoming label index. + If this object is set to the string containing + a single octet 0x00, this indicates a special + case outlined in the table's description above. + In this case no corresponding mplsInSegmentEntry + shall exist."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.2"; + } + + leaf mplsXCOutSegmentIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Index of out-segment for LSPs not terminating on + this LSR if not set to the string containing the + single octet 0x00. If the segment identified by this + entry is terminating, then this object MUST be set to + the string containing a single octet 0x00 to indicate + that no corresponding mplsOutSegmentEntry shall + exist."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.3"; + } + + leaf mplsXCLspId { + type mpls-tc:MplsLSPID; + description + "This value identifies the label switched path that + this cross-connect entry belongs to. This object + cannot be modified if mplsXCRowStatus is active(1) + except for this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.4"; + } + + leaf mplsXCLabelStackIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Primary index into mplsLabelStackTable identifying a + stack of labels to be pushed beneath the top label. + Note that the top label identified by the out- + segment ensures that all the components of a + multipoint-to-point connection have the same + outgoing label. A value of the string containing the + single octet 0x00 indicates that no labels are to + be stacked beneath the top label. + This object cannot be modified if mplsXCRowStatus is + active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.5"; + } + + leaf mplsXCOwner { + type mpls-tc:MplsOwner; + description + "Denotes the entity that created and is responsible + for managing this cross-connect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.6"; + } + + leaf mplsXCRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row except this object + and the mplsXCStorageType can be modified. "; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.7"; + } + + leaf mplsXCStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. The agent MUST ensure that the associated in + and out segments also have the same StorageType value + and are restored consistently upon system restart. + This value SHOULD be set to permanent(4) if created + as a result of a static LSP configuration. + + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.8"; + } + + leaf mplsXCAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "The desired operational status of this segment."; + smiv2:defval "up"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.9"; + } + + leaf mplsXCOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + enum "unknown" { + value "4"; + } + enum "dormant" { + value "5"; + } + enum "notPresent" { + value "6"; + } + enum "lowerLayerDown" { + value "7"; + } + } + description + "The actual operational status of this cross- + connect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.10.1.10"; + } + } + } + + container mplsLabelStackTable { + description + "This table specifies the label stack to be pushed + onto a packet, beneath the top label. Entries into + this table are referred to from mplsXCTable."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13"; + + list mplsLabelStackEntry { + key "mplsLabelStackIndex mplsLabelStackLabelIndex"; + description + "An entry in this table represents one label which is + to be pushed onto an outgoing packet, beneath the + top label. An entry can be created by a network + administrator or by an SNMP agent as instructed by + an MPLS signaling protocol."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1"; + + leaf mplsLabelStackIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "Primary index for this row identifying a stack of + labels to be pushed on an outgoing packet, beneath + the top label. An index containing the string with + a single octet 0x00 MUST not be used."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.1"; + } + + leaf mplsLabelStackLabelIndex { + type uint32 { + range "1..2147483647"; + } + description + "Secondary index for this row identifying one label + of the stack. Note that an entry with a smaller + mplsLabelStackLabelIndex would refer to a label + higher up the label stack and would be popped at a + downstream LSR before a label represented by a + higher mplsLabelStackLabelIndex at a downstream + LSR."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.2"; + } + + leaf mplsLabelStackLabel { + type mpls-tc:MplsLabel; + description + "The label to pushed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.3"; + } + + leaf mplsLabelStackLabelPtr { + type snmpv2-tc:RowPointer; + description + "If the label for this segment cannot be represented + fully within the mplsLabelStackLabel object, + this object MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsLabelStackLabel + object SHOULD be set to 0 and ignored. This object + MUST be set to zeroDotZero otherwise."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.4"; + } + + leaf mplsLabelStackRowStatus { + type snmpv2-tc:RowStatus; + description + "For creating, modifying, and deleting this row. + When a row in this table has a row in the active(1) + state, no objects in this row except this object + and the mplsLabelStackStorageType can be modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.5"; + } + + leaf mplsLabelStackStorageType { + type snmpv2-tc:StorageType; + description + "This variable indicates the storage type for this + object. This object cannot be modified if + mplsLabelStackRowStatus is active(1). + No objects are required to be writable for + rows in this table with this object set to + permanent(4). + + The agent MUST ensure that all related entries + in this table retain the same value for this + object. Agents MUST ensure that the storage type + for all entries related to a particular mplsXCEntry + retain the same value for this object as the + mplsXCEntry's StorageType."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.13.1.6"; + } + } + } + + container mplsInSegmentMapTable { + description + "This table specifies the mapping from the + mplsInSegmentIndex to the corresponding + mplsInSegmentInterface and mplsInSegmentLabel + objects. The purpose of this table is to + provide the manager with an alternative + means by which to locate in-segments."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14"; + + list mplsInSegmentMapEntry { + key "mplsInSegmentMapInterface mplsInSegmentMapLabel mplsInSegmentMapLabelPtrIndex"; + description + "An entry in this table represents one interface + and incoming label pair. + + In cases where the label cannot fit into the + mplsInSegmentLabel object, the mplsInSegmentLabelPtr + will indicate this by being set to the first accessible + column in the appropriate extension table's row, + and the mplsInSegmentLabel SHOULD be set to 0. + In all other cases when the label is + represented within the mplsInSegmentLabel object, the + mplsInSegmentLabelPtr MUST be 0.0. + + Implementors need to be aware that if the value of + the mplsInSegmentMapLabelPtrIndex (an OID) has more + that 111 sub-identifiers, then OIDs of column + instances in this table will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14.1"; + + leaf mplsInSegmentMapInterface { + type if-mib:InterfaceIndexOrZero; + description + "This index contains the same value as the + mplsInSegmentIndex in the mplsInSegmentTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14.1.1"; + } + + leaf mplsInSegmentMapLabel { + type mpls-tc:MplsLabel; + description + "This index contains the same value as the + mplsInSegmentLabel in the mplsInSegmentTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14.1.2"; + } + + leaf mplsInSegmentMapLabelPtrIndex { + type snmpv2-tc:RowPointer; + description + "This index contains the same value as the + mplsInSegmentLabelPtr. + + If the label for the InSegment cannot be represented + fully within the mplsInSegmentLabel object, + this index MUST point to the first accessible + column of a conceptual row in an external table containing + the label. In this case, the mplsInSegmentTopLabel + object SHOULD be set to 0 and ignored. This object MUST + be set to zeroDotZero otherwise."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14.1.3"; + } + + leaf mplsInSegmentMapIndex { + type MPLS-LSR-STD-MIB:MplsIndexType; + description + "The mplsInSegmentIndex that corresponds + to the mplsInSegmentInterface and + mplsInSegmentLabel, or the mplsInSegmentInterface + and mplsInSegmentLabelPtr, if applicable. + The string containing the single octet 0x00 + MUST not be returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.14.1.4"; + } + } + } + } + + smiv2:alias "mplsInterfacePerfTable" { + description + "This table provides MPLS performance information on + a per-interface basis."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2"; + } + + smiv2:alias "mplsInterfacePerfEntry" { + description + "An entry in this table is created by the LSR for + every interface capable of supporting MPLS. Its is + an extension to the mplsInterfaceEntry table. + Note that the discontinuity behavior of entries in + this table MUST be based on the corresponding + ifEntry's ifDiscontinuityTime."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1"; + } + + augment "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsInterfaceTable/MPLS-LSR-STD-MIB:mplsInterfaceEntry" { + description + "An entry in this table is created by the LSR for + every interface capable of supporting MPLS. Its is + an extension to the mplsInterfaceEntry table. + Note that the discontinuity behavior of entries in + this table MUST be based on the corresponding + ifEntry's ifDiscontinuityTime."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1"; + + leaf mplsInterfacePerfInLabelsInUse { + type yang:gauge32; + description + "This object counts the number of labels that are in + use at this point in time on this interface in the + incoming direction. If the interface participates in + only the per-platform label space, then the value of + the instance of this object MUST be identical to + the value of the instance with index 0. If the + interface participates in the per-interface label + space, then the instance of this object MUST + represent the number of per-interface labels that + are in use on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1.1"; + } + + leaf mplsInterfacePerfInLabelLookupFailures { + type yang:counter32; + description + "This object counts the number of labeled packets + that have been received on this interface and which + were discarded because there was no matching cross- + connect entry. This object MUST count on a per- + interface basis regardless of which label space the + interface participates in."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1.2"; + } + + leaf mplsInterfacePerfOutLabelsInUse { + type yang:gauge32; + description + "This object counts the number of top-most labels in + the outgoing label stacks that are in use at this + point in time on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1.3"; + } + + leaf mplsInterfacePerfOutFragmentedPkts { + type yang:counter32; + description + "This object counts the number of outgoing MPLS + packets that required fragmentation before + transmission on this interface. This object MUST + count on a per-interface basis regardless of which + label space the interface participates in."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.2.1.4"; + } + } + + smiv2:alias "mplsInSegmentPerfTable" { + description + "This table contains statistical information for + incoming MPLS segments to an LSR."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5"; + } + + smiv2:alias "mplsInSegmentPerfEntry" { + description + "An entry in this table contains statistical + information about one incoming segment which is + configured in the mplsInSegmentTable. The counters + in this entry should behave in a manner similar to + that of the interface. + mplsInSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in all of these + objects."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1"; + } + + augment "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsInSegmentTable/MPLS-LSR-STD-MIB:mplsInSegmentEntry" { + description + "An entry in this table contains statistical + information about one incoming segment which is + configured in the mplsInSegmentTable. The counters + in this entry should behave in a manner similar to + that of the interface. + mplsInSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in all of these + objects."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1"; + + leaf mplsInSegmentPerfOctets { + type yang:counter32; + description + "This value represents the total number of octets + received by this segment. It MUST be equal to the + least significant 32 bits of + mplsInSegmentPerfHCOctets + if mplsInSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.1"; + } + + leaf mplsInSegmentPerfPackets { + type yang:counter32; + description + "Total number of packets received by this segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.2"; + } + + leaf mplsInSegmentPerfErrors { + type yang:counter32; + description + "The number of errored packets received on this + segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.3"; + } + + leaf mplsInSegmentPerfDiscards { + type yang:counter32; + description + "The number of labeled packets received on this in- + segment, which were chosen to be discarded even + though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.4"; + } + + leaf mplsInSegmentPerfHCOctets { + type yang:counter64; + description + "The total number of octets received. This is the 64 + bit version of mplsInSegmentPerfOctets, + if mplsInSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.5"; + } + + leaf mplsInSegmentPerfDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.5.1.6"; + } + } + + smiv2:alias "mplsOutSegmentPerfTable" { + description + "This table contains statistical information about + outgoing segments from an LSR. The counters in this + entry should behave in a manner similar to that of + the interface."; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8"; + } + + smiv2:alias "mplsOutSegmentPerfEntry" { + description + "An entry in this table contains statistical + information about one outgoing segment configured in + mplsOutSegmentTable. The object + mplsOutSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in these objects. "; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1"; + } + + augment "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsOutSegmentTable/MPLS-LSR-STD-MIB:mplsOutSegmentEntry" { + description + "An entry in this table contains statistical + information about one outgoing segment configured in + mplsOutSegmentTable. The object + mplsOutSegmentPerfDiscontinuityTime indicates the + time of the last discontinuity in these objects. "; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1"; + + leaf mplsOutSegmentPerfOctets { + type yang:counter32; + description + "This value contains the total number of octets sent + on this segment. It MUST be equal to the least + significant 32 bits of mplsOutSegmentPerfHCOctets + if mplsOutSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.1"; + } + + leaf mplsOutSegmentPerfPackets { + type yang:counter32; + description + "This value contains the total number of packets sent + on this segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.2"; + } + + leaf mplsOutSegmentPerfErrors { + type yang:counter32; + description + "Number of packets that could not be sent due to + errors on this segment."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.3"; + } + + leaf mplsOutSegmentPerfDiscards { + type yang:counter32; + description + "The number of labeled packets attempted to be transmitted + on this out-segment, which were chosen to be discarded + even though no errors had been detected to prevent their + being transmitted. One possible reason for + discarding such a labeled packet could be to free up + buffer space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.4"; + } + + leaf mplsOutSegmentPerfHCOctets { + type yang:counter64; + description + "Total number of octets sent. This is the 64 bit + version of mplsOutSegmentPerfOctets, + if mplsOutSegmentPerfHCOctets is supported according to + the rules spelled out in RFC2863."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.5"; + } + + leaf mplsOutSegmentPerfDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion + at which any one or more of this segment's Counter32 + or Counter64 suffered a discontinuity. If no such + discontinuities have occurred since the last re- + initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.2.1.8.1.6"; + } + } + + notification mplsXCUp { + description + "This notification is generated when the + mplsXCOperStatus object for one or more contiguous + entries in mplsXCTable are about to enter the up(1) + state from some other state. The included values of + mplsXCOperStatus MUST both be set equal to this + new state (i.e: up(1)). The two instances of + mplsXCOperStatus in this notification indicate the range + of indexes that are affected. Note that all the indexes + of the two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the up(1) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + mplsXCOperStatus objects MUST be the identical."; + smiv2:oid "1.3.6.1.2.1.10.166.2.0.1"; + + container object-1 { + + leaf mplsXCIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCIndex"; + } + } + + leaf mplsXCInSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCInSegmentIndex"; + } + } + + leaf mplsXCOutSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOutSegmentIndex"; + } + } + + leaf mplsXCOperStatus { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOperStatus"; + } + } + } + + container object-2 { + + leaf mplsXCIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCIndex"; + } + } + + leaf mplsXCInSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCInSegmentIndex"; + } + } + + leaf mplsXCOutSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOutSegmentIndex"; + } + } + + leaf mplsXCOperStatus { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOperStatus"; + } + } + } + } + + notification mplsXCDown { + description + "This notification is generated when the + mplsXCOperStatus object for one or more contiguous + entries in mplsXCTable are about to enter the + down(2) state from some other state. The included values + of mplsXCOperStatus MUST both be set equal to this + down(2) state. The two instances of mplsXCOperStatus + in this notification indicate the range of indexes + that are affected. Note that all the indexes of the + two ends of the range can be derived from the + instance identifiers of these two objects. For + cases where a contiguous range of cross-connects + have transitioned into the down(2) state at roughly + the same time, the device SHOULD issue a single + notification for each range of contiguous indexes in + an effort to minimize the emission of a large number + of notifications. If a notification has to be + issued for just a single cross-connect entry, then + the instance identifier (and values) of the two + mplsXCOperStatus objects MUST be identical."; + smiv2:oid "1.3.6.1.2.1.10.166.2.0.2"; + + container object-1 { + + leaf mplsXCIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCIndex"; + } + } + + leaf mplsXCInSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCInSegmentIndex"; + } + } + + leaf mplsXCOutSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOutSegmentIndex"; + } + } + + leaf mplsXCOperStatus { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOperStatus"; + } + } + } + + container object-2 { + + leaf mplsXCIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCIndex"; + } + } + + leaf mplsXCInSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCInSegmentIndex"; + } + } + + leaf mplsXCOutSegmentIndex { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOutSegmentIndex"; + } + } + + leaf mplsXCOperStatus { + type leafref { + path "/MPLS-LSR-STD-MIB:MPLS-LSR-STD-MIB/MPLS-LSR-STD-MIB:mplsXCTable/MPLS-LSR-STD-MIB:mplsXCEntry/MPLS-LSR-STD-MIB:mplsXCOperStatus"; + } + } + } + } + + smiv2:alias "mplsLsrStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.2"; + } + + smiv2:alias "mplsLsrNotifications" { + smiv2:oid "1.3.6.1.2.1.10.166.2.0"; + } + + smiv2:alias "mplsLsrObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.2.1"; + } + + smiv2:alias "mplsLsrConformance" { + smiv2:oid "1.3.6.1.2.1.10.166.2.2"; + } + + smiv2:alias "mplsLsrGroups" { + smiv2:oid "1.3.6.1.2.1.10.166.2.2.1"; + } + + smiv2:alias "mplsLsrCompliances" { + smiv2:oid "1.3.6.1.2.1.10.166.2.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-TC-MIB.yang new file mode 100644 index 000000000..f53a07b8d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-TC-MIB.yang @@ -0,0 +1,321 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB"; + prefix MPLS-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + " Thomas D. Nadeau + Cisco Systems, Inc. + tnadeau@cisco.com + + Joan Cucchiara + Crescent Networks + jcucchiara@crescentnetworks.com + + Cheenu Srinivasan + Parama Networks, Inc. + cheenu@paramanet.com + + Arun Viswanathan + Force10 Networks, Inc. + arun@force10networks.com + + Hans Sjostrand + ipUnplugged + hans@ipunplugged.com + + Email comments to the MPLS WG Mailing List at + mpls@uu.net."; + + description + "This MIB module defines Textual Conventions and + OBJECT-IDENTITIES for use in documents defining + management information bases (MIBs) for managing + MPLS networks."; + + revision 2001-01-04 { + description + "Initial version published as part of RFC XXXX."; + } + + revision 2001-01-04 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef MplsAtmVcIdentifier { + type int32 { + range "32..65535"; + } + description + "The VCI value for a VCL. The maximum VCI value + cannot exceed the value allowable by + atmInterfaceMaxVciBits defined in ATM-MIB. The + minimum value is 32, values 0 to 31 are reserved + for other uses by the ITU and ATM Forum. 32 is + typically the default value for the Control VC."; + reference + "Definitions of Textual Conventions and OBJECT- + IDENTITIES for ATM Management, RFC 2514, Feb. + 1999."; + } + + typedef MplsBitRate { + type int32 { + range "1..2147483647"; + } + description + "An estimate of bandwidth in units of 1,000 bits per + second. If this object reports a value of 'n' then + the rate of the object is somewhere in the range of + 'n-500' to 'n+499'. For objects which do not vary + in bit rate, or for those where no accurate + estimation can be made, this object should contain + the nominal bit rate."; + smiv2:display-hint "d"; + } + + typedef MplsBurstSize { + type uint32 { + range "1..4294967295"; + } + description + "The number of octets of MPLS data that the stream + may send back-to-back without concern for + policing."; + smiv2:display-hint "d"; + } + + typedef MplsExtendedTunnelId { + type uint32; + description + "A unique identifier for an MPLS Tunnel. This MAY + represent an IpV4 address of the ingress or egress + LSR for the tunnel. This value is derived from the + Extended Tunnel Id in RSVP or the Ingress Router ID + for CR-LDP."; + reference + "1. Awduche, D., et al., RSVP-TE: Extensions to RSVP + for LSP Tunnels, RFC 3209, December 2001. + 2. Constraint-Based LSP Setup using LDP, Jamoussi, + B., et al., draft-ietf-mpls-cr-ldp-06.txt, November + 2001."; + } + + typedef MplsInitialCreationSource { + type enumeration { + enum "other" { + value "1"; + } + enum "snmp" { + value "2"; + } + enum "ldp" { + value "3"; + } + enum "rsvp" { + value "4"; + } + enum "crldp" { + value "5"; + } + enum "policyAgent" { + value "6"; + } + enum "unknown" { + value "7"; + } + } + description + "The entity that originally created the object in + question. The values of this enumeration are + defined as follows: + + other(1) - This is used when an entity which has not + been enumerated in this textual convention but + which is known by the agent. + + snmp(2) - The Simple Network Management Protocol was + used to configure this object initially. + + ldp(3 - The Label Distribution Protocol was used to + configure this object initially. + + rsvp(4) - The Resource Reservation Protocol was used + to configure this object initially. + + crldp(5) - The Constraint-Based Label Distribution + Protocol was used to configure this object + initially. + + policyAgent(6) - A policy agent (perhaps in + combination with one of the above protocols) was + used to configure this object initially. + + unknown(7) - the agent cannot discern which + component created the object."; + } + + typedef MplsLSPID { + type binary { + length "0..31"; + } + description + "An identifier that is assigned to each LSP and is + used to uniquely identify it. This is assigned at + the head end of the LSP and can be used by all LSRs + to identify this LSP. This value is piggybacked by + the signaling protocol when this LSP is signaled + + + within the network. This identifier can then be + used at each LSR to identify which labels are being + swapped to other labels for this LSP. For IPv4 + addresses this results in a 6-octet long cookie."; + } + + typedef MplsLabel { + type uint32 { + range "0..4294967295"; + } + description + "This value represents an MPLS label as defined in + [RFC3031], [RFC3032], [RFC3034] and [RFC3035]."; + reference + "1. Multiprotocol Label Switching Architecture, Rosen + et al, RFC 3031, August 1999. + 2. MPLS Label Stack Encoding, Rosen et al, RFC 3032, + January 2001. + 3. Use of Label Switching on Frame Relay Networks, + Conta et al, RFC 3034, January 2001. + 4. MPLS using LDP and ATM VC switching, Davie et al, + RFC 3035, January 2001."; + } + + typedef MplsLdpGenAddr { + type binary { + length "0..64"; + } + description + "The value of an network layer or data link layer + address."; + } + + typedef MplsLdpIdentifier { + type binary { + length "6"; + } + description + "The LDP identifier is a six octet quantity which is + used to identify an Label Switch Router (LSR) label + space. + + The first four octets identify the LSR and must be a + globally unique value, such as a 32-bit router ID + assigned to the LSR, and the last two octets + identify a specific label space within the LSR."; + } + + typedef MplsLdpLabelTypes { + type enumeration { + enum "generic" { + value "1"; + } + enum "atm" { + value "2"; + } + enum "frameRelay" { + value "3"; + } + } + description + "The Layer 2 label types which are defined for MPLS + LDP/CRLDP are generic(1), atm(2), or + frameRelay(3)."; + } + + typedef MplsLsrIdentifier { + type binary { + length "4"; + } + description + "The Label Switch Router (LSR) identifier is the + first 4 bytes of the Label Distribution Protocol + (LDP) identifier."; + } + + typedef MplsPathIndex { + type uint32; + description + "A unique identifier used to identify a specific path + used by a tunnel."; + } + + typedef MplsPathIndexOrZero { + type uint32; + description + "A unique identifier used to identify a specific path + used by a tunnel. If this value is set to 0, it + indicates that no path is in use."; + } + + typedef MplsPortNumber { + type int32 { + range "0..65535"; + } + description + "A TCP or UDP port number. Along with an IP address + identifies a stream of IP traffic uniquely."; + } + + typedef MplsTunnelAffinity { + type uint32; + description + "Include-any, include-all, or exclude-all constraint + for link selection."; + } + + typedef MplsTunnelIndex { + type int32 { + range "1..65535"; + } + description + "Index into mplsTunnelTable."; + } + + typedef MplsTunnelInstanceIndex { + type uint32 { + range "0..65535"; + } + description + "Instance index into mplsTunnelTable."; + } + + smiv2:alias "mplsMIB" { + smiv2:oid "1.3.6.1.2.1.10.9999"; + } + + smiv2:alias "mplsTCMIB" { + smiv2:oid "1.3.6.1.2.1.10.9999.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-TC-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-TC-STD-MIB.yang new file mode 100644 index 000000000..1d29e7d0e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-TC-STD-MIB.yang @@ -0,0 +1,723 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-TC-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-TC-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-TC-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB"; + prefix MPLS-TC-STD-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF Multiprotocol Label Switching (MPLS) Working + Group."; + + contact + " Thomas D. Nadeau + Cisco Systems, Inc. + tnadeau@cisco.com + + Joan Cucchiara + Marconi Communications, Inc. + jcucchiara@mindspring.com + + Cheenu Srinivasan + Bloomberg L.P. + cheenu@bloomberg.net + + Arun Viswanathan + Force10 Networks, Inc. + arunv@force10networks.com + + Hans Sjostrand + ipUnplugged + hans@ipunplugged.com + + Kireeti Kompella + Juniper Networks + kireeti@juniper.net + + Email comments to the MPLS WG Mailing List at + mpls@uu.net."; + + description + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3811. For full legal notices see the RFC + itself or see: + http://www.ietf.org/copyrights/ianamib.html + + This MIB module defines TEXTUAL-CONVENTIONs + for concepts used in Multiprotocol Label + Switching (MPLS) networks."; + + revision 2004-06-03 { + description + "Initial version published as part of RFC 3811."; + } + + typedef MplsAtmVcIdentifier { + type int32 { + range "32..65535"; + } + description + "A Label Switching Router (LSR) that + creates LDP sessions on ATM interfaces + uses the VCI or VPI/VCI field to hold the + LDP Label. + + VCI values MUST NOT be in the 0-31 range. + The values 0 to 31 are reserved for other uses + by the ITU and ATM Forum. The value + of 32 can only be used for the Control VC, + although values greater than 32 could be + configured for the Control VC. + + If a value from 0 to 31 is used for a VCI + the management entity controlling the LDP + subsystem should reject this with an + inconsistentValue error. Also, if + the value of 32 is used for a VC which is + NOT the Control VC, this should + result in an inconsistentValue error."; + reference + "MPLS using LDP and ATM VC Switching, RFC3035."; + smiv2:display-hint "d"; + } + + typedef MplsBitRate { + type uint32 { + range "0..4294967295"; + } + description + "If the value of this object is greater than zero, + then this represents the bandwidth of this MPLS + interface (or Label Switched Path) in units of + '1,000 bits per second'. + + The value, when greater than zero, represents the + bandwidth of this MPLS interface (rounded to the + nearest 1,000) in units of 1,000 bits per second. + If the bandwidth of the MPLS interface is between + ((n * 1000) - 500) and ((n * 1000) + 499), the value + of this object is n, such that n > 0. + + If the value of this object is 0 (zero), this + means that the traffic over this MPLS interface is + considered to be best effort."; + smiv2:display-hint "d"; + } + + typedef MplsBurstSize { + type uint32 { + range "0..4294967295"; + } + description + "The number of octets of MPLS data that the stream + may send back-to-back without concern for policing. + The value of zero indicates that an implementation + does not support Burst Size."; + smiv2:display-hint "d"; + } + + typedef MplsExtendedTunnelId { + type uint32 { + range "0..4294967295"; + } + description + "A unique identifier for an MPLS Tunnel. This may + represent an IPv4 address of the ingress or egress + LSR for the tunnel. This value is derived from the + Extended Tunnel Id in RSVP or the Ingress Router ID + for CR-LDP."; + reference + "RSVP-TE: Extensions to RSVP for LSP Tunnels, + [RFC3209]. + + Constraint-Based LSP Setup using LDP, [RFC3212]."; + } + + typedef MplsLabel { + type uint32 { + range "0..4294967295"; + } + description + "This value represents an MPLS label as defined in + [RFC3031], [RFC3032], [RFC3034], [RFC3035] and + [RFC3471]. + + The label contents are specific to the label being + represented, such as: + + * The label carried in an MPLS shim header + (for LDP this is the Generic Label) is a 20-bit + number represented by 4 octets. Bits 0-19 contain + a label or a reserved label value. Bits 20-31 + MUST be zero. + + The following is quoted directly from [RFC3032]. + There are several reserved label values: + + i. A value of 0 represents the + 'IPv4 Explicit NULL Label'. This label + value is only legal at the bottom of the + label stack. It indicates that the label + stack must be popped, and the forwarding + of the packet must then be based on the + IPv4 header. + + ii. A value of 1 represents the + 'Router Alert Label'. This label value is + legal anywhere in the label stack except at + the bottom. When a received packet + contains this label value at the top of + the label stack, it is delivered to a + local software module for processing. + The actual forwarding of the packet + is determined by the label beneath it + in the stack. However, if the packet is + forwarded further, the Router Alert Label + should be pushed back onto the label stack + before forwarding. The use of this label + is analogous to the use of the + 'Router Alert Option' in IP packets + [RFC2113]. Since this label + cannot occur at the bottom of the stack, + it is not associated with a + particular network layer protocol. + + iii. A value of 2 represents the + 'IPv6 Explicit NULL Label'. This label + value is only legal at the bottom of the + label stack. It indicates that the label + stack must be popped, and the forwarding + of the packet must then be based on the + IPv6 header. + + iv. A value of 3 represents the + 'Implicit NULL Label'. + This is a label that an LSR may assign and + distribute, but which never actually + appears in the encapsulation. When an + LSR would otherwise replace the label + at the top of the stack with a new label, + but the new label is 'Implicit NULL', + the LSR will pop the stack instead of + doing the replacement. Although + this value may never appear in the + encapsulation, it needs to be specified in + the Label Distribution Protocol, so a value + is reserved. + + v. Values 4-15 are reserved. + + * The frame relay label can be either 10-bits or + 23-bits depending on the DLCI field size and the + upper 22-bits or upper 9-bits must be zero, + respectively. + + * For an ATM label the lower 16-bits represents the + VCI, the next 12-bits represents the VPI and the + remaining bits MUST be zero. + + * The Generalized-MPLS (GMPLS) label contains a + value greater than 2^24-1 and used in GMPLS + as defined in [RFC3471]."; + reference + "Multiprotocol Label Switching Architecture, + RFC3031. + + MPLS Label Stack Encoding, [RFC3032]. + + Use of Label Switching on Frame Relay Networks, + RFC3034. + + MPLS using LDP and ATM VC Switching, RFC3035. + Generalized Multiprotocol Label Switching + (GMPLS) Architecture, [RFC3471]."; + } + + typedef MplsLabelDistributionMethod { + type enumeration { + enum "downstreamOnDemand" { + value "1"; + } + enum "downstreamUnsolicited" { + value "2"; + } + } + description + "The label distribution method which is also called + the label advertisement mode [RFC3036]. + Each interface on an LSR is configured to operate + in either Downstream Unsolicited or Downstream + on Demand."; + reference + "Multiprotocol Label Switching Architecture, + RFC3031. + + LDP Specification, RFC3036, Section 2.6.3."; + } + + typedef MplsLdpIdentifier { + type string; + description + "The LDP identifier is a six octet + quantity which is used to identify a + Label Switching Router (LSR) label space. + + The first four octets identify the LSR and + must be a globally unique value, such as a + 32-bit router ID assigned to the LSR, and the + last two octets identify a specific label + space within the LSR."; + smiv2:display-hint "1d.1d.1d.1d:2d"; + } + + typedef MplsLsrIdentifier { + type binary { + length "4"; + } + description + "The Label Switching Router (LSR) identifier is the + first 4 bytes of the Label Distribution Protocol + (LDP) identifier."; + } + + typedef MplsLdpLabelType { + type enumeration { + enum "generic" { + value "1"; + } + enum "atm" { + value "2"; + } + enum "frameRelay" { + value "3"; + } + } + description + "The Layer 2 label types which are defined for MPLS + LDP and/or CR-LDP are generic(1), atm(2), or + frameRelay(3)."; + } + + typedef MplsLSPID { + type binary { + length "2|6"; + } + description + "A unique identifier within an MPLS network that is + assigned to each LSP. This is assigned at the head + end of the LSP and can be used by all LSRs + to identify this LSP. This value is piggybacked by + the signaling protocol when this LSP is signaled + within the network. This identifier can then be + used at each LSR to identify which labels are + being swapped to other labels for this LSP. This + object can also be used to disambiguate LSPs that + share the same RSVP sessions between the same + source and destination. + + For LSPs established using CR-LDP, the LSPID is + composed of the ingress LSR Router ID (or any of + its own IPv4 addresses) and a locally unique + CR-LSP ID to that LSR. The first two bytes carry + the CR-LSPID, and the remaining 4 bytes carry + the Router ID. The LSPID is useful in network + management, in CR-LSP repair, and in using + an already established CR-LSP as a hop in + an ER-TLV. + + For LSPs signaled using RSVP-TE, the LSP ID is + defined as a 16-bit (2 byte) identifier used + in the SENDER_TEMPLATE and the FILTER_SPEC + that can be changed to allow a sender to + share resources with itself. The length of this + object should only be 2 or 6 bytes. If the length + of this octet string is 2 bytes, then it must + identify an RSVP-TE LSPID, or it is 6 bytes, + it must contain a CR-LDP LSPID."; + reference + "RSVP-TE: Extensions to RSVP for LSP Tunnels, + [RFC3209]. + + Constraint-Based LSP Setup using LDP, + [RFC3212]."; + } + + typedef MplsLspType { + type enumeration { + enum "unknown" { + value "1"; + } + enum "terminatingLsp" { + value "2"; + } + enum "originatingLsp" { + value "3"; + } + enum "crossConnectingLsp" { + value "4"; + } + } + description + "Types of Label Switch Paths (LSPs) + on a Label Switching Router (LSR) or a + Label Edge Router (LER) are: + + unknown(1) -- if the LSP is not known + to be one of the following. + + terminatingLsp(2) -- if the LSP terminates + on the LSR/LER, then this + is an egressing LSP + which ends on the LSR/LER, + + originatingLsp(3) -- if the LSP originates + from this LSR/LER, then + this is an ingressing LSP + which is the head-end of + the LSP, + + crossConnectingLsp(4) -- if the LSP ingresses + and egresses on the LSR, + then it is + cross-connecting on that + LSR."; + } + + typedef MplsOwner { + type enumeration { + enum "unknown" { + value "1"; + } + enum "other" { + value "2"; + } + enum "snmp" { + value "3"; + } + enum "ldp" { + value "4"; + } + enum "crldp" { + value "5"; + } + enum "rsvpTe" { + value "6"; + } + enum "policyAgent" { + value "7"; + } + } + description + "This object indicates the local network + management subsystem that originally created + the object(s) in question. The values of + this enumeration are defined as follows: + + unknown(1) - the local network management + subsystem cannot discern which + component created the object. + + other(2) - the local network management + subsystem is able to discern which component + created the object, but the component is not + listed within the following choices, + e.g., command line interface (cli). + + snmp(3) - The Simple Network Management Protocol + was used to configure this object initially. + + ldp(4) - The Label Distribution Protocol was + used to configure this object initially. + + crldp(5) - The Constraint-Based Label Distribution + Protocol was used to configure this object + initially. + + rsvpTe(6) - The Resource Reservation Protocol was + used to configure this object initially. + + policyAgent(7) - A policy agent (perhaps in + combination with one of the above protocols) was + used to configure this object initially. + + An object created by any of the above choices + MAY be modified or destroyed by the same or a + different choice."; + } + + typedef MplsPathIndexOrZero { + type uint32 { + range "0..4294967295"; + } + description + "A unique identifier used to identify a specific + path used by a tunnel. A value of 0 (zero) means + that no path is in use."; + } + + typedef MplsPathIndex { + type uint32 { + range "1..4294967295"; + } + description + "A unique value to index (by Path number) an + entry in a table."; + } + + typedef MplsRetentionMode { + type enumeration { + enum "conservative" { + value "1"; + } + enum "liberal" { + value "2"; + } + } + description + "The label retention mode which specifies whether + an LSR maintains a label binding for a FEC + learned from a neighbor that is not its next hop + for the FEC. + + If the value is conservative(1) then advertised + label mappings are retained only if they will be + used to forward packets, i.e., if label came from + a valid next hop. + + If the value is liberal(2) then all advertised + label mappings are retained whether they are from + a valid next hop or not."; + reference + "Multiprotocol Label Switching Architecture, + RFC3031. + + LDP Specification, RFC3036, Section 2.6.2."; + } + + typedef MplsTunnelAffinity { + type uint32 { + range "0..4294967295"; + } + description + "Describes the configured 32-bit Include-any, + include-all, or exclude-all constraint for + constraint-based link selection."; + reference + "RSVP-TE: Extensions to RSVP for LSP Tunnels, + RFC3209, Section 4.7.4."; + } + + typedef MplsTunnelIndex { + type uint32 { + range "0..65535"; + } + description + "A unique index into mplsTunnelTable. + For tunnels signaled using RSVP, this value + should correspond to the RSVP Tunnel ID + used for the RSVP-TE session."; + } + + typedef MplsTunnelInstanceIndex { + type uint32 { + range "0..4294967295"; + } + description + "The tunnel entry with instance index 0 + should refer to the configured tunnel + interface (if one exists). + + Values greater than 0, but less than or + equal to 65535, should be used to indicate + signaled (or backup) tunnel LSP instances. + For tunnel LSPs signaled using RSVP, + this value should correspond to the + RSVP LSP ID used for the RSVP-TE + LSP. + + Values greater than 65535 apply to FRR + detour instances."; + } + + typedef TeHopAddressType { + type enumeration { + enum "unknown" { + value "0"; + } + enum "ipv4" { + value "1"; + } + enum "ipv6" { + value "2"; + } + enum "asnumber" { + value "3"; + } + enum "unnum" { + value "4"; + } + enum "lspid" { + value "5"; + } + } + description + "A value that represents a type of address for a + Traffic Engineered (TE) Tunnel hop. + + unknown(0) An unknown address type. This value + MUST be used if the value of the + corresponding TeHopAddress object is a + zero-length string. It may also be + used to indicate a TeHopAddress which + is not in one of the formats defined + below. + + ipv4(1) An IPv4 network address as defined by + the InetAddressIPv4 TEXTUAL-CONVENTION + [RFC3291]. + + ipv6(2) A global IPv6 address as defined by + the InetAddressIPv6 TEXTUAL-CONVENTION + [RFC3291]. + + asnumber(3) An Autonomous System (AS) number as + defined by the TeHopAddressAS + TEXTUAL-CONVENTION. + + unnum(4) An unnumbered interface index as + defined by the TeHopAddressUnnum + TEXTUAL-CONVENTION. + + lspid(5) An LSP ID for TE Tunnels + (RFC3212) as defined by the + MplsLSPID TEXTUAL-CONVENTION. + + Each definition of a concrete TeHopAddressType + value must be accompanied by a definition + of a TEXTUAL-CONVENTION for use with that + TeHopAddress. + + To support future extensions, the TeHopAddressType + TEXTUAL-CONVENTION SHOULD NOT be sub-typed in + object type definitions. It MAY be sub-typed in + compliance statements in order to require only a + subset of these address types for a compliant + implementation. + + Implementations must ensure that TeHopAddressType + objects and any dependent objects + (e.g., TeHopAddress objects) are consistent. + An inconsistentValue error must be generated + if an attempt to change a TeHopAddressType + object would, for example, lead to an + undefined TeHopAddress value that is + not defined herein. In particular, + TeHopAddressType/TeHopAddress pairs + must be changed together if the address + type changes (e.g., from ipv6(2) to ipv4(1))."; + reference + "TEXTUAL-CONVENTIONs for Internet Network + Addresses, RFC3291. + + Constraint-Based LSP Setup using LDP, + [RFC3212]"; + } + + typedef TeHopAddress { + type binary { + length "0..32"; + } + description + "Denotes a generic Tunnel hop address, + that is, the address of a node which + an LSP traverses, including the source + and destination nodes. An address may be + very concrete, for example, an IPv4 host + address (i.e., with prefix length 32); + if this IPv4 address is an interface + address, then that particular interface + must be traversed. An address may also + specify an 'abstract node', for example, + an IPv4 address with prefix length + less than 32, in which case, the LSP + can traverse any node whose address + falls in that range. An address may + also specify an Autonomous System (AS), + in which case the LSP can traverse any + node that falls within that AS. + + A TeHopAddress value is always interpreted within + the context of an TeHopAddressType value. Every + usage of the TeHopAddress TEXTUAL-CONVENTION + is required to specify the TeHopAddressType object + which provides the context. It is suggested that + the TeHopAddressType object is logically registered + before the object(s) which use the TeHopAddress + TEXTUAL-CONVENTION if they appear in the + same logical row. + + The value of a TeHopAddress object must always be + consistent with the value of the associated + TeHopAddressType object. Attempts to set a + TeHopAddress object to a value which is + inconsistent with the associated TeHopAddressType + must fail with an inconsistentValue error."; + } + + typedef TeHopAddressAS { + type binary { + length "4"; + } + description + "Represents a two or four octet AS number. + The AS number is represented in network byte + order (MSB first). A two-octet AS number has + the two MSB octets set to zero."; + reference + "Textual Conventions for Internet Network + Addresses, [RFC3291]. The + InetAutonomousSystemsNumber TEXTUAL-CONVENTION + has a SYNTAX of Unsigned32, whereas this TC + has a SYNTAX of OCTET STRING (SIZE (4)). + Both TCs represent an autonomous system number + but use different syntaxes to do so."; + } + + typedef TeHopAddressUnnum { + type binary { + length "4"; + } + description + "Represents an unnumbered interface: + + octets contents encoding + 1-4 unnumbered interface network-byte order + + The corresponding TeHopAddressType value is + unnum(5)."; + } + + smiv2:alias "mplsStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166"; + } + + smiv2:alias "mplsTCStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-TE-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-TE-STD-MIB.yang new file mode 100644 index 000000000..ae8ae546b --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-TE-STD-MIB.yang @@ -0,0 +1,2145 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/MPLS-TE-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-TE-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-TE-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB"; + prefix MPLS-TE-STD-MIB; + + import DIFFSERV-MIB { + prefix "diffserv-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import MPLS-TC-STD-MIB { + prefix "mpls-tc"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Multiprotocol Label Switching (MPLS) Working Group"; + + contact + " Cheenu Srinivasan + Bloomberg L.P. + Email: cheenu@bloomberg.net + + Arun Viswanathan + Force10 Networks, Inc. + Email: arunv@force10networks.com + + Thomas D. Nadeau + Cisco Systems, Inc. + Email: tnadeau@cisco.com + + Comments about this document should be emailed + directly to the MPLS working group mailing list at + mpls@uu.net."; + + description + "Copyright (C) The Internet Society (2004). The + initial version of this MIB module was published + in RFC 3812. For full legal notices see the RFC + itself or see: http://www.ietf.org/copyrights/ianamib.html + + This MIB module contains managed object definitions + for MPLS Traffic Engineering (TE) as defined in: + 1. Extensions to RSVP for LSP Tunnels, Awduche et + al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002 + 3. Requirements for Traffic Engineering Over MPLS, + Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., + and J. McManus, [RFC2702], September 1999"; + + revision 2004-06-03 { + description + "Initial version issued as part of RFC 3812."; + } + + + container MPLS-TE-STD-MIB { + config false; + + container mplsTeScalars { + smiv2:oid "1.3.6.1.2.1.10.166.3.1"; + + leaf mplsTunnelConfigured { + type uint32; + description + "The number of tunnels configured on this device. A + tunnel is considered configured if the + mplsTunnelRowStatus is active(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.1.1"; + } + + leaf mplsTunnelActive { + type uint32; + description + "The number of tunnels active on this device. A + tunnel is considered active if the + mplsTunnelOperStatus is up(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.1.2"; + } + + leaf mplsTunnelTEDistProto { + type bits { + bit other { + position "0"; + } + bit ospf { + position "1"; + } + bit isis { + position "2"; + } + } + description + "The traffic engineering distribution protocol(s) + used by this LSR. Note that an LSR may support more + than one distribution protocol simultaneously."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.1.3"; + } + + leaf mplsTunnelMaxHops { + type uint32; + description + "The maximum number of hops that can be specified for + a tunnel on this device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.1.4"; + } + + leaf mplsTunnelNotificationMaxRate { + type uint32; + description + "This variable indicates the maximum number of + notifications issued per second. If events occur + more rapidly, the implementation may simply fail to + emit these notifications during that period, or may + queue them until an appropriate time. A value of 0 + means no throttling is applied and events may be + notified at the rate at which they occur."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.1.5"; + } + } + + container mplsTeObjects { + smiv2:oid "1.3.6.1.2.1.10.166.3.2"; + + leaf mplsTunnelIndexNext { + type diffserv-mib:IndexIntegerNextFree { + range "0..65535"; + } + description + "This object contains an unused value for + mplsTunnelIndex, or a zero to indicate + that none exist. Negative values are not allowed, + as they do not correspond to valid values of + mplsTunnelIndex. + + Note that this object offers an unused value + for an mplsTunnelIndex value at the ingress + side of a tunnel. At other LSRs the value + of mplsTunnelIndex SHOULD be taken from the + value signaled by the MPLS signaling protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.1"; + } + + leaf mplsTunnelHopListIndexNext { + type mpls-tc:MplsPathIndexOrZero; + description + "This object contains an appropriate value to be used + for mplsTunnelHopListIndex when creating entries in + the mplsTunnelHopTable. If the number of + unassigned entries is exhausted, a retrieval + operation will return a value of 0. This object + may also return a value of 0 when the LSR is unable + to accept conceptual row creation, for example, if + the mplsTunnelHopTable is implemented as read-only. + To obtain the value of mplsTunnelHopListIndex for a + new entry in the mplsTunnelHopTable, the manager + issues a management protocol retrieval operation to + obtain the current value of mplsTunnelHopIndex. + + When the SET is performed to create a row in the + mplsTunnelHopTable, the Command Responder (agent) + must determine whether the value is indeed still + unused; Two Network Management Applications may + attempt to create a row (configuration entry) + simultaneously and use the same value. If it is + currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, + according to an implementation-specific algorithm. + If the value is in use, however, the SET fails. The + Network Management Application must then re-read + this variable to obtain a new usable value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.3"; + } + + leaf mplsTunnelResourceIndexNext { + type uint32 { + range "0..2147483647"; + } + description + "This object contains the next appropriate value to + be used for mplsTunnelResourceIndex when creating + entries in the mplsTunnelResourceTable. If the + number of unassigned entries is exhausted, a + retrieval operation will return a value of 0. This + object may also return a value of 0 when the LSR is + unable to accept conceptual row creation, for + example, if the mplsTunnelTable is implemented as + read-only. To obtain the mplsTunnelResourceIndex + value for a new entry, the manager must first issue + a management protocol retrieval operation to obtain + the current value of this object. + + When the SET is performed to create a row in the + mplsTunnelResourceTable, the Command Responder + (agent) must determine whether the value is indeed + still unused; Two Network Management Applications + may attempt to create a row (configuration entry) + simultaneously and use the same value. If it is + currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, + according to an implementation-specific algorithm. + If the value is in use, however, the SET fails. The + Network Management Application must then re-read + this variable to obtain a new usable value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.5"; + } + + leaf mplsTunnelNotificationEnable { + type boolean; + description + "If this object is true, then it enables the + generation of mplsTunnelUp and mplsTunnelDown + traps, otherwise these traps are not emitted."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.11"; + } + } + + container mplsTunnelTable { + description + "The mplsTunnelTable allows new MPLS tunnels to be + created between an LSR and a remote endpoint, and + existing tunnels to be reconfigured or removed. + Note that only point-to-point tunnel segments are + supported, although multipoint-to-point and point- + to-multipoint connections are supported by an LSR + acting as a cross-connect. Each MPLS tunnel can + thus have one out-segment originating at this LSR + and/or one in-segment terminating at this LSR."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2"; + + list mplsTunnelEntry { + key "mplsTunnelIndex mplsTunnelInstance mplsTunnelIngressLSRId mplsTunnelEgressLSRId"; + description + "An entry in this table represents an MPLS tunnel. + An entry can be created by a network administrator + or by an SNMP agent as instructed by an MPLS + signalling protocol. Whenever a new entry is + created with mplsTunnelIsIf set to true(1), then a + corresponding entry is created in ifTable as well + (see RFC 2863). The ifType of this entry is + mplsTunnel(150). + + A tunnel entry needs to be uniquely identified across + a MPLS network. Indices mplsTunnelIndex and + mplsTunnelInstance uniquely identify a tunnel on + the LSR originating the tunnel. To uniquely + identify a tunnel across an MPLS network requires + index mplsTunnelIngressLSRId. The last index + mplsTunnelEgressLSRId is useful in identifying all + instances of a tunnel that terminate on the same + egress LSR."; + reference + "1. RFC 2863 - The Interfaces Group MIB, McCloghrie, + K., and F. Kastenholtz, June 2000 "; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1"; + + leaf mplsTunnelIndex { + type mpls-tc:MplsTunnelIndex; + description + "Uniquely identifies a set of tunnel instances + between a pair of ingress and egress LSRs. + Managers should obtain new values for row + creation in this table by reading + mplsTunnelIndexNext. When + the MPLS signalling protocol is rsvp(2) this value + SHOULD be equal to the value signaled in the + Tunnel Id of the Session object. When the MPLS + signalling protocol is crldp(3) this value + SHOULD be equal to the value signaled in the + LSP ID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.1"; + } + + leaf mplsTunnelInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Uniquely identifies a particular instance of a + tunnel between a pair of ingress and egress LSRs. + It is useful to identify multiple instances of + tunnels for the purposes of backup and parallel + tunnels. When the MPLS signaling protocol is + rsvp(2) this value SHOULD be equal to the LSP Id + of the Sender Template object. When the signaling + protocol is crldp(3) there is no equivalent + signaling object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.2"; + } + + leaf mplsTunnelIngressLSRId { + type mpls-tc:MplsExtendedTunnelId; + description + "Identity of the ingress LSR associated with this + tunnel instance. When the MPLS signalling protocol + is rsvp(2) this value SHOULD be equal to the Tunnel + Sender Address in the Sender Template object and MAY + be equal to the Extended Tunnel Id field in the + SESSION object. When the MPLS signalling protocol is + crldp(3) this value SHOULD be equal to the Ingress + LSR Router ID field in the LSPID TLV object."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.3"; + } + + leaf mplsTunnelEgressLSRId { + type mpls-tc:MplsExtendedTunnelId; + description + "Identity of the egress LSR associated with this + tunnel instance."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.4"; + } + + leaf mplsTunnelName { + type snmp-framework:SnmpAdminString; + description + "The canonical name assigned to the tunnel. This name + can be used to refer to the tunnel on the LSR's + console port. If mplsTunnelIsIf is set to true + then the ifName of the interface corresponding to + this tunnel should have a value equal to + mplsTunnelName. Also see the description of ifName + in RFC 2863."; + reference + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000"; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.5"; + } + + leaf mplsTunnelDescr { + type snmp-framework:SnmpAdminString; + description + "A textual string containing information about the + tunnel. If there is no description this object + contains a zero length string. This object is may + not be signaled by MPLS signaling protocols, + consequentally the value of this object at transit + and egress LSRs MAY be automatically generated or + absent."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.6"; + } + + leaf mplsTunnelIsIf { + type boolean; + description + "Denotes whether or not this tunnel corresponds to an + interface represented in the interfaces group + table. Note that if this variable is set to true + then the ifName of the interface corresponding to + this tunnel should have a value equal to + mplsTunnelName. Also see the description of ifName + in RFC 2863. This object is meaningful only at the + ingress and egress LSRs."; + reference + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.7"; + } + + leaf mplsTunnelIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "If mplsTunnelIsIf is set to true, then this value + contains the LSR-assigned ifIndex which corresponds + to an entry in the interfaces table. Otherwise + this variable should contain the value of zero + indicating that a valid ifIndex was not assigned to + this tunnel interface."; + reference + "RFC 2863 - The Interfaces Group MIB, McCloghrie, K., + and F. Kastenholtz, June 2000"; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.8"; + } + + leaf mplsTunnelOwner { + type mpls-tc:MplsOwner; + description + "Denotes the entity that created and is responsible + for managing this tunnel. This column is + automatically filled by the agent on creation of a + row."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.9"; + } + + leaf mplsTunnelRole { + type enumeration { + enum "head" { + value "1"; + } + enum "transit" { + value "2"; + } + enum "tail" { + value "3"; + } + enum "headTail" { + value "4"; + } + } + description + "This value signifies the role that this tunnel + entry/instance represents. This value MUST be set + to head(1) at the originating point of the tunnel. + This value MUST be set to transit(2) at transit + points along the tunnel, if transit points are + supported. This value MUST be set to tail(3) at the + terminating point of the tunnel if tunnel tails are + supported. + + The value headTail(4) is provided for tunnels that + begin and end on the same LSR."; + smiv2:defval "head"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.10"; + } + + leaf mplsTunnelXCPointer { + type snmpv2-tc:RowPointer; + description + "This variable points to a row in the mplsXCTable. + This table identifies the segments that compose + this tunnel, their characteristics, and + relationships to each other. A value of zeroDotZero + indicates that no LSP has been associated with this + tunnel yet."; + reference + "Srinivasan, C., Viswanathan, A., and T. Nadeau, + Multiprotocol Label Switching (MPLS) Label Switching + Router (LSR) Management Information Base (MIB), RFC 3813, + June 2004"; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.11"; + } + + leaf mplsTunnelSignallingProto { + type enumeration { + enum "none" { + value "1"; + } + enum "rsvp" { + value "2"; + } + enum "crldp" { + value "3"; + } + enum "other" { + value "4"; + } + } + description + "The signalling protocol, if any, used to setup this + tunnel."; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.12"; + } + + leaf mplsTunnelSetupPrio { + type int32 { + range "0..7"; + } + description + "Indicates the setup priority of this tunnel."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.13"; + } + + leaf mplsTunnelHoldingPrio { + type int32 { + range "0..7"; + } + description + "Indicates the holding priority for this tunnel."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001 + + 2. Constraint-Based LSP Setup using LDP, Jamoussi + (Editor), RFC 3212, January 2002"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.14"; + } + + leaf mplsTunnelSessionAttributes { + type bits { + bit fastReroute { + position "0"; + } + bit mergingPermitted { + position "1"; + } + bit isPersistent { + position "2"; + } + bit isPinned { + position "3"; + } + bit recordRoute { + position "4"; + } + } + description + "This bit mask indicates optional session values for + this tunnel. The following describes these bit + fields: + + fastRerouteThis flag indicates that the any tunnel + hop may choose to reroute this tunnel without + tearing it down. This flag permits transit routers + to use a local repair mechanism which may result in + violation of the explicit routing of this tunnel. + When a fault is detected on an adjacent downstream + link or node, a transit router can re-route traffic + for fast service restoration. + + mergingPermitted This flag permits transit routers + to merge this session with other RSVP sessions for + the purpose of reducing resource overhead on + downstream transit routers, thereby providing + better network scaling. + + isPersistent Indicates whether this tunnel should + be restored automatically after a failure occurs. + + isPinned This flag indicates whether the loose- + routed hops of this tunnel are to be pinned. + + recordRouteThis flag indicates whether or not the + signalling protocol should remember the tunnel path + after it has been signaled."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.15"; + } + + leaf mplsTunnelLocalProtectInUse { + type boolean; + description + "Indicates that the local repair mechanism is in use + to maintain this tunnel (usually in the face of an + outage of the link it was previously routed over)."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.16"; + } + + leaf mplsTunnelResourcePointer { + type snmpv2-tc:RowPointer; + description + "This variable represents a pointer to the traffic + parameter specification for this tunnel. This + value may point at an entry in the + mplsTunnelResourceEntry to indicate which + mplsTunnelResourceEntry is to be assigned to this + LSP instance. This value may optionally point at + an externally defined traffic parameter + specification table. A value of zeroDotZero + indicates best-effort treatment. By having the + same value of this object, two or more LSPs can + indicate resource sharing."; + smiv2:defval "zeroDotZero"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.17"; + } + + leaf mplsTunnelPrimaryInstance { + type mpls-tc:MplsTunnelInstanceIndex; + description + "Specifies the instance index of the primary instance + of this tunnel. More details of the definition of + tunnel instances and the primary tunnel instance + can be found in the description of the TEXTUAL-CONVENTION + MplsTunnelInstanceIndex."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.18"; + } + + leaf mplsTunnelInstancePriority { + type uint32; + description + "This value indicates which priority, in descending + order, with 0 indicating the lowest priority, + within a group of tunnel instances. A group of + tunnel instances is defined as a set of LSPs with + the same mplsTunnelIndex in this table, but with a + different mplsTunnelInstance. Tunnel instance + priorities are used to denote the priority at which + a particular tunnel instance will supercede + another. Instances of tunnels containing the same + mplsTunnelInstancePriority will be used for load + sharing."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.19"; + } + + leaf mplsTunnelHopTableIndex { + type mpls-tc:MplsPathIndexOrZero; + description + "Index into the mplsTunnelHopTable entry that + specifies the explicit route hops for this tunnel. + This object is meaningful only at the head-end of + the tunnel."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.20"; + } + + leaf mplsTunnelPathInUse { + type mpls-tc:MplsPathIndexOrZero; + description + "This value denotes the configured path that was + chosen for this tunnel. This value reflects the + secondary index into mplsTunnelHopTable. This path + may not exactly match the one in + mplsTunnelARHopTable due to the fact that some CSPF + modification may have taken place. See + mplsTunnelARHopTable for the actual path being + taken by the tunnel. A value of zero denotes that + no path is currently in use or available."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.21"; + } + + leaf mplsTunnelARHopTableIndex { + type mpls-tc:MplsPathIndexOrZero; + description + "Index into the mplsTunnelARHopTable entry that + specifies the actual hops traversed by the tunnel. + This is automatically updated by the agent when the + actual hops becomes available."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.22"; + } + + leaf mplsTunnelCHopTableIndex { + type mpls-tc:MplsPathIndexOrZero; + description + "Index into the mplsTunnelCHopTable entry that + specifies the computed hops traversed by the + tunnel. This is automatically updated by the agent + when computed hops become available or when + computed hops get modified."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.23"; + } + + leaf mplsTunnelIncludeAnyAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the include-any constraint if and + only if the constraint is zero, or the link and the + constraint have a resource class in common."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.24"; + } + + leaf mplsTunnelIncludeAllAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the include-all constraint if and + only if the link contains all of the administrative + groups specified in the constraint."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.25"; + } + + leaf mplsTunnelExcludeAnyAffinity { + type mpls-tc:MplsTunnelAffinity; + description + "A link satisfies the exclude-any constraint if and + only if the link contains none of the + administrative groups specified in the constraint."; + reference + "1. RSVP-TE: Extensions to RSVP for LSP Tunnels, + Awduche et al, RFC 3209, December 2001."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.26"; + } + + leaf mplsTunnelTotalUpTime { + type yang:timeticks; + description + "This value represents the aggregate up time for all + instances of this tunnel, if available. If this + value is unavailable, it MUST return a value of 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.27"; + } + + leaf mplsTunnelInstanceUpTime { + type yang:timeticks; + description + "This value identifies the total time that this + tunnel instance's operStatus has been Up(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.28"; + } + + leaf mplsTunnelPrimaryUpTime { + type yang:timeticks; + description + "Specifies the total time the primary instance of + this tunnel has been active. The primary instance + of this tunnel is defined in + mplsTunnelPrimaryInstance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.29"; + } + + leaf mplsTunnelPathChanges { + type yang:counter32; + description + "Specifies the number of times the actual path for + this tunnel instance has changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.30"; + } + + leaf mplsTunnelLastPathChange { + type yang:timeticks; + description + "Specifies the time since the last change to the + actual path for this tunnel instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.31"; + } + + leaf mplsTunnelCreationTime { + type yang:timestamp; + description + "Specifies the value of SysUpTime when the first + instance of this tunnel came into existence. + That is, when the value of mplsTunnelOperStatus + was first set to up(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.32"; + } + + leaf mplsTunnelStateTransitions { + type yang:counter32; + description + "Specifies the number of times the state + (mplsTunnelOperStatus) of this tunnel instance has + changed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.33"; + } + + leaf mplsTunnelAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "Indicates the desired operational status of this + tunnel."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.34"; + } + + leaf mplsTunnelOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + enum "unknown" { + value "4"; + } + enum "dormant" { + value "5"; + } + enum "notPresent" { + value "6"; + } + enum "lowerLayerDown" { + value "7"; + } + } + description + "Indicates the actual operational status of this + tunnel, which is typically but not limited to, a + function of the state of individual segments of + this tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.35"; + } + + leaf mplsTunnelRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelAdminStatus, mplsTunnelRowStatus and + mplsTunnelStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.36"; + } + + leaf mplsTunnelStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this tunnel entry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.2.1.37"; + } + } + } + + container mplsTunnelHopTable { + description + "The mplsTunnelHopTable is used to indicate the hops, + strict or loose, for an instance of an MPLS tunnel + defined in mplsTunnelTable, when it is established + via signalling, for the outgoing direction of the + tunnel. Thus at a transit LSR, this table contains + the desired path of the tunnel from this LSR + onwards. Each row in this table is indexed by + mplsTunnelHopListIndex which corresponds to a group + of hop lists or path options. Each row also has a + secondary index mplsTunnelHopIndex, which indicates + a group of hops (also known as a path option). + Finally, the third index, mplsTunnelHopIndex + indicates the specific hop information for a path + option. In case we want to specify a particular + interface on the originating LSR of an outgoing + tunnel by which we want packets to exit the LSR, + we specify this as the first hop for this tunnel in + mplsTunnelHopTable."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4"; + + list mplsTunnelHopEntry { + key "mplsTunnelHopListIndex mplsTunnelHopPathOptionIndex mplsTunnelHopIndex"; + description + "An entry in this table represents a tunnel hop. An + entry is created by a network administrator for + signaled ERLSP set up by an MPLS signalling + protocol."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1"; + + leaf mplsTunnelHopListIndex { + type mpls-tc:MplsPathIndex; + description + "Primary index into this table identifying a + particular explicit route object."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.1"; + } + + leaf mplsTunnelHopPathOptionIndex { + type mpls-tc:MplsPathIndex; + description + "Secondary index into this table identifying a + particular group of hops representing a particular + configured path. This is otherwise known as a path + option."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.2"; + } + + leaf mplsTunnelHopIndex { + type mpls-tc:MplsPathIndex; + description + "Tertiary index into this table identifying a + particular hop."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.3"; + } + + leaf mplsTunnelHopAddrType { + type mpls-tc:TeHopAddressType; + description + "The Hop Address Type of this tunnel hop. + + The value of this object cannot be changed + if the value of the corresponding + mplsTunnelHopRowStatus object is 'active'. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP."; + smiv2:defval "ipv4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.4"; + } + + leaf mplsTunnelHopIpAddr { + type mpls-tc:TeHopAddress; + description + "The Tunnel Hop Address for this tunnel hop. + + The type of this address is determined by the + value of the corresponding mplsTunnelHopAddrType. + + The value of this object cannot be changed + if the value of the corresponding + mplsTunnelHopRowStatus object is 'active'."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.5"; + } + + leaf mplsTunnelHopIpPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "If mplsTunnelHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelHopIpAddr. Otherwise this value + is irrelevant and should be ignored."; + smiv2:defval "32"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.6"; + } + + leaf mplsTunnelHopAsNumber { + type mpls-tc:TeHopAddressAS; + description + "If mplsTunnelHopAddrType is set to asnumber(3), then + this value will contain the AS number of this hop. + Otherwise the agent should set this object to zero- + length string and the manager should ignore this."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.7"; + } + + leaf mplsTunnelHopAddrUnnum { + type mpls-tc:TeHopAddressUnnum; + description + "If mplsTunnelHopAddrType is set to unnum(4), then + this value will contain the interface identifier of + the unnumbered interface for this hop. This object + should be used in conjunction with + mplsTunnelHopIpAddress which would contain the LSR + Router ID in this case. Otherwise the agent should + set this object to zero-length string and the + manager should ignore this."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.8"; + } + + leaf mplsTunnelHopLspId { + type mpls-tc:MplsLSPID; + description + "If mplsTunnelHopAddrType is set to lspid(5), then + this value will contain the LSPID of a tunnel of + this hop. The present tunnel being configured is + tunneled through this hop (using label stacking). + This object is otherwise insignificant and should + contain a value of 0 to indicate this fact."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.9"; + } + + leaf mplsTunnelHopType { + type enumeration { + enum "strict" { + value "1"; + } + enum "loose" { + value "2"; + } + } + description + "Denotes whether this tunnel hop is routed in a + strict or loose fashion. The value of this object + has no meaning if the mplsTunnelHopInclude object + is set to 'false'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.10"; + } + + leaf mplsTunnelHopInclude { + type boolean; + description + "If this value is set to true, then this indicates + that this hop must be included in the tunnel's + path. If this value is set to 'false', then this hop + must be avoided when calculating the path for this + tunnel. The default value of this object is 'true', + so that by default all indicated hops are included + in the CSPF path computation. If this object is set + to 'false' the value of mplsTunnelHopType should be + ignored."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.11"; + } + + leaf mplsTunnelHopPathOptionName { + type snmp-framework:SnmpAdminString; + description + "The description of this series of hops as they + relate to the specified path option. The + value of this object SHOULD be the same for + each hop in the series that comprises a + path option."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.12"; + } + + leaf mplsTunnelHopEntryPathComp { + type enumeration { + enum "dynamic" { + value "1"; + } + enum "explicit" { + value "2"; + } + } + description + "If this value is set to dynamic, then the user + should only specify the source and destination of + the path and expect that the CSPF will calculate + the remainder of the path. If this value is set to + explicit, the user should specify the entire path + for the tunnel to take. This path may contain + strict or loose hops. Each hop along a specific + path SHOULD have this object set to the same value"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.13"; + } + + leaf mplsTunnelHopRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelHopRowStatus and + mplsTunnelHopStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.14"; + } + + leaf mplsTunnelHopStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this Hop entry. Conceptual + rows having the value 'permanent' need not + allow write-access to any columnar objects + in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.4.1.15"; + } + } + } + + container mplsTunnelResourceTable { + description + "The mplsTunnelResourceTable allows a manager to + specify which resources are desired for an MPLS + tunnel. This table also allows several tunnels to + point to a single entry in this table, implying + that these tunnels should share resources."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6"; + + list mplsTunnelResourceEntry { + key "mplsTunnelResourceIndex"; + description + "An entry in this table represents a set of resources + for an MPLS tunnel. An entry can be created by a + network administrator or by an SNMP agent as + instructed by any MPLS signalling protocol. + An entry in this table referenced by a tunnel instance + with zero mplsTunnelInstance value indicates a + configured set of resource parameter. An entry + referenced by a tunnel instance with a non-zero + mplsTunnelInstance reflects the in-use resource + parameters for the tunnel instance which may have + been negotiated or modified by the MPLS signaling + protocols."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1"; + + leaf mplsTunnelResourceIndex { + type uint32 { + range "1..2147483647"; + } + description + "Uniquely identifies this row."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.1"; + } + + leaf mplsTunnelResourceMaxRate { + type mpls-tc:MplsBitRate; + units "kilobits per second"; + description + "The maximum rate in bits/second. Note that setting + mplsTunnelResourceMaxRate, + mplsTunnelResourceMeanRate, and + mplsTunnelResourceMaxBurstSize to 0 indicates best- + effort treatment."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.2"; + } + + leaf mplsTunnelResourceMeanRate { + type mpls-tc:MplsBitRate; + units "kilobits per second"; + description + "This object is copied into an instance of + mplsTrafficParamMeanRate in the + mplsTrafficParamTable. The OID of this table entry + is then copied into the corresponding + mplsInSegmentTrafficParamPtr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.3"; + } + + leaf mplsTunnelResourceMaxBurstSize { + type mpls-tc:MplsBurstSize; + units "bytes"; + description + "The maximum burst size in bytes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.4"; + } + + leaf mplsTunnelResourceMeanBurstSize { + type mpls-tc:MplsBurstSize; + units "bytes"; + description + "The mean burst size in bytes. The implementations + which do not implement this variable must return + a noSuchObject exception for this object and must + not allow a user to set this object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.5"; + } + + leaf mplsTunnelResourceExBurstSize { + type mpls-tc:MplsBurstSize; + units "bytes"; + description + "The Excess burst size in bytes. The implementations + which do not implement this variable must return + noSuchObject exception for this object and must + not allow a user to set this value."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.6"; + } + + leaf mplsTunnelResourceFrequency { + type enumeration { + enum "unspecified" { + value "1"; + } + enum "frequent" { + value "2"; + } + enum "veryFrequent" { + value "3"; + } + } + description + "The granularity of the availability of committed + rate. The implementations which do not implement + this variable must return unspecified(1) for this + value and must not allow a user to set this value."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.7"; + } + + leaf mplsTunnelResourceWeight { + type uint32 { + range "0..255"; + } + description + "The relative weight for using excess bandwidth above + its committed rate. The value of 0 means that + weight is not applicable for the CR-LSP."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.8"; + } + + leaf mplsTunnelResourceRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelResourceRowStatus and + mplsTunnelResourceStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.9"; + } + + leaf mplsTunnelResourceStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this Hop entry. Conceptual + rows having the value 'permanent' need not + allow write-access to any columnar objects + in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.6.1.10"; + } + } + } + + container mplsTunnelARHopTable { + description + "The mplsTunnelARHopTable is used to indicate the + hops for an MPLS tunnel defined in mplsTunnelTable, + as reported by the MPLS signalling protocol. Thus at + a transit LSR, this table (if the table is supported + and if the signaling protocol is recording actual + route information) contains the actual route of the + whole tunnel. If the signaling protocol is not + recording the actual route, this table MAY report + the information from the mplsTunnelHopTable or the + mplsTunnelCHopTable. + + Each row in this table is indexed by + mplsTunnelARHopListIndex. Each row also has a + secondary index mplsTunnelARHopIndex, corresponding + to the next hop that this row corresponds to. + + Please note that since the information necessary to + build entries within this table is not provided by + some MPLS signalling protocols, implementation of + this table is optional. Furthermore, since the + information in this table is actually provided by + the MPLS signalling protocol after the path has + been set-up, the entries in this table are provided + only for observation, and hence, all variables in + this table are accessible exclusively as read- + only. + + Note also that the contents of this table may change + while it is being read because of re-routing + activities. A network administrator may verify that + the actual route read is consistent by reference to + the mplsTunnelLastPathChange object."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7"; + + list mplsTunnelARHopEntry { + key "mplsTunnelARHopListIndex mplsTunnelARHopIndex"; + description + "An entry in this table represents a tunnel hop. An + entry is created by the agent for signaled ERLSP + set up by an MPLS signalling protocol."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1"; + + leaf mplsTunnelARHopListIndex { + type mpls-tc:MplsPathIndex; + description + "Primary index into this table identifying a + particular recorded hop list."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.1"; + } + + leaf mplsTunnelARHopIndex { + type mpls-tc:MplsPathIndex; + description + "Secondary index into this table identifying the + particular hop."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.2"; + } + + leaf mplsTunnelARHopAddrType { + type mpls-tc:TeHopAddressType; + description + "The Hop Address Type of this tunnel hop. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP."; + smiv2:defval "ipv4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.3"; + } + + leaf mplsTunnelARHopIpAddr { + type mpls-tc:TeHopAddress; + description + "The Tunnel Hop Address for this tunnel hop. + + The type of this address is determined by the + value of the corresponding mplsTunnelARHopAddrType. + If mplsTunnelARHopAddrType is set to unnum(4), + then this value contains the LSR Router ID of the + unnumbered interface. Otherwise the agent SHOULD + set this object to the zero-length string and the + manager should ignore this object."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.4"; + } + + leaf mplsTunnelARHopAddrUnnum { + type mpls-tc:TeHopAddressUnnum; + description + "If mplsTunnelARHopAddrType is set to unnum(4), then + this value will contain the interface identifier of + the unnumbered interface for this hop. This object + should be used in conjunction with + mplsTunnelARHopIpAddr which would contain the LSR + Router ID in this case. Otherwise the agent should + set this object to zero-length string and the + manager should ignore this."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.5"; + } + + leaf mplsTunnelARHopLspId { + type mpls-tc:MplsLSPID; + description + "If mplsTunnelARHopAddrType is set to lspid(5), then + this value will contain the LSP ID of this hop. + This object is otherwise insignificant and should + contain a value of 0 to indicate this fact."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.7.1.6"; + } + } + } + + container mplsTunnelCHopTable { + description + "The mplsTunnelCHopTable is used to indicate the + hops, strict or loose, for an MPLS tunnel defined + in mplsTunnelTable, as computed by a constraint- + based routing protocol, based on the + mplsTunnelHopTable for the outgoing direction of + the tunnel. Thus at a transit LSR, this table (if + the table is supported) MAY contain the path + computed by the CSPF engine on (or on behalf of) + this LSR. Each row in this table is indexed by + mplsTunnelCHopListIndex. Each row also has a + secondary index mplsTunnelCHopIndex, corresponding + to the next hop that this row corresponds to. In + case we want to specify a particular interface on + the originating LSR of an outgoing tunnel by which + we want packets to exit the LSR, we specify this as + the first hop for this tunnel in + mplsTunnelCHopTable. + + Please note that since the information necessary to + build entries within this table may not be + supported by some LSRs, implementation of this + table is optional. Furthermore, since the + information in this table describes the path + computed by the CSPF engine the entries in this + table are read-only."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8"; + + list mplsTunnelCHopEntry { + key "mplsTunnelCHopListIndex mplsTunnelCHopIndex"; + description + "An entry in this table represents a tunnel hop. An + entry in this table is created by a path + computation engine using CSPF techniques applied to + the information collected by routing protocols and + the hops specified in the corresponding + mplsTunnelHopTable."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1"; + + leaf mplsTunnelCHopListIndex { + type mpls-tc:MplsPathIndex; + description + "Primary index into this table identifying a + particular computed hop list."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.1"; + } + + leaf mplsTunnelCHopIndex { + type mpls-tc:MplsPathIndex; + description + "Secondary index into this table identifying the + particular hop."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.2"; + } + + leaf mplsTunnelCHopAddrType { + type mpls-tc:TeHopAddressType; + description + "The Hop Address Type of this tunnel hop. + + Note that lspid(5) is a valid option only + for tunnels signaled via CRLDP."; + smiv2:defval "ipv4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.3"; + } + + leaf mplsTunnelCHopIpAddr { + type mpls-tc:TeHopAddress; + description + "The Tunnel Hop Address for this tunnel hop. + The type of this address is determined by the + value of the corresponding mplsTunnelCHopAddrType. + + If mplsTunnelCHopAddrType is set to unnum(4), then + this value will contain the LSR Router ID of the + unnumbered interface. Otherwise the agent should + set this object to the zero-length string and the + manager SHOULD ignore this object."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.4"; + } + + leaf mplsTunnelCHopIpPrefixLen { + type inet-address:InetAddressPrefixLength; + description + "If mplsTunnelCHopAddrType is set to ipv4(1) or + ipv6(2), then this value will contain an + appropriate prefix length for the IP address in + object mplsTunnelCHopIpAddr. Otherwise this value + is irrelevant and should be ignored."; + smiv2:defval "32"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.5"; + } + + leaf mplsTunnelCHopAsNumber { + type mpls-tc:TeHopAddressAS; + description + "If mplsTunnelCHopAddrType is set to asnumber(3), + then this value will contain the AS number of this + hop. Otherwise the agent should set this object to + zero-length string and the manager should ignore + this."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.6"; + } + + leaf mplsTunnelCHopAddrUnnum { + type mpls-tc:TeHopAddressUnnum; + description + "If mplsTunnelCHopAddrType is set to unnum(4), then + this value will contain the unnumbered interface + identifier of this hop. This object should be used + in conjunction with mplsTunnelCHopIpAddr which + would contain the LSR Router ID in this case. + Otherwise the agent should set this object to zero- + length string and the manager should ignore this."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.7"; + } + + leaf mplsTunnelCHopLspId { + type mpls-tc:MplsLSPID; + description + "If mplsTunnelCHopAddrType is set to lspid(5), then + this value will contain the LSP ID of this hop. + This object is otherwise insignificant and should + contain a value of 0 to indicate this fact."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.8"; + } + + leaf mplsTunnelCHopType { + type enumeration { + enum "strict" { + value "1"; + } + enum "loose" { + value "2"; + } + } + description + "Denotes whether this is tunnel hop is routed in a + strict or loose fashion."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.8.1.9"; + } + } + } + + container mplsTunnelCRLDPResTable { + description + "The mplsTunnelCRLDPResTable allows a manager to + specify which CR-LDP-specific resources are desired + for an MPLS tunnel if that tunnel is signaled using + CR-LDP. Note that these attributes are in addition + to those specified in mplsTunnelResourceTable. This + table also allows several tunnels to point to a + single entry in this table, implying that these + tunnels should share resources."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10"; + + list mplsTunnelCRLDPResEntry { + key "mplsTunnelResourceIndex"; + description + "An entry in this table represents a set of resources + for an MPLS tunnel established using CRLDP + (mplsTunnelSignallingProto equal to crldp (3)). An + entry can be created by a network administrator or + by an SNMP agent as instructed by any MPLS + signalling protocol."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1"; + + leaf mplsTunnelResourceIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelResourceTable/MPLS-TE-STD-MIB:mplsTunnelResourceEntry/MPLS-TE-STD-MIB:mplsTunnelResourceIndex"; + } + } + + leaf mplsTunnelCRLDPResMeanBurstSize { + type mpls-tc:MplsBurstSize; + units "bytes"; + description + "The mean burst size in bytes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.1"; + } + + leaf mplsTunnelCRLDPResExBurstSize { + type mpls-tc:MplsBurstSize; + units "bytes"; + description + "The Excess burst size in bytes."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.2"; + } + + leaf mplsTunnelCRLDPResFrequency { + type enumeration { + enum "unspecified" { + value "1"; + } + enum "frequent" { + value "2"; + } + enum "veryFrequent" { + value "3"; + } + } + description + "The granularity of the availability of committed + rate."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.3"; + } + + leaf mplsTunnelCRLDPResWeight { + type uint32 { + range "0..255"; + } + description + "The relative weight for using excess bandwidth above + its committed rate. The value of 0 means that + weight is not applicable for the CR-LSP."; + reference + "CR-LDP Specification, Section 4.3."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.4"; + } + + leaf mplsTunnelCRLDPResFlags { + type uint32 { + range "0..63"; + } + description + "The value of the 1 byte Flags conveyed as part of + the traffic parameters during the establishment of + the CRLSP. The bits in this object are to be + interpreted as follows. + + +--+--+--+--+--+--+--+--+ + | Res |F6|F5|F4|F3|F2|F1| + +--+--+--+--+--+--+--+--+ + + Res - These bits are reserved. Zero on transmission. + Ignored on receipt. + F1 - Corresponds to the PDR. + F2 - Corresponds to the PBS. + F3 - Corresponds to the CDR. + F4 - Corresponds to the CBS. + F5 - Corresponds to the EBS. + F6 - Corresponds to the Weight. + + Each flag if is a Negotiable Flag corresponding to a + Traffic Parameter. The Negotiable Flag value zero + denotes Not Negotiable and value one denotes + Negotiable."; + reference + "1. Section 4.3, Constraint-Based LSP Setup using + LDP, Jamoussi (Editor), RFC 3212, January 2002"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.5"; + } + + leaf mplsTunnelCRLDPResRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table. When a row in this + table is in active(1) state, no objects in that row + can be modified by the agent except + mplsTunnelCRLDPResRowStatus and + mplsTunnelCRLDPResStorageType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.6"; + } + + leaf mplsTunnelCRLDPResStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this CR-LDP Resource entry. + Conceptual rows having the value 'permanent' + need not allow write-access to any columnar + objects in the row."; + smiv2:defval "volatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.10.1.7"; + } + } + } + } + + smiv2:alias "mplsTunnelPerfTable" { + description + "This table provides per-tunnel instance MPLS + performance information."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9"; + } + + smiv2:alias "mplsTunnelPerfEntry" { + description + "An entry in this table is created by the LSR for + every tunnel. Its is an extension to + mplsTunnelEntry."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1"; + } + + augment "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry" { + description + "An entry in this table is created by the LSR for + every tunnel. Its is an extension to + mplsTunnelEntry."; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1"; + + leaf mplsTunnelPerfPackets { + type yang:counter32; + description + "Number of packets forwarded by the tunnel. + This object should represents the 32-bit + value of the least significant part of the + 64-bit value if both mplsTunnelPerfHCPackets + is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1.1"; + } + + leaf mplsTunnelPerfHCPackets { + type yang:counter64; + description + "High capacity counter for number of packets + forwarded by the tunnel. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1.2"; + } + + leaf mplsTunnelPerfErrors { + type yang:counter32; + description + "Number of packets dropped because of errors or for + other reasons."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1.3"; + } + + leaf mplsTunnelPerfBytes { + type yang:counter32; + description + "Number of bytes forwarded by the tunnel. + This object should represents the 32-bit + value of the least significant part of the + 64-bit value if both mplsTunnelPerfHCBytes + is returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1.4"; + } + + leaf mplsTunnelPerfHCBytes { + type yang:counter64; + description + "High capacity counter for number of bytes forwarded + by the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.166.3.2.9.1.5"; + } + } + + notification mplsTunnelUp { + description + "This notification is generated when a + mplsTunnelOperStatus object for one of the + configured tunnels is about to leave the down state + and transition into some other state (but not into + the notPresent state). This other state is + indicated by the included value of + mplsTunnelOperStatus."; + smiv2:oid "1.3.6.1.2.1.10.166.3.0.1"; + + container object-1 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelAdminStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelAdminStatus"; + } + } + } + + container object-2 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelOperStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelOperStatus"; + } + } + } + } + + notification mplsTunnelDown { + description + "This notification is generated when a + mplsTunnelOperStatus object for one of the + configured tunnels is about to enter the down state + from some other state (but not from the notPresent + state). This other state is indicated by the + included value of mplsTunnelOperStatus."; + smiv2:oid "1.3.6.1.2.1.10.166.3.0.2"; + + container object-1 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelAdminStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelAdminStatus"; + } + } + } + + container object-2 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelOperStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelOperStatus"; + } + } + } + } + + notification mplsTunnelRerouted { + description + "This notification is generated when a tunnel is + rerouted. If the mplsTunnelARHopTable is used, then + this tunnel instance's entry in the + mplsTunnelARHopTable MAY contain the new path for + this tunnel some time after this trap is issued by + the agent."; + smiv2:oid "1.3.6.1.2.1.10.166.3.0.3"; + + container object-1 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelAdminStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelAdminStatus"; + } + } + } + + container object-2 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelOperStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelOperStatus"; + } + } + } + } + + notification mplsTunnelReoptimized { + description + "This notification is generated when a tunnel is + reoptimized. If the mplsTunnelARHopTable is used, + then this tunnel instance's entry in the + mplsTunnelARHopTable MAY contain the new path for + this tunnel some time after this trap is issued by + the agent."; + smiv2:oid "1.3.6.1.2.1.10.166.3.0.4"; + + container object-1 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelAdminStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelAdminStatus"; + } + } + } + + container object-2 { + + leaf mplsTunnelIndex { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIndex"; + } + } + + leaf mplsTunnelInstance { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelInstance"; + } + } + + leaf mplsTunnelIngressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelIngressLSRId"; + } + } + + leaf mplsTunnelEgressLSRId { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelEgressLSRId"; + } + } + + leaf mplsTunnelOperStatus { + type leafref { + path "/MPLS-TE-STD-MIB:MPLS-TE-STD-MIB/MPLS-TE-STD-MIB:mplsTunnelTable/MPLS-TE-STD-MIB:mplsTunnelEntry/MPLS-TE-STD-MIB:mplsTunnelOperStatus"; + } + } + } + } + + smiv2:alias "mplsTeStdMIB" { + smiv2:oid "1.3.6.1.2.1.10.166.3"; + } + + smiv2:alias "mplsTeNotifications" { + smiv2:oid "1.3.6.1.2.1.10.166.3.0"; + } + + smiv2:alias "mplsTeScalars" { + smiv2:oid "1.3.6.1.2.1.10.166.3.1"; + } + + smiv2:alias "mplsTeObjects" { + smiv2:oid "1.3.6.1.2.1.10.166.3.2"; + } + + smiv2:alias "mplsTeConformance" { + smiv2:oid "1.3.6.1.2.1.10.166.3.3"; + } + + smiv2:alias "mplsTeGroups" { + smiv2:oid "1.3.6.1.2.1.10.166.3.3.1"; + } + + smiv2:alias "mplsTeCompliances" { + smiv2:oid "1.3.6.1.2.1.10.166.3.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/MPLS-VPN-MIB.yang b/vendor/cisco/xe/17151/MIBS/MPLS-VPN-MIB.yang new file mode 100644 index 000000000..0c82ad722 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/MPLS-VPN-MIB.yang @@ -0,0 +1,1492 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/MPLS-VPN-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang MPLS-VPN-MIB + * + * Do not edit. Edit the source file instead! + */ + +module MPLS-VPN-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB"; + prefix MPLS-VPN-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Provider Provisioned Virtual Private + Networks Working Group."; + + contact + " Thomas D. Nadeau + tnadeau@cisco.com + + Luyuan Fang + luyuanfang@att.com + + Stephen Brannon + + Fabio M. Chiussi + fabio@bell-labs.com + + Joseph Dube + jdube@avici.com + + Martin Tatham + martin.tatham@bt.com + + Harmen van der Linde + hvdl@att.com + + Comments and discussion to ppvpn@ietf.org"; + + description + "This MIB contains managed object definitions for the + Multiprotocol Label Switching (MPLS)/Border Gateway + + + Protocol (BGP) Virtual Private Networks (VPNs) as + defined in : Rosen, E., Viswanathan, A., and R. + Callon, Multiprotocol Label Switching Architecture, + RFC3031, January 2001."; + + revision 2001-10-15 { + description + "Fixed compilation errors from last version. + + Changed mplsVpnInterfaceVpnRouteDistProtocol to be a BITS + structure to allow more than one to be selected. + + Changed mplsIfDown -> mplsVrfIfDown + Changed mplsIfUp -> mplsVrfIfUp"; + } + + revision 2001-10-05 { + description + "Added integer index and removed route distinguisher index + from mplsVpnVrfRouteTargetTable. + + Removed mplsVpn ifType; simply use mpls(166) ifType for + MPLS VPN-enabled interfaces instead. + + Removed interface and protocol-related objects from + mplsVpnVrfTable. + + Moved mplsVpnVrfConfMaxPossibleRoutes from + mplsVpnVrfTable to scalar object. + + Removed mplsVpnActiveVrfInterfaces scalar object. + Removed mplsVpnVrfUpTime object from mplsVpnVrfTable. + + Added MplsVpnVrfBgpNbrPrefixTable providing a linkage with + the bgp4PathAttrTable of the BGPv4 MIB."; + } + + revision 2001-07-17 { + description + "Removed mplsVpnVrfRouteTargetImport/Export from route target + table, and modified indexing to better reflect N <> R + distribution policy. Also added new object called + mplsVpnVrfRouteTargetType which denotes import/export + policy for the specified route target. + + Added mplsVpnInterfaceConfRowStatus which allows for + an interface to be associated with a VPN through SNMP + configuration. + + + Added VrfName to index of VrfInterfaceConfEntry which allows + interfaces to be associated with the appropriate VRF. + + Modified description of mplsVpnVrfConfMaxPossibleRoutes and + mplsVpnVrfConfMaxRoutes to allow for undetermined value. + + Removed 'both' enumerated value in mplsVpnVrfBgpNbrRole. + + Updated example to reflect these changes."; + } + + revision 2001-07-10 { + description + "Renamed mplsNumVrfSecViolationThreshExceeded to + mplsNumVrfSecIllegalLabelThreshExceeded, and removed + mplsVpnInterfaceConfIndex from varbind. + + Changed MplsVpnId TC from SnmpAdminString to OCTET STRING. + + Added mplsVpnVrfSecIllegalLabelRcvThresh to + mplsVpnVrfSecEntry. + + Changed duplicate mplsVpnVrfRouteTargetImport in + mplsVpnVrfRouteTargetEntry INDEX to + mplsVpnVrfRouteTargetExport."; + } + + revision 2001-06-19 { + description + "Fixed several compile errors."; + } + + revision 2001-05-30 { + description + "Updated most of document and MIB to reflect comments from WG."; + } + + revision 2000-09-30 { + description + "Initial draft version."; + } + + typedef MplsVpnId { + type binary { + length "0..31"; + } + description + "An identifier that is assigned to each MPLS/BGP VPN and + is used to uniquely identify it. This is assigned by the + system operator or NMS and SHOULD be unique throughout + + + the MPLS domain. If this is the case, then this identifier + can then be used at any LSR within a specific MPLS domain + to identify this MPLS/BGP VPN. It may also be possible to + preserve the uniqueness of this identifier across MPLS + domain boundaries, in which case this identifier can then + be used to uniquely identify MPLS/BGP VPNs on a more global + basis."; + reference + "RFC 2685 [VPN-RFC2685] Fox B., et al, 'Virtual Private + Networks Identifier', September 1999."; + } + + typedef MplsVpnRouteDistinguisher { + type binary { + length "0..256"; + } + description + "Syntax for a route distinguisher and route target."; + } + + + container MPLS-VPN-MIB { + config false; + + container mplsVpnScalars { + smiv2:oid "1.3.6.1.3.118.1.1"; + + leaf mplsVpnConfiguredVrfs { + type uint32; + description + "The number of VRFs which are configured on this node."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.1.1"; + } + + leaf mplsVpnActiveVrfs { + type uint32; + description + "The number of VRFs which are active on this node. + That is, those VRFs whose corresponding mplsVpnVrfOperStatus + object value is equal to operational (1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.1.2"; + } + + leaf mplsVpnConnectedInterfaces { + type uint32; + description + "Total number of interfaces connected to a VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.1.3"; + } + + leaf mplsVpnNotificationEnable { + type boolean; + description + "If this object is true, then it enables the + generation of all notifications defined in + this MIB."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.1.4"; + } + + leaf mplsVpnVrfConfMaxPossibleRoutes { + type uint32; + description + "Denotes maximum number of routes which the device + will allow all VRFs jointly to hold. If this value is + set to 0, this indicates that the device is + unable to determine the absolute maximum. In this + case, the configured maximum MAY not actually + be allowed by the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.1.5"; + } + } + + container mplsVpnInterfaceConfTable { + description + "This table specifies per-interface MPLS capability + and associated information."; + smiv2:oid "1.3.6.1.3.118.1.2.1"; + + list mplsVpnInterfaceConfEntry { + key "mplsVpnVrfName mplsVpnInterfaceConfIndex"; + description + "An entry in this table is created by an LSR for + every interface capable of supporting MPLS/BGP VPN. + + + Each entry in this table is meant to correspond to + an entry in the Interfaces Table."; + smiv2:oid "1.3.6.1.3.118.1.2.1.1"; + + leaf mplsVpnVrfName { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName"; + } + } + + leaf mplsVpnInterfaceConfIndex { + type if-mib:InterfaceIndex; + description + "This is a unique index for an entry in the + MplsVPNInterfaceConfTable. A non-zero index for an + entry indicates the ifIndex for the corresponding + interface entry in the MPLS-VPN-layer in the ifTable. + Note that this table does not necessarily correspond + one-to-one with all entries in the Interface MIB + having an ifType of MPLS-layer; rather, only those + which are enabled for MPLS/BGP VPN functionality."; + reference + "RFC 2233 - The Interfaces Group MIB using SMIv2, + McCloghrie, K., and F. Kastenholtz, Nov. 1997"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.1"; + } + + leaf mplsVpnInterfaceLabelEdgeType { + type enumeration { + enum "providerEdge" { + value "1"; + } + enum "customerEdge" { + value "2"; + } + } + description + "Either the providerEdge(0) (PE) or customerEdge(1) + (CE) bit MUST be set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.2"; + } + + leaf mplsVpnInterfaceVpnClassification { + type enumeration { + enum "carrierOfCarrier" { + value "1"; + } + enum "enterprise" { + value "2"; + } + enum "interProvider" { + value "3"; + } + } + description + "Denotes whether this link participates in a + carrier-of-carrier's, enterprise, or inter-provider + scenario."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.3"; + } + + leaf mplsVpnInterfaceVpnRouteDistProtocol { + type bits { + bit dummy { + position "0"; + } + bit none { + position "1"; + } + bit bgp { + position "2"; + } + bit ospf { + position "3"; + } + bit rip { + position "4"; + } + bit isis { + position "5"; + } + bit other { + position "6"; + } + } + description + "Denotes the route distribution protocol across the + PE-CE link. Note that more than one routing protocol + may be enabled at the same time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.4"; + } + + leaf mplsVpnInterfaceConfStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.5"; + } + + leaf mplsVpnInterfaceConfRowStatus { + type snmpv2-tc:RowStatus; + description + "The row status for this entry. This value is + used to create a row in this table, signifying + that the specified interface is to be associated + with the specified interface. If this operation + succeeds, the interface will have been associated, + otherwise the agent would not allow the association. + If the agent only allows read-only operations on + this table, it will create entries in this table + as they are created."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.1.1.6"; + } + } + } + + container mplsVpnVrfTable { + description + "This table specifies per-interface MPLS/BGP VPN + VRF Table capability and associated information. + Entries in this table define VRF routing instances + associated with MPLS/VPN interfaces. Note that + multiple interfaces can belong to the same VRF + instance. The collection of all VRF instances + comprises an actual VPN."; + smiv2:oid "1.3.6.1.3.118.1.2.2"; + + list mplsVpnVrfEntry { + key "mplsVpnVrfName"; + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN. The + indexing provides an ordering of VRFs per-VPN + interface."; + smiv2:oid "1.3.6.1.3.118.1.2.2.1"; + + leaf mplsVpnVrfName { + type MPLS-VPN-MIB:MplsVpnId; + description + "The human-readable name of this VPN. This MAY + be equivalent to the RFC2685 VPN-ID."; + reference + "RFC 2685 [VPN-RFC2685] Fox B., et al, `Virtual + + + Private Networks Identifier`, September 1999."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.1"; + } + + leaf mplsVpnVrfDescription { + type snmp-framework:SnmpAdminString; + description + "The human-readable description of this VRF."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.2"; + } + + leaf mplsVpnVrfRouteDistinguisher { + type MPLS-VPN-MIB:MplsVpnRouteDistinguisher; + description + "The route distinguisher for this VRF."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.3"; + } + + leaf mplsVpnVrfCreationTime { + type yang:timestamp; + description + "The time at which this VRF entry was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.4"; + } + + leaf mplsVpnVrfOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + description + "Denotes whether a VRF is operational or not. A VRF is + up(1) when at least one interface associated with the + VRF, which ifOperStatus is up(1). A VRF is down(2) when: + + a. There does not exist at least one interface whose + ifOperStatus is up(1). + + b. There are no interfaces associated with the VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.5"; + } + + leaf mplsVpnVrfActiveInterfaces { + type uint32; + description + "Total number of interfaces connected to this VRF with + + + ifOperStatus = up(1). + + This counter should be incremented when: + + a. When the ifOperStatus of one of the connected interfaces + changes from down(2) to up(1). + + b. When an interface with ifOperStatus = up(1) is connected + to this VRF. + + This counter should be decremented when: + + a. When the ifOperStatus of one of the connected interfaces + changes from up(1) to down(2). + + b. When one of the connected interfaces with + ifOperStatus = up(1) gets disconnected from this VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.6"; + } + + leaf mplsVpnVrfAssociatedInterfaces { + type uint32; + description + "Total number of interfaces connected to this VRF + (independent of ifOperStatus type)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.7"; + } + + leaf mplsVpnVrfConfMidRouteThreshold { + type uint32; + description + "Denotes mid-level water marker for the number + of routes which this VRF may hold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.8"; + } + + leaf mplsVpnVrfConfHighRouteThreshold { + type uint32; + description + "Denotes high-level water marker for the number of + routes which this VRF may hold."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.9"; + } + + leaf mplsVpnVrfConfMaxRoutes { + type uint32; + description + "Denotes maximum number of routes which this VRF is + configured to hold. This value MUST be less than or + equal to mplsVrfMaxPossibleRoutes unless it is set + to 0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.10"; + } + + leaf mplsVpnVrfConfLastChanged { + type yang:timestamp; + description + "The value of sysUpTime at the time of the last + change of this table entry, which includes changes of + VRF parameters defined in this table or addition or + deletion of interfaces associated with this VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.11"; + } + + leaf mplsVpnVrfConfRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.12"; + } + + leaf mplsVpnVrfConfStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.2.1.13"; + } + } + } + + container mplsVpnVrfRouteTargetTable { + description + "This table specifies per-VRF route target association. + Each entry identifies a connectivity policy supported + as part of a VPN."; + smiv2:oid "1.3.6.1.3.118.1.2.3"; + + list mplsVpnVrfRouteTargetEntry { + key "mplsVpnVrfName mplsVpnVrfRouteTargetIndex mplsVpnVrfRouteTargetType"; + description + " An entry in this table is created by an LSR for + each route target configured for a VRF supporting + a MPLS/BGP VPN instance. The indexing provides an + ordering per-VRF instance."; + smiv2:oid "1.3.6.1.3.118.1.2.3.1"; + + leaf mplsVpnVrfName { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName"; + } + } + + leaf mplsVpnVrfRouteTargetIndex { + type uint32; + description + "Auxiliary index for route-targets configured for a + particular VRF."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.3.1.2"; + } + + leaf mplsVpnVrfRouteTargetType { + type enumeration { + enum "import" { + value "1"; + } + enum "export" { + value "2"; + } + enum "both" { + value "3"; + } + } + description + "The route target export distribution type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.3.1.3"; + } + + leaf mplsVpnVrfRouteTarget { + type MPLS-VPN-MIB:MplsVpnRouteDistinguisher; + description + "The route target distribution policy."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.3.1.4"; + } + + leaf mplsVpnVrfRouteTargetDescr { + type snmpv2-tc:DisplayString; + description + "Description of the route target."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.3.1.5"; + } + + leaf mplsVpnVrfRouteTargetRowStatus { + type snmpv2-tc:RowStatus; + description + "Row status for this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.3.1.6"; + } + } + } + + container mplsVpnVrfBgpNbrAddrTable { + description + "Each entry in this table specifies a per-interface + MPLS/EBGP neighbor."; + smiv2:oid "1.3.6.1.3.118.1.2.4"; + + list mplsVpnVrfBgpNbrAddrEntry { + key "mplsVpnVrfName mplsVpnInterfaceConfIndex mplsVpnVrfBgpNbrIndex"; + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN. The + indexing provides an ordering of VRFs per-VPN + interface."; + smiv2:oid "1.3.6.1.3.118.1.2.4.1"; + + leaf mplsVpnVrfName { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName"; + } + } + + leaf mplsVpnInterfaceConfIndex { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnInterfaceConfTable/MPLS-VPN-MIB:mplsVpnInterfaceConfEntry/MPLS-VPN-MIB:mplsVpnInterfaceConfIndex"; + } + } + + leaf mplsVpnVrfBgpNbrIndex { + type uint32; + description + "This is a unique tertiary index for an entry in the + MplsVpnVrfBgpNbrAddrEntry Table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.1"; + } + + leaf mplsVpnVrfBgpNbrRole { + type enumeration { + enum "ce" { + value "1"; + } + enum "pe" { + value "2"; + } + } + description + "Denotes the role played by this EBGP neighbor + with respect to this VRF."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.2"; + } + + leaf mplsVpnVrfBgpNbrType { + type inet-address:InetAddressType; + description + "Denotes the address family of the PE address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.3"; + } + + leaf mplsVpnVrfBgpNbrAddr { + type inet-address:InetAddress; + description + "Denotes the EBGP neighbor address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.4"; + } + + leaf mplsVpnVrfBgpNbrRowStatus { + type snmpv2-tc:RowStatus; + description + "This variable is used to create, modify, and/or + delete a row in this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.5"; + } + + leaf mplsVpnVrfBgpNbrStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.4.1.6"; + } + } + } + + container mplsVpnVrfBgpNbrPrefixTable { + description + "This table specifies per-VRF vpnv4 multi-protocol + prefixes supported by BGP."; + smiv2:oid "1.3.6.1.3.118.1.2.5"; + + list mplsVpnVrfBgpNbrPrefixEntry { + key "mplsVpnVrfName mplsVpnVrfBgpPathAttrIpAddrPrefix mplsVpnVrfBgpPathAttrIpAddrPrefixLen mplsVpnVrfBgpPathAttrPeer"; + description + "An entry in this table is created by an LSR for + every BGP prefix associated with a VRF supporting a + MPLS/BGP VPN. The indexing provides an ordering of + BGP prefixes per VRF."; + smiv2:oid "1.3.6.1.3.118.1.2.5.1"; + + leaf mplsVpnVrfName { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName"; + } + } + + leaf mplsVpnVrfBgpPathAttrPeer { + type inet-address:InetAddress; + description + "The IP address of the peer where the path + information was learned."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.1"; + } + + leaf mplsVpnVrfBgpPathAttrIpAddrPrefixLen { + type int32 { + range "0..32"; + } + description + "Length in bits of the IP address prefix + in the Network Layer Reachability + Information field."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.2"; + } + + leaf mplsVpnVrfBgpPathAttrIpAddrPrefix { + type inet-address:InetAddress; + description + "An IP address prefix in the Network Layer + Reachability Information field. This object + is an IP address containing the prefix with + length specified by mplsVpnVrfBgpPathAttrIpAddrPrefixLen. + Any bits beyond the length specified by + mplsVpnVrfBgpPathAttrIpAddrPrefixLen are zeroed."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.3"; + } + + leaf mplsVpnVrfBgpPathAttrOrigin { + type enumeration { + enum "igp" { + value "1"; + } + enum "egp" { + value "2"; + } + enum "incomplete" { + value "3"; + } + } + description + "The ultimate origin of the path + information."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.4"; + } + + leaf mplsVpnVrfBgpPathAttrASPathSegment { + type binary { + length "2..255"; + } + description + "The sequence of AS path segments. Each AS + path segment is represented by a triple + . + + The type is a 1-octet field which has two + possible values: + 1 AS_SET: unordered set of ASs a + route in the UPDATE + message has traversed + 2 AS_SEQUENCE: ordered set of ASs + a route in the UPDATE + message has traversed. + The length is a 1-octet field containing the + + + number of ASs in the value field. + + The value field contains one or more AS + numbers, each AS is represented in the octet + string as a pair of octets according to the + following algorithm: + + first-byte-of-pair = ASNumber / 256; + second-byte-of-pair = ASNumber & 255;"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.5"; + } + + leaf mplsVpnVrfBgpPathAttrNextHop { + type inet-address:InetAddress; + description + "The address of the border router that + should be used for the destination + network."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.6"; + } + + leaf mplsVpnVrfBgpPathAttrMultiExitDisc { + type int32 { + range "-1..2147483647"; + } + description + "This metric is used to discriminate + between multiple exit points to an + adjacent autonomous system. A value of -1 + indicates the absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.7"; + } + + leaf mplsVpnVrfBgpPathAttrLocalPref { + type int32 { + range "-1..2147483647"; + } + description + "The originating BGP4 speaker's degree of + preference for an advertised route. A + value of -1 indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.8"; + } + + leaf mplsVpnVrfBgpPathAttrAtomicAggregate { + type enumeration { + enum "lessSpecificRrouteNotSelected" { + value "1"; + } + enum "lessSpecificRouteSelected" { + value "2"; + } + } + description + "Whether or not the local system has + selected a less specific route without + selecting a more specific route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.9"; + } + + leaf mplsVpnVrfBgpPathAttrAggregatorAS { + type int32 { + range "0..65535"; + } + description + "The AS number of the last BGP4 speaker that + performed route aggregation. A value of + zero (0) indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.10"; + } + + leaf mplsVpnVrfBgpPathAttrAggregatorAddr { + type inet-address:InetAddress; + description + "The IP address of the last BGP4 speaker + that performed route aggregation. A value + of 0.0.0.0 indicates the absence of this + attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.11"; + } + + leaf mplsVpnVrfBgpPathAttrCalcLocalPref { + type int32 { + range "-1..2147483647"; + } + description + "The degree of preference calculated by the + receiving BGP4 speaker for an advertised + route. A value of -1 indicates the + absence of this attribute."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.12"; + } + + leaf mplsVpnVrfBgpPathAttrBest { + type enumeration { + enum "false" { + value "1"; + } + enum "true" { + value "2"; + } + } + description + "An indication of whether or not this route + was chosen as the best BGP4 route."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.13"; + } + + leaf mplsVpnVrfBgpPathAttrUnknown { + type binary { + length "0..255"; + } + description + "One or more path attributes not understood + by this BGP4 speaker. Size zero (0) + indicates the absence of such + attribute(s). Octets beyond the maximum + size, if any, are not recorded by this + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.5.1.14"; + } + } + } + + container mplsVpnVrfRouteTable { + description + "This table specifies per-interface MPLS/BGP VPN VRF Table + routing information. Entries in this table define VRF routing + entries associated with the specified MPLS/VPN interfaces. Note + that this table contains both BGP and IGP routes, as both may + appear in the same VRF."; + reference + "1. RFC 1213 Section 6.6, The IP Group. + 2. RFC 2096 "; + smiv2:oid "1.3.6.1.3.118.1.4.1"; + + list mplsVpnVrfRouteEntry { + key "mplsVpnVrfName mplsVpnVrfRouteDest mplsVpnVrfRouteMask mplsVpnVrfRouteTos mplsVpnVrfRouteNextHop"; + description + "An entry in this table is created by an LSR for every route + present configured (either dynamically or statically) within + the context of a specific VRF capable of supporting MPLS/BGP + VPN. The indexing provides an ordering of VRFs per-VPN + interface."; + smiv2:oid "1.3.6.1.3.118.1.4.1.1"; + + leaf mplsVpnVrfName { + type leafref { + path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName"; + } + } + + leaf mplsVpnVrfRouteDest { + type inet-address:InetAddress; + description + "The destination IP address of this route. + This object may not take a Multicast (Class D) + address value. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bit-wise logical-AND of x with + the value of the corresponding instance of the + mplsVpnVrfRouteMask object is not equal to x."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.1"; + } + + leaf mplsVpnVrfRouteDestAddrType { + type inet-address:InetAddressType; + description + "The address type of the mplsVpnVrfRouteDest + entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.2"; + } + + leaf mplsVpnVrfRouteMask { + type inet-address:InetAddress; + description + "Indicate the mask to be logical-ANDed with the + destination address before being compared to + the value in the mplsVpnVrfRouteDest field. + For those systems that do not support + arbitrary subnet masks, an agent constructs the + value of the mplsVpnVrfRouteMask by reference + + + to the IP Address Class. + + Any assignment (implicit or otherwise) of an + instance of this object to a value x must be + rejected if the bit-wise logical-AND of x with + the value of the corresponding instance of the + mplsVpnVrfRouteDest object is not equal to + mplsVpnVrfRouteDest."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.3"; + } + + leaf mplsVpnVrfRouteMaskAddrType { + type inet-address:InetAddressType; + description + "The address type of mplsVpnVrfRouteMask."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.4"; + } + + leaf mplsVpnVrfRouteTos { + type uint32; + description + "The IP TOS Field is used to specify the policy to + be applied to this route. The encoding of IP TOS + is as specified by the following convention. + Zero indicates the default path if no more + specific policy applies. + + +-----+-----+-----+-----+-----+-----+-----+-----+ + | | | | + | PRECEDENCE | TYPE OF SERVICE | 0 | + | | | | + +-----+-----+-----+-----+-----+-----+-----+-----+ + + IP TOS IP TOS + Field Policy Field Policy + Contents Code Contents Code + 0 0 0 0 ==> 0 0 0 0 1 ==> 2 + 0 0 1 0 ==> 4 0 0 1 1 ==> 6 + 0 1 0 0 ==> 8 0 1 0 1 ==> 10 + 0 1 1 0 ==> 12 0 1 1 1 ==> 14 + 1 0 0 0 ==> 16 1 0 0 1 ==> 18 + 1 0 1 0 ==> 20 1 0 1 1 ==> 22 + 1 1 0 0 ==> 24 1 1 0 1 ==> 26 + 1 1 1 0 ==> 28 1 1 1 1 ==> 30."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.5"; + } + + leaf mplsVpnVrfRouteNextHop { + type inet-address:InetAddress; + description + "On remote routes, the address of the next + system en route; Otherwise, 0.0.0.0. ."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.6"; + } + + leaf mplsVpnVrfRouteNextHopAddrType { + type inet-address:InetAddressType; + description + "The address type of the mplsVpnVrfRouteNextHopAddrType + object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.7"; + } + + leaf mplsVpnVrfRouteIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "The ifIndex value that identifies the local + interface through which the next hop of this + route should be reached."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.8"; + } + + leaf mplsVpnVrfRouteType { + type enumeration { + enum "other" { + value "1"; + } + enum "reject" { + value "2"; + } + enum "local" { + value "3"; + } + enum "remote" { + value "4"; + } + } + description + "The type of route. Note that local(3) refers + to a route for which the next hop is the final + destination; remote(4) refers to a route for + that the next hop is not the final destination. + Routes which do not result in traffic forwarding or + rejection should not be displayed even if the + implementation keeps them stored internally. + + reject (2) refers to a route which, if matched, + discards the message as unreachable. This is used + in some protocols as a means of correctly aggregating + routes."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.9"; + } + + leaf mplsVpnVrfRouteProto { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "egp" { + value "5"; + } + enum "ggp" { + value "6"; + } + enum "hello" { + value "7"; + } + enum "rip" { + value "8"; + } + enum "isIs" { + value "9"; + } + enum "esIs" { + value "10"; + } + enum "ciscoIgrp" { + value "11"; + } + enum "bbnSpfIgp" { + value "12"; + } + enum "ospf" { + value "13"; + } + enum "bgp" { + value "14"; + } + enum "idpr" { + value "15"; + } + enum "ciscoEigrp" { + value "16"; + } + } + description + "The routing mechanism via which this route was + learned. Inclusion of values for gateway rout- + ing protocols is not intended to imply that + hosts should support those protocols."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.10"; + } + + leaf mplsVpnVrfRouteAge { + type uint32; + description + "The number of seconds since this route was + last updated or otherwise determined to be + correct. Note that no semantics of `too old' + can be implied except through knowledge of the + routing protocol by which the route was + learned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.11"; + } + + leaf mplsVpnVrfRouteInfo { + type yang:object-identifier-128; + description + "A reference to MIB definitions specific to the + particular routing protocol which is responsi- + + + ble for this route, as determined by the value + specified in the route's mplsVpnVrfRouteProto + value. If this information is not present, its + value SHOULD be set to the OBJECT IDENTIFIER + { 0 0 }, which is a syntactically valid object + identif-ier, and any implementation conforming + to ASN.1 and the Basic Encoding Rules must be + able to generate and recognize this value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.12"; + } + + leaf mplsVpnVrfRouteNextHopAS { + type uint32; + description + "The Autonomous System Number of the Next Hop. + The semantics of this object are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. When this object is + unknown or not relevant its value should be set + to zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.13"; + } + + leaf mplsVpnVrfRouteMetric1 { + type int32; + description + "The primary routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.14"; + } + + leaf mplsVpnVrfRouteMetric2 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.15"; + } + + leaf mplsVpnVrfRouteMetric3 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.16"; + } + + leaf mplsVpnVrfRouteMetric4 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.17"; + } + + leaf mplsVpnVrfRouteMetric5 { + type int32; + description + "An alternate routing metric for this route. + The semantics of this metric are determined by + the routing-protocol specified in the route's + mplsVpnVrfRouteProto value. If this metric is not + used, its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.18"; + } + + leaf mplsVpnVrfRouteRowStatus { + type snmpv2-tc:RowStatus; + description + "Row status for this table. It is used according + to row installation and removal conventions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.19"; + } + + leaf mplsVpnVrfRouteStorageType { + type snmpv2-tc:StorageType; + description + "Storage type value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.4.1.1.20"; + } + } + } + } + + smiv2:alias "mplsVpnVrfSecTable" { + description + "This table specifies per MPLS/BGP VPN VRF Table security + features."; + smiv2:oid "1.3.6.1.3.118.1.2.6"; + } + + smiv2:alias "mplsVpnVrfSecEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN. Each + entry in this table is used to indicate security-related + information for each VRF entry."; + smiv2:oid "1.3.6.1.3.118.1.2.6.1"; + } + + augment "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN. Each + entry in this table is used to indicate security-related + information for each VRF entry."; + smiv2:oid "1.3.6.1.3.118.1.2.6.1"; + + leaf mplsVpnVrfSecIllegalLabelViolations { + type yang:counter32; + description + "Indicates the number of illegally received labels on this VPN/VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.2.6.1.1"; + } + + leaf mplsVpnVrfSecIllegalLabelRcvThresh { + type uint32; + description + "The number of illegally received labels above which this + notification is issued."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.118.1.2.6.1.2"; + } + } + + smiv2:alias "mplsVpnVrfPerfTable" { + description + "This table specifies per MPLS/BGP VPN VRF Table performance + information."; + smiv2:oid "1.3.6.1.3.118.1.3.1"; + } + + smiv2:alias "mplsVpnVrfPerfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN."; + smiv2:oid "1.3.6.1.3.118.1.3.1.1"; + } + + augment "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry" { + description + "An entry in this table is created by an LSR for + every VRF capable of supporting MPLS/BGP VPN."; + smiv2:oid "1.3.6.1.3.118.1.3.1.1"; + + leaf mplsVpnVrfPerfRoutesAdded { + type yang:counter32; + description + "Indicates the number of routes added to this VPN/VRF over the + coarse of its lifetime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.3.1.1.1"; + } + + leaf mplsVpnVrfPerfRoutesDeleted { + type yang:counter32; + description + "Indicates the number of routes removed from this VPN/VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.3.1.1.2"; + } + + leaf mplsVpnVrfPerfCurrNumRoutes { + type uint32; + description + "Indicates the number of routes currently used by this VRF."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.118.1.3.1.1.3"; + } + } + + notification mplsVrfIfUp { + description + "This notification is generated when: + a. The ifOperStatus of an interface associated with a VRF + changes to the up(1) state. + b. When an interface with ifOperStatus = up(1) is + associated with a VRF."; + smiv2:oid "1.3.6.1.3.118.0.1"; + } + + notification mplsVrfIfDown { + description + "This notification is generated when: + a. The ifOperStatus of an interface associated with a VRF + changes to the down(1) state. + b. When an interface with ifOperStatus = up(1) state is + disassociated with a VRF."; + smiv2:oid "1.3.6.1.3.118.0.2"; + } + + notification mplsNumVrfRouteMidThreshExceeded { + description + "This notification is generated when the number of routes + contained by the specified VRF exceeds the value indicated by + mplsVrfMidRouteThreshold."; + smiv2:oid "1.3.6.1.3.118.0.3"; + } + + notification mplsNumVrfRouteMaxThreshExceeded { + description + "This notification is generated when the number of routes + contained by the specified VRF reaches or attempts to exceed + the maximum allowed value as indicated by + mplsVrfMaxRouteThreshold."; + smiv2:oid "1.3.6.1.3.118.0.4"; + } + + notification mplsNumVrfSecIllegalLabelThreshExceeded { + description + "This notification is generated when the number of illegal + label violations on a VRF as indicated by + mplsVpnVrfSecIllegalLabelViolations has exceeded + mplsVpnVrfSecIllegalLabelRcvThresh. The threshold is not + included in the varbind here because the value of + mplsVpnVrfSecIllegalLabelViolations should be one greater than + the threshold at the time this notification is issued."; + smiv2:oid "1.3.6.1.3.118.0.5"; + } + + smiv2:alias "mplsVpnMIB" { + smiv2:oid "1.3.6.1.3.118"; + } + + smiv2:alias "mplsVpnNotifications" { + smiv2:oid "1.3.6.1.3.118.0"; + } + + smiv2:alias "mplsVpnObjects" { + smiv2:oid "1.3.6.1.3.118.1"; + } + + smiv2:alias "mplsVpnScalars" { + smiv2:oid "1.3.6.1.3.118.1.1"; + } + + smiv2:alias "mplsVpnConf" { + smiv2:oid "1.3.6.1.3.118.1.2"; + } + + smiv2:alias "mplsVpnPerf" { + smiv2:oid "1.3.6.1.3.118.1.3"; + } + + smiv2:alias "mplsVpnRoute" { + smiv2:oid "1.3.6.1.3.118.1.4"; + } + + smiv2:alias "mplsVpnConformance" { + smiv2:oid "1.3.6.1.3.118.3"; + } + + smiv2:alias "mplsVpnGroups" { + smiv2:oid "1.3.6.1.3.118.3.1"; + } + + smiv2:alias "mplsVpnCompliances" { + smiv2:oid "1.3.6.1.3.118.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/NHRP-MIB.yang b/vendor/cisco/xe/17151/MIBS/NHRP-MIB.yang new file mode 100644 index 000000000..357a5eb1f --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/NHRP-MIB.yang @@ -0,0 +1,2346 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/NHRP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang NHRP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module NHRP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB"; + prefix NHRP-MIB; + + import IANA-ADDRESS-FAMILY-NUMBERS-MIB { + prefix "iana-address"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "Internetworking Over NBMA (ion) Working Group"; + + contact + "Maria Greene (maria@xedia.com) + Contractor + + Joan Cucchiara (joan@ironbridgenetworks.com) + IronBridge Networks + + James V. Luciani (luciani@baynetworks.com) + Bay Networks"; + + description + "This MIB contains managed object definitions for the Next + Hop Resolution Procol, NHRP, as defined in RFC 2332 [17]."; + + revision 1999-08-26 { + description + "Initial version, published as RFC 2677."; + } + + typedef NhrpGenAddr { + type binary { + length "0..64"; + } + description + "The value of an internetwork layer or NBMA address."; + } + + + container NHRP-MIB { + config false; + + container nhrpGeneralObjects { + smiv2:oid "1.3.6.1.2.1.71.1.1"; + + leaf nhrpNextIndex { + type uint32; + description + "This scalar is used for creating rows in the + nhrpClientTable and the nhrpServerTable. + The value of this variable is a currently unused value + for nhrpClientIndex and nhrpServerIndex. + + + + + The value returned when reading this variable must be + unique for the NHC's and NHS's indices associated with + this row. Subsequent attempts to read this variable + must return different values. + + NOTE: this object exists in the General Group because + it is to be used in establishing rows in the + nhrpClientTable and the nhrpServerTable. In other words, + the value retrieved from this object could become the + value of nhrpClientIndex and nhprServerIndex. + + In the situation of an agent re-initialization the value + of this object must be saved in non-volatile storage. + + This variable will return the special value 0 if no new + rows can be created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.1"; + } + } + + container nhrpCacheTable { + description + "This table contains mappings between internetwork layer + addresses and NBMA subnetwork layer addresses."; + smiv2:oid "1.3.6.1.2.1.71.1.1.2"; + + list nhrpCacheEntry { + key "nhrpCacheInternetworkAddrType nhrpCacheInternetworkAddr ifIndex nhrpCacheIndex"; + description + "A cached mapping between an internetwork layer address + and an NBMA address. Entries can be created by the + network administrator using the nhrpCacheRowStatus + column, or they may be added dynamically based on + protocol operation (including NHRP, SCSP, and others, + such as ATMARP). + + When created based by NHRP protocol operations + this entry is largely based on contents contained in + the Client Information Entry (CIE). + + Zero or more Client Information Entries (CIEs) may be + included in the NHRP Packet. For a complete description + of the CIE, refer to Section 5.2.0.1 of + RFC 2332 [17]."; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf nhrpCacheInternetworkAddrType { + type iana-address:AddressFamilyNumbers; + description + "The internetwork layer address type of this Next Hop + Resolution Cache entry. The value of this object indicates + how to interpret the values of nhrpCacheInternetworkAddr + and nhrpCacheNextHopInternetworkAddr."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.1"; + } + + leaf nhrpCacheInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the internetwork address of the + destination."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.2"; + } + + leaf nhrpCacheIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for this entry that has local + significance within the scope of the General + Group. This identifier is used here to + uniquely identify this row, and also used + in the 'nhrpPurgeTable' for the value of + the 'nhrpPurgeCacheIdentifier'."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.3"; + } + + leaf nhrpCachePrefixLength { + type int32 { + range "0..255"; + } + description + "The number of bits that define the internetwork layer + prefix associated with the nhrpCacheInternetworkAddr."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.4"; + } + + leaf nhrpCacheNextHopInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the internetwork address of the next hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.5"; + } + + leaf nhrpCacheNbmaAddrType { + type iana-address:AddressFamilyNumbers; + description + "The NBMA address type. The value of this + object indicates how to interpret + the values of nhrpCacheNbmaAddr and + nhrpCacheNbmaSubaddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.6"; + } + + leaf nhrpCacheNbmaAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the NBMA subnetwork address of the next + hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.7"; + } + + leaf nhrpCacheNbmaSubaddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the NBMA subaddress of the next hop. If + there is no subaddress concept for the NBMA address + family, this value will be a zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.8"; + } + + leaf nhrpCacheType { + type enumeration { + enum "other" { + value "1"; + } + enum "register" { + value "2"; + } + enum "resolveAuthoritative" { + value "3"; + } + enum "resoveNonauthoritative" { + value "4"; + } + enum "transit" { + value "5"; + } + enum "administrativelyAdded" { + value "6"; + } + enum "atmarp" { + value "7"; + } + enum "scsp" { + value "8"; + } + } + description + "An indication of how this cache entry + was created. The values are: + + 'other(1)' The entry was added by some + other means. + + 'register(2)' In a server, added based on a + client registration. + + 'resolveAuthoritative(3)' In a client, added based on + receiving an Authoritative + NHRP Resolution Reply. + + + + + 'resolveNonauthoritative(4)' In a client, added based on + receiving a Nonauthoritative + NHRP Resolution Reply. + + 'transit(5)' In a transit server, added by + examining a forwarded NHRP + packet. + + 'administrativelyAdded(6)' In a client or server, + manually added by the + administrator. The + StorageType of this entry is + reflected in + 'nhrpCacheStorageType'. + + 'atmarp(7)' The entry was added due to an + ATMARP. + + 'scsp(8)' The entry was added due to + SCSP. + + + When the entry is under creation using the + nhrpCacheRowStatus column, the only value that can be + specified by the administrator is 'administrativelyAdded'. + Attempting to set any other value will cause an + 'inconsistentValue' error. + + The value cannot be modified once the entry is active."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.9"; + } + + leaf nhrpCacheState { + type enumeration { + enum "incomplete" { + value "1"; + } + enum "ackReply" { + value "2"; + } + enum "nakReply" { + value "3"; + } + } + description + "An indication of the state of this entry. The values are: + + 'incomplete(1)' The client has sent a NHRP Resolution + Request but has not yet received the + NHRP Resolution Reply. + + + 'ackReply(2)' For a client or server, this is a + cached valid mapping. + + 'nakReply(3)' For a client or server, this is a + cached NAK mapping."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.10"; + } + + leaf nhrpCacheHoldingTimeValid { + type boolean; + description + "True(1) is returned if the value of + 'nhrpCacheType' is not + 'administrativelyAdded'. Since the + value of 'nhrpCacheType' was not + configured by a user, the value of + 'nhrpCacheHoldingTime' is + considered valid. In other words, the value of + 'nhrpCacheHoldingTime' represents + the Holding Time for the cache Entry. + + If 'nhrpCacheType has been configured by a + user, (i.e. the value of 'nhrpCacheType' is + 'administrativelyAdded') then false(2) will be returned. + This indicates that the value of + 'nhrpCacheHoldingTime' is undefined because this row + could possibly be backed up in nonvolatile storage."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.11"; + } + + leaf nhrpCacheHoldingTime { + type uint32 { + range "0..65535"; + } + units "seconds"; + description + "If the value of 'nhrpCacheHoldingTimeValid is + true(1) then this object represents the number + of seconds that the cache entry will remain in this + table. When this value reaches 0 (zero) the row should + be deleted. + + If the value of 'nhrpCacheHoldingTimeValid is + false(2) then this object is undefined."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.12"; + } + + leaf nhrpCacheNegotiatedMtu { + type int32 { + range "0..65535"; + } + description + "The maximum transmission unit (MTU) that was negotiated + or registered for this entity. In other words, this is the + actual MTU being used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.13"; + } + + leaf nhrpCachePreference { + type int32 { + range "0..255"; + } + description + "An object which reflects the Preference value of the + Client Information Entry (CIE). + + Zero or more Client Information Entries (CIEs) may be + included in the NHRP Packet. One of the fields in the + CIE is the Preference. For a complete description of + the CIE, refer to Section 5.2.0.1 of RFC 2332 [17]."; + reference + "Section 5.2.0.1 Mandatory Part Format, RFC 2332 [17]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.14"; + } + + leaf nhrpCacheStorageType { + type snmpv2-tc:StorageType; + description + "This value only has meaning when the 'nhrpCacheType' + has the value of 'administrativelyAdded'. + + When the row is created due to being + 'administrativelyAdded', this object reflects whether + this row is kept in volatile storage + and lost upon reboot or if this row is backed up by + non-volatile or permanent storage. + + If the value of 'nhrpCacheType' has a value which + is not 'administrativelyAdded, then the value of this + object is 'other(1)'."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.15"; + } + + leaf nhrpCacheRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.2.1.16"; + } + } + } + + container nhrpPurgeReqTable { + description + "This table will track Purge Request Information."; + smiv2:oid "1.3.6.1.2.1.71.1.1.3"; + + list nhrpPurgeReqEntry { + key "nhrpPurgeIndex"; + description + "Information regarding a Purge Request."; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1"; + + leaf nhrpPurgeIndex { + type uint32 { + range "1..4294967295"; + } + description + "An index for this entry that has local significance + within the scope of this table."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.1"; + } + + leaf nhrpPurgeCacheIdentifier { + type uint32 { + range "1..4294967295"; + } + description + "This object identifies which row in + 'nhrpCacheTable' is being purged. This object + should have the same value as the 'nhrpCacheIndex' + in the 'nhrpCacheTable'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.2"; + } + + leaf nhrpPurgePrefixLength { + type int32 { + range "0..255"; + } + description + "In the case of NHRP Purge Requests, this specifies the + equivalence class of addresses which match the first + 'Prefix Length' bit positions of the Client Protocol + Address specified in the Client Information Entry (CIE)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.3"; + } + + leaf nhrpPurgeRequestID { + type uint32; + description + "The Request ID used in the purge request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.4"; + } + + leaf nhrpPurgeReplyExpected { + type boolean; + description + "An indication of whether this Purge Request has the + 'N' Bit cleared (off)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.5"; + } + + leaf nhrpPurgeRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.1.3.1.6"; + } + } + } + + container nhrpClientTable { + description + "Information about NHRP clients (NHCs) managed by this + agent."; + smiv2:oid "1.3.6.1.2.1.71.1.2.1"; + + list nhrpClientEntry { + key "nhrpClientIndex"; + description + "Information about a single NHC."; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1"; + + leaf nhrpClientIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for the NHRP client that is unique within + the scope of this agent. The 'nhrpNextIndex' value + should be consulted (read), prior to creating a row in + this table, and the value returned from reading + 'nhrpNextIndex' should be used as this object's value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.1"; + } + + leaf nhrpClientInternetworkAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the internetwork layer address of this + client. This object indicates how the value of + nhrpClientInternetworkAddr is to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.2"; + } + + leaf nhrpClientInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the internetwork layer address of this + client."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.3"; + } + + leaf nhrpClientNbmaAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the NBMA subnetwork address of this client. + This object indicates how the values of + nhrpClientNbmaAddr and nhrpClientNbmaSubaddr are to be + interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.4"; + } + + leaf nhrpClientNbmaAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subnetwork address of this client."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.5"; + } + + leaf nhrpClientNbmaSubaddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subaddress of this client. For NBMA address + families without a subaddress concept, this will be a + zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.6"; + } + + leaf nhrpClientInitialRequestTimeout { + type int32 { + range "1..900"; + } + units "seconds"; + description + "The number of seconds that the client will wait before + timing out an NHRP initial request. This object only has + meaning for the initial timeout period."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.7"; + } + + leaf nhrpClientRegistrationRequestRetries { + type int32 { + range "0..65535"; + } + description + "The number of times the client will retry the + registration request before failure. A value of + 0 means don't retry. A value of 65535 means + retry forever."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.8"; + } + + leaf nhrpClientResolutionRequestRetries { + type int32 { + range "0..65535"; + } + description + "The number of times the client will retry the resolution + request before failure. A value of 0 means don't retry. + A value of 65535 means retry forever."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.9"; + } + + leaf nhrpClientPurgeRequestRetries { + type int32 { + range "0..65535"; + } + description + "The number of times the client will retry a purge request + before failure. A value of 0 means don't retry. A value of + 65535 means retry forever."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.10"; + } + + leaf nhrpClientDefaultMtu { + type uint32 { + range "0..65535"; + } + description + "The default maximum transmission unit (MTU) of the + LIS/LAG which this client should use. This object + will be initialized by the agent to the default MTU + of the LIS/LAG (which is 9180) unless a different MTU + value is specified during creation of this Client."; + reference + "RFC 2225 [25], Classical IP and ARP over ATM, Section 7, + DEFAULT VALUE FOR IP MTU OVER ATM AAL5."; + smiv2:defval "9180"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.11"; + } + + leaf nhrpClientHoldTime { + type uint32 { + range "0..65535"; + } + units "seconds"; + description + "The hold time the client will register."; + smiv2:defval "900"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.12"; + } + + leaf nhrpClientRequestID { + type uint32; + description + "The Request ID used to register this client with its + server. According to Section 5.2.3 of the NHRP + Specification, RFC 2332 [17], the Request ID must + be kept in non-volatile storage, so that if an NHC + crashes and re-initializes, it will use a different + + Request ID during the registration process + when reregistering with the same NHS."; + reference + "Section 5.2.3 NHRP Registration Request, RFC 2332 [17]."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.13"; + } + + leaf nhrpClientStorageType { + type snmpv2-tc:StorageType; + description + "This object defines whether this row is kept in + volatile storage and lost upon a Client crash or + reboot situation, or if this row is backed up by + nonvolatile or permanent storage."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.14"; + } + + leaf nhrpClientRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.1.1.15"; + } + } + } + + container nhrpClientRegistrationTable { + description + "A table of Registration Request Information that + needs to be maintained by the NHCs (clients)."; + reference + "Section 5.2.3 NHRP Registration Request, RFC 2332 [17]."; + smiv2:oid "1.3.6.1.2.1.71.1.2.2"; + + list nhrpClientRegistrationEntry { + key "nhrpClientIndex nhrpClientRegIndex"; + description + "An NHC needs to maintain registration request information + between the NHC and the NHS. An entry in this table + represents information for a single registration request."; + smiv2:oid "1.3.6.1.2.1.71.1.2.2.1"; + + leaf nhrpClientIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpClientTable/NHRP-MIB:nhrpClientEntry/NHRP-MIB:nhrpClientIndex"; + } + } + + leaf nhrpClientRegIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for this entry such that it + identifies a specific Registration Request from + the NHC represented by the nhrpClientIndex."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.2.2.1.1"; + } + + leaf nhrpClientRegUniqueness { + type enumeration { + enum "requestUnique" { + value "1"; + } + enum "requestNotUnique" { + value "2"; + } + } + description + "The Uniqueness indicator for this Registration Request. + If this object has the value of requestUnique(1), then + the Uniqueness bit is set in the the NHRP Registration + Request represented by this row. The value cannot + be changed once the row is created."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.2.1.2"; + } + + leaf nhrpClientRegState { + type enumeration { + enum "other" { + value "1"; + } + enum "registering" { + value "2"; + } + enum "ackRegisterReply" { + value "3"; + } + enum "nakRegisterReply" { + value "4"; + } + } + description + "The registration state of this client. The values are: + 'other(1)' The state of the registration + request is not one of + 'registering', + 'ackRegisterReply' or + 'nakRegisterReply'. + + 'registering(2)' A registration request has + been issued and a registration + reply is expected. + + 'ackRegisterReply(3)' A positive registration reply + has been received. + + 'nakRegisterReply(4)' The client has received a + negative registration + reply (NAK)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.2.1.3"; + } + + leaf nhrpClientRegRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.2.1.4"; + } + } + } + + container nhrpClientNhsTable { + description + "A table of NHSes that are available for use by this NHC + (client). By default, the agent will add an entry to this + table that corresponds to the client's default router."; + smiv2:oid "1.3.6.1.2.1.71.1.2.3"; + + list nhrpClientNhsEntry { + key "nhrpClientIndex nhrpClientNhsIndex"; + description + "An NHS that may be used by an NHC."; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1"; + + leaf nhrpClientIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpClientTable/NHRP-MIB:nhrpClientEntry/NHRP-MIB:nhrpClientIndex"; + } + } + + leaf nhrpClientNhsIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for an NHS available to an NHC."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.1"; + } + + leaf nhrpClientNhsInternetworkAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the internetwork layer address of the + NHRP server represented in this entry. This object + indicates how the value of + nhrpClientNhsInternetworkAddr is to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.2"; + } + + leaf nhrpClientNhsInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the destination internetwork layer + address of the NHRP server represented by this + + + + entry. If this value is not known, this will be + a zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.3"; + } + + leaf nhrpClientNhsNbmaAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the NBMA subnetwork address of the NHRP + Server represented by this entry. This object indicates + how the values of nhrpClientNhsNbmaAddr and + nhrpClientNhsNbmaSubaddr are to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.4"; + } + + leaf nhrpClientNhsNbmaAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subnetwork address of the NHS. The type of + the address is indicated by the corresponding value of + nhrpClientNhsNbmaAddrType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.5"; + } + + leaf nhrpClientNhsNbmaSubaddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subaddress of the NHS. For NMBA address + families that do not have the concept of subaddress, + this will be a zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.6"; + } + + leaf nhrpClientNhsInUse { + type boolean; + description + "An indication of whether this NHS is in use by the NHC."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.7"; + } + + leaf nhrpClientNhsRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.2.3.1.8"; + } + } + } + + container nhrpClientStatTable { + description + "This table contains statistics collected by NHRP + clients."; + smiv2:oid "1.3.6.1.2.1.71.1.2.4"; + + list nhrpClientStatEntry { + key "nhrpClientIndex"; + description + "Statistics collected by a NHRP client."; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1"; + + leaf nhrpClientIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpClientTable/NHRP-MIB:nhrpClientEntry/NHRP-MIB:nhrpClientIndex"; + } + } + + leaf nhrpClientStatTxResolveReq { + type yang:counter32; + description + "The number of NHRP Resolution Requests transmitted + by this client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.1"; + } + + leaf nhrpClientStatRxResolveReplyAck { + type yang:counter32; + description + "The number of positively acknowledged NHRP Resolution + Replies received by this client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.2"; + } + + leaf nhrpClientStatRxResolveReplyNakProhibited { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies received + by this client that contained the code indicating + 'Administratively Prohibited'. + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.3"; + } + + leaf nhrpClientStatRxResolveReplyNakInsufResources { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies received + by this client that contained the code indicating + 'Insufficient Resources'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.4"; + } + + leaf nhrpClientStatRxResolveReplyNakNoBinding { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies received + by this client that contained the code indicating + 'No Internetworking Layer Address to NBMA Address + Binding Exists'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.5"; + } + + leaf nhrpClientStatRxResolveReplyNakNotUnique { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies received + by this client that contained the code indicating + 'Binding Exists But Is Not Unique'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.6"; + } + + leaf nhrpClientStatTxRegisterReq { + type yang:counter32; + description + "The number of NHRP Registration Requests transmitted + by this client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.7"; + } + + leaf nhrpClientStatRxRegisterAck { + type yang:counter32; + description + "The number of positively acknowledged NHRP Registration + Replies received by this client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.8"; + } + + leaf nhrpClientStatRxRegisterNakProhibited { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies received + by this client that contained the code indicating + 'Administratively Prohibited'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.9"; + } + + leaf nhrpClientStatRxRegisterNakInsufResources { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies received + by this client that contained the code indicating + 'Insufficient Resources'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.10"; + } + + leaf nhrpClientStatRxRegisterNakAlreadyReg { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies received + by this client that contained the code indicating 'Unique + Internetworking Layer Address Already Registered'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.11"; + } + + leaf nhrpClientStatRxPurgeReq { + type yang:counter32; + description + "The number of NHRP Purge Requests received by this + client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.12"; + } + + leaf nhrpClientStatTxPurgeReq { + type yang:counter32; + description + "The number of NHRP Purge Requests transmitted by this + client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.13"; + } + + leaf nhrpClientStatRxPurgeReply { + type yang:counter32; + description + "The number of NHRP Purge Replies received by this + client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.14"; + } + + leaf nhrpClientStatTxPurgeReply { + type yang:counter32; + description + "The number of NHRP Purge Replies transmitted by this + client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.15"; + } + + leaf nhrpClientStatTxErrorIndication { + type yang:counter32; + description + "The number of NHRP Error Indication packets transmitted + by this client. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.16"; + } + + leaf nhrpClientStatRxErrUnrecognizedExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code + 'Unrecognized Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.17"; + } + + leaf nhrpClientStatRxErrLoopDetected { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'NHRP Loop Detected'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.18"; + } + + leaf nhrpClientStatRxErrProtoAddrUnreachable { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'Protocol Address + Unreachable'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.19"; + } + + leaf nhrpClientStatRxErrProtoError { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'Protocol Error'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.20"; + } + + leaf nhrpClientStatRxErrSduSizeExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'NHRP SDU Size + + Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.21"; + } + + leaf nhrpClientStatRxErrInvalidExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'Invalid Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.22"; + } + + leaf nhrpClientStatRxErrAuthenticationFailure { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'Authentication + Failure'. + + + + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.23"; + } + + leaf nhrpClientStatRxErrHopCountExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this client with the error code 'Hop Count Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Client re-initialization and at + other times as indicated by the value of + nhrpClientStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.24"; + } + + leaf nhrpClientStatDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of this Client's counters + suffered a discontinuity. If no such discontinuities + have occurred since the last re-initialization of the + local management subsystem or the NHRP Client + re-initialization associated with this entry, then + this object contains a zero value."; + reference + "RFC 2233 [18]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.2.4.1.25"; + } + } + } + + container nhrpServerTable { + description + "This table contains information for a set of NHSes + associated with this agent."; + smiv2:oid "1.3.6.1.2.1.71.1.3.1"; + + list nhrpServerEntry { + key "nhrpServerIndex"; + description + "Information about a single NHS."; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1"; + + leaf nhrpServerIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for the server that is unique within the + scope of this agent."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.1"; + } + + leaf nhrpServerInternetworkAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the internetwork layer address of this + server. This object is used to interpret the value of + nhrpServerInternetworkAddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.2"; + } + + leaf nhrpServerInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the internetwork layer address of this + server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.3"; + } + + leaf nhrpServerNbmaAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the NBMA subnetwork address of this server. + This object is used to interpret the value of + nhrpServerNbmaAddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.4"; + } + + leaf nhrpServerNbmaAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the NBMA subnetwork address of this + server."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.5"; + } + + leaf nhrpServerNbmaSubaddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the NBMA subaddress of this server. + For NBMA address families without a subaddress + concept, this will be a zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.6"; + } + + leaf nhrpServerStorageType { + type snmpv2-tc:StorageType; + description + "This object defines whether this row is kept in + volatile storage and lost upon a Server crash or + reboot situation, or if this row is backed up by + nonvolatile or permanent storage."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.7"; + } + + leaf nhrpServerRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.1.1.8"; + } + } + } + + container nhrpServerCacheTable { + description + "This table extends the nhrpCacheTable for + NHSes. If the nhrpCacheTable has a row added due to + an NHS or based on information regarding an NHS then + a row is also added in this table. + + The rows in this table will be created when rows in + the nhrpCacheTable are created. However, there may + be rows created in the nhrpCacheTable which do not + have corresponding rows in this table. For example, + if the nhrpCacheTable has a row added due to a Next + Hop Client which is co-resident on the same device + as the NHS, a row will not be added to this table."; + smiv2:oid "1.3.6.1.2.1.71.1.3.2"; + + list nhrpServerCacheEntry { + key "nhrpCacheInternetworkAddrType nhrpCacheInternetworkAddr ifIndex nhrpCacheIndex"; + description + "Additional information kept by a NHS for a relevant + Next Hop Resolution Cache entry."; + smiv2:oid "1.3.6.1.2.1.71.1.3.2.1"; + + leaf nhrpCacheInternetworkAddrType { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpCacheTable/NHRP-MIB:nhrpCacheEntry/NHRP-MIB:nhrpCacheInternetworkAddrType"; + } + } + + leaf nhrpCacheInternetworkAddr { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpCacheTable/NHRP-MIB:nhrpCacheEntry/NHRP-MIB:nhrpCacheInternetworkAddr"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf nhrpCacheIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpCacheTable/NHRP-MIB:nhrpCacheEntry/NHRP-MIB:nhrpCacheIndex"; + } + } + + leaf nhrpServerCacheAuthoritative { + type boolean; + description + "An indication of whether this cache entry is + authoritative, which means the entry was added because + of a direct registration request with this server or + by Server Cache Synchronization Protocol (SCSP) from + an authoritative source."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.2.1.1"; + } + + leaf nhrpServerCacheUniqueness { + type boolean; + description + "The Uniqueness indicator for this cache + entry used in duplicate address detection. This value + cannot be changed after the entry is active."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.2.1.2"; + } + } + } + + container nhrpServerNhcTable { + description + "A table of NHCs that are available for use by this NHS + (Server)."; + reference + "Section 4 Configuration (Next Hop Servers), + RFC 2332 [17]."; + smiv2:oid "1.3.6.1.2.1.71.1.3.3"; + + list nhrpServerNhcEntry { + key "nhrpServerIndex nhrpServerNhcIndex"; + description + "An NHC that may be used by an NHS."; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1"; + + leaf nhrpServerIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpServerTable/NHRP-MIB:nhrpServerEntry/NHRP-MIB:nhrpServerIndex"; + } + } + + leaf nhrpServerNhcIndex { + type uint32 { + range "1..4294967295"; + } + description + "An identifier for an NHC available to an NHS."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.1"; + } + + leaf nhrpServerNhcPrefixLength { + type int32 { + range "0..255"; + } + description + "The number of bits that define the internetwork + layer prefix associated with the + nhrpServerNhcInternetworkAddr."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.2"; + } + + leaf nhrpServerNhcInternetworkAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the internetwork layer address of the + NHRP Client represented in this entry. This object + indicates how the value of nhrpServerNhcInternetworkAddr + is to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.3"; + } + + leaf nhrpServerNhcInternetworkAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The value of the internetwork layer address of + the NHRP Client represented by this entry. If this + value is not known, this will be a zero-length + OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.4"; + } + + leaf nhrpServerNhcNbmaAddrType { + type iana-address:AddressFamilyNumbers; + description + "The type of the NBMA subnetwork address of the NHRP + Client represented by this entry. This object indicates + how the values of nhrpServerNhcNbmaAddr and + nhrpServerNhcNbmaSubaddr are to be interpreted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.5"; + } + + leaf nhrpServerNhcNbmaAddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subnetwork address of the NHC. The type of the + address is indicated by the corresponding value of + nhrpServerNbmaAddrType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.6"; + } + + leaf nhrpServerNhcNbmaSubaddr { + type NHRP-MIB:NhrpGenAddr; + description + "The NBMA subaddress of the NHC. For NMBA address familes + that do not have the concept of subaddress, this will + be a zero-length OCTET STRING."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.7"; + } + + leaf nhrpServerNhcInUse { + type boolean; + description + "An indication of whether this NHC is in use by the NHS."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.8"; + } + + leaf nhrpServerNhcRowStatus { + type snmpv2-tc:RowStatus; + description + "An object that allows entries in this table to be + created and deleted using the RowStatus convention."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.71.1.3.3.1.9"; + } + } + } + + container nhrpServerStatTable { + description + "Statistics collected by Next Hop Servers."; + smiv2:oid "1.3.6.1.2.1.71.1.3.4"; + + list nhrpServerStatEntry { + key "nhrpServerIndex"; + description + "Statistics for a particular NHS. The statistics are + broken into received (Rx), transmitted (Tx) + and forwarded (Fw). Forwarded (Fw) would be done + by a transit NHS."; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1"; + + leaf nhrpServerIndex { + type leafref { + path "/NHRP-MIB:NHRP-MIB/NHRP-MIB:nhrpServerTable/NHRP-MIB:nhrpServerEntry/NHRP-MIB:nhrpServerIndex"; + } + } + + leaf nhrpServerStatRxResolveReq { + type yang:counter32; + description + "The number of NHRP Resolution Requests received by this + server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.1"; + } + + leaf nhrpServerStatTxResolveReplyAck { + type yang:counter32; + description + "The number of positively acknowledged NHRP + Resolution Replies transmitted by this server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.2"; + } + + leaf nhrpServerStatTxResolveReplyNakProhibited { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies + transmitted by this server with the code + 'Administratively Prohibited'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.3"; + } + + leaf nhrpServerStatTxResolveReplyNakInsufResources { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies + transmitted by this server with the code + 'Insufficient Resources'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.4"; + } + + leaf nhrpServerStatTxResolveReplyNakNoBinding { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies + transmitted by this server with the code + 'No Internetworking Layer Address to NBMA + Address Binding Exists'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.5"; + } + + leaf nhrpServerStatTxResolveReplyNakNotUnique { + type yang:counter32; + description + "The number of NAKed NHRP Resolution Replies + transmitted by this server with the code + 'Binding Exists But Is Not Unique'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.6"; + } + + leaf nhrpServerStatRxRegisterReq { + type yang:counter32; + description + "The number of NHRP Registration Requests received + by this server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.7"; + } + + leaf nhrpServerStatTxRegisterAck { + type yang:counter32; + description + "The number of positively acknowledged NHRP Registration + Replies transmitted by this server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.8"; + } + + leaf nhrpServerStatTxRegisterNakProhibited { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies + transmitted by this server with the code + 'Administratively Prohibited'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.9"; + } + + leaf nhrpServerStatTxRegisterNakInsufResources { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies + transmitted by this server with the code + 'Insufficient Resources'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.10"; + } + + leaf nhrpServerStatTxRegisterNakAlreadyReg { + type yang:counter32; + description + "The number of NAKed NHRP Registration Replies + transmitted by this server with the code + 'Unique Internetworking Layer Address Already + Registered'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.11"; + } + + leaf nhrpServerStatRxPurgeReq { + type yang:counter32; + description + "The number of NHRP Purge Requests received by + this server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.12"; + } + + leaf nhrpServerStatTxPurgeReq { + type yang:counter32; + description + "The number of NHRP Purge Requests transmitted by this + server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.13"; + } + + leaf nhrpServerStatRxPurgeReply { + type yang:counter32; + description + "The number of NHRP Purge Replies received by this + server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.14"; + } + + leaf nhrpServerStatTxPurgeReply { + type yang:counter32; + description + "The number of NHRP Purge Replies transmitted by + this server. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.15"; + } + + leaf nhrpServerStatRxErrUnrecognizedExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code + + 'Unrecognized Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.16"; + } + + leaf nhrpServerStatRxErrLoopDetected { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'NHRP Loop Detected'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.17"; + } + + leaf nhrpServerStatRxErrProtoAddrUnreachable { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'Protocol Address + Unreachable'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.18"; + } + + leaf nhrpServerStatRxErrProtoError { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'Protocol Error'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.19"; + } + + leaf nhrpServerStatRxErrSduSizeExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'NHRP SDU Size + Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.20"; + } + + leaf nhrpServerStatRxErrInvalidExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'Invalid Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.21"; + } + + leaf nhrpServerStatRxErrInvalidResReplyReceived { + type yang:counter32; + description + "The number of NHRP Error Indication packets received + by this server with the error code 'Invalid Resolution + Reply Received'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.22"; + } + + leaf nhrpServerStatRxErrAuthenticationFailure { + type yang:counter32; + description + "The number of NHRP Error Indication packets + received by this server with the error code + 'Authentication Failure'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.23"; + } + + leaf nhrpServerStatRxErrHopCountExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets + received by this server with the error code + 'Hop Count Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.24"; + } + + leaf nhrpServerStatTxErrUnrecognizedExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + 'Unrecognized Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.25"; + } + + leaf nhrpServerStatTxErrLoopDetected { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + 'NHRP Loop Detected'. + + + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.26"; + } + + leaf nhrpServerStatTxErrProtoAddrUnreachable { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + 'Protocol Address Unreachable'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.27"; + } + + leaf nhrpServerStatTxErrProtoError { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error + code 'Protocol Error'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.28"; + } + + leaf nhrpServerStatTxErrSduSizeExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + 'NHRP SDU Size Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.29"; + } + + leaf nhrpServerStatTxErrInvalidExtension { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + + 'Invalid Extension'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.30"; + } + + leaf nhrpServerStatTxErrAuthenticationFailure { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error code + 'Authentication Failure'. + + + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.31"; + } + + leaf nhrpServerStatTxErrHopCountExceeded { + type yang:counter32; + description + "The number of NHRP Error Indication packets + transmitted by this server with the error + code 'Hop Count Exceeded'. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + reference + "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.32"; + } + + leaf nhrpServerStatFwResolveReq { + type yang:counter32; + description + "The number of NHRP Resolution Requests + forwarded by this server acting as a transit NHS. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.33"; + } + + leaf nhrpServerStatFwResolveReply { + type yang:counter32; + description + "The number of NHRP Resolution Replies forwarded + by this server acting as a transit NHS. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.34"; + } + + leaf nhrpServerStatFwRegisterReq { + type yang:counter32; + description + "The number of NHRP Registration Requests forwarded + by this server acting as a transit NHS. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.35"; + } + + leaf nhrpServerStatFwRegisterReply { + type yang:counter32; + description + "The number of NHRP Registration Replies forwarded + by this server acting as a transit NHS. + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.36"; + } + + leaf nhrpServerStatFwPurgeReq { + type yang:counter32; + description + "The number of NHRP Purge Requests forwarded + by this server acting as a transit NHS. + + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.37"; + } + + leaf nhrpServerStatFwPurgeReply { + type yang:counter32; + description + "The number of NHRP Purge Replies forwarded by this + server acting as a transit NHS. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.38"; + } + + leaf nhrpServerStatFwErrorIndication { + type yang:counter32; + description + "The number of NHRP Error Indication packets forwarded + by this server acting as a transit NHS. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, at + NHRP Server re-initialization and at + other times as indicated by the value of + nhrpServerStatDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.39"; + } + + leaf nhrpServerStatDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion at + which any one or more of this Server's counters + suffered a discontinuity. If no such discontinuities + have occurred since the last re-initialization of the + + + + local management subsystem or the NHRP Server + re-initialization associated with this entry, then + this object contains a zero value."; + reference + "RFC 2233 [18]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.71.1.3.4.1.40"; + } + } + } + } + + smiv2:alias "nhrpMIB" { + smiv2:oid "1.3.6.1.2.1.71"; + } + + smiv2:alias "nhrpObjects" { + smiv2:oid "1.3.6.1.2.1.71.1"; + } + + smiv2:alias "nhrpGeneralObjects" { + smiv2:oid "1.3.6.1.2.1.71.1.1"; + } + + smiv2:alias "nhrpClientObjects" { + smiv2:oid "1.3.6.1.2.1.71.1.2"; + } + + smiv2:alias "nhrpServerObjects" { + smiv2:oid "1.3.6.1.2.1.71.1.3"; + } + + smiv2:alias "nhrpConformance" { + smiv2:oid "1.3.6.1.2.1.71.2"; + } + + smiv2:alias "nhrpCompliances" { + smiv2:oid "1.3.6.1.2.1.71.2.1"; + } + + smiv2:alias "nhrpGroups" { + smiv2:oid "1.3.6.1.2.1.71.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/NOTIFICATION-LOG-MIB.yang b/vendor/cisco/xe/17151/MIBS/NOTIFICATION-LOG-MIB.yang new file mode 100644 index 000000000..4dd271531 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/NOTIFICATION-LOG-MIB.yang @@ -0,0 +1,679 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/NOTIFICATION-LOG-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang NOTIFICATION-LOG-MIB + * + * Do not edit. Edit the source file instead! + */ + +module NOTIFICATION-LOG-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB"; + prefix NOTIFICATION-LOG-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Distributed Management Working Group"; + + contact + "Ramanathan Kavasseri + Cisco Systems, Inc. + 170 West Tasman Drive, + San Jose CA 95134-1706. + Phone: +1 408 527 2446 + Email: ramk@cisco.com"; + + description + "The MIB module for logging SNMP Notifications, that is, Traps + and Informs."; + + revision 2000-11-27 { + description + "This is the initial version of this MIB. + Published as RFC 3014"; + } + + + container NOTIFICATION-LOG-MIB { + config false; + + container nlmConfig { + smiv2:oid "1.3.6.1.2.1.92.1.1"; + + leaf nlmConfigGlobalEntryLimit { + type uint32; + description + "The maximum number of notification entries that may be held + in nlmLogTable for all nlmLogNames added together. A particular + setting does not guarantee that much data can be held. + + If an application changes the limit while there are + Notifications in the log, the oldest Notifications MUST be + discarded to bring the log down to the new limit - thus the + value of nlmConfigGlobalEntryLimit MUST take precedence over + the values of nlmConfigGlobalAgeOut and nlmConfigLogEntryLimit, + even if the Notification being discarded has been present for + fewer minutes than the value of nlmConfigGlobalAgeOut, or if + the named log has fewer entries than that specified in + nlmConfigLogEntryLimit. + + A value of 0 means no limit. + + Please be aware that contention between multiple managers + trying to set this object to different values MAY affect the + reliability and completeness of data seen by each manager."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.1"; + } + + leaf nlmConfigGlobalAgeOut { + type uint32; + units "minutes"; + description + "The number of minutes a Notification SHOULD be kept in a log + before it is automatically removed. + + If an application changes the value of nlmConfigGlobalAgeOut, + Notifications older than the new time MAY be discarded to meet the + new time. + + A value of 0 means no age out. + + Please be aware that contention between multiple managers + trying to set this object to different values MAY affect the + reliability and completeness of data seen by each manager."; + smiv2:defval "1440"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.2"; + } + } + + container nlmStats { + smiv2:oid "1.3.6.1.2.1.92.1.2"; + + leaf nlmStatsGlobalNotificationsLogged { + type yang:counter32; + units "notifications"; + description + "The number of Notifications put into the nlmLogTable. This + counts a Notification once for each log entry, so a Notification + put into multiple logs is counted multiple times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.2.1"; + } + + leaf nlmStatsGlobalNotificationsBumped { + type yang:counter32; + units "notifications"; + description + "The number of log entries discarded to make room for a new entry + due to lack of resources or the value of nlmConfigGlobalEntryLimit + or nlmConfigLogEntryLimit. This does not include entries discarded + due to the value of nlmConfigGlobalAgeOut."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.2.2"; + } + } + + container nlmConfigLogTable { + description + "A table of logging control entries."; + smiv2:oid "1.3.6.1.2.1.92.1.1.3"; + + list nlmConfigLogEntry { + key "nlmLogName"; + description + "A logging control entry. Depending on the entry's storage type + entries may be supplied by the system or created and deleted by + applications using nlmConfigLogEntryStatus."; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1"; + + leaf nlmLogName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "The name of the log. + + An implementation may allow multiple named logs, up to some + implementation-specific limit (which may be none). A + zero-length log name is reserved for creation and deletion by + the managed system, and MUST be used as the default log name by + systems that do not support named logs."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.1"; + } + + leaf nlmConfigLogFilterName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "A value of snmpNotifyFilterProfileName as used as an index + into the snmpNotifyFilterTable in the SNMP Notification MIB, + specifying the locally or remotely originated Notifications + to be filtered out and not logged in this log. + + A zero-length value or a name that does not identify an + existing entry in snmpNotifyFilterTable indicate no + Notifications are to be logged in this log."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.2"; + } + + leaf nlmConfigLogEntryLimit { + type uint32; + description + "The maximum number of notification entries that can be held in + nlmLogTable for this named log. A particular setting does not + guarantee that that much data can be held. + + If an application changes the limit while there are + Notifications in the log, the oldest Notifications are discarded + to bring the log down to the new limit. + + A value of 0 indicates no limit. + + Please be aware that contention between multiple managers + trying to set this object to different values MAY affect the + reliability and completeness of data seen by each manager."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.3"; + } + + leaf nlmConfigLogAdminStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Control to enable or disable the log without otherwise + disturbing the log's entry. + + Please be aware that contention between multiple managers + trying to set this object to different values MAY affect the + reliability and completeness of data seen by each manager."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.4"; + } + + leaf nlmConfigLogOperStatus { + type enumeration { + enum "disabled" { + value "1"; + } + enum "operational" { + value "2"; + } + enum "noFilter" { + value "3"; + } + } + description + "The operational status of this log: + + disabled administratively disabled + + operational administratively enabled and working + + noFilter administratively enabled but either + nlmConfigLogFilterName is zero length + or does not name an existing entry in + snmpNotifyFilterTable"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.5"; + } + + leaf nlmConfigLogStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.6"; + } + + leaf nlmConfigLogEntryStatus { + type snmpv2-tc:RowStatus; + description + "Control for creating and deleting entries. Entries may be + modified while active. + + For non-null-named logs, the managed system records the security + credentials from the request that sets nlmConfigLogStatus + to 'active' and uses that identity to apply access control to + the objects in the Notification to decide if that Notification + may be logged."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.92.1.1.3.1.7"; + } + } + } + + container nlmLogTable { + description + "A table of Notification log entries. + + It is an implementation-specific matter whether entries in this + table are preserved across initializations of the management + system. In general one would expect that they are not. + + Note that keeping entries across initializations of the + management system leads to some confusion with counters and + TimeStamps, since both of those are based on sysUpTime, which + resets on management initialization. In this situation, + counters apply only after the reset and nlmLogTime for entries + made before the reset MUST be set to 0."; + smiv2:oid "1.3.6.1.2.1.92.1.3.1"; + + list nlmLogEntry { + key "nlmLogName nlmLogIndex"; + description + "A Notification log entry. + + Entries appear in this table when Notifications occur and pass + filtering by nlmConfigLogFilterName and access control. They are + removed to make way for new entries due to lack of resources or + the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or + nlmConfigLogEntryLimit. + + If adding an entry would exceed nlmConfigGlobalEntryLimit or system + resources in general, the oldest entry in any log SHOULD be removed + to make room for the new one. + + If adding an entry would exceed nlmConfigLogEntryLimit the oldest + entry in that log SHOULD be removed to make room for the new one. + + Before the managed system puts a locally-generated Notification + into a non-null-named log it assures that the creator of the log + has access to the information in the Notification. If not it + does not log that Notification in that log."; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1"; + + leaf nlmLogName { + type leafref { + path "/NOTIFICATION-LOG-MIB:NOTIFICATION-LOG-MIB/NOTIFICATION-LOG-MIB:nlmConfigLogTable/NOTIFICATION-LOG-MIB:nlmConfigLogEntry/NOTIFICATION-LOG-MIB:nlmLogName"; + } + } + + leaf nlmLogIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer for the sole purpose of + indexing entries within the named log. When it reaches the + maximum value, an extremely unlikely event, the agent wraps the + value back to 1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.1"; + } + + leaf nlmLogTime { + type yang:timestamp; + description + "The value of sysUpTime when the entry was placed in the log. If + the entry occurred before the most recent management system + initialization this object value MUST be set to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.2"; + } + + leaf nlmLogDateAndTime { + type snmpv2-tc:DateAndTime; + description + "The local date and time when the entry was logged, instantiated + only by systems that have date and time capability."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.3"; + } + + leaf nlmLogEngineID { + type snmp-framework:SnmpEngineID; + description + "The identification of the SNMP engine at which the Notification + originated. + + If the log can contain Notifications from only one engine + or the Trap is in SNMPv1 format, this object is a zero-length + string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.4"; + } + + leaf nlmLogEngineTAddress { + type snmpv2-tc:TAddress; + description + "The transport service address of the SNMP engine from which the + Notification was received, formatted according to the corresponding + value of nlmLogEngineTDomain. This is used to identify the source + of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted + from the SNMPv1 trap pdu. + + This object MUST always be instantiated, even if the log + can contain Notifications from only one engine. + + Please be aware that the nlmLogEngineTAddress may not uniquely + identify the SNMP engine from which the Notification was received. + For example, if an SNMP engine uses DHCP or NAT to obtain + ip addresses, the address it uses may be shared with other + network devices, and hence will not uniquely identify the + SNMP engine."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.5"; + } + + leaf nlmLogEngineTDomain { + type snmpv2-tc:TDomain; + description + "Indicates the kind of transport service by which a Notification + was received from an SNMP engine. nlmLogEngineTAddress contains + the transport service address of the SNMP engine from which + this Notification was received. + + Possible values for this object are presently found in the + Transport Mappings for SNMPv2 document (RFC 1906 [8])."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.6"; + } + + leaf nlmLogContextEngineID { + type snmp-framework:SnmpEngineID; + description + "If the Notification was received in a protocol which has a + contextEngineID element like SNMPv3, this object has that value. + Otherwise its value is a zero-length string."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.7"; + } + + leaf nlmLogContextName { + type snmp-framework:SnmpAdminString; + description + "The name of the SNMP MIB context from which the Notification came. + For SNMPv1 Traps this is the community string from the Trap."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.8"; + } + + leaf nlmLogNotificationID { + type yang:object-identifier-128; + description + "The NOTIFICATION-TYPE object identifier of the Notification that + occurred."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.1.1.9"; + } + } + } + + container nlmLogVariableTable { + description + "A table of variables to go with Notification log entries."; + smiv2:oid "1.3.6.1.2.1.92.1.3.2"; + + list nlmLogVariableEntry { + key "nlmLogName nlmLogIndex nlmLogVariableIndex"; + description + "A Notification log entry variable. + + Entries appear in this table when there are variables in + the varbind list of a Notification in nlmLogTable."; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1"; + + leaf nlmLogName { + type leafref { + path "/NOTIFICATION-LOG-MIB:NOTIFICATION-LOG-MIB/NOTIFICATION-LOG-MIB:nlmConfigLogTable/NOTIFICATION-LOG-MIB:nlmConfigLogEntry/NOTIFICATION-LOG-MIB:nlmLogName"; + } + } + + leaf nlmLogIndex { + type leafref { + path "/NOTIFICATION-LOG-MIB:NOTIFICATION-LOG-MIB/NOTIFICATION-LOG-MIB:nlmLogTable/NOTIFICATION-LOG-MIB:nlmLogEntry/NOTIFICATION-LOG-MIB:nlmLogIndex"; + } + } + + leaf nlmLogVariableIndex { + type uint32 { + range "1..4294967295"; + } + description + "A monotonically increasing integer, starting at 1 for a given + nlmLogIndex, for indexing variables within the logged + Notification."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.1"; + } + + leaf nlmLogVariableID { + type yang:object-identifier-128; + description + "The variable's object identifier."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.2"; + } + + leaf nlmLogVariableValueType { + type enumeration { + enum "counter32" { + value "1"; + } + enum "unsigned32" { + value "2"; + } + enum "timeTicks" { + value "3"; + } + enum "integer32" { + value "4"; + } + enum "ipAddress" { + value "5"; + } + enum "octetString" { + value "6"; + } + enum "objectId" { + value "7"; + } + enum "counter64" { + value "8"; + } + enum "opaque" { + value "9"; + } + } + description + "The type of the value. One and only one of the value + objects that follow must be instantiated, based on this type."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.3"; + } + + leaf nlmLogVariableCounter32Val { + type yang:counter32; + description + "The value when nlmLogVariableType is 'counter32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.4"; + } + + leaf nlmLogVariableUnsigned32Val { + type uint32; + description + "The value when nlmLogVariableType is 'unsigned32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.5"; + } + + leaf nlmLogVariableTimeTicksVal { + type yang:timeticks; + description + "The value when nlmLogVariableType is 'timeTicks'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.6"; + } + + leaf nlmLogVariableInteger32Val { + type int32; + description + "The value when nlmLogVariableType is 'integer32'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.7"; + } + + leaf nlmLogVariableOctetStringVal { + type binary; + description + "The value when nlmLogVariableType is 'octetString'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.8"; + } + + leaf nlmLogVariableIpAddressVal { + type inet:ipv4-address; + description + "The value when nlmLogVariableType is 'ipAddress'. + Although this seems to be unfriendly for IPv6, we + have to recognize that there are a number of older + MIBs that do contain an IPv4 format address, known + as IpAddress. + + IPv6 addresses are represented using TAddress or + InetAddress, and so the underlying datatype is + OCTET STRING, and their value would be stored in + the nlmLogVariableOctetStringVal column."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.9"; + } + + leaf nlmLogVariableOidVal { + type yang:object-identifier-128; + description + "The value when nlmLogVariableType is 'objectId'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.10"; + } + + leaf nlmLogVariableCounter64Val { + type yang:counter64; + description + "The value when nlmLogVariableType is 'counter64'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.11"; + } + + leaf nlmLogVariableOpaqueVal { + type binary; + description + "The value when nlmLogVariableType is 'opaque'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.3.2.1.12"; + } + } + } + } + + smiv2:alias "nlmStatsLogTable" { + description + "A table of Notification log statistics entries."; + smiv2:oid "1.3.6.1.2.1.92.1.2.3"; + } + + smiv2:alias "nlmStatsLogEntry" { + description + "A Notification log statistics entry."; + smiv2:oid "1.3.6.1.2.1.92.1.2.3.1"; + } + + augment "/NOTIFICATION-LOG-MIB:NOTIFICATION-LOG-MIB/NOTIFICATION-LOG-MIB:nlmConfigLogTable/NOTIFICATION-LOG-MIB:nlmConfigLogEntry" { + description + "A Notification log statistics entry."; + smiv2:oid "1.3.6.1.2.1.92.1.2.3.1"; + + leaf nlmStatsLogNotificationsLogged { + type yang:counter32; + units "notifications"; + description + "The number of Notifications put in this named log."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.2.3.1.1"; + } + + leaf nlmStatsLogNotificationsBumped { + type yang:counter32; + units "notifications"; + description + "The number of log entries discarded from this named log to make + room for a new entry due to lack of resources or the value of + nlmConfigGlobalEntryLimit or nlmConfigLogEntryLimit. This does not + include entries discarded due to the value of + nlmConfigGlobalAgeOut."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.92.1.2.3.1.2"; + } + } + + smiv2:alias "notificationLogMIB" { + smiv2:oid "1.3.6.1.2.1.92"; + } + + smiv2:alias "notificationLogMIBObjects" { + smiv2:oid "1.3.6.1.2.1.92.1"; + } + + smiv2:alias "nlmConfig" { + smiv2:oid "1.3.6.1.2.1.92.1.1"; + } + + smiv2:alias "nlmStats" { + smiv2:oid "1.3.6.1.2.1.92.1.2"; + } + + smiv2:alias "nlmLog" { + smiv2:oid "1.3.6.1.2.1.92.1.3"; + } + + smiv2:alias "notificationLogMIBConformance" { + smiv2:oid "1.3.6.1.2.1.92.3"; + } + + smiv2:alias "notificationLogMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.92.3.1"; + } + + smiv2:alias "notificationLogMIBGroups" { + smiv2:oid "1.3.6.1.2.1.92.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/OSPF-MIB.yang b/vendor/cisco/xe/17151/MIBS/OSPF-MIB.yang new file mode 100644 index 000000000..7f6163630 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/OSPF-MIB.yang @@ -0,0 +1,3354 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/OSPF-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang OSPF-MIB + * + * Do not edit. Edit the source file instead! + */ + +module OSPF-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB"; + prefix OSPF-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF OSPF Working Group"; + + contact + "WG E-Mail: ospf@ietf.org + + WG Chairs: acee@cisco.com + rohit@gmail.com + + Editors: Dan Joyal + Nortel + 600 Technology Park Drive + Billerica, MA 01821 + djoyal@nortel.com + + Piotr Galecki + Airvana + 19 Alpha Road + Chelmsford, MA 01824 + pgalecki@airvana.com + + Spencer Giacalone + CSFB + Eleven Madison Ave + New York, NY 10010-3629 + spencer.giacalone@gmail.com"; + + description + "The MIB module to describe the OSPF Version 2 + Protocol. Note that some objects in this MIB + module may pose a significant security risk. + Refer to the Security Considerations section + in RFC 4750 for more information. + + Copyright (C) The IETF Trust (2006). + This version of this MIB module is part of + RFC 4750; see the RFC itself for full legal + notices."; + + revision 2006-11-10 { + description + "Updated for latest changes to OSPF Version 2: + - updated the General Group with the new + ospfRFC1583Compatibility, ospfReferenceBandwidth + and ospfDiscontinuityTime objects + - added graceful-restart-related objects + - added stub-router-related objects + - updated the Area Table with NSSA-related objects + - added ospfAreaAggregateExtRouteTag object + - added Opaque LSA-related objects + - updates to the Compliances and Security sections + - added area LSA counter table + - added section describing translation of notification + parameters between SNMP versions + - added ospfComplianceObsolete to contain obsolete + object groups + - deprecated ospfExtLsdbTable + See Appendix B of RFC 4750 for more details. + + This version published as part of RFC 4750"; + } + + revision 1995-01-20 { + description + "The initial SMIv2 revision of this MIB module, published + in RFC 1850."; + } + + typedef AreaID { + type inet:ipv4-address; + description + "An OSPF Area Identifier. + Note that the Area ID, in OSPF, has the same format + as an IP address, but has the function of defining + a summarization point for link state advertisements."; + } + + typedef RouterID { + type inet:ipv4-address; + description + "A OSPF Router Identifier. + Note that the Router ID, in OSPF, has the same format + as an IP address, but identifies the router independent + + of its IP address."; + } + + typedef Metric { + type int32 { + range "0..65535"; + } + description + "The OSPF internal metric. + Note that the OSPF metric is defined as an unsigned value + in the range."; + smiv2:display-hint "d-0"; + } + + typedef BigMetric { + type int32 { + range "0..16777215"; + } + description + "The OSPF external metric."; + smiv2:display-hint "d-0"; + } + + typedef Status { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "An indication of the operability of an OSPF + function or feature. For example, the status + of an interface: 'enabled' indicates that + it is willing to communicate with other OSPF routers, + and 'disabled' indicates that it is not."; + } + + typedef PositiveInteger { + type int32 { + range "0..2147483647"; + } + description + "A positive integer. Values in excess are precluded as + unnecessary and prone to interoperability issues."; + smiv2:display-hint "d-0"; + } + + typedef HelloRange { + type int32 { + range "1..65535"; + } + description + "The range of intervals in seconds on which Hello messages + are exchanged."; + smiv2:display-hint "d-0"; + } + + typedef UpToMaxAge { + type int32 { + range "0..3600"; + } + description + "The values in seconds that one might find or configure + for variables bounded by the maximum age of an LSA."; + smiv2:display-hint "d-0"; + } + + typedef DesignatedRouterPriority { + type int32 { + range "0..255"; + } + description + "The range of values defined for the priority of a system + for becoming the designated router."; + smiv2:display-hint "d-0"; + } + + typedef TOSType { + type int32 { + range "0..30"; + } + description + "Type of Service (TOS) is defined as a mapping to the IP + Type of Service Flags as defined in the IP Forwarding + Table MIB + + +-----+-----+-----+-----+-----+-----+-----+-----+ + | | | | + | PRECEDENCE | TYPE OF SERVICE | 0 | + | | | | + +-----+-----+-----+-----+-----+-----+-----+-----+ + + IP TOS IP TOS + Field Policy Field Policy + + Contents Code Contents Code + 0 0 0 0 ==> 0 0 0 0 1 ==> 2 + 0 0 1 0 ==> 4 0 0 1 1 ==> 6 + 0 1 0 0 ==> 8 0 1 0 1 ==> 10 + 0 1 1 0 ==> 12 0 1 1 1 ==> 14 + 1 0 0 0 ==> 16 1 0 0 1 ==> 18 + 1 0 1 0 ==> 20 1 0 1 1 ==> 22 + 1 1 0 0 ==> 24 1 1 0 1 ==> 26 + 1 1 1 0 ==> 28 1 1 1 1 ==> 30 + + The remaining values are left for future definition."; + smiv2:display-hint "d-0"; + } + + typedef OspfAuthenticationType { + type enumeration { + enum "none" { + value "0"; + } + enum "simplePassword" { + value "1"; + } + enum "md5" { + value "2"; + } + } + description + "The authentication type."; + } + + + container OSPF-MIB { + config false; + + container ospfGeneralGroup { + smiv2:oid "1.3.6.1.2.1.14.1"; + + leaf ospfRouterId { + type OSPF-MIB:RouterID; + description + "A 32-bit integer uniquely identifying the + router in the Autonomous System. + By convention, to ensure uniqueness, this + should default to the value of one of the + router's IP interface addresses. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile storage."; + reference + "OSPF Version 2, C.1 Global parameters"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.1"; + } + + leaf ospfAdminStat { + type OSPF-MIB:Status; + description + "The administrative status of OSPF in the + router. The value 'enabled' denotes that the + OSPF Process is active on at least one interface; + 'disabled' disables it on all interfaces. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.2"; + } + + leaf ospfVersionNumber { + type enumeration { + enum "version2" { + value "2"; + } + } + description + "The current version number of the OSPF protocol is 2."; + reference + "OSPF Version 2, Title"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.3"; + } + + leaf ospfAreaBdrRtrStatus { + type boolean; + description + "A flag to note whether this router is an Area + Border Router."; + reference + "OSPF Version 2, Section 3 Splitting the AS into + Areas"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.4"; + } + + leaf ospfASBdrRtrStatus { + type boolean; + description + "A flag to note whether this router is configured as + an Autonomous System Border Router. + + This object is persistent and when written the + entity SHOULD save the change to non-volatile storage."; + reference + "OSPF Version 2, Section 3.3 Classification of + routers"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.5"; + } + + leaf ospfExternLsaCount { + type yang:gauge32; + description + "The number of external (LS type-5) link state + advertisements in the link state database."; + reference + "OSPF Version 2, Appendix A.4.5 AS external link + advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.6"; + } + + leaf ospfExternLsaCksumSum { + type int32; + description + "The 32-bit sum of the LS checksums of + the external link state advertisements + contained in the link state database. This sum + can be used to determine if there has been a + change in a router's link state database and + to compare the link state database of two + routers. The value should be treated as unsigned + when comparing two sums of checksums."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.7"; + } + + leaf ospfTOSSupport { + type boolean; + description + "The router's support for type-of-service routing. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Appendix F.1.2 Optional TOS + support"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.8"; + } + + leaf ospfOriginateNewLsas { + type yang:counter32; + description + "The number of new link state advertisements + that have been originated. This number is + incremented each time the router originates a new + LSA. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system, + and at other times as indicated by the value of + ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.9"; + } + + leaf ospfRxNewLsas { + type yang:counter32; + description + "The number of link state advertisements received + that are determined to be new instantiations. + This number does not include newer instantiations + of self-originated link state advertisements. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system, + and at other times as indicated by the value of + ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.10"; + } + + leaf ospfExtLsdbLimit { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of non-default + AS-external LSAs entries that can be stored in the + link state database. If the value is -1, then + there is no limit. + + When the number of non-default AS-external LSAs + in a router's link state database reaches + ospfExtLsdbLimit, the router enters + overflow state. The router never holds more than + ospfExtLsdbLimit non-default AS-external LSAs + in its database. OspfExtLsdbLimit MUST be set + identically in all routers attached to the OSPF + backbone and/or any regular OSPF area (i.e., + OSPF stub areas and NSSAs are excluded). + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.11"; + } + + leaf ospfMulticastExtensions { + type int32; + description + "A bit mask indicating whether the router is + forwarding IP multicast (Class D) datagrams + based on the algorithms defined in the + multicast extensions to OSPF. + + Bit 0, if set, indicates that the router can + + forward IP multicast datagrams in the router's + directly attached areas (called intra-area + multicast routing). + + Bit 1, if set, indicates that the router can + forward IP multicast datagrams between OSPF + areas (called inter-area multicast routing). + + Bit 2, if set, indicates that the router can + forward IP multicast datagrams between + Autonomous Systems (called inter-AS multicast + routing). + + Only certain combinations of bit settings are + allowed, namely: 0 (no multicast forwarding is + enabled), 1 (intra-area multicasting only), 3 + (intra-area and inter-area multicasting), 5 + (intra-area and inter-AS multicasting), and 7 + (multicasting everywhere). By default, no + multicast forwarding is enabled. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.12"; + } + + leaf ospfExitOverflowInterval { + type OSPF-MIB:PositiveInteger; + description + "The number of seconds that, after entering + OverflowState, a router will attempt to leave + OverflowState. This allows the router to again + originate non-default AS-external LSAs. When + set to 0, the router will not leave + overflow state until restarted. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.13"; + } + + leaf ospfDemandExtensions { + type boolean; + description + "The router's support for demand routing. + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + reference + "Extending OSPF to Support Demand Circuits"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.14"; + } + + leaf ospfRFC1583Compatibility { + type boolean; + description + "Indicates metrics used to choose among multiple + AS-external LSAs. When RFC1583Compatibility is set to + enabled, only cost will be used when choosing among + multiple AS-external LSAs advertising the same + destination. When RFC1583Compatibility is set to + disabled, preference will be driven first by type of + path using cost only to break ties. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Section 16.4.1 External path + preferences"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.15"; + } + + leaf ospfOpaqueLsaSupport { + type boolean; + description + "The router's support for Opaque LSA types."; + reference + "The OSPF Opaque LSA Option"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.16"; + } + + leaf ospfReferenceBandwidth { + type uint32; + units "kilobits per second"; + description + "Reference bandwidth in kilobits/second for + + calculating default interface metrics. The + default value is 100,000 KBPS (100 MBPS). + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.17"; + } + + leaf ospfRestartSupport { + type enumeration { + enum "none" { + value "1"; + } + enum "plannedOnly" { + value "2"; + } + enum "plannedAndUnplanned" { + value "3"; + } + } + description + "The router's support for OSPF graceful restart. + Options include: no restart support, only planned + restarts, or both planned and unplanned restarts. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.18"; + } + + leaf ospfRestartInterval { + type int32 { + range "1..1800"; + } + units "seconds"; + description + "Configured OSPF graceful restart timeout interval. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.19"; + } + + leaf ospfRestartStrictLsaChecking { + type boolean; + description + "Indicates if strict LSA checking is enabled for + graceful restart. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.20"; + } + + leaf ospfRestartStatus { + type enumeration { + enum "notRestarting" { + value "1"; + } + enum "plannedRestart" { + value "2"; + } + enum "unplannedRestart" { + value "3"; + } + } + description + "Current status of OSPF graceful restart."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.21"; + } + + leaf ospfRestartAge { + type uint32; + units "seconds"; + description + "Remaining time in current OSPF graceful restart + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.22"; + } + + leaf ospfRestartExitReason { + type enumeration { + enum "none" { + value "1"; + } + enum "inProgress" { + value "2"; + } + enum "completed" { + value "3"; + } + enum "timedOut" { + value "4"; + } + enum "topologyChanged" { + value "5"; + } + } + description + "Describes the outcome of the last attempt at a + graceful restart. If the value is 'none', no restart + has yet been attempted. If the value is 'inProgress', + a restart attempt is currently underway."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.23"; + } + + leaf ospfAsLsaCount { + type yang:gauge32; + description + "The number of AS-scope link state + advertisements in the AS-scope link state database."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.24"; + } + + leaf ospfAsLsaCksumSum { + type uint32; + description + "The 32-bit unsigned sum of the LS checksums of + the AS link state advertisements contained in the AS-scope + link state database. This sum can be used to determine + if there has been a change in a router's AS-scope link + state database, and to compare the AS-scope link state + database of two routers."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.25"; + } + + leaf ospfStubRouterSupport { + type boolean; + description + "The router's support for stub router functionality."; + reference + "OSPF Stub Router Advertisement"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.26"; + } + + leaf ospfStubRouterAdvertisement { + type enumeration { + enum "doNotAdvertise" { + value "1"; + } + enum "advertise" { + value "2"; + } + } + description + "This object controls the advertisement of + stub router LSAs by the router. The value + doNotAdvertise will result in the advertisement + of a standard router LSA and is the default value. + + This object is persistent and when written + the entity SHOULD save the change to non-volatile + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.1.27"; + } + + leaf ospfDiscontinuityTime { + type yang:timestamp; + description + "The value of sysUpTime on the most recent occasion + at which any one of this MIB's counters suffered + a discontinuity. + + If no such discontinuities have occurred since the last + re-initialization of the local management subsystem, + then this object contains a zero value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.1.28"; + } + } + + container ospfAreaTable { + description + "Information describing the configured parameters and + cumulative statistics of the router's attached areas. + The interfaces and virtual links are configured + as part of these areas. Area 0.0.0.0, by definition, + is the backbone area."; + reference + "OSPF Version 2, Section 6 The Area Data Structure"; + smiv2:oid "1.3.6.1.2.1.14.2"; + + list ospfAreaEntry { + key "ospfAreaId"; + description + "Information describing the configured parameters and + cumulative statistics of one of the router's attached areas. + The interfaces and virtual links are configured as part of + these areas. Area 0.0.0.0, by definition, is the backbone + area. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + smiv2:oid "1.3.6.1.2.1.14.2.1"; + + leaf ospfAreaId { + type OSPF-MIB:AreaID; + description + "A 32-bit integer uniquely identifying an area. + Area ID 0.0.0.0 is used for the OSPF backbone."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.1"; + } + + leaf ospfAuthType { + type OSPF-MIB:OspfAuthenticationType; + status obsolete; + description + "The authentication type specified for an area."; + reference + "OSPF Version 2, Appendix D Authentication"; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.2"; + } + + leaf ospfImportAsExtern { + type enumeration { + enum "importExternal" { + value "1"; + } + enum "importNoExternal" { + value "2"; + } + enum "importNssa" { + value "3"; + } + } + description + "Indicates if an area is a stub area, NSSA, or standard + area. Type-5 AS-external LSAs and type-11 Opaque LSAs are + not imported into stub areas or NSSAs. NSSAs import + AS-external data as type-7 LSAs"; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:defval "importExternal"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.3"; + } + + leaf ospfSpfRuns { + type yang:counter32; + description + "The number of times that the intra-area route + table has been calculated using this area's + link state database. This is typically done + using Dijkstra's algorithm. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.4"; + } + + leaf ospfAreaBdrRtrCount { + type yang:gauge32; + description + "The total number of Area Border Routers reachable + within this area. This is initially zero and is + calculated in each Shortest Path First (SPF) pass."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.5"; + } + + leaf ospfAsBdrRtrCount { + type yang:gauge32; + description + "The total number of Autonomous System Border + Routers reachable within this area. This is + initially zero and is calculated in each SPF + pass."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.6"; + } + + leaf ospfAreaLsaCount { + type yang:gauge32; + description + "The total number of link state advertisements + in this area's link state database, excluding + AS-external LSAs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.7"; + } + + leaf ospfAreaLsaCksumSum { + type int32; + description + "The 32-bit sum of the link state + advertisements' LS checksums contained in this + area's link state database. This sum excludes + external (LS type-5) link state advertisements. + The sum can be used to determine if there has + been a change in a router's link state + database, and to compare the link state database of + two routers. The value should be treated as unsigned + when comparing two sums of checksums."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.8"; + } + + leaf ospfAreaSummary { + type enumeration { + enum "noAreaSummary" { + value "1"; + } + enum "sendAreaSummary" { + value "2"; + } + } + description + "The variable ospfAreaSummary controls the + import of summary LSAs into stub and NSSA areas. + It has no effect on other areas. + + If it is noAreaSummary, the router will not + originate summary LSAs into the stub or NSSA area. + It will rely entirely on its default route. + + If it is sendAreaSummary, the router will both + summarize and propagate summary LSAs."; + smiv2:defval "noAreaSummary"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.9"; + } + + leaf ospfAreaStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.10"; + } + + leaf ospfAreaNssaTranslatorRole { + type enumeration { + enum "always" { + value "1"; + } + enum "candidate" { + value "2"; + } + } + description + "Indicates an NSSA border router's ability to + perform NSSA translation of type-7 LSAs into + type-5 LSAs."; + smiv2:defval "candidate"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.11"; + } + + leaf ospfAreaNssaTranslatorState { + type enumeration { + enum "enabled" { + value "1"; + } + enum "elected" { + value "2"; + } + enum "disabled" { + value "3"; + } + } + description + "Indicates if and how an NSSA border router is + performing NSSA translation of type-7 LSAs into type-5 + + LSAs. When this object is set to enabled, the NSSA Border + router's OspfAreaNssaExtTranslatorRole has been set to + always. When this object is set to elected, a candidate + NSSA Border router is Translating type-7 LSAs into type-5. + When this object is set to disabled, a candidate NSSA + border router is NOT translating type-7 LSAs into type-5."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.12"; + } + + leaf ospfAreaNssaTranslatorStabilityInterval { + type OSPF-MIB:PositiveInteger; + units "seconds"; + description + "The number of seconds after an elected translator + determines its services are no longer required, that + it should continue to perform its translation duties."; + smiv2:defval "40"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.2.1.13"; + } + + leaf ospfAreaNssaTranslatorEvents { + type yang:counter32; + description + "Indicates the number of translator state changes + that have occurred since the last boot-up. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.2.1.14"; + } + } + } + + container ospfStubAreaTable { + description + "The set of metrics that will be advertised + by a default Area Border Router into a stub area."; + reference + "OSPF Version 2, Appendix C.2, Area Parameters"; + smiv2:oid "1.3.6.1.2.1.14.3"; + + list ospfStubAreaEntry { + key "ospfStubAreaId ospfStubTOS"; + description + "The metric for a given Type of Service that + will be advertised by a default Area Border + Router into a stub area. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Appendix C.2, Area Parameters"; + smiv2:oid "1.3.6.1.2.1.14.3.1"; + + leaf ospfStubAreaId { + type OSPF-MIB:AreaID; + description + "The 32-bit identifier for the stub area. On + creation, this can be derived from the + instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.3.1.1"; + } + + leaf ospfStubTOS { + type OSPF-MIB:TOSType; + description + "The Type of Service associated with the + metric. On creation, this can be derived from + + the instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.3.1.2"; + } + + leaf ospfStubMetric { + type OSPF-MIB:BigMetric; + description + "The metric value applied at the indicated Type + of Service. By default, this equals the least + metric at the Type of Service among the + interfaces to other areas."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.3.1.3"; + } + + leaf ospfStubStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.3.1.4"; + } + + leaf ospfStubMetricType { + type enumeration { + enum "ospfMetric" { + value "1"; + } + enum "comparableCost" { + value "2"; + } + enum "nonComparable" { + value "3"; + } + } + description + "This variable displays the type of metric + advertised as a default route."; + smiv2:defval "ospfMetric"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.3.1.5"; + } + } + } + + container ospfLsdbTable { + description + "The OSPF Process's link state database (LSDB). + The LSDB contains the link state advertisements + from throughout the areas that the device is attached to."; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:oid "1.3.6.1.2.1.14.4"; + + list ospfLsdbEntry { + key "ospfLsdbAreaId ospfLsdbType ospfLsdbLsid ospfLsdbRouterId"; + description + "A single link state advertisement."; + smiv2:oid "1.3.6.1.2.1.14.4.1"; + + leaf ospfLsdbAreaId { + type OSPF-MIB:AreaID; + description + "The 32-bit identifier of the area from which + the LSA was received."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.1"; + } + + leaf ospfLsdbType { + type enumeration { + enum "routerLink" { + value "1"; + } + enum "networkLink" { + value "2"; + } + enum "summaryLink" { + value "3"; + } + enum "asSummaryLink" { + value "4"; + } + enum "asExternalLink" { + value "5"; + } + enum "multicastLink" { + value "6"; + } + enum "nssaExternalLink" { + value "7"; + } + enum "areaOpaqueLink" { + value "10"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate advertisement + format. + + Note: External link state advertisements are permitted + for backward compatibility, but should be displayed + in the ospfAsLsdbTable rather than here."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.2"; + } + + leaf ospfLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.3"; + } + + leaf ospfLsdbRouterId { + type OSPF-MIB:RouterID; + description + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.4"; + } + + leaf ospfLsdbSequence { + type int32; + description + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate Link State + Advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.5"; + } + + leaf ospfLsdbAge { + type int32; + units "seconds"; + description + "This field is the age of the link state advertisement + in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.6"; + } + + leaf ospfLsdbChecksum { + type int32; + description + "This field is the checksum of the complete contents of + the advertisement, excepting the age field. The age field + is excepted so that an advertisement's age can be + incremented without updating the checksum. The checksum + used is the same that is used for ISO connectionless + + datagrams; it is commonly referred to as the + Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.7"; + } + + leaf ospfLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire link state advertisement, including + its header. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size."; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.4.1.8"; + } + } + } + + container ospfAreaRangeTable { + status obsolete; + description + "The Address Range Table acts as an adjunct to the Area + Table. It describes those Address Range Summaries that + are configured to be propagated from an Area to reduce + the amount of information about it that is known beyond + its borders. It contains a set of IP address ranges + specified by an IP address/IP network mask pair. + For example, class B address range of X.X.X.X + with a network mask of 255.255.0.0 includes all IP + addresses from X.X.0.0 to X.X.255.255. + + Note that this table is obsoleted and is replaced + by the Area Aggregate Table."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:oid "1.3.6.1.2.1.14.5"; + + list ospfAreaRangeEntry { + key "ospfAreaRangeAreaId ospfAreaRangeNet"; + status obsolete; + description + "A single area address range. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:oid "1.3.6.1.2.1.14.5.1"; + + leaf ospfAreaRangeAreaId { + type OSPF-MIB:AreaID; + status obsolete; + description + "The area that the address range is to be found + within."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.5.1.1"; + } + + leaf ospfAreaRangeNet { + type inet:ipv4-address; + status obsolete; + description + "The IP address of the net or subnet indicated + by the range."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.5.1.2"; + } + + leaf ospfAreaRangeMask { + type inet:ipv4-address; + status obsolete; + description + "The subnet mask that pertains to the net or + subnet."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.5.1.3"; + } + + leaf ospfAreaRangeStatus { + type snmpv2-tc:RowStatus; + status obsolete; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.5.1.4"; + } + + leaf ospfAreaRangeEffect { + type enumeration { + enum "advertiseMatching" { + value "1"; + } + enum "doNotAdvertiseMatching" { + value "2"; + } + } + status obsolete; + description + "Subnets subsumed by ranges either trigger the + advertisement of the indicated summary + (advertiseMatching) or result in the subnet's not + being advertised at all outside the area."; + smiv2:defval "advertiseMatching"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.5.1.5"; + } + } + } + + container ospfHostTable { + description + "The Host/Metric Table indicates what hosts are directly + + attached to the router, what metrics and types + of service should be advertised for them, + and what areas they are found within."; + reference + "OSPF Version 2, Appendix C.7 Host route + parameters"; + smiv2:oid "1.3.6.1.2.1.14.6"; + + list ospfHostEntry { + key "ospfHostIpAddress ospfHostTOS"; + description + "A metric to be advertised, for a given type of + service, when a given host is reachable. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + smiv2:oid "1.3.6.1.2.1.14.6.1"; + + leaf ospfHostIpAddress { + type inet:ipv4-address; + description + "The IP address of the host."; + reference + "OSPF Version 2, Appendix C.7 Host route parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.6.1.1"; + } + + leaf ospfHostTOS { + type OSPF-MIB:TOSType; + description + "The Type of Service of the route being configured."; + reference + "OSPF Version 2, Appendix C.7 Host route parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.6.1.2"; + } + + leaf ospfHostMetric { + type OSPF-MIB:Metric; + description + "The metric to be advertised."; + reference + "OSPF Version 2, Appendix C.7 Host route parameters"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.6.1.3"; + } + + leaf ospfHostStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.6.1.4"; + } + + leaf ospfHostAreaID { + type OSPF-MIB:AreaID; + status deprecated; + description + "The OSPF area to which the host belongs. + Deprecated by ospfHostCfgAreaID."; + reference + "OSPF Version 2, Appendix C.7 Host parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.6.1.5"; + } + + leaf ospfHostCfgAreaID { + type OSPF-MIB:AreaID; + description + "To configure the OSPF area to which the host belongs."; + reference + "OSPF Version 2, Appendix C.7 Host parameters"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.6.1.6"; + } + } + } + + container ospfIfTable { + description + "The OSPF Interface Table describes the interfaces + from the viewpoint of OSPF. + It augments the ipAddrTable with OSPF specific information."; + reference + "OSPF Version 2, Appendix C.3 Router interface + parameters"; + smiv2:oid "1.3.6.1.2.1.14.7"; + + list ospfIfEntry { + key "ospfIfIpAddress ospfAddressLessIf"; + description + "The OSPF interface entry describes one interface + from the viewpoint of OSPF. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + smiv2:oid "1.3.6.1.2.1.14.7.1"; + + leaf ospfIfIpAddress { + type inet:ipv4-address; + description + "The IP address of this OSPF interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.1"; + } + + leaf ospfAddressLessIf { + type if-mib:InterfaceIndexOrZero; + description + "For the purpose of easing the instancing of + addressed and addressless interfaces; this + variable takes the value 0 on interfaces with + IP addresses and the corresponding value of + ifIndex for interfaces having no IP address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.2"; + } + + leaf ospfIfAreaId { + type OSPF-MIB:AreaID; + description + "A 32-bit integer uniquely identifying the area + to which the interface connects. Area ID + 0.0.0.0 is used for the OSPF backbone."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.3"; + } + + leaf ospfIfType { + type enumeration { + enum "broadcast" { + value "1"; + } + enum "nbma" { + value "2"; + } + enum "pointToPoint" { + value "3"; + } + enum "pointToMultipoint" { + value "5"; + } + } + description + "The OSPF interface type. + By way of a default, this field may be intuited + from the corresponding value of ifType. + Broadcast LANs, such as Ethernet and IEEE 802.5, + take the value 'broadcast', X.25 and similar + technologies take the value 'nbma', and links + that are definitively point to point take the + value 'pointToPoint'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.4"; + } + + leaf ospfIfAdminStat { + type OSPF-MIB:Status; + description + "The OSPF interface's administrative status. + The value formed on the interface, and the interface + will be advertised as an internal route to some area. + The value 'disabled' denotes that the interface is + external to OSPF."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.5"; + } + + leaf ospfIfRtrPriority { + type OSPF-MIB:DesignatedRouterPriority; + description + "The priority of this interface. Used in + multi-access networks, this field is used in + the designated router election algorithm. The + value 0 signifies that the router is not eligible + to become the designated router on this particular + network. In the event of a tie in this value, + routers will use their Router ID as a tie breaker."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.6"; + } + + leaf ospfIfTransitDelay { + type OSPF-MIB:UpToMaxAge; + units "seconds"; + description + "The estimated number of seconds it takes to + transmit a link state update packet over this + interface. Note that the minimal value SHOULD be + 1 second."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.7"; + } + + leaf ospfIfRetransInterval { + type OSPF-MIB:UpToMaxAge; + units "seconds"; + description + "The number of seconds between link state advertisement + retransmissions, for adjacencies belonging to this + interface. This value is also used when retransmitting + + database description and Link State request packets. + Note that minimal value SHOULD be 1 second."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.8"; + } + + leaf ospfIfHelloInterval { + type OSPF-MIB:HelloRange; + units "seconds"; + description + "The length of time, in seconds, between the Hello packets + that the router sends on the interface. This value must be + the same for all routers attached to a common network."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.9"; + } + + leaf ospfIfRtrDeadInterval { + type OSPF-MIB:PositiveInteger; + units "seconds"; + description + "The number of seconds that a router's Hello packets have + not been seen before its neighbors declare the router down. + This should be some multiple of the Hello interval. This + value must be the same for all routers attached to a common + network."; + smiv2:defval "40"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.10"; + } + + leaf ospfIfPollInterval { + type OSPF-MIB:PositiveInteger; + units "seconds"; + description + "The larger time interval, in seconds, between the Hello + packets sent to an inactive non-broadcast multi-access + neighbor."; + smiv2:defval "120"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.11"; + } + + leaf ospfIfState { + type enumeration { + enum "down" { + value "1"; + } + enum "loopback" { + value "2"; + } + enum "waiting" { + value "3"; + } + enum "pointToPoint" { + value "4"; + } + enum "designatedRouter" { + value "5"; + } + enum "backupDesignatedRouter" { + value "6"; + } + enum "otherDesignatedRouter" { + value "7"; + } + } + description + "The OSPF Interface State."; + smiv2:defval "down"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.12"; + } + + leaf ospfIfDesignatedRouter { + type inet:ipv4-address; + description + "The IP address of the designated router."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.13"; + } + + leaf ospfIfBackupDesignatedRouter { + type inet:ipv4-address; + description + "The IP address of the backup designated + router."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.14"; + } + + leaf ospfIfEvents { + type yang:counter32; + description + "The number of times this OSPF interface has + changed its state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.15"; + } + + leaf ospfIfAuthKey { + type binary { + length "0..256"; + } + description + "The cleartext password used as an OSPF + authentication key when simplePassword security + is enabled. This object does not access any OSPF + cryptogaphic (e.g., MD5) authentication key under + any circumstance. + + If the key length is shorter than 8 octets, the + agent will left adjust and zero fill to 8 octets. + + Unauthenticated interfaces need no authentication + key, and simple password authentication cannot use + a key of more than 8 octets. + + Note that the use of simplePassword authentication + is NOT recommended when there is concern regarding + attack upon the OSPF system. SimplePassword + authentication is only sufficient to protect against + accidental misconfigurations because it re-uses + cleartext passwords [RFC1704]. + + When read, ospfIfAuthKey always returns an octet + string of length zero."; + reference + "OSPF Version 2, Section 9 The Interface Data + Structure"; + smiv2:defval "'0000000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.16"; + } + + leaf ospfIfStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.17"; + } + + leaf ospfIfMulticastForwarding { + type enumeration { + enum "blocked" { + value "1"; + } + enum "multicast" { + value "2"; + } + enum "unicast" { + value "3"; + } + } + description + "The way multicasts should be forwarded on this + interface: not forwarded, forwarded as data + link multicasts, or forwarded as data link + unicasts. Data link multicasting is not + meaningful on point-to-point and NBMA interfaces, + and setting ospfMulticastForwarding to 0 effectively + disables all multicast forwarding."; + smiv2:defval "blocked"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.18"; + } + + leaf ospfIfDemand { + type boolean; + description + "Indicates whether Demand OSPF procedures (hello + suppression to FULL neighbors and setting the + DoNotAge flag on propagated LSAs) should be + performed on this interface."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.19"; + } + + leaf ospfIfAuthType { + type OSPF-MIB:OspfAuthenticationType; + description + "The authentication type specified for an interface. + + Note that this object can be used to engage + in significant attacks against an OSPF router."; + reference + "OSPF Version 2, Appendix D Authentication"; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.7.1.20"; + } + + leaf ospfIfLsaCount { + type yang:gauge32; + description + "The total number of link-local link state advertisements + in this interface's link-local link state database."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.21"; + } + + leaf ospfIfLsaCksumSum { + type uint32; + description + "The 32-bit unsigned sum of the Link State + Advertisements' LS checksums contained in this + interface's link-local link state database. + The sum can be used to determine if there has + been a change in the interface's link state + database and to compare the interface link state + database of routers attached to the same subnet."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.22"; + } + + leaf ospfIfDesignatedRouterId { + type OSPF-MIB:RouterID; + description + "The Router ID of the designated router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.23"; + } + + leaf ospfIfBackupDesignatedRouterId { + type OSPF-MIB:RouterID; + description + "The Router ID of the backup designated router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.7.1.24"; + } + } + } + + container ospfIfMetricTable { + description + "The Metric Table describes the metrics to be advertised + for a specified interface at the various types of service. + As such, this table is an adjunct of the OSPF Interface + Table. + + Types of service, as defined by RFC 791, have the ability + to request low delay, high bandwidth, or reliable linkage. + + For the purposes of this specification, the measure of + bandwidth: + + Metric = referenceBandwidth / ifSpeed + + is the default value. + The default reference bandwidth is 10^8. + For multiple link interfaces, note that ifSpeed is the sum + of the individual link speeds. This yields a number having + the following typical values: + + Network Type/bit rate Metric + + >= 100 MBPS 1 + Ethernet/802.3 10 + E1 48 + T1 (ESF) 65 + 64 KBPS 1562 + 56 KBPS 1785 + 19.2 KBPS 5208 + 9.6 KBPS 10416 + + Routes that are not specified use the default + (TOS 0) metric. + + Note that the default reference bandwidth can be configured + using the general group object ospfReferenceBandwidth."; + reference + "OSPF Version 2, Appendix C.3 Router interface + parameters"; + smiv2:oid "1.3.6.1.2.1.14.8"; + + list ospfIfMetricEntry { + key "ospfIfMetricIpAddress ospfIfMetricAddressLessIf ospfIfMetricTOS"; + description + "A particular TOS metric for a non-virtual interface + identified by the interface index. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Appendix C.3 Router interface + parameters"; + smiv2:oid "1.3.6.1.2.1.14.8.1"; + + leaf ospfIfMetricIpAddress { + type inet:ipv4-address; + description + "The IP address of this OSPF interface. On row + creation, this can be derived from the instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.8.1.1"; + } + + leaf ospfIfMetricAddressLessIf { + type if-mib:InterfaceIndexOrZero; + description + "For the purpose of easing the instancing of + addressed and addressless interfaces; this + variable takes the value 0 on interfaces with + IP addresses and the value of ifIndex for + interfaces having no IP address. On row + creation, this can be derived from the instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.8.1.2"; + } + + leaf ospfIfMetricTOS { + type OSPF-MIB:TOSType; + description + "The Type of Service metric being referenced. + On row creation, this can be derived from the + instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.8.1.3"; + } + + leaf ospfIfMetricValue { + type OSPF-MIB:Metric; + description + "The metric of using this Type of Service on + this interface. The default value of the TOS 0 + metric is 10^8 / ifSpeed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.8.1.4"; + } + + leaf ospfIfMetricStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.8.1.5"; + } + } + } + + container ospfVirtIfTable { + description + "Information about this router's virtual interfaces + that the OSPF Process is configured to carry on."; + reference + "OSPF Version 2, Appendix C.4 Virtual link + parameters"; + smiv2:oid "1.3.6.1.2.1.14.9"; + + list ospfVirtIfEntry { + key "ospfVirtIfAreaId ospfVirtIfNeighbor"; + description + "Information about a single virtual interface. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + smiv2:oid "1.3.6.1.2.1.14.9.1"; + + leaf ospfVirtIfAreaId { + type OSPF-MIB:AreaID; + description + "The transit area that the virtual link + traverses. By definition, this is not 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.1"; + } + + leaf ospfVirtIfNeighbor { + type OSPF-MIB:RouterID; + description + "The Router ID of the virtual neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.2"; + } + + leaf ospfVirtIfTransitDelay { + type OSPF-MIB:UpToMaxAge; + units "seconds"; + description + "The estimated number of seconds it takes to + transmit a Link State update packet over this + interface. Note that the minimal value SHOULD be + 1 second."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.3"; + } + + leaf ospfVirtIfRetransInterval { + type OSPF-MIB:UpToMaxAge; + units "seconds"; + description + "The number of seconds between link state + avertisement retransmissions, for adjacencies + belonging to this interface. This value is + also used when retransmitting database + description and Link State request packets. This + value should be well over the expected + round-trip time. Note that the minimal value SHOULD be + 1 second."; + smiv2:defval "5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.4"; + } + + leaf ospfVirtIfHelloInterval { + type OSPF-MIB:HelloRange; + units "seconds"; + description + "The length of time, in seconds, between the + Hello packets that the router sends on the + interface. This value must be the same for the + virtual neighbor."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.5"; + } + + leaf ospfVirtIfRtrDeadInterval { + type OSPF-MIB:PositiveInteger; + units "seconds"; + description + "The number of seconds that a router's Hello + packets have not been seen before its + neighbors declare the router down. This should be + some multiple of the Hello interval. This + value must be the same for the virtual neighbor."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.6"; + } + + leaf ospfVirtIfState { + type enumeration { + enum "down" { + value "1"; + } + enum "pointToPoint" { + value "4"; + } + } + description + "OSPF virtual interface states."; + smiv2:defval "down"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.7"; + } + + leaf ospfVirtIfEvents { + type yang:counter32; + description + "The number of state changes or error events on + this virtual link. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.8"; + } + + leaf ospfVirtIfAuthKey { + type binary { + length "0..256"; + } + description + "The cleartext password used as an OSPF + authentication key when simplePassword security + is enabled. This object does not access any OSPF + cryptogaphic (e.g., MD5) authentication key under + any circumstance. + + If the key length is shorter than 8 octets, the + agent will left adjust and zero fill to 8 octets. + + Unauthenticated interfaces need no authentication + key, and simple password authentication cannot use + a key of more than 8 octets. + + Note that the use of simplePassword authentication + is NOT recommended when there is concern regarding + attack upon the OSPF system. SimplePassword + authentication is only sufficient to protect against + accidental misconfigurations because it re-uses + cleartext passwords. [RFC1704] + + When read, ospfIfAuthKey always returns an octet + string of length zero."; + reference + "OSPF Version 2, Section 9 The Interface Data + Structure"; + smiv2:defval "'0000000000000000'H"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.9"; + } + + leaf ospfVirtIfStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.10"; + } + + leaf ospfVirtIfAuthType { + type OSPF-MIB:OspfAuthenticationType; + description + "The authentication type specified for a virtual interface. + + Note that this object can be used to engage + in significant attacks against an OSPF router."; + reference + "OSPF Version 2, Appendix E Authentication"; + smiv2:defval "none"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.9.1.11"; + } + + leaf ospfVirtIfLsaCount { + type yang:gauge32; + description + "The total number of link-local link state advertisements + in this virtual interface's link-local link state database."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.12"; + } + + leaf ospfVirtIfLsaCksumSum { + type uint32; + description + "The 32-bit unsigned sum of the link state + advertisements' LS checksums contained in this + virtual interface's link-local link state database. + The sum can be used to determine if there has + been a change in the virtual interface's link state + database, and to compare the virtual interface + link state database of the virtual neighbors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.9.1.13"; + } + } + } + + container ospfNbrTable { + description + "A table describing all non-virtual neighbors + in the locality of the OSPF router."; + reference + "OSPF Version 2, Section 10 The Neighbor Data + Structure"; + smiv2:oid "1.3.6.1.2.1.14.10"; + + list ospfNbrEntry { + key "ospfNbrIpAddr ospfNbrAddressLessIndex"; + description + "The information regarding a single neighbor. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + + storage."; + reference + "OSPF Version 2, Section 10 The Neighbor Data + Structure"; + smiv2:oid "1.3.6.1.2.1.14.10.1"; + + leaf ospfNbrIpAddr { + type inet:ipv4-address; + description + "The IP address this neighbor is using in its + IP source address. Note that, on addressless + links, this will not be 0.0.0.0 but the + + address of another of the neighbor's interfaces."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.1"; + } + + leaf ospfNbrAddressLessIndex { + type if-mib:InterfaceIndexOrZero; + description + "On an interface having an IP address, zero. + On addressless interfaces, the corresponding + value of ifIndex in the Internet Standard MIB. + On row creation, this can be derived from the + instance."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.2"; + } + + leaf ospfNbrRtrId { + type OSPF-MIB:RouterID; + description + "A 32-bit integer (represented as a type + IpAddress) uniquely identifying the neighboring + router in the Autonomous System."; + smiv2:defval "'00000000'H"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.3"; + } + + leaf ospfNbrOptions { + type int32; + description + "A bit mask corresponding to the neighbor's + options field. + + Bit 0, if set, indicates that the system will + operate on Type of Service metrics other than + TOS 0. If zero, the neighbor will ignore all + metrics except the TOS 0 metric. + + Bit 1, if set, indicates that the associated + area accepts and operates on external + information; if zero, it is a stub area. + + Bit 2, if set, indicates that the system is + capable of routing IP multicast datagrams, that is + that it implements the multicast extensions to + OSPF. + + Bit 3, if set, indicates that the associated + area is an NSSA. These areas are capable of + carrying type-7 external advertisements, which + are translated into type-5 external advertisements + at NSSA borders."; + reference + "OSPF Version 2, Section 12.1.2 Options"; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.4"; + } + + leaf ospfNbrPriority { + type OSPF-MIB:DesignatedRouterPriority; + description + "The priority of this neighbor in the designated + router election algorithm. The value 0 signifies + that the neighbor is not eligible to become + the designated router on this particular network."; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.10.1.5"; + } + + leaf ospfNbrState { + type enumeration { + enum "down" { + value "1"; + } + enum "attempt" { + value "2"; + } + enum "init" { + value "3"; + } + enum "twoWay" { + value "4"; + } + enum "exchangeStart" { + value "5"; + } + enum "exchange" { + value "6"; + } + enum "loading" { + value "7"; + } + enum "full" { + value "8"; + } + } + description + "The state of the relationship with this neighbor."; + reference + "OSPF Version 2, Section 10.1 Neighbor States"; + smiv2:defval "down"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.6"; + } + + leaf ospfNbrEvents { + type yang:counter32; + description + "The number of times this neighbor relationship + has changed state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.7"; + } + + leaf ospfNbrLsRetransQLen { + type yang:gauge32; + description + "The current length of the retransmission + queue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.8"; + } + + leaf ospfNbmaNbrStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.10.1.9"; + } + + leaf ospfNbmaNbrPermanence { + type enumeration { + enum "dynamic" { + value "1"; + } + enum "permanent" { + value "2"; + } + } + description + "This variable displays the status of the entry; + 'dynamic' and 'permanent' refer to how the neighbor + became known."; + smiv2:defval "permanent"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.10"; + } + + leaf ospfNbrHelloSuppressed { + type boolean; + description + "Indicates whether Hellos are being suppressed + to the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.11"; + } + + leaf ospfNbrRestartHelperStatus { + type enumeration { + enum "notHelping" { + value "1"; + } + enum "helping" { + value "2"; + } + } + description + "Indicates whether the router is acting + as a graceful restart helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.12"; + } + + leaf ospfNbrRestartHelperAge { + type uint32; + units "seconds"; + description + "Remaining time in current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.13"; + } + + leaf ospfNbrRestartHelperExitReason { + type enumeration { + enum "none" { + value "1"; + } + enum "inProgress" { + value "2"; + } + enum "completed" { + value "3"; + } + enum "timedOut" { + value "4"; + } + enum "topologyChanged" { + value "5"; + } + } + description + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.10.1.14"; + } + } + } + + container ospfVirtNbrTable { + description + "This table describes all virtual neighbors. + Since virtual links are configured + in the Virtual Interface Table, this table is read-only."; + reference + "OSPF Version 2, Section 15 Virtual Links"; + smiv2:oid "1.3.6.1.2.1.14.11"; + + list ospfVirtNbrEntry { + key "ospfVirtNbrArea ospfVirtNbrRtrId"; + description + "Virtual neighbor information."; + smiv2:oid "1.3.6.1.2.1.14.11.1"; + + leaf ospfVirtNbrArea { + type OSPF-MIB:AreaID; + description + "The Transit Area Identifier."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.1"; + } + + leaf ospfVirtNbrRtrId { + type OSPF-MIB:RouterID; + description + "A 32-bit integer uniquely identifying the + neighboring router in the Autonomous System."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.2"; + } + + leaf ospfVirtNbrIpAddr { + type inet:ipv4-address; + description + "The IP address this virtual neighbor is using."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.3"; + } + + leaf ospfVirtNbrOptions { + type int32; + description + "A bit mask corresponding to the neighbor's + options field. + + Bit 1, if set, indicates that the system will + operate on Type of Service metrics other than + TOS 0. If zero, the neighbor will ignore all + metrics except the TOS 0 metric. + + Bit 2, if set, indicates that the system is + network multicast capable, i.e., that it + implements OSPF multicast routing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.4"; + } + + leaf ospfVirtNbrState { + type enumeration { + enum "down" { + value "1"; + } + enum "attempt" { + value "2"; + } + enum "init" { + value "3"; + } + enum "twoWay" { + value "4"; + } + enum "exchangeStart" { + value "5"; + } + enum "exchange" { + value "6"; + } + enum "loading" { + value "7"; + } + enum "full" { + value "8"; + } + } + description + "The state of the virtual neighbor relationship."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.5"; + } + + leaf ospfVirtNbrEvents { + type yang:counter32; + description + "The number of times this virtual link has + changed its state or an error has occurred. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at other + times as indicated by the value of ospfDiscontinuityTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.6"; + } + + leaf ospfVirtNbrLsRetransQLen { + type yang:gauge32; + description + "The current length of the retransmission + queue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.7"; + } + + leaf ospfVirtNbrHelloSuppressed { + type boolean; + description + "Indicates whether Hellos are being suppressed + to the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.8"; + } + + leaf ospfVirtNbrRestartHelperStatus { + type enumeration { + enum "notHelping" { + value "1"; + } + enum "helping" { + value "2"; + } + } + description + "Indicates whether the router is acting + as a graceful restart helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.9"; + } + + leaf ospfVirtNbrRestartHelperAge { + type uint32; + units "seconds"; + description + "Remaining time in current OSPF graceful restart + interval, if the router is acting as a restart + helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.10"; + } + + leaf ospfVirtNbrRestartHelperExitReason { + type enumeration { + enum "none" { + value "1"; + } + enum "inProgress" { + value "2"; + } + enum "completed" { + value "3"; + } + enum "timedOut" { + value "4"; + } + enum "topologyChanged" { + value "5"; + } + } + description + "Describes the outcome of the last attempt at acting + as a graceful restart helper for the neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.11.1.11"; + } + } + } + + container ospfExtLsdbTable { + status deprecated; + description + "The OSPF Process's external LSA link state database. + + This table is identical to the OSPF LSDB Table + in format, but contains only external link state + advertisements. The purpose is to allow external + + LSAs to be displayed once for the router rather + than once in each non-stub area. + + Note that external LSAs are also in the AS-scope link state + database."; + reference + "OSPF Version 2, Section 12 Link State Advertisements"; + smiv2:oid "1.3.6.1.2.1.14.12"; + + list ospfExtLsdbEntry { + key "ospfExtLsdbType ospfExtLsdbLsid ospfExtLsdbRouterId"; + status deprecated; + description + "A single link state advertisement."; + smiv2:oid "1.3.6.1.2.1.14.12.1"; + + leaf ospfExtLsdbType { + type enumeration { + enum "asExternalLink" { + value "5"; + } + } + status deprecated; + description + "The type of the link state advertisement. + Each link state type has a separate advertisement + format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.1"; + } + + leaf ospfExtLsdbLsid { + type inet:ipv4-address; + status deprecated; + description + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.2"; + } + + leaf ospfExtLsdbRouterId { + type OSPF-MIB:RouterID; + status deprecated; + description + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.3"; + } + + leaf ospfExtLsdbSequence { + type int32; + status deprecated; + description + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.4"; + } + + leaf ospfExtLsdbAge { + type int32; + units "seconds"; + status deprecated; + description + "This field is the age of the link state + advertisement in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.5"; + } + + leaf ospfExtLsdbChecksum { + type int32; + status deprecated; + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.6"; + } + + leaf ospfExtLsdbAdvertisement { + type binary { + length "36"; + } + status deprecated; + description + "The entire link state advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.12.1.7"; + } + } + } + + container ospfAreaAggregateTable { + description + "The Area Aggregate Table acts as an adjunct + to the Area Table. It describes those address aggregates + that are configured to be propagated from an area. + Its purpose is to reduce the amount of information + that is known beyond an Area's borders. + + It contains a set of IP address ranges + specified by an IP address/IP network mask pair. + For example, a class B address range of X.X.X.X + with a network mask of 255.255.0.0 includes all IP + addresses from X.X.0.0 to X.X.255.255. + + Note that if ranges are configured such that one range + subsumes another range (e.g., 10.0.0.0 mask 255.0.0.0 + and 10.1.0.0 mask 255.255.0.0), + the most specific match is the preferred one."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:oid "1.3.6.1.2.1.14.14"; + + list ospfAreaAggregateEntry { + key "ospfAreaAggregateAreaID ospfAreaAggregateLsdbType ospfAreaAggregateNet ospfAreaAggregateMask"; + description + "A single area aggregate entry. + + Information in this table is persistent and when this object + is written the entity SHOULD save the change to non-volatile + storage."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:oid "1.3.6.1.2.1.14.14.1"; + + leaf ospfAreaAggregateAreaID { + type OSPF-MIB:AreaID; + description + "The area within which the address aggregate is to be + found."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.14.1.1"; + } + + leaf ospfAreaAggregateLsdbType { + type enumeration { + enum "summaryLink" { + value "3"; + } + enum "nssaExternalLink" { + value "7"; + } + } + description + "The type of the address aggregate. This field + specifies the Lsdb type that this address + aggregate applies to."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.14.1.2"; + } + + leaf ospfAreaAggregateNet { + type inet:ipv4-address; + description + "The IP address of the net or subnet indicated + by the range."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.14.1.3"; + } + + leaf ospfAreaAggregateMask { + type inet:ipv4-address; + description + "The subnet mask that pertains to the net or + subnet."; + reference + "OSPF Version 2, Appendix C.2 Area parameters"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.14.1.4"; + } + + leaf ospfAreaAggregateStatus { + type snmpv2-tc:RowStatus; + description + "This object permits management of the table by + facilitating actions such as row creation, + construction, and destruction. + + The value of this object has no effect on + whether other objects in this conceptual row can be + modified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.14.1.5"; + } + + leaf ospfAreaAggregateEffect { + type enumeration { + enum "advertiseMatching" { + value "1"; + } + enum "doNotAdvertiseMatching" { + value "2"; + } + } + description + "Subnets subsumed by ranges either trigger the + advertisement of the indicated aggregate + (advertiseMatching) or result in the subnet's not + being advertised at all outside the area."; + smiv2:defval "advertiseMatching"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.14.1.6"; + } + + leaf ospfAreaAggregateExtRouteTag { + type uint32; + description + "External route tag to be included in NSSA (type-7) + LSAs."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.14.1.7"; + } + } + } + + container ospfLocalLsdbTable { + description + "The OSPF Process's link-local link state database + for non-virtual links. + This table is identical to the OSPF LSDB Table + in format, but contains only link-local Link State + Advertisements for non-virtual links. The purpose is + to allow link-local LSAs to be displayed for each + non-virtual interface. This table is implemented to + support type-9 LSAs that are defined + in 'The OSPF Opaque LSA Option'."; + reference + "OSPF Version 2, Section 12 Link State Advertisements + and The OSPF Opaque LSA Option"; + smiv2:oid "1.3.6.1.2.1.14.17"; + + list ospfLocalLsdbEntry { + key "ospfLocalLsdbIpAddress ospfLocalLsdbAddressLessIf ospfLocalLsdbType ospfLocalLsdbLsid ospfLocalLsdbRouterId"; + description + "A single link state advertisement."; + smiv2:oid "1.3.6.1.2.1.14.17.1"; + + leaf ospfLocalLsdbIpAddress { + type inet:ipv4-address; + description + "The IP address of the interface from + which the LSA was received if the interface is + numbered."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.17.1.1"; + } + + leaf ospfLocalLsdbAddressLessIf { + type if-mib:InterfaceIndexOrZero; + description + "The interface index of the interface from + which the LSA was received if the interface is + unnumbered."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.17.1.2"; + } + + leaf ospfLocalLsdbType { + type enumeration { + enum "localOpaqueLink" { + value "9"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate + advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.17.1.3"; + } + + leaf ospfLocalLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing a 32-bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.17.1.4"; + } + + leaf ospfLocalLsdbRouterId { + type OSPF-MIB:RouterID; + description + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.17.1.5"; + } + + leaf ospfLocalLsdbSequence { + type int32; + description + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.17.1.6"; + } + + leaf ospfLocalLsdbAge { + type int32; + units "seconds"; + description + "This field is the age of the link state + advertisement in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.17.1.7"; + } + + leaf ospfLocalLsdbChecksum { + type int32; + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.17.1.8"; + } + + leaf ospfLocalLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire link state advertisement, including + its header. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.17.1.9"; + } + } + } + + container ospfVirtLocalLsdbTable { + description + "The OSPF Process's link-local link state database + for virtual links. + + This table is identical to the OSPF LSDB Table + in format, but contains only link-local Link State + Advertisements for virtual links. The purpose is to + allow link-local LSAs to be displayed for each virtual + interface. This table is implemented to support type-9 LSAs + that are defined in 'The OSPF Opaque LSA Option'."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements and The OSPF Opaque LSA Option"; + smiv2:oid "1.3.6.1.2.1.14.18"; + + list ospfVirtLocalLsdbEntry { + key "ospfVirtLocalLsdbTransitArea ospfVirtLocalLsdbNeighbor ospfVirtLocalLsdbType ospfVirtLocalLsdbLsid ospfVirtLocalLsdbRouterId"; + description + "A single link state advertisement."; + smiv2:oid "1.3.6.1.2.1.14.18.1"; + + leaf ospfVirtLocalLsdbTransitArea { + type OSPF-MIB:AreaID; + description + "The transit area that the virtual link + traverses. By definition, this is not 0.0.0.0."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.18.1.1"; + } + + leaf ospfVirtLocalLsdbNeighbor { + type OSPF-MIB:RouterID; + description + "The Router ID of the virtual neighbor."; + reference + "OSPF Version 2, Appendix C.3 Interface parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.18.1.2"; + } + + leaf ospfVirtLocalLsdbType { + type enumeration { + enum "localOpaqueLink" { + value "9"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate + advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.18.1.3"; + } + + leaf ospfVirtLocalLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing a 32-bit identifier in IP address format; + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.18.1.4"; + } + + leaf ospfVirtLocalLsdbRouterId { + type OSPF-MIB:RouterID; + description + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.18.1.5"; + } + + leaf ospfVirtLocalLsdbSequence { + type int32; + description + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.18.1.6"; + } + + leaf ospfVirtLocalLsdbAge { + type int32; + units "seconds"; + description + "This field is the age of the link state + advertisement in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.18.1.7"; + } + + leaf ospfVirtLocalLsdbChecksum { + type int32; + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly + referred to as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.18.1.8"; + } + + leaf ospfVirtLocalLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire link state advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.18.1.9"; + } + } + } + + container ospfAsLsdbTable { + description + "The OSPF Process's AS-scope LSA link state database. + The database contains the AS-scope Link State + Advertisements from throughout the areas that + the device is attached to. + + This table is identical to the OSPF LSDB Table + in format, but contains only AS-scope Link State + Advertisements. The purpose is to allow AS-scope + LSAs to be displayed once for the router rather + than once in each non-stub area."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements"; + smiv2:oid "1.3.6.1.2.1.14.19"; + + list ospfAsLsdbEntry { + key "ospfAsLsdbType ospfAsLsdbLsid ospfAsLsdbRouterId"; + description + "A single link state advertisement."; + smiv2:oid "1.3.6.1.2.1.14.19.1"; + + leaf ospfAsLsdbType { + type enumeration { + enum "asExternalLink" { + value "5"; + } + enum "asOpaqueLink" { + value "11"; + } + } + description + "The type of the link state advertisement. + Each link state type has a separate + advertisement format."; + reference + "OSPF Version 2, Appendix A.4.1 The Link State + Advertisement header"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.19.1.1"; + } + + leaf ospfAsLsdbLsid { + type inet:ipv4-address; + description + "The Link State ID is an LS Type Specific field + containing either a Router ID or an IP address; + + it identifies the piece of the routing domain + that is being described by the advertisement."; + reference + "OSPF Version 2, Section 12.1.4 Link State ID"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.19.1.2"; + } + + leaf ospfAsLsdbRouterId { + type OSPF-MIB:RouterID; + description + "The 32-bit number that uniquely identifies the + originating router in the Autonomous System."; + reference + "OSPF Version 2, Appendix C.1 Global parameters"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.19.1.3"; + } + + leaf ospfAsLsdbSequence { + type int32; + description + "The sequence number field is a signed 32-bit + integer. It starts with the value '80000001'h, + or -'7FFFFFFF'h, and increments until '7FFFFFFF'h. + Thus, a typical sequence number will be very negative. + It is used to detect old and duplicate link state + advertisements. The space of sequence numbers is linearly + ordered. The larger the sequence number, the more recent + the advertisement."; + reference + "OSPF Version 2, Section 12.1.6 LS sequence + number"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.19.1.4"; + } + + leaf ospfAsLsdbAge { + type int32; + units "seconds"; + description + "This field is the age of the link state + advertisement in seconds."; + reference + "OSPF Version 2, Section 12.1.1 LS age"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.19.1.5"; + } + + leaf ospfAsLsdbChecksum { + type int32; + description + "This field is the checksum of the complete + contents of the advertisement, excepting the + age field. The age field is excepted so that + an advertisement's age can be incremented + without updating the checksum. The checksum + used is the same that is used for ISO + connectionless datagrams; it is commonly referred + to as the Fletcher checksum."; + reference + "OSPF Version 2, Section 12.1.7 LS checksum"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.19.1.6"; + } + + leaf ospfAsLsdbAdvertisement { + type binary { + length "1..65535"; + } + description + "The entire link state advertisement, including + its header."; + reference + "OSPF Version 2, Section 12 Link State + Advertisements. + + Note that for variable length LSAs, SNMP agents + may not be able to return the largest string size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.19.1.7"; + } + } + } + + container ospfAreaLsaCountTable { + description + "This table maintains per-area, per-LSA-type counters"; + smiv2:oid "1.3.6.1.2.1.14.20"; + + list ospfAreaLsaCountEntry { + key "ospfAreaLsaCountAreaId ospfAreaLsaCountLsaType"; + description + "An entry with a number of link advertisements + + of a given type for a given area."; + smiv2:oid "1.3.6.1.2.1.14.20.1"; + + leaf ospfAreaLsaCountAreaId { + type OSPF-MIB:AreaID; + description + "This entry Area ID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.20.1.1"; + } + + leaf ospfAreaLsaCountLsaType { + type enumeration { + enum "routerLink" { + value "1"; + } + enum "networkLink" { + value "2"; + } + enum "summaryLink" { + value "3"; + } + enum "asSummaryLink" { + value "4"; + } + enum "multicastLink" { + value "6"; + } + enum "nssaExternalLink" { + value "7"; + } + enum "areaOpaqueLink" { + value "10"; + } + } + description + "This entry LSA type."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.14.20.1.2"; + } + + leaf ospfAreaLsaCountNumber { + type yang:gauge32; + description + "Number of LSAs of a given type for a given area."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.20.1.3"; + } + } + } + } + + smiv2:alias "ospf" { + smiv2:oid "1.3.6.1.2.1.14"; + } + + smiv2:alias "ospfGeneralGroup" { + smiv2:oid "1.3.6.1.2.1.14.1"; + } + + smiv2:alias "ospfRouteGroup" { + smiv2:oid "1.3.6.1.2.1.14.13"; + } + + smiv2:alias "ospfIntraArea" { + smiv2:oid "1.3.6.1.2.1.14.13.1"; + } + + smiv2:alias "ospfInterArea" { + smiv2:oid "1.3.6.1.2.1.14.13.2"; + } + + smiv2:alias "ospfExternalType1" { + smiv2:oid "1.3.6.1.2.1.14.13.3"; + } + + smiv2:alias "ospfExternalType2" { + smiv2:oid "1.3.6.1.2.1.14.13.4"; + } + + smiv2:alias "ospfConformance" { + smiv2:oid "1.3.6.1.2.1.14.15"; + } + + smiv2:alias "ospfGroups" { + smiv2:oid "1.3.6.1.2.1.14.15.1"; + } + + smiv2:alias "ospfCompliances" { + smiv2:oid "1.3.6.1.2.1.14.15.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/OSPF-TRAP-MIB.yang b/vendor/cisco/xe/17151/MIBS/OSPF-TRAP-MIB.yang new file mode 100644 index 000000000..1d1b5911b --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/OSPF-TRAP-MIB.yang @@ -0,0 +1,1906 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/OSPF-TRAP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang OSPF-TRAP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module OSPF-TRAP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB"; + prefix OSPF-TRAP-MIB; + + import OSPF-MIB { + prefix "ospf-mib"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF OSPF Working Group"; + + contact + "WG E-Mail: ospf@ietf.org + + WG Chairs: acee@cisco.com + rohit@gmail.com + + Editors: Dan Joyal + Nortel + 600 Technology Park Drive + Billerica, MA 01821 + djoyal@nortel.com + + Piotr Galecki + Airvana + 19 Alpha Road + Chelmsford, MA 01824 + pgalecki@airvana.com + + Spencer Giacalone + CSFB + Eleven Madison Ave + New York, NY 10010-3629 + + spencer.giacalone@gmail.com"; + + description + "The MIB module to describe traps for the OSPF + Version 2 Protocol. + + Copyright (C) The IETF Trust (2006). + This version of this MIB module is part of + RFC 4750; see the RFC itself for full legal + notices."; + + revision 2006-11-10 { + description + "Updated for latest changes to OSPFv2: + -added graceful restart related traps + -added new config error types + -added ospfNssaTranslatorStatusChange trap. + See Appendix B of RFC 4750 for more details. + + This version published as part of RFC 4750"; + } + + revision 1995-01-20 { + description + "The initial SMIv2 revision of this MIB module, published + in RFC 1850."; + } + + + container OSPF-TRAP-MIB { + config false; + + container ospfTrapControl { + smiv2:oid "1.3.6.1.2.1.14.16.1"; + + leaf ospfSetTrap { + type binary { + length "4"; + } + description + "A 4-octet string serving as a bit map for + the trap events defined by the OSPF traps. This + object is used to enable and disable specific + OSPF traps where a 1 in the bit field + represents enabled. The right-most bit (least + significant) represents trap 0. + + This object is persistent and when written + + the entity SHOULD save the change to non-volatile + storage."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.14.16.1.1"; + } + + leaf ospfConfigErrorType { + type enumeration { + enum "badVersion" { + value "1"; + } + enum "areaMismatch" { + value "2"; + } + enum "unknownNbmaNbr" { + value "3"; + } + enum "unknownVirtualNbr" { + value "4"; + } + enum "authTypeMismatch" { + value "5"; + } + enum "authFailure" { + value "6"; + } + enum "netMaskMismatch" { + value "7"; + } + enum "helloIntervalMismatch" { + value "8"; + } + enum "deadIntervalMismatch" { + value "9"; + } + enum "optionMismatch" { + value "10"; + } + enum "mtuMismatch" { + value "11"; + } + enum "duplicateRouterId" { + value "12"; + } + enum "noError" { + value "13"; + } + } + description + "Potential types of configuration conflicts. + Used by the ospfConfigError and + ospfConfigVirtError traps. When the last value + of a trap using this object is needed, but no + traps of that type have been sent, this value + pertaining to this object should be returned as + noError."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.16.1.2"; + } + + leaf ospfPacketType { + type enumeration { + enum "hello" { + value "1"; + } + enum "dbDescript" { + value "2"; + } + enum "lsReq" { + value "3"; + } + enum "lsUpdate" { + value "4"; + } + enum "lsAck" { + value "5"; + } + enum "nullPacket" { + value "6"; + } + } + description + "OSPF packet types. When the last value of a trap + using this object is needed, but no traps of + that type have been sent, this value pertaining + to this object should be returned as nullPacket."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.16.1.3"; + } + + leaf ospfPacketSrc { + type inet:ipv4-address; + description + "The IP address of an inbound packet that cannot + be identified by a neighbor instance. When + the last value of a trap using this object is + needed, but no traps of that type have been sent, + this value pertaining to this object should + be returned as 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.14.16.1.4"; + } + } + } + + notification ospfVirtIfStateChange { + description + "An ospfVirtIfStateChange trap signifies that there + has been a change in the state of an OSPF virtual + interface. + + This trap should be generated when the interface + state regresses (e.g., goes from Point-to-Point to Down) + or progresses to a terminal state + (i.e., Point-to-Point)."; + smiv2:oid "1.3.6.1.2.1.14.16.2.1"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfState"; + } + } + } + } + + notification ospfNbrStateChange { + description + "An ospfNbrStateChange trap signifies that + there has been a change in the state of a + non-virtual OSPF neighbor. This trap should be + generated when the neighbor state regresses + (e.g., goes from Attempt or Full to 1-Way or + Down) or progresses to a terminal state (e.g., + + 2-Way or Full). When an neighbor transitions + from or to Full on non-broadcast multi-access + and broadcast networks, the trap should be + generated by the designated router. A designated + router transitioning to Down will be noted by + ospfIfStateChange."; + smiv2:oid "1.3.6.1.2.1.14.16.2.2"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + } + + container object-3 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + } + + container object-4 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRtrId"; + } + } + } + + container object-5 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrState"; + } + } + } + } + + notification ospfVirtNbrStateChange { + description + "An ospfVirtNbrStateChange trap signifies that there + has been a change in the state of an OSPF virtual + neighbor. This trap should be generated + when the neighbor state regresses (e.g., goes + from Attempt or Full to 1-Way or Down) or + progresses to a terminal state (e.g., Full)."; + smiv2:oid "1.3.6.1.2.1.14.16.2.3"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + } + + container object-3 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + } + + container object-4 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrState"; + } + } + } + } + + notification ospfIfConfigError { + description + "An ospfIfConfigError trap signifies that a + packet has been received on a non-virtual + interface from a router whose configuration + parameters conflict with this router's + configuration parameters. Note that the event + optionMismatch should cause a trap only if it + prevents an adjacency from forming."; + smiv2:oid "1.3.6.1.2.1.14.16.2.4"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfPacketSrc { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketSrc"; + } + } + } + + container object-5 { + + leaf ospfConfigErrorType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfConfigErrorType"; + } + } + } + + container object-6 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfVirtIfConfigError { + description + "An ospfVirtIfConfigError trap signifies that a + packet has been received on a virtual interface + from a router whose configuration parameters + conflict with this router's configuration + parameters. Note that the event optionMismatch + should cause a trap only if it prevents an + adjacency from forming."; + smiv2:oid "1.3.6.1.2.1.14.16.2.5"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf ospfConfigErrorType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfConfigErrorType"; + } + } + } + + container object-5 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfIfAuthFailure { + description + "An ospfIfAuthFailure trap signifies that a + packet has been received on a non-virtual + interface from a router whose authentication key + or authentication type conflicts with this + router's authentication key or authentication + type."; + smiv2:oid "1.3.6.1.2.1.14.16.2.6"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfPacketSrc { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketSrc"; + } + } + } + + container object-5 { + + leaf ospfConfigErrorType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfConfigErrorType"; + } + } + } + + container object-6 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfVirtIfAuthFailure { + description + "An ospfVirtIfAuthFailure trap signifies that a + packet has been received on a virtual interface + from a router whose authentication key or + authentication type conflicts with this router's + authentication key or authentication type."; + smiv2:oid "1.3.6.1.2.1.14.16.2.7"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf ospfConfigErrorType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfConfigErrorType"; + } + } + } + + container object-5 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfIfRxBadPacket { + description + "An ospfIfRxBadPacket trap signifies that an + OSPF packet has been received on a non-virtual + interface that cannot be parsed."; + smiv2:oid "1.3.6.1.2.1.14.16.2.8"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfPacketSrc { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketSrc"; + } + } + } + + container object-5 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfVirtIfRxBadPacket { + description + "An ospfVirtIfRxBadPacket trap signifies that an OSPF + packet has been received on a virtual interface + that cannot be parsed."; + smiv2:oid "1.3.6.1.2.1.14.16.2.9"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + } + + notification ospfTxRetransmit { + description + "An ospfTxRetransmit trap signifies than an + OSPF packet has been retransmitted on a + non-virtual interface. All packets that may be + retransmitted are associated with an LSDB entry. + The LS type, LS ID, and Router ID are used to + identify the LSDB entry."; + smiv2:oid "1.3.6.1.2.1.14.16.2.10"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRtrId"; + } + } + } + + container object-5 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + + container object-6 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + } + + container object-7 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-8 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification ospfVirtIfTxRetransmit { + description + "An ospfVirtIfTxRetransmit trap signifies than an + OSPF packet has been retransmitted on a virtual + interface. All packets that may be retransmitted + are associated with an LSDB entry. The LS + type, LS ID, and Router ID are used to identify + the LSDB entry."; + smiv2:oid "1.3.6.1.2.1.14.16.2.11"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + } + + container object-3 { + + leaf ospfVirtIfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfAreaId"; + } + } + + leaf ospfVirtIfNeighbor { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtIfTable/ospf-mib:ospfVirtIfEntry/ospf-mib:ospfVirtIfNeighbor"; + } + } + } + + container object-4 { + + leaf ospfPacketType { + type leafref { + path "/OSPF-TRAP-MIB:OSPF-TRAP-MIB/OSPF-TRAP-MIB:ospfTrapControl/OSPF-TRAP-MIB:ospfPacketType"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + } + + container object-6 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-7 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification ospfOriginateLsa { + description + "An ospfOriginateLsa trap signifies that a new + LSA has been originated by this router. This + trap should not be invoked for simple refreshes + of LSAs (which happens every 30 minutes), but + instead will only be invoked when an LSA is + (re)originated due to a topology change. + Additionally, this trap does not include LSAs that + are being flushed because they have reached + MaxAge."; + smiv2:oid "1.3.6.1.2.1.14.16.2.12"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + } + + container object-3 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + } + + container object-4 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification ospfMaxAgeLsa { + description + "An ospfMaxAgeLsa trap signifies that one of + the LSAs in the router's link state database has + aged to MaxAge."; + smiv2:oid "1.3.6.1.2.1.14.16.2.13"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + } + + container object-3 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + } + + container object-4 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + } + + container object-5 { + + leaf ospfLsdbAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbAreaId"; + } + } + + leaf ospfLsdbType { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbType"; + } + } + + leaf ospfLsdbLsid { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbLsid"; + } + } + + leaf ospfLsdbRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfLsdbTable/ospf-mib:ospfLsdbEntry/ospf-mib:ospfLsdbRouterId"; + } + } + } + } + + notification ospfLsdbOverflow { + description + "An ospfLsdbOverflow trap signifies that the + number of LSAs in the router's link state + database has exceeded ospfExtLsdbLimit."; + smiv2:oid "1.3.6.1.2.1.14.16.2.14"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfExtLsdbLimit { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfExtLsdbLimit"; + } + } + } + } + + notification ospfLsdbApproachingOverflow { + description + "An ospfLsdbApproachingOverflow trap signifies + that the number of LSAs in the router's + link state database has exceeded ninety percent of + ospfExtLsdbLimit."; + smiv2:oid "1.3.6.1.2.1.14.16.2.15"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfExtLsdbLimit { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfExtLsdbLimit"; + } + } + } + } + + notification ospfIfStateChange { + description + "An ospfIfStateChange trap signifies that there + has been a change in the state of a non-virtual + OSPF interface. This trap should be generated + when the interface state regresses (e.g., goes + from Dr to Down) or progresses to a terminal + state (i.e., Point-to-Point, DR Other, Dr, or + Backup)."; + smiv2:oid "1.3.6.1.2.1.14.16.2.16"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + } + + container object-3 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + } + + container object-4 { + + leaf ospfIfIpAddress { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfIpAddress"; + } + } + + leaf ospfAddressLessIf { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfAddressLessIf"; + } + } + + leaf ospfIfState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfIfTable/ospf-mib:ospfIfEntry/ospf-mib:ospfIfState"; + } + } + } + } + + notification ospfNssaTranslatorStatusChange { + description + "An ospfNssaTranslatorStatusChange trap indicates that + there has been a change in the router's ability to + translate OSPF type-7 LSAs into OSPF type-5 LSAs. + This trap should be generated when the translator + status transitions from or to any defined status on + a per-area basis."; + smiv2:oid "1.3.6.1.2.1.14.16.2.17"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/ospf-mib:ospfAreaId"; + } + } + } + + container object-3 { + + leaf ospfAreaId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/ospf-mib:ospfAreaId"; + } + } + + leaf ospfAreaNssaTranslatorState { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfAreaTable/ospf-mib:ospfAreaEntry/ospf-mib:ospfAreaNssaTranslatorState"; + } + } + } + } + + notification ospfRestartStatusChange { + description + "An ospfRestartStatusChange trap signifies that + there has been a change in the graceful restart + state for the router. This trap should be + generated when the router restart status + changes."; + smiv2:oid "1.3.6.1.2.1.14.16.2.18"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfRestartStatus { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRestartStatus"; + } + } + } + + container object-3 { + + leaf ospfRestartInterval { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRestartInterval"; + } + } + } + + container object-4 { + + leaf ospfRestartExitReason { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRestartExitReason"; + } + } + } + } + + notification ospfNbrRestartHelperStatusChange { + description + "An ospfNbrRestartHelperStatusChange trap signifies that + there has been a change in the graceful restart + helper state for the neighbor. This trap should be + generated when the neighbor restart helper status + transitions for a neighbor."; + smiv2:oid "1.3.6.1.2.1.14.16.2.19"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + } + + container object-3 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + } + + container object-4 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRtrId"; + } + } + } + + container object-5 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRestartHelperStatus { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRestartHelperStatus"; + } + } + } + + container object-6 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRestartHelperAge { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRestartHelperAge"; + } + } + } + + container object-7 { + + leaf ospfNbrIpAddr { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrIpAddr"; + } + } + + leaf ospfNbrAddressLessIndex { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrAddressLessIndex"; + } + } + + leaf ospfNbrRestartHelperExitReason { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfNbrTable/ospf-mib:ospfNbrEntry/ospf-mib:ospfNbrRestartHelperExitReason"; + } + } + } + } + + notification ospfVirtNbrRestartHelperStatusChange { + description + "An ospfVirtNbrRestartHelperStatusChange trap signifies + that there has been a change in the graceful restart + helper state for the virtual neighbor. This trap should + be generated when the virtual neighbor restart helper + status transitions for a virtual neighbor."; + smiv2:oid "1.3.6.1.2.1.14.16.2.20"; + + container object-1 { + + leaf ospfRouterId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfGeneralGroup/ospf-mib:ospfRouterId"; + } + } + } + + container object-2 { + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + } + + container object-3 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + } + + container object-4 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrRestartHelperStatus { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRestartHelperStatus"; + } + } + } + + container object-5 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrRestartHelperAge { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRestartHelperAge"; + } + } + } + + container object-6 { + + leaf ospfVirtNbrArea { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrArea"; + } + } + + leaf ospfVirtNbrRtrId { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRtrId"; + } + } + + leaf ospfVirtNbrRestartHelperExitReason { + type leafref { + path "/ospf-mib:OSPF-MIB/ospf-mib:ospfVirtNbrTable/ospf-mib:ospfVirtNbrEntry/ospf-mib:ospfVirtNbrRestartHelperExitReason"; + } + } + } + } + + smiv2:alias "ospfTrap" { + smiv2:oid "1.3.6.1.2.1.14.16"; + } + + smiv2:alias "ospfTrapControl" { + smiv2:oid "1.3.6.1.2.1.14.16.1"; + } + + smiv2:alias "ospfTraps" { + smiv2:oid "1.3.6.1.2.1.14.16.2"; + } + + smiv2:alias "ospfTrapConformance" { + smiv2:oid "1.3.6.1.2.1.14.16.3"; + } + + smiv2:alias "ospfTrapGroups" { + smiv2:oid "1.3.6.1.2.1.14.16.3.1"; + } + + smiv2:alias "ospfTrapCompliances" { + smiv2:oid "1.3.6.1.2.1.14.16.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/P-BRIDGE-MIB.yang b/vendor/cisco/xe/17151/MIBS/P-BRIDGE-MIB.yang new file mode 100644 index 000000000..1bf577c1b --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/P-BRIDGE-MIB.yang @@ -0,0 +1,806 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/P-BRIDGE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang P-BRIDGE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module P-BRIDGE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB"; + prefix P-BRIDGE-MIB; + + import BRIDGE-MIB { + prefix "bridge-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Bridge MIB Working Group"; + + contact + "Email: bridge-mib@ietf.org + ietfmibs@ops.ietf.org + + David Levi + Postal: Nortel Networks + 4655 Great America Parkway + Santa Clara, CA 95054 + USA + Phone: +1 865 686 0432 + Email: dlevi@nortel.com + + David Harrington + Postal: Effective Software + 50 Harding Rd. + Portsmouth, NH 03801 + USA + Phone: +1 603 436 8634 + Email: ietfdbh@comcast.net + + Les Bell + Postal: Hemel Hempstead, Herts. HP2 7YU + UK + Email: elbell@ntlworld.com + + Vivian Ngai + + Email: vivian_ngai@acm.org + + Andrew Smith + Postal: Beijing Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089 + PRC + Fax: +1 415 345 1827 + Email: ah_smith@acm.org + + Paul Langille + Postal: Newbridge Networks + 5 Corporate Drive + Andover, MA 01810 + USA + Phone: +1 978 691 4665 + Email: langille@newbridge.com + + Anil Rijhsinghani + Postal: Accton Technology Corporation + 5 Mount Royal Ave + Marlboro, MA 01752 + USA + Phone: + Email: anil@accton.com + + Keith McCloghrie + Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + Phone: +1 408 526 5260 + Email: kzm@cisco.com"; + + description + "The Bridge MIB Extension module for managing Priority + and Multicast Filtering, defined by IEEE 802.1D-1998, + including Restricted Group Registration defined by + IEEE 802.1t-2001. + + Copyright (C) The Internet Society (2006). This version of + this MIB module is part of RFC 4363; See the RFC itself for + full legal notices."; + + revision 2006-01-09 { + description + "Added dot1dPortRestrictedGroupRegistration. + Deprecated pBridgePortGmrpGroup and pBridgeCompliance + and added pBridgePortGmrpGroup2 and pBridgeCompliance2."; + } + + revision 1999-08-25 { + description + "The Bridge MIB Extension module for managing Priority + and Multicast Filtering, defined by IEEE 802.1D-1998. + + Initial version, published as RFC 2674."; + } + + typedef EnabledStatus { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "A simple status value for the object."; + } + + + container P-BRIDGE-MIB { + config false; + + container dot1dExtBase { + smiv2:oid "1.3.6.1.2.1.17.6.1.1"; + + leaf dot1dDeviceCapabilities { + type bits { + bit dot1dExtendedFilteringServices { + position "0"; + } + bit dot1dTrafficClasses { + position "1"; + } + bit dot1qStaticEntryIndividualPort { + position "2"; + } + bit dot1qIVLCapable { + position "3"; + } + bit dot1qSVLCapable { + position "4"; + } + bit dot1qHybridCapable { + position "5"; + } + bit dot1qConfigurablePvidTagging { + position "6"; + } + bit dot1dLocalVlanCapable { + position "7"; + } + } + description + "Indicates the optional parts of IEEE 802.1D and 802.1Q + that are implemented by this device and are manageable + through this MIB. Capabilities that are allowed on a + per-port basis are indicated in dot1dPortCapabilities. + + dot1dExtendedFilteringServices(0), + -- can perform filtering of + -- individual multicast addresses + -- controlled by GMRP. + dot1dTrafficClasses(1), + -- can map user priority to + -- multiple traffic classes. + dot1qStaticEntryIndividualPort(2), + -- dot1qStaticUnicastReceivePort & + -- dot1qStaticMulticastReceivePort + -- can represent non-zero entries. + dot1qIVLCapable(3), -- Independent VLAN Learning (IVL). + dot1qSVLCapable(4), -- Shared VLAN Learning (SVL). + dot1qHybridCapable(5), + -- both IVL & SVL simultaneously. + dot1qConfigurablePvidTagging(6), + -- whether the implementation + -- supports the ability to + -- override the default PVID + -- setting and its egress status + -- (VLAN-Tagged or Untagged) on + -- each port. + dot1dLocalVlanCapable(7) + -- can support multiple local + -- bridges, outside of the scope + -- of 802.1Q defined VLANs."; + reference + "ISO/IEC 15802-3 Section 5.2, + IEEE 802.1Q/D11 Section 5.2, 12.10.1.1.3/b/2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.1"; + } + + leaf dot1dTrafficClassesEnabled { + type boolean; + description + "The value true(1) indicates that Traffic Classes are + enabled on this bridge. When false(2), the bridge + operates with a single priority level for all traffic. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "true"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.2"; + } + + leaf dot1dGmrpStatus { + type P-BRIDGE-MIB:EnabledStatus; + description + "The administrative status requested by management for + GMRP. The value enabled(1) indicates that GMRP should + be enabled on this device, in all VLANs, on all ports + for which it has not been specifically disabled. When + disabled(2), GMRP is disabled, in all VLANs and on all + ports, and all GMRP packets will be forwarded + transparently. This object affects both Applicant and + Registrar state machines. A transition from disabled(2) + to enabled(1) will cause a reset of all GMRP state + machines on all ports. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.3"; + } + } + + container dot1dTpHCPortTable { + description + "A table that contains information about every high- + capacity port that is associated with this transparent + bridge."; + smiv2:oid "1.3.6.1.2.1.17.4.5"; + + list dot1dTpHCPortEntry { + key "dot1dTpPort"; + description + "Statistics information for each high-capacity port of a + transparent bridge."; + smiv2:oid "1.3.6.1.2.1.17.4.5.1"; + + leaf dot1dTpPort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpPortTable/bridge-mib:dot1dTpPortEntry/bridge-mib:dot1dTpPort"; + } + } + + leaf dot1dTpHCPortInFrames { + type yang:counter64; + description + "The number of frames that have been received by this + port from its segment. Note that a frame received on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.5.1.1"; + } + + leaf dot1dTpHCPortOutFrames { + type yang:counter64; + description + "The number of frames that have been transmitted by this + port to its segment. Note that a frame transmitted on + the interface corresponding to this port is only counted + by this object if and only if it is for a protocol being + processed by the local bridging function, including + bridge management frames."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.5.1.2"; + } + + leaf dot1dTpHCPortInDiscards { + type yang:counter64; + description + "Count of valid frames that have been received by this + port from its segment that were discarded (i.e., + filtered) by the Forwarding Process."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.5.1.3"; + } + } + } + + container dot1dTpPortOverflowTable { + description + "A table that contains the most-significant bits of + statistics counters for ports that are associated with this + transparent bridge that are on high-capacity interfaces, as + defined in the conformance clauses for this table. This table + is provided as a way to read 64-bit counters for agents that + support only SNMPv1. + + Note that the reporting of most-significant and + least-significant counter bits separately runs the risk of + missing an overflow of the lower bits in the interval between + sampling. The manager must be aware of this possibility, even + within the same varbindlist, when interpreting the results of + a request or asynchronous notification."; + smiv2:oid "1.3.6.1.2.1.17.4.6"; + + list dot1dTpPortOverflowEntry { + key "dot1dTpPort"; + description + "The most significant bits of statistics counters for a high- + capacity interface of a transparent bridge. Each object is + associated with a corresponding object in dot1dTpPortTable + that indicates the least significant bits of the counter."; + smiv2:oid "1.3.6.1.2.1.17.4.6.1"; + + leaf dot1dTpPort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dTpPortTable/bridge-mib:dot1dTpPortEntry/bridge-mib:dot1dTpPort"; + } + } + + leaf dot1dTpPortInOverflowFrames { + type yang:counter32; + description + "The number of times the associated dot1dTpPortInFrames + counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.6.1.1"; + } + + leaf dot1dTpPortOutOverflowFrames { + type yang:counter32; + description + "The number of times the associated dot1dTpPortOutFrames + counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.6.1.2"; + } + + leaf dot1dTpPortInOverflowDiscards { + type yang:counter32; + description + "The number of times the associated + dot1dTpPortInDiscards counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.4.6.1.3"; + } + } + } + + container dot1dUserPriorityRegenTable { + description + "A list of Regenerated User Priorities for each received + User Priority on each port of a bridge. The Regenerated + User Priority value may be used to index the Traffic + Class Table for each input port. This only has effect + on media that support native User Priority. The default + values for Regenerated User Priorities are the same as + the User Priorities."; + reference + "ISO/IEC 15802-3 Section 6.4"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.2"; + + list dot1dUserPriorityRegenEntry { + key "dot1dBasePort dot1dUserPriority"; + description + "A mapping of incoming User Priority to a Regenerated + User Priority."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.2.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1dUserPriority { + type int32 { + range "0..7"; + } + description + "The User Priority for a frame received on this port."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.2.1.1"; + } + + leaf dot1dRegenUserPriority { + type int32 { + range "0..7"; + } + description + "The Regenerated User Priority that the incoming User + + Priority is mapped to for this port. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.2.1.2"; + } + } + } + + container dot1dTrafficClassTable { + description + "A table mapping evaluated User Priority to Traffic + Class, for forwarding by the bridge. Traffic class is a + number in the range (0..(dot1dPortNumTrafficClasses-1))."; + reference + "ISO/IEC 15802-3 Table 7-2"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.3"; + + list dot1dTrafficClassEntry { + key "dot1dBasePort dot1dTrafficClassPriority"; + description + "User Priority to Traffic Class mapping."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.3.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1dTrafficClassPriority { + type int32 { + range "0..7"; + } + description + "The Priority value determined for the received frame. + This value is equivalent to the priority indicated in + the tagged frame received, or one of the evaluated + priorities, determined according to the media-type. + + For untagged frames received from Ethernet media, this + value is equal to the dot1dPortDefaultUserPriority value + for the ingress port. + + For untagged frames received from non-Ethernet media, + this value is equal to the dot1dRegenUserPriority value + for the ingress port and media-specific user priority."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.3.1.1"; + } + + leaf dot1dTrafficClass { + type int32 { + range "0..7"; + } + description + "The Traffic Class the received frame is mapped to. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.3.1.2"; + } + } + } + + container dot1dPortOutboundAccessPriorityTable { + description + "A table mapping Regenerated User Priority to Outbound + Access Priority. This is a fixed mapping for all port + types, with two options for 802.5 Token Ring."; + reference + "ISO/IEC 15802-3 Table 7-3"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.4"; + + list dot1dPortOutboundAccessPriorityEntry { + key "dot1dBasePort dot1dRegenUserPriority"; + description + "Regenerated User Priority to Outbound Access Priority + mapping."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.4.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1dRegenUserPriority { + type leafref { + path "/P-BRIDGE-MIB:P-BRIDGE-MIB/P-BRIDGE-MIB:dot1dUserPriorityRegenTable/P-BRIDGE-MIB:dot1dUserPriorityRegenEntry/P-BRIDGE-MIB:dot1dRegenUserPriority"; + } + } + + leaf dot1dPortOutboundAccessPriority { + type int32 { + range "0..7"; + } + description + "The Outbound Access Priority the received frame is + mapped to."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.4.1.1"; + } + } + } + } + + smiv2:alias "dot1dPortCapabilitiesTable" { + description + "A table that contains capabilities information about + every port that is associated with this bridge."; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.4"; + } + + smiv2:alias "dot1dPortCapabilitiesEntry" { + description + "A set of capabilities information about this port + indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.4.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry" { + description + "A set of capabilities information about this port + indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.4.1"; + + leaf dot1dPortCapabilities { + type bits { + bit dot1qDot1qTagging { + position "0"; + } + bit dot1qConfigurableAcceptableFrameTypes { + position "1"; + } + bit dot1qIngressFiltering { + position "2"; + } + } + description + "Indicates the parts of IEEE 802.1D and 802.1Q that are + optional on a per-port basis, that are implemented by + this device, and that are manageable through this MIB. + + dot1qDot1qTagging(0), -- supports 802.1Q VLAN tagging of + -- frames and GVRP. + dot1qConfigurableAcceptableFrameTypes(1), + -- allows modified values of + -- dot1qPortAcceptableFrameTypes. + dot1qIngressFiltering(2) + -- supports the discarding of any + -- frame received on a Port whose + -- VLAN classification does not + -- include that Port in its Member + -- set."; + reference + "ISO/IEC 15802-3 Section 5.2, + IEEE 802.1Q/D11 Section 5.2"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.6.1.1.4.1.1"; + } + } + + smiv2:alias "dot1dPortPriorityTable" { + description + "A table that contains information about every port that + is associated with this transparent bridge."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.1"; + } + + smiv2:alias "dot1dPortPriorityEntry" { + description + "A list of Default User Priorities for each port of a + transparent bridge. This is indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.1.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry" { + description + "A list of Default User Priorities for each port of a + transparent bridge. This is indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.1.1"; + + leaf dot1dPortDefaultUserPriority { + type int32 { + range "0..7"; + } + description + "The default ingress User Priority for this port. This + only has effect on media, such as Ethernet, that do not + support native User Priority. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.1.1.1"; + } + + leaf dot1dPortNumTrafficClasses { + type int32 { + range "1..8"; + } + description + "The number of egress traffic classes supported on this + port. This object may optionally be read-only. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.2.1.1.2"; + } + } + + smiv2:alias "dot1dPortGarpTable" { + description + "A table of GARP control information about every bridge + port. This is indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1"; + } + + smiv2:alias "dot1dPortGarpEntry" { + description + "GARP control information for a bridge port."; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry" { + description + "GARP control information for a bridge port."; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1.1"; + + leaf dot1dPortGarpJoinTime { + type snmpv2-tc:TimeInterval; + description + "The GARP Join time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1.1.1"; + } + + leaf dot1dPortGarpLeaveTime { + type snmpv2-tc:TimeInterval; + description + "The GARP Leave time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "60"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1.1.2"; + } + + leaf dot1dPortGarpLeaveAllTime { + type snmpv2-tc:TimeInterval; + description + "The GARP LeaveAll time, in centiseconds. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "1000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.3.1.1.3"; + } + } + + smiv2:alias "dot1dPortGmrpTable" { + description + "A table of GMRP control and status information about + every bridge port. Augments the dot1dBasePortTable."; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1"; + } + + smiv2:alias "dot1dPortGmrpEntry" { + description + "GMRP control and status information for a bridge port."; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry" { + description + "GMRP control and status information for a bridge port."; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1"; + + leaf dot1dPortGmrpStatus { + type P-BRIDGE-MIB:EnabledStatus; + description + "The administrative state of GMRP operation on this port. The + value enabled(1) indicates that GMRP is enabled on this port + in all VLANs as long as dot1dGmrpStatus is also enabled(1). + A value of disabled(2) indicates that GMRP is disabled on + this port in all VLANs: any GMRP packets received will + be silently discarded, and no GMRP registrations will be + propagated from other ports. Setting this to a value of + enabled(1) will be stored by the agent but will only take + effect on the GMRP protocol operation if dot1dGmrpStatus + also indicates the value enabled(1). This object affects + all GMRP Applicant and Registrar state machines on this + port. A transition from disabled(2) to enabled(1) will + cause a reset of all GMRP state machines on this port. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1.1"; + } + + leaf dot1dPortGmrpFailedRegistrations { + type yang:counter32; + description + "The total number of failed GMRP registrations, for any + reason, in all VLANs, on this port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1.2"; + } + + leaf dot1dPortGmrpLastPduOrigin { + type yang:mac-address; + description + "The Source MAC Address of the last GMRP message + received on this port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1.3"; + } + + leaf dot1dPortRestrictedGroupRegistration { + type boolean; + description + "The state of Restricted Group Registration on this port. + If the value of this control is true(1), then creation + of a new dynamic entry is permitted only if there is a + Static Filtering Entry for the VLAN concerned, in which + the Registrar Administrative Control value is Normal + Registration. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1t clause 10.3.2.3, 14.10.1.3."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.6.1.4.1.1.4"; + } + } + + smiv2:alias "pBridgeMIB" { + smiv2:oid "1.3.6.1.2.1.17.6"; + } + + smiv2:alias "pBridgeMIBObjects" { + smiv2:oid "1.3.6.1.2.1.17.6.1"; + } + + smiv2:alias "dot1dExtBase" { + smiv2:oid "1.3.6.1.2.1.17.6.1.1"; + } + + smiv2:alias "dot1dPriority" { + smiv2:oid "1.3.6.1.2.1.17.6.1.2"; + } + + smiv2:alias "dot1dGarp" { + smiv2:oid "1.3.6.1.2.1.17.6.1.3"; + } + + smiv2:alias "dot1dGmrp" { + smiv2:oid "1.3.6.1.2.1.17.6.1.4"; + } + + smiv2:alias "pBridgeConformance" { + smiv2:oid "1.3.6.1.2.1.17.6.2"; + } + + smiv2:alias "pBridgeGroups" { + smiv2:oid "1.3.6.1.2.1.17.6.2.1"; + } + + smiv2:alias "pBridgeCompliances" { + smiv2:oid "1.3.6.1.2.1.17.6.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/PIM-MIB.yang b/vendor/cisco/xe/17151/MIBS/PIM-MIB.yang new file mode 100644 index 000000000..e80deda86 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/PIM-MIB.yang @@ -0,0 +1,789 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/PIM-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang PIM-MIB + * + * Do not edit. Edit the source file instead! + */ + +module PIM-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB"; + prefix PIM-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import IPMROUTE-STD-MIB { + prefix "ipmroute-std"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IDMR Working Group."; + + contact + " Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + US + + Phone: +1 425 703 8835 + EMail: dthaler@microsoft.com"; + + description + "The MIB module for management of PIM routers."; + + revision 2000-09-28 { + description + "Initial version, published as RFC 2934."; + } + + + container PIM-MIB { + config false; + + container pim { + smiv2:oid "1.3.6.1.3.61.1.1"; + + leaf pimJoinPruneInterval { + type int32; + units "seconds"; + description + "The default interval at which periodic PIM-SM Join/Prune + messages are to be sent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.1"; + } + } + + container pimInterfaceTable { + description + "The (conceptual) table listing the router's PIM interfaces. + IGMP and PIM are enabled on all interfaces listed in this + table."; + smiv2:oid "1.3.6.1.3.61.1.1.2"; + + list pimInterfaceEntry { + key "pimInterfaceIfIndex"; + description + "An entry (conceptual row) in the pimInterfaceTable."; + smiv2:oid "1.3.6.1.3.61.1.1.2.1"; + + leaf pimInterfaceIfIndex { + type if-mib:InterfaceIndex; + description + "The ifIndex value of this PIM interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.1"; + } + + leaf pimInterfaceAddress { + type inet:ipv4-address; + description + "The IP address of the PIM interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.2"; + } + + leaf pimInterfaceNetMask { + type inet:ipv4-address; + description + "The network mask for the IP address of the PIM interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.3"; + } + + leaf pimInterfaceMode { + type enumeration { + enum "dense" { + value "1"; + } + enum "sparse" { + value "2"; + } + enum "sparseDense" { + value "3"; + } + } + description + "The configured mode of this PIM interface. A value of + sparseDense is only valid for PIMv1."; + smiv2:defval "dense"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.4"; + } + + leaf pimInterfaceDR { + type inet:ipv4-address; + description + "The Designated Router on this PIM interface. For point-to- + point interfaces, this object has the value 0.0.0.0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.5"; + } + + leaf pimInterfaceHelloInterval { + type int32; + units "seconds"; + description + "The frequency at which PIM Hello messages are transmitted + on this interface."; + smiv2:defval "30"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.6"; + } + + leaf pimInterfaceStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry. Creating the entry enables PIM + on the interface; destroying the entry disables PIM on the + interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.7"; + } + + leaf pimInterfaceJoinPruneInterval { + type int32; + units "seconds"; + description + "The frequency at which PIM Join/Prune messages are + transmitted on this PIM interface. The default value of + this object is the pimJoinPruneInterval."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.8"; + } + + leaf pimInterfaceCBSRPreference { + type int32 { + range "-1..255"; + } + description + "The preference value for the local interface as a candidate + bootstrap router. The value of -1 is used to indicate that + the local interface is not a candidate BSR interface."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.2.1.9"; + } + } + } + + container pimNeighborTable { + description + "The (conceptual) table listing the router's PIM neighbors."; + smiv2:oid "1.3.6.1.3.61.1.1.3"; + + list pimNeighborEntry { + key "pimNeighborAddress"; + description + "An entry (conceptual row) in the pimNeighborTable."; + smiv2:oid "1.3.6.1.3.61.1.1.3.1"; + + leaf pimNeighborAddress { + type inet:ipv4-address; + description + "The IP address of the PIM neighbor for which this entry + contains information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.3.1.1"; + } + + leaf pimNeighborIfIndex { + type if-mib:InterfaceIndex; + description + "The value of ifIndex for the interface used to reach this + PIM neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.3.1.2"; + } + + leaf pimNeighborUpTime { + type yang:timeticks; + description + "The time since this PIM neighbor (last) became a neighbor + of the local router."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.3.1.3"; + } + + leaf pimNeighborExpiryTime { + type yang:timeticks; + description + "The minimum time remaining before this PIM neighbor will be + aged out."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.3.1.4"; + } + + leaf pimNeighborMode { + type enumeration { + enum "dense" { + value "1"; + } + enum "sparse" { + value "2"; + } + } + status deprecated; + description + "The active PIM mode of this neighbor. This object is + deprecated for PIMv2 routers since all neighbors on the + interface must be either dense or sparse as determined by + the protocol running on the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.3.1.5"; + } + } + } + + container pimIpMRouteTable { + description + "The (conceptual) table listing PIM-specific information on + a subset of the rows of the ipMRouteTable defined in the IP + Multicast MIB."; + smiv2:oid "1.3.6.1.3.61.1.1.4"; + + list pimIpMRouteEntry { + key "ipMRouteGroup ipMRouteSource ipMRouteSourceMask"; + description + "An entry (conceptual row) in the pimIpMRouteTable. There + is one entry per entry in the ipMRouteTable whose incoming + interface is running PIM."; + smiv2:oid "1.3.6.1.3.61.1.1.4.1"; + + leaf ipMRouteGroup { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteTable/ipmroute-std:ipMRouteEntry/ipmroute-std:ipMRouteGroup"; + } + } + + leaf ipMRouteSource { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteTable/ipmroute-std:ipMRouteEntry/ipmroute-std:ipMRouteSource"; + } + } + + leaf ipMRouteSourceMask { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteTable/ipmroute-std:ipMRouteEntry/ipmroute-std:ipMRouteSourceMask"; + } + } + + leaf pimIpMRouteUpstreamAssertTimer { + type yang:timeticks; + description + "The time remaining before the router changes its upstream + neighbor back to its RPF neighbor. This timer is called the + Assert timer in the PIM Sparse and Dense mode specification. + + + + + + A value of 0 indicates that no Assert has changed the + upstream neighbor away from the RPF neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.4.1.1"; + } + + leaf pimIpMRouteAssertMetric { + type int32; + description + "The metric advertised by the assert winner on the upstream + interface, or 0 if no such assert is in received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.4.1.2"; + } + + leaf pimIpMRouteAssertMetricPref { + type int32; + description + "The preference advertised by the assert winner on the + upstream interface, or 0 if no such assert is in effect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.4.1.3"; + } + + leaf pimIpMRouteAssertRPTBit { + type boolean; + description + "The value of the RPT-bit advertised by the assert winner on + the upstream interface, or false if no such assert is in + effect."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.4.1.4"; + } + + leaf pimIpMRouteFlags { + type binary { + length "1"; + } + description + "This object describes PIM-specific flags related to a + multicast state entry. See the PIM Sparse Mode + specification for the meaning of the RPT and SPT bits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.4.1.5"; + } + } + } + + container pimRPTable { + status deprecated; + description + "The (conceptual) table listing PIM version 1 information + for the Rendezvous Points (RPs) for IP multicast groups. + This table is deprecated since its function is replaced by + the pimRPSetTable for PIM version 2."; + smiv2:oid "1.3.6.1.3.61.1.1.5"; + + list pimRPEntry { + key "pimRPGroupAddress pimRPAddress"; + status deprecated; + description + "An entry (conceptual row) in the pimRPTable. There is one + entry per RP address for each IP multicast group."; + smiv2:oid "1.3.6.1.3.61.1.1.5.1"; + + leaf pimRPGroupAddress { + type inet:ipv4-address; + status deprecated; + description + "The IP multicast group address for which this entry + contains information about an RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.1"; + } + + leaf pimRPAddress { + type inet:ipv4-address; + status deprecated; + description + "The unicast address of the RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.2"; + } + + leaf pimRPState { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + } + status deprecated; + description + "The state of the RP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.3"; + } + + leaf pimRPStateTimer { + type yang:timeticks; + status deprecated; + description + "The minimum time remaining before the next state change. + When pimRPState is up, this is the minimum time which must + expire until it can be declared down. When pimRPState is + down, this is the time until it will be declared up (in + order to retry)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.4"; + } + + leaf pimRPLastChange { + type yang:timeticks; + status deprecated; + description + "The value of sysUpTime at the time when the corresponding + instance of pimRPState last changed its value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.5"; + } + + leaf pimRPRowStatus { + type snmpv2-tc:RowStatus; + status deprecated; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.5.1.6"; + } + } + } + + container pimRPSetTable { + description + "The (conceptual) table listing PIM information for + candidate Rendezvous Points (RPs) for IP multicast groups. + When the local router is the BSR, this information is + obtained from received Candidate-RP-Advertisements. When + the local router is not the BSR, this information is + obtained from received RP-Set messages."; + smiv2:oid "1.3.6.1.3.61.1.1.6"; + + list pimRPSetEntry { + key "pimRPSetComponent pimRPSetGroupAddress pimRPSetGroupMask pimRPSetAddress"; + description + "An entry (conceptual row) in the pimRPSetTable."; + smiv2:oid "1.3.6.1.3.61.1.1.6.1"; + + leaf pimRPSetGroupAddress { + type inet:ipv4-address; + description + "The IP multicast group address which, when combined with + pimRPSetGroupMask, gives the group prefix for which this + entry contains information about the Candidate-RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.1"; + } + + leaf pimRPSetGroupMask { + type inet:ipv4-address; + description + "The multicast group address mask which, when combined with + pimRPSetGroupAddress, gives the group prefix for which this + entry contains information about the Candidate-RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.2"; + } + + leaf pimRPSetAddress { + type inet:ipv4-address; + description + "The IP address of the Candidate-RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.3"; + } + + leaf pimRPSetHoldTime { + type int32 { + range "0..255"; + } + units "seconds"; + description + "The holdtime of a Candidate-RP. If the local router is not + the BSR, this value is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.4"; + } + + leaf pimRPSetExpiryTime { + type yang:timeticks; + description + "The minimum time remaining before the Candidate-RP will be + declared down. If the local router is not the BSR, this + value is 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.5"; + } + + leaf pimRPSetComponent { + type int32 { + range "1..255"; + } + description + " A number uniquely identifying the component. Each + protocol instance connected to a separate domain should have + a different index value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.6.1.6"; + } + } + } + + container pimIpMRouteNextHopTable { + description + "The (conceptual) table listing PIM-specific information on + a subset of the rows of the ipMRouteNextHopTable defined in + the IP Multicast MIB."; + smiv2:oid "1.3.6.1.3.61.1.1.7"; + + list pimIpMRouteNextHopEntry { + key "ipMRouteNextHopGroup ipMRouteNextHopSource ipMRouteNextHopSourceMask ipMRouteNextHopIfIndex ipMRouteNextHopAddress"; + description + "An entry (conceptual row) in the pimIpMRouteNextHopTable. + There is one entry per entry in the ipMRouteNextHopTable + whose interface is running PIM and whose + ipMRouteNextHopState is pruned(1)."; + smiv2:oid "1.3.6.1.3.61.1.1.7.1"; + + leaf ipMRouteNextHopGroup { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry/ipmroute-std:ipMRouteNextHopGroup"; + } + } + + leaf ipMRouteNextHopSource { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry/ipmroute-std:ipMRouteNextHopSource"; + } + } + + leaf ipMRouteNextHopSourceMask { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry/ipmroute-std:ipMRouteNextHopSourceMask"; + } + } + + leaf ipMRouteNextHopIfIndex { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry/ipmroute-std:ipMRouteNextHopIfIndex"; + } + } + + leaf ipMRouteNextHopAddress { + type leafref { + path "/ipmroute-std:IPMROUTE-STD-MIB/ipmroute-std:ipMRouteNextHopTable/ipmroute-std:ipMRouteNextHopEntry/ipmroute-std:ipMRouteNextHopAddress"; + } + } + + leaf pimIpMRouteNextHopPruneReason { + type enumeration { + enum "other" { + value "1"; + } + enum "prune" { + value "2"; + } + enum "assert" { + value "3"; + } + } + description + "This object indicates why the downstream interface was + pruned, whether in response to a PIM prune message or due to + PIM Assert processing."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.7.1.2"; + } + } + } + + container pimCandidateRPTable { + description + "The (conceptual) table listing the IP multicast groups for + which the local router is to advertise itself as a + Candidate-RP when the value of pimComponentCRPHoldTime is + non-zero. If this table is empty, then the local router + + + + + + will advertise itself as a Candidate-RP for all groups + (providing the value of pimComponentCRPHoldTime is non- + zero)."; + smiv2:oid "1.3.6.1.3.61.1.1.11"; + + list pimCandidateRPEntry { + key "pimCandidateRPGroupAddress pimCandidateRPGroupMask"; + description + "An entry (conceptual row) in the pimCandidateRPTable."; + smiv2:oid "1.3.6.1.3.61.1.1.11.1"; + + leaf pimCandidateRPGroupAddress { + type inet:ipv4-address; + description + "The IP multicast group address which, when combined with + pimCandidateRPGroupMask, identifies a group prefix for which + the local router will advertise itself as a Candidate-RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.11.1.1"; + } + + leaf pimCandidateRPGroupMask { + type inet:ipv4-address; + description + "The multicast group address mask which, when combined with + pimCandidateRPGroupMask, identifies a group prefix for which + the local router will advertise itself as a Candidate-RP."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.11.1.2"; + } + + leaf pimCandidateRPAddress { + type inet:ipv4-address; + description + "The (unicast) address of the interface which will be + + + + + + advertised as a Candidate-RP."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.11.1.3"; + } + + leaf pimCandidateRPRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.11.1.4"; + } + } + } + + container pimComponentTable { + description + "The (conceptual) table containing objects specific to a PIM + domain. One row exists for each domain to which the router + is connected. A PIM-SM domain is defined as an area of the + network over which Bootstrap messages are forwarded. + Typically, a PIM-SM router will be a member of exactly one + domain. This table also supports, however, routers which + may form a border between two PIM-SM domains and do not + forward Bootstrap messages between them."; + smiv2:oid "1.3.6.1.3.61.1.1.12"; + + list pimComponentEntry { + key "pimComponentIndex"; + description + "An entry (conceptual row) in the pimComponentTable."; + smiv2:oid "1.3.6.1.3.61.1.1.12.1"; + + leaf pimComponentIndex { + type int32 { + range "1..255"; + } + description + "A number uniquely identifying the component. Each protocol + instance connected to a separate domain should have a + different index value. Routers that only support membership + in a single PIM-SM domain should use a pimComponentIndex + value of 1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.3.61.1.1.12.1.1"; + } + + leaf pimComponentBSRAddress { + type inet:ipv4-address; + description + "The IP address of the bootstrap router (BSR) for the local + PIM region."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.12.1.2"; + } + + leaf pimComponentBSRExpiryTime { + type yang:timeticks; + description + "The minimum time remaining before the bootstrap router in + the local domain will be declared down. For candidate BSRs, + this is the time until the component sends an RP-Set + message. For other routers, this is the time until it may + accept an RP-Set message from a lower candidate BSR."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.3.61.1.1.12.1.3"; + } + + leaf pimComponentCRPHoldTime { + type int32 { + range "0..255"; + } + units "seconds"; + description + "The holdtime of the component when it is a candidate RP in + the local domain. The value of 0 is used to indicate that + the local system is not a Candidate-RP."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.12.1.4"; + } + + leaf pimComponentStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry. Creating the entry creates + another protocol instance; destroying the entry disables a + protocol instance."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.3.61.1.1.12.1.5"; + } + } + } + } + + notification pimNeighborLoss { + description + "A pimNeighborLoss trap signifies the loss of an adjacency + with a neighbor. This trap should be generated when the + neighbor timer expires, and the router has no other + neighbors on the same interface with a lower IP address than + itself."; + smiv2:oid "1.3.6.1.3.61.1.0.1"; + + container object-1 { + + leaf pimNeighborAddress { + type leafref { + path "/PIM-MIB:PIM-MIB/PIM-MIB:pimNeighborTable/PIM-MIB:pimNeighborEntry/PIM-MIB:pimNeighborAddress"; + } + } + + leaf pimNeighborIfIndex { + type leafref { + path "/PIM-MIB:PIM-MIB/PIM-MIB:pimNeighborTable/PIM-MIB:pimNeighborEntry/PIM-MIB:pimNeighborIfIndex"; + } + } + } + } + + smiv2:alias "pimMIB" { + smiv2:oid "1.3.6.1.3.61"; + } + + smiv2:alias "pimMIBObjects" { + smiv2:oid "1.3.6.1.3.61.1"; + } + + smiv2:alias "pimTraps" { + smiv2:oid "1.3.6.1.3.61.1.0"; + } + + smiv2:alias "pim" { + smiv2:oid "1.3.6.1.3.61.1.1"; + } + + smiv2:alias "pimMIBConformance" { + smiv2:oid "1.3.6.1.3.61.2"; + } + + smiv2:alias "pimMIBCompliances" { + smiv2:oid "1.3.6.1.3.61.2.1"; + } + + smiv2:alias "pimMIBGroups" { + smiv2:oid "1.3.6.1.3.61.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/POWER-ETHERNET-MIB.yang b/vendor/cisco/xe/17151/MIBS/POWER-ETHERNET-MIB.yang new file mode 100644 index 000000000..0b9c74fe3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/POWER-ETHERNET-MIB.yang @@ -0,0 +1,607 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/POWER-ETHERNET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang POWER-ETHERNET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module POWER-ETHERNET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:POWER-ETHERNET-MIB"; + prefix POWER-ETHERNET-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Ethernet Interfaces and Hub MIB + Working Group"; + + contact + " + WG Charter: + http://www.ietf.org/html.charters/hubmib-charter.html + + Mailing lists: + General Discussion: hubmib@ietf.org + To Subscribe: hubmib-requests@ietf.org + In Body: subscribe your_email_address + + Chair: Dan Romascanu + Avaya + Tel: +972-3-645-8414 + Email: dromasca@avaya.com + + Editor: Avi Berger + PowerDsine Inc. + Tel: 972-9-7755100 Ext 307 + Fax: 972-9-7755120 + E-mail: avib@PowerDsine.com"; + + description + "The MIB module for managing Power Source Equipment + (PSE) working according to the IEEE 802.af Powered + Ethernet (DTE Power via MDI) standard. + + The following terms are used throughout this + MIB module. For complete formal definitions, + the IEEE 802.3 standards should be consulted + wherever possible: + + Group - A recommended, but optional, entity + defined by the IEEE 802.3 management standard, + in order to support a modular numbering scheme. + The classical example allows an implementor to + represent field-replaceable units as groups of + ports, with the port numbering matching the + modular hardware implementation. + + Port - This entity identifies the port within the group + for which this entry contains information. The numbering + scheme for ports is implementation specific. + + Copyright (c) The Internet Society (2003). This version + of this MIB module is part of RFC 3621; See the RFC + itself for full legal notices."; + + revision 2003-11-24 { + description + "Initial version, published as RFC 3621."; + } + + + container POWER-ETHERNET-MIB { + config false; + + container pethPsePortTable { + description + "A table of objects that display and control the power + characteristics of power Ethernet ports on a Power Source + Entity (PSE) device. This group will be implemented in + managed power Ethernet switches and mid-span devices. + Values of all read-write objects in this table are + persistent at restart/reboot."; + smiv2:oid "1.3.6.1.2.1.105.1.1"; + + list pethPsePortEntry { + key "pethPsePortGroupIndex pethPsePortIndex"; + description + "A set of objects that display and control the power + characteristics of a power Ethernet PSE port."; + smiv2:oid "1.3.6.1.2.1.105.1.1.1"; + + leaf pethPsePortGroupIndex { + type int32 { + range "1..2147483647"; + } + description + "This variable uniquely identifies the group + containing the port to which a power Ethernet PSE is + connected. Group means box in the stack, module in a + rack and the value 1 MUST be used for non-modular devices. + Furthermore, the same value MUST be used in this variable, + pethMainPseGroupIndex, and pethNotificationControlGroupIndex + to refer to a given box in a stack or module in the rack."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.1"; + } + + leaf pethPsePortIndex { + type int32 { + range "1..2147483647"; + } + description + "This variable uniquely identifies the power Ethernet PSE + port within group pethPsePortGroupIndex to which the + power Ethernet PSE entry is connected."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.2"; + } + + leaf pethPsePortAdminEnable { + type boolean; + description + "true (1) An interface which can provide the PSE functions. + false(2) The interface will act as it would if it had no PSE + function."; + reference + "IEEE Std 802.3af Section 30.9.1.1.2 aPSEAdminState"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.3"; + } + + leaf pethPsePortPowerPairsControlAbility { + type boolean; + description + "Describes the capability of controlling the power pairs + functionality to switch pins for sourcing power. + The value true indicate that the device has the capability + to control the power pairs. When false the PSE Pinout + Alternative used cannot be controlled through the + PethPsePortAdminEnable attribute."; + reference + "IEEE Std 802.3af Section 30.9.1.1.3 + aPSEPowerPairsControlAbility"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.4"; + } + + leaf pethPsePortPowerPairs { + type enumeration { + enum "signal" { + value "1"; + } + enum "spare" { + value "2"; + } + } + description + "Describes or controls the pairs in use. If the value of + pethPsePortPowerPairsControl is true, this object is + writable. + A value of signal(1) means that the signal pairs + only are in use. + A value of spare(2) means that the spare pairs + only are in use."; + reference + "IEEE Std 802.3af Section 30.9.1.1.4 aPSEPowerPairs"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.5"; + } + + leaf pethPsePortDetectionStatus { + type enumeration { + enum "disabled" { + value "1"; + } + enum "searching" { + value "2"; + } + enum "deliveringPower" { + value "3"; + } + enum "fault" { + value "4"; + } + enum "test" { + value "5"; + } + enum "otherFault" { + value "6"; + } + } + description + "Describes the operational status of the port PD detection. + A value of disabled(1)- indicates that the PSE State diagram + is in the state DISABLED. + A value of deliveringPower(3) - indicates that the PSE State + diagram is in the state POWER_ON for a duration greater than + tlim max (see IEEE Std 802.3af Table 33-5 tlim). + A value of fault(4) - indicates that the PSE State diagram is + in the state TEST_ERROR. + A value of test(5) - indicates that the PSE State diagram is + in the state TEST_MODE. + A value of otherFault(6) - indicates that the PSE State + diagram is in the state IDLE due to the variable + error_conditions. + A value of searching(2)- indicates the PSE State diagram is + in a state other than those listed above."; + reference + "IEEE Std 802.3af Section 30.9.1.1.5 + aPSEPowerDetectionStatus"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.6"; + } + + leaf pethPsePortPowerPriority { + type enumeration { + enum "critical" { + value "1"; + } + enum "high" { + value "2"; + } + enum "low" { + value "3"; + } + } + description + "This object controls the priority of the port from the point + of view of a power management algorithm. The priority that + is set by this variable could be used by a control mechanism + that prevents over current situations by disconnecting first + ports with lower power priority. Ports that connect devices + critical to the operation of the network - like the E911 + telephones ports - should be set to higher priority."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.7"; + } + + leaf pethPsePortMPSAbsentCounter { + type yang:counter32; + description + "This counter is incremented when the PSE state diagram + transitions directly from the state POWER_ON to the + state IDLE due to tmpdo_timer_done being asserted."; + reference + "IEEE Std 802.3af Section 30.9.1.1.11 + aPSEMPSAbsentCounter"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.8"; + } + + leaf pethPsePortType { + type snmp-framework:SnmpAdminString; + description + "A manager will set the value of this variable to indicate + the type of powered device that is connected to the port. + The default value supplied by the agent if no value has + ever been set should be a zero-length octet string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.9"; + } + + leaf pethPsePortPowerClassifications { + type enumeration { + enum "class0" { + value "1"; + } + enum "class1" { + value "2"; + } + enum "class2" { + value "3"; + } + enum "class3" { + value "4"; + } + enum "class4" { + value "5"; + } + } + description + "Classification is a way to tag different terminals on the + Power over LAN network according to their power consumption. + Devices such as IP telephones, WLAN access points and others, + will be classified according to their power requirements. + + The meaning of the classification labels is defined in the + IEEE specification. + + This variable is valid only while a PD is being powered, + that is, while the attribute pethPsePortDetectionStatus + is reporting the enumeration deliveringPower."; + reference + "IEEE Std 802.3af Section 30.9.1.1.6 + aPSEPowerClassification"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.10"; + } + + leaf pethPsePortInvalidSignatureCounter { + type yang:counter32; + description + "This counter is incremented when the PSE state diagram + enters the state SIGNATURE_INVALID."; + reference + "IEEE Std 802.3af Section 30.9.1.1.7 + aPSEInvalidSignatureCounter"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.11"; + } + + leaf pethPsePortPowerDeniedCounter { + type yang:counter32; + description + "This counter is incremented when the PSE state diagram + enters the state POWER_DENIED."; + reference + "IEEE Std 802.3af Section 30.9.1.1.8 + aPSEPowerDeniedCounter"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.12"; + } + + leaf pethPsePortOverLoadCounter { + type yang:counter32; + description + "This counter is incremented when the PSE state diagram + enters the state ERROR_DELAY_OVER."; + reference + "IEEE Std 802.3af Section 30.9.1.1.9 + aPSEOverLoadCounter"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.13"; + } + + leaf pethPsePortShortCounter { + type yang:counter32; + description + "This counter is incremented when the PSE state diagram + enters the state ERROR_DELAY_SHORT."; + reference + "IEEE Std 802.3af Section 30.9.1.1.10 + aPSEShortCounter"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.1.1.14"; + } + } + } + + container pethMainPseTable { + description + "A table of objects that display and control attributes + of the main power source in a PSE device. Ethernet + switches are one example of boxes that would support + these objects. + Values of all read-write objects in this table are + persistent at restart/reboot."; + smiv2:oid "1.3.6.1.2.1.105.1.3.1"; + + list pethMainPseEntry { + key "pethMainPseGroupIndex"; + description + "A set of objects that display and control the Main + power of a PSE. "; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1"; + + leaf pethMainPseGroupIndex { + type int32 { + range "1..2147483647"; + } + description + "This variable uniquely identifies the group to which + power Ethernet PSE is connected. Group means (box in + the stack, module in a rack) and the value 1 MUST be + used for non-modular devices. Furthermore, the same + value MUST be used in this variable, pethPsePortGroupIndex, + and pethNotificationControlGroupIndex to refer to a + given box in a stack or module in a rack."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1.1"; + } + + leaf pethMainPsePower { + type yang:gauge32 { + range "1..65535"; + } + units "Watts"; + description + "The nominal power of the PSE expressed in Watts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1.2"; + } + + leaf pethMainPseOperStatus { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + enum "faulty" { + value "3"; + } + } + description + "The operational status of the main PSE."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1.3"; + } + + leaf pethMainPseConsumptionPower { + type yang:gauge32; + units "Watts"; + description + "Measured usage power expressed in Watts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1.4"; + } + + leaf pethMainPseUsageThreshold { + type int32 { + range "1..99"; + } + units "%"; + description + "The usage threshold expressed in percents for + comparing the measured power and initiating + an alarm if the threshold is exceeded."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.3.1.1.5"; + } + } + } + + container pethNotificationControlTable { + description + "A table of objects that display and control the + Notification on a PSE device. + Values of all read-write objects in this table are + persistent at restart/reboot."; + smiv2:oid "1.3.6.1.2.1.105.1.4.1"; + + list pethNotificationControlEntry { + key "pethNotificationControlGroupIndex"; + description + "A set of objects that control the Notification events."; + smiv2:oid "1.3.6.1.2.1.105.1.4.1.1"; + + leaf pethNotificationControlGroupIndex { + type int32 { + range "1..2147483647"; + } + description + "This variable uniquely identifies the group. Group + means box in the stack, module in a rack and the value + 1 MUST be used for non-modular devices. Furthermore, + the same value MUST be used in this variable, + pethPsePortGroupIndex, and + pethMainPseGroupIndex to refer to a given box in a + stack or module in a rack. "; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.105.1.4.1.1.1"; + } + + leaf pethNotificationControlEnable { + type boolean; + description + "This object controls, on a per-group basis, whether + or not notifications from the agent are enabled. The + value true(1) means that notifications are enabled; the + value false(2) means that they are not."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.105.1.4.1.1.2"; + } + } + } + } + + notification pethPsePortOnOffNotification { + description + " This Notification indicates if Pse Port is delivering or + not power to the PD. This Notification SHOULD be sent on + every status change except in the searching mode. + At least 500 msec must elapse between notifications + being emitted by the same object instance."; + smiv2:oid "1.3.6.1.2.1.105.0.1"; + + container object-1 { + + leaf pethPsePortGroupIndex { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethPsePortTable/POWER-ETHERNET-MIB:pethPsePortEntry/POWER-ETHERNET-MIB:pethPsePortGroupIndex"; + } + } + + leaf pethPsePortIndex { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethPsePortTable/POWER-ETHERNET-MIB:pethPsePortEntry/POWER-ETHERNET-MIB:pethPsePortIndex"; + } + } + + leaf pethPsePortDetectionStatus { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethPsePortTable/POWER-ETHERNET-MIB:pethPsePortEntry/POWER-ETHERNET-MIB:pethPsePortDetectionStatus"; + } + } + } + } + + notification pethMainPowerUsageOnNotification { + description + " This Notification indicate PSE Threshold usage + indication is on, the usage power is above the + threshold. At least 500 msec must elapse between + notifications being emitted by the same object + instance."; + smiv2:oid "1.3.6.1.2.1.105.0.2"; + + container object-1 { + + leaf pethMainPseGroupIndex { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethMainPseTable/POWER-ETHERNET-MIB:pethMainPseEntry/POWER-ETHERNET-MIB:pethMainPseGroupIndex"; + } + } + + leaf pethMainPseConsumptionPower { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethMainPseTable/POWER-ETHERNET-MIB:pethMainPseEntry/POWER-ETHERNET-MIB:pethMainPseConsumptionPower"; + } + } + } + } + + notification pethMainPowerUsageOffNotification { + description + " This Notification indicates PSE Threshold usage indication + off, the usage power is below the threshold. + At least 500 msec must elapse between notifications being + emitted by the same object instance."; + smiv2:oid "1.3.6.1.2.1.105.0.3"; + + container object-1 { + + leaf pethMainPseGroupIndex { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethMainPseTable/POWER-ETHERNET-MIB:pethMainPseEntry/POWER-ETHERNET-MIB:pethMainPseGroupIndex"; + } + } + + leaf pethMainPseConsumptionPower { + type leafref { + path "/POWER-ETHERNET-MIB:POWER-ETHERNET-MIB/POWER-ETHERNET-MIB:pethMainPseTable/POWER-ETHERNET-MIB:pethMainPseEntry/POWER-ETHERNET-MIB:pethMainPseConsumptionPower"; + } + } + } + } + + smiv2:alias "powerEthernetMIB" { + smiv2:oid "1.3.6.1.2.1.105"; + } + + smiv2:alias "pethNotifications" { + smiv2:oid "1.3.6.1.2.1.105.0"; + } + + smiv2:alias "pethObjects" { + smiv2:oid "1.3.6.1.2.1.105.1"; + } + + smiv2:alias "pethMainPseObjects" { + smiv2:oid "1.3.6.1.2.1.105.1.3"; + } + + smiv2:alias "pethNotificationControl" { + smiv2:oid "1.3.6.1.2.1.105.1.4"; + } + + smiv2:alias "pethConformance" { + smiv2:oid "1.3.6.1.2.1.105.2"; + } + + smiv2:alias "pethCompliances" { + smiv2:oid "1.3.6.1.2.1.105.2.1"; + } + + smiv2:alias "pethGroups" { + smiv2:oid "1.3.6.1.2.1.105.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/PerfHist-TC-MIB.yang b/vendor/cisco/xe/17151/MIBS/PerfHist-TC-MIB.yang new file mode 100644 index 000000000..289420bba --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/PerfHist-TC-MIB.yang @@ -0,0 +1,116 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/PerfHist-TC-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang PerfHist-TC-MIB + * + * Do not edit. Edit the source file instead! + */ + +module PerfHist-TC-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB"; + prefix PerfHist-TC-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF AToMMIB and TrunkMIB WGs"; + + contact + "Kaj Tesink + Postal: Bellcore + 331 Newman Springs Road + Red Bank, NJ 07701 + USA + Tel: +1 732 758 5254 + Fax: +1 732 758 2269 + E-mail: kaj@bellcore.com"; + + description + "This MIB Module provides Textual Conventions + to be used by systems supporting 15 minute + based performance history counts."; + + revision 1998-11-07 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef PerfCurrentCount { + type yang:gauge32; + description + "A counter associated with a + performance measurement in a current 15 + minute measurement interval. The value + of this counter starts from zero and is + increased when associated events occur, + until the end of the 15 minute interval. + At that time the value of the counter is + stored in the first 15 minute history + interval, and the CurrentCount is + restarted at zero. In the + case where the agent has no valid data + available for the current interval the + corresponding object instance is not + available and upon a retrieval request + a corresponding error message shall be + returned to indicate that this instance + does not exist (for example, a noSuchName + error for SNMPv1 and a noSuchInstance for + SNMPv2 GET operation)."; + } + + typedef PerfIntervalCount { + type yang:gauge32; + description + "A counter associated with a + performance measurement in a previous + 15 minute measurement interval. In the + case where the agent has no valid data + available for a particular interval the + corresponding object instance is not + available and upon a retrieval request + a corresponding error message shall be + returned to indicate that this instance + does not exist (for example, a noSuchName + error for SNMPv1 and a noSuchInstance for + SNMPv2 GET operation). + In a system supporting + a history of n intervals with + IntervalCount(1) and IntervalCount(n) the + most and least recent intervals + respectively, the following applies at + the end of a 15 minute interval: + - discard the value of IntervalCount(n) + - the value of IntervalCount(i) becomes that + of IntervalCount(i-1) for n >= i > 1 + - the value of IntervalCount(1) becomes that + of CurrentCount + - the TotalCount, if supported, is adjusted."; + } + + typedef PerfTotalCount { + type yang:gauge32; + description + "A counter associated with a + performance measurements aggregating the + previous valid 15 minute measurement + intervals. (Intervals for which no valid + data was available are not counted)"; + } + + smiv2:alias "perfHistTCMIB" { + smiv2:oid "1.3.6.1.2.1.58"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/Q-BRIDGE-MIB.yang b/vendor/cisco/xe/17151/MIBS/Q-BRIDGE-MIB.yang new file mode 100644 index 000000000..ac61b18f9 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/Q-BRIDGE-MIB.yang @@ -0,0 +1,1824 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/Q-BRIDGE-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang Q-BRIDGE-MIB + * + * Do not edit. Edit the source file instead! + */ + +module Q-BRIDGE-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB"; + prefix Q-BRIDGE-MIB; + + import BRIDGE-MIB { + prefix "bridge-mib"; + } + + import P-BRIDGE-MIB { + prefix "p-bridge"; + } + + import RMON2-MIB { + prefix "rmon2-mib"; + } + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Bridge MIB Working Group"; + + contact + "Email: Bridge-mib@ietf.org + ietfmibs@ops.ietf.org + + David Levi + Postal: Nortel Networks + 4655 Great America Parkway + Santa Clara, CA 95054 + USA + Phone: +1 865 686 0432 + Email: dlevi@nortel.com + + David Harrington + Postal: Effective Software + 50 Harding Rd. + Portsmouth, NH 03801 + USA + Phone: +1 603 436 8634 + Email: ietfdbh@comcast.net + + Les Bell + Postal: Hemel Hempstead, Herts. HP2 7YU + UK + Email: elbell@ntlworld.com + + Andrew Smith + Postal: Beijing Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089 + PRC + Fax: +1 415 345 1827 + Email: ah_smith@acm.org + + Paul Langille + Postal: Newbridge Networks + 5 Corporate Drive + Andover, MA 01810 + USA + Phone: +1 978 691 4665 + Email: langille@newbridge.com + + Anil Rijhsinghani + Postal: Accton Technology Corporation + 5 Mount Royal Ave + Marlboro, MA 01752 + USA + Phone: + Email: anil@accton.com + + Keith McCloghrie + Postal: Cisco Systems, Inc. + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA + Phone: +1 408 526 5260 + Email: kzm@cisco.com"; + + description + "The VLAN Bridge MIB module for managing Virtual Bridged + Local Area Networks, as defined by IEEE 802.1Q-2003, + including Restricted Vlan Registration defined by + IEEE 802.1u-2001 and Vlan Classification defined by + IEEE 802.1v-2001. + + Copyright (C) The Internet Society (2006). This version of + this MIB module is part of RFC 4363; See the RFC itself for + full legal notices."; + + revision 2006-01-09 { + description + "Added Vlan TEXTUAL-CONVENTIONs, + dot1qPortRestrictedVlanRegistration, dot1vProtocol subtree, + qBridgeClassificationDeviceGroup, qBridgePortGroup2, + qBridgeClassificationPortGroup, and qBridgeCompliance2. + Clarified dot1qForwardAllStaticPorts, + qPortAcceptableFrameTypes, and qBridgeCompliance. + Deprecated qBridgePortGroup and qBridgeCompliance."; + } + + revision 1999-08-25 { + description + "The VLAN Bridge MIB module for managing Virtual Bridged + Local Area Networks, as defined by IEEE 802.1Q-1998. + + Initial version, published as RFC 2674."; + } + + typedef PortList { + type binary; + description + "Each octet within this value specifies a set of eight + ports, with the first octet specifying ports 1 through + 8, the second octet specifying ports 9 through 16, etc. + Within each octet, the most significant bit represents + the lowest numbered port, and the least significant bit + represents the highest numbered port. Thus, each port + of the bridge is represented by a single bit within the + value of this object. If that bit has a value of '1', + then that port is included in the set of ports; the port + is not included if its bit has a value of '0'."; + } + + typedef VlanIndex { + type uint32; + description + "A value used to index per-VLAN tables: values of 0 and + 4095 are not permitted. If the value is between 1 and + 4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with + global scope within a given bridged domain (see VlanId + textual convention). If the value is greater than 4095, + + then it represents a VLAN with scope local to the + particular agent, i.e., one without a global VLAN-ID + assigned to it. Such VLANs are outside the scope of + IEEE 802.1Q, but it is convenient to be able to manage them + in the same way using this MIB."; + } + + typedef VlanId { + type int32 { + range "1..4094"; + } + description + "The VLAN-ID that uniquely identifies a VLAN. This + is the 12-bit VLAN-ID used in the VLAN Tag header. + The range is defined by the REFERENCEd specification."; + reference + "IEEE Std 802.1Q 2003 Edition, Virtual Bridged + Local Area Networks."; + } + + typedef VlanIdOrAny { + type int32 { + range "1..4095"; + } + description + "The VLAN-ID that uniquely identifies a specific VLAN, + or any VLAN. The special value of 4095 is used to + indicate a wildcard, i.e., any VLAN. This can be used + in any situation where an object or table entry must + refer either to a specific VLAN or to any VLAN. + + Note that a MIB object that is defined using this + TEXTUAL-CONVENTION should clarify the meaning of + 'any VLAN' (i.e., the special value 4095)."; + } + + typedef VlanIdOrNone { + type int32 { + range "0..4094"; + } + description + "The VLAN-ID that uniquely identifies a specific VLAN, + or no VLAN. The special value of zero is used to + indicate that no VLAN-ID is present or used. This can + be used in any situation where an object or a table entry + must refer either to a specific VLAN, or to no VLAN. + + Note that a MIB object that is defined using this + TEXTUAL-CONVENTION should clarify the meaning of + 'no VLAN' (i.e., the special value 0)."; + } + + typedef VlanIdOrAnyOrNone { + type int32 { + range "0..4095"; + } + description + "The VLAN-ID that uniquely identifies a specific VLAN, + any VLAN, or no VLAN. The special values 0 and 4095 + have the same meaning as described in the VlanIdOrAny + and VlanIdOrNone TEXTUAL-CONVENTIONs. + + Note that a MIB object that is defined using this + TEXTUAL-CONVENTION should clarify the meaning of + 'any VLAN' and 'no VLAN' (i.e., the special values + 0 and 4095)."; + } + + + container Q-BRIDGE-MIB { + config false; + + container dot1qBase { + smiv2:oid "1.3.6.1.2.1.17.7.1.1"; + + leaf dot1qVlanVersionNumber { + type enumeration { + enum "version1" { + value "1"; + } + } + description + "The version number of IEEE 802.1Q that this device + supports."; + reference + "IEEE 802.1Q/D11 Section 12.10.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.1.1"; + } + + leaf dot1qMaxVlanId { + type Q-BRIDGE-MIB:VlanId; + description + "The maximum IEEE 802.1Q VLAN-ID that this device + + supports."; + reference + "IEEE 802.1Q/D11 Section 9.3.2.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.1.2"; + } + + leaf dot1qMaxSupportedVlans { + type uint32; + description + "The maximum number of IEEE 802.1Q VLANs that this + device supports."; + reference + "IEEE 802.1Q/D11 Section 12.10.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.1.3"; + } + + leaf dot1qNumVlans { + type uint32; + description + "The current number of IEEE 802.1Q VLANs that are + configured in this device."; + reference + "IEEE 802.1Q/D11 Section 12.7.1.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.1.4"; + } + + leaf dot1qGvrpStatus { + type p-bridge:EnabledStatus; + description + "The administrative status requested by management for + GVRP. The value enabled(1) indicates that GVRP should + be enabled on this device, on all ports for which it has + not been specifically disabled. When disabled(2), GVRP + is disabled on all ports, and all GVRP packets will be + forwarded transparently. This object affects all GVRP + Applicant and Registrar state machines. A transition + from disabled(2) to enabled(1) will cause a reset of all + GVRP state machines on all ports. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.1.5"; + } + } + + container dot1qVlan { + smiv2:oid "1.3.6.1.2.1.17.7.1.4"; + + leaf dot1qVlanNumDeletes { + type yang:counter32; + description + "The number of times a VLAN entry has been deleted from + the dot1qVlanCurrentTable (for any reason). If an entry + is deleted, then inserted, and then deleted, this + counter will be incremented by 2."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.1"; + } + + leaf dot1qNextFreeLocalVlanIndex { + type int32 { + range "0|4096..2147483647"; + } + description + "The next available value for dot1qVlanIndex of a local + VLAN entry in dot1qVlanStaticTable. This will report + values >=4096 if a new Local VLAN may be created or else + the value 0 if this is not possible. + + A row creation operation in this table for an entry with a local + VlanIndex value may fail if the current value of this object + is not used as the index. Even if the value read is used, + there is no guarantee that it will still be the valid index + when the create operation is attempted; another manager may + have already got in during the intervening time interval. + In this case, dot1qNextFreeLocalVlanIndex should be re-read + + and the creation re-tried with the new value. + + This value will automatically change when the current value is + used to create a new row."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.4"; + } + + leaf dot1qConstraintSetDefault { + type int32 { + range "0..65535"; + } + description + "The identity of the constraint set to which a VLAN + belongs, if there is not an explicit entry for that VLAN + in dot1qLearningConstraintsTable. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.9"; + } + + leaf dot1qConstraintTypeDefault { + type enumeration { + enum "independent" { + value "1"; + } + enum "shared" { + value "2"; + } + } + description + "The type of constraint set to which a VLAN belongs, if + there is not an explicit entry for that VLAN in + dot1qLearningConstraintsTable. The types are as defined + for dot1qConstraintType. + + The value of this object MUST be retained across + + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.10"; + } + } + + container dot1qFdbTable { + description + "A table that contains configuration and control + information for each Filtering Database currently + operating on this device. Entries in this table appear + automatically when VLANs are assigned FDB IDs in the + dot1qVlanCurrentTable."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.1"; + + list dot1qFdbEntry { + key "dot1qFdbId"; + description + "Information about a specific Filtering Database."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.1.1"; + + leaf dot1qFdbId { + type uint32; + description + "The identity of this Filtering Database."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.1.1.1"; + } + + leaf dot1qFdbDynamicCount { + type yang:counter32; + description + "The current number of dynamic entries in this + Filtering Database."; + reference + "IEEE 802.1Q/D11 Section 12.7.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.1.1.2"; + } + } + } + + container dot1qTpFdbTable { + description + "A table that contains information about unicast entries + for which the device has forwarding and/or filtering + information. This information is used by the + transparent bridging function in determining how to + propagate a received frame."; + reference + "IEEE 802.1Q/D11 Section 12.7.7"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.2"; + + list dot1qTpFdbEntry { + key "dot1qFdbId dot1qTpFdbAddress"; + description + "Information about a specific unicast MAC address for + which the device has some forwarding and/or filtering + information."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.2.1"; + + leaf dot1qFdbId { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qFdbTable/Q-BRIDGE-MIB:dot1qFdbEntry/Q-BRIDGE-MIB:dot1qFdbId"; + } + } + + leaf dot1qTpFdbAddress { + type yang:mac-address; + description + "A unicast MAC address for which the device has + forwarding and/or filtering information."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.2.1.1"; + } + + leaf dot1qTpFdbPort { + type int32 { + range "0..65535"; + } + description + "Either the value '0', or the port number of the port on + which a frame having a source address equal to the value + of the corresponding instance of dot1qTpFdbAddress has + been seen. A value of '0' indicates that the port + number has not been learned but that the device does + have some forwarding/filtering information about this + address (e.g., in the dot1qStaticUnicastTable). + Implementors are encouraged to assign the port value to + this object whenever it is learned, even for addresses + for which the corresponding value of dot1qTpFdbStatus is + not learned(3)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.2.1.2"; + } + + leaf dot1qTpFdbStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "learned" { + value "3"; + } + enum "self" { + value "4"; + } + enum "mgmt" { + value "5"; + } + } + description + "The status of this entry. The meanings of the values + are: + other(1) - none of the following. This may include + the case where some other MIB object (not the + corresponding instance of dot1qTpFdbPort, nor an + entry in the dot1qStaticUnicastTable) is being + used to determine if and how frames addressed to + the value of the corresponding instance of + dot1qTpFdbAddress are being forwarded. + invalid(2) - this entry is no longer valid (e.g., it + + was learned but has since aged out), but has not + yet been flushed from the table. + learned(3) - the value of the corresponding instance + of dot1qTpFdbPort was learned and is being used. + self(4) - the value of the corresponding instance of + dot1qTpFdbAddress represents one of the device's + addresses. The corresponding instance of + dot1qTpFdbPort indicates which of the device's + ports has this address. + mgmt(5) - the value of the corresponding instance of + dot1qTpFdbAddress is also the value of an + existing instance of dot1qStaticAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.2.1.3"; + } + } + } + + container dot1qTpGroupTable { + description + "A table containing filtering information for VLANs + configured into the bridge by (local or network) + management, or learned dynamically, specifying the set of + ports to which frames received on a VLAN for this FDB + and containing a specific Group destination address are + allowed to be forwarded."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.3"; + + list dot1qTpGroupEntry { + key "dot1qVlanIndex dot1qTpGroupAddress"; + description + "Filtering information configured into the bridge by + management, or learned dynamically, specifying the set of + ports to which frames received on a VLAN and containing + a specific Group destination address are allowed to be + forwarded. The subset of these ports learned dynamically + is also provided."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.3.1"; + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qTpGroupAddress { + type yang:mac-address; + description + "The destination Group MAC address in a frame to which + this entry's filtering information applies."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.3.1.1"; + } + + leaf dot1qTpGroupEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The complete set of ports, in this VLAN, to which + frames destined for this Group MAC address are currently + being explicitly forwarded. This does not include ports + for which this address is only implicitly forwarded, in + the dot1qForwardAllPorts list."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.3.1.2"; + } + + leaf dot1qTpGroupLearnt { + type Q-BRIDGE-MIB:PortList; + description + "The subset of ports in dot1qTpGroupEgressPorts that + were learned by GMRP or some other dynamic mechanism, in + this Filtering database."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.3.1.3"; + } + } + } + + container dot1qForwardAllTable { + description + "A table containing forwarding information for each + + VLAN, specifying the set of ports to which forwarding of + all multicasts applies, configured statically by + management or dynamically by GMRP. An entry appears in + this table for all VLANs that are currently + instantiated."; + reference + "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.4"; + + list dot1qForwardAllEntry { + key "dot1qVlanIndex"; + description + "Forwarding information for a VLAN, specifying the set + of ports to which all multicasts should be forwarded, + configured statically by management or dynamically by + GMRP."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.4.1"; + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qForwardAllPorts { + type Q-BRIDGE-MIB:PortList; + description + "The complete set of ports in this VLAN to which all + multicast group-addressed frames are to be forwarded. + This includes ports for which this need has been + determined dynamically by GMRP, or configured statically + by management."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.4.1.1"; + } + + leaf dot1qForwardAllStaticPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports configured by management in this VLAN + to which all multicast group-addressed frames are to be + forwarded. Ports entered in this list will also appear + in the complete set shown by dot1qForwardAllPorts. This + value will be restored after the device is reset. This + only applies to ports that are members of the VLAN, + defined by dot1qVlanCurrentEgressPorts. A port may not + be added in this set if it is already a member of the + set of ports in dot1qForwardAllForbiddenPorts. The + default value is a string of ones of appropriate length, + to indicate the standard behaviour of using basic + filtering services, i.e., forward all multicasts to all + ports. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.4.1.2"; + } + + leaf dot1qForwardAllForbiddenPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports configured by management in this VLAN + for which the Service Requirement attribute Forward All + Multicast Groups may not be dynamically registered by + GMRP. This value will be restored after the device is + reset. A port may not be added in this set if it is + already a member of the set of ports in + dot1qForwardAllStaticPorts. The default value is a + string of zeros of appropriate length. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.4.1.3"; + } + } + } + + container dot1qForwardUnregisteredTable { + description + "A table containing forwarding information for each + VLAN, specifying the set of ports to which forwarding of + multicast group-addressed frames for which no + more specific forwarding information applies. This is + configured statically by management and determined + dynamically by GMRP. An entry appears in this table for + all VLANs that are currently instantiated."; + reference + "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.5"; + + list dot1qForwardUnregisteredEntry { + key "dot1qVlanIndex"; + description + "Forwarding information for a VLAN, specifying the set + of ports to which all multicasts for which there is no + more specific forwarding information shall be forwarded. + This is configured statically by management or + dynamically by GMRP."; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.5.1"; + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qForwardUnregisteredPorts { + type Q-BRIDGE-MIB:PortList; + description + "The complete set of ports in this VLAN to which + multicast group-addressed frames for which there is no + more specific forwarding information will be forwarded. + This includes ports for which this need has been + determined dynamically by GMRP, or configured statically + by management."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.5.1.1"; + } + + leaf dot1qForwardUnregisteredStaticPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports configured by management, in this + VLAN, to which multicast group-addressed frames for + which there is no more specific forwarding information + + are to be forwarded. Ports entered in this list will + also appear in the complete set shown by + dot1qForwardUnregisteredPorts. This value will be + restored after the device is reset. A port may not be + added in this set if it is already a member of the set + of ports in dot1qForwardUnregisteredForbiddenPorts. The + default value is a string of zeros of appropriate + length, although this has no effect with the default + value of dot1qForwardAllStaticPorts. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.5.1.2"; + } + + leaf dot1qForwardUnregisteredForbiddenPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports configured by management in this VLAN + for which the Service Requirement attribute Forward + Unregistered Multicast Groups may not be dynamically + registered by GMRP. This value will be restored after + the device is reset. A port may not be added in this + set if it is already a member of the set of ports in + dot1qForwardUnregisteredStaticPorts. The default value + is a string of zeros of appropriate length. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.2.5.1.3"; + } + } + } + + container dot1qStaticUnicastTable { + description + "A table containing filtering information for Unicast + MAC addresses for each Filtering Database, configured + into the device by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific unicast + destination addresses are allowed to be forwarded. A + value of zero in this table (as the port number from + + which frames with a specific destination address are + received) is used to specify all ports for which there + is no specific entry in this table for that particular + destination address. Entries are valid for unicast + addresses only."; + reference + "IEEE 802.1Q/D11 Section 12.7.7, + ISO/IEC 15802-3 Section 7.9.1"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1"; + + list dot1qStaticUnicastEntry { + key "dot1qFdbId dot1qStaticUnicastAddress dot1qStaticUnicastReceivePort"; + description + "Filtering information configured into the device by + (local or network) management specifying the set of + ports to which frames received from a specific port and + containing a specific unicast destination address are + allowed to be forwarded."; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1.1"; + + leaf dot1qFdbId { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qFdbTable/Q-BRIDGE-MIB:dot1qFdbEntry/Q-BRIDGE-MIB:dot1qFdbId"; + } + } + + leaf dot1qStaticUnicastAddress { + type yang:mac-address; + description + "The destination MAC address in a frame to which this + entry's filtering information applies. This object must + take the value of a unicast address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1.1.1"; + } + + leaf dot1qStaticUnicastReceivePort { + type int32 { + range "0..65535"; + } + description + "Either the value '0' or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + device for which there is no other applicable entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1.1.2"; + } + + leaf dot1qStaticUnicastAllowedToGoTo { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports for which a frame with a specific + unicast address will be flooded in the event that it + has not been learned. It also specifies the set of + ports on which a specific unicast address may be dynamically + learned. The dot1qTpFdbTable will have an equivalent + entry with a dot1qTpFdbPort value of '0' until this + address has been learned, at which point it will be updated + with the port the address has been seen on. This only + applies to ports that are members of the VLAN, defined + by dot1qVlanCurrentEgressPorts. The default value of + this object is a string of ones of appropriate length. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1Q/D11 Table 8-5, ISO/IEC 15802-3 Table 7-5"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1.1.3"; + } + + leaf dot1qStaticUnicastStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "permanent" { + value "3"; + } + enum "deleteOnReset" { + value "4"; + } + enum "deleteOnTimeout" { + value "5"; + } + } + description + "This object indicates the status of this entry. + other(1) - this entry is currently in use, but + + the conditions under which it will remain + so differ from the following values. + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use + and will remain so after the next reset of + the bridge. + deleteOnReset(4) - this entry is currently in + use and will remain so until the next + reset of the bridge. + deleteOnTimeout(5) - this entry is currently in + use and will remain so until it is aged out. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "permanent"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.1.1.4"; + } + } + } + + container dot1qStaticMulticastTable { + description + "A table containing filtering information for Multicast + and Broadcast MAC addresses for each VLAN, configured + into the device by (local or network) management + specifying the set of ports to which frames received + from specific ports and containing specific Multicast + and Broadcast destination addresses are allowed to be + forwarded. A value of zero in this table (as the port + number from which frames with a specific destination + address are received) is used to specify all ports for + which there is no specific entry in this table for that + particular destination address. Entries are valid for + Multicast and Broadcast addresses only."; + reference + "IEEE 802.1Q/D11 Section 12.7.7, + ISO/IEC 15802-3 Section 7.9.1"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2"; + + list dot1qStaticMulticastEntry { + key "dot1qVlanIndex dot1qStaticMulticastAddress dot1qStaticMulticastReceivePort"; + description + "Filtering information configured into the device by + (local or network) management specifying the set of + ports to which frames received from this specific port + + for this VLAN and containing this Multicast or Broadcast + destination address are allowed to be forwarded."; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1"; + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qStaticMulticastAddress { + type yang:mac-address; + description + "The destination MAC address in a frame to which this + entry's filtering information applies. This object must + take the value of a Multicast or Broadcast address."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1.1"; + } + + leaf dot1qStaticMulticastReceivePort { + type int32 { + range "0..65535"; + } + description + "Either the value '0' or the port number of the port + from which a frame must be received in order for this + entry's filtering information to apply. A value of zero + indicates that this entry applies on all ports of the + device for which there is no other applicable entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1.2"; + } + + leaf dot1qStaticMulticastStaticEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports to which frames received from a + specific port and destined for a specific Multicast or + Broadcast MAC address must be forwarded, regardless of + any dynamic information, e.g., from GMRP. A port may not + be added in this set if it is already a member of the + set of ports in dot1qStaticMulticastForbiddenEgressPorts. + The default value of this object is a string of ones of + appropriate length. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1.3"; + } + + leaf dot1qStaticMulticastForbiddenEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports to which frames received from a + specific port and destined for a specific Multicast or + Broadcast MAC address must not be forwarded, regardless + of any dynamic information, e.g., from GMRP. A port may + not be added in this set if it is already a member of the + set of ports in dot1qStaticMulticastStaticEgressPorts. + The default value of this object is a string of zeros of + appropriate length. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1.4"; + } + + leaf dot1qStaticMulticastStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "permanent" { + value "3"; + } + enum "deleteOnReset" { + value "4"; + } + enum "deleteOnTimeout" { + value "5"; + } + } + description + "This object indicates the status of this entry. + other(1) - this entry is currently in use, but + the conditions under which it will remain + so differ from the following values. + + invalid(2) - writing this value to the object + removes the corresponding entry. + permanent(3) - this entry is currently in use + and will remain so after the next reset of + the bridge. + deleteOnReset(4) - this entry is currently in + use and will remain so until the next + reset of the bridge. + deleteOnTimeout(5) - this entry is currently in + use and will remain so until it is aged out. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "permanent"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.3.2.1.5"; + } + } + } + + container dot1qVlanCurrentTable { + description + "A table containing current configuration information + for each VLAN currently configured into the device by + (local or network) management, or dynamically created + as a result of GVRP requests received."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2"; + + list dot1qVlanCurrentEntry { + key "dot1qVlanTimeMark dot1qVlanIndex"; + description + "Information for a VLAN configured into the device by + + (local or network) management, or dynamically created + as a result of GVRP requests received."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1"; + + leaf dot1qVlanTimeMark { + type rmon2-mib:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter + textual convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.1"; + } + + leaf dot1qVlanIndex { + type Q-BRIDGE-MIB:VlanIndex; + description + "The VLAN-ID or other identifier referring to this VLAN."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.2"; + } + + leaf dot1qVlanFdbId { + type uint32; + description + "The Filtering Database used by this VLAN. This is one + of the dot1qFdbId values in the dot1qFdbTable. This + value is allocated automatically by the device whenever + + the VLAN is created: either dynamically by GVRP, or by + management, in dot1qVlanStaticTable. Allocation of this + value follows the learning constraints defined for this + VLAN in dot1qLearningConstraintsTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.3"; + } + + leaf dot1qVlanCurrentEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports that are transmitting traffic for + this VLAN as either tagged or untagged frames."; + reference + "IEEE 802.1Q/D11 Section 12.10.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.4"; + } + + leaf dot1qVlanCurrentUntaggedPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports that are transmitting traffic for + this VLAN as untagged frames."; + reference + "IEEE 802.1Q/D11 Section 12.10.2.1"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.5"; + } + + leaf dot1qVlanStatus { + type enumeration { + enum "other" { + value "1"; + } + enum "permanent" { + value "2"; + } + enum "dynamicGvrp" { + value "3"; + } + } + description + "This object indicates the status of this entry. + other(1) - this entry is currently in use, but the + conditions under which it will remain so differ + from the following values. + permanent(2) - this entry, corresponding to an entry + in dot1qVlanStaticTable, is currently in use and + will remain so after the next reset of the + device. The port lists for this entry include + ports from the equivalent dot1qVlanStaticTable + entry and ports learned dynamically. + dynamicGvrp(3) - this entry is currently in use + + and will remain so until removed by GVRP. There + is no static entry for this VLAN, and it will be + removed when the last port leaves the VLAN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.6"; + } + + leaf dot1qVlanCreationTime { + type yang:timeticks; + description + "The value of sysUpTime when this VLAN was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.2.1.7"; + } + } + } + + container dot1qVlanStaticTable { + description + "A table containing static configuration information for + each VLAN configured into the device by (local or + network) management. All entries are permanent and will + be restored after the device is reset."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3"; + + list dot1qVlanStaticEntry { + key "dot1qVlanIndex"; + description + "Static information for a VLAN configured into the + device by (local or network) management."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1"; + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qVlanStaticName { + type snmp-framework:SnmpAdminString { + length "0..32"; + } + description + "An administratively assigned string, which may be used + to identify the VLAN."; + reference + "IEEE 802.1Q/D11 Section 12.10.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1.1"; + } + + leaf dot1qVlanStaticEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports that are permanently assigned to the + egress list for this VLAN by management. Changes to a + bit in this object affect the per-port, per-VLAN + Registrar control for Registration Fixed for the + relevant GVRP state machine on each port. A port may + not be added in this set if it is already a member of + the set of ports in dot1qVlanForbiddenEgressPorts. The + default value of this object is a string of zeros of + appropriate length, indicating not fixed."; + reference + "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1.2"; + } + + leaf dot1qVlanForbiddenEgressPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports that are prohibited by management + from being included in the egress list for this VLAN. + Changes to this object that cause a port to be included + or excluded affect the per-port, per-VLAN Registrar + control for Registration Forbidden for the relevant GVRP + state machine on each port. A port may not be added in + this set if it is already a member of the set of ports + in dot1qVlanStaticEgressPorts. The default value of + this object is a string of zeros of appropriate length, + excluding all ports from the forbidden set."; + reference + "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1.3"; + } + + leaf dot1qVlanStaticUntaggedPorts { + type Q-BRIDGE-MIB:PortList; + description + "The set of ports that should transmit egress packets + for this VLAN as untagged. The default value of this + object for the default VLAN (dot1qVlanIndex = 1) is a string + of appropriate length including all ports. There is no + specified default for other VLANs. If a device agent cannot + support the set of ports being set, then it will reject the + set operation with an error. For example, a + manager might attempt to set more than one VLAN to be untagged + on egress where the device does not support this IEEE 802.1Q + option."; + reference + "IEEE 802.1Q/D11 Section 12.10.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1.4"; + } + + leaf dot1qVlanStaticRowStatus { + type snmpv2-tc:RowStatus; + description + "This object indicates the status of this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.3.1.5"; + } + } + } + + container dot1qPortVlanStatisticsTable { + description + "A table containing per-port, per-VLAN statistics for + traffic received. Separate objects are provided for both the + most-significant and least-significant bits of statistics + counters for ports that are associated with this transparent + bridge. The most-significant bit objects are only required on + high-capacity interfaces, as defined in the conformance clauses + for these objects. This mechanism is provided as a way to read + 64-bit counters for agents that support only SNMPv1. + + Note that the reporting of most-significant and least- + significant counter bits separately runs the risk of missing + an overflow of the lower bits in the interval between sampling. + The manager must be aware of this possibility, even within the + same varbindlist, when interpreting the results of a request or + + asynchronous notification."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6"; + + list dot1qPortVlanStatisticsEntry { + key "dot1dBasePort dot1qVlanIndex"; + description + "Traffic statistics for a VLAN on an interface."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qTpVlanPortInFrames { + type yang:counter32; + description + "The number of valid frames received by this port from + its segment that were classified as belonging to this + VLAN. Note that a frame received on this port is + counted by this object if and only if it is for a + protocol being processed by the local forwarding process + for this VLAN. This object includes received bridge + management frames classified as belonging to this VLAN + (e.g., GMRP, but not GVRP or STP."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3(a)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.1"; + } + + leaf dot1qTpVlanPortOutFrames { + type yang:counter32; + description + "The number of valid frames transmitted by this port to + its segment from the local forwarding process for this + VLAN. This includes bridge management frames originated + by this device that are classified as belonging to this + VLAN (e.g., GMRP, but not GVRP or STP)."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3(d)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.2"; + } + + leaf dot1qTpVlanPortInDiscards { + type yang:counter32; + description + "The number of valid frames received by this port from + its segment that were classified as belonging to this + VLAN and that were discarded due to VLAN-related reasons. + Specifically, the IEEE 802.1Q counters for Discard + Inbound and Discard on Ingress Filtering."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.3"; + } + + leaf dot1qTpVlanPortInOverflowFrames { + type yang:counter32; + description + "The number of times the associated + dot1qTpVlanPortInFrames counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.4"; + } + + leaf dot1qTpVlanPortOutOverflowFrames { + type yang:counter32; + description + "The number of times the associated + dot1qTpVlanPortOutFrames counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.5"; + } + + leaf dot1qTpVlanPortInOverflowDiscards { + type yang:counter32; + description + "The number of times the associated + dot1qTpVlanPortInDiscards counter has overflowed."; + reference + "ISO/IEC 15802-3 Section 14.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.6.1.6"; + } + } + } + + container dot1qPortVlanHCStatisticsTable { + description + "A table containing per-port, per-VLAN statistics for + traffic on high-capacity interfaces."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.7"; + + list dot1qPortVlanHCStatisticsEntry { + key "dot1dBasePort dot1qVlanIndex"; + description + "Traffic statistics for a VLAN on a high-capacity + interface."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.7.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1qVlanIndex { + type leafref { + path "/Q-BRIDGE-MIB:Q-BRIDGE-MIB/Q-BRIDGE-MIB:dot1qVlanCurrentTable/Q-BRIDGE-MIB:dot1qVlanCurrentEntry/Q-BRIDGE-MIB:dot1qVlanIndex"; + } + } + + leaf dot1qTpVlanPortHCInFrames { + type yang:counter64; + description + "The number of valid frames received by this port from + its segment that were classified as belonging to this + VLAN. Note that a frame received on this port is + counted by this object if and only if it is for a + + protocol being processed by the local forwarding process + for this VLAN. This object includes received bridge + management frames classified as belonging to this VLAN + (e.g., GMRP, but not GVRP or STP)."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3(a)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.7.1.1"; + } + + leaf dot1qTpVlanPortHCOutFrames { + type yang:counter64; + description + "The number of valid frames transmitted by this port to + its segment from the local forwarding process for this + VLAN. This includes bridge management frames originated + by this device that are classified as belonging to this + VLAN (e.g., GMRP, but not GVRP or STP)."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3(d)"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.7.1.2"; + } + + leaf dot1qTpVlanPortHCInDiscards { + type yang:counter64; + description + "The number of valid frames received by this port from + its segment that were classified as belonging to this + VLAN and that were discarded due to VLAN-related reasons. + Specifically, the IEEE 802.1Q counters for Discard + Inbound and Discard on Ingress Filtering."; + reference + "IEEE 802.1Q/D11 Section 12.6.1.1.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.7.1.3"; + } + } + } + + container dot1qLearningConstraintsTable { + description + "A table containing learning constraints for sets of + Shared and Independent VLANs."; + reference + "IEEE 802.1Q/D11 Section 12.10.3.1"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8"; + + list dot1qLearningConstraintsEntry { + key "dot1qConstraintVlan dot1qConstraintSet"; + description + "A learning constraint defined for a VLAN."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8.1"; + + leaf dot1qConstraintVlan { + type Q-BRIDGE-MIB:VlanIndex; + description + "The index of the row in dot1qVlanCurrentTable for the + VLAN constrained by this entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8.1.1"; + } + + leaf dot1qConstraintSet { + type int32 { + range "0..65535"; + } + description + "The identity of the constraint set to which + dot1qConstraintVlan belongs. These values may be chosen + by the management station."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8.1.2"; + } + + leaf dot1qConstraintType { + type enumeration { + enum "independent" { + value "1"; + } + enum "shared" { + value "2"; + } + } + description + "The type of constraint this entry defines. + independent(1) - the VLAN, dot1qConstraintVlan, + uses a filtering database independent from all + other VLANs in the same set, defined by + dot1qConstraintSet. + shared(2) - the VLAN, dot1qConstraintVlan, shares + the same filtering database as all other VLANs + in the same set, defined by dot1qConstraintSet."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8.1.3"; + } + + leaf dot1qConstraintStatus { + type snmpv2-tc:RowStatus; + description + "The status of this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.8.1.4"; + } + } + } + + container dot1vProtocolGroupTable { + description + "A table that contains mappings from Protocol + Templates to Protocol Group Identifiers used for + Port-and-Protocol-based VLAN Classification."; + reference + "IEEE 802.1v clause 8.6.4"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1"; + + list dot1vProtocolGroupEntry { + key "dot1vProtocolTemplateFrameType dot1vProtocolTemplateProtocolValue"; + description + "A mapping from a Protocol Template to a Protocol + Group Identifier."; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1.1"; + + leaf dot1vProtocolTemplateFrameType { + type enumeration { + enum "ethernet" { + value "1"; + } + enum "rfc1042" { + value "2"; + } + enum "snap8021H" { + value "3"; + } + enum "snapOther" { + value "4"; + } + enum "llcOther" { + value "5"; + } + } + description + "The data-link encapsulation format or the + 'detagged_frame_type' in a Protocol Template."; + reference + "IEEE 802.1v clause 8.6.2"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1.1.1"; + } + + leaf dot1vProtocolTemplateProtocolValue { + type binary { + length "2|5"; + } + description + "The identification of the protocol above the data-link + layer in a Protocol Template. Depending on the + frame type, the octet string will have one of the + following values: + + For 'ethernet', 'rfc1042' and 'snap8021H', + this is the 16-bit (2-octet) IEEE 802.3 Type Field. + For 'snapOther', + this is the 40-bit (5-octet) PID. + For 'llcOther', + this is the 2-octet IEEE 802.2 Link Service Access + Point (LSAP) pair: first octet for Destination Service + Access Point (DSAP) and second octet for Source Service + Access Point (SSAP)."; + reference + "IEEE 802.1v clause 8.6.2"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1.1.2"; + } + + leaf dot1vProtocolGroupId { + type int32 { + range "0..2147483647"; + } + description + "Represents a group of protocols that are associated + together when assigning a VID to a frame."; + reference + "IEEE 802.1v clause 8.6.3, 12.10.2.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1.1.3"; + } + + leaf dot1vProtocolGroupRowStatus { + type snmpv2-tc:RowStatus; + description + "This object indicates the status of this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.1.1.4"; + } + } + } + + container dot1vProtocolPortTable { + description + "A table that contains VID sets used for + Port-and-Protocol-based VLAN Classification."; + reference + "IEEE 802.1v clause 8.4.4"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.2"; + + list dot1vProtocolPortEntry { + key "dot1dBasePort dot1vProtocolPortGroupId"; + description + "A VID set for a port."; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.2.1"; + + leaf dot1dBasePort { + type leafref { + path "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry/bridge-mib:dot1dBasePort"; + } + } + + leaf dot1vProtocolPortGroupId { + type int32 { + range "1..2147483647"; + } + description + "Designates a group of protocols in the Protocol + Group Database."; + reference + "IEEE 802.1v clause 8.6.3, 12.10.1.2"; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.2.1.1"; + } + + leaf dot1vProtocolPortGroupVid { + type int32 { + range "1..4094"; + } + description + "The VID associated with a group of protocols for + each port."; + reference + "IEEE 802.1v clause 8.4.4, 12.10.1.2"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.2.1.2"; + } + + leaf dot1vProtocolPortRowStatus { + type snmpv2-tc:RowStatus; + description + "This object indicates the status of this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.5.2.1.3"; + } + } + } + } + + smiv2:alias "dot1qPortVlanTable" { + description + "A table containing per-port control and status + information for VLAN configuration in the device."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5"; + } + + smiv2:alias "dot1qPortVlanEntry" { + description + "Information controlling VLAN configuration for a port + on the device. This is indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1"; + } + + augment "/bridge-mib:BRIDGE-MIB/bridge-mib:dot1dBasePortTable/bridge-mib:dot1dBasePortEntry" { + description + "Information controlling VLAN configuration for a port + on the device. This is indexed by dot1dBasePort."; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1"; + + leaf dot1qPvid { + type Q-BRIDGE-MIB:VlanIndex; + description + "The PVID, the VLAN-ID assigned to untagged frames or + Priority-Tagged frames received on this port. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1Q/D11 Section 12.10.1.1"; + smiv2:defval "1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.1"; + } + + leaf dot1qPortAcceptableFrameTypes { + type enumeration { + enum "admitAll" { + value "1"; + } + enum "admitOnlyVlanTagged" { + value "2"; + } + } + description + "When this is admitOnlyVlanTagged(2), the device will + discard untagged frames or Priority-Tagged frames + received on this port. When admitAll(1), untagged + frames or Priority-Tagged frames received on this port + will be accepted and assigned to a VID based on the + PVID and VID Set for this port. + + This control does not affect VLAN-independent Bridge + Protocol Data Unit (BPDU) frames, such as GVRP and + Spanning Tree Protocol (STP). It does affect VLAN- + dependent BPDU frames, such as GMRP. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1Q/D11 Section 12.10.1.3"; + smiv2:defval "admitAll"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.2"; + } + + leaf dot1qPortIngressFiltering { + type boolean; + description + "When this is true(1), the device will discard incoming + frames for VLANs that do not include this Port in its + + Member set. When false(2), the port will accept all + incoming frames. + + This control does not affect VLAN-independent BPDU + frames, such as GVRP and STP. It does affect VLAN- + dependent BPDU frames, such as GMRP. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1Q/D11 Section 12.10.1.4"; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.3"; + } + + leaf dot1qPortGvrpStatus { + type p-bridge:EnabledStatus; + description + "The state of GVRP operation on this port. The value + enabled(1) indicates that GVRP is enabled on this port, + as long as dot1qGvrpStatus is also enabled for this + device. When disabled(2) but dot1qGvrpStatus is still + enabled for the device, GVRP is disabled on this port: + any GVRP packets received will be silently discarded, and + no GVRP registrations will be propagated from other + ports. This object affects all GVRP Applicant and + Registrar state machines on this port. A transition + from disabled(2) to enabled(1) will cause a reset of all + GVRP state machines on this port. + + The value of this object MUST be retained across + reinitializations of the management system."; + smiv2:defval "enabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.4"; + } + + leaf dot1qPortGvrpFailedRegistrations { + type yang:counter32; + description + "The total number of failed GVRP registrations, for any + reason, on this port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.5"; + } + + leaf dot1qPortGvrpLastPduOrigin { + type yang:mac-address; + description + "The Source MAC Address of the last GVRP message + received on this port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.6"; + } + + leaf dot1qPortRestrictedVlanRegistration { + type boolean; + description + "The state of Restricted VLAN Registration on this port. + If the value of this control is true(1), then creation + of a new dynamic VLAN entry is permitted only if there + is a Static VLAN Registration Entry for the VLAN concerned, + in which the Registrar Administrative Control value for + this port is Normal Registration. + + The value of this object MUST be retained across + reinitializations of the management system."; + reference + "IEEE 802.1u clause 11.2.3.2.3, 12.10.1.7."; + smiv2:defval "false"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.17.7.1.4.5.1.7"; + } + } + + smiv2:alias "qBridgeMIB" { + smiv2:oid "1.3.6.1.2.1.17.7"; + } + + smiv2:alias "qBridgeMIBObjects" { + smiv2:oid "1.3.6.1.2.1.17.7.1"; + } + + smiv2:alias "dot1qBase" { + smiv2:oid "1.3.6.1.2.1.17.7.1.1"; + } + + smiv2:alias "dot1qTp" { + smiv2:oid "1.3.6.1.2.1.17.7.1.2"; + } + + smiv2:alias "dot1qStatic" { + smiv2:oid "1.3.6.1.2.1.17.7.1.3"; + } + + smiv2:alias "dot1qVlan" { + smiv2:oid "1.3.6.1.2.1.17.7.1.4"; + } + + smiv2:alias "dot1vProtocol" { + smiv2:oid "1.3.6.1.2.1.17.7.1.5"; + } + + smiv2:alias "qBridgeConformance" { + smiv2:oid "1.3.6.1.2.1.17.7.2"; + } + + smiv2:alias "qBridgeGroups" { + smiv2:oid "1.3.6.1.2.1.17.7.2.1"; + } + + smiv2:alias "qBridgeCompliances" { + smiv2:oid "1.3.6.1.2.1.17.7.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RFC-1212.yang b/vendor/cisco/xe/17151/MIBS/RFC-1212.yang new file mode 100644 index 000000000..bdaef57b3 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RFC-1212.yang @@ -0,0 +1,22 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RFC-1212.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RFC-1212 + * + * Do not edit. Edit the source file instead! + */ + +module RFC-1212 { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RFC-1212"; + prefix RFC-1212; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RFC-1215.yang b/vendor/cisco/xe/17151/MIBS/RFC-1215.yang new file mode 100644 index 000000000..49e22e91e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RFC-1215.yang @@ -0,0 +1,22 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RFC-1215.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RFC-1215 + * + * Do not edit. Edit the source file instead! + */ + +module RFC-1215 { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RFC-1215"; + prefix RFC-1215; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RFC1155-SMI.yang b/vendor/cisco/xe/17151/MIBS/RFC1155-SMI.yang new file mode 100644 index 000000000..d6f45100a --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RFC1155-SMI.yang @@ -0,0 +1,90 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RFC1155-SMI.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RFC1155-SMI + * + * Do not edit. Edit the source file instead! + */ + +module RFC1155-SMI { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI"; + prefix RFC1155-SMI; + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + typedef ObjectName { + type yang:object-identifier-128; + } + + typedef NetworkAddress { + type inet:ipv4-address; + } + + typedef IpAddress { + type binary { + length "4"; + } + } + + typedef Counter { + type uint32 { + range "0..4294967295"; + } + } + + typedef Gauge { + type uint32 { + range "0..4294967295"; + } + } + + typedef TimeTicks { + type uint32 { + range "0..4294967295"; + } + } + + typedef Opaque { + type binary; + } + + smiv2:alias "internet" { + smiv2:oid "1.3.6.1"; + } + + smiv2:alias "directory" { + smiv2:oid "1.3.6.1.1"; + } + + smiv2:alias "mgmt" { + smiv2:oid "1.3.6.1.2"; + } + + smiv2:alias "experimental" { + smiv2:oid "1.3.6.1.3"; + } + + smiv2:alias "private" { + smiv2:oid "1.3.6.1.4"; + } + + smiv2:alias "enterprises" { + smiv2:oid "1.3.6.1.4.1"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RFC1213-MIB.yang b/vendor/cisco/xe/17151/MIBS/RFC1213-MIB.yang new file mode 100644 index 000000000..ba890441d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RFC1213-MIB.yang @@ -0,0 +1,2423 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/RFC1213-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RFC1213-MIB + * + * Do not edit. Edit the source file instead! + */ + +module RFC1213-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB"; + prefix RFC1213-MIB; + + import IANAifType-MIB { + prefix "ianaiftype-mib"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + typedef DisplayString { + type binary; + } + + typedef PhysAddress { + type binary; + } + + + container RFC1213-MIB { + config false; + + container system { + smiv2:oid "1.3.6.1.2.1.1"; + + leaf sysDescr { + type RFC1213-MIB:DisplayString { + length "0..255"; + } + description + "A textual description of the entity. This value + should include the full name and version + identification of the system's hardware type, + software operating-system, and networking + software. It is mandatory that this only contain + printable ASCII characters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.1"; + } + + leaf sysObjectID { + type yang:object-identifier-128; + description + "The vendor's authoritative identification of the + network management subsystem contained in the + entity. This value is allocated within the SMI + enterprises subtree (1.3.6.1.4.1) and provides an + easy and unambiguous means for determining `what + kind of box' is being managed. For example, if + vendor `Flintstones, Inc.' was assigned the + subtree 1.3.6.1.4.1.4242, it could assign the + identifier 1.3.6.1.4.1.4242.1.1 to its `Fred + Router'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.2"; + } + + leaf sysUpTime { + type yang:timeticks; + description + "The time (in hundredths of a second) since the + network management portion of the system was last + re-initialized."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.3"; + } + + leaf sysContact { + type RFC1213-MIB:DisplayString { + length "0..255"; + } + description + "The textual identification of the contact person + for this managed node, together with information + on how to contact this person."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.4"; + } + + leaf sysName { + type RFC1213-MIB:DisplayString { + length "0..255"; + } + description + "An administratively-assigned name for this + managed node. By convention, this is the node's + fully-qualified domain name."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.5"; + } + + leaf sysLocation { + type RFC1213-MIB:DisplayString { + length "0..255"; + } + description + "The physical location of this node (e.g., + `telephone closet, 3rd floor')."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.6"; + } + + leaf sysServices { + type int32 { + range "0..127"; + } + description + "A value which indicates the set of services that + this entity primarily offers. + + The value is a sum. This sum initially takes the + value zero, Then, for each layer, L, in the range + 1 through 7, that this node performs transactions + for, 2 raised to (L - 1) is added to the sum. For + example, a node which performs primarily routing + functions would have a value of 4 (2^(3-1)). In + contrast, a node which is a host offering + application services would have a value of 72 + (2^(4-1) + 2^(7-1)). Note that in the context of + the Internet suite of protocols, values should be + calculated accordingly: + + layer functionality + 1 physical (e.g., repeaters) + 2 datalink/subnetwork (e.g., bridges) + 3 internet (e.g., IP gateways) + 4 end-to-end (e.g., IP hosts) + 7 applications (e.g., mail relays) + + For systems including OSI protocols, layers 5 and + 6 may also be counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.7"; + } + } + + container interfaces { + smiv2:oid "1.3.6.1.2.1.2"; + + leaf ifNumber { + type int32; + description + "The number of network interfaces (regardless of + their current state) present on this system."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.1"; + } + } + + container ip { + smiv2:oid "1.3.6.1.2.1.4"; + + leaf ipForwarding { + type enumeration { + enum "forwarding" { + value "1"; + } + enum "not-forwarding" { + value "2"; + } + } + description + "The indication of whether this entity is acting + as an IP gateway in respect to the forwarding of + datagrams received by, but not addressed to, this + entity. IP gateways forward datagrams. IP hosts + do not (except those source-routed via the host). + + Note that for some managed nodes, this object may + take on only a subset of the values possible. + Accordingly, it is appropriate for an agent to + return a `badValue' response if a management + station attempts to change this object to an + inappropriate value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.1"; + } + + leaf ipDefaultTTL { + type int32; + description + "The default value inserted into the Time-To-Live + field of the IP header of datagrams originated at + this entity, whenever a TTL value is not supplied + by the transport layer protocol."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.2"; + } + + leaf ipInReceives { + type yang:counter32; + description + "The total number of input datagrams received from + interfaces, including those received in error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.3"; + } + + leaf ipInHdrErrors { + type yang:counter32; + description + "The number of input datagrams discarded due to + errors in their IP headers, including bad + checksums, version number mismatch, other format + errors, time-to-live exceeded, errors discovered + in processing their IP options, etc."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.4"; + } + + leaf ipInAddrErrors { + type yang:counter32; + description + "The number of input datagrams discarded because + the IP address in their IP header's destination + field was not a valid address to be received at + this entity. This count includes invalid + addresses (e.g., 0.0.0.0) and addresses of + unsupported Classes (e.g., Class E). For entities + which are not IP Gateways and therefore do not + forward datagrams, this counter includes datagrams + discarded because the destination address was not + a local address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.5"; + } + + leaf ipForwDatagrams { + type yang:counter32; + description + "The number of input datagrams for which this + entity was not their final IP destination, as a + result of which an attempt was made to find a + route to forward them to that final destination. + In entities which do not act as IP Gateways, this + counter will include only those packets which were + Source-Routed via this entity, and the Source- + Route option processing was successful."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.6"; + } + + leaf ipInUnknownProtos { + type yang:counter32; + description + "The number of locally-addressed datagrams + received successfully but discarded because of an + unknown or unsupported protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.7"; + } + + leaf ipInDiscards { + type yang:counter32; + description + "The number of input IP datagrams for which no + problems were encountered to prevent their + continued processing, but which were discarded + (e.g., for lack of buffer space). Note that this + counter does not include any datagrams discarded + while awaiting re-assembly."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.8"; + } + + leaf ipInDelivers { + type yang:counter32; + description + "The total number of input datagrams successfully + delivered to IP user-protocols (including ICMP)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.9"; + } + + leaf ipOutRequests { + type yang:counter32; + description + "The total number of IP datagrams which local IP + user-protocols (including ICMP) supplied to IP in + requests for transmission. Note that this counter + does not include any datagrams counted in + ipForwDatagrams."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.10"; + } + + leaf ipOutDiscards { + type yang:counter32; + description + "The number of output IP datagrams for which no + problem was encountered to prevent their + transmission to their destination, but which were + discarded (e.g., for lack of buffer space). Note + that this counter would include datagrams counted + in ipForwDatagrams if any such packets met this + (discretionary) discard criterion."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.11"; + } + + leaf ipOutNoRoutes { + type yang:counter32; + description + "The number of IP datagrams discarded because no + route could be found to transmit them to their + destination. Note that this counter includes any + packets counted in ipForwDatagrams which meet this + `no-route' criterion. Note that this includes any + datagrams which a host cannot route because all of + its default gateways are down."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.12"; + } + + leaf ipReasmTimeout { + type int32; + description + "The maximum number of seconds which received + fragments are held while they are awaiting + reassembly at this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.13"; + } + + leaf ipReasmReqds { + type yang:counter32; + description + "The number of IP fragments received which needed + to be reassembled at this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.14"; + } + + leaf ipReasmOKs { + type yang:counter32; + description + "The number of IP datagrams successfully re- + assembled."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.15"; + } + + leaf ipReasmFails { + type yang:counter32; + description + "The number of failures detected by the IP re- + assembly algorithm (for whatever reason: timed + out, errors, etc). Note that this is not + necessarily a count of discarded IP fragments + since some algorithms (notably the algorithm in + RFC 815) can lose track of the number of fragments + by combining them as they are received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.16"; + } + + leaf ipFragOKs { + type yang:counter32; + description + "The number of IP datagrams that have been + successfully fragmented at this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.17"; + } + + leaf ipFragFails { + type yang:counter32; + description + "The number of IP datagrams that have been + discarded because they needed to be fragmented at + this entity but could not be, e.g., because their + Don't Fragment flag was set."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.18"; + } + + leaf ipFragCreates { + type yang:counter32; + description + "The number of IP datagram fragments that have + been generated as a result of fragmentation at + this entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.19"; + } + + leaf ipRoutingDiscards { + type yang:counter32; + description + "The number of routing entries which were chosen + to be discarded even though they are valid. One + possible reason for discarding such an entry could + be to free-up buffer space for other routing + entries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.23"; + } + } + + container icmp { + smiv2:oid "1.3.6.1.2.1.5"; + + leaf icmpInMsgs { + type yang:counter32; + description + "The total number of ICMP messages which the + entity received. Note that this counter includes + all those counted by icmpInErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.1"; + } + + leaf icmpInErrors { + type yang:counter32; + description + "The number of ICMP messages which the entity + received but determined as having ICMP-specific + errors (bad ICMP checksums, bad length, etc.)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.2"; + } + + leaf icmpInDestUnreachs { + type yang:counter32; + description + "The number of ICMP Destination Unreachable + messages received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.3"; + } + + leaf icmpInTimeExcds { + type yang:counter32; + description + "The number of ICMP Time Exceeded messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.4"; + } + + leaf icmpInParmProbs { + type yang:counter32; + description + "The number of ICMP Parameter Problem messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.5"; + } + + leaf icmpInSrcQuenchs { + type yang:counter32; + description + "The number of ICMP Source Quench messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.6"; + } + + leaf icmpInRedirects { + type yang:counter32; + description + "The number of ICMP Redirect messages received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.7"; + } + + leaf icmpInEchos { + type yang:counter32; + description + "The number of ICMP Echo (request) messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.8"; + } + + leaf icmpInEchoReps { + type yang:counter32; + description + "The number of ICMP Echo Reply messages received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.9"; + } + + leaf icmpInTimestamps { + type yang:counter32; + description + "The number of ICMP Timestamp (request) messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.10"; + } + + leaf icmpInTimestampReps { + type yang:counter32; + description + "The number of ICMP Timestamp Reply messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.11"; + } + + leaf icmpInAddrMasks { + type yang:counter32; + description + "The number of ICMP Address Mask Request messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.12"; + } + + leaf icmpInAddrMaskReps { + type yang:counter32; + description + "The number of ICMP Address Mask Reply messages + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.13"; + } + + leaf icmpOutMsgs { + type yang:counter32; + description + "The total number of ICMP messages which this + entity attempted to send. Note that this counter + includes all those counted by icmpOutErrors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.14"; + } + + leaf icmpOutErrors { + type yang:counter32; + description + "The number of ICMP messages which this entity did + not send due to problems discovered within ICMP + such as a lack of buffers. This value should not + include errors discovered outside the ICMP layer + such as the inability of IP to route the resultant + datagram. In some implementations there may be no + types of error which contribute to this counter's + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.15"; + } + + leaf icmpOutDestUnreachs { + type yang:counter32; + description + "The number of ICMP Destination Unreachable + messages sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.16"; + } + + leaf icmpOutTimeExcds { + type yang:counter32; + description + "The number of ICMP Time Exceeded messages sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.17"; + } + + leaf icmpOutParmProbs { + type yang:counter32; + description + "The number of ICMP Parameter Problem messages + sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.18"; + } + + leaf icmpOutSrcQuenchs { + type yang:counter32; + description + "The number of ICMP Source Quench messages sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.19"; + } + + leaf icmpOutRedirects { + type yang:counter32; + description + "The number of ICMP Redirect messages sent. For a + host, this object will always be zero, since hosts + do not send redirects."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.20"; + } + + leaf icmpOutEchos { + type yang:counter32; + description + "The number of ICMP Echo (request) messages sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.21"; + } + + leaf icmpOutEchoReps { + type yang:counter32; + description + "The number of ICMP Echo Reply messages sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.22"; + } + + leaf icmpOutTimestamps { + type yang:counter32; + description + "The number of ICMP Timestamp (request) messages + sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.23"; + } + + leaf icmpOutTimestampReps { + type yang:counter32; + description + "The number of ICMP Timestamp Reply messages + sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.24"; + } + + leaf icmpOutAddrMasks { + type yang:counter32; + description + "The number of ICMP Address Mask Request messages + sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.25"; + } + + leaf icmpOutAddrMaskReps { + type yang:counter32; + description + "The number of ICMP Address Mask Reply messages + sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.5.26"; + } + } + + container tcp { + smiv2:oid "1.3.6.1.2.1.6"; + + leaf tcpRtoAlgorithm { + type enumeration { + enum "other" { + value "1"; + } + enum "constant" { + value "2"; + } + enum "rsre" { + value "3"; + } + enum "vanj" { + value "4"; + } + enum "rfc2988" { + value "5"; + } + } + description + "The algorithm used to determine the timeout value + used for retransmitting unacknowledged octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.1"; + } + + leaf tcpRtoMin { + type int32; + description + "The minimum value permitted by a TCP + implementation for the retransmission timeout, + measured in milliseconds. More refined semantics + for objects of this type depend upon the algorithm + used to determine the retransmission timeout. In + particular, when the timeout algorithm is rsre(3), + an object of this type has the semantics of the + LBOUND quantity described in RFC 793."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.2"; + } + + leaf tcpRtoMax { + type int32; + description + "The maximum value permitted by a TCP + implementation for the retransmission timeout, + measured in milliseconds. More refined semantics + for objects of this type depend upon the algorithm + used to determine the retransmission timeout. In + particular, when the timeout algorithm is rsre(3), + an object of this type has the semantics of the + UBOUND quantity described in RFC 793."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.3"; + } + + leaf tcpMaxConn { + type int32; + description + "The limit on the total number of TCP connections + the entity can support. In entities where the + maximum number of connections is dynamic, this + object should contain the value -1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.4"; + } + + leaf tcpActiveOpens { + type yang:counter32; + description + "The number of times TCP connections have made a + direct transition to the SYN-SENT state from the + CLOSED state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.5"; + } + + leaf tcpPassiveOpens { + type yang:counter32; + description + "The number of times TCP connections have made a + direct transition to the SYN-RCVD state from the + LISTEN state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.6"; + } + + leaf tcpAttemptFails { + type yang:counter32; + description + "The number of times TCP connections have made a + direct transition to the CLOSED state from either + the SYN-SENT state or the SYN-RCVD state, plus the + number of times TCP connections have made a direct + transition to the LISTEN state from the SYN-RCVD + state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.7"; + } + + leaf tcpEstabResets { + type yang:counter32; + description + "The number of times TCP connections have made a + direct transition to the CLOSED state from either + the ESTABLISHED state or the CLOSE-WAIT state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.8"; + } + + leaf tcpCurrEstab { + type yang:gauge32; + description + "The number of TCP connections for which the + current state is either ESTABLISHED or CLOSE- + WAIT."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.9"; + } + + leaf tcpInSegs { + type yang:counter32; + description + "The total number of segments received, including + those received in error. This count includes + segments received on currently established + connections."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.10"; + } + + leaf tcpOutSegs { + type yang:counter32; + description + "The total number of segments sent, including + those on current connections but excluding those + containing only retransmitted octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.11"; + } + + leaf tcpRetransSegs { + type yang:counter32; + description + "The total number of segments retransmitted - that + is, the number of TCP segments transmitted + containing one or more previously transmitted + octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.12"; + } + + leaf tcpInErrs { + type yang:counter32; + description + "The total number of segments received in error + (e.g., bad TCP checksums)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.14"; + } + + leaf tcpOutRsts { + type yang:counter32; + description + "The number of TCP segments sent containing the + RST flag."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.15"; + } + } + + container udp { + smiv2:oid "1.3.6.1.2.1.7"; + + leaf udpInDatagrams { + type yang:counter32; + description + "The total number of UDP datagrams delivered to + UDP users."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.1"; + } + + leaf udpNoPorts { + type yang:counter32; + description + "The total number of received UDP datagrams for + which there was no application at the destination + port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.2"; + } + + leaf udpInErrors { + type yang:counter32; + description + "The number of received UDP datagrams that could + not be delivered for reasons other than the lack + of an application at the destination port."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.3"; + } + + leaf udpOutDatagrams { + type yang:counter32; + description + "The total number of UDP datagrams sent from this + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.4"; + } + } + + container egp { + smiv2:oid "1.3.6.1.2.1.8"; + + leaf egpInMsgs { + type yang:counter32; + description + "The number of EGP messages received without + error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.1"; + } + + leaf egpInErrors { + type yang:counter32; + description + "The number of EGP messages received that proved + to be in error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.2"; + } + + leaf egpOutMsgs { + type yang:counter32; + description + "The total number of locally generated EGP + messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.3"; + } + + leaf egpOutErrors { + type yang:counter32; + description + "The number of locally generated EGP messages not + sent due to resource limitations within an EGP + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.4"; + } + + leaf egpAs { + type int32; + description + "The autonomous system number of this EGP entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.6"; + } + } + + container snmp { + smiv2:oid "1.3.6.1.2.1.11"; + + leaf snmpInPkts { + type yang:counter32; + description + "The total number of Messages delivered to the + SNMP entity from the transport service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.1"; + } + + leaf snmpOutPkts { + type yang:counter32; + description + "The total number of SNMP Messages which were + passed from the SNMP protocol entity to the + transport service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.2"; + } + + leaf snmpInBadVersions { + type yang:counter32; + description + "The total number of SNMP Messages which were + delivered to the SNMP protocol entity and were for + an unsupported SNMP version."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.3"; + } + + leaf snmpInBadCommunityNames { + type yang:counter32; + description + "The total number of SNMP Messages delivered to + the SNMP protocol entity which used a SNMP + community name not known to said entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.4"; + } + + leaf snmpInBadCommunityUses { + type yang:counter32; + description + "The total number of SNMP Messages delivered to + the SNMP protocol entity which represented an SNMP + operation which was not allowed by the SNMP + community named in the Message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.5"; + } + + leaf snmpInASNParseErrs { + type yang:counter32; + description + "The total number of ASN.1 or BER errors + encountered by the SNMP protocol entity when + decoding received SNMP Messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.6"; + } + + leaf snmpInTooBigs { + type yang:counter32; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field is + `tooBig'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.8"; + } + + leaf snmpInNoSuchNames { + type yang:counter32; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field is + `noSuchName'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.9"; + } + + leaf snmpInBadValues { + type yang:counter32; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field is + `badValue'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.10"; + } + + leaf snmpInReadOnlys { + type yang:counter32; + description + "The total number valid SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field is + `readOnly'. It should be noted that it is a + protocol error to generate an SNMP PDU which + contains the value `readOnly' in the error-status + field, as such this object is provided as a means + of detecting incorrect implementations of the + SNMP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.11"; + } + + leaf snmpInGenErrs { + type yang:counter32; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field is + `genErr'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.12"; + } + + leaf snmpInTotalReqVars { + type yang:counter32; + description + "The total number of MIB objects which have been + retrieved successfully by the SNMP protocol entity + as the result of receiving valid SNMP Get-Request + and Get-Next PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.13"; + } + + leaf snmpInTotalSetVars { + type yang:counter32; + description + "The total number of MIB objects which have been + altered successfully by the SNMP protocol entity + as the result of receiving valid SNMP Set-Request + PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.14"; + } + + leaf snmpInGetRequests { + type yang:counter32; + description + "The total number of SNMP Get-Request PDUs which + have been accepted and processed by the SNMP + protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.15"; + } + + leaf snmpInGetNexts { + type yang:counter32; + description + "The total number of SNMP Get-Next PDUs which have + been accepted and processed by the SNMP protocol + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.16"; + } + + leaf snmpInSetRequests { + type yang:counter32; + description + "The total number of SNMP Set-Request PDUs which + have been accepted and processed by the SNMP + protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.17"; + } + + leaf snmpInGetResponses { + type yang:counter32; + description + "The total number of SNMP Get-Response PDUs which + have been accepted and processed by the SNMP + protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.18"; + } + + leaf snmpInTraps { + type yang:counter32; + description + "The total number of SNMP Trap PDUs which have + been accepted and processed by the SNMP protocol + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.19"; + } + + leaf snmpOutTooBigs { + type yang:counter32; + description + "The total number of SNMP PDUs which were + generated by the SNMP protocol entity and for + which the value of the error-status field is + `tooBig.'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.20"; + } + + leaf snmpOutNoSuchNames { + type yang:counter32; + description + "The total number of SNMP PDUs which were + generated by the SNMP protocol entity and for + which the value of the error-status is + `noSuchName'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.21"; + } + + leaf snmpOutBadValues { + type yang:counter32; + description + "The total number of SNMP PDUs which were + generated by the SNMP protocol entity and for + which the value of the error-status field is + `badValue'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.22"; + } + + leaf snmpOutGenErrs { + type yang:counter32; + description + "The total number of SNMP PDUs which were + generated by the SNMP protocol entity and for + which the value of the error-status field is + `genErr'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.24"; + } + + leaf snmpOutGetRequests { + type yang:counter32; + description + "The total number of SNMP Get-Request PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.25"; + } + + leaf snmpOutGetNexts { + type yang:counter32; + description + "The total number of SNMP Get-Next PDUs which have + been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.26"; + } + + leaf snmpOutSetRequests { + type yang:counter32; + description + "The total number of SNMP Set-Request PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.27"; + } + + leaf snmpOutGetResponses { + type yang:counter32; + description + "The total number of SNMP Get-Response PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.28"; + } + + leaf snmpOutTraps { + type yang:counter32; + description + "The total number of SNMP Trap PDUs which have + been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.29"; + } + + leaf snmpEnableAuthenTraps { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether the SNMP agent process is + permitted to generate authentication-failure + traps. The value of this object overrides any + configuration information; as such, it provides a + means whereby all authentication-failure traps may + be disabled. + + Note that it is strongly recommended that this + object be stored in non-volatile memory so that it + remains constant between re-initializations of the + network management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.11.30"; + } + } + + container ifTable { + description + "A list of interface entries. The number of + entries is given by the value of ifNumber."; + smiv2:oid "1.3.6.1.2.1.2.2"; + + list ifEntry { + key "ifIndex"; + description + "An interface entry containing objects at the + subnetwork layer and below for a particular + interface."; + smiv2:oid "1.3.6.1.2.1.2.2.1"; + + leaf ifIndex { + type int32; + description + "A unique value for each interface. Its value + ranges between 1 and the value of ifNumber. The + value for each interface must remain constant at + least from one re-initialization of the entity's + network management system to the next re- + initialization."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.1"; + } + + leaf ifDescr { + type RFC1213-MIB:DisplayString { + length "0..255"; + } + description + "A textual string containing information about the + interface. This string should include the name of + the manufacturer, the product name and the version + of the hardware interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.2"; + } + + leaf ifType { + type ianaiftype-mib:IANAifType; + description + "The type of interface. Additional values for ifType + are assigned by the Internet Assigned Numbers + Authority (IANA), through updating the syntax of the + IANAifType textual convention."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.3"; + } + + leaf ifMtu { + type int32; + description + "The size of the largest datagram which can be + sent/received on the interface, specified in + octets. For interfaces that are used for + transmitting network datagrams, this is the size + of the largest network datagram that can be sent + on the interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.4"; + } + + leaf ifSpeed { + type yang:gauge32; + description + "An estimate of the interface's current bandwidth + in bits per second. For interfaces which do not + vary in bandwidth or for those where no accurate + estimation can be made, this object should contain + the nominal bandwidth."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.5"; + } + + leaf ifPhysAddress { + type RFC1213-MIB:PhysAddress; + description + "The interface's address at the protocol layer + immediately `below' the network layer in the + protocol stack. For interfaces which do not have + such an address (e.g., a serial line), this object + should contain an octet string of zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.6"; + } + + leaf ifAdminStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + } + description + "The desired state of the interface. The + testing(3) state indicates that no operational + packets can be passed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.2.2.1.7"; + } + + leaf ifOperStatus { + type enumeration { + enum "up" { + value "1"; + } + enum "down" { + value "2"; + } + enum "testing" { + value "3"; + } + enum "unknown" { + value "4"; + } + enum "dormant" { + value "5"; + } + } + description + "The current operational state of the interface. + The testing(3) state indicates that no operational + packets can be passed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.8"; + } + + leaf ifLastChange { + type yang:timeticks; + description + "The value of sysUpTime at the time the interface + entered its current operational state. If the + current state was entered prior to the last re- + initialization of the local network management + subsystem, then this object contains a zero + value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.9"; + } + + leaf ifInOctets { + type yang:counter32; + description + "The total number of octets received on the + interface, including framing characters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.10"; + } + + leaf ifInUcastPkts { + type yang:counter32; + description + "The number of subnetwork-unicast packets + delivered to a higher-layer protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.11"; + } + + leaf ifInNUcastPkts { + type yang:counter32; + description + "The number of non-unicast (i.e., subnetwork- + broadcast or subnetwork-multicast) packets + delivered to a higher-layer protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.12"; + } + + leaf ifInDiscards { + type yang:counter32; + description + "The number of inbound packets which were chosen + to be discarded even though no errors had been + detected to prevent their being deliverable to a + higher-layer protocol. One possible reason for + discarding such a packet could be to free up + buffer space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.13"; + } + + leaf ifInErrors { + type yang:counter32; + description + "The number of inbound packets that contained + errors preventing them from being deliverable to a + higher-layer protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.14"; + } + + leaf ifInUnknownProtos { + type yang:counter32; + description + "The number of packets received via the interface + which were discarded because of an unknown or + unsupported protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.15"; + } + + leaf ifOutOctets { + type yang:counter32; + description + "The total number of octets transmitted out of the + interface, including framing characters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.16"; + } + + leaf ifOutUcastPkts { + type yang:counter32; + description + "The total number of packets that higher-level + protocols requested be transmitted to a + subnetwork-unicast address, including those that + were discarded or not sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.17"; + } + + leaf ifOutNUcastPkts { + type yang:counter32; + description + "The total number of packets that higher-level + protocols requested be transmitted to a non- + unicast (i.e., a subnetwork-broadcast or + subnetwork-multicast) address, including those + that were discarded or not sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.18"; + } + + leaf ifOutDiscards { + type yang:counter32; + description + "The number of outbound packets which were chosen + to be discarded even though no errors had been + detected to prevent their being transmitted. One + possible reason for discarding such a packet could + be to free up buffer space."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.19"; + } + + leaf ifOutErrors { + type yang:counter32; + description + "The number of outbound packets that could not be + transmitted because of errors."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.20"; + } + + leaf ifOutQLen { + type yang:gauge32; + description + "The length of the output packet queue (in + packets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.21"; + } + + leaf ifSpecific { + type yang:object-identifier-128; + description + "A reference to MIB definitions specific to the + particular media being used to realize the + interface. For example, if the interface is + realized by an ethernet, then the value of this + object refers to a document defining objects + specific to ethernet. If this information is not + present, its value should be set to the OBJECT + IDENTIFIER { 0 0 }, which is a syntactically valid + object identifier, and any conformant + implementation of ASN.1 and BER must be able to + generate and recognize this value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.2.2.1.22"; + } + } + } + + container atTable { + status obsolete; + description + "The Address Translation tables contain the + NetworkAddress to `physical' address equivalences. + Some interfaces do not use translation tables for + determining address equivalences (e.g., DDN-X.25 + has an algorithmic method); if all interfaces are + of this type, then the Address Translation table + is empty, i.e., has zero entries."; + smiv2:oid "1.3.6.1.2.1.3.1"; + + list atEntry { + key "atIfIndex atIfIndex_2 atNetAddress"; + status obsolete; + description + "Each entry contains one NetworkAddress to + `physical' address equivalence."; + smiv2:oid "1.3.6.1.2.1.3.1.1"; + + leaf atIfIndex { + type int32; + status obsolete; + description + "The interface on which this entry's equivalence + is effective. The interface identified by a + particular value of this index is the same + interface as identified by the same value of + ifIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.3.1.1.1"; + } + + leaf atIfIndex_2 { + type int32; + status obsolete; + description + "The interface on which this entry's equivalence + is effective. The interface identified by a + particular value of this index is the same + interface as identified by the same value of + ifIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.3.1.1.1"; + } + + leaf atPhysAddress { + type RFC1213-MIB:PhysAddress; + status obsolete; + description + "The media-dependent `physical' address. + + Setting this object to a null string (one of zero + length) has the effect of invaliding the + corresponding entry in the atTable object. That + is, it effectively disassociates the interface + identified with said entry from the mapping + identified with said entry. It is an + implementation-specific matter as to whether the + agent removes an invalidated entry from the table. + Accordingly, management stations must be prepared + to receive tabular information from agents that + corresponds to entries not currently in use. + Proper interpretation of such entries requires + examination of the relevant atPhysAddress object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.3.1.1.2"; + } + + leaf atNetAddress { + type inet:ipv4-address; + status obsolete; + description + "The NetworkAddress (e.g., the IP address) + corresponding to the media-dependent `physical' + address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.3.1.1.3"; + } + } + } + + container ipAddrTable { + description + "The table of addressing information relevant to + this entity's IP addresses."; + smiv2:oid "1.3.6.1.2.1.4.20"; + + list ipAddrEntry { + key "ipAdEntAddr"; + description + "The addressing information for one of this + entity's IP addresses."; + smiv2:oid "1.3.6.1.2.1.4.20.1"; + + leaf ipAdEntAddr { + type inet:ipv4-address; + description + "The IP address to which this entry's addressing + information pertains."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.1"; + } + + leaf ipAdEntIfIndex { + type int32; + description + "The index value which uniquely identifies the + interface to which this entry is applicable. The + interface identified by a particular value of this + index is the same interface as identified by the + same value of ifIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.2"; + } + + leaf ipAdEntNetMask { + type inet:ipv4-address; + description + "The subnet mask associated with the IP address of + this entry. The value of the mask is an IP + address with all the network bits set to 1 and all + the hosts bits set to 0."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.3"; + } + + leaf ipAdEntBcastAddr { + type int32; + description + "The value of the least-significant bit in the IP + broadcast address used for sending datagrams on + the (logical) interface associated with the IP + address of this entry. For example, when the + Internet standard all-ones broadcast address is + used, the value will be 1. This value applies to + both the subnet and network broadcasts addresses + used by the entity on this (logical) interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.4"; + } + + leaf ipAdEntReasmMaxSize { + type int32 { + range "0..65535"; + } + description + "The size of the largest IP datagram which this + entity can re-assemble from incoming IP fragmented + datagrams received on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.20.1.5"; + } + } + } + + container ipRouteTable { + description + "This entity's IP Routing table."; + smiv2:oid "1.3.6.1.2.1.4.21"; + + list ipRouteEntry { + key "ipRouteDest"; + description + "A route to a particular destination."; + smiv2:oid "1.3.6.1.2.1.4.21.1"; + + leaf ipRouteDest { + type inet:ipv4-address; + description + "The destination IP address of this route. An + entry with a value of 0.0.0.0 is considered a + default route. Multiple routes to a single + destination can appear in the table, but access to + such multiple entries is dependent on the table- + access mechanisms defined by the network + management protocol in use."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.1"; + } + + leaf ipRouteIfIndex { + type int32; + description + "The index value which uniquely identifies the + local interface through which the next hop of this + route should be reached. The interface identified + by a particular value of this index is the same + interface as identified by the same value of + ifIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.2"; + } + + leaf ipRouteMetric1 { + type int32; + description + "The primary routing metric for this route. The + semantics of this metric are determined by the + routing-protocol specified in the route's + ipRouteProto value. If this metric is not used, + its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.3"; + } + + leaf ipRouteMetric2 { + type int32; + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the + routing-protocol specified in the route's + ipRouteProto value. If this metric is not used, + its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.4"; + } + + leaf ipRouteMetric3 { + type int32; + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the + routing-protocol specified in the route's + ipRouteProto value. If this metric is not used, + its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.5"; + } + + leaf ipRouteMetric4 { + type int32; + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the + routing-protocol specified in the route's + ipRouteProto value. If this metric is not used, + its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.6"; + } + + leaf ipRouteNextHop { + type inet:ipv4-address; + description + "The IP address of the next hop of this route. + (In the case of a route bound to an interface + which is realized via a broadcast media, the value + of this field is the agent's IP address on that + interface.)"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.7"; + } + + leaf ipRouteType { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "direct" { + value "3"; + } + enum "indirect" { + value "4"; + } + } + description + "The type of route. Note that the values + direct(3) and indirect(4) refer to the notion of + direct and indirect routing in the IP + architecture. + + Setting this object to the value invalid(2) has + the effect of invalidating the corresponding entry + in the ipRouteTable object. That is, it + effectively disassociates the destination + identified with said entry from the route + identified with said entry. It is an + implementation-specific matter as to whether the + agent removes an invalidated entry from the table. + Accordingly, management stations must be prepared + to receive tabular information from agents that + corresponds to entries not currently in use. + Proper interpretation of such entries requires + examination of the relevant ipRouteType object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.8"; + } + + leaf ipRouteProto { + type enumeration { + enum "other" { + value "1"; + } + enum "local" { + value "2"; + } + enum "netmgmt" { + value "3"; + } + enum "icmp" { + value "4"; + } + enum "egp" { + value "5"; + } + enum "ggp" { + value "6"; + } + enum "hello" { + value "7"; + } + enum "rip" { + value "8"; + } + enum "is-is" { + value "9"; + } + enum "es-is" { + value "10"; + } + enum "ciscoIgrp" { + value "11"; + } + enum "bbnSpfIgp" { + value "12"; + } + enum "ospf" { + value "13"; + } + enum "bgp" { + value "14"; + } + } + description + "The routing mechanism via which this route was + learned. Inclusion of values for gateway routing + protocols is not intended to imply that hosts + should support those protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.21.1.9"; + } + + leaf ipRouteAge { + type int32; + description + "The number of seconds since this route was last + updated or otherwise determined to be correct. + Note that no semantics of `too old' can be implied + except through knowledge of the routing protocol + by which the route was learned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.10"; + } + + leaf ipRouteMask { + type inet:ipv4-address; + description + "Indicate the mask to be logical-ANDed with the + destination address before being compared to the + value in the ipRouteDest field. For those systems + that do not support arbitrary subnet masks, an + agent constructs the value of the ipRouteMask by + determining whether the value of the correspondent + ipRouteDest field belong to a class-A, B, or C + network, and then using one of: + + mask network + 255.0.0.0 class-A + 255.255.0.0 class-B + 255.255.255.0 class-C + + If the value of the ipRouteDest is 0.0.0.0 (a + default route), then the mask value is also + 0.0.0.0. It should be noted that all IP routing + subsystems implicitly use this mechanism."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.11"; + } + + leaf ipRouteMetric5 { + type int32; + description + "An alternate routing metric for this route. The + semantics of this metric are determined by the + routing-protocol specified in the route's + ipRouteProto value. If this metric is not used, + its value should be set to -1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.21.1.12"; + } + + leaf ipRouteInfo { + type yang:object-identifier-128; + description + "A reference to MIB definitions specific to the + particular routing protocol which is responsible + for this route, as determined by the value + specified in the route's ipRouteProto value. If + this information is not present, its value should + be set to the OBJECT IDENTIFIER { 0 0 }, which is + a syntactically valid object identifier, and any + conformant implementation of ASN.1 and BER must be + able to generate and recognize this value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.4.21.1.13"; + } + } + } + + container ipNetToMediaTable { + description + "The IP Address Translation table used for mapping + from IP addresses to physical addresses."; + smiv2:oid "1.3.6.1.2.1.4.22"; + + list ipNetToMediaEntry { + key "ipNetToMediaIfIndex ipNetToMediaNetAddress"; + description + "Each entry contains one IpAddress to `physical' + address equivalence."; + smiv2:oid "1.3.6.1.2.1.4.22.1"; + + leaf ipNetToMediaIfIndex { + type int32; + description + "The interface on which this entry's equivalence + is effective. The interface identified by a + particular value of this index is the same + interface as identified by the same value of + ifIndex."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.1"; + } + + leaf ipNetToMediaPhysAddress { + type RFC1213-MIB:PhysAddress; + description + "The media-dependent `physical' address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.2"; + } + + leaf ipNetToMediaNetAddress { + type inet:ipv4-address; + description + "The IpAddress corresponding to the media- + dependent `physical' address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.3"; + } + + leaf ipNetToMediaType { + type enumeration { + enum "other" { + value "1"; + } + enum "invalid" { + value "2"; + } + enum "dynamic" { + value "3"; + } + enum "static" { + value "4"; + } + } + description + "The type of mapping. + + Setting this object to the value invalid(2) has + the effect of invalidating the corresponding entry + in the ipNetToMediaTable. That is, it effectively + disassociates the interface identified with said + entry from the mapping identified with said entry. + It is an implementation-specific matter as to + whether the agent removes an invalidated entry + from the table. Accordingly, management stations + must be prepared to receive tabular information + from agents that corresponds to entries not + currently in use. Proper interpretation of such + entries requires examination of the relevant + ipNetToMediaType object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.4.22.1.4"; + } + } + } + + container tcpConnTable { + description + "A table containing TCP connection-specific + information."; + smiv2:oid "1.3.6.1.2.1.6.13"; + + list tcpConnEntry { + key "tcpConnLocalAddress tcpConnLocalPort tcpConnRemAddress tcpConnRemPort"; + description + "Information about a particular current TCP + connection. An object of this type is transient, + in that it ceases to exist when (or soon after) + the connection makes the transition to the CLOSED + state."; + smiv2:oid "1.3.6.1.2.1.6.13.1"; + + leaf tcpConnState { + type enumeration { + enum "closed" { + value "1"; + } + enum "listen" { + value "2"; + } + enum "synSent" { + value "3"; + } + enum "synReceived" { + value "4"; + } + enum "established" { + value "5"; + } + enum "finWait1" { + value "6"; + } + enum "finWait2" { + value "7"; + } + enum "closeWait" { + value "8"; + } + enum "lastAck" { + value "9"; + } + enum "closing" { + value "10"; + } + enum "timeWait" { + value "11"; + } + enum "deleteTCB" { + value "12"; + } + } + description + "The state of this TCP connection. + + The only value which may be set by a management + station is deleteTCB(12). Accordingly, it is + appropriate for an agent to return a `badValue' + response if a management station attempts to set + this object to any other value. + + If a management station sets this object to the + value deleteTCB(12), then this has the effect of + deleting the TCB (as defined in RFC 793) of the + corresponding connection on the managed node, + resulting in immediate termination of the + connection. + + As an implementation-specific option, a RST + segment may be sent from the managed node to the + other TCP endpoint (note however that RST segments + are not sent reliably)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.6.13.1.1"; + } + + leaf tcpConnLocalAddress { + type inet:ipv4-address; + description + "The local IP address for this TCP connection. In + the case of a connection in the listen state which + is willing to accept connections for any IP + interface associated with the node, the value + 0.0.0.0 is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.2"; + } + + leaf tcpConnLocalPort { + type int32 { + range "0..65535"; + } + description + "The local port number for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.3"; + } + + leaf tcpConnRemAddress { + type inet:ipv4-address; + description + "The remote IP address for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.4"; + } + + leaf tcpConnRemPort { + type int32 { + range "0..65535"; + } + description + "The remote port number for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.5"; + } + } + } + + container udpTable { + description + "A table containing UDP listener information."; + smiv2:oid "1.3.6.1.2.1.7.5"; + + list udpEntry { + key "udpLocalAddress udpLocalPort"; + description + "Information about a particular current UDP + listener."; + smiv2:oid "1.3.6.1.2.1.7.5.1"; + + leaf udpLocalAddress { + type inet:ipv4-address; + description + "The local IP address for this UDP listener. In + the case of a UDP listener which is willing to + accept datagrams for any IP interface associated + with the node, the value 0.0.0.0 is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.5.1.1"; + } + + leaf udpLocalPort { + type int32 { + range "0..65535"; + } + description + "The local port number for this UDP listener."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.5.1.2"; + } + } + } + + container egpNeighTable { + description + "The EGP neighbor table."; + smiv2:oid "1.3.6.1.2.1.8.5"; + + list egpNeighEntry { + key "egpNeighAddr"; + description + "Information about this entity's relationship with + a particular EGP neighbor."; + smiv2:oid "1.3.6.1.2.1.8.5.1"; + + leaf egpNeighState { + type enumeration { + enum "idle" { + value "1"; + } + enum "acquisition" { + value "2"; + } + enum "down" { + value "3"; + } + enum "up" { + value "4"; + } + enum "cease" { + value "5"; + } + } + description + "The EGP state of the local system with respect to + this entry's EGP neighbor. Each EGP state is + represented by a value that is one greater than + the numerical value associated with said state in + RFC 904."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.1"; + } + + leaf egpNeighAddr { + type inet:ipv4-address; + description + "The IP address of this entry's EGP neighbor."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.2"; + } + + leaf egpNeighAs { + type int32; + description + "The autonomous system of this EGP peer. Zero + should be specified if the autonomous system + number of the neighbor is not yet known."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.3"; + } + + leaf egpNeighInMsgs { + type yang:counter32; + description + "The number of EGP messages received without error + from this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.4"; + } + + leaf egpNeighInErrs { + type yang:counter32; + description + "The number of EGP messages received from this EGP + peer that proved to be in error (e.g., bad EGP + checksum)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.5"; + } + + leaf egpNeighOutMsgs { + type yang:counter32; + description + "The number of locally generated EGP messages to + this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.6"; + } + + leaf egpNeighOutErrs { + type yang:counter32; + description + "The number of locally generated EGP messages not + sent to this EGP peer due to resource limitations + within an EGP entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.7"; + } + + leaf egpNeighInErrMsgs { + type yang:counter32; + description + "The number of EGP-defined error messages received + from this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.8"; + } + + leaf egpNeighOutErrMsgs { + type yang:counter32; + description + "The number of EGP-defined error messages sent to + this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.9"; + } + + leaf egpNeighStateUps { + type yang:counter32; + description + "The number of EGP state transitions to the UP + state with this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.10"; + } + + leaf egpNeighStateDowns { + type yang:counter32; + description + "The number of EGP state transitions from the UP + state to any other state with this EGP peer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.11"; + } + + leaf egpNeighIntervalHello { + type int32; + description + "The interval between EGP Hello command + retransmissions (in hundredths of a second). This + represents the t1 timer as defined in RFC 904."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.12"; + } + + leaf egpNeighIntervalPoll { + type int32; + description + "The interval between EGP poll command + retransmissions (in hundredths of a second). This + represents the t3 timer as defined in RFC 904."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.13"; + } + + leaf egpNeighMode { + type enumeration { + enum "active" { + value "1"; + } + enum "passive" { + value "2"; + } + } + description + "The polling mode of this EGP entity, either + passive or active."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.8.5.1.14"; + } + + leaf egpNeighEventTrigger { + type enumeration { + enum "start" { + value "1"; + } + enum "stop" { + value "2"; + } + } + description + "A control variable used to trigger operator- + initiated Start and Stop events. When read, this + variable always returns the most recent value that + egpNeighEventTrigger was set to. If it has not + been set since the last initialization of the + network management subsystem on the node, it + returns a value of `stop'. + + When set, this variable causes a Start or Stop + event on the specified neighbor, as specified on + pages 8-10 of RFC 904. Briefly, a Start event + causes an Idle peer to begin neighbor acquisition + and a non-Idle peer to reinitiate neighbor + acquisition. A stop event causes a non-Idle peer + to return to the Idle state until a Start event + occurs, either via egpNeighEventTrigger or + otherwise."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.8.5.1.15"; + } + } + } + } + + smiv2:alias "mib-2" { + smiv2:oid "1.3.6.1.2.1"; + } + + smiv2:alias "system" { + smiv2:oid "1.3.6.1.2.1.1"; + } + + smiv2:alias "interfaces" { + smiv2:oid "1.3.6.1.2.1.2"; + } + + smiv2:alias "at" { + smiv2:oid "1.3.6.1.2.1.3"; + } + + smiv2:alias "ip" { + smiv2:oid "1.3.6.1.2.1.4"; + } + + smiv2:alias "icmp" { + smiv2:oid "1.3.6.1.2.1.5"; + } + + smiv2:alias "tcp" { + smiv2:oid "1.3.6.1.2.1.6"; + } + + smiv2:alias "udp" { + smiv2:oid "1.3.6.1.2.1.7"; + } + + smiv2:alias "egp" { + smiv2:oid "1.3.6.1.2.1.8"; + } + + smiv2:alias "transmission" { + smiv2:oid "1.3.6.1.2.1.10"; + } + + smiv2:alias "snmp" { + smiv2:oid "1.3.6.1.2.1.11"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RFC1315-MIB.yang b/vendor/cisco/xe/17151/MIBS/RFC1315-MIB.yang new file mode 100644 index 000000000..bad33b0ba --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RFC1315-MIB.yang @@ -0,0 +1,613 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RFC1315-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RFC1315-MIB + * + * Do not edit. Edit the source file instead! + */ + +module RFC1315-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB"; + prefix RFC1315-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + typedef Index { + type int32; + } + + typedef DLCI { + type int32; + } + + + container RFC1315-MIB { + config false; + + container frame-relay-globals { + smiv2:oid "1.3.6.1.2.1.10.32.4"; + + leaf frTrapState { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "This variable indicates whether the system + produces the frDLCIStatusChange trap."; + smiv2:defval "disabled"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.4.1"; + } + } + + container frDlcmiTable { + description + "The Parameters for the Data Link Connection Management + Interface for the frame relay service on this + interface."; + reference + "Draft American National Standard T1.617-1991, Annex D"; + smiv2:oid "1.3.6.1.2.1.10.32.1"; + + list frDlcmiEntry { + key "frDlcmiIfIndex"; + description + "The Parameters for a particular Data Link Con- + nection Management Interface."; + smiv2:oid "1.3.6.1.2.1.10.32.1.1"; + + leaf frDlcmiIfIndex { + type RFC1315-MIB:Index; + description + "The ifIndex value of the corresponding ifEn- + try."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.1"; + } + + leaf frDlcmiState { + type enumeration { + enum "noLmiConfigured" { + value "1"; + } + enum "lmiRev1" { + value "2"; + } + enum "ansiT1-617-D" { + value "3"; + } + enum "ansiT1-617-B" { + value "4"; + } + } + description + "This variable states which Data Link Connec- + tion Management scheme is active (and by impli- + cation, what DLCI it uses) on the Frame Relay + interface."; + reference + "Draft American National Standard T1.617-1991"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.2"; + } + + leaf frDlcmiAddress { + type enumeration { + enum "q921" { + value "1"; + } + enum "q922March90" { + value "2"; + } + enum "q922November90" { + value "3"; + } + enum "q922" { + value "4"; + } + } + description + "This variable states which address format is + in use on the Frame Relay interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.3"; + } + + leaf frDlcmiAddressLen { + type enumeration { + enum "two-octets" { + value "2"; + } + enum "three-octets" { + value "3"; + } + enum "four-octets" { + value "4"; + } + } + description + "This variable states which address length in + octets. In the case of Q922 format, the length + indicates the entire length of the address in- + cluding the control portion."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.4"; + } + + leaf frDlcmiPollingInterval { + type int32 { + range "5..30"; + } + description + "This is the number of seconds between succes- + sive status enquiry messages."; + reference + "Draft American National Standard T1.617-1991, + Section D.7 Timer T391."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.5"; + } + + leaf frDlcmiFullEnquiryInterval { + type int32 { + range "1..255"; + } + description + "Number of status enquiry intervals that pass + before issuance of a full status enquiry mes- + sage."; + reference + "Draft American National Standard T1.617-1991, + Section D.7 Counter N391."; + smiv2:defval "6"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.6"; + } + + leaf frDlcmiErrorThreshold { + type int32 { + range "1..10"; + } + description + "This is the maximum number of unanswered + Status Enquiries the equipment shall accept be- + fore declaring the interface down."; + reference + "Draft American National Standard T1.617-1991, + Section D.5.1 Counter N392."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.7"; + } + + leaf frDlcmiMonitoredEvents { + type int32 { + range "1..10"; + } + description + "This is the number of status polling intervals + over which the error threshold is counted. For + example, if within 'MonitoredEvents' number of + events the station receives 'ErrorThreshold' + number of errors, the interface is marked as + down."; + reference + "Draft American National Standard T1.617-1991, + Section D.5.2 Counter N393."; + smiv2:defval "4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.8"; + } + + leaf frDlcmiMaxSupportedVCs { + type int32; + description + "The maximum number of Virtual Circuits allowed + for this interface. Usually dictated by the + Frame Relay network. + + In response to a SET, if a value less than zero + or higher than the agent's maximal capability + is configured, the agent should respond bad- + Value"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.9"; + } + + leaf frDlcmiMulticast { + type enumeration { + enum "nonBroadcast" { + value "1"; + } + enum "broadcast" { + value "2"; + } + } + description + "This indicates whether the Frame Relay inter- + face is using a multicast service."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.1.1.10"; + } + } + } + + container frCircuitTable { + description + "A table containing information about specific Data + Link Connection Identifiers and corresponding virtual + circuits."; + smiv2:oid "1.3.6.1.2.1.10.32.2"; + + list frCircuitEntry { + key "frCircuitIfIndex frCircuitDlci"; + description + "The information regarding a single Data Link + Connection Identifier."; + smiv2:oid "1.3.6.1.2.1.10.32.2.1"; + + leaf frCircuitIfIndex { + type RFC1315-MIB:Index; + description + "The ifIndex Value of the ifEntry this virtual + circuit is layered onto."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.1"; + } + + leaf frCircuitDlci { + type RFC1315-MIB:DLCI; + description + "The Data Link Connection Identifier for this + virtual circuit."; + reference + "Draft American National Standard T1.618-1991, + Section 3.3.6"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.2"; + } + + leaf frCircuitState { + type enumeration { + enum "invalid" { + value "1"; + } + enum "active" { + value "2"; + } + enum "inactive" { + value "3"; + } + } + description + "Indicates whether the particular virtual cir- + cuit is operational. In the absence of a Data + Link Connection Management Interface, virtual + circuit entries (rows) may be created by set- + ting virtual circuit state to 'active', or + deleted by changing Circuit state to 'invalid'. + Whether or not the row actually disappears is + left to the implementation, so this object may + actually read as 'invalid' for some arbitrary + length of time. It is also legal to set the + state of a virtual circuit to 'inactive' to + temporarily disable a given circuit."; + smiv2:defval "active"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.3"; + } + + leaf frCircuitReceivedFECNs { + type yang:counter32; + description + "Number of frames received from the network in- + dicating forward congestion since the virtual + circuit was created."; + reference + "Draft American National Standard T1.618-1991, + Section 3.3.3"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.4"; + } + + leaf frCircuitReceivedBECNs { + type yang:counter32; + description + "Number of frames received from the network in- + dicating backward congestion since the virtual + circuit was created."; + reference + "Draft American National Standard T1.618-1991, + Section 3.3.4"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.5"; + } + + leaf frCircuitSentFrames { + type yang:counter32; + description + "The number of frames sent from this virtual + circuit since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.6"; + } + + leaf frCircuitSentOctets { + type yang:counter32; + description + "The number of octets sent from this virtual + circuit since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.7"; + } + + leaf frCircuitReceivedFrames { + type yang:counter32; + description + "Number of frames received over this virtual + circuit since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.8"; + } + + leaf frCircuitReceivedOctets { + type yang:counter32; + description + "Number of octets received over this virtual + circuit since it was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.9"; + } + + leaf frCircuitCreationTime { + type yang:timeticks; + description + "The value of sysUpTime when the virtual cir- + cuit was created, whether by the Data Link Con- + nection Management Interface or by a SetRe- + quest."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.10"; + } + + leaf frCircuitLastTimeChange { + type yang:timeticks; + description + "The value of sysUpTime when last there was a + change in the virtual circuit state"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.11"; + } + + leaf frCircuitCommittedBurst { + type int32; + description + "This variable indicates the maximum amount of + data, in bits, that the network agrees to + transfer under normal conditions, during the + measurement interval."; + reference + "Draft American National Standard T1.617-1991, + Section 6.5.19"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.12"; + } + + leaf frCircuitExcessBurst { + type int32; + description + "This variable indicates the maximum amount of + uncommitted data bits that the network will at- + tempt to deliver over the measurement interval. + + By default, if not configured when creating the + entry, the Excess Information Burst Size is set + to the value of ifSpeed."; + reference + "Draft American National Standard T1.617-1991, + Section 6.5.19"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.13"; + } + + leaf frCircuitThroughput { + type int32; + description + "Throughput is the average number of 'Frame Re- + lay Information Field' bits transferred per + second across a user network interface in one + direction, measured over the measurement inter- + val. + + If the configured committed burst rate and + throughput are both non-zero, the measurement + interval + T=frCircuitCommittedBurst/frCircuitThroughput. + + If the configured committed burst rate and + throughput are both zero, the measurement in- + terval + T=frCircuitExcessBurst/ifSpeed."; + reference + "Draft American National Standard T1.617-1991, + Section 6.5.19"; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.32.2.1.14"; + } + } + } + + container frErrTable { + description + "A table containing information about Errors on the + Frame Relay interface."; + smiv2:oid "1.3.6.1.2.1.10.32.3"; + + list frErrEntry { + key "frErrIfIndex"; + description + "The error information for a single frame relay + interface."; + smiv2:oid "1.3.6.1.2.1.10.32.3.1"; + + leaf frErrIfIndex { + type RFC1315-MIB:Index; + description + "The ifIndex Value of the corresponding ifEn- + try."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.1"; + } + + leaf frErrType { + type enumeration { + enum "unknownError" { + value "1"; + } + enum "receiveShort" { + value "2"; + } + enum "receiveLong" { + value "3"; + } + enum "illegalDLCI" { + value "4"; + } + enum "unknownDLCI" { + value "5"; + } + enum "dlcmiProtoErr" { + value "6"; + } + enum "dlcmiUnknownIE" { + value "7"; + } + enum "dlcmiSequenceErr" { + value "8"; + } + enum "dlcmiUnknownRpt" { + value "9"; + } + enum "noErrorSinceReset" { + value "10"; + } + } + description + "The type of error that was last seen on this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.2"; + } + + leaf frErrData { + type binary; + description + "An octet string containing as much of the er- + ror packet as possible. As a minimum, it must + contain the Q.922 Address or as much as was + delivered. It is desirable to include all in- + formation up to the PDU."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.3"; + } + + leaf frErrTime { + type yang:timeticks; + description + "The value of sysUpTime at which the error was + detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.32.3.1.4"; + } + } + } + } + + notification frDLCIStatusChange { + description + "This trap indicates that the indicated Virtual + Circuit has changed state. It has either been + created or invalidated, or has toggled between + the active and inactive states."; + smiv2:oid "1.3.6.1.2.1.10.32.0.1"; + + container object-1 { + + leaf frCircuitDlci { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitDlci"; + } + } + + leaf frCircuitIfIndex { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitIfIndex"; + } + } + } + + container object-2 { + + leaf frCircuitIfIndex { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitIfIndex"; + } + } + + leaf frCircuitDlci { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitDlci"; + } + } + } + + container object-3 { + + leaf frCircuitIfIndex { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitIfIndex"; + } + } + + leaf frCircuitDlci { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitDlci"; + } + } + + leaf frCircuitState { + type leafref { + path "/RFC1315-MIB:RFC1315-MIB/RFC1315-MIB:frCircuitTable/RFC1315-MIB:frCircuitEntry/RFC1315-MIB:frCircuitState"; + } + } + } + } + + smiv2:alias "frame-relay" { + smiv2:oid "1.3.6.1.2.1.10.32"; + } + + smiv2:alias "frame-relay-globals" { + smiv2:oid "1.3.6.1.2.1.10.32.4"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RMON-MIB.yang b/vendor/cisco/xe/17151/MIBS/RMON-MIB.yang new file mode 100644 index 000000000..d22ff99a7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RMON-MIB.yang @@ -0,0 +1,3491 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RMON-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RMON-MIB + * + * Do not edit. Edit the source file instead! + */ + +module RMON-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB"; + prefix RMON-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF RMON MIB Working Group"; + + contact + "Steve Waldbusser + Phone: +1-650-948-6500 + Fax: +1-650-745-0671 + Email: waldbusser@nextbeacon.com"; + + description + "Remote network monitoring devices, often called + monitors or probes, are instruments that exist for + the purpose of managing a network. This MIB defines + objects for managing remote network monitoring devices."; + + revision 2000-05-11 { + description + "Reformatted into SMIv2 format. + + This version published as RFC 2819."; + } + + revision 1995-02-01 { + description + "Bug fixes, clarifications and minor changes based on + implementation experience, published as RFC1757 [18]. + + Two changes were made to object definitions: + + 1) A new status bit has been defined for the + captureBufferPacketStatus object, indicating that the + packet order within the capture buffer may not be identical to + the packet order as received off the wire. This bit may only + be used for packets transmitted by the probe. Older NMS + applications can safely ignore this status bit, which might be + used by newer agents. + + 2) The packetMatch trap has been removed. This trap was never + actually 'approved' and was not added to this document along + with the risingAlarm and fallingAlarm traps. The packetMatch + trap could not be throttled, which could cause disruption of + normal network traffic under some circumstances. An NMS should + configure a risingAlarm threshold on the appropriate + channelMatches instance if a trap is desired for a packetMatch + event. Note that logging of packetMatch events is still + supported--only trap generation for such events has been + removed. + + In addition, several clarifications to individual object + definitions have been added to assist agent and NMS + implementors: + + - global definition of 'good packets' and 'bad packets' + + - more detailed text governing conceptual row creation and + modification + + - instructions for probes relating to interface changes and + disruptions + + - clarification of some ethernet counter definitions + + - recommended formula for calculating network utilization + + - clarification of channel and captureBuffer behavior for some + unusual conditions + + - examples of proper instance naming for each table"; + } + + revision 1991-11-01 { + description + "The original version of this MIB, published as RFC1271."; + } + + typedef OwnerString { + type binary { + length "0..127"; + } + description + "This data type is used to model an administratively + assigned name of the owner of a resource. Implementations + must accept values composed of well-formed NVT ASCII + sequences. In addition, implementations should accept + values composed of well-formed UTF-8 sequences. + + It is suggested that this name contain one or more of + the following: IP address, management station name, + network manager's name, location, or phone number. + In some cases the agent itself will be the owner of + an entry. In these cases, this string shall be set + to a string starting with 'monitor'. + + SNMP access control is articulated entirely in terms + of the contents of MIB views; access to a particular + SNMP object instance depends only upon its presence + or absence in a particular MIB view and never upon + its value or the value of related object instances. + Thus, objects of this type afford resolution of + resource contention only among cooperating + managers; they realize no access control function + with respect to uncooperative parties."; + } + + typedef EntryStatus { + type enumeration { + enum "valid" { + value "1"; + } + enum "createRequest" { + value "2"; + } + enum "underCreation" { + value "3"; + } + enum "invalid" { + value "4"; + } + } + description + "The status of a table entry. + + Setting this object to the value invalid(4) has the + effect of invalidating the corresponding entry. + That is, it effectively disassociates the mapping + identified with said entry. + It is an implementation-specific matter as to whether + the agent removes an invalidated entry from the table. + Accordingly, management stations must be prepared to + receive tabular information from agents that corresponds + to entries currently not in use. Proper + interpretation of such entries requires examination + of the relevant EntryStatus object. + + An existing instance of this object cannot be set to + createRequest(2). This object may only be set to + createRequest(2) when this instance is created. When + this object is created, the agent may wish to create + supplemental object instances with default values + to complete a conceptual row in this table. Because the + creation of these default objects is entirely at the option + of the agent, the manager must not assume that any will be + created, but may make use of any that are created. + Immediately after completing the create operation, the agent + must set this object to underCreation(3). + + When in the underCreation(3) state, an entry is allowed to + exist in a possibly incomplete, possibly inconsistent state, + usually to allow it to be modified in multiple PDUs. When in + this state, an entry is not fully active. + Entries shall exist in the underCreation(3) state until + the management station is finished configuring the entry + and sets this object to valid(1) or aborts, setting this + object to invalid(4). If the agent determines that an + entry has been in the underCreation(3) state for an + abnormally long time, it may decide that the management + station has crashed. If the agent makes this decision, + it may set this object to invalid(4) to reclaim the + entry. A prudent agent will understand that the + management station may need to wait for human input + and will allow for that possibility in its + determination of this abnormally long period. + + An entry in the valid(1) state is fully configured and + consistent and fully represents the configuration or + operation such a row is intended to represent. For + example, it could be a statistical function that is + configured and active, or a filter that is available + in the list of filters processed by the packet capture + process. + + A manager is restricted to changing the state of an entry in + the following ways: + + To: valid createRequest underCreation invalid + From: + valid OK NO OK OK + createRequest N/A N/A N/A N/A + underCreation OK NO OK OK + invalid NO NO NO OK + nonExistent NO OK NO OK + + In the table above, it is not applicable to move the state + from the createRequest state to any other state because the + manager will never find the variable in that state. The + nonExistent state is not a value of the enumeration, rather + it means that the entryStatus variable does not exist at all. + + An agent may allow an entryStatus variable to change state in + additional ways, so long as the semantics of the states are + followed. This allowance is made to ease the implementation of + the agent and is made despite the fact that managers should + never exercise these additional state transitions."; + } + + identity rmonEventsV2 { + base smiv2:object-identity; + description + "Definition point for RMON notifications."; + smiv2:oid "1.3.6.1.2.1.16.0"; + } + + + container RMON-MIB { + config false; + + container etherStatsTable { + description + "A list of Ethernet statistics entries."; + smiv2:oid "1.3.6.1.2.1.16.1.1"; + + list etherStatsEntry { + key "etherStatsIndex"; + description + "A collection of statistics kept for a particular + Ethernet interface. As an example, an instance of the + etherStatsPkts object might be named etherStatsPkts.1"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1"; + + leaf etherStatsIndex { + type int32 { + range "1..65535"; + } + description + "The value of this object uniquely identifies this + etherStats entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.1"; + } + + leaf etherStatsDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of the data that + this etherStats entry is configured to analyze. This + source can be any ethernet interface on this device. + In order to identify a particular interface, this object + shall identify the instance of the ifIndex object, + defined in RFC 2233 [17], for the desired interface. + For example, if an entry were to receive data from + interface #1, this object would be set to ifIndex.1. + + The statistics in this group reflect all packets + on the local network segment attached to the identified + interface. + + An agent may or may not be able to tell if fundamental + changes to the media of the interface have occurred and + necessitate an invalidation of this entry. For example, a + hot-pluggable ethernet card could be pulled out and replaced + by a token-ring card. In such a case, if the agent has such + knowledge of the change, it is recommended that it + invalidate this entry. + + This object may not be modified if the associated + etherStatsStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.2"; + } + + leaf etherStatsDropEvents { + type yang:counter32; + description + "The total number of events in which packets + were dropped by the probe due to lack of resources. + Note that this number is not necessarily the number of + packets dropped; it is just the number of times this + condition has been detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.3"; + } + + leaf etherStatsOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets of data (including + those in bad packets) received on the + network (excluding framing bits but including + FCS octets). + This object can be used as a reasonable estimate of + 10-Megabit ethernet utilization. If greater precision is + desired, the etherStatsPkts and etherStatsOctets objects + should be sampled before and after a common interval. The + differences in the sampled values are Pkts and Octets, + respectively, and the number of seconds in the interval is + Interval. These values are used to calculate the Utilization + as follows: + + Pkts * (9.6 + 6.4) + (Octets * .8) + Utilization = ------------------------------------- + Interval * 10,000 + + The result of this equation is the value Utilization which + is the percent utilization of the ethernet segment on a + scale of 0 to 100 percent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.4"; + } + + leaf etherStatsPkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad packets, + broadcast packets, and multicast packets) received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.5"; + } + + leaf etherStatsBroadcastPkts { + type yang:counter32; + units "Packets"; + description + "The total number of good packets received that were + directed to the broadcast address. Note that this + does not include multicast packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.6"; + } + + leaf etherStatsMulticastPkts { + type yang:counter32; + units "Packets"; + description + "The total number of good packets received that were + directed to a multicast address. Note that this number + does not include packets directed to the broadcast + address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.7"; + } + + leaf etherStatsCRCAlignErrors { + type yang:counter32; + units "Packets"; + description + "The total number of packets received that + had a length (excluding framing bits, but + including FCS octets) of between 64 and 1518 + octets, inclusive, but had either a bad + Frame Check Sequence (FCS) with an integral + number of octets (FCS Error) or a bad FCS with + a non-integral number of octets (Alignment Error)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.8"; + } + + leaf etherStatsUndersizePkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received that were + less than 64 octets long (excluding framing bits, + but including FCS octets) and were otherwise well + formed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.9"; + } + + leaf etherStatsOversizePkts { + type yang:counter32; + units "Packets"; + description + "The total number of packets received that were + longer than 1518 octets (excluding framing bits, + but including FCS octets) and were otherwise + well formed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.10"; + } + + leaf etherStatsFragments { + type yang:counter32; + units "Packets"; + description + "The total number of packets received that were less than + 64 octets in length (excluding framing bits but including + FCS octets) and had either a bad Frame Check Sequence + (FCS) with an integral number of octets (FCS Error) or a + bad FCS with a non-integral number of octets (Alignment + Error). + + Note that it is entirely normal for etherStatsFragments to + increment. This is because it counts both runts (which are + normal occurrences due to collisions) and noise hits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.11"; + } + + leaf etherStatsJabbers { + type yang:counter32; + units "Packets"; + description + "The total number of packets received that were + longer than 1518 octets (excluding framing bits, + but including FCS octets), and had either a bad + Frame Check Sequence (FCS) with an integral number + of octets (FCS Error) or a bad FCS with a non-integral + number of octets (Alignment Error). + + Note that this definition of jabber is different + than the definition in IEEE-802.3 section 8.2.1.5 + (10BASE5) and section 10.3.1.4 (10BASE2). These + documents define jabber as the condition where any + packet exceeds 20 ms. The allowed range to detect + jabber is between 20 ms and 150 ms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.12"; + } + + leaf etherStatsCollisions { + type yang:counter32; + units "Collisions"; + description + "The best estimate of the total number of collisions + on this Ethernet segment. + + The value returned will depend on the location of the + RMON probe. Section 8.2.1.3 (10BASE-5) and section + 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a + station must detect a collision, in the receive mode, if + three or more stations are transmitting simultaneously. A + repeater port must detect a collision when two or more + stations are transmitting simultaneously. Thus a probe + placed on a repeater port could record more collisions + than a probe connected to a station on the same segment + would. + + Probe location plays a much smaller role when considering + 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3 + defines a collision as the simultaneous presence of signals + on the DO and RD circuits (transmitting and receiving + at the same time). A 10BASE-T station can only detect + collisions when it is transmitting. Thus probes placed on + a station and a repeater, should report the same number of + collisions. + + Note also that an RMON probe inside a repeater should + ideally report collisions between the repeater and one or + more other hosts (transmit collisions as defined by IEEE + 802.3k) plus receiver collisions observed on any coax + segments to which the repeater is connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.13"; + } + + leaf etherStatsPkts64Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were 64 octets in length + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.14"; + } + + leaf etherStatsPkts65to127Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were between + 65 and 127 octets in length inclusive + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.15"; + } + + leaf etherStatsPkts128to255Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were between + 128 and 255 octets in length inclusive + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.16"; + } + + leaf etherStatsPkts256to511Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were between + 256 and 511 octets in length inclusive + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.17"; + } + + leaf etherStatsPkts512to1023Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were between + 512 and 1023 octets in length inclusive + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.18"; + } + + leaf etherStatsPkts1024to1518Octets { + type yang:counter32; + units "Packets"; + description + "The total number of packets (including bad + packets) received that were between + 1024 and 1518 octets in length inclusive + (excluding framing bits but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.19"; + } + + leaf etherStatsOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.20"; + } + + leaf etherStatsStatus { + type RMON-MIB:EntryStatus; + description + "The status of this etherStats entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.1.1.21"; + } + } + } + + container historyControlTable { + description + "A list of history control entries."; + smiv2:oid "1.3.6.1.2.1.16.2.1"; + + list historyControlEntry { + key "historyControlIndex"; + description + "A list of parameters that set up a periodic sampling of + statistics. As an example, an instance of the + historyControlInterval object might be named + historyControlInterval.2"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1"; + + leaf historyControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + historyControl table. Each such entry defines a + set of samples at a particular interval for an + interface on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.1"; + } + + leaf historyControlDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of the data for + which historical data was collected and + placed in a media-specific table on behalf of this + historyControlEntry. This source can be any + interface on this device. In order to identify + a particular interface, this object shall identify + the instance of the ifIndex object, defined + in RFC 2233 [17], for the desired interface. + For example, if an entry were to receive data from + interface #1, this object would be set to ifIndex.1. + + The statistics in this group reflect all packets + on the local network segment attached to the identified + interface. + + An agent may or may not be able to tell if fundamental + changes to the media of the interface have occurred and + necessitate an invalidation of this entry. For example, a + hot-pluggable ethernet card could be pulled out and replaced + by a token-ring card. In such a case, if the agent has such + knowledge of the change, it is recommended that it + invalidate this entry. + + This object may not be modified if the associated + historyControlStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.2"; + } + + leaf historyControlBucketsRequested { + type int32 { + range "1..65535"; + } + description + "The requested number of discrete time intervals + over which data is to be saved in the part of the + media-specific table associated with this + historyControlEntry. + + When this object is created or modified, the probe + should set historyControlBucketsGranted as closely to + this object as is possible for the particular probe + implementation and available resources."; + smiv2:defval "50"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.3"; + } + + leaf historyControlBucketsGranted { + type int32 { + range "1..65535"; + } + description + "The number of discrete sampling intervals + over which data shall be saved in the part of + the media-specific table associated with this + historyControlEntry. + When the associated historyControlBucketsRequested + object is created or modified, the probe + should set this object as closely to the requested + value as is possible for the particular + probe implementation and available resources. The + probe must not lower this value except as a result + of a modification to the associated + historyControlBucketsRequested object. + + There will be times when the actual number of + buckets associated with this entry is less than + the value of this object. In this case, at the + end of each sampling interval, a new bucket will + be added to the media-specific table. + + When the number of buckets reaches the value of + this object and a new bucket is to be added to the + media-specific table, the oldest bucket associated + with this historyControlEntry shall be deleted by + the agent so that the new bucket can be added. + + When the value of this object changes to a value less + than the current value, entries are deleted + from the media-specific table associated with this + historyControlEntry. Enough of the oldest of these + entries shall be deleted by the agent so that their + number remains less than or equal to the new value of + this object. + + When the value of this object changes to a value greater + than the current value, the number of associated media- + specific entries may be allowed to grow."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.4"; + } + + leaf historyControlInterval { + type int32 { + range "1..3600"; + } + units "Seconds"; + description + "The interval in seconds over which the data is + sampled for each bucket in the part of the + media-specific table associated with this + historyControlEntry. This interval can + be set to any number of seconds between 1 and + 3600 (1 hour). + + Because the counters in a bucket may overflow at their + maximum value with no indication, a prudent manager will + take into account the possibility of overflow in any of + the associated counters. It is important to consider the + minimum time in which any counter could overflow on a + particular media type and set the historyControlInterval + object to a value less than this interval. This is + typically most important for the 'octets' counter in any + media-specific table. For example, on an Ethernet + network, the etherHistoryOctets counter could overflow + in about one hour at the Ethernet's maximum + utilization. + + This object may not be modified if the associated + historyControlStatus object is equal to valid(1)."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.5"; + } + + leaf historyControlOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.6"; + } + + leaf historyControlStatus { + type RMON-MIB:EntryStatus; + description + "The status of this historyControl entry. + + Each instance of the media-specific table associated + with this historyControlEntry will be deleted by the agent + if this historyControlEntry is not equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.2.1.1.7"; + } + } + } + + container etherHistoryTable { + description + "A list of Ethernet history entries."; + smiv2:oid "1.3.6.1.2.1.16.2.2"; + + list etherHistoryEntry { + key "etherHistoryIndex etherHistorySampleIndex"; + description + "An historical sample of Ethernet statistics on a particular + Ethernet interface. This sample is associated with the + historyControlEntry which set up the parameters for + a regular collection of these samples. As an example, an + instance of the etherHistoryPkts object might be named + etherHistoryPkts.2.89"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1"; + + leaf etherHistoryIndex { + type int32 { + range "1..65535"; + } + description + "The history of which this entry is a part. The + history identified by a particular value of this + index is the same history as identified + by the same value of historyControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.1"; + } + + leaf etherHistorySampleIndex { + type int32 { + range "1..2147483647"; + } + description + "An index that uniquely identifies the particular + sample this entry represents among all samples + associated with the same historyControlEntry. + This index starts at 1 and increases by one + as each new sample is taken."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.2"; + } + + leaf etherHistoryIntervalStart { + type yang:timeticks; + description + "The value of sysUpTime at the start of the interval + over which this sample was measured. If the probe + keeps track of the time of day, it should start + the first sample of the history at a time such that + when the next hour of the day begins, a sample is + started at that instant. Note that following this + rule may require the probe to delay collecting the + first sample of the history, as each sample must be + of the same interval. Also note that the sample which + is currently being collected is not accessible in this + table until the end of its interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.3"; + } + + leaf etherHistoryDropEvents { + type yang:counter32; + description + "The total number of events in which packets + were dropped by the probe due to lack of resources + during this sampling interval. Note that this number + is not necessarily the number of packets dropped, it + is just the number of times this condition has been + detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.4"; + } + + leaf etherHistoryOctets { + type yang:counter32; + units "Octets"; + description + "The total number of octets of data (including + those in bad packets) received on the + network (excluding framing bits but including + FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.5"; + } + + leaf etherHistoryPkts { + type yang:counter32; + units "Packets"; + description + "The number of packets (including bad packets) + received during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.6"; + } + + leaf etherHistoryBroadcastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets received during this + sampling interval that were directed to the + broadcast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.7"; + } + + leaf etherHistoryMulticastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets received during this + sampling interval that were directed to a + multicast address. Note that this number does not + include packets addressed to the broadcast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.8"; + } + + leaf etherHistoryCRCAlignErrors { + type yang:counter32; + units "Packets"; + description + "The number of packets received during this + sampling interval that had a length (excluding + framing bits but including FCS octets) between + 64 and 1518 octets, inclusive, but had either a bad Frame + Check Sequence (FCS) with an integral number of octets + (FCS Error) or a bad FCS with a non-integral number + of octets (Alignment Error)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.9"; + } + + leaf etherHistoryUndersizePkts { + type yang:counter32; + units "Packets"; + description + "The number of packets received during this + sampling interval that were less than 64 octets + long (excluding framing bits but including FCS + octets) and were otherwise well formed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.10"; + } + + leaf etherHistoryOversizePkts { + type yang:counter32; + units "Packets"; + description + "The number of packets received during this + sampling interval that were longer than 1518 + octets (excluding framing bits but including + FCS octets) but were otherwise well formed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.11"; + } + + leaf etherHistoryFragments { + type yang:counter32; + units "Packets"; + description + "The total number of packets received during this + sampling interval that were less than 64 octets in + length (excluding framing bits but including FCS + octets) had either a bad Frame Check Sequence (FCS) + with an integral number of octets (FCS Error) or a bad + FCS with a non-integral number of octets (Alignment + Error). + + Note that it is entirely normal for etherHistoryFragments to + increment. This is because it counts both runts (which are + normal occurrences due to collisions) and noise hits."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.12"; + } + + leaf etherHistoryJabbers { + type yang:counter32; + units "Packets"; + description + "The number of packets received during this + sampling interval that were longer than 1518 octets + (excluding framing bits but including FCS octets), + and had either a bad Frame Check Sequence (FCS) + with an integral number of octets (FCS Error) or + a bad FCS with a non-integral number of octets + (Alignment Error). + + Note that this definition of jabber is different + than the definition in IEEE-802.3 section 8.2.1.5 + (10BASE5) and section 10.3.1.4 (10BASE2). These + documents define jabber as the condition where any + packet exceeds 20 ms. The allowed range to detect + jabber is between 20 ms and 150 ms."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.13"; + } + + leaf etherHistoryCollisions { + type yang:counter32; + units "Collisions"; + description + "The best estimate of the total number of collisions + on this Ethernet segment during this sampling + interval. + + The value returned will depend on the location of the + RMON probe. Section 8.2.1.3 (10BASE-5) and section + 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a + station must detect a collision, in the receive mode, if + three or more stations are transmitting simultaneously. A + repeater port must detect a collision when two or more + stations are transmitting simultaneously. Thus a probe + placed on a repeater port could record more collisions + than a probe connected to a station on the same segment + would. + + Probe location plays a much smaller role when considering + 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3 + defines a collision as the simultaneous presence of signals + on the DO and RD circuits (transmitting and receiving + at the same time). A 10BASE-T station can only detect + collisions when it is transmitting. Thus probes placed on + a station and a repeater, should report the same number of + collisions. + + Note also that an RMON probe inside a repeater should + ideally report collisions between the repeater and one or + more other hosts (transmit collisions as defined by IEEE + 802.3k) plus receiver collisions observed on any coax + segments to which the repeater is connected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.14"; + } + + leaf etherHistoryUtilization { + type int32 { + range "0..10000"; + } + description + "The best estimate of the mean physical layer + network utilization on this interface during this + sampling interval, in hundredths of a percent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.2.1.15"; + } + } + } + + container alarmTable { + description + "A list of alarm entries."; + smiv2:oid "1.3.6.1.2.1.16.3.1"; + + list alarmEntry { + key "alarmIndex"; + description + "A list of parameters that set up a periodic checking + for alarm conditions. For example, an instance of the + alarmValue object might be named alarmValue.8"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1"; + + leaf alarmIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + alarm table. Each such entry defines a + diagnostic sample at a particular interval + for an object on the device."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.1"; + } + + leaf alarmInterval { + type int32; + units "Seconds"; + description + "The interval in seconds over which the data is + sampled and compared with the rising and falling + thresholds. When setting this variable, care + should be taken in the case of deltaValue + sampling - the interval should be set short enough + that the sampled variable is very unlikely to + increase or decrease by more than 2^31 - 1 during + a single sampling interval. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.2"; + } + + leaf alarmVariable { + type yang:object-identifier-128; + description + "The object identifier of the particular variable to be + sampled. Only variables that resolve to an ASN.1 primitive + type of INTEGER (INTEGER, Integer32, Counter32, Counter64, + Gauge, or TimeTicks) may be sampled. + + Because SNMP access control is articulated entirely + in terms of the contents of MIB views, no access + control mechanism exists that can restrict the value of + this object to identify only those objects that exist + in a particular MIB view. Because there is thus no + acceptable means of restricting the read access that + could be obtained through the alarm mechanism, the + probe must only grant write access to this object in + those views that have read access to all objects on + the probe. + + During a set operation, if the supplied variable name is + not available in the selected MIB view, a badValue error + must be returned. If at any time the variable name of + an established alarmEntry is no longer available in the + selected MIB view, the probe must change the status of + this alarmEntry to invalid(4). + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.3"; + } + + leaf alarmSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + } + description + "The method of sampling the selected variable and + calculating the value to be compared against the + thresholds. If the value of this object is + absoluteValue(1), the value of the selected variable + will be compared directly with the thresholds at the + end of the sampling interval. If the value of this + object is deltaValue(2), the value of the selected + variable at the last sample will be subtracted from + the current value, and the difference compared with + the thresholds. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.4"; + } + + leaf alarmValue { + type int32; + description + "The value of the statistic during the last sampling + period. For example, if the sample type is deltaValue, + this value will be the difference between the samples + at the beginning and end of the period. If the sample + type is absoluteValue, this value will be the sampled + value at the end of the period. + This is the value that is compared with the rising and + falling thresholds. + + The value during the current sampling period is not + made available until the period is completed and will + remain available until the next period completes."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.5"; + } + + leaf alarmStartupAlarm { + type enumeration { + enum "risingAlarm" { + value "1"; + } + enum "fallingAlarm" { + value "2"; + } + enum "risingOrFallingAlarm" { + value "3"; + } + } + description + "The alarm that may be sent when this entry is first + set to valid. If the first sample after this entry + becomes valid is greater than or equal to the + risingThreshold and alarmStartupAlarm is equal to + risingAlarm(1) or risingOrFallingAlarm(3), then a single + rising alarm will be generated. If the first sample + after this entry becomes valid is less than or equal + to the fallingThreshold and alarmStartupAlarm is equal + to fallingAlarm(2) or risingOrFallingAlarm(3), then a + single falling alarm will be generated. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.6"; + } + + leaf alarmRisingThreshold { + type int32; + description + "A threshold for the sampled statistic. When the current + sampled value is greater than or equal to this threshold, + and the value at the last sampling interval was less than + this threshold, a single event will be generated. + A single event will also be generated if the first + sample after this entry becomes valid is greater than or + equal to this threshold and the associated + alarmStartupAlarm is equal to risingAlarm(1) or + risingOrFallingAlarm(3). + + After a rising event is generated, another such event + will not be generated until the sampled value + falls below this threshold and reaches the + alarmFallingThreshold. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.7"; + } + + leaf alarmFallingThreshold { + type int32; + description + "A threshold for the sampled statistic. When the current + sampled value is less than or equal to this threshold, + and the value at the last sampling interval was greater than + this threshold, a single event will be generated. + A single event will also be generated if the first + sample after this entry becomes valid is less than or + equal to this threshold and the associated + alarmStartupAlarm is equal to fallingAlarm(2) or + risingOrFallingAlarm(3). + + After a falling event is generated, another such event + will not be generated until the sampled value + rises above this threshold and reaches the + alarmRisingThreshold. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.8"; + } + + leaf alarmRisingEventIndex { + type int32 { + range "0..65535"; + } + description + "The index of the eventEntry that is + used when a rising threshold is crossed. The + eventEntry identified by a particular value of + this index is the same as identified by the same value + of the eventIndex object. If there is no + corresponding entry in the eventTable, then + no association exists. In particular, if this value + is zero, no associated event will be generated, as + zero is not a valid event index. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.9"; + } + + leaf alarmFallingEventIndex { + type int32 { + range "0..65535"; + } + description + "The index of the eventEntry that is + used when a falling threshold is crossed. The + eventEntry identified by a particular value of + this index is the same as identified by the same value + of the eventIndex object. If there is no + corresponding entry in the eventTable, then + no association exists. In particular, if this value + is zero, no associated event will be generated, as + zero is not a valid event index. + + This object may not be modified if the associated + alarmStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.10"; + } + + leaf alarmOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.11"; + } + + leaf alarmStatus { + type RMON-MIB:EntryStatus; + description + "The status of this alarm entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.3.1.1.12"; + } + } + } + + container hostControlTable { + description + "A list of host table control entries."; + smiv2:oid "1.3.6.1.2.1.16.4.1"; + + list hostControlEntry { + key "hostControlIndex"; + description + "A list of parameters that set up the discovery of hosts + on a particular interface and the collection of statistics + about these hosts. For example, an instance of the + hostControlTableSize object might be named + hostControlTableSize.1"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1"; + + leaf hostControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + hostControl table. Each such entry defines + a function that discovers hosts on a particular interface + and places statistics about them in the hostTable and + the hostTimeTable on behalf of this hostControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.1"; + } + + leaf hostControlDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of the data for + this instance of the host function. This source + can be any interface on this device. In order + to identify a particular interface, this object shall + identify the instance of the ifIndex object, defined + in RFC 2233 [17], for the desired interface. + For example, if an entry were to receive data from + interface #1, this object would be set to ifIndex.1. + + The statistics in this group reflect all packets + on the local network segment attached to the identified + interface. + + An agent may or may not be able to tell if fundamental + changes to the media of the interface have occurred and + necessitate an invalidation of this entry. For example, a + hot-pluggable ethernet card could be pulled out and replaced + by a token-ring card. In such a case, if the agent has such + knowledge of the change, it is recommended that it + invalidate this entry. + + This object may not be modified if the associated + hostControlStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.2"; + } + + leaf hostControlTableSize { + type int32; + description + "The number of hostEntries in the hostTable and the + hostTimeTable associated with this hostControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.3"; + } + + leaf hostControlLastDeleteTime { + type yang:timeticks; + description + "The value of sysUpTime when the last entry + was deleted from the portion of the hostTable + associated with this hostControlEntry. If no + deletions have occurred, this value shall be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.4"; + } + + leaf hostControlOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.5"; + } + + leaf hostControlStatus { + type RMON-MIB:EntryStatus; + description + "The status of this hostControl entry. + + If this object is not equal to valid(1), all associated + entries in the hostTable, hostTimeTable, and the + hostTopNTable shall be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.4.1.1.6"; + } + } + } + + container hostTable { + description + "A list of host entries."; + smiv2:oid "1.3.6.1.2.1.16.4.2"; + + list hostEntry { + key "hostIndex hostAddress"; + description + "A collection of statistics for a particular host that has + been discovered on an interface of this device. For example, + an instance of the hostOutBroadcastPkts object might be + named hostOutBroadcastPkts.1.6.8.0.32.27.3.176"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1"; + + leaf hostAddress { + type binary; + description + "The physical address of this host."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.1"; + } + + leaf hostCreationOrder { + type int32 { + range "1..65535"; + } + description + "An index that defines the relative ordering of + the creation time of hosts captured for a + particular hostControlEntry. This index shall + be between 1 and N, where N is the value of + the associated hostControlTableSize. The ordering + of the indexes is based on the order of each entry's + insertion into the table, in which entries added earlier + have a lower index value than entries added later. + + It is important to note that the order for a + particular entry may change as an (earlier) entry + is deleted from the table. Because this order may + change, management stations should make use of the + hostControlLastDeleteTime variable in the + hostControlEntry associated with the relevant + portion of the hostTable. By observing + this variable, the management station may detect + the circumstances where a previous association + between a value of hostCreationOrder + and a hostEntry may no longer hold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.2"; + } + + leaf hostIndex { + type int32 { + range "1..65535"; + } + description + "The set of collected host statistics of which + this entry is a part. The set of hosts + identified by a particular value of this + index is associated with the hostControlEntry + as identified by the same value of hostControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.3"; + } + + leaf hostInPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted to this + address since it was added to the hostTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.4"; + } + + leaf hostOutPkts { + type yang:counter32; + units "Packets"; + description + "The number of packets, including bad packets, transmitted + by this address since it was added to the hostTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.5"; + } + + leaf hostInOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets transmitted to this address since + it was added to the hostTable (excluding framing + bits but including FCS octets), except for those + octets in bad packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.6"; + } + + leaf hostOutOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets transmitted by this address since + it was added to the hostTable (excluding framing + bits but including FCS octets), including those + octets in bad packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.7"; + } + + leaf hostOutErrors { + type yang:counter32; + units "Packets"; + description + "The number of bad packets transmitted by this address + since this host was added to the hostTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.8"; + } + + leaf hostOutBroadcastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted by this + address that were directed to the broadcast address + since this host was added to the hostTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.9"; + } + + leaf hostOutMulticastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted by this + address that were directed to a multicast address + since this host was added to the hostTable. + Note that this number does not include packets + directed to the broadcast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.2.1.10"; + } + } + } + + container hostTimeTable { + description + "A list of time-ordered host table entries."; + smiv2:oid "1.3.6.1.2.1.16.4.3"; + + list hostTimeEntry { + key "hostTimeIndex hostTimeCreationOrder"; + description + "A collection of statistics for a particular host that has + been discovered on an interface of this device. This + collection includes the relative ordering of the creation + time of this object. For example, an instance of the + hostTimeOutBroadcastPkts object might be named + hostTimeOutBroadcastPkts.1.687"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1"; + + leaf hostTimeAddress { + type binary; + description + "The physical address of this host."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.1"; + } + + leaf hostTimeCreationOrder { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in + the hostTime table among those entries associated + with the same hostControlEntry. This index shall + be between 1 and N, where N is the value of + the associated hostControlTableSize. The ordering + of the indexes is based on the order of each entry's + insertion into the table, in which entries added earlier + have a lower index value than entries added later. + Thus the management station has the ability to + learn of new entries added to this table without + downloading the entire table. + + It is important to note that the index for a + particular entry may change as an (earlier) entry + is deleted from the table. Because this order may + change, management stations should make use of the + hostControlLastDeleteTime variable in the + hostControlEntry associated with the relevant + portion of the hostTimeTable. By observing + this variable, the management station may detect + the circumstances where a download of the table + may have missed entries, and where a previous + association between a value of hostTimeCreationOrder + and a hostTimeEntry may no longer hold."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.2"; + } + + leaf hostTimeIndex { + type int32 { + range "1..65535"; + } + description + "The set of collected host statistics of which + this entry is a part. The set of hosts + identified by a particular value of this + index is associated with the hostControlEntry + as identified by the same value of hostControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.3"; + } + + leaf hostTimeInPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted to this + address since it was added to the hostTimeTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.4"; + } + + leaf hostTimeOutPkts { + type yang:counter32; + units "Packets"; + description + "The number of packets, including bad packets, transmitted + by this address since it was added to the hostTimeTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.5"; + } + + leaf hostTimeInOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets transmitted to this address since + it was added to the hostTimeTable (excluding framing + bits but including FCS octets), except for those + octets in bad packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.6"; + } + + leaf hostTimeOutOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets transmitted by this address since + it was added to the hostTimeTable (excluding framing + bits but including FCS octets), including those + octets in bad packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.7"; + } + + leaf hostTimeOutErrors { + type yang:counter32; + units "Packets"; + description + "The number of bad packets transmitted by this address + since this host was added to the hostTimeTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.8"; + } + + leaf hostTimeOutBroadcastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted by this + address that were directed to the broadcast address + since this host was added to the hostTimeTable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.9"; + } + + leaf hostTimeOutMulticastPkts { + type yang:counter32; + units "Packets"; + description + "The number of good packets transmitted by this + address that were directed to a multicast address + since this host was added to the hostTimeTable. + Note that this number does not include packets directed + to the broadcast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.3.1.10"; + } + } + } + + container hostTopNControlTable { + description + "A list of top N host control entries."; + smiv2:oid "1.3.6.1.2.1.16.5.1"; + + list hostTopNControlEntry { + key "hostTopNControlIndex"; + description + "A set of parameters that control the creation of a report + of the top N hosts according to several metrics. For + example, an instance of the hostTopNDuration object might + be named hostTopNDuration.3"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1"; + + leaf hostTopNControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry + in the hostTopNControl table. Each such + entry defines one top N report prepared for + one interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.1"; + } + + leaf hostTopNHostIndex { + type int32 { + range "1..65535"; + } + description + "The host table for which a top N report will be prepared + on behalf of this entry. The host table identified by a + particular value of this index is associated with the same + host table as identified by the same value of + hostIndex. + + This object may not be modified if the associated + hostTopNStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.2"; + } + + leaf hostTopNRateBase { + type enumeration { + enum "hostTopNInPkts" { + value "1"; + } + enum "hostTopNOutPkts" { + value "2"; + } + enum "hostTopNInOctets" { + value "3"; + } + enum "hostTopNOutOctets" { + value "4"; + } + enum "hostTopNOutErrors" { + value "5"; + } + enum "hostTopNOutBroadcastPkts" { + value "6"; + } + enum "hostTopNOutMulticastPkts" { + value "7"; + } + } + description + "The variable for each host that the hostTopNRate + variable is based upon. + + This object may not be modified if the associated + hostTopNStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.3"; + } + + leaf hostTopNTimeRemaining { + type int32; + units "Seconds"; + description + "The number of seconds left in the report currently being + collected. When this object is modified by the management + station, a new collection is started, possibly aborting + a currently running report. The new value is used + as the requested duration of this report, which is + loaded into the associated hostTopNDuration object. + + When this object is set to a non-zero value, any + associated hostTopNEntries shall be made + inaccessible by the monitor. While the value of this + object is non-zero, it decrements by one per second until + it reaches zero. During this time, all associated + hostTopNEntries shall remain inaccessible. At the time + that this object decrements to zero, the report is made + accessible in the hostTopNTable. Thus, the hostTopN + table needs to be created only at the end of the collection + interval."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.4"; + } + + leaf hostTopNDuration { + type int32; + units "Seconds"; + description + "The number of seconds that this report has collected + during the last sampling interval, or if this + report is currently being collected, the number + of seconds that this report is being collected + during this sampling interval. + + When the associated hostTopNTimeRemaining object is set, + this object shall be set by the probe to the same value + and shall not be modified until the next time + the hostTopNTimeRemaining is set. + + This value shall be zero if no reports have been + requested for this hostTopNControlEntry."; + smiv2:defval "0"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.5"; + } + + leaf hostTopNRequestedSize { + type int32; + description + "The maximum number of hosts requested for the top N + table. + + When this object is created or modified, the probe + should set hostTopNGrantedSize as closely to this + object as is possible for the particular probe + implementation and available resources."; + smiv2:defval "10"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.6"; + } + + leaf hostTopNGrantedSize { + type int32; + description + "The maximum number of hosts in the top N table. + + When the associated hostTopNRequestedSize object is + created or modified, the probe should set this + object as closely to the requested value as is possible + for the particular implementation and available + resources. The probe must not lower this value except + as a result of a set to the associated + hostTopNRequestedSize object. + + Hosts with the highest value of hostTopNRate shall be + placed in this table in decreasing order of this rate + until there is no more room or until there are no more + hosts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.7"; + } + + leaf hostTopNStartTime { + type yang:timeticks; + description + "The value of sysUpTime when this top N report was + last started. In other words, this is the time that + the associated hostTopNTimeRemaining object was + modified to start the requested report."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.8"; + } + + leaf hostTopNOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.9"; + } + + leaf hostTopNStatus { + type RMON-MIB:EntryStatus; + description + "The status of this hostTopNControl entry. + + If this object is not equal to valid(1), all associated + hostTopNEntries shall be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.5.1.1.10"; + } + } + } + + container hostTopNTable { + description + "A list of top N host entries."; + smiv2:oid "1.3.6.1.2.1.16.5.2"; + + list hostTopNEntry { + key "hostTopNReport hostTopNIndex"; + description + "A set of statistics for a host that is part of a top N + report. For example, an instance of the hostTopNRate + object might be named hostTopNRate.3.10"; + smiv2:oid "1.3.6.1.2.1.16.5.2.1"; + + leaf hostTopNReport { + type int32 { + range "1..65535"; + } + description + "This object identifies the top N report of which + this entry is a part. The set of hosts + identified by a particular value of this + object is part of the same report as identified + by the same value of the hostTopNControlIndex object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.2.1.1"; + } + + leaf hostTopNIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in + the hostTopN table among those in the same report. + This index is between 1 and N, where N is the + number of entries in this table. Increasing values + of hostTopNIndex shall be assigned to entries with + decreasing values of hostTopNRate until index N + is assigned to the entry with the lowest value of + hostTopNRate or there are no more hostTopNEntries."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.2.1.2"; + } + + leaf hostTopNAddress { + type binary; + description + "The physical address of this host."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.2.1.3"; + } + + leaf hostTopNRate { + type int32; + description + "The amount of change in the selected variable + during this sampling interval. The selected + variable is this host's instance of the object + selected by hostTopNRateBase."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.5.2.1.4"; + } + } + } + + container matrixControlTable { + description + "A list of information entries for the + traffic matrix on each interface."; + smiv2:oid "1.3.6.1.2.1.16.6.1"; + + list matrixControlEntry { + key "matrixControlIndex"; + description + "Information about a traffic matrix on a particular + interface. For example, an instance of the + matrixControlLastDeleteTime object might be named + matrixControlLastDeleteTime.1"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1"; + + leaf matrixControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + matrixControl table. Each such entry defines + a function that discovers conversations on a particular + interface and places statistics about them in the + matrixSDTable and the matrixDSTable on behalf of this + matrixControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.1"; + } + + leaf matrixControlDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of + the data from which this entry creates a traffic matrix. + This source can be any interface on this device. In + order to identify a particular interface, this object + shall identify the instance of the ifIndex object, + defined in RFC 2233 [17], for the desired + interface. For example, if an entry were to receive data + from interface #1, this object would be set to ifIndex.1. + + The statistics in this group reflect all packets + on the local network segment attached to the identified + interface. + + An agent may or may not be able to tell if fundamental + changes to the media of the interface have occurred and + necessitate an invalidation of this entry. For example, a + hot-pluggable ethernet card could be pulled out and replaced + by a token-ring card. In such a case, if the agent has such + knowledge of the change, it is recommended that it + invalidate this entry. + + This object may not be modified if the associated + matrixControlStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.2"; + } + + leaf matrixControlTableSize { + type int32; + description + "The number of matrixSDEntries in the matrixSDTable + for this interface. This must also be the value of + the number of entries in the matrixDSTable for this + interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.3"; + } + + leaf matrixControlLastDeleteTime { + type yang:timeticks; + description + "The value of sysUpTime when the last entry + was deleted from the portion of the matrixSDTable + or matrixDSTable associated with this matrixControlEntry. + If no deletions have occurred, this value shall be + zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.4"; + } + + leaf matrixControlOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.5"; + } + + leaf matrixControlStatus { + type RMON-MIB:EntryStatus; + description + "The status of this matrixControl entry. + If this object is not equal to valid(1), all associated + entries in the matrixSDTable and the matrixDSTable + shall be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.6.1.1.6"; + } + } + } + + container matrixSDTable { + description + "A list of traffic matrix entries indexed by + source and destination MAC address."; + smiv2:oid "1.3.6.1.2.1.16.6.2"; + + list matrixSDEntry { + key "matrixSDIndex matrixSDSourceAddress matrixSDDestAddress"; + description + "A collection of statistics for communications between + two addresses on a particular interface. For example, + an instance of the matrixSDPkts object might be named + matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1"; + + leaf matrixSDSourceAddress { + type binary; + description + "The source physical address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.1"; + } + + leaf matrixSDDestAddress { + type binary; + description + "The destination physical address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.2"; + } + + leaf matrixSDIndex { + type int32 { + range "1..65535"; + } + description + "The set of collected matrix statistics of which + this entry is a part. The set of matrix statistics + identified by a particular value of this index + is associated with the same matrixControlEntry + as identified by the same value of matrixControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.3"; + } + + leaf matrixSDPkts { + type yang:counter32; + units "Packets"; + description + "The number of packets transmitted from the source + address to the destination address (this number includes + bad packets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.4"; + } + + leaf matrixSDOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets (excluding framing bits but + including FCS octets) contained in all packets + transmitted from the source address to the + destination address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.5"; + } + + leaf matrixSDErrors { + type yang:counter32; + units "Packets"; + description + "The number of bad packets transmitted from + the source address to the destination address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.2.1.6"; + } + } + } + + container matrixDSTable { + description + "A list of traffic matrix entries indexed by + destination and source MAC address."; + smiv2:oid "1.3.6.1.2.1.16.6.3"; + + list matrixDSEntry { + key "matrixDSIndex matrixDSDestAddress matrixDSSourceAddress"; + description + "A collection of statistics for communications between + two addresses on a particular interface. For example, + an instance of the matrixSDPkts object might be named + matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1"; + + leaf matrixDSSourceAddress { + type binary; + description + "The source physical address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.1"; + } + + leaf matrixDSDestAddress { + type binary; + description + "The destination physical address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.2"; + } + + leaf matrixDSIndex { + type int32 { + range "1..65535"; + } + description + "The set of collected matrix statistics of which + this entry is a part. The set of matrix statistics + identified by a particular value of this index + is associated with the same matrixControlEntry + as identified by the same value of matrixControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.3"; + } + + leaf matrixDSPkts { + type yang:counter32; + units "Packets"; + description + "The number of packets transmitted from the source + address to the destination address (this number includes + bad packets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.4"; + } + + leaf matrixDSOctets { + type yang:counter32; + units "Octets"; + description + "The number of octets (excluding framing bits + but including FCS octets) contained in all packets + transmitted from the source address to the + destination address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.5"; + } + + leaf matrixDSErrors { + type yang:counter32; + units "Packets"; + description + "The number of bad packets transmitted from + the source address to the destination address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.3.1.6"; + } + } + } + + container filterTable { + description + "A list of packet filter entries."; + smiv2:oid "1.3.6.1.2.1.16.7.1"; + + list filterEntry { + key "filterIndex"; + description + "A set of parameters for a packet filter applied on a + particular interface. As an example, an instance of the + filterPktData object might be named filterPktData.12"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1"; + + leaf filterIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry + in the filter table. Each such entry defines + one filter that is to be applied to every packet + received on an interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.1"; + } + + leaf filterChannelIndex { + type int32 { + range "1..65535"; + } + description + "This object identifies the channel of which this filter + is a part. The filters identified by a particular value + of this object are associated with the same channel as + identified by the same value of the channelIndex object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.2"; + } + + leaf filterPktDataOffset { + type int32; + units "Octets"; + description + "The offset from the beginning of each packet where + a match of packet data will be attempted. This offset + is measured from the point in the physical layer + packet after the framing bits, if any. For example, + in an Ethernet frame, this point is at the beginning of + the destination MAC address. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.3"; + } + + leaf filterPktData { + type binary; + description + "The data that is to be matched with the input packet. + For each packet received, this filter and the accompanying + filterPktDataMask and filterPktDataNotMask will be + adjusted for the offset. The only bits relevant to this + match algorithm are those that have the corresponding + filterPktDataMask bit equal to one. The following three + rules are then applied to every packet: + + (1) If the packet is too short and does not have data + corresponding to part of the filterPktData, the packet + will fail this data match. + + (2) For each relevant bit from the packet with the + corresponding filterPktDataNotMask bit set to zero, if + the bit from the packet is not equal to the corresponding + bit from the filterPktData, then the packet will fail + this data match. + + (3) If for every relevant bit from the packet with the + corresponding filterPktDataNotMask bit set to one, the + bit from the packet is equal to the corresponding bit + from the filterPktData, then the packet will fail this + data match. + + Any packets that have not failed any of the three matches + above have passed this data match. In particular, a zero + length filter will match any packet. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.4"; + } + + leaf filterPktDataMask { + type binary; + description + "The mask that is applied to the match process. + After adjusting this mask for the offset, only those + bits in the received packet that correspond to bits set + in this mask are relevant for further processing by the + match algorithm. The offset is applied to filterPktDataMask + in the same way it is applied to the filter. For the + purposes of the matching algorithm, if the associated + filterPktData object is longer than this mask, this mask is + conceptually extended with '1' bits until it reaches the + length of the filterPktData object. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.5"; + } + + leaf filterPktDataNotMask { + type binary; + description + "The inversion mask that is applied to the match + process. After adjusting this mask for the offset, + those relevant bits in the received packet that correspond + to bits cleared in this mask must all be equal to their + corresponding bits in the filterPktData object for the packet + to be accepted. In addition, at least one of those relevant + bits in the received packet that correspond to bits set in + this mask must be different to its corresponding bit in the + filterPktData object. + + For the purposes of the matching algorithm, if the associated + filterPktData object is longer than this mask, this mask is + conceptually extended with '0' bits until it reaches the + length of the filterPktData object. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.6"; + } + + leaf filterPktStatus { + type int32; + description + "The status that is to be matched with the input packet. + The only bits relevant to this match algorithm are those that + have the corresponding filterPktStatusMask bit equal to one. + The following two rules are then applied to every packet: + + (1) For each relevant bit from the packet status with the + corresponding filterPktStatusNotMask bit set to zero, if + the bit from the packet status is not equal to the + corresponding bit from the filterPktStatus, then the + packet will fail this status match. + + (2) If for every relevant bit from the packet status with the + corresponding filterPktStatusNotMask bit set to one, the + bit from the packet status is equal to the corresponding + bit from the filterPktStatus, then the packet will fail + this status match. + + Any packets that have not failed either of the two matches + above have passed this status match. In particular, a zero + length status filter will match any packet's status. + + The value of the packet status is a sum. This sum + initially takes the value zero. Then, for each + error, E, that has been discovered in this packet, + 2 raised to a value representing E is added to the sum. + The errors and the bits that represent them are dependent + on the media type of the interface that this channel + is receiving packets from. + + The errors defined for a packet captured off of an + Ethernet interface are as follows: + + bit # Error + 0 Packet is longer than 1518 octets + 1 Packet is shorter than 64 octets + 2 Packet experienced a CRC or Alignment error + + For example, an Ethernet fragment would have a + value of 6 (2^1 + 2^2). + + As this MIB is expanded to new media types, this object + will have other media-specific errors defined. + + For the purposes of this status matching algorithm, if the + packet status is longer than this filterPktStatus object, + this object is conceptually extended with '0' bits until it + reaches the size of the packet status. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.7"; + } + + leaf filterPktStatusMask { + type int32; + description + "The mask that is applied to the status match process. + Only those bits in the received packet that correspond to + bits set in this mask are relevant for further processing + by the status match algorithm. For the purposes + of the matching algorithm, if the associated filterPktStatus + object is longer than this mask, this mask is conceptually + extended with '1' bits until it reaches the size of the + filterPktStatus. In addition, if a packet status is longer + than this mask, this mask is conceptually extended with '0' + bits until it reaches the size of the packet status. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.8"; + } + + leaf filterPktStatusNotMask { + type int32; + description + "The inversion mask that is applied to the status match + process. Those relevant bits in the received packet status + that correspond to bits cleared in this mask must all be + equal to their corresponding bits in the filterPktStatus + object for the packet to be accepted. In addition, at least + one of those relevant bits in the received packet status + that correspond to bits set in this mask must be different + to its corresponding bit in the filterPktStatus object for + the packet to be accepted. + + For the purposes of the matching algorithm, if the associated + filterPktStatus object or a packet status is longer than this + mask, this mask is conceptually extended with '0' bits until + it reaches the longer of the lengths of the filterPktStatus + object and the packet status. + + This object may not be modified if the associated + filterStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.9"; + } + + leaf filterOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.10"; + } + + leaf filterStatus { + type RMON-MIB:EntryStatus; + description + "The status of this filter entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.1.1.11"; + } + } + } + + container channelTable { + description + "A list of packet channel entries."; + smiv2:oid "1.3.6.1.2.1.16.7.2"; + + list channelEntry { + key "channelIndex"; + description + "A set of parameters for a packet channel applied on a + particular interface. As an example, an instance of the + channelMatches object might be named channelMatches.3"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1"; + + leaf channelIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the channel + table. Each such entry defines one channel, a logical + data and event stream. + + It is suggested that before creating a channel, an + application should scan all instances of the + filterChannelIndex object to make sure that there are no + pre-existing filters that would be inadvertently be linked + to the channel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.1"; + } + + leaf channelIfIndex { + type int32 { + range "1..65535"; + } + description + "The value of this object uniquely identifies the + interface on this remote network monitoring device to which + the associated filters are applied to allow data into this + channel. The interface identified by a particular value + of this object is the same interface as identified by the + same value of the ifIndex object, defined in RFC 2233 [17]. + + The filters in this group are applied to all packets on + the local network segment attached to the identified + interface. + + An agent may or may not be able to tell if fundamental + changes to the media of the interface have occurred and + necessitate an invalidation of this entry. For example, a + hot-pluggable ethernet card could be pulled out and replaced + by a token-ring card. In such a case, if the agent has such + knowledge of the change, it is recommended that it + invalidate this entry. + + This object may not be modified if the associated + channelStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.2"; + } + + leaf channelAcceptType { + type enumeration { + enum "acceptMatched" { + value "1"; + } + enum "acceptFailed" { + value "2"; + } + } + description + "This object controls the action of the filters + associated with this channel. If this object is equal + to acceptMatched(1), packets will be accepted to this + channel if they are accepted by both the packet data and + packet status matches of an associated filter. If + this object is equal to acceptFailed(2), packets will + be accepted to this channel only if they fail either + the packet data match or the packet status match of + each of the associated filters. + + In particular, a channel with no associated filters will + match no packets if set to acceptMatched(1) case and will + match all packets in the acceptFailed(2) case. + + This object may not be modified if the associated + channelStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.3"; + } + + leaf channelDataControl { + type enumeration { + enum "on" { + value "1"; + } + enum "off" { + value "2"; + } + } + description + "This object controls the flow of data through this channel. + If this object is on(1), data, status and events flow + through this channel. If this object is off(2), data, + status and events will not flow through this channel."; + smiv2:defval "off"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.4"; + } + + leaf channelTurnOnEventIndex { + type int32 { + range "0..65535"; + } + description + "The value of this object identifies the event + that is configured to turn the associated + channelDataControl from off to on when the event is + generated. The event identified by a particular value + of this object is the same event as identified by the + same value of the eventIndex object. If there is no + corresponding entry in the eventTable, then no + association exists. In fact, if no event is intended + for this channel, channelTurnOnEventIndex must be + set to zero, a non-existent event index. + This object may not be modified if the associated + channelStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.5"; + } + + leaf channelTurnOffEventIndex { + type int32 { + range "0..65535"; + } + description + "The value of this object identifies the event + that is configured to turn the associated + channelDataControl from on to off when the event is + generated. The event identified by a particular value + of this object is the same event as identified by the + same value of the eventIndex object. If there is no + corresponding entry in the eventTable, then no + association exists. In fact, if no event is intended + for this channel, channelTurnOffEventIndex must be + set to zero, a non-existent event index. + + This object may not be modified if the associated + channelStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.6"; + } + + leaf channelEventIndex { + type int32 { + range "0..65535"; + } + description + "The value of this object identifies the event + that is configured to be generated when the + associated channelDataControl is on and a packet + is matched. The event identified by a particular value + of this object is the same event as identified by the + same value of the eventIndex object. If there is no + corresponding entry in the eventTable, then no + association exists. In fact, if no event is intended + for this channel, channelEventIndex must be + set to zero, a non-existent event index. + + This object may not be modified if the associated + channelStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.7"; + } + + leaf channelEventStatus { + type enumeration { + enum "eventReady" { + value "1"; + } + enum "eventFired" { + value "2"; + } + enum "eventAlwaysReady" { + value "3"; + } + } + description + "The event status of this channel. + + If this channel is configured to generate events + when packets are matched, a means of controlling + the flow of those events is often needed. When + this object is equal to eventReady(1), a single + event may be generated, after which this object + will be set by the probe to eventFired(2). While + in the eventFired(2) state, no events will be + generated until the object is modified to + eventReady(1) (or eventAlwaysReady(3)). The + management station can thus easily respond to a + notification of an event by re-enabling this object. + + If the management station wishes to disable this + flow control and allow events to be generated + at will, this object may be set to + eventAlwaysReady(3). Disabling the flow control + is discouraged as it can result in high network + traffic or other performance problems."; + smiv2:defval "eventReady"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.8"; + } + + leaf channelMatches { + type yang:counter32; + units "Packets"; + description + "The number of times this channel has matched a packet. + Note that this object is updated even when + channelDataControl is set to off."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.9"; + } + + leaf channelDescription { + type snmpv2-tc:DisplayString { + length "0..127"; + } + description + "A comment describing this channel."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.10"; + } + + leaf channelOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.11"; + } + + leaf channelStatus { + type RMON-MIB:EntryStatus; + description + "The status of this channel entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.2.1.12"; + } + } + } + + container bufferControlTable { + description + "A list of buffers control entries."; + smiv2:oid "1.3.6.1.2.1.16.8.1"; + + list bufferControlEntry { + key "bufferControlIndex"; + description + "A set of parameters that control the collection of a stream + of packets that have matched filters. As an example, an + instance of the bufferControlCaptureSliceSize object might + be named bufferControlCaptureSliceSize.3"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1"; + + leaf bufferControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry + in the bufferControl table. The value of this + index shall never be zero. Each such + entry defines one set of packets that is + captured and controlled by one or more filters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.1"; + } + + leaf bufferControlChannelIndex { + type int32 { + range "1..65535"; + } + description + "An index that identifies the channel that is the + source of packets for this bufferControl table. + The channel identified by a particular value of this + index is the same as identified by the same value of + the channelIndex object. + + This object may not be modified if the associated + bufferControlStatus object is equal to valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.2"; + } + + leaf bufferControlFullStatus { + type enumeration { + enum "spaceAvailable" { + value "1"; + } + enum "full" { + value "2"; + } + } + description + "This object shows whether the buffer has room to + accept new packets or if it is full. + + If the status is spaceAvailable(1), the buffer is + accepting new packets normally. If the status is + full(2) and the associated bufferControlFullAction + object is wrapWhenFull, the buffer is accepting new + packets by deleting enough of the oldest packets + to make room for new ones as they arrive. Otherwise, + if the status is full(2) and the + bufferControlFullAction object is lockWhenFull, + then the buffer has stopped collecting packets. + + When this object is set to full(2) the probe must + not later set it to spaceAvailable(1) except in the + case of a significant gain in resources such as + an increase of bufferControlOctetsGranted. In + particular, the wrap-mode action of deleting old + packets to make room for newly arrived packets + must not affect the value of this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.3"; + } + + leaf bufferControlFullAction { + type enumeration { + enum "lockWhenFull" { + value "1"; + } + enum "wrapWhenFull" { + value "2"; + } + } + description + "Controls the action of the buffer when it + reaches the full status. When in the lockWhenFull(1) + state and a packet is added to the buffer that + fills the buffer, the bufferControlFullStatus will + be set to full(2) and this buffer will stop capturing + packets."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.4"; + } + + leaf bufferControlCaptureSliceSize { + type int32; + units "Octets"; + description + "The maximum number of octets of each packet + that will be saved in this capture buffer. + For example, if a 1500 octet packet is received by + the probe and this object is set to 500, then only + 500 octets of the packet will be stored in the + associated capture buffer. If this variable is set + to 0, the capture buffer will save as many octets + as is possible. + + This object may not be modified if the associated + bufferControlStatus object is equal to valid(1)."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.5"; + } + + leaf bufferControlDownloadSliceSize { + type int32; + units "Octets"; + description + "The maximum number of octets of each packet + in this capture buffer that will be returned in + an SNMP retrieval of that packet. For example, + if 500 octets of a packet have been stored in the + associated capture buffer, the associated + bufferControlDownloadOffset is 0, and this + object is set to 100, then the captureBufferPacket + object that contains the packet will contain only + the first 100 octets of the packet. + + A prudent manager will take into account possible + interoperability or fragmentation problems that may + occur if the download slice size is set too large. + In particular, conformant SNMP implementations are not + required to accept messages whose length exceeds 484 + octets, although they are encouraged to support larger + datagrams whenever feasible."; + smiv2:defval "100"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.6"; + } + + leaf bufferControlDownloadOffset { + type int32; + units "Octets"; + description + "The offset of the first octet of each packet + in this capture buffer that will be returned in + an SNMP retrieval of that packet. For example, + if 500 octets of a packet have been stored in the + associated capture buffer and this object is set to + 100, then the captureBufferPacket object that + contains the packet will contain bytes starting + 100 octets into the packet."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.7"; + } + + leaf bufferControlMaxOctetsRequested { + type int32; + units "Octets"; + description + "The requested maximum number of octets to be + saved in this captureBuffer, including any + implementation-specific overhead. If this variable + is set to -1, the capture buffer will save as many + octets as is possible. + + When this object is created or modified, the probe + should set bufferControlMaxOctetsGranted as closely + to this object as is possible for the particular probe + implementation and available resources. However, if + the object has the special value of -1, the probe + must set bufferControlMaxOctetsGranted to -1."; + smiv2:defval "-1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.8"; + } + + leaf bufferControlMaxOctetsGranted { + type int32; + units "Octets"; + description + "The maximum number of octets that can be + saved in this captureBuffer, including overhead. + If this variable is -1, the capture buffer will save + as many octets as possible. + + When the bufferControlMaxOctetsRequested object is + created or modified, the probe should set this object + as closely to the requested value as is possible for the + particular probe implementation and available resources. + However, if the request object has the special value + of -1, the probe must set this object to -1. + + The probe must not lower this value except as a result of + a modification to the associated + bufferControlMaxOctetsRequested object. + + When this maximum number of octets is reached + and a new packet is to be added to this + capture buffer and the corresponding + bufferControlFullAction is set to wrapWhenFull(2), + enough of the oldest packets associated with this + capture buffer shall be deleted by the agent so + that the new packet can be added. If the corresponding + bufferControlFullAction is set to lockWhenFull(1), + the new packet shall be discarded. In either case, + the probe must set bufferControlFullStatus to + full(2). + + When the value of this object changes to a value less + than the current value, entries are deleted from + the captureBufferTable associated with this + bufferControlEntry. Enough of the + oldest of these captureBufferEntries shall be + deleted by the agent so that the number of octets + used remains less than or equal to the new value of + this object. + + When the value of this object changes to a value greater + than the current value, the number of associated + captureBufferEntries may be allowed to grow."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.9"; + } + + leaf bufferControlCapturedPackets { + type int32; + units "Packets"; + description + "The number of packets currently in this captureBuffer."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.10"; + } + + leaf bufferControlTurnOnTime { + type yang:timeticks; + description + "The value of sysUpTime when this capture buffer was + first turned on."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.11"; + } + + leaf bufferControlOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.12"; + } + + leaf bufferControlStatus { + type RMON-MIB:EntryStatus; + description + "The status of this buffer Control Entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.8.1.1.13"; + } + } + } + + container captureBufferTable { + description + "A list of packets captured off of a channel."; + smiv2:oid "1.3.6.1.2.1.16.8.2"; + + list captureBufferEntry { + key "captureBufferControlIndex captureBufferIndex"; + description + "A packet captured off of an attached network. As an + example, an instance of the captureBufferPacketData + object might be named captureBufferPacketData.3.1783"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1"; + + leaf captureBufferControlIndex { + type int32 { + range "1..65535"; + } + description + "The index of the bufferControlEntry with which + this packet is associated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.1"; + } + + leaf captureBufferIndex { + type int32 { + range "1..2147483647"; + } + description + "An index that uniquely identifies an entry + in the captureBuffer table associated with a + particular bufferControlEntry. This index will + start at 1 and increase by one for each new packet + added with the same captureBufferControlIndex. + + Should this value reach 2147483647, the next packet + added with the same captureBufferControlIndex shall + cause this value to wrap around to 1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.2"; + } + + leaf captureBufferPacketID { + type int32; + description + "An index that describes the order of packets + that are received on a particular interface. + The packetID of a packet captured on an + interface is defined to be greater than the + packetID's of all packets captured previously on + the same interface. As the captureBufferPacketID + object has a maximum positive value of 2^31 - 1, + any captureBufferPacketID object shall have the + value of the associated packet's packetID mod 2^31."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.3"; + } + + leaf captureBufferPacketData { + type binary; + description + "The data inside the packet, starting at the beginning + of the packet plus any offset specified in the + associated bufferControlDownloadOffset, including any + link level headers. The length of the data in this object + is the minimum of the length of the captured packet minus + the offset, the length of the associated + bufferControlCaptureSliceSize minus the offset, and the + associated bufferControlDownloadSliceSize. If this minimum + is less than zero, this object shall have a length of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.4"; + } + + leaf captureBufferPacketLength { + type int32; + units "Octets"; + description + "The actual length (off the wire) of the packet stored + in this entry, including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.5"; + } + + leaf captureBufferPacketTime { + type int32; + units "Milliseconds"; + description + "The number of milliseconds that had passed since + this capture buffer was first turned on when this + packet was captured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.6"; + } + + leaf captureBufferPacketStatus { + type int32; + description + "A value which indicates the error status of this packet. + + The value of this object is defined in the same way as + filterPktStatus. The value is a sum. This sum + initially takes the value zero. Then, for each + error, E, that has been discovered in this packet, + 2 raised to a value representing E is added to the sum. + + The errors defined for a packet captured off of an + Ethernet interface are as follows: + + bit # Error + 0 Packet is longer than 1518 octets + 1 Packet is shorter than 64 octets + 2 Packet experienced a CRC or Alignment error + 3 First packet in this capture buffer after + it was detected that some packets were + not processed correctly. + 4 Packet's order in buffer is only approximate + (May only be set for packets sent from + the probe) + + For example, an Ethernet fragment would have a + value of 6 (2^1 + 2^2). + + As this MIB is expanded to new media types, this object + will have other media-specific errors defined."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.8.2.1.7"; + } + } + } + + container eventTable { + description + "A list of events to be generated."; + smiv2:oid "1.3.6.1.2.1.16.9.1"; + + list eventEntry { + key "eventIndex"; + description + "A set of parameters that describe an event to be generated + when certain conditions are met. As an example, an instance + of the eventLastTimeSent object might be named + eventLastTimeSent.6"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1"; + + leaf eventIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + event table. Each such entry defines one event that + is to be generated when the appropriate conditions + occur."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.1"; + } + + leaf eventDescription { + type snmpv2-tc:DisplayString { + length "0..127"; + } + description + "A comment describing this event entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.2"; + } + + leaf eventType { + type enumeration { + enum "none" { + value "1"; + } + enum "log" { + value "2"; + } + enum "snmptrap" { + value "3"; + } + enum "logandtrap" { + value "4"; + } + } + description + "The type of notification that the probe will make + about this event. In the case of log, an entry is + made in the log table for each event. In the case of + snmp-trap, an SNMP trap is sent to one or more + management stations."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.3"; + } + + leaf eventCommunity { + type binary { + length "0..127"; + } + description + "If an SNMP trap is to be sent, it will be sent to + the SNMP community specified by this octet string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.4"; + } + + leaf eventLastTimeSent { + type yang:timeticks; + description + "The value of sysUpTime at the time this event + entry last generated an event. If this entry has + not generated any events, this value will be + zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.5"; + } + + leaf eventOwner { + type RMON-MIB:OwnerString; + description + "The entity that configured this entry and is therefore + using the resources assigned to it. + + If this object contains a string starting with 'monitor' + and has associated entries in the log table, all connected + management stations should retrieve those log entries, + as they may have significance to all management stations + connected to this device"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.6"; + } + + leaf eventStatus { + type RMON-MIB:EntryStatus; + description + "The status of this event entry. + + If this object is not equal to valid(1), all associated + log entries shall be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.9.1.1.7"; + } + } + } + + container logTable { + description + "A list of events that have been logged."; + smiv2:oid "1.3.6.1.2.1.16.9.2"; + + list logEntry { + key "logEventIndex logIndex"; + description + "A set of data describing an event that has been + logged. For example, an instance of the logDescription + object might be named logDescription.6.47"; + smiv2:oid "1.3.6.1.2.1.16.9.2.1"; + + leaf logEventIndex { + type int32 { + range "1..65535"; + } + description + "The event entry that generated this log + entry. The log identified by a particular + value of this index is associated with the same + eventEntry as identified by the same value + of eventIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.2.1.1"; + } + + leaf logIndex { + type int32 { + range "1..2147483647"; + } + description + "An index that uniquely identifies an entry + in the log table amongst those generated by the + same eventEntries. These indexes are + assigned beginning with 1 and increase by one + with each new log entry. The association + between values of logIndex and logEntries + is fixed for the lifetime of each logEntry. + The agent may choose to delete the oldest + instances of logEntry as required because of + lack of memory. It is an implementation-specific + matter as to when this deletion may occur."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.2.1.2"; + } + + leaf logTime { + type yang:timeticks; + description + "The value of sysUpTime when this log entry was created."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.2.1.3"; + } + + leaf logDescription { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "An implementation dependent description of the + event that activated this log entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.9.2.1.4"; + } + } + } + } + + notification risingAlarm { + description + "The SNMP trap that is generated when an alarm + entry crosses its rising threshold and generates + an event that is configured for sending SNMP + traps."; + smiv2:oid "1.3.6.1.2.1.16.0.1"; + + container object-1 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + } + + container object-2 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmVariable { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmVariable"; + } + } + } + + container object-3 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmSampleType { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmSampleType"; + } + } + } + + container object-4 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmValue { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmValue"; + } + } + } + + container object-5 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmRisingThreshold { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmRisingThreshold"; + } + } + } + } + + notification fallingAlarm { + description + "The SNMP trap that is generated when an alarm + entry crosses its falling threshold and generates + an event that is configured for sending SNMP + traps."; + smiv2:oid "1.3.6.1.2.1.16.0.2"; + + container object-1 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + } + + container object-2 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmVariable { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmVariable"; + } + } + } + + container object-3 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmSampleType { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmSampleType"; + } + } + } + + container object-4 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmValue { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmValue"; + } + } + } + + container object-5 { + + leaf alarmIndex { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmIndex"; + } + } + + leaf alarmFallingThreshold { + type leafref { + path "/RMON-MIB:RMON-MIB/RMON-MIB:alarmTable/RMON-MIB:alarmEntry/RMON-MIB:alarmFallingThreshold"; + } + } + } + } + + smiv2:alias "rmon" { + smiv2:oid "1.3.6.1.2.1.16"; + } + + smiv2:alias "rmonEventsV2" { + description + "Definition point for RMON notifications."; + smiv2:oid "1.3.6.1.2.1.16.0"; + } + + smiv2:alias "statistics" { + smiv2:oid "1.3.6.1.2.1.16.1"; + } + + smiv2:alias "history" { + smiv2:oid "1.3.6.1.2.1.16.2"; + } + + smiv2:alias "alarm" { + smiv2:oid "1.3.6.1.2.1.16.3"; + } + + smiv2:alias "hosts" { + smiv2:oid "1.3.6.1.2.1.16.4"; + } + + smiv2:alias "hostTopN" { + smiv2:oid "1.3.6.1.2.1.16.5"; + } + + smiv2:alias "matrix" { + smiv2:oid "1.3.6.1.2.1.16.6"; + } + + smiv2:alias "filter" { + smiv2:oid "1.3.6.1.2.1.16.7"; + } + + smiv2:alias "capture" { + smiv2:oid "1.3.6.1.2.1.16.8"; + } + + smiv2:alias "event" { + smiv2:oid "1.3.6.1.2.1.16.9"; + } + + smiv2:alias "rmonConformance" { + smiv2:oid "1.3.6.1.2.1.16.20"; + } + + smiv2:alias "rmonMibModule" { + smiv2:oid "1.3.6.1.2.1.16.20.8"; + } + + smiv2:alias "rmonCompliances" { + smiv2:oid "1.3.6.1.2.1.16.20.9"; + } + + smiv2:alias "rmonGroups" { + smiv2:oid "1.3.6.1.2.1.16.20.10"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RMON2-MIB.yang b/vendor/cisco/xe/17151/MIBS/RMON2-MIB.yang new file mode 100644 index 000000000..6528b4f70 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RMON2-MIB.yang @@ -0,0 +1,5095 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/patched/RMON2-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RMON2-MIB + * + * Do not edit. Edit the source file instead! + */ + +module RMON2-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB"; + prefix RMON2-MIB; + + import RFC1213-MIB { + prefix "rfc1213-mib"; + } + + import RMON-MIB { + prefix "rmon-mib"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import TOKEN-RING-RMON-MIB { + prefix "token-ring"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF RMON MIB Working Group"; + + contact + "Steve Waldbusser (WG Editor) + Postal: International Network Services + 650 Castro Street, Suite 260 + Mountain View, CA 94041 + Phone: +1 415 254 4251 + Email: waldbusser@ins.com + + + Andy Bierman (WG Chair) + Phone: +1 805 648 2028 + Email: abierman@west.net"; + + description + "The MIB module for managing remote monitoring + device implementations. This MIB module + augments the original RMON MIB as specified in + RFC 1757."; + + revision 1996-05-27 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef ZeroBasedCounter32 { + type yang:gauge32; + description + "This TC describes an object which counts events with the + following semantics: objects of this type will be set to + zero(0) on creation and will thereafter count appropriate + events, wrapping back to zero(0) when the value 2^32 is + reached. + + Provided that an application discovers the new object within + the minimum time to wrap it can use the initial value as a + delta since it last polled the table of which this object is + part. It is important for a management station to be aware of + this minimum time and the actual time between polls, and to + discard data if the actual time is too long or there is no + defined minimum time. + + Typically this TC is used in tables where the INDEX space is + constantly changing and/or the TimeFilter mechanism is in use."; + } + + typedef LastCreateTime { + type yang:timestamp; + description + "This TC describes an object that stores the last time its + entry was created. + + This can be used for polling applications to determine that an + entry has been deleted and re-created between polls, causing + an otherwise undetectable discontinuity in the data."; + } + + typedef TimeFilter { + type yang:timeticks; + description + "To be used for the index to a table. Allows an application + to download only those rows changed since a particular time. + A row is considered changed if the value of any object in the + row changes or if the row is created or deleted. + + When sysUpTime is equal to zero, this table shall be empty. + + One entry exists for each past value of sysUpTime, except that + the whole table is purged should sysUpTime wrap. + + As this basic row is updated new conceptual rows are created + (which still share the now updated object values with all + other instances). The number of instances which are created + is determined by the value of sysUpTime at which the basic row + was last updated. One instance will exist for each value of + sysUpTime at the last update time for the row. A new + timeMark instance is created for each new sysUpTime value. + Each new conceptual row will be associated with the timeMark + instance which was created at the value of sysUpTime with + which the conceptual row is to be associated. + + By definition all conceptual rows were updated at or after + time zero and so at least one conceptual row (associated with + timeMark.0) must exist for each underlying (basic) row. + + See the appendix for further discussion of this variable. + + Consider the following fooTable: + + fooTable ... + INDEX { fooTimeMark, fooIndex } + + FooEntry { + fooTimeMark TimeFilter + fooIndex INTEGER, + fooCounts Counter + } + + Should there be two basic rows in this table (fooIndex == 1, + fooIndex == 2) and row 1 was updated most recently at time 6, + while row 2 was updated most recently at time 8, and both rows + had been updated on several earlier occasions such that the + current values were 5 and 9 respectively then the following + fooCounts instances would exist. + + fooCounts.0.1 5 + fooCounts.0.2 9 + fooCounts.1.1 5 + + + + + + fooCounts.1.2 9 + fooCounts.2.1 5 + fooCounts.2.2 9 + fooCounts.3.1 5 + fooCounts.3.2 9 + fooCounts.4.1 5 + fooCounts.4.2 9 + fooCounts.5.1 5 + fooCounts.5.2 9 + fooCounts.6.1 5 + fooCounts.6.2 9 + fooCounts.7.2 9 -- note that row 1 doesn't exist for + fooCounts.8.2 9 -- times 7 and 8"; + } + + typedef DataSource { + type yang:object-identifier-128; + description + "Identifies the source of the data that the associated + function is configured to analyze. This source can be any + interface on this device. + + In order to identify a particular interface, this + object shall identify the instance of the ifIndex + object, defined in [3,5], for the desired interface. + + For example, if an entry were to receive data from + interface #1, this object would be set to ifIndex.1."; + } + + typedef ControlString { + type snmpv2-tc:DisplayString; + description + "This data type is used to communicate with a modem or a + serial data switch. A ControlString contains embedded + commands to control how the device will interact with the + remote device through the serial interface. Commands are + represented as two character sequences beginning with + the `^' character. + + The following commands are recognized by the device (note + that command characters are case sensitive): + + ^s Send string that follows which is terminated by the + next command or the end of string. + ^c Delay for the number of seconds that follows. Toss + out any data received rather than storing it in a + buffer for parsing. + ^t Set timeout to the value represented by the decimal + digits that follow. The default timeout is 20 + seconds. Note that this timeout may be overridden + by a smaller serialTimeout configured for the + + + + + + associated serial interface (see serialConfigTable). + ^w Wait for the reply string that follows which is + terminated by the next command or the end of string. + Partial and case insensitive matching is applied, ie. + if the reply string (any case combination) is found + anywhere in the received string, then the a match is + found. If the current timeout elapses without a match, + then the remaining control string is ignored. + ^! The ^ character. + ^d Delay the number of seconds specified by the decimal + digits that follow. + ^b Send break for the number of milliseconds specified by + the decimal digits that follow. If no digits follow, + break will be enforced for 250 milliseconds by default. + + The following ASCII control characters may be inserted into + the `^s' send string or the `^w' reply string: + + ^@ 0x00 + ^A 0x01 + .. + ^M 0x0D + .. + ^Z 0x1A + ^[ 0x1B + ^ 0x1C + ^] 0x1D + ^^ 0x1E + ^_ 0x1F + + Binary data may also be inserted into the data stream. The + control sequence for each byte of binary data is ^0x##, where + ## is the hexadecimal representation of the data byte. Two + ASCII characters (0-9, a-f, A-F) must follow the `^0x' + control prefix. For example, `^0x0D^0x0A' is interpreted as a + carriage return followed by a line feed."; + } + + + container RMON2-MIB { + config false; + + container protocolDir { + smiv2:oid "1.3.6.1.2.1.16.11"; + + leaf protocolDirLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time the protocol directory + was last modified, either through insertions or deletions, + or through modifications of either the + protocolDirAddressMapConfig, protocolDirHostConfig, or + protocolDirMatrixConfig."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.11.1"; + } + } + + container addressMap { + smiv2:oid "1.3.6.1.2.1.16.13"; + + leaf addressMapInserts { + type yang:counter32; + description + "The number of times an address mapping entry has been + inserted into the addressMapTable. If an entry is inserted, + then deleted, and then inserted, this counter will be + incremented by 2. + + Note that the table size can be determined by subtracting + addressMapDeletes from addressMapInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.13.1"; + } + + leaf addressMapDeletes { + type yang:counter32; + description + "The number of times an address mapping entry has been + deleted from the addressMapTable (for any reason). If + an entry is deleted, then inserted, and then deleted, this + counter will be incremented by 2. + + Note that the table size can be determined by subtracting + addressMapDeletes from addressMapInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.13.2"; + } + + leaf addressMapMaxDesiredEntries { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of entries that are desired in the + addressMapTable. The probe will not create more than + this number of entries in the table, but may choose to create + fewer entries in this table for any reason including the lack + of resources. + + If this object is set to a value less than the current number + of entries, enough entries are chosen in an + implementation-dependent manner and deleted so that the number + of entries in the table equals the value of this object. + + If this value is set to -1, the probe may create any number + of entries in this table. + + This object may be used to control how resources are allocated + on the probe for the various RMON functions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.13.3"; + } + } + + container probeConfig { + smiv2:oid "1.3.6.1.2.1.16.19"; + + leaf probeCapabilities { + type binary { + length "1"; + } + description + "An indication of the RMON MIB groups supported + on at least one interface by this probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.19.1"; + } + + leaf probeSoftwareRev { + type snmpv2-tc:DisplayString { + length "0..31"; + } + description + "The software revision of this device. This string will have + a zero length if the revision is unknown."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.19.2"; + } + + leaf probeHardwareRev { + type snmpv2-tc:DisplayString { + length "0..31"; + } + description + "The hardware revision of this device. This string will have + a zero length if the revision is unknown."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.19.3"; + } + + leaf probeDateTime { + type binary { + length "0|8|11"; + } + description + "Probe's current date and time. + + field octets contents range + ----- ------ -------- ----- + 1 1-2 year 0..65536 + 2 3 month 1..12 + 3 4 day 1..31 + 4 5 hour 0..23 + 5 6 minutes 0..59 + 6 7 seconds 0..60 + (use 60 for leap-second) + 7 8 deci-seconds 0..9 + 8 9 direction from UTC '+' / '-' + 9 10 hours from UTC 0..11 + 10 11 minutes from UTC 0..59 + + For example, Tuesday May 26, 1992 at 1:30:15 PM + EDT would be displayed as: + + 1992-5-26,13:30:15.0,-4:0 + + Note that if only local time is known, then + timezone information (fields 8-10) is not + present, and if no time information is known, the null + string is returned."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.4"; + } + + leaf probeResetControl { + type enumeration { + enum "running" { + value "1"; + } + enum "warmBoot" { + value "2"; + } + enum "coldBoot" { + value "3"; + } + } + description + "Setting this object to warmBoot(2) causes the device to + restart the application software with current configuration + parameters saved in non-volatile memory. Setting this + object to coldBoot(3) causes the device to reinitialize + configuration parameters in non-volatile memory to default + values and restart the application software. When the device + is running normally, this variable has a value of + running(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.5"; + } + + leaf probeDownloadFile { + type snmpv2-tc:DisplayString { + length "0..127"; + } + description + "The file name to be downloaded from the TFTP server when a + download is next requested via this MIB. This value is set to + the zero length string when no file name has been specified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.6"; + } + + leaf probeDownloadTFTPServer { + type inet:ipv4-address; + description + "The IP address of the TFTP server that contains the boot + image to load when a download is next requested via this MIB. + This value is set to `0.0.0.0' when no IP address has been + specified."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.7"; + } + + leaf probeDownloadAction { + type enumeration { + enum "notDownloading" { + value "1"; + } + enum "downloadToPROM" { + value "2"; + } + enum "downloadToRAM" { + value "3"; + } + } + description + "When this object is set to downloadToRAM(2) or + downloadToPROM(3), the device will discontinue its + normal operation and begin download of the image specified + by probeDownloadFile from the server specified by + probeDownloadTFTPServer using the TFTP protocol. If + downloadToRAM(2) is specified, the new image is copied + to RAM only (the old image remains unaltered in the flash + EPROM). If downloadToPROM(3) is specified + the new image is written to the flash EPROM + memory after its checksum has been verified to be correct. + When the download process is completed, the device will + + + + + + warm boot to restart the newly loaded application. + When the device is not downloading, this object will have + a value of notDownloading(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.8"; + } + + leaf probeDownloadStatus { + type enumeration { + enum "downloadSuccess" { + value "1"; + } + enum "downloadStatusUnknown" { + value "2"; + } + enum "downloadGeneralError" { + value "3"; + } + enum "downloadNoResponseFromServer" { + value "4"; + } + enum "downloadChecksumError" { + value "5"; + } + enum "downloadIncompatibleImage" { + value "6"; + } + enum "downloadTftpFileNotFound" { + value "7"; + } + enum "downloadTftpAccessViolation" { + value "8"; + } + } + description + "The status of the last download procedure, if any. This + object will have a value of downloadStatusUnknown(2) if no + download process has been performed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.19.9"; + } + + leaf netDefaultGateway { + type inet:ipv4-address; + description + "The IP Address of the default gateway. If this value is + undefined or unknown, it shall have the value 0.0.0.0."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.12"; + } + } + + container protocolDirTable { + description + "This table lists the protocols that this agent has the + capability to decode and count. There is one entry in this + table for each such protocol. These protocols represent + different network layer, transport layer, and higher-layer + protocols. The agent should boot up with this table + preconfigured with those protocols that it knows about and + wishes to monitor. Implementations are strongly encouraged to + support protocols higher than the network layer (at least for + the protocol distribution group), even for implementations + that don't support the application layer groups."; + smiv2:oid "1.3.6.1.2.1.16.11.2"; + + list protocolDirEntry { + key "protocolDirID protocolDirParameters"; + description + "A conceptual row in the protocolDirTable. + + An example of the indexing of this entry is + protocolDirLocalIndex.8.0.0.0.1.0.0.8.0.2.0.0, which is the + encoding of a length of 8, followed by 8 subids encoding the + protocolDirID of 1.2048, followed by a length of 2 and the + 2 subids encoding zero-valued parameters."; + smiv2:oid "1.3.6.1.2.1.16.11.2.1"; + + leaf protocolDirID { + type binary; + description + "A unique identifier for a particular protocol. Standard + identifiers will be defined in a manner such that they + can often be used as specifications for new protocols - i.e. + a tree-structured assignment mechanism that matches the + protocol encapsulation `tree' and which has algorithmic + assignment mechanisms for certain subtrees. See RFC XXX for + more details. + + Despite the algorithmic mechanism, the probe will only place + entries in here for those protocols it chooses to collect. In + other words, it need not populate this table with all of the + possible ethernet protocol types, nor need it create them on + the fly when it sees them. Whether or not it does these + things is a matter of product definition (cost/benefit, + usability), and is up to the designer of the product. + + If an entry is written to this table with a protocolDirID that + the agent doesn't understand, either directly or + algorithmically, the SET request will be rejected with an + inconsistentName or badValue (for SNMPv1) error."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.1"; + } + + leaf protocolDirParameters { + type binary; + description + "A set of parameters for the associated protocolDirID. + See the associated RMON2 Protocol Identifiers document + for a description of the possible parameters. There + will be one octet in this string for each sub-identifier in + the protocolDirID, and the parameters will appear here in the + same order as the associated sub-identifiers appear in the + protocolDirID. + + Every node in the protocolDirID tree has a different, optional + set of parameters defined (that is, the definition of + parameters for a node is optional). The proper parameter + value for each node is included in this string. Note that the + inclusion of a parameter value in this string for each node is + not optional - what is optional is that a node may have no + parameters defined, in which case the parameter field for that + node will be zero."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.2"; + } + + leaf protocolDirLocalIndex { + type int32 { + range "1..2147483647"; + } + description + "The locally arbitrary, but unique identifier associated + with this protocolDir entry. + + The value for each supported protocol must remain constant at + least from one re-initialization of the entity's network + management system to the next re-initialization, except that + if a protocol is deleted and re-created, it must be re-created + with a new value that has not been used since the last + re-initialization. + + The specific value is meaningful only within a given SNMP + entity. A protocolDirLocalIndex must not be re-used until the + next agent-restart in the event the protocol directory entry + is deleted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.3"; + } + + leaf protocolDirDescr { + type snmpv2-tc:DisplayString { + length "1..64"; + } + description + "A textual description of the protocol encapsulation. + A probe may choose to describe only a subset of the + entire encapsulation (e.g. only the highest layer). + + This object is intended for human consumption only. + + This object may not be modified if the associated + protocolDirStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.4"; + } + + leaf protocolDirType { + type binary { + length "1"; + } + description + "This object describes 2 attributes of this protocol + directory entry. + + The presence or absence of the `extensible' bit describes + whether or not this protocol directory entry can be extended + + + + + + by the user by creating protocol directory entries which are + children of this protocol. + + An example of an entry that will often allow extensibility is + `ip.udp'. The probe may automatically populate some children + of this node such as `ip.udp.snmp' and `ip.udp.dns'. + A probe administrator or user may also populate additional + children via remote SNMP requests that create entries in this + table. When a child node is added for a protocol for which the + probe has no built in support, extending a parent node (for + which the probe does have built in support), + that child node is not extendible. This is termed `limited + extensibility'. + + When a child node is added through this extensibility + mechanism, the values of protocolDirLocalIndex and + protocolDirType shall be assigned by the agent. + + The other objects in the entry will be assigned by the + manager who is creating the new entry. + + This object also describes whether or not this agent can + recognize addresses for this protocol, should it be a network + level protocol. That is, while a probe may be able to + recognize packets of a particular network layer protocol and + count them, it takes additional logic to be able to recognize + the addresses in this protocol and to populate network layer + or application layer tables with the addresses in this + protocol. If this bit is set, the agent will recognize + network layer addresses for this protoocl and populate the + network and application layer host and matrix tables with + these protocols. + + Note that when an entry is created, the agent will supply + values for the bits that match the capabilities of the agent + with respect to this protocol. Note that since row creations + usually exercise the limited extensibility feature, these + bits will usually be set to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.5"; + } + + leaf protocolDirAddressMapConfig { + type enumeration { + enum "notSupported" { + value "1"; + } + enum "supportedOff" { + value "2"; + } + enum "supportedOn" { + value "3"; + } + } + description + "This object describes and configures the probe's support for + address mapping for this protocol. When the probe creates + entries in this table for all protocols that it understands, + it will set the entry to notSupported(1) if it doesn't have + the capability to perform address mapping for the protocol or + if this protocol is not a network-layer protocol. When + an entry is created in this table by a management operation as + part of the limited extensibility feature, the probe must set + this value to notSupported(1), because limited extensibility + of the protocolDirTable does not extend to interpreting + addresses of the extended protocols. + + If the value of this object is notSupported(1), the probe + will not perform address mapping for this protocol and + shall not allow this object to be changed to any other value. + If the value of this object is supportedOn(3), the probe + supports address mapping for this protocol and is configured + to perform address mapping for this protocol for all + addressMappingControlEntries and all interfaces. + If the value of this object is supportedOff(2), the probe + supports address mapping for this protocol but is configured + to not perform address mapping for this protocol for any + addressMappingControlEntries and all interfaces. + Whenever this value changes from supportedOn(3) to + supportedOff(2), the probe shall delete all related entries in + the addressMappingTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.6"; + } + + leaf protocolDirHostConfig { + type enumeration { + enum "notSupported" { + value "1"; + } + enum "supportedOff" { + value "2"; + } + enum "supportedOn" { + value "3"; + } + } + description + "This object describes and configures the probe's support for + the network layer and application layer host tables for this + protocol. When the probe creates entries in this table for + all protocols that it understands, it will set the entry to + notSupported(1) if it doesn't have the capability to track the + nlHostTable for this protocol or if the alHostTable is + implemented but doesn't have the capability to track this + protocol. Note that if the alHostTable is implemented, the + probe may only support a protocol if it is supported in both + the nlHostTable and the alHostTable. + + + + + + If the associated protocolDirType object has the + addressRecognitionCapable bit set, then this is a network + layer protocol for which the probe recognizes addresses, and + thus the probe will populate the nlHostTable and alHostTable + with addresses it discovers for this protocol. + + If the value of this object is notSupported(1), the probe + will not track the nlHostTable or alHostTable for this + protocol and shall not allow this object to be changed to any + other value. If the value of this object is supportedOn(3), + the probe supports tracking of the nlHostTable and alHostTable + for this protocol and is configured to track both tables + for this protocol for all control entries and all interfaces. + If the value of this object is supportedOff(2), the probe + supports tracking of the nlHostTable and alHostTable for this + protocol but is configured to not track these tables + for any control entries or interfaces. + Whenever this value changes from supportedOn(3) to + supportedOff(2), the probe shall delete all related entries in + the nlHostTable and alHostTable. + + Note that since each alHostEntry references 2 protocol + directory entries, one for the network address and one for the + type of the highest protocol recognized, that an entry will + only be created in that table if this value is supportedOn(3) + for both protocols."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.7"; + } + + leaf protocolDirMatrixConfig { + type enumeration { + enum "notSupported" { + value "1"; + } + enum "supportedOff" { + value "2"; + } + enum "supportedOn" { + value "3"; + } + } + description + "This object describes and configures the probe's support for + the network layer and application layer matrix tables for this + protocol. When the probe creates entries in this table for + all protocols that it understands, it will set the entry to + notSupported(1) if it doesn't have the capability to track the + nlMatrixTables for this protocol or if the alMatrixTables are + implemented but don't have the capability to track this + protocol. Note that if the alMatrix tables are implemented, + the probe may only support a protocol if it is supported in + the the both of the nlMatrixTables and both of the + alMatrixTables. + + + + + + If the associated protocolDirType object has the + addressRecognitionCapable bit set, then this is a network + layer protocol for which the probe recognizes addresses, and + thus the probe will populate both of the nlMatrixTables and + both of the alMatrixTables with addresses it discovers for + this protocol. + + If the value of this object is notSupported(1), the probe + will not track either of the nlMatrixTables or the + alMatrixTables for this protocol and shall not allow this + object to be changed to any other value. If the value of this + object is supportedOn(3), the probe supports tracking of both + of the nlMatrixTables and (if implemented) both of the + alMatrixTables for this protocol and is configured to track + these tables for this protocol for all control entries and all + interfaces. If the value of this object is supportedOff(2), + the probe supports tracking of both of the nlMatrixTables and + (if implemented) both of the alMatrixTables for this protocol + but is configured to not track these tables for this + protocol for any control entries or interfaces. + Whenever this value changes from supportedOn(3) to + supportedOff(2), the probe shall delete all related entries in + the nlMatrixTables and the alMatrixTables. + + Note that since each alMatrixEntry references 2 protocol + directory entries, one for the network address and one for the + type of the highest protocol recognized, that an entry will + only be created in that table if this value is supportedOn(3) + for both protocols."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.8"; + } + + leaf protocolDirOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.9"; + } + + leaf protocolDirStatus { + type snmpv2-tc:RowStatus; + description + "The status of this protocol directory entry. + + An entry may not exist in the active state unless all + + + + + + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all associated + entries in the nlHostTable, nlMatrixSDTable, nlMatrixDSTable, + alHostTable, alMatrixSDTable, and alMatrixDSTable shall be + deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.11.2.1.10"; + } + } + } + + container protocolDistControlTable { + description + "Controls the setup of protocol type distribution statistics + tables. + + Implementations are encouraged to add an entry per monitored + interface upon initialization so that a default collection + of protocol statistics is available. + + Rationale: + This table controls collection of very basic statistics + for any or all of the protocols detected on a given interface. + An NMS can use this table to quickly determine bandwidth + allocation utilized by different protocols. + + A media-specific statistics collection could also + be configured (e.g. etherStats, trPStats) to easily obtain + total frame, octet, and droppedEvents for the same + interface."; + smiv2:oid "1.3.6.1.2.1.16.12.1"; + + list protocolDistControlEntry { + key "protocolDistControlIndex"; + description + "A conceptual row in the protocolDistControlTable. + + An example of the indexing of this entry is + + + + + + protocolDistControlDroppedFrames.7"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1"; + + leaf protocolDistControlIndex { + type int32 { + range "1..65535"; + } + description + "A unique index for this protocolDistControlEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.1"; + } + + leaf protocolDistControlDataSource { + type RMON2-MIB:DataSource; + description + "The source of data for the this protocol distribution. + + The statistics in this group reflect all packets + on the local network segment attached to the + identified interface. + + This object may not be modified if the associated + protocolDistControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.2"; + } + + leaf protocolDistControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + + + + + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.3"; + } + + leaf protocolDistControlCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last + activated. This can be used by the management station to + ensure that the table has not been deleted and recreated + between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.4"; + } + + leaf protocolDistControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.5"; + } + + leaf protocolDistControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all associated + entries in the protocolDistStatsTable shall be deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.12.1.1.6"; + } + } + } + + container protocolDistStatsTable { + description + "An entry is made in this table for every protocol in the + + + + + + protocolDirTable which has been seen in at least one packet. + Counters are updated in this table for every protocol type + that is encountered when parsing a packet, but no counters are + updated for packets with MAC-layer errors. + + Note that if a protocolDirEntry is deleted, all associated + entries in this table are removed."; + smiv2:oid "1.3.6.1.2.1.16.12.2"; + + list protocolDistStatsEntry { + key "protocolDistControlIndex protocolDirLocalIndex"; + description + "A conceptual row in the protocolDistStatsTable. + + The index is composed of the protocolDistControlIndex of the + associated protocolDistControlEntry followed by the + protocolDirLocalIndex of the associated protocol that this + entry represents. In other words, the index identifies the + protocol distribution an entry is a part of as well as the + particular protocol that it represents. + + An example of the indexing of this entry is + protocolDistStatsPkts.1.18"; + smiv2:oid "1.3.6.1.2.1.16.12.2.1"; + + leaf protocolDistControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDistControlTable/RMON2-MIB:protocolDistControlEntry/RMON2-MIB:protocolDistControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf protocolDistStatsPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors received of this + protocol type. Note that this is the number of link-layer + packets, so if a single network-layer packet is fragmented + into several link-layer frames, this counter is incremented + several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.12.2.1.1"; + } + + leaf protocolDistStatsOctets { + type yang:zero-based-counter32; + description + "The number of octets in packets received of this protocol + type since it was added to the protocolDistStatsTable + (excluding framing bits but including FCS octets), except for + those octets in packets that contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.12.2.1.2"; + } + } + } + + container addressMapControlTable { + description + "A table to control the collection of network layer address to + physical address to interface mappings. + + Note that this is not like the typical RMON + controlTable and dataTable in which each entry creates + its own data table. Each entry in this table enables the + discovery of addresses on a new interface and the placement + of address mappings into the central addressMapTable. + + Implementations are encouraged to add an entry per monitored + interface upon initialization so that a default collection + of address mappings is available."; + smiv2:oid "1.3.6.1.2.1.16.13.4"; + + list addressMapControlEntry { + key "addressMapControlIndex"; + description + "A conceptual row in the addressMapControlTable. + + + + + + An example of the indexing of this entry is + addressMapControlDroppedFrames.1"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1"; + + leaf addressMapControlIndex { + type int32 { + range "1..65535"; + } + description + "A unique index for this entry in the addressMapControlTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1.1"; + } + + leaf addressMapControlDataSource { + type RMON2-MIB:DataSource; + description + "The source of data for this addressMapControlEntry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1.2"; + } + + leaf addressMapControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1.3"; + } + + leaf addressMapControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1.4"; + } + + leaf addressMapControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this addressMap control entry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all associated + entries in the addressMapTable shall be deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.13.4.1.5"; + } + } + } + + container addressMapTable { + description + "A table of network layer address to physical address to + interface mappings. + + The probe will add entries to this table based on the source + MAC and network addresses seen in packets without MAC-level + errors. The probe will populate this table for all protocols + in the protocol directory table whose value of + protocolDirAddressMapConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirAddressMapConfig value of supportedOff(2)."; + smiv2:oid "1.3.6.1.2.1.16.13.5"; + + list addressMapEntry { + key "addressMapTimeMark protocolDirLocalIndex addressMapNetworkAddress addressMapSource"; + description + "A conceptual row in the addressMapTable. + The protocolDirLocalIndex in the index identifies the network + layer protocol of the addressMapNetworkAddress. + + + + + + An example of the indexing of this entry is + addressMapSource.783495.18.4.128.2.6.6.11.1.3.6.1.2.1.2.2.1.1.1"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1"; + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf addressMapTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1.1"; + } + + leaf addressMapNetworkAddress { + type binary; + description + "The network address for this relation. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the + index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1.2"; + } + + leaf addressMapSource { + type yang:object-identifier-128; + description + "The interface or port on which the associated network + address was most recently seen. + + + + + + If this address mapping was discovered on an interface, this + object shall identify the instance of the ifIndex + object, defined in [3,5], for the desired interface. + For example, if an entry were to receive data from + interface #1, this object would be set to ifIndex.1. + + If this address mapping was discovered on a port, this + object shall identify the instance of the rptrGroupPortIndex + object, defined in [RFC1516], for the desired port. + For example, if an entry were to receive data from + group #1, port #1, this object would be set to + rptrGroupPortIndex.1.1. + + Note that while the dataSource associated with this entry + may only point to index objects, this object may at times + point to repeater port objects. This situation occurs when + the dataSource points to an interface which is a locally + attached repeater and the agent has additional information + about the source port of traffic seen on that repeater."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1.3"; + } + + leaf addressMapPhysicalAddress { + type binary; + description + "The last source physical address on which the associated + network address was seen. If the protocol of the associated + network address was encapsulated inside of a network-level or + higher protocol, this will be the address of the next-lower + protocol with the addressRecognitionCapable bit enabled and + will be formatted as specified for that protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1.4"; + } + + leaf addressMapLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time this entry was last + created or the values of the physical address changed. + + This can be used to help detect duplicate address problems, in + which case this object will be updated frequently."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.13.5.1.5"; + } + } + } + + container hlHostControlTable { + description + "A list of higher layer (i.e. non-MAC) host table control entries. + + These entries will enable the collection of the network and + application level host tables indexed by network addresses. + Both the network and application level host tables are + controlled by this table is so that they will both be created + and deleted at the same time, further increasing the ease with + which they can be implemented as a single datastore (note that + if an implementation stores application layer host records in + memory, it can derive network layer host records from them). + + Entries in the nlHostTable will be created on behalf of each + entry in this table. Additionally, if this probe implements + the alHostTable, entries in the alHostTable will be created on + behalf of each entry in this table. + + Implementations are encouraged to add an entry per monitored + interface upon initialization so that a default collection + of host statistics is available."; + smiv2:oid "1.3.6.1.2.1.16.14.1"; + + list hlHostControlEntry { + key "hlHostControlIndex"; + description + "A conceptual row in the hlHostControlTable. + + An example of the indexing of this entry is + hlHostControlNlDroppedFrames.1"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1"; + + leaf hlHostControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + hlHostControlTable. Each such entry defines + a function that discovers hosts on a particular + interface and places statistics about them in the + nlHostTable, and optionally in the alHostTable, on + behalf of this hlHostControlEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.1"; + } + + leaf hlHostControlDataSource { + type RMON2-MIB:DataSource; + description + "The source of data for the associated host tables. + + The statistics in this group reflect all packets + on the local network segment attached to the + identified interface. + + This object may not be modified if the associated + hlHostControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.2"; + } + + leaf hlHostControlNlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for the associated + + + + + + nlHost entries for whatever reason. Most often, this event + occurs when the probe is out of some resources and decides to + shed load from this collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that if the nlHostTable is inactive because no protocols + are enabled in the protocol directory, this value should be 0. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.3"; + } + + leaf hlHostControlNlInserts { + type yang:counter32; + description + "The number of times an nlHost entry has been + inserted into the nlHost table. If an entry is inserted, then + deleted, and then inserted, this counter will be incremented + by 2. + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlHostControlNlDeletes from hlHostControlNlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.4"; + } + + leaf hlHostControlNlDeletes { + type yang:counter32; + description + "The number of times an nlHost entry has been + deleted from the nlHost table (for any reason). If an entry + is deleted, then inserted, and then deleted, this counter will + be incremented by 2. + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + + + + + + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlHostControlNlDeletes from hlHostControlNlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.5"; + } + + leaf hlHostControlNlMaxDesiredEntries { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of entries that are desired in the + nlHostTable on behalf of this control entry. The probe will + not create more than this number of associated entries in the + table, but may choose to create fewer entries in this table + for any reason including the lack of resources. + + If this object is set to a value less than the current number + of entries, enough entries are chosen in an + implementation-dependent manner and deleted so that the number + of entries in the table equals the value of this object. + + If this value is set to -1, the probe may create any number + of entries in this table. If the associated + hlHostControlStatus object is equal to `active', this + object may not be modified. + + This object may be used to control how resources are allocated + on the probe for the various RMON functions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.6"; + } + + leaf hlHostControlAlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for the associated + alHost entries for whatever reason. Most often, this event + occurs when the probe is out of some resources and decides to + shed load from this collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + + + + + + Note that if the alHostTable is not implemented or is inactive + because no protocols are enabled in the protocol directory, + this value should be 0. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.7"; + } + + leaf hlHostControlAlInserts { + type yang:counter32; + description + "The number of times an alHost entry has been + inserted into the alHost table. If an entry is inserted, then + deleted, and then inserted, this counter will be incremented + by 2. + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlHostControlAlDeletes from hlHostControlAlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.8"; + } + + leaf hlHostControlAlDeletes { + type yang:counter32; + description + "The number of times an alHost entry has been + deleted from the alHost table (for any reason). If an entry + is deleted, then inserted, and then deleted, this counter will + be incremented by 2. + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlHostControlAlDeletes from hlHostControlAlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.9"; + } + + leaf hlHostControlAlMaxDesiredEntries { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of entries that are desired in the alHost + table on behalf of this control entry. The probe will not + create more than this number of associated entries in the + table, but may choose to create fewer entries in this table + for any reason including the lack of resources. + + If this object is set to a value less than the current number + of entries, enough entries are chosen in an + implementation-dependent manner and deleted so that the number + of entries in the table equals the value of this object. + + If this value is set to -1, the probe may create any number + of entries in this table. If the associated + hlHostControlStatus object is equal to `active', this + object may not be modified. + + This object may be used to control how resources are allocated + on the probe for the various RMON functions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.10"; + } + + leaf hlHostControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.11"; + } + + leaf hlHostControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this hlHostControlEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all associated + entries in the nlHostTable and alHostTable shall be deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.14.1.1.12"; + } + } + } + + container nlHostTable { + description + "A collection of statistics for a particular network layer + address that has been discovered on an interface of this + device. + + The probe will populate this table for all network layer + protocols in the protocol directory table whose value of + protocolDirHostConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirHostConfig value of supportedOff(2). + + The probe will add to this table all addresses seen + as the source or destination address in all packets with no + MAC errors, and will increment octet and packet counts in the + table for all packets with no MAC errors."; + smiv2:oid "1.3.6.1.2.1.16.14.2"; + + list nlHostEntry { + key "hlHostControlIndex nlHostTimeMark protocolDirLocalIndex nlHostAddress"; + description + "A conceptual row in the nlHostTable. + + The hlHostControlIndex value in the index identifies the + hlHostControlEntry on whose behalf this entry was created. + The protocolDirLocalIndex value in the index identifies the + network layer protocol of the nlHostAddress. + + An example of the indexing of this entry is + nlHostOutPkts.1.783495.18.4.128.2.6.6."; + smiv2:oid "1.3.6.1.2.1.16.14.2.1"; + + leaf hlHostControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlHostControlTable/RMON2-MIB:hlHostControlEntry/RMON2-MIB:hlHostControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlHostTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.1"; + } + + leaf nlHostAddress { + type binary; + description + "The network address for this nlHostEntry. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.2"; + } + + leaf nlHostInPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors transmitted to + this address since it was added to the nlHostTable. Note that + this is the number of link-layer packets, so if a single + network-layer packet is fragmented into several link-layer + frames, this counter is incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.3"; + } + + leaf nlHostOutPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors transmitted by + + + + + + this address since it was added to the nlHostTable. Note that + this is the number of link-layer packets, so if a single + network-layer packet is fragmented into several link-layer + frames, this counter is incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.4"; + } + + leaf nlHostInOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted to this address + since it was added to the nlHostTable (excluding + framing bits but including FCS octets), excluding + those octets in packets that contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.5"; + } + + leaf nlHostOutOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted by this address + since it was added to the nlHostTable (excluding + framing bits but including FCS octets), excluding + those octets in packets that contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.6"; + } + + leaf nlHostOutMacNonUnicastPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors transmitted by this + address that were directed to any MAC broadcast addresses + or to any MAC multicast addresses since this host was + added to the nlHostTable. Note that this is the number of + link-layer packets, so if a single network-layer packet is + fragmented into several link-layer frames, this counter is + incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.7"; + } + + leaf nlHostCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.14.2.1.8"; + } + } + } + + container hlMatrixControlTable { + description + "A list of higher layer (i.e. non-MAC) matrix control entries. + + These entries will enable the collection of the network and + application level matrix tables containing conversation + statistics indexed by pairs of network addresses. + Both the network and application level matrix tables are + controlled by this table is so that they will both be created + and deleted at the same time, further increasing the ease with + which they can be implemented as a single datastore (note that + if an implementation stores application layer matrix records + in memory, it can derive network layer matrix records from + them). + + Entries in the nlMatrixSDTable and nlMatrixDSTable will be + created on behalf of each entry in this table. Additionally, + if this probe implements the alMatrix tables, entries in the + alMatrix tables will be created on behalf of each entry in + this table."; + smiv2:oid "1.3.6.1.2.1.16.15.1"; + + list hlMatrixControlEntry { + key "hlMatrixControlIndex"; + description + "A conceptual row in the hlMatrixControlTable. + + An example of indexing of this entry is + hlMatrixControlNlDroppedFrames.1"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1"; + + leaf hlMatrixControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + hlMatrixControlTable. Each such entry defines + a function that discovers conversations on a particular + interface and places statistics about them in the + nlMatrixSDTable and the nlMatrixDSTable, and optionally the + alMatrixSDTable and alMatrixDSTable, on behalf of this + hlMatrixControlEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.1"; + } + + leaf hlMatrixControlDataSource { + type RMON2-MIB:DataSource; + description + "The source of the data for the associated matrix tables. + + The statistics in this group reflect all packets + on the local network segment attached to the + + + + + + identified interface. + + This object may not be modified if the associated + hlMatrixControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.2"; + } + + leaf hlMatrixControlNlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that if the nlMatrixTables are inactive because no + protocols are enabled in the protocol directory, this value + should be 0. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.3"; + } + + leaf hlMatrixControlNlInserts { + type yang:counter32; + description + "The number of times an nlMatrix entry has been + inserted into the nlMatrix tables. If an entry is inserted, + then deleted, and then inserted, this counter will be + incremented by 2. The addition of a conversation into both + the nlMatrixSDTable and nlMatrixDSTable shall be counted as + two insertions (even though every addition into one table must + be accompanied by an insertion into the other). + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + + + + + Note that the sum of then nlMatrixSDTable and nlMatrixDSTable + sizes can be determined by subtracting + hlMatrixControlNlDeletes from hlMatrixControlNlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.4"; + } + + leaf hlMatrixControlNlDeletes { + type yang:counter32; + description + "The number of times an nlMatrix entry has been + deleted from the nlMatrix tables (for any reason). If an + entry is deleted, then inserted, and then deleted, this + counter will be incremented by 2. The deletion of a + conversation from both the nlMatrixSDTable and nlMatrixDSTable + shall be counted as two deletions (even though every deletion + from one table must be accompanied by a deletion from the + other). + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlMatrixControlNlDeletes from hlMatrixControlNlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.5"; + } + + leaf hlMatrixControlNlMaxDesiredEntries { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of entries that are desired in the + nlMatrix tables on behalf of this control entry. The probe + will not create more than this number of associated entries in + the table, but may choose to create fewer entries in this + table for any reason including the lack of resources. + + If this object is set to a value less than the current number + of entries, enough entries are chosen in an + implementation-dependent manner and deleted so that the number + of entries in the table equals the value of this object. + + If this value is set to -1, the probe may create any number + of entries in this table. If the associated + + + + + + hlMatrixControlStatus object is equal to `active', this + object may not be modified. + + This object may be used to control how resources are allocated + on the probe for the various RMON functions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.6"; + } + + leaf hlMatrixControlAlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that if the alMatrixTables are not implemented or are + inactive because no protocols are enabled in the protocol + directory, this value should be 0. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.7"; + } + + leaf hlMatrixControlAlInserts { + type yang:counter32; + description + "The number of times an alMatrix entry has been + inserted into the alMatrix tables. If an entry is inserted, + then deleted, and then inserted, this counter will be + incremented by 2. The addition of a conversation into both + the alMatrixSDTable and alMatrixDSTable shall be counted as + two insertions (even though every addition into one table must + be accompanied by an insertion into the other). + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + + + + + + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlMatrixControlAlDeletes from hlMatrixControlAlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.8"; + } + + leaf hlMatrixControlAlDeletes { + type yang:counter32; + description + "The number of times an alMatrix entry has been + deleted from the alMatrix tables. If an entry is deleted, + then inserted, and then deleted, this counter will be + incremented by 2. The deletion of a conversation from both + the alMatrixSDTable and alMatrixDSTable shall be counted as + two deletions (even though every deletion from one table must + be accompanied by a deletion from the other). + + To allow for efficient implementation strategies, agents may + delay updating this object for short periods of time. For + example, an implementation strategy may allow internal + data structures to differ from those visible via SNMP for + short periods of time. This counter may reflect the internal + data structures for those short periods of time. + + Note that the table size can be determined by subtracting + hlMatrixControlAlDeletes from hlMatrixControlAlInserts."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.9"; + } + + leaf hlMatrixControlAlMaxDesiredEntries { + type int32 { + range "-1..2147483647"; + } + description + "The maximum number of entries that are desired in the + alMatrix tables on behalf of this control entry. The probe + will not create more than this number of associated entries in + the table, but may choose to create fewer entries in this + table for any reason including the lack of resources. + + If this object is set to a value less than the current number + of entries, enough entries are chosen in an + implementation-dependent manner and deleted so that the number + of entries in the table equals the value of this object. + + If this value is set to -1, the probe may create any number + of entries in this table. If the associated + + + + + + hlMatrixControlStatus object is equal to `active', this + object may not be modified. + + This object may be used to control how resources are allocated + on the probe for the various RMON functions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.10"; + } + + leaf hlMatrixControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.11"; + } + + leaf hlMatrixControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this hlMatrixControlEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all + associated entries in the nlMatrixSDTable, + nlMatrixDSTable, alMatrixSDTable, and the alMatrixDSTable + shall be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.1.1.12"; + } + } + } + + container nlMatrixSDTable { + description + "A list of traffic matrix entries which collect statistics for + conversations between two network-level addresses. This table + is indexed first by the source address and then by the + destination address to make it convenient to collect all + conversations from a particular address. + + The probe will populate this table for all network layer + protocols in the protocol directory table whose value of + protocolDirMatrixConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirMatrixConfig value of supportedOff(2). + + + + + + The probe will add to this table all pairs of addresses + seen in all packets with no MAC errors, and will increment + octet and packet counts in the table for all packets with no + MAC errors. + + Further, this table will only contain entries that have a + corresponding entry in the nlMatrixDSTable with the same + source address and destination address."; + smiv2:oid "1.3.6.1.2.1.16.15.2"; + + list nlMatrixSDEntry { + key "hlMatrixControlIndex nlMatrixSDTimeMark protocolDirLocalIndex nlMatrixSDSourceAddress nlMatrixSDDestAddress"; + description + "A conceptual row in the nlMatrixSDTable. + + The hlMatrixControlIndex value in the index identifies the + hlMatrixControlEntry on whose behalf this entry was created. + The protocolDirLocalIndex value in the index identifies the + network layer protocol of the nlMatrixSDSourceAddress and + nlMatrixSDDestAddress. + + An example of the indexing of this table is + nlMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1"; + + leaf hlMatrixControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlMatrixControlTable/RMON2-MIB:hlMatrixControlEntry/RMON2-MIB:hlMatrixControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlMatrixSDTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.1"; + } + + leaf nlMatrixSDSourceAddress { + type binary; + description + "The network source address for this nlMatrixSDEntry. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.2"; + } + + leaf nlMatrixSDDestAddress { + type binary; + description + "The network destination address for this + nlMatrixSDEntry. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.3"; + } + + leaf nlMatrixSDPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors transmitted from the + source address to the destination address since this entry was + added to the nlMatrixSDTable. Note that this is the number of + link-layer packets, so if a single network-layer packet is + fragmented into several link-layer frames, this counter is + incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.4"; + } + + leaf nlMatrixSDOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted from the source address to + the destination address since this entry was added to the + nlMatrixSDTable (excluding framing bits but + including FCS octets), excluding those octets in packets that + contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.5"; + } + + leaf nlMatrixSDCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.2.1.6"; + } + } + } + + container nlMatrixDSTable { + description + "A list of traffic matrix entries which collect statistics for + conversations between two network-level addresses. This table + is indexed first by the destination address and then by the + source address to make it convenient to collect all + conversations to a particular address. + + The probe will populate this table for all network layer + protocols in the protocol directory table whose value of + protocolDirMatrixConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirMatrixConfig value of supportedOff(2). + + The probe will add to this table all pairs of addresses + seen in all packets with no MAC errors, and will increment + + + + + + octet and packet counts in the table for all packets with no + MAC errors. + + Further, this table will only contain entries that have a + corresponding entry in the nlMatrixSDTable with the same + source address and destination address."; + smiv2:oid "1.3.6.1.2.1.16.15.3"; + + list nlMatrixDSEntry { + key "hlMatrixControlIndex nlMatrixDSTimeMark protocolDirLocalIndex nlMatrixDSDestAddress nlMatrixDSSourceAddress"; + description + "A conceptual row in the nlMatrixDSTable. + + The hlMatrixControlIndex value in the index identifies the + hlMatrixControlEntry on whose behalf this entry was created. + The protocolDirLocalIndex value in the index identifies the + network layer protocol of the nlMatrixDSSourceAddress and + nlMatrixDSDestAddress. + + An example of the indexing of this table is + nlMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1"; + + leaf hlMatrixControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlMatrixControlTable/RMON2-MIB:hlMatrixControlEntry/RMON2-MIB:hlMatrixControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlMatrixDSTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.1"; + } + + leaf nlMatrixDSSourceAddress { + type binary; + description + "The network source address for this nlMatrixDSEntry. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.2"; + } + + leaf nlMatrixDSDestAddress { + type binary; + description + "The network destination address for this + nlMatrixDSEntry. + + This is represented as an octet string with + specific semantics and length as identified + by the protocolDirLocalIndex component of the index. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.3"; + } + + leaf nlMatrixDSPkts { + type yang:zero-based-counter32; + description + "The number of packets without errors transmitted from the + source address to the destination address since this entry was + added to the nlMatrixDSTable. Note that this is the number of + link-layer packets, so if a single network-layer packet is + fragmented into several link-layer frames, this counter is + incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.4"; + } + + leaf nlMatrixDSOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted from the source address + to the destination address since this entry was added to the + nlMatrixDSTable (excluding framing bits but + including FCS octets), excluding those octets in packets that + contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.5"; + } + + leaf nlMatrixDSCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.3.1.6"; + } + } + } + + container nlMatrixTopNControlTable { + description + "A set of parameters that control the creation of a + report of the top N matrix entries according to + a selected metric."; + smiv2:oid "1.3.6.1.2.1.16.15.4"; + + list nlMatrixTopNControlEntry { + key "nlMatrixTopNControlIndex"; + description + "A conceptual row in the nlMatrixTopNControlTable. + + An example of the indexing of this table is + nlMatrixTopNControlDuration.3"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1"; + + leaf nlMatrixTopNControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry + in the nlMatrixTopNControlTable. Each such + entry defines one top N report prepared for + one interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.1"; + } + + leaf nlMatrixTopNControlMatrixIndex { + type int32 { + range "1..65535"; + } + description + "The nlMatrix[SD/DS] table for which a top N report will be + prepared on behalf of this entry. The nlMatrix[SD/DS] table + is identified by the value of the hlMatrixControlIndex + for that table - that value is used here to identify the + particular table. + + This object may not be modified if the associated + nlMatrixTopNControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.2"; + } + + leaf nlMatrixTopNControlRateBase { + type enumeration { + enum "nlMatrixTopNPkts" { + value "1"; + } + enum "nlMatrixTopNOctets" { + value "2"; + } + } + description + "The variable for each nlMatrix[SD/DS] entry that the + nlMatrixTopNEntries are sorted by. + + + + + + This object may not be modified if the associated + nlMatrixTopNControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.3"; + } + + leaf nlMatrixTopNControlTimeRemaining { + type int32 { + range "0..2147483647"; + } + description + "The number of seconds left in the report currently + being collected. When this object is modified by + the management station, a new collection is started, + possibly aborting a currently running report. The + new value is used as the requested duration of this + report, and is immediately loaded into the associated + nlMatrixTopNControlDuration object. + When the report finishes, the probe will automatically + start another collection with the same initial value + of nlMatrixTopNControlTimeRemaining. Thus the management + station may simply read the resulting reports repeatedly, + checking the startTime and duration each time to ensure that a + report was not missed or that the report parameters were not + changed. + + While the value of this object is non-zero, it decrements + by one per second until it reaches zero. At the time + that this object decrements to zero, the report is made + accessible in the nlMatrixTopNTable, overwriting any report + that may be there. + + When this object is modified by the management station, any + associated entries in the nlMatrixTopNTable shall be deleted. + + (Note that this is a different algorithm than the one used in + the hostTopNTable)."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.4"; + } + + leaf nlMatrixTopNControlGeneratedReports { + type yang:counter32; + description + "The number of reports that have been generated by this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.5"; + } + + leaf nlMatrixTopNControlDuration { + type int32; + description + "The number of seconds that this report has collected + during the last sampling interval. + + When the associated nlMatrixTopNControlTimeRemaining object is + set, this object shall be set by the probe to the + same value and shall not be modified until the next + time the nlMatrixTopNControlTimeRemaining is set. + This value shall be zero if no reports have been + requested for this nlMatrixTopNControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.6"; + } + + leaf nlMatrixTopNControlRequestedSize { + type int32 { + range "0..2147483647"; + } + description + "The maximum number of matrix entries requested for this report. + + When this object is created or modified, the probe + should set nlMatrixTopNControlGrantedSize as closely to this + object as is possible for the particular probe + implementation and available resources."; + smiv2:defval "150"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.7"; + } + + leaf nlMatrixTopNControlGrantedSize { + type int32 { + range "0..2147483647"; + } + description + "The maximum number of matrix entries in this report. + + When the associated nlMatrixTopNControlRequestedSize object is + created or modified, the probe should set this + object as closely to the requested value as is + possible for the particular implementation and + available resources. The probe must not lower this + value except as a result of a set to the associated + nlMatrixTopNControlRequestedSize object. + + If the value of nlMatrixTopNControlRateBase is equal to + nlMatrixTopNPkts, when the next topN report is generated, + matrix entries with the highest value of nlMatrixTopNPktRate + shall be placed in this table in decreasing order of this rate + until there is no more room or until there are no more + + + + + + matrix entries. + + If the value of nlMatrixTopNControlRateBase is equal to + nlMatrixTopNOctets, when the next topN report is generated, + matrix entries with the highest value of nlMatrixTopNOctetRate + shall be placed in this table in decreasing order of this rate + until there is no more room or until there are no more + matrix entries. + + It is an implementation-specific matter how entries with the + same value of nlMatrixTopNPktRate or nlMatrixTopNOctetRate are + sorted. It is also an implementation-specific matter as to + whether or not zero-valued entries are available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.8"; + } + + leaf nlMatrixTopNControlStartTime { + type yang:timestamp; + description + "The value of sysUpTime when this top N report was + last started. In other words, this is the time that + the associated nlMatrixTopNControlTimeRemaining object was + modified to start the requested report or the time + the report was last automatically (re)started. + + This object may be used by the management station to + determine if a report was missed or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.9"; + } + + leaf nlMatrixTopNControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.10"; + } + + leaf nlMatrixTopNControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this nlMatrixTopNControlEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + + + + + If this object is not equal to active(1), all + associated entries in the nlMatrixTopNTable shall be deleted + by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.15.4.1.11"; + } + } + } + + container nlMatrixTopNTable { + description + "A set of statistics for those network layer matrix entries + that have counted the highest number of octets or packets."; + smiv2:oid "1.3.6.1.2.1.16.15.5"; + + list nlMatrixTopNEntry { + key "nlMatrixTopNControlIndex nlMatrixTopNIndex"; + description + "A conceptual row in the nlMatrixTopNTable. + + The nlMatrixTopNControlIndex value in the index identifies the + nlMatrixTopNControlEntry on whose behalf this entry was + created. + + An example of the indexing of this table is + nlMatrixTopNPktRate.3.10"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1"; + + leaf nlMatrixTopNControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlMatrixTopNControlTable/RMON2-MIB:nlMatrixTopNControlEntry/RMON2-MIB:nlMatrixTopNControlIndex"; + } + } + + leaf nlMatrixTopNIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in + the nlMatrixTopNTable among those in the same report. + + + + + + This index is between 1 and N, where N is the + number of entries in this report. + + If the value of nlMatrixTopNControlRateBase is equal to + nlMatrixTopNPkts, increasing values of nlMatrixTopNIndex shall + be assigned to entries with decreasing values of + nlMatrixTopNPktRate until index N is assigned or there are no + more nlMatrixTopNEntries. + + If the value of nlMatrixTopNControlRateBase is equal to + nlMatrixTopNOctets, increasing values of nlMatrixTopNIndex + shall be assigned to entries with decreasing values of + nlMatrixTopNOctetRate until index N is assigned or there are + no more nlMatrixTopNEntries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.1"; + } + + leaf nlMatrixTopNProtocolDirLocalIndex { + type int32 { + range "1..2147483647"; + } + description + "The protocolDirLocalIndex of the network layer protocol of + this entry's network address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.2"; + } + + leaf nlMatrixTopNSourceAddress { + type binary; + description + "The network layer address of the source host in this + conversation. + + This is represented as an octet string with + specific semantics and length as identified + by the associated nlMatrixTopNProtocolDirLocalIndex. + + For example, if the protocolDirLocalIndex indicates an + encapsulation of ip, this object is encoded as a length + octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.3"; + } + + leaf nlMatrixTopNDestAddress { + type binary; + description + "The network layer address of the destination host in this + conversation. + + This is represented as an octet string with + specific semantics and length as identified + by the associated nlMatrixTopNProtocolDirLocalIndex. + + For example, if the nlMatrixTopNProtocolDirLocalIndex + indicates an encapsulation of ip, this object is encoded as a + length octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.4"; + } + + leaf nlMatrixTopNPktRate { + type yang:gauge32; + description + "The number of packets seen from the source host + to the destination host during this sampling interval, counted + using the rules for counting the nlMatrixSDPkts object. + If the value of nlMatrixTopNControlRateBase is + nlMatrixTopNPkts, this variable will be used to sort this + report."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.5"; + } + + leaf nlMatrixTopNReversePktRate { + type yang:gauge32; + description + "The number of packets seen from the destination host to the + source host during this sampling interval, counted + using the rules for counting the nlMatrixSDPkts object (note + that the corresponding nlMatrixSDPkts object selected is the + one whose source address is equal to nlMatrixTopNDestAddress + and whose destination address is equal to + nlMatrixTopNSourceAddress.) + + Note that if the value of nlMatrixTopNControlRateBase is equal + to nlMatrixTopNPkts, the sort of topN entries is based + entirely on nlMatrixTopNPktRate, and not on the value of this + object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.6"; + } + + leaf nlMatrixTopNOctetRate { + type yang:gauge32; + description + "The number of octets seen from the source host + to the destination host during this sampling interval, counted + using the rules for counting the nlMatrixSDOctets object. If + the value of nlMatrixTopNControlRateBase is + nlMatrixTopNOctets, this variable will be used to sort this + report."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.7"; + } + + leaf nlMatrixTopNReverseOctetRate { + type yang:gauge32; + description + "The number of octets seen from the destination host to the + source host during this sampling interval, counted + using the rules for counting the nlMatrixDSOctets object (note + that the corresponding nlMatrixSDOctets object selected is the + one whose source address is equal to nlMatrixTopNDestAddress + and whose destination address is equal to + nlMatrixTopNSourceAddress.) + + Note that if the value of nlMatrixTopNControlRateBase is equal + to nlMatrixTopNOctets, the sort of topN entries is based + entirely on nlMatrixTopNOctetRate, and not on the value of + this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.15.5.1.8"; + } + } + } + + container alHostTable { + description + "A collection of statistics for a particular protocol from a + particular network address that has been discovered on an + interface of this device. + + The probe will populate this table for all protocols in the + protocol directory table whose value of + protocolDirHostConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirHostConfig value of supportedOff(2). + + The probe will add to this table all addresses + seen as the source or destination address in all packets with + no MAC errors, and will increment octet and packet counts in + the table for all packets with no MAC errors. Further, + entries will only be added to this table if their address + exists in the nlHostTable and will be deleted from this table + if their address is deleted from the nlHostTable."; + smiv2:oid "1.3.6.1.2.1.16.16.1"; + + list alHostEntry { + key "hlHostControlIndex alHostTimeMark protocolDirLocalIndex nlHostAddress protocolDirLocalIndex_2"; + description + "A conceptual row in the alHostTable. + + The hlHostControlIndex value in the index identifies the + hlHostControlEntry on whose behalf this entry was created. + The first protocolDirLocalIndex value in the index identifies + the network layer protocol of the address. + The nlHostAddress value in the index identifies the network + layer address of this entry. + The second protocolDirLocalIndex value in the index identifies + the protocol that is counted by this entry. + + An example of the indexing in this entry is + alHostOutPkts.1.783495.18.4.128.2.6.6.34"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1"; + + leaf hlHostControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlHostControlTable/RMON2-MIB:hlHostControlEntry/RMON2-MIB:hlHostControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlHostAddress { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlHostTable/RMON2-MIB:nlHostEntry/RMON2-MIB:nlHostAddress"; + } + } + + leaf protocolDirLocalIndex_2 { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf alHostTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.1"; + } + + leaf alHostInPkts { + type yang:zero-based-counter32; + description + "The number of packets of this protocol type without errors + transmitted to this address since it was added to the + alHostTable. Note that this is the number of link-layer + packets, so if a single network-layer packet is fragmented + into several link-layer frames, this counter is incremented + several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.2"; + } + + leaf alHostOutPkts { + type yang:zero-based-counter32; + description + "The number of packets of this protocol type without errors + transmitted by this address since it was added to the + alHostTable. Note that this is the number of link-layer + packets, so if a single network-layer packet is fragmented + into several link-layer frames, this counter is incremented + several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.3"; + } + + leaf alHostInOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted to this address + of this protocol type since it was added to the + alHostTable (excluding framing bits but including + + + + + + FCS octets), excluding those octets in packets that + contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.4"; + } + + leaf alHostOutOctets { + type yang:zero-based-counter32; + description + "The number of octets transmitted by this address + of this protocol type since it was added to the + alHostTable (excluding framing bits but including + FCS octets), excluding those octets in packets that + contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.5"; + } + + leaf alHostCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.16.1.1.6"; + } + } + } + + container alMatrixSDTable { + description + "A list of application traffic matrix entries which collect + + + + + + statistics for conversations of a particular protocol between + two network-level addresses. This table is indexed first by + the source address and then by the destination address to make + it convenient to collect all statistics from a particular + address. + + The probe will populate this table for all protocols in the + protocol directory table whose value of + protocolDirMatrixConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirMatrixConfig value of supportedOff(2). + + The probe will add to this table all pairs of addresses for + all protocols seen in all packets with no MAC errors, and will + increment octet and packet counts in the table for all packets + with no MAC errors. Further, entries will only be added to + this table if their address pair exists in the nlMatrixSDTable + and will be deleted from this table if the address pair is + deleted from the nlMatrixSDTable."; + smiv2:oid "1.3.6.1.2.1.16.17.1"; + + list alMatrixSDEntry { + key "hlMatrixControlIndex alMatrixSDTimeMark protocolDirLocalIndex nlMatrixSDSourceAddress nlMatrixSDDestAddress protocolDirLocalIndex_2"; + description + "A conceptual row in the alMatrixSDTable. + + The hlMatrixControlIndex value in the index identifies the + hlMatrixControlEntry on whose behalf this entry was created. + The first protocolDirLocalIndex value in the index identifies + the network layer protocol of the nlMatrixSDSourceAddress and + nlMatrixSDDestAddress. + The nlMatrixSDSourceAddress value in the index identifies the + network layer address of the source host in this conversation. + The nlMatrixSDDestAddress value in the index identifies the + network layer address of the destination host in this + conversation. + The second protocolDirLocalIndex value in the index identifies + the protocol that is counted by this entry. + + An example of the indexing of this entry is + alMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7.34"; + smiv2:oid "1.3.6.1.2.1.16.17.1.1"; + + leaf hlMatrixControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlMatrixControlTable/RMON2-MIB:hlMatrixControlEntry/RMON2-MIB:hlMatrixControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlMatrixSDSourceAddress { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlMatrixSDTable/RMON2-MIB:nlMatrixSDEntry/RMON2-MIB:nlMatrixSDSourceAddress"; + } + } + + leaf nlMatrixSDDestAddress { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlMatrixSDTable/RMON2-MIB:nlMatrixSDEntry/RMON2-MIB:nlMatrixSDDestAddress"; + } + } + + leaf protocolDirLocalIndex_2 { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf alMatrixSDTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.17.1.1.1"; + } + + leaf alMatrixSDPkts { + type yang:zero-based-counter32; + description + "The number of packets of this protocol type without errors + transmitted from the source address to the destination address + since this entry was added to the alMatrixSDTable. Note that + this is the number of link-layer packets, so if a single + network-layer packet is fragmented into several link-layer + frames, this counter is incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.1.1.2"; + } + + leaf alMatrixSDOctets { + type yang:zero-based-counter32; + description + "The number of octets in packets of this protocol type + transmitted from the source address to the destination address + since this entry was added to the alMatrixSDTable (excluding + framing bits but including FCS octets), excluding those octets + in packets that contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.1.1.3"; + } + + leaf alMatrixSDCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.1.1.4"; + } + } + } + + container alMatrixDSTable { + description + "A list of application traffic matrix entries which collect + statistics for conversations of a particular protocol between + two network-level addresses. This table is indexed first by + the destination address and then by the source address to make + it convenient to collect all statistics to a particular + address. + + The probe will populate this table for all protocols in the + protocol directory table whose value of + protocolDirMatrixConfig is equal to supportedOn(3), and + will delete any entries whose protocolDirEntry is deleted or + has a protocolDirMatrixConfig value of supportedOff(2). + + The probe will add to this table all pairs of addresses for + all protocols seen in all packets with no MAC errors, and will + increment octet and packet counts in the table for all packets + with no MAC errors. Further, entries will only be added to + this table if their address pair exists in the nlMatrixDSTable + and will be deleted from this table if the address pair is + deleted from the nlMatrixDSTable."; + smiv2:oid "1.3.6.1.2.1.16.17.2"; + + list alMatrixDSEntry { + key "hlMatrixControlIndex alMatrixDSTimeMark protocolDirLocalIndex nlMatrixDSDestAddress nlMatrixDSSourceAddress protocolDirLocalIndex_2"; + description + "A conceptual row in the alMatrixDSTable. + + The hlMatrixControlIndex value in the index identifies the + hlMatrixControlEntry on whose behalf this entry was created. + The first protocolDirLocalIndex value in the index identifies + the network layer protocol of the alMatrixDSSourceAddress and + alMatrixDSDestAddress. + + + + + + The nlMatrixDSDestAddress value in the index identifies the + network layer address of the destination host in this + conversation. + The nlMatrixDSSourceAddress value in the index identifies the + network layer address of the source host in this conversation. + The second protocolDirLocalIndex value in the index identifies + the protocol that is counted by this entry. + + An example of the indexing of this entry is + alMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6.34"; + smiv2:oid "1.3.6.1.2.1.16.17.2.1"; + + leaf hlMatrixControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:hlMatrixControlTable/RMON2-MIB:hlMatrixControlEntry/RMON2-MIB:hlMatrixControlIndex"; + } + } + + leaf protocolDirLocalIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf nlMatrixDSDestAddress { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlMatrixDSTable/RMON2-MIB:nlMatrixDSEntry/RMON2-MIB:nlMatrixDSDestAddress"; + } + } + + leaf nlMatrixDSSourceAddress { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:nlMatrixDSTable/RMON2-MIB:nlMatrixDSEntry/RMON2-MIB:nlMatrixDSSourceAddress"; + } + } + + leaf protocolDirLocalIndex_2 { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:protocolDirTable/RMON2-MIB:protocolDirEntry/RMON2-MIB:protocolDirLocalIndex"; + } + } + + leaf alMatrixDSTimeMark { + type RMON2-MIB:TimeFilter; + description + "A TimeFilter for this entry. See the TimeFilter textual + convention to see how this works."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.17.2.1.1"; + } + + leaf alMatrixDSPkts { + type yang:zero-based-counter32; + description + "The number of packets of this protocol type without errors + transmitted from the source address to the destination address + since this entry was added to the alMatrixDSTable. Note that + this is the number of link-layer packets, so if a single + network-layer packet is fragmented into several link-layer + frames, this counter is incremented several times."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.2.1.2"; + } + + leaf alMatrixDSOctets { + type yang:zero-based-counter32; + description + "The number of octets in packets of this protocol type + transmitted from the source address to the destination address + since this entry was added to the alMatrixDSTable (excluding + framing bits but including FCS octets), excluding those octets + in packets that contained errors. + + Note this doesn't count just those octets in the particular + protocol frames, but includes the entire packet that contained + the protocol."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.2.1.3"; + } + + leaf alMatrixDSCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this entry was last activated. + This can be used by the management station to ensure that the + entry has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.2.1.4"; + } + } + } + + container alMatrixTopNControlTable { + description + "A set of parameters that control the creation of a + report of the top N matrix entries according to + a selected metric."; + smiv2:oid "1.3.6.1.2.1.16.17.3"; + + list alMatrixTopNControlEntry { + key "alMatrixTopNControlIndex"; + description + "A conceptual row in the alMatrixTopNControlTable. + + An example of the indexing of this table is + alMatrixTopNControlDuration.3"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1"; + + leaf alMatrixTopNControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry + in the alMatrixTopNControlTable. Each such + entry defines one top N report prepared for + one interface."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.1"; + } + + leaf alMatrixTopNControlMatrixIndex { + type int32 { + range "1..65535"; + } + description + "The alMatrix[SD/DS] table for which a top N report will be + prepared on behalf of this entry. The alMatrix[SD/DS] table + is identified by the value of the hlMatrixControlIndex + for that table - that value is used here to identify the + particular table. + + This object may not be modified if the associated + alMatrixTopNControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.2"; + } + + leaf alMatrixTopNControlRateBase { + type enumeration { + enum "alMatrixTopNTerminalsPkts" { + value "1"; + } + enum "alMatrixTopNTerminalsOctets" { + value "2"; + } + enum "alMatrixTopNAllPkts" { + value "3"; + } + enum "alMatrixTopNAllOctets" { + value "4"; + } + } + description + "The variable for each alMatrix[SD/DS] entry that the + + + + + + alMatrixTopNEntries are sorted by, as well as the + selector of the view of the matrix table that will be + used. + + The values alMatrixTopNTerminalsPkts and + alMatrixTopNTerminalsOctets cause collection only from + protocols that have no child protocols that are counted. The + values alMatrixTopNAllPkts and alMatrixTopNAllOctets cause + collection from all alMatrix entries. + + This object may not be modified if the associated + alMatrixTopNControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.3"; + } + + leaf alMatrixTopNControlTimeRemaining { + type int32 { + range "0..2147483647"; + } + description + "The number of seconds left in the report currently + being collected. When this object is modified by + the management station, a new collection is started, + possibly aborting a currently running report. The + new value is used as the requested duration of this + report, and is immediately loaded into the associated + alMatrixTopNControlDuration object. + When the report finishes, the probe will automatically + start another collection with the same initial value + of alMatrixTopNControlTimeRemaining. Thus the management + station may simply read the resulting reports repeatedly, + checking the startTime and duration each time to ensure that a + report was not missed or that the report parameters were not + changed. + + While the value of this object is non-zero, it decrements + by one per second until it reaches zero. At the time + that this object decrements to zero, the report is made + accessible in the alMatrixTopNTable, overwriting any report + that may be there. + + When this object is modified by the management station, any + associated entries in the alMatrixTopNTable shall be deleted. + + (Note that this is a different algorithm than the one used in + the hostTopNTable)."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.4"; + } + + leaf alMatrixTopNControlGeneratedReports { + type yang:counter32; + description + "The number of reports that have been generated by this entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.5"; + } + + leaf alMatrixTopNControlDuration { + type int32; + description + "The number of seconds that this report has collected + during the last sampling interval. + + When the associated alMatrixTopNControlTimeRemaining object + is set, this object shall be set by the probe to the + same value and shall not be modified until the next + time the alMatrixTopNControlTimeRemaining is set. + + This value shall be zero if no reports have been + requested for this alMatrixTopNControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.6"; + } + + leaf alMatrixTopNControlRequestedSize { + type int32 { + range "0..2147483647"; + } + description + "The maximum number of matrix entries requested for this report. + + When this object is created or modified, the probe + should set alMatrixTopNControlGrantedSize as closely to this + object as is possible for the particular probe + implementation and available resources."; + smiv2:defval "150"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.7"; + } + + leaf alMatrixTopNControlGrantedSize { + type int32 { + range "0..2147483647"; + } + description + "The maximum number of matrix entries in this report. + + When the associated alMatrixTopNControlRequestedSize object + is created or modified, the probe should set this + + + + + + object as closely to the requested value as is + possible for the particular implementation and + available resources. The probe must not lower this + value except as a result of a set to the associated + alMatrixTopNControlRequestedSize object. + + If the value of alMatrixTopNControlRateBase is equal to + alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, when the + next topN report is generated, matrix entries with the highest + value of alMatrixTopNPktRate shall be placed in this table in + decreasing order of this rate until there is no more room or + until there are no more matrix entries. + + If the value of alMatrixTopNControlRateBase is equal to + alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, when the + next topN report is generated, matrix entries with the highest + value of alMatrixTopNOctetRate shall be placed in this table + in decreasing order of this rate until there is no more room + or until there are no more matrix entries. + + It is an implementation-specific matter how entries with the + same value of alMatrixTopNPktRate or alMatrixTopNOctetRate are + sorted. It is also an implementation-specific matter as to + whether or not zero-valued entries are available."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.8"; + } + + leaf alMatrixTopNControlStartTime { + type yang:timestamp; + description + "The value of sysUpTime when this top N report was + last started. In other words, this is the time that + the associated alMatrixTopNControlTimeRemaining object + was modified to start the requested report or the time + the report was last automatically (re)started. + + This object may be used by the management station to + determine if a report was missed or not."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.9"; + } + + leaf alMatrixTopNControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.10"; + } + + leaf alMatrixTopNControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this alMatrixTopNControlEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all + associated entries in the alMatrixTopNTable shall be + deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.17.3.1.11"; + } + } + } + + container alMatrixTopNTable { + description + "A set of statistics for those application layer matrix + entries that have counted the highest number of octets or + packets."; + smiv2:oid "1.3.6.1.2.1.16.17.4"; + + list alMatrixTopNEntry { + key "alMatrixTopNControlIndex alMatrixTopNIndex"; + description + "A conceptual row in the alMatrixTopNTable. + + The alMatrixTopNControlIndex value in the index identifies + the alMatrixTopNControlEntry on whose behalf this entry was + created. + + An example of the indexing of this table is + alMatrixTopNPktRate.3.10"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1"; + + leaf alMatrixTopNControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:alMatrixTopNControlTable/RMON2-MIB:alMatrixTopNControlEntry/RMON2-MIB:alMatrixTopNControlIndex"; + } + } + + leaf alMatrixTopNIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in + the alMatrixTopNTable among those in the same report. + This index is between 1 and N, where N is the + number of entries in this report. + + If the value of alMatrixTopNControlRateBase is equal to + alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, increasing + values of alMatrixTopNIndex shall be assigned to entries with + decreasing values of alMatrixTopNPktRate until index N is + assigned or there are no more alMatrixTopNEntries. + + If the value of alMatrixTopNControlRateBase is equal to + alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, + increasing values of alMatrixTopNIndex shall be assigned to + entries with decreasing values of alMatrixTopNOctetRate until + index N is assigned or there are no more alMatrixTopNEntries."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.1"; + } + + leaf alMatrixTopNProtocolDirLocalIndex { + type int32 { + range "1..2147483647"; + } + description + "The protocolDirLocalIndex of the network layer protocol of + this entry's network address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.2"; + } + + leaf alMatrixTopNSourceAddress { + type binary; + description + "The network layer address of the source host in this + conversation. + This is represented as an octet string with + specific semantics and length as identified + + + + + + by the associated alMatrixTopNProtocolDirLocalIndex. + + For example, if the alMatrixTopNProtocolDirLocalIndex + indicates an encapsulation of ip, this object is encoded as a + length octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.3"; + } + + leaf alMatrixTopNDestAddress { + type binary; + description + "The network layer address of the destination host in this + conversation. + + This is represented as an octet string with + specific semantics and length as identified + by the associated alMatrixTopNProtocolDirLocalIndex. + + For example, if the alMatrixTopNProtocolDirLocalIndex + indicates an encapsulation of ip, this object is encoded as a + length octet of 4, followed by the 4 octets of the ip address, + in network byte order."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.4"; + } + + leaf alMatrixTopNAppProtocolDirLocalIndex { + type int32 { + range "1..2147483647"; + } + description + "The type of the protocol counted by this matrix entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.5"; + } + + leaf alMatrixTopNPktRate { + type yang:gauge32; + description + "The number of packets seen of this protocol from the source + host to the destination host during this sampling interval, + counted using the rules for counting the alMatrixSDPkts + object. + + If the value of alMatrixTopNControlRateBase is + alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, this + variable will be used to sort this report."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.6"; + } + + leaf alMatrixTopNReversePktRate { + type yang:gauge32; + description + "The number of packets seen of this protocol from the + destination host to the source host during this sampling + interval, counted using the rules for counting the + alMatrixDSPkts object (note that the corresponding + alMatrixSDPkts object selected is the one whose source address + is equal to alMatrixTopNDestAddress and whose destination + address is equal to alMatrixTopNSourceAddress.) + + Note that if the value of alMatrixTopNControlRateBase is equal + to alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, the sort + of topN entries is based entirely on alMatrixTopNPktRate, and + not on the value of this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.7"; + } + + leaf alMatrixTopNOctetRate { + type yang:gauge32; + description + "The number of octets seen of this protocol from the source + host to the destination host during this sampling interval, + counted using the rules for counting the alMatrixSDOctets + object. + + If the value of alMatrixTopNControlRateBase is + alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, this + variable will be used to sort this report."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.8"; + } + + leaf alMatrixTopNReverseOctetRate { + type yang:gauge32; + description + "The number of octets seen of this protocol from the + destination host to the source host during this sampling + interval, counted using the rules for counting the + alMatrixDSOctets object (note that the corresponding + alMatrixSDOctets object selected is the one whose source + address is equal to alMatrixTopNDestAddress and whose + destination address is equal to alMatrixTopNSourceAddress.) + + Note that if the value of alMatrixTopNControlRateBase is equal + + + + + + to alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, the + sort of topN entries is based entirely on + alMatrixTopNOctetRate, and not on the value of this object."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.17.4.1.9"; + } + } + } + + container usrHistoryControlTable { + description + "A list of data-collection configuration entries."; + smiv2:oid "1.3.6.1.2.1.16.18.1"; + + list usrHistoryControlEntry { + key "usrHistoryControlIndex"; + description + "A list of parameters that set up a group of user-defined + MIB objects to be sampled periodically (called a + bucket-group). + + For example, an instance of usrHistoryControlInterval + might be named usrHistoryControlInterval.1"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1"; + + leaf usrHistoryControlIndex { + type int32 { + range "1..65535"; + } + description + "An index that uniquely identifies an entry in the + usrHistoryControlTable. Each such entry defines a + set of samples at a particular interval for a specified + set of MIB instances available from the managed system."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.1"; + } + + leaf usrHistoryControlObjects { + type int32 { + range "1..65535"; + } + description + "The number of MIB objects to be collected + in the portion of usrHistoryTable associated with this + usrHistoryControlEntry. + + This object may not be modified if the associated instance + of usrHistoryControlStatus is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.2"; + } + + leaf usrHistoryControlBucketsRequested { + type int32 { + range "1..65535"; + } + description + "The requested number of discrete time intervals + over which data is to be saved in the part of the + usrHistoryTable associated with this usrHistoryControlEntry. + + When this object is created or modified, the probe + should set usrHistoryControlBucketsGranted as closely to + this object as is possible for the particular probe + implementation and available resources."; + smiv2:defval "50"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.3"; + } + + leaf usrHistoryControlBucketsGranted { + type int32 { + range "1..65535"; + } + description + "The number of discrete sampling intervals + over which data shall be saved in the part of + the usrHistoryTable associated with this + usrHistoryControlEntry. + + When the associated usrHistoryControlBucketsRequested + + + + + + object is created or modified, the probe should set + this object as closely to the requested value as is + possible for the particular probe implementation and + available resources. The probe must not lower this + value except as a result of a modification to the associated + usrHistoryControlBucketsRequested object. + + The associated usrHistoryControlBucketsRequested object + should be set before or at the same time as this object + to allow the probe to accurately estimate the resources + required for this usrHistoryControlEntry. + + There will be times when the actual number of buckets + associated with this entry is less than the value of + this object. In this case, at the end of each sampling + interval, a new bucket will be added to the usrHistoryTable. + + When the number of buckets reaches the value of this object + and a new bucket is to be added to the usrHistoryTable, + the oldest bucket associated with this usrHistoryControlEntry + shall be deleted by the agent so that the new bucket can be + added. + + When the value of this object changes to a value less than + the current value, entries are deleted from the + usrHistoryTable associated with this usrHistoryControlEntry. + Enough of the oldest of these entries shall be deleted by the + agent so that their number remains less than or equal to the + new value of this object. + + When the value of this object changes to a value greater + than the current value, the number of associated usrHistory + entries may be allowed to grow."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.4"; + } + + leaf usrHistoryControlInterval { + type int32 { + range "1..2147483647"; + } + description + "The interval in seconds over which the data is + sampled for each bucket in the part of the usrHistory + table associated with this usrHistoryControlEntry. + + Because the counters in a bucket may overflow at their + maximum value with no indication, a prudent manager will + take into account the possibility of overflow in any of + + + + + + the associated counters. It is important to consider the + minimum time in which any counter could overflow on a + particular media type and set the usrHistoryControlInterval + object to a value less than this interval. + + This object may not be modified if the associated + usrHistoryControlStatus object is equal to active(1)."; + smiv2:defval "1800"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.5"; + } + + leaf usrHistoryControlOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.6"; + } + + leaf usrHistoryControlStatus { + type snmpv2-tc:RowStatus; + description + "The status of this variable history control entry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value. + + If this object is not equal to active(1), all associated + entries in the usrHistoryTable shall be deleted."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.1.1.7"; + } + } + } + + container usrHistoryObjectTable { + description + "A list of data-collection configuration entries."; + smiv2:oid "1.3.6.1.2.1.16.18.2"; + + list usrHistoryObjectEntry { + key "usrHistoryControlIndex usrHistoryObjectIndex"; + description + "A list of MIB instances to be sampled periodically. + + Entries in this table are created when an associated + usrHistoryControlObjects object is created. + + The usrHistoryControlIndex value in the index is + that of the associated usrHistoryControlEntry. + + For example, an instance of usrHistoryObjectVariable might be + usrHistoryObjectVariable.1.3"; + smiv2:oid "1.3.6.1.2.1.16.18.2.1"; + + leaf usrHistoryControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:usrHistoryControlTable/RMON2-MIB:usrHistoryControlEntry/RMON2-MIB:usrHistoryControlIndex"; + } + } + + leaf usrHistoryObjectIndex { + type int32 { + range "1..65535"; + } + description + "An index used to uniquely identify an entry in the + usrHistoryObject table. Each such entry defines a + MIB instance to be collected periodically."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.18.2.1.1"; + } + + leaf usrHistoryObjectVariable { + type yang:object-identifier-128; + description + "The object identifier of the particular variable to be + sampled. + + Only variables that resolve to an ASN.1 primitive type of + Integer32 (Integer32, Counter, Gauge, or TimeTicks) may be + sampled. + + Because SNMP access control is articulated entirely in terms + of the contents of MIB views, no access control mechanism + exists that can restrict the value of this object to identify + only those objects that exist in a particular MIB view. + Because there is thus no acceptable means of restricting the + read access that could be obtained through the user history + + + + + + mechanism, the probe must only grant write access to this + object in those views that have read access to all objects on + the probe. + + During a set operation, if the supplied variable name is not + available in the selected MIB view, a badValue error must be + returned. + + This object may not be modified if the associated + usrHistoryControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.2.1.2"; + } + + leaf usrHistoryObjectSampleType { + type enumeration { + enum "absoluteValue" { + value "1"; + } + enum "deltaValue" { + value "2"; + } + } + description + "The method of sampling the selected variable for storage in + the usrHistoryTable. + + If the value of this object is absoluteValue(1), the value of + the selected variable will be copied directly into the history + bucket. + + If the value of this object is deltaValue(2), the value of the + selected variable at the last sample will be subtracted from + the current value, and the difference will be stored in the + history bucket. If the associated usrHistoryObjectVariable + instance could not be obtained at the previous sample + interval, then a delta sample is not possible, and the value + of the associated usrHistoryValStatus object for this interval + will be valueNotAvailable(1). + + This object may not be modified if the associated + usrHistoryControlStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.18.2.1.3"; + } + } + } + + container usrHistoryTable { + description + "A list of user defined history entries."; + smiv2:oid "1.3.6.1.2.1.16.18.3"; + + list usrHistoryEntry { + key "usrHistoryControlIndex usrHistorySampleIndex usrHistoryObjectIndex"; + description + "A historical sample of user-defined variables. This sample + is associated with the usrHistoryControlEntry which set up the + parameters for a regular collection of these samples. + + The usrHistoryControlIndex value in the index identifies the + usrHistoryControlEntry on whose behalf this entry was created. + + The usrHistoryObjectIndex value in the index identifies the + usrHistoryObjectEntry on whose behalf this entry was created. + + For example, an instance of usrHistoryAbsValue, which represents + the 14th sample of a variable collected as specified by + usrHistoryControlEntry.1 and usrHistoryObjectEntry.1.5, + would be named usrHistoryAbsValue.1.14.5"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1"; + + leaf usrHistoryControlIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:usrHistoryControlTable/RMON2-MIB:usrHistoryControlEntry/RMON2-MIB:usrHistoryControlIndex"; + } + } + + leaf usrHistoryObjectIndex { + type leafref { + path "/RMON2-MIB:RMON2-MIB/RMON2-MIB:usrHistoryObjectTable/RMON2-MIB:usrHistoryObjectEntry/RMON2-MIB:usrHistoryObjectIndex"; + } + } + + leaf usrHistorySampleIndex { + type int32 { + range "1..2147483647"; + } + description + "An index that uniquely identifies the particular sample this + entry represents among all samples associated with the same + usrHistoryControlEntry. This index starts at 1 and increases + by one as each new sample is taken."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1.1"; + } + + leaf usrHistoryIntervalStart { + type yang:timestamp; + description + "The value of sysUpTime at the start of the interval over + which this sample was measured. If the probe keeps track of + the time of day, it should start the first sample of the + history at a time such that when the next hour of the day + begins, a sample is started at that instant. + + Note that following this rule may require the probe to delay + collecting the first sample of the history, as each sample + must be of the same interval. Also note that the sample which + is currently being collected is not accessible in this table + until the end of its interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1.2"; + } + + leaf usrHistoryIntervalEnd { + type yang:timestamp; + description + "The value of sysUpTime at the end of the interval over which + this sample was measured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1.3"; + } + + leaf usrHistoryAbsValue { + type yang:gauge32; + description + "The absolute value (i.e. unsigned value) of the + user-specified statistic during the last sampling period. The + value during the current sampling period is not made available + until the period is completed. + + To obtain the true value for this sampling interval, the + associated instance of usrHistoryValStatus must be checked, + and usrHistoryAbsValue adjusted as necessary. + + If the MIB instance could not be accessed during the sampling + interval, then this object will have a value of zero and the + associated instance of usrHistoryValStatus will be set to + 'valueNotAvailable(1)'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1.4"; + } + + leaf usrHistoryValStatus { + type enumeration { + enum "valueNotAvailable" { + value "1"; + } + enum "valuePositive" { + value "2"; + } + enum "valueNegative" { + value "3"; + } + } + description + "This object indicates the validity and sign of the data in + the associated instance of usrHistoryAbsValue. + + If the MIB instance could not be accessed during the sampling + interval, then 'valueNotAvailable(1)' will be returned. + + If the sample is valid and actual value of the sample is + greater than or equal to zero then 'valuePositive(2)' is + returned. + + If the sample is valid and the actual value of the sample is + less than zero, 'valueNegative(3)' will be returned. The + associated instance of usrHistoryAbsValue should be multiplied + by -1 to obtain the true sample value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.18.3.1.5"; + } + } + } + + container serialConfigTable { + description + "A table of serial interface configuration entries. This data + will be stored in non-volatile memory and preserved across + probe resets or power loss."; + smiv2:oid "1.3.6.1.2.1.16.19.10"; + + list serialConfigEntry { + key "ifIndex"; + description + "A set of configuration parameters for a particular + serial interface on this device. If the device has no serial + interfaces, this table is empty. + + The index is composed of the ifIndex assigned to this serial + line interface."; + smiv2:oid "1.3.6.1.2.1.16.19.10.1"; + + leaf ifIndex { + type leafref { + path "/rfc1213-mib:RFC1213-MIB/rfc1213-mib:ifTable/rfc1213-mib:ifEntry/rfc1213-mib:ifIndex"; + } + } + + leaf serialMode { + type enumeration { + enum "direct" { + value "1"; + } + enum "modem" { + value "2"; + } + } + description + "The type of incoming connection to expect on this serial + interface."; + smiv2:defval "direct"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.1"; + } + + leaf serialProtocol { + type enumeration { + enum "other" { + value "1"; + } + enum "slip" { + value "2"; + } + enum "ppp" { + value "3"; + } + } + description + "The type of data link encapsulation to be used on this + serial interface."; + smiv2:defval "slip"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.2"; + } + + leaf serialTimeout { + type int32 { + range "1..65535"; + } + description + "This timeout value is used when the Management Station has + initiated the conversation over the serial link. This variable + represents the number of seconds of inactivity allowed before + terminating the connection on this serial interface. Use the + + + + + + serialDialoutTimeout in the case where the probe has initiated + the connection for the purpose of sending a trap."; + smiv2:defval "300"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.3"; + } + + leaf serialModemInitString { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which controls how a modem attached to this + serial interface should be initialized. The initialization + is performed once during startup and again after each + connection is terminated if the associated serialMode has the + value of modem(2). + + A control string that is appropriate for a wide variety of + modems is: '^s^MATE0Q0V1X4 S0=1 S2=43^M'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.4"; + } + + leaf serialModemHangUpString { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which specifies how to disconnect a modem + connection on this serial interface. This object is only + meaningful if the associated serialMode has the value + of modem(2). + A control string that is appropriate for a wide variety of + modems is: '^d2^s+++^d2^sATH0^M^d2'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.5"; + } + + leaf serialModemConnectResp { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "An ASCII string containing substrings that describe the + expected modem connection response code and associated bps + rate. The substrings are delimited by the first character + in the string, for example: + /CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/ + CONNECT 4800/4800/CONNECT 9600/9600 + will be interpreted as: + response code bps rate + CONNECT 300 + CONNECT 1200 1200 + + + + + + CONNECT 2400 2400 + CONNECT 4800 4800 + CONNECT 9600 9600 + The agent will use the information in this string to adjust + the bps rate of this serial interface once a modem connection + is established. + + A value that is appropriate for a wide variety of modems is: + '/CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/ + CONNECT 4800/4800/CONNECT 9600/9600/CONNECT 14400/14400/ + CONNECT 19200/19200/CONNECT 38400/38400/'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.6"; + } + + leaf serialModemNoConnectResp { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "An ASCII string containing response codes that may be + generated by a modem to report the reason why a connection + attempt has failed. The response codes are delimited by + the first character in the string, for example: + /NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/ + If one of these response codes is received via this serial + interface while attempting to make a modem connection, + the agent will issue the hang up command as specified by + serialModemHangUpString. + + A value that is appropriate for a wide variety of modems is: + '/NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.7"; + } + + leaf serialDialoutTimeout { + type int32 { + range "1..65535"; + } + description + "This timeout value is used when the probe initiates the + serial connection with the intention of contacting a + management station. This variable represents the number + of seconds of inactivity allowed before terminating the + connection on this serial interface."; + smiv2:defval "20"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.8"; + } + + leaf serialStatus { + type snmpv2-tc:RowStatus; + description + "The status of this serialConfigEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.10.1.9"; + } + } + } + + container netConfigTable { + description + "A table of netConfigEntries."; + smiv2:oid "1.3.6.1.2.1.16.19.11"; + + list netConfigEntry { + key "ifIndex"; + description + "A set of configuration parameters for a particular + network interface on this device. If the device has no network + interface, this table is empty. + + The index is composed of the ifIndex assigned to the + corresponding interface."; + smiv2:oid "1.3.6.1.2.1.16.19.11.1"; + + leaf ifIndex { + type leafref { + path "/rfc1213-mib:RFC1213-MIB/rfc1213-mib:ifTable/rfc1213-mib:ifEntry/rfc1213-mib:ifIndex"; + } + } + + leaf netConfigIPAddress { + type inet:ipv4-address; + description + "The IP address of this Net interface. The default value + for this object is 0.0.0.0. If either the netConfigIPAddress + or netConfigSubnetMask are 0.0.0.0, then when the device + boots, it may use BOOTP to try to figure out what these + values should be. If BOOTP fails, before the device + can talk on the network, this value must be configured + (e.g., through a terminal attached to the device). If BOOTP is + + + + + + used, care should be taken to not send BOOTP broadcasts too + frequently and to eventually send very infrequently if no + replies are received."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.11.1.1"; + } + + leaf netConfigSubnetMask { + type inet:ipv4-address; + description + "The subnet mask of this Net interface. The default value + for this object is 0.0.0.0. If either the netConfigIPAddress + or netConfigSubnetMask are 0.0.0.0, then when the device + boots, it may use BOOTP to try to figure out what these + values should be. If BOOTP fails, before the device + can talk on the network, this value must be configured + (e.g., through a terminal attached to the device). If BOOTP is + used, care should be taken to not send BOOTP broadcasts too + frequently and to eventually send very infrequently if no + replies are received."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.11.1.2"; + } + + leaf netConfigStatus { + type snmpv2-tc:RowStatus; + description + "The status of this netConfigEntry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.11.1.3"; + } + } + } + + container trapDestTable { + description + "A list of trap destination entries."; + smiv2:oid "1.3.6.1.2.1.16.19.13"; + + list trapDestEntry { + key "trapDestIndex"; + description + "This entry includes a destination IP address to which to send + traps for this community."; + smiv2:oid "1.3.6.1.2.1.16.19.13.1"; + + leaf trapDestIndex { + type int32 { + range "1..65535"; + } + description + "A value that uniquely identifies this trapDestEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.1"; + } + + leaf trapDestCommunity { + type binary { + length "0..127"; + } + description + "A community to which this destination address belongs. + This entry is associated with any eventEntries in the RMON + + + + + + MIB whose value of eventCommunity is equal to the value of + this object. Every time an associated event entry sends a + trap due to an event, that trap will be sent to each + address in the trapDestTable with a trapDestCommunity equal to + eventCommunity. + + This object may not be modified if the associated + trapDestStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.2"; + } + + leaf trapDestProtocol { + type enumeration { + enum "ip" { + value "1"; + } + enum "ipx" { + value "2"; + } + } + description + "The protocol with which to send this trap."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.3"; + } + + leaf trapDestAddress { + type binary; + description + "The address to send traps on behalf of this entry. + + If the associated trapDestProtocol object is equal to ip(1), + the encoding of this object is the same as the snmpUDPAddress + textual convention in [RFC1906]: + -- for a SnmpUDPAddress of length 6: + -- + -- octets contents encoding + -- 1-4 IP-address network-byte order + -- 5-6 UDP-port network-byte order + + If the associated trapDestProtocol object is equal to ipx(2), + the encoding of this object is the same as the snmpIPXAddress + textual convention in [RFC1906]: + -- for a SnmpIPXAddress of length 12: + -- + -- octets contents encoding + -- 1-4 network-number network-byte order + -- 5-10 physical-address network-byte order + -- 11-12 socket-number network-byte order + + This object may not be modified if the associated + + + + + + trapDestStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.4"; + } + + leaf trapDestOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.5"; + } + + leaf trapDestStatus { + type snmpv2-tc:RowStatus; + description + "The status of this trap destination entry. + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.13.1.6"; + } + } + } + + container serialConnectionTable { + description + "A list of serialConnectionEntries."; + smiv2:oid "1.3.6.1.2.1.16.19.14"; + + list serialConnectionEntry { + key "serialConnectIndex"; + description + "Configuration for a SLIP link over a serial line."; + smiv2:oid "1.3.6.1.2.1.16.19.14.1"; + + leaf serialConnectIndex { + type int32 { + range "1..65535"; + } + description + "A value that uniquely identifies this serialConnection + entry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.1"; + } + + leaf serialConnectDestIpAddress { + type inet:ipv4-address; + description + "The IP Address that can be reached at the other end of this + serial connection. + This object may not be modified if the associated + serialConnectStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.2"; + } + + leaf serialConnectType { + type enumeration { + enum "direct" { + value "1"; + } + enum "modem" { + value "2"; + } + enum "switch" { + value "3"; + } + enum "modemSwitch" { + value "4"; + } + } + description + "The type of outgoing connection to make. If this object + has the value direct(1), then a direct serial connection + is assumed. If this object has the value modem(2), + then serialConnectDialString will be used to make a modem + connection. If this object has the value switch(3), + + + + + + then serialConnectSwitchConnectSeq will be used to establish + the connection over a serial data switch, and + serialConnectSwitchDisconnectSeq will be used to terminate + the connection. If this object has the value + modem-switch(4), then a modem connection will be made first + followed by the switch connection. + + This object may not be modified if the associated + serialConnectStatus object is equal to active(1)."; + smiv2:defval "direct"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.3"; + } + + leaf serialConnectDialString { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which specifies how to dial the phone + number in order to establish a modem connection. The + string should include dialing prefix and suffix. For + example: ``^s^MATD9,888-1234^M'' will instruct the Probe + to send a carriage return followed by the dialing prefix + ``ATD'', the phone number ``9,888-1234'', and a carriage + return as the dialing suffix. + This object may not be modified if the associated + serialConnectStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.4"; + } + + leaf serialConnectSwitchConnectSeq { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which specifies how to establish a + data switch connection. + This object may not be modified if the associated + serialConnectStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.5"; + } + + leaf serialConnectSwitchDisconnectSeq { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which specifies how to terminate a + data switch connection. + This object may not be modified if the associated + + + + + + serialConnectStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.6"; + } + + leaf serialConnectSwitchResetSeq { + type RMON2-MIB:ControlString { + length "0..255"; + } + description + "A control string which specifies how to reset a data + switch in the event of a timeout. + This object may not be modified if the associated + serialConnectStatus object is equal to active(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.7"; + } + + leaf serialConnectOwner { + type rmon-mib:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.8"; + } + + leaf serialConnectStatus { + type snmpv2-tc:RowStatus; + description + "The status of this serialConnectionEntry. + + If the manager attempts to set this object to active(1) when + the serialConnectType is set to modem(2) or modem-switch(4) + and the serialConnectDialString is a zero-length string or + cannot be correctly parsed as a ConnectString, the set + request will be rejected with badValue(3). + + If the manager attempts to set this object to active(1) when + the serialConnectType is set to switch(3) or modem-switch(4) + and the serialConnectSwitchConnectSeq, + the serialConnectSwitchDisconnectSeq, or + the serialConnectSwitchResetSeq are zero-length strings + or cannot be correctly parsed as ConnectStrings, the set + request will be rejected with badValue(3). + + An entry may not exist in the active state unless all + objects in the entry have an appropriate value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.19.14.1.9"; + } + } + } + } + + smiv2:alias "etherStats2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.4"; + } + + smiv2:alias "etherStats2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.4.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:etherStatsTable/rmon-mib:etherStatsEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.4.1"; + + leaf etherStatsDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + + + + + + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.4.1.1"; + } + + leaf etherStatsCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last + activated. This can be used by the management station to + ensure that the table has not been deleted and recreated + between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.4.1.2"; + } + } + + smiv2:alias "tokenRingMLStats2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.5"; + } + + smiv2:alias "tokenRingMLStats2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.5.1"; + } + + augment "/token-ring:TOKEN-RING-RMON-MIB/token-ring:tokenRingMLStatsTable/token-ring:tokenRingMLStatsEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.5.1"; + + leaf tokenRingMLStatsDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.5.1.1"; + } + + leaf tokenRingMLStatsCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last activated. + This can be used by the management station to ensure that the + table has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.5.1.2"; + } + } + + smiv2:alias "tokenRingPStats2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.6"; + } + + smiv2:alias "tokenRingPStats2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.6.1"; + } + + augment "/token-ring:TOKEN-RING-RMON-MIB/token-ring:tokenRingPStatsTable/token-ring:tokenRingPStatsEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.1.6.1"; + + leaf tokenRingPStatsDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.6.1.1"; + } + + leaf tokenRingPStatsCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last activated. + This can be used by the management station to ensure that the + table has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.6.1.2"; + } + } + + smiv2:alias "historyControl2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.2.5"; + } + + smiv2:alias "historyControl2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.2.5.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:historyControlTable/rmon-mib:historyControlEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.2.5.1"; + + leaf historyControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + + + + + + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.5.1.1"; + } + } + + smiv2:alias "hostControl2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.4.4"; + } + + smiv2:alias "hostControl2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.4.4.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:hostControlTable/rmon-mib:hostControlEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.4.4.1"; + + leaf hostControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.4.1.1"; + } + + leaf hostControlCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last + activated. This can be used by the management station to + ensure that the table has not been deleted and recreated + between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.4.4.1.2"; + } + } + + smiv2:alias "matrixControl2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.6.4"; + } + + smiv2:alias "matrixControl2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.6.4.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:matrixControlTable/rmon-mib:matrixControlEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.6.4.1"; + + leaf matrixControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + + + + + + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.4.1.1"; + } + + leaf matrixControlCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last + activated. This can be used by the management station to + ensure that the table has not been deleted and recreated + between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.6.4.1.2"; + } + } + + smiv2:alias "channel2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.7.3"; + } + + smiv2:alias "channel2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.7.3.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:channelTable/rmon-mib:channelEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.7.3.1"; + + leaf channelDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + + + + + + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.7.3.1.1"; + } + + leaf channelCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last + activated. This can be used by the management station to + ensure that the table has not been deleted and recreated + between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.7.3.1.2"; + } + } + + smiv2:alias "filter2Table" { + description + "Provides a variable-length packet filter feature to the + RMON-1 filter table."; + smiv2:oid "1.3.6.1.2.1.16.7.4"; + } + + smiv2:alias "filter2Entry" { + description + "Provides a variable-length packet filter feature to the + RMON-1 filter table."; + smiv2:oid "1.3.6.1.2.1.16.7.4.1"; + } + + augment "/rmon-mib:RMON-MIB/rmon-mib:filterTable/rmon-mib:filterEntry" { + description + "Provides a variable-length packet filter feature to the + RMON-1 filter table."; + smiv2:oid "1.3.6.1.2.1.16.7.4.1"; + + leaf filterProtocolDirDataLocalIndex { + type int32 { + range "0..2147483647"; + } + description + "When this object is set to a non-zero value, the filter that + it is associated with performs the following operations on + every packet: + + 1) - If the packet doesn't match the protocol directory entry + identified by this object, discard the packet and exit + (i.e., discard the packet if it is not of the identified + protocol). + 2) - If the associated filterProtocolDirLocalIndex is non-zero + and the packet doesn't match the protocol directory + entry identified by that object, discard the packet and + exit + 3) - If the packet matches, perform the regular filter + algorithm as if the beginning of this named protocol is + the beginning of the packet, potentially applying the + filterOffset value to move further into the packet."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.4.1.1"; + } + + leaf filterProtocolDirLocalIndex { + type int32 { + range "0..2147483647"; + } + description + "When this object is set to a non-zero value, the filter that + it is associated with will discard the packet if the packet + doesn't match this protocol directory entry."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.7.4.1.2"; + } + } + + smiv2:alias "ringStationControl2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.7"; + } + + smiv2:alias "ringStationControl2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.7.1"; + } + + augment "/token-ring:TOKEN-RING-RMON-MIB/token-ring:ringStationControlTable/token-ring:ringStationControlEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.7.1"; + + leaf ringStationControlDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.7.1.1"; + } + + leaf ringStationControlCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last activated. + This can be used by the management station to ensure that the + table has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.7.1.2"; + } + } + + smiv2:alias "sourceRoutingStats2Table" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.8"; + } + + smiv2:alias "sourceRoutingStats2Entry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.8.1"; + } + + augment "/token-ring:TOKEN-RING-RMON-MIB/token-ring:sourceRoutingStatsTable/token-ring:sourceRoutingStatsEntry" { + description + "Contains the RMON-2 augmentations to RMON-1."; + smiv2:oid "1.3.6.1.2.1.16.10.8.1"; + + leaf sourceRoutingStatsDroppedFrames { + type yang:counter32; + description + "The total number of frames which were received by the probe + and therefore not accounted for in the *StatsDropEvents, but + for which the probe chose not to count for this entry for + whatever reason. Most often, this event occurs when the probe + is out of some resources and decides to shed load from this + collection. + + This count does not include packets that were not counted + because they had MAC-layer errors. + + Note that, unlike the dropEvents counter, this number is the + exact number of frames dropped."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.8.1.1"; + } + + leaf sourceRoutingStatsCreateTime { + type RMON2-MIB:LastCreateTime; + description + "The value of sysUpTime when this control entry was last activated. + This can be used by the management station to ensure that the + table has not been deleted and recreated between polls."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.8.1.2"; + } + } + + smiv2:alias "rmon" { + smiv2:oid "1.3.6.1.2.1.16"; + } + + smiv2:alias "protocolDir" { + smiv2:oid "1.3.6.1.2.1.16.11"; + } + + smiv2:alias "protocolDist" { + smiv2:oid "1.3.6.1.2.1.16.12"; + } + + smiv2:alias "addressMap" { + smiv2:oid "1.3.6.1.2.1.16.13"; + } + + smiv2:alias "nlHost" { + smiv2:oid "1.3.6.1.2.1.16.14"; + } + + smiv2:alias "nlMatrix" { + smiv2:oid "1.3.6.1.2.1.16.15"; + } + + smiv2:alias "alHost" { + smiv2:oid "1.3.6.1.2.1.16.16"; + } + + smiv2:alias "alMatrix" { + smiv2:oid "1.3.6.1.2.1.16.17"; + } + + smiv2:alias "usrHistory" { + smiv2:oid "1.3.6.1.2.1.16.18"; + } + + smiv2:alias "probeConfig" { + smiv2:oid "1.3.6.1.2.1.16.19"; + } + + smiv2:alias "rmonConformance" { + smiv2:oid "1.3.6.1.2.1.16.20"; + } + + smiv2:alias "rmon2MIBCompliances" { + smiv2:oid "1.3.6.1.2.1.16.20.1"; + } + + smiv2:alias "rmon2MIBGroups" { + smiv2:oid "1.3.6.1.2.1.16.20.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/RSVP-MIB.yang b/vendor/cisco/xe/17151/MIBS/RSVP-MIB.yang new file mode 100644 index 000000000..a4177cce7 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/RSVP-MIB.yang @@ -0,0 +1,2228 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/RSVP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang RSVP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module RSVP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB"; + prefix RSVP-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import INTEGRATED-SERVICES-MIB { + prefix "integrated-services"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF RSVP Working Group"; + + contact + " Fred Baker + Postal: Cisco Systems + 519 Lado Drive + Santa Barbara, California 93111 + Tel: +1 805 681 0115 + E-Mail: fred@cisco.com + + John Krawczyk + Postal: ArrowPoint Communications + 235 Littleton Road + Westford, Massachusetts 01886 + Tel: +1 508 692 5875 + E-Mail: jjk@tiac.net + + Arun Sastry + Postal: Cisco Systems + 3 The Square + Stockley Park, Uxbridge + Middlesex, UB11 1BN + UK + Tel: +44 181 756 8693 + E-Mail: arun@cisco.com"; + + description + "The MIB module to describe the RSVP Protocol"; + + revision 1998-08-25 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + typedef RsvpEncapsulation { + type enumeration { + enum "ip" { + value "1"; + } + enum "udp" { + value "2"; + } + enum "both" { + value "3"; + } + } + description + "This indicates the encapsulation that an RSVP + Neighbor is perceived to be using."; + } + + typedef RefreshInterval { + type int32 { + range "0..2147483647"; + } + description + "The number of milliseconds that are expected + to elapse between refreshes of path or + reservation state. Unrefreshed Path or + reservation state is removed after a small + multiple of this period."; + smiv2:display-hint "d"; + } + + + container RSVP-MIB { + config false; + + container rsvpGenObjects { + smiv2:oid "1.3.6.1.2.1.51.2"; + + leaf rsvpBadPackets { + type yang:gauge32; + description + "This object keeps a count of the number of bad + RSVP packets received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.2.1"; + } + + leaf rsvpSenderNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + rsvpSenderNumber as described in 'Textual + Conventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + rsvpSenderEntry. If the SET fails with the + code 'inconsistentValue', then the process must + be repeated; If the SET succeeds, then the + object is incremented, and the new instance is + created according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.2.2"; + } + + leaf rsvpResvNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + rsvpResvNumber as described in 'Textual + Conventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + rsvpResvEntry. If the SET fails with the code + 'inconsistentValue', then the process must be + repeated; If the SET succeeds, then the object + is incremented, and the new instance is created + according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.2.3"; + } + + leaf rsvpResvFwdNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + rsvpResvFwdNumber as described in 'Textual + Conventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + rsvpResvFwdEntry. If the SET fails with the + code 'inconsistentValue', then the process must + be repeated; If the SET succeeds, then the + object is incremented, and the new instance is + created according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.2.4"; + } + + leaf rsvpSessionNewIndex { + type snmpv2-tc:TestAndIncr; + description + "This object is used to assign values to + rsvpSessionNumber as described in 'Textual + Conventions for SNMPv2'. The network manager + reads the object, and then writes the value + back in the SET that creates a new instance of + rsvpSessionEntry. If the SET fails with the + code 'inconsistentValue', then the process must + be repeated; If the SET succeeds, then the + object is incremented, and the new instance is + created according to the manager's directions."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.2.5"; + } + } + + container rsvpSessionTable { + description + "A table of all sessions seen by a given + system."; + smiv2:oid "1.3.6.1.2.1.51.1.1"; + + list rsvpSessionEntry { + key "rsvpSessionNumber"; + description + "A single session seen by a given system."; + smiv2:oid "1.3.6.1.2.1.51.1.1.1"; + + leaf rsvpSessionNumber { + type integrated-services:SessionNumber; + description + "The number of this session. This is for SNMP + Indexing purposes only and has no relation to + any protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.1"; + } + + leaf rsvpSessionType { + type integrated-services:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.2"; + } + + leaf rsvpSessionDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is + 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.3"; + } + + leaf rsvpSessionDestAddrLength { + type int32 { + range "0..128"; + } + description + "The CIDR prefix length of the session address, + which is 32 for IP4 host and multicast + addresses, and 128 for IP6 addresses. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.4"; + } + + leaf rsvpSessionProtocol { + type integrated-services:Protocol; + description + "The IP Protocol used by this session. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.5"; + } + + leaf rsvpSessionPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a + destination port for all senders in this + session. If the IP protocol in use, specified + by rsvpSenderProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.6"; + } + + leaf rsvpSessionSenders { + type yang:gauge32; + description + "The number of distinct senders currently known + to be part of this session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.7"; + } + + leaf rsvpSessionReceivers { + type yang:gauge32; + description + "The number of reservations being requested of + this system for this session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.8"; + } + + leaf rsvpSessionRequests { + type yang:gauge32; + description + "The number of reservation requests this system + is sending upstream for this session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.1.1.9"; + } + } + } + + container rsvpSenderTable { + description + "Information describing the state information + displayed by senders in PATH messages."; + smiv2:oid "1.3.6.1.2.1.51.1.2"; + + list rsvpSenderEntry { + key "rsvpSessionNumber rsvpSenderNumber"; + description + "Information describing the state information + displayed by a single sender's PATH message."; + smiv2:oid "1.3.6.1.2.1.51.1.2.1"; + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSenderNumber { + type integrated-services:SessionNumber; + description + "The number of this sender. This is for SNMP + Indexing purposes only and has no relation to + any protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.1"; + } + + leaf rsvpSenderType { + type integrated-services:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.2"; + } + + leaf rsvpSenderDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is + 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.3"; + } + + leaf rsvpSenderAddr { + type binary { + length "4..16"; + } + description + "The source address used by this sender in this + session. This object may not be changed when + the value of the RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.4"; + } + + leaf rsvpSenderDestAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the destination address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.5"; + } + + leaf rsvpSenderAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the sender's address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.6"; + } + + leaf rsvpSenderProtocol { + type integrated-services:Protocol; + description + "The IP Protocol used by this session. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.7"; + } + + leaf rsvpSenderDestPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a + destination port for all senders in this + session. If the IP protocol in use, specified + by rsvpSenderProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.8"; + } + + leaf rsvpSenderPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a source + port for this sender in this session. If the + IP protocol in use, specified by + rsvpSenderProtocol is 50 (ESP) or 51 (AH), this + represents a generalized port identifier (GPI). + A value of zero indicates that the IP protocol + in use does not have ports. This object may + not be changed when the value of the RowStatus + object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.9"; + } + + leaf rsvpSenderFlowId { + type int32 { + range "0..16777215"; + } + description + "The flow ID that this sender is using, if + this is an IPv6 session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.10"; + } + + leaf rsvpSenderHopAddr { + type binary { + length "4..16"; + } + description + "The address used by the previous RSVP hop + (which may be the original sender)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.11"; + } + + leaf rsvpSenderHopLih { + type int32; + description + "The Logical Interface Handle used by the + previous RSVP hop (which may be the original + sender)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.12"; + } + + leaf rsvpSenderInterface { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface on which + this PATH message was most recently received."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.13"; + } + + leaf rsvpSenderTSpecRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Average Bit Rate of the sender's data + stream. Within a transmission burst, the + arrival rate may be as fast as + rsvpSenderTSpecPeakRate (if supported by the + service model); however, averaged across two or + more burst intervals, the rate should not + exceed rsvpSenderTSpecRate. + + Note that this is a prediction, often based on + the general capability of a type of codec or + particular encoding; the measured average rate + may be significantly lower."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.14"; + } + + leaf rsvpSenderTSpecPeakRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Peak Bit Rate of the sender's data stream. + Traffic arrival is not expected to exceed this + rate at any time, apart from the effects of + jitter in the network. If not specified in the + TSpec, this returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.15"; + } + + leaf rsvpSenderTSpecBurst { + type integrated-services:BurstSize; + units "bytes"; + description + "The size of the largest burst expected from + the sender at a time."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.16"; + } + + leaf rsvpSenderTSpecMinTU { + type integrated-services:MessageSize; + description + "The minimum message size for this flow. The + policing algorithm will treat smaller messages + as though they are this size."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.17"; + } + + leaf rsvpSenderTSpecMaxTU { + type integrated-services:MessageSize; + description + "The maximum message size for this flow. The + admission algorithm will reject TSpecs whose + Maximum Transmission Unit, plus the interface + headers, exceed the interface MTU."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.18"; + } + + leaf rsvpSenderInterval { + type RSVP-MIB:RefreshInterval; + description + "The interval between refresh messages as + advertised by the Previous Hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.19"; + } + + leaf rsvpSenderRSVPHop { + type boolean; + description + "If TRUE, the node believes that the previous + IP hop is an RSVP hop. If FALSE, the node + believes that the previous IP hop may not be an + RSVP hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.20"; + } + + leaf rsvpSenderLastChange { + type yang:timestamp; + description + "The time of the last change in this PATH + message; This is either the first time it was + received or the time of the most recent change + in parameters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.21"; + } + + leaf rsvpSenderPolicy { + type binary { + length "4..65536"; + } + description + "The contents of the policy object, displayed + as an uninterpreted string of octets, including + the object header. In the absence of such an + object, this should be of zero length."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.22"; + } + + leaf rsvpSenderAdspecBreak { + type boolean; + description + "The global break bit general characterization + parameter from the ADSPEC. If TRUE, at least + one non-IS hop was detected in the path. If + FALSE, no non-IS hops were detected."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.23"; + } + + leaf rsvpSenderAdspecHopCount { + type int32 { + range "0..65535"; + } + description + "The hop count general characterization + parameter from the ADSPEC. A return of zero or + noSuchValue indicates one of the following + conditions: + + the invalid bit was set + the parameter was not present"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.24"; + } + + leaf rsvpSenderAdspecPathBw { + type integrated-services:BitRate; + units "bits per second"; + description + "The path bandwidth estimate general + characterization parameter from the ADSPEC. A + return of zero or noSuchValue indicates one of + the following conditions: + + the invalid bit was set + the parameter was not present"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.25"; + } + + leaf rsvpSenderAdspecMinLatency { + type int32; + units "microseconds"; + description + "The minimum path latency general + characterization parameter from the ADSPEC. A + return of zero or noSuchValue indicates one of + the following conditions: + + the invalid bit was set + the parameter was not present"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.26"; + } + + leaf rsvpSenderAdspecMtu { + type int32 { + range "0..65535"; + } + units "bytes"; + description + "The composed Maximum Transmission Unit general + characterization parameter from the ADSPEC. A + return of zero or noSuchValue indicates one of + the following conditions: + + the invalid bit was set + the parameter was not present"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.27"; + } + + leaf rsvpSenderAdspecGuaranteedSvc { + type boolean; + description + "If TRUE, the ADSPEC contains a Guaranteed + Service fragment. If FALSE, the ADSPEC does + not contain a Guaranteed Service fragment."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.28"; + } + + leaf rsvpSenderAdspecGuaranteedBreak { + type boolean; + description + "If TRUE, the Guaranteed Service fragment has + its 'break' bit set, indicating that one or + more nodes along the path do not support the + guaranteed service. If FALSE, and + rsvpSenderAdspecGuaranteedSvc is TRUE, the + 'break' bit is not set. + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns FALSE or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.29"; + } + + leaf rsvpSenderAdspecGuaranteedCtot { + type int32; + units "bytes"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the end-to-end composed value for the + guaranteed service 'C' parameter. A return of + zero or noSuchValue indicates one of the + following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.30"; + } + + leaf rsvpSenderAdspecGuaranteedDtot { + type int32; + units "microseconds"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the end-to-end composed value for the + guaranteed service 'D' parameter. A return of + zero or noSuchValue indicates one of the + following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.31"; + } + + leaf rsvpSenderAdspecGuaranteedCsum { + type int32; + units "bytes"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the composed value for the guaranteed + service 'C' parameter since the last reshaping + point. A return of zero or noSuchValue + indicates one of the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.32"; + } + + leaf rsvpSenderAdspecGuaranteedDsum { + type int32; + units "microseconds"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the composed value for the guaranteed + service 'D' parameter since the last reshaping + point. A return of zero or noSuchValue + indicates one of the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.33"; + } + + leaf rsvpSenderAdspecGuaranteedHopCount { + type int32 { + range "0..65535"; + } + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the service-specific override of the hop + count general characterization parameter from + the ADSPEC. A return of zero or noSuchValue + indicates one of the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.34"; + } + + leaf rsvpSenderAdspecGuaranteedPathBw { + type integrated-services:BitRate; + units "bits per second"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the service-specific override of the path + bandwidth estimate general characterization + parameter from the ADSPEC. A return of zero or + noSuchValue indicates one of the following + conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.35"; + } + + leaf rsvpSenderAdspecGuaranteedMinLatency { + type int32; + units "microseconds"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the service-specific override of the minimum + path latency general characterization parameter + from the ADSPEC. A return of zero or + noSuchValue indicates one of the following + conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.36"; + } + + leaf rsvpSenderAdspecGuaranteedMtu { + type int32 { + range "0..65535"; + } + units "bytes"; + description + "If rsvpSenderAdspecGuaranteedSvc is TRUE, this + is the service-specific override of the + composed Maximum Transmission Unit general + characterization parameter from the ADSPEC. A + return of zero or noSuchValue indicates one of + the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecGuaranteedSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.37"; + } + + leaf rsvpSenderAdspecCtrlLoadSvc { + type boolean; + description + "If TRUE, the ADSPEC contains a Controlled Load + Service fragment. If FALSE, the ADSPEC does + not contain a Controlled Load Service + fragment."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.38"; + } + + leaf rsvpSenderAdspecCtrlLoadBreak { + type boolean; + description + "If TRUE, the Controlled Load Service fragment + has its 'break' bit set, indicating that one or + more nodes along the path do not support the + controlled load service. If FALSE, and + rsvpSenderAdspecCtrlLoadSvc is TRUE, the + 'break' bit is not set. + + If rsvpSenderAdspecCtrlLoadSvc is FALSE, this + returns FALSE or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.39"; + } + + leaf rsvpSenderAdspecCtrlLoadHopCount { + type int32 { + range "0..65535"; + } + description + "If rsvpSenderAdspecCtrlLoadSvc is TRUE, this + is the service-specific override of the hop + count general characterization parameter from + the ADSPEC. A return of zero or noSuchValue + indicates one of the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecCtrlLoadSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.40"; + } + + leaf rsvpSenderAdspecCtrlLoadPathBw { + type integrated-services:BitRate; + units "bits per second"; + description + "If rsvpSenderAdspecCtrlLoadSvc is TRUE, this + is the service-specific override of the path + bandwidth estimate general characterization + parameter from the ADSPEC. A return of zero or + noSuchValue indicates one of the following + conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecCtrlLoadSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.41"; + } + + leaf rsvpSenderAdspecCtrlLoadMinLatency { + type int32; + units "microseconds"; + description + "If rsvpSenderAdspecCtrlLoadSvc is TRUE, this + is the service-specific override of the minimum + path latency general characterization parameter + from the ADSPEC. A return of zero or + noSuchValue indicates one of the following + conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecCtrlLoadSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.42"; + } + + leaf rsvpSenderAdspecCtrlLoadMtu { + type int32 { + range "0..65535"; + } + units "bytes"; + description + "If rsvpSenderAdspecCtrlLoadSvc is TRUE, this + is the service-specific override of the + composed Maximum Transmission Unit general + characterization parameter from the ADSPEC. A + return of zero or noSuchValue indicates one of + the following conditions: + + the invalid bit was set + the parameter was not present + + If rsvpSenderAdspecCtrlLoadSvc is FALSE, this + returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.43"; + } + + leaf rsvpSenderStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active PATH messages. This + object may be used to install static PATH + information or delete PATH information."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.44"; + } + + leaf rsvpSenderTTL { + type int32 { + range "0..255"; + } + description + "The TTL value in the RSVP header that was last + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.2.1.45"; + } + } + } + + container rsvpSenderOutInterfaceTable { + description + "List of outgoing interfaces that PATH messages + use. The ifIndex is the ifIndex value of the + egress interface."; + smiv2:oid "1.3.6.1.2.1.51.1.3"; + + list rsvpSenderOutInterfaceEntry { + key "rsvpSessionNumber rsvpSenderNumber ifIndex"; + description + "List of outgoing interfaces that a particular + PATH message has."; + smiv2:oid "1.3.6.1.2.1.51.1.3.1"; + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSenderNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSenderTable/RSVP-MIB:rsvpSenderEntry/RSVP-MIB:rsvpSenderNumber"; + } + } + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf rsvpSenderOutInterfaceStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active PATH messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.3.1.1"; + } + } + } + + container rsvpResvTable { + description + "Information describing the state information + displayed by receivers in RESV messages."; + smiv2:oid "1.3.6.1.2.1.51.1.4"; + + list rsvpResvEntry { + key "rsvpSessionNumber rsvpResvNumber"; + description + "Information describing the state information + displayed by a single receiver's RESV message + concerning a single sender."; + smiv2:oid "1.3.6.1.2.1.51.1.4.1"; + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvNumber { + type integrated-services:SessionNumber; + description + "The number of this reservation request. This + is for SNMP Indexing purposes only and has no + relation to any protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.1"; + } + + leaf rsvpResvType { + type integrated-services:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.2"; + } + + leaf rsvpResvDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is + 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.3"; + } + + leaf rsvpResvSenderAddr { + type binary { + length "4..16"; + } + description + "The source address of the sender selected by + this reservation. The value of all zeroes + indicates 'all senders'. This object may not + be changed when the value of the RowStatus + object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.4"; + } + + leaf rsvpResvDestAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the destination address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.5"; + } + + leaf rsvpResvSenderAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the sender's address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.6"; + } + + leaf rsvpResvProtocol { + type integrated-services:Protocol; + description + "The IP Protocol used by this session. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.7"; + } + + leaf rsvpResvDestPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a + destination port for all senders in this + session. If the IP protocol in use, specified + by rsvpResvProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.8"; + } + + leaf rsvpResvPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a source + port for this sender in this session. If the + IP protocol in use, specified by + rsvpResvProtocol is 50 (ESP) or 51 (AH), this + represents a generalized port identifier (GPI). + A value of zero indicates that the IP protocol + in use does not have ports. This object may + not be changed when the value of the RowStatus + object is 'active'."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.9"; + } + + leaf rsvpResvHopAddr { + type binary { + length "4..16"; + } + description + "The address used by the next RSVP hop (which + may be the ultimate receiver)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.10"; + } + + leaf rsvpResvHopLih { + type int32; + description + "The Logical Interface Handle received from the + previous RSVP hop (which may be the ultimate + receiver)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.11"; + } + + leaf rsvpResvInterface { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface on which + this RESV message was most recently received."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.12"; + } + + leaf rsvpResvService { + type integrated-services:QosService; + description + "The QoS Service classification requested by + the receiver."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.13"; + } + + leaf rsvpResvTSpecRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Average Bit Rate of the sender's data + stream. Within a transmission burst, the + arrival rate may be as fast as + rsvpResvTSpecPeakRate (if supported by the + service model); however, averaged across two or + more burst intervals, the rate should not + exceed rsvpResvTSpecRate. + + Note that this is a prediction, often based on + the general capability of a type of codec or + particular encoding; the measured average rate + may be significantly lower."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.14"; + } + + leaf rsvpResvTSpecPeakRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Peak Bit Rate of the sender's data stream. + Traffic arrival is not expected to exceed this + rate at any time, apart from the effects of + jitter in the network. If not specified in the + TSpec, this returns zero or noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.15"; + } + + leaf rsvpResvTSpecBurst { + type integrated-services:BurstSize; + units "bytes"; + description + "The size of the largest burst expected from + the sender at a time. + + If this is less than the sender's advertised + burst size, the receiver is asking the network + to provide flow pacing beyond what would be + provided under normal circumstances. Such + pacing is at the network's option."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.16"; + } + + leaf rsvpResvTSpecMinTU { + type integrated-services:MessageSize; + description + "The minimum message size for this flow. The + policing algorithm will treat smaller messages + as though they are this size."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.17"; + } + + leaf rsvpResvTSpecMaxTU { + type integrated-services:MessageSize; + description + "The maximum message size for this flow. The + admission algorithm will reject TSpecs whose + Maximum Transmission Unit, plus the interface + headers, exceed the interface MTU."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.18"; + } + + leaf rsvpResvRSpecRate { + type integrated-services:BitRate; + units "bits per second"; + description + "If the requested service is Guaranteed, as + specified by rsvpResvService, this is the + clearing rate that is being requested. + Otherwise, it is zero, or the agent may return + noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.19"; + } + + leaf rsvpResvRSpecSlack { + type int32; + units "microseconds"; + description + "If the requested service is Guaranteed, as + specified by rsvpResvService, this is the delay + slack. Otherwise, it is zero, or the agent may + return noSuchValue."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.20"; + } + + leaf rsvpResvInterval { + type RSVP-MIB:RefreshInterval; + description + "The interval between refresh messages as + advertised by the Next Hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.21"; + } + + leaf rsvpResvScope { + type binary { + length "0..65536"; + } + description + "The contents of the scope object, displayed as + an uninterpreted string of octets, including + the object header. In the absence of such an + object, this should be of zero length. + + If the length is non-zero, this contains a + series of IP4 or IP6 addresses."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.22"; + } + + leaf rsvpResvShared { + type boolean; + description + "If TRUE, a reservation shared among senders is + requested. If FALSE, a reservation specific to + this sender is requested."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.23"; + } + + leaf rsvpResvExplicit { + type boolean; + description + "If TRUE, individual senders are listed using + Filter Specifications. If FALSE, all senders + are implicitly selected. The Scope Object will + contain a list of senders that need to receive + this reservation request for the purpose of + routing the RESV message."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.24"; + } + + leaf rsvpResvRSVPHop { + type boolean; + description + "If TRUE, the node believes that the previous + IP hop is an RSVP hop. If FALSE, the node + believes that the previous IP hop may not be an + RSVP hop."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.25"; + } + + leaf rsvpResvLastChange { + type yang:timestamp; + description + "The time of the last change in this + reservation request; This is either the first + time it was received or the time of the most + recent change in parameters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.26"; + } + + leaf rsvpResvPolicy { + type binary { + length "0..65536"; + } + description + "The contents of the policy object, displayed + as an uninterpreted string of octets, including + the object header. In the absence of such an + object, this should be of zero length."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.27"; + } + + leaf rsvpResvStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active RESV messages. This + object may be used to install static RESV + information or delete RESV information."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.28"; + } + + leaf rsvpResvTTL { + type int32 { + range "0..255"; + } + description + "The TTL value in the RSVP header that was last + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.29"; + } + + leaf rsvpResvFlowId { + type int32 { + range "0..16777215"; + } + description + "The flow ID that this receiver is using, if + this is an IPv6 session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.4.1.30"; + } + } + } + + container rsvpResvFwdTable { + description + "Information describing the state information + displayed upstream in RESV messages."; + smiv2:oid "1.3.6.1.2.1.51.1.5"; + + list rsvpResvFwdEntry { + key "rsvpSessionNumber rsvpResvFwdNumber"; + description + "Information describing the state information + displayed upstream in an RESV message + concerning a single sender."; + smiv2:oid "1.3.6.1.2.1.51.1.5.1"; + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvFwdNumber { + type integrated-services:SessionNumber; + description + "The number of this reservation request. This + is for SNMP Indexing purposes only and has no + relation to any protocol value."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.1"; + } + + leaf rsvpResvFwdType { + type integrated-services:SessionType; + description + "The type of session (IP4, IP6, IP6 with flow + information, etc)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.2"; + } + + leaf rsvpResvFwdDestAddr { + type binary { + length "4..16"; + } + description + "The destination address used by all senders in + this session. This object may not be changed + when the value of the RowStatus object is + 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.3"; + } + + leaf rsvpResvFwdSenderAddr { + type binary { + length "4..16"; + } + description + "The source address of the sender selected by + this reservation. The value of all zeroes + indicates 'all senders'. This object may not + be changed when the value of the RowStatus + object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.4"; + } + + leaf rsvpResvFwdDestAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the destination address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.5"; + } + + leaf rsvpResvFwdSenderAddrLength { + type int32 { + range "0..128"; + } + description + "The length of the sender's address in bits. + This is the CIDR Prefix Length, which for IP4 + hosts and multicast addresses is 32 bits. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.6"; + } + + leaf rsvpResvFwdProtocol { + type integrated-services:Protocol; + description + "The IP Protocol used by a session. for secure + sessions, this indicates IP Security. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.7"; + } + + leaf rsvpResvFwdDestPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a + destination port for all senders in this + session. If the IP protocol in use, specified + by rsvpResvFwdProtocol, is 50 (ESP) or 51 (AH), + this represents a virtual destination port + number. A value of zero indicates that the IP + protocol in use does not have ports. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.8"; + } + + leaf rsvpResvFwdPort { + type integrated-services:Port; + description + "The UDP or TCP port number used as a source + port for this sender in this session. If the + IP protocol in use, specified by + rsvpResvFwdProtocol is 50 (ESP) or 51 (AH), + this represents a generalized port identifier + (GPI). A value of zero indicates that the IP + protocol in use does not have ports. This + object may not be changed when the value of the + RowStatus object is 'active'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.9"; + } + + leaf rsvpResvFwdHopAddr { + type binary { + length "4..16"; + } + description + "The address of the (previous) RSVP that will + receive this message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.10"; + } + + leaf rsvpResvFwdHopLih { + type int32; + description + "The Logical Interface Handle sent to the + (previous) RSVP that will receive this + message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.11"; + } + + leaf rsvpResvFwdInterface { + type if-mib:InterfaceIndex; + description + "The ifIndex value of the interface on which + this RESV message was most recently sent."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.12"; + } + + leaf rsvpResvFwdService { + type integrated-services:QosService; + description + "The QoS Service classification requested."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.13"; + } + + leaf rsvpResvFwdTSpecRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Average Bit Rate of the sender's data + stream. Within a transmission burst, the + arrival rate may be as fast as + rsvpResvFwdTSpecPeakRate (if supported by the + service model); however, averaged across two or + more burst intervals, the rate should not + exceed rsvpResvFwdTSpecRate. + + Note that this is a prediction, often based on + the general capability of a type of codec or + particular encoding; the measured average rate + may be significantly lower."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.14"; + } + + leaf rsvpResvFwdTSpecPeakRate { + type integrated-services:BitRate; + units "bits per second"; + description + "The Peak Bit Rate of the sender's data stream + Traffic arrival is not expected to exceed this + rate at any time, apart from the effects of + jitter in the network. If not specified in the + TSpec, this returns zero or noSuchValue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.15"; + } + + leaf rsvpResvFwdTSpecBurst { + type integrated-services:BurstSize; + units "bytes"; + description + "The size of the largest burst expected from + the sender at a time. + + If this is less than the sender's advertised + burst size, the receiver is asking the network + to provide flow pacing beyond what would be + provided under normal circumstances. Such + pacing is at the network's option."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.16"; + } + + leaf rsvpResvFwdTSpecMinTU { + type integrated-services:MessageSize; + description + "The minimum message size for this flow. The + policing algorithm will treat smaller messages + as though they are this size."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.17"; + } + + leaf rsvpResvFwdTSpecMaxTU { + type integrated-services:MessageSize; + description + "The maximum message size for this flow. The + admission algorithm will reject TSpecs whose + Maximum Transmission Unit, plus the interface + headers, exceed the interface MTU."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.18"; + } + + leaf rsvpResvFwdRSpecRate { + type integrated-services:BitRate; + units "bytes per second"; + description + "If the requested service is Guaranteed, as + specified by rsvpResvService, this is the + clearing rate that is being requested. + Otherwise, it is zero, or the agent may return + noSuchValue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.19"; + } + + leaf rsvpResvFwdRSpecSlack { + type int32; + units "microseconds"; + description + "If the requested service is Guaranteed, as + specified by rsvpResvService, this is the delay + slack. Otherwise, it is zero, or the agent may + return noSuchValue."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.20"; + } + + leaf rsvpResvFwdInterval { + type RSVP-MIB:RefreshInterval; + description + "The interval between refresh messages + advertised to the Previous Hop."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.21"; + } + + leaf rsvpResvFwdScope { + type binary { + length "0..65536"; + } + description + "The contents of the scope object, displayed as + an uninterpreted string of octets, including + the object header. In the absence of such an + object, this should be of zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.22"; + } + + leaf rsvpResvFwdShared { + type boolean; + description + "If TRUE, a reservation shared among senders is + requested. If FALSE, a reservation specific to + this sender is requested."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.23"; + } + + leaf rsvpResvFwdExplicit { + type boolean; + description + "If TRUE, individual senders are listed using + Filter Specifications. If FALSE, all senders + are implicitly selected. The Scope Object will + contain a list of senders that need to receive + this reservation request for the purpose of + routing the RESV message."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.24"; + } + + leaf rsvpResvFwdRSVPHop { + type boolean; + description + "If TRUE, the node believes that the next IP + hop is an RSVP hop. If FALSE, the node + believes that the next IP hop may not be an + RSVP hop."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.25"; + } + + leaf rsvpResvFwdLastChange { + type yang:timestamp; + description + "The time of the last change in this request; + This is either the first time it was sent or + the time of the most recent change in + parameters."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.26"; + } + + leaf rsvpResvFwdPolicy { + type binary { + length "0..65536"; + } + description + "The contents of the policy object, displayed + as an uninterpreted string of octets, including + the object header. In the absence of such an + object, this should be of zero length."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.27"; + } + + leaf rsvpResvFwdStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all active RESV messages. This + object may be used to delete RESV information."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.28"; + } + + leaf rsvpResvFwdTTL { + type int32 { + range "0..255"; + } + description + "The TTL value in the RSVP header that was last + received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.29"; + } + + leaf rsvpResvFwdFlowId { + type int32 { + range "0..16777215"; + } + description + "The flow ID that this receiver is using, if + this is an IPv6 session."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.5.1.30"; + } + } + } + + container rsvpIfTable { + description + "The RSVP-specific attributes of the system's + interfaces."; + smiv2:oid "1.3.6.1.2.1.51.1.6"; + + list rsvpIfEntry { + key "ifIndex"; + description + "The RSVP-specific attributes of the a given + interface."; + smiv2:oid "1.3.6.1.2.1.51.1.6.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf rsvpIfUdpNbrs { + type yang:gauge32; + description + "The number of neighbors perceived to be using + only the RSVP UDP Encapsulation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.1"; + } + + leaf rsvpIfIpNbrs { + type yang:gauge32; + description + "The number of neighbors perceived to be using + only the RSVP IP Encapsulation."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.2"; + } + + leaf rsvpIfNbrs { + type yang:gauge32; + description + "The number of neighbors currently perceived; + this will exceed rsvpIfIpNbrs + rsvpIfUdpNbrs + by the number of neighbors using both + encapsulations."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.3"; + } + + leaf rsvpIfRefreshBlockadeMultiple { + type int32 { + range "1..65536"; + } + description + "The value of the RSVP value 'Kb', Which is the + minimum number of refresh intervals that + blockade state will last once entered."; + smiv2:defval "4"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.4"; + } + + leaf rsvpIfRefreshMultiple { + type int32 { + range "1..65536"; + } + description + "The value of the RSVP value 'K', which is the + number of refresh intervals which must elapse + (minimum) before a PATH or RESV message which + is not being refreshed will be aged out."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.5"; + } + + leaf rsvpIfTTL { + type int32 { + range "0..255"; + } + description + "The value of SEND_TTL used on this interface + for messages this node originates. If set to + zero, the node determines the TTL via other + means."; + smiv2:defval "0"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.6"; + } + + leaf rsvpIfRefreshInterval { + type snmpv2-tc:TimeInterval; + units "milliseconds"; + description + "The value of the RSVP value 'R', which is the + minimum period between refresh transmissions of + a given PATH or RESV message on an interface."; + smiv2:defval "3000"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.7"; + } + + leaf rsvpIfRouteDelay { + type snmpv2-tc:TimeInterval; + units "hundredths of a second"; + description + "The approximate period from the time a route + is changed to the time a resulting message + appears on the interface."; + smiv2:defval "200"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.8"; + } + + leaf rsvpIfEnabled { + type boolean; + description + "If TRUE, RSVP is enabled on this Interface. + If FALSE, RSVP is not enabled on this + interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.9"; + } + + leaf rsvpIfUdpRequired { + type boolean; + description + "If TRUE, manual configuration forces the use + of UDP encapsulation on the interface. If + FALSE, UDP encapsulation is only used if + rsvpIfUdpNbrs is not zero."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.10"; + } + + leaf rsvpIfStatus { + type snmpv2-tc:RowStatus; + description + "'active' on interfaces that are configured for + RSVP."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.6.1.11"; + } + } + } + + container rsvpNbrTable { + description + "Information describing the Neighbors of an + RSVP system."; + smiv2:oid "1.3.6.1.2.1.51.1.7"; + + list rsvpNbrEntry { + key "ifIndex rsvpNbrAddress"; + description + "Information describing a single RSVP + Neighbor."; + smiv2:oid "1.3.6.1.2.1.51.1.7.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf rsvpNbrAddress { + type binary { + length "4..16"; + } + description + "The IP4 or IP6 Address used by this neighbor. + This object may not be changed when the value + of the RowStatus object is 'active'."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.51.1.7.1.1"; + } + + leaf rsvpNbrProtocol { + type RSVP-MIB:RsvpEncapsulation; + description + "The encapsulation being used by this + neighbor."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.7.1.2"; + } + + leaf rsvpNbrStatus { + type snmpv2-tc:RowStatus; + description + "'active' for all neighbors. This object may + be used to configure neighbors. In the + presence of configured neighbors, the + implementation may (but is not required to) + limit the set of valid neighbors to those + configured."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.51.1.7.1.3"; + } + } + } + } + + notification newFlow { + description + "The newFlow trap indicates that the + originating system has installed a new flow in + its classifier, or (when reservation + authorization is in view) is prepared to + install such a flow in the classifier and is + requesting authorization. The objects included + with the Notification may be used to read + further information using the Integrated + Services and RSVP MIBs. Authorization or non- + authorization may be enacted by a write to the + variable intSrvFlowStatus."; + smiv2:oid "1.3.6.1.2.1.51.3.0.1"; + + container object-1 { + + leaf intSrvFlowNumber { + type leafref { + path "/integrated-services:INTEGRATED-SERVICES-MIB/integrated-services:intSrvFlowTable/integrated-services:intSrvFlowEntry/integrated-services:intSrvFlowNumber"; + } + } + + leaf intSrvFlowStatus { + type leafref { + path "/integrated-services:INTEGRATED-SERVICES-MIB/integrated-services:intSrvFlowTable/integrated-services:intSrvFlowEntry/integrated-services:intSrvFlowStatus"; + } + } + } + + container object-2 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSessionDestAddr { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionDestAddr"; + } + } + } + + container object-3 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvFwdNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvFwdTable/RSVP-MIB:rsvpResvFwdEntry/RSVP-MIB:rsvpResvFwdNumber"; + } + } + + leaf rsvpResvFwdStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvFwdTable/RSVP-MIB:rsvpResvFwdEntry/RSVP-MIB:rsvpResvFwdStatus"; + } + } + } + + container object-4 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvTable/RSVP-MIB:rsvpResvEntry/RSVP-MIB:rsvpResvNumber"; + } + } + + leaf rsvpResvStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvTable/RSVP-MIB:rsvpResvEntry/RSVP-MIB:rsvpResvStatus"; + } + } + } + + container object-5 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSenderNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSenderTable/RSVP-MIB:rsvpSenderEntry/RSVP-MIB:rsvpSenderNumber"; + } + } + + leaf rsvpSenderStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSenderTable/RSVP-MIB:rsvpSenderEntry/RSVP-MIB:rsvpSenderStatus"; + } + } + } + } + + notification lostFlow { + description + "The lostFlow trap indicates that the + originating system has removed a flow from its + classifier."; + smiv2:oid "1.3.6.1.2.1.51.3.0.2"; + + container object-1 { + + leaf intSrvFlowNumber { + type leafref { + path "/integrated-services:INTEGRATED-SERVICES-MIB/integrated-services:intSrvFlowTable/integrated-services:intSrvFlowEntry/integrated-services:intSrvFlowNumber"; + } + } + + leaf intSrvFlowStatus { + type leafref { + path "/integrated-services:INTEGRATED-SERVICES-MIB/integrated-services:intSrvFlowTable/integrated-services:intSrvFlowEntry/integrated-services:intSrvFlowStatus"; + } + } + } + + container object-2 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSessionDestAddr { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionDestAddr"; + } + } + } + + container object-3 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvFwdNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvFwdTable/RSVP-MIB:rsvpResvFwdEntry/RSVP-MIB:rsvpResvFwdNumber"; + } + } + + leaf rsvpResvFwdStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvFwdTable/RSVP-MIB:rsvpResvFwdEntry/RSVP-MIB:rsvpResvFwdStatus"; + } + } + } + + container object-4 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpResvNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvTable/RSVP-MIB:rsvpResvEntry/RSVP-MIB:rsvpResvNumber"; + } + } + + leaf rsvpResvStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpResvTable/RSVP-MIB:rsvpResvEntry/RSVP-MIB:rsvpResvStatus"; + } + } + } + + container object-5 { + + leaf rsvpSessionNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSessionTable/RSVP-MIB:rsvpSessionEntry/RSVP-MIB:rsvpSessionNumber"; + } + } + + leaf rsvpSenderNumber { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSenderTable/RSVP-MIB:rsvpSenderEntry/RSVP-MIB:rsvpSenderNumber"; + } + } + + leaf rsvpSenderStatus { + type leafref { + path "/RSVP-MIB:RSVP-MIB/RSVP-MIB:rsvpSenderTable/RSVP-MIB:rsvpSenderEntry/RSVP-MIB:rsvpSenderStatus"; + } + } + } + } + + smiv2:alias "rsvp" { + smiv2:oid "1.3.6.1.2.1.51"; + } + + smiv2:alias "rsvpObjects" { + smiv2:oid "1.3.6.1.2.1.51.1"; + } + + smiv2:alias "rsvpGenObjects" { + smiv2:oid "1.3.6.1.2.1.51.2"; + } + + smiv2:alias "rsvpNotificationsPrefix" { + smiv2:oid "1.3.6.1.2.1.51.3"; + } + + smiv2:alias "rsvpNotifications" { + smiv2:oid "1.3.6.1.2.1.51.3.0"; + } + + smiv2:alias "rsvpConformance" { + smiv2:oid "1.3.6.1.2.1.51.4"; + } + + smiv2:alias "rsvpGroups" { + smiv2:oid "1.3.6.1.2.1.51.4.1"; + } + + smiv2:alias "rsvpCompliances" { + smiv2:oid "1.3.6.1.2.1.51.4.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SNMP-FRAMEWORK-MIB.yang b/vendor/cisco/xe/17151/MIBS/SNMP-FRAMEWORK-MIB.yang new file mode 100644 index 000000000..a2bc67c9b --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SNMP-FRAMEWORK-MIB.yang @@ -0,0 +1,571 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SNMP-FRAMEWORK-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SNMP-FRAMEWORK-MIB + * + * Do not edit. Edit the source file instead! + */ + +module SNMP-FRAMEWORK-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB"; + prefix SNMP-FRAMEWORK-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "SNMPv3 Working Group"; + + contact + "WG-EMail: snmpv3@lists.tislabs.com + Subscribe: snmpv3-request@lists.tislabs.com + + Co-Chair: Russ Mundy + Network Associates Laboratories + postal: 15204 Omega Drive, Suite 300 + Rockville, MD 20850-4601 + USA + EMail: mundy@tislabs.com + phone: +1 301-947-7107 + + Co-Chair & + Co-editor: David Harrington + Enterasys Networks + postal: 35 Industrial Way + P. O. Box 5005 + Rochester, New Hampshire 03866-5005 + USA + EMail: dbh@enterasys.com + phone: +1 603-337-2614 + + Co-editor: Randy Presuhn + BMC Software, Inc. + postal: 2141 North First Street + San Jose, California 95131 + USA + EMail: randy_presuhn@bmc.com + phone: +1 408-546-1006 + + Co-editor: Bert Wijnen + Lucent Technologies + postal: Schagen 33 + 3461 GL Linschoten + Netherlands + + + EMail: bwijnen@lucent.com + phone: +31 348-680-485 + "; + + description + "The SNMP Management Architecture MIB + + Copyright (C) The Internet Society (2002). This + version of this MIB module is part of RFC 3411; + see the RFC itself for full legal notices."; + + revision 2002-10-14 { + description + "Changes in this revision: + - Updated various administrative information. + - Corrected some typos. + - Corrected typo in description of SnmpEngineID + that led to range overlap for 127. + - Changed '255a' to '255t' in definition of + SnmpAdminString to align with current SMI. + - Reworded 'reserved' for value zero in + DESCRIPTION of SnmpSecurityModel. + - The algorithm for allocating security models + should give 256 per enterprise block, rather + than 255. + - The example engine ID of 'abcd' is not + legal. Replaced with '800002b804616263'H based + on example enterprise 696, string 'abc'. + - Added clarification that engineID should + persist across re-initializations. + This revision published as RFC 3411."; + } + + revision 1999-01-19 { + description + "Updated editors' addresses, fixed typos. + Published as RFC 2571."; + } + + revision 1997-11-20 { + description + "The initial version, published in RFC 2271."; + } + + typedef SnmpEngineID { + type binary { + length "5..32"; + } + description + "An SNMP engine's administratively-unique identifier. + Objects of this type are for identification, not for + addressing, even though it is possible that an + address may have been used in the generation of + a specific value. + + + The value for this object may not be all zeros or + all 'ff'H or the empty (zero length) string. + + The initial value for this object may be configured + via an operator console entry or via an algorithmic + function. In the latter case, the following + example algorithm is recommended. + + In cases where there are multiple engines on the + same system, the use of this algorithm is NOT + appropriate, as it would result in all of those + engines ending up with the same ID value. + + 1) The very first bit is used to indicate how the + rest of the data is composed. + + 0 - as defined by enterprise using former methods + that existed before SNMPv3. See item 2 below. + + 1 - as defined by this architecture, see item 3 + below. + + Note that this allows existing uses of the + engineID (also known as AgentID [RFC1910]) to + co-exist with any new uses. + + 2) The snmpEngineID has a length of 12 octets. + + The first four octets are set to the binary + equivalent of the agent's SNMP management + private enterprise number as assigned by the + Internet Assigned Numbers Authority (IANA). + For example, if Acme Networks has been assigned + { enterprises 696 }, the first four octets would + be assigned '000002b8'H. + + The remaining eight octets are determined via + one or more enterprise-specific methods. Such + methods must be designed so as to maximize the + possibility that the value of this object will + be unique in the agent's administrative domain. + For example, it may be the IP address of the SNMP + entity, or the MAC address of one of the + interfaces, with each address suitably padded + with random octets. If multiple methods are + defined, then it is recommended that the first + octet indicate the method being used and the + remaining octets be a function of the method. + + + 3) The length of the octet string varies. + + The first four octets are set to the binary + equivalent of the agent's SNMP management + private enterprise number as assigned by the + Internet Assigned Numbers Authority (IANA). + For example, if Acme Networks has been assigned + { enterprises 696 }, the first four octets would + be assigned '000002b8'H. + + The very first bit is set to 1. For example, the + above value for Acme Networks now changes to be + '800002b8'H. + + The fifth octet indicates how the rest (6th and + following octets) are formatted. The values for + the fifth octet are: + + 0 - reserved, unused. + + 1 - IPv4 address (4 octets) + lowest non-special IP address + + 2 - IPv6 address (16 octets) + lowest non-special IP address + + 3 - MAC address (6 octets) + lowest IEEE MAC address, canonical + order + + 4 - Text, administratively assigned + Maximum remaining length 27 + + 5 - Octets, administratively assigned + Maximum remaining length 27 + + 6-127 - reserved, unused + + 128-255 - as defined by the enterprise + Maximum remaining length 27"; + } + + typedef SnmpSecurityModel { + type int32 { + range "0..2147483647"; + } + description + "An identifier that uniquely identifies a + Security Model of the Security Subsystem within + this SNMP Management Architecture. + + The values for securityModel are allocated as + follows: + + - The zero value does not identify any particular + security model. + + - Values between 1 and 255, inclusive, are reserved + for standards-track Security Models and are + managed by the Internet Assigned Numbers Authority + (IANA). + - Values greater than 255 are allocated to + enterprise-specific Security Models. An + enterprise-specific securityModel value is defined + to be: + + enterpriseID * 256 + security model within + enterprise + + For example, the fourth Security Model defined by + the enterprise whose enterpriseID is 1 would be + 259. + + This scheme for allocation of securityModel + values allows for a maximum of 255 standards- + based Security Models, and for a maximum of + 256 Security Models per enterprise. + + It is believed that the assignment of new + securityModel values will be rare in practice + because the larger the number of simultaneously + utilized Security Models, the larger the + chance that interoperability will suffer. + Consequently, it is believed that such a range + will be sufficient. In the unlikely event that + the standards committee finds this number to be + insufficient over time, an enterprise number + can be allocated to obtain an additional 256 + possible values. + + Note that the most significant bit must be zero; + hence, there are 23 bits allocated for various + organizations to design and define non-standard + + + securityModels. This limits the ability to + define new proprietary implementations of Security + Models to the first 8,388,608 enterprises. + + It is worthwhile to note that, in its encoded + form, the securityModel value will normally + require only a single byte since, in practice, + the leftmost bits will be zero for most messages + and sign extension is suppressed by the encoding + rules. + + As of this writing, there are several values + of securityModel defined for use with SNMP or + reserved for use with supporting MIB objects. + They are as follows: + + 0 reserved for 'any' + 1 reserved for SNMPv1 + 2 reserved for SNMPv2c + 3 User-Based Security Model (USM)"; + } + + typedef SnmpMessageProcessingModel { + type int32 { + range "0..2147483647"; + } + description + "An identifier that uniquely identifies a Message + Processing Model of the Message Processing + Subsystem within this SNMP Management Architecture. + + The values for messageProcessingModel are + allocated as follows: + + - Values between 0 and 255, inclusive, are + reserved for standards-track Message Processing + Models and are managed by the Internet Assigned + Numbers Authority (IANA). + + - Values greater than 255 are allocated to + enterprise-specific Message Processing Models. + An enterprise messageProcessingModel value is + defined to be: + + enterpriseID * 256 + + messageProcessingModel within enterprise + + For example, the fourth Message Processing Model + defined by the enterprise whose enterpriseID + + + is 1 would be 259. + + This scheme for allocating messageProcessingModel + values allows for a maximum of 255 standards- + based Message Processing Models, and for a + maximum of 256 Message Processing Models per + enterprise. + + It is believed that the assignment of new + messageProcessingModel values will be rare + in practice because the larger the number of + simultaneously utilized Message Processing Models, + the larger the chance that interoperability + will suffer. It is believed that such a range + will be sufficient. In the unlikely event that + the standards committee finds this number to be + insufficient over time, an enterprise number + can be allocated to obtain an additional 256 + possible values. + + Note that the most significant bit must be zero; + hence, there are 23 bits allocated for various + organizations to design and define non-standard + messageProcessingModels. This limits the ability + to define new proprietary implementations of + Message Processing Models to the first 8,388,608 + enterprises. + + It is worthwhile to note that, in its encoded + form, the messageProcessingModel value will + normally require only a single byte since, in + practice, the leftmost bits will be zero for + most messages and sign extension is suppressed + by the encoding rules. + + As of this writing, there are several values of + messageProcessingModel defined for use with SNMP. + They are as follows: + + 0 reserved for SNMPv1 + 1 reserved for SNMPv2c + 2 reserved for SNMPv2u and SNMPv2* + 3 reserved for SNMPv3"; + } + + typedef SnmpSecurityLevel { + type enumeration { + enum "noAuthNoPriv" { + value "1"; + } + enum "authNoPriv" { + value "2"; + } + enum "authPriv" { + value "3"; + } + } + description + "A Level of Security at which SNMP messages can be + sent or with which operations are being processed; + in particular, one of: + + noAuthNoPriv - without authentication and + without privacy, + authNoPriv - with authentication but + without privacy, + authPriv - with authentication and + with privacy. + + These three values are ordered such that + noAuthNoPriv is less than authNoPriv and + authNoPriv is less than authPriv."; + } + + typedef SnmpAdminString { + type string; + description + "An octet string containing administrative + information, preferably in human-readable form. + + To facilitate internationalization, this + information is represented using the ISO/IEC + IS 10646-1 character set, encoded as an octet + string using the UTF-8 transformation format + described in [RFC2279]. + + Since additional code points are added by + amendments to the 10646 standard from time + to time, implementations must be prepared to + encounter any code point from 0x00000000 to + 0x7fffffff. Byte sequences that do not + correspond to the valid UTF-8 encoding of a + code point or are outside this range are + prohibited. + + The use of control codes should be avoided. + + When it is necessary to represent a newline, + the control code sequence CR LF should be used. + + + The use of leading or trailing white space should + be avoided. + + For code points not directly supported by user + interface hardware or software, an alternative + means of entry and display, such as hexadecimal, + may be provided. + + For information encoded in 7-bit US-ASCII, + the UTF-8 encoding is identical to the + US-ASCII encoding. + + UTF-8 may require multiple bytes to represent a + single character / code point; thus the length + of this object in octets may be different from + the number of characters encoded. Similarly, + size constraints refer to the number of encoded + octets, not the number of characters represented + by an encoding. + + Note that when this TC is used for an object that + is used or envisioned to be used as an index, then + a SIZE restriction MUST be specified so that the + number of sub-identifiers for any object instance + does not exceed the limit of 128, as defined by + [RFC3416]. + + Note that the size of an SnmpAdminString object is + measured in octets, not characters."; + smiv2:display-hint "255t"; + } + + identity snmpAuthProtocols { + base smiv2:object-identity; + description + "Registration point for standards-track + authentication protocols used in SNMP Management + Frameworks."; + smiv2:oid "1.3.6.1.6.3.10.1.1"; + } + + identity snmpPrivProtocols { + base smiv2:object-identity; + description + "Registration point for standards-track privacy + protocols used in SNMP Management Frameworks."; + smiv2:oid "1.3.6.1.6.3.10.1.2"; + } + + + container SNMP-FRAMEWORK-MIB { + config false; + + container snmpEngine { + smiv2:oid "1.3.6.1.6.3.10.2.1"; + + leaf snmpEngineID { + type SNMP-FRAMEWORK-MIB:SnmpEngineID; + description + "An SNMP engine's administratively-unique identifier. + + This information SHOULD be stored in non-volatile + storage so that it remains constant across + re-initializations of the SNMP engine."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.10.2.1.1"; + } + + leaf snmpEngineBoots { + type int32 { + range "1..2147483647"; + } + description + "The number of times that the SNMP engine has + (re-)initialized itself since snmpEngineID + was last configured."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.10.2.1.2"; + } + + leaf snmpEngineTime { + type int32 { + range "0..2147483647"; + } + units "seconds"; + description + "The number of seconds since the value of + the snmpEngineBoots object last changed. + When incrementing this object's value would + cause it to exceed its maximum, + snmpEngineBoots is incremented as if a + re-initialization had occurred, and this + object's value consequently reverts to zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.10.2.1.3"; + } + + leaf snmpEngineMaxMessageSize { + type int32 { + range "484..2147483647"; + } + description + "The maximum length in octets of an SNMP message + which this SNMP engine can send or receive and + process, determined as the minimum of the maximum + message size values supported among all of the + transports available to and supported by the engine."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.10.2.1.4"; + } + } + } + + smiv2:alias "snmpFrameworkMIB" { + smiv2:oid "1.3.6.1.6.3.10"; + } + + smiv2:alias "snmpFrameworkAdmin" { + smiv2:oid "1.3.6.1.6.3.10.1"; + } + + smiv2:alias "snmpAuthProtocols" { + description + "Registration point for standards-track + authentication protocols used in SNMP Management + Frameworks."; + smiv2:oid "1.3.6.1.6.3.10.1.1"; + } + + smiv2:alias "snmpPrivProtocols" { + description + "Registration point for standards-track privacy + protocols used in SNMP Management Frameworks."; + smiv2:oid "1.3.6.1.6.3.10.1.2"; + } + + smiv2:alias "snmpFrameworkMIBObjects" { + smiv2:oid "1.3.6.1.6.3.10.2"; + } + + smiv2:alias "snmpEngine" { + smiv2:oid "1.3.6.1.6.3.10.2.1"; + } + + smiv2:alias "snmpFrameworkMIBConformance" { + smiv2:oid "1.3.6.1.6.3.10.3"; + } + + smiv2:alias "snmpFrameworkMIBCompliances" { + smiv2:oid "1.3.6.1.6.3.10.3.1"; + } + + smiv2:alias "snmpFrameworkMIBGroups" { + smiv2:oid "1.3.6.1.6.3.10.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SNMP-PROXY-MIB.yang b/vendor/cisco/xe/17151/MIBS/SNMP-PROXY-MIB.yang new file mode 100644 index 000000000..fd9a2ea78 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SNMP-PROXY-MIB.yang @@ -0,0 +1,274 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SNMP-PROXY-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SNMP-PROXY-MIB + * + * Do not edit. Edit the source file instead! + */ + +module SNMP-PROXY-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB"; + prefix SNMP-PROXY-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMP-TARGET-MIB { + prefix "snmp-target"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF SNMPv3 Working Group"; + + contact + "WG-email: snmpv3@lists.tislabs.com + Subscribe: majordomo@lists.tislabs.com + In message body: subscribe snmpv3 + + Co-Chair: Russ Mundy + Network Associates Laboratories + Postal: 15204 Omega Drive, Suite 300 + Rockville, MD 20850-4601 + USA + EMail: mundy@tislabs.com + Phone: +1 301-947-7107 + + Co-Chair: David Harrington + Enterasys Networks + Postal: 35 Industrial Way + P. O. Box 5004 + Rochester, New Hampshire 03866-5005 + USA + EMail: dbh@enterasys.com + Phone: +1 603-337-2614 + + Co-editor: David B. Levi + Nortel Networks + Postal: 3505 Kesterwood Drive + Knoxville, Tennessee 37918 + EMail: dlevi@nortelnetworks.com + Phone: +1 865 686 0432 + + Co-editor: Paul Meyer + Secure Computing Corporation + Postal: 2675 Long Lake Road + Roseville, Minnesota 55113 + EMail: paul_meyer@securecomputing.com + Phone: +1 651 628 1592 + + Co-editor: Bob Stewart + Retired"; + + description + "This MIB module defines MIB objects which provide + mechanisms to remotely configure the parameters + used by a proxy forwarding application. + + Copyright (C) The Internet Society (2002). This + version of this MIB module is part of RFC 3413; + see the RFC itself for full legal notices."; + + revision 2002-10-14 { + description + "Clarifications, published as + RFC 3413."; + } + + revision 1998-08-04 { + description + "Clarifications, published as + RFC 2573."; + } + + revision 1997-07-14 { + description + "The initial revision, published as RFC2273."; + } + + + container SNMP-PROXY-MIB { + config false; + + container snmpProxyTable { + description + "The table of translation parameters used by proxy forwarder + applications for forwarding SNMP messages."; + smiv2:oid "1.3.6.1.6.3.14.1.2"; + + list snmpProxyEntry { + key "snmpProxyName"; + smiv2:implied "snmpProxyName"; + description + "A set of translation parameters used by a proxy forwarder + application for forwarding SNMP messages. + + Entries in the snmpProxyTable are created and deleted + using the snmpProxyRowStatus object."; + smiv2:oid "1.3.6.1.6.3.14.1.2.1"; + + leaf snmpProxyName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "The locally arbitrary, but unique identifier associated + with this snmpProxyEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.1"; + } + + leaf snmpProxyType { + type enumeration { + enum "read" { + value "1"; + } + enum "write" { + value "2"; + } + enum "trap" { + value "3"; + } + enum "inform" { + value "4"; + } + } + description + "The type of message that may be forwarded using + the translation parameters defined by this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.2"; + } + + leaf snmpProxyContextEngineID { + type snmp-framework:SnmpEngineID; + description + "The contextEngineID contained in messages that + may be forwarded using the translation parameters + defined by this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.3"; + } + + leaf snmpProxyContextName { + type snmp-framework:SnmpAdminString; + description + "The contextName contained in messages that may be + forwarded using the translation parameters defined + by this entry. + + This object is optional, and if not supported, the + contextName contained in a message is ignored when + selecting an entry in the snmpProxyTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.4"; + } + + leaf snmpProxyTargetParamsIn { + type snmp-framework:SnmpAdminString; + description + "This object selects an entry in the snmpTargetParamsTable. + The selected entry is used to determine which row of the + snmpProxyTable to use for forwarding received messages."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.5"; + } + + leaf snmpProxySingleTargetOut { + type snmp-framework:SnmpAdminString; + description + "This object selects a management target defined in the + snmpTargetAddrTable (in the SNMP-TARGET-MIB). The + selected target is defined by an entry in the + snmpTargetAddrTable whose index value (snmpTargetAddrName) + is equal to this object. + + This object is only used when selection of a single + target is required (i.e. when forwarding an incoming + read or write request)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.6"; + } + + leaf snmpProxyMultipleTargetOut { + type snmp-target:SnmpTagValue; + description + "This object selects a set of management targets defined + in the snmpTargetAddrTable (in the SNMP-TARGET-MIB). + + This object is only used when selection of multiple + targets is required (i.e. when forwarding an incoming + notification)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.7"; + } + + leaf snmpProxyStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this conceptual row. + Conceptual rows having the value 'permanent' need not + allow write-access to any columnar objects in the row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.8"; + } + + leaf snmpProxyRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + To create a row in this table, a manager must + set this object to either createAndGo(4) or + createAndWait(5). + + The following objects may not be modified while the + value of this object is active(1): + - snmpProxyType + - snmpProxyContextEngineID + - snmpProxyContextName + - snmpProxyTargetParamsIn + - snmpProxySingleTargetOut + - snmpProxyMultipleTargetOut"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.14.1.2.1.9"; + } + } + } + } + + smiv2:alias "snmpProxyMIB" { + smiv2:oid "1.3.6.1.6.3.14"; + } + + smiv2:alias "snmpProxyObjects" { + smiv2:oid "1.3.6.1.6.3.14.1"; + } + + smiv2:alias "snmpProxyConformance" { + smiv2:oid "1.3.6.1.6.3.14.3"; + } + + smiv2:alias "snmpProxyCompliances" { + smiv2:oid "1.3.6.1.6.3.14.3.1"; + } + + smiv2:alias "snmpProxyGroups" { + smiv2:oid "1.3.6.1.6.3.14.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SNMP-TARGET-MIB.yang b/vendor/cisco/xe/17151/MIBS/SNMP-TARGET-MIB.yang new file mode 100644 index 000000000..af9b693a2 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SNMP-TARGET-MIB.yang @@ -0,0 +1,607 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SNMP-TARGET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SNMP-TARGET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module SNMP-TARGET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB"; + prefix SNMP-TARGET-MIB; + + import SNMP-FRAMEWORK-MIB { + prefix "snmp-framework"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF SNMPv3 Working Group"; + + contact + "WG-email: snmpv3@lists.tislabs.com + Subscribe: majordomo@lists.tislabs.com + In message body: subscribe snmpv3 + + Chair: Russ Mundy + + + + + + Trusted Information Systems + Postal: 3060 Washington Rd + Glenwood MD 21738 + USA + EMail: mundy@tislabs.com + Phone: +1-301-854-6889 + + Co-editor: David B. Levi + SNMP Research, Inc. + Postal: 3001 Kimberlin Heights Road + Knoxville, TN 37920-9716 + EMail: levi@snmp.com + Phone: +1 423 573 1434 + + Co-editor: Paul Meyer + Secure Computing Corporation + Postal: 2675 Long Lake Road + Roseville, MN 55113 + EMail: paul_meyer@securecomputing.com + Phone: +1 651 628 1592 + + Co-editor: Bob Stewart + Cisco Systems, Inc. + Postal: 170 West Tasman Drive + San Jose, CA 95134-1706 + EMail: bstewart@cisco.com + Phone: +1 603 654 2686"; + + description + "This MIB module defines MIB objects which provide + mechanisms to remotely configure the parameters used + by an SNMP entity for the generation of SNMP messages."; + + revision 1998-08-04 { + description + "Clarifications, published as + RFC2573."; + } + + revision 1997-07-14 { + description + "The initial revision, published as RFC2273."; + } + + typedef SnmpTagValue { + type string; + description + "An octet string containing a tag value. + Tag values are preferably in human-readable form. + + + + + + + To facilitate internationalization, this information + is represented using the ISO/IEC IS 10646-1 character + set, encoded as an octet string using the UTF-8 + character encoding scheme described in RFC 2279. + + Since additional code points are added by amendments + to the 10646 standard from time to time, + implementations must be prepared to encounter any code + point from 0x00000000 to 0x7fffffff. + + The use of control codes should be avoided, and certain + control codes are not allowed as described below. + + For code points not directly supported by user + interface hardware or software, an alternative means + of entry and display, such as hexadecimal, may be + provided. + + For information encoded in 7-bit US-ASCII, the UTF-8 + representation is identical to the US-ASCII encoding. + + Note that when this TC is used for an object that + is used or envisioned to be used as an index, then a + SIZE restriction must be specified so that the number + of sub-identifiers for any object instance does not + exceed the limit of 128, as defined by [RFC1905]. + + An object of this type contains a single tag value + which is used to select a set of entries in a table. + + A tag value is an arbitrary string of octets, but + may not contain a delimiter character. Delimiter + characters are defined to be one of the following: + + - An ASCII space character (0x20). + + - An ASCII TAB character (0x09). + + - An ASCII carriage return (CR) character (0x0D). + + - An ASCII line feed (LF) character (0x0B). + + Delimiter characters are used to separate tag values + in a tag list. An object of this type may only + contain a single tag value, and so delimiter + characters are not allowed in a value of this type. + + Some examples of valid tag values are: + + + + + + - 'acme' + + - 'router' + + - 'host' + + The use of a tag value to select table entries is + application and MIB specific."; + smiv2:display-hint "255a"; + } + + typedef SnmpTagList { + type string; + description + "An octet string containing a list of tag values. + Tag values are preferably in human-readable form. + + To facilitate internationalization, this information + is represented using the ISO/IEC IS 10646-1 character + set, encoded as an octet string using the UTF-8 + character encoding scheme described in RFC 2279. + + Since additional code points are added by amendments + to the 10646 standard from time to time, + implementations must be prepared to encounter any code + point from 0x00000000 to 0x7fffffff. + + The use of control codes should be avoided, except as + described below. + + For code points not directly supported by user + interface hardware or software, an alternative means + of entry and display, such as hexadecimal, may be + provided. + + For information encoded in 7-bit US-ASCII, the UTF-8 + representation is identical to the US-ASCII encoding. + + An object of this type contains a list of tag values + which are used to select a set of entries in a table. + + A tag value is an arbitrary string of octets, but + may not contain a delimiter character. Delimiter + characters are defined to be one of the following: + + - An ASCII space character (0x20). + + - An ASCII TAB character (0x09). + + + + + + - An ASCII carriage return (CR) character (0x0D). + + - An ASCII line feed (LF) character (0x0B). + + Delimiter characters are used to separate tag values + in a tag list. Only a single delimiter character may + occur between two tag values. A tag value may not + have a zero length. These constraints imply certain + restrictions on the contents of this object: + + - There cannot be a leading or trailing delimiter + character. + + - There cannot be multiple adjacent delimiter + characters. + + Some examples of valid tag lists are: + + - An empty string + + - 'acme router' + + - 'host managerStation' + + Note that although a tag value may not have a length of + zero, an empty string is still valid. This indicates + an empty list (i.e. there are no tag values in the list). + + The use of the tag list to select table entries is + application and MIB specific. Typically, an application + will provide one or more tag values, and any entry + which contains some combination of these tag values + will be selected."; + smiv2:display-hint "255a"; + } + + + container SNMP-TARGET-MIB { + config false; + + container snmpTargetObjects { + smiv2:oid "1.3.6.1.6.3.12.1"; + + leaf snmpTargetSpinLock { + type snmpv2-tc:TestAndIncr; + description + "This object is used to facilitate modification of table + entries in the SNMP-TARGET-MIB module by multiple + + + + + + managers. In particular, it is useful when modifying + the value of the snmpTargetAddrTagList object. + + The procedure for modifying the snmpTargetAddrTagList + object is as follows: + + 1. Retrieve the value of snmpTargetSpinLock and + of snmpTargetAddrTagList. + + 2. Generate a new value for snmpTargetAddrTagList. + + 3. Set the value of snmpTargetSpinLock to the + retrieved value, and the value of + snmpTargetAddrTagList to the new value. If + the set fails for the snmpTargetSpinLock + object, go back to step 1."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.1"; + } + + leaf snmpUnavailableContexts { + type yang:counter32; + description + "The total number of packets received by the SNMP + engine which were dropped because the context + contained in the message was unavailable."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.12.1.4"; + } + + leaf snmpUnknownContexts { + type yang:counter32; + description + "The total number of packets received by the SNMP + engine which were dropped because the context + contained in the message was unknown."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.6.3.12.1.5"; + } + } + + container snmpTargetAddrTable { + description + "A table of transport addresses to be used in the generation + of SNMP messages."; + smiv2:oid "1.3.6.1.6.3.12.1.2"; + + list snmpTargetAddrEntry { + key "snmpTargetAddrName"; + smiv2:implied "snmpTargetAddrName"; + description + "A transport address to be used in the generation + of SNMP operations. + + Entries in the snmpTargetAddrTable are created and + deleted using the snmpTargetAddrRowStatus object."; + smiv2:oid "1.3.6.1.6.3.12.1.2.1"; + + leaf snmpTargetAddrName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "The locally arbitrary, but unique identifier associated + with this snmpTargetAddrEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.1"; + } + + leaf snmpTargetAddrTDomain { + type snmpv2-tc:TDomain; + description + "This object indicates the transport type of the address + contained in the snmpTargetAddrTAddress object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.2"; + } + + leaf snmpTargetAddrTAddress { + type snmpv2-tc:TAddress; + description + "This object contains a transport address. The format of + this address depends on the value of the + snmpTargetAddrTDomain object."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.3"; + } + + leaf snmpTargetAddrTimeout { + type snmpv2-tc:TimeInterval; + description + "This object should reflect the expected maximum round + trip time for communicating with the transport address + defined by this row. When a message is sent to this + address, and a response (if one is expected) is not + received within this time period, an implementation + may assume that the response will not be delivered. + + Note that the time interval that an application waits + for a response may actually be derived from the value + of this object. The method for deriving the actual time + interval is implementation dependent. One such method + + + + + + is to derive the expected round trip time based on a + particular retransmission algorithm and on the number + of timeouts which have occurred. The type of message may + also be considered when deriving expected round trip + times for retransmissions. For example, if a message is + being sent with a securityLevel that indicates both + authentication and privacy, the derived value may be + increased to compensate for extra processing time spent + during authentication and encryption processing."; + smiv2:defval "1500"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.4"; + } + + leaf snmpTargetAddrRetryCount { + type int32 { + range "0..255"; + } + description + "This object specifies a default number of retries to be + attempted when a response is not received for a generated + message. An application may provide its own retry count, + in which case the value of this object is ignored."; + smiv2:defval "3"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.5"; + } + + leaf snmpTargetAddrTagList { + type SNMP-TARGET-MIB:SnmpTagList; + description + "This object contains a list of tag values which are + used to select target addresses for a particular + operation."; + smiv2:defval ""; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.6"; + } + + leaf snmpTargetAddrParams { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "The value of this object identifies an entry in the + snmpTargetParamsTable. The identified entry + contains SNMP parameters to be used when generating + messages to be sent to this transport address."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.7"; + } + + leaf snmpTargetAddrStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.8"; + } + + leaf snmpTargetAddrRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + To create a row in this table, a manager must + set this object to either createAndGo(4) or + createAndWait(5). + + Until instances of all corresponding columns are + appropriately configured, the value of the + corresponding instance of the snmpTargetAddrRowStatus + column is 'notReady'. + + In particular, a newly created row cannot be made + active until the corresponding instances of + snmpTargetAddrTDomain, snmpTargetAddrTAddress, and + snmpTargetAddrParams have all been set. + + The following objects may not be modified while the + value of this object is active(1): + - snmpTargetAddrTDomain + - snmpTargetAddrTAddress + An attempt to set these objects while the value of + snmpTargetAddrRowStatus is active(1) will result in + an inconsistentValue error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.2.1.9"; + } + } + } + + container snmpTargetParamsTable { + description + "A table of SNMP target information to be used + in the generation of SNMP messages."; + smiv2:oid "1.3.6.1.6.3.12.1.3"; + + list snmpTargetParamsEntry { + key "snmpTargetParamsName"; + smiv2:implied "snmpTargetParamsName"; + description + "A set of SNMP target information. + + Entries in the snmpTargetParamsTable are created and + deleted using the snmpTargetParamsRowStatus object."; + smiv2:oid "1.3.6.1.6.3.12.1.3.1"; + + leaf snmpTargetParamsName { + type snmp-framework:SnmpAdminString { + length "1..32"; + } + description + "The locally arbitrary, but unique identifier associated + with this snmpTargetParamsEntry."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.1"; + } + + leaf snmpTargetParamsMPModel { + type snmp-framework:SnmpMessageProcessingModel; + description + "The Message Processing Model to be used when generating + SNMP messages using this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.2"; + } + + leaf snmpTargetParamsSecurityModel { + type snmp-framework:SnmpSecurityModel { + range "1..2147483647"; + } + description + "The Security Model to be used when generating SNMP + messages using this entry. An implementation may + choose to return an inconsistentValue error if an + attempt is made to set this variable to a value + for a security model which the implementation does + + + + + + not support."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.3"; + } + + leaf snmpTargetParamsSecurityName { + type snmp-framework:SnmpAdminString; + description + "The securityName which identifies the Principal on + whose behalf SNMP messages will be generated using + this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.4"; + } + + leaf snmpTargetParamsSecurityLevel { + type snmp-framework:SnmpSecurityLevel; + description + "The Level of Security to be used when generating + SNMP messages using this entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.5"; + } + + leaf snmpTargetParamsStorageType { + type snmpv2-tc:StorageType; + description + "The storage type for this conceptual row."; + smiv2:defval "nonVolatile"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.6"; + } + + leaf snmpTargetParamsRowStatus { + type snmpv2-tc:RowStatus; + description + "The status of this conceptual row. + + To create a row in this table, a manager must + set this object to either createAndGo(4) or + createAndWait(5). + + Until instances of all corresponding columns are + appropriately configured, the value of the + corresponding instance of the snmpTargetParamsRowStatus + column is 'notReady'. + + In particular, a newly created row cannot be made + + + + + + active until the corresponding + snmpTargetParamsMPModel, + snmpTargetParamsSecurityModel, + snmpTargetParamsSecurityName, + and snmpTargetParamsSecurityLevel have all been set. + The following objects may not be modified while the + value of this object is active(1): + - snmpTargetParamsMPModel + - snmpTargetParamsSecurityModel + - snmpTargetParamsSecurityName + - snmpTargetParamsSecurityLevel + An attempt to set these objects while the value of + snmpTargetParamsRowStatus is active(1) will result in + an inconsistentValue error."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.12.1.3.1.7"; + } + } + } + } + + smiv2:alias "snmpTargetMIB" { + smiv2:oid "1.3.6.1.6.3.12"; + } + + smiv2:alias "snmpTargetObjects" { + smiv2:oid "1.3.6.1.6.3.12.1"; + } + + smiv2:alias "snmpTargetConformance" { + smiv2:oid "1.3.6.1.6.3.12.3"; + } + + smiv2:alias "snmpTargetCompliances" { + smiv2:oid "1.3.6.1.6.3.12.3.1"; + } + + smiv2:alias "snmpTargetGroups" { + smiv2:oid "1.3.6.1.6.3.12.3.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SNMPv2-MIB.yang b/vendor/cisco/xe/17151/MIBS/SNMPv2-MIB.yang new file mode 100644 index 000000000..4ddabf6ac --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SNMPv2-MIB.yang @@ -0,0 +1,730 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SNMPv2-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SNMPv2-MIB + * + * Do not edit. Edit the source file instead! + */ + +module SNMPv2-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB"; + prefix SNMPv2-MIB; + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF SNMPv3 Working Group"; + + contact + "WG-EMail: snmpv3@lists.tislabs.com + Subscribe: snmpv3-request@lists.tislabs.com + + Co-Chair: Russ Mundy + Network Associates Laboratories + postal: 15204 Omega Drive, Suite 300 + Rockville, MD 20850-4601 + USA + EMail: mundy@tislabs.com + phone: +1 301 947-7107 + + Co-Chair: David Harrington + Enterasys Networks + postal: 35 Industrial Way + P. O. Box 5005 + Rochester, NH 03866-5005 + USA + EMail: dbh@enterasys.com + phone: +1 603 337-2614 + + Editor: Randy Presuhn + BMC Software, Inc. + postal: 2141 North First Street + San Jose, CA 95131 + USA + EMail: randy_presuhn@bmc.com + phone: +1 408 546-1006"; + + description + "The MIB module for SNMP entities. + + Copyright (C) The Internet Society (2002). This + version of this MIB module is part of RFC 3418; + see the RFC itself for full legal notices."; + + revision 2002-10-16 { + description + "This revision of this MIB module was published as + RFC 3418."; + } + + revision 1995-11-09 { + description + "This revision of this MIB module was published as + RFC 1907."; + } + + revision 1993-04-01 { + description + "The initial revision of this MIB module was published + as RFC 1450."; + } + + + container SNMPv2-MIB { + config false; + + container system { + smiv2:oid "1.3.6.1.2.1.1"; + + leaf sysDescr { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "A textual description of the entity. This value should + include the full name and version identification of + the system's hardware type, software operating-system, + and networking software."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.1"; + } + + leaf sysObjectID { + type yang:object-identifier-128; + description + "The vendor's authoritative identification of the + network management subsystem contained in the entity. + This value is allocated within the SMI enterprises + subtree (1.3.6.1.4.1) and provides an easy and + unambiguous means for determining `what kind of box' is + being managed. For example, if vendor `Flintstones, + Inc.' was assigned the subtree 1.3.6.1.4.1.424242, + it could assign the identifier 1.3.6.1.4.1.424242.1.1 + to its `Fred Router'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.2"; + } + + leaf sysUpTime { + type yang:timeticks; + description + "The time (in hundredths of a second) since the + network management portion of the system was last + re-initialized."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.3"; + } + + leaf sysContact { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The textual identification of the contact person for + this managed node, together with information on how + to contact this person. If no contact information is + known, the value is the zero-length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.4"; + } + + leaf sysName { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "An administratively-assigned name for this managed + node. By convention, this is the node's fully-qualified + domain name. If the name is unknown, the value is + the zero-length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.5"; + } + + leaf sysLocation { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "The physical location of this node (e.g., 'telephone + closet, 3rd floor'). If the location is unknown, the + value is the zero-length string."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.1.6"; + } + + leaf sysServices { + type int32 { + range "0..127"; + } + description + "A value which indicates the set of services that this + entity may potentially offer. The value is a sum. + This sum initially takes the value zero. Then, for + each layer, L, in the range 1 through 7, that this node + performs transactions for, 2 raised to (L - 1) is added + to the sum. For example, a node which performs only + routing functions would have a value of 4 (2^(3-1)). + In contrast, a node which is a host offering application + services would have a value of 72 (2^(4-1) + 2^(7-1)). + Note that in the context of the Internet suite of + protocols, values should be calculated accordingly: + + layer functionality + 1 physical (e.g., repeaters) + 2 datalink/subnetwork (e.g., bridges) + 3 internet (e.g., supports the IP) + 4 end-to-end (e.g., supports the TCP) + 7 applications (e.g., supports the SMTP) + + For systems including OSI protocols, layers 5 and 6 + may also be counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.7"; + } + + leaf sysORLastChange { + type yang:timestamp; + description + "The value of sysUpTime at the time of the most recent + change in state or value of any instance of sysORID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.8"; + } + } + + container snmp { + smiv2:oid "1.3.6.1.2.1.11"; + + leaf snmpInPkts { + type yang:counter32; + description + "The total number of messages delivered to the SNMP + entity from the transport service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.1"; + } + + leaf snmpOutPkts { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Messages which were + passed from the SNMP protocol entity to the + transport service."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.2"; + } + + leaf snmpInBadVersions { + type yang:counter32; + description + "The total number of SNMP messages which were delivered + to the SNMP entity and were for an unsupported SNMP + version."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.3"; + } + + leaf snmpInBadCommunityNames { + type yang:counter32; + description + "The total number of community-based SNMP messages (for + example, SNMPv1) delivered to the SNMP entity which + used an SNMP community name not known to said entity. + Also, implementations which authenticate community-based + SNMP messages using check(s) in addition to matching + the community name (for example, by also checking + whether the message originated from a transport address + allowed to use a specified community name) MAY include + in this value the number of messages which failed the + additional check(s). It is strongly RECOMMENDED that + the documentation for any security model which is used + to authenticate community-based SNMP messages specify + the precise conditions that contribute to this value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.4"; + } + + leaf snmpInBadCommunityUses { + type yang:counter32; + description + "The total number of community-based SNMP messages (for + example, SNMPv1) delivered to the SNMP entity which + represented an SNMP operation that was not allowed for + the SNMP community named in the message. The precise + conditions under which this counter is incremented + (if at all) depend on how the SNMP entity implements + its access control mechanism and how its applications + interact with that access control mechanism. It is + strongly RECOMMENDED that the documentation for any + access control mechanism which is used to control access + to and visibility of MIB instrumentation specify the + precise conditions that contribute to this value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.5"; + } + + leaf snmpInASNParseErrs { + type yang:counter32; + description + "The total number of ASN.1 or BER errors encountered by + the SNMP entity when decoding received SNMP messages."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.6"; + } + + leaf snmpInTooBigs { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field was + `tooBig'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.8"; + } + + leaf snmpInNoSuchNames { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field was + `noSuchName'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.9"; + } + + leaf snmpInBadValues { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were + delivered to the SNMP protocol entity and for + which the value of the error-status field was + `badValue'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.10"; + } + + leaf snmpInReadOnlys { + type yang:counter32; + status obsolete; + description + "The total number valid SNMP PDUs which were delivered + to the SNMP protocol entity and for which the value + of the error-status field was `readOnly'. It should + be noted that it is a protocol error to generate an + SNMP PDU which contains the value `readOnly' in the + error-status field, as such this object is provided + as a means of detecting incorrect implementations of + the SNMP."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.11"; + } + + leaf snmpInGenErrs { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were delivered + to the SNMP protocol entity and for which the value + of the error-status field was `genErr'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.12"; + } + + leaf snmpInTotalReqVars { + type yang:counter32; + status obsolete; + description + "The total number of MIB objects which have been + retrieved successfully by the SNMP protocol entity + as the result of receiving valid SNMP Get-Request + and Get-Next PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.13"; + } + + leaf snmpInTotalSetVars { + type yang:counter32; + status obsolete; + description + "The total number of MIB objects which have been + altered successfully by the SNMP protocol entity as + the result of receiving valid SNMP Set-Request PDUs."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.14"; + } + + leaf snmpInGetRequests { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Request PDUs which + have been accepted and processed by the SNMP + protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.15"; + } + + leaf snmpInGetNexts { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Next PDUs which have been + accepted and processed by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.16"; + } + + leaf snmpInSetRequests { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Set-Request PDUs which + have been accepted and processed by the SNMP protocol + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.17"; + } + + leaf snmpInGetResponses { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Response PDUs which + have been accepted and processed by the SNMP protocol + entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.18"; + } + + leaf snmpInTraps { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Trap PDUs which have been + accepted and processed by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.19"; + } + + leaf snmpOutTooBigs { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were generated + by the SNMP protocol entity and for which the value + of the error-status field was `tooBig.'"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.20"; + } + + leaf snmpOutNoSuchNames { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were generated + by the SNMP protocol entity and for which the value + of the error-status was `noSuchName'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.21"; + } + + leaf snmpOutBadValues { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were generated + by the SNMP protocol entity and for which the value + of the error-status field was `badValue'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.22"; + } + + leaf snmpOutGenErrs { + type yang:counter32; + status obsolete; + description + "The total number of SNMP PDUs which were generated + by the SNMP protocol entity and for which the value + of the error-status field was `genErr'."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.24"; + } + + leaf snmpOutGetRequests { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Request PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.25"; + } + + leaf snmpOutGetNexts { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Next PDUs which have + been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.26"; + } + + leaf snmpOutSetRequests { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Set-Request PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.27"; + } + + leaf snmpOutGetResponses { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Get-Response PDUs which + have been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.28"; + } + + leaf snmpOutTraps { + type yang:counter32; + status obsolete; + description + "The total number of SNMP Trap PDUs which have + been generated by the SNMP protocol entity."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.29"; + } + + leaf snmpEnableAuthenTraps { + type enumeration { + enum "enabled" { + value "1"; + } + enum "disabled" { + value "2"; + } + } + description + "Indicates whether the SNMP entity is permitted to + generate authenticationFailure traps. The value of this + object overrides any configuration information; as such, + it provides a means whereby all authenticationFailure + traps may be disabled. + + Note that it is strongly recommended that this object + be stored in non-volatile memory so that it remains + constant across re-initializations of the network + management system."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.11.30"; + } + + leaf snmpSilentDrops { + type yang:counter32; + description + "The total number of Confirmed Class PDUs (such as + GetRequest-PDUs, GetNextRequest-PDUs, + GetBulkRequest-PDUs, SetRequest-PDUs, and + InformRequest-PDUs) delivered to the SNMP entity which + were silently dropped because the size of a reply + containing an alternate Response Class PDU (such as a + Response-PDU) with an empty variable-bindings field + was greater than either a local constraint or the + maximum message size associated with the originator of + the request."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.31"; + } + + leaf snmpProxyDrops { + type yang:counter32; + description + "The total number of Confirmed Class PDUs + (such as GetRequest-PDUs, GetNextRequest-PDUs, + GetBulkRequest-PDUs, SetRequest-PDUs, and + InformRequest-PDUs) delivered to the SNMP entity which + were silently dropped because the transmission of + the (possibly translated) message to a proxy target + failed in a manner (other than a time-out) such that + no Response Class PDU (such as a Response-PDU) could + be returned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.11.32"; + } + } + + container snmpSet { + smiv2:oid "1.3.6.1.6.3.1.1.6"; + + leaf snmpSetSerialNo { + type snmpv2-tc:TestAndIncr; + description + "An advisory lock used to allow several cooperating + command generator applications to coordinate their + use of the SNMP set operation. + + This object is used for coarse-grain coordination. + To achieve fine-grain coordination, one or more similar + objects might be defined within each MIB group, as + appropriate."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.6.3.1.1.6.1"; + } + } + + container sysORTable { + description + "The (conceptual) table listing the capabilities of + the local SNMP application acting as a command + responder with respect to various MIB modules. + SNMP entities having dynamically-configurable support + of MIB modules will have a dynamically-varying number + of conceptual rows."; + smiv2:oid "1.3.6.1.2.1.1.9"; + + list sysOREntry { + key "sysORIndex"; + description + "An entry (conceptual row) in the sysORTable."; + smiv2:oid "1.3.6.1.2.1.1.9.1"; + + leaf sysORIndex { + type int32 { + range "1..2147483647"; + } + description + "The auxiliary variable used for identifying instances + of the columnar objects in the sysORTable."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.1.9.1.1"; + } + + leaf sysORID { + type yang:object-identifier-128; + description + "An authoritative identification of a capabilities + statement with respect to various MIB modules supported + by the local SNMP application acting as a command + responder."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.9.1.2"; + } + + leaf sysORDescr { + type snmpv2-tc:DisplayString; + description + "A textual description of the capabilities identified + by the corresponding instance of sysORID."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.9.1.3"; + } + + leaf sysORUpTime { + type yang:timestamp; + description + "The value of sysUpTime at the time this conceptual + row was last instantiated."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.1.9.1.4"; + } + } + } + } + + notification coldStart { + description + "A coldStart trap signifies that the SNMP entity, + supporting a notification originator application, is + reinitializing itself and that its configuration may + have been altered."; + smiv2:oid "1.3.6.1.6.3.1.1.5.1"; + } + + notification warmStart { + description + "A warmStart trap signifies that the SNMP entity, + supporting a notification originator application, + is reinitializing itself such that its configuration + is unaltered."; + smiv2:oid "1.3.6.1.6.3.1.1.5.2"; + } + + notification authenticationFailure { + description + "An authenticationFailure trap signifies that the SNMP + entity has received a protocol message that is not + properly authenticated. While all implementations + of SNMP entities MAY be capable of generating this + trap, the snmpEnableAuthenTraps object indicates + whether this trap will be generated."; + smiv2:oid "1.3.6.1.6.3.1.1.5.5"; + } + + smiv2:alias "system" { + smiv2:oid "1.3.6.1.2.1.1"; + } + + smiv2:alias "snmp" { + smiv2:oid "1.3.6.1.2.1.11"; + } + + smiv2:alias "snmpMIB" { + smiv2:oid "1.3.6.1.6.3.1"; + } + + smiv2:alias "snmpMIBObjects" { + smiv2:oid "1.3.6.1.6.3.1.1"; + } + + smiv2:alias "snmpTrap" { + smiv2:oid "1.3.6.1.6.3.1.1.4"; + } + + smiv2:alias "snmpTraps" { + smiv2:oid "1.3.6.1.6.3.1.1.5"; + } + + smiv2:alias "snmpSet" { + smiv2:oid "1.3.6.1.6.3.1.1.6"; + } + + smiv2:alias "snmpMIBConformance" { + smiv2:oid "1.3.6.1.6.3.1.2"; + } + + smiv2:alias "snmpMIBCompliances" { + smiv2:oid "1.3.6.1.6.3.1.2.1"; + } + + smiv2:alias "snmpMIBGroups" { + smiv2:oid "1.3.6.1.6.3.1.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SNMPv2-TC.yang b/vendor/cisco/xe/17151/MIBS/SNMPv2-TC.yang new file mode 100644 index 000000000..6c99400ab --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SNMPv2-TC.yang @@ -0,0 +1,739 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SNMPv2-TC.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SNMPv2-TC + * + * Do not edit. Edit the source file instead! + */ + +module SNMPv2-TC { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC"; + prefix SNMPv2-TC; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + typedef DisplayString { + type string; + description + "Represents textual information taken from the NVT ASCII + character set, as defined in pages 4, 10-11 of RFC 854. + + To summarize RFC 854, the NVT ASCII repertoire specifies: + + - the use of character codes 0-127 (decimal) + + - the graphics characters (32-126) are interpreted as + US ASCII + + - NUL, LF, CR, BEL, BS, HT, VT and FF have the special + meanings specified in RFC 854 + + - the other 25 codes have no standard interpretation + + - the sequence 'CR LF' means newline + + - the sequence 'CR NUL' means carriage-return + + - an 'LF' not preceded by a 'CR' means moving to the + same column on the next line. + + - the sequence 'CR x' for any x other than LF or NUL is + illegal. (Note that this also means that a string may + end with either 'CR LF' or 'CR NUL', but not with CR.) + + Any object defined using this syntax may not exceed 255 + characters in length."; + smiv2:display-hint "255a"; + } + + typedef PhysAddress { + type string; + description + "Represents media- or physical-level addresses."; + smiv2:display-hint "1x:"; + } + + typedef MacAddress { + type string; + description + "Represents an 802 MAC address represented in the + `canonical' order defined by IEEE 802.1a, i.e., as if it + were transmitted least significant bit first, even though + 802.5 (in contrast to other 802.x protocols) requires MAC + addresses to be transmitted most significant bit first."; + smiv2:display-hint "1x:"; + } + + typedef TruthValue { + type enumeration { + enum "true" { + value "1"; + } + enum "false" { + value "2"; + } + } + description + "Represents a boolean value."; + } + + typedef TestAndIncr { + type int32 { + range "0..2147483647"; + } + description + "Represents integer-valued information used for atomic + operations. When the management protocol is used to specify + that an object instance having this syntax is to be + modified, the new value supplied via the management protocol + must precisely match the value presently held by the + instance. If not, the management protocol set operation + fails with an error of `inconsistentValue'. Otherwise, if + the current value is the maximum value of 2^31-1 (2147483647 + decimal), then the value held by the instance is wrapped to + zero; otherwise, the value held by the instance is + incremented by one. (Note that regardless of whether the + management protocol set operation succeeds, the variable- + binding in the request and response PDUs are identical.) + + The value of the ACCESS clause for objects having this + syntax is either `read-write' or `read-create'. When an + instance of a columnar object having this syntax is created, + any value may be supplied via the management protocol. + + When the network management portion of the system is re- + initialized, the value of every object instance having this + syntax must either be incremented from its value prior to + the re-initialization, or (if the value prior to the re- + initialization is unknown) be set to a pseudo-randomly + generated value."; + } + + typedef AutonomousType { + type yang:object-identifier-128; + description + "Represents an independently extensible type identification + value. It may, for example, indicate a particular sub-tree + with further MIB definitions, or define a particular type of + protocol or hardware."; + } + + typedef InstancePointer { + type yang:object-identifier-128; + status obsolete; + description + "A pointer to either a specific instance of a MIB object or + a conceptual row of a MIB table in the managed device. In + the latter case, by convention, it is the name of the + particular instance of the first accessible columnar object + in the conceptual row. + + The two uses of this textual convention are replaced by + VariablePointer and RowPointer, respectively."; + } + + typedef VariablePointer { + type yang:object-identifier-128; + description + "A pointer to a specific object instance. For example, + sysContact.0 or ifInOctets.3."; + } + + typedef RowPointer { + type yang:object-identifier-128; + description + "Represents a pointer to a conceptual row. The value is the + name of the instance of the first accessible columnar object + in the conceptual row. + + For example, ifIndex.3 would point to the 3rd row in the + ifTable (note that if ifIndex were not-accessible, then + ifDescr.3 would be used instead)."; + } + + typedef RowStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "notInService" { + value "2"; + } + enum "notReady" { + value "3"; + } + enum "createAndGo" { + value "4"; + } + enum "createAndWait" { + value "5"; + } + enum "destroy" { + value "6"; + } + } + description + "The RowStatus textual convention is used to manage the + creation and deletion of conceptual rows, and is used as the + value of the SYNTAX clause for the status column of a + conceptual row (as described in Section 7.7.1 of [2].) + + The status column has six defined values: + + - `active', which indicates that the conceptual row is + available for use by the managed device; + + - `notInService', which indicates that the conceptual + row exists in the agent, but is unavailable for use by + the managed device (see NOTE below); + + - `notReady', which indicates that the conceptual row + exists in the agent, but is missing information + necessary in order to be available for use by the + managed device; + + - `createAndGo', which is supplied by a management + station wishing to create a new instance of a + conceptual row and to have its status automatically set + to active, making it available for use by the managed + device; + + - `createAndWait', which is supplied by a management + station wishing to create a new instance of a + conceptual row (but not make it available for use by + the managed device); and, + + - `destroy', which is supplied by a management station + wishing to delete all of the instances associated with + an existing conceptual row. + + Whereas five of the six values (all except `notReady') may + be specified in a management protocol set operation, only + three values will be returned in response to a management + protocol retrieval operation: `notReady', `notInService' or + `active'. That is, when queried, an existing conceptual row + has only three states: it is either available for use by + the managed device (the status column has value `active'); + it is not available for use by the managed device, though + the agent has sufficient information to make it so (the + status column has value `notInService'); or, it is not + available for use by the managed device, and an attempt to + make it so would fail because the agent has insufficient + information (the state column has value `notReady'). + + NOTE WELL + + This textual convention may be used for a MIB table, + irrespective of whether the values of that table's + conceptual rows are able to be modified while it is + active, or whether its conceptual rows must be taken + out of service in order to be modified. That is, it is + the responsibility of the DESCRIPTION clause of the + status column to specify whether the status column must + not be `active' in order for the value of some other + column of the same conceptual row to be modified. If + such a specification is made, affected columns may be + changed by an SNMP set PDU if the RowStatus would not + be equal to `active' either immediately before or after + processing the PDU. In other words, if the PDU also + contained a varbind that would change the RowStatus + value, the column in question may be changed if the + RowStatus was not equal to `active' as the PDU was + received, or if the varbind sets the status to a value + other than 'active'. + + + Also note that whenever any elements of a row exist, the + RowStatus column must also exist. + + + To summarize the effect of having a conceptual row with a + status column having a SYNTAX clause value of RowStatus, + consider the following state diagram: + + + STATE + +--------------+-----------+-------------+------------- + | A | B | C | D + | |status col.|status column| + |status column | is | is |status column + ACTION |does not exist| notReady | notInService| is active + --------------+--------------+-----------+-------------+------------- + set status |noError ->D|inconsist- |inconsistent-|inconsistent- + column to | or | entValue| Value| Value + createAndGo |inconsistent- | | | + | Value| | | + --------------+--------------+-----------+-------------+------------- + set status |noError see 1|inconsist- |inconsistent-|inconsistent- + column to | or | entValue| Value| Value + createAndWait |wrongValue | | | + --------------+--------------+-----------+-------------+------------- + set status |inconsistent- |inconsist- |noError |noError + column to | Value| entValue| | + active | | | | + | | or | | + | | | | + | |see 2 ->D| ->D| ->D + --------------+--------------+-----------+-------------+------------- + set status |inconsistent- |inconsist- |noError |noError ->C + column to | Value| entValue| | + notInService | | | | + | | or | | or + | | | | + | |see 3 ->C| ->C|wrongValue + --------------+--------------+-----------+-------------+------------- + set status |noError |noError |noError |noError + column to | | | | + destroy | ->A| ->A| ->A| ->A + --------------+--------------+-----------+-------------+------------- + set any other |see 4 |noError |noError |see 5 + column to some| | | | + value | | see 1| ->C| ->D + --------------+--------------+-----------+-------------+------------- + + (1) goto B or C, depending on information available to the + agent. + + (2) if other variable bindings included in the same PDU, + provide values for all columns which are missing but + required, then return noError and goto D. + + (3) if other variable bindings included in the same PDU, + provide values for all columns which are missing but + required, then return noError and goto C. + + (4) at the discretion of the agent, the return value may be + either: + + inconsistentName: because the agent does not choose to + create such an instance when the corresponding + RowStatus instance does not exist, or + + inconsistentValue: if the supplied value is + inconsistent with the state of some other MIB object's + value, or + + noError: because the agent chooses to create the + instance. + + If noError is returned, then the instance of the status + column must also be created, and the new state is B or C, + depending on the information available to the agent. If + inconsistentName or inconsistentValue is returned, the row + remains in state A. + + (5) depending on the MIB definition for the column/table, + either noError or inconsistentValue may be returned. + + NOTE: Other processing of the set request may result in a + response other than noError being returned, e.g., + wrongValue, noCreation, etc. + + + Conceptual Row Creation + + There are four potential interactions when creating a + conceptual row: selecting an instance-identifier which is + not in use; creating the conceptual row; initializing any + objects for which the agent does not supply a default; and, + making the conceptual row available for use by the managed + device. + + Interaction 1: Selecting an Instance-Identifier + + The algorithm used to select an instance-identifier varies + for each conceptual row. In some cases, the instance- + identifier is semantically significant, e.g., the + destination address of a route, and a management station + selects the instance-identifier according to the semantics. + + In other cases, the instance-identifier is used solely to + distinguish conceptual rows, and a management station + without specific knowledge of the conceptual row might + examine the instances present in order to determine an + unused instance-identifier. (This approach may be used, but + it is often highly sub-optimal; however, it is also a + questionable practice for a naive management station to + attempt conceptual row creation.) + + Alternately, the MIB module which defines the conceptual row + might provide one or more objects which provide assistance + in determining an unused instance-identifier. For example, + if the conceptual row is indexed by an integer-value, then + an object having an integer-valued SYNTAX clause might be + defined for such a purpose, allowing a management station to + issue a management protocol retrieval operation. In order + to avoid unnecessary collisions between competing management + stations, `adjacent' retrievals of this object should be + different. + + Finally, the management station could select a pseudo-random + number to use as the index. In the event that this index + was already in use and an inconsistentValue was returned in + response to the management protocol set operation, the + management station should simply select a new pseudo-random + number and retry the operation. + + A MIB designer should choose between the two latter + algorithms based on the size of the table (and therefore the + efficiency of each algorithm). For tables in which a large + number of entries are expected, it is recommended that a MIB + object be defined that returns an acceptable index for + creation. For tables with small numbers of entries, it is + recommended that the latter pseudo-random index mechanism be + used. + + Interaction 2: Creating the Conceptual Row + + Once an unused instance-identifier has been selected, the + management station determines if it wishes to create and + activate the conceptual row in one transaction or in a + negotiated set of interactions. + + Interaction 2a: Creating and Activating the Conceptual Row + + The management station must first determine the column + requirements, i.e., it must determine those columns for + which it must or must not provide values. Depending on the + complexity of the table and the management station's + knowledge of the agent's capabilities, this determination + can be made locally by the management station. Alternately, + the management station issues a management protocol get + operation to examine all columns in the conceptual row that + it wishes to create. In response, for each column, there + are three possible outcomes: + + - a value is returned, indicating that some other + management station has already created this conceptual + row. We return to interaction 1. + + - the exception `noSuchInstance' is returned, + indicating that the agent implements the object-type + associated with this column, and that this column in at + least one conceptual row would be accessible in the MIB + view used by the retrieval were it to exist. For those + columns to which the agent provides read-create access, + the `noSuchInstance' exception tells the management + station that it should supply a value for this column + when the conceptual row is to be created. + + - the exception `noSuchObject' is returned, indicating + that the agent does not implement the object-type + associated with this column or that there is no + conceptual row for which this column would be + accessible in the MIB view used by the retrieval. As + such, the management station can not issue any + management protocol set operations to create an + instance of this column. + + Once the column requirements have been determined, a + management protocol set operation is accordingly issued. + This operation also sets the new instance of the status + column to `createAndGo'. + + When the agent processes the set operation, it verifies that + it has sufficient information to make the conceptual row + available for use by the managed device. The information + available to the agent is provided by two sources: the + management protocol set operation which creates the + conceptual row, and, implementation-specific defaults + supplied by the agent (note that an agent must provide + implementation-specific defaults for at least those objects + which it implements as read-only). If there is sufficient + information available, then the conceptual row is created, a + `noError' response is returned, the status column is set to + `active', and no further interactions are necessary (i.e., + interactions 3 and 4 are skipped). If there is insufficient + information, then the conceptual row is not created, and the + set operation fails with an error of `inconsistentValue'. + On this error, the management station can issue a management + protocol retrieval operation to determine if this was + because it failed to specify a value for a required column, + or, because the selected instance of the status column + already existed. In the latter case, we return to + interaction 1. In the former case, the management station + can re-issue the set operation with the additional + information, or begin interaction 2 again using + `createAndWait' in order to negotiate creation of the + conceptual row. + + NOTE WELL + + Regardless of the method used to determine the column + requirements, it is possible that the management + station might deem a column necessary when, in fact, + the agent will not allow that particular columnar + instance to be created or written. In this case, the + management protocol set operation will fail with an + error such as `noCreation' or `notWritable'. In this + case, the management station decides whether it needs + to be able to set a value for that particular columnar + instance. If not, the management station re-issues the + management protocol set operation, but without setting + a value for that particular columnar instance; + otherwise, the management station aborts the row + creation algorithm. + + Interaction 2b: Negotiating the Creation of the Conceptual + Row + + The management station issues a management protocol set + operation which sets the desired instance of the status + column to `createAndWait'. If the agent is unwilling to + process a request of this sort, the set operation fails with + an error of `wrongValue'. (As a consequence, such an agent + must be prepared to accept a single management protocol set + operation, i.e., interaction 2a above, containing all of the + columns indicated by its column requirements.) Otherwise, + the conceptual row is created, a `noError' response is + returned, and the status column is immediately set to either + `notInService' or `notReady', depending on whether it has + sufficient information to make the conceptual row available + for use by the managed device. If there is sufficient + information available, then the status column is set to + `notInService'; otherwise, if there is insufficient + information, then the status column is set to `notReady'. + Regardless, we proceed to interaction 3. + + Interaction 3: Initializing non-defaulted Objects + + The management station must now determine the column + requirements. It issues a management protocol get operation + to examine all columns in the created conceptual row. In + the response, for each column, there are three possible + outcomes: + + - a value is returned, indicating that the agent + implements the object-type associated with this column + and had sufficient information to provide a value. For + those columns to which the agent provides read-create + access (and for which the agent allows their values to + be changed after their creation), a value return tells + the management station that it may issue additional + management protocol set operations, if it desires, in + order to change the value associated with this column. + + - the exception `noSuchInstance' is returned, + indicating that the agent implements the object-type + associated with this column, and that this column in at + least one conceptual row would be accessible in the MIB + view used by the retrieval were it to exist. However, + the agent does not have sufficient information to + provide a value, and until a value is provided, the + conceptual row may not be made available for use by the + managed device. For those columns to which the agent + provides read-create access, the `noSuchInstance' + exception tells the management station that it must + issue additional management protocol set operations, in + order to provide a value associated with this column. + + - the exception `noSuchObject' is returned, indicating + that the agent does not implement the object-type + associated with this column or that there is no + conceptual row for which this column would be + accessible in the MIB view used by the retrieval. As + such, the management station can not issue any + management protocol set operations to create an + instance of this column. + + If the value associated with the status column is + `notReady', then the management station must first deal with + all `noSuchInstance' columns, if any. Having done so, the + value of the status column becomes `notInService', and we + proceed to interaction 4. + + Interaction 4: Making the Conceptual Row Available + + Once the management station is satisfied with the values + associated with the columns of the conceptual row, it issues + a management protocol set operation to set the status column + to `active'. If the agent has sufficient information to + make the conceptual row available for use by the managed + device, the management protocol set operation succeeds (a + `noError' response is returned). Otherwise, the management + protocol set operation fails with an error of + `inconsistentValue'. + + + NOTE WELL + + A conceptual row having a status column with value + `notInService' or `notReady' is unavailable to the + managed device. As such, it is possible for the + managed device to create its own instances during the + time between the management protocol set operation + which sets the status column to `createAndWait' and the + management protocol set operation which sets the status + column to `active'. In this case, when the management + protocol set operation is issued to set the status + column to `active', the values held in the agent + supersede those used by the managed device. + + If the management station is prevented from setting the + status column to `active' (e.g., due to management station + or network failure) the conceptual row will be left in the + `notInService' or `notReady' state, consuming resources + indefinitely. The agent must detect conceptual rows that + have been in either state for an abnormally long period of + time and remove them. It is the responsibility of the + DESCRIPTION clause of the status column to indicate what an + abnormally long period of time would be. This period of + time should be long enough to allow for human response time + (including `think time') between the creation of the + conceptual row and the setting of the status to `active'. + In the absense of such information in the DESCRIPTION + clause, it is suggested that this period be approximately 5 + minutes in length. This removal action applies not only to + newly-created rows, but also to previously active rows which + are set to, and left in, the notInService state for a + prolonged period exceeding that which is considered normal + for such a conceptual row. + + + Conceptual Row Suspension + + When a conceptual row is `active', the management station + may issue a management protocol set operation which sets the + instance of the status column to `notInService'. If the + agent is unwilling to do so, the set operation fails with an + error of `wrongValue'. Otherwise, the conceptual row is + taken out of service, and a `noError' response is returned. + It is the responsibility of the DESCRIPTION clause of the + status column to indicate under what circumstances the + status column should be taken out of service (e.g., in order + for the value of some other column of the same conceptual + row to be modified). + + + Conceptual Row Deletion + + For deletion of conceptual rows, a management protocol set + operation is issued which sets the instance of the status + column to `destroy'. This request may be made regardless of + the current value of the status column (e.g., it is possible + to delete conceptual rows which are either `notReady', + `notInService' or `active'.) If the operation succeeds, + then all instances associated with the conceptual row are + immediately removed."; + } + + typedef TimeStamp { + type yang:timeticks; + description + "The value of the sysUpTime object at which a specific + occurrence happened. The specific occurrence must be + defined in the description of any object defined using this + type."; + } + + typedef TimeInterval { + type int32 { + range "0..2147483647"; + } + description + "A period of time, measured in units of 0.01 seconds."; + } + + typedef DateAndTime { + type string; + description + "A date-time specification. + + field octets contents range + ----- ------ -------- ----- + 1 1-2 year 0..65536 + 2 3 month 1..12 + 3 4 day 1..31 + 4 5 hour 0..23 + 5 6 minutes 0..59 + 6 7 seconds 0..60 + (use 60 for leap-second) + 7 8 deci-seconds 0..9 + 8 9 direction from UTC '+' / '-' + 9 10 hours from UTC 0..11 + 10 11 minutes from UTC 0..59 + + For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be + displayed as: + + 1992-5-26,13:30:15.0,-4:0 + + Note that if only local time is known, then timezone + information (fields 8-10) is not present."; + smiv2:display-hint "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"; + } + + typedef StorageType { + type enumeration { + enum "other" { + value "1"; + } + enum "volatile" { + value "2"; + } + enum "nonVolatile" { + value "3"; + } + enum "permanent" { + value "4"; + } + enum "readOnly" { + value "5"; + } + } + description + "Describes the memory realization of a conceptual row. A + row which is volatile(2) is lost upon reboot. A row which + is either nonVolatile(3), permanent(4) or readOnly(5), is + backed up by stable storage. A row which is permanent(4) + can be changed but not deleted. A row which is readOnly(5) + cannot be changed nor deleted. + + If the value of an object with this syntax is either + permanent(4) or readOnly(5), it cannot be modified. + Conversely, if the value is either other(1), volatile(2) or + nonVolatile(3), it cannot be modified to be permanent(4) or + readOnly(5). + + Every usage of this textual convention is required to + specify the columnar objects which a permanent(4) row must + at a minimum allow to be writable."; + } + + typedef TDomain { + type yang:object-identifier-128; + description + "Denotes a kind of transport service. + + Some possible values, such as snmpUDPDomain, are defined in + 'Transport Mappings for Version 2 of the Simple Network + Management Protocol (SNMPv2)'."; + } + + typedef TAddress { + type binary { + length "1..255"; + } + description + "Denotes a transport service address. + + For snmpUDPDomain, a TAddress is 6 octets long, the initial 4 + octets containing the IP-address in network-byte order and the + last 2 containing the UDP port in network-byte order. Consult + 'Transport Mappings for Version 2 of the Simple Network + Management Protocol (SNMPv2)' for further information on + snmpUDPDomain."; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/SONET-MIB.yang b/vendor/cisco/xe/17151/MIBS/SONET-MIB.yang new file mode 100644 index 000000000..036521c7d --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/SONET-MIB.yang @@ -0,0 +1,1755 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/SONET-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang SONET-MIB + * + * Do not edit. Edit the source file instead! + */ + +module SONET-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB"; + prefix SONET-MIB; + + import IF-MIB { + prefix "if-mib"; + } + + import PerfHist-TC-MIB { + prefix "perfhist-tc"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF AToM MIB Working Group"; + + contact + "WG charter: + http://www.ietf.org/html.charters/atommib-charter.html + + Mailing Lists: + General Discussion: atommib@research.telcordia.com + To Subscribe: atommib-request@research.telcordia.com + + Kaj Tesink + Telcordia Technologies + Tel: (732) 758-5254 + Fax: (732) 758-2269 + E-mail: kaj@research.telcordia.com."; + + description + "The MIB module to describe SONET/SDH interface objects. + + Copyright (C) The Internet Society (2003). This version + of this MIB module is part of RFC 3592; see the RFC + itself for full legal notices."; + + revision 2003-08-11 { + description + "The key changes made to this MIB module + since its publication in RFC 2558 + are as follows. + + (1) Corrected typographical error + (bellcore1991(2) in sonetSESthresholdSet) + + (2) Added support for sts192cSTM64(6) and + sts768cSTM256(7) in sonetPathCurrentWidth + + (3) Corrected description of the applicability + of VTs for SDH for improved accuracy + + (4) Added clarification in the SES description that + CV counts should be frozen during SESs + + (5) Corrected typographical errors: + - Line Alarm Indication Signal description of the + Terminology section (20.5 --> 2.5 seconds) + - In the Terminology section + sonetSESThresholdSet --> sonetSESthresholdSet + "; + } + + revision 1998-10-19 { + description + "The RFC 2558 version of this MIB module. + The key changes made to this MIB module + since its initial publication in RFC 1595 + are as follows. + + (1) The MODULE-IDENTITY has been updated to reflect the + changes to the MIB. + + (2) Where applicable, the textual conventions + PerfCurrentCount and PerfIntervalCount from + PerfHist-TC-MIB have been used in place of Gauge32. + + (3) An agent now has the option to delay updates to + the various performance counts in lieu of performing + retroactive adjustments upon entering into or exiting + from unavailable time. This implementation option is + described in Appendix A of this memo. + + (4) In order to make the SONET-MIB more useful for + circuit provisioning, the formerly read-only objects + sonetMediumType, sonetMediumLineCoding, + sonetMediumLineType, and sonetMediumCircuitIdentifier + have been given a MAX-ACCESS of read-write. The + MIN-ACCESS remains read-only. + + (5) The DESCRIPTION clause for sonetMediumTimeElapsed has + been updated to describe its behaviour if the duration + of the current interval exceeds the maximum value. + + (6) The DESCRIPTION clause for sonetMediumValidIntervals + has been updated to describe its behaviour when some + intervals may be unavailable, and the object + sonetMediumInvalidIntervals has been added to keep + count of the number of missing intervals (if any). + + (7) The object sonetMediumLoopbackConfig has been added + to enable or disable loopback configurations. + + (8) Because the error count thresholds for declaring + severely errored seconds that are specified in ANSI + T1.231-1993, ITU-T G.826-1995, and ANSI T1.231-1997 + are all different from each other and from the thresholds + specified in RFC 1595, an enumerated INTEGER object + sonetSESthresholdSet has been added to allow an agent + to specify which threshold set is in use. Text has + been added to Section 3 stating that if this object is + not implemented the thresholds specified in RFC 1595 + should be assumed, and the table containing those + thresholds has been moved to Appendix B of this memo. + + (9) A column with SYNTAX TruthValue has been added to each + interval table. The purpose of the additional column + is to indicate, for each interval, whether the data + is valid in the sense intended by ANSI T1.231 clause + 9.1.2.2 [T1.231a][T1.231b]. The objects in question are: + + sonetSectionIntervalValidData + sonetLineIntervalValidData + sonetFarEndLineIntervalValidData + sonetPathIntervalValidData + sonetFarEndPathIntervalValidData + sonetVTIntervalValidData + sonetFarEndVTIntervalValidData + + (10) The ranges for sonetPathCurrentStatus and + sonetVTCurrentStatus have been made consistent + with the DESCRIPTION clauses. + + (11) The conformance information has been updated. Previous + conformance information from RFC 1595 has been + deprecated. Some typographical errors in the deprecated + section have been corrected in order to prevent + MIB compilation errors."; + } + + revision 1994-01-03 { + description + "The RFC 1595 version of this MIB module."; + } + + + container SONET-MIB { + config false; + + container sonetMedium { + smiv2:oid "1.3.6.1.2.1.10.39.1.1"; + + leaf sonetSESthresholdSet { + type enumeration { + enum "other" { + value "1"; + } + enum "bellcore1991" { + value "2"; + } + enum "ansi1993" { + value "3"; + } + enum "itu1995" { + value "4"; + } + enum "ansi1997" { + value "5"; + } + } + description + "An enumerated integer indicating which + recognized set of SES thresholds that + the agent uses for determining severely + errored seconds and unavailable time. + + other(1) + None of the following. + + bellcore1991(2) + Bellcore TR-NWT-000253, 1991 [TR253], or + ANSI T1M1.3/93-005R2, 1993 [T1M1.3]. + See also Appendix B. + + ansi1993(3) + ANSI T1.231, 1993 [T1.231a], or + Bellcore GR-253-CORE, Issue 2, 1995 [GR253] + + itu1995(4) + ITU Recommendation G.826, 1995 [G.826] + + ansi1997(5) + ANSI T1.231, 1997 [T1.231b] + + If a manager changes the value of this + object then the SES statistics collected + prior to this change must be invalidated."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.2"; + } + } + + container sonetMediumTable { + description + "The SONET/SDH Medium table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1"; + + list sonetMediumEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Medium table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetMediumType { + type enumeration { + enum "sonet" { + value "1"; + } + enum "sdh" { + value "2"; + } + } + description + "This variable identifies whether a SONET + or a SDH signal is used across this interface."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.1"; + } + + leaf sonetMediumTimeElapsed { + type int32 { + range "1..900"; + } + description + "The number of seconds, including partial seconds, + that have elapsed since the beginning of the current + measurement period. If, for some reason, such as an + adjustment in the system's time-of-day clock, the + current interval exceeds the maximum value, the + agent will return the maximum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.2"; + } + + leaf sonetMediumValidIntervals { + type int32 { + range "0..96"; + } + description + "The number of previous 15-minute intervals + for which data was collected. + A SONET/SDH interface must be capable + of supporting at least n intervals. + The minimum value of n is 4. + The default of n is 32. + The maximum value of n is 96. + The value will be unless the measurement was + (re-)started within the last (*15) minutes, in which + case the value will be the number of complete 15 + minute intervals for which the agent has at least + some data. In certain cases (e.g., in the case + where the agent is a proxy) it is possible that some + intervals are unavailable. In this case, this + interval is the maximum interval number for + which data is available. "; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.3"; + } + + leaf sonetMediumLineCoding { + type enumeration { + enum "sonetMediumOther" { + value "1"; + } + enum "sonetMediumB3ZS" { + value "2"; + } + enum "sonetMediumCMI" { + value "3"; + } + enum "sonetMediumNRZ" { + value "4"; + } + enum "sonetMediumRZ" { + value "5"; + } + } + description + "This variable describes the line coding for + this interface. The B3ZS and CMI are used for + electrical SONET/SDH signals (STS-1 and STS-3). + The Non-Return to Zero (NRZ) and the Return + to Zero are used for optical SONET/SDH signals."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.4"; + } + + leaf sonetMediumLineType { + type enumeration { + enum "sonetOther" { + value "1"; + } + enum "sonetShortSingleMode" { + value "2"; + } + enum "sonetLongSingleMode" { + value "3"; + } + enum "sonetMultiMode" { + value "4"; + } + enum "sonetCoax" { + value "5"; + } + enum "sonetUTP" { + value "6"; + } + } + description + "This variable describes the line type for + this interface. The line types are + Short and Long Range + Single Mode fiber or Multi-Mode fiber interfaces, + and coax and UTP for electrical interfaces. The + value sonetOther should be used when the Line Type is + not one of the listed values."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.5"; + } + + leaf sonetMediumCircuitIdentifier { + type snmpv2-tc:DisplayString { + length "0..255"; + } + description + "This variable contains the transmission + vendor's circuit identifier, for the + purpose of facilitating troubleshooting. + Note that the circuit identifier, if available, + is also represented by ifPhysAddress."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.6"; + } + + leaf sonetMediumInvalidIntervals { + type int32 { + range "0..96"; + } + description + "The number of intervals in the range from + 0 to sonetMediumValidIntervals for which no + data is available. This object will typically + be zero except in cases where the data for some + intervals are not available (e.g., in proxy + situations)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.7"; + } + + leaf sonetMediumLoopbackConfig { + type bits { + bit sonetNoLoop { + position "0"; + } + bit sonetFacilityLoop { + position "1"; + } + bit sonetTerminalLoop { + position "2"; + } + bit sonetOtherLoop { + position "3"; + } + } + description + "The current loopback state of the SONET/SDH interface. The + values mean: + + sonetNoLoop + Not in the loopback state. A device that is not + capable of performing a loopback on this interface + shall always return this value. + + sonetFacilityLoop + The received signal at this interface is looped back + out through the corresponding transmitter in the return + direction. + + sonetTerminalLoop + The signal that is about to be transmitted is connected + to the associated incoming receiver. + + sonetOtherLoop + Loopbacks that are not defined here."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.1.1.1.1.8"; + } + } + } + + container sonetSectionCurrentTable { + description + "The SONET/SDH Section Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1"; + + list sonetSectionCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Section Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetSectionCurrentStatus { + type int32 { + range "1..6"; + } + description + "This variable indicates the + status of the interface. + The sonetSectionCurrentStatus + is a bit map represented + as a sum, therefore, + it can represent multiple defects + simultaneously. + The sonetSectionNoDefect should be + set if and only if + no other flag is set. + + The various bit positions are: + 1 sonetSectionNoDefect + 2 sonetSectionLOS + 4 sonetSectionLOF"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1.1"; + } + + leaf sonetSectionCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Errored + Seconds encountered by a SONET/SDH + Section in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1.2"; + } + + leaf sonetSectionCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Section in the current 15 + minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1.3"; + } + + leaf sonetSectionCurrentSEFSs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Framing Seconds + encountered by a SONET/SDH Section in the current + 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1.4"; + } + + leaf sonetSectionCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Section in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.1.1.5"; + } + } + } + + container sonetSectionIntervalTable { + description + "The SONET/SDH Section Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2"; + + list sonetSectionIntervalEntry { + key "ifIndex sonetSectionIntervalNumber"; + description + "An entry in the SONET/SDH Section Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetSectionIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.1"; + } + + leaf sonetSectionIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Errored Seconds encountered + by a SONET/SDH Section in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.2"; + } + + leaf sonetSectionIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Section in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.3"; + } + + leaf sonetSectionIntervalSEFSs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Framing Seconds + encountered by a SONET/SDH Section in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.4"; + } + + leaf sonetSectionIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Section in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.5"; + } + + leaf sonetSectionIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.2.2.1.6"; + } + } + } + + container sonetLineCurrentTable { + description + "The SONET/SDH Line Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1"; + + list sonetLineCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Line Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetLineCurrentStatus { + type int32 { + range "1..6"; + } + description + "This variable indicates the + status of the interface. + The sonetLineCurrentStatus + is a bit map represented + as a sum, therefore, + it can represent multiple defects + simultaneously. + The sonetLineNoDefect should be + set if and only if + no other flag is set. + + The various bit positions are: + 1 sonetLineNoDefect + 2 sonetLineAIS + 4 sonetLineRDI"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1.1"; + } + + leaf sonetLineCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Errored + Seconds encountered by a SONET/SDH + Line in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1.2"; + } + + leaf sonetLineCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Line in the current 15 + minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1.3"; + } + + leaf sonetLineCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Line in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1.4"; + } + + leaf sonetLineCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Unavailable Seconds + encountered by a SONET/SDH Line in the current 15 + minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.1.1.5"; + } + } + } + + container sonetLineIntervalTable { + description + "The SONET/SDH Line Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2"; + + list sonetLineIntervalEntry { + key "ifIndex sonetLineIntervalNumber"; + description + "An entry in the SONET/SDH Line Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetLineIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.1"; + } + + leaf sonetLineIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Errored Seconds encountered + by a SONET/SDH Line in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.2"; + } + + leaf sonetLineIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Line in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.3"; + } + + leaf sonetLineIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Line in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.4"; + } + + leaf sonetLineIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the + number of Unavailable Seconds + encountered by a SONET/SDH Line in + a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.5"; + } + + leaf sonetLineIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.3.2.1.6"; + } + } + } + + container sonetFarEndLineCurrentTable { + description + "The SONET/SDH Far End Line Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1"; + + list sonetFarEndLineCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Far End Line Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndLineCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far + End Errored Seconds encountered by a SONET/SDH + interface in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1.1.1"; + } + + leaf sonetFarEndLineCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH Medium/Section/Line + interface in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1.1.2"; + } + + leaf sonetFarEndLineCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH Medium/Section/Line + interface in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1.1.3"; + } + + leaf sonetFarEndLineCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH Medium/Section/Line + interface in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.1.1.4"; + } + } + } + + container sonetFarEndLineIntervalTable { + description + "The SONET/SDH Far End Line Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2"; + + list sonetFarEndLineIntervalEntry { + key "ifIndex sonetFarEndLineIntervalNumber"; + description + "An entry in the SONET/SDH Far + End Line Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndLineIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.1"; + } + + leaf sonetFarEndLineIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Errored Seconds encountered + by a SONET/SDH Line + interface in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.2"; + } + + leaf sonetFarEndLineIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH Line + interface in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.3"; + } + + leaf sonetFarEndLineIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH Line + interface in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.4"; + } + + leaf sonetFarEndLineIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH Line + interface in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.5"; + } + + leaf sonetFarEndLineIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.1.4.2.1.6"; + } + } + } + + container sonetPathCurrentTable { + description + "The SONET/SDH Path Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1"; + + list sonetPathCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Path Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetPathCurrentWidth { + type enumeration { + enum "sts1" { + value "1"; + } + enum "sts3cSTM1" { + value "2"; + } + enum "sts12cSTM4" { + value "3"; + } + enum "sts24c" { + value "4"; + } + enum "sts48cSTM16" { + value "5"; + } + enum "sts192cSTM64" { + value "6"; + } + enum "sts768cSTM256" { + value "7"; + } + } + description + "A value that indicates the type of the SONET/SDH + Path. For SONET, the assigned types are + the STS-Nc SPEs, where N = 1, 3, 12, 24, 48, 192 and 768. + STS-1 is equal to 51.84 Mbps. For SDH, the assigned + types are the STM-Nc VCs, where N = 1, 4, 16, 64 and 256."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.1"; + } + + leaf sonetPathCurrentStatus { + type int32 { + range "1..62"; + } + description + "This variable indicates the + status of the interface. + The sonetPathCurrentStatus + is a bit map represented + as a sum, therefore, + it can represent multiple defects + simultaneously. + The sonetPathNoDefect should be + set if and only if + no other flag is set. + + The various bit positions are: + 1 sonetPathNoDefect + 2 sonetPathSTSLOP + 4 sonetPathSTSAIS + 8 sonetPathSTSRDI + 16 sonetPathUnequipped + 32 sonetPathSignalLabelMismatch"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.2"; + } + + leaf sonetPathCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Errored + Seconds encountered by a SONET/SDH + Path in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.3"; + } + + leaf sonetPathCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Path in the current 15 + minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.4"; + } + + leaf sonetPathCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Path in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.5"; + } + + leaf sonetPathCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Unavailable Seconds + encountered by a Path in the current + 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.1.1.6"; + } + } + } + + container sonetPathIntervalTable { + description + "The SONET/SDH Path Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2"; + + list sonetPathIntervalEntry { + key "ifIndex sonetPathIntervalNumber"; + description + "An entry in the SONET/SDH Path Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetPathIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.1"; + } + + leaf sonetPathIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Errored Seconds encountered + by a SONET/SDH Path in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.2"; + } + + leaf sonetPathIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH Path in + a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.3"; + } + + leaf sonetPathIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH Path in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.4"; + } + + leaf sonetPathIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Unavailable Seconds + encountered by a Path in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.5"; + } + + leaf sonetPathIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.1.2.1.6"; + } + } + } + + container sonetFarEndPathCurrentTable { + description + "The SONET/SDH Far End Path Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1"; + + list sonetFarEndPathCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Far End Path Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndPathCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far + End Errored Seconds encountered by a SONET/SDH + interface in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1.1.1"; + } + + leaf sonetFarEndPathCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH Path + interface in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1.1.2"; + } + + leaf sonetFarEndPathCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH Path interface in + the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1.1.3"; + } + + leaf sonetFarEndPathCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH Path interface in + the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.1.1.4"; + } + } + } + + container sonetFarEndPathIntervalTable { + description + "The SONET/SDH Far End Path Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2"; + + list sonetFarEndPathIntervalEntry { + key "ifIndex sonetFarEndPathIntervalNumber"; + description + "An entry in the SONET/SDH Far + End Path Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndPathIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.1"; + } + + leaf sonetFarEndPathIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Errored Seconds encountered + by a SONET/SDH Path interface in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.2"; + } + + leaf sonetFarEndPathIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH Path interface + in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.3"; + } + + leaf sonetFarEndPathIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH Path interface + in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.4"; + } + + leaf sonetFarEndPathIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH Path interface in + a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.5"; + } + + leaf sonetFarEndPathIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.2.2.2.1.6"; + } + } + } + + container sonetVTCurrentTable { + description + "The SONET/SDH VT Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1"; + + list sonetVTCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH VT Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetVTCurrentWidth { + type enumeration { + enum "vtWidth15VC11" { + value "1"; + } + enum "vtWidth2VC12" { + value "2"; + } + enum "vtWidth3" { + value "3"; + } + enum "vtWidth6VC2" { + value "4"; + } + enum "vtWidth6c" { + value "5"; + } + } + description + "A value that indicates the type of the SONET + VT and SDH VC. Assigned widths are + VT1.5/VC11, VT2/VC12, VT3, VT6/VC2, and VT6c."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.1"; + } + + leaf sonetVTCurrentStatus { + type int32 { + range "1..126"; + } + description + "This variable indicates the + status of the interface. + The sonetVTCurrentStatus + is a bit map represented + as a sum, therefore, + it can represent multiple defects + and failures + simultaneously. + The sonetVTNoDefect should be + set if and only if + no other flag is set. + + The various bit positions are: + 1 sonetVTNoDefect + 2 sonetVTLOP + 4 sonetVTPathAIS + 8 sonetVTPathRDI + 16 sonetVTPathRFI + 32 sonetVTUnequipped + 64 sonetVTSignalLabelMismatch"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.2"; + } + + leaf sonetVTCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Errored + Seconds encountered by a SONET/SDH + VT in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.3"; + } + + leaf sonetVTCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH VT in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.4"; + } + + leaf sonetVTCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH VT in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.5"; + } + + leaf sonetVTCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Unavailable Seconds + encountered by a VT in the current + 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.1.1.6"; + } + } + } + + container sonetVTIntervalTable { + description + "The SONET/SDH VT Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2"; + + list sonetVTIntervalEntry { + key "ifIndex sonetVTIntervalNumber"; + description + "An entry in the SONET/SDH VT Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetVTIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.1"; + } + + leaf sonetVTIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Errored Seconds encountered + by a SONET/SDH VT in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.2"; + } + + leaf sonetVTIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Severely Errored Seconds + encountered by a SONET/SDH VT + in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.3"; + } + + leaf sonetVTIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of Coding + Violations encountered by a + SONET/SDH VT in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.4"; + } + + leaf sonetVTIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Unavailable Seconds + encountered by a VT in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.5"; + } + + leaf sonetVTIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.1.2.1.6"; + } + } + } + + container sonetFarEndVTCurrentTable { + description + "The SONET/SDH Far End VT Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1"; + + list sonetFarEndVTCurrentEntry { + key "ifIndex"; + description + "An entry in the SONET/SDH Far End VT Current table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndVTCurrentESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of Far + End Errored Seconds encountered by a SONET/SDH + interface in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1.1.1"; + } + + leaf sonetFarEndVTCurrentSESs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH VT interface + in the current 15 minute + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1.1.2"; + } + + leaf sonetFarEndVTCurrentCVs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH VT interface + in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1.1.3"; + } + + leaf sonetFarEndVTCurrentUASs { + type perfhist-tc:PerfCurrentCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH VT interface + in the current 15 minute interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.1.1.4"; + } + } + } + + container sonetFarEndVTIntervalTable { + description + "The SONET/SDH Far End VT Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2"; + + list sonetFarEndVTIntervalEntry { + key "ifIndex sonetFarEndVTIntervalNumber"; + description + "An entry in the SONET/SDH Far + End VT Interval table."; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf sonetFarEndVTIntervalNumber { + type int32 { + range "1..96"; + } + description + "A number between 1 and 96, which identifies the + interval for which the set of statistics is available. + The interval identified by 1 is the most recently + completed 15 minute interval, + and the interval identified + by N is the interval immediately preceding the + one identified + by N-1."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.1"; + } + + leaf sonetFarEndVTIntervalESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Errored Seconds encountered + by a SONET/SDH VT interface + in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.2"; + } + + leaf sonetFarEndVTIntervalSESs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Severely Errored Seconds + encountered by a SONET/SDH VT interface + in a particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.3"; + } + + leaf sonetFarEndVTIntervalCVs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Coding Violations reported via + the far end block error count + encountered by a + SONET/SDH VT interface in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.4"; + } + + leaf sonetFarEndVTIntervalUASs { + type perfhist-tc:PerfIntervalCount; + description + "The counter associated with the number of + Far End Unavailable Seconds + encountered by a + SONET/SDH VT interface in a + particular 15-minute interval + in the past 24 hours."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.5"; + } + + leaf sonetFarEndVTIntervalValidData { + type boolean; + description + "This variable indicates if the data for this + interval is valid."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.39.3.2.2.1.6"; + } + } + } + } + + smiv2:alias "sonetMIB" { + smiv2:oid "1.3.6.1.2.1.10.39"; + } + + smiv2:alias "sonetObjects" { + smiv2:oid "1.3.6.1.2.1.10.39.1"; + } + + smiv2:alias "sonetMedium" { + smiv2:oid "1.3.6.1.2.1.10.39.1.1"; + } + + smiv2:alias "sonetSection" { + smiv2:oid "1.3.6.1.2.1.10.39.1.2"; + } + + smiv2:alias "sonetLine" { + smiv2:oid "1.3.6.1.2.1.10.39.1.3"; + } + + smiv2:alias "sonetFarEndLine" { + smiv2:oid "1.3.6.1.2.1.10.39.1.4"; + } + + smiv2:alias "sonetObjectsPath" { + smiv2:oid "1.3.6.1.2.1.10.39.2"; + } + + smiv2:alias "sonetPath" { + smiv2:oid "1.3.6.1.2.1.10.39.2.1"; + } + + smiv2:alias "sonetFarEndPath" { + smiv2:oid "1.3.6.1.2.1.10.39.2.2"; + } + + smiv2:alias "sonetObjectsVT" { + smiv2:oid "1.3.6.1.2.1.10.39.3"; + } + + smiv2:alias "sonetVT" { + smiv2:oid "1.3.6.1.2.1.10.39.3.1"; + } + + smiv2:alias "sonetFarEndVT" { + smiv2:oid "1.3.6.1.2.1.10.39.3.2"; + } + + smiv2:alias "sonetConformance" { + smiv2:oid "1.3.6.1.2.1.10.39.4"; + } + + smiv2:alias "sonetGroups" { + smiv2:oid "1.3.6.1.2.1.10.39.4.1"; + } + + smiv2:alias "sonetCompliances" { + smiv2:oid "1.3.6.1.2.1.10.39.4.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/TCP-MIB.yang b/vendor/cisco/xe/17151/MIBS/TCP-MIB.yang new file mode 100644 index 000000000..5b09c4129 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/TCP-MIB.yang @@ -0,0 +1,718 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/TCP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang TCP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module TCP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB"; + prefix TCP-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IPv6 MIB Revision Team + http://www.ietf.org/html.charters/ipv6-charter.html"; + + contact + "Rajiv Raghunarayan (editor) + + Cisco Systems Inc. + 170 West Tasman Drive + San Jose, CA 95134 + + Phone: +1 408 853 9612 + Email: + + Send comments to "; + + description + "The MIB module for managing TCP implementations. + + Copyright (C) The Internet Society (2005). This version + of this MIB module is a part of RFC 4022; see the RFC + itself for full legal notices."; + + revision 2005-02-18 { + description + "IP version neutral revision, published as RFC 4022."; + } + + revision 1994-11-01 { + description + "Initial SMIv2 version, published as RFC 2012."; + } + + revision 1991-03-31 { + description + "The initial revision of this MIB module was part of + MIB-II."; + } + + + container TCP-MIB { + config false; + + container tcp { + smiv2:oid "1.3.6.1.2.1.6"; + + leaf tcpRtoAlgorithm { + type enumeration { + enum "other" { + value "1"; + } + enum "constant" { + value "2"; + } + enum "rsre" { + value "3"; + } + enum "vanj" { + value "4"; + } + enum "rfc2988" { + value "5"; + } + } + description + "The algorithm used to determine the timeout value used for + retransmitting unacknowledged octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.1"; + } + + leaf tcpRtoMin { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "The minimum value permitted by a TCP implementation for + the retransmission timeout, measured in milliseconds. + More refined semantics for objects of this type depend + on the algorithm used to determine the retransmission + timeout; in particular, the IETF standard algorithm + rfc2988(5) provides a minimum value."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.2"; + } + + leaf tcpRtoMax { + type int32 { + range "0..2147483647"; + } + units "milliseconds"; + description + "The maximum value permitted by a TCP implementation for + the retransmission timeout, measured in milliseconds. + More refined semantics for objects of this type depend + on the algorithm used to determine the retransmission + timeout; in particular, the IETF standard algorithm + rfc2988(5) provides an upper bound (as part of an + adaptive backoff algorithm)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.3"; + } + + leaf tcpMaxConn { + type int32 { + range "-1..2147483647"; + } + description + "The limit on the total number of TCP connections the entity + can support. In entities where the maximum number of + connections is dynamic, this object should contain the + value -1."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.4"; + } + + leaf tcpActiveOpens { + type yang:counter32; + description + "The number of times that TCP connections have made a direct + transition to the SYN-SENT state from the CLOSED state. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.5"; + } + + leaf tcpPassiveOpens { + type yang:counter32; + description + "The number of times TCP connections have made a direct + transition to the SYN-RCVD state from the LISTEN state. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.6"; + } + + leaf tcpAttemptFails { + type yang:counter32; + description + "The number of times that TCP connections have made a direct + transition to the CLOSED state from either the SYN-SENT + state or the SYN-RCVD state, plus the number of times that + TCP connections have made a direct transition to the + LISTEN state from the SYN-RCVD state. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.7"; + } + + leaf tcpEstabResets { + type yang:counter32; + description + "The number of times that TCP connections have made a direct + transition to the CLOSED state from either the ESTABLISHED + state or the CLOSE-WAIT state. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.8"; + } + + leaf tcpCurrEstab { + type yang:gauge32; + description + "The number of TCP connections for which the current state + is either ESTABLISHED or CLOSE-WAIT."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.9"; + } + + leaf tcpInSegs { + type yang:counter32; + description + "The total number of segments received, including those + received in error. This count includes segments received + on currently established connections. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.10"; + } + + leaf tcpOutSegs { + type yang:counter32; + description + "The total number of segments sent, including those on + current connections but excluding those containing only + retransmitted octets. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.11"; + } + + leaf tcpRetransSegs { + type yang:counter32; + description + "The total number of segments retransmitted; that is, the + number of TCP segments transmitted containing one or more + previously transmitted octets. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.12"; + } + + leaf tcpInErrs { + type yang:counter32; + description + "The total number of segments received in error (e.g., bad + TCP checksums). + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.14"; + } + + leaf tcpOutRsts { + type yang:counter32; + description + "The number of TCP segments sent containing the RST flag. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.15"; + } + + leaf tcpHCInSegs { + type yang:counter64; + description + "The total number of segments received, including those + received in error. This count includes segments received + + on currently established connections. This object is + the 64-bit equivalent of tcpInSegs. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.17"; + } + + leaf tcpHCOutSegs { + type yang:counter64; + description + "The total number of segments sent, including those on + current connections but excluding those containing only + retransmitted octets. This object is the 64-bit + equivalent of tcpOutSegs. + + Discontinuities in the value of this counter are + indicated via discontinuities in the value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.18"; + } + } + + container tcpConnTable { + status deprecated; + description + "A table containing information about existing IPv4-specific + TCP connections or listeners. This table has been + deprecated in favor of the version neutral + tcpConnectionTable."; + smiv2:oid "1.3.6.1.2.1.6.13"; + + list tcpConnEntry { + key "tcpConnLocalAddress tcpConnLocalPort tcpConnRemAddress tcpConnRemPort"; + status deprecated; + description + "A conceptual row of the tcpConnTable containing information + about a particular current IPv4 TCP connection. Each row + of this table is transient in that it ceases to exist when + (or soon after) the connection makes the transition to the + CLOSED state."; + smiv2:oid "1.3.6.1.2.1.6.13.1"; + + leaf tcpConnState { + type enumeration { + enum "closed" { + value "1"; + } + enum "listen" { + value "2"; + } + enum "synSent" { + value "3"; + } + enum "synReceived" { + value "4"; + } + enum "established" { + value "5"; + } + enum "finWait1" { + value "6"; + } + enum "finWait2" { + value "7"; + } + enum "closeWait" { + value "8"; + } + enum "lastAck" { + value "9"; + } + enum "closing" { + value "10"; + } + enum "timeWait" { + value "11"; + } + enum "deleteTCB" { + value "12"; + } + } + status deprecated; + description + "The state of this TCP connection. + + The only value that may be set by a management station is + deleteTCB(12). Accordingly, it is appropriate for an agent + to return a `badValue' response if a management station + attempts to set this object to any other value. + + If a management station sets this object to the value + deleteTCB(12), then the TCB (as defined in [RFC793]) of + the corresponding connection on the managed node is + deleted, resulting in immediate termination of the + connection. + + As an implementation-specific option, a RST segment may be + sent from the managed node to the other TCP endpoint (note, + however, that RST segments are not sent reliably)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.6.13.1.1"; + } + + leaf tcpConnLocalAddress { + type inet:ipv4-address; + status deprecated; + description + "The local IP address for this TCP connection. In the case + of a connection in the listen state willing to + accept connections for any IP interface associated with the + node, the value 0.0.0.0 is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.2"; + } + + leaf tcpConnLocalPort { + type int32 { + range "0..65535"; + } + status deprecated; + description + "The local port number for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.3"; + } + + leaf tcpConnRemAddress { + type inet:ipv4-address; + status deprecated; + description + "The remote IP address for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.4"; + } + + leaf tcpConnRemPort { + type int32 { + range "0..65535"; + } + status deprecated; + description + "The remote port number for this TCP connection."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.13.1.5"; + } + } + } + + container tcpConnectionTable { + description + "A table containing information about existing TCP + connections. Note that unlike earlier TCP MIBs, there + is a separate table for connections in the LISTEN state."; + smiv2:oid "1.3.6.1.2.1.6.19"; + + list tcpConnectionEntry { + key "tcpConnectionLocalAddressType tcpConnectionLocalAddress tcpConnectionLocalPort tcpConnectionRemAddressType tcpConnectionRemAddress tcpConnectionRemPort"; + description + "A conceptual row of the tcpConnectionTable containing + information about a particular current TCP connection. + Each row of this table is transient in that it ceases to + exist when (or soon after) the connection makes the + transition to the CLOSED state."; + smiv2:oid "1.3.6.1.2.1.6.19.1"; + + leaf tcpConnectionLocalAddressType { + type inet-address:InetAddressType; + description + "The address type of tcpConnectionLocalAddress."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.1"; + } + + leaf tcpConnectionLocalAddress { + type inet-address:InetAddress; + description + "The local IP address for this TCP connection. The type + of this address is determined by the value of + tcpConnectionLocalAddressType. + + As this object is used in the index for the + tcpConnectionTable, implementors should be + careful not to create entries that would result in OIDs + with more than 128 subidentifiers; otherwise the information + cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.2"; + } + + leaf tcpConnectionLocalPort { + type inet:port-number; + description + "The local port number for this TCP connection."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.3"; + } + + leaf tcpConnectionRemAddressType { + type inet-address:InetAddressType; + description + "The address type of tcpConnectionRemAddress."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.4"; + } + + leaf tcpConnectionRemAddress { + type inet-address:InetAddress; + description + "The remote IP address for this TCP connection. The type + of this address is determined by the value of + tcpConnectionRemAddressType. + + As this object is used in the index for the + tcpConnectionTable, implementors should be + careful not to create entries that would result in OIDs + with more than 128 subidentifiers; otherwise the information + cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.5"; + } + + leaf tcpConnectionRemPort { + type inet:port-number; + description + "The remote port number for this TCP connection."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.19.1.6"; + } + + leaf tcpConnectionState { + type enumeration { + enum "closed" { + value "1"; + } + enum "listen" { + value "2"; + } + enum "synSent" { + value "3"; + } + enum "synReceived" { + value "4"; + } + enum "established" { + value "5"; + } + enum "finWait1" { + value "6"; + } + enum "finWait2" { + value "7"; + } + enum "closeWait" { + value "8"; + } + enum "lastAck" { + value "9"; + } + enum "closing" { + value "10"; + } + enum "timeWait" { + value "11"; + } + enum "deleteTCB" { + value "12"; + } + } + description + "The state of this TCP connection. + + The value listen(2) is included only for parallelism to the + old tcpConnTable and should not be used. A connection in + LISTEN state should be present in the tcpListenerTable. + + The only value that may be set by a management station is + deleteTCB(12). Accordingly, it is appropriate for an agent + to return a `badValue' response if a management station + attempts to set this object to any other value. + + If a management station sets this object to the value + deleteTCB(12), then the TCB (as defined in [RFC793]) of + the corresponding connection on the managed node is + deleted, resulting in immediate termination of the + connection. + + As an implementation-specific option, a RST segment may be + sent from the managed node to the other TCP endpoint (note, + however, that RST segments are not sent reliably)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.6.19.1.7"; + } + + leaf tcpConnectionProcess { + type uint32; + description + "The system's process ID for the process associated with + this connection, or zero if there is no such process. This + value is expected to be the same as HOST-RESOURCES-MIB:: + hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some + row in the appropriate tables."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.19.1.8"; + } + } + } + + container tcpListenerTable { + description + "A table containing information about TCP listeners. A + listening application can be represented in three + possible ways: + + 1. An application that is willing to accept both IPv4 and + IPv6 datagrams is represented by + + a tcpListenerLocalAddressType of unknown (0) and + a tcpListenerLocalAddress of ''h (a zero-length + octet-string). + + 2. An application that is willing to accept only IPv4 or + IPv6 datagrams is represented by a + tcpListenerLocalAddressType of the appropriate address + type and a tcpListenerLocalAddress of '0.0.0.0' or '::' + respectively. + + 3. An application that is listening for data destined + only to a specific IP address, but from any remote + system, is represented by a tcpListenerLocalAddressType + of an appropriate address type, with + tcpListenerLocalAddress as the specific local address. + + NOTE: The address type in this table represents the + address type used for the communication, irrespective + of the higher-layer abstraction. For example, an + application using IPv6 'sockets' to communicate via + IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would + use InetAddressType ipv4(1))."; + smiv2:oid "1.3.6.1.2.1.6.20"; + + list tcpListenerEntry { + key "tcpListenerLocalAddressType tcpListenerLocalAddress tcpListenerLocalPort"; + description + "A conceptual row of the tcpListenerTable containing + information about a particular TCP listener."; + smiv2:oid "1.3.6.1.2.1.6.20.1"; + + leaf tcpListenerLocalAddressType { + type inet-address:InetAddressType; + description + "The address type of tcpListenerLocalAddress. The value + should be unknown (0) if connection initiations to all + local IP addresses are accepted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.20.1.1"; + } + + leaf tcpListenerLocalAddress { + type inet-address:InetAddress; + description + "The local IP address for this TCP connection. + + The value of this object can be represented in three + possible ways, depending on the characteristics of the + listening application: + + 1. For an application willing to accept both IPv4 and + IPv6 datagrams, the value of this object must be + ''h (a zero-length octet-string), with the value + of the corresponding tcpListenerLocalAddressType + object being unknown (0). + + 2. For an application willing to accept only IPv4 or + IPv6 datagrams, the value of this object must be + '0.0.0.0' or '::' respectively, with + tcpListenerLocalAddressType representing the + appropriate address type. + + 3. For an application which is listening for data + destined only to a specific IP address, the value + of this object is the specific local address, with + tcpListenerLocalAddressType representing the + appropriate address type. + + As this object is used in the index for the + tcpListenerTable, implementors should be + careful not to create entries that would result in OIDs + with more than 128 subidentifiers; otherwise the information + cannot be accessed, using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.20.1.2"; + } + + leaf tcpListenerLocalPort { + type inet:port-number; + description + "The local port number for this TCP connection."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.6.20.1.3"; + } + + leaf tcpListenerProcess { + type uint32; + description + "The system's process ID for the process associated with + this listener, or zero if there is no such process. This + value is expected to be the same as HOST-RESOURCES-MIB:: + hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some + row in the appropriate tables."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.6.20.1.4"; + } + } + } + } + + smiv2:alias "tcp" { + smiv2:oid "1.3.6.1.2.1.6"; + } + + smiv2:alias "tcpMIB" { + smiv2:oid "1.3.6.1.2.1.49"; + } + + smiv2:alias "tcpMIBConformance" { + smiv2:oid "1.3.6.1.2.1.49.2"; + } + + smiv2:alias "tcpMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.49.2.1"; + } + + smiv2:alias "tcpMIBGroups" { + smiv2:oid "1.3.6.1.2.1.49.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/TOKEN-RING-RMON-MIB.yang b/vendor/cisco/xe/17151/MIBS/TOKEN-RING-RMON-MIB.yang new file mode 100644 index 000000000..ec52cd21e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/TOKEN-RING-RMON-MIB.yang @@ -0,0 +1,2081 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/TOKEN-RING-RMON-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang TOKEN-RING-RMON-MIB + * + * Do not edit. Edit the source file instead! + */ + +module TOKEN-RING-RMON-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB"; + prefix TOKEN-RING-RMON-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + typedef OwnerString { + type string; + description + "This data type is used to model an administratively + assigned name of the owner of a resource. This + information is taken from the NVT ASCII character set. + It is suggested that this name contain one or more of + the following: ASCII form of the manager station's + transport address, management station name (e.g., + domain name), network management personnel's name, + location, or phone number. In some cases the agent + itself will be the owner of an entry. In these cases, + this string shall be set to a string starting with + 'agent'."; + smiv2:display-hint "255a"; + } + + typedef MacAddress { + type binary { + length "6"; + } + } + + typedef TimeInterval { + type int32; + } + + typedef EntryStatus { + type enumeration { + enum "valid" { + value "1"; + } + enum "createRequest" { + value "2"; + } + enum "underCreation" { + value "3"; + } + enum "invalid" { + value "4"; + } + } + } + + + container TOKEN-RING-RMON-MIB { + config false; + + container tokenRingMLStatsTable { + description + "A list of Mac-Layer Token Ring statistics + + + + + + entries."; + smiv2:oid "1.3.6.1.2.1.16.1.2"; + + list tokenRingMLStatsEntry { + key "tokenRingMLStatsIndex"; + description + "A collection of Mac-Layer statistics kept for a + particular Token Ring interface."; + smiv2:oid "1.3.6.1.2.1.16.1.2.1"; + + leaf tokenRingMLStatsIndex { + type int32 { + range "1..65535"; + } + description + "The value of this object uniquely identifies this + tokenRingMLStats entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.1"; + } + + leaf tokenRingMLStatsDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of the data + that this tokenRingMLStats entry is configured to + analyze. This source can be any tokenRing + interface on this device. In order to identify a + particular interface, this object shall identify + the instance of the ifIndex object, defined in + MIB-II [3], for the desired interface. For + example, if an entry were to receive data from + interface #1, this object would be set to + ifIndex.1. + + The statistics in this group reflect all error + reports on the local network segment attached to + the identified interface. + + This object may not be modified if the associated + tokenRingMLStatsStatus object is equal to + valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.2"; + } + + leaf tokenRingMLStatsDropEvents { + type yang:counter32; + description + "The total number of events in which packets were + dropped by the probe due to lack of resources. + Note that this number is not necessarily the + number of packets dropped; it is just the number + of times this condition has been detected. This + value is the same as the corresponding + tokenRingPStatsDropEvents."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.3"; + } + + leaf tokenRingMLStatsMacOctets { + type yang:counter32; + description + "The total number of octets of data in MAC packets + (excluding those that were not good frames) + received on the network (excluding framing bits + but including FCS octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.4"; + } + + leaf tokenRingMLStatsMacPkts { + type yang:counter32; + description + "The total number of MAC packets (excluding + packets that were not good frames) received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.5"; + } + + leaf tokenRingMLStatsRingPurgeEvents { + type yang:counter32; + description + "The total number of times that the ring enters + the ring purge state from normal ring state. The + ring purge state that comes in response to the + claim token or beacon state is not counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.6"; + } + + leaf tokenRingMLStatsRingPurgePkts { + type yang:counter32; + description + "The total number of ring purge MAC packets + detected by probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.7"; + } + + leaf tokenRingMLStatsBeaconEvents { + type yang:counter32; + description + "The total number of times that the ring enters a + beaconing state (beaconFrameStreamingState, + beaconBitStreamingState, + + + + + + beaconSetRecoveryModeState, or + beaconRingSignalLossState) from a non-beaconing + state. Note that a change of the source address + of the beacon packet does not constitute a new + beacon event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.8"; + } + + leaf tokenRingMLStatsBeaconTime { + type TOKEN-RING-RMON-MIB:TimeInterval; + description + "The total amount of time that the ring has been + in the beaconing state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.9"; + } + + leaf tokenRingMLStatsBeaconPkts { + type yang:counter32; + description + "The total number of beacon MAC packets detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.10"; + } + + leaf tokenRingMLStatsClaimTokenEvents { + type yang:counter32; + description + "The total number of times that the ring enters + the claim token state from normal ring state or + ring purge state. The claim token state that + comes in response to a beacon state is not + counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.11"; + } + + leaf tokenRingMLStatsClaimTokenPkts { + type yang:counter32; + description + "The total number of claim token MAC packets + detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.12"; + } + + leaf tokenRingMLStatsNAUNChanges { + type yang:counter32; + description + "The total number of NAUN changes detected by the + probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.13"; + } + + leaf tokenRingMLStatsLineErrors { + type yang:counter32; + description + "The total number of line errors reported in error + reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.14"; + } + + leaf tokenRingMLStatsInternalErrors { + type yang:counter32; + description + "The total number of adapter internal errors + reported in error reporting packets detected by + the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.15"; + } + + leaf tokenRingMLStatsBurstErrors { + type yang:counter32; + description + "The total number of burst errors reported in + error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.16"; + } + + leaf tokenRingMLStatsACErrors { + type yang:counter32; + description + "The total number of AC (Address Copied) errors + reported in error reporting packets detected by + the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.17"; + } + + leaf tokenRingMLStatsAbortErrors { + type yang:counter32; + description + "The total number of abort delimiters reported in + error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.18"; + } + + leaf tokenRingMLStatsLostFrameErrors { + type yang:counter32; + description + "The total number of lost frame errors reported in + error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.19"; + } + + leaf tokenRingMLStatsCongestionErrors { + type yang:counter32; + description + "The total number of receive congestion errors + reported in error reporting packets detected by + the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.20"; + } + + leaf tokenRingMLStatsFrameCopiedErrors { + type yang:counter32; + description + "The total number of frame copied errors reported + in error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.21"; + } + + leaf tokenRingMLStatsFrequencyErrors { + type yang:counter32; + description + "The total number of frequency errors reported in + error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.22"; + } + + leaf tokenRingMLStatsTokenErrors { + type yang:counter32; + description + "The total number of token errors reported in + error reporting packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.23"; + } + + leaf tokenRingMLStatsSoftErrorReports { + type yang:counter32; + description + "The total number of soft error report frames + detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.24"; + } + + leaf tokenRingMLStatsRingPollEvents { + type yang:counter32; + description + "The total number of ring poll events detected by + the probe (i.e. the number of ring polls initiated + by the active monitor that were detected)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.25"; + } + + leaf tokenRingMLStatsOwner { + type TOKEN-RING-RMON-MIB:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.26"; + } + + leaf tokenRingMLStatsStatus { + type TOKEN-RING-RMON-MIB:EntryStatus; + description + "The status of this tokenRingMLStats entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.2.1.27"; + } + } + } + + container tokenRingPStatsTable { + description + "A list of promiscuous Token Ring statistics + entries."; + smiv2:oid "1.3.6.1.2.1.16.1.3"; + + list tokenRingPStatsEntry { + key "tokenRingPStatsIndex"; + description + "A collection of promiscuous statistics kept for + non-MAC packets on a particular Token Ring + interface."; + smiv2:oid "1.3.6.1.2.1.16.1.3.1"; + + leaf tokenRingPStatsIndex { + type int32 { + range "1..65535"; + } + description + "The value of this object uniquely identifies this + tokenRingPStats entry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.1"; + } + + leaf tokenRingPStatsDataSource { + type yang:object-identifier-128; + description + "This object identifies the source of the data + that this tokenRingPStats entry is configured to + analyze. This source can be any tokenRing + interface on this device. In order to identify a + particular interface, this object shall identify + the instance of the ifIndex object, defined in + MIB-II [3], for the desired interface. For + example, if an entry were to receive data from + interface #1, this object would be set to + ifIndex.1. + + The statistics in this group reflect all non-MAC + packets on the local network segment attached to + the identified interface. + + This object may not be modified if the associated + tokenRingPStatsStatus object is equal to + valid(1)."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.2"; + } + + leaf tokenRingPStatsDropEvents { + type yang:counter32; + description + "The total number of events in which packets were + dropped by the probe due to lack of resources. + Note that this number is not necessarily the + number of packets dropped; it is just the number + of times this condition has been detected. This + value is the same as the corresponding + tokenRingMLStatsDropEvents"; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.3"; + } + + leaf tokenRingPStatsDataOctets { + type yang:counter32; + description + "The total number of octets of data in good frames + received on the network (excluding framing bits + but including FCS octets) in non-MAC packets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.4"; + } + + leaf tokenRingPStatsDataPkts { + type yang:counter32; + description + "The total number of non-MAC packets in good + frames. received."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.5"; + } + + leaf tokenRingPStatsDataBroadcastPkts { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were directed to an LLC broadcast address + (0xFFFFFFFFFFFF or 0xC000FFFFFFFF)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.6"; + } + + leaf tokenRingPStatsDataMulticastPkts { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were directed to a local or global multicast + or functional address. Note that this number does + not include packets directed to the broadcast + address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.7"; + } + + leaf tokenRingPStatsDataPkts18to63Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 18 and 63 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.8"; + } + + leaf tokenRingPStatsDataPkts64to127Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 64 and 127 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.9"; + } + + leaf tokenRingPStatsDataPkts128to255Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 128 and 255 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.10"; + } + + leaf tokenRingPStatsDataPkts256to511Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 256 and 511 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.11"; + } + + leaf tokenRingPStatsDataPkts512to1023Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 512 and 1023 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.12"; + } + + leaf tokenRingPStatsDataPkts1024to2047Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 1024 and 2047 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.13"; + } + + leaf tokenRingPStatsDataPkts2048to4095Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 2048 and 4095 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.14"; + } + + leaf tokenRingPStatsDataPkts4096to8191Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 4096 and 8191 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.15"; + } + + leaf tokenRingPStatsDataPkts8192to18000Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were between 8192 and 18000 octets in length + inclusive, excluding framing bits but including + FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.16"; + } + + leaf tokenRingPStatsDataPktsGreaterThan18000Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + that were greater than 18000 octets in length, + excluding framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.17"; + } + + leaf tokenRingPStatsOwner { + type TOKEN-RING-RMON-MIB:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.18"; + } + + leaf tokenRingPStatsStatus { + type TOKEN-RING-RMON-MIB:EntryStatus; + description + "The status of this tokenRingPStats entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.1.3.1.19"; + } + } + } + + container tokenRingMLHistoryTable { + description + "A list of Mac-Layer Token Ring statistics + + + + + + entries."; + smiv2:oid "1.3.6.1.2.1.16.2.3"; + + list tokenRingMLHistoryEntry { + key "tokenRingMLHistoryIndex tokenRingMLHistorySampleIndex"; + description + "A collection of Mac-Layer statistics kept for a + particular Token Ring interface."; + smiv2:oid "1.3.6.1.2.1.16.2.3.1"; + + leaf tokenRingMLHistoryIndex { + type int32 { + range "1..65535"; + } + description + "The history of which this entry is a part. The + history identified by a particular value of this + index is the same history as identified by the + same value of historyControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.1"; + } + + leaf tokenRingMLHistorySampleIndex { + type int32; + description + "An index that uniquely identifies the particular + Mac-Layer sample this entry represents among all + Mac-Layer samples associated with the same + historyControlEntry. This index starts at 1 and + increases by one as each new sample is taken."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.2"; + } + + leaf tokenRingMLHistoryIntervalStart { + type yang:timeticks; + description + "The value of sysUpTime at the start of the + interval over which this sample was measured. If + the probe keeps track of the time of day, it + should start the first sample of the history at a + time such that when the next hour of the day + begins, a sample is started at that instant. Note + that following this rule may require the probe to + delay collecting the first sample of the history, + as each sample must be of the same interval. Also + note that the sample which is currently being + collected is not accessible in this table until + the end of its interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.3"; + } + + leaf tokenRingMLHistoryDropEvents { + type yang:counter32; + description + "The total number of events in which packets were + + + + + + dropped by the probe due to lack of resources + during this sampling interval. Note that this + number is not necessarily the number of packets + dropped, it is just the number of times this + condition has been detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.4"; + } + + leaf tokenRingMLHistoryMacOctets { + type yang:counter32; + description + "The total number of octets of data in MAC packets + (excluding those that were not good frames) + received on the network during this sampling + interval (excluding framing bits but including FCS + octets)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.5"; + } + + leaf tokenRingMLHistoryMacPkts { + type yang:counter32; + description + "The total number of MAC packets (excluding those + that were not good frames) received during this + sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.6"; + } + + leaf tokenRingMLHistoryRingPurgeEvents { + type yang:counter32; + description + "The total number of times that the ring entered + the ring purge state from normal ring state during + this sampling interval. The ring purge state that + comes from the claim token or beacon state is not + counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.7"; + } + + leaf tokenRingMLHistoryRingPurgePkts { + type yang:counter32; + description + "The total number of Ring Purge MAC packets + detected by the probe during this sampling + + + + + + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.8"; + } + + leaf tokenRingMLHistoryBeaconEvents { + type yang:counter32; + description + "The total number of times that the ring enters a + beaconing state (beaconFrameStreamingState, + beaconBitStreamingState, + beaconSetRecoveryModeState, or + beaconRingSignalLossState) during this sampling + interval. Note that a change of the source + address of the beacon packet does not constitute a + new beacon event."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.9"; + } + + leaf tokenRingMLHistoryBeaconTime { + type TOKEN-RING-RMON-MIB:TimeInterval; + description + "The amount of time that the ring has been in the + beaconing state during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.10"; + } + + leaf tokenRingMLHistoryBeaconPkts { + type yang:counter32; + description + "The total number of beacon MAC packets detected + by the probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.11"; + } + + leaf tokenRingMLHistoryClaimTokenEvents { + type yang:counter32; + description + "The total number of times that the ring enters + the claim token state from normal ring state or + ring purge state during this sampling interval. + The claim token state that comes from the beacon + state is not counted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.12"; + } + + leaf tokenRingMLHistoryClaimTokenPkts { + type yang:counter32; + description + "The total number of claim token MAC packets + detected by the probe during this sampling + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.13"; + } + + leaf tokenRingMLHistoryNAUNChanges { + type yang:counter32; + description + "The total number of NAUN changes detected by the + probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.14"; + } + + leaf tokenRingMLHistoryLineErrors { + type yang:counter32; + description + "The total number of line errors reported in error + reporting packets detected by the probe during + this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.15"; + } + + leaf tokenRingMLHistoryInternalErrors { + type yang:counter32; + description + "The total number of adapter internal errors + reported in error reporting packets detected by + the probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.16"; + } + + leaf tokenRingMLHistoryBurstErrors { + type yang:counter32; + description + "The total number of burst errors reported in + error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.17"; + } + + leaf tokenRingMLHistoryACErrors { + type yang:counter32; + description + "The total number of AC (Address Copied) errors + reported in error reporting packets detected by + the probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.18"; + } + + leaf tokenRingMLHistoryAbortErrors { + type yang:counter32; + description + "The total number of abort delimiters reported in + error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.19"; + } + + leaf tokenRingMLHistoryLostFrameErrors { + type yang:counter32; + description + "The total number of lost frame errors reported in + error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.20"; + } + + leaf tokenRingMLHistoryCongestionErrors { + type yang:counter32; + description + "The total number of receive congestion errors + reported in error reporting packets detected by + the probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.21"; + } + + leaf tokenRingMLHistoryFrameCopiedErrors { + type yang:counter32; + description + "The total number of frame copied errors reported + in error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.22"; + } + + leaf tokenRingMLHistoryFrequencyErrors { + type yang:counter32; + description + "The total number of frequency errors reported in + error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.23"; + } + + leaf tokenRingMLHistoryTokenErrors { + type yang:counter32; + description + "The total number of token errors reported in + error reporting packets detected by the probe + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.24"; + } + + leaf tokenRingMLHistorySoftErrorReports { + type yang:counter32; + description + "The total number of soft error report frames + detected by the probe during this sampling + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.25"; + } + + leaf tokenRingMLHistoryRingPollEvents { + type yang:counter32; + description + "The total number of ring poll events detected by + the probe during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.26"; + } + + leaf tokenRingMLHistoryActiveStations { + type int32; + description + "The maximum number of active stations on the ring + detected by the probe during this sampling + + + + + + interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.3.1.27"; + } + } + } + + container tokenRingPHistoryTable { + description + "A list of promiscuous Token Ring statistics + entries."; + smiv2:oid "1.3.6.1.2.1.16.2.4"; + + list tokenRingPHistoryEntry { + key "tokenRingPHistoryIndex tokenRingPHistorySampleIndex"; + description + "A collection of promiscuous statistics kept for a + particular Token Ring interface."; + smiv2:oid "1.3.6.1.2.1.16.2.4.1"; + + leaf tokenRingPHistoryIndex { + type int32 { + range "1..65535"; + } + description + "The history of which this entry is a part. The + history identified by a particular value of this + index is the same history as identified by the + same value of historyControlIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.1"; + } + + leaf tokenRingPHistorySampleIndex { + type int32; + description + "An index that uniquely identifies the particular + sample this entry represents among all samples + associated with the same historyControlEntry. + This index starts at 1 and increases by one as + each new sample is taken."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.2"; + } + + leaf tokenRingPHistoryIntervalStart { + type yang:timeticks; + description + "The value of sysUpTime at the start of the + interval over which this sample was measured. If + the probe keeps track of the time of day, it + should start the first sample of the history at a + time such that when the next hour of the day + begins, a sample is started at that instant. Note + that following this rule may require the probe to + delay collecting the first sample of the history, + as each sample must be of the same interval. Also + note that the sample which is currently being + collected is not accessible in this table until + the end of its interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.3"; + } + + leaf tokenRingPHistoryDropEvents { + type yang:counter32; + description + "The total number of events in which packets were + dropped by the probe due to lack of resources + during this sampling interval. Note that this + number is not necessarily the number of packets + dropped, it is just the number of times this + condition has been detected."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.4"; + } + + leaf tokenRingPHistoryDataOctets { + type yang:counter32; + description + "The total number of octets of data in good frames + received on the network (excluding framing bits + but including FCS octets) in non-MAC packets + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.5"; + } + + leaf tokenRingPHistoryDataPkts { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.6"; + } + + leaf tokenRingPHistoryDataBroadcastPkts { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were directed + to an LLC broadcast address (0xFFFFFFFFFFFF or + 0xC000FFFFFFFF)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.7"; + } + + leaf tokenRingPHistoryDataMulticastPkts { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were directed + to a local or global multicast or functional + address. Note that this number does not include + packets directed to the broadcast address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.8"; + } + + leaf tokenRingPHistoryDataPkts18to63Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between 18 + and 63 octets in length inclusive, excluding + framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.9"; + } + + leaf tokenRingPHistoryDataPkts64to127Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between 64 + and 127 octets in length inclusive, excluding + framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.10"; + } + + leaf tokenRingPHistoryDataPkts128to255Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 128 and 255 octets in length inclusive, excluding + framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.11"; + } + + leaf tokenRingPHistoryDataPkts256to511Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + + + + + + 256 and 511 octets in length inclusive, excluding + framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.12"; + } + + leaf tokenRingPHistoryDataPkts512to1023Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 512 and 1023 octets in length inclusive, excluding + framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.13"; + } + + leaf tokenRingPHistoryDataPkts1024to2047Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 1024 and 2047 octets in length inclusive, + excluding framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.14"; + } + + leaf tokenRingPHistoryDataPkts2048to4095Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 2048 and 4095 octets in length inclusive, + excluding framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.15"; + } + + leaf tokenRingPHistoryDataPkts4096to8191Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 4096 and 8191 octets in length inclusive, + excluding framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.16"; + } + + leaf tokenRingPHistoryDataPkts8192to18000Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were between + 8192 and 18000 octets in length inclusive, + excluding framing bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.17"; + } + + leaf tokenRingPHistoryDataPktsGreaterThan18000Octets { + type yang:counter32; + description + "The total number of good non-MAC frames received + during this sampling interval that were greater + than 18000 octets in length, excluding framing + bits but including FCS octets."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.2.4.1.18"; + } + } + } + + container ringStationControlTable { + description + "A list of ringStation table control entries."; + smiv2:oid "1.3.6.1.2.1.16.10.1"; + + list ringStationControlEntry { + key "ringStationControlIfIndex"; + description + "A list of parameters that set up the discovery of + stations on a particular interface and the + collection of statistics about these stations."; + smiv2:oid "1.3.6.1.2.1.16.10.1.1"; + + leaf ringStationControlIfIndex { + type int32 { + range "1..65535"; + } + description + "The value of this object uniquely identifies the + interface on this remote network monitoring device + from which ringStation data is collected. The + interface identified by a particular value of this + object is the same interface as identified by the + same value of the ifIndex object, defined in MIB- + II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.1"; + } + + leaf ringStationControlTableSize { + type int32; + description + "The number of ringStationEntries in the + ringStationTable associated with this + ringStationControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.2"; + } + + leaf ringStationControlActiveStations { + type int32; + description + "The number of active ringStationEntries in the + ringStationTable associated with this + ringStationControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.3"; + } + + leaf ringStationControlRingState { + type enumeration { + enum "normalOperation" { + value "1"; + } + enum "ringPurgeState" { + value "2"; + } + enum "claimTokenState" { + value "3"; + } + enum "beaconFrameStreamingState" { + value "4"; + } + enum "beaconBitStreamingState" { + value "5"; + } + enum "beaconRingSignalLossState" { + value "6"; + } + enum "beaconSetRecoveryModeState" { + value "7"; + } + } + description + "The current status of this ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.4"; + } + + leaf ringStationControlBeaconSender { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The address of the sender of the last beacon + frame received by the probe on this ring. If no + beacon frames have been received, this object + shall be equal to six octets of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.5"; + } + + leaf ringStationControlBeaconNAUN { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The address of the NAUN in the last beacon frame + received by the probe on this ring. If no beacon + frames have been received, this object shall be + equal to six octets of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.6"; + } + + leaf ringStationControlActiveMonitor { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The address of the Active Monitor on this + segment. If this address is unknown, this object + shall be equal to six octets of zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.7"; + } + + leaf ringStationControlOrderChanges { + type yang:counter32; + description + "The number of add and delete events in the + ringStationOrderTable optionally associated with + this ringStationControlEntry."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.8"; + } + + leaf ringStationControlOwner { + type TOKEN-RING-RMON-MIB:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.9"; + } + + leaf ringStationControlStatus { + type TOKEN-RING-RMON-MIB:EntryStatus; + description + "The status of this ringStationControl entry. + + If this object is not equal to valid(1), all + associated entries in the ringStationTable shall + be deleted by the agent."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.1.1.10"; + } + } + } + + container ringStationTable { + description + "A list of ring station entries. An entry will + exist for each station that is now or has + + + + + + previously been detected as physically present on + this ring."; + smiv2:oid "1.3.6.1.2.1.16.10.2"; + + list ringStationEntry { + key "ringStationIfIndex ringStationMacAddress"; + description + "A collection of statistics for a particular + station that has been discovered on a ring + monitored by this device."; + smiv2:oid "1.3.6.1.2.1.16.10.2.1"; + + leaf ringStationIfIndex { + type int32; + description + "The value of this object uniquely identifies the + interface on this remote network monitoring device + on which this station was detected. The interface + identified by a particular value of this object is + the same interface as identified by the same value + of the ifIndex object, defined in MIB-II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.1"; + } + + leaf ringStationMacAddress { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The physical address of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.2"; + } + + leaf ringStationLastNAUN { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The physical address of last known NAUN of this + station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.3"; + } + + leaf ringStationStationStatus { + type enumeration { + enum "active" { + value "1"; + } + enum "inactive" { + value "2"; + } + enum "forcedRemoval" { + value "3"; + } + } + description + "The status of this station on the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.4"; + } + + leaf ringStationLastEnterTime { + type yang:timeticks; + description + "The value of sysUpTime at the time this station + last entered the ring. If the time is unknown, + this value shall be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.5"; + } + + leaf ringStationLastExitTime { + type yang:timeticks; + description + "The value of sysUpTime at the time the probe + detected that this station last exited the ring. + If the time is unknown, this value shall be zero."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.6"; + } + + leaf ringStationDuplicateAddresses { + type yang:counter32; + description + "The number of times this station experienced a + duplicate address error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.7"; + } + + leaf ringStationInLineErrors { + type yang:counter32; + description + "The total number of line errors reported by this + station in error reporting packets detected by the + probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.8"; + } + + leaf ringStationOutLineErrors { + type yang:counter32; + description + "The total number of line errors reported in error + reporting packets sent by the nearest active + downstream neighbor of this station and detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.9"; + } + + leaf ringStationInternalErrors { + type yang:counter32; + description + "The total number of adapter internal errors + reported by this station in error reporting + packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.10"; + } + + leaf ringStationInBurstErrors { + type yang:counter32; + description + "The total number of burst errors reported by this + station in error reporting packets detected by the + probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.11"; + } + + leaf ringStationOutBurstErrors { + type yang:counter32; + description + "The total number of burst errors reported in + error reporting packets sent by the nearest active + downstream neighbor of this station and detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.12"; + } + + leaf ringStationACErrors { + type yang:counter32; + description + "The total number of AC (Address Copied) errors + reported in error reporting packets sent by the + nearest active downstream neighbor of this station + and detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.13"; + } + + leaf ringStationAbortErrors { + type yang:counter32; + description + "The total number of abort delimiters reported by + this station in error reporting packets detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.14"; + } + + leaf ringStationLostFrameErrors { + type yang:counter32; + description + "The total number of lost frame errors reported by + this station in error reporting packets detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.15"; + } + + leaf ringStationCongestionErrors { + type yang:counter32; + description + "The total number of receive congestion errors + reported by this station in error reporting + packets detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.16"; + } + + leaf ringStationFrameCopiedErrors { + type yang:counter32; + description + "The total number of frame copied errors reported + by this station in error reporting packets + detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.17"; + } + + leaf ringStationFrequencyErrors { + type yang:counter32; + description + "The total number of frequency errors reported by + this station in error reporting packets detected + by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.18"; + } + + leaf ringStationTokenErrors { + type yang:counter32; + description + "The total number of token errors reported by this + station in error reporting frames detected by the + probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.19"; + } + + leaf ringStationInBeaconErrors { + type yang:counter32; + description + "The total number of beacon frames sent by this + station and detected by the probe."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.20"; + } + + leaf ringStationOutBeaconErrors { + type yang:counter32; + description + "The total number of beacon frames detected by the + probe that name this station as the NAUN."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.21"; + } + + leaf ringStationInsertions { + type yang:counter32; + description + "The number of times the probe detected this + station inserting onto the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.2.1.22"; + } + } + } + + container ringStationOrderTable { + description + "A list of ring station entries for stations in + the ring poll, ordered by their ring-order."; + smiv2:oid "1.3.6.1.2.1.16.10.3"; + + list ringStationOrderEntry { + key "ringStationOrderIfIndex ringStationOrderOrderIndex"; + description + "A collection of statistics for a particular + + + + + + station that is active on a ring monitored by this + device. This table will contain information for + every interface that has a + ringStationControlStatus equal to valid."; + smiv2:oid "1.3.6.1.2.1.16.10.3.1"; + + leaf ringStationOrderIfIndex { + type int32; + description + "The value of this object uniquely identifies the + interface on this remote network monitoring device + on which this station was detected. The interface + identified by a particular value of this object is + the same interface as identified by the same value + of the ifIndex object, defined in MIB-II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.3.1.1"; + } + + leaf ringStationOrderOrderIndex { + type int32; + description + "This index denotes the location of this station + with respect to other stations on the ring. This + index is one more than the number of hops + downstream that this station is from the rmon + probe. The rmon probe itself gets the value one."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.3.1.2"; + } + + leaf ringStationOrderMacAddress { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The physical address of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.3.1.3"; + } + } + } + + container ringStationConfigControlTable { + description + "A list of ring station configuration control + entries."; + smiv2:oid "1.3.6.1.2.1.16.10.4"; + + list ringStationConfigControlEntry { + key "ringStationConfigControlIfIndex ringStationConfigControlMacAddress"; + description + "This entry controls active management of stations + by the probe. One entry exists in this table for + each active station in the ringStationTable."; + smiv2:oid "1.3.6.1.2.1.16.10.4.1"; + + leaf ringStationConfigControlIfIndex { + type int32; + description + "The value of this object uniquely identifies the + + + + + + interface on this remote network monitoring device + on which this station was detected. The interface + identified by a particular value of this object is + the same interface as identified by the same value + of the ifIndex object, defined in MIB-II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.4.1.1"; + } + + leaf ringStationConfigControlMacAddress { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The physical address of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.4.1.2"; + } + + leaf ringStationConfigControlRemove { + type enumeration { + enum "stable" { + value "1"; + } + enum "removing" { + value "2"; + } + } + description + "Setting this object to `removing(2)' causes a + Remove Station MAC frame to be sent. The agent + will set this object to `stable(1)' after + processing the request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.4.1.3"; + } + + leaf ringStationConfigControlUpdateStats { + type enumeration { + enum "stable" { + value "1"; + } + enum "updating" { + value "2"; + } + } + description + "Setting this object to `updating(2)' causes the + configuration information associate with this + entry to be updated. The agent will set this + object to `stable(1)' after processing the + request."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.4.1.4"; + } + } + } + + container ringStationConfigTable { + description + "A list of configuration entries for stations on a + ring monitored by this probe."; + smiv2:oid "1.3.6.1.2.1.16.10.5"; + + list ringStationConfigEntry { + key "ringStationConfigIfIndex ringStationConfigMacAddress"; + description + "A collection of statistics for a particular + station that has been discovered on a ring + monitored by this probe."; + smiv2:oid "1.3.6.1.2.1.16.10.5.1"; + + leaf ringStationConfigIfIndex { + type int32; + description + "The value of this object uniquely identifies the + + + + + + interface on this remote network monitoring device + on which this station was detected. The interface + identified by a particular value of this object is + the same interface as identified by the same value + of the ifIndex object, defined in MIB-II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.1"; + } + + leaf ringStationConfigMacAddress { + type TOKEN-RING-RMON-MIB:MacAddress; + description + "The physical address of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.2"; + } + + leaf ringStationConfigUpdateTime { + type yang:timeticks; + description + "The value of sysUpTime at the time this + configuration information was last updated + (completely)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.3"; + } + + leaf ringStationConfigLocation { + type binary { + length "4"; + } + description + "The assigned physical location of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.4"; + } + + leaf ringStationConfigMicrocode { + type binary { + length "10"; + } + description + "The microcode EC level of this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.5"; + } + + leaf ringStationConfigGroupAddress { + type binary { + length "4"; + } + description + "The low-order 4 octets of the group address + recognized by this station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.6"; + } + + leaf ringStationConfigFunctionalAddress { + type binary { + length "4"; + } + description + "the functional addresses recognized by this + station."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.5.1.7"; + } + } + } + + container sourceRoutingStatsTable { + description + "A list of source routing statistics entries."; + smiv2:oid "1.3.6.1.2.1.16.10.6"; + + list sourceRoutingStatsEntry { + key "sourceRoutingStatsIfIndex"; + description + "A collection of source routing statistics kept + for a particular Token Ring interface."; + smiv2:oid "1.3.6.1.2.1.16.10.6.1"; + + leaf sourceRoutingStatsIfIndex { + type int32; + description + "The value of this object uniquely identifies the + interface on this remote network monitoring device + on which source routing statistics will be + detected. The interface identified by a + particular value of this object is the same + interface as identified by the same value of the + ifIndex object, defined in MIB-II [3]."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.1"; + } + + leaf sourceRoutingStatsRingNumber { + type int32; + description + "The ring number of the ring monitored by this + entry. When any object in this entry is created, + the probe will attempt to discover the ring + number. Only after the ring number is discovered + will this object be created. After creating an + object in this entry, the management station + should poll this object to detect when it is + created. Only after this object is created can + the management station set the + sourceRoutingStatsStatus entry to valid(1)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.2"; + } + + leaf sourceRoutingStatsInFrames { + type yang:counter32; + description + "The count of frames sent into this ring from + another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.3"; + } + + leaf sourceRoutingStatsOutFrames { + type yang:counter32; + description + "The count of frames sent from this ring to + another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.4"; + } + + leaf sourceRoutingStatsThroughFrames { + type yang:counter32; + description + "The count of frames sent from another ring, + through this ring, to another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.5"; + } + + leaf sourceRoutingStatsAllRoutesBroadcastFrames { + type yang:counter32; + description + "The total number of good frames received that + were All Routes Broadcast."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.6"; + } + + leaf sourceRoutingStatsSingleRouteBroadcastFrames { + type yang:counter32; + description + "The total number of good frames received that + were Single Route Broadcast."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.7"; + } + + leaf sourceRoutingStatsInOctets { + type yang:counter32; + description + "The count of octets in good frames sent into this + ring from another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.8"; + } + + leaf sourceRoutingStatsOutOctets { + type yang:counter32; + description + "The count of octets in good frames sent from this + ring to another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.9"; + } + + leaf sourceRoutingStatsThroughOctets { + type yang:counter32; + description + "The count of octets in good frames sent another + ring, through this ring, to another ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.10"; + } + + leaf sourceRoutingStatsAllRoutesBroadcastOctets { + type yang:counter32; + description + "The total number of octets in good frames + received that were All Routes Broadcast."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.11"; + } + + leaf sourceRoutingStatsSingleRoutesBroadcastOctets { + type yang:counter32; + description + "The total number of octets in good frames + received that were Single Route Broadcast."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.12"; + } + + leaf sourceRoutingStatsLocalLLCFrames { + type yang:counter32; + description + "The total number of frames received who had no + RIF field (or had a RIF field that only included + the local ring's number) and were not All Route + Broadcast Frames."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.13"; + } + + leaf sourceRoutingStats1HopFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 1 hop, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.14"; + } + + leaf sourceRoutingStats2HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 2 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.15"; + } + + leaf sourceRoutingStats3HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 3 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.16"; + } + + leaf sourceRoutingStats4HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 4 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.17"; + } + + leaf sourceRoutingStats5HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 5 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.18"; + } + + leaf sourceRoutingStats6HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 6 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.19"; + } + + leaf sourceRoutingStats7HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 7 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.20"; + } + + leaf sourceRoutingStats8HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had 8 hops, were not All Route Broadcast Frames, + and whose source or destination were on this ring + (i.e. frames that had a RIF field and had this + ring number in the first or last entry of the RIF + field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.21"; + } + + leaf sourceRoutingStatsMoreThan8HopsFrames { + type yang:counter32; + description + "The total number of frames received whose route + had more than 8 hops, were not All Route Broadcast + Frames, and whose source or destination were on + this ring (i.e. frames that had a RIF field and + had this ring number in the first or last entry of + the RIF field)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.22"; + } + + leaf sourceRoutingStatsOwner { + type TOKEN-RING-RMON-MIB:OwnerString; + description + "The entity that configured this entry and is + therefore using the resources assigned to it."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.23"; + } + + leaf sourceRoutingStatsStatus { + type TOKEN-RING-RMON-MIB:EntryStatus; + description + "The status of this sourceRoutingStats entry."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.16.10.6.1.24"; + } + } + } + } + + smiv2:alias "tokenRing" { + smiv2:oid "1.3.6.1.2.1.16.10"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/TOKENRING-MIB.yang b/vendor/cisco/xe/17151/MIBS/TOKENRING-MIB.yang new file mode 100644 index 000000000..4a2468750 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/TOKENRING-MIB.yang @@ -0,0 +1,838 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/TOKENRING-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang TOKENRING-MIB + * + * Do not edit. Edit the source file instead! + */ + +module TOKENRING-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB"; + prefix TOKENRING-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF Interfaces MIB Working Group"; + + contact + " Keith McCloghrie + + Postal: cisco Systems, Inc. + 170 West Tasman Drive, + San Jose, CA 95134-1706 + + + US + + Phone: +1 408 526 5260 + EMail: kzm@cisco.com"; + + description + "The MIB module for IEEE Token Ring entities."; + + revision 1994-10-23 { + description + "[Revision added by libsmi due to a LAST-UPDATED clause.]"; + } + + identity dot5TestInsertFunc { + base smiv2:object-identity; + description + "Invoking this test causes the station to test the insert + ring logic of the hardware if the station's lobe media + cable is connected to a wiring concentrator. Note that + this command inserts the station into the network, and + thus, could cause problems if the station is connected + to a operational network."; + smiv2:oid "1.3.6.1.2.1.10.9.3.1"; + } + + identity dot5TestFullDuplexLoopBack { + base smiv2:object-identity; + description + "Invoking this test on a 802.5 interface causes the + interface to check the path from memory through the + chip set's internal logic and back to memory, thus + checking the proper functioning of the system's + interface to the chip set."; + smiv2:oid "1.3.6.1.2.1.10.9.3.2"; + } + + identity dot5ChipSetIBM16 { + base smiv2:object-identity; + description + "IBM's 16/4 Mbs chip set."; + smiv2:oid "1.3.6.1.2.1.10.9.4.1"; + } + + identity dot5ChipSetTItms380 { + base smiv2:object-identity; + description + "Texas Instruments' TMS 380 4Mbs chip-set"; + smiv2:oid "1.3.6.1.2.1.10.9.4.2"; + } + + identity dot5ChipSetTItms380c16 { + base smiv2:object-identity; + description + "Texas Instruments' TMS 380C16 16/4 Mbs chip-set"; + smiv2:oid "1.3.6.1.2.1.10.9.4.3"; + } + + + container TOKENRING-MIB { + config false; + + container dot5Table { + description + "This table contains Token Ring interface + parameters and state variables, one entry + per 802.5 interface."; + smiv2:oid "1.3.6.1.2.1.10.9.1"; + + list dot5Entry { + key "dot5IfIndex"; + description + "A list of Token Ring status and parameter + values for an 802.5 interface."; + smiv2:oid "1.3.6.1.2.1.10.9.1.1"; + + leaf dot5IfIndex { + type int32; + description + "The value of this object identifies the + 802.5 interface for which this entry + contains management information. The + value of this object for a particular + interface has the same value as the + ifIndex object, defined in MIB-II for + the same interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.1"; + } + + leaf dot5Commands { + type enumeration { + enum "noop" { + value "1"; + } + enum "open" { + value "2"; + } + enum "reset" { + value "3"; + } + enum "close" { + value "4"; + } + } + description + "When this object is set to the value of + open(2), the station should go into the + open state. The progress and success of + the open is given by the values of the + objects dot5RingState and + dot5RingOpenStatus. + When this object is set to the value + of reset(3), then the station should do + a reset. On a reset, all MIB counters + should retain their values, if possible. + Other side affects are dependent on the + hardware chip set. + When this object is set to the value + of close(4), the station should go into + the stopped state by removing itself + from the ring. + Setting this object to a value of + noop(1) has no effect. + When read, this object always has a + value of noop(1). + The open(2) and close(4) values + correspond to the up(1) and down(2) values + of MIB-II's ifAdminStatus and ifOperStatus, + i.e., the setting of ifAdminStatus and + + + dot5Commands affects the values of both + dot5Commands and ifOperStatus."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.2"; + } + + leaf dot5RingStatus { + type int32 { + range "0..262143"; + } + description + "The current interface status which can + be used to diagnose fluctuating problems + that can occur on token rings, after a + station has successfully been added to + the ring. + Before an open is completed, this + object has the value for the 'no status' + condition. The dot5RingState and + dot5RingOpenStatus objects provide for + debugging problems when the station + can not even enter the ring. + The object's value is a sum of + values, one for each currently applicable + condition. The following values are + defined for various conditions: + + 0 = No Problems detected + 32 = Ring Recovery + 64 = Single Station + 256 = Remove Received + 512 = reserved + 1024 = Auto-Removal Error + 2048 = Lobe Wire Fault + 4096 = Transmit Beacon + 8192 = Soft Error + 16384 = Hard Error + 32768 = Signal Loss + 131072 = no status, open not completed."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.3"; + } + + leaf dot5RingState { + type enumeration { + enum "opened" { + value "1"; + } + enum "closed" { + value "2"; + } + enum "opening" { + value "3"; + } + enum "closing" { + value "4"; + } + enum "openFailure" { + value "5"; + } + enum "ringFailure" { + value "6"; + } + } + description + "The current interface state with respect + to entering or leaving the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.4"; + } + + leaf dot5RingOpenStatus { + type enumeration { + enum "noOpen" { + value "1"; + } + enum "badParam" { + value "2"; + } + enum "lobeFailed" { + value "3"; + } + enum "signalLoss" { + value "4"; + } + enum "insertionTimeout" { + value "5"; + } + enum "ringFailed" { + value "6"; + } + enum "beaconing" { + value "7"; + } + enum "duplicateMAC" { + value "8"; + } + enum "requestFailed" { + value "9"; + } + enum "removeReceived" { + value "10"; + } + enum "open" { + value "11"; + } + } + description + "This object indicates the success, or the + reason for failure, of the station's most + recent attempt to enter the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.5"; + } + + leaf dot5RingSpeed { + type enumeration { + enum "unknown" { + value "1"; + } + enum "oneMegabit" { + value "2"; + } + enum "fourMegabit" { + value "3"; + } + enum "sixteenMegabit" { + value "4"; + } + } + description + "The ring-speed at the next insertion into + the ring. Note that this may or may not be + different to the current ring-speed which is + given by MIB-II's ifSpeed. For interfaces + which do not support changing ring-speed, + dot5RingSpeed can only be set to its current + value. When dot5RingSpeed has the value + unknown(1), the ring's actual ring-speed is + to be used."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.6"; + } + + leaf dot5UpStream { + type yang:mac-address; + description + "The MAC-address of the up stream neighbor + station in the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.7"; + } + + leaf dot5ActMonParticipate { + type enumeration { + enum "true" { + value "1"; + } + enum "false" { + value "2"; + } + } + description + "If this object has a value of true(1) then + this interface will participate in the + active monitor selection process. If the + value is false(2) then it will not. + Setting this object does not take effect + until the next Active Monitor election, and + might not take effect until the next time + the interface is opened."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.8"; + } + + leaf dot5Functional { + type yang:mac-address; + description + "The bit mask of all Token Ring functional + addresses for which this interface will + accept frames."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.9"; + } + + leaf dot5LastBeaconSent { + type yang:timestamp; + description + "The value of MIB-II's sysUpTime object at which + the local system last transmitted a Beacon frame + on this interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.1.1.10"; + } + } + } + + container dot5StatsTable { + description + "A table containing Token Ring statistics, + one entry per 802.5 interface. + All the statistics are defined using + the syntax Counter32 as 32-bit wrap around + counters. Thus, if an interface's + hardware maintains these statistics in + 16-bit counters, then the agent must read + the hardware's counters frequently enough + to prevent loss of significance, in order + to maintain 32-bit counters in software."; + smiv2:oid "1.3.6.1.2.1.10.9.2"; + + list dot5StatsEntry { + key "dot5StatsIfIndex"; + description + "An entry contains the 802.5 statistics + for a particular interface."; + smiv2:oid "1.3.6.1.2.1.10.9.2.1"; + + leaf dot5StatsIfIndex { + type int32; + description + "The value of this object identifies the + 802.5 interface for which this entry + contains management information. The + value of this object for a particular + interface has the same value as MIB-II's + ifIndex object for the same interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.1"; + } + + leaf dot5StatsLineErrors { + type yang:counter32; + description + "This counter is incremented when a frame + or token is copied or repeated by a + station, the E bit is zero in the frame + or token and one of the following + conditions exists: 1) there is a + non-data bit (J or K bit) between the SD + and the ED of the frame or token, or + 2) there is an FCS error in the frame."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.2"; + } + + leaf dot5StatsBurstErrors { + type yang:counter32; + description + "This counter is incremented when a station + detects the absence of transitions for five + half-bit timers (burst-five error)."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.3"; + } + + leaf dot5StatsACErrors { + type yang:counter32; + description + "This counter is incremented when a station + receives an AMP or SMP frame in which A is + equal to C is equal to 0, and then receives + another SMP frame with A is equal to C is + equal to 0 without first receiving an AMP + frame. It denotes a station that cannot set + the AC bits properly."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.4"; + } + + leaf dot5StatsAbortTransErrors { + type yang:counter32; + description + "This counter is incremented when a station + transmits an abort delimiter while + transmitting."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.5"; + } + + leaf dot5StatsInternalErrors { + type yang:counter32; + description + "This counter is incremented when a station + recognizes an internal error."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.6"; + } + + leaf dot5StatsLostFrameErrors { + type yang:counter32; + description + "This counter is incremented when a station + is transmitting and its TRR timer expires. + This condition denotes a condition where a + transmitting station in strip mode does not + receive the trailer of the frame before the + TRR timer goes off."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.7"; + } + + leaf dot5StatsReceiveCongestions { + type yang:counter32; + description + "This counter is incremented when a station + recognizes a frame addressed to its + specific address, but has no available + buffer space indicating that the station + is congested."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.8"; + } + + leaf dot5StatsFrameCopiedErrors { + type yang:counter32; + description + "This counter is incremented when a station + recognizes a frame addressed to its + specific address and detects that the FS + field A bits are set to 1 indicating a + possible line hit or duplicate address."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.9"; + } + + leaf dot5StatsTokenErrors { + type yang:counter32; + description + "This counter is incremented when a station + acting as the active monitor recognizes an + error condition that needs a token + transmitted."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.10"; + } + + leaf dot5StatsSoftErrors { + type yang:counter32; + description + "The number of Soft Errors the interface + has detected. It directly corresponds to + the number of Report Error MAC frames + that this interface has transmitted. + Soft Errors are those which are + recoverable by the MAC layer protocols."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.11"; + } + + leaf dot5StatsHardErrors { + type yang:counter32; + description + "The number of times this interface has + detected an immediately recoverable + fatal error. It denotes the number of + times this interface is either + transmitting or receiving beacon MAC + frames."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.12"; + } + + leaf dot5StatsSignalLoss { + type yang:counter32; + description + "The number of times this interface has + detected the loss of signal condition from + the ring."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.13"; + } + + leaf dot5StatsTransmitBeacons { + type yang:counter32; + description + "The number of times this interface has + transmitted a beacon frame."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.14"; + } + + leaf dot5StatsRecoverys { + type yang:counter32; + description + "The number of Claim Token MAC frames + received or transmitted after the interface + has received a Ring Purge MAC frame. This + counter signifies the number of times the + ring has been purged and is being recovered + back into a normal operating state."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.15"; + } + + leaf dot5StatsLobeWires { + type yang:counter32; + description + "The number of times the interface has + detected an open or short circuit in the + lobe data path. The adapter will be closed + and dot5RingState will signify this + condition."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.16"; + } + + leaf dot5StatsRemoves { + type yang:counter32; + description + "The number of times the interface has + received a Remove Ring Station MAC frame + request. When this frame is received + the interface will enter the close state + and dot5RingState will signify this + condition."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.17"; + } + + leaf dot5StatsSingles { + type yang:counter32; + description + "The number of times the interface has + sensed that it is the only station on the + ring. This will happen if the interface + is the first one up on a ring, or if + there is a hardware problem."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.18"; + } + + leaf dot5StatsFreqErrors { + type yang:counter32; + description + "The number of times the interface has + detected that the frequency of the + incoming signal differs from the expected + frequency by more than that specified by + the IEEE 802.5 standard."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.2.1.19"; + } + } + } + + container dot5TimerTable { + status obsolete; + description + "This table contains Token Ring interface + timer values, one entry per 802.5 + interface."; + smiv2:oid "1.3.6.1.2.1.10.9.5"; + + list dot5TimerEntry { + key "dot5TimerIfIndex"; + status obsolete; + description + "A list of Token Ring timer values for an + 802.5 interface."; + smiv2:oid "1.3.6.1.2.1.10.9.5.1"; + + leaf dot5TimerIfIndex { + type int32; + status obsolete; + description + "The value of this object identifies the + 802.5 interface for which this entry + contains timer values. The value of + + + this object for a particular interface + has the same value as MIB-II's ifIndex + object for the same interface."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.1"; + } + + leaf dot5TimerReturnRepeat { + type int32; + status obsolete; + description + "The time-out value used to ensure the + interface will return to Repeat State, in + units of 100 micro-seconds. The value + should be greater than the maximum ring + latency."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.2"; + } + + leaf dot5TimerHolding { + type int32; + status obsolete; + description + "Maximum period of time a station is + permitted to transmit frames after capturing + a token, in units of 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.3"; + } + + leaf dot5TimerQueuePDU { + type int32; + status obsolete; + description + "The time-out value for enqueuing of an SMP + PDU after reception of an AMP or SMP + frame in which the A and C bits were + equal to 0, in units of 100 + micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.4"; + } + + leaf dot5TimerValidTransmit { + type int32; + status obsolete; + description + "The time-out value used by the active + monitor to detect the absence of valid + transmissions, in units of 100 + micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.5"; + } + + leaf dot5TimerNoToken { + type int32; + status obsolete; + description + "The time-out value used to recover from + various-related error situations. + If N is the maximum number of stations on + the ring, the value of this timer is + normally: + dot5TimerReturnRepeat + N*dot5TimerHolding."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.6"; + } + + leaf dot5TimerActiveMon { + type int32; + status obsolete; + description + "The time-out value used by the active + monitor to stimulate the enqueuing of an + AMP PDU for transmission, in units of + 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.7"; + } + + leaf dot5TimerStandbyMon { + type int32; + status obsolete; + description + "The time-out value used by the stand-by + monitors to ensure that there is an active + monitor on the ring and to detect a + continuous stream of tokens, in units of + 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.8"; + } + + leaf dot5TimerErrorReport { + type int32; + status obsolete; + description + "The time-out value which determines how + often a station shall send a Report Error + MAC frame to report its error counters, + in units of 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.9"; + } + + leaf dot5TimerBeaconTransmit { + type int32; + status obsolete; + description + "The time-out value which determines how + long a station shall remain in the state + of transmitting Beacon frames before + entering the Bypass state, in units of + 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.10"; + } + + leaf dot5TimerBeaconReceive { + type int32; + status obsolete; + description + "The time-out value which determines how + long a station shall receive Beacon + frames from its downstream neighbor + before entering the Bypass state, in + units of 100 micro-seconds."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.9.5.1.11"; + } + } + } + } + + smiv2:alias "dot5" { + smiv2:oid "1.3.6.1.2.1.10.9"; + } + + smiv2:alias "dot5Tests" { + smiv2:oid "1.3.6.1.2.1.10.9.3"; + } + + smiv2:alias "dot5TestInsertFunc" { + description + "Invoking this test causes the station to test the insert + ring logic of the hardware if the station's lobe media + cable is connected to a wiring concentrator. Note that + this command inserts the station into the network, and + thus, could cause problems if the station is connected + to a operational network."; + smiv2:oid "1.3.6.1.2.1.10.9.3.1"; + } + + smiv2:alias "dot5TestFullDuplexLoopBack" { + description + "Invoking this test on a 802.5 interface causes the + interface to check the path from memory through the + chip set's internal logic and back to memory, thus + checking the proper functioning of the system's + interface to the chip set."; + smiv2:oid "1.3.6.1.2.1.10.9.3.2"; + } + + smiv2:alias "dot5ChipSets" { + smiv2:oid "1.3.6.1.2.1.10.9.4"; + } + + smiv2:alias "dot5ChipSetIBM16" { + description + "IBM's 16/4 Mbs chip set."; + smiv2:oid "1.3.6.1.2.1.10.9.4.1"; + } + + smiv2:alias "dot5ChipSetTItms380" { + description + "Texas Instruments' TMS 380 4Mbs chip-set"; + smiv2:oid "1.3.6.1.2.1.10.9.4.2"; + } + + smiv2:alias "dot5ChipSetTItms380c16" { + description + "Texas Instruments' TMS 380C16 16/4 Mbs chip-set"; + smiv2:oid "1.3.6.1.2.1.10.9.4.3"; + } + + smiv2:alias "dot5Conformance" { + smiv2:oid "1.3.6.1.2.1.10.9.6"; + } + + smiv2:alias "dot5Groups" { + smiv2:oid "1.3.6.1.2.1.10.9.6.1"; + } + + smiv2:alias "dot5Compliances" { + smiv2:oid "1.3.6.1.2.1.10.9.6.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/TUNNEL-MIB.yang b/vendor/cisco/xe/17151/MIBS/TUNNEL-MIB.yang new file mode 100644 index 000000000..dd6d12c36 --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/TUNNEL-MIB.yang @@ -0,0 +1,618 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/TUNNEL-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang TUNNEL-MIB + * + * Do not edit. Edit the source file instead! + */ + +module TUNNEL-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB"; + prefix TUNNEL-MIB; + + import IANAifType-MIB { + prefix "ianaiftype-mib"; + } + + import IF-MIB { + prefix "if-mib"; + } + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import SNMPv2-TC { + prefix "snmpv2-tc"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "IETF IP Version 6 (IPv6) Working Group"; + + contact + " Dave Thaler + Microsoft Corporation + One Microsoft Way + Redmond, WA 98052-6399 + EMail: dthaler@microsoft.com"; + + description + "The MIB module for management of IP Tunnels, + independent of the specific encapsulation scheme in + use. + + Copyright (C) The Internet Society (2005). This + version of this MIB module is part of RFC 4087; see + the RFC itself for full legal notices."; + + revision 2005-05-16 { + description + "IPv4-specific objects were deprecated, including + tunnelIfLocalAddress, tunnelIfRemoteAddress, the + tunnelConfigTable, and the tunnelMIBBasicGroup. + + Added IP version-agnostic objects that should be used + instead, including tunnelIfAddressType, + tunnelIfLocalInetAddress, tunnelIfRemoteInetAddress, + the tunnelInetConfigTable, and the + tunnelIMIBInetGroup. + + The new tunnelIfLocalInetAddress and + tunnelIfRemoteInetAddress objects are read-write, + rather than read-only. + + Updated DESCRIPTION clauses of existing version- + agnostic objects (e.g., tunnelIfTOS) that contained + IPv4-specific text to cover IPv6 as well. + + Added tunnelIfFlowLabel for tunnels over IPv6. + + The encapsulation method was previously an INTEGER + type, and is now an IANA-maintained textual + convention. + + Published as RFC 4087."; + } + + revision 1999-08-24 { + description + "Initial version, published as RFC 2667."; + } + + + container TUNNEL-MIB { + config false; + + container tunnelIfTable { + description + "The (conceptual) table containing information on + configured tunnels."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1"; + + list tunnelIfEntry { + key "ifIndex"; + description + "An entry (conceptual row) containing the information + on a particular configured tunnel."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1"; + + leaf ifIndex { + type leafref { + path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; + } + } + + leaf tunnelIfLocalAddress { + type inet:ipv4-address; + status deprecated; + description + "The address of the local endpoint of the tunnel + (i.e., the source address used in the outer IP + header), or 0.0.0.0 if unknown or if the tunnel is + over IPv6. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelIfLocalInetAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.1"; + } + + leaf tunnelIfRemoteAddress { + type inet:ipv4-address; + status deprecated; + description + "The address of the remote endpoint of the tunnel + (i.e., the destination address used in the outer IP + header), or 0.0.0.0 if unknown, or an IPv6 address, or + + the tunnel is not a point-to-point link (e.g., if it + is a 6to4 tunnel). + + Since this object does not support IPv6, it is + deprecated in favor of tunnelIfRemoteInetAddress."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.2"; + } + + leaf tunnelIfEncapsMethod { + type ianaiftype-mib:IANAtunnelType; + description + "The encapsulation method used by the tunnel."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.3"; + } + + leaf tunnelIfHopLimit { + type int32 { + range "0..255"; + } + description + "The IPv4 TTL or IPv6 Hop Limit to use in the outer IP + header. A value of 0 indicates that the value is + copied from the payload's header."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.4"; + } + + leaf tunnelIfSecurity { + type enumeration { + enum "none" { + value "1"; + } + enum "ipsec" { + value "2"; + } + enum "other" { + value "3"; + } + } + description + "The method used by the tunnel to secure the outer IP + header. The value ipsec indicates that IPsec is used + between the tunnel endpoints for authentication or + encryption or both. More specific security-related + information may be available in a MIB module for the + security protocol in use."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.5"; + } + + leaf tunnelIfTOS { + type int32 { + range "-2..63"; + } + description + "The method used to set the high 6 bits (the + + differentiated services codepoint) of the IPv4 TOS or + IPv6 Traffic Class in the outer IP header. A value of + -1 indicates that the bits are copied from the + payload's header. A value of -2 indicates that a + traffic conditioner is invoked and more information + may be available in a traffic conditioner MIB module. + A value between 0 and 63 inclusive indicates that the + bit field is set to the indicated value. + + Note: instead of the name tunnelIfTOS, a better name + would have been tunnelIfDSCPMethod, but the existing + name appeared in RFC 2667 and existing objects cannot + be renamed."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.6"; + } + + leaf tunnelIfFlowLabel { + type int32 { + range "-1..100"; + } + description + "The method used to set the IPv6 Flow Label value. + This object need not be present in rows where + tunnelIfAddressType indicates the tunnel is not over + IPv6. A value of -1 indicates that a traffic + conditioner is invoked and more information may be + available in a traffic conditioner MIB. Any other + value indicates that the Flow Label field is set to + the indicated value."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.7"; + } + + leaf tunnelIfAddressType { + type inet-address:InetAddressType; + description + "The type of address in the corresponding + tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress + objects."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.8"; + } + + leaf tunnelIfLocalInetAddress { + type inet-address:InetAddress; + description + "The address of the local endpoint of the tunnel + (i.e., the source address used in the outer IP + header). If the address is unknown, the value is + + 0.0.0.0 for IPv4 or :: for IPv6. The type of this + object is given by tunnelIfAddressType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.9"; + } + + leaf tunnelIfRemoteInetAddress { + type inet-address:InetAddress; + description + "The address of the remote endpoint of the tunnel + (i.e., the destination address used in the outer IP + header). If the address is unknown or the tunnel is + not a point-to-point link (e.g., if it is a 6to4 + tunnel), the value is 0.0.0.0 for tunnels over IPv4 or + :: for tunnels over IPv6. The type of this object is + given by tunnelIfAddressType."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.10"; + } + + leaf tunnelIfEncapsLimit { + type int32 { + range "-1..255"; + } + description + "The maximum number of additional encapsulations + permitted for packets undergoing encapsulation at this + node. A value of -1 indicates that no limit is + present (except as a result of the packet size)."; + reference + "RFC 2473, section 4.1.1"; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.1.1.11"; + } + } + } + + container tunnelConfigTable { + status deprecated; + description + "The (conceptual) table containing information on + configured tunnels. This table can be used to map a + set of tunnel endpoints to the associated ifIndex + value. It can also be used for row creation. Note + that every row in the tunnelIfTable with a fixed IPv4 + destination address should have a corresponding row in + the tunnelConfigTable, regardless of whether it was + created via SNMP. + + Since this table does not support IPv6, it is + deprecated in favor of tunnelInetConfigTable."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2"; + + list tunnelConfigEntry { + key "tunnelConfigLocalAddress tunnelConfigRemoteAddress tunnelConfigEncapsMethod tunnelConfigID"; + status deprecated; + description + "An entry (conceptual row) containing the information + on a particular configured tunnel. + + Since this entry does not support IPv6, it is + deprecated in favor of tunnelInetConfigEntry."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1"; + + leaf tunnelConfigLocalAddress { + type inet:ipv4-address; + status deprecated; + description + "The address of the local endpoint of the tunnel, or + 0.0.0.0 if the device is free to choose any of its + addresses at tunnel establishment time. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigLocalAddress."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.1"; + } + + leaf tunnelConfigRemoteAddress { + type inet:ipv4-address; + status deprecated; + description + "The address of the remote endpoint of the tunnel. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigRemoteAddress."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.2"; + } + + leaf tunnelConfigEncapsMethod { + type ianaiftype-mib:IANAtunnelType; + status deprecated; + description + "The encapsulation method used by the tunnel. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigEncapsMethod."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.3"; + } + + leaf tunnelConfigID { + type int32 { + range "1..2147483647"; + } + status deprecated; + description + "An identifier used to distinguish between multiple + tunnels of the same encapsulation method, with the + same endpoints. If the encapsulation protocol only + allows one tunnel per set of endpoint addresses (such + as for GRE or IP-in-IP), the value of this object is + 1. For encapsulation methods (such as L2F) which + allow multiple parallel tunnels, the manager is + responsible for choosing any ID which does not + conflict with an existing row, such as choosing a + random number. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigID."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.4"; + } + + leaf tunnelConfigIfIndex { + type if-mib:InterfaceIndexOrZero; + status deprecated; + description + "If the value of tunnelConfigStatus for this row is + active, then this object contains the value of ifIndex + corresponding to the tunnel interface. A value of 0 + is not legal in the active state, and means that the + interface index has not yet been assigned. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigIfIndex."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.5"; + } + + leaf tunnelConfigStatus { + type snmpv2-tc:RowStatus; + status deprecated; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table. The + agent need not support setting this object to + createAndWait or notInService since there are no other + writable objects in this table, and writable objects + in rows of corresponding tables such as the + tunnelIfTable may be modified while this row is + active. + + To create a row in this table for an encapsulation + method which does not support multiple parallel + tunnels with the same endpoints, the management + station should simply use a tunnelConfigID of 1, and + set tunnelConfigStatus to createAndGo. For + encapsulation methods such as L2F which allow multiple + parallel tunnels, the management station may select a + pseudo-random number to use as the tunnelConfigID and + set tunnelConfigStatus to createAndGo. In the event + that this ID is already in use and an + inconsistentValue is returned in response to the set + operation, the management station should simply select + a new pseudo-random number and retry the operation. + + Creating a row in this table will cause an interface + index to be assigned by the agent in an + implementation-dependent manner, and corresponding + rows will be instantiated in the ifTable and the + tunnelIfTable. The status of this row will become + active as soon as the agent assigns the interface + index, regardless of whether the interface is + operationally up. + + Deleting a row in this table will likewise delete the + corresponding row in the ifTable and in the + tunnelIfTable. + + Since this object does not support IPv6, it is + deprecated in favor of tunnelInetConfigStatus."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.2.1.6"; + } + } + } + + container tunnelInetConfigTable { + description + "The (conceptual) table containing information on + configured tunnels. This table can be used to map a + set of tunnel endpoints to the associated ifIndex + value. It can also be used for row creation. Note + that every row in the tunnelIfTable with a fixed + destination address should have a corresponding row in + the tunnelInetConfigTable, regardless of whether it + was created via SNMP."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3"; + + list tunnelInetConfigEntry { + key "tunnelInetConfigAddressType tunnelInetConfigLocalAddress tunnelInetConfigRemoteAddress tunnelInetConfigEncapsMethod tunnelInetConfigID"; + description + "An entry (conceptual row) containing the information + on a particular configured tunnel. Note that there is + a 128 subid maximum for object OIDs. Implementers + need to be aware that if the total number of octets in + tunnelInetConfigLocalAddress and + tunnelInetConfigRemoteAddress exceeds 110 then OIDs of + column instances in this table will have more than 128 + sub-identifiers and cannot be accessed using SNMPv1, + SNMPv2c, or SNMPv3. In practice this is not expected + to be a problem since IPv4 and IPv6 addresses will not + cause the limit to be reached, but if other types are + supported by an agent, care must be taken to ensure + that the sum of the lengths do not cause the limit to + be exceeded."; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1"; + + leaf tunnelInetConfigAddressType { + type inet-address:InetAddressType; + description + "The address type over which the tunnel encapsulates + packets."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.1"; + } + + leaf tunnelInetConfigLocalAddress { + type inet-address:InetAddress; + description + "The address of the local endpoint of the tunnel, or + 0.0.0.0 (for IPv4) or :: (for IPv6) if the device is + free to choose any of its addresses at tunnel + establishment time."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.2"; + } + + leaf tunnelInetConfigRemoteAddress { + type inet-address:InetAddress; + description + "The address of the remote endpoint of the tunnel."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.3"; + } + + leaf tunnelInetConfigEncapsMethod { + type ianaiftype-mib:IANAtunnelType; + description + "The encapsulation method used by the tunnel."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.4"; + } + + leaf tunnelInetConfigID { + type int32 { + range "1..2147483647"; + } + description + "An identifier used to distinguish between multiple + tunnels of the same encapsulation method, with the + same endpoints. If the encapsulation protocol only + allows one tunnel per set of endpoint addresses (such + as for GRE or IP-in-IP), the value of this object is + 1. For encapsulation methods (such as L2F) which + allow multiple parallel tunnels, the manager is + responsible for choosing any ID which does not + + conflict with an existing row, such as choosing a + random number."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.5"; + } + + leaf tunnelInetConfigIfIndex { + type if-mib:InterfaceIndexOrZero; + description + "If the value of tunnelInetConfigStatus for this row + is active, then this object contains the value of + ifIndex corresponding to the tunnel interface. A + value of 0 is not legal in the active state, and means + that the interface index has not yet been assigned."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.6"; + } + + leaf tunnelInetConfigStatus { + type snmpv2-tc:RowStatus; + description + "The status of this row, by which new entries may be + created, or old entries deleted from this table. The + agent need not support setting this object to + createAndWait or notInService since there are no other + writable objects in this table, and writable objects + in rows of corresponding tables such as the + tunnelIfTable may be modified while this row is + active. + + To create a row in this table for an encapsulation + method which does not support multiple parallel + tunnels with the same endpoints, the management + station should simply use a tunnelInetConfigID of 1, + and set tunnelInetConfigStatus to createAndGo. For + encapsulation methods such as L2F which allow multiple + parallel tunnels, the management station may select a + pseudo-random number to use as the tunnelInetConfigID + and set tunnelInetConfigStatus to createAndGo. In the + event that this ID is already in use and an + inconsistentValue is returned in response to the set + operation, the management station should simply select + a new pseudo-random number and retry the operation. + + Creating a row in this table will cause an interface + index to be assigned by the agent in an + implementation-dependent manner, and corresponding + rows will be instantiated in the ifTable and the + + tunnelIfTable. The status of this row will become + active as soon as the agent assigns the interface + index, regardless of whether the interface is + operationally up. + + Deleting a row in this table will likewise delete the + corresponding row in the ifTable and in the + tunnelIfTable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.7"; + } + + leaf tunnelInetConfigStorageType { + type snmpv2-tc:StorageType; + description + "The storage type of this row. If the row is + permanent(4), no objects in the row need be writable."; + smiv2:max-access "read-write"; + smiv2:oid "1.3.6.1.2.1.10.131.1.1.3.1.8"; + } + } + } + } + + smiv2:alias "tunnelMIB" { + smiv2:oid "1.3.6.1.2.1.10.131"; + } + + smiv2:alias "tunnelMIBObjects" { + smiv2:oid "1.3.6.1.2.1.10.131.1"; + } + + smiv2:alias "tunnel" { + smiv2:oid "1.3.6.1.2.1.10.131.1.1"; + } + + smiv2:alias "tunnelMIBConformance" { + smiv2:oid "1.3.6.1.2.1.10.131.2"; + } + + smiv2:alias "tunnelMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.10.131.2.1"; + } + + smiv2:alias "tunnelMIBGroups" { + smiv2:oid "1.3.6.1.2.1.10.131.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/UDP-MIB.yang b/vendor/cisco/xe/17151/MIBS/UDP-MIB.yang new file mode 100644 index 000000000..7c9016d1e --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/UDP-MIB.yang @@ -0,0 +1,457 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/UDP-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang UDP-MIB + * + * Do not edit. Edit the source file instead! + */ + +module UDP-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB"; + prefix UDP-MIB; + + import INET-ADDRESS-MIB { + prefix "inet-address"; + } + + import ietf-inet-types { + prefix "inet"; + } + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + import ietf-yang-types { + prefix "yang"; + } + + organization + "IETF IPv6 Working Group + http://www.ietf.org/html.charters/ipv6-charter.html"; + + contact + "Bill Fenner (editor) + + AT&T Labs -- Research + 75 Willow Rd. + Menlo Park, CA 94025 + + Phone: +1 650 330-7893 + Email: + + John Flick (editor) + + Hewlett-Packard Company + 8000 Foothills Blvd. M/S 5557 + Roseville, CA 95747 + + Phone: +1 916 785 4018 + Email: + + Send comments to "; + + description + "The MIB module for managing UDP implementations. + Copyright (C) The Internet Society (2005). This + version of this MIB module is part of RFC 4113; + see the RFC itself for full legal notices."; + + revision 2005-05-20 { + description + "IP version neutral revision, incorporating the + following revisions: + + - Added udpHCInDatagrams and udpHCOutDatagrams in order + to provide high-capacity counters for fast networks. + - Added text to the descriptions of all counter objects + to indicate how discontinuities are detected. + - Deprecated the IPv4-specific udpTable and replaced it + with the version neutral udpEndpointTable. This + table includes support for connected UDP endpoints + and support for identification of the operating + system process associated with a UDP endpoint. + - Deprecated the udpGroup and replaced it with object + groups representing the current set of objects. + - Deprecated udpMIBCompliance and replaced it with + udpMIBCompliance2, which includes the compliance + information for the new object groups. + + This version published as RFC 4113."; + } + + revision 1994-11-01 { + description + "Initial SMIv2 version, published as RFC 2013."; + } + + revision 1991-03-31 { + description + "The initial revision of this MIB module was part of + MIB-II, published as RFC 1213."; + } + + + container UDP-MIB { + config false; + + container udp { + smiv2:oid "1.3.6.1.2.1.7"; + + leaf udpInDatagrams { + type yang:counter32; + description + "The total number of UDP datagrams delivered to UDP + users. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.1"; + } + + leaf udpNoPorts { + type yang:counter32; + description + "The total number of received UDP datagrams for which + there was no application at the destination port. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.2"; + } + + leaf udpInErrors { + type yang:counter32; + description + "The number of received UDP datagrams that could not be + delivered for reasons other than the lack of an + application at the destination port. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.3"; + } + + leaf udpOutDatagrams { + type yang:counter32; + description + "The total number of UDP datagrams sent from this + entity. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.4"; + } + + leaf udpHCInDatagrams { + type yang:counter64; + description + "The total number of UDP datagrams delivered to UDP + users, for devices that can receive more than 1 + million UDP datagrams per second. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.8"; + } + + leaf udpHCOutDatagrams { + type yang:counter64; + description + "The total number of UDP datagrams sent from this + entity, for devices that can transmit more than 1 + million UDP datagrams per second. + + Discontinuities in the value of this counter can occur + at re-initialization of the management system, and at + other times as indicated by discontinuities in the + value of sysUpTime."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.9"; + } + } + + container udpTable { + status deprecated; + description + "A table containing IPv4-specific UDP listener + information. It contains information about all local + IPv4 UDP end-points on which an application is + currently accepting datagrams. This table has been + deprecated in favor of the version neutral + udpEndpointTable."; + smiv2:oid "1.3.6.1.2.1.7.5"; + + list udpEntry { + key "udpLocalAddress udpLocalPort"; + status deprecated; + description + "Information about a particular current UDP listener."; + smiv2:oid "1.3.6.1.2.1.7.5.1"; + + leaf udpLocalAddress { + type inet:ipv4-address; + status deprecated; + description + "The local IP address for this UDP listener. In the + case of a UDP listener that is willing to accept + datagrams for any IP interface associated with the + node, the value 0.0.0.0 is used."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.5.1.1"; + } + + leaf udpLocalPort { + type int32 { + range "0..65535"; + } + status deprecated; + description + "The local port number for this UDP listener."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.5.1.2"; + } + } + } + + container udpEndpointTable { + description + "A table containing information about this entity's UDP + endpoints on which a local application is currently + accepting or sending datagrams. + + The address type in this table represents the address + type used for the communication, irrespective of the + higher-layer abstraction. For example, an application + using IPv6 'sockets' to communicate via IPv4 between + ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use + InetAddressType ipv4(1). + + Unlike the udpTable in RFC 2013, this table also allows + the representation of an application that completely + specifies both local and remote addresses and ports. A + listening application is represented in three possible + ways: + + 1) An application that is willing to accept both IPv4 + and IPv6 datagrams is represented by a + udpEndpointLocalAddressType of unknown(0) and a + udpEndpointLocalAddress of ''h (a zero-length + octet-string). + + 2) An application that is willing to accept only IPv4 + or only IPv6 datagrams is represented by a + udpEndpointLocalAddressType of the appropriate + address type and a udpEndpointLocalAddress of + '0.0.0.0' or '::' respectively. + + 3) An application that is listening for datagrams only + for a specific IP address but from any remote + system is represented by a + udpEndpointLocalAddressType of the appropriate + address type, with udpEndpointLocalAddress + specifying the local address. + + In all cases where the remote is a wildcard, the + udpEndpointRemoteAddressType is unknown(0), the + udpEndpointRemoteAddress is ''h (a zero-length + octet-string), and the udpEndpointRemotePort is 0. + + If the operating system is demultiplexing UDP packets + by remote address and port, or if the application has + 'connected' the socket specifying a default remote + address and port, the udpEndpointRemote* values should + be used to reflect this."; + smiv2:oid "1.3.6.1.2.1.7.7"; + + list udpEndpointEntry { + key "udpEndpointLocalAddressType udpEndpointLocalAddress udpEndpointLocalPort udpEndpointRemoteAddressType udpEndpointRemoteAddress udpEndpointRemotePort udpEndpointInstance"; + description + "Information about a particular current UDP endpoint. + + Implementers need to be aware that if the total number + of elements (octets or sub-identifiers) in + udpEndpointLocalAddress and udpEndpointRemoteAddress + exceeds 111, then OIDs of column instances in this table + will have more than 128 sub-identifiers and cannot be + accessed using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:oid "1.3.6.1.2.1.7.7.1"; + + leaf udpEndpointLocalAddressType { + type inet-address:InetAddressType; + description + "The address type of udpEndpointLocalAddress. Only + IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or + unknown(0) if datagrams for all local IP addresses are + accepted."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.1"; + } + + leaf udpEndpointLocalAddress { + type inet-address:InetAddress; + description + "The local IP address for this UDP endpoint. + + The value of this object can be represented in three + + possible ways, depending on the characteristics of the + listening application: + + 1. For an application that is willing to accept both + IPv4 and IPv6 datagrams, the value of this object + must be ''h (a zero-length octet-string), with + the value of the corresponding instance of the + udpEndpointLocalAddressType object being unknown(0). + + 2. For an application that is willing to accept only IPv4 + or only IPv6 datagrams, the value of this object + must be '0.0.0.0' or '::', respectively, while the + corresponding instance of the + udpEndpointLocalAddressType object represents the + appropriate address type. + + 3. For an application that is listening for data + destined only to a specific IP address, the value + of this object is the specific IP address for which + this node is receiving packets, with the + corresponding instance of the + udpEndpointLocalAddressType object representing the + appropriate address type. + + As this object is used in the index for the + udpEndpointTable, implementors of this table should be + careful not to create entries that would result in OIDs + with more than 128 subidentifiers; else the information + cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.2"; + } + + leaf udpEndpointLocalPort { + type inet:port-number; + description + "The local port number for this UDP endpoint."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.3"; + } + + leaf udpEndpointRemoteAddressType { + type inet-address:InetAddressType; + description + "The address type of udpEndpointRemoteAddress. Only + IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or + unknown(0) if datagrams for all remote IP addresses are + accepted. Also, note that some combinations of + + udpEndpointLocalAdressType and + udpEndpointRemoteAddressType are not supported. In + particular, if the value of this object is not + unknown(0), it is expected to always refer to the + same IP version as udpEndpointLocalAddressType."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.4"; + } + + leaf udpEndpointRemoteAddress { + type inet-address:InetAddress; + description + "The remote IP address for this UDP endpoint. If + datagrams from any remote system are to be accepted, + this value is ''h (a zero-length octet-string). + Otherwise, it has the type described by + udpEndpointRemoteAddressType and is the address of the + remote system from which datagrams are to be accepted + (or to which all datagrams will be sent). + + As this object is used in the index for the + udpEndpointTable, implementors of this table should be + careful not to create entries that would result in OIDs + with more than 128 subidentifiers; else the information + cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.5"; + } + + leaf udpEndpointRemotePort { + type inet:port-number; + description + "The remote port number for this UDP endpoint. If + datagrams from any remote system are to be accepted, + this value is zero."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.6"; + } + + leaf udpEndpointInstance { + type uint32 { + range "1..4294967295"; + } + description + "The instance of this tuple. This object is used to + distinguish among multiple processes 'connected' to + the same UDP endpoint. For example, on a system + implementing the BSD sockets interface, this would be + used to support the SO_REUSEADDR and SO_REUSEPORT + socket options."; + smiv2:max-access "not-accessible"; + smiv2:oid "1.3.6.1.2.1.7.7.1.7"; + } + + leaf udpEndpointProcess { + type uint32; + description + "The system's process ID for the process associated with + this endpoint, or zero if there is no such process. + This value is expected to be the same as + HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB:: + sysApplElmtRunIndex for some row in the appropriate + tables."; + smiv2:max-access "read-only"; + smiv2:oid "1.3.6.1.2.1.7.7.1.8"; + } + } + } + } + + smiv2:alias "udp" { + smiv2:oid "1.3.6.1.2.1.7"; + } + + smiv2:alias "udpMIB" { + smiv2:oid "1.3.6.1.2.1.50"; + } + + smiv2:alias "udpMIBConformance" { + smiv2:oid "1.3.6.1.2.1.50.2"; + } + + smiv2:alias "udpMIBCompliances" { + smiv2:oid "1.3.6.1.2.1.50.2.1"; + } + + smiv2:alias "udpMIBGroups" { + smiv2:oid "1.3.6.1.2.1.50.2.2"; + } + +} diff --git a/vendor/cisco/xe/17151/MIBS/VPN-TC-STD-MIB.yang b/vendor/cisco/xe/17151/MIBS/VPN-TC-STD-MIB.yang new file mode 100644 index 000000000..2dde0f5be --- /dev/null +++ b/vendor/cisco/xe/17151/MIBS/VPN-TC-STD-MIB.yang @@ -0,0 +1,90 @@ +/* + * Generated by confdc --mib2yang-std + * Source: mgmt/dmi/model/mib/src/VPN-TC-STD-MIB.mib + */ +/* + * This YANG module has been generated by smidump 0.5.0: + * + * smidump -f yang VPN-TC-STD-MIB + * + * Do not edit. Edit the source file instead! + */ + +module VPN-TC-STD-MIB { + + namespace "urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB"; + prefix VPN-TC-STD-MIB; + + import ietf-yang-smiv2 { + prefix "smiv2"; + } + + organization + "Layer 3 Virtual Private Networks (L3VPN) Working Group."; + + contact + "Benson Schliesser + bensons@savvis.net + + Thomas D. Nadeau + tnadeau@cisco.com + + This TC MIB is a product of the PPVPN + http://www.ietf.org/html.charters/ppvpn-charter.html + and subsequently the L3VPN + http://www.ietf.org/html.charters/l3vpn-charter.html + working groups. + + Comments and discussion should be directed to + l3vpn@ietf.org"; + + description + "This MIB contains TCs for VPNs. + + Copyright (C) The Internet Society (2005). This version + of this MIB module is part of RFC 4265; see the RFC + itself for full legal notices."; + + revision 2005-11-15 { + description + "Initial version, published as RFC 4265."; + } + + typedef VPNId { + type binary { + length "7"; + } + description + "The purpose of a VPN-ID is to uniquely identify a VPN. + The Global VPN Identifier format is: + 3 octet VPN Authority, Organizationally Unique Identifier + followed by 4 octet VPN index identifying VPN according + to OUI"; + reference + "Fox, B. and Gleeson, B., 'Virtual Private Networks + Identifier', RFC 2685, September 1999."; + } + + typedef VPNIdOrZero { + type binary { + length "0|7"; + } + description + "This textual convention is an extension of the + VPNId textual convention that defines a non-zero-length + OCTET STRING to identify a physical entity. This extension + permits the additional value of a zero-length OCTET STRING. + + The semantics of the value zero-length OCTET STRING are + object-specific and must therefore be defined + as part of the description of any object that uses this + syntax. Examples of usage of this extension are + situations where none or all VPN IDs need to be + referenced."; + } + + smiv2:alias "vpnTcMIB" { + smiv2:oid "1.3.6.1.2.1.129"; + } + +} diff --git a/vendor/cisco/xe/17151/README.md b/vendor/cisco/xe/17151/README.md new file mode 100755 index 000000000..6e9fc356a --- /dev/null +++ b/vendor/cisco/xe/17151/README.md @@ -0,0 +1,259 @@ + + +**Table of Contents** + +- [YANG Models and Platform Capabilities for Cisco IOS XE 17.15.1](#yang-models-and-platform-capabilities-for-cisco-ios-xe-17131) + - [Major Model Changes In 17.15.1](#major-model-changes-in-17131) + - [Native Models Added](#native-models-added) + - [Native Models Modified](#native-models-modified) + - [Other Models Modified](#other-models-modified) + - [Native Models Removed](#native-models-removed) + - [Backward Incompatible Changes](#backward-incompatible-changes) + - [Compliance With "pyang --lint"](#compliance-with-pyang---lint) + - [Revision Statements](#revision-statements) + - [YANG Model Version 1.1](#yang-model-version-11) + + + +## YANG Models and Platform Capabilities for Cisco IOS XE 17.15.1 + +This directory contains the YANG models supported by IOS XE 17.15.1: + +* IOS XE native models +* IETF, OpenConfig and tail-f models (and deviations) +* MIB-based models generated using the algorithms in [RFC 6643](https://tools.ietf.org/html/rfc6643) + +The schemas may be retrieved from devices using the NETCONF "get-schema" RPC as detailed in [RFC 6022](https://tools.ietf.org/html/rfc6022) Section 3.1. Schemas may also be retrieved using RESTCONF "get" on ietf-yang-library.yang model schema leaf, which provides the list of URL's from which the schemas can be downloaded. Models listed in this repository are supported by following IOS XE platforms +listed below. As model content may differ based on platform capabilities, samples of the platform "hello" messages are also provided in the files listed against platforms: + +| Platform | Capability File | +|----------|-----------------| +| ASR 1000 | [capability-asr1k.xml](capability-asr1k.xml) | +| ASR 900 RSP2/RSP3, ASR 920, NCS 520 and NCS 4200 | [capability-asr900.xml](capability-asr900.xml) | +| Catalyst 9K_Lite | [capability-cat9200.xml](capability-cat9200.xml) | +| Catalyst 9K | [capability-cat9k.xml](capability-cat9k.xml) | +| Catalyst 9800 | [capability-wireless.xml](capability-wireless.xml) | +| C8000v/ISRv | [capability-c8000v.xml](capability-c8000v.xml) | +| C8500/C8500L | [capability-c8500.xml](capability-c8500.xml) | +| C8200 | [capability-c8200.xml](capability-c8200.xml) | +| C8300 | [capability-c8300.xml](capability-c8300.xml) | +| ESS 3x00 | [capability-ess3x00.xml](capability-ess3x00.xml) | +| IR 1101 | [capability-ir1101.xml](capability-ir1101.xml) | +| IE 3x00 | [capability-ie3x00.xml](capability-ie3x00.xml) | +| ISR 1000 | [capability-isr1k.xml](capability-isr1k.xml) | +| ISR 4000 | [capability-isr4k.xml](capability-isr4k.xml) | + + +### Major Model Changes In 17.15.1 + +17.15.1 model changes include adding new native models and existing native model updates. + +#### Native Models Added + +* Cisco-IOS-XE-buffers.yang +* Cisco-IOS-XE-clns.yang +* Cisco-IOS-XE-cloud-services-oper.yang +* Cisco-IOS-XE-cwmp.yang +* Cisco-IOS-XE-gnss.yang +* Cisco-IOS-XE-interfaces-deviation.yang +* Cisco-IOS-XE-ipc.yang +* Cisco-IOS-XE-irig.yang +* Cisco-IOS-XE-l2nat-oper.yang +* Cisco-IOS-XE-livetools-actions-rpc.yang +* Cisco-IOS-XE-livetools-common-types.yang +* Cisco-IOS-XE-livetools-oper.yang +* Cisco-IOS-XE-logging-deviation.yang +* Cisco-IOS-XE-mcast-events.yang +* Cisco-IOS-XE-nve-oper.yang +* Cisco-IOS-XE-omp-oper.yang +* Cisco-IOS-XE-omp-rpc.yang +* Cisco-IOS-XE-perf-measure-deviation.yang +* Cisco-IOS-XE-port-bounce-events.yang +* Cisco-IOS-XE-port-bounce-rpc.yang +* Cisco-IOS-XE-port-channel-crankshaft-deviation.yang +* Cisco-IOS-XE-port-channel-unsupported-deviation.yang +* Cisco-IOS-XE-ppp-mcp-deviation.yang +* Cisco-IOS-XE-red-app-common-types.yang +* Cisco-IOS-XE-red-app-events.yang +* Cisco-IOS-XE-rg-oper.yang +* Cisco-IOS-XE-uplink-autoconfig-oper.yang +* Cisco-IOS-XE-uplink-autoconfig.yang +* Cisco-IOS-XE-wireless-cisco-spaces-oper.yang +* Cisco-IOS-XE-wireless-tech-support-rpc.yang + + +#### Native Models Modified + +* Cisco-IOS-XE-aaa-oper.yang +* Cisco-IOS-XE-aaa.yang +* Cisco-IOS-XE-acl.yang +* Cisco-IOS-XE-alarm-profile.yang +* Cisco-IOS-XE-banner-internal.yang +* Cisco-IOS-XE-bfd.yang +* Cisco-IOS-XE-bgp.yang +* Cisco-IOS-XE-bridge-domain.yang +* Cisco-IOS-XE-call-home.yang +* Cisco-IOS-XE-cdp.yang +* Cisco-IOS-XE-cli-rpc.yang +* Cisco-IOS-XE-cloud-services-cfg.yang +* Cisco-IOS-XE-cloud-services-rpc.yang +* Cisco-IOS-XE-controller.yang +* Cisco-IOS-XE-crypto.yang +* Cisco-IOS-XE-cts-routing-deviation.yang +* Cisco-IOS-XE-cts-switching-deviation.yang +* Cisco-IOS-XE-cts.yang +* Cisco-IOS-XE-device-tracking.yang +* Cisco-IOS-XE-dhcp.yang +* Cisco-IOS-XE-dot1x.yang +* Cisco-IOS-XE-dying-gasp.yang +* Cisco-IOS-XE-eem.yang +* Cisco-IOS-XE-endpoint-tracker-events.yang +* Cisco-IOS-XE-ethernet-oam.yang +* Cisco-IOS-XE-ethernet.yang +* Cisco-IOS-XE-ezpm.yang +* Cisco-IOS-XE-features.yang +* Cisco-IOS-XE-flow.yang +* Cisco-IOS-XE-gnmi-cfg.yang +* Cisco-IOS-XE-http.yang +* Cisco-IOS-XE-igmp.yang +* Cisco-IOS-XE-interface-common.yang +* Cisco-IOS-XE-interfaces-oper.yang +* Cisco-IOS-XE-interfaces.yang +* Cisco-IOS-XE-ip.yang +* Cisco-IOS-XE-ipv6.yang +* Cisco-IOS-XE-isis.yang +* Cisco-IOS-XE-l2nat.yang +* Cisco-IOS-XE-l2vpn.yang +* Cisco-IOS-XE-line-nonquake-deviation.yang +* Cisco-IOS-XE-line.yang +* Cisco-IOS-XE-lisp-oper.yang +* Cisco-IOS-XE-lisp.yang +* Cisco-IOS-XE-lldp-oper.yang +* Cisco-IOS-XE-logging.yang +* Cisco-IOS-XE-mdns-gateway.yang +* Cisco-IOS-XE-meraki-connect-oper.yang +* Cisco-IOS-XE-mld.yang +* Cisco-IOS-XE-mpls.yang +* Cisco-IOS-XE-multicast.yang +* Cisco-IOS-XE-nat.yang +* Cisco-IOS-XE-native.yang +* Cisco-IOS-XE-nbar.yang +* Cisco-IOS-XE-nd.yang +* Cisco-IOS-XE-nhrp.yang +* Cisco-IOS-XE-nwpi-oper.yang +* Cisco-IOS-XE-nwpi-rpc.yang +* Cisco-IOS-XE-nwpi-types.yang +* Cisco-IOS-XE-object-group.yang +* Cisco-IOS-XE-ospf-deviation.yang +* Cisco-IOS-XE-ospf.yang +* Cisco-IOS-XE-ospfv3.yang +* Cisco-IOS-XE-perf-measure.yang +* Cisco-IOS-XE-platform.yang +* Cisco-IOS-XE-pnp.yang +* Cisco-IOS-XE-poe-oper.yang +* Cisco-IOS-XE-policy.yang +* Cisco-IOS-XE-port-channel-deviation.yang +* Cisco-IOS-XE-ppp.yang +* Cisco-IOS-XE-qfp-stats.yang +* Cisco-IOS-XE-qos.yang +* Cisco-IOS-XE-route-map.yang +* Cisco-IOS-XE-rpc.yang +* Cisco-IOS-XE-rsvp.yang +* Cisco-IOS-XE-sanet.yang +* Cisco-IOS-XE-segment-routing.yang +* Cisco-IOS-XE-sip-ua.yang +* Cisco-IOS-XE-sisf.yang +* Cisco-IOS-XE-snmp.yang +* Cisco-IOS-XE-spanning-tree-oper.yang +* Cisco-IOS-XE-spanning-tree.yang +* Cisco-IOS-XE-switch-deviation.yang +* Cisco-IOS-XE-switch-rpc.yang +* Cisco-IOS-XE-switch.yang +* Cisco-IOS-XE-switchport-deviation.yang +* Cisco-IOS-XE-synce.yang +* Cisco-IOS-XE-template.yang +* Cisco-IOS-XE-track.yang +* Cisco-IOS-XE-tunnel.yang +* Cisco-IOS-XE-udld.yang +* Cisco-IOS-XE-umbrella.yang +* Cisco-IOS-XE-vlan.yang +* Cisco-IOS-XE-voice-class.yang +* Cisco-IOS-XE-voice-port.yang +* Cisco-IOS-XE-voice-register.yang +* Cisco-IOS-XE-voice.yang +* Cisco-IOS-XE-vrrp.yang +* Cisco-IOS-XE-vtp.yang +* Cisco-IOS-XE-wireless-access-point-cfg-rpc.yang +* Cisco-IOS-XE-wireless-access-point-cmd-rpc.yang +* Cisco-IOS-XE-wireless-access-point-oper.yang +* Cisco-IOS-XE-wireless-afc-types.yang +* Cisco-IOS-XE-wireless-ap-cfg.yang +* Cisco-IOS-XE-wireless-ap-types.yang +* Cisco-IOS-XE-wireless-client-global-oper.yang +* Cisco-IOS-XE-wireless-client-oper.yang +* Cisco-IOS-XE-wireless-client-types.yang +* Cisco-IOS-XE-wireless-dot11-cfg.yang +* Cisco-IOS-XE-wireless-enum-types.yang +* Cisco-IOS-XE-wireless-general-cfg.yang +* Cisco-IOS-XE-wireless-geolocation-types.yang +* Cisco-IOS-XE-wireless-mesh-cfg.yang +* Cisco-IOS-XE-wireless-mobility-types.yang +* Cisco-IOS-XE-wireless-mstream-cfg.yang +* Cisco-IOS-XE-wireless-rf-cfg.yang +* Cisco-IOS-XE-wireless-rfid-global-oper.yang +* Cisco-IOS-XE-wireless-rfid-oper.yang +* Cisco-IOS-XE-wireless-rogue-cfg.yang +* Cisco-IOS-XE-wireless-rogue-oper.yang +* Cisco-IOS-XE-wireless-rogue-types.yang +* Cisco-IOS-XE-wireless-rrm-cfg.yang +* Cisco-IOS-XE-wireless-site-cfg.yang +* Cisco-IOS-XE-wireless-types.yang +* Cisco-IOS-XE-wireless-wlan-cfg.yang +* Cisco-IOS-XE-yang-interfaces-cfg.yang +* Cisco-IOS-XE-zone.yang + +#### Other Models Modified + +* cisco-xe-openconfig-evpn-deviation.yang +* openconfig-network-instance.yang + +### Backward Incompatible Changes + +All the model specific backward incompatible changes have been documented in [Backward Incompatible Changes](BIC). + +### Compliance With "pyang --lint" + +Some models are not fully compliant with all IETF guidelines as exemplified by running the pyang tool with the ```--lint``` flag. The errors and warnings exhibited by running pyang with the ```--lint``` flag are currently deemed to be non-critical as they do not impact the semantic of the models or prevent the models being used as part of toolchains. A script has been provided, "check-models.sh", that runs pyang with ```--lint``` validation enabled, but ignoring certain errors. This allows the developer to determine what issues may be present. + +As part of the model validation for this release we are ignoring "LEAFREF_IDENTIFIER_NOT_FOUND" and "STRICT_XPATH_FUNCTIONS" error types. Reason being that the missing leafref reference errors are due to pyang bug which needs to be fixed and some of the XPATH function errors are false positives which are handled in the newer version of pyang (2.3.2) + +### Revision Statements + +Revision statements embedded in the YANG files **should** accurately reflect whether or not a new revision has been introduced. + +### YANG Model Version 1.1 + +All native models are in YANG version 1.1 from 17.10.1 release. + +YANG version 1.1 is described by the RFC 7950, The YANG 1.1 Data Modeling Language. YANG version 1.1 is a maintenance release of the YANG language that addresses ambiguities and defects in the YANG version 1.0 specification. Per RFC 7950, the YANG module in YANG version 1.1 is advertised through the ietf-yang-library instead of the NETCONF hello messages. As model content may differ based on platform support, samples of the platform 'ietf-yang-library' messages listing all implemented modules in the "/modules-state/module" list are also provided in the files listed against platforms: + +| Platform | YANG Set File | +|----------|-----------------| +| ASR 1000 | [yang-set-asr1k.xml](yang-set-asr1k.xml) | +| ASR 900 RSP2/RSP3, ASR 920, NCS 520 and NCS 4200 | [yang-set-asr900.xml](yang-set-asr900.xml) | +| Catalyst 9K_Lite | [yang-set-cat9200.xml](yang-set-cat9200.xml) | +| Catalyst 9K | [yang-set-cat9k.xml](yang-set-cat9k.xml) | +| Catalyst 9800| [yang-set-wireless.xml](yang-set-wireless.xml) | +| C8000v/ISRv | [yang-set-c8000v.xml](yang-set-c8000v.xml) | +| C8500/C8500L | [yang-set-c8500.xml](yang-set-c8500.xml) | +| C8200 | [yang-set-c8200.xml](yang-set-c8200.xml) | +| C8300 | [yang-set-c8300.xml](yang-set-c8300.xml) | +| ESS 3x00 | [yang-set-ess3x00.xml](yang-set-ess3x00.xml) | +| IR 1101 | [yang-set-ir1101.xml](yang-set-ir1101.xml) | +| IE 3x00 | [yang-set-ie3x00.xml](yang-set-ie3x00.xml) | +| ISR 1000 | [yang-set-isr1k.xml](yang-set-isr1k.xml) | +| ISR 4000 | [yang-set-isr4k.xml](yang-set-isr4k.xml) | + +### OID to xpath Mapping + +SNMP OID MIB to xpath mapping is documented under [iosxe-snmp-OID-xpath-mapping.csv](iosxe-snmp-OID-xpath-mapping.csv) file. diff --git a/vendor/cisco/xe/17151/capability-asr1k.xml b/vendor/cisco/xe/17151/capability-asr1k.xml new file mode 100644 index 000000000..3a218a517 --- /dev/null +++ b/vendor/cisco/xe/17151/capability-asr1k.xml @@ -0,0 +1,373 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=23d6998d14bd503a4b43e0abaa05bb65 + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=23d6998d14bd503a4b43e0abaa05bb65 + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation?module=cisco-xe-routing-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-routing-asr-openconfig-if-ethernet-deviation?module=cisco-xe-routing-asr-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-routing-asr-openconfig-if-ethernet-deviation,cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-routing-asr-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21 + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15 + http://openconfig.net/yang/poe?module=openconfig-if-poe&revision=2017-09-14 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16 + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16 + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-asr900.xml b/vendor/cisco/xe/17151/capability-asr900.xml new file mode 100644 index 000000000..fafee07ec --- /dev/null +++ b/vendor/cisco/xe/17151/capability-asr900.xml @@ -0,0 +1,367 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=3588f7db7fc2909bf1be03a8ef65cede + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=3588f7db7fc2909bf1be03a8ef65cede + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-system-grpc-deviation?module=cisco-xe-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-access-openconfig-system-ext?module=cisco-xe-access-openconfig-system-ext&revision=2020-05-13 + http://cisco.com/ns/yang/cisco-xe-access-openconfig-vlan-deviation?module=cisco-xe-access-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-access-openconfig-if-ethernet-deviation?module=cisco-xe-access-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/cisco-xe-access-openconfig-platform-deviation?module=cisco-xe-access-openconfig-platform-deviation&revision=2018-12-12 + http://openconfig.net/yang/cisco-xe-access-openconfig-system-deviation?module=cisco-xe-access-openconfig-system-deviation&revision=2018-12-12 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-access-openconfig-if-ethernet-deviation,cisco-xe-access-openconfig-vlan-deviation,cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-access-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21&deviations=cisco-xe-access-openconfig-platform-deviation + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-access-openconfig-system-deviation,cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-access-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-c8000v.xml b/vendor/cisco/xe/17151/capability-c8000v.xml new file mode 100644 index 000000000..cf690ea97 --- /dev/null +++ b/vendor/cisco/xe/17151/capability-c8000v.xml @@ -0,0 +1,365 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=41d600e450415594daebd0fd3fbffb94 + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=41d600e450415594daebd0fd3fbffb94 + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-system-ext?module=cisco-xe-routing-openconfig-system-ext&revision=2020-11-01 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation?module=cisco-xe-routing-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-routing-csr-openconfig-platform-deviation?module=cisco-xe-routing-csr-openconfig-platform-deviation&revision=2010-10-09 + http://openconfig.net/yang/cisco-xe-routing-openconfig-system-deviation?module=cisco-xe-routing-openconfig-system-deviation&revision=2017-11-27 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06 + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-cat9200.xml b/vendor/cisco/xe/17151/capability-cat9200.xml new file mode 100644 index 000000000..d0fd470eb --- /dev/null +++ b/vendor/cisco/xe/17151/capability-cat9200.xml @@ -0,0 +1,344 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=3326178d40ffefc097206d107e4ddc7b + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=3326178d40ffefc097206d107e4ddc7b + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-system-grpc-deviation?module=cisco-xe-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-deviation?module=cisco-xe-openconfig-spanning-tree-deviation&revision=2017-08-21 + http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-ext?module=cisco-xe-openconfig-spanning-tree-ext&revision=2017-10-24 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-openconfig-vlan-ext?module=cisco-xe-openconfig-vlan-ext&revision=2017-06-14&deviations=cisco-xe-switching-openconfig-vlan-deviation + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-lacp-deviation?module=cisco-xe-switching-openconfig-lacp-deviation&revision=2022-08-25 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-platform-deviation?module=cisco-xe-switching-openconfig-platform-deviation&revision=2021-09-20 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-vlan-deviation?module=cisco-xe-switching-openconfig-vlan-deviation&revision=2017-03-17 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-if-poe-deviation?module=cisco-xe-openconfig-if-poe-deviation&revision=2021-10-29 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-switching-cat9k-openconfig-system-deviation?module=cisco-xe-switching-cat9k-openconfig-system-deviation&revision=2018-07-01 + http://openconfig.net/yang/cisco-xe-switching-openconfig-if-ethernet-deviation?module=cisco-xe-switching-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-switching-openconfig-if-ethernet-deviation,cisco-xe-switching-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-switching-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/lacp?module=openconfig-lacp&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-lacp-deviation + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/macsec?module=openconfig-macsec&revision=2019-07-01 + http://openconfig.net/yang/macsec/types?module=openconfig-macsec-types&revision=2019-07-01 + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/linecard?module=openconfig-platform-linecard&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/poe?module=openconfig-if-poe&revision=2017-09-14 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/spanning-tree?module=openconfig-spanning-tree&revision=2018-11-21&deviations=cisco-xe-openconfig-spanning-tree-deviation + http://openconfig.net/yang/spanning-tree/types?module=openconfig-spanning-tree-types&revision=2018-11-21 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation,cisco-xe-switching-cat9k-openconfig-system-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-switching-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-routing-types?module=ietf-routing-types&revision=2017-02-27 + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENVMON-MIB?module=CISCO-ENVMON-MIB&revision=2003-12-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-POWER-ETHERNET-EXT-MIB?module=CISCO-POWER-ETHERNET-EXT-MIB&revision=2018-01-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STACKWISE-MIB?module=CISCO-STACKWISE-MIB&revision=2016-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:POWER-ETHERNET-MIB?module=POWER-ETHERNET-MIB&revision=2003-11-24 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-cat9k.xml b/vendor/cisco/xe/17151/capability-cat9k.xml new file mode 100644 index 000000000..c7da3d03b --- /dev/null +++ b/vendor/cisco/xe/17151/capability-cat9k.xml @@ -0,0 +1,348 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=320fb18cf867ab8e4ee8d10b6f7f03ce + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=320fb18cf867ab8e4ee8d10b6f7f03ce + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-system-grpc-deviation?module=cisco-xe-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-deviation?module=cisco-xe-openconfig-spanning-tree-deviation&revision=2017-08-21 + http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-ext?module=cisco-xe-openconfig-spanning-tree-ext&revision=2017-10-24 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-openconfig-vlan-ext?module=cisco-xe-openconfig-vlan-ext&revision=2017-06-14&deviations=cisco-xe-switching-openconfig-vlan-deviation + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-lacp-deviation?module=cisco-xe-switching-openconfig-lacp-deviation&revision=2022-08-25 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-platform-deviation?module=cisco-xe-switching-openconfig-platform-deviation&revision=2021-09-20 + http://cisco.com/ns/yang/cisco-xe-switching-openconfig-vlan-deviation?module=cisco-xe-switching-openconfig-vlan-deviation&revision=2017-03-17 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-if-poe-deviation?module=cisco-xe-openconfig-if-poe-deviation&revision=2021-10-29 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-openconfig-openflow-deviation?module=cisco-xe-openconfig-openflow-deviation&revision=2019-07-01 + http://openconfig.net/yang/cisco-xe-switching-cat9k-openconfig-system-deviation?module=cisco-xe-switching-cat9k-openconfig-system-deviation&revision=2018-07-01 + http://openconfig.net/yang/cisco-xe-switching-openconfig-if-ethernet-deviation?module=cisco-xe-switching-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/cisco-xe-switching-openconfig-interfaces-deviation?module=cisco-xe-switching-openconfig-interfaces-deviation&revision=2018-12-12 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-switching-openconfig-if-ethernet-deviation,cisco-xe-switching-openconfig-interfaces-deviation,cisco-xe-switching-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-switching-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/lacp?module=openconfig-lacp&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-lacp-deviation + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/macsec?module=openconfig-macsec&revision=2019-07-01 + http://openconfig.net/yang/macsec/types?module=openconfig-macsec-types&revision=2019-07-01 + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/openflow?module=openconfig-openflow&revision=2017-08-24&deviations=cisco-xe-openconfig-openflow-deviation + http://openconfig.net/yang/openflow/types?module=openconfig-openflow-types&revision=2017-06-01 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/linecard?module=openconfig-platform-linecard&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15&deviations=cisco-xe-switching-openconfig-platform-deviation + http://openconfig.net/yang/poe?module=openconfig-if-poe&revision=2017-09-14 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/spanning-tree?module=openconfig-spanning-tree&revision=2018-11-21&deviations=cisco-xe-openconfig-spanning-tree-deviation + http://openconfig.net/yang/spanning-tree/types?module=openconfig-spanning-tree-types&revision=2018-11-21 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-openconfig-openflow-deviation,cisco-xe-openconfig-system-grpc-deviation,cisco-xe-switching-cat9k-openconfig-system-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-switching-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-routing-types?module=ietf-routing-types&revision=2017-02-27 + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENVMON-MIB?module=CISCO-ENVMON-MIB&revision=2003-12-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-POWER-ETHERNET-EXT-MIB?module=CISCO-POWER-ETHERNET-EXT-MIB&revision=2018-01-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STACKWISE-MIB?module=CISCO-STACKWISE-MIB&revision=2016-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:POWER-ETHERNET-MIB?module=POWER-ETHERNET-MIB&revision=2003-11-24 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-ie3x00.xml b/vendor/cisco/xe/17151/capability-ie3x00.xml new file mode 100644 index 000000000..49d3a513e --- /dev/null +++ b/vendor/cisco/xe/17151/capability-ie3x00.xml @@ -0,0 +1,368 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=34ca1591a8afea2b7586078f0dabd6a4 + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=34ca1591a8afea2b7586078f0dabd6a4 + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-routing-openconfig-system-grpc-deviation?module=cisco-xe-routing-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-system-ext?module=cisco-xe-routing-openconfig-system-ext&revision=2020-11-01 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation?module=cisco-xe-routing-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-if-ethernet-deviation?module=cisco-xe-routing-isr-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-platform-deviation?module=cisco-xe-routing-isr-openconfig-platform-deviation&revision=2010-10-09 + http://openconfig.net/yang/cisco-xe-routing-openconfig-system-deviation?module=cisco-xe-routing-openconfig-system-deviation&revision=2017-11-27 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-routing-isr-openconfig-if-ethernet-deviation,cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-routing-isr-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21&deviations=cisco-xe-routing-isr-openconfig-platform-deviation + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-deviation,cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENVMON-MIB?module=CISCO-ENVMON-MIB&revision=2003-12-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-ir1101.xml b/vendor/cisco/xe/17151/capability-ir1101.xml new file mode 100644 index 000000000..2a22614be --- /dev/null +++ b/vendor/cisco/xe/17151/capability-ir1101.xml @@ -0,0 +1,375 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=3fd2e3b042ae9b1448a57ed59fc146cb + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=3fd2e3b042ae9b1448a57ed59fc146cb + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-routing-openconfig-system-grpc-deviation?module=cisco-xe-routing-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation?module=cisco-xe-routing-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-if-poe-deviation?module=cisco-xe-openconfig-if-poe-deviation&revision=2021-10-29 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-if-ethernet-deviation?module=cisco-xe-routing-isr-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-routing-isr-openconfig-if-ethernet-deviation,cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-routing-isr-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21 + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15 + http://openconfig.net/yang/poe?module=openconfig-if-poe&revision=2017-09-14 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-isr4k.xml b/vendor/cisco/xe/17151/capability-isr4k.xml new file mode 100644 index 000000000..3b527b635 --- /dev/null +++ b/vendor/cisco/xe/17151/capability-isr4k.xml @@ -0,0 +1,375 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=fad63b1ff5a119181eb850d884e40581 + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=fad63b1ff5a119181eb850d884e40581 + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-routing-openconfig-system-grpc-deviation?module=cisco-xe-routing-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation?module=cisco-xe-routing-openconfig-vlan-deviation&revision=2018-12-12 + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-if-poe-deviation?module=cisco-xe-openconfig-if-poe-deviation&revision=2021-10-29 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-if-ethernet-deviation?module=cisco-xe-routing-isr-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-routing-isr-openconfig-if-ethernet-deviation,cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-routing-isr-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21 + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15 + http://openconfig.net/yang/poe?module=openconfig-if-poe&revision=2017-09-14 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-routing-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-routing-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BGP4-MIB?module=BGP4-MIB&revision=1994-05-05 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP-POLICY-ACCOUNTING-MIB?module=CISCO-BGP-POLICY-ACCOUNTING-MIB&revision=2002-07-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB?module=CISCO-BGP4-MIB&revision=2010-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EIGRP-MIB?module=CISCO-EIGRP-MIB&revision=2004-11-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ISIS-MIB?module=CISCO-IETF-ISIS-MIB&revision=2005-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-MIB?module=CISCO-OSPF-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-OSPF-TRAP-MIB?module=CISCO-OSPF-TRAP-MIB&revision=2003-07-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-MIB?module=OSPF-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:OSPF-TRAP-MIB?module=OSPF-TRAP-MIB&revision=2006-11-10 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/capability-wireless.xml b/vendor/cisco/xe/17151/capability-wireless.xml new file mode 100644 index 000000000..e3545094a --- /dev/null +++ b/vendor/cisco/xe/17151/capability-wireless.xml @@ -0,0 +1,372 @@ + + + urn:ietf:params:netconf:base:1.0 + urn:ietf:params:netconf:base:1.1 + urn:ietf:params:netconf:capability:writable-running:1.0 + urn:ietf:params:netconf:capability:candidate:1.0 + urn:ietf:params:netconf:capability:rollback-on-error:1.0 + urn:ietf:params:netconf:capability:validate:1.0 + urn:ietf:params:netconf:capability:validate:1.1 + urn:ietf:params:netconf:capability:xpath:1.0 + urn:ietf:params:netconf:capability:notification:1.0 + urn:ietf:params:netconf:capability:interleave:1.0 + urn:ietf:params:netconf:capability:partial-lock:1.0 + urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:with-operational-defaults:1.0?basic-mode=explicit&also-supported=report-all-tagged,report-all + urn:ietf:params:netconf:capability:yang-library:1.0?revision=2019-01-04&module-set-id=cb252352c47c698ba454e87de1ec09fd + urn:ietf:params:netconf:capability:yang-library:1.1?revision=2019-01-04&content-id=cb252352c47c698ba454e87de1ec09fd + http://tail-f.com/ns/netconf/actions/1.0 + http://cisco.com/ns/cisco-xe-ietf-ip-deviation?module=cisco-xe-ietf-ip-deviation&revision=2016-08-10 + http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation?module=cisco-xe-ietf-ipv4-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation?module=cisco-xe-ietf-ipv6-unicast-routing-deviation&revision=2015-09-11 + http://cisco.com/ns/cisco-xe-ietf-ospf-deviation?module=cisco-xe-ietf-ospf-deviation&revision=2018-02-09 + http://cisco.com/ns/cisco-xe-ietf-routing-deviation?module=cisco-xe-ietf-routing-deviation&revision=2016-07-09 + http://cisco.com/ns/cisco-xe-openconfig-acl-deviation?module=cisco-xe-openconfig-acl-deviation&revision=2017-08-25 + http://cisco.com/ns/cisco-xe-openconfig-aft-deviation?module=cisco-xe-openconfig-aft-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation?module=cisco-xe-openconfig-evpn-deviation&revision=2024-07-01 + http://cisco.com/ns/cisco-xe-openconfig-isis-deviation?module=cisco-xe-openconfig-isis-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation?module=cisco-xe-openconfig-lldp-deviation&revision=2018-07-25 + http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation?module=cisco-xe-openconfig-mpls-deviation&revision=2019-06-27 + http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation?module=cisco-xe-openconfig-network-instance-l2-deviation&revision=2023-11-01 + http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation?module=cisco-xe-openconfig-segment-routing-deviation&revision=2018-12-05 + http://cisco.com/ns/cisco-xe-openconfig-system-grpc-deviation?module=cisco-xe-openconfig-system-grpc-deviation&revision=2021-10-22 + http://cisco.com/ns/mpls-static/devs?module=common-mpls-static-devs&revision=2015-09-11 + http://cisco.com/ns/nvo/devs?module=nvo-devs&revision=2015-09-11 + http://cisco.com/ns/yang/cisco-semver?module=cisco-semver&revision=2019-03-20 + http://cisco.com/ns/yang/cisco-smart-license?module=cisco-smart-license&revision=2021-03-01 + http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation?module=cisco-xe-openconfig-bgp-policy-deviation&revision=2017-07-24 + http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation?module=cisco-xe-ietf-event-notifications-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext?module=cisco-xe-ietf-routing-ext&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation?module=cisco-xe-ietf-yang-push-deviation&revision=2018-12-03 + http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext?module=cisco-xe-openconfig-acl-ext&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation?module=cisco-xe-openconfig-bgp-deviation&revision=2024-03-01 + http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext?module=cisco-xe-openconfig-if-ethernet-ext&revision=2017-10-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext?module=cisco-xe-openconfig-interfaces-ext&revision=2018-07-14 + http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation?module=cisco-xe-openconfig-isis-policy-deviation&revision=2020-07-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation?module=cisco-xe-openconfig-local-routing-deviation&revision=2020-09-20 + http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation?module=cisco-xe-openconfig-network-instance-deviation&revision=2023-10-13 + http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext?module=cisco-xe-openconfig-platform-ext&revision=2023-06-06 + http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext?module=cisco-xe-openconfig-rib-bgp-ext&revision=2016-11-30 + http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext?module=cisco-xe-openconfig-system-ext&revision=2018-03-21 + http://cisco.com/ns/yang/cisco-xe-openconfig-vlan-ext?module=cisco-xe-openconfig-vlan-ext&revision=2017-06-14&deviations=cisco-xe-wireless-openconfig-vlan-deviation + http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation?module=cisco-xe-openconfig-routing-policy-deviation&revision=2017-03-30 + http://cisco.com/ns/yang/cisco-xe-wireless-openconfig-vlan-deviation?module=cisco-xe-wireless-openconfig-vlan-deviation&revision=2019-04-24 + http://cisco.com/yang/cisco-ia?module=cisco-ia&revision=2024-07-01 + http://cisco.com/yang/cisco-self-mgmt?module=cisco-self-mgmt&revision=2019-07-01 + http://openconfig.net/yang/aaa?module=openconfig-aaa&revision=2020-07-30 + http://openconfig.net/yang/aaa/types?module=openconfig-aaa-types&revision=2018-11-21 + http://openconfig.net/yang/acl?module=openconfig-acl&revision=2017-05-26&deviations=cisco-xe-openconfig-acl-deviation + http://openconfig.net/yang/aft?module=openconfig-aft&revision=2022-06-16 + http://openconfig.net/yang/aft/ni?module=openconfig-aft-network-instance&revision=2023-04-25 + http://openconfig.net/yang/alarms?module=openconfig-alarms&revision=2017-08-24 + http://openconfig.net/yang/alarms/types?module=openconfig-alarm-types&revision=2018-11-21 + http://openconfig.net/yang/bfd?module=openconfig-bfd&revision=2021-03-17 + http://openconfig.net/yang/bgp?module=openconfig-bgp&revision=2022-05-21 + http://openconfig.net/yang/bgp-policy?module=openconfig-bgp-policy&revision=2022-05-24&deviations=cisco-xe-openconfig-bgp-policy-deviation + http://openconfig.net/yang/bgp-types?module=openconfig-bgp-types&revision=2021-08-06 + http://openconfig.net/yang/cisco-xe-openconfig-access-points-deviation?module=cisco-xe-openconfig-access-points-deviation&revision=2020-03-01 + http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation?module=cisco-xe-openconfig-if-ip-deviation&revision=2017-03-04 + http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation?module=cisco-xe-openconfig-interfaces-deviation&revision=2018-08-21 + http://openconfig.net/yang/cisco-xe-wireless-openconfig-if-ethernet-deviation?module=cisco-xe-wireless-openconfig-if-ethernet-deviation&revision=2021-07-01 + http://openconfig.net/yang/evpn?module=openconfig-evpn&revision=2023-03-08 + http://openconfig.net/yang/evpn-types?module=openconfig-evpn-types&revision=2021-06-21 + http://openconfig.net/yang/fib-types?module=openconfig-aft-types&revision=2022-05-05 + http://openconfig.net/yang/header-fields?module=openconfig-packet-match&revision=2017-05-26 + http://openconfig.net/yang/igmp?module=openconfig-igmp&revision=2019-07-09 + http://openconfig.net/yang/igmp/types?module=openconfig-igmp-types&revision=2018-11-21 + http://openconfig.net/yang/interfaces?module=openconfig-interfaces&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation,cisco-xe-wireless-openconfig-if-ethernet-deviation,cisco-xe-wireless-openconfig-vlan-deviation + http://openconfig.net/yang/interfaces/aggregate?module=openconfig-if-aggregate&revision=2018-01-05 + http://openconfig.net/yang/interfaces/ethernet?module=openconfig-if-ethernet&revision=2020-05-06&deviations=cisco-xe-wireless-openconfig-if-ethernet-deviation + http://openconfig.net/yang/interfaces/ip?module=openconfig-if-ip&revision=2018-01-05&deviations=cisco-xe-openconfig-if-ip-deviation,cisco-xe-openconfig-interfaces-deviation + http://openconfig.net/yang/interfaces/ip-ext?module=openconfig-if-ip-ext&revision=2018-01-05 + http://openconfig.net/yang/isis-lsdb-types?module=openconfig-isis-lsdb-types&revision=2017-01-13 + http://openconfig.net/yang/isis-types?module=openconfig-isis-types&revision=2017-01-13 + http://openconfig.net/yang/ldp?module=openconfig-mpls-ldp&revision=2016-12-15 + http://openconfig.net/yang/license?module=openconfig-license&revision=2020-04-22 + http://openconfig.net/yang/lldp?module=openconfig-lldp&revision=2018-11-21&deviations=cisco-xe-openconfig-lldp-deviation + http://openconfig.net/yang/lldp/types?module=openconfig-lldp-types&revision=2016-05-16 + http://openconfig.net/yang/local-routing?module=openconfig-local-routing&revision=2016-05-11&deviations=cisco-xe-openconfig-local-routing-deviation + http://openconfig.net/yang/messages?module=openconfig-messages&revision=2018-08-13 + http://openconfig.net/yang/mpls?module=openconfig-mpls&revision=2016-12-15&deviations=cisco-xe-openconfig-mpls-deviation + http://openconfig.net/yang/mpls-sr?module=openconfig-mpls-sr&revision=2016-12-15 + http://openconfig.net/yang/mpls-types?module=openconfig-mpls-types&revision=2021-12-01 + http://openconfig.net/yang/network-instance?module=openconfig-network-instance&revision=2023-04-25&deviations=cisco-xe-openconfig-aft-deviation,cisco-xe-openconfig-bgp-deviation,cisco-xe-openconfig-evpn-deviation,cisco-xe-openconfig-isis-deviation,cisco-xe-openconfig-mpls-deviation,cisco-xe-openconfig-network-instance-deviation,cisco-xe-openconfig-network-instance-l2-deviation,cisco-xe-openconfig-segment-routing-deviation + http://openconfig.net/yang/network-instance-l3?module=openconfig-network-instance-l3&revision=2022-11-08 + http://openconfig.net/yang/network-instance-types?module=openconfig-network-instance-types&revision=2021-05-21 + http://openconfig.net/yang/network-instance/policy?module=openconfig-network-instance-policy&revision=2018-11-21 + http://openconfig.net/yang/oc-keychain?module=openconfig-keychain&revision=2022-11-05 + http://openconfig.net/yang/oc-keychain-types?module=openconfig-keychain-types&revision=2022-03-01 + http://openconfig.net/yang/openconfig-ext?module=openconfig-extensions&revision=2020-06-16 + http://openconfig.net/yang/openconfig-if-types?module=openconfig-if-types&revision=2018-11-21 + http://openconfig.net/yang/openconfig-isis?module=openconfig-isis&revision=2017-01-13 + http://openconfig.net/yang/openconfig-isis-policy?module=openconfig-isis-policy&revision=2017-01-13&deviations=cisco-xe-openconfig-isis-policy-deviation + http://openconfig.net/yang/openconfig-types?module=openconfig-types&revision=2019-04-16 + http://openconfig.net/yang/ospf-policy?module=openconfig-ospf-policy&revision=2018-11-21 + http://openconfig.net/yang/ospf-types?module=openconfig-ospf-types&revision=2018-11-21 + http://openconfig.net/yang/ospfv2?module=openconfig-ospfv2&revision=2021-03-17 + http://openconfig.net/yang/packet-match-types?module=openconfig-packet-match-types&revision=2017-05-26 + http://openconfig.net/yang/pcep?module=openconfig-pcep&revision=2023-04-25 + http://openconfig.net/yang/pim?module=openconfig-pim&revision=2021-04-21 + http://openconfig.net/yang/pim/types?module=openconfig-pim-types&revision=2018-11-21 + http://openconfig.net/yang/platform?module=openconfig-platform&revision=2018-11-21 + http://openconfig.net/yang/platform-types?module=openconfig-platform-types&revision=2018-11-21 + http://openconfig.net/yang/platform/cpu?module=openconfig-platform-cpu&revision=2018-11-21 + http://openconfig.net/yang/platform/fan?module=openconfig-platform-fan&revision=2018-11-21 + http://openconfig.net/yang/platform/linecard?module=openconfig-platform-linecard&revision=2018-11-21 + http://openconfig.net/yang/platform/port?module=openconfig-platform-port&revision=2018-11-21 + http://openconfig.net/yang/platform/psu?module=openconfig-platform-psu&revision=2018-11-21 + http://openconfig.net/yang/platform/transceiver?module=openconfig-platform-transceiver&revision=2018-05-15 + http://openconfig.net/yang/policy-forwarding?module=openconfig-policy-forwarding&revision=2021-05-19 + http://openconfig.net/yang/policy-types?module=openconfig-policy-types&revision=2016-05-12 + http://openconfig.net/yang/programming-errors?module=openconfig-programming-errors&revision=2022-10-11 + http://openconfig.net/yang/rib/bgp?module=openconfig-rib-bgp&revision=2022-06-06 + http://openconfig.net/yang/rib/bgp-ext?module=openconfig-rib-bgp-ext&revision=2019-04-25 + http://openconfig.net/yang/rib/bgp-types?module=openconfig-rib-bgp-types&revision=2019-03-14 + http://openconfig.net/yang/route-summary?module=openconfig-route-summary&revision=2022-12-21 + http://openconfig.net/yang/routing-policy?module=openconfig-routing-policy&revision=2016-05-12&deviations=cisco-xe-openconfig-bgp-policy-deviation,cisco-xe-openconfig-isis-policy-deviation,cisco-xe-openconfig-routing-policy-deviation + http://openconfig.net/yang/rsvp?module=openconfig-mpls-rsvp&revision=2016-12-15 + http://openconfig.net/yang/segment-routing-types?module=openconfig-segment-routing-types&revision=2020-02-04 + http://openconfig.net/yang/sr?module=openconfig-segment-routing&revision=2017-01-12 + http://openconfig.net/yang/system?module=openconfig-system&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system-grpc?module=openconfig-system-grpc&revision=2021-06-16&deviations=cisco-xe-openconfig-system-grpc-deviation + http://openconfig.net/yang/system/logging?module=openconfig-system-logging&revision=2017-09-18 + http://openconfig.net/yang/system/procmon?module=openconfig-procmon&revision=2017-09-18 + http://openconfig.net/yang/system/terminal?module=openconfig-system-terminal&revision=2017-09-18 + http://openconfig.net/yang/transport-types?module=openconfig-transport-types&revision=2017-08-16 + http://openconfig.net/yang/types/inet?module=openconfig-inet-types&revision=2017-08-24 + http://openconfig.net/yang/types/yang?module=openconfig-yang-types&revision=2018-11-21 + http://openconfig.net/yang/vlan?module=openconfig-vlan&revision=2016-05-26&deviations=cisco-xe-wireless-openconfig-vlan-deviation + http://openconfig.net/yang/vlan-types?module=openconfig-vlan-types&revision=2016-05-26 + http://openconfig.net/yang/wifi/access-points?module=openconfig-access-points&revision=2018-07-16&deviations=cisco-xe-openconfig-access-points-deviation + http://openconfig.net/yang/wifi/ap-manager?module=openconfig-ap-manager&revision=2018-02-14 + http://openconfig.net/yang/wifi/mac?module=openconfig-wifi-mac&revision=2018-07-16 + http://openconfig.net/yang/wifi/phy?module=openconfig-wifi-phy&revision=2017-12-21 + http://openconfig.net/yang/wifi/types?module=openconfig-wifi-types&revision=2017-07-25 + http://tail-f.com/ns/common/query?module=tailf-common-query&revision=2017-12-15 + http://tail-f.com/ns/confd-progress?module=tailf-confd-progress&revision=2020-06-29 + http://tail-f.com/ns/ietf-subscribed-notifications-deviation?module=ietf-subscribed-notifications-deviation&revision=2020-06-25 + http://tail-f.com/yang/common?module=tailf-common&revision=2023-04-13 + http://tail-f.com/yang/common-monitoring?module=tailf-common-monitoring&revision=2022-09-29 + http://tail-f.com/yang/common-monitoring2?module=tailf-common-monitoring2&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring?module=tailf-confd-monitoring&revision=2022-09-29 + http://tail-f.com/yang/confd-monitoring2?module=tailf-confd-monitoring2&revision=2022-10-03 + http://tail-f.com/yang/last-login?module=tailf-last-login&revision=2019-11-21 + http://tail-f.com/yang/netconf-monitoring?module=tailf-netconf-monitoring&revision=2022-04-12 + urn:cisco:params:xml:ns:yang:cisco-bridge-common?module=cisco-bridge-common&revision=2019-07-01&features=configurable-bd-mac-limit-notif,configurable-bd-mac-limit-max,configurable-bd-mac-limit-actions,configurable-bd-mac-aging-types,configurable-bd-flooding-control + urn:cisco:params:xml:ns:yang:cisco-bridge-domain?module=cisco-bridge-domain&revision=2019-07-01&features=parameterized-bridge-domains,configurable-bd-storm-control,configurable-bd-static-mac,configurable-bd-snooping-profiles,configurable-bd-sh-group-number,configurable-bd-mtu,configurable-bd-member-features,configurable-bd-mac-secure,configurable-bd-mac-features,configurable-bd-mac-event-action,configurable-bd-ipsg,configurable-bd-groups,configurable-bd-flooding-mode,configurable-bd-flooding,configurable-bd-dai,clear-bridge-domain + urn:cisco:params:xml:ns:yang:cisco-ethernet?module=cisco-ethernet&revision=2016-05-10 + urn:cisco:params:xml:ns:yang:cisco-routing-ext?module=cisco-routing-ext&revision=2019-11-01 + urn:cisco:params:xml:ns:yang:cisco-storm-control?module=cisco-storm-control&revision=2019-07-01&features=configurable-storm-control-actions + urn:cisco:params:xml:ns:yang:pim?module=pim&revision=2019-07-01&features=bsr,auto-rp + urn:cisco:params:xml:ns:yang:pw?module=cisco-pw&revision=2023-11-01&features=static-label-direct-config,pw-vccv,pw-tag-impose-vlan-id,pw-status-config,pw-static-oam-config,pw-short-config,pw-sequencing,pw-preferred-path,pw-port-profiles,pw-oam-refresh-config,pw-mac-withdraw-config,pw-load-balancing,pw-ipv6-source,pw-interface,pw-grouping-config,pw-class-tag-rewrite,pw-class-switchover-delay,pw-class-status,pw-class-source-ip,pw-class-flow-setting,preferred-path-peer,predictive-redundancy-config,flow-label-tlv-code17,flow-label-static-config + urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01&features=writable-running,candidate,rollback-on-error,validate,xpath + urn:ietf:params:xml:ns:yang:c3pl-types?module=policy-types&revision=2019-07-01&features=protocol-name-support,match-wlan-user-priority-support,match-vpls-support,match-vlan-support,match-vlan-inner-support,match-src-mac-support,match-security-group-support,match-qos-group-support,match-prec-support,match-packet-length-support,match-mpls-exp-top-support,match-mpls-exp-imp-support,match-metadata-support,match-ipv6-acl-support,match-ipv6-acl-name-support,match-ipv4-acl-support,match-ipv4-acl-name-support,match-ip-rtp-support,match-input-interface-support,match-fr-dlci-support,match-fr-de-support,match-flow-record-support,match-flow-ip-support,match-dst-mac-support,match-discard-class-support,match-dei-support,match-dei-inner-support,match-cos-support,match-cos-inner-support,match-class-map-support,match-atm-vci-support,match-atm-clp-support,match-application-support + urn:ietf:params:xml:ns:yang:cisco-ospf?module=cisco-ospf&revision=2019-07-01&features=graceful-shutdown,flood-reduction,database-filter + urn:ietf:params:xml:ns:yang:cisco-policy?module=cisco-policy&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-filters?module=cisco-policy-filters&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:cisco-policy-target?module=cisco-policy-target&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:common-mpls-static?module=common-mpls-static&revision=2019-07-01&deviations=common-mpls-static-devs + urn:ietf:params:xml:ns:yang:common-mpls-types?module=common-mpls-types&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:iana-crypt-hash?module=iana-crypt-hash&revision=2014-08-06&features=crypt-hash-sha-512,crypt-hash-sha-256,crypt-hash-md5 + urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08 + urn:ietf:params:xml:ns:yang:ietf-diffserv-action?module=ietf-diffserv-action&revision=2015-04-07&features=priority-rate-burst-support,hierarchial-policy-support,aqm-red-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-classifier?module=ietf-diffserv-classifier&revision=2015-04-07&features=policy-inline-classifier-config + urn:ietf:params:xml:ns:yang:ietf-diffserv-policy?module=ietf-diffserv-policy&revision=2015-04-07&features=policy-template-support,hierarchial-policy-support + urn:ietf:params:xml:ns:yang:ietf-diffserv-target?module=ietf-diffserv-target&revision=2015-04-07&features=target-inline-policy-config + urn:ietf:params:xml:ns:yang:ietf-event-notifications?module=ietf-event-notifications&revision=2016-10-27&features=json,configured-subscriptions&deviations=cisco-xe-ietf-event-notifications-deviation,cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08&features=pre-provisioning,if-mib,arbitrary-names&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-interfaces-ext?module=ietf-interfaces-ext + urn:ietf:params:xml:ns:yang:ietf-ip?module=ietf-ip&revision=2014-06-16&features=ipv6-privacy-autoconf,ipv4-non-contiguous-netmasks&deviations=cisco-xe-ietf-ip-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing?module=ietf-ipv4-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-ipv6-unicast-routing?module=ietf-ipv6-unicast-routing&revision=2015-05-25&deviations=cisco-xe-ietf-ipv6-unicast-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-key-chain?module=ietf-key-chain&revision=2015-02-24&features=independent-send-accept-lifetime,hex-key-string,accept-tolerance + urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04 + urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06 + urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?module=ietf-netconf-with-defaults&revision=2011-06-01 + urn:ietf:params:xml:ns:yang:ietf-ospf?module=ietf-ospf&revision=2015-03-09&features=ttl-security,te-rid,router-id,remote-lfa,prefix-suppression,ospfv3-authentication-ipsec,nsr,node-flag,multi-topology,multi-area-adj,mtu-ignore,max-lsa,max-ecmp,lls,lfa,ldp-igp-sync,ldp-igp-autoconfig,interface-inheritance,instance-inheritance,graceful-restart,fast-reroute,demand-circuit,bfd,auto-cost,area-inheritance,admin-control&deviations=cisco-xe-ietf-ospf-deviation + urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26 + urn:ietf:params:xml:ns:yang:ietf-routing?module=ietf-routing&revision=2015-05-25&features=router-id,multiple-ribs&deviations=cisco-xe-ietf-ipv4-unicast-routing-deviation,cisco-xe-ietf-ipv6-unicast-routing-deviation,cisco-xe-ietf-ospf-deviation,cisco-xe-ietf-routing-deviation + urn:ietf:params:xml:ns:yang:ietf-x509-cert-to-name?module=ietf-x509-cert-to-name&revision=2014-12-10 + urn:ietf:params:xml:ns:yang:ietf-yang-metadata?module=ietf-yang-metadata&revision=2016-08-05 + urn:ietf:params:xml:ns:yang:ietf-yang-push?module=ietf-yang-push&revision=2021-03-01&features=on-change&deviations=cisco-xe-ietf-yang-push-deviation + urn:ietf:params:xml:ns:yang:ietf-yang-smiv2?module=ietf-yang-smiv2&revision=2012-06-22 + urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:nvo?module=nvo&revision=2019-07-01&deviations=nvo-devs + urn:ietf:params:xml:ns:yang:policy-attr?module=policy-attr&revision=2019-07-01 + urn:ietf:params:xml:ns:yang:smiv2:ATM-FORUM-TC-MIB?module=ATM-FORUM-TC-MIB + urn:ietf:params:xml:ns:yang:smiv2:ATM-MIB?module=ATM-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:ATM-TC-MIB?module=ATM-TC-MIB&revision=1998-10-19 + urn:ietf:params:xml:ns:yang:smiv2:BRIDGE-MIB?module=BRIDGE-MIB&revision=2005-09-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SERVER-MIB?module=CISCO-AAA-SERVER-MIB&revision=2003-11-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAA-SESSION-MIB?module=CISCO-AAA-SESSION-MIB&revision=2006-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-AAL5-MIB?module=CISCO-AAL5-MIB&revision=2003-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-EXT-MIB?module=CISCO-ATM-EXT-MIB&revision=2003-01-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-PVCTRAP-EXTN-MIB?module=CISCO-ATM-PVCTRAP-EXTN-MIB&revision=2003-01-20 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ATM-QOS-MIB?module=CISCO-ATM-QOS-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-BULK-FILE-MIB?module=CISCO-BULK-FILE-MIB&revision=2002-06-10 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-MIB?module=CISCO-CBP-TARGET-MIB&revision=2006-05-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TARGET-TC-MIB?module=CISCO-CBP-TARGET-TC-MIB&revision=2006-03-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CBP-TC-MIB?module=CISCO-CBP-TC-MIB&revision=2008-06-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CDP-MIB?module=CISCO-CDP-MIB&revision=2005-03-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-MIB?module=CISCO-CEF-MIB&revision=2006-01-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CEF-TC?module=CISCO-CEF-TC&revision=2005-09-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-COPY-MIB?module=CISCO-CONFIG-COPY-MIB&revision=2005-04-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DIAL-CONTROL-MIB?module=CISCO-DIAL-CONTROL-MIB&revision=2005-05-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DOT3-OAM-MIB?module=CISCO-DOT3-OAM-MIB&revision=2006-05-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-MIB?module=CISCO-DYNAMIC-TEMPLATE-MIB&revision=2007-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-DYNAMIC-TEMPLATE-TC-MIB?module=CISCO-DYNAMIC-TEMPLATE-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-EMBEDDED-EVENT-MGR-MIB?module=CISCO-EMBEDDED-EVENT-MGR-MIB&revision=2006-11-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENHANCED-MEMPOOL-MIB?module=CISCO-ENHANCED-MEMPOOL-MIB&revision=2008-12-05 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-ALARM-MIB?module=CISCO-ENTITY-ALARM-MIB&revision=1999-07-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-EXT-MIB?module=CISCO-ENTITY-EXT-MIB&revision=2008-11-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-FRU-CONTROL-MIB?module=CISCO-ENTITY-FRU-CONTROL-MIB&revision=2013-08-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-QFP-MIB?module=CISCO-ENTITY-QFP-MIB&revision=2014-06-18 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-SENSOR-MIB?module=CISCO-ENTITY-SENSOR-MIB&revision=2015-01-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ENTITY-VENDORTYPE-OID-MIB?module=CISCO-ENTITY-VENDORTYPE-OID-MIB&revision=2014-12-09 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHER-CFM-MIB?module=CISCO-ETHER-CFM-MIB&revision=2004-12-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ETHERLIKE-EXT-MIB?module=CISCO-ETHERLIKE-EXT-MIB&revision=2010-06-04 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FIREWALL-TC?module=CISCO-FIREWALL-TC&revision=2006-03-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FLASH-MIB?module=CISCO-FLASH-MIB&revision=2013-08-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-FTP-CLIENT-MIB?module=CISCO-FTP-CLIENT-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-EXT-MIB?module=CISCO-HSRP-EXT-MIB&revision=2010-09-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB?module=CISCO-HSRP-MIB&revision=2010-09-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB?module=CISCO-IETF-ATM2-PVCTRAP-MIB&revision=1998-02-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN?module=CISCO-IETF-ATM2-PVCTRAP-MIB-EXTN&revision=2000-07-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-BFD-MIB?module=CISCO-IETF-BFD-MIB&revision=2011-04-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-FRR-MIB?module=CISCO-IETF-FRR-MIB&revision=2008-04-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-ID-STD-03-MIB?module=CISCO-IETF-MPLS-ID-STD-03-MIB&revision=2012-06-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-MPLS-TE-EXT-STD-03-MIB?module=CISCO-IETF-MPLS-TE-EXT-STD-03-MIB&revision=2012-06-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ATM-MIB?module=CISCO-IETF-PW-ATM-MIB&revision=2005-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-ENET-MIB?module=CISCO-IETF-PW-ENET-MIB&revision=2002-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MIB?module=CISCO-IETF-PW-MIB&revision=2004-03-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-MPLS-MIB?module=CISCO-IETF-PW-MPLS-MIB&revision=2003-02-26 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TC-MIB?module=CISCO-IETF-PW-TC-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IETF-PW-TDM-MIB?module=CISCO-IETF-PW-TDM-MIB&revision=2006-07-21 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IF-EXTENSION-MIB?module=CISCO-IF-EXTENSION-MIB&revision=2013-03-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IGMP-FILTER-MIB?module=CISCO-IGMP-FILTER-MIB&revision=2005-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-LICENSE-MGMT-MIB?module=CISCO-IMAGE-LICENSE-MGMT-MIB&revision=2007-10-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IMAGE-MIB?module=CISCO-IMAGE-MIB&revision=1995-08-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-LOCAL-POOL-MIB?module=CISCO-IP-LOCAL-POOL-MIB&revision=2007-11-12 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-TAP-MIB?module=CISCO-IP-TAP-MIB&revision=2004-03-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IP-URPF-MIB?module=CISCO-IP-URPF-MIB&revision=2011-12-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPMROUTE-MIB?module=CISCO-IPMROUTE-MIB&revision=2005-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-FLOW-MONITOR-MIB?module=CISCO-IPSEC-FLOW-MONITOR-MIB&revision=2007-10-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-MIB?module=CISCO-IPSEC-MIB&revision=2000-08-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSEC-POLICY-MAP-MIB?module=CISCO-IPSEC-POLICY-MAP-MIB&revision=2000-08-17 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-AUTOMEASURE-MIB?module=CISCO-IPSLA-AUTOMEASURE-MIB&revision=2007-06-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-ECHO-MIB?module=CISCO-IPSLA-ECHO-MIB&revision=2007-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-JITTER-MIB?module=CISCO-IPSLA-JITTER-MIB&revision=2007-07-24 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-IPSLA-TC-MIB?module=CISCO-IPSLA-TC-MIB&revision=2007-03-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-LICENSE-MGMT-MIB?module=CISCO-LICENSE-MGMT-MIB&revision=2012-04-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MEDIA-GATEWAY-MIB?module=CISCO-MEDIA-GATEWAY-MIB&revision=2009-02-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-LSR-EXT-STD-MIB?module=CISCO-MPLS-LSR-EXT-STD-MIB&revision=2012-04-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-MPLS-TC-EXT-STD-MIB?module=CISCO-MPLS-TC-EXT-STD-MIB&revision=2012-02-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NBAR-PROTOCOL-DISCOVERY-MIB?module=CISCO-NBAR-PROTOCOL-DISCOVERY-MIB&revision=2002-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NETSYNC-MIB?module=CISCO-NETSYNC-MIB&revision=2010-10-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-NTP-MIB?module=CISCO-NTP-MIB&revision=2006-07-31 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PIM-MIB?module=CISCO-PIM-MIB&revision=2000-11-02 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PING-MIB?module=CISCO-PING-MIB&revision=2001-08-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PROCESS-MIB?module=CISCO-PROCESS-MIB&revision=2011-06-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PRODUCTS-MIB?module=CISCO-PRODUCTS-MIB&revision=2014-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-PTP-MIB?module=CISCO-PTP-MIB&revision=2011-01-28 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-QOS-PIB-MIB?module=CISCO-QOS-PIB-MIB&revision=2007-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RADIUS-EXT-MIB?module=CISCO-RADIUS-EXT-MIB&revision=2010-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RF-MIB?module=CISCO-RF-MIB&revision=2023-07-13 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-MIB?module=CISCO-RTTMON-MIB&revision=2012-08-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-RTTMON-TC-MIB?module=CISCO-RTTMON-TC-MIB&revision=2012-05-25 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-CALL-STATS-MIB&revision=2010-09-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SESS-BORDER-CTRLR-STATS-MIB?module=CISCO-SESS-BORDER-CTRLR-STATS-MIB&revision=2010-09-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SIP-UA-MIB?module=CISCO-SIP-UA-MIB&revision=2004-02-19 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SMI?module=CISCO-SMI&revision=2012-08-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SONET-MIB?module=CISCO-SONET-MIB&revision=2003-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-ST-TC?module=CISCO-ST-TC&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-STP-EXTENSIONS-MIB?module=CISCO-STP-EXTENSIONS-MIB&revision=2013-03-07 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-IDENTITY-TC-MIB?module=CISCO-SUBSCRIBER-IDENTITY-TC-MIB&revision=2011-12-23 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB?module=CISCO-SUBSCRIBER-SESSION-MIB&revision=2012-08-08 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-TC-MIB?module=CISCO-SUBSCRIBER-SESSION-TC-MIB&revision=2012-01-27 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-SYSLOG-MIB?module=CISCO-SYSLOG-MIB&revision=2005-12-03 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TAP2-MIB?module=CISCO-TAP2-MIB&revision=2009-11-06 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-TC?module=CISCO-TC&revision=2011-11-11 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UBE-MIB?module=CISCO-UBE-MIB&revision=2010-11-29 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-UNIFIED-FIREWALL-MIB?module=CISCO-UNIFIED-FIREWALL-MIB&revision=2005-09-22 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB?module=CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB&revision=2013-07-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VLAN-MEMBERSHIP-MIB?module=CISCO-VLAN-MEMBERSHIP-MIB&revision=2007-12-14 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-COMMON-DIAL-CONTROL-MIB?module=CISCO-VOICE-COMMON-DIAL-CONTROL-MIB&revision=2010-06-30 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DIAL-CONTROL-MIB?module=CISCO-VOICE-DIAL-CONTROL-MIB&revision=2012-05-15 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VOICE-DNIS-MIB?module=CISCO-VOICE-DNIS-MIB&revision=2002-05-01 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VPDN-MGMT-MIB?module=CISCO-VPDN-MGMT-MIB&revision=2009-06-16 + urn:ietf:params:xml:ns:yang:smiv2:CISCO-VTP-MIB?module=CISCO-VTP-MIB&revision=2013-10-14 + urn:ietf:params:xml:ns:yang:smiv2:DIAL-CONTROL-MIB?module=DIAL-CONTROL-MIB&revision=1996-09-23 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-DSCP-TC?module=DIFFSERV-DSCP-TC&revision=2002-05-09 + urn:ietf:params:xml:ns:yang:smiv2:DIFFSERV-MIB?module=DIFFSERV-MIB&revision=2002-02-07 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EVENT-MIB?module=DISMAN-EVENT-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DISMAN-EXPRESSION-MIB?module=DISMAN-EXPRESSION-MIB&revision=2000-10-16 + urn:ietf:params:xml:ns:yang:smiv2:DRAFT-MSDP-MIB?module=DRAFT-MSDP-MIB&revision=1999-12-16 + urn:ietf:params:xml:ns:yang:smiv2:DS1-MIB?module=DS1-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:DS3-MIB?module=DS3-MIB&revision=1998-08-01 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-MIB?module=ENTITY-MIB&revision=2005-08-10 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-SENSOR-MIB?module=ENTITY-SENSOR-MIB&revision=2002-12-16 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-MIB?module=ENTITY-STATE-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ENTITY-STATE-TC-MIB?module=ENTITY-STATE-TC-MIB&revision=2005-11-22 + urn:ietf:params:xml:ns:yang:smiv2:ETHER-WIS?module=ETHER-WIS&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:EXPRESSION-MIB?module=EXPRESSION-MIB&revision=2005-11-24 + urn:ietf:params:xml:ns:yang:smiv2:EtherLike-MIB?module=EtherLike-MIB&revision=2003-09-19 + urn:ietf:params:xml:ns:yang:smiv2:FRAME-RELAY-DTE-MIB?module=FRAME-RELAY-DTE-MIB&revision=1997-05-01 + urn:ietf:params:xml:ns:yang:smiv2:HCNUM-TC?module=HCNUM-TC&revision=2000-06-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-ADDRESS-FAMILY-NUMBERS-MIB?module=IANA-ADDRESS-FAMILY-NUMBERS-MIB&revision=2000-09-08 + urn:ietf:params:xml:ns:yang:smiv2:IANA-RTPROTO-MIB?module=IANA-RTPROTO-MIB&revision=2000-09-26 + urn:ietf:params:xml:ns:yang:smiv2:IANAifType-MIB?module=IANAifType-MIB&revision=2006-03-31 + urn:ietf:params:xml:ns:yang:smiv2:IEEE8021-TC-MIB?module=IEEE8021-TC-MIB&revision=2008-10-15 + urn:ietf:params:xml:ns:yang:smiv2:IF-MIB?module=IF-MIB&revision=2000-06-14 + urn:ietf:params:xml:ns:yang:smiv2:IGMP-STD-MIB?module=IGMP-STD-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:INET-ADDRESS-MIB?module=INET-ADDRESS-MIB&revision=2005-02-04 + urn:ietf:params:xml:ns:yang:smiv2:INT-SERV-MIB?module=INT-SERV-MIB&revision=1997-10-03 + urn:ietf:params:xml:ns:yang:smiv2:INTEGRATED-SERVICES-MIB?module=INTEGRATED-SERVICES-MIB&revision=1995-11-03 + urn:ietf:params:xml:ns:yang:smiv2:IP-FORWARD-MIB?module=IP-FORWARD-MIB&revision=1996-09-19 + urn:ietf:params:xml:ns:yang:smiv2:IP-MIB?module=IP-MIB&revision=2006-02-02 + urn:ietf:params:xml:ns:yang:smiv2:IPMROUTE-STD-MIB?module=IPMROUTE-STD-MIB&revision=2000-09-22 + urn:ietf:params:xml:ns:yang:smiv2:IPV6-FLOW-LABEL-MIB?module=IPV6-FLOW-LABEL-MIB&revision=2003-08-28 + urn:ietf:params:xml:ns:yang:smiv2:LLDP-MIB?module=LLDP-MIB&revision=2005-05-06 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-L3VPN-STD-MIB?module=MPLS-L3VPN-STD-MIB&revision=2006-01-23 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-GENERIC-STD-MIB?module=MPLS-LDP-GENERIC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LDP-STD-MIB?module=MPLS-LDP-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-LSR-STD-MIB?module=MPLS-LSR-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-MIB?module=MPLS-TC-MIB&revision=2001-01-04 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TC-STD-MIB?module=MPLS-TC-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-TE-STD-MIB?module=MPLS-TE-STD-MIB&revision=2004-06-03 + urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB?module=MPLS-VPN-MIB&revision=2001-10-15 + urn:ietf:params:xml:ns:yang:smiv2:NHRP-MIB?module=NHRP-MIB&revision=1999-08-26 + urn:ietf:params:xml:ns:yang:smiv2:NOTIFICATION-LOG-MIB?module=NOTIFICATION-LOG-MIB&revision=2000-11-27 + urn:ietf:params:xml:ns:yang:smiv2:P-BRIDGE-MIB?module=P-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:PIM-MIB?module=PIM-MIB&revision=2000-09-28 + urn:ietf:params:xml:ns:yang:smiv2:PerfHist-TC-MIB?module=PerfHist-TC-MIB&revision=1998-11-07 + urn:ietf:params:xml:ns:yang:smiv2:Q-BRIDGE-MIB?module=Q-BRIDGE-MIB&revision=2006-01-09 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1212?module=RFC-1212 + urn:ietf:params:xml:ns:yang:smiv2:RFC-1215?module=RFC-1215 + urn:ietf:params:xml:ns:yang:smiv2:RFC1155-SMI?module=RFC1155-SMI + urn:ietf:params:xml:ns:yang:smiv2:RFC1213-MIB?module=RFC1213-MIB + urn:ietf:params:xml:ns:yang:smiv2:RFC1315-MIB?module=RFC1315-MIB + urn:ietf:params:xml:ns:yang:smiv2:RMON-MIB?module=RMON-MIB&revision=2000-05-11 + urn:ietf:params:xml:ns:yang:smiv2:RMON2-MIB?module=RMON2-MIB&revision=1996-05-27 + urn:ietf:params:xml:ns:yang:smiv2:RSVP-MIB?module=RSVP-MIB&revision=1998-08-25 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-FRAMEWORK-MIB?module=SNMP-FRAMEWORK-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-PROXY-MIB?module=SNMP-PROXY-MIB&revision=2002-10-14 + urn:ietf:params:xml:ns:yang:smiv2:SNMP-TARGET-MIB?module=SNMP-TARGET-MIB&revision=1998-08-04 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-MIB?module=SNMPv2-MIB&revision=2002-10-16 + urn:ietf:params:xml:ns:yang:smiv2:SNMPv2-TC?module=SNMPv2-TC + urn:ietf:params:xml:ns:yang:smiv2:SONET-MIB?module=SONET-MIB&revision=2003-08-11 + urn:ietf:params:xml:ns:yang:smiv2:TCP-MIB?module=TCP-MIB&revision=2005-02-18 + urn:ietf:params:xml:ns:yang:smiv2:TOKEN-RING-RMON-MIB?module=TOKEN-RING-RMON-MIB + urn:ietf:params:xml:ns:yang:smiv2:TOKENRING-MIB?module=TOKENRING-MIB&revision=1994-10-23 + urn:ietf:params:xml:ns:yang:smiv2:TUNNEL-MIB?module=TUNNEL-MIB&revision=2005-05-16 + urn:ietf:params:xml:ns:yang:smiv2:UDP-MIB?module=UDP-MIB&revision=2005-05-20 + urn:ietf:params:xml:ns:yang:smiv2:VPN-TC-STD-MIB?module=VPN-TC-STD-MIB&revision=2005-11-15 + + urn:ietf:params:netconf:capability:notification:1.1 + + + \ No newline at end of file diff --git a/vendor/cisco/xe/17151/check-models.sh b/vendor/cisco/xe/17151/check-models.sh new file mode 100755 index 000000000..2f8d53421 --- /dev/null +++ b/vendor/cisco/xe/17151/check-models.sh @@ -0,0 +1,93 @@ +#!/bin/sh +# +# Simple run of pyang with the "--lint" flag over all yang files in +# this directory, ignoring some warnings. Prior to pushing to git, the +# validation was run with pyang 1.5. This script should be run with +# the working doirectory set to a directory containing the yang files +# to run "pyang --lint" over. +# +# The modules as uploaded exhibit a number of RFC 6087 amd RFC 6020 +# errors and warnings that are judged to be cosmetic at this time and +# which do not impact the ability of a client to interact with a +# device supporting the module. The exact content ignored may be +# identified by reviewing the "grep -v" commands below. +# +GREP=`command -v grep` +PYANG=`command -v pyang` +PYANG_FLAGS="-p . -p ./MIBS --ignore-error LEAFREF_IDENTIFIER_NOT_FOUND --lax-quote-checks" + +trap ctrl_c INT + +ctrl_c() { + echo 'User interruption, exiting ..' + exit -1 +} +# +# simple function to check for existence of a binary on the current +# path +# +checkExists() { + bin=`command -v $1` + if [ -z "$bin" ] + then + echo this script requires $1 to be on your path + exit 1 + fi +} + +# +# check we have the utilties we need +# +checkExists pyang +checkExists egrep +checkExists grep + +# +# brief help for the options we support +# +show_help () { + echo Options for check-models.sh: + printf "\n" + printf " -h Show this help\n" + printf "\n" +} + +OPTIND=1 +while getopts "hc:" opt; do + case "$opt" in + h|\?) + show_help + exit 0 + ;; + esac +done + +# +# Run pyang over all the yang modules, ignoring certain errors and +# warnings. Only if we haven't been asked to do the BC check +# +#echo Checking all models with "--lint" flag + +check_yang_set() { + #echo "pyang $FLAGS" + YANG_INSTALL="/tmp" pyang $FLAGS 2>&1 | \ + grep -v "warning:" + +} + +for m in *.xml + do + FLAGS="--hello $m $PYANG_FLAGS" + echo "pyang $FLAGS" + check_yang_set + done + +# for m in *.yang +# do +# YANG_INSTALL="/tmp" pyang $PYANG_FLAGS $m 2>&1 | \ +# grep -v "warning:" +# done + +# YANG_INSTALL="/tmp" pyang $PYANG_FLAGS *.yang 2>&1 | \ +# grep -v "warning:" + diff --git a/vendor/cisco/xe/17151/cisco-bridge-common.yang b/vendor/cisco/xe/17151/cisco-bridge-common.yang new file mode 100644 index 000000000..1dcb0792f --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-bridge-common.yang @@ -0,0 +1,538 @@ +module cisco-bridge-common { + namespace "urn:cisco:params:xml:ns:yang:cisco-bridge-common"; + prefix cbridge; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of Cisco specific YANG type + definitions for Layer 2 Bridging. + + Terms and Acronyms + BD : Bridge Domain + + DAI : Dynamic ARP Inspection + + DHCP : Dynamic Host Configuration Protocol + + IGMP : Internet Group Management Protocol + + IPSG : IP Source Guard + + MLD : Multicast Listener Discovery + "; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-12-14 { + description + "Remove cisco govern extension"; + } + revision 2014-09-25 { + description + "Proposed"; + reference + "TODO"; + } + + feature configurable-bd-mac-aging-types { + description + "This feature represents the ability to configure MAC aging + parameters."; + } + + feature configurable-bd-mac-limit-max { + description + "This feature represents the ability to configure MAC limit + threshold on bridge-domains."; + } + + feature configurable-bd-mac-limit-actions { + description + "This feature represents the ability to configure actions for + mac-limit violation event."; + } + + feature configurable-bd-mac-limit-notif { + description + "This feature represents the ability to configure notification + for mac-limit violation event."; + } + + feature configurable-bd-flooding-control { + description + "This feature represents the ability to configure flooding + control parameters."; + } + + typedef eth-traffic-class { + type enumeration { + enum broadcast { + description + "Ethernet frames with destination mac-address + eqaul to FFFF.FFFF.FFFF"; + } + enum multicast { + description + "Ethernet frame with destination MAC address not equal + to the broadcast address, but with the multicast bit set + to 1."; + } + enum unknown-unicast { + description + "Ethernet frames with with a packet destination MAC + address not yet learned."; + } + } + description + "Traffic class for layer 2 ethernet transport"; + } + + typedef mac-aging-type { + type enumeration { + enum inactivity { + description + "Dynamically learnt MAC entries are aged out after + configured aging time only if no data traffic is + detected during aging period."; + } + enum absolute { + description + "Dynamically learnt MAC entries are aged out after + configured aging time."; + } + } + description + "MAC aging mechanism."; + } + + typedef mac-limit-action { + type enumeration { + enum none { + description + "No action"; + } + enum flood { + description + "Stop mac learning and flood unknown unicast traffic."; + } + enum drop { + description + "Stop mac learning and drop unknown unicast traffic."; + } + enum shutdown { + description + "Bring down operational status of the interface."; + } + } + description + "Actions to be taken once mac limit threshold is exceeded."; + } + + typedef mac-secure-action { + type enumeration { + enum none { + description + "Forward the violating packet and allow the MAC to be + relearned."; + } + enum restrict { + description + "Drop violating packet."; + } + enum shutdown { + description + "Force shutdown the violating bridge port."; + } + } + description + "Actions to be taken upon mac secure violation."; + } + + identity mac-limit-notification-type { + description + "Notification mechanism to use when mac limit threshold is + exceeded."; + } + + identity notif-none { + base mac-limit-notification-type; + description + "Disable notification"; + } + + identity notif-snmp-trap { + base mac-limit-notification-type; + description + "Generate SNMP trap"; + } + + identity notif-syslog { + base mac-limit-notification-type; + description + "Generate syslog"; + } + + identity notif-syslog-and-snmp-trap { + base mac-limit-notification-type; + description + "Generate both syslog and SNMP trap"; + } + + grouping mac-learning-config { + description + "When a frame arrives on a bridge port (for example, + pseudowire or attachment circuit) and the source MAC address + is unknown to the receiving PE router, the source MAC address + is associated with the pseudowire or attachment circuit. + Outbound frames to the MAC address are forwarded to the + appropriate pseudowire or attachment circuit. + + This grouping defines MAC learning configurations for bridge + domain and its members."; + leaf learning-enabled { + type boolean; + default "true"; + description + "Enable disable mac learning"; + reference + "CLI xr: mac learning disable"; + } + container limit { + description + "MAC table learning limit."; + leaf maximum { + if-feature "configurable-bd-mac-limit-max"; + type uint32; + description + "Maximum number of mac addresses that can be learnt"; + } + leaf action { + if-feature "configurable-bd-mac-limit-actions"; + type mac-limit-action; + description + "MAC limit violation actions."; + reference + "CLI xr: mac limit action { flood | no-flood | shutdown }"; + } + leaf notification { + if-feature "configurable-bd-mac-limit-notif"; + type identityref { + base mac-limit-notification-type; + } + description + "MAC limit violation notifications."; + reference + "CLI xr: mac limit notification { none | both | trap }"; + } + } + } + + grouping mac-flooding-config { + description + "Ethernet services require that frames that are sent to + broadcast addresses and to unknown destination addresses be + flooded to all ports. To obtain flooding within VPLS broadcast + models, all unknown unicast, broadcast, and multicast frames + are flooded over the corresponding pseudowires and to all + attachment circuits. Therefore, a PE must replicate packets + across both attachment circuits and pseudowires. + + This grouping defines flooding configurations for bridge + domain and its members."; + container flooding { + description + "Flooding configurations."; + reference + "CLI xr: flooding [unknown-unicast] disabled"; + leaf disabled { + type empty; + description + "Disable flooding"; + } + leaf disabled-unknown-unicast { + type empty; + description + "Disable unknown unicast flooding"; + } + } + } + + grouping mac-flooding-state { + description + "This grouping defines flooding operational state for bridge + domain and its members."; + container flooding { + description + "Flooding operational status"; + list status { + key "traffic-class"; + description + "A collection of storm control threshold configuration + entries."; + leaf traffic-class { + type eth-traffic-class; + description + "This leaf identifies a ethernet traffic type."; + } + leaf enabled { + type boolean; + description + "This leaf indicates if flooding is enabled for + corresponding traffic class"; + } + } + } + } + + grouping mac-aging-config { + description + "A MAC address in the MAC table is considered valid only for + the duration of the MAC address aging time. When the time + expires, the relevant MAC entries are repopulated. When the + MAC aging time is configured only under a bridge domain, all + the pseudowires and attachment circuits in the bridge domain + use that configured MAC aging time. + + A bridge forwards, floods, or drops packets based on the + bridge table. The bridge table maintains both static entries + and dynamic entries. Static entries are entered by the network + manager or by the bridge itself. Dynamic entries are entered + by the bridge learning process. A dynamic entry is + automatically removed after a specified length of aging time, + from the time the entry was created or last updated. + + This grouping defines MAC aging configurations for bridge + domain and its members."; + container aging { + description + "MAC aging configurations."; + leaf time { + type uint32; + units "seconds"; + default "300"; + description + "The timeout period in seconds for aging out + dynamically learned forwarding information"; + reference + "CLI: mac aging time "; + } + leaf type { + if-feature "configurable-bd-mac-aging-types"; + type mac-aging-type; + description + "MAC aging type."; + reference + "CLI xr: mac aging type absolute"; + } + } + } + + grouping mac-event-action-config { + description + "This grouping defines configuration of events that affects + MAC table"; + container port-down { + description + "Port down event"; + reference + "CLI xr: mac port-down flush"; + leaf flush { + type boolean; + default "true"; + description + "Enable/Disable mac table flush when port moves to down + state."; + } + } + } + + grouping mac-secure-config { + description + "This grouping defines MAC secure configuration."; + container secure { + description + "MAC secure parameters."; + leaf action { + type mac-secure-action; + default "restrict"; + description + "MAC secure action for violating packets."; + reference + "CLI xr: mac secure action {none | shutdown}"; + } + leaf logging { + type boolean; + default "false"; + description + "Enable/Disable logging."; + reference + "CLI xr: mac secure logging"; + } + } + } + + grouping static-mac-list-config { + description + "Static mac address list grouping."; + container static { + description + "Static mac address list parameters."; + list mac-addresses { + key "mac-addr"; + description + "MAC address entry."; + leaf mac-addr { + type yang:mac-address; + description + "Static MAC address."; + } + leaf drop { + type boolean; + mandatory true; + description + "Drop packet."; + } + } + } + } + + grouping dynamic-arp-inspection-config { + description + "Dynamic ARP Inspection (DAI) is a method of providing + protection against address resolution protocol (ARP) + spoofing attacks. It intercepts, logs, and discards ARP + packets with invalid IP-to-MAC address bindings. This + capability protects the network from certain + man-in-the-middle attacks. + + This grouping defines Dynamic ARP inspection configuration + parameters"; + container dynamic-arp-inspection { + description + "Dynamic ARP Inspection (DAI) configurations."; + container address-validation { + presence "Existence of this container indicates that address + validation is enabled."; + description + "Enable address validation."; + leaf dst-mac { + type empty; + description + "Match Destination MAC Address"; + } + leaf src-mac { + type empty; + description + "Match Source MAC Address"; + } + leaf ipv4 { + type empty; + description + "Match IPv4 Address"; + } + } + leaf logging { + type boolean; + description + "Enable DAI logging"; + } + reference + "CLI xr: dynamic-arp-inspection []"; + } + } + + grouping ip-source-guard-config { + description + "IP source guard (IPSG) is a security feature that filters + traffic based on the DHCP snooping binding database and on + manually configured IP source bindings in order to restrict + IP traffic on non-routed Layer 2 interfaces. + + The IPSG feature provides source IP address filtering on a + Layer 2 port, to prevent a malicious hosts from manipulating + a legitimate host by assuming the legitimate host's IP + address. This feature uses dynamic DHCP snooping and static IP + source binding to match IP addresses to hosts. + + This grouping defines IP source guard configuration + parameters."; + container ip-source-guard { + description + "IP source guard (IPSG) configurations."; + leaf logging { + type boolean; + default "false"; + description + "Enable IPSG logging"; + } + reference + "CLI xr: ip-source-guard [logging]"; + } + } + + grouping snooping-profile-config { + description + "This grouping defines snooping profile configuration for + Internet Group Management Protocol (IGMP), Multicast Listener + Discovery (MLD) and Dynamic Host Configuration Protocol + (DHCP)"; + container igmp-snooping { + description + "Enable IGMP snooping."; + leaf profile-name { + type string; + mandatory true; + description + "IGMP snooping profile name"; + reference + "CLI xr: igmp snooping { disable | profile }"; + } + } + container mld-snooping { + description + "Enable MLD snooping"; + leaf profile-name { + type string; + mandatory true; + description + "MLD snooping profile name."; + reference + "CLI xr: mld snooping profile "; + } + } + container dhcp-ipv4-snooping { + description + "Enable DHCP IPv4 snooping."; + leaf profile-name { + type string; + mandatory true; + description + "DHCPv4 snooping profile name"; + reference + "CLI xr: dhcp ipv4 snooping profile "; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-bridge-domain.yang b/vendor/cisco/xe/17151/cisco-bridge-domain.yang new file mode 100644 index 000000000..442f0136e --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-bridge-domain.yang @@ -0,0 +1,1155 @@ +module cisco-bridge-domain { + namespace "urn:cisco:params:xml:ns:yang:cisco-bridge-domain"; + prefix bd; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-interfaces { + prefix if; + } + import ietf-yang-types { + prefix yang; + } + import cisco-bridge-common { + prefix cbridge; + } + import cisco-storm-control { + prefix cstormctrl; + } + import cisco-pw { + prefix l2vpn-pw; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This YANG module describes the configuration and operational + model for bridge domain. + + Terms and Acronyms + AC : Attachment Circuits + + BD : Bridge Domain + + BCB : Backbone Core Bridge + + BEB : Backbone Edge Bridge + + B-MAC : Backbone MAC Address + + CE : Customer Edge + + C-MAC : Customer/Client MAC Address + + DHCP : Dynamic Host Configuration Protocol + + DAI : Dynamic ARP Inspection + + EVC : Ethernet Virtual Circuit + + IGMP : Internet Group Management Protocol + + IPSG : IP Source Guard + + L2VPN : Layer 2 Virtual Private Network + + MLD : Multicast Listener Discovery + + PBB : Provider Backbone Bridge + + VLAN : Virtual Local Area Network + "; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-12-14 { + description + "Removed cisco govern extension"; + } + revision 2014-12-01 { + description + "Proposed"; + reference + "TODO"; + } + + feature parameterized-bridge-domains { + description + "This feature represents ability to dynamically create + bridge-domains."; + } + + feature clear-bridge-domain { + description + "This features represents ability to clear mac-address table + and restart bridge-domains."; + reference + "IOS-XR: clear l2vpn bridge-domain <>"; + } + + feature configurable-bd-groups { + description + "This feature represents ability to group bridge domains + under bridge group."; + } + + feature configurable-bd-mtu { + description + "This feature represents ability to configure MTU for the + bridge domain."; + } + + feature configurable-bd-mac-features { + description + "This feature represents ability to configure MAC + features. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-flooding-mode { + description + "This feature represents ability to configure flood mode + for the bridge domains."; + } + + feature configurable-bd-mac-event-action { + description + "This feature represents ability to configure mac event + actions. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-mac-secure { + description + "This feature represents ability to configure mac secure + feature + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-flooding { + description + "This feature represents ability to configure flooding + feature. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-storm-control { + description + "This feature represents ability to configure storm control + feature. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-dai { + description + "This feature represents ability to configure Dynamic ARP + inspection feature. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-ipsg { + description + "This feature represents ability to configure IP source + guard feature. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-snooping-profiles { + description + "This feature represents ability to configure snooping + profiles for the bridge domain. + + This feature is applicable for both bridge domains and + bridge domain members."; + } + + feature configurable-bd-static-mac { + description + "This feature represents ability to configure static + mac list."; + } + + feature configurable-bd-sh-group-number { + description + "This feature represents ability to configure split + horizon group number config."; + } + + feature configurable-bd-member-features { + description + "This feature represents ability to configure advance + features on bridge-domain members."; + } + + typedef bridge-domain-ref { + type leafref { + path "/bd:bridge-domain-config/bd:bridge-domains/bd:bridge-domain/bd:id"; + } + description + "Reference to bridge-domain instance id."; + } + + typedef bridge-domain-oper-ref { + type leafref { + path "/bd:bridge-domain-state/bd:bridge-domains/bd:bridge-domain/bd:id"; + } + description + "Reference to bridge-domain instance id."; + } + + typedef bridge-domain-state-type { + type enumeration { + enum up { + description + "Bridge domain is operationally Up."; + } + enum down { + description + "Bridge domain is operationally Down."; + } + enum admin-down { + description + "Bridge domain is shutdown by administrator."; + } + } + description + "Bridge domain states."; + } + + grouping bd-member-features { + description + "Bridge domain member specific feature grouping. + + This grouping is applicable to all attachment circuit (AC) + and access pseudo-wire members."; + container split-horizon-group { + presence "Existence of this container represents Split Horizon + configuration. + + When Split Horizon group number is not configured, device + assigns default group numbers to ACs or PWs"; + description + "Bridge domain aggregates attachment circuits (ACs) and + pseudowires (PWs) in one or more groups called Split Horizon + Groups. When applied to bridge domains, Split Horizon refers + to the flooding and forwarding behavior between members of a + Split Horizon group. In general, frames received on one + member of a split horizon group are not flooded out to the + other members."; + leaf id { + if-feature "configurable-bd-sh-group-number"; + type uint16; + mandatory true; + description + "Split Horizon group number for bridge domain member."; + } + } + container mac { + description + "MAC features for bridge domain."; + uses cbridge:mac-learning-config { + description + "MAC learning features: + - enable / disable mac learning + - mac limit + - mac limit actions + - mac limit notifications"; + } + uses cbridge:mac-aging-config { + description + "MAC aging features: + - aging time + - aging type"; + } + uses cbridge:mac-event-action-config { + if-feature "configurable-bd-mac-event-action"; + description + "Enable or disable mac-flush upon port-down."; + } + uses cbridge:mac-secure-config { + if-feature "configurable-bd-mac-secure"; + description + "MAC secure features for bridge domain members."; + augment "secure" { + description + "This augment provides configuration leaf to enable + disable mac secure feature."; + leaf enabled { + type boolean; + description + "Enable or disable mac secure feature"; + } + } + } + } + uses cbridge:snooping-profile-config { + if-feature "configurable-bd-snooping-profiles"; + description + "Snooping profile configuration for bridge-domain + members."; + } + uses cbridge:mac-flooding-config { + if-feature "configurable-bd-flooding"; + description + "MAC flooding features: + - enable / disable flooding + - enable / disable unknown unicast flooding"; + } + uses cstormctrl:storm-control-config { + if-feature "configurable-bd-storm-control"; + description + "Storm control feature for bridge domain members."; + } + } + + grouping bd-pbb-features { + description + "This grouping defined Provider Backbone Bridge (PBB) features + for bridge-domain instance."; + container pbb { + description + "Provider Backbone Bridge (PBB) features."; + choice pbb-role-type { + description + "PBB role for the bridge-domain"; + case pbb-edge { + container edge { + description + "PBB egde configurations for bridge-domain."; + leaf i-sid { + type uint32 { + range "256..16777214"; + } + mandatory true; + description + "PBB Instance Identifier (I-SID) value."; + } + leaf core-bridge { + type string; + mandatory true; + description + "Core bridge-domain name for the current edge + bridge-domain."; + } + list static-mac-addresses { + key "c-mac"; + description + "Static MAC address entry."; + leaf c-mac { + type yang:mac-address; + description + "Static C-MAC address."; + } + leaf b-mac { + type yang:mac-address; + mandatory true; + description + "Static B-MAC address."; + } + } + leaf unknown-ucast-bmac { + type yang:mac-address; + description + "Unknown unicast B-MAC address."; + } + } + } + case pbb-core { + container core { + description + "PBB core configurations for bridge-domain."; + } + } + } + } + } + + grouping bd-capabilities { + description + "This grouping defines capability definitions for + bridge-domains at system or module scope."; + leaf max-bd { + type uint32; + description + "Maximum number of bridge-domains suported."; + } + leaf max-ac-per-bd { + type uint32; + description + "Maximum number of attachment circuits per + bridge-domains."; + } + leaf max-pw-per-bd { + type uint32; + description + "Maximum number of access pseudowires per + bridge-domains"; + } + leaf max-vfi-per-bd { + type uint32; + description + "Maximum number of virtual forwarding instances per + bridge-domains."; + } + leaf max-sh-group-per-bd { + type uint32; + description + "Maximum number of Split Horizon groups per + bridge-domains."; + } + } + + container bridge-domain-config { + description + "This container defines overall configuration data for bridge + -domains on a network device."; + container global { + description + "Global configurations for bridge-domains."; + leaf bd-state-notification-enabled { + type boolean; + description + "If this leaf is set to true, then it enables the emission + of 'bd-state-notification'; otherwise these notifications + are not emitted."; + } + leaf bd-state-notification-rate { + type uint32; + description + "This leaf defines the maximum number of 'bd-state- + notification' that can be emitted from the device per + second."; + } + container pbb { + description + "Provider Backbone Bridging (PBB) related global + configurations."; + leaf backbone-src-mac { + type yang:mac-address; + description + "Backbone source mac address configuration for Provider + Backbone Bridging (PBB)"; + } + } + } + container bridge-groups { + if-feature "configurable-bd-groups"; + description + "Collection of bridge-groups. + + A Bridge-group is logical grouping construct for bridge + domains. It defines grouping of bridge-domains under a + named bridge-group. For example all bridge-domains + belonging to a single customer can be grouped under a bridge + -group"; + list bridge-group { + key "name"; + description + "Bridge-group configuration."; + leaf name { + type string { + length "1..32"; + } + description + "Bridge-group name"; + } + } + } + container bridge-domains { + description + "Collection of bridge domains."; + list bridge-domain { + key "id"; + description + "Definition of a bridge-domain."; + leaf id { + type string; + description + "Bridge domain name or number"; + reference + "CLI: bridge-domain "; + } + leaf bridge-group { + if-feature "configurable-bd-groups"; + type leafref { + path "/bd:bridge-domain-config/bd:bridge-groups/bd:bridge-group/bd:name"; + } + mandatory true; + description + "Reference to bridge-group name. If bridge-groups are + supported, referred bridge-group MUST be created + first."; + } + leaf enabled { + type boolean; + default "true"; + description + "This leaf represents configured admin status of the + bridge domain"; + reference + "CLI: shutdown"; + } + leaf bd-status-change-notification { + type boolean; + description + "Enable/disable bridge-domain status change notification. + + If true, any change in bridge-domain operational status + will be notified to client via 'bd-status-change' + notification."; + } + container members { + description + "Collection of bridge-domain members."; + list ac-member { + key "interface"; + description + "List of Attachment circuits for current + bridge-domain."; + leaf interface { + type if:interface-ref; + description + "Reference to an attchment circuit interface + instance which is configured to be part of this + bridge-domain."; + } + uses bd-member-features { + if-feature "configurable-bd-member-features"; + description + "Attachment circuit features for bridge domain."; + } + uses cbridge:dynamic-arp-inspection-config { + if-feature "configurable-bd-dai"; + description + "Dynamic ARP inspection parameters for bridge domain + members"; + augment "dynamic-arp-inspection" { + description + "This augment provides configuration leaf to enable + disable Dynamic ARP inspection."; + leaf enable { + type boolean; + description + "Enable or disable Dynamic ARP Inspection."; + } + } + } + uses cbridge:ip-source-guard-config { + if-feature "configurable-bd-ipsg"; + description + "IP source guard feature for bridge domain member."; + augment "ip-source-guard" { + description + "This augment provides configuration leaf to enable + disable IP source guard."; + leaf enable { + type boolean; + description + "Enable or disable IP source guard feature."; + } + } + } + } + list vfi-member { + key "interface"; + description + "List of Virtual Forrwarding Interfaces for current + bridge-domain."; + leaf interface { + type if:interface-ref; + must "/if:interfaces/if:interface/if:type = 'ifVfiType'" { + description + "Refernce to VFI type interface."; + } + description + "Reference to an Virtual Forwarding Interface + instance which is configured to be part of this + bridge-domain"; + } + } + container access-pw-member { + description + "Collection of access pseudowire members. + + A Pseudowires can be a regular interface with ifType + 'ifPwType' or it can represented as a non-interface + context. This container provides model definition for + both types of the pseudowires."; + list access-pw-if-member { + key "interface"; + description + "List of interface based access pseudowires for + current bridge-domain."; + leaf interface { + type if:interface-ref; + must "/if:interfaces/if:interface/if:type = 'ifPwType'" { + description + "Refernce to pseudo-wire type interface."; + } + description + "Reference to an access pseudo-wire interface + instance which is configured to be part of this + bridge domain"; + } + } + list pw-neighbor-spec { + key "neighbor-ip-address vc-id"; + description + "Collection of neighbor specification based + pseudo-wires."; + uses l2vpn-pw:pw-neighbor-config { + description + "Access pseudowire specification."; + } + uses bd-member-features { + if-feature "configurable-bd-member-features"; + description + "Bridge domain member features for neighbor spec + based pseudowires."; + } + container backup { + description + "Backup pseudo-wire."; + uses l2vpn-pw:pw-backup-neighbor-config { + description + "Backup pseudowire specification."; + } + } + } + } + } + leaf mtu { + if-feature "configurable-bd-mtu"; + type uint16 { + range "46..65535"; + } + description + "The MTU size for bridge domain. All bridge domain + members must have same MTU size to be operational + in the domain"; + reference + "CLI xr: mtu <>"; + } + leaf flooding-mode { + if-feature "configurable-bd-flooding-mode"; + type enumeration { + enum convergence-optimized { + description + "Flood mode optimized for convergence."; + } + enum resilience-optimized { + description + "Flood mode optimized for resiliency"; + } + } + description + "Flood modes for optimization."; + reference + "CLI xr: flood-mode { convergence-optimized | + resilience-optimized } "; + } + container mac { + description + "MAC features for bridge domain."; + uses cbridge:mac-learning-config { + description + "MAC learning configurations for bridge-domain."; + } + uses cbridge:mac-aging-config { + description + "MAC aging configurations for bridge-domain."; + } + uses cbridge:mac-event-action-config { + if-feature "configurable-bd-mac-event-action"; + description + "Event based action configuration for bridge domain."; + } + uses cbridge:mac-flooding-config { + if-feature "configurable-bd-flooding"; + description + "MAC flooding features: + - enable / disable flooding + - enable / disable unknown unicast flooding"; + } + uses cbridge:mac-secure-config { + if-feature "configurable-bd-mac-secure"; + description + "MAC secure features: + - enable / disable mac secure + - mac secure action + - mac secure logging"; + refine "secure" { + presence "Existence of this container represents that MAC + secure is enabled on the bridge domain."; + } + } + uses cbridge:static-mac-list-config { + if-feature "configurable-bd-static-mac"; + description + "Static mac address list"; + reference + "CLI xr: mac static-address H.H.H drop"; + } + } + uses cbridge:dynamic-arp-inspection-config { + if-feature "configurable-bd-dai"; + description + "Dynamic ARP inspection parameters."; + refine "dynamic-arp-inspection" { + presence "Existence of this container represents that Dynamic + ARP inspection is enabled on the bridge domain"; + } + } + uses cbridge:ip-source-guard-config { + if-feature "configurable-bd-ipsg"; + description + "IP source guard feature for bridge domain."; + refine "ip-source-guard" { + presence "Existence of this container represents that IP source + guard is enabled on the bridge domain"; + } + } + uses cstormctrl:storm-control-config { + if-feature "configurable-bd-storm-control"; + description + "Storm control feature for bridge domain"; + } + uses cbridge:snooping-profile-config { + if-feature "configurable-bd-snooping-profiles"; + description + "Snooping profile configuration for bridge-domain + members."; + refine "igmp-snooping/profile-name" { + mandatory false; + } + augment "igmp-snooping" { + description + "Add configuration leaf to enable disable igmp + snooping"; + leaf disabled { + type empty; + description + "Disable IGMP snooping."; + } + } + } + } + } + } + container bridge-domain-state { + config false; + description + "This container defines bridge-domain operational data."; + container system-capabilities { + description + "This container defines system capabilities for bridge + domain."; + uses bd-capabilities { + description + "Bridge domain system capabilities"; + } + leaf max-interflex-if-per-bd { + type uint32; + description + "Maximum number of Interflex interfaces per + bridge-domains."; + } + } + container module-capabilities { + description + "This container defines module capabilities for bridge + domain."; + list modules { + key "name"; + description + "Collection of capabillity statements for hardware + module in the system."; + leaf name { + type string; + description + "Name of the hardware module such as linecards, for + which capability is described."; + } + leaf max-mac-per-bd { + type uint32; + description + "Maximum number of MAC addresses per bridge-domains + supported by this module."; + } + leaf max-pdd-edge-bd { + type uint32; + description + "Maximum number of PBB Edge type bridge-domains + supported by this module."; + } + uses bd-capabilities { + description + "Bridge domain capabilities supported by this module."; + } + } + } + container bridge-domains { + description + "Bridge domain state data."; + list bridge-domain { + key "id"; + description + "Collection of bridge-domain state data."; + leaf id { + type string; + description + "Bridge domain name or number"; + } + leaf bd-state { + type bridge-domain-state-type; + mandatory true; + description + "Bridge domain operational/admin status."; + } + leaf create-time { + type yang:timestamp; + description + "System time when this bridge-domain was created"; + } + leaf last-status-change { + type yang:timeticks; + description + "Number of consecutive ticks since bridge-domain status + was changed last time."; + } + leaf mac-limit-reached { + type boolean; + description + "This leaf indicates if MAC address limit has been + reached."; + } + leaf p2mp-pw-disabled { + type boolean; + description + "Point to Mutipoint pseudowire state"; + } + container members { + description + "Collection of bridge-domain members."; + list ac-member { + key "interface"; + description + "List of attachment circuits for this bridge domains"; + leaf interface { + type if:interface-state-ref; + description + "Reference to an instance of Bridge domain attachment + circuit (AC) interface name."; + } + leaf static-mac-count { + type uint32; + description + "Number of static MAC address configured on this + bridge-domain member interface."; + } + container dai-stats { + description + "Dynamic ARP Inspection (DAI) statistics."; + leaf packet-drops { + type yang:counter64; + description + "Number of packets dropped by interface due to DAI + actions."; + } + leaf byte-drops { + type yang:counter64; + description + "Number of bytes dropped by interface due to DAI + actions."; + } + } + container ipsg-stats { + description + "IPSG stats."; + leaf packet-drops { + type yang:counter64; + description + "Number of packets dropped by interface due to IPSG + actions."; + } + leaf byte-drops { + type yang:counter64; + description + "Number of bytes dropped by interface due to IPSG + actions."; + } + } + uses cstormctrl:storm-control-stats; + } + list vfi-member { + key "interface"; + description + "Reference to an instance of Bridge domain Virtual + Forwarding Instance (VFI) name."; + leaf interface { + type if:interface-state-ref; + must "/if:interfaces-state/if:interface/if:type = 'ifVfiType'" { + description + "Filter only VFI interfaces"; + } + description + "Bridge domain memeber interface name."; + } + uses cbridge:mac-flooding-state; + } + list access-pw-member { + key "vc-peer-address vc-id"; + description + "Collection of access pseudowire members of the bridge + domain."; + uses l2vpn-pw:pw-oper-ref-keys { + description + "Pseudowire oper keys. These leaves can uniquely + identify a pseudowire instance in the pseudowire + oper data tree."; + } + uses cbridge:mac-flooding-state { + description + "MAC flooding state data"; + } + } + } + } + } + list mac-table { + key "bd-id mac-address"; + description + "This list contains mac-address entries for bridge + domains."; + leaf bd-id { + type string; + description + "Bridge-domain name where MAC entry is learnt."; + } + leaf mac-address { + type yang:mac-address; + description + "MAC address."; + } + leaf mac-type { + type enumeration { + enum static { + description + "MAC address is configured statically."; + } + enum dynamic { + description + "MAC address is learnt dynamicaly."; + } + } + description + "MAC address type."; + } + leaf interface { + type if:interface-ref; + mandatory true; + description + "Reference to an interface instance where MAC + address is learnt."; + } + leaf secure-mac { + type boolean; + description + "Secure MAC address."; + } + leaf ntfy-mac { + type boolean; + description + "TBD ?NTFY?"; + } + leaf age { + type yang:timeticks; + description + "Time since mac address was learnt on the interface."; + } + leaf location { + type string; + description + "Linecard / Module where mac address was learnt."; + } + } + } + + notification bd-state-notification { + description + "This notification is generated when bridge domain state is + changed. + + This notification can be enabled/disabled via configuration + leaf 'bd-state-notification-enabled'"; + leaf id { + type bd:bridge-domain-oper-ref; + description + "Reference to bridge-domain instance."; + } + leaf bd-state { + type bridge-domain-state-type; + description + "New state of the bridge-domain."; + } + leaf time { + type yang:timestamp; + description + "Timestamp of the state change event."; + } + } + + rpc clear-bridge-domain { + if-feature "clear-bridge-domain"; + description + "Clear mac-address table for bridge-domain and allows a bridge + to forward again after it was put in shutdown state as a + result of exceeding the configured MAC limit."; + reference + "XR: clear l2vpn bridge-domain <>"; + input { + choice bridge-domains { + mandatory true; + description + "Select bridge-domains to clear."; + leaf all { + type empty; + description + "Clear all bridge-domains configured on the device."; + } + leaf bd-id { + type string; + description + "Clear a single bridge-domain"; + } + leaf bg-id { + if-feature "configurable-bd-groups"; + type string; + description + "Clears all bridge-domains under this bridge-group."; + } + } + } + output { + leaf errstr { + type string; + description + "Error message from the device if RPC failed."; + } + } + } + + rpc clear-mac-address { + description + "This RPC allows to clear dynamically learnt mac-address + entries from the mac-address table."; + reference + "XR: clear l2vpn forwarding mac-address-table <> + IOS: clear bridge-domain <> mac table <>"; + input { + container bridge-domain { + description + "Clear mac-address entries for given bridge-domain(s)."; + leaf bd-id { + type string; + mandatory true; + description + "Bridge-domain identifier, clear all mac-address entries + dynamically learnt on this bridge-domain"; + } + leaf bg-id { + if-feature "configurable-bd-groups"; + type string; + mandatory true; + description + "Bridge-group identifier, clear all mac-address entries + from all bridge-domains under this bridge-group."; + } + } + leaf interface { + type if:interface-ref; + description + "Reference to an interface. Clear mac-addesses learnt by + by this interface."; + } + leaf mac-address { + type yang:mac-address; + description + "Clear a specific mac-address entry from the mac-table."; + } + } + output { + leaf errstr { + type string; + description + "Error message from the device if RPC failed."; + } + } + } + + rpc create-parameterized-bridge-domains { + if-feature "parameterized-bridge-domains"; + description + "Create bridge domains automatically from user defined + parameters."; + input { + leaf parameter { + type enumeration { + enum vlan { + description + "Create bridge-domains from vlan encapsulations of the + member interfaces."; + } + } + description + "Parameter for automatic bridge domain creation."; + } + list member { + key "interface"; + description + "Bridge-domain member interface."; + leaf interface { + type if:interface-ref; + description + "Reference to an interface instance which is + configured to be part of this bridge domain"; + } + } + } + output { + leaf errstr { + type string; + description + "Error message from the device if RPC failed."; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-ethernet.yang b/vendor/cisco/xe/17151/cisco-ethernet.yang new file mode 100644 index 000000000..3c0eeb880 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-ethernet.yang @@ -0,0 +1,126 @@ +module cisco-ethernet { + yang-version 1; + namespace "urn:cisco:params:xml:ns:yang:cisco-ethernet"; + prefix eth; + + import ietf-interfaces { + prefix if; + } + import iana-if-type { + prefix ianaift; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module contains a collection of YANG definitions for + configuring Ethernet Interfaces. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + reference + "TODO"; + + revision 2016-05-10 { + description + "Added iana-if-type import"; + } + revision 2016-03-30 { + description + "Update description with copyright notice."; + } + revision 2014-05-12 { + description + "Proposed"; + } + + identity eth-if-speed { + description + "Representing the speed of the ethernet interface"; + } + + identity eth-if-speed-10mb { + base eth-if-speed; + } + + identity eth-if-speed-100mb { + base eth-if-speed; + } + + identity eth-if-speed-1gb { + base eth-if-speed; + } + + identity eth-if-speed-10gb { + base eth-if-speed; + } + + identity eth-if-speed-40gb { + base eth-if-speed; + } + + identity eth-if-speed-100gb { + base eth-if-speed; + } + + augment "/if:interfaces/if:interface" { + when "if:type = 'ianaift:ethernetCsmacd'"; + container ethernet { + container transmission-params { + choice transmission-mode { + case auto1 { + leaf auto-negotiate { + type empty; + } + } + case manual { + leaf duplex { + type enumeration { + enum half; + enum full; + } + } + leaf speed { + type identityref { + base eth-if-speed; + } + } + } + } + } + leaf mtu-size { + type uint16; + } + } + } + + augment "/if:interfaces-state/if:interface" { + when "if:type = 'ianaift:ethernetCsmacd'"; + container ethernet { + leaf duplex { + type enumeration { + enum half; + enum full; + enum disagree; + } + } + container supported-mtu-range { + leaf min-mtu-size { + type uint16; + } + leaf max-mtu-size { + type uint16; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-evpn-service.yang b/vendor/cisco/xe/17151/cisco-evpn-service.yang new file mode 100644 index 000000000..261254a59 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-evpn-service.yang @@ -0,0 +1,965 @@ +module cisco-evpn-service { + yang-version 1.1; + namespace "http://cisco.com/yang/evpn/cisco-evpn-service"; + prefix cisco-evpn-service; + + import ietf-inet-types { + prefix inet; + } + import Cisco-IOS-XE-types { + prefix ios-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "This module defines the top level model for evpn service deployment. + Copyright (c) 2021 by Cisco Systems, Inc. + All rights reserved."; + + revision 2022-03-01 { + description + "Added containers for all lists that were not in containers. + Added mapping of all BGP AF l2vpn evpn neighbors as DIY model peers. + Changed mapping for DAG and CGW modes. + Added evi-id leaf for returning the evi id which may be different from vlan number. + Added dhcp relay configurations per l2-instance"; + } + + grouping evpn-global { + description + "Configuration properties for evpn Fabric"; + container global-configs { + container peer-config { + list bgp { + key "bgp-local-as"; + leaf bgp-local-as { + type uint32; + description + "bgp as number"; + } + leaf router-id { + type inet:ipv4-address; + description + "bgp router-id"; + } + leaf enable-evpn { + type boolean; + description + "Enable EVPN BGP"; + } + leaf enable-trm { + type boolean; + description + "Enable BGP multicast control plane"; + } + leaf control-node { + type boolean; + description + "node acts as a control plane node"; + } + container peers { + description + "List of peer border and/or control plane node loopback addresses"; + list peer { + key "loopback-id"; + leaf loopback-id { + type inet:ip-address; + description + "IP address of the peer loopback address"; + } + leaf loopback-source { + type uint32; + description + "Loopback interface identifier"; + } + leaf control-node { + type boolean; + description + "node acts as a control plane node"; + } + leaf border-node { + type boolean; + description + "node acts as a border node"; + } + leaf edge-node { + type boolean; + description + "node acts as an edge node"; + } + } + } + container l3-vpn-neighbors { + container vpnv4-neighbors { + list l3-vpnv4-neighbor { + description + "l3 VPN neighbors"; + key "ipv4-neighbor"; + leaf ipv4-neighbor { + type inet:ipv4-address; + description + "IP address of the connected router interface (neighbor)"; + } + leaf remote-as { + type uint32; + description + "as number for remote connected network"; + } + leaf loopback-source { + type uint32; + description + "Loopback interface identifier"; + } + } + } + container vpnv6-neighbors { + list l3-vpnv6-neighbor { + description + "l3 VPN neighbors"; + key "ipv6-neighbor"; + leaf ipv6-neighbor { + type inet:ipv4-address; + description + "IP address of the connected router interface (neighbor)"; + } + leaf remote-as { + type uint32; + description + "as number for remote connected network"; + } + leaf loopback-source { + type uint32; + description + "Loopback interface identifier"; + } + } + } + } + } + } + leaf loopback-id { + type uint32; + description + "Loopback interface identifier"; + } + leaf loopback-ip { + type inet:ipv4-address; + description + "Loopback interface address"; + } + container dot1x-interfaces { + list interface { + key "id"; + leaf id { + type string; + description + "Name of the interface, e.g. GigabitEthernet1/0/1"; + } + leaf auth-mode { + type enumeration { + enum closed1XMAB { + value 0; + description + "closed auth"; + } + enum closedMAB1X { + value 1; + description + "closed auth"; + } + enum open1XMAB { + value 2; + description + "open auth"; + } + enum openMAB1X { + value 3; + description + "open auth"; + } + enum easy1XMAB { + value 4; + description + "easy-connect auth"; + } + enum easyMAB1X { + value 5; + description + "easy-connect auth"; + } + } + mandatory true; + } + leaf wake-on-lan { + type boolean; + description + "true if packet should be sent to wake up hosts"; + } + leaf multi-host { + description + "Set the Host mode for authentication on this interface - true multiple hosts, false single host"; + type boolean; + } + leaf timeout { + type uint16; + description + "multiplier (times 3) for time in seconds to wait before falling back to alternate configuration mode"; + } + } + } + container acl-configurations { + description + "ACL configurations for AUTH filtering in IPV4 and IPV6"; + list acls { + key "acl-name"; + leaf acl-name { + type string; + description + "ACL Name passed by DNAC used as the ACL native model ACL name"; + } + list contract { + key "sequence"; + leaf sequence { + type uint64; + description + "ACE sequence number controlling the order of ACE application"; + } + leaf id { + type string; + description + "ACL ACE entry name string saved in the remark filed in the ACE configuration"; + } + leaf action { + type enumeration { + enum DENY; + enum PERMIT; + } + description + "ACE rule action"; + mandatory true; + } + leaf port { + type enumeration { + enum bgp { + value 179; + } + enum chargen { + value 19; + } + enum daytime { + value 13; + } + enum discard { + value 9; + } + enum domain { + value 53; + } + enum echo { + value 7; + } + enum finger { + value 79; + } + enum ftp { + value 21; + } + enum ftp-data { + value 20; + } + enum gopher { + value 70; + } + enum hostname { + value 101; + } + enum ident { + value 113; + } + enum irc { + value 194; + } + enum klogin { + value 543; + } + enum kshell { + value 544; + } + enum lpd { + value 515; + } + enum msrpc { + value 135; + } + enum nntp { + value 119; + } + enum pim-auto-rp { + value 496; + } + enum pop2 { + value 109; + } + enum pop3 { + value 110; + } + enum smtp { + value 25; + } + enum sunrpc { + value 111; + } + enum tacacs { + value 49; + } + enum talk { + value 517; + } + enum telnet { + value 23; + } + enum time { + value 37; + } + enum uucp { + value 540; + } + enum whois { + value 43; + } + enum www { + value 80; + } + enum biff { + value 512; + } + enum bootpc { + value 68; + } + enum bootps { + value 67; + } + enum dnsix { + value 195; + } + enum isakmp { + value 500; + } + enum mobile-ip { + value 434; + } + enum nameserver { + value 42; + } + enum netbios-dgm { + value 138; + } + enum netbios-ns { + value 137; + } + enum netbios-ss { + value 139; + } + enum non500-isakmp { + value 4500; + } + enum ntp { + value 123; + } + enum rip { + value 520; + } + enum ripv6 { + value 521; + } + enum snmp { + value 161; + } + enum snmptrap { + value 162; + } + enum syslog { + value 514; + } + enum tftp { + value 69; + } + enum who { + value 513; + } + enum xdmcp { + value 177; + } + } + description + "traffic type standard port"; + mandatory true; + } + leaf protocol { + type enumeration { + enum ahp; + enum eigrp; + enum esp; + enum gre; + enum icmp; + enum igmp; + enum ip; + enum ipinip; + enum nos; + enum object-group; + enum ospf; + enum pcp; + enum pim; + enum tcp; + enum udp; + enum hbh; + enum ipv6; + enum sctp; + } + description + "protocol type"; + mandatory true; + } + } + } + } + container dns-configuration { + container name-server { + list server { + key "server-id"; + leaf server-id { + type union { + type inet:ipv4-address; + type inet:ipv6-address; + } + } + } + } + leaf domain-name { + type string; + description + "default domain name"; + } + } + container dhcp-relay { + description + "global dhcp relay configurations"; + leaf source-interface { + type uint32; + description + "Loopback interface identifier"; + } + leaf vrf-name { + type string; + description + "vrf forwarding name"; + } + leaf ipv4-dhcp-helper { + type inet:ipv4-address; + description + "V4 dhcp helper address"; + } + leaf ipv6-dhcp-relay { + type inet:ipv6-prefix; + description + "V6 dhcp relay address"; + } + } + } + } + + grouping evpn-l3-instances { + container l3-instances { + list l3-instance { + description + "evpn instance identifier"; + key "id"; + leaf id { + type uint32; + description + "Number used for l3 instance identifier"; + } + leaf vrf-name { + type string; + mandatory true; + description + "The vrf name provided by user."; + } + leaf evpn-extension { + type boolean; + description + "True if bgp address-family ipv4 vrf 'vrf-name' includes advertise l2vpn evpn"; + } + leaf enable-trm { + type enumeration { + enum trm-none { + value 0; + description + "disable tenant multicast"; + } + enum trm-dist-anycast { + value 1; + description + "distributed-anycast rp placement"; + } + enum trm-external-rp { + value 2; + description + "external rp placement"; + } + } + } + leaf core-vlan-id { + type uint16; + description + "VLAN ID l3vni core SVI"; + } + leaf mcast-group { + type inet:ipv4-address; + description + "multicast group address"; + } + leaf rp-address { + type inet:ipv4-address; + description + "RP ip address"; + } + leaf rp-is-local { + type boolean; + description + "rp is local"; + } + leaf route-distinquisher { + type ios-types:asn-ip-type; + mandatory true; + description + "RD for this l3-instance"; + } + container rt-imports { + list rt-import { + description + "list of rt-imports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target import 300:5555 stitching where 300:5555 is the id"; + } + } + } + container rt-exports { + list rt-export { + description + "list of rt-exports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt export e.g. route-target export 300:5555 stitching where 300:5555 is the id"; + } + } + } + container rt-imports-v6 { + list rt-import { + description + "list of rt-imports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target import 300:5555 stitching where 300:5555 is the id"; + } + } + } + container rt-exports-v6 { + list rt-export { + description + "list of rt-exports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt export e.g. route-target export 300:5555 stitching where 300:5555 is the id"; + } + } + } + container l3-vpn-ics { + container l3-vpn-rt-imports { + container import-ipv4 { + description + "ipv4 rt-imports for l3-instance"; + list l3-vpn-rt-import-ipv4 { + description + "list of rt-imports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target import 300:5555 where 300:5555 is the id"; + } + } + } + container import-ipv6 { + description + "ipv6 rt-imports for l3-instance"; + list l3-vpn-rt-import-ipv6 { + description + "list of rt-imports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target import 300:5555 where 300:5555 is the id"; + } + } + } + } + container l3-vpn-rt-exports { + container export-ipv4 { + description + "ipv4 rt-exports for l3-instance"; + list l3-vpn-rt-export-ipv4 { + description + "list of rt-exports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target export 300:5555 where 300:5555 is the id"; + } + } + } + container export-ipv6 { + description + "ipv6 rt-exports for l3-instance"; + list l3-vpn-rt-export-ipv6 { + description + "list of rt-exports for this l3-instance"; + key "id"; + leaf id { + type ios-types:asn-ip-type; + description + "rt import e.g. route-target export 300:5555 where 300:5555 is the id"; + } + } + } + } + } + container vrf-lite-ics { + list vrf-lite-ic { + description + "vrf-lite ic interconnect"; + key "handoff-interface"; + leaf handoff-interface { + type string; + description + "Main interface name for border handoff"; + } + leaf handoff-dot1qtag { + type string; + description + "dot1q tag to use to tag traffic to peering devices"; + mandatory true; + } + leaf local-ipv4-address { + type inet:ipv4-address; + description + "ipv4 address for local interface"; + } + leaf local-ipv4-mask { + type inet:ipv4-address; + description + "ipv4 mask for local interface"; + } + leaf local-ipv6 { + type inet:ipv6-prefix; + description + "IPv6 prefix"; + } + leaf remote-as { + type uint32; + description + "as number for remote connected network"; + } + leaf remote-ipv4 { + type inet:ipv4-address; + description + "IP address of the connected router interface (neighbor)"; + } + leaf remote-ipv6 { + type inet:ipv6-address; + description + "IPv6 address of the connected router interface (neighbor) 10::2"; + } + } + } + container networks { + description + "list of network definitions to include in bgp address-family"; + container ipv4 { + description + "ipv4 networks for l3-instance"; + list ipv4-network { + description + "list of network definitions"; + key "network mask"; + leaf network { + type inet:ipv4-address; + description + "ipv4 address for statically defined network"; + } + leaf mask { + type inet:ipv4-address; + description + "ipv4 mask for statically defined network"; + } + } + } + container ipv6 { + description + "ipv6 networks for l3-instance"; + list ipv6-network { + description + "list of network definitions"; + key "prefix"; + leaf prefix { + type ios-types:ipv6-prefix; + description + "ipv6 prefix for statically defined network"; + } + } + } + } + container default-routes { + description + "optional default route for vrf"; + list default-route { + description + "list of default routes for l3-instance"; + key "prefix mask"; + leaf prefix { + type inet:ipv4-address; + description + "IPv4 address"; + } + leaf mask { + type inet:ipv4-address; + description + "IPv4 mask"; + } + list destination { + description + "default route destination"; + key "address"; + leaf address { + type inet:ipv4-address; + description + "IPv4 default route"; + } + } + } + } + } + } + } + + grouping evpn-l2-instances { + container l2-instances { + list l2-instance { + description + "evpn instance identifier"; + key "id"; + leaf id { + type uint32; + description + "Number used for the evpn instance and vlan"; + } + leaf evi-id { + type uint32; + description + "If evpn instance id is different from id (vlan number) in DIY configurations"; + } + leaf vrf-name { + type string; + description + "The vrf name provided by user."; + mandatory true; + } + leaf vlan-name { + type string; + description + "The vlan name provided by user."; + default "none"; + } + leaf vni-id { + type uint32; + description + "VNI number used for l2 instance"; + mandatory true; + } + leaf evpn-extension { + type boolean; + description + "True if evpn configuration extensions applied to l2-instances"; + } + leaf irb-gw-mode { + type enumeration { + enum DAG { + value 0; + description + "Distributed anycast gateway"; + } + enum CGW { + value 1; + description + "Centralized gateway"; + } + } + description + "DAG for distributed anycast gateway, CGW for centralized gateway"; + } + leaf suppression { + type boolean; + description + "suppress flooding for address resolution state"; + } + leaf mac-address { + type string; + description + "mac-address for the vlan defined for the l2-instance"; + } + leaf ipv4-address { + type inet:ipv4-address; + description + "IPv4 address subnet for L2 VNI use"; + } + leaf ipv4-mask { + type inet:ipv4-address; + description + "IPv4 address subnet mask for L2 VNI use"; + } + leaf ipv6-prefix { + type inet:ipv6-prefix; + description + "IPv6 address subnet for L2 VNI use"; + } + leaf route-distinguisher { + type ios-types:asn-ip-type; + description + "rt import"; + } + container route-target { + container import { + description + "rt-import for this l2-instance"; + leaf rt-value { + type ios-types:asn-ip-type; + description + "rt import"; + } + } + container export { + description + "rt-export for this l2-instance"; + leaf rt-value { + type ios-types:asn-ip-type; + description + "rt export"; + } + } + } + leaf unicast-replication { + type boolean; + description + "True enables unicast replication for the evpn control plane"; + } + leaf mcast-group { + type inet:ipv4-address; + description + "Multicast group address for replication"; + } + container dhcp-relay { + description + "l2-instance dhcp relay configurations"; + leaf ipv4-dhcp-helper { + type inet:ipv4-address; + description + "V4 dhcp helper address"; + } + leaf ipv6-dhcp-relay { + type inet:ipv6-address; + description + "V6 dhcp relay address"; + } + leaf ipv4-dhcp-global { + type inet:ipv4-address; + description + "V4 dhcp helper global address"; + } + leaf ipv6-dhcp-global { + type inet:ipv6-address; + description + "V6 dhcp relay global address"; + } + } + container access-interfaces { + list access-interface { + key "id"; + leaf id { + type string; + description + "Name of the access interface, e.g. GigabitEthernet1/0/1"; + } + leaf ap-access-node { + type boolean; + description + "true if AP is connected to access-node"; + } + } + } + container trunk-interfaces { + list trunk-interface { + key "id"; + leaf id { + type string; + description + "Name of trunk interface, e.g. GigabitEthernet1/0/1"; + } + } + } + } + } + } + + grouping evpn-config { + description + "Top-level grouping for evpn configuration."; + container evpn-config { + description + "Top container for evpn configuration."; + uses evpn-global; + uses evpn-l3-instances; + uses evpn-l2-instances; + } + } + + grouping evpn-top { + description + "Top-level grouping for evpn model."; + container evpn-service { + description + "Top most container for evpn management."; + uses evpn-config; + } + } + + uses evpn-top; +} diff --git a/vendor/cisco/xe/17151/cisco-ia.yang b/vendor/cisco/xe/17151/cisco-ia.yang new file mode 100644 index 000000000..232dd48de --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-ia.yang @@ -0,0 +1,1029 @@ +module cisco-ia { + namespace "http://cisco.com/yang/cisco-ia"; + prefix cisco-ia; + + import cisco-semver { + prefix cisco-semver; + } + import cisco-self-mgmt { + prefix cisco-sfm; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems"; + contact + ""; + description + "DMI self-management YANG module for IOS + Copyright (c) 2016, 2018-2019, 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "- Add syncing and syncs-pending to the is-syncing RPC"; + } + revision 2021-11-01 { + description + "- Update description of revert RPC + - Add netconf-session-id and current-time RPCs"; + reference + "TBD"; + } + revision 2019-11-19 { + description + "- Obsolete internal knob nodes of the cisco-ia model + - Add parser context to bad CLI detail"; + reference + "TBD"; + } + revision 2019-07-01 { + description + "- Establish semantic version baseline + - Deprecate SNMP configuration"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-08-03 { + description + "Add parser message blacklist capability"; + reference + "TBD"; + } + revision 2018-07-25 { + description + "Add pivot commands (for internal use only)."; + reference + "TBD"; + } + revision 2018-03-28 { + description + "Add parser response to error information for + bad cli"; + reference + "TBD"; + } + revision 2018-01-22 { + description + "Marked odm-log-level obsolete"; + reference + "TBD"; + } + revision 2017-03-02 { + description + "Remove unused RPCs"; + reference + "TBD"; + } + revision 2017-01-29 { + description + "Add the ability to query if a sync is in progress. + Add option to sync-from RPC to ignore preserve + paths."; + reference + "TBD"; + } + revision 2017-01-27 { + description + "Fix the SNMP community string Xpath to comply with new + confd 6.3.1 rule enforcement"; + reference + "TBD"; + } + revision 2017-01-12 { + description + "Change intelligent-sync default + to true"; + reference + "TBD"; + } + revision 2016-12-08 { + description + "Add extended error reporting"; + reference + "TBD"; + } + revision 2016-10-17 { + description + "Add preserve NED paths"; + reference + "TBD"; + } + revision 2016-10-04 { + description + "Add the ability to configure the SNMP community string + and remove the blocking container must clauses"; + reference + "TBD"; + } + revision 2016-08-22 { + description + "Add dmp-install RPC"; + reference + "TBD"; + } + revision 2016-06-30 { + description + "Add black list CLI lists, + correct formatting per IETF standard"; + reference + "TBD"; + } + revision 2016-05-20 { + description + "Fix intelligent-sync default and convert + leaf-lists into lists"; + reference + "TBD"; + } + revision 2016-05-16 { + description + "Add augment statement"; + reference + "TBD"; + } + revision 2016-05-13 { + description + "Change confd-cfg-blocking-enabled default + and odm-log-level type"; + reference + "TBD"; + } + revision 2016-05-09 { + description + "Add leaf for persistence checking"; + reference + "TBD"; + } + revision 2016-05-04 { + description + "Add tail-f annotations to boolean leaves"; + reference + "TBD"; + } + revision 2016-04-24 { + description + "Add dynamic PRC messages list, cleanup"; + reference + "TBD"; + } + revision 2016-04-22 { + description + "Increase parser msg ignore max elements"; + reference + "TBD"; + } + revision 2016-04-17 { + description + "Add container for snmp trap control, replacingbooleans for individual traps."; + reference + "TBD"; + } + revision 2016-04-07 { + description + "Update description with copyright notice."; + reference + "TBD"; + } + revision 2016-03-15 { + description + "Add intelligent sync control"; + reference + "TBD"; + } + + grouping cisco-ia-output { + description + "Used to return output from RPCs"; + leaf result { + type string; + description + "Output returned by the network element"; + } + } + + grouping sync-status { + description + "Yang management sync status"; + leaf syncing { + type boolean; + description + "Network element to the data store sync is in progress or not. + Configuration request through programmable interface may get rejected + when sync is in progress."; + } + leaf syncs-pending { + type boolean; + description + "Network element configurations need to be synced to the data store. + Do not configure network element through programmable interface + until all the pending configurations are synced to the data store."; + } + leaf running-datastore-locked { + type boolean; + description + "Running datastore is locked preventing syncs. + Sync will continue once lock is released."; + } + leaf candidate-datastore-locked { + type boolean; + description + "Either candidate datastore is locked preventing syncs. + Sync will continue once lock is released. + This value is returned only in candidate datastore mode."; + } + leaf candidate-datastore-dirty { + type boolean; + description + "Synchronization of the running configuration to the running + datastore is deferred because the candidate datastore is dirty. + Commit or discard the uncommitted configuration. + This value is returned only in candidate datastore mode."; + } + } + + typedef parser-msg-processing-method { + type enumeration { + enum blacklist { + value 0; + description + "Check all parser output against a set + of known errors and abort the transaction + if matched."; + } + enum whitelist { + value 1; + description + "Check all parser output against a set + of known messages to ignore and abort + the transaction if not matched."; + } + } + } + + typedef cia-sync-type { + type enumeration { + enum disabled { + value 0; + description + "Do no synchronize the DMI + database from the Network Element"; + } + enum without-defaults { + value 1; + description + "Collect \"show running\" from + the Network Element"; + } + enum include-defaults { + value 2; + description + "Collect \"show running all\" from + the Network Element"; + } + } + description + "Controls the elements sent to the DMI + database from the Network Element"; + } + + typedef cia-log-level { + type enumeration { + enum none { + value 0; + description + "No logging"; + } + enum error { + value 1; + description + "Log errors only"; + } + enum warning { + value 2; + description + "Log errors and warnings only"; + } + enum information { + value 3; + description + "Log errors, warnings, and information only"; + } + enum debug { + value 4; + description + "Log errors, warnings, information, + and debug messages"; + } + } + description + "Logging levels for DMI"; + } + + typedef onep-log-level { + type enumeration { + enum none { + value 0; + description + "No logging"; + } + enum fatal { + value 1; + description + "Log fatal events only"; + } + enum error { + value 2; + description + "Log fatal events and errors only"; + } + enum warning { + value 3; + description + "Log fatal events, errors, and warnings only"; + } + enum information { + value 4; + description + "Log fatal events, errors, warnings, + and information only"; + } + enum debug { + value 5; + description + "Log fatal events, errors, warnings, information, + and debug messages"; + } + enum trace { + value 6; + description + "Log all messages"; + } + } + description + "Logging levels for Onep"; + } + + typedef syslog-severity { + type enumeration { + enum none { + value 8; + description + "No logging"; + } + enum emergency { + value 0; + description + "Emergency Level Msg"; + } + enum alert { + value 1; + description + "Alert Level Msg"; + } + enum critical { + value 2; + description + "Critical Level Msg"; + } + enum error { + value 3; + description + "Error Level Msg"; + } + enum warning { + value 4; + description + "Warning Level Msg"; + } + enum notice { + value 5; + description + "Notification Level Msg"; + } + enum info { + value 6; + description + "Informational Level Msg"; + } + enum debug { + value 7; + description + "Debugging Level Msg"; + } + } + description + "Standard Syslog logging levels)"; + } + + rpc sync-from { + description + "Synchronize the network element's + running-configuration to ConfD."; + input { + leaf sync-defaults { + type empty; + description + "Sends the output of + \"show running all\" line + by line to Confd."; + } + leaf ignore-presrv-paths { + type empty; + description + "Sync everything under /native. + Ignore any preserve paths."; + } + } + output { + uses cisco-ia-output; + } + } + + rpc save-config { + description + "Copy the running-config to + startup-config on the Network + Element."; + output { + uses cisco-ia-output; + } + } + + rpc netconf-session-id { + description + "Returns device-assigned netconf session id for the + netconf session in which this RPC is invoked."; + output { + uses cisco-ia-output; + } + } + + rpc current-time { + description + "Returns current time on device."; + output { + uses cisco-ia-output; + } + } + + rpc is-syncing { + description + "Checks to see if sync from the + network element to the running data store + is in progress."; + output { + uses cisco-ia-output; + uses sync-status; + } + } + + rpc checkpoint { + description + "Create a configuration rollback checkpoint. + Equivalent to the \"archive config\" CLI"; + output { + uses cisco-ia-output; + } + } + + rpc revert { + description + "Cancel the timed rollback and trigger the + rollback immediately, or to reset parameters + for the timed rollback. If no input parameters + are supplied, the timed rollback is cancelled + and rollback is triggered immediately"; + input { + leaf now { + type empty; + description + "To cancel the timed rollback and + trigger the rollback immediately"; + } + leaf timer { + type int16 { + range "1..120"; + } + description + "Reset parameters for the timed rollback"; + } + leaf idle { + type int16 { + range "1..120"; + } + description + "Maximum allowable time period of no activity + before reverting to the saved configuration."; + } + } + output { + uses cisco-ia-output; + } + } + + rpc rollback { + description + "Replaces the current running configuration + file with a saved Cisco IOS XE configuration file."; + input { + leaf target-url { + type string; + mandatory true; + description + "Cisco IOS XE configuration file that is to + replace the current running configuration"; + } + leaf verbose { + type boolean; + default "false"; + description + "Display a list of the command lines applied by + the Cisco IOS XE software parser during each pass + of the configuration replace operation. The total + number of passes performed is also displayed."; + } + leaf nolock { + type boolean; + default "false"; + description + "Disables the locking of the running + configuration file that prevents other users + from changing the running configuration + during a configuration replace operation."; + } + leaf revert-on-error { + type empty; + description + "Reverts to the original configuration upon + error."; + } + leaf revert-timer { + type int16 { + range "1..120"; + } + description + "Reverts to the original configuration if + specified time elapses."; + } + } + output { + uses cisco-ia-output; + } + } + + augment "/cisco-sfm:netconf-yang" { + description + "DMI self-management"; + container cisco-ia { + description + "Customize the behavior of the DMI applications"; + leaf auto-sync { + status obsolete; + type cia-sync-type; + default "without-defaults"; + description + "Enables automatic synchronization of the network element's + running configuration with the DMI database."; + } + leaf init-sync { + status obsolete; + type cia-sync-type; + default "without-defaults"; + description + "Enables synchronization of the network element's + running configuration with the DMI database when + DMI initializes."; + } + leaf intelligent-sync { + status obsolete; + type boolean; + default "true"; + description + "When enabled, intelligent-sync monitors all + ttys for configuration changes and replays + these changes to the DMI database once the + tty exits configuration mode. When + disabled, the complete running-configuration + is used to synchronize the DMI database + whenever a CLI configuration change is + detected"; + } + container snmp-trap-control { + status deprecated; + description + "This container describes the configuration parameters + for SNMP Trap to NetConf notification processing."; + leaf global-forwarding { + status deprecated; + type boolean; + default "true"; + description + "This leaf enables or disables forwarding + for all SNMP traps."; + } + list trap-list { + key "trap-oid"; + max-elements 10; + status deprecated; + description + "This list describes SNMP Traps that are + supported for automatic translation to NetConf + notifications."; + leaf trap-oid { + type yang:object-identifier-128; + status deprecated; + description + "This leaf contains the OID for the + SNMP trap to be forwarded."; + } + leaf description { + type string; + status deprecated; + description + "This leaf contains the name of the SNMP trap to be + forwarded."; + } + leaf forward { + type boolean; + default "true"; + status deprecated; + description + "This leaf enables or disables forwarding for this + SNMP trap."; + } + } + } + leaf message-diag-level { + status obsolete; + type int16 { + range "0..3"; + } + default "0"; + description + "0 = Disabled, + 1 = Save input message, DMI debugs, and response, + 2 = Level 1 + Save \"before\" and \"after\" + running-config, + 3 = Level 2 + rollback file and configuration diff"; + } + leaf max-diag-messages-saved { + status obsolete; + type int16 { + range "0..199"; + } + default "30"; + description + "The maximum number of messages whose diagnostic data + in kept in persistent storage."; + } + leaf post-sync-acl-process { + status obsolete; + type boolean; + default "true"; + description + "Run \"show ip access-list\" and send to ConfD"; + } + leaf config-change-delay { + status obsolete; + type int16; + default "0"; + description + "Delay in ms before applying CDB change to NE"; + } + leaf process-missing-prc { + type boolean; + status obsolete; + default "true"; + description + "Process any parser output from configuration changes + as a possible error."; + } + leaf missing-prc-method { + type parser-msg-processing-method; + status obsolete; + default "blacklist"; + description + "Process any parser output from configuration changes + and compare against either a known set of errors + (blacklist) or a known set of messages to ignore + (whitelist)"; + } + leaf snmp-community-string { + type string; + default "private"; + description + "The community string for communication with the SNMP + agent"; + } + leaf preserve-paths-enabled { + status obsolete; + type boolean; + default "false"; + description + "Preserve specified model paths in the NED model + when performing a sync from the + network element."; + } + list preserve-ned-path { + status obsolete; + key "xpath"; + max-elements 50; + description + "Model paths from the NED model to preserve + upon a sync from the network element. + These paths are not cleared from the + running data store prior to the sync. + These are expressed as nodes separated by + slash '/', e.g. /native/ip/access-list"; + leaf xpath { + type string { + length "1..1024"; + } + description + "An XPath from the NED model."; + } + } + list parser-msg-ignore { + key "message"; + config false; + description + "Parser output from configuration + change that is informational only, + not an error. This is a read only + list containing known informational + messages"; + leaf message { + type string { + length "1..255"; + } + description + "A regular expression to match parser + output to be ignored"; + } + } + list conf-parser-msg-ignore { + status obsolete; + key "message"; + description + "Parser output from configuration + change that is informational only, + not an error"; + leaf message { + type string { + length "1..255"; + } + description + "A regular expression to match parser + output to be ignored"; + } + } + list parser-msg-error { + key "message"; + config false; + description + "Parser output from configuration + change that indicates an error + that cannot be ignored (must abort + the transaction). This is a read only + list containing known error messages."; + leaf message { + type string { + length "1..255"; + } + description + "A regular expression to match parser + output to be considered an error."; + } + } + list conf-parser-msg-error { + status obsolete; + key "message"; + description + "Parser output from configuration + change that indicates an error + that cannot be ignored (must abort + the transaction)."; + leaf message { + type string { + length "1..255"; + } + description + "A regular expression to match parser + output to be considered an error"; + } + } + list full-sync-cli { + key "command"; + config false; + max-elements 200; + description + "IOS commands that result in other + automatic configurations being applied + for which a complete sync is required"; + leaf command { + type string { + length "1..255"; + } + description + "A regular expression matching command + lines which cause other automatic + configuration changes"; + } + } + list conf-full-sync-cli { + status obsolete; + key "command"; + max-elements 50; + description + "A user-configurable list of IOS commands + that result in other automatic configurations + being applied for which a complete sync + is required"; + leaf command { + type string { + length "1..255"; + } + description + "A regular expression matching command + lines which cause other automatic + configuration changes"; + } + } + leaf nes-ttynum { + status obsolete; + type int16; + config false; + description + "TTY number used by NetworkElementSynchronizer"; + } + leaf restored { + status obsolete; + type boolean; + default "false"; + description + "Indicates if CDB restored from NES running-config"; + } + container logging { + status obsolete; + description + "Controls logging behavior of DMI applications"; + leaf confd-log-level { + status obsolete; + type syslog-severity; + default "error"; + description + "Logging level for Confd"; + } + leaf ciaauthd-log-level { + status obsolete; + type cia-log-level; + default "error"; + description + "Logging level for CiaAuthDaemon"; + } + leaf nes-log-level { + status obsolete; + type cia-log-level; + default "error"; + description + "Logging level for Network Element Synchronizer"; + } + leaf onep-log-level { + status obsolete; + type onep-log-level; + default "error"; + description + "Logging level for ONEP"; + } + leaf odm-log-level { + status obsolete; + type cia-log-level; + default "error"; + description + "Logging level for + Operational Data Manager"; + } + leaf sync-log-level { + status obsolete; + type cia-log-level; + default "error"; + description + "Logging level for Sync-From Daemon"; + } + } + container blocking { + status obsolete; + description + "Controls blocking of command lines, either + from the NE to Confd or disallowing + manual input from the console/vty"; + leaf cli-blocking-enabled { + status obsolete; + type boolean; + default "false"; + description + "Enables blocking of designated command lines via the + network element's CLI"; + } + list network-element-command { + status obsolete; + key "command"; + max-elements 30; + description + "Command line pattern to disallow via the + network element's CLI"; + leaf command { + status obsolete; + type string { + length "1..255"; + } + description + "A regular expression matching command + lines which should be blocked from + entry via console/vty"; + } + } + leaf confd-cfg-blocking-enabled { + status obsolete; + type boolean; + default "true"; + description + "Enables blocking of designated command lines via the + network element's CLI"; + } + list confd-cfg-command { + status obsolete; + key "command"; + max-elements 50; + description + "Command line pattern to omit syncing to Confd CDB"; + leaf command { + status obsolete; + type string; + description + "A regular expression matching command + lines which should be blocked from + being sent to Confd from the network + element"; + } + } + } + container pivot-commands { + description + "WARNING: These configuration commands should not be used unless + directed to by Cisco. + Some IOS configuration commands may have a vitally important + relationship to other IOS configuration commands. + These so called pivotal commands have to be handled as an + execption to the normal processing flow. The pivotal commands + and their special handling actions are described in this list."; + grouping pivot-command-grouping { + leaf command { + type string { + length "1 .. 255"; + } + description + "The command prefix to match. Leading spaces are + counted towards the match."; + } + container retry { + presence "The pivot command will be retried if it fails."; + description + "Whether or not the command will be retried if it + fails and associated parameters."; + leaf min-retry-time { + type uint16 { + range "10 .. 60000"; + } + units "milliseconds"; + description + "The minimum time to wait before retrying a failed + command."; + } + leaf max-retry-time { + type uint16 { + range "10 .. 60000"; + } + units "milliseconds"; + description + "The maximum time to wait before retrying a failed + command. Commands that continue to fail after + having waited this amount of time are considered to + have permanently failed."; + } + } + } + + list pivot-command { + key "command"; + config false; + description + "Static list of pivot commands."; + uses pivot-command-grouping; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-ospf.yang b/vendor/cisco/xe/17151/cisco-ospf.yang new file mode 100644 index 000000000..aad2a6a2e --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-ospf.yang @@ -0,0 +1,1009 @@ +module cisco-ospf { + namespace "urn:ietf:params:xml:ns:yang:cisco-ospf"; + prefix cisco-ospf; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import ietf-routing { + prefix rt; + } + import ietf-ospf { + prefix ospf; + } + + organization + "Cisco Systems + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA"; + contact + "Author: Manish Gupta + "; + description + "This YANG module defines the Cisco OSPF common + yang model + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-03-30 { + description + "Update description with copyright notice."; + } + revision 2015-05-19 { + description + "Comments addressed"; + reference + "ietf-ospf.yang"; + } + revision 2015-05-07 { + description + "Initial revision."; + reference + "ietf-ospf.yang"; + } + + typedef ospf-external-type { + type enumeration { + enum 1 { + description + "type 1"; + } + enum 2 { + description + "type 2"; + } + } + description + "external route types"; + } + + typedef access-list-standard-id-type { + type union { + type default-access-list-standard-id-type; + type string; + } + description + "WORD;;Standard access-list name"; + } + + typedef default-access-list-standard-id-type { + type union { + type uint8 { + range "1..99"; + } + type uint16 { + range "1300..1999"; + } + } + description + "IP Standard/Expanded access list number"; + } + + typedef uint32_max { + type uint32 { + range "0..4294967295"; + } + description + "32-bit unsigned integer range."; + } + + typedef uint16_max { + type uint16 { + range "1 .. 65535"; + } + description + "16-bit unsigned integer range"; + } + + typedef uint8_max { + type uint8 { + range "1 .. 255"; + } + description + "8-bit unsigned integer range"; + } + + typedef delay_range { + type uint32 { + range "0..600000"; + } + description + "defintion for timer range"; + } + + typedef access-list-in-out-type { + type enumeration { + enum in { + description + "Filter incoming routing updates"; + } + enum out { + description + "Filter outgoing routing updates"; + } + } + description + "Access list in and out"; + } + + typedef prefix-applicability { + type enumeration { + enum protected { + value 1; + description + "Protected prefixes only"; + } + enum all { + value 2; + description + "All prefixes"; + } + } + description + "Ospf uloop avoidance"; + } + + typedef process-id-or-name { + type union { + type uint16_max; + type string; + } + description + "Process ID or Name."; + } + + typedef ospf-log-adj { + type enumeration { + enum enable { + value 0; + description + "Enable log adjacency brief"; + } + enum detail { + value 1; + description + "Enable log adjcency detail"; + } + enum disable { + value 2; + description + "disable log adjacency"; + } + } + description + "Ospf log adjacency changes"; + } + + feature graceful-shutdown { + description + "graceful-shutdown feature currently + present in XR os"; + } + + feature database-filter { + description + "database-filter feature currently + present in XR os"; + } + + feature flood-reduction { + description + "flood-reduction feature currently + present in XR os"; + } + + grouping default-information { + description + "Common node of default-vrf, vrf"; + container default-information { + description + "Control distribution of default information"; + container originate { + presence "Originate a default route"; + leaf always-advertise { + type boolean; + default "false"; + description + "Always advertise default route"; + } + leaf metric { + type ospf:uint24; + default "1"; + description + "OSPF metric"; + } + leaf metric-type { + type ospf-external-type; + default "2"; + description + "OSPF External metric type"; + } + leaf route-map { + type string; + description + "Routing policy or route-map name"; + } + description + "Distribute a default route"; + } + } + } + + grouping default-metric { + description + "Common node of default-vrf, vrf"; + container default-metric { + description + "OSPF default metric"; + leaf default-metric { + type ospf:uint24; + default "1"; + description + "Default metric of redistributed routes"; + } + } + } + + grouping log-adjacency-changes { + description + "Common node of default-vrf, vrf"; + container log-adjacency-changes { + leaf adjacency-changes { + type ospf-log-adj; + description + "Log adjacecny state changes"; + } + description + "Log adjacency changes"; + } + } + + grouping summary-prefixes { + description + "Common node of default-vrf, vrf"; + container summary-prefixes { + description + "Configure IP address summaries"; + list summary-prefix { + key "prefix"; + leaf prefix { + type inet:ip-prefix; + description + "IPv4 or IPv6 prefix"; + } + description + "Summarize redistributed routes + matching prefix/length"; + choice not-advertise-or-tag { + description + "Either NSSA or tag id"; + case tag-nssa-only { + leaf nssa-only { + type empty; + description + "Limit summary to NSSA areas"; + } + leaf tag { + type uint32_max; + description + "32-bit tag value"; + } + } + case not-advertise { + leaf not-advertise { + type boolean; + description + "Do not advertise when translating + OSPF type-7 LSA"; + } + } + } + } + } + } + + grouping graceful-shutdown-timers { + description + "Common node of default-vrf, vrf"; + container graceful-shutdown { + if-feature "graceful-shutdown"; + description + "Timers for graceful shutdown"; + leaf initial-delay { + type uint32 { + range "0 .. 90"; + } + units "seconds"; + default "5"; + description + "OSPF Delay before starting graceful shutdown"; + } + leaf retain-routes { + type uint32 { + range "0 .. 90"; + } + units "seconds"; + default "5"; + description + "Time to keep routes active after graceful shutdown"; + } + } + } + + grouping timer-lsa { + container lsa { + description + "OSPF LSA timers"; + uses throttle-timers; + leaf arrival { + type delay_range; + units "millisecond"; + default "1000"; + description + "The minimum interval in milliseconds + between accepting the same LSA arrival timer"; + } + leaf group-pacing { + type uint32 { + range "10 .. 1800"; + } + units "seconds"; + default "240"; + description + "OSPF LSA group pacing timer"; + } + leaf refresh { + type uint32 { + range "1800 .. 2700"; + } + units "seconds"; + default "1800"; + description + "How often self-originated LSAs should + be refreshed, in seconds"; + } + leaf flood { + type uint32 { + range "5 .. 100"; + } + units "millisecond"; + default "33"; + description + "OSPF flood pacing timer"; + } + leaf retransmission { + type uint32 { + range "5 .. 200"; + } + units "millisecond"; + default "66"; + description + "OSPF retransmission pacing timer"; + } + } + description + "OSPF LSA timer"; + } + + grouping throttle-timers { + description + "lsa spf throttle timer configurations"; + container throttle-timers { + description + "timers value"; + leaf init-delay { + type delay_range; + units "millisecond"; + description + "Delay between receiving a change to SPF or LSA + calculation in milliseconds"; + } + leaf min-delay { + type delay_range; + units "millisecond"; + description + "Delay between first and second SPF or LSA + calculation in milliseconds"; + } + leaf max-delay { + type delay_range; + units "millisecond"; + description + "Maximum wait time in milliseconds + for SPF or LSA calculations"; + } + } + } + + grouping discard-route { + description + "Discard route configuration"; + container discard-route { + presence "Enable or disable discard-route installation"; + leaf external { + type empty; + description + "Discard route for redistributed summarised routes"; + } + leaf external-admin-distance { + type uint8_max; + default "254"; + description + "admin distance value for external routes"; + } + leaf internal { + type empty; + description + "Discard route for summarised internal routes"; + } + leaf internal-admin-distance { + type uint8_max; + default "110"; + description + "admin distance value for internal routes"; + } + description + "Enable or disable discard-route installation"; + } + } + + grouping max-metric { + description + "Common node of default-vrf, vrf"; + container max-metric { + description + "Set maximum metric configuration"; + container on-proc-restart { + description + "Set maximum metric on-proc-restart configuration"; + uses wait-for-bgp-or-time; + uses max-metric-lsa-option; + } + container on-startup { + description + "Set maximum metric on-startup configuration"; + uses wait-for-bgp-or-time; + uses max-metric-lsa-option; + } + container on-proc-migration { + description + "Set maximum metric on-proc-migration configuration"; + uses wait-for-bgp-or-time; + uses max-metric-lsa-option; + } + container always { + description + "Set maximum metric always configuration"; + uses max-metric-lsa-option; + } + container on-switchover { + description + "Set maximum metric on-switchover configuration"; + uses wait-for-bgp-or-time; + uses max-metric-lsa-option; + } + } + } + + grouping wait-for-bgp-or-time { + description + "wait for bgp or time"; + choice lsa-grouping { + description + " Options of LSA"; + case wait-for-bgp { + leaf wait-for-bgp { + type boolean; + description + "Till BGP converge originate router-LSA + with max metric"; + } + } + case time { + leaf time { + type uint32 { + range "5..86400"; + } + units "second"; + description + "Till how much time originate router-LSA + with max-metric"; + } + } + } + } + + grouping max-metric-lsa-option { + description + "max metric option"; + container max-metric-options { + description + "max metric options"; + leaf include-stub { + type boolean; + description + "Set maximum metric for stub links in router-LSAs"; + } + leaf summary-lsa { + type boolean; + description + "Override summary-lsa metric with max-metric value"; + } + leaf summary-lsa-metric { + type ospf:uint24; + description + "Overriding metric in summary-LSAs (default 16711680)"; + } + leaf external-lsa { + type boolean; + description + "Override external-lsa metric with max-metric value"; + } + leaf external-lsa-metric { + type ospf:uint24; + description + "Overriding metric in external-LSAs (default 16711680)"; + } + } + } + + grouping microloop-avoidance { + description + "Common node of default-vrf, vrf"; + container microloop-avoidance { + description + "Microloop avoidance configuration"; + leaf enable { + type prefix-applicability; + default "all"; + description + "Type of prefixes for which to avoid microloops"; + } + leaf disable { + type empty; + description + "disable microloop avoidance"; + } + leaf rib-update-delay { + type ospf:uint24; + units "millisecond"; + default "5000"; + description + "Delay to introduce between SPF and RIB update in msecs"; + } + } + } + + grouping redistribute-ospf-match { + description + "Redistribution OSPF route options"; + container match { + description + "Redistribution of OSPF routes"; + leaf internal { + type empty; + description + "Redistribute OSPF internal routes"; + } + container external { + presence "Redistribute OSPF external routes"; + leaf external-routes { + type ospf-external-type; + description + "Redistribute OSPF external routes"; + } + description + "Redistribute OSPF external routes"; + } + container nssa-external { + presence "Redistribute OSPF NSSA external routes"; + leaf nssa-external-routes { + type ospf-external-type; + description + "NSSA external routes"; + } + description + "Redistribute OSPF NSSA external routes"; + } + } + } + + grouping redistribution { + description + "Common node of default-vrf, vrf"; + container redistribution { + description + "redistribute other routing protocols inside ospf"; + container maximum-prefix { + presence "Maximum prefix to redistribute"; + description + "Maximum number of prefixes redistributed to protocol"; + leaf IP-prefixes { + type uint32_max; + description + "Maximum number of IP prefixes redistributed"; + } + leaf Threshold-value { + type uint32 { + range "1..100"; + } + description + "Threshold value (%) at which + to generate a warning msg"; + } + leaf warning-only { + type empty; + description + "Only give warning message when limit is exceeded"; + } + } + container bgp { + description + "Border Gateway Protocol (BGP)"; + list bgp-protocol { + key "as-number"; + leaf as-number { + type uint32_max; + description + "Autonomous system number"; + } + uses redist-option-grouping; + description + "Border Gateway Protocol (BGP)"; + } + } + container eigrp { + description + "Enhanced Interior Gateway Routing Protocol + (EIGRP)"; + list eigrp-protocol { + key "as-number"; + leaf as-number { + type uint16_max; + description + "Autonomous system number"; + } + uses redist-option-grouping; + description + "Enhanced Interior Gateway + Routing Protocol (EIGRP)"; + } + } + container isis { + description + "ISO IS-IS"; + list isis-protocol { + key "process-name"; + leaf process-name { + type string; + description + "instance name"; + } + uses redistribute-isis-grouping; + uses redist-option-grouping; + description + "Intermediate system intermediate system (ISIS)"; + } + } + container applications { + description + "Application"; + list application { + key "application-name"; + leaf application-name { + type string; + description + "application name"; + } + uses redist-option-grouping; + description + "Application routes"; + } + } + container ospf { + description + "Open Shortest Path First (OSPF)"; + list ospf { + key "id-or-name"; + leaf id-or-name { + type process-id-or-name; + description + "Process id or Name"; + } + uses redistribute-ospf-match; + uses redist-option-grouping; + description + "Open Shortest Path First (OSPF)"; + } + } + container rip { + presence "rip routes"; + description + "rip routes"; + uses redist-option-grouping; + } + container static { + presence "Static routes"; + description + "Static routes"; + uses redist-option-grouping; + } + container subscriber { + presence "Subscriber routes"; + description + "Subscriber routes"; + uses redist-option-grouping; + } + container connected { + presence "connected routes"; + description + "Connected routes"; + uses redist-option-grouping; + } + } + } + + grouping redist-option-grouping { + description + "Metric route map configuarion"; + container redist-option { + description + "Redist options"; + leaf metric { + type ospf:uint24; + description + "Default metric"; + } + leaf metric-type { + type uint32 { + range "1..2"; + } + description + "Set OSPF External Type metrics"; + } + leaf tag { + type uint32_max; + description + " Set tag for routes redistributed into OSPF"; + } + leaf nssa-only { + type empty; + description + "Limit redistributed routes to NSSA areas"; + } + leaf route-map { + type string; + description + "Routing policy or route-map name"; + } + } + } + + grouping redistribute-isis-grouping { + description + "Configuration of Redistribute IS-IS"; + choice isis-levels { + description + "Options for IS-IS routes"; + case level-1 { + leaf level-1 { + type empty; + description + "IS-IS level-1 routes only"; + } + } + case level-2 { + leaf level-2 { + type empty; + description + "IS-IS level-2 routes only"; + } + } + case level-1-2 { + leaf level-1-2 { + type empty; + description + "IS-IS level-1 and level-2 routes"; + } + } + } + } + + grouping database-filter { + description + "Common node of process-scope, area-scope, + interface-scope"; + container database-filter { + if-feature "database-filter"; + description + "Filter OSPF LSA during synchronization and flooding"; + leaf all-out { + type boolean; + default "false"; + description + "Filter all Outgoing LSA"; + } + } + } + + grouping flood-reduction { + description + "Common node of process-scope, area-scope, name-scope"; + container flood-reduction { + description + "OSPF Flood Reduction"; + leaf flood-reduction { + if-feature "flood-reduction"; + type boolean; + default "false"; + description + "Enable OSPF flood reduction"; + } + } + } + + grouping ignore-lsa { + description + "Common node of default-vrf, vrf"; + container ignore-lsa { + description + "Do not complain upon receiving LSA of the + specified type"; + leaf mospf { + type empty; + description + "Ignore Type 6 LSAs"; + } + } + } + + grouping distance-ip { + description + "Grouping for Admin Distance"; + container ospf-distance { + description + "configuration of Admin Distance"; + leaf distance { + type uint32 { + range "1 .. 255"; + } + description + "<1-255>;;OSPF Administrative distance"; + } + leaf ip { + type inet:ipv4-address; + description + "A.B.C.D;;IP source address"; + } + leaf wildcard { + type inet:ipv4-address; + description + "A.B.C.D;;Wildcard bits"; + } + leaf acl-name { + type access-list-standard-id-type; + description + "standard acl"; + } + } + } + + grouping max-lsa { + description + "Grouping for Max-LSA"; + container max-lsa-options { + description + "Option of Max-LSA"; + leaf threshold-value { + type uint32 { + range "1 .. 100"; + } + description + "<1-100> Threshold value (%) at which + to generate a warning msg"; + } + leaf ignore-count { + type uint32 { + range "1 .. 65534"; + } + description + "<1-65534> count on how many times + adjacencies can be suppressed"; + } + leaf ignore-time { + type uint32 { + range "1 .. 17895"; + } + description + "<1-17895> number of minutes during which + all adjacencies are suppressed"; + } + leaf reset-time { + type uint32 { + range "2 .. 35791"; + } + description + "<2-35791> number of minutes after which + ignore-count is reset to zero"; + } + leaf warning-only { + type empty; + description + "Only give warning message when + limit is exceeded"; + } + } + } + + grouping if-shutdown { + description + "interface shutdown"; + container shutdown { + presence "shut down the interface"; + leaf disable { + type empty; + description + "Disable inherited shutdown"; + } + description + "Shut down the interface in OSPFv3"; + } + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance" { + description + "OSPF router configuration"; + uses default-information; + uses default-metric; + uses log-adjacency-changes; + uses summary-prefixes; + uses graceful-shutdown-timers; + uses redistribution; + uses discard-route; + uses microloop-avoidance; + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface" { + description + "OSPF interface configuration"; + uses database-filter; + uses flood-reduction; + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:admin-distance" { + description + "OSPF Admin Distance configuration"; + uses distance-ip; + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:spf-control" { + description + "OSPF SPF control configuration"; + uses throttle-timers; + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:reload-control" { + description + "OSPF reload control configuration"; + uses max-metric; + } + + augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:database-control" { + description + "OSPF Database control configuration"; + uses max-lsa; + uses database-filter; + uses flood-reduction; + uses ignore-lsa; + uses timer-lsa; + } +} diff --git a/vendor/cisco/xe/17151/cisco-policy-filters.yang b/vendor/cisco/xe/17151/cisco-policy-filters.yang new file mode 100644 index 000000000..32e82f00d --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-policy-filters.yang @@ -0,0 +1,602 @@ +module cisco-policy-filters { + namespace "urn:ietf:params:xml:ns:yang:cisco-policy-filters"; + prefix cisco-filter; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-diffserv-classifier { + prefix classifier; + } + import policy-attr { + prefix policy-attr; + } + import policy-types { + prefix policy-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com + + Editor: Nazanin Magharei + "; + description + "This module contains a collection of YANG definitions + extending classmap module based on IETF-diffserv classifier. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-03-30 { + description + "Update description with copyright notice."; + } + revision 2015-04-27 { + description + "First revision"; + reference + "TBD"; + } + + augment "/classifier:classifiers/classifier:classifier-entry" { + description + "Augment class type to Diffserv Classifier Entry"; + leaf classifier-entry-type { + type identityref { + base policy-types:class-type; + } + description + "Type of the class-map"; + } + } + + augment "/classifier:classifiers/classifier:classifier-entry/classifier:filter-entry/classifier:filter-param" { + description + "Augment Cisco policy filters to Diffserv Classifier Entry"; + case cos { + if-feature "policy-types:match-cos-support"; + container cos-cfgs { + list cos-cfg { + must 'cos-min <= cos-max' { + description + "The configuration is a range, + for individual values min and max should + be equal."; + } + key "cos-min cos-max"; + uses policy-attr:cos-cfg; + description + "Match Type COS configuration"; + } + } + } + case cos-inner-filter { + if-feature "policy-types:match-cos-inner-support"; + container cos-inner-cfgs { + list cos-inner-cfg { + must 'cos-min <= cos-min' { + description + "The configuration is a range, + for individual values min and max should + be equal."; + } + key "cos-min cos-max"; + uses policy-attr:cos-cfg; + description + "Match Type COS-INNER configuration"; + } + description + "Match Type COS-INNER"; + } + } + case ipv4-acl-name-filter { + if-feature "policy-types:match-ipv4-acl-name-support"; + container ipv4-acl-name-cfgs { + list ipv4-acl-name-cfg { + key "ip-acl-name"; + uses policy-attr:ip-acl-name-cfg; + description + "Match IPv4 Access-list name + configuration"; + } + description + "Match IPv4 Access-list name"; + } + } + case ipv6-acl-name-filter { + if-feature "policy-types:match-ipv6-acl-name-support"; + container ipv6-acl-name-cfgs { + list ipv6-acl-name-cfg { + key "ip-acl-name"; + uses policy-attr:ip-acl-name-cfg; + description + "Match IPv6 Access-list name + configuration"; + } + description + "Match IPv6 Access-list name"; + } + } + case ipv4-acl-filter { + if-feature "policy-types:match-ipv4-acl-support"; + container ipv4-acl-cfgs { + list ipv4-acl-cfg { + key "ip-acl"; + uses policy-attr:ip-acl-cfg; + description + "Match IPv4 Access-list number + configuration"; + } + description + "Match IPv4 Access-list number"; + } + } + case ipv6-acl-filter { + if-feature "policy-types:match-ipv6-acl-support"; + container ipv6-acl-cfgs { + list ipv6-acl-cfg { + key "ip-acl"; + uses policy-attr:ip-acl-cfg; + description + "Match IPv6 Access-list number + configuration"; + } + description + "Match IPv6 Access-list number"; + } + } + case input-interface { + if-feature "policy-types:match-input-interface-support"; + container input-interface-cfgs { + list input-interface-cfg { + key "if-name"; + uses policy-attr:input-interface-cfg; + description + "Match type Input interface + configuration"; + } + description + "Match type Input interface"; + } + } + case src-mac { + if-feature "policy-types:match-src-mac-support"; + container src-mac-cfgs { + list src-mac-cfg { + key "mac"; + uses policy-attr:mac-cfg; + description + "Match Type Source MAC Address + configuration"; + } + description + "Match Type Source MAC Address"; + } + } + case dst-mac { + if-feature "policy-types:match-dst-mac-support"; + container dst-mac-cfgs { + list dst-mac-cfg { + key "mac"; + uses policy-attr:mac-cfg; + description + "Match Type Destination MAC Address + configuration"; + } + description + "Match Type Destination MAC Address"; + } + } + case protocol-name { + if-feature "policy-types:protocol-name-support"; + container protocol-name-cfgs { + list protocol-name-cfg { + key "protocol-name"; + uses policy-attr:protocol-name-cfg; + description + "Match Type name-based protocol + configuration"; + } + description + "Match Type name-based protocol"; + } + } + case mpls-exp-top { + if-feature "policy-types:match-mpls-exp-top-support"; + container mpls-exp-top-cfgs { + list mpls-exp-top-cfg { + must 'exp-min <= exp-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "exp-min exp-max"; + uses policy-attr:mpls-exp-cfg; + description + "Match MPLS experimental Topmost + configuration"; + } + description + "Match MPLS experimental Topmost"; + } + } + case mpls-exp-imp { + if-feature "policy-types:match-mpls-exp-imp-support"; + container mpls-exp-imp-cfgs { + list mpls-exp-imp-cfg { + must 'exp-min <= exp-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "exp-min exp-max"; + uses policy-attr:mpls-exp-cfg; + description + "Match MPLS experimental Imposition + configuration"; + } + description + "Match MPLS experimental Imposition"; + } + } + case packet-length { + if-feature "policy-types:match-packet-length-support"; + container pkt-len-cfgs { + list pkt-len-cfg { + must 'min-pkt-len <= max-pkt-len' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "min-pkt-len max-pkt-len"; + uses policy-attr:pkt-len-cfg; + description + "Match Type Packet Length + configuration"; + } + description + "Match Type Packet Length"; + } + } + case prec { + if-feature "policy-types:match-prec-support"; + container prec { + choice prec-par { + case prec-value { + container prec-val-cfgs { + list prec-val-cfg { + key "prec-val"; + uses policy-attr:prec-val-cfg; + description + "Match Type Precedence + based on value configuration"; + } + description + "Match Type Precedence + based on value"; + } + } + case prec-attr { + container prec-attr-cfgs { + list prec-attr-cfg { + key "prec-attr"; + uses policy-attr:prec-attr-cfg; + description + "Match Type Precedence + based on attribute configuration"; + } + description + "Match Type Precedence + based on attribute"; + } + } + description + "Match Type Precedence in + IPv4 and IPv6 packets based on value or attribute"; + } + description + "Match Type Precedence in + IPv4 and IPv6 packets"; + } + } + case qos-group { + if-feature "policy-types:match-qos-group-support"; + container qos-group-cfgs { + list qos-group-cfg { + must 'qos-group-min<=qos-group-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "qos-group-min qos-group-max"; + uses policy-attr:qos-group-cfg; + description + "Match Type QoS Group configuration"; + } + description + "Match Type QoS Group"; + } + } + case vlan { + if-feature "policy-types:match-vlan-support"; + container vlan-cfgs { + list vlan-cfg { + must 'vlan-min<=vlan-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "vlan-min vlan-max"; + uses policy-attr:vlan-cfg; + description + "Match Type VLAN configuration"; + } + description + "Match Type VLAN"; + } + } + case vlan-inner { + if-feature "policy-types:match-vlan-inner-support"; + container vlan-inner-cfgs { + list vlan-inner-cfg { + must 'vlan-min<=vlan-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "vlan-min vlan-max"; + uses policy-attr:vlan-cfg; + description + "Match Type Inner VLAN + configuration"; + } + description + "Match Type Inner VLAN"; + } + } + case atm-clp { + if-feature "policy-types:match-atm-clp-support"; + container atm-clp-cfg { + uses policy-attr:atm-clp-cfg; + description + "Match ATM Cell Loss Priority (CLP)"; + } + } + case atm-vci { + if-feature "policy-types:match-atm-vci-support"; + container atm-vci-cfgs { + list atm-vci-cfg { + must 'atm-vci-min<=atm-vci-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "atm-vci-min atm-vci-max"; + uses policy-attr:atm-vci-cfg; + description + "Match ATM Virtual Channel + Identifier (VCI) configuration"; + } + description + "Match ATM Virtual Channel Identifier + (VCI)"; + } + } + case dei { + if-feature "policy-types:match-dei-support"; + container dei-cfg { + uses policy-attr:dei-cfg; + description + "Match Type DEI Bit configuration"; + } + } + case dei-inner { + if-feature "policy-types:match-dei-inner-support"; + container dei-inner-cfg { + uses policy-attr:dei-cfg; + description + "Match Type Inner DEI Bit"; + } + } + case flow-ip { + if-feature "policy-types:match-flow-ip-support"; + container flow-ip-cfg { + uses policy-attr:flow-cfg; + description + "Match Type flow"; + } + } + case flow-record { + container flow-record-cfg { + uses policy-attr:flow-record-cfg; + description + "Match Type flow Record Name"; + } + } + case fr-de { + if-feature "policy-types:match-fr-de-support"; + container fr-de-cfg { + uses policy-attr:fr-de-cfg; + description + "Match Frame Relay DE"; + } + } + case fr-dlci { + if-feature "policy-types:match-fr-dlci-support"; + container fr-dlci-cfgs { + list fr-dlci-cfg { + must 'dlci-min<=dlci-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "dlci-min dlci-max"; + uses policy-attr:fr-dlci-cfg; + description + "Match Frame Relay DLCI + configuration"; + } + description + "Match Frame Relay DLCI"; + } + } + case wlan-user-priority { + if-feature "policy-types:match-wlan-user-priority-support"; + container wlan-user-priority-cfgs { + list wlan-user-priority-cfg { + must 'wlan-prio-min<=wlan-prio-max' { + description + "The configuration is a range, + for individual values min and max should + be equal. "; + } + key "wlan-prio-min wlan-prio-max"; + uses policy-attr:wlan-user-priority-cfg; + description + "Match Type Wlan User Priority + configuration"; + } + description + "Match Type Wlan User Priority"; + } + } + case discard-class { + if-feature "policy-types:match-discard-class-support"; + container discard-class-cfgs { + list discard-class-cfg { + key "discard-class"; + uses policy-attr:discard-class-cfg; + description + "Match Type Discard Class + configuration"; + } + description + "Match Type Discard Class"; + } + } + case class-map { + if-feature "policy-types:match-class-map-support"; + container class-map-cfgs { + list class-map-cfg { + key "class-map-name"; + uses policy-attr:class-map-cfg; + description + "Match Type cls-map Name + configuration"; + } + description + "Match Type cls-map Name"; + } + } + case metadata { + if-feature "policy-types:match-metadata-support"; + container metadata-cfg { + uses policy-attr:metadata-cfg; + description + "Match Type Metadata"; + } + } + case application { + if-feature "policy-types:match-application-support"; + container application-cfgs { + list application-cfg { + key "application-name application-cfg"; + uses policy-attr:application-cfg; + description + "Match Type Application + configuration"; + } + description + "Match Type Application"; + } + } + case security-group { + if-feature "policy-types:match-security-group-support"; + container security-group { + choice group-par { + case group-name { + container security-group-name-cfgs { + list security-group-name-cfg { + key "src-dst security-name"; + uses policy-attr:security-group-name-cfg; + description + "Match Type security + group based on name configuration"; + } + description + "Match Type security + group based on name"; + } + } + case group-tag { + container security-group-tag-cfgs { + list security-group-tag-cfg { + key "id"; + uses policy-attr:security-group-tag-cfg; + description + "Match Type security + group based on tag configuration"; + } + description + "Match Type security + group based on tag"; + } + } + description + "Match Type security tag + based on tag or id."; + } + description + "Match Type security tag."; + } + } + case ip-rtp { + if-feature "policy-types:match-ip-rtp-support"; + container ip-rtp-cfgs { + list ip-rtp-cfg { + must 'starting-port-number<=port-range' { + description + "The configuration is lower + bound and range of UDP ports."; + } + key "starting-port-number port-range"; + uses policy-attr:ip-rtp-cfg; + description + "Match Type IP RTP configuration."; + } + description + "Match Type IP RTP."; + } + } + case vpls { + if-feature "policy-types:match-vpls-support"; + container vpls-cfg { + uses policy-attr:vpls-cfg; + description + "Match Type VPLS."; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-policy-target.yang b/vendor/cisco/xe/17151/cisco-policy-target.yang new file mode 100644 index 000000000..da109de1f --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-policy-target.yang @@ -0,0 +1,69 @@ +module cisco-policy-target { + yang-version 1; + namespace "urn:ietf:params:xml:ns:yang:cisco-policy-target"; + prefix cisco-policy-target; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-interfaces { + prefix if; + } + import ietf-diffserv-target { + prefix ietf-target; + } + import policy-types { + prefix policy-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com + + Editor: Nazanin Magharei + "; + description + "This module contains a collection of YANG definitions + extending policy activation module based on IETF-diffserv + target. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-03-30 { + description + "Update description with copyright notice."; + } + revision 2015-04-27 { + description + "First revision"; + reference + "TBD"; + } + + augment "/if:interfaces/if:interface/ietf-target:diffserv-target-entry" { + description + "Augment policy type entry to Diffserv Target Entry"; + leaf service-policy-type { + type identityref { + base policy-types:policy-type; + } + default "policy-types:qos"; + description + "Type of the service-policy"; + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-policy.yang b/vendor/cisco/xe/17151/cisco-policy.yang new file mode 100644 index 000000000..efbe51f38 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-policy.yang @@ -0,0 +1,65 @@ +module cisco-policy { + yang-version 1; + namespace "urn:ietf:params:xml:ns:yang:cisco-policy"; + prefix cisco-policy; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-diffserv-policy { + prefix ietf-policy; + } + import policy-types { + prefix policy-types; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com + + Editor: Nazanin Magharei + "; + description + "This module contains a collection of YANG definitions + extending policy module based on IETF-diffserv policy. + Copyright (c) 2016 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-03-30 { + description + "Update description with copyright notice."; + } + revision 2015-04-27 { + description + "First revision"; + reference + "TBD"; + } + + augment "/ietf-policy:policies/ietf-policy:policy-entry" { + description + "Augments Diffserv Policy Entry"; + leaf policy-type { + type identityref { + base policy-types:policy-type; + } + default "policy-types:qos"; + description + "Type of the policy-map"; + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-pw.yang b/vendor/cisco/xe/17151/cisco-pw.yang new file mode 100644 index 000000000..d8beb7c95 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-pw.yang @@ -0,0 +1,1503 @@ +module cisco-pw { + namespace "urn:cisco:params:xml:ns:yang:pw"; + prefix l2vpn-pw; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-interfaces { + prefix if; + } + import ietf-inet-types { + prefix inet; + } + import ietf-yang-types { + prefix yang; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This YANG module describes the configuration and operational + model of Psuedowire on PE router + + Terms and Acronyms + AC : Attachment Circuit + BD : Bridge Domain + L2VPN : Layer 2 Virtual Private Network + PE : Provider Edge + PW : Pseudowire + VFI : Virtual Forwarding Instance + VPLS : Virtual Private LAN Service + VLAN : Virtual Local Area Network + "; + + revision 2023-11-01 { + description + "Fix the leafref path of pw-template-ref"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-12-07 { + description + "Removed cisco govern extension"; + } + revision 2014-12-01 { + description + "Initial revision"; + reference + "TODO"; + } + + feature pw-interface { + description + "This feature represents ability to support pseudowire + interface."; + } + + feature pw-load-balancing { + description + "This feature represents ability to support load-balancing + on pseudowires."; + } + + feature pw-class-flow-setting { + description + "This feature represents ability to configure load-balancing + flow type on a pwsdowire class/template level."; + } + + feature flow-label-tlv-code17 { + description + "This feature represents ability to configure Flow Aware Label + (FAT) PW to carry code 0x17 as sub-tlv id"; + } + + feature flow-label-static-config { + description + "This feature represents ability to use statically configured + flow label on traffic flowing on the PW"; + } + + feature pw-preferred-path { + description + "This feature represents the ability to use a preferred path + for pseudowires"; + } + + feature preferred-path-peer { + description + "This feature represents ability to use peer information + (ip address or hostname) as preferred path."; + } + + feature pw-vccv { + description + "This feature represents ability to configure vccv option on a + pseudowire"; + } + + feature pw-class-switchover-delay { + description + "This feature represents the ability to configure pseodowire + redundancy switchover properties on a pseudowire class"; + } + + feature pw-class-source-ip { + description + "This feature represents the ability to confifgure source IPv4 + address on a pseudowire class/template"; + } + + feature pw-class-tag-rewrite { + description + "This feature represents the ability to configure tag-rewrite + parameters on a pseudowire class"; + } + + feature pw-tag-impose-vlan-id { + description + "This feature represents the ability to configure a tag for a + VLAN ID on a pseudowire"; + } + + feature pw-ipv6-source { + description + "This feature represents the ability to configure a IPv6 local + address for a IPv6 pseudowire"; + } + + feature pw-port-profiles { + description + "This feature represents the ability to configure port-profile + parameters."; + } + + feature pw-class-status { + description + "This feature represents the ability to configure status + related propoties on a pw class."; + } + + feature pw-sequencing { + description + "This feature represents the ability to support sequencing on + pseudowire."; + } + + feature pw-mac-withdraw-config { + description + "This feature represents the ability to configure pseudowire + MAC withdraw feature."; + } + + feature pw-short-config { + description + "This feature represents the ability to configure pseudowire + with short version of parameters: neighbor IP, VC ID and encap + type."; + } + + feature static-label-direct-config { + description + "This feature represents the ability to directly configure a + static label with neighbor IP and VC ID within a service + instance."; + } + + feature pw-grouping-config { + description + "This feature represents the ability to enable pseudowire + grouping."; + } + + feature pw-oam-refresh-config { + description + "This feature represents the ability to enable pseudowire oam + refresh."; + } + + feature pw-status-config { + description + "This feature represents the ability to enable pseudowire + status at a global level."; + } + + feature predictive-redundancy-config { + description + "This feature represents the ability to enable predicitive + redundancy."; + } + + feature pw-static-oam-config { + description + "This feature represents the ability to support oam classes"; + } + + identity pw-encapsulation-type { + description + "Base identity for PW encapsulations."; + } + + identity pw-encap-mpls { + base pw-encapsulation-type; + description + "Use MPLS for PW encapsulation"; + } + + identity pw-vc-type { + description + "Base identity for VC type in PW"; + } + + identity pw-vc-type-ether { + base pw-vc-type; + description + "Identity for Ethernet VC type"; + } + + identity pw-vc-type-vlan { + base pw-vc-type; + description + "Identity for VLAN VC type"; + } + + identity pw-vc-type-vlan-passthrough { + base pw-vc-type; + description + "Identity for VLAN passthrough VC type (XR)"; + } + + identity pw-load-balance-type { + description + "Base type for load-balancing type"; + } + + identity pw-lb-ethernet-type { + base pw-load-balance-type; + description + "Base type for load-balancing with ethernet fields"; + } + + identity pw-lb-eth-src-mac { + base pw-lb-ethernet-type; + description + "Load-balancing with ethernet source MAC field"; + } + + identity pw-lb-eth-dst-mac { + base pw-lb-ethernet-type; + description + "Load-balancing with ethernet destination MAC field"; + } + + identity pw-lb-eth-src-dst-mac { + base pw-lb-ethernet-type; + description + "Load-balancing with ethernet source and destination MAC + fields"; + } + + identity pw-lb-ip-type { + base pw-load-balance-type; + description + "Base type for load-balancing with IP"; + } + + identity pw-lb-ip-src-ip { + base pw-lb-ip-type; + description + "Load-balancing with IP source IP field"; + } + + identity pw-lb-ip-dst-ip { + base pw-load-balance-type; + description + "Load-balancing with IP destination IP field"; + } + + identity pw-lb-ip-src-dst-ip { + base pw-lb-ip-type; + description + "Load-balancing with IP source and destination IP fields"; + } + + identity pw-signaling-protocol-type { + description + "Base identity for PW signaling protocol"; + } + + identity pw-signaling-protocol-none { + base pw-signaling-protocol-type; + description + "No PW signaling protocol"; + } + + identity pw-signaling-protocol-ldp { + base pw-signaling-protocol-type; + description + "Use MPLS LDP for PW signaling protocol"; + } + + identity pw-signaling-protocol-bgp { + base pw-signaling-protocol-type; + description + "Use BGP for PW signaling protocol"; + } + + identity pw-sequencing-type { + description + "Sequencing options for PW"; + } + + identity pw-sequencing-receive { + base pw-sequencing-type; + description + "Receive sequencing option for PW"; + } + + identity pw-sequencing-transmit { + base pw-sequencing-type; + description + "Transmit sequencing option for PW"; + } + + identity pw-sequencing-both { + base pw-sequencing-type; + description + "Receive and Transmit sequencing option for PW"; + } + + typedef pw-template-ref { + type leafref { + path "/l2vpn-pw:pseudowire-config/l2vpn-pw:pw-templates/l2vpn-pw:pw-template/l2vpn-pw:name"; + } + description + "Reference to an instance of pseudowire template."; + } + + typedef pw-oper-vc-peer-addr-ref { + type leafref { + path "/l2vpn-pw:pseudowire-state/l2vpn-pw:pseudowires/l2vpn-pw:vc-peer-address"; + } + description + "Reference to the peer ip address of a pseudowire in oper + data tree."; + } + + typedef pw-oper-vc-id-ref { + type leafref { + path "/l2vpn-pw:pseudowire-state/l2vpn-pw:pseudowires/l2vpn-pw:vc-id"; + } + description + "Reference to the vc id of a pseudowire in oper data tree."; + } + + typedef pw-group-id-type { + type uint32; + description + "An administrative identification mechanism for grouping a + set of service-specific pseudo-wire services. May only + have local significance."; + reference + "CISCO-IETF-PW-TC-MIB"; + } + + typedef pw-vc-id-type { + type uint32; + description + "Virtual Circuit Identifier. Used to identify the VC + (together with some other fields) in the signaling + session. Zero if the VC is set-up manually."; + reference + "CISCO-IETF-PW-TC-MIB"; + } + + typedef pw-vc-index-type { + type uint32; + description + "Virtual Circuit Index. Locally unique index for indexing + MIB tables associated with a particular VC."; + } + + typedef pw-oper-state-type { + type enumeration { + enum up { + value 1; + description + "Pseudowire is established, i.e., it is operational + and available to carry packets"; + } + enum down { + value 2; + description + "Pseudowire is idle, i.e., it is administratively up + but network connectivity with the neighbor is not + established"; + } + enum cold-standby { + value 3; + description + "Pseudowire can take over traffic for another + pseudowire"; + } + enum hot-standby { + value 4; + description + "Pseudowire is available to immediately take over + traffic from another pseudowire"; + } + enum recovering { + value 5; + description + "Pseudowire was previously in active state and is + in the process of being restored to active state"; + } + enum no-hardware { + value 6; + description + "Pseudowire no longer has the required hardware + resources to be able to offer packet service to + the system"; + } + enum unresolved { + value 7; + description + "Pseudowire is not completely provisioned"; + } + enum provisioned { + value 8; + description + "Pseudowire has received local configuration"; + } + enum remote-standby { + value 9; + description + "Pseudowire neighbor has sent its pseudowire + binding information"; + } + enum local-ready { + value 10; + description + "Pseudowire is provisioned, got a local label, and + its local binding has been sent to the neighbor"; + } + enum all-ready { + value 11; + description + "Pseudowire is locally provisioned, local binding + has been sent, and remote binding was received + from the neighbor"; + } + } + description + "Indicates the operational status of the PW VC"; + } + + grouping pw-backup-delay-config { + description + "Specifies whether or how long it should wait before backup is + disabled when primary pseudowire comes back up"; + leaf switchover-timer { + type uint8 { + range "0..120"; + } + description + "Specifies how long the backup pseudowire should wait before + taking over"; + } + choice restore-timer-or-never { + description + "Restore timer configuration options."; + leaf timer { + type uint8 { + range "0..180"; + } + description + "Specifies how long the primary pseudowire should wait + after it becomes active to take over for the backup + pseudowire"; + } + leaf never { + type boolean; + default "false"; + description + "The primary pseudowire never takes over for the backup"; + } + } + } + + grouping pw-oper-ref-keys { + description + "Pseudowire oper keys. These leaves can uniquely identify + a pseudowire instance in the oper data tree."; + leaf vc-peer-address { + type pw-oper-vc-peer-addr-ref; + description + "Reference to peer ip address of a pseudowire instance."; + } + leaf vc-id { + type pw-oper-vc-id-ref; + description + "Reference to vc-id of a pseudowire instance."; + } + } + + grouping pw-class-template-config { + description + "Pseudowire parameters that can be configured on a template or + a class to be shared among several pseudowires, although these + can also be configured for one pseudowire, typically on a + pseudowire interface. Hence they do not include any instance + specific information."; + leaf encapsulation { + type identityref { + base pw-encapsulation-type; + } + description + "Encapsulation used for PW"; + } + leaf control-word { + when "../encapsulation = 'pw-encap-mpls'" { + description + "Pseudowire encapsulation must be of mpls type to enable + control word in MPLS pseudowire header."; + } + type boolean; + description + "Use control word in the MPLS PW header."; + } + leaf signaling-protocol { + type identityref { + base pw-signaling-protocol-type; + } + description + "Signaling protocol to use."; + } + container load-balance { + if-feature "pw-load-balancing"; + description + "Load balancing mechanism."; + choice flow { + if-feature "pw-class-flow-setting"; + default "ethernet"; + description + "Load-balancing options for a pseudowire."; + case ethernet { + leaf ethernet { + type identityref { + base pw-lb-ethernet-type; + } + default "pw-lb-eth-src-dst-mac"; + description + "Ethernet mac address based load balancing"; + } + } + case ip { + leaf ip { + type identityref { + base pw-lb-ip-type; + } + description + "IP address based load balancing"; + } + } + } + container flow-label { + description + "Enable Flow Aware Label (FAT) PW - the capability to + carry flow label on PW"; + leaf direction { + type enumeration { + enum transmit { + value 1; + description + "TODO"; + } + enum receive { + value 2; + description + "TODO"; + } + enum both { + value 3; + description + "TODO"; + } + } + description + "Directions to enable Flow Aware Label PW"; + } + leaf tlv-code-17 { + if-feature "flow-label-tlv-code17"; + type boolean; + description + "Carry code 0x17 as Flow Aware Label (FAT) PW signalled + sub-tlv id"; + } + leaf static { + if-feature "flow-label-static-config"; + type boolean; + default "false"; + description + "Use statically configured flow label on traffic + flowing on the PW"; + } + } + } + container preferred-path { + if-feature "pw-preferred-path"; + description + "Preferred path for the PW"; + choice path { + description + "Choice of tunnel interface or peer"; + case interface { + leaf interface { + type if:interface-ref; + description + "Reference to a tunnel interface."; + } + } + case address { + if-feature "preferred-path-peer"; + leaf address { + type inet:ip-address; + description + "TODO"; + } + } + case hostname { + if-feature "preferred-path-peer"; + leaf hostname { + type string; + description + "TODO"; + } + } + } + leaf disable-fallback { + type boolean; + description + "Disable fall back to alternative route"; + } + } + container sequencing { + if-feature "pw-sequencing"; + description + "Sequencing options"; + leaf direction { + type identityref { + base pw-sequencing-type; + } + description + "TODO"; + } + leaf resync { + type int32 { + range "5..65535"; + } + description + "TODO"; + } + } + leaf vc-type { + type identityref { + base pw-vc-type; + } + description + "Type of VC in the PW."; + } + leaf switching-tlv { + type boolean; + description + "Send switching TLV"; + } + container vccv { + if-feature "pw-vccv"; + description + "VCCV configuration"; + leaf control-word { + type boolean; + description + "Enable VCCV verification type"; + } + } + container switchover-delay { + if-feature "pw-class-switchover-delay"; + uses pw-backup-delay-config; + description + "Timer configuration related to pseudowire redundancy + switchover and restoring to primary"; + } + leaf source-ip { + if-feature "pw-class-source-ip"; + type inet:ipv4-address; + description + "The local source IPv4 address"; + } + leaf tag-rewrite-ingress-vlan { + if-feature "pw-class-tag-rewrite"; + type uint16 { + range "1..4094"; + } + description + "Configure ingress tag rewrite vlan."; + } + leaf mac-withdraw { + if-feature "pw-mac-withdraw-config"; + type boolean; + default "false"; + description + "Send Mac-withdraw message when PW becomes active."; + } + container status { + description + "TODO"; + leaf decoupled { + if-feature "pw-class-status"; + type boolean; + default "false"; + description + "Reflect standby status of the attachment circuit as up on + the pseudowire."; + } + leaf disable { + if-feature "pw-class-status"; + type boolean; + default "false"; + description + "Do not send pseudowire status to peer."; + } + leaf peer-topo-dual-homed { + type boolean; + description + "Our peer(s) are participating in a redundant solution with + some form of redundancy protocol running between the peer + routers. Only one of the remote peers will advertise a + status of UP at a time. The other will advertise standby. + Change our configuration so we can send a status of UP on + both active and redundant pseudowires."; + } + leaf route-watch-disable { + if-feature "pw-class-status"; + type boolean; + default "false"; + description + "Disable listening for routing events to trigger redundancy + status changes"; + } + leaf redundancy-master { + if-feature "pw-class-status"; + type boolean; + default "false"; + description + "Make the PE as master to enables Pseudowire Preferential + Forwarding feature to display the status of the active + and backup pseudowires."; + } + } + } + + grouping pw-neighbor-base-config { + description + "Basic configuration parameters to identify a pseudowire and + used by all variation of pseudowire configuration formats."; + leaf neighbor-ip-address { + type inet:ip-address; + description + "IPv4 or IPv6 address of the neighbor."; + } + leaf vc-id { + type uint32 { + range "1..4294967295"; + } + description + "Pseudowire VC ID"; + } + } + + grouping pw-static-label-config { + description + "Statically configured labels used by PW"; + leaf local-label { + type uint32 { + range "16..1048575"; + } + description + "Local MPLS label ID"; + } + leaf remote-label { + type uint32 { + range "16..1048575"; + } + description + "Remote MPLS label ID"; + } + } + + grouping pw-neighbor-config { + description + "Pseudowire configuration using neighbor address, VC ID and + other parameters. Directly configurable under the service; + which is a variation to pseudowire interface configuration."; + uses pw-neighbor-base-config { + description + "Pseudowire neighbor-ip and vc-id config"; + } + container static-label { + if-feature "static-label-direct-config"; + description + "Statically configured labels, signalling should be none"; + uses pw-static-label-config; + } + choice pw-class-or-specs { + description + "Inherit attributes from a pseudowire class or provide + configuration"; + case pw-class-template { + leaf pw-class-template { + type pw-template-ref; + description + "Reference to a pseudowire template"; + } + } + case specs { + leaf encap-type { + if-feature "pw-short-config"; + type identityref { + base pw-encapsulation-type; + } + description + "Encapsulation configuration for this neighbor"; + } + leaf tag-impose-vlan { + if-feature "pw-tag-impose-vlan-id"; + type uint16 { + range "1..4094"; + } + description + "Specify a tag for a VLAN ID for the pseudowire"; + } + leaf source-ipv6 { + if-feature "pw-ipv6-source"; + type inet:ipv6-address; + description + "The local source IPv6 address. Note this should only be + configured when neighbor address is IPv6 type"; + } + } + } + } + + grouping pw-backup-neighbor-config { + description + "Backup pseudowire configuration using neighbor address, VC ID + and other limited choice of parameters. This is usually + associated with an active pseudowire neighbor."; + uses pw-neighbor-base-config { + description + "Pseudowire neighbor-ip and vc-id config"; + } + leaf pw-class-template { + type pw-template-ref; + description + "Reference to a pseudowire template"; + } + } + + grouping pw-intf-or-pw-neighbor-config { + description + "Pseudowire configuration representation that can be either + configured with a pseudowire interface or a pseudowire + neighbor entity - PW-NEIGHBOR - a combination of pseudowire + neighbor address, VC ID and possibly other parameters."; + choice pw-intf-or-pw-neighbor { + mandatory true; + description + "Pseudowire configuration options."; + leaf pw-intf { + if-feature "pw-interface"; + type if:interface-ref; + must "/if:interfaces/if:interface/if:type= 'ifPwType'" { + description + "Must be a pseudowire interface."; + } + description + "This is the reference to a pseudowire interface"; + } + container pw-neighbor { + description + "This is the reference to a psuedowire using specifications + of a neighbor address, a VC ID and other parameters"; + uses pw-neighbor-config; + } + } + } + + container pseudowire-config { + description + "Pseudowire configuration data."; + container global { + description + "Global configurations related to pseudowires."; + leaf pw-grouping { + if-feature "pw-grouping-config"; + type boolean; + default "false"; + description + "Enable pw-grouping. + + When pseudowires (PW) are established, each PW is assigned + a group ID that is common for all PWs created from the + same physical port. Hence, when the physical port becomes + non-functional or is deleted, L2VPN sends a single message + to advertise the status change of all PWs belonging to the + group. A single L2VPN signal thus avoids a lot of + processing and loss in reactivity."; + reference + "RFC 4447"; + } + leaf pw-oam-refresh-transmit { + if-feature "pw-oam-refresh-config"; + type uint32 { + range "1..4095"; + } + description + "Set pseudowire oam transmit refresh time (in seconds)"; + } + leaf pw-status { + if-feature "pw-status-config"; + type boolean; + description + "Enable pw-status"; + } + leaf predictive-redundancy { + if-feature "predictive-redundancy-config"; + type boolean; + description + "Enable predictive redundancy"; + } + leaf vc-state-notification-enabled { + type boolean; + description + "If this leaf is set to true, then it enables the emission + of 'vc-state-notification'; otherwise these notifications + are not emitted."; + reference + "CISCO-IETF-PW-MIB"; + } + leaf vc-state-notification-batch-size { + type uint32; + description + "'vc-state-notification' allows batching of pseudowires in + order to reduce number of notifications generated from the + device. All pseudowires in a batched notification MUST + share same state at the same time. + + This leaf defines the maximum number of VCs that can be + batched in vc-state-notification."; + } + leaf vc-state-notification-rate { + type uint32; + description + "This leaf defines the maximum number of VC state change + notifications that can be emitted from the device per + second."; + reference + "CISCO-IETF-PW-MIB"; + } + } + container pw-templates { + description + "Contains list of all pw-template definitions. + Also called PW Class (XR) and Port Profile (NX-OS)"; + list pw-template { + key "name"; + description + "Pseudowire template list."; + leaf name { + type string; + description + "PW Template name."; + } + uses pw-class-template-config { + description + "Pseudowire class template configurations."; + } + container port-profile-spec { + if-feature "pw-port-profiles"; + description + "Pseudowire port profile configurations."; + leaf description { + type string; + description + "Description string for the port profile"; + } + leaf shutdown { + type boolean; + default "false"; + description + "Shut down this template"; + } + leaf shut-force { + type boolean; + default "false"; + description + "Force shut down this port profile"; + } + leaf mtu { + type uint32; + description + "MTU of the port"; + } + leaf max-ports { + type uint16 { + range "1..16384"; + } + description + "Maximum number of ports"; + } + leaf enabled { + type boolean; + default "false"; + description + "Enable this port profile"; + } + } + } + } + container pw-static-oam-classes { + if-feature "pw-static-oam-config"; + description + "List of pseudowire static oam classes."; + list pw-static-oam-class { + key "name"; + description + "Pseudowire static oam class configuration"; + leaf name { + type string; + description + "OAM class name"; + } + leaf ack { + type boolean; + description + "Enable ack"; + } + leaf keepalive { + type uint32 { + range "1..4095"; + } + default "600"; + description + "Keepalive in seconds"; + } + leaf timeout-refresh-send { + type uint32 { + range "1..4095"; + } + default "30"; + description + "Refresh timeout in seconds"; + } + leaf timeout-refresh-ack { + type uint32 { + range "1..4095"; + } + default "600"; + description + "Ack timeout in seconds"; + } + } + } + } + + augment "/if:interfaces/if:interface" { + when "if:type = 'ifPwType'" { + description + "Only applicable for L2VPN pseudowires."; + } + description + "Pseudowire-specific interface configuration"; + container pw-neighbor { + if-feature "pw-interface"; + description + "Pseudowire neighbor configurations."; + uses pw-neighbor-base-config { + description + "Pseudowire neighbor-ip and vc-id config"; + } + container static-label { + description + "Statically configured labels, signalling should be none"; + uses pw-static-label-config; + } + leaf source-template { + type pw-template-ref; + description + "Specify template for PW configuration"; + } + uses pw-class-template-config { + description + "This configuration can be used to specify parameters in + addition to the template specified by'source-template' + node. In case of conflict, parameters in the template have + higher precedence."; + } + } + } + + container pseudowire-state { + config false; + description + "Contains the operational state for all the pseudowire + instances in the switch, no matter what L2VPN service + created them."; + list pseudowires { + key "vc-peer-address vc-id vc-owner-type vc-name vc-index"; + description + "Each list element contains the state for a pseudowire + instance. The list can be optionally keyed by any + combination of vc-id, peer-address, etc. + Additional filtering of the list by the agent may be + performed upon request by the client using subtree + filtering as described in RFC 6020 Section 6."; + leaf vc-type { + type identityref { + base pw-vc-type; + } + description + "Indicates the service to be carried over this VC"; + } + leaf vc-owner-type { + type enumeration { + enum vpws { + value 1; + description + "Created under VPWS context"; + } + enum vpls-vfi { + value 2; + description + "Created under VFI context"; + } + enum vpls-bridge-domain { + value 3; + description + "Created under bridge domain context"; + } + enum interface { + value 4; + description + "Created by manual pseudowire interface + configuration"; + } + } + description + "Indicates the service responsible for establishing + this VC"; + } + leaf vc-owner-name { + type string; + description + "Name of the L2VPN service instance that created + the pseudowire VC"; + } + leaf vc-psn-type { + type enumeration { + enum mpls { + value 1; + description + "MPLS encapsulation"; + } + enum l2tp { + value 2; + description + "L2TP encapsulation"; + } + enum ip { + value 3; + description + "IP core"; + } + enum mpls-over-ip { + value 4; + description + "MPLS encapsulation over IP core"; + } + enum gre { + value 5; + description + "GRE encapsulation"; + } + enum other { + value 6; + description + "Some other encapsulation"; + } + } + description + "Indicates the type of packet-switched network + that carries this VC"; + } + leaf vc-peer-address { + type inet:ip-address; + description + "This object contains the value of the peer node address + of the PW/PE protocol entity"; + } + leaf vc-id { + type pw-vc-id-type; + description + "Used to distinguish between pseudowires going to the + same peer node"; + } + leaf vc-index { + type pw-vc-index-type; + description + "Locally-unique ID within the device for this + pseudowire"; + } + leaf vc-local-group-id { + type pw-group-id-type; + description + "Used to identify which local pseudowire group this + pseudowire belongs to"; + } + leaf vc-control-word { + type boolean; + description + "Indicates if the control word is sent with each packet + by the local node"; + } + leaf vc-local-if-mtu { + type uint32; + description + "If not zero, this represents the locally supported MTU + size over the interface (or the virtual interface) + associated with the VC"; + } + leaf vc-remote-group-id { + type pw-group-id-type; + description + "If not zero, indicates the pseudowire group to which + this pseudowire belongs on the peer node"; + } + leaf vc-remote-control-word { + type enumeration { + enum noControlWord { + value 1; + description + "Peer sends control word"; + } + enum withControlWord { + value 2; + description + "Peer does not send control word"; + } + enum notYetKnown { + value 3; + description + "Have not received indication yet if peer sends + control word"; + } + } + description + "Indicates whether MPLS control words are used by the + pseudowire PSN service"; + } + leaf vc-remote-if-mtu { + type uint32; + description + "The remote interface MTU as (optionally) received + from the remote node via the signaling protocol. + Should be zero if this parameter is not available + or not used"; + } + leaf vc-outbound-label { + type uint32; + description + "The VC label used in the outbound direction (i.e. toward + the PSN). Example: for MPLS PSN, it represents the 20 bits + of VC tag, for L2TP it represent the 32 bits Session ID. + If the label is not yet known (signaling in procesS), the + object should return a value of 0xFFFFFFFF."; + } + leaf vc-inbound-label { + type uint32; + description + "The VC label used in the inbound direction (i.e. packets + received from the PSN). Example: for MPLS PSN, it + represents the 20 bits of VC tag, for L2TP it represents + the 32 bits Session ID. If the label is not yet known + (signaling in process), the object should return a value + of 0xFFFFFFFF."; + } + leaf vc-name { + type string; + description + "The canonical name assigned to the VC. The name may be + autogenerated by the device; this Yang model does not + currently support direct configuration of this name."; + } + leaf vc-oper-status { + type pw-oper-state-type; + description + "Indicates the actual combined operational status of this + VC. It is 'up' if both vc-inbound-oper-status and + vc-outbound-oper-status are in 'up' state. For all other + values, if the VCs in both directions are of the same + value it reflects that value, otherwise it is set to the + most severe status out of the two statuses. The order of + severance from most severe to less severe is: unknown, + notPresent, down, lowerLayerDown, dormant, testing, up. + The operator may consult the per direction oper-status + for fault isolation per direction."; + } + leaf vc-inbound-oper-status { + type pw-oper-state-type; + description + "Indicates the actual operational status of this VC in + the inbound direction"; + } + leaf vc-outbound-oper-status { + type pw-oper-state-type; + description + "Indicates the actual operational status of this VC in + the outbound direction"; + } + container statistics { + description + "A collection of pseudowire-related statistics objects"; + leaf vc-create-time { + type yang:timestamp; + description + "System time when this VC was created"; + } + leaf vc-up-time { + type yang:timeticks; + description + "Number of consecutive ticks this VC has been 'up' in + both directions together"; + } + leaf discontinuity-time { + type yang:date-and-time; + mandatory true; + description + "The time on the most recent occasion at which any of + this pseudowire's counters sufferred discontinuity. + If no such discontinuities have occurred since the + last re-initialization of the local management + subsystem, then this node contains the time the + local management subsystem re-initialized itself."; + } + leaf in-octets { + type yang:counter64; + description + "The total number of octets received on this + pseudowire. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + leaf in-pkts { + type yang:counter64; + description + "The total number of packets received on this + pseudowire. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + leaf in-errors { + type yang:counter64; + description + "The total number of inbound packets that contained + errors. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + leaf out-octets { + type yang:counter64; + description + "The total number of octets sent on this pseudowire. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + leaf out-pkts { + type yang:counter64; + description + "The total number of packets sent on this pseudowire. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + leaf out-errors { + type yang:counter64; + description + "The total number of outbound packets that could not + be sent on this pseudowire. + + Discontinuities in the value of this counter can + occur at re-initialization of the management system + and at other times as indicated by the value of + 'discontinuity-time'."; + } + } + } + } + + augment "/if:interfaces-state/if:interface" { + when "if:type = 'ifPwType'" { + description + "Only applicable for L2VPN pseudowires"; + } + description + "Adds additional state to standard interface state"; + container pseudowire { + description + "Pseudowire-specific interface operational state"; + uses pw-neighbor-base-config { + description + "Pseudowire neighbor-ip and vc-id config"; + } + } + } + + notification vc-up-notification { + description + "This notification is generated when the 'vc-oper-status' leaf + for one or more VC are about to enter the 'up' state from some + other state. + + Multiple VCs that changed 'up' state can be combined into + single notification. Maximum batch-size of each notification + is defined by 'vc-state-notification-batch-size' leaf. If + number of eligible VCs are more than batch-size then + additional notifications should be generated."; + list vc-list { + description + "List of VCs that moved to 'up' state"; + uses l2vpn-pw:pw-oper-ref-keys { + description + "Pseudowire oper keys. These leaves can uniquely + identify a pseudowire instance in the pseudowire + oper data tree."; + } + } + reference + "CISCO-IETF-PW-MIB cpwVcUp notification."; + } + + notification vc-down-notification { + description + "This notification is generated when the 'vc-oper-status' leaf + for one or more VC are about to enter the 'down' state from + some other state. + + Multiple VCs that changed 'down' state can be combined into + single notification. Maximum batch-size of each notification + is defined by 'vc-state-notification-batch-size' leaf. If + number of eligible VCs are more than batch-size then + additional notifications should be generated."; + list vc-list { + description + "List of VCs that moved to 'down' state"; + uses l2vpn-pw:pw-oper-ref-keys { + description + "Pseudowire oper keys. These leaves can uniquely + identify a pseudowire instance in the pseudowire + oper data tree."; + } + } + reference + "CISCO-IETF-PW-MIB cpwVcDown notification."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-routing-ext.yang b/vendor/cisco/xe/17151/cisco-routing-ext.yang new file mode 100644 index 000000000..99b3f75ba --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-routing-ext.yang @@ -0,0 +1,116 @@ +module cisco-routing-ext { + namespace "urn:cisco:params:xml:ns:yang:cisco-routing-ext"; + prefix rt-ext; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-routing { + prefix rt; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This YANG module is an extention to 'ietf-routing' + module and describes addtional operational + data for route list. + Copyright (c) 2016, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-11-01 { + description + "-Added missing IPv6 ND identity as a routing protocol"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-07-09 { + description + "Removed deviation for last-updated and added it to ietf-routing-devs.yang."; + } + revision 2015-05-27 { + description + "Proposed"; + reference + "TODO"; + } + + identity rip { + base rt:routing-protocol; + description + "RIP."; + } + + identity is-is { + base rt:routing-protocol; + description + "IS-IS."; + } + + identity bgp { + base rt:routing-protocol; + description + "BGP."; + } + + identity eigrp { + base rt:routing-protocol; + description + "Eigrp."; + } + + identity igrp { + base rt:routing-protocol; + description + "IGRP"; + } + + identity nhrp { + base rt:routing-protocol; + description + "NHRP"; + } + + identity hsrp { + base rt:routing-protocol; + description + "HSRP"; + } + + identity lisp { + base rt:routing-protocol; + description + "LISP"; + } + + identity omp { + base rt:routing-protocol; + description + "OMP"; + } + + identity nat-route { + base rt:routing-protocol; + description + "NAT-ROUTE"; + } + + identity nd { + base rt:routing-protocol; + description + "ND"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-self-mgmt.yang b/vendor/cisco/xe/17151/cisco-self-mgmt.yang new file mode 100644 index 000000000..6c924427d --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-self-mgmt.yang @@ -0,0 +1,26 @@ +module cisco-self-mgmt { + namespace "http://cisco.com/yang/cisco-self-mgmt"; + prefix cisco-sfm; + + import cisco-semver { + prefix cisco-semver; + } + + description + "Copyright (c) 2016 by Cisco Systems, Inc.All rights reserved."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-05-14 { + description + "Initial version with netconf-yang container"; + } + + container netconf-yang { + description + "Top level container shared by cisco-ia and cisco-odm models"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-semver-internal.yang b/vendor/cisco/xe/17151/cisco-semver-internal.yang new file mode 100644 index 000000000..205837fb4 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-semver-internal.yang @@ -0,0 +1,28 @@ +module cisco-semver-internal { + namespace "http://cisco.com/ns/yang/cisco-semver-internal"; + prefix cisco-semver-internal; + + organization + "Cisco Systems + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA"; + contact + "Mailing list: "; + description + "This YANG module defines internal extensions for semantic versioning. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-03-20 { + description + "Initial Version."; + } + + extension os-version { + argument version; + description + "The OS release version that this revision is targeted for. + Used as a substatement to the revision statement."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-semver.yang b/vendor/cisco/xe/17151/cisco-semver.yang new file mode 100644 index 000000000..fa67d5699 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-semver.yang @@ -0,0 +1,84 @@ +module cisco-semver { + namespace "http://cisco.com/ns/yang/cisco-semver"; + prefix cisco-semver; + + organization + "Cisco Systems + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA"; + contact + "Mailing list: "; + description + "This YANG module defines semantic version for Cisco defined YANG models. + Copyright (c) 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-03-20 { + description + "Initial Version."; + reference + "draft-verdt-netmod-yang-solutions-00"; + } + + extension module-version { + argument semver; + description + "The version number for the module. This is + expressed as a semantic version number of the form: + major.minor.patch(x) + where: + * major corresponds to the major version. + * minor corresponds to a minor version. + * patch corresponds to a patch version. It is updated only for + 'editorial' changes that do not change the API semantics in + any way. In addition to 'editorial' changes that do not + change the YANG module semantics, the patch field can + also be used in a limited way to indicate major and minor + version changes as well. The patch version may be incremented for + a major or minor change if that change is happening on a + non-HEAD or non-latest branch. If the patch field is incremented + for a minor version change then it is appended with the + suffix '(m)', if the patch field is incremented for a major + version change then it is appended with the suffix '(M)', + replacing '(m)', if present. + + This version number should be specified as a child of revision + statement to indicate that a specific revision had a specific + semantic version number. Where several modules are used to build + up a single block of functionality, the same module version is + specified across each file that makes up the module. + + Following a release of major version 1, all modules will + update 'major.minor.patch' version number as follows: + + 1. if one or more non-backwards-compatible change is made then + either the major version number MUST be updated (resetting the + minor and patch version numbers to 0) or only the patch version + number MUST be updated and appended with '(M)', replacing '(m)' + if present. + + 2. if one or more backwards-compatible change is made then either + the minor version number MUST be updated (resetting the patch + version numbers to 0) or only the patch version number MUST be + updated and appended with '(m)' unless the previous patch version + number already had '(M)' appended, in which case the '(M)' suffix + is retained for the new patch version. + + 3. if one or more editorial change is made then the patch version + number MUST be updated. If the previous patch version number + already had either an '(m') or '(M)' suffix then it is retained + for the new patch version regardless of whether the subsequent + changes are backwards-compatible, non-backwards-compatible, + or editorial changes. + + When a field in the version number is incremented, all following + fields are reset back to 0. Major version number 0 indicates that + the module is not yet stable and allows non-backwards-compatible + changes without requiring the major version number to be incremented + + Where possible, the version number should be updated using the + standard semantic versioning rules, relying on the '(m)' and '(M)' + suffixes only used where strictly necessary."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-smart-license-errors.yang b/vendor/cisco/xe/17151/cisco-smart-license-errors.yang new file mode 100644 index 000000000..527ec18ed --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-smart-license-errors.yang @@ -0,0 +1,812 @@ +submodule cisco-smart-license-errors { + belongs-to cisco-smart-license { + prefix cisco-smart-license; + } + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Smart licensing error codes. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-11-01 { + description + "Usage reporting enhancement"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-10-11 { + description + "Initial Revision of the error codes"; + reference + "https://software.cisco.com/"; + } + + typedef error-enum { + type enumeration { + enum success { + value 0; + description + "Success"; + } + enum malloc { + value 1; + description + "Malloc Error"; + } + enum nullpointer { + value 2; + description + "Null pointer Error"; + } + enum error3 { + value 3; + description + "deprecated DO NOT remove"; + } + enum error4 { + value 4; + description + "deprecated DO NOT remove"; + } + enum error5 { + value 5; + description + "deprecated DO NOT remove"; + } + enum BadInputParams { + value 6; + description + "Bad input parameter"; + } + enum error7 { + value 7; + description + "deprecated DO NOT remove"; + } + enum badhandle { + value 8; + description + "Bad handle"; + } + enum notfound { + value 9; + description + "The requested item was not found"; + } + enum notsupported { + value 10; + description + "The requested operation is not supported"; + } + enum alreadyinit { + value 11; + description + "Init failed because the agent is already initialized"; + } + enum notinit { + value 12; + description + "API failed because the agent is not initialized"; + } + enum smfailtocreate { + value 13; + description + "State machine creation failed"; + } + enum smfailtorun { + value 14; + description + "State machine not running"; + } + enum smfailtoinit { + value 15; + description + "State machine failed to init"; + } + enum smfailtodestroy { + value 16; + description + "State machine failed to destroy"; + } + enum msgparse { + value 17; + description + "message parsing error"; + } + enum msgbuild { + value 18; + description + "message building error"; + } + enum notenabled { + value 19; + description + "Smart Agent not enabled"; + } + enum invalidrequest { + value 20; + description + "Smart Agent request invalid"; + } + enum init { + value 21; + description + "General initialization error. We call a number of + system routines to + initialize system resources and we can't translate their error + codes to Smart Agent error codes. The log should have a detailed + description of the error."; + } + enum failtosetstate { + value 22; + description + "Smart Agent Fail to set state"; + } + enum unsupportedresponse { + value 23; + description + "Unsupported response type"; + } + enum invalidresponse { + value 24; + description + "Invalid response type"; + } + enum storagefailtostore { + value 25; + description + "Smart Agent Trusted Storage failed to store*"; + } + enum storagefailtoretrieve { + value 26; + description + "Smart Agent Trusted Storage failed to retrieve*"; + } + enum nullccoidtoken { + value 27; + description + "Null CCOId and IdToken"; + } + enum matchidentifier { + value 28; + description + "Product Instance identifier failed to match"; + } + enum matchvendor { + value 29; + description + "Vendor string failed to match"; + } + enum matchnonce { + value 30; + description + "nonce failed to match"; + } + enum commdisabled { + value 31; + description + "communication channel error. Comm layer (call home) is disabled "; + } + enum commsend { + value 32; + description + "Call Home message send error. probably a timeout so we + will retry the send. any other error from the comm send should + be a permanent failure"; + } + enum commresponse { + value 33; + description + "Call Home message send response error"; + } + enum communkown { + value 34; + description + "Call Home unknown error"; + } + enum smpostnotallow { + value 35; + description + "State machine Operation not permitted"; + } + enum reqmsgmissingmandatoryfield { + value 36; + description + "Missing mandatory field in request message"; + } + enum responsefailed { + value 37; + description + "We received a failure status in a response message. + The log will contain a error message"; + } + enum pinotinit { + value 38; + description + "PI not initialized "; + } + enum alreadyenabled { + value 39; + description + "The agent cannot be enabled more than once"; + } + enum alreadyregistered { + value 40; + description + "The agent is already registered"; + } + enum certinvalid { + value 41; + description + "The certificate is invalid "; + } + enum certexpired { + value 42; + description + "The certificate has expired "; + } + enum notregistered { + value 43; + description + "The agent is not registered "; + } + enum csrgenerationfailed { + value 44; + description + "The CSR generation failed "; + } + enum verifysignaturefailed { + value 45; + description + "Signature Verification failed "; + } + enum generatesignaturefailed { + value 46; + description + "Signature Generation failed "; + } + enum signcertverificationfailed { + value 47; + description + "Signing Certificate Verification failed "; + } + enum nodecertverificationfailed { + value 48; + description + "Node Certificate Verification failed "; + } + enum parsecertificatefailed { + value 49; + description + "Certificate Parsing failed "; + } + enum cryptorootcaimportfailed { + value 50; + description + "Root Certificate Import failed "; + } + enum taginvalid { + value 51; + description + "The tag is invalid "; + } + enum standby { + value 52; + description + "Smart agent is running on a standby RP "; + } + enum registrationinprogress { + value 53; + description + "Smart agent id token registration is in progress"; + } + enum commretry { + value 54; + description + "Call Home is not ready because it is in restart ipc"; + } + enum authrenewinprogress { + value 55; + description + "Smart agent authorization renew is in progress"; + } + enum idcertrenewinprogress { + value 56; + description + "Smart agent id certificate renew is in progress"; + } + enum noudichange { + value 57; + description + "Udi List Has Not been changed "; + } + enum callhomeserviceoff { + value 58; + description + "Call home service cannot be turned on. "; + } + enum msgexecinprogress { + value 59; + description + "message execution already in progress"; + } + enum msgexecinproglocked { + value 60; + description + "message execution in progress flag is locked"; + } + enum certmatchessubsetudis { + value 61; + description + "The ID cert only matches some of the system Udi's"; + } + enum storagegroupchangeincomplete { + value 62; + description + "A Storage group has not all been changed"; + } + enum storagemgmtnotinit { + value 63; + description + "Storage Management is not Init"; + } + enum tspathnotchanged { + value 64; + description + "TS System Path list is not changed "; + } + enum cryptoinitnotcompleted { + value 65; + description + "Crypto Initialization is not completed"; + } + enum notinunidentified { + value 66; + description + "The agent is not in unidentified state "; + } + enum platformpathinvalid { + value 67; + description + "The platform provided path is invalid "; + } + enum platformudiinvalid { + value 68; + description + "The platform provided UDI is invalid "; + } + enum storageobjfailtocreate { + value 69; + description + "failed to create Trusted Store object "; + } + enum storageobjfailtoerase { + value 70; + description + "failed to erase trusted store object "; + } + enum storageobjdoesnotexist { + value 71; + description + "trusted storage object/file does not exist"; + } + enum messageeventexceedspeer { + value 72; + description + "The message event is beyond the peer "; + } + enum codevalidationfailed { + value 73; + description + "Validation of the authorization key failed. + It probably does not match the UDI. The device will go to + the unidentified state (not registered)"; + } + enum reserved { + value 74; + description + "operation not supported because the agent is running in + permanent License reservation mode"; + } + enum noreservationinprogress { + value 75; + description + "No license reservation is in progress "; + } + enum noauthorizationinstalled { + value 76; + description + "No authorization code instaled in device "; + } + enum reservationmismatch { + value 77; + description + "The reservation authorization code does not match the + reservation request code"; + } + enum notreservationmode { + value 78; + description + "not in license reservation mode "; + } + enum reservationerror { + value 79; + description + " General reservation error. This is used with the API + functions that are called by the CLI. the API will return a + very specific displayString that describes the error."; + } + enum sysmgrinit { + value 80; + description + "Sysmgr Init Failed "; + } + enum alreadyexists { + value 81; + description + "Generic error for something already existing "; + } + enum listinsertfailed { + value 82; + description + "Error in object insert to xos list "; + } + enum sessionmgmtnotinit { + value 83; + description + "Session management not initialized"; + } + enum listinitfailed { + value 84; + description + "Error Creating Linked List"; + } + enum listbusy { + value 85; + description + "List in use"; + } + enum noclients { + value 86; + description + "No Connected Clients "; + } + enum ipc { + value 87; + description + "Generic IPC layer error "; + } + enum ipcopen { + value 88; + description + "The IPC socket open error "; + } + enum ipcinit { + value 89; + description + "The IPC Initialization error "; + } + enum ipcconnect { + value 90; + description + "The IPC Connection error "; + } + enum ipcevents { + value 91; + description + "The IPC Server Event error "; + } + enum ipcmgmt { + value 92; + description + "The IPC Management error "; + } + enum ipcsend { + value 93; + description + "The IPC Send error "; + } + enum ipcreceive { + value 94; + description + "The IPC Recevive error "; + } + enum ipctimeout { + value 95; + description + "The IPC Recevive error "; + } + enum enqueuefailed { + value 96; + description + "Failed to enqueue a message to the IPC Queue"; + } + enum dequeuefailed { + value 97; + description + "Failed to dequeue a message from the IPC queue"; + } + enum shuttingdown { + value 98; + description + "Fail because we are about to shutdown and we need + to stop processing any more messages or responses"; + } + enum couldnotvalidatetrustchain { + value 99; + description + "Could not validate Trust Chain"; + } + enum reservationalreadyinstalled { + value 100; + description + "The reservation authorization code is already installed "; + } + enum reservationinstallparsefail { + value 101; + description + "Failed to parse reservation authorization code "; + } + enum base64encoding { + value 102; + description + "Base64 encoding failed "; + } + enum base64decoding { + value 103; + description + "Base64 decoding failed "; + } + enum invalidsoftwareidtag { + value 104; + description + "Failed to find UUID inside software id tag "; + } + enum certificatemismatch { + value 105; + description + "Development certificates are being used with Production + Root certificate "; + } + enum noreservation { + value 106; + description + "No License Reservation "; + } + enum agentunreachable { + value 107; + description + "the agent Daemon is unreachable "; + } + enum ignoreevent { + value 108; + description + "the agent ignores event "; + } + enum b58overflow { + value 109; + description + "Base58 overflow, number too large. "; + } + enum b58decode { + value 110; + description + "Base58 decode error. "; + } + enum b58badlen { + value 111; + description + "Bad base58 length. "; + } + enum b58invdigit { + value 112; + description + "Invalid base58 digit. "; + } + enum b58decodeoverflow { + value 113; + description + "Overflow detected during base58 decode. "; + } + enum reservationversionoutofbound { + value 114; + description + "Reservation version out of bound "; + } + enum base58encode { + value 115; + description + "General Base58 encoding error "; + } + enum duplicatedentry { + value 116; + description + "General error code for adding item that already exists. + Used in App HA setup when adding an HA peer device info that + is already added "; + } + enum missingentry { + value 117; + description + "General error code for trying to remove item that do + not exist. Used in App HA setup when removing an HA peer device + info that does not exist"; + } + enum badpeerinfoformat { + value 118; + description + "The given peer info contain incorrect data format "; + } + enum badapplicationhaattributedataset { + value 119; + description + "The given handle attribute list contains incomplete + application HA attributes"; + } + enum reservationinprogress { + value 120; + description + "license reservation is in progress "; + } + enum xdmcreatehandle { + value 121; + description + "The xos_dm_create() failure causes this error code to be return "; + } + enum versionmismatchinentitlementrsp { + value 122; + description + "Version in entitlement response message does not match + with the + one already saved from last completed response message. We need + to send entitlemeent request again with proper version and data"; + } + enum harolenotsupported { + value 123; + description + "Given valid HA Role is not supported by this operation. + For Application HA valid roles are Active or Standby."; + } + enum apphainvalidcharacter { + value 124; + description + "Application HA attribute contains invalid character. + Character set supported is alphanumeric."; + } + enum apphaaddpeerfromsamedevice { + value 125; + description + "The peer info given is from the same device. "; + } + enum apphaappduplicatedinstance { + value 126; + description + "When setting Application HA Attribute, a different + handle with exactly + same tag, app ha name, app ha id exists in the agent."; + } + enum versionmismatchinregresponse { + value 127; + description + "Backend server does not support AppHA enabled message + version. So + registration response (from backend) received with status set as + FAILED or VERSION_TOO_HIGH."; + } + enum conversionnocb { + value 128; + description + "Migration function was called but there are no i + call backs registered "; + } + enum conversionnotallowed { + value 129; + description + "Migration was not enabled with the + MIGRATION_ALLOWED property "; + } + enum conversioninprogress { + value 130; + description + "Migration is in progress "; + } + enum conversionalreadystarted { + value 131; + description + "Migration has already been started "; + } + enum conversionnotenabled { + value 132; + description + "Migration is not enabled "; + } + enum versionconversionnotsupported { + value 133; + description + "The backend derver this device is connected to does + not support conversion"; + } + enum noconversioninprogress { + value 134; + description + "No conversion in progress"; + } + enum cryptoversionmismatch { + value 135; + description + "Loaded OpenSSL version is not the same as used for + development"; + } + enum conversionstoppedpartially { + value 136; + description + "Some Smart Licensing Conversion jobs stopped successfully"; + } + enum utilityenabled { + value 137; + description + "Operation is not supported because Utility management + is enabled"; + } + enum utilitynotenabled { + value 138; + description + "Utility is not enabled"; + } + enum transportnotavailable { + value 139; + description + "Transport layer not abvailable"; + } + enum fqdn { + value 140; + description + "Unable to get FQDN"; + } + enum thirdparty { + value 141; + description + "The current transport type does not support this feature"; + } + enum transporttype { + value 142; + description + "The transport type needed is not configured"; + } + enum requesteditemnotfound { + value 143; + description + "The requested item was not found"; + } + enum noreservationauthcode { + value 144; + description + "No reservation authorization code installed in device"; + } + enum max { + description + "max error code"; + } + } + description + "Smart License error codes returned by + Smart Licensing RPC calls"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-smart-license.yang b/vendor/cisco/xe/17151/cisco-smart-license.yang new file mode 100644 index 000000000..85e4a93d5 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-smart-license.yang @@ -0,0 +1,2363 @@ +module cisco-smart-license { + namespace "http://cisco.com/ns/yang/cisco-smart-license"; + prefix cisco-smart-license; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-yang-types { + prefix yang; + } + import ietf-inet-types { + prefix inet; + } + include cisco-smart-license-errors; + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "Smart licensing configuration, RPC, notification and operational data. + + Copyright (c) 2016-2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2021-03-01 { + description + "- Added support for conversion status for each product instance in an + HA configuration + - Added support for RUM report keys for all closed and unacked reports + - Added support for RUM ACK status information + - Added support for information about licenses purchased and installed + for each device at manufacturing time + - Added support for information about all licenses that are authorized"; + } + revision 2020-11-01 { + description + "- Added support for policies & usage reporting for 17.4.1 + - Added leaf node authorization return string for online and offline + authorization code return"; + } + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2017-10-11 { + description + "Initial Revision to allow register/de-register, enable/disable, + get register status, receive notifications, get + license usage and other state information."; + reference + "https://software.cisco.com/"; + } + + typedef fail-message-type { + type string { + length "0..255"; + } + description + "If an operation failed then this the message that + can be displayed for the user. This is not a parsable string."; + } + + typedef notif-register-failure-enum { + type enumeration { + enum general-failure { + value 0; + description + "General failure."; + } + enum already-registered-failure { + value 1; + description + "This smart licensing instance is already registered."; + } + enum de-register-failure { + value 2; + description + "The de-register failed because this instance is not registered."; + } + } + description + "Registration failure reasons. In all cases + notif-failure-data-group.message will contain a more + detailed failure message."; + } + + typedef registration-state-enum { + type enumeration { + enum reg-state-not-registered { + value 0; + description + "This smart licensing instance is not registered."; + } + enum reg-state-complete { + value 1; + description + "Registration was successful and this smart licensing + instance is registered."; + } + enum reg-state-in-progress { + value 2; + description + "Registration is in progress."; + } + enum reg-state-retry { + value 3; + description + "The initial registration attempt failed but + a retry is in progress."; + } + enum reg-state-failed { + value 4; + description + "Registration failed."; + } + } + description + "The smart licensing registration state."; + } + + typedef authorization-state-enum { + type enumeration { + enum auth-state-none { + value 0; + description + "No licenses are in use so there is no authorization + state to report."; + } + enum auth-state-eval { + value 1; + description + "Evaluation period is in use and is counting down."; + } + enum auth-state-eval-expired { + value 2; + description + "Evaluation period in use but it has expired."; + } + enum auth-state-authorized { + value 3; + description + "All license usage is authorized and within terms + of the customer's contract."; + } + enum auth-state-authorized-reservation { + value 4; + description + "All license usage is authorized because a + reservation authorization code is installed."; + } + enum auth-state-out-of-compliance { + value 5; + description + "License usage is out of compliance with the + terms of the contract. Either too many licenses are in + use or licenses that were not purchased are in use."; + } + enum auth-state-authorization-expired { + value 6; + description + "The authorization period has expired because this + product instance has not communicated with the + SSM or satellite in over 90 days."; + } + } + description + "The smart licensing authorization state."; + } + + typedef utility-reporting-type-enum { + type enumeration { + enum utility-reporting-type-none { + value 0; + description + "The system is not reporting utility usage data."; + } + enum utility-reporting-type-subscription { + value 1; + description + "The system is reporting utility usage data because it has + received subscription information from either the SSM or + satellite."; + } + enum utility-reporting-type-certificate { + value 2; + description + "The system is reporting utility usage data because it has + received a utility certificate from a Third Party + Billing Platform."; + } + } + description + "What has triggered the system to start reporting utility usage."; + } + + typedef transport-type-enum { + type enumeration { + enum transport-type-callhome { + value 0; + description + "Smart Licensing is using callhome for communications."; + } + enum transport-type-smart { + value 1; + description + "Smart licensing is using the smart transport for + communications."; + } + enum transport-type-cslu { + value 2; + description + "Smart licensing is using the Cisco Smart License Utility + cslu transport for communications."; + } + enum transport-type-off { + value 3; + description + "Smart licensing is using the Offline method for communications."; + } + enum transport-type-automatic { + value 4; + description + "Smart licensing will automatically select + transport for communications."; + } + } + description + "The type of transport in use by smart licensing."; + } + + typedef enforcement-mode-enum { + type enumeration { + enum enforcement-waiting { + value 0; + description + "The initial state after an entitlement request while we are waiting + the Authorization request response. In this mode the device will + have established communications with Cisco and successfully + registered with the Cisco Licensing cloud."; + } + enum enforcement-in-compliance { + value 1; + description + "Cisco Smart Software Manager (CSSM) has responded that + the entitlement requested is in compliance."; + } + enum enforcement-out-of-compliance { + value 2; + description + "Cisco Smart Software Manager (CSSM) has responded that + the entitlement requested is out of compliance. + either too many licenses /entitlements are in use or the license + has not been purchased"; + } + enum enforcement-overage { + value 3; + description + "more licenses are in use than were purchased but the customer + is still within the terms of their contract"; + } + enum enforcement-evaluation { + value 4; + description + "The evaluation period is in use. + It will remain in use until the following + two messages have been received by the product from the + Cisco Smart Software Manager (CSSM): + Successful response to a registration request, + successful response to an entitlement authorization request"; + } + enum enforcement-evaluation-expired { + value 5; + description + "The evaluation period has expired"; + } + enum enforcement-authorization-expired { + value 6; + description + "Authorization period has expired. This will occur if the product + has not been able to communicate with Cisco or a satellite + for an extended period of time, usually 90 days."; + } + enum enforcement-reservation-in-compliance { + value 7; + description + "The entitlement requested is in compliance because + a reservation authorization code is installed and the product + is in Permanent License Reservation mode."; + } + enum enforcement-invalid-tag { + value 8; + description + "The entitlement tag is invalid. + The CSSM does not recognize the entitlement tag + because it is not in the database. This usually only occurs + during testing."; + } + enum enforcement-disabled { + value 9; + description + "Smart licensing has been disabled. The feature using this license + should be disabled."; + } + } + description + "For an entitlement tag (license) that is in use this enumeration + tells us how the license is being enforced."; + } + + typedef policy-types-enum { + type enumeration { + enum policy-type-cisco-invalid { + value 0; + description + "The invalid policy."; + } + enum policy-type-cisco-default { + value 1; + description + "The cisco default policy."; + } + enum policy-type-platform-default { + value 2; + description + "The default policy for this platform."; + } + enum policy-type-factory-installed { + value 3; + description + "The default policy installed in factory."; + } + enum policy-type-custom { + value 4; + description + "The policy configure by user."; + } + enum policy-type-plr { + value 5; + description + "Special policy type for PLR."; + } + enum policy-type-fla { + value 6; + description + "Special policy type for FLA."; + } + enum policy-type-controller { + value 7; + description + "The policy type for controller."; + } + enum policy-type-merged { + value 8; + description + "Merged policy - policy is merged from multiple source."; + } + } + description + "The types of policies that can be in use."; + } + + typedef conversion-status-enum { + type enumeration { + enum conversion-status-not-supported { + value 0; + description + "The license conversion is not supported on this + product instance."; + } + enum conversion-status-not-started { + value 1; + description + "The license conversion has not started yet"; + } + enum conversion-status-started { + value 2; + description + "Conversion has started. The conversion data has been sent + to Cisco. A reply confirming receipt is expected."; + } + enum Conversion-status-success { + value 3; + description + "Conversion Success"; + } + enum conversion-status-already-converted { + value 4; + description + "Conversion data was received by Cisco. Already converted"; + } + enum conversion-status-failed { + value 5; + description + "Conversion has failed."; + } + enum conversion-status-polling { + value 6; + description + "Conversion polling the satellite for a response."; + } + } + description + "Status of a license conversion."; + } + + typedef rum-report-state-enum { + type enumeration { + enum rum-report-state-invalid { + value 0; + description + "Rum report is newly created and measurement + and metadata can be added."; + } + enum rum-report-state-open { + value 1; + description + "Report is currently open. New measurements may + still be added."; + } + enum rum-report-state-closed { + value 2; + description + "Report is closed. New measurements will not be added. + Report has not been requested from the data model."; + } + enum rum-report-state-pending { + value 3; + description + "Report was sent to a remote end point but was not + acknowledged yet."; + } + enum rum-report-state-unacknowledged { + value 4; + description + "Report has been requested from the data model at least once + but not acknowledged."; + } + enum rum-report-state-acknowledged { + value 5; + description + "Report was sent to remote end and acknowledged."; + } + } + description + "The state of a ISO19770-4 Resource Utilization Measurement + (RUM) report in the data model. This state is + used by the Cisco Smart License Utility (CSLU) so it can + easily determine which RUM + reports it has requested in the past and which are new reports + that it should request."; + } + + typedef license-enforcement-type-enum { + type enumeration { + enum license-enforcement-type-invalid { + value 0; + description + "License type is invalid."; + } + enum license-enforcement-type-unenforced { + value 1; + description + "License type is unenforced."; + } + enum license-enforcement-type-enforced { + value 2; + description + "License type is enforced."; + } + enum license-enforcement-type-export { + value 3; + description + "License type is export restricted."; + } + } + description + "The license (entitlement tag) type."; + } + + typedef license-term-type-enum { + type enumeration { + enum license-term-type-none { + value 0; + description + "License term type is none."; + } + enum license-term-type-perpetual { + value 1; + description + "License term type is perpetual."; + } + enum license-term-type-term { + value 2; + description + "License term type is term."; + } + enum license-term-type-subscription { + value 3; + description + "License term type is subscription."; + } + } + description + "The license (entitlement tag) term type."; + } + + typedef license-auth-type-enum { + type enumeration { + enum authorization-type-none { + value 0; + description + "Authorization code is not installed"; + } + enum authorization-type-auth-code { + value 1; + description + "Smart license authorization code"; + } + enum authorization-type-slr { + value 2; + description + "Specific License Reservation authorization code"; + } + enum authorization-type-plr { + value 3; + description + "Permanent License Reservation + authorization code"; + } + enum authorization-type-fla { + value 4; + description + "Federal License Authorization code"; + } + enum authorization-type-pak { + value 5; + description + "This is an authorization that was fulfilled from a + Product Activation Key (PAK) and was previously installed + using Cisco Software Licensing (CSL)."; + } + } + description + "The types of authorizations that may be installed"; + } + + grouping registration-fail-info { + description + "Failure info for a registration failure."; + leaf fail-time { + type yang:date-and-time; + description + "Time the registration failed."; + } + leaf fail-message { + type fail-message-type; + description + "Failure message that can be displayed for the user. + This is not a parsable message."; + } + } + + grouping registration-state { + description + "The state of the registration for this product instance."; + leaf registration-state { + type registration-state-enum; + description + "The current registration state."; + } + container registration-in-progress { + when "../registration-state = 'reg-state-in-progress'"; + description + "Registration is in progress."; + leaf start-time { + type yang:date-and-time; + description + "Time the registration started."; + } + } + container registration-failed { + when "../registration-state = 'reg-state-failed'"; + description + "Registration failed."; + uses registration-fail-info; + } + container registration-retry { + when "../registration-state = 'reg-state-retry'"; + description + "Registration failed and doing a retry."; + leaf retry-next-time { + type yang:date-and-time; + description + "Time the registration will be retried."; + } + uses registration-fail-info; + } + container registration-complete { + when "../registration-state = 'reg-state-complete'"; + description + "Registration success."; + leaf complete-time { + type yang:date-and-time; + description + "Time the registration was successful."; + } + leaf last-renew-time { + type yang:date-and-time; + description + "Time the last registration renewal occurred. + If empty then no renewal has occurred."; + } + leaf next-renew-time { + type yang:date-and-time; + description + "Time the registration will be automatically renewed."; + } + leaf expire-time { + type yang:date-and-time; + description + "Time the registration will expire if it is not renewed."; + } + leaf last-renew-success { + type boolean; + description + "Was the last renewal attempt successful."; + } + leaf fail-message { + type fail-message-type; + description + "If the last renewal failed then this is a failure message that + can be displayed for the user. + This is not a parsable string. + Only present if the last renewal failed"; + } + leaf smart-account { + type string { + length "1..255"; + } + description + "The smart account name for this registration."; + } + leaf virtual-account { + type string { + length "1..255"; + } + description + "The virtual account name for this registration."; + } + } + leaf export-control-allowed { + type boolean; + description + "Is the device allowed to enable export controlled features."; + } + } + + grouping udi { + description + "The Smart Licensing UDI definition. + A UDI will contain one or more of the fields defined. + While the pid and sn fields are most commonly used + different product types will use different fields. This UDI + will be unique for each product instance that is installed."; + leaf pid { + type string { + length "1..255"; + } + description + "The Product Identifier. Always combined with sn."; + } + leaf sn { + type string { + length "1..255"; + } + description + "The system serial number. Always combined with pid."; + } + leaf vid { + type string { + length "1..255"; + } + description + "The version identifier. Usually combined with pid & sn."; + } + leaf uuid { + type yang:uuid; + description + "A 32 byte hex value generated by the system. + This will be in proper UUID format 8-4-4-4-12. Often used by VMs + or other systems that do not have a hardware identifier."; + } + leaf suvi { + type string { + length "1..255"; + } + description + "Free form virtual identifier often used by software + only devices like software routers or VMs."; + } + leaf host-identifier { + type string { + length "1..255"; + } + description + "Host identifier available on some systems. + Typically 8 hex digits."; + } + leaf mac-address { + type yang:mac-address; + description + "The MAC address of the system. This is usually only used if there + is nothing else available to be used as an identifier."; + } + } + + grouping authorization-info { + description + "Additional authorization state information used by some of + the authorization states."; + leaf last-comm-status-success { + type boolean; + description + "Last communication was successful or failed."; + } + leaf fail-message { + type fail-message-type; + description + "Failure message if the last communications attempt failed. + This can be displayed for the user. It is not a parsable string."; + } + leaf last-comm-time { + type yang:date-and-time; + description + "Time the last communication attempt happened."; + } + leaf next-comm-time { + type yang:date-and-time; + description + "The next time communications will be attempted to the back end. + This will be zero if the initial communication has not completed."; + } + leaf comm-deadline-time { + type yang:date-and-time; + description + "If there are no communications between now and this time + smart licensing will enter the authorization expired state. + This may be zero indicating there is no deadline."; + } + } + + grouping evaluation-time-left { + description + "Number of seconds of license usage until the evaluation + period expires."; + leaf seconds-left { + type uint64; + description + "Number of seconds of license usage until the evaluation + period expires. Note that this not a hard date and time because + if no licenses are in use the evaluation period stops + counting down."; + } + } + + grouping authorization-state { + description + "The license authorization state."; + leaf authorization-state { + type authorization-state-enum; + description + "The current authorization state."; + } + container authorization-none { + when "../authorization-state = 'auth-state-none'"; + description + "No licenses in use. This empty container is not needed but is + a place holder to show there is no data for this state."; + } + container authorization-eval { + when "../authorization-state = 'auth-state-eval'"; + description + "Evaluation period is in use and counting down. + The evaluation period only counts down when licenses are + in use."; + uses evaluation-time-left; + } + container authorization-eval-expired { + when "../authorization-state = 'auth-state-eval-expired'"; + description + "Evaluation period is in use but has expired."; + leaf expire-time { + type yang:date-and-time; + description + "Time the evaluation period expired."; + } + } + container authorization-authorized { + when "../authorization-state = 'auth-state-authorized'"; + description + "All license usage is authorized and within terms of the contract."; + uses authorization-info; + } + container authorization-authorized-reservation { + when "../authorization-state = 'auth-state-authorized-reservation'"; + description + "All license usage is authorized because a + reservation authorization code is installed."; + leaf reservation-time { + type yang:date-and-time; + description + "Time the reservation occurred."; + } + } + container authorization-out-of-compliance { + when "../authorization-state = 'auth-state-out-of-compliance'"; + description + "License usage is out of compliance with the terms of the + contract because more licenses are in use than were purchased."; + uses authorization-info; + leaf ooc-time { + type yang:date-and-time; + description + "Time the product instance entered the out of compliance state."; + } + } + container authorization-authorization-expired { + when "../authorization-state = 'auth-state-authorization-expired'"; + description + "The authorization period has expired because the product + instance ahs not communicated with the SSM or satellite in + over 90 days."; + uses authorization-info; + } + } + + grouping customer-info { + description + "Customer name and address information."; + leaf id { + type string { + length "1..250"; + } + description + "The cisco issued customer id which will be included + in the utility usage (RUM) report."; + } + leaf name { + type string { + length "1..250"; + } + description + "The customer company name which will be included + in the utility usage (RUM) report."; + } + leaf street { + type string { + length "1..250"; + } + description + "The customer company street address which will be included + in the utility usage (RUM) report."; + } + leaf city { + type string { + length "1..250"; + } + description + "The customer company city which will be included + in the utility usage (RUM) report."; + } + leaf state { + type string { + length "1..250"; + } + description + "The customer company state which will be included + in the utility usage (RUM) report."; + reference + "ISO3166 standard for state codes."; + } + leaf country { + type string { + length "1..250"; + } + description + "The customer company country which will be included + in the utility usage (RUM) report."; + reference + "ISO3166 standard for country codes."; + } + leaf postal-code { + type string { + length "1..250"; + } + description + "The customer location specific postal code + which will be included in the utility usage (RUM) report."; + } + } + + grouping utility-state { + description + "State of utility reporting in smart licensing."; + leaf enabled { + type boolean; + description + "Utility reporting is enabled. The system still + needs a utility certificate registration or a subscription + to begin reporting actual utility data."; + } + leaf reporting { + type utility-reporting-type-enum; + description + "Is the system reporting utility data. If so then what triggered + it to start reporting. If this is utility-reporting-none then all + of the times below will be zero."; + } + container reporting-times { + when "../reporting != 'utility-reporting-none'"; + description + "If the product instance is reporting utility data this will + contain various timing information about that reporting."; + leaf last-report-time { + type yang:date-and-time; + description + "Time the last report was sent."; + } + leaf last-report-success { + type boolean; + description + "Was the last report successfully sent?"; + } + leaf fail-message { + type fail-message-type; + description + "Failure message if the last report send failed."; + } + leaf next-report-time { + type yang:date-and-time; + description + "Time the next report is scheduled to be sent."; + } + } + container customer-info { + when "../reporting != 'utility-reporting-none'"; + description + "Customer address information that will be sent + in the utility usage reports."; + uses customer-info; + } + } + + grouping transport-state { + description + "Transport settings. Smart licensing uses the transport to + send messages to the CSSM, satellite or + Third Party Billing Platform."; + leaf transport-type { + type transport-type-enum; + description + "Type of communications transport smart licensing is using."; + } + container url-settings { + when "../transport-type = 'transport-type-smart'"; + description + "URLs in use if the transport type is smart."; + leaf url-registration { + type inet:uri; + description + "The URL used for registration, authorization and any + other messages not related to utility."; + } + leaf url-utility { + type inet:uri; + description + "The URL used for utility reporting. url-utility and + url-registration may be the same or different. If a satellite + is in use then they will probably be the same."; + } + } + } + + grouping privacy-info { + description + "Will smart licensing send the host name in any outgoing messages."; + leaf hostname { + type boolean; + description + "If true then the hostname will not be sent in + any messages."; + } + leaf version { + type boolean; + description + "If true then the smart licensing version will not be sent in + any messages."; + } + } + + grouping eval-period-state { + description + "State of the evaluation period. In use or not and time left."; + leaf eval-in-use { + type boolean; + description + "Is the evaluation period currently in use and counting down."; + } + leaf eval-expired { + type boolean; + description + "Has the evaluation period expired."; + } + container eval-period-left { + when "../eval-expired = 'false'"; + description + "If the evaluation period is not expired this is the number + of seconds left in the period."; + leaf time-left { + type uint32; + description + "Number of seconds of license usage until the evaluation + period expires."; + } + } + container eval-expire-time { + when "../eval-expired = 'true'"; + description + "If the evaluation period has expired then this is the + time of the expiration."; + leaf expire-time { + type yang:date-and-time; + description + "Date and time the evaluation period expired."; + } + } + } + + grouping license-usage { + description + "State of usage for a single entitlement tag (license)."; + leaf entitlement-tag { + type string; + description + "The ISO 19770 entitlement tag used to define this license."; + } + leaf short-name { + type string; + description + "The human readable license name from the entitlement tag."; + } + leaf license-name { + type string; + description + "The license name that can be seen in the CSSM portal or on + the satellite. + This is only available after the product has registered."; + } + leaf description { + type string; + description + "The long description of this license. + This is only available after the product has registered."; + } + leaf count { + type uint32; + description + "The in-use count of this license. Note that licensing only reports + usage for licenses that are in use (count of 1 or greater)."; + } + leaf enforcement-mode { + type enforcement-mode-enum; + description + "The current enforcement mode of this license."; + } + leaf post-paid { + type boolean; + description + "If true then this entitlement is being reported in a post paid mode + with utility usage reports. Otherwise it will be reported in + the regular prepaid mode."; + } + leaf subscription-id { + type string; + description + "If this entitlement tag is being reported in the post paid + utility usage mode and there is a subscription id in the customer's + virtual account this will be that subscription id."; + } + } + + grouping notif-failure-data-group { + description + "Describes why a register operation failed."; + leaf reason { + type notif-register-failure-enum; + description + "Why did the operation fail."; + } + leaf message { + type fail-message-type; + description + "A message describing the details of the failure."; + } + } + + grouping customer-tags-grouping { + description + "Customer defined fields in usage reporting."; + leaf tag1 { + description + "Customer defined tag field one"; + type string { + length "1..127"; + } + } + leaf tag2 { + description + "Customer defined tag field two"; + type string { + length "1..127"; + } + } + leaf tag3 { + description + "Customer defined tag field three"; + type string { + length "1..127"; + } + } + leaf tag4 { + description + "Customer defined tag field four"; + type string { + length "1..127"; + } + } + } + + grouping policy-attributes-grouping { + description + "Policy attributes"; + leaf reporting-first-time { + type uint32; + description + "Number of days before the first usage report is required."; + } + leaf reporting-ongoing { + type uint32; + description + "Number of days after the first usage report that subsequent + usage reports are required."; + } + leaf reporting-macd { + type uint32; + description + "Number of days after a Move Add Change Delete (MACD) + operation that a new report is required."; + } + } + + grouping policy-state-grouping { + description + "Information about which policy is in force and the + attributes that are set."; + leaf policy-type { + type policy-types-enum; + description + "Which policy is in force."; + } + leaf policy-name { + type string; + description + "The name of the policy if there is one. This comes from + the 'name' field in the policy XML file."; + } + leaf install-time { + type yang:date-and-time; + description + "The time a policy file was installed."; + } + leaf ack-required { + type boolean; + description + "Indicates if an ACK is required on the product for each RUM + report to pervent the syslog from being sent."; + } + container policy-enforced { + description + "Attributes for an enforced license."; + uses policy-attributes-grouping; + } + container policy-export { + description + "Attributes for an export license."; + uses policy-attributes-grouping; + } + container policy-subscription { + description + "Attributes for an subscription license."; + uses policy-attributes-grouping; + } + container policy-perpetual { + description + "Attributes for a perpetual license."; + uses policy-attributes-grouping; + } + } + + grouping trust-code-state-grouping { + description + "Trust code information for a single device (UDI)."; + leaf key_udi { + type string; + description + "This single string key can be used to look up trust code + information of product instance"; + } + leaf is-installed { + type boolean; + description + "If true then a trust code is installed."; + } + leaf time-installed { + when "../is-installed = 'true'"; + type yang:date-and-time; + description + "The time the trust code was installed."; + } + container udi { + description + "UDI of the device this trust code state is for."; + uses udi; + } + } + + grouping conversion-state-grouping { + description + "license conversion status of a single UDI"; + leaf key_udi { + type string; + description + "This single string key can be used to look up conversion + information of product instance"; + } + leaf status { + type conversion-status-enum; + description + "Conversion status"; + } + leaf status-time { + type yang:date-and-time; + description + "The date and time the status last changed."; + } + container udi { + description + "UDI of this status"; + uses udi; + } + } + + grouping rum-report-basic-info-grouping { + description + "Basic RUM report info used in multiple groups"; + leaf report-id { + type uint64; + description + "The RUM report id number. id numbers are unique to a UDI"; + } + container udi { + description + "UDI of the Product Instance in a High Availability (HA) + configuration that the notification applies to."; + uses udi; + } + leaf report-start-time { + type yang:date-and-time; + description + "The start time of the first measurement in the RUM report"; + } + leaf report-end-time { + type yang:date-and-time; + description + "The end time of the last measurement in the RUM report"; + } + leaf report-state { + type rum-report-state-enum; + description + "The state of a RUM report in the data model. This state is + used by the CSLU so it can easily determine which RUM + reports it has requested in the past and which are new + reports that it should request."; + } + } + + grouping rum-report-summary-grouping { + description + "Key information used to lookup rum reports in a different + list."; + uses rum-report-basic-info-grouping; + leaf rum-report-key { + type string; + description + "This single string key can be used to look up RUM reports + in a different list. It will uniquely identify the + combination of product Instance and report."; + } + } + + grouping rum-ack-state-grouping { + description + "Information about the ACKs of RUM reports"; + leaf last-received-time { + type yang:date-and-time; + description + "Time an ACK was last received."; + } + leaf next-report-deadline { + type yang:date-and-time; + description + "Time the next ACK is expected to be received."; + } + } + + grouping authorization-confirmation-code-grouping { + description + "If an authorization code import overwrote an existing + authorization code + then this confirmation code must be returned to the + Cisco Smart Software Manger (CSSM)."; + container udi { + description + "UDI of this confirmation code"; + uses udi; + } + leaf confirmation-code { + type string { + length "1..255"; + } + description + "The confirmation code that must be retunred to + Cisco Smart Software Manger (CSSM)"; + } + } + + grouping subscription-info-grouping { + description + "If a license term type is license-term-type-subscription + then this group will contain the subscription information."; + leaf start-time { + type yang:date-and-time; + description + "Start time for the subscription."; + } + leaf end-time { + type yang:date-and-time; + description + "End time for the subscription."; + } + leaf subscription-id { + type string; + description + "Subscription id (if available) for this subscription"; + } + } + + grouping license-info-grouping { + description + "General entitlement tag (license) information."; + leaf entitlement-tag { + type string; + description + "The ISO 19770 entitlement tag used to define this license."; + } + leaf short-name { + type string; + description + "The human readable license name from the entitlement tag."; + } + leaf license-name { + type string; + description + "The license name that can be seen in the + Cisco Smart Software Manger (CSSM) portal."; + } + leaf description { + type string; + description + "The long description of this license."; + } + leaf count { + type uint32; + description + "The count of this license."; + } + leaf license-enforcement-type { + type license-enforcement-type-enum; + description + "Indicates what enforcement type of license this is."; + } + leaf license-term-type { + type license-term-type-enum; + description + "Indicates the type of term used for this licnese."; + } + } + + grouping factory-purchase-state-grouping { + description + "Information about the licenses the customer purchased for this + device which are installed at manufacturing time."; + leaf key_udi { + type string; + description + "This single string key can be used to look up factory purchase + information of product instance"; + } + container udi { + description + "UDI of this purchase information"; + uses udi; + } + list basic-license-info { + key "entitlement-tag"; + uses license-info-grouping; + uses subscription-info-grouping; + description + "The license information"; + } + } + + grouping license-auth-install-info { + description + "Authorization install status"; + leaf install-type { + type license-auth-type-enum; + description + "The type of authorization that is installed."; + } + leaf install-time { + type yang:date-and-time; + description + "Time the authorization was installed. If blank then + the install time is not not known."; + } + } + + grouping license-auth-overall-info { + description + "Status of any authorizations installed for a Product + Instance"; + leaf key_udi { + type string; + description + "This single string key can be used to look up trust code + information of product instance"; + } + container udi { + description + "UDI of this device"; + uses udi; + } + list installed-list { + key "install-type"; + uses license-auth-install-info; + description + "List of all authorizations installed on this device"; + } + } + + grouping license-auth-info { + description + "Information about how a single license is authorized."; + leaf entitlement-tag { + type string; + description + "The ISO 19770-2 entitlement tag used to define + this license."; + } + leaf short-name { + type string; + description + "The human readable license name from the entitlement tag."; + } + leaf license-name { + type string; + description + "The license name that can be seen on the + Cisco Smart Software Manger (CSSM)."; + } + leaf description { + type string; + description + "The long description of this license."; + } + leaf total-count { + type uint32; + description + "The total aggregated count available for this license."; + } + leaf license-enforcement-type { + type license-enforcement-type-enum; + description + "Indicates what type of license this is."; + } + } + + grouping license-auth-status-info { + description + "Information about all licenses that are either enforced + or export restricted and are authorized to be used."; + list overall-status { + key "key_udi"; + uses license-auth-overall-info; + description + "List of the authroization code install information for + each device"; + } + list authorization-list { + key "entitlement-tag"; + uses license-auth-info; + description + "List of license and details of how each is authorized. + If a license is not in this list then it is not authorized."; + } + } + + rpc register-id-token { + description + "Register with an ID token. + This will begin the registration process. Since the registration + process will take somewhere between seconds and hours you must get the + registration-success or registration-fail notifications + or check the registration status in smart-license:state + to know the status of the registration."; + input { + leaf id-token { + type string { + length "1..255"; + } + description + "The ID token used to register."; + } + leaf force { + type boolean; + default "false"; + description + "Force the registration if set."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code. + If smart licensing is not enabled (status:enabled) + then the error will be error-enum:notenabled. + On success the return code will be + error-enum:registrationinprogress."; + } + } + } + + rpc de-register { + description + "De-register. This will immediately de-register the device."; + output { + leaf return-code { + type error-enum; + description + "The return code for the de-register process."; + } + } + } + + rpc renew-id { + description + "Under normal operations smart licensing will automatically renew + the ID certificates used for regsitration. This command can + be used if he customer wants to initiate a manual + registration renewal."; + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc renew-auth { + description + "Under normal operations smart licensing will automatically renew + the license authorization every 30 days. This command can + be used if he customer wants to iinitiate a manual + renewal."; + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc id-token-trust { + description + "Establish trust with the Cisco Smart Software Manager (CSSM) + using an ID token. + This will begin the trust establishment process. Since the + process will take somewhere between seconds and hours you + must get the trust-success or trust-fail notifications + or check the trust status in smart-license:state."; + input { + leaf id-token { + mandatory true; + type string { + length "1..255"; + } + description + "The ID token used to establish trust."; + } + leaf all-ha { + type boolean; + default "false"; + description + "If true, perform the operation for all devices + in an HA configuration. If false, then only establish + trust for the active device."; + } + leaf force { + type boolean; + default "false"; + description + "Force the trust establishment even if the product + instance has already establish trust with the CSSM."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code. + On success the return code will be + error-enum:registrationinprogress."; + } + } + } + + rpc rum-save-usage-all { + description + "Save all RUM reports in the file path specified. + Can be a local path or a network path. + This could create a file that is a few MB in size."; + input { + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to write the RUM + reports to."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc rum-save-usage-unreported { + description + "Save unreported RUM reports in the file path specified. + Can be a local path or a network path"; + input { + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to write the RUM reports to."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc rum-save-usage-days { + description + "Save all RUM reports in the file path specified. + Can be a local path or a network path"; + input { + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to write the RUM reports to."; + } + leaf days { + type uint32; + description + "Save RUM reports that include measurements in the + specified number of days"; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc trust-request-save { + description + "Save the trust request in the file path specified. + Can be a local path or a network path"; + input { + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to write the trust request to."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + } + } + + rpc authorization-request-online { + description + "Queues the request to fetch a node-locked authorization code + from the CSSM or CSLU. If the Product is not connected to the + CSLU or CSSM this command will fail. Command is non-blocking and + will return an immediate failure or an OperationInProgress status. + Later one of these notifications will be sent to indicate the + status of the request: + authorization-code-installed, authorization-code-request-failed "; + input { + leaf feature-name { + mandatory true; + type string { + length "1..255"; + } + description + "The feature name to get the authorization code for. + The smart agent will look this up in it's mapping table + and get the proper entitlement tag for it."; + } + leaf local { + type boolean; + default "true"; + description + "Applies to an HA configuration. If true, the authroization + request will only be for the active device. If False, the + authorization request will apply to all devices in the + HA configuration."; + } + leaf add { + type boolean; + default "true"; + description + "Applies to an HA configuration. If true, the authroization + request will add the license to the existing authorization code + If false, the authorization request will replace the existing + authorization code with a new authorization code that + contains only a license for the feature requested."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code. Under normal operations this will return + OperationInProgress."; + } + } + } + + rpc authorization-code-return-online { + description + "Returns a currently installed authorization code. + If an entitlement tag is in use and was authorized + by the current authorization code then the return will fail. + If the Product is not connected to the CSLU or CSSM this command will fail. + The authorization code will first be removed from the product. + Next it will make one attempt to send a message to the CSLU + or CSSM to return the license to the virtural account."; + input { + leaf local { + type boolean; + default "true"; + description + "Applies to an HA configuration. If true, the authroization + return will only be for the active device. + If false, the authorization return will apply to all devices in the + HA configuration."; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code. Under normal operations this will return OperationInProgress"; + } + leaf authorization-return-string { + type string; + description + "The authorization return string that was sent to the CSSM in the message."; + } + } + } + + rpc authorization-code-return-offline { + description + "Returns a currently installed authorization code. + If an entitlement tag is in use and was authorized + by the current authorization code then the return will fail. + The authorization code will first be removed from the product. + Next it write the return code to the file specified."; + input { + leaf local { + type boolean; + default "true"; + description + "Applies to an HA configuration. If true, the authroization + return will only be for the active device. + If false, the authorization return will apply to all + devices in the HA configuration."; + } + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to write the return code to. + This is optional. If included the authorization return string + will be written to the named file. In either case the + authorization return string will be returned in the output"; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code. Under normal operations this will + return OperationInProgress"; + } + leaf authorization-return-string { + type string; + description + "The authorization return string."; + } + } + } + + rpc import-file { + description + "Import any of the various XML codes supported by smart + Licensing from a file. This includes; authorization codes, policies, + trust codes, RUM ACK response, SLR authorization codes, conversion ACK."; + input { + leaf file-path { + mandatory true; + type string { + length "1..127"; + } + description + "The local or network file path to read from"; + } + } + output { + leaf return-code { + type error-enum; + description + "The return code."; + } + leaf confirmation-codes { + type string; + description + "If the import command installed authorization codes and + that install overwrote older authorization codes this list + will contain the confirmation codes that must be returned + to the Cisco Smart Software Manager (CSSM)."; + } + } + } + + notification ready { + description + "Smart Licensing on the product instance has initialized + and is ready to accept the enable command."; + } + + notification enabled { + description + "Smart Licensing on the product instance has been enabled."; + } + + notification registration-fail { + description + "Registration with Cisco failed."; + uses notif-failure-data-group; + } + + notification enforcement-mode { + description + "This indicates how licenses are currently being enforced on the + product instance."; + leaf mode { + type authorization-state-enum; + description + "The current enforcement mode for the licenses on the product instance."; + } + } + + notification registration-success { + description + "Registration with Cisco was successful."; + } + + notification registration-expired { + description + "The registration period has expired because the product instance + has not communicated with the SSM in a very long time."; + uses notif-failure-data-group; + } + + notification registration-renew-success { + description + "The registration renewal with Cisco was successful."; + } + + notification registration-renew-fail { + description + "The registration renewal with Cisco failed."; + uses notif-failure-data-group; + } + + notification authorization-renew-success { + description + "The autorization renewal was successful. + Every 30 days the agent will automatically send the list of + entitlements in use + (even if they have not changed or the list is empty) + to the SSM. The SSM will send back a status of Authorized or + out of compliance."; + } + + notification authorization-renew-fail { + description + "The autorization renewal failed. + Every 30 days the agent will automatically send the list of + entitlements in use + (even if they have not changed or the list is empty) + to the SSM. The SSM will send back a status of Authorized or + out of compliance."; + uses notif-failure-data-group; + } + + notification communications-fail { + description + "Communicatios with the SSM have failed."; + uses notif-failure-data-group; + } + + notification communications-restored { + description + "Communications with the SSM have ben restored."; + } + + notification registration-out-of-range { + description + "The registration period time in the ID Certificate is + out of the valid range after the system clock changed. + This means the current time is either before the start date + or after the expired date. + Smart Licensing will allow a one hour grace period for the system clock + to be changed back into the validity period of the certificate before it + removes the certificate and de-registers the product."; + } + + notification evaluation-expiration-warning { + description + "The evaluation period will expire soon. + This notification will be sent prior to expiration at the following + intervvals: 60 days,30 days, 21 days,14 days, 7 days, + every day in the last week, every hour for the last day."; + uses evaluation-time-left; + } + + notification evaluation-expired { + description + "The evaluation period has expired. This notification will be + sent at the time of expiration and every hour after expiration + unitl all licenses features are turned off or the device is + registered."; + leaf expire-time { + type yang:date-and-time; + description + "The date and time the evaluation period expired."; + } + } + + notification registration-expiration-warning { + description + "The registration period has expired. The normal registration + period is one year and will be automatically renewed every + six months. If the device fails to renew the registration + because of continued communications failures for an additional + six months the registration period will expire and the device + will de-register."; + leaf expire-time { + type yang:date-and-time; + description + "The date and time the registration period expired."; + } + } + + notification de-register-success { + description + "The smart licensing instance has been de-registered. + This could be the result of a user action or an expired registration."; + } + + notification de-register-fail { + description + "de-registration has failed on the SSM or there was a communications + failure so the SSM has not removed product instance from its database. + Locally on the product instance all registration information has + been removed."; + uses notif-failure-data-group; + } + + notification utility-expired { + description + "The certificate used for utility registration with a third party + authenticator has expired. Probably because of continuous communications + failures. The product instance will de-register."; + uses notif-failure-data-group; + } + + notification utility-renewal-fail { + description + "The renewal of the certificate used for utility registration with a + third party authenticator has failed. Possibly because of + a communications failure. The product instance will try the renewal + later."; + uses notif-failure-data-group; + } + + notification utility-renewal-success { + description + "The renewal of the certificate used for utility registration with a + third party authenticator was successful."; + } + + notification utility-RUM-fail { + description + "Failed to sent a RUM (utility usage) report because of a + communications error. the product instance will continue to + attempting sending all reports until successful."; + uses notif-failure-data-group; + } + + notification utility-reporting-started { + description + "The utility billing feature is enabled and is now sending + utility usage reports."; + } + + notification utility-reporting-stopped { + description + "The utility billing feature has been disabled and is no longer sending + utility usage reports."; + } + + container licensing { + container config { + description + "Smart licensing configuration."; + leaf enable { + type boolean; + description + "Enable/disable smart licensing. If state:always-enabled is true then + Smart Licensing is always enabled and config:enable will be + silently ignored"; + } + leaf custom-id { + type string; + description + "A free form ID set by the customer which will be included + in the utility usage (RUM) report and inthe message header."; + } + container privacy { + uses privacy-info; + description + "Controls whether or not some information is sent in messages to the + CSSM or satellite."; + } + container utility { + description + "Utility settings."; + leaf utility-enable { + type boolean; + description + "Indicates the customer's intent to start reporting + utility usage information. This alone does not enable + utility reporting. Either subscription information will be + automatically downloaded from the SSM or a utility + certificate we be loaded if the system registers with a + Third Party Billing Platform."; + } + container customer-info { + description + "Customer address information that will be included in + the utility usage reports."; + uses customer-info; + } + } + container usage { + description + "Setting for Usage reporting."; + leaf interval { + description + "Set the Usage Reporting interval in days."; + type uint32 { + range "1..365"; + } + units "days"; + } + container customer-tags { + description + "Set the customer defined fields."; + uses customer-tags-grouping; + } + } + container transport { + description + "Transport layer settings."; + leaf transport-type { + type transport-type-enum; + description + "The transport type. If transport-type + is set to transport-type-callhome then any additional + transport settings must be done from the callhome CLI. + If the transport-type is set to transport-type-smart + additional settings are available below."; + } + container transport-smart { + when "../transport-type = 'transport-type-smart'"; + description + "Settings for the smart transport."; + choice url-setting { + description + "Set the URL(s) used for communications to the SSM, + satellite or Third Party Billing Platform."; + case set-default { + leaf url-default { + type boolean; + description + "Tell smart licensing to set the default URLs for both + url-registration and url-utility that point to + the Cisco SSM."; + } + } + case set-urls { + container urls { + description + "The URLS used for registration and utility reporting. + These should be set if the product instance will + communicate with a satellite or Third Party + Billing Platform."; + leaf url-registration { + type inet:uri; + description + "Set the URL used for registration, authorization and + anything else not related to utility usage reporting."; + } + leaf url-utility { + type inet:uri; + description + "Set the URL to be used for sending utility usage + reports. This should be the same as url-registration + if you are using a satellite."; + } + } + } + } + } + container transport-cslu { + description + "The URL used for usage reporting via cisco smart license utility. + These should be set if the product instance will + communicate with a Cisco Smart License Utility (cslu)."; + leaf url-cslu { + description + "Set the URL to be used for sending usage reports."; + type inet:uri; + } + } + } + } + container state { + config false; + description + "Smart licensing state."; + leaf always-enabled { + type boolean; + description + "Smart Licensing is always enabled. the smart-enabled leaf below + will always be true. The config:enable setting above will be silently + ignored by Smart licensing"; + } + leaf smart-enabled { + type boolean; + description + "Is smart licensing enabled. If always-enabled above is true then + smart licensing is always enabled and can not be disabled."; + } + leaf version { + type string { + length "1..255"; + } + description + "The smart licensing version in use."; + } + container state-info { + when "../smart-enabled = 'true'"; + description + "Smart licensing state information. + This is only valid if smart-enabled = true."; + container registration { + description + "State of license registration."; + uses registration-state; + } + container authorization { + description + "State of license authorization."; + uses authorization-state; + } + container utility { + description + "State of utility reporting."; + uses utility-state; + } + leaf custom-id { + type string; + description + "The custom ID set by the customer that will be included in the + utility usage (RUM) report and in th emessage header"; + } + container transport { + description + "State of the transport."; + uses transport-state; + } + container privacy { + description + "State of the privacy settings."; + uses privacy-info; + } + container evaluation { + description + "State of the evaluation period."; + uses eval-period-state; + } + container udi { + description + "UDI of the system."; + uses udi; + } + list usage { + key "entitlement-tag"; + uses license-usage; + description + "List of license (entitlement tag) usage information. + This only contains the information for licenses that are in use."; + } + container policy { + description + "Policy information."; + uses policy-state-grouping; + } + list trust-code { + key "key_udi"; + uses trust-code-state-grouping; + description + "State of trust code installs for every device in an HA + configuration. If no HA then this will be a list of one + item."; + } + list conversion { + key "key_udi"; + uses conversion-state-grouping; + description + "Conversion status for each product instance in an HA + configuration"; + } + list rum-reports-closed-keys { + key "rum-report-key"; + uses rum-report-summary-grouping; + description + "The list of RUM report keys, for all closed and + unacked reports, that can be used to do a + lookup in the rum-reports-closed list."; + } + container rum-ack { + description + "RUM ACK status information"; + uses rum-ack-state-grouping; + } + list factory-purchase { + key "key_udi"; + uses factory-purchase-state-grouping; + description + "In an HA configuration this contains information about + licenses purchased and installed for each + device at manufacturing time. + If there is no HA then this will be a list of one item."; + } + container imported-authorizations { + description + "Information about all licenses that are authorized + and how they were authorized"; + uses license-auth-status-info; + } + } + } + description + "Container to hold config and state."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-storm-control.yang b/vendor/cisco/xe/17151/cisco-storm-control.yang new file mode 100644 index 000000000..3cd7e7da9 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-storm-control.yang @@ -0,0 +1,190 @@ +module cisco-storm-control { + namespace "urn:cisco:params:xml:ns:yang:cisco-storm-control"; + prefix cisco-stormctrl; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-yang-types { + prefix yang; + } + import cisco-bridge-common { + prefix cbridge; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines data model for strom control feature. + + Traffic storm occurs when packets flood a bridge, creating + excessive traffic and degrading network performance. Traffic + storm control prevents bridge disruption by suppressing traffic + when the number of packets reaches configured threshold + levels."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2016-12-14 { + description + "Removed cisco govern extension"; + } + revision 2014-09-25 { + description + "Proposed"; + reference + "TODO"; + } + + feature configurable-storm-control-actions { + description + "This feature represents the ability to configure storm + control."; + } + + identity storm-control-action { + description + "Actions to be taken once storm control limit threshold is + exceeded for a traffic class."; + } + + identity action-drop { + base storm-control-action; + description + "Drop packets."; + } + + identity action-snmp-trap { + base storm-control-action; + description + "Generate SNMP traps."; + } + + identity action-shutdown { + base storm-control-action; + description + "Shutdown service."; + } + + grouping traffic-threshold-config { + description + "This grouping defines a threshold value for traffic rate."; + leaf value { + type uint32; + mandatory true; + description + "Traffic threshold value. Unit of the value is indicated by + leaf 'unit'."; + } + leaf unit { + type enumeration { + enum bps { + description + "Bits per second."; + } + enum kbps { + description + "Kilobits per second."; + } + enum pps { + description + "Packets per seconds."; + } + } + mandatory true; + description + "This enumeration define unit of the traffic threshold + value."; + } + } + + grouping storm-control-config { + description + "Storm control feature for an ethernet bridge. + + A traffic storm occurs when packets flood the LAN, creating + excessive traffic and degrading network performance. The + traffic storm control feature prevents LAN ports from being + disrupted by a broadcast, multicast, or unicast traffic storm + on physical or logical interfaces."; + container storm-control { + description + "A collection of storm control threshold and action + configurations."; + list thresholds { + key "traffic-class"; + description + "A collection of storm control threshold configuration + entries."; + leaf traffic-class { + type cbridge:eth-traffic-class; + description + "This leaf identifies a ethernet traffic type for + which an administrator desires to configure storm + control."; + } + uses traffic-threshold-config { + description + "This grouping represents traffic rate threshold for + the traffic class."; + } + } + leaf action { + if-feature "configurable-storm-control-actions"; + type identityref { + base storm-control-action; + } + description + "This leaf represents the storm control action taken when + the traffic of a particular type exceeds the configured + threshold values."; + } + } + } + + grouping storm-control-stats { + description + "This groping defines storm control statistics."; + container storm-control { + description + "Storm control statistics."; + list drop-counter { + key "traffic-class"; + description + "Collection of packet drop statistics for ethernet traffic + clasess."; + leaf traffic-class { + type cbridge:eth-traffic-class; + description + "Ethernet traffic class i.e. broadcast, multicast or + unknown unicast."; + } + leaf packet-drops { + type yang:counter64; + description + "The total number of dropped packets due to storm + control violations."; + } + leaf octate-drops { + type yang:counter64; + description + "The total number of bytes of traffic dropped due to + storm control violations."; + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-access-openconfig-if-ethernet-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-if-ethernet-deviation.yang new file mode 100644 index 000000000..400168234 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-if-ethernet-deviation.yang @@ -0,0 +1,64 @@ +module cisco-xe-access-openconfig-if-ethernet-deviation { + namespace "http://openconfig.net/yang/cisco-xe-access-openconfig-if-ethernet-deviation"; + prefix cisco-xe-access-oc-if-eth-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-if-eth; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ethernet model applicable to IOS XE SP Access platforms."; + + revision 2021-07-01 { + description + "Deviated the leafs not supported under 17.6 release"; + } + revision 2018-12-12 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:enable-flow-control" { + deviate replace { + default "true"; + } + description + "Setting default flow control is not compatible with all interface types."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:auto-negotiate" { + deviate replace { + default "false"; + } + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-undersize-frames" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-block-errors" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-access-openconfig-platform-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-platform-deviation.yang new file mode 100644 index 000000000..8138215d4 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-platform-deviation.yang @@ -0,0 +1,37 @@ +module cisco-xe-access-openconfig-platform-deviation { + namespace "http://openconfig.net/yang/cisco-xe-access-openconfig-platform-deviation"; + prefix cisco-xe-access-oc-platform-devs; + + import openconfig-platform { + prefix oc-platform; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-platform model applicable to IOS XE SP Access platforms."; + + revision 2018-12-12 { + description + "Initial revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-platform:components" { + deviate not-supported; + description + "oc-platform currently is not supported on IOS XE SP Access platforms."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-deviation.yang new file mode 100644 index 000000000..bc75451b8 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-deviation.yang @@ -0,0 +1,109 @@ +module cisco-xe-access-openconfig-system-deviation { + namespace "http://openconfig.net/yang/cisco-xe-access-openconfig-system-deviation"; + prefix cisco-xe-access-oc-system-devs; + + import openconfig-system { + prefix oc-sys; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-system module applicable to IOS XE SP Access platforms."; + + revision 2018-12-12 { + description + "Initial revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-sys:system/oc-sys:config" { + deviate not-supported; + description + "oc-system config not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:state/oc-sys:hostname" { + deviate not-supported; + description + "oc-system state/hostname not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:clock" { + deviate not-supported; + description + "oc-system clock not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:dns" { + deviate not-supported; + description + "oc-system dns not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:ntp" { + deviate not-supported; + description + "oc-system ntp not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:telnet-server" { + deviate not-supported; + description + "oc-system telnet-server not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:ssh-server" { + deviate not-supported; + description + "oc-system ssh-server not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:aaa" { + deviate not-supported; + description + "oc-system aaa not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:logging" { + deviate not-supported; + description + "oc-system logging not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:memory" { + deviate not-supported; + description + "oc-system memory not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:processes" { + deviate not-supported; + description + "oc-system processes state args not supported on IOS XE SP Access platforms."; + } + + deviation "/oc-sys:system/oc-sys:license" { + deviate not-supported; + description + "Currently not supported"; + } + + deviation "/oc-sys:system/oc-sys:messages" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-ext.yang b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-ext.yang new file mode 100644 index 000000000..f722b5b06 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-system-ext.yang @@ -0,0 +1,42 @@ +module cisco-xe-access-openconfig-system-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-access-openconfig-system-ext"; + + prefix "oc-system-cisco"; + + import openconfig-system { prefix oc-sys; } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "Cisco"; + + contact + "www.cisco.com"; + + description + "Cisco augmentation to oc-system model."; + + oc-ext:openconfig-version "1.0.2"; + + revision "2020-05-13" { + description + "Initial-revision"; + } + + augment "/oc-sys:system/oc-sys:state" { + container license { + leaf eula { + type string; + description + "The end user license agreement text"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-access-openconfig-vlan-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-vlan-deviation.yang new file mode 100644 index 000000000..88231ca45 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-access-openconfig-vlan-deviation.yang @@ -0,0 +1,32 @@ +module cisco-xe-access-openconfig-vlan-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-access-openconfig-vlan-deviation"; + prefix cisco-xe-access-oc-vlan-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-vlan { + prefix oc-vlan; + } + + organization + "Cisco Systems"; + description + "This module defines deviation statements for openconfig-vlan model applicable to IOS XE SP Access platforms."; + + revision 2018-12-12 { + description + "Initial revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-vlan:vlans" { + deviate not-supported; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-event-notifications-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-event-notifications-deviation.yang new file mode 100644 index 000000000..8f610eeca --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-event-notifications-deviation.yang @@ -0,0 +1,225 @@ +module cisco-xe-ietf-event-notifications-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-ietf-event-notifications-deviation"; + prefix notif-bis-devs; + + import ietf-event-notifications { + prefix notif-bis; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-event-notifications + module. + Copyright (c) 2017-2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2018-12-03 { + description + "Added deviations for source-vrf to accept string and source-address to + be optional."; + } + revision 2017-08-22 { + description + "Added all deviations for all unsupported elements for direct access to + tables subscriptions, subscription-config"; + } + revision 2017-02-22 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + /* + * + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/notif-bis:filter-type/notif-bis:rfc5277" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/notif-bis:filter-type/notif-bis:by-reference" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/notif-bis:startTime" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/notif-bis:stopTime" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * + deviation "/notif-bis:establish-subscription/notif-bis:output" + + "/notif-bis:result/notif-bis:no-success" + + "/notif-bis:filter-type/notif-bis:rfc5277" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:establish-subscription/notif-bis:output" + + "/notif-bis:result/notif-bis:no-success" + + "/notif-bis:filter-type/notif-bis:by-reference" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * ========================= + * subscription-config... + * ========================= + */ + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:startTime" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:stopTime" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:filter-type/notif-bis:rfc5277" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:filter-type/notif-bis:by-reference" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:interface-originated" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:address-originated" + + "/notif-bis:source-vrf" { + deviate replace { + type string; + } + description + "String is supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:address-originated" + + "/notif-bis:source-address" { + deviate replace { + mandatory false; + } + description + "Source-address doesn't have to be mandatory."; + } + + /* + * ========================= + * subscriptions... + * ========================= + */ + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:configured-subscription" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:startTime" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:stopTime" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:filter-type/notif-bis:rfc5277" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:filter-type/notif-bis:by-reference" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:interface-originated" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:address-originated" + + "/notif-bis:source-vrf" { + deviate replace { + type string; + } + description + "String is supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:push-source/notif-bis:address-originated" + + "/notif-bis:source-address" { + deviate replace { + mandatory false; + } + description + "Source-address doesn't have to be mandatory."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-ip-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-ip-deviation.yang new file mode 100644 index 000000000..8ce4cce59 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-ip-deviation.yang @@ -0,0 +1,110 @@ +module cisco-xe-ietf-ip-deviation { + namespace "http://cisco.com/ns/cisco-xe-ietf-ip-deviation"; + prefix ip-devs; + + import ietf-interfaces { + prefix if; + } + import ietf-ip { + prefix ip; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-ip module."; + + revision 2016-08-10 { + description + "Updated deviation statements for 16.3.2 release."; + } + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/if:interfaces/if:interface/ip:ipv4/ip:enabled" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv4/ip:forwarding" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv4/ip:mtu" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv4/ip:neighbor" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:enabled" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:forwarding" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:mtu" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:dup-addr-detect-transmits" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:autoconf" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces/if:interface/ip:ipv6/ip:neighbor" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/if:interfaces-state/if:interface/ip:ipv4" { + deviate not-supported; + description + "Not supported in IOS-XE 16.3.2 release"; + } + + deviation "/if:interfaces-state/if:interface/ip:ipv6" { + deviate not-supported; + description + "Not supported in IOS-XE 16.3.2 release"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-ipv4-unicast-routing-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-ipv4-unicast-routing-deviation.yang new file mode 100644 index 000000000..b69b46515 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-ipv4-unicast-routing-deviation.yang @@ -0,0 +1,41 @@ +module cisco-xe-ietf-ipv4-unicast-routing-deviation { + namespace "http://cisco.com/ns/cisco-xe-ietf-ipv4-unicast-routing-deviation"; + prefix v4ur-devs; + + import ietf-routing { + prefix rt; + } + import ietf-ipv4-unicast-routing { + prefix v4ur; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-ipv6-unicast-routing + module."; + + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/rt:static-routes/v4ur:ipv4/v4ur:route/v4ur:description" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-ipv6-unicast-routing-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-ipv6-unicast-routing-deviation.yang new file mode 100644 index 000000000..79b497fdb --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-ipv6-unicast-routing-deviation.yang @@ -0,0 +1,41 @@ +module cisco-xe-ietf-ipv6-unicast-routing-deviation { + namespace "http://cisco.com/ns/cisco-xe-ietf-ipv6-unicast-routing-deviation"; + prefix v6ur-devs; + + import ietf-routing { + prefix rt; + } + import ietf-ipv6-unicast-routing { + prefix v6ur; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-ipv6-unicast-routing + module."; + + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/rt:static-routes/v6ur:ipv6/v6ur:route/v6ur:description" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-ospf-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-ospf-deviation.yang new file mode 100644 index 000000000..23954e317 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-ospf-deviation.yang @@ -0,0 +1,504 @@ +module cisco-xe-ietf-ospf-deviation { + namespace "http://cisco.com/ns/cisco-xe-ietf-ospf-deviation"; + prefix ospf-devs; + + import ietf-routing { + prefix rt; + } + import ietf-ospf { + prefix ospf; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-ospf + module."; + + revision 2018-02-09 { + description + "Added deviations for operational data"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/ospf:if-state-change" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:if-config-error" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:nbr-state-change" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:nbr-restart-helper-status-change" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:lsdb-approaching-overflow" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:lsdb-overflow" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:nssa-translator-status-change" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:restart-status-change" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ospf:rx-bad-packet" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:operation-mode" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:all-instances-inherit" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:admin-distance/ospf:granularity/ospf:coarse" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:graceful-restart" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:mpls/ospf:te-rid/ospf:source/ospf:explicit" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:mpls/ospf:ldp" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:fast-reroute" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:all-areas-inherit" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-type" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:summary" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:range" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:all-interfaces-inherit" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:mtu-ignore" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:cost" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:lls" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:prefix-suppression" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:bfd" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:ttl-security/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:virtual-link/ospf:authentication" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:hello-interval" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:dead-interval" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:retransmit-interval" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:transmit-delay" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:mtu-ignore" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:lls" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:prefix-suppression" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:bfd" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:ttl-security/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:sham-link/ospf:authentication" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:network-type" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:passive" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:demand-circuit" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:static-neighbors" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:node-flag" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:fast-reroute" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:mtu-ignore" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:lls" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:prefix-suppression" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:bfd" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:ttl-security" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:enable" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:authentication" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interface/ospf:topology" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:topology" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:topology" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:as-scope-lsas" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:link-scope-lsas" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:enable" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:operation-mode" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:passive" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:node-flag" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:fast-reroute" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:mtu-ignore" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:interfaces/ospf:topology" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:decoded-completed" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:raw-data" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:header/ospf:opaque-type" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:header/ospf:opaque-id" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:header/ospf:type" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:body/ospf:external" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v3/ospf:ospfv3/ospf:body/ospf:as-external" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:body/ospf:router" { + deviate not-supported; + description + "Not supported in Polaris"; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:body/ospf:network" { + deviate not-supported; + description + "Not supported in Polaris"; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:body/ospf:summary" { + deviate not-supported; + description + "Not supported in Polaris"; + } + + deviation "/rt:routing-state/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance/ospf:area/ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version/ospf:v2/ospf:ospfv2/ospf:body/ospf:opaque" { + deviate not-supported; + description + "Not supported in Polaris"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-routing-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-routing-deviation.yang new file mode 100644 index 000000000..dce2564a3 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-routing-deviation.yang @@ -0,0 +1,55 @@ +module cisco-xe-ietf-routing-deviation { + namespace "http://cisco.com/ns/cisco-xe-ietf-routing-deviation"; + prefix rt-devs; + + import ietf-routing { + prefix rt; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-routing + module."; + + revision 2016-07-09 { + description + "Added deviation to last-updated to change the type from + yang:date-and-time to type string."; + } + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/rt:routing/rt:routing-instance/rt:type" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:enabled" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/rt:description" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-routing-ext.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-routing-ext.yang new file mode 100644 index 000000000..5c2a5b2a8 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-routing-ext.yang @@ -0,0 +1,117 @@ +module cisco-xe-ietf-routing-ext { + namespace "http://cisco.com/ns/yang/cisco-xe-ietf-routing-ext"; + prefix "cisco-ietf-routing"; + + import ietf-routing { + prefix rt; + } + + import ietf-yang-types { + prefix ietf-types; + } + + organization "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "Cisco augmentation to support multiple nexthops under IETF routes. + Copyright (c) 2023 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "- Added support for routes to return all next hops for the ietf-routing + model"; + } + + /* + * Grouping for the next-hop-list that provides all of the next hops under + * the route. + */ + grouping next-hop-list-grouping { + description + "Case for choice statement that will be populated with a list of next + hops if the route has multiple paths"; + + list next-hop-list { + description + "An entry in a next-hop list. + + Modules for address families MUST augment this list + with a leaf containing a next-hop address of that + address family."; + key "index"; + leaf index { + description + "A user-specified identifier utilized to uniquely + reference the next-hop entry in the next-hop list. + The value of this index has no semantic meaning + other than for referencing the entry."; + type uint8; + } + choice next-hop-options { + description + "Specifies the type for the next hop."; + mandatory "true"; + case simple-next-hop { + description + "Next hop that defines a gateway IP/IPv6 address and/or + an outgoing interface."; + leaf outgoing-interface { + description + "Name of the outgoing interface."; + type string; + } + leaf next-hop-address { + description + "IP Address."; + type string; + } + leaf uptime { + description + "Timestamp of the uptime for the next hop. Time since + last update."; + type ietf-types:date-and-time; + } + } + case special-next-hop { + uses rt:special-next-hop; + } + } + } + } + + /* + * Grouping for the uptime leaf that is added to the existing single next-hop + * field in the model. + */ + grouping simple-next-hop-uptime-grouping { + description + "Grouping for timestamp of last update for a next hop."; + + leaf uptime { + description + "Timestamp of the uptime for the next hop. Time since + last update."; + type ietf-types:date-and-time; + } + } + + augment "/rt:routing-state/rt:routing-instance/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop" { + uses next-hop-list-grouping; + } + + augment "/rt:routing-state/rt:routing-instance/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { + uses simple-next-hop-uptime-grouping; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-deviation.yang new file mode 100644 index 000000000..55e953165 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-deviation.yang @@ -0,0 +1,251 @@ +module cisco-xe-ietf-yang-push-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-ietf-yang-push-deviation"; + prefix yp-devs; + + import ietf-yang-types { + prefix yang; + } + import ietf-event-notifications { + prefix notif-bis; + } + import ietf-yang-push { + prefix yp; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for ietf-yang-push + module. + Copyright (c) 2017-2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2018-12-03 { + description + "Added deviations for dampening-period to only accept 0 and + no-synch-on-start to be unsupported."; + } + revision 2017-08-22 { + description + "Suppressed unsupported elements of establish-subscription"; + } + revision 2017-02-22 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/notif-bis:modify-subscription" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/notif-bis:filter-type/yp:update-filter/yp:update-filter/yp:subtree" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:update-trigger/yp:periodic/yp:anchor-time" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:update-trigger/yp:on-change/yp:dampening-period" { + deviate replace { + type yang:timeticks { + range "0"; + } + } + description + "Currently only accepts 0."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:update-trigger/yp:on-change/yp:no-synch-on-start" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:update-trigger/yp:on-change/yp:excluded-change" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:dscp" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:subscription-priority" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:establish-subscription/notif-bis:input" + + "/yp:subscription-dependency" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * ============================== + * subscription-config + * ============================== + */ + /* + * + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/notif-bis:filter-type/yp:update-filter/yp:update-filter/yp:subtree" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:update-trigger/yp:periodic/yp:anchor-time" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:no-synch-on-start" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:dampening-period" { + deviate replace { + type yang:timeticks { + range "0"; + } + } + description + "Currently only accepts 0."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:excluded-change" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:dscp" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:subscription-priority" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscription-config/notif-bis:subscription" + + "/yp:subscription-dependency" { + deviate not-supported; + description + "Currently not supported."; + } + + /* + * ============================== + * subscriptions + * ============================== + */ + /* + * + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/notif-bis:filter-type/yp:update-filter/yp:update-filter/yp:subtree" { + deviate not-supported; + description "Currently not supported."; + } + */ + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:update-trigger/yp:periodic/yp:anchor-time" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:no-synch-on-start" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:dampening-period" { + deviate replace { + type yang:timeticks { + range "0"; + } + } + description + "Currently only accepts 0."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:update-trigger/yp:on-change/yp:excluded-change" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:dscp" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:subscription-priority" { + deviate not-supported; + description + "Currently not supported."; + } + + deviation "/notif-bis:subscriptions/notif-bis:subscription" + + "/yp:subscription-dependency" { + deviate not-supported; + description + "Currently not supported."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-ext.yang b/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-ext.yang new file mode 100644 index 000000000..04338c934 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-ietf-yang-push-ext.yang @@ -0,0 +1,288 @@ +module cisco-xe-ietf-yang-push-ext { + yang-version 1.1; + namespace "urn:cisco:params:xml:ns:yang:cisco-xe-ietf-yang-push-ext"; + prefix cyp; + + import ietf-event-notifications { + prefix sn; + } + import ietf-yang-push { + prefix yp; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + Postal: 170 W Tasman Drive + San Jose, CA 95134 + Tel: +1 1800 553-NETS + E-mail: cs-yang@cisco.com"; + description + "This module contains augmentations on top of IETF yang push."; + + revision 2024-06-25 { + description + "Add nested-uri and transform filter types"; + reference + "Add a new filter types nested-uri and transform."; + } + revision 2023-01-31 { + description + "Add rfc5277 transport identity"; + reference + "Adds a new transport identity rfc5277."; + } + revision 2020-04-27 { + description + "Removed augments for modify-subscription nodes"; + } + revision 2019-03-26 { + description + "Add cloud-native transport identity"; + reference + "Adds a new transport identity cloud-native."; + } + revision 2018-08-29 { + description + "Add KVGPB encoding and grpc-tcp, cntp-tcp, native transport."; + reference + "YANG Datastore Push, draft-ietf-netconf-yang-push-04 and + draft-ietf-netconf-rfc5277bis-01"; + } + revision 2018-06-06 { + description + "Add yang-notif-native"; + reference + "Adds to new stream identity yang-notif-native."; + } + revision 2017-08-14 { + description + "Initial version"; + reference + "adds to YANG Datastore Push, draft-ietf-netconf-yang-push-04 + and draft-ietf-netconf-5277bis-01"; + } + + /* + * IDENTITIES + */ + + identity encode-tdl { + base sn:encodings; + description + "Encode data using TDL."; + } + + identity encode-kvgpb { + base sn:encodings; + description + "Encode data using KVGPB."; + } + + /* Additional types of protocols */ + + identity grpc-tcp { + base sn:transport; + description + "gRPC notifications in TCP as a transport"; + } + + identity native { + base sn:transport; + description + "native notifications in TCP as a transport"; + } + + identity cntp-tcp { + base sn:transport; + description + "CNTP notifications in TCP as a transport"; + } + + identity cloud-native { + base sn:transport; + description + "Cisco native notifications over a secure tunnel + to cloud management service"; + } + + /* Additional types of streams */ + + identity tdl-stream { + base sn:stream; + description + "Stream for native TDL datastore updates."; + } + + identity yang-notif-native { + base sn:stream; + description + "Stream for native platform RFC7950 notifications."; + } + + identity rfc5277 { + base sn:stream; + description + "Stream to route notifications to rfc5277 viptela stream."; + } + + /* + * GROUPINGS + */ + + grouping tdl-uri-filter { + description + "Same definition of tdl filter for many places."; + leaf tdl-uri-filter { + type string; + description + "Filter to support tdl in XE"; + } + } + + grouping nested-uri-filter { + description + "Same definition of nested filter for many places."; + leaf nested-uri-filter { + type string; + description + "Filter to support tdl nested URI in XE"; + } + } + + grouping transform-name-filter { + description + "Same definition of transform filter for many places."; + leaf transform-name-filter { + type string; + description + "Filter to support transform filter in XE"; + } + } + + /* + * DATA NODES + */ + + augment "/sn:filters/sn:filter/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "This augmentation add native platform filters + to the list of configurable filters + that can be applied to subscriptions."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + augment "/sn:subscription-config/sn:subscription/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "Add native selection filters to filter types."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + augment "/sn:subscriptions/sn:subscription/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "Add native selection filters to filter types."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + /* + * RPC + */ + + augment "/sn:establish-subscription/sn:input/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "Add native selection filters to filter types."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + augment "/sn:establish-subscription/sn:output/" + + "sn:result/sn:no-success/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "Add native selection filters to filter types."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + /* + * NOTIFICATIONS + */ + + augment "/sn:subscription-started/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "This augmentation allows native platform filter + options to be included as part of the notification that a + subscription has started."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } + + augment "/sn:subscription-modified/" + + "sn:filter-type/yp:update-filter/yp:update-filter" { + description + "This augmentation allows native platform filter + options to be included as part of the notification + that a subscription has been modified."; + case native-filter { + uses tdl-uri-filter; + } + case nested-native-filter { + uses nested-uri-filter; + } + case transform-filter { + uses transform-name-filter; + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-access-points-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-access-points-deviation.yang new file mode 100644 index 000000000..27ca9bd82 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-access-points-deviation.yang @@ -0,0 +1,639 @@ +module cisco-xe-openconfig-access-points-deviation { + namespace "http://openconfig.net/yang/cisco-xe-openconfig-access-points-deviation"; + prefix oc-of-wifi-devs; + + import cisco-semver { + prefix cisco-semver; + } + import openconfig-access-points { + prefix access-points; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-access-points module."; + + revision 2020-03-01 { + description + "- Added deviations for dependant nodes already deviated away"; + cisco-semver:module-version "1.1.0"; + } + revision 2019-11-01 { + description + "Added deviation for rx-retries, rx-retries-data and rx-retries-subframe"; + } + revision 2018-12-04 { + description + "Remove deviation for 'dva' and add mapping"; + } + revision 2018-11-25 { + description + "Added 'dva' under deviation as a part of up-rev changes(0.3.0)"; + } + revision 2018-09-25 { + description + "Remove deviation for 'dva', 'wmm' and client capabilities 'channel-support', 'dot11v-bssidle-timeout'. + Add deviation for 'trust-dscp'."; + } + revision 2018-09-06 { + description + "Remove deviation for client connection 'ipv6-address'"; + } + revision 2018-08-28 { + description + "Remove deviation for client 'phy-rate', 'frequency', 'client-capabilities'"; + } + revision 2018-08-09 { + description + "Remove deviation for 'steering-rssi', 'basic-data-rates', 'supported-data-rates'"; + } + revision 2018-07-12 { + description + "Initial version"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:config/access-points:scanning" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:state/access-points:scanning" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:config/access-points:scanning-interval" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:state/access-points:scanning-interval" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:config/access-points:scanning-dwell-time" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:state/access-points:scanning-dwell-time" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:config/access-points:scanning-defer-clients" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:state/access-points:scanning-defer-clients" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:config/access-points:scanning-defer-traffic" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:radios/access-points:radio/access-points:state/access-points:scanning-defer-traffic" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:config/access-points:ipv6-ndp-filter" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:config/access-points:ipv6-ndp-filter-timer" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:config/access-points:mobility-domain" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:ipv6-ndp-filter" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:ipv6-ndp-filter-timer" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:bssids/access-points:bssid/access-points:state/access-points:counters/access-points:rx-bss-dot11-channel-utilization" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:bssids/access-points:bssid/access-points:state/access-points:counters/access-points:tx-bss-dot11-channel-utilization" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:bssids/access-points:bssid/access-points:state/access-points:counters/access-points:rx-retries" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:bssids/access-points:bssid/access-points:state/access-points:counters/access-points:rx-retries-data" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:bssids/access-points:bssid/access-points:state/access-points:counters/access-points:rx-retries-subframe" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:state/access-points:mobility-domain" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:wmm/access-points:config/access-points:trust-dscp" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:wmm/access-points:state/access-points:trust-dscp" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:dot11r/access-points:config/access-points:dot11r-r1key-timeout" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:dot11r/access-points:state/access-points:dot11r-r1key-timeout" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:dot11r/access-points:config/access-points:dot11r" { + deviate add { + default "false"; + } + description + "Dot11r need to be disabled by default"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:clients/access-points:client/access-points:dot11k-neighbors" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:clients/access-points:client/access-points:state/access-points:counters/access-points:rx-retries" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:ssids/access-points:ssid/access-points:clients/access-points:client/access-points:client-connection/access-points:state/access-points:operating-system" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:config/access-points:domain-name" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:config/access-points:login-banner" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:config/access-points:motd-banner" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:state/access-points:domain-name" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:state/access-points:login-banner" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:state/access-points:motd-banner" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:config/access-points:password-hashed" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:state/access-points:password-hashed" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:config/access-points:ssh-key" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:state" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:state/access-points:ssh-key" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:config/access-points:role" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authentication/access-points:users/access-points:user/access-points:state/access-points:role" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:state/access-points:current-datetime" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:state/access-points:boot-time" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:clock" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:dns" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:telnet-server" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:config/access-points:ntp-source-address" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:config/access-points:enable-ntp-auth" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:state/access-points:ntp-source-address" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:state/access-points:enable-ntp-auth" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:state/access-points:auth-mismatch" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:ntp-keys" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:config/access-points:port" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:config/access-points:version" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:config/access-points:association-type" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:config/access-points:iburst" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:config/access-points:prefer" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:port" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:version" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:association-type" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:iburst" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:prefer" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:stratum" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:root-delay" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:root-dispersion" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:offset" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ntp/access-points:servers/access-points:server/access-points:state/access-points:poll-interval" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:config/access-points:enable" { + deviate replace { + default "false"; + } + description + "Enabling ssh by default is a security risk hence making default false"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:config/access-points:timeout" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:config/access-points:protocol-version" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:config/access-points:rate-limit" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:config/access-points:session-limit" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:state/access-points:protocol-version" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:state/access-points:rate-limit" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:state/access-points:session-limit" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:ssh-server/access-points:state/access-points:timeout" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:logging" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:memory" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:aaa/access-points:authorization/access-points:events" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:min-time" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:max-time" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:avg" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:min" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:max" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:total/access-points:interval" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:user" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:kernel" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:nice" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:idle" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:wait" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:hardware-interrupt" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:cpus/access-points:cpu/access-points:state/access-points:software-interrupt" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:processes" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } + + deviation "/access-points:access-points/access-points:access-point/access-points:system/access-points:alarms" { + deviate not-supported; + description + "Not implemented in vWLC controller"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-deviation.yang new file mode 100644 index 000000000..007cedfef --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-deviation.yang @@ -0,0 +1,117 @@ +module cisco-xe-openconfig-acl-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-acl-deviation"; + prefix acl-devs; + + import openconfig-acl { + prefix oc-acl; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-acl module."; + + revision 2017-08-25 { + description + "Added deviation to remove leafref from ingress/egress acls because of IOS allowing + access-groups on interfaces when the access-group doesn't exit"; + } + revision 2017-08-22 { + description + "Remove deviation to require at least one ingress or egress acl on interface"; + } + revision 2017-05-04 { + description + "Add"; + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set" { + deviate add { + unique "oc-acl:name"; + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry" { + deviate add { + unique "oc-acl:actions/oc-acl:config/oc-acl:forwarding-action oc-acl:l2/oc-acl:config/oc-acl:source-mac oc-acl:l2/oc-acl:config/oc-acl:destination-mac oc-acl:l2/oc-acl:config/oc-acl:ethertype"; + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:l2/oc-acl:config/oc-acl:source-mac" { + deviate add { + default "00:00:00:00:00:00"; + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:l2/oc-acl:config/oc-acl:source-mac-mask" { + deviate add { + must '../oc-acl:source-mac' { + error-message "When source-mac-mask is set, source-mac must be set too"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:l2/oc-acl:config/oc-acl:destination-mac" { + deviate add { + default "00:00:00:00:00:00"; + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:l2/oc-acl:config/oc-acl:destination-mac-mask" { + deviate add { + must '../oc-acl:destination-mac' { + error-message "When destination-mac-mask is set, destination-mac must be set too"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/oc-acl:acl-entries/oc-acl:acl-entry/oc-acl:actions/oc-acl:config/oc-acl:log-action" { + deviate add { + must ". = 'oc-acl:LOG_NONE' or ../../../../../type != 'oc-acl:ACL_L2'" { + error-message "Log action not supported for L2 ACL sets"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:ingress-acl-sets/oc-acl:ingress-acl-set/oc-acl:config/oc-acl:set-name" { + deviate replace { + type leafref { + path "../../../../../../acl-sets/acl-set/config/name"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:ingress-acl-sets/oc-acl:ingress-acl-set/oc-acl:config/oc-acl:type" { + deviate replace { + type leafref { + path "../../../../../../acl-sets/acl-set[name=current()/../set-name]/config/type"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:egress-acl-sets/oc-acl:egress-acl-set/oc-acl:config/oc-acl:set-name" { + deviate replace { + type leafref { + path "../../../../../../acl-sets/acl-set/config/name"; + } + } + } + + deviation "/oc-acl:acl/oc-acl:interfaces/oc-acl:interface/oc-acl:egress-acl-sets/oc-acl:egress-acl-set/oc-acl:config/oc-acl:type" { + deviate replace { + type leafref { + path "../../../../../../acl-sets/acl-set[name=current()/../set-name]/config/type"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-ext.yang new file mode 100644 index 000000000..0b043554d --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-acl-ext.yang @@ -0,0 +1,56 @@ +module cisco-xe-openconfig-acl-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-acl-ext"; + + prefix "oc-acl-cisco"; + + import openconfig-packet-match-types { prefix "oc-pkt-match-types";} + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "Cisco"; + + contact + "www.cisco.com"; + + description + "Cisco augmentation to oc-acl model."; + + oc-ext:openconfig-version "1.0.2"; + + revision "2017-03-30" { + description + "Added support for ip and ipv6 ACEs"; + } + + // Add IP and IPV6 as protocol options for ACEs model + + identity IP { + base oc-pkt-match-types:IP_PROTOCOL; + description + "IP protocol"; + } + identity IPV6 { + base oc-pkt-match-types:IP_PROTOCOL; + description + "IPV6 protocol"; + } + + // Augment to add ip-version leaf for acl type + +// augment "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set" + +// "/oc-acl:config" { +// leaf acl-type { +// type inet:ip-version; +// description +// "The type of the access-list set"; +// } +// } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-aft-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-aft-deviation.yang new file mode 100644 index 000000000..6b564de5a --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-aft-deviation.yang @@ -0,0 +1,34 @@ +module cisco-xe-openconfig-aft-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-aft-deviation"; + prefix oc-aft-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-aft module."; + + revision 2018-12-05 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:afts" { + deviate not-supported; + description + "Not supported in 16.12 release"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-deviation.yang new file mode 100644 index 000000000..62ab05277 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-deviation.yang @@ -0,0 +1,1205 @@ +module cisco-xe-openconfig-bgp-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-bgp-deviation"; + prefix oc-bgp-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-network-instance + module. + Copyright (c) 2017, 2018, 2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-03-01 { + description + "Added not support deviation for below objects: + - neighbor-timer-state-connect-retry, + - neighbor-timer-state-connect-negotiated-hold-time, + - neighbor-afisafi-ipv4-unicast-config-extended-next-hop-encoding, + - neighbor-afisafi-ipv4-unicast-state-extended-next-hop-encoding, + - neighbor-afisafi-ipv4-unicast-state-prefix-limit-exceeded, + - neighbor-afisafi-ipv6-unicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l3vpn-ipv4-unicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l3vpn-ipv6-unicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l3vpn-ipv4-multicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l3vpn-ipv6-multicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l2vpn-vpls-multicast-state-prefix-limit-exceeded, + - neighbor-afisafi-l2vpn-evpn-multicast-state-prefix-limit-exceeded, + - neighbor-state-dynamically-configured, + - peer-group-afisafi-l3vpn-ipv4-unicast-state-prefix-limit-exceeded, + - peer-group-afisafi-l3vpn-ipv6-unicast-state-prefix-limit-exceeded, + - peer-group-afisafi-l3vpn-ipv4-multicast-state-prefix-limit-exceeded, + - peer-group-afisafi-l3vpn-ipv6-multicast-state-prefix-limit-exceeded, + - peer-group-afisafi-l2vpn-vpls-multicast-state-prefix-limit-exceeded, + - peer-group-afisafi-l2vpn-evpn-multicast-state-prefix-limit-exceeded, + - neighbor-port, + - af specific graceful-restart enabled, + - transport tcp-mss, local-address, + - global graceful-restart helper-only, + - global advertise-inactive-routes, + - global external-compare-router-id, + - global ignore-as-path-length."; + cisco-semver:module-version "1.3.0"; + } + revision 2023-07-01 { + description + "Added support for BGP minimum-advertisement-interval as neighbor config and state."; + cisco-semver:module-version "1.2.0"; + } + revision 2023-03-01 { + description + "Added not supported deviation for add-paths/send-max and add-paths/eligible-prefix-policy under + both neighbor and peer-group config and state."; + cisco-semver:module-version "1.1.0"; + } + revision 2022-11-01 { + description + "Deviate config peer-type for BGP"; + cisco-semver:module-version "1.0.0"; + } + revision 2018-05-21 { + description + "Added not supported deviation for the minimum-advertisement-interval timer leaf under the neighbour config."; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + revision 2017-05-24 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-vpls/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-evpn/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-multicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-multicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv6" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv4" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-labeled-unicast" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-labeled-unicast" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:use-multiple-paths" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-labeled-unicast" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-labeled-unicast" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-vpls/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-evpn/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-multicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-multicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-import-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:config/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:apply-policy/oc-netinst:state/oc-netinst:default-export-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:use-multiple-paths" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:use-multiple-paths" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths/oc-netinst:config/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths/oc-netinst:state/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths/oc-netinst:ebgp/oc-netinst:config/oc-netinst:allow-multiple-as" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:use-multiple-paths/oc-netinst:ebgp/oc-netinst:state/oc-netinst:allow-multiple-as" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:rib" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:ignore-as-path-length" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:ignore-as-path-length" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:advertise-inactive-routes" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:advertise-inactive-routes" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:enable-aigp" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:enable-aigp" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:ignore-next-hop-igp-metric" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:ignore-next-hop-igp-metric" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:state/oc-netinst:peer-type" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:config/oc-netinst:extended-next-hop-encoding" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:state/oc-netinst:extended-next-hop-encoding" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:prefix-limit" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:transport/oc-netinst:config/oc-netinst:tcp-mss" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:transport/oc-netinst:state/oc-netinst:tcp-mss" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:transport/oc-netinst:config/oc-netinst:local-address" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:transport/oc-netinst:state/oc-netinst:local-address" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:as-path-options/oc-netinst:config/oc-netinst:disable-peer-as-filter" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:as-path-options/oc-netinst:state/oc-netinst:disable-peer-as-filter" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:error-handling/oc-netinst:config" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:timers/oc-netinst:config/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:timers/oc-netinst:state/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:timers/oc-netinst:config/oc-netinst:connect-retry" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:timers/oc-netinst:state/oc-netinst:connect-retry" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv4" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv6" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:sent/oc-netinst:last-notification-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:sent/oc-netinst:last-notification-error-code" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:sent/oc-netinst:last-notification-error-subcode" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:received/oc-netinst:last-notification-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:received/oc-netinst:last-notification-error-code" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:messages/oc-netinst:received/oc-netinst:last-notification-error-subcode" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:last-prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:timers/oc-netinst:config/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:timers/oc-netinst:state/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:as-path-options/oc-netinst:config/oc-netinst:disable-peer-as-filter" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:as-path-options/oc-netinst:state/oc-netinst:disable-peer-as-filter" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:state/oc-netinst:prefixes/oc-netinst:received-pre-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv4" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:srte-policy-ipv6" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:state/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:config/oc-netinst:route-flap-damping" { + deviate not-supported; + description + "Not supported in 17.10 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:config/oc-netinst:route-flap-damping" { + deviate not-supported; + description + "Not supported in 17.10 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:config/oc-netinst:peer-type" { + deviate not-supported; + description + "Not supported in 17.10 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:config/oc-netinst:peer-type" { + deviate not-supported; + description + "Not supported in 17.10 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:state/oc-netinst:total-paths" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:state/oc-netinst:total-prefixes" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:default-route-distance/oc-netinst:config/oc-netinst:external-route-distance" { + deviate add { + must '../oc-netinst:internal-route-distance' { + error-message "When External route distance is set, internal route distance must be set too"; + } + } + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:default-route-distance/oc-netinst:config/oc-netinst:internal-route-distance" { + deviate add { + must '../oc-netinst:external-route-distance' { + error-message "When internal route distance is set, external route distance must be set too"; + } + } + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-labeled-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-labeled-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-unicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-multicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-multicast" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-vpls" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-evpn" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:always-compare-med" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:ignore-as-path-length" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:advertise-inactive-routes" { + deviate delete { + default "false"; + } + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:enable-aigp" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:enable-aigp" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:config/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:last-established" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:established-transitions" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:timers/oc-netinst:config/oc-netinst:connect-retry" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:timers/oc-netinst:state/oc-netinst:connect-retry" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:timers/oc-netinst:state/oc-netinst:negotiated-hold-time" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:error-handling/oc-netinst:config" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:error-handling/oc-netinst:state/oc-netinst:erroneous-update-messages" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:eligible-prefix-policy" { + deviate not-supported; + description + "Not supported in 17.13 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:add-paths/oc-netinst:config/oc-netinst:send-max" { + deviate not-supported; + description + "Not supported in 17.13 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:stale-routes-time" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:peer-restart-time" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:peer-restarting" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:local-restarting" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:mode" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:state/oc-netinst:active" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:advertised" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:received" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:state/oc-netinst:total-paths" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:state/oc-netinst:total-prefixes" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:restart-time" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:stale-routes-time" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:graceful-restart/oc-netinst:state/oc-netinst:helper-only" { + deviate not-supported; + description + "Not supported in 16.7 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:config/oc-netinst:neighbor-port" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:neighbor-port" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:graceful-restart/oc-netinst:config/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:transport/oc-netinst:config/oc-netinst:tcp-mss" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:transport/oc-netinst:state/oc-netinst:tcp-mss" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:transport/oc-netinst:config/oc-netinst:local-address" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:transport/oc-netinst:state/oc-netinst:local-address" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:config/oc-netinst:external-compare-router-id" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:global/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:route-selection-options/oc-netinst:state/oc-netinst:ignore-as-path-length" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv6-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-multicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-multicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-vpls/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-evpn/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:state/oc-netinst:dynamically-configured" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:config/oc-netinst:extended-next-hop-encoding" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:neighbors/oc-netinst:neighbor/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:ipv4-unicast/oc-netinst:state/oc-netinst:extended-next-hop-encoding" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-unicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv4-multicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l3vpn-ipv6-multicast/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-vpls/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:bgp/oc-netinst:peer-groups/oc-netinst:peer-group/oc-netinst:afi-safis/oc-netinst:afi-safi/oc-netinst:l2vpn-evpn/oc-netinst:prefix-limit-received/oc-netinst:state/oc-netinst:prefix-limit-exceeded" { + deviate not-supported; + description + "Not supported in 17.14 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-policy-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-policy-deviation.yang new file mode 100644 index 000000000..bbd65666c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-bgp-policy-deviation.yang @@ -0,0 +1,192 @@ +module cisco-xe-openconfig-bgp-policy-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-bgp-policy-deviation"; + prefix cisco-oc-bgp-pol-dev; + + import openconfig-routing-policy { + prefix oc-rpol; + } + import openconfig-bgp-policy { + prefix oc-bgp-pol; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-bgp-policy module. + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2017-07-24 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:set-community/oc-bgp-pol:reference" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:set-ext-community/oc-bgp-pol:reference" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:state/oc-bgp-pol:set-local-pref" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:state/oc-bgp-pol:set-med" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:state/oc-bgp-pol:set-next-hop" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:state/oc-bgp-pol:set-route-origin" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:as-path-length" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:community-count" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:config/oc-bgp-pol:afi-safi-in" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:config/oc-bgp-pol:local-pref-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:config/oc-bgp-pol:med-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:config/oc-bgp-pol:next-hop-in" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:config/oc-bgp-pol:origin-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:state/oc-bgp-pol:afi-safi-in" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:state/oc-bgp-pol:local-pref-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:state/oc-bgp-pol:med-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:state/oc-bgp-pol:next-hop-in" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-bgp-pol:bgp-conditions/oc-bgp-pol:state/oc-bgp-pol:origin-eq" { + deviate not-supported; + description + "Not supported on IOS-XE 16.7.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:config/oc-bgp-pol:set-med" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:set-as-path-prepend/oc-bgp-pol:config/oc-bgp-pol:repeat-n" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-bgp-pol:bgp-actions/oc-bgp-pol:set-as-path-prepend/oc-bgp-pol:state/oc-bgp-pol:repeat-n" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-prefix-set/oc-rpol:config/oc-rpol:match-set-options" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-prefix-set/oc-rpol:state/oc-rpol:match-set-options" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:defined-sets/oc-rpol:prefix-sets/oc-rpol:prefix-set/oc-rpol:state" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:defined-sets/oc-rpol:prefix-sets/oc-rpol:prefix-set/oc-rpol:prefixes/oc-rpol:prefix/oc-rpol:state" { + deviate not-supported; + description + "Not supported on IOS-XE 17.14.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:defined-sets/oc-bgp-pol:bgp-defined-sets/oc-bgp-pol:ext-community-sets/oc-bgp-pol:ext-community-set/oc-bgp-pol:config/oc-bgp-pol:ext-community-member" { + deviate add { + min-elements 1; + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-evpn-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-evpn-deviation.yang new file mode 100644 index 000000000..373d5433d --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-evpn-deviation.yang @@ -0,0 +1,40 @@ +module cisco-xe-openconfig-evpn-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-evpn-deviation"; + prefix oc-evpn-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-evpn module. + Copyright (c) 2024 by Cisco Systems, Inc. + All rights reserved."; + + revision 2024-07-01 { + description + "Removed vxlan deviation"; + } + revision 2023-11-01 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:evpn" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ethernet-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ethernet-ext.yang new file mode 100644 index 000000000..f9ecd82e4 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ethernet-ext.yang @@ -0,0 +1,89 @@ +module cisco-xe-openconfig-if-ethernet-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-if-ethernet-ext"; + + prefix "cisco-if-eth"; + import openconfig-interfaces { prefix oc-if; } + import openconfig-if-ethernet { prefix oc-if-eth; } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "Module to enable mapping for oc-interfaces."; + + revision "2017-10-30" { + description + "Add switchport state augmentation for oc-if-eth"; + reference "1.0.2"; + } + + revision "2017-09-11" { + description + "Restored switchport augmentation for oc-if-eth"; + reference "1.0.2"; + } + + revision "2017-09-01" { + description + "Removed switchport augmentation for oc-if-eth"; + reference "1.0.2"; + } + + revision "2017-03-09" { + description + "Added identity for AUTO ethernet port speed for switches"; + reference "1.0.2"; + } + + revision "2017-02-25" { + description + "Initial version. Add switchport leaf for controlling Cisco switchport configs"; + reference "1.0.2"; + } + + identity AUTO { + base oc-if-eth:ETHERNET_SPEED; + description "Enable auto port-speed negotiation for switches"; + } + + // Augment to add switchport leaf + + augment "/oc-if:interfaces/oc-if:interface" + + "/oc-if-eth:ethernet/oc-if-eth:config" { + leaf switchport { + type boolean; + description + "If false the switch port is a routed port and can have an ip address."; + } + } + + augment "/oc-if:interfaces/oc-if:interface" + + "/oc-if-eth:ethernet/oc-if-eth:state" { + leaf switchport { + type boolean; + description + "If false the switch port is a routed port and can have an ip address."; + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ip-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ip-deviation.yang new file mode 100644 index 000000000..8b4f5f873 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-ip-deviation.yang @@ -0,0 +1,89 @@ +module cisco-xe-openconfig-if-ip-deviation { + namespace "http://openconfig.net/yang/cisco-xe-openconfig-if-ip-deviation"; + prefix oc-ifip-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ip { + prefix oc-ip; + } + import openconfig-vlan { + prefix oc-vlan; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ip module."; + + revision 2017-03-04 { + description + "Remove ipv6 default enabled not compatibile with switches"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:config/oc-ip:enabled" { + deviate delete { + default "true"; + } + description + "Enabling ipv6 by default incompatible with switchport interfaces"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:neighbors/oc-ip:neighbor/oc-ip:config/oc-ip:link-layer-address" { + deviate replace { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + mandatory true; + } + description + "The link-layer v6 address of the neighbor node for routed-vlan."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:neighbors/oc-ip:neighbor/oc-ip:config/oc-ip:link-layer-address" { + deviate replace { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + mandatory true; + } + description + "The link-layer v4 address of the neighbor node for routed-vlan."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:neighbors/oc-ip:neighbor/oc-ip:config/oc-ip:link-layer-address" { + deviate replace { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + mandatory true; + } + description + "The link-layer v4 address of the neighbor node."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:neighbors/oc-ip:neighbor/oc-ip:config/oc-ip:link-layer-address" { + deviate replace { + type string { + pattern '([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'; + } + mandatory true; + } + description + "The link-layer v6 address of the neighbor node."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-if-poe-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-poe-deviation.yang new file mode 100644 index 000000000..f9e2f4ef4 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-if-poe-deviation.yang @@ -0,0 +1,31 @@ +module cisco-xe-openconfig-if-poe-deviation { + namespace "http://openconfig.net/yang/cisco-xe-openconfig-if-poe-deviation"; + prefix oc-if-poe-devs; + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-poe module."; + + revision 2021-10-29 { + description + "Removed deviations for /oc-if:interfaces/interface/ethernet/poe/config xpath"; + } + revision 2018-02-12 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-deviation.yang new file mode 100644 index 000000000..dab1065df --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-deviation.yang @@ -0,0 +1,201 @@ +module cisco-xe-openconfig-interfaces-deviation { + namespace "http://openconfig.net/yang/cisco-xe-openconfig-interfaces-deviation"; + prefix oc-if-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-vlan { + prefix oc-vlan; + } + import openconfig-if-ip { + prefix oc-ip; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-interfaces module."; + + revision 2018-08-21 { + description + "Removed the replace deviations for the interface and subinterface enable leafs."; + } + revision 2018-08-14 { + description + "Deviated out hold-time/up and down leafs as they are not supported on IOS XE."; + } + revision 2018-07-01 { + description + "Add deviation for the enabled leafs on the interfaces."; + } + revision 2018-03-27 { + description + "Add deviation for carrier-transitions."; + } + revision 2018-03-07 { + description + "Modify vrrp and remove aggregate deviation."; + } + revision 2018-02-06 { + description + "Deviate out if/loopback-mode, dhcp-client and ipv6/router-advertisement for 16.9.1"; + } + revision 2018-02-05 { + description + "Remove deviation changing last-change leaf type to date-and-time"; + } + revision 2017-12-07 { + description + "Remove oc-interfaces deviation removing ethernet state"; + } + revision 2017-10-30 { + description + "Add deviations to remove vrrp from subinterfaces tree"; + } + revision 2017-05-08 { + description + "Add deviations to change last-change type under subinterfaces to yang:date-and-time"; + } + revision 2017-04-13 { + description + "Add deviations to hide features not implemented in 16.6.1"; + } + revision 2017-03-10 { + description + "Change type of last-change to yang:date-and-time"; + } + revision 2017-02-21 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:config/oc-ip:enabled" { + deviate replace { + default "false"; + } + description + "Dy default the IPv6 on Interface is disabled in IOS XE."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:hold-time" { + deviate not-supported; + description + "Hold-time for L2 interfaces is not supported in IOS XE"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:config/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv4 VRRP accept mode not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:state/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv4 VRRP accept mode state not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:config/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv6 VRRP accept mode not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:state/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv6 VRRP accept mode state not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:config/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv4 VRRP accept mode for routed vlan not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv4/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:state/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv4 VRRP accept mode state for routed vlan not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:config/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv6 VRRP accept mode for routed vlan not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-vlan:routed-vlan/oc-ip:ipv6/oc-ip:addresses/oc-ip:address/oc-ip:vrrp/oc-ip:vrrp-group/oc-ip:state/oc-ip:accept-mode" { + deviate not-supported; + description + "IPv6 VRRP accept mode state for routed vlan not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:config/oc-if:loopback-mode" { + deviate not-supported; + description + "looback-mode not supported in IOS-XE or 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:state/oc-if:loopback-mode" { + deviate not-supported; + description + "looback-mode not supported in IOS-XE or 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:config/oc-ip:dhcp-client" { + deviate not-supported; + description + "dhcp client not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv4/oc-ip:state/oc-ip:dhcp-client" { + deviate not-supported; + description + "dhcp client not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:config/oc-ip:dhcp-client" { + deviate not-supported; + description + "dhcp client not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:dhcp-client" { + deviate not-supported; + description + "dhcp client not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-ip:ipv6/oc-ip:router-advertisement" { + deviate not-supported; + description + "ipv6 router-advertisement not supported in 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:state/oc-if:counters/oc-if:carrier-transitions" { + deviate not-supported; + description + "carrier-transitions not supported in IOS-XE or 16.9.1."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-if:state/oc-if:counters/oc-if:carrier-transitions" { + deviate not-supported; + description + "carrier-transitions for subinterfaces not supported in IOS-XE or 16.9.1."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-ext.yang new file mode 100644 index 000000000..ab790599d --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-interfaces-ext.yang @@ -0,0 +1,64 @@ +module cisco-xe-openconfig-interfaces-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-interfaces-ext"; + + prefix "oc-if-cisco"; + import openconfig-interfaces { prefix oc-if; } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + + description + "Module to enable mapping for oc-interfaces."; + + revision "2018-07-14" { + description + "Removed hold-time augmentations as L2 hold-tome is not supported on IOS XE."; + reference "1.0.2"; + } + + revision "2017-03-05" { + description + "Augment oc-interfaces to add hold-time leafs to oc state"; + reference "1.0.2"; + } + + revision "2017-02-25" { + description + "Augment oc-interfaces to add required hold-time leafs for Cisco platforms"; + reference "1.0.2"; + } + + + augment "/oc-if:interfaces/oc-if:interface" + + "/oc-if:config" { + container bandwidth { + leaf kilobits { + type uint32; + description + "Add bandwidth configuration for XE routers."; + } + } + } + +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-deviation.yang new file mode 100644 index 000000000..4ce955215 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-deviation.yang @@ -0,0 +1,34 @@ +module cisco-xe-openconfig-isis-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-isis-deviation"; + prefix oc-isis-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-isis module."; + + revision 2018-12-05 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:isis" { + deviate not-supported; + description + "Not supported in 16.12 release"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-policy-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-policy-deviation.yang new file mode 100644 index 000000000..84f91fc0b --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-isis-policy-deviation.yang @@ -0,0 +1,48 @@ +module cisco-xe-openconfig-isis-policy-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-isis-policy-deviation"; + prefix oc-isis-pol-devs; + + import openconfig-routing-policy { + prefix oc-rpol; + } + import openconfig-isis-policy { + prefix oc-isis-pol; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-isis-policy module. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-07-30 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:actions/oc-rpol:igp-actions/oc-isis-pol:isis-actions" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:igp-conditions/oc-isis-pol:isis-conditions" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-lldp-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-lldp-deviation.yang new file mode 100644 index 000000000..03021b4a2 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-lldp-deviation.yang @@ -0,0 +1,110 @@ +module cisco-xe-openconfig-lldp-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-lldp-deviation"; + prefix lldp-devs; + + import openconfig-lldp { + prefix oc-lldp; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-lldp module."; + + revision 2018-07-25 { + description + "Removed deviation for the capabilities under the neighbor"; + } + revision 2018-07-24 { + description + "Added deviation to define the default value for hello-timer leaf"; + } + revision 2018-07-17 { + description + "Added deviations for the enabled leaf and the container config under the neighbor list"; + } + revision 2018-06-13 { + description + "Initial revision"; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:enabled" { + deviate replace { + default "false"; + } + description + "By default LLDP is disabled in IOS XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:hello-timer" { + deviate add { + default "30"; + } + description + "Added the default value for hello-timer to match IOS XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:system-name" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:system-description" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:chassis-id" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:config/oc-lldp:chassis-id-type" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:state/oc-lldp:counters/oc-lldp:last-clear" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:state/oc-lldp:counters/oc-lldp:tlv-accepted" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:interfaces/oc-lldp:interface/oc-lldp:state/oc-lldp:counters" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:interfaces/oc-lldp:interface/oc-lldp:neighbors/oc-lldp:neighbor/oc-lldp:custom-tlvs" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-lldp:lldp/oc-lldp:interfaces/oc-lldp:interface/oc-lldp:neighbors/oc-lldp:neighbor/oc-lldp:config" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-local-routing-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-local-routing-deviation.yang new file mode 100644 index 000000000..17b6a5ff6 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-local-routing-deviation.yang @@ -0,0 +1,39 @@ +module cisco-xe-openconfig-local-routing-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-local-routing-deviation"; + prefix oc-loc-rt-devs; + + import openconfig-local-routing { + prefix oc-loc-rt; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-local-routing module. + Copyright (c) 2020 by Cisco Systems, Inc. + All rights reserved."; + + revision 2020-09-20 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-loc-rt:local-routes" { + deviate not-supported; + description + "oc-loc-rt model is supported under openconfig-network-instance"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-mpls-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-mpls-deviation.yang new file mode 100644 index 000000000..0fdf72b72 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-mpls-deviation.yang @@ -0,0 +1,47 @@ +module cisco-xe-openconfig-mpls-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-mpls-deviation"; + prefix oc-mpls-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + import openconfig-mpls { + prefix oc-mpls; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-mpls module."; + + revision 2019-06-27 { + description + "Added not-supported to oc-mpls xpath"; + } + revision 2018-12-05 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:mpls" { + deviate not-supported; + description + "Not supported in 16.12 release"; + } + + deviation "/oc-mpls:mpls" { + deviate not-supported; + description + "Not supported in 16.12 release"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-deviation.yang new file mode 100644 index 000000000..4a2d3cd8c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-deviation.yang @@ -0,0 +1,178 @@ +module cisco-xe-openconfig-network-instance-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-network-instance-deviation"; + prefix oc-netinst-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-network-instance + module."; + + revision 2023-10-13 { + description + "Added deviations for fdb mac-table subinterface leaf"; + } + revision 2023-07-01 { + description + "Removed unnecessary route-distinguisher deviation."; + } + revision 2022-03-01 { + description + "Added deviations for ospf network instance"; + } + revision 2017-02-14 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:mac-table/oc-netinst:entries/oc-netinst:entry/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface" { + deviate not-supported; + description + "Removing unused leaf + Not supported 17.13 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:mac-table/oc-netinst:entries/oc-netinst:entry/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:state/oc-netinst:subinterface" { + deviate not-supported; + description + "Removing unused leaf + Not supported 17.13 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:encapsulation" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:config/oc-netinst:router-id" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:state/oc-netinst:router-id" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:inter-instance-policies" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:associated-address-families" { + deviate not-supported; + description + "Address families are not configurable at interface level in XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:mac-pinning" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:irb-anycast-gateway" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:state/oc-netinst:associated-address-families" { + deviate not-supported; + description + "Address families are not configurable at interface level in XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:state/oc-netinst:mac-pinning" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:state/oc-netinst:irb-anycast-gateway" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:config/oc-netinst:enabled" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:static-routes/oc-netinst:static/oc-netinst:next-hops/oc-netinst:next-hop/oc-netinst:config/oc-netinst:recurse" { + deviate not-supported; + description + "Not supported 16.6 release."; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:local-aggregates" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:global/oc-netinst:mpls/oc-netinst:config/oc-netinst:traffic-engineering-extensions" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:areas/oc-netinst:area/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:config/oc-netinst:authentication-type" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:areas/oc-netinst:area/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:interface" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:areas/oc-netinst:area/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:interface-ref/oc-netinst:config/oc-netinst:subinterface" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:areas/oc-netinst:area/oc-netinst:interfaces/oc-netinst:interface/oc-netinst:mpls/oc-netinst:config/oc-netinst:traffic-engineering-metric" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:protocols/oc-netinst:protocol/oc-netinst:ospfv2/oc-netinst:global/oc-netinst:config/oc-netinst:summary-route-cost-mode" { + deviate delete { + default "RFC2328_COMPATIBLE"; + } + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:route-limits" { + deviate not-supported; + description + "Not supported in IOS-XE"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-l2-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-l2-deviation.yang new file mode 100644 index 000000000..223503509 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-network-instance-l2-deviation.yang @@ -0,0 +1,34 @@ +module cisco-xe-openconfig-network-instance-l2-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-network-instance-l2-deviation"; + prefix oc-netinst-l2-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-network-instance-l2 module."; + + revision 2023-11-01 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:fdb/oc-netinst:l2rib" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-openflow-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-openflow-deviation.yang new file mode 100644 index 000000000..1658afb0e --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-openflow-deviation.yang @@ -0,0 +1,132 @@ +module cisco-xe-openconfig-openflow-deviation { + namespace "http://openconfig.net/yang/cisco-xe-openconfig-openflow-deviation"; + prefix oc-of-devs; + + import openconfig-system { + prefix oc-sys; + } + import openconfig-openflow { + prefix oc-of; + } + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-openflow module."; + + revision 2019-07-01 { + description + "- Initial revision with semver + - add range deviation for max-backoff and inactivity-probe"; + cisco-semver:module-version "1.2.0"; + } + revision 2017-10-12 { + description + "Remove deviation for connected state leaf"; + } + revision 2017-09-26 { + description + "Remove deviation for failure-mode"; + } + revision 2017-08-03 { + description + "Add deviations to openconfig-openflow model"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:config/oc-of:priority" { + deviate not-supported; + description + "Connection priority not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:state/oc-of:priority" { + deviate not-supported; + description + "Connection priority not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:config/oc-of:source-interface" { + deviate not-supported; + description + "Source Interface not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:state/oc-of:source-interface" { + deviate not-supported; + description + "Source Interface not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:config/oc-of:enable-ports" { + deviate not-supported; + description + "Enable Ports not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:controllers/oc-of:controller/oc-of:connections/oc-of:connection/oc-of:state/oc-of:enable-ports" { + deviate not-supported; + description + "Enable Ports not implemented in IOS-XE"; + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:config/oc-of:backoff-interval" { + deviate replace { + type uint32 { + range "1..65535"; + } + } + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:state/oc-of:backoff-interval" { + deviate replace { + type uint32 { + range "1..65535"; + } + } + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:config/oc-of:max-backoff" { + deviate replace { + type uint32 { + range "1..65535"; + } + } + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:state/oc-of:max-backoff" { + deviate replace { + type uint32 { + range "1..65535"; + } + } + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:config/oc-of:inactivity-probe" { + deviate replace { + type uint32 { + range "5..65535"; + } + } + } + + deviation "/oc-sys:system/oc-of:openflow/oc-of:agent/oc-of:state/oc-of:inactivity-probe" { + deviate replace { + type uint32 { + range "5..65535"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-platform-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-platform-ext.yang new file mode 100644 index 000000000..95f8c058b --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-platform-ext.yang @@ -0,0 +1,109 @@ +module cisco-xe-openconfig-platform-ext { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-platform-ext"; + + prefix oc-platform-ext; + + import openconfig-platform { + prefix oc-platform; + } + + import openconfig-platform-types { + prefix oc-platform-types; + } + + import openconfig-transport-types { + prefix oc-opt-types; + } + + organization "Cisco Systems"; + + description + "Augmentation for oc-platform"; + +//////////////////////////////////////////////////////////////////////////// +// REVISION +/////////////////////////////////////////////////////////////////////////// + +revision 2023-06-06 { + description "Added the definitions for MODULE"; + } + + revision 2018-10-16 { + description "Added the definitions for ASICs and the Forwarding Processes modeling"; + } + + revision 2018-02-05 { + description "Add UNKNOWN for connector type"; + } + + revision 2017-05-11 { + description "Initial Draft to add type CONTAINER"; + } + +//////////////////////////////////////////////////////////////////////////// +// IDENTITY +/////////////////////////////////////////////////////////////////////////// + + identity CONTAINER { + base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT; + description + "Cisco added type CONTAINER"; + } + + identity ASICS { + base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT; + description + "Cisco added type ASICS"; + } + + identity MODULE { + base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT; + description + "Cisco added type MODULE"; + } + + identity FORWARDING_PROCESS { + base oc-platform-types:OPENCONFIG_SOFTWARE_COMPONENT; + description + "Cisco added type for the forwarding processes, i.e. QFP process"; + } + + + identity UNKNOWN_CONNECTOR { + base oc-opt-types:FIBER_CONNECTOR_TYPE; + description + "unknown type connector"; + } + + augment "/oc-platform:components/oc-platform:component" + { + when "/oc-platform:components/oc-platform:component[oc-platform:name = current()]/oc-platform:state/oc-platform:type = 'ASICS'"; + container integrated-circuit { + container realized-processes { + list realized-process { + config false; + key "name"; + description + "List of the processes realized or hosted by the ASICs"; + leaf name { + type leafref { + path "../state/name"; + } + description + "The key for the list of forwarding processes, i.e. Doppler or QFP, realized by this ASICS"; + } + container state { + leaf name { + type leafref { + path "/oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:name"; + } + description + "Reference to the process realized or hosted by the ASICs"; + } + } + + } + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-rib-bgp-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-rib-bgp-ext.yang new file mode 100644 index 000000000..e67144f94 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-rib-bgp-ext.yang @@ -0,0 +1,612 @@ +module cisco-xe-openconfig-rib-bgp-ext { + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-rib-bgp-ext"; + + prefix "cisco-bgprib"; + + // import openconfig-rib-bgp { + // prefix "oc-bgp-rib"; + // } + + import openconfig-network-instance {prefix "oc-ni";} + import openconfig-rib-bgp-types { prefix oc-bgpribt; } + import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + import openconfig-bgp-types { prefix oc-bgpt; } + + + + + + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive + San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; + + description + "TBD"+ + "Copyright (c) 2016 by Cisco Systems, Inc."+ + "All rights reserved."; + + revision 2016-11-30 { + description + "Initial version"; + reference "openconfig-rib-bgp.yang"; + } + + +augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol" { + description + "Adds the BGP-RIB to Network Instance"; + + uses bgp-rib-top; + } + + // IPv4 augments + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv4-unicast/loc-rib" { + description + "Adds the IPv4 route list to the IPv4-unicast tables"; + + uses ipv4-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv4-unicast/neighbors/" + + "neighbor/adj-rib-in-pre" { + description + "Adds the IPv4 route list to the IPv4-unicast tables"; + + uses ipv4-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv4-unicast/neighbors/" + + "neighbor/adj-rib-in-post" { + description + "Adds the IPv4 route list to the IPv4-unicast tables"; + + uses ipv4-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv4-unicast/neighbors/" + + "neighbor/adj-rib-out-pre" { + description + "Adds the IPv4 route list to the IPv4-unicast tables"; + + uses ipv4-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv4-unicast/neighbors/" + + "neighbor/adj-rib-out-post" { + description + "Adds the IPv4 route list to the IPv4-unicast tables"; + + uses ipv4-routes; + } + + // IPv6 augments + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv6-unicast/loc-rib" { + description + "Adds the IPv6 route list to the IPv6-unicast tables"; + uses ipv6-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv6-unicast/neighbors/" + + "neighbor/adj-rib-in-pre" { + description + "Adds the IPv6 route list to the IPv6-unicast tables"; + + uses ipv6-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv6-unicast/neighbors/" + + "neighbor/adj-rib-in-post" { + description + "Adds the IPv6 route list to the IPv6-unicast tables"; + + uses ipv6-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv6-unicast/neighbors/" + + "neighbor/adj-rib-out-pre" { + description + "Adds the IPv6 route list to the IPv6-unicast tables"; + + uses ipv6-routes; + } + + augment "/oc-ni:network-instances/oc-ni:network-instance/oc-ni:protocols/oc-ni:protocol/bgp-rib/afi-safis/afi-safi/ipv6-unicast/neighbors/" + + "neighbor/adj-rib-out-post" { + description + "Adds the IPv6 route list to the IPv6-unicast tables"; + + uses ipv6-routes; + } + +/////////////////////////////////////////////////////////////////////////////// + grouping bgp-rib-top { + description + "Top-level grouping for the BGP RIB"; + + container bgp-rib { + config false; + description + "Top level container for BGP RIBs"; + + container afi-safis { + config false; + description + "Enclosing container for address family list"; + + list afi-safi { + key afi-safi-name; + description + "list of afi-safi types"; + + leaf afi-safi-name { + type identityref { + base oc-bgpt:AFI_SAFI_TYPE; + } + description "AFI,SAFI"; + } + + container ipv4-unicast { + when "../afi-safi-name = 'oc-bgpt:IPV4_UNICAST'" { + description + "Include this container for IPv4 unicast RIB"; + } + description + "Routing tables for IPv4 unicast -- active when the + afi-safi name is ipv4-unicast"; + + uses ip-rib-top; + } + + container ipv6-unicast { + when "../afi-safi-name = 'oc-bgpt:IPV6_UNICAST'" { + description + "Include this container for IPv6 unicast RIB"; + } + description + "Routing tables for IPv6 unicast -- active when the + afi-safi name is ipv6-unicast"; + + uses ip-rib-top; + } + } + } + } + } + + + grouping ip-rib-top { + description + "Top-level grouping for IPv4 routing tables"; + + container loc-rib { + config false; + description + "Main routing table on the router, containing best-path + selections for each prefix. The loc-rib may contain + multiple routes for the same prefix (it is a read-only, + unkeyed list). The best-path leaf should be set to true + for the route selected by the best-path selection process. + Note that multiple paths may be used or advertised even if + only one path is marked as best, e.g., when using BGP + add-paths. An implementation may choose to mark multiple + paths in the RIB as best path by setting the flag to true for + multiple entries."; + + uses common-table-attrs; + } + + container neighbors { + config false; + description + "Enclosing container for neighbor list"; + + list neighbor { + key neighbor-address; + description + "List of neighbors (peers) of the local BGP speaker"; + + leaf neighbor-address { + type inet:ip-address; + description + "IP address of the BGP neighbor or peer"; + } + + container adj-rib-in-pre { + description + "Per-neighbor table containing the NLRI updates + received from the neighbor before any local input + policy rules or filters have been applied. This can + be considered the 'raw' updates from the neighbor."; + + uses common-table-attrs; + + } + + container adj-rib-in-post { + description + "Per-neighbor table containing the paths received from + the neighbor that are eligible for best-path selection + after local input policy rules have been applied."; + + uses common-table-attrs; + } + + container adj-rib-out-pre { + description + "Per-neighbor table containing paths eligble for + sending (advertising) to the neighbor before output + policy rules have been applied"; + + uses common-table-attrs; + + } + + container adj-rib-out-post { + description + "Per-neighbor table containing paths eligble for + sending (advertising) to the neighbor after output + policy rules have been applied"; + + uses common-table-attrs; + + } + } + } + } + + grouping common-table-attrs { + description + "Common attributes attached to all routing tables"; + + leaf num-routes { + type uint64; + description + "Number of route entries in the table"; + } + } + + grouping ipv4-routes { + description + "Common grouping for a list of BGP routes for IPv4 unicast"; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + config false; + key prefix; //FIXME was a leaf in original openconfig-rib-bgp model + + description + "List of routes in the table"; + + leaf prefix { + type inet:ipv4-prefix; + description + "Prefix for the route"; + } + + uses common-route-attrs; + } + } + } + + grouping ipv6-routes { + description + "Common grouping for a list of BGP routes for IPv6 unicast"; + + container routes { + config false; + description + "Enclosing container for list of routes in the routing + table."; + + list route { + config false; + key prefix; //FIXME key was missing in OC model + + description + "List of routes in the table"; + + leaf prefix { + type inet:ipv6-prefix; + description + "Prefix for the route"; + } + + uses common-route-attrs; + } + } + } + + grouping common-route-attrs { + description + "Common BGP route attributes and annotations"; + + container attributes { + + config false; + description + "Base BGP route attributes associated with this route"; + + uses bgp-base-attributes; + } + } + + grouping bgp-base-attributes { + description "Route attributes defined by the BGP-4 standard"; + reference "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + +//FIXME changed model to all list for next hops, need to do through deviation and augmentation + + list next-hops { + key next-hop; + description + "List of available next-hops for this prefix"; + + leaf next-hop { + type inet:ip-address; + description + "BGP next hop attribute defining the IP address of the router + that should be used as the next hop to the destination"; + } + + leaf origin { + type oc-bgpt:bgp-origin-attr-type; + description + "BGP attribute defining the origin of the path information."; + } + + leaf as-path { + type string; + //TODO: add a pattern constraint to enforce the format + //described in the description statement. + description + "String representation of the BGP AS path attribute as + concatenated AS path segments. Each segment of the AS_PATH + should be formatted as follows based on the segment type + (#### denotes a single AS number): + AS_SEQ: #### #### ##### + AS_SET: { #### #### } + AS_CONFED_SEQUENCE: ( #### #### ) + AS_CONFED_SET: [ #### #### ] + AS_PATH segment types are described in RFC 5065. + In the Adj-RIB-In or Adj-RIB-Out, this leaf should show + the received or sent AS_PATH value, respectively. For + example, if the local router is not 4-byte capable, this + value should consist of 2-octet ASNs or the AS_TRANS + (AS 23456) values received or sent in route updates. + In the Loc-RIB, this leaf should reflect the effective + AS path for the route, e.g., a 4-octet value if the + local router is 4-octet capable."; + + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4) + RFC 6793 - BGP Support for Four-octet AS Number Space + RFC 5065 - Autonomous System Confederations for BGP"; + } + + leaf as4-path { + type string; + description + "This string represents the AS path encoded with 4-octet + AS numbers in the optional transitive AS4_PATH attribute. + This value is populated with the received or sent attribute + in Adj-RIB-In or Adj-RIB-Out, respectively. It should not + be populated in Loc-RIB since the Loc-RIB is expected to + store the effective AS-Path in the as-path leaf regardless + of being 4-octet or 2-octet."; + reference + "RFC 6793 - BGP Support for Four-octet AS Number Space"; + } + + leaf med { + type uint32; + description + "BGP multi-exit discriminator attribute used in BGP route + selection process"; + } + + leaf local-pref { + type uint32; + description + "BGP local preference attribute sent to internal peers to + indicate"; + } + + leaf atomic-aggr { + type boolean; + description + "BGP attribute indicating that the prefix is an atomic + aggregate, i.e., the peer selected a less specific + route without selecting a more specific route that is + included in it."; + } + + container aggregator { + description + "BGP attribute indicating the prefix has been aggregated by + the specified AS and router."; + + leaf as { + type uint32; + description + "AS number of the autnonomous system that performed the + aggregation."; + } + + leaf as4 { + type uint32; + description + "AS number of the autnonomous system that performed the + aggregation (4-octet representation). This value is + populated if an upstream router is not 4-octet capable. + Its semantics are similar to the AS4_PATH optional + transitive attribute"; + reference + "RFC 6793 - BGP Support for Four-octet AS Number Space"; + } + + leaf address { + type inet:ipv4-address; + description + "IP address of the router that performed the + aggregation."; + } + } + + leaf-list community { + type oc-bgpt:bgp-std-community-type; + description + "List of standard BGP community attributes."; + } + + leaf originator-id { + type inet:ipv4-address; + description + "BGP attribute that provides the id as an IPv4 address + of the route reflector that created the announcement"; + reference + "RFC 4456 - BGP Route Reflection: An Alternative to Full + Mesh Internal BGP (IBGP)"; + } + + leaf-list cluster-list { + type inet:ipv4-address; + description + "Represents the reflection path that the route has passed."; + reference + "RFC 4456 - BGP Route Reflection: An Alternative to Full + Mesh Internal BGP (IBGP)"; + } + + leaf-list ext-community { + type oc-bgpt:bgp-ext-community-type; + description + "List of BGP extended community attributes"; + reference "RFC 4360 - BGP Extended Communities Attribute"; + } + + leaf aigp { + type uint64; + description + "BGP path attribute representing the accumulated IGP metric + for the path"; + reference + "RFC 7311 - The Accumulated IGP Metric Attribute for BGP"; + } + + leaf path-id { + type uint32; + description + "When the BGP speaker supports advertisement of multiple + paths for a prefix, the path identifier is used to + uniquely identify a route based on the combination of the + prefix and path id. In the Adj-RIB-In, the path-id value is + the value received in the update message. In the Loc-RIB, + if used, it should represent a locally generated path-id + value for the corresponding route. In Adj-RIB-Out, it + should be the value sent to a neighbor when add-paths is + used, i.e., the capability has been negotiated."; + reference + "draft-ietf-idr-add-paths - Advertisement of Multiple Paths + in BGP"; + } + + list unknown-attribute { + key attr-type; + description + "This list contains received attributes that are unrecognized + or unsupported by the local router. The list may be empty."; + + leaf attr-type { + type uint16; + description + "2-octet value encoding the attribute flags and the + attribute type code"; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + leaf attr-len { + type uint16; + description + "One or two octet attribute length field indicating the + length of the attribute data in octets. If the Extended + Length attribute flag in the attribute type field is set, + the length field is 2 octets, otherwise it is 1 octet"; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + + leaf attr-value { + type binary { + length 1..65535; + } + description + "Raw attribute value data, not to exceed the length + indicated in the attr-len field. The maximum length + of the attribute data is 2^16-1 per the max value of the + attr-len field (2 octets)."; + reference + "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; + } + } // End of container aggregator + + leaf last-modified-date { + type yang:date-and-time; + description + "Timestamp of when this path was last changed"; + } + + leaf last-update-received { + type yang:date-and-time; + description + "Timestamp of when the last BGP update message was received + for this path / prefix"; + } + + leaf valid-route { + type boolean; + description + "Indicates that the route is considered valid by the + local router"; + } + + leaf invalid-reason { + type identityref { + base oc-bgpribt:INVALID_ROUTE_REASON; + } + description + "If the route is rejected as invalid, this indicates the + reason."; + } + + leaf best-path { + type boolean; + description + "Current path was selected as the best path."; + } + } //end of next-hops list + } //end of grouping bgp-base-attributes + + + + + + + + +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-routing-policy-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-routing-policy-deviation.yang new file mode 100644 index 000000000..323828576 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-routing-policy-deviation.yang @@ -0,0 +1,89 @@ +module cisco-xe-openconfig-routing-policy-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-routing-policy-deviation"; + prefix cisco-oc-rpol-dev; + + import openconfig-routing-policy { + prefix oc-rpol; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-routing-policy module. + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2017-03-30 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-tag-set/oc-rpol:config/oc-rpol:tag-set" { + description + "Modifies the eigrp match tag condition so it can be referred by name rather than + a reference to a predefined tag set since the predefined eigrp tag sets are not yet supported in Polaris 16.6.1."; + deviate replace { + type string; + } + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-tag-set/oc-rpol:state/oc-rpol:tag-set" { + description + "Modifies the eigrp match tag condition so it can be referred by name rather than + a reference to a predefined tag set since the predefined eigrp tag sets are not yet supported in Polaris 16.6.1."; + deviate replace { + type string; + } + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-neighbor-set" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:config" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:state" { + deviate not-supported; + description + "Not supported on IOS-XE."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:policy-definitions/oc-rpol:policy-definition/oc-rpol:statements/oc-rpol:statement/oc-rpol:conditions/oc-rpol:match-interface" { + deviate not-supported; + description + "Not supported in Polaris 16.6.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:defined-sets/oc-rpol:tag-sets" { + deviate not-supported; + description + "Not supported in Polaris 16.6.1."; + } + + deviation "/oc-rpol:routing-policy/oc-rpol:defined-sets/oc-rpol:prefix-sets/oc-rpol:prefix-set/oc-rpol:prefixes/oc-rpol:prefix/oc-rpol:config/oc-rpol:masklength-range" { + deviate replace { + type string { + pattern '([0-9]+\.\.[0-9]+)|exact'; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-segment-routing-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-segment-routing-deviation.yang new file mode 100644 index 000000000..d4b95039c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-segment-routing-deviation.yang @@ -0,0 +1,34 @@ +module cisco-xe-openconfig-segment-routing-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-segment-routing-deviation"; + prefix oc-segment-routing-devs; + + import openconfig-network-instance { + prefix oc-netinst; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-segment-routing module."; + + revision 2018-12-05 { + description + "Initial Revision"; + } + + deviation "/oc-netinst:network-instances/oc-netinst:network-instance/oc-netinst:segment-routing" { + deviate not-supported; + description + "Not supported in 16.12 release"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-deviation.yang new file mode 100644 index 000000000..e48c926f8 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-deviation.yang @@ -0,0 +1,96 @@ +module cisco-xe-openconfig-spanning-tree-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-deviation"; + prefix oc-stp-devs; + + import openconfig-spanning-tree { + prefix oc-stp; + } + + organization + "Cisco Systems"; + description + "Deviation YANG module for Openconfig-spanning-tree + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2017-08-21 { + description + "Fixed the range of mst instance"; + } + revision 2017-08-13 { + description + "Fixed hold-count value range to match switch behavior"; + } + revision 2017-07-10 { + description + "Initial revision"; + } + + deviation "/oc-stp:stp/oc-stp:rstp" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:global/oc-stp:config/oc-stp:bpduguard-timeout-recovery" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:global/oc-stp:state/oc-stp:bpduguard-timeout-recovery" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:interfaces/oc-stp:interface/oc-stp:config/oc-stp:edge-port" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:interfaces/oc-stp:interface/oc-stp:state/oc-stp:edge-port" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:mstp/oc-stp:config/oc-stp:hold-count" { + deviate replace { + type uint8 { + range "1..20"; + } + } + } + + deviation "/oc-stp:stp/oc-stp:mstp/oc-stp:state/oc-stp:hold-count" { + deviate replace { + type uint8 { + range "1..20"; + } + } + } + + deviation "/oc-stp:stp/oc-stp:rapid-pvst/oc-stp:vlan/oc-stp:config/oc-stp:hold-count" { + deviate replace { + type uint8 { + range "1..20"; + } + } + } + + deviation "/oc-stp:stp/oc-stp:rapid-pvst/oc-stp:vlan/oc-stp:state/oc-stp:hold-count" { + deviate replace { + type uint8 { + range "1..20"; + } + } + } + + deviation "/oc-stp:stp/oc-stp:mstp/oc-stp:mst-instances/oc-stp:mst-instance/oc-stp:config/oc-stp:mst-id" { + deviate replace { + type uint16 { + range "0..4094"; + } + } + } + + deviation "/oc-stp:stp/oc-stp:mstp/oc-stp:mst-instances/oc-stp:mst-instance/oc-stp:state/oc-stp:mst-id" { + deviate replace { + type uint16 { + range "0..4094"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-ext.yang new file mode 100644 index 000000000..a70722edd --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-spanning-tree-ext.yang @@ -0,0 +1,85 @@ +module cisco-xe-openconfig-spanning-tree-ext { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-spanning-tree-ext"; + + prefix oc-stp-ext; + + import openconfig-spanning-tree { + prefix oc-stp; + } + + import openconfig-spanning-tree-types { + prefix oc-stp-types; + } + + organization "Cisco Systems"; + + description + "Augment file for oc-spanning-tree"; + +//////////////////////////////////////////////////////////////////////////// +// REVISION +/////////////////////////////////////////////////////////////////////////// + revision 2017-10-24 { + description "Extended enum instances of STP port state and role"; + } + + revision 2017-07-17 { + description "Initial Draft to change from leaf-list to leaf enabled-protocol"; + } + +//////////////////////////////////////////////////////////////////////////// +// AUGMENT +/////////////////////////////////////////////////////////////////////////// + + deviation "/oc-stp:stp/oc-stp:global/oc-stp:config/oc-stp:enabled-protocol" { + deviate not-supported; + } + + deviation "/oc-stp:stp/oc-stp:global/oc-stp:state/oc-stp:enabled-protocol" { + deviate not-supported; + } + + augment "/oc-stp:stp/oc-stp:global/oc-stp:config" { + leaf enabled-protocol { + type identityref { + base oc-stp-types:STP_PROTOCOL; + } + description + "List of the spanning tree protocols enabled on the + device"; + } + } + + augment "/oc-stp:stp/oc-stp:global/oc-stp:state" { + leaf enabled-protocol { + type identityref { + base oc-stp-types:STP_PROTOCOL; + } + description + "List of the spanning tree protocols enabled on the + device"; + } + } + +////////////////////////////////////////////////////////////////////////////// +// Extend Enum instances +////////////////////////////////////////////////////////////////////////////// + + identity BROKEN { + base oc-stp-types:STP_PORT_STATE; + description + "Cisco added port state enum instance BROKEN"; + } + + identity INVALID { + base oc-stp-types:STP_PORT_STATE; + description + "Cisco added port state enum instance INVALID"; + } + + identity MASTER { + base oc-stp-types:STP_PORT_ROLE; + description + "Cisco added port role enum instance MASTER"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-system-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-system-ext.yang new file mode 100644 index 000000000..77af637ed --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-system-ext.yang @@ -0,0 +1,77 @@ +module cisco-xe-openconfig-system-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-system-ext"; + + prefix "oc-system-cisco"; + + import openconfig-system { prefix oc-sys; } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "Cisco"; + + contact + "www.cisco.com"; + + description + "Cisco augmentation to oc-system model."; + + oc-ext:openconfig-version "1.0.2"; + + revision "2018-03-21" { + description + "Removed augmented source interface leafs Add optional vrf configuration for the logging source interface"; + } + + revision "2018-01-11" { + description + "Moved radius and tacacs source interface leafs to top of servers list"; + } + + revision "2017-12-16" { + description + "Added radius and tacacs source interface leafs"; + } + + revision "2017-11-16" { + description + "Added support for end user license agreement"; + } + revision "2017-10-19" { + description + "Added support ntp source interface configuration and config state"; + } + + augment "/oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:config" { + leaf vrf { + type string; + } + description + "vrf if used by the interface forwarding logging messages"; + } + + augment "/oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:state" { + leaf vrf { + type string; + } + description + "vrf if used by the interface forwarding logging messages"; + } + + augment "/oc-sys:system/oc-sys:state" { + container license { + leaf eula { + type string; + description + "The end user license agreement text"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-system-grpc-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-system-grpc-deviation.yang new file mode 100644 index 000000000..900908526 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-system-grpc-deviation.yang @@ -0,0 +1,59 @@ +module cisco-xe-openconfig-system-grpc-deviation { + namespace "http://cisco.com/ns/cisco-xe-openconfig-system-grpc-deviation"; + prefix oc-system-grpc-devs; + + import openconfig-system { + prefix oc-sys; + } + import openconfig-system-grpc { + prefix oc-sys-grpc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-system-grpc module."; + + revision 2021-10-22 { + description + "Initial Revision"; + } + + deviation "/oc-sys:system/oc-sys-grpc:grpc-servers/oc-sys-grpc:grpc-server" { + deviate add { + max-elements 2; + } + } + + deviation "/oc-sys:system/oc-sys-grpc:grpc-servers/oc-sys-grpc:grpc-server/oc-sys-grpc:config/oc-sys-grpc:name" { + deviate replace { + type string { + pattern '(in)?secure-grpc' { + error-message "Can only configure 'insecure-grpc' or 'secure-grpc' as names"; + } + } + } + } + + deviation "/oc-sys:system/oc-sys-grpc:grpc-servers/oc-sys-grpc:grpc-server/oc-sys-grpc:config/oc-sys-grpc:listen-addresses" { + deviate not-supported; + description + "Currently not supported"; + } + + deviation "/oc-sys:system/oc-sys-grpc:grpc-servers/oc-sys-grpc:grpc-server/oc-sys-grpc:state/oc-sys-grpc:listen-addresses" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-openconfig-vlan-ext.yang b/vendor/cisco/xe/17151/cisco-xe-openconfig-vlan-ext.yang new file mode 100644 index 000000000..672d4bd81 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-openconfig-vlan-ext.yang @@ -0,0 +1,101 @@ +module cisco-xe-openconfig-vlan-ext { + namespace "http://cisco.com/ns/yang/cisco-xe-openconfig-vlan-ext"; + + prefix oc-vlan-ext; + + import openconfig-vlan { + prefix oc-vlan; + } + + import openconfig-vlan-types { + prefix oc-vlan-types; + } + + import openconfig-interfaces { + prefix oc-if; + } + + organization "Cisco Systems"; + + description + "Augmentation for oc-vlan"; + +//////////////////////////////////////////////////////////////////////////// +// REVISION +/////////////////////////////////////////////////////////////////////////// + revision 2017-06-14 { + description "Initial Draft to add a new oper only list for default vlans"; + } + + +//////////////////////////////////////////////////////////////////////////// +// Grouping +/////////////////////////////////////////////////////////////////////////// + + grouping default-vlans { + description "Top-level grouping for default vlans"; + + list default-vlan { + config false; + key "vlan-id"; + description "Default VLANs keyed by id"; + + leaf vlan-id { + type uint16 { + range "1 | 1002..1005"; + } + description "Valid default vlans are 1,1002,1003,1004,1005"; + } + + leaf name { + type string; + description "VLAN name"; + } + + leaf status { + type enumeration { + enum ACTIVE { + description "VLAN is active"; + } + enum SUSPENDED { + description "VLAN is inactive / suspended"; + } + } + default ACTIVE; + description "Admin state of the VLAN"; + } + + list ports { + config false; + description + "List of interfaces / subinterfaces associated with the VLAN."; + + leaf interface { + type string; + description + "Reference to a base interface. + If a reference to a subinterface is required, + this leaf must be specified to indicate the base interface."; + } + + leaf subinterface { + type uint32; + description + "Reference to a subinterface -- this requires the base + interface to be specified using the interface leaf in + this container. If only a reference to a base interface + is requuired, this leaf should not be set."; + } + } + } + } + + +//////////////////////////////////////////////////////////////////////////// +// Augment +////////////////////////////////////////////////////////////////////////// + augment "/oc-vlan:vlans" { + uses default-vlans; + } +} + diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-asr-openconfig-if-ethernet-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-asr-openconfig-if-ethernet-deviation.yang new file mode 100644 index 000000000..a51e46585 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-asr-openconfig-if-ethernet-deviation.yang @@ -0,0 +1,80 @@ +module cisco-xe-routing-asr-openconfig-if-ethernet-deviation { + namespace "http://openconfig.net/yang/cisco-xe-routing-asr-openconfig-if-ethernet-deviation"; + prefix cisco-xe-routing-asr-oc-if-eth-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-if-eth; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ethernet module for IOS XE Routing ASR devices."; + + revision 2021-07-01 { + description + "Deviated leafs not supported under 17.6 release"; + } + revision 2018-07-01 { + description + "Deviated defaults for oc-if-ethernet interfaces to the values supported on the device"; + } + revision 2017-11-01 { + description + "Remove defaults for oc-if-ethernet incompatible with some interfaces"; + } + revision 2017-10-31 { + description + "CSR1K PD Ethernet feature deviations removed"; + } + revision 2017-09-01 { + description + "CSR1K PD Ethernet feature deviations"; + } + revision 2017-02-21 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:enable-flow-control" { + deviate replace { + default "true"; + } + description + "Setting default flow control is not compatible with all interface types."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:auto-negotiate" { + deviate replace { + default "false"; + } + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-undersize-frames" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-block-errors" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-csr-openconfig-platform-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-csr-openconfig-platform-deviation.yang new file mode 100644 index 000000000..e394b35f6 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-csr-openconfig-platform-deviation.yang @@ -0,0 +1,27 @@ +module cisco-xe-routing-csr-openconfig-platform-deviation { + namespace "http://openconfig.net/yang/cisco-xe-routing-csr-openconfig-platform-deviation"; + prefix cisco-xe-routing-csr-oc-platform-devs; + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-platform module for IOS XE Routing CSR devices."; + + revision 2010-10-09 { + description + "Add deviations to remove openconfig-platform features not implemented on IOS XE CSR devices"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-if-ethernet-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-if-ethernet-deviation.yang new file mode 100644 index 000000000..004b191dc --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-if-ethernet-deviation.yang @@ -0,0 +1,56 @@ +module cisco-xe-routing-isr-openconfig-if-ethernet-deviation { + namespace "http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-if-ethernet-deviation"; + prefix cisco-xe-routing-isr-oc-if-eth-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-if-eth; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ethernet module for IOS XE Routing ISR devices."; + + revision 2021-07-01 { + description + "Deviated leafs not supported under 17.6 release"; + } + revision 2018-09-30 { + description + "ISR PD Ethernet feature deviations"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:enable-flow-control" { + deviate not-supported; + description + "Explicit enabling/disabling of the flow-control is not supported on ISR platform ."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-undersize-frames" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-block-errors" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-platform-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-platform-deviation.yang new file mode 100644 index 000000000..363c52698 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-isr-openconfig-platform-deviation.yang @@ -0,0 +1,37 @@ +module cisco-xe-routing-isr-openconfig-platform-deviation { + namespace "http://openconfig.net/yang/cisco-xe-routing-isr-openconfig-platform-deviation"; + prefix cisco-xe-routing-isr-oc-platform-devs; + + import openconfig-platform { + prefix oc-platform; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-platform module for IOS XE Routing ISR devices."; + + revision 2010-10-09 { + description + "Add deviations to remove openconfig-platform features not implemented on IOS XE ISR devices"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-platform:components" { + deviate not-supported; + description + "oc-platform not supported."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-deviation.yang new file mode 100644 index 000000000..7f06910ca --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-deviation.yang @@ -0,0 +1,109 @@ +module cisco-xe-routing-openconfig-system-deviation { + namespace "http://openconfig.net/yang/cisco-xe-routing-openconfig-system-deviation"; + prefix cisco-xe-routing-oc-system-devs; + + import openconfig-system { + prefix oc-sys; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-system module for IOS XE Routing platforms."; + + revision 2017-11-27 { + description + "Add deviations to remove openconfig-system features not implemented on IOS XE Routing platforms"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-sys:system/oc-sys:config" { + deviate not-supported; + description + "oc-system config not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:state/oc-sys:hostname" { + deviate not-supported; + description + "oc-system state/hostname not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:clock" { + deviate not-supported; + description + "oc-system clock not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:dns" { + deviate not-supported; + description + "oc-system dns not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:ntp" { + deviate not-supported; + description + "oc-system ntp not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:telnet-server" { + deviate not-supported; + description + "oc-system telnet-server not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:ssh-server" { + deviate not-supported; + description + "oc-system ssh-server not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:aaa" { + deviate not-supported; + description + "oc-system aaa not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:logging" { + deviate not-supported; + description + "oc-system logging not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:memory" { + deviate not-supported; + description + "oc-system memory not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:processes" { + deviate not-supported; + description + "oc-system processes state args not supported on IOS XE Routing platforms"; + } + + deviation "/oc-sys:system/oc-sys:license" { + deviate not-supported; + description + "Currently not supported"; + } + + deviation "/oc-sys:system/oc-sys:messages" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-ext.yang b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-ext.yang new file mode 100644 index 000000000..96e1ef17c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-ext.yang @@ -0,0 +1,46 @@ +module cisco-xe-routing-openconfig-system-ext{ + + yang-version "1"; + + // namespace + namespace "http://cisco.com/ns/yang/cisco-xe-routing-openconfig-system-ext"; + + prefix "oc-system-cisco"; + + import openconfig-system { prefix oc-sys; } + + + // import some basic types + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization + "Cisco Systems, Inc."; + + contact + "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive + San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; + + description + "Cisco augmentation to oc-system model for routing platforms. + Copyright (c) 2020 by Cisco Systems, Inc. - All rights reserved."; + + revision 2020-11-01 { + description + "Initial version"; + } + + + oc-ext:openconfig-version "1.0.2"; + + augment "/oc-sys:system/oc-sys:state" { + container license { + leaf eula { + type string; + description + "The end user license agreement text"; + } + } + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-grpc-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-grpc-deviation.yang new file mode 100644 index 000000000..5447a9877 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-system-grpc-deviation.yang @@ -0,0 +1,37 @@ +module cisco-xe-routing-openconfig-system-grpc-deviation { + namespace "http://cisco.com/ns/cisco-xe-routing-openconfig-system-grpc-deviation"; + prefix oc-routing-system-grpc-devs; + + import openconfig-system { + prefix oc-sys; + } + import openconfig-system-grpc { + prefix oc-sys-grpc; + } + + organization + "Cisco Systems, Inc."; + contact + "Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-system-grpc module for IOS XE Routing devices."; + + revision 2021-10-22 { + description + "Initial Revision"; + } + + deviation "/oc-sys:system/oc-sys-grpc:grpc-servers" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-vlan-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-vlan-deviation.yang new file mode 100644 index 000000000..51630af9c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-routing-openconfig-vlan-deviation.yang @@ -0,0 +1,31 @@ +module cisco-xe-routing-openconfig-vlan-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-routing-openconfig-vlan-deviation"; + prefix cisco-xe-routing-oc-vlan-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-vlan { + prefix oc-vlan; + } + + organization + "Cisco Systems"; + description + "Deviation YANG module for Openconfig-vlan model for IOS XE Routing platforms + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2018-12-12 { + description + "Initial revision"; + } + + deviation "/oc-vlan:vlans" { + deviate not-supported; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-cat9k-openconfig-system-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-cat9k-openconfig-system-deviation.yang new file mode 100644 index 000000000..d7c022cd7 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-cat9k-openconfig-system-deviation.yang @@ -0,0 +1,273 @@ +module cisco-xe-switching-cat9k-openconfig-system-deviation { + namespace "http://openconfig.net/yang/cisco-xe-switching-cat9k-openconfig-system-deviation"; + prefix cisco-xe-switching-cat9k-oc-system-devs; + + import openconfig-system { + prefix oc-sys; + } + import openconfig-inet-types { + prefix oc-inet; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-system module."; + + revision 2018-07-01 { + description + "Add deviations to the Auth and Acc radius default port and NTP iburst values"; + } + revision 2018-06-08 { + description + "aaa/authentication/users/user/config/ssh-key and + aaa/authentication/users/user/state/ssh-key not supported in 16.9.1"; + } + revision 2018-03-23 { + description + "logging/remote-servers/selectors are not supported in 16.9.1"; + } + revision 2018-03-17 { + description + "Add deviation to restrict logging remote-server host type to ip addresses"; + } + revision 2018-03-16 { + description + "Add deviation to remove telnet-server/session-limit which is not supported in IOS-XE"; + } + revision 2018-03-15 { + description + "Add deviation to require that the severity level for all selectors on a host must be the same + this is currently the limitation of IOS feature code that only allows one discriminator + to be applied to a logging host"; + } + revision 2018-03-11 { + description + "Remove source interface augmentations for ntp, radius and tackacs"; + } + revision 2018-03-07 { + description + "Deviate out ntp/source-address leaf"; + } + revision 2018-03-06 { + description + "Enable logging/remote-servers in 16.9.1"; + } + revision 2018-02-08 { + description + "Remove additional nodes supported in 16.9.1"; + } + revision 2018-02-02 { + description + "Remove deviations for nodes supported in 16.9.1"; + } + revision 2018-01-10 { + description + "The aaa server source ip address can't be configured in IOS-XE"; + } + revision 2018-01-07 { + description + "The ntp server port number can't be configured in IOS-XE"; + } + revision 2017-11-28 { + description + "Add deviations to remove authorization-method from aaa:authorization config section"; + } + revision 2017-11-08 { + description + "Remvoed deviations to remove openconfig-system-logging features"; + } + revision 2017-10-11 { + description + "Add deviations to remove openconfig-system features not implemented in 16.8.1"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:users/oc-sys:user/oc-sys:config/oc-sys:ssh-key" { + deviate not-supported; + description + "user ssh-key is not supported in 16.9.1"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:authentication/oc-sys:users/oc-sys:user/oc-sys:state/oc-sys:ssh-key" { + deviate not-supported; + description + "user ssh-key is not supported in 16.9.1"; + } + + deviation "/oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:config/oc-sys:host" { + deviate replace { + type oc-inet:ip-address; + } + description + "For IOS-XE logging remote-server hostnames must be ip addresses"; + } + + deviation "/oc-sys:system/oc-sys:logging/oc-sys:remote-servers/oc-sys:remote-server/oc-sys:selectors" { + deviate not-supported; + description + "oc-system logging selectors not supported in 16.9.1"; + } + + deviation "/oc-sys:system/oc-sys:dns/oc-sys:host-entries/oc-sys:host-entry/oc-sys:config/oc-sys:alias" { + deviate not-supported; + description + "oc-system dns alias not supported in IOS-XE"; + } + + deviation "/oc-sys:system/oc-sys:dns/oc-sys:host-entries/oc-sys:host-entry/oc-sys:state/oc-sys:alias" { + deviate not-supported; + description + "oc-system dns alias not supported in IOS-XE"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:config/oc-sys:name" { + deviate not-supported; + description + "oc-system aaa server name can't be directly configured in IOS-XE"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:radius/oc-sys:config/oc-sys:auth-port" { + deviate replace { + default "1646"; + } + description + "AAA Auth port default value is different in IOS XE"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:radius/oc-sys:config/oc-sys:acct-port" { + deviate replace { + default "1645"; + } + description + "AAA Acct port default value is different in IOS XE"; + } + + deviation "/oc-sys:system/oc-sys:aaa/oc-sys:server-groups/oc-sys:server-group/oc-sys:servers/oc-sys:server/oc-sys:state/oc-sys:name" { + deviate not-supported; + description + "oc-system aaa server name can't be directly configured in IOS-XE"; + } + + deviation "/oc-sys:system/oc-sys:ntp/oc-sys:servers/oc-sys:server/oc-sys:config/oc-sys:port" { + deviate not-supported; + description + "oc-system ntp/.../port configuration not supported in IOS-XE, is always port 123."; + } + + deviation "/oc-sys:system/oc-sys:ntp/oc-sys:servers/oc-sys:server/oc-sys:config/oc-sys:iburst" { + deviate replace { + default "true"; + } + description + "The default value for oc-system ntp/.../iburst is true in IOS-XE."; + } + + deviation "/oc-sys:system/oc-sys:ssh-server/oc-sys:config/oc-sys:rate-limit" { + deviate not-supported; + description + "ssh-server rate limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:ssh-server/oc-sys:state/oc-sys:rate-limit" { + deviate not-supported; + description + "ssh-server rate limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:session-limit" { + deviate not-supported; + description + "telnet-server session limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:session-limit" { + deviate not-supported; + description + "telnet-server session limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:telnet-server/oc-sys:config/oc-sys:rate-limit" { + deviate not-supported; + description + "telnet-server rate limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:telnet-server/oc-sys:state/oc-sys:rate-limit" { + deviate not-supported; + description + "telnet-server rate limiting not supported on Cisco devices"; + } + + deviation "/oc-sys:system/oc-sys:processes/oc-sys:process/oc-sys:state/oc-sys:args" { + deviate not-supported; + description + "oc-system processes state args not supported in 16.8.1."; + } + + deviation "/oc-sys:system/oc-sys:processes/oc-sys:process/oc-sys:state/oc-sys:start-time" { + deviate not-supported; + description + "oc-system processes state start-time not supported in 16.8.1."; + } + + deviation "/oc-sys:system/oc-sys:processes/oc-sys:process/oc-sys:state/oc-sys:uptime" { + deviate not-supported; + description + "oc-system processes state uptime not supported in 16.8.1."; + } + + deviation "/oc-sys:system/oc-sys:processes/oc-sys:process/oc-sys:state/oc-sys:cpu-usage-system" { + deviate not-supported; + description + "oc-system processes state cpu-usage-system not supported in 16.8.1."; + } + + deviation "/oc-sys:system/oc-sys:ntp/oc-sys:state/oc-sys:auth-mismatch" { + deviate not-supported; + description + "oc-system ntp auth-mismatch state not supported in 16.9.1."; + } + + deviation "/oc-sys:system/oc-sys:logging/oc-sys:console" { + deviate not-supported; + description + "oc-system logging console is not supported in 16.9.1."; + } + + deviation "/oc-sys:system/oc-sys:alarms" { + deviate not-supported; + description + "oc-system alarms are not supported in 16.9.1."; + } + + deviation "/oc-sys:system/oc-sys:cpus" { + deviate not-supported; + description + "oc-system cpu is not supported in 16.9.1."; + } + + deviation "/oc-sys:system/oc-sys:license" { + deviate not-supported; + description + "Currently not supported"; + } + + deviation "/oc-sys:system/oc-sys:messages" { + deviate not-supported; + description + "Currently not supported"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-if-ethernet-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-if-ethernet-deviation.yang new file mode 100644 index 000000000..00e7c7b36 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-if-ethernet-deviation.yang @@ -0,0 +1,64 @@ +module cisco-xe-switching-openconfig-if-ethernet-deviation { + namespace "http://openconfig.net/yang/cisco-xe-switching-openconfig-if-ethernet-deviation"; + prefix cisco-xe-switching-oc-if-eth-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-if-eth; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ethernet module for IOS XE Switching platforms."; + + revision 2021-07-01 { + description + "Deviated leafs not supported under 17.6 release"; + } + revision 2018-12-12 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:enable-flow-control" { + deviate replace { + default "true"; + } + description + "Setting default flow control is not compatible with all interface types."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:auto-negotiate" { + deviate replace { + default "false"; + } + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-undersize-frames" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-block-errors" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-interfaces-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-interfaces-deviation.yang new file mode 100644 index 000000000..b0091ebd1 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-interfaces-deviation.yang @@ -0,0 +1,36 @@ +module cisco-xe-switching-openconfig-interfaces-deviation { + namespace "http://openconfig.net/yang/cisco-xe-switching-openconfig-interfaces-deviation"; + prefix cisco-xe-switching-oc-if-devs; + + import openconfig-interfaces { + prefix oc-if; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-interfaces module for IOS XE Switching platforms. + Copyright (c) 2018 by Cisco Systems, Inc. + All rights reserved."; + + revision 2018-12-12 { + description + "Initial revision"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:config/oc-if:mtu" { + deviate not-supported; + description + "Top level mtu not supported on switching platforms"; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-lacp-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-lacp-deviation.yang new file mode 100644 index 000000000..5fba664bc --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-lacp-deviation.yang @@ -0,0 +1,81 @@ +module cisco-xe-switching-openconfig-lacp-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-switching-openconfig-lacp-deviation"; + prefix cisco-xe-oc-switch-lacp-dev; + + import openconfig-lacp { + prefix oc-lacp; + } + + organization + "Cisco Systems"; + description + "This module defines deviation statements for openconfig-lacp model applicable to IOS XE Switching platforms."; + + revision 2022-08-25 { + description + "Removed deviation statement for partner-port-num, as it is supported in IOS XE now"; + } + revision 2021-04-28 { + description + "Initial revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-lacp:lacp/oc-lacp:config" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:state" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:config/oc-lacp:interval" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:config/oc-lacp:lacp-mode" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:config/oc-lacp:system-id-mac" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:config/oc-lacp:system-priority" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:state" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:activity" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:timeout" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:synchronization" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:aggregatable" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:collecting" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:distributing" { + deviate not-supported; + } + + deviation "/oc-lacp:lacp/oc-lacp:interfaces/oc-lacp:interface/oc-lacp:members/oc-lacp:member/oc-lacp:state/oc-lacp:counters" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-platform-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-platform-deviation.yang new file mode 100644 index 000000000..e6a3a6577 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-platform-deviation.yang @@ -0,0 +1,244 @@ +module cisco-xe-switching-openconfig-platform-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-switching-openconfig-platform-deviation"; + prefix cisco-xe-switching-oc-platform-devs; + + import openconfig-platform { + prefix oc-platform; + } + import openconfig-platform-transceiver { + prefix oc-transceiver; + } + import openconfig-platform-port { + prefix oc-port; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-platform module for IOS XE Cat9K Switching devices."; + + revision 2021-09-20 { + description + "Deviated unsupported leaves for oc-state mfg-name and mfg-date"; + } + revision 2021-03-22 { + description + "Removed deviations for temperature/oc-platform:average/min/max xpaths"; + } + revision 2018-08-28 { + description + "Deviations for component/breakout-mode config and oper"; + } + revision 2018-01-25 { + description + "Deviated unsupported leaves for oc-port and oc-transceiver"; + } + revision 2017-09-01 { + description + "Hided avg/min/max temperature because we do not support them"; + } + revision 2017-03-21 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:properties/oc-platform:property/oc-platform:name" { + deviate replace { + type string; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:subcomponents/oc-platform:subcomponent/oc-platform:name" { + deviate replace { + type string; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:subcomponents/oc-platform:subcomponent/oc-platform:state/oc-platform:name" { + deviate replace { + type string; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:name" { + deviate replace { + type string; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:properties/oc-platform:property/oc-platform:name" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:subcomponents/oc-platform:subcomponent/oc-platform:name" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:properties" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:properties/oc-platform:property" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:subcomponents" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:subcomponents/oc-platform:subcomponent" { + deviate replace { + config false; + } + description + "platform is oper only in Cisco XE device."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:config" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:fault-condition" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:vendor-rev" { + deviate replace { + type string; + } + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:state/oc-transceiver:date-code" { + deviate replace { + type string; + } + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:index" { + deviate replace { + type uint16; + config false; + } + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:config" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:description" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:target-output-power" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:tx-laser" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:output-frequency" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:avg" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:min" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:input-power/oc-transceiver:max" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:avg" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:min" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:output-power/oc-transceiver:max" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:avg" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:min" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-transceiver:transceiver/oc-transceiver:physical-channels/oc-transceiver:channel/oc-transceiver:state/oc-transceiver:laser-bias-current/oc-transceiver:max" { + deviate not-supported; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:mfg-date" { + deviate not-supported; + description + "oc-platform mfg-date is not supported in 17.7."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:state/oc-platform:mfg-name" { + deviate not-supported; + description + "oc-platform mfg-name is not supported in 17.7."; + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:config/oc-port:num-channels" { + deviate add { + must '.=4' { + error-message "num-channels must be set to 4"; + } + } + } + + deviation "/oc-platform:components/oc-platform:component/oc-platform:port/oc-port:breakout-mode/oc-port:config/oc-port:channel-speed" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-vlan-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-vlan-deviation.yang new file mode 100644 index 000000000..402a9e626 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-switching-openconfig-vlan-deviation.yang @@ -0,0 +1,34 @@ +module cisco-xe-switching-openconfig-vlan-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-switching-openconfig-vlan-deviation"; + prefix cisco-xe-switching-oc-vlan-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-vlan { + prefix oc-vlan; + } + import cisco-xe-openconfig-vlan-ext { + prefix oc-vlan-ext; + } + + organization + "Cisco Systems"; + description + "Deviation YANG module for Openconfig-vlan for IOS XE Switching platforms + Copyright (c) 2017 by Cisco Systems, Inc. + All rights reserved."; + + revision 2017-03-17 { + description + "Initial revision"; + } + + deviation "/oc-vlan:vlans/oc-vlan-ext:default-vlan/oc-vlan-ext:ports/oc-vlan-ext:subinterface" { + deviate not-supported; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-if-ethernet-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-if-ethernet-deviation.yang new file mode 100644 index 000000000..1d3502c26 --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-if-ethernet-deviation.yang @@ -0,0 +1,64 @@ +module cisco-xe-wireless-openconfig-if-ethernet-deviation { + namespace "http://openconfig.net/yang/cisco-xe-wireless-openconfig-if-ethernet-deviation"; + prefix cisco-xe-wireless-oc-if-eth-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-if-ethernet { + prefix oc-if-eth; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for openconfig-if-ethernet module for IOS XE Wireless platforms."; + + revision 2021-07-01 { + description + "Deviated leafs not supported under 17.6 release"; + } + revision 2018-12-12 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:enable-flow-control" { + deviate replace { + default "true"; + } + description + "Setting default flow control is not compatible with all interface types."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:config/oc-if-eth:auto-negotiate" { + deviate replace { + default "false"; + } + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-undersize-frames" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if-eth:ethernet/oc-if-eth:state/oc-if-eth:counters/oc-if-eth:in-block-errors" { + deviate not-supported; + description + "Not supported in 17.6 release."; + } +} diff --git a/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-vlan-deviation.yang b/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-vlan-deviation.yang new file mode 100644 index 000000000..25404bb0c --- /dev/null +++ b/vendor/cisco/xe/17151/cisco-xe-wireless-openconfig-vlan-deviation.yang @@ -0,0 +1,38 @@ +module cisco-xe-wireless-openconfig-vlan-deviation { + namespace "http://cisco.com/ns/yang/cisco-xe-wireless-openconfig-vlan-deviation"; + prefix cisco-xe-wireless-oc-vlan-devs; + + import openconfig-interfaces { + prefix oc-if; + } + import openconfig-vlan { + prefix oc-vlan; + } + import cisco-xe-openconfig-vlan-ext { + prefix oc-vlan-ext; + } + + organization + "Cisco Systems"; + description + "Deviation YANG module for Openconfig-vlan for IOS XE Wireless devices + Copyright (c) 2018-2019 by Cisco Systems, Inc. + All rights reserved."; + + revision 2019-04-24 { + description + "Enable openconfig-vlan"; + } + revision 2018-12-12 { + description + "Initial revision"; + } + + deviation "/oc-vlan:vlans/oc-vlan-ext:default-vlan/oc-vlan-ext:ports/oc-vlan-ext:subinterface" { + deviate not-supported; + } + + deviation "/oc-if:interfaces/oc-if:interface/oc-if:subinterfaces/oc-if:subinterface/oc-vlan:vlan" { + deviate not-supported; + } +} diff --git a/vendor/cisco/xe/17151/common-mpls-static-devs.yang b/vendor/cisco/xe/17151/common-mpls-static-devs.yang new file mode 100644 index 000000000..4075914b6 --- /dev/null +++ b/vendor/cisco/xe/17151/common-mpls-static-devs.yang @@ -0,0 +1,163 @@ +module common-mpls-static-devs { + namespace "http://cisco.com/ns/mpls-static/devs"; + prefix mpls-devs; + + import common-mpls-static { + prefix ms; + } + + organization + "Cisco Systems, Inc."; + contact + " Cisco Systems, Inc. + Customer Service + + Postal: 170 W Tasman Drive + San Jose, CA 95134 + + Tel: +1 1800 553-NETS + + E-mail: cs-yang@cisco.com"; + description + "This module defines deviation statements for common-mpls-static module."; + + revision 2015-09-11 { + description + "Initial Revision"; + reference + "RFC 6020: YANG - A Data Modeling Language for the + Network Configuration Protocol (NETCONF)"; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution" + + "/ms:explicit-next-hops/ms:next-hop" { + deviate add { + max-elements 1; + } + description + "Next hop list. Currently only one static element with key (index) '0' + is supported."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:operations/ms:operation/ms:swap-with-label-stack" + + "/ms:swap/ms:stack/ms:label-stack" { + deviate add { + max-elements 1; + } + description + "Device does not support multiple label-stack"; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:interfaces" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:auto-next-hops" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:name" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:protected-by" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp" + + "/ms:path/ms:resolution" + + "/ms:explicit-next-hops/ms:next-hop/ms:next-hop-type" + + "/ms:address-type/ms:unnumberd" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:next-hop-type/ms:address-type/ms:layer3-ipv6" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:next-hop-type/ms:address-type/ms:layer2" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:next-hop-type/ms:out-interface-name" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:operations/ms:operation/ms:preserve-stack" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:operations/ms:operation/ms:push-label-stack" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv4-ingress-lsps" + + "/ms:ipv4-ingress-lsp/ms:path/ms:resolution/ms:explicit-next-hops" + + "/ms:next-hop/ms:operations/ms:operation/ms:pop-and-forward" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:ipv6-ingress-lsps" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:named-lsps" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-cfg/ms:in-label-lsps" { + deviate not-supported; + description + "Not supported in IOS-XE 3.17 release."; + } + + deviation "/ms:mpls-static/ms:mpls-static-state" { + deviate not-supported; + description + "Not supported in Polaris 16.8.1 release."; + } +} diff --git a/vendor/cisco/xe/17151/common-mpls-static.yang b/vendor/cisco/xe/17151/common-mpls-static.yang new file mode 100644 index 000000000..98366f226 --- /dev/null +++ b/vendor/cisco/xe/17151/common-mpls-static.yang @@ -0,0 +1,533 @@ +module common-mpls-static { + namespace "urn:ietf:params:xml:ns:yang:common-mpls-static"; + prefix ms; + + import cisco-semver { + prefix cisco-semver; + } + import ietf-inet-types { + prefix inet; + } + import ietf-interfaces { + prefix if; + } + import ietf-yang-types { + prefix yang; + } + import common-mpls-types { + prefix mpls; + } + + organization + "Cisco Systems + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA"; + contact + "Robert Sawaya - rsawaya@cisco.com + Vasanth Sabavat - vsabavat@cisco.com"; + description + "YANG module describing configuration and + operational data relating to MPLS Static."; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2015-07-22 { + description + "Provisional model after Gov review"; + reference + ""; + } + + grouping lsp-stats { + container stats { + leaf packets { + type uint64; + description + "stats for packet count"; + } + leaf bytes { + type uint64; + description + "stats for byte count"; + } + leaf dropped-packets { + type uint64; + description + "stats for dropped-packets"; + } + leaf dropped-bytes { + type uint64; + description + "stats for dropped-bytes"; + } + description + "Statistics"; + } + description + "LSP statistics"; + } + + identity lsp-type { + description + "The type of Label Switched Path"; + } + + identity lsp-IPv4 { + base lsp-type; + description + "The LSP is for an IPv4 prefix"; + } + + identity lsp-IPv6 { + base lsp-type; + description + "The LSP is for an IPv6 prefix"; + } + + identity lsp-vrf { + base lsp-type; + description + "The LSP is per VRF"; + } + + identity lsp { + base lsp-type; + description + "The LSP is cross-connect"; + } + + typedef hoptype { + type enumeration { + enum PRIMARY { + value 0; + description + "Primary next hop"; + } + enum BACKUP { + value 1; + description + "Backup next hop"; + } + } + description + "The Nexthop type"; + } + + identity nexthop-resolution-type { + description + "The Routing Protocol from which the nexthop is resolved"; + } + + identity static-nexthop { + base nexthop-resolution-type; + description + "The nexthop resolved from statically configured route"; + } + + identity bgp-route-nexthop { + base nexthop-resolution-type; + description + "The nexthop resolved from a BGP route"; + } + + identity ospf-route-nexthop { + base nexthop-resolution-type; + description + "The nexthop resolved from an OSPF route"; + } + + identity isis-route-nexthop { + base nexthop-resolution-type; + description + "The nexthop resolved from an ISIS route"; + } + + grouping label-processing { + container operations { + choice operation { + case preserve-stack { + description + "Do not modify the incoming label stack"; + leaf preserve { + type empty; + mandatory true; + description + "preserve incoming label stack"; + } + } + case swap-with-label-stack { + description + "Pop the incoming label and push a label stack"; + container swap { + description + "Push outgoing label stack"; + uses mpls:out-label-stack; + } + } + case push-label-stack { + description + "Push a label stack"; + container push { + description + "Push outgoing label stack"; + uses mpls:out-label-stack; + } + } + case pop-and-forward { + description + "Pop the incoming label and forward"; + leaf pop-and-forward { + type empty; + mandatory true; + description + "Pop the incoming label and forward"; + } + } + description + "The type of mpls operation on incoming label"; + } + description + "The incoming label processing"; + } + description + "The grouping of label-processing elements"; + } + + grouping next-hop { + container next-hop-type { + choice address-type { + case unnumberd { + leaf if-index { + type uint32; + mandatory true; + description + "The interface index"; + } + } + case layer3-ipv4 { + leaf ipv4-address { + type inet:ipv4-address-no-zone; + mandatory true; + description + "IPv4 Address of the nexthop"; + } + } + case layer3-ipv6 { + leaf ipv6-address { + type inet:ipv6-address-no-zone; + mandatory true; + description + "IPv6 Address of the nexthop"; + } + } + case layer2 { + leaf mac-address { + type yang:mac-address; + mandatory true; + description + "MAC address of the nexthop"; + } + } + description + "Next-hop type"; + } + leaf out-interface-name { + type if:interface-ref; + description + "Name of the outgoing interface"; + } + description + "Next-hop"; + } + description + "The grouping of next-hop type elements"; + } + + grouping forwarding-path { + container path { + choice resolution { + case auto-next-hops { + description + "Nexthops are determined from the routing table"; + uses label-processing; + leaf auto-protect { + type boolean; + default "false"; + description + "Enables automatic protection if true"; + } + } + case explicit-next-hops { + list next-hop { + key "index"; + leaf index { + type uint32; + mandatory true; + description + "Index of the nexthop"; + } + leaf type { + type hoptype; + mandatory true; + description + "The forwarding path's hoptype"; + } + leaf protected-by { + type uint32; + description + "Index of the nexthop that protects this nexthop"; + } + uses next-hop; + uses label-processing; + description + "next-hops list"; + } + } + description + "Forwarding path choice"; + } + description + "Fowarding path"; + } + description + "The grouping of forwarding path elements"; + } + + container mpls-static { + description + "MPLS Static module"; + container mpls-static-cfg { + description + "MPLS Static configuration commands"; + container interfaces { + list interface { + key "name"; + leaf name { + type if:interface-ref; + mandatory true; + description + "Interface name"; + } + leaf enabled { + type uint32; + mandatory true; + description + "Interface Enabled boolean"; + } + description + "List of interfaces that can be enabled under + mpls static"; + } + description + "The list of interfaces configured with mpls"; + } + container ipv4-ingress-lsps { + list ipv4-ingress-lsp { + key "vrf-name prefix"; + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf prefix { + type inet:ipv4-prefix; + description + "IPv4 prefix of packets that will ingress on this LSP"; + } + leaf name { + type string; + description + "Name of the LSP"; + } + leaf in-label { + type mpls:ietf-mpls-label; + description + "Value of the local label. Optional for ingress"; + } + uses forwarding-path; + description + "MPLS Static IPv4 Label Switched + Path Configuration at Ingress"; + } + description + "The LSPs indexed by ipv4 prefix"; + } + container ipv6-ingress-lsps { + list ipv6-ingress-lsp { + key "vrf-name prefix"; + leaf prefix { + type inet:ipv6-prefix; + description + "IPv6 prefix of packets that will ingress on this LSP"; + } + leaf name { + type string; + description + "Name of the LSP"; + } + leaf in-label { + type mpls:ietf-mpls-label; + description + "Value of the local label. Optional for ingress"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + uses forwarding-path; + description + "MPLS Static IPv6 Label Switched Path + Configuration at Ingress"; + } + description + "The LSPs indexed by ipv6 prefix"; + } + container in-label-lsps { + list in-label-lsp { + key "vrf-name in-label"; + leaf in-label { + type mpls:ietf-mpls-label; + description + "Value of the local label"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + uses forwarding-path; + description + "Non-ingress MPLS Static LSPs, + keyed on the incoming label"; + } + description + "The LSPs indexed by in-label"; + } + container named-lsps { + list named-lsp { + key "vrf-name name"; + leaf name { + type string; + mandatory true; + description + "Name of the LSP"; + } + leaf lsp-type { + type identityref { + base lsp-type; + } + mandatory true; + description + "lsp type"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf in-label { + type mpls:ietf-mpls-label; + description + "Value of the local label"; + } + leaf ipv4-prefix { + when "../lsp-type = 'lsp-IPv4'" { + description + "ipv4 prefix"; + } + type inet:ipv4-prefix; + description + "ipv4 prefix"; + } + leaf ipv6-prefix { + when "../lsp-type = 'lsp-IPv6'" { + description + "ipv6 prefix"; + } + type inet:ipv6-prefix; + description + "ipv6 prefix"; + } + uses forwarding-path; + description + "MPLS Static Label Switched Path Configuration. + The LSPs in this list are referenced by a string name. + The LSPs may be ingress/egress/crossconnect, + may have v4/v6 prefixes and may be associated with any + VRF. The other specialized lists above are for + implemetations that are keyed on prefixes or in-labels + instead of the LSP name."; + } + description + "The LSPs indexed by name"; + } + } + container mpls-static-state { + config false; + container label-switched-paths { + list label-switched-path { + key "vrf-name prefix"; + leaf name { + type string; + description + "Name of the LSP"; + } + leaf vrf-name { + type string; + description + "Name of the VRF"; + } + leaf in-label-value { + type mpls:ietf-mpls-label; + description + "Value of the local label"; + } + leaf prefix { + type inet:ip-prefix; + description + "IP v4/v6 prefix"; + } + container ingress-stats { + uses lsp-stats; + description + "ingress stats"; + } + container egress-stats { + uses lsp-stats; + description + "egress stats"; + } + uses forwarding-path { + augment "path/resolution/explicit-next-hops/next-hop" { + leaf origin { + type identityref { + base nexthop-resolution-type; + } + description + "The origin of this nexthop"; + } + container nexthop-stats { + uses lsp-stats; + description + "lsp stats"; + } + description + "Augmenting forwarding-path for operational data"; + } + } + description + "MPLS LSPs list"; + } + description + "MPLS Static Label Switched Paths"; + } + description + "MPLS static operational data"; + } + } +} diff --git a/vendor/cisco/xe/17151/common-mpls-types.yang b/vendor/cisco/xe/17151/common-mpls-types.yang new file mode 100644 index 000000000..66028de4b --- /dev/null +++ b/vendor/cisco/xe/17151/common-mpls-types.yang @@ -0,0 +1,80 @@ +module common-mpls-types { + namespace "urn:ietf:params:xml:ns:yang:common-mpls-types"; + prefix mpls-types; + + import cisco-semver { + prefix cisco-semver; + } + + organization + "Cisco Systems + 170 West Tasman Drive + San Jose, CA 95134-1706 + USA"; + contact + "Robert Sawaya - rsawaya@cisco.com, + Vasanth Sabavat - vsabavat@cisco.com"; + description + "This module contains a collection of generally useful YANG types + that are specific to MPLS that can be usefully shared + between multiple models. + + Terms and Acronyms + + MPLS: Multi Protocol Label Switching"; + + revision 2019-07-01 { + description + "Establish semantic version baseline"; + cisco-semver:module-version "1.0.0"; + } + revision 2015-05-28 { + description + "Initial revision"; + reference + ""; + } + + typedef ietf-mpls-label { + type union { + type uint32 { + range "16 .. 1048575"; + } + type enumeration { + enum v4-explicit-null { + value 0; + description + "IETF MPLS IPv4 explicit null Label (0)"; + } + enum v6-explicit-null { + value 2; + description + "IETF MPLS IPv6 explicit null label (2)"; + } + enum implicit-null { + value 3; + description + "IETF MPLS implicit null label (3)"; + } + } + } + description + "Temporary type until IETF definition"; + } + + grouping out-label-stack { + container stack { + leaf-list label-stack { + type ietf-mpls-label; + min-elements 1; + ordered-by user; + description + "First label in the list is the top of the stack"; + } + description + "The label stack"; + } + description + "The output label stack"; + } +} diff --git a/vendor/cisco/xe/17151/confd_dyncfg.yang b/vendor/cisco/xe/17151/confd_dyncfg.yang new file mode 100644 index 000000000..6fec948eb --- /dev/null +++ b/vendor/cisco/xe/17151/confd_dyncfg.yang @@ -0,0 +1,7338 @@ +module confd_dyncfg { + namespace "http://tail-f.com/ns/confd_dyncfg/1.0"; + prefix "confd_dyncfg"; + tailf:id ""; + + import ietf-yang-types { + prefix yang; + } + import ietf-inet-types { + prefix inet; + } + import tailf-common { + prefix tailf; + } + import tailf-xsd-types { + prefix xs; + } + + organization + "Tail-f Systems"; + description + "This module defines the Tail-f ConfD configuration parameters + that can be modified in runtime."; + + revision 2024-05-02 { + description + "Released as part of ConfD-8.1.10. + + Updated the description for /confdConfig/ssh/algorithms/kex"; + } + revision 2023-09-29 { + description + "Released as part of ConfD-8.1.4. + + Updated the description for /confdConfig/ssh/algorithms/serverHostKey"; + } + revision 2023-04-21 { + description + "Released as part of ConfD-8.1. + + Non-backwards-compatible changes have been introduced. + + Obsoleted deprecated NETCONF default handling setting: + /confdConfig/netconf/sendDefaults. + + Deprecated /confdConfig/defaultHandlingModeAlsoSupported. + + Updated description for /confdConfig/validateUtf8, cdb validation + command has changed. + + Updated description for /confdConfig/logs/netconfTraceLog/enabled. + + Added leafs /confdConfig/ssh/rekeyLimit/bytes and + /confdConfig/ssh/rekeyLimit/minutes. + + Added leaf /confdConfig/ssh/parallelLogin. + + Deprecated /confdConfig/cdb/journalCompaction. + + Added compaction configurations: + /confdConfig/compaction/journalCompaction, + /confdConfig/compaction/fileSizeRelative, + /confdConfig/compaction/numNodeRelative, + /confdConfig/compaction/fileSizeAbsolute, + /confdConfig/compaction/numTransactions, and + /confdConfig/compaction/delayedCompactionTimeout + + Added haPrimaryListen grouping. + + Added support for high-availability primary to listen(2): + /confdConfig/cli/ssh/haPrimaryListen, + /confdConfig/webui/transport/tcp/haPrimaryListen, + /confdConfig/webui/transport/ssl/haPrimaryListen, + /confdConfig/restconf/transport/tcp/haPrimaryListen, + /confdConfig/restconf/transport/ssl/haPrimaryListen, + /confdConfig/netconf/transport/ssh/haPrimaryListen, and + /confdConfig/netconf/transport/tcp/haPrimaryListen."; + } + revision 2022-11-11 { + description + "Released as part of ConfD-8.0. + + Non-backwards-compatible changes have been introduced. + + Removed usupported VRF configurations: + /confdConfig/fipsMode/transport/tcp/vrf, + + Changed default for /confdConfig/validateUtf8/enabled to 'true'. + + Added /confdConfig/persistentTransactionIds. + + Added /confdConfig/sharedMemorySchemaPath. + + Added tlsv1.3, and excluded tlsv1.1 from the default, for + /confdConfig/restconf/transport/ssl/protocols and + /confdConfig/webui/transport/ssl/protocols. + + Updated the list of cipher suites for + /confdConfig/restconf/transport/ssl/ciphers and + /confdConfig/webui/transport/ssl/ciphers. + + Added /confdConfig/cli/enableLastLoginBanner. + + Added /confdConfig/xpathCache. + + Added /confdConfig/netconf/transport/ssh/rcvPktSize."; + } + revision 2022-04-20 { + description + "Released as part of ConfD-7.8. + + Updated description for /confdConfig/cdb/operational/replication. + + Updated description for /confdConfig/cdb/operational/persistent. + Added 'yang' name to 'operationalReplicationType' enumeration. + + Updated description for /confdConfig/cli/idleTimeout. + + Updated descriptions for /confdConfig/webui/transport/ssl/keyFile, + /confdConfig/webui/transport/ssl/certFile, and + /confdConfig/webui/transport/ssl/caCertFile. + + Updated descriptions for /confdConfig/restconf/transport/ssl/keyFile, + /confdConfig/restconf/transport/ssl/certFile, and + /confdConfig/restconf/transport/ssl/caCertFile."; + } + revision 2021-12-17 { + description + "Released as part of Confd-7.7 + + Updated description for /confdConfig/cli/actionCallNoListInstance."; + } + revision 2021-09-09 { + description + "Released as part of Confd-7.6 + + Removed NCS-specific /confdConfig/showNedErrorAsInfo. + + Added /confdConfig/validateUtf8/enabled. + + Updated descriptions for /confdConfig/cli/prompt1, + /confdConfig/cli/prompt2, /confdConfig/cli/cPrompt1, and + /confdConfig/cli/cPrompt2. + + Added /confdConfig/webui/resources/enabled. + + Added /confdConfig/webui/transport/keepalive + Added /confdConfig/webui/transport/keepaliveTimeout."; + } + revision 2020-11-25 { + description + "Released as part of Confd-7.5 + + Added /confdConfig/netconf/capabilities/url/ftp/sourceAddress. + + Added /confdConfig/netconf/capabilities/url/sftp/sourceAddress. + + Added /confdConfig/netconf/transport/sshCallHomeSourceAddress. + + Added /confdConfig/netconf/yangPush/enableExternalAccessCheck."; + } + revision 2020-06-29 { + description + "Released as part of Confd-7.4 + + Added /confdConfig/logs/webuiAccessLog/syslog. + + Updated the default values for the leaves under + /confdConfig/ssh/algorithms, they are no longer + empty. Configuring a leaf to empty still means all supported + algorithms. + + Removed option 'always' in /confdConfig/aaa/auditUserName. + + Added /confdConfig/enableOrigin. + + Renamed /confdConfig/aaa/rest to /confdConfig/aaa/restconf."; + } + revision 2019-11-28 { + description + "Released as part of Confd-7.3 + + Added /confdConfig/defaultHandlingModeAlsoSupported. + + Added /confdConfig/logs/external and updated log configuration + with external/enabled leaf. + + Added /confdConfig/cli/showOperationalState."; + } + revision 2019-06-30 { + description + "Released as part of ConfD-7.2 + + Added /confdConfig/fipsMode. + + Added /confdConfig/fipsMode/enabled."; + } + revision 2019-03-21 { + description + "Released as part of ConfD-7.1 + + Updated the list of cipher suites for + /confdConfig/webui/transport/ssl/ciphers. + + Added /confdConfig/webui/transport/ssl/ellipticCurves. + + Removed sslv3, and excluded tlsv1 from the default, + for /confdConfig/webui/transport/ssl/protocols. + + Added /confdConfig/aaa/maxPasswordLength. + + Added /confdConfig/parserLimits. + + Deprecated /confdConfig/netconf/capabilities: + startup, candidate, and writable-running + If they are present in confd.conf they will be ignored. The + corresponding capabilities are advertised based on the setting + under /confdConfig/datastores. + + Deprecated /confdConfig/netconf/capabilities: + transactions, forward, query, inactive. + They were all identified with special NETCONF capability + strings. They are now defined in YANG files and advertised as + such if the corresponding YANG fxs file is found in the load + path ('inactive' also needs /confdConfig/enableInactive to be + enabled) If they are enabled in confd.conf, the old special + capability string is also advertised. + + Deprecated /confdConfig/netconf/capabilities/partial-lock. The + corresponding capability string is advertised if its YANG fxs + file is found in the load path. + + Obsoleted /confdConfig/netconf/capabilities: + extensions and with-transaction-id + They are advertised if the corresponding YANG fxs file is found + in the load path. If they are found in confd.conf they are + ignored. + + Added NCS-specific /confdConfig/javaVm/autoStart. + + Added NCS-specific /confdConfig/javaVm/autoRestart. + + Added NCS-specific /confdConfig/javaVm/runInTerminal/enabled. + + Added default for + /confdConfig/javaVm/runInTerminal/terminalCommand. + + Added NCS-specific /confdConfig/pythonVm/autoStart. + + Added NCS-specific /confdConfig/pythonVm/autoRestart. + + Added NCS-specific /confdConfig/pythonVm/runInTerminal/enabled. + + Added default for + /confdConfig/pythonVm/runInTerminal/terminalCommand. + + Added /confdConfig/restconf/requireModuleName. + + Added /confdConfig/logs/netconfLog/logReplyStatus."; + } + revision 2019-03-07 { + description + "Released as part of ConfD-4.7.3. + + Added NCS-specific /confdConfig/netconfCallHome. + + Added JSON-RPC traffic log, + /confdConfig/logs/jsonrpcLog."; + } + revision 2018-09-13 { + description + "Released as part of ConfD-6.7.1 + + Added /confdConfig/cli/maxLineLength. + + Added /confdConfig/newlinesInBinaryBase64. + + Added /confdConfig/confdIpcDscp. + + Added /confdConfig/netconf/transport/sshCallHomeExecutable. + + Changed to use a grouping for common log configuration parameters."; + } + revision 2018-06-14 { + description + "Released as part of ConfD-6.7. + + Added /confdConfig/ha/extraIpPorts."; + } + revision 2018-06-01 { + description + "Released as part of ConfD-6.6.2. + + Added /confdConfig/ha/dscp. + + Added /confdConfig/confdIpcKeepalive."; + } + revision 2018-04-19 { + description + "Released as part of ConfD-6.6.1. + + Added /confdConfig/enableCompressedSchema."; + } + revision 2018-03-02 { + description + "Released as part of ConfD-6.6. + + Added /confdConfig/aaa/validationOrder. + + Added /confdConfig/aaa/externalValidation. + + Added /confdConfig/aaa/externalValidation/enabled. + + Added /confdConfig/aaa/externalValidation/executable. + + Added /confdConfig/aaa/externalValidation/useBase64. + + Added /confdConfig/aaa/externalValidation/includeExtra. + + Added /confdConfig/restconf/tokenResponse. + + Added /confdConfig/restconf/tokenResponse/xAuthToken. + + Added /confdConfig/restconf/tokenResponse/tokenCookie. + + Added /confdConfig/restconf/tokenResponse/tokenCookie/name. + + Added /confdConfig/restconf/tokenResponse/tokenCookie/directives. + + Added /confdConfig/logs/progressTrace/dir. + + Added /confdConfig/aaa/authorization/nacmCompliant. + + Added /confdConfig/restconf/customHeaders. + + Updated /confdConfig/smartLicense."; + } + revision 2017-09-16 { + description + "Released as part of ConfD-6.5. + + Added /confdConfig/cli/cliLeafListStyleType. + + Added NCS-specific /confdConfig/javaVm, /confdConfig/pythonVm, and + /confdConfig/smartLicense. + + Updated description for /confdConfig/logs/errorLog."; + } + revision 2017-02-21 { + description + "Released as part of ConfD-6.4. + + Changed default for /confdConfig/webui/audit to 'false'."; + } + revision 2017-01-16 { + description + "Released as part of ConfD-6.3.1. + + Added /confdConfig/netconf/writeTimeout."; + } + revision 2016-11-03 { + description + "Released as part of ConfD-6.3. + + Added /confdConfig/ssh/algorithms/dhGroup/{minSize,maxSize}."; + } + revision 2013-09-05 { + description + "Released as part of ConfD-4.3.2."; + } + + typedef candidateImplementationType { + type enumeration { + enum "confd" { + value 664387550; + } + enum "external" { + value 1055777754; + } + } + } + + typedef whoHistoryDateTimeFormatType { + type enumeration { + enum "long" { + value 105537656; + } + enum "short" { + value 2029155337; + } + } + } + + typedef multiPatternOperationType { + type enumeration { + enum "any" { + value 383440309; + } + enum "all" { + value 2031982792; + } + } + } + + typedef confirmUncommitedOnExitType { + type enumeration { + enum "prompt" { + value 1796253006; + } + enum "discard" { + value 664427145; + } + enum "commit" { + value 128787545; + } + } + } + + typedef tableBehaviorType { + type enumeration { + enum "dynamic" { + value 1339207079; + } + enum "suppress" { + value 1746378947; + } + enum "enforce" { + value 868039165; + } + } + } + + typedef rollNumbering { + type enumeration { + enum "fixed" { + value 1180146474; + } + enum "rolling" { + value 492733776; + } + } + } + + typedef completionMetaInfoType { + type enumeration { + enum "false" { + value 1249155036; + } + enum "alt1" { + value 1173421906; + } + enum "alt2" { + value 780021010; + } + } + } + + typedef pipeHelpModeType { + type enumeration { + enum "always" { + value 1980885055; + } + enum "auto" { + value 1146214388; + } + enum "never" { + value 1258673503; + } + } + } + + typedef candidateStorageType { + type enumeration { + enum "disk" { + value 334675513; + } + enum "ram" { + value 781613798; + } + enum "auto" { + value 1146214388; + } + } + } + + typedef editWrapModeType { + type enumeration { + enum "wrap" { + value 1386835265; + } + enum "newline" { + value 100405574; + } + enum "vt100" { + value 321017956; + } + } + } + + typedef cliTimezoneType { + type enumeration { + enum "utc" { + value 1427039597; + } + enum "local" { + value 2129802687; + } + } + } + + typedef journalCompactionType { + type enumeration { + enum "automatic" { + value 1726921432; + } + enum "manual" { + value 48828153; + } + } + } + + typedef configurationReplicationType { + type enumeration { + enum "async" { + value 1368962940; + } + enum "sync" { + value 2047869128; + } + } + } + + typedef operationalPersistentType { + type enumeration { + enum "confspec" { + status deprecated; + value 2093298699; + } + enum "always" { + value 1980885055; + } + enum "never" { + value 1258673503; + } + enum "yang" { + value 125956256; + } + } + } + + typedef operationalReplicationType { + type enumeration { + enum "never" { + value 1258673503; + } + enum "always" { + value 1980885055; + } + enum "persistent" { + value 1783422916; + } + } + } + + typedef operationalReplicationModeType { + type enumeration { + enum "async" { + value 1368962940; + } + enum "sync" { + value 2047869128; + } + } + } + + typedef snmpVersionType { + type enumeration { + enum "v1" { + value 1223356638; + } + enum "v2c" { + value 406691283; + } + } + } + + typedef compressedSchemaLevelType { + type uint8 { + range "1..2"; + } + } + + typedef dscpType { + type uint8 { + range "0 .. 63"; + } + } + + typedef limitType { + type union { + type uint32; + type unboundedType; + } + } + + typedef parserLimitType { + type union { + type limitType; + type enumeration { + enum "model" { + value 1814338831; + } + } + } + } + + typedef unboundedType { + type enumeration { + enum "unbounded" { + value 1813338730; + } + } + } + + typedef infinityType { + type enumeration { + enum "infinity" { + value 1378257424; + } + } + } + + typedef timeoutType { + type union { + type xs:duration; + type infinityType; + } + } + + typedef rpcErrorType { + type enumeration { + enum "close" { + value 1912083739; + } + enum "inline" { + value 1987224790; + } + } + } + + typedef dbAccessType { + type enumeration { + enum "read-write" { + value 1464236954; + } + enum "writable-through-candidate" { + value 532826246; + } + } + } + + typedef pubkeyAuthenticationType { + type enumeration { + enum "none" { + value 432063804; + } + enum "local" { + value 2129802687; + } + enum "system" { + value 1534086422; + } + } + } + + typedef expirationWarningType { + type enumeration { + enum "ignore" { + value 1852995428; + } + enum "display" { + value 2135153981; + } + enum "prompt" { + value 1796253006; + } + } + } + + typedef auditUserNameType { + type enumeration { + enum "known" { + value 584303659; + } + enum "never" { + value 1258673503; + } + } + } + + typedef defaultHandlingModeType { + type enumeration { + enum "explicit" { + value 920928367; + } + enum "trim" { + value 250701330; + } + enum "report-all" { + value 1824535838; + } + } + } + + typedef syslogVersionType { + type enumeration { + enum "bsd" { + value 1701318; + } + enum "1" { + value 1535449617; + } + } + } + + typedef cliAuditLogType { + type enumeration { + enum "all" { + value 2031982792; + } + enum "none" { + value 432063804; + } + enum "denied" { + value 1293974345; + } + enum "allowed" { + value 1631106802; + } + } + } + + typedef cliActionMapType { + type enumeration { + enum "both" { + value 1577301616; + } + enum "config" { + value 2105663071; + } + enum "oper" { + value 1313484953; + } + } + } + + typedef cliModeNameStyleType { + type enumeration { + enum "short" { + value 2029155337; + } + enum "two" { + value 87009233; + } + enum "full" { + value 476261018; + } + } + } + + typedef quoteStyleType { + type enumeration { + enum "quote" { + value 883581901; + } + enum "backslash" { + value 1857839842; + } + } + } + + typedef modeInfoInAAAType { + type enumeration { + enum "true" { + value 1808796341; + } + enum "false" { + value 1249155036; + } + enum "path" { + value 1002915403; + } + } + } + + typedef modeInfoInAuditType { + type enumeration { + enum "true" { + value 1808796341; + } + enum "false" { + value 1249155036; + } + enum "path" { + value 1002915403; + } + } + } + + typedef enableDisplayLevelType { + type enumeration { + enum "true" { + value 1808796341; + } + enum "false" { + value 1249155036; + } + enum "pipe" { + value 612053909; + } + } + } + + typedef cliStyle { + type enumeration { + enum "j" { + value 641834109; + } + enum "c" { + value 589337185; + } + enum "i" { + value 1541010383; + } + } + } + + typedef rollbackType { + type enumeration { + enum "full" { + value 476261018; + } + enum "delta" { + value 1928409309; + } + } + } + + typedef syslogFacilityType { + type union { + type bsdFacilityType; + type intFacilityType; + } + } + + typedef bsdFacilityType { + type enumeration { + enum "daemon" { + value 137874048; + } + enum "authpriv" { + value 2143429981; + } + enum "local0" { + value 1223389442; + } + enum "local1" { + value 659974174; + } + enum "local2" { + value 388815177; + } + enum "local3" { + value 133202671; + } + enum "local4" { + value 1369253367; + } + enum "local5" { + value 37794477; + } + enum "local6" { + value 918612352; + } + enum "local7" { + value 1098748970; + } + } + } + + typedef intFacilityType { + type uint32 { + range "min .. 2147483647"; + } + } + + typedef cliMax { + type uint32 { + range "5 .. 2147483647"; + } + } + + typedef rollMax { + type uint32 { + range "0 .. 2147483647"; + } + } + + typedef hex8ValueType { + type xs:hexBinary { + tailf:value-length "8"; + } + } + + typedef charType { + type string { + length "1"; + } + } + + typedef falseType { + type enumeration { + enum "false" { + value 1249155036; + } + } + } + + typedef aliasQuoteType { + type union { + type falseType; + type charType; + } + } + + typedef hex16ValueType { + type xs:hexBinary { + tailf:value-length "16"; + } + } + + typedef hex32ValueType { + type xs:hexBinary { + tailf:value-length "32"; + } + } + + typedef verifyType { + type uint32 { + range "1 .. 3"; + } + } + + typedef pendingChangesActionType { + type enumeration { + enum "continue" { + value 1852005625; + } + enum "fail" { + value 1504483183; + } + } + } + + typedef developerLogLevelType { + type enumeration { + enum "error" { + value 126243105; + } + enum "info" { + value 2062105651; + } + enum "trace" { + value 1896625767; + } + } + } + + typedef snmpLogLevelType { + type enumeration { + enum "error" { + value 126243105; + } + enum "info" { + value 2062105651; + } + } + } + + typedef netconfTraceFormatType { + type enumeration { + enum "pretty" { + value 560733322; + } + enum "raw" { + value 764753385; + } + } + } + + typedef subagentNameType { + type xs:token { + length "min .. 31"; + } + } + + typedef SNMPAgentNameType { + type xs:token { + length "min .. 31"; + } + } + + typedef SNMPContextNameType { + type xs:token { + length "min .. 31"; + } + } + + typedef cryptHashAlgorithmType { + type enumeration { + enum "md5" { + value 721897608; + } + enum "sha-256" { + value 1426210322; + } + enum "sha-512" { + value 945188773; + } + } + } + + typedef cryptHashRoundsType { + type uint32 { + range "1000 .. 999999999"; + } + } + + typedef runtimeReconfigurationType { + type enumeration { + enum "config-file" { + value 2073952695; + } + enum "namespace" { + value 1847615892; + } + } + } + + typedef idType { + type union { + type uint64 { + range "1 .. max"; + } + type fixedIdType; + } + } + + typedef fixedIdType { + type enumeration { + enum "confd" { + value 664387550; + } + enum "user" { + value 1529217067; + } + enum "root" { + value 1945751049; + } + } + } + + typedef maxFilesType { + type int64 { + range "2 .. max"; + } + } + + typedef X-Frame-OptionsType { + type enumeration { + enum "DENY" { + value 864815184; + } + enum "SAMEORIGIN" { + value 1594198254; + } + enum "ALLOW-FROM" { + value 2088887798; + } + } + } + + typedef dhGroupSizeType { + type uint32 { + range "1024 .. 8192"; + } + } + + typedef cliLeafListStyleType { + type enumeration { + enum "flat-list" { + value 59492072; + } + enum "range-list" { + value 2027731099; + } + } + } + + typedef cliActionNoListInst { + type enumeration { + enum "create-instance" { + value 784973112; + } + enum "deny-call" { + value 1762837762; + } + } + } + + typedef disabledSchemaUriAgents { + type enumeration { + enum "netconf" { + value 1625535416; + } + enum "rest" { + value 98717481; + } + } + } + + typedef unauthenticatedMessageLimitType { + type union { + type uint32; + type enumeration { + enum "nolimit" { + value 1288276025; + } + } + } + } + + typedef sshPktSizeType { + type enumeration { + enum "4" { + value 1888956301; + } + enum "8" { + value 642740220; + } + enum "64" { + value 184347580; + } + } + } + + grouping logType { + description + "Common log configuration parameters. These parameters + take effect for both existing and new sessions."; + leaf enabled { + type boolean; + default "true"; + description + "enabled is either 'true' or 'false'. If 'true', the + log is enabled."; + } + container file { + presence ""; + leaf enabled { + type boolean; + default "false"; + description + "enabled is either 'true' or 'false'. If 'true', file + logging is enabled."; + } + leaf name { + type string; + mandatory true; + description + "name is the full path to the actual log file."; + } + } + container syslog { + presence ""; + leaf enabled { + type boolean; + default "false"; + description + "enabled is either 'true' or 'false'. If 'true', syslog + messages are sent."; + } + leaf facility { + type syslogFacilityType; + description + "facility is either 'daemon', 'authpriv', + 'local0', ..., 'local7' or an unsigned integer. + This optional value overrides the + /confdConfig/logs/syslogConfig/facility for this + particular log."; + } + } + container external { + presence ""; + leaf enabled { + type boolean; + default "false"; + description + "enabled is either 'true' or 'false'. If 'true', send log data + to external command for processing."; + } + } + } + + grouping customHTTPHeaders { + container customHeaders { + presence ""; + list header { + key "name"; + tailf:info + "The customHeaders element contains any number of header + elements, with a valid header-field as defined in RFC 7230 3.2. + + The headers will be part of all HTTP responses. + "; + leaf name { + type string; + tailf:info + "RFC 7230 field-name, e.g. Accept-Control-Allow-Origin"; + } + leaf value { + type string; + mandatory true; + tailf:info + "RFC 7230 field-value, e.g. http://www.cisco.com"; + } + } + } + leaf xFrameOptions { + type X-Frame-OptionsType; + default "DENY"; + tailf:info + "By default the X-Frame-Options header is set to DENY for + the /login.html and /index.html pages. With this header + it can be set to SAMEORIGIN or ALLOW-FROM instead."; + } + leaf xContentTypeOptions { + type string; + default "nosniff"; + tailf:info + "The X-Content-Type-Options response HTTP header is a marker + used by the server to indicate that the MIME types advertised + in the Content-Type headers should not be changed and be + followed. This allows opting-out of MIME type sniffing. + + This header is always sent in HTTP responses. + By setting the value to the empty string will cause the + header not to be sent. + "; + } + leaf xXssProtection { + type string; + default "1; mode=block"; + tailf:info + "The HTTP X-XSS-Protection response header is a feature of + Internet Explorer, Chrome and Safari that stops pages from + loading when they detect reflected cross-site scripting + (XSS) attacks. Although these protections are largely + unnecessary in modern browsers when sites implement a strong + Content-Security-Policy that disables the use of inline + JavaScript ('unsafe-inline'), they can still provide + protections for users of older web browsers that don't yet + support CSP. + + This header is always sent in HTTP responses. + By setting the value to the empty string will cause the + header not to be sent. + "; + } + leaf strictTransportSecurity { + type string; + default "max-age=15552000; includeSubDomains"; + tailf:info + "The HTTP Strict-Transport-Security response header + (often abbreviated as HSTS) lets a web site tell + browsers that it should only be accessed using HTTPS, + instead of using HTTP. + + This header is always sent in HTTP responses. + By setting the value to the empty string will cause the + header not to be sent. + "; + } + leaf contentSecurityPolicy { + type string; + default "default-src 'self'; block-all-mixed-content; base-uri 'self'; frame-ancestors 'none';"; + tailf:info + "The HTTP Content-Security-Policy response header allows + web site administrators to control resources the user agent + is allowed to load for a given page. + + The default value means that: Resources like fonts, scripts, + connections, images, and styles will all only load from + the same origin as the protected resource. + All mixed contents will be blocked and frame-ancestors like + iframes and applets is prohibited. + See also: + + https://www.w3.org/TR/CSP3/ + + This header is always sent in HTTP responses. + By setting the value to the empty string will cause the + header not to be sent. + "; + } + } + + grouping haPrimaryListen { + leaf-list haPrimaryListen { + type xs:token; + description + "When /confdConfig/ha/enable is set to 'true' and the current + ConfD node has high-availibility role primary ConfD will + listen(2) to the following IPv4 or IPv6 addresses and ports. + Once previously active high-availability node transitions to a + different role, then ConfD will shutdown these listen addresses + and terminate any ongoing traffic. + Example: + + 10.45.22.11:24777 + :::10088 + [::]:18080 + "; + } + } + + container confdConfig { + tailf:validate "confdConfig" { + tailf:internal; + tailf:dependency "."; + } + tailf:info + "ConfD configuration."; + container subagents { + presence ""; + tailf:info + "Present only if ConfD runs as a primary agent. Lists all + registered subagents."; + list subagent { + key "name"; + tailf:info + "Parameters for a single subagent."; + leaf name { + type subagentNameType; + tailf:info + "The name of the subagent. It is used as a unique + identifier of the subagent. The name is included in the + subagent events (see confd_lib_events(3)) generated by ConfD."; + } + leaf enabled { + type boolean; + default "true"; + tailf:info + "Whether the subagent should be considered by ConfD. When + set to 'false' the subagent is ignored."; + } + container tcp { + presence ""; + tailf:info + "Parameters to be used when the primary agent communicates + with the subagent over plain text TCP. This is more + efficient than SSH, but TCP is non-standard."; + leaf ip { + type inet:ip-address; + mandatory true; + tailf:info + "The IP address where the subagent listens for NETCONF + TCP connections."; + } + leaf port { + type inet:port-number; + default "2023"; + tailf:info + "The port where the subagent listens for NETCONF TCP + connections."; + } + leaf netns { + type string; + tailf:info + "The network namespace name where the socket connection + will be made from."; + } + leaf vrf { + type string; + tailf:info + "The VRF interface name where the socket connection will + bind to."; + } + container confdAuth { + tailf:info + "In order to use NETCONF over TCP, the + subagent must understand the ConfD proprietary TCP + header, described in the NETCONF chapter in the ConfD + User Guide."; + leaf user { + type string; + mandatory true; + tailf:info + "The user name to be used for authorization on the subagent."; + } + leaf group { + type string; + mandatory true; + tailf:info + "The group name to be used for authorization on the subagent."; + } + } + } + container ssh { + presence ""; + tailf:info + "Parameters to be used when the primary agent communicates + with the subagent over SSH."; + leaf ip { + type inet:ip-address; + mandatory true; + tailf:info + "The IP address where the subagent listens for NETCONF + SSH connections."; + } + leaf port { + type inet:port-number; + default "2022"; + tailf:info + "The port where the subagent listens for NETCONF SSH + connections."; + } + leaf netns { + type string; + tailf:info + "The network namespace name where the socket connection + will be made from."; + } + leaf vrf { + type string; + tailf:info + "The VRF interface name where the socket connection will + bind to."; + } + leaf user { + type string; + mandatory true; + tailf:info + "The SSH user name used for authentication at the subagent."; + } + leaf password { + type string; + mandatory true; + tailf:info + "The SSH user's password."; + } + } + container mount { + tailf:info + "This parameter defines where in the data hierarchy the + subagent is registered. It consists of a path which must + exist in the data model of the primary agent, and the name + of the node which the subagent implements."; + leaf path { + type string; + mandatory true; + tailf:info + "The path, in restricted XPath syntax, where the + subagent's data is mounted. The XPath is restricted as + an instance-identifier (see confd_types(3)). To mount on + the top level, use '/'. Note that the XPath expression + must not contain any namespace prefixes. + + If the subagent mounts more than one node, this object + is a space separated list of paths."; + } + leaf-list node { + type xs:QName; + tailf:info + "The namespace and name of the top-level node in that + namespace, as a QName. + + This leaf-list must be of + the same length as the 'path' leaf."; + } + } + leaf disableSubtreeOptimization { + type boolean; + default "false"; + tailf:info + "Whenever possible, the primary agent sends a single + subtree filter request, instead of one request for each + object. If the subagent cannot handle these requests, + for any reason, set this parameter to 'true'."; + } + } + } + container notifications { + presence ""; + tailf:info + "This section defines settings which affect notifications."; + container eventStreams { + tailf:info + "Lists all available notification event streams."; + list stream { + key "name"; + tailf:info + "Parameters for a single notification event stream."; + leaf name { + type xs:token; + tailf:info + "The name attached to a specific event stream."; + } + leaf description { + type string; + mandatory true; + tailf:info + "A descriptive text attached to a specific event stream."; + } + leaf replaySupport { + type boolean; + mandatory true; + tailf:info + "Signals if replay support is available for a specific + event stream."; + } + container builtinReplayStore { + presence ""; + tailf:info + "Parameters for the built in replay store for this event + stream. + + If replay support is enabled ConfD automatically stores + all notifications on disk ready to be replayed should a + NETCONF manager or RESTCONF event notification subscriber ask + for logged notifications. The replay store uses a set of + wrapping log files on disk (of a certain number and size) to + store the notifications. + + The max size of each wrap log file (see below) should + not be too large. This to achieve fast replay of + notifications in a certain time range. If possible use a + larger number of wrap log files instead. + + If in doubt use the recommended settings (see below)."; + leaf enabled { + type boolean; + default "false"; + tailf:info + "enabled is either 'true' or 'false'. If 'false', the + applications must implement its own replay support."; + } + leaf dir { + type string; + mandatory true; + tailf:info + "The wrapping log files will be put in this disk + location."; + } + leaf maxSize { + type tailf:size; + mandatory true; + tailf:info + "The max size of each log wrap file. The recommended + setting is approximately S10M."; + } + leaf maxFiles { + type maxFilesType; + mandatory true; + tailf:info + "The max number of log wrap files. The recommended + setting is around 50 files."; + } + } + } + } + } + container opcache { + presence ""; + tailf:info + "This section defines settings which affect the behavior of the + operational data cache - see the 'Operational data' chapter in the + User Guide."; + leaf enabled { + type boolean; + default "false"; + tailf:info + "enabled is either 'true' or 'false'. If 'true', the cache + is enabled."; + } + leaf timeout { + type uint64 { + range "0 .. max"; + } + mandatory true; + tailf:info + "The amount of time to keep data in the cache, in seconds."; + } + } + container snmpgw { + presence ""; + tailf:info + "This section defines settings which affect the behavior of the + SNMP gateway."; + leaf enabled { + type boolean; + default "false"; + tailf:info + "enabled is either 'true' or 'false'. If 'true', the gateway + is enabled."; + } + leaf trapPort { + type inet:port-number; + tailf:info + "The port number to listen for traps on."; + } + leaf rowCacheMaxAge { + type xs:duration; + default "PT5S"; + tailf:info + "Whenever any object is requested from an agent, all objects in the + same conceptual row will be fetched and cached. This value limits + the age of values in the cache. Higher values may give higher + performance but increases the probability that the SNMP gateway + returns stale data. + The default is 5 seconds."; + } + leaf rowCacheMaxSize { + type uint16; + default "200"; + tailf:info + "Whenever any object is requested from an agent, all objects in the + same conceptual row will be fetched and cached. This value limits + the number of values in the cache. Higher values may give higher + performance but may also cause higher memory utilization. + The default is 200."; + } + list agent { + key "name"; + tailf:info + "Parameters for a single agent."; + leaf name { + type SNMPAgentNameType; + tailf:info + "A name for the agent, mainly used for error reporting."; + } + leaf subscriptionId { + type xs:token; + tailf:info + "The subscription id, if set, is used for indicating to which + applications external traps should be sent."; + } + leaf forwardNotifStream { + type xs:token; + tailf:info + "The forwarding notification stream , if present, indicates that + traps should be automatically translated in accordance with the + yang definition of the notification, and sent out on the + given stream. + The given stream may not implement replay support externally."; + } + leaf enabled { + type boolean; + default "true"; + tailf:info + "enabled is either 'true' or 'false'. If 'true', the agent + is enabled."; + } + leaf community { + type string; + default "private"; + tailf:info + "The community string for communication with the agent. If + the community string cannot be expressed in Unicode, use + the element community_bin instead (see below). If both + community_bin and community are specified, community is + ignored."; + } + leaf community_bin { + type xs:hexBinary; + tailf:info + "The community string for communication with the agent, + encoded in hexBinary. For example, + AB and + 4142 are + equivalent. The main use for this is when the community + string cannot be expressed in Unicode."; + } + leaf version { + type snmpVersionType; + default "v2c"; + tailf:info + "The default protocol version to use. The value indicates + the preferred version - if the agent doesn't respond, the + other version will be tried."; + } + leaf timeout { + type xs:duration; + default "PT5S"; + tailf:info + "The amount of time to wait for an answer from the agent + before retrying or aborting the operation. + The default is five seconds."; + } + leaf retries { + type uint8; + default "0"; + tailf:info + "The number of times an SNMP request towards the agent should + be retried before aborting the operation. + The default is 0."; + } + leaf ip { + type inet:ip-address; + mandatory true; + tailf:info + "The host (specified as a name or an IP address) on which + the agent is running."; + } + leaf port { + type inet:port-number; + default "161"; + tailf:info + "The port number to use for communication with the agent."; + } + leaf netns { + type string; + tailf:info + "The network namespace name from where the socket request + to the agent will be issued."; + } + leaf vrf { + type string; + tailf:info + "The VRF interface name which from which the socket + request to the agent should bind to."; + } + leaf-list module { + type string; + tailf:info + "A list of MIB module names that this agent implements. + Each such MIB must be convert to YANG and compiled with + the --snmpgw flag to confdc."; + } + } + } + list hideGroup { + key "name"; + tailf:info + "Hide groups that can be unhidden must be listed here. There + can be zero, one or many hideGroup entries in the + configuration. + + If a hide group does not have a hideGroup entry, then it + cannot be unhidden using the CLI 'unhide' command. However, it + is possible to add a hideGroup entry to the confd.conf file + and then use confd --reload to make it available in the CLI. + This may be useful to enable for example a diagnostics hide + groups that you do not even want accessible using a password."; + leaf name { + type string; + tailf:info + "Name of hide group. This name should correspond to a hide + group name in some data model."; + } + leaf password { + type tailf:md5-digest-string; + default ""; + tailf:info + "A password can optionally be specified for a hide group. If + no password or callback is given then the hide group can be + unhidden without giving a password. + + If a password is specified then the hide group cannot be + enabled unless the password is entered. + + To completely disable a hide group, ie make it impossible to + unhide it, remove the entire hideGroup container for that + hide group."; + } + leaf callback { + type string; + tailf:info + "A callback can optionally be specified for a hide group. If + no callback or password is given then the hide group can be + unhidden without giving a password. + + If a callback is specified then the hide group cannot be + enabled unless a password is entered and the callback + successfully verifies the password. Using a callback it is + possible to have short lived unhide passwords and per-user + unhide passwords. + + The callback must be registered as a command() callback with + confd_register_action_cbs(), see confd_lib_dp(3). The 'path' + argument to the callback is always 'hidegroup', while + argv[0] is the name of the hide group, argv[1] is the name + of the user issuing the unhide command, and argv[2] is the + given password. The callback should return CONFD_OK to allow + the unhiding, otherwise CONFD_ERR."; + } + } + container encryptedStrings { + presence ""; + tailf:info + "encryptedStrings defines keys used to encrypt strings adhering + to the types tailf:des3-cbc-encrypted-string, + tailf:aes-cfb-128-encrypted-string and + tailf:aes-256-cfb-128-encrypted-string as defined in the + tailf-common YANG module, see the confd_types(3) manual page."; + container externalKeys { + presence ""; + tailf:info + "Configuration of an external command that will provide the + keys used for encryptedStrings. When set no keys for + encrypted-strings can be set in the configuration."; + leaf command { + tailf:info + "Path to command executed to output keys."; + type string; + mandatory true; + must 'not(../../DES3CBC) and not(../../AESCFB128) +and not(../../AES256CFB128)'; + } + leaf commandTimeout { + tailf:info + "Command timeout. Timeout is measured between complete lines + read from the output."; + type timeoutType; + default "PT60S"; + } + leaf commandArgument { + tailf:info + "Argument available in externalKeys command as the + environment variable CONFD_EXTERNAL_KEYS_ARGUMENT."; + type string; + } + } + container DES3CBC { + presence ""; + tailf:info + "In the DES3CBC case three 64 bits (8 bytes) keys and a + random initial vector are used to encrypt the string. + The initVector element is only used when upgrading from + versions before ConfD-6.2, but it is kept for backward + compatibility reasons."; + leaf key1 { + type hex8ValueType; + mandatory true; + } + leaf key2 { + type hex8ValueType; + mandatory true; + } + leaf key3 { + type hex8ValueType; + mandatory true; + } + leaf initVector { + type hex8ValueType; + } + } + container AESCFB128 { + presence ""; + tailf:info + "In the AESCFB128 case one 128 bits (16 bytes) key and a + random initial vector are used to encrypt the string. + The initVector element is only used when upgrading from + versions before ConfD-6.2, but it is kept for backward + compatibility reasons."; + leaf key { + type hex16ValueType; + mandatory true; + } + leaf initVector { + type hex16ValueType; + } + } + container AES256CFB128 { + presence ""; + tailf:info + "In the AES256CFB128 case one 256 bits (32 bytes) key and a + random initial vector are used to encrypt the string."; + leaf key { + type hex32ValueType; + mandatory true; + } + } + } + container logs { + presence ""; + tailf:info + "This section defines settings which affect the logging done by ConfD."; + container syslogConfig { + presence ""; + tailf:info + "Shared settings for how to log to syslog. Logs (see below) can be + configured to log to file and/or syslog. If a log is configured to + log to syslog, the settings under /confdConfig/logs/syslogConfig are + used."; + leaf version { + type syslogVersionType; + default "bsd"; + tailf:info + "version is either 'bsd' (traditional syslog) or '1' (new + IETF syslog format: + draft-ietf-syslog-protocol-16.txt). '1' implies that + /confdConfig/logs/syslogConfig/udp/enabled must be set to + 'true'."; + } + leaf facility { + type syslogFacilityType; + default "daemon"; + tailf:info + "facility is either 'daemon', 'authpriv', + 'local0', ..., 'local7' or an + unsigned integer. This facility setting is the default + facility. It's also possible to set individual facilities + in the different logs below. Furthermore with the + syslogServers container described below it is possible to + set default facility on a per server basis. If facility is + explictly set for a log type, that item is used."; + } + container udp { + presence ""; + tailf:info + "This is a container for UDP syslog. This container can + only contain the configuration for a single UDP syslog + server. If we need more than one syslog server we must + use the /confdConfig/logs/syslogConfig/syslogServers + container instead. If the udp container is used, the + syslogServers container is ignored."; + leaf enabled { + type boolean; + default "false"; + tailf:info + "enabled is either 'true' or 'false'. If 'false', + messages will be sent to the local syslog daemon."; + } + leaf host { + type inet:host; + mandatory true; + tailf:info + "host is either a domain name or an IPv4/IPv6 network + address. UDP syslog messages are sent to this host."; + } + leaf port { + type inet:port-number; + default "514"; + tailf:info + "port is a valid port number to be used in combination + with /confdConfig/logs/syslogConfig/udp/host."; + } + } + container syslogServers { + presence ""; + tailf:info + "This is an alternative way of specifying UDP + syslog servers. + If we use the /confdCfg/logs/syslogConfig/udp container this + container is ignored, alternatively, if we use this container + the /confdCfg/logs/syslogConfig/udp container is ignored."; + list server { + key "host"; + tailf:info + "A set of syslog servers that get a copy + of all syslog messages."; + leaf host { + type inet:host; + tailf:info + "host is either a domain name or an IPv4/IPv6 network + address. UDP syslog messages are sent to this host."; + } + leaf port { + type inet:port-number; + default "514"; + tailf:info + "port is the UDP port number where this syslog + server is listening."; + } + leaf version { + type syslogVersionType; + default "bsd"; + tailf:info + "version is either 'bsd' (traditional syslog) or '1' (new + IETF syslog format: + draft-ietf-syslog-protocol-16.txt)."; + } + leaf facility { + type syslogFacilityType; + default "daemon"; + tailf:info + "facility is either 'daemon', 'local0', ..., 'local7' or an + unsigned integer."; + } + leaf enabled { + type boolean; + default "true"; + tailf:info + "enabled is either 'true' or 'false'. If 'false', + this syslog server will not get any udp messages."; + } + } + } + } + container confdLog { + presence ""; + tailf:info + "confdLog is ConfD's daemon log. Check this log for startup + problems of the ConfD daemon itself. This log is not + rotated, i.e. use logrotate(8)."; + uses logType; + } + container developerLog { + presence ""; + tailf:info + "developerLog is a debug log for troubleshooting user-written code, + AAA rules etc. Enable and check this log for problems with + validation code etc. This log can be configured as + /confdConfig/logs/confdLog. The log is not rotated, i.e. use + logrotate(8)."; + uses logType; + } + leaf developerLogLevel { + type developerLogLevelType; + default "info"; + tailf:info + "Controls which level of developer messages are printed in + the developer log. This configuration parameter takes + effect for both existing and new sessions."; + } + container auditLog { + presence ""; + tailf:info + "auditLog is an audit log recording successful and failed + logins to the ConfD backplane and also user operations + performed from the CLI or northbound interfaces. This log + is enabled by default. In all other regards it can be + configured as /confdConfig/logs/confdLog. This log is not + rotated, i.e. use logrotate(8). This configuration parameter + takes effect for both existing and new sessions."; + uses logType; + } + leaf auditLogCommit { + type boolean; + default "false"; + tailf:info + "Controls whether the audit log should include messages about + the resulting configuration changes for each commit to the + running data store. This configuration parameter takes effect + for both existing and new sessions. If set to 'true', the audit + log will include entries of the form: + + commit thandle begin [confirmed [extended]] + commit thandle comment + commit thandle label